两位图灵奖获得者共同发文: 计算机构架群雄逐鹿, 新的“黄金十年”即将开启

他们重视性能,晶格面积和成本之间的平衡,不再直接购买微处理器,而是在其他公司的芯片上构建自己的SoC 系统,比如使用ARM 的 RISC 处理器。

近年来,移动设备出现了爆发式增长,再加上物联网逐渐兴起,RISC的出货量已经飙升至200 亿台。

时至今日,99% 的 32 位和 64 位处理器都是 RISC 架构。

可以说,市场解决了 RISC 和 CISC 的竞争。

几十年来,新的 CISC 指令集都没有出现,而 RISC 已经成为了通用处理器的最佳指令集架构。

聚焦现在过去的创新大多集中在指令集架构的设计上,不过大部分架构师并不会设计新的指令集,而是研究如何利用现有技术实现已有的指令集。

自 20 世纪 70 年代末以来,主流技术一直是基于金属氧化物半导体(MOS)的集成电路,包括 n 型金属氧化物半导体 (nMOS) 和互补金属氧化物半导体 (CMOS)。

MOS 技术的惊人进步速度,提升了晶体管密度,让架构师能够更好地为特定指令集提升性能。

这种规律被摩尔所捕捉,他的摩尔定律预测:晶体管密度将会每两年翻一倍。

摩尔定律和登纳德缩放定律的终结几十年来,摩尔定律总体来说仍然准确,但其翻倍速度已经在 2000 年左右放缓。

随着 CMOS 技术接近极限,预测结果和实际情况之间的差距将继续扩大。

两位图灵奖获得者共同发文: 计算机构架群雄逐鹿, 新的“黄金十年”即将开启

图 | 现实情况与摩尔定律的预测差距越来越大另一方面,登纳德缩放定律也已经接近失效。

该定律指出,随着晶体管密度增加,每个晶体管的功耗会下降,而每平方毫米硅芯片的能耗几乎保持不变。

登纳德缩放定律的终结代表,能耗会随着芯片内核数量的增加而上升,这也是当下多核时代带来的能效挑战——每一颗活跃的内核都会消耗能量,无论其是否参与计算,因此大量的能量被浪费了。

这些低效模型限制了性能的提升,想要获得更大的性能提升,我们需要新的架构方法,更有效地使用集成电路。

被忽视的安全问题在 20 世纪 70 年代,计算机架构师对安全问题十分重视。

虽然他们知道是软件引发了大多数错误,但他们相信架构支持可以提供帮助,不过这些想法并未被操作系统采用。

软件社区也提出了形式化验证和微内核这样的技术,来构建非常安全的软件,但它们无法跟上处理器的性能发展。

结果就是,大型软件系统不可避免地存在许多安全缺陷。

随着云计算大规模应用,安全缺陷的影响被进一步放大了,例如 Meltdown 和 Spectre 这样的安全漏洞带来了新的缺陷,暴露了原本受保护的数据和信息。

它们利用的旁路攻击手段最早应用于软件缺陷,并不是新技术。

面对这些,处理器架构师需要重视计算机安全问题,与软件设计者共同合作,重新思考如何正确实现指令集架构,打造更安全的系统,杜绝此类安全漏洞的出现。

展望未来通用处理器效率不高,摩尔定律和登纳德缩放定律即将终结,处理器架构师似乎失去了性能改进的思路,还有没有其他有效方法?我们认为,目前有两个很明显的机会,如果把两者结合起来,还能创造出第三个机会。

第一个机会是提升程序的运行性能,有两种潜在的实现方法。

首先,目前软件普遍由具有动态类型和存储管理的高级语言编写,它们的可解释性和执行效率十分低下。

例如用 C 语言重写 Python 代码,就可以将矩阵相乘运算的性能提升 47 倍,如果再引入并行循环处理,内存优化以及单指令多数据并行化操作,那么运算执行速度可达 Python 版本的 62000 多倍。

这说明,高级语言与传统语言存在巨大差距,前者注重程序员的编程效率,后者更注重程序性能。

金扫帚奖获得者刘昊然提名金扫帚 图-1

图 | Python 和四种优化方式的对比因此一个有趣的研究方向是,在架构增强的帮助下,探索新的编译器技术来减少两者的性能差距。

虽然实现高效编译的难度不低,但收益巨大——只要 25% 的效率提升,就可以让 Python 程序的运行速度提升数百倍。

第二种思路更加以硬件为中心,是设计针对特定领域的架构(DSA)。

DSA 是一种专为特定用途定制的可编程处理器,通常是图灵完备的,也被称作加速器,比如针对图像处理的GPU 和针对深度学习的神经网络处理器。

DSA 之所以具备更高的性能,主要有以下四个原因:1. 利用了特定领域中更高效的并行方式;2. 更有效地利用了内存层次结构;3. 在不需要时降低运算精度,提高数据和计算吞吐量;4. 与领域特定语言(DSL)相结合,编写出的程序运行效率更高。

事实上,DSL 就是我们开头所说的“硬件/软件接口的改进”,是通过架构创新提升性能的优秀范例。

我们目前已经拥有很多架构创新,都很有竞争力:- 英伟达开发的 GPU- 谷歌开发的 TPU- 微软开发的,专门用于神经网络的 FPGA- 英特尔开发的增强版 CPU在这个时代,我们需要一个懂得垂直整合的团队,从软件程序、DSL 和编译器、计算机架构和底层实现技术等各个方面权衡,最终提供整体优化方案。

金扫帚奖2018提名刘昊然提名金扫帚 图-2

受到开源软件的启发,我们认为第二个机会是开放式指令集架构。

想要创造处理器领域的 Linux 系统,整个行业需要开放式的指令集架构,这样社区就可以打造开源内核。

如果有很多人开始使用相同的开源指令集架构开发处理器,那么这种竞争就会进一步推动创新。

最有名的开源例子是RISC-V,由加州大学伯克利分校开发。

来源:http://www.yuedama.com

发表评论

图片表情