2010-03-28 6 views
2

Considérons la séquence suivante de résultats réels pour une seule branche statique. T signifie que la branche est prise. N signifie que la branche n'est pas prise. Pour cette question, supposons que c'est la seule branche du programme.prédiction de branchement

T T T N T N T T T N T N T T T N T N

Supposons un prédicteur de branchement à deux niveaux qui utilise un bit de la branche histoire-i.e.., Un BHR un bit. Comme il n'y a qu'une seule branche dans le programme, peu importe comment la BHR est concaténée avec le PC de la branche pour indexer le BHT. Supposons que le BHT utilise des compteurs à un bit et que, de nouveau, toutes les entrées sont initialisées à N. Laquelle des branches de cette séquence serait mal prédite? Utilisez le tableau ci-dessous. alt text http://img641.imageshack.us/img641/7117/branch.jpg

Maintenant je ne demande pas de réponses à cette question, plutôt que des guides et des pointeurs sur ceci. Que signifie un prédicteur de branche à deux niveaux et comment cela fonctionne-t-il? Que signifie BHR et BHT?

Répondre

10

Je ne prédiction de branchement vraiment obtenu après avoir lu le texte de Agner Fog sur microarchitecture CPU moderne de chez http://www.agner.org/optimize/#manuals, en particulier, le troisième: http://www.agner.org/optimize/microarchitecture.pdf

Si vous voulez être bon à la programmation de bas niveau, vous devriez probablement lu tout. Si vous voulez juste savoir comment fonctionnent les prédicteurs de branche, lisez le chapitre sur la prédiction de branche dans le manuel de microarchitecture. Il utilise de vrais prédicteurs de branche des processeurs passés pour expliquer le fonctionnement des choses, en partant de prédicteurs conceptuellement simples tels que ceux trouvés dans P1 et en ajoutant graduellement plus de fonctionnalités jusqu'à ce que vous arriviez aux monstres dans les processeurs actuels.

+0

Quel type de branche dans votre article est la question ci-dessus? – aherlambang

+0

Il s'agit d'un prédicteur adaptatif à deux niveaux avec un bit de l'historique des branches locales, comme dans PMMX et au-dessus. –

2

De Wikipedia: Branch predictor

Un prédicteur adaptatif à deux niveaux rappelle l'historique du dernier n occurrences de la branche et à utiliser un saturant compteur pour chacun de la possible 2n modèles d'histoire.

BHR: Direction de l'histoire Inscrivez-
BHT: Direction de l'histoire Tableau

deux de ces deux termes sont expliqués brièvement et sans référence à leurs acronymes, dans la section de l'article lié ci-dessus.