CPU結構
右下:運算器
算術邏輯單元ALU(核心)
負責運算,數據通路
包含加法器和移位寄存器、控制邏輯
累加器ACC:特殊寄存器
提供需要送入ALU的操作數,存儲ALU結果
累加:ACC+x->ACC
暫存器:
暫時存放需要送入ALU的操作數,不放結果
程序員不可見
標誌寄存器FR
PSW = 狀態(條形碼)位+控制位
狀態爲:記錄ALU運算後的狀態或特徵:後續指令可根據狀態標誌決定執行順序
Z結果爲0
N結果爲負
V發現溢出
C發生進位
控制標誌位
對CPU某些行爲進行控制和管理
D = 1 地址減量
I = 1 允許外部中斷
T = 1 單步中斷
STI:將I置1:開中斷
CLI:I爲0:關中斷
中下:控制器
整個CPU控制中心
根據指令操作碼和時序信號,產生各種控制信號
指令寄存器IR
臨時存放下一條待執行指令
指令譯碼器ID
只能執行指令
指令兩個構成
操作碼錶示執行的操作
地址碼錶示指令執行時的操作對象的地址
或地址碼本身就包括操作數
ID只對操作碼進行譯碼
操作控制器OC
根據譯碼器結果產生控制信號併發送給部件,控制完成
程序計數器PC
存放下一條待執行指令內存中的地址
計算機開機時,指向引導程序的第一條指令
執行後 自動修改PC = PC + n
微操作
一條指令分解爲一系列微操作
優點:可由簡單電路實現,可被多個指令複用
控制器實現方式
1.微程序控制器
指令執行過程看做多個微操作序貫執行完成的
對每個微操作進行編碼,形成微操作碼,微操作碼由簡單電路產生控制信號
執行順序控制位:指示後續的順序
微操作碼+執行順序控制位 = 微指令
指令:一段由多個微指令編排而成的微程序
所有指令對應的微程序存放在控制存儲器CM中
微地址:微指令在CM中的地址
執行過程:
對應微指令從CM中讀出,微操作碼譯碼產生微操作控制信號
1.微操作碼由指令譯碼器譯碼,對應微程序在CM中的首地址
2.經過譯碼後,從CM中讀出第一條微指令,微操作碼部分送往微操
作譯碼器譯碼,生產相應的控制信號
3.執行順序控制位送往微地址形成電纜,生產下一條微指令的微地址
4.不斷重複
特點:硬件電路規整,可執行復雜指令,速度慢
2.硬連線控制器
把控制器看做專門產生時序控制信號的邏輯電路
不能改
特點:速度快、電路複雜、難以實現複雜信號、調試改動困難
左下:寄存器陣列
CPU內部的若干高速存儲單元,每個有編號或名稱,可直接訪問
CPU和寄存器之間數據傳輸最快
只能暫時存放CPU工作是所需的少量數據和地址(指令長度限制)
專用
通用:爲ALU運算提供一個存儲區
地址和數據緩衝器
數據通道
計算機按功能分類:CU和EU
CU 控制部件:負責指令譯碼、生產控制信號
EU 執行部件:負責指令執行
而在執行過程中,數據在運算器、寄存器陣列和系統總線接口之間通過內部總線進行傳送,所以這幾個部件也稱爲數據通道
模型機指令集和指令執行過程
微指令
機器指令:CPU能識別和直接執行額一條二進制編碼序列
含操作碼和操作數兩部分
宏指令:若干機器指令組成的軟件指令
指令系統:所有指令的集和
指令集架構ISA:程序員眼中的計算機體系結構
彙編指令:用符號系統代替二進制機器指令
運算規則:都是先寫目的地址寄存器,後面是需要參與運算的寄存器
例外:寫是將前面的寫到後面的
算術類 加法 ADD 對三操作數ABC:B+C->A
減法 SUB 對三操作數ABC:B-C->A
邏輯類 位於 AND
位或 OR
位非 NOR
傳送類 存儲器或I/O讀 LDR
存儲器或I/O寫 STR
寄存器訪問 MOV
控制類 無條件轉移 JMP
條件轉移 JX/JNX
過程調用 CALL
過程返回 RET
其他類 停機 HLT
說明:Rs:源操作數 Rd:目的操作數 Imm:立即數
模型機指令集
定長指令:每條指令長度固定
特點:(假定32位機,32位指令長度)
一次取指操作讀取一個完整的指令
受指令位數限制,對立即數的大小或者類型有要求
指令週期:從取值到完成操作的時間
單週期處理器:所有指令執行時間相同
一個指令週期分若干CPU週期(機器週期)
CPU週期(總線週期):指一次取值時間
一個總線週期包含若干T週期(時鐘週期)基本單位
指令執行時,操作碼送到IR,經ID譯碼後OC產生控制信號
指令的地址碼送到地址形成部件,生成地址信號、
CPU的所有數據都在數據通道中傳送
指令執行過程屬於多級串行作業,始終一部分處於空閒狀態
模型機屬於馮諾依曼結構,一個總線。
串行作業方式的取指和UC你去操作數在時間上錯開,不衝突
若改成流水線,則可能同時發生,所有不太適合,但可以