硬件技术全攻略――双核CPU

时间:2022-09-30 12:43:15

硬件技术全攻略――双核CPU

在2007年的本栏目中,我们为广大读者介绍了计算机主要组成部件的硬件知识。随着科技的飞速发展,计算机硬件技术也是日新月异的发展。其中CPU的工艺水平越来越先进,运算能力也是越来越强。从最早的单核CPU,到超线程技术,再到目前的双核CPU以及多核CPU,可以说CPU的性能提升是以几何数量提高的。

一、双核CPU的由来

随着CPU主频的不断增长、工艺线宽的不断缩小,CPU散热、电流泄露、热噪等问题变得越来越棘手,单纯的主频提升已经遭遇瓶颈,因此CPU厂商开始寻求新的发展方向,双核CPU电脑应运而生。降低功耗成为了双核设计的一个重要因素。英特尔和AMD采用这项技术的真正原因,不是因为双核是一种突然出现的一种优秀创意。实际上,芯片厂商本可以非常满足地不断推出速度越来越快的单核处理器。但是,这种做法是不可行的,因为随着时钟速度超过3GHz,单核处理器开始消耗过多的功率。英特尔在2005年取消了计划中的4.0GHz“Tejas”处理器,因为该芯片的功耗可能超过100W。随着功耗的上升,超快单核芯片的冷却代价也越来越高,它要求采用更大的散热器和更有力的风扇,以保持其工作温度。利用双核方案,既可以继续改善处理器性能,又可以暂时避开功耗和散热难题。AMD商业解决方案主管也表示:“这是因为,作为处理器厂商,这是我们能够在一定的功耗范围内提高性能的唯一途径。”

双核CPU究竟有何过人之处,吸引芯片巨头不遗余力地推动双核技术呢?在过去,处理性能的飞跃依赖于处理器主频的提升,但是随着散热等问题日益严重,主频升级的思路逐渐显得捉襟见肘。而双核心技术的引入是提高处理器性能另一个行之有效的办法。处理器实际性能是处理器在每个时钟周期内所能处理的指令数总量,因此增加一个内核,处理器每个时钟周期内可执行的单元数将增加一倍,这将大大提升处理器的工作效率。而且,双核CPU所具备的两个物理核心是相对独立的,每个核心都可以拥有独立的一、二级缓存、寄存器、运算单元,可以使两个独立进程互不干扰。

双核CPU超越了传统的单核CPU的技术局限,借助两颗“心脏”所具有的高性能和多任务优势,我们可以更加轻松地创建数字内容,进行多任务处理。另外,双核电脑可以做到在前台创建专业数字内容和撰写电子邮件,同时在后台运行防火墙软件或者从网上下载音频文件。有业内人士表示,双核CPU的诞生为PC厂商打开了一扇门,这是一个极具前景的应用领域。

二、AMD双核心处理

器的简介

AMD目前的桌面平台双核心处理器代号为Toledo和Manchester,基本上可以简单看作是把两个Athlon 64所采用的Venice核心整合在同一个处理器内部,每个核心都拥有独立的512KB或1MB二级缓存,两个核心共享Hyper Transport,从架构上来说相对于目前的Athlon 64架构并没有任何改变。

与Intel的双核心处理器不同的是,由于AMD的Athlon 64处理器内部整和了内存控制器,而且在当初Athlon 64设计时就为双核心做了考虑,但是仍然需要仲裁器来保证其缓存数据的一致性。AMD在此采用了SRQ(System Request Queue,系统请求队列)技术,在工作的时候每一个核心都将其请求放在SRQ中,当获得资源之后请求将会被送往相应的执行核心,所以其缓存数据的一致性不需要通过北桥芯片,直接在处理器内部就可以完成。与Intel的双核心处理器相比,其优点是缓存数据延迟得以大大降低。

