【问题标题】:What is the minimum RISC-V instruction set that runs GNU/Linux?运行 GNU/Linux 的最小 RISC-V 指令集是多少?
【发布时间】:2018-02-04 03:58:07
【问题描述】:

我想为 FPGA 构建自己的最小 RISC-V 处理器。处理器将尽可能简单,只需一条管道。

我阅读了整个 RISC-V ISA,其中有许多标准扩展。那么最低可以运行linux的RISC-V ISA是多少呢?

【问题讨论】:

  • 这是一个有趣的问题...我猜你可能会在Unix & Linux Stack Exchange 得到更好的答案。
  • 问题其实不在于指令集。要使 Linux 正常工作,您需要实现 MMU 和 PLIC。除了 RV32IMA。 MMU 和 PLIC 是难以实施的野兽。对不起。但是如果没有它们,您将只能运行一些愚蠢的“嵌入式”Linux 发行版。

标签: linux riscv


【解决方案1】:

RISC-V 的 IMA 是 Linux 的最小用户级扩展集以及基于页面的特权架构。

【讨论】:

    【解决方案2】:

    截至 2020 年,合理的最小值是 RV64GC、用户/系统模式(“U”/“S”扩展)和基于页面的虚拟内存系统(Sv32、Sv39 或 Sv48)。

    注意RISC-V Base specification(2019-06-08 批准)将G通用)符号扩展为:IMAFD+Zicsr+Zifencei

    压缩指令扩展(“C”)也是base specification 的一部分。 "U"/"S" 扩展和虚拟内存系统是RISC-V Privileged Architecture specification 的一部分。

    从技术上讲,RV64GC 是运行 Debian 和 Fedora 等通用发行版的最低要求 - 但是,使用自定义 Linux you could get down to RV64IMA+Zi* 甚至 RV32IMA+Zi*(带有一些补丁)。

    【讨论】:

      猜你喜欢
      • 2014-12-10
      • 2018-11-22
      • 2023-03-22
      • 2021-09-24
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多