Intel现代CPU结构与技术_第1页
Intel现代CPU结构与技术_第2页
Intel现代CPU结构与技术_第3页
Intel现代CPU结构与技术_第4页
Intel现代CPU结构与技术_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Intel现代CPU

结构与技术东南大学计算机学院任国林Email:renguolin@22024/5/16讲座内容:☆CPU结构与性能☆PⅢCPU结构与技术☆P4CPU结构与技术☆多核CPU结构与技术32024/5/16第一部分CPU结构与性能42024/5/16一、冯·诺依曼模型与8086CPU1、冯·诺依曼模型与程序执行过程

冯·诺依曼模型核心:存储程序原理②、程序控制流思想④取指阶段译码执行阶段取指令(i)取数执行写结果PC当前指令地址(i)IRALUID当前指令内容源操作数目的操作数

存储器

①存储器为按地址访问的一维线性空间;

②指令和数据以同等地位存储与同一存储器中③指令组成操作码源地址码1源地址码2目的地址码取指令(j)取指阶段④当前指令结果产生下条指令地址,

指令执行过程循环回下页转移型指令、且转移时ALU1④下条指令地址(j)回22页回29页52024/5/162、8086CPU结构

结构特征:通用寄存器结构,由EU及BIU组成;

16位机器字长、20位地址、实地址存储管理

指令执行过程:由串行的IF、ID、OF、EX、WB阶段组成转上页ALU数据总线(16位)运算锁存器标志寄存器译码与控制执行单元EU123456总线控制逻辑指令队列Q总线(8位)外部总线总线接口单元BIUCSDSESSSIP内部暂存器数据总线8086:16位地址总线20位指令指针段寄存器AHALBHBLCHCLDHDLSPBPDISI通用寄存器AXBXCXDXALU∑转9页62024/5/16二、计算机系统性能及影响因素1、计算机系统性能指标

响应时间:指从任务输入→结果输出的总时间;即T响应=TCPU+TIO,TCPU=IN×CPI×TC=IN×T指令,其中IN为程序指令数,指令所需时钟周期数CPI=(∑CPIi)/INTc111指令执行步骤存数WB执行EX2执行EX1取数OF译码ID取指IF1…22222CPI1×TC1CPI2×TC

吞吐率:指单位时间内可处理的任务个数。即吞吐率=n÷(∑TCPU),其中n为任务个数回下页回12页72024/5/16

软件因素:*编译程序—源程序→目标程序的翻译效率(如IN大小)*操作系统—软硬件的管理效率(如多任务切换时间)2、影响计算机系统性能的因素

硬件因素:*指令系统—指令系统指令的数量及功能*CPU结构—指令/程序的执行效率(如步骤、CPIi)*存储系统—MEM访问的延迟与带宽*部件组成—功能实现延迟(如主频[1/TC])转上页回下页时间进程1进程2操作系统硬件资源82024/5/163、提高计算机硬件系统性能的方法

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

硬件方面的优化思路:*提高指令系统性能—增加新功能指令等*提高主频—改进器件、电路等技术*改进结构—提高CPI(CyclesperInstruction)

提高ILP(InstructionLevelParallel)*提高OS效率—增加便于OS工作的相应硬件*提高访存速度—选择快速器件、改进MEM结构*提高I/O速度—采用I/O接口、改进I/O方式等

冯诺依曼模型的性能瓶颈:CPU-MEM、指令串行执行!☆结构与技术是硬件性能提高的基本保证!

转上页92024/5/16三、IntelCPU结构与技术的发展概述(1)强化CPU部件

优化部件性能:增加CPU字长、提高主频、多总线通路;

增加指令功能:扩展指令系统(需相应增加硬件);1、操作级结构与技术的发展内部总线(多总线)控制器指令队列总线接口单元BIU译码器寄存器组加法器浮点部件乘法器转移部件16b→32b16b→32b外部总线转5页(单总线)102024/5/16(2)改进存储系统

采用虚拟存储器:有效支持多任务OS(减轻程序员负担);

增设快表提高地址变换速度。回下页程序1代码段数据段其他段0X…

0Y…

0Z…

……

0B…

主存…

快表TLB(TranslationlooksideBuffer)0MOS的存储管理表逻辑地址物理地址0C0ATLB为OS管理表的子集程序n代码段数据段其他段主存中CPU中112024/5/16

增设Cache→多级Cache:利用程序访存局部性规律,提高访存速度(弱化CPU-MEM瓶颈)及性能-价格比(容量Cache<<容量MEM)。

