重新发现RISC-V:Apple M1引发了对非x86架构的新兴趣

2021-01-11 04:38:16

像x86和ARM一样,RISC-V是指令集体系结构(ISA)。与x86和ARM不同,它是一种免费开放的标准,任何人都可以使用,而不会陷入其他人的处理器设计中或支付昂贵的许可费用。

RISC-V(发音为RISC-5)是加州大学伯克利分校教授David Patterson和KrsteAsanović的创意。 Patterson在1980年代开发了RISC(精简指令集计算)和RAID(廉价磁盘的冗余阵列)的开发人员,在通俗易懂的首字母缩写词和体系结构方面具有天赋。他们在本文中概述了RISC-V的情况。

ISA作为接口-与应用程序编程接口(API)类似-用于CPU操作。编译器或解释器会将您的高级语言(例如C)转换为ISA命令,以使处理器执行工作。

每个ISA指令均由基础硬件实现。因此,ISA设计需要考虑其指令将如何影响CPU的价格/性能。例如,这就是为什么ARM要求大多数许可证持有人也必须使用其硬件设计的原因。

到达摩尔定律的尽头,我们不能只在芯片上塞满更多的晶体管。相反,正如Apple的A和M系列处理器所示,在快速通用RISC CPU中添加专用于编解码器,加密和AI的专用协处理器,可以提供出色的应用程序性能和能效。

但是像ARM这样的专有ISA却很昂贵。更糟糕的是,它们通常只允许您使用ISA的硬件设计,除非您当然是可以负担顶级许可证和设计的大型公司之一(例如Apple)团队加以利用。罐装设计意味着架构师无法指定可降低成本和提高性能的调整。

像RISC-V这样的开放式免费ISA消除了很多此类成本,使小型公司能够针对其应用优化硬件。随着我们将智能转移到对成本更敏感的应用程序中,使用价格在1美元或以下的处理器,对应用程序和成本优化的处理器的需求比以往任何时候都大。

可以说,第一个ISA是1936年在论文中描述的Alan Turing机器。只有6条指令,Turing机器可以模拟任何计算机,尽管创建较小的指令集是一项竞争性的运动,从而导致了单指令设计。

自从架构师经历了数十年的沉寂之后,例如十进制而不是二进制编码,超长指令字(VLIW)架构和复杂指令集计算(CISC)。我们今天比1970年代了解更多,因此可以设计一种新的ISA,以保留数十年的软件投资和设计经验。

基本加扩展名。 RISC-V提供了一套小的核心指令集,但提供了用于常见操作的标准可选扩展,以及用于全新操作码的空间。

紧凑的指令编码。物联网设备在存储和存储方面必须节俭,才能满足成本限制。

四精度(QP)浮点。在某些应用程序中,数据集变得如此之大,以至于标准的单精度和双精度浮点无法破解它。

128位寻址,以及32位和64位。如果还没有,那么仓库级计算机将很快突破64位寻址的限制。

尽管开放式操作系统(如Linux)受到了广泛关注,但ISA是一项寿命更长的基础技术。 x86 ISA的历史可以追溯到50年前,如今它已被翻译为更简单,更快的基础硬件体系结构。 (我怀疑这一事实是成功将macOS Rosetta 2从x86代码转换为Apple的M1代码的关键。)

当然,开放式ISA只是解决方案的一部分。 免费的标准硬件设计-具有设计更多工具的工具-和智能编译器以生成优化的代码至关重要。 伯克利的专业实验室正在从事更大的项目。 随着计算继续渗透到文明中,次优基础设施的成本将继续上升。 为提高效率,延长使用寿命和广泛应用而进行的优化对于人类在网络世界中的进步至关重要。