stringtranslate.com

AVR32

AVR32 es una arquitectura de microcontrolador RISC de 32 bits producida por Atmel . La arquitectura del microcontrolador fue diseñada por un grupo de personas formadas en la Universidad Noruega de Ciencia y Tecnología , entre ellas el diseñador principal Øyvind Strøm y el arquitecto de CPU Erik Renno en el centro de diseño noruego de Atmel.

La mayoría de las instrucciones se ejecutan en un solo ciclo. La unidad de multiplicación-acumulación puede realizar una operación aritmética de 32 bits × 16 bits + 48 bits en dos ciclos (latencia del resultado), que se emite una vez por ciclo.

No se parece a la familia de microcontroladores AVR de 8 bits , a pesar de que ambos fueron diseñados en Atmel Norway, en Trondheim . Algunas de las herramientas de depuración son similares.

El soporte para AVR32 ha sido eliminado de Linux a partir del kernel 4.12; [1] Atmel ha cambiado principalmente a variantes M de la arquitectura ARM .

Arquitectura

El AVR32 tiene al menos dos microarquitecturas, la AVR32A y la AVR32B. Estas difieren en la arquitectura del conjunto de instrucciones, las configuraciones de registros y el uso de cachés para instrucciones y datos. [2]

Los núcleos de CPU AVR32A están destinados a aplicaciones económicas. No proporcionan registros de hardware dedicados para hacer sombra al archivo de registro, el estado y la dirección de retorno en las interrupciones . Esto ahorra área del chip a expensas de un manejo más lento de las interrupciones.

Los núcleos de CPU AVR32B están diseñados para interrupciones rápidas. Tienen registros dedicados para almacenar estos valores para interrupciones, excepciones y llamadas de supervisor. Los núcleos AVR32B también admiten una máquina virtual Java en hardware. [3]

El conjunto de instrucciones AVR32 tiene instrucciones de 16 bits (compactas) y 32 bits (extendidas), similares a, por ejemplo, algunos ARM, con varias instrucciones especializadas que no se encuentran en ARMv5 o ARMv6 o MIPS32 anteriores . Se han presentado varias patentes estadounidenses para la ISA y la plataforma de diseño AVR32.

Al igual que la arquitectura del microcontrolador AVR de 8 bits , el AVR32 fue diseñado para una alta densidad de código (que incluye muchas funciones en pocas instrucciones) e instrucciones rápidas con pocos ciclos de reloj. Atmel utilizó el consorcio de evaluación comparativa independiente EEMBC para evaluar la arquitectura con varios compiladores y superó consistentemente tanto el código ARMv5 de 16 bits ( Thumb ) como el código ARMv5 de 32 bits ( ARM ) en hasta un 50 % en tamaño de código y 3 veces en rendimiento. [ cita requerida ]

Atmel afirma que el "picoPower" AVR32 AT32UC3L consume menos de 0,48 mW/MHz en modo activo, lo que, según afirmó en ese momento, utilizaba menos energía que cualquier otra CPU de 32 bits . [4] Luego, en marzo de 2015, afirmaron que sus nuevos microcontroladores basados ​​en Cortex-M0+ , que utilizan la arquitectura ARM de ARM Holdings , no su propio conjunto de instrucciones , "han roto todas las barreras de rendimiento de potencia ultrabaja hasta la fecha". [5]

Implementaciones

La arquitectura AVR32 se utilizó únicamente en los propios productos de Atmel. En 2006, Atmel lanzó el AVR32A: el núcleo AVR32 AP7, una plataforma de diseño basada en caché y segmentada en 7 etapas. [3] Este "AP7000" implementa la arquitectura AVR32B y admite una FPU de hardware , instrucciones SIMD (instrucción única, múltiples datos) DSP ( procesamiento de señal digital ) para el conjunto de instrucciones RISC , además de aceleración de hardware Java. Incluye una unidad de gestión de memoria (MMU) y admite sistemas operativos como Linux . A principios de 2009, el rumoreado procesador sucesor AP7200 se retuvo, y los recursos se destinaron a otros chips.

En 2007, Atmel lanzó el segundo AVR32: el núcleo AVR32 UC3. Este está diseñado para microcontroladores, utilizando memoria flash en chip para el almacenamiento de programas y funcionando sin una MMU (unidad de gestión de memoria). El núcleo AVR32 UC3 utiliza una arquitectura Harvard segmentada de tres etapas especialmente diseñada para optimizar la obtención de instrucciones de la memoria flash en chip . [6] El núcleo AVR32 UC3 implementa la arquitectura AVR32A. Comparte la misma arquitectura de conjunto de instrucciones (ISA) que su hermano AP7, pero se diferencia por no incluir las instrucciones SIMD opcionales o soporte para Java. El conjunto de instrucciones FPU es opcional y no se implementó en las familias iniciales de microcontroladores UC3. Comparte más de 220 instrucciones con el AVR32B. La ISA presenta manipulación de bits atómicos para controlar periféricos en chip y E/S de propósito general y aritmética DSP de punto fijo .

Ambas implementaciones se pueden combinar con un conjunto compatible de controladores periféricos y buses que se vieron por primera vez en las plataformas basadas en ARM AT91SAM . Algunos periféricos que se vieron por primera vez en el AP7000, como el controlador periférico USB de alta velocidad y el controlador DMA independiente, aparecieron más tarde en las plataformas ARM9 actualizadas y luego en los productos basados ​​en ARM Cortex-M3.

