新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Nios Ⅱ嵌入式軟核多處理器系統研究

        基于Nios Ⅱ嵌入式軟核多處理器系統研究

        作者: 時間:2014-09-01 來源:網絡 收藏

          

        本文引用地址:http://www.104case.com/article/262429.htm

         

          3.2 處理器選擇和參數設置

          處理器有快速型、標準型和經濟型三種類型[3],快速型配置性能最高,經濟型配置占用片內資源最少,標準型配置的性能和占用片上資源介于快速型和經濟型之間。根據實際應用需要對系統性價比及功耗的要求,合理選擇和配置處理器。

          多處理器系統中對每一個處理器都要進行正確的設置,否則即使創建的硬件系統已通過編譯并生成,也會造成多處理器系統不能正常運行的問題。如果多個處理器使用片上存儲器為共享程序存儲器,則必須正確設計異常地址。如果使用CFI FLASH存儲器區域作為多個處理器的引導區,則必須要正確設計復位地址。使用不同類型的存儲器要正確的進行設置。

          3.3 共享程序存儲器

          為了降低成本、功耗,簡化多處理器系統結構,實例中利用FPGA的芯片資源共享程序存儲器,六個Nios Ⅱ處理器的運行軟件共同使用片上存儲器,每個處理器的軟件位于片上存儲器所屬特有的存儲器區域。如果六個處理器的軟件在片上存儲器運行,假設每個處理器的軟件需要有8 KB的內存空間用于程序代碼和數據。這樣第一個處理器使用片上存儲器0×0~0x1FFF之間的作為其程序空間,第二個處理器使用片上存儲器0×2000~0x3FFF 之間的區域,第三個處理器使用片上存儲器0×4000~0x5FFF之間的區域;其他各個處理器所需的存儲器區域采用同樣的方法對片上存儲器進行分區。

          Nios Ⅱ SBT 提供了一個簡單的存儲器分區模式,允許多個處理器的軟件運行于同一存儲器的不同區域,確保位于存儲器中的主要代碼段的鏈接和固定地址。

          圖2所示六個處理器在片上儲存器的分區及代碼段的鏈接。

          

         

          3.4 設置啟動地址

          在多處理器系統中,每個處理器在存儲器中必須擁有自己的啟動區域,多個處理器不能從同一非易失性存儲器的同一地址啟動。啟動存儲器類似程序存儲器一樣也可以進行分區,但段和鏈接的概念不同,因為通常引導代碼只是復制到它實際的程序代碼被鏈接在RAM中,然后跳轉到該程序代碼處。為了從同一非易失性存儲器的不同區域啟動多個處理器,設置每個處理器復位地址,這個地址就是啟動該處理器的位置,啟動區域要留出足夠的空間存放啟動代碼。由于沒有支持機制多個處理器無法直接訪問CFI FLASH存儲器,需要使用一個CFI FLASH控制器,Nios Ⅱ處理器通過CFI FLASH控制器讀取或寫入到CFI FLASH存儲器。如果多個Nios Ⅱ處理器啟動在同一個CFI FLASH存儲器。為確保安全訪問,必須刪除一個主控處理器之外的CFI FLASH 存儲器alt_main()函數所有初始化的驅動程序,并確認啟動前完成所有其他處理器在CFIFLASH存儲器的程序初始化。圖3所示六個處理器從一個FLASH存儲器啟動的映射。



        關鍵詞: FPGA Nios SoPC

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 九寨沟县| 鲁山县| 武义县| 霍邱县| 施秉县| 泽普县| 忻州市| 乐东| 凤凰县| 潮州市| 沈阳市| 宕昌县| 马鞍山市| 砀山县| 渭源县| 舟山市| 屏山县| 隆尧县| 钟山县| 台东县| 嘉定区| 水城县| 青铜峡市| 临清市| 连州市| 云龙县| 博客| 香河县| 澜沧| 榆中县| 沿河| 和田县| 六盘水市| 嘉义市| 石渠县| 清丰县| 沧州市| 甘肃省| 连江县| 邢台市| 简阳市|