哈佛結構

哈佛結構

哈佛結構是一種將程式指令存儲和數據存儲分開的存儲器結構。哈佛結構是一種並行體系結構,它的主要特點是將程式和數據存儲在不同的存儲空間中,即程式存儲器和數據存儲器是兩個獨立的存儲器,每個存儲器獨立編址、獨立訪問。

簡介

哈佛結構 哈佛結構

與兩個存儲器相對應的是系統的4條匯流排:程式和數據的數據匯流排與地址匯流排。這種分離的程式匯流排和數據匯流排可允許在一個機器周期內同時獲得指令字(來自程式存儲器)和運算元(來自數據存儲器),從而提高了執行速度,提高了數據的吞吐率。又由於程式和數據存儲在兩個分開的物理空間中,因此取址和執行能完全重疊。中央處理器首先到程式指令存儲器中讀取程式指令內容,解碼後得到數據地址,再到相應的數據存儲器中讀取數據,並進行下一步的操作(通常是執行)。程式指令存儲和數據存儲分開,可以使指令和數據有不同的數據寬度。

哈佛結構的計算機由CPU、程式存儲器和數據存儲器組成,程式存儲器和數據存儲器採用不同的匯流排,從而提供了較大的存儲器頻寬,使數據的移動和交換更加方便,尤其提供了較高的數位訊號處理性能。

相關

哈佛結構的微處理器通常具有較高的執行效率。其程式指令和數據指令分開組織和存儲的,執行時可以預先讀取下一條指令。

哈佛結構是指程式和數據空間獨立的體系結構,目的是為了減輕程式運行時的訪存瓶頸。

例如最常見的卷積運算中,一條指令同時取兩個運算元,在流水線處理時, 同時還有一個取址操作,如果程式和數據通過同一條匯流排訪問,取址和取數必會產生衝突,而這對大運算量的循環的執行效率是很不利的。

哈佛結構能基本上解決取址和取數的衝突問題。而對另一個運算元的訪問, 就只能採用Enhanced 哈佛結構了,例如像TI那樣,數據區再split,並多一組匯流排。 或向AD 那樣, 採用指令cache,指令區可存放一部分數據。

比較

哈佛結構與馮·諾依曼結構處理器相比,處理器有兩個明顯的特點:使用兩個獨立的存儲器模組,分別存儲指令和數據,每個存儲模組都不允許指令和數據並存;使用獨立的兩條匯流排,分別作為CPU與每個存儲器之間的專用通信路徑,而這兩條匯流排之間毫無關聯。

改進的哈佛結構,其結構特點為:

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

相關詞條

相關搜尋

熱門詞條

聯絡我們