Κρυφή μνήμη: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Minisberg (συζήτηση | συνεισφορές)
Χωρίς σύνοψη επεξεργασίας
Minisberg (συζήτηση | συνεισφορές)
Χωρίς σύνοψη επεξεργασίας
Γραμμή 5:
εκτέλεση της εφαρμογής τείνει για ένα σημαντικό ποσοστό της συνολικής χρονικής διάρκειας εκτέλεσης του προγράμματος να περιορίζεται σε μικρά υποσύνολα εντολών του προγράμματος (κάτι αναμενόμενο αφού τα προγράμματα περιέχουν βρόχους επανάληψης, ειδάλλως θα τερμάτιζαν σε πολύ μικρό χρόνο). Αυτό το φαινόμενο καλείται '''αρχή της τοπικότητας'''. Η κρυφή μνήμη της ΚΜΕ, ταχύτερη και πιο ακριβή από την κύρια μνήμη, αλλά και πολύ πιο μικρή σε μέγεθος (ώστε να περιορίζεται το κόστος), εκμεταλλεύεται την αρχή της τοπικότητας ώστε να αυξάνει σημαντικά στην πλειονότητα των περιπτώσεων τις υπολογιστικές επιδόσεις του συστήματος (να εκτελούνται ταχύτερα τα προγράμματα), αφού τα υποσύνολα των εντολών και των δεδομένων του προγράμματος τα οποία εκτελούνται συχνά προσκομίζονται στην κρυφή μνήμη, με αποτέλεσμα για σημαντικό χρόνο να επιτυγχάνεται απόδοση παρόμοια με αυτή ενός υπολογιστή ο οποίος διαθέτει μόνο την γρήγορη, αλλά ακριβή, κρυφή μνήμη.
 
Στην κατανόηση της βασικής λειτουργίας της κρυφής μνήμης μπορεί να βοηθήσει η αναλογία με τη χρήση του ψυγείου σε μια κουζίνα. Ο μάγειρας πρέπει σε καθημερινή βάση να παράγει κάποια φαγητά. Αν δεν είχε ψυγείο θα έπρεπε πιο συχνά να βγαίνει για να αγοράσει, π.χ. τα κρέατα, κάτι που θα μείωνε την αποδοτικότητά του, ενώ με τη βοήθεια του ψυγείου μπορεί να προμηθευτεί τα υλικά, π.χ. για μια εβδομάδα, εξοικονομώντας χρόνο. Άρα ο [[Ηλεκτρονικός υπολογιστής|υπολογιστής]] θα αποκτά μεγαλύτερη ταχύτητα στο άνοιγμα των προγραμμάτων με την μνήμη [[CACHE]].
 
== Κρυφή μνήμη ΚΜΕ ==
[[Αρχείο:Typical Cpu cache organization.svg|thumb|right|400px|Τυπική οργάνωση κρυφής μνήμης ΚΜΕ]]
''[[Κρυφή μνήμη Κεντρικής Μονάδας Επεξεργασίας]]'', γνωστή και ως ''[[ενδιάμεση μνήμη]]'' ή ''[[λανθάνουσα μνήμη ΚΜΕ]]'', ονομάζουμε τη μνήμη που χρησιμοποιείται από τον επεξεργαστή για να επιτύχει ταχύτερη πρόσβαση στην κύρια μνήμη. Αυτή η μνήμη είναι γρηγορότερη, ακριβότερη και μικρότερη σε μέγεθος από την κύρια μνήμη. Στην πράξη είναι υψηλής ταχύτητας μνήμη [[SRAM]], η οποία χρησιμοποιείται μεταξύ της [[Κεντρική Μονάδα Επεξεργασίας|KME]] και της κύριας μνήμης. Εντολές και λέξεις της κύριας μνήμης που χρησιμοποιούνται συχνά ή χρησιμοποιήθηκαν πρόσφατα, μεταφέρονται στην κρυφή μνήμη. Έτσι, την επόμενη φορά που η ΚΜΕ θα χρειαστεί μια λέξη, θα την αναζητήσει πρώτα στη μικρή και γρήγορα προσπελάσιμη κρυφή μνήμη. Αν η αναζήτηση είναι επιτυχής εξοικονομείται χρόνος, ενώ αν αποτύχει ξεκινά η προσπέλαση της κύριας μνήμης και ανανεώνεται η κρυφή μνήμη.
 
Όπως προαναφέρθηκε, η λειτουργία κάθε τύπου κρυφής μνήμης βασίζεται στην ''[[αρχή της τοπικότητας]]''. Στην περίπτωση του επεξεργαστή αυτό σημαίνει ότι, αν ο τελευταίος χρειαστεί μια λέξη της κύριας μνήμης, η επόμενη λέξη που θα χρειαστεί κατά πάσα πιθανότητα θα βρίσκεται αποθηκευμένη κοντά στην προηγούμενη. Έτσι, μια ομάδα γειτονικών λέξεων ([[γραμμή κρυφής μνήμης]]) φορτώνεται στην κρυφή μνήμη μαζί με τη ζητούμενη, ώστε την επόμενη φορά να προσπελαστούν γρήγορα.