存儲程序

馮·諾依曼提出的計算機原理

“存儲程序”原理,是將根據特定問題編寫的程序存放在計算機存儲器中,然後按存儲器中的存儲程序的首地址執行程序的第一條指令,以後就按照該程序的規定順序執行其他指令,直至程序結束執行。

基本介紹


1945年,美籍匈牙利科學家馮·諾依曼(J.Von Neumann)提出的,是現代計算機的理論基礎。現代計算機已經發展到第五代,但仍遵循著這個原理。
存儲程序和程序控制原理的要點是,程序輸入到計算機中,存儲在內存儲器中(存儲原理),在運行時,控制器按地址順序取出存放在內存儲器中的指令(按地址順序訪問指令),然後分析指令,執行指令的功能,遇到轉移指令時,則轉移到轉移地址,再按地址順序訪問指令(程序控制)。

技術特點


計算機系統由硬體系統和軟體系統兩大部分組成。馮·諾依曼結構John von Neumann)也就是存儲程序奠定了現代計算機的基本結構,其特點是:
1)使用單一的處理部件來完成計算、存儲以及通信的工作。
2)存儲單元是定長的線性組織。
3)存儲空間的單元是直接定址的。
4)使用低級機器語言,指令通過操作碼來完成簡單的操作。
5)對計算進行集中的順序控制。
6)計算機硬體系統由運算器、存儲器、控制器、輸入設備、輸出設備五大部件組成並規定了它們的基本功能。
7)採用二進位形式表示數據和指令。
8)在執行程序和處理數據時必須將程序和數據從外存儲器裝入主存儲器中,然後才能使計算機在工作時能夠自動調整地從存儲器中取出指令並加以執行。

發展歷程


電子計算機之父”的桂冠,被戴在數學家 馮·諾依曼(J.Von Neumann)頭上,而不是ENIAC的兩位實際研究者,這是因為馮·諾依曼提出了現代電腦的體系結構。
1944年夏,戈德斯坦在阿貝丁車站等候去費城的火車,偶然邂逅數學家馮·諾依曼教授。戈德斯坦告訴他莫爾學院的電子計算機項目。

開始研究

從1940年起,馮·諾依曼就是阿貝丁試炮場的顧問。他向戈德斯坦表示,希望親自到莫爾學院看看那台正在研製之中的機器。從此,馮· 諾依曼成為了莫爾小組的實際顧問,與小組成員頻繁地交換意見。年輕人機敏地提出各種設想,馮·諾依曼則運用他淵博的學識,把討論引向深入,並逐步形成電子計算機的系統 設計思想。在ENIAC尚未投入運行前,馮·諾依曼就看出這台機器致命的缺陷,主要弊端是程序 與計算兩分離。程序指令存放在機器的外部電路里,需要計算某個題目,必須首先用人工 接通數百條線路,需要幾十人干好幾天之後,才可進行幾分鐘運算。馮·諾依曼決定起草一份新的設計報告,對電子計算機進行脫胎換骨的改造。他把新機器的方案命名為“離散變數自動電子計算機”,英文縮寫是“EDVAC”。
1945年6月,馮 ·諾依曼與戈德斯坦、勃克斯等人,聯名發表了一篇長達101頁紙的報告,即計算機史上著名的“101頁報告”,直到今天,仍然被認為是現代電腦科學發展里程碑式的文獻。報告明確規定出計算機的五大部件,並用二進位替代十進位運算。EDVAC方案的革命意義在 於“存儲程序”,以便電腦自動依次執行指令。人們後來把這種“存儲程序”體系結構的 機器統稱為“諾依曼機”。由於種種原因,莫爾小組發生令人痛惜的分裂,EDVAC機器無法被立即研製。1946年6月,馮·諾依曼和戈德斯坦、勃克斯回到普林斯頓大學高級研究院,先期完成了另一台 ISA電子計算機(ISA是高級研究院的英文縮寫),普林斯頓大學也成為電子計算機的研究中心。

宣告完成

直到1951年,在極端保密情況下,馮·諾依曼主持的EDVAC計算機才宣告完成,它不僅可應用於科學計算,而且可用於信息檢索等領域,主要緣於“存儲程序”的威力。 EDVAC只用了3563隻電子管和1萬隻晶體二極體,以1024個44比特水銀延遲線來儲存程序和 數據,消耗電力和佔地面積只有ENIAC的1/3。
最早問世的內儲程序式計算機既不是ISA,也不是EDVAC,英國劍橋大學威爾克斯(M.Wilkes)教授,搶在馮·諾依曼之前捷足先登。威爾克斯1946年曾到賓夕法尼亞大學參加馮·諾依曼主持的培訓班,完全接受了馮· 諾依曼內儲程序的設計思想。回國后,他立即抓緊時間,主持新型電腦的研製,並於1949 年5月,製成了一台由3000隻電子管為主要元件的計算機,命名為“EDSAC”(電子儲存程序計算機)。威爾克斯後來還摘取了1967年度計算機世界最高獎——“圖靈獎”。

榮譽

在馮·諾依曼研製ISA電腦的期間,美國湧現了一批按照普林斯頓大學提供的ISA照片 結構複製的計算機。如:洛斯阿拉莫斯國家實驗室研製的MANIAC,伊利諾斯大學製造的 ILLAC。雷明頓·蘭德公司科學家沃爾(W. Ware)甚至不顧馮·諾依曼的反對,把他研製 的機器命名為JOHNIAC(“約翰尼克” ,“約翰”即馮·諾依曼的名字)。馮·諾依曼的大名已經成為現代電腦的代名詞,1994年,沃爾被授予計算機科學先驅獎,而馮·諾依曼本人則被追授予美國國家基礎科學獎。

主要成果


“英國劍橋大學威爾克斯(M.Wilkes)研製的EDSAC”(電子儲存程序計算機)。
洛斯阿拉莫斯國家實驗室研製的MANIAC。
伊利諾斯大學製造的 ILLAC。雷明頓·蘭德公司科學家沃爾(W. Ware)研製的機器JOHNIAC
以及早期的微處理器大多採用馮諾依曼結構,典型代表是Intel公司的X86微處理器。取指和取操作數都在同一匯流排上,通過分時復用的方式進行的。缺點是在高速運行時,不能達到同時取指令和取操作數,從而形成了傳輸過程的瓶頸。