普林斯頓結構和哈佛結構

2022-12-16 10:06:02 字數 2971 閱讀 5519

普林斯頓結構和哈佛結構普林斯頓結構

普林斯頓結構,也稱馮·諾伊曼結構,是一種將程式指令儲存器和資料儲存器合併在一起的儲存器結構。程式指令儲存位址和資料儲存位址指向同乙個儲存器的不同物理位置,因此程式指令和資料的寬度相同,如英特爾公司的8086**處理器的程式指令和資料都是16位寬。

目前使用馮·諾伊曼結構的**處理器和微控制器有很多。除了上面提到的英特爾公司的8086,英特爾公司的其他**處理器、arm的arm7、mips公司的mips處理器也採用了馮·諾伊曼結構。

2023年,馮·諾依曼首先提出了「儲存程式」的概念和二進位制原理,後來,人們把利用這種概念和原理設計的電子計算機系統統稱為「馮·諾曼型結構」計算機。馮·諾曼結構的處理器使用同乙個儲存器,經由同乙個匯流排傳輸。

馮·諾曼結構處理器具有以下幾個特點:必須有乙個儲存器;必須有乙個控制器;必須有乙個運算器,用於完成算術運算和邏輯運算;必須有輸入和輸出裝置,用於進行人機通訊。馮·諾依曼的主要貢獻就是提出並實現了「儲存程式」的概念。

由於指令和資料都是二進位製碼,指令和運算元的位址又密切相關,因此,當初選擇這種結構是自然的。但是,這種指令和資料共享同一匯流排的結構,使得資訊流的傳輸成為限制計算機效能的瓶頸,影響了資料處理速度的提高。

在典型情況下,完成一條指令需要3個步驟,即:取指令、指令解碼和執行指令。從指令流的定時關係也可看出馮·諾依曼結構與哈佛結構處理方式的差別。

舉乙個最簡單的對儲存器進行讀寫操作的指令,指令1至指令3均為存、取數指令,對馮·諾曼結構處理器,由於取指令和訪問資料要從同乙個儲存空間訪問,經由同一匯流排傳輸,因而它們無法重疊執行,只有乙個完成後再進行下乙個。

哈佛結構

哈佛結構是一種將程式指令儲存和資料儲存分開的儲存器結構。**處理器首先到程式指令儲存器中讀取程式指令內容,解碼後得到資料位址,再到相應的資料儲存器中讀取資料,並進行下一步的操作(通常是執行)。程式指令儲存和資料儲存分開,可以使指令和資料有不同的資料寬度,如microchip公司的pic16晶元的程式指令是14位寬度,而資料是8位寬度。

哈佛結構的微處理器通常具有較高的執行效率。其程式指令和資料指令分開組織和儲存的,執行時可以預先讀取下一條指令。目前使用哈佛結構的**處理器和微控制器有很多,除了上面提到的microchip公司的pic系列晶元,還有摩托羅拉公司的mc68系列、zilog公司的z8系列、atmel公司的**r系列和安謀

公司的arm9、arm10和arm11。

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

例如最常見的卷積運算中,一條指令同時取兩個運算元,在流水線處理時,同時還有乙個取指操作,如果程式和資料通過一條匯流排訪問,取指和取數必會產生衝突,而這對大運算量的迴圈的執行效率是很不利的。哈佛結構能基本上解決取指和取數的衝突問題。而對另乙個運算元的訪問,就只能採用enhanced哈佛結構了,例如像ti那樣,資料區再split,並多一組匯流排。

或向ad那樣,採用指令cache,指令區可存放一部分資料。

在dsp演算法中,最大量的工作之一是與儲存器交換資訊,這其中包括作為輸入訊號的取樣資料、濾波器係數和程式指令。例如,如果將儲存在儲存器中的2個數相乘,就需要從儲存器中取3個二進位制數,即2個要乘的數和1個描述如何去做的程式指令。目前dsp內部一般採用的是哈佛結構,它在片內至少有4套匯流排:

程式的資料匯流排,程式的位址匯流排,資料的資料匯流排和資料的位址匯流排。這種分離的程式匯流排和資料匯流排,可允許同時獲取指令字(來自程式儲存器)和運算元(來自資料儲存器),而互不干擾。這意味著在乙個機器週期內可以同時準備好指令和運算元。

