Core微架构:并非完美
2006-3-31 15:21:13

网界网记者 谢文砚

英特尔微处理器家族的内部结构因不同的用途而异,多年来这一家族有基于P5架构的PentiumP6架构的Pentium Pro/II/IIINetBurst架构的Pentium 4/D及至强,以及Banias架构的Pentium M

在英特尔的熏陶下,我们理所当然地认为服务器、台式机与笔记本的微处理器架构是应该不同的—但这一基本事实,或许半年后将发生改变,英特尔将在笔记本、台式PCPC服务器平台上采用统一的Core微架构。

那么这一架构的技术特征如何?是否真如英特尔所说的那样尽善尽美?

先看看微指令融合,这是从Pentium M开始出现的设计,通过减少原先P6微架构下指令编译后的微指令数目,来改善指令编译器及处理单元的效能。10年前AMDK5上和IntelPentium Pro上的尝试开始,x86处理器在设计时大量引入微指令转译的概念,主要原因就在于简化指令编译器、管线化控制单元和数据路径的设计,以利于制造高频率的产品以及改善“常用简单指令”的执行效率。

而“微指令融合”技术的目的,在于减少微指令(micro-operation)的数量。因为内部处理单元的资源有限,如果可以减少微指令的数目,就意味着实际处理中的指令就越多,也意味着就是更大的内部处理带宽,提升处理效能。

同时,由于减少了微指令,也可以起到省电的作用。根据英特尔的官方说法,采用微指令融合技术后,处理器的整数运算性能可以提升5%,浮点运算性能则可提升9%

超强的四组指令编译器

Core微架构的最大特色,就是采取四组指令编译器,可在单一频率周期内,编译四个x86指令。 Core架构延续了先前P6Banias微架构的方式,由三组简单编译器(Simple Decoder)与一组复杂编译器(Complex Decoder)组成。

四组指令编译器中,仅有复杂编译器可处理最多由四个微指令所组成的复杂x86指令;如果不幸碰到非常复杂的指令,复杂编译器就必须呼叫微码循序器(Microcode Sequencer),以便取得微指令序列。

为了配合超宽的编译单元,Core微架构的指令读取单元在一个频率周期内,从第一阶指令快取中,抓取六个x86指令至指令编译缓冲区(Instruction Queue),判定是否有符合宏指令融合的配对,然后再将最多五个x86指令,交派给四组指令编译器。

四组指令编译器在每个频率周期中,发给保留站(Reservation Station)四个编译后的微指令,保留站再将存放的微指令交派(dispatch)给五个执行单元。

内存I/O不再是瓶颈

Core微架构为了弥补缺乏内存控制器、导致内存存取延迟较长的缺憾,在内存系统上花了很大的功夫。其核心目标分别是“如何尽早取得所需要的数据”及“如何尽量将所需要的数据,放在最接近处理器核心的位置”。

内存数据依存性预测功能正是为解决第一个需求而诞生的。过去,如果在回存指令后紧接着有一个加载指令,因为目标内存地址可能相同,为了确保内存数据一致性(Memory Consistency),必须等待该回存动作结束后,才能执行该加载动作。

为此,Core微架构提供内存数据依存性预测功能,可在处理器将数据回存内存的同时,预测后继的加载指令是否采用相同的内存地址。如果不是,就可立即执行加载动作,无须等待该回存指令,这可大幅改善乱序执行(Out-Of-Order Execution)核心的效率,并缩短存取内存的延迟。

而增强的“预先加载机制”则可满足第二项要求。Core微架构每个核心分别内建一组指令及二组数据预先抓取器,而共享的二级缓存内建两组、可动态分配至不同的核心的数据预先抓取器,可根据应用程序数据的行为,进行指令与数据的预先抓取动作,让所需要的内存地址数据,尽量存放在缓存中,减少读取内存的次数。

电源管理:实在省电

Core微架构的电源管理机制基本上改良自Pentium MYonah的设计,即处理器内各功能单元并非随时保持启动状态,而是根据预测机制,仅启动需要的功能单元。不过在Core微架构上,新采用的分离式总线(Split Buses)、数字热感应器(Digital Thermal Sensor)以及平台环境控制接口(Platform Environment Control Interface)等技术的实际效果,要比以往模糊的省电效果实在得多。

