Intel現(xiàn)代CPU結(jié)構(gòu)與技術(shù)_第1頁(yè)
Intel現(xiàn)代CPU結(jié)構(gòu)與技術(shù)_第2頁(yè)
Intel現(xiàn)代CPU結(jié)構(gòu)與技術(shù)_第3頁(yè)
Intel現(xiàn)代CPU結(jié)構(gòu)與技術(shù)_第4頁(yè)
Intel現(xiàn)代CPU結(jié)構(gòu)與技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Intel現(xiàn)代CPU

結(jié)構(gòu)與技術(shù)東南大學(xué)計(jì)算機(jī)學(xué)院任國(guó)林Email:renguolin@22024/5/16講座內(nèi)容:☆CPU結(jié)構(gòu)與性能☆PⅢCPU結(jié)構(gòu)與技術(shù)☆P4CPU結(jié)構(gòu)與技術(shù)☆多核CPU結(jié)構(gòu)與技術(shù)32024/5/16第一部分CPU結(jié)構(gòu)與性能42024/5/16一、馮·諾依曼模型與8086CPU1、馮·諾依曼模型與程序執(zhí)行過程

馮·諾依曼模型核心:存儲(chǔ)程序原理②、程序控制流思想④取指階段譯碼執(zhí)行階段取指令(i)取數(shù)執(zhí)行寫結(jié)果PC當(dāng)前指令地址(i)IRALUID當(dāng)前指令內(nèi)容源操作數(shù)目的操作數(shù)

存儲(chǔ)器

①存儲(chǔ)器為按地址訪問的一維線性空間;

②指令和數(shù)據(jù)以同等地位存儲(chǔ)與同一存儲(chǔ)器中③指令組成操作碼源地址碼1源地址碼2目的地址碼取指令(j)取指階段④當(dāng)前指令結(jié)果產(chǎn)生下條指令地址,

指令執(zhí)行過程循環(huán)回下頁(yè)轉(zhuǎn)移型指令、且轉(zhuǎn)移時(shí)ALU1④下條指令地址(j)回22頁(yè)回29頁(yè)52024/5/162、8086CPU結(jié)構(gòu)

結(jié)構(gòu)特征:通用寄存器結(jié)構(gòu),由EU及BIU組成;

16位機(jī)器字長(zhǎng)、20位地址、實(shí)地址存儲(chǔ)管理

指令執(zhí)行過程:由串行的IF、ID、OF、EX、WB階段組成轉(zhuǎn)上頁(yè)ALU數(shù)據(jù)總線(16位)運(yùn)算鎖存器標(biāo)志寄存器譯碼與控制執(zhí)行單元EU123456總線控制邏輯指令隊(duì)列Q總線(8位)外部總線總線接口單元BIUCSDSESSSIP內(nèi)部暫存器數(shù)據(jù)總線8086:16位地址總線20位指令指針段寄存器AHALBHBLCHCLDHDLSPBPDISI通用寄存器AXBXCXDXALU∑轉(zhuǎn)9頁(yè)62024/5/16二、計(jì)算機(jī)系統(tǒng)性能及影響因素1、計(jì)算機(jī)系統(tǒng)性能指標(biāo)

響應(yīng)時(shí)間:指從任務(wù)輸入→結(jié)果輸出的總時(shí)間;即T響應(yīng)=TCPU+TIO,TCPU=IN×CPI×TC=IN×T指令,其中IN為程序指令數(shù),指令所需時(shí)鐘周期數(shù)CPI=(∑CPIi)/INTc111指令執(zhí)行步驟存數(shù)WB執(zhí)行EX2執(zhí)行EX1取數(shù)OF譯碼ID取指IF1…22222CPI1×TC1CPI2×TC

吞吐率:指單位時(shí)間內(nèi)可處理的任務(wù)個(gè)數(shù)。即吞吐率=n÷(∑TCPU),其中n為任務(wù)個(gè)數(shù)回下頁(yè)回12頁(yè)72024/5/16

軟件因素:*編譯程序—源程序→目標(biāo)程序的翻譯效率(如IN大小)*操作系統(tǒng)—軟硬件的管理效率(如多任務(wù)切換時(shí)間)2、影響計(jì)算機(jī)系統(tǒng)性能的因素

硬件因素:*指令系統(tǒng)—指令系統(tǒng)指令的數(shù)量及功能*CPU結(jié)構(gòu)—指令/程序的執(zhí)行效率(如步驟、CPIi)*存儲(chǔ)系統(tǒng)—MEM訪問的延遲與帶寬*部件組成—功能實(shí)現(xiàn)延遲(如主頻[1/TC])轉(zhuǎn)上頁(yè)回下頁(yè)時(shí)間進(jìn)程1進(jìn)程2操作系統(tǒng)硬件資源82024/5/163、提高計(jì)算機(jī)硬件系統(tǒng)性能的方法

提高性能的方法:更快的速度、并行工作方式;

硬件方面的優(yōu)化思路:*提高指令系統(tǒng)性能—增加新功能指令等*提高主頻—改進(jìn)器件、電路等技術(shù)*改進(jìn)結(jié)構(gòu)—提高CPI(CyclesperInstruction)

提高ILP(InstructionLevelParallel)*提高OS效率—增加便于OS工作的相應(yīng)硬件*提高訪存速度—選擇快速器件、改進(jìn)MEM結(jié)構(gòu)*提高I/O速度—采用I/O接口、改進(jìn)I/O方式等

馮諾依曼模型的性能瓶頸:CPU-MEM、指令串行執(zhí)行!☆結(jié)構(gòu)與技術(shù)是硬件性能提高的基本保證!

轉(zhuǎn)上頁(yè)92024/5/16三、IntelCPU結(jié)構(gòu)與技術(shù)的發(fā)展概述(1)強(qiáng)化CPU部件

優(yōu)化部件性能:增加CPU字長(zhǎng)、提高主頻、多總線通路;

增加指令功能:擴(kuò)展指令系統(tǒng)(需相應(yīng)增加硬件);1、操作級(jí)結(jié)構(gòu)與技術(shù)的發(fā)展內(nèi)部總線(多總線)控制器指令隊(duì)列總線接口單元BIU譯碼器寄存器組加法器浮點(diǎn)部件乘法器轉(zhuǎn)移部件16b→32b16b→32b外部總線轉(zhuǎn)5頁(yè)(單總線)102024/5/16(2)改進(jìn)存儲(chǔ)系統(tǒng)

采用虛擬存儲(chǔ)器:有效支持多任務(wù)OS(減輕程序員負(fù)擔(dān));

增設(shè)快表提高地址變換速度?;叵马?yè)程序1代碼段數(shù)據(jù)段其他段0X…

0Y…

0Z…

……

0B…

主存…

快表TLB(TranslationlooksideBuffer)0MOS的存儲(chǔ)管理表邏輯地址物理地址0C0ATLB為OS管理表的子集程序n代碼段數(shù)據(jù)段其他段主存中CPU中112024/5/16

增設(shè)Cache→多級(jí)Cache:利用程序訪存局部性規(guī)律,提高訪存速度(弱化CPU-MEM瓶頸)及性能-價(jià)格比(容量Cache<<容量MEM)。

