Venus
RISC-VエコシステムVenusはUCバークレーのRV32IMアセンブリ用の教育シミュレータで、CS 61Cで使用されています。
概要
VenusはWebブラウザで動作するRISC-Vシミュレータです。シミュレータとはプロセッサを模倣するプログラムであり、RISC-Vハードウェアを持っていなくてもマシンコードを実行できます。VenusはRV32IM向けに書かれたアセンブリコードを読み込みます。アセンブリコードはマシン命令を読みやすいテキスト形式にしたものです。RV32Iは基本的な32ビットRISC-V命令セットであり、M拡張は乗算と除算を追加します。
エディタとシミュレータは1つのページを共有しています。プログラムはecallを通じてサービスを要求します。ecallは環境に何かを求めるRISC-V命令です。Venusは値の出力と追加メモリの割り当てのためのecallを処理します。
履歴
Keyhan Vakilは2017年にUC BerkeleyでVenusを始めました。このプロジェクトはKotlinで書かれています。KotlinはJavaScriptにコンパイルできるプログラミング言語です。このコンパイルによって、シミュレータは何もインストールせずにブラウザ内で実行できるのです。
UC Berkeleyは、機械構造に関する講義であるCS 61CでVenusを採用し、学生はそこで初めてのRISC-Vプログラムを書きます。この講義は後にvenus.cs61c.orgで独自のフォークを維持しました。フォークとは、元のプロジェクトとは別に開発されるプロジェクトのコピーです。もう一つのフォークであるVenus164は、Berkeleyのコンパイラ講義におけるChocoPyコンパイラプロジェクト向けの機能を追加しています。
使用場所
Venusはアセンブリの入門コースに適しています。学生はページを開き、プログラムを貼り付けて実行します。命令セットはRV32IMのままで、最初のレッスンをレジスタ、メモリ、制御フローに集中させる小さなセットです。
