中央處理單元CPU2_第1頁
中央處理單元CPU2_第2頁
中央處理單元CPU2_第3頁
中央處理單元CPU2_第4頁
中央處理單元CPU2_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機組成原理計算機組成原理1第第5 5章章 中央處理器中央處理器主要內容:主要內容:(一)(一) CPUCPU 的功能和基本結構的功能和基本結構 (二)(二) 指令執行過程指令執行過程 (三)(三) 數據通路的功能和基本結構數據通路的功能和基本結構 (四)(四) 控制器的功能和工作原理控制器的功能和工作原理 1. 1. 硬布線控制器硬布線控制器 2. 2. 微程序控制器微程序控制器 微程序、微指令和微命令;微指令的編碼方式;微地址的形成微程序、微指令和微命令;微指令的編碼方式;微地址的形成方式。方式。 (五)(五) 指令流水線指令流水線 1. 1. 指令流水線的基本概念指令流水線的基本概念

2、2. 2. 超標量和動態流水線的基本概念超標量和動態流水線的基本概念 計算機組成原理計算機組成原理5.4 指指 令令 流流 水水如何提高機器速度如何提高機器速度 提高訪存速度提高訪存速度 提高提高 I/O 和主機之間的傳送速度和主機之間的傳送速度 提高整機處理能力提高整機處理能力高速芯片高速芯片Cache多體并行多體并行I/O 處理機處理機DMA多總線多總線通道通道高速器件高速器件改進系統結構改進系統結構 ,挖掘系統的并行性挖掘系統的并行性中斷中斷 提高運算器速度提高運算器速度高速芯片高速芯片改進算法改進算法快速進位鏈快速進位鏈計算機組成原理計算機組成原理系統的并行性系統的并行性 并行性的等級

3、并行性的等級指令級(指令)指令級(指令)過程級(進程)過程級(進程)兩個或兩個以上事件在兩個或兩個以上事件在 同一時刻同一時刻 發生發生兩個或兩個以上事件在兩個或兩個以上事件在 同一時間段同一時間段 發生發生并行并行 并行的概念并行的概念粗粒度粗粒度軟件實現(單核處理器)軟件實現(單核處理器)細粒度細粒度硬件實現硬件實現并發并發同時同時計算機組成原理計算機組成原理4流水線工作原理流水線工作原理l馮馮諾依曼型計算機工作原理諾依曼型計算機工作原理依序逐條串行執行程序指令,每條指令的各個操作依序逐條串行執行程序指令,每條指令的各個操作也按順序串行執行。例如,加法指令依序分成取指也按順序串行執行。例如

4、,加法指令依序分成取指令令/指令譯碼指令譯碼/取數操作取數操作/運算處理和寫結果五個步驟。運算處理和寫結果五個步驟。取指1 譯碼1 取數1 運算1 存數1取指2 譯碼2 取數2 運算2 存數2.特點:控制簡單,速度低,各功能部件利用率低。特點:控制簡單,速度低,各功能部件利用率低。例如,在取指令時主存忙,譯碼器和運算器等都空閑。例如,在取指令時主存忙,譯碼器和運算器等都空閑。若能把程序中的多條指令在若能把程序中的多條指令在時間上重疊時間上重疊起來執行,是起來執行,是否會顯著提高機器速度呢?否會顯著提高機器速度呢?計算機組成原理計算機組成原理5流水線工作方式流水線工作方式計算機流水線(Pipel

5、ines):將一個任務細分成若干個子任務,每個子任務由專門的部件處理,可與其他子任務并行進行處理。流水線技術現已成為計算機中普遍使用的一種并行處理技術。鎖存器鎖存器CLK鎖存器處理部件n處理部件2處理部件1指令流水線:指令的執行過程采用流水線。操作部件流水線:運算器中操作部件采用流水線。 宏流水線:多臺計算機間通過存儲器連接,采用流水線。訪存部件流水線計算機組成原理計算機組成原理645.5.1 5.5.1 指令的重疊執行指令的重疊執行例:五條指令重疊執行情況。例:五條指令重疊執行情況。 T1 T2 T3 T4 T5 機器執行時間機器執行時間取指取指1 譯碼譯碼1 取數取數1 運算運算1 存數存

6、數1 取指取指2 譯碼譯碼2 取數取數2 運算運算2 存數存數2 取指取指3 譯碼譯碼3 取數取數3 運算運算3 存數存數3 取指取指4 譯碼譯碼4 取數取數4 運算運算4 存數存數4 取指取指5 譯碼譯碼5 取數取數5 運算運算5 存數存數5可見,若將一條指令的執行時間分為可見,若將一條指令的執行時間分為5 5段段, , 每段所用時間為每段所用時間為T T,則一條指令執行時間為則一條指令執行時間為5 5T T。系統工作正常后每隔系統工作正常后每隔T T時間就得到時間就得到一條指令的處理結果。平均速度提高了一條指令的處理結果。平均速度提高了4 4倍。這種工作方式稱倍。這種工作方式稱為流水線處理

