Articulo de referencia

Estación de reservas

Estación de reservas como parte de la microarquitectura Nehalem de Intel. Una estación de reserva unificada , también conocida como planificador unificado , es una característic...

Estación de reservas como parte de la microarquitectura Nehalem de Intel.

Una estación de reserva unificada , también conocida como planificador unificado , es una característica descentralizada de la microarquitectura de una CPU que permite el cambio de nombre de los registros y es utilizada por el algoritmo de Tomasulo para la planificación dinámica de instrucciones . [ 1 ]

Las estaciones de reserva permiten que la CPU obtenga y reutilice un valor de datos tan pronto como se haya calculado, en lugar de esperar a que se almacene en un registro y se vuelva a leer. Cuando se emiten instrucciones, estas pueden designar la estación de reserva desde la que desean leer su entrada. Cuando varias instrucciones necesitan escribir en el mismo registro, todas pueden ejecutarse y solo la última (lógicamente) necesita escribirse realmente. Antes de comenzar la ejecución, se comprueba si los operandos están disponibles ( lectura después de escritura ) y si la unidad de ejecución está libre ( riesgo estructural ).

Las instrucciones se almacenan con los parámetros disponibles y se ejecutan cuando están listas. Los resultados se identifican mediante la unidad que ejecutará la instrucción correspondiente. El cambio implícito de nombre de registros resuelve los riesgos WAR y WAW . Dado que se trata de una estructura totalmente asociativa, tiene un coste muy elevado en comparadores (es necesario comparar todos los resultados devueltos por las unidades de procesamiento con todas las direcciones almacenadas): un coste que aumenta drásticamente para Multi-Issue.

En el algoritmo de Tomasulo, las instrucciones se emiten secuencialmente a las estaciones de reserva, las cuales almacenan en búfer tanto la instrucción como sus operandos. Si el operando no está disponible, la estación de reserva escucha en un bus de datos común hasta que esté disponible. Cuando el operando está disponible, la estación de reserva lo almacena en búfer y puede comenzar la ejecución de la instrucción.

Cada unidad funcional (como un sumador o un multiplicador) tiene su propia estación de reserva correspondiente. La salida de la unidad funcional se conecta al bus de datos común, donde las estaciones de reserva esperan los operandos que necesitan.

Bibliografía

  • Arquitectura de computadoras: un enfoque cuantitativo , John L. Hennessy, David A. Patterson, 2012 ( ISBN) 9780123838728) "3.4 Superación de riesgos de datos con programación dinámica", págs. 172-180

Referencias

  1. Hwu, Wen mei (1 de mayo de 2011). Padua, David (ed.). Enciclopedia de computación paralela . Springer US. pp. 1962–1966 . doi : 10.1007/978-0-387-09766-4_280 vía Springer Link. 
  • Las estaciones de reserva , proyecto HASE, Instituto de Arquitectura de Sistemas Informáticos, Escuela de Informática, Universidad de Edimburgo, 2003
  • CS6290 Algoritmo de Tomasulo Archivado el 08/12/2014 en Wayback Machine , Georgia Tech