版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Intel 現(xiàn)代現(xiàn)代CPU 結(jié)構(gòu)與技術(shù)結(jié)構(gòu)與技術(shù)東南大學(xué)計(jì)算機(jī)學(xué)院東南大學(xué)計(jì)算機(jī)學(xué)院 任國林任國林Email:Email:22022-7-4講座內(nèi)容講座內(nèi)容: : CPU CPU結(jié)構(gòu)與性能結(jié)構(gòu)與性能 P CPUP CPU結(jié)構(gòu)與技術(shù)結(jié)構(gòu)與技術(shù) P4 CPUP4 CPU結(jié)構(gòu)與技術(shù)結(jié)構(gòu)與技術(shù) 多核多核CPUCPU結(jié)構(gòu)與技術(shù)結(jié)構(gòu)與技術(shù)32022-7-4第一部分第一部分CPUCPU結(jié)構(gòu)與性能結(jié)構(gòu)與性能42022-7-4一、一、馮馮諾依曼模型與諾依曼模型與8086 CPU8086 CPU1 1、馮馮諾依曼模型與程序執(zhí)行過程諾依曼模型與程序執(zhí)行過程 馮馮諾依曼模型核心:諾依曼模型核心:存儲(chǔ)程序原理存儲(chǔ)程序原
2、理、程序控制流思想、程序控制流思想取指階段取指階段譯碼譯碼執(zhí)行階段執(zhí)行階段取指令取指令(i)(i)取數(shù)取數(shù)執(zhí)行執(zhí)行寫結(jié)果寫結(jié)果PCPC當(dāng)前指令地址當(dāng)前指令地址(i)(i)IRIRALUALUIDID當(dāng)前指令內(nèi)容當(dāng)前指令內(nèi)容源操作數(shù)源操作數(shù)目的操作數(shù)目的操作數(shù) 存儲(chǔ)器存儲(chǔ)器 存儲(chǔ)器為存儲(chǔ)器為按地址訪問按地址訪問的一維線性空間;的一維線性空間; 指令和數(shù)據(jù)以同等地位存儲(chǔ)與指令和數(shù)據(jù)以同等地位存儲(chǔ)與同一存儲(chǔ)器同一存儲(chǔ)器中中指令組成指令組成操作碼操作碼 源源地址碼地址碼1 1 源源地址碼地址碼2 2 目的目的地址碼地址碼取指令取指令(j)(j)取指階段取指階段, 回下頁轉(zhuǎn)移型指令、且轉(zhuǎn)移時(shí)轉(zhuǎn)移型指令、
3、且轉(zhuǎn)移時(shí)ALUALU1 1下條指令地址下條指令地址(j)(j)回22頁回29頁52022-7-42 2、8086 CPU8086 CPU結(jié)構(gòu)結(jié)構(gòu) 結(jié)構(gòu)特征:結(jié)構(gòu)特征:通用寄存器結(jié)構(gòu),由通用寄存器結(jié)構(gòu),由EUEU及及BIUBIU組成;組成; 1616位機(jī)器字長、位機(jī)器字長、2020位地址、實(shí)地址存儲(chǔ)管理位地址、實(shí)地址存儲(chǔ)管理 指令執(zhí)行過程:指令執(zhí)行過程:由由串行的串行的IFIF、IDID、OFOF、EXEX、WBWB階段組成階段組成轉(zhuǎn)上頁ALUALU數(shù)據(jù)總線數(shù)據(jù)總線(16(16位位) )運(yùn)算鎖存器運(yùn)算鎖存器標(biāo)志寄存器標(biāo)志寄存器譯碼與譯碼與控制控制執(zhí)行單元執(zhí)行單元EU 1 2 3 4 5 6總線總
4、線控制控制邏輯邏輯指令隊(duì)列指令隊(duì)列Q總線總線(8位)位)外部外部總線總線總線接口單元總線接口單元BIUCSCSDSDSESESSSSSIPIP內(nèi)部暫存器內(nèi)部暫存器數(shù)據(jù)總線數(shù)據(jù)總線8086:168086:16位位地址總線地址總線20位位指令指針指令指針段寄存器段寄存器AH ALAH ALBH BLBH BLCH CLCH CLDH DLDH DLSPSPBPBPDIDISISI通用寄存器通用寄存器AXAXBXBXCXCXDXDXALU轉(zhuǎn)9頁62022-7-4二、二、計(jì)算機(jī)系統(tǒng)性能及影響因素計(jì)算機(jī)系統(tǒng)性能及影響因素1 1、計(jì)算機(jī)系統(tǒng)性能指標(biāo)計(jì)算機(jī)系統(tǒng)性能指標(biāo) 響應(yīng)時(shí)間:響應(yīng)時(shí)間:指從任務(wù)輸入指從任
5、務(wù)輸入結(jié)果輸出的總時(shí)間;結(jié)果輸出的總時(shí)間; 即即T T響應(yīng)響應(yīng)=T=TCPUCPU+T+TIOIO,T TCPUCPU=I=IN NCPICPIT TC C=I=IN NT T指令指令, 其中其中I IN N為程序指令數(shù),指令所需時(shí)鐘周期數(shù)為程序指令數(shù),指令所需時(shí)鐘周期數(shù)CPI=(CPICPI=(CPIi i)/I)/IN NT Tc c1 11 11 1指令執(zhí)行步驟指令執(zhí)行步驟存數(shù)存數(shù)WBWB執(zhí)行執(zhí)行EX2EX2執(zhí)行執(zhí)行EX1EX1取數(shù)取數(shù)OFOF譯碼譯碼IDID取指取指IFIF1 12 22 22 22 22 2CPICPI1 1T TC C1 1CPICPI2 2T TC C 吞吐率:吞
6、吐率:指單位時(shí)間內(nèi)可處理的任務(wù)個(gè)數(shù)。指單位時(shí)間內(nèi)可處理的任務(wù)個(gè)數(shù)。 即即吞吐率吞吐率=n=n(T(TCPUCPU) ),其中,其中n n為任務(wù)個(gè)數(shù)為任務(wù)個(gè)數(shù)回下頁回12頁72022-7-4 軟件因素:軟件因素: * *編譯程序編譯程序源程序源程序目標(biāo)程序的目標(biāo)程序的翻譯效率翻譯效率( (如如I IN N大小大小) ) * *操作系統(tǒng)操作系統(tǒng)軟硬件的軟硬件的管理效率管理效率( (如多任務(wù)切換時(shí)間如多任務(wù)切換時(shí)間) )2 2、影響、影響計(jì)算機(jī)系統(tǒng)性能的因素計(jì)算機(jī)系統(tǒng)性能的因素 硬件因素:硬件因素: * *指令系統(tǒng)指令系統(tǒng)指令系統(tǒng)指令系統(tǒng)指令的數(shù)量及功能指令的數(shù)量及功能 * *CPUCPU結(jié)構(gòu)結(jié)構(gòu)指
7、令指令/ /程序的程序的執(zhí)行效率執(zhí)行效率( (如步驟、如步驟、CPICPIi i) ) * *存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng)MEMMEM訪問的訪問的延遲延遲與與帶寬帶寬 * *部件組成部件組成功能實(shí)現(xiàn)功能實(shí)現(xiàn)延遲延遲( (如主頻如主頻1/T1/TC C)轉(zhuǎn)上頁回下頁時(shí)間時(shí)間進(jìn)程進(jìn)程1 1進(jìn)程進(jìn)程2 2操作系統(tǒng)操作系統(tǒng)硬件資源硬件資源82022-7-43 3、提高、提高計(jì)算機(jī)硬件系統(tǒng)性能的方法計(jì)算機(jī)硬件系統(tǒng)性能的方法 提高性能的方法:提高性能的方法:更快的速度、更快的速度、并行工作方式并行工作方式; 硬件方面的優(yōu)化思路:硬件方面的優(yōu)化思路: * *提高指令系統(tǒng)性能提高指令系統(tǒng)性能增加新功能指令等增加新功能指令
8、等 * *提高主頻提高主頻改進(jìn)器件、電路等技術(shù)改進(jìn)器件、電路等技術(shù) * *改進(jìn)結(jié)構(gòu)改進(jìn)結(jié)構(gòu)提高提高( (Cycles per Instruction) ) 提高提高( (Instruction Level Parallel) ) * *提高提高OSOS效率效率增加便于增加便于OSOS工作的相應(yīng)硬件工作的相應(yīng)硬件 * *提高訪存速度提高訪存速度選擇快速器件、改進(jìn)選擇快速器件、改進(jìn)MEMMEM結(jié)構(gòu)結(jié)構(gòu) * *提高提高I/OI/O速度速度采用采用I/OI/O接口、改進(jìn)接口、改進(jìn)I/OI/O方式等方式等 轉(zhuǎn)上頁92022-7-4三、三、Intel CPUIntel CPU結(jié)構(gòu)與技術(shù)的發(fā)展概述結(jié)構(gòu)與技術(shù)
9、的發(fā)展概述(1)(1)強(qiáng)化強(qiáng)化CPUCPU部件部件 優(yōu)化部件性能:優(yōu)化部件性能:增加增加CPUCPU字長、提高主頻、多總線通路;字長、提高主頻、多總線通路; 增加指令功能:增加指令功能:擴(kuò)展指令系統(tǒng)擴(kuò)展指令系統(tǒng)( (需相應(yīng)增加硬件需相應(yīng)增加硬件) );1 1、操作級操作級結(jié)構(gòu)與技術(shù)的發(fā)展結(jié)構(gòu)與技術(shù)的發(fā)展內(nèi)部總線內(nèi)部總線( (多總線多總線) )控制器控制器指令隊(duì)列指令隊(duì)列總線接口單元總線接口單元BIUBIU譯碼器譯碼器寄存器組寄存器組加法器加法器浮點(diǎn)部件浮點(diǎn)部件乘法器乘法器轉(zhuǎn)移部件轉(zhuǎn)移部件16b32b16b32b16b32b16b32b外部總線外部總線轉(zhuǎn)5頁(單總線)102022-7-4(2)(
10、2)改進(jìn)存儲(chǔ)系統(tǒng)改進(jìn)存儲(chǔ)系統(tǒng) 采用虛擬存儲(chǔ)器:采用虛擬存儲(chǔ)器:有效有效支持多任務(wù)支持多任務(wù)OSOS( (減輕程序員負(fù)擔(dān)減輕程序員負(fù)擔(dān)) ); 增設(shè)快表增設(shè)快表提高地址變換速度。提高地址變換速度?;叵马摮绦虺绦虼a段數(shù)據(jù)段其他段代碼段數(shù)據(jù)段其他段X X 主存主存 快表快表TLBTLB(Translation lookside Buffer)(Translation lookside Buffer)M OSOS的的存存儲(chǔ)儲(chǔ)管管理理表表邏輯邏輯地址地址物理地址物理地址C CA ATLBTLB為為OSOS管理表的子集管理表的子集程序程序n n代碼段數(shù)據(jù)段其他段代碼段數(shù)據(jù)段其他段主存中主存中CPUCPU
11、中中112022-7-4 增設(shè)增設(shè)CacheCache多級多級CacheCache: 利用利用程序訪存局部性規(guī)律程序訪存局部性規(guī)律,提高,提高訪存速度訪存速度( (弱化弱化CPU-MEMCPU-MEM瓶頸瓶頸) )及及性能性能- -價(jià)格比價(jià)格比( (容量容量CacheCache容量容量MEMMEM) )。 改善系統(tǒng)總線性能:改善系統(tǒng)總線性能: 提高總線提高總線時(shí)鐘頻率時(shí)鐘頻率、增加、增加A/DA/D寬度寬度、多級總線多級總線等等 越靠近越靠近CPUCPU速度越快速度越快內(nèi)部總線內(nèi)部總線( (多總線多總線) )控制器控制器指令隊(duì)列指令隊(duì)列總線接口單元總線接口單元BIUBIU譯碼器譯碼器寄存器組寄
12、存器組加法器加法器浮點(diǎn)部件浮點(diǎn)部件乘法器乘法器轉(zhuǎn)移部件轉(zhuǎn)移部件32b32b外部總線外部總線TLBTLBL2 CacheL2 CacheL1 CacheL1 Cache轉(zhuǎn)上頁回17頁122022-7-4(3)(3)改進(jìn)改進(jìn)CPUCPU結(jié)構(gòu)結(jié)構(gòu) 開發(fā)開發(fā)操作級操作級并行性:并行性:有有流水線流水線及及超級流水線超級流水線技術(shù);技術(shù); 流水線技術(shù):流水線技術(shù):指令執(zhí)行各步驟重疊,減少程序執(zhí)行時(shí)間指令執(zhí)行各步驟重疊,減少程序執(zhí)行時(shí)間; ;需解決問題:需解決問題:結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)( (資源使用沖突資源使用沖突) ); 指令間的指令間的數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)及及控制相關(guān)控制相關(guān); 提高提高執(zhí)行部件執(zhí)行部件EXE
13、X利用率利用率。轉(zhuǎn)6頁回下頁回14頁0 1 2 3 4 5 6 7普通流水線:普通流水線:ILP(1,1)ILP(1,1)T TCPUCPU=5+(I=5+(IN N-1)-1)* *T TC C1 13 3z z2 2段段WBWBEX2EX2EX1EX1OFOFIDIDIFIF2 23 3z z說明:說明:ILP(m,n)-mILP(m,n)-m為同時(shí)啟動(dòng)的指令或操作,為同時(shí)啟動(dòng)的指令或操作,n n為每個(gè)為每個(gè)TcTc啟動(dòng)次數(shù)。啟動(dòng)次數(shù)。1 12 2z z0 1 2 3 4 5段段1 1 2 23 3 4 45 5 6 6 z z1 1 2 2 3 3 4 4 5 5 6 6 z z1 1
14、2 2 3 3 4 4 5 5 6 6 z z1 12 23 31 12 23 3z z1 1 2 2 3 3 4 4 5 5 6 6 z z1 1 2 2 3 3 4 4 5 5 6 6 z zWBWBEX2EX2EX1EX1OFOFIDIDIFIFT TC CT TC C超級流水線:超級流水線:ILP(1,2)ILP(1,2)T TCPUCPU=5+(I=5+(IN N-1)-1)* *(T(TC C/2)/2)回17頁132022-7-4 開發(fā)開發(fā)指令級指令級并行性:并行性:有有VLIWVLIW、超標(biāo)量、超標(biāo)量、SIMDSIMD等技術(shù);等技術(shù);2 2、指令級指令級結(jié)構(gòu)與技術(shù)的發(fā)展結(jié)構(gòu)與技
15、術(shù)的發(fā)展 VLIWVLIW技術(shù):技術(shù):流水指令包含流水指令包含多種操作多種操作,提高,提高EXEX的利用率;的利用率;需解決問題需解決問題( (新增新增) ): 目標(biāo)代碼效率目標(biāo)代碼效率( (即即編譯編譯程序程序效率效率) )。 VLIWVLIW已基本不用已基本不用指令中操作字段:指令中操作字段:LD/ST1LD/ST1LD/ST2LD/ST2FADDFADDFMULFMUL主主存存RF (RF (寄存器堆寄存器堆) )LD/ST1LD/ST1VLIW VLIW 結(jié)構(gòu)結(jié)構(gòu)示例:示例:LD/ST2LD/ST2FADDFADDFMULFMUL0 1 2 3 4 5 6 7VLIWVLIW流水線:流
16、水線:ILP(2,1)ILP(2,1)1 13 3n n2 2段段WBWBEX2EX2EX1EX1OFOFIDIDIFIF2 23 3n n1 12 2n n1 12 23 3n n1 12 23 3n nT TC C1 1空空空空轉(zhuǎn)上頁回下頁142022-7-4T TC C0 1 2 3 4 5 6 7超標(biāo)量流水線:超標(biāo)量流水線:ILP(2,1)ILP(2,1)1 13 35 5 n-1n-12 24 4空空n n1 13 35 5 n-1n-12 24 4空空n n段段WB2WB2WB1WB1EX2EX2EX1EX1OF2OF2OF1OF1ID2ID2ID1ID1IF2IF2IF1IF11
17、 13 35 5 n-1n-12 24 4空空n n1 13 35 5 n-1n-12 24 4空空n n1 13 35 5 n-1n-12 24 4空空n n0 1 2 3 4 5 6 7SIMDSIMD流水線:流水線:ILP(2,1)ILP(2,1)D11D11空空 Dn1Dn1D21D21段段WBWBEXEXOFOFIDIDIFIF2 23 3n n1 12 2n n1 12 23 3n n1 12 23 3n nT TC CD12D12 D22D22空空Dn2Dn2需解決問題需解決問題( (新增新增) ): 數(shù)據(jù)存取寬度;數(shù)據(jù)存取寬度; 支持新數(shù)據(jù)類型。支持新數(shù)據(jù)類型。需解決問題需解決
18、問題( (新增新增) ): 多多I I、D D并行存取并行存??; 更嚴(yán)重的更嚴(yán)重的數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān). .超標(biāo)量流水技術(shù):超標(biāo)量流水技術(shù): 多條指令多條指令并行流水;并行流水;SIMDSIMD流水技術(shù):流水技術(shù):流水指流水指令可處理令可處理多個(gè)數(shù)據(jù)多個(gè)數(shù)據(jù);轉(zhuǎn)上頁轉(zhuǎn)12頁(單流水線)152022-7-4 開發(fā)開發(fā)程序級程序級并行性:并行性:有多線程有多線程(MT)(MT)、超線程超線程(HT)(HT)等技術(shù)等技術(shù) 即同時(shí)多線程即同時(shí)多線程(SMT)(SMT)ALUsALUs+ +CUCUCacheCachePCPCREGsREGsPSWPSW單線程單線程(ST)CPU(ST)CPU回下頁3 3、
19、程序級程序級結(jié)構(gòu)與技術(shù)的發(fā)展結(jié)構(gòu)與技術(shù)的發(fā)展P1P1P2P2P3P3OSOSt t單線程單線程CPUCPUALUsALUs+ +CUCUCacheCachePCPCREGsREGsPSWPSWPCPCREGsREGsPSWPSW多線程多線程(MT)CPU(MT)CPUALUsALUs+ +CUCUCacheCachePCPCREGsREGsPSWPSWPCPCREGsREGsPSWPSW超線程超線程(HT)CPU(HT)CPULogical CPU PointerLogical CPU Pointer超線程超線程CPUCPU功能部功能部件無使件無使用沖突用沖突多線程多線程CPUCPUT T切換
20、切換減小減小回47頁回68頁162022-7-44 4、CPUCPU級級結(jié)構(gòu)與技術(shù)的發(fā)展結(jié)構(gòu)與技術(shù)的發(fā)展 開發(fā)開發(fā)CPUCPU級并行性:級并行性:有多有多CPUCPU、多核、多核CPUCPU等技術(shù);等技術(shù);CoreCoreL1 CacheL1 CacheL2 CacheL2 CacheBIUBIUCoreCoreL1 CacheL1 CacheL2 CacheL2 CacheBIUBIUDual CPUDual CPU( (如如Dual Xeon)Dual Xeon)CoreCore 0 0L1 CacheL1 CacheL2 CacheL2 CacheBIUBIUCoreCore 1 1L1
21、 CacheL1 CacheL2 CacheL2 CacheBIUBIUDual Core CPUDual Core CPU( (如如Pentium D 800Pentium D 800) )CoreCore 0 0L1 CacheL1 CacheL2 CacheL2 CacheBIUBIUCoreCore 1 1L1 CacheL1 CacheCore 2 Duo CPUCore 2 Duo CPU( (如如Core 2 Duo E6300Core 2 Duo E6300) ) 多核多核CPUCPU與超線程與超線程CPUCPU: * *超線程超線程CPUCPU多個(gè)邏輯多個(gè)邏輯CPUCPU(
22、(要求資源使用不沖突要求資源使用不沖突) ); * *多核多核CPUCPU多個(gè)物理多個(gè)物理CPUCPU( (資源使用不會(huì)沖突資源使用不會(huì)沖突) )。轉(zhuǎn)上頁172022-7-41 1、流水線的、流水線的結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)處理處理 L1 CacheL1 Cache采用哈佛結(jié)構(gòu):采用哈佛結(jié)構(gòu):即即I-CacheI-Cache、D-CacheD-Cache分離;分離;轉(zhuǎn)12頁(結(jié)構(gòu)相關(guān))轉(zhuǎn)11頁(L1)四、四、流水線實(shí)現(xiàn)時(shí)的相關(guān)處理流水線實(shí)現(xiàn)時(shí)的相關(guān)處理總線接口單元總線接口單元寄存器組寄存器組ALUsALUsL1 I-CacheL1 I-CacheL1 D-CacheL1 D-CacheL2 Cache
23、L2 Cache主存主存控制器控制器指令隊(duì)列指令隊(duì)列譯碼器譯碼器內(nèi)部總線內(nèi)部總線( (多總線多總線) )取指取指譯碼譯碼取數(shù)取數(shù)執(zhí)行執(zhí)行寫回寫回指令流水線段指令流水線段回下頁 * *效果效果避免了避免了取指段取指段與與取數(shù)段取數(shù)段/ /寫回段寫回段間的間的操作沖突操作沖突, 減輕了減輕了L1 CacheL1 Cache與與L2 CacheL2 Cache間的間的訪問沖突概率訪問沖突概率. .182022-7-4 增設(shè)指令預(yù)取緩沖器及數(shù)據(jù)存儲(chǔ)緩沖器:增設(shè)指令預(yù)取緩沖器及數(shù)據(jù)存儲(chǔ)緩沖器: * *指令預(yù)取緩沖器指令預(yù)取緩沖器取指段取指段與與數(shù)據(jù)段數(shù)據(jù)段L1L1級級CacheCache不命中時(shí)不命中時(shí)
24、的的訪問沖突概率訪問沖突概率; * *數(shù)據(jù)存儲(chǔ)緩沖器數(shù)據(jù)存儲(chǔ)緩沖器實(shí)現(xiàn)實(shí)現(xiàn)“零等待寫零等待寫”,避免了流水線,避免了流水線中中取數(shù)段取數(shù)段與與寫回段寫回段的的操作沖突操作沖突。 零等待寫零等待寫寫無延遲,寫無延遲,無取無取CacheCache操作時(shí)操作時(shí)再寫再寫轉(zhuǎn)上頁 L1 CacheL1 Cache沖突處理:沖突處理:I-CacheI-Cache的訪問優(yōu)先級的訪問優(yōu)先級D-CacheD-Cache。預(yù)取流式緩沖器預(yù)取流式緩沖器總線接口單元總線接口單元寄存器組寄存器組ALUsALUs取數(shù)取數(shù)部件部件L1 I-CacheL1 I-CacheL1 D-CacheL1 D-Cache存儲(chǔ)順序緩沖器存
25、儲(chǔ)順序緩沖器存數(shù)存數(shù)部件部件L2 CacheL2 Cache主存主存控制器控制器指令隊(duì)列指令隊(duì)列譯碼器譯碼器內(nèi)部總線內(nèi)部總線192022-7-4 處理方法:處理方法:有后推法、相關(guān)專用通路法、異步流動(dòng)法有后推法、相關(guān)專用通路法、異步流動(dòng)法3 3種種回下頁2 2、流水線的、流水線的數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)處理處理 1 2 3 4 5 6 1 2 3 4 5 6I1I1:R1R1=R2+R3 IF ID EX MEM WB=R2+R3 IF ID EX MEM WBI2I2:R4=R4=R1R1* *R5 IF ID EX MEM WBR5 IF ID EX MEM WB指令指令拍拍讀讀R1R1寫寫R1R
26、1(1)(1)先寫后讀先寫后讀(RAW)(RAW)相關(guān)及處理相關(guān)及處理 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 I1 IF ID EX MEM WBI1 IF ID EX MEM WBI2 IF ID ID EX MEM WBI2 IF ID ID EX MEM WBI3 IF IF ID EX MEMI3 IF IF ID EX MEMI拍拍相關(guān)專用通路法相關(guān)專用通路法IFIFIDIDEXEXMEMMEMWBWB流水線控制器流水線控制器MUXMUX相關(guān)專用通路相關(guān)專用通路回32頁 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 I1 IF ID
27、 EX MEM WBI1 IF ID EX MEM WBI2 IF ID ID EX MEM WBI2 IF ID ID EX MEM WBI3 IF IF ID EX MEMI3 IF IF ID EX MEMI拍拍后推法后推法,直到相關(guān)消除,直到相關(guān)消除IFIFIDIDEXEXMEMMEMWBWB流水線控制器流水線控制器202022-7-4轉(zhuǎn)上頁(2)(2)先讀后寫先讀后寫(WAR)(WAR)及寫及寫- -寫寫(WAW)(WAW)相關(guān)及處理相關(guān)及處理 WARWAR及及WAWWAW數(shù)據(jù)相關(guān)因采用數(shù)據(jù)相關(guān)因采用異步流動(dòng)法異步流動(dòng)法而產(chǎn)生而產(chǎn)生( (見上圖見上圖) )。產(chǎn)生產(chǎn)生WARWAR相關(guān)相
28、關(guān)產(chǎn)生產(chǎn)生WAWWAW相關(guān)相關(guān) 處理方法:處理方法:動(dòng)態(tài)調(diào)度方法動(dòng)態(tài)調(diào)度方法即存在即存在RAWRAW、WARWAR、WAWWAW相關(guān)的相關(guān)的指令指令等待等待,無相關(guān)指令,無相關(guān)指令先執(zhí)行先執(zhí)行,避免了,避免了WARWAR、WAWWAW相關(guān)。相關(guān)。 * *結(jié)構(gòu)需求結(jié)構(gòu)需求用指令窗口暫存的是已譯碼指令串,用指令窗口暫存的是已譯碼指令串, 取指取指/ /譯碼譯碼(IF/ID)(IF/ID)速度執(zhí)行速度執(zhí)行(EX)(EX)速度。速度?;?2頁指令窗口指令窗口( (就緒指令先就緒指令先EX)EX)異步流動(dòng)異步流動(dòng)( (亂序執(zhí)行亂序執(zhí)行) )法法無相關(guān)指令先執(zhí)行,無相關(guān)指令先執(zhí)行,IFIFIDIDEXEX
29、MEMMEMWBWB流水線控制器流水線控制器順序進(jìn)入順序進(jìn)入順序順序I1: I1: R3R3=R1+R2=R1+R2I2: I2: R4R4= =R3R3+ +R5R5I3: I3: R5R5=R1=R1* *R2R2I4: I4: R4R4=R2+R6=R2+R6異步流出異步流出順序順序I1: I1: R3R3=R1+R2=R1+R2I3: I3: R5R5=R1=R1* *R2R2I4: I4: R4R4=R2+R6=R2+R6I2: I2: R4R4= =R3R3+ +R5R5212022-7-4 處理方法:處理方法:后推法、優(yōu)化延遲轉(zhuǎn)移法、預(yù)測后推法、優(yōu)化延遲轉(zhuǎn)移法、預(yù)測( (猜測猜測
30、) )法;法; 預(yù)測測法:預(yù)測測法:有靜態(tài)預(yù)測法、動(dòng)態(tài)預(yù)測法兩種;有靜態(tài)預(yù)測法、動(dòng)態(tài)預(yù)測法兩種; * *靜態(tài)預(yù)測靜態(tài)預(yù)測按按指令類型指令類型或或?qū)ぶ贩绞綄ぶ贩绞讲聹y轉(zhuǎn)移方向猜測轉(zhuǎn)移方向 * *動(dòng)態(tài)預(yù)測動(dòng)態(tài)預(yù)測按分支指令按分支指令執(zhí)行歷史執(zhí)行歷史猜測轉(zhuǎn)移方向猜測轉(zhuǎn)移方向 * *應(yīng)用應(yīng)用有歷史的分支指令有歷史的分支指令用動(dòng)態(tài)法,否則用靜態(tài)法用動(dòng)態(tài)法,否則用靜態(tài)法3 3、流水線的、流水線的控制相關(guān)控制相關(guān)處理處理 1 2 3 4 5 6 7 1 2 3 4 5 6 7順序型順序型 I1:CMP R1I1:CMP R1,R2 IF ID EX MEM WBR2 IF ID EX MEM WB轉(zhuǎn)移型轉(zhuǎn)移
31、型 I2:JNZ TEST1 IF ID EX MEM WBI2:JNZ TEST1 IF ID EX MEM WB順序型順序型 IxIx:? IF:? IF拍拍需要新需要新PCPCPCPC地址地址x x指令指令注:轉(zhuǎn)移型指令只需要注:轉(zhuǎn)移型指令只需要4 4拍即可完成指令拍即可完成指令( (在在MEMMEM段寫段寫PC)PC)IF IDIF ID 后推法:后推法:取指部件一直等待,直到相關(guān)消除取指部件一直等待,直到相關(guān)消除( (見上圖見上圖) );222022-7-4 ( (分支分支) )預(yù)測法實(shí)現(xiàn)原理:預(yù)測法實(shí)現(xiàn)原理: * *轉(zhuǎn)移歷史保存轉(zhuǎn)移歷史保存用用轉(zhuǎn)移目標(biāo)緩沖器轉(zhuǎn)移目標(biāo)緩沖器BTBBT
32、B保存;保存; * *猜測實(shí)現(xiàn)猜測實(shí)現(xiàn)IFIF段或段或IDID段段預(yù)測方向,預(yù)測方向,EXEX段段更新轉(zhuǎn)移歷史更新轉(zhuǎn)移歷史; ;執(zhí)行段執(zhí)行段(EX)(EX)取指段取指段(IF)(IF)不命中不命中PCPC查查BTBBTB表表(IAddr(IAddr段段) )靜態(tài)預(yù)測靜態(tài)預(yù)測( (按按IRIR內(nèi)容內(nèi)容) )更新轉(zhuǎn)移歷史更新轉(zhuǎn)移歷史(HI)(HI)命中命中預(yù)測不轉(zhuǎn)移預(yù)測不轉(zhuǎn)移預(yù)測轉(zhuǎn)移預(yù)測轉(zhuǎn)移 PC(TAddrPC(TAddr段段) )譯碼段譯碼段(ID)(ID)誤預(yù)測誤預(yù)測處理處理(PC=(PC=預(yù)測的預(yù)測的反方向地址反方向地址) )預(yù)測正確預(yù)測正確IF段猜錯(cuò)段猜錯(cuò)IF段猜對段猜對是轉(zhuǎn)移是轉(zhuǎn)移指令
33、指令動(dòng)態(tài)預(yù)測動(dòng)態(tài)預(yù)測( (按按HIHI段段) )PC(PC)+1PC(PC)+1BTBBTB中建新中建新指令信息行指令信息行行號行號轉(zhuǎn)移結(jié)果轉(zhuǎn)移結(jié)果預(yù)測錯(cuò)誤預(yù)測錯(cuò)誤 0 0 * * * * * * * * * 1 aa xy ee 1 aa xy ee有效位有效位(AV) (AV) 轉(zhuǎn)移指令地址轉(zhuǎn)移指令地址(IAddr) (IAddr) 歷史位歷史位(HI) (HI) 轉(zhuǎn)移目標(biāo)地址轉(zhuǎn)移目標(biāo)地址(TAddr) (TAddr) BTBBTB:大小大小固定固定回28頁轉(zhuǎn)4頁(PC)232022-7-4 * *預(yù)測算法預(yù)測算法靜態(tài)預(yù)測算法靜態(tài)預(yù)測算法( (下表下表) ),動(dòng)態(tài)預(yù)測算法動(dòng)態(tài)預(yù)測算法( (
34、下圖下圖) )相對相對PCPC尋址方式尋址方式非相對非相對PCPC尋址方式尋址方式預(yù)測預(yù)測轉(zhuǎn)移轉(zhuǎn)移轉(zhuǎn)移地址轉(zhuǎn)移地址比比PCPC小的小的指令指令 CALL/RETCALL/RET類型類型指令指令預(yù)測預(yù)測不轉(zhuǎn)移不轉(zhuǎn)移轉(zhuǎn)移地址轉(zhuǎn)移地址比比PCPC大的大的指令指令 非非CALL/RETCALL/RET類型指令類型指令結(jié)果結(jié)果: :不轉(zhuǎn)移不轉(zhuǎn)移歷史位:歷史位:1010預(yù)測:預(yù)測:轉(zhuǎn)移轉(zhuǎn)移歷史位:歷史位:1111預(yù)測:預(yù)測:轉(zhuǎn)移轉(zhuǎn)移歷史位:歷史位:0000預(yù)測:預(yù)測:不轉(zhuǎn)移不轉(zhuǎn)移歷史位:歷史位:0101預(yù)測:預(yù)測:不轉(zhuǎn)移不轉(zhuǎn)移結(jié)果結(jié)果: :轉(zhuǎn)移轉(zhuǎn)移結(jié)果結(jié)果: :不轉(zhuǎn)移不轉(zhuǎn)移結(jié)果結(jié)果: :轉(zhuǎn)移轉(zhuǎn)移結(jié)果結(jié)果:
35、 :轉(zhuǎn)移轉(zhuǎn)移結(jié)果結(jié)果: :不轉(zhuǎn)移不轉(zhuǎn)移結(jié)果結(jié)果: :不轉(zhuǎn)移不轉(zhuǎn)移結(jié)果結(jié)果: :轉(zhuǎn)移轉(zhuǎn)移 * *預(yù)測法的后續(xù)處理預(yù)測法的后續(xù)處理 用用后援寄存器后援寄存器保存保存可能被破壞的狀態(tài)可能被破壞的狀態(tài)( (及數(shù)據(jù)及數(shù)據(jù)) ); 預(yù)測指令的執(zhí)行預(yù)測指令的執(zhí)行只完成到只完成到執(zhí)行段執(zhí)行段(EX)(EX)。 確認(rèn)確認(rèn)預(yù)測正確后才進(jìn)行預(yù)測正確后才進(jìn)行寫回段寫回段(WB)(WB)242022-7-4第二部分第二部分 P CPUP CPU結(jié)構(gòu)與技術(shù)結(jié)構(gòu)與技術(shù)252022-7-4 結(jié)構(gòu)特征:結(jié)構(gòu)特征: * *哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)I-CacheI-Cache、D-CacheD-Cache分離分離(Pentium(Pent
36、ium已有已有) ) * *雙獨(dú)立總線雙獨(dú)立總線( (DIB)DIB)結(jié)構(gòu)結(jié)構(gòu)MEMMEM總線與總線與L2 CacheL2 Cache總線并行總線并行 * *動(dòng)態(tài)執(zhí)行技術(shù)動(dòng)態(tài)執(zhí)行技術(shù)由由多路分支預(yù)測多路分支預(yù)測、數(shù)據(jù)流分析數(shù)據(jù)流分析、推測推測執(zhí)行執(zhí)行3 3大技術(shù)組成大技術(shù)組成 * *超標(biāo)量流水結(jié)構(gòu)超標(biāo)量流水結(jié)構(gòu)3 3路超標(biāo)量、路超標(biāo)量、1212級流水結(jié)構(gòu)級流水結(jié)構(gòu)轉(zhuǎn)下頁一、一、P CPUP CPU結(jié)構(gòu)特征結(jié)構(gòu)特征回28頁 回37頁262022-7-4回上頁回37頁回39頁回44頁ITLBITLBL1 I-CacheL1 I-Cache預(yù)取預(yù)取Buffer/Buffer/預(yù)譯碼預(yù)譯碼指令預(yù)取單元
37、指令預(yù)取單元譯碼器譯碼器0 0uCodeuCodeROMROMuop Bufferuop BufferRATRAT/ /分配器分配器再定序緩沖器再定序緩沖器ROB(40ROB(40項(xiàng)項(xiàng)) )保留站保留站RSRSL2 L2 CacheCacheDTLBDTLBL1 D-CacheL1 D-CacheMOBMOBLoadLoadAddrAddr復(fù)雜復(fù)雜ALUALUFPUFPUMMXMMX ALUALUMMXMMX乘法乘法BIUBIU4uop4uopRRFRRF簡單簡單ALUALUJEUJEUPort0Port0MEMMEM譯碼器譯碼器1 1譯碼器譯碼器2 2前端前端總線總線后端后端總線總線P(P6
38、P(P6核心核心) )內(nèi)部結(jié)構(gòu)圖內(nèi)部結(jié)構(gòu)圖1uop1uop1uop1uop3uop3uop3uop3uop3uop3uop3uop3uopPort1Port1MMXMMX ALUALUMMXMMX移位移位StoreStoreAddrAddrStoreStoreDataDataPort4Port4Port3Port3Port2Port264bit64bit64bit64bit64bit64bit64bit64bit回下頁回36頁272022-7-4CPUCPUCoreCoreL1 I-CacheL1 I-CacheL1 D-CacheL1 D-CacheL2 Cache CacheL2 Cach
39、e Cache 控制器控制器 陣列陣列CacheCache總線總線BIUBIU 主存主存 MEMMEM控制器控制器 陣列陣列MEMMEM總線總線 PentiumPentium的的CacheCache結(jié)構(gòu):結(jié)構(gòu):貫通式貫通式CacheCache( (不命中時(shí)再訪問主存不命中時(shí)再訪問主存) ); ; T TCPUCPU訪存命中訪存命中Cache Cache =T=TMEMMEM地址地址CacheCache地址變換地址變換+T+TCacheCache陣列陣列 T TCPUCPU訪存不命中訪存不命中CacheCache=T=TMEMMEM地址地址CacheCache地址變換地址變換+T+TMEMMEM
40、陣列陣列+T+TCacheCache陣列陣列 PP的的CacheCache結(jié)構(gòu):結(jié)構(gòu):DIBDIB結(jié)構(gòu)的結(jié)構(gòu)的CacheCache(BIU(BIU以以2 2種頻率同時(shí)訪問種頻率同時(shí)訪問) ) T TCPUCPU訪存命中訪存命中Cache Cache =T=TMEMMEM地址地址CacheCache地址變換地址變換+T+TCacheCache陣列陣列 T TCPUCPU訪存不命中訪存不命中CacheCache=T=TMEMMEM陣列陣列CPUCPUCoreCoreL1 I-CacheL1 I-CacheL1 D-CacheL1 D-CacheL2 Cache CacheL2 Cache Cach
41、e 控制器控制器 陣列陣列后端總線后端總線BIUBIU 主存主存 MEMMEM控制器控制器 陣列陣列前端總線前端總線(MEM(MEM總線總線) )CacheCache命中命中二、二、P CPUP CPU的雙獨(dú)立總線的雙獨(dú)立總線(DIB)(DIB)結(jié)構(gòu)結(jié)構(gòu)轉(zhuǎn)上頁282022-7-4三、三、P CPUP CPU的動(dòng)態(tài)執(zhí)行技術(shù)的動(dòng)態(tài)執(zhí)行技術(shù)1 1、多路分支預(yù)測技術(shù)、多路分支預(yù)測技術(shù) 基本原理基本原理( (回顧回顧) ): * *指令預(yù)取時(shí)指令預(yù)取時(shí)用指令地址查用指令地址查BTBBTB命中時(shí),采用命中時(shí),采用動(dòng)態(tài)預(yù)動(dòng)態(tài)預(yù)測法測法預(yù)取后繼指令;預(yù)取后繼指令; * *指令譯碼時(shí)指令譯碼時(shí)對對BTBBTB不
42、命中的轉(zhuǎn)移指令,采用不命中的轉(zhuǎn)移指令,采用靜態(tài)預(yù)靜態(tài)預(yù)測法測法( (同時(shí)在同時(shí)在BTBBTB中建立新行中建立新行) )預(yù)取后繼指令;預(yù)取后繼指令; * *指令執(zhí)行完成時(shí)指令執(zhí)行完成時(shí)更新轉(zhuǎn)移指令的轉(zhuǎn)移歷史,更新轉(zhuǎn)移指令的轉(zhuǎn)移歷史, 誤預(yù)測時(shí)需進(jìn)行相應(yīng)處理。誤預(yù)測時(shí)需進(jìn)行相應(yīng)處理。 即允許多個(gè)分支指令即允許多個(gè)分支指令( (轉(zhuǎn)移指令轉(zhuǎn)移指令) )的預(yù)測指令流在的預(yù)測指令流在CPUCPU中執(zhí)中執(zhí)行,是行,是PentiumPentium分支預(yù)測技術(shù)的發(fā)展。分支預(yù)測技術(shù)的發(fā)展。轉(zhuǎn)25頁(3點(diǎn))轉(zhuǎn)22頁(預(yù)測過程)292022-7-42 2、數(shù)據(jù)流分析技術(shù)、數(shù)據(jù)流分析技術(shù)亂序執(zhí)行技術(shù)亂序執(zhí)行技術(shù)(1)(
43、1)亂序執(zhí)行思想亂序執(zhí)行思想取指取指流水線例流水線例: :譯碼譯碼取數(shù)取數(shù)執(zhí)行執(zhí)行寫回寫回 亂序執(zhí)行思想:亂序執(zhí)行思想:用用指令窗口指令窗口按序保存按序保存多條指令;多條指令; 優(yōu)先執(zhí)行優(yōu)先執(zhí)行操作數(shù)就緒的指令操作數(shù)就緒的指令( (數(shù)據(jù)流技術(shù)數(shù)據(jù)流技術(shù)) )CacheCache或主存或主存ALUsALUs( (一條一條I)I)譯碼器譯碼器( (一條一條I)I)寄存器組寄存器組按序按序取指部件取指部件取數(shù)部件取數(shù)部件存數(shù)存數(shù)部件部件PCPC按序按序指緩指緩( (多條多條I)I)按序流水按序流水過程過程: :CacheCache或主存或主存ALUsALUs( (一條一條I)I)譯碼器譯碼器( (一
44、條一條I)I)寄存器組寄存器組按序按序取指部件取指部件取數(shù)取數(shù)部件部件存數(shù)部件存數(shù)部件PCPC亂序亂序指令緩指令緩( (多條多條I)I)指令窗口指令窗口( (多條多條I)I)取數(shù)緩取數(shù)緩( (多個(gè)多個(gè)D)D)存數(shù)緩存數(shù)緩( (多個(gè)多個(gè)D)D)轉(zhuǎn)4頁(PC及指令格式)回下頁302022-7-4(2)(2)分布式動(dòng)態(tài)調(diào)度技術(shù)分布式動(dòng)態(tài)調(diào)度技術(shù)(Tomasulo(Tomasulo算法算法) ) 核心是用核心是用寄存器重命名方法寄存器重命名方法解決解決RAWRAW、WARWAR、WAWWAW相關(guān)。相關(guān)。 分布式分布式動(dòng)態(tài)調(diào)度思想:動(dòng)態(tài)調(diào)度思想:-即調(diào)度機(jī)制即調(diào)度機(jī)制分散分散在各部件中在各部件中 指令指
45、令放入放入保留站保留站RSRS、指令數(shù)據(jù)需求指令數(shù)據(jù)需求放入放入相應(yīng)部件相應(yīng)部件; 指令間數(shù)據(jù)關(guān)系指令間數(shù)據(jù)關(guān)系部件間關(guān)系部件間關(guān)系 各部件各部件獨(dú)立控制獨(dú)立控制數(shù)據(jù)輸入數(shù)據(jù)輸入/ /輸出輸出( (數(shù)據(jù)就緒時(shí)數(shù)據(jù)就緒時(shí)) )。轉(zhuǎn)上頁回下頁回35頁CacheCache或主存或主存控制控制ALUsALUs( (一條一條I)I)指令緩沖器指令緩沖器( (多條多條I)I)譯碼器譯碼器( (一條一條I)I)保留站保留站RSRS( (多條多條I)I)存數(shù)緩存數(shù)緩沖器沖器SDBSDB寄存器組寄存器組FLRFLR( (按序按序) )( (按序按序) )( (亂序亂序) )取指部件取指部件控制控制控制控制控制控
46、制取數(shù)緩取數(shù)緩沖器沖器FLBFLB取數(shù)部件取數(shù)部件存數(shù)部件存數(shù)部件源地址源地址目的目的地址地址PCPC312022-7-4 分布式動(dòng)態(tài)調(diào)度分布式動(dòng)態(tài)調(diào)度CPUCPU基本結(jié)構(gòu)圖:基本結(jié)構(gòu)圖:轉(zhuǎn)上頁回下頁加法器加法器乘乘/ /除法器除法器A1A1A2A2A3A3保留站保留站M1M1M2M2譯碼器譯碼器站號站號011001100010001000010001取指部件取指部件BIU(CacheBIU(Cache或主存或主存) )站號站號101010101011101111001100站號站號1000100010011001站號站號 源源1 1值值 站號站號 源源2 2值值 控制控制站號站號 源源1 1
47、值值 站號站號 源源2 2值值 控制控制 地址地址 控制控制取數(shù)緩沖取數(shù)緩沖器器FLBFLB控制控制 忙位忙位 站號站號 地址地址 數(shù)據(jù)數(shù)據(jù)存數(shù)緩沖器存數(shù)緩沖器SDBSDB指令隊(duì)列指令隊(duì)列公共數(shù)據(jù)總線公共數(shù)據(jù)總線CDBCDBF7F7F0F0忙位忙位 站號站號 數(shù)據(jù)數(shù)據(jù)寄存器寄存器FLRFLRFLRFLR總線總線取數(shù)部件取數(shù)部件取數(shù)部件取數(shù)部件注:采用注:采用分布式保留站分布式保留站便于減少保留站便于減少保留站-ALU-ALU的延遲的延遲回33頁 回34頁322022-7-4 * *指令數(shù)據(jù)關(guān)系指令數(shù)據(jù)關(guān)系部件關(guān)系的實(shí)現(xiàn)部件關(guān)系的實(shí)現(xiàn) 數(shù)據(jù)產(chǎn)生部件數(shù)據(jù)產(chǎn)生部件(RS/FLB)(RS/FLB):標(biāo)
48、有標(biāo)有站號站號( (指示數(shù)據(jù)所在位置指示數(shù)據(jù)所在位置) ), 數(shù)據(jù)接收數(shù)據(jù)接收/ /存儲(chǔ)部件存儲(chǔ)部件(RS/SDB/FLR)(RS/SDB/FLR):設(shè)有設(shè)有站號項(xiàng)站號項(xiàng)及及忙位忙位. . 注:注:站號項(xiàng)站號項(xiàng)指示所接收數(shù)據(jù)的對應(yīng)數(shù)據(jù)產(chǎn)生部件指示所接收數(shù)據(jù)的對應(yīng)數(shù)據(jù)產(chǎn)生部件 忙忙 位位=1=1時(shí),數(shù)據(jù)項(xiàng)無效時(shí),數(shù)據(jù)項(xiàng)無效( (尚未接收尚未接收 前趨指令未完成前趨指令未完成) =0=0時(shí),數(shù)據(jù)項(xiàng)可用時(shí),數(shù)據(jù)項(xiàng)可用( (已接收已接收 從從站號項(xiàng)站號項(xiàng)部件處部件處) * *當(dāng)前指令譯碼時(shí)的控制器動(dòng)作當(dāng)前指令譯碼時(shí)的控制器動(dòng)作 指令操作指令操作:在在RSRS中占用中占用一行一行( (數(shù)據(jù)就緒時(shí)送數(shù)據(jù)就
49、緒時(shí)送ALU)ALU); 源操作數(shù)源操作數(shù):將相應(yīng)部件的將相應(yīng)部件的數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)放入放入RSRS; 如如對應(yīng)對應(yīng)REGREG忙位忙位=0=0時(shí)時(shí),指令所在,指令所在RSRS行源行源1 1值值對應(yīng)對應(yīng)REGREG數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng) 對應(yīng)對應(yīng)REGREG忙位忙位=1=1時(shí)時(shí),產(chǎn)生了,產(chǎn)生了RAWRAW相關(guān)相關(guān)轉(zhuǎn)上頁 目的操作數(shù)目的操作數(shù):設(shè)置相應(yīng)接收部件設(shè)置相應(yīng)接收部件的的站號項(xiàng)站號項(xiàng)及及忙位忙位。 如如對應(yīng)對應(yīng)REGREG忙位忙位=0=0時(shí)時(shí),站號項(xiàng)站號項(xiàng)指令所在指令所在RSRS站號、站號、忙位忙位1 1 對應(yīng)對應(yīng)REGREG忙位忙位=1=1時(shí)時(shí),產(chǎn)生了,產(chǎn)生了WAWWAW相關(guān)相關(guān)轉(zhuǎn)19頁 轉(zhuǎn)20頁回
50、下頁332022-7-4 RAWRAW、WARWAR、WAWWAW相關(guān)的檢測及調(diào)度準(zhǔn)備:相關(guān)的檢測及調(diào)度準(zhǔn)備: * *RAWRAW相關(guān)的檢測及調(diào)度準(zhǔn)備相關(guān)的檢測及調(diào)度準(zhǔn)備( (當(dāng)前指令當(dāng)前指令) )譯碼時(shí)譯碼時(shí) 相關(guān)存在條件相關(guān)存在條件指令源操作數(shù)指令源操作數(shù)對應(yīng)的對應(yīng)的REGREG忙位忙位=1=1時(shí)時(shí); 調(diào)度準(zhǔn)備調(diào)度準(zhǔn)備取取REGREG的站號項(xiàng)的站號項(xiàng)到到RSRS中;中; 直接直接取源頭數(shù)據(jù)取源頭數(shù)據(jù)( (REGREG重命名重命名) ) 控制器的動(dòng)作控制器的動(dòng)作 同時(shí)接收同時(shí)接收CDB(CDB(相關(guān)專用通路法相關(guān)專用通路法) ) * *WARWAR相關(guān)的檢測與消除相關(guān)的檢測與消除( (當(dāng)前指
51、令當(dāng)前指令) )譯碼時(shí)譯碼時(shí) 相關(guān)存在條件相關(guān)存在條件指令源操作數(shù)指令源操作數(shù)對應(yīng)的對應(yīng)的REGREG忙位忙位=0=0時(shí)時(shí); 調(diào)度準(zhǔn)備調(diào)度準(zhǔn)備取取REGREG的數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng)到到RSRS中;中; 亂序執(zhí)行亂序執(zhí)行不影響不影響當(dāng)前指令當(dāng)前指令( (WARWAR相關(guān)消除相關(guān)消除) ) * *WAWWAW相關(guān)的檢測與消除相關(guān)的檢測與消除譯碼時(shí)譯碼時(shí) 相關(guān)存在條件相關(guān)存在條件指令目的操作數(shù)指令目的操作數(shù)對應(yīng)的對應(yīng)的REGREG忙位忙位=1=1時(shí)時(shí); 調(diào)度準(zhǔn)備調(diào)度準(zhǔn)備REGREG的站號項(xiàng)的站號項(xiàng)指令對應(yīng)指令對應(yīng)RSRS站號站號( (忙位忙位已已=1)=1) REGREG只接收只接收最后指令的數(shù)據(jù)最后指令
52、的數(shù)據(jù)( (REGREG重命名重命名) )轉(zhuǎn)上頁轉(zhuǎn)31頁(圖)回下頁三角債中間者還借條三角債中間者還借條錢落袋為安錢落袋為安再借錢時(shí)作廢舊借條再借錢時(shí)作廢舊借條342022-7-4 動(dòng)態(tài)調(diào)度的實(shí)現(xiàn):動(dòng)態(tài)調(diào)度的實(shí)現(xiàn):-派遣次序即執(zhí)行次序派遣次序即執(zhí)行次序 * *亂序派遣實(shí)現(xiàn)亂序派遣實(shí)現(xiàn)RSRS使使操作數(shù)已就緒操作數(shù)已就緒的的指令被派遣指令被派遣; * *RAWRAW相關(guān)后推法實(shí)現(xiàn)相關(guān)后推法實(shí)現(xiàn)RSRS使使操作數(shù)未就緒操作數(shù)未就緒的的指令等待指令等待。F1F1站號項(xiàng)站號項(xiàng)00010001( (等待接收等待接收 訪存有延遲訪存有延遲FLB1FLB1的數(shù)據(jù)的數(shù)據(jù)) )F1F1忙位項(xiàng)忙位項(xiàng)1 1( (操
53、作未完成、操作未完成、數(shù)據(jù)不可用數(shù)據(jù)不可用) )M1M1源源1 1站號項(xiàng)站號項(xiàng)00010001( (直接接收直接接收FLB1FLB1,REGREG重命名重命名; 用用CDBCDB同時(shí)接收同時(shí)接收,相關(guān)專用通路法相關(guān)專用通路法) )M1M1源源2 2站號項(xiàng)站號項(xiàng)00100010( (等待接收等待接收FLB2FLB2的數(shù)據(jù)的數(shù)據(jù)) )M2M2源源1 1值項(xiàng)值項(xiàng)F2F2數(shù)據(jù)項(xiàng)、源數(shù)據(jù)項(xiàng)、源2 2值項(xiàng)值項(xiàng)F3F3數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)F4F4站號項(xiàng)站號項(xiàng)10011001(M2(M2站號,接收站號,接收M2M2結(jié)果結(jié)果) )、F4F4忙位項(xiàng)忙位項(xiàng)1 1I1I1:F1(FLB1):F1(FLB1)I2I2:F1(F
54、1):F1(F1)* *(FLB2)(FLB2)I3:F4(F2)I3:F4(F2)* *(F3)(F3) 指令序列指令序列 譯碼時(shí)的控制器動(dòng)作譯碼時(shí)的控制器動(dòng)作( (調(diào)度準(zhǔn)備調(diào)度準(zhǔn)備) )F1F1站號項(xiàng)站號項(xiàng)10001000(M1(M1站號,站號,只接收只接收M1M1結(jié)果,結(jié)果,REGREG重命名重命名) )F1F1忙位項(xiàng)忙位項(xiàng)1 1( (操作未完成、操作未完成、數(shù)據(jù)不可用數(shù)據(jù)不可用) )RSRS的調(diào)度結(jié)果:的調(diào)度結(jié)果:M2(I3)M2(I3)先于先于M1(I2)M1(I2)執(zhí)行執(zhí)行( (亂序派遣亂序派遣 數(shù)據(jù)流分析數(shù)據(jù)流分析+后推法后推法) )轉(zhuǎn)31頁(圖)轉(zhuǎn)上頁352022-7-43 3
55、、推測執(zhí)行技術(shù)、推測執(zhí)行技術(shù) 目標(biāo):目標(biāo):支持支持多路分支預(yù)測技術(shù)多路分支預(yù)測技術(shù)及及數(shù)據(jù)流分析技術(shù)數(shù)據(jù)流分析技術(shù)。 思想:思想:允許允許用預(yù)測方法取用預(yù)測方法取指令、并允許指令、并允許亂序執(zhí)行亂序執(zhí)行; 指令必須指令必須按序確認(rèn)按序確認(rèn)后再后再寫結(jié)果寫結(jié)果。 實(shí)現(xiàn):實(shí)現(xiàn):用用ROBROB作指令窗口,實(shí)現(xiàn)作指令窗口,實(shí)現(xiàn)動(dòng)態(tài)調(diào)度動(dòng)態(tài)調(diào)度及及暫存結(jié)果暫存結(jié)果; 用用“確認(rèn)確認(rèn)”段段實(shí)現(xiàn)實(shí)現(xiàn)誤預(yù)測處理誤預(yù)測處理或或傳遞結(jié)果傳遞結(jié)果。轉(zhuǎn)30頁回下頁回37頁ALUs(ALUs(一條一條I)I)指令緩沖指令緩沖器器( (多條多條I)I)譯碼器譯碼器( (一條一條I)I)保留站保留站RS(RS(多條多條I
56、)I)寄存器組寄存器組FLRFLR按序按序取指部件取指部件取數(shù)部件取數(shù)部件存數(shù)部件存數(shù)部件分支分支預(yù)測預(yù)測PCPC按序按序亂序亂序亂序亂序源地址源地址目的地址目的地址存數(shù)緩存數(shù)緩沖沖SDBSDB取數(shù)緩沖取數(shù)緩沖FLBFLB注:注:保留站保留站RSRS已已等價(jià)于等價(jià)于就緒指令隊(duì)列就緒指令隊(duì)列,為減少,為減少ROB-ALUROB-ALU間延遲而設(shè)置間延遲而設(shè)置 再定序再定序緩沖器緩沖器ROBROB ( (多條多條I)I)指令窗口指令窗口 確認(rèn)確認(rèn)( (一條一條I)I)亂序亂序按序按序行號行號臨時(shí)臨時(shí)FLRFLR362022-7-4 支持推測執(zhí)行的支持推測執(zhí)行的CPUCPU結(jié)構(gòu)及結(jié)構(gòu)及“確認(rèn)確認(rèn)”段
57、段:轉(zhuǎn)上頁回下頁回44頁轉(zhuǎn)26頁(P總圖)加法器加法器乘乘/ /除法器除法器源源1 1值值 源源2 2值值 控制控制 ROBROB項(xiàng)號項(xiàng)號 A1A1A2A2A3A3M1M1M2M2保留站保留站 控制控制 指令指令 源項(xiàng)號源項(xiàng)號 源地址源地址 源值源值 目的地址目的地址 目的值目的值F7F7F1F1F0F0 數(shù)據(jù)數(shù)據(jù)寄存器寄存器FLRFLRBIU(CacheBIU(Cache或主存或主存) )譯碼器譯碼器指令隊(duì)列指令隊(duì)列源源1 1值值 源源2 2值值 控制控制 ROBROB項(xiàng)號項(xiàng)號 項(xiàng)號項(xiàng)號01014040公共數(shù)據(jù)總線公共數(shù)據(jù)總線CDBCDB取指部件取指部件取數(shù)部件取數(shù)部件存數(shù)部件存數(shù)部件再定序
58、緩沖器再定序緩沖器ROBROB確認(rèn)確認(rèn)( (按序按序 行行 ) )分支預(yù)測分支預(yù)測注:指令確認(rèn)為正確時(shí)注:指令確認(rèn)為正確時(shí)即順序型指令或分支預(yù)測正確,即順序型指令或分支預(yù)測正確,結(jié)果寫入結(jié)果寫入FLRFLR或或MEMMEM 指令確認(rèn)為錯(cuò)誤時(shí)指令確認(rèn)為錯(cuò)誤時(shí)即分支預(yù)測錯(cuò)誤,即分支預(yù)測錯(cuò)誤,清除清除ROBROB中所有后繼指令中所有后繼指令錯(cuò)誤時(shí)錯(cuò)誤時(shí)372022-7-4四、四、P CPUP CPU的超標(biāo)量流水技術(shù)的超標(biāo)量流水技術(shù) 超標(biāo)量流水線結(jié)構(gòu):超標(biāo)量流水線結(jié)構(gòu):3 3條條獨(dú)立的獨(dú)立的1212級級標(biāo)量流水線。標(biāo)量流水線。總線接口單元總線接口單元(BIU)(BIU)L1L1 I-Cache 16K
59、I-Cache 16K L1L1 D-CacheD-Cache 16K16K預(yù)取流式緩沖器預(yù)取流式緩沖器指令長度譯碼器指令長度譯碼器譯碼器對齊段譯碼器對齊段譯碼后指令隊(duì)列譯碼后指令隊(duì)列RAT/分配器分配器,即微操作緩沖池,即微操作緩沖池 端口端口4 4端口端口3 3端口端口2 2 端口端口1 1 端口端口0 0存儲(chǔ)數(shù)據(jù)執(zhí)行單元存儲(chǔ)數(shù)據(jù)執(zhí)行單元存儲(chǔ)地址執(zhí)行單元存儲(chǔ)地址執(zhí)行單元裝入執(zhí)行單元裝入執(zhí)行單元L2 CacheL2 Cache微指令序微指令序列器列器MISMIS靜態(tài)轉(zhuǎn)移靜態(tài)轉(zhuǎn)移預(yù)測預(yù)測存儲(chǔ)順序緩沖器存儲(chǔ)順序緩沖器(MOB)(MOB)譯碼譯碼 譯碼譯碼 譯碼譯碼器器0 0 器器1 1 器器2
60、2DISDISIFU1IFU1IFU2IFU2DEC1DEC1DEC2DEC2DEC3DEC3RATRATROBROBIAIA寄存器組寄存器組RETRETWBWB內(nèi)部公共總線內(nèi)部公共總線CDBCDBEXEX前端總線前端總線后端總線后端總線主存主存預(yù)測錯(cuò)誤預(yù)測錯(cuò)誤簡單簡單FPUFPU 復(fù)雜復(fù)雜FPUFPU復(fù)雜復(fù)雜IEUIEUMMXMMX乘法器乘法器MMX ALUMMX ALU簡單簡單IEUIEU和和JEUJEUMMXMMX ALUALU誤預(yù)測誤預(yù)測Next IPNext IP返回堆棧返回堆棧緩沖器緩沖器MMXMMX移位器移位器轉(zhuǎn)25頁轉(zhuǎn)上頁轉(zhuǎn)35頁 轉(zhuǎn)26頁回41頁回43頁回67頁382022-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 異地書店買賣合同(2篇)
- 高端鈦鍋:烹飪藝術(shù)革新科技與健康的融合 頭豹詞條報(bào)告系列
- 2024年中級經(jīng)濟(jì)師考試題庫及答案(網(wǎng)校專用) (一)
- 2025年度智能門窗定制服務(wù)合同4篇
- 2024年中級經(jīng)濟(jì)師考試題庫【考試直接用】
- 遮光式計(jì)數(shù)器課程設(shè)計(jì)
- 雨水泵站 課程設(shè)計(jì)
- 財(cái)商創(chuàng)業(yè)課程設(shè)計(jì)與實(shí)施
- 二零二五版苗木種植基地安全生產(chǎn)合同樣本4篇
- 二零二五年度國際教育合作辦學(xué)合同4篇
- HPV檢測目的及最佳檢測方法說課材料
- 電機(jī)與拖動(dòng)(高職)全套教學(xué)課件
- 壓力管道安全泄壓
- 2023年合規(guī)部門工作總結(jié)
- 社區(qū)超市融資方案
- 廣東省珠海市香洲區(qū)2022-2023學(xué)年九年級上學(xué)期期末語文試題(含答案)
- 小兒急性呼吸衰竭護(hù)理查房課件
- 4.與食品經(jīng)營相適應(yīng)的主要設(shè)備設(shè)施布局操作流程等文件
- 《施工組織設(shè)計(jì)編制指南》正文
- CKA題庫及報(bào)名流程
- (完整word)軟件驗(yàn)收單
評論
0/150
提交評論