私はRISC-V ISAを学ぼうとしています。 MARSのようにMIPS ISAのRISC-Vアセンブリコードをシミュレートする方法はありますか?
フロントエンドが統合された命令レベルのRISC-Vシミュレータを探しているようです。これにより、マシンコードをインタラクティブに編集したり、CPUの状態を表示および操作したりできます。 MARSのように緊密に統合されているRISC-V用のツールは知りませんが、既存のRISC-Vツールをいくつか組み合わせることで、厳密な近似を実現できます。
次のようにQEMU + gdbまたはgdbguiを使用して運が良かった:
$ qemu-system-riscv32 -S -s -kernel /path/to/myprog.elf -nographic
次に、別のコンソールで:
$ riscv64-unknown-elf-gdb /path/to/myprog.elf
(gdb) target remote localhost:1234
or
$ gdbgui -r -n -g /path/to/riscv64-unknown-elf-gdb /path/to/myprog.elf
注:riscvツールチェーンで構築されたgdbには、デフォルトでtuiモードのサポートが含まれていないことに気づきました。
注2:QEMUは実際にはISAシミュレーター以上のものです-さまざまな特定のRISC-Vターゲットボードとそれに付随する周辺機器をシミュレートします。
グラフィカルインターフェイスを備えたより高度なツールが必要な場合は、大学がriscvを教えるために使用している小さなツールをご覧ください。これには、すべてのレジスタ、メモリ、および各サイクルの最小riscvパイプラインの状態を表示する、組み込みのアセンブラとシミュレータが付属しています。
残念ながら、プロジェクトはかなり古く、github-repoは実際には最新ではありませんが、riscvから始めるには便利な方法です。
これは、私たちのコンピュータ組織クラス BRISC-V Simulator で導入された素晴らしいRISC-Vシミュレータです。
Ripes :グラフィカルな5ステージのRISC-Vパイプラインシミュレータとアセンブリエディター
rv8 :x86-64用のRISC-Vシミュレータ
risc-v-simulator :GUIを備えたRISC-Vアセンブラー/シミュレーター
RiscVAssemblerSuite :RISC Vアセンブラー、逆アセンブラー、およびシミュレーション環境
TinyEM :TinyEMUは、RISC-Vおよびx86アーキテクチャ用のシステムエミュレーターです。
私はエミュレーションとスパイクにQEMUを使用します。これはほとんどすべての状況をテストするのに適したチェーンです。 QEMUはDebianも実行できます。
SpikeとRISC-Vを使用している間GNU=ツールチェーンは確かに機能し、ISAの学習には理想的ではありません。
MARSをRISC-Vに移植する夏を実際に費やしたのは、初心者が使用するのに適したオプションがなかったためです。 [〜#〜] rars [〜#〜] はまさにあなたが探しているものでなければなりません。
いくつかの事柄がさまざまな理由でMARSから削除されましたが、私はリポジトリを監視しているので、改善が見当たらない場合は問題を報告してください。