1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα Μνήμης – Βασικές Αρχές cache Μέρος: Πρώτο Καθηγητής: Α. Βαφειάδης 2008
2 Α. Βαφειάδης Περιεχόμενα Συστήματα Μνήμης Η τεχνολογία της ιεραρχημένης μνήμης Οργάνωση της μνήμης cache Η βασική αρχή λειτουργίας Οι παράμετροι της cache Απόδοση της cache Οργάνωση της Κ. Μνήμης Φυσική οργάνωση Λογική οργάνωση Απόδοση συστήματος cache -Κ. Μνήμης
3 Α. Βαφειάδης H Ιεραρχία μνήμης
4 Α. Βαφειάδης Μνήμες - χωρητικότητες- ταχύτητες ΚαταχωρητέςCacheΚύρια ΜνήμηΔίσκος Χωρητικότητα (bytes) < 1KB < 16MB <16GB >100G Χρόνος προσπέλαση ς (ns) 0.25 – – ns = 5ms Bandwidth (Mb/sec) – Technology CMOSCMOS SRAMCMOS DRAM Μαγνητικός Δίσκος Προσπέλαση μέσω Μεταφραστή ή Γλώσσας μηχανής Hardware Λειτουργικού συστήματος Λειτουργικού συστήματος ή επίπεδο χρήστη
5 Α. Βαφειάδης Απόκλιση ταχυτήτων CPU και DRAM
6 Α. Βαφειάδης Τοπικότητα Αρχή της τοπικότητας (locality principle). Στα περισσότερα προγράμματα διαδοχικές εντολές ή δεδομένα, στο χρόνο καλούνται από διαδοχικές ή κοντινές περιοχές της μνήμης. H χρονική τoπικότητα (temporal locality or locality on time) αναφέρεται στο γεγονός, ότι διευθύνσεις της μνήμης που χρησιμοποιήθηκαν κάποια χρονική στιγμή έχουν μεγάλη πιθανότητα να ξαναχρησιμοποιηθούν σύντομα. H χωρική τοπικότητα (spatial locality or locality in space) αναφέρεται στο γεγονός, ότι δύο γειτονικές διευθύνσεις θα χρησιμοποιηθούν διαδοχικά στο μέλλον.
7 Α. Βαφειάδης Το συγκρότημα cache – Κεντρικής Μνήμης
8 Α. Βαφειάδης Η βασική ιδέα Cache hit : Η CPU βρίσκει την διεύθυνση στη cache Cache miss : Η CPU ΔΕΝ βρίσκει την διεύθυνση στη cache Hit rate : Η πιθανότητα επιτυχίας (η διεύθυνση είναι στη cache) Miss rate : Η πιθανότητα αποτυχίας (η διεύθυνση δεν είναι στη cache)
9 Α. Βαφειάδης Ο αλγόριθμος λειτουργίας
10 Α. Βαφειάδης Χρησιμότητα της cache Βελτιώνει τον χρόνο προσπέλασης στη κεντρική μνήμη Η σημερινές cache έχουν hit rate = 0.9 (δηλαδή 9 στις10 φορές η ζητούμενη από τη CPU διεύθυνση βρίσκεται στη cache) Παράδειγμα: Κεντρική μνήμη με access time 60 ns Cache μνήμη με access time 10 ns και hit rate 0.9 ή 90% Μέσος χρόνος κλήσης = 0.9*10ns + 0.1*(10ns+60ns) = 16ns Βελτίωση = 60/16 = 3.75 φορές
11 Α. Βαφειάδης Τύποι μέσου χρόνου (T AV ) και βελτίωσης (n) Γενικά αν Τ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)].
12 Α. Βαφειάδης Παράμετροι cache Μέγεθος (Cache size) Αρκετά μικρό ώστε η cache να μη κοστίζει πολύ Αρκετά μεγάλο ώστε χρόνος προσπέλασης του συγκροτήματος (cache - K. Μνήμη) να είναι κοντά σε αυτόν της cache Συναρτήσεις απεικόνισης (Mapping function ) Direct mapping (άμεσης απεικόνισης) Full associative mapping (πλήρως συσχετική) Set associative mapping (τμηματικά συσχετική) Αλγόριθμοι αντικατάστασης (Replacement algorithms) Πολιτική εγγραφής (Write policy) Μήκος γραμμής cache (Line size or Block size) Επίπεδα cache (number of cache)
13 Α. Βαφειάδης Το μέγεθος της 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
14 Α. Βαφειάδης H συνάρτηση απεικόνισης Η άμεσης απεικόνισης (direct mapping) H συσχετική απεικόνιση (associate mapping) Η τμηματικά συσχετική απεικόνιση(set associate mapping )
15 Α. Βαφειάδης Τεχνικές οργάνωσης της cache ?