改善系统总线性能:提高总线时钟频率、增加A/D宽度、多级总线等越靠近CPU速度越快←┘内部总线(多总线)控制器指令队列总线接口单元BIU译码器寄存器组加法器浮点部件乘法器转移部件32b外部总线TLBL2CacheL1Cache转上页回17页122024/5/16(3)改进CPU结构

开发操作级并行性:有流水线及超级流水线技术;

流水线技术:指令执行各步骤重叠,减少程序执行时间;

需解决问题:⑴结构相关(资源使用冲突);⑵指令间的数据相关及控制相关;⑶提高执行部件EX利用率。转6页回下页回14页01234567普通流水线:ILP(1,1)TCPU=[5+(IN-1)]*TC13…z2段WBEX2EX1OFIDIF123…z说明:ILP(m,n)--m为同时启动的指令或操作,n为每个Tc启动次数。123…z012345段123456…z123456…z123456…z123…z123…z123456…z123456…zWBEX2EX1OFIDIFTCTC超级流水线:ILP(1,2)TCPU=[5+(IN-1)]*(TC/2)回17页132024/5/16

开发指令级并行性:有VLIW、超标量、SIMD等技术;2、指令级结构与技术的发展

VLIW技术:流水指令包含多种操作,提高EX的利用率;

需解决问题(新增):目标代码效率(即编译程序效率)。└→VLIW已基本不用指令中操作字段:LD/ST1LD/ST2FADDFMUL主存RF(寄存器堆)LD/ST1VLIW结构示例:LD/ST2FADDFMUL01234567VLIW流水线:ILP(2,1)13…n2段WBEX2EX1OFIDIF123…n123…n123…n123…nTC1空空转上页回下页142024/5/16TC01234567超标量流水线: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

需解决问题(新增):⑴数据存取宽度;⑵支持新数据类型。

需解决问题(新增):⑴多I、D并行存取;⑵更严重的数据相关.

超标量流水技术:

多条指令并行流水;

SIMD流水技术:流水指令可处理多个数据;转上页转12页(单流水线)152024/5/16

开发程序级并行性:有多线程(MT)、超线程(HT)等技术

└→即同时多线程(SMT)ALUs+CUCachePCREGsPSW单线程(ST)CPU回下页3、程序级结构与技术的发展P1P2P3OSt单线程CPU…ALUs+CUCachePCREGsPSWPCREGsPSW多线程(MT)CPU…ALUs+CUCachePCREGsPSWPCREGsPSW超线程(HT)CPULogicalCPUPointer超线程CPU功能部件无使用冲突多线程CPUT切换减小回47页回68页162024/5/164、CPU级结构与技术的发展

开发CPU级并行性:有多CPU、多核CPU等技术;CoreL1CacheL2CacheBIUCoreL1CacheL2CacheBIUDualCPU(如DualXeon)Core

0L1CacheL2CacheBIUCore

1L1CacheL2CacheBIUDualCoreCPU(如PentiumD800)Core

0L1CacheL2CacheBIUCore

1L1CacheCore2DuoCPU(如Core2DuoE6300)

多核CPU与超线程CPU:*超线程CPU—多个逻辑CPU(要求资源使用不冲突);*多核CPU—多个物理CPU(资源使用不会冲突)。转上页172024/5/161、流水线的结构相关处理

L1Cache采用哈佛结构:即I-Cache、D-Cache分离;转12页(结构相关)转11页(L1)四、流水线实现时的相关处理总线接口单元寄存器组ALUsL1I-CacheL1D-CacheL2Cache主存①②④控制器指令队列译码器内部总线(多总线)⑤③⑤③①取指②译码③取数④执行⑤写回指令流水线段⑤③回下页*效果—避免了取指段与取数段/写回段间的操作冲突,减轻了L1Cache与L2Cache间的访问冲突概率.182024/5/16

增设指令预取缓冲器及数据存储缓冲器:*指令预取缓冲器—进一步减少了取指段与数据段L1级Cache不命中时的访问冲突概率;*数据存储缓冲器—实现“零等待写”,避免了流水线中取数段与写回段的操作冲突。零等待写—写无延迟,无取Cache操作时再写转上页

L1Cache冲突处理:I-Cache的访问优先级>D-Cache。预取流式缓冲器总线接口单元寄存器组ALUs取数部件L1I-CacheL1D-Cache存储顺序缓冲器存数部件L2Cache主存①②④⑤控制器指令队列译码器内部总线⑤③⑤③③⑤③192024/5/16

