P2 Flashcards
(80 cards)
La unidad de control de un CPU monociclo
Combinacional (para cada entrada hay una salida). Para cada combinación de entradas hay una salida
Cuales son las 5 etapas del pipeline
- Fetch
- Decode
- Execute
- Memory
- Write Back
En el procesador multiciclo cada tipo de instrucción toma una cantidad
Distinta de ciclos
A diferencia de los monociclo y los segmentados, en los procesadores multiciclo se puede usar un solo dispositivo de memoria, ya que:
la lectura de instrucción y ejecución se realzian en ciclos distintos
El procesador segmentado utiliza ____ para preservar los datos en cada etapa
registros de segmentación
Un procesador multiciclo con CPI>1 puede tener mejor rendimiento que un monociclo CPI=1, ya que:
Sus ciclos son más cortos
En el procesador multiciclo, la velocidad de reloj se establece por:
la duración de la etapa más lenta
En el procesador monociclo, la velocidad de reloj se establece por:
lo que tarde en ejecutarse la instrucción más lenta
En el procesador segmentado, la velocidad de reloj se establece por:
Lo que tarde en ejecutarse la etapa más lenta
En un procesador segmentado cada instrucción:
Pasa por etapas diferentes según su actuación
La cantidad de ciclos necesarios para ejecutar n instrucciones es:
n+4
La diferencia en hardware entre el procesador monociclo y segmentado son:
Los registros de segmentación
Cuáles son las 3 dependencias de datos:
- RAW
- WAR
- WAW
¿Qué es un riesgo por dependencia de datos?
Acceso a datos cuyo valor depende de instrucciones anteriores
Siempre que hablamos de riesgos es específico a la arquitectura ¿Porqué?
Los riesgos son propios de cada arquitectura, por ejemplo, la monociclo no tiene riesgos
¿Cuál es el único tipo de dependencia de datos que representa un riesgo en la arquitetura segmentada?
RAW
¿Cuántos ciclos se necesita detener la ejecución de instrucciones para resolver una dependencia RAW sin usar redireccionamiento?
2, que sería MEM y WB de la instrucción que escribe
¿Qué instrucción escribe el desarrollador para agregar pausas y resolver dependencias RAW
NOP
es una instrucción que no modifica ningún registro ni memoria, sirve para que el desarrollador agregue pausas para resolver dependencias
¿Qué es el forwarding (redireccionamiento)?
Permite pasar la salida de un ciclo anterior (almacenada en un registro de segmentación) directamente a la entrada de otro, para no tener que agregar pausas para resolver dependencias de datos (RAW)
Unidad de gestión de riesgos
Tiene como propósito resolver los conflictos de dependencia de datos
En un procesador segmentado sin redireccionamiento ni unidades de detención, se deben gestionar los riesgos
Agregando instrucciones NOP
En un procesador segmentado, la unidad de riesgos ayuda a que:
El CPI de todos los programas se acerque a 1
La instrucción LDR
también introduce un riesgo de procesamiento de datos, pero el forwarding no es suficiente, se tiene que:
Detener la ejecución un ciclo, ya que el valor va a estar disponible hasta la etapa MEM de la instrucción. Esto se logra con stall
si el procesador tiene unidad de detención, sino, se necesita manejar por software usando NOP
Los riesgos de procesamiento de datos aritméticos se pueden solucionar:
Usando forwarding de los valores guardados en los registros de segmentación a la entrada de la ALU de la instrucción posterior