馮desu・諾依曼理論的要點是:數字計算機的數制採用二進位制;計算機應該按照程式順序執行。人們把馮・諾依曼的這個理論稱為馮・諾依曼體系結構。
根據馮・諾依曼體系結構構成的計算,必須有以下功能:把需要的程式和資料送到計算機中。必須具有長期記憶程式、資料、中間結果及最終運算結果的能力。能夠完成各種算術、邏輯運算和資料傳送等資料加工處理的功能。能夠根據需要控制程式走向,並能根據指令控制機器的各部件協調操作。能夠按照要求將處理結果輸出給使用者。
因此,計算機必須具備五大基本元件:運算器、控制器、儲存器、輸入裝置和輸出裝置。
馮・諾依曼體系結構是現代計算機的基礎,現在大多數計算機仍是馮・諾依曼計算機的組織結構,只是做了一些改進而已,並沒有從根本上突破馮體系結構的束縛。馮・諾依曼也因此被人們稱為「計算機之父」。然而由於傳統的馮・諾依曼計算機體系結構天然搜具有的侷限性,從根本上限制了計算機的發展。
(1)採用儲存程式方式
指令和資料不加區別混合儲存在同乙個儲存器中,(資料和程式在記憶體中是沒有區別的,它們都是記憶體中的資料,當eip指標指向哪 cpu就載入那段記憶體中的資料,如果是不正確的指令格式,cpu就會發生錯誤中斷. 在現在cpu的保護模式中,每個記憶體段都其描述符,這個描述符記錄著這個記憶體段的訪問許可權(可讀,可寫,可執行).這最就變相的指定了哪個些記憶體中儲存的是指令哪些是資料)
指令和資料都可以送到運算器進行運算,即由指令組成的程式是可以修改的。
(2)儲存器是按位址訪問的線性編址的一維結構,每個單元的位數是固定的。
(3)指令由操作碼和位址組成。
操作碼指明本指令的操作型別,位址碼指明運算元和位址。運算元本身無資料型別的標誌,它的資料型別由操作碼確定。
(4)通過執行指令直接發出控制訊號控制計算機的操作。
指令在儲存器中按其執行順序存放,由指令計數器指明要執行的指令所在的單元位址。指令計數器只有乙個,一般按順序遞增,但執行順序可按運算結果或當時的外界條件而改變。
(5)以運算器為中心,i/o裝置與儲存器間的資料傳送都要經過運算器。
(6)資料以二進位制表示。
從本質上講,馮.諾依曼體系結構的本徵屬性就是二個一維性,即一維的計算模型和一維的儲存模型,簡單地說「儲存程式」是不確切的。而正是這二個一維性,成就了現代計算機的輝煌,也限制了計算機的進一步的發展,真可謂「成也馮,敗也馮」。
馮·諾依曼計算機的軟體和硬體完全分離,適用於作數值計算。這種計算機的機器語言同高階語言在語義上存在很大的間隔,稱之為馮.依曼語義間隔。造成這個差距的其中乙個重要原因就是儲存器組織方式不同,馮·諾依曼機儲存器是一維的線性排列的單元,按順序排列的位址訪問。而高階語言表示的儲存器則是一組有名字的變數,按名字呼叫變數,不考慮訪問方法,而且資料結構經常是多維的(如陣列,**)。另外,在大多數高階語言中,資料和指令截然不同,並無指令可以像資料一樣進行運算操作的概念。同時,高階語言中的每種操作對於任何資料型別都是通用的,資料型別屬於資料本身,而馮.諾依曼機的資料本身沒有屬性標誌,同一種操作要用不同的操作碼來對資料加以區分。這些因素導致了語義的差距。如何消除如此大的語義間隔,這成了計算機面臨的一大難題和發展障礙。
馮.諾依曼體系結構的侷限嚴重束縛了現代計算機的進一步發展,而非數值處理應用領域對計算機效能的要求越來越高,這就亟待需要突破傳統計算機體系結構的框架,尋求新的體系結構來解決實際應用問題。目前在體系結構方面已經有了重大的變化和改進,如文章開頭提到的並行計算機、資料流計算機以及量子計算機、dna計算機等非馮計算機,它們部分或完全不同於傳統的馮.諾依曼型計算機,很大程度上提高了計算機的計算效能。
必須看到,傳統的馮·諾依曼型計算機從本質上講是採取序列順序處理的工作機制,即使有關資料巳經準備好,也必須逐條執行指令序列。而提高計算機效能的根本方向之一是並行處理。因此,近年來人們謀求突破傳統馮·諾依曼體制的束縛,這種努力被稱為非諾依曼化。對所謂非諾依曼化的**仍在爭議中,一般認為它表現在以下三個方面的努力。
(1)在馮·諾依曼體制範疇內,對傳統馮·諾依曼機進行改造,如採用多個處理部件形成流水處理, 依靠時間上的重疊提高處理效率;又如組成陣列機結構,形成單指令流多資料流,提高處理速度。這些方向已比較成熟,成為標準結構;
(2)用多個馮·諾依曼機組成多機系統,支援並行演算法結構。這方面的研究目前比較活躍;
(3)從根本上改變馮·諾依曼機的控制流驅動方式。
例如,採用資料流驅動工作方式的資料流計算機,只要資料已經準備好,有關的指令就可並行地執行。這是真正非諾依曼化的計算機,它為並行處理開闢了新的前景,但由於控制的複雜性,仍處於實驗探索之中。
馮諾依曼體系結構
cui 馮諾依曼體系機構 說到計算機的發展,就不能不提到德國科學家馮諾依曼。從20世紀初,物理學和電子學科學家們就在爭論製造可以進行數值計算的機器應該採用什麼樣的結構。人們被十進位制這個人類習慣的計數方法所困擾。所以,那時以研製模擬計算機的呼聲更為響亮和有力。20世紀30年代中期,德國科學家馮諾依曼...
馮諾依曼體系結構
馮 諾依曼結構也稱普林斯頓結構,是一種將程式指令儲存器和資料儲存器合併在一起的儲存器結構。程式指令儲存位址和資料儲存位址指向同乙個儲存器的不同物理位置,因此程式指令和資料的寬度相同,如英特爾公司的8086 處理器的程式指令和資料都是16位寬。美籍匈牙利數學家馮 諾依曼於1946年提出儲存程式原理,把...
馮 諾依曼體系結構
一.馮 諾依曼結構 von neumann architecture 馮 諾依曼結構也稱作普林斯頓結構,是一種將程式 指令序列的集合 和資料存放在同一儲存器的不同位址的電腦設計概念結構。這是建立在馮 諾依曼原理,即程式可看做一種特殊的 資料 同樣地可以被處理和儲存,故兩者可存放在同一儲存器中,採用單...