Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ACTIVIDAD #1
DATAPATH
Una CPU tiene tres partes: la unidad de control, los registros y la ALU.
Estas dos últimas forman lo que se conoce como el datapath. La ruta de
datos (“datapath”) es el conjunto de unidades funcionales que procesan los
datos. La ruta de datos debe incluir tantos elementos de almacenamiento
como registros sean visibles por el programador. Además, puede tener otros
elementos de almacenamiento transparentes.
Además, el datapath no es más que una serie de circuitos secuenciales o de
memoria con lógica combinacional en el medio,ya que realiza operaciones
aritméticas y lógicas. Dentro del proceso de diseño de una
microarquitectura se le llama datapath al conjunto de componentes que
conforman la microarquitectura. En general, un datapath está conformado
por componentes digitales que le permiten recuperar una instrucción de la
memoria, decodificar la instrucción, ejecutar la operación correspondiente
y almacenar el resultado en la memoria o en los registros del procesador.
Elementos del datapath:
• ALU.
• Memoria de instrucciones.
• Memoria de datos.
• Banco de registros.
• Sumadores
HAZARDS V
Tipos de Hazards
▪ Hazards estructurales: se dan cuando hay un conflicto de hardware para
alguna combinación de
instrucciones, se produce cuando dos instrucciones quieren acceder al mismo
recurso de
hardware al mismo tiempo.
Opciones para solucionar:
○ Esperare debe generar una señal de stall
○ Agregar más hardware
▪ Hazards de datos: se dan cuando por alguna dependencia de datos en las
instrucciones y el uso de pipeline, se altera el flujo de datos del programa
Tipos
o Read after Write (RaW): Se produce si una instrucción posterior lee un
resultado anterior que
aún no fue calculado , denominada ‘true data dependency’.
o Write after Read (WaR): Se da cuando una instrucción posterior intenta
escribir un dato antes
que una instrucción anterior lo haya leído, denominada ‘anti-dependencia’.
o Write after Write (WaW): Se produce cuando una instrucción posterior
escribe un dato antes
que una instrucción anterior lo pueda escribir ‘dependencia de salida’
Resolución
○ Esperar, se debe generar una señal de stall o tener ayuda del compilador.
○ Agregar conexiones al camino de datos para solucionar el problema
(forwarding).
○ Hazards de control: son causados por instrucciones de saltos u otras
modificaciones del PC