| Superskalar | |||||
|
Ein superskalarer Prozessor verfügt über mehrere Funktionseinheiten pro Befehl. Damit können voneinander unabhängige Befehle parallel bearbeitet werden. Superskalarität wird durch das Pipeline-Konzept verwirklicht. Unter Pipelining versteht man die Fähigkeit von Prozessoren, Maschinenbefehle bei der Verarbeitung in mehrere Teile zu zerlegen, und im selben Takt zu verarbeiten. Da die Teilaufgaben parallel bearbeitet werden, kann die Taktfrequenz des Prozessors gesteigert werden. Da ein Befehl jedoch mehrere Takte beim Pipelining benötigen kann, muss die Taktrate, um den Effekt nicht zu vernichten, um denselben Faktor gesteigert werden, der die Anzahl der Teilaufgaben bestimmt, in die ein Befehl zerlegt wird. Jedoch wird der Datendurchsatz gesteigert, da immer mehrere Teilaufgaben verschiedener Befehle gleichzeitig in Bearbeitung sind, und bei gleichen Abarbeitungszeiten pro Teilbefehl, jeweils versetzt um eine Teilaufgabenstufe, diese Teilaufgaben bei Ausführung eines Befehls ausgeführt werden können, so dass - vergleichbar mit einer Fliessbandfertigung - in jedem Takt ein Befehl vollendet wird. Der Prozessor nimmt eine dynamische Zuteilung von Befehlen vor. Er nutzt die Möglichkeit, die Teilaufgaben parallel zu bearbeiten. Dies geschieht noch vor der Stufe, an der z. B. der Compiler ansetzt. Durch Superskalarität kann die Anzahl der ausgeführten Befehle pro Takt (Instructions per Cycle, IPC) erhöht werden. |
|||||
| Siehe auch: Parallele-Datenverarbeitung Multithreading Hyper-Threading Simultaneous-Multithreading CPU Dual-Core Core-2-Duo Ultra-Large-Scale-Integration Supercomputer TeraFLOPS | |||||