Procesador CORE AVR De 8 Bits
Enviado por pto_rojas • 29 de Octubre de 2014 • 1.372 Palabras (6 Páginas) • 266 Visitas
Procesador CORE AVR de 8 bits
Abstrat: In this show the operation of an AVR processor, basically, what was planned was internally simulate some of the many instructions so named in class and apply them to a total of 32 records.
The work was planned to be developed in C language, and is implemented in graphical interface mode for easy programming, analysis and understanding of the instructions.
Index Terms: Control unit, jumps, AVR, CMOS, CISC, RISC, SRAM, register.
I. INTRODUCTION
Los procesadores AVR se caracterizan porque su estructura está basada en arquitectura Harvard [1](1), maneja 32 registros, por otro lado los registros de entrada/salida y la memoria de datos conforman un espacio de direcciones unificado, en el mercado estos procesadores, están fabricados con tecnología CMOS (2), los procesadores AVR hacen su ejecución en un solo ciclo o una instrucción por reloj externo, Todos conectados directamente a la ALU, también el alto nivel de integración y costo del Sistema total bajo.
En el simulador implementado se realizó en lenguaje c, y el compilador empleado fue el C++Builder 5, con una interfaz gráfica, para facilitar la interacción y ergonomía del simulador y demás elementos.
II. MARCO TEORICO
El procesador AVR es una CPU de arquitectura Harvard. Tiene 32 registros de 8 bits. Algunas instrucciones sólo operan en un subconjunto de estos registros. La concatenación de los 32 registros, los registros de entrada/salida y la memoria de datos conforman un espacio de direcciones unificado, al cual se accede a través de operaciones de carga/almacenamiento [2].
ESTRUCTURA AVR
Un operando de salida de 8 bits y una entrada de resultados de 8 bits.
• Dos operandos de salida de 8 bits y una entrada de resultados de 8 bits.
• Dos operandos de salida de 8 bits y una entrada de resultados de 16 bits.
• Un operando de salida de 16 bits y una entrada de resultados de 16 bits.
La figura 1 muestra la estructura de los 32 registros de trabajo de propósito general de la CPU.
La mayoría de las instrucciones que operan en el Archivo de Registros tienen acceso directo a todos los registros, y la mayoría de ellas son instrucciones de un solo ciclo.
Como se ve en la figura 1, a cada registro se le asigna una dirección de memoria de Datos, las cuales se mapean directamente en las primeras 32 posiciones del Espacio de Datos del usuario. Aunque no se implementan físicamente como posiciones de memoria de SRAM, esta organización de memoria proporciona una gran flexibilidad en el acceso de los registros, ya que los registros apuntadores X, Y y Z pueden apuntar a cualquier registro del archivo. [3]
Figura 1. Arquitectura AVR
En el simulador implementado como trabajo 1, podemos implementar un gran repertorio de instrucciones, estas instrucciones son el conjunto de operaciones que puede realizar el microprocesador, donde se incluyen transferencias de datos, operaciones de entrada/salida. En estas instrucciones se utilizan diversos modos de direccionamiento.
Los tipos de datos y las instrucciones empleadas en el lenguaje de programación, fueron:
Para mantener un orden se establecieron varias estructuras y funciones para que en estas se utilizaran decimales, hexadecimales, binarios, caracteres y cadenas y operaciones aritméticas, además se añadieron arreglos de diferentes tipos (dimecionales, bidimensionales y multidimensionales), también la utilización de puntero para la optimización del simulador del procesador AVR. Estas instrucciones se realizaron para facilitar la implementación el excelente resultado de las instrucciones numérico-lógicas, establecidas para el trabajo.
En el código del simulador se anexaron en total 28 instrucciones y estas son:
ADC, ADD, AND, ANDI, BREQ, BRGE, BRLO, BRNE, BRSH, CLR, COM, CP, CPI, DEC, EOR, INC, JMP, LDI, MOV, NEG, OR, ORI, RJMP, SBC, SBCI, SER, SUB, SUBI.
Estas son las encargadas para este simulador AVR, de modificar los 32 registros.
III. ANALISIS
El trabajo debió ser realizado en un mes, por tanto se explicara detenidamente lo realizado en este tiempo (bitácora).
Lunes 17 de febrero: En este día nos reunimos y discutimos nuestras ideas acerca de la metodología que vamos a utilizar para empezar a realizar el simulador, decidiendo utilizar el C++builder 5 como principal herramienta, también llegamos a la conclusión de que el programa que íbamos a realizar, lo basaríamos en nuestros conocimientos en estructuras, funciones y punteros.
Miércoles 19 de febrero: Realizamos bosquejos de la interfaz gráfica que íbamos a utilizar.
Viernes 21 de febrero: En este día se realiza la interfaz gráfica y empezamos
...