多核心考验Intel实力 Kentsfield评测分析 | |
---|---|
http://www.sina.com.cn 2006年11月04日 05:30 天极yesky | |
天极评测室Oscar
多核心处理器的发展与挑战 Intel公司成立于1968年,当时Intel仅是一家生产寄存器的企业,然而今天Intel已经成为了全球最大的处理器生产、销售的公司,TI、AMD、IBM这些曾经的、现在的对手无时无刻不在感受着来自Intel的强大压力。目前绝大多数的台式电脑、笔记本、PDA设备都在使用Intel的处理器,还有无数的业务正在运行在这个品牌的平台上。对于这些设备的使用者来说,他们很清楚Intel的产品意味着什么。Intel致力于使用高技术改造人们生活的同时,也逐步在建立起一个IT基础设备的黄金帝国。 然而多核心处理器的发展让一些的潜在问题暴露出来,因为多核心处理器与之前的单核心处理器最大的不同就是它需要软件的支持,只有基于线程化的软件硬应用上多核心处理器才能发挥出应有的效能,因此多核心处理器的最大问题就是软件问题,这是其一。 更重要的是在信息膨胀的今天,生活频率的加快使得越来越少的人去关注机箱内使用的是什么处理器,硬件层次的东西开始在人们视野内被淡忘,取而代之的是平台化服务的概念,用户不会再对Intel说:“我要求你的处理器要跑多快”。而是改为:“我的企业需要一个运营的平台,你Intel能不能提供这样一个包含硬件、特别是软件解决方案的平台?并且还需要为我这套平台日常运营作软件维护,另外还需要提供这套平台的安全内容,以防止企业信息被窃取。” 在上面的用户需求中,有那些是Intel能够独立完成的呢?很可惜,并没有?Intel目前面临的最大问题是在软件上,而软件的服务Intel以往的做法就是通过相应的合作伙伴来完成,比如Intel会提供给HP公司服务器上的所有硬件方案和编译程序接口,而HP则把Intel的方案与自己的服务程序一起封装,为用户提供一套平台服务。 之前的时代,用户还会关注一下HP服务平台中的处理器性能如何,但随着社会节奏的加快,用户已经没有兴趣再去关心HP服务平台中的具体细节,而是把所有的一切问题压缩成一点:就是HP的服务平台到底能不能满足我的需求,成本如何?这时候硬件就会淡出用户的视野,IT产业发展所创造的利润就会被IBM这样可以兼顾软硬件的平台服务商所赚取。 随着平台化服务趋势的发展,Intel帝国所面临的还不仅是来自IBM这样的平台服务商的竞争,还有来自自己软件合作伙伴的竞争。因为多核心处理器的发展拉动了并行编译程序的需求,这在加速软件行业发展的同时,也使软件的开发成本激增,导致了软件开发商利润下滑,为了压缩产品成本,软件公司必然会把减低硬件设施成本的触手伸向Intel帝国,作为一个企业如何捂紧自己的钱包是最重要的事,Intel帝国当然不会无视这些触手的存在,不过平台化服务趋势已经不可抵挡。 应用(软件)服务正在让Intel黄金帝国面临着巨大考验。 Kentsfield结束了软件厂商的免费午餐 记得在90年代的时候,大多数的程序员正在从C、PASCAL这类编译性语言中走出来,开始学习如何面向对象(Class)的编程。在座编译的时候,大多数程序员面对着比C臃肿的类(Class)包装程序代码都会产生疑虑。这时候Intel出来告诉我们说;“程序员应该把精力放在如何丰富程序的应用上,而不必担心程序的执行效率问题,如果我们的奔腾2不够快,我们还有奔腾3、奔腾4、奔腾5……” 历史也正朝Intel所意料的方向去发展,面向对象的编程语言在90年代开始被广泛使用,Intel的处理器也从奔腾2、奔腾3发展到奔腾4,多年来奔腾处理器始终以最强的性能,延续着摩尔定律并代表着各个时代处理器发展的最新进程。可以说摩尔定律见证了Intel这个高傲巨人的成长,并亲眼目睹了其在这个星球上建立起一个强大的IT基础设备黄金帝国。
在过去三十年里,处理器的设计者主要从三个方面提高处理器的性能,分别是时钟速度,执行优化和缓存,而头两个就是从线性执行流程上考虑的。这使得大多数软件不用做版本的升级甚至原封不动,就可以轻松而持续的享受处理器性能提升的成果。让程序的执行速度大大加快。比如同一款Photoshop6.0版本软件在几年前的机器上和现在的机器上执行速度就大不一样。 而接下来的数年里,新型芯片的性能提升将主要从三个方面入手,其中仅有一个沿袭是过去的:(1)超线程(2)多核(3)缓存。而头两个就是从并行执行流程上考虑的,对单线程的应用程序毫无帮助,只有最后一个增加缓存的措施才对单线程的软件执行有所帮助。但如果你希望你的程序能获得更大的性能提升,那就需要重新编写你的并发程序。 Intel目前已经在规划未来要推出100颗内核的处理器,那个时候单线程的应用最多就只能使用到100颗内核处理器的百分之一性能,“程序员应该把精力放在如何丰富程序的应用上,而不必担心程序的执行效率问题,如果我们的奔腾2不够快,我们还有奔腾3、奔腾4、奔腾5……”的说法在今天已经全面落伍,今天4核心Kentsfield处理器的发布无疑是告诉软件厂商:已经不能再通过升级处理器提高程序的运行性能,再没有免费的午餐可以享用。 因此,软件厂商在以后的发展中应当以并行计算为主导,并致力于提高程序效率、优化其性能。 四核处理器Kentsfield=Conroe + PentiumD? Kentsfield处理器的正式编号为Intel Core 2 Extreme QX6700,采用65nm工艺制造,主频为2.66GHz,目前最新版本的核心为B3版,与之前的B0、B1版本核心QX6700相比,B3核心的发热更少、更利于超频。QX6700拥有4x32Kbytes的L1 Data Cache,4x32Kbytes的L1 Code Cache,以及2x4096Kbytes的L2 Cache,是目前二级缓存最大的桌面级处理器。 Core 2 Extreme QX6700 4核心处理器是把两颗双核心Conroe处理器封装在一起,这有点类似于之前的PentiumD把两颗Proscott P4处理器封装的做法。所以目前业内有种说法是:四核处理器Kentsfield=Conroe + Pentium D。 QX6700 VS X6800 in Benchmark
QX6700 VS X6800 in 3D Game
QX6700 VS X6800 in Application
注意面向目标原则,硬件解决的根本问题还是软件 通过我们上面的测试可以看到,并行程序在多核心处理器中是有非常大的执行优势的,而以往单线程的软件则并没有能享受到多核心处理器带来的性能提速,可能还会降低执行效率,就如在3D游戏测试的项目中一样,在大部分的情况下QX6700比X6800得分还要低。这就充分的说明了:软件厂商想利用新处理器来加速软件执行效率的免费午餐已经结束,要想再利用新处理器来提升程序的执行效率,就必须重新设计程序的并发机制,这样才能更好的利用多核处理器。 就像在90年代我们都在学习什么是对象(Class)一样,现在我们又开始在学习什么是并发编译,但在这过程中我个人的心得是:在并发编程中千万不要盲目的去理解并发编程,要根据面向目标的原则来做出决定。因为实际上并不是所有的应用都需要并发,一个简单的例子就是:一个女人需要花十个月才能生出一个小孩,那如果生小孩是作为对象的目标的话,我们就不能把这十个月分为十个线程并发执行,让这女人一个月就生出一个小孩来。所以,在学习并发编译的时候我们一定要坚持住面向目标的原则,不是所有的应用都可以并发执行的。 那么作为最后的一点就是,Kentsfield的出现对程序员来说意味着什么?那就是一个革命性的改变。我们必须要重新学习并发编程,以充分利用新多核处理器的优势,还需要改变以往臃肿的程序代码,使的单线程更有效率。而Kentsfield的出现对整个软件行业所带来的影响也是积极而深远的,但最难过的消息是虽然以后的程序会更有效率,但软件的开发成本与运营成本将会成倍的增加。 但就Intel帝国来说,软件厂商为了压缩成本,或许会把触手伸到帝国的荷包中,而帝国除了要在处理器硬件制造上保持优势外,还需要警惕这些触手捂紧自己的荷包。在面对平台化服务趋势大潮时,帝国真是要付出加倍的努力。 也有另一个逻辑能让我们少许宽心,那就是,随着帝国和软件厂商的合力推动,市场总量高速增长,于是,即便在帝国在总的饼图中的份量被软件厂商分割很大一部分,但对于Intel本身来说还是有相当的利润。
|