有的dsp晶元內部還包含有其他匯流排,如dma匯流排等,可實現單週期內完成更多的工作。這種多匯流排結構就好像在dsp內部架起了四通八達的高速公路,保障運算單元及時地取到需要的資料,提高運算速度。因此,對dsp來說,內部匯流排是個資源,匯流排越多,可以完成的功能就越複雜。

超級哈佛結構(super harvard architecture,縮寫為sharc),它在哈佛結構上增加了指令cache(快取)和專用的i/o控制器。

哈佛結構處理器有兩個明顯的特點:使用兩個獨立的儲存器模組,分別儲存指令和資料,每個儲存模組都不允許指令和資料並存;使用獨立的兩條匯流排,分別作為cpu與每個儲存器之間的專用通訊路徑,而這兩條匯流排之間毫無關聯。改進的哈佛結構,其結構特點為:

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

馮·諾依曼理論的要點是:數字計算機的數制採用二進位制;計算機應該按照程式順序執行。人們把馮諾依曼的這個理論稱為馮諾依曼體系結構。

從eniac到當前最先進的計算機都採用的是馮諾依曼體系結構。所以馮諾依曼是當之無愧的數字計算機之父。

根據馮諾依曼體系結構構成的計算機,必須具有如下功能:把需要的程式和資料送至計算機中;必須具有長期記憶程式、資料、中間結果及最終運算結果的能力;能夠完成各種算術、邏輯運算和資料傳送等資料加工處理的能力;能

夠根據需要控制程式走向,並能根據指令控制機器的各部件協調操作;能夠按照要求將處理結果輸出給使用者。

哈佛結構是為了高速資料處理而採用的,因為可以同時讀取指令和資料(分開儲存的)。大大提高了資料吞吐率,缺點是結構複雜。通用微機指令和資料是混合儲存的,結構上簡單,成本低。

假設是哈佛結構:你就得在電腦安裝兩塊硬碟,一塊裝程式,一塊裝資料,記憶體裝兩根,一根儲存指令,一根儲存資料

是什麼結構要看匯流排結構的。51微控制器雖然資料指令儲存區是分開的,但匯流排是分時復用得,所以頂多算改進型的哈佛結構。arm9雖然是哈佛結構,但是之前的版本也還是馮·諾依曼結構。

早期的x86能迅速占有市場,一條很重要的原因,正是靠了馮·諾依曼這種實現簡單,成本低的匯流排結構。現在的處理器雖然外部匯流排上看是諾依曼結構的,但是由於內部cache的存在,因此實際上內部來看已經算是改進型哈佛結構的了。至於優缺點,哈佛結構就是複雜,對外圍裝置的連線與處理要求高,十分不適合外圍儲存器的擴充套件。

所以早期通用cpu難以採用這種結構。而微控制器,由於內部整合了所需的儲存器,所以採用哈佛結構也未嘗不可。現在的處理器,依託cache的存在,已經很好的將二者統一起來了。

普林斯頓面試官談 最反感的學生 上

普林斯頓面試官表示 大部分中國學生很難讓她記住,有些甚至讓她反感 特別是那些極力證明自己很厲害的,和根本不清楚自己要幹什麼的。14年,普林斯頓大學在中國區的錄取創下新低,北京地區錄取率不足3 僅為全球錄取率的一半。硬體條件達標的中國 學霸 們大多 折 在了面試上。nini suet,普林斯頓大學中國...

馮 諾伊曼結構與哈佛結構

一 馮.諾伊曼結構 1945年,馮.諾伊曼首先提出了 儲存程式 的概念和二進位制原理,後來,人們把利用這種概念和原理設計的電子計算機系統統稱為 馮.諾伊曼型結構 計算機。馮.諾伊曼結構的處理器使用同乙個儲存器,經由同乙個匯流排傳輸,如下圖所示 圖馮.諾伊曼結構 馮.諾伊曼結構處理器具有以下幾個特點 ...

3 2順序結構和選擇結構

寶石學校活頁課時教案 首頁 班級 高一年級科目 數學 1 下面關於演算法流程圖的畫法規則中,正確的是 使用標準的框圖符號 框圖一般按從上到下,從左到右的方向畫 判斷框是具有超出乙個退出點的唯一符號 流程圖可以沒有起止框 在圖形符號內描述的語言要非常簡練清楚.ab cd 2 畫出兩個實數相加的程式框圖...