Σύμφωνα με τη θεωρία, το E υποδηλώνει μοναδικό αντίγραφο του block αλλά CLEAN. Επομένως, δε βλέπω πως θα μπορούσες να πηγαίνει με PrWr σε E, εκτός αν ενημερωνόταν και η κύρια μνήμη π.χ. με χρήση write-through caches. Στην περίπωση αυτή όμως, το M χάνει το νόημα του.
2015-10-04 13:03 GMT+03:00 Babis Michailidis me.babis@gmail.com:
Ευχαριστώ πολύ για τις απαντησεις, απ'ότι φαίνεται έχει πέσει το site του πανεπιστημίου, το διαγραμμα είναι το παρακάτω.
https://www.dropbox.com/s/a136282x1l7l5x6/MESI2.JPG?dl=0
2015-10-04 12:45 GMT+03:00 Konstantinos Nikas knikas@cslab.ece.ntua.gr:
Καλημέρα,
μέσα από τις ασκήσεις πάνω στο MESI παρατήρησα ότι στο διάγραμμα των διαφανειών δεν υπάρχουν κάποιες μεταβάσεις, για παράδειγμα Inv -> Inv (BusRd,BusRdX) υπάρχει λόγος που δεν έχουν συμπεριληφθεί;
η μετάβαση που αναφέρεις είναι σαφές ότι δεν έχει νόημα και απορώ που μπορεί να την έχεις συναντήσει. Όταν κάτι είναι I, δηλαδή δεν υπάρχει στην cache, ο μόνος τρόπος να αλλάξει state είναι ο επεξεργαστής σου να ζητήσει είτε να το διαβάσει είτε να το γράψει οπότε και θα πάει στο κατάλληλο state, δηλαδή κάποιο από τα Μ, E, S. To I -> I δεν έχει κανένα απολύτως νόημα.
Επίσης, στο παρακάτω διάγραμμα φαίνεται ότι από Invalid με PrWr πηγαίνει σε Exclusive, σε αντίθεση με τις διαφάνειες του μαθηματος που παμε σε Modified. Υπάρχουν διαφορετικά πρωτόκολλα MESI ?
Το 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@cslab.ece.ntua.gr http://www.cslab.ece.ntua.gr/~knikas
advcomparch@lists.cslab.ece.ntua.gr