專(zhuān)利名稱(chēng):考慮歷史反饋及錯(cuò)誤檢測(cè)與修正的動(dòng)態(tài)可編程總線仲裁器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)總線仲裁領(lǐng)域,更具體地,涉及考慮先前總線使用及提供可供選擇總線仲裁算法的總線仲裁領(lǐng)域。
隨著更多的設(shè)備和計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器總線相連,帶來(lái)關(guān)于總線的更多爭(zhēng)用。為響應(yīng)這種爭(zhēng)用,已提出許多不同的仲裁電路以便對(duì)總線,進(jìn)而對(duì)存儲(chǔ)器資源,進(jìn)行公平的或優(yōu)先的訪問(wèn)。
例如,1993年3月16日G.B.Marenin等提出的美國(guó)5,195,185號(hào)專(zhuān)利公開(kāi)一種仲裁設(shè)備,它在優(yōu)先級(jí)模式的基礎(chǔ)上確定總線訪問(wèn),并且還具有一種可動(dòng)態(tài)地改變?nèi)魏卧O(shè)備優(yōu)先級(jí)的系統(tǒng)。但是,這個(gè)系統(tǒng)不提供基本仲裁模式上的靈活性;它只對(duì)設(shè)備自身優(yōu)先級(jí)的提高進(jìn)行響應(yīng)。它也不考慮那個(gè)設(shè)備先前曾用過(guò)該總線以便給其它的用戶以均等或優(yōu)先。最后,該系統(tǒng)鎖定在優(yōu)先模式上,它不能夠在適當(dāng)時(shí)從優(yōu)選模式轉(zhuǎn)化為均等模式。
更早的總線優(yōu)先級(jí)模式是在1990年12月18日由Makris等發(fā)表的美國(guó)4,979,100號(hào)專(zhuān)利中描述的。Makris公開(kāi)一種仲裁器電路,它對(duì)各個(gè)處理單元提供二個(gè)不同級(jí)別的訪問(wèn)總線的優(yōu)先級(jí)并保持對(duì)不同優(yōu)先級(jí)別的相對(duì)訪問(wèn)時(shí)間比率的跟蹤。這種系統(tǒng)通過(guò)較高優(yōu)先級(jí)處理單元提供對(duì)較低優(yōu)先級(jí)總線使用的中斷。這種系統(tǒng)需要復(fù)雜的系統(tǒng)開(kāi)銷(xiāo)以跟蹤這種總線的使用率,而且它不響應(yīng)任一系統(tǒng)的先前的總線使用率。
這兩種系統(tǒng)都不提供錄活的、動(dòng)態(tài)可改變的仲裁系統(tǒng),這種靈活、動(dòng)態(tài)可改變的仲裁系統(tǒng)可從已知狀態(tài)啟動(dòng)而且當(dāng)條件改變時(shí)可從一種仲裁模式變化到另一種仲裁模式,這兩種系統(tǒng)也都不對(duì)過(guò)去的分布起反應(yīng)。因此,技術(shù)上的一個(gè)問(wèn)題是,還沒(méi)有一種能在授權(quán)選擇中考慮歷史反饋以提供動(dòng)態(tài)優(yōu)先級(jí)模式的總線使用仲裁器。
通過(guò)一種仲裁電路這個(gè)問(wèn)題得到解決并且獲得了技術(shù)上的進(jìn)展,這種仲裁電路把先前的總線訪問(wèn)計(jì)及為判定的一部分以為請(qǐng)求者服務(wù)。具體地,它提供一個(gè)獨(dú)特的歷史寄存器,該寄存器產(chǎn)生一個(gè)體現(xiàn)過(guò)去總線請(qǐng)求的值,這個(gè)值和一個(gè)體現(xiàn)當(dāng)前總線請(qǐng)求的值結(jié)合起來(lái)來(lái)訪問(wèn)存儲(chǔ)器的一個(gè)單元。對(duì)歷史請(qǐng)求和現(xiàn)在請(qǐng)求的各種可能組合定義了一個(gè)潛在授權(quán)并把潛在授權(quán)存儲(chǔ)在存儲(chǔ)器的各個(gè)單元上。潛在授權(quán)的選擇是這樣達(dá)到的,即通過(guò)把歷史寄存器用作為存儲(chǔ)器地址的高位位和把當(dāng)前請(qǐng)求和作為存儲(chǔ)器地址的低位位來(lái)選擇存儲(chǔ)器的一部分以確定被裁決的一種授權(quán)輸出。同時(shí)該授權(quán)還移位到歷史寄存器里。更好地,可把多于一個(gè)的表存儲(chǔ)到存儲(chǔ)器以可選擇性地提供多種算法。
圖1是一個(gè)計(jì)算機(jī)系統(tǒng)的方塊圖,其中包括一個(gè)根據(jù)本發(fā)明示范性實(shí)施例的仲裁器電路;
圖2是圖1中所示仲裁器電路的方塊圖;
圖3為圖2仲裁器電路的狀態(tài)圖;
圖4為圖2仲裁器電路的時(shí)序圖;
圖5是歷史寄存器的一個(gè)說(shuō)明;
圖6是對(duì)本發(fā)明示范性實(shí)施例中歷史寄存器初始化時(shí)的狀態(tài)的一個(gè)說(shuō)明;
圖7是一個(gè)存儲(chǔ)器塊例子說(shuō)明基于請(qǐng)求的授權(quán)分配;以及圖8-12說(shuō)明按照本發(fā)明的示范性實(shí)施例歷史寄存器里的數(shù)據(jù)移位。
圖1是說(shuō)明本發(fā)明典型實(shí)施例的方塊圖,在這里是一個(gè)包括總線10和存儲(chǔ)設(shè)備12的計(jì)算機(jī)系統(tǒng)5。出于描述本發(fā)明最佳實(shí)施例的目的,有4個(gè)設(shè)備共享總線10和存儲(chǔ)器12。中央處理機(jī)(CPU)是一個(gè)通用CPU,正如技術(shù)上周知地那樣它對(duì)在存儲(chǔ)在存儲(chǔ)器12的數(shù)據(jù)進(jìn)行操縱并執(zhí)行其它功能。在本示范性實(shí)施例中,有3個(gè)直接存儲(chǔ)器存取設(shè)備(DMA)16,18和20,它們也和總線10相連。通過(guò)總線10DMA設(shè)備16,18和20直接讀和寫(xiě)存儲(chǔ)器12里的單元。為了防止多于一個(gè)的設(shè)備同時(shí)訪問(wèn)總線10,按照本發(fā)明的典型實(shí)施例,仲裁器電路22控制對(duì)總線10以及從而對(duì)存儲(chǔ)器12的訪問(wèn)。仲裁器電路不限止于對(duì)存儲(chǔ)器的訪問(wèn),通常地還可控制總線訪問(wèn),或者控制對(duì)任何設(shè)備的訪問(wèn)。
當(dāng)設(shè)備14,16,18和20中的一個(gè)想要訪問(wèn)總線10(和/或存儲(chǔ)器12)時(shí),它分別在請(qǐng)求引線24,26,28和30上提出一個(gè)請(qǐng)求。如后面將要說(shuō)明的那樣,仲裁器電路22確定哪一個(gè)設(shè)備的請(qǐng)求將被授權(quán),并相應(yīng)地在授權(quán)引線32,34,36或38中的一個(gè)上產(chǎn)生授權(quán)信號(hào)。在本最佳實(shí)施例中,在某一時(shí)刻僅發(fā)出一個(gè)授權(quán)。但是,從技術(shù)熟練的人的角度這種系統(tǒng)可以想象能發(fā)出多種授權(quán)。當(dāng)該設(shè)備結(jié)束它對(duì)總線訪問(wèn)時(shí),在引線40上發(fā)出一個(gè)“done”信號(hào)。如同在下面將進(jìn)一步描述的那樣,如果在總線仲裁期間檢測(cè)出錯(cuò)誤,仲裁器電路通過(guò)錯(cuò)誤引線42通知CPU14。
現(xiàn)轉(zhuǎn)向圖2,圖中展示了根據(jù)本發(fā)明典型實(shí)施例的一個(gè)仲裁器電路22。本典型實(shí)施例的仲裁器22包括一個(gè)仲裁器控制器102,一個(gè)仲裁器存儲(chǔ)器104,其主要是RAM(隨機(jī)存取存儲(chǔ)器)但還包括一個(gè)ROM(只讀存儲(chǔ)器)塊105,一個(gè)授權(quán)鎖存器106,歷史寄存器108,請(qǐng)求鎖存器110,初始化設(shè)備(本發(fā)明最佳實(shí)施例中包括ROM)112,算法選擇寄存器114,屏蔽寄存器116和表選擇寄存器118。源于設(shè)備14,16,18和20(圖1)在請(qǐng)求引線24,26,28和30上傳輸?shù)挠脕?lái)控制總線10的請(qǐng)求到達(dá)請(qǐng)求鎖存器110。本典型實(shí)施例中,這些請(qǐng)求的到達(dá)把請(qǐng)求鎖存器觸發(fā)到把所有的請(qǐng)求引線相“或”并且在ARBREQ引線120上發(fā)出一個(gè)指示控制器102有一總線請(qǐng)求待決的信號(hào)。作為響應(yīng),控制器102通過(guò)負(fù)載線122發(fā)出一個(gè)信號(hào)把請(qǐng)求鎖存器110里的請(qǐng)求鎖存起來(lái)。此時(shí),該請(qǐng)求通過(guò)總線124送到存儲(chǔ)器104。接著來(lái)自歷史寄存器的數(shù)據(jù)可在歷史總線126上得到,歷史寄存器中數(shù)據(jù)的生成將在后面說(shuō)明。
總線124上請(qǐng)求位所形成的值和由歷史總線126上歷史寄存器的位所形成的值被結(jié)合起來(lái)并被用來(lái)作為輸出下一個(gè)授權(quán)的存儲(chǔ)器104中的一個(gè)地址。歷史寄存器值和請(qǐng)求鎖存器值的各種可能的組合和按照選定的仲裁算法所決定的關(guān)聯(lián)授權(quán)一起被存儲(chǔ)在存儲(chǔ)器104里。這樣,通過(guò)確定以前授權(quán)和當(dāng)前請(qǐng)求的那種組合要求下一個(gè)授權(quán)可以很簡(jiǎn)單地實(shí)行一種算法。以這種方式,任何算法都可被用來(lái)選擇授權(quán)。在下文中參照?qǐng)D5-12敘述了一個(gè)例子。更好地,來(lái)自歷史寄存器108的值被用來(lái)選擇存儲(chǔ)器104的一個(gè)節(jié)或一個(gè)塊,該值組成該存儲(chǔ)地址的高位位;而由鎖存在請(qǐng)求鎖存器110中的請(qǐng)求所形成的值組成該存儲(chǔ)地址的低位位,從概念上通過(guò)對(duì)它的變址該值被用來(lái)訪問(wèn)這個(gè)塊。存儲(chǔ)器104在授權(quán)總線128上返回按照這個(gè)地址所選擇的授權(quán)。
存儲(chǔ)器104的一部分組成ROM105。ROM105至少含有一種構(gòu)成歷史寄存器108和請(qǐng)求鎖存器110所有可能狀態(tài)的算法。另外,ROM可以是小的并構(gòu)成一個(gè)由請(qǐng)求鎖存器110的4個(gè)位尋址的授權(quán)算法。無(wú)論何時(shí)控制器102檢測(cè)出錯(cuò)誤,ROM105都能被使用,以便進(jìn)入一個(gè)已知的狀態(tài),或者,作為可選擇的,進(jìn)行初始化。
存儲(chǔ)器104把選定的授權(quán)輸出放到授權(quán)總線128上并輸送給控制器102,歷史寄存器108和授權(quán)鎖存器106。輸出由所斷言的N個(gè)位(在本典型實(shí)施例中,N=4)中的1組成,其定義選定的授權(quán)。當(dāng)控制器102在ARBREQ線路120上接收該仲裁請(qǐng)求時(shí),它在線路130上提供一個(gè)授權(quán)鎖存器允許信號(hào)以讓該授權(quán)可被傳送給授權(quán)線32,34,36和38上。如后面進(jìn)一步說(shuō)明的那樣,控制器102還斷言移位線路132以使歷史寄存器并行地把授權(quán)總線128的內(nèi)容移位進(jìn)歷史寄存器108,控制器還把最舊的先前授權(quán)移位出去。當(dāng)接收該授權(quán)的設(shè)備完成它的存儲(chǔ)訪問(wèn)時(shí),它斷言“done”線路40并由控制器102接收,接著開(kāi)始新的周期。
屏蔽寄存器116是可從總線10的數(shù)據(jù)部分寫(xiě)入的。屏蔽寄存器116的值用作把通過(guò)歷史寄存器108的某特定位的移位屏蔽掉。這具有把先前被斷言過(guò)的授權(quán)的歷史擦除掉的作用。為了改變已安裝的算法,屏蔽寄存器116可被任何設(shè)備寫(xiě)。更有利地,存儲(chǔ)器104包含多于一種的仲裁算法。屏蔽寄存器116還和表選擇寄存器118相連。為了選擇存儲(chǔ)器里含有所需算法的那一部分,表選擇寄存器118可通過(guò)屏蔽寄存器116由總線10數(shù)據(jù)部分上的數(shù)據(jù)來(lái)更新。一個(gè)表可被布置為優(yōu)先級(jí)模式而另一個(gè)表可被布置為均等模式,這樣提供了在任何給定時(shí)間某種類(lèi)型的模式可被使用的靈活性。
本發(fā)明的最佳實(shí)施例還包括一個(gè)獨(dú)特的錯(cuò)誤檢測(cè)機(jī)制??晒┻x擇地,存儲(chǔ)器104里的各個(gè)授權(quán)可具有和它關(guān)聯(lián)的,如圖7所示的,循環(huán)冗余校驗(yàn)(CRC)值、奇偶性值或其它數(shù)學(xué)錯(cuò)誤檢查值。這個(gè)值通過(guò)授權(quán)總線128和授權(quán)一起發(fā)送給控制器102。接著控制器102可執(zhí)行必要的檢驗(yàn)并把它和在存儲(chǔ)器104里得到的值進(jìn)行比較。如果錯(cuò)誤被發(fā)現(xiàn),可以錯(cuò)誤線路42上發(fā)出一個(gè)錯(cuò)誤信號(hào),并把它發(fā)送給CPU14以作進(jìn)一步的反應(yīng)(圖1)。
當(dāng)初始化請(qǐng)求從復(fù)位線路134上進(jìn)入并在仲裁器初始化(設(shè)備)112上接收時(shí)仲裁器電路22被初始化。經(jīng)過(guò)復(fù)位信號(hào)線路(圖中為清楚起見(jiàn)沒(méi)有表示)仲裁器初始化(設(shè)備)112把復(fù)位信號(hào)發(fā)送給控制器102,存儲(chǔ)器104,歷史寄存器108,授權(quán)鎖存器106,屏蔽寄存器116和請(qǐng)求鎖存器110。作為初始化的一部分,控制器102使存儲(chǔ)在仲裁器初始化ROM112中的指定分配算法經(jīng)過(guò)線負(fù)載控制總線136裝入到存儲(chǔ)器104里。被裝入的數(shù)據(jù)內(nèi)容是由算法選擇寄存器114控制的。選擇寄存器114是由CPU14(圖1)通過(guò)總線10的地址線路和數(shù)據(jù)線路加載的??偩€138把一個(gè)索引提供給仲裁器初始化(ROM)112,以控制哪一個(gè)仲裁算法要被卸載到操作存儲(chǔ)器104中。
現(xiàn)轉(zhuǎn)到圖3,圖2中控制器102中的一個(gè)狀態(tài)機(jī)被顯示出來(lái),它描述不同的狀態(tài)以及描述通向和離開(kāi)控制器102的各條引線的結(jié)果電平。當(dāng)初始化時(shí)進(jìn)入空閑狀態(tài)310,只要請(qǐng)求鎖存器140(圖2)上不出現(xiàn)請(qǐng)求,控制器102總保持在空閑狀態(tài)310。當(dāng)接到一個(gè)或更多的請(qǐng)求時(shí),狀態(tài)機(jī)300在一個(gè)時(shí)鐘周期內(nèi)從空閑狀態(tài)310轉(zhuǎn)換到狀態(tài)S1 320。在S1狀態(tài),如在下面圖4中所說(shuō)明的那樣,控制器使得負(fù)載信號(hào)進(jìn)入低電平,控制器還引起授權(quán)允許線路130被斷言。
然后狀態(tài)機(jī)300在下一個(gè)時(shí)鐘周期內(nèi)從S1狀態(tài)320轉(zhuǎn)換到S2狀態(tài)330。在“done”信號(hào)被斷言以前狀態(tài)機(jī)300一直保持在S2狀態(tài)330上。當(dāng)“done”信號(hào)被斷言時(shí),狀態(tài)機(jī)300從狀態(tài)S2 330轉(zhuǎn)換到狀態(tài)S3 340,在那時(shí)負(fù)載信號(hào)被斷言并且“done”信號(hào)被釋放后授權(quán)允許信號(hào)也被釋放。只要“done”信號(hào)被斷言狀態(tài)機(jī)300總保持在狀態(tài)S3 340上。如果“done”信號(hào)被釋放而且ARBREQ引線被斷言,狀態(tài)機(jī)轉(zhuǎn)換回到S1狀態(tài)320,這是因?yàn)榻邮盏搅硪粋€(gè)仲裁請(qǐng)求,或者相反地這是因?yàn)楫?dāng)請(qǐng)求引線第一次斷言時(shí)存在著多個(gè)仲裁請(qǐng)求。當(dāng)“done”和請(qǐng)求引線都不再被斷言時(shí)狀態(tài)機(jī)也從S3狀態(tài)340轉(zhuǎn)換回到空閑狀態(tài)310。
現(xiàn)轉(zhuǎn)到圖4,其為圖3所示狀態(tài)機(jī)300的時(shí)序圖,在圖中表示狀態(tài)機(jī)完全圍繞狀態(tài)機(jī)300的外部轉(zhuǎn)換。仲裁器電路22通過(guò)時(shí)鐘總線140(圖2)接收時(shí)鐘信號(hào)。在空閑狀態(tài)的一些時(shí)點(diǎn),接收到一個(gè)或更多的請(qǐng)求,狀態(tài)機(jī)從空閑狀態(tài)轉(zhuǎn)換到S1狀態(tài)??刂破鲾嘌砸莆痪€路122并把負(fù)載線路置為低電平。在這時(shí),被鎖存的請(qǐng)求和歷史寄存器的內(nèi)容被發(fā)送給存儲(chǔ)器104,而且授權(quán)被生成并放到授權(quán)線128上,造成線路變?yōu)楦唠娖健M瑫r(shí),它斷言授權(quán)鎖存線路130以把授權(quán)輸出對(duì)線路32,34,36和38(圖1和圖2)閉鎖。在S1狀態(tài)的一個(gè)時(shí)鐘周期之后,狀態(tài)轉(zhuǎn)換到S2狀態(tài),在這個(gè)狀態(tài),為響應(yīng)授權(quán),ARBREQ引線120變?yōu)榈碗娖讲⑶铱刂破鲾嘌砸莆灰€132,該斷言時(shí)間為一個(gè)時(shí)鐘周期。然后控制器在狀態(tài)S2 330下等待直到“done”信號(hào)被斷言為止,以指明選定的設(shè)備已完成操作,在這個(gè)時(shí)刻,轉(zhuǎn)換到狀態(tài)S3 340,在S3狀態(tài)下負(fù)載信號(hào)被斷言在S3狀態(tài)中的某一瞬間“done”信號(hào)變?yōu)榈碗娢?。?duì)此響應(yīng),控制器把授權(quán)鎖存信號(hào)置為低電平并且轉(zhuǎn)換回到空閑狀態(tài)。
可供選擇地,在存儲(chǔ)器120里對(duì)每個(gè)授權(quán)伴隨著一個(gè)附加字段,如圖7所示,其表示接收授權(quán)的設(shè)備在斷言done線路40之前所要使用的周期數(shù)。控制器102利用這個(gè)信息對(duì)時(shí)鐘周期計(jì)數(shù)(從時(shí)鐘線路140上)并且在done信號(hào)被斷言前稍許一點(diǎn)開(kāi)始下一個(gè)狀態(tài)。以這種方式,按照本發(fā)明典型實(shí)施例的仲裁電路可被做成流水線布局。
歷史寄存器和存儲(chǔ)器的操作現(xiàn)在和圖5-12聯(lián)系起來(lái)給予說(shuō)明。在本示范性實(shí)施例中,歷史寄存器500(圖5)由20位組成,這20位每按4位又分成5組。四位的四種置值中的每一種代表一個(gè)先前授權(quán)。在圖5中,H0是最后的授權(quán)。H1是H0前面的授權(quán),H2是H1前面的授權(quán),而H3是H2之前的授權(quán)。當(dāng)作出一個(gè)授權(quán)時(shí),它被移位進(jìn)H0。而H0被移位進(jìn)H1,依次類(lèi)推,并且H3移位出歷史寄存器。最后的4位是來(lái)自請(qǐng)求鎖存器的“請(qǐng)求位”。它們是索引位。
圖5中的歷史寄存器用來(lái)對(duì)含有授權(quán)位的存儲(chǔ)器塊定址?!八饕蔽恢苯拥赜成湓谡?qǐng)求鎖存器10里找到的設(shè)備請(qǐng)求位。在本討論中,假定每次在歷史寄存器的各個(gè)先前授權(quán)里只有一個(gè)位被置位,而且該模式中所有的不可尋址的地址都產(chǎn)生一個(gè)出錯(cuò)信號(hào)。在H0-H3里,每一組中只有一個(gè)位可被設(shè)置,因?yàn)樵诒镜湫蛯?shí)施例中每次只給出一個(gè)授權(quán)??晒┻x擇地,這4個(gè)寄存器(H0-H3)還可被編碼以節(jié)省地址空間并使RAM變小。
在操作中,請(qǐng)求進(jìn)入系統(tǒng)(通過(guò)設(shè)備14,16,18和20)并產(chǎn)生對(duì)存儲(chǔ)器104的一個(gè)地址,其在圖6中表示為“xxxx”。這個(gè)地址包含6個(gè)可能的項(xiàng)目。該地址識(shí)別RAM中含有4位授權(quán)的一個(gè)單元。這些授權(quán)是根據(jù)例如圖7中表示的特定的算法確定的。圖7表示一個(gè)含有簡(jiǎn)單優(yōu)選授權(quán)算法的存儲(chǔ)器塊;但是,仲裁模式不必一定為所示的“優(yōu)先”模式。還請(qǐng)注意所有的請(qǐng)求引線的變化都被覆蓋。各種變化都可使G3到G0的一個(gè)授權(quán)位被設(shè)置(選擇的)而其它授權(quán)位被置為0(未選擇的)。
存儲(chǔ)器節(jié)的輸出被仲裁器用來(lái)授權(quán)一個(gè)請(qǐng)求(放在圖1的授權(quán)線路32,34,36和38上)并且還被裝入H0的地址部分。假設(shè)請(qǐng)求位為,按照?qǐng)D7里的表,它產(chǎn)生設(shè)置為的授權(quán)0。在下個(gè)周期RAM地址按圖8所示出現(xiàn)。
歷史寄存器地址還編址為RAM中的一個(gè)16個(gè)單元塊(但不是如圖7中所示的相同塊)。通過(guò)地址的請(qǐng)求部分選擇16個(gè)單元中的一個(gè)。16個(gè)單元中的數(shù)據(jù)是具有把請(qǐng)求0約定為在最后周期內(nèi)授權(quán)的環(huán)形簽名式算法的一個(gè)例子。它意味著如果有任何其它的請(qǐng)求是待決的,它們將在請(qǐng)求0之前被對(duì)待。在這種情況下下一個(gè)授權(quán)將在優(yōu)先級(jí)的基礎(chǔ)上從其它的請(qǐng)求中選擇,盡管情況不必總是這樣。
假設(shè)下一個(gè)周期的請(qǐng)求位模式仍舊為。它的結(jié)果是在這個(gè)周期內(nèi)給出請(qǐng)求3。在下一個(gè)周期上RAM地址如圖9所示。這是通過(guò)H0-H3地址部分的地址所選擇的一個(gè)新的16單元部分。該部分包含有關(guān)請(qǐng)求引線的任何可能變化的授權(quán)。在本示范性實(shí)施例中采用環(huán)形簽名式算法并約定請(qǐng)求0和3已被授權(quán)的情況下,選擇新的授權(quán)位。如果下個(gè)周期的請(qǐng)求引線為,RAM將響應(yīng)并授權(quán)1,因?yàn)槭跈?quán)3已被授權(quán)而授權(quán)1還沒(méi)有被授權(quán)。在下一個(gè)周期上RAM地址將如圖10所示。
因?yàn)檎?qǐng)求0,1和3已被先期授權(quán),這些16個(gè)單元被選擇。注意請(qǐng)求3被斷言但未使,在下一個(gè)周期里,請(qǐng)求地址為。因?yàn)檎?qǐng)求2還未被對(duì)待,RAM以授權(quán)2作為響應(yīng)。再次注意由于環(huán)形簽名式算法請(qǐng)求3未被使用。
在下一周期RAM的新地址如圖11所示。所有的請(qǐng)求被使用,如果下個(gè)周期的請(qǐng)求地址是,結(jié)果將是授權(quán)0,因?yàn)樗亲钤绫皇褂玫?。新的RAM地址則如圖12所示。
RAM的各部分構(gòu)成一集單元,該集按照環(huán)形簽名式算法定義授權(quán)位的各種可能狀態(tài)。所使用的算法由系統(tǒng)設(shè)計(jì)員決定。此外,有可能創(chuàng)立反映運(yùn)用仲裁器的計(jì)算機(jī)的特殊性的特定算法。簡(jiǎn)言之,在使用同一硬件下,根據(jù)需要仲裁器可以是通用的或者是專(zhuān)用的。
應(yīng)該理解上述的實(shí)施例僅用于說(shuō)明本發(fā)明的原則,在不違背本發(fā)明范圍的情況下,技術(shù)熟練的人可設(shè)計(jì)多種變型。因而,這意味著這些變型被包括在權(quán)利要求書(shū)的范圍之內(nèi)。
權(quán)利要求
1.一種為多個(gè)請(qǐng)求者的請(qǐng)求提供分配仲裁的系統(tǒng),這種仲裁是以對(duì)這些請(qǐng)求者的請(qǐng)求所實(shí)施的先前授權(quán)的歷史為基礎(chǔ)的,所述系統(tǒng)包括從所述多個(gè)請(qǐng)求者中接收請(qǐng)求的輸入裝置;所定義的多個(gè)授權(quán)的存儲(chǔ)裝置,所述的多個(gè)授權(quán)由對(duì)各種(當(dāng)前)請(qǐng)求和歷史請(qǐng)求可能組合所形成的(各個(gè))授權(quán)所組成;記錄一個(gè)或多個(gè)先前授權(quán)的歷史裝置;把所述的歷史裝置、所述的輸入裝置和所述的存儲(chǔ)裝置連接起來(lái)的控制裝置,以把按所述輸入裝置接收的所述請(qǐng)求和按所述歷史裝置得到的一個(gè)或多個(gè)先前授權(quán)應(yīng)用到所述存儲(chǔ)裝置中,從而在所述多個(gè)授權(quán)里選擇一個(gè)應(yīng)答的授權(quán),并且對(duì)所述請(qǐng)求者中的一個(gè)提供反映所述選定授權(quán)的授權(quán)指示。
2.按照權(quán)利要求1的系統(tǒng),其中所述歷史裝置由一個(gè)先進(jìn)先出(FIFO)隊(duì)列組成,而且其中的各個(gè)授權(quán)通過(guò)所述的FIFO隊(duì)列傳送。
3.按照權(quán)利要求2的系統(tǒng),其中所述存儲(chǔ)裝置由多個(gè)塊組成,所述多個(gè)塊的各個(gè)塊包括一個(gè)所述多個(gè)授權(quán)的子集,其中所述控制裝置通過(guò)將所述FIFO隊(duì)列作為一個(gè)地址來(lái)選擇所述塊中的一個(gè)塊,還通過(guò)利用所述請(qǐng)求去選擇所述選定塊中的一個(gè)單元以從所述選定塊中選擇所述授權(quán)中的一個(gè)授權(quán)。
4.按照權(quán)利要求2的系統(tǒng),其還包括一個(gè)可寫(xiě)屏蔽寄存器,而且其中所述屏蔽寄存器選擇性地改變所述歷史方式的內(nèi)容區(qū)段。
5.一種為多個(gè)請(qǐng)求者的總線分配請(qǐng)求提供仲裁的系統(tǒng),所述系統(tǒng)包括從所述多個(gè)請(qǐng)求者中接收請(qǐng)求的輸入裝置;包含有多個(gè)查找表的存儲(chǔ)裝置,每個(gè)所述查找表具有多個(gè)授權(quán),所述各個(gè)授權(quán)中的每一個(gè)和可能的請(qǐng)求輸入中的一個(gè)相對(duì)應(yīng)。把所述的輸出裝置,所述的輸入裝置和所述的查找表連系起來(lái)的控制裝置,以選擇所述多個(gè)查找表中的一個(gè)表,并把所述請(qǐng)求應(yīng)用到所述查找表以選擇所述多個(gè)授權(quán)中的一個(gè),而且對(duì)所述請(qǐng)求者中的一個(gè)提供反映所述選定授權(quán)的授權(quán)特許信號(hào)。
6.按照權(quán)利要求5的系統(tǒng),還包括一個(gè)記錄先前總線請(qǐng)求授權(quán)歷史的歷史寄存器,所述歷史寄存器和所述控制裝置相連接,從而所述控制裝置也把從所述歷史寄存器得到的所述先前總線請(qǐng)求授權(quán)應(yīng)用到含有按所述輸入裝置得到的所述請(qǐng)求的所述查找表上以從所述多個(gè)授權(quán)中選擇一個(gè)授權(quán)。
7.按照權(quán)利要求5的系統(tǒng),其所述多個(gè)查找表中的一個(gè)表或多個(gè)表可被動(dòng)態(tài)地更新。
8.按照權(quán)利要求6的系統(tǒng),還包括和所述歷史寄存器連接的屏蔽寄存器,所述屏蔽寄存器是動(dòng)態(tài)可寫(xiě)的并且能夠重寫(xiě)歷史寄存器從而改變所述已規(guī)定的仲裁狀態(tài)。
9.按照權(quán)利要求5的系統(tǒng),當(dāng)由所述控制裝置提供所述授權(quán)信號(hào)時(shí),所述控制裝置還進(jìn)行差錯(cuò)檢驗(yàn)。
10.按照權(quán)利要求9的系統(tǒng),其所述表的各條項(xiàng)目包括奇偶性指示,并且所述差錯(cuò)檢驗(yàn)包括對(duì)所述授權(quán)的奇偶性檢驗(yàn)。
11.按照權(quán)利要求9的系統(tǒng),其中所述表包括一個(gè)循環(huán)冗余檢驗(yàn)值,并且所述差錯(cuò)檢驗(yàn)包括進(jìn)行循環(huán)冗余檢驗(yàn)。
12.按照權(quán)利要求5的系統(tǒng),其中所述表包含在一個(gè)隨機(jī)存取存儲(chǔ)器(RAM)里。
13.按照權(quán)利要求5的系統(tǒng),其中所述表包含在一個(gè)只讀存儲(chǔ)器(ROM)里。
14.按照權(quán)利要求5的系統(tǒng),其中所述表中的一個(gè)放在ROM中,而其余的所述多個(gè)表放在RAM里。
15.按照權(quán)利要求14的系統(tǒng),其中所述控制裝置進(jìn)行差錯(cuò)檢驗(yàn),作為對(duì)所述控制裝置測(cè)出出現(xiàn)一個(gè)錯(cuò)誤的反應(yīng),所述控制裝置把所述確定的仲裁狀態(tài)單獨(dú)地應(yīng)用于所述ROM中的所述表。
16.一種以先前總線請(qǐng)求授權(quán)的歷史為基地的對(duì)多個(gè)請(qǐng)求者的請(qǐng)求提供總線分配仲裁的方法,所述方法包括接收多個(gè)請(qǐng)求為所述總線使用;為響應(yīng)所述多個(gè)請(qǐng)求,把歷史寄存器應(yīng)用于所述多個(gè)請(qǐng)求以確定一種仲裁狀態(tài);把所述結(jié)果用作為索引進(jìn)入仲裁狀態(tài)表,所述仲裁狀態(tài)表由多個(gè)仲裁狀態(tài)及相對(duì)應(yīng)的多個(gè)授權(quán)所組成;和把按所述確定仲裁狀態(tài)索引到的所述多個(gè)授權(quán)中的一個(gè)授權(quán)發(fā)送給所述請(qǐng)求者。
17.按照權(quán)利要求16的方法,還包括,在發(fā)送所述授權(quán)之前,對(duì)所述授權(quán)進(jìn)行差錯(cuò)檢驗(yàn)。
18.按照權(quán)利要求17的方法,其中所述差錯(cuò)檢驗(yàn)包含奇偶性檢驗(yàn)。
19.按照權(quán)利要求17的方法,其中所述差錯(cuò)檢驗(yàn)包含循環(huán)冗余檢驗(yàn)。
20.按照權(quán)利要求16的方法,其中所述仲裁狀態(tài)表包含多個(gè)狀態(tài)表,其中所述結(jié)果尋址到所述多個(gè)仲裁狀態(tài)表中的一個(gè)仲裁狀態(tài)表,并且其中為對(duì)確定已出現(xiàn)錯(cuò)誤作出反應(yīng),使用一個(gè)和所述仲裁狀態(tài)表不同的仲裁狀態(tài)表。
21.按照權(quán)利要求16的方法,其中所述仲裁狀態(tài)表包括多個(gè)仲裁狀態(tài)表,所述方法進(jìn)而包括確定使用所述多個(gè)仲裁狀態(tài)表中的那一個(gè)仲裁狀態(tài)表。
22.按照權(quán)利要求16的方法,其中所述歷史寄存器是動(dòng)態(tài)可變的,并且其中把歷史寄存器應(yīng)用于所述請(qǐng)求也包括改變所述歷史寄存器。
23.一種為多個(gè)請(qǐng)求者的請(qǐng)求提供分配仲裁的方法,包括接收多個(gè)請(qǐng)求;在所述接收的請(qǐng)求以及一個(gè)或多個(gè)先前請(qǐng)求的基礎(chǔ)上確定一個(gè)請(qǐng)求授權(quán);而且根據(jù)所述確定的授權(quán)允許所述多個(gè)請(qǐng)求者中的一個(gè)請(qǐng)求者。
全文摘要
一種使用唯一的歷史寄存器的仲裁電路,該歷史寄存器和代表總線請(qǐng)求的一個(gè)值結(jié)合起來(lái)以索引一個(gè)表。歷史寄存器請(qǐng)求的所有可能組合和相對(duì)應(yīng)的授權(quán)一起存儲(chǔ)在該表中。表的一個(gè)塊被該歷史寄存器選擇,然后利用該請(qǐng)求對(duì)該塊尋址以確定哪一個(gè)請(qǐng)求接收授權(quán)。該授權(quán)被移位進(jìn)歷史寄存器。更有益地,多于一個(gè)的表可被存儲(chǔ)在存儲(chǔ)器里,各表可由仲裁器控制器選擇。
文檔編號(hào)G06F13/18GK1104785SQ9410551
公開(kāi)日1995年7月5日 申請(qǐng)日期1994年5月16日 優(yōu)先權(quán)日1993年5月17日
發(fā)明者邁克?!·拉森, 韋恩·R·威爾科克斯 申請(qǐng)人:美國(guó)電話電報(bào)公司