『壹』 計算機的工作原理是什麽
【接上】
計算機硬體系統組成
從功能上來看,計算機的硬體系統由運算器、 控制器、存儲器、輸入設備和輸出設備組成,五大部分由匯流排連接。 控制器和運算器合在一起被 稱為中央處理器CPU(Central Processing Unit)。
計算機基本工作原理
馮�6�1諾依曼原理
世界上第一台計算機基於馮�6�1諾依曼原理,其基本思想是:存儲程序與程序控制。存儲程序是指人們必須事先把計算機的執行步驟序列(即程序)及運行中所需的數據,通過一定方式輸入並存儲在計算機的存儲器中。程序控制是指計算機運行時能自動地逐一取出程序中一條條指令,加以分析並執行規定的操作。 到目前為止,盡管計算機發展了4代,但其基本工作原理仍然沒有改變。 根據存儲程序和程序控制的概念,在計算機運行過程中,實際上有兩種信息在流動。一種是數據流,這包括原始數據和指令,它們在程序運行前已經預先送至主存中,而且都是以二進制形式編碼的。在運行程序時數據被送往運算器參與運算,指令被送往控制器。另一種是控制信號,它是由控制器根據指令的內容發出的,指揮計算機各部件執行指令規定的各種操作或運算,並對執行流程進行控制。這里的指令必須為該計算機能直接理解和執行。
計算機指令與指令系統
指令是指計算機完成某個基本操作的命令。指令能被計算機硬體理解並執行。一條指令就是 計算機機器語言的一個語句,是程序設計的最小語言單位。
一台計算機所能執行的全部指令 的集合,稱為這台計算機的指令系統。指令系統比較充分地說明了計算機對數據進行處理的 能力。不同種類的計算機,其指令系統的指令數目與格式也不同。指令系統越豐富完備,編 製程序就越方便靈活。指令系統是根據計算機使用要求設計的。
一條計算機指令是用一串二進制代碼表示的,它通常應包括兩方面的信息:操作碼和地址碼 。操作碼用來表徵該指令的操作特性和功能,即指出進行什麼操作;地址碼指出參與操作的 數據在存儲器中的地址。一般情況下,參與操作的源數據或操作後的結果數據都在存儲器中 ,通過地址可訪問該地址中的內容,即得到操作數。
CPU訪問存儲器需要一定的時間,為了提高運算速度,有時也將參與運算的數據或中間結果 存放在CPU寄存器中或者直接存放在指令中。
計算機的全名應該叫「通用電子數字計算機」(General-Purpose Electronic Digital Computer)。這個名稱說明了計算機的許多性質。
「通用」說明計算機不是一種專用設備,我們可以把它與電話做一個比較。電話只能作為一種通訊工具,別無他用。而計算機不僅可以作為計算根據,只要有合適的軟體,它也可以作為通訊工具使用,還能有無窮無盡的其他用途。
「電子」是計算機硬體實現的物理基礎,計算機是非常復雜的電子設備,計算機的運行最終都是通過電子電路中的電流、電位等實現的。
「數字」化是計算機一切處理工作的信息表示基礎。在計算機里,一切信息都是採用數字化的形式表示的,無論它原本是什麼。無論是數值、文字,還是圖形、聲音等等,在計算機里都統一到二進制的數字化表示上。數字化是計算機的一種基本特徵,也是計算機通用性的一個重要基礎。
「計算機」意味著這是一種能夠做計算的機器。計算機能夠完成的基本動作不過就是數的加減乘除一類非常簡單的計算動作。但是,當它在程序的指揮下,以電子的速度,在一瞬間完成了數以萬億計的基本動作時,就可能完成了某種很重大的事情。我們在計算機的外部看到的是這些動作的綜合效果。從這個意義上看,計算機本身並沒有多少了不起的東西,唯一了不起的就是它能按照指揮行事,做得快。實際上,更了不起的東西是程序、是軟體,每個程序或軟體都是特殊的,針對面臨的問題專門設計實現的東西。
目前對計算機的另一種流行稱呼是「電腦」,這是從香港台灣轉播開來的一個譯名,目前使用很廣泛。實際上這個名稱並不合適,很容易把人的理解引到錯誤的方向(或許這正是一些人有意或無意的目標)。我們從來不把原始人用於打樹上果子的木棍稱為「木手」,也不把火車稱為「鐵腳」。因為無論是木棍還是火車,雖然各有其專門用途方面的力量,各有其「長處」,但它們都只能在人手腳功能中很窄的一個方面有用,與手腳功能的普適性是根本無法相提並論的。同樣,計算機能幫助人完成的也僅僅是那些能夠轉化為計算問題的事項,與人腦的作用范圍和能力相比,計算機的應用范圍也是小巫見大巫了。
計算機的核心處理部件是CPU(Central Processing Unit,中央處理器)。目前各類計算機的CPU都是採用半導體集成電路技術製造的,它雖然不大,但其內部結構卻極端復雜。CPU的基礎材料是一塊不到指甲蓋大小的矽片,通過復雜的工藝,人們在這樣的矽片上製造了數以百萬、千萬計的微小半導體元件。從功能看,CPU能夠執行一組操作,例如取得一個數據,由一個或幾個數據計算出另一個結果(如做加減乘除等),送出一個數據等。與每個動作相對應的是一條指令,CPU接收到一條指令就去做對應的動作。一系列的指令就形成了一個程序,可能使CPU完成一系列動作,從而完成一件復雜的工作。
在計算機誕生之時,指揮CPU完成工作的程序還放在計算機之外,通常表現為一疊打了孔的卡片。計算機在工作中自動地一張張讀卡片,讀一張就去完成一個動作。實際讀卡片的事由一台讀卡機完成(有趣的是,IBM就是製造讀卡機起家的)。採用這種方式,計算機的工作速度必然要受到機械式讀卡機的限制,不可能很快。
美國數學家馮�6�1諾依曼最早看到問題的症結,據此提出了著名的「存儲程序控制原理」,從而導致現代意義下的計算機誕生了。
計算機的中心部件,除了CPU之外,最主要是一個內部存儲器。在計算機誕生之時,這個存儲器只是為了保存正在被處理的數據,CPU在執行指令時到存儲器里把有關的數據提取
【未完】