处理方法:有后推法、相关专用通路法、异步流动法3种回下页2、流水线的数据相关处理123456I1:R1=R2+R3IFIDEXMEMWBI2:R4=R1*R5IFIDEXMEMWB指令拍读R1写R1(1)先写后读(RAW)相关及处理12345678I1IFIDEXMEMWBI2IFIDIDEXMEMWBI3IFIFIDEXMEMI拍②相关专用通路法—减少一拍等待IFIDEXMEMWB流水线控制器MUX相关专用通路回32页123456789I1IFIDEXMEMWBI2IFIDIDEXMEMWBI3IFIFIDEXMEMI拍①后推法—正常等待,直到相关消除IFIDEXMEMWB流水线控制器××√√√202024/5/16转上页(2)先读后写(WAR)及写-写(WAW)相关及处理

WAR及WAW数据相关因采用异步流动法而产生(见上图)。产生WAR相关产生WAW相关

处理方法:动态调度方法—即存在RAW、WAR、WAW相关的指令等待,无相关指令先执行,避免了WAR、WAW相关。*结构需求—用指令窗口暂存的是已译码指令串,取指/译码(IF/ID)速度>执行(EX)速度。回32页指令窗口(就绪指令先EX)③异步流动(乱序执行)法—无相关指令先执行,消除等待IFIDEXMEMWB流水线控制器顺序进入顺序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

处理方法:后推法、优化延迟转移法、预测(猜测)法;

预测测法:有静态预测法、动态预测法两种;*静态预测—按指令类型或寻址方式猜测转移方向*动态预测—按分支指令执行历史猜测转移方向*应用—有历史的分支指令用动态法,否则用静态法3、流水线的控制相关处理1234567顺序型I1:CMPR1,R2IFIDEXMEMWB转移型I2:JNZTEST1IFIDEXMEMWB顺序型Ix:???IF拍需要新PCPC←地址x指令注:转移型指令只需要4拍即可完成指令(在MEM段写PC)IFID

后推法:取指部件一直等待,直到相关消除(见上图);222024/5/16

(分支)预测法实现原理:*转移历史保存—用转移目标缓冲器BTB保存;*猜测实现—IF段或ID段预测方向,EX段更新转移历史;执行段(EX)取指段(IF)不命中PC查BTB表(IAddr段)静态预测(按IR内容)更新转移历史(HI)命中预测不转移预测转移

PC←(TAddr段)译码段(ID)误预测处理(PC=预测的反方向地址)预测正确IF段猜错IF段猜对是转移指令动态预测(按HI段)PC←(PC)+1BTB中建新指令信息行行号转移结果预测错误0******

1aaxyee有效位(AV)转移指令地址(IAddr)历史位(HI)转移目标地址(TAddr)…

…BTB:大小固定回28页转4页(PC)232024/5/16*预测算法—静态预测算法(下表),动态预测算法(下图)相对PC寻址方式非相对PC寻址方式预测转移转移地址比PC小的指令CALL/RET类型指令预测不转移转移地址比PC大的指令非CALL/RET类型指令结果:不转移历史位:10预测:转移历史位:11预测:转移历史位:00预测:不转移历史位:01预测:不转移结果:转移结果:不转移结果:转移结果:转移结果:不转移结果:不转移结果:转移*预测法的后续处理—

①用后援寄存器保存可能被破坏的状态(及数据);②预测指令的执行只完成到执行段(EX)。

确认预测正确后才进行写回段(WB)←┘242024/5/16第二部分PⅢCPU结构与技术252024/5/16

结构特征:*哈佛结构—I-Cache、D-Cache分离(Pentium已有)*双独立总线(DIB)结构—MEM总线与L2Cache总线并行

*动态执行技术—由多路分支预测、数据流分析、推测执行3大技术组成

*超标量流水结构—3路超标量、12级流水结构转下页一、PⅢCPU结构特征回28页回37页262024/5/16回上页回37页回39页回44页ITLBL1I-Cache预取Buffer/预译码指令预取单元译码器0uCodeROMuopBufferRAT/分配器再定序缓冲器ROB(40项)保留站RSL2CacheDTLBL1D-CacheMOBLoadAddr复杂ALUFPUMMX

ALUMMX乘法BIU4uopRRF简单ALUJEUPort0MEM译码器1译码器2前端总线后端总线PⅢ(P6核心)内部结构图1uop1uop3uop3uop3uop3uopPort1MMX

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

控制器阵列Cache总线BIU

主存MEM控制器阵列MEM总线

Pentium的Cache结构:贯通式Cache(不命中时再访问主存);TCPU访存命中Cache=TMEM地址→Cache地址变换+TCache阵列

TCPU访存不命中Cache=TMEM地址→Cache地址变换+TMEM阵列+TCache阵列

PⅢ的Cache结构:DIB结构的Cache(BIU以2种频率同时访问)

TCPU访存命中Cache=TMEM地址→Cache地址变换+TCache阵列

