Κρυφή μνήμη

Η προσωρινή αποθήκευση είναι ένας όρος που χρησιμοποιείται στην επιστήμη των υπολογιστών. Η ιδέα πίσω από μια κρυφή μνήμη (προφέρεται "cash" /ˈkæʃ/ KASH ) είναι πολύ απλή: Πολύ συχνά, η λήψη ενός αποτελέσματος για έναν υπολογισμό είναι πολύ χρονοβόρα, οπότε η αποθήκευση του αποτελέσματος είναι γενικά μια καλή ιδέα. Χρησιμοποιούνται δύο είδη μέσων αποθήκευσης: Το ένα είναι συνήθως αρκετά μεγάλο, αλλά η πρόσβαση σε αυτό είναι "αργή"- το άλλο μπορεί να προσπελαστεί πολύ πιο γρήγορα, αλλά γενικά είναι μικρό. Η πολύ βασική ιδέα πίσω από την προσωρινή αποθήκευση είναι να χρησιμοποιείται το μέσο που είναι γρήγορο στην πρόσβαση για να υπάρχουν αντίγραφα των δεδομένων. Δεν υπάρχει καμία διαφορά μεταξύ του αντιγράφου, και του πρωτοτύπου. Η πρόσβαση στα πρωτότυπα δεδομένα μπορεί να απαιτεί πολύ χρόνο ή να είναι δαπανηρή (για παράδειγμα: τα αποτελέσματα ενός δύσκολου προβλήματος που απαιτεί πολύ χρόνο για να λυθεί). Για το λόγο αυτό, είναι πολύ πιο "φθηνό" να χρησιμοποιείτε απλώς το αντίγραφο των δεδομένων από την κρυφή μνήμη. Με άλλα λόγια, η κρυφή μνήμη είναι μια περιοχή προσωρινής αποθήκευσης που διαθέτει αντίγραφα δεδομένων που χρησιμοποιούνται συχνά. Όταν ένα αντίγραφο των δεδομένων βρίσκεται σε αυτή την κρυφή μνήμη, είναι ταχύτερο να χρησιμοποιηθεί αυτό το αντίγραφο παρά να γίνει εκ νέου ανάκτηση ή επανυπολογισμός των αρχικών δεδομένων. Έτσι, ο μέσος χρόνος που απαιτείται για την πρόσβαση στα δεδομένα γίνεται μικρότερος. Η τοποθέτηση μιας νέας τιμής σε μια κρυφή μνήμη συχνά σημαίνει ότι μια παλαιότερη τιμή πρέπει να αντικατασταθεί. Υπάρχουν διάφορες ιδέες (που συνήθως ονομάζονται "στρατηγικές") για το πώς να επιλέγεται η τιμή που θα αντικατασταθεί.

Ένας απομονωτής μοιάζει πολύ με μια κρυφή μνήμη. Διαφέρει ως προς το ότι ο πελάτης που έχει πρόσβαση στα δεδομένα σε έναν απομονωτή γνωρίζει ότι υπάρχει απομονωτής- ο απομονωτής διαχειρίζεται από την εφαρμογή. Με μια κρυφή μνήμη, ο πελάτης που έχει πρόσβαση στα δεδομένα δεν χρειάζεται να γνωρίζει ότι υπάρχει κρυφή μνήμη.

Οι τυπικές εφαρμογές υπολογιστών έχουν πρόσβαση σε δεδομένα με πολύ παρόμοιους τρόπους. Ας υποθέσουμε ότι τα δεδομένα είναι δομημένα σε "μπλοκ", τα οποία μπορούν να προσπελαστούν μεμονωμένα. Όταν μια εφαρμογή προσπελαύνει ένα μπλοκ είναι επίσης πολύ πιθανό να προσπελάσει (ή να αναφερθεί) σε ένα μπλοκ που είναι "κοντά" στο αρχικό μπλοκ. Αυτό είναι γνωστό ως τοπικότητα αναφοράς. Υπάρχουν διάφορα είδη τέτοιας "τοπικότητας". Η τοπικότητα αναφοράς είναι ένας από τους λόγους για τους οποίους οι κρυφές μνήμες λειτουργούν καλά σε πολλούς τομείς της πληροφορικής.

