为什么微处理器要从单核转向多核?

zhsj64 2007-06-05 10:15:52
加精
计算机上不断涌现的新兴使用模式让最终用户对处理器的处理能力——即性能——提出了更高的要求,并且对性能每年提高的幅度还在不断加速,而多核技术是目前行之有效的方法。


自从英特尔在2005年推出了第一代双核处理器之后,我们经常会被用户问到这个问题,为什么微处理要从单核转向多核?计算机上不断涌现的新兴使用模式让最终用户对处理器的处理能力——即性能——提出了更高的要求,并且对性能每年提高的幅度还在不断加速,而多核技术是目前行之有效的方法。

什么不能用单核的设计达到用户对处理器性能不断提高的要求呢?答案是功耗问题限制了单核处理器不断提高性能的发展途径。

  作为计算机核心的处理器就是将输入的数字化的数据和信息,进行加工和处理,然后将结果输出。假定计算机的其他子系统不存在瓶颈的话,那么影响计算机性能高低的核心部件就是处理器。反映在指令上就是处理器执行指令的效率。

  处理器性能 = 主频 x IPC

  从上面的公式可以看出,衡量处理器性能的主要指标是每个时钟周期内可以执行的指令数(IPC: Instruction Per Clock)和处理器的主频。其实频率就是每秒钟做周期性变化的次数,1秒钟只有1次时钟周期的改变叫1Hz(赫兹)。主频为1GHz 就是1秒钟有10亿个时钟周期。

  因此,提高处理器性能就是两个途径:提高主频和提高每个时钟周期内执行的指令数(IPC)。处理器微架构的变化可以改变IPC,效率更高的微架构可以提高IPC从而提高处理器的性能。但是,对于同一代的架构,改良架构来提高IPC的幅度是非常有限的,所以在单核处理器时代通过提高处理器的主频来提高性能就成了唯一的手段。

  不幸的是,给处理器提高主频不是没有止境的,从下面的推导中可以看出,处理器的功耗和处理器内部的电流、电压的平方和主频成正比,而主频和电压成正比。

  因为: “处理器功耗 正比于 电流x 电压 x 电压 x 主频”,“主频 正比于 电压”

  所以:“处理器功耗 正比于 主频的三次方”

如果通过提高主频来提高处理器的性能,就会使处理器的功耗以指数(三次方)而非线性(一次方)的速度急剧上升,很快就会触及所谓的“频率的墙”(frequency wall)。过快的能耗上升,使得业界的多数厂商寻找另外一个提高处理器性能的因子,提高IPC。

  提高IPC可以通过提高指令执行的并行度来实现,而提高并行度有两种途径:一是提高处理器微架构的并行度;二是采用多核架构。

  在采用同样的微架构的情况下,为了达到处理器IPC的目的,我们可以采用多核的方法,同时有效地控制功耗的急剧上升。为什么?看看下面的推导。

  因为:“处理器功耗 正比于 电流x 电压 x 电压 x 主频”,“IPC 正比于 电流”

  所以:“处理器功耗 正比于 IPC”

  由单核处理器增加到双核处理器,如果主频不变的话,IPC理论上可以提高一倍,功耗理论上也就最多提高一倍,因为功耗的增加是线性的。而实际情况是,双核处理器性能达到单核处理器同等性能的时候,前者的主频可以更低,因此功耗的下降也是指数方(三次方)下降的。反映到产品中就是双核处理器的起跳主频可以比单核处理器更低,性能更好。

  由此可见,将来处理器发展的趋势是:为了达到更高的性能,在采用相同微架构的情况下,可以增加处理器的内核数量同时维持较低的主频。这样设计的效果是,更多的并行提高IPC,较低的主频有效地控制了功耗的上升。

除了多核技术的运用,采用更先进的高能效微架构可以进一步提高IPC和降低功耗——即提高能效。基于英特尔®酷睿™ 架构的英特尔® 酷睿™ 2 双核处理器和至强处理器就是现实中的例子。相比英特尔前一代的NetBurst 微架构(Intel® Pentium® 4 和Pentium® D),酷睿微架构采用的英特尔® 宽区动态执行引擎和英特尔® 高级数字媒体增强技术,就是提高IPC的创新技术;英特尔® 智能功率特性则是降低微架构功耗的技术。

