總線仲裁的名詞解釋
系統(tǒng)中多個(gè)設(shè)備或模塊可能同時(shí)申請(qǐng)對(duì)總線的使用權(quán),為避免產(chǎn)生總線沖突,需由總線仲裁機(jī)構(gòu)合理地控制和管理系統(tǒng)中需要占用總線的申請(qǐng)者,在多個(gè)申請(qǐng)者同時(shí)提出總線請(qǐng)求時(shí),以一定的優(yōu)先算法仲裁哪個(gè)應(yīng)獲得對(duì)總線的使用權(quán)。
總線仲裁就是在多個(gè)總線主設(shè)備的環(huán)境中提出來的。在多處理機(jī)系統(tǒng)中,每個(gè)處理機(jī)都可以作為總線主設(shè)備,都要共享資源,它們都必須通過系統(tǒng)總線才能訪問其它資源,總線也可視為是一種重要的公共資源。由于每個(gè)處理機(jī)都會(huì)隨機(jī)地提出對(duì)總線使用的要求,這樣就可能發(fā)生總線競(jìng)爭(zhēng)現(xiàn)象。為了防止多個(gè)處理機(jī)同時(shí)控制總線,就要在總線上設(shè)立一個(gè)處理上述總線競(jìng)爭(zhēng)的機(jī)構(gòu),按優(yōu)先級(jí)次序,合理地分配資源,這就是總線仲裁問題。用硬件來實(shí)現(xiàn)總線分配的邏輯電路稱為總線仲裁器(Bus Arbiter)。它的任務(wù)是響應(yīng)總線請(qǐng)求,通過對(duì)分配過程的正確控制,達(dá)到最佳使用總線。
總線仲裁分類
按照總線仲裁電路的位置不同,仲裁方式分為集中式仲裁和分布式仲裁兩類:
1.集中式總線仲裁的控制邏輯基本集中在一處,需要中央仲裁器,分為鏈?zhǔn)讲樵兎绞?、?jì)數(shù)器定時(shí)查詢方式、獨(dú)立請(qǐng)求方式;
?。?) 鏈?zhǔn)讲樵兎绞?/p>
鏈?zhǔn)讲樵兎绞降闹饕攸c(diǎn):總線授權(quán)信號(hào)BG串行地從一個(gè)I/O接口傳送到下一個(gè)I/O接口。假如BG到達(dá)的接口無總線請(qǐng)求,則繼續(xù)往下查詢;假如BG到達(dá)的接口有總線請(qǐng)求,BG信號(hào)便不再往下查詢,該I/O接口獲得了總線控制權(quán)。離中央仲裁器最近的設(shè)備具有最高優(yōu)先級(jí),通過接口的優(yōu)先級(jí)排隊(duì)電路來實(shí)現(xiàn)。
鏈?zhǔn)讲樵兎绞降膬?yōu)點(diǎn): 只用很少幾根線就能按一定優(yōu)先次序?qū)崿F(xiàn)總線仲裁,很容易擴(kuò)充設(shè)備。
鏈?zhǔn)讲樵兎绞降娜秉c(diǎn): 對(duì)詢問鏈的電路故障很敏感,如果第i個(gè)設(shè)備的接口中有關(guān)鏈的電路有故障,那么第i個(gè)以后的設(shè)備都不能進(jìn)行工作。查詢鏈的優(yōu)先級(jí)是固定的,如果優(yōu)先級(jí)高的設(shè)備出現(xiàn)頻繁的請(qǐng)求時(shí),優(yōu)先級(jí)較低的設(shè)備可能長(zhǎng)期不能使用總線。
?。?)計(jì)數(shù)器定時(shí)查詢方式
總線上的任一設(shè)備要求使用總線時(shí),通過BR線發(fā)出總線請(qǐng)求。中央仲裁器接到請(qǐng)求信號(hào)以后,在BS線為“0”的情況下讓計(jì)數(shù)器開始計(jì)數(shù),計(jì)數(shù)值通過一組地址線發(fā)向各設(shè)備。每個(gè)設(shè)備接口都有一個(gè)設(shè)備地址判別電路,當(dāng)?shù)刂肪€上的計(jì)數(shù)值與請(qǐng)求總線的設(shè)備地址相一致時(shí),該設(shè)備 置“1”BS線,獲得了總線使用權(quán),此時(shí)中止計(jì)數(shù)查詢。
每次計(jì)數(shù)可以從“0”開始,也可以從中止點(diǎn)開始。如果從“0”開始,各設(shè)備的優(yōu)先次序與鏈?zhǔn)讲樵兎ㄏ嗤?,?yōu)先級(jí)的順序是固定的。如果從中止點(diǎn)開始,則每個(gè)設(shè)備使用總線的優(yōu)先級(jí)相等。
計(jì)數(shù)器的初值也可用程序來設(shè)置,這可以方便地改變優(yōu)先次序,但這種靈活性是以增加線數(shù)為代價(jià)的。
(3)獨(dú)立請(qǐng)求方式
每一個(gè)共享總線的設(shè)備均有一對(duì)總線請(qǐng)求線BRi和總線授權(quán)線BGi。當(dāng)設(shè)備要求使用總線時(shí),便發(fā)出該設(shè)備的請(qǐng)求信號(hào)。中央仲裁器中的排隊(duì)電路決定首先響應(yīng)哪個(gè)設(shè)備的請(qǐng)求,給設(shè)備以授權(quán)信號(hào)BGi。
獨(dú)立請(qǐng)求方式的優(yōu)點(diǎn):響應(yīng)時(shí)間快,確定優(yōu)先響應(yīng)的設(shè)備所花費(fèi)的時(shí)間少,用不著一個(gè)設(shè)備接一個(gè)設(shè)備地查詢。其次,對(duì)優(yōu)先次序的控制相當(dāng)靈活,可以預(yù)先固定也可以通過程序來改變優(yōu)先次序;還可以用屏蔽(禁止)某個(gè)請(qǐng)求的辦法,不響應(yīng)來自無效設(shè)備的請(qǐng)求。
2.分布式仲裁不需要中央仲裁器,每個(gè)潛在的主方功能模塊都有自己的仲裁號(hào)和仲裁器。當(dāng)它們有總線請(qǐng)求時(shí),把它們唯一的仲裁號(hào)發(fā)送到共享的仲裁總線上,每個(gè)仲裁器將仲裁總線上得到的號(hào)與自己的號(hào)進(jìn)行比較。如果仲裁總線上的號(hào)大,則它的總線請(qǐng)求不予響應(yīng),并撤消它的仲裁號(hào)。最后,獲勝者的仲裁號(hào)保留在仲裁總線上。顯然,分布式仲裁是以優(yōu)先級(jí)仲裁策略為基礎(chǔ)。
總線仲裁的分配技術(shù)
對(duì)總線仲裁問題的解決是以優(yōu)先級(jí)(又稱優(yōu)先權(quán))的概念為基礎(chǔ)的,通常有三種總線分配的優(yōu)先級(jí)技術(shù)──串聯(lián)、并聯(lián)和循環(huán)。
串聯(lián)優(yōu)先級(jí)判別法

