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

CPU 执行时间 = 指令数×CPI×Clock Cycle Time

搞定指令数或 CPI不太容易。于是CPU 上多放一点晶体管,提升 CPU 的时钟频率

1978 年 Intel 发布的 8086 CPU 开始,计算机的主频从 5MHz 开始,不断提升。

1980 年代中期的 80386 能够跑到 40MHz,

1989 年的 486 能够跑到 100MHz,

2000 年的奔腾 4 处理器,主频已经到达了 1.4GHz。消费者养成了“看主频”买电脑的习惯。

一、功耗:CPU 人体极限

不相信“大力出奇迹”奔腾 4 的 CPU 主频上限定格在 3.8GHz性能配不上)。奔腾 4 2.4GHz 性能和奔腾 3  1.6GHz 差不多。

2019 年最高配置 Intel i9 CPU, 5GHz。

二、CPU 主频奔腾 4 时代进入瓶颈期,为什么没能超过 3.8GHz 的障碍呢?

功耗问题:3.8GHz奔腾 4 ,满载功率130 瓦。(带上飞机的充电宝上限是 100 瓦时),把这个 CPU 安在手机里面,CPU 满载运行只能 45 分钟(不考虑屏幕内存之类的耗电)。iPhone X 使用 ARM 架构的 CPU,功率则只有 4.5 瓦左右。

CPU被叫作超大规模集成电路(Very-Large-Scale Integration,VLSI)。电路是一个个晶体管组成。CPU 计算,就是晶体管里面的“开关”不断地去“打开”和“关闭”组合完成各种运算和功能

计算快,CPU同样的面积里面,多放晶体管,增加密度;另一方面,让晶体管“打开”和“关闭”得更快一点,提升主频。都会增加功耗,带来耗电和散热问题。

把 CPU 想象工厂,工人协同工作。要工厂里多塞人。为什么不把工厂造得大一点呢?人和人之间离得远了,互相之间走过去需要花的时间就会变长,导致性能下降。动作快,每个人出汗,太热了,人中暑生病,崩溃出错。CPU 里晶体管数量和频率有限

三、CPU功耗 ~= 1/2 ×负载电容×电压的平方×开关频率×晶体管数量

提升性能,提升“制程”。从 28nm 到 7nm,晶体管本身变成了原来的 1/4 大小(找瘦小一点的工人,工厂里多一些人

提升主频(开关的频率变快),手脚更快的工人。

CPU 散热跟不上,就降低电压。电压下降到原来的 1/5,功耗会变成原来的 1/25

从 5MHz 主频的 8086 到 5GHz 主频的 Intel i9,CPU 的电压已经从 5V 左右下降到了 1V 左右。这也是为什么我们 CPU 的主频提升了 1000 倍,但是功耗只增长了 40 倍。Surface Go轻薄笔记本上,电压下降到 0.25V 低电压 CPU,笔记本更长续航时间。

四、并行优化,理解阿姆达尔定律

“面向摩尔定律编程”用不下去了。“写程序不考虑性能,等CPU 性能提升

奔腾 4 开始,推出 Core Duo 这样的多核 CPU提升“吞吐率”通过并行提高性能

这个思想很多地方都可用。举个例子,我们做机器学习程序的时候,需要计算向量的点积,比如向量 W=[W0,W1,W2,…,W15] W=[W0,W1,W2,…,W15]W = [W_0, W_1, W_2, …, W_{15}] 和向量 X=[X0,X1,X2,…,X15]X=[X0,X1,X2,…,X15]X = [X_0, X_1, X_2, …, X_{15}],W⋅X=W0∗X0+W1∗X1+W·X=W0∗X0+W1∗X1+W·X = W_0 * X_0 + W_1 * X_1 +W2∗X2+…+W15∗X15W2∗X2+…+W15∗X15W_2 * X_2 + … + W_{15}  *  X_{15}。这些式子由 16 个乘法和 1 个连加组成。如果你自己一个人用笔来算的话,需要一步一步算 16 次乘法和 15 次加法。如果这个时候我们把这个人物分配给 4 个人,同时去算 W0~W3W0~W3W_0~W_3, W4~W7W4~W7W_4~W_7, W8~W11W8~W11W_8~W_{11}, W12~W15W12~W15W_{12}~W_{15} 这样四个部分的结果,再由一个人进行汇总,需要的时间就会缩短。

并不是所有问题,都可通过并行提高性能解决。使用这种思想,条件:

(1)需要计算,本身可分解。同时进行,不影响结果。

(2)分解好问题,并确保能汇总

(3)“汇总”不能并行进行的,一步一步来。

阿姆达尔定律(Amdahl’s Law)。优化后,并行运算效率提升:

优化后的执行时间 = 受优化影响的执行时间 / 加速倍数 + 不受影响的执行时间

不受影响的执行时间:4 个人同时计算向量,计算结果,汇总相加时间,不能并行

各个向量的一小段的点积,需要 100ns,加法 20ns,总120ns。并行 4 个 CPU 有了 4 倍的加速度。优化后100/4+20=45ns。

五、总结延伸

在“摩尔定律”和“并行计算”之外,性能提升方法:

1.加速大概率事件。 GPU 替代 CPU, CPU跑几小时甚至几天的程序,GPU 只需几分钟。Google 更是不满足于 GPU 的性能,推出了 TPU。

“摩尔定律”和“并行计算”之外,通过“堆硬件”遇到相应的瓶颈,从其他方面开始下功夫了。

2.通过流水线提高性能。 CPU 是“运算工厂”。把 CPU 指令执行的过程进行拆分,细化运行。

3.通过预测提高性能提前运算,让程序跑更快。循环访问数组时,访问数组下一项。后面要讲的“分支和冒险”、“局部性原理”这些 CPU 和存储系统设计方法,都是利用对于未来的“预测”,

补充阅读

如果你学有余力,关于本节内容,推荐你阅读下面两本书的对应章节,深入研读。

1.《计算机组成与设计:软 / 硬件接口》(第 5 版)的 1.7 和 1.10 节,也简单介绍了功耗墙和阿姆达尔定律,你可以拿来细细阅读。

2. 如果你想对阿姆达尔定律有个更细致的了解,《深入理解计算机系统》(第 3 版)的 1.9 节不容错过。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容