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.