- AVR32
-
AVR32 ist eine proprietäre Prozessorarchitektur des US-amerikanischen Herstellers Atmel. Es handelt sich um eine 32-bit-RISC-Architektur mit DSP- und SIMD-Funktionalität sowie integrierter MMU.
Die AVR32-Architektur ist ähnlich wie Atmels 8-bit-RISC-Architektur AVR eine sehr moderne Architektur, die in ihrer Klasse die geringste Leistungsaufnahme in Bezug auf die Rechnenleistung bietet. Im Gegensatz zu den 8-Bit-AVR-Prozessoren bietet die AVR32-Architektur einen gemeinsamen Adressraum von Programm- und Datenspeicher, hat also keine Harvard-Architektur. Die Geschwindigkeitsnachteile der klassischen von-Neumann-Architektur werden dadurch vermieden, dass kein gemeinsamer Daten- und Adressbuss verwendet wird, der zum Flaschenhals werden kann, sondern ein Koppelfeld, über den mehrere Einheiten gleichzeitig Daten übertragen können.
Architektur
Die Atmel-32-Bit-MCU-/DSP-RISC-Architektur zeichnet sich insbesondere durch hohen Durchsatz bei niedriger Leistungsaufnahme aus, was bei tragbaren, batteriebetriebenen Systemen zwingende Voraussetzung für Entwickler und Anwender ist.
Als erstes wurde der Mikroprozessor AT32AP7000 sowie weitere AP700x-Derivate vorgestellt, die mit maximal 150 MHz betrieben werden können. Die AP7000-Derivate besitzen nur noch einige wenige 10 KByte an internen SRAM-Speicher und sie benötigen externen Speicher, der den Programmcode bereit hält. Sie verfügen zu diesem Zweck über eine umfangreiche externe Speicherschnittstelle, die auch den Anschluss von NAND-Flash, SDRAMs und sogar Speicherkarten direkt erlaubt.
Außerdem wurde 2007 die AVR32-UC3-Produktfamilie vorgestellt, die sich von der AP7000-Familie insbesondere durch den internen Programmspeicher (Flash) unterscheidet. Es gibt Varianten mit internem Ethernet Controller sowie mit USB-Controllern. Sie verfügen über bis zu 512 KB internem Flash sowie bis zu 64 KB internem Arbeitsspeicher. Ihre maximale Taktfrequenz liegt bei 60 bis 66 Mhz.
Die Entwickler des AVR32-RISC-Prozessors achteten darauf, mehr Daten mit weniger Taktzyklen zu verarbeiten und somit die gesamte Stromaufnahme zu optimieren und zu reduzieren. JTAG-Debug-Schnittstelle und OCD-System (On-Chip-Debug-System) bilden ein effizientes System zur Programmierung und Fehlersuche. Daten- und Befehlscache beschleunigen zusätzlich das System. Die MMU gestattet die Portierung eines Betriebssystems, wie z. B. NetBSD / Embedded Linux / Embedded Real-Time Linux. Ein „Tightly coupled Bus“ bildet eine schnelle Anbindung an den Pixel-Koprozessor. Der Kern des AVR32 erreicht einen höheren Datendurchsatz, indem er nicht-produktive Prozessortakte möglichst vermeidet.
Mit der Verfügbarkeit des AT32AP7000, welcher als „Vollausbau“ bezeichnet werden kann, ist es möglich, sämtliche Ausbaustufen dieser Familie zu entwickeln und zu evaluieren.
AVR32 und Linux
Ab Kernelversion 2.6.19 unterstützt der Linuxkernel erstmals Atmels AVR32-Architektur direkt. Atmel hat die gcc 4.x als primäre Open-Source-Werkzeugkette unter Linux an die AVR32-Architektur angepasst.
In Kooperation mit Atmel Norwegen und der Berliner Firma ExactCODE GmbH wurde Anfang 2007 das freie T2-SDE-Linux-Projekt als Embedded Linux an AVR32 als Referenz-Implementierung adaptiert und ist inkl. Produktunterstützung verfügbar. Die AVR32-STK1000-Starter-Kit-Referenz-Implementierung mit laufendem T2-SDE-Linux wurde der Öffentlichkeit erstmals in Hannover auf der CeBIT 2007 vorgestellt.
Weblinks
- ATMEL AVR32-Architektur-Produktseite (englisch)
- NGW100 First Steps (deutsch)
- The AVR32 Linux project mit u.a. Link zur freien GNU AVR32 Entwicklungswerkzeugkette, englisch
- T2 SDE AVR32 Linux Reference Implementierung inkl. AVR32 starter-kit STK1000 Open Source, englisch
Wikimedia Foundation.