Suchen

CPU-Leistungsaufnahme Strom sparende SOC-Architekturen

| Redakteur: Holger Heller

Mit Xenergy stellt Tensilica ein Tool für die konfigurierbaren Xtensa- und Diamond-Standard-Prozessoren zur Verfügung, das es erlaubt deren Energiebedarf einzuschätzen. Auf dieser Basis lassen sich einfacher die richtigen Design-Entscheidungen treffen.

Firmen zum Thema

Chris Rowen von Tensilica stellt mit Xenergy eine Methode zur Einschätzung der Gesamtenergieauswirkungen bei der SOC-Entwicklung vor
Chris Rowen von Tensilica stellt mit Xenergy eine Methode zur Einschätzung der Gesamtenergieauswirkungen bei der SOC-Entwicklung vor
( Archiv: Vogel Business Media )

Durch den Einsatz von Xenergy bereits früh im Entwicklungszyklus eines System-on-Chip-Designs lassen sich laut Tensilica die Energieanforderungen des Prozessors und der lokalen Speicher um bis zur Hälfte senken, indem intelligente Design-Kompromisse geschlossen werden. Xenergy soll bei Entwicklern von tragbaren, batteriebetriebenen Geräten wie Handys und Media-Playern zum Einsatz kommen, doch darüber hinaus auch bei Entwicklern komplexer SOCs für Geräte der Unterhaltungselektronik sowie für Netzwerkgeräte, bei denen sich die Wärmeentwicklung als problematisch erweist.

Chris Rowen, President und CEO von Tensilica, stellte das Tool auf dem Globalpress Summit 2007 im kalifornischen Monterey vor: „Mit Xenergy lassen sich die Gesamtenergieauswirkungen unterschiedlicher Prozessorkonfigurationen und Erweiterungen einschätzen und ein Abgleich des Applikations-Codes auf jedem Prozessor mit seinem Speicher-Subsystem durchführen. Die Leistungsverbesserungen auf Architekturebene sind dabei besser und produktiver als sie auf RTL- und physikalischer Designebene je erzielt werden können.“

Bildergalerie

Die zur vollständigen Durchführung einer Task erforderliche Gesamtenergie (die Leistung, die in dem zur Task-Durchführung benötigten Zeitraum verbraucht wird) lässt sich durch individuelle Anpassung eines Xtensa-Prozessors reduzieren. Die Ergebnisse in der Tabelle zeigen, dass bei identischer Prozesstechnologie eine 2- bis 83-fache Energieverbesserung durch individuelle Prozessoranpassung erzielt werden kann. „Zu diesen Maßnahmen zählen die Erweiterung des Prozessors und das Tuning des C-Codes“, so Rowen, „was jedoch keine Änderung des grundlegenden Softwarealgorithmus, keine Änderungen der Speichergrößen sowie auch nicht den Einsatz von Assembler-Code voraussetzt.“

Zyklusweise Einschätzung des Energieverbrauchs

Das Tool schätzt den Leistungsverbrauch pro Zyklus für jeden unterschiedlichen Befehl eines konfigurierbaren Xtensa-Prozessors oder eines Diamond-Standard-Prozessors. Für jede anwenderdefinierte Xtensa-Befehlserweiterung, die über die eigene TIE-Sprache (Tensilica Instruction Extension) geschaffen wurde, legt Xenergy eine Energieeinschätzung für den neu geschaffenen Befehl vor, einschließlich einer Modellierung des Energieverbrauchs sämtlicher lokal beigefügter Speicher, die für einen gegebenen Befehl aktiv sind.

Danach wird mithilfe des Befehlsprofils, das durch den Pipeline-genauen Befehlssatzsimulator erzeugt wird, ein detailliertes Energieverbrauchsprofil für den spezifischen Applikations-Code des Anwenders erstellt. Xenergy wird während des Konfiguriervorgangs eines Xtensa-Prozessors eingesetzt. Die Auswirkungen auf den Gesamtenergieverbrauch lassen sich sofort feststellen, wenn Konfigurationsoptionen (Multiplizierer, DSPs, Fließkommaeinheit etc.) sowie entwicklerspezifische Befehle hinzugefügt werden.