改善系統(tǒng)總線性能:提高總線時(shí)鐘頻率、增加A/D寬度、多級(jí)總線等越靠近CPU速度越快←┘內(nèi)部總線(多總線)控制器指令隊(duì)列總線接口單元BIU譯碼器寄存器組加法器浮點(diǎn)部件乘法器轉(zhuǎn)移部件32b外部總線TLBL2CacheL1Cache轉(zhuǎn)上頁(yè)回17頁(yè)122024/5/16(3)改進(jìn)CPU結(jié)構(gòu)

開發(fā)操作級(jí)并行性:有流水線及超級(jí)流水線技術(shù);

流水線技術(shù):指令執(zhí)行各步驟重疊,減少程序執(zhí)行時(shí)間;

需解決問題:⑴結(jié)構(gòu)相關(guān)(資源使用沖突);⑵指令間的數(shù)據(jù)相關(guān)及控制相關(guān);⑶提高執(zhí)行部件EX利用率。轉(zhuǎn)6頁(yè)回下頁(yè)回14頁(yè)01234567普通流水線:ILP(1,1)TCPU=[5+(IN-1)]*TC13…z2段WBEX2EX1OFIDIF123…z說明:ILP(m,n)--m為同時(shí)啟動(dòng)的指令或操作,n為每個(gè)Tc啟動(dòng)次數(shù)。123…z012345段123456…z123456…z123456…z123…z123…z123456…z123456…zWBEX2EX1OFIDIFTCTC超級(jí)流水線:ILP(1,2)TCPU=[5+(IN-1)]*(TC/2)回17頁(yè)132024/5/16

開發(fā)指令級(jí)并行性:有VLIW、超標(biāo)量、SIMD等技術(shù);2、指令級(jí)結(jié)構(gòu)與技術(shù)的發(fā)展

VLIW技術(shù):流水指令包含多種操作,提高EX的利用率;

需解決問題(新增):目標(biāo)代碼效率(即編譯程序效率)。└→VLIW已基本不用指令中操作字段:LD/ST1LD/ST2FADDFMUL主存RF(寄存器堆)LD/ST1VLIW結(jié)構(gòu)示例:LD/ST2FADDFMUL01234567VLIW流水線:ILP(2,1)13…n2段WBEX2EX1OFIDIF123…n123…n123…n123…nTC1空空轉(zhuǎn)上頁(yè)回下頁(yè)142024/5/16TC01234567超標(biāo)量流水線:ILP(2,1)135…n-124空…n135…n-124空…n段WB2WB1EX2EX1OF2OF1ID2ID1IF2IF1135…n-124空…n135…n-124空…n135…n-124空…n01234567SIMD流水線:ILP(2,1)D11空…Dn1D21段WBEXOFIDIF123…n123…n123…n123…nTCD12D22空Dn2

需解決問題(新增):⑴數(shù)據(jù)存取寬度;⑵支持新數(shù)據(jù)類型。

需解決問題(新增):⑴多I、D并行存?。虎聘鼑?yán)重的數(shù)據(jù)相關(guān).

超標(biāo)量流水技術(shù):

多條指令并行流水;

SIMD流水技術(shù):流水指令可處理多個(gè)數(shù)據(jù);轉(zhuǎn)上頁(yè)轉(zhuǎn)12頁(yè)(單流水線)152024/5/16

開發(fā)程序級(jí)并行性:有多線程(MT)、超線程(HT)等技術(shù)

└→即同時(shí)多線程(SMT)ALUs+CUCachePCREGsPSW單線程(ST)CPU回下頁(yè)3、程序級(jí)結(jié)構(gòu)與技術(shù)的發(fā)展P1P2P3OSt單線程CPU…ALUs+CUCachePCREGsPSWPCREGsPSW多線程(MT)CPU…ALUs+CUCachePCREGsPSWPCREGsPSW超線程(HT)CPULogicalCPUPointer超線程CPU功能部件無使用沖突多線程CPUT切換減小回47頁(yè)回68頁(yè)162024/5/164、CPU級(jí)結(jié)構(gòu)與技術(shù)的發(fā)展

開發(fā)CPU級(jí)并行性:有多CPU、多核CPU等技術(shù);CoreL1CacheL2CacheBIUCoreL1CacheL2CacheBIUDualCPU(如DualXeon)Core

0L1CacheL2CacheBIUCore

1L1CacheL2CacheBIUDualCoreCPU(如PentiumD800)Core

0L1CacheL2CacheBIUCore

1L1CacheCore2DuoCPU(如Core2DuoE6300)

多核CPU與超線程CPU:*超線程CPU—多個(gè)邏輯CPU(要求資源使用不沖突);*多核CPU—多個(gè)物理CPU(資源使用不會(huì)沖突)。轉(zhuǎn)上頁(yè)172024/5/161、流水線的結(jié)構(gòu)相關(guān)處理

L1Cache采用哈佛結(jié)構(gòu):即I-Cache、D-Cache分離;轉(zhuǎn)12頁(yè)(結(jié)構(gòu)相關(guān))轉(zhuǎn)11頁(yè)(L1)四、流水線實(shí)現(xiàn)時(shí)的相關(guān)處理總線接口單元寄存器組ALUsL1I-CacheL1D-CacheL2Cache主存①②④控制器指令隊(duì)列譯碼器內(nèi)部總線(多總線)⑤③⑤③①取指②譯碼③取數(shù)④執(zhí)行⑤寫回指令流水線段⑤③回下頁(yè)*效果—避免了取指段與取數(shù)段/寫回段間的操作沖突,減輕了L1Cache與L2Cache間的訪問沖突概率.182024/5/16

增設(shè)指令預(yù)取緩沖器及數(shù)據(jù)存儲(chǔ)緩沖器:*指令預(yù)取緩沖器—進(jìn)一步減少了取指段與數(shù)據(jù)段L1級(jí)Cache不命中時(shí)的訪問沖突概率;*數(shù)據(jù)存儲(chǔ)緩沖器—實(shí)現(xiàn)“零等待寫”,避免了流水線中取數(shù)段與寫回段的操作沖突。零等待寫—寫無延遲,無取Cache操作時(shí)再寫轉(zhuǎn)上頁(yè)

L1Cache沖突處理:I-Cache的訪問優(yōu)先級(jí)>D-Cache。預(yù)取流式緩沖器總線接口單元寄存器組ALUs取數(shù)部件L1I-CacheL1D-Cache存儲(chǔ)順序緩沖器存數(shù)部件L2Cache主存①②④⑤控制器指令隊(duì)列譯碼器內(nèi)部總線⑤③⑤③③⑤③192024/5/16

處理方法:有后推法、相關(guān)專用通路法、異步流動(dòng)法3種回下頁(yè)2、流水線的數(shù)據(jù)相關(guān)處理123456I1:R1=R2+R3IFIDEXMEMWBI2:R4=R1*R5IFIDEXMEMWB指令拍讀R1寫R1(1)先寫后讀(RAW)相關(guān)及處理12345678I1IFIDEXMEMWBI2IFIDIDEXMEMWBI3IFIFIDEXMEMI拍②相關(guān)專用通路法—減少一拍等待IFIDEXMEMWB流水線控制器MUX相關(guān)專用通路回32頁(yè)123456789I1IFIDEXMEMWBI2IFIDIDEXMEMWBI3IFIFIDEXMEMI拍①后推法—正常等待,直到相關(guān)消除IFIDEXMEMWB流水線控制器××√√√202024/5/16轉(zhuǎn)上頁(yè)(2)先讀后寫(WAR)及寫-寫(WAW)相關(guān)及處理

