Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
AVR32 – Atmel компаниясы шығарған 32 биттік RISC микробасқарушы архитектурасы. Микроконтроллер архитектурасын Норвегия ғылым және технология университетінде білім алған бірнеше адам, оның ішінде жетекші дизайнер Øyvind Strøm және Atmel-дің Норвегиядағы дизайн орталығында CPU архитекторы Эрик Ренно жасаған. Көптеген командалар бір циклде орындалады. Көбейту-жинақтау модулі 32 бит × 16 бит + 48 бит арифметикалық амалды екі циклде (нәтиже кешігуі) орындай алады, цикл сайын бір рет беріледі. Ол 8 биттік AVR микробасқарушылар отбасысына ұқсамайды, дегенмен екеуі де Тронхеймдегі, Норвегиядағы Atmel-де жасалған. Кейбір түзету құралдары ұқсас. Linux жүйесінде 4.12 ядросынан бастап AVR32 қолдауы тоқтатылды; Atmel көбінесе ARM архитектурасының M нұсқаларына көшті.
AVR32 is a 32 bit RISC microcontroller architecture produced by Atmel. The microcontroller architecture was designed by a handful of people educated at the Norwegian University of Science and Technology, including lead designer Øyvind Strøm and CPU architect Erik Renno in Atmel's Norwegian design center. Most instructions are executed in a single cycle. The multiply–accumulate unit can perform a 32 bit × 16 bit + 48 bit arithmetic operation in two cycles (result latency), issued once per cycle. It does not resemble the 8 bit AVR microcontroller family, even though they were both designed at Atmel Norway, in Trondheim. Some of the debug tools are similar. Support for AVR32 has been dropped from Linux as of kernel 4.12; Atmel has switched mostly to M variants of the ARM architecture.
Сәулет
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+ негізіндегі жаңа микроконтроллерлерінің "қазіргі уақытқа дейін барлық өте төмен қуаттылықтағы өнімділік шектерін бұзғанын" мәлімдеді.
The AVR32 has at least two micro architectures, the AVR32A and AVR32B. These differ in the instruction set architecture, register configurations and the use of caches for instructions and data. The AVR32A CPU cores are for inexpensive applications. They do not provide dedicated hardware registers for shadowing the register file, status and return address in interrupts. This saves chip area at the expense of slower interrupt handling. The AVR32B CPU cores are designed for fast interrupts. They have dedicated registers to hold these values for interrupts, exceptions and supervisor calls. The AVR32B cores also support a Java virtual machine in hardware. The AVR32 instruction set has 16 bit (compact) and 32 bit (extended) instructions, similar to e. g. some ARM, with several specialized instructions not found in older ARMv5 or ARMv6 or MIPS32. Several U. S. patents are filed for the AVR32 ISA and design platform. Just like the AVR 8 bit microcontroller architecture, the AVR32 was designed for high code density (packing much function in few instructions) and fast instructions with few clock cycles. Atmel used the independent benchmark consortium EEMBC to benchmark the architecture with various compilers and consistently outperformed both ARMv5 16 bit (Thumb) code and ARMv5 32 bit (ARM) code by as much as 50% on code size and 3× on performance. Atmel says the "picoPower" AVR32 AT32UC3L consumes less than 0.48 mW/MHz in active mode, which it claimed, at the time, used less power than any other 32 bit CPU. Then in March 2015, they claim their new Cortex M0+ based microcontrollers, using ARM Holdings' ARM architecture, not their own instruction set, "has broken all ultra low power performance barriers to date."
Қолданылу
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 отбасының алғашқы өкілі болды.
The AVR32 architecture was used only in Atmel's own products. In 2006, Atmel launched the AVR32A: The AVR32 AP7 core, a 7 stage pipelined, cache based design platform. The AVR32 UC3 core implements the AVR32A architecture. It shares the same instruction set architecture (ISA) as its AP7 sibling, but differs by not including the optional SIMD instructions or Java support. The FPU instruction set is optional, and was not implemented in the initial families of UC3 microcontrollers. It shares more than 220 instructions with the AVR32B. The ISA features atomic bit manipulation to control on chip peripherals and general purpose I/Os and fixed point DSP arithmetic. Both implementations can be combined with a compatible set of peripheral controllers and buses first seen in the AT91SAM ARM based platforms. Some peripherals first seen in the AP7000, such as the high speed USB peripheral controller, and standalone DMA controller, appeared later in updated ARM9 platforms and then in the ARM Cortex M3 based products. Both AVR32 cores include a Nexus class 2+ based On Chip Debug framework build with JTAG. The UC3 C core, announced at the Electronica 2010 in Munich Germany on November 10, 2010, was the first member of the UC3 family to implement FPU support.