【发布时间】:2017-12-05 08:23:06
【问题描述】:
我必须在 C++ 中实现 RISC-V 架构(流水线处理器的 ISA)。由于所有 ISA 都无法实施,有人可以告诉我最重要的大约。 40 指令集,我应该包括哪些? 请帮忙
【问题讨论】:
标签: riscv
我必须在 C++ 中实现 RISC-V 架构(流水线处理器的 ISA)。由于所有 ISA 都无法实施,有人可以告诉我最重要的大约。 40 指令集,我应该包括哪些? 请帮忙
【问题讨论】:
标签: riscv
最重要的子集是 RV32I。它的大小约为 40 条指令。
https://riscv.org/specifications/
第二章
RV32I 被设计为足以形成编译器目标并 支持现代操作系统环境。 ISA 也是 旨在以最小的方式减少所需的硬件 执行。 RV32I 包含 47 条独特的指令,虽然 简单的实现可能涵盖八个 SCALL/SBREAK/CSRR* 具有单个系统硬件指令的指令,该指令始终 陷阱并且可能能够实现 FENCE 和 FENCE.I 指令作为 NOP,将硬件指令数减少到 38 全部的。 RV32I 可以模拟几乎任何其他 ISA 扩展(除了 A 扩展,这需要额外的硬件支持原子性)。
【讨论】: