計(jì)算機(jī)組成原理第8章.ppt
《計(jì)算機(jī)組成原理第8章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)組成原理第8章.ppt(64頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第八章 CPU 的結(jié)構(gòu)和功能,8.1 CPU 的結(jié)構(gòu),一、 CPU 的功能,取指令,分析指令,執(zhí)行指令,發(fā)出各種操作命令,控制程序輸入及結(jié)果的輸出,總線管理,處理異常情況和特殊請(qǐng)求,1. 控制器的功能,2. 運(yùn)算器的功能,實(shí)現(xiàn)算術(shù)運(yùn)算和邏輯運(yùn)算,指令控制,操作控制,時(shí)間控制,數(shù)據(jù)加工,處理中斷,二、CPU 結(jié)構(gòu)框圖,PC IR,ALU 寄存器,中斷系統(tǒng),1. CPU 與系統(tǒng)總線,CU 時(shí)序電路,,8.1,2. CPU 的內(nèi)部結(jié)構(gòu),8.1,1. 用戶可見寄存器,(1) 通用寄存器,三、 CPU 的寄存器,存放操作數(shù),可作 某種尋址方式所需的 專用寄存器,(2) 數(shù)據(jù)寄存器,存放操作數(shù)(滿足各種數(shù)據(jù)類型),兩個(gè)寄存器拼接存放雙倍字長數(shù)據(jù),(3) 地址寄存器,存放地址,其位數(shù)應(yīng)滿足最大的地址范圍,用于特殊的尋址方式 段基值 棧指針,(4) 條件碼寄存器,存放條件碼,可作程序分支的依據(jù),如 正、負(fù)、零、溢出、進(jìn)位等,8.1,2. 控制和狀態(tài)寄存器,(1) 控制寄存器,PC,控制 CPU 操作,(2) 狀態(tài)寄存器,狀態(tài)寄存器,其中 MAR MDR IR 用戶不可見,存放條件碼,PSW 寄存器,存放程序狀態(tài)字,,,,,PC 用戶可見,3. 舉例,Z8000 8086 MC 68000,MAR,M,MDR,IR,8.1,四、 控制單元 CU 和中斷系統(tǒng),1. CU 產(chǎn)生全部指令的微操作命令序列,2. 中斷系統(tǒng),參見 第四篇,五、ALU,參見 8.4,參見 第六章,8.1,8.2 指 令 周 期,一、 指令周期的基本概念,1 . 指令周期,取出并執(zhí)行一條指令所需的全部時(shí)間,完成一條指令,,執(zhí)行,取指、分析,取指周期,執(zhí)行周期,2. 每條指令的指令周期不同,NOP,ADD mem,MUL mem,8.2,3. 具有間接尋址的指令周期,4. 帶有中斷周期的指令周期,8.2,5. 指令周期流程,取指周期,執(zhí)行周期,間址周期,中斷周期,,,,8.2,6. CPU 工作周期的標(biāo)志,CPU 訪存有 4 種性質(zhì),取 指令,取 地址,取 操作數(shù),存 程序斷點(diǎn),取指周期,間址周期,執(zhí)行周期,中斷周期,CPU 的 4個(gè)工作周期,8.2,,,,,1. 取指周期數(shù)據(jù)流,二、 指令周期的數(shù)據(jù)流,,,,,CU,MAR,PC,8.2,2. 間址周期數(shù)據(jù)流,,,,8.2,,,3. 執(zhí)行周期數(shù)據(jù)流,4 . 中斷周期數(shù)據(jù)流,不同指令的執(zhí)行周期數(shù)據(jù)流不同,,,,8.2,8.3 指 令 流 水,一、如何提高機(jī)器速度,1. 提高訪存速度,2. 提高 I/O 和主機(jī)之間的傳送速度,提高整機(jī)處理能力,高速芯片,Cache,多體并行,多總線,DMA,I/O 處理機(jī),通道,高速器件,改進(jìn)系統(tǒng)結(jié)構(gòu) ,開發(fā)系統(tǒng)的并行性,中斷,3. 提高運(yùn)算器速度,高速芯片,改進(jìn)算法,快速進(jìn)位鏈,二、系統(tǒng)的并行性,時(shí)間上互相重疊,2. 并行性的等級(jí),指令級(jí)(指令之間) (指令內(nèi)部),,過程級(jí)(程序、進(jìn)程),,兩個(gè)或兩個(gè)以上事件在 同一時(shí)刻 發(fā)生,兩個(gè)或兩個(gè)以上事件在 同一時(shí)間段 發(fā)生,1. 并行的概念,粗粒度,軟件實(shí)現(xiàn),細(xì)粒度,硬件實(shí)現(xiàn),,8.3,,三、指令流水原理,2. 指令的二級(jí)流水,1. 指令的串行執(zhí)行,取指令 取指令部件 完成,總有一個(gè)部件 空閑,指令預(yù)取,若 取指 和 執(zhí)行 階段時(shí)間上 完全重疊,指令周期 減半 速度提高 1 倍,執(zhí)行指令 執(zhí)行指令部件 完成,8.3,,必須等 上條 指令執(zhí)行結(jié)束,才能確定 下條 指令的地址, 造成時(shí)間損失,3. 影響指令流水效率加倍的因素,(1) 執(zhí)行時(shí)間 取指時(shí)間,(2) 條件轉(zhuǎn)移指令 對(duì)指令流水的影響,解決辦法 ?,猜測法,8.3,,4. 指令的六級(jí)流水,六級(jí)流水,14 個(gè)時(shí)間單位,串行執(zhí)行,6 9 = 54 個(gè)時(shí)間單位,完成 一條指令,6 個(gè)時(shí)間單位,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8.3,,四、影響指令流水線性能的因素,1. 結(jié)構(gòu)相關(guān),8.3,不同指令爭用同一功能部件產(chǎn)生資源沖突,程序的相近指令之間出現(xiàn)某種關(guān)聯(lián) 使指令流水出現(xiàn)停頓,影響流水線效率,解決辦法,? 停頓,? 指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開,,? 指令預(yù)取技術(shù) (適用于訪存周期短的情況),2. 數(shù)據(jù)相關(guān),不同指令因重疊操作,可能改變操作數(shù)的 讀/寫 訪問順序,采用 旁路技術(shù),解決辦法,8.3,寫后讀相關(guān)(RAW),讀后寫相關(guān)(WAR),寫后寫相關(guān)(WAW),后推法,,(2) 數(shù)據(jù)相關(guān),,8.3,3. 控制相關(guān),8.3,由轉(zhuǎn)移指令引起,,3. 控制相關(guān),8.3,,五、流水線性能,1. 吞吐率,單位時(shí)間內(nèi) 流水線所完成指令 或 輸出結(jié)果 的 數(shù)量,8.3,最大吞吐率,,平均吞吐率,(1) 最大吞吐率TPmax,最大吞吐率是指流水線在連續(xù)流動(dòng)達(dá)到穩(wěn)定狀態(tài)后所得到的吞吐率。 ◆ 若流水線各段的時(shí)間相等,均為△t0 , 則: TPmax= 1 /△t0,◆ 若流水線各段的時(shí)間不等,則:,◆ 最大吞吐率取決于流水線中最慢的一段所 需的時(shí)間,這段就成了流水線的瓶頸。,1,max{△ti },TPmax=,─────,◆ 各段時(shí)間相等(設(shè)為△t0) 假設(shè)流水線由 m 段組成,,(2) 實(shí)際吞吐率TP,流水線的實(shí)際吞吐率小于最大吞吐率。,連續(xù)處理 n 條指令的吞吐率為,完成 n 個(gè)任務(wù)所需的時(shí)間,實(shí)際吞吐率,TP < TPmax 當(dāng)n m 時(shí),TP ≈TPmax,2. 加速比 Sp,8.3,m 段的 流水線的速度 與等功能的 非流水線的速度 之比,,由于流水線有 建立時(shí)間 和 排空時(shí)間 因此各功能段的 設(shè)備不可能 一直 處于 工作 狀態(tài),8.3,流水線中各功能段的 利用率,3. 效率,,8.3,3. 效率,流水線中各功能段的 利用率,,例8.1 假設(shè)指令流水線分取值(IF)、譯碼(DI)、執(zhí)行(EX)、回寫(WR)4個(gè)過程段,共有10條指令連續(xù)輸入此流水線。 (1)畫出指令周期流程。 (2)畫出非流水線時(shí)空?qǐng)D。 (3)畫出流水線時(shí)空?qǐng)D。 (4)假設(shè)時(shí)鐘周期為100ns,求流水線的吞吐率。 (5)求該流水處理器的加速比。,六、流水線的多發(fā)技術(shù),1. 超標(biāo)量技術(shù),每個(gè)時(shí)鐘周期內(nèi)可 并發(fā)多條獨(dú)立指令,不能調(diào)整 指令的 執(zhí)行順序,配置多個(gè)功能部件,通過編譯優(yōu)化技術(shù),把可并行執(zhí)行的指令搭配起來,8.3,,2. 超流水線技術(shù),在 一個(gè)時(shí)鐘周期 內(nèi) 再分段 ( 3 段),不能調(diào)整 指令的 執(zhí)行順序,在一個(gè)時(shí)鐘周期內(nèi) 一個(gè)功能部件使用多次( 3 次),靠編譯程序解決優(yōu)化問題,,流水線速度是原來速度的 3 倍,8.3,,3. 超長指令字技術(shù),采用 多個(gè)處理部件,8.3,,七、流水線結(jié)構(gòu),1. 指令流水線結(jié)構(gòu),完成一條指令分 7 段, 每段需一個(gè)時(shí)鐘周期,若 流水線不出現(xiàn)斷流,1 個(gè)時(shí)鐘周期出 1 結(jié)果,不采用流水技術(shù),7 個(gè)時(shí)鐘周期出 1 結(jié)果,理想情況下,7 級(jí)流水 的速度是不采用流水技術(shù)的 7 倍,,,,,,,8.3,,2. 運(yùn)算流水線,完成 浮點(diǎn)加減 運(yùn)算 可分 對(duì)階、尾數(shù)求和、規(guī)格化 三段,分段原則 每段 操作時(shí)間 盡量 一致,,,8.3,,,例:單功能、線性流水線,輸入任務(wù)是不連續(xù)的情況,計(jì)算流水線的吞吐率、加速比和效率。用一條4段浮點(diǎn)加法器流水線求8個(gè)浮點(diǎn)數(shù)的和:Z=A+B+C+D+E+F+G+H 解:Z=[(A+B)+(C+D)+(E+F)+(G+H)] 7個(gè)浮點(diǎn)加法共用了15個(gè)時(shí)鐘周期,,8.4 中斷系統(tǒng),一、概述,1. 引起中斷的各種因素,(1) 人為設(shè)置的中斷,(2) 程序性事故,如 轉(zhuǎn)管指令,溢出、操作碼不能識(shí)別、除法非法,(5) 外部事件,(4) I/O 設(shè)備,(3) 硬件故障,用 鍵盤中斷 現(xiàn)行程序,2. 中斷系統(tǒng)需解決的問題,(1) 各中斷源 如何 向 CPU 提出請(qǐng)求 ?,(2) 各中斷源 同時(shí) 提出 請(qǐng)求 怎么辦 ?,(5) 如何 尋找入口地址 ?,(4) 如何 保護(hù)現(xiàn)場 ?,(3) CPU 什么 條件、什么 時(shí)間、以什么 方式 響應(yīng)中斷 ?,(6) 如何 恢復(fù)現(xiàn)場,如何 返回 ?,(7) 處理中斷的過程中又 出現(xiàn)新的中斷 怎么辦 ?,硬件 + 軟件,8.4,二、中斷請(qǐng)求標(biāo)記和中斷判優(yōu)邏輯,1. 中斷請(qǐng)求標(biāo)記 INTR,一個(gè)請(qǐng)求源 一個(gè) INTR 中斷請(qǐng)求標(biāo)記觸發(fā)器,多個(gè)INTR 組成 中斷請(qǐng)求標(biāo)記寄存器,INTR 分散 在各個(gè)中斷源的 接口電路中,INTR 集中 在 CPU 的中斷系統(tǒng) 內(nèi),8.4,2. 中斷判優(yōu)邏輯,① 分散 在各個(gè)中斷源的 接口電路中 鏈?zhǔn)脚抨?duì)器,② 集中 在 CPU 內(nèi),(1) 硬件實(shí)現(xiàn)(排隊(duì)器),參見 第五章,INTR1,INTR2,INTR3,INTR4,INTR1 、 INTR2 、 INTR3 、 INTR4 優(yōu)先級(jí) 按 降序 排列,,8.4,A、B、C 優(yōu)先級(jí)按 降序 排列,(2) 軟件實(shí)現(xiàn)(程序查詢),……,,,轉(zhuǎn) A 的服務(wù)程序 入口地址,轉(zhuǎn) B 的服務(wù)程序 入口地址,轉(zhuǎn) C 的服務(wù)程序 入口地址,8.4,三、中斷服務(wù)程序入口地址的尋找,1. 硬件向量法,向量地址 12H、13H、14H 入口地址 200、 300、 400,8.4,2. 軟件查詢法,M,……,8.4,,四、中斷響應(yīng),1. 響應(yīng)中斷的 條件,允許中斷觸發(fā)器 EINT = 1,2. 響應(yīng)中斷的 時(shí)間,指令執(zhí)行周期結(jié)束時(shí)刻由CPU 發(fā)查詢信號(hào),CPU 中斷查詢,,至排隊(duì)器,8.4,3. 中斷隱指令,(1) 保護(hù)程序斷點(diǎn),(2) 尋找服務(wù)程序入口地址,(3) 硬件 關(guān)中斷,PC,,,,,,,斷點(diǎn)存于 特定地址( 0 號(hào)地址) 內(nèi),斷點(diǎn) 進(jìn)棧,INT 中斷標(biāo)記,EINT 允許中斷,R – S 觸發(fā)器,8.4,五、保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場,1. 保護(hù)現(xiàn)場,2. 恢復(fù)現(xiàn)場,,保護(hù)現(xiàn)場,其他服務(wù)程序,恢復(fù)現(xiàn)場,中斷返回,PUSH,視不同請(qǐng)求源而定,POP,中斷服務(wù)程序 完成,中 斷 服 務(wù) 程 序,,中斷隱指令 完成,中斷服務(wù)程序 完成,8.4,IRET,1. 多重中斷的概念,,,,,,,,,,,,,,k,l,m,k +1,l +1,m +1,程序斷點(diǎn) k+1 , l+1 , m+1,六、中斷屏蔽技術(shù),8.4,2. 實(shí)現(xiàn)多重中斷的條件,,,,,中斷 請(qǐng)求,主程序,(2) 優(yōu)先級(jí)別高 的中斷源 有權(quán)中斷優(yōu)先級(jí)別低 的中斷源,(1) 提前 設(shè)置 開中斷 指令,,,,,,,8.4,3. 屏蔽技術(shù),(1) 屏蔽觸發(fā)器的作用,MASK = 0(未屏蔽),INTR 能被置 “1”,,,,,MASKi = 1 (屏蔽),INTPi = 0 (不能被排隊(duì)選中),8.4,(2) 屏蔽字,16個(gè)中斷源 1、2、3 …… 16 按 降序 排列,8.4,(3) 屏蔽技術(shù)可改變處理優(yōu)先等級(jí),響應(yīng)優(yōu)先級(jí),響應(yīng)優(yōu)先級(jí) A→B→C→D 降序排列,8.4,不可改變,處理優(yōu)先級(jí),可改變(通過重新設(shè)置屏蔽字),處理優(yōu)先級(jí) A→D→C→B 降序排列,,(3) 屏蔽技術(shù)可改變處理優(yōu)先等級(jí),8.4,,(3) 屏蔽技術(shù)可改變處理優(yōu)先等級(jí),(4) 屏蔽技術(shù)的其他作用,8.4,便于程序控制,可以 人為地屏蔽 某個(gè)中斷源的請(qǐng)求,,8.4,(5) 新屏蔽字的設(shè)置,置屏蔽字,恢復(fù)屏蔽字,關(guān)中斷,開中斷,,例8.2 設(shè)某機(jī)有4個(gè)中斷源1、2、3、4,其硬件排隊(duì)優(yōu)先次序按1?2?3?4降序排列,各中斷源的服務(wù)程序中所對(duì)應(yīng)的屏蔽字如表8.9所示。 (1)給出上述4個(gè)中斷源的中斷處理次序 (2)若4個(gè)中斷源同時(shí)有中斷請(qǐng)求,畫出CPU執(zhí)行程序的軌跡。,(1) 斷點(diǎn)進(jìn)棧,(2) 斷點(diǎn)存入“ 0 ” 地址,中斷隱指令 完成,中斷周期,命令存儲(chǔ)器寫,三次中斷,三個(gè)斷點(diǎn)都存入 “ 0 ” 地址,4. 多重中斷的斷點(diǎn)保護(hù),中斷隱指令 完成,8.4,(3) 程序斷點(diǎn)存入 “ 0 ” 地址的斷點(diǎn)保護(hù),SERVE,LDA SAVE,JMP @ RETURN,存程序斷點(diǎn),5 為向量地址,…,保護(hù)現(xiàn)場,恢復(fù)現(xiàn)場,間址返回,存放 ACC 內(nèi)容,轉(zhuǎn)存 0 地址內(nèi)容,開中斷,ENI,8.4,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計(jì)算機(jī) 組成 原理
鏈接地址:http://m.appdesigncorp.com/p-2857007.html