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!