stringtranslate.com

Predictor de destino de rama

En arquitectura informática , un predictor de destino 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 instrucción de bifurcación condicional o incondicional tomada 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 rama no es lo mismo que la predicción de rama que intenta adivinar si una rama condicional se tomará o no (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 recuperación se amplía, la extracción de destino de rama se convierte en un cuello de botella. La recurrencia es:

En las máquinas donde esta recurrencia toma dos ciclos, la máquina pierde un ciclo completo de recuperación después de cada rama tomada prevista. Como las bifurcaciones previstas ocurren aproximadamente cada 10 instrucciones, esto puede provocar una caída sustancial en el ancho de banda de recuperación. 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 de inicio de la ejecución secuencial de instrucciones anterior.

Este predictor reduce la recurrencia anterior a:

Como la RAM del predictor puede tener entre un 5% y un 10% del tamaño de la memoria caché de instrucciones, la recuperación se produce mucho más rápido que la recuperación de la memoria caché de instrucciones y, por lo tanto, esta recurrencia es mucho más rápida. Si no fuera lo suficientemente rápido, podría paralelizarse prediciendo las direcciones objetivo de las ramas objetivo.

Ver también

Otras lecturas

enlaces externos