Καλησπέρα! Στon gshare predictor στην συνάρτηση update στο τέλος θα μπορούσε κάποιος να μου εξηγήσει γιατί το *c φτάνει μέχρι το 3 ενώ στον n-bit predictor φτάνει μέχρι τον counter_limit; Στην static taken kai not taken για παράδειγμα μέχρι που θα έπρεπε να είναι. Μου αρκεί αν μπορεί κάποιος να μου εξηγήσει τι κάνει. Ευχαριστώ
Καλημέρα,
στον gshare φτάνει μέχρι το 3 γιατί το κάθε entry είναι ένα 2bit δυαδικός αριθμός. Αντίστοιχα στο n-bit, το κάθε entry έχει n bits και άρα μπορεί να μετρήσει από 0 μέχρι (2^n - 1).
Οι static taken/not taken κτλ. δεν έχουν δυναμική συμπεριφορά μιας και παίρνουν την ίδια πάντα απόφαση ανεξάρτητα από το ποιο branch είναι και τι έκανε στο παρελθόν. Για αυτό το λόγο και δε χρειάζεται να κάνουν οτιδήποτε στο update.
K.
Καλησπέρα! Στon gshare predictor στην συνάρτηση update στο τέλος θα μπορούσε κάποιος να μου εξηγήσει γιατί το *c φτάνει μέχρι το 3 ενώ στον n-bit predictor φτάνει μέχρι τον counter_limit; Στην static taken kai not taken για παράδειγμα μέχρι που θα έπρεπε να είναι. Μου αρκεί αν μπορεί κάποιος να μου εξηγήσει τι κάνει. Ευχαριστώ
Advcomparch mailing list Advcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
advcomparch@lists.cslab.ece.ntua.gr