WAR及WAW數(shù)據(jù)相關(guān)因采用異步流動(dòng)法而產(chǎn)生(見上圖)。產(chǎn)生WAR相關(guān)產(chǎn)生WAW相關(guān)

處理方法:動(dòng)態(tài)調(diào)度方法—即存在RAW、WAR、WAW相關(guān)的指令等待,無相關(guān)指令先執(zhí)行,避免了WAR、WAW相關(guān)。*結(jié)構(gòu)需求—用指令窗口暫存的是已譯碼指令串,取指/譯碼(IF/ID)速度>執(zhí)行(EX)速度?;?2頁(yè)指令窗口(就緒指令先EX)③異步流動(dòng)(亂序執(zhí)行)法—無相關(guān)指令先執(zhí)行,消除等待IFIDEXMEMWB流水線控制器順序進(jìn)入順序I1:R3=R1+R2I2:R4=R3+R5I3:R5=R1*R2I4:R4=R2+R6異步流出順序I1:R3=R1+R2I3:R5=R1*R2I4:R4=R2+R6I2:R4=R3+R5212024/5/16

處理方法:后推法、優(yōu)化延遲轉(zhuǎn)移法、預(yù)測(cè)(猜測(cè))法;

預(yù)測(cè)測(cè)法:有靜態(tài)預(yù)測(cè)法、動(dòng)態(tài)預(yù)測(cè)法兩種;*靜態(tài)預(yù)測(cè)—按指令類型或?qū)ぶ贩绞讲聹y(cè)轉(zhuǎn)移方向*動(dòng)態(tài)預(yù)測(cè)—按分支指令執(zhí)行歷史猜測(cè)轉(zhuǎn)移方向*應(yīng)用—有歷史的分支指令用動(dòng)態(tài)法,否則用靜態(tài)法3、流水線的控制相關(guān)處理1234567順序型I1:CMPR1,R2IFIDEXMEMWB轉(zhuǎn)移型I2:JNZTEST1IFIDEXMEMWB順序型Ix:???IF拍需要新PCPC←地址x指令注:轉(zhuǎn)移型指令只需要4拍即可完成指令(在MEM段寫PC)IFID

后推法:取指部件一直等待,直到相關(guān)消除(見上圖);222024/5/16

(分支)預(yù)測(cè)法實(shí)現(xiàn)原理:*轉(zhuǎn)移歷史保存—用轉(zhuǎn)移目標(biāo)緩沖器BTB保存;*猜測(cè)實(shí)現(xiàn)—IF段或ID段預(yù)測(cè)方向,EX段更新轉(zhuǎn)移歷史;執(zhí)行段(EX)取指段(IF)不命中PC查BTB表(IAddr段)靜態(tài)預(yù)測(cè)(按IR內(nèi)容)更新轉(zhuǎn)移歷史(HI)命中預(yù)測(cè)不轉(zhuǎn)移預(yù)測(cè)轉(zhuǎn)移

PC←(TAddr段)譯碼段(ID)誤預(yù)測(cè)處理(PC=預(yù)測(cè)的反方向地址)預(yù)測(cè)正確IF段猜錯(cuò)IF段猜對(duì)是轉(zhuǎn)移指令動(dòng)態(tài)預(yù)測(cè)(按HI段)PC←(PC)+1BTB中建新指令信息行行號(hào)轉(zhuǎn)移結(jié)果預(yù)測(cè)錯(cuò)誤0******

1aaxyee有效位(AV)轉(zhuǎn)移指令地址(IAddr)歷史位(HI)轉(zhuǎn)移目標(biāo)地址(TAddr)…

…BTB:大小固定回28頁(yè)轉(zhuǎn)4頁(yè)(PC)232024/5/16*預(yù)測(cè)算法—靜態(tài)預(yù)測(cè)算法(下表),動(dòng)態(tài)預(yù)測(cè)算法(下圖)相對(duì)PC尋址方式非相對(duì)PC尋址方式預(yù)測(cè)轉(zhuǎn)移轉(zhuǎn)移地址比PC小的指令CALL/RET類型指令預(yù)測(cè)不轉(zhuǎn)移轉(zhuǎn)移地址比PC大的指令非CALL/RET類型指令結(jié)果:不轉(zhuǎn)移歷史位:10預(yù)測(cè):轉(zhuǎn)移歷史位:11預(yù)測(cè):轉(zhuǎn)移歷史位:00預(yù)測(cè):不轉(zhuǎn)移歷史位:01預(yù)測(cè):不轉(zhuǎn)移結(jié)果:轉(zhuǎn)移結(jié)果:不轉(zhuǎn)移結(jié)果:轉(zhuǎn)移結(jié)果:轉(zhuǎn)移結(jié)果:不轉(zhuǎn)移結(jié)果:不轉(zhuǎn)移結(jié)果:轉(zhuǎn)移*預(yù)測(cè)法的后續(xù)處理—

①用后援寄存器保存可能被破壞的狀態(tài)(及數(shù)據(jù));②預(yù)測(cè)指令的執(zhí)行只完成到執(zhí)行段(EX)。

確認(rèn)預(yù)測(cè)正確后才進(jìn)行寫回段(WB)←┘242024/5/16第二部分PⅢCPU結(jié)構(gòu)與技術(shù)252024/5/16

結(jié)構(gòu)特征:*哈佛結(jié)構(gòu)—I-Cache、D-Cache分離(Pentium已有)*雙獨(dú)立總線(DIB)結(jié)構(gòu)—MEM總線與L2Cache總線并行

*動(dòng)態(tài)執(zhí)行技術(shù)—由多路分支預(yù)測(cè)、數(shù)據(jù)流分析、推測(cè)執(zhí)行3大技術(shù)組成

*超標(biāo)量流水結(jié)構(gòu)—3路超標(biāo)量、12級(jí)流水結(jié)構(gòu)轉(zhuǎn)下頁(yè)一、PⅢCPU結(jié)構(gòu)特征回28頁(yè)回37頁(yè)262024/5/16回上頁(yè)回37頁(yè)回39頁(yè)回44頁(yè)ITLBL1I-Cache預(yù)取Buffer/預(yù)譯碼指令預(yù)取單元譯碼器0uCodeROMuopBufferRAT/分配器再定序緩沖器ROB(40項(xiàng))保留站RSL2CacheDTLBL1D-CacheMOBLoadAddr復(fù)雜ALUFPUMMX

ALUMMX乘法BIU4uopRRF簡(jiǎn)單ALUJEUPort0MEM譯碼器1譯碼器2前端總線后端總線PⅢ(P6核心)內(nèi)部結(jié)構(gòu)圖1uop1uop3uop3uop3uop3uopPort1MMX

ALUMMX移位StoreAddrStoreDataPort4Port3Port264bit64bit64bit64bit回下頁(yè)回36頁(yè)272024/5/16CPUCoreL1I-CacheL1D-CacheL2CacheCache

控制器陣列Cache總線BIU

主存MEM控制器陣列MEM總線

Pentium的Cache結(jié)構(gòu):貫通式Cache(不命中時(shí)再訪問主存);TCPU訪存命中Cache=TMEM地址→Cache地址變換+TCache陣列

