計(jì)算機(jī)組成原理第8章_第1頁(yè)
計(jì)算機(jī)組成原理第8章_第2頁(yè)
計(jì)算機(jī)組成原理第8章_第3頁(yè)
計(jì)算機(jī)組成原理第8章_第4頁(yè)
計(jì)算機(jī)組成原理第8章_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

2、框圖PC IR指令控制指令控制操作控制操作控制時(shí)間控制時(shí)間控制數(shù)據(jù)加工數(shù)據(jù)加工處理中斷處理中斷ALU 寄存器寄存器中斷系統(tǒng)中斷系統(tǒng)1. CPU 與系統(tǒng)總線與系統(tǒng)總線CU 時(shí)序電路時(shí)序電路寄存器寄存器ALU 中斷中斷 系統(tǒng)系統(tǒng)CUCPU控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線2. CPU 的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 算術(shù)和算術(shù)和布爾邏輯布爾邏輯取反取反移位移位狀態(tài)標(biāo)志狀態(tài)標(biāo)志內(nèi)部?jī)?nèi)部 數(shù)據(jù)總線數(shù)據(jù)總線寄存器寄存器CU中斷中斷系統(tǒng)系統(tǒng)ALU控制信號(hào)控制信號(hào)C P U1. 用戶可見寄存器用戶可見寄存器(1) 通用寄存器通用寄存器三、三、 CPU 的寄存器的寄存器可由程序員指定許多功能,如存放操作數(shù)

3、可由程序員指定許多功能,如存放操作數(shù)作作 某種尋址方式所需的某種尋址方式所需的 專用寄存器專用寄存器(2) 數(shù)據(jù)寄存器數(shù)據(jù)寄存器存放操作數(shù)存放操作數(shù)(滿足各種數(shù)據(jù)類型)(滿足各種數(shù)據(jù)類型)兩個(gè)寄存器拼接存放雙倍字長(zhǎng)數(shù)據(jù)兩個(gè)寄存器拼接存放雙倍字長(zhǎng)數(shù)據(jù)(3) 地址寄存器地址寄存器存放地址存放地址,其位數(shù)應(yīng)滿足最大的地址范圍,其位數(shù)應(yīng)滿足最大的地址范圍用于特殊的尋址方式用于特殊的尋址方式 段基值段基值 棧指針棧指針(4) 條件碼寄存器條件碼寄存器存放條件碼存放條件碼,可作程序分支的依據(jù),可作程序分支的依據(jù)如如 正、負(fù)、零、溢出、進(jìn)位等正、負(fù)、零、溢出、進(jìn)位等2. 控制和狀態(tài)寄存器控制和狀態(tài)寄存器(1

4、) 控制寄存器控制寄存器PC控制控制 CPU 操作操作(2) 狀態(tài)寄存器狀態(tài)寄存器狀態(tài)寄存器狀態(tài)寄存器其中其中 MAR、MDR、IR 用戶不可見用戶不可見 存放條件碼存放條件碼PSW 寄存器寄存器存放程序狀態(tài)字存放程序狀態(tài)字 PC 用戶可見用戶可見 3. 舉例舉例Z8000 8086 MC 68000MARMMDRIR四、四、 控制單元控制單元 CU 和中斷系統(tǒng)和中斷系統(tǒng)1. CU 產(chǎn)生全部指令的微操作命令序列產(chǎn)生全部指令的微操作命令序列組合邏輯設(shè)計(jì)組合邏輯設(shè)計(jì)微程序設(shè)計(jì)微程序設(shè)計(jì)硬連線邏輯硬連線邏輯存儲(chǔ)邏輯存儲(chǔ)邏輯2. 中斷系統(tǒng)中斷系統(tǒng)參見參見 第篇第篇 五、五、ALU參見參見 8.4 節(jié)節(jié)

5、參見參見 第章第章8.2 指指 令令 周周 期期一、一、 指令周期的基本概念指令周期的基本概念1 . 指令周期指令周期取出并執(zhí)行一條指令所需的全部時(shí)間取出并執(zhí)行一條指令所需的全部時(shí)間完成一條指令完成一條指令執(zhí)行執(zhí)行取指、分析取指、分析取指階段取指階段取指周期取指周期執(zhí)行階段執(zhí)行階段執(zhí)行周期執(zhí)行周期(取指、分析)(取指、分析)(執(zhí)行指令)(執(zhí)行指令)指令周期指令周期取指周期取指周期執(zhí)行周期執(zhí)行周期2. 每條指令的指令周期不同每條指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 執(zhí)行周期執(zhí)行周期指令周期指令周期無(wú)條件轉(zhuǎn)移指令無(wú)條件轉(zhuǎn)移指令加法指令加法指令 乘法指令乘法指令取指周期

