CPU und Architektur
Was ist der Hauptzweck der Registerumbenennung (Register Renaming) in Out-of-Order-CPUs?
- ADie Zahl der Register zu verringern und die Schaltung zu verkleinern
- BPhysische Register neu zuzuweisen, ohne die vom Programm verwendeten Registernamen zu ändern, und so scheinbare Abhängigkeiten (WAR und WAW) zu beseitigen
- CRegisterwerte zu verschlüsseln
Antwort und Erläuterung anzeigen
Antwort: B. Physische Register neu zuzuweisen, ohne die vom Programm verwendeten Registernamen zu ändern, und so scheinbare Abhängigkeiten (WAR und WAW) zu beseitigen
Da die Zahl der Register im Befehlssatz mit 16 bis 32 begrenzt ist, werden dieselben Registernamen mehrfach verwendet, und es entstehen Abhängigkeiten, die mit dem tatsächlichen Datenfluss nichts zu tun haben (Gegenabhängigkeit WAR, Ausgabeabhängigkeit WAW). Bei der Registerumbenennung werden mehrere hundert physische Register dynamisch zugewiesen und bei jedem Schreiben ein neues physisches Register verwendet; dadurch entfallen diese Abhängigkeiten, und mehr Befehle können parallel ausgeführt werden. Echte Abhängigkeiten (RAW) lassen sich nicht beseitigen.