亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial Internet of Things >> 嵌入式

揭开 RISC-V SoC 设计中自定义扩展的神秘面纱

谈论配置基本处理器或添加自定义扩展以解决片上系统 (SoC) 中的硬件-软件设计权衡并不是什么新鲜事。这是 RISC-V 社区所支持的价值主张的一个关键部分,发布了很多信息并从中受益,例如“指南 使用恰到好处的 RISC-V 自定义指令加速应用程序 .”

在为当今的许多产品设计系统时,功耗、性能和芯片面积限制了许多复杂的人工 (AI) 和机器学习 (ML) SoC 要求。

扩展开源 RISC-V 指令集架构 (ISA) 作为解决这些限制的有效手段经常被忽视。最近由半导体行业设计服务公司 Quantum Leap Solutions 领导的网络研讨会小组试图帮助揭开为 SoC 设计扩展 RISC-V ISA 的神秘面纱。题为“RISC-V 灵活性——自定义扩展的力量的网络研讨会 ,”回答了 100 多名与会者的问题。

小组成员试图深入了解修改后的 ISA 在为新兴应用程序设计中的作用,以及设计人员如何看待对新型 RISC-V 指令集架构的扩展。

由 Quantum Leap Solutions 创始人兼总裁 Mike Ingster 主持,小组成员是:

迈克·英斯特: 为什么 RISC-V 比其他 CPU 架构更适合 AI 和 ML 学习应用程序?

约翰敏 :RISC-V 发明的时间恰逢人工智能成为主流。 RISC-V 矢量指令集的设计考虑了 AI 和 VR 类型的应用。

拉里·拉皮德斯 :我想在具有多路异构处理器阵列的 AI 应用程序中添加这一点——我们已经看到不止一次实现了这种架构——设计人员可以在阵列中组合标量和向量处理器。其次,RISC-V 架构允许设计人员去除不必要的功能,同时保留向量指令。这提供了更好的价格、性能和面积 - PPA。

英斯特 :具有向量扩展的 RISC-V 内核是否也可以使用自定义指令进行扩展?

最低 : 是的。一个示例是具有参考实现的 RISC-V 矢量内核,该实现采用客户扩展来添加额外的缓冲区。这可以防止向量单元因缺少数据而停滞。

青金石 :Imperas 和 Andes 的联合客户已经实现了自定义功能,以在这方面提供帮助。

英斯特 :在多处理器阵列中,是否所有的 CPU 都需要相同的配置?或者他们可以有不同的自定义说明吗?

青金石 :是的,SoC 设计中的异构处理器很常见。此外,不仅仅是自定义指令会因处理器而异。每个处理器的基本指令也可能不同。例如,一个处理器可能有向量指令,而另一个处理器可能有标量指令。这些可以交错和组合。

最低 :在多路复用阵列中,CPU 和模拟器都可以异构以实现多核模拟。

英斯特 :您在市场上看到服务器级 RISC-V 处理器了吗?

最低 :来了。随着时间的推移,CPU 设计会以不同的方式变得更快。一种是通过提高频率。另一种方法是通过扩展 CPU 管道。另一种方法是将处理器设计为乱序执行指令。并且将扩大执行宽度以提供更超标量的组织,或者——如今变得普遍的——采用数千个多核的设计。我们看到这些元素融入下一代 RISC-V 处理器中,用于 AI 企业应用只是时间问题。

青金石 :如果我们回顾 RISC-V 的过去历史,我们会发现最初有 32 位和 64 位 SoC 的概念验证,但大约两年前我们开始看到专注于安全和物联网的 SoC:32 位 SoC 具有竞争力与微控制器。现在我们开始看到第一批应用级处理器。它们不是服务器级,但我们看到 64 位 RISC-V 处理器上的初始芯片运行真正的 RTOS,着眼于高端应用程序。我们开始看到一些乱序的管道正在构建中。我预计在未来两到三年内会出现第一个服务器级 RISC-V 处理器。

英斯特 :自定义扩展能否提供设备安全和生命周期管理?

最低 :是的,取决于实施。例如,通过启用指令扩展来执行检查。程序检查自定义扩展。如果它不存在,则软件将无法执行。另一种选择是实现到内存的自定义端口。因此,RISC-V CPU 将有一个专用总线到内存,而不是使用主总线。

泰南 :设计人员可以使用 Tessent 嵌入式分析 IP 在具有自定义扩展的 SoC 中进行安全和生命周期管理。

英斯特 :为什么 RISC-V 的自定义指令方法与 ARC 和 Tensilica 等其他方法不同?

最低 :CPU 使用自定义扩展来加速特定任务。 RISC-V 的不同之处在于它提供了一种将自定义扩展合并到标准中的正式机制。