Για να λειτουργούν καλά, οι κρυφές μνήμες είναι μικρές σε σχέση με το σύνολο των δεδομένων. Όσο μεγαλύτερη είναι η κρυφή μνήμη, τόσο περισσότερο χρόνο χρειάζεται η αναζήτηση μιας εγγραφής. Οι μεγαλύτερες κρυφές μνήμες είναι επίσης πιο ακριβές στην κατασκευή τους.

Πώς λειτουργούν οι κρυφές μνήμες

Η κρυφή μνήμη είναι ένα μπλοκ μνήμης για την αποθήκευση δεδομένων που είναι πιθανό να χρησιμοποιηθούν ξανά. Η CPU και ο σκληρός δίσκος χρησιμοποιούν συχνά μια κρυφή μνήμη, όπως και τα προγράμματα περιήγησης και οι διακομιστές ιστού.

Μια κρυφή μνήμη αποτελείται από πολλές εγγραφές, που ονομάζονται δεξαμενή. Κάθε καταχώρηση περιέχει ένα δεδομένο (ένα κομμάτι δεδομένων) το οποίο είναι αντίγραφο ενός δεδομένου που βρίσκεται σε άλλο μέρος. Οι κρυφές μνήμες χρησιμοποιούν συνήθως αυτό που ονομάζεται backing store. Η πρόσβαση σε αποθηκευτικούς χώρους υποστήριξης είναι αργή ή ακριβή, σε σύγκριση με την κρυφή μνήμη. Μια κρυφή μνήμη δίσκου χρησιμοποιεί, για παράδειγμα, έναν σκληρό δίσκο ως αποθηκευτικό χώρο υποστήριξης. Κάθε εγγραφή έχει επίσης μια μικρή πληροφορία, που ονομάζεται ετικέτα. Αυτή η ετικέτα χρησιμοποιείται για την εύρεση της θέσης όπου είναι αποθηκευμένα τα αρχικά δεδομένα.

Προσωρινές μνήμες για ανάγνωση

Ένας πελάτης (μια CPU, ένα πρόγραμμα περιήγησης στο διαδίκτυο, ένα λειτουργικό σύστημα) που θέλει να αποκτήσει πρόσβαση σε ένα κομμάτι δεδομένων, το οποίο πιστεύει ότι βρίσκεται στο backing store, ελέγχει πρώτα αν το δεδομένο μπορεί να βρεθεί στην κρυφή μνήμη. Εάν το δεδομένο μπορεί να βρεθεί στην κρυφή μνήμη, ο πελάτης μπορεί να το χρησιμοποιήσει και δεν χρειάζεται να χρησιμοποιήσει την κύρια μνήμη. Αυτό είναι γνωστό ως χτύπημα κρυφής μνήμης. Έτσι, για παράδειγμα, ένα πρόγραμμα περιήγησης στο διαδίκτυο μπορεί να ελέγξει την τοπική κρυφή μνήμη του στο δίσκο για να δει αν έχει ένα τοπικό αντίγραφο του περιεχομένου μιας ιστοσελίδας σε μια συγκεκριμένη διεύθυνση URL. Σε αυτό το παράδειγμα, η διεύθυνση URL είναι η ετικέτα και το περιεχόμενο της ιστοσελίδας είναι το δεδομένο.

Η άλλη κατάσταση που μπορεί να προκύψει είναι ότι το δεδομένο με την ετικέτα δεν μπορεί να βρεθεί στην κρυφή μνήμη. Αυτό είναι γνωστό ως αστοχία κρυφής μνήμης. Το δεδομένο πρέπει να ανακτηθεί από το backing store. Συνήθως, αντιγράφεται στην κρυφή μνήμη, έτσι ώστε την επόμενη φορά να μην χρειάζεται πλέον να ανακτηθεί από το backing store.

