Está en la página 1de 2

TAREA 1_2: UNIDAD DE PREDICCIÓN DE RAMIFICACIONES O

SALTOS.
GUSTAVO JIMÉNEZ OAXACA.

La unidad de predicción de saltos es utilizada y esta incorporada en la CPU por lo que es


una técnica que trata de eliminar las dependencias de control de un programa a través de
una predicción en la que el microprocesador intenta adivinar lo que hará una instrucción de
salto condicional antes de que se evalúe su condición de salto. Puesto que sólo puede
hacer dos cosas, saltar o no saltar, la probabilidad de acertar en dicha predicción es
bastante elevada, pero como en cualquier caso nuestra apuesta es una conjetura, a esta
técnica también se le denomina ejecución especulativa.

La predicción puede ser de dos tipos:

Estática.

El procesador apuesta siempre por la misma premisa, a saber, si el programa salta


siempre que ejecuta una instrucción de salto o el programa no salta nunca. Además son
usados ocasionalmente en procesadores donde se espera que el comportamiento del
salto sea altamente predecible en tiempo de compilación; la predicción estática también
se puede usar para asistir a los predictores dinámicos.

Dinámica.

El procesador es capaz de hacer una suposición u otra dependiendo del comportamiento


del programa en su pasado más reciente. Para implementar la predicción dinámica es
necesario registrar el comportamiento histórico de las instrucciones de salto del programa.
De esto se encarga la BTB (Branch Target Buffer), o bufer para los destinos de los saltos,
una nueva unidad funcional del procesador que guarda en cada una de sus entradas
siguientes campos de información:

 El código de una instrucción de salto del programa.

 Su dirección de salto, esto es, por donde prosigue su ejecución el código en caso de
que la instrucción salte realmente.

 Un grupo de bits que conforman el historial, siendo este grupo más numeroso cuanto
mayor sea el pasado temporal que quiera archivarse para dicha instrucción. Con el
historial crece el coste de la BTB, pero también su probabilidad de acertaren la
predicción.
Además de estos tipos los predictores se pueden definir en dos clasificaciones. Los cuales
son:

Predictores locales

Esta clase de predictores se caracterizan porque usan solamente información relacionada


a la instrucción de salto sobre la cual se hace la predicción. Esta información puede ser el
valor de algunos bits del PC actual, o la historia de su comportamiento reciente.

Predictores globales

Los predictores locales solo consideran el comportamiento de cada salto particular, en


cambio los predictores globales tienen en cuenta otros saltos que han sido ejecutados
previamente. Existen dos razones que justifican el uso de predictores globales:

 Cuando se evalúan condiciones distintas que están relacionadas entre sí

 Cuando la historia global incluye a la historia local.

Referencias

LIBRO:

Martínez, M. U. (2003). Arquitectura del PC, Volumen 1. Malaga, España: Ciencia-3, S.L.

DOCUMENTO PDF:

http://www.dirinfo.unsl.edu.ar/arquitectura2/material/predictores.pdf

También podría gustarte