多核处理器 核心结构分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
英特尔新一代处理器Core 2 Duo架构分析
“我们大致回顾了从Pentium到Pentium4架构的演进,细数了Conroe体系结构的特点并以大量的测试结果和深入地分析为大家更透彻地了解Conroe的优缺点。”
英特尔Core 2微体系架构的前世今生——从586到NetBurst
在1993年3月22日,英特尔引入了该公司的第5代x86处理器,由于x86兼容处理器大量冒起,许多兼容处理器厂商(NEC、西门子、AMD、富士通、Harris、德州仪器、IBM、Cyrix、UMC、NexGen、IDT、SGS-Thomson、C&T等等)都早就把"xxx86"当成其自己产品的生招牌使用(例如1995年就出现了NexGen公司的Nx586),而单纯的
数字代号是不能作为商标受到保护的。
为了巩固品牌的知名度,英特尔希望给这个原本代号586(也被称作P5)的处理器注册一个商标,最后选择了内含数字“5”玄机的商标——“Pentium”,中文名称为奔腾。
Pentium(P5)微架构体系图
Pentium处理器是英特尔第一枚桌面超标量处理器,能够最高同时执行两条指令,在执行条件跳转指令的时候,U-Pipe的预测失误带来的性能损失是4个周期,V-Pipe的预测失误带来的性能损失是5个周期,其余的控制转移指令预测失误性能损失是4个周期。Pentium拥有8KB数据cache和8KB指令cache,初期的Pentium 60/66使用600纳米的BiCMOS工艺,采用273 pin的PGA封装,晶体管数量是3.1百万(大约是1971年4004处理器晶体管数量(2250只)的一千三百倍),L2 cache集成于主板上(常见的预安装容量为256KB)。Pentium是一枚32位处理器,拥有64位的外部总线,物理内存定址空间为32位(据说工程样品出现过36位物理定址,但是正式产品降回32位),逻辑内存能力为64TB。
Pentium Pro家族微架构
1995年11月1日,英特尔推出了当时看来可以用“硕大”来形容的Pentium Pro处理器(中文名称是高能奔腾),这款代号P6的产品和Pentium相比革新相当大,例如整数流水线采用了10级工位的超级流水线(预测失误的性能损失为10~20个周期);能作多重分支预测和猜测执行;具备三个能够把x86指令转换成118位定长的RISC风格微操作的译码器(其中一个能把复杂x86指令转换成4个RISC风格微操作,另外两个解码器则是各可以把一条"简单"x86指令转换成一条RISC风格微操作,即所谓的“4+1+1”的3路解码格局)、实现了乱序执行等。
Coppermine微架构(180纳米Pentium III,属于Pentium Pro家族第3代的改进型)把x86转换成RISC风格的微操作,有利于简化处理器执行流水线的设计,而且在提高性能的同时能确保兼容性。
由于x86指令转换成若干个RISC风格指令,因此Pentium Pro的实际指令率要低于理论值(只有部分寄存器-寄存器的ALU/Mov x86指令以及内存-寄存器Mov x86
Load指令能转换成一条微操作,其他的x86指令大都需要转换成两条以上的微操作来拼凑)。
此外,由于指令队列的问题,Pentium Pro的16bit指令执行能力其实要低于Pentium,不过它的32位指令执行能力的确给当时的人们留下了深刻的印象。
Pentium Pro的内存定址能力提高到了64GB,而虚拟内存空间能力就和Pentium一样都是64GB。
Pentium Pro把L2 cache和CPU做到同一个封装上,但是依然是两枚芯片,只是两枚芯片做到了同一个封装的两个腔体内。
Pentium Pro最初采用600纳米的BiCMOS工艺制造,CPU管芯5.5百万晶体管,管芯面积高达306平方毫米(这里未包含同一封装另一腔体内的L2 cache)。Pentium Pro 256KB L2 cache的电压是3.1伏特,耗电为23瓦特。
到了Pentium III 180nm版(Coppermine)的时候,英特尔终于把L2 cache集成到了和CPU同一枚管芯(die)内。也是在Pentium III,英特尔引入了71条SSE扩展指令集,显著加强了x86处理器在流媒体处理方面的能力。
AMD虽然也尝试在K6上引入3D Now!指令集,但是3D Now!缺乏SSE所具备的IEEE-754兼容性、视频加速能力以及内存流式传输能力,因此虽然3D Now!一开始的时候威势不少并且有大量媒体借机炒作,但事实证明3D Now!的确有不少地方不如SSE。
NetBurst体系架构
然而在Pentium III的时候英特尔却遭遇到了有史以来的第一次挫折,突破1GHz的头衔被AMD的Athlon处理器提前数个小时夺去了,别小看这几个小时,对于奉行摩尔
定律的英特尔来说这样的局面是无论如何也抬不起头的。
英特尔的上层做出了一个惊人的举措,决定把P6架构的发展暂时冻结,转向激进的甚深流水线架构——P68,也就是Pentium 4,英特尔为这个流水线工位多达20级的架构起了一个当时非常时髦的名字——NetBurst。
Willamette(第一代Pentium 4,180纳米工艺)微架构模块图
采用甚深流水线的目的是为了在同样的工艺下获得更快的时钟频率,传统上,频率提升对开发人员这意味着程序不需要特别的更改就能获得性能提升。然而对于Pentium 4来说,这样的法则似乎不再是百试百灵的了。
流水线越长,对于采用乱序+猜测执行的处理器来说,预测失败的成本就越高。Pentium III的流水线在预测失败的时候会损失10个周期,而在第一代的Willamette Pentium 4 上就达到了20个周期(极端的情况下例如流水线塞满了长延迟、低吞吐量的微操作时,就会出现上100个周期的损失)。