Diferencia entre revisiones de «AVR»
Contenido eliminado Contenido añadido
m 16 bit -> 16 bits, 8 bit -> 8 bits |
m set -> conjunto/repertorio; cañería -> segmentación |
||
Línea 8:
* '''ATxmega''': procesadores muy potentes con 16 a 384 kB de [[memoria flash]] programable, encapsulados de 44, 64 y 100 pines (A4, A3, A1), capacidad de DMA, eventos, criptografía y amplio conjunto de periféricos con DACs.
* '''ATmega''': microcontroladores AVR grandes con 4 a 256 kB de [[memoria flash]] programable, encapsulados de 28 a 100 pines, [[conjunto de instrucciones]] extendido (multiplicación y direccionamiento de programas mayores) y amplio conjunto de periféricos.
* '''ATtiny''': pequeños microcontroladores AVR con 0,5 a 8 kB de [[memoria flash]] programable, encapsulados de 6 a 20 pines y un limitado
* '''AT90USB''': ATmega integrado con controlador [[USB]]
* '''AT90CAN''': ATmega con controlador de [[bus CAN]]
Línea 20:
El AVR fue diseñado desde un comienzo para la ejecución eficiente de código C compilado. Como este lenguaje utiliza profusamente punteros para el manejo de variables en memoria, los tres últimos pares de registros internos del procesador son usados como punteros de 16 bits al espacio de memoria externa, bajo los nombres X, Y y Z. Esto es un compromiso que se hace en arquitecturas de 8 bits desde los tiempos de Intel 8008, ya que su tamaño de palabra nativo de 8 bits (256 posiciones accesibles) es pobre para direccionar. Por otro lado, hacer que todo el banco superior de 16 registros de 8 bits tenga un comportamiento alterno como un banco de 8 registros de 16 bits, complicaría mucho el diseño, violando la premisa original de su simplicidad. Además, algunas instrucciones tales como '<code>suma inmediata</code>' ('<code>add immediate</code>' en inglés) faltan, ya que la instrucción '<code>resta inmediata</code>' ('<code>substract immediate</code>' en inglés) con el complemento dos puede ser usada como alternativa.
El
Los microcontroladores AVR tienen una
El
* Los registros punteros X, Y y Z tienen capacidades de direccionamiento diferentes entre sí (ver más arriba por qué).
* Los registros 0 al 15 tienen diferentes capacidades de direccionamiento que los registros 16 al 31.
|