Η κρυφή μνήμη έχει περιορισμένο μέγεθος. Για να δημιουργηθεί χώρος για την προηγουμένως μη αποθηκευμένη εγγραφή, μπορεί να χρειαστεί να διαγραφεί μια άλλη αποθηκευμένη εγγραφή από τη μνήμη cache. Χρησιμοποιούνται ειδικοί κανόνες για την εύρεση της καταχώρησης που πρέπει να διαγραφεί καλύτερα. Αυτοί οι κανόνες ονομάζονται συνήθως ευρετικοί. Οι ευρετικές μέθοδοι που χρησιμοποιούνται για την εύρεση της καταχώρησης ονομάζονται πολιτική αντικατάστασης. Ένας πολύ απλός κανόνας που χρησιμοποιείται ονομάζεται Least recently used (ή LRU). Παίρνει απλά την καταχώρηση που χρησιμοποιήθηκε το μεγαλύτερο χρονικό διάστημα πριν. Άλλες ευρετικές μέθοδοι παρατίθενται στον αλγόριθμο κρυφής μνήμης.

Κρυφές μνήμες για εγγραφή

Οι κρυφές μνήμες μπορούν επίσης να χρησιμοποιηθούν για την εγγραφή δεδομένων- το πλεονέκτημα αυτού είναι ότι ο πελάτης μπορεί να συνεχίσει τη λειτουργία του μόλις η καταχώρηση εγγραφεί στην κρυφή μνήμη- δεν χρειάζεται να περιμένει μέχρι να εγγραφεί η καταχώρηση στον αποθηκευτικό χώρο υποστήριξης.

Ωστόσο, η καταχώρηση πρέπει να εγγραφεί στον υποστηρικτικό αποθηκευτικό χώρο σε κάποια χρονική στιγμή. Ο χρόνος κατά τον οποίο συμβαίνει αυτό ελέγχεται από την πολιτική εγγραφής.

Σε μια κρυφή μνήμη διαγραφής, κάθε εγγραφή γράφεται αμέσως στον υποστηρικτικό αποθηκευτικό χώρο, καθώς και αποθηκεύεται στην κρυφή μνήμη.

Η άλλη επιλογή είναι να γράφετε μόνο στην προσωρινή μνήμη και να γράφετε αργότερα στον αποθηκευτικό χώρο υποστήριξης. Αυτό είναι γνωστό ως κρυφή μνήμη write-backwrite-behind). Η κρυφή μνήμη επισημαίνει τις εγγραφές που δεν έχουν ακόμη εγγραφεί στον υποστηρικτικό αποθηκευτικό χώρο- η σήμανση που χρησιμοποιείται αναφέρεται συχνά ως σημαία βρώμικου περιεχομένου (dirty flag). Πριν διαγραφούν οι εγγραφές από την κρυφή μνήμη, γράφονται στον αποθηκευτικό χώρο υποστήριξης. Αυτό είναι γνωστό ως lazy write. Μια αστοχία σε μια κρυφή μνήμη write-back (η οποία απαιτεί την αντικατάσταση ενός μπλοκ από ένα άλλο) θα χρειαστεί συχνά δύο προσπελάσεις μνήμης: μία για να πάρει το απαραίτητο δεδομένο και μία για να γράψει τα αντικατασταθέντα δεδομένα από την κρυφή μνήμη στο store.

Η πολιτική προσωρινής αποθήκευσης μπορεί επίσης να αναφέρει ότι ένα συγκεκριμένο δεδομένο πρέπει να εγγράφεται στην προσωρινή αποθήκευση. Ο πελάτης μπορεί να έχει κάνει πολλές αλλαγές στο δεδομένο στην κρυφή μνήμη. Αφού τελειώσει, μπορεί να πει ρητά στην κρυφή μνήμη να γράψει πίσω το δεδομένο.

