Designer | Atmel |
---|---|
Биты | 32-разрядные |
Версия | Ред. 2 |
Дизайн | RISC |
Кодирование | Переменная |
Порядок байтов | Большие |
Расширения | Виртуальная машина Java |
Регистры | |
15 |
AVR32- это 32-битная архитектура микроконтроллера RISC, созданная Atmel. Архитектура микроконтроллера была разработана группой людей, получивших образование в Норвежском университете науки и технологий, в том числе ведущим дизайнером Ойвиндом Стромом и архитектором ЦП Эриком Ренно из норвежского центра дизайна Atmel.
Большинство инструкций выполняется за один цикл. Блок умножение-накопление может выполнять арифметические операции размером 32 бита × 16 бит + 48 бит в двух циклах (задержка результата), выдаваемых один раз за цикл.
Он не похож на семейство 8-битных микроконтроллеров AVR, хотя оба они были разработаны в Atmel Norway, в Тронхейме. Некоторые инструменты отладки похожи.
Поддержка AVR32 исключена из Linux, начиная с ядра 4.12; Atmel перешла в основном на M-варианты архитектуры ARM.
AVR32 имеет как минимум две микроархитектуры: AVR32A и AVR32B. Они отличаются архитектурой набора команд, конфигурациями регистров и использованием кэшей для инструкций и данных.
Ядра ЦП AVR32Aпредназначены для недорогих приложений. Они не предоставляют выделенных аппаратных регистров для дублирования файла регистров, статуса и адреса возврата в прерываниях. Это экономит площадь чипа за счет более медленной обработки прерываний.
Ядра ЦП AVR32Bпредназначены для быстрых прерываний. У них есть специальные регистры для хранения этих значений для прерываний, исключений и вызовов супервизора. Ядра AVR32B также поддерживают аппаратную виртуальную машину Java.
Набор команд AVR32 содержит 16-битные (компактные) и 32-битные (расширенные) инструкции, похоже на например немного ARM, с несколькими специализированными инструкциями, которых нет в старых ARMv5, ARMv6 или MIPS32. На AVR32 ISA и платформу разработки зарегистрировано несколько патентов США.
Подобно архитектуре 8-битного микроконтроллера AVR, AVR32 был разработан для высокой плотности кода (упаковка большого количества функций в несколько инструкций) и быстрых инструкций с небольшим количеством часов. циклы. Компания Atmel использовала независимый консорциум эталонных тестов EEMBC для эталонного тестирования архитектуры с различными компиляторами и стабильно превосходила как 16-битный код ARMv5 (Thumb ), так и 32-битный код ARMv5 (ARM ) кода на 50% по размеру кода и в 3 раза по производительности.
Atmel заявляет, что AVR32 AT32UC3L "picoPower" потребляет менее 0,48 мВт / МГц в активном режиме, что, по ее утверждению, при время, потреблял меньше энергии, чем любой другой 32-битный CPU. Затем, в марте 2015 года, они заявляют о своих новых микроконтроллерах на базе Cortex-M0 +, использующих ARM Holdings 'архитектуру ARM, а не свой собственный набор инструкций, «на сегодняшний день преодолены все барьеры производительности сверхнизкого энергопотребления».
Архитектура AVR32 использовалась только в собственных продуктах Atmel. В 2006 году Atmel выпустила AVR32A: ядро AVR32 AP7, 7-ступенчатую платформу проектирования на основе конвейерного, кеша. Этот "AP7000" реализует архитектуру AVR32B и поддерживает инструкции SIMD (одна инструкция, несколько данных) DSP (обработка цифрового сигнала ) для RISC набор инструкций в дополнение к аппаратному ускорению Java. Он включает в себя блок управления памятью (MMU) и поддерживает такие операционные системы, как Linux. В начале 2009 года, по слухам, последующий процессор AP7200 был приостановлен, а ресурсы ушли на другие чипы.
В 2007 году Atmel выпустила второй AVR32: ядро AVR32 UC3. Он разработан для микроконтроллеров, использующих встроенную флэш-память для хранения программ и работающих без MMU (блока управления памятью). Ядро AVR32 UC3 использует трехступенчатую конвейерную архитектуру Гарварда, специально разработанную для оптимизации выборки инструкций из встроенной флэш-памяти. Ядро AVR32 UC3 реализует архитектуру AVR32A. Он использует ту же архитектуру набора команд (ISA), что и его брат AP7, но отличается тем, что не включает в себя дополнительные инструкции SIMD или поддержку Java. Он разделяет более 220 инструкций с AVR32B. В ISA реализована атомарная битовая манипуляция для управления периферийными устройствами на кристалле и ввода-вывода общего назначения, а также арифметические операции с фиксированной точкой DSP.
Обе реализации могут быть объединены с совместимым набором периферийных контроллеров и шин, впервые представленных на платформах AT91SAM на базе ARM. Некоторые периферийные устройства, впервые представленные в AP7000, такие как высокоскоростной периферийный контроллер USB и автономный контроллер DMA, появились позже в обновленных платформах ARM9, а затем в продуктах на базе ARM Cortex-M3.
Оба ядра AVR32 включают в себя сборку инфраструктуры On-Chip Debug Nexus класса 2+ с JTAG.
ядром UC3, анонсированное на Electronica 2010 в Мюнхене, Германия, в ноябре. 10, 2010, это первый 32-битный микроконтроллер AVR с дополнительным модулем с плавающей запятой.
10 апреля 2012 года Atmel объявила об окончании Срок службы устройств AP7 Core с 4 апреля 2013 года.
Если имя устройства заканчивается на * AU, это аудио версия, это позволяет выполнение IP-адресов аудиопрограмм под лицензией Atmel.
Если имя устройства заканчивается на * S, оно включает модуль шифрования AES.
Серия D - маломощный UC3D включает технологию SleepWalking, которая позволяет периферийным устройствам выводить устройство из спящего режима.
Викискладе есть материалы, связанные с Atmel AVR32 . |