riscv中的isa-simulator和c++模拟器有什么区别?

what is difference between isa-simulator and c++ simulator in riscv?

我开始研究 RISC-V。

当我深入研究源代码存储库时,

我发现有很多模拟环境。

但令我感到困惑的是,为什么火箭存储库中存在源自 riscv 工具的 ISA 模拟器和来自 chisel3 RTL 的 C++ 模拟器。

这些模拟器有什么区别?

基于 C++ 的周期精确模拟器适用于特定的 RISCV 执行。它确实模拟了多少 处理器在每种情况下为每条指令所花费的周期。作为它 更详细地模拟硬件,预计会比 长钉。像 Spike(但不像 Verilog 模型),你可以只编译 带有普通编译器的 C++ 模型和 运行 它作为普通软件,不 需要昂贵的模拟工具。

指令集模拟器 (ISS) 是一种模拟模型,通常使用高级编程语言编写代码,通过 "reading" 指令模拟大型机或微处理器的行为,并维护代表处理器的寄存器。