AVR32 Tervező Atmel Bitek száma 32 bites Verzió Rev 2 Bevezetve 2006 Architektúra típus RISC Kódolás változó (16 és 32 bites utasítások) Bájtsorrend big-endiancsökkenő helyiértékű bájtsorrend Utasításkészlet kiterjesztések Java virtuális gép Regiszterek Általános célú 15max. 15 általános célú 32 bites regiszter

Az AVR32 egy 32 bites RISC mikroprocesszor-architektúra, az Atmel cég tervezésében. Az architektúra vezető tervezője Øyvind Strøm (PhD), a CPU felépítés tervezője Erik Renno (M.Sc) volt, az Atmel trondheimi tervezőközpontjában. Az Atmel 2006 februárjában jelentette be, azzal, hogy az első példányokat az év tavaszán kezdik szállítani.

A processzor legtöbb utasítását egyetlen ciklus alatt hajtja végre. A szorzó-összeadó egység egy 32 bites * 16 bites + 48 bites számtani műveletet két ciklus alatt hajt végre (az eredmény latenciája miatt), ciklusonként egy utasításos kibocsátási rátával.

Ez az architektúra semmiben sem hasonlít az Atmel 8 bites AVR architektúrájára, csak a forrásuk, az Atmel trondheimi tervezőközpontja a közös vonás, és néhány kompatibilis hibakereső eszköz. Felépítés Az AVR32 architektúra több mikroarchitektúrából áll, ezek közül a legjelentősebbek az AVR32A és AVR32B architektúrák, amelyek leírják az utasításkészlet-architektúra rögzített bővítéseit, a regisztertömb konfigurációit és az utasítás- és adat-gyorsítótárak használatát. Az AVR32A mikroarchitektúra a költségérzékeny alkalmazásokat célozza, így hiányoznak belőle a megszakítási kontextust leíró regisztertár-regiszterek, állapotregiszterek és visszatérési címek háttérben való tárolására szolgáló dedikált hardverregiszterek (árnyék-regiszterek). Ezáltal csökkenthető a lapkafelület, viszont lassul a megszakításkezelés. Az AVR32B ezzel szemben azokat az alkalmazásokat célozza, amelyekben fontos az alacsony megszakításkésleltetés, és ebben dedikált regiszterek vannak kialakítva a fenti értékek tárolására a megszakítások, kivételek és felügyelői hívások alatt.

Az AVR32 architektúra támogatja a Java virtuális gép hardveres megvalósítását.

Az AVR32 utasításkészlet-architektúra (ISA) 16 bites (kompakt) és 32 bites (kiterjesztett) utasításokból áll, és sok olyan specializált utasítást is tartalmaz, amely más architektúrákban, pl. a MIPS32, ARMv5 vagy ARMv6 ISA-ban, nem található. Az AVR32 ISA-t és tervezési platformot számos szabadalom védi az Egyesült Államokban.

Az AVR 8 bites mikrovezérlő architektúrához hasonlóan, az AVR32-t is a rendkívül nagy kódsűrűség és hatékony órajelciklusonkénti teljesítmény elérésére tervezték. Az Atmel egy független konzorciumot kért fel az architektúra teljesítményének minősítésére (EEMBC). Ennek során az AVR32 állítólag különböző programfordítók használatával teljesítményében következetesen felülmúlta mind az ARMv5 16 bites (Thumb) kód, mind az ARMv5 32 bites (ARM) kód értékeit, a kódméret 50%-kal kisebb, a teljesítménye pedig háromszorosan nagyobb volt. Egy másik forrás szerint az AVR32 kódja 5%-20%-kal kevesebb helyet foglal, mint az ugyanazon funkcionalitású ARM Thumb kód, a nagysebességű végrehajtásra optimalizált változatokban ez akár 20%–50% is lehet (ennyivel kisebb helyet foglal az AVR32 kód). Teljesítménye ezekben a tesztekben 10-től 35%-ig terjedő mértékben nagyobb, mint az ARM11 magé (Freescale i.MX21 és i.MX31 processzorokkal összehasonlítva).

