Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Συστήματα Μνήμης – Βασικές Αρχές Cache.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
GB ( ) 5 1 ( ) ( ) ( /cm 2 ) 0.2 /30min·φ90 (5 /m 3 ) 0.4 /30min·φ90 (10 /m 3 ) /30min·φ90 (25 /m 3 )
Advertisements

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
© 2002 Thomson / South-Western Slide 2-1 Κεφάλαιο 2 Διαγράμματα και Γραφήματα Περιγράφικής Στατιστικής.
Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
Μάρτιος 2011 Βαρόμετρο ΕΒΕΘ - Καταναλωτές. “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Πρωτογενής έρευνα Hi5, μία μόδα για νέους;. Μεθοδολογία - εργαλεία Η έρευνα διενεργήθηκε με την μέθοδο της συλλογής ερωτηματολογίων, τα οποία και συμπληρώνονταν.
Δυαδικη παρασταση αριθμων και συμβολων
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Πολυεπεξεργαστές.
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Pipelining – Βασικές αρχές.
Αντισταθμιστική ανάλυση Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Τα στοιχειώδη περί γεωδαιτικών υπολογισμών
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Η Επιστήμη των Υπολογιστών: Μια Ολοκληρωμένη Παρουσίαση (δέκατη αμερικανική.
ΠΕΤΡΟΓΕΦΥΡΑ Δημου ΚΑΡΠΕΝΗΣΙΟΥ
Κατακερματισμός Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Δυναμικός Κατακερματισμός.
Παρουσίαση Έρευνας Κοινής Γνώμης «Ο λόγος στον Πολίτη» Θεσσαλονίκη, Ιανουάριος 2010.
Ασκήσεις Caches
© GfK 2012 | Title of presentation | DD. Month
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
ΒΑΡΟΜΕΤΡΟ ΕΒΕΘ – ΣΕΠΤΕΜΒΡΙΟΣ 2014 AD – HOC ΕΡΩΤΗΣΕΙΣ.
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
Καλώς ήρθατε στις Οικονομικές Επιστήμες
Εξάσκηση στην προπαίδεια
3:11:52 PM Α. Λαχανάς.
Συντάχθηκε για λογαριασμό του Τηλεοπτικού Σταθμού ΑΝΤ1 Οκτώβριος 2011 © ΚΥΠΡΙΑΚΟ ΒΑΡΟΜΕΤΡΟ.
Αποκεντρωμένη Διοίκηση Μακεδονίας Θράκης ∆ιαχείριση έργων επίβλεψης µε σύγχρονα µέσα και επικοινωνία C2G, B2G, G2G Γενική Δ/νση Εσωτερικής Λειτουργίας.
Η επιρροή του χώρου εργασίας των σχολικών τάξεων στη μάθηση
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
1/5/ ΧΡΗΣΕΙΣ ΤΗΣ ΗΛΙΑΚΗΣ ΑΝΤΙΝΟΒΟΛΙΑΣ 1/5/ (πηγή: HELIOAKMI).
2006 GfK Praha CORRUPTION CLIMATE IN EUROPE % % % %0 - 10% % % % % % ΚΛΙΜΑ ΔΙΑΦΘΟΡΑΣ Η.
ΠΑΝΕΛΛΑΔΙΚΗ ΠΟΛΙΤΙΚΗ ΕΡΕΥΝΑ ΓΙΑ ΤΟ TVXS.GR Η Palmos Analysis είναι μέλος της ESOMAR και της WAPOR και έχει Αριθμό Μητρώου 11 στο Μητρώο Επιχειρήσεων και.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
ΚΕΦΑΛΑΙΟ 3 Περιγραφική Στατιστική
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
ΕΡΕΥΝΑ ΕΚΘΕΤΩΝ-ΕΠΙΣΚΕΠΤΩΝ KAVALAEXPO 2014
Σοφία Τζελέπη, App Inventor ΜΕΡΟΣ B’ Σοφία Τζελέπη,
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Ο ΗΛΕΚΤΡΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΤΗΣ
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
© Θέματα Φεβρουαρίου © Θέμα 1ο (30%): Έστω η παρακάτω ακολουθία εντολών που χρησιμοποιείται για την αντιγραφή.
Α2 Λυκείου Αργυράδων Ρωτήθηκαν συνολικά 162 άτομα.
Παράγοντες καρδιαγγειακού κινδύνου (ΠΚΚ) σε ηλικιωμένους και υπέργηρους με ισχαιμικό αγγειακό εγκεφαλικό επεισόδιο (ι-ΑΕΕ). Η θέση του σακχαρώδη διαβήτη.
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
1 ΧΡΗΣΗ Η/Υ, ΑΛΕΞΗΣ ΜΠΡΑΪΛΑΣ, 1998 Εφαρμογές Υπολογιστών.
ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΟΡΥΚΤΩΝ ΤΗΣ 1ης ΚΑΙ 2ης ΟΜΑΔΑΣ
Επιθεωρήσεις ΔΚΕΕ ( )  Επιθεωρήσεις : 25  Έκλεισαν Ικανοποιητικά 6 (24%) και Μη Ικανοποιητικά 19 (76%)  Μη Συμμορφώσεις : 257  Διορθωτικές.
Επιθεωρήσεις ΔΚΕΕ ( )  Επιθεωρήσεις : 23  Έκλεισαν Ικανοποιητικά 9 (39%) και Μη Ικανοποιητικά 14 (61%)  Μη Συμμορφώσεις : 290  Διορθωτικές.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
+19 Δεκέμβριος 2014 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20 Δείκτης < -20 Συνολικά της ΕΕ: +5 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20.
ΤΑ ΔΟΝΤΙΑ ΜΑΣ.
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Άσκηση Διεύθυνσης Μνήμης με cache Νεκτάριος Κοζύρης Άρης Σωτηρόπουλος Νίκος Αναστόπουλος.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
Αρχιτεκτονική Υπολογιστών ΙΕΡΑΡΧΙΕΣ ΜΝΗΜΗΣ. Αρχιτεκτονική Υπολογιστών ΤΟΠΙΚΟΤΗΤΑ Χρονική Τοπικότητα (Temporal Locality) –μια λέξη μνήμης που χρησιμοποιήθηκε.
Αρχιτεκτονική-ΙI Ενότητα 4 : Μνήμες Ιωάννης Έλληνας Τμήμα Η/ΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα.
Αρχιτεκτονική Υπολογιστών Ενότητα # 3: Ιεραρχία Μνήμης Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
Διαφάνειες διδασκαλίας του πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών) Οργάνωση και.
Morgan Kaufmann Publishers
Ασκήσεις Caches
Μεταγράφημα παρουσίασης:

Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Συστήματα Μνήμης – Βασικές Αρχές Cache

