第8章CPU的結構和功能_第1頁
第8章CPU的結構和功能_第2頁
第8章CPU的結構和功能_第3頁
第8章CPU的結構和功能_第4頁
第8章CPU的結構和功能_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

中斷

系統(tǒng)CUCPU控制總線數(shù)據(jù)總線地址總線8.12.CPU的內部結構8.1

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

用戶不可見存放條件碼PSW寄存器存放程序狀態(tài)字

PC

用戶可見3.舉例Z80008086MC68000MARMMDRIR8.1四、控制單元CU和中斷系統(tǒng)1.CU產(chǎn)生全部指令的微操作命令序列組合邏輯設計微程序設計硬連線邏輯存儲邏輯2.中斷系統(tǒng)參見第4篇五、ALU參見8.4節(jié)參見第6章8.18.2指令周期一、指令周期的基本概念1.指令周期取出并執(zhí)行一條指令所需的全部時間完成一條指令執(zhí)行取指、分析取指階段取指周期執(zhí)行階段執(zhí)行周期(取指、分析)(執(zhí)行指令)指令周期取指周期執(zhí)行周期2.每條指令的指令周期不同取指周期指令周期取指周期

執(zhí)行周期指令周期NOPADDmemMULmem8.2取指周期執(zhí)行周期指令周期…3.具有間接尋址的指令周期4.帶有中斷周期的指令周期取指周期間址周期指令周期執(zhí)行周期取指周期間址周期指令周期執(zhí)行周期中斷周期8.25.指令周期流程取指周期執(zhí)行周期有間址嗎?有中斷嗎?間址周期中斷周期是是否否8.26.CPU工作周期的標志CPU訪存有四種性質取指令取地址取操作數(shù)存程序斷點取指周期間址周期執(zhí)行周期中斷周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU的4個工作周期8.21.取指周期數(shù)據(jù)流二、指令周期的數(shù)據(jù)流MDRCUMARPCIR存儲器CPU地址總線數(shù)據(jù)總線控制總線IR+18.22.間址周期數(shù)據(jù)流MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PCIR存儲器MDR8.23.執(zhí)行周期數(shù)據(jù)流4.中斷周期數(shù)據(jù)流不同指令的執(zhí)行周期數(shù)據(jù)流不同MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PC存儲器8.28.3指令流水一、如何提高機器速度1.提高訪存速度2.提高I/O和主機之間的傳送速度

提高整機處理能力高速芯片Cache多體并行I/O處理機DMA多總線通道高速器件改進系統(tǒng)結構,開發(fā)系統(tǒng)的并行性中斷3.提高運算器速度高速芯片改進算法快速進位鏈二、系統(tǒng)的并行性時間上互相重疊2.并行性的等級指令級(指令之間)(指令內部)過程級(程序、進程)兩個或兩個以上事件在同一時刻發(fā)生兩個或兩個以上事件在同一時間段發(fā)生并行1.并行的概念粗粒度軟件實現(xiàn)細粒度硬件實現(xiàn)并發(fā)同時8.3取指令3執(zhí)行指令3三、指令流水原理2.指令的二級流水1.指令的串行執(zhí)行取指令

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

執(zhí)行指令部件

完成取指令1執(zhí)行指令1取指令2執(zhí)行指令2取指令3執(zhí)行指令3取指令2執(zhí)行指令2取指令1執(zhí)行指令18.3

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

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

解決辦法

?取指令部件指令部件緩沖區(qū)執(zhí)行指令部件猜測法8.34.指令的六級流水六級流水14

個時間單位串行執(zhí)行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.3不同指令爭用同一功能部件產(chǎn)生資源沖突程序的相近指令之間出現(xiàn)某種關聯(lián)使指令流水出現(xiàn)停頓,影響流水線效率解決辦法?停頓?指令存儲器和數(shù)據(jù)存儲器分開?指令預取技術(適用于訪存周期短的情況)2.數(shù)據(jù)相關不同指令因重疊操作,可能改變操作數(shù)的讀/寫訪問順序

采用旁路技術解決辦法8.3

寫后讀相關(RAW)SUBR1,R2,R3ADDR4,R5,R1;(R2)

