中央處理單元CPU2_第1頁
中央處理單元CPU2_第2頁
中央處理單元CPU2_第3頁
中央處理單元CPU2_第4頁
中央處理單元CPU2_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

2、2. 2. 超標(biāo)量和動態(tài)流水線的基本概念超標(biāo)量和動態(tài)流水線的基本概念 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.4 指指 令令 流流 水水如何提高機(jī)器速度如何提高機(jī)器速度 提高訪存速度提高訪存速度 提高提高 I/O 和主機(jī)之間的傳送速度和主機(jī)之間的傳送速度 提高整機(jī)處理能力提高整機(jī)處理能力高速芯片高速芯片Cache多體并行多體并行I/O 處理機(jī)處理機(jī)DMA多總線多總線通道通道高速器件高速器件改進(jìn)系統(tǒng)結(jié)構(gòu)改進(jìn)系統(tǒng)結(jié)構(gòu) ,挖掘系統(tǒng)的并行性挖掘系統(tǒng)的并行性中斷中斷 提高運(yùn)算器速度提高運(yùn)算器速度高速芯片高速芯片改進(jìn)算法改進(jìn)算法快速進(jìn)位鏈快速進(jìn)位鏈計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理系統(tǒng)的并行性系統(tǒng)的并行性 并行性的等級

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

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

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

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

7、。為流水線處理。本例為本例為5 5級流水線處理方式。理想情況下,級流水線處理方式。理想情況下,5 5級流水的速度是不級流水的速度是不采用流水技術(shù)的采用流水技術(shù)的5 5倍。倍。并行處理技術(shù)主要有三種形式:時(shí)間并行、并行處理技術(shù)主要有三種形式:時(shí)間并行、 空間并行(資源空間并行(資源重復(fù))和時(shí)間并行重復(fù))和時(shí)間并行+ +空間并行??臻g并行。指令的六級流水指令的六級流水六級流水六級流水k+(n-1)=14 個(gè)時(shí)間單位個(gè)時(shí)間單位串行執(zhí)行串行執(zhí)行6 9 54 時(shí)間單位,時(shí)間單位,n=9 條指令條指令完成完成 一條指令一條指令k=6 個(gè)時(shí)間單位,個(gè)時(shí)間單位,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取指、譯碼、計(jì)算操作數(shù)地址、取指、譯碼、計(jì)算操作數(shù)地址、取數(shù)、執(zhí)行,寫回取數(shù)、執(zhí)行,寫回計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理8指令流水線結(jié)構(gòu)指令流水線結(jié)構(gòu)例:完成一條指令分例:完成一條指令分 7 段段, 每段需一個(gè)時(shí)鐘周期每段需一個(gè)時(shí)鐘周期若若

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

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

11、。超流水線。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理流水線性能流水線性能 吞吐率吞吐率 單位時(shí)間內(nèi)單位時(shí)間內(nèi) 流水線所完成指令流水線所完成指令 或或 輸出結(jié)果輸出結(jié)果 的的 數(shù)量數(shù)量 最大吞吐率最大吞吐率 實(shí)際吞吐率實(shí)際吞吐率 連續(xù)處理連續(xù)處理 n 條指令的吞吐率為條指令的吞吐率為設(shè)設(shè) m 段的流水線,各段時(shí)間為段的流水線,各段時(shí)間為tTpmax =1tTp =m + (n-1) ntt計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理加速比加速比 Sp m 段段的的 流水線的速度流水線的速度 與等功能的與等功能的 非流水線的速度非流水線的速度 之比之比 設(shè)流水線各段時(shí)間為設(shè)流水線各段時(shí)間為 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 則則計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理由于流水線有由于流水線有建立時(shí)間建立時(shí)間和和 排空時(shí)間排空時(shí)間因此各功能段的因此各功能段的 設(shè)備不可能設(shè)備不可能 一直一直 處于處于 工作工作 狀態(tài)狀態(tài) 流水線中各功能段的流水線中各功能段的 利用率利用率效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT時(shí)間S空間空間S4S3S2S1(n

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

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

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

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

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

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

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

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

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論