AVR32 - AVR32

AVR32
ATMEL AVR32.jpg
Projektant Atmel
Bity 32-bitowy
Wersja Rev 2
Projekt RYZYKO
Kodowanie Zmienny
Endianizm Duża
Rozszerzenia Maszyna wirtualna Java
Rejestry
15

AVR32 jest 32-bitowy RISC mikrokontroler architektura produkowane przez Atmel . Architektura mikrokontrolera została zaprojektowana przez garstkę osób wykształconych na Norweskim Uniwersytecie Nauki i Technologii , w tym głównego projektanta Øyvinda Strøma i architekta CPU Erika Renno w norweskim centrum projektowym Atmel.

Większość instrukcji jest wykonywana w jednym cyklu. Jednostka multiply-accumulate może wykonać operację arytmetyczną 32-bitową × 16-bitową + 48-bitową w dwóch cyklach (opóźnienie wyniku), wydawane raz na cykl.

Nie przypomina rodziny 8-bitowych mikrokontrolerów AVR , mimo że oba zostały zaprojektowane w Atmel Norway, w Trondheim . Niektóre narzędzia do debugowania są podobne.

Wsparcie dla AVR32 zostało usunięte z Linuksa od jądra 4.12; Atmel przestawił się głównie na warianty M architektury ARM .

Architektura

AVR32 ma co najmniej dwie mikroarchitektury, AVR32A i AVR32B. Różnią się one architekturą zestawu instrukcji, konfiguracjami rejestrów i wykorzystaniem pamięci podręcznych na instrukcje i dane.

W AVR32A rdzenie procesora są niedrogich aplikacji. Nie zapewniają dedykowanych rejestrów sprzętowych do tworzenia cienia pliku rejestru, statusu i adresu zwrotnego w przerwaniach. Oszczędza to obszar chipa kosztem wolniejszej obsługi przerwań.

W AVR32B rdzenie CPU przeznaczone są do szybkich przerwań. Mają dedykowane rejestry do przechowywania tych wartości dla przerwań, wyjątków i wywołań nadzorcy. Rdzenie AVR32B obsługują również sprzętowo wirtualną maszynę Java .

Zestaw instrukcji AVR32 zawiera instrukcje 16-bitowe (kompaktowe) i 32-bitowe (rozszerzone), podobne do np. niektórych ARM, z kilkoma wyspecjalizowanymi instrukcjami, których nie ma w starszym ARMv5 lub ARMv6 lub MIPS32 . Kilka amerykańskich patentów zostało zgłoszonych dla AVR32 ISA i platformy projektowej.

Podobnie jak 8-bitowa architektura mikrokontrolera AVR , AVR32 został zaprojektowany z myślą o dużej gęstości kodu (upakowanie wielu funkcji w kilku instrukcjach) i szybkich instrukcjach z kilkoma cyklami zegara. Atmel wykorzystał niezależne konsorcjum testowe EEMBC do testowania architektury z różnymi kompilatorami i konsekwentnie przewyższał zarówno 16-bitowy kod ARMv5 ( Thumb ) jak i 32-bitowy kod ARMv5 ( ARM ) nawet o 50% pod względem rozmiaru kodu i trzykrotnie pod względem wydajności .

Atmel twierdzi, że „picoPower” AVR32 AT32UC3L zużywa mniej niż 0,48 mW/MHz w trybie aktywnym, który, jak twierdził, zużywał wtedy mniej energii niż jakikolwiek inny 32-bitowy procesor. Następnie w marcu 2015 roku, twierdzą, że ich nowe Cortex-M0 + opartych mikrokontrolerów, używając ARM Holdings ' Architektura ARM , a nie ich własny zestaw instrukcji , «złamał wszelkie bariery ultra-niskiej wydajności moc do tej pory.»

Realizacje

