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