[Advcomparch] Απορίες

Konstantinos Nikas knikas at cslab.ece.ntua.gr
Mon Jul 1 17:20:50 EEST 2013


Καλησπέρα,

1α)Καταρχάς flush δε σημαίνει ότι ενημερώνω την κύρια μνήμη, αλλά ότι γράφω
τα περιεχόμενα του block στο bus. Όπως εξήγησα και στο μάθημα έχει να κάνει
με την υλοποίηση του MESI και το αν επιτρέπονται τα cache-to-cache
transfers ή όχι. Αν δηλαδή όταν μια cache ζητήσει να διαβάσει/γράψει ένα
block, τα δεδομένα θα έρθουν από την κύρια μνήμη ή μπορεί να τα δώσει και
μια άλλη cache που έχει το block (σε Ε ή S). Αντίστοιχα, η διαφορά του
flush με το flush' εντοπίζεται πάλι στην υλοποίηση και έχει να κάνει με το
πότε ενημερώνεται η κύρια μνήμη.

1b) Όχι. Δεν προκύπτει από κάπου ότι ενημερώνεται η κύρια μνήμη. Για αυτό
το λόγο υπάρχει και η SM κατάσταση, ώστε όταν η cache που έχει αυτό το
block το κάνει evict να πάει να το γράψει και στην κύρια μνήμη. Κοινώς η
κύρια μνήμη εδώ ενημερώνεται μόνο μέσω evicts.

2) Σε write-back caches ναι, σε write-through θα ήταν όπως είναι στη
διαφάνεια. Έχεις δίκιο απλά είχε χρησιμοποιηθεί το σχήμα από τις
αντίστοιχες διαφάνειες του coherence όπου υποθέταμε write-through caches.

K.

2013/7/1 George Matikas <g_matikas at hotmail.com>

> Γεια σας!
>
> Καθώς διάβαζα τις διαφάνειες για να προετοιμαστώ για την αυριανή εξέταση
> μου γεννήθηκαν κάποιες απορίες. Θα μπορούσατε να με βοηθήσετε να λύσω τις
> απορίες μου αυτές;
>
> 1α. Στις διαφάνειες "Lec8-coherence-13" στη σελίδα 39, που αναφέρει για το
> πρωτόκολλο MESI, γιατί πρέπει να γίνει Flush στις μεταβάσεις Ε->S, Ε->Ι,
> S->S, S->I; Δεν υποτίθεται ότι στις καταστάσεις Ε και S η κύρια μνήμη είναι
> ήδη ενημερωμένη με τα δεδομένα της συγκεκριμένης cache; Άρα δεν υπάρχει
> λόγος να γράψουμε τα ίδια δεδομένα πάλι... Επίσης, τι διαφορά έχει το
> Flush' με το Flush;
> 1β. Στις ίδιες διαφάνειες, στη σελίδα 44, που αναφέρει για το πρωτόκολλο,
> όταν βρισκόμαστε στην κατάσταση SM και έρθει σήμα BusRd (οπότε γίνεται
> Flush) για ποιο λόγο παραμένουμε στην ίδια κατάσταση; Δεν θα ήταν πιο σωστό
> να μεταβούμε στην κατάσταση SC μιας και πλέον τα δεδομένα της κύριας μνήμης
> είναι ενημερωμένα (και άρα τα δεδομένα της cache δεν είναι "modified" πια);
>
> 2. Στις διαφάνειες "Lec9-memory_consistency-13" στη σελίδα 29, στο
> πινακάκι που δείχνει τις τιμές της κύριας μνήμης και των 2 caches, η τιμή
> 400 θα έπρεπε να γραφτεί στην μνήμη στην τελευταία γραμμή αντί για την
> προτελευταία, έτσι δεν είναι;
>
> Ευχαριστώ εκ των προτέρων,
> Ματίκας Γεώργιος
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cslab.ece.ntua.gr/pipermail/advcomparch/attachments/20130701/5018b860/attachment.htm>


More information about the Advcomparch mailing list