Η κατανομή χωρίς εγγραφή είναι μια πολιτική προσωρινής αποθήκευσης όπου μόνο οι αναγνώσεις αποθηκεύονται στην προσωρινή μνήμη. Με τον τρόπο αυτό αποφεύγεται η ανάγκη για κρυφή αποθήκευση write-back ή write-through. Οι εγγραφές πραγματοποιούνται συνεχώς στον υποστηρικτικό αποθηκευτικό χώρο.

Ο πελάτης δεν είναι η εφαρμογή που αλλάζει τα δεδομένα στο backing store. Εάν τα δεδομένα αλλάξουν στον αποθηκευτικό χώρο υποστήριξης, το αντίγραφο στην προσωρινή μνήμη cache θα είναι ξεπερασμένο, ή αλλοιωμένο. Εναλλακτικά, όταν ο πελάτης ενημερώνει τα δεδομένα στην κρυφή μνήμη, τα αντίγραφα αυτών των δεδομένων σε άλλες κρυφές μνήμες θα γίνουν stale. Υπάρχουν ειδικά πρωτόκολλα επικοινωνίας που επιτρέπουν στους διαχειριστές κρυφής μνήμης να συνομιλούν μεταξύ τους για να διατηρούν τα δεδομένα με νόημα. Αυτά είναι γνωστά ως πρωτόκολλα συνοχής.

Διάγραμμα μιας κρυφής μνήμης CPUZoom
Διάγραμμα μιας κρυφής μνήμης CPU

Επιλογή της καταχώρησης προς αντικατάσταση

Μια κρυφή μνήμη είναι μικρή και θα είναι γεμάτη ή σχεδόν γεμάτη τις περισσότερες φορές. Έτσι, όταν προστίθεται μια νέα τιμή, μια παλιά πρέπει να αφαιρεθεί. Υπάρχουν διάφοροι τρόποι με τους οποίους μπορεί να γίνει αυτή η επιλογή:

  • Πρώτος μέσα Πρώτος έξω: Απλά αντικαταστήστε την καταχώρηση που προστέθηκε στη μνήμη cache το μεγαλύτερο χρονικό διάστημα πριν.
  • Χρησιμοποιήθηκε λιγότερο πρόσφατα: αλλά όταν μια εγγραφή χρησιμοποιείται, ενημερώνεται η χρονοσφραγίδα/ηλικία της.
  • Χρησιμοποιείται λιγότερο συχνά: Αντί για χρονοσφραγίδα χρησιμοποιήστε έναν μετρητή, ο οποίος αυξάνεται κάθε φορά που χρησιμοποιείται μια εγγραφή.
  • Διαλέξτε μια καταχώρηση στην τύχη

Ιστορία

Η λέξη cache χρησιμοποιήθηκε για πρώτη φορά στην πληροφορική το 1967, όταν ετοιμάστηκε ένα επιστημονικό άρθρο για δημοσίευση στο IBM Systems Journal. Το άρθρο αφορούσε μια νέα βελτίωση της μνήμης στο μοντέλο 85. Το Model 85 ήταν ένας υπολογιστής της σειράς προϊόντων IBM System/360. Ο συντάκτης του Journal ήθελε μια καλύτερη λέξη για τη μνήμη υψηλής ταχύτητας buffer, που χρησιμοποιήθηκε στο άρθρο. Δεν πήρε καμία απάντηση και πρότεινε τη λέξη cache, από το γαλλικό cacher, που σημαίνει "κρύβω". Το άρθρο δημοσιεύθηκε στις αρχές του 1968, και οι συγγραφείς τιμήθηκαν από την IBM. Το έργο τους έτυχε ευρείας αποδοχής και βελτιώθηκε. Η κρυφή μνήμη έγινε σύντομα συνήθης χρήση στη βιβλιογραφία των υπολογιστών.

Όπου χρησιμοποιούνται κρυφές μνήμες

Κρυφές μνήμες CPU

