3.3 Verarbeitungseinheiten
161
E
′ = P
′ ∗ t =
E
β
(3.20)
Es ist offenbar energieeffizienter, β Operationen parallel (und jede einzelne relativ langsam) auszuführen, anstatt sie sequentiell (und jede einzelne Operation relativ
schnell) auszuführen. Allerdings enthält unsere Rechnung einige Annahmen und
Näherungen. Auf der einen Seite gibt es Gründe für eine noch größere Energieeinsparung. Wenn es uns gelingt, die Leistung konstant zu halten anstatt sie gemäß
Gleichung (3.19) durch die Parallelausführung zu erhöhen, so würde die Energie
sogar quadratisch abnehmen. Sie würde ebenfalls stärker als linear abnehmen, wenn
– wie dies experimentell beobachtet wurde – die Leistung sogar kubisch von der
Spannung abhängt. Außerdem haben wir ignoriert, dass die Speichergeschwindigkeit häufig der begrenzende Faktor ist. Eine höhere Taktrate kann mithin bedeuten,
dass der Prozessor „mit schnellerem Takt auf den Speicher wartet” und eine geringere
Taktrate also die Ausführung gar nicht um den Faktor β verlangsamt. Auf der anderen
Seite müssen wir β Operationen finden, die wir parallel ausführen können. Insgesamt
können wir festhalten, dass parallele Ausführung ein Mittel zur energieeffizienten
Berechnung ist, unabhängig von der konkreten Hardwarerealisierung.
Hardwarearchitekturen müssen in Bezug auf die Energieeffizienz optimiert werden und wir müssen sicherstellen, dass wir in der Softwareerzeugung keine Effizienz
verlieren.
Es gibt eine große Anzahl von Techniken, mit denen die Energieeffizienz von
Prozessoren gesteigert werden kann. Energieeffizienz sollte dabei auf verschiedenen
Abstraktionsebenen betrachtet werden, vom Entwurf des Befehlssatzes bis hinab zum
Entwurf der eigentlichen Chipfertigung [77]. Taktabschaltung (engl. clock gating)
ist ein Beispiel für eine solche Technik. Die Taktabschaltung wird verwendet, um
aktuell nicht benötigte Teile eines Prozessors vom Takt zu trennen. So werden
beispielsweise Hardwareeinheiten für direkten Speicherzugriff (engl. Direct Memory
Access (DMA)) oder Busbrücken nicht mit Takt versorgt, wenn sie nicht benötigt
werden. Zudem existieren Ansätze, um den größten Teil eines Prozessors komplett
taktlos betreiben zu können. Dabei gibt es zwei gegensätzliche Ansätze: global
asynchrone, aber lokal synchrone Prozessoren (GALS) [263] und global synchrone,
aber lokal asynchrone (GSLA) [117]. Weitere Informationen über stromsparende
Entwurfstechniken finden sich in einem Buch von E. Macii [361] sowie in den
PATMOS-Tagungsbänden (siehe http://www.patmos-conf.org/).
Auf einer vergleichsweise hohen Abstraktionsebene lassen sich mindestens drei
Techniken einsetzen:
• Parallele Ausführung: Aufgrund von Gleichung (3.20) ist die parallele Ausführung ein gutes Mittel, um die Energieeffizienz zu erhöhen.
• Dynamisches Power Management (DPM): Bei dieser Methode verfügen Prozessoren zusätzlich zum normalen Betriebszustand über verschiedene weitere
Energiesparzustände. Jeder dieser Zustände bringt eine unterschiedliche Leistungsaufnahme mit sich und benötigt unterschiedlich viel Zeit, um den Prozessor
wieder in den normalen Betriebszustand zu überführen. Abb. 3.17 zeigt die drei
Zustände des StrongARM SA1100-Prozessors.
161
E
′ = P
′ ∗ t =
E
β
(3.20)
Es ist offenbar energieeffizienter, β Operationen parallel (und jede einzelne relativ langsam) auszuführen, anstatt sie sequentiell (und jede einzelne Operation relativ
schnell) auszuführen. Allerdings enthält unsere Rechnung einige Annahmen und
Näherungen. Auf der einen Seite gibt es Gründe für eine noch größere Energieeinsparung. Wenn es uns gelingt, die Leistung konstant zu halten anstatt sie gemäß
Gleichung (3.19) durch die Parallelausführung zu erhöhen, so würde die Energie
sogar quadratisch abnehmen. Sie würde ebenfalls stärker als linear abnehmen, wenn
– wie dies experimentell beobachtet wurde – die Leistung sogar kubisch von der
Spannung abhängt. Außerdem haben wir ignoriert, dass die Speichergeschwindigkeit häufig der begrenzende Faktor ist. Eine höhere Taktrate kann mithin bedeuten,
dass der Prozessor „mit schnellerem Takt auf den Speicher wartet” und eine geringere
Taktrate also die Ausführung gar nicht um den Faktor β verlangsamt. Auf der anderen
Seite müssen wir β Operationen finden, die wir parallel ausführen können. Insgesamt
können wir festhalten, dass parallele Ausführung ein Mittel zur energieeffizienten
Berechnung ist, unabhängig von der konkreten Hardwarerealisierung.
Hardwarearchitekturen müssen in Bezug auf die Energieeffizienz optimiert werden und wir müssen sicherstellen, dass wir in der Softwareerzeugung keine Effizienz
verlieren.
Es gibt eine große Anzahl von Techniken, mit denen die Energieeffizienz von
Prozessoren gesteigert werden kann. Energieeffizienz sollte dabei auf verschiedenen
Abstraktionsebenen betrachtet werden, vom Entwurf des Befehlssatzes bis hinab zum
Entwurf der eigentlichen Chipfertigung [77]. Taktabschaltung (engl. clock gating)
ist ein Beispiel für eine solche Technik. Die Taktabschaltung wird verwendet, um
aktuell nicht benötigte Teile eines Prozessors vom Takt zu trennen. So werden
beispielsweise Hardwareeinheiten für direkten Speicherzugriff (engl. Direct Memory
Access (DMA)) oder Busbrücken nicht mit Takt versorgt, wenn sie nicht benötigt
werden. Zudem existieren Ansätze, um den größten Teil eines Prozessors komplett
taktlos betreiben zu können. Dabei gibt es zwei gegensätzliche Ansätze: global
asynchrone, aber lokal synchrone Prozessoren (GALS) [263] und global synchrone,
aber lokal asynchrone (GSLA) [117]. Weitere Informationen über stromsparende
Entwurfstechniken finden sich in einem Buch von E. Macii [361] sowie in den
PATMOS-Tagungsbänden (siehe http://www.patmos-conf.org/).
Auf einer vergleichsweise hohen Abstraktionsebene lassen sich mindestens drei
Techniken einsetzen:
• Parallele Ausführung: Aufgrund von Gleichung (3.20) ist die parallele Ausführung ein gutes Mittel, um die Energieeffizienz zu erhöhen.
• Dynamisches Power Management (DPM): Bei dieser Methode verfügen Prozessoren zusätzlich zum normalen Betriebszustand über verschiedene weitere
Energiesparzustände. Jeder dieser Zustände bringt eine unterschiedliche Leistungsaufnahme mit sich und benötigt unterschiedlich viel Zeit, um den Prozessor
wieder in den normalen Betriebszustand zu überführen. Abb. 3.17 zeigt die drei
Zustände des StrongARM SA1100-Prozessors.
