心蝴蝶飞了 新迅驰来了


新一代酷睿2双核处理器

    尽管代号与上一代Napa Refresh平台相同,但新的酷睿2双核处理器还是具备诸多新特性,并且这恐怕也是新一代迅驰平台中改动最大的部件之一了。需要说明的是,目前发布的酷睿2双核处理器中,型号为Core 2 Duo T7100的处理器可以算是一个另类,它不仅是唯一一款主频低于2GHz的标准电压处理器,也是唯一一款二级缓存为2MB的产品。除此之外,已经发布的T7300/T500/T7700全部具备4MB容量的二级缓存。

    新的酷睿2双核处理器采用了Socket P接口,而之前的产品则是Socket M接口,这就意味着我们无法将新一代迅驰中的任何一款处理器用于之前的平台,反之亦然。对普通消费者来讲,目前英特尔的处理器型号以及命名方式足以令他们感到眼花缭乱,因此我们列出了目前还在销售的一些处理器的规格表,我们并不希望读者朋友们能够牢记规格表中的每一款处理器的相关参数,而是希望当你在选购笔记本电脑的产品之前可以随时翻阅杂志查看这些数据——把它当作一个备忘录来使用远远要比记住所有参数轻松且实际得多。

从左侧图中,我们可以看出相对Napa系统(右),新一代迅驰系统的酷睿2双核处理器的管脚数分布情况(左)发生了明显的变化。与此相对应,笔记本电脑主板的处理器基座也随之改变,上方右图为老一代Napa系统的Socket M接口基座,上方左图为新一代迅驰系统的Socket P接口基座。


    新的酷睿2双核处理器采用了800MHz外频,由于它们全部基于酷睿微架构,因此我们有必要再次简要回顾一下酷睿微架构及酷睿2双核处理器所具备的诸多先进特性。

宽位动态执行
    酷睿微架构通过提高静态指令并行能力、优化动态指令两种措施实现高效运作,这两种方案在CPU硬件上有不同的实现——针对静态指令,处理器以提高指令并行执行能力应对,而针对动态指令,处理器引入了一项名为“宏操作融合(Macro-Op Fusion)”的指令优化技术,再加上从Pentium M继承而来的“微操作融合(Micro-Op Fusion)”技术,动态指令得以最大程度的精简化,最终让酷睿2双核处理器获得卓越的每瓦性能。

    大家都知道,增强指令并行执行能力是提高CPU效率最有效的办法之一。而在CPU内部,一个指令的执行过程必须经过解码器解码后交给相应的运算单元加以执行,解码操作的实质就是将长度不一的x86指令分解为多个固定长度的微指令(类似RISC指令),以提高后续处理的效率。因此,要让CPU拥有尽可能高的并行处理能力,首先就要增加指令解码器的数量——每个解码器对应一个指令,解码器数量越多,并行执行能力就越强。但这并不是说解码器数量可以无限制地增加,由于x86指令系统远比RISC指令系统来得复杂,指令长度、格式与定址模式都非常紊乱,受此制约处理器厂商一直都无法在自己的产品中设置三个以上的解码器,包括P6/Pentium M、NetBurst、K7/K8架构产品都是采用三个解码器设计,也就是每个时钟周期最多只能对三条指令进行解码。

    而在解码器设计方面,一直都有传统的“简单-复杂”专用解码器以及通用解码器两类设计方案。专用解码器要么只能对静态指令进行解码、要么只能对动态指令解码,具有较高的效率;通用解码器虽然能够同时处理两类指令,但它效率较差——英特尔的P6/Pentium M架构、AMD K7/K8架构都属于“简单-复杂”专用体系,三个解码器由一个复杂指令解码器(Complex decoder)和两个简单指令解码器(Simple decoder)构成的“4-1-1”结构;其中,复杂指令解码器可对包含2~4个微指令的复杂指令作解码处理,但若遇到更加复杂的指令,解码器就会呼叫微码循序器(Microcode Sequencer),将复杂指令分解为多个微指令系列分别执行。到了NetBurst架构出现,情况就发生了变化,英特尔改用通用解码器方案,每个解码器都能处理简单指令和复杂指令,当遇到动态指令较多的应用时,NetBurst架构具有较高的效率;可一旦遭遇简单指令较多的应用,NetBurst的通用解码器效率平平,加之流水线过长,一旦分支预测代价巨大,就会使得NetBurst架构整体性能不高。而在NetBurst之后露面的Banias Pentium M架构则回复到P6架构的4-1-1经典方案,将复杂指令和简单指令重新分开,只是通过多方位改良来提高处理器性能。

    酷睿2双核处理器同样采用专用解码器设计,即采用简单解码器和复杂解码器相互独立的方案,但不同之处在于它将简单解码器的数量提高到三个,复杂解码器仍为一个——由于后者最多可处理由四个微指令组成的动态指令,因此酷睿2双核处理器的解码器就变为4-1-1-1结构。显然,英特尔以某种机制成功克服了x86指令并行解码限制的困扰。