TCPU訪存不命中Cache=TMEM地址→Cache地址變換+TMEM陣列+TCache陣列

PⅢ的Cache結(jié)構(gòu):DIB結(jié)構(gòu)的Cache(BIU以2種頻率同時(shí)訪問)

TCPU訪存命中Cache=TMEM地址→Cache地址變換+TCache陣列

TCPU訪存不命中Cache=TMEM陣列CPUCoreL1I-CacheL1D-CacheL2CacheCache

控制器陣列后端總線BIU

主存MEM控制器陣列前端總線(MEM總線)Cache命中二、PⅢCPU的雙獨(dú)立總線(DIB)結(jié)構(gòu)轉(zhuǎn)上頁(yè)282024/5/16三、PⅢCPU的動(dòng)態(tài)執(zhí)行技術(shù)1、多路分支預(yù)測(cè)技術(shù)

基本原理(回顧):*指令預(yù)取時(shí)—用指令地址查BTB命中時(shí),采用動(dòng)態(tài)預(yù)測(cè)法預(yù)取后繼指令;*指令譯碼時(shí)—對(duì)BTB不命中的轉(zhuǎn)移指令,采用靜態(tài)預(yù)測(cè)法(同時(shí)在BTB中建立新行)預(yù)取后繼指令;*指令執(zhí)行完成時(shí)—更新轉(zhuǎn)移指令的轉(zhuǎn)移歷史,誤預(yù)測(cè)時(shí)需進(jìn)行相應(yīng)處理。

即允許多個(gè)分支指令(轉(zhuǎn)移指令)的預(yù)測(cè)指令流在CPU中執(zhí)行,是Pentium分支預(yù)測(cè)技術(shù)的發(fā)展。轉(zhuǎn)25頁(yè)(3點(diǎn))轉(zhuǎn)22頁(yè)(預(yù)測(cè)過程)292024/5/162、數(shù)據(jù)流分析技術(shù)—亂序執(zhí)行技術(shù)(1)亂序執(zhí)行思想取指流水線例:譯碼取數(shù)執(zhí)行寫回

亂序執(zhí)行思想:用指令窗口按序保存多條指令;

優(yōu)先執(zhí)行操作數(shù)就緒的指令(數(shù)據(jù)流技術(shù))Cache或主存ALUs(一條I)譯碼器(一條I)寄存器組按序取指部件取數(shù)部件存數(shù)部件PC按序指緩(多條I)按序流水過程:Cache或主存ALUs(一條I)譯碼器(一條I)寄存器組按序取指部件取數(shù)部件存數(shù)部件PC亂序指令緩(多條I)指令窗口(多條I)操作數(shù)就緒的指令取數(shù)緩(多個(gè)D)存數(shù)緩(多個(gè)D)轉(zhuǎn)4頁(yè)(PC及指令格式)回下頁(yè)302024/5/16(2)分布式動(dòng)態(tài)調(diào)度技術(shù)(Tomasulo算法)

核心是用寄存器重命名方法解決RAW、WAR、WAW相關(guān)。

分布式動(dòng)態(tài)調(diào)度思想:--即調(diào)度機(jī)制分散在各部件中①指令放入保留站RS、指令數(shù)據(jù)需求放入相應(yīng)部件;指令間數(shù)據(jù)關(guān)系→部件間關(guān)系②各部件獨(dú)立控制數(shù)據(jù)輸入/輸出(數(shù)據(jù)就緒時(shí))。轉(zhuǎn)上頁(yè)回下頁(yè)回35頁(yè)Cache或主存控制ALUs(一條I)指令緩沖器(多條I)譯碼器(一條I)保留站RS(多條I)存數(shù)緩沖器SDB寄存器組FLR(按序)(按序)(亂序)取指部件控制控制控制取數(shù)緩沖器FLB取數(shù)部件存數(shù)部件CDB源地址目的地址PC312024/5/16

分布式動(dòng)態(tài)調(diào)度CPU基本結(jié)構(gòu)圖:轉(zhuǎn)上頁(yè)回下頁(yè)加法器乘/除法器A1A2A3保留站M1M2譯碼器站號(hào)0110…00100001取指部件BIU(←→Cache或主存)站號(hào)101010111100站號(hào)10001001站號(hào)源1值

站號(hào)

源2值

控制站號(hào)源1值

站號(hào)

源2值

控制

地址控制取數(shù)緩沖器FLB控制忙位站號(hào)地址數(shù)據(jù)存數(shù)緩沖器SDB指令隊(duì)列公共數(shù)據(jù)總線CDBF7…F0忙位

站號(hào)數(shù)據(jù)寄存器FLRFLR總線取數(shù)部件取數(shù)部件注:采用分布式保留站便于減少保留站-ALU的延遲回33頁(yè)回34頁(yè)322024/5/16*指令數(shù)據(jù)關(guān)系→部件關(guān)系的實(shí)現(xiàn)—

數(shù)據(jù)產(chǎn)生部件(RS/FLB):標(biāo)有站號(hào)(指示數(shù)據(jù)所在位置),

數(shù)據(jù)接收/存儲(chǔ)部件(RS/SDB/FLR):設(shè)有站號(hào)項(xiàng)及忙位.

注:站號(hào)項(xiàng)—指示所接收數(shù)據(jù)的對(duì)應(yīng)數(shù)據(jù)產(chǎn)生部件忙位—=1時(shí),數(shù)據(jù)項(xiàng)無效(尚未接收[前趨指令未完成])

=0時(shí),數(shù)據(jù)項(xiàng)可用(已接收[從站號(hào)項(xiàng)部件處])*當(dāng)前指令譯碼時(shí)的控制器動(dòng)作—

指令操作:在RS中占用一行(數(shù)據(jù)就緒時(shí)送ALU);

源操作數(shù):將相應(yīng)部件的數(shù)據(jù)項(xiàng)放入RS;如對(duì)應(yīng)REG忙位=0時(shí),指令所在RS行源1值←對(duì)應(yīng)REG數(shù)據(jù)項(xiàng)

對(duì)應(yīng)REG忙位=1時(shí),產(chǎn)生了RAW相關(guān)轉(zhuǎn)上頁(yè)

目的操作數(shù):設(shè)置相應(yīng)接收部件的站號(hào)項(xiàng)及忙位。如對(duì)應(yīng)REG忙位=0時(shí),站號(hào)項(xiàng)←指令所在RS站號(hào)、忙位←1

對(duì)應(yīng)REG忙位=1時(shí),產(chǎn)生了WAW相關(guān)轉(zhuǎn)19頁(yè)轉(zhuǎn)20頁(yè)回下頁(yè)332024/5/16

RAW、WAR、WAW相關(guān)的檢測(cè)及調(diào)度準(zhǔn)備:

*RAW相關(guān)的檢測(cè)及調(diào)度準(zhǔn)備—(當(dāng)前指令)譯碼時(shí)相關(guān)存在條件—指令源操作數(shù)對(duì)應(yīng)的REG忙位=1時(shí);

調(diào)度準(zhǔn)備—取REG的站號(hào)項(xiàng)到RS中;↓└→直接取源頭數(shù)據(jù)(REG重命名)