6、取指周期執(zhí)行周期執(zhí)行周期指令周期指令周期3. 具有間接尋址的指令周期具有間接尋址的指令周期4. 帶有中斷周期的指令周期帶有中斷周期的指令周期取指周期取指周期間址周期間址周期指令周期指令周期執(zhí)行周期執(zhí)行周期取指周期取指周期間址周期間址周期指令周期指令周期執(zhí)行周期執(zhí)行周期中斷周期中斷周期程序斷程序斷點(diǎn)保護(hù)點(diǎn)保護(hù)5. 指令周期流程指令周期流程取指周期取指周期執(zhí)行周期執(zhí)行周期有間址嗎?有間址嗎?有中斷嗎?有中斷嗎?間址周期間址周期中斷周期中斷周期是是是是否否否否6. CPU 工作周期的標(biāo)志工作周期的標(biāo)志CPU 訪存有四種性質(zhì)訪存有四種性質(zhì)取取 指令指令取取 地址地址取取 操作數(shù)操作數(shù)存存 程序斷點(diǎn)程序

7、斷點(diǎn)取指周期取指周期間址周期間址周期執(zhí)行周期執(zhí)行周期中斷周期中斷周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU 的的4個(gè)工作周期個(gè)工作周期1. 取指周期數(shù)據(jù)流取指周期數(shù)據(jù)流二、二、 指令周期的數(shù)據(jù)流指令周期的數(shù)據(jù)流MDRCUMARPCIR存儲(chǔ)器存儲(chǔ)器CPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線IR+1 2. 間址周期數(shù)據(jù)流間址周期數(shù)據(jù)流MDRCUMARCPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線PCIR存儲(chǔ)器存儲(chǔ)器MDR3. 執(zhí)行周期數(shù)據(jù)流執(zhí)行周期數(shù)據(jù)流4 . 中斷周期數(shù)據(jù)流中斷周期數(shù)據(jù)流不同指令的執(zhí)行周期數(shù)據(jù)流不同不同指令的執(zhí)行周期數(shù)據(jù)流不同MD

8、RCUMARCPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線PC存儲(chǔ)器存儲(chǔ)器8.3 指指 令令 流流 水水一、如何提高機(jī)器速度一、如何提高機(jī)器速度1. 提高訪存速度提高訪存速度2. 提高提高 I/O 和主機(jī)之間的傳送速度和主機(jī)之間的傳送速度高速芯片高速芯片Cache多體并行多體并行I/O 處理機(jī)處理機(jī)DMA多總線多總線通道通道中斷中斷4. 提高整機(jī)處理能力提高整機(jī)處理能力提高器件性能提高器件性能改進(jìn)系統(tǒng)結(jié)構(gòu)改進(jìn)系統(tǒng)結(jié)構(gòu) ,開發(fā)系統(tǒng)的并行性,開發(fā)系統(tǒng)的并行性3. 提高運(yùn)算器速度提高運(yùn)算器速度高速芯片高速芯片改進(jìn)算法改進(jìn)算法快速進(jìn)位鏈快速進(jìn)位鏈二、系統(tǒng)的并行性二、系統(tǒng)的并行性時(shí)間上互相重疊時(shí)

9、間上互相重疊2. 并行性的等級(jí)并行性的等級(jí)指令級(jí)(指令之間)指令級(jí)(指令之間)(指令內(nèi)部)(指令內(nèi)部)過(guò)程級(jí)(作業(yè)級(jí)或程序級(jí))過(guò)程級(jí)(作業(yè)級(jí)或程序級(jí)) (任務(wù)級(jí)或進(jìn)程級(jí))(任務(wù)級(jí)或進(jìn)程級(jí))兩個(gè)或兩個(gè)以上事件在兩個(gè)或兩個(gè)以上事件在 同一時(shí)刻同一時(shí)刻 發(fā)生發(fā)生兩個(gè)或兩個(gè)以上事件在兩個(gè)或兩個(gè)以上事件在 同一時(shí)間段同一時(shí)間段 發(fā)生發(fā)生并行并行1. 并行的概念并行的概念粗粒度粗粒度軟件實(shí)現(xiàn)軟件實(shí)現(xiàn)細(xì)粒度細(xì)粒度硬件實(shí)現(xiàn)硬件實(shí)現(xiàn)并發(fā)并發(fā)同時(shí)同時(shí) 在同一時(shí)刻或同一時(shí)間段內(nèi)完成兩種或兩種以上在同一時(shí)刻或同一時(shí)間段內(nèi)完成兩種或兩種以上性質(zhì)相同或不同的功能。性質(zhì)相同或不同的功能。取指令取指令 3執(zhí)行指令執(zhí)行指令 3

