业界越来越多地谈论 RISCV 架构带来的好处,但它甚至是正确的起点吗?虽然它可能并不完美,但它可能会提供逐步前进所需的灵活性。
计算机架构和软件追随了 80 年前开发的处理器的脚步。他们的目标是使用一种基础技术来解决顺序标量算术问题,只要它有足够的内存,就可以解决任何有限问题。
芯片行业已经表明不愿意放弃这种方法,尤其是在仍在运行 50 年前开发的软件的行业。软件范式和向后兼容性具有巨大的影响。编程以任何有意义的方式从单处理器迁移到多处理器架构花了几十年的时间,直到 NVIDIA 开发了 CUDA,针对大规模并行处理器的应用程序才开始在高度专业化的应用程序之外开发。
那么,当许多应用程序的典型工作负载是数据流问题且控制量很小时,为什么该行业需要另一种 CPU 架构呢?答案在于 RISCV 架构可以以多种方式发展,其中一些方式可能会实现缓慢迁移,而不是试图跨越巨大的鸿沟。
几周前,RISCV 社区在欧洲举行了年度峰会,展示了 RISCV 的使用方式越来越多,以及其影响如何越来越大,尤其是在没有很多遗留软件阻碍它的应用领域。“RISCV 不再只是您甚至不知道的微型嵌入式微控制器,它存在于您的产品中,”RISCV International 首席执行官 Andrea Gallo 说。“RISCV 已经进入了一个不同的阶段。”
这得到了其他人的支持。“与往年相比,欧洲的工业与会者要多得多,”Synopsys 业务发展执行董事 Larry Lapides 说。“内容更多地来自行业,这改变了会议的基调。我们看到的是,RISCV 开始侵入我们五年前甚至没有预料到的地方。
Gallo 提供了几个重大进展的例子。“英飞凌表示,他们正在将 RISCV 用于汽车领域,”他说。“欧盟正在资助 HPC 项目和汽车项目。meta 正在将其用于其加速器卡中的 AI。NVIDIA 估计,去年,即 2024 年,他们的 GPU 出货量将达到 10 亿个 RISCV 内核。
其他人强调了 RISCV 在尖端处理器方面的重大进步。“它不仅是低端处理器,而且在某些细分市场中,它还可以用作 GPU 的协处理器或加速器,”Synopsys 首席产品经理 Mohit Wani 说。“NVIDIA 在一次演示中表示,他们的产品组合中有近 30 种不同类型的功能,其中基于 RISCV 的内核正在为这 30 多种功能工作。”
一些业务和技术障碍仍然需要克服。“汽车行业越来越多地研究 RISCV,”Fraunhofer IIS 自适应系统工程部设计方法负责人 Roland Jancke 说。“他们一直犹豫不决,因为 RISCV 是一种开放式架构。在汽车行业,如果出现问题,您总是需要有人责备。如果您没有单个提供商,而是一个社区,那么这很困难。如今,由于可能降低成本,他们越来越多地关注 RISCV,因为在汽车领域,您寻求每一分钱来降低价格。但是,您需要有一个生态系统。拥有能够开发处理器的工具是不够的,还有在此之上的软件。RISCV 正在取得进展,但在 RISCV 处理器成为汽车领域的主力军之前,它还有很长的路要走。
然而,并不是每个人都认为这非常值得注意。“RISCV 不是 AI 的解决方案,不是用于训练,不是用于推理,”Quadric 首席营销官 Steve Roddy 说。“RISCV 只是另一个与 Arm、x86、MIPS、Xtensa 和 ARC 处理器相同的控制 CPU。后两者还为设计人员提供了类似于 RISCV 且优于 RISCV 的指令集定制能力。因此,RISCV 没有提供比其前身更好的技术性质。
要结合这两种极端观点,需要对行业的运作方式有长期的了解。“RISCV 有能力实现 AI 发展,”Microchip Technology FPGA 部门系统架构和嵌入式解决方案高级总监 Venki Narayanan 说。“它需要那个。它在不断发展。这些模型在学习和推理级别都在不断发展。它需要各种数据类型、各种内存元素、本地内存,并且能够以更快的方式进行更多的自定义计算。如果你看一下,有各种各样的方法可以做到这一点。RISCV 通过特定领域的架构实现了这一点。
独特的机会
在芯片行业中,很少有没有遗留软件的应用出现。然而,这就是 AI 发生的事情。此外,鉴于该技术的极端发展速度,在再次被颠覆之前,任何软件都不可能建立起来。这为持续进化和适应创造了完环境。
“由于没有传统软件需要支持,您真的可以根据工作负载定制处理器,而忽略不需要的东西,”Synopsys 的 Lapides 说。“在架构级别,甚至在微架构级别,仍然有很多优化可以完成,设计管道、缓存和内存。而这一切都是在你开始做其他事情之前,在你开始实施之前。
RISCV 带来的自由度使架构自由度成为可能。“AI 加速卡可以有大量的 RISCV 内核,甚至是同一集群中的不同内核,”RISCV International 的 Gallo 说。“你可以有数百个小块,每个小块都有不同的 RISCV 内核,有些专门用于数据移入和移出,有些专门用于推理本身和处理。然后,您有了添加自定义指令的概念,这些指令允许您拥有非常高效的张量单元。这就是 RISCV 如何影响芯片的架构。
虽然 RISCV 许可增加了成本优势,但这并不是唯一的原因。“它远不止于此,”Synopsys 的 Wani 说。“如果你看一下加速器连接到处理器的方式,就会发现它是通过一个快速的接口,而且通常是以内存映射的方式。从开发人员的角度来看,如果您想在加速器上完成工作,您可以通过接口将数据和任务信息发送到加速器,然后等待加速器将您的结果发回。
但这种通信成本高昂,而且意味着内核处于空闲状态。“您浪费了 30% 的时间发送数据和返回结果,”Wani 说。“如果您可以本地执行这些特定作,通过您自己的矢量管道发送数据,然后直接连接到加速器,则可以避免所有这些时间。这种灵活性只存在于 RISCV 世界中。
Quadric 的 Roddy 并不相信。“当应用于 AI 应用程序,尤其是推理应用程序时,所有控制 CPU 都受到同样严重的限制,”他说。“CPU 旨在以随机代码追踪指针。它们不是矩阵或张量引擎。充其量,这些 CPU 提供 vector * vector 计算吞吐量。它们受传统加载 / 存储带宽瓶颈的约束。因此,每种声称将 RISCV 用于 AI 的方法都必须捆绑在一个单独的矩阵引擎中,这引入了图形分区问题,这是基于 CPU 的方法的致命弱点。解决 AI 问题的适当创新是创建本质上经过 (matrix * matrix) 或 (tensor * tensor) 优化的架构,并打破了以 CPU 为中心的对内存缓存和推测性无序管道的依赖。
RISCV 支持将这一部分封装在传统的控制处理器中。“我们的一些成员已经有了自定义张量指令,”Gallo 说。“这就是 RISCV 的灵活性。您可以为特定工作负载开发自定义指令,然后承担自定义特定应用程序的全部拥有成本。标准化和扩展规范也是有价值的,这样我们就可以分担维护编译器、工具链和库的成本。我们有 vector,我们正在研究 matrix,根据应用程序用例,将有不同的 matrix 方法。如果是加速卡,如果是 AI IoT 应用或边缘 AI,将有不同的实现矩阵加速的方式。
由于没有其他候选人,你得凑合着用。“数据流在 AI 和许多计算元件中非常重要,”Microchip 的 Narayanan 说。“计算需求已经增长,这需要以更节能的方式进行。这不仅仅是指令、获取、执行和回写的微架构。它是您组织微架构和数据流的方式。您如何传入和传出数据 — 尤其是从一个层传输到另一个层的大量数据。你不能继续写信给 DDR。
随着 AI 的快速发展,需要有很大的灵活性。“需要以高效方式实现的模型类型正在增加,”Microchip AI 和通信部门负责人 Nilam Ruparelia 说。“变形金刚是 ChatGPT 需要的,这就是 AI 流行的原因,但有一整套模型比变形金刚复杂得多。这些也需要更高的性能。例如,经典的 CNN、RNN、LSTM 需要数学模块架构、DSP 模块架构,以便更好地适应这些变压器或这些模型,以使性能更好。
AI 不仅仅是一个问题,灵活性仍然很重要。“AI 有多个层次,”Narayanan 说。“你有分割、对象检测、分类、转换器,所有这些都使用不同的数据类型。这些层是如何实现的?您如何有效地做到这一点,以及如何在层之间进出数据?这些都是你遇到的问题,这就是架构如何帮助你构建它。
它不仅包括作,还包括数据。“RISCV 具有先天的优势,您可以在不违反 ISA 规范的情况下制作定制硬件,”Microchip 的 Ruparelia 说。“您可以更好地处理特定数据类型,无论是在指令级别,还是在微架构中,因此您正在为该类工作负载构建自定义计算解决方案。这种灵活性在敏捷地应对新数据类型方面发挥着重要作用,在不久的将来,它们将适用于不同类别的应用程序。
但是,处理器优化未来任务的全部要求仍然未知。“如果我们要构建一个用于边缘推理的处理器,它可能会进行分类、检测、分割,甚至是某种转换器,”Narayanan 说。“这些是固定层,我们知道计算元素旨在更加优化并完成这些工作流程。我们构建了一台针对当今需求进行优化的计算机,但这并不意味着如果您有新的层、新的运算符类型或类似的东西,我们就无法做到。只是它不会像你那样设计它那样高效。
生态系统
生态系统一直是某些应用领域采用的主要障碍,但正在稳步取得进展。“我们将 Yocto 项目中的会员资格升级到了白金级别,”Gallo 说。“这是对生态系统的一个非常强烈的信息。Yocto 是最普遍的嵌入式 Linux 发行版。这是 Yocto 项目多年来首次添加新的 ISA、新的架构,成为白金会员意味着 RISCV 将与其他架构相提并论。Yocto 不仅用于嵌入式 Linux、边缘 AI IoT,还用于消费类机顶盒电视和汽车信息娱乐方面。
移动设备正在迎头赶上。“就 Android 开发而言,Google 已将 RISCV 打造成一等公民,”Wani 说。“随着软件堆栈的成熟,我们还将在移动设备、笔记本电脑等热门领域看到入门级应用程序核心。”
当足够多的领导者介入时,群体就会随之而来。“Red Hat 宣布他们提供了适用于 RISCV 的 RHEL 开发人员预览版,”Gallo 说。“Fedora 可用于 RISCV。去年 1 月,在欧洲的 FOSDEM 上,Canonical 透露,他们正在制定计划,以使用 Ubuntu 支持 RVA23 配置文件。它传达的信息是,RISCV 已经为应用处理器和标准作系统做好了准备。
正在进行重大投资。“欧洲另一个有趣的项目是 DARE 项目,”Lapides 说。“这将在未来五年内注入 2.6 亿至 2.8 亿欧元。这三个主要供应商都在构建小芯片,而不仅仅是处理器 IP。一个是通用 CPU,一个是矢量加速器,一个是 AI 加速器。这些小芯片将被集成。具有新小芯片架构的 RISCV 很有趣。
结论
RISCV 可能不是许多应用程序的完美解决方案,尤其是与 AI 相关的应用程序,但它可以提供一条进化路径。此外,没有其他方法可以提供更好的选择。
半导体行业很少有革命取得成功。通过拥有一个开放且不断壮大的社区,他们迅速发展出他们今天需要什么、他们认为明天可能需要什么的定义,并着眼于地平线,他们可能能够在不承担太多风险的情况下到达他们最终需要的地方。通过采取一小步,生态系统可以跟上,并取得稳步进展。