绱佳获近千万元天使轮融资
06-17
雷锋网记者:近年来,无论是普通消费者还是科研人员都能感受到两股浪潮。
一是CPU速度的提升越来越不显着。
我们说CPU制造商在“挤牙膏”;另一方面,在深度学习的刺激下,各家半导体公司和一批AI初创企业开始推广自己的AI芯片。
我们似乎看到一类芯片逐渐走向慢车道,而另一类芯片则蓄势待发,跃跃欲试。
这昏暗的灯光背后,展现的是计算机计算架构的时代变迁;新方法、新思维、新目标引领新浪潮。
图灵奖的两位获得者约翰·L·轩尼诗(John L. Hennessy)和大卫·A·帕特森(David A. Patterson)是这一新浪潮的见证者和领导者。
最近,他们在 ACM 的 Communications 《A New Golden Age for Computer Architecture》 上发表了一篇长篇报告,详细描述了导致计算机架构新时代到来的各种变化。
他们也期待未来十年成为计算机体系结构领域的“新时代”。
“黄金十年”。
雷锋网已将本文全文整理如下。
本文是第一篇文章,下一篇文章可以在这里找到。
另外两人也进行了一次轻松的采访,可以在这里找到。
ISCA,图灵奖颁奖现场,约翰·L·轩尼诗(左)和大卫·A·帕特森(右)与艾伦·图灵的半身像合影。
2019年6月4日,我们回顾了20世纪60年代以来计算机架构的发展,我们的图灵讲座就此开始。
除了回顾之外,我们还在讲座中介绍当前的挑战和未来的机遇。
计算机体系结构领域将迎来另一个黄金十年。
就像我们在 20 世纪 80 年代做研究时一样,新的架构设计将带来更低的成本、更好的能耗、安全性和性能。
“那些不记得过去的人注定要重蹈覆辙”——乔治·桑塔亚纳(George Santayana) 软件和硬件之间的对话是通过一种称为指令集的架构进行的。
20世纪60年代初期,IBM有四个互不兼容的计算机系列,分别针对小型企业、大型企业、科研机构和实时计算。
每个系列都有自己的指令集、软件堆栈和 I/O 系统。
IBM 工程师,包括 ACM 图灵奖获得者 Fred Brooks 在内,希望创建一种新的 ISA,能够有效地统一这四种指令集。
为此,他们需要一个低端8位计算机和高端64位计算机共享一套指令集的解决方案。
事实上,加宽和缩小数据路径相对容易。
当时工程师面临的最大挑战是处理器的控制器部分。
受到软件编程的启发,计算机先驱、图灵奖获得者莫里斯·威尔克斯提出了一个简化控制过程的想法,即将控制器部分定义为一个称为“控制存储器”的二维数组,可以通过存储器来实现。
使用逻辑门的成本要低得多。
阵列的每一列对应一条控制线,每一行对应一条微指令。
编写微指令的操作称为微编程。
控制存储器包含使用微指令编写的指令集解释器,因此执行传统指令需要多个微指令。
。
下图列出了 IBM 2018 年 4 月 7 日发布的新 System/系列计算机的指令集。
四种型号之间的数据路径宽度相差 8 倍,内存容量相差 16 倍,频率相差近4次。
最终性能相差50倍。
其中,M65型号的控制内存容量最大,成本和价格也最贵,而最低端的M30型号的控制内存容量最小,因此需要更多的微指令来执行System/指令。
IBM将公司的未来押在了这套新指令集上,希望它能够彻底改变计算行业,赢得未来。
最终,IBM如愿以偿,成功统治了这个市场,影响力一直延续至今。
这些拥有 55 年历史的机型的后代仍能为 IBM 带来 1 亿美元的年收入。
现在看来,虽然市场对技术问题的判断尚不完善,但由于硬件系统架构与商用计算机的紧密联系,市场最终成为计算机架构创新成功与否的关键因素,而这往往需要工程上的巨大投入人员投资。
集成电路、CISC、、IBM PC 当计算机进入集成电路时代时,摩尔定律的威力使得控制存储器可以设计得更大,进而产生更复杂的指令集,例如数字设备公司在2017年发布的指令集。
VAX-11/型号的控制存储器容量为96位指令字,而其之前的型号只有56位指令字。
与此同时,一些厂商开始设计可记录控制存储器(WCS),推出微编程功能,以便客户可以定制自己的功能。
最著名的模型是图灵奖获得者 Chuck Thacker 和 Butler Lampson 及其同事。
Alto 计算机于 1999 年为 Xerox 公司的帕洛阿尔托研究中心开发。
这是第一台个人计算机,配备了第一个点阵显示器和第一个以太网 LAN。
其控制器存储在容量为指令字*32位的WCS中。
另一方面,20世纪70年代的微处理器仍处于8位时代(如Intel的处理器),主要采用汇编语言编程。
各公司的设计者都会不断添加新的指令来超越竞争对手,并通过汇编语言展示自己的优势。
戈登·摩尔认为,英特尔的下一代指令集将伴随英特尔一生。
他雇佣了大量的智能计算机科学博士,并将他们派到波特兰的一家新工厂来构建下一个伟大的指令集。
建筑学。
这个雄心勃勃的计算机架构项目最初由英特尔命名,具有 32 位寻址功能、面向对象的架构、可变位长指令以及用 Ada(20 世纪 80 年代最新的编程语言)编写的操作系统。
最具挑战性的项目。
不幸的是,该项目在过去几年中一再推迟,迫使英特尔在圣克拉拉启动了紧急替换计划,于 2016 年推出 16 位处理器,随后发布。
英特尔给了新团队 52 周的时间来开发新指令集并设计和构建芯片。
由于时间限制,团队实际上将8位寄存器和指令集扩展到16位。
ISA 部分的设计仅花费了 10 个人和 3 周的时间。
它最终如期完成,但发布后却没有引起多少关注。
英特尔这次运气不错。
IBM 正在开发一款个人计算机来与 Apple II 竞争,并且需要 16 位处理器。
IBM一度对Motorola 0处理器非常感兴趣,该处理器的指令集与IBM类似,但其性能无法满足IBM的激进需求,因此转而采用Intel的8位总线版本。
IBM于2016年8月12日宣布推出该型号,全球销量高达1亿台,为Intel指令集非常光明的未来铺平了道路。
Intel最初的项目更名为iAPX-,最终于2016年推出,但由于需要多个芯片且存在严重的性能问题,最终于2016年终止。
也是在这一年,Intel推出了6处理器,指令集寄存器从16个扩展位到 32 位。
戈登摩尔的预言已经成为现实。
Intel的下一代指令集确实继续存在,但市场的选择是在最后一刻才推出,而不是万众期待的iAPX-,后者与Motorola 0和iAPX-架构完美匹配。
对于老师来说,这是一堂现实的课。
市场总是缺乏耐心。
从CISC到RISC 20世纪80年代初,人们开始研究CISC(复杂指令集计算机)控制内存中的大型微程序,Unix系统的诞生证明可以用高级语言来编写操作系统,所以后续问题的关键就从“程序员会使用什么汇编语言”变成了“编译器会生成什么指令?”软硬件接口的显着改进为架构创新带来了机会。
图灵奖获得者 John Cocke 和他的同事为小型计算机开发了更简单的指令集和编译器,并将编译器的目标定为“仅使用 IBM 指令集中简单的寄存器到寄存器操作,并且仅使用简单的 Load 和 Store操作访问内存”。
他们发现,这样一个简化的过程可以使程序的运行速度提高三倍。
Emer和Clark发现,20%的常用VAX指令需要60%的微码(microcode),但只占用0.2%的执行时间。
David Patterson 在 DEC 休假期间致力于减少 VAX 指令中的漏洞。
他认为,如果处理器制造商想要设计更大、更复杂的指令集,他们不可避免地需要一种修复微代码漏洞的方法。
帕特森就这个问题写了一篇论文,但该杂志拒绝发表。
评论家认为设计一个指令集如此复杂以至于需要修补的处理器是一个坏主意。
虽然现在看来现代CISC处理器确实包含了微码修复机制,但当时的拒绝让人们怀疑复杂指令集在处理器中的价值,这也启发了他开发更简单的精简指令。
集和RISC(精简指令集计算机)。
这些思想的出现,以及汇编语言向高级语言的转变,为CISC向RISC的转变创造了条件。
首先,精简指令集得到简化,其指令通常像微指令一样简单,可以直接由硬件执行,因此不需要微码解释器;其次,以前用于微代码解释器的快速存储器被用作RISC的指令缓存;第三,基于Gregory Chainitin图着色方法的寄存器分配器使编译器能够更加轻松高效地使用寄存器,这对于指令集中寄存器到寄存器的操作大有裨益;最后,集成电路规模的发展,使得单芯片从20世纪80年代开始就足够大,可以包含完整的32位数据路径以及相应的指令和数据缓存。
下图是加州大学伯克利分校开发的RISC-I处理器和斯坦福大学开发的MIPS处理器。
这两款芯片充分展示了RISC的优势,并最终在IEEE国际固态电路会议上发表。
这是一个非凡的时刻,加州大学和斯坦福大学的研究生开发出比业界现有产品更好的处理器。
这些学术机构开发的芯片启发了许多公司开始开发RISC处理器,并成为未来15年增长最快的领域。
其原因在于处理器的性能公式:时间/程序 = 操作数/程序*(时钟周期)/指令*时间/(时钟周期) DEC 工程师后来表明,CISC 处理器执行的每个程序的操作数约为 75 RISC 处理器的百分比(上式中的第一项)。
当使用类似的技术时,CISC处理器会多消耗5到6个时钟周期来执行每条指令(上式中的第二项),使得RISC处理器的速度大约快3倍。
这样的公式并没有出现在 20 世纪 80 年代的计算机架构书籍中,因此我们在 1980 年写了一本书,使用测量和基准来定量评估计算机架构,而不是更多地依赖架构师的直觉和经验,所使用的定量方法也是灵感来自图灵奖得主 Donald Knuth 的算法著作。
VLIW、EPIC、Itanium 指令集架构的下一个创新尝试让RISC和CISC同时受益,即超长指令字(VLIW)和显式并行指令计算机(EPIC)的诞生。
这两项发明由英特尔和惠普联合命名,使用宽指令,在每条指令中将多个独立操作捆绑在一起。
与 RISC 一样,VLIW 和 EPIC 的目的是将工作负载从硬件转移到编译器,它们的拥护者认为六个独立的操作(两个数据传输、两个整数操作和两个子浮点操作),而编译器技术可以有效地将操作分配到六个指令槽中,可以使硬件变得更简单。
Intel和HP基于EPIC概念合作设计了64位处理器Itanium,并希望用它来取代32位x86处理器。
英特尔和惠普对安腾寄予厚望,但实际情况却与他们的预期不符。
EPIC 虽然适用于高度结构化的浮点程序,但很难在难以预测的缓存未命中中幸存下来,或者在难以预测分支的整数程序上实现高性能。
Donald Knuth 后来指出 Itanium 的想法很棒,但事实证明,满足这个想法的编译器基本上是不可能编写的。
开发人员注意到安腾的延迟和性能不佳,并在泰坦尼克号事件后将其重新命名为“Itanic”。
然而,正如前面提到的,市场总是缺乏耐心。
最终,64位x86-64成为继任者,而安腾却没有轮到它。
不过,好消息是,VLIW 仍然广泛应用于数字信号处理等对分支预测和缓存要求不高的领域。
RISC vs. CISC,PC 与后 PC 时代的宿命对决。
Intel和AMD依靠人力设计团队和卓越的半导体技术来缩小x86和RISC之间的性能差距。
受到精简指令相对于复杂指令的性能优势的启发,Intel和AMD对RISC微指令的执行进行了精简,让指令解码器在运行过程中将复杂的x86指令转换成类似RISC的内部微指令,让x86处理器吸收RISC的性能分离指令、数据缓存和芯片。
有很多优秀的设计,如二级缓存、深度流水线、多指令同时取指和执行等。
在 2008 年 PC 时代的鼎盛时期,英特尔和 AMD 每年售出约 3.5 亿颗 x86 处理器。
PC 行业的高产量和低利润率也意味着价格低于 RISC 计算机。
在Unix市场上,软件厂商针对不同的复杂指令集(Alpha、HP-PA、MIPS、Power和SPARC)提供了不同的软件版本,而PC市场上只有一种绝对主流的指令集,软件开发者只需要它兼容x86指令集。
全球每年有数亿台个人电脑出货,软件已成为一个巨大的市场。
更大的软件基础、相似的性能和更低的价格使得 x86 处理器在今年之前主导了桌面和小型服务器市场。
苹果公司于2011年推出iPhone,开启了后PC时代。
智能手机公司不再购买处理器,而是使用其他公司的设计来构建自己的 SoC。
移动设备设计者需要综合评估芯片面积、能效和性能,而CISC处理器在这一点上处于劣势。
此外,物联网的到来需要海量处理器,这需要在芯片尺寸、功耗、成本和性能方面进行更多权衡。
这种趋势增加了设计时间和成本的重要性,进一步使 CISC 处理器处于不利地位。
在当今的“后PC时代”,x86处理器出货量自2017年达到顶峰以来每年下降近10%,而RISC处理器出货量却飙升至1亿颗。
如今,99% 的 32 位和 64 位处理器都是 RISC 处理器。
总结这些历史,可以说市场已经解决了RISC和CISC之间的宿命之争。
CISC赢得了PC时代的后期阶段,但RISC正在统治后PC时代。
复杂指令集领域几十年来一直没有出现新的指令集。
对于当今的通用处理器来说,最好的选择仍然是精简指令集。
处理器架构当前面临的挑战“如果一个问题没有解决方案,它可能不是一个问题,而是一个我们不需要解决而是随着时间的推移而处理的事实。
” - Shimon Peres 虽然前面的部分重点讨论了指令集架构的设计,但大多数计算机架构师并不设计新的指令集,而是使用当前的实现技术来实现现有的 ISA。
自 20 世纪 70 年代到 90 年代末以来,选择的技术一直是基于 MOS(金属氧化物半导体)的集成电路,首先是 nMOS(n 型金属氧化物半导体),然后是 CMOS(互补金属氧化物半导体)。
据预测,集成电路的晶体管密度将每年翻一番,然后每两年翻一番。
这一预测最终被称为摩尔定律。
在这个预测中,晶体管密度呈现出第二次增长,这是一个惊人的演变。
速度允许架构师使用更多晶体管来提高性能。
摩尔定律和登纳德缩放定律的分解如图2所示。
摩尔定律已经持续了几十年,但在2016年左右开始放缓。
实际结果与摩尔定律的预测相差15倍,但摩尔的判断2017年是不可避免的(请参考GE Moore的《No exponential is forever: But 'forever' can be delayed!》论文)。
就目前的情况来看,这个差距还会因为CMOS而继续拉大。
已经接近极限了。
图 2 单个英特尔微处理器上的晶体管数量与摩尔定律 伴随摩尔定律的是罗伯特·登纳德 (Robert Dennard) 预测的登纳德缩放定律(也称为 MOSFET)(缩放定律)。
Robert Dennard 提出,晶体管继续变得更小,但芯片的功率密度保持不变。
随着晶体管密度的增加,每个晶体管的能耗增加,因此硅芯片上每平方毫米的能耗也增加。
几乎保持不变。
随着每平方毫米硅芯片的计算能力随着技术迭代不断提高,计算机将变得更加节能。
然而,从 2016 年开始,登纳德缩放定律将显着放缓,并可能在 2016 年接近到期(见图 3)。
图 3 每个芯片的晶体管和每平方毫米的功率。
从2015年到2017年,使用指令级并行(ILP)是提高架构性能的主要方法。
随着晶体管速度的提高,其性能提高了约 50%。
登纳德缩放定律的终结意味着架构师必须找到更有效的方法来利用并行性。
要了解增加ILP带来的高效率,可以看看当前的处理器内核,如ARM、Intel、AMD。
。
假设芯片有15级流水线(pipeline),每个时钟周期可以发出4条指令,那么任何时候最多有60条指令,其中包括约15个分支,约占执行指令的25%。
为了能够充分利用管道,需要预测分支并根据推测将代码放入管道中执行。
在 ILP 中,投机的使用既是高性能的来源,也是低能源效率的来源。
如果分支预测很完美,推测可以提高ILP性能,但能耗会增加(也可能会节省能耗),但如果分支预测出现错误,处理器必须放弃错误的推测指令,并且计算所消耗的能量将被浪费。
处理器的内部状态还必须恢复到错误预测分支之前的状态,这会消耗额外的能量和时间。
要理解此设计的挑战,请考虑正确预测 15 个分支的难度。
如果处理器架构想要将性能浪费限制在 10% 以下,那么它必须在 99.3% 的时间内正确预测每个分支。
很少有通用程序能够如此准确地预测。
要了解性能浪费的累积结果,请考虑图 4,该图显示了有效执行但由于处理器推测错误而被浪费的指令。
在英特尔酷睿i7基准测试中,有19%的指令被浪费,但能源浪费更为严重,因为处理器必须使用额外的能源才能返回到推测错误之前的状态。
此类测试使许多人得出结论:架构师需要采用不同的方法来实现性能改进。
从而迎来了多核时代的诞生。
图 4 不同的 SPEC 整数基准,Intel Core i7 浪费指令占已完成指令总数的百分比 多核将识别并行性并决定如何利用它的任务交给程序员和编程语言。
多核并不能解决能源守恒的挑战,而登纳德缩放定律的终结加剧了这一挑战。
每个活动核心都会消耗能量,无论它是否对计算做出有效贡献。
一个主要障碍可以用阿姆达尔定律来表达,该定律指出,在并行计算中使用多个处理器的应用程序的加速受到程序串行所需时间百分比的限制。
这一定律的重要性如图 5 所示,假设只有一个处理器在串行执行的不同部分处于活动状态,则最多 64 个内核与单个内核的应用程序的执行速度存在差异。
例如,如果只有1%的时间是串行的,那么64核配置可以加速大约35倍。
当然,能源也与64个处理器成正比,大约有45%的能源被浪费了。

