計算機組成原理第八章CPU的結構和功能_第1頁
計算機組成原理第八章CPU的結構和功能_第2頁
計算機組成原理第八章CPU的結構和功能_第3頁
計算機組成原理第八章CPU的結構和功能_第4頁
計算機組成原理第八章CPU的結構和功能_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第八章CPU的結構和功能8.1CPU的結構8.3指令流水8.2指令周期8.4中斷系統8.1CPU的結構一、CPU的功能取指令分析指令執行指令,發出各種操作命令控制程序輸入及結果的輸出總線管理處理異常情況和特殊請求1.控制器的功能2.運算器的功能實現算術運算和邏輯運算指令控制操作控制時間控制數據加工處理中斷二、CPU結構框圖PCIR指令控制操作控制時間控制數據加工處理中斷ALU寄存器中斷系統1.CPU與系統總線CU時序電路寄存器ALU

中斷

系統CUCPU控制總線數據總線地址總線8.12.CPU的內部結構算術和布爾邏輯取反移位狀態標志內部數據總線CPU寄存器CU中斷系統ALU控制信號…8.11.用戶可見寄存器(1)通用寄存器三、CPU的寄存器存放操作數可作某種尋址方式所需的專用寄存器(2)數據寄存器存放操作數(滿足各種數據類型)兩個寄存器拼接存放雙倍字長數據(3)地址寄存器存放地址,其位數應滿足最大的地址范圍用于特殊的尋址方式段基值棧指針(4)條件碼寄存器存放條件碼,可作程序分支的依據如正、負、零、溢出、進位等8.12.控制和狀態寄存器(1)控制寄存器PC控制CPU操作(2)狀態寄存器狀態寄存器其中MARMDRIR

用戶不可見存放條件碼PSW寄存器存放程序狀態字

PC

用戶可見3.舉例Z80008086MC68000MARMMDRIR8.1四、控制單元CU和中斷系統1.CU產生全部指令的微操作命令序列組合邏輯設計微程序設計硬連線邏輯存儲邏輯2.中斷系統參見第四篇五、ALU參見8.4參見第六章8.18.2指令周期一、指令周期的基本概念1.指令周期取出并執行一條指令所需的全部時間完成一條指令執行取指、分析取指階段取指周期執行階段執行周期(取指、分析)(執行指令)指令周期取指周期執行周期2.每條指令的指令周期不同取指周期指令周期取指周期執行階段指令周期取指周期執行周期指令周期NOPADDmemMULmem8.23.具有間接尋址的指令周期4.帶有中斷周期的指令周期取指周期間址周期指令周期執行周期取指周期間址周期指令周期執行周期中斷周期8.25.指令周期流程取指周期執行周期有間址嗎?有中斷嗎?間址周期中斷周期是是否否8.26.CPU工作周期的標志CPU訪存有4種性質取指令取地址取操作數存程序斷點取指周期間址周期執行周期中斷周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU的4個工作周期8.21.取指周期數據流二、指令周期的數據流MDRCUMARPCIR存儲器CPU地址總線數據總線控制總線IR+18.22.間址周期數據流MDRCUMARCPU地址總線數據總線控制總線PCIR存儲器MDR8.23.執行周期數據流4.中斷周期數據流不同指令的執行周期數據流不同MDRCUMARCPU地址總線數據總線控制總線PC存儲器8.28.3指令流水一、如何提高機器速度1.提高訪存速度2.提高I/O和主機之間的傳送速度提高整機處理能力高速芯片Cache多體并行多總線DMAI/O處理機通道高速器件改進系統結構,開發系統的并行性中斷3.提高運算器速度高速芯片改進算法快速進位鏈二、系統的并行性時間上互相重疊2.并行性的等級指令級(指令之間)過程級(程序、進程)兩個或兩個以上事件在同一時刻發生兩個或兩個以上事件在同一時間段發生并行1.并行的概念粗粒度軟件實現細粒度硬件實現并發同時8.3取指令3執行指令3三、指令流水原理2.指令的二級流水1.指令的串行執行取指令

取指令部件完成總有一個部件空閑指令預取若取指和執行階段時間上完全重疊指令周期減半速度提高1倍…執行指令

執行指令部件

完成取指令1執行指令1取指令2執行指令2取指令3執行指令3取指令2執行指令2取指令1執行指令18.3必須等上條指令執行結束,才能確定下條指令的地址造成時間損失3.影響指令流水效率加倍的因素(1)執行時間>取指時間

(2)條件轉移指令對指令流水的影響

解決辦法

?取指令部件指令部件緩沖區執行指令部件猜測法8.34.指令的六級流水六級流水14個時間單位串行執行6×9=54時間單位完成一條指令6個時間單位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t8.3指令1與指令4沖突指令2與指令5沖突指令1、指令3、指令6沖突……COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t三、影響指令流水性能的因素1.訪存沖突解決辦法?指令存儲器和數據存儲器分開?指令預取技術(適用于訪存周期短的情況)8.32.相關問題程序的相近指令之間出現某種關聯使指令流水出現停頓影響流水線效率(1)控制相關8.3WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令1指令2指令3指令4指令5指令6指令7指令15指令161234567891011121314轉移損失t設指令3是轉移指令BNE指令必須等CPX指令的結果才能判斷出是轉移還是順序執行LDA#0LDX#0INXCPX#NBNEMDIV#NSTAANSADDX,DM(2)數據相關幾條相近的指令間,共用同一存儲單元或同一寄存器時,會出現數據相關ADDR1,R2如:SUBR1,R3采用旁路技術解決辦法寄存器組鎖存器鎖存器ALU8.3四、流水線的多發技術1.超標量技術每個時鐘周期內可并發多條獨立指令

