單片機原理及應用/計算機的基本結構

世界上第一台電子數字式計算機ENIAC(The Electronic Numerical Intergrator and Computer)於1946年2月15日在美國賓州大學正式投入運行,它使用了17 468個真空電子管和86 000個其他電子元件,耗資100萬美元以上,耗電174千瓦,占地170平方米,有兩個教室那麼大,重達30噸,每秒鐘可進行5000次加法運算。雖然它的功能還比不上今天最普通的一台微型計算機,但在當時它已是運算速度的絕對冠軍,並且其運算的精確度和準確度也是史無前例的。ENIAC奠定了電子計算機的發展基礎,開闢了一個計算機科學技術的新紀元。

ENIAC誕生後,1946年6月,美籍匈牙利數學家馮·諾依曼提出了重大的改進理論,主要有兩點:一是電子計算機應該以二進位為運算基礎;二是電子計算機應採用「存儲程序」方式工作。
馮·諾依曼體系的主要思想包括:

  • 採用二進位代碼形式表示信息(數據、指令);
  • 採用存儲程序工作方式(馮·諾依曼思想最核心的概念);
  • 計算機硬體系統由五大部件(運算器、控制器、存儲器、輸入設備和輸出設備)組成。

這些思想奠定了現代計算機的基本結構,並且開創了程序設計的新時代。
馮·諾依曼對計算機界的最大貢獻在於「存儲程序控制」概念的提出和實現,主要包含以下三個方面的思想:

  • 根據任務編製程序:計算機對任務的處理,首先必須設計相應的算法,而算法是通過程序來實現的,程序就是一條條的指令,告訴計算機按照一定的步驟不斷地去執行。程序中還應提供需要處理的數據,或者規定計算機在什麼時候、什麼情況下從輸入設備取得數據,或向輸出設備輸出數據。
  • 將編制好的程序存儲在計算機內部:計算機只能識別二進位文件,也就是一串0和1的組合。我們編寫的程序,不管使用哪種語言,如彙編語言、C語言、JAVA等,最終都要編譯成二進位代碼,也就是機器語言,計算機才能夠讀懂和識別,才能按照一條條指令去執行。因此,編寫好的程序最終將變為指令序列和原始數據,保存在存儲器中,提供給計算機執行。
  • 計算機能夠自動、連續地執行程序,並得到需要的結果:存儲器就是一個個小房間,並且按照一定的地址進行編號,需要執行的指令和數據都以二進位代碼的形式存放在存儲器中。計算機開始執行程序,設置一個程序計數器PC(Program Counter)指向需要執行的指令或者代碼處,每執行一個字節的指令,PC計數器自動加1,如果程序需要轉移,PC指向轉移地址處,按照轉移地址讀取後續指令。計算機就是這樣能夠自動地、連續不斷地從存儲器中逐條讀取指令,並且完成相應操作,直到整個程序執行完畢。

馮·諾依曼的這些理論的提出,解決了計算機運算自動化的問題和速度配合問題,對後來計算機的發展起到了決定性的作用。直至今天,絕大部分的計算機還是採用馮·諾依曼方式工作。