286
5 Bewertung und Validierung
berechnet daraus Zugriffszeiten, Zykluszeiten, Fläche, Leckströme und die dynamische Leistungsaufnahme. CACTI wurde anhand von Speichermodellen auf einer
detaillierteren Ebene überprüft. Hierfür wurden SPICE-Modelle benutzt [519]. Gegenwärtig (d.h. im Jahr 2020) ist die jüngste Version von CACTI (Version 6.5)
erhältlich von http://www.hpl.hp.com/research/cacti/5. Die letzten Erweiterungen
betreffen die Modellierung von Leitungen in Chips, von kontextabhängigen Speicherzugriffen, von Leitungstreibern und von Leitungsempfängern. Darüber hinaus
können Architektur- wie auch technologische Parameter spezifiziert werden.
5.4.3 Energiemodell für Maschinenbefehle
Eines der ersten Energiemodelle für Maschinenbefehle stammt von Tiwari [543].
Dieses Modell unterscheidet zwischen Basiskosten von Maschinenbefehlen und Kosten, die durch den Wechsel von einem Befehl zum nächsten entstehen. Basiskosten
modellieren die Energie, die pro Ausführung eines Maschinenbefehls verbraucht
wird, wenn eine unendliche Folge von diesen Befehlen ausgeführt wird. Basiskosten
können in der Praxis bestimmt werden, indem eine große Anzahl von identischen Befehlen nacheinander ausgeführt werden und anschließend ein Sprung zurück an den
Anfang erfolgt. Die Anzahl muss so groß sein, dass der Effekt des Sprungs vernachlässigt werden kann. Dabei müssen die Programme so konzipiert sein, dass keine
Wartezyklen (z.B. auf den Speicher) auftreten. Dazu müssen ggf. NOOP-Befehle
eingefügt werden, deren Effekt später wieder herausgerechnet wird.
Die Kosten des Wechsels zwischen verschiedenen Befehlen modellieren zusätzliche Energie, die beispielsweise dafür benötigt wird, funktionelle Einheiten an- und
abzuschalten. Diese Kosten berücksichtigen den Einfluss des Anfangszustandes auf
den Gesamtenergieverbrauch eines Befehls. Sie können berechnet werden, indem
Programme mit alternierenden Maschinenbefehlen ausgeführt werden.
Basiskosten und Kosten für Befehlswechsel werden für Programme berechnet,
die keine Cachefehler erzeugen. Der Effekt von Cachefehlern muss hinzu gerechnet
werden, indem die Cachefehlerrate und die Energie für Speicherzugriffe einbezogen
werden. Dabei kann die Energie für Speicherzugriffe bei nicht-homogenem Speicher
von den jeweils benutzten Adressen abhängen. Bei Tiwari werden diese Adressen
nicht statisch vorhergesagt. Somit kann die Energie für Speicherzugriffe bei nichthomogenem Speicher nur durch eine Ausführung des Programms bestimmt werden.
Das Modell von Tiwari wurde u.a. auf zwei reale Systeme angewendet, nämlich
einen Intel 486 DX2- und einen Fujitsu SPARClite 934-Prozessor. Messungen an
den realen Systemen wurden benutzt, um das Modell zu kalibrieren.
5 Der Zugriff über diese Adresse wird empfohlen, da es auch andere Werkzeuge mit demselben
Namen gibt. Derzeit steht eine anpassbare C++-Version zur Verfügung, ein Webinterface existiert
i. Ggs. zu früheren Jahren nicht mehr.
Précédent

- 305/485

Suivant