Venus
RISC-V-ÖkosystemVenus ist ein Lehrsimulator für RV32IM-Assembler von der UC Berkeley, der in CS 61C verwendet wird.
Übersicht
Venus ist ein RISC-V-Simulator, der in einem Webbrowser läuft. Ein Simulator ist ein Programm, das einen Prozessor nachahmt, sodass du Maschinencode ausführen kannst, ohne RISC-V-Hardware zu besitzen. Venus liest Assembly-Code, der für RV32IM geschrieben wurde. Assembly-Code ist die lesbare Textform von Maschinenbefehlen. RV32I ist der grundlegende 32-Bit-RISC-V-Befehlssatz, und die M-Erweiterung fügt Multiplikation und Division hinzu.
Der Editor und der Simulator teilen sich eine Seite. Programme fordern Dienste über ecall an, den RISC-V-Befehl, der die Umgebung um etwas bittet. Venus behandelt ecalls zum Ausgeben von Werten und zum Zuweisen von mehr Speicher.
Verlauf
Keyhan Vakil startete Venus 2017 an der UC Berkeley. Das Projekt ist in Kotlin geschrieben, einer Programmiersprache, die zu JavaScript kompiliert werden kann. Diese Kompilierung ermöglicht es dem Simulator, in einem Browser ohne Installation zu laufen.
Die UC Berkeley übernahm Venus für CS 61C, ihren Kurs über Maschinenstrukturen, in dem Studierende ihre ersten RISC-V-Programme schreiben. Der Kurs behielt später seinen eigenen Fork unter venus.cs61c.org. Ein Fork ist eine Kopie eines Projekts, die getrennt vom Original entwickelt wird. Ein weiterer Fork, Venus164, fügt Funktionen für das ChocoPy-Compilerprojekt im Compiler-Kurs von Berkeley hinzu.
Wo es verwendet wird
Venus eignet sich für einen ersten Kurs in Assembler. Ein Student öffnet eine Seite, fügt ein Programm ein und führt es aus. Sein Befehlssatz bleibt bei RV32IM, einem kleinen Satz, der die ersten Lektionen auf Register, Speicher und Kontrollfluss fokussiert hält.