图 5 阿姆达尔定律对程序加速的影响 实际程序当然更加复杂,某些组件允许在给定时刻使用不同数量的处理器。
然而,周期性通信和同步的需要意味着大多数应用程序只能有效地使用处理器的一部分。
尽管阿姆达尔定律已经存在了 50 多年,但它仍然存在很大的困难。
随着登纳德缩放定律的结束,芯片核心数量的增加意味着能耗也随之增加。
不幸的是,进入处理器的部分功率会转化为热量,因此多核处理器受到散热功率 (TDP) 的限制,这是封装和冷却系统在最大负载下可以消散的最大热量。
虽然一些高端数据中心可能使用更先进的封装和冷却技术,但没有计算机用户愿意在办公桌上放置小型热交换器或在手机上添加散热器。
TDP 的限制直接导致了暗硅时代,处理器通过降低时钟频率或关闭空闲内核来防止处理器过热。
这种方法的另一种解释是:某些芯片可以将其宝贵的能量从空闲核心转移到活动核心。
登纳德缩放定律的终结、摩尔定律的放缓以及阿姆达尔定律的开始意味着效率低下将性能改进限制在每年几个百分点(如图 6 所示)。
实现高性能改进(如 20 世纪 80 年代和 90 年代的情况)需要更有效地利用集成电路的新架构方法。
接下来,我们将讨论现代计算机的另一个主要缺点——计算机安全性的支持和缺乏——然后再继续探索有效利用集成电路的新方法。
图6 计算机性能的提升(SPECintCPU) 忽略计算机安全 在20世纪70年代,处理器架构师主要关注计算机安全,涉及保护环和功能安全。
架构师意识到大多数漏洞都存在于软件中,但他们认为架构可以提供帮助。
这些功能在很大程度上未被专门针对所谓良性环境(例如 PC)的操作系统所使用,并且这些功能涉及大量消耗,因此被淘汰。
在软件界,很多人认为微内核等形式化验证技术将为构建高度安全的软件提供有效保障。
不幸的是,我们软件系统和性能驱动器的规模意味着此类技术无法跟上处理器性能。
结果是,大型软件系统仍然存在许多安全漏洞,其影响因网上大量个人信息和云计算的使用而放大。
登纳德缩放定律的终结意味着架构师必须找到更有效的方法来利用并行性。
架构师和其他人较晚才意识到安全的重要性,但他们已经开始为虚拟机和加密提供硬件支持。
不幸的是,猜测给许多处理器带来了未知但明显的安全缺陷。
特别是,Meltdown 和 Spectre 安全漏洞导致了新的漏洞利用,这些漏洞利用了位架构中的漏洞,使受保护的信息相对较快地暴露,这两种漏洞都使用了侧信道攻击。
2017 年,研究人员演示了如何利用 Spectre 变体来泄露网络信息,而攻击者无需将代码加载到目标处理器中。
尽管这种被称为 NetSpectre 的攻击泄漏信息的速度较慢,但??它暴露了同一局域网(或云中同一集群)上的所有计算机,从而产生了许多新的漏洞。
虚拟机架构中还存在另外两个报告的漏洞,其中一个称为 Foreshadow,会影响专门保护高风险数据(例如加密密钥)的 Intel SGX 安全机制。
现在,每个月都会发现新的漏洞。
旁道攻击并不是什么新鲜事,但在大多数最早的案例中,软件漏洞是攻击成功的关键。
然而,在 Meltdown 和 Spectre 等攻击中,硬件缺陷会导致受保护信息的泄露。
处理器架构师如何定义什么是正确的 ISA 是一个难题的根源,因为该标准没有描述执行指令序列对性能的影响,而只涉及 ISA 可见的执行架构状态。
架构师需要重新考虑 ISA 正确实现的定义,以避免类似的安全漏洞。
与此同时,他们还应该重新思考对计算机安全的关注,以及架构师如何与软件设计师合作以实现更安全的系统。
架构师(和每个人)如此依赖信息系统,以至于他们对安全的关注较少,而对一流设计的关注更多。
雷锋网编译,via 本文编译自《计算机架构新黄金时代》,作者 John L. Hennessy、David A. Patterson 雷锋网相关文章: 独家 |计算机架构顶级会议ISCA,图灵奖得主期待黄金时代图灵奖 专访获奖者John Hennessy和David Patterson:未来小学生就能做机器学习了。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-18
06-17
06-18
06-18
06-18
最新文章
Android旗舰之王的过去与未来
智能手表不被开发、AR眼镜被推迟,Meta的产品经历了一波三折
为什么Cybertruck是特斯拉史上最难造的车?
更新鸿蒙3后,文杰允许你在车里做PPT了
新起亚K3试驾体验:追求“性价比”,韩系汽车仍不想放弃
阿维塔15登场!汽车配备了增程动力,理想情况下会迎来新的对手吗?
马斯克宣布创建 ChatGPT 竞争对手! OpenAI的CEO给他泼了冷水, GPT-5可能会发生巨大变化
骁龙无处不在,是平台也是生态