Οι μικρές μνήμες στο τσιπ της CPU ή κοντά σε αυτό μπορούν να γίνουν ταχύτερες από την πολύ μεγαλύτερη κύρια μνήμη. Οι περισσότερες ΚΜΕ από τη δεκαετία του 1980 χρησιμοποιούν μία ή περισσότερες κρυφές μνήμες. Οι σύγχρονες ΚΜΕ γενικής χρήσης μέσα σε προσωπικούς υπολογιστές μπορεί να έχουν έως και μισή ντουζίνα. Κάθε κρυφή μνήμη μπορεί να είναι εξειδικευμένη σε ένα διαφορετικό μέρος της εργασίας εκτέλεσης προγραμμάτων.

Προσωρινές μνήμες δίσκου

Οι κρυφές μνήμες CPU διαχειρίζονται γενικά εξ ολοκλήρου από το υλικό, ενώ άλλες κρυφές μνήμες διαχειρίζονται από διαφορετικά είδη λογισμικού. Το λειτουργικό σύστημα διαχειρίζεται συνήθως μια κρυφή μνήμη σελίδων στην κύρια μνήμη. Οι χρήστες εκτός της επιστήμης της πληροφορικής αποκαλούν συνήθως αυτή την κρυφή μνήμη εικονική μνήμη. Η διαχείρισή της γίνεται από τον πυρήνα του λειτουργικού συστήματος.

Οι σύγχρονοι σκληροί δίσκοι διαθέτουν απομονωτές δίσκου. Αυτές αποκαλούνται μερικές φορές "κρυφή μνήμη δίσκου", αλλά αυτό είναι λάθος. Η κύρια λειτουργία αυτών των απομονωτών είναι να διατάσσουν τις εγγραφές στο δίσκο και να διαχειρίζονται τις αναγνώσεις. Τα επαναλαμβανόμενα χτυπήματα στην κρυφή μνήμη είναι σπάνια, επειδή ο απομονωτής είναι πολύ μικρός σε σύγκριση με το μέγεθος του σκληρού δίσκου.

Οι τοπικοί σκληροί δίσκοι είναι γρήγοροι σε σύγκριση με άλλες συσκευές αποθήκευσης, όπως οι απομακρυσμένοι διακομιστές, οι τοπικοί δίσκοι ταινιών ή τα οπτικά jukebox. Η χρήση των τοπικών σκληρών δίσκων ως κρυφής μνήμης είναι η βασική ιδέα της ιεραρχικής διαχείρισης αποθήκευσης.

Προσωρινές μνήμες Web

Τα προγράμματα περιήγησης στον ιστό και οι διακομιστές μεσολάβησης ιστού χρησιμοποιούν κρυφές μνήμες για την αποθήκευση προηγούμενων απαντήσεων από διακομιστές ιστού, όπως ιστοσελίδες. Οι κρυφές μνήμες ιστού μειώνουν τον όγκο των πληροφοριών που πρέπει να μεταδοθούν μέσω του δικτύου. Οι πληροφορίες που έχουν αποθηκευτεί προηγουμένως στην προσωρινή μνήμη μπορούν συχνά να επαναχρησιμοποιηθούν. Αυτό μειώνει το εύρος ζώνης και τις απαιτήσεις επεξεργασίας του διακομιστή ιστού και συμβάλλει στη βελτίωση της απόκρισης για τους χρήστες του ιστού.

Τα σύγχρονα προγράμματα περιήγησης ιστού χρησιμοποιούν μια ενσωματωμένη προσωρινή μνήμη ιστού, αλλά ορισμένοι πάροχοι υπηρεσιών διαδικτύου ή οργανισμοί χρησιμοποιούν επίσης έναν διακομιστή μεσολάβησης προσωρινής αποθήκευσης. Πρόκειται για μια κρυφή μνήμη ιστού που μοιράζονται όλοι οι χρήστες του εν λόγω δικτύου.

Οι μηχανές αναζήτησης καθιστούν επίσης συχνά τις ιστοσελίδες που έχουν ευρετηριαστεί διαθέσιμες από την προσωρινή μνήμη τους. Για παράδειγμα, η Google παρέχει έναν σύνδεσμο "Cached" δίπλα σε κάθε αποτέλεσμα αναζήτησης. Αυτό είναι χρήσιμο όταν οι ιστοσελίδες είναι προσωρινά μη προσβάσιμες από έναν διακομιστή ιστού.

