24
PROCESADORES SUPERESCALARES Distribución Organización de la ventana de instrucciones Operativa de una estación de reserva individual Lectura de los operandos Renombramiento de registros Ejemplo de procesamiento de instrucciones con renombramiento

PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

  • Upload
    ngotu

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

PROCESADORES SUPERESCALARES

Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual • Lectura de los operandos • Renombramiento de registros • Ejemplo de procesamiento de instrucciones con

renombramiento

Page 2: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

RENOMBRAMIENTO DE REGISTROS. Rango de Vida

• El tiempo durante el que un dato almacenado en un registro es válido es el rango de vida del registro.(es decir, el tiempo entre dos escrituras consecutivas)

• Cada rango de vida conforma por sí mismo una dependencia verdadera RAW

Page 3: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

RENOMBRAMIENTO DE REGISTROS • Una unidad funcional de suma/resta (1 ciclo) y otra de multiplicación/división (2 ciclos) • La ejecución fuera de orden hace que se ejecute i5 pero genera riesgo WAR con i4 y riesgo WAW

con i3 (solapamiento de 2 rangos de vida). • SOLUCIÓN

– Ejecución secuencial de las instrucciones y la escritura ordenada de los registros que hacen de operandos destino. (EN CONTRA DE SUPERESCALAR)

– Detener aquellas instrucciones dependientes hasta que la instrucción inicial haya acabado (obligada para dependencias RAW pero no para dependencias falsas renombramiento dinámico de los registros de la arquitectura mediante hardware )

considerando solo dependencias RAW

Page 4: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

RENOMBRAMIENTO DINÁMICO DE REGISTROS MEDIANTE HARDWARE

• Paso 1: Resolución de los riesgos WAW y WAR – Se renombran de forma única los operandos destino de las instrucciones. (resuelve WAW y

WAR)

• Paso 2: Mantenimiento de las dependencias RAW – Se renombran todos los registros fuente que son objeto de una escritura previa utilizando el

nombre usado en el paso 1. El renombramiento dinámico se realiza en el fichero de registros de renombramiento (RRF) (a diferencia del fichero de registros de la arquitectura (ARF)). EL RRF se puede organizar de tres formas – Único fichero de registros formados por la suma del RRF y del ARF – Estructura independiente pero accesible desde el ARF – Parte del buffer de reordenamiento y accesible desde el ARF

Page 5: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

ORGANIZACIÓN INDEPENDIENTE DEL RRF CON ACCESO INDEXADO

El ARF (FICHERO DE REGISTROS DE LA ARQUITECTURA) tiene • Datos: contiene el valor del registro • Índice que indica la entrada del RRF que corresponde al último renombramiento

realizado (NUEVO!!) • Ocupado que indica si el registro ha sido renombrado

• El RRF (FICHERO DE REGISTROS DE RENOMBRAMIENTO) tiene • Datos: resultado de la instrucción que ha causado el renombramiento • Válido: Indica que todavía no se ha realizado la escritura en el RRF • Ocupado: el registro sigue siendo utilizado por instrucciones pendientes de

ejecución y no puede liberarse

Page 6: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

ORGANIZACIÓN INDEPENDIENTE DEL RRF CON ACCESO INDEXADO

• Situaciones ante un renombramiento por una instrucción de escritura – Instrucción pendiente de

escritura, datos no actualizados, pendiente de ejecución (Válido RRF=0)

– Instrucción finalizada. La información en el ARF no está actualizada (Ocupado RRF=1 y Válido =1)

– Instrucción terminada. La información del ARF está actualizada (Ocupado ARF=0)

Page 7: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

ORGANIZACIÓN INDEPENDIENTE DEL RRF CON ACCESO ASOCIATIVO

• El acceso al RRF se hace de forma asociativa, sin índice, buscando el id del ARF que ha provocado el renombramiento.

• En este ejemplo, las 3 primeras entradas del ARF tienen el mismo significado del ejemplo anterior

• La 4ª entrada del ARF tiene dos renombramientos en las entradas Rr3 y Rr4 del RRF. Rr4 es un renombramiento más actual por tener Último=1

Page 8: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

ORGANIZACIÓN DEL RRF COMO PARTE DEL BUFFER DE REORDENAMIENTO

• El buffer de reordenamiento hace de RRF. Incorpora un campo datos y otro válido. El campo Ocupado ya existe en el buffer

• Situaciones que se producen al efectuar la lectura de un operando – El registro del ARF no está pendiente

de ninguna escritura y no está renombrado Ocupado=0. Se lee directamente el Dato.

– El registro del ARF es destinatario de una escritura. Ha sido renombrado, bit Ocupado=1, índice tiene un índice al buffer. En el buffer puede ser que

• Válido=0 La instrucción está pendiente de finalizar. No tenemos el resultado de la misma

• Válido=1 El valor del registro del RRF se ha actualizado. La operación debe terminar, actualizando el valor del ARF.

– Cuando la operación termina Ocupado =0

Page 9: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con renombramiento

• Planificación dinámica con lectura de operandos (VALORES + IDENTIFICADORES FUENTE Y DESTINO) y renombramiento de registros mediante un RRF independiente con acceso indexado.

• Buffer de distribución de 4 instrucciones/ciclo a 2 estaciones de reserva individuales.

• 1 unidad funcional suma/resta (1 ciclo) y multiplicación/división (2 ciclos)

• Estación de reserva individual emite 1 instrucción /ciclo

Page 10: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

Page 11: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

0

0

0

0

0

Rr0

Page 12: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

0

0

0

Rr0

Page 13: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

0 0

Page 14: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

Page 15: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

Page 16: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución Estación de reserva individual suma/resta (1 ciclo)

Estación de reserva individual mult/div (2 ciclos)

Page 17: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución Estación de reserva individual suma/resta (1 ciclo)

Estación de reserva individual mult/div (2 ciclos)

Page 18: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

Page 19: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

Page 20: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

Page 21: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución Estación de reserva individual suma/resta (1 ciclo)

Estación de reserva individual mult/div (2 ciclos)

Page 22: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Ciclo 6(inicio): Termina i2, se actualiza R2 y se libera Rr1 Termina i4, se actualiza R3 y se libera Rr3 I5 se encuentra en el 2º ciclo

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

Page 23: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con

renombramiento

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)

Page 24: PROCESADORES SUPERESCALARES · PROCESADORES SUPERESCALARES Distribución • Organización de la ventana de instrucciones • Operativa de una estación de reserva individual

Ejemplo de procesamiento de instrucciones con renombramiento Las instrucciones terminan fuera de orden (i3 termina antes que i1) Se cumplen todas las dependencias de datos pero ante una interrupción excepción no se podrían tratar correctamente.

Buffer de distribución

Estación de reserva individual suma/resta (1 ciclo) Estación de reserva individual mult/div (2 ciclos)