Περιεχόμενα Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 2 Συστήματα Μνήμης Η τεχνολογία της ιεραρχημένης μνήμης Οργάνωση της μνήμης cache Η βασική αρχή λειτουργίας Οι παράμετροι της cache Απόδοση της cache Οργάνωση της Κ. Μνήμης Φυσική οργάνωση Λογική οργάνωση Απόδοση συστήματος cache -Κ. Μνήμης

H Ιεραρχία μνήμης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 3

Μνήμες - χωρητικότητες- ταχύτητες Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 4 Κ. Διαμαντάρας - Α. Βαφειάδης ΧωρητικότηταΧρόνος προσπέλασης Τεχνολογία Καταχωρητές1KB – 8KB0.2 – 0.5 ns CMOS Cache L18KB – 64KB1 – 2 nsCMOS SRAM Cache L264ΚΒ – 256ΚΒ2 – 5 nsCMOS SRAM Cache L32ΜΒ – 16ΜΒ10 – 20 nsCMOS SRAM Κύρια Μνήμη2GB – 16GB>20 nsCMOS DRAM Δίσκος>100GΒ5 – 8 msΜαγνητικό μέσο

Απόκλιση ταχυτήτων CPU και DRAM Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 5 Κ. Διαμαντάρας - Α. Βαφειάδης

Τοπικότητα των κλήσεων Αρχή της τοπικότητας (locality principle). Στα περισσότερα προγράμματα διαδοχικές εντολές ή δεδομένα, στο χρόνο καλούνται από διαδοχικές ή κοντινές περιοχές της μνήμης. H χρονική τoπικότητα (temporal locality or locality on time) αναφέρεται στο γεγονός, ότι διευθύνσεις της μνήμης που χρησιμοποιήθηκαν κάποια χρονική στιγμή έχουν μεγάλη πιθανότητα να ξαναχρησιμοποιηθούν σύντομα. H χωρική τοπικότητα (spatial locality or locality in space) αναφέρεται στο γεγονός, ότι δύο γειτονικές διευθύνσεις θα χρησιμοποιηθούν διαδοχικά στο μέλλον. Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 6 Κ. Διαμαντάρας - Α. Βαφειάδης