AMD目前的桌面平台双核心处理器是Athlon 64 X2,其型号按照PR值分为3800+至4800+等几种,同样采用90nm制程,Socket 939接口,支持1GHz的Hyper Transport,当然也都支持双通道内存技术。

由于AMD双核心处理器的仲裁器是在CPU内部而不是在北桥芯片上,所以在主板芯片组的选择上要比Intel双核心处理器要宽松得多,甚至可以说与主板芯片组无关。理论上来说,任何Socket 939的主板通过更新BIOS都可以支持Athlon 64 X2。对普通消费者而言,这样可以保护已有的投资,而不必象Intel双核心处理器那样需要同时升级主板。

三、AMD双核心架构

剖析

从架构上来看,Athlon 64 X2除了多个“芯”外与目前的Athlon 64并没有任何区别。Athlon 64 X2的大多数技术特征、功能与目前市售的、基于AMD64架构的处理器是一样的,而且这些双核心处理器仍将使用1GHz HyperTransport总线与芯片组连接及支持双通道内存技术。

实际上Toledo核心就相当于是两个San Diego核心的Athlon 64处理器的集成,至于Manchester自然就相当于两个Venice核心了―这也就是说,双核心的Athlon 64 X2处理器均将支持SSE3指令集。

另外,我们不难发现的是,AMD的台式双核心处理器的频率与其单核心产品基本上处于同一水平上―这一点与Intel非常不一样(Intel目前频率最高的桌面单核心处理器达到了3.8GHz,而其最高频率的双核心处理器只不过3.2GHz)。当然这并不难理解,因为Athlon 64处理器,特别是采用了90nm SOI工艺的Athlon 64处理器的发热量要比Intel的高频率的Prescott核心处理器要低不少,所以自然可以采用比较高的工作频率了(当然从频率的角度来看,Athlon 64 X2也还是低于Pentium D的)。

由于Intel受发热量限制目前的双核心处理器最高只有3.2GHz,因此在性能上肯定要比AMD的 Athlon 64 X2要低一些。不过Pentium D不如Athlon64 X2的地方并不仅仅只有这方面而已。

AMD的双核心方案面临一个重要的问题,就是随着第二核心的出现,对内存与I/O带宽的资源将会出现争夺,如何解决好这个问题是AMD双核心处理器的性能的关键问题之一。

与Pentium D不同的是,Athlon 64 X2的两个内核并不需要通过外部FSB通信这一途径。Athlon 64 X2内部整合了一个System Request Queue(SRQ)仲裁装备,每一个核心将其请求放在SRQ中,当获得资源之后请求将会被送往相应的执行核心,所有的过程都在CPU核心范围之内完成。

AMD双核心强调是真正将两个核心入整合在一个硅晶内核上,可以真正发挥双核心效率,不像对手的产品事实上为两个Packet的设计,会有两个核心之间传输瓶颈的问题。因此Athlon 64 X2的架构要优于Pentium D架构,尤其是在高负载的多线程/多任务的环境下,AMD的处理器将会表现出比Intel的处理器更好的性能。

此外,随着第二核心的出现,对内存与I/O带宽的资源将会出现争夺,如何解决好这个问题是AMD双核心处理器的性能的关键问题之一。AMD信引入了Crossbar控制器,这个全新的控制器结合优化的系统请求队列,可以有效的降低这个问题的危害性。

AMD处理器集成的内存控制器在进化到双核心时代表现出来的优势更加明显,低延时的内存控制器使得对CPU的缓存的依赖也大幅减少,在这样的情况下,在日后过渡到多核心的时候,需要考虑的问题更多的是基于各个核心之间的连接。我们可以看到,两个核心所采用的L2缓存也是分别独享的,也就是两个L2缓存中保存的数据是一致的。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