10、三、指令流水原理三、指令流水原理1. 指令的串行執(zhí)行指令的串行執(zhí)行取指令取指令 取指令部件取指令部件 完成完成總有一個(gè)部件總有一個(gè)部件 空閑空閑執(zhí)行指令執(zhí)行指令 執(zhí)行指令部件執(zhí)行指令部件 完成完成取指令取指令 2執(zhí)行指令執(zhí)行指令 2取指令取指令 1執(zhí)行指令執(zhí)行指令 12. 指令的二級(jí)流水指令的二級(jí)流水指令預(yù)取指令預(yù)取若若 取指取指 和和 執(zhí)行執(zhí)行 階段時(shí)間上階段時(shí)間上 完全重疊完全重疊指令周期指令周期 減半減半 速度提高速度提高 1 倍倍取指令取指令 1執(zhí)行執(zhí)行指令指令 1取取指令指令 2執(zhí)行執(zhí)行指令指令 2取取指令指令 3執(zhí)行指令執(zhí)行指令 3 必須等必須等 上條上條 指令執(zhí)行結(jié)束,才能確定指

11、令執(zhí)行結(jié)束,才能確定 下條下條 指令的地址,指令的地址, 造成時(shí)間損失造成時(shí)間損失3. 影響指令流水效率加倍的因素影響指令流水效率加倍的因素(1) 執(zhí)行時(shí)間執(zhí)行時(shí)間 取指時(shí)間取指時(shí)間 (2) 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令 對(duì)指令流水的影響對(duì)指令流水的影響 解決辦法解決辦法 ?取指令取指令部件部件指令部件指令部件緩沖區(qū)緩沖區(qū)執(zhí)行指令執(zhí)行指令部件部件猜測(cè)法猜測(cè)法4. 指令的六級(jí)流水指令的六級(jí)流水六級(jí)流水六級(jí)流水14 個(gè)時(shí)間單位個(gè)時(shí)間單位串行執(zhí)行串行執(zhí)行6 9 54個(gè)時(shí)間單位個(gè)時(shí)間單位完成完成 一條指令一條指令6 個(gè)時(shí)間單位個(gè)時(shí)間單位COFOEIWODIFICOFOEIWODIFICOFOEIWODIF

12、ICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t指令指令 1 與指令與指令 4 沖突沖突指令指令 2 與指令與指令 5 沖突沖突指令指令1、指令、指令3、指令、指令 6 沖突沖突COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICO

13、FOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t三、影響指令流水線性能的因素三、影響指令流水線性能的因素1. 結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)不同指令爭(zhēng)用同一功能部件產(chǎn)生資源沖突不同指令爭(zhēng)用同一功能部件產(chǎn)生資源沖突程序的相近指令之間出現(xiàn)某種關(guān)聯(lián)程序的相近指令之間出現(xiàn)某種關(guān)聯(lián)使指令流水出現(xiàn)停頓,影響流水線效率使指令流水出現(xiàn)停頓,影響流水線效率解決辦法解決辦法 停頓停頓 指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分

