Befehlssatz und Assembler
In RISC-V-Befehlen sind die Felder zur Registerangabe (rd, rs1, rs2) jeweils 5 Bit lang. Welche Begründung ist richtig?
- AWeil die Registerbreite 5 Bit beträgt
- BWeil ein Befehl bis zu fünf Register verwenden kann
- CWeil es 32 Ganzzahlregister gibt, die mit 2⁵ = 32 Möglichkeiten angegeben werden können
Antwort und Erläuterung anzeigen
Antwort: C. Weil es 32 Ganzzahlregister gibt, die mit 2⁵ = 32 Möglichkeiten angegeben werden können
Ein Befehl im R-Format besteht von oben nach unten aus funct7 (7 Bit), rs2 (5), rs1 (5), funct3 (3), rd (5) und opcode (7), zusammen 32 Bit. Bei 32 Registern genügen 5 Bit für die Nummer. Bei 64 Registern wären je 6 Bit nötig, bei drei Feldern also 3 Bit mehr, sodass weniger Bits für Immediates und Befehlsarten blieben. Die Registerzahl hängt also mit der Befehlsform zusammen.