TCPU访存不命中Cache=TMEM阵列CPUCoreL1I-CacheL1D-CacheL2CacheCache

控制器阵列后端总线BIU

主存MEM控制器阵列前端总线(MEM总线)Cache命中二、PⅢCPU的双独立总线(DIB)结构转上页282024/5/16三、PⅢCPU的动态执行技术1、多路分支预测技术

基本原理(回顾):*指令预取时—用指令地址查BTB命中时,采用动态预测法预取后继指令;*指令译码时—对BTB不命中的转移指令,采用静态预测法(同时在BTB中建立新行)预取后继指令;*指令执行完成时—更新转移指令的转移历史,误预测时需进行相应处理。

即允许多个分支指令(转移指令)的预测指令流在CPU中执行,是Pentium分支预测技术的发展。转25页(3点)转22页(预测过程)292024/5/162、数据流分析技术—乱序执行技术(1)乱序执行思想取指流水线例:译码取数执行写回

乱序执行思想:用指令窗口按序保存多条指令;

优先执行操作数就绪的指令(数据流技术)Cache或主存ALUs(一条I)译码器(一条I)寄存器组按序取指部件取数部件存数部件PC按序指缓(多条I)按序流水过程:Cache或主存ALUs(一条I)译码器(一条I)寄存器组按序取指部件取数部件存数部件PC乱序指令缓(多条I)指令窗口(多条I)操作数就绪的指令取数缓(多个D)存数缓(多个D)转4页(PC及指令格式)回下页302024/5/16(2)分布式动态调度技术(Tomasulo算法)

核心是用寄存器重命名方法解决RAW、WAR、WAW相关。

分布式动态调度思想:--即调度机制分散在各部件中①指令放入保留站RS、指令数据需求放入相应部件;指令间数据关系→部件间关系②各部件独立控制数据输入/输出(数据就绪时)。转上页回下页回35页Cache或主存控制ALUs(一条I)指令缓冲器(多条I)译码器(一条I)保留站RS(多条I)存数缓冲器SDB寄存器组FLR(按序)(按序)(乱序)取指部件控制控制控制取数缓冲器FLB取数部件存数部件CDB源地址目的地址PC312024/5/16

分布式动态调度CPU基本结构图:转上页回下页加法器乘/除法器A1A2A3保留站M1M2译码器站号0110…00100001取指部件BIU(←→Cache或主存)站号101010111100站号10001001站号源1值

站号

源2值

控制站号源1值

站号

源2值

控制

地址控制取数缓冲器FLB控制忙位站号地址数据存数缓冲器SDB指令队列公共数据总线CDBF7…F0忙位

站号数据寄存器FLRFLR总线取数部件取数部件注:采用分布式保留站便于减少保留站-ALU的延迟回33页回34页322024/5/16*指令数据关系→部件关系的实现—

数据产生部件(RS/FLB):标有站号(指示数据所在位置),

数据接收/存储部件(RS/SDB/FLR):设有站号项及忙位.

注:站号项—指示所接收数据的对应数据产生部件忙位—=1时,数据项无效(尚未接收[前趋指令未完成])

=0时,数据项可用(已接收[从站号项部件处])*当前指令译码时的控制器动作—

指令操作:在RS中占用一行(数据就绪时送ALU);

源操作数:将相应部件的数据项放入RS;如对应REG忙位=0时,指令所在RS行源1值←对应REG数据项

对应REG忙位=1时,产生了RAW相关转上页

目的操作数:设置相应接收部件的站号项及忙位。如对应REG忙位=0时,站号项←指令所在RS站号、忙位←1

对应REG忙位=1时,产生了WAW相关转19页转20页回下页332024/5/16

RAW、WAR、WAW相关的检测及调度准备:

*RAW相关的检测及调度准备—(当前指令)译码时相关存在条件—指令源操作数对应的REG忙位=1时;

调度准备—取REG的站号项到RS中;↓└→直接取源头数据(REG重命名)

控制器的动作└→同时接收CDB(相关专用通路法)*WAR相关的检测与消除—(当前指令)译码时相关存在条件—指令源操作数对应的REG忙位=0时;调度准备—取REG的数据项到RS中;└→乱序执行不影响当前指令(WAR相关消除)*WAW相关的检测与消除—译码时相关存在条件—指令目的操作数对应的REG忙位=1时;调度准备—REG的站号项←指令对应RS站号(忙位已=1)

└→REG只接收最后指令的数据(REG重命名)转上页转31页(图)回下页三角债中间者还借条钱落袋为安再借钱时作废旧借条342024/5/16

动态调度的实现:--派遣次序即执行次序*乱序派遣实现—RS使操作数已就绪的指令被派遣;