14、開 指令預(yù)取技術(shù)指令預(yù)取技術(shù) (適用于訪存周期短的情況)(適用于訪存周期短的情況)2. 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān) 不同指令因重疊操作,改變操作數(shù)的不同指令因重疊操作,改變操作數(shù)的 讀讀/寫寫 訪問(wèn)順序訪問(wèn)順序 寫后讀相關(guān)(寫后讀相關(guān)(RAW)SUB R1,R2,R3ADD R4,R5,R1;(;(R2) (R3) R1;(;(R5)+(R1) R4 讀后寫相關(guān)(讀后寫相關(guān)(WAR)STA M,R2ADD R2,R4,R5;(;(R2) M 存儲(chǔ)單元存儲(chǔ)單元;(;(R4)+(R5) R2由寫后讀變成讀后寫由寫后讀變成讀后寫由讀后寫變成寫后讀由讀后寫變成寫后讀 采用采用 旁路技術(shù)旁路技術(shù)解決辦法解決辦法

15、寫后寫相關(guān)(寫后寫相關(guān)(WAW) 后推法后推法MUL R3,R2,R1SUB R3,R4,R5;(;(R2) (R1) R3;(;(R4) (R5) R3遇到數(shù)據(jù)相關(guān)時(shí)就停頓后繼指令遇到數(shù)據(jù)相關(guān)時(shí)就停頓后繼指令,直到前面指令生成結(jié)果直到前面指令生成結(jié)果不等某條指令的執(zhí)行結(jié)果送回寄存器后再取該結(jié)果,作為下一條不等某條指令的執(zhí)行結(jié)果送回寄存器后再取該結(jié)果,作為下一條指令的源操作數(shù),而是直接將執(zhí)行結(jié)果送到其它指令所需位置指令的源操作數(shù),而是直接將執(zhí)行結(jié)果送到其它指令所需位置 R3中存放了中存放了(R2) (R1) 3. 控制相關(guān)控制相關(guān)BNE 指令必須等指令必須等CPX 指令的結(jié)果指令的結(jié)果才能判斷

16、出才能判斷出是轉(zhuǎn)移是轉(zhuǎn)移還是順序執(zhí)行還是順序執(zhí)行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DM由轉(zhuǎn)移指令引起由轉(zhuǎn)移指令引起統(tǒng)計(jì)表明轉(zhuǎn)移指令約占總指令統(tǒng)計(jì)表明轉(zhuǎn)移指令約占總指令1/4左右左右WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 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è)

17、設(shè) 指令指令3 是轉(zhuǎn)移指令是轉(zhuǎn)移指令WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 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)移指令WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指

18、令指令 2指令指令 3指令指令 4指令指令 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)移指令WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 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)

19、移指令WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 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. 吞吐率吞吐率 單位時(shí)間內(nèi)單位時(shí)間內(nèi) 流水線所完成指令流水線所完成指令 或或 輸出結(jié)果輸出結(jié)果 的的 數(shù)量數(shù)量 最大吞吐率最大吞吐率 實(shí)際吞吐率實(shí)際吞吐率 連續(xù)處理連續(xù)處

20、理 n 條指令的吞吐率為條指令的吞吐率為設(shè)設(shè) m 段的流水線各段時(shí)間為段的流水線各段時(shí)間為t tTpmax =1t tTp =m + (n-1) nt tt t2. 加速比加速比 Sp m 段的段的 流水線的速度流水線的速度 與等功能的與等功能的 非流水線的速度非流水線的速度 之比之比 設(shè)流水線各段時(shí)間為設(shè)流水線各段時(shí)間為 t 完成完成 n 條指令在條指令在 m 段流水線上共需段流水線上共需 T = m + (n-1) t t 完成完成 n 條指令在等效的非流水線上共需條指令在等效的非流水線上共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 則則由于流

21、水線有由于流水線有 建立時(shí)間建立時(shí)間 和和 排空時(shí)間排空時(shí)間因此各功能段的因此各功能段的 設(shè)備不可能設(shè)備不可能 一直一直 處于處于 工作工作 狀態(tài)狀態(tài) 流水線中各功能段的流水線中各功能段的 利用率利用率3. 效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT時(shí)間時(shí)間S空間空間空間空間S4S3S2S1(n-1) tm(m + n -1) t = mnt 流水線各段處于工作時(shí)間的時(shí)空區(qū)流水線各段處于工作時(shí)間的時(shí)空區(qū)流水線中各段總的時(shí)空區(qū)流水線中各段總的時(shí)空區(qū) 效率效率 = mt31245312453124531245 n-1 nn-1 nn-1 nn

22、-1 nT時(shí)間時(shí)間S空間空間空間空間S4S3S2S1(n-1) t例例 假設(shè)指令流水線分取指假設(shè)指令流水線分取指(IF)、譯碼、譯碼(ID)、執(zhí)行執(zhí)行(EX)、回寫、回寫(WR)四個(gè)階段,共有四個(gè)階段,共有10條條指令連續(xù)輸入此流水線。指令連續(xù)輸入此流水線。1)畫出指令周期流程。)畫出指令周期流程。IF-ID-EX-WR2)畫出非流水線時(shí)空?qǐng)D。)畫出非流水線時(shí)空?qǐng)D。12121212T時(shí)間時(shí)間S空間空間空間空間WREXIDIF1 2 3 4 5 6 7 8I1I23)畫出流水線時(shí)空?qǐng)D。)畫出流水線時(shí)空?qǐng)D。4)假設(shè)時(shí)鐘周期為)假設(shè)時(shí)鐘周期為100ns,求流水線的實(shí)際吞吐率。求流水線的實(shí)際吞吐率。1

23、0/(100ns13) 0.77107 條指令條指令/s5)求該流水線的加速比。)求該流水線的加速比。410/13 3.081 2 3 4 5 6 7 8 9 10 11 12 1331245312453124531245 9 10 9 10 9 10 9 10T時(shí)間時(shí)間S空間空間空間空間WREXIDIFI10I9I8I7I6I5I4I3I2I1五、流水線的多發(fā)技術(shù)五、流水線的多發(fā)技術(shù) 1. 超標(biāo)量技術(shù)超標(biāo)量技術(shù) 每個(gè)時(shí)鐘周期內(nèi)可每個(gè)時(shí)鐘周期內(nèi)可 并發(fā)多條獨(dú)立指令并發(fā)多條獨(dú)立指令 不能調(diào)整不能調(diào)整 指令的指令的 執(zhí)行順序執(zhí)行順序配置多個(gè)功能部件、指令譯碼電路、寄存器端口和總線配置多個(gè)功能部件、

