深入浅出计算机组成原理
徐文浩
bothub 创始人
70432 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 62 讲
深入浅出计算机组成原理
15
15
1.0x
00:00/00:00
登录|注册

04 | 穿越功耗墙,我们该从哪些方面提升“性能”?

性能优化思路
性能提升方法
并行优化
功耗问题
CPU性能提升
性能提升方法

该思维导图由 AI 生成,仅供参考

上一讲,在讲 CPU 的性能时,我们提到了这样一个公式:
程序的 CPU 执行时间 = 指令数×CPI×Clock Cycle Time
这么来看,如果要提升计算机的性能,我们可以从指令数、CPI 以及 CPU 主频这三个地方入手。要搞定指令数或者 CPI,乍一看都不太容易。于是,研发 CPU 的硬件工程师们,从 80 年代开始,就挑上了 CPU 这个“软柿子”。在 CPU 上多放一点晶体管,不断提升 CPU 的时钟频率,这样就能让 CPU 变得更快,程序的执行时间就会缩短。
于是,从 1978 年 Intel 发布的 8086 CPU 开始,计算机的主频从 5MHz 开始,不断提升。1980 年代中期的 80386 能够跑到 40MHz,1989 年的 486 能够跑到 100MHz,直到 2000 年的奔腾 4 处理器,主频已经到达了 1.4GHz。而消费者也在这 20 年里养成了“看主频”买电脑的习惯。当时已经基本垄断了桌面 CPU 市场的 Intel 更是夸下了海口,表示奔腾 4 所使用的 CPU 结构可以做到 10GHz,颇有一点“大力出奇迹”的意思。

功耗:CPU 的“人体极限”

