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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 全面解析Nios Ⅱ嵌入式軟核多處理器系統(tǒng)

          全面解析Nios Ⅱ嵌入式軟核多處理器系統(tǒng)

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

           

          本文引用地址:http://www.ex-cimer.com/article/236502.htm

          3.4 設(shè)置啟動(dòng)地址

          在多處理器系統(tǒng)中,每個(gè)處理器在存儲(chǔ)器中必須擁有自己的啟動(dòng)區(qū)域,多個(gè)處理器不能從同一非易失性存儲(chǔ)器的同一地址啟動(dòng)。啟動(dòng)存儲(chǔ)器類似程序存儲(chǔ)器一樣也可以進(jìn)行分區(qū),但段和鏈接的概念不同,因?yàn)橥ǔR龑?dǎo)代碼只是復(fù)制到它實(shí)際的程序代碼被鏈接在RAM中,然后跳轉(zhuǎn)到該程序代碼處。為了從同一非易失性存儲(chǔ)器的不同區(qū)域啟動(dòng)多個(gè)處理器,設(shè)置每個(gè)處理器復(fù)位地址,這個(gè)地址就是啟動(dòng)該處理器的位置,啟動(dòng)區(qū)域要留出足夠的空間存放啟動(dòng)代碼。由于沒有支持機(jī)制多個(gè)處理器無法直接訪問CFI FLASH存儲(chǔ)器,需要使用一個(gè)CFI FLASH控制器,處理器通過CFI FLASH控制器讀取或?qū)懭氲紺FI FLASH存儲(chǔ)器。如果多個(gè)處理器啟動(dòng)在同一個(gè)CFI FLASH存儲(chǔ)器。為確保安全訪問,必須刪除一個(gè)主控處理器之外的CFI FLASH 存儲(chǔ)器alt_main()函數(shù)所有初始化的驅(qū)動(dòng)程序,并確認(rèn)啟動(dòng)前完成所有其他處理器在CFIFLASH存儲(chǔ)器的程序初始化。圖3所示六個(gè)處理器從一個(gè)FLASH存儲(chǔ)器啟動(dòng)的映射。

           

           

          3.5 共享外設(shè)資源

          多個(gè)處理器共享外設(shè)存在嚴(yán)重的問題。共享外設(shè)的最大的問題是中斷,如果允許一個(gè)外設(shè)中斷且所有處理器共享它,沒有可靠的方法保證哪一個(gè)處理器首先響應(yīng)中斷且為哪個(gè)外設(shè)服務(wù)。此外,如果外設(shè)是用來作為多處理器的輸入設(shè)備,很難確定哪個(gè)處理器應(yīng)該從設(shè)備中接受輸入信息。多處理器系統(tǒng)共享外設(shè)資源的方式,是系統(tǒng)中的外設(shè)僅被一個(gè)處理器訪問,如果其他處理器需要使用外設(shè),最好是使用硬件先進(jìn)先出(FIFO)或消息緩沖區(qū)互斥保護(hù)。創(chuàng)建多處理器系統(tǒng)時(shí),僅對(duì)需要通信的處理器和外設(shè)之間進(jìn)行連接。例如,如果一個(gè)處理器運(yùn)行僅使用一個(gè)片上存儲(chǔ)器,該處理器沒有必要與系統(tǒng)中任何其他存儲(chǔ)器連接。處理器與存儲(chǔ)器的分離,不使用物理斷開連接,這樣可節(jié)約FPGA資源,保證處理器不會(huì)破壞存儲(chǔ)器的數(shù)據(jù)。

          共享資源多處理器與各種組件連接是設(shè)計(jì)中的關(guān)鍵環(huán)節(jié),要驗(yàn)證每個(gè)處理器及所需組件的連接是否正確。多數(shù)組件最好是由單一的處理器管理。例如處理器A要求一個(gè)外設(shè)的服務(wù),而該外設(shè)與處理器B連接并由處理器B 管理,處理器A 要求對(duì)該外設(shè)進(jìn)行操作,處理器A 必須請(qǐng)求處理器B.這樣可以使用處理器互斥保護(hù)的共享片上存儲(chǔ)器,用于個(gè)兩處理器之間的通信,達(dá)到多處理器共享外設(shè)的目的。

          在多處理器系統(tǒng)中,每個(gè)從外設(shè)可以占據(jù)相同的基地址不會(huì)發(fā)生沖突,只要每個(gè)外設(shè)是被不同的處理器控制。因?yàn)槊總€(gè)從外設(shè)不必一定被每個(gè)處理器控制。如果處理器A被連接到映射地址為0x00008a00的一個(gè)從外設(shè),處理器B也可以被連接到映射地址0x00008a00另一個(gè)從外設(shè),只要處理器A是沒有連接到處理器B的從外設(shè),處理器B 沒有連接到處理器A 的從外設(shè),不會(huì)因?yàn)閺耐庠O(shè)占據(jù)相同的基地址而發(fā)生沖突。圖4方框圖顯示多處理器系統(tǒng)中不同的從外設(shè)組件映射到同一個(gè)基地址的示例。

           

           

          4 系統(tǒng)調(diào)試及軟件設(shè)計(jì)

          Nios Ⅱ SBT for Eclipse 工具包括了許多功能,它可以進(jìn)行Nios Ⅱ多處理器系統(tǒng)的軟件開發(fā)。能同時(shí)對(duì)多個(gè)Nios Ⅱ處理器進(jìn)行調(diào)試會(huì)話,也可單獨(dú)暫停和恢復(fù)每個(gè)處理器的運(yùn)行,單獨(dú)設(shè)置每處理器的斷點(diǎn)。如果一個(gè)處理器遇到一個(gè)斷點(diǎn),它不會(huì)停止或影響其他處理器的操作。Nios Ⅱ SBT for Eclips對(duì)多個(gè)處理器系統(tǒng)具有可同時(shí)進(jìn)行在片調(diào)試的能力。

          系統(tǒng)軟件設(shè)計(jì)應(yīng)注意的問題,在設(shè)計(jì)Nios Ⅱ多處理器系統(tǒng)的軟件時(shí),必須要考慮系統(tǒng)硬件結(jié)構(gòu)的特點(diǎn)以及啟動(dòng)地址和異常地址的設(shè)置。設(shè)計(jì)調(diào)試運(yùn)行多處理器系統(tǒng)軟件與單處理器系統(tǒng)相似,一定要清楚每個(gè)處理器的復(fù)位地址、異常地址,CPUID寄存器的值以及存儲(chǔ)器的類型。多個(gè)處理器使用同一個(gè)程序存儲(chǔ)器,而每個(gè)處理器的程序必須存放在不同的區(qū)域,用異常地址為每個(gè)處理器存放程序確定內(nèi)存區(qū)域,使用QSYS為每個(gè)處理器設(shè)置異常地址。

          5 結(jié)語

          SoPC技術(shù)的出現(xiàn)帶來全新的嵌入式處理器硬件的設(shè)計(jì)理念,使得設(shè)計(jì)嵌入多處理系統(tǒng)硬件電路的有了多種方法和途徑。實(shí)例Nios Ⅱ嵌入式軟核六處理器系統(tǒng)的方案具有一定可行性和實(shí)用性。如何提高嵌入式多個(gè)處理器系統(tǒng)的效率,實(shí)現(xiàn)資源的最佳配置,簡(jiǎn)化系統(tǒng)結(jié)構(gòu)、降低成本和功耗,怎樣合理選擇時(shí)鐘、I/O、其他外設(shè)等問題有待進(jìn)一步研究解決。

          存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理



          上一頁 1 2 下一頁

          關(guān)鍵詞: SoPC Nios

          評(píng)論


          相關(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); })();