处理器多核化的发展与趋势!

来源:互联网 发布:上海java培训机构 编辑:程序博客网 时间:2024/05/16 10:09

 多核的提出
    随着个人电脑走入每一个生活家庭,我们对CPU的性能要求越来越高,从简单程序处理,到办公辅助系统,再到休闲娱乐,特别是大型游戏与多媒体对CPU的性能要求越来越高。过去的经验说明要达到提升40%左右性能的复杂超标量CPU,它的晶体管数量就得翻一翻。许多业内分析家和研究人员的结论都是:单核CPU不再有前途了。正如英特尔的Shehar Borkar所说的那样。“多线程技术有着这样的潜力,可以提供接近线性的性能提高。两块相对较小的芯片,而不是一块巨无霸式的芯片,能够提供70%到80%的性能提升,而如果用一块巨无霸式的芯片基本只有40%的提升水平。”请注意“巨无霸”这个词。这里它是有贬义倾向的,暗示了单核CPU是基于过去的技术的。当单核CPU基本只有40%的性能提升时,它却增加了结构的复杂性,同时更带来了头痛的漏电问题。这也解释了为何突然间英特尔的市场推广中不再讨论有关10GHz的CPU,而大谈“线程并行时代”。
    一些芯片的厂商指出,当处理器的频率达到某种程度后,处理器在工作量的要求会比速度的要求要大,且0.13微米所含的晶体管已很高,将来65纳米和45纳米,其1组光罩的成本会倍增。但是,这种成本成倍的增长并不会给厂商们带来相应的收入增长。且发热量和干扰的因素的介入使得集成度和处理器的频率已经越来越趋近于一个极限。
    因此,使摩尔定律失效的有可能是技术,有可能是经济效益。
    单内核处理器技术的发展遇到了瓶颈,而多内核技术则可以提升处理器的整体性能。由于处理器功耗和散热问题日益突出,英特尔逐步放弃了通过提升主频来增强处理器性能的传统方法,转而更加关注处理器的功能以及支持多核技术的软件。
    超线程技术的性能提升受到了两个执行线程共享资源可用性的限制。结果,由于这些共享资源之间的争用,超线程技术不能实现两枚独立处理器的处理吞吐率。如欲在单个芯片上实现更出色的性能提升,处理器就需要两个单独的内核,这样每个线程就能拥有其专属的整套执行资源。进入多内核。
    为了突破这一障碍,处理器制造商开始采取一项新战略,将两个或更多的完整的、独立的处理器内核安装在一个芯片上。这种多内核处理器直接插在主板上的一个插座中,操作系统将每一个执行内核视为一个可以独立控制的逻辑处理器。拥有两个独立的CPU核,可以让每个CPU核以较低的速度运行,因此降低了温度,并且在大多数情况下,还提高了计算机的总体吞吐量。
    从一个角度看,多内核只是多年来我们所采用的两个或更多标准CPU的“n路”服务器设计思想的延伸,我们只是使芯片的封装变得更小、集成得更彻底。但是,实际上,这种多内核战略代表着处理器架构的重大变化,这一变化将迅速席卷计算行业。在一个芯片上集成两个CPU,而不是将它们插入到两个独立的插座上,大大加快了CPU之间的通信速度,减少了等待时间。
    多内核处理器,顾名思义,就是在同一个物理封装中包含两个或多个独立的内核。图 2 显示了多内核处理器与前代技术在这方面的不同。
    多内核设计支持两个或多个内核以稍慢的速度同时运行,温度却要低许多。这些内核的吞吐率结合起来可提供更加强大的处理动力,超过了现今单内核处理器的最高水平,功耗也得以大幅降低。这样,英特尔依然如摩尔定律所预言的那样提高了服务器平台的性能,同时该技术不再将物理限制推向新的极限。
多核的发展
   “到2007年,发货的大多数处理器将配备两个内核。”Gartner的分析师Martin Reynolds说,“双内核芯片带来了自推出386处理器以后最大的性能提升,不过开发人员和用户必须对软件进行测试和调整,才能享受双核处理器所带来的好处。”
    如果需要,英特尔将推出十内核、百内核甚至是千内核的处理器。到2016年,处理器将采用11纳米生产工艺,处理器晶体管数量达到1280亿个;到2018年,处理器将采用8纳米生产工艺,处理器晶体管的数量达到2560亿个。
    英特尔将通过软件充分利用这些庞大的晶体管群。英特尔数字企业集团首席技术长帕罗维茨表示:“未来十年内我们将把超级计算能力推广到主流计算机平台,届时每位用户都可以享受到每秒1万亿次数学运算的速度。
    Reynolds指出,对于某些应用,双核处理器的性能最多将比同样速度的单核处理器的性能高70%,双核芯片非常适合于处理器利用率非常高的应用(如当服务器运行虚拟化软件时)以及像媒体编辑、计算机辅助设计、仿真程序和Adobe Acrobat等桌面应用程序。
    除了运行起来温度更低、速度更快外,多内核处理器尤其适合于具有可以被划分为独立的线程、可以并行执行操作的任务。在双内核处理器上,可以利用多个线程的软件,如数据库查询和绘制图形,运行速度比运行在单核芯片上几乎快100%。但是,很多以线性方式处理的应用程序将享受不到多少好处。

多核的未来及面临的问题
    既然多核技术能够如此有效的提升运算速度,为什么不早早的就开始发展多核技术,而是在单片的运算频率上面拼来拼去呢?
    首先就是软件部分,开发工具没有部署到位的时候,能够合理运用多核技术的应用开发几乎无法进行。
    有人悲观地预测,应用开发商们将需要几年时间重新编写程序。一旦确立了一种转换方法,IDE工具厂商将开始推出帮助管理多线程开发复杂性的自动化扩展工具。这两个过程很容易用上3~5年的时间。具有全集成多线程控制结构的商业开发语言应当在5~7年后得到广泛使用。但即使那样,个人用户也不要指望在每次推出新CPU时,桌面应用程序的性能都会马上提升。对于多内核系统来说,拥有桌面上的CPU带宽与能够利用它是两件完全不同的事情。
    我们必须清醒地认识到,多核的大众时代尚未到来。对于桌面应用,多核的大众化并不会很快变为现实。大家希望能够利用上多核的高性能,在一般人的理解中,也是如果我用了双核芯片,我的电脑速度就会比原来增加一倍。但是实际上不是这样的。每个应用都能随着越来越多的处理器可供使用而适度地提高性能。正如过去提高时钟速度和应用带宽那样,增加处理器内核的数量同样应当提高性能,为什么对桌面应用就不行呢?
    尽管利用并行CPU提高总体软件性能的概念至少已经出现35年了,但是在开发工具方面,使这种方法进入商业市场的东西却非常少。可供程序员迅速开发出来的程序还是单线程的。虽然多内核CPU使你可以将多个应用分配到多个处理器上,但是单个应用的性能仍受到单个处理器的速度的限制。夸张一点的说:不管你有一个处理器还是100个处理器,现今的大部分应用程序性能增加不会很大,因为在任何时刻,每个应用只能运行在一个处理器上。
    因此,对多核技术的真正有效应用成为了限制多核处理器在PC上面的普及的瓶颈。
    今天的情况正在迅速演变为10年前一幕的重现。需要更多CPU带宽的应用厂商再也不能依靠提高时钟速度来获得更好的性能和功能。多数大规模客户端应用是用C或C++编写的,而且历史上一直被设计为单线程。这使应用的多线程优化是个需要耗费大量劳动力的改写过程。就多内核CPU而言,广泛的桌面性能和功能的改进仍需要几年时间。
    为了再一次提高性能和功能,一直依靠CPU时钟速度不断提高的桌面应用厂商现在必须向长期的、痛苦的软件改写投资,这个过程,还是只能够用“痛苦而漫长”这几个字来形容。

结束语
    发展多核并不能像发展CPU核心频率那样明显的迅速在桌面应用程序层面看到效果,想要真正在桌面应用上普及,人们还要耐心的等待一段时间。
    但是,总体而言,多核技术的应用在未来是一种不可阻挡的趋势和潮流。人们对性能要求的最大化决定多核必将取代单核。这只是一个时间上的问题。

 

原创粉丝点击