第八章CPU的結(jié)構(gòu)和詳版課資
《第八章CPU的結(jié)構(gòu)和詳版課資》由會員分享,可在線閱讀,更多相關(guān)《第八章CPU的結(jié)構(gòu)和詳版課資(98頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第章第章 CPU CPU 的結(jié)構(gòu)和功能的結(jié)構(gòu)和功能8.1 CPU 8.1 CPU 的結(jié)構(gòu)的結(jié)構(gòu)8.3 8.3 指令流水指令流水8.2 8.2 指令周期指令周期8.4 8.4 中斷系統(tǒng)中斷系統(tǒng)1課堂優(yōu)質(zhì) 8.1 CPU 8.1 CPU 的結(jié)構(gòu)的結(jié)構(gòu)2課堂優(yōu)質(zhì) 3課堂優(yōu)質(zhì)2 2、CPU CPU 結(jié)構(gòu)框圖結(jié)構(gòu)框圖 CPU CPU 與系統(tǒng)總線與系統(tǒng)總線寄存器寄存器ALUALU 中斷中斷 系統(tǒng)系統(tǒng)CUCUCPUCPU控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線4課堂優(yōu)質(zhì) CPU CPU 的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 算術(shù)和算術(shù)和布爾邏輯布爾邏輯取反取反移位移位狀態(tài)標(biāo)志狀態(tài)標(biāo)志內(nèi)部內(nèi)部 數(shù)據(jù)總線數(shù)據(jù)總線C C
2、P PU U寄存器寄存器CUCU中斷中斷系統(tǒng)系統(tǒng)ALUALU控制信號控制信號5課堂優(yōu)質(zhì)ALU數(shù)據(jù)緩沖寄存器狀態(tài)字寄存器地址地址數(shù)據(jù)數(shù)據(jù)57061007661077304031地址地址OP碼碼地址碼地址碼101MOVR0,R1102LADR1,6103ADDR1,R2104STOR2,(R3)105JMP101106ANDR1,R3107地址寄存器程序計數(shù)器時序發(fā)生器操作控制器指令譯碼器OP碼地址碼R0R1R2R3數(shù)存cache指存cacheAR數(shù)據(jù)地址總線指令地址總線控制信號OCPCIR指令寄存器C1C2C1C2C3Cn6課堂優(yōu)質(zhì)累加寄存累加寄存器器 指令寄存器指令寄存器程序計數(shù)器程序計數(shù)器狀
3、態(tài)寄存器狀態(tài)寄存器CPUCPU數(shù)據(jù)寄存器數(shù)據(jù)寄存器地址寄存器地址寄存器3、 CPU中的主要寄存器中的主要寄存器 7課堂優(yōu)質(zhì)8課堂優(yōu)質(zhì)4、 CPU操作控制器與時序產(chǎn)生器操作控制器與時序產(chǎn)生器 n操作控制器的功能操作控制器的功能:根據(jù)指令操作碼和時序信號,產(chǎn)生各種根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號操作控制信號,以正確建立數(shù)據(jù)通路,完成取指令和執(zhí)行,以正確建立數(shù)據(jù)通路,完成取指令和執(zhí)行指令的控制。指令的控制。n根據(jù)設(shè)計方法不同,操作控制器可分為:根據(jù)設(shè)計方法不同,操作控制器可分為: (1) 硬布線控制器:硬布線控制器:采用組合邏輯技術(shù)來實現(xiàn);采用組合邏輯技術(shù)來實現(xiàn); (2) 微程序控制器
4、:微程序控制器:采用存儲邏輯來實現(xiàn);采用存儲邏輯來實現(xiàn); (3) 門陣列控制器:門陣列控制器:吸收前兩種的設(shè)計思想來實現(xiàn)的。吸收前兩種的設(shè)計思想來實現(xiàn)的。 本章重點介紹微程序控制器本章重點介紹微程序控制器.n時序產(chǎn)生器時序產(chǎn)生器:產(chǎn)生對控制信號進行時間上控制的定時信號產(chǎn)生對控制信號進行時間上控制的定時信號.9課堂優(yōu)質(zhì)一、指令周期的基本概念一、指令周期的基本概念 指令周期指令周期: : CPUCPU從內(nèi)存取出一條指令并執(zhí)行完這從內(nèi)存取出一條指令并執(zhí)行完這條指令的時間總和條指令的時間總和 CPU CPU周期周期: :又稱又稱機器周期機器周期(總線周期總線周期),),CPUCPU訪問訪問內(nèi)存所花的時
5、間較長,因此用內(nèi)存所花的時間較長,因此用CPUCPU從內(nèi)存讀取一條指令從內(nèi)存讀取一條指令字的所需的最短時間來定義字的所需的最短時間來定義 時鐘周期時鐘周期: : 通常稱為通常稱為節(jié)拍脈沖節(jié)拍脈沖或或T T周期周期。一個。一個CPUCPU周期包含若干個時鐘周期周期包含若干個時鐘周期T T 相互關(guān)系相互關(guān)系: 1 1個指令周期個指令周期 = = 若干個若干個CPUCPU周期周期 1 1個個CPUCPU周期周期 = = 若干若干T T周期周期 取指時間執(zhí)行指令時間取指時間執(zhí)行指令時間8.2 8.2 指指 令令 周周 期期10課堂優(yōu)質(zhì)指令周期、機器周期、指令周期、機器周期、時鐘周期的關(guān)系時鐘周期的關(guān)系
6、11課堂優(yōu)質(zhì)020020 CLACLA;累加器清;累加器清0 0021021 ADD 30ADD 30;(;(ACAC)+ +(3030)ACAC022022 STA 40STA 40;(;(ACAC)(40)(40)023023 NOPNOP; 空操作空操作024024 JMP 21JMP 21; 21 21 PC PC 030 000 006030 000 006; ; 數(shù)據(jù)數(shù)據(jù) 040 040 存和數(shù)存和數(shù); ; 數(shù)據(jù)數(shù)據(jù)5 5條典型指令構(gòu)成的簡單程序條典型指令構(gòu)成的簡單程序12課堂優(yōu)質(zhì)一個一個CPU周期周期一個一個CPU周期周期取指令階段取指令階段執(zhí)行指令階段執(zhí)行指令階段開始開始取指令
7、取指令PC+1對指令對指令譯碼譯碼執(zhí)行指令執(zhí)行指令取下條指取下條指令令PC+1CLA指令的指令周期指令的指令周期13課堂優(yōu)質(zhì)取出取出CLACLA指令指令算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器程序計數(shù)器PC地址寄存器地址寄存器AR地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS累加器累加器AC緩沖寄存器緩沖寄存器DRCPUALU指令寄存器指令寄存器IR指令譯碼器指令譯碼器操作控制器操作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘時鐘狀態(tài)狀態(tài)反饋反饋取指取指控制控制執(zhí)行執(zhí)行控制控制cccc+1000 0202021222324303140CLAADD 30STA 40NOPJMP 210
8、00 006000 020CLACLA000 02114課堂優(yōu)質(zhì)算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器程序計數(shù)器PC地址寄存器地址寄存器AR地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS累加器累加器AC緩沖寄存器緩沖寄存器DRCPUALU指令寄存器指令寄存器IR指令譯碼器指令譯碼器操作控制器操作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘時鐘狀態(tài)狀態(tài)反饋反饋取指取指控制控制執(zhí)行執(zhí)行控制控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021000 000執(zhí)行執(zhí)行CLACLA指令指令15課堂
9、優(yōu)質(zhì)ADDADD指令的指令周期指令的指令周期 一個CPU周期 一個CPU周期取指令階段取指令階段執(zhí)行指令階段執(zhí)行指令階段開始開始取指令取指令PC+1對指令對指令譯碼譯碼送操作送操作數(shù)地址數(shù)地址取下條指取下條指令令PC+1取出操取出操作數(shù)作數(shù)執(zhí)行加執(zhí)行加操作操作一個CPU周期16課堂優(yōu)質(zhì)算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器指令譯碼器操作控制器操作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD 30S
10、TA 40NOPJMP 21000 006000 021ADDADD 30000 021000 022000 030000 0060+6=6000 006取出并執(zhí)行取出并執(zhí)行ADDADD指令指令17課堂優(yōu)質(zhì) STA STA指令的指令周期指令的指令周期 18課堂優(yōu)質(zhì)算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器程序計數(shù)器PC地址寄存器地址寄存器AR地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS累加器累加器AC緩沖寄存器緩沖寄存器DRCPUALU指令寄存指令寄存器器IR指令譯碼器指令譯碼器操作控制器操作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘時鐘狀態(tài)狀態(tài)反饋反饋取指取指控制控制執(zhí)行執(zhí)行控制
11、控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 022STASTA 40000 022000 023000 040000 006000 006000 006取出并執(zhí)行取出并執(zhí)行STASTA指令指令19課堂優(yōu)質(zhì)NOPNOP指令和指令和JMPJMP指令的指令周期指令的指令周期20課堂優(yōu)質(zhì)算術(shù)邏輯單元算術(shù)邏輯單元狀態(tài)條件寄存器狀態(tài)條件寄存器程序計數(shù)器程序計數(shù)器PC地址寄存器地址寄存器AR地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS累加器累加器AC緩沖寄存器緩沖寄存器DRALU指令寄存器指令寄存器IR指令譯碼器指令譯碼器操作控制器操
12、作控制器時序產(chǎn)生器時序產(chǎn)生器時鐘時鐘狀態(tài)狀態(tài)反饋反饋取指取指控制控制執(zhí)行執(zhí)行控制控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 024JMP 21JMP 21000 024000 021000 006000 006000 025000 021取出并執(zhí)行取出并執(zhí)行JMPJMP指令指令21課堂優(yōu)質(zhì)每條指令的指令周期不同每條指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 執(zhí)行周期執(zhí)行周期指令周期指令周期無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令加法指令加法指令乘法指令乘法指令取指周期取指周期執(zhí)行周期執(zhí)行周期指令周期指令周期22課
13、堂優(yōu)質(zhì)具有間接尋址的指令周期具有間接尋址的指令周期帶有中斷周期的指令周期帶有中斷周期的指令周期取指周期取指周期間址周期間址周期指令周期指令周期執(zhí)行周期執(zhí)行周期取指周期取指周期間址周期間址周期指令周期指令周期執(zhí)行周期執(zhí)行周期中斷周期中斷周期23課堂優(yōu)質(zhì)指令周期流程指令周期流程取指周期取指周期執(zhí)行周期執(zhí)行周期有間址嗎?有間址嗎?有中斷嗎?有中斷嗎?間址周期間址周期中斷周期中斷周期是是是是否否否否24課堂優(yōu)質(zhì)CPU CPU 工作周期的標(biāo)志工作周期的標(biāo)志CPU CPU 訪存有四種性質(zhì)訪存有四種性質(zhì)取取 指令指令 取取 地址地址取取 操作數(shù)操作數(shù)存存 程序斷點程序斷點取指周期取指周期 FEFE間址周期間
14、址周期 INDIND執(zhí)行周期執(zhí)行周期 EXEX中斷周期中斷周期 INTINTFEDINDDINTDCLK1FE1IND1EX1INTEXD25課堂優(yōu)質(zhì)1. 1. 取指周期數(shù)據(jù)流取指周期數(shù)據(jù)流二、二、 指令周期的數(shù)據(jù)流指令周期的數(shù)據(jù)流MDRCUMARPCIR存儲器存儲器CPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線IR+1 PCMAR AB M DB MDR IR,PC+1 PC26課堂優(yōu)質(zhì)2. 2. 間址周期數(shù)據(jù)流間址周期數(shù)據(jù)流MDRCUMARCPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線PCIR存儲器存儲器MDRAd(MDR) MAR AB M DB(EA) MDR形成地址形
15、成地址Ad(MDR) 27課堂優(yōu)質(zhì)3. 3. 執(zhí)行周期數(shù)據(jù)流執(zhí)行周期數(shù)據(jù)流4 . 4 . 中斷周期數(shù)據(jù)流中斷周期數(shù)據(jù)流不同指令的執(zhí)行周期數(shù)據(jù)流不同不同指令的執(zhí)行周期數(shù)據(jù)流不同MDRCUMARCPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線PC存儲器存儲器SP MAR AB M,PC MDR DB M,入口地址入口地址PC28課堂優(yōu)質(zhì)8.3 8.3 指指 令令 流流 水水一、如何提高機器速度一、如何提高機器速度1. 1. 提高訪存速度提高訪存速度2. 2. 提高提高 I/O I/O 和主機之間的傳送速度和主機之間的傳送速度 提高整機處理能力提高整機處理能力高速芯片高速芯片CacheCach
16、e多體并行多體并行I/O I/O 處理機處理機DMADMA多總線多總線通道通道高速器件高速器件改進系統(tǒng)結(jié)構(gòu)改進系統(tǒng)結(jié)構(gòu) ,開發(fā)系統(tǒng)的并行性,開發(fā)系統(tǒng)的并行性中斷中斷3. 3. 提高運算器速度提高運算器速度高速芯片高速芯片改進算法改進算法快速進位鏈快速進位鏈29課堂優(yōu)質(zhì) 標(biāo)準(zhǔn)的馮標(biāo)準(zhǔn)的馮諾依曼體系結(jié)構(gòu)是串行處理,即一個時諾依曼體系結(jié)構(gòu)是串行處理,即一個時刻只能進行一個操作??讨荒苓M行一個操作。 并行性的兩種含義并行性的兩種含義n同時性同時性:兩個以上事件在:兩個以上事件在同一時刻同一時刻發(fā)生。如多機發(fā)生。如多機系統(tǒng)中,同一時刻多個進程在運行。系統(tǒng)中,同一時刻多個進程在運行。 n并發(fā)性并發(fā)性:兩個
17、以上事件在:兩個以上事件在同一間隔內(nèi)同一間隔內(nèi)發(fā)生。如并發(fā)生。如并發(fā)程序,某一時刻發(fā)程序,某一時刻CPUCPU中只有一個進程在運行,而中只有一個進程在運行,而在一個時間段內(nèi),多個進程同時運行。在一個時間段內(nèi),多個進程同時運行。 二、系統(tǒng)的并行性二、系統(tǒng)的并行性30課堂優(yōu)質(zhì)并行性的等級并行性的等級指令級(指令之間)指令級(指令之間)(指令內(nèi)部)(指令內(nèi)部)過程級(程序、進程)過程級(程序、進程) 粗粒度粗粒度軟件實現(xiàn)軟件實現(xiàn)細粒度細粒度硬件實現(xiàn)硬件實現(xiàn)并行性的三種形式并行性的三種形式時間并行時間并行:即使用流水處理部件,:即使用流水處理部件,時間重疊時間重疊。 空間并行空間并行:設(shè)置:設(shè)置重復(fù)資
18、源重復(fù)資源,同時工作。,同時工作。 主要體主要體現(xiàn)在多處理器系統(tǒng)和多計算機系統(tǒng)?,F(xiàn)在多處理器系統(tǒng)和多計算機系統(tǒng)。時間并行空間并行時間并行空間并行:時間重疊和資源重復(fù)的:時間重疊和資源重復(fù)的綜合應(yīng)用。綜合應(yīng)用。 如奔騰如奔騰CPUCPU采用超標(biāo)量流水技術(shù),采用超標(biāo)量流水技術(shù),在一個機器周期中同時執(zhí)行兩條指令。在一個機器周期中同時執(zhí)行兩條指令。 31課堂優(yōu)質(zhì)1.1.順序執(zhí)行方式順序執(zhí)行方式: :串行執(zhí)行串行執(zhí)行 取指令取指令 i 分析分析 i 執(zhí)行執(zhí)行 i 取指令取指令 i+1 分析分析 i+1 執(zhí)行執(zhí)行 i+1 t取指令取指令it分析分析it執(zhí)行執(zhí)行i假設(shè)假設(shè)1 1:取指令、分析指令和執(zhí)行指令所
19、需時間分取指令、分析指令和執(zhí)行指令所需時間分別為別為t t取指令取指令、t t分析分析和和t t執(zhí)行執(zhí)行。結(jié)果結(jié)果1 1:執(zhí)行執(zhí)行n n條條指令所花的時間指令所花的時間niiiitttT1)(執(zhí)行分析取指令三、指令流水原理三、指令流水原理32課堂優(yōu)質(zhì)假設(shè)假設(shè)2 2:取指令、分析指令和執(zhí)行指令取指令、分析指令和執(zhí)行指令3 3個階個階段所需時間相等,設(shè)為段所需時間相等,設(shè)為t t 。結(jié)果結(jié)果2 2:順序執(zhí)行順序執(zhí)行n n條指令所需要的時間為:條指令所需要的時間為:T=3nt優(yōu)點優(yōu)點n控制簡單,節(jié)省設(shè)備??刂坪唵危?jié)省設(shè)備。主要缺點主要缺點n 處理機執(zhí)行指令的速度慢處理機執(zhí)行指令的速度慢n 功能部件
20、的利用率很低功能部件的利用率很低33課堂優(yōu)質(zhì) 2. 2.重疊方式重疊方式假設(shè):假設(shè):如果指令執(zhí)行的如果指令執(zhí)行的3 3個階段所需時間均為個階段所需時間均為t t。結(jié)果:結(jié)果: 一次重疊方式執(zhí)行一次重疊方式執(zhí)行n n條指令所需要的時間為:條指令所需要的時間為:(1 1)一次重疊:一次重疊:第第i i條指令的執(zhí)行階段和第條指令的執(zhí)行階段和第i+1i+1條指條指令的取指令階段同時進行,執(zhí)行過程如圖所示。令的取指令階段同時進行,執(zhí)行過程如圖所示。 一次重疊執(zhí)行方式一次重疊執(zhí)行方式 取指令i 分 析i 執(zhí) 行i 取指令i+1 分 析i+1 執(zhí) 行i+1 取指令i+2 分 析i+2 執(zhí) 行i+2 時間tt
21、tt3t2t2tT=3t+(n-1)2t=(1+2n)t34課堂優(yōu)質(zhì)假設(shè):假設(shè):如果指令執(zhí)行的如果指令執(zhí)行的3 3個階段所需時間均為個階段所需時間均為t t。結(jié)果:結(jié)果: 二次重疊方式執(zhí)行二次重疊方式執(zhí)行n n條指令所需要的時間為:條指令所需要的時間為:(2 2)二次重疊:)二次重疊:指第指第i i條指令的執(zhí)行階段、第條指令的執(zhí)行階段、第i+1i+1條條指令的分析階段和第指令的分析階段和第i+2i+2條指令的取指令階段同時進條指令的取指令階段同時進行。行。執(zhí)執(zhí) 行行i+2 取指令取指令i 分分 析析i 取指令取指令i+1取指令取指令i+2 執(zhí)執(zhí) 行行i 分分 析析i+1 分分 析析i+2 執(zhí)執(zhí)
22、 行行i+1 ttt3tttT= 3t+(n-1)t =(2+n)t35課堂優(yōu)質(zhì)(3 3)指令執(zhí)行階段重疊執(zhí)行,必須解決兩個問題:)指令執(zhí)行階段重疊執(zhí)行,必須解決兩個問題: 必須有獨立的必須有獨立的取指令部件、指令分析部件和指令取指令部件、指令分析部件和指令執(zhí)行執(zhí)行部件。部件。 要解決訪問主存沖突問題,通常有要解決訪問主存沖突問題,通常有3 3種方法:種方法:u 主存分成兩個獨立編址的存儲器:一個是指主存分成兩個獨立編址的存儲器:一個是指令存儲器,專門存放指令;另一個是數(shù)據(jù)存儲器,令存儲器,專門存放指令;另一個是數(shù)據(jù)存儲器,專門存放數(shù)據(jù)。專門存放數(shù)據(jù)。 u 主存采用低位交叉編址的并行存儲器,在
23、一個主存采用低位交叉編址的并行存儲器,在一個存儲周期中可以訪問多個存儲單元。存儲周期中可以訪問多個存儲單元。 u 采用先行控制技術(shù),這是解決訪問沖突的根采用先行控制技術(shù),這是解決訪問沖突的根本方法本方法 36課堂優(yōu)質(zhì)先行控制技術(shù)先行控制技術(shù) 要解決二次重疊執(zhí)行方式中存在的訪問主存儲器要解決二次重疊執(zhí)行方式中存在的訪問主存儲器的沖突問題,方法有三種:的沖突問題,方法有三種:第一,把主存儲器分成兩個獨立編址的存儲器,一第一,把主存儲器分成兩個獨立編址的存儲器,一個專門存放指令,稱為指令存儲器,另一個專門存放個專門存放指令,稱為指令存儲器,另一個專門存放操作數(shù),稱為數(shù)據(jù)存儲器。兩個存儲器同時獨立訪問
24、操作數(shù),稱為數(shù)據(jù)存儲器。兩個存儲器同時獨立訪問,解決了取指令和讀操作數(shù)的沖突。,解決了取指令和讀操作數(shù)的沖突。第二,指令和數(shù)據(jù)仍然混合存放在同一個主存作儲第二,指令和數(shù)據(jù)仍然混合存放在同一個主存作儲器內(nèi),采用低位交叉存取方式。器內(nèi),采用低位交叉存取方式。第三,解決訪問存儲器沖突的根本辦法是處理機結(jié)第三,解決訪問存儲器沖突的根本辦法是處理機結(jié)構(gòu)作較大的改變,采用先行控制技術(shù)。構(gòu)作較大的改變,采用先行控制技術(shù)。 37課堂優(yōu)質(zhì) 先行控制的基本思想是使分析部件和執(zhí)行部件能先行控制的基本思想是使分析部件和執(zhí)行部件能分別連續(xù)不斷地分析和執(zhí)行指令,這種技術(shù)實際上分別連續(xù)不斷地分析和執(zhí)行指令,這種技術(shù)實際上是
25、預(yù)處理技術(shù)和緩沖技術(shù)的結(jié)合,即通過對指令流是預(yù)處理技術(shù)和緩沖技術(shù)的結(jié)合,即通過對指令流和數(shù)據(jù)流的預(yù)處理和緩沖,能夠盡量使指令分析器和數(shù)據(jù)流的預(yù)處理和緩沖,能夠盡量使指令分析器和指令執(zhí)行部件獨立地工作,并始終處于忙碌狀態(tài)。和指令執(zhí)行部件獨立地工作,并始終處于忙碌狀態(tài)。這樣,就能夠使取指令、分析指令和執(zhí)行指令重疊這樣,就能夠使取指令、分析指令和執(zhí)行指令重疊起來執(zhí)行。使指令分析器和執(zhí)行部件能盡量地連續(xù)起來執(zhí)行。使指令分析器和執(zhí)行部件能盡量地連續(xù)工作。而且,在采用了緩沖技術(shù)和預(yù)處理技術(shù)之后,工作。而且,在采用了緩沖技術(shù)和預(yù)處理技術(shù)之后,運算器能夠?qū)P母蓴?shù)據(jù)的運算、從而大幅度提高指運算器能夠?qū)P母蓴?shù)據(jù)的
26、運算、從而大幅度提高指令的執(zhí)行速度。在正常情況下,處理機中同時有三令的執(zhí)行速度。在正常情況下,處理機中同時有三條指令在執(zhí)行。條指令在執(zhí)行。 先行控制技術(shù)最早在先行控制技術(shù)最早在IBMIBM公司研制的機器中采用公司研制的機器中采用。目前,先行控制技術(shù)是現(xiàn)代計算機系統(tǒng)中被普遍。目前,先行控制技術(shù)是現(xiàn)代計算機系統(tǒng)中被普遍采用的一項重要技術(shù),許多處理機中都已經(jīng)采用了采用的一項重要技術(shù),許多處理機中都已經(jīng)采用了這種技術(shù),包括超流水線處理機和超標(biāo)量處理機等這種技術(shù),包括超流水線處理機和超標(biāo)量處理機等。38課堂優(yōu)質(zhì)3、指令的六級流水、指令的六級流水六級流水六級流水1414 個時間單位個時間單位串行執(zhí)行串行執(zhí)
27、行6 6 9 9 5454個時間單位個時間單位完成完成 一條指令一條指令6 6 個時間單位個時間單位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t取指、譯碼、計算操作數(shù)地址、取指、譯碼、計算操作數(shù)地址、取數(shù)、執(zhí)行,寫回取數(shù)、執(zhí)行,寫回39課堂優(yōu)質(zhì)ALUA
28、LU取取/ /存存轉(zhuǎn)移轉(zhuǎn)移IFIF取指取指取指取指取指取指IDID譯碼,譯碼,讀寄存器堆讀寄存器堆譯碼,譯碼,讀寄存器堆讀寄存器堆譯碼,譯碼,讀寄存器堆讀寄存器堆EXEX執(zhí)行執(zhí)行計算訪存有效計算訪存有效地址地址計算轉(zhuǎn)移目標(biāo)地計算轉(zhuǎn)移目標(biāo)地址,設(shè)置條件碼址,設(shè)置條件碼MEMMEM訪存訪存( (讀或?qū)懽x或?qū)? )若條件成立,轉(zhuǎn)若條件成立,轉(zhuǎn)移目標(biāo)地址送移目標(biāo)地址送PCPCWBWB結(jié)果寫回寄結(jié)果寫回寄存器堆存器堆將讀出的數(shù)據(jù)將讀出的數(shù)據(jù)寫入寄存器堆寫入寄存器堆指令指令流水段流水段不同類型指令中各流水段所進行的操作不同類型指令中各流水段所進行的操作四四. . 影響流水線性能的因素影響流水線性能的因素4
29、0課堂優(yōu)質(zhì)1. 1. 結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān) 結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)是是當(dāng)指令在重疊執(zhí)行過程中,硬件資源當(dāng)指令在重疊執(zhí)行過程中,硬件資源滿足不了指令重疊執(zhí)行的要求,發(fā)生資源沖突時將滿足不了指令重疊執(zhí)行的要求,發(fā)生資源沖突時將產(chǎn)生產(chǎn)生“結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)”。例:假定一條指令流水線由五段組成,且僅有例:假定一條指令流水線由五段組成,且僅有IF過程和過程和MEM過程需要訪問存儲器過程需要訪問存儲器 I1與與I4兩條指令在時鐘兩條指令在時鐘4爭用存儲器資源的相關(guān)沖突爭用存儲器資源的相關(guān)沖突41課堂優(yōu)質(zhì)表表8.3 8.3 解決訪存沖突的一種方案解決訪存沖突的一種方案42課堂優(yōu)質(zhì) 當(dāng)指令在流水線中重疊執(zhí)行時,流水線有可
30、能當(dāng)指令在流水線中重疊執(zhí)行時,流水線有可能改變指令讀改變指令讀/ /寫操作數(shù)的順序,使之不同于它們寫操作數(shù)的順序,使之不同于它們在非流水實現(xiàn)時的順序,這將導(dǎo)致數(shù)據(jù)相關(guān)。在非流水實現(xiàn)時的順序,這將導(dǎo)致數(shù)據(jù)相關(guān)。 ADDADDR1R1, R2R2,R3R3SUBSUBR4R4, R1R1,R5R52 2、 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)先寫后讀錯誤先寫后讀錯誤43課堂優(yōu)質(zhì)數(shù)據(jù)相關(guān)的分類數(shù)據(jù)相關(guān)的分類兩條指令兩條指令 i i 和和 j j,都會訪問同一寄存器,都會訪問同一寄存器R R,假設(shè)假設(shè)i i 先進入流水線,則它們對先進入流水線,則它們對R R有四種不有四種不同的訪問順序:同的訪問順序:(1)(1) 寫后讀
31、寫后讀( ( RAW RAW ) ) i i 寫寫j j 讀讀u如果如果j j 在在i i 完成寫之前從完成寫之前從R R 中讀出數(shù)據(jù),中讀出數(shù)據(jù),將得到錯誤的結(jié)果!將得到錯誤的結(jié)果!u最常見的數(shù)據(jù)相關(guān),嚴(yán)重制約了最常見的數(shù)據(jù)相關(guān),嚴(yán)重制約了CPUCPU的性的性能,是程序最重要的特征之一!能,是程序最重要的特征之一!44課堂優(yōu)質(zhì)(2) (2) 讀后寫讀后寫( (WAR WAR ) ) i i 讀讀j j 寫寫u如果如果j j 先將數(shù)據(jù)寫入先將數(shù)據(jù)寫入R R,i i 將讀出錯誤的將讀出錯誤的結(jié)果!結(jié)果!u當(dāng)有些指令在流水段后半部分讀源操作數(shù),當(dāng)有些指令在流水段后半部分讀源操作數(shù),另一些指令在流水
32、線前半部分寫結(jié)果,可另一些指令在流水線前半部分寫結(jié)果,可能引起這種類型的相關(guān)。能引起這種類型的相關(guān)。 (3) (3) 寫后寫寫后寫( ( WAW WAW ) ) i i 寫寫j j 寫寫 如果如果j j 在在i i 之前完成寫操作,之前完成寫操作,R R中將保中將保存錯誤的結(jié)果!存錯誤的結(jié)果! (4) (4) 讀后讀讀后讀( (RAR RAR ) ) i i 讀讀j j 讀讀 不引起數(shù)據(jù)相關(guān)!不引起數(shù)據(jù)相關(guān)!45課堂優(yōu)質(zhì)46課堂優(yōu)質(zhì) ADD R1, R2,R3SUBR4, R1,R5AND R6, R1,R7ORR8, R1,R9XORR10,R1,R11解決方法解決方法1 1: 后推法:后推
33、法:即遇到數(shù)據(jù)相關(guān)時,就停頓后繼指令即遇到數(shù)據(jù)相關(guān)時,就停頓后繼指令的執(zhí)行,直至前面指令的結(jié)果已經(jīng)形成。的執(zhí)行,直至前面指令的結(jié)果已經(jīng)形成。47課堂優(yōu)質(zhì)未對數(shù)據(jù)相關(guān)進行特殊處理的流水線未對數(shù)據(jù)相關(guān)進行特殊處理的流水線48課堂優(yōu)質(zhì)對數(shù)據(jù)相關(guān)進行特殊處理的流水線對數(shù)據(jù)相關(guān)進行特殊處理的流水線49課堂優(yōu)質(zhì)解決方法解決方法2 2:通過通過定向技術(shù)定向技術(shù)減少數(shù)據(jù)相關(guān)帶來的暫停減少數(shù)據(jù)相關(guān)帶來的暫停定向,定向,也稱為也稱為旁路旁路(bypassing)(bypassing)主要思路:將計算結(jié)果從其產(chǎn)生的地方主要思路:將計算結(jié)果從其產(chǎn)生的地方直接直接送到真正需要它的地方送到真正需要它的地方,就可以避免暫停
34、。,就可以避免暫停。- 寄存器文件寄存器文件EX/MEMEX/MEM中的中的ALUALU運算結(jié)果總是運算結(jié)果總是回送到回送到ALUALU的輸入寄存器的輸入寄存器- 從定向通路得到輸入數(shù)據(jù)的從定向通路得到輸入數(shù)據(jù)的ALUALU操作不必操作不必從源寄存器中讀取操作數(shù)從源寄存器中讀取操作數(shù)50課堂優(yōu)質(zhì)51課堂優(yōu)質(zhì)52課堂優(yōu)質(zhì)3. 3. 控制相關(guān)控制相關(guān)控制相關(guān)控制相關(guān)沖突由沖突由轉(zhuǎn)移指令(分支指令)轉(zhuǎn)移指令(分支指令)引起引起執(zhí)行轉(zhuǎn)移指令時,依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果執(zhí)行轉(zhuǎn)移指令時,依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果可能為順序取下條指令可能為順序取下條指令也可能轉(zhuǎn)移到新的目標(biāo)地址取指令也可能轉(zhuǎn)移到新的目標(biāo)地址取指令
35、地址不定,流水線需要暫停、地址不定,流水線需要暫停、發(fā)生斷流發(fā)生斷流轉(zhuǎn)移指令轉(zhuǎn)移指令主要有:主要有:無條件轉(zhuǎn)移指令,過程調(diào)用和返回?zé)o條件轉(zhuǎn)移指令,過程調(diào)用和返回,條件分支指令,條件分支指令 53課堂優(yōu)質(zhì)由程序執(zhí)行轉(zhuǎn)移類指令而引起的相關(guān)。影響范圍比由程序執(zhí)行轉(zhuǎn)移類指令而引起的相關(guān)。影響范圍比較大,會引起程序執(zhí)行方向的改變。在流水線中,較大,會引起程序執(zhí)行方向的改變。在流水線中,對流水線的吞吐率和效率的影響很大。對流水線的吞吐率和效率的影響很大。 無條件轉(zhuǎn)移無條件轉(zhuǎn)移 1. 1. 轉(zhuǎn)移指令在流水線處理機中的處理轉(zhuǎn)移指令在流水線處理機中的處理k : k +1: JMP L L : 分分析析 k k執(zhí)
36、執(zhí)行行 k k分分析析 k k+ +1 1指指令令 L L 不不在在先先行行指指令令緩緩沖沖棧棧中中:取取指指令令 L L分分析析 L L執(zhí)執(zhí)行行 L L指指令令 L L 在在先先行行指指令令緩緩沖沖棧棧中中:分分析析 L L執(zhí)執(zhí)行行 L L分分析析 L L+ +1 1執(zhí)執(zhí)行行 L L+ +1 1無無條條件件轉(zhuǎn)轉(zhuǎn)移移指指令令的的執(zhí)執(zhí)行行時時序序54課堂優(yōu)質(zhì) 條件轉(zhuǎn)移條件轉(zhuǎn)移條件轉(zhuǎn)移指令有兩種:條件轉(zhuǎn)移指令有兩種:一般條件轉(zhuǎn)移指令一般條件轉(zhuǎn)移指令和和復(fù)合條件轉(zhuǎn)復(fù)合條件轉(zhuǎn)移指令移指令。 一般條件轉(zhuǎn)移指令一般條件轉(zhuǎn)移指令的轉(zhuǎn)移條件來自上一條指令,或更前面的指令。的轉(zhuǎn)移條件來自上一條指令,或更前面的指
37、令。 k : ;置條件碼置條件碼CCCCk +1:JMP(CC) L ;如果如果CCCC為真轉(zhuǎn)向為真轉(zhuǎn)向L L,否則繼續(xù)執(zhí)行,否則繼續(xù)執(zhí)行k+2k+2k +2: L : 分分析析k k 執(zhí)執(zhí)行行k k 轉(zhuǎn)轉(zhuǎn)移移不不成成功功 分分析析k k+ +1 1 分分析析k k+ +2 2 執(zhí)執(zhí)行行K K+ +2 2 成成功功, ,L L在在緩緩沖沖棧棧 分分析析k k+ +1 1 分分析析L L 執(zhí)執(zhí)行行L L 成成 功功 , ,L L不不 在在 緩緩 沖沖 棧棧 分分析析k k+ +1 1 取取指指令令L L 分分析析L L 執(zhí)執(zhí)行行L L 產(chǎn)產(chǎn)生生轉(zhuǎn)轉(zhuǎn)移移條條件件CC 根根據(jù)據(jù)轉(zhuǎn)轉(zhuǎn)移移條條件件CC判
38、判斷斷轉(zhuǎn)轉(zhuǎn)移移是是否否成成功功 55課堂優(yōu)質(zhì)復(fù)合型條件轉(zhuǎn)移指令復(fù)合型條件轉(zhuǎn)移指令直接根據(jù)本條指令的執(zhí)行結(jié)果決定是直接根據(jù)本條指令的執(zhí)行結(jié)果決定是否轉(zhuǎn)移。否轉(zhuǎn)移。 復(fù)合型條件轉(zhuǎn)移指令的執(zhí)行時間關(guān)系下:復(fù)合型條件轉(zhuǎn)移指令的執(zhí)行時間關(guān)系下: k: OP L ;根據(jù)執(zhí)行結(jié)果產(chǎn)生的條件碼決定是否轉(zhuǎn)向根據(jù)執(zhí)行結(jié)果產(chǎn)生的條件碼決定是否轉(zhuǎn)向L Lk+1: : L: 執(zhí)執(zhí)行行k k 轉(zhuǎn)轉(zhuǎn)移移不不成成功功 分分析析k k+ +1 1 執(zhí)執(zhí)行行k k+ +1 1 分分析析k k 執(zhí)執(zhí)行行k k 成成功功,L L在在先先行行指指令令緩緩沖沖棧棧中中 分分析析L L 執(zhí)執(zhí)行行L L 分分 析析k k 執(zhí)執(zhí) 行行k k
39、成成 功功 , L L不不 在在 先先 行行 指指 令令 緩緩 沖沖 棧棧 中中 取取 指指 令令L L 分分 析析L L 執(zhí)執(zhí) 行行L L 56課堂優(yōu)質(zhì)BNE 指令必須等指令必須等CPX 指令的結(jié)果指令的結(jié)果才能判斷出才能判斷出是轉(zhuǎn)移是轉(zhuǎn)移還是順序執(zhí)行還是順序執(zhí)行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DM57課堂優(yōu)質(zhì)WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令
40、5指令指令 6指令指令 7指令指令15指令指令16 1 2 3 4 5 6 7 8 9 10 11 12 13 14轉(zhuǎn)移損失轉(zhuǎn)移損失t設(shè)設(shè) 指令指令3 是轉(zhuǎn)移指令是轉(zhuǎn)移指令1.1.早判別轉(zhuǎn)移是否發(fā)生早判別轉(zhuǎn)移是否發(fā)生2.2.預(yù)取轉(zhuǎn)移成功或不成功的目標(biāo)指令預(yù)取轉(zhuǎn)移成功或不成功的目標(biāo)指令3.3.加快和提前形成條件碼加快和提前形成條件碼4.4.猜測法猜測法58課堂優(yōu)質(zhì)1. 1. 吞吐率(吞吐率(TPTP) 指在單位時間內(nèi)流水線完成的任務(wù)數(shù)或輸出的結(jié)指在單位時間內(nèi)流水線完成的任務(wù)數(shù)或輸出的結(jié)果數(shù)。果數(shù)。 knTPT其中:其中:n n表示任務(wù)數(shù)表示任務(wù)數(shù) T Tk k表示完成表示完成n n個任務(wù)所用的時
41、間個任務(wù)所用的時間 五、流水線性能五、流水線性能 59課堂優(yōu)質(zhì)假設(shè)各段時間均相等的流水線假設(shè)各段時間均相等的流水線各段時間均相等的流水線各段時間均相等的流水線時空圖時空圖 S1 S2 S3 S4tttt S1 S2 S3 S4 空空間間 1 1 1 1 2 2 2 2 3 3 3 3 n-1 n-1 n-1 n-1 n n n n 時間4t(n-1)t完成n個任務(wù)n個任務(wù)所需要的時間60課堂優(yōu)質(zhì) S1 S2 S3 S4 空空 間間 時時 間間 1 ( 單單 位位 : t) 1 1 1 2 2 2 2 3 3 3 3 n-1 n-1 n-1 n-1 n n n n k t (n-1) t Tk
42、61課堂優(yōu)質(zhì)流水線完成流水線完成n n個連續(xù)任務(wù)所需要的總時間為個連續(xù)任務(wù)所需要的總時間為(假設(shè)一條(假設(shè)一條k k段段線性流水線)線性流水線)T Tk kk kt t( (n n-1)-1)t t( (k kn n-1)-1)t t 流水線的流水線的實際吞吐率實際吞吐率最大吞吐率最大吞吐率TP =n(k+n-1)tTPmax=n(k+n-1)tlimn=1t62課堂優(yōu)質(zhì)最大吞吐率與實際吞吐率的關(guān)系最大吞吐率與實際吞吐率的關(guān)系max1TPnknTP流水線的實際吞吐率小于最大吞吐率,流水線的實際吞吐率小于最大吞吐率,它除了與每個段的時間有關(guān)外,還與流它除了與每個段的時間有關(guān)外,還與流水線的段數(shù)水
43、線的段數(shù)k k以及輸入到流水線中的任務(wù)以及輸入到流水線中的任務(wù)數(shù)數(shù)n n等有關(guān)。等有關(guān)。只有當(dāng)只有當(dāng)n nk k時,才有時,才有TPTPTPTPmaxmax。 63課堂優(yōu)質(zhì)2. 2. 加速比加速比 指流水線加速比是指完成一批任務(wù)時,不采用流指流水線加速比是指完成一批任務(wù)時,不采用流水線所用的時間與采用流水線所用的時間之比水線所用的時間與采用流水線所用的時間之比 其中:其中:用用T0T0表示采用順序方式下的執(zhí)行時間;表示采用順序方式下的執(zhí)行時間;用用TkTk表示采用流水線的執(zhí)行時間;表示采用流水線的執(zhí)行時間;用用S S表示流水線的加速比表示流水線的加速比 kTTS064課堂優(yōu)質(zhì)各個功能段執(zhí)行時間
44、均相等的各個功能段執(zhí)行時間均相等的k k段流水線上段流水線上完成完成n n個連續(xù)任務(wù)的實際加速比為個連續(xù)任務(wù)的實際加速比為 :1) 1(nkkntnktknS在在k k個功能段相等的流水線中,最大加速比為:個功能段相等的流水線中,最大加速比為: knkknSn1limmax65課堂優(yōu)質(zhì)在流水線的各功能段執(zhí)行時間相等在流水線的各功能段執(zhí)行時間相等連續(xù)輸入連續(xù)輸入n n個任務(wù)的情況下,個任務(wù)的情況下,一條一條k k段流水線的效段流水線的效率為:率為:(1)1kn tnEk kntkn流水線的最高效率為:流水線的最高效率為: 11limmaxnknEn3.3.效率效率 指流水線中各功能段的利用率。指
45、流水線中各功能段的利用率。即:即:在時空圖上,流水線的效率為在時空圖上,流水線的效率為n n個任務(wù)占用個任務(wù)占用的時空區(qū)與的時空區(qū)與k k個功能段總的時空區(qū)之比。個功能段總的時空區(qū)之比。 66課堂優(yōu)質(zhì) S1 S2 S3 S4 空間空間 時間時間 1 (單位:單位:t) 1 1 1 2 2 2 2 3 3 3 3 n-1 n-1 n-1 n-1 n n n n kt (n-1)t Tk 67課堂優(yōu)質(zhì)例例8.1 8.1 假設(shè)指令流水線分取指假設(shè)指令流水線分取指(IF)(IF)、譯碼、譯碼(ID)(ID)、執(zhí)行執(zhí)行(EX)(EX)、回寫、回寫(WR)(WR)四個階段,共有四個階段,共有1010條指令
46、連條指令連續(xù)輸入此流水線。續(xù)輸入此流水線。1 1)畫出指令周期流程。)畫出指令周期流程。IF-ID-EX-WRIF-ID-EX-WR2 2)畫出非流水線時空圖。)畫出非流水線時空圖。12121212T時間時間S空間空間空間空間WREXIDIF1 2 3 4 5 6 7 8I1I268課堂優(yōu)質(zhì)3 3)畫出流水線時空圖。)畫出流水線時空圖。4 4)假設(shè)時鐘周期為)假設(shè)時鐘周期為100ns,100ns,求流水線的實際吞吐率。求流水線的實際吞吐率。10/(100ns10/(100ns13) 0.7713) 0.7710107 7 條指令條指令/s/s5 5)求該流水線的加速比。)求該流水線的加速比。4
47、 410/13 10/13 3.083.08S空間空間1 2 3 4 5 6 7 8 9 10 11 12 1331245312453124531245 9 10 9 10 9 10 9 10T時間時間空間空間WREXIDIFI10I9I8I7I6I5I4I3I2I169課堂優(yōu)質(zhì)六、流水線的多發(fā)技術(shù)六、流水線的多發(fā)技術(shù) 1. 1. 超標(biāo)量技術(shù)超標(biāo)量技術(shù) 每個時鐘周期內(nèi)可每個時鐘周期內(nèi)可 并發(fā)多條獨立指令并發(fā)多條獨立指令 不能調(diào)整不能調(diào)整 指令的指令的 執(zhí)行順序執(zhí)行順序配置多個功能部件配置多個功能部件 通過編譯優(yōu)化技術(shù),把可并行執(zhí)行的指令搭配起來通過編譯優(yōu)化技術(shù),把可并行執(zhí)行的指令搭配起來IF
48、ID IF ID EX EX WRWR0 1 2 3 0 1 2 3 4 5 4 5 6 7 8 6 7 8 9 10 11 12 139 10 11 12 13時鐘時鐘周期周期指令序列指令序列70課堂優(yōu)質(zhì)2. 2. 超流水線技術(shù)超流水線技術(shù) 在在 一個時鐘周期一個時鐘周期 內(nèi)內(nèi) 再分段再分段 ( 3 3 段)段) 不能調(diào)整不能調(diào)整 指令的指令的 執(zhí)行順序執(zhí)行順序在一個時鐘周期內(nèi)在一個時鐘周期內(nèi) 一個功能部件使用多次一個功能部件使用多次(3 3 次)次)靠編譯程序解決優(yōu)化問題靠編譯程序解決優(yōu)化問題流水線速度是原來速度的流水線速度是原來速度的 3 倍倍IF ID EX WR0 1 2 3 4 5
49、 6 7 8 9 10 11 12 13時鐘周期時鐘周期指令序列指令序列71課堂優(yōu)質(zhì)3. 3. 超長指令字技術(shù)超長指令字技術(shù) 采用采用 多個處理部件多個處理部件具有具有 多個操作碼字段多個操作碼字段 的的 超長指令字超長指令字(可達幾百位)(可達幾百位) 由編譯程序由編譯程序 挖掘挖掘 出指令間出指令間 潛在潛在 的的 并行性,并行性,將將 多條多條 能能 并行操作并行操作 的指令組合成的指令組合成 一條一條IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13時鐘周期時鐘周期指令序列指令序列72課堂優(yōu)質(zhì)七、流水線結(jié)構(gòu)七、流水線結(jié)構(gòu)1. 1. 指令流水線結(jié)構(gòu)指令流
50、水線結(jié)構(gòu)完成一條指令分完成一條指令分 7 7 段段, 每段需一個時鐘周期每段需一個時鐘周期若若 流水線不出現(xiàn)斷流流水線不出現(xiàn)斷流1 1 個時鐘周期出個時鐘周期出 1 1 結(jié)果結(jié)果不采用流水技術(shù)不采用流水技術(shù)7 7 個時鐘周期出個時鐘周期出 1 1 結(jié)果結(jié)果理想情況下,理想情況下,7 7 級流水級流水 的速度是不采用流水技術(shù)的的速度是不采用流水技術(shù)的 7 7 倍倍地址形成部件地址形成部件指令譯碼部件指令譯碼部件取操作數(shù)部件取操作數(shù)部件取指令部件取指令部件操作執(zhí)行部件操作執(zhí)行部件回寫結(jié)果部件回寫結(jié)果部件修改指令指針部件修改指令指針部件鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存73課堂優(yōu)質(zhì)2.
51、 2. 運算流水線運算流水線完成完成 浮點加減浮點加減 運算運算 可分可分對階、尾數(shù)求和、規(guī)格化對階、尾數(shù)求和、規(guī)格化 三段三段分段原則分段原則 每段每段 操作時間操作時間 盡量盡量 一致一致鎖存器鎖存器對階功能部件對階功能部件第一段第一段尾數(shù)加部件尾數(shù)加部件鎖存器鎖存器第二段第二段規(guī)格化部件規(guī)格化部件鎖存器鎖存器第三段第三段74課堂優(yōu)質(zhì)8.4 8.4 中斷系統(tǒng)中斷系統(tǒng)一、概述一、概述1. 1. 引起中斷的各種因素引起中斷的各種因素(1) (1) 人為設(shè)置的中斷人為設(shè)置的中斷(2) (2) 程序性事故程序性事故如如 轉(zhuǎn)管指令轉(zhuǎn)管指令溢出、操作碼不能識別、除法非法溢出、操作碼不能識別、除法非法(
52、5) (5) 外部事件外部事件(4) I/O (4) I/O 設(shè)備設(shè)備(3) (3) 硬件故障硬件故障用用 鍵盤中斷鍵盤中斷 現(xiàn)行程序現(xiàn)行程序轉(zhuǎn)管指令轉(zhuǎn)管指令管理程序管理程序75課堂優(yōu)質(zhì)2. 2. 中斷系統(tǒng)需解決的問題中斷系統(tǒng)需解決的問題(1) (1) 各中斷源各中斷源 如何如何 向向 CPU CPU 提出請求提出請求 ?(2) (2) 各中斷源各中斷源 同時同時 提出提出 請求請求 怎么辦怎么辦 ?(5) (5) 如何如何 尋找入口地址尋找入口地址 ?(4) (4) 如何如何 保護現(xiàn)場保護現(xiàn)場 ?(3) CPU (3) CPU 什么什么 條件條件、什么、什么 時間時間、以什么、以什么 方式方
53、式 響應(yīng)中斷響應(yīng)中斷 ?(6) (6) 如何如何 恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場,如何,如何 返回返回 ?(7) (7) 處理中斷的過程中又處理中斷的過程中又 出現(xiàn)新的中斷出現(xiàn)新的中斷 怎么辦怎么辦 ?硬件硬件 軟件軟件76課堂優(yōu)質(zhì)二、中斷請求標(biāo)記和中斷判優(yōu)邏輯二、中斷請求標(biāo)記和中斷判優(yōu)邏輯1. 1. 中斷請求標(biāo)記中斷請求標(biāo)記 INTRINTR一個請求源一個請求源 一個一個 INTRINTR 中斷請求標(biāo)記觸發(fā)器中斷請求標(biāo)記觸發(fā)器多個多個INTRINTR 組成組成 中斷請求標(biāo)記寄存器中斷請求標(biāo)記寄存器INTR INTR 分散分散 在各個中斷源的在各個中斷源的 接口電路中接口電路中INTR INTR 集中集中
54、在在 CPU CPU 的中斷系統(tǒng)的中斷系統(tǒng) 內(nèi)內(nèi)12345n掉電掉電過熱過熱階上溢階上溢主存讀寫校驗錯主存讀寫校驗錯非法除法非法除法鍵盤輸入鍵盤輸入打印機輸出打印機輸出77課堂優(yōu)質(zhì)磁磁盤盤磁磁帶帶CRT顯示顯示鍵鍵盤盤輸輸入入打印打印輸出輸出電電源源故故障障紙紙帶帶輸輸入入保保留留INTR78課堂優(yōu)質(zhì)(a)菊花鏈排隊電路菊花鏈排隊電路中斷請求中斷請求CPUINTR接口接口設(shè)備設(shè)備3接口接口設(shè)備設(shè)備2接口接口設(shè)備設(shè)備1菊花鏈菊花鏈邏輯邏輯菊花鏈菊花鏈邏輯邏輯菊花鏈菊花鏈邏輯邏輯中斷響應(yīng)信號中斷響應(yīng)信號集電極開路門集電極開路門+5VINTA2. 2. 中斷判優(yōu)邏輯中斷判優(yōu)邏輯(1) (1) 硬件實
55、現(xiàn)(排隊器)硬件實現(xiàn)(排隊器)79課堂優(yōu)質(zhì)(b) (b) 菊花鏈邏輯菊花鏈邏輯中斷中斷請求請求信號信號(高電平有效高電平有效)中斷響應(yīng)信號中斷響應(yīng)信號(低電平有效)(低電平有效)INTAINTR80課堂優(yōu)質(zhì)(2) (2) 軟件實現(xiàn)(程序查詢)軟件實現(xiàn)(程序查詢)保護現(xiàn)場保護現(xiàn)場恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場A申請服務(wù)?申請服務(wù)?B申請服務(wù)?申請服務(wù)?C申請服務(wù)?申請服務(wù)?外設(shè)外設(shè)A中斷服務(wù)程序中斷服務(wù)程序NNN外設(shè)外設(shè)B中斷服務(wù)程序中斷服務(wù)程序外設(shè)外設(shè)C中斷服務(wù)程序中斷服務(wù)程序YYY81課堂優(yōu)質(zhì)三、中斷服務(wù)程序入口地址的尋找三、中斷服務(wù)程序入口地址的尋找1. 1. 硬件向量法硬件向量法入口地址入口地址 20
56、0入口地址入口地址 300入口地址入口地址 40012 H13 H14 H主存主存12 H13 H14 HJMP 200JMP 300JMP 400主存主存向量地址向量地址形成部件形成部件中斷向量中斷向量排隊器輸出排隊器輸出向量地址向量地址 12H、13H、14H入口地址入口地址 200、 300、 40082課堂優(yōu)質(zhì)2. 2. 軟件查詢法軟件查詢法 M JMP 1# SR1# D = 1 轉(zhuǎn)轉(zhuǎn)1# 服務(wù)程序服務(wù)程序 SKP DZ 2# JMP 2# SR2# D = 0 跳跳2# D = 1 轉(zhuǎn)轉(zhuǎn)2# 服務(wù)程序服務(wù)程序 SKP DZ 8# JMP 8# SR8# D = 0 跳跳8# D =
57、 1 轉(zhuǎn)轉(zhuǎn)8# 服務(wù)程序服務(wù)程序八個中斷源八個中斷源 1 1,2 2, 8 8 按按 降序降序 排列排列 SKP DZ 1#1# D = 0 跳跳(D為完成觸發(fā)器)為完成觸發(fā)器)中斷識別程序中斷識別程序(入口地址(入口地址 M M)地地 址址說說 明明指指 令令83課堂優(yōu)質(zhì)四、中斷響應(yīng)四、中斷響應(yīng)1. 1. 響應(yīng)中斷的響應(yīng)中斷的 條件條件允許中斷觸發(fā)器允許中斷觸發(fā)器 EINT = 1EINT = 12. 2. 響應(yīng)中斷的響應(yīng)中斷的 時間時間指令執(zhí)行周期結(jié)束時刻由指令執(zhí)行周期結(jié)束時刻由CPU CPU 發(fā)查詢信號發(fā)查詢信號 CPU中斷查詢中斷查詢INTR1DQINTR2DQINTRnDQ中斷源中斷
58、源 1中斷源中斷源 2中斷源中斷源 n至排隊器至排隊器84課堂優(yōu)質(zhì)3. 3. 中斷隱指令中斷隱指令(1) (1) 保護程序斷點保護程序斷點(2) (2) 尋找服務(wù)程序入口地址尋找服務(wù)程序入口地址(3) (3) 硬件硬件 關(guān)中斷關(guān)中斷向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1 &1排隊器排隊器斷點存于斷點存于 特定地址特定地址( 0 0 號地址)號地址) 內(nèi)內(nèi) 斷點斷點 進棧進棧INT INT 中斷標(biāo)記中斷標(biāo)記EINT EINT 允許中斷允許中斷R R S S 觸發(fā)器觸發(fā)器向量地址向量地址PCPC(硬件向量法)(硬件向量法)中斷識別程序中斷識別程序 入口地址入口地址M M
59、PCPC(軟件查詢法)(軟件查詢法)85課堂優(yōu)質(zhì)五、保護現(xiàn)場和恢復(fù)現(xiàn)場五、保護現(xiàn)場和恢復(fù)現(xiàn)場1. 1. 保護現(xiàn)場保護現(xiàn)場2. 2. 恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場寄存器寄存器 內(nèi)容內(nèi)容斷點斷點保護現(xiàn)場保護現(xiàn)場其它服務(wù)程序其它服務(wù)程序恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場中斷返回中斷返回PUSHPUSH視不同請求源而定視不同請求源而定POPPOP中斷服務(wù)程序中斷服務(wù)程序 完成完成中中斷斷服服務(wù)務(wù)程程序序中斷隱指令中斷隱指令 完成完成中斷服務(wù)程序中斷服務(wù)程序 完成完成IRETIRET86課堂優(yōu)質(zhì)1. 1. 多重中斷的概念多重中斷的概念klmk +1l +1m +1第一次第一次 中斷中斷第二次第二次 中斷中斷第三次第三次 中斷中斷程序
60、斷點程序斷點 k k+1 , +1 , l l+1 , +1 , m m+1+1六、中斷屏蔽技術(shù)六、中斷屏蔽技術(shù)87課堂優(yōu)質(zhì)中斷否?中斷否?保護現(xiàn)場保護現(xiàn)場設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場 開中斷開中斷中斷返回中斷返回取指令取指令執(zhí)行指令執(zhí)行指令中斷服務(wù)程序中斷服務(wù)程序 中斷響應(yīng)中斷響應(yīng) 程序斷點進棧程序斷點進棧 關(guān)中斷關(guān)中斷 向量地址向量地址 PC中斷周期中斷周期是是中斷返回中斷返回保護現(xiàn)場保護現(xiàn)場設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場開中斷開中斷開中斷開中斷開中斷開中斷中斷隱指令中斷隱指令中斷隱指令中斷隱指令否否取指令取指令執(zhí)行指令執(zhí)行指令中斷否?中斷否?否否 中斷響應(yīng)中斷響應(yīng) 程序斷點進棧程序
61、斷點進棧 關(guān)中斷關(guān)中斷向量地址向量地址 PC中斷周期中斷周期是是中斷服務(wù)程序中斷服務(wù)程序單重單重 多重多重 單重中斷和多重中斷的服務(wù)程序流程單重中斷和多重中斷的服務(wù)程序流程88課堂優(yōu)質(zhì)2. 2. 實現(xiàn)多重中斷的條件實現(xiàn)多重中斷的條件B、CA中斷中斷請求請求主程序主程序(2) (2) 優(yōu)先級別高優(yōu)先級別高 的中斷源的中斷源 有權(quán)中斷優(yōu)先級別低有權(quán)中斷優(yōu)先級別低 的中斷源的中斷源(1) (1) 提前提前 設(shè)置設(shè)置 開中斷開中斷 指令指令A(yù)BCD中斷服務(wù)程序中斷服務(wù)程序( A、B、 C、 D 優(yōu)先級按優(yōu)先級按 降序降序 排列)排列)D89課堂優(yōu)質(zhì) &3. 3. 屏蔽技術(shù)屏蔽技術(shù)(1) (1) 屏蔽觸
62、發(fā)器的作用屏蔽觸發(fā)器的作用MASK = 0(未屏蔽)(未屏蔽)INTR 能被置能被置 “1” & & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查詢查詢MASKi = 1 (屏蔽)(屏蔽)INTPi = 0 (不能被排隊選中)(不能被排隊選中)90課堂優(yōu)質(zhì)(2) (2) 屏蔽字屏蔽字優(yōu)先級優(yōu)先級屏屏 蔽蔽 字字 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 1 1
63、1 1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112345615161616個中斷源個中斷源 1 1,2 2,3 3 , 16 16 按按 降序降序 排列排列91課堂優(yōu)質(zhì)(3) (3) 屏蔽技術(shù)可改變處理優(yōu)先等級屏蔽技術(shù)可改變處理優(yōu)先等級響應(yīng)優(yōu)先級響應(yīng)優(yōu)先級響應(yīng)優(yōu)先級響應(yīng)優(yōu)先級 ABCDABCD 降
64、序排列降序排列 不可改變不可改變處理優(yōu)先級處理優(yōu)先級可改變(通過重新設(shè)置屏蔽字)可改變(通過重新設(shè)置屏蔽字)中斷源中斷源原屏蔽字原屏蔽字新屏蔽字新屏蔽字ABCD11110111001100011111010001100111處理優(yōu)先級處理優(yōu)先級 ADCBADCB 降序排列降序排列92課堂優(yōu)質(zhì)(3) (3) 屏蔽技術(shù)可改變處理優(yōu)先等級屏蔽技術(shù)可改變處理優(yōu)先等級服務(wù)程序服務(wù)程序B處理完處理完C處理完處理完D處理完處理完A處理完處理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同時請求中斷同時請求中斷CPU CPU 執(zhí)行程序軌跡(原屏蔽字)執(zhí)行程序軌跡(原屏蔽字)93課堂優(yōu)質(zhì)
65、(3) (3) 屏蔽技術(shù)可改變處理優(yōu)先等級屏蔽技術(shù)可改變處理優(yōu)先等級(4) (4) 屏蔽技術(shù)的其他作用屏蔽技術(shù)的其他作用便于程序控制便于程序控制可以可以 人為地屏蔽人為地屏蔽 某個中斷源的請求某個中斷源的請求服務(wù)程序服務(wù)程序D處理完處理完C處理完處理完B處理完處理完A處理完處理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同時請求中斷同時請求中斷CPU CPU 執(zhí)行程序軌跡(新屏蔽字)執(zhí)行程序軌跡(新屏蔽字)94課堂優(yōu)質(zhì)(5) (5) 新屏蔽字的設(shè)置新屏蔽字的設(shè)置 保護現(xiàn)場保護現(xiàn)場 置屏蔽字置屏蔽字 開中斷開中斷 中斷服務(wù)中斷服務(wù) 關(guān)中斷關(guān)中斷 恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場 恢復(fù)屏
66、蔽字恢復(fù)屏蔽字 開中斷開中斷 中斷返回中斷返回 置屏蔽字置屏蔽字 恢復(fù)屏蔽字恢復(fù)屏蔽字 關(guān)中斷關(guān)中斷 開中斷開中斷95課堂優(yōu)質(zhì)(1) (1) 斷點進棧斷點進棧(2) (2) 斷點存入斷點存入“ 0 0 ” 地址地址 中斷隱指令中斷隱指令 完成完成中斷周期中斷周期命令存儲器寫命令存儲器寫0 MAR0 MARPC MDRPC MDR(MDR) (MDR) 存入存儲器存入存儲器三次中斷,三個斷點都存入三次中斷,三個斷點都存入 “ 0 0 ” 地址地址4. 4. 多重中斷的斷點保護多重中斷的斷點保護斷點斷點 MDRMDR?如何保證斷點不丟失?如何保證斷點不丟失?中斷隱指令中斷隱指令 完成完成96課堂優(yōu)質(zhì)(3) (3) 程序斷點存入程序斷點存入 “ 0 0 ” 地址的斷點保護地址的斷點保護 05JMP SERVE SAVE RETURNSTA SAVE0 地址內(nèi)容轉(zhuǎn)存地址內(nèi)容轉(zhuǎn)存其他服務(wù)內(nèi)容其他服務(wù)內(nèi)容SERVELDA SAVEJMP RETURN存程序斷點存程序斷點5 為向量地址為向量地址保護現(xiàn)場保護現(xiàn)場恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場間址返回間址返回存放存放 ACC 內(nèi)容內(nèi)容轉(zhuǎn)存轉(zhuǎn)存 0 地址內(nèi)容地址內(nèi)容開
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 領(lǐng)導(dǎo)班子2024年度民主生活會對照檢查材料范文(三篇)
- 金融工作主題黨課講稿范文(匯編)
- 鍋爐必備學(xué)習(xí)材料
- 鍋爐設(shè)備的檢修
- 主題黨課講稿:走中國特色金融發(fā)展之路加快建設(shè)金融強國(范文)
- 鍋爐基礎(chǔ)知識:啟爐注意事項技術(shù)問答題
- 領(lǐng)導(dǎo)班子2024年度民主生活會“四個帶頭”對照檢查材料范文(三篇)
- 正常運行時影響鍋爐汽溫的因素和調(diào)整方法
- 3.鍋爐檢修模擬考試復(fù)習(xí)題含答案
- 司爐作業(yè)人員模擬考試試卷含答案-2
- 3.鍋爐閥門模擬考試復(fù)習(xí)題含答案
- 某公司鍋爐安全檢查表
- 3.工業(yè)鍋爐司爐模擬考試題庫試卷含答案
- 4.司爐工考試題含答案解析
- 發(fā)電廠鍋爐的運行監(jiān)視和調(diào)整