Το συγκρότημα Cache – Κεντρική Μνήμη Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 7 Κ. Διαμαντάρας - Α. Βαφειάδης

Η βασική ιδέα Cache hit : Η CPU βρίσκει την διεύθυνση στη cache Cache miss : Η CPU ΔΕΝ βρίσκει την διεύθυνση στη cache Hit rate : Η πιθανότητα επιτυχίας (η διεύθυνση είναι στη cache) Miss rate : Η πιθανότητα αποτυχίας (η διεύθυνση δεν είναι στη cache) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 8 Κ. Διαμαντάρας - Α. Βαφειάδης

Ο αλγόριθμος λειτουργίας Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 9 Κ. Διαμαντάρας - Α. Βαφειάδης

Χρησιμότητα της cache Βελτιώνει τον χρόνο προσπέλασης των δεδομένων από την CPU Οι σημερινές cache έχουν hit rate ≥ 0.95 (δηλαδή ≥ 95 στις100 φορές η ζητούμενη από τη CPU διεύθυνση βρίσκεται στη cache) Παράδειγμα: Κεντρική μνήμη με access time 30 ns Cache μνήμη με access time 1 ns και hit rate 0.95 ή 95% Μέσος χρόνος κλήσης = 0.95 × 1ns × (1ns+30ns) = 2.5ns Βελτίωση = 30/2.5 = 12 φορές Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 10 Κ. Διαμαντάρας - Α. Βαφειάδης

Τύποι μέσου χρόνου (T AV ) και βελτίωσης (n) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 11 Γενικά αν Τcache, Τmem είναι οι χρόνοι απόκρισης της μνήμης cache και της κύριας μνήμης αντίστοιχα, τότε ο μέσος χρόνος απόκρισης για hit-rate [hr %] είναι: Tav = [hr/100] × (Tcache) + [1−hr/100] × (Tcache + Tmem) επιτυγχάνεται βελτίωση n φορές στο χρόνο απόκρισης όπου n = Tmem/Tav = 1 / [1−(hr/100)+(Tcache/Tmem)].

Παράμετροι cache Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 12 Κ. Διαμαντάρας - Α. Βαφειάδης Μέγεθος (Cache size) Αρκετά μικρό ώστε η cache να μη κοστίζει πολύ Αρκετά μεγάλο ώστε χρόνος προσπέλασης του συγκροτήματος (cache - K. Μνήμη) να είναι κοντά σε αυτόν της cache Συναρτήσεις απεικόνισης Direct mapping (άμεσης απεικόνισης) Full associative mapping (πλήρως συσχετική) Set associative mapping (τμηματικά συσχετική) Αλγόριθμοι αντικατάστασης (Replacement algorithms) Πολιτική εγγραφής (Write policy) Μήκος γραμμής cache (Line size or Block size) Επίπεδα cache (number of cache)

Το μέγεθος της cache Επεξεργαστής Έτος κατασκευής Cache L1Cache L2Cache L3 IBM KB PDP 11/ KB VAX 11/ KB IBM KB Intel KB Pentium19938 KB/8KB KB Power PC KB Power PC KB /32 KB256 – 1000 KB2 MB Power PC G KB /32 KB256 – 1000 KB Pentium KB / 8KB256 KB Itanium KB /16 KB96 KB4 MB Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 13 Κ. Διαμαντάρας - Α. Βαφειάδης

H συνάρτηση απεικόνισης Η άμεσης απεικόνισης (direct mapping) H συσχετική απεικόνιση (associative mapping) Η τμηματικά συσχετική απεικόνιση (set associative mapping ) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 14 Κ. Διαμαντάρας - Α. Βαφειάδης

Τεχνικές οργάνωσης της cache Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 15 Κ. Διαμαντάρας - Α. Βαφειάδης

Οργάνωση άμεσης απεικόνισης (direct mapping) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 16 Βασική αρχή Κάθε block στη κεντρική μνήμη αντιστοιχεί ΜΟΝΟ σε μια συγκεκριμένη cache line (ένα block, πάντοτε μεταφέρεται στην ίδια διεύθυνση της cache η οποία υπολογίζεται από την συνάρτηση απεικόνισης) Συνάρτηση απεικόνισης (mapping function) Ανj = η διεύθυνση o ενός block στη κεντρική μνήμη m = το μέγεθος της cache σε γραμμές τότε L = j modulo m είναι η διεύθυνση της γραμμής στην cache που αυτό θα τοποθετηθεί