不能調整指令的執行順序配置多個功能部件通過編譯優化技術,把可并行執行的指令搭配起來IFIDEX

WR0123

45

678

910111213t8.32.超流水技術在一個時鐘周期內再分段(3段)

不能調整指令的執行順序在一個時鐘周期內一個功能部件使用多次(3次)靠編譯程序解決優化問題流水線速度是原來速度的3倍IFIDEXWR0

1

2

345

67

8

9

10111213t8.33.超長指令字采用多個處理部件具有多個操作碼字段的超長指令字(可達幾百位)由編譯程序挖掘出指令間潛在的并行性,將多條能并行操作的指令組合成一條IFIDEXWR012345678910111213t8.3五、流水線結構1.指令流水線結構完成一條指令分7段,每段需一個時鐘周期若流水線不出現斷流1個時鐘周期出1結果不采用流水技術7個時鐘周期出1結果理想情況下,7級流水的速度是不采用流水技術的7倍地址形成部件指令譯碼部件取操作數部件取指令部件操作執行部件回寫結果部件修改指令指針部件鎖存鎖存鎖存鎖存鎖存鎖存8.32.運算流水線完成浮點加減運算可分對階、尾數求和、規格化三段分段原則每段操作時間盡量一致鎖存器對階功能部件第一段尾數加部件鎖存器第二段規格化部件鎖存器第三段8.38.4中斷系統一、概述1.引起中斷的各種因素(1)人為設置的中斷(2)程序性事故如轉管指令溢出、操作碼不能識別、除法非法(5)外部事件(4)I/O設備(3)硬件故障用鍵盤中斷現行程序轉管指令………管理程序2.中斷系統需解決的問題(1)各中斷源如何向CPU提出請求?(2)各中斷源同時提出請求怎么辦?(5)如何尋找入口地址?(4)如何保護現場?(3)CPU什么條件、什么時間、以什么方式

響應中斷?(6)如何恢復現場,如何返回?(7)處理中斷的過程中又出現新的中斷怎么辦?硬件

+軟件8.4二、中斷請求標記和中斷判優邏輯1.中斷請求標記INTR一個請求源

一個INTR

中斷請求標記觸發器多個INTR

組成中斷請求標記寄存器INTR

分散在各個中斷源的接口電路中INTR集中在CPU

的中斷系統內12345n掉電過熱階上溢內存讀寫校驗錯非法除法鍵盤打印機8.42.中斷判優邏輯①

分散在各個中斷源的接口電路中鏈式排隊器②集中在CPU

內(1)硬件實現(排隊器)111&1

&1&參見第五章INTR1INTR2INTR3INTR4INTR1、

INTR2、

INTR3、

INTR4

優先級按降序排列

INTP1INTP2INTP3INTP48.4A、B、C

優先級按降序排列(2)軟件實現(程序查詢)否……是否A

請求?是否B

請求?是否C

請求?轉A

的服務程序入口地址轉B

的服務程序入口地址轉C

的服務程序入口地址是是是否否8.4三、中斷服務程序入口地址的尋找1.硬件向量法入口地址200入口地址300入口地址40012H13H14H主存12H13H14HJMP200JMP300JMP400主存向量地址形成部件…………中斷向量排隊器輸出向量地址12H、13H、14H入口地址200、300、4008.42.軟件查詢法中斷識別程序(入口地址M)地址說明指令

M

JMP1#SR1#D=1轉1#服務程序

SKPDZ2#

JMP2#SR2#D=0跳2#D=1轉2#服務程序

SKPDZ8#

JMP8#SR8#D=0跳8#D=1轉8#服務程序八個中斷源1、2、8按降序排列…………8.4

SKPDZ1#1#D=0跳(D為完成觸發器)四、中斷響應1.響應中斷的條件允許中斷觸發器EINT=12.響應中斷的時間指令執行周期結束時刻由CPU發查詢信號

CPU中斷查詢INTR1DQINTR2DQINTRnDQ中斷源1中斷源2中斷源n……至排隊器8.43.中斷隱指令(1)保護程序斷點(2)尋找服務程序入口地址(3)硬件關中斷向量地址形成部件INTSQREINTSQRPC

1&≥1排隊器……斷點存于特定地址(0號地址)內斷點進棧INT中斷標記EINT允許中斷R–S

觸發器8.4向量地址PC(硬件向量法)中斷識別程序入口地址MPC(軟件查詢法)五、保護現場和恢復現場1.保護現場2.恢復現場寄存器內容斷點保護現場其他服務程序恢復現場中斷返回PUSH視不同請求源而定POP中斷服務程序完成中斷服務程序中斷隱指令完成中斷服務程序完成8.4IRET1.多重中斷的概念klmk

+1l

+1m

+1第一次中斷第二次中斷第三次中斷程序斷點k+1,l+1,m+1六、中斷屏蔽技術8.42.實現多重中斷的條件B,CA中斷請求主程序(2)優先級別高的中斷源有權中斷優先級別低的中斷源(1)提前設置開中斷指令ABCD中斷服務程序(A、B、C、D優先級按降序排列)D8.4

&3.屏蔽技術(1)屏蔽觸發器的作用MASK=0(未屏蔽)INTR能被置“1”

1

&

&

&

1

1

1

1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ1DINTR

MASKQCPU查詢MASKi

=1(屏蔽)INTPi

=0(不能被排隊選中)8.4(2)屏蔽字優先級屏蔽字111111111111111101111111111111110011111111111111000111111111

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論