实际的可利用容量和一个核心的L2缓存容量是相同的,这一点和Intel一样。与Intel有所不同的是,AMD方案的两个核心之间的通信是通过处理器内部的Crossbar实现的。相比之下Intel的Pentium D处理器的核心之间的通信则是需要通过芯片组的MCH来进行。这显然比AMD的方案要带来更多的延迟时间。不过AMD的架构也并非十全十美,双核心处理器仍然只支持双通道DDR400内存无疑是一个有些令人遗憾的地方。两个处理器核心自然需要更大的内存带宽。要解决这个矛盾,只能使用全新的针脚设计,DDR2是一个不错的选择。

Athlon 64 X2这样的设计还有一个好处,那就是如果打算支持新的双内核处理器的话,对旧平台而言唯一的要求就是升级到最新BIOS就可以了,这将大大降低平台的应用、升级成本。当然AMD沿用以前的内存控制器也是有很大的好处的,那就是双核心的Athlon 64 X2处理器可以在目前几乎所有的Socket 939主板上使用。这方面AMD有着Intel无可比拟的优势。因为以前的915/925主板并不能支持Intel的双核心处理器。

此外,与Pentium D是通过降低频率来降低功耗不同,同样采用90nm生产技术的Athlon 64 X2似乎并不需要面临这样的问题。这都得益于AMD在Athlon 64 X2处理器上所采用的“Dual Stress Liner”应变硅技术。Dual Stress Liner技术是由AMD和IBM联合开发的,据称可以将半导体晶体管的响应速度提高24%。

事实上,DSL很类似于英特尔在90nm生产技术中引入的应变硅技术。我们都知道,晶体管越微细化,运行速度就越高,但同时也会引发泄漏电流增加、开关效率降低,从而导致耗电和发热量的增加。而DSL通过向晶体管的硅层施加应力,同时实现了速度的提高与耗电量的降低。

与Intel使用的应变硅不同,来自AMD和IBM的DSL能够被用于两种类型的晶体管:NMOS和PMOS(具有n和p通道)而无需使用极难获得的硅锗层,硅锗层会增加成本,并且有可能影响芯片的产量。DSL这种双重性,让它比英特尔的应变硅更有效,DSL可以将晶体管的响应速度提升24%,而应变硅能提供的最大改进在15-20%。

并且更重要的是,AMD和IBM这项新技术对产量及生产成本并没有任何负面影响。由于在生产时无需使用新的生产方法,所以使用标准生产设备和材料便可迅速展开量产。另外,配合使用硅绝缘膜构造(SOI,绝缘体上硅)与应变硅,还可生产性能更高、耗电更低的晶体管。AMD工程师们表示,DSL和SOI一起结合可以让Athlon 64处理器的频率潜力有大约16%的增长。而Athlon 64 X2的初始频率与目前Athlon 64持平上也可以看到DSL技术的确很有效。

当然,AMD也将在未来转移更先进的65nm生产线上,改进他们的内存控制器来对DDR2,DDR3和FB-DIMM等高性能内存提供支持,也将开始使用更快的HyperTransport 2.0总线,及更有效的节能降耗技术。

四、Intel双核心构架

剖析

AMD的“真伪双核论”虽无法立足,但它点出的英特尔双核处理器可能出现前端总线资源争抢的问题是否真是实情呢?对此,英特尔表示:“AMD并不了解我们的产品和我们将来产品的技术走向,对自己的竞争对手及其产品妄加猜测和评论的行为是不值得赞赏的。”AMD曾经指出奔腾至尊版是两个核心共享一个二级缓存,这就是一个非常明显的错误。事实上,奔腾至尊版和奔腾D都是每个核心配有独享的一级和二级缓存,不同的是英特尔将双核争用前端总线的任务仲裁功能放在了芯片组的北桥芯片中。

按照“离得越近、走得越快”的集成电路设计原则,把这些功能组件集成在处理器中确实可以提高效率,减少延迟。不过,在台式机还不可能在短期内就支持4个内核和更多内核的现实情况下,只要有高带宽的前端系统总线,就算把这些任务仲裁组件外置,对于双核处理器的台式机来说带来的延迟和性能损失也是微乎其微的。

