您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 英特尔Core微架构终极解密
技术精粹DeepTechnologyTechFrontier188个人电脑微架构终极解密倘若你对微处理器架构有过深入的研究,便会发现Core微架构事实上又回到了经典的P6体系,只是对指令执行过程作了大量的优化,这无疑比晦涩的“PARROT”架构更容易理解。文/张健浪英特尔信息技术峰会(Intel'sDeveloperForum)一向是了解英特尔公司新产品、新技术的大舞台,该技术峰会每年召开两次、分别在春(三月)、秋(九月)两季举行。在3月7日,本年度的春季IDF在美国旧金山如期登场,本次技术峰会的焦点便是英特尔Merom/Conroe/Woodcrest等新一代处理器的微架构,英特尔将其正式命名为“CoreMicroarchitecture”。Core架构的出台意味着NetBurst将要成为历史,英特尔的处理器之路走上新的发展方向,同时Core也将成为英特尔阻止AMD继续扩张市场的核心力量。在过去的一年中,我们事实上对Core架构有过许多技术介绍,这些内容在Core微架构披露之后也分别获得证实。我们可以将Core微架构的主要特点作如下总结:超高性能、低功耗、64位支持和共享缓存的双核结构。当然,英特尔对Core微架构作了全新的包装,这也是我们在下文中要介绍的内容。英特尔的跳跃在去年秋季的技术峰会上,英特尔带来新颖的“每瓦性能”概念,将降低芯片功耗作为技术革新的一大重点。这种转变的动力在于市场的压力,在这之前,英特尔一直执行频率优先的芯片设计,设计团队一直遵循“性能=频率×指令每周期”的思想来开发产品,未将功耗方面的制约考虑在内。尽管NetBurst架构的处理器成功实现了高频率运作,但过高的功耗导致一系列的恶果:首先,芯片的发热量与功耗成正比,Pentium4系列的功耗普遍超过百瓦,为了满足散热要求,厂商不得不使用高转速的CPU风扇,系统无法实现静音运转;其次,高功耗意味着计算机在运行时要消费更多的电能,电费支出也相应增加—个人用户也许对此没有太多的感受,但对那些拥有数百数千台PC的企业来说,高功耗PC导致的电费成本提高就非常可观。Pentium4系列的高功耗被用户诟病,相比之下,AMD的Athlon64系列在提供同等甚至更高性能时,能源消耗比对手低出30%左右,产品优势十分明显,而终端市场也对此作出忠实的反馈。在过去两年中,AMD的市场份额快速提升,尤其是在企业服务器和PC零售市场,AMD掌握一定话语权,企业PC以及移动领域AMD的产品也开始获得广泛认可,上升势头非常强劲。与AMD形成鲜明对比,英特尔在微处理器市场越来越被动,按照原有思路继续发展肯定难以应对。“每瓦性能”便是在这个背景下提出,这个概念于去年秋季的技术峰会上首度发布,它的重点不再是以技术精粹技术分析TechFrontier189个人电脑月高频率来获得高性能,而是强调要在最低能源消耗下获得最高的效能。这样,英特尔的处理器效能等式就变成“性能=功耗×每瓦性能”。根据这个等式,在功耗保持不变的前提下,CPU的最终性能完全取决于每瓦性能这个指标,而英特尔也正在竭尽全力克服芯片高功耗的弊端。每瓦性能概念的提出标志着X86PC进入效率时代,不过,在本届技术峰会上,英特尔又在“每瓦性能”基础上提出“每瓦满意度(SatisfactionperWatt)”的概念,并以此作为处理器竞争力的衡量指标。每瓦满意度除了包含每瓦性能的概念外,还将64位支持、Virtualization虚拟技术都包容进这个等式,强调在单位能耗下,实现客户满意度的最大化。这意味着英特尔处理器开发思想从“频率就是一切”转变到“能源效率就是一切”后,再度升华为“客户满意度就是一切”的原则。当然,提高处理器的能源效率依然处于最核心的地位。我们在介绍Pentium4高功耗时,总会提到其20/31级的长流水线,流水线长度对芯片功耗影响甚大,但并不是唯一的因素。为了实现每瓦性能指标的最大化,英特尔从微处理器架构、节能技术和半导体制造技术三方面共同着手。先进的微架构可提供一流的能源效率,只要微架构足够优秀,完全可以实现每瓦性能的大幅度提升。但相对来说,改变微架构也是难度最大的部分,因为这意味着处理器所有的电路逻辑都必须重新开发,技术水平与开发思想起到关键作用。而除了改变CPU微架构外,使用双核设计也是提高每瓦性能/每瓦满意度指标的有效手段。英特尔在技术峰会上进行如下比较,通过超频,可以将CPU性能提高13%,但功耗的增幅可以高达73%。显然,超频虽然明显地提高了CPU效能,但每瓦性能实际上严重降低;而如果改用双核心设计,结果刚好反过来,CPU的性能增幅可达到73%,而功耗方面的提升最低仅有2%,每瓦性能的提升幅度相当可观。第二,使用更先进的半导体工艺也能够达到提高每瓦性能的目的,因为利用新工艺制造芯片,晶体管的线宽明显降低,更低的电压即可驱动,这就可以达到降低功耗的效果。一般来说,使用新工艺可以让处理器的功耗有大约30%的降幅,但这必须在解决好晶体管漏电流难题后方可实现。与上述两项措施不同,节能技术无法直接提高每瓦性能,但它可以通过频率/电压的动态调节让用户实现按需计算,即在保证任务质量的前提下将能源消耗降低到最低限度,从而明显提高用户满意度。英特尔将在下半年推出的Conroe、Merom、Woodcrest等处理器产品便综合运用了上述技术手段:采用革命性的Core微架构、全面采用双核心设计、引入先进的65纳米制造工艺以及增强型Speedstep节能技术。除此之外我们还能看到Virtualization虚拟技术、64位X86以及128位SSE指令支持等许多新特性。英特尔借此实现产品竞争力的跨越式提升,意图从AMD手中夺回竞争的主动权。Core微架构首度披露我们曾向大家详细介绍过Core微架构的核心思想(当时暂称为Merom架构),但当时更多限于理论技术的探讨。英特尔在本届技术峰会上彻底揭开Core微架构的面纱,并将相关技术特性归纳为“WideDynamicExecution(超宽的动态执行单元)”、“AdvancedDigitalMediaBoost(高级数字媒体加速器)”、“AdvancedSmartCache(高级智能快速缓存)”、“SmartMemoryAcess(智能内存访问技术)”和“IntelligentPowerCapability(智能型电量管理)”等五个关键点。Core微架构的主要技术规格:●14级流水线设计,65纳米应变硅工艺制造。●已知产品最高频率不超过3GHz,对应667MHz/800MHz/1066MHz/1333MHz前端总线。●支持EM64T扩展技术、SSE3指令集以及Vanderpool虚拟化技术。●双核心架构,每个核心各建32KB一级指令缓存与32KB一级数据缓存;两个核心共享2MB或4MB二级缓存。●每个核心建四组指令解码器和五个执行单元,可同时处理96个指令(96inflight)●支持微指令融合(Micro-Opfusion)与宏指令融合(Macro-Opfusion)机制。●改良后的指令/数据预取机制、内存数据相依性预测功能(MemoryDisambiguation)。●增强的电源管理机制。超宽动态执行单元我们知道,X86指令可分为乱序指令和动态指令两大类,前者只包含一个控制运算指令,因此也被称为简单指令。例如A+B、A-B之类的算术/逻辑运算操作以及StoreA、B之类的数据储存/载入操作,这些指令可以不按照顺序同时进行,因此通过提升并行能力可以有效增强乱序指令的效能。动态指令则包含条件控制语句,必须严格按顺序执行的语句,例如比较A、B两个参数大小,如果AB就跳转到C指令,否则跳转到D指令。动态指令通常由多个指令构成,它也被称作是复杂指令。在X86程序中,简单指令占据80%的比重,复杂指令占据20%,但它们的硬件资源消耗刚好相反,执行简单指令只花费CPU20%的运算资源,而数量少得多的复杂指令却消耗了剩下的80%资源(也消耗了80%的电能)。Core微架构的设计思想便是尽可能提高复杂指令的执行效率,减少其资源占用,同时提高简单指令的并行能力,从而大大提升处理器的执行效率。在CPU内部,一个指令的执行过程必须经过解码器解码后交给相应的运算单元加以执行。解码操作的实质就是将长度不一的X86指令分解为多个固定长度的微指令(类似RISC指令),以提高后续处理的效率。因此,要让CPU拥有尽可能高的并图1Core微架构逻辑示意技术精粹DeepTechnologyTechFrontier190个人电脑微架构的指令解码和执行单元,它采用4-1-1-1结构的解码器设计。更好地利用。据英特尔表示,该技术令处理器的整数运算性能提高5%、浮点性能则提高了9%,实际效果十分明显。而Core微架构在此基础上更进一步,英特尔为它引入了“宏操作融合技术(Macro-OpFusion)”,该技术可以将动态指令中的比较(compare)与跳跃(jump)语句融合为一条指令,让复杂指令解码器事实上拥有同时处理两条指令的能力。因此,Core微架构最多可以在一个周期内对五条指令同时解码,指令的并行处理能力大增,解码效率比Banias/Dothan/Yonah处理器整整高出67%。但我们必须提到的是,宏操作融合需要代码的支持,如果程序能够为该项特性作专门优化,那么程序的执行处理能力,首先就要增加指令解码器的数量。每个解码器对应一个指令,解码器数量越多,并行执行能力就越强。遗憾的是,X86指令系统远比RISC指令系统来得复杂,指令长度、格式与定址模式都非常紊乱,受此制约微处理器厂商一直都无法在自己的产品中设计三个以上的解码器,包括P6/PentiumM、NetBurst、K7/K8架构产品都是采用三个解码器设计。而在具体实现上,有传统的“简单-复杂”专用解码器以及通用解码器两种设计方案。英特尔的P6/PentiumM架构、AMDK7/K8架构都属于“简单-复杂”专用体系,解码器要么对应简单指令,要么对应复杂指令。P6架构的指令解码器为4-1-1结构,对应一个复杂指令解码器(complexdecoder)和两个简单指令解码器(simpledecoder),每个时钟周期内可以同时处理三条指令。其中,复杂指令解码器可对包含2-4个微指令的复杂指令作解码处理,但若遇到更加复杂的指令,解码器就会呼叫微码循序器(MicrocodeSequencer),将复杂指令分解为多个微指令系列分别执行。NetBurst架构的指令解码器则完全不同,它不再有简单、复杂之分,每个解码器都能处理简单指令和复杂指令,当遇到动态指令较多的应用时,NetBurst架构具有较高的效率;可一旦遭遇简单指令较多的应用,NetBurst的通用解码器效率平平,加之流水线过长,一旦分支预测代价巨大,使得NetBurst架构整体性能不高。后来的BaniasPentiumM架构又回复到P6架构的4-1-1经典方案,将复杂指令和简单指令重新分开,只是增加了微操作融合技术来提高指令的执行效率,这被实践证明非常可靠。同样,Core微架构在指令解码器设计上也回复到P6/Banias体系,即采用简单解码器和复杂解码器相互独立的方案。但不同之处在于Core微架构将简单解码器的数量提高到三个,复杂解码器则仍为一个,它最多能够处理由四个微指令组成的复杂X86指令,由此形成4-1-1-1结构。因此从这方面来看,Core与P6/Banias架构并没有本质性不同。相对于P6架构,BaniasPentiumM引入微操作融合(Micro-OpFusion)技术提高效率,该技术可以将多个解码后、具有相似点的微指令融合为一个,从而减少微指令的数量,让有限的硬件资源获得行效率可获得明显的提升;如果程序未对它作优化,在多数时候解码器只能处理四条指令。作为对比,我们不妨来看看AMDK7/K8架构,这两者都只是提供4-1-1指令解码能力
本文标题:英特尔Core微架构终极解密
链接地址:https://www.777doc.com/doc-7348839 .html