控制器的動(dòng)作└→同時(shí)接收CDB(相關(guān)專用通路法)*WAR相關(guān)的檢測(cè)與消除—(當(dāng)前指令)譯碼時(shí)相關(guān)存在條件—指令源操作數(shù)對(duì)應(yīng)的REG忙位=0時(shí);調(diào)度準(zhǔn)備—取REG的數(shù)據(jù)項(xiàng)到RS中;└→亂序執(zhí)行不影響當(dāng)前指令(WAR相關(guān)消除)*WAW相關(guān)的檢測(cè)與消除—譯碼時(shí)相關(guān)存在條件—指令目的操作數(shù)對(duì)應(yīng)的REG忙位=1時(shí);調(diào)度準(zhǔn)備—REG的站號(hào)項(xiàng)←指令對(duì)應(yīng)RS站號(hào)(忙位已=1)

└→REG只接收最后指令的數(shù)據(jù)(REG重命名)轉(zhuǎn)上頁(yè)轉(zhuǎn)31頁(yè)(圖)回下頁(yè)三角債中間者還借條錢落袋為安再借錢時(shí)作廢舊借條342024/5/16

動(dòng)態(tài)調(diào)度的實(shí)現(xiàn):--派遣次序即執(zhí)行次序*亂序派遣實(shí)現(xiàn)—RS使操作數(shù)已就緒的指令被派遣;

*RAW相關(guān)后推法實(shí)現(xiàn)—RS使操作數(shù)未就緒的指令等待。F1站號(hào)項(xiàng)←0001(等待接收[訪存有延遲]FLB1的數(shù)據(jù))F1忙位項(xiàng)←1(操作未完成、數(shù)據(jù)不可用)M1源1站號(hào)項(xiàng)←0001(直接接收FLB1,REG重命名;用CDB同時(shí)接收,相關(guān)專用通路法)M1源2站號(hào)項(xiàng)←0010(等待接收FLB2的數(shù)據(jù))M2源1值項(xiàng)←F2數(shù)據(jù)項(xiàng)、源2值項(xiàng)←F3數(shù)據(jù)項(xiàng)F4站號(hào)項(xiàng)←1001(M2站號(hào),接收M2結(jié)果)、F4忙位項(xiàng)←1I1:F1←(FLB1)I2:F1←(F1)*(FLB2)I3:F4←(F2)*(F3)

指令序列

譯碼時(shí)的控制器動(dòng)作(調(diào)度準(zhǔn)備)F1站號(hào)項(xiàng)←1000(M1站號(hào),只接收M1結(jié)果,REG重命名)F1忙位項(xiàng)←1(操作未完成、數(shù)據(jù)不可用)RS的調(diào)度結(jié)果:M2(I3)先于M1(I2)執(zhí)行(亂序派遣[數(shù)據(jù)流分析]+后推法)轉(zhuǎn)31頁(yè)(圖)轉(zhuǎn)上頁(yè)352024/5/163、推測(cè)執(zhí)行技術(shù)

目標(biāo):支持多路分支預(yù)測(cè)技術(shù)及數(shù)據(jù)流分析技術(shù)。

思想:①允許用預(yù)測(cè)方法取指令、并允許亂序執(zhí)行;②指令必須按序確認(rèn)后再寫結(jié)果。

實(shí)現(xiàn):用ROB作指令窗口,實(shí)現(xiàn)動(dòng)態(tài)調(diào)度及暫存結(jié)果;用“確認(rèn)”段實(shí)現(xiàn)誤預(yù)測(cè)處理或傳遞結(jié)果。轉(zhuǎn)30頁(yè)回下頁(yè)回37頁(yè)ALUs(一條I)指令緩沖器(多條I)譯碼器(一條I)保留站RS(多條I)寄存器組FLR按序取指部件取數(shù)部件存數(shù)部件分支預(yù)測(cè)PC按序亂序亂序源地址目的地址存數(shù)緩沖SDB取數(shù)緩沖FLB注:保留站RS已等價(jià)于就緒指令隊(duì)列,為減少ROB-ALU間延遲而設(shè)置

再定序緩沖器ROB(多條I)[指令窗口]

操作數(shù)已就緒確認(rèn)(一條I)亂序按序按序行號(hào)程序次序臨時(shí)FLR362024/5/16

支持推測(cè)執(zhí)行的CPU結(jié)構(gòu)及“確認(rèn)”段:轉(zhuǎn)上頁(yè)回下頁(yè)回44頁(yè)轉(zhuǎn)26頁(yè)(PⅢ總圖)加法器乘/除法器源1值源2值控制ROB項(xiàng)號(hào)A1A2A3M1M2保留站

控制指令源項(xiàng)號(hào)

源地址

源值

目的地址

目的值F7…F1F0

數(shù)據(jù)寄存器FLRBIU(←→Cache或主存)譯碼器指令隊(duì)列源1值源2值控制ROB項(xiàng)號(hào)項(xiàng)號(hào)01…40公共數(shù)據(jù)總線CDB取指部件取數(shù)部件存數(shù)部件再定序緩沖器ROB確認(rèn)(按序[行])分支預(yù)測(cè)注:指令確認(rèn)為正確時(shí)—即順序型指令或分支預(yù)測(cè)正確,結(jié)果寫入FLR或MEM

指令確認(rèn)為錯(cuò)誤時(shí)—即分支預(yù)測(cè)錯(cuò)誤,清除ROB中所有后繼指令錯(cuò)誤時(shí)372024/5/16四、PⅢCPU的超標(biāo)量流水技術(shù)

超標(biāo)量流水線結(jié)構(gòu):3條獨(dú)立的12級(jí)標(biāo)量流水線??偩€接口單元(BIU)L1

I-Cache16K

L1

D-Cache

16K預(yù)取流式緩沖器指令長(zhǎng)度譯碼器譯碼器對(duì)齊段譯碼后指令隊(duì)列RAT/分配器

再定序緩沖器(ROB),即微操作緩沖池RR端口4端口3端口2

端口1保留站(RS)

端口0存儲(chǔ)數(shù)據(jù)執(zhí)行單元存儲(chǔ)地址執(zhí)行單元裝入執(zhí)行單元L2Cache微指令序列器MIS靜態(tài)轉(zhuǎn)移預(yù)測(cè)存儲(chǔ)順序緩沖器(MOB)譯碼譯碼譯碼器0器1器2DISIFU1IFU2DEC1DEC2DEC3RATROBIA寄存器組RETWB內(nèi)部公共總線CDBEX轉(zhuǎn)移目標(biāo)緩沖器前端總線后端總線主存預(yù)測(cè)錯(cuò)誤簡(jiǎn)單FPU復(fù)雜FPU復(fù)雜IEUMMX乘法器MMXALU簡(jiǎn)單IEU和JEUMMX

ALU誤預(yù)測(cè)NextIP返回堆棧緩沖器MMX移位器轉(zhuǎn)25頁(yè)轉(zhuǎn)上頁(yè)轉(zhuǎn)35頁(yè)轉(zhuǎn)26頁(yè)回41頁(yè)回43頁(yè)回67頁(yè)382024/5/16第三部分P4CPU結(jié)構(gòu)與技術(shù)392024/5/16一、P4CPU結(jié)構(gòu)特征

架構(gòu):Netbrust架構(gòu)(PⅢCPU為P6架構(gòu));

