5-中央处理器
中央處理器
1.CPU功能與結構
1.功能:
(1).指令控制。完成取指令、分析指令和執行指令的操作,即程序的順序控制
(2).操作控制。
(3).時間控制。對各種操作加以時間上的控制。
(4).數據加工。對數據進行算術和邏輯運算
(5).中斷處理。
專用數據通路方式:根據指令執行過程中的數據和地址的流動方向安排連接線路性能較高,基本不存在數據沖突現象。多條通路:多路選擇器MUX與三態門
CPU內部單總線方式:將所有寄存器的輸入端和輸出端連接到一條公共的通路上。結構簡單、易實現,但數據傳輸存在沖突現象,性能較低
2.運算器的基本結構:
(1).算術邏輯單元
(2).通用寄存器組,如AX、BX、CX、DX、SP
(3).暫存寄存器:用于暫存從主存讀來的數據,這個數據不能存放在通用寄存器,否則會破壞原有內容
(4).累加寄存器:通用寄存器,用來暫存ALU運算的結果信息;用來實現加法運算
(5).程序狀態字寄存器PSW
(6)移位器:對運算結果進行移位運算
(7)計數器:控制乘除運算的次數
3.控制器的基本結構:
(1)程序計數器PC:用來指明下一條指令在主存中的存放地址
(2)指令寄存器:用于保存當前正在執行的指令
(3)指令譯碼器:對操作碼字段進行譯碼,向控制器提供特定的操作信號
(4)微操作信號:根據IR的內容和PSW的內容及時序信號,產生控制整個計算機所需的各種控制信號
(5)時序系統:產生各種時序信號,由統一時鐘分頻得到
(6)存儲器地址寄存器MAR:存放所有訪問的主存單元的地址
(7)存儲器數據寄存器MDR:存放向主存寫入的信息或從主存中讀出的信息
4.用戶可見的寄存器:通用寄存器組、程序狀態字寄存器PSW、程序計數器PC
5.用戶不可見寄存器:MAR、MDR、IR、暫存寄存器
1.2指令執行過程
指令周期的概念:CPU從主存中取出并執行一條指令所需的全部時間,細分為取指周期和執行周期
指令周期常常用若干機器周期來表示,機器周期又稱CPU周期
一個機器周期包含若干時鐘周期
時鐘周期(節拍、T周期、CPU時鐘周期):是CPU操作的最基本單位
每個指令周期內機器周期數可以不等,每個機器周期內的節拍數也可以不等
標志觸發器FE、IND、EX、INT–取值周期、間址周期、執行周期、中斷周期
執行方案:
(1)單指令周期:所有指令采用相同的執行時間來完成,指令周期串行執行,執行時間取決于最長的指令的執行時間
(2)多指令周期:不同類型的指令選用不同的執行步驟來完成,指令串行執行
(3)流水線方案:每個時鐘周期啟動一條指令,盡量讓多條指令同時運行,指令之間并行執行
1.3 數據通路–單總線結構
1.寄存器之間的數據傳送:例:PC內容->MAR。(PC)->Bus(總線) [PCout有效,PC內容送到總線];Bus->MAR [MARin有效,總線內容送MAR]
2.主存與CPU之間的數據傳送。例:CPU從主從中讀取指令。(PC)->Bus->MAR [PCout有效];1->R [CU發出讀命令(通過控制總線)];MEM(MAR)->MDR [MDRinE有效];MDR->Bus->IR [MDRout&IRin有效];
3.執行算術或邏輯運算。例:一條加法指令。AD(IR)->Bus->MAR [MDRout&MARin有效];1->R [讀命令];MEM(MAR)->數據線->MDR [MDRin有效];MDR->Bus->Y [MDRout&Yin有效];(ACC)+(Y)->Z [ACCout&ALUin有效];Z->ACC [Zout&ACCin有效]
2.控制器設計
2.1 硬布線控制器
一個節拍可以并行完成多個“相容的”微操作;同一個微操作可能在不同指令的不同階段被使用
各階段的微操作序列:
(1)取值周期:(PC)->MAR;1->R;M(MAR)->MDR;OP(IR)->ID(指令譯碼器);(PC)+1->PC
(2)間址周期:Ad(IR)->MR;1->MAR;M(MAR)->MDR;MDR->Ad(IR)
(3)執行周期:CLA(ACC清零):0->ACC;LDA(取數指令):Ad(IR)->MAR;M(MAR)->MDR;(MDR)->ACC;JMP(無條件轉移):Ad(IR)->PC;
2.2 微程序控制器
微命令與微操作一一對應;微指令可能包含多個微命令
微指令格式:操作控制,順序控制(指明下一條指令地址)
控制存儲器可用ROM構成
若某條指令系統中有n條機器指令,則CM中微程序的個數至少是n+1個
2.2.1微指令的設計
1.水平型微指令:一條微指令能定義多個可并行的微命令
優點:微程序短,執行速度快;缺點:微指令長,編寫微程序較麻煩
2.垂直型微命令:一條指令只能定義一個微命令,由微操作碼字段規定具體功能
優點:微指令短,簡單、規整易于編寫微程序;缺點:微程序長,執行速度慢
3.混合型微指令:在垂直型的基礎上增加一些不太復雜的并行操作
微指令的編碼方式(微指令控制方式)
(1)直接編碼(直接控制)方式:每一位代表一個微操作命令
(2)字段直接編碼方式:微指令的控制字段分成若干段,每段經譯碼后發出控制信號
原則:互斥性微命令分在同一個段內,相容性微命令分在不同段內;每個小段內信息位不能太多;每個小段還要留出一個狀態,表示本字段不發出任何微命令,通常000表示不操作;
(3)字段間接編碼方式:一個字段某些微命令由另一個字段中的某些微命令來進行解釋
微指令的地址形成方式
(1)由微指令的下地址字段指出(斷定方式)
(2)根據機器指令的操作碼形成
(3)增量計數器法
(4)分支轉移:轉移方式(指明判別條件)
(5)通過測試網絡
(6)由硬件產生微程序入口地址
2.2.2 微程序控制單元
類比參考硬布線設計方式
靜態微程序設計:微程序無需改變,采用ROM
動態微程序設計:通過改變微指令和微程序改變機器指令,有利于仿真,采用EPROM
3.指令流水線
3.1基本概念&性能指標
表示方法:1.指令執行過程圖2.時空圖
性能指標:
1.吞吐率:單位時間內流水線完成的任務數量或輸出結果的數量TP=n/Tk;Tk=(k+n-1)△t(△t一個時鐘周期)
2.加速比:完成同樣一批任務,不使用流水線所用時間與所用流水線所用的時間之比S=t0/Tk
3.效率:流水線設備利用率稱為流水線的效率E=n個任務所占時空區有效面積/n個任務所圍成整體的時空區面積
3.2 指令流水線影響因素&分類
五段式流水線(MIPS架構:精簡指令集):五個機器周期。為方便流水線設計,每個階段以最長耗時為準。每個功能部件后面都要有一個緩沖寄存器(或鎖存器)[作用:保存本流水段的執行結果,提供給下一流水段使用]
1.結構相關(資源沖突):多條指令在同一時刻爭用同一資源而形成的沖突
解決辦法:(1)后一指令暫停一周期(2)資源重復配置(數據存儲器+指令存儲器)
2.數據相關(數據沖突):存在必須等待前一條指令執行完才能執行后一條指令的情況
解決方法:1.數據指令暫停一周期(硬件阻塞/軟件插入)2.數據旁路技術(轉發機制)3.編譯優化(通過編譯器調整指令順序來解決數據相關)
3.控制相關(控制沖突):流水線遇到轉移指令和其他改變PC值的指令而造成斷流時會引起控制相關
解決方法:(1)分支預測(簡單預測、動態預測)、預取轉移成功和不成功兩個控制流方向上的目標指令(3)加快和提前形成條件碼(4)提供轉移方向的猜準率
4.分類
(1)流水線使用級別的不同:部件功能級流水線、處理機級流水線、處理機間流水線
(2)流水線完成的功能:單功能流水線、多功能流水線
(3)同一時間內各段之間的連接方式:靜態流水線、動態流水線
(4)流水線各個功能段之間是否有過反饋信號:線性流水線(不存在反饋線路)、非線性流水線
5.流水線的多發技術:
(1)超標量技術:每個節拍內可并發多條獨立指令。要配置多個功能部件,不能調整指令的執行順序,通過編譯優化技術,可以把不能多發的進行多發
(2)超流水技術:每個時鐘周期內再分段。一個時鐘周期內一個功能部件使用多次,不能調整指令的執行順序,靠編譯程序解決優化問題
(3)超長指令字:由編譯程序挖掘出指令間潛在并行性,將多條并行操作的指令組合成一條具有多個操作碼字段的超長指令字段。需要多個功能部件
3.3 五段式指令流水線
1.運算類指令(Rs 源操作數 Rd目的操作數)
| 加法指令(兩個寄存器相加) | ADD Rs Rd | (Rs)+(Rd)->(Rd) |
| 加法指令(寄存器與立即數相加) | ADD #996 Rd | 996+(Rd)->(Rd) |
| 算術左移指令 | SHL Rd | (Rd)<<<2->Rd |
IF(取值)->ID(譯碼&取數)->EX執行->M訪存->WB寫回寄存器
2.RISC中只有取數指令LOAD和存數操作STORE才能訪問主存
3.轉移指令:常用相對尋址 beq Rs Rd #偏移量:若(Rs)=(Rd)則(PC)+指令字長+(偏移量×指令字長)->PC,否則PC+1->PC;bne Rs Rd #偏移量:若(Rs)!=(Rd)則(PC)+指令字長+(偏移量×指令字長)->PC,否則PC+1->PC
對尋址 beq Rs Rd #偏移量:若(Rs)==(Rd)則(PC)+指令字長+(偏移量×指令字長)->PC,否則PC+1->PC;bne Rs Rd #偏移量:若(Rs)!=(Rd)則(PC)+指令字長+(偏移量×指令字長)->PC,否則PC+1->PC
4.無條件轉移指令:常用相對尋址 jmp #偏移量 (PC)+指令字長+(偏移量×指令字長)->PC;WrPc耗時比EX段
總結
- 上一篇: eDiary快捷键
- 下一篇: 生日倒生日计时html代码,一款非常精美