奔腾IV处理器架构剖析

 

                                                     奔腾IV处理器架构剖析  

 

              Intel于美国西部时间20日上午(北京时间20日晚间)发布了Pentium4 1.4GHz 和Pentium4 1.5GHz处理器。我们在Intel发布Pentium4处理器的同时,抢先完成了他们的全面测试。  Pentium 4 1.4/1.5 GHz的发布表明Intel开始收复失地,从AMD 手中抢回速度之冠。大家回忆一下,就可以发现,在1999年8月AMD发布Athlon处理器之前,Intel的Pentium II和赛扬处理器主宰了高性能桌面处理器市场,Intel在其间取得了巨大的成功,攫取了大部分的处理器市场份额。但是在过去的6个月间,Intel在处理器研发的道路上步履蹒跚,让人不禁怀疑Intel时代是否就要很快结束。  尽管Intel在半年内犯下了种种错误,丧失了处理器市场的大半江山,但还是有许多Intel处理器的支持者,希望Intel推出新型处理器来挽回面子,当然Intel也意识到自己四面楚歌的境地,于是把精力和希望全部投入在了今后5年的主打产品-Pentium 4处理器!下面我们就来全面剖析一下Pentium 4处理器。 P4 处理器设计架构 1.超长计算管线  Intel在P4处理器中第一次引入了真正全新的IA-32 x86架构,并称其为Netburst(网际爆发)微架构。Intel的PIII处理器是12层计算管线的超标量设计,而P4处理器是20层计算管线的超标量设计,其中集成了多管线并行计算。AMD的Atlon则是10层计算管线,15层浮点管线的超标量设计。   Intel之前回收的1.13GHz的PIII处理器,其Bug原因肯定来自于设计架构和制造工艺之间的冲突,而由于AMD早已转向了铜制程,因此在主频提高的同时,没有类似于Intel遇到的问题。因此这次Intel在制造工艺不变的前提下只能重新设计P4处理器的微架构了。Intel今天发布的P4处理器,内核集成了8KB的一级缓存、12KB的追踪缓存和256KB的二级缓存,三者的工作频率全部和处理器的主频相同。  PIII处理器采用的0.18微米制程的速度上限就在1.1-1.2GHz左右,P4处理器的起跳速度是1.4GHz, 这是相同制造工艺,不同架构的PIII处理器所无法达到的。Intel今天发布的1.4GHz、1.5GHz P4处理器还是采用了了0.18微米制造工艺,铝互联制程。那么Intel是如何让不能制造出1.13GHz PIII处理器的工艺来制造1.4、1.5GHz的P4处理器呢?答案就在于架构设计,P4 Netburst(网际爆发)微架构的设计特点就是处理器的主频速度和每个时钟周期内单位计算管线完成指令的数目成反比,单位计算管线的完成的指令越少,处理器的主频越高,但是单位计算管线效能的下降必要影响到处理器的整体计算能力,所以说P4处理器主频的提高,是在牺牲部分效能的前提下达成的。  Intel宣称P4处理器所采用的Netburst(网际爆发)微架构设计可以让P4处理器的主频速度比PIII的速度上限提高40%左右,也就是说Netburst(网际爆发)微架构设计的处理器速度上限在1.55-1.7GHz之间。这样的上限速度,就目前来看足以对抗目前AMD铜制程100MHZ DDR外频的雷鸟处理器了。另外明年下半年0.13微米铜制程的启用,也对P4处理器的效能有推波助澜之功效。 2.超长计算管线的不足和弥补  Intel这次在P4处理器中采用的Netburst微架构设计,可以说是一个缓兵之计,在不改造现有0.18微米铝制程的前提下,提升处理器的速度。但是这种缓兵之计的缺点也是显而易见的。第一,由于P4处理器采用了20层的超长计算管线,每层计算管线每层分配到工作量的减小,每个时钟周期内获得的指令也相应减少,也就是IPC(Instructions Per Clock)的减少。这种减少意味着Pentium 4处理器每个时钟周期内效率的降低,这也是在许多先期测试中,Pentium 4处理器效能要差于Pentium III处理器和Athlon处理器的主要原因之一。  第二,由于目前处理器都使用了分支预测功能来提高内核计算管线的指令处理效能,因此有一个预测错误,整个任务都得从计算管线头部重新开始执行,显然Pentium III处理器中12层计算管线由于预测错误而重新开始执行微操作的时间要短于具有20层计算管线的P4处理器。  对于上述2个问题,Intel在P4架构内采用了一系列手段和技术来进行了弥补。首先,对于P4处理器内置的分支预测运算单元效能下降问题, Intel在P4处理器内部集成了4KB大小的BTB(预测目标缓存,branch target buffer)来存储分支预测运算单元前几次所做的分支预测的跳转操作结果,而普通的PIII处理器,在BTB的容量上就逊色P4处理器不少,PIII处理器的BTB容量只有512byte。另外Intel也在P4处理器架构中加入了“高级分支预测运算单元”,希望将分支预测的能力提升到93-94%正确,超过PIII处理器分支预测能力33%。   其次Intel采用了追踪缓存(Trace Cache)来存储p4解码单元送出来的微操作,来解决一旦预测错误后的微操作重新获取问题。追踪缓存(Trace Cache)位于指令解码器和内核第一层计算管线之间,指令在解码单元内获取和解码之后,微操作首先要经过追踪缓存的存储和输出,才能到达内核第一层计算管线并被执行,追踪缓存最多可以存储1200条微操作,其容量是12KB。在之前的P6架构体系中,如PIII处理器在运行的时候,许多程序反复执行相同的操作,耗费了大量的数据,这些数据对于执行效能的意义却不大,因此有必要将重复数据紧密压缩并设计专门的操作来执行这些数据,因此这些操作就被称作SIMD(单指令,多数据流)。 奔腾IV处理器架构剖析(二)   Intel这次在P4处理器中加入了SSE2指令集。和之前PIII处理器采用的SSE指令集相比,目前P4的整个SEE2指令集总共有144个,其中包括原来旧有的68组SEE指令及新增加76组SEE2的指令。全新的SEE2指令除了将传统整数MMX寄存器也扩展成128位(128bit MMX),另外还提供了128位SIMD整数运算操作和128位双精密度浮点运算操作。SSE2指令集的引入在一定程度上弥补了P4处理器单位计算管线效能的不足。   Intel这次还在P4处理器的算术逻辑单元(ALU)中添加了快速执行引擎(REE,Rapid Execution Engine),Intel声称REE的运行速度是处理器主频速度的两倍,这样1.5GHzPentium 4处理器的ALU单元运行速度就是3.0GHz,ALU单元利用了类似DDR内存的工作原理,ALU部分电路在一个处理器时种周期的上沿和下沿都可以进行同频运算,0.5个时钟周期内,ALU就可以完成一条算术逻辑指令。  由于ALU具体负责处理器的整数运算,因此REE的引入,让P4处理器的整数运算效能比PIII处理器提高了一倍,在半个时钟周期内就可以完成一个整数运算操作。图中金色部分的处理器单元的运行速度全部加倍。   在Pentium 4的前端总线架构上,Intel采用了采用了QDR(Quad Data Rate)技术,在100MHz的系统总线上通过同时传输4条不同的64位数据流达到了400MHz的传输效能(类似ATA-100、DDR采用上下波形传输资料的原理所衍伸出来的技术),因此这次intel称Pentium 4的前端总线速度跑在了400MHz,其实还是在100MHz。400MHz前端总线传输速度的实现,使得P4处理器二级缓存和系统内存界面之间的数据带宽达到了3.2GB/s, 而之前133外频的PIII处理器在这方面的带宽只有1.06GB/s。由于P4处理器的二级缓存是8way,256位全速缓存,因此和一级缓存之间的数据带宽达到了45GB/s,而一级缓存则是4way,256位全速缓存,和处理器内核界面之间的数据带宽也达到了22GB/s之巨。   总得来看12KB的追踪缓存、双倍计算速度的快速执行引擎、SSE2指令集和400MHz前端总线全部用来弥补超长管线对处理器效能的负面影响了。 http://pophard.yeah.net奔腾IV处理器架构剖析(一)   Intel于美国西部时间20日上午(北京时间20日晚间)发布了Pentium4 1.4GHz 和Pentium4 1.5GHz处理器。我们在Intel发布Pentium4处理器的同时,抢先完成了他们的全面测试。  Pentium 4 1.4/1.5 GHz的发布表明Intel开始收复失地,从AMD 手中抢回速度之冠。大家回忆一下,就可以发现,在1999年8月AMD发布Athlon处理器之前,Intel的Pentium II和赛扬处理器主宰了高性能桌面处理器市场,Intel在其间取得了巨大的成功,攫取了大部分的处理器市场份额。但是在过去的6个月间,Intel在处理器研发的道路上步履蹒跚,让人不禁怀疑Intel时代是否就要很快结束。  尽管Intel在半年内犯下了种种错误,丧失了处理器市场的大半江山,但还是有许多Intel处理器的支持者,希望Intel推出新型处理器来挽回面子,当然Intel也意识到自己四面楚歌的境地,于是把精力和希望全部投入在了今后5年的主打产品-Pentium 4处理器!下面我们就来全面剖析一下Pentium 4处理器。 P4 处理器设计架构 1.超长计算管线  Intel在P4处理器中第一次引入了真正全新的IA-32 x86架构,并称其为Netburst(网际爆发)微架构。Intel的PIII处理器是12层计算管线的超标量设计,而P4处理器是20层计算管线的超标量设计,其中集成了多管线并行计算。AMD的Atlon则是10层计算管线,15层浮点管线的超标量设计。   Intel之前回收的1.13GHz的PIII处理器,其Bug原因肯定来自于设计架构和制造工艺之间的冲突,而由于AMD早已转向了铜制程,因此在主频提高的同时,没有类似于Intel遇到的问题。因此这次Intel在制造工艺不变的前提下只能重新设计P4处理器的微架构了。Intel今天发布的P4处理器,内核集成了8KB的一级缓存、12KB的追踪缓存和256KB的二级缓存,三者的工作频率全部和处理器的主频相同。  PIII处理器采用的0.18微米制程的速度上限就在1.1-1.2GHz左右,P4处理器的起跳速度是1.4GHz, 这是相同制造工艺,不同架构的PIII处理器所无法达到的。Intel今天发布的1.4GHz、1.5GHz P4处理器还是采用了了0.18微米制造工艺,铝互联制程。那么Intel是如何让不能制造出1.13GHz PIII处理器的工艺来制造1.4、1.5GHz的P4处理器呢?答案就在于架构设计,P4 Netburst(网际爆发)微架构的设计特点就是处理器的主频速度和每个时钟周期内单位计算管线完成指令的数目成反比,单位计算管线的完成的指令越少,处理器的主频越高,但是单位计算管线效能的下降必要影响到处理器的整体计算能力,所以说P4处理器主频的提高,是在牺牲部分效能的前提下达成的。  Intel宣称P4处理器所采用的Netburst(网际爆发)微架构设计可以让P4处理器的主频速度比PIII的速度上限提高40%左右,也就是说Netburst(网际爆发)微架构设计的处理器速度上限在1.55-1.7GHz之间。这样的上限速度,就目前来看足以对抗目前AMD铜制程100MHZ DDR外频的雷鸟处理器了。另外明年下半年0.13微米铜制程的启用,也对P4处理器的效能有推波助澜之功效。 2.超长计算管线的不足和弥补  Intel这次在P4处理器中采用的Netburst微架构设计,可以说是一个缓兵之计,在不改造现有0.18微米铝制程的前提下,提升处理器的速度。但是这种缓兵之计的缺点也是显而易见的。第一,由于P4处理器采用了20层的超长计算管线,每层计算管线每层分配到工作量的减小,每个时钟周期内获得的指令也相应减少,也就是IPC(Instructions Per Clock)的减少。这种减少意味着Pentium 4处理器每个时钟周期内效率的降低,这也是在许多先期测试中,Pentium 4处理器效能要差于Pentium III处理器和Athlon处理器的主要原因之一。  第二,由于目前处理器都使用了分支预测功能来提高内核计算管线的指令处理效能,因此有一个预测错误,整个任务都得从计算管线头部重新开始执行,显然Pentium III处理器中12层计算管线由于预测错误而重新开始执行微操作的时间要短于具有20层计算管线的P4处理器。  对于上述2个问题,Intel在P4架构内采用了一系列手段和技术来进行了弥补。首先,对于P4处理器内置的分支预测运算单元效能下降问题, Intel在P4处理器内部集成了4KB大小的BTB(预测目标缓存,branch target buffer)来存储分支预测运算单元前几次所做的分支预测的跳转操作结果,而普通的PIII处理器,在BTB的容量上就逊色P4处理器不少,PIII处理器的BTB容量只有512byte。另外Intel也在P4处理器架构中加入了“高级分支预测运算单元”,希望将分支预测的能力提升到93-94%正确,超过PIII处理器分支预测能力33%。   其次Intel采用了追踪缓存(Trace Cache)来存储p4解码单元送出来的微操作,来解决一旦预测错误后的微操作重新获取问题。追踪缓存(Trace Cache)位于指令解码器和内核第一层计算管线之间,指令在解码单元内获取和解码之后,微操作首先要经过追踪缓存的存储和输出,才能到达内核第一层计算管线并被执行,追踪缓存最多可以存储1200条微操作,其容量是12KB。在之前的P6架构体系中,如PIII处理器在运行的时候,许多程序反复执行相同的操作,耗费了大量的数据,这些数据对于执行效能的意义却不大,因此有必要将重复数据紧密压缩并设计专门的操作来执行这些数据,因此这些操作就被称作SIMD(单指令,多数据流)。 奔腾IV处理器架构剖析(二)   Intel这次在P4处理器中加入了SSE2指令集。和之前PIII处理器采用的SSE指令集相比,目前P4的整个SEE2指令集总共有144个,其中包括原来旧有的68组SEE指令及新增加76组SEE2的指令。全新的SEE2指令除了将传统整数MMX寄存器也扩展成128位(128bit MMX),另外还提供了128位SIMD整数运算操作和128位双精密度浮点运算操作。SSE2指令集的引入在一定程度上弥补了P4处理器单位计算管线效能的不足。   Intel这次还在P4处理器的算术逻辑单元(ALU)中添加了快速执行引擎(REE,Rapid Execution Engine),Intel声称REE的运行速度是处理器主频速度的两倍,这样1.5GHzPentium 4处理器的ALU单元运行速度就是3.0GHz,ALU单元利用了类似DDR内存的工作原理,ALU部分电路在一个处理器时种周期的上沿和下沿都可以进行同频运算,0.5个时钟周期内,ALU就可以完成一条算术逻辑指令。  由于ALU具体负责处理器的整数运算,因此REE的引入,让P4处理器的整数运算效能比PIII处理器提高了一倍,在半个时钟周期内就可以完成一个整数运算操作。图中金色部分的处理器单元的运行速度全部加倍。   在Pentium 4的前端总线架构上,Intel采用了采用了QDR(Quad Data Rate)技术,在100MHz的系统总线上通过同时传输4条不同的64位数据流达到了400MHz的传输效能(类似ATA-100、DDR采用上下波形传输资料的原理所衍伸出来的技术),因此这次intel称Pentium 4的前端总线速度跑在了400MHz,其实还是在100MHz。400MHz前端总线传输速度的实现,使得P4处理器二级缓存和系统内存界面之间的数据带宽达到了3.2GB/s, 而之前133外频的PIII处理器在这方面的带宽只有1.06GB/s。由于P4处理器的二级缓存是8way,256位全速缓存,因此和一级缓存之间的数据带宽达到了45GB/s,而一级缓存则是4way,256位全速缓存,和处理器内核界面之间的数据带宽也达到了22GB/s之巨。   

 

