正文 第一章 什麼是計算機(三)(1 / 3)

二、存儲程序概念

從上麵的分析可以看出,計算機采取的是一種“存儲程序”工作原理。它體現在以下三個方麵:

1.事先編製程序

為了讓計算機完成某項工作,必須事先編製程序。計算機最後執行的程序由機器指令的序列構成,換句話說,一段程序包含著若幹條機器指令,這些機器指令的前後執行順序體現了要求計算機完成的工作步驟,也就是反映了某種算法。

一條機器指令通常對應著計算機能實現的一種基本操作。當我們設計一種計算機時,首先要擬定這台計算機能實現哪些機器指令,也就是這台計算機的硬件能實現哪些基本功能,我們將這些機器指令的集合稱為這台計算機的指令係統。在編製程序時根據任務的需要,從指令係統中選取所需的指令,構成一定序列。

2.存儲程序

在計算機開始運算之前,先將程序和數據(有時數據也就包含在程序之中)輸入到計算機中,以便計算機能夠自動連續地運行,這就是所謂存儲程序的基本含意。通過編製並輸入各種不同的程序,計算機就能夠用於各種場合,完成各種任務。通過在程序上的擴充與完善,就能使計算機的功能更強。

3.自動連續執行程序

如果我們每向計算機發一次命令計算機才執行一步,那就不能發揮計算機高速工作的優越性,也就失掉了采用計算機的意義。而采取事先編製與存儲程序的做法,就為計算機的自動連續高速工作奠定了基礎。計算機開始執行程序後,由控製器依次地從存儲器中取出靖令,逐條地分析出是什麼指冷,要求完成什麼操作,從何處取得參與運算的數,運算結果送往何處,然後加以執行,一條指令執行完畢後又取出下一條指令。這樣一些過程是由計算機自動連續地完成,直到程序執行完畢才停機,中間可以不需要人工幹預,除非是程序根據需要有意向人提出詢問。

三、馮·諾依曼機的特點

對現在的計算機設計者來說,上麵所描述的工作方式已經是很平常的了,可在計算機剛出現時並不完全如此。例如1946年研製成功的一台計算機叫做ENIAC,被公認為第一台電子數字計算機,但它的內部存儲器中隻有20個寄存器,不足以存放程序,它是靠接插板來編程序,即先由操作者在控製台上設置開關和連線,然後啟動工作,這種方式被稱為台外程序式。後來,一位數學家馮·諾依曼在此基礎上進行總結分析,提出了設計數字計算機的一些基本思想,其中的核心就是存儲程序概念,這為現代數字計算機的基本結構奠定了基礎。迄今為止絕大多數實際應用的計算機都屬於馮·諾依曼體製的範疇,被稱為諾依曼機。因此對於學習計算機技術的人來說,應當首先了解馮·諾依曼體製的基本要點究竟是什麼。現在我們將它們歸納如下:

1.采用二進製形式表示數據和指令,即用二進製的數字代碼表示數或機器指令,二者在外形上並無區別。這一點是表沄計算機所要處理的數據信息和它所需獲得的命令信息的基礎(後麵我們將要進一步討論什麼是二進製,以及怎樣具體表示一個數或一條指令)。

2.采取“存儲程序”工作方式,即事先編製程序,事先存儲程序,然後自動連續地依次執行程序。這一點是諾依曼體製最核心的概念,計算機的許多具體工作方式就是由此派生出來的。

3.硬件方麵由五大部件組成:運算器、存儲器、控製器、輸入設備、輸出設備。

大家可能會想到兩個問題:既然指令和數都是以二進製形式存放在存儲器中,那又如何區分呢?一個程序段是由若幹指令組成的序列,那末,應該怎樣控製其執行的順序呢?

現在普遍采取這樣一種方法,即設置一個叫做程序計數器的部件,簡稱PC,讓它存放指明當前指令存放處的單元地址碼。控製按照PC內容去訪問存儲器,從PC指明的存儲單元中取出一條指令。如果現階段程序是順序執行,在取出現行指令後就讓PC的內容即地址碼加1,加1後的內容就是下一條指令所在存儲單元的地址碼。如果程序因為分支需要轉移,就將轉移後的地址碼送入PC,以便按新地址去取後繼指令。所以程序計數器PC就像是一個指針,它—直指示著程序的進程,由於大多數情況下程序將順序執行,所以要求PC具備計數功能,稱為程序計數器或指令計數器。既然已經設置了程序計數器,指令和數據既可以分別存放在不同區域,也可以將它們放在同一區域。簡單地講,按照程序計數器PC內容作為地址找到的是指令,按照指令給出的操作數地址找到的是數據。由於程序的執行過程大部分是順序執行,即大多數指令需要依次地存放,所以除了單個的即將使用的數據可以緊挨著指令存放外,一般還是將指令和數據分別存放在不同的區域。

1.3為什麼叫做數字計算機

通常我們所講的計算機,其全名是電子式數字計算機,許多人又將它稱為電腦。與一般所說的計算器不同,計算機具有五大部件的完整硬件結構,可以存儲信息,可以存儲並執行程序。電子式則指這種計算機主要依靠電子部件工作。那麼為什麼叫做數字計算機呢簡單地講它有兩層含意:

(1)在計算機中各種信息用“數字”表示。

(2)“數字”用“數字型的信號”表示。這裏有一個非常重要的基本概念,即信息的數字化表示,它是我們理解計算機工作原理的一個基本出發點,是本節闡述的重點。

電子計算機依靠電子線路進行工作,相應地以電信號作為信息表示的物理基礎。有兩種類型的電信號:模擬信號與數字信號。本節主要是討論計算機所要采用的數字信號,以及如何用數字信號去表示數字信息。但是我們首先介紹一下有關模擬信號的知識,通過對比,以便對數字信號理解得更深刻一些。

一、模擬信號與模擬量

模擬信號是一種在時間上連續的信號,用信號的某些參數(如幅值)去模擬信息(如數值的大小或某物理量的大小),所以稱為模擬信號,用模擬信號表示的量就叫做模擬量。下麵舉幾個常見的實例: