设为首页 加入收藏

TOP

1.1 什么是多核
2013-10-07 12:57:20 来源: 作者: 【 】 浏览:77
Tags:1.1 什么

第1章 新的体系结构

在台式计算机的微处理器设计方面的最新进展包括将多个处理器放置到一个计算机芯片上。这些多核设计完全取代了作为台式计算机的基础的单核设计。IBM、Sun、Intel和AMD都已经将他们的芯片流水线从生产单核处理器变为生产多核处理器。这已经促使计算机供应商将他们的重心转移到销售拥有多核的台式计算机,如Dell、HP和Apple。在这个新的领域的市场份额的竞争中,每个计算机芯片生产商都在挑战着能够经济地放置到一个芯片上的内核数目的极限。所有这些竞争使得消费者拥有了比以前更多的计算能力。主要的问题在于常规的台式计算机软件没有被设计为利用新的多核架构。实际上,为了能够从新的多核体系结构中得到任何真正的加速,将必须重新设计台式计算机软件。

设计和实现利用多核处理器的应用软件的技术,和在单核开发中使用的技术有着根本的区别。软件设计和开发的焦点将必须从顺序编程(www.cppentry.com)技术转变为并行和多线程编程(www.cppentry.com)技术。

现在,一般开发人员的工作站以及入门级的服务器都采用具有硬件级多线程、多处理和并行处理能力的多处理器。尽管顺序编程(www.cppentry.com)和单核应用开发仍将保留有一席之地,但是多核应用程序设计和开发的思想现在已经成为主流。

本章将会带您了解多核编程(www.cppentry.com),介绍的内容有:

什么是多核?

有哪些多核体系结构以及它们之间有什么区别?

作为软件的设计人员和开发人员,当从顺序编程(www.cppentry.com)和单核应用开发转移到多核编程(www.cppentry.com)时,需要知道哪些知识?

1.1  什么是多核

多核是一种将多个处理器放置到一个计算机芯片上的架构设计。每个处理器被称作一个核。随着芯片容量的增加,在一个芯片上放置多个处理器变得可行。这些设计被称为芯片多处理器(Chip Multiprocessor,CMP),是因为它们允许单芯片进行多处理。多核是CMP或单芯片多处理器的流行的名字。单芯片多处理的概念并不是新的,早在20世纪90年代初期,芯片生产商就已经开始探索在单芯片上放置多个内核的想法。最近,CMP已经成为改进总体系统性能的首选方法。这种方法与通过增加时钟频率或处理器速度来获得总体系统性能收益是截然不同的。增加时钟频率的方法已经开始在成本效益方面达到其极限了。较高的频率要求更多的能耗,使得系统制冷变得困难且代价高昂。这还会影响确定尺寸和封装(sizing and packaging)方面的考虑。所以,现在的做法是增加更多的处理器,而不是令处理器运行得更快以获得性能上的提升。由于这种方法实现简单,因此是更好的方法,所以该方法驱动了多核革命。当前,多核体系结构在增强总体系统性能方面成为了焦点。

对于熟悉多处理的软件开发人员,对多核开发应当也不陌生。从逻辑的观点,对分开封装的多个处理器进行编程(www.cppentry.com)与对包含在单独芯片上的单个封装上的多个处理器进行编程(www.cppentry.com),两者之间并没有很大的区别。当然可能会存在性能差异,因为新的CMP利用了总线体系结构以及处理器之间连接等方面的进步。在某些环境下,这可能会使得原本为多个处理器编写的程序能够在CMP上更快地执行。除了潜在的性能收益,设计和实现都是非常类似的。在本书中,我们将讨论其中存在的微小差别。对于只熟悉顺序编程(www.cppentry.com)和单核开发的开发人员,多核方法提供了很多新的软件开发范型。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.3.3 内存是关键 下一篇1.5.2 并行编程

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: