Duda Técnicas de predicción de Saltos

Duda Técnicas de predicción de Saltos

de Cristian Andres Bauza Silva -
Número de respuestas: 2

Hola, tengo una confusión con las técnicas de 

predicción de saltos y las configuraciones de sim-outorder.

 

Según he leído, la BHT (Branch History Table) es una memoria

indexada por los bits menos significativos de las direcciones de memoria de los

saltos, y guarda un contador que se incremento o decrementa segun si

el salto es tomado o no.

Por otro lado, el BTB (branch target buffer) es indexada por la direccion de

memoria de la direccion de salto y contiene ademas del historial, la direccion de destino 

del salto.

Ademas, segun entiendo, la tecnica bimodal utiliza solo la BHT, pero,

por que en el manual aparece: 

 

bimod         bimodal predictor, using a branch target buffer (BTB) with 2-bit counters.

pero luego en el archivo de configuracion define:

# bimodal predictor BHT size
-bpred:bimod 2048.

 

Toda esta duda viene básicamente dada por la pregunta c) de la parte A5)

¿Qué es un Branch-Target Buffer? ¿En qué se diferencia con el predictor Bimod?

Ya que según esta pregunta el BTB sería como "otra técnica" de predicción de saltos, pero

por lo que entiendo es una tabla utilizada por la técnica bimod.

 

Saludos!

 

En respuesta a Cristian Andres Bauza Silva

Re: Duda Técnicas de predicción de Saltos

de Federico Rivero -

Estimado:

Lo que mencionás al respecto de las estructuras está bien. Hacé caso omiso de:

bimod         bimodal predictor, using a branch target buffer (BTB) with 2-bit counters.

Saludos,

        Federico

En respuesta a Federico Rivero

Re: Duda Técnicas de predicción de Saltos

de Usuario eliminado -

Tengo la misma duda que Cristian.

A mi entender BTB es una componente a nivel de hardware similar a una cache y Bimod es una técnica de predicción de saltos que utiliza la BTB para mantener los bits de la maquina de estados y el PC de destino del salto.

No entendí la aclaración, qué debemos considerar para contestar la pregunta de la Parte A 5.c?