Análisis general de un Microprocesador • • • • • • • Arquitectura del chip Repertorio de instrucciones Sistema mínimo Señales de control Función de cada pin del µP Herramientas de desarrollo Performance 1. ARQUITECTURA DEL CHIP Se analiza: • Longitud de palabra • Longitud de la instrucción • Bus de direcciones de memoria de programa • Bus de direcciones de memoria de datos • Bus de datos • Buses internos • Organización de los registro (registros dedicados) 2. REPERTORIO DE INSTRUCCIONES (Set de instrucciones) • Es el conjunto de instrucciones que puede realizar un microprocesador • Instrucciones aritméticas • Instrucciones lógicas • Instrucciones de transferencias de datos • Instrucciones de bifurcación (de salto) • Instrucciones de llamado y vuelta de subrutinas • Instrucciones de comunicación • Instrucciones varias (misceláneas) 2. Set de instrucciones Instrucciones aritméticas Suma, resta, multiplicación, división (punto fijo punto flotante) incremento, decremento, etc Instrucciones lógicas And, Or, Xor, Not, Rotación, Comparación. Que operandos pueden usarse. Instrucciones de transferencias de datos Movimiento entre registros, entre registros y direcciones de memoria, entre direcciones de memoria, movimientos de entrada/salida. Instrucciones de bifurcación Saltos incondicionales, saltos condicionales, condición de los registros, de banderas, decremento y salto, etc. Instrucciones de llamado y vuelta de subrutinas Llamados a subrutinas y retorno de subrutinas incondicional o condicional. Instrucciones de comunicación Permiten la comunicación con otros procesadores Instrucciones varias (misceláneas) Operaciones del stack, Instrucciones relacionadas con las interrupciones. El número y la complejidad de las instrucciones que puede ejecutar el µP define si se trata de un CISC o un RISC. 3. Sistema mínimo Para poder trabajar una unidad de computo necesita un número mínimo de elementos: * Microprocesador * Memoria (de programa y de datos) * Entrada/salida * Sistema de decodificación * Reloj Estos elementos ya se han visto durante el curso, y se conoce su importancia y su funcionamiento. Como se trata de un sistema sincrónico es necesario contar con un elemento que provea la señal de sincronismo. El circuito oscilador puede ser externo al µP o puede estar integrado dentro del chip, la frecuencia de oscilación esta fijada por un cristal o por un RC. Los µP aceptan un rango de frecuencias para el sincronismo. Los que permiten cero como frecuencia mínima simplifican la posibilidad de ejecutar un programa paso a paso. * Fuente de alimentación El fabricante especifica valor de tensión máxima y mínimas admisibles El corte de alimentación en un instante hace perder el contenido de los registros internos del µP. Valores mayores (o negativos) de los permitidos pueden destruir el chip. * Sistema de reset Todo µP tiene que comenzar con sus registros internos en un valor perfectamente definido, además muchas veces deben generar tensiones negativas que se usan internamente. Esto lleva un cierto tiempo durante el cual el chip no puede trabajar. Para garantizar este tiempo existe una entrada de reset que debe estar activada un cierto tiempo, luego que se alimenta el chip. Generalmente se usa un circuito RC. Se debe garantizar que cada vez que se interrumpe la tensión de alimentación del µP se activa la pata de reset. Análisis de un Microprocesador 4. SEÑALES DE CONTROL Esta señales entran o salen del micro de modo lograr un correcto funcionamiento del sistema. Estas varían mucho según el µP usado algunas mas o menos comunes son: Read, Write, Reset out, Timer out, Reset, Entradas de interrupciones, etc. 5. FUNCIÓN DE CADA PIN DEL µP Aquí es donde hay mayor diferencia entre los distintos µP, desde el número de pines hasta la función de cada uno. Aquí es importante analizar las características eléctricas de cada pin, para saber las tensiones de trabajo y las corrientes máximas que son capaces de soportar, como así la carga que presentan cuando se trata de entradas. 6. HERRAMIENTAS DE DESARROLLO Los fabricantes cuentan con herramientas de desarrollo que están diseñadas para trabajar con cada µP. Ensamblador, simulador, emulador, cross complilador etc. Hay que evaluar las características, disponibilidad y costo de las mismas. 7. PERFORMANCE DEL PROCESADOR Según la tarea que se quiere realizar, se debe conocer la velocidad de trabajo y el consumo. Si se optimiza el consumo puede ser adecuado un procesador y si se quiere trabajar rápido otro. Otras cosas a tener en cuenta podrían ser: * Tiempo de entrenamiento. * Temperatura de trabajo y de almacenamiento. * Precio y si están disponibles en el mercado. El microprocesador Intel 8085 Características generales: • Está realizado en una única pastilla (o chip) en tecnología NMOS. • Es de 8 bits con capacidad de direccionamiento de 64K. • Alimentación única de 5V y generación interna de clock. • Dispone de 78 instrucciones. Modos de direccionamiento: directo, registro, registro indirecto e inmediato. • Integra un sistema de interrupciones vectorizadas enmascarables con prioridad y una no-enmascarable. • La parte baja del bus de direcciones está multiplexada con el bus de datos, lo que permite reducir el número de terminales. Distribución de terminales El microprocesador Intel 8085 Arquitectura interna del chip: El microprocesador Intel 8085 Detalle de la generación Interna del clock: Obtención del bus de direcciones por medio de un latch 74LS374: Diagrama de tiempos de la señal ALE: El μP Intel 8085: sistema mínimo genérico Familia de chips diseñados para el μP 8085 8212: Latch de 8-bits usado para des-multiplexar el bus de direcciones/datos. 8355 / 8755: 2K bytes ROM/EPROM 2 puertos de 8 bits (configurables como I/O) 8155 / 8156: 256 bytes de RAM estatica 2 puertos de 8 bits 1 puerto de 6 bits 1 timer de 14 bits 8253: 3 timers independientes de 16-bits 8279: controlador de display/teclado Existen otros chips de la familia 8XXX con mas funciones: comunicacion serial (8251), paralela (8255), controlador de floppy disk (8271), crt, interrupciones, etc. El μP Intel 8085: sistema mínimo con chips de la familia El μP Intel 8085: sistema mínimo usando memorias estándar El μP Intel 8085: registros internos Registros internos de programación de μP 8085. El μP Intel 8085: algunas instrucciones Instrucciones aritméticas/lógicas INR r DCR r ADD r Instrucciones de transferencias de datos MVI r,dato LDA dir STA dir MOV r1,r2 Instrucciones de bifurcación JMP dir JZ dir JNZ dir Instrucciones de llamado y vuelta de subrutinas CALL dir RET Instrucciones de comunicación IN dir OUT dir Instrucciones varias (misceláneas) PUSH rr POP rr RIM, SIM, HLT, NOP, etc… Se trata de un procesador CISC… El μP Intel 8085: modos de direccionamiento • Los modos de direccionamiento que tiene un set de instrucciones, son las distintas maneras de acceder a un objeto. • El μP 8085 tiene fundamentalmente 4 modos de direccionamiento: 1. 2. 3. 4. Directo Registro Inmediato Registro indirecto Directo: Se indica, en el byte 2 y el byte 3 de la instrucción, la dirección donde está el dato. Ejemplo: LDA 3027h A Å (3027h) 3A 27 30 Registro: El código de instrucción indica el registro (o registro par) en donde está el dato. Ejemplo: ADD B A Å A+B 1000000 El μP Intel 8085: modos de direccionamiento Inmediato: La instrucción contiene el dato en si mismo. Puede ser de 8 o 16 bits. Ejemplo 1: MVI D,73h D Å 73h 00010110 01110011 Ejemplo 2: LXI SP,7FFFh SP Å 7FFFh 00110001 11111111 01111111 Registro indirecto: La instrucción indica un registro que contiene la dirección donde está el dato. Ejemplo: MOV C,M C Å (HL) 01001110 Ciclos de máquina • Cada acceso de R/W corresponde a un ciclo de máquina. • Toda instrucción consiste en una secuencia de 1 a 5 ciclos de máquina (dependiendo de la instrucción). • Cada ciclo de máquina consiste de un mínimo de 3 y hasta 6 ciclos de clock. • Existen 7 tipos distintos de ciclos de máquina. • Veamos por ejemplo la instrucción STA: Ciclos de máquina • Cualquier instrucción es básicamente una secuencia de ciclos de máquina. • La cantidad de ciclos y el tipo de estos quedan determinados al final de ciclo M1, una vez que se decodifica el OPCODE. • Los diferentes tipos de ciclos son: Machine Cicle IO/M S1 S0 R W INTA Opcode fetch (OF) 0 1 1 0 1 1 Memory read (MR) 0 1 0 0 1 1 Memory write (MW) 0 0 1 1 0 1 I/O read (IOR) 1 1 0 0 1 1 I/O write (IOW) 1 0 1 1 0 1 Interruption acknowledge (INA) 1 1 1 1 1 0 Bus idle (BI) 0 1 0 1 1 1 • Todos los ciclos de máquina consisten de 3 ciclos de clock, salvo el M1 que es normalmente de 4 (puede ser de 6 para ciertas instrucciones) Ciclos de máquina • El μP entrega información al exterior acerca de que ciclo esta ejecutando, a través de los pines S0, S1, IO/M y de las líneas de control. • Ejemplo: MVI A,32h Diagramas de tiempo: convenciones Ciclos de máquina: instrucción MOV r1,r2 • Código de máquina: 01DDDSSS donde SSS es la fuente (r2) y DDD es el destino (r1).