Was ist Energieoptimierung?
Die Leistungsoptimierung ist der Versuch, den Stromverbrauch digitaler Geräte wie integrierter Schaltkreise zu verringern, indem Parameter wie Größe, Leistung und Wärmeabgabe ausgeglichen werden. Dies ist ein sehr kritischer Bereich bei der Entwicklung elektronischer Komponenten, da viele tragbare elektronische Geräte eine hohe Verarbeitungskapazität bei geringem Stromverbrauch erfordern. Die Komponenten müssen komplexe Funktionen erfüllen und dabei möglichst wenig Wärme und Lärm erzeugen, und das alles auf einer sehr kleinen Oberfläche. Die Energieoptimierung ist ein intensiv erforschter Bereich des digitalen Designs und entscheidend für den wirtschaftlichen Erfolg vieler Geräte.
Die Idee, die Leistung im elektronischen Design zu optimieren, begann in den späten 1980er Jahren mit der weit verbreiteten Verwendung von tragbaren Geräten Aufmerksamkeit zu erregen. Die Lebensdauer der Batterie, die Erwärmungseffekte und die Kühlungsanforderungen wurden sowohl aus ökologischen als auch aus ökonomischen Gründen sehr wichtig. Die Bestückung immer komplexer werdender Bauteile mit kleineren Chipgrößen war von entscheidender Bedeutung, um die Produktion kleinerer Bauelemente mit mehr Funktionalität sicherzustellen. Die durch die Einbeziehung so vieler Komponenten erzeugte Wärme wurde jedoch zu einem Hauptproblem. Faktoren wie Geräteleistung und Zuverlässigkeit werden auch von der Hitze beeinflusst.
Um Chips zu skalieren, die Chipgröße zu reduzieren und dennoch eine Spitzenleistung bei akzeptablen Temperaturniveaus zu erzielen, muss Zeit in Energieoptimierungsmethoden investiert werden. Eine manuelle Leistungsoptimierung ist bei vorhandenen Chips wie integrierten Schaltkreisen nicht mehr möglich, da sie Millionen von Komponenten enthalten. In der Regel erzielen Designer eine Energieoptimierung, indem sie die Energieverschwendung begrenzen, die hauptsächlich aus Spekulationen, Architektur- und Programmverschwendung besteht. Alle diese Verfahren versuchen, die Energieverschwendung von der Ebene des Schaltungsentwurfs bis zur Ausführung und Anwendung zu verringern.
Programmverschwendung tritt auf, wenn ein High-End-Mikroprozessor Befehle ausführt, die nicht erforderlich sind. Das Ausführen dieser Befehle ändert den Inhalt des Speichers und der Register nicht. Das Beseitigen von Programmverschwendung bedeutet, die Ausführung toter Anweisungen zu reduzieren und stille Speicher zu beseitigen. Spekulationsverschwendung tritt auf, wenn der Prozessor über nicht aufgelöste Verzweigungen hinaus Befehle abruft und ausführt. Architekturverschwendung entsteht, wenn Strukturen wie Caches, Verzweigungsprädiktoren und Anweisungswarteschlangen zu groß oder zu klein sind.
Meist für große Mengen konzipiert, sind architektonische Strukturen in der Regel nicht voll ausgelastet. Umgekehrt erhöht die Verkleinerung auch den Stromverbrauch aufgrund von Fehlspekulationen. Für eine erfolgreiche Energieoptimierung ist ein Ansatz auf Systemebene erforderlich, bei dem Komponenten ausgewählt werden, die nur sehr wenig Energie verbrauchen. Alle möglichen Kombinationen dieser Komponententypen können in der Entwurfsphase untersucht werden. Das Reduzieren der Menge an Schaltaktivität, die im Stromkreis benötigt wird, stellt auch einen geringeren Stromverbrauch sicher.
Einige der anderen Ansätze, die zur Leistungsoptimierung verwendet werden, umfassen Taktsteuerung, Schlafmodi und ein besseres Logikdesign. Retiming, Pfadausgleich und Statuscodierung sind weitere logische Methoden, die den Stromverbrauch begrenzen können. Einige Mikroprozessorkonstrukteure verwenden auch spezielle Formate, um Entwurfsdateien zu codieren, die stromsparende Steuerfunktionen enthalten.