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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 微處理器和多處理器片上系統(tǒng)MPSOC設(shè)計的新紀(jì)元

          微處理器和多處理器片上系統(tǒng)MPSOC設(shè)計的新紀(jì)元

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




          圖 7: 硬件數(shù)據(jù)隊(duì)列機(jī)制

          數(shù)據(jù)隊(duì)列對任務(wù)間的性能有一定的影響。如果數(shù)據(jù)隊(duì)列生產(chǎn)者和消費(fèi)者速率高度一致,那么隊(duì)列長度可以比較短。如果隊(duì)列生產(chǎn)者或者消費(fèi)者速率不同,那么需要設(shè)計深度隊(duì)列來彌補(bǔ)二者之間的失配。

          由于處理器執(zhí)行部件的隊(duì)列接口對商用處理器核而言具有極其重要的特性,因此更加深入地對接口機(jī)制進(jìn)行一些探討是非常必要的。數(shù)據(jù)隊(duì)列接口通過如下TIE語法格式添加到Xtensa LX處理器中:

          queue in|out

          上面語法格式定義了數(shù)據(jù)隊(duì)列的名稱、寬度和隊(duì)列的方向。一個Xtensa LX處理器可以包含300多個隊(duì)列,每個隊(duì)列寬度可以高達(dá)1024位。設(shè)計人員可以采用數(shù)據(jù)隊(duì)列來對處理器性能進(jìn)行折中,即在快速、窄帶處理器接口和慢速、寬帶接口之間進(jìn)行折中以獲得系統(tǒng)高帶寬和高性能的目的。

          圖8為TIE隊(duì)列和簡單的Designware FIFO隊(duì)列之間的連接,這種連接方式非常容易。TIE隊(duì)列的push 和 pop操作由FIFO的隊(duì)列空和隊(duì)列滿狀態(tài)信號進(jìn)行門控,這樣可以使設(shè)計與Designware的 FIFO控制模式保持一致。



          圖8:采用TIE隊(duì)列的Designware同步FIFO示意圖 (diag_n輸入驅(qū)動為高且almost_full、 half_full、almost_empty和 error輸出均未用)

          TIE隊(duì)列可以和寄存器操作數(shù)、系統(tǒng)狀態(tài)或者存儲器接口那樣直接為TIE指令提供輸入和輸出操作數(shù)。下面的TIE語法格式建立了一條新的指令,該指令對輸入數(shù)據(jù)隊(duì)列中的數(shù)據(jù)進(jìn)行累加,然后送給寄存器文件。

          operation QACC {inout AR ACC} {in IQ1} {

          assign ACC = ACC + IQ1;

          }

          圖9表示TIE隊(duì)列是如何像其它指令操作數(shù)那樣在Xtensa LX處理器中使用的。



          圖9:TIE隊(duì)列作為指令操作數(shù)使用

          Xtensa LX處理器本身包括一個兩項(xiàng)的數(shù)據(jù)緩沖器,用于緩沖系統(tǒng)設(shè)計人員定義的每個TIE隊(duì)列。每個隊(duì)列的兩項(xiàng)數(shù)據(jù)緩沖器所占用的面積大大小于一個加載/存儲處理單元。因此,TIE隊(duì)列接口所占的處理器面積是完全受到設(shè)計人員所控制的,并且可以按照需要增大或者減小。

          數(shù)據(jù)流直達(dá)處理

          數(shù)據(jù)端口和數(shù)據(jù)隊(duì)列與可配置處理器執(zhí)行部件直接相連,這種互連允許處理器應(yīng)用數(shù)據(jù)流直達(dá)技術(shù)進(jìn)行處理,而那些應(yīng)用在以前是為手工編寫的RTL代碼邏輯塊預(yù)留的。將數(shù)據(jù)隊(duì)列和輸出隊(duì)列接口與設(shè)計人員定義的執(zhí)行部件相結(jié)合就可以建立一個在處理器內(nèi)部由固件控制的處理模塊,該模塊可以從輸入數(shù)據(jù)隊(duì)列中讀取數(shù)據(jù),對這些數(shù)據(jù)執(zhí)行計算,然后按照流水線方式每完成一個“輸入-計算-輸出”周期就將計算結(jié)果輸出。圖10表示一個簡單的系統(tǒng)設(shè)計,該系統(tǒng)有兩個256位的輸入數(shù)據(jù)隊(duì)列,一個256位的輸出數(shù)據(jù)隊(duì)列和一個256位的加法器/多路器執(zhí)行部件。盡管該處理器擴(kuò)展是在固件模式下進(jìn)行控制的,但是其操作可以將處理器的存儲器總線和加載/存儲單元旁路以便可以獲得同硬件一樣的處理速度。



          圖10:通過在可配置處理器中增加數(shù)據(jù)流直達(dá)處理模式來將執(zhí)行部件和多個隊(duì)列相結(jié)合

          即使在處理器擴(kuò)展中使用大量的硬件,但在定義時也只是僅僅寫如下四行TIE代碼而已:

          queue InData1 256 in

          queue InData2 256 in

          queue OutData 256 out

          operation QADD {} { in InData1, in InData2, in SumCtrl, out OutData} { assign OutData = SumCtrl ? (InData1 + InData2) : InData1; }

          前三行代碼定義了一個256位的輸入隊(duì)列和一個256位的輸出隊(duì)列,第四行定義了一條新的處理器指令QADD,該指令執(zhí)行256位的加法運(yùn)算或者將256位的數(shù)據(jù)從輸入隊(duì)列送到輸出隊(duì)列。通過TIE語言定義的指令告訴Xtensa處理器產(chǎn)生器自動為處理器增加相應(yīng)的硬件,同時為處理器軟件開發(fā)工具增添一條新指令。

          用于多處理器片上系統(tǒng)MPSOC設(shè)計的處理器核

          可配置處理器的出現(xiàn)使得片上系統(tǒng)SOC設(shè)計人員可以建立起一種嶄新的且非常靈活的硬件模塊構(gòu)建方法。同傳統(tǒng)的固定指令集體系結(jié)構(gòu)ISA處理器相比,可配置處理器通過添加用戶定制的執(zhí)行功能部件、寄存器和寄存器堆以及專用通信接口能夠獲得很高的系統(tǒng)性能。

          自從1971年第一個微處理器研制成功至今已經(jīng)30多年,由于受固定處理器核的束縛,導(dǎo)致可配置處理器的發(fā)明無法實(shí)現(xiàn)。對于二十一世紀(jì)的片上系統(tǒng)SOC設(shè)計而言,這些制約因素已經(jīng)不再存在,而且這些過時的約束也不再限制系統(tǒng)設(shè)計人員對處理器的使用。

          上一頁 1 2 3 下一頁

          評論


          技術(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); })();