嵌入式微處理器IP core設計與分析
摘要:本文在對傳統(tǒng)微控制器進行系統(tǒng)分析的基礎上,提出了一種較好的改進設計方法。回避了傳統(tǒng)微控制器基于累加器的ALU結構及算術邏輯指令:并在指令執(zhí)行時序上盡量減少指令執(zhí)行所需的時鐘周期。通過仿真驗證證明該設計方法提高了指令的執(zhí)行效率和微控制器的運行效率,同時避免了通常采用并行處理設計中多級流水線設計帶來的內部復雜的控制邏輯設計。
關鍵字:微控制器;IP core;流水線
在嵌入式系統(tǒng)的設計中,IP技術為SoC的設計提供了有效途徑,是SoC的技術支撐。當然,在國內開發(fā)出具有自主知識產權的IP模塊還面臨著許多問題,如核心算法的優(yōu)化、不同層次模塊的建立、模塊的可重用問題以及IP模塊的標準化問題等。對于嵌入式處理器IP核,面對的挑戰(zhàn)就是如何選擇一個滿足其應用需求的處理器?,F(xiàn)已有數百種嵌入式處理器,每組都具備一組不同的外設、存儲器、接口和性能特性,用戶很難做出一個合理的選擇。本文設計的微處理器的指令集與標準8051單片機完全兼容,這樣有利于開發(fā)人員的使用。
1 總體設計方案的擬定
1.1 提出改進方案
首先在對典型八位微處理器進行了詳盡地剖析的基礎上,指出在傳統(tǒng)典型微處理器內核中制約微處理器整體性能的主要因素,然后提出以下改進方案:
(1)微處理器的內核結構上,將乘、除法單元各自獨立出來來完成算術邏輯指令中的乘、除法運算。這樣可以回避傳統(tǒng)典型微處理器基于累加器的ALU結構及算術邏輯指令,從而提高邏輯指令的執(zhí)行效率。
(2)在指令系統(tǒng)上,通過采用類RISC的指令系統(tǒng)和硬布線直接產生控制信號的方式來簡化指令譯碼器的設計。同時為內核添加指令緩沖區(qū)、采用指令流水線技術、多管道并行執(zhí)行指令。
(3)指令時序上,設計中盡量減少指令執(zhí)行所需的時鐘周期,提高微處理器的運行效率。
1.2 總體設計思路
根據IP core通用的設計方法,本文采用了標準的自頂向下的設計方法。就是根據系統(tǒng)級的內容,把系統(tǒng)劃分為單元,然后再把每個單元劃分為下一層次的單元,這樣一直劃分下去,直到最底層的單元可以用硬件描述語言進行設計,如圖1所示;接著在完成各個模塊設計的基礎上完成系統(tǒng)級設計;然后進行整個系統(tǒng)的仿真驗證;最后選用特定的FPGA芯片進行綜合、布局布線以及功能后仿真。
2 各子模塊的設計
2.1 ALU模塊
算術邏輯單元(ALU)是微控制器的核心部件,ALU的設計依賴于指令系統(tǒng),ALU采用什么樣的結構、設置那些功能都是建立在對系統(tǒng)指令集分析的基礎上來完成。
根據算術運算類指令可知,ALU單元主要要完成的功能有:帶/不帶進位加/減法、乘法、除法、十進制調整、邏輯運算以及布爾操作的實現(xiàn)。整個操作的完成是通過多路選擇器控制來完成。因此,我們可以對整個ALU系統(tǒng)進行如圖2劃分,然后對各個子模塊進行設計。
2.2 控制通路的設計
本文中的控制通路由譯碼器模塊和控制器模塊兩部分組成。這部分的設計是在對指令系統(tǒng)進行正確分析的基礎上來完成。
設計控制通路有兩種主要的方法。微程序控制(或微序列控制)方式使用存儲器查表方式來輸出控制信號,而硬連線控制使用時序邏輯和組合邏輯來產生控制信號。硬件直接實現(xiàn)的控制單元一般用有限狀態(tài)機實現(xiàn),通常有較高的運算速度;但是通用性差,每個電路都必須專門設計控制單元。每一種方法都有一些變形形式。由于本文中微處理器的控制相對簡單,所以在設計中采用了硬連線控制方法。
評論