中央處理器
- 1)CPU功能和基本結構
- 1. cpu功能
- 2. cpu基本結構
- 3. 注意點:
- 2)指令執行程序
- 1. 指令周期
- 2. 資料流
- 3. 執行方案
- 4. 總結
- 5. 注意點
- 3)資料通路的功能和基本結構
- 1. 資料通路功能
- 2. 資料通路基本結構
- 3. 流程及控制信號
- 4.注意點
- 4)控制器功能和作業原理
- 硬布線控制器對比微指令控制器
- 1. 硬布線控制器
- 2. 微程式控制器
- 3. 注意點
- 5)指令流水線
- 1. 五段式指令流水線
- 2. 流水線分類
- 3. 影響流水線的因素
- 4. 性能指標
- 5. 超標量流水線
- 6. 注意點
1)CPU功能和基本結構
1. cpu功能
CPU由
運算器和控制器構成
運算器: 對資料進行加工控制器:協調控制計算機各部件執行程式的指令序列(取指令,分析指令,執行指令)CPU具體功能:
- 指令控制
- 操作控制
- 時間控制
- 資料加工
- 中斷處理
2. cpu基本結構
CPU由
運算器和控制器構成
運算器:
算數邏輯單元(ALU):進行算數/邏輯運算暫存暫存器(程式員不可見):暫存主存讀來的資料,該資料不能存放在通用暫存器中,否則會破環原有內容累加暫存器(ACC):通用暫存器,用來暫存ALU運算的結果資訊,可作為加法運算的一個輸入端通用暫存器組(AX,BX,CX,DX,SP... ...):存放運算元及各種地址資訊程式狀態字暫存器(PSW):溢位標志(OF)符號標志(SF)零標志(ZF)進位標志(CF)等,這些位參與并決定微操作的形成(也叫FR標志暫存器)移位器:進行移位操作計數器(CT):控制乘除運算的操作步數
… …控制器:
程式計數器(PC):指出下一條指令在主存的存盤地址(PC有自增功能)指令暫存器(IR):保存當前正在執行的那條指令指令譯碼器:僅對操作碼欄位進行譯碼,向控制器提供特定的操作信號儲存器地址暫存器(MAR):存放要訪問的主存單元地址儲存器資料暫存器(MDR):用于存放向主存寫入的資訊或從主存讀出的資訊時序系統:用于產生各種時序信號,由統一時鐘分頻得到位操作信號發生器:根據IR,PSW產生控制整個計算機系統所需的各種控制信號(有組合邏輯型和儲存邏輯型)
3. 注意點:
CPU內部暫存器:
用戶可見:通用暫存器組 程式狀態字暫存器 程式計數器PC用戶不可見:儲存器地址暫存器 儲存器資料暫存器 指令暫存器 暫存暫存器
n位CPU的n是指資料總線總數
復習:
地址總線線數->可尋址范圍->存盤器最大容量
資料總線線數->一次可取的資料位數->MDR的位數->運算器一次處理的位數->運算器暫存器位數
控制總線線數->一次可并行傳送的控制資訊位數
I/O線數->與外設通信的并行程度
存盤字長:存放在一個存盤單元中二進制碼位數
指令字長:一條指令的二進制位數
機器字長(計算機位數):計算機一次能處理的二進制位數,一般等于暫存器位數
作業系統位數:作業系統可尋址位數
地址碼長度:存盤器地址的二進制位數
指令譯碼是指對指令的操作碼欄位進行譯碼
p193 23 24題
2)指令執行程序
1. 指令周期
定長機器周期:
取指(FE=1) ----->間址(IND=1) ------>執行(EX=1)------> 中斷(INT=1)
在執行周期結束后會檢查有無中斷請求不定長機器周期:
機器周期數可以不相等
每個機器周期包含的節拍數可以為4個也可以為3個
下圖為無條件指令JMP X的指令周期
注意:中斷周期進堆疊操作是SP-1,計算機的堆疊都是向低地址增加的
2. 資料流
取指周期:
- PC->MAR->地址總線->主存
- CU發出讀命令->控制總線->主存
- 主存->資料總線->MDR->IR
- CU發出控制信號->PC+1
間址周期:
- Ad(IR)(或MDR)->MAR->地址總線->主存
Ad(IR)表示取出IR中存放的指令字的地址欄位- CU發出讀命令->控制總線->主存
- 主存->資料總線->MDR
執行周期:
- 無統一的資料流向
中斷周期:
- CU將控制信號將SP-1,SP->MAR->地址總線->主存
- CU發出寫命令->控制總線->主存
- PC->MDR->資料總線->主存
- CU(中斷服務程式的入口地址)->PC
3. 執行方案
單指令周期
多指令周期
流水線方案
4. 總結
5. 注意點
作業脈沖:控制器的最小時間單位,每個時鐘周期有一個作業脈沖
決議指令結構:
- 操作碼譯碼:指令操作碼譯碼結構
- 根據特征碼判斷尋址方式即:指令和資料的尋址方式
預取技術:每個指令周期都要取指令
存取周期:
訪存讀/寫
一個指令周期可能只有
取指,執行
也可能只有取指,執行,中斷
或取指,間址,執行
比如:
- 空指令NOP只有取指周期
- 加法指令ADD有取指周期和執行周期
- 乘法指令MUL有取指周期和執行周期(由多個ADD操作所以執行周期更長)
CPU區分指令和資料(都存在存盤器中):
控制器可以根據指令周期的不同階段對記憶體的訪問判斷從存盤器取出的二進制代碼是指令還是資料
一條無條件指令跳轉指令周期內,PC的值被修改了2次(自增,跳轉)
間址可以一次間址,二次間址,各機器周期長度可變,間接尋址指令,他們的操作不一定相等
3)資料通路的功能和基本結構
1. 資料通路功能
資料通路由控制部件控制,控制部件根據每條指令功能的不同生成對資料通路的控制信號,正確控制指令執行的執行流程
功能:實作CPU內部的運算器與暫存器及暫存器之間的資料交換
2. 資料通路基本結構
CPU內部單總線方式
結構簡單,資料傳輸存在較多的沖突現象,性能較低CPU內部三總線方式
效率比單總線更高專用資料通路方式
性能較高,硬體量大
3. 流程及控制信號
1.暫存器之間資料傳送
| 流程 | 控制信號 |
|---|---|
| PC->Bus | PCout有效,PC內容總線 |
| Bus->MAR | MARin有效,總線內容送到MAR |
2. 主存與CPU間的資料傳送
| 流程 | 控制信號 |
|---|---|
| PC->Bus->MAR | PCout MARin有效,現行地址->MAR |
| 1->R | CU發出讀命令 |
| MEM(MAR)->MDR | MDRin有效 |
| MDR->Bus->IR | MDRout IRin有效,現行地址->IR |
3. 執行算識訓邏輯運算
| 流程 | 控制信號 |
|---|---|
| Ad(IR)->Bus->MAR | MARin MDRout有效 |
| 1->R | CU發出讀命令 |
| MEM->資料線->MDR | 運算元從儲存器->資料線->MDR |
| MDR->Bus->Y | MDRout Yin有效,運算元->Y |
| (ACC)+(Y)->Z | ACCout ALUin有效,CU向ALU發命令,結果->Z |
| Z->ACC | ZoutACCin有效,結果->ACC |
4.注意點
資料總線是
雙向的 CPU->記憶體,記憶體->CPU
地址總線是單向的 CPU->記憶體
1.
資料傳送主要有三種情況:
- 暫存器之間的資料傳送,如本題MAR←(PC),由“PCout,MARin”在一個時鐘周期內完成,
- 主存與CPU之間的資料傳送,如本題“MAR←(PC); MDR←M(MAR); IR←(MDR)” ,由“PCout,MARin; MemR,MDRinE; MDRout,IRin" 分3個時鐘周期內完成,效果是把M(MAR)送入IR,其中MDR←M(MAR)可與PC←(PC)+1放在同一時鐘周期,
- 執行算識訓邏輯運算,一般需要先把一個運算元送入暫存器,然后使用ALU的控制信號表示相應的運算,
2.
控制信號
- 控制某個部件的輸入輸出,如PCin、 PCout,
- 控制某個多功能部件的具體操作,如ALU的控制信號,一般與匯編語言的助記符一一樣,
- 控制三態門,決定某條線路的通斷,一般1表示通,0表示斷,
- 控制多路選擇器MUX,如控制信號0表示把0號輸入端的內容直送到輸出端,
3.
PC自增:
- 若直接在PC旁標注“+1”或“PC+1”等,一般指PC帶有自增功能,不需使用ALU完成自增,
- 若無類似標注,一般需要由ALU完成PC自增,常有多路選擇器MUX參與,見207頁 第9題,
- 注意觀察題目的描述,每個小問的問題都有可能是提示,
4)控制器功能和作業原理
硬布線控制器對比微指令控制器
硬布線控制器 | 微指令控制器 | |
|---|---|---|
作業原理 | 微操作控制信號由組合邏輯電路根據當前的指令碼,狀態和時序,即時產生 | 微操作控制信號以微程式的形式放在控制存盤器中,執行指令時讀出即可 |
執行速度 | 快 | 慢 |
應用場合 | RISC CPU | CISC CPU |
工整性 | 繁瑣 較不工整 | 較工整 |
易擴充性 | 困難 | 易 |
1. 硬布線控制器
機器周期:記憶體中讀取一個指令字的最短時間作為機器周期,在存盤字長等于指令字長時,取指周期也可視為機器周期
CPU控制方式:
同步控制方式
優點:控制電路簡單缺點:運行速度慢異步控制方式:
優點:運行速度快缺點:電路復雜聯合控制方式:
同步和異步的折中,大部分使用同步,小部分異步
2. 微程式控制器
存放資料 | 位置 | 組成材料 | |
|---|---|---|---|
主存 | 程式資料 | CPU外部 | RAM |
控制存盤器 | 微指令 | CPU內部 | ROM |
水平型指令 | 垂直型指令 | |
|---|---|---|
指令長度 | 長 | 短 |
程式長度 | 短 | 長 |
執行速度 | 快 | 慢 |
工整性 | 較不工整 | 較工整 |
并行性 | 強 | 弱 |
相容性微命令:可以同時產生的共同完成某些微操作的微命令
互斥性微命令:不允許同時出現的微命令
3. 注意點
在硬布線中,取指的通式:(注:ID是操作碼譯碼電路)
T0: PC->MAR, 1->R
T1: M(MAR)->MDR,(PC)+1->PC
T2: MDR->IR,
T3:OP(IR)->ID
取指是控制器固有功能,
不受指令控制,但在微程式控制方式下取指操作是由某段微程式控制
如果指令系統中有n種機器指令 ,則控制存盤器中的微程式數至少是n+1(1為公共的取指微程式)
微操作控制信號的形成與指令譯碼信號和時鐘信號有關:
指令譯碼信號:經指令譯碼產生的指令資訊時鐘信號:時序系統產生的機器周期信號和節拍信號- 來自執行單元的反饋資訊即標志(優化)
PC程式計數器決定指令執行順序, uPC微程式計數器決定微指令執行順序, 兩者不能互相取代
在微程式控制器中,控制部件向執行部件發出的某個控制信號是
微命令
直接編碼方式的效率不能確定(空間效率低,時間效率高)
時鐘周期也叫主頻周期
MM(主存盤器)和 CS(控制存盤器)
按地址訪問,只有相聯存盤器是按內容訪問
5)指令流水線
1. 五段式指令流水線
①IF取指->②ID譯碼&取數->③EX 執行->④M訪存->⑤WB寫回暫存器
注意:只有上一條指令進入ID段后,下一條指令才能開始IF段,否則會覆寫IF段鎖存器的內容
常見的5類指令:
運算類指令:
IF:根據PC從指令Cache取指令至IF段的鎖存器
ID:取出運算元至ID段鎖存器
EX:運算,將結果存入EX段鎖存器
M:空段
WB:將運算結果寫回指定暫存器
LOAD指令:
IF:根據PC從指令Cache取指令至IF段的鎖存器
ID:將基址暫存器的值放到鎖存器A,將偏移量的值放到Imm
EX:運算,得到有效地址
M:從資料Cache中取數并放入鎖存器
WB:將取出的數寫回暫存器
STORE指令:
IF:根據PC從指令Cache取指令至IF段的鎖存器
ID:將基址暫存器的值放到鎖存器A,將偏移量的值放到Imm,將要存的數放到B
EX:運算,得到有效地址,并將鎖存器B的內容放到鎖存器 Store,
M:寫入資料Cache
WB:空段
條件轉移指令:
IF:根據PC從指令Cache取指令至IF段的鎖存器
ID:進行比較的兩個數放入鎖存器A、B;偏移量放入 Imm
EX:運算,比較兩個數
M:將目標PC值寫回PC(左圖沒畫全)
WB:空段
無條件轉移指令:
IF:根據PC從指令Cache取指令至IF段的鎖存器
ID:偏移量放入 Imm
EX:將目標PC值寫回PC(左圖沒畫全)
M:空段
WB:空段
例題:
2. 流水線分類
3. 影響流水線的因素
資源沖突/冒險(結構相關)
解決方案:
1.后一相關指令暫停一周期
2.資源重復配置:
資料存盤器+指令存盤器
資料相關/冒險
RAW(寫后讀)
WAR(讀后寫)
WAW(寫后寫)
解決方案:
1.后一相關指令暫停- -周期
2.資料旁路控制相關/冒險
解決方案:
1.盡早判別轉移是否發生,盡早生成轉移目標地址
2.預取轉移成功和不成功兩個控制流方向上的目標指令
3.加快和提前形成條件碼
4.提高轉移方向的猜準率
4. 性能指標
流水線吞吐率:
TP=n/Tk(n:任務數 Tk是處理完n個任務所用的時間)
Tk=(k+n-1)*Δt(k是流水線段數 Δt=每個時鐘周期需要的秒數)
主頻:每秒鐘時鐘周期數
流水線加速比:
S=T0/Tk(T0表示不用流水線時間 Tk表示用流水線的時間)
S=kn/k+n-1
流水線效率:
E=T0/kTk(有效面積比總面積)
5. 超標量流水線
超標量流水線技術
超流水線技術
超長指令字
編譯程式挖掘指令潛在的并行性需要采用多個處理部件
6. 注意點
流水線
按序流動時,在RAW. WAR和WAW中.只可能出現RAW相關
非流水線時空圖
流水線時空圖
空間并行:即資源重復,多個功能部件共同執行同一任務的不同部分
時間并行:即時間重疊,多個功能部件在時間上相互錯開,輪流重疊執行不同任務的相同分
所有的RISC采用流水線技術,部分CISC也采用流水線技術
RISC-定采用流水線技術,采用流水線技術的不一定是RISC
空操作 萬金油
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/384186.html
標籤:其他


