24、指令譯碼電路、寄存器端口和總線 通過(guò)編譯優(yōu)化技術(shù),把可并行執(zhí)行的指令搭配起來(lái)通過(guò)編譯優(yōu)化技術(shù),把可并行執(zhí)行的指令搭配起來(lái)IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13時(shí)鐘時(shí)鐘周期周期指令序列指令序列2. 超流水線技術(shù)超流水線技術(shù) 在在 一個(gè)時(shí)鐘周期一個(gè)時(shí)鐘周期 內(nèi)內(nèi) 再分段再分段 ( 3 段)段) 不能調(diào)整不能調(diào)整 指令的指令的 執(zhí)行順序執(zhí)行順序在一個(gè)時(shí)鐘周期內(nèi)在一個(gè)時(shí)鐘周期內(nèi) 一個(gè)功能部件使用多次一個(gè)功能部件使用多次( 3 次)次)靠編譯程序解決優(yōu)化問(wèn)題靠編譯程序解決優(yōu)化問(wèn)題流水線速度是原來(lái)速度的流水線速度是原來(lái)速度的 3 倍倍IF ID EX WR0

25、1 2 3 4 5 6 7 8 9 10 11 12 13時(shí)鐘周期時(shí)鐘周期指令序列指令序列3. 超長(zhǎng)指令字技術(shù)超長(zhǎng)指令字技術(shù) 采用采用 多個(gè)處理部件多個(gè)處理部件具有具有 多個(gè)操作碼字段多個(gè)操作碼字段 的的 超長(zhǎng)指令字超長(zhǎng)指令字(可達(dá)幾百位)(可達(dá)幾百位) 由編譯程序由編譯程序 挖掘挖掘 出指令間出指令間 潛在潛在 的的 并行性并行性,將將 多條多條 能能 并行操作并行操作 的指令組合成的指令組合成 一條一條IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13時(shí)鐘周期時(shí)鐘周期指令序列指令序列六、流水線結(jié)構(gòu)六、流水線結(jié)構(gòu)1. 指令流水線結(jié)構(gòu)指令流水線結(jié)構(gòu)完成一條指令

26、分完成一條指令分 7 段段, 每段需一個(gè)時(shí)鐘周期每段需一個(gè)時(shí)鐘周期若若 流水線不出現(xiàn)斷流流水線不出現(xiàn)斷流1 個(gè)時(shí)鐘周期出個(gè)時(shí)鐘周期出 1 結(jié)果結(jié)果不采用流水技術(shù)不采用流水技術(shù)7 個(gè)時(shí)鐘周期出個(gè)時(shí)鐘周期出 1 結(jié)果結(jié)果理想情況下,理想情況下,7 級(jí)流水級(jí)流水 的速度是不采用流水技術(shù)的的速度是不采用流水技術(shù)的 7 倍倍地址形成部件地址形成部件指令譯碼部件指令譯碼部件取操作數(shù)部件取操作數(shù)部件取指令部件取指令部件操作執(zhí)行部件操作執(zhí)行部件回寫結(jié)果部件回寫結(jié)果部件修改指令指針部件修改指令指針部件鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存2. 運(yùn)算流水線運(yùn)算流水線完成完成 浮點(diǎn)加減浮點(diǎn)加減 運(yùn)算運(yùn)算

27、可分可分對(duì)階、尾數(shù)求和、規(guī)格化對(duì)階、尾數(shù)求和、規(guī)格化 三段三段分段原則分段原則 每段每段 操作時(shí)間操作時(shí)間 盡量盡量 一致一致鎖存器鎖存器對(duì)階功能部件對(duì)階功能部件第一段第一段尾數(shù)加部件尾數(shù)加部件鎖存器鎖存器第二段第二段規(guī)格化部件規(guī)格化部件鎖存器鎖存器第三段第三段8.4 中斷系統(tǒng)中斷系統(tǒng)一、概述一、概述1. 引起中斷的各種因素引起中斷的各種因素(1) 人為設(shè)置的中斷人為設(shè)置的中斷(2) 程序性事故程序性事故如如 轉(zhuǎn)管指令轉(zhuǎn)管指令溢出、操作碼不能識(shí)別、除法非法溢出、操作碼不能識(shí)別、除法非法(5) 外部事件外部事件(4) I/O 設(shè)備設(shè)備(3) 硬件故障硬件故障用用 鍵盤中斷鍵盤中斷 現(xiàn)行程序現(xiàn)行程

