Die derzeit im Hardware- und Software-Design zur Abschätzung der Verlustleistung von Prozessoren eingesetzten Methoden auf Register-Transfer-Ebene oder Gatterebene sind sehr zeit- und arbeitsaufwendig. Gute Alternativen bieten daher Abschätzungsverfahren auf einer höheren Abstraktionsebene, so auch die instruktionsbasierte Abschätzung. Doch ist bei diesen Verfahren der noch zu optimierende Faktor die Genauigkeit. Die bisherigen Ansätze bilden die Verlustleistungsänderungen durch Pipeline-Hazards nicht im vollen Umfang ab oder vernachlässigen sie ganz. Hierdurch ist einerseits eine taktgenaue Abschätzung, die vor allem zur Hardware-Optimierung benötigt wird, nicht möglich und andererseits wird auch bei der Abschätzung der Verlustleistung für Programmabschnitte, wie sie von Software-Entwicklern benötigt wird, ein vermeidbarer Fehler in Kauf genommen. In dieser Arbeit wird eine neue Methodik vorgestellt, um alle gängigen von Pipelining verursachten Veränderungen der Verlustleistung zu erfassen und diese in eine Berechnung für eine abgewandelte instruktionsbasierte Verlustleistungsabschätzung einzubeziehen. Es werden die Pipeline-Strukturen von Prozessoren und ihr Einfluss auf die Verlustleistung untersucht, mit besonderer Berücksichtigung der verschiedenen Pipeline-Hazards. Daraus ergibt sich ein allgemein gültiges Modell sowohl für die Betrachtung der Verlustleistung von unterschiedlichen Pipeline-Strukturen als auch für Verlustleistungsoptimierungen von Pipelines in Prozessoren. Die dafür notwendige Charakterisierung des Prozessors erfolgt durch Methoden, die im vom Bundesministerium für Bildung und Forschung geförderten Projekt LEMOS (Low-Power - Entwurfsmethoden für mobile Systeme) zusammen mit der Infineon Technologies AG entwickelt wurden. In dieser Arbeit werden Strategien vorgeschlagen, um ein an die entsprechende Aufgabe angepasstes Optimum zwischen Genauigkeit und Geschwindigkeit bei der Abschätzung zu erreichen. Hierzu werden in drei Fallbeispielen mit Soft-Core Prozessoren verschiedene Aspekte dieser neuen Methode den Standardverfahren gegenübergestellt und verglichen. Die in dieser Arbeit vorgestellte Methode zeigt dabei deutlich genauere Ergebnisse -- bei nur minimal höherem Rechen- und Modellierungsaufwand.
«Die derzeit im Hardware- und Software-Design zur Abschätzung der Verlustleistung von Prozessoren eingesetzten Methoden auf Register-Transfer-Ebene oder Gatterebene sind sehr zeit- und arbeitsaufwendig. Gute Alternativen bieten daher Abschätzungsverfahren auf einer höheren Abstraktionsebene, so auch die instruktionsbasierte Abschätzung. Doch ist bei diesen Verfahren der noch zu optimierende Faktor die Genauigkeit. Die bisherigen Ansätze bilden die Verlustleistungsänderungen durch Pipeline-Hazards...
»