电脑CPU双核究竟好在哪里?

2010-08-28 10:52:54来源:西部e网作者:

  要买双核电脑,首先要了解双核。

  请看Intel和AMD各自的双核,我们重点是学习它们的区别,只有在了解之后才能知道,选哪一个更好,或者更有性价比。

  要指正的是,intel和AMD的缓存的用处是不一样的,并不能直接相比,转贴中关于缓存的说法是错的。

  AMD L1缓存与L2缓存和INTEL L1缓存L2缓存大小无可比性,大家可不要乱来比。INTEL的 L1 缓存是数据代码指令追存缓存,而AMD L1缓存是实数据读写缓存。INTERL L1缓存里存着数据在L2缓存里的地址,L1 缓并不存有实际数据,所以大家看到INTEL CPU的 L1 缓存都比较小。

  相反AMD L1缓存里则存实际数据,当L1 缓存满了时,再把数据存到L2 缓存,所以大家看到AMD CPU的L1缓存都比较大,为128K。

  因为L1缓存比L2缓存的延迟速度更小,所以在缓存上,AMD CPU 比 INTEL CPU的效率更高。

  而说起L2缓存的大小,我们强调 INTEL CPU的L2缓存超大,不过L2缓存其实在一般使用中并没起到什么作用,反而倒浪费了消费者钱。

  CPU处理数据概率
  CPU使用0-128K缓存的概率是80%
  CPU使用128-256K缓存的概率是10%
  CPU使用256-512K缓存的概率是5%
  CPU使用512-1M缓存的概率是3%
  CPU使用更大缓存的概率是2%

  所以说太大的缓存并不是很有用。

  AMD和Intel的内存控制的架构都不一样,仅仅用几个数据根本无法反映出实际情况,实际上是AMD的架构更不存在瓶颈,Intel的共享FSB架构需要和其它硬件设备争夺带宽,延迟也大,大L2的目的也正是为了降低FSB瓶颈的影响。

  双核处理器可以说是CPU领域最大的亮点。毕竟X86处理器发展到了今天,在传统的通过增加分支预测单元、缓存的容量、提升频率来增加性能之路似乎已经难以行通了。因此,当单核处理器似乎走到尽头之际, Intel、AMD都不约而同地推出了自家的双核处理器解决方案:Pentium D、Athlon 64 X2!

  所谓双核处理器,简单地说就是在一块CPU基板上集成两个处理器核心,并通过并行总线将各处理器核心连接起来。双核其实并不是一个全新概念,而只是CMP(Chip Multi Processors,单芯片多处理器)中最基本、最简单、最容易实现的一种类型。

  一、处理器协作机制

  AMD Athlon 64 X2

  Athlon 64 X2其实是由Athlon 64演变而来的,具有两个Athlon 64核心,采用了独立缓存的设计,两颗核心同时拥有各自独立的缓存资源,而且通过“System Request Interface”(系统请求接口,简称SRI)使Athlon 64 X2两个核心的协作更加紧密。SRI单元拥有连接到两个二级缓存的高速总线,如果两个核心的缓存数据需要同步,只需通过SRI单元完成即可。这样子的设计不但可以使CPU的资源开销变小,而且有效的利用了内存总线资源,不必占用内存总线资源。

  Pentium D

  与Athlon 64 X2一样,Pentium D两个核心的二级高速缓存是相互隔绝的,不过并没有专门设计协作的接口,而只是在前端总线部分简单的合并在一起,这种设计的不足之处就在于需要消耗大量的CPU周期。即当一个核心的缓存数据更改之后,必须将数据通过前端总线发送到北桥芯片,接着再由北桥芯片发往内存,而另外一个核心再通过北桥读取该数据,也就是说,Pentium D并不能像Athlon 64 X2一样,在CPU内部进行数据同步,而是需要通过访问内存来进行同步,这样子就比Athlon 64 X2多消耗了一些时间。

  二、二级缓存对比

  二级缓存对于CPU的处理能力影响不小,这一点可以从同一家公司的产品线上的高低端产品当中明显的体现出来。二级缓存做为一个数据的缓冲区,其大小具有相当重大的意义,越大的缓存也就意味着所能容纳的数据量越多,这就大大地减轻了由于总线与内存的速度无法配合CPU的处理速度,而浪费了CPU的资源。

  事实上也证明了,较大的高速缓存意味着可以一次交换更多的可用数据,而且还可以大大降低高速缓存失误情况的出现,以及加快数据的访问速度,使整体的性能更高。

  就目前而言,AMD的CPU在二级高速缓存的设计上,由于制造工艺的原因,还是比较小,高端的最高也只达到2M,不少中低端产品只有512K,这对于数据的处理多多少少会带来一些不良的影响,特别是处理的数据量较大的时候。Intel则相反,在这方面比较重视,如Pentium D核心内部便集成了2M的二级高速缓存,这在处理数据的时候具有较大的优势,在高端产品中,甚至集成4M的二级高速缓存,可以说是AMD的N倍。在一些实际测试所得出来的数据也表明,二级缓存较大的Intel分数要高于二级缓存较小的AMD不少。

  三、内存架构对比

  由Athlon 64开始,AMD便开始采用将内存控制器集成于CPU内核当中的设计,这种设计的好处在于,可以缩短CPU与内存之间的数据交换周期,以前都是采用内存控制器集成于北桥芯片组的设计,改成集成于CPU核心当中,这样一来CPU无需通过北桥,直接可以对内存进行访问操作,在有效的提高了处理效率的同时,还减轻了北桥芯片的设计难度,使主板厂商节约了成本。不过这种设计在提高了性能的同时,也带来了一些麻烦,一个是兼容性问题,由于内存控制器集成于核心之内,不像内置于北桥芯片内部,兼容性较差,这就给用户在选购内存的时候带来一些不必要的麻烦。

  除了内存兼容性较差之外,由于采用核心集成内存控制器的缘故,对于内存种类的选择也有着很大的制约。就现在的内存市场上来看,很明显已经像DDR2代过渡,而到目前为止Athlon 64所集成的还只是DDR内存控制器,换句话说,现有的Athlon 64不支持DDR2,这不仅对性能起到了制约,对用户选择上了造成了局限性。而Intel的CPU却并不会有这样子的麻烦,只需要北桥集成了相应的内存控制器,就可以轻松的选择使用哪种内存,灵活性增强了不少。

  还有一个问题,如若用户采用集成显卡时,AMD的这种设计会影响到集成显卡性能的发挥。目前集成显卡主要是通过动态分配内存做为显存,当采用AMD平台时,集成在北桥芯片当中的显卡核心需要通过CPU才能够对内存操作,相比直接对内存进行操作,延迟要长许多。

  四、平台带宽对比

  随着主流的双核处理器的到来,以及945、955系列主板的支持,Intel的前端总线将提升到1066Mhz,配合上最新的DDR2 667内存,将I/O带宽进一步提升到8.5GB/S,内存带宽也达到了10.66GB/S,相比AMD目前的8.0GB/S(I/O带宽)、6.4GB/S(内存带宽)来说,Intel的要远远高出,在总体性能上要突出一些。

  五、功耗对比

  在功耗方面,Intel依然比较AMD的要稍为高一些,不过,近期的已经有所好转了。Intel自推出了Prescott核心,由于采用0.09微米制程、集成了更多的L2缓存,晶体管更加的细薄,从而导致漏电现象的出现,也就增加了漏电功耗,更多的晶体管数量带来了功耗及热量的上升。为了改进Prescott核心处理器的功耗和发热量的问题,Intel便将以前应用于移动处理器上的EIST(Enhanced Intel Speedstep Technolog)移植到目前的主流Prescott核心CPU上,以保证有效的控制降低功耗及发热量。

  而AMD方面则加入了Cool‘n’Quiet技术,以降低CPU自身的功耗,其工作原理与Intel的SpeedStep动态调节技术相似,都是通过调节倍频等等来实现降低功耗的效果。

  实际上,Intel的CPU功率之所以目前会高于AMD,其主要的原因在于其内部集成的晶体管远远要比AMD的CPU多得多,再加上工作频率上也要比AMD的CPU高出不少,这才会变得功率较大。不过在即将来临的Intel新一代CPU架构Conroe,这个问题将会得到有效的解决。其实Conroe是由目前的Pentium M架构变化而来的,它延续了Pentium M的绝大多数优点,如功耗更加低,在主频较低的情况下已然能够获得较好的性能等等这些。可以看出,未来Intel将把移动平台上的Conroe移植到桌面平台上来,取得统一。

  六、流水线对比

  自踏入P4时代以来,Intel的CPU内部的流水线级要比AMD的高出一些。以前的Northwood和Willamette核心的流水线为20级,相对于当时的PIII或者Athlon XP的10级左右的流水线来说,增长了几乎一倍。而目前市场上采用Proscott核心CPU流水线为31级。很多人会有疑问,为何要加长流水线呢?其实流水线的长短对于主频影响还是相当大的。流水线越长,频率提升潜力越大,若一旦分支预测失败或者缓存不中的话,所耽误的延迟时间越长,为此在Netburst架构中,Intel将8级指令获取/解码的流水线分离出来,而Proscott核心有两个这样的8级流水线,因此严格说起来,Northwood和Willamette核心有28级流水线,而Proscott有39级流水线,是现在Athlon 64(K8)架构流水线的两倍。

  相信不少人都知道较长流水线不足之处,不过,是否有了解过较长流水线的优势呢?在NetBurst流水线内部功能中,每时钟周期能够处理三个操作数。这和K7/K8是相同的。理论上,NetBurst架构每时钟执行3指令乘以时钟速度,便是最后的性能,由此可见频率至上论有其理论基础。以此为准来计算性能的话,则K8也非NetBurst对手。不过影响性能的因素有很多,最主要的就是分支预测失败、缓存不中、指令相关性三个方面。

  这三个方面的问题每个CPU都会遇到,只是各种解决方法及效果存在着差异而已。而NetBurst天生的长流水线既是它的最大优势,也是它的最大劣势。如果一旦发生分支预测失败或者缓存不中的情况,Prescott核心就会有39个周期的延迟。这要比其他的架构延迟时间多得多。不过由于其工作主频较高,加上较大容量的二级高速缓存在一定程度上弥补了NetBurst架构的不足之处。

  不过流水线的问题在Intel的新一代CPU架构Conroe得到了较好的解决,这样子以来,大容量的高速缓存,以及较低的流水线,配合双核心设计,使得未来的Intel CPU性能更加优异。

  AMD认为,自己的双核Opteron和Athlon-64 X2才符合真正意义上的双核处理器准则,并隐晦地表示Intel双核处理器只是“双芯”,暗示其为“伪双核”,声称自己的才是“真双核”,真假双核在外界引起了争议,也为消费者的选择带来了不便。

  AMD认为,它的双核之所以是“真双核”,就在于它并不只是简单地将两个处理器核心集成在一个硅晶片(或称DIE)上,与单核相比,它增添了“系统请求接口”(System Request Interface,SRI)和“交叉开关”(Crossbar Switch)。它们的作用据AMD方面介绍应是对两个核心的任务进行仲裁、及实现核与核之间的通信。它们与集成的内存控制器和HyperTransport总线配合,可让每个核心都有独享的I/O带宽、避免资源争抢,实现更小的内存延迟,并提供了更大的扩展空间,让双核能轻易扩展成为多核。

  与自己的“真双核”相对应,AMD把英特尔已发布的双核处理器――奔腾至尊版和奔腾D处理器采用的双核架构称之为“双芯”。AMD称,它们只是将两个完整的处理器核心简单集成在一起,并连接到同一条带宽有限的前端总线上,这种架构必然会导致它们的两个核心争抢总线资源、从而影响性能,而且在英特尔这种双核架构上很难添加更多处理器核心。

关键词:CPU