28、序轉(zhuǎn)管指令轉(zhuǎn)管指令管理程序管理程序隨機(jī)出現(xiàn)隨機(jī)出現(xiàn)中斷源中斷源2. 中斷系統(tǒng)需解決的問(wèn)題中斷系統(tǒng)需解決的問(wèn)題(1) 各中斷源各中斷源 如何如何 向向 CPU 提出請(qǐng)求提出請(qǐng)求 ?(2) 各中斷源各中斷源 同時(shí)同時(shí) 提出提出 請(qǐng)求請(qǐng)求 怎么辦怎么辦 ?(5) 如何如何 尋找入口地址尋找入口地址 ?(4) 如何如何 保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) ?(3) CPU 什么什么 條件條件、什么、什么 時(shí)間時(shí)間、以什么、以什么 方式響應(yīng)中斷方式響應(yīng)中斷 ?(6) 如何如何 恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng),如何,如何 返回返回 ?(7) 處理中斷的過(guò)程中又處理中斷的過(guò)程中又 出現(xiàn)新的中斷出現(xiàn)新的中斷 怎么辦怎么辦 ?硬件硬件 軟件軟

29、件二、中斷請(qǐng)求標(biāo)記和中斷判優(yōu)邏輯二、中斷請(qǐng)求標(biāo)記和中斷判優(yōu)邏輯1. 中斷請(qǐng)求標(biāo)記中斷請(qǐng)求標(biāo)記 INTR一個(gè)請(qǐng)求源一個(gè)請(qǐng)求源 一個(gè)一個(gè) INTR 中斷請(qǐng)求標(biāo)記觸發(fā)器中斷請(qǐng)求標(biāo)記觸發(fā)器多個(gè)多個(gè)INTR 組成組成 中斷請(qǐng)求標(biāo)記寄存器中斷請(qǐng)求標(biāo)記寄存器INTR 分散分散 在各個(gè)中斷源的在各個(gè)中斷源的 接口電路中接口電路中INTR 集中集中 在在 CPU 的中斷系統(tǒng)的中斷系統(tǒng) 內(nèi)內(nèi)12345n掉電掉電過(guò)熱過(guò)熱階上溢階上溢主存讀寫校驗(yàn)錯(cuò)主存讀寫校驗(yàn)錯(cuò)非法除法非法除法鍵盤輸入鍵盤輸入打印機(jī)輸出打印機(jī)輸出2. 中斷判優(yōu)邏輯中斷判優(yōu)邏輯 分散分散 在各個(gè)中斷源的在各個(gè)中斷源的 接口電路中接口電路中 鏈?zhǔn)脚抨?duì)器鏈

30、式排隊(duì)器(1) 硬件實(shí)現(xiàn)(排隊(duì)器)硬件實(shí)現(xiàn)(排隊(duì)器)1INTP11INTP21INTP31INTP4&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR4 1& 1& 1& 1& INTP1INTP2INTP3INTP4INTR2INTR1INTR1INTR21&INTP2優(yōu)先順序根據(jù)該中斷源如果得不到及時(shí)響優(yōu)先順序根據(jù)該中斷源如果得不到及時(shí)響應(yīng),致使機(jī)器工作出錯(cuò)的嚴(yán)重程度而定應(yīng),致使機(jī)器工作出錯(cuò)的嚴(yán)重程度而定 集中集中 在在 CPU 內(nèi)內(nèi) 1 1 1 & 1 & 1 &INTR1INTR2INTR3INTR4INTR1 、 INTR2 、 INTR3 、 INTR

31、4 優(yōu)先級(jí)優(yōu)先級(jí) 按按 降序降序 排列排列 INTP1INTP2INTP3INTP4A、B、C 優(yōu)先級(jí)按優(yōu)先級(jí)按 降序降序 排列排列(2) 軟件實(shí)現(xiàn)(程序查詢)軟件實(shí)現(xiàn)(程序查詢)否否是否是否 A 請(qǐng)求?請(qǐng)求?是否是否 B 請(qǐng)求?請(qǐng)求?是否是否 C 請(qǐng)求?請(qǐng)求?轉(zhuǎn)轉(zhuǎn) A 的服務(wù)程序的服務(wù)程序入口地址入口地址轉(zhuǎn)轉(zhuǎn) B 的服務(wù)程序的服務(wù)程序入口地址入口地址轉(zhuǎn)轉(zhuǎn) C 的服務(wù)程序的服務(wù)程序入口地址入口地址是是是是是是否否否否三、中斷服務(wù)程序入口地址的尋找三、中斷服務(wù)程序入口地址的尋找1. 硬件向量法硬件向量法入口地址入口地址 200入口地址入口地址 300入口地址入口地址 40012 H13 H14

