Superskalare Prozessorarchitekturen

Die Beschreibung des Ziels

Die Entwicklung von superskalaren Mikroprozessoren erfolgte nicht losgelöst von den bisherigen Prozessoren. Es sind zumeist (mit Ausnahmen) Prozessoren, die das obere Ende der Rechenleistung innerhalb einer Prozessorfamilie darstellen. Innerhalb dieser Prozessorfamilie ist eine für alle Mitglieder kompatible binäre Maschinensprache oder ein Maschinencode definiert. Diese Maschinensprache soll auch für einen superskalaren Prozessor unverändert gelten.

In sequenziellen Ausführungsmodellen (bis hin zum RISC-Prozessor) definiert die Maschinensprache, wie ein Prozessor einen Befehl ausführt. Dies muss für superskalare Rechner abgeschwächt werden, wo die binäre Sprache lediglich definiert, was ausgeführt wird. Dieser geringe Unterschied ist durchaus wichtig, da bei paralleler Ausführung kein exakter Determinismus der Ausführungsreihenfolge in der CPU mehr möglich ist.

Es bleibt jedoch bei der Aussage, dass sich die CPU stets in einem präzisen Zustand befindet. Dies bedeutet speziell, dass bei Unterbrechungen etwa durch Interrupts oder Ausnahmen (Exceptions) der Zustand der CPU sicherbar und wiederherstellbar ist, falls der Prozessor die Ausnahmen behandelt. Dieses Konzept ist eng mit dem Modell der sequenziellen Ausführung verknüpft und bedeutet sowohl für RISC-CPUs wie für superskalare Prozessoren entsprechende Hardware, um dies zu gewährleisten.

Das Ziel der superskalaren Rechnerarchitektur ist es, durch parallele Ausführung von Instruktionen die durchschnittliche Bearbeitungszeit pro Instruktion zu senken. Dabei soll die Instruktionslatenzzeit, also die Zeit, die maximal pro Befehl verstreicht, gegenüber der RISC-CPU nicht ansteigen.