摩尔定律与阿姆达尔定律

摩尔定律

当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍

CPU长期都是以指数型快速提高,但是近年来,CPU主频始终保持在4G赫兹左右,无法再进一步提升。摩尔定律逐渐失效

阿姆达尔定律登上历史舞台

阿姆达尔定律

阿姆达尔定律的主要内容就是处理器越多,执行的速度就越快,但是是有上限的。

处理器越多,执行速度越快是显而易见的,可以执行的CPU资源越多,我们把一个任务交给多个CPU执行的速度会越快,当然这

个变快是有限制的,是不可能无限提高的。

这个上限指的是:例如养鱼,从一条鱼苗生长成大鱼的速度肯定是不受鱼塘数量所影响的,像这类任务就是所谓的串行任务。

串行任务无论我们有多少CPU资源都是无法提高速度的

大部分的程序,大部分的任务都是有部分串行和部分并行的,有一定的串行比例和并行比例,区别就是不同任务这些比例不同。

如果说程序的并行比例特别高,此时多线程就能发挥比较好的作用。但是如果程序是一个纯粹串行的,也就是他的代码只能从前

往后一行一行的执行,那么此时多线程就不能带给我们帮助。所以上图所表达的含义就是并行比例为百分之多少的时候,可以最

终达到多少倍的提升。

最下面的蓝色曲线并行比例是50%,从最开始的零最终上升到两倍停止,因为只有50%的代码是可以并行的。

但是最上面的绿色曲线的并行比例是95%,反而言之就是只有5%的串行部分,这样以来在极限情况下就可以达到20倍的提升。

这就是所谓的阿姆达尔定律。

在未来我们对于CPU提升的速度放缓了,这就要求我们把更多的可并行的部分用程序来并行,用这种方式来提升程序的性能

发布了50 篇原创文章 · 获赞 21 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42006733/article/details/104028893