Καλησπέρα,
Εκτελώντας το BTB για το benchmark gcc, το άθροισμα των counters ( Correct + Incorrect ) ισούται με 641070712 κάτι το οποίο δεν συμβαδίζει με το άθροισμα( =574461429 ) που προκύπτει από τα αντίστοιχα counters για αλλά predictors στο ίδιο benchmark ( π.χ. N-bit , Local-History) .
Τα counters για το BTB ενημερώνονται, όπως και σε όλα τα άλλα predictors με την ρουτίνα updateCounters(predicted, actual), μονό μια φορά μέσα στο update του BTB. Επίσης τίποτα άλλο στην υλοποίηση μου δεν αλλάζει αυτά τα δύο counters.
Είναι κάτι το οποίο παραβλέπω στην θεωρία που δικαιολογεί μια τέτοια διάφορα στα αποτελέσματα ή μπορεί κάποιο λάθος στην υλοποίηση του BTB να δημιουργεί το πρόβλημα;
Ευχαριστώ εκ των προτέρων, Λάμπρος