馮.諾伊曼結構與哈佛結構區別

一、馮.諾伊曼結構
    1945年,馮.諾伊曼首先提出了“存儲程序”的概念和二進制原理,後來,人們把利用這種概念和原理設計的電子計算機系統統稱爲“馮.諾伊曼型結構”計算機。馮.諾伊曼結構的處理器使用同一個存儲器,經由同一個總線傳輸,如下圖所示:

圖 馮.諾伊曼結構

 

馮.諾伊曼結構處理器具有以下幾個特點:

必須有一個存儲器;

必須有一個控制器;

必須有一個運算器,用於完成算術運算和邏輯運算;

必須有輸入和輸出設備,用於進行人機通信。

    馮.諾伊曼的主要貢獻就是提出並實現了“存儲程序”的概念。由於指令和數據都是二進制碼,指令和操作數的地址又密切相關,因此,當初選擇這種結構是自然的。但是,這種指令和數據共享同一總線的結構,使得信息流的傳輸成爲限制計算機性能的瓶頸,影響了數據處理速度的提高。  
    在典型情況下,完成一條指令需要3個步驟,即:取指令、指令譯碼和執行指令。從指令流的定時關係也可看出馮.諾伊曼結構與哈佛結構處理方式的差別。舉一個最簡單的對存儲器進行讀寫操作的指令,如下圖所示,指令1和指令3均爲存、取數指令,對馮.諾伊曼結構處理器,由於取指令和存取數據要從同一個存儲空間存取,經由同一總線傳輸,因而它們無法重疊執行,只有一個完成後再進行下一個。

圖 馮.諾曼結構處理器指令流的定時關係示意圖

二、哈佛結構
    數字信號處理一般需要較大的運算量和較高的運算速度,爲了提高數據吞吐量,在數字信號處理器中大多采用哈佛結構,如下圖所示

圖 哈佛結構

    與馮.諾伊曼結構處理器比較,哈佛結構處理器有兩個明顯的特點:

使用兩個獨立的存儲器模塊,分別存儲指令和數據,每個存儲模塊都不允許指令和數據並存;使用獨立的兩條總線,分別作爲CPU與每個存儲器之間的專用通信路徑,而這兩條總線之間毫無關聯。

      後來,又提出了改進的哈佛結構,如下圖所示:

圖   改進型哈佛結構
其結構特點爲:

使用兩個獨立的存儲器模塊,分別存儲指令和數據,每個存儲模塊都不允許指令和數據並存,以便實現並行處理;具有一條獨立的地址總線和一條獨立的數據總線,利用公用地址總線訪問兩個存儲模塊(程序存儲模塊和數據存儲模塊),公用數據總線則被用來完成程序存儲模塊或數據存儲模塊與CPU之間的數據傳輸;兩條總線由程序存儲器和數據存儲器分時共用。

      在典型情況下,完成一條指令需要3個步驟,即:取指令、指令譯碼和執行指令。從指令流的定時關係也可看出馮.諾伊曼結構與哈佛結構處理方式的差別。舉一個最簡單的對存儲器進行讀寫操作的指令,如下圖所示,指令1至指令3均爲存、取數指令,對馮.諾伊曼結構處理器,由於取指令和存取數據要從同一個存儲空間存取,經由同一總線傳輸,因而它們無法重疊執行,只有一個完成後再進行下一個。

圖 馮.諾曼結構處理器指令流的定時關係示意圖

      如果採用哈佛結構處理以上同樣的3條存取數指令,如下圖所示,由於取指令和存取數據分別經由不同的存儲空間和不同的總線,使得各條指令可以重疊執行,這樣,也就克服了數據流傳輸的瓶頸,提高了運算速度。哈佛結構強調了總的系統速度以及通訊和處理器配置方面的靈活性。

圖 哈佛結構處理器指令流的定時關係示意圖
   

    總得來說,哈佛機構的高性能體現在在單片機、DSP芯片平臺上運行的程序種類和花樣較少,因爲各個電子娛樂產品中的軟件升級比較少,應用程序可以用匯編作爲內核,最高效率的利用流水線技術,獲得最高的效率。
     馮諾依曼結構主要是基於電腦購買者對電腦的使用途徑不同----各種娛樂型用戶、各種專業開發用戶等,且安裝的軟件的種類繁多,升級頻繁,多種軟件同時運行時處理的優先級比較模糊,因特爾芯片不具備徹底智能分配各程序優先級和流水線的機制,機械的分配優先和流水線反而容易使用戶不便。

      比如,你使用電腦過程中對暴風影音播放器的使用中,有時希望它最快打開,有時希望它的打開實在打開瀏覽器之後,因此人對個人電腦的軟件使用習慣是很不同的。從而,致力於提高主頻和緩存的馮諾依曼結構纔是PC的最佳選擇。

三、總結
      體系結構與採用的獨立與否的總線無關,與指令空間和數據空間的分開獨立與否有關。51單片機雖然數據指令存儲區是分開的,但總線是分時複用得,所以屬於改進型的哈佛結構。ARM9雖然是哈佛結構,但是之前的版本(例如ARM7)也還是馮.諾依曼結構。早期的X86能迅速佔有市場,一條很重要的原因,正是靠了馮.諾依曼這種實現簡單,成本低的總線結構。現在的處理器雖然外部總線上看是諾依曼結構的,但是由於內部CACHE的存在,因此實際上內部來看已經類似改進型哈佛結構的了。至於優缺點,哈佛結構就是複雜,對外圍設備的連接與處理要求高,十分不適合外圍存儲器的擴展。所以早期通用CPU難以採用這種結構。而單片機,由於內部集成了所需的存儲器,所以採用哈佛結構也未嘗不可。現在的處理器,依託CACHE的存在,已經很好的將二者統一起來了。

發佈了6 篇原創文章 · 獲贊 0 · 訪問量 4216
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章