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