*RAW相关后推法实现—RS使操作数未就绪的指令等待。F1站号项←0001(等待接收[访存有延迟]FLB1的数据)F1忙位项←1(操作未完成、数据不可用)M1源1站号项←0001(直接接收FLB1,REG重命名;用CDB同时接收,相关专用通路法)M1源2站号项←0010(等待接收FLB2的数据)M2源1值项←F2数据项、源2值项←F3数据项F4站号项←1001(M2站号,接收M2结果)、F4忙位项←1I1:F1←(FLB1)I2:F1←(F1)*(FLB2)I3:F4←(F2)*(F3)

指令序列

译码时的控制器动作(调度准备)F1站号项←1000(M1站号,只接收M1结果,REG重命名)F1忙位项←1(操作未完成、数据不可用)RS的调度结果:M2(I3)先于M1(I2)执行(乱序派遣[数据流分析]+后推法)转31页(图)转上页352024/5/163、推测执行技术

目标:支持多路分支预测技术及数据流分析技术。

思想:①允许用预测方法取指令、并允许乱序执行;②指令必须按序确认后再写结果。

实现:用ROB作指令窗口,实现动态调度及暂存结果;用“确认”段实现误预测处理或传递结果。转30页回下页回37页ALUs(一条I)指令缓冲器(多条I)译码器(一条I)保留站RS(多条I)寄存器组FLR按序取指部件取数部件存数部件分支预测PC按序乱序乱序源地址目的地址存数缓冲SDB取数缓冲FLB注:保留站RS已等价于就绪指令队列,为减少ROB-ALU间延迟而设置

再定序缓冲器ROB(多条I)[指令窗口]

操作数已就绪确认(一条I)乱序按序按序行号程序次序临时FLR362024/5/16

支持推测执行的CPU结构及“确认”段:转上页回下页回44页转26页(PⅢ总图)加法器乘/除法器源1值源2值控制ROB项号A1A2A3M1M2保留站

控制指令源项号

源地址

源值

目的地址

目的值F7…F1F0

数据寄存器FLRBIU(←→Cache或主存)译码器指令队列源1值源2值控制ROB项号项号01…40公共数据总线CDB取指部件取数部件存数部件再定序缓冲器ROB确认(按序[行])分支预测注:指令确认为正确时—即顺序型指令或分支预测正确,结果写入FLR或MEM

指令确认为错误时—即分支预测错误,清除ROB中所有后继指令错误时372024/5/16四、PⅢCPU的超标量流水技术

超标量流水线结构:3条独立的12级标量流水线。总线接口单元(BIU)L1

I-Cache16K

L1

D-Cache

16K预取流式缓冲器指令长度译码器译码器对齐段译码后指令队列RAT/分配器

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

端口1保留站(RS)

端口0存储数据执行单元存储地址执行单元装入执行单元L2Cache微指令序列器MIS静态转移预测存储顺序缓冲器(MOB)译码译码译码器0器1器2DISIFU1IFU2DEC1DEC2DEC3RATROBIA寄存器组RETWB内部公共总线CDBEX转移目标缓冲器前端总线后端总线主存预测错误简单FPU复杂FPU复杂IEUMMX乘法器MMXALU简单IEU和JEUMMX

ALU误预测NextIP返回堆栈缓冲器MMX移位器转25页转上页转35页转26页回41页回43页回67页382024/5/16第三部分P4CPU结构与技术392024/5/16一、P4CPU结构特征

架构:Netbrust架构(PⅢCPU为P6架构);

核心:Willamette→Northwood(Gallatin)→Prescott;1、P4CPU结构特点L2CacheandControlL1D-CacheandD-TLBSchedulersIntegerTraceCacheRename/AllocuopQueuesBTBuCodeROM3DecoderBTB&I-TLBFloatingPoint3转26页回41页回42页回43页402024/5/16△追踪Cache技术(ExecutionTraceCache)△超级流水线技术(HyperPipelinedTechnology)△高级动态执行技术(AdvancedDynamicExecution)△高级传输缓存(AdvancedTransferCache)△高速执行引擎(RapidExecutionEngine)△高速前端总线(FasterSystemBus)△SSE2指令集(StreamingSIMDExtensions2)△EM64T技术(ExtendedMemory64Technology)△超线程技术(HyperThreadingTechnology)△虚拟化技术(VirtualizationTechnology)2、P4CPU技术特点412024/5/16二、P4CPU的追踪Cache技术

PⅢ流水线的弱点(P4的观点):分支预测失败时,需从L1I-Cache(保存x86指令)取指/译码,取指/译码开销不可避免;

