【研究贴】为什么现在CPU都设计为多核芯,不再简单提升.....
{:shocked:}为什么现在CPU都设计为多核芯,不再简单提升提升主频?相信这个问题困扰了很多人,也困扰本人一段时间,当解决这个问题后苦于没有时间码字,今天草草写出来与大家共享。
INTEL从8086/88开始一路杀到PIII,对CPU的简单评价就是CPU的主频,但到了PIV后,我们发现,主频每年并没有提升多少,INTEL已经没有当年“奔腾”地提升主频了。
作为计算机核心的处理器就是将输入的数字化的数据和信息,进行加工和处理,然后将结果输出。假定计算机的其他子系统不存在瓶颈的话,那么影响计算机性能高低的核心部件就是处理器。反映在指令上就是处理器执行指令的效率。
处理器性能 = 主频 x IPC
IPC: Instruction Per Clock(每个时钟周期内可以执行的指令数)
因此,提高处理器性能就是两个途径:提高主频和提高每个时钟周期内执行的指令数(IPC)。处理器微架构的变化可以改变IPC,效率更高的微架构可以提高IPC从而提高处理器的性能。但是,对于同一代的架构,改良架构来提高IPC的幅度是非常有限的,所以在单核处理器时代通过提高处理器的主频来提高性能就成了唯一的手段。
不幸的是,给处理器提高主频不是没有止境的。
因为:“处理器功耗 正比于 电流x 电压 x 电压 x 主频”,“IPC 正比于 电流”
所以:“处理器功耗 正比于 IPC”
由单核处理器增加到双核处理器,如果主频不变的话,IPC理论上可以提高一倍,功耗理论上也就最多提高一倍,因为功耗的增加是线性的。而实际情况是,双核处理器性能达到单核处理器同等性能的时候,前者的主频可以更低,因此功耗的下降也是指数方下降的。反映到产品中就是双核处理器的起跳主频可以比单核处理器更低,性能更好。
上世纪八九十年代以来,推动微处理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。这两个因素是相互影响,相互促进的。
多核的出现是技术发展和应用需求的必然产物。
好像没解释完,继续吗? 就在今天 发表于 2016-12-18 11:00
好像没解释完,继续吗?
是的,本来想向下讲,但怕大家打瞌睡,就没再继续了。
如果大家希望继续,我就继续讲下去。 多核CPU的发展
多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。
已有的多核处理器中仍存在几种比较典型的结构,它们分别代表了多核处理器结构中的某一类特点,而Hydra、Cell 和RAW 处理器就是3 种典型的结构。
类似于集群吧
单核系统要是需要达到多核同样的功能水平即使能造出来最起码在成本上会高很多
这样就卖不出去了 在合适的时间点推出合适的产品 这也叫定位
软件也是关键,怎么分配使用多核心。不能一核有难,多核围观。 我有一个问题 如果只是多核心 不提高主频率 假设我要计算(1+2)+3这样,,流水线操作,,是不是多核心和单核心的效果一样啊,,,因为我必须要先计算出1+2 之 后才能进行后面的计算,,, 微处理器架构方面的教材都会讨论这个问题。
有严格依赖关系的单线程计算任务,提升性能的唯一路径是提频率。
计算没有严格顺序依赖,存在指令级并行(ILP),那么可以超标量,多发,乱序来提升性能;但ILP的发现需要额外的逻辑,并且ILP水平也不会太高。所以现在大多数处理器的发射数都不是很高。
如果把并行性的发现丢给编译器,可以是VLIW,这个在DSP领域性能彪悍,通用计算上IA64算是失败的例子。
任务级并行可以用超线程、多核来做,任务间有耦合,有通信约束;任务间完全解耦的话,有共享存储器的带宽约束,性能的增加也不会完全线性,故多核不能太多。 hongfadg 发表于 2016-12-18 19:32
我有一个问题 如果只是多核心 不提高主频率 假设我要计算(1+2)+3这样,,流水线操作,,是不是多核心和单核 ...
有严格顺序依赖的,多核比单核慢,因为有核间通信开销。 简单提升提升主频?提升提升主频简单? 多核也不是无限制增加的。所以cpu快到极限了 楼主解惑了 非常感谢 因为处理器频率上升遇见瓶颈了,所以用多核来增加性能啊。就是速度不够量来凑。 排除架构等因素的话,其实主频提升是效果最好的,但是现行电路材料限制,基本上难于再做到很大的频率提升了 带着小马扎来听课 看过一个视频,好像是amd的cpu超频到8Ghz的,用灌液氮来冷却的 多核是趋势,可惜支持多核心的软件太少了。。。 多核处理器的技术优势
从应用需求上去看,越来越多的用户在使用过程中都会涉及到多任务应用环境,日常应用中用到的非常典型的有两种应用模式。
一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。还有一些更常见的日常应用程序,例如Office、IE等,同样也是采用线程级并行编程,可以在运行时同时调用多个线程协同工作,所以在双核处理器上的运行速度也会得到较大提升。
日常应用中的另一种模式是同时运行多个程序。目前虽然单一的单线程程序无法体现出多核处理器的优势,但是多核处理器依然为程序设计者提供了一个很好的平台,使得他们可以通过对原有的单线程序进行并行设计优化,以实现更好的程序运行效果。
多核处理器的技术瓶颈
要想让多核完全发挥效力,需要硬件业和软件业更多革命性的更新。其中,可编程性是多核处理器面临的最大问题。一旦核心多过八个,就需要执行程序能够并行处理。尽管在并行计算上,人类已经探索了超过40年,但编写、调试、优化并行处理程序的能力还非常弱。
一味增加并行的处理单元是行不通的。并行计算机的发展历史表明,并行粒度超过100以后,程序就很难写,能做到128个以上的应用程序很少。CPU到了100个核以上后,现在并行计算机系统遇到的问题,在CPU一样会存在。
未来,单芯片内部的并行处理应该是一个重要的发展方向,这也许是INTEL收购ALTERA的重要原因. 当你遇到DELAY用FOR(;;)时,再高的主频都是白搭
当windows执行java程序时,100个核心都没有用呵呵 多核之间任务的调度,现在也没有很好的解决。
解决了这个问题后,性能会有一个很大的提高 就好像去搬一件物品,稍重一点的找个力气大的人搬,但是太重了只能找两个人抬,再重就三个人。。。{:lol:}{:lol:}{:lol:} 都是高科技啊,中国什么时候能参与进来 多核,感觉是 “蚁多咬死象” 的思路,,,
还有进一步的是: 分布式计算机技术,,,{:sweat:} 楼上dr2001提出的核间通信开销的确是一个大问题,这样会导致软件的效率极度底下。即使CPU处理的再快,处理的CPU再多,数据都要融合才有意义。 本帖最后由 peecehood 于 2016-12-19 15:58 编辑
为什么现在CPU都设计为多核芯,不再简单提升提升主频?,简单一句,成本,主频越高速度越快,零件成本也越高,稳定度也较差。
双核处理器,如果主频不变的话,IPC顶多1.6。 miaoxun206 发表于 2016-12-19 13:40
都是高科技啊,中国什么时候能参与进来
早就参与了, “不服跑个分”。。。。 peecehood 发表于 2016-12-19 15:56
为什么现在CPU都设计为多核芯,不再简单提升提升主频?,简单一句,成本,主频越高速度越快,零件成本也越 ...
以前有的超级计算机有用ecl电路作为基本素材,这种电路可以做到很高的频率,但是耗电非常大,克雷超级计算机是这方面的专家,常用的硅电路就是遇上了提升主频的瓶颈。不过之前在eeworld看到一文,谈到现在发展那些新一代半导体材料gan,sic这些,可以解决硅电路这个问题,不过现在都还在初级阶段 主频有上限吧,而且主频越高是不是功耗也越多啊?
因为DFF在翻转的时候是最耗电的 谁再上个多核街舞动画
页:
[1]