Ein Fokus auf den Gesamtenergieverbrauch ist entscheidend. „Allzu häufig konzentrieren sich Entwickler auf eine statische mW/MHz-Leistungszahl, ignorieren dabei jedoch den Gesamtenergieverbrauch der Arbeitslast“, so Rowen, „z.B. könnte ein Designer einen Prozessor um einen Satz kundenspezifischer Befehle ergänzen, welche die Gesamtgröße eines Prozessor-Cores erhöhen, was die durchschnittliche Leistung pro Taktzyklus steigert (und die mW/MHz erhöht). Wenn jedoch dieser hinzugefügte kundenspezifische Befehlssatz die Gesamtzahl von zur Durchführung einer gegebenen funktionalen Arbeitslast benötigten Gesamtzyklen dramatisch verringert (eine Target-C-Code-Applikation), dann lässt sich die verbrauchte Gesamtenergie (Leistung pro Zyklus multipliziert mit der Gesamtzykluszeit) reduzieren.“

Zur Verdeutlichung: Eine Erhöhung der Leistung pro Takt von 20% wird durch eine 3-fache Beschleunigung in der Befehlsausführung aufgewogen. Der Leistungsverbrauch mW/MHz steigt um 20%, doch der Gesamtenergieverbrauch wird in Wirklichkeit um 60% gesenkt. Die Verringerung der erforderlichen Ausführungszyklen erlaubt es dem System entweder, wesentlich mehr Zeit in einem stromsparenden Sleep-Modus zu verbringen, oder Frequenz und Spannung zu verringern, was zu einer Reduzierung sowohl der dynamischen als auch der Verlustleistung führt.

Speicher-Leistungsaufnahme wird mit berücksichtigt

Das Einbinden des Speicher-Leistungsverbrauchs ist ein weiterer Aspekt des Xenergy-Tools. Rowen dazu: „Man stelle sich ein Szenario vor, bei dem anwenderdefinierte Prozessorerweiterungen dazu verwendet werden, kundenspezifische Zustandsregister und Registerdateien in einem Xtensa-Prozessor-Core zu erzeugen – nicht um die Ausführungsleistung spürbar zu verbessern, sondern um stattdessen zu versuchen, die Zugriffe auf den lokalen Speicher beträchtlich zu vermindern und damit den Gesamtenergieverbrauch zu senken. Das Xenergy-Programm weist auf diese Energieabsenkung hin und macht es dem Entwickler dadurch leicht, Platzbedarf, Performance und Leistungskompromisse bereits früh im Konfigurationsprozess des Prozessors zu gewichten.“

Xenergy ist auch zur Software-Optimierung geeignet, selbst bei fertiggestellten Chips, bei denen sich der Prozessor nicht ändern lässt. Bislang gleichen Softwareentwickler ihren Code auf Performance oder Code-Größe unter Verwendung der Standard-Profiling-Tools von Tensilica ab. Nun können sie mithilfe von Xenergy ihren C-Code zur Reduzierung des Energieverlusts durch den Prozessor und seine Speicher feinabgleichen. Die durch das Tool gebotene Rückmeldung dient somit als Entscheidungsgrundlage, die Zuordnung von Datenstrukturen in lokalen und Hauptspeichern neu zu strukturieren, um Speicher- und Buszugriffe zu verringern, was die Gesamtenergieausgaben vermindert.

Das Xenergy-Tool ist als Teil der Lizenz für das Softwareentwicklungskit von Tensilica erhältlich, das sämtliche Tools zur Softwareentwicklung, den Befehlssatzsimulator sowie die Entwicklungsumgebung Xensa Xplorer enthält. Für Anwender der Diamond-Standard-Prozessorfamilie beginnen die Preise für das Kit bei 1000 US-$ pro Seat pro Jahr für eine Node-Locked-Lizenz. Für Anwender von Xtensxa-Prozessoren beginnen die Preise bei 2000 US-$ pro Seat pro Jahr für einen Floating Node Tool Seat.

(ID:202916)