ARM|Zen/苹果A系之父谈转投第三大CPU架构RISC-V:没有x86/ARM那么多垃圾

在半导体设计领域,Jim Keller的名字如雷贯耳,不仅仅是因为他参与或领导的大型成功项目的数量,而且这些项目都为各自的公司创造了数十亿美元的收入 。
他的职业生涯横跨 DEC、AMD、SiByte、Broadcom、PA Semi、Apple、AMD(再次)、Tesla、Intel,现在他在 Tenstorrent 担任首席技术官,开发下一代可扩展的 AI 硬件 。吉姆的职业准则(work ethic )经常被描述为“享受挑战”,
最近,这意味着致力于当今最激动人心的半导体方向,要么是高性能计算,要么自动驾驶和AI 。今日,AnandTech发布了他们最近与 Jim 聊天的记录,半导体行业观察摘录其中一些自认为关键信息,以飨读者 。
CPU 指令集:Arm 与 x86 与 RISC-V
IC:您过去曾谈到 CPU 指令集,而我在这次采访中收到的最大请求之一是请您谈一下对 CPU 指令集的看法 。具体问题是关于我们应该如何处理对它们的基本限制,我们如何转向更好的限制,以及在 ARM、x86 和 RISC V 方面,你都是什么观点 。
我想在某一时刻,你说大多数计算发生在几十个操作码上 。我没记错吗?
JK:[争论指令集]是一个非常悲伤的故事 。它甚至不是几十个 [操作码],而是80% 的核心执行只有 6 条指令,加载((load)、存储(store)、加(add)、减(subtract)、比较(compare)和分支(branch) 。有了这些,你几乎已经涵盖了它 。
如果您使用 Perl 或其他语言编写代码,则调用和返回可能比比较和分支更重要 。但是指令集只有一点点重要——你可能会因为缺少指令而损失 10% 或 20% [性能] 。
有一段时间我们认为可变长度指令(variable-length)真的很难解码 。但我们一直在想办法做到这一点 。您基本上可以预测所有指令在表格中的位置,一旦有了好的预测器,您就可以很好地预测这些内容 。
因此,当您构建小型计算机时,固定长度的指令似乎非常好,但是如果您正在构建一台真正的大型计算机,要预测或找出所有指令的位置,它并不能支配模具 。所以没有那么重要 。
RISC 刚出现时,x86 是半微码 。所以如果你看看芯片,一半的芯片是 ROM,或者可能是三分之一或其他东西 。RISC 人员可以说 RISC 芯片上没有 ROM,因此我们获得了更高的性能 。
【ARM|Zen/苹果A系之父谈转投第三大CPU架构RISC-V:没有x86/ARM那么多垃圾】但是现在ROM这么小,你找不到它 。其实加法器这么小,你怎么都找不到?今天限制计算机性能的是可预测性,其中两大因素是指令/分支可预测性和数据局部性 。
现在,新的预测器非常擅长这一点 。它们很大 -,两个预测器比加法器大得多 。这就是您进入 CPU 与 GPU(或 AI 引擎)辩论的地方 。GPU 人员会说“看,没有分支预测器,因为我们并行执行所有操作” 。所以芯片有更多的加法器和减法器,如果这就是你的问题,那就对了 。但是他们在运行 C 程序方面很糟糕 。
GPU 是为在像素上运行着色器程序而构建的,因此如果给定 800 万像素,而大型 GPU 现在有 6000 个线程,则您可以覆盖所有像素,每个像素每帧运行 1000 个程序 。
但这有点像一群携带沙粒的蚂蚁,而大型人工智能计算机,它们具有非常大的矩阵乘法器 。他们喜欢数量少得多的线程来做更多的数学运算,因为问题本身就很大 。而着色器的问题是问题本质上很小,因为像素太多 。
真正存在三种不同类型的计算机:CPU、GPU 和 AI 。英伟达正在做一些“中间人”的事情,他们使用 GPU 来运行人工智能,并试图增强它 。
其中一些显然工作得很好,而其中一些显然相当复杂 。有趣的是,这种情况经常发生,通用 CPU 在看到 GPU 的矢量性能时,添加了矢量单元 。有时这很好,因为你只有一点点矢量计算要做,但如果你有很多,GPU 可能是更好的解决方案 。
IC:那么回到 ISA 问题——很多人都在问你对 Arm 与 x86 的看法如何?你是怎么看
JK:我有点在意 。这就是发生的事情。当 x86 首次出现时,它非常简单和干净,对吧?当时,有多种 8 位架构:x86、6800、6502 。当时我可能对所有这些架构都进行了编程 。
然后奇怪的是,x86 是开放版本 。他们将其授权给七家不同的公司 。这给了人们机会,但英特尔出人意料地授权了它 。然后他们去了 16 位和 32 位,然后他们添加了虚拟内存、虚拟化、安全性,然后是 64 位和更多功能 。因此,当您添加内容时,架构会发生什么,您保留旧内容以使其兼容 。
所以当 Arm 刚出来的时候,它也是一台干净的 32 位计算机 。与 x86 相比,它看起来更简单,更容易构建 。


推荐阅读