?
圖中有Ⅰ、Ⅱ、…、N等N個(gè)模塊,都可作為總線主設(shè)備,各個(gè)模塊中的“請(qǐng)求”輸出端采用集電極(漏極)開路門,“請(qǐng)求”端用“線或”方式接到仲裁器“請(qǐng)求”輸入端,每個(gè)模塊的“忙”端同仲裁器的“總線忙”狀態(tài)線相連,這是一個(gè)輸入輸出雙向信號(hào)線。當(dāng)一個(gè)模塊占有總線控制權(quán)時(shí),該模塊的“忙”信號(hào)端成為輸出端,向系統(tǒng)的“忙”狀態(tài)線送出有效信號(hào)(例如低電平)。其它模塊的“忙”信號(hào)端全部作為輸入端工作,檢測(cè)“忙”線上狀態(tài)。一個(gè)模塊若要提出總線“請(qǐng)求”,其必要條件是選檢測(cè)到“忙”信號(hào)輸入端處于無效狀態(tài)。與此相應(yīng),仲裁器接受總線請(qǐng)求輸入的條件,也是“忙”線處于無效狀態(tài)。
進(jìn)一步可以規(guī)定仲裁器輸出“允許”信號(hào)的條件首先是“忙”線無效,表示總線沒有被任一模塊占用;其次才是有模塊提出了總線請(qǐng)求?!霸试S”信號(hào)在鏈接的模塊之間傳輸,直到提出總線“請(qǐng)求”的那個(gè)模塊為止。這里用“允許”信號(hào)的邊沿觸發(fā),它把共享總線的各模塊要使用總線時(shí),便發(fā)生信號(hào)禁止后面的部件使用總線。通過這種方式,就確定了請(qǐng)求總線各模塊中優(yōu)先級(jí)最高的模塊。顯然,在這種方式中,當(dāng)優(yōu)先級(jí)高的模塊頻繁請(qǐng)求時(shí),優(yōu)先級(jí)別低的模塊可能很長(zhǎng)時(shí)間都無法獲得總線。一旦有模塊占用總線后,“允許”信號(hào)就不再存在。
并聯(lián)優(yōu)先級(jí)別判別法

?
圖中有N個(gè)模塊,都可作為總線主設(shè)備,每個(gè)模塊都有總線“請(qǐng)求”線和總線“允許”線,模塊之間是獨(dú)立的,沒有任何控制關(guān)系。這些信號(hào)接到總線優(yōu)先控制器(仲裁器),任一模塊使用總線,都要通過“請(qǐng)求”線向仲裁器發(fā)出“請(qǐng)求”信號(hào)。仲裁器一般由一個(gè)優(yōu)先級(jí)編碼器和一個(gè)譯碼器組成。該電路接到某個(gè)模塊或多個(gè)模塊發(fā)來的請(qǐng)求信號(hào)后,首先優(yōu)先級(jí)編碼器進(jìn)行編碼,然后由譯碼器產(chǎn)生相應(yīng)的輸出信號(hào),發(fā)往請(qǐng)求總線模塊中優(yōu)先級(jí)最高的模塊,并把“允許”信號(hào)送給該模塊。被選中的模塊撤銷總線“請(qǐng)求”信號(hào),輸出總線“忙”信號(hào),通知其余模塊,總線已經(jīng)占用。在一個(gè)模塊占用總線的傳輸結(jié)束以后,就把總線“忙”信號(hào)撤銷,仲裁器也撤銷“允許”信號(hào)。根據(jù)各請(qǐng)求輸入的情況,仲裁器重新分配總線控制權(quán)。
循環(huán)優(yōu)先級(jí)判別法
循環(huán)優(yōu)先級(jí)判別方法類似于并聯(lián)優(yōu)先級(jí)判別方法,只是其中的優(yōu)先級(jí)是動(dòng)態(tài)分配的,原來的優(yōu)先級(jí)編碼器由一個(gè)更為復(fù)雜的電路代替,該電路把占用總線的優(yōu)先級(jí)在發(fā)出總線請(qǐng)求的那些模塊之間循環(huán)移動(dòng),從而使每個(gè)總線模塊使用總線的機(jī)會(huì)相同。
責(zé)任編輯:YYX
電子發(fā)燒友App




















評(píng)論