Arquitectura de Computadoras - Unidad de Control - 2024 - PDF
Document Details
Universidad Blas Pascal
2024
Tags
Summary
Esta presentación aborda la unidad de control de una CPU, incluyendo su estructura, funciones y ejemplos en un sistema de von Neumann y el conjunto de instrucciones. La presentación utiliza diagramas para ilustrar la arquitectura de las computadoras.
Full Transcript
UNIDAD DE CONTROL ESTRUCTURA DE LA MÁQUINA DE VON NUEMANN Computadora Unidad aritmético-lógica Equipos de E/S Memoria princip...
UNIDAD DE CONTROL ESTRUCTURA DE LA MÁQUINA DE VON NUEMANN Computadora Unidad aritmético-lógica Equipos de E/S Memoria principal Unidad de control de programa 2024 ESTRUCTURA DEL NIVEL SUPERIOR Máquina de von Neumann Computadora Secundarios Computador Unidad central de Memoria procesa- principal miento Computador Sistemas de interconexión Entrada/ salida Líneas de comunicación 2024 UNIDAD DE CONTROL periféricos Computador Unidad Central de Memoria Proceso Principal CPU Computador Sistema de interconexión Entrada Salida Líneas de comunicación 2024 UNIDAD DE CONTROL Ejemplo: Bus de Direcciones Memoria Periféricos Bus de Control CPU Principal Memoria Secundaria Bus de Datos La unidad de control controla el funcionamiento de la CPU: controla las transferencias de datos desde hacia la CPU y controla la ALU. 2024 UNIDAD DE CONTROL Ejemplo: 2024 UNIDAD DE CONTROL CPU Computer Unidad Registros Aritmética y I/O Lógica System CPU Bus Interconexión Memory Interna de la CPU Unidad de Control 2024 UNIDAD DE CONTROL Unidad de Control CPU Lógica ALU Secuencial Internal Control Unit Bus Unidad de control Registers de registros y decodificadores Memoria de control 2024 UNIDAD DE CONTROL Unidad de Control CPU Lógica ALU Secuencial Internal Control Unit Bus Unidad de control Registers de registros y decodificadores Memoria de control 2024 UNIDAD DE CONTROL ▪ Función de la unidad de control: ▪ Para cada instrucción hay un único código que ejecutará esa instrucción. ▪ Acepta la instrucción y genera las señales de control necesarias para que la instrucción se ejecute. 2024 ▪ Tareas de la CPU: ▪ Captar instrucción: la CPU lee una instrucción de la memoria. ▪ Interpretar instrucción: la instrucción se decodifica para determinar qué acción es necesaria. UNIDAD DE ▪ Captar datos: la ejecución de una instrucción puede exigir leer datos de la memoria o de un módulo I/O. CONTROL ▪ Procesar datos: en la ejecución se puede exigir llevar a cabo alguna operación aritmética o lógica con los datos. ▪ Escribir datos: los resultados de la ejecución pueden exigir escribir datos en la memoria o en un módulo I/O. ¿cuántos registros de propósito general? UNIDAD DE ▪ Óptimo entre 8 y 32 ▪ Si hay muy pocos registros entonces CONTROL se necesitan demasiados accesos a memoria. ▪ Más registros no reducen considerablemente las referencias a memoria y hace la CPU más compleja. ¿De cuántos bits deben ser los registros? ▪ Deben ser de un número suficiente tal que se puedan manejar las UNIDAD DE direcciones a memoria. CONTROL ▪ Además deben ser capaces de manejar una palabra completa. ▪ A veces se combinan dos registros para conformar uno solo. UNIDAD DE CONTROL Ejemplos de organización de registros: 2024 UNIDAD DE CONTROL Un procesador incluye registros visibles para el usuario y registros de control/estado. se usan para controlar el Registros de control y estado funcionamiento de la CPU MBR = memory buffer MAR = memory address register: contiene la PC = program counter: IR = instruction register: register: contiene la palabra de datos a contiene la dirección de contiene la última dirección de una escribir en memoria, o la la instrucción a captar instrucción captada posición de memoria palabra leída más recientemente 15 CICLOS FETCH, DECODE, EXE 1.Recuperar la siguiente 2.Decodificar el patrón de bits instrucción desde memoria en el registro de instrucción (apuntada por el program IR counter) y luego incrementar el program counter. 3.Ejecutar la instrucción indicada en el registro de instrucción IR Ciclo de instrucción 2024 CICLOS FETCH, DECODE, EXE Ciclo fetch (captación): ▪ FUNCION: Lleva la siguiente instrucción de la memoria a la CPU ▪ El program counter tiene la dirección de la siguiente instrucción. ▪ El procesador capta la instrucción de la memoria direccionada por el PC. ▪ Se incremente PC en 1. ▪ El código de la instrucción se carga en IR. CICLOS FETCH, DECODE, EXE Ciclo decode (decodificación): ▪ FUNCION: Decodifica los bits presentes en IR ▪ Interpreta el código de operación. ▪ Ciclo execution (ejecución): ▪ FUNCION: Ejecuta la instrucción. ▪ Procesador-memoria: transferencia CPU memoria CICLOS FETCH, ▪ Procesador-I/O: transferencia CPU I/O módulo DECODE, EXE ▪ Procesamiento de datos: operaciones aritméticas o lógicas ▪ Control: cambio de secuencias (eje: JUMP), etc. ▪ Combinación de las anteriores 1. El PC contiene el valor 300. Se carga esta instrucción en IR (esto implica el uso de MAR y MBR) Ejemplo: 2. Los primeros 4 bits de IR (“1”) indican que el acumulador AC se va a cargar con un dato de la memoria. Los restantes 12 bits especifican la dirección (es decir “940”). Ejemplo: 3. El registro de PC se incrementa y se capta la siguiente instrucción. Ejemplo: 4. Los primeros 4 bits (“5”) indican que la instrucción es de suma entre el acumulador y una memoria. Los siguientes 12 bits indican la dirección de memoria (“941”). El contenido de AC y el de la posición 941 se suman y el resultado se almacena en AC. Ejemplo: 5. El registro PC se incrementa en 1 y se capta la siguiente instrucción. Ejemplo: 6. Los primeros 4 bits indican (“2”) que el acumulador se debe almacenar en una memoria. Los siguientes 12 bits indican la dirección de la memoria (“941”). El contenido de AC se almacena en la posición 941. Ejemplo: ¿Cuántos ciclos de instrucción se necesitan? ¿Cuántos ciclos de instrucción se necesitan? R/. Tres CONJUNTO DE INSTRUCCIONES Las instrucciones de una CPU a otra difieren bastante, sin embargo en todas las CPU se puede encontrar el siguiente conjunto de instrucciones: 1.- Instrucciones de transferencias de datos 2.- Instrucciones aritméticas 3.- Instrucciones lógicas 4.- Control de flujo 5.- Entrada / Salida CONJUNTO DE INSTRUCCIONES 1.- Instrucciones de transferencias de datos MOVE transferir registros en la CPU STORE registro → memoria LOAD memoria → registro CLEAR pone un registro en ceros SET pone un registro en unos PUSH introduce en la pila POP extrae en la pila CONJUNTO DE INSTRUCCIONES 1.- Instrucciones de transferencias de datos Acciones: Transfiere datos de una posición a otra. Si se implica a la memoria: determina la dirección de la memoria inicia lectura/escritura en memoria CONJUNTO DE INSTRUCCIONES 2.- Instrucciones aritméticas ADD suma dos operandos SUBSTRACT resta dos operandos MULTIPLY multiplica dos operandos DIVIDE divide dos operandos ABSOLUTE calcula valor absoluto del operando NEGATE cambia el signo del operando INCREMENTE sube en 1 el operando DECREMENTE baja en 1 el operando CONJUNTO DE INSTRUCCIONES 2.- Instrucciones aritméticas Acciones: Puede implicar transferencias de datos, antes y/o después. Realiza la operación en la ALU Actualiza códigos e indicadores de condición. CONJUNTO DE INSTRUCCIONES 3.- Instrucciones lógicas AND Y lógico bit a bit OR O lógico bit a bit NOT no lógico bit a bit XOR o exclusivo lógico bit a bit TEST evalúa condiciones COMPARE comparación de dos operandos SHIFT desplazamiento izquierda o derecha ROTATE desplazamiento cíclico CONJUNTO DE INSTRUCCIONES 3.- Instrucciones lógicas Acciones: Puede implicar transferencias de datos, antes y/o después. Realiza la operación en la ALU Actualiza códigos e indicadores de condición. CONJUNTO DE INSTRUCCIONES 4.- Control de flujo JUMP salto incondicional JUMP CON salto condicional JUMP SUB salto a subrutina RETURN retorno de subrutina SKIP incrementa PC en 1 SKIP CON incremento condicional de PC en 1 HALT detiene la ejecución del programa WAIT detiene la ejecución hasta una condición NOP no ejecuta operación alguna CONJUNTO DE INSTRUCCIONES 4.- Control de flujo Acciones: Actualiza el contador de programa. En el caso de llamadas y retornos de subrutinas, gestiona la transferencia y enlace de parámetros. CONJUNTO DE INSTRUCCIONES 5.- Entrada / salida INPUT transferir I/O → memoria o registro OUTPUT transferir memoria o registro → I/O START I/O inicializa dispositivo I/O TEST I/O transfiere información de estado de I/O CONJUNTO DE INSTRUCCIONES 5.- Entrada / salida Acciones: Cursa una orden a un módulo de E/S En el caso de E/S asignada en memoria, determina la dirección de memoria correspondiente. LECTURA BÁSICA ▪ Organización y Arquitectura de Computadores, W. Stallings, Capítulo 14. 2024