[Advcomparch] MESI states
Konstantinos Nikas
knikas at cslab.ece.ntua.gr
Sun Oct 4 12:45:43 EEST 2015
Καλημέρα,
> μέσα από τις ασκήσεις πάνω στο MESI παρατήρησα ότι στο διάγραμμα των
> διαφανειών δεν υπάρχουν κάποιες μεταβάσεις, για παράδειγμα
> Inv -> Inv (BusRd,BusRdX)
> υπάρχει λόγος που δεν έχουν συμπεριληφθεί;
η μετάβαση που αναφέρεις είναι σαφές ότι δεν έχει νόημα και απορώ που
μπορεί να την έχεις συναντήσει. Όταν κάτι είναι I, δηλαδή δεν υπάρχει
στην cache, ο μόνος τρόπος να αλλάξει state είναι ο επεξεργαστής σου
να ζητήσει είτε να το διαβάσει είτε να το γράψει οπότε και θα πάει στο
κατάλληλο state, δηλαδή κάποιο από τα Μ, E, S. To I -> I δεν έχει
κανένα απολύτως νόημα.
>
> Επίσης, στο παρακάτω διάγραμμα φαίνεται ότι
> από Invalid με PrWr πηγαίνει σε Exclusive, σε αντίθεση με τις διαφάνειες του
> μαθηματος που παμε σε Modified. Υπάρχουν διαφορετικά πρωτόκολλα MESI ?
>
> https://www.cs.tcd.ie/Jeremy.Jones/vivio/caches/MESI.gif
Το link δε φαίνεται να δουλεύει. Από εκεί και πέρα υπάρχουν διάφορες
υλοποιήσεις του MESI. Σε όσες γνωρίζω όμως ένα Write οδηγεί πάντα στο
Μ, για να σηματοδοτεί ότι το block είναι dirty σε αντίθεση με το E που
δείχνει ότι το block είναι clean (και άρα ας πούμε δε χρειάζεται να
γραφτεί πίσω στην κύρια μνήμη σε περίπτωση eviction λόγω
replacement).-
Κ.
--
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