好文档 - 专业文书写作范文服务资料分享网站

多核处理器及系统设计面临着一些新的挑战

天下 分享 时间: 加入收藏 我要投稿 点赞

多核处理器及系统设计面临着一些新的挑战

为什么要采用多核呢?如果设计一款两倍于原来大小的处理器,性能并会 不增加到原来的两倍,性能大概只会作平方根的增长,所以尺寸加倍并不会带 来同等数量级的性能增长,只会带来大概 1.4 倍于原来的性能,即增长 40%。 这个被称为 Pollack 定律(由英特尔工程师 Fred

Pollack 定义),在单核系统中

已经得到了证明。而芯片制造商力图采用多个核心来提高性能和速度提升的系 数。

但设计一个多核系统面临一些新的挑战。 通信的鸿沟

核心之间的通信也许是最关键的问题,因为在一些系统中会起到至关重要的 作用。无需特别的测量,一般通信量的增加与核心的数量 n 是一个二次方程 (n+1)*n/2 的关系,因此一个四核系统在通信数据量上相比单核系统会有成十倍 的增加,一个 16 核系统会增加到原来的 136 倍,一个 256 核系统会增加超过 32,000 倍!因此一个核心之间的灵活的通信系统对于多核系统的工作是最基本的。

有几个解决方案是采用中心存储器来缓冲,不过当所有的处理器核都与存储 器进行内部通信时就会出现问题。一般会采用信息包开关网络或其他架构。 我们可以做一个有趣的类比,假设这是一个人类组织,如果人数增多,交流 就会变得困难,甚至会带来瓶颈。如果是一个 2 个人或 4 个人的小团体,交流 起来就简单得多,如果人数超过 20 个或更多,就需要一个更有效的交流架构, 比如每周例会、技术小组等等。

实践表明一个 6 到 8 个人的小组是最为有效的。更大的小组需要合理的架构 和其他形式的咨询和协作。在多核系统中也是一样的道理。

人为设计因素

人为设计因素同样会影响多核系统的架构。在 1990 年我曾经在荷兰埃因霍 温作个一个技术讲演,我将设计分解为一个一个的模块和模块之间的互联。同 样,连接的数目也同模块数是一个二次方程的关系。

解决复杂问题的方法是应用和归纳概念的能力。这里,一些元件被看成是宏 元件。

自下而上的设计,简单的分解和构造各个元件直到达到最基本的构成 -- 逻 辑门或是运算单元,例如,采用分级的方法,复杂的二次方程问题可以简化为 线性问题。

在设计一个多核系统中完成通信和设计复杂性的管理,选择合适的架构、设 计思想、工具的应用等等都非常重要。 功耗的平衡

降低多核系统的功耗和散热处理是工程师面临的另一个主要的问题。降低功 耗可以通过限制每个核心的运算来实现,称为 voltage scaling -- 每个核心的频 率和供电电压可以根据每个处理核的任务运算两来进行功耗优化。

另一个要考虑的因素是可以由进程推断的并行处理的数量,如果并行运算很 少,采用多核来处理也就没有什么优势。

多线程是处理并行运算的一个方法。在通信处理器里面写软件是另一个方法。 这些技术由特殊的运算支持,以维持系统的精确度和一致性。 tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

3zw1i0pi4f9mzf00wrvr0a0pl1szli00hfl
领取福利

微信扫码领取福利

微信扫码分享