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

下載本文檔

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

文檔簡介

Intel現(xiàn)代CPU

結(jié)構(gòu)與技術(shù)東南大學(xué)計(jì)算機(jī)學(xué)院任國林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í)行過程

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

存儲器

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

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

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

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

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

指令執(zhí)行過程:由串行的IF、ID、OF、EX、WB階段組成轉(zhuǎn)上頁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頁62024/5/16二、計(jì)算機(jī)系統(tǒng)性能及影響因素1、計(jì)算機(jī)系統(tǒng)性能指標(biāo)

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

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

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

硬件因素:*指令系統(tǒng)—指令系統(tǒng)指令的數(shù)量及功能*CPU結(jié)構(gòu)—指令/程序的執(zhí)行效率(如步驟、CPIi)*存儲系統(tǒng)—MEM訪問的延遲與帶寬*部件組成—功能實(shí)現(xiàn)延遲(如主頻[1/TC])轉(zhuǎn)上頁回下頁時間進(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)上頁92024/5/16三、IntelCPU結(jié)構(gòu)與技術(shù)的發(fā)展概述(1)強(qiáng)化CPU部件

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

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

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

增設(shè)快表提高地址變換速度?;叵马摮绦颍贝a段數(shù)據(jù)段其他段0X…

0Y…

0Z…

……

0B…

主存…

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

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

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

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

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

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

開發(fā)指令級并行性:有VLIW、超標(biāo)量、SIMD等技術(shù);2、指令級結(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)上頁回下頁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ù):流水指令可處理多個數(shù)據(jù);轉(zhuǎn)上頁轉(zhuǎn)12頁(單流水線)152024/5/16

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

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

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

0L1CacheL2CacheBIUCore

1L1CacheL2CacheBIUDualCoreCPU(如PentiumD800)Core

0L1CacheL2CacheBIUCore

1L1CacheCore2DuoCPU(如Core2DuoE6300)

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

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

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

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

處理方法:有后推法、相關(guān)專用通路法、異步流動法3種回下頁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頁123456789I1IFIDEXMEMWBI2IFIDIDEXMEMWBI3IFIFIDEXMEMI拍①后推法—正常等待,直到相關(guān)消除IFIDEXMEMWB流水線控制器××√√√202024/5/16轉(zhuǎn)上頁(2)先讀后寫(WAR)及寫-寫(WAW)相關(guān)及處理

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

處理方法:動態(tài)調(diào)度方法—即存在RAW、WAR、WAW相關(guān)的指令等待,無相關(guān)指令先執(zhí)行,避免了WAR、WAW相關(guān)。*結(jié)構(gòu)需求—用指令窗口暫存的是已譯碼指令串,取指/譯碼(IF/ID)速度>執(zhí)行(EX)速度?;?2頁指令窗口(就緒指令先EX)③異步流動(亂序執(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ù)測(猜測)法;

預(yù)測測法:有靜態(tài)預(yù)測法、動態(tài)預(yù)測法兩種;*靜態(tài)預(yù)測—按指令類型或?qū)ぶ贩绞讲聹y轉(zhuǎn)移方向*動態(tài)預(yù)測—按分支指令執(zhí)行歷史猜測轉(zhuǎn)移方向*應(yī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ù)測法實(shí)現(xiàn)原理:*轉(zhuǎn)移歷史保存—用轉(zhuǎn)移目標(biāo)緩沖器BTB保存;*猜測實(shí)現(xiàn)—IF段或ID段預(yù)測方向,EX段更新轉(zhuǎn)移歷史;執(zhí)行段(EX)取指段(IF)不命中PC查BTB表(IAddr段)靜態(tài)預(yù)測(按IR內(nèi)容)更新轉(zhuǎn)移歷史(HI)命中預(yù)測不轉(zhuǎn)移預(yù)測轉(zhuǎn)移

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

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

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

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

確認(rèn)預(yù)測正確后才進(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總線并行

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

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

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

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

控制器陣列Cache總線BIU

主存MEM控制器陣列MEM總線

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

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

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

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

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

控制器陣列后端總線BIU

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

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

即允許多個分支指令(轉(zhuǎn)移指令)的預(yù)測指令流在CPU中執(zhí)行,是Pentium分支預(yù)測技術(shù)的發(fā)展。轉(zhuǎn)25頁(3點(diǎn))轉(zhuǎn)22頁(預(yù)測過程)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ù)緩(多個D)存數(shù)緩(多個D)轉(zhuǎn)4頁(PC及指令格式)回下頁302024/5/16(2)分布式動態(tài)調(diào)度技術(shù)(Tomasulo算法)

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

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

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

站號

源2值

控制站號源1值

站號

源2值

控制

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

指令序列

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

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

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

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

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

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

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

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

源地址

源值

目的地址

目的值F7…F1F0

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

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

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

I-Cache16K

L1

D-Cache

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

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

端口1保留站(RS)

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

ALU誤預(yù)測NextIP返回堆棧緩沖器MMX移位器轉(zhuǎn)25頁轉(zhuǎn)上頁轉(zhuǎn)35頁轉(zhuǎn)26頁回41頁回43頁回67頁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頁回41頁回42頁回43頁402024/5/16△追蹤C(jī)ache技術(shù)(ExecutionTraceCache)△超級流水線技術(shù)(HyperPipelinedTechnology)△高級動態(tài)執(zhí)行技術(shù)(AdvancedDynamicExecution)△高級傳輸緩存(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ù)測失敗時,需從L1I-Cache(保存x86指令)取指/譯碼,取指/譯碼開銷不可避免;

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

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

