-
馮·諾依曼結(jié)構(gòu)
https://baike.baidu.com/item/%E5%86%AF%C2%B7%E8%AF%BA%E4%BE%9D%E6%9B%BC%E7%BB%93%E6%9E%84#:~:text=%E6%95%B0%E5%AD%A6%E5%AE%B6%20%E5%86%AF%C2%B7%E8%AF%BA%E4%BE%9D%E6%9B%BC%20%E6%8F%90%E5%87%BA%E4%BA%86%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%88%B6%E9%80%A0%E7%9A%84%E4%B8%89%E4%B8%AA%E5%9F%BA%E6%9C%AC%E5%8E%9F%E5%88%99%EF%BC%8C%E5%8D%B3%E9%87%87%E7%94%A8%E4%BA%8C%E8%BF%9B%E5%88%B6%E9%80%BB%E8%BE%91%E3%80%81%E7%A8%8B%E5%BA%8F%E5%AD%98%E5%82%A8%E6%89%A7%E8%A1%8C%E4%BB%A5%E5%8F%8A%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%94%B1%E4%BA%94%E4%B8%AA%E9%83%A8%E5%88%86%E7%BB%84%E6%88%90%EF%BC%88%20%E8%BF%90%E7%AE%97%E5%99%A8%20%E3%80%81%20%E6%8E%A7%E5%88%B6%E5%99%A8%20%E3%80%81,%E5%AD%98%E5%82%A8%E5%99%A8%20%E3%80%81%20%E8%BE%93%E5%85%A5%E8%AE%BE%E5%A4%87%20%E3%80%81%20%E8%BE%93%E5%87%BA%E8%AE%BE%E5%A4%87%20%EF%BC%89%EF%BC%8C%E8%BF%99%E5%A5%97%E7%90%86%E8%AE%BA%E8%A2%AB%E7%A7%B0%E4%B8%BA%E5%86%AF%C2%B7%E8%AF%BA%E4%BE%9D%E6%9B%BC%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84%E3%80%82.%20%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%AF%9E%E7%94%9F%E4%B9%8B%E5%89%8D%EF%BC%8C%E4%BA%BA%E4%BB%AC%E5%9C%A8%E8%AE%A1%E7%AE%97%E7%9A%84%E7%B2%BE%E5%BA%A6%E5%92%8C%E6%95%B0%E9%87%8F%E4%B8%8A%E5%87%BA%E7%8E%B0%E4%BA%86%E7%93%B6%E9%A2%88%EF%BC%8C%E5%AF%B9%E4%BA%8E%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%BF%99%E6%A0%B7%E7%9A%84%E6%9C%BA%E5%99%A8%E7%9A%84%E9%9C%80%E6%B1%82%E5%B0%B1%E5%8D%81%E5%88%86%E5%BC%BA%E7%83%88%EF%BC%8C%E5%86%AF%C2%B7%E8%AF%BA%E4%BE%9D%E6%9B%BC%E7%9A%84%E9%80%BB%E8%BE%91%E5%92%8C%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%80%9D%E6%83%B3%E6%8C%87%E5%AF%BC%E4%BB%96%E8%AE%BE%E8%AE%A1%E5%B9%B6%E5%88%B6%E9%80%A0%E5%87%BA%E5%8E%86%E5%8F%B2%E4%B8%8A%E7%9A%84%E7%AC%AC%E4%B8%80%E5%8F%B0%E9%80%9A%E7%94%A8%E7%94%B5%E5%AD%90%E8%AE%A1%E7%AE%97%E6%9C%BA%E3%80%82.%20%E4%BB%96%E7%9A%84%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%90%86%E8%AE%BA%E4%B8%BB%E8%A6%81%E5%8F%97%E8%87%AA%E8%BA%AB%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80%E5%BD%B1%E5%93%8D%EF%BC%8C%E4%B8%94%E5%85%B7%E6%9C%89%E9%AB%98%E5%BA%A6%E6%95%B0%E5%AD%A6%E5%8C%96%E3%80%81%E9%80%BB%E8%BE%91%E5%8C%96%E7%89%B9%E5%BE%81%EF%BC%8C%E5%AF%B9%E4%BA%8E%E8%AF%A5%E7%90%86%E8%AE%BA%EF%BC%8C%E4%BB%96%E8%87%AA%E5%B7%B1%E4%B8%80%E8%88%AC%E4%BC%9A%E5%8F%AB%E4%BD%9C%22%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%9A%84%E9%80%BB%E8%BE%91%E7%90%86%E8%AE%BA%22%E3%80%82.
語音 編輯 討論3 上傳視頻
馮·諾依曼結(jié)構(gòu)也稱
普林斯頓結(jié)構(gòu),是一種將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并在一起的存儲(chǔ)器結(jié)構(gòu)。程序指令存儲(chǔ)地址和數(shù)據(jù)存儲(chǔ)地址指向同一個(gè)存儲(chǔ)器的不同物理位置,因此程序指令和數(shù)據(jù)的寬度相同,如英特爾公司的8086
中央處理器的程序指令和數(shù)據(jù)都是16
位寬。
- 中文名
- 馮·諾依曼結(jié)構(gòu)
- 外文名
- Von Neumann Architecture [6]
- 別 名
- 普林斯頓結(jié)構(gòu)
- 創(chuàng)造人
- 馮·諾依曼
- 描述領(lǐng)域
- 計(jì)算機(jī)
- 性 質(zhì)
- 存儲(chǔ)器結(jié)構(gòu)
在計(jì)算機(jī)誕生之前,人們?cè)谟?jì)算的精度和數(shù)量上出現(xiàn)了瓶頸,對(duì)于計(jì)算機(jī)這樣的機(jī)器的需求就十分強(qiáng)烈,馮·諾依曼的邏輯和計(jì)算機(jī)思想指導(dǎo)他設(shè)計(jì)并制造出歷史上的第一臺(tái)通用電子計(jì)算機(jī)。他的計(jì)算機(jī)理論主要受自身數(shù)學(xué)基礎(chǔ)影響,且具有高度數(shù)學(xué)化、邏輯化特征,對(duì)于該理論,他自己一般會(huì)叫作“計(jì)算機(jī)的邏輯理論”。而他的計(jì)算機(jī)存儲(chǔ)程序的思想,則是他的另一偉大創(chuàng)新,通過內(nèi)部
存儲(chǔ)器安放存儲(chǔ)程序,成功解決了當(dāng)時(shí)計(jì)算機(jī)存儲(chǔ)容量太小,運(yùn)算速度過慢的問題。
[1]
馮·諾依曼
第二次世界大戰(zhàn)期間,美軍要求實(shí)驗(yàn)室為其提供計(jì)算量龐大的計(jì)算結(jié)果。于是便有了研制電子計(jì)算機(jī)的設(shè)想。面對(duì)這種需求,美國立即組建研發(fā)團(tuán)隊(duì),包括許多工程師與物理學(xué)家,試圖開發(fā)全球首臺(tái)計(jì)算機(jī)(后世稱作
ENIAC機(jī))。雖然采取了最先進(jìn)的電子技術(shù),但缺少原理上的指導(dǎo)。這時(shí),馮·諾依曼出現(xiàn)了。他提出了一個(gè)至關(guān)重要的方面:計(jì)算機(jī)的邏輯結(jié)構(gòu)。馮·諾依曼從邏輯入手,帶領(lǐng)團(tuán)隊(duì)對(duì)ENIAC進(jìn)行改進(jìn)。他的邏輯設(shè)計(jì)具有以下特點(diǎn):
(1)將電路、邏輯兩種設(shè)計(jì)進(jìn)行分離,給計(jì)算機(jī)建立創(chuàng)造最佳條件;
(2)將個(gè)人神經(jīng)系統(tǒng)、計(jì)算機(jī)結(jié)合在一起,提出全新理念,即
生物計(jì)算機(jī)。
即便ENIAC機(jī)是通過當(dāng)時(shí)美國乃至全球頂尖技術(shù)實(shí)現(xiàn)的,但它采用臨時(shí)存儲(chǔ),將運(yùn)算器確定成根本,故而缺點(diǎn)較多,比如存儲(chǔ)空間有限、程序無法存儲(chǔ)等,且運(yùn)行速度較慢,具有先天不合理性。馮·諾依曼以此為前提制定以下優(yōu)化方案:
(1)用二進(jìn)制進(jìn)行運(yùn)算,大大加快了計(jì)算機(jī)速度;
(2)存儲(chǔ)程序,也就是通過計(jì)算機(jī)
內(nèi)部存儲(chǔ)器保存運(yùn)算程序。如此一來,程序員僅僅通過存儲(chǔ)器寫入相關(guān)運(yùn)算指令,計(jì)算機(jī)便能立即執(zhí)行運(yùn)算操作,大大加快運(yùn)算效率。
[1]
馮·諾依曼結(jié)構(gòu)示意圖 [2]
特點(diǎn)
現(xiàn)代計(jì)算機(jī)發(fā)展所遵循的基本結(jié)構(gòu)形式始終是馮·諾依曼機(jī)結(jié)構(gòu)。這種結(jié)構(gòu)特點(diǎn)是“程序存儲(chǔ),共享數(shù)據(jù),順序執(zhí)行”,需要 CPU 從存儲(chǔ)器取出指令和數(shù)據(jù)進(jìn)行相應(yīng)的計(jì)算。
[3] 主要特點(diǎn)有:
(1)單處理機(jī)結(jié)構(gòu),機(jī)器以
運(yùn)算器為中心;
(2)采用程序存儲(chǔ)思想;
(3)
指令和數(shù)據(jù)一樣可以參與運(yùn)算;
(4) 數(shù)據(jù)以二進(jìn)制表示;
(5)將軟件和硬件完全分離;
局限
CPU 與
共享存儲(chǔ)器間的信息交換的速度成為影響系統(tǒng)性能的主要因素,而信息交換速度的提高又受制于存儲(chǔ)元件的速度、存儲(chǔ)器的性能和結(jié)構(gòu)等諸多條件。
傳統(tǒng)馮·諾依曼計(jì)算機(jī)體系結(jié)構(gòu)的
存儲(chǔ)程序方式造成了系統(tǒng)對(duì)存儲(chǔ)器的依賴,CPU 訪問存儲(chǔ)器的速度制約了系統(tǒng)運(yùn)行的速度。集成 電路 IC 芯片的技術(shù)水平?jīng)Q定了存儲(chǔ)器及其他硬件的性能。為了提高硬件的性能, 以英特爾公司為代表的芯片制造企業(yè)在集成電路生產(chǎn)方面做出了極大的努力,且獲得了巨大的技術(shù)成果。 現(xiàn)在每隔 18 個(gè) 月 IC 的集成度翻一倍,性能也提升一倍,產(chǎn)品價(jià)格降低一半,這就是所謂的“
摩爾定律”。 這個(gè)規(guī)律已經(jīng)持續(xù)了40 多年,估計(jì)還將延續(xù)若干年。然而,電子產(chǎn)品面臨的二個(gè)基本限制是客觀存在的:
光的速度和材料的原子特性。首先,信息傳播的速度最終將取決于電子流動(dòng)的速度,電子信號(hào)在元件和導(dǎo)線里流動(dòng)會(huì)產(chǎn)生時(shí)間延遲,頻率過高會(huì)造成信號(hào)畸變,所以元件的速度不可能無限的提高直至達(dá)到光速。第二,計(jì)算機(jī)的電子信號(hào)存儲(chǔ)在以硅
晶體材料為代表
晶體管上,集成度的提高在于晶體管變小,但是晶體管不可能小于一個(gè)硅原子的體積。 隨著
半導(dǎo)體技術(shù)逐漸逼近
硅工藝尺寸極限,摩爾定律原導(dǎo)出的規(guī)律將不再適用。
對(duì)馮·諾依曼計(jì)算機(jī)體系結(jié)構(gòu)缺陷的分析:
(1)指令和數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)器中,形成系統(tǒng)對(duì)存儲(chǔ)器的過分依賴。如果儲(chǔ)存器件的發(fā)展受阻,系統(tǒng)的發(fā)展也將受阻。
(2)指令在存儲(chǔ)器中按其執(zhí)行順序存放,由指令計(jì)數(shù)器
PC指明要執(zhí)行的指令所在的單元地址。 然后取出指令執(zhí)行操作任務(wù)。所以指令的執(zhí)行是
串行。影響了系統(tǒng)執(zhí)行的速度。
(3)存儲(chǔ)器是按地址訪問的線性編址,按順序排列的地址訪問,利 于存儲(chǔ)和執(zhí)行的機(jī)器語言指令,適用于作數(shù)值計(jì)算。但是高級(jí)語言表示的存儲(chǔ)器則是一組有名字的變量,按名字調(diào)用變量,不按地址訪問。機(jī)器語言同高級(jí)語言在語義上存在很大的間隔, 稱之為馮·諾依曼語 義間隔。消除語義間隔成了計(jì)算機(jī)發(fā)展面臨的一大難題。
(4)馮·諾依曼體系結(jié)構(gòu)計(jì)算機(jī)是為算術(shù)和邏輯運(yùn)算而誕生的,目前在數(shù)值處理方面已經(jīng)到達(dá)較高的速度和精度,而非數(shù)值處理應(yīng)用領(lǐng)域發(fā)展緩慢,需要在體系結(jié)構(gòu)方面有重大的突破。
(5)傳統(tǒng)的馮·諾依曼型結(jié)構(gòu)屬于控制驅(qū)動(dòng)方式。它是執(zhí)行指令代碼對(duì)數(shù)值代碼進(jìn)行處理,只要指令明確,輸入數(shù)據(jù)準(zhǔn)確,啟動(dòng)程序后自動(dòng)運(yùn)行而且結(jié)果是預(yù)期的。一旦指令和數(shù)據(jù)有錯(cuò)誤,機(jī)器不會(huì)主動(dòng)修改指令并完善程序。而人類生活中有許多信息是模糊的,事件的發(fā)生、發(fā)展和結(jié)果是不能預(yù)期的,現(xiàn)代計(jì)算機(jī)的智能是無法應(yīng)對(duì)如此復(fù)雜任務(wù)的。
[3]
哈佛結(jié)構(gòu)以及兩者區(qū)別
編輯 語音
哈佛結(jié)構(gòu)
哈佛結(jié)構(gòu)的計(jì)算機(jī)分為三大部件:(1)CPU;(2)
程序存儲(chǔ)器;(3)數(shù)據(jù)存儲(chǔ)器。它的特點(diǎn)是將程序指令和數(shù)據(jù)分開存儲(chǔ),由于數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器采用不同的總線,因而較大的提高了存儲(chǔ)器的帶寬,使之?dāng)?shù)字信號(hào)處理性能更加優(yōu)越。
[4]
哈佛結(jié)構(gòu)是一種將程序指令存儲(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ù)有不同的數(shù)據(jù)寬度,如Microchip公司的PIC16芯片的程序指令是14位寬度,而數(shù)據(jù)是8位寬度。
為避免將程序和指令共同存儲(chǔ)在存儲(chǔ)器中,并共用同一條總線,使得 CPU 和內(nèi)存的信息流訪問存取成為系統(tǒng)的瓶頸,人們?cè)O(shè)計(jì)了哈佛結(jié)構(gòu),原則是將程序和指令分別存儲(chǔ)在不同的存儲(chǔ)器中,分別訪問。如此設(shè)計(jì)克服了數(shù)據(jù)流傳輸瓶頸,提高了運(yùn)算速度,但結(jié)構(gòu)復(fù)雜,對(duì)外圍設(shè)備的連接與處理要求高,不適合外圍存儲(chǔ)器的擴(kuò)展, 實(shí)現(xiàn)成本高,所以哈佛結(jié)構(gòu)未能得到大范圍的應(yīng)用。但是作為馮式存儲(chǔ)程序的改良手段,哈佛結(jié)構(gòu)在CPU 內(nèi)的高速緩存
Cache中得到了應(yīng)用。通過設(shè)置指令緩存和數(shù)據(jù)緩存,指令和數(shù)據(jù)分開讀取,提高了數(shù)據(jù)交換速度,極大克服了計(jì)算機(jī)的數(shù)據(jù)瓶頸。通過增加處理器數(shù)量,
中央處理單元從最初的單核向雙核、四核的方向發(fā)展,在馮氏計(jì)算機(jī)的簡(jiǎn)單結(jié)構(gòu)下,增加處理器數(shù)量,也極大提高了計(jì)算機(jī)的運(yùn)算性能。存儲(chǔ)程序的方式使得計(jì)算機(jī)擅長(zhǎng)數(shù)值處理而限制了其在非數(shù)值處理方面的發(fā)展。
[5]
哈佛結(jié)構(gòu)處理器有兩個(gè)明顯的特點(diǎn):使用兩個(gè)獨(dú)立的存儲(chǔ)器模塊,分別存儲(chǔ)指令和數(shù)據(jù),每個(gè)存儲(chǔ)模塊都不允許指令和數(shù)據(jù)并存;使用獨(dú)立的兩條總線,分別作為CPU與每個(gè)存儲(chǔ)器之間的專用通信路徑,而這兩條總線之間毫無關(guān)聯(lián)。
改進(jìn)的哈佛結(jié)構(gòu),其結(jié)構(gòu)特點(diǎn)為:以便實(shí)現(xiàn)
并行處理;具有一條獨(dú)立的
地址總線和一條獨(dú)立的
數(shù)據(jù)總線,利用公用地址總線訪問兩個(gè)存儲(chǔ)模塊(程序存儲(chǔ)模塊和
數(shù)據(jù)存儲(chǔ)模塊),公用數(shù)據(jù)總線則被用來完成程序存儲(chǔ)模塊或數(shù)據(jù)存儲(chǔ)模塊與CPU之間的數(shù)據(jù)傳輸。
兩者區(qū)別
根據(jù)馮諾依曼體系結(jié)構(gòu)構(gòu)成的計(jì)算機(jī),必須具有如下功能:把需要的程序和數(shù)據(jù)送至計(jì)算機(jī)中;必須具有長(zhǎng)期記憶程序、數(shù)據(jù)、中間結(jié)果及最終運(yùn)算結(jié)果的能力;能夠完成各種算術(shù)、邏輯運(yùn)算和數(shù)據(jù)傳送等數(shù)據(jù)加工處理的能力;能夠根據(jù)需要控制程序走向,并能根據(jù)指令控制機(jī)器的各部件協(xié)調(diào)操作;能夠按照要求將處理結(jié)果輸出給用戶。
哈佛結(jié)構(gòu)是為了高速數(shù)據(jù)處理而采用的,因?yàn)榭梢酝瑫r(shí)讀取指令和數(shù)據(jù)(分開存儲(chǔ)的)。大大提高了
數(shù)據(jù)吞吐率,缺點(diǎn)是結(jié)構(gòu)復(fù)雜。通用微機(jī)指令和數(shù)據(jù)是混合存儲(chǔ)的,結(jié)構(gòu)上簡(jiǎn)單,成本低。假設(shè)是哈佛結(jié)構(gòu):你就得在電腦安裝兩塊硬盤,一塊裝程序,一塊裝數(shù)據(jù),內(nèi)存裝兩根,一根儲(chǔ)存指令,一根存儲(chǔ)數(shù)據(jù)……
是什么結(jié)構(gòu)要看
總線結(jié)構(gòu)的。51單片機(jī)雖然數(shù)據(jù)指令存儲(chǔ)區(qū)是分開的,但總線是
分時(shí)復(fù)用的,所以頂多算改進(jìn)型的
哈佛結(jié)構(gòu)。ARM9雖然是哈佛結(jié)構(gòu),但是之前的版本也還是馮·諾依曼結(jié)構(gòu)。早期的X86能迅速占有市場(chǎng),一條很重要的原因,正是靠了
馮·諾依曼這種實(shí)現(xiàn)簡(jiǎn)單,成本低的總線結(jié)構(gòu)。處理器雖然
外部總線上看是諾依曼結(jié)構(gòu)的,但是由于內(nèi)部CACHE的存在,因此實(shí)際上內(nèi)部來看已經(jīng)算是改進(jìn)型哈佛結(jié)構(gòu)的了。
馮·諾依曼結(jié)構(gòu)開啟了計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)發(fā)展的先河,但是因?yàn)槠浼小㈨樞虻牡目刂贫蔀樾阅芴岣叩钠款i,因此各國科學(xué)家仍然在探索各種非馮·諾依曼結(jié)構(gòu),比如,
數(shù)據(jù)流計(jì)算機(jī),函數(shù)式編程語言計(jì)算機(jī)等都是較為著名的非馮·諾依曼結(jié)構(gòu)。
[4]
近幾年來人們努力謀求突破傳統(tǒng)馮·諾依曼體制的局限,各類非諾依曼化計(jì)算機(jī)的研究如雨后春筍蓬勃發(fā)展,主要表現(xiàn)在以下四個(gè)方面:
(1)對(duì)傳統(tǒng)馮·諾依曼機(jī)進(jìn)行改良,如傳統(tǒng)體系計(jì)算機(jī)只有一個(gè)處理部件是串行執(zhí)行的,改成多處理部件形成流水處理,依靠時(shí)間上的重疊提高處理效率。
(2)由多個(gè)處理器構(gòu)成系統(tǒng),形成
多指令流多數(shù)據(jù)流支持并行算法結(jié)構(gòu)。這方面的研究目前已經(jīng)取得一些成功。
(3)否定馮·諾依曼機(jī)的控制流驅(qū)動(dòng)方式。設(shè)計(jì)數(shù)據(jù)流驅(qū)動(dòng)工作方式的數(shù)據(jù)流計(jì)算機(jī),只要數(shù)據(jù)已經(jīng)準(zhǔn)備好,有關(guān)的指令就可并行地執(zhí)行。這是真正非諾依曼化的計(jì)算機(jī),這樣的研究還在進(jìn)行中,已獲得階段性的成果,如
神經(jīng)計(jì)算機(jī)。
(4)徹底跳出電子的范疇,以其它物質(zhì)作為信息載體和執(zhí)行部件,如光子、生物分子、量子等。 眾多科學(xué)家正為進(jìn)行這些前瞻性的研究。
[3]