Foundations of Computer Science Chapter 1 簡介 計算機概論 第二版 Foundations of Computer Science Chapter 1 簡介
1.1 圖靈模型 通用的計算裝置概念是在 1937 年由艾倫圖靈(Alan Turing)所描述。他提出所有的計算都可以用一部特殊種類的機器來執行,現在我們稱此機器為圖靈機器(Turing machine)。 將電腦視為一部資料處理器(data processor)太過於籠統。在 這個模型,一部掌上型的計算機也可視為一部電腦。 這個模型的另一個問題是:沒有指出資料處理的類型,換句 話說,也就是沒有清楚地指出基於這個模型的機器可以有多 少種資料處理類型或者運算集合。 p.2
圖 1.1 單一用途的電腦機器 p.2
現今的電腦是一部通用機器,它們可以處理很多不同類型的工作。這意味著,我們需要將此模型改變為圖靈模型以反映出現今電腦的實際情形。 圖靈模型是一個比較好的通用電腦模型。這個模型加入額外 的元素到電腦機器中:那就是程式。一個程式(program)可 視為一個電腦指令的集合,而這些指令將告訴電腦應該對資 料做些什麼運算處理。 輸出資料(output data)取決於兩個因素的結合:輸入資料 (input data)及程式。 p.2
圖 1.2 一部基於圖靈模型的電腦:可程式化資料處理器 圖 1.2 一部基於圖靈模型的電腦:可程式化資料處理器 p.3
圖 1.3 相同程式,不同資料 p.3
圖 1.4 相同資料,不同程式 p.4
1.2 馮紐曼模型 由於程式和資料在邏輯上是相同的,所以在西元 1944 到 1945 年,約翰‧馮紐曼提出程式也應該儲存在電腦的記憶體裡面。 基於馮紐曼模型(von Neumann model)所建構的電腦,其硬 體可分成四個子系統:記憶體、算術邏輯單元、控制單元及 輸入∕輸出。 p.4
圖 1.5 馮紐曼模型 p.5
算術邏輯單元(arithmetic logic unit;ALU)是執行算術及邏輯運算的地方。 記憶體(memory)是一個儲存區域。 算術邏輯單元(arithmetic logic unit;ALU)是執行算術及邏輯運算的地方。 控制單元(control unit)則是控制著記憶體,算術邏輯單元及輸入/輸出子系統的運作。 輸入子系統接收資料及來自電腦外部的程式,而輸出子系統則是將運算處理的結果傳送至電腦外部。 馮紐曼模型敘述程式必須儲存在記憶體裡面,這是和只將資料儲存在記憶體裡的早期電腦架構完全不同的地方。現在電腦的記憶體同時儲存著程式和程式對應的資料。 p.5
1.3 電腦構成要素 我們可以把一部電腦想成是由三個部分所組成:電腦硬體、資料和電腦軟體。 1.3 電腦構成要素 我們可以把一部電腦想成是由三個部分所組成:電腦硬體、資料和電腦軟體。 我們的計數系統所使用的數字有十種狀態(0 到9)。你無法將此類型的資訊直接儲存在電腦裡,必須先將它們轉換至 0 和 1 兩種狀態的系統。 在馮紐曼模型裡,程式儲存在電腦的記憶體裡。 另一項要求是程式必須包含一個指令的序列。 p.6
圖 1.6 記憶體中的程式和資料 p.7
圖 1.7 指令構成的程式 p.7
為何程式必須是由指令所構成?原因是為了可以重複利用。 是一個程式設計師必須先以一個步驟接著一個步驟的方式來解決問題,然後再找出適當指令(或者指令序列)將這些步驟加以實現。這種一個接著一個步驟的方法稱為演算法(algorithm)。 用符號來表示二元樣式的點子使得電腦語言(computer languages)的觀念因而產生。 p.8
軟體工程(software engineering)是一門關於如何設計及撰寫結構化程式的學問。 到有一系列的指令對所有的程式來說是共用的。對於這些指令來說,只寫一次就能提供所有程式使用是比較有效率的,因此作業系統(operating system)的觀念出現了。 p.8
1.4 歷史 計算機和電腦的歷史分為三個階段。 機械機器(西元 1930 年以前) 電子計算機的誕生(西元 1930 - 1950 年) 1.4 歷史 計算機和電腦的歷史分為三個階段。 機械機器(西元 1930 年以前) 電子計算機的誕生(西元 1930 - 1950 年) 第一部完全電子化通用電腦是由 John Mauchly 和 J. Presper Eckert 所建造出來的。這部電腦稱為 ENIAC。 第一部以馮紐曼模型為基礎的電腦在 1950 年於賓州大學製造出來,稱為 EDVAC。 電腦世代(西元 1950 年迄今) 第一部桌上型電腦 Altair 8800 在 1975 年誕生。 p.9
1.5 社會和道德的問題 電腦已經引發一些爭議。 社會問題 依賴性 社會公平性 數位落差 道德問題 隱私 版權 電腦犯罪 p.11