Az Atmel állítása szerint a „picoPower” AVR32 AT32UC3L fogyasztása kevesebb, mint 0,48 mW/MHz aktív módban, ami szerinte a legalacsonyabb az összes 32 bites CPU között.Atmel press release : "Atmel Introduces AVR32 Microcontroller which Lowers Industry's Best Power Consumption by 63%; picoPower AVR32 AT32UC3L Microcontroller offers less than 0.48 mW/MHz Active and below 100 nA Sleep Mode"

Implementációk bélyegkép|right|AVR32 (AP7000) mikroprocesszor Az AVR32 architektúrát kizárólag az Atmel saját termékeiben használják. Az Atmel 2006-ban bocsátotta ki az AVR32 architektúra első megvalósítását: az AVR32 AP7 magot, amely 7 fokozatú futószalaggal rendelkező, gyorsítótár-alapú tervezési platform. Ez az AVR32B architektúra „AP7000” jelű implementációja támogatja az architektúra SIMD (egyetlen művelet, több adat) DSP (digitális jelfeldolgozást támogató) utasítás-kiterjesztéseit a RISC utasításkészlethez, valamint a Java hardveres gyorsítását (Java bájtkód végrehajtását). Tartalmaz memóriavezérlő egységet (MMU), támogatja a Linuxot és a hasonló operációs rendszereket. 2009 elején a beharangozott következő processzor, az AP7200, mégsem jelent meg, és ennek erőforrásait más chipekbe csoportosították át.

2007-ben az Atmel kibocsátotta az AVR32 architektúra második implementációját, az AVR32 UC3 magot. Ezt mikrovezérlőkben történő felhasználásra tervezték, lapkára integrált flash memóriát alkalmaz a programtárolásra és MMU nélkül működik. Az AVR32 UC3 mag háromfokozatú futószalagos Harvard architektúrát alkalmaz, amelyet speciálisan a lapkára integrált flashmemóriából történő utasításlehívásra optimizáltak. Az AVR32 UC3 mag az AVR32A architektúrát valósítja meg. Ez ugyanazt az utasításkészlet-architektúrát (ISA) tartalmazza, mint az AP7, csak ebből hiányoznak az opcionális SIMD utasítások és a Java támogatás; ennek ellenére több mint 220 közös utasítása van az elődjével. Az ISA jellemzői az atomi bitkezelő utasítások a lapkára integrált perifériák és általános célú be-/kimenet vezérléséhez, valamint a fixpontos DSP aritmetika.

Mindkét megvalósításban ugyanazokat a perifériavezérlőket és sínkialakítást alkalmazzák, amelyek először az AT91SAM ARM-alapú platformban jelentek meg. Az AP7000-ben megjelent néhány új periféria, mint például a nagysebességű USB perifériavezérlő, és önálló DMA vezérlő, amik később a továbbfejlesztett ARM9 platformokban, majd az ARM Cortex-M3 alapú termékekben is megjelentek.

Mindkét AVR32 megvalósítás tartalmaz egy Nexus class 2+ alapú chipen belüli debug-keretrendszert JTAG-gal.

A müncheni Electronica 2010 rendezvényen, 2010. november 10-én bejelentett UC3 C az első lebegőpontos egységet tartalmazó 32 bites AVR mikrovezérlő.

Eszközök AP7 mag 2012. április 10-én az Atmel bejelentette, hogy az AP7 magos eszközök életciklusa 2013. április 4-ével véget ér.http://www.atmel.com/About/Quality/obsolescence/obsolete_items.aspx?searchText=ap7 AT32AP7000 AT32AP7001 AT32AP7002