說明:①追蹤C(jī)ache的調(diào)度以行為單位;②流水線按追蹤C(jī)ache地址取uop(PⅢ按主存地址取)轉(zhuǎn)37頁(PⅢ流水圖)轉(zhuǎn)39頁(P4總圖)422024/5/16三、P4CPU的超級流水技術(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不命中或有空閑空間時注:x86譯碼器不工作時可不加電,節(jié)省能源轉(zhuǎn)39頁(P4總圖)432024/5/162、P4CPU流水線

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

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

追蹤C(jī)ache取:類似與PⅢ從I-Cache??;TraceBTB(512Entries)uopBufferTraceIPTraceCache6uop/2TcSubReturnAddressStackuCodeROM3uop/Tc類似于MIS類似于IP轉(zhuǎn)37頁轉(zhuǎn)39頁回下頁442024/5/16

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

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

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

流水線CPU結(jié)構(gòu)圖:回下頁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頁462024/5/16四、P4CPU的其他技術(shù)1、高級動態(tài)執(zhí)行技術(shù)

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

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

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

高級傳輸緩存(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ù):資源不沖突時,可同時運(yùn)行2個線程;

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

虛擬化(VT)技術(shù):通過硬件支持多個虛擬機(jī)實(shí)現(xiàn)。轉(zhuǎn)45頁轉(zhuǎn)15頁(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級)3路(20級)3路(31級)BTB級數(shù)1級2級參數(shù)0.5K行、2bit歷史位4K+512行、4bit歷史位數(shù)據(jù)流分析42行ROB、D-S對應(yīng)126行ROB、D-S分離推測執(zhí)行集中調(diào)度、4μop/Tc分布調(diào)度、6μop/Tc執(zhí)行端口2個Ex+3個Mem2個Ex+2個Mem擴(kuò)展指令集SSESSE2SSE3回下頁回52頁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)上頁502024/5/16第四部分多核CPU結(jié)構(gòu)與技術(shù)512024/5/16一、多雙核CPU的發(fā)展過程1、Intel多核CPU種類

提高程序級并行性: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(移動)Woodcrest(服務(wù)器)Nehalem

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

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

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

└→消亡得比P4還要快!

是兩個NetBrust架構(gòu)Prescott核心的P4CPU的松耦合。Core0L2CacheMemoryControllerAMDToledoSystemRequestInterfaceCrossbarSwitchHyperTransportTechnologyThreadThreadCore1L2CacheThreadThreadFSBBIUIntelPentiumDIntelPentiumEECore0L2CacheThreadThreadCore1L2CacheThreadThreadFSBBIUFSBBIUCore0L2CacheThreadThreadCore1L2CacheThreadThreadFSBBIU轉(zhuǎn)48頁(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真正意義的第一個雙核CPU!FSBBIUIntelCoreDualCore0L2CacheThreadThreadCore1ThreadThread

Yonah核心結(jié)構(gòu)與技術(shù)特征:(結(jié)構(gòu)圖見下頁)*超標(biāo)量流水線—3路、有效12級;*動態(tài)執(zhí)行技術(shù)—擴(kuò)充PⅢCPU相關(guān)部件容量;*微指令融合(Micro-opFusion)技術(shù)—可減少uop數(shù)量。轉(zhuǎn)下頁542024/5/16回上頁回56頁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)圖見下頁;CoreDuoCore2Duo超標(biāo)量流水3路、有效12級4路、有效14級分支預(yù)測動態(tài)動態(tài)+循環(huán)流+間接數(shù)據(jù)流分析80項(xiàng)ROB,24行RS96項(xiàng)ROB,32行RS保留站端口2個EX+3個MEM3個EX+3個MEML1與CPU寬度I-128bit,D-64bitI-160bit,D-128bitL2Cache2MB,8路4MB,16路

技術(shù)特征:有高級智能高速緩存、智能內(nèi)存訪問、寬位動態(tài)執(zhí)行、高級數(shù)字媒體增強(qiáng)、智能功率能力5大技術(shù)。轉(zhuǎn)下頁562024/5/16回上頁轉(zhuǎn)54頁回下頁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頁回64頁572024/5/162、高級智能高速緩存技術(shù)(AdvancedSmartCache)

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

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

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

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

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

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

內(nèi)存消歧算法:--提高預(yù)取效率的一種方法*算法核心—允許預(yù)取Store指令后的數(shù)據(jù);時間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

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

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

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

CPU內(nèi)部優(yōu)化uop控制,將多個uop合并為1個uop;(3)指令融合技術(shù)實(shí)現(xiàn)原理*譯碼—譯碼前先進(jìn)行檢測,適時合并指令/微操作;*部件—增加相關(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)上頁622024/5/16CoreDualCore2DualSSE運(yùn)算器數(shù)據(jù)寬度64bit128bit個數(shù)23內(nèi)部數(shù)據(jù)通道寬度64bit128bit128SIMD指令處理時間2個Tc1個Tc

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

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

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

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

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

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

IOMisc

IOCore2QuadC0L2$BIUC1C2L2$BIUC3回65頁642024/5/

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論