计算机组成原理---中央处理器
中央處理器
- 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由運算器和控制器構成
運算器:
… …
控制器:
3. 注意點:
CPU內部寄存器:
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. 數據流
取指周期:
間址周期:
Ad(IR)表示取出IR中存放的指令字的地址字段
執行周期:
中斷周期:
3. 執行方案
單指令周期
多指令周期
流水線方案
4. 總結
5. 注意點
工作脈沖:控制器的最小時間單位,每個時鐘周期有一個工作脈沖
解析指令結構:
預取技術:每個指令周期都要取指令
存取周期:訪存讀/寫
一個指令周期可能只有取指,執行
也可能只有取指,執行,中斷
或取指,間址,執行
比如:
CPU區分指令和數據(都存在存儲器中):
控制器可以根據指令周期的不同階段對內存的訪問判斷從存儲器取出的二進制代碼是指令還是數據
一條無條件指令跳轉指令周期內,PC的值被修改了2次 (自增,跳轉)
間址可以一次間址,二次間址,各機器周期長度可變,間接尋址指令,他們的操作不一定相等
3)數據通路的功能和基本結構
1. 數據通路功能
數據通路由控制部件控制,控制部件根據每條指令功能的不同生成對數據通路的控制信號,正確控制指令執行的執行流程
功能:實現CPU內部的運算器與寄存器及寄存器之間的數據交換
2. 數據通路基本結構
結構簡單,數據傳輸存在較多的沖突現象,性能較低
效率比單總線更高
性能較高,硬件量大
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.數據傳送主要有三種情況:
2.控制信號
3.PC自增:
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:將運算結果寫回指定寄存器
IF:根據PC從指令Cache取指令至IF段的鎖存器
ID:將基址寄存器的值放到鎖存器A,將偏移量的值放到Imm
EX:運算,得到有效地址
M:從數據Cache中取數并放入鎖存器
WB:將取出的數寫回寄存器
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
空操作 萬金油
總結
以上是生活随笔為你收集整理的计算机组成原理---中央处理器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CameraManager——Camer
- 下一篇: ^好吃懒做^(摘自贝太厨房的小书里的菜谱