CPU的結(jié)構(gòu)和功能_第1頁
CPU的結(jié)構(gòu)和功能_第2頁
CPU的結(jié)構(gòu)和功能_第3頁
CPU的結(jié)構(gòu)和功能_第4頁
CPU的結(jié)構(gòu)和功能_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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

中斷

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

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

PC

用戶可見3.舉例Z80008086MC68000MARMMDRIR大連理工大學軟件學院賴曉晨改編四、控制單元CU和中斷系統(tǒng)1.CU產(chǎn)生全部指令的微操作命令序列組合邏輯設(shè)計微程序設(shè)計硬連線邏輯存儲邏輯2.中斷系統(tǒng)參見第4篇五、ALU參見8.4節(jié)參見第6章大連理工大學軟件學院賴曉晨改編8.2指令周期一、指令周期的基本概念1.指令周期取出并執(zhí)行一條指令所需的全部時間完成一條指令執(zhí)行取指、分析取指階段取指周期執(zhí)行階段執(zhí)行周期(取指、分析)(執(zhí)行指令)指令周期取指周期執(zhí)行周期大連理工大學軟件學院賴曉晨改編2.每條指令的指令周期不同取指周期指令周期取指周期執(zhí)行周期指令周期NOPADDmemMULmem取指周期執(zhí)行周期指令周期…大連理工大學軟件學院賴曉晨改編3.具有間接尋址的指令周期4.帶有中斷周期的指令周期取指周期間址周期指令周期執(zhí)行周期取指周期間址周期指令周期執(zhí)行周期中斷周期大連理工大學軟件學院賴曉晨改編5.指令周期流程取指周期執(zhí)行周期有間址嗎?有中斷嗎?間址周期中斷周期是是否否大連理工大學軟件學院賴曉晨改編6.CPU工作周期的標志CPU訪存有四種性質(zhì)取指令取地址取操作數(shù)存程序斷點取指周期間址周期執(zhí)行周期中斷周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU的4個工作周期大連理工大學軟件學院賴曉晨改編1FE1IND1EX1INT控制信號形成部件其他硬件大連理工大學軟件學院賴曉晨改編1.取指周期數(shù)據(jù)流二、指令周期的數(shù)據(jù)流MDRCUMARPCIR存儲器CPU地址總線數(shù)據(jù)總線控制總線IR+1大連理工大學軟件學院賴曉晨改編2.間址周期數(shù)據(jù)流MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PCIR存儲器MDR大連理工大學軟件學院賴曉晨改編3.執(zhí)行周期數(shù)據(jù)流4.中斷周期數(shù)據(jù)流不同指令的執(zhí)行周期數(shù)據(jù)流不同MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PC存儲器大連理工大學軟件學院賴曉晨改編8.3指令流水一、如何提高機器速度1.提高訪存速度2.提高I/O和主機之間的傳送速度提高整機處理能力高速芯片Cache多體并行I/O處理機DMA多總線通道高速器件改進系統(tǒng)結(jié)構(gòu),挖掘系統(tǒng)的并行性中斷3.提高運算器速度高速芯片改進算法快速進位鏈大連理工大學軟件學院賴曉晨改編二、系統(tǒng)的并行性時間上互相重疊2.并行性的等級指令級(指令)過程級(進程)兩個或兩個以上事件在同一時刻發(fā)生兩個或兩個以上事件在同一時間段發(fā)生并行1.并行的概念粗粒度軟件實現(xiàn)細粒度硬件實現(xiàn)并發(fā)同時大連理工大學軟件學院賴曉晨改編取指令3執(zhí)行指令3三、指令流水原理2.指令的二級流水1.指令的串行執(zhí)行取指令

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

執(zhí)行指令部件

完成取指令1執(zhí)行指令1取指令2執(zhí)行指令2取指令3執(zhí)行指令3取指令2執(zhí)行指令2取指令1執(zhí)行指令1大連理工大學軟件學院賴曉晨改編必須等上條指令執(zhí)行結(jié)束,才能確定下條指令的地址,造成時間損失3.影響指令流水效率加倍的因素(1)執(zhí)行時間>取指時間

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

取指令部件指令部件緩沖區(qū)執(zhí)行指令部件影響指令流水效率的因素主要是各種相關(guān)問題。大連理工大學軟件學院賴曉晨改編指令的六級流水六級流水14個時間單位串行執(zhí)行6×9=54

個時間單位完成一條指令6個時間單位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t取指、譯碼、計算操作數(shù)地址、取數(shù)、執(zhí)行,寫回大連理工大學軟件學院賴曉晨改編指令1與指令4沖突指令2與指令5沖突指令1、指令3、指令6沖突…COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t4.相關(guān)相近指令之間出現(xiàn)某種關(guān)聯(lián),使指令流水出現(xiàn)停頓,影響效率取指、譯碼、計算操作數(shù)地址、取數(shù)、執(zhí)行,寫回大連理工大學軟件學院賴曉晨改編COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t4.相關(guān)1).結(jié)構(gòu)相關(guān)不同指令爭用同一功能部件產(chǎn)生資源沖突解決辦法?停頓?指令存儲器和數(shù)據(jù)存儲器分開,多部件?指令預取技術(shù)(適用于訪存周期短的情況)大連理工大學軟件學院賴曉晨改編2).數(shù)據(jù)相關(guān)不同指令因重疊操作,可能改變操作數(shù)的讀/寫訪問順序采用旁路技術(shù)解決辦法寫后讀相關(guān)(RAW)SUBR1,R2,R3ADDR4,R5,R1;(R2)