智能内存访问技术
    酷睿2双核处理器并没有整合内存控制器,内存访问延迟仍然较长。为了克服此项缺憾,英特尔发展出一项名为“Smart Memory Access”的智能内存访问技术,它包括“内存数据相依性预测(Memory Disambiguation)”和强化的预取机制,两者共同的目标都是对CPU的内存访问动作进行优化,提升其访存性能。

    内存数据相依性预测技术可有效提高CPU读取数据的效率。在过去,如果遇到写入、读取相连的指令序列,因两者可能操作相同的内存地址,CPU就必须首先执行写入指令,完毕之后再执行读取指令,倘若读取、写入指令同时执行,CPU就有可能读取到写入前的无效数据,从而导致后续运行出错。这个问题对多核心和多处理器系统来说非常尖锐,因为多个处理核心操作相同内存地址的情况十分常见。遇到这种情况,所有处理器都必须停下来按顺序依次进行,处理器数量越多,等待的时间就越长,导致性能不增反降。酷睿2双核处理器所引入的内存数据相依性预测功能很好地解决了这一难题:CPU在执行写入指令时,会预测后续的读取指令是否操作相同的内存地址,如果地址不同,就可以并行执行写入、读取动作,无需等到写入指令完成,因此这项技术可以大幅度改善乱序指令的执行效率。

    酷睿2双核处理器降低内存延迟的另一项有力措施是强化预取机制。预取包括指令预取和数据预取,指令预取机能与CPU执行指令的延迟有关;而与内存延迟相关的则是数据预取机制——酷睿2双核处理器的每个核心都拥有两组数据预取逻辑,二级缓存控制器也内建两组,并可将预取的数据动态分配到不同核心。这样,程序数据可以被尽量放在缓存单元内,减少CPU访问内存的次数,达到提升效能的目的。

高级数字媒体增强
    Advanced Digital Media Boost(高级数字媒体增强)是酷睿2双核处理器中一个新颖的概念,它所指的其实是酷睿2双核处理器中获大幅度增强的SSE执行单元。

    简单点说,就是酷睿2双核处理器的SSE执行单元提供完整的128位支持,每个单元都可以在一个时钟周期内执行一个128位SSE指令,而Yonah核心的酷睿双核处理器仅实现64位支持,要执行一条128位SSE指令的话需要花费两个时钟周期;Pentium 4处理器虽然也拥有128位执行单元,但它仅仅只有一组,实际处理能力相当于酷睿2双核处理器的二分之一。

    在128位SSE执行单元的共同作用下,酷睿微架构可以在一个时钟周期内同时执行128位乘法、128位加法、128位数据载入以及128位数据回存,或者是可以同时执行4个32位单精度浮点乘法和4个32位单精度浮点加法。

    显而易见,SSE性能增强的最大受益者自然是多媒体应用,这也是该项改良被包装成“Advanced Digital Media Boost”的主要理由。

高级智能高速缓存
    对双核处理器来说,采用何种缓存设计关系到两枚核心协作的紧密程度。Pentium D采用独立缓存设计,而且缓存之间缺乏直接沟通的渠道,导致两颗核心无法进行紧密的协作;当两颗核心同时执行一个任务时,为了保持指令执行的步调一致,两个核心的缓存数据必须保持一致性,但Pentium D的二级缓存彼此隔绝、缓存数据同步效率低下——倘若CPU 0的二级缓存需要读取CPU 1的二级缓存,只能经由前端总线、芯片组再到内存,从内存中获取数据进行同步更新,这个繁琐的过程不仅消耗了大量的时钟周期,且占用大量的前端总线带宽资源。

    共享缓存设计被认为是解决上述问题的最佳办法。酷睿2双核处理器便采用一项名为“高级智能高速缓存(Advanced Smart Cache)”的共享缓存技术,让两枚处理核心共同分享4MB或2MB容量的二级缓存,为了解决缓存资源分配的问题,酷睿2双核处理器引入了一项名为“共享总线路由(Shared Bus Router)”的控制逻辑,在双核协作处理单个任务时,CPU内核总是先访问分配给自己的缓存区域,如果发现没有查找到所需的数据就会通过共享总线路由访问分配给另一个CPU内核的缓存资源,整个过程的读取延迟相当于访问三级缓存、当然它也不会挤占任何前端总线的带宽资源。此外,智能高速缓存技术还增加了L2 & DCU Data Pre-fetchers及Deeper Write Output两个缓冲存储器,有效提升了高速缓存的命中率,这也对提高CPU执行效率起到积极的影响。

    除了具有出色的读取效率外,高度弹性也是高级智能高速缓存架构主要优点之一。当遇到两个核心工作量不等时,例如CPU 0负载高于CPU 1,高级智能高速缓存就可以给CPU 0分配更多的缓存资源,保证系统效能的最大化——独立缓存架构就难以做到这一点,CPU只能访问自己的缓存资源无法借用另一个CPU的缓存,在遭遇不均等负载时就会出现某个CPU缓存不够用、不得不访问系统内存,而另一个CPU的缓存资源却大量闲置不用的情况。高级智能高速缓存技术还意味着更高的容量利用率——在节能模式下,酷睿2双核处理器都支持单核心模式运行,如果沿用独立缓存设计,那么此时CPU也只能用到1/2的缓存资源;而共享缓存设计就没有这个问题,不管在何种模式下,CPU的全部二级缓存总是处于有效利用状态,避免系统效能出现太大幅度的下滑。

    超低能耗是高级智能高速缓存技术又一个突出的优点,这项特性实际上始于Banias核心Pentium M,Banias的1MB二级缓存被划分为32×32KB的区域,任意时刻只有一个片区处于激活状态,其余区域则暂停不消耗能源,这样二级缓存的能耗和发热量就被大大降低—由于二级缓存的晶体管数目占据CPU晶体管总量的一半以上,功耗比重也非常可观。Banias使用低能耗缓存设计后,将芯片的TDP功耗控制在24瓦的水平,表现非常出色。之后的Dothan和Yonah核心都将二级缓存提高到2MB,缓存区域划分变为64×32KB,实际能耗并未有多少提升。而酷睿微架构支持2MB和4MB二级缓存,但它们同样继承了这项设计,避免CPU因缓存容量提升而出现功耗快速上扬的情况。酷睿2双核处理器之所以能在配备4MB缓存的条件下还保持低功耗和低发热特性,除了酷睿微架构自身的优势外,高级智能高速缓存技术功不可没。

[an error occurred while processing this directive]

相关文章