Καλημέρα,
2016-06-26 14:20 GMT+03:00 el12046@central.ntua.gr:
Γεια σας, θα ήθελα μια διευκρίνηση σε δύο θέματα:
- Αν έχουμε superscalar αρχιτεκτονική πχ 2 εντολές δρομολόγηση
+ολοκλήρωση και Tomasulo με ROB αυτό σημαίνει ότι στο στάδιο CMT μπορούν να γίνονται commit 2 εντολές στον ίδιο κύκλο?
Ναι.
Αν ναι τότε τι γίνεται αν οι δύο εντολές γράφουν στον ίδιο Register? πχ ADDD R1,R2,R3 SUBD R1,R1,#6
Τα WAW hazards έχουν επιλυθεί από το στάδιο IS.
- Αν ένας επεξεργαστής επιχειρήσει να γράψει σε ενα μπλοκ που
υπάρχει στην cache του και βρίσκεται σε state Shared(S) τότε θα κάνει cache hit,θα στείλει σήμα BusRdX και θα μεταβεί σε Modified.Αν ο χρόνος για cache hit είναι 1cc και για BusRdX 2cc τότε ο συνολικός θα είναι 3 cc ή γίνονται ταυτόχρονα οπότε ο συνολικός είναι 2cc? Σας ευχαριστώ, Καψής Θεόδωρος.
Ο 1 κύκλος για το cache hit περιλαμβάνει ουσιαστικά το cache access, το να ρωτήσει δηλαδή την cache αν έχει το block στο κατάλληλο state. Για να γίνει η εγγραφή θα πρέπει η cache να ολοκληρώσει και το BusRdx πριν επιτραπεί στον επεξεργαστή να προχωρήσει στην εγγραφή. Επομένως χρειάζεται συνολικά 3 κύκλους.
Κ.