(R3)R1;(R5)+(R1)R4

讀后寫相關(WAR)STAM,R2ADDR2,R4,R5;(R2)M存儲單元;(R4)+(R5)R2

寫后寫相關(WAW)

后推法MULR3,R2,R1SUB

R3,R4,R5;(R2)×

(R1)R3;(R4)(R5)

R33.控制相關8.3BNE指令必須等CPX指令的結果才能判斷出是轉移還是順序執(zhí)行LDA#0LDX#0INXCPX#NBNEMDIV#NSTAANSADDX,DM由轉移指令引起3.控制相關8.3WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令1指令2指令3指令4指令5指令6指令7指令15指令161234567891011121314轉移損失t設指令3是轉移指令五、流水線性能1.吞吐率單位時間內流水線所完成指令或輸出結果的數(shù)量8.3

最大吞吐率

實際吞吐率連續(xù)處理n條指令的吞吐率為設m

段的流水線各段時間為ΔtTpmax=Δ1tTp=m

·Δ

+(n-1)·

Δ

ntt2.加速比Sp

8.3

m

段的流水線的速度與等功能的非流水線的速度之比

設流水線各段時間為Δt

完成n條指令在m

段流水線上共需

T=m

·

+(n-1)·

ttΔΔ

完成n條指令在等效的非流水線上共需

T

′=nm

·tΔSp

=

m

·+(n-1)·

nm·=nmm

+n-1

ΔtΔΔtt

則由于流水線有建立時間和排空時間因此各功能段的設備不可能

一直處于工作狀態(tài)

8.3流水線中各功能段的利用率3.效率

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時間S空間空間S4S3S2S1(n-1)Δt8.3m(m

+n-1)Δt

=mnΔt

流水線各段處于工作時間的時空區(qū)流水線中各段總的時空區(qū)

效率=3.效率

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時間S空間空間S4S3S2S1(n-1)Δt流水線中各功能段的利用率六、流水線的多發(fā)技術1.超標量技術

每個時鐘周期內可并發(fā)多條獨立指令

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

WR0123

45

678

910111213時鐘周期指令序列2.超流水線技術

在一個時鐘周期內再分段(3段)

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

1

2

345

67

8

9

10111213時鐘周期指令序列3.超長指令字技術

采用多個處理部件具有多個操作碼字段的超長指令字(可達幾百位)由編譯程序挖掘出指令間潛在的并行性,將多條能并行操作的指令組合成一條8.3IFIDEXWR012345678910111213時鐘周期指令序列七、流水線結構1.指令流水線結構完成一條指令分7段,每段需一個時鐘周期若流水線不出現(xiàn)斷流1個時鐘周期出

1

結果不采用流水技術7個時鐘周期出1

結果理想情況下,7級流水的速度是不采用流水技術的7倍地址形成部件指令譯碼部件取操作數(shù)部件取指令部件操作執(zhí)行部件回寫結果部件修改指令指針部件鎖存鎖存鎖存鎖存鎖存鎖存8.32.運算流水線完成浮點加減運算可分對階、尾數(shù)求和、規(guī)格化三段分段原則每段操作時間盡量一致鎖存器對階功能部件第一段尾數(shù)加部件鎖存器第二段規(guī)格化部件鎖存器第三段8.38.4中斷系統(tǒng)一、概述1.引起中斷的各種因素(1)人為設置的中斷(2)程序性事故如轉管指令溢出、操作碼不能識別、除法非法(5)外部事件(4)I/O設備(3)硬件故障用鍵盤中斷現(xiàn)行程序轉管指令……管理程序2.中斷系統(tǒng)需解決的問題(1)各中斷源如何向CPU提出請求?(2)各中斷源同時提出請求怎么辦?(5)如何尋找入口地址?(4)如何保護現(xiàn)場?(3)CPU什么條件、什么時間、以什么方式

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

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

一個INTR

中斷請求標記觸發(fā)器多個INTR

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

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

的中斷系統(tǒng)內12345n掉電過熱階上溢主存讀寫校驗錯非法除法鍵盤輸入打印機輸出8.42.中斷判優(yōu)邏輯①

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

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