Άμεση απεικόνιση – Διευθύνσεις

Υποθέσεις για τα παραδείγματα Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 18 Στα επόμενα θα υποθέσουμε ότι έχουμε: CACHE Μέγεθος Cache : 64 kByte = 2 16 (καθαρό χωρίς τα Tags) Μέγεθος block : 4 bytes = 2 2 bytes Πλήθος blocks : 16 k (2 14 = 2 16 /2 2 ) Μήκος διεύθυνσης block : 14 bit ΚΥΡΙΑ ΜΝΗΜΗ Μέγεθος: 16 MBytes Byte addressable memory (Διεύθυνση ανά byte) Μήκος διεύθυνσης κύριας μνήμης : 24 bit (2 24 = 16 M)

Άμεση απεικόνιση: το φαινόμενο thrashing Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 19 Ας υποθέσουμε ότι ένα πρόγραμμα ζητάει συνεχώς δεδομένα εναλλάξ από δύο θέσεις της μνήμης που έχουν το ίδιο index. Επειδή και οι δύο δεν μπορούν να βρίσκονται στη cache ταυτόχρονα εναλλάσσονται συνεχώς μεταξύ της μνήμης και της cache Το φαινόμενο αυτό ονομάζεται thrashing (συνεχές χτύπημα)

Άμεση απεικόνιση - Διεύθυνση μνήμης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 20 Offset : Η διεύθυνση ενός byte μέσα στο block Index : Η διεύθυνση ενός block μέσα στην cache Tag : Ετικέτα αναγνώρισης (μέρος της διεύθυνσης) Μέγεθος Block : 4 bytes = 2 w bytes → W = 2 Μέγεθος Μνήμης : 16 Mbytes = 2 24 = 2 s+w Μήκος διεύθυνσης Κ.Μ. : (S + W) bits = 24 bits → S = 22 Πλήθος blocks στη μνήμη : 2 s = 2 22 = 4 Mblocks Μέγεθος Cache : 64 Kbytes = 2 16 bytes Πλήθος blocks στην cache: 2 D = 2 16 / 2 2 = 2 14 → D = 14 Μέγεθος tag : T = S−D bits = 8 S = Διεύθυνση του block στην ΚΜ = 22 W=2 Διεύθυνση Κύριας Μνήμης = 24 T=8 TagOffset D=14 Index

Τοποθέτηση ενός δεδομένου στη cache Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 21 Κ. Διαμαντάρας - Α. Βαφειάδης

Άμεση οργάνωση - Αλγόριθμος Αναζήτησης - hit Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 22 Βήμα 0: Ανάλυση της διεύθυνσης στα πεδία, tag, index, W ( ) Βήμα 1: Η index διεύθυνση μας οδηγεί σε μια γραμμή της cache στην οποία, ενδεχομένως, να βρίσκεται το περιεχόμενο της διεύθυνση που αναζητούμε. Βήμα 2: Το tag της διεύθυνσης συγκρίνεται με ο tag της γραμμής της cache στην οποία μας οδήγησε η διεύθυνση index. Βήμα 3: Αν τα δύο tag είναι ίσα τότε έχουμε cache hit η διεύθυνση βρίσκεται στη γραμμή (block) της cache με διεύθυνση index Βήμα 4: Το πεδίο W (offset ) βοηθά στον εντοπισμό της θέσης μνήμης ( ) μέσα στο block Βήμα 5: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση ( )

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 24 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 25 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 26 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 27 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 28 Κ. Διαμαντάρας - Α. Βαφειάδης

Άμεση οργάνωση - Αλγόριθμος Αναζήτησης - miss Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 29 Βήμα 0: Ανάλυση της διεύθυνσης στα πεδία, tag, index, W ( ) Βήμα 1: Η index διεύθυνση μας οδηγεί σε μια γραμμή της cache στην οποία, ενδεχομένως, να βρίσκεται το περιεχόμενο της διεύθυνση που αναζητούμε. Βήμα 2: Το tag της διεύθυνσης συγκρίνεται με ο tag της γραμμής της cache στην οποία μας οδήγησε η διεύθυνση index. Βήμα 3: Αν τα δύο tag ΔΕΝ είναι ίσα τότε έχουμε cache miss και η διεύθυνση δεν βρίσκεται στη γραμμή (block) της cache με διεύθυνση index Βήμα 4: Η κ. μνήμη μεταφέρει στη cache και στη line (1010) όλο block με διεύθυνση ( ) Βήμα 5: Το πεδίο w (offset ) βοήθα τον εντοπισμό της θέσης μνήμης ( ) μέσα στο block Βήμα 6: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση ( )

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 31 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 32 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 33 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 34 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 35 Κ. Διαμαντάρας - Α. Βαφειάδης

