AMD的K8处理器可以说第一次真正意义上威胁到了英特尔Pentium 4处理器的龙头地位,而当时的Northwood似乎并没有能力去同Athlon 64处理器一针性能上的高下,毕竟K8合理的设计使得其在众多应用中脱引而出,成为了桌面性能之王;其实对于Northwood核心的Pentium 4来说,其实它已经完成了所有的使命,其出色的效率曾经全面的击翻了整个Athlon XP处理器,但是Northwood在K8面前稍显老态,NetBurst架构的特性限制了这位功臣的进一步发挥,于是英特尔匆匆祭出了PrescoTt核心处理器来应对Athlon 64的竞争。
英特尔的Netburst架构
不过Prescott可能与生俱来就是一个悲剧,虽然拥有最高达到3.8GHz的最高工作频率、拥有最高达2MB的L2缓存,甚至也加入了对X86-64指令的支持,但它超高的发热量,长流水线造成的性能浪费,最终还是没有实现摧毁Athlon 64的任务;相反到是因为Prescott的拙劣表现给了Athlon 64处理器很大的发展空间,AMD先后征服了DIYer和品牌机厂商,最终越来越多的个人电脑开始采用基于K8架构的处理器。
为了增强竞争力英特尔迅速切入到65nm工艺上来,Persler核心以及Cedamill核心的处理器虽然在成本上占据了一定的优势,但却在实际的性能上以及功耗上却丝毫没有一点胜算,而这一切依旧归咎在英特尔继续迷信他那使用了接近6年时光的Netburst架构。另一厢,AMD却因为成功导入90nm工艺和双核处理器继续在桌面市场获得份额的扩大,而凭借K8架构先天的优势,AMD甚至在笔记本市场也开始同英特尔一较长短、Turion 64处理器的成长也算非常顺利,这似乎对英特尔来说都是一个不好的消息,毕竟原本一个弱势的对手,现在拥有了同自己分庭抗争的能力。当然竞争向来就是促进进步的一个巨大推动了,也正是因为这样英特尔才彻底的反思了之前所走的弯路,逐步进行了全新的发展规划,而这种规划对未来处理器市场的影响意义重大。
2005年的IDF展会上,英特尔提出了一个新的架构来替代已经显得不合时宜Nerburst架构,而这种新架构将覆盖笔记本处理器、桌面处理器直到服务器处理器的全领域。2006年的春季IDF,英特尔正式公布了这个架构的名称--Core(中文名酷睿),Core架构被英特尔定义为针对<A href="http://www.8080.net/key_search_new.asp?key=35" target=_blank>现代化的集性能、功耗等方面采用全新设计的微处理器架构。Core架构具备了几乎英特尔前几代处理器所拥有的优势:包括Pentium 4和Pentium M,因此可以把Core架构看做是一个整合体。
英特尔处理器架构和微架构之间的区别。处理器架构指公开面向编程人员的指令集、寄存器及内存数据-常驻数据结构。处理器架构保持了指令集兼容性,因此处理器可以运行为过去、现在和将来几代处理器编写的代码。微架构指的是在芯片上实现的处理器架构。在一个处理器家族内,微架构通常会在保持架构兼容性的同时,不断发生改进,以提高性能和能力。</I> 其实从Pentium处理器诞生之初的P5架构来看,这个架构就已经为现代英特尔处理器奠定了发展的基础,也正是因为这种处理器的出现,才推动了处理器的迅猛发展;基于P6架构的Pentium II/III处理器都堪称是当时设计的经典;而NetBurst架构也成为Pentium 4处理器得以迅速发展的重要基石。
不过从NetBurst架构时代,英特尔出现了一个新的变种架构--英特尔移动(Mobile)架构,当年2001年英特尔在以色列设计新一代x86处理器时,多核心架构的构想其实已经出现。英特尔的多核心概念同传统意义上的<A href="http://www.8080.net/key_search_new.asp?key=28" target=_blank>IBM Power处理器、Sun的UltraSPARC处理器所不同,因为英特尔并不打算让自己的处理器采用并行架构来实现多任务的执行,虽然并行处理器到目前来说依旧可以说是最实际的、也是效果最好的提升性能的方式,但是对于当时来说,英特尔保守使得其失去了领先的机会。英特尔当时认为自己的多核心架构应该是让自己的每个核心在降低功耗的情况下来实现更高的效率,而这多个核心之间进行相互协同,而并不是由一个核心来完成所有的硬件指令,最终促进性能的提升;这种设计理念一直影响着英特尔。
英特尔在以色列的设计团队在这个时候却在功耗和性能比上做到了一个突破,他们实现了在低功耗的情况下实现高效率的办法,而这种架构将完全抛弃桌面平台所使用的NetBurst架构,因为从当时的分析来看(Mobile Pentium 4处理器),想在NetBurst架构上实现性能提升必须通过增加频率,只有增加了工作频率,其更长的流水线效率才会激发,但这就势必导致功耗的提升;于是这个团队放弃了之前已经成形的Mobile NetBurst架构真正开发了一种新的架构,这种架构就是英特尔移动架构,这个架构在一定程度上基于英特尔的P6架构,因为P6架构拥有相当合理的流水线管线长度,并且其单时钟周期执行效率确实非常高,这样在有效的计算时间内获得更多的运算,那么其功耗势必也会降低。
从Pentium M处理器上市之初就表现出来的强劲势头来看,英特尔这个团队设计了一个非常合理的产品,通过优化流水线长度、增加命中率、增加缓存容量、增加工作状态等都让这种架构获胜实至名归。同时也正是移动架构的优秀表现,最终让英特尔决定其新一代的架构将基于移动架构来发展,也就是说Core架构其实大部分还是基于移动架构来进行的改进。
Core架构在推出之初英特尔对其进行了一个大概的应用定义,英特尔认为这个平台应该具有:高效连接性、高可管理性、高安全性以及可靠性,当然最重要的就是计算能力了。同时英特尔第一次为自己的架构提出更高的每瓦特性能的设计要求,同时也对这个平台的多核心化作出了相关的要求。
此外Core架构需要面向服务器、台式机和笔记本应用进行优化,双核的效率应该具有更出色的性能、更强大的多任务处理性能和更高的能效水平,从而各种平台都可以获得好处: 英特尔对Core架构的要求非常高,需要有很好的跨平台性,又要兼顾到功耗,最重要的是其将提供更高的性能。其中特别引人注意的就是英特尔在Core设计中导入的全新的每瓦特效率的设计概念,因为这个概念的出现将真正影响未来英特尔处理器架构的发展,而这也对产业发展产生了重大的影响。
英特尔认为,对于处理器来说性能通常指的是执行给定应用或任务所用的时间,或者指在给定时间内运行多个应用或任务的能力。其实这里很多时候普通人会产生误解,会认为性能就简单的指时钟频率(GHz)或者每时钟周期(IPC)执行的指令数,但是实际上这种理解是不正确的,真正对处理器性能来说应该考虑如下的法则: 性能=频率×每时钟周期的指令
从这个公式来看,性能可以通过单独或同时提高频率和IPC来进行增强。频率是制造工艺和架构共同作用后的结果。在给定的时钟频率下,IPC由处理器架构和具体应用决定。尽管同时提高频率和IPC不一定切实可行,但是提高一项,同时使另一项与前代保持不变,也可显著提高性能。除了上述两种方法之外,还可以通过减少被执行的指令数来提高性能。单指令多数据(SIMD)是一项可用来实现此成效的技术。英特尔于1996年首次在支持MMX技术的Pentium处理器上采用了64位整数单指令多数据(SIMD)指令,随后在Pentium III处理器上推出了128位单指令多数据(SIMD)单精确浮点指令集(SSE),后来又在随后几代处理器上相继亮相了SSE2和SSE3扩展。
其实在英特尔的移动架构中还有一种新技术--宏融合(MicroFusion)。宏融合可将多个常用微操作(处理器内部指令)融合为单个操作,这样就可以减少完成任务所需处理的操作数量。在侧重性能的同时,也需要注意提供出色的能效,而即充分考虑处理器完成具体任务将需消耗的功率就非常重要了。这种功耗就相当于维持IPC功效所需的动态电容(导体上的静电荷与维持电荷所需导体之间电位差的比率)乘以向晶体管和I/O缓冲区供应的电压平方,再乘以交换晶体管和信号的频率。这可以表示为: 功耗=动态电容×电压×电压×频率
考虑到功耗与性能的等式,就需要在IPC功效与动态电容,及优化性能与功耗所需的电压与频率之间做出精确的权衡。而这就是英特尔提高每瓦特性能的基本模式。
流水线深度一直是影响处理器效率的重要因素,流水线深度的增加可以让处理器时钟频率进一步提高,但带来的反面影响就是处理器的单周期执行效率降低、发热量上升,同时容易产生分支预测等问题,因此流水线长度的尺度把握一直是处理器设计中的一个重要核心问题。早期的NetBurst架构的Pentium 4处理器,诸如Williamette和Northwood核心都只有21级的流水线长度,而到了Prescott核心则达到了惊人的31级流水线长度,这种长度要比当年的Pentium III和Athlon处理器高出许多。
管线中的“级”的任务包括分支下一步要执行的指令、分支数据的运算结果、分支结果的存储位置、执行运算等等。最基础的CPU管线可以被分为5级:取指令;解释指令;演算出操作数;执行指令; 存储到高速缓存;当然现代的CPU不可能就这么单纯的分配管线“级”,很多现代的处理器是这么分级的:取指令 1,取指令 2;解释指令 1,译解指令 2;演算出操作数;分派操作;确定时;执行指令;存储到高速缓存 1;存储到高速缓存 2。 在Core架构中,其指令流水线深度达到14级,这个深度是要高于Pentium M的12级,但是却比AMD的K8处理器架构的17级要低上3级。目前的Core架构可能是兼顾执行效率和降低功耗的折中设计。
Core架构中内建了4组指令解码器,包括三组简单解码器和一组复杂解码器,其允许在一个时钟周期内同时解码4个x86指令,其中复杂解码器可以处理器由四个微指令所组成的复杂x86指令。对于4组指令编译器来说,这可以说是空前绝后的,从英特尔的P6架构开始以及AMD的K6架构开始,目前并没有哪款通用x86处理器拥有4组指令编码器。此外,Core架构的每个核心都拥有3个算术逻辑单元(ALU),而之前的NetBurst仅有2个ALU,P6架构的处理器仅为1个,这样的设计使得Core架构拥有比较高的处理能力。 Core架构拥有3组简单指令解码器和一组复杂指令解码器 Core架构五大特点:Wide Dynamic Execution、<A href="http://www.8080.net/key_search_new.asp?key=1" target=_blank>intelligent Power Capability、AdvANCed Digital Media Boost、<A href="http://www.8080.net/key_search_new.asp?key=497" target=_blank>SMART Memory Access以及Advanced Smart Cache 刚刚我们已经谈过衡量一款处理器的性能水平,已经不能再单纯的以频率的高低考量,而是更强调“每瓦特性能”,也就是所谓的能效比(性能/功耗)。根据性能=频率×每时钟周期的指令数的公式,英特尔要提升性能,如果在频率不变的情况下自然就是要增加每时钟周期指令数。而英特尔的宽区动态执行(Intel Wide Dynamic Execution)技术就是通过提升每个时钟周期完成的指令数,从而显著改进执行能力。通俗的说就是,每个内核将变得更加“宽阔”,这样每个内核就可以同时处理更多的指令。 通过英特尔酷睿微体系结构的英特尔宽区动态执行,多核处理器中的每个执行内核都更加宽阔。这样每个内核均可以同时获取、分配、执行和返回4条完整的指令。带有2个内核的处理器就可以同时获取、分配、执行和返回8条指令。</I> 动态执行包含多项技术(数据流分析、预测执行、乱序执行与超标量),这些技术最先出现在Pentium Pro、Pentium II以及Pentium III的P6架构中。而NetBurst结构中,英特尔则用了高级动态执行引擎来用以保持处理器执行单元不断执行指令的乱序预测能力。NetBurst还用到了增强的分支预测算法来减少分支出错的次数。
比正常处理器,Core架构要多出一条指令通道 而在Core架构中,英特尔让Core架构核心每个时钟周期执行更多的指令,以缩短执行时间并且改进效率。在Core架构中每个执行内核将变得更加宽阔,这样它们就可以同时获取、分配、执行和返回达4条完整的指令。(而之前的移动以及NetBurst架构每次只可处理3条指令)。进一步提高效率的特性包括可以进一步提高执行灵活性的更精确的分支预测、更深的指令缓冲区,以及可以缩短执行时间的其它特性。
其中一项可以缩短执行时间的特性就是宏融合。在前几代处理器中,每条进入的指令均会被单独地解码和执行。宏融合可以在解码期间将常用的指令对(如条件分支(conditional jump)后的比较)融合为单个内部指令(微操作)。这样2条程序指令就可以作为1个微操作执行,以减少处理器必须执行的整体工作量。这增加了给定时间内可以运行的全部指令数量,或者减少了运行一定指令数量的时间。通过在更短的时间内完成更多的任务,宏融合提高了整体性能和能效。
英特尔宽区动态执行(Intel Wide Dynamic Execution)</STRONG> Core架构中还拥有增强的运算逻辑单元(ALU),以进一步支持宏融合。它能够在单个周期内执行组合的指令对,从而使性能得到提升。Core架构改进了微操作融合(Micro-ops fusion)技术,这种技术最早出现在Pentium M处理器中,这种技术类似于宏融合。在现代主流处理器中,x86程序指令(微操作)在送往处理器管道接受处理之前,会被细分为多个组成部分,即微操作。微操作融合将“融合”源自相同宏操作中的微操作,以减少需要执行的微操作数量。微操作数量的减少可使时序安排工作更加高效,从而实现更低的功率和更高的性能。
英特尔认为微操作融合可使乱序逻辑处理的微操作数量减少10%以上。在Core架构中,可以内部融合至处理器的微操作数量将进一步增多,自然效率会进一步提升。
对于分支预测来说,英特尔也采用了很多方法来增强,Core架构采用了Pentium M处理器中相同的三相支流预测单元。在Core架构的支流预测单元核心内部有一个双模态预测单元和一个球形预测单元,它们负责记录最近执行过的命令。它会通知前端如何根据早先的执行历史来完成支流的分配。一旦前端决定了支流的方向,它将检索从支流的目标缓冲器中检索目标地址同时开始从新地址执行取指令。Core的双模态、球形两个预测单元并不是核心中仅有的两个支流预测单元。新架构还使用了另外两个曾经首先在Pentium M中出现过的2个支流预测单元:循环回路预测单元和间接分支预测单元。
循环回路预测单元(The loop detector) 智能功率能力(Intel Intelligent Power Capability)</STRONG> Core核心中,许多总线和阵列被分开 英特尔智能功率能力是一组旨在降低功耗和设计要求的能力。这种特性可以管理所有处理器执行内核运行时的功耗。其拥有高级功率门控能力,这种技术可以在仅需要的单独处理器逻辑子系统上运行极其高效的逻辑控制。此外,许多总线和阵列被分开,一些操作模式中的所需数据在不需要时可被变换为低功耗状态。
过去,实现功率门控非常困难,因为在关闭电源和备份时会需要大量的功率,而且回升至全功率时,还需要保持系统的响应性。通过英特尔智能功率能力,这些要求均能够得到满足,从而使功耗在不影响响应性能的前提下得到显著降低。结果,出色的功率优化使英特尔酷睿微体系结构为台式机、笔记本电脑和服务器提供了更多高能效表现。
高级智能高速缓存(Intel Advanced Smart Cache)</B> 以往的多核心处理器,其每个核心的L2缓存是各自独立的,这就造成了L2缓存不能够被充分利用,并且两个核心之间的数据交换路线也更为冗长,影响了处理器工作效率。举例来说,如果两个执行内核需要相同的数据,采用传统设计的核心将会把同样的数据存放到各自管理的L2缓存中,而如果采用L2缓存共享设计,那么只需要数据被载入到L2缓存中,那么数据可以被两个核心同时使用。
同时这样做的好处是每个内核之间都共享着更大的L2缓存,这样需要的时候,其缓存可以被任何一个核心所独占,这样理论上每个核心都有可能获得100%的L2缓存掌控全,特别是对于一些单核心优化的程序,由于不需要使用到第二个核心,这种时候,第二个核心自动关闭降低功耗,而其中一个功耗则可以共享双倍于单核L2缓存容量的空间来存放数据,要知道高速L2缓存的容量越大,可以使得总体效率也有响应提升。
在两个内核无法共享L2高速缓存的多核处理器中,闲置内核就意味着闲置L2高速缓存。尤其是当另外的内核由于L2高速缓存负载过满而承受巨大性能压力的时候,这将是一种巨大的资源浪费。共享L2高速缓存设计可以让正在运行的内核动态使用整个L2高速缓存并获得最佳的性能。</I> 当年英特尔的独立式双核L2缓存设计 其实这是英特尔第一次采用共享式的L2缓存设计,在Pentium D时代,英特尔就是简单的包含了两颗PrescoTT处理器的产品,它的每个核心单独管理自身的L2缓存并且执行对应的指令,两颗核心之间通过普通的系统前端总线进行联系。由于是构筑在普通的前端系统总线上,因此Pentium D处理器在两个核心之间交换数据的速度会比较慢(不可能达到芯片同芯片之间那样的同频),并且当其中一个处理器数据堵塞的时候,另外一个处理器如果要同其进行数据交换,那么就必须处于长期等待的时间,因此执行效率会降低;再加上处理器同内存等其它部份的本身连接,英特尔系统的前端系统总线即使拥有6.4GB/s的带宽可能也并不是足够使用的。 智能内存访问(Intel Smart Memory Access)</B> 英特尔智能内存访问(Intel Smart Memory Access)是另一个能够提高系统性能的特性,通过缩短内存延迟来优化内存数据访问。智能内存访问能够预测系统的需要,从而提前载入或预取数据,反映到用户的直接使用体验上,就是大幅提高了执行程序的效率。
以前我们要从内存中读取数据,就需要等待处理器完成前面的所以指令后才可以进行,这样的效率显然是低下的。而Core架构中可以智能地预测和装载下一条指令所需要的数据,从而优化内存子系统对可用数据带宽的使用,并隐藏内存访问的延迟。该目标是为了确保能够尽快地使用数据,并使该数据可能地用于需要的地方,以将延迟最小化,最终提高效率和速度。
智能内存访问包含一项重要的被称作内存消歧(Memory DisaMBIguATIon)的新能力,该能力提高了乱序处理的效率,因为它可以为执行内核提供内建的智能,以帮助其在执行完所有预先存储的指令前,预测性地载入指令即将需要执行的数据。为了解其工作原理,我们需要了解绝大多数乱序微处理器的情况。
通常情况下,当乱序微处理器重新对指令进行排序时,它不能在存储前对载入数据进行重新编排,因为它不了解是否会破坏某些数据的位置关联性。但是在许多情况下,载入数据与之前的存储无关,完全可以提前载入,进而提高效率。问题在于如何确定哪些可以装载,哪些不可以装载。
内存重叠 我们一起来看一个例子,指令中第一行用来储存在未知内存模块中的13号,接着下一行将红色内存模块中的内容储存到A寄存器中;最后一行执行指令,它将用来补充寄存器A、B中的内容然后把结果放入C中。
其中标记为A、B的两个模块给用户提供了2个存储地址的选择:或者是红色模块区域或者是独立的蓝色区域。如果存储部分以写入红色区域作为结束(A),则存储器必须在载入之前就开始执行命令以使其能在从红色模块中读取更新后的数据并完成接下来的补充指令。如果存储器向蓝色模块写入数据(B),则在载入之前或之后写入数据都无关紧要,这是因为它所更改的是一个独立的存储单元。 上图显示了采用P6或者NetBurst架构的处理器是如何是如何来安排其存储器的运行情况的,同时还包括了对A/B指令的执行情况,客观地说,这种指令的设定相当保守。在这两种情况下,存储指令的目的地址必须首先在内存入口能够被执行之前被得知。直到第二个循环开始,目的地址才可用,这也就意味着直到第二个循环,处理器才能执行存储或者载入命令。 使用/不使用内存消歧完成执行命令
英特尔的内存消歧技术目的之一就是要能够迅速识别出错误的重叠情况,来使存储和载入指令在不用等待地址可用的过程浪费时间,直接完成命令的执行。如上图表显示了B项下使用和不使用内存消歧的情况。从图中我们可以很容易地发现,在使用了内存消歧技术以后,整个存储周期的时间变短,存储器的运行速度也有了明显的提升。 除内存消歧外,英特尔智能内存访问还包含增强的预取器。预取器负责“预取”内存内容,并将其放入高速缓存中,以备读取。增加从高速缓存而非内存的装载量将缩短内存延迟并提高性能。为了让数据位于每个执行内核所需要的地方,英特尔Core体系结构为每个L1高速缓存和L2高速缓存均配置了两个预取器。这些预取器同时检测多个数据流和大跨度的存取类型。这样它们便可以在L1高速缓存中“及时”准备待执行的数据。L2高速缓存的预取器可以分析内核的访问情况,以确保L2高速缓存拥有未来可能需要的数据。总之,改进的预取器和内存消歧通过最大化可用系统总线带宽和隐藏内存子系统延迟,提高了执行吞吐率。
高级数字媒体增强(Intel Advanced Digital Media Boost)</B> 上面提到了“性能=频率×每个时钟周期的指令数”这个新概念,而英特尔高级数字媒体增强也同样是为了提高每个时钟周期的指令数而诞生。高级数字媒体增强是一项可以显著提高执行SIMD流指令扩展(SSE)指令性能的特性。128位SIMD整数算法和128位SIMD双精度浮点操作减少了执行特定程序任务所需的全部指令数,将能够促使整体性能的增高。它们能够加快诸多应用的速度,如视频、话音与图像、图片处理、加密、财务、工程设计和科学应用等。分别使用SSE和MMX指令,SSE指令可以让编程人员开发出混合集合数、单精度数、浮点数和整数的算法,以改进英特尔架构。
在Core中128bit的浮点运算操作将由FADD/VFADD和FMUL/VFMUL2个组别完成。因此他们将一起掌握向量和标量运算。两个组别也都能够完成浮点和向量寄存器的转移,当然了FMUL/VFMUL同样可以完成向量的平方根操作。</I> 在P6架构中解码和执行一个128bit的SSE指令的话,首先需要把指令解码为2个64bit的部分,2个64bit指令分别是上半部分和下半部分。接着,再由SSE单元完成对它们的执行。无疑这样就使得128bit的指令需要被分成两个部分完成,处理一个128bit的指令需要多花费一个时钟周期。需要明白的是P6以及NetBurst,甚至是Pentium M架构都从P6核心的这种64bit带宽设计。
从上到下一次为四核心的65nm Kentsfield核心,双核心的65nm Conroe核心以及双核心的65nm Pentium D核心 Core架构第一代产品将采用65nm工艺生产,按照针对的领域不同将在今年陆续推出,包括:针对服务器市场的WoodCrest处理器;针对桌面市场的Conroe处理器;针对移动市场的Merom处理器; 英特尔认为之所以第一代Core处理器采用65nm主要是因为,英特尔认为自己的65nm工艺非常成熟,相比90nm制造工艺,可以降低30%的功耗,提升20%的性能,并且英特尔计划2007年把Core架构处理器提升到45nm工艺。
Conroe处理器是这次Core架构处理器中的重头产品,将于今年7月下旬正式发布,将拥有针对低端的整合2MB L2缓存的E6300和E6400,两者的工作频率分别为1.86GHz和2.13GHz,售价则大约为183美元和224美元;而针对中档的则是拥有4MB L2缓存的E6600和E6700,这两款产品的工作频率分别为2.4GHz和2.67GHz,售价则为316美元和530美元。最后针对高级玩家的则是Extreme X6800,这款处理器拥有2.93GHz的工作频率,被命名为Core 2 Duo XE处理器,售价为999美元。
Merom处理器将于8月下旬正式发布,其将成为英特尔第一款支持64bit支持的移动处理器;Merom处理器分为T5000和T7000两个系列,最高功耗35w,其中T5500处理器工作频率为1.66GHz,搭载2MB的L2缓存,售价209美元、T5600则工作频率提升到1.83GHz,搭载2MB L2缓存,售价241美元;T7200工作频率2GHz,整合4MB的L2缓存,售价294美元;T7400工作频率2.16GHz,4MB L2缓存,423美元;T7600则是最高级别产品,工作频率2.33GHz,4MB的L2缓存,637美元。
6月26日,英特尔已经正式发布了第一款基于Core架构的产品,这就是Woodcrest,Woodcrest处理器的正式名称是Xeon DP,采用 Socket LGA-771接口,支持SMP,让系统支持2颗以上的Woodcrest处理器。除了SMP之外,Woodcrest处理器在大部份参数上和桌面版的Core 2 Duo处理器相同。 目前已经发布的Xeon DP处理器包括: Dual-Core Intel Xeon processor 5160 : 3.00 GHz, 4MB L2, 1333 MHz FSB, TDP 80W Dual-Core Intel Xeon processor 5150 : 2.66 GHz, 4MB L2, 1333 MHz FSB, TDP 65W Dual-Core Intel Xeon processor LV 5148 : 2.33 GHz, 4MB L2, 1333 MHz FSB, TDP 40W Dual-Core Intel Xeon processor 5140 : 2.33 GHz, 4MB L2, 1333 MHz FSB, TDP 65W Dual-Core Intel Xeon processor 5130 : 2.00 GHz, 4MB L2, 1333 MHz FSB, TDP 65W Dual-Core Intel Xeon processor 5120 : 1.86 GHz, 4MB L2, 1066 MHz FSB, TDP 65W Dual-Core Intel Xeon processor 5110 : 1.60 GHz, 4MB L2, 1066 MHz FSB, TDP 65W 很显然,英特尔的Core架构已经蓄势待发,而这一代全新的处理器架构将是继NetBurst架构发布后的一次最大的架构转型,Core架构的设计理念最终也将影响未来英特尔处理器发展,那就是:处理器性能功耗比将是处理器设计的首要考虑因素,而不再是单纯的提升处理器频率了。
英特尔Core架构成为了构建台式、移动式和主流服务器多核处理器的基础。在家庭中,Core架构可以体现其拥有更高性能、超静音、时尚与低功耗计算机设计、新改进、以及更加先进、更加易于使用的娱乐系统;对于IT部门,它将可以降低服务器数据中心的空间和供电负担,同时提高客户机和服务器平台的响应能力、运行效率和能效;对于移动用户,Core架构意味着更出色的计算机性能和最耐久的电池使用时间,这将进而推动产生多种不同的纤小外形,以带来世界领先的“移动”计算能力。总之,利用Core其更高的性能、更出色的能效和更具响应性的多任务处理能力,它可以为家庭、公司和移动途中等所有环境中的用户带来更精彩的体验。
从目前已知的OEM商动态来看,大部分都对Core架构处理器持肯定态度,但也有部分厂商,诸如<A href="http://www.8080.net/key_search_new.asp?key=99" target=_blank>HP并没有表现出对Core架构的太多兴趣,除了在移动市场,其并不会去大力推广基于Core架构的产品。
其实无论厂商如何看待新的Core架构处理器,至少从已经获得的架构介绍、以及泄露的性能测试来看,Core架构的优势明显,至少相比目前的AMD K8架构,无论在哪个方面都将全面超越,而能够威胁到Core架构的可能将是未来AMD的K8L,不过短期内K8L并不会出现,2007年的时候,英特尔如果顺利让Core架构过渡到45nm,那么其竞争优势将变得更加巨大。
两者最终完成的结果是一样的,只是前者只有5级操作,而后者则达到了10级操作,同样的为了完成操作,前者的5级操作的的任何一级都要比10级操作中的任何一级来得操作多。因此,如果可能的话尽量采用5级操作似乎更加有优势,因为数据填充以及控制都比10级操作来得简单了许多。那么延长管线长度有什么根本意义呢?最关键的因素在于管线长度并不是简单的重复,可以说它把原来的每一级的工作细化,从而让每一级的工作更加简单,因此在“10级”模式下完成每一级工作的时间要明显的快于“5级”模式。其实可以这样理解CPU的效率看的是需要耗费最长操作那级的效率。
比如假设5级管线模式每1级需要1个时钟周期来执行,最快可以在1ns内完成的话,那么基于这种管线结构的处理器的主频可以达到1GHz的处理器(1/1ns = 1GHz)。现在的情况是CPU管线内的级数越来越多,为此必须明显的缩短时钟周期来提供等于或者高于较短管线处理器的性能。好在,较长管线中每个时钟周期内所做的工作减少了,因此即时处理器频率提升了,每个时钟周期缩短了,每个“级”所用的时间也就相应的减少了,从而可以让CPU运行在更高的频率上了。如果采用10级管线模式可以可以让处理器主频提升到2GHz,那么我们应该可以得到相当于原来的处理器2倍的性能,如果管线一直保持满载的话。当然以上仅仅是理想状态下。
其实归根结底,增加管线并不是为了彻底的提升处理器效率,最终要的因素还是可以更高的提升处理器频率。但是效率却会有一定的丧失,因为处理的分支多了,消耗的时间反而会高。但是不管性能是不是因为增加管线而获得了提升,英特尔已经全面否定了NetBurst架构的设计理念,因为虽然这种架构对于提升工作频率非常有帮助,但是其响应带来的功耗提升却也是非常巨大的,于是新一代的Core架构中,英特尔依旧会同Pentium M的英特尔移动架构那样采用少流水线深度的设计。
循环出口支流只作用一次(当循环中止的时候),也就是,它不会被多次作用(如循环计数器的持续时间)。常用支流预测器使用的支流历史表格并不会存储足够数量的支流历史来正确地统计在某些重复情况下循环结束的情况。因此当没有被正确预测的循环中止的时候,它们将会根据已有的记录来继续接下来的动作。
为了能够识别出那些属于循环出口条件的支流,循环检测器会监视核心的每个支流的运作情况。当下一个前端在支流处于到同一个循环时,它就可以在中止以前知道可能出现过的循环重复次数。因此它可以正确预测出分支在同型号循环下的表现。Core架构的分支预测单元设计了一个专用的预测法则来对每个分支进行循环回路预测。
间接分支预测单元(The indirect branch predictor)
由于间接分支并不是从分支立即预测,而是从一个寄存器来载入分支目标,这让它们更难预计。Core架构的间接分支预测单元将存储前端遇到的每个间接分支的目标地址历史记录。因此当前端遇到间接分支并预计其发生时,它可以让间接分支预测单元直接进入需要的入口目的地。
但是一旦采用双核共享L2缓存设计之后,一切问题迎刃而解,Core架构将会获得更高的执行效率和数据交换速度。
当一个存储单元和一个载入单元进入同一个存储地址时,我们称这种情况为重叠。因此上述的A情况就是内存重叠的一种,而B则不是。由于大多数的载入-存储过程并不是上述的这种重叠情况,采用原先架构的处理器往往会由于错误的重叠而损失相当大一部分的性能,因此无论是否存在像上述A的情况,处理器都会默认存在两个或者更多个在执行重叠命令。我们来看看这些被浪费了的性能又是来自何处。
当在第二个循环处地址可用时,如果A正在使用,则处理器将会等到下一个循环开始来完成载入之前的将更新内容储存进入内存模块。然后,执行载入指令,同时在另外一个循环中将数据从红色内存模块转移到寄存器中。最终,在第六个循环处完成补充工作。
如果处理器发现B正在使用,同时入口并没有处于重叠状况时,在完成存储之后即可迅速完成载入工作。
其实也就是说内存消歧使用特殊的智能算法来评估数据是否可以在存储之前进行装载。如果它智能地推测出可以装载,那么就可以将装载指令编排在存储指令之前,以实现可能性最高的指令级并行计算。如果预测性装载最终产生效力,处理器就可以少用一些时间进行等待,将更多的时间用来处理,从而加快执行速度并实现处理器资源的更高效利用。如果装载没有产生效果,英特尔的内存消歧包含检测冲突的内建智能、可以重新装载正确的数据并重新执行指令。
其实英特尔很早就打算让Pentium处理器提供对128bit向量的支持了,但是实现却并没有很好,无论在P6架构还是英特尔移动架构上,SSE、SSE2、SSE3上都有两个非常明显的缺陷:在ISA部分,SSE的主要缺陷是不支持3指令运算;在硬件实现方面,由于P6架构核心是64bit内部数据通道设计,这使得128bit SSE操作受到了一定限制。
P6架构的内部数据总线只能处理64bit带宽的浮点运算和MMX指令。因此在SSE上的数据输入端口也只能够是64bit带宽。为了能够在64bit指令的条件下完成对128bit带宽指令的执行,P6架构必须首先将指令分成2个64bit的部分,并用逐次循环的办法来完成对指令的处理。
新的Core架构终于改变了这种局面,它能够在单循环内完成128bit向量运算。自此,英特尔能够在浮点和向量数据总线提供128bit的带宽。而新架构带来的不光是在运算周期上的改进,还包括了解码、传输、带宽等多方面的提升。
Woodcrest处理器用来取代Intel目前基于Netburst架构的双核心Xeon(Dempsey)处理器。尽管Woodcrest和Dempsey都采用65nm工艺,但是Woodcrest处理器更注重功耗设计,Woodcrest处理器平均功耗只有65W,Dempsey处理器的全速功耗在130W,因为采用Netburst架构,Dempsey处理器的最高工作频率达到3.73GHz,FSB1066MHz,二级缓存采用2x2MB架构,Woodcrest处理器二级缓存采用共享4MB二级缓存。Dempsey处理器借助超线程技术,每个时钟周期可以处理4个线程。由于首批Core 2 Duo架构没有开启超线程,因此Woodcrest处理器每个时钟周期只能处理2个线程。