RISC‑V 架构:干净的指令集如何成为严重的威胁

发布: (2025年12月31日 GMT+8 03:36)
6 min read
原文: Dev.to

Source: Dev.to

请提供您希望翻译的正文内容,我将按照要求保留链接、格式和技术术语,仅翻译文本部分。

什么是架构实际定义的

指令集架构定义了:

  • CPU 能理解的指令
  • 寄存器布局
  • 特权级别
  • 内存排序规则
  • 软件与硬件的交互方式

定义:

  • 流水线深度
  • 缓存设计
  • 时钟频率
  • 制造工艺

两个 RISC‑V CPU 可以运行相同的程序,但内部仍可能完全不同。

为什么会有 RISC

RISC 意味着 Reduced Instruction Set Computing(精简指令集计算)。其理念是保持指令简洁且可预测,以便编译器和硬件能够高效运行。

与此相比:

  • x86 – 复杂且充满遗留行为
  • ARM – RISC,但受控且有授权

RISC‑V 保持了 RISC 哲学 但去除了所有权.

基础指令集

每个 RISC‑V CPU 都从一个基础 ISA 开始。
RV32IRV64I 是其基石。

  • RV32I – 32 位整数指令集
  • RV64I – 64 位整数指令集

基础包括:

  • 整数算术
  • 控制流
  • 内存加载与存储
  • 32 个通用寄存器

基础中没有乘法、浮点或原子操作;这些只有在需要时才会添加。

这就是 RISC‑V 适用于小型芯片的原因。

扩展是 RISC‑V 的扩展方式

RISC‑V 是模块化的。功能通过扩展来添加。

常见扩展:

  • M – 乘法和除法
  • A – 原子指令
  • FD – 浮点运算
  • C – 压缩指令
  • V – 向量处理

能够运行 Linux 的系统通常支持 RV64IMAFDC

这意味着 CPU 只包含所需的功能——没有多余的复杂性。

寄存器和调用约定

RISC‑V 有 32 个整数寄存器。以下是一些示例:

  • x0 – 始终为零
  • x1 – 返回地址
  • x2 – 栈指针

没有隐藏或特殊的未文档化内容,这简化了编译器、调试器和操作系统内核。

特权模式与操作系统

RISC‑V 定义了三个特权级别:

  • machine mode – 固件
  • supervisor mode – 内核
  • user mode – 应用程序

这与现代操作系统设计完全匹配,使得 Linux 支持变得直接。

Linux 能在 RISC‑V 上原生运行,具备完整的内核支持。

内存模型

RISC‑V 使用宽松的内存模型。指令可能会被重新排序,除非显式阻止,这提升了性能和可扩展性,但需要正确的同步。

设计类似于 ARM,而非 x86。

微架构自由

  • 顺序执行或乱序执行
  • 单核或多核
  • 小型微控制器或服务器 CPU

相同的软件可以在所有这些上运行。

支持 RISC‑V 的操作系统

完全支持的操作系统

  • Linux
  • FreeBSD
  • Zephyr
  • RTEMS

实验性或部分支持

  • Android
  • 研究中的 Windows 移植

Linux 支持是成熟度最重要的信号。

今日可用的真实 RISC‑V 处理器

嵌入式和微控制器级别

  • ESP32‑C3
  • ESP32‑C6
  • Microchip PolarFire SoC

支持 Linux 的处理器

  • SiFive Performance 系列
  • Alibaba T‑Head Xuantie

这些芯片可以启动 Linux 并运行真实工作负载。

谁应该使用 RISC‑V

RISC‑V 适用于:

  • 定制硅芯片设计者
  • 嵌入式和物联网设备
  • 政府和公共基础设施
  • 研究与教育
  • 避免供应商锁定的长期平台

它目前 适用于:

  • 高端消费级桌面电脑
  • 游戏系统
  • 依赖专有驱动的环境

为什么 RISC‑V 在别人失败的地方成功

与 Intel Itanium 不同,RISC‑V 并不试图一次性取代所有东西。它逐步发展,与现有生态系统共存,并且不强迫迁移。这种渐进式的方法正是它成功的原因。

最后思考

RISC‑V 并不是因为它今天很快而令人兴奋;它之所以令人兴奋,是因为它免费、简洁且稳定。它是一种旨在持续数十年的架构,使其成为我们这个时代最重要的 CPU 设计之一。

Back to Blog

相关文章

阅读更多 »