资源描述
主流双核微解决器技术分析及性能对比
陈丰 李宏量 孙瑜杰
摘要:台式机CPU技术发展到今天,双核心乃至多核心技术已经取代单纯的高频率大cache,成为解决器生产厂家用来吸引消费者眼球的全新杀手锏.本文对当前主流的台式机双核CPU所采用的技术架构进行全面的分析,力求对双核技术有一个清楚的诠释,并对市场上的双核解决器与传统单核解决器的性能进行对比.双核心解决器到底是怎么回事?其相对于单核心解决器又有什么优势?双核心解决器能带来多大的性能提高呢?多核技术究竟是革命性的创新还是华而不实的噱头,本文将进行探讨.
一、 引 言
一直以来,解决器的频率就像夜空中最耀眼的星星,吸引着人们的目光。在90年代,频率对于解决器来说简直就是性能的唯一标尺,摩尔定律也让解决器每一次频率的攀升得到了人们众多的喝采。但是当解决器的频率进入了“G”时代后,频率对于解决器综合性能的影响力开始减弱。这点从近两年来解决器产品综合性能的比拼中就可以看出来。例如AMD的低频产品同样可以拥有其标称值性能,Intel用于迅驰平台的低频移动解决器也可以轻松击败其自家的高频产品。Intel和AMD之所以推出双核心解决器,最重要的因素是原有的普通单核心解决器的频率难于提高,性能没有质的奔腾,频率的攀升非但没能引起人们以往对于解决器频率的高度热情,反而在功耗散热、良品率以及成本的控制上给厂商带来了众多难题。。由于频率难于提高,Intel在发布3.8GHz的产品以后只得宣布停止4GHz的产品计划;而AMD在实际频率超过2GHz以后也无法大幅度提高,3GHz成为了AMD无法逾越的一道坎。过高的发热量除了为夸张的散热器开拓市场外,并不受到消费者的普遍认可。解决器的高性能不应当以高功耗作为代价,至少,这样的高性能解决方案“胜之不武”。
但是历史的脚步总是在前进的,技术进步、产品改造一天也不会停息。正是在这种情况下,为了寻找新的卖点,Intel和AMD都不约而同地祭起了双核心这面大旗。在高频产品有“吃力不讨好”嫌疑的情况下,双核/多核技术似乎是目前提高解决器性能的另一种解决方案。在这一点上,AMD与Intel的见解是不谋而合的。这对在市场上恶斗了数年的老朋友对双核解决器的市场真可谓是“高度重视”,双方对双核产品的发布日期都是一改再改。老大哥Intel或许真的意识到了“首发”的魅力(想当年AMD首发桌面64位解决器的情景,确是赢得了不少的鲜花与掌声),果断地作出了提前发布其双核产品的决定.2005年4月18日,INTEL公司举行了双核心解决器发布会.AMD公司也于当月晚些时候发布了其双核心微解决器产品和INTEL公司抗衡争夺市场.
本文第二部分介绍PC机解决器发展的简要历史,双核心解决器出现的背景及双核心与HT超线程技术的对比. 第三部分论述双核心技术的细节和架构.第四部分通过对比主流双核解决器和单核解决器性能,阐述双核技术的优势和双核心解决器能带来的性能提高.
二、 对相关问题及技术的介绍
2.1 个人计算机CPU发展简介
个人计算机的发展在最近2023几乎是是以令人炫目的高速度进行的. 仅仅看离我们最近的一段时间,20世纪末21世纪初的这2023左右,.从1990年开始,电脑的发展可以说是一日千里,特别是电脑的核心部件----中央解决器在莫尔定律的规则下发展高速,可以说是一个奇迹。2023前你有没有想过在线播放流媒体,实时的视频交流,绚丽的3D游戏,紧张刺激的电子竞技,同时运营多个大型软件?这在当时几乎是天方夜谭的事情,在如今都变成了现实。
Intel的第一款CPU----4004,大约生产于1971年,集成2300个晶体管,工作电压12v,具有640字节的内存寻址能力。由于发热量极低,工作时主线不需要散热器
从1993年至今,CPU的频率提高了多少?1993年,Pentium 60的主频为60MHz,而现在的Pentium 4 670的主频达成了3800MHz,整整提高了63倍。内存的容量也是,如今随便找一个入门级的电脑,其内存的容量都要超过当年电脑硬盘的容量。从CPU到内存,频率升高了,容量变大了,但是整机的性能有多大的提高?给大家举一个例子,1993年的时候,想要把一张CD压缩成MP3格式需要5个小时的时间,而如今只需要5分钟
尚有什么能说明CPU的发展速度呢?再给大家举一个例子,Intel于1971年生产的4004仅仅集成2300个晶体管,而现在的Pentium Extreme Edition 840集成了2.3亿个晶体管,晶体管的数量整整增长了10万倍。工作电压也由最一开始的12v一路直线下降到1.2v左右。
2.2单核心解决器的功耗和发热量两大问题
自戈登·摩尔在1965年提出每隔18~24个月单位面积的晶体管数量倍增的摩尔定律之后,每一次的解决器研发,都凭借着每两~三年一次的制程提高,得以在一定的晶圆面积下,用更多的晶体管来设计新一代的核心架构,借由新架构以及时钟频率提高效应,来达成更高的性能。随着频率的不断提高,CPU的发热量也是与日俱增,下图是1993年至今CPU功耗的曲线图,从最易开始的20w不到增长到了如今的130w以上.CPU频率的提高似乎还没有到尽头,目前玩家通过超频等手段获得的的CPU主频世界纪录已经超过了7GHz,但是这是用极其变态的散热方式达成的。这么看来频率似乎不是制约CPU发展的因素,目前两大CPU生产商要要应对是如何在频率提高的同时控制不断升高的发热量。Intel为什么临时改变计划,取消4GHz解决器的计划,就是这个因素。
从上图中我们可以看出,2023年一枚Intel P4系列CPU的功率已经达成了130W.130W是个什么样的概念?假设以现在普通的300W机箱电源为例,也就是说一枚小小的CPU已经占去了整台电脑的2/5多的功耗!并且如此巨大的功耗是消耗在只有指甲盖大小的CPU核心上的,学过简朴物理的人都会想到这时产生的热量会有多大.这种情况下高发热问题一直是CPU生产厂家和用户最紧张的问题,假如风扇停转,解决器烧毁只需一眨眼的功夫.
(网上流传的CPU煎鸡蛋图片)
如今频率的提高似乎还看不见瓶颈,但是发热量却是厂商最头疼的问题。因此,现在越来越多的用户开始关心CPU单位功耗的性能。就目前来讲,AMD公司在功耗的控制方面做得要超过Intel,而Intel公司在发热及过热保护方面要AMD公司做的更好.但无论对Intel还是对AMD公司来说,单纯通过提高频率来获得高性能CPU已经不再也许,这就引出了各种新技术,本文所要论述的双核技术便是其中很有代表性的技术之一.
2.3超线程技术Hyper Treading Technology简析
在双核心解决器出现之前,在服务器市场上已有使用多解决器方面的应用,但需要特殊的主板支持,实现多路解决器的并行工作,但这种方式对于桌面型平台来说,显然是并不适合的,其成本费用十分高昂。因此,Intel在桌面型平台中在Pentium 4解决器中引入了Hyper Treading Technology超线程技术。超线程技术是运用特殊硬件指令,把多线程解决器内部的两个逻辑内核模拟成两个物理芯片,从而使单个解决器能"享用"线程级的并行计算的解决器技术。简言之,就是将一个物理CPU模拟成两个逻辑CPU,在操作系统任务管理器的性能选项卡中可以看到两个CPU使用记录。多线程技术可以在支持多线程的操作系统和软件上,有效的增强解决器在多任务、多线程解决上的解决能力。超线程技术可以使操作系统或者应用软件的多个线程,同时运营于一个超线程解决器上,其内部的两个逻辑解决器共享一组解决器执行单元,并行完毕加、乘、负载等操作,充足运用芯片的各个运算单元。单线程芯片在某一时刻仅能对一条指令(单个线程)进行解决,因而解决器内部有许多解决单元闲置。超线程技术可以使解决器在某一时刻,同步并行解决多条指令和数据(多个线程)。因此,超线程是充足运用CPU内部暂时闲置的解决资源的技术。
当解决器解决多个线程的时候,多线程解决器中的每个逻辑解决器均可单独响应中断,一个逻辑解决器跟踪一个线程时,另一个逻辑解决器也在跟踪和解决此外一个软件线程。为了避免CPU解决资源冲突,负责解决第二个线程的那个逻辑解决器,其使用的是仅是第一个线程运营时暂时闲置的解决单元。例如:当一个逻辑解决器在执行浮点运算(使用解决器的浮点运算单元)时,另一个逻辑解决器执行加法运算(使用解决器的整数运算单元)。这样就大大提高了解决器内部解决单元的运用率和相应的数据、指令处吞吐能力。
超线程技术的局限性之处就是,当运营单任务解决时,多线程的优势无法表现出来,并且一旦打开超线程,解决器内部缓存就会被划提成几个区域,互相共享内部资源,从而导致单个子系统性能下降。而单个解决器内集成两个核心并且拥有独立的缓存,这种方案的设计即可避免上述的问题。因此,双核心的解决器就此应运而生。
三、 对双核心技术的介绍
所谓双核心解决器,简朴地说就是在一块CPU基板上集成两个解决器核心,并通过并行总线将各解决器核心连接起来。双核心并不是一个新概念,而只是CMP(Chip Multi Processors,单芯片多解决器)中最基本、最简朴、最容易实现的一种类型。其实在RISC解决器领域,双核心甚至多核心都早已经实现。CMP最早是由美国斯坦福大学提出的,其思想是在一块芯片内实现SMP(Symmetrical Multi-Processing,对称多解决)架构,且并行执行不同的进程。早在上个世纪末,惠普和IBM就已经提出双核解决器的可行性设计。IBM 在2023年就推出了基于双核心的POWER4解决器,随后是Sun和惠普公司,都先后推出了基于双核架构的UltraSPARC以及PA-RISC芯片,但此时双核心解决器架构还都是在高端的RISC领域,直到前不久Intel和AMD相继推出自己的双核心解决器,双核心才真正走入了主流的X86领域。
Intel目前的桌面平台双核心解决器代号为Smithfield,基本上可以简朴看作是把两个Pentium 4所采用的Prescott核心整合在同一个解决器内部,两个核心共享前端总线,每个核心都拥有独立的1MB二级缓存,两个核心加起来一共拥有2MB,但这显然与Pentium 4 6XX系列解决器的2MB缓存不同。但由于解决器中的两个内核都拥有独立的缓存,因此必须保证每个物理内核的缓存信息必须保持一致,否则就会出现运算错误。例如在系统的内存数据区记录着A=1;假如第一个解决器内核对此数据区进行读写操作,并且改写为A=0,那么第二个解决器内核的缓存也必须进行更新,把A更新为0,否则的话,在以后的操作中数据就会犯错。这样一个过程就是缓存数据的一致性,也就是说双核心解决器需要“仲裁器”来作协调。针对这个问题,Intel将这个协调工作交给了北桥芯片(MCH或GMCH):两个核心需要同步更新解决器内缓存的数据时,需要通过前端总线再通过北桥作更新。虽然缓存的数据并不巨大,但由于需要通过北桥作出解决,无疑会带来一定的延迟,核心之间的通信就会变得缓慢,这将大大影响解决器性能的发挥。
(Intel超线程和双核心技术对比示意图)
物理双核心与Hyper-Threading不同的是,物理双核心从规格上比较无疑占有性能上的优势。超线程是同时多线程技术(SMT)的一种,这种技术可经由复制解决器上的结构状态,让同一个解决器上的多个线程同步执行并共享解决器的执行资源。以上图形说明超线程与多重解决器的差异性。下面的组态显示采用双核心技术的解决器系统。每个解决器核心都有其各自独立的执行资源及结构状态。上面的组态则表达配有超线程技术的解决器,解决器上的结构状态都被复制,但他们仍共同使用一组执行资源。由于物理双核心的实际状况基本和双解决器的情况相同,因此和超线程单解决器相比,理论上有双倍的执行资源,较为繁重的多任务下性能将会得到有效改善。
AMD的技术架构为实现双核和多核奠定了坚实的基础。AMD直连架构(也就是通过超传输技术,让CPU内核直接跟外部I/O相连,而不必不通过前端总线)和集成内存控制器技术,使得每个内核都有自己的高速缓存可资调用,都有自己的专用车道直通I/O,没有资源争抢的问题,实现双核和多核更容易.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双核心解决器的仲裁器是在CPU内部而不是在北桥芯片上,所以在主板芯片组的选择上要比Intel双核心解决器要宽松得多,甚至可以说与主板芯片组无关。
四、 对双/单核心解决器性能评测及比较
在操作系统看来,双核心解决器是实实在在的双解决器,可以同时执行多项任务。理论上说,双内核解决器的性能几乎比单内核解决器高50%—70%。 “相对AMD双核复杂而相对高效的结构,Intel的奔腾D双核几乎就是把两个单核奔腾D简朴的封装在一个基板上”-- Intel工程师如是说。那么,究竟双核心解决器是否可以达成“1+1=2”呢?让评测说话吧.
测试平台
CPU
Intel 奔腾D 820
主板
Intel原厂 945G
显卡
945G显卡
硬盘
WD 800JB
内存
Kingston 1G DDRII533 x2
操作系统
Windows XP Professinal with SP2
测试软件
Sisoft sandra 2023 sr3
Everest
3Dmark06
TMPGEnc
CPUmark99
Super Pi
1. 一方面使用CPUmark99来进行评测. 来看看I820运营在双核以及关闭双核后的成绩:
启动双核心:164 关闭双核心:164
不要怀疑你看错了!没错,对于CPUmark99这样不会运用双CPU或者多CPU的程序来说,双核心解决器同样无法沾光,毕竟,双核心解决器简朴的说,就是2块CPU。
同样的情况出现在Pcmark和Super Pi中.通过观测WindowsXP的任务管理器可以发现一个问题:左边右边两个CPU使用记录的波形是互补的,也就是说,CPU1使用的时候CPU2是休息的,或者说CPU1繁忙的时候CPU2相对空闲,反之亦然,也就是说,测试中是没有完好运用双核的功能的。而测试软件全速运营时CPU占用率也一直保持在50%左右,也就是说和使用一块单核CPU并没有很大区别.
2. 接下来使用Sisoft sandra软件来进行测试,需要说明的是该软件对双核支持较好. 从CPU算术运算结果看来,Sisoft Sandra对双CPU有过专门的设计,所以我们看到双核状态下ALU成绩有15054分,ISSE有7102分;而单核情况下就分别只有7615分和3561分,基本上,双核的成绩正好是单核的一倍。而通过参考对比也可以看到,Intel奔腾D820的CPU算术效能不错,分别有AMD Athlon64 x2 3800+的97.3%和95.0%。而内存测试成绩基本同样,通过这点可以看出,内存性能和单核双核无关。
3. TMPGEnc Plus是一个视频音频压缩、转换软件,这类软件往往由于专业性较强而较早的提供了对多解决器的支持,那么事实是否如此,请看实际测试结果
从任务管理器的CPU使用记录可以看到,TMPGEnc Plus基本上充足运用了双核心解决器的能力,无论是CPU1还是CPU2的占用率都比较高,并且从实际花费3分37秒的时间来看,双核也的确带来了相称大的性能提高。同时启动两个TMPGEnc Plus测试把所有的CPU资源都给占了,无论是CPU1还是CPU2,都运营在100%的满负荷状态下。关闭双核后,使用单核运营同样的TMPGEnc Plus测试,花费了5分23秒的时间,是启动双核花费时间的1.49倍!到了这里,我们也可以看到了,假如程序自身支持多CPU,那么使用双核心解决器性能提高那是相称相称的明显的,超线程跟双核,主线就不是一个级别的,没可比性了。
4. 接下来是大家非常关心的游戏性能测试.在这里使用了3Dmark06这个软件,虽然一度爆出该软件对某品牌的显示芯片作了优化,但是应当不会影响对CPU性能的评测.测试中使用的是相对性能较差的显卡,更能体现出CPU的性能对整机的影响:
测试结果肯定让玩家失望了, 在3DMark06测试中,单/双核心解决器的成绩基本一致,差距基本可以忽略。频率接近的I820和P4 670的成绩基本相称,双核没有优势,在低分辨率下,反而P4 670的成绩有领先的情况出现。
五、 小 结
从测试结果可以看出,假如你问我双核比单核来说是不是性能有提高,那么我回答你是有提高的;假如你问我双核解决器对你来说有没有用,那么我回答你得看你的应用状况了,你是不是会用到支持多CPU的软件,或者会不会经常同时进行多个操作或者使用大型专业软件(如视频图像解决,音频解决,长时间编译等),假如你的回答是肯定的,那么我的回答也是肯定的;
通过对双核技术的分析,可以看出双核心技术对于解决近期CPU频率提高瓶颈已经随之而来的性能瓶颈具有革命性的作用.至少在理论上它的出现为CPU厂家带来了新的希望和卖点,也让用户有机会接触到更高性能的解决器.当然这只是体现在理论上,假如要双核解决器真正发挥他的实力,勿庸置疑需要主板架构,操作系统,应用软件的全方位支持,这在测试中已经体现出来,支持双核与不支持双核的软件在CPU使用率上几乎是2:1的关系.假如没有这些支持,那么双核只能浪费在那里,无法全速运营.
最重要的是,假如单核和双核的价格差不多,选择双核还是单核这个问题,相信已经不用我来回答了.目前看来Intel和AMD都在低端双核解决器上大做文章,大打价格战.相信双核解决器的普及只是时间问题.希望本文能使读者对双核心解决器这一技术以及其实际表现有一个完整的结识.
六、 参考文献
2023年72款市售主流CPU性能全面测试:
绝唱!Intel双核CPU巡礼:
,0
[技术解析]双核解决器的技术浅析:
[评测]双核到底有没有用?接触Intel双核奔腾D:
展开阅读全文