2006年下半年,Intel即将推出Merom/Conroe/Woodcrest等新一代处理器,这些产品的最大亮点是使用了全新的Core微架构。 据Intel人员介绍,采用新架构的处理器功耗比现有90nm的产品低30%以上,性能提高至少20%。Core微架构的威力真有这么大吗?
Core微架构五大关键特性 关键特性之一:超宽动态执行单元(Wide Dynamic Execution)
“超宽”的实质效果就是“效率提升”。在“超宽动态执行单元”这一概念中,超宽的解码单元和强化的指令预取能力是最主要的组成部分。 1.超宽的解码单元
NetBurst架构效率低下有两大原因,流水线过长只是其中之一,另一“元凶”则是通用解码器效率不高。在CPU内部,一个指令被送到运算单元执行以 前,必须先经过解码器进行解码,也就是把长度不一的X86指令分解为多个固定长度的微指令。解码效率的高低对程序的运行速度有着至关重要的影响。 CPU解码器面对的指令要么是简单指令,要么是复杂指令。按照“简单-复杂”的原则,CPU解码器可以设计成两种类型:一种对应简单指令,我们称之为 简单指令解码器;另一种对应复杂指令,我们称之为复杂指令解码器。长期以来,X86处理器的解码器都使用了“简单-复杂”的专用体系,比如 P6/Pentium M、AMD K7/K8等架构。以经典的P6架构(注:Pentium Pro、Pentium Ⅱ和Pentium Ⅲ都采用了P6架构)为例,该架构的指令解码器是由一个复杂指令解码器和两个简单指令解码器构成,每个时钟周期可同时处理3个指令,其中复杂指令解码器最 多可以对包含4个微指令的复杂指令作解码处理,如果“不幸”遇到更复杂的指令,解码器就必须呼叫微码循序器,通过它把复杂指令分解成多个微指令系列进行处 理。
Core微架构主要技术规格 ★65nm应变硅和Low-K(低k电介质)制造工艺;
★14级流水线设计; ★对应667MHz/800MHz/1066MHz/1333MHz前端总线;
★支持EM64T扩展技术、SSE3指令集以及Vanderpool虚拟化技术; ★双核心架构,每个核心内建32KB一级指令缓存与32KB一级数据缓存,两个核心共享2MB或4MB二级缓存;
★每个核心内建四组指令解码器和五个执行单元,可同时处理96个指令; ★支持微指令融合(Micro-Op fusion)与宏指令融合(Macro-Op fusion)机制;
★强化指令和数据预取机制,引入内存数据相依预测技术; ★智能电源管理技术,保证芯片的低能耗运作。
小知识 X86指令
X86指令可以分为简单指令和复杂指令。简单指令只包含了一个控制运算指令,比如A+B、A×B之类的简单算术运算,由于这些指令可以不按顺序执行,因 此也被称为乱序指令;复杂指令包含了2个或多个微指令,它通常是含有条件控制语句的指令,比如当AB时,程序就跳转到C指令,否则就跳转到D指令,复杂指 令也因此被称为动态指令。
新一代CPU样品
Intel宏指令融合技术示意图 在NetBurst架构中,Intel取消了解码器的简单与复杂之分,每个解码器都能处理简单指令和复杂指令,此举在处理动态指令较多的应用时,解码 器可以发挥较高的效率,但当遇到简单指令较多的应用时,解码器的效率反而不高。为解决这一问题,在设计Core的架构时,Intel除了将流水线长度从 Prescott时代的31级缩短至14级,还让解码器回归到传统的“简单-复杂”专用体系,不过与P6/Pentium M不同的是,Core架构的解码器数量被提升至4个,其中复杂解码器仍为1个,但简单解码器增至3个。
由于X86指令系统复杂,Core 架构中多达4个解码器已经是一种突破,想再增加解码器的数量,特别是增加复杂解码器的数量会有不小的困难。在X86程序中,复杂指令虽然只占据了程序数量 20%的比重,但它却要花费CPU 80%的运算资源。看来解码效率要有跨越式的提升,还需要其他手段进行辅助。为此,Core架构在继承Pentium M的微操作融合(Micro-Op Fusion)技术(该技术把多个解码后具有相似点的微指令融合为一个,减少了微指令的数量,从而提高CPU的工作效率)的基础上,还创造性地引入了宏操 作融合(Macro-Op Fusion)技术。 宏操作融合技术的巧妙之处,就在于它能把比较(compare)和跳跃语句(jump)融合成一条指令,这样一来,复杂指令解码器就间接拥有同时处理 两条指令的能力。在最佳优化的情况下,Core架构在一个周期内最多可以对5条指令同时解码,解码效率有了实质性的提升。
2.强化的指令预取 能力 “好马还要配好鞍”。解码效率的提升,必然要求预取单元供给充足数量的指令。Core架构也充分认识到这一点,它的指令预取单元每次可以从一级缓存中 获得6个X86指令,由此满足了指令解码器的需求。指令经过译码后,再作重命名/地址分配、重排序等优化,最后送到调度器中,由调度器分派给运算单元进行 处理。
关键特性之二:高级数字媒体加速器(Advanced Digital Media Boost) 高级数字媒体加速器的核心内容就是增强SSE执行单元的运算性能。在Core架构上,Intel首次对SSE执行单元提供完整的128位支持。此举究 竟有什么含义?以Yonah为例,它仅能实现64位支持,要执行一条128位SSE指令就要花费两个时钟周期,而Core只要一个时钟周期就可以完成。虽 然NetBurst架构也提供了128位执行单元,但它仅有一组,SSE性能增长幅度远不如Core那么明显。在完整的128位SSE执行单元的作用 下,Core架构可以在一个时钟周期内同时执行128位乘法、128位加法、128位数据加载及128位数据回存,或同时执行4个32位单精度浮点乘法与 4个32位单精度浮点加法,这是Yonah、Pentium D的两倍。目前SSE在游戏及多媒体中有着广泛的应用,看来Conroe在游戏测试中的耀眼表现并非虚谈。
关键特性之三:高级智能快速缓存 (Advanced Smart Cache) 与Yonah一样,Core架构使用了双核共享二级缓存的方案,它可以避免缓存作频繁的同步更新,增强了双核的协作效率。Core架构同样继承了 Pentium M的低功耗缓存技术,避免了大容量二级缓存带来的高功耗情形。
注:有关Core架构的高级智能快速缓存技术,大家可参阅本报2006年第11期D9版《主流双核处理器协作机制剖析》一文,该特性与Core Duo使用的共享缓存技术基本一致。 关键特性之四:智能内存访问技术(Smart Memory Access)
为了提升CPU访问内存的效率,Intel为Core带来了崭新的智能内存访问技术,它包括内存数据相依预测和强化的数据预取机制两项措施。 1.内存相依预测功能
目前CPU如果碰到写入、读取相连的指令序列,就要先执行写入指令,然后再执行读取指令。这样设计主要是考虑当读取和写入针对相同的内存地址时,CPU 就有可能读取到写入前的无效数据,但当写入和读取的内存地址不一样时,CPU如此设计就等于浪费了时间在那边空等。为了解决这一问题,Core架构引入了 内存数据相依性预测功能,CPU会判断后续的读取指令是否操作相同的内存地址,如果不一样,CPU就可以同时进行写入与读取的并行操作。此举对提高乱序指 令的执行效率有不小的作用。 2.强化的数据预取机制
为了减少CPU访问内存的次数,Core架构还对数据预取机制进行了强化。Core 架构为每个核心提供了两组数据预取逻辑,连二级缓存控制器也内置了两组,比起以往,可被存储到缓存单元内的程序数据增加了,CPU访问内存的次数也就相应 减少了。此举对于内存性能的提升有积极的作用。 关键特性之五:智能电源管理(Intelligent Power Capability)
Core架构产品的低功耗表现,除了得益于核心架构的改变,还与智能型电源管理的增强有着密不可分的关系。除了我们熟悉的增强型SpeedStep功能 外(可对电压/频率进行动态调节,允许以单核模式运行),Core架构的智能电源管理还有以下几个亮点: 1.动态激活/关闭功能单元
Core架构把电源管理范围细化到CPU内部的各个逻辑单元。有时候,CPU内部的部分逻辑单元并没有处于激活的状态,如果可以在需要的时候才让它们运 转,不需要的时候让它们暂时休眠一下,CPU就可以进一步减少无意义的能源消耗。动态激活/关闭功能单元就可以起到这个效果。 2.分离式前端总线
Core架构继承了以往64位前端总线设计,但在减少前端总线的能源消耗上,它采用了一个巧妙的“手笔”——引入分离式前端总线设计。当前端总线传输的 数据并不多时,前端总线只会开启32位,另外32位暂时处于关闭状态,而当传输数据较多时,全部的传输线路又会被开启,此举有效减少了前端总线的无谓能源 消耗。 3.更精确的运行温度控制
为了对温度实施更精确的控制,Core架构在CPU内的数个热点放置了数字热量传感器,通过专门的控制 电路,CPU可以精确获知当前的发热量并迅速调整好运作模式。对于笔记本产品,Core架构提供了PSI-2功能,它能实时通知系统现在的耗电状况,以方 便对电压进行动态调整。而对于服务器产品,Core架构则提供了平台环境控制界面功能,系统可以根据该功能传回的实际温度调整散热风扇的运作模式。 结语
基于Core微架构的产品即将正式发布,从Intel的宣传力度和现有的一些性能测试数据来看,Core微架构的确带给我们无限的遐想和企盼。面对Intel咄咄逼人的气势,AMD会甘于雌伏吗?我们期待双方新一轮的精彩对决尽快到来。
Core微架构五大关键特性 关键特性之一:超宽动态执行单元(Wide Dynamic Execution)
“超宽”的实质效果就是“效率提升”。在“超宽动态执行单元”这一概念中,超宽的解码单元和强化的指令预取能力是最主要的组成部分。 1.超宽的解码单元
NetBurst架构效率低下有两大原因,流水线过长只是其中之一,另一“元凶”则是通用解码器效率不高。在CPU内部,一个指令被送到运算单元执行以 前,必须先经过解码器进行解码,也就是把长度不一的X86指令分解为多个固定长度的微指令。解码效率的高低对程序的运行速度有着至关重要的影响。 CPU解码器面对的指令要么是简单指令,要么是复杂指令。按照“简单-复杂”的原则,CPU解码器可以设计成两种类型:一种对应简单指令,我们称之为 简单指令解码器;另一种对应复杂指令,我们称之为复杂指令解码器。长期以来,X86处理器的解码器都使用了“简单-复杂”的专用体系,比如 P6/Pentium M、AMD K7/K8等架构。以经典的P6架构(注:Pentium Pro、Pentium Ⅱ和Pentium Ⅲ都采用了P6架构)为例,该架构的指令解码器是由一个复杂指令解码器和两个简单指令解码器构成,每个时钟周期可同时处理3个指令,其中复杂指令解码器最 多可以对包含4个微指令的复杂指令作解码处理,如果“不幸”遇到更复杂的指令,解码器就必须呼叫微码循序器,通过它把复杂指令分解成多个微指令系列进行处 理。
Core微架构主要技术规格 ★65nm应变硅和Low-K(低k电介质)制造工艺;
★14级流水线设计; ★对应667MHz/800MHz/1066MHz/1333MHz前端总线;
★支持EM64T扩展技术、SSE3指令集以及Vanderpool虚拟化技术; ★双核心架构,每个核心内建32KB一级指令缓存与32KB一级数据缓存,两个核心共享2MB或4MB二级缓存;
★每个核心内建四组指令解码器和五个执行单元,可同时处理96个指令; ★支持微指令融合(Micro-Op fusion)与宏指令融合(Macro-Op fusion)机制;
★强化指令和数据预取机制,引入内存数据相依预测技术; ★智能电源管理技术,保证芯片的低能耗运作。
小知识 X86指令
X86指令可以分为简单指令和复杂指令。简单指令只包含了一个控制运算指令,比如A+B、A×B之类的简单算术运算,由于这些指令可以不按顺序执行,因 此也被称为乱序指令;复杂指令包含了2个或多个微指令,它通常是含有条件控制语句的指令,比如当AB时,程序就跳转到C指令,否则就跳转到D指令,复杂指 令也因此被称为动态指令。
新一代CPU样品
Intel宏指令融合技术示意图 在NetBurst架构中,Intel取消了解码器的简单与复杂之分,每个解码器都能处理简单指令和复杂指令,此举在处理动态指令较多的应用时,解码 器可以发挥较高的效率,但当遇到简单指令较多的应用时,解码器的效率反而不高。为解决这一问题,在设计Core的架构时,Intel除了将流水线长度从 Prescott时代的31级缩短至14级,还让解码器回归到传统的“简单-复杂”专用体系,不过与P6/Pentium M不同的是,Core架构的解码器数量被提升至4个,其中复杂解码器仍为1个,但简单解码器增至3个。
由于X86指令系统复杂,Core 架构中多达4个解码器已经是一种突破,想再增加解码器的数量,特别是增加复杂解码器的数量会有不小的困难。在X86程序中,复杂指令虽然只占据了程序数量 20%的比重,但它却要花费CPU 80%的运算资源。看来解码效率要有跨越式的提升,还需要其他手段进行辅助。为此,Core架构在继承Pentium M的微操作融合(Micro-Op Fusion)技术(该技术把多个解码后具有相似点的微指令融合为一个,减少了微指令的数量,从而提高CPU的工作效率)的基础上,还创造性地引入了宏操 作融合(Macro-Op Fusion)技术。 宏操作融合技术的巧妙之处,就在于它能把比较(compare)和跳跃语句(jump)融合成一条指令,这样一来,复杂指令解码器就间接拥有同时处理 两条指令的能力。在最佳优化的情况下,Core架构在一个周期内最多可以对5条指令同时解码,解码效率有了实质性的提升。
2.强化的指令预取 能力 “好马还要配好鞍”。解码效率的提升,必然要求预取单元供给充足数量的指令。Core架构也充分认识到这一点,它的指令预取单元每次可以从一级缓存中 获得6个X86指令,由此满足了指令解码器的需求。指令经过译码后,再作重命名/地址分配、重排序等优化,最后送到调度器中,由调度器分派给运算单元进行 处理。
关键特性之二:高级数字媒体加速器(Advanced Digital Media Boost) 高级数字媒体加速器的核心内容就是增强SSE执行单元的运算性能。在Core架构上,Intel首次对SSE执行单元提供完整的128位支持。此举究 竟有什么含义?以Yonah为例,它仅能实现64位支持,要执行一条128位SSE指令就要花费两个时钟周期,而Core只要一个时钟周期就可以完成。虽 然NetBurst架构也提供了128位执行单元,但它仅有一组,SSE性能增长幅度远不如Core那么明显。在完整的128位SSE执行单元的作用 下,Core架构可以在一个时钟周期内同时执行128位乘法、128位加法、128位数据加载及128位数据回存,或同时执行4个32位单精度浮点乘法与 4个32位单精度浮点加法,这是Yonah、Pentium D的两倍。目前SSE在游戏及多媒体中有着广泛的应用,看来Conroe在游戏测试中的耀眼表现并非虚谈。
关键特性之三:高级智能快速缓存 (Advanced Smart Cache) 与Yonah一样,Core架构使用了双核共享二级缓存的方案,它可以避免缓存作频繁的同步更新,增强了双核的协作效率。Core架构同样继承了 Pentium M的低功耗缓存技术,避免了大容量二级缓存带来的高功耗情形。
注:有关Core架构的高级智能快速缓存技术,大家可参阅本报2006年第11期D9版《主流双核处理器协作机制剖析》一文,该特性与Core Duo使用的共享缓存技术基本一致。 关键特性之四:智能内存访问技术(Smart Memory Access)
为了提升CPU访问内存的效率,Intel为Core带来了崭新的智能内存访问技术,它包括内存数据相依预测和强化的数据预取机制两项措施。 1.内存相依预测功能
目前CPU如果碰到写入、读取相连的指令序列,就要先执行写入指令,然后再执行读取指令。这样设计主要是考虑当读取和写入针对相同的内存地址时,CPU 就有可能读取到写入前的无效数据,但当写入和读取的内存地址不一样时,CPU如此设计就等于浪费了时间在那边空等。为了解决这一问题,Core架构引入了 内存数据相依性预测功能,CPU会判断后续的读取指令是否操作相同的内存地址,如果不一样,CPU就可以同时进行写入与读取的并行操作。此举对提高乱序指 令的执行效率有不小的作用。 2.强化的数据预取机制
为了减少CPU访问内存的次数,Core架构还对数据预取机制进行了强化。Core 架构为每个核心提供了两组数据预取逻辑,连二级缓存控制器也内置了两组,比起以往,可被存储到缓存单元内的程序数据增加了,CPU访问内存的次数也就相应 减少了。此举对于内存性能的提升有积极的作用。 关键特性之五:智能电源管理(Intelligent Power Capability)
Core架构产品的低功耗表现,除了得益于核心架构的改变,还与智能型电源管理的增强有着密不可分的关系。除了我们熟悉的增强型SpeedStep功能 外(可对电压/频率进行动态调节,允许以单核模式运行),Core架构的智能电源管理还有以下几个亮点: 1.动态激活/关闭功能单元
Core架构把电源管理范围细化到CPU内部的各个逻辑单元。有时候,CPU内部的部分逻辑单元并没有处于激活的状态,如果可以在需要的时候才让它们运 转,不需要的时候让它们暂时休眠一下,CPU就可以进一步减少无意义的能源消耗。动态激活/关闭功能单元就可以起到这个效果。 2.分离式前端总线
Core架构继承了以往64位前端总线设计,但在减少前端总线的能源消耗上,它采用了一个巧妙的“手笔”——引入分离式前端总线设计。当前端总线传输的 数据并不多时,前端总线只会开启32位,另外32位暂时处于关闭状态,而当传输数据较多时,全部的传输线路又会被开启,此举有效减少了前端总线的无谓能源 消耗。 3.更精确的运行温度控制
为了对温度实施更精确的控制,Core架构在CPU内的数个热点放置了数字热量传感器,通过专门的控制 电路,CPU可以精确获知当前的发热量并迅速调整好运作模式。对于笔记本产品,Core架构提供了PSI-2功能,它能实时通知系统现在的耗电状况,以方 便对电压进行动态调整。而对于服务器产品,Core架构则提供了平台环境控制界面功能,系统可以根据该功能传回的实际温度调整散热风扇的运作模式。 结语
基于Core微架构的产品即将正式发布,从Intel的宣传力度和现有的一些性能测试数据来看,Core微架构的确带给我们无限的遐想和企盼。面对Intel咄咄逼人的气势,AMD会甘于雌伏吗?我们期待双方新一轮的精彩对决尽快到来。