¿Por qué se necesita un búfer de reordenamiento en una computadora superescalar?

Una computadora (procesador ) superescalar es una CPU que implementa paralelismo a nivel de instrucción dentro de un único procesador. Mediante esta técnica, un procesador superescalar puede ejecutar más de una instrucción durante un ciclo de reloj enviando simultáneamente múltiples instrucciones a diferentes unidades de ejecución en el procesador. Ayuda a lograr un mayor rendimiento (la cantidad de instrucciones que se pueden ejecutar en una unidad de tiempo).

Aquí cada unidad de ejecución no es un procesador o núcleo separado, sino un recurso de ejecución dentro de una sola CPU, como una ALU.

Por lo tanto, en la computadora superescalar se lleva a cabo la ejecución de la instrucción fuera de orden . para lograr la ejecución fuera de orden Se utiliza el concepto de cambio de nombre de registro . Registre el cambio de nombre de mantenimiento (las verdaderas dependencias de datos), al tiempo que permite que las instrucciones se inicien y completen fuera de servicio. El cambio de nombre del registro implica la asignación de un registro físico para cada nuevo resultado que se produce y el mantenimiento de dependencias de datos utilizando direcciones de registro físico.

El concepto de cambio de nombre de registro se implementa utilizando Re-order Buffer (ROB).

ROB es esencialmente una cola (FIFO), con entradas configuradas en orden de programa en el momento del envío de instrucciones, en la cola del ROB, y se retiró a los registros arquitectónicos en orden de programa del jefe del ROB.

En pocas palabras, Re-order buffer ROB se usa para permitir la ejecución de instrucciones fuera de orden.