Διεύθυνση μνήμης: C Δυαδική μορφή: Tag Offset Line address 0CE7 (Διεύθυνση cache) Άμεση απεικόνιση – Ανάλυση Διεύθυνσης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 36 Κ. Διαμαντάρας - Α. Βαφειάδης

Άμεση απεικόνιση - Παράδειγμα Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης C Διεύθυνση μνήμης Tag Offset Line address 0 C E 7 Διεύθυνση cache

Πλήρως συσχετιστική cache (fully associative) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 38 Βασική αρχή Κάθε block της Κεντρικής Μνήμης τοποθετείται στη πρώτη κενή θέση της cache. Αν η cache είναι γεμάτη τότε τοποθετείται στην κενή θέση που δημιουργεί ο αλγόριθμος αντικατάστασης της cache. Συνάρτηση απεικόνισης : δεν υπάρχει

Πλήρως Συσχετιστική - Διεύθυνση μνήμης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 39 Offset : Η διεύθυνση ενός byte μέσα στο block Index : Δεν υπάρχει Tag : Ετικέτα αναγνώρισης (μέρος της διεύθυνσης) Μέγεθος Block : 4 bytes = 2 w bytes → W = 2 Μέγεθος Μνήμης : 16 Mbytes = 2 24 = 2 s+w Μήκος διεύθυνσης Κ.Μ. : (S + W) bits = 24 bits → S = 22 Πλήθος blocks στη μνήμη : 2 s = 2 22 = 4 Mblocks Μέγεθος Cache : 64 Kbytes = 2 16 bytes Πλήθος blocks στην cache: 2 D = 2 16 / 2 2 = 2 14 → D = 14 Μέγεθος tag : T = S−D bits = 8 S = Διεύθυνση του block στην ΚΜ = 22 W=2 Διεύθυνση Κύριας Μνήμης = 24 T=22 TagOffset

Πλήρως συσχετιστική – Αλγόριθμος προσπέλασης-hit Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 40 Βήμα 0: Ανάλυση της διεύθυνσης στα πεδία, tag, και w ( ) Βήμα 1-2: Το tag της διεύθυνσης συγκρίνεται με τα tag όλων των γραμμών της cache Βήμα 3: Αν κάποιο tag της cache είναι ίσο με το tag της διεύθυνσης τότε έχουμε cache hit και η γραμμή της cache η οποία έχει το ίδιο tag με αυτό της διεύθυνσης περιέχει την διεύθυνση Βήμα 4: Το πεδίο w (offset ) βοήθα τον εντοπισμό της θέσης μνήμης ( ) μέσα στο block Βήμα 5: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση ( )

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 42 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 43 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 44 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 45 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 46 Κ. Διαμαντάρας - Α. Βαφειάδης

Πλήρως συσχετιστική – Αλγόριθμος προσπέλασης-miss Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 47 Βήμα 0: Ανάλυση της διεύθυνσης στα πεδία, tag, και w ( ) Βήμα 1-2: Το tag της διεύθυνσης συγκρίνεται με τα tag όλων των γραμμών της cache Βήμα 3: Αν κανένα από tag της cache δεν είναι ίσο με το tag της διεύθυνσης τότε έχουμε cache miss Βήμα 4: Ο αλγόριθμος αντικατάστασης αποφασίζει πιο από τα block της cache θα απομακρυνθεί (εστω ότι είναι το block της cache με διεύθυνση 1000) Βήμα 5: Η κ. μνήμη μεταφέρει στη cache και στη line (0100) όλο block με διεύθυνση ( ) Βήμα 6: Το πεδίο w (offset ) βοήθα τον εντοπισμό της θέσης μνήμης ( ) μέσα στο block Βήμα 7: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση ( )

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 48 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 50 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 51 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 52 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 53 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 54 Κ. Διαμαντάρας - Α. Βαφειάδης

Διεύθυνση μνήμης: C Δυαδική μορφή: Tag Offset Διεύθυνση cache: 058CE7 Πλήρως Συσχετιστική – Ανάλυση Διεύθυνσης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 55 Κ. Διαμαντάρας - Α. Βαφειάδης

