SOC-Design mit konfigurierbaren CPUs Verlustleistung, Stromaufnahme und Kosten von SOC-Lösungen senken
Steigende Taktraten verursachen auch eine höhere dynamische Verlustleistung und Stromaufnahme, die in heutigen SOC-Lösungen zu einer nicht hinnehmbaren Wärmebildung und Energieaufnahme führt. Um die Taktraten herunterzuschrauben, muss der inhärente Parallelismus der Bausteinarchitektur ausgenutzt werden. Konfigurierbare Prozessoren helfen dabei.
Anbieter zum Thema
Die Weiterentwicklung von System-on-Chip-(SOC-)Lösungen wird heute durch die höhere Wärmebildung und Stromaufnahme bei steigenden Taktraten gehemmt. Eine Möglichkeit, diesen Trend umzudrehen, ist die Ausnutzung des inhärenten Parallelismus, der hohe Taktraten herunterschraubt. Programmierbare, konfigurierbare Mikroprozessor-Cores spielen bei der parallelen Datenverarbeitung eine wichtige Rolle. Auf herkömmliche Weise (mit festen ISA-/Befehlssatzarchitektur-Prozessoren) kann dies nicht erreicht werden. Die dynamische Leistungsaufnahme und der Energieverbrauch steigen mit der Taktfrequenz nach der Formel: Pdyn = ½ CU²f. Darin ist C die gesamte geschaltete Kapazität aller Knoten auf dem Chip, U die Core-Betriebsspannung und f die Taktfrequenz.
Die dynamische Leistungsaufnahme ist direkt proportional zur Taktfrequenz – SOCs müssen aber bei höheren Core-Spannungen betrieben werden, um die höchstmöglichen Taktfrequenzen zu erzielen. Dies bringt wiederum U² mit ins Spiel, was zu einer superlinearen Beziehung zwischen dynamischer Leistungsaufnahme und Betriebsfrequenz führt. Die Batterielebensdauer ist umgekehrt proportional zum Leistungsverbrauch. SOCs, die eine hohe Leistung aufnehmen, führen zu Produkten mit kurzen Betriebs- bzw. Sprechzeiten und inakzeptablen Standby-Zeiten. Dann sind größere und teurere Batterien und Stromversorgungen erforderlich, die viel Energie verbrauchen, um SOCs zu versorgen, die dementsprechend viel Leistung benötigen.
Kleinere Taktrate – weniger Leistungsaufnahme
Energieeinsparungen finden grundsätzlich auf Systemebene statt. Der Schlüssel für solche Einsparungen in digitalen Systemen ist eine geringere Taktrate. Niedrigere Taktraten verringern sofort die dynamische Leistungsaufnahme und den Bedarf an fortschrittlichen IC-Prozessen. Damit kehrt sich der gegenwärtige Aufwärtstrend bei der statischen Energieaufnahme um. Eine Möglichkeit, Taktraten zu reduzieren ist eine höhere Parallelität bei der Ausführung. Hardwareentwickler nutzen von Grund auf Parallelismus — Mikroprozessor-basierte Designs arbeiten aber genau umgekehrt. Um den Hardwareaufwand zu verringern, nutzen MPU-basierte Systeme Multitasking-Betriebssysteme, die es dem Prozessor erlauben, verschiedene Tasks parallel auszuführen.
Die Taktrate des Prozessors wird somit die zusammengefügte Taktrate, die nötig ist, um alle diese Tasks auszuführen. Als die Stromaufnahme noch kein Problem war, MPUs in einzelnen Gehäusen verfügbar waren und Tasks noch einfach gehalten wurden, machte es Sinn, die Hardwarekosten durch Multitasking zu verringern. Prozessoren in 90- und 65-nm-SOCs verbrauchen aber weniger als 1 mm² Siliziumfläche. Um hohe Taktraten und einen unnötigen Energieverbrauch zu vermeiden, macht es heute Sinn, mehr Prozessoren mit niedrigerer Taktrate zu verwenden (weniger Multitasking). Es macht auch Sinn, jeden Prozessor für seine zugewiesene Aufgabe maßzuschneidern. Dazu dient die in konfigurierbaren Prozessoren vorhandene ISA-Erweiterung. Diese Anpassung macht jeden On-Chip-Prozessor bei der Ausführung bestimmter Algorithmen effizienter. Eine höhere Effizienz erlaubt es dem Prozessor, den Algorithmus in der gleichen Zeit aber mit weniger Befehlen auszuführen.

