推薦文檔列表

采用Nios定制指令的嵌入式系統(tǒng)優(yōu)化設計

時間:2021-10-01 09:51:37 計算機論文 我要投稿

采用Nios定制指令的嵌入式系統(tǒng)優(yōu)化設計

摘要:Altera公司的Nios軟核處理器以其低成本,設計靈活等特點,在嵌入式應用領域得到廣泛的應用。采用Nios處理器的定制指令,可以把用戶自定義的功能直接添加到Nios CPU的算術(shù)邏輯單元中,加快專項任務的執(zhí)行,以達到優(yōu)化目的。本文在闡述Nios定制指令設計的基礎上,給出相應的設計例子說明。

    關鍵詞:Nios軟核 定制指令 嵌入式處理器MP3

引言

Nios處理器是Altera公司推出的一個32/16位精簡指令信處理器軟核。在Altera公司推出的軟件SOPC中加載Nios核 和相應的外圍接口以及與定義相應的自定義指令,然后對設計進行綜合,下載到FPGA中就可以方便地一個具有特定功能的嵌入式處理器。這種設計思路增加了系統(tǒng)設計的靈活性,加快系統(tǒng)運行速度,縮短產(chǎn)品研發(fā)和上市時間。

由硬件實現(xiàn)復雜的算法通常比軟件實現(xiàn)更高效。利用Altera的Niso嵌入式處理器的定制指令,可以把用戶自定義的功能直接添加到Niso CPU的算術(shù)邏輯單元(ALU)中(見圖1),來加快專項任務的執(zhí)行,從而達到系統(tǒng)優(yōu)化的目的。因此,設計者可以針對關鍵的內(nèi)部循環(huán)和耗時算法,創(chuàng)建Nios嵌入式處理器的定制指令,把復雜的順序指令簡化為硬件實現(xiàn)的單指令,這樣就能夠大大提高系統(tǒng)性能。例如,Nios CPU執(zhí)行浮點乘法運算要2800多個時鐘周期;而浮點乘法的定制指令采用了浮點單元(FPU),執(zhí)行只需19個時鐘周期。

1 定制指令

定制指令為Nios處理器的算術(shù)邏輯單元增加了定制邏輯,設計者通過定制指令,用快速高效的定制邏輯塊替代復雜耗時的軟件程序。在一個CPU中,可以運行多達五個組合或時序定制模塊,還可以訪問Nios系統(tǒng)模塊外的存儲器和/或邏輯。定制邏輯模塊在兩個寄存器Ra和Rb內(nèi)容的基礎上執(zhí)行用戶定義的操作,結(jié)果存放在寄存器Ra中。這些定制邏輯模塊的功能只受限于器件內(nèi)邏輯單元(LE)和設計得的想象力。

定制硬件模塊能夠通過Nios嵌入式處理器指令集中的五個用戶定義操作碼來訪問。SOPC Builder在生成系統(tǒng)期間會為任何定制指令創(chuàng)建宏,通過這些自動產(chǎn)生的C和匯編語言宏就可以方便地訪問自定義指令操作碼。

2 實現(xiàn)定制指令

以Altera的Nios2.0版嵌入式處理器為例實現(xiàn)定制指令,同時點擊Custom Instructions標簽創(chuàng)建或編輯Nios CPU,如圖2。

Custom Instruction標簽是系統(tǒng)設計都 連接定制邏輯和Nios CPU的ALU的界面。首先,選擇定制指令的操作碼,有USR0~USR4五個操作碼可供使用。然后,導入和掃描作為定制指令的HDL文件。Design Import Wizard掃描頂層模塊的端口,進行合適連接。Design Import Wizard可以接受以下類型的文件:VerilogHDL/VHDL/EDIF/VQM以接受以下類型的文件:Verilog HDL、VHDL、EDIF、VQM和Altera QuartusII原理圖。導入設計文件之后,分配定制指令所需的CPU時鐘周期數(shù)目和定制指令名。

[1] [2] [3] [4]