核心:Willamette→Northwood(Gallatin)→Prescott;1、P4CPU結(jié)構(gòu)特點(diǎn)L2CacheandControlL1D-CacheandD-TLBSchedulersIntegerTraceCacheRename/AllocuopQueuesBTBuCodeROM3DecoderBTB&I-TLBFloatingPoint3轉(zhuǎn)26頁(yè)回41頁(yè)回42頁(yè)回43頁(yè)402024/5/16△追蹤C(jī)ache技術(shù)(ExecutionTraceCache)△超級(jí)流水線技術(shù)(HyperPipelinedTechnology)△高級(jí)動(dòng)態(tài)執(zhí)行技術(shù)(AdvancedDynamicExecution)△高級(jí)傳輸緩存(AdvancedTransferCache)△高速執(zhí)行引擎(RapidExecutionEngine)△高速前端總線(FasterSystemBus)△SSE2指令集(StreamingSIMDExtensions2)△EM64T技術(shù)(ExtendedMemory64Technology)△超線程技術(shù)(HyperThreadingTechnology)△虛擬化技術(shù)(VirtualizationTechnology)2、P4CPU技術(shù)特點(diǎn)412024/5/16二、P4CPU的追蹤C(jī)ache技術(shù)

PⅢ流水線的弱點(diǎn)(P4的觀點(diǎn)):分支預(yù)測(cè)失敗時(shí),需從L1I-Cache(保存x86指令)取指/譯碼,取指/譯碼開銷不可避免;

P4流水線的方案:用追蹤C(jī)ache(保存已譯碼的uop)取代L1I-Cache,可部分避免分支預(yù)測(cè)失敗時(shí)的取指、譯碼開銷;

追蹤C(jī)ache結(jié)構(gòu):每行6個(gè)μop、8路組相聯(lián)。組行op1op2op3op4op5op6組0Line0cmpbrT1subbrT2movsub…Line7…Line0~7

說明:①追蹤C(jī)ache的調(diào)度以行為單位;②流水線按追蹤C(jī)ache地址取uop(PⅢ按主存地址取)轉(zhuǎn)37頁(yè)(PⅢ流水圖)轉(zhuǎn)39頁(yè)(P4總圖)422024/5/16三、P4CPU的超級(jí)流水技術(shù)1、P4CPU前端

P4前端組成:由x86指令的取指(含BTB)、譯碼、μop存入追蹤C(jī)ache組成(不作為流水線的段);└→P4流水線按追蹤C(jī)ache地址訪問并執(zhí)行uop

P4前端工作流程:L2Cache(8-way)指令預(yù)取及I-TLB前端BTB預(yù)取Bufferx86譯碼器追蹤C(jī)acheBufferTraceCache主存地址追蹤C(jī)ache地址8B/Tc1條x86指令/Tc4uop/Tc3uop/Tc6uop/行追蹤C(jī)ache不命中或有空閑空間時(shí)注:x86譯碼器不工作時(shí)可不加電,節(jié)省能源轉(zhuǎn)39頁(yè)(P4總圖)432024/5/162、P4CPU流水線

流水線段數(shù):20級(jí)(Prescott為31級(jí))、3路超標(biāo)量流水;1TCNextIP(TCBTB)23TCFetch45Drive6Allocate7Rename89Queus10Schedule111213Dispatch1415RegisterFile1617Execute18Flags19BranchCheck20Drive

特點(diǎn):優(yōu)點(diǎn)—深流水線,利于提高主頻及性能;缺點(diǎn)—段數(shù)越多,誤預(yù)測(cè)后果越嚴(yán)重!

追蹤C(jī)ache?。侯愃婆cPⅢ從I-Cache?。籘raceBTB(512Entries)uopBufferTraceIPTraceCache6uop/2TcSubReturnAddressStackuCodeROM3uop/Tc類似于MIS類似于IP轉(zhuǎn)37頁(yè)轉(zhuǎn)39頁(yè)回下頁(yè)442024/5/16

REG分配與重命名:ROB有126行、數(shù)據(jù)與指令狀態(tài)分開;

uop隊(duì)列與調(diào)度:分布式,隊(duì)列按序、端口亂序;轉(zhuǎn)36頁(yè)轉(zhuǎn)26頁(yè)轉(zhuǎn)上頁(yè)算術(shù)uop隊(duì)列Memuop隊(duì)列MEM調(diào)度器FastALU調(diào)度器通用調(diào)度器簡(jiǎn)單FP調(diào)度器競(jìng)爭(zhēng)端口Rename/AllocROB3uop/TcFastALU64bitFP

Move64bitFP/SSEFullALUPort0Port1取流水線存流水線MOBPort2Port3FastALU注:FastALU的速度為1/2Tc,即每個(gè)Tc執(zhí)行2個(gè)uop回46頁(yè)回68頁(yè)RATPⅢCPUROBdatastatusEAXEBP………42行…RRF一一對(duì)應(yīng)P4CPURFROBRetirementRATFront-endRATEAXEBP……datastatus………126行支持超線程靜態(tài)EAXEBP…452024/5/16

流水線CPU結(jié)構(gòu)圖:回下頁(yè)I-TLB/PrefetcherX86DecoderTraceCacheTraceCacheBTB(512Entries)μCodeROMRename/Alloc,ROBL2Cache(8-way)L1D-Cache(4-way)&D-TLBINT/FP的隊(duì)列及調(diào)度器、REG組FastALUFront-EndBTB(4KEntries)uopBuffer3uop/cycleMEM隊(duì)列、調(diào)度器取流水線存流水線FastALU64bitFPMove64bitFP/SSEFullALU128bitMOB256bit64bitPort0BIUPort1Port2Port3FSB回47頁(yè)462024/5/16四、P4CPU的其他技術(shù)1、高級(jí)動(dòng)態(tài)執(zhí)行技術(shù)

多路分支預(yù)測(cè)技術(shù)方面:*優(yōu)化—增加BTB容量及歷史位數(shù),改進(jìn)預(yù)測(cè)算法;*革新—兩級(jí)BTB(2個(gè)方向的指令可能均追蹤C(jī)ache中)。

數(shù)據(jù)流分析技術(shù)方面:*優(yōu)化—增加ROB容量(42→126行);*革新—數(shù)據(jù)、指令狀態(tài)分離(可減少Alloc段沖突及與REG/MEM間數(shù)據(jù)移動(dòng)概率)。

推測(cè)執(zhí)行技術(shù)方面:*革新—分布式調(diào)度及快速ALU調(diào)度,MEM操作流水化。轉(zhuǎn)上頁(yè)轉(zhuǎn)44頁(yè)472024/5/162、其他技術(shù)

高級(jí)傳輸緩存(ATC):L1D-Cache與L2Cache間總線寬度為256bit,TP4塊傳輸=2Tc(TPⅢ塊傳輸=8Tc);

高速執(zhí)行引擎:FastALU周期為1/2Tc,EX段≤6uop/Tc;

高速前端總線(FSB):利用“四倍速”(FSB400)技術(shù),100MHz的總線帶寬=64bit/8*100MHz*4=3.2GB/s(需雙通道+倍頻支持);

SSE2技術(shù):包含SSE功能,新增144條128位多媒體指令;

超線程(HT)技術(shù):資源不沖突時(shí),可同時(shí)運(yùn)行2個(gè)線程;

EM64T技術(shù):將IA32的8個(gè)REG擴(kuò)展為64位、新增8個(gè)64位REG,可兼容32位和64位操作、允許使用更大的主存空間;

