馮·諾依曼結構 VS 哈佛結構

1. 馮·諾依曼結構

    馮·諾依曼結構,又稱爲普林斯頓體系結構,是一種將程序指令存儲器數據存儲器合併在一起的存儲器結構。取指令和取操作數都在同一總線上,通過分時複用的方式進行;缺點是在高速運行時,不能達到同時取指令和取操作數,從而形成了傳輸過程的瓶頸。由於程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置,因此程序指令和數據的寬度相同,如英特爾公司的8086中央處理器的程序指令和數據都是16位寬。

 

    目前使用馮·諾依曼結構的CPU和微控制器有很多。其中包括英特爾公司的8086及其他CPU,TI的MSP430處理器,ARM公司的ARM7,MIPS公司的MIPS處理器。

 

2. 哈佛結構

    哈佛結構是一種將程序指令存儲和數據存儲分開的存儲器結構,它的主要特點是將程序和數據存儲在不同的存儲空間中,即程序存儲器和數據存儲器是兩個獨立的存儲器,每個存儲器獨立編址、獨立訪問,目的是爲了減輕程序運行時的訪存瓶頸。


    如圖,哈佛結構的計算機由CPU、程序存儲器和數據存儲器組成,程序存儲器和數據存儲器採用不同的總線,從而提供了較大的存儲器帶寬,使數據的移動和交換更加方便,尤其提供了較高的數字信號處理性能。

    目前使用哈佛結構的中央處理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,還有摩托羅拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安謀公司的ARM9、ARM10和ARM11。

 

3. 總結

    隨着CPU設計的發展,流水線的增加,指令和數據的互斥讀取影響CPU指令執行的scale程度。哈佛結構中數據存儲器與程序代碼存儲器分開,各自有自己的數據總線與地址總線,取操作數與取指令能同時進行。但這是需要CPU提供大量的數據線,因而很少使用哈佛結構作爲CPU外部構架來使用。對於CPU內部,通過使用不同的數據和指令cache,可以有效的提高指令執行的效率,因而目前大部分計算機體系都是在CPU內部的使用哈佛結構,在CPU外部使用馮·諾依曼結構。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章