Befehlssatz und Assembler

Welche Aussage zum Branch Delay Slot (Regel, dass der Befehl unmittelbar nach einem Verzweigungsbefehl unabhängig davon ausgeführt wird, ob verzweigt wird), wie er beim früheren MIPS u. a. bestand, ist richtig?

  1. AEin Mechanismus für 100 % Genauigkeit der Sprungvorhersage, der auch bei heutigen CPUs unverzichtbar ist
  2. BAuch RISC-V übernimmt ihn, und nach einer Verzweigung muss stets ein nop eingefügt werden
  3. CEr brachte die Gegebenheiten der damaligen Pipeline in die ISA ein und wurde im Entwurf späterer CPUs zum Hemmschuh
Antwort und Erläuterung anzeigen

Antwort: C. Er brachte die Gegebenheiten der damaligen Pipeline in die ISA ein und wurde im Entwurf späterer CPUs zum Hemmschuh

In einer einfachen 5-stufigen Pipeline ist beim Bekanntwerden des Verzweigungsergebnisses der nächste Befehl schon geladen; der Branch Delay Slot vermeidet Verschwendung, indem er dessen Ausführung verbindlich macht. Bei späteren CPUs mit größerer Pipeline-Tiefe, Sprungvorhersage und gleichzeitiger Ausgabe entfiel der Vorteil, und es blieb nur die Last, aus Kompatibilitätsgründen eine Sonderbehandlung beizubehalten. RISC-V übernimmt ihn nicht, um keine vom internen Aufbau abhängigen Regeln in die ISA aufzunehmen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Befehlssatz und Assembler

  1. Wie wird der gelesene 32-Bit-Wert in das 64-Bit-Register eingetragen, wenn bei RV64I der Befehl lw ausgeführt wird?
  2. Welche Beschreibung des ABI (Application Binary Interface) ist richtig?
  3. Mit welchem Befehl erfolgt in RISC-V im Allgemeinen ein Aufruf über einen C-Funktionszeiger „(*fp)(x)“?
  4. Welche Aussage gilt für zwei CPUs, die dieselbe Befehlssatzarchitektur (ISA) verwenden?
  5. Welche Eigenschaft einer Load-Store-Architektur wie RISC-V ist richtig?