虛擬化(VT)技術(shù):通過硬件支持多個(gè)虛擬機(jī)實(shí)現(xiàn)。轉(zhuǎn)45頁(yè)轉(zhuǎn)15頁(yè)(HT)482024/5/16PⅢ及三種核心P4CPU比較參數(shù)PⅢWillametteNorthwoodPrescott

CPU代表PⅢ733

P41.4P41.7P41.6AP43.06CP4EEP42.8EP4505P4670

制造工藝0.25μm

0.18μm

0.13μm

0.09μm

主頻≤1.4GHz

≤2GHz

≤3.06GHz

≤3.8GHz

核心電壓1.5V

1.75V

1.5V

1.25-1.5V

功耗(W)30758294超標(biāo)量3路(12級(jí))3路(20級(jí))3路(31級(jí))BTB級(jí)數(shù)1級(jí)2級(jí)參數(shù)0.5K行、2bit歷史位4K+512行、4bit歷史位數(shù)據(jù)流分析42行ROB、D-S對(duì)應(yīng)126行ROB、D-S分離推測(cè)執(zhí)行集中調(diào)度、4μop/Tc分布調(diào)度、6μop/Tc執(zhí)行端口2個(gè)Ex+3個(gè)Mem2個(gè)Ex+2個(gè)Mem擴(kuò)展指令集SSESSE2SSE3回下頁(yè)回52頁(yè)492024/5/16參數(shù)PⅢWillametteNorthwoodPrescott

L1Cache類型IDTDTDTD大小16KB16KB8Kuop8KB12Kuop8KB12Kuop16KB塊大小32B32B64B64B64B組相聯(lián)度4-way4-way8-way4-way8-way4-way8-way8-way與CPU寬度64位128bit128bit128bitL2Cache大小256KB256KB512KB1M、2M(6系列)塊大小32B64B組相聯(lián)度4-way8-way、寫回與L1寬度64bit64bit256bit64bit256bit64bit256bitL3Cache否否EE版--1M/2M否前端總線(MHz)133400400(A)、533(B)800(C)、≥800(EE)400、800HT技術(shù)否否是—C、EE版否—5x1/5x5/5x6EM64T技術(shù)否否

是—EE版是—5x1/5x6/6系列VT技術(shù)否否否是—6x2系列PⅢ及三種核心P4CPU比較(續(xù))轉(zhuǎn)上頁(yè)502024/5/16第四部分多核CPU結(jié)構(gòu)與技術(shù)512024/5/16一、多雙核CPU的發(fā)展過程1、Intel多核CPU種類

提高程序級(jí)并行性:MT

CPU→HT

CPU→雙CPU→雙核CPU→CoreL1

CacheL2

CacheBIUMT

CPU(如PⅢ)Log

CPUStateStateCoreL1

CacheL2

CacheBIUHT

CPU(如P4

EE)StateStateCoreL1

CacheL2

CacheBIUCoreL1

CacheL2

CacheBIU雙CPU(如DualXeon)Core

0L1

CacheL2

CacheBIUCore

1L1

CacheBIU雙核CPU(如Core2)

多核CPU架構(gòu)與核心:架構(gòu)NetBrustCoreCoreDualCore2DualCorei7核心SmithfieldPreslerYonahConroe(桌面)Merom(移動(dòng))Woodcrest(服務(wù)器)Nehalem

CPU例D800D900T2400E6700T5000DP5100920522024/5/162、NetBrust架構(gòu)雙核CPU

產(chǎn)生原因:是應(yīng)對(duì)AMD的Toledo雙核CPU的臨時(shí)產(chǎn)品;

存在問題:功耗、散熱、FSB沖突、L2Cache共享。

└→消亡得比P4還要快!

是兩個(gè)NetBrust架構(gòu)Prescott核心的P4CPU的松耦合。Core0L2CacheMemoryControllerAMDToledoSystemRequestInterfaceCrossbarSwitchHyperTransportTechnologyThreadThreadCore1L2CacheThreadThreadFSBBIUIntelPentiumDIntelPentiumEECore0L2CacheThreadThreadCore1L2CacheThreadThreadFSBBIUFSBBIUCore0L2CacheThreadThreadCore1L2CacheThreadThreadFSBBIU轉(zhuǎn)48頁(yè)(P4功耗)532024/5/163、Core架構(gòu)雙核CPU

Yonah核心:是PⅢ的Mobile架構(gòu)核心的發(fā)展,完全擺脫了NetBrust架構(gòu)(但用其優(yōu)秀技術(shù));*Mobile架構(gòu)—有Banias(迅弛)、Dothan等核心,功耗低、散熱性好CoreDual是Intel真正意義的第一個(gè)雙核CPU!FSBBIUIntelCoreDualCore0L2CacheThreadThreadCore1ThreadThread

Yonah核心結(jié)構(gòu)與技術(shù)特征:(結(jié)構(gòu)圖見下頁(yè))*超標(biāo)量流水線—3路、有效12級(jí);*動(dòng)態(tài)執(zhí)行技術(shù)—擴(kuò)充PⅢCPU相關(guān)部件容量;*微指令融合(Micro-opFusion)技術(shù)—可減少uop數(shù)量。轉(zhuǎn)下頁(yè)542024/5/16回上頁(yè)回56頁(yè)ITLBL1I-Cache(32KB、8路)預(yù)取Buffer/預(yù)譯碼指令預(yù)取單元譯碼器0uCodeROMuopBuffer(6行)RAT/分配器再定序緩沖器ROB(80項(xiàng))保留站RS(24行)共享的L2Cache(2MB、8路)DTLB(128行)L1D-Cache(32KB、8路)MOBLoadAddr32bitALU64bitFADD64bitSSEBIU4uopRRF32bitALU64bitFMULPort0MEM譯碼器1譯碼器21uop1uop3uop3uop3uop3uopPort164bitSSEStoreAddrStoreDataPort4Port3Port264bit64bit256bit128bitL1DYonah核心的Core結(jié)構(gòu)圖(是P6架構(gòu)的發(fā)展)552024/5/16二、Core2DualCPU結(jié)構(gòu)與技術(shù)1、Core2DualCPU結(jié)構(gòu)與技術(shù)特征

結(jié)構(gòu)及參數(shù):結(jié)構(gòu)圖見下頁(yè);CoreDuoCore2Duo超標(biāo)量流水3路、有效12級(jí)4路、有效14級(jí)分支預(yù)測(cè)動(dòng)態(tài)動(dòng)態(tài)+循環(huán)流+間接數(shù)據(jù)流分析80項(xiàng)ROB,24行RS96項(xiàng)ROB,32行RS保留站端口2個(gè)EX+3個(gè)MEM3個(gè)EX+3個(gè)MEML1與CPU寬度I-128bit,D-64bitI-160bit,D-128bitL2Cache2MB,8路4MB,16路