7、。為流水線處理。本例為本例為5 5級流水線處理方式。理想情況下,級流水線處理方式。理想情況下,5 5級流水的速度是不級流水的速度是不采用流水技術的采用流水技術的5 5倍。倍。并行處理技術主要有三種形式:時間并行、并行處理技術主要有三種形式:時間并行、 空間并行(資源空間并行(資源重復)和時間并行重復)和時間并行+ +空間并行。空間并行。指令的六級流水指令的六級流水六級流水六級流水k+(n-1)=14 個時間單位個時間單位串行執行串行執行6 9 54 時間單位,時間單位,n=9 條指令條指令完成完成 一條指令一條指令k=6 個時間單位,個時間單位,k級流水線級流水線COFOEIWODIFICOF

8、OEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t取指、譯碼、計算操作數地址、取指、譯碼、計算操作數地址、取數、執行,寫回取數、執行,寫回計算機組成原理計算機組成原理8指令流水線結構指令流水線結構例:完成一條指令分例:完成一條指令分 7 段段, 每段需一個時鐘周期每段需一個時鐘周期若若

9、流水線不出現斷流流水線不出現斷流1 個時鐘周期出個時鐘周期出 1 結果結果地址形成部件地址形成部件指令譯碼部件指令譯碼部件取操作數部件取操作數部件取指令部件取指令部件操作執行部件操作執行部件回寫結果部件回寫結果部件修改指令指針部件修改指令指針部件鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存流水線的每一階段完成一條指令的一部分功能,每一階段稱為流水線的每一階段完成一條指令的一部分功能,每一階段稱為一個流水階段,或流水節拍、流水步、功能段、流水級等。一個流水階段,或流水節拍、流水步、功能段、流水級等。分段原則:每段分段原則:每段操作時間操作時間盡量盡量一致一致。每個流水步的時間長度(時鐘周期)

10、應以最長功能段的執行每個流水步的時間長度(時鐘周期)應以最長功能段的執行時間為準時間為準,否則用時長的流水段的功能將不能正確完成。,否則用時長的流水段的功能將不能正確完成。計算機組成原理計算機組成原理9運算流水線運算流水線完成完成 浮點加減浮點加減 運算運算 可分可分對階對階、尾數求和尾數求和、規格化規格化 三段三段鎖存器鎖存器對階功能部件對階功能部件第一段第一段尾數加部件尾數加部件鎖存器鎖存器第二段第二段規格化部件規格化部件鎖存器鎖存器第三段第三段流水線段數:流水線段數:根據總價、性能價格比選擇最佳段數。根據總價、性能價格比選擇最佳段數。一般把大于等于一般把大于等于8段的稱為段的稱為超流水線

11、。超流水線。計算機組成原理計算機組成原理流水線性能流水線性能 吞吐率吞吐率 單位時間內單位時間內 流水線所完成指令流水線所完成指令 或或 輸出結果輸出結果 的的 數量數量 最大吞吐率最大吞吐率 實際吞吐率實際吞吐率 連續處理連續處理 n 條指令的吞吐率為條指令的吞吐率為設設 m 段的流水線,各段時間為段的流水線,各段時間為tTpmax =1tTp =m + (n-1) ntt計算機組成原理計算機組成原理加速比加速比 Sp m 段段的的 流水線的速度流水線的速度 與等功能的與等功能的 非流水線的速度非流水線的速度 之比之比 設流水線各段時間為設流水線各段時間為 t 完成完成 n 條指令在條指令在

12、 m 段流水線上共需段流水線上共需 T = m + (n-1) t t 完成完成 n 條指令在等效的非流水線上共需條指令在等效的非流水線上共需 T = nm t Sp = m +(n-1) nm =nmm + n -1 t t t 則則計算機組成原理計算機組成原理由于流水線有由于流水線有建立時間建立時間和和 排空時間排空時間因此各功能段的因此各功能段的 設備不可能設備不可能 一直一直 處于處于 工作工作 狀態狀態 流水線中各功能段的流水線中各功能段的 利用率利用率效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT時間S空間空間S4S3S2S1(n

13、-1) t建立時間建立時間排空時間排空時間計算機組成原理計算機組成原理效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT時間S空間空間S4S3S2S1(n-1) tm(m + n -1) t = mnt 流水線各段處于工作時間的流水線各段處于工作時間的時空區時空區流水線中各段總的流水線中各段總的時空區時空區 效率效率 = 流水線中各功能段的流水線中各功能段的 利用率利用率計算機組成原理計算機組成原理1445.5.2 5.5.2 流水線的一些問題解決流水線的一些問題解決 流水線把取指與執行分開,使取指與執行同時進流水線把取指與執行分開,使取指與執行