Die Fast-Fourier-Transformation (FFT) dient als Beispiel für einen Algorithmus, der sich durch ISA-Anpassung erheblich beschleunigen lässt. Die FFT zerlegt Sig-nale in ihre einzelnen Frequenzbestandteile und kommt in Kommunikationsanwendungen zum Einsatz. Der 802.11g Wireless PHY wickelt z.B. 64-Punkt-/Radix-4-Frequenzdezimierungs-FFTs ab, die alle 3,2 µs ausgeführt werden. Radix-4-FFTs werden meist mit Schmetterlingsblöcken in Hardware implementiert (Schmetterling ist die grundlegende FFT-Operation). Dies erfordert zwölf 16 × 16-Bit-Multiplizierer und mehr als 20 16-Bit-Addierer. Eine FFT in Software zu implementieren ist eher ungewöhnlich (Tabelle 1), da hohe Taktraten erforderlich wären. Mit direktem C-Code benötigt ein 32-Bit-RISC-Prozessor (ohne Hardware-Multiplizierer) 32.187 Zyklen zur Ausführung des FFT-Algorithmus. Um eine dieser FFTs alle 3,2 µs auszuführen, müsste der Prozessor mit 10 GHz getaktet werden. Dies wäre selbst für jeden Prozessor eine eindeutig nicht erfüllbare Taktrate, geschweige denn für einen synthetisierten SOC.
ISA-Anpassung: Gleiche Zeitdauer – weniger Befehle
Tabelle 1 zeigt das Ergebnis der zunehmenden ISA-Anpassung bei der FFT. Das Hinzufügen eines 32-Bit-Multiplizierers zum RISC-Prozessor verringert die erforderliche Taktrate auf 1,6 GHz, was zwar als besser erscheint, aber immer noch außerhalb der Reichweite synthetisierbarer Prozessoren liegt. Eine superskalare CPU, die gleichzeitig mehrere RISC-Befehle ausgeben kann und das Hinzufügen eines Hardware-Multiplizierers verringert die Taktrate nur auf 930 MHz, was an der Grenze des Machbaren für einen synthetisierbaren Prozessor liegt. Das Hinzufügen eines Radix-4-Schmetterlings-Befehls verringert die Taktrate allerdings auf 46 MHz (um das 217-Fache) und die Stromaufnahme um das 62-Fache.
Fast jeder Algorithmus lässt sich ähnlich adressieren. So entwickelte Tensilica den Diamond 330HiFi Audio Engine Prozessor-Core, der eine Vielzahl digitaler Audio-Codecs bei niedrigen Taktfrequenzen bearbeiten kann – und das über eine Erweiterung der eigenen Xtensa-RISC-Prozessor-Core-ISA um etwa 300 neue Befehle. Als Ergebnis erfordern viele der digitalen Audio-Codecs nur noch wenige MHz Prozessorbandbreite, was die Stromaufnahme zur Ausführung dieser Codec-Algorithmen erheblich verringert.
Die Firmware-Programmierbarkeit der Audio Engine erlaubt die Bearbeitung verschiedener Codecs. Mit so einem Audio-Prozessor lassen sich Produkte entwickeln, die Musik in verschiedenartig codierten Formaten mit einer Batterieladung über 100 Stunden wiedergeben können. Kunden schätzen dies und sind auch bereit, für solche Produkte mehr zu zahlen. Die Programmierbarkeit und die geringe Stromaufnahme, die diese konfigurierbaren Prozessoren bieten, ermöglichen also Strom sparende Produkte für verschiedenste Märkte.
*Steve Leibson ist Technology Evangelist bei Tensilica, Santa Clara, Kalifornien.
(ID:261913)