第一章 計算機系統概述
1.1 計算機基本概念
-
計算機按照指令和資料流的分類:
(1)單指令單資料流:SISD,傳統馮諾依曼體系
(2)單指令多資料流:SIMD,
(3)多指令單資料流:這種計算機實際上不存在
(3)多指令多資料流:MIMD,
-
軟硬體邏輯上等效:
如果一個功能,既能用軟體實作,又能用硬體實作,則稱其為軟硬體邏輯等效
-
進階語言-類自然語言 -> 虛拟機器M4
彙編語言-符号語言 -> 虛拟機器M3
----------------------------------
作業系統 - 虛拟機M2
(一開始計算機并沒有設計這一層,後來為了把每次程式設計都需要用到的檔案管理,記憶體管理等抽取出來而形成)
----------------------------------
機器語言-二進制 -> 實際機器M1
微指令系統 -> 微程式機器M0
【注】一條機器指令就是一條微程式,這條微程式是由多條微指令構成的,每個微指令發送一個微指令進行一個微操作讓計算機前行。
-
計算機硬體基本組成:馮諾依曼機器
(1)運算器,控制器,存儲器,輸入輸出裝置
(2)采用存儲程式的方式執行,資料用二進制形式表示
(3)指令由操作碼和位址碼組成
(4)指令在存儲器中按照執行順序存放,由PC緻命要執行的指令的存儲單元。一般為按順序遞增
(5)馮諾依曼機以運算器為核心,而現代機器以存儲器為核心(總線結構能看出來)
-
CPU:運算器ALU+控制器CU
主機:CPU+主存
硬體:外存
IO裝置:輸入輸出裝置
1.2 馮諾依曼結構中的5大部件
-
運算器
運算器的長度x表明,一次最多可以對2個x位的資料進行操作
-
存儲器
(1)存儲器由多個小房間組成,一個小房間存儲8bit資料,也就是1byte
(2)\(2^{10}\)差生一個機關遞進
(3)MAR:存儲位址的寄存器
MDR:存儲資料的寄存器
(4)MAR的位數和MDR的位數可以算出整個主存的大小。
MAR的位數給出了主存中有幾個小房間,而MDR的位數給出了每個小房間的大小是多少。eg:MAR10位,MDR8位,則主存總共\(2^10 * 8bit\) 3. 控制器
(1)任務:按照一定順序逐條取指令,對指令譯碼,然後執行指令的操作
(2)控制器在一個取值周期到來後從記憶體讀取資訊流(指令流),流向執行器
(3)執行器再周期的從記憶體中讀取資訊流(資料流),流向運算器
-
計算機的全過程
(1)輸入程式和資料
(2)程式首位址放到pc
(3)啟動應用程式
(4)把PC寄存器的值放到MAR寄存器中
(5)按照MAR的位址從主存取得資料放到MDR
(6)此時取得的資料是指令,是以再把MDR的資料放到IR(指令寄存器)
(7)分析指令OP(IR):分解開操作數和操作碼,把IR的操作碼放到CU(控制碼)
(9)執行指令:把IR的操作數(需要操作的數的位址)部分拿出來放到mar,按照mar的位址去主存取數放到MDR,再把MDR的資料放到ACC(ALU中的累加器)
(10)最後執行PC+1放到PC
(11)列印結果
(12)解除安裝程式
1.3 計算機性能名額
- 機器字長:參與運算的資料的基本位數。也是加法器,寄存器的位數
- 資料總線一次傳輸的資料位數稱作資料同路的寬度
- 吞吐量:指的是系統在機關時間内處理的請求數量
-
響應時間:系統對請求做出響應的時間=CPU時間+等待時間
1)CPU時間為運作程式所花的時間
2)等待時間:用于磁盤通路,存儲器通路,IO操作,作業系統的開銷時間
- CPU主頻又稱時間頻率,表示數字脈沖信号振蕩的頻率。機關是時鐘周期/s
- 主頻的倒數就是時鐘周期
- CPI是每條指令執行時所需的時鐘周期數。CPI往往使一個平局數,使用機率論算出來的機率和
- IPC是每個時鐘周期執行的指令數,和CPI成倒數關系