P4流水线的方案:用追踪Cache(保存已译码的uop)取代L1I-Cache,可部分避免分支预测失败时的取指、译码开销;

追踪Cache结构:每行6个μop、8路组相联。组行op1op2op3op4op5op6组0Line0cmpbrT1subbrT2movsub…Line7…Line0~7

说明:①追踪Cache的调度以行为单位;②流水线按追踪Cache地址取uop(PⅢ按主存地址取)转37页(PⅢ流水图)转39页(P4总图)422024/5/16三、P4CPU的超级流水技术1、P4CPU前端

P4前端组成:由x86指令的取指(含BTB)、译码、μop存入追踪Cache组成(不作为流水线的段);└→P4流水线按追踪Cache地址访问并执行uop

P4前端工作流程:L2Cache(8-way)指令预取及I-TLB前端BTB预取Bufferx86译码器追踪CacheBufferTraceCache主存地址追踪Cache地址8B/Tc1条x86指令/Tc4uop/Tc3uop/Tc6uop/行追踪Cache不命中或有空闲空间时注:x86译码器不工作时可不加电,节省能源转39页(P4总图)432024/5/162、P4CPU流水线

流水线段数:20级(Prescott为31级)、3路超标量流水;1TCNextIP(TCBTB)23TCFetch45Drive6Allocate7Rename89Queus10Schedule111213Dispatch1415RegisterFile1617Execute18Flags19BranchCheck20Drive

特点:优点—深流水线,利于提高主频及性能;缺点—段数越多,误预测后果越严重!

追踪Cache取:类似与PⅢ从I-Cache取;TraceBTB(512Entries)uopBufferTraceIPTraceCache6uop/2TcSubReturnAddressStackuCodeROM3uop/Tc类似于MIS类似于IP转37页转39页回下页442024/5/16

REG分配与重命名:ROB有126行、数据与指令状态分开;

uop队列与调度:分布式,队列按序、端口乱序;转36页转26页转上页算术uop队列Memuop队列MEM调度器FastALU调度器通用调度器简单FP调度器竞争端口Rename/AllocROB3uop/TcFastALU64bitFP

Move64bitFP/SSEFullALUPort0Port1取流水线存流水线MOBPort2Port3FastALU注:FastALU的速度为1/2Tc,即每个Tc执行2个uop回46页回68页RATPⅢCPUROBdatastatusEAXEBP………42行…RRF一一对应P4CPURFROBRetirementRATFront-endRATEAXEBP……datastatus………126行支持超线程静态EAXEBP…452024/5/16

流水线CPU结构图:回下页I-TLB/PrefetcherX86DecoderTraceCacheTraceCacheBTB(512Entries)μCodeROMRename/Alloc,ROBL2Cache(8-way)L1D-Cache(4-way)&D-TLBINT/FP的队列及调度器、REG组FastALUFront-EndBTB(4KEntries)uopBuffer3uop/cycleMEM队列、调度器取流水线存流水线FastALU64bitFPMove64bitFP/SSEFullALU128bitMOB256bit64bitPort0BIUPort1Port2Port3FSB回47页462024/5/16四、P4CPU的其他技术1、高级动态执行技术

多路分支预测技术方面:*优化—增加BTB容量及历史位数,改进预测算法;*革新—两级BTB(2个方向的指令可能均追踪Cache中)。

数据流分析技术方面:*优化—增加ROB容量(42→126行);*革新—数据、指令状态分离(可减少Alloc段冲突及与REG/MEM间数据移动概率)。

推测执行技术方面:*革新—分布式调度及快速ALU调度,MEM操作流水化。转上页转44页472024/5/162、其他技术

高级传输缓存(ATC):L1D-Cache与L2Cache间总线宽度为256bit,TP4块传输=2Tc(TPⅢ块传输=8Tc);

高速执行引擎:FastALU周期为1/2Tc,EX段≤6uop/Tc;

高速前端总线(FSB):利用“四倍速”(FSB400)技术,100MHz的总线带宽=64bit/8*100MHz*4=3.2GB/s(需双通道+倍频支持);

SSE2技术:包含SSE功能,新增144条128位多媒体指令;

超线程(HT)技术:资源不冲突时,可同时运行2个线程;

EM64T技术:将IA32的8个REG扩展为64位、新增8个64位REG,可兼容32位和64位操作、允许使用更大的主存空间;

虚拟化(VT)技术:通过硬件支持多个虚拟机实现。转45页转15页(HT)482024/5/16PⅢ及三种核心P4CPU比较参数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超标量3路(12级)3路(20级)3路(31级)BTB级数1级2级参数0.5K行、2bit历史位4K+512行、4bit历史位数据流分析42行ROB、D-S对应126行ROB、D-S分离推测执行集中调度、4μop/Tc分布调度、6μop/Tc执行端口2个Ex+3个Mem2个Ex+2个Mem扩展指令集SSESSE2SSE3回下页回52页492024/5/16参数PⅢWillametteNorthwoodPrescott