14、同時進行,減少了取指等待時間,大大提高了行,減少了取指等待時間,大大提高了CPUCPU的利用的利用率。同時降低了對與之匹配的存儲器的存取速度要率。同時降低了對與之匹配的存儲器的存取速度要求。但流水線處理方式也存在一些困難:求。但流水線處理方式也存在一些困難:p結構相關:結構相關:由于多條指令在同一時刻爭用同一資源由于多條指令在同一時刻爭用同一資源而形成的沖突稱為結構相關而形成的沖突稱為結構相關。p數據相關:數據相關:后續指令要使用前面指令的操作結果,后續指令要使用前面指令的操作結果,而這一結果尚未產生或未送到,就出現了流水線阻而這一結果尚未產生或未送到,就出現了流水線阻塞,稱為數據相關。塞,稱

15、為數據相關。p兩級流水線不存在數據相關現象。兩級流水線不存在數據相關現象。p控制相關:控制相關:在遇到條件轉移指令時,存在是順序執在遇到條件轉移指令時,存在是順序執行還是轉移執行兩種可能。行還是轉移執行兩種可能。計算機組成原理計算機組成原理15取指取指、譯碼、計算操作、譯碼、計算操作數地址、數地址、取數取數、執行,、執行,寫回寫回計算機組成原理計算機組成原理2). 數據相關不同指令因重疊操作,可能改變操作數的 讀/寫 訪問順序 寫后讀相關(RAW)SUB R0,R1,R2ADD R4,R5,R0;(R1) (R2) R0;(R5)+(R0) R4 讀后寫相關(WAR)STA M,R2ADD R

16、2,R4,R5;(R2) M 存儲單元;(R4)+(R5) R2讀/寫運算器部件中的通用寄存器組、讀寫存儲器中的數據都可能遇到數據相關問題。 寫后寫相關(WAW)MUL R3,R2,R1SUB R3,R4,R5;(R2) (R1) R3;(R4) (R5) R3計算機組成原理計算機組成原理2). 數據相關不同指令因重疊操作,可能改變操作數的 讀/寫 訪問順序 寫后讀相關(RAW)SUB R1,R2,R3ADD R4,R5,R1;(R2) (R3) R1;(R5)+(R1) R4 讀后寫相關(WAR)STA M,R2ADD R2,R4,R5;(R2) M 存儲單元;(R4)+(R5) R2取指取

17、指譯碼譯碼執行執行寫回寫回取指取指譯碼譯碼執行執行寫回寫回讀/寫運算器部件中的通用寄存器組、讀寫存儲器中的數據都可能遇到數據相關問題。 寫后寫相關(WAW)MUL R3,R2,R1SUB R3,R4,R5;(R2) (R1) R3;(R4) (R5) R3計算機組成原理計算機組成原理18 采用 旁路技術解決辦法 后推法計算機組成原理計算機組成原理19 采用 旁路技術計算機組成原理計算機組成原理取指譯碼執行寫回取指譯碼執行寫回 后推法計算機組成原理計算機組成原理3)控制相關)控制相關DIV 指令必須等BNE 指令的結果才能確定是否轉移LDA # 0LDX # 0INXCPX # NBNE MDI

18、V # NSTA ANSADD X, DM由轉移指令引起計算機組成原理計算機組成原理22舉例舉例5.4.4 5.4.4 指令級并行技術指令級并行技術CPI (Clock cycles Per Instruction) :流水線中平均執行一條指令所需的時鐘周期數。CPI是衡量指令級并行性的一個指標。例:假設流水線有K個流水段,一個程序執行時共執行n條指令,CPI=(k+n-1)/n,當nk時, CPI 1。ILP(Instruction Level Parallelism):指令級并行度,在一個時鐘周期內流水線上流出的數。12345678IFIDEXMEMWBIFIDEXMEMWBIFIDEXM

19、EMWBIFIDEXMEMWBI4I3I2I1(a) 基準標量處理機時空圖指令時鐘周期每個時鐘周期發送1條指令,ILP=1計算機組成原理計算機組成原理24超標量(superscalar)CPU:集成了多個ALU、多個FPU、多個譯碼器和多條流水線的CPU,在一個時鐘周期同時發送多條指令(CPI1),以并行處理的方式來提高CPU的性能。Pentium 4 就有20級超標量流水線。 IFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBI4I3I2I1I8

20、I7I6I5I912345678(b) 超標量處理機時空圖指令時鐘周期每個時鐘周期發送3條指令,ILP=3計算機組成原理計算機組成原理25IFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBI4I3I2I1I8I7I6I5I912345678(c) 超流水線處理機時空圖指令時鐘周期每1/3個時鐘周期發送1條指令,ILP=3超流水線(superpipelining)CPU:在一個時鐘周期分期發送多條指令。計算機組成原理計算機組成原理26IFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBI4I3I2I1I8I7I6I5I912345678(d) 超標量超流水線處理機時空圖指令時鐘周期每個時鐘周期發送9條指令,ILP=9超標量超流水線( Superscalar Superpipelining)處理機集中了超標量和超流水線兩者的特點。計算機組成原理計算

溫馨提示

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

評論

0/150

提交評論