[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