一、計算機系統簡介
1. 計算機軟硬件概念
計算機系統:
硬件:計算機的實體,如主機、外設等。
軟件:由具有各類特殊功能的信息 (程序)組成。
軟件:
系統軟件:用來管理整個計算機系統。
(語言處理程序、操作系統、服務型程序、數據庫管理系統、網絡軟件)。
應用軟件:按任務需要編製成的各種程序 。
2. 計算機系統的層次結構
3. 計算機體系結構和計算機組成
計算機體系結構: 程序員所見到的計算機系統的屬性概念性的結構與功能特性。
如:有無乘法指令。
計算機組成: 實現計算機體系結構所體現的屬性。
如:如何實現乘法指令。
二、計算機的基本組成
1. 馮·諾依曼計算機的特點
1. 計算機由運算器、存儲器、控制器、輸人設備和輸出設備五大部件組成。
2. 指令和數據以同等地位存放於存儲器內,並可按地址尋訪。
3. 指令和數據均用二進制數表示。
4. 指令由操作碼和地址碼組成,操作碼用來表示操作的性質,地址碼用來表示操作數在存儲器中的位置。
5. 指令在在儲器內按順序存放。通常,指令是順序執行的,在特定條件下,可根據運算結果或根據設定的條件改變執行順序。
6. 機器以運算器爲中心,輸人輸出設備與存儲器間的數據傳送通過運算器完成。
運算器: 算術運算、邏輯運算;
儲存器: 存放數據與程序;
控制器: 指揮程序的運行,語句的執行順序;
輸入設備: 將信息轉換爲機器能夠識別的形式;
輸出設備: 將結果轉換爲人們熟悉的形式;
2. 計算機硬件框圖
2.1 以存儲器爲中心的計算機硬件框圖
2.2 現代計算機硬件框圖
主存儲器可以直接與CPU交換信息;
輔助存存儲器又稱輔存,又稱外存;
ALU: 算術邏輯單元,完成算術邏輯運算;
CU: 控制單元,用來解釋存儲器的指令,併發出各種操作命令來執行指令;
3. 計算機的工作步驟
3.1 上機前的準備
(1)建立數學模型
(2)確定計算方法
(3)編制解題程序
指令 = 操作碼 + 地址碼
實例:
3.2 計算機的解題過程
存儲器基本組成:
1個字節(Byte)被定義爲由 8位(bit)二進制組成;
MAR : 存儲器地址寄存器,反應存儲單元的個數;
MDR : 存儲器數據寄存器,反應存儲字長;
假如MAR=4位,MDR=8位,那麼存儲單元個數爲2^4=16,存儲字長8;
運算器基本組成:
運算器最少包括3個寄存器(ACC-累加器,MQ-乘商寄存器,X-操作數寄存器)和一個算術邏輯單元(ALU);
運算器的基本組成及操作過程:
控制器的基本組成:
控制器由程序計數器(PC)、指令寄存器(IR)、控制單元(CU)組成。
- PC 用來存放當前將要執行的指令地址,它與主存的MAR之間有一條直接的通路,可自動加一形成下一條指令的地址。
- IR 用來存放當前的指令,IR的內容來自主存的MDR。分析指令:OP(IR)—>CU.
- CU 用來分析當前指令所需要完成的操作,併發出各種微操作命令序列,用來控制所有被控對象。
主機完成一條指令的過程:
三、計算機硬件的主要技術指標
1. 機器字長
機器字長是指CPU一次能處理數據的位數,通常與CPU的寄存器位數有關。
字長越長,數的表示範圍越大,精度也越高。機器的字長也會影響機器的運算速度。倘若CPU字長較短,又要運算位數較多的數據,那麼需要經過兩次或多次的運算才能完成,這樣勢必影響機器的運算速度。
2. 運算速度
3. 存儲容量
儲存容量是指存放二進制代碼的總位數。
存儲器的容量應該包括:主存容量和輔存容量。
MAR
的位數反映了存儲單元的個數,MDR
的位數反映了存儲字長。
例如:
MAR爲16位,,根據216 =65 536,表示此存儲體內有65 536個存儲單元(即64 K個存儲字,1 K=1 024=210);而MDR爲32位,表示存儲容量爲216x32=221=2 M位(1 M=220)。
現代計算機中常以字節數來描述容量的大小,因一個字節已被定義爲8位二進制代碼,故用字節數便能反映主存容量。例如,上述存儲容量爲2 M位,也可用218字節表示,記作218B或256 KB(B用來表示一個字節)。
課後練習:
1. 什麼是計算機系統、計算機硬件和計算機軟件?
計算機系統:由計算機硬件系統和軟件系統組成的綜合體。
計算機硬件:指計算機中的電子線路和物理裝置。
計算機軟件:計算機運行所需的程序及相關資料。
2. 如何理解計算機的層次結構?
計算機硬件、系統軟件和應用軟件構成了計算機系統的三個層次結構。
(1)硬件系統是最內層的,它是整個計算機系統的基礎和核心。
(2)系統軟件在硬件之外,爲用戶提供一個基本操作界面。
(3)應用軟件在最外層,爲用戶提供解決具體問題的應用系統界面。
通常將硬件系統之外的其餘層稱爲虛擬機。各層次之間關係密切,上層是下層的擴展,下層是上層的基礎,各層次的劃分不是絕對的。
3. 如何理解計算機組成和計算機體系結構?
計算機體系結構是指那些能夠被程序員所見到的計算機系統的屬性,如指令系統、數據類型、尋址技術組成及I/O機理等。計算機組成是指如何實現計算機體系結構所體現的屬性,包含對程序員透明的硬件細節,如組成計算機系統的各個功能部件的結構和功能,及相互連接方法等。
4. 解釋下列概念:
主機:是計算機硬件的主體部分,由CPU和主存儲器MM合成爲主機。
CPU:中央處理器,是計算機硬件的核心部件,由運算器和控制器組成;
主存:計算機中存放正在運行的程序和數據的存儲器,爲計算機的主要工作存儲器,可隨機存取;由存儲體、各種邏輯部件及控制電路組成。
存儲單元:可存放一個機器字並具有特定存儲地址的存儲單位。
存儲元件:存儲一位二進制信息的物理元件,是存儲器中最小的存儲單位,又叫存儲基元或存儲元,不能單獨存取。
存儲字:一個存儲單元所存二進制代碼的邏輯單位。
存儲字長:一個存儲單元所存儲的二進制代碼的總位數。
存儲容量:存儲器中可存二進制代碼的總量;(通常主、輔存容量分開描述)。
機器字長:指CPU一次能處理的二進制數據的位數,通常與CPU的寄存器位數有關。
指令字長:機器指令中二進制代碼的總位數。
5.解釋下列英文縮寫的中文含義:
CPU:Central Processing Unit,中央處理機(器),是計算機硬件的核心部件,主要由運算器和控制器組成。
PC:Program Counter,程序計數器,其功能是存放當前欲執行指令的地址,並可自動計數形成下一條指令地址。
IR:Instruction Register,指令寄存器,其功能是存放當前正在執行的指令。
CU:Control Unit,控制單元(部件),爲控制器的核心部件,其功能是產生微操作命令序列。
ALU:Arithmetic Logic Unit,算術邏輯運算單元,爲運算器的核心部件,其功能是進行算術、邏輯運算。
ACC:Accumulator,累加器,是運算器中既能存放運算前的操作數,又能存放運算結果的寄存器。
MQ:Multiplier-Quotient Register,乘商寄存器,乘法運算時存放乘數、除法時存放商的寄存器。
X:此字母沒有專指的縮寫含義,可以用作任一部件名,在此表示操作數寄存器,即運算器中工作寄存器之一,用來存放操作數;
MAR:Memory Address Register,存儲器地址寄存器,在主存中用來存放欲訪問的存儲單元的地址。
MDR:Memory Data Register,存儲器數據緩衝寄存器,在主存中用來存放從某單元讀出、或要寫入某存儲單元的數據。
I/O:Input/Output equipment,輸入/輸出設備,爲輸入設備和輸出設備的總稱,用於計算機內部和外界信息的轉換與傳送。
MIPS:Million Instruction Per Second,每秒執行百萬條指令數,爲計算機運算速度指標的一種計量單位。
6. 指令和數據都存於存儲器中,計算機如何區分它們?
-
通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的爲指令,在執行指令階段(或相應微程序)取出的即爲數據。
-
通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。
從本篇歸納總結《計算機組成原理(第2版)唐朔飛》第一章的知識點。
文章中的圖片來源於“哈爾濱工業大學 劉宏偉老師的課程 PPT”。
有需要劉宏偉老師課程PPT的同學可以 關注碼農雲庫
公衆號回覆“計算機組成原理講義(劉宏偉)”就可下載文件。