Προσωρινή αποθήκευση δεδομένων με αναξιόπιστα δίκτυα

Η λειτουργία write-through είναι συνηθισμένη σε αναξιόπιστα δίκτυα (όπως ένα Ethernet LAN). Το πρωτόκολλο που χρησιμοποιείται για να διασφαλιστεί ότι τα δεδομένα στην κρυφή μνήμη εγγραφής έχουν νόημα όταν χρησιμοποιούνται πολλές κρυφές μνήμες εγγραφής είναι πολύ περίπλοκο, σε μια τέτοια περίπτωση.

Για παράδειγμα, οι κρυφές μνήμες ιστοσελίδων και οι κρυφές μνήμες συστημάτων αρχείων δικτύου από την πλευρά του πελάτη (όπως αυτές στο NFS ή το SMB) είναι συνήθως μόνο για ανάγνωση ή μόνο για εγγραφή, ώστε να διατηρείται το πρωτόκολλο δικτύου απλό και αξιόπιστο.

Η διαφορά μεταξύ buffer και cache

Ο απομονωτής και η κρυφή μνήμη δεν αποκλείουν η μία την άλλη- χρησιμοποιούνται επίσης συχνά μαζί. Ωστόσο, ο λόγος για τον οποίο χρησιμοποιούνται είναι διαφορετικός. Η προσωρινή μνήμη είναι μια θέση στη μνήμη που χρησιμοποιείται παραδοσιακά επειδή οι εντολές της ΚΜΕ δεν μπορούν να απευθυνθούν απευθείας σε δεδομένα που είναι αποθηκευμένα σε περιφερειακές συσκευές. Η μνήμη του υπολογιστή χρησιμοποιείται ως ενδιάμεσος αποθηκευτικός χώρος.

Επιπλέον, ένας τέτοιος απομονωτής μπορεί να είναι εφικτός όταν ένα μεγάλο μπλοκ δεδομένων συναρμολογείται ή αποσυναρμολογείται (όπως απαιτείται από μια συσκευή αποθήκευσης), ή όταν τα δεδομένα μπορεί να παραδοθούν με διαφορετική σειρά από αυτή με την οποία παράγονται. Επίσης, ένας ολόκληρος απομονωτής δεδομένων μεταφέρεται συνήθως διαδοχικά (για παράδειγμα σε σκληρό δίσκο), οπότε η ίδια η απομόνωση αυξάνει μερικές φορές την απόδοση της μεταφοράς. Αυτά τα οφέλη είναι παρόντα ακόμη και αν τα δεδομένα που αποθηκεύονται με προσωρινή αποθήκευση εγγράφονται στο ρυθμιστικό διάλυμα μία φορά και διαβάζονται από το ρυθμιστικό διάλυμα μία φορά.

Η κρυφή μνήμη αυξάνει επίσης την απόδοση μεταφοράς. Ένα μέρος της αύξησης προέρχεται ομοίως από τη δυνατότητα να συνδυαστούν πολλαπλές μικρές μεταφορές σε ένα μεγάλο μπλοκ. Αλλά το κύριο κέρδος απόδοσης προκύπτει επειδή υπάρχει μεγάλη πιθανότητα το ίδιο δεδομένο να διαβαστεί από την κρυφή μνήμη πολλές φορές ή ότι τα δεδομένα που έχουν γραφτεί θα διαβαστούν σύντομα. Ο μόνος σκοπός των κρυφών μνήμες είναι να μειώσουν τις προσπελάσεις στον υποκείμενο πιο αργό αποθηκευτικό χώρο. Η κρυφή μνήμη είναι επίσης συνήθως ένα επίπεδο αφαίρεσης που έχει σχεδιαστεί ώστε να είναι αόρατο από την οπτική γωνία των γειτονικών επιπέδων. Με αυτόν τον τρόπο, οι εφαρμογές ή οι πελάτες μπορεί να μην γνωρίζουν ότι υπάρχει κρυφή μνήμη.

