《計算機科學導論》一1.2 馮·諾依曼模型
本節書摘來異步社區《計算機科學導論》一書中的第1章 ,第1.1節,[美]貝赫魯茲A. 佛羅讚(Behrouz A. Forouzan)著 劉藝劉哲雨等譯, 更多章節內容可以訪問雲棲社區“異步社區”公眾號查看。
1.2 馮·諾依曼模型
基於通用圖靈機建造的計算機都是在存儲器中儲存數據。在1944~1945年期間,馮·諾依曼指出,鑒於程序和數據在邏輯上是相同的,因此程序也能存儲在計算機的存儲器中。
1.2.1 4個子係統
基於馮·諾依曼模型建造的計算機分為4個子係統:存儲器、算術邏輯單元、控製單元和輸入/輸出單元(見圖1-5)。
1.存儲器
存儲器是用來存儲的區域,在計算機的處理過程中存儲器用來存儲數據和程序,我們將在這一章後邊討論存儲數據和程序的原因。
2.算術邏輯單元
算術邏輯單元(ALU)是用來進行計算和邏輯運算的地方。如果是一台數據處理計算機,它應該能夠對數據進行算術運算(例如進行一係列的數字相加運算)。當然它也應該可以對數據進行一係列邏輯運算,正如我們將在第4章看到的那樣。
3.控製單元
控製單元是對存儲器、算術邏輯單元、輸入/輸出等子係統進行控製操作的單元。
4.輸入/輸出
輸入子係統負責從計算機外部接收輸入數據和程序;輸出子係統負責將計算機的處理結果輸出到計算機外部。輸入/輸出子係統的定義相當廣泛,它們還包含輔助存儲設備,例如,用來存儲處理所需的程序和數據的磁盤和磁帶等。當一個磁盤用於存儲處理後的輸出結果,我們一般就可以認為它是輸出設備,如果從該磁盤上讀取數據,則該磁盤就被認為是輸入設備。
1.2.2 存儲程序概念
馮·諾依曼模型中要求程序必須存儲在內存中。這和早期隻有數據才存儲在存儲器中的計算機結構完全不同。完成某一任務的程序是通過操作一係列的開關或改變其配線來實現的。
現代計算機的存儲單元用來存儲程序及其響應數據。這意味著數據和程序應該具有相同的格式,這是因為它們都存儲在存儲器中。實際上它們都是以位模式(0和1序列)存儲在內存中的。
1.2.3 指令的順序執行
馮·諾依曼模型中的一段程序是由一組數量有限的指令組成。按照這個模型,控製單元從內存中提取一條指令,解釋指令,接著執行指令。換句話說,指令就一條接著一條地順序執行,當然,一條指令可能會請求控製單元以便跳轉到其前麵或者後麵的指令去執行,但是這並不意味著指令沒有按照順序來執行。指令的順序執行是基於馮·諾依曼模型的計算機的初始條件。當今的計算機以最高效的順序來執行程序。
最後更新:2017-06-21 15:32:11