(R3)R1;(R5)+(R1)R4讀后寫相關(guān)(WAR)STAM,R2ADDR2,R4,R5;(R2)M存儲單元;(R4)+(R5)R2寫后寫相關(guān)(WAW)后推法MULR3,R2,R1SUB

R3,R4,R5;(R2)×

(R1)R3;(R4)(R5)

R3取指譯碼執(zhí)行寫回取指譯碼執(zhí)行寫回大連理工大學軟件學院賴曉晨改編2).數(shù)據(jù)相關(guān)不同指令因重疊操作,可能改變操作數(shù)的讀/寫訪問順序采用旁路技術(shù)解決辦法寫后讀相關(guān)(RAW)SUBR1,R2,R3ADDR4,R5,R1;(R2)

(R3)R1;(R5)+(R1)R4讀后寫相關(guān)(WAR)STAM,R2ADDR2,R4,R5;(R2)M存儲單元;(R4)+(R5)R2寫后寫相關(guān)(WAW)后推法MULR3,R2,R1SUB

R3,R4,R5;(R2)×

(R1)R3;(R4)(R5)

R3取指譯碼執(zhí)行寫回取指譯碼執(zhí)行寫回大連理工大學軟件學院賴曉晨改編2.數(shù)據(jù)相關(guān)不同指令因重疊操作,可能改變操作數(shù)的讀/寫訪問順序采用旁路技術(shù)解決辦法寫后讀相關(guān)(RAW)SUBR1,R2,R3ADDR4,R5,R1;(R2)

(R3)R1;(R5)+(R1)R4讀后寫相關(guān)(WAR)STAM,R2ADDR2,R4,R5;(R2)M存儲單元;(R4)+(R5)R2寫后寫相關(guān)(WAW)后推法MULR3,R2,R1SUB

R3,R4,R5;(R2)×

(R1)R3;(R4)(R5)

R3ADDR0,R1,R2ADDR4,R5,R0第一條指令的和已經(jīng)計算出從加法器直接取數(shù)取指譯碼取數(shù)執(zhí)行寫回取指譯碼取數(shù)執(zhí)行寫回取指譯碼取數(shù)執(zhí)行寫回取指譯碼取數(shù)執(zhí)行寫回大連理工大學軟件學院賴曉晨改編3).控制相關(guān)DIV指令必須等BNE指令的結(jié)果才能確定是否轉(zhuǎn)移LDA#0LDX#0INXCPX#NBNEMDIV#NSTAANSADDX,DM由轉(zhuǎn)移指令引起大連理工大學軟件學院賴曉晨改編3).控制相關(guān)WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令1指令2指令3指令4指令5指令6指令7指令15指令161234567891011121314轉(zhuǎn)移損失t設(shè)指令3是條件轉(zhuǎn)移指令,等到指令2執(zhí)行完畢后才知道轉(zhuǎn)移地址怎么辦?大連理工大學軟件學院賴曉晨改編3).控制相關(guān)WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令1指令2指令3指令4指令5指令6指令7指令15指令161234567891011121314轉(zhuǎn)移損失t分支預測法設(shè)指令3是條件轉(zhuǎn)移指令,等到指令2執(zhí)行完畢后才知道轉(zhuǎn)移地址大連理工大學軟件學院賴曉晨改編四、流水線性能1.吞吐率單位時間內(nèi)流水線所完成指令或輸出結(jié)果的數(shù)量最大吞吐率實際吞吐率連續(xù)處理n條指令的吞吐率為設(shè)m

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

·Δ

+(n-1)·

Δ

ntt大連理工大學軟件學院賴曉晨改編2.加速比Sp

m

段的流水線的速度與等功能的非流水線的速度之比設(shè)流水線各段時間為Δt完成n條指令在m

段流水線上共需

T=m

·

+(n-1)·

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

T

′=nm

·tΔSp

=

m

·+(n-1)·

nm·=nmm

+n-1

ΔtΔΔtt

則大連理工大學軟件學院賴曉晨改編由于流水線有建立時間和排空時間因此各功能段的設(shè)備不可能

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

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

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時間S空間空間S4S3S2S1(n-1)Δt大連理工大學軟件學院賴曉晨改編m(m

+n-1)Δt

=mnΔt

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

效率=3.效率

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT時間S空間空間S4S3S2S1(n-1)Δt流水線中各功能段的利用率大連理工大學軟件學院賴曉晨改編五、流水線的多發(fā)技術(shù)1.超標量技術(shù)每個時鐘周期內(nèi)可并發(fā)發(fā)射多條獨立指令

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

