專利名稱:總線仲裁器的制作方法
本發(fā)明是關(guān)于計(jì)算機(jī)總線的,特別與一種仲裁裝置有關(guān),該裝置裁決主部件訪問計(jì)算機(jī)總線所進(jìn)行的競(jìng)爭(zhēng)。
計(jì)算機(jī)系統(tǒng)總線結(jié)構(gòu)將系統(tǒng)內(nèi)的各種組成部件(如中央處理機(jī),存儲(chǔ)器及輸入/輸出設(shè)備)聯(lián)系在一起,并使各部件之間互相配合。總線結(jié)構(gòu)通常包括數(shù)據(jù)線,地址線和控制線系統(tǒng)各部件通過接口設(shè)備與總線相連。只有主部件能在某時(shí)刻訪問總線,命令從部件在總線的數(shù)據(jù)線上發(fā)送或接收數(shù)據(jù),方法是在總線上產(chǎn)生一個(gè)適當(dāng)?shù)膹牟考刂芳斑m當(dāng)?shù)目刂菩盘?hào)。在一個(gè)系統(tǒng)有多個(gè)主部件能在總線上放置數(shù)據(jù)的情況下,必須給出某些裁決手段,以確定在任一給定時(shí)刻哪個(gè)主部件將控制總線。
在電氣與電子工程師協(xié)會(huì)標(biāo)準(zhǔn)IEEE-796中描述的總線結(jié)構(gòu)中,每個(gè)主部件都帶有仲裁部件,仲裁部件有一個(gè)接收主部件請(qǐng)求訪問總線的輸入端,一個(gè)接收來自外部源的總線優(yōu)先級(jí)信號(hào)(表示另一設(shè)備已確定優(yōu)先級(jí))的輸入端,和來自一個(gè)表示如果總線“忙”,被另一主部件正常訪問的總線的輸入端。如果仲裁部件不檢查優(yōu)先級(jí)信號(hào)而只檢查請(qǐng)求訪問總線信號(hào),則它給出一個(gè)串行優(yōu)先級(jí)輸出信號(hào),表示它要求訪問總線。當(dāng)“忙”信號(hào)表示總線空閑時(shí),接口設(shè)備就可以提供主部件對(duì)總線的訪問。系統(tǒng)的每個(gè)接口設(shè)備的優(yōu)先級(jí)輸入信號(hào)和串行優(yōu)先級(jí)輸出信號(hào)按串行方式與一個(gè)主部件的串行優(yōu)先級(jí)輸出信號(hào)相連接,而這一輸出信號(hào)又作為優(yōu)先級(jí)輸入信號(hào)作用到下一個(gè)主部件上。對(duì)串聯(lián)在一起的各仲裁部件中的第一個(gè),優(yōu)先級(jí)輸入信號(hào)被恒定確定,這就使第一個(gè)仲裁部件有總線訪問最高優(yōu)先級(jí)。第二個(gè)仲裁部件有總線訪問次高優(yōu)先級(jí),因若第一仲裁部件沒有訪問總線的請(qǐng)求,第二仲裁部件的優(yōu)先級(jí)輸入信號(hào)將被確定。類似地,以串聯(lián)形式順序排列的每個(gè)接口設(shè)備將有順序下降的優(yōu)先級(jí)。
在仲裁系統(tǒng)的另一些實(shí)施中,每個(gè)仲裁部件都有并行優(yōu)先級(jí)輸出信號(hào),不管輸入優(yōu)先級(jí)信號(hào)狀態(tài)如何,只要要求訪問總線,并行優(yōu)先級(jí)輸出信號(hào)就被確定。接口設(shè)備優(yōu)先級(jí)輸入信號(hào)和并行優(yōu)先級(jí)輸出信號(hào)可以按并行方式與一個(gè)起優(yōu)先級(jí)分解器作用的邏輯電路相連,分解電路可按所要求的任何優(yōu)先級(jí)把總線訪問權(quán)分配給接口設(shè)備。并行優(yōu)先級(jí)法比串行方法更靈活,特別是如果優(yōu)先級(jí)分解器可編程實(shí)現(xiàn)的話,但并行法要求使用一個(gè)附加的優(yōu)先級(jí)分解電路。
一個(gè)主部件將經(jīng)常接連不斷地多次訪問總線。如果主部件在每?jī)纱卧L問之間都必須對(duì)總線判決,則接口設(shè)備必須禁止數(shù)據(jù)線和地址線緩沖區(qū),斷開忙信號(hào),等待主部件的總線請(qǐng)求信號(hào),確定優(yōu)先級(jí),檢查是否有其他優(yōu)先級(jí)更高的設(shè)備要求控制總線,接通忙信號(hào),這才真正控制了總線。所有這些步驟都要花費(fèi)時(shí)間。這個(gè)問題已被部分地解決,方法是當(dāng)每個(gè)主部件獲得對(duì)總線的控制時(shí),它就確定一個(gè)鎖定信號(hào)。鎖定信號(hào)一經(jīng)確定后,就要求接口設(shè)備把主部件連接在總線上,從而避免了每?jī)纱蝹魉蛿?shù)據(jù)之間要進(jìn)行的所有中間步驟。使用這種鎖定信號(hào)的一個(gè)缺點(diǎn)是,低優(yōu)先級(jí)設(shè)備可能會(huì)長(zhǎng)時(shí)間獲得并占有總線,而排斥較高優(yōu)先級(jí)設(shè)備。
允許低優(yōu)先級(jí)主部件在數(shù)據(jù)總線上多次傳輸數(shù)據(jù)而各次傳輸之間無須進(jìn)行裁決,同時(shí)仍然允許優(yōu)先級(jí)較高的主部件在需要的時(shí)候能獲得總線控制,得到這樣一種低費(fèi)用方法將是十分有益的。
就本發(fā)明的一個(gè)方面而言,總線仲裁部件用于每種訪問IEEE-796標(biāo)準(zhǔn)的計(jì)算機(jī)總線的主部件。每個(gè)仲裁部件都包括一個(gè)可編程陣列邏輯電路,該邏輯電路接收來自相應(yīng)的總線主部件及其他仲裁邏輯部件的控制輸入信號(hào),并產(chǎn)生輸出信號(hào),這些輸出信號(hào)是與其他仲裁部件一起對(duì)總線進(jìn)行裁決,并在優(yōu)先級(jí)被確定時(shí)使該主部件獲得對(duì)總線的控制所必須的。使用可編程陣列邏輯電路來實(shí)現(xiàn)仲裁邏輯,可以在較小組件上制作低價(jià)仲裁部件。
就本發(fā)明的另一個(gè)方面而言,公共總線請(qǐng)求線連接到每個(gè)仲裁部件的可編程陣列邏輯電路的輸入和輸出上。每個(gè)邏輯部件如此編程,使得在任何一個(gè)主部件請(qǐng)求總線控制時(shí),相應(yīng)的仲裁器就在公共總線請(qǐng)求線上產(chǎn)生一個(gè)信號(hào)。當(dāng)一個(gè)主部件控制總線時(shí),仲裁器允許它占據(jù)總線,直到仲裁器檢測(cè)出公共總線請(qǐng)求線已被另外的總線仲裁部件所確定為止。此時(shí),總線仲裁器放棄對(duì)總線的控制,并對(duì)再控制進(jìn)行裁決。這樣,主部件可以在總線上進(jìn)行多次數(shù)據(jù)傳輸,而不必在每?jī)纱蝹鬏斨g放棄對(duì)總線的控制,但在另一主部件要求控制總線時(shí),還是要對(duì)總線進(jìn)行裁決。
就本發(fā)明的再一個(gè)方面而言,每個(gè)可編程邏輯陣列的編程目的是,既產(chǎn)生串行優(yōu)先級(jí)信號(hào),也產(chǎn)生并行優(yōu)先級(jí)信號(hào),而提供附加電路的目的是,使系統(tǒng)的幾個(gè)仲裁部件可以有選擇地按并行優(yōu)先級(jí)分解方式或按串行優(yōu)先級(jí)分解方式來互相連接。
因此,本發(fā)明的一個(gè)目的是,為了在低價(jià)組件中使用總線仲裁系統(tǒng)而提供一種新的改進(jìn)裝置。
本發(fā)明的另一個(gè)目的是,提供一種新的改進(jìn)的仲裁裝置,它允許主部件在總線上進(jìn)行多次數(shù)據(jù)傳輸,而在每?jī)纱蝹鬏斨g無須放棄總線控制,同時(shí)還允許更高優(yōu)先級(jí)主部件在需要的時(shí)候控制總線。
本發(fā)明的再一個(gè)目的是,提供一種新的改進(jìn)的仲裁裝置,它允許幾個(gè)仲裁器按串行或并行優(yōu)先級(jí)分解方式來相互連接。
本發(fā)明的主題在這份說明書的結(jié)論部分中已特別指出,并明確地在本說明書的結(jié)尾部分提出了權(quán)利要求
。其組成和操作方法,以及更進(jìn)一步的優(yōu)點(diǎn)和其目的,通過參閱對(duì)附圖所作的下述說明就可以得到很好地理解,其中用相同的字符表示同一組成部分。
圖1為本發(fā)明的總線仲裁器方框圖。
圖2為說明一組圖1中的仲裁器對(duì)按串行或并行優(yōu)先級(jí)分解方式使用時(shí),如何進(jìn)行相互連接的方框圖。
圖3為圖1仲裁器的可編程邏輯陣列的狀態(tài)框圖。
圖4為可編程邏輯陣列的示意圖。
參照?qǐng)D1,這里用方框圖形式說明本發(fā)明給出的總線仲裁器10可對(duì)符合IEEE-796標(biāo)準(zhǔn)總線排列的總線進(jìn)行裁決。計(jì)算機(jī)系統(tǒng)中的每個(gè)總線主部件都具有這樣一個(gè)仲裁部件??偩€仲裁器有下列輸入REQUEST主部件產(chǎn)生這一輸入信號(hào),用以通知相應(yīng)的仲裁器,表示主部件要求訪問總線,進(jìn)行讀或?qū)懖僮?。信?hào)被確定直到主部件完成讀或?qū)懖僮鳛橹埂?br>WRITE主部件確定這一輸入信號(hào),以通知仲裁器,表示所要求的訪問是寫訪問。如果WRITE輸入信號(hào)未被確定,那么所要求的訪問是讀訪問。
MEMORY主部件確定這一輸入信號(hào),以通知仲裁器表示要求訪問存儲(chǔ)器,如沒確定,則主部件要求進(jìn)行一次I/O訪問。
LOCK主部件確定這一輸入信號(hào),以通知仲裁器,表示它一旦獲得總線控制,要求仲裁器不要放棄控制。當(dāng)LOCK信號(hào)不再被確定時(shí),仲裁器可以放棄控制。
INIT總線確定這一輸入信號(hào),以便將仲裁器復(fù)位到初始狀態(tài)。
BCLK加載在總線上的時(shí)鐘信號(hào),作用到所有總線仲裁器上,使仲裁器的操作同步。
BPRN總線優(yōu)先級(jí)輸入信號(hào)。當(dāng)另一仲裁器要求訪問總線,并且它訪問總線的優(yōu)先級(jí)比接收此信號(hào)的仲裁器的優(yōu)先級(jí)高時(shí),信號(hào)被確定。
CBRQ它是由總線加載的公共總線請(qǐng)求輸入信號(hào)。一旦任何一個(gè)仲裁器要求訪問總線時(shí),它就被確定。
BUSY該信號(hào)由總線加載一旦任何一個(gè)主部件當(dāng)前正在訪問總線時(shí)就被確定。
每個(gè)仲裁器部件10都有下列輸出信號(hào)BREQ并行優(yōu)先級(jí)總線請(qǐng)求信號(hào),當(dāng)主部件確定REQUEST信號(hào)時(shí)被確定。
BPRO串行優(yōu)先級(jí)總線請(qǐng)求信號(hào),當(dāng)主部件確定REQUEST信號(hào),并在BPRN輸入信號(hào)未被確定時(shí)被確定。
CBREQ公共總線請(qǐng)求輸出信號(hào),一旦主部件確定REQUEST信號(hào)時(shí)就被確定;一旦主部件當(dāng)前正在訪問總線時(shí)就被撤消。
BUSYO一旦主部件正在訪問或控制總線時(shí),這個(gè)信號(hào)就被確定。
ADEN此信號(hào)被確定以啟動(dòng)連接主部件到總線的緩沖線路。
IOWC當(dāng)主部件執(zhí)行一次I/O寫操作時(shí),該信號(hào)被確定。
IORC當(dāng)主部件執(zhí)行一次I/O讀操作時(shí),該信號(hào)被確定。
MWTC當(dāng)主部件執(zhí)行一次存儲(chǔ)器寫操作時(shí),該信號(hào)被確定。
MRDC當(dāng)主部件執(zhí)行一次存儲(chǔ)器讀操作時(shí),該信號(hào)被確定。
本發(fā)明的總線仲裁器10包括一個(gè)可編程陣列邏輯電路(PAL)12,用來提供一組輸出的狀態(tài)裝置,這組輸出可以按予先規(guī)定的方式編程改變狀態(tài),來響應(yīng)一組輸入的狀態(tài)變化。REQUEST,WRITE,MEMORY,LOCK,IKIT,BPRN,CBRQ和BUSY信號(hào)作為輸入作用在PAL12上,而產(chǎn)生CBREQO,BUSYO,ADEN,IOWC,IOKC,MWTC和WRDC信號(hào),作為PAL12的狀態(tài)輸出。BCLK信號(hào)經(jīng)過倒相放大器18作用在PAL12的時(shí)鐘輸入端。要求倒相器是因?yàn)?,系統(tǒng)的改變是按BCLK信號(hào)后沿進(jìn)行的而在本發(fā)明的最佳實(shí)施方案中PAL12狀態(tài)變化是按時(shí)鐘脈沖前沿進(jìn)行的。
開關(guān)SW1將PAL的BREQ輸出連接到BREQ。BREQ輸出也作用到倒相器14的輸入端。倒相器14的輸出作用到或門16的輸入端,而或門16的輸出,BPRO信號(hào),作用到另一個(gè)開關(guān)SW2的一端。輸入到PAL12的BPRN輸入信號(hào)也作用到或門16的第二輸入端。每個(gè)仲裁器10的輸出信號(hào)MRDC,MWTC,IORC和IOWC經(jīng)過一個(gè)四通道三態(tài)輸出緩沖器20,連接到總線的MRDC-0,MWTC-0,IORC-0和IOWC-0線上,ADEN信號(hào)作用到緩沖器的倒相ENABLE端E上,使緩沖器處于允許狀態(tài)。PAL12的CBREQO輸出經(jīng)過另一開路集流緩沖器22,作用到總線的CBREQ-0線上。
BUSYO輸出端通過開路集流緩沖器24連接到總線的BUSY-0線上,它把BUSY信號(hào)返回到PAL12的一個(gè)輸入端。換句話說,當(dāng)BUSY-0線沒有被連接它的緩沖器下拉時(shí),它就被連接電源Vb的電阻R2上拉,輸入到PAL12的BPRN信號(hào)也作用到開關(guān)SW3的第一端點(diǎn)。SW3開關(guān)的另一端點(diǎn)接地。當(dāng)開關(guān)SW4未接地時(shí),開路集流緩沖器26的輸入端被電阻R3上拉,R3將正電壓電源Vb耦合到緩沖器26的輸入端。緩沖器26的輸出端連接到總線的CBREQ-0線上。
總線仲裁器10可以按并行和串行兩種基本優(yōu)先級(jí)分解方式來工作。這兩種方式在圖2中說明。在串行優(yōu)先級(jí)分解方式下,兩個(gè)或兩個(gè)以上的仲裁器10串行連接,因此與優(yōu)先級(jí)最高的主部件(主部件1)相連的仲裁器BPRN輸入端由開關(guān)SW3閉合而接地。所有低優(yōu)先級(jí)仲裁器的開關(guān)SW3都斷開。在所有仲裁器開關(guān)SW1斷開時(shí)所有仲裁器開關(guān)SW2閉合。
最高優(yōu)先級(jí)的仲裁器的BPRO輸出經(jīng)過它的開關(guān)SW2作用在下一個(gè)最高優(yōu)先級(jí)的仲裁器的BPRN輸入端上。該次高優(yōu)先級(jí)的仲裁器10的BPRO輸出然后作用在第三高優(yōu)先級(jí)的仲裁器的BPRN輸入端上。
如果一個(gè)仲裁器從相應(yīng)的主部件上接收一個(gè)REQUEST信號(hào),表示主部件要求訪問總線,那么仲裁器將確定(驅(qū)動(dòng)低電平)它的BPRO輸出信號(hào),假設(shè)它的BPRN輸入為高電平的話。因此,在串行優(yōu)先級(jí)分解方式下,若仲裁器有低電平BPRN輸入,則可以認(rèn)為沒有優(yōu)先級(jí)較高的仲裁器要求訪問總線及當(dāng)總線再次空閑時(shí),它就可以控制總線。
在并行優(yōu)先級(jí)分解方式下,所有SW2和SW3開關(guān)都斷開,而所有SW1開關(guān)都閉合。開關(guān)SW1將每個(gè)仲裁器10的BREQ輸出與相應(yīng)的并行優(yōu)先級(jí)分解器30的輸入端相連。優(yōu)先級(jí)分解器30有分隔的輸出與每個(gè)仲裁器10的BPRN輸入端相連。每個(gè)仲裁器10在它接收到相應(yīng)主部件的REQUEST請(qǐng)求信號(hào)時(shí),將確定它的BREQ輸出。優(yōu)先級(jí)分解器30用來確定(接地)要求訪問總線的優(yōu)先級(jí)最高的仲裁器的BPRN輸入,方法是確定優(yōu)先級(jí)分解器的BREQ輸出信號(hào)。檢查BPRN輸入已經(jīng)確定,則當(dāng)總線下次空閑時(shí),仲裁器10就可以訪問它。能完成優(yōu)先級(jí)分解器30的功能的電路在技術(shù)上是眾所周知的,因此這里不作進(jìn)一步介紹。
采取一定手段使當(dāng)前正在訪問總線的主部件,只要沒有其他主部件請(qǐng)求訪問總線,就可以不需要對(duì)它裁決而繼續(xù)訪問總線??偩€的CBREQ-0線連接到每個(gè)仲裁器10的CBREQ輸入端上,而每個(gè)仲裁器10的CBRQ0輸出通過與它相連的開路集流緩沖器22連接到CBREQ-0線上。一旦一個(gè)主部件確定它輸入到與它相連的仲裁器10的REQUEST信號(hào)時(shí),仲裁器都確定公共總線CBREQ信號(hào)(壓低),而這又依次確定(壓低)輸入到每一個(gè)其他仲裁器的CBREQ信號(hào)。如果當(dāng)前使用總線的主部件沒有由確定LOCK母線信號(hào)來鎖定總線,這將使占有總線的任何主部件,在下次總線訪問結(jié)束時(shí)裁決總線。如果不使用這種公共總線性能,那么它可以把每個(gè)仲裁器電路12中的開關(guān)SW4閉合而被禁止。因而緩沖器26的輸入接地,CBREQ-0線下拉。這將在每個(gè)總線訪問周期之后引起各仲裁器裁決總線,除非它已確定了LOCK信號(hào)。
在最佳實(shí)施方案中,每個(gè)PAL12按下面狀態(tài)方程組建立輸出狀態(tài)與輸入狀態(tài)的關(guān)系BUSYO=BPRN ★BREQ ★REQUEST★/BUSY★/INIT+BUSYO ★ADEN ★/INITBREQ=REQUEST★/INIT+BREQ ★ADEN ★/INITCBREQO=REQUEST★/BUSYO ★/INITADEN=REQUEST★BUSYO ★/INIT+ADEN ★/CBREQ ★/INIT+ADEN ★L(fēng)OCK ★/INIT+ADEN ★MRD ★/INIT+ADEN ★MWR ★/INIT+ADEN ★IORD ★/INIT+ADEN ★IOWR ★/INITMRDC=ADEN ★MEMORY ★/WRITE ★REQUESTMWTC=ADEN ★MEMORY ★WRITE ★REQUESTIORC=ADEN ★/MEMORY★/WRITE ★REQUESTIOWC=ADEN ★/MEMORY★WRITE ★REQUEST上述方程組中,“=”符號(hào)表示輸出是按BCLK信號(hào)進(jìn)行的,“=”符號(hào)表示輸出不是按BCLK信號(hào)進(jìn)行的,“+”號(hào)表示OR(或)功能,“★”號(hào)表示AND(與)功能,“/”號(hào)表示一種撤消狀態(tài)。
圖3是狀態(tài)框圖,描述由上述方程組得出的總線仲裁器10運(yùn)行情況。INIT信號(hào)加載在總線上并被確定以把每個(gè)仲裁器復(fù)位到初始IDLE(空閑)狀態(tài)A而不管它當(dāng)前狀態(tài)如何。因此仲裁器10接到INIT信號(hào),從其他任何狀態(tài)進(jìn)入IDLE狀態(tài)A。在IDLE狀態(tài)下,主部件當(dāng)前沒有訪問總線,所以BUSYO輸出信號(hào)沒有被確定,ADEN,IOWC,IORC,MWTC和MRDC信號(hào)也都沒有被確定。因?yàn)橹鞑考?dāng)前沒有要求訪問總線,所以BPRO,BREQ和CBREQO輸出信號(hào)也沒有確定。
當(dāng)主部件要求訪問總線時(shí),它確定REQUEST信號(hào)輸入到總線仲裁器10。在下一次BCLK脈沖的后沿處,總線仲裁器10變化為REQUEST BUS(請(qǐng)求總線)B狀態(tài),如果按并行優(yōu)先級(jí)分解系統(tǒng)連接,其中BREQ輸出被確定以競(jìng)爭(zhēng)優(yōu)先級(jí)。CBREQ輸出也被確定,以通知其他正在被請(qǐng)求訪問總線的主部件,只要BUSY輸入信號(hào)被確定仲裁器10一直處于REQUEST BUS狀態(tài),這表明另一主部件在控制總線,而只要BPRN輸入信號(hào)未被確定,則表明另一優(yōu)先級(jí)較高的主部件正在請(qǐng)求總線。
當(dāng)總線未被使用并且沒有其他優(yōu)先級(jí)較高的主部件請(qǐng)求總線時(shí),此時(shí)在下一個(gè)BCLK信號(hào)到來時(shí)仲裁器10轉(zhuǎn)變到GET BUS(獲得總線)狀態(tài)C。在這一狀態(tài)下,BPRO信號(hào)被撤消,若按串行優(yōu)先級(jí)分解方式連接,表示主部件具有最高優(yōu)先級(jí),且BUSYO信號(hào)被確定,表示主部件控制總線,并且總線現(xiàn)在為“忙”狀態(tài)。
在下一個(gè)BCLK脈沖時(shí),系統(tǒng)轉(zhuǎn)移到ENABLE允準(zhǔn)狀態(tài)D,ADEN信號(hào)被確定以連接主部件和總線,CBREQ信號(hào)被撤消。
一旦ADEN信號(hào)一抬升,仲裁器10就轉(zhuǎn)移到ASSERT(確定)狀態(tài)E,其中讀/寫控制輸出信號(hào)MRDC,MWRT,IORC或IOWC就有一個(gè)要處于確定狀態(tài),至于是哪個(gè)信號(hào)取決于從主部件來的WRITE和MEMORY輸入信號(hào)在當(dāng)時(shí)的狀態(tài)。由于確定了ADEN信號(hào),圖1中相應(yīng)的讀/寫控制線MRPC-0,MWRT-0,IORC-0或IOWC-0也被確定下來。ADEN信號(hào)也用于使連接主部件和總線的緩沖器成為允許狀態(tài),主部件可用該主部件在總線上讀/寫數(shù)據(jù)。在主部件完成總線訪問之后,則撤消REQUEST輸入信號(hào)。
在主部件撤消REQUEST輸入信號(hào)之前,仲裁器將一直保持ASSERT狀態(tài)。在間歇期間,如果另一主部件確定了它的REQUEST(請(qǐng)求)總線信號(hào),輸入到與它相連的仲裁器10,則該仲裁器就將確確定它的CBREQO輸出信號(hào),使輸入到當(dāng)前正在訪問總線的主部件的仲裁器的CBREQ信號(hào)被確定。如果當(dāng)前主部件沒有確定LOCK(控制)信號(hào)以保持對(duì)總線的控制,則在來自當(dāng)前主部件的REQUEST輸入被撤消之后,仲裁器根據(jù)下一個(gè)BCLK脈沖轉(zhuǎn)移到DISABLE(禁止)狀態(tài)F。在DISABLE狀態(tài)下,ADEN信號(hào)和MRDC,MWTC,IORC及IOWC輸出都被撤消。
在下一個(gè)BCLK脈沖時(shí),仲裁器10轉(zhuǎn)移到RELEASE BUS(釋放總線)狀態(tài)G,此時(shí)BPRO信號(hào)被確定,BREQ信號(hào)被撤消,使仲裁器可按串行或并行優(yōu)先級(jí)競(jìng)爭(zhēng)總線,串行還是并行由所用系統(tǒng)而定。BUSYO輸出信號(hào)也被撤消,表示總線不再為“忙”。
當(dāng)BUSYO信號(hào)被撤消后,仲裁器又轉(zhuǎn)回到IDLE(空閑)狀態(tài)A。從狀態(tài)A到狀態(tài)G,又回到狀態(tài)A這一完整的總線仲裁周期至少需要五個(gè)BLCK周期。一個(gè)主部件經(jīng)常要求重復(fù)地訪問總線,如在讀-修改-寫操作期間那樣。在這種情況下希望允許一臺(tái)主部件保持總線訪問權(quán),而不要在每次訪問總線之后對(duì)它進(jìn)行裁決。這可由主部件通過確定鎖定信號(hào)實(shí)現(xiàn)。一旦主部件獲得總線,就可以通過這個(gè)信號(hào)實(shí)現(xiàn)不經(jīng)裁決而保持對(duì)總線的控制。即使另一較高優(yōu)先級(jí)主部件發(fā)出訪問總線請(qǐng)求,也不需要進(jìn)行裁決。如果CBRQ功能是由斷開圖2中的開關(guān)SW4來激勵(lì)的,則除非另一臺(tái)較高優(yōu)先級(jí)主部件發(fā)出訪問總線請(qǐng)求,對(duì)一個(gè)反復(fù)訪問總線的主部件也可以不進(jìn)行裁決。
因此,如果主部件獲得了總線控制,仲裁器處于ASSERT狀態(tài)E,而且如果主部件生成了LOCK信號(hào)防止其他仲裁器對(duì)總線進(jìn)行裁決,那么當(dāng)REQUEST信號(hào)被撤消時(shí),仲裁器就轉(zhuǎn)移到MASTERIDLE(主部件空閑)狀態(tài)H。如果沒有其他主部件正在要求訪問總線,這由輸入到仲裁器10的CBREQ被撤消來表示,則仲裁器也將轉(zhuǎn)移到MASTER IDLE狀態(tài)。在主部件空閑狀態(tài)下,仲裁器繼續(xù)確定BUSYO和ADEN信號(hào),而MRDC,MWTC,IORC和IOWC輸出信號(hào)被撤消。ADEN信號(hào)將保持主部件與總線連接,BUSYO信號(hào)防止其他任一主部件訪問總線。
在主部件通過確定REQUEST輸入信號(hào)表示要再次訪問總線之前,仲裁器將一直保持為MASTER IDLE狀態(tài),主部件要求訪問總線之后,就再次強(qiáng)迫仲裁器返回到ASSERT狀態(tài),此時(shí)MRDC,MWTC,IORC或IOWC中的一條線被重新確定,以實(shí)現(xiàn)數(shù)據(jù)傳輸。只要主部件繼續(xù)確定鎖定信號(hào),或者只要沒有其他仲裁器確定CBEQ-0線,仲裁器就在ASSERT狀態(tài)和MASTER IDLE狀態(tài)之間連續(xù)不斷地轉(zhuǎn)移,ASSERT狀態(tài)和MASTER IDLE狀態(tài)分別對(duì)應(yīng)于REQUEST信號(hào)被確定和被撤消,這就允許一個(gè)主部件多次訪問總線而不被另一主部件中斷。鎖定信號(hào)一被解除并在CBEQ-0線被確定時(shí),仲裁器將從MASTER IDLE狀態(tài)或ASSERT狀態(tài)在下一次BCLK脈沖到來時(shí)轉(zhuǎn)移到DISABLE狀態(tài)。使用MASTER IDLE狀態(tài)可使主部件重復(fù)訪問總線而不必在它每次訪問之后對(duì)它進(jìn)行裁決,從而避免了裁決所需要的五個(gè)額外的BCLK周期。
本發(fā)明中的PAL12是由Monolithic Memories公司制造的20R4A型或16R4A型可編程陣列邏輯電路,參見圖4,由圖部分地說明了PAL包括一個(gè)可編程陣列邏輯電路。各種狀態(tài)輸出由一個(gè)邏輯電路產(chǎn)生,它包括一個(gè)或門50和一個(gè)驅(qū)動(dòng)D觸發(fā)器52的或門,或門50帶有來自陣列水平線經(jīng)過驅(qū)動(dòng)器的許多輸入線。觸發(fā)器的輸出Q提供給倒相器54,同時(shí)耦合出觸發(fā)器的倒相輸出
Q,經(jīng)過放大器56給矩陣提供倒相反饋和不倒相反饋輸出。觸發(fā)器D的時(shí)鐘輸入信號(hào)是引線62供給的。為了實(shí)現(xiàn)PAL邏輯,在水平和垂直導(dǎo)線的所要求的交叉處允許有交點(diǎn)。并且,圖4中的陣列要重復(fù)幾次,這里n是在順序排列的導(dǎo)線60上給出的狀態(tài)輸出的個(gè)數(shù)。可以認(rèn)為圖4中的垂直線代表來自順序排列的放大器(如放大器58)的輸入線,以及來自順序排列的反饋放大器(如放大器56)的反饋線。
下面是Monolithic Memories公司制造的20R4型PAL的熔斷連接一覽表。
表中符號(hào)說明X不熔斷熔絲(L,N,O) 一熔斷熔絲(H,P,1)O幻路熔絲(L,N,O) O幻路熔絲(H,P,1)熔斷熔絲個(gè)數(shù)=784在上述熔絲連結(jié)圖中,PAL輸出與水平線的關(guān)系如下線 PAL輸出9 MRDC10 MWTC24-30 ADEN32-33 BUSYO40 CBREQO48-50 BREQ57 IORD65 IOWR熔絲連結(jié)圖中垂直線與系統(tǒng)變量關(guān)系如下線 系統(tǒng)變量0 /WRITE1 WRITE2 BPRN4 /MEMORY5 MEMORY7 MRD9 LOCK11 MWR12 /REQUEST13 REQUEST15 ADEN
16 /INIT18 /BUSYO19 BUSYO21 BUSY27 BREQ31 IORC35 IOWC38 /CBREQ本發(fā)明的總線仲裁器使用一個(gè)可編程陣列邏輯電路,在一個(gè)低價(jià)的密集組件中實(shí)現(xiàn)仲裁邏輯。仲裁器允許主部件進(jìn)行多次總線訪問,而在各次訪問之間不對(duì)總線進(jìn)行裁決,仲裁器不必作調(diào)整就可以按并行或串行優(yōu)先級(jí)分解體制使用。
在對(duì)本發(fā)明的優(yōu)先實(shí)施方案被說明之后,顯然,對(duì)于那些本領(lǐng)域的技術(shù)人員來說,在各方面都不超出本發(fā)明就可以作出許多變型和修改。因此附加的權(quán)利要求
應(yīng)包括屬于本發(fā)明的實(shí)質(zhì)和范圍之內(nèi)的所有的變型和修改。
權(quán)利要求
1.控制主部件對(duì)總線進(jìn)行訪問的總線仲裁器,此仲裁器的特點(diǎn)是是包括一個(gè)可編程陣列邏輯電路,對(duì)它編程使之產(chǎn)生至少一個(gè)輸出信號(hào),這是為實(shí)現(xiàn)一種總線仲裁系統(tǒng)所必不可少的;以及對(duì)所述至少一個(gè)輸出信號(hào)進(jìn)行緩沖的手段。
2.控制主部件對(duì)總線進(jìn)行訪問的總線仲裁器,此仲裁器的特點(diǎn)是包括產(chǎn)生并行優(yōu)先級(jí)分解輸出信號(hào)的裝置,在上述仲裁器按并行優(yōu)先級(jí)分解體制使用的情況下,當(dāng)主部件要求訪問總線時(shí),輸出信號(hào)被確定,以便傳輸給優(yōu)先級(jí)分解電路;產(chǎn)生串行優(yōu)先級(jí)分解輸出信號(hào)的裝置,當(dāng)主部件要求訪問總線,并且以串行優(yōu)先級(jí)分解體制時(shí)它的訪問總線的優(yōu)先級(jí)比其他要求訪問總線的主部件都高時(shí),輸出信號(hào)被確定;以及將上述仲裁器可選擇地按串行或并行優(yōu)先級(jí)分解體制連接起來的裝置。
3.根據(jù)權(quán)利要求
2中所述的總線仲裁器,其中所述產(chǎn)生并行或串行優(yōu)先級(jí)分解輸出信號(hào)的裝置包括一個(gè)可編程陣列邏輯電路。
4.控制第一主部件對(duì)總線進(jìn)行訪問的總線仲裁器,此仲裁器的特點(diǎn)是包括產(chǎn)生并行優(yōu)先級(jí)分解輸出信號(hào)的可編程陣列邏輯電路,在所述仲裁器按并行優(yōu)先級(jí)分解體制使用的情況下,一旦上述第一主部件要求訪問總線時(shí),輸出信號(hào)就被確定,以便傳輸給優(yōu)先級(jí)分解電路;以及產(chǎn)生串行優(yōu)先級(jí)分解輸出信號(hào)的裝置,每當(dāng)上述并行信號(hào)被確定而輸入優(yōu)先級(jí)分解信號(hào)未被確定時(shí),上述串行信號(hào)都被確定。
5.根據(jù)權(quán)利要求
4中所述總線仲裁器,它的進(jìn)一步特點(diǎn)是包括持續(xù)確定輸入優(yōu)先級(jí)信號(hào)的裝置,在上述仲裁器是按串行優(yōu)先級(jí)分解體制使用的情況下,當(dāng)上述第一主部件比其他任何主部件有更高的訪問總線優(yōu)先級(jí)時(shí),輸入優(yōu)先級(jí)信號(hào)被持續(xù)確定。
6.權(quán)利要求
4中所述總線仲裁器,還包括把上述串行優(yōu)先級(jí)分解輸出信號(hào)與一外部電路有選擇地進(jìn)行連接或斷開的開關(guān)裝置。
7.權(quán)利要求
4中所述總線仲裁器,還包括把上述并行優(yōu)先級(jí)分解輸出信號(hào)與上述優(yōu)先級(jí)分解電路有選擇地進(jìn)行連接或斷開的開關(guān)裝置。
8.權(quán)利要求
4中所述總線仲裁器,還包括持續(xù)確定輸入優(yōu)先級(jí)信號(hào)的手段,在上述仲裁器是按串行優(yōu)先級(jí)分解體制使用的情況下,當(dāng)上述第一主部件比其他任何主部件有更高的訪問總線優(yōu)先級(jí)時(shí),輸入優(yōu)先級(jí)信號(hào)被持續(xù)確定;把上述串行優(yōu)先級(jí)分解輸出信號(hào)與一外部電路有選擇地進(jìn)行連接或斷開的開關(guān)裝置;以及把上述并行優(yōu)先級(jí)分解輸出信號(hào)與上述優(yōu)先級(jí)分解電路有選擇地進(jìn)行連接或斷開的開關(guān)裝置。
9.控制第一主部件對(duì)總線進(jìn)行訪問的總線仲裁器,此仲裁器的特點(diǎn)是包括一個(gè)可編程陣列邏輯電路,對(duì)它編程的目的是,一旦上述第一主部件請(qǐng)求訪問總線但還沒訪問時(shí),就確定公共總線請(qǐng)求輸出信號(hào),當(dāng)上述第一主部件獲得總線以后,直到檢測(cè)出一個(gè)被確定的公共總線請(qǐng)求輸入信號(hào)以前,一直保持總線訪問權(quán);以及把所述公共總線請(qǐng)求輸出信號(hào)置位在公共總線請(qǐng)求線上的緩沖裝置,以把所述公共總線輸出信號(hào)作為所述公共總線輸入信號(hào),作用到與其他主部件相連的其他仲裁器上,還把所述其他仲裁器所產(chǎn)生的公共總線輸出信號(hào)作為所述公共總線輸入信號(hào),作用到上述仲裁器上。
10.根據(jù)權(quán)利要求
9中所述總線仲裁器,還包括有選擇地確定上述公共總線的開關(guān)裝置,而不管公共總線請(qǐng)求輸出信號(hào)是否被上述其他仲裁器所確定。
專利摘要
控制主部件對(duì)總線進(jìn)行訪問的總線仲裁器包括,執(zhí)行仲裁邏輯的可編程陣列邏輯單元,和一組把邏輯單元的輸出與控制總線的各種線路連接起來的緩沖器。仲裁器產(chǎn)生總線訪問優(yōu)先級(jí)輸出信號(hào),該輸出信號(hào)可按串行或并行總線訪問優(yōu)先級(jí)分解方式使用。仲裁器包括一些開關(guān)裝置,使它的內(nèi)部連接可按兩種方式的任一種進(jìn)行,而不需要作電路調(diào)整。
文檔編號(hào)G06F13/362GK86102484SQ86102484
公開日1986年10月22日 申請(qǐng)日期1986年4月12日
發(fā)明者德萊爾·丹納 申請(qǐng)人:特克特郎尼克公司導(dǎo)出引文BiBTeX, EndNote, RefMan