Καλησπέρα,
Στον κώδικα που μας δίνεται θεωρείται δεδομένο ότι τα traces αντιπροσωπεύουν 100.000.000 εντολές. Από ότι παρατήρησα όμως στα traces οι εντολές είναι πολύ λιγότερες εκτος αν αυτό συμβαίνει γιατί εξετάζονται μόνο οι εντολές διακλάδωσης.
Όπως εξηγούμε και στην εκφώνηση τα traces περιέχουν τις εντολές άλματος που πραγματοποιούνται (ή συναντώνται) κατά την εκτέλεση 100Μ εντολών. Επομένως για να υπολογίσετε το MPKI δεν χρειάζεται να μετράτε τις εντολές.
Επίσης στην υλοποίηση του static not-taken predictor η πρόβλεψη not-taken πρέπει να γίνεται σε όλες τις διακλαδώσεις ή μόνο σε όσες έχουν συνθήκη (αφού προφανώς οι υπόλοιπες θα είναι taken);
Προφανώς ο συγκεκριμένος προβλέπτης αφορά μόνο τις εντολές υπό συνθήκη.
Τέλος ο local history 2-level predictor έχει 2 πίνακες. Θα πρέπει και οι 2 μαζί να χρειάζονται συνολικό hardware 32K ή ο καθένας ξεχωριστά;
Προφανώς αναφερόμαστε στο συνολικό hardware να είναι ίσο με 32Κ, καθώς η σύγκριση της απόδοση των διαφορετικών predictors είναι "δίκαιη" όταν διατηρούμε σταθερό το κόστος.
Κ.