專利名稱:總線恢復(fù)裝置和多主體總線系統(tǒng)中的恢復(fù)方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及總線恢復(fù)操作,更具體說,涉及總線恢復(fù)系統(tǒng)和多主體總線系統(tǒng)中所用的恢復(fù)方法。
在典型的微處理器系統(tǒng)中,總線用來傳輸處理器和其他部件之間的數(shù)據(jù)。中央處理單元(CPU)通常是總線的主體,以控制從CPU出來的數(shù)據(jù)和輸往CPU及系統(tǒng)中其他部件,例如打印機、存儲器、顯示器、并行和串行端口的數(shù)據(jù)。
以往,用一個主體就足以控制來往的數(shù)據(jù)。但是,目前存儲設(shè)備和應(yīng)用程序已越來越大,計算越來越復(fù)雜,視象應(yīng)用已更普及,因此,用一個CPU不再能處理和譜寫精細(xì)的數(shù)據(jù),而需要一個能很好工作的系統(tǒng)。為了減輕CPU的一些負(fù)擔(dān),已引入多主體的方案。這種多主體方案的一個實例是用所謂數(shù)學(xué)協(xié)同處理器(math co-processor)。不用很慢的CPU進行復(fù)雜的數(shù)學(xué)運算,而是將數(shù)據(jù)送到專用的數(shù)學(xué)協(xié)同處理器中進行計算,讓CPU去執(zhí)行其他任務(wù)。多主體結(jié)構(gòu)中的其他主體可用作以太網(wǎng)(ethernet)控制,以作為局域網(wǎng)絡(luò)(LAN)的一部分、視頻控制器、或一些規(guī)定的其他工作。
在一個多主體結(jié)構(gòu)中,必須控制和判決對總線的訪問,因為在任何時刻只能有一個主體訪問該總線。與多主體總線結(jié)構(gòu)相關(guān)的一個缺點是,如果該“現(xiàn)用的主體”在其訪問總線時停下來,則此系統(tǒng)也會停下來。這不但使系統(tǒng)總線很難從故障中恢復(fù)過來,也很難分析問題所在。
再有,以數(shù)學(xué)協(xié)同處理器作為現(xiàn)用主體的一個例子,如果其訪問總線時停下來,則因為不能折掉此現(xiàn)用的主體,系統(tǒng)的其他部分也被鎖住了。
由于以上所述,因此需要有一種裝置和方法來進行多主體系統(tǒng)中總線的恢復(fù)工作。
本發(fā)明的目的在于提供一種在多主體系統(tǒng)中進行恢復(fù)工作的總線裝置和方法,以解決現(xiàn)有技術(shù)中的局限和缺點所帶來的問題。
總的來說,本發(fā)明在總線被批準(zhǔn)和啟動現(xiàn)用主體的一個定時器時鎖定住該總線的所有權(quán)(ownership)。如果超過了預(yù)編程的期限,則強迫該現(xiàn)用主體釋放此總線。
為了實現(xiàn)本發(fā)明的目的,本發(fā)明提供了一種用于多主體總線系統(tǒng)中的總線恢復(fù)系統(tǒng),它包括多個總線主體,有選擇地與一條系統(tǒng)總線接口;一個總線判優(yōu)器,用于接收來自多個主體對訪問總線的請求,以批準(zhǔn)多個主體中一個主體的訪問;以及多個計數(shù)器,各與多個主體中的一個對應(yīng),每個計數(shù)器都含有相應(yīng)于一個最長時間的預(yù)定時間值,該最長時間為多個主體中每一個被批準(zhǔn)可訪問總線的最長時間,所述判優(yōu)器在正訪問總線的多個主體中的一個已超過計數(shù)器的預(yù)定時間值時撤消其總線所有權(quán),作為對現(xiàn)用主體被撤消所有權(quán)的反應(yīng),所述判優(yōu)器批準(zhǔn)一個未用主體訪問該總線。
該總線恢復(fù)系統(tǒng)還包括一個寄存器,用于在超過預(yù)定時間值后識別多個主體中哪一個曾訪問過總線。
另一方面,本發(fā)明提供了一種多主體總線系統(tǒng)中的總線恢復(fù)方法,該方法包括以下步驟(1)接收來自多個總線主體對訪問系統(tǒng)總線的請求;(2)批準(zhǔn)多個主體中一個主體的訪問;(3)開始對相應(yīng)于一個最長時間的預(yù)定時間值進行計數(shù),該最長時間為多個主體中每一個被批準(zhǔn)可訪問總線的最長時間;(4)在正訪問總線的多個主體中的一個已超過預(yù)定時間值時撤消其總線所有權(quán);以及(5)對上述撤消步驟作出反應(yīng),批準(zhǔn)一個未用主體訪問該總線。
應(yīng)當(dāng)了解,無論是上述的一般說明還是下面的詳細(xì)描述都是舉例說明性的,它只是對本發(fā)明所要求保護的作更深入的解釋而已。
以下結(jié)合附圖對本發(fā)明的最佳實施例作更詳細(xì)的說明,由此可更好地了解本發(fā)明的上述目的、方案和優(yōu)點。
圖1是本發(fā)明的總線恢復(fù)裝置中各部件的方框圖;圖2A和2B是本發(fā)明方法的流程圖。
本發(fā)明涉及多主體總線系統(tǒng)中的一種總線恢復(fù)方案。多主體總線系統(tǒng)包括一個未用總線主體,即通常的CPU12,在正常狀態(tài)下它擁有總線14的所有權(quán)。
該多主體總線系統(tǒng)還包括多個總線主體16(具體為161、162、163和164),它們被有選擇地批準(zhǔn)訪問總線14。雖然除CPU12之外畫出了四個總線主體161-164,但應(yīng)了解,本發(fā)明的多主體總線恢復(fù)系統(tǒng)最少要包括兩個主體(即CPU12和至少一個主體16)。盡管理論上主體16最大數(shù)目(主體-n)沒有限制,但實際的最大數(shù)目是在不影響數(shù)據(jù)傳輸或不明顯降低系統(tǒng)效率前提下系統(tǒng)所能包含的數(shù)目。
如前所述,數(shù)學(xué)協(xié)同處理器可以作為多主體方案中主體16其中一個類型的例子。多主體結(jié)構(gòu)中其他的主體16可以作為局域網(wǎng)絡(luò)(LAN)的一部分用于以太網(wǎng)控制、視頻控制器、或一些規(guī)定的其他工作。
判優(yōu)器18借助總線請求(BUS REQ)信號接收來自各主體161-164的總線請求,并根據(jù)特定的判決規(guī)則通過一個GNT信號有選擇地批準(zhǔn)一個主體擁有總線所有權(quán)。當(dāng)判優(yōu)器18批準(zhǔn)一個特定的主體16進行訪問時,該主體16的識別符就鎖存在ID寄存器22中。在任何特定時間內(nèi)訪問總線的主體稱為“現(xiàn)用主體”(主體-n)。應(yīng)當(dāng)了解,在本發(fā)明范圍內(nèi),許多不同的判別規(guī)則都可實際使用。
對于計數(shù)器201、202、203和204,其和主題都有一一對應(yīng)關(guān)系。例如,有四個主體161-164,就有四個計數(shù)器201-204(20n)。對于每一個對應(yīng)于主體16的計數(shù)器20,其被允許訪問總線14的最長時間值儲存在計數(shù)器20中。例如,數(shù)學(xué)協(xié)同處理器即主體161,其被批準(zhǔn)訪問總線的最長時間可為2ms(毫秒)。以太網(wǎng)主體162的最長批準(zhǔn)時間可為1ms。這些批準(zhǔn)值只為示意目的,應(yīng)當(dāng)知道,實際的值是隨總線系統(tǒng)的功能和應(yīng)用不同而變化的。
一旦判優(yōu)器18批準(zhǔn)了現(xiàn)用主體的訪問,恢復(fù)裝置就會從預(yù)定的最長時間值開始啟動計數(shù);如果最長時間到時而現(xiàn)用主體(161、162、163或164)仍不脫離總線14,則判優(yōu)器18迫使該特定的主體釋放總線14的所有權(quán)。應(yīng)注意的是,現(xiàn)用主體的識別符已存在ID寄存器22中,這一信息可用于在以后分析故障原因,如以下將要討論的。
現(xiàn)用主體脫離以后,總線所有權(quán)給于未用總線主體(CPU12),以進行以后的工作。經(jīng)過一個中斷信號INTR通知未用總線主體12這一情況。這使得總線系統(tǒng)可恢復(fù),即使主體之一出現(xiàn)故障也無妨。判決規(guī)則或者可以用來使現(xiàn)用主體再次訪問總線14,或者規(guī)定成不允許該特定主體再進行訪問,以防止總線再停工。
讀出ID寄存器22的內(nèi)容,以根據(jù)原先在恢復(fù)過程開始時儲存的識別符來找出哪一個主體帶來問題。以這種方法,在總線停工時,系統(tǒng)管理員可知道哪一個主體16曾訪問過總線,因此可作出決定是整修系統(tǒng)、擱置有故障的主體并將其功能轉(zhuǎn)給另一個主體、或是簡單地不執(zhí)行此有問題的功能。
圖2示出本發(fā)明的方法。首先,在步驟211中,將對應(yīng)于系統(tǒng)中主體16n(主體-n)的預(yù)先限定的時限值置入相應(yīng)的計數(shù)器20n中。在圖1所示的實例中,有四個主體和四個計數(shù)器。
在步驟213中,主體之一(主體-n)經(jīng)過請求信號REQ請求訪問總線。在步驟215中,當(dāng)判優(yōu)器18收到REQ信號時總線14繁忙,則主體-n會在以后再次請求。如果判優(yōu)器18收到REQ信號時總線14空閑,則批準(zhǔn)主體-n訪問總線14。
在步驟217中,一旦判優(yōu)器18經(jīng)過GNT信號批準(zhǔn)一個特定的主體-n訪問時,則啟動相應(yīng)于主體-n的計數(shù)器20n中的定時器。在判定步驟219中,如果主體-n在沒有停機情況下執(zhí)行完指定的功能之后已經(jīng)脫離總線14,則定時器停止,且在相應(yīng)的計數(shù)器20n中重新定時(步驟221)。
如果主體-n沒有釋放總線14,則系統(tǒng)檢查計數(shù)器20n中的定時器是否到時(步驟223)。如果主體-n的總線訪問時間沒有到時,則主體-n繼續(xù)對總線14訪問,回路連續(xù)。
如果總線訪問時間已經(jīng)超過,則主體-n的現(xiàn)有狀態(tài)信息被鎖存在ID寄存器22中,定時器停止并在計數(shù)器20n中重新定時,迫使主體-n脫離總線14。這時總線所有權(quán)經(jīng)INTR信號返回給未用總線主體(CPU12)(步驟225和227)。
于是,CPU12通過讀取ID寄存器22的信息可確定哪一個主體-n有問題,并決定是否允許再將任何總線所有權(quán)賦予主體-n(步驟229)。
由上可知,本發(fā)明的裝置和方法達到了雙重目的,首先,使多主體總線系統(tǒng)中的總線能恢復(fù),即使一個特定主體有故障也不至使總線停工;其次,有了計數(shù)器20和ID寄存器22,通過查看造成總線停工的特定主體,可對系統(tǒng)進行尋查和維修。
盡管以上述實施例描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員應(yīng)了解,在所附權(quán)利要求所說的精神和范圍內(nèi),實際上可對本發(fā)明作出一定的修改。
權(quán)利要求
1.多主體總線系統(tǒng)用的一種總線恢復(fù)系統(tǒng),包括多個總線主體,有選擇地與一條系統(tǒng)總線接口;一個總線判優(yōu)器,用于接收來自所述多個主體對訪問所述總線的請求,以批準(zhǔn)所述多個主體中一個主體的訪問;和多個計數(shù)器,各與所述多個主體中的一個對應(yīng),每個所述計數(shù)器都含有相應(yīng)于一個最長時間的預(yù)定時間值,該最長時間為所述多個主體中每一個被批準(zhǔn)可訪問總線的最長時間,其中所述判優(yōu)器在正訪問所述總線的所述多個主體中的一個已超過所述計數(shù)器中的預(yù)定時間值時撤消其總線所有權(quán),和作為對所述現(xiàn)用主體被撤消所有權(quán)的反應(yīng),所述判優(yōu)器批準(zhǔn)一個未用主體訪問所述總線。
2.如權(quán)利要求1所述的總線恢復(fù)系統(tǒng),其特征在于,還包括一個寄存器,用于在超過所述預(yù)定時間值后識別所述多個主體中哪一個曾訪問過所述總線。
3.如權(quán)利要求1所述的總線恢復(fù)系統(tǒng),其特征在于,所述主體包括數(shù)學(xué)協(xié)同處理器、以太網(wǎng)控制器、和視頻控制器其中之一。
4.一種多主體總線系統(tǒng)中的總線恢復(fù)方法,包括以下步驟接收來自多個總線主體對訪問系統(tǒng)總線的請求;批準(zhǔn)所述多個主體中一個主體的訪問;開始對相應(yīng)于一個最長時間的預(yù)定時間值進行計數(shù),該最長時間為所述多個主體中每一個被批準(zhǔn)可訪問總線的最長時間;在正訪問所述總線的所述多個主體中的一個已超過所述預(yù)定時間值時撤消其總線所有權(quán);和對上述撤消步驟作出反應(yīng),批準(zhǔn)一個未用主體訪問所述總線。
5.如權(quán)利要求4所述的總線恢復(fù)方法,其特征在于還包括以下步驟在超過所述預(yù)定時間值后識別所述多個主體中哪一個曾訪問過所述總線。
全文摘要
一種多主體總線系統(tǒng)用的總線恢復(fù)系統(tǒng),包括多個總線主體,它們有選擇地與一條系統(tǒng)總線接口,使對總線的訪問可在一個總線判優(yōu)器控制下進行。相應(yīng)于各主體的多個計數(shù)器包含對應(yīng)每個主體可允許訪問總線的最長時間的預(yù)定時間值。在正訪問總線的主體超過計數(shù)器中的預(yù)定時間值時,判優(yōu)器撤消其總線所有權(quán)。還設(shè)有一個寄存器,用于在超過所述預(yù)定時間值后識別多個主體中哪一個曾訪問過所述總線。
文檔編號H04L12/403GK1170905SQ9711296
公開日1998年1月21日 申請日期1997年6月3日 優(yōu)先權(quán)日1996年6月3日
發(fā)明者K·B·康, 姜大善 申請人:三星電子株式會社