新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 并行實(shí)時(shí)處理系統(tǒng)中總線仲裁問題的研究及實(shí)現(xiàn)

并行實(shí)時(shí)處理系統(tǒng)中總線仲裁問題的研究及實(shí)現(xiàn)

作者: 時(shí)間:2012-12-04 來源:網(wǎng)絡(luò) 收藏


3.2多處理器的分析
通常包括總線仲裁策略和總線仲裁方式兩方面內(nèi)容。仲裁機(jī)制的合理、靈活和快捷,以及可實(shí)現(xiàn)性和可擴(kuò)展性是評價(jià)一個(gè)的準(zhǔn)則。
多處理器系統(tǒng)中總線仲裁方式通常有集中式仲裁和分布式仲裁兩種方式。所謂集中式仲裁,是指總線仲裁部件的功能由一個(gè)獨(dú)立于各個(gè)模塊的附加部件集中完成,而如果總線仲裁功能由不斷改變的的總線當(dāng)前控制者來完成和需要各個(gè)模塊共同完成,則稱之為分布式仲裁。
集中式仲裁方式結(jié)構(gòu)如圖2所示


  每個(gè)模塊都有獨(dú)立的請求線和識(shí)別線與公共的仲裁部件連接。仲裁部件根據(jù)相應(yīng)的總線仲裁策略來選定下一個(gè)總線控制者。集中式仲裁的優(yōu)點(diǎn)在于,這種仲裁方式電路實(shí)現(xiàn)較為簡單,仲裁器件延時(shí)小,具有高速的特點(diǎn)。但是由于整個(gè)結(jié)構(gòu)中只采用一個(gè)仲裁部件,集中式仲裁方式容錯(cuò)能力較差,一旦仲裁部件發(fā)生故障,整個(gè)總線仲裁模塊將不能工作,而且一旦設(shè)計(jì)完成,它將不能再添加新的總線申請者,可擴(kuò)展能力差,而這兩點(diǎn)正是系統(tǒng)性能的瓶頸。
分布式仲裁方式結(jié)構(gòu)如圖3所示,每個(gè)模塊都具有一相對獨(dú)立的仲裁部件,但每個(gè)模塊的仲裁部件只輸出識(shí)別線送本模塊。所有仲裁部件電路基本相同,分布式仲裁方式所需電路比集中式仲裁方式要較為復(fù)雜,而且仲裁速度沒有集中式仲裁速度快,但它具有下列明顯的優(yōu)點(diǎn):


(1)只需要較少的物理連線來執(zhí)行仲裁算法。
(2)當(dāng)其中一個(gè)仲裁部件發(fā)生故障時(shí),不影響其他仲裁部件的工作,增加了系統(tǒng)的可靠性。
(3)仲裁器的狀態(tài)可以在總線上監(jiān)視到,這將有助于系統(tǒng)故障的診斷。
  總線仲裁策略中,最常用的是基于基于優(yōu)先權(quán)的仲裁策略。所謂基于優(yōu)先權(quán)的策略是指系統(tǒng)給每一個(gè)總線申請者指定一個(gè)優(yōu)先級(jí)編號(hào),當(dāng)多個(gè)總線申請同時(shí)發(fā)生時(shí),總線仲裁邏輯 將按照總線申請者優(yōu)先級(jí)編號(hào)來分配總線的使用權(quán)。實(shí)際中常用的有固定優(yōu)先級(jí)策略和循環(huán)優(yōu)先級(jí)策略。
固定優(yōu)先級(jí)策略是將多個(gè)仲裁申請者的優(yōu)先級(jí)按一定順序固定下來,總線仲裁邏輯按照該這個(gè)固定的優(yōu)先級(jí)順序來分配某一時(shí)刻的總線使用權(quán)。這種策略適合于多個(gè)處理器任務(wù)的復(fù)雜度和重要度不同,需要保證有重要任務(wù)的處理器優(yōu)先占用總線的情況。循環(huán)優(yōu)先級(jí)策略是指當(dāng)占有總線的模塊一旦釋放總線,其優(yōu)先級(jí)將自動(dòng)變?yōu)樽畹停鴥?yōu)先級(jí)緊排其后的總線申請者將獲取總線控制權(quán),并且它們的優(yōu)先級(jí)依次上升,在長時(shí)間段中,這樣可以保證多個(gè)總線申請者的對總線申請的公平性。這種策略適用于多個(gè)處理器的工作任務(wù)相同,任務(wù)的重要程度也相似的情況。這兩種仲裁策略都會(huì)遇到如下的問題:
(1)當(dāng)高優(yōu)先級(jí)的處理器占用總線時(shí)間過長導(dǎo)致總線無法釋放時(shí),其他優(yōu)先級(jí)低的處理器將無法獲得總線控制權(quán)。
(2)當(dāng)優(yōu)先級(jí)低的處理器出現(xiàn)緊急情況需要進(jìn)行總線操作時(shí),將無法及時(shí)占用總線。

