1 UNIDAD 2 Unidad de Microprocesador (MPU) Microprocesadores Otoño 2011 Contenido 2 Unidad de Microprocesador Generalizada Memoria Dispositivos de Entrada y Salida Sistemas basados en Microprocesadores Unidad de Microprocesador Generalizada 3 La Unidad de Microprocesador (MPU) es un dispositivo lógico programable con un determinado conjunto de instrucciones. El proceso de ejecución de una instrucción consiste en adquirir, decodifica y ejecutar la tarea especifica MPU 4 Adquirir Ejecutar Decodificar El proceso de comunicación y operaciones relacionadas entre el MPU y dispositivos externos se clasifica en dos categorías Operaciones iniciadas por el MPU Operaciones iniciadas por los periféricos Operaciones del MPU 5 MPU Perifericos • Lectura de Memoria • Escritura de Memoria • Lectura de I/O • Escritura de I/O • Reset • Interrupción • Espera • Solicitud del Bus Unidad de Memoria Dirección 6 La Unidad de Memoria es un conjunto de registros de 8 bits. Cada registro esta definido como una localidad de Memoria La localidad de memoria es identificada por un numero conocido como dirección. Memoria 000 1 0 0 1 1 0 1 0 001 0 0 1 0 1 1 1 0 010 1 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 111 0 0 0 1 1 0 1 0 Registro de 8 bits Operaciones del MPU 7 El bus es un conjunto de señales que se activan al mismo tiempo para proveer información Los pasos para ejecutar las operaciones del MPU son: ◦ ◦ ◦ Identificar la locación de memoria o la dirección del periférico Proveer las señales de sincronización y temporización Transferir los datos Operaciones del MPU 8 Adquirir Identifica dirección de memoria o periférico Decodificar • Ejecutar • Provee las señales de sincronización Transfiere datos • Dirección • Datos • Señales de Control Buses 9 Am A0 Dn Reconocimiento de Solicitud D0 Unidad de Microprocesador Bus de Dirección Bus de Datos Señales de Control Microprocesadores tales como Z80 y 8085 tienen 16 líneas en su bus de dirección. Por lo tanto son capaces de direccionar 216 = 64K Buses 10 Bus de datos ◦ ◦ El tamaño del bus de datos determina el tamaño del numero binario que puede ser transferido. El tamaño del bus de datos afecta el desempeño y rapidez del microprocesador Bus de Control ◦ El MPU genera una señal de control especifica para las siguientes operaciones Lectura de memoria Escritura de memoria Lectura I/O Escritura de I/O Solicitud Externa 11 Existen varios ocasiones en las que la operación del MPU puede ser interrumpida ◦ Reset ◦ Interrupción ◦ Para tu proceso actual y realiza algo mas critico Espera ◦ Empieza nuevamente desde el principio Cuando la velocidad de respuesta de la memoria es muy lenta, retrasa la operación del MPU Solicitud del Bus Cuando las operaciones del MPU son lentas comparadas con los periféricos, entonces los periféricos pueden solicitar el uso de los buses Arquitectura Interna del Microprocesador 12 Decodificador de Instruccion Unidad Lógica Aritmética (ALU) Banderas Bus Interno Registros Registros Apuntadores a Memoria EPROM Memoria Borrable EEPROM 13 Read-Only Memory (ROM) Flash ROM Permanente Primaria PROM Estática Read/Write Memory Dinámica Memoria Floppy Acceso Aleatorio Discos Duro Acceso Serial Cintas Magneticas CD-ROM Secundaria Memoria Primaria 14 Memoria de Lectura y Escritura comúnmente conocida como RAM (Random Access Memory) La memoria RAM es volátil, lo que significa que cuando la alimentación se apaga, pierde toda la información Existen dos tipos de memoria RAM ◦ ◦ Memoria Estática Memoria Dinámica RAM 15 Memoria Estática (SRAM) Memoria Dinámica (DRAM) • Almacena los bits como voltaje • Tiene una baja densidad pero alta velocidad • Es una memoria cara y consume mayor potencia que la dinámica • La memoria Cache incluida en los microprocesadores es SRAM • • • • Almacena bits como carga Tiene una alta densidad y bajo consumo de potencia Es mas barata que la memoria SRAM Su principal desventaja es que la carga se fuga, por lo cual se requiere refrescarla. Por lo cual requiere circuitería extra, aumentando el costo del sistema. • Para memorias pequeñas de menos de 8K es mas apropiada SRAM. Read-Only Memory 16 ROM es una memoria no volátil, es decir, retiene la información aun si la alimentación es apagada. Esta memoria es usada para almacenar datos y programas que no deben ser alterados Existen 5 tipos de ROM ◦ ◦ ◦ Masked ROM PROM, EPROM EEPROM Flash memory Read-Only Memory 17 Masked Rom, la información es almacenada mediante un proceso de enmascaramiento y metalización. Este es un proceso caro, pero económico para grandes cantidades de producción. PROM (Programable ROM). Esta memoria esta formada por una matriz de polisilicio y sus líneas actúan como fusibles. Esta memoria puede ser programada por medio de un programador que quema los fusibles. Read-Only Memory 18 EPROM (Erasable Programable ROM). ◦ ◦ ◦ ◦ ◦ Esta memoria almacena la información como carga de la compuerta de un transistor. Esta memoria se programa aplicando voltaje alto para cambiar la carga del transistor. La memoria puede ser borrada exponiéndola a luz ultravioleta a través de su ventana de cuarzo Debido a la facilidad de programación y borrado es ideal para el desarrollo de proyectos experimentales Sus desventajas son Se debe sacar del sistema para borrarla El chip completo es borrado El proceso de borrado toma 15 a 20 min Read-Only Memory 19 EEPROM (Electrically Erasable PROM). ◦ ◦ La información puede ser alterada usando señales eléctricas al nivel de registro, y no borrar el chip completo Esta memoria incluye el modo de borrado completo que se lleva a cabo en 10ms Memoria Flash ◦ ◦ ◦ Es una variante de las EEPROM Esta memoria es ideal para aplicaciones de baja potencia Los niveles de borrado de esta memoria son: bloque (conjunto de registros) chip completo. Memoria Primaria 20 Memoria de Escritura y Lectura (R/WM) esta formada por registros. Cada registro esta formado por flip-flops Esta memoria se ocupa para almacenar datos o programas. ROM esta formada almacena información permanentemente usando un arreglo de transistores. Flip-Flops como elemento de almacenamiento 21 La memoria es un circuito que puede almacenar bits en su elemento básico de almacenamiento conocido como flip-flop Para almacenar un nuevo valor en el flip-flop requerimos de una dato y una señal de habilitación. Q DIN D EN EN Q DOUT D EN Flip-Flops 22 Celda de Memoria Tri-State Buffer en la salida DIN D EN EN Q RD El bit almacenado puede ser leído solamente si el buffer es habilitado DOUT DIN D Q WR EN EN RD Al introducir un buffer en la entrada de datos del flip-flop, ahora podemos escribir solo si el buffer es habilitado DOUT Registro 23 I3 I2 I1 I0 WR D D Q EN D Q EN D Q EN Q EN EN RD O3 O2 O1 O0 Registro 24 I3 WR I2 I1 I0 Buffer de Entrada WR EN EN Registro RD Buffer de Salida O3 O2 O1 Registro de 4 bits RD O0 El número de bits almacenados en un registro es llamado palabra de memoria. Registro 4 × 8 bits I7 25 WR A2 RD I5 I4 I3 I2 I1 I0 Buffer de Entrada Decodificador 2-4 A1 I6 11 10 01 00 Buffer de Salida O7 O6 O5 O 4 O3 O2 O1 O0 Unidad de Memoria con 8 registros 26 WR RD RD A2 A1 A0 111 110 101 100 011 010 001 000 WR R7 R6 R5 R4 R3 R2 R1 R0 Líneas de I/O Chip Select Signal 27 Cuando existen líneas de dirección adicional se puede utilizar la señal de selección del chip. Esta señal habilita a uno de los dos chip y se obtiene la información del registro deseado A3 A2 A3 A2 CS A1 A0 0011 0010 0001 0000 RD WR R3 R2 R1 R0 Líneas de I/O CS A1 A0 1011 1010 1001 1000 RD WR R3 R2 R1 R0 Líneas de I/O Requerimientos de un chip de Memoria 28 Se requiere de Líneas de dirección para identificar el registro de memoria Una señal (CS) para habilitar al chip de memoria Señales de control para lectura y escritura El número de líneas de dirección requeridas es determinado por el número de registros en la memoria 2n registros requieren n líneas de dirección. Requerimientos de un chip de Memoria 29 Si existen líneas de dirección adicionales, se usan para la señal CS La señal de control RD habilita el buffer de salida, y el dato del registro seleccionado esta disponible a la salida Similarmente, la señal de control WR habilita el buffer de entrada y la información en las líneas de entrada puede ser escrita en el registro seleccionado Dispositivos de I/O El MPU usa 8 líneas de dirección para identificar dispositivos de I/O. A este tipo de direccionamiento se le conoce como Peripherals-mapped I/O El MPU puede identificar hasta 256 (28 = 256) dispositivos de entrada y 256 de salida Los dispositivos de entrada y salida son diferenciados por las señales de control I/O Read e I/O Write Dispositivos de I/O El rango de direcciones es de 00H a FFH es conocido como el mapa de I/O Las direcciones son referidas como dirección del dispositivo o número de puerto de I/O Para conectar dispositivos de I/O se deben resolver dos problemas Como asignarles una dirección Como conectarlos al bus de datos Dispositivos de I/O En una arquitectura de bus, los dispositivos no pueden conectarse directamente al bus de datos o direcciones. Todos los dispositivos deben conectarse a través de un dispositivo de interfaz tri-estado De esta manera, los dispositivos estarán conectados y habilitados solamente si el MPU escoge comunicarse con ellos. Dispositivos de I/O Los pasos para comunicarse con los dispositivos de entrada y salida son los siguientes El MPU coloca los 8-bit de dirección en el bus El MPU envía una señal de control para habilitar los dispositivos de I/O Se transfieren los datos vía el bus de datos. Arquitectura General de un MPU Dispositivos de I/O Decodificador de Instruccion Unidad Lógica Aritmética (ALU) Bus de Dirección Bus de Datos Registros Apuntadores a Memoria Señales de Control Banderas MPU Decodificador Reconocimiento de Solicitud Bus Interno Registros Buffer de Entrada Buffer de Salida Memoria D0 MEMRD MEMWR IOWR IORD D7 Bus de Datos Sensor de temperatura Convertidor A/D Input Port 1 LCD Output Port 3 A0 Output Port 2 Ventilador Output Port 1 A15 Calentador MPU RAM EPROM Ejemplo de un Sistema basado en Microprocesadores Bus de Dirección