Befehlssatz und Assembler

Welcher Vorteil fester Befehlslänge ist am zutreffendsten?

  1. ADie Befehlsgrenzen sind sofort bekannt, und mehrere Befehle lassen sich leicht gleichzeitig dekodieren
  2. BJeder Befehl ist kürzer als bei variabler Länge, sodass das Programm stets kleiner wird
  3. CDie Zahl der Befehlsarten lässt sich beliebig erhöhen
Antwort und Erläuterung anzeigen

Antwort: A. Die Befehlsgrenzen sind sofort bekannt, und mehrere Befehle lassen sich leicht gleichzeitig dekodieren

Bei fester Länge steht fest, dass der n-te Befehl bei Byte 4n beginnt; so können mehrere Befehle auf einmal abgerufen und parallel dekodiert werden. Besonders vorteilhaft ist das bei superskalaren CPUs, die mehrere Befehle pro Zyklus ausgeben. Da häufig benutzte Befehle nicht kurz dargestellt werden können, wird der Code allerdings tendenziell größer als bei variabler Länge. Die Erweiterung C von RISC-V gleicht diese Schwäche durch 16-Bit-Befehle aus.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Befehlssatz und Assembler

  1. In RISC-V-Befehlen sind die Felder zur Registerangabe (rd, rs1, rs2) jeweils 5 Bit lang. Welche Begründung ist richtig?
  2. Das Immediate des RISC-V-Befehls addi ist eine vorzeichenbehaftete 12-Bit-Ganzzahl. Welcher Bereich lässt sich damit darstellen?
  3. Wie wird bei RISC-V üblicherweise eine 32-Bit-Konstante (z. B. 0x12345678), die nicht in ein 12-Bit-Immediate passt, in ein Register geladen?
  4. Welche Kombination ist richtig, wenn bei RISC-V die Konstante 0x12345FFF mit den zwei Befehlen lui und addi erzeugt wird?
  5. Welche Wirkung hat der RISC-V-Befehl auipc (add upper immediate to PC)?