32、H主存主存12 H13 H14 HJMP 200JMP 300JMP 400主存主存向量地址向量地址形成部件形成部件中斷向量中斷向量排隊(duì)器輸出排隊(duì)器輸出向量地址向量地址 12H、13H、14H入口地址入口地址 200、 300、 4002. 軟件查詢法軟件查詢法 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 = 1 轉(zhuǎn)轉(zhuǎn)8# 服務(wù)程序服務(wù)程序八個(gè)中斷源八個(gè)中斷源 1,2, 8 按按 降序降序 排列排

33、列 SKP DZ 1#1# D = 0 跳跳(D為完成觸發(fā)器)為完成觸發(fā)器)中斷識(shí)別程序中斷識(shí)別程序(入口地址(入口地址 M)地地 址址說(shuō)說(shuō) 明明指指 令令四、中斷響應(yīng)四、中斷響應(yīng)1. 響應(yīng)中斷的響應(yīng)中斷的 條件條件允許中斷觸發(fā)器允許中斷觸發(fā)器 EINT = 12. 響應(yīng)中斷的響應(yīng)中斷的 時(shí)間時(shí)間指令執(zhí)行周期結(jié)束時(shí)刻由指令執(zhí)行周期結(jié)束時(shí)刻由CPU 發(fā)查詢信號(hào)發(fā)查詢信號(hào) CPU中斷查詢中斷查詢INTR1DQINTR2DQINTRnDQ中斷源中斷源 1中斷源中斷源 2中斷源中斷源 n至排隊(duì)器至排隊(duì)器3. 中斷隱指令中斷隱指令(1) 保護(hù)程序斷點(diǎn)保護(hù)程序斷點(diǎn)(2) 尋找服務(wù)程序入口地址尋找服務(wù)程序入

34、口地址斷點(diǎn)存于斷點(diǎn)存于 特定地址特定地址( 0 號(hào)地址)號(hào)地址) 內(nèi)內(nèi)斷點(diǎn)斷點(diǎn) 進(jìn)棧進(jìn)棧向量地址向量地址PC (硬件向量法)(硬件向量法)中斷識(shí)別程序中斷識(shí)別程序 入口地址入口地址MPC(軟件查詢法)(軟件查詢法) 指令系統(tǒng)中沒有的指令,是指令系統(tǒng)中沒有的指令,是CPU在中斷周期內(nèi)由在中斷周期內(nèi)由硬件自動(dòng)完成的一條指令硬件自動(dòng)完成的一條指令(3) 硬件硬件 關(guān)中斷關(guān)中斷向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1 &1排隊(duì)器排隊(duì)器INT 中斷標(biāo)記中斷標(biāo)記EINT 允許中斷允許中斷R S 觸發(fā)器觸發(fā)器CPU進(jìn)入中斷周期后,為了確保進(jìn)入中斷周期后,為了確保CPU響應(yīng)后所需要做

35、的一系列操作響應(yīng)后所需要做的一系列操作不至于又受到新的中斷請(qǐng)求干擾,在中斷周期必須關(guān)中斷,以禁止不至于又受到新的中斷請(qǐng)求干擾,在中斷周期必須關(guān)中斷,以禁止CPU再次響應(yīng)新的中斷。再次響應(yīng)新的中斷。 五、保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)五、保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)1. 保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)2. 恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)寄存器寄存器 內(nèi)容內(nèi)容斷點(diǎn)斷點(diǎn)保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)其它服務(wù)程序其它服務(wù)程序恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)中斷返回中斷返回PUSH視不同請(qǐng)求源而定視不同請(qǐng)求源而定POP中斷服務(wù)程序中斷服務(wù)程序 完成完成中中斷斷服服務(wù)務(wù)程程序序中斷隱指令中斷隱指令 完成完成中斷服務(wù)程序中斷服務(wù)程序 完成完成IRET1. 多重中斷的概念多重中斷的概念k

36、lmk +1l +1m +1第一次第一次 中斷中斷第二次第二次 中斷中斷第三次第三次 中斷中斷程序斷點(diǎn)程序斷點(diǎn)六、中斷屏蔽技術(shù)六、中斷屏蔽技術(shù)k+1 , l+1 , m+12. 實(shí)現(xiàn)多重中斷的條件實(shí)現(xiàn)多重中斷的條件(1) 提前提前 設(shè)置設(shè)置 開中斷開中斷 指令指令中斷否?中斷否?保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) 開中斷開中斷中斷返回中斷返回取指令取指令執(zhí)行指令執(zhí)行指令中斷服務(wù)程序中斷服務(wù)程序 中斷響應(yīng)中斷響應(yīng) 程序斷點(diǎn)進(jìn)棧程序斷點(diǎn)進(jìn)棧 關(guān)中斷關(guān)中斷 向量地址向量地址 PC中斷周期中斷周期是是中斷返回中斷返回保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)開中斷開中斷開中斷開中斷