&1&參見第五章INTR1INTR2INTR3INTR4INTR1

INTR2、

INTR3、

INTR4

優(yōu)先級按降序排列

INTP1INTP2INTP3INTP48.4A、B、C

優(yōu)先級按降序排列(2)軟件實現(xiàn)(程序查詢)否…是否A

請求?是否B

請求?是否C

請求?轉A

的服務程序入口地址轉B

的服務程序入口地址轉C

的服務程序入口地址是是是否否8.4三、中斷服務程序入口地址的尋找1.硬件向量法入口地址200入口地址300入口地址40012H13H14H主存12H13H14HJMP200JMP300JMP400主存向量地址形成部件……中斷向量排隊器輸出向量地址

12H、13H、14H入口地址

200、300、4008.42.軟件查詢法MJMP1#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.4SKPDZ1#1#D=0跳(D為完成觸發(fā)器)中斷識別程序(入口地址M)地址說明指令四、中斷響應1.響應中斷的條件允許中斷觸發(fā)器EINT=12.響應中斷的時間指令執(zhí)行周期結束時刻由CPU發(fā)查詢信號

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

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

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

+1l

+1m

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

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

&

&

&

&

1

1

1

1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ1DINTR

MASKQCPU查詢MASKi

=1(屏蔽)INTPi

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

優(yōu)先級屏蔽字111111111111111101111111111111110011111111111111000111111111111100001111111111110000011111111111…000000000000001100000000000000011234561516…16個中斷源1,2,3,

16按降序排列…(3)屏蔽技術可改變處理優(yōu)先等級響應優(yōu)先級響應優(yōu)先級A→B→C→D

降序排列

8.4不可改變處理優(yōu)先級可改變(通過重新設置屏蔽字)中斷源原屏蔽字新屏蔽字ABCD11110111001100011111010001100111處理優(yōu)先級A→D→C→B降序排列(3)屏蔽技術可改變處理優(yōu)先等級8.4服務程序B處理完C處理完D處理完A處理完t主程序A程序B程序C程序D程序A、B、C、D同時請求中斷CPU執(zhí)行程序軌跡(原屏蔽字)(3)屏蔽技術可改變處理優(yōu)先等級(4)屏蔽技術的其他作用8.4便于程序控制可以人為地屏蔽某個中斷源的請求服務程序D處理完C處理完B處理完A處理完t主程序A程序B程序C程序D程序A、B、C、D同時請求中斷CPU執(zhí)行程序軌跡(新屏蔽字)8.4(5)新屏蔽字的設置

保護現(xiàn)場

置屏蔽字

開中斷

中斷服務

關中斷

恢復現(xiàn)場

恢復屏蔽字

開中斷

中斷返回

置屏蔽字

恢復屏蔽字

關中斷

開中斷(1)斷點進棧(2)斷點存入“0”地址中斷隱指令完成中斷周期命令存儲器寫0MARPCMDR(MDR)存入存儲器三次中斷,三個斷點都存入“0”地址4.多重中斷的斷點保護斷點MDR?如何保證斷點不丟失?中斷隱指令完成8.4(3)程序斷點存入“0”地址的斷點保護××××05JMPSERVE××××SAVE××××RETURNSTASAVE…0地址內容轉存其他服務內容SERVELDASAVEJMP@RETURN存程序斷點5為向量地址…保護現(xiàn)場恢復現(xiàn)場間址返回存放ACC內容轉存0地址內容開中斷ENILDA0STARETURN置屏蔽字8.4地址內容說明1.請在括號內填入適當答案。在CPU中:⑴保存當前正在執(zhí)行的指令的寄存器是

,⑵保存當前正在執(zhí)行的指令地址的寄存器是

;⑶算術邏輯運算結果通常放在

。答:⑴IR;⑵AR;⑶AC和PSW2控制器的功能是()A產(chǎn)生時序信號B從主存中取出指令

C完成指令操作碼譯碼D.從主存中取出指令、分析指令并產(chǎn)生有關操作控制信號3下列說法正確的是()A指令周期等于機器周期

溫馨提示

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

評論

0/150

提交評論