5.4 Modelle des Energieverbrauchs und der Leistungsaufnahme
287
5.4.4 Energiemodell für Prozessoreinheiten
Das Energieermittlungswerkzeug Wattch [70] ermittelt Schätzungen für den Energieverbrauch von Mikroprozessorsystemen auf Architekturebene, ohne detaillierte
Kenntnisse über die Schaltungs- oder Layoutebene zu benötigen. Wattch benutzt den
Simulator SimpleScalar, um Prozessoren zu simulieren. SimpleScalar kann so konfiguriert werden, dass der jeweils benutzte Prozessor so genau wie möglich abgebildet
wird. Die Anzahl der Fließbandstufen und die funktionellen Einheiten werden typischerweise korrekt modelliert, i. Ggs. zu mehr spezialisierten Eigenschaften. Wattch
basiert auf der detaillierten Information des Energieverbrauchs der verschiedenen
funktionellen Einheiten, die man im Mikroprozessor findet. Während der Ausführung merkt sich SimpleScalar, welche funktionellen Einheiten benutzt werden und
berechnet daraus den Gesamt-Energieverbrauch.
Wattch benötigt wesentlich mehr Informationen über die Prozessorarchitektur
als Tiwaris Model auf Befehlssatzebene. Beispielsweise enthält Wattch ein eigenes
detailliertes Modell des Energieverbrauchs in Speichern. Auch wird der Takt explizit
berücksichtigt, einschließlich bedingter Taktung, soweit diese eingesetzt wird. In der
ursprünglichen Publikation [70] gibt es Angaben zur Überprüfung des Modells
anhand von drei verschiedenen Prozessoren.
5.4.5 Energiemodell für Prozessor und Speicher
Als nächstes betrachten wir ein Energiemodell [511], welches hinsichtlich der Detaillierung der Komponenten zwischen dem von Tiwari und Wattch liegt und somit
einen Kompromiss zwischen beiden darstellt. In diesem Modell betrachten wir die
Summe des Energieverbrauchs in der CPU und im Speicher, jeweils aufgeteilt in den
Einfluss der Befehle und der Daten:
E tot al = E cpu_instr + E cpu_dat a + E mem_instr + E mem_dat a
(5.35)
Jeder der vier Terme wird aus detaillierten Gleichungen berechnet. Die folgende
Notation wird in diesen Gleichungen benutzt: m ist die Anzahl der betrachteten Befehle, die Funktion w(b) liefert die Anzahl von Einsen in ihrem Argument (entweder
Befehl oder Datum), die Funktion h(b 1 , b 2 ) liefert den Hamming-Abstand zwischen
den beiden Argumenten, dir bezeichnet die Richtung eines Datentransfers und α i sowie β i (i ∈ {1..10}) sind Konstanten, die aus der Optimierung der Modellparameter
resultieren. Damit berechnen wir E cpu_dat a wie folgt:
E cpu_dat a =
m
i=1
{α 5 ∗ w(DAddr i ) + β 5 ∗ h(DAddr i−1 , DAddr i )
+α 6,dir ∗ w(Data i ) + β 6,dir ∗ h(Data i−1 , Data i )}
(5.36)
Précédent

- 306/485

Suivant