英特尔945和955系列芯片组目前可提供800MHz和1066MHz前端总线,如果是供一个四核处理器使用,那肯定会造成资源争抢,但对于双核来说,这个带宽已经足够了。英特尔认为目前双核系统中的主要瓶颈还是内存、I/O总线和硬盘系统,提升这些模块的速度才能使整个系统的计算平台更加均衡。基于这种设计思路,英特尔在945和955系列芯片组中加强了对PCI-Express总线的支持,增加了对更高速DDR2内存的支持,对SATA的支持速度增加了一倍由1.5Gb/s升级3Gb/s,进一步增加了磁盘阵列RAID 5和RAID 10的支持。

此外,英特尔奔腾至尊版有一个独门“绝活”,那就是双核心加超线程的架构,这种架构可同时处理四个线程,这让它在多任务多线程的应用中具有明显优势。而且CMP与SMT(同时多线程,英特尔超线程就是一种SMT技术)的结合是业界公认的处理器重要发展趋势,最早推出双核处理器的IBM也是这一趋势的推动者。

英特尔之所以在奔腾至尊版和奔腾D上采用共享前端总线的双核架构,还是出于双核架构自身的紧凑设计和生产进程方面的考虑,这种架构使英特尔能够迅速推出全系列的双核处理器家族,加快双核处理器的产品化,而且它带来的成本优势也大大降低了奔腾至尊版、奔腾D与现有主流单核处理器――奔腾4系列的差价,有利于双核处理器在PC市场上的迅速普及。

五、双核心技术与超

线程技术的区别

超线程技术已经不是什么新技术了,但读者可能与双核心技术区分不开。例如开启了超线程技术的Pentium 4 530与Pentium D 530在操作系统中都同样被识别为两颗处理器,它们究竟是不是一样的呢?其实,可以简单地把双核心技术理解为两个“物理”处理器,是一种“硬”的方式;而超线程技术只是两个“逻辑”处理器,是一种“软”的方式。

从原理上来说,超线程技术属于Intel版本的多线程技术。这种技术可以让单CPU拥有处理多线程的能力,而物理上只使用一个处理器。超线程技术为每个物理处理器设置了两个入口AS(Architecture State,架构状态)接口,从而使操作系统等软件将其识别为两个逻辑处理器。这两个逻辑处理器像传统处理器一样,都有独立的IA-32架构,它们可以分别进入暂停、中断状态,或直接执行特殊线程,并且每个逻辑处理器都拥有APIC(Advanced Programmable Interrupt Controller,高级可编程中断控制器)。

虽然支持超线程的Pentium 4能同时执行两个线程,但不同于传统的双处理器平台或双内核处理器,超线程中的两个逻辑处理器并没有独立的执行单元、整数单元、寄存器甚至缓存等等资源。它们在运行过程中仍需要共用执行单元、缓存和系统总线接口。在执行多线程时两个逻辑处理器均是交替工作,如果两个线程都同时需要某一个资源时,其中一个要暂停并要让出资源,要待那些资源闲置时才能继续。因此,超线程技术所带来的性能提升远不能等同于两个相同时钟频率处理器带来的性能提升。可以说Intel的超线程技术仅可以看做是对单个处理器运算资源的优化利用。

而双核心技术则是通过“硬”的物理核心实现多线程工作:每个核心拥有独立的指令集、执行单元,与超线程中所采用的模拟共享机制完全不一样。在操作系统看来,它是实实在在的双处理器,可以同时执行多项任务,能让处理器资源真正实现并行处理模式,其效率和性能提升要比超线程技术要高得多,不可同日而语。

以上介绍了双核CPU的一些相关知识,下期我们将对其它硬件的知识介绍给我们的广大读者。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:用GPU-Z测试你的显卡 下一篇:手工清除新型U盘病毒水牛