Befehlsausführung
Der Power5-Kern und die acht SPEs verfügen über einen 32 Bit breiten RISC-Befehlssatz, der PPE-Kern über 64 Bit breite allgemeine Register (GPR), 64 Bit breite Gleitkomma-Register (FPR) und 128 Bit breite VMX-Register. Die SPEs haben generell 128 Bit breite Register für skalare Operationen mit 8 bis 128 Bit breiten Datenworten oder für SIMD-Operationen (Single Instruction Multiple Data) mit Integer- oder Gleitkomma-Daten.
Für die SPEs wurde eine neue Instruction Set Architecture (ISA) mit drei Operanden entworfen. Auf jedes der 128 128-Bit-Register kann damit mit sieben Bit bei jeder Instruktion zugegriffen werden. Obwohl die SPE ISA neu ist, wurden die Operationen denen der Power-VMX-Einheit angeglichen. Volle IEEE-Gleitkomma-Arithmetik bieten die SPUs nicht, es wird lediglich ein ausgewählter Teilbereich unterstützt.
Jede SPE verfügt über zwei Instruktions-Pipelines, eine gerade (even) und eine ungerade (odd) Pipeline, wobei bestimmte Instruktionen für eine Pipeline vorbestimmt sind. Pro Takt werden also zwei SIMD-Instruktionen, eine Speicher- und eine Rechenoperation, ausgeführt, wenn einige Anforderungen erfüllt sind:
-
es gibt keine Abhängigkeiten
-
Daten (Operanden) sind verfügbar
-
die adressierte Instruktion an der geraden Adresse ist eine Pipeline-0- (even) Instruktion (= die drei niederwertigsten Adressbits sind 000)
-
die adressierte Instruktion an der ungeraden Adresse ist eine Pipeline-1- (odd) Instruktion (= die drei niederwertigsten Adressbits sind 100)
-
die Instruktionen sind nach Pipeline sortiert: Pipeline 0, dann Pipeline 1