Atmel es
una compañía de semiconductores, fundada en 1984. Su línea de productos incluye microcontroladores microcontroladores (incluyendo derivados deri vados del 8051, el AT91SAM AT91SAM basados en ARM, y sus arquitecturas propias AVR y AVR32), dispositivos de radiofrecuencia, memorias EEPROM y Flash, ASICs, WiMAX, y muchas otras. Atmel Atmel sirve a los mercados de la electrónica el ectrónica de consumo, comunicaciones, comunicaciones, computadores, redes, electrónica industrial, equipos médicos, automotriz, aeroespacial y militar. Es una industria líder en sistemas seguros, especialmente en el mercado de las tarjetas seguras. Entre sus principales competidores se encuentra STMicroelectronics, Texas Instruments, Freescale, Analog Devices y Microchip Technology.
Familia AVR
Los AVR son una familia de microcontroladores RISC de Atmel. La arquitectura de los AVR fue concebida por dos estudiantes en el Norwegian Institute of Technology, y posteriormente refinada y desarrollada en Atmel Norway, la empresa subsidiaria de Atmel, fundada por los dos arquitectos del chip. El acrónimo AVR fue reportado como Advanced Virtual RISC, pero hay rumores de que se debe a sus diseñadores: Alf and Vegard [RISC]. Aunque Atmel dice que no se refiere a nada particular
En arquitectura computacional, RISC ( Computador con Conjunto de Instrucciones Reducidas) es un tipo de diseño de CPU generalmente utilizado en microprocesadores o microcontroladores con las siguientes características fundamentales: Instrucciones de tamaño fijo y presentadas en un reducido número de formatos. Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos. •
•
CPU( Core) •
•
•
•
Para maximizar el rendimiento y paralelismo, el AVR usa una arquitectura Harvard – con memorias y buses separados para instrucciones y datos. Las instrucciones en la memoria de Programa son ejecutadas con una segmentación de dos etapas. Mientras una instrucción está siendo ejecutada, la siguiente es pre-capturada de la memoria de programa (fetching). El Archivo de Registros contiene 32 registros de propósito general de 8 bits, habilitados para un acceso rápido. El AVR fue diseñado desde un comienzo para la ejecución eficiente de código C compilado. Por lo tanto, algunas instrucciones tales como 'suma inmediata' ('add immediate' en inglés) faltan, ya que la instrucción 'resta inmediata' ('substract immediate' en inglés) con el complemento dos puede ser usada como alternativa.
CPU( Core) Seis de los
32 registros pueden ser usados como apuntadores de 16 bits para direccionamiento indirecto en el espacio de datos, habilitando cálculos de direcciones eficientes. Uno de estos apuntadores también puede usarse como apuntador para tablas de búsqueda (look up tables) en la memoria de programa. Para ello, estos registros se denominan X, Y y Z. Después de una operación aritmética, el registro de Estado (Status Register) es actualizado, para reflejar información acerca de la operación. La mayoría de instrucciones AVR tienen un formato en una palabra de 16-bits. En un ciclo de reloj se pueden leer 2 registros que funcionen como operandos para la ALU, que se realice la operación y el resultado quede disponible para escribirse en uno de esos registros.