处理器发展第三阶段:加速器时代(2010 年代至今)
暗硅本质上是「摩尔定律终结」的大预演——对处理器制造商来说 , 时代变得具有挑战性 。 一方面 , 计算需求飞速增长:智能手机变得无处不在 , 而且拥有强大的计算能力 , 云服务器需要处理越来越多的服务 , 「最糟糕的是」——人工智能重新登上历史舞台 , 并以惊人的速度吞噬计算资源 。 另一方面 , 在这个不幸的时代 , 暗硅成为晶体管芯片发展的障碍 。 因此 , 当我们比以往任何时候都更需要提高处理能力时 , 这件事却变得以往任何时候都更加困难 。
文章图片
训练 SOTA AI 模型所需的计算量 。
自从新一代芯片被暗硅束缚以来 , 计算机行业就开始把精力放到了硬件加速器上 。 他们的想法是:如果不能再增加晶体管 , 那就好好利用现有的晶体管吧 。 具体怎么做呢?答案是:专门化 。
传统的 CPU 被设计成通用的 。 它们使用相同的硬件结构来运行我们所有应用(操作系统、文字处理器、计算器、互联网浏览器、电子邮件客户端、媒体播放器等)的代码 。 这些硬件结构需要支持大量的逻辑操作 , 并捕获许多可能的模式和程序诱发的行为 。 这相当于硬件可用性很好 , 但效率相当低 。 如果我们只专注于某些应用 , 我们就可以缩小问题领域 , 进而从芯片中去除大量的结构冗余 。
文章图片
通用 CPU vs. 面向特定应用的加速器 。
加速器是专门面向特定应用或领域的芯片 , 也就是说 , 它们不会运行所有应用(例如不运行操作系统) , 而是在硬件设计层面就考虑一个很窄的范围 , 因为:1)它们的硬件结构仅满足特定任务的操作;2)硬件和软件之间的接口更简单 。 具体来说 , 由于加速器在给定的域内运行 , 加速器程序的代码应该更紧凑 , 因为它编码的数据更少 。
举个例子 , 假如你要开一家餐厅 , 但面积、用电预算是有限的 。 现在你要决定这个餐厅具体做哪些菜 , 是比萨、素食、汉堡、寿司全做(a)还是只做披萨(b)?
如果选 a , 你的餐厅确实能满足很多口味不同的顾客 , 但你的厨师就要做很多菜 , 而且不见得每种都擅长 。 此外 , 你可能还需要买多个冰箱来存储不同的食材 , 并密切关注哪些食材用完了 , 哪些变质了 , 不同的食材还有可能混在一起 , 管理成本大大提高 。
但如果选 b , 你就可以雇佣一位顶级的披萨专家 , 准备少量的配料 , 再买一台定制的烤箱来做披萨 。 你的厨房会非常整洁、高效:一张桌子做面团 , 一张桌子放酱汁和奶酪 , 一张桌子放配料 。 但同时 , 这种做法也有风险:如果明天没有人想吃披萨怎么办?如果大家想吃的披萨用你定制的烤箱做不出来怎么办?你已经花了很多钱打造这个专门化的厨房 , 现在是进退两难:不改造厨房就可能面临关店 , 改造又要花一大笔钱 , 而且改完之后 , 客户的口味可能又变了 。
回到处理器世界:类比上面的例子 , CPU 就相当于选项 a , 面向特定领域的加速器就是选项 b , 店面大小限制就相当于硅预算 。 你将如何设计你的芯片?显然 , 现实并没有那么两极分化 , 而是有一个类似光谱的过渡区域 。 在这个光谱中 , 人们或多或少地用通用性来换取效率 。 早期的硬件加速器是为一些特定领域设计的 , 如数字信号处理、网络处理 , 或者作为主 CPU 的辅助协处理器 。
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
