Electrónica Digital UPM DIE LECCI ÓN 13 LECCIÓN 13 MICROCOMPUTADORES MICROCOMPUTADORES Introducción: Introducción: Conceptos Conceptos básicos básicos Sistema Sistema microcomputador microcomputador Unidad Unidad Central Central de de Proceso Proceso (CPU) (CPU) Memoria Memoria 13-1 13. Microcomputadores Electrónica Digital UPM DIE Introducción ¿Por qué qué surgen los microprocesadores? Circuitos Circuitos digitales digitales Avance Avancetécnico técnico Circuitos Circuitosmás más complejos complejos ¾ Circuitos específicos con alto coste de desarrollo ¾ Difícil justificación utilidad/coste ¾ Nueva aplicación Æ Nuevo diseños 13. Microcomputadores Especialización Especialización Alto Altocoste coste ¿¿Es Es posible posible un un circuito circuito para para varias varias tareas? tareas? 13-2 1 Electrónica Digital UPM DIE Introducción Solució Solución: Microprocesadores ¾ Circuito de propósito general ¾ Programable Sistema Sistema computador computador Software Software Hardware Hardware Programa que controla su funcionamiento Componentes físicos 13-3 13. Microcomputadores Electrónica Digital UPM DIE Secciones primarias ¾ Memoria ¾ CPU ¾ Entrada/Salidas Memoria Memoria Almacena: • datos • programa 13. Microcomputadores CPU CPU Ejecuta instrucciones del programa Entrada Entrada Salida Salida Dispositivos para comunicarse con el exterior 13-4 2 Electrónica Digital UPM DIE Comunicación dentro del microcomputador ¾ Bus de datos (longitud de palabra) ¾ Bus de direcciones ¾ Bus de control La comunicación tiene lugar a través de buses Bus Æ conjunto cables que permiten flujo información Entrada Entrada Salida Salida CPU CPU Memoria Memoria Bus direcciones Bus datos Bus control 13-5 13. Microcomputadores Electrónica Digital UPM DIE Registros, direcciones ¾ Memoria formada por registros, o posiciones de memoria ¾ Cada registro tiene un número de identificación Æ dirección FFF Registro 1 Memoria Memoria Dirección 005 004 003 002 001 000 13. Microcomputadores 0 0 1 1 0 0 1 Capacidad de direccionamiento: Número de posiciones de memoria que el procesador puede especificar. Determinada por el nº de bits del bus de direcciones (NA). 2NA Ejemplo: Bus de direcciones 10 bits puede direccionar 210 =1024 (1k) posiciones de memoria 13-6 3 Electrónica Digital UPM DIE Salidas triestado Salidas triestado Para evitar que dos registros impongan tensiones distintas en un bus, lo que producirí produciría un cortocircuito se utilizan salidas triestado Y A c C = 1 Æ Y = A (salida = entrada) C = 0 Æ Y = Z (salida = alta impedancia) Bus X1 X1 X2 Si X1 = 1 y X2 = 0 en la línea del bus aparecería un conflicto, para evitarlo salidas triestado X3 C2=1 c1 Seleccionamos qué dato (X2) queremos poner en el bus X2 c2 X3 c3 13-7 13. Microcomputadores Electrónica Digital UPM DIE Almacenamiento de datos y programa Memoria Memoria Libre Programa Datos Dirección Contenido 1005 operando 1004 operando 1003 opcode 1002 operando 1001 opcode 1000 opcode Ejemplo, si el ancho de la memoria es de 1byte: instrucción de 3 bytes instrucción de 2 bytes instrucción de 1 byte ¾ Numéricos ) Enteros (con/sin signo) ) Punto fijo/flotante ¾ Texto Opcode Opcode (código (código de de operación): operación): define define la la operación operación que que ha ha de de ejecutar ejecutar una una instrucción. instrucción. Operando: Operando: información información que que acompaña acompaña al al opcode opcode (dato, (dato, dirección) dirección) 13. Microcomputadores 13-8 4 Electrónica Digital UPM DIE Estructura de un microprocesador Bus Datos Externo Bus Datos Interno Acumulador SP PC R0 R1 RN ALU Reg Instr Control y Decodificación Banderas Bus Direcciones Interno Bus Direcciones Externo 13. Microcomputadores Electrónica Digital 13-9 UPM DIE Estructura de un microprocesador Acumulador ¾ Registro de uso general ¾ Mayor parte de operaciones sobre él o relacionadas con él ¾ Muy ligado con la ALU Registros índice Almacenan información sobre direcciones Normalmente se pueden incrementar o decrementar de forma automática para acceso secuencial de direcciones 13. Microcomputadores 13-10 5 Electrónica Digital UPM DIE Estructura de un microprocesador Registro instrucciones ¾ Registro que almacena el opcode para su ejecución ¾ Conectado a unidad de control y decodificación de instrucciones Contador de programa Almacena la dirección de memoria del siguiente byte de programa. Al finalizar la ejecución de una instrucción, el contador del programa apunta a la siguiente instrucción a ejecutar. Se incrementa cada vez que se extrae un byte, señalando al siguiente de manera automática. 13-11 13. Microcomputadores Electrónica Digital UPM DIE Estructura de un microprocesador Unidad Aritmé Aritmético Ló Lógica (ALU) ¾ Realiza operaciones aritméticas y lógicas necesarias para ejecutar distintos opcodes ) Resta, suma, incremento, decremento ) AND, OR, XOR ) Desplazamiento izquierda, derecha, rotación de palabras de datos Registro de estado (Banderas) Relacionado con la ALU Indican estados de operaciones Existen reglas de cuando cambian Existen instrucciones que dependen de banderas Æ saltos Ejemplo Z (Zero) se pone a 1 si el resultado de una operación es cero y a cero si el resultado es distinto de cero 13. Microcomputadores 13-12 6 Electrónica Digital UPM DIE Estructura de un microprocesador Unidad de control y decodificació decodificación ¾ Corazón del procesador ¾ Extrae de forma secuencial instrucciones y las ejecuta Ciclo Ciclo de de Búsqueda Búsqueda ¾ Secuencia fija de señales de control ¾ Objetivo: pone el opcode en el registro de instrucciones Decodificador de Instrucciones Registro Instrucciones opcode Ciclo Ciclo de de Ejecución Ejecución ¾ Después de decodificar la instrucción se genera la secuencia apropiada de señales de control para poder ejecutarla. Esta secuencia de señales es el ciclo de ejecución. ¾ Depende de cada instrucción. 13-13 13. Microcomputadores Electrónica Digital UPM DIE Búsqueda y ejecución de una instrucción. Ejemplo 1 byte LDA 3F “Cargar acumulador con dato 3F” Ciclo Ciclo de de Búsqueda Búsqueda 11 CP(CF01) ÖAB (Address Bus) 22 Habilita señal de lectura en memoria “LDA” ÖDB (Data Bus) 33 DB(“LDA”) ÖRI 44 CP =CP+1 (CF02) 13. Microcomputadores CP 3F “LDA” CF03 CF02 CF01 CF00 13-14 7 Electrónica Digital UPM DIE Búsqueda y ejecución de una instrucción. Ejemplo El código de la instrucción se decodifica y se lanza la secuencia de señales apropiada Ciclo Ciclo de de Ejecución Ejecución 55 CP(CF02) ÖAB (Address Bus) 66 Habilita señal de lectura en memoria 3F ÖDB (Data Bus) 77 DB(3F) ÖA 88 CP =CP+1 (CF03) El contador del programa se queda apuntando a la siguiente instrucción a ejecutar. 13-15 13. Microcomputadores Electrónica Digital UPM DIE Estructura de un microprocesador Puntero de pila Registro especial que poseen la mayoría de microprocesadores. Almacena dirección que apunta a la posición actual de memoria de la pila. Hay instrucciones cuyo opcode origina tratamiento de información en la posición definida por el apuntador de pila. SP SP 1001 1000 Push A 13. Microcomputadores pila pila pila Introduce A Incrementa SP SP A 1000 Pull Decrementa SP Extrae valor 13-16 8 Electrónica Digital UPM DIE Tipos de memoria Las memorias son dispositivos capaces de almacenar información, que se puede leer o modificar por el procesador cuando éste ejecuta una instrucción de lectura o escritura en memoria. Primaria (RAM, ROM, acceso rápido) y secundaria (disco duro o unidades de disco, acceso relativamente lento). RAM (Random (Random Access Memory) Memory) Memoria de Acceso Aleatorio. Suele almacenarse información que debe cambiarse durante la ejecución de un programa. El tiempo de acceso a cualquier dato es el mismo. Es volátil, sin alimentación de cc. se pierden los datos. Tipos de RAM (dos técnicas diferentes): RAM estática (Biestables). La información se mantiene siempre que haya alimentación. RAM dinámica (Matriz de carga/descarga de condensadores). Necesita refresco, es decir, actualizar el valor de los condensadores. 13-17 13. Microcomputadores Electrónica Digital UPM DIE Tipos de memoria ROM (Read (Read Only Memory) Memory) Memoria de sólo lectura. El procesador no puede escribir en ella. No volátil. Almacenan programas o información que no deba cambiar. Programados por el fabricante del dispositivo por litografía. PROM (Programmable (Programmable Read Only Memory) Memory) Memoria ROM programable por el usuario. Una sola programación. EPROM (Erasable (Erasable and Programmable Read Only Memory) Memory) Memoria PROM que se puede borrar (rayos ultravioletas, ventana de mica) y volver a programar por medio de un programador EPROM. EEPROM (Electrically (Electrically Erasable and Programmable Read Only Memory) Memory) Memoria EPROM que se puede borrar y volver a programar eléctricamente sin quitarla de su sitio en el circuito electrónico. 13. Microcomputadores 13-18 9 Electrónica Digital UPM DIE Estructura de una memoria 00 Direcciones 2Na bits 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 01 10 DEC Bus direcciones Na bits A1 = 0 A0 = 1 11 Selecciona la línea 01 Lectura/Escritura CONTROL D3 D2 0 1 D1 D0 0 0 Bus datos Nd bits 13-19 13. Microcomputadores Electrónica Digital UPM DIE Dispositivo típico de memoria Vcc (alimentación) Bus de direcciones Bus de control Lectura Escritura CS Memoria Tierra Bus de datos Ejemplo: Memoria 1 kbytes • Si la longitud de palabra de la memoria es de 8 bits, se necesitan 10 bits para direccionar 1 kbytes (1k direcciones x 8 bits de datos = 1 kbytes) • Si la longitud de palabra de la memoria es de 16 bits, se necesitan 9 bits para direccionar 1 kbytes (512 direcciones x 16 bits de datos =1 kbytes) CS (Chip Select): Habilita la selección del chip, cuando se encuentra deshabilitado el dispositivo no responde al resto de señales de control. 13. Microcomputadores 13-20 10 Electrónica Digital UPM DIE Configuración de la memoria Mapa de memoria Configurar mapa de memoria Bus datos 8 bits ROM 2 kbytes EPROM 2 kbytes RAM 4 kbytes Tamañ Tamaño Líneas bus direcciones Direcciones RAM 4 kbytes 12 lí líneas A0 – A11 EPROM 2 kbytes 11 lí líneas A0 - A10 ROM 2 kbytes 11 lí líneas A0 - A10 Total 8 kbytes 13 lí líneas A0 - A12 1FFF RAM 4Kbytes 1000 0FFF 0800 07FF 0000 EPROM 2Kbytes ROM 2Kbytes 8 kbytes = 23·210 Æ 13 líneas 13-21 13. Microcomputadores Electrónica Digital UPM DIE Configuración de la memoria Decodificació Decodificación de direcciones Mapa Mapa de de memoria memoria 1FFF RAM 4Kbytes EPROM 2Kbytes ROM 2Kbytes 12 11 A11 1 1 1 0 0 1 EPROM 0 0 ROM 0001 1111 1111 1111 0001 1000 0000 0000 0001 0111 1111 1111 1000 0FFF 0001 0000 0000 0000 0000 1111 1111 1111 0800 07FF 0000 1000 0000 0000 0000 0111 1111 1111 0000 0000 0000 0000 0000 13. Microcomputadores A12 RAM 13-22 11 Electrónica Digital UPM DIE Configuración de la memoria Circuito Circuito decodificador decodificador de de direcciones direcciones A12 Solución 1 CS RAM A12 A11 1 1 CS EPROM RAM A11 1 0 0 1 EPROM 0 0 ROM CS ROM A12 Solución 2 A11 CS RAM E0 S1 CS EPROM en S0 CS ROM DEC 13-23 13. Microcomputadores Electrónica Digital UPM DIE Configuración de la memoria Esquema de memoria con conexió conexión de buses Bus de direcciones A12 CS RAM A11 A0-A11 Bus de datos D0-D7 R/W Decodificador de direcciones CS EPROM A0-A10 D0-D7 R Señal escritura sólo en RAM A0-A10 CS ROM D0-D7 R 13. Microcomputadores 13-24 12 Electrónica Digital UPM DIE Periféricos de E/S típicos Tipo Tipo Sirven Sirven para para Ejemplos Ejemplos (estándares) (estándares) E/S E/S paralelo paralelo Control Control yy comunicaciones comunicaciones (entrada, (entrada, salida, salida, bidir) bidir) Centronics Centronics (impresoras) (impresoras) E/S E/S serie serie Comunicaciones Comunicaciones UART, UART, USART, USART, USB, USB, I2C, I2C, FireWire, FireWire, CAN, CAN, etc. etc. Temporizadores Temporizadores yy contadores contadores Control Control (en (en general) general) Datado Datado (en (en particular) particular) Perro Perro guardián guardián (watchdog) (watchdog) Control Control de de la la ejecución ejecución correcta correcta de de un un programa programa Convertidores Convertidores A/D A/D yy D/A D/A Adquisición Adquisición yy generación generación DSP: DSP: Digital Digital Signal Signal Processing Processing Controladores Controladores específicos específicos Discos Discos duros, duros, disquetes, disquetes, etc. etc. SCSI, SCSI, IDE, IDE, ATAPI, ATAPI, VGA, VGA, ... ... 13-25 13. Microcomputadores Electrónica Digital UPM DIE Puertos y registros de Entrada/Salida Puerto Puerto de de E/S E/S Circuitería que permite leer y/o gobernar señales externas. Diferentes tipos: E/S paralelo, E/S serie, E/S analógica, controladores, ... Registros Registros de de E/S E/S Señales externas uP Mem E/S Direcciones Datos Control Registros asociados a los puertos de E/S. Cada puerto de E/S puede tener asociados varios registros (o un registro afectar a varios puertos). Existen registros asociados a los datos (las señales a controlar) y al control del flujo de información (el modo de operación). Los registros de E/S se acceden mediante instrucciones de lectura/escritura o de entrada/salida. Puertos Puertos de de E/S E/S paralelo paralelo Puerto de E/S en el que se controlan varias señales externas al mismo tiempo. El tamaño (nº de bits) del puerto suele coincidir con la longitud de palabra del uP. Pueden ser de entrada, salida, o programables (E/S) 13. Microcomputadores 13-26 13 Electrónica Digital UPM DIE Puertos de E/S en el 68HC11 Los puertos de E/S en el 68HC11 pueden operar en varios modos Puertos Puertos de de E/S E/S Puerto B: sólo salidas, también usado como bus de direcciones. Puerto C: programable, también usado como bus de datos/direcciones. Puerto E: sólo entradas, compartido con el CAD. Puerto A: Mixto, especializado en tratamiento de interrupciones. Puerto D: programable, compartido con la E/S serie. 13-27 13. Microcomputadores Electrónica Digital UPM DIE Microprocesadores y Microcontroladores ¾ Microprocesador (uP): circuito de computación integrado en un chip Microprocesador ALU Memoria CU REGS Dispositivos de Entrada y Salida (interruptores, relés, teclado, ratón, pantalla, disco, etc.) ¾ Microcontrolador (uC): Dispositivo integrado que incluye un microprocesador, memoria y dispositivos periféricos (dispositivos de entrada/salida, convertidores A/D, puertos de comunicación, etc.). Microcontrolador Memoria CPU (micro) ALU CU E/S (interruptores, relés, teclado, ratón, pantalla, disco, etc.) REGS 13. Microcomputadores 13-28 14