L1Cache类型IDTDTDTD大小16KB16KB8Kuop8KB12Kuop8KB12Kuop16KB块大小32B32B64B64B64B组相联度4-way4-way8-way4-way8-way4-way8-way8-way与CPU宽度64位128bit128bit128bitL2Cache大小256KB256KB512KB1M、2M(6系列)块大小32B64B组相联度4-way8-way、写回与L1宽度64bit64bit256bit64bit256bit64bit256bitL3Cache否否EE版--1M/2M否前端总线(MHz)133400400(A)、533(B)800(C)、≥800(EE)400、800HT技术否否是—C、EE版否—5x1/5x5/5x6EM64T技术否否

是—EE版是—5x1/5x6/6系列VT技术否否否是—6x2系列PⅢ及三种核心P4CPU比较(续)转上页502024/5/16第四部分多核CPU结构与技术512024/5/16一、多双核CPU的发展过程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架构与核心:架构NetBrustCoreCoreDualCore2DualCorei7核心SmithfieldPreslerYonahConroe(桌面)Merom(移动)Woodcrest(服务器)Nehalem

CPU例D800D900T2400E6700T5000DP5100920522024/5/162、NetBrust架构双核CPU

产生原因:是应对AMD的Toledo双核CPU的临时产品;

存在问题:功耗、散热、FSB冲突、L2Cache共享。

└→消亡得比P4还要快!

是两个NetBrust架构Prescott核心的P4CPU的松耦合。Core0L2CacheMemoryControllerAMDToledoSystemRequestInterfaceCrossbarSwitchHyperTransportTechnologyThreadThreadCore1L2CacheThreadThreadFSBBIUIntelPentiumDIntelPentiumEECore0L2CacheThreadThreadCore1L2CacheThreadThreadFSBBIUFSBBIUCore0L2CacheThreadThreadCore1L2CacheThreadThreadFSBBIU转48页(P4功耗)532024/5/163、Core架构双核CPU

Yonah核心:是PⅢ的Mobile架构核心的发展,完全摆脱了NetBrust架构(但用其优秀技术);*Mobile架构—有Banias(迅弛)、Dothan等核心,功耗低、散热性好CoreDual是Intel真正意义的第一个双核CPU!FSBBIUIntelCoreDualCore0L2CacheThreadThreadCore1ThreadThread

Yonah核心结构与技术特征:(结构图见下页)*超标量流水线—3路、有效12级;*动态执行技术—扩充PⅢCPU相关部件容量;*微指令融合(Micro-opFusion)技术—可减少uop数量。转下页542024/5/16回上页回56页ITLBL1I-Cache(32KB、8路)预取Buffer/预译码指令预取单元译码器0uCodeROMuopBuffer(6行)RAT/分配器再定序缓冲器ROB(80项)保留站RS(24行)共享的L2Cache(2MB、8路)DTLB(128行)L1D-Cache(32KB、8路)MOBLoadAddr32bitALU64bitFADD64bitSSEBIU4uopRRF32bitALU64bitFMULPort0MEM译码器1译码器21uop1uop3uop3uop3uop3uopPort164bitSSEStoreAddrStoreDataPort4Port3Port264bit64bit256bit128bitL1DYonah核心的Core结构图(是P6架构的发展)552024/5/16二、Core2DualCPU结构与技术1、Core2DualCPU结构与技术特征

结构及参数:结构图见下页;CoreDuoCore2Duo超标量流水3路、有效12级4路、有效14级分支预测动态动态+循环流+间接数据流分析80项ROB,24行RS96项ROB,32行RS保留站端口2个EX+3个MEM3个EX+3个MEML1与CPU宽度I-128bit,D-64bitI-160bit,D-128bitL2Cache2MB,8路4MB,16路

技术特征:有高级智能高速缓存、智能内存访问、宽位动态执行、高级数字媒体增强、智能功率能力5大技术。转下页562024/5/16回上页转54页回下页ITLB(128行)L1I-Cache(32KB、8路)预取Buffer/预译码指令预取单元译码器1uCodeROMuopBuffer(>7行)4uop译码器2译码器31uop1uop160bitConroe核心的Core结构图译码器01uopRAT/分配器再定序缓冲器ROB(96项)保留站RS(32行)DTLB(256行)L1D-Cache(32KB、8路)MOBLoadAddr64bALU128bFADD128bSSERRF128bFMULPort04uop4uop4uop4uopPort2128bSSEStoreAddrStoreDataPort5Port4Port3128bit128bit256bit64bALU/BrALUShift128bSSEPort1共享的L2Cache(4MB、16路)BIUMEM回62页回64页572024/5/162、高级智能高速缓存技术(AdvancedSmartCache)

