AVR32 - AVR32
Návrhář | Atmel |
---|---|
Bity | 32bitové |
Verze | Rev.2 |
Design | RISC |
Kódování | Variabilní |
Endianness | Velký |
Rozšíření | Virtuální stroj Java |
Registry | |
15 |
AVR32 je 32bitový RISC mikrokontrolér architektura vyrábí Atmel . Architekturu mikrokontroléru navrhla hrstka lidí vzdělaných na Norské univerzitě vědy a technologie , včetně vedoucího designéra Øyvinda Strøma a architekta CPU Erika Renna v norském designovém centru Atmel.
Většina instrukcí se provádí v jednom cyklu. Jednotka násobení a akumulace může provádět 32bitovou × 16bitovou + 48bitovou aritmetickou operaci ve dvou cyklech (latence výsledků), vydaných jednou za cyklus.
Nepodobá se 8bitové rodině mikrokontrolérů AVR , přestože byly oba navrženy v Atmel Norway, v Trondheimu . Některé nástroje pro ladění jsou podobné.
Podpora pro AVR32 byla zrušena z Linuxu od jádra 4.12; Atmel přešel většinou na M varianty architektury ARM .
Architektura
AVR32 má alespoň dvě mikroarchitektury, AVR32A a AVR32B. Ty se liší architekturou sady instrukcí, konfigurací registrů a použitím mezipaměti pro instrukce a data.
Tyto AVR32A jádra CPU jsou cenově výhodné aplikace. Neposkytují vyhrazené hardwarové registry pro stínování souboru registru, stavu a zpáteční adresy v přerušeních. To šetří oblast čipu na úkor pomalejšího zpracování přerušení.
Tyto AVR32B jádra CPU jsou určeny pro rychlé přerušení. Mají vyhrazené registry pro uchování těchto hodnot pro přerušení, výjimky a volání supervizora. Jádra AVR32B také hardwarově podporují virtuální stroj Java .
Instrukční sada AVR32 má 16bitové (kompaktní) a 32bitové (rozšířené) instrukce, podobné např. Některým ARM, s několika specializovanými instrukcemi, které nebyly nalezeny ve starších ARMv5 nebo ARMv6 nebo MIPS32 . Na AVR32 ISA a návrhovou platformu je podáno několik amerických patentů.
Stejně jako 8bitová architektura mikrokontroléru AVR byl AVR32 navržen pro vysokou hustotu kódu (balení mnoha funkcí v několika instrukcích) a rychlé instrukce s několika hodinovými cykly. Atmel použil nezávislé benchmarkové konsorcium EEMBC ke srovnávání architektury s různými kompilátory a trvale překonal jak 16bitový ( Thumb ) kód ARMv5, tak 32bitový ( ARM ) kód ARMv5 až o 50% na velikosti kódu a 3 × na výkonu .
Atmel říká, že „picoPower“ AVR32 AT32UC3L spotřebuje v aktivním režimu méně než 0,48 mW/MHz, což v té době tvrdilo, že spotřebovává méně energie než jakýkoli jiný 32bitový procesor. V březnu 2015, tvrdí své nové Cortex-M0 + založené mikroprocesory, s použitím ARM Holdings ' ARM architekturu , nikoli jejich vlastní instrukční sadu , ‚porušil všechny ultra-low výkonu výkon překážky k dnešnímu dni.‘
Implementace
Architektura AVR32 byla použita pouze ve vlastních produktech společnosti Atmel. V roce 2006, Atmel zahájila AVR32A: The AVR32 AP7 jádro, 7-stupňová pipeline , mezipaměti na bázi konstrukce platformy. Tento „AP7000“ implementuje architekturu AVR32B a kromě hardwarové akcelerace Java podporuje instrukce SIMD (single data multiple data) DSP ( digital signal processing ) k sadě instrukcí RISC . Obsahuje jednotku pro správu paměti (MMU) a podporuje operační systémy jako Linux . Na začátku roku 2009 se říkalo, že následný procesor AP7200 je zadržován, přičemž zdroje jdou do jiných čipů.
V roce 2007 Atmel uvedl na trh druhé AVR32: jádro AVR32 UC3. Toto je určeno pro mikrokontroléry využívající paměť flash na čipu pro ukládání programů a běžící bez MMU (jednotka pro správu paměti). Jádro AVR32 UC3 využívá třístupňovou propojenou harvardskou architekturu speciálně navrženou pro optimalizaci načítání instrukcí z flash paměti na čipu . Jádro AVR32 UC3 implementuje architekturu AVR32A. Sdílí stejnou architekturu instrukční sady (ISA) jako její sourozenec AP7, ale liší se tím, že nezahrnuje volitelné instrukce SIMD nebo podporu Java. S AVR32B sdílí více než 220 instrukcí. ISA nabízí manipulaci s atomovými bity pro ovládání periferních zařízení na čipu a obecné I/O a aritmetiku DSP s pevným bodem .
Obě implementace lze kombinovat s kompatibilní sadou periferních řadičů a sběrnic, které byly poprvé k vidění na platformách AT91SAM ARM. Některá periferní zařízení poprvé spatřená v AP7000, například vysokorychlostní USB periferní řadič a samostatný řadič DMA, se objevila později v aktualizovaných platformách ARM9 a poté v produktech založených na ARM Cortex-M3.
Obě jádra AVR32 zahrnují sestavení rámce On-Chip Debug založené na JTAG na třídě Nexus 2+ .
Jádro UC3, oznámené na Electronica 2010 v Mnichově v Německu 10. listopadu 2010, je prvním 32bitovým mikrokontrolérem AVR s volitelnou jednotkou s plovoucí desetinnou čárkou .
Zařízení
Jádro AP7
Dne 10. dubna 2012 společnost Atmel oznámila konec životnosti zařízení AP7 Core od 4. dubna 2013.
UC3 jádro
Pokud název zařízení končí na *AU, jedná se o audio verzi, umožňují spuštění IP adres firmwaru s licencí Atmel s licencí.
Pokud název zařízení končí na *S, obsahuje krypto modul AES.
- Řada A0/A1- zařízení dodávají 91 Dhrystone MIPS (DMIPS) při 66 MHz (1 čekací stav blesku) a spotřebovávají 40 mA při 66 MHz při 3,3 V.
- AT32UC3A0128
- AT32UC3A0128AU
- AT32UC3A0256
- AT32UC3A0256AU
- AT32UC3A0512
- AT32UC3A0512AU
- AT32UC3A1128
- AT32UC3A1256AU
- AT32UC3A1512
- AT32UC3A1512AU
- Řada A3/A4 - zařízení dodávají 91 Dhrystone MIPS (DMIPS) při 66 MHz a spotřebovávají 40 mA při 66 MHz při 3,3 V.
- AT32UC3A364
- AT32UC3A364S
- AT32UC3A3128
- AT32UC3A3128S
- AT32UC3A3256
- AT32UC3A3256AU
- AT32UC3A3256S
- AT32UC3A464
- AT32UC3A464S
- AT32UC3A4128
- AT32UC3A4128S
- AT32UCA4256
- AT32UC3A4256S
- Řada B - dodává 72 Dhrystone MIPS (DMIPS) při 60 MHz a spotřebovává 23 mA při 66 MHz při 3,3 V.
- AT32UC3B064
- AT32UC3B0128
- AT32UC3B0128AU
- AT32UC3B0256
- AT32UC3B0512
- AT32UC3B0512AU
- AT32UC3B164
- AT32UC3B1128
- AT32UC3B1256
- AT32UC3B1512
- Řada C - zařízení dodávají 91 Dhrystone MIPS (DMIPS) při 66 MHz a spotřebovávají 40 mA při 66 MHz při 3,3 V.
- AT32UC3C064C
- AT32UC3C0128C
- AT32UC3C0256C
- AT32UC3C0512C
- AT32UC3C0512CAU
- AT32UC3C164C
- AT32UC3C1128C
- AT32UC3C1256C
- AT32UC3C1512C
- AT32UC3C264C
- AT32UC3C2128C
- AT32UC3C2256C
- AT32UC3C2512C
Řada D -UC3D s nízkým výkonem integruje technologii SleepWalking, která umožňuje perifernímu zařízení probudit zařízení z režimu spánku.
- Řada L - dodává 64 Dhrystone MIPS (DMIPS) při 50 MHz a spotřebovává 15 mA při 50 MHz při 1,8 V.
- AT32UC3L016
- AT32UC3L032
- AT32UC3L064
- AT32UC3L0128
- AT32UC3L0256
- ATUC64L3U
- ATUC128L3U
- ATUC256L3U
- ATUC64L4U
- ATUC128L4U
- ATUC256L4U
Desky
- Vývojové prostředí AT32AP7000 (STK1000)
- Sada síťové brány AT32AP7000 (NGW100)
- Deska AT32AP7000 s FPGA, video dekodérem a Power over Ethernet (Hammerhead)
- Integrovaná Linuxová deska AT32AP7000 Indefia s podporou ZigBee
- Všechny platformy pro generické hodnocení AT32UC3 (STK600)
- Vyhodnocovací sada řady AT32UC3A0/1 (EVK1100)
- Sada pro hodnocení zvuku řady AT32UC3A0/1 (EVK1105)
- Vyhodnocovací sada řady AT32UC3A3 (EVK1104)
- Vyhodnocovací sada řady AT32UC3B (EVK1101)
- Modul Breadboard AT32UC3B (měď)
- AT32UC3A1 Breakout/Small Development board (Aery32)
Viz také
Reference
externí odkazy
- Atmel AVR32 * „Projekt AVR32 Linux“ . Archivovány od originálu 2. září 2011 . Získaný 9. května 2013 .(nyní mrtvý) obsahoval nedávné opravy jádra Linuxu a GCC / binutils atd.