总得来看12KB的追踪缓存、双倍计算速度的快速执行引擎、SSE2指令集和400MHz前端总线全部用来弥补超长管线对处理器效能的负面影响了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
组成原理课后答案第三章 3. 用16K×8位的DRAM芯片组成64K×32位存储器,要求: (1) 画出该存储器的组成逻辑框图。 (2) 设存储器读/写周期为0.5μS, CPU在1μS内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少? 解:(1)组成64K×32位存储器需存储芯片数为       N=(64K/16K)×(32位/8位)=16(片)      每4片组成16K×32位的存储区,有A13-A0作为片内地址,用A15 A14经2:4译码器产生片选信号 ,逻辑框图如下所示:  (2)依题意,采用异步刷新方式较合理,可满足CPU在1μS内至少访问内存一次的要求。     设16K×8位存储芯片的阵列结构为128行×128列,按行刷新,刷新周期T=2ms,则异步     刷新的间隔时间为:                  则两次刷新的最大时间间隔发生的示意图如下    可见,两次刷新的最大时间间隔为tmax      tmax=15.5-0.5=15 (μS)    对全部存储单元刷新一遍所需时间为t R      t R =0.5×128=64  (μS) 6.用32K*8位的EPROM芯片组成128K*16位的只读存储器,试问: (1)数据寄存器多少位? (2)地址寄存器多少位? (3)共需多少个EPROM芯片? (4)画出此存储器组成框图。 解:(1)系统16位数据,所以数据寄存器16位 (2)系统地址128K=217,所以地址寄存器17位 (1) 共需要8片 (2)组成框图如下 8. 存储器容量为64M,字长64位,模块数m = 8,分别用顺序方式和交叉方式进行组织。存储周期T = 100ns,数据总线宽度为64位,总线周期τ = 10ns .问顺序存储器和交叉存储器的带宽各是多少? 解:信息总量: q = 64位 ×8 =512位   顺序存储器和交叉存储器读出8个字的时间分别是:    t2 = m T = 8×100ns =8×10 (s)    t1 = T + (m - 1) = 100 + 7×10 = 1.7 ×10 (s)   顺序存储器带宽是:    W2 = q / t2 = 512÷(8×10 )= 64 ×10 (位/ S)   交叉存储器带宽是:    W1 = q / t1 = 512÷(1.7 ×10 )= 301 ×10 (位/ S) 9. CPU执行一段程序时, cache完成存取的次数为2420次,主存完成存取的次数为80 次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。 解:先求命中率h    h=nc/(nc +nm )=2420÷(2420+80)=0.968   则平均访问时间为ta    ta=0.968×40+(1-0.968) ×240=46.4(ns)    r =240÷40=6   cache/主存系统的效率为e    e=1/[r+(1-r)×0.968]=86.2% 13、一个组相联cache由64个行组成,每组4行,主存储器包含4k个块,每块128个字。求表示内存地址的格式 64行,4行一组,共64/4=16组;主存储器有4K个块,每块128字,共2的19次方个字,所以需要19个地址位,因为块长128,所以低7位表示内偏移,因为块编号对16取余是组号,所以用4位表示对应组号,地址中的最8位无法用cache决定,保留,所以8 4 7 第四章 4.指令格式结构如下所示,试分析指令格式及寻址方式特点。 解:指令格式及寻址方式特点如下:   ① 双字长二地址指令;   ② 操作码OP可指定 =64条指令;   ③ RS型指令,两个操作数一个在寄存器中(16个寄存器之一),另一个在存储器中;   ④ 有效地址通过变址求得:E=(变址寄存器)± D,变址寄存器可有16个。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值