x86处理器内的总线,往往仅为了应付特殊的需求而加长宽度,例如最长15字节的x86指令,或者是ALU单元写回128位数据等等,但大多数情况都不需要这么宽,导致电能浪费在这些额外的总线线路上。Core微架构导入分离式总线,仅有遇到特殊状况时,才会启动全部的总线宽度,平时仅启动一半的宽度,以节约电能。

同时,Core微架构在处理器中最容易发热的位置,放置数字热量传感器(Digital Thermal Sensor),通过专门的控制电路,监控处理器的发热量以及运作模式,然后动态调整系统电压、系统风扇转速。

至于平台环境控制接口(Platform Environment Control Interface),则可将处理器的实际温度回报给系统,调整散热风扇的运作模式,这对服务器系统颇有帮助。

并非完美

不过千万不能认为Core微架构是一个兼顾效能及省电的完美设计。实际上Core微架构仍然存在一些隐患。

首先就在于核心频率的提升空间有限。因为Core微架构多少有些应急的味道,因而在45nm制程之前,Core微架构的核心频率不可能超过3GHz,这多少会影响Intel处理器的性能。而IBMPower6上采用的“多核+高频”的模式,看来短时间内还无人能模仿。

其次,Core微架构是一个非常精密复杂的设计,开发与验证成本肯定很高,而且并不像NetBurst架构,是一个“能轻松增加新功能与新指令的微架构”,除非英特尔按照“Prescott模式”,事先在Core微架构上做好日后所需要的新功能,或着日后不需要增加新花样,否则Core微架构这样一路走下来,大概会打破x86处理器微架构的开发经费纪录。

不过话说回来,虽然贵了点,Core微架构对业界的贡献还是很大的,因为它代表着这样一种思路:即在降低耗电量的前提下,追求合理的效能,而并非过去的“唯性能论”。实际上,这也是微处理器业界目前的一个挑战,或许ATInVIDIA都该好好反思一下各自的开发蓝图了。

采用Core微架构的Xeon一览表
型号
核心主频(GHz )
前端总线(MHz)
二级缓存(MB)
千枚单价(美元)
Xeon DP 5160
3.00
1333
4
851
Xeon DP 5150
2.66
1333
4
690
Xeon DP 5140
2.33
1333
4
455
Xeon DP 5130
2.00
1333
4
316
Xeon DP 5120
1.86
1333
4
256
Xeon DP 5110
1.60
1333
4
209
表注:Xeon DP的最高功耗为80W。基于Core微架构的Xeon MP“Clovertown MP”与“Tigerton”预计2007年第一季度推出,届时英特尔x86四大产品线,将全面采用Core微架构,NetBurst从此寿终正寝。
数据来源:www.intel.com

20min.jpg

 Core微架构的主要特征

65nm制程

14级有效管线

■ 已知产品最高频率不超过3GHz

■ 对应667MHz/800MHz/1066MHz/1333MHz FSB

■ 支持EM64TSSE3指令集,以及Vanderpool虚拟化技术

■ 双核心架构,两个核心共享2MB4MB二级缓存

■ 每个核心各内建32kB指令缓存与32kB数据缓存

■ 每个核心内建四组指令编译器

■ 支持微指令融合(Micro-Op fusion)与宏指令融合(Macro-Op fusion)机制

■ 每个核心可同时处理96个指令

每个核心内建五个执行单元

(网页编辑:程永来
推荐阅读
·Web2.0 网站安全优化培训 
·“核”问题解读—双核服务... 
·租赁与增值视讯业务的两栖运营 
·“馒头血案”与IPTV 
·软件不能开源到这样的地步 
·抢占CMDB制高点 
·IT“3.15”想说就开口-倾... 
·日本2010年电信相关产业市... 
·走出“真假”双核旋涡 
·RFID市场身份证当家 
  英特尔功耗散热白皮书
  英特尔处理器性能指标
相关文章
处理器平台又要热闹了
挖墙脚 AMD雇用英特尔安腾高级设计师
Unix产业的引擎—探析Power5+处理器技术
在创新中突破—2005年服务器技术回顾
技术与应用的新轮回—2006年服务器技术展望