嵌入式微處理器硬件體系
在處理器發展過程中,產生了以X86爲代表的馮·諾依曼體系結構和以DSP爲代表的哈佛體系結構。兩者的主要區別在於數據空間和程序空間是否分開。
其中,哈佛體系結構將數據空間和程序空間分離,允許取指令和取操作數同時進行。從而提高處理器(CPU)的運行速度。
1、馮諾依曼體系結構
馮·諾依曼(VON-NEUMANN)型計算機最顯著的特點是指令和數據共享內存,指令總線和數據總線共享。換句話講,取指令和取數據通過同一個總線完成。CPU 取指令和取數據不能同時進行。
2、哈佛總線體系結構
哈佛總線(HARVARD)結構的計算機將存儲指令和數據的單元徹底分開,指令總線(INS)和數據總線(DATA)也完全分開獨立。因此,CPU取指令和取數據可以同時進行。
3、ARM的體系結構
ARM 處理器系列中 ARM7 採用 VON NEUMANN 體系結構,而 ARM9 以上採用的HARVARD 體系結構。
由於 VON NEUMANN 體系結構的計算機有取指令(FETCH),譯碼(DECODE)和執行(EXECUTE)三步,ARM7 採用了三級流水線處理,指令總線和數據總線共用。
ARM9 則採用了五級流水線處理,由於採用了哈佛總線體系結構,即將指令總線和數據總線分開。
4、ARM Cache結構
首先,帶有cache的ARM內核採用了兩種總線結構:馮.諾依曼結構和哈佛結構。這兩種總線結構的區別在於,是否在內核與主存之間將指令和數據通道分離。
在馮.諾依曼結構的處理器內核中,只有一個數據和指令公用的cache。這種類型的cache被稱作統一cache,它可以存儲指令和數據。
而哈佛結構,則是將指令總線和數據總線分離,以改善系統的綜合性能,但是支持兩種總線需要兩種cache:指令cache(I-cache)、數據cache(D-cache)。這種類型的cache被稱作分離cache,被分離後的兩個主要組成部分爲cache控制器、cache存儲器。