转自:天极
...全文
3034 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxz1986 2010-06-18
  • 打赏
  • 举报
回复
学习ing.......
baisoo 2010-03-16
  • 打赏
  • 举报
回复
路过,顶
xin_200 2008-03-05
  • 打赏
  • 举报
回复
基本同意楼上的预期。不过至少C,FOTRAN等都支持并行的,关键是很多算法(我倾向于认为大多数算法)是没有必要并行的。
并行编程的难度也很大,不是intel等公司发布一些工具就能解决的。
intel的编译器早就支持一些低级的自动并行,但要继续提升确实很难,至少这几年没看到明显的改善。
yaos 2008-02-04
  • 打赏
  • 举报
回复
就目前的计算机软件开发水平来说
多核的软件必须手工优化调试

关键是主要的开发语言都不支持并行

理想的情况是由编译器自动对代码优化
并把能并行的语句自动在不同核心执行

否则当核心数激增后
无法想象开发的难度多大
zhangyixian525 2007-08-10
  • 打赏
  • 举报
回复
从处理器公式性能 = 主频 x IPC 看以看出提高CPU处理速度的方法无非有两种:提高主频或者提高每个时钟周期内执行的指令数(IPC).但是为CPU提高主频是有瓶颈的.当主频达到一定数值之后,提高的空间已经很小了.所以为了进一步适应不断增强的CPU处理能力的需要.Intel 提出了多核来做为提高CPU运行速度的一个解决方案.多核使多个CPU可以并行工作,可以大大提高运行效率.
mengmengswat 2007-08-07
  • 打赏
  • 举报
回复
主要还是散热问题,功耗和热能.要不以后人人都得扛个液冷了...
飚主频没有多大意义,利用率不高.
sevencat 2007-08-07
  • 打赏
  • 举报
回复
主要原因可能不是因为其他的速度限制,而是CPU本身,像昌体管性能之类的问题,在主频过大的时候会出现一些问题,我具体也记不得了,但有这个文章。
  • 打赏
  • 举报
回复
学习
awuzi 2007-08-07
  • 打赏
  • 举报
回复
标记
水哥阿乐 2007-08-07
  • 打赏
  • 举报
回复
对,INTEL正因为考虑到了CPU既使速度提得再快,人家的总线,硬盘传输速率低,瓶颈现象不容忽视.有人可能试过,非常老的赛扬433CPU兼容机装7200转硬盘.性能提升几乎是原来的两倍不止.可见,人家的CPU已经够快了,单核再提高多少主频情况仍不容乐观.
且说得好听,不利节能(连同风扇和电源功率都要加).说得难听点,其实,功耗的增加,就会加大CPU的发热量,减少CPU的寿命,影响CPU质量.弊大过利.
超线程一经推出受到了非常的待遇,所以人家无可后非的转到了研究真正的双核了.
DiligencyMan 2007-08-07
  • 打赏
  • 举报
回复
学习啦
sevencat 2007-08-07
  • 打赏
  • 举报
回复
因为单核的发展碰到瓶颈了,单核不可能达到非常高的频率。intel也推出了高频率的CPU,但发现存在问题,所以才向多核发展。
ribut9225 2007-08-07
  • 打赏
  • 举报
回复
复杂
学习
cuizhanjun1981 2007-08-07
  • 打赏
  • 举报
回复

真正原因还是商业竞争吧。
yaos 2007-08-07
  • 打赏
  • 举报
回复
似乎如果没有4G推出受阻
现在Intel和AMD还在推6G CPU呢
dzq138 2007-08-07
  • 打赏
  • 举报
回复
哦.
gyyforever 2007-08-06
  • 打赏
  • 举报
回复
学习了,顶一下
red_berries 2007-08-06
  • 打赏
  • 举报
回复
bu cuo
wuxing2006 2007-08-06
  • 打赏
  • 举报
回复
好像是AMD先推出的多核处理器好不好

使用多核 的原因是制造工作的问题
tanxd39 2007-08-06
  • 打赏
  • 举报
回复
UP!
加载更多回复(19)

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