由於世界第一臺電子計算機ENIAC設計和試運行時出現了各種問題,1945年馮·諾依曼以「關於EDVAC的報告草案」為題,起草了長達101頁的總結報告。報告廣泛而具體地介紹了製造電子計算機和程序設計的新思想。
EDVAC (Electronic Discrete variable Automatic Computer),中文名稱是離散變量自動電子計算機。
EDVAC方案明確奠定了新機器由五個部分組成,包括:運算器、邏輯控制裝置、存儲器、輸入和輸出設備,並描述了這五部分的職能和相互關係。
EDVAC方案設計思想之一是二進位,他根據電子元件雙穩工作的特點,建議在電子計算機中採用二進位。報告提到了二進位的優點,並預言,二進位的採用將大大簡化機器的邏輯線路。
在我們今天的角度來看,馮·諾依曼的方案設計是十分先進的,直到現在我們如今的計算機都是在馮·諾依曼設計的計算機的結構中優化和迭代而來,而計算機的底層仍然還是二進位。
EDVAC的出現
1949年8月EDVAC交付給彈道研究實驗室。它使用了大約6000個真空管和12000個二極體,佔地45.5平方米,重達7850千克,消耗電力56千瓦。
EDVAC是二進位串行計算機,所謂串行即計算機同一時間只能運行一條程序,它的硬體具有加減乘的功能,除法需要通過軟體程序才能進行計算。
EDVAC計算機執行一條加法指令需要約864微秒,執行乘法指令2900微秒(或2.9毫秒)。 它是使用延遲線存儲器(相當於如今計算機的內存),它的容量有1000個44位(bit)的字,按照不嚴謹的換算大概相當於今天的5.5KB。
它的物理硬體上包括:
一個磁帶記錄儀(相當於如今電腦的硬碟)
一個連接示波器的控制單元(勉強算是低級版的顯示器)
一個分發單元,用於從控制器和內存接受指令,並分發到其他單元
一個運算單元(相當於如今的CPU的運算部分功能)
一個定時器(CPU的時鐘,決定CPU的頻率)
使用汞延遲線的存儲器單元(相當於如今計算機的內存)
到1960年,EDVAC每天運行超過20小時,平均8小時無差錯時間。EDVAC的硬體不斷升級,1953年添加穿孔卡片輸入輸出;1954年添加額外的磁鼓內存;1958年添加浮點運算單元。
可以說EDVAC是第一臺現代意義的通用計算機。和之前的世界上第一臺電子計算機ENIAC不同,EDVAC首次使用二進位而不是十進位。它由五個基本部分組成:(1)運算器CA(2)控制器CC(3)存儲器M(4)輸入裝置I(5)輸出裝置O;
這種體系結構一直延續至今,現在使用的計算機,其基本工作原理仍然是存儲程序和程序控制,所以現在一般計算機被稱為馮諾依曼結構計算機。鑑於馮諾依曼在發明電子計算機中所起到關鍵性作用,他被西方人譽為"計算機之父"。
正是EDVAC計算機的出現,使得程序編寫成為了可能,由於它的功能一部分是由它設計的時候自帶的加減乘,另外一部分功能是通過基礎的機械代碼1和0編寫成的程序,通過打孔卡片載入到計算機的內存當中,在運行的時候進行調用。
但是,由於機械語言就是一堆0和1組成的編碼,由於它們太過反自覺,所以晦澀難懂,使得能夠進行編程的人至少需要有博士的知識水平才能勝任,而且編寫一大堆0和1的機械語言,十分容易出錯,而且在一堆0和1當中尋找到其中的錯誤,也是十分的困難。
最重要的一點,這臺計算機的代碼移植到其他計算機中,是不能使用的,必須要重新編寫,這會導致計算機難以推廣,畢竟同一個功能,換一臺計算機就需要重新編寫,這會耗費太多的人力,而且這個編程還不是一般人能寫出來的。
於是,我們需要一種新的程式語言,它需要有以下特點:1.容易掌握。2.能移植到不同的計算機中使用。
欲知後事如何,請在下回分解,編程是什麼——彙編語言的出現。