stringtranslate.com

Predictor de objetivos de ramificación

En arquitectura de computadoras , un predictor de objetivo de bifurcación es la parte de un procesador que predice el objetivo, es decir, la dirección de la instrucción que se ejecuta a continuación, de una bifurcación condicional tomada o una instrucción de bifurcación incondicional antes de que el objetivo de la instrucción de bifurcación sea calculado por la unidad de ejecución del procesador.

La predicción del objetivo de la rama no es lo mismo que la predicción de rama , que intenta adivinar si se tomará o no una rama condicional (es decir, binaria).

En diseños de procesadores más paralelos , a medida que la latencia de la caché de instrucciones aumenta y el ancho de búsqueda aumenta, la extracción del objetivo de la bifurcación se convierte en un cuello de botella. La recurrencia es:

En las máquinas en las que esta recurrencia lleva dos ciclos, la máquina pierde un ciclo completo de búsqueda después de cada rama prevista tomada. Como las ramas previstas ocurren cada 10 instrucciones aproximadamente, esto puede forzar una caída sustancial en el ancho de banda de búsqueda. Algunas máquinas con latencias de caché de instrucciones más largas tendrían una pérdida aún mayor. Para mejorar la pérdida, algunas máquinas implementan la predicción del objetivo de la rama: dada la dirección de una rama, predicen el objetivo de esa rama. Un refinamiento de la idea predice el inicio de una ejecución secuencial de instrucciones dada la dirección del inicio de la ejecución secuencial de instrucciones anterior.

Este predictor reduce la recurrencia anterior a:

Como la RAM predictora puede ser del 5 al 10 % del tamaño de la caché de instrucciones, la búsqueda se realiza mucho más rápido que la búsqueda de la caché de instrucciones, por lo que esta recurrencia es mucho más rápida. Si no fuera lo suficientemente rápida, se podría paralelizar prediciendo las direcciones de destino de las ramas de destino.

Véase también

Lectura adicional

Enlaces externos