特点:各Core可动态支配L2Cache,可提高L2命中率;

减少FSB使用频率(通信量);根据需要可关闭部分L2Cache,以降低功耗。

技术核心:每个Core可动态使用共享的L2Cache;Core0不共享L2Cache(如PentiumD)MemoryCore1L1CacheL1CacheL2(0)L2(1)Core0共享L2Cache(如Core)MemoryCore1L1CacheL1Cache

L2SharedCache②竞争严重①不允许访问高级智能Cache技术转上页回62页582024/5/163、智能内存访问技术(SmartMemoryAccess)

预取器设计:*预取器个数—(2个L1-D+1个L1-I)×2核+2个L2=8个;

技术核心:根据软件需求,用预取器预取指令和数据;*预取实现—借用Store端口预取(比Load优先级低)。回下页时间LoadA1Core0L1D-CacheLoadA2LoadA3LoadA4L2SharedCacheCore0L1D-CacheFetcher0Core0L2CacheFetcher正在执行已译码(未执行)内存Core0指令串Fetcher0Buffer预取算法例:①A3对应块独立于A2对应块;②A3对应块地址与i有较大偏移。①FetchedBuffer②块i592024/5/16

内存消歧算法:--提高预取效率的一种方法*算法核心—允许预取Store指令后的数据;时间LoadXStoreZ不支持内存消歧算法的MEM访问(Store后续操作均不可预取)内存LoadALoadZStoreBLoadCDataX

DataZDataA

DataB

DataC①②③④⑤⑥LoadX

MEM操作LoadXStoreZ支持内存消歧算法的MEM访问(与Store地址独立均可预取)内存LoadALoadZStoreBLoadCDataX

DataZDataA

DataB

DataC①④②⑤⑥③LoadX

⑦⑦时间MEM操作*需解决问题—不同Core/CPU预取Store后地址导致的不一致性问题[其他CPU的Store可能改变数据]。转上页602024/5/16(1)宏指令融合(Macro-Fusion)技术

CPU内部增加新操作类型,将多条指令合并为1个操作;

特点:更大解码带宽、更少空间占用、更低调度负载。4、宽位动态执行技术(WideDynamicExecution)回下页宏指令(x86指令)序列incecxstore[mem3],ebxjnetargcmpeax,[mem2]loadeax,[mem1]ID0incecxstore[mem3],ebxjnetargcmpeax,[mem2]loadeax,[mem1]时间不支持宏指令融合技术的指令译码ID1ID2ID3宏指令(x86指令)序列时间支持宏指令融合技术的指令译码cmpjneeax,[mem2]incecxstore[mem3],ebxloadeax,[mem1]incecxstore[mem3],ebxjnetargcmpeax,[mem2]loadeax,[mem1]ID0ID1ID2ID3回67页612024/5/16(2)微指令融合(Micro-OpFusion)技术

CPU内部优化uop控制,将多个uop合并为1个uop;(3)指令融合技术实现原理*译码—译码前先进行检测,适时合并指令/微操作;*部件—增加相关部件功能,使之适应宏指令融合要求;*控制—优化uop控制,使之适应微指令融合要求。CISC(x86)ADD[mem],EAX不支持微操作融合的处理RISC(uop)MOVEBX,[mem]ADDEBX,EAXMOV[mem],EBX译码器ADDMEBX,[mem],EAXMOV[mem],EBX支持微操作融合的处理CISC(x86)ADD[mem],EAXRISC(uop)译码器转上页622024/5/16CoreDualCore2DualSSE运算器数据宽度64bit128bit个数23内部数据通道宽度64bit128bit128SIMD指令处理时间2个Tc1个Tc

特点:①每个Tc最多可处理3条SIMD指令;└→CoreDual需要6个Tc②内部宽数据通道为宏/微指令融合提供了条件。5、高级数字媒体增强技术(AdvancedDigitalMediaBoost)

技术核心:增加多媒体的处理能力及并行度;6、智能功率能力技术(IntelligentPowerCapability)

技术核心:逻辑控制机构能独立控制各执行部件电源。转56页转57页632024/5/16三、Corei7CPU结构与技术1、Corei7CPU结构与技术特征

CPU总体结构:Nehalem架构,原生4核*CPU级技术特征—全新缓存设计(3级Cache),

整合内存控制器(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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论