技術(shù)特征:有高級(jí)智能高速緩存、智能內(nèi)存訪問、寬位動(dòng)態(tài)執(zhí)行、高級(jí)數(shù)字媒體增強(qiáng)、智能功率能力5大技術(shù)。轉(zhuǎn)下頁(yè)562024/5/16回上頁(yè)轉(zhuǎn)54頁(yè)回下頁(yè)ITLB(128行)L1I-Cache(32KB、8路)預(yù)取Buffer/預(yù)譯碼指令預(yù)取單元譯碼器1uCodeROMuopBuffer(>7行)4uop譯碼器2譯碼器31uop1uop160bitConroe核心的Core結(jié)構(gòu)圖譯碼器01uopRAT/分配器再定序緩沖器ROB(96項(xiàng))保留站RS(32行)DTLB(256行)L1D-Cache(32KB、8路)MOBLoadAddr64bALU128bFADD128bSSERRF128bFMULPort04uop4uop4uop4uopPort2128bSSEStoreAddrStoreDataPort5Port4Port3128bit128bit256bit64bALU/BrALUShift128bSSEPort1共享的L2Cache(4MB、16路)BIUMEM回62頁(yè)回64頁(yè)572024/5/162、高級(jí)智能高速緩存技術(shù)(AdvancedSmartCache)

特點(diǎn):各Core可動(dòng)態(tài)支配L2Cache,可提高L2命中率;

減少FSB使用頻率(通信量);根據(jù)需要可關(guān)閉部分L2Cache,以降低功耗。

技術(shù)核心:每個(gè)Core可動(dòng)態(tài)使用共享的L2Cache;Core0不共享L2Cache(如PentiumD)MemoryCore1L1CacheL1CacheL2(0)L2(1)Core0共享L2Cache(如Core)MemoryCore1L1CacheL1Cache

L2SharedCache②競(jìng)爭(zhēng)嚴(yán)重①不允許訪問高級(jí)智能Cache技術(shù)轉(zhuǎn)上頁(yè)回62頁(yè)582024/5/163、智能內(nèi)存訪問技術(shù)(SmartMemoryAccess)

預(yù)取器設(shè)計(jì):*預(yù)取器個(gè)數(shù)—(2個(gè)L1-D+1個(gè)L1-I)×2核+2個(gè)L2=8個(gè);

技術(shù)核心:根據(jù)軟件需求,用預(yù)取器預(yù)取指令和數(shù)據(jù);*預(yù)取實(shí)現(xiàn)—借用Store端口預(yù)取(比Load優(yōu)先級(jí)低)?;叵马?yè)時(shí)間LoadA1Core0L1D-CacheLoadA2LoadA3LoadA4L2SharedCacheCore0L1D-CacheFetcher0Core0L2CacheFetcher正在執(zhí)行已譯碼(未執(zhí)行)內(nèi)存Core0指令串Fetcher0Buffer預(yù)取算法例:①A3對(duì)應(yīng)塊獨(dú)立于A2對(duì)應(yīng)塊;②A3對(duì)應(yīng)塊地址與i有較大偏移。①FetchedBuffer②塊i592024/5/16

內(nèi)存消歧算法:--提高預(yù)取效率的一種方法*算法核心—允許預(yù)取Store指令后的數(shù)據(jù);時(shí)間LoadXStoreZ不支持內(nèi)存消歧算法的MEM訪問(Store后續(xù)操作均不可預(yù)取)內(nèi)存LoadALoadZStoreBLoadCDataX

DataZDataA

DataB

DataC①②③④⑤⑥LoadX

MEM操作LoadXStoreZ支持內(nèi)存消歧算法的MEM訪問(與Store地址獨(dú)立均可預(yù)取)內(nèi)存LoadALoadZStoreBLoadCDataX

DataZDataA

DataB

DataC①④②⑤⑥③LoadX

⑦⑦時(shí)間MEM操作*需解決問題—不同Core/CPU預(yù)取Store后地址導(dǎo)致的不一致性問題[其他CPU的Store可能改變數(shù)據(jù)]。轉(zhuǎn)上頁(yè)602024/5/16(1)宏指令融合(Macro-Fusion)技術(shù)

CPU內(nèi)部增加新操作類型,將多條指令合并為1個(gè)操作;

特點(diǎn):更大解碼帶寬、更少空間占用、更低調(diào)度負(fù)載。4、寬位動(dòng)態(tài)執(zhí)行技術(shù)(WideDynamicExecution)回下頁(yè)宏指令(x86指令)序列incecxstore[mem3],ebxjnetargcmpeax,[mem2]loadeax,[mem1]ID0incecxstore[mem3],ebxjnetargcmpeax,[mem2]loadeax,[mem1]時(shí)間不支持宏指令融合技術(shù)的指令譯碼ID1ID2ID3宏指令(x86指令)序列時(shí)間支持宏指令融合技術(shù)的指令譯碼cmpjneeax,[mem2]incecxstore[mem3],ebxloadeax,[mem1]incecxstore[mem3],ebxjnetargcmpeax,[mem2]loadeax,[mem1]ID0ID1ID2ID3回67頁(yè)612024/5/16(2)微指令融合(Micro-OpFusion)技術(shù)

CPU內(nèi)部?jī)?yōu)化uop控制,將多個(gè)uop合并為1個(gè)uop;(3)指令融合技術(shù)實(shí)現(xiàn)原理*譯碼—譯碼前先進(jìn)行檢測(cè),適時(shí)合并指令/微操作;*部件—增加相關(guān)部件功能,使之適應(yīng)宏指令融合要求;*控制—優(yōu)化uop控制,使之適應(yīng)微指令融合要求。CISC(x86)ADD[mem],EAX不支持微操作融合的處理RISC(uop)MOVEBX,[mem]ADDEBX,EAXMOV[mem],EBX譯碼器ADDMEBX,[mem],EAXMOV[mem],EBX支持微操作融合的處理CISC(x86)ADD[mem],EAXRISC(uop)譯碼器轉(zhuǎn)上頁(yè)622024/5/16CoreDualCore2DualSSE運(yùn)算器數(shù)據(jù)寬度64bit128bit個(gè)數(shù)23內(nèi)部數(shù)據(jù)通道寬度64bit128bit128SIMD指令處理時(shí)間2個(gè)Tc1個(gè)Tc

特點(diǎn):①每個(gè)Tc最多可處理3條SIMD指令;└→CoreDual需要6個(gè)Tc②內(nèi)部寬數(shù)據(jù)通道為宏/微指令融合提供了條件。5、高級(jí)數(shù)字媒體增強(qiáng)技術(shù)(AdvancedDigitalMediaBoost)

技術(shù)核心:增加多媒體的處理能力及并行度;6、智能功率能力技術(shù)(IntelligentPowerCapability)

技術(shù)核心:邏輯控制機(jī)構(gòu)能獨(dú)立控制各執(zhí)行部件電源。轉(zhuǎn)56頁(yè)轉(zhuǎn)57頁(yè)632024/5/16三、Corei7CPU結(jié)構(gòu)與技術(shù)1、Corei7CPU結(jié)構(gòu)與技術(shù)特征

CPU總體結(jié)構(gòu):Nehalem架構(gòu),原生4核*CPU級(jí)技術(shù)特征—全新緩存設(shè)計(jì)(3級(jí)Cache),

整合內(nèi)存控制器(3通道IMC),

快速通道互連(1~n個(gè)QPI)MemoryMemoryMemoryIOHub(如北橋)IOHub(如其他CPU)QPI1QueueSharedL3Cache(8MB、包含式)QPI0MemoryController(IMC)Core0Core1Core2Core3Misc

IOMisc

IOCore2QuadC0L2$BIUC1C2L2$BIUC3回65頁(yè)642024/5/

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論