Ερωτήσεις και απαντήσεις

Ερ: Τι είναι η προσωρινή αποθήκευση δεδομένων;


A: Η προσωρινή αποθήκευση είναι ένας όρος που χρησιμοποιείται στην επιστήμη των υπολογιστών και αναφέρεται στην πρακτική της αποθήκευσης αντιγράφων δεδομένων που χρησιμοποιούνται συχνά, προκειμένου να υπάρχει ταχύτερη πρόσβαση σε αυτά από την εκ νέου ανάκτηση ή τον εκ νέου υπολογισμό των αρχικών δεδομένων.

Ε: Πώς λειτουργεί η προσωρινή αποθήκευση δεδομένων;


Α: Η προσωρινή αποθήκευση λειτουργεί με τη χρήση δύο ειδών αποθηκευτικών μέσων, ένα που είναι συνήθως αρκετά μεγάλο αλλά αργό στην πρόσβαση και ένα άλλο που μπορεί να προσπελαστεί πολύ πιο γρήγορα αλλά είναι γενικά μικρότερο. Η ιδέα πίσω από την προσωρινή αποθήκευση είναι να χρησιμοποιείται το γρήγορο μέσο για την αποθήκευση αντιγράφων δεδομένων, ώστε η πρόσβαση στα αρχικά δεδομένα να διαρκεί λιγότερο χρόνο ή να είναι λιγότερο δαπανηρή.

Ερ: Τι είναι η προσωρινή αποθήκευση;


Α: Ένας buffer είναι παρόμοιος με μια κρυφή μνήμη στο ότι αποθηκεύει αντίγραφα δεδομένων για ταχύτερη πρόσβαση, ωστόσο με έναν buffer, ο πελάτης που έχει πρόσβαση στα δεδομένα γνωρίζει ότι υπάρχει ένας buffer και ότι τον διαχειρίζεται μια εφαρμογή, ενώ με μια κρυφή μνήμη, οι πελάτες δεν χρειάζεται να γνωρίζουν ότι υπάρχει μια κρυφή μνήμη.

Ερ: Τι σημαίνει τοπικότητα αναφοράς;


Α: Η εντοπιότητα αναφοράς σημαίνει ότι όταν μια εφαρμογή προσπελαύνει ορισμένα μπλοκ δομημένων δεδομένων, είναι πιθανό να προσπελάσει και άλλα μπλοκ κοντά σε εκείνα που προσπελάστηκαν αρχικά. Αυτό βοηθά τις κρυφές μνήμες να λειτουργούν καλά, καθώς είναι συνήθως μικρές σε σύγκριση με όλα τα διαθέσιμα δεδομένα.

Ερ: Γιατί οι μεγαλύτερες κρυφές μνήμες χρειάζονται περισσότερο χρόνο για την αναζήτηση καταχωρήσεων;


Α: Οι μεγαλύτερες κρυφές μνήμες χρειάζονται περισσότερο χρόνο επειδή περιέχουν περισσότερες αποθηκευμένες πληροφορίες και συνεπώς απαιτούν περισσότερο χρόνο για την αναζήτηση. Είναι επίσης πιο ακριβές καθώς απαιτούν περισσότερους πόρους για αποθήκευση.

Ερ: Πώς μπορεί η τοπικότητα να συμβάλει στην καλύτερη λειτουργία των κρυφών μνημών;


Α: Η τοπικότητα βοηθάει στην καλύτερη λειτουργία των κρυφών μνήμης επειδή όταν οι εφαρμογές έχουν πρόσβαση σε ορισμένα τμήματα δομημένων δεδομένων, είναι πιθανό να χρειάζονται και άλλα κοντινά τμήματα, τα οποία μπορούν να ανακτηθούν γρήγορα από την κρυφή μνήμη αντί να χρειαστεί να τα ανακτήσουν από αλλού ή να τα υπολογίσουν ξανά.

AlegsaOnline.com - 2020 / 2023 - License CC3