然而,计算机科学界从来不相信“大力出奇迹”。奔腾 4 的 CPU 主频从来没有达到过 10GHz,最终它的主频上限定格在 3.8GHz。这还不是最糟的,更糟糕的事情是,大家发现,奔腾 4 的主频虽然高,但是它的实际性能却配不上同样的主频。想要用在笔记本上的奔腾 4 2.4GHz 处理器,其性能只和基于奔腾 3 架构的奔腾 M 1.6GHz 处理器差不多。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文从CPU性能公式出发,探讨了提升计算机性能的途径。首先介绍了CPU主频提升的历史,但随着主频提升,功耗问题也愈发凸显。作者通过比较奔腾4处理器和iPhone X的功耗,引出了CPU功耗问题的重要性。文章以工厂的比喻形象地解释了提升CPU性能的两个途径:增加晶体管数量和提升主频,但同时也会带来更多的功耗和散热问题。为了应对功耗问题,CPU制程不断进步,从28nm到7nm,晶体管变小,功耗减少。此外,降低电压也是降低功耗的有效途径。最后,以Surface Go为例,说明了低电压CPU在轻薄笔记本上的应用,提高了续航时间。文章还介绍了并行优化和阿姆达尔定律,以及在软件开发层面如何解决性能问题。整体而言,文章生动地阐述了CPU性能提升的技术特点和发展趋势。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出计算机组成原理》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(155)

  • 最新
  • 精选
  • 大熊
    重新学习后,我又来了…… 1. 加大概率事件: 缓存机制,提高平均概率下的性能; 运行时编译热点代码的机制; Spring框架使用的单例模式(个人还不确定); 2. 通过流水线提高性能: 工作中可以尝试把一个大规模的SQL分成几个规模适当的小SQL进行执行; 并发编程; 3. 通过预测提高性能: 以前有的软件安装的时候,有一秒就安装好的感觉,之前我就在想,是不是我选择完安装路径之后,就已经开始有预安装的操作了; 使用chrome在打开几个tab页的情况下,直接关闭浏览器,再次打开浏览器之前强制关闭的tab页直接默认打开的操作(不知道是否属于预测,预测我还是需要这几个页面); 在自己练习的博客中,多张图片在上传的时候,先让图片及时上传并处于“预删除”状态,待点击提交之后,才让现有的图片变成保存的状态。 热点数据、常用的固定数据,可以先保存在redis等缓存中,等到需要的时候先从缓存中获得,如果获取失败再去查询数据库

    作者回复: 👍你学得非常认真努力,给大家做了一个好榜样。

    2019-05-07
    9
    182
  • 须臾即
    有两个问题没想明白: 1.增加晶体管怎么提高运算速度? 提高主频好理解,计算的频繁一些,增加晶体管是干了什么,增加计算单元么,或者说是增加流水线控制单元。 2.cpu的电压是受了什么因素限制的? 既然电压低功耗低,那么各厂商应该都想把电压做的越低越好,现实是不容易办到,是哪些因素限制的?

    作者回复: 须臾即他9同学你好 增加晶体管可以增加硬件能够支持的指令数量,增加数字通路的位数,以及利用好电路天然的并行性,从硬件层面更快地实现特定的指令,所以增加晶体管也是常见的提升cpu性能的一种手段。 电压的问题在于两个,一个是电压太低就会导致电路无法联通,因为不管用什么作为电路材料,都是有电阻的,所以没有办法无限制降低电压,另外一个是对于工艺的要求也变高了,成本也更贵啊。

    2019-05-01
    7
    115
  • 莫问流年
    1.加速大概率事件 各种缓存(内存缓存、CDN缓存) 2.流水线 并发编程、异步编程 音视频播放器边播放边缓冲 3.预测 小说的下一页预加载 电商大促的CDN预热

    作者回复: 几个例子举得都很好!而且和实践应用结合得也很好!

    2019-05-20
    3
    91
  • Seventy、
    老师您好,有个疑问,上节课我们讲过“程序运行CPU执行时间 = 指令数 * CPI * 时钟周期时间(Clock Cycle Time)”,而这节中提到增加晶体管数量会提升CPU性能,请问"晶体管数量"与上面的公式有什么关系呢? 还是说晶体管数量会影响上面公式的三个部分中的哪一部分?? 盼老师答复。

    作者回复: 增加晶体管数量,其实是通过提供更复杂的电路支持更多的“指令”。也就会减少运行同样程序需要的指令数。 打个比方,比如我们最简单的电路可以只有加法功能,没有乘法功能。乘法都变成很多个加法指令,那么实现一个乘法需要的指令数就比较多。但是如果我们增加晶体管在电路层面就实现了这个,那么需要的指令数就变少了,执行时间也可以缩短。

    2019-05-11
    4
    54
  • 活的潇洒
    通读三遍全文,花了3个多小时做了笔记链接如下: https://www.cnblogs.com/luoahong/p/10800379.html

    作者回复: 👍感谢分享给大家

    2019-05-01
    11
    46
  • pyhhou
    对于思考题: * 加速大概率事件 通常我们使用 big-O 去表示一个算法的好坏,我们优化一个算法也是基于 big-O,但是 big-O 其实是一个近似值,就好比一个算法时间复杂度是 O(n^2) + O(n),这里的 O(n^2) 是占大比重的,特别是当 n 很大的时候,通常我们会忽略掉 O(n),着手优化 O(n^2) 的部分 * 通过流水线提高性能 能够想到的是任务分解,把一个大的任务分解成好多个小任务,一般来说,分的越细,小任务就会越简单,整个框架、思路也会变得更加清晰 * 通过预测提高性能 常常在计算近似值的时候,例如计算圆周率,我们可以根据条件预设立一个精确率,高过这个精确率就会停止计算,防止无穷无尽的一直计算下去;另外就是深度优先搜索算法里面的 “剪枝策略”,防止没有必要的分支搜索,这会大幅度提升算法效率

    作者回复: 👍算法的例子举得很好,剪枝策略的例子也很好。 不过流水线和圆周率的例子不太好,可以再想想。

    2019-05-01
    3
    30
  • 明月
    一个问题:面积更小使得各个晶体管的距离更短,会加速响应时间吗?我印象中是光速的

    作者回复: 会的,光速也不过就是3*10的八次方,意味着一纳秒也只能走30厘米的距离,所以后面我们还会看到cpu的高速缓存也不能做太大,也是受到光速的限制。

    2019-05-01
    25
  • 写业务代码的if else 分支时,对于大概率出现的写在前面,减少不必要的判断?这种算“通过预测提高性能”吗

    作者回复: 当然算是的

    2019-09-09
    22
  • Sunny
    为什么增加晶体管会使计算加快?

    作者回复: Sunny同学, 你好,增加晶体管通常可以做到以下这些 1. 设计了一个更复杂的电路,让原先软件执行的事情,直接通过硬件电路解决了。也就是在CPU里增加了新指令,自然同样的程序就运行得更快了。 2. 同样功能的电路更多了,比如有了更多更大的寄存器,更多的可以并行的流水线,这样同样的指令可以同时运行不受限于有限的资源,也可以让程序算得更快。

    2019-08-20
    20
  • ginger
    终于理解为什么很多笔记本会出低压版本了,原来是电压的平方和功耗是正比的,也就是电压的降低对于功耗来说,降低效益最好,还记得之前选笔记本时候,我发现几乎所有的超薄本,都是低压版本的.大致是因为超薄设计导致不能使用很"给力"的散热系统吧,所以通过低压来降低功耗,尽管低压也会让CPU性能有所下降.

    作者回复: 👍

    2019-05-23
    16
收起评论
显示
设置
留言
99+
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部