Microprocesadores B) Arquitectura generalizada de una computadora LAS COMPONENTES PRINCIPALES DE UNA MICROCOMPUTADORA SON: Carlos Canto Q. Microprocesadores La Unidad Central de Procesamiento,CPU constituido por el Microprocesador CPU C. Canto /99 Carlos Canto Q. Microprocesadores LA UNIDAD DE MEMORIA CONFORMADA POR : 9MEMORIA DE SOLO LECTURA O ROM (READ ONLY MEMORY) 9 MEMORIA DE LECTO-ESCRITURA O RAM (RANDOM ACCESS MEMORY) CPU MEMORIA MEMORIA ROM RAM C. Canto /99 Carlos Canto Q. Microprocesadores LA UNIDAD DE ENTRADAS Y SALIDAS LOSMEDIOS MEDIOSPARA PARAINTRODUCIR INTRODUCIRYY LOS OBTENERDATOS DATOSDE DELA LA OBTENER COMPUTADORA COMPUTADORA CPU MEMORIA MEMORIA ROM RAM PUERTOS DE E/S C. Canto /99 Carlos Canto Q. Microprocesadores El medio físico de transporte de los datos entre el microprocesador y las otras componentes del sistema Es el que determina el número de bits del microprocesador La transferencia de datos es en ambas direcciones BUS DE DATOS CPU MEMORIA MEMORIA ROM RAM PUERTOS DE E/S C. Canto /99 Carlos Canto Q. Microprocesadores 9 ES UNIDIRECCIONAL Y TRANSPORTA DIRECCIONES PARA LA MEMORIA Y LOS PUERTOS DE ENTRADA Y SALIDA 9 LAS DIRECCIONES LAS EMITE EL MICROPROCESADOR BUS DE DATOS CPU MEMORIA MEMORIA ROM RAM PUERTOS DE E/S BUS DE DIRECCIONES C. Canto /99 Carlos Canto Q. Microprocesadores SIRVE PARA QUE EL MICROPROCESADOR ENVIE O RECIBA SEÑALES DE CONTROL PARA SINCRONIZARSE CON LAS DEMÁS COMPONENTES DEL SISTEMA BUS DE DATOS CPU MEMORIA MEMORIA ROM RAM PUERTOS DE E/S BUS DE DIRECCIONES BUS DE CONTROL C. Canto /99 Carlos Canto Q. Microprocesadores PERIFÉRICOS DE DE ENTRADA ENTRADA YY DE DE SALIDA SALIDA PERIFÉRICOS Periféricos de entrada: equipos que nos permitirán introducir datos a la computadora, como por ejemplo, el teclado. Periféricos de salida :Nos permiten obtener datos de la computadora, como ejemplo, una impresora BUS DE DATOS CPU MEMORIA MEMORIA ROM RAM PUERTOS DE E/S Periférico de Salida Periférico de entrada BUS DE DIRECCIONES BUS DE CONTROL C. Canto /99 Carlos Canto Q. Microprocesadores PRINCIPALES COMPONENTES DE UNA COMPUTADORA BUS DE DATOS CPU MEMORIA MEMORIA ROM RAM PUERTOS DE E/S Periférico de Salida Periférico de entrada BUS DE DIRECCIONES BUS DE CONTROL C. Canto /99 Carlos Canto Q. MICROPROCESADORES LA UNIDAD CENTRAL DE PROCESAMIENTO Carlos Canto Q. MICROPROCESADORES La Unidad Central de Procesamiento CPU La Unidad Central de Procesamiento o CPU (Central Processing Unit) también se le conoce como: 9 Procesador Central 9 Microprocesador Carlos Canto Q. MICROPROCESADORES Las funciones más importantes de la CPU son: Controlar el procesamiento de las instrucciones. Realizar las instrucciones lógicas y aritméticas. Proporcionar las señales internas y externas de sincronización. y otras operaciones de control Carlos Canto Q. MICROPROCESADORES La CPU está conformada por: La Unidad de control 9 La Unidad Lógica y Aritmética o ALU 9 Los registros Internos 9 Carlos Canto Q. MICROPROCESADORES ARQUITECTURA ESTÁNDARD DE UN MICROPROCESADOR Acumulador Acumulador FLAGS FLAGS REGISTROS REGISTROS NTERNOS NTERNOS DE DE1616BITS BITS REGISTROS REGISTROS NTERNOS NTERNOS DE DE88BITS BITS CONTROL CONTROL ALU ALU Carlos Canto Q. MICROPROCESADORES ARQUITECTURA ESTÁNDARD DE UN MICROPROCESADOR BUS EXTERNO DE DATOS BUS INTERNO DE DATOS ( 8 BITS) ACUMULADOR BANDERAS REGISTRO N REGISTRO 0 CONTADOR DEPROGRAMA APUNTADOR DE STACK C UNIDAD ALU DE CONTROL REGISTROS DE DATOS DE 8 BITS Z DESPLAZADOR BUS DE DIRECCIONES ( 16 BITS) Carlos Canto Q. MICROPROCESADORES Tareas de la Unidad de Control : BUS EXTERNO DE DATOS REGISTRO DE INSTRUCCIÓN DECODIFICADOR DE INSTRUCCIÓN GENERADOR DE RELOJ CIRCUITO DE CONTROL GENERADOR DE SECUENCIAS SEÑALES EXTERNAS DE CONTROL ( BUS DE CONTROL) SEÑALES INTERNAS DE CONTROL Trae y retiene la instrucción en el registro de instrucción Decodifica o interpreta la instrucción Genera la secuencia correcta de señales internas y externas para la ejecución de la instrucción Carlos Canto Q. MICROPROCESADORES La Unidad Lógica Aritmética ALU Es la parte de la CPU que realiza las operaciones lógicas y aritméticas. Estas operaciones son: 9 suma y resta aritméticas 9 funciones lógicas And, Or , Xor, Complemento 9 Desplazamientos y rotaciones En estas operaciones un operando y el resultado serán contenidos en el Acumulador. Carlos Canto Q. MICROPROCESADORES DIAGRAMA DE BLOQUES DE LA ALU BUS DE DATOS ACUMULADOR Registro de datos BANDERAS ALU Desplazador Carlos Canto Q. MICROPROCESADORES Los Registros Internos de la CPU Carlos Canto Q. MICROPROCESADORES Los Registros Internos de la CPU Los Registros De Propósito General Se llaman así porque su rol no está especificado. Carlos Canto Q. MICROPROCESADORES Los Registros Internos de la CPU Los Registros De Propósito General Son proporcionados para que la ALU pueda manipular datos a alta veloocidad. La implementación con flip-flops MOS permite el más rápido nivel de memoria disponible, y sus contenidos pueden ser accesados dentro de décimas de nanosegundos . Cada uno de estos registros es un grupo de 8 flip-flops, conectados al bus de datos interno bidereccional . Estos 8 bits pueden ser transferidos simultáneamente hacia y del bus de datos. Pueden contener cualquier dato manejado por el programa Estos registros En algunos microprocesadores (como el Z80), tienen la facilidad de manipular dos de estos registros al mismo tiempo. Agrupados así se les llama “PAR DE REGISTROS”. Este arreglo facilita el almacenamiento de cantidades de 16 bits , inclusive direcciones. Carlos Canto Q. MICROPROCESADORES Los Registros Internos de la CPU Registros de Propósito Específico (registros de direcciones) Los dos registros de propósito específico que todo microprocesador debe contener son : El Contador de Programa PC (ProgramCounter) Apuntador de Stack SP (Stack Pointer). Carlos Canto Q. MICROPROCESADORES Los Registros Internos de la CPU Ya que estos dos registros manejan direcciones de memoria definamos primero , lo que es una dirección Dirección: Es un grupo de bits, codificados en binario, que sirven para diferenciar una ubicación de memoria con respecto a otra (dirección de memoria) o para especificar algún puerto de entrada o salida ( dirección de puertos de E/S). Carlos Canto Q. MICROPROCESADORES Los Registros Internos de la CPU Las direcciones las envía el µProcesador, por el bus de direcciones. Bus de direcciones CPU CPU Memoria Memoria Puertos Puertos de de E/S E/S Carlos Canto Q. MICROPROCESADORES El contador de programa (PC) Es un registro que existe en todos los microprocesadores Registro de 16 bits y su contenido siempre es una dirección de memoria Contiene la dirección del inicio de la siguiente instrucción que será ejecutada. El programador solo puede salvarlo o cargarlo , no le podrá realizar ninguna operación ni lógica ni aritmética. Carlos Canto Q. MICROPROCESADORES El contador de programa (PC) Dirección de memoria 100H 101H 102H 103H 104H 105H 106H 107H 108H 109H 10AH 10BH 10CH Contenido del PC al final de cada instrucción Instrucción 1 Instrucción 1 Instrucción 2 Instrucción 3 Instrucción 4 Instrucción 4 Instrucción 5 Instrucción 5 Instrucción 6 Instrucción 6 Instrucción 7 Instrucción 8 101H 103H 106H 107H 108H 109H 10BH El PC siempre contiene la dirección de memoria donde se encuentra la siguiente instrucción a ejecutar. La CPU incrementa automáticamente el contenido del PC en 1,2,3 ó 4 dependiendo de la longitud de la instrucción que se ejecuta 10DH Carlos Canto Q. MICROPROCESADORES El contador de programa (PC) El contenido del PC se deposita al bus de direcciones y se pasa a la memoria en la primera acción de la fase de “FETCH” ( búsqueda de una instrucción). Carlos Canto Q. MICROPROCESADORES El contador de programa (PC) Función del PC al capturar una instrucción de la memoria Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). PUSH Último El El último último dato dato que que entra entra al al Stack Stack se se encuentra encuentra en en la la parte parte superior superior Dato en entrar del del Stack Stack 1er. Dato en entrar Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). POP 1er. Dato en salir Último Dato en salir Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). Carlos Canto Q. MICROPROCESADORES El Stack o Pila Es un grupo de registros o localidades de memoria RAM estructuradas de tal forma que el primer dato introducido será el último en ser extraido. A esta estructura se le llama LIFO (Last Input First Output). POP El El último último dato dato que que sale sale del del Stack Stack es es el primero que se el primero que se introdujo introdujo Carlos Canto Q. MICROPROCESADORES El Stack o Pila El Stack pointer contiene la dirección de la parte superior del Stack, apuntando al último elemento introducido al Stack SP Carlos Canto Q. MICROPROCESADORES El Stack o Pila Técnicas Técnicas de de implementación implementación del del Stack Stack Stack Stackpor por software software Stack Stackpor por hardware hardware Carlos Canto Q. MICROPROCESADORES El Apuntador de Stack o Stack Pointer (SP) Carlos Canto Q. MICROPROCESADORES Ejemplo de ejecución de una instrucción Carlos Canto Q. MICROPROCESADORES Ejemplo de ejecución de una instrucción Se requiere ejecutar la instrucción siguiente: R0ÅA+R1 Carlos Canto Q. MICROPROCESADORES Ejemplo de ejecución de una instrucción Carlos Canto Q. MICROPROCESADORES Un Microprocesador generalizado POWER GND CLOCK BUS BUSDE DE DIRECCIONES DIRECCIONES RECONOCIMIENTO RECONOCIMIENTO DE DEPETICIONES PETICIONES UNIDAD UNIDADCENTRAL CENTRAL DE DEPROCESAMIENTO PROCESAMIENTO SOLICITUDES SOLICITUDES EXTERNAS EXTERNAS BUS BUSDE DE DATOS DATOS SEÑALES SEÑALESDE DE STATUS STATUSYYCONTROL CONTROL EXTERNAS EXTERNAS MMEMORY READ MEMORY WRITE IO READ IO WRITE STATUS Carlos Canto Q.