Кіріспе

AVR32 – Atmel компаниясы шығарған 32 биттік RISC микробасқарушы архитектурасы. Микроконтроллер архитектурасын Норвегия ғылым және технология университетінде білім алған бірнеше адам, оның ішінде жетекші дизайнер Øyvind Strøm және Atmel-дің Норвегиядағы дизайн орталығында CPU архитекторы Эрик Ренно жасаған. Көптеген командалар бір циклде орындалады. Көбейту-жинақтау модулі 32 бит × 16 бит + 48 бит арифметикалық амалды екі циклде (нәтиже кешігуі) орындай алады, цикл сайын бір рет беріледі. Ол 8 биттік AVR микробасқарушылар отбасысына ұқсамайды, дегенмен екеуі де Тронхеймдегі, Норвегиядағы Atmel-де жасалған. Кейбір түзету құралдары ұқсас. Linux жүйесінде 4.12 ядросынан бастап AVR32 қолдауы тоқтатылды; Atmel көбінесе ARM архитектурасының M нұсқаларына көшті.

Сәулет

AVR32 кем дегенде екі микроархитектураға ие: AVR32A және AVR32B. Олар нұсқаулар жиынтығы архитектурасы, регистрлер конфигурациясы және нұсқаулар мен деректер үшін кэштерді пайдалану жағынан ерекшеленеді. AVR32A процессорлық ядролары арзан қолданбаларға арналған. Олар үзілістер кезінде регистрлік файлды, күйін және қайтару мекенжайын көлеңкелеуге арналған арнайы аппараттық регистрлерді ұсынбайды. Бұл үзілістерді өңдеу жылдамдығын төмендету есебінен чиптің ауданын үнемдейді. AVR32B процессорлық ядролары жылдам үзілістерге арналған. Оларда осы мәндерді үзілістер, ерекше жағдайлар және қадағалаушы шақырулары үшін сақтауға арналған арнайы регистрлер бар. AVR32B ядролары сонымен қатар аппараттық құралдарда Java виртуалды машинасына қолдау көрсетеді. AVR32 нұсқаулар жиынтығы 16 биттік (жинақы) және 32 биттік (кеңейтілген) нұсқауларды қамтиды, мысалы, кейбір ARM сияқты, ескі ARMv5 немесе ARMv6 немесе MIPS32-де кездеспейтін бірнеше арнайы нұсқаулар бар. AVR32 ISA және жобалау платформасы үшін бірнеше АҚШ патенттері тіркелген. AVR 8 биттік микроконтроллер архитектурасы сияқты, AVR32 да жоғары код тығыздығына (аздаған нұсқауларға көп функцияны сыйдыру) және аздаған сағат циклдарымен жұмыс істейтін жылдам нұсқауларға арналған. Atmel әртүрлі компиляторлармен архитектураны салыстыру үшін тәуелсіз EEMBC бенчмарк консорциумын пайдаланды және код көлемі бойынша ARMv5 16 биттік (Thumb) кодынан және ARMv5 32 биттік (ARM) кодынан 50%-ға дейін, ал өнімділік бойынша 3 есе артық нәтижелерге қол жеткізді. Atmel "picoPower" AVR32 AT32UC3L белсенді режимде 0,48 мВт/МГц-тан кем энергия тұтынатынын айтады, бұл сол кезде кез келген басқа 32 биттік процессорға қарағанда аз қуатты пайдалану деді. 2015 жылдың наурызында олар ARM Holdings ARM архитектурасын пайдаланатын, өздерінің нұсқаулар жиынтығын емес, Cortex M0+ негізіндегі жаңа микроконтроллерлерінің "қазіргі уақытқа дейін барлық өте төмен қуаттылықтағы өнімділік шектерін бұзғанын" мәлімдеді.

Қолданылу

AVR32 архитектурасы тек Atmel өнімдерінде ғана қолданылды. 2006 жылы Atmel AVR32A-ны ұсынды: 7 сатылы құбырлы, кэш негізіндегі жобалау платформасы – AVR32 AP7 өзегі. AVR32 UC3 өзегі AVR32A архитектурасын іске асырады. Ол AP7 өзімен бірдей нұсқаулар жиынтығы архитектурасын (ISA) бөліседі, бірақ опциялық SIMD нұсқауларын немесе Java қолдауын қамтымайды. FPU нұсқаулар жиынтығы міндетті емес және UC3 микроконтроллерлерінің алғашқы отбасыларында іске асырылмады. Ол AVR32B-мен 220-дан астам нұсқауды бөліседі. ISA чиптегі перифериялық құрылғыларды және жалпы мақсаттағы кіріс-шығыстарды басқару үшін атомдық биттерді өңдеу және бекітілген нүктелі DSP арифметикасын қамтиды. Екі іске асыру да AT91SAM ARM негізіндегі платформаларда алғаш рет пайда болған перифериялық контроллерлер мен шиналардың үйлесімді жиынтығымен біріктіріледі. AP7000-де алғаш рет пайда болған кейбір перифериялық құрылғылар, мысалы, жоғары жылдамдықты USB перифериялық контроллері және дербес DMA контроллері, кейіннен жаңартылған ARM9 платформаларында және содан кейін ARM Cortex M3 негізіндегі өнімдерде пайда болды. Екі AVR32 өзегі де JTAG құралымен құрастырылған, Nexus Class 2+ негізіндегі чиптегі қателерді жою құралын қамтиды. 2010 жылғы 10 қарашада Германияның Мюнхен қаласында өткен Electronica 2010 көрмесінде жарияланған UC3 C өзегі FPU қолдауын іске асырған UC3 отбасының алғашқы өкілі болды.