WR0123

45

678

910111213時鐘周期指令序列大連理工大學軟件學院賴曉晨改編2.超流水線技術(shù)在一個時鐘周期內(nèi)再分段(3段)

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

1

2

345

67

8

9

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

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

+軟件大連理工大學軟件學院賴曉晨改編二、中斷請求標記和中斷判優(yōu)邏輯1.中斷請求標記INTR一個請求源

一個INTR

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

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

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

的中斷系統(tǒng)內(nèi)12345n掉電過熱階上溢主存讀寫校驗錯非法除法鍵盤輸入打印機輸出大連理工大學軟件學院賴曉晨改編2.中斷判優(yōu)邏輯①

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

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

&1&參見第五章INTR1INTR2INTR3INTR4INTR1、

INTR2、

INTR3、

INTR4

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

INTP1INTP2INTP3INTP4根據(jù)緊急程度、重要程度、IO設(shè)備的速度來排隊大連理工大學軟件學院賴曉晨改編A、B、C

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

請求?是否B

請求?是否C

請求?轉(zhuǎn)A

的服務(wù)程序入口地址轉(zhuǎn)B

的服務(wù)程序入口地址轉(zhuǎn)C

的服務(wù)程序入口地址是是是否否大連理工大學軟件學院賴曉晨改編三、中斷服務(wù)程序入口地址的尋找1.硬件向量法入口地址200入口地址300入口地址40012H13H14H主存12H13H14HJMP200JMP300JMP400主存向量地址形成部件……中斷向量排隊器輸出向量地址12H、13H、14H入口地址200、300、400大連理工大學軟件學院賴曉晨改編2.軟件查詢法八個中斷源1,2,8按降序排列…否…是否A

請求?是否B

請求?是否C

請求?轉(zhuǎn)A

的服務(wù)程序入口地址轉(zhuǎn)B

的服務(wù)程序入口地址轉(zhuǎn)C

的服務(wù)程序入口地址是是是否否大連理工大學軟件學院賴曉晨改編四、中斷響應1.響應中斷的條件允許中斷觸發(fā)器EINT=12.響應中斷的時間指令執(zhí)行周期結(jié)束時刻由CPU發(fā)查詢信號

CPU中斷查詢INTR1DQINTR2DQINTRnDQ中斷源1中斷源2中斷源n…至排隊器大連理工大學軟件學院賴曉晨改編3.中斷隱指令(1)保護程序斷點(2)尋找服務(wù)程序入口地址(3)硬件關(guān)中斷斷點存于特定地址(0號地址)內(nèi)斷點進棧向量地址PC(硬件向量法)中斷識別程序入口地址MPC(軟件查詢法)大連理工大學軟件學院賴曉晨改編五、保護現(xiàn)場和恢復現(xiàn)場1.保護現(xiàn)場2.恢復現(xiàn)場寄存器內(nèi)容保護現(xiàn)場其它服務(wù)程序恢復現(xiàn)場中斷返回PUSH視不同請求源而定POP中斷服務(wù)程序完成中斷服務(wù)程序中斷服務(wù)程序完成IRET大連理工大學軟件學院賴曉晨改編1.多重中斷的概念klmk

+1l

+1m

+1第一次中斷第二次中斷第三次中斷程序斷點k+1,l+1,m+1六、中斷屏蔽技術(shù)大連理工大學軟件學院賴曉晨改編2.實現(xiàn)多重中斷的條件B、CA中斷請求主程序(2)優(yōu)先級別高的中斷源有權(quán)中斷優(yōu)先級別低的中斷源(1)提前設(shè)置開中斷指令(保護現(xiàn)場之后)ABCD中斷服務(wù)程序(A、B、C、D優(yōu)先級按降序排列)D大連理工大學軟件學院賴曉晨改編

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

&

&

&

&

1

1

1

1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ1DINTR

MASKQCPU查詢MASKi

=1(屏蔽)INTPi

=0(不能被排隊選中)大連理工大學軟件學院賴曉晨改編(2)屏蔽字

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

16按降序排列…大連理工大學軟件學院賴曉晨改編(3)屏蔽技術(shù)可改變處理優(yōu)先等級響應優(yōu)先級:cpu響應各中斷源請求的優(yōu)先次序響應優(yōu)先級A→B→C→D

降序排列

處理優(yōu)先級:cpu實際對各中斷源請求的優(yōu)先處理次序中斷源原屏蔽字新屏蔽字ABCD11110111001100011111010001100111處理優(yōu)先級A→D→C→B降序排列大連理工大學軟件學院賴曉晨改編(3)新屏蔽字的設(shè)置保護現(xiàn)場置屏蔽字開中斷

中斷服務(wù)關(guān)中斷恢復現(xiàn)場恢復屏蔽字開中斷中斷返回置屏蔽字恢復屏蔽字關(guān)中

溫馨提示

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

評論

0/150

提交評論