3.3針對本系統(tǒng)的總線仲裁機(jī)制的解決方案
  對于本文的多DSP并行處理系統(tǒng)(見圖1),由于DSP中內(nèi)置有獨(dú)立的仲裁邏輯部件,再加上系統(tǒng)上各個(gè)功能模塊都通過總線相連接,因此在總線操作上非常適合采用上面提到的分布式仲裁方式,而且電路實(shí)現(xiàn)上也較為簡便,幾乎不需要增加額外的器件。
在仲裁策略的選擇上,由于系統(tǒng)在工作時(shí),必須指定一片處理器作為主處理器,由它來完成系統(tǒng)初始化,數(shù)據(jù)向從片分發(fā)與回收,與外部主機(jī),設(shè)備通信等繁雜的任務(wù),所以需要它在總線操作上優(yōu)先級(jí)始終保持最高。而其它從處理器由于任務(wù)基本相同,且相對單一,所以從處理器的優(yōu)先級(jí)可以被設(shè)定為比主處理器較低一級(jí),并采用循環(huán)優(yōu)先級(jí)策略,以保證其總線申請的公平性。這樣就構(gòu)成了基于分布式并行仲裁方式下的優(yōu)先級(jí)分層仲裁策略,優(yōu)先級(jí)層可以根據(jù)具體的任務(wù)的重要程度分為多個(gè)層次。如圖4所示:


  解決總線長時(shí)間占用導(dǎo)致總線死鎖的問題,可以采用設(shè)置總線占用時(shí)限的方式來解決。當(dāng)某一處理器(包括主處理器在內(nèi))如果占用總線時(shí)間過長,而其它處理器又發(fā)出了總線請求,此時(shí)總線仲裁邏輯將讀取此時(shí)總線占用的時(shí)間,如果超過設(shè)定的時(shí)限,則將總線控制權(quán)自動(dòng)從當(dāng)前占用總線的處理器移交給其它申請總線的處理器中優(yōu)先級(jí)最高的那片。從而避免了總線死鎖的問題。
解決低優(yōu)先級(jí)處理器緊急請求占用總線的問題,可以通過處理器的中斷廣播來方式來實(shí)現(xiàn)。在當(dāng)某一優(yōu)先級(jí)低的處理器,如某一從片需要緊急占用總線,那么它向其他所有處理器發(fā)出占用總線的中斷請求,當(dāng)其他從片收到該中斷請求后,將開始檢查自己是否占用總線,如果沒有占用總線,則繼續(xù)執(zhí)行自己的任務(wù),如果占用總線,則將總線控制權(quán)移交給提出申請的從處理器。當(dāng)該從片完成自己的緊急任務(wù)后,將再次發(fā)出一個(gè)中斷信號(hào),并將總線控制權(quán)歸還給原來的控制總線的處理器,重新獲得總線控制權(quán)的處理器將繼續(xù)執(zhí)行原來未完成的任務(wù)。
  這樣,上節(jié)所提到的兩個(gè)問題都得到了解決,滿足了實(shí)時(shí)環(huán)境下共享總線的多DSP系統(tǒng)的總線仲裁要求,并保證了總線仲裁的性能和可靠性。

4、具體設(shè)計(jì)實(shí)現(xiàn)
  本文中的多DSP分布式實(shí)時(shí)并行處理系統(tǒng)采用AD公司的ADSP21160芯片作為其中心處理模塊。該芯片性能描述如下:
主頻: 100M Hz 雙運(yùn)算單元。
數(shù)據(jù)總線64位,地址總線32位。(包括內(nèi)部總線和外部總線)
內(nèi)置雙端口SRAM,存儲(chǔ)空間4Mbit,分為兩個(gè)內(nèi)存模塊。
外部端口包括2個(gè)串口,6個(gè)鏈路口,64位寬的外部口,一共14個(gè)DMA通道。
三套內(nèi)部總線(PM DM總線和I/O總線)
最多支持6片處理器直接通過總線緊耦合互聯(lián),由于其自身提供了較為必要的仲裁邏輯電路,所以幾乎不需要外加仲裁電路,這為設(shè)計(jì)帶來了很大的便利。


評論


技術(shù)專區(qū)

關(guān)閉