Fundamentos de la Arquitectura de Computadoras: CPU, UC y Pipeline
Clasificado en Informática
Escrito el en español con un tamaño de 5,23 KB
Tareas de la CPU
- Leer instrucciones de la memoria.
- Interpretar (decodificar) la instrucción para determinar las acciones a realizar.
- Captar datos de memoria o de E/S.
- Procesar datos: ALU.
- Escribir datos en memoria o en E/S.
Tareas de la Unidad de Control (UC)
Función Básica: Ejecución de Secuencias
- Leer de la memoria principal (Mp) la instrucción apuntada por el PC e incrementarlo.
- Decodificar la instrucción: interpretarla.
- Ejecutar la instrucción (captar, procesar y escribir los datos), generando las señales de control necesarias.
Funciones Adicionales
- Resolver situaciones anómalas o conflictos (interrupciones).
- Controlar la comunicación con periféricos.
Ciclo de Captación (Fetch)
La dirección de la siguiente instrucción a ejecutar se lleva de PC a MAR. La instrucción se trae por el bus de direcciones. La UC emite la señal de control READ por el bus de control. Se incrementa el PC. Se libera el MBR para uso en un posible ciclo indirecto.
Ciclo Indirecto
La dirección del operando (obtenida de la instrucción) se lleva a MAR. La UC solicita una lectura de memoria para llevar la dirección del operando a MBR. La dirección efectiva del operando se obtiene y se prepara para el ciclo de ejecución.
Ciclo de Interrupción
Se guarda el valor actual del PC para permitir el retorno de la interrupción. La dirección de salvaguarda es la ubicación donde se guarda el contenido del PC. El MBR contiene el antiguo valor del PC.
- T1: PC → MBR (El contenido del PC se transfiere al MBR).
- T2: Dirección de salvaguarda → MAR; Dirección de rutina de interrupción → PC (La dirección de salvaguarda se carga en MAR; la dirección de la rutina de interrupción se carga en PC).
- T3: MBR → Memoria (El contenido del MBR se escribe en la memoria en la dirección apuntada por MAR).
Ciclo de Ejecución
Es el ciclo más complicado. Con N instrucciones máquina, habrá N secuencias distintas de micro-operaciones.
- T1: IR(dirección) → MAR (La parte de dirección de la instrucción en el IR se transfiere al MAR).
- T2: Memoria → MBR (El dato de la memoria (en la dirección de MAR) se transfiere al MBR).
- T3: MBR + R1 → R1 (Operación de la ALU: el contenido del MBR se suma al registro R1 y el resultado se guarda en R1).
Unidad de Control Cableada
Su diseño se basa en circuitos digitales con puertas lógicas. Debe incluir la siguiente lógica:
- Lógica para realizar el secuenciamiento de las microoperaciones.
- Lógica para ejecutar las microoperaciones.
- Lógica para interpretar los códigos de operación.
- Lógica para tomar decisiones basadas en los indicadores de la ALU.
Ralentización del Pipeline
Motivos Estructurales
- El tiempo ideal de ejecución es de un ciclo.
- Si una etapa no se completa en un ciclo, el pipeline se detiene.
- Acceso simultáneo a memoria desde varias etapas.
- No todas las etapas tienen que ser de la misma duración.
- Hay instrucciones más complejas que otras.
Dependencias de Datos
Ocurren cuando dos o más instrucciones comparten un dato.
Soluciones
Prevención:
El compilador debe retrasar la etapa de ejecución de la instrucción dependiente reordenando las instrucciones.
Detección y Resolución:
Detener el pipeline y Anticipación.
Bifurcaciones
Los huecos de retardo se aprovechan con instrucciones útiles que se ejecutan siempre.
Bifurcación Retardada:
Si una bifurcación produce h huecos de retardo, el compilador debe insertar h instrucciones después de la bifurcación, y el efecto de la bifurcación se debe retardar h ciclos.