英斯特 :开发人员如何与客户或合作伙伴共享自定义说明?

最低 :三个选项。首先,保持私密。其次,建议将 RISC-V International 添加到标准中。例如,安第斯向RISC-V International捐赠了一套DSP指令。这些现在是 RISC-V 标准的 P 扩展。第三,如果您与他人共享指令的用法,您将共享内在函数和头文件。如果您打算共享自定义指令的实现,您可能需要做一个三向保密协议。

青金石 :自定义扩展开发人员可以将该模型作为开源或二进制模型、ISS 或指令准确处理器模型传递给他们的客户或合作伙伴,可用于早期的硅前软件开发。

英斯特 :自定义扩展会导致 RISC-V 社区内的兼容性问题吗?

最低 :这将取决于如何使用自定义指令。如果自定义指令保持专有,根据定义,它不会导致碎片化,因为开发人员是唯一使用它的人。如果自定义指令变得如此成功,许多其他人都在使用它,也许是时候将它合并到基本的 RISC-V 集中了。由创建者决定是将其公开还是保留其专有。无论哪种方式,都不会发生碎片。

英斯特 :当前版本的编译器是否支持向量处理器?

最低 :RISC-V 向量扩展 0.8 版足够稳定,编译器支持它们。 GCC 和 LLVM 都支持现有的 0.8 版规范。编译器的最终版本将在 RISC-V 向量扩展规范最终确定后可用。

英斯特 :软件工具链如何支持自定义扩展?

青金石 :设计人员将自定义扩展添加到他们的 RISC-V 模型中,从而提供可用于软件开发的指令集模拟器。在工具链方面,可以在 GCC 和 LLVM 中添加对新的自定义扩展的支持。两者都是开源工具链,可以由客户自行修改。设计人员还可以组合宏实现来支持自定义指令。

英斯特 :编译器如何知道新创建的自定义指令?

青金石 :软件团队必须在编译器中实现指令。

最低 :另一种不费力地进行添加的替代方法,特别是如果旨在保持指令专有的目的是将自定义指令视为库 - 例如,DSP 库。然后当程序执行需要自定义指令时,调用带有头文件的库。因此,设计团队以最少的工作量实现了创建自定义函数的大部分预期收益。

英斯特 :RISC-V 支持哪些操作系统,是否支持 Android?

青金石 :我没有看到支持 Android,但有一些使用 RISC-V 设计的可穿戴设备。 Linux 免费 RTOS,Zephyr RTOS 是主要支持的。还支持其他实时操作系统。 RISC-V International 的软件网页有完整列表。

最低 :Android 操作系统尚未在 RISC-V 处理器上得到验证。我相信这更像是一个移植练习,而不是它能否运行的问题。 RISC-V 内核目前运行 Linux。

英斯特 :如何验证自定义扩展?

青金石 :自定义扩展添加到设计的 RTL 中,但它们也必须添加到处理器模型中。可以使用此功能验证自定义指令以及自定义寄存器。通常,向在指令集模拟器上运行的处理器模型添加扩展允许软件开发。

跆拳道: 我们最近让一位客户在他们的 SoC 中实现了自定义指令。使用我们的嵌入式分析 IP,他们的目标是通过添加自定义扩展来验证他们的软件性能改进。这是通过使用跟踪来跟踪数据和指令执行来实现的。这是验证性能改进的有效手段。

英斯特 :添加嵌入式分析 IP 需要多少面积?

跆拳道: 没有标准答案,但 1% 是专门用于嵌入式分析 IP 的领域的典型报价。该估计包括连接这些元素的分析模型、通信器和消息结构。因为块有多个选项,所以可以有不同的配置。评估每个客户的设计,并配置嵌入式分析 IP 以在他们的设计中实施。以此方式估计总面积。我们确定了一种可以最小化面积影响的解决方案,从而为给定的设计提供最佳价值。

这些是面板的亮点,其完整版由托管 Quantum Leap 解决方案 .


嵌入式

  1. 什么是磁铁的“伸出”?
  2. 计算机辅助设计 (CAD) 在 3D 打印中的作用
  3. 产品设计的挑战
  4. 什么是嵌入式系统设计:设计过程中的步骤
  5. 从 AI 数据中提取价值
  6. 优化 PCB 设计中的 RF 馈线
  7. 蓝牙 5.1 SoC 旨在缩小设计尺寸和成本
  8. PCB 设计包迁移到云端
  9. 原型 PCB 的好处
  10. 我们更新了“如何为主板设计自定义外壳”资源
  11. 为什么定制制造是未来
  12. 工作指示在公司中的作用