Stromsparmodi und reduzierte Taktfrequenz
Der AP7000 verfügt über sechs verschiedene Stromsparmodi: Normalbetrieb, Idle- und Frozen-Modus, Standby, Stop- und Static-Modus. Diese Stromsparmodi können vom Software-Entwickler durch Definition entsprechender Zustände in der Applikation genutzt werden.
Multimedia-Algorithmen müssen eine vorgegebene Anzahl von Bildern pro Sekunde bei einer spezifizierten Anzahl von Bildpunkten liefern (z.B. 640 ? 480 bei 30 Bildern/s). Die Prozessoren müssen jede Operation an jedem Pixel eines Bildes durchführen. Es nützt jedoch nichts, mehr Verarbeitungsleistung pro Zeiteinheit als erforderlich zu erbringen. Folglich kann ein Prozessor mit höherem Durchsatz pro Taktzyklus tatsächlich langsamer laufen als andere Prozessoren und die geforderte Funktion trotzdem erfüllen. Dies gilt nicht nur für Multimedia-Algorithmen, sondern gleichermaßen auch für GPS-, Basisband-, Bildstabilisierungs- und andere bildverarbeitende Algorithmen.
Da der AVR32-Kern zwei- bis dreimal so viele Operationen pro Taktzyklus verarbeiten kann wie manch andere 32-bit-Controller, ist er in der Lage, Anwendungen mit einer wesentlich niedrigeren Taktfrequenz auszuführen. Mit nur 100 MHz kann der AVR32-Kern alle Verarbeitungsvorgänge für eine MPEG4-Decodierung mit QVGA-Auflösung durchführen. Andere auf dem Markt erhältliche Prozessoren benötigen für die gleiche Funktion Taktfrequenzen von 150 bis 266 MHz. Dies bedeutet, dass der Prozessor zwischen 1/3 und 2/3 weniger Leistung aufnimmt. Die Verarbeitung ist für mindestens 2/3 der gesamten Leistungsaufnahme eines tragbaren Multimedia-Players verantwortlich. Durch die Möglichkeit, mit einer niedrigeren Taktfrequenz zu arbeiten, in Verbindung mit anderen stromsparenden Funktionen des AP7000, lässt sich die Leistungsaufnahme so weit reduzieren, dass sich die Akkulaufzeit verdoppelt. Es ist sogar denkbar, dass das gesamte System über ein 500-mW-USB-Kabel mit Strom versorgt werden kann (Tabelle 2).
Einheitliche Prozessor-Entwicklungsumgebung
Die Software für den AP7000 wird in einer einzigen, MCU-artigen Entwicklungsumgebung entwickelt und getestet. SIMD- und DSP-fähige Compiler sind von Atmel (GNU GCC) und IAR-Systems (Embedded Workbench) erhältlich. Der IAR-Compiler compiliert automatisch die entsprechenden SIMD-DSP-Anweisungen auf der Basis von Mustern im C/C++-Code. Beide Compiler unterstützen „In-Line-Assembly“-Anweisungen für eine Algorithmus-Optimierung bei engen Schleifen bzw. inneren Schleifen und bieten eine direkte integrierte Unterstützung für SIMD-DSP-Anweisungen in der C/C++-Entwicklungsumgebung. Der AP7000 unterstützt einen Linux-2.6-Kernel für Open-Source-Codes und frei verfügbare Anwendungen.
Der In-Circuit-Emulator AVR JTAG ICE MKII von Atmel gestattet ein Debugging zur Laufzeit und JTAG-Tracing. Ein AP7000-Entwicklungs-Kit (STK1000), bestehend aus einem Einplatinenrechner mit AP7000-Prozessor, LCD-Anzeige, zwei Ethernet-Schnittstellen, USB und Host-Ports, PS2-Ports, UARTs und Anschlüssen für alle On-Chip-Peripheriegeräte auf dem AP7000 steht zur schnellen Entwicklung von Applikationen ebenfalls zur Verfügung (Bild 7).
![]() | Dr. Øyvind Strøm studierte Elektrotechnik an der Universität Delft in den Niederlanden und schloss 1995 mit dem Grad eines M.Sc. ab. Anschließend promovierte er an der Norwegian University of Technology and Science über „Mikroprozessoren für die Ausführung von byteweise compiliertem Java-Code“. |
Hauptschwerpunkt bei der Entwicklung des AVR32-Kerns war es, den Durchsatz soweit zu erhöhen, dass rechenintensive Anwendungen mit relativ niedrigen Taktfrequenzen laufen können, um dadurch den Leistungsverbrauch zu senken. Da die Akkukapazitäten mit den gestiegenen Verarbeitungsanforderungen nicht Schritt halten können, ist dieser Schritt unerlässlich.
Eine weitere Möglichkeit, Strom zu sparen, ist es, so viele Systembausteine wie möglich monolithisch zu integrieren. Atmel hat 2/3 der für ein Multimediasystem benötigten Elemente auf dem AP7000-Prozessor (Bild 4) integriert und damit ein echtes System-on-Chip geschaffen, das prak-tisch alle Peripheriegeräte und Schnittstellen für die Zielapplikationen umfasst.
Der AP7000 umfasst den MCU/CPU-Kern AVR32 von Atmel mit einem Vektormultiplikations-Coprozessor, 32 Kbyte On-Chip-SRAM, 16 Kbyte Befehls- und 16 Kbyte Daten-Cache, MMU (Memory Management Unit) sowie einen mehrkanaligen DMA-Controller. Als Peripheriemodule stehen ein „Bit-Stream-Audio-DAC“, ein TFT/STN-LCD&HDD-Controller, eine „High-Speed“-USB-2.0-Schnittstelle für 480 Mbit/s mit On-Chip-Transceivern (PHY) und zwei 10/100-Mbit/s-Ethernet-MACs zur Verfügung. Außerdem hat der Chip serielle RS-232-, USART-, I2S-, AC97-, TWI/I2C-, SPI-, PS/2-Schnittstellen und verschiedene synchrone serielle Schnittstellen (SSC), die die meis-ten seriellen Kommunikationsprotokolle unterstützen.