Alternative Rechnerarchitekuren (Teil 2)
Einführung in das >S<puter-Prinzip
Bild 1 zeigt den Aufbau eines superskalaren Prozessors bei bewusster Weglassung der Floating-Point-Einheit. Die im Folgenden dargestellten Eigenschaften der ausführenden Einheit für den Integerteil des Rechners lassen sich jedoch auf die Floating-Point-Unit 1:1 übertragen.
Innerhalb des Prozessors werden das Integer Register File, die Functional Units und die Re-order-and-Commit-Unit zu einer neuen Einheit (in Bild 1 grau unterlegt), der s-Paradigmen-Unit oder abgekürzt s-Unit, zusammengefasst. Diese Architektur wird im s-Paradigmen-Modell wie in Bild 2 variiert.
Das s-Paradigmen-Modell kennt vier Klassen von Maschinenbefehlen:
Branch- und Jump-Befehle zur Kontrollflusssteuerung
Load-/Store-Instruktionen zum Datentransfer zwischen Registern und Spei-cherbereich
Arithmetische und logische Kommandos zur Berechnung
Sonstige Befehle wie No Operation, Wait, Stop et cetera, die im weitesten Sinne auch der Kontrollflusssteuerung dienen
Während die Befehlsklassen zur Kontrollflusssteuerung so belassen und entsprechend dem Standard in superskalaren Rechnern ausgeführt werden, nehmen die Load-/Store- und die arithmetisch/logischen Befehle eine neue Stellung ein.
Load-/Store-Befehle werden entweder mit Hilfe einer oder mehrerer Load-/Store-Pipeline(s) zum Datentransfer zwischen dem Integer Register File und dem Datenspeicher (Cache, Hauptspeicher) eingesetzt und dann auch wie bisher bearbeitet. Oder sie werden zu den arithmetisch/logischen Befehlen hinzugefügt und in das nun beschriebene Kernstück des s-Paradigmen-Modells integriert. Die Entscheidung hierüber obliegt dem System-Designer der CPU. Move-Befehle hingegen, die einen Datentransfer zwischen den Registern des Prozessors bewirken, gehören grundsätzlich zu diesem Modell.
Die arithmetisch/logischen Befehle (und die hinzugefügten Load-/Store-Befehle) werden ihrer Programmiersequenz zufolge in eine Struktur von aufeinander folgenden Hardware-Verknüpfungen übersetzt. Zu diesem Zweck bietet die Func-tional Unit im >S<puter eine programmierbare Struktur und fest verdrahtete arithmetisch/logische Verknüpfungen (sowie gegebenenfalls Zugriffsfunktionen wie Load-/Store-Pipelines). Diese lassen sich durch die Struktur miteinander verknüpfen und werden in der Reihenfolge der Strukturierung bearbeitet. Bild 3 erläutert diese Funktionalität.