Das Kefk Network Wiki befindet sich im Testbetrieb.


Superskalarität

Aus Kefk.

Wechseln zu: Navigation, Suche
[[Hilfe:Cache|Fehler beim Thumbnail-Erstellen]]: convert: unable to open image `/var/www/kefk/w/images/c/c2/Processor_board_cray-2_hg.jpg': No such file or directory.
Prozessor board eines CRAY T3e parallel computers mit vier superskalaren Alpha prozessoren

Eine superskalare Rechnerarchitektur ist eine Erweiterung der Pipelining-Funktionalität, die sich in allen modernen High-End-Prozessoren finden lässt. Unter Superskalarität versteht man die Eigenschaft eines Prozessors, mehrere Befehle aus einem Befehlsstrom gleichzeitig durch dynamische Zuteilung an parallel arbeitende Funktionseinheiten übergeben zu können. Die Parallelarbeit findet somit auf Befehlsebene statt: Die Superskalartechnik nutzt die feinkörnige Nebenläufigkeit zwischen den einzelnen Befehlen aus.

Mit dynamischer Zuteilung ist gemeint, dass die Zuteilung vom Prozessor selbst während der Abarbeitung der Befehle vorgenommen wird und nicht bereits während des Kompilierens durch den Compiler geschieht. Dadurch lässt sie sich von der VLIW-Technik abgrenzen, bei der auch mehrere Befehle parallel abgearbeitet werden können.

Die für diese Zuteilung zuständige Einheit wird Dispatcher oder Scheduler genannt. Dieser Dispatcher ist komplex, und seine Komplexität steigt mit der Befehlsfenstergröße (die Anzahl der Befehle, die parallel abgearbeitet werden können).

Die Superskalartechnik verändert nicht den Befehlssatz der Architektur, ist also eine Mikroarchitektur.

Mit Hilfe superskalarer Prozessoren kann die Anzahl der pro Takteinheit ausgeführten Befehle (Instructions per Cycle (IPC)) erhöht werden. Das hängt unmittelbar mit der Tatsache zusammen, dass das Abrufen der für eine Operation benötigten Operanden aus dem Registersatz im Allgemeinen deutlich schneller vollzogen ist (1 Taktzyklus), als die darauf folgende Berechnung, welche bei CISC-Prozessoren üblicherweise mehrere Taktzyklen benötigt, oder dass bestimmte Befehle (z.B. Division) deutlich länger brauchen als einfache Befehle wie die Addition. Wäre das nicht der Fall, so würde eine Erweiterung der Pipeline-Architektur um Superskalarität keine merkliche Verbesserung bringen. Prozessorspezifische, optimierende Compiler erlauben Verbesserungen des generierten Codes, die die Funktion des Dispatchers unterstützen und Abhängigkeiten zwischen den parallel arbeitenden Pipelines vermeiden oder verringern.

Der Begriff superskalar ist eine Modifikation des Begriffs skalar. Skalare Architekturen sind fähig, einen Befehl pro Taktzyklus auszuführen. Das Grundprinzip des superskalaren Ansatzes ist bereits im Jahr 1964, bei der Firma Control Data Corporation (CDC) aufgekommen, die den ersten Supercomputer (6600) entwickelte. Die Rechnerarchitektur des CDC 6600 beinhaltete bereits damals mehrere parallel arbeitende Funktionseinheiten für unterschiedliche mathematische Operationen.

Weblinks

Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Superskalarit%C3%A4t, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge