Befehlssatz und Assembler
Welche Erklärung, wie heutige leistungsfähige x86-CPUs komplexe Befehle intern ausführen, ist richtig?
- AAlle Befehle werden Befehl für Befehl von einem Software-Emulator ausgeführt
- BBefehle werden dekodiert und in einfache, RISC-ähnliche Mikrooperationen zerlegt, die in der Pipeline ausgeführt werden
- CKomplexe Befehle sind nicht ausführbar, und das Betriebssystem bricht sie als Fehler ab
Antwort und Erläuterung anzeigen
Antwort: B. Befehle werden dekodiert und in einfache, RISC-ähnliche Mikrooperationen zerlegt, die in der Pipeline ausgeführt werden
x86-CPUs zerlegen die komplexen Befehle variabler Länge im vorderen Dekoder in einfache Operationen, sogenannte Mikrooperationen (μops), und führen diese im hinteren Teil Out-of-Order aus. Manche CPUs besitzen einen μop-Cache, der einmal zerlegte μops speichert und erneutes Dekodieren erspart. So wird die Kompatibilität mit alter Software gewahrt und zugleich dieselbe schnelle Ausführungstechnik wie bei RISC genutzt.