Ambos núcleos AVR32 incluyen un marco de depuración en chip basado en Nexus clase 2+ creado con JTAG .

El núcleo UC3 C, anunciado en Electronica 2010 en Munich, Alemania, el 10 de noviembre de 2010, fue el primer miembro de la familia UC3 en implementar soporte FPU. [7]

Dispositivos

Núcleo AP7

El 10 de abril de 2012, Atmel anunció el fin de la vida útil de los dispositivos AP7 Core a partir del 4 de abril de 2013. [8]

Núcleo UC3

Si el nombre del dispositivo termina en *AU, se trata de una versión de audio, que permite la ejecución de IP de firmware de audio con licencia de Atmel.

Si el nombre del dispositivo termina en *S incluye un módulo criptográfico AES.

Serie A0/A1: los dispositivos entregan 91 Dhrystone MIPS (DMIPS) a 66 MHz (estado de espera de 1 flash) y consumen 40 mA a 66 MHz a 3,3 V.
Serie A3/A4: los dispositivos entregan 91 Dhrystone MIPS (DMIPS) a 66 MHz y consumen 40 mA a 66 MHz a 3,3 V.
Serie B: ofrece 72 Dhrystone MIPS (DMIPS) a 60 MHz y consume 23 mA a 66 MHz a 3,3 V.
Serie C: los dispositivos entregan 91 Dhrystone MIPS (DMIPS) a 66 MHz y consumen 40 mA a 66 MHz a 3,3 V.

Serie D: el UC3D de bajo consumo incorpora la tecnología SleepWalking que permite que un periférico active el dispositivo desde el modo de suspensión.

Serie L: ofrece 64 Dhrystone MIPS (DMIPS) a 50 MHz y consume 15 mA a 50 MHz a 1,8 V.

Tableros

Placa de desarrollo Atmel EVK1100

Véase también

Referencias

  1. ^ "avr32: eliminar soporte para la arquitectura AVR32". GitHub . Consultado el 21 de septiembre de 2017 .
  2. ^ "Documento de arquitectura AVR32" (PDF) . Atmel . Archivado desde el original (PDF) el 24 de marzo de 2012 . Consultado el 15 de junio de 2008 .
  3. ^ ab "Manual de referencia técnica del AVR32 AP" (PDF) . Atmel . Archivado (PDF) del original el 3 de diciembre de 2008 . Consultado el 12 de diciembre de 2008 .
  4. ^ "Tecnologías de microcontroladores probadas e innovadoras con bajo consumo y alto rendimiento" (Comunicado de prensa). Atmel presenta el microcontrolador AVR32 que reduce el consumo de energía más alto de la industria en un 63 %; el microcontrolador picoPower AVR32 AT32UC3L ofrece menos de 0,48 mW/MHz en modo activo y menos de 100 nA en modo de suspensión
  5. ^ "La familia SAM L es ahora la solución basada en ARM Cortex-M de menor consumo del mundo". 30 de marzo de 2015. Archivado desde el original el 27 de abril de 2015. Consultado el 27 de abril de 2015. Estos MCU basados ​​en Cortex-M0+ pueden mantener la funcionalidad del sistema, todo ello consumiendo solo un tercio de la energía de los productos comparables en el mercado actual. Este dispositivo ofrece un consumo de energía ultrabaja de hasta 35 μA/MHz en modo activo, consumiendo menos de 900 nA con una retención total de RAM de 32 kB .[..] "En el anuncio de Atmel del año pasado para la familia SAM L21 de la empresa, había señalado los índices de consumo de corriente sorprendentemente bajos tanto para el funcionamiento en modo activo como en modo de suspensión de esta familia de productos; ahora puedo confirmar esta opinión con datos concretos derivados del EEMBC ULPBench", explicó Markus Levy, presidente y fundador de EEMBC. "Atmel logró el consumo de energía más bajo de todos los procesadores y MCU basados ​​en Cortex-M del mundo gracias a su tecnología patentada picoPower de consumo ultrabajo. Estos resultados de ULPBench son notables y demuestran la experiencia de la empresa en bajo consumo de energía utilizando la conversión CC-CC para el monitoreo de voltaje, así como otras técnicas innovadoras". Al ejecutar el EEMBC ULPBench, el SAM L21 logra una asombrosa puntuación de 185, la puntuación más alta registrada públicamente para cualquier procesador o MCU basado en Cortex-M del mundo, y significativamente más alta que las puntuaciones de 167 y 123 anunciadas por otros proveedores. La familia SAM L21 consume menos de 940 nA con retención total de SRAM de 40 kB , reloj y calendario en tiempo real y 200 nA en el modo de suspensión más profundo.

  6. ^ "Manual de referencia técnica del AVR32UC" (PDF) . Atmel . Archivado desde el original (PDF) el 2009-02-05 . Consultado el 2008-06-15 .
  7. ^ "Atmel presenta el primer microcontrolador AVR de 32 bits con unidad de punto flotante". Atmel . Archivado desde el original el 22 de noviembre de 2010 . Consultado el 26 de marzo de 2011 .
  8. ^ "Inteligente | Conectado | Seguro | Tecnología de microchip".

Enlaces externos