[Advcomparch] Συμπεριφορά σε flush λόγω misprediction κατά την εκτέλεση store

Konstantinos Nikas knikas at cslab.ece.ntua.gr
Tue Jul 11 13:04:58 EEST 2017


Καλησπέρα,

όπως έχουμε εξηγήσει και στο μάθημα (και φαίνεται και στην αναλυτική
περιγραφή του αλγορίθμου στο βιβλίο σας), η εγγραφή στη μνήμη για τα
stores πραγματοποιείται στο στάδιο Commit. Διαφορετικά θα υπήρχει
περίπτωση το σύστημα να μην έχει συνεπές architectural state.

Επομένως, κατά τη διάρκεια του ΕΧ (όσον αφορά τις ασκήσεις) ουσιαστικά
το ST λειτουργεί σαν LD, πραγματοποιεί δηλαδή την πρόσβαση στη cache
για να βεβαιωθεί ότι υπάρχει το block χωρίς να κάνει εγγραφή
δεδομένων.

Κ.



2017-07-11 0:19 GMT+03:00 tom6death6angel6 . <tom96meli at gmail.com>:
> Καλησπέρα! Είδα σε προηγούμενο ποστ στη λίστα (συγκεκριμένα εδώ:
> http://lists.cslab.ece.ntua.gr/pipermail/advcomparch/2014-September/001109.html)
> ότι αν κατά τη διάρκεια του ΕΧ ενός load γίνει flush του pipeline λόγω
> branch misprediction, η cache θα εξυπηρετήσει κανονικά το αίτημα και θα
> φέρει το ζητούμενο block, ανεξαρτήτως του pipeline flush. Αν όμως είχαμε ένα
> store αντί για load, με την ίδια λογική, το store θα έγραφε στην cache
> garbage τιμές (που μπορεί να οδηγούσαν σε λάθος εκτέλεση του προγράμματος),
> παρόλο το misprediction; Ζητώ συγγνώμη προκαταβολικά αν αυτό έχει απαντηθεί
> ήδη κάπου στη λίστα, αλλά δεν βρήκα κάτι αντίστοιχο.
>
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
>



-- 
Dr. Konstantinos Nikas
Computing Systems Laboratory
School of Electrical and Computer Engineering
National Technical University of Athens

Tel: +30-210-7724159
e-mail: knikas at cslab.ece.ntua.gr
http://www.cslab.ece.ntua.gr/~knikas


More information about the Advcomparch mailing list