Architektura AVR32 została wykorzystana tylko we własnych produktach Atmela. W 2006 Atmel uruchomiła AVR32A: The rdzeń AVR32 AP7, 7-stopniowy potokowym , cache -na platformy projektowania. Ten "AP7000" implementuje architekturę AVR32B i obsługuje SIMD (single danych instrukcja wielokrotność) DSP ( Digital Signal Processing ) instrukcje do RISC Nauka-Set, oprócz akceleracji sprzętowej Java. Zawiera moduł zarządzania pamięcią (MMU) i obsługuje systemy operacyjne, takie jak Linux . Na początku 2009 r. podobno następca procesora AP7200 został wstrzymany, a zasoby trafiły do ​​innych chipów.

W 2007 roku Atmel wprowadził na rynek drugi AVR32: rdzeń AVR32 UC3. Jest przeznaczony dla mikrokontrolerów, wykorzystujących wbudowaną pamięć flash do przechowywania programów i działający bez MMU (jednostki zarządzania pamięcią). AVR32 UC3 rdzeń wykorzystuje trzystopniowy potokowym architektury Harvard specjalnie zaprojektowany, aby zoptymalizować instrukcji pobiera od on-chip pamięci flash . Rdzeń AVR32 UC3 implementuje architekturę AVR32A. Posiada tę samą architekturę zestawu instrukcji (ISA) co jego rodzeństwo AP7, ale różni się tym, że nie zawiera opcjonalnych instrukcji SIMD ani obsługi Java. Współdzieli ponad 220 instrukcji z AVR32B. ISA oferuje manipulację bitami atomowymi w celu kontrolowania urządzeń peryferyjnych na chipie i ogólnych we/wy oraz arytmetyki DSP o stałym punkcie .

Obie implementacje można łączyć z kompatybilnym zestawem kontrolerów peryferyjnych i magistral, które po raz pierwszy pojawiły się na platformach AT91SAM ARM. Niektóre urządzenia peryferyjne, które po raz pierwszy pojawiły się w AP7000, takie jak szybki kontroler urządzeń peryferyjnych USB i samodzielny kontroler DMA, pojawiły się później w zaktualizowanych platformach ARM9, a następnie w produktach opartych na ARM Cortex-M3.

Oba rdzenie AVR32 zawierają framework On-Chip Debug oparty na Nexusie klasy 2+ i JTAG .

Rdzeń UC3, ogłoszony na targach Electronica 2010 w Monachium w Niemczech 10 listopada 2010 r., to pierwszy 32-bitowy mikrokontroler AVR z opcjonalną jednostką zmiennoprzecinkową .

Urządzenia

Rdzeń AP7

10 kwietnia 2012 roku Atmel ogłosił koniec okresu eksploatacji urządzeń AP7 Core od 4 kwietnia 2013 roku.

Rdzeń UC3

Jeśli nazwa urządzenia kończy się na *AU, jest to wersja audio, umożliwiają one wykonanie licencjonowanych przez firmę Atmel adresów IP oprogramowania sprzętowego audio.

Jeśli nazwa urządzenia kończy się na *S, zawiera moduł kryptograficzny AES.

Seria A0/A1 – urządzenia dostarczają 91 Dhrystone MIPS (DMIPS) przy 66 MHz (1 stan oczekiwania flash) i pobierają 40 mA przy 66 MHz przy 3,3 V.
Seria A3/A4 – urządzenia dostarczają 91 Dhrystone MIPS (DMIPS) przy 66 MHz i pobierają 40 mA przy 66 MHz przy 3,3 V.
Seria B – dostarcza 72 Dhrystone MIPS (DMIPS) przy 60 MHz i pobiera 23 mA przy 66 MHz przy 3,3 V.
Seria C – urządzenia dostarczają 91 Dhrystone MIPS (DMIPS) przy 66 MHz i pobierają 40 mA @66 MHz przy 3,3 V.

D Series - Nisko-power UC3D Odtwarzacze umieszczone lunatycy technologię, która pozwala na obwodowy obudzić urządzenie z trybu uśpienia.

Seria L – dostarcza 64 Dhrystone MIPS (DMIPS) przy 50 MHz i zużywa 15 mA przy 50 MHz przy 1,8 V.

Tablice

Zobacz też

Bibliografia

Zewnętrzne linki