<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 高帶寬嵌入式應(yīng)用中SoC微控制器的總線設(shè)計

          高帶寬嵌入式應(yīng)用中SoC微控制器的總線設(shè)計

          作者: 時間:2012-02-15 來源:網(wǎng)絡(luò) 收藏

            共享總線的概念并不能滿足SoC中的這些要求。在典型的AHB設(shè)計中,總線主控是總線上全部的主要資源,也就是說,當(dāng)總線空閑時,它們可向總線請求完成一個任務(wù)所需要的時間。但在基于ARM的SoC中,程序設(shè)計者不能直接控制當(dāng)它們掌管總線時可得到多少總線資源。

            共享總線架構(gòu)用多種方式來區(qū)分這些操作的優(yōu)先次序,包括:菊花鏈仲裁、集中式并行仲裁、基于自選或沖突監(jiān)測的分布式仲裁以及帶多個總線請求的總線仲裁。但當(dāng)指定的主控接管總線后,其他操作就會擱置在一邊。目前還沒有一種機(jī)制能夠讓多個資源同時訪問總線,使其既滿足應(yīng)用要求,又不會影響其他重要操作提供確定性及實時性響應(yīng)的能力。

            在AMBA環(huán)境中處理這類情況的一種通用方法是使用仲裁通道。如果有六個總線主控,總線便設(shè)計成有六個仲裁通道。但是,片上仲裁邏輯根據(jù)請求訪問該總線的主控數(shù)目來分配這些通道,而不是把每個通道指定給某個特定的主控。如果有四個主控請求訪問總線,則這六個通道會在這四個主控之間進(jìn)行分配,確保每個主控有平等的機(jī)會訪問該總線。

            然而,這并不能解決如何分配足夠的總線帶寬以完成某一特定任務(wù)這一基本問題。若其中一個操作需要三個通道,而其它操作總共只需要兩個通道,則每一種操作將會分配到相同數(shù)量的可用通道空間。其結(jié)果是,有的通道沒有充分利用(甚至根本沒用到),而有的則超負(fù)荷使用,影響SoC在極低延遲內(nèi)對事件進(jìn)行確定性響應(yīng)的能力。

            可編程總線帶寬控制系統(tǒng)

            因此,需要一種可編程的總線帶寬分配方案,在某一特定時刻為某一特定的主控分配其所需的總線配置,并將剩余的總線空間分配給其它可能要求訪問該總線的主控。由于這種方案可能隨時間改變,因此需要一種機(jī)制以便按照常規(guī)原理重新分配總線資源。

            NetSilicon公司已開發(fā)一種新的帶寬控制系統(tǒng)來取代采用AMBA架構(gòu)的帶寬控制系統(tǒng)。該系統(tǒng)采用一個16槽位旋轉(zhuǎn)優(yōu)先級總線仲裁器(見圖1),這種仲裁器包含一套可編程偽隨機(jī)或旋轉(zhuǎn)優(yōu)先級緩存替換算法。例如,在NetSilicon的 NS9750(見圖2)中,AHB上的六個通道不是通過競爭進(jìn)行分配,而是根據(jù)16槽位總線分配方案由六個總線主控分享。通過系統(tǒng)控制模塊中的專用寄存器,系統(tǒng)開發(fā)者目前可采用三種方法在SoC中分配總線資源。

            在最高層次,某特定總線主控每次發(fā)出的一個訪問請求,都會按請求順序得到響應(yīng),直到這六個主控全被輪詢。根據(jù)所需帶寬,每一個總線主控可分配到一定數(shù)目的槽位并獨占這些槽位。例如在NS9750中,四個槽位分配給CPU,四個槽位給以太網(wǎng),四個槽位給BBus橋,三個槽位給LCD,三個槽位給PCI/卡總線,但在系統(tǒng)運行期間系統(tǒng)軟件會根據(jù)需要重新評估這一分配方案,這可用來確定AHB總線周期的數(shù)目。如果在下一個評估周期中情況沒有發(fā)生變化,則沿用以前的設(shè)置,如果情況有變,則協(xié)定新的總線主控槽位分配方案。

            為對總線資源進(jìn)行更精確的控制,這種循環(huán)仲裁方案提供兩個附加層次的可編程性能:分配給ARM CPU的總線帶寬大小以及這16個槽位中每個槽位的帶寬利用率。

            NS9750的ARM926EJ-S內(nèi)核作為總線主控時不能控制所有總線資源,缺省情況下它只能控制50%的總線帶寬或16個槽位中的8個,這樣可確保其它五個總線主控可以一直占有至少50%的總線帶寬。不過,在程序設(shè)計者直接控制下,它可以按照指令將其部分帶寬釋放給另一個總線主控,或者,在該總線仲裁周期內(nèi)或程序設(shè)計者認(rèn)為必要的任何周期中控制另外的槽位。

            程序設(shè)計者也可為每個槽位選擇帶寬利用系數(shù)——100%、75%、50%或25%。這一選擇是通過控制何時以及以怎樣的順序分配每個槽位的訪問來實現(xiàn)的,系數(shù)為25%,則這個槽位每四個周期只能被輪詢一次;系數(shù)為50%,則每兩個周期輪詢一次;75%,則每四個周期輪詢?nèi)巍?/FONT>

            對旋轉(zhuǎn)總線仲裁器進(jìn)行編程

            程序設(shè)計者可通過包含在系統(tǒng)控制模塊內(nèi)的幾個寄存器定義多種選項。第一個寄存器是16入口總線請求配置寄存器,它的每一個入口代表一個主控和一個準(zhǔn)許槽位的總線請求。每一個請求/準(zhǔn)許槽位每次只能分配給一個總線主控,但根據(jù)總線主控的帶寬要求,每個總線主控可同時連接多個請求/準(zhǔn)許槽位。當(dāng)多個通道分配給一個主控時,這些通道應(yīng)均勻分布在這16個通道當(dāng)中。

            每個請求/準(zhǔn)許槽位都有一個兩位的帶寬壓縮字段(BRF),用以確定每個槽位能對系統(tǒng)總線進(jìn)行仲裁的頻率(100%、75%、50%或25%)。BRC將總線請求信號輸出到第二個16入口總線請求寄存器(BRR),默認(rèn)情況下,BRC中未被分配的槽位將阻止用任何總線請求信號設(shè)置相應(yīng)的BRR入口。

            第四個寄存器用于存儲哪個總線主控有數(shù)據(jù)在等待向AHB傳輸,而第五個寄存器則是程序設(shè)計者用來為每個總線請求和準(zhǔn)許槽位(分配給特定總線主控)分配權(quán)重值。



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();