Πλήρως συσχετιστική - Παράδειγμα C (Διεύθυνση μνήμης) Offset Tag C E 7 Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 56 Κ. Διαμαντάρας - Α. Βαφειάδης

Τμηματικά Συσχετική cache (Set Associative) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 57 Βασική αρχή Υπόθεση: Η cache διαιρείται σε n sets των B blocks Πλήθος blocks της cache: m = n*B Ένα block τοποθετείται οπουδήποτε μέσα σε ένα set. Σε πoιo set θα τοποθετηθεί το αποφασίζει η συνάρτηση απεικόνισης Συνάρτηση απεικόνισης: (mapping function) αν j η διεύθυνση o ενός block στη κεντρική μνήμη i η διεύθυνση ενός set i = j modulo n Δηλαδή το block της μνήμης με διεύθυνση j θα τοποθετηθεί οπουδήποτε μέσα στο στο i set Μια τέτοια cache ονομάζεται B-way set associative

Τμηματικά συσχετιστική cache (2-way set associative cache) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 58 Κύρια Μνήμη : TagBlock Γραμμές Cache: Μέγεθος cache = 8 blocks 4 sets 2 blocks ανά set Set 0 Set 1 Set 2 Set Μέγεθος μνήμης = 32 blocks

Τμηματικά συσχετιστική - Διεύθυνση μνήμης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 59 Offset: Η διεύθυνση ενός byte μέσα στο block Set: Η διεύθυνση ενός set Tag: Ετικέτα αναγνώρισης (μέρος της διεύθυνσης) Μέγεθος Block : 4 bytes = 2 w bytes → W = 2 Μέγεθος Μνήμης : 16 Mbytes = 2 24 = 2 s+w Μήκος διεύθυνσης Κ.Μ. : (S + W) bits = 24 bits → S = 22 Πλήθος blocks στη μνήμη : 2 s = 2 22 = 4 Mblocks 2 blocks ανά set (2-way set associative) Μέγεθος Cache : 64 Kbytes = 2 16 bytes Πλήθος blocks στην cache: 2 16 / 2 2 = 2 14 Πλήθος sets στην cache: 2 D = 2 14 / 2 = 2 13 → D = 13 Μέγεθος tag : T = S−D bits = 9 S = Διεύθυνση του block στην ΚΜ = 22 W=2 Διεύθυνση Κύριας Μνήμης = 24 T=9 TagOffset D=13 Set

Τμηματικά Συσχετική – Αλγόριθμος Προσπέλασης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 60 Βήμα 0: Ανάλυση της διεύθυνσης A στα πεδία, tag, set, w Βήμα 1: Η set διεύθυνση μας οδηγεί σε ένα set, μέσα στα block του οποίου, ενδεχομένως, να βρίσκεται το περιεχόμενο της διεύθυνσης που αναζητούμε. Βήμα 2: Το tag της διεύθυνσης συγκρίνεται με όλα τα tag των γραμμών του set στην οποία μας οδήγησε η διεύθυνση set Βήμα 3: Αν κάποιο tag είναι ίσο με το tag της διεύθυνσης τότε έχουμε cache hit και η γραμμή της cache η οποία έχει το ίδιο tag με αυτό της διεύθυνσης Α περιέχει την διεύθυνση Α διαφορετικά έχουμε cache miss η κ. μνήμη μεταφέρει στην cache όλο το block με διεύθυνση (tag, set, 00), στο οποίο βρίσκεται η διεύθυνση Α Βήμα 4: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση (tag, set, w)

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 62 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 63 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 64 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 65 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 66 Κ. Διαμαντάρας - Α. Βαφειάδης

Διεύθυνση μνήμης: C Δυαδική μορφή: Tag Set Offset Διεύθυνση cache: 0 2 C 0 C E 7 Τμηματικά Συσχετιστική – Ανάλυση Διεύθυνσης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 67 Κ. Διαμαντάρας - Α. Βαφειάδης

Τμηματικά Συσχετική - Παράδειγμα Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης C (Διεύθυνση μνήμης) Offset C tag (Διεύθυνση set) 0 C E 7 (Διεύθυνση set)

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 70 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 71 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 72 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 73 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 74 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 75 Κ. Διαμαντάρας - Α. Βαφειάδης

Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 76 Κ. Διαμαντάρας - Α. Βαφειάδης