UC3 mag UC3A0/1 Series - 91 Dhrystone MIPS (DMIPS) teljesítményű eszközök 66 MHz-en (1 flash várakozási állapot), fogyasztásuk 40 mA 66 MHz-en, 3,3 V-on AT32UC3A0512AU AT32UC3A0512 AT32UC3A0256 AT32UC3A0128 AT32UC3A1512 AT32UC3A1256 AT32UC3A1128 UC3A3/4 Series - 91 Dhrystone MIPS (DMIPS) teljesítményű eszközök 66 MHz-en, fogyasztásuk 40 mA 66 MHz-en, 3,3 V-on AT32UC3A3256AU AT32UC3A3256 AT32UC3A3128 AT32UC3A364 AT32UCA4256 AT32UC3A4128 AT32UC3A464 UC3B0/1 Series - 72 Dhrystone MIPS (DMIPS) teljesítményű eszközök 60 MHz-en, fogyasztásuk 23 mA @66 MHz-en, 3,3 V-on AT32UC3B0256 AT32UC3B0128 AT32UC3B064 AT32UC3B1256 AT32UC3B1128 UC3C0/1/2 Series - 91 Dhrystone MIPS (DMIPS) teljesítményű eszközök 66 MHz-en, fogyasztásuk 40 mA 66 MHz-en, 3,3 V-on AT32UC3C0512CAU AT32UC3C0512C AT32UC3C0256C AT32UC3C0128C AT32UC3C064C AT32UC3C1512C AT32UC3C1256C AT32UC3C1128C AT32UC3C164C AT32UC3C2512C AT32UC3C2256C AT32UC3C2128C AT32UC3C264C UC3L Series - 64 Dhrystone MIPS (DMIPS) teljesítményű eszközök 50 MHz-en, fogyasztásuk 15 mA 50 MHz-en, 1,8 V-on AT32UC3L064 AT32UC3L032 AT32UC3L016 AT32UC3L0256 AT32UC3L0128 ATUC256L4U ATUC128L4U ATUC64L4U ATUC256L3U ATUC128L3U ATUC64L3U

Kártyák AT32AP7000 development environment (STK1000) AT32AP7000 Network Gateway Kit (NGW100) AT32AP7000 board with FPGA, video decoder and Power over Ethernet (Hammerhead) AT32AP7000 Indefia Embedded Linux Board with ZigBee support All AT32UC3 Series Generic Evaluation platform (STK600) AT32UC3A0/1 Series Evaluation Kit (EVK1100) AT32UC3A0/1 Series Audio Evaluation Kit (EVK1105) AT32UC3A3 Series Evaluation Kit (EVK1104) AT32UC3B Series Evaluation Kit (EVK1101) AT32UC3B Breadboard module (Copper) AT32UC3A1 Breakout/Small Development board (Aery32)

Kapcsolódó szócikkek

Jegyzetek

Fordítás

Források További információk

Atmel AVR32 (megszűnt) avr32linux.org: Linux kernel patchek és GCC / binutils, stb. AVR Freaks Az AVR Freaks AVR32 fórum FreeRTOS.org Szabad valós idejű kernel az AVR32 flash mikrovezérlőkhöz OpenEmbedded keresztfordítók, több ezer csomag az AVR32-höz KaeilOS keresztfordítást támogató, nyílt forrású fordítási rendszer az AVR32-höz T2 SDE keresztfordítást támogató, fordítási rendszer az AVR32-höz embOS for AVR32 Operációs rendszer port az AVR32-höz Micrium µC/OS-II Operációs rendszer port az AVR32-höz ThreadX RTOS az AVR32-höz Debian AVR32 port eHalOS eHalOS is a small open source AVR32 multiprocessing OS uTasker project for the AVR32 UC3A AVR32 szimulátorral - szabad, nem kereskedelmi felhasználásra, teljes támogatással Kapcsolódó szócikkek Atmel Atmel AVR Arduino

Kategória:Mikrovezérlők Kategória:Mikroprocesszorok Kategória:Utasításkészlet-architektúrák