37、開中斷開中斷中斷隱指令中斷隱指令中斷隱指令中斷隱指令否否取指令取指令執(zhí)行指令執(zhí)行指令中斷否?中斷否?否否 中斷響應(yīng)中斷響應(yīng) 程序斷點(diǎn)進(jìn)棧程序斷點(diǎn)進(jìn)棧 關(guān)中斷關(guān)中斷向量地址向量地址 PC中斷周期中斷周期是是中斷服務(wù)程序中斷服務(wù)程序單重單重 多重多重 單重中斷和多重中斷的服務(wù)程序流程單重中斷和多重中斷的服務(wù)程序流程B、CA中斷中斷請(qǐng)求請(qǐng)求主程序主程序(2) 優(yōu)先級(jí)別高優(yōu)先級(jí)別高 的中斷源的中斷源 有權(quán)中有權(quán)中斷優(yōu)先級(jí)別低斷優(yōu)先級(jí)別低 的中斷源的中斷源ABCD中斷服務(wù)程序中斷服務(wù)程序( A、B、 C、 D 優(yōu)先級(jí)按優(yōu)先級(jí)按 降序降序 排列)排列)D例:某計(jì)算機(jī)的中斷系統(tǒng)中有例:某計(jì)算機(jī)的中斷系統(tǒng)中有

38、4個(gè)中斷源,中斷響應(yīng)個(gè)中斷源,中斷響應(yīng)的優(yōu)先次序?yàn)榈膬?yōu)先次序?yàn)?1 4 2 3。中斷請(qǐng)求順序?yàn)椋?。中斷?qǐng)求順序?yàn)椋旱谝粫r(shí)刻第一時(shí)刻 1、4 中斷源同時(shí)申請(qǐng)中斷服務(wù),第二中斷源同時(shí)申請(qǐng)中斷服務(wù),第二時(shí)刻時(shí)刻 3 中斷源申請(qǐng)中斷服務(wù),中斷源申請(qǐng)中斷服務(wù),3中斷源服務(wù)期間中斷源服務(wù)期間2中斷源申請(qǐng)中斷服務(wù)。請(qǐng)畫出中斷源申請(qǐng)中斷服務(wù)。請(qǐng)畫出CPU響應(yīng)中斷執(zhí)行響應(yīng)中斷執(zhí)行中斷服務(wù)子程序的運(yùn)動(dòng)軌跡。中斷服務(wù)子程序的運(yùn)動(dòng)軌跡。 &3. 屏蔽技術(shù)屏蔽技術(shù)(1) 屏蔽觸發(fā)器的作用屏蔽觸發(fā)器的作用MASK = 0(未屏蔽)(未屏蔽)INTR 能被置能被置 “1” & & & & 1 1 1 1INTP1INTP2

39、INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查詢查詢MASKi = 1 (屏蔽)(屏蔽)INTPi = 0 (不能被排隊(duì)選中)(不能被排隊(duì)選中)(2) 屏蔽字屏蔽字優(yōu)先級(jí)優(yōu)先級(jí)屏屏 蔽蔽 字字 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 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

40、 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 1123456151616個(gè)中斷源個(gè)中斷源 1,2,3 , 16 按按 降序降序 排列排列屏蔽字與中斷源的優(yōu)先級(jí)是一一對(duì)應(yīng)的屏蔽字與中斷源的優(yōu)先級(jí)是一一對(duì)應(yīng)的 (3) 屏蔽技術(shù)可改變處理優(yōu)先等級(jí)屏蔽技術(shù)可改變處理優(yōu)先等級(jí)響應(yīng)優(yōu)先級(jí)響應(yīng)優(yōu)先級(jí)不可改變不可改變處理優(yōu)先級(jí)處理優(yōu)先級(jí)可改變(通過(guò)重新設(shè)置屏蔽字)可改變(通過(guò)重新設(shè)置屏蔽字)CPU響應(yīng)各中斷源請(qǐng)求的優(yōu)先順序響應(yīng)各中斷源請(qǐng)求的優(yōu)先順序CPU實(shí)際對(duì)各中斷源請(qǐng)求的處理優(yōu)先順序?qū)嶋H對(duì)各中斷源請(qǐng)求的處理優(yōu)先順序響應(yīng)優(yōu)先級(jí)響應(yīng)優(yōu)先級(jí) ABCD 降序排列降序排列 中斷源中斷源原屏蔽字原屏蔽字新屏蔽字新屏蔽字ABCD 1 1 1 10 1 1 10 0 1 10 0 0 1 1 1 1 10 1 0 00 1 1 00 1 1 1 處理優(yōu)先級(jí)處理優(yōu)先級(jí) ADCB 降序排列

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論