哈佛結(jié)構(gòu)
(英語(yǔ):Harvard architecture)是一種將程序指令儲(chǔ)存和數(shù)據(jù)儲(chǔ)存分開的存儲(chǔ)器結(jié)構(gòu)。中央處理器首先到程序指令儲(chǔ)存器中讀取程序指令內(nèi)容,解碼后得到數(shù)據(jù)地址,再到相應(yīng)的數(shù)據(jù)儲(chǔ)存器中讀取數(shù)據(jù),并進(jìn)行下一步的操作(通常是執(zhí)行)。程序指令儲(chǔ)存和數(shù)據(jù)儲(chǔ)存分開,數(shù)據(jù)和指令的儲(chǔ)存可以同時(shí)進(jìn)行,可以使指令和數(shù)據(jù)有不同的數(shù)據(jù)寬度,如Microchip公司的PIC16芯片的程序指令是14位寬度,而數(shù)據(jù)是8位寬度。
與馮.諾曼結(jié)構(gòu)處理器比較,哈佛結(jié)構(gòu)處理器有兩個(gè)明顯的特點(diǎn):
1、使用兩個(gè)獨(dú)立的存儲(chǔ)器模塊,分別存儲(chǔ)指令和數(shù)據(jù),每個(gè)存儲(chǔ)模塊都不允許指令和數(shù)據(jù)并存;
2、使用獨(dú)立的兩條總線,分別作為CPU與每個(gè)存儲(chǔ)器之間的專用通信路徑,而這兩條總線之間毫無(wú)關(guān)聯(lián)。
改進(jìn)的哈佛結(jié)構(gòu),其結(jié)構(gòu)特點(diǎn)為:
1、使用兩個(gè)獨(dú)立的存儲(chǔ)器模塊,分別存儲(chǔ)指令和數(shù)據(jù),每個(gè)存儲(chǔ)模塊都不允許指令和數(shù)據(jù)并存,以便實(shí)現(xiàn)并行處理;
2、具有一條獨(dú)立的地址總線和一條獨(dú)立的數(shù)據(jù)總線,利用公用地址總線訪問(wèn)兩個(gè)存儲(chǔ)模塊(程序存儲(chǔ)模塊和數(shù)據(jù)存儲(chǔ)模塊),公用數(shù)據(jù)總線則被用來(lái)完成程序存儲(chǔ)模塊或數(shù)據(jù)存儲(chǔ)模塊與CPU之間的數(shù)據(jù)傳輸;
哈佛結(jié)構(gòu)的微處理器通常具有較高的執(zhí)行效率。其程序指令和數(shù)據(jù)指令分開組織和儲(chǔ)存的,執(zhí)行時(shí)可以預(yù)先讀取下一條指令。目前使用哈佛結(jié)構(gòu)的中央處理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,還有摩托羅拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安謀公司的ARM9、ARM10和ARM11。
馮·諾伊曼結(jié)構(gòu)
(von Neumann architecture),也稱普林斯頓結(jié)構(gòu),是一種將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并在一起的電腦設(shè)計(jì)概念結(jié)構(gòu)。本詞描述的是一種實(shí)作通用圖靈機(jī)的計(jì)算裝置,以及一種相對(duì)于平行計(jì)算的序列式結(jié)構(gòu)參考模型(referential model)。
本結(jié)構(gòu)隱約指導(dǎo)了將儲(chǔ)存裝置與中央處理器分開的概念,因此依本結(jié)構(gòu)設(shè)計(jì)出的計(jì)算機(jī)又稱儲(chǔ)存程式型電腦。
馮.諾曼結(jié)構(gòu)處理器具有以下幾個(gè)特點(diǎn):
必須有一個(gè)存儲(chǔ)器;
必須有一個(gè)控制器;
必須有一個(gè)運(yùn)算器,用于完成算術(shù)運(yùn)算和邏輯運(yùn)算;
必須有輸入和輸出設(shè)備,用于進(jìn)行人機(jī)通信。