GR20170100067A - Προβλεψη χρησης τομεων κρυφης μνημης - Google Patents
Προβλεψη χρησης τομεων κρυφης μνημης Download PDFInfo
- Publication number
- GR20170100067A GR20170100067A GR20170100067A GR20170100067A GR20170100067A GR 20170100067 A GR20170100067 A GR 20170100067A GR 20170100067 A GR20170100067 A GR 20170100067A GR 20170100067 A GR20170100067 A GR 20170100067A GR 20170100067 A GR20170100067 A GR 20170100067A
- Authority
- GR
- Greece
- Prior art keywords
- data
- domain
- cache
- record
- tier
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Παρέχεται μια κρυφή μνήμη συστήματος και μια μέθοδος λειτουργίας μιας κρυφής μνήμης συστήματος. Η κρυφή μνήμη συστήματος παρέχει αποθήκευση δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά τμήματα συστήματος. Η κρυφή μνήμη συστήματος έχει χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη με πολλαπλές εγγραφές, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένωνκαι με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης. Παρέχεται ένα κύκλωμα πρόβλεψης χρήσης τομέων το οποίο έχει ένα σύνολο εγγραφών σχεδίων για την αποθήκευση ενός συνόλου σχεδίων χρήσης τομέων. Σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος που προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων επιλέγεται μια εγγραφή επιλεγμένου σχεδίου σε εξάρτηση από ένααναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα και δημιουργείται μια πρόβλεψη χρήσης τομέων σε εξάρτηση από ένα σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου. Περαιτέρω στοιχεία δεδομένων μπορούν στη συνέχεια να ανακτώνται τα οποία δεν προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα αλλά υποδεικνύονται από την πρόβλεψη χρήσης τομέων, ενώ με αυτό τον τρόπο βελτιώνεται η χρήση εύρους ζώνης μνήμης.
Description
ΠΡΟΒΛΕΨΗ ΧΡΗΣΗΣ ΤΟΜΕΩΝ ΚΡΥΦΗΣ ΜΝΗΜΗΣ
Η παρούσα δημοσιοποίηση σχετίζεται με την αποθήκευση δεδομένων σε κρυφή μνήμη σε μια διάταξη επεξεργασίας δεδομένων. Πιο συγκεκριμένα, αναφέρεται σε μια κρυφή μνήμη συστήματος η οποία παρέχει αποθήκευση δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολυάριθμα τμήματα συστήματος.
Όταν παρέχεται μια κρυφή μνήμη το κόστος αποθήκευσης που σχετίζεται με την αποθήκευση ενός αναγνωριστικού τμήματος διεύθυνσης (συνήθως αναφέρεται ως μια «ετικέτα») σε συνεργασία με μια βαθμίδα δεδομένων μπορεί να μειώνεται αυξάνοντας το μέγεθος της βαθμίδας κρυφής μνήμης, εφόσον μια μεγαλύτερη ποσότητα δεδομένων μπορεί τότε να συσχετίζεται με κάθε ετικέτα, ενώ λιγότερες ετικέτες πρέπει να αποθηκεύονται για ένα δεδομένο μέγεθος κρυφής μνήμης. Ωστόσο, αυτή η προσέγγιση έχει σε γενικές γραμμές το μειονέκτημα ότι απαιτεί μεγαλύτερο εύρος ζώνης (προς και από τη μνήμη), επειδή σε κάθε συμπλήρωση και εγγραφή προτεραιότητας (write back) πρέπει να προσκομίζεται ή να εγγράφεται κατά προτεραιότητα ολόκληρη η βαθμίδα. Επιπλέον, οι κρυφές μνήμες με μεγαλύτερες βαθμίδες μπορεί επίσης να υφίστανται χαμηλό βαθμό χρησιμοποίησης των βαθμιδών κρυφής μνήμης, γεγονός που επιφέρει απώλειες στη χωρητικότητα της κρυφής μνήμης και στο εύρος ζώνης πρόσβασης στη μνήμη. Για την αντιμετώπιση αυτών των ζητημάτων μπορεί να χρησιμοποιείται μια «κρυφή μνήμη τομέα» η οποία χρησιμοποιεί μεγαλύτερες βαθμίδες κρυφής μνήμης, αλλά επιτρέπει συμπληρώσεις ή εγγραφές προτεραιότητας μικρότερων «τομέων» κάθε βαθμίδας. Μια τέτοια κρυφή μνήμη τομέα επίσης διατηρεί συνήθως ξεχωριστά bit εγκυρότητας και ρύπανσης για κάθε τομέα. Αυτή η προσέγγιση σημαίνει ότι είναι δυνατή η βελτίωση του βαθμού χρησιμοποίησης των βαθμιδών κρυφής μνήμης ενώ μπορεί να μειώνεται η κατανάλωση εύρους ζώνης μνήμης, επειδή οι τομείς που δε χρησιμοποιούνται δε χρειάζεται να προσκομίζονται ενώ οι μη ρυπαροί τομείς δε χρειάζεται να εγγράφονται κατά προτεραιότητα.
Τουλάχιστον ένα παράδειγμα που περιγράφεται στο παρόν παρέχει μια κρυφή μνήμη συστήματος η οποία παρέχει αποθήκευση δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολυάριθμα τμήματα συστήματος, με την κρυφή μνήμη συστήματος να περιλαμβάνει:
χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη με πολυάριθμες εγγραφές, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολυάριθμους τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης,
κύκλωμα πρόβλεψης χρήσης τομέα με ένα σύνολο εγγραφών σχεδίων για την αποθήκευση ενός συνόλου σχεδίων χρήσης τομέα και το οποίο αποκρίνεται σε ένα αίτημα πρόσβασης σε δεδομένα από ένα τμήμα συστήματος το οποίο προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων για την επιλογή μιας εγγραφής επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα, και για τη δημιουργία μιας πρόβλεψης χρήσης τομέα σε εξάρτηση από ένα σχέδιο χρήσης τομέα στην επιλεγμένη εγγραφή σχεδίου, και
κύκλωμα ανάκτησης δεδομένων για την ανάκτηση ενός ή περισσότερων περαιτέρω στοιχείων δεδομένων σε εξάρτηση από την πρόβλεψη χρήσης τομέα.
Τουλάχιστον ένα παράδειγμα που περιγράφεται στο παρόν παρέχει μια μέθοδο λειτουργίας μιας κρυφής μνήμης συστήματος για την παροχή αποθήκευσης δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολυάριθμα τμήματα συστήματος, με τη μέθοδο να περιλαμβάνει τα εξής βήματα:
αποθήκευση βαθμιδών στοιχείων δεδομένων σε πολυάριθμες εγγραφές χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολυάριθμους τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης,
αποθήκευση συνόλων σχεδίων χρήσης τομέων σε ένα σύνολο εγγραφών σχεδίων και σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος που προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων επιλέγοντας μια επιλεγμένη εγγραφή σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα, και η δημιουργία μιας πρόβλεψης χρήσης τομέων σε εξάρτηση από το σχέδιο χρήσης τομέα στην επιλεγμένη εγγραφή σχεδίου, και
ανάκτηση ενός ή περισσότερων περαιτέρω στοιχείων δεδομένων σε εξάρτηση από την πρόβλεψη χρήσης τομέων.
Τουλάχιστον ένα παράδειγμα που περιγράφεται στο παρόν παρέχει μια μέθοδο λειτουργίας μιας κρυφής μνήμης συστήματος για την παροχή αποθήκευσης δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά τμήματα συστήματος, με τη μέθοδο να περιλαμβάνει τα εξής βήματα:
την αποθήκευση βαθμιδών στοιχείων δεδομένων σε πολλαπλές εγγραφές χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης,
την αποθήκευση συνόλων σχεδίων χρήσης τομέων σε ένα σύνολο εγγραφών σχεδίων και σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος το οποίο προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων επιλέγοντας μια εγγραφή επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα, και δημιουργώντας μια πρόβλεψη χρήσης τομέων σε εξάρτηση από το σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου, και
την ανάκτηση ενός ή περισσότερων περαιτέρω στοιχείων δεδομένων σε εξάρτηση από την πρόβλεψη χρήσης τομέων.
Τουλάχιστον ένα παράδειγμα που περιγράφεται στο παρόν παρέχει μια κρυφή μνήμη συστήματος για την παροχή αποθήκευσης δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά μέρη συστήματος, με την κρυφή μνήμη συστήματος να περιλαμβάνει:
μέσα αποθήκευσης βαθμιδών στοιχείων δεδομένων σε πολλαπλές εγγραφές χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης,
μέσα αποθήκευσης συνόλων σχεδίων χρήσης τομέων σε ένα σύνολο εγγραφών σχεδίων και σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος το οποίο προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων επιλέγοντας μια εγγραφή επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα, και δημιουργίας μιας πρόβλεψης χρήσης τομέων σε εξάρτηση από το σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου, και
μέσα ανάκτησης ενός ή περισσότερων περαιτέρω στοιχείων δεδομένων σε εξάρτηση από την πρόβλεψη χρήσης τομέων.
Η παρούσα εφεύρεση θα περιγράφει περαιτέρω, μόνο μέσω παραδειγμάτων, αναφορικά με τις υλοποιήσεις αυτής όπως απεικονίζεται στα συνοδευτικά σχέδια, στα οποία:
Το Σχήμα 1 απεικονίζει σχηματικά ένα σύστημα επεξεργασίας δεδομένων το οποίο περιλαμβάνει μια κρυφή μνήμη συστήματος σε μια υλοποίηση,
Το Σχήμα 2 απεικονίζει σχηματικά μια διάταξη επεξεργασίας δεδομένων σε μια υλοποίηση, όπου παρέχεται μια διάταξη επεξεργασίας δεδομένων ως μια συσκευή συστήματος σε ολοκληρωμένο κύκλωμα και περιλαμβάνει μια κρυφή μνήμη συστήματος.
Το Σχήμα 3 απεικονίζει σχηματικά σε μεγαλύτερη λεπτομέρεια τη διαμόρφωση μιας κρυφής μνήμης συστήματος σε μια υλοποίηση,
Το Σχήμα 4 απεικονίζει σχηματικά την αποθήκευση, χρήση και ενημέρωση σχεδίων χρήσης τομέων χρησιμοποιώντας απαριθμητές χρήσης τομέων σε μια υλοποίηση,
Το Σχήμα 5 απεικονίζει σχηματικά την παροχή και χρήση ξεχωριστών πινάκων σχεδίων χρήσης τομέων που αντιστοιχούν σε κάθε αναγνωριστικό τμήματος συστήματος για το οποίο μια κρυφή μνήμη συστήματος παρέχει αποθήκευση δεδομένων σε κρυφή μνήμη σε μια υλοποίηση,
Το Σχήμα 6 δείχνει μια ακολουθία βημάτων τα οποία λαμβάνονται από μια κρυφή μνήμη σε μια υλοποίηση σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα από ένα τμήμα συστήματος,
Το Σχήμα 7 δείχνει μια ακολουθία βημάτων τα οποία εκτελούνται από μια κρυφή μνήμη συστήματος σε μια υλοποίηση όταν δεν εκκρεμεί εκείνη τη στιγμή κάποιο αίτημα πρόσβασης σε δεδομένα,
Το Σχήμα 8 δείχνει μια ακολουθία βημάτων τα οποία εκτελούνται από μια κρυφή μνήμη συστήματος σε μια υλοποίηση για την ενημέρωση των σχεδίων χρήσης τομέων τα οποία αποθηκεύει σε περίπτωση έξωσης μιας εγγραφής, και
Το Σχήμα 9 δείχνει μια ακολουθία βημάτων τα οποία εκτελούνται από μια κρυφή μνήμη συστήματος σε μια υλοποίηση για την ενημέρωση των σχεδίων χρήσης τομέων τα οποία αποθηκεύει σε περίπτωση πρόσβασης στην κρυφή μνήμη.
Τουλάχιστον ένα παράδειγμα που περιγράφεται στο παρόν παρέχει μια κρυφή μνήμη συστήματος για την παροχή αποθήκευσης δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά τμήματα συστήματος, με την κρυφή μνήμη συστήματος να περιλαμβάνει: χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη με πολλαπλές εγγραφές, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης, με το κύκλωμα πρόβλεψης χρήσης τομέων να έχει ένα σύνολο εγγραφών σχεδίων για την αποθήκευση ενός συνόλου σχεδίων χρήσης τομέων και σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος το οποίο προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων για την επιλογή μιας εγγραφής επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα, και για τη δημιουργία μιας πρόβλεψης χρήσης τομέων σε εξάρτηση από ένα σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου, και ένα κύκλωμα ανάκτησης δεδομένων για την ανάκτηση ενός ή περισσότερων περαιτέρω στοιχείων δεδομένων σε εξάρτηση από την πρόβλεψη χρήσης τομέων.
Κάθε βαθμίδα στοιχείων δεδομένων που αποθηκεύεται στην κρυφή μνήμη υποδιαιρείται σε πολλαπλούς τομείς που χρησιμοποιούν από κοινού ένα συσχετισμένο τμήμα διεύθυνσης (σε ορισμένα παραδείγματα στο παρόν αναφέρεται ως ένα τμήμα ετικέτας). Η κρυφή μνήμη συστήματος επιπλέον αποθηκεύει ένα σύνολο σχεδίων χρήσης τομέων με βάση ποια πρόβλεψη χρήσης τομέων μπορεί να δημιουργηθεί. Το σύνολο σχεδίων χρήσης τομέων μπορεί να λαμβάνει ένα πλήθος μορφών, για παράδειγμα η πρόβλεψη χρήσης τομέων μπορεί να αντιστοιχεί με τρόπο ένα προς ένα με ένα δεδομένο αποθηκευμένο σχέδιο χρήσης τομέων ή η πρόβλεψη χρήσης τομέων μπορεί να προκύπτει από ένα σχέδιο χρήσης τομέων. Πρέπει να σημειωθεί ότι το σχέδιο χρήσης τομέων το οποίο επιλέγεται με σκοπό τη δημιουργία της πρόβλεψης χρήσης τομέων επιλέγεται σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο ληφθέν αίτημα πρόσβασης σε δεδομένα. Αυτή η εξάρτηση της εγγραφής επιλεγμένου σχεδίου από το αναγνωριστικό τμήματος συστήματος (σημειώνοντας ότι αυτή η κρυφή μνήμη συστήματος παρέχεται με σκοπό την παροχή δυνατότητας αποθήκευσης δεδομένων σε κρυφή μνήμη για πολλαπλά τμήματα συστήματος) βασίζεται στην αναγνώριση ότι συγκεκριμένα τμήματα συστήματος μπορεί να έχουν συγκεκριμένα, επαναλαμβανόμενα σχέδια πρόσβασης στους πολλαπλούς τομείς βαθμιδών στοιχείων δεδομένων αποθηκευμένα στην κρυφή μνήμη συστήματος. Επιπλέον, το κύκλωμα ανάκτησης δεδομένων της κρυφής μνήμης συστήματος έχει τη δυνατότητα ανάκτησης περαιτέρω στοιχείων δεδομένων, τα οποία δεν προσδιορίζονται σε ένα αίτημα πρόσβασης σε δεδομένα, αλλά υποδεικνύονται από την πρόβλεψη χρήσης τομέων. Με άλλα λόγια αυτά μπορεί να αναφέρονται ως «μη αιτηθέντα στοιχεία δεδομένων». Συνεπώς, για παράδειγμα, όταν μια βαθμίδα στοιχείων δεδομένων εκχωρείται στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη, είναι δυνατή η «προσκόμιση από πριν» περισσότερων τομέων στοιχείων δεδομένων από αυτούς που προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα το οποίο ενεργοποίησε την εκχώρηση με βάση την πρόβλεψη χρήσης τομέων, γεγονός το οποίο μπορεί να μειώσει ή ακόμη και να εξαλείψει τις μελλοντικές αστοχίες προς την ίδια βαθμίδα. Αντίθετα, αντί της επιπλέον ανάκτησης περαιτέρω («μη αιτηθέντων») στοιχείων δεδομένων, η πρόβλεψη χρήσης τομέων μπορεί επίσης να χρησιμοποιείται με σκοπό να προσδιοριστεί ότι η εκχώρηση μιας εγγραφής στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη για μια νέα βαθμίδα στοιχείων δεδομένων δε θα ήταν αξιόλογη, εφόσον η πρόβλεψη χρήσης τομέων υποδεικνύει ότι η χρήση αυτής της βαθμίδας στοιχείων δεδομένων θα ήταν πολύ «αραιή» (για παράδειγμα η χρήση μόνο ενός τομέα στη βαθμίδα στοιχείων δεδομένων ή λιγότερων από ένα δεδομένο αριθμό κατωφλιού τομέων), και σε απόκριση η αποθήκευση σε κρυφή μνήμη των στοιχείων δεδομένων μπορεί να αποτρέπεται, παρακάμπτοντας ουσιαστικά εντελώς αυτή την κρυφή μνήμη συστήματος, και συμπληρώνοντας μόνο σε μια κρυφή μνήμη υψηλότερου επιπέδου κοντότερα στο αϊτών τμήμα συστήματος.
Υπάρχει ένας αριθμός τρόπων με τους οποίους είναι δυνατή η διαμόρφωση της κρυφής μνήμης συστήματος ώστε να αποκρίνεται στην περίπτωση στην οποία ο χώρος αποθήκευσης δεδομένων στην κρυφή μνήμη αυτή τη στιγμή έχει ή δεν έχει μια εγγραφή που να αντιστοιχεί (λόγω ενός ταυτιζόμενου τμήματος διεύθυνσης) σε ένα αίτημα πρόσβασης σε δεδομένα. Με άλλα λόγια, υπάρχει ένας αριθμός τρόπων με τους οποίους η κρυφή μνήμη συστήματος μπορεί να αποκρίνεται σε μια ευστοχία κρυφής μνήμης ή σε μια αστοχία κρυφής μνήμης. Για παράδειγμα, στις περιπτώσεις στις οποίες ο χώρος αποθήκευσης δεδομένων σε κρυφή μνήμη δεν έχει εκείνη τη στιγμή μια εγγραφή με ένα αντίστοιχο τμήμα διεύθυνσης (π.χ. μια ταυτιζόμενη ετικέτα), δηλ. υπάρχει μια αστοχία κρυφής μνήμης, μπορεί να επιλέγεται μια εγγραφή στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη για την αποθήκευση του αντίστοιχου αιτηθέντος στοιχείου δεδομένων (δηλ. πραγματοποιείται μια εκχώρηση), και σε εξάρτηση από την πρόβλεψη χρήσης τομέων που δημιουργείται από το κύκλωμα πρόβλεψης χρήσης τομέων, είναι δυνατή η ανάκτηση επιπλέον μη αιτηθέντων στοιχείων δεδομένων στα πλαίσια της διαδικασίας συμπλήρωσης δεδομένων για αυτή την εγγραφή που μόλις εκχωρήθηκε. Ανάλογα, σε ορισμένες υλοποιήσεις το κύκλωμα ανάκτησης δεδομένων μπορεί να αποκρίνεται σε ένα σήμα αστοχίας από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη ώστε να εξαναγκάζει το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη να εκχωρεί μια εγγραφή με ένα τμήμα διεύθυνσης να έχει ληφθεί από το αίτημα πρόσβασης σε δεδομένα και να ενεργοποιεί μια διαδικασία συμπλήρωσης δεδομένων για την εγγραφή η οποία περιλαμβάνει την ανάκτηση του ενός ή των περισσότερων στοιχείων δεδομένων που προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα και επιπλέον την ανάκτηση του ενός ή των περισσότερων περαιτέρω στοιχείων δεδομένων που υποδεικνύονται από την πρόβλεψη χρήσης τομέων.
Σε ορισμένες υλοποιήσεις το κύκλωμα ανάκτησης δεδομένων μπορεί να διαμορφώνεται ώστε να διαχωρίζει την ανάκτηση των στοιχείων δεδομένων που προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα από την περαιτέρω ανάκτηση περαιτέρω (μη αιτηθέντων) στοιχείων δεδομένων τα οποία δεν προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα αλλά πάραυτα υποδεικνύονται από την πρόβλεψη χρήσης τομέων. Για παράδειγμα, η ανάκτηση των μη αιτηθέντων στοιχείων δεδομένων μπορεί να πραγματοποιείται επακόλουθα της ανάκτησης των καθορισμένων στοιχείων δεδομένων και επιπλέον μόνο, για παράδειγμα, όταν ικανοποιείται ένα κριτήριο εύρους ζώνης. Για παράδειγμα, μετά την ολοκλήρωση της διαδικασίας συμπλήρωσης δεδομένων για την ανάκτηση μόνο του(ων) καθορισμένου(ων) στοιχείου(ων) δεδομένων στο αίτημα πρόσβασης σε δεδομένα, μπορεί στη συνέχεια να προσδιορίζεται εάν το επίπεδο δραστηριότητας στη διαδρομή προς τη μνήμη είναι εκείνη τη στιγμή επαρκώς χαμηλό ώστε να επιτρέψει την πραγματοποίηση ενός επιπλέον αιτήματος και στις περιπτώσεις που ισχύει κάτι τέτοιο το κύκλωμα ανάκτησης δεδομένων μπορεί στη συνέχεια να ενεργοποιεί μια περαιτέρω διαδικασία συμπλήρωσης δεδομένων με σκοπό την ανάκτηση αυτών των περαιτέρω μη αιτηθέντων στοιχείων δεδομένων. Τα περαιτέρω προβλεφθέντα, αλλά όχι ακόμη αιτηθέντα, στοιχεία δεδομένων μπορούν με αυτό τον τρόπο να μεταφέρονται στην κρυφή μνήμη σε μια στιγμή κατά την οποία το σύστημα μνήμης έχει τη δυνατότητα για κάτι τέτοιο, χωρίς για παράδειγμα να προκαλεί την υπέρβαση του αϊτού μενού εύρους ζώνης αιχμής κατά ένα προκαθορισμένο όριο.
Ανάλογα, σε ορισμένες υλοποιήσεις το κύκλωμα ανάκτησης δεδομένων αποκρίνεται σε ένα σήμα αστοχίας από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη ώστε να προκαλεί την εκχώρηση μιας εγγραφής με ένα τμήμα διεύθυνσης να λαμβάνεται από το αίτημα πρόσβασης σε δεδομένα από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη και την ενεργοποίηση μιας διαδικασίας συμπλήρωσης δεδομένων για την εγγραφή η οποία περιλαμβάνει την ανάκτηση του ενός ή των περισσότερων στοιχείων δεδομένων που καθορίζονται στο αίτημα πρόσβασης σε δεδομένα και επακόλουθα, όταν ικανοποιείται ένα κριτήριο εύρους ζώνης πρόσβασης στη μνήμη, την ενεργοποίηση μιας περαιτέρω διαδικασίας συμπλήρωσης δεδομένων για την εγγραφή για την ανάκτηση του ενός ή των περισσότερων περαιτέρω στοιχείων δεδομένων που υποδεικνύονται από την πρόβλεψη χρήσης τομέων.
Σε άλλες περιπτώσεις μπορεί να βρεθεί ότι μια ταυτιζόμενη εγγραφή αποθηκεύεται ήδη στην κρυφή μνήμη, δηλ. όπου το τμήμα διεύθυνσης του αιτήματος πρόσβασης σε δεδομένα ταυτίζεται με μια εγγραφή στην κρυφή μνήμη, το οποίο επίσης αναφέρεται ως μια ευστοχία κρυφής μνήμης. Σε αυτή την περίπτωση οι παρούσες τεχνικές αναγνωρίζουν ότι πάραυτα μπορούν να προκύψουν περιπτώσεις στις οποίες περαιτέρω στοιχεία δεδομένων τα οποία δεν προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα αλλά δεν υποδεικνύονται από την πρόβλεψη χρήσης τομέων, δεν αποθηκεύονται με έγκυρο τρόπο στην κρυφή μνήμη. Με άλλα λόγια, ένα ληφθέν αίτημα πρόσβασης σε δεδομένα μπορεί να έχει ως αποτέλεσμα μια ευστοχία κρυφής μνήμης (συγκεκριμένα, μια ευστοχία κρυφής μνήμης για την εγγραφή και μια ευστοχία τομέα για τον τομέα που συγκρατεί τα αιτηθέντα δεδομένα), όμως μπορεί ωστόσο να υπάρχει ένας ή περισσότεροι «άλλοι» τομείς της ταυτιζόμενης βαθμίδας κρυφής μνήμης οι οποίοι είχαν ως αποτέλεσμα την ευστοχία κρυφής μνήμης οι οποίοι δεν περιέχουν έγκυρα δεδομένα, αλλά όπου η πρόβλεψη χρήσης τομέων υποδεικνύει ότι αυτοί οι τελευταίοι τομείς αναμένεται να χρησιμοποιηθούν, κι επομένως είναι δυνατός ο εξαναγκασμός ανάκτησης δεδομένων για αυτούς τους τομείς. Ανάλογα, σε ορισμένες υλοποιήσεις το κύκλωμα ανάκτησης δεδομένων ανταποκρίνεται σε ένα σήμα ευστοχίας από το χώρο αποθήκευσης δεδομένων κρυφής μνήμης, και σε πληροφορίες εγκυρότητας τομέων ότι το ένα ή τα περισσότερα περαιτέρω στοιχεία δεδομένων που υποδεικνύονται από την πρόβλεψη χρήσης τομέων δεν αποθηκεύονται εκείνη τη στιγμή στο χώρο αποθήκευσης δεδομένων κρυφής μνήμης, για την ενεργοποίηση μιας διαδικασίας συμπλήρωσης δεδομένων για την εγγραφή που περιλαμβάνει το ένα ή τα περισσότερα περαιτέρω στοιχεία δεδομένων.
Επίσης σε αυτή την περίπτωση, ανάλογα με την παραπάνω ανάλυση, η ανάκτηση των περαιτέρω στοιχείων δεδομένων μπορεί να καθυστερείται όσο εκκρεμεί ένας προσδιορισμός ότι το επίπεδο δραστηριότητας στη διαδρομή προς τη μνήμη είναι εκείνη τη στιγμή επαρκώς χαμηλό ώστε να επιτρέπει την πραγματοποίηση ενός επιπλέον αιτήματος. Όπως προηγουμένως τα περαιτέρω προβλεφθέντα, αλλά όχι ακόμη αιτηθέντα, στοιχεία δεδομένων μπορούν με αυτό τον τρόπο να μεταφέρονται στην κρυφή μνήμη σε μια στιγμή κατά την οποία το σύστημα μνήμης έχει τη δυνατότητα για κάτι τέτοιο, χωρίς για παράδειγμα να προκαλείται υπέρβαση ενός προκαθορισμένου ορίου από το αιτηθέν αίτημα εύρους ζώνης αιχμής. Ανάλογα, σε ορισμένες υλοποιήσεις, το κύκλωμα ανάκτησης δεδομένων ανταποκρίνεται σε ένα σήμα ευστοχίας από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη εκείνη τη στιγμή, και σε πληροφορίες εγκυρότητας που υποδεικνύουν ότι το ένα ή τα περισσότερα περαιτέρω στοιχεία δεδομένων που υποδεικνύονται από την πρόβλεψη χρήσης τομέων δεν αποθηκεύονται εκείνη τη στιγμή στο χώρο αποθήκευσης δεδομένων κρυφής μνήμης, και όταν ικανοποιείται ένα κριτήριο εύρους ζώνης πρόσβασης σε μνήμη, για την ενεργοποίηση μιας διαδικασίας συμπλήρωσης δεδομένων για την εγγραφή που περιλαμβάνει την ανάκτηση του ενός ή των περισσότερων περαιτέρω στοιχείων δεδομένων.
Το κύκλωμα πρόβλεψης χρήσης τομέων μπορεί να πάρει ένα πλήθος μορφών και αντίστοιχα το σύνολο σχεδίων χρήσης τομέων το οποίο είναι αποθηκευμένο μπορεί αντίστοιχα να πάρει ένα πλήθος μορφών. Ωστόσο, σε ορισμένες υλοποιήσεις το κύκλωμα πρόβλεψης χρήσης τομέων περιλαμβάνει απαριθμητές χρήσης τομέων, και ανταποκρίνεται στο αίτημα πρόσβασης σε δεδομένα που λαμβάνονται από το τμήμα συστήματος για την επιλογή ενός υποσυνόλου των απαριθμητών χρήσης τομέων, όπου το σχέδιο χρήσης τομέων δίδεται από τιμές απαριθμητή του υποσυνόλου των απαριθμητών χρήσης τομέων.
Σε τέτοιες υλοποιήσεις οι απαριθμητές χρήσης τομέων θα μπορούσαν να πάρουν ένα πλήθος μορφών, για παράδειγμα να είναι τόσο απλοί όσο ένας απαριθμητής μονού bit. Εναλλακτικά, οι απαριθμητές χρήσης τομέων μπορεί κάθε ένας να είναι 2 bit, ή περισσότερα, ανάλογα τις συγκεκριμένες απαιτήσεις κρυφής μνήμης συστήματος. Στις περιπτώσεις στις οποίες κάθε απαριθμητής από τους απαριθμητές χρήσης τομέων είναι ένας απαριθμητής μόνο ενός bit, τότε η πρόβλεψη χρήσης τομέων μπορεί στην πράξη να είναι απλά μια απευθείας παρουσίαση των τιμών απαριθμητών, υποδεικνύοντας κατά πόσο ένας αντίστοιχος τομέας έχει προβλεφθεί να χρησιμοποιείται ή όχι. Αντίθετα, στις περιπτώσεις στις οποίες οι απαριθμητές χρήσης τομέων είναι απαριθμητές τουλάχιστον 2 bit, μπορεί να ορίζεται μια τιμή κατωφλιού την οποία πρέπει να υπερβαίνει η τιμή απαρίθμησης που συγκροτείται από κάθε απαριθμητή ως ένδειξη ότι ο αντίστοιχος τομέας προβλέπεται να χρησιμοποιηθεί. Οι απαριθμητές χρήσης τομέων μπορεί να είναι απαριθμητές τουλάχιστον 2 bit. Ανάλογα, σε ορισμένες υλοποιήσεις OL απαριθμητές χρήσης τομέων είναι απαριθμητές κορεσμού τουλάχιστον 2 bit και το κύκλωμα πρόβλεψης χρήσης τομέων ανταποκρίνεται σε μια τιμή απαρίθμησης η οποία είναι μεγαλύτερη από μια τιμή κατωφλιού ως ένδειξη στην πρόβλεψη χρήσης τομέων ότι ένας τομέας στον οποίο αντιστοιχεί αυτή η τιμή απαρίθμησης προβλέπεται να χρησιμοποιηθεί.
Η ενημέρωση των τιμών που συγκροτούνται από κάθε έναν από τους απαριθμητές τουλάχιστον 2 bit μπορεί να παρέχεται με ένα πλήθος τρόπων, αλλά σε ορισμένες υλοποιήσεις το κύκλωμα πρόβλεψης χρήσης τομέων ανταποκρίνεται στις πληροφορίες χρήσης τομέων, όταν OL πληροφορίες χρήσης τομέων υποδεικνύουν ότι ο τομέας έχει χρησιμοποιηθεί, για την αύξηση της εν λόγω τιμής απαρίθμησης κατά ένα μέγεθος αύξησης το οποίο είναι μικρότερο από ένα μέγεθος μείωσης κατά το οποίο μειώνεται η εν λόγω τιμή απαρίθμησης όταν οι πληροφορίες χρήσης τομέων υποδεικνύουν ότι ο τομέας δεν έχει χρησιμοποιηθεί. Οι πληροφορίες χρήσης τομέων μπορούν να υλοποιούνται με διάφορους τρόπους, όμως μπορεί να είναι για παράδειγμα ένας σημειωτής «χρήσης» αποθηκευμένος σε συσχέτιση με κάθε τομέα, ο οποίος ορίζεται όταν αυτός ο τομέας είναι το αντικείμενο του αιτήματος πρόσβασης σε δεδομένα. Ανάλογα, παρέχεται μια ασύμμετρη ενημέρωση των απαριθμητών, με το μέγεθος μείωσης να είναι μεγαλύτερο από το μέγεθος αύξησης. Αυτή η τεχνική μπορεί για παράδειγμα να χρησιμοποιείται στις περιπτώσεις στις οποίες η ενημέρωση των απαριθμητών χρήσης τομέων πραγματοποιείται μετά από μια περίοδο χρήσης, για παράδειγμα όταν οι απαριθμητές ενημερώνονται όταν εκτελείται μια έξωση. Αυτή η προσέγγιση μπορεί να γίνει κατανοητή, υποθέτοντας ότι η κρυφή μνήμη αποθηκεύει σε γενικές γραμμές χρήσιμα δεδομένα σε κρυφή μνήμη, όσον αφορά στο γεγονός ότι οι αχρησιμοποίητοι τομείς θα είναι λιγότερο κοινοί από τους χρησιμοποιημένους τομείς.
Σε ορισμένες υλοποιήσεις το σχέδιο χρήσης τομέων, που επιλέγεται από το σύνολο σχεδίων χρήσης τομέων, επιλέγεται σε περαιτέρω εξάρτηση από τις πληροφορίες διεύθυνσης που προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα. Ανάλογα, το σχέδιο χρήσης τομέων μπορεί να έχει μια εξάρτηση όχι μόνο από το τμήμα συστήματος το οποίο δημιούργησε το αίτημα πρόσβασης σε δεδομένα, αλλά και από τη συγκεκριμένη διεύθυνση με την οποία σχετίζεται αυτό το αίτημα πρόσβασης σε δεδομένα. Αυτό επιτρέπει περαιτέρω λεπτομερή προσαρμογή του προβλεφθέντος σχεδίου χρήσης τομέων για κάθε τμήμα συστήματος με βάση τη διεύθυνση (περιοχή) στην οποία πραγματοποιήθηκε πρόσβαση.
Τα σχέδια χρήσης τομέων μπορούν να αποθηκεύονται με ένα πλήθος τρόπων. Για παράδειγμα, μπορεί να χρησιμοποιείται ένα σύνολο εγγραφών αποθήκευσης για τα σχέδια χρήσης τομέων για όλα τα αναγνωριστικά τμημάτων συστήματος για τα οποία η κρυφή μνήμη συστήματος έχει διαμορφωθεί να αποκρίνεται. Μπορεί για παράδειγμα διαφορετικά τμήματα συστήματος (όπου αυτά τα διαφορετικά τμήματα συστήματος έχουν διαφορετικά αναγνωριστικά τμημάτων συστήματος) να χρησιμοποιούν από κοινού σχέδια χρήσης τομέων στο κύκλωμα πρόβλεψης χρήσης τομέων, όπου αυτό φαίνεται να είναι επωφελές, ή τουλάχιστον όχι επιβλαβές, στην απόδοση του συστήματος λόγω των αντίστοιχων σχεδίων πρόσβασης τομέων κάθε τμήματος του συστήματος. Εναλλακτικά, μπορεί να ισχύει ότι το σύνολο σχεδίων χρήσης τομέων που αποθηκεύεται στο κύκλωμα πρόβλεψης χρήσης τομέων και ο μηχανισμός με τον οποίο επιλέγεται η εγγραφή του επιλεγμένου σχεδίου σε εξάρτηση από το αναγνωριστικό τμήματος συστήματος είναι τέτοια ώστε δεν υπάρχει επικάλυψη στη χρήση των σχεδίων χρήσης τομέων μεταξύ διακριτών αναγνωριστικών τμημάτων του συστήματος. Ως εκ τούτου, σε ορισμένες υλοποιήσεις το σύνολο σχεδίων χρήσης τομέων περιλαμβάνει ένα ανεξάρτητο σύνολο σχεδίων χρήσης τομέων για κάθε αναγνωριστικό τμήματος του συστήματος από ένα σύνολο αναγνωριστικών τμημάτων του συστήματος με το οποίο διατάσσεται η κρυφή μνήμη συστήματος να αποκρίνεται.
Όπως αναφέρθηκε παραπάνω, η ενημέρωση των σχεδίων χρήσης τομέων που είναι αποθηκευμένα στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη μπορεί να λαμβάνει ένα πλήθος μορφών, όμως σε ορισμένες υλοποιήσεις ο χώρος αποθήκευσης δεδομένων σε κρυφή μνήμη περιλαμβάνει περαιτέρω χώρο αποθήκευσης χρήσης τομέων ο οποίος συσχετίζεται με κάθε τομέα κάθε βαθμίδας ώστε να υποδηλώνει κατά πόσο έχει πραγματοποιηθεί πρόσβαση σε έγκυρα δεδομένα σε κάθε τομέα από τότε που ο αντίστοιχος τομέας συμπληρώθηκε με έγκυρα δεδομένα και σημειώθηκε ως έγκυρος, όπου κάθε εγγραφή στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη περαιτέρω αποθηκεύει ένα αναγνωριστικό εγγραφής σχεδίου, και όπου το κύκλωμα πρόβλεψης χρήσης τομέων ανταποκρίνεται σε μια έξωση βαθμίδας από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη για την ενημέρωση του σχεδίου χρήσης τομέα σε μια εγγραφή σχεδίου που προσδιορίζεται από το αναγνωριστικό εγγραφής σχεδίου της βαθμίδας που εξωθείται σε εξάρτηση κατά πόσο το περιεχόμενο του χώρου αποθήκευσης χρήσης τομέων που αντιστοιχεί στη βαθμίδα που εξωθείται υποδεικνύει δεδομένα στα οποία έχει πραγματοποιηθεί πρόσβαση.
Ανάλογα, μόλις μια βαθμίδα στοιχείων δεδομένων εξωθηθεί από την κρυφή μνήμη, οι πληροφορίες χώρου αποθήκευσης χρήσης τομέα μπορούν να χρησιμοποιούνται για να καθοριστούν ποιοι τομείς αυτής της βαθμίδας έχουν πράγματι χρησιμοποιηθεί ενώ αυτή η βαθμίδα ήταν αποθηκευμένη στην κρυφή μνήμη. Η παροχή του αναγνωριστικού εγγραφής σχεδίου επιτρέπει στη συνέχεια στην κρυφή μνήμη να εντοπίσει την ταυτιζόμενη εγγραφή στο σύνολο εγγραφών σχεδίων που αποθηκεύονται από το κύκλωμα πρόβλεψης χρήσης τομέων και στη συνέχεια να ενημερώνει αυτό το σχέδιο σε εξάρτηση από την παρατηρηθείσα χρήση τομέων αυτής της βαθμίδας. Το αναγνωριστικό εγγραφής σχεδίου θα μπορούσε πράγματι να είναι το αναγνωριστικό τμήματος συστήματος στις περιπτώσεις σας οποίες αυτό επαρκεί για το μοναδικό προσδιορισμό της εγγραφής επιλεγμένου σχεδίου. Θα μπορούσε αντίθετα να είναι ο δείκτης που δημιουργήθηκε στο σύνολο εγγραφών σχεδίων, ενώ θα μπορούσε επιπλέον να περιλαμβάνει περαιτέρω πληροφορίες (π.χ. σχετικές με την αντίστοιχη διεύθυνση). Μπορεί να αποθηκεύεται σε μια μορφή ειδική για την κρυφή μνήμη ή θα μπορούσαν να είναι πληροφορίες που λήφθηκαν απευθείας από το ληφθέν αίτημα πρόσβασης σε δεδομένα, για παράδειγμα ένα αναγνωριστικό διαύλου (όπως όταν ο δίαυλος είναι ένας δίαυλος ARM ΑΧΙ, ένα αναγνωριστικό διαύλου ΑΧΙ).
0α αναγνωριστεί ότι στις περιπτώσεις στις οποίες μια νέα εγγραφή στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη πρέπει να εκχωρείται σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα για το οποίο τα δεδομένα δεν αποθηκεύονται εκείνη τη στιγμή στην κρυφή μνήμη, πρέπει να επιλέγεται μια εξιλαστήρια εγγραφή και το περιεχόμενο αυτής να εγγράφεται και πάλι (σε περίπτωση ρύπανσης) στη μνήμη. Αυτή η επιλογή εξιλαστήριας βαθμίδας μπορεί να πραγματοποιείται σύμφωνα με τις γνωστές τεχνικές επιλογής εξιλαστήριων βαθμιδών, όμως η παρούσα δημοσιοποίηση περαιτέρω παρατηρεί ότι αυτό θα μπορούσε να πραγματοποιείται σε εξάρτηση από την καταγεγραμμένη χρήση των τομέων μιας ή περισσότερων υποψηφίων για έξωση. Για παράδειγμα, μια λιγότερο χρησιμοποιημένη βαθμίδα θα μπορούσε να επιλέγεται ως εξιλαστήρια κατά προτίμηση έναντι μιας περισσότερο χρησιμοποιημένης βαθμίδας. Επιπλέον, η παρούσα δημοσιοποίηση ακόμη περαιτέρω παρατηρεί ότι μια πρόβλεψη χρήσης τομέων για τη νέα εγγραφή μπορεί να παράγεται και να συγκρίνεται με τη χρήση μιας υποψήφιας εξιλαστήριας βαθμίδας, και για παράδειγμα η έξωση μιας βαθμίδας από την κρυφή μνήμη θα μπορούσε να επιτρέπεται μόνο εάν η πρόβλεψη χρήσης τομέων για τη νέα εγγραφή είναι μια βελτίωση στη χρήση της υποψήφιας εξιλαστήριας βαθμίδας, δηλ. η νέα εγγραφή αναμένεται να χρησιμοποιείται πληρέστερα από τη βαθμίδα η οποία εξωθείται. Ανάλογα, σε ορισμένες υλοποιήσεις η κρυφή μνήμη συστήματος περαιτέρω περιλαμβάνει ένα κύκλωμα επιλογής εξιλαστήριων βαθμιδών για την επιλογή της βαθμίδας που εξωθείται σε εξάρτηση από μια σύγκριση του περιεχομένου του χώρου αποθήκευσης χρήσης τομέων που σχετίζεται με κάθε τομέα κάθε βαθμίδας.
Η ιχνηλάτηση της εγκυρότητας και της χρήσης των τομέων μιας βαθμίδας μπορεί να παρέχεται με ένα πλήθος τρόπων, όμως σε ορισμένες υλοποιήσεις παρέχεται χώρος αποθήκευσης τουλάχιστον 2 bit σε συσχέτιση με κάθε τομέα κάθε βαθμίδας. Πράγματι, οι παρούσες τεχνικές αναγνωρίζουν ότι σε περιπτώσεις στις οποίες σε τμήματα δεδομένων που αποθηκεύονται σε μια κρυφή μνήμη μπορεί προηγουμένως να είχαν παρασχεθεί με bit «εγκυρότητας» και «ρύπανσης» για την ιχνηλάτηση της κατάστασης του περιεχομένου δεδομένων αποθηκευμένων σε κρυφή μνήμη, και στις οποίες σε αυτό το παλαιό πλαίσιο υπήρχαν τρεις μόνο θετικές καταστάσεις, δηλ. «άκυρη», «έγκυρη και καθαρή» και «ρυπαρή», αυτά τα bit μπορούν να ανασχεδιάζονται ώστε να κωδικοποιούν τέσσερις διαφορετικές θετικές καταστάσεις στοιχείων δεδομένων σε έναν τομέα, υποδεικνύοντας κατά πόσο α) ο τομέας δεν είναι έγκυρος, β) ο τομέας είναι έγκυρος, καθαρός και δεν έχει ακόμη πραγματοποιηθεί πρόσβαση σε αυτόν, γ) η βαθμίδα είναι έγκυρη, καθαρή και έχει πραγματοποιηθεί πρόσβαση σε αυτήν ή δ) η βαθμίδα είναι έγκυρη, ρυπαρή και έχει πραγματοποιηθεί πρόσβαση σε αυτή. Αυτό το σύνολο πληροφοριών αποθηκευμένο για κάθε τομέα στη συνέχεια σημαίνει ότι κατά το χρόνο έξωσης μπορεί να είναι γνωστό (σε συνδυασμό με την πρόβλεψη χρήσης τομέων για αυτή τη βαθμίδα) κατά πόσο κάθε τομέας έχει: α) προβλεφθεί ως χρησιμοποιημένος και με πραγματοποίηση πρόσβασης, β) προβλεφθεί ως χρησιμοποιημένος και χωρίς πραγματοποίηση πρόσβασης ή γ) δεν έχει προβλεφθεί και χωρίς πραγματοποίηση πρόσβασης. Οι προβλέψεις (κωδικοποιημένες ως σχέδια χρήσης τομέων) μπορούν στη συνέχεια να ενημερώνονται ανάλογα, για παράδειγμα, μέσω προσαρμογής των τιμών των αντίστοιχων απαριθμητών όπου παρέχονται τέτοιοι.
Σε ορισμένες υλοποιήσεις το κύκλωμα πρόβλεψης χρήσης τομέων περαιτέρω αποκρίνεται στο αίτημα πρόσβασης σε δεδομένα για την ενημέρωση του σχεδίου χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου. Ανάλογα, το σχέδιο χρήσης τομέων μπορεί να τροποποιείται για κάθε αίτημα πρόσβασης σε δεδομένα και όχι μόνο σε μια έξωση.
Σε ορισμένες υλοποιήσεις η κρυφή μνήμη συστήματος περαιτέρω περιλαμβάνει ένα κύκλωμα καταστολής εκχώρησης, και όπου το κύκλωμα καταστολής εκχώρησης ανταποκρίνεται στην πρόβλεψη χρήσης τομέων για το προβλεφθέν αίτημα πρόσβασης σε δεδομένα υποδεικνύοντας μια χρήση τομέων κάτω από ένα κατώφλι χρήσης τομέων για την καταστολή εκχώρησης μιας εγγραφής στην κρυφή μνήμη συστήματος για δεδομένα που ζητηθήκαν στο αίτημα πρόσβασης σε δεδομένα. Για παράδειγμα, στις περιπτώσεις στις οποίες εντοπίζεται ότι μόνο ένας ή πολύ λίγοι τομείς εντός μιας βαθμίδας, η οποία θα μπορούσε να αποθηκευτεί σε κρυφή μνήμη, αναμένεται να χρησιμοποιηθούν, η εκχώρηση μιας βαθμίδας για το αντίστοιχο αίτημα πρόσβασης σε δεδομένα μπορεί να καταστέλλεται ώστε να φυλάσσεται αυτή η δυνατότητα αποθήκευσης δεδομένων σε κρυφή μνήμη για μια βαθμίδα η οποία θα χρησιμοποιείται πιο πλήρως.
Τουλάχιστον ένα παράδειγμα που περιγράφεται στο παρόν παρέχει μια διάταξη επεξεργασίας δεδομένων η οποία περιλαμβάνει: μια κρυφή μνήμη συστήματος όπως περιγράφεται σε οποιοδήποτε από τα παραπάνω παραδείγματα, και όπου τα πολλαπλά τμήματα συστήματος περιλαμβάνουν: μια κύρια μονάδα επεξεργασίας για την εκτέλεση εργασιών επεξεργασίας δεδομένων και τουλάχιστον μια εξειδικευμένη μονάδα επεξεργασίας δεδομένων για την εκτέλεση επιλεγμένων εργασιών επεξεργασίας δεδομένων που ανατίθενται από την κύρια μονάδα επεξεργασίας. Μια εξειδικευμένη μονάδα επεξεργασίας δεδομένων η οποία εκτελεί επιλεγμένες εργασίες επεξεργασίας δεδομένων που της ανατίθενται από μια κύρια μονάδα επεξεργασίας μπορεί να επωφελείται από τις παρούσες τεχνικές λόγω των εξειδικευμένων εργασιών επεξεργασίας δεδομένων που εκτελεί έχοντας ως αποτέλεσμα σχέδια στις προσβάσεις σε δεδομένα τις οποίες πραγματοποιεί σε αντιστοιχία με ένα προβλεπόμενο σχέδιο χρήσης τομέων εντός των βαθμιδών των αποθηκευμένων σε κρυφή μνήμη δεδομένων. Η κύρια μονάδα επεξεργασίας θα μπορούσε να λάβει ένα εύρος μορφών, όπως μια κλασική κεντρική μονάδα επεξεργασίας (central processing unit ή CPU), μια μονάδα επεξεργασίας γραφικών (graphics processing unit ή GPU) και ούτω καθεξής. Οι εξειδικευμένες μονάδες επεξεργασίας δεδομένων για την εκτέλεση επιλεγμένων εργασιών επεξεργασίας δεδομένων θα μπορούσαν να πάρουν ένα μεγάλο εύρος μορφών, και πράγματι σε ένα σύγχρονο σύστημα επεξεργασίας δεδομένων μπορούν να υπάρχουν πολλές τέτοιες εξειδικευμένες μονάδες επεξεργασίας δεδομένων. Ωστόσο, για να δώσουμε μόνο ένα παράδειγμα, οι εξειδικευμένες μονάδες επεξεργασίας δεδομένων θα μπορούσαν να διαμορφώνουν τμήμα μιας μονάδας επεξεργασίας γραφικών (GPU) ή ακόμη και μιας GPU γενικού σκοπού (GPGPU), με κάθε μονάδα να διαμορφώνει ένα στάδιο επεξεργασίας μιας τέτοιας GPU. Η εξειδικευμένη φύση της επεξεργασίας που εκτελείται σε κάθε στάδιο αναγνωρίζεται από τις παρούσες τεχνικές ότι πιθανώς καταλήγουν στα προαναφερόμενα προβλεπόμενα σχέδια πρόσβασης τομέων κρυφής μνήμης.
Μολονότι σε ορισμένες υλοποιήσεις κάθε τμήμα συστήματος μπορεί να διαθέτει το δικό του μοναδικό αναγνωριστικό τμήματος συστήματος, σε άλλες υλοποιήσεις τουλάχιστον σε μια εξειδικευμένη μονάδα επεξεργασίας δεδομένων εκχωρούνται περισσότερα από ένα αναγνωριστικά τμημάτων συστήματος και μπορεί να εκδίδει το αίτημα πρόσβασης σε δεδομένα με ένα επιλεγμένο από αυτά τα επιλεγμένα αναγνωριστικά τμημάτων συστήματος ανάλογα τον τύπο των δραστηριοτήτων επεξεργασίας δεδομένων που εκτελούνται. Σε ορισμένες υλοποιήσεις, διαφορετικά τμήματα συστήματος μπορεί να χρησιμοποιούν το ίδιο αναγνωριστικό τμήματος συστήματος, όπου αναγνωρίζεται ότι οι προσβάσεις σε δεδομένα τις οποίες πραγματοποιεί κάθε ένα θα έχουν παρόμοιο σχέδιο πρόσβασης με τους τομείς εντός μιας βαθμίδας δεδομένων.
Τουλάχιστον ένα παράδειγμα που περιγράφηκε στο παρόν παρέχει μια μέθοδο λειτουργίας μιας κρυφής μνήμης συστήματος για την παροχή αποθήκευσης δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά τμήματα συστήματος, με τη μέθοδο να περιλαμβάνει τα εξής βήματα: αποθήκευσης βαθμιδών στοιχείων δεδομένων σε πολλαπλές εγγραφές χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης, αποθήκευσης συνόλων σχεδίων χρήσης τομέων σε ένα σύνολο εγγραφών σχεδίων και σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα το οποίο λαμβάνεται από ένα τμήμα συστήματος που επιλέγει μια εγγραφή επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα και δημιουργίας μιας πρόβλεψης χρήσης τομέων σε εξάρτηση από το σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου και ανάκτησης μη αιτηθέντων στοιχείων δεδομένων τα οποία δεν προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα, αλλά υποδεικνύονται από την πρόβλεψη χρήσης τομέων.
Τουλάχιστον ένα παράδειγμα που περιγράφεται στο παρόν παρέχει μια κρυφή μνήμη συστήματος για την παροχή αποθήκευσης δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά τμήματα συστήματος, με την κρυφή μνήμη συστήματος να περιλαμβάνει: μέσα για την αποθήκευση βαθμιδών στοιχείων δεδομένων σε πολλαπλές εγγραφές του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης, μέσα για την αποθήκευση συνόλων σχεδίων χρήσης τομέων σε ένα σύνολο εγγραφών σχεδίων και σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος το οποίο επιλέγει μια εγγραφή επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα, και για τη δημιουργία μιας πρόβλεψης χρήσης τομέων σε εξάρτηση από το σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου, και μέσα για την ανάκτηση μη αιτηθέντων στοιχείων δεδομένων τα οποία δεν προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα, αλλά υποδεικνύονται από την πρόβλεψη χρήσης τομέων.
Ορισμένες συγκεκριμένες υλοποιήσεις θα περιγραφούν τώρα αναφορικά με τα σχήματα.
Το Σχήμα 1 απεικονίζει σχηματικά ένα σύστημα επεξεργασίας δεδομένων 10 σε μια υλοποίηση. Το σύστημα 10 περιλαμβάνει τρία τμήματα συστήματος 12, 14 και 16 κάθε ένα από τα οποία χρησιμοποιεί από κοινού μια κρυφή μνήμη συστήματος 18. Το σύστημα 10 έχει επίσης πρόσβαση σε μια μνήμη 20. Όπως επίσης φαίνεται στο Σχήμα 1 τα τμήματα συστήματος 14 και 16 διαθέτουν τις δικές του τοπικές κρυφές μνήμες 22 και 24 αντίστοιχα, ενώ το τμήμα συστήματος 12 δεν έχει τη δική του τοπική κρυφή μνήμη. Τα αιτήματα πρόσβασης σε δεδομένα από κάθε ένα από τα τμήματα συστήματος 12, 14 και 16 συναντούν πρώτα την κρυφή μνήμη συστήματος 18 προτού μεταφερθούν στη μνήμη 20 εάν τα αιτηθέντα δεδομένα δεν υπάρχουν ήδη στην κρυφή μνήμη συστήματος 18.
Το Σχήμα 2 απεικονίζει σχηματικά ένα ακόμη παράδειγμα ενός συστήματος επεξεργασίας δεδομένων σε μια υλοποίηση στην οποία το σύστημα επεξεργασίας δεδομένων υλοποιείται ως ένα σύστημα επί ολοκληρωμένου κυκλώματος (system-on-chip ή SoC) 30. Σε γενικές γραμμές, δύο κύρια τμήματα επεξεργασίας δεδομένων δείχνονται στο SoC 30, δηλαδή η CPU 32 και η GPU 34. Με έναν τρόπο οικείο στα άτομα που είναι έμπειρα στην τέχνη, η CPU 32 έχει το συνολικό έλεγχο των λειτουργιών επεξεργασίας δεδομένων του συστήματος επεξεργασίας δεδομένων και αναθέτει συγκεκριμένες εργασίες επεξεργασίας δεδομένων στην GPU 34. Η GPU 34 μπορεί να διαμορφώνεται με διάφορους τρόπους, όμως για το σκοπό επεξήγησης των υφιστάμενων τεχνικών δείχνεται στο Σχήμα 2 να περιλαμβάνει έναν αριθμό τμημάτων επεξεργασίας Α-Ε 36, 38, 40, 42 και 44. Αυτά μπορούν στο παρόν παράδειγμα να θεωρούνται ότι διαμορφώνουν ένα σωληναγωγό επεξεργασίας γραφικών, ενώ θα μπορούσαν να παρέχουν (ανάμεσα σε άλλα) τα εξής στάδια επεξεργασίας: επεξεργασία απόγειου 36, ραστεροποίησης 38, σκίασης 40, δοκιμής βάθους 42 και ανάμιξης άλφα 44, μολονότι αυτή είναι μόνο ένα παράδειγμα κατανομής ενός παραδείγματος συνόλου των εργασιών επεξεργασίας γραφικών. Ένα άτομο έμπειρο στην τέχνη θα είναι εξοικειωμένο με τους τύπους επεξεργασίας τους οποίους μπορούν να εκτελούν τέτοια στάδια σωληναγωγών επεξεργασίας γραφικών, και πράγματι οι λεπτομέρειες τέτοιας επεξεργασίας δεν είναι σχετική με την παρούσα δημοσιοποίηση και περαιτέρω λεπτομέρειες δεν περιγράφονται στο παρόν. Η CPU 32 και κάθε ένα από τα εικονιζόμενα τμήματα επεξεργασίας της GPU 34 θεωρούνται στο παρόν πλαίσιο ότι είναι τμήματα συστήματος και συνεπώς τους εκχωρείται ένα αναγνωριστικό τμήματος συστήματος (ID) όπως δείχνεται στο Σχήμα 2. Αυτά τα τμήματα συστήματος χρησιμοποιούν από κοινού την πρόσβαση στην κρυφή μνήμη συστήματος 46 μέσω της διασύνδεσης συστήματος 48, με την κρυφή μνήμη συστήματος 46 να παρέχει αποθήκευση δεδομένων σε κρυφή μνήμη για τα δεδομένα στα οποία πραγματοποιείται πρόσβαση από κάθε ένα από αυτά τα τμήματα συστήματος τα οποία αποθηκεύονται στη μνήμη 50. Για να ονοματίσουμε μόνο ορισμένα συγκεκριμένα παραδείγματα, η διασύνδεση μπορεί για παράδειγμα να είναι σύμφωνη με τις προδιαγραφές διασύνδεσης/διαύλου ΑΜΒΑ/ΑΧΙ όπως παρέχονται από την ARM Limited, Cambridge, Ηνωμένο Βασίλειο. Όπως θα περιγράφει σε μεγαλύτερη λεπτομέρεια αναφορικά με τα σχήματα τα οποία ακολουθούν, όταν ένα τμήμα συστήματος εκδίδει ένα αίτημα πρόσβασης σε δεδομένα για ένα ή περισσότερα στοιχεία δεδομένων που αποθηκεύονται στη μνήμη 50, αυτό το αίτημα πρόσβασης σε δεδομένα διαχειρίζεται πρώτα από την κρυφή μνήμη συστήματος 46, ενώ ένα αναγνωριστικό τμήματος συστήματος το οποίο αποτελεί τμήμα του αιτήματος πρόσβασης σε δεδομένα, χρησιμοποιείται από την κρυφή μνήμη συστήματος 46 για να προσδιοριστεί ο τρόπος διαχείρισης αυτού του αιτήματος πρόσβασης σε δεδομένα.
Το Σχήμα 3 απεικονίζει σχηματικά σε μεγαλύτερη λεπτομέρεια τη διαμόρφωση μιας κρυφής μνήμης συστήματος σε μια υλοποίηση, τέτοια ώστε να μπορεί να παρέχεται ως κρυφή μνήμη συστήματος 46 που δείχνεται το Σχήμα 2. Η κρυφή μνήμη συστήματος σε γενικές γραμμές περιλαμβάνει ένα τμήμα αποθήκευσης 60 και ένα τμήμα ελέγχου 62. Το τμήμα αποθήκευσης 60 απεικονίζεται στο Σχήμα 3 να έχει ένα σύνολο οκτώ εγγραφών (γραμμές κρυφής μνήμης), μολονότι ο περιορισμός σε αυτό το σχετικά περιορισμένο αριθμό εγγραφών έχει απλά σκοπό σαφήνειας της επεξήγησης ενώ αυτό το τμήμα αποθήκευσης μπορεί να διαθέτει περισσότερες εγγραφές από αυτό. Πράγματι με έναν τρόπο με τον οποίο είναι εξοικειωμένα τα άτομα τυπικής εμπειρίας στην τέχνη, οι εγγραφές της κρυφής μνήμης θα μπορούσαν επίσης να παρέχονται με ένα συσχετιστικό ως προς ένα σύνολο τρόπο, όπου οι διευθύνσεις που λαμβάνονται από την κρυφή μνήμη δεικτοδοτούν ένα σύνολο εγγραφών. Ωστόσο, απλά για λόγους σαφήνειας της επεξήγησης, δείχνεται μια κρυφή μνήμη απευθείας χαρτογράφησης, δηλ. μια κρυφή μνήμη με μία μόνο βαθμίδα ανά σύνολο. Κάθε εγγραφή περιλαμβάνει ένα τμήμα ετικέτας 64 στο οποίο αποθηκεύεται ένα τμήμα διεύθυνσης ώστε να προσδιορίζει την αντίστοιχη βαθμίδα στοιχείων δεδομένων. Η βαθμίδα στοιχείων δεδομένων (δηλ. η γραμμή κρυφής μνήμης) αποθηκεύεται με τη μορφή ενός αριθμού τομέων όπου το Σχήμα 3 απεικονίζει κάθε βαθμίδα ως να περιλαμβάνει τέσσερις τομείς («S») 66. Και πάλι, αυτός ο αριθμός τομέων σε κάθε βαθμίδα χρησιμοποιείται εδώ μόνο με σκοπό τη σαφήνεια της επεξήγησης, ενώ κάλλιστα θα μπορούσε να ήταν διαφορετικός ο αριθμός τομέων ανά βαθμίδα σε μια άλλη υλοποίηση. Κάθε τομέας 66 διαθέτει επιπλέον δύο bit αποθήκευσης, τα οποία χαρακτηρίζονται ως «D» και «V» στο Σχήμα 3. Κάποιο άτομο με τυπική εμπειρία στην τέχνη θα είναι εξοικειωμένο με αυτό το χαρακτηρισμό αναφορικά με την κατάσταση «ρύπανση» και «έγκυρο» του αντίστοιχου τομέα, ωστόσο οι παρούσες τεχνικές επαναπροσδιορίζουν αυτά τα bit πληροφοριών με έναν τρόπο ο οποίος θα περιγράφει σε μεγαλύτερη λεπτομέρεια παρακάτω.
Όταν λαμβάνεται ένα αίτημα πρόσβασης σε δεδομένα από την κρυφή μνήμη συστήματος η διεύθυνση μνήμης η οποία αποτελεί τμήμα του αιτήματος πρόσβασης σε δεδομένα μεταβιβάζεται στο κύκλωμα αναζήτησης 70 του τμήματος ελέγχου 62 ώστε να πραγματοποιηθεί μια αναζήτηση κρυφής μνήμης και να προσδιοριστεί εάν υπάρχει ήδη μια αντίστοιχη εγγραφή εντός του τμήματος αποθήκευσης δεδομένων 60. Αυτή η διαδικασία αναζήτησης μπορεί να έχει ως αποτέλεσμα μια «ευστοχία» ή μια «αστοχία» με έναν τρόπο με τον οποίο είναι εξοικειωμένο ένα άτομο τυπικής εμπειρίας στην τέχνη. Αυτές OL πληροφορίες μεταβιβάζονται στο κύκλωμα ανάκτησης δεδομένων 72 του τμήματος ελέγχου 62. Θα πρέπει να σημειωθεί ότι επιπλέον της εύρεσης μιας ταύτισης ανάμεσα στη διεύθυνση που αποτελεί τμήμα του αιτήματος πρόσβασης σε δεδομένα και ενός αντίστοιχου τμήματος ετικέτας 64 στο τμήμα αποθήκευσης δεδομένων 60 που βρέθηκε, ο αντίστοιχος τομέας σε αυτή την εγγραφή (γραμμή κρυφής μνήμης) πρέπει επίσης να βρεθεί οτι περιλαμβάνει έγκυρα δεδομένα ώστε να διαπιστωθεί η ευστοχία κρυφής μνήμης. Όταν διαπιστωθεί μια τέτοια ευστοχία κρυφής μνήμης το κύκλωμα ανάκτησης δεδομένων 72 προκαλεί την ανάγνωση των αντίστοιχων αιτηθέντων δεδομένων από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη 60 και το(α) αιτηθέν(τα) στοιχείο(α) δεδομένων επιστρέφεται(ονται) σε απόκριση του ληφθέντος αιτήματος πρόσβασης σε δεδομένα. Αντίθετα, όταν συμβαίνει μια αστοχία κρυφής μνήμης το κύκλωμα ανάκτησης δεδομένων 72 προκαλεί τη μεταβίβαση του αιτήματος πρόσβασης σε δεδομένα περαιτέρω είτε προς ένα περαιτέρω παρεμβαλλόμενο επίπεδο κρυφής μνήμης είτε προς τη μνήμη όπου αποθηκεύεται το στοιχείο δεδομένων, ανάλογα τη διάταξη της συγκεκριμένης ιεραρχίας μνήμης στην οποία βρίσκεται αυτό το σύστημα. Όταν συμβεί μια αστοχία κρυφής μνήμης, αυτό το σήμα μεταβιβάζεται και στο κύκλωμα ελέγχου έξωσης, εκχώρησης και συμπλήρωσης γραμμής 74. Θα πρέπει να σημειωθεί ότι αυτό το κύκλωμα 74 μπορεί επίσης να παρέχεται ως τμήμα του τμήματος ελέγχου 62, όμως διαχωρίζεται από αυτό στο Σχήμα 3 μόνο για λόγους σαφήνειας της επεξήγησης. Για να γίνει δυνατή η αποθήκευση του(ων) αιτηθέντος(ων) στοιχείου(ων) δεδομένων στο τμήμα αποθήκευσης κρυφής μνήμης 60 όταν επιστρέφεται(ονται) από τη μνήμη (ιεραρχία), το κύκλωμα ελέγχου έξωσης, εκχώρησης και συμπλήρωσης γραμμής 74 επιλέγει μια εγγραφή στην οποία θα αποθηκευτεί(ούν) το(α) στοιχείο(α) δεδομένων και προκαλεί την έξωση του τρέχοντος περιεχομένου αυτής. Αυτή η διαδικασία εκχώρησης, έξωσης και μετέπειτα συμπλήρωσης γραμμής θα είναι γνώριμη σε ένα άτομο τυπικής εμπειρίας στην τέχνη και σε γενικές γραμμές δεν περιγράφεται σε μεγαλύτερη λεπτομέρεια εδώ. Ωστόσο, ορισμένα ζητήματα της διαμόρφωσης του κυκλώματος ελέγχου έξωσης, εκχώρησης και συμπλήρωσης γραμμής 74 διαφέρουν εδώ, συγκεκριμένα όσον αφορά στην πιθανή χρήση των πληροφοριών πρόβλεψης χρήσης τομέων, οι οποίες θα περιγραφούν σε μεγαλύτερη λεπτομέρεια παρακάτω.
Το τμήμα ελέγχου κρυφής μνήμης 62 επίσης περιλαμβάνει χώρο αποθήκευσης για ένα σύνολο σχεδίων χρήσης τομέων 76 όπου κάθε σχέδιο περιλαμβάνει πληροφορίες που σχετίζονται με κάθε τομέα σε μια βαθμίδα δεδομένων (δηλ. γραμμή κρυφής μνήμης). Ανάλογα, στο παράδειγμα που δείχνεται στο Σχήμα 3 κάθε ένα από τα σχέδια χρήσης τομέων περιλαμβάνει τέσσερα τμήματα, τα οποία αντιστοιχούν στους τέσσερις τομείς σε κάθε εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη 60, και όπου ο αριθμός τομέων σε κάθε εγγραφή θα μπορούσε να κυμαίνεται όπως αναφέρθηκε παραπάνω, με τον αριθμό τμημάτων κάθε σχεδίου χρήσης τομέων να κυμαίνεται επίσης αντίστοιχα για ταύτιση. Ο χώρος αποθήκευσης σχεδίων χρήσης τομέων 76 δείχνεται στο Σχήμα 3 να περιλαμβάνει έξι εγγραφές, και μια από αυτές τις εγγραφές επιλέγεται μέσω του κυκλώματος δημιουργίας δεικτών 78, το οποίο επίσης αποτελεί τμήμα του τμήματος ελέγχου 62. Το κύκλωμα δημιουργίας δεικτών 78 λαμβάνει τη διεύθυνση η οποία αποτελεί τμήμα του αιτήματος πρόσβασης σε δεδομένα όπως και ένα αναγνωριστικό τμήματος το οποίο επίσης αποτελεί τμήμα του αιτήματος πρόσβασης σε δεδομένα. Με τη λήψη ενός αιτήματος πρόσβασης σε δεδομένα επιλέγεται ένα επιλεγμένο σχέδιο χρήσης τομέων από το αποθηκευμένο σύνολο 76 με βάση το αναγνωριστικό τμήματος και τη διεύθυνση, και αυτό το επιλεγμένο σχέδιο μεταβιβάζεται στο κύκλωμα πρόβλεψης χρήσης τομέων 80 το οποίο παράγει μια πρόβλεψη χρήσης τομέων, η οποία αναφέρεται στο παρόν ως «αποτύπωμα», για την αντίστοιχη εγγραφή στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη. Στο παράδειγμα του Σχήματος 3, αυτές οι πληροφορίες δείχνονται να μεταβιβάζονται στο κύκλωμα ανάκτησης δεδομένων 72. Υπάρχουν διάφοροι τρόποι με τους οποίους το κύκλωμα ανάκτησης δεδομένων 72 μπορεί να χρησιμοποιεί αυτές τις πληροφορίες, μερικώς σε εξάρτηση από το σήμα ευστοχίας ή αστοχίας που λαμβάνεται από το κύκλωμα αναζήτησης 70. Μπορεί επίσης να χρησιμοποιεί αυτές τις πληροφορίες σε συνδυασμό με περαιτέρω πληροφορίες που λαμβάνονται για την τρέχουσα κατάσταση του εύρους ζώνης της διαδρομής μνήμης, δηλ. πόσο απασχολημένη είναι εκείνη τη στιγμή η διαδρομή μνήμης.
Για παράδειγμα, στην περίπτωση στην οποία διαπιστώνεται μια αστοχία κρυφής μνήμης, το κύκλωμα ανάκτησης δεδομένων 72 μπορεί να επαυξάνει το αίτημα πρόσβασης σε δεδομένα το οποίο μεταβιβάζεται περαιτέρω στη μνήμη ζητώντας επιπλέον δεδομένα για άλλους τομείς στην εγγραφή στην οποία αντιστοιχεί το αίτημα πρόσβασης σε δεδομένα, τα οποία όμως δεν αποτελούν τμήμα του ίδιου του αιτήματος πρόσβασης σε δεδομένα. Για παράδειγμα, σας περιπτώσεις στις οποίες το σχέδιο χρήσης τομέων υποδείξει ότι η χρήση μιας δεδομένης εγγραφής δεδομένων αναμένεται να είναι από τους πρώτους δύο τομείς αυτής της εγγραφής, αλλά στην περίπτωση στην οποία έχει ληφθεί ένα αίτημα πρόσβασης σε δεδομένα μόνο για έναν από αυτούς τους τομείς, το κύκλωμα ανάκτησης δεδομένων 72 μπορεί να περιλαμβάνει τον άλλον από αυτούς τους δύο τομείς στο προωθημένο αίτημα πρόσβασης σε δεδομένα, ώστε να προκαλεί τη συμπλήρωση και των δύο τομέων με έγκυρα δεδομένα που επιστρέφονται από τη μνήμη με την προσδοκία ότι και οι δύο τομείς θα χρησιμοποιηθούν κατά τη διάρκεια ζωής αυτής της γραμμής κρυφής μνήμης (δηλ. πριν την έξωσή της). Ωστόσο, το κύκλωμα ανάκτησης δεδομένων 72 μπορεί επίσης να καθυστερεί τη ζήτηση των δεδομένων για τους επιπλέον μη αιτηθέντες τομείς εάν η τρέχουσα απαίτηση εύρους ζώνης είναι ήδη υψηλή, για παράδειγμα η αναμονή μέχρι η τρέχουσα κατάσταση του εύρους ζώνης διαδρομής μνήμης να είναι επαρκώς ήσυχη ώστε η «προσκόμιση από πριν» αυτών των επιπλέον δεδομένων δε θα υπερφορτώσει τη διαδρομή πρόσβασης σε μνήμη.
Εναλλακτικά, στην περίπτωση στην οποία διαπιστώνεται μια ευστοχία κρυφής μνήμης, αναννωρίζεται εδώ ότι, λόνω του μεμονωμένου χαρακτηρισμού εγκυρότητας των τομέων κάθε βαθμίδας, ορισμένοι τομείς εντός μιας βαθμίδας ευστοχίας κρυφής μνήμης μπορεί εντούτοις να αστοχήσουν, δηλ. να χαρακτηριστούν ως άκυροι. Σε περίπτωση που συνέβαινε αυτό για ένα αιτηθέν στοιχείο δεδομένων (για παράδειγμα, επειδή πραγματοποιείται μια σπάνια, και συνεπώς απρόβλεπτη, πρόσβαση σε δεδομένα σε ένα συγκεκριμένο τομέα), τότε το αίτημα πρόσβασης σε δεδομένα θα προωθείται στη μνήμη. Εάν προβλεφθούν περαιτέρω τομείς της γραμμής κρυφής μνήμης και επίσης σημειωθούν ως άκυρος τότε το κύκλωμα ανάκτησης δεδομένων 72 μπορεί επίσης να περιλαμβάνει αυτούς τους τομείς στο προωθημένο αίτημα πρόσβασης σε δεδομένα. Όπως προηγουμένως, το κύκλωμα ανάκτησης δεδομένων 72 μπορεί ωστόσο να καθυστερεί τη ζήτηση των δεδομένων για τους πρόσθετους μη αιτηθέντες (αλλά προβλεφθέντες) τομείς εάν η τρέχουσα ζήτηση εύρους ζώνης είναι ήδη υψηλή, για παράδειγμα αναμονή μέχρι η τρέχουσα κατάσταση του εύρους ζώνης της διαδρομής μνήμης να είναι επαρκώς ήσυχη ώστε η «προσκόμιση» αυτών των πρόσθετων δεδομένων να μην υπερφορτώσει τη διαδρομή πρόσβασης στη μνήμη.
Επιπρόσθετα, και άλλες χρήσεις των προβλέψεων χρήσης τομέων μπορούν να πραγματοποιούνται από το κύκλωμα ανάκτησης δεδομένων, όπως θα εξεταστεί σε μεγαλύτερη λεπτομέρεια παρακάτω.
Το Σχήμα 4 απεικονίζει σχηματικά σε μεγαλύτερη λεπτομέρεια τη διαμόρφωση του συνόλου εγγραφών σχεδίων που λαμβάνει τη μορφή ενός συνόλου απαριθμητών κορεσμού σε μια υλοποίηση, όπως και περαιτέρω σχετικές λεπτομέρειες των περαιτέρω τμημάτων της κρυφής μνήμης συστήματος. Η διεύθυνση και το αναγνωριστικό τμήματος τα οποία αποτελούν τμήμα του αιτήματος πρόσβασης σε δεδομένα λαμβάνονται από το κύκλωμα δημιουργίας δεικτών 90 το οποίο δημιουργεί ένα δείκτη εντός του χώρου αποθήκευσης εγγραφών σχεδίων, το οποίο όπως αναφέρεται εδώ παρέχεται με τη μορφή ενός συνόλου απαριθμητών κορεσμού, με τον έναν απαριθμητή 2 bit που παρέχεται να αντιστοιχεί σε κάθε τομέα σε μια βαθμίδα του χώρου αποθήκευσης κρυφής μνήμης. Η αντίστοιχη εγγραφή από τους απαριθμητές κορεσμού η οποία προσδιορίστηκε από τη γεννήτρια δεικτών από το κύκλωμα δημιουργίας δεικτών 90 διαβάζεται και μεταβιβάζεται στο κύκλωμα εφαρμογής κατωφλιού 94, το οποίο εφαρμόζει ένα προκαθορισμένο κατώφλι για τη δημιουργία μιας πρόβλεψης χρήσης τομέων («προβλεφθέν αποτύπωμα») 96. Στο παράδειγμα που απεικονίζεται στο Σχήμα 4 το κατώφλι που εφαρμόζεται είναι κατά πόσο ένας απαριθμητής 2 bit συγκρατεί μια τιμή τουλάχιστον 2 (δυαδικό '10'), όμως αυτό θα μπορούσε με άλλο τρόπο να ορίζεται σε άλλα παραδείγματα. Η πρόβλεψη χρήσης τομέων μεταβιβάζεται στο κύκλωμα ανάκτησης δεδομένων 98 το οποίο προκαλείτη μεταβίβαση ενός αντίστοιχου αιτήματος πρόσβασης σε δεδομένα περαιτέρω στη μνήμη όπως απαιτείται και τροποποιήθηκε σύμφωνα με μια από τις παραλλαγές που εξετάστηκαν παραπάνω σε σχέση με το κατά πόσο οι μη αιτηθέντες τομείς αιτούνται επιπρόσθετα, πιθανόν καθυστερημένα, και ούτω καθεξής. Σε περίπτωση που μια ανάκτηση δεδομένων θα πρέπει να καθυστερήσει λόγω εκκρεμότητας ικανοποίησης ενός κριτηρίου εύρους ζώνης το αίτημα ανάκτησης διατηρείται στην ουρά εκκρεμών ανακτήσεων 99 του κυκλώματος ανάκτησης δεδομένων 98 μέχρι να ικανοποιηθεί το κριτήριο. Το κύκλωμα ανάκτησης δεδομένων 98 λαμβάνει πληροφορίες χρήσης διαδρομής μνήμης για αυτό το σκοπό. Ας σημειωθεί επίσης ότι το κύκλωμα ανάκτησης δεδομένων 98 όπως πριν λαμβάνει τις πληροφορίες ευστοχίας/αστοχίας που προκύπτουν από μια αναζήτηση και τις ίδιες τις πληροφορίες διεύθυνσης. Όπως δείχνεται στο σχήμα η πρόβλεψη χρήσης τομέων 96 επίσης μεταβιβάζεται στο κύκλωμα ελέγχου έξωσης και εκχώρησης 100, το οποίο χρησιμοποιεί αυτές τις πληροφορίες για να προσδιορίσει ποια εγγραφή θα πρέπει να εξωθείται. Όταν συμβαίνει μια έξωση και το κύκλωμα ελέγχου 100 το σηματοδοτεί στο κύκλωμα ελέγχου ενημέρωσης απαριθμητή 102, το οποίο επίσης λαμβάνει μια ένδειξη του αντίστοιχου αναγνωριστικού τμήματος από την προς έξωση εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη 104 και οι αντίστοιχοι απαριθμητές κορεσμού 92 για την αντίστοιχη εγγραφή ενημερώνονται με βάση τις πληροφορίες χρήσης για τους τομείς αυτής της εγγραφής στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη 104 (σημειώνοντας ότι μια «χρησιμοποιημένη» εγγραφή θα είναι πάντα «έγκυρη»). Σημειώστε επίσης τον επαναπροσδιορισμό των bit «ρύπανσης» (D) και «εγκυρότητας» (V) για την υποστήριξη αυτού, όπου αυτά τα δύο bit ορίζουν τέσσερις πιθανές καταστάσεις για κάθε τομέα, δηλαδή: 1) Άκυρο, 2) Καθαρό και αχρησιμοποίητο, 3) Καθαρό και χρησιμοποιημένο και 4) Ρυπαρό.
Το Σχήμα 5 απεικονίζει σχηματικά ένα παράδειγμα στο οποίο τα αποθηκευμένα σχέδια χρήσης τομέων (τα οποία μπορούν να παίρνουν τη μορφή απαριθμητών κορεσμού όπως στο παράδειγμα του Σχήματος 4) 110 υλοποιούνται ως τέσσερις ξεχωριστές δομές αποθήκευσης 112, 114, 116 και 118. Θα πρέπει να σημειωθεί ότι αυτός ο διαχωρισμός των δομών αποθήκευσης είναι ουσιαστικά μόνο λογικός και μολονότι αυτές θα μπορούσαν να παρέχονται ως φυσικά ξεχωριστές δομές, μπορούν επίσης να παρέχονται ως μια μοναδική δομή αποθήκευσης με μια λογική διαμόρφωση η οποία διαιρεί μόνο τη χωρητικότητα αποθήκευσης στην εικονιζόμενη διάταξη. Πλέον αξιοσημείωτα η διάταξη αυτής της δομής είναι τέτοια ώστε μια ληφθείσα διεύθυνση και ένα αναγνωριστικό τμήματος ως τμήμα ενός αιτήματος πρόσβασης σε δεδομένα να προκαλείτην παραπομπή των αιτημάτων πρόσβασης σε δεδομένα από τέσσερα διαφορετικά τμήματα συστήματος (με αντίστοιχα αναγνωριστικά τμημάτων ID = 0-3) σε ένα διαφορετικό τμήμα της συνδυασμένης δομής 110 δηλαδή ένα επιλεγμένο τμήμα από τις δομές 112, 114, 116 και 118 αντίστοιχα όπως δείχνεται. Το σχέδιο χρήσης τομέων (π.χ. τιμές απαριθμητών κορεσμού τομέων) που επιλέγεται από τον αντίστοιχο πίνακα με βάση το αναγνωριστικό τμήματος καί χρησιμοποιώντας τις πληροφορίες διεύθυνσης για την επιλογή του συγκεκριμένου σχεδίου από εντός της δομής, μεταβιβάζεται στη γεννήτρια προβλεφθέντος αποτυπώματος 120, η οποία παράγει το προβλεφθέν αποτύπωμα όπως περιγράφεται παραπάνω με βάση το σχέδιο χρήσης τομέων, για παράδειγμα με την εφαρμογή ενός κατωφλιού για τον προσδιορισμό μιας δυαδικής επιβεβαίωσης κατά πόσο κάθε ένας από τους αντίστοιχους τομείς (4 στο παρόν παράδειγμα) προβλέπεται να χρησιμοποιηθεί κατά τη διάρκεια ζωής της βαθμίδας στην κρυφή μνήμη. Αυτή η διάταξη παροχής μιας ξεχωριστής δομής αποθήκευσης που αντιστοιχεί σε κάθε αναγνωριστικό τμήματος επιτρέπει στο προβλεφθέν αποτύπωμα εντός της κρυφής μνήμης τομέα για κάθε τμήμα συστήματος να διατηρείται μεμονωμένα και ανεξάρτητα από άλλα τμήματα συστήματος.
Το Σχήμα 6 δείχνει μια ακολουθία βημάτων τα οποία εκτελούνται σύμφωνα με μια μέθοδο σε μια υλοποίηση. Η ροή μπορεί να θεωρείται ότι ξεκινάει στο βήμα 130 όπου λαμβάνεται ένα αίτημα πρόσβασης σε δεδομένα από την κρυφή μνήμη συστήματος. Όταν λαμβάνεται ένα τέτοιο αίτημα πρόσβασης σε δεδομένα, η ροή συνεχίζει στο βήμα 132 όπου πραγματοποιείται η αναζήτηση στην κρυφή μνήμη. Προσδιορίζεται στη συνέχεια στο βήμα 134 κατά πόσο έχει προκόψει μια ευστοχία κρυφής μνήμης ή μια αστοχία κρυφής μνήμης. Σε περίπτωση ευστοχίας κρυφής μνήμης η ροή συνεχίζει στο βήμα 136 όπου προσδιορίζεται εάν ο τομέας εντός της αντίστοιχης γραμμής κρυφής μνήμης όπου θα πρέπει να βρίσκονται τα αιτηθέντα δεδομένα σημειώνεται ως έγκυρος (δηλ. κατά πόσο υπάρχει και μια «ευστοχία τομέα»). Εάν ο τομέας είναι επίσης έγκυρος η ροή συνεχίζει στο 138 όπου εάν δεν είναι ήδη σημειωμένη ως «χρησιμοποιημένη» (αναφέρεται και ως «με πρόσβαση») ο τομέας ή οι τομείς που αντιστοιχούν στα αιτηθέντα δεδομένα στα οποία έχει πραγματοποιηθεί τώρα πρόσβαση, σημειώνονται ως με πρόσβαση χρησιμοποιώντας το αντίστοιχο bit στην τιμή κατάστασης 2 bit για κάθε τομέα (έγκυρος και με πρόσβαση) και στο βήμα 140 τα αιτηθέντα δεδομένα επιστρέφονται στο αιτών τμήμα συστήματος και η ροή επιστρέφει στο βήμα 130.
Επιστρέφοντας σε μια εξέταση του βήματος 134 εάν προσδιοριστεί εκεί ότι έχει συμβεί μια αστοχία κρυφής μνήμης τότε η ροή συνεχίζει στο βήμα 142, όπου ξεκινάει μια διαδικασία έξωσης και εκχώρησης. Όπως αναφέρθηκε παραπάνω, η επιλογή μιας εξιλαστήριας γραμμής κρυφής μνήμης μπορεί να πραγματοποιείται με βάση την εξέταση του προβλεφθέντος αποτυπώματος (βλέπε την παραπάνω εξέταση αναφορικά με το Σχήμα 4) για την επιλογή μιας εξιλαστήριας γραμμής κρυφής μνήμης. Περαιτέρω, εκτός του προσδιορισμού μιας υποψήφιας βαθμίδας (γραμμή κρυφής μνήμης) για έξωση η οποία θα είναι, για παράδειγμα, αυτή που αναμένεται να χρησιμοποιηθεί απώτερα στο μέλλον, η πολιτική έξωσης μπορεί να κάνει χρήση των διαθέσιμων προβλέψεων αποτυπώματος ώστε να κάνει δυνατή τη λήψη μιας απόφασης αντικατάστασης η οποία λαμβάνει επίσης υπόψη τη διαφορά πυκνότητας (χρήση υποτομέα) της εξωθείσας βαθμίδας (μέσω των πληροφοριων χρήσης υποτομέα που σημειώνονται για αυτή τη βαθμίδα στη γραμμή κρυφής μνήμης) και της προσκομισθείσας βαθμίδας (μέσω της πρόβλεψης αποτυπώματος). Για παράδειγμα, σε ένα παράδειγμα μπορεί να εντέλλεται μια ειδική πρόβλεψη (υψηλής εμπιστοσύνης) λιγότερο πρόσφατης χρήσης (least-recently-used ή LRU), εάν μια βαθμίδα θα πρέπει να εξωθείται η οποία έχει υψηλή πυκνότητα χρήσης και να αντικατασταθεί από μια βαθμίδα με μια προβλεφθείσα χαμηλή πυκνότητα χρήσης. Ως ένα περαιτέρω παράδειγμα, σε μια τέτοια κρυφή μνήμη LRU είτε η λιγότερο ή η επόμενη λιγότερο πρόσφατα χρησιμοποιημένη γραμμή (για παράδειγμα) θα μπορούσε να επιλέγεται ως εξιλαστήρια εάν οποιαδήποτε από αυτές τις γραμμές είναι πω αραιή από την πρόβλεψη αποτυπώματος της πρόσφατα εκχωρημένης βαθμίδας. Αναφορικά με την ανάκτηση των αιτηθέντων δεδομένων από τη μνήμη η ροή συνεχίζει από το βήμα 142 στο βήμα 144, όπου το αναγνωριστικό του αιτούντος τμήματος χρησιμοποιείται για τη δημιουργία δεικτών εντός του πίνακα σχεδίων χρήσης τομέων. Επισημαίνεται ότι σε αυτό το βήμα φτάνει η ροή και από το βήμα 136 (βλέπε παραπάνω) στην περίπτωση στην οποία ο τομέας των αιτηθέντων δεδομένων δεν είναι έγκυρος. Μια πρόβλεψη αποτυπώματος παράγεται στη συνέχεια με βάση το επιλεγμένο σχέδιο χρήσης τομέων στο βήμα 146 και με βάση αυτή την πρόβλεψη στο βήμα 148 προσδιορίζεται κατά πόσο άλλοι τομείς θα πρέπει να περιλαμβάνονται ταυτόχρονα στην ανάκτηση δεδομένων. Εάν όχι η ροή συνεχίζει στο βήμα 150 όπου ανακτώνται μόνο τα αιτηθέντα δεδομένα μετά από την οποία ανάκτηση ο αντίστοιχος τομέας ή οι αντίστοιχοι τομείς αυτών των αιτηθέντων δεδομένων σημειώνονται ως έγκυροι στη γραμμή κρυφής μνήμης στο βήμα 152 και η ροή συνεχίζει μέσω του βήματος 138 όπως περιγράφεται παραπάνω για σήμανση των αιτηθέντων δεδομένων ότι έχει πραγματοποιηθεί πρόσβαση σε αυτά και ούτω καθεξής. Αντίθετα, εάν στο βήμα 148 προσδιοριστεί ότι και άλλοι τομείς θα πρέπει να συμπεριληφθούν στην ανάκτηση δεδομένων με βάση την πρόβλεψη αποτυπώματος τότε η ροή συνεχίζει μέσω του βήματος 154 όπου τόσο τα αιτηθέντα δεδομένα όσο και άλλα δεδομένα που υποδεικνύονται από το αναμενόμενο αποτύπωμα ανακτώνται και η ροή στη συνέχεια συνεχίζει στο βήμα 152, όπως περιγράφεται παραπάνω.
Το Σχήμα 7 δείχνει μια ακολουθία βημάτων τα οποία εκτελούνται από μια κρυφή μνήμη συστήματος σε ορισμένες υλοποιήσεις, η οποία θα πρέπει να θεωρείται ανεξάρτητη από την ακολουθία των βημάτων που δείχνονται στο Σχήμα 6, με την έννοια ότι αυτά είναι σε γενικές γραμμές ανεξάρτητες διαδικασίες. Συγκεκριμένα, τα βήματα που δείχνονται στο Σχήμα 7 σχετίζονται με την κατάσταση κατά την οποία δεν εκκρεμεί ένα αίτημα πρόσβασης σε δεδομένα για την κρυφή μνήμη συστήματος προς αντιμετώπιση για παράδειγμα με τον τρόπο που περιγράφεται αναφορικά με το Σχήμα 6. Η ροή μπορεί να θεωρείται ότι ξεκινάει στο βήμα 160 όπου προσδιορίζεται εάν εκείνη τη στιγμή δεν εκκρεμεί κάποιο αίτημα πρόσβασης σε δεδομένα. Όταν ισχύει κάτι τέτοιο η ροή συνεχίζει στο βήμα 162 όπου προσδιορίζεται κατά πόσο είναι διαθέσιμο εκείνη τη στιγμή εύρος ζώνης μνήμης για πρόσθετη ανάκτηση δεδομένων από τη μνήμη στην κρυφή μνήμη συστήματος. Για παράδειγμα, μπορεί να ορίζεται ένα κριτήριο εύρους ζώνης μνήμης το οποίο να προσδιορίζει ότι η δραστηριότητα στη διασύνδεση μεταξύ της κρυφής μνήμης συστήματος και της μνήμης πρέπει να είναι κάτω από ένα καθορισμένο επίπεδο. Όταν δεν ισχύει κάτι τέτοιο η ροή επιστρέφει στο βήμα 160. Ωστόσο, όταν ικανοποιείται αυτό το κριτήριο η ροή συνεχίζει στο βήμα 164, όπου προσδιορίζεται εάν η κρυφή μνήμη συστήματος έχει μια παραχθείσα πρόβλεψη αποτυπώματος η οποία έχει τομείς σε μια γραμμή κρυφής μνήμης που έχουν υποδειχθεί, στους οποίους θα πραγματοποιηθεί πρόσβαση αλλά οι οποίοι έχουν επισημανθεί εκείνη τη στιγμή ως άκυροι. Ως αποτέλεσμα αυτού του προσδιορισμού, ένα αίτημα ανάκτησης δεδομένων μπορεί να διατηρείται σε εκκρεμότητα μέχρι να ικανοποιείται αυτό το κριτήριο εύρους ζώνης μνήμης (βλέπε για παράδειγμα την ουρά εκκρεμών ανακτήσεων 99 του κυκλώματος ανάκτησης δεδομένων 98 που δείχνεται στο Σχήμα 4). Για παράδειγμα, αναφορικά και πάλι με το Σχήμα 6, στο βήμα 148 αυτού η απόφαση κατά πόσο να συμπεριληφθούν και άλλοι τομείς στην ανάκτηση δεδομένων μπορεί να είχε αρνητικό αποτέλεσμα με βάση ότι το εύρος ζώνης μνήμης δεν ήταν διαθέσιμο σε αυτό το στάδιο ώστε να περιλαμβάνει και άλλους τομείς στην ανάκτηση δεδομένων και συνεπώς η κρυφή μνήμη συστήματος μπορεί να έχει αποθηκεύσει σε προσωρινή μνήμη ένα περαιτέρω αίτημα πρόσβασης σε δεδομένα που εκκρεμεί για μεταβίβαση στη μνήμη για αυτούς τους άλλους τομείς, αναμένοντας μια μείωση στη χρήση της διασύνδεσης. Συνεπώς, στο βήμα 164 όταν θα πρέπει να ανακτώνται τέτοια επιπλέον δεδομένα η ροή συνεχίζει στο βήμα 166 όπου η κρυφή μνήμη συστήματος ενεργοποιεί ένα ή περισσότερα αιτήματα πρόσβασης σε δεδομένα για μεταβίβαση στη μνήμη και ανάκτηση δεδομένων για τους προβλεφθέντες και εκείνη τη στιγμή άκυρους τομείς μιας ή περισσότερων γραμμών κρυφής μνήμης. Διαφορετικά η ροή επιστρέφει στο βήμα 160. Όταν αυτά τα δεδομένα έχουν ανακτηθεί ο αντίστοιχος τομέας ή οι αντίστοιχοι τομείς επιση μαίνονται ως έγκυροι στο βήμα 168 και η ροή επιστρέφει στο βήμα 160.
Το Σχήμα 8 δείχνει μια ακολουθία βημάτων τα οποία θα πρέπει να θεωρούνται ως ανεξάρτητα και παράλληλα με τα βήματα που περιγράφονται αναφορικά με το Σχήμα 6 και το Σχήμα 7. Αυτά τα βήματα σχετίζονται με τον τρόπο με τον οποίο τα σχέδια χρήσης τομέων που είναι αποθηκευμένα στην κρυφή μνήμη τομέων, ενώ με βάση το ποιες προβλέψεις χρήσης τομέων (προβλεφθέντα αποτυπώματα) παράγοντας ενημερώνονται σε μια υλοποίηση. Σε αυτή την υλοποίηση αυτή η ενημέρωση συμβαίνει όταν μια εγγραφή εξωθείται από την κρυφή μνήμη. Η ροή μπορεί να θεωρείται ότι ξεκινάει στο βήμα 170 όπου προσδιορίζεται εάν έχει ληφθεί ένα αίτημα πρόσβασης σε δεδομένα. Όταν ισχύει κάτι τέτοιο η ροή συνεχίζει στο βήμα 172 όπου προσδιορίζεται εάν απαιτείται μια έξωση. Όταν ισχύει κάτι τέτοιο η ροή συνεχίζει στο βήμα 174 όπου το αντίστοιχο σχέδιο χρήσης τομέων που προσδιορίστηκε με βάση τη διεύθυνση και το αναγνωριστικό τμήματος δεικτοδοτείται και στη συνέχεια οι αντίστοιχοι τομείς της εξωθείσας βαθμίδας εξετάζονται με τη σειρά. Συνεπώς στο βήμα 176 προσδιορίζεται εάν όλοι οι τομείς στην εξωθείσα εγγραφή έχουν επεξεργαστεί. Σαφώς στην πρώτη επανάληψη αυτό δε θα ισχύει και η ροή συνεχίζει στο βήμα 178. Τα βήματα 178, 180, 182 και 184 σε συνδυασμό προβλέπουν ότι σε περίπτωση που βρεθεί ένας προς χρήση τομέας (όπως επισημαίνεται σε συσχέτιση με τον αποθηκευμένο τομέα στην κρυφή μνήμη) ο αντίστοιχος απαριθμητής (σχέδιο χρήσης τομέων) αυξάνεται, ενώ εάν βρεθεί ένας έγκυρος τομέας, αλλά μη χρησιμοποιημένος, ο αντίστοιχος απαριθμητής (σχέδιο χρήσης τομέων) μειώνεται. Η ροή επιστρέφει στο βήμα 176 μέχρι να επεξεργαστούν όλοι οι τομείς της εξωθείσας βαθμίδας. Θα εκτιμηθεί το γεγονός ότι δεν απαιτείται η σειριακή επεξεργασία των τομέων όπως περιγράφει το διάγραμμα ροής, και αυτό παρατίθεται στο παρόν με αυτό τον τρόπο απλά μόνο ως διευκόλυνση μιας περιγραφής βήμα προς βήμα. Μόλις ενημερωθούν όλοι οι απαριθμητές που απαιτούν ενημέρωση, η ροή επιστρέφει στο βήμα 170.
Το Σχήμα 9 δείχνει μια εναλλακτική υλοποίηση αυτής του Σχήματος 8. Αυτά τα βήματα σχετίζονται επίσης με τον τρόπο με τον οποίο τα σχέδια χρήσης τομέων, που είναι αποθηκευμένα στην κρυφή μνήμη τομέων, ενώ με βάση ποιες προβλέψεις χρήσης τομέων (προβλεφθέντα αποτυπώματα) παράγοντας ενημερώνονται σε μια υλοποίηση. Σε αυτή την υλοποίηση αυτή η ενημέρωση συμβαίνει σε κάθε πρόσβαση στην κρυφή μνήμη. Η ροή μπορεί να θεωρείται ότι ξεκινάει στο βήμα 190 όπου προσδιορίζεται εάν έχει ληφθεί ένα αίτημα πρόσβασης σε δεδομένα. Όταν ισχύει κάτι τέτοιο η ροή συνεχίζει στο βήμα 192 όπου το αντίστοιχο σχέδιο χρήσης τομέων, που προσδιορίστηκε με βάση τη διεύθυνση και το αναγνωριστικό τμήματος, δεικτοδοτείται και στη συνέχεια οι αντίστοιχοι τομείς της βαθμίδας κρυφής μνήμης στους οποίους πραγματοποιήθηκε αυτή η πρόσβαση, εξετάζονται με τη σειρά. Συνεπώς στο βήμα 194 προσδιορίζεται εάν έχουν επεξεργαστεί όλοι οι τομείς στη βαθμίδα. Σαφώς στην πρώτη επανάληψη αυτό δε θα ισχύει και η ροή συνεχίζει στο βήμα 196. Τα βήματα 196, 198 και 200 σε συνδυασμό προβλέπουν ότι οι έγκυροι τομείς προκαλούν αύξηση του αντίστοιχου απαριθμητή (σχέδιο χρήσης τομέων), ενώ οι άκυροι τομείς προκαλούν μείωση του αντίστοιχου απαριθμητή (σχέδιο χρήσης τομέων). Η ροή επιστρέφει στο βήμα 194 μέχρι να επεξεργαστούν όλοι οι τομείς της βαθμίδας. Όπως παραπάνω, θα εκτιμηθεί το γεγονός ότι δεν απαιτείται η σειριακή επεξεργασία των τομέων όπως περιγράφει το διάγραμμα ροής, και αυτό παρατίθεται στο παρόν με αυτό τον τρόπο απλά μόνο ως διευκόλυνση μιας περιγραφής βήμα προς βήμα. Μόλις ενημερωθούν όλοι οι απαριθμητές που απαιτούν ενημέρωση, η ροή επιστρέφει στο βήμα 190.
Εν ολίγοις, παρέχονται μια συνολική περίληψη μιας κρυφής μνήμης συστήματος και μια μέθοδος λειτουργίας μιας κρυφής μνήμης συστήματος. Η κρυφή μνήμη συστήματος παρέχει αποθήκευση δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά τμήματα συστήματος. Η κρυφή μνήμη συστήματος έχει ένα χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη με πολλαπλές εγγραφές, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης. Παρέχεται ένα κύκλωμα πρόβλεψης χρήσης τομέων το οποίο έχει ένα σύνολο εγγραφών σχεδίων για την αποθήκευση ενός συνόλου σχεδίων χρήσης τομέων. Σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος το οποίο προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων, επιλέγεται μια εγγραφή επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα και παράγεται μια πρόβλεψη χρήσης τομέων σε εξάρτηση από ένα σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου. Στη συνέχεια μπορούν να ανακτώνται περαιτέρω στοιχεία δεδομένων τα οποία δεν προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα, αλλά υποδεικνύονται από την πρόβλεψη χρήσης τομέων, και με αυτό τον τρόπο βελτιώνεται η χρήση του εύρους ζώνης μνήμης.
Στην παρούσα αίτηση, οι λέξεις «διαμορφωμένο για...» ή «διαταγμένο για» χρησιμοποιούνται με τη σημασία ότι ένα στοιχείο μιας συσκευής έχει μια διαμόρφωση ικανή να εκτελεί την καθορισμένη λειτουργία. Σε αυτά τα πλαίσια, μια «διαμόρφωση» σημαίνει μια διάταξη ή έναν τρόπο διασύνδεσης υλικού ή λογισμικού. Για παράδειγμα, η συσκευή μπορεί να έχει ειδικό υλικό το οποίο παρέχει την καθορισμένη λειτουργία ή ένας επεξεργαστής ή άλλη συσκευή επεξεργασίας μπορεί να προγραμματίζεται για την εκτέλεση της λειτουργίας. Οι όροι «διαμορφωμένο για» ή «διαταγμένο για» δεν υπονοούν ότι το στοιχείο της συσκευής πρέπει να αλλάζει με κάποιο τρόπο για την παροχή της καθορισμένης λειτουργίας.
Μολονότι στο παρόν έχουν περιγράφει επεξηγηματικές υλοποιήσεις σε λεπτομέρεια αναφορικά με τα συνοδευτικά σχήματα, θα πρέπει να γίνει κατανοητό ότι η εφεύρεση δεν περιορίζεται σε αυτές ακριβώς τις υλοποιήσεις, και ότι διάφορες αλλαγές, προσθήκες και τροποποιήσεις μπορούν να επιφέρονται σε αυτή από άτομα έμπειρα στην τέχνη χωρίς απόκλιση από το αντικείμενο της εφεύρεσης όπως ορίζεται στις συνημμένες αξιώσεις. Για παράδειγμα, θα μπορούσαν να γίνουν διάφοροι συνδυασμοί των χαρακτηριστικών των εξαρτώμενων αξιώσεων με τα χαρακτηριστικά των ανεξάρτητων αξιώσεων χωρίς απόκλιση από το αντικείμενο της παρούσας εφεύρεσης.
Claims (19)
1. Μια κρυφή μνήμη συστήματος για την παροχή αποθήκευσης δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά τμήματα συστήματος, με την κρυφή μνήμη συστήματος να περιλαμβάνει:
ένα χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη με πολλαπλές εγγραφές, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης,
ένα κύκλωμα πρόβλεψης χρήσης τομέων με ένα σύνολο εγγραφών σχεδίων για την αποθήκευση ενός συνόλου σχεδίων χρήσης τομέων και το οποίο αποκρίνεται σε ένα αίτημα πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος το οποίο προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων για την επιλογή μιας εγγραφής επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα, και για τη δημιουργία μιας πρόβλεψης χρήσης τομέων σε εξάρτηση από ένα σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου και
ένα κύκλωμα ανάκτησης δεδομένων για την ανάκτηση ενός ή περισσότερων στοιχείων δεδομένων σε εξάρτηση από την πρόβλεψη χρήσης τομέων.
2. Η κρυφή μνήμη συστήματος όπως αξιώνεται στην αξίωση 1, όπου το κύκλωμα ανάκτησης δεδομένων αποκρίνεται σε ένα σήμα αστοχίας από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη ώστε να προκαλεί από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη την εκχώρηση μιας εγγραφής με ένα τμήμα διεύθυνσης να έχει ληφθεί από το αίτημα πρόσβασης σε δεδομένα και να ξεκινάει μια διαδικασία συμπλήρωσης δεδομένων για την εγγραφή η οποία περιλαμβάνει την ανάκτηση του ενός ή των περισσότερων στοιχείων δεδομένων που προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα και επιπλέον την ανάκτηση του ενός ή των περισσότερων περαιτέρω στοιχείων δεδομένων που υποδεικνύονται από την πρόβλεψη χρήσης τομέων.
3. Η κρυφή μνήμη συστήματος όπως αξιώνεται στην αξίωση 1, όπου το κύκλωμα ανάκτησης δεδομένων αποκρίνεται σε ένα σήμα αστοχίας από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη και προκαλεί το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη να εκχωρήσει μια εγγραφή με ένα τμήμα διεύθυνσης να λαμβάνεται από το αίτημα πρόσβασης σε δεδομένα και να ξεκινάει μια διαδικασία συμπλήρωσης δεδομένων για την εγγραφή που περιλαμβάνει την ανάκτηση του ενός ή των περισσότερων στοιχείων δεδομένων που προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα και μετέπειτα, όταν ικανοποιείται ένα κριτήριο εύρους ζώνης πρόσβασης μνήμης, την έναρξη μιας περαιτέρω διαδικασίας συμπλήρωσης δεδομένων για την εγγραφή για την ανάκτηση του ενός ή των περισσότερων στοιχείων δεδομένων που υποδεικνύονται από την πρόβλεψη χρήσης τομέων.
4. Η κρυφή μνήμη συστήματος όπως αξιώνεται στην αξίωση 1, όπου το κύκλωμα ανάκτησης δεδομένων αποκρίνεται σε ένα σήμα ευστοχίας από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη, και σε πληροφορίες εγκυρότητας τομέων που υποδεικνύουν ότι το ένα ή τα περισσότερα στοιχεία δεδομένων που προσδιορίζονται από την πρόβλεψη χρήσης τομέων δεν αποθηκεύονται εκείνη τη στιγμή στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη, για την έναρξη μιας διαδικασίας συμπλήρωσης δεδομένων για την εγγραφή που περιλαμβάνει την ανάκτηση του ενός ή των περισσότερων περαιτέρω στοιχείων δεδομένων.
5. Η κρυφή μνήμη συστήματος όπως αξιώνεται στην αξίωση 1, όπου το κύκλωμα ανάκτησης δεδομένων αποκρίνεται σε ένα σήμα ευστοχίας από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη εκείνη τη στιγμή, και σε πληροφορίες εγκυρότητας τομέων που υποδεικνύουν ότι το ένα ή τα περισσότερα στοιχεία δεδομένων που προσδιορίζονται από την πρόβλεψη χρήσης τομέων δεν αποθηκεύονται εκείνη τη στιγμή στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη, και όταν ικανοποιείται ένα κριτήριο εύρους ζώνης πρόσβασης μνήμης, για την έναρξη μιας διαδικασίας συμπλήρωσης δεδομένων για την εγγραφή που περιλαμβάνει την ανάκτηση του ενός ή των περισσότερων περαιτέρω στοιχείων δεδομένων.
6. Η κρυφή μνήμη συστήματος όπως αξιώνεται σε οποιαδήποτε προηγούμενη αξίωση, όπου το κύκλωμα πρόβλεψης χρήσης τομέων περιλαμβάνει απαριθμητές χρήσης τομέων, και αποκρίνεται στο αίτημα πρόσβασης μνήμης που λαμβάνεται από το τμήμα συστήματος για την επιλογή ενός υποσυνόλου των απαριθμητών χρήσης τομέων, όπου το σχέδιο χρήσης τομέων δίδεται από τιμές απαριθμητών του υποσυνόλου των απαριθμητών χρήσης τομέων.
7. Η κρυφή μνήμη συστήματος όπως αξιώνεται στην αξίωση 6, όπου οι απαριθμητές χρήσης τομέων είναι κάθε ένας απαριθμητές κορεσμού τουλάχιστον 2 bit και το κύκλωμα πρόβλεψης χρήσης τομέων αποκρίνεται σε μια τιμή απαρίθμησης η οποία είναι μεγαλύτερη από μια τιμή κατωφλιού ως υπόδειξη στην πρόβλεψη χρήσης τομέων ότι προβλέπεται η χρήση ενός τομέα στον οποίο αντιστοιχεί αυτή η τιμή απαρίθμησης.
8. Η κρυφή μνήμη συστήματος όπως αξιώνεται στην αξίωση 7, όπου το κύκλωμα πρόβλεψης χρήσης τομέων αποκρίνεται σε πληροφορίες χρήσης τομέων, όταν οι πληροφορίες χρήσης τομέων υποδεικνύουν ότι ο τομέας έχει χρησιμοποιηθεί, για την αύξηση της εν λόγω τιμής απαρίθμησης κατά μία ποσότητα αύξησης η οποία είναι μικρότερη από μια ποσότητα μείωσης κατά την οποία μειώνεται η εν λόγω τιμή απαρίθμησης όταν οι πληροφορίες χρήσης τομέων υποδεικνύουν ότι ο τομέας δεν έχει χρησιμοποιηθεί.
9. Η κρυφή μνήμη συστήματος όπως αξιώνεται σε οποιαδήποτε προηγούμενη αξίωση, όπου το σχέδιο χρήσης τομέων που επιλέγεται από το σύνολο σχεδίων χρήσης τομέων επιλέγεται σε περαιτέρω εξάρτηση από τις πληροφορίες διεύθυνσης που προσδιορίζονται στο αίτημα πρόσβασης σε δεδομένα.
10. Η κρυφή μνήμη συστήματος όπως αξιώνεται σε οποιαδήποτε προηγούμενη αξίωση, όπου το σύνολο σχεδίων χρήσης τομέων περιλαμβάνει ένα ανεξάρτητο σύνολο σχεδίων χρήσης τομέων για κάθε αναγνωριστικό τμήματος συστήματος από ένα σύνολο αναγνωριστικών τμημάτων συστήματος για το οποίο η κρυφή μνήμη συστήματος διατάσσεται για απόκριση.
11. Η κρυφή μνήμη συστήματος όπως αξιώνεται σε οποιαδήποτε προηγούμενη αξίωση,
όπου ο χώρος αποθήκευσης δεδομένων κρυφής μνήμης περαιτέρω περιλαμβάνει ένα χώρο αποθήκευσης χρήσης τομέων ο οποίος συσχετίζεται με κάθε τομέα κάθε βαθμίδας ως ένδειξη κατά πόσο έχει πραγματοποιηθεί πρόσβαση σε έγκυρα δεδομένα σε κάθε τομέα από τη συμπλήρωση του αντίστοιχου τομέα με έγκυρα δεδομένα και την επισήμανσή του ως έγκυρου,
όπου κάθε εγγραφή στο χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη περαιτέρω αποθηκεύει ένα αναγνωριστικό εγγραφής σχεδίου, και
όπου το κύκλωμα πρόβλεψης χρήσης τομέων αποκρίνεται σε μια έξωση βαθμίδας από το χώρο αποθήκευσης δεδομένων σε κρυφή μνήμη για την ενημέρωση του σχεδίου χρήσης τομέων σε μια εγγραφή σχεδίων που προσδιορίζεται από το αναγνωριστικό εγγραφής σχεδίων της βαθμίδας που εξωθείται σε εξάρτηση από κατά πόσο το περιεχόμενο του χώρου αποθήκευσης χρήσης τομέων που αντιστοιχεί στη βαθμίδα που εξωθείται υποδεικνύει δεδομένα στα οποία έχει πραγματοποιηθεί πρόσβαση.
12. Η κρυφή μνήμη συστήματος όπως αξιώνεται στην αξίωση 11, η οποία περαιτέρω περιλαμβάνει ένα κύκλωμα επιλογής εξιλαστήριας βαθμίδας για την επιλογή της βαθμίδας που εξωθείται σε εξάρτηση από μια σύγκριση του περιεχομένου του χώρου αποθήκευσης χρήσης τομέων που συσχετίζεται με κάθε τομέα κάθε βαθμίδας.
13. Η κρυφή μνήμη συστήματος όπως αξιώνεται στην αξίωση 11 ή στην αξίωση 12, όπου ο χώρος αποθήκευσης χρήσης εγκυρότητας τομέων που συσχετίζεται με κάθε τομέα κάθε βαθμίδας περιλαμβάνει χώρο αποθήκευσης τουλάχιστον 2 bit.
14. Η κρυφή μνήμη συστήματος όπως αξιώνεται σε οποιαδήποτε προηγούμενη αξίωση, όπου το κύκλωμα πρόβλεψης χρήσης τομέων περαιτέρω αποκρίνεται στο αίτημα πρόσβασης σε δεδομένα για την ενημέρωση του σχεδίου χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου.
15. Η κρυφή μνήμη συστήματος όπως αξιώνεται σε οποιαδήποτε προηγούμενη αξίωση, η οποία περαιτέρω περιλαμβάνει ένα κύκλωμα καταστολής εκχώρησης, και όπου το κύκλωμα καταστολής εκχώρησης αποκρίνεται στην πρόβλεψη χρήσης τομέων για το προβλεφθέν αίτημα πρόσβασης σε δεδομένα το οποίο υποδεικνύει μια χρήση τομέων μικρότερη από ένα κατώφλι χρήσης τομέων για την καταστολή εκχώρησης μιας εγγραφής στην κρυφή μνήμη συστήματος για τα δεδομένα που ζητούνται στο αίτημα πρόσβασης σε δεδομένα.
16. Μια συσκευή επεξεργασίας δεδομένων η οποία περιλαμβάνει:
μια κρυφή μνήμη συστήματος όπως αξιώνεται σε οποιαδήποτε προηγούμενη αξίωση, και όπου τα πολλαπλά τμήματα συστήματος περιλαμβάνουν:
μια κύρια μονάδα επεξεργασίας για την εκτέλεση εργασιών επεξεργασίας δεδομένων, και
τουλάχιστον μια εξειδικευμένη μονάδα επεξεργασίας δεδομένων για την εκτέλεση επιλεγμένων εργασιών επεξεργασίας δεδομένων που ανατίθενται από την κύρια μονάδα επεξεργασίας.
17. Η συσκευή επεξεργασίας δεδομένων όπως αξιώνεται στην αξίωση 16, όπου τουλάχιστον σε μια εξειδικευμένη μονάδα επεξεργασίας δεδομένων εκχωρούνται περισσότερα από ένα αναγνωριστικά τμημάτων συστήματος και είναι ικανή για την έκδοση του αιτήματος πρόσβασης σε δεδομένα με ένα επιλεγμένο αναγνωριστικό τμήματος συστήματος το οποίο επιλέγεται από τα περισσότερα από ένα αναγνωριστικά τμημάτων συστήματος σε εξάρτηση από έναν τύπο δραστηριότητας επεξεργασίας δεδομένων που εκτελείται σε υποστήριξη της οποίας εκδίδεταιτο αίτημα πρόσβασης σε δεδομένα.
18. Μια μέθοδος λειτουργίας μιας κρυφής μνήμης συστήματος για την παροχή αποθήκευσης δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά τμήματα συστήματος, με τη μέθοδο να περιλαμβάνει τα εξής βήματα:
αποθήκευση βαθμιδών στοιχείων δεδομένων σε πολλαπλές εγγραφές χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης,
αποθήκευση συνόλων σχεδίων χρήσης τομέων σε ένα σύνολο εγγραφών σχεδίων και σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος το οποίο προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων επιλέγοντας μια εγγραφή επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα, και παράγοντας μια πρόβλεψη χρήσης τομέων σε εξάρτηση από το σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου, και
ανάκτηση ενός ή περισσότερων περαιτέρω στοιχείων δεδομένων σε εξάρτηση από την πρόβλεψη χρήσης τομέων.
19. Μια κρυφή μνήμη συστήματος για την παροχή αποθήκευσης δεδομένων σε κρυφή μνήμη σε απόκριση αιτημάτων πρόσβασης σε δεδομένα από πολλαπλά τμήματα συστήματος, με την κρυφή μνήμη συστήματος να περιλαμβάνει:
μέσα αποθήκευσης βαθμιδών στοιχείων δεδομένων σε πολλαπλές εγγραφές του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη, με κάθε εγγραφή να αποθηκεύει μια βαθμίδα στοιχείων δεδομένων και με κάθε βαθμίδα στοιχείων δεδομένων να περιλαμβάνει πολλαπλούς τομείς στοιχείων δεδομένων, και με κάθε βαθμίδα στοιχείων δεδομένων να αποθηκεύεται σε μια εγγραφή του χώρου αποθήκευσης δεδομένων σε κρυφή μνήμη με ένα συσχετισμένο τμήμα διεύθυνσης,
μέσα αποθήκευσης συνόλων σχεδίων χρήσης τομέων σε ένα σύνολο εγγραφών σχεδίων και σε απόκριση ενός αιτήματος πρόσβασης σε δεδομένα που λαμβάνεται από ένα τμήμα συστήματος το οποίο προσδιορίζει ένα ή περισσότερα στοιχεία δεδομένων επιλέγοντας μια εγγραφή επιλεγμένου σχεδίου σε εξάρτηση από ένα αναγνωριστικό τμήματος συστήματος στο αίτημα πρόσβασης σε δεδομένα, και για τη δημιουργία μιας πρόβλεψης χρήσης τομέων σε εξάρτηση από το σχέδιο χρήσης τομέων στην εγγραφή επιλεγμένου σχεδίου, και
μέσα ανάκτησης ενός ή περισσότερων περαιτέρω στοιχείων δεδομένων σε εξάρτηση από την πρόβλεψη χρήσης τομέων.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GR20170100067A GR20170100067A (el) | 2017-02-16 | 2017-02-16 | Προβλεψη χρησης τομεων κρυφης μνημης |
| US15/882,104 US10628318B2 (en) | 2017-02-16 | 2018-01-29 | Cache sector usage prediction |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GR20170100067A GR20170100067A (el) | 2017-02-16 | 2017-02-16 | Προβλεψη χρησης τομεων κρυφης μνημης |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| GR20170100067A true GR20170100067A (el) | 2018-10-31 |
Family
ID=59285272
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GR20170100067A GR20170100067A (el) | 2017-02-16 | 2017-02-16 | Προβλεψη χρησης τομεων κρυφης μνημης |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10628318B2 (el) |
| GR (1) | GR20170100067A (el) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10296465B2 (en) * | 2016-11-29 | 2019-05-21 | Board Of Regents, The University Of Texas System | Processor using a level 3 translation lookaside buffer implemented in off-chip or die-stacked dynamic random-access memory |
| US10402337B2 (en) * | 2017-08-03 | 2019-09-03 | Micron Technology, Inc. | Cache filter |
| US10839477B2 (en) * | 2017-09-29 | 2020-11-17 | Intel Corporation | Tile aware sector cache for graphics |
| US11281585B2 (en) * | 2018-08-30 | 2022-03-22 | Micron Technology, Inc. | Forward caching memory systems and methods |
| US11429590B2 (en) * | 2020-10-15 | 2022-08-30 | International Business Machines Corporation | Protecting against invalid memory references |
| US11966331B2 (en) | 2020-12-30 | 2024-04-23 | International Business Machines Corporation | Dedicated bound information register file for protecting against out-of-bounds memory references |
| US11983532B2 (en) | 2020-12-30 | 2024-05-14 | International Business Machines Corporation | Optimize bound information accesses in buffer protection |
| US12339773B2 (en) * | 2021-09-23 | 2025-06-24 | Intel Corporation | Selection of victim entry in a data structure |
| US11860780B2 (en) | 2022-01-28 | 2024-01-02 | Pure Storage, Inc. | Storage cache management |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011133146A2 (en) * | 2010-04-21 | 2011-10-27 | Empire Technology Development Llc | Storage efficient sectored cache |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6216219B1 (en) * | 1996-12-31 | 2001-04-10 | Texas Instruments Incorporated | Microprocessor circuits, systems, and methods implementing a load target buffer with entries relating to prefetch desirability |
| US6098154A (en) * | 1997-06-25 | 2000-08-01 | Sun Microsystems, Inc. | Apparatus and method for generating a stride used to derive a prefetch address |
| US9367480B2 (en) * | 2012-08-07 | 2016-06-14 | Dell Products L.P. | System and method for updating data in a cache |
| US9418013B2 (en) * | 2014-06-30 | 2016-08-16 | Intel Corporation | Selective prefetching for a sectored cache |
-
2017
- 2017-02-16 GR GR20170100067A patent/GR20170100067A/el unknown
-
2018
- 2018-01-29 US US15/882,104 patent/US10628318B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011133146A2 (en) * | 2010-04-21 | 2011-10-27 | Empire Technology Development Llc | Storage efficient sectored cache |
Also Published As
| Publication number | Publication date |
|---|---|
| US10628318B2 (en) | 2020-04-21 |
| US20180232313A1 (en) | 2018-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| GR20170100067A (el) | Προβλεψη χρησης τομεων κρυφης μνημης | |
| CN111344684B (zh) | 多层缓存安置机制 | |
| US6381676B2 (en) | Cache management for a multi-threaded processor | |
| US9176856B2 (en) | Data store and method of allocating data to the data store | |
| KR100843536B1 (ko) | 컴퓨터 시스템 내의 메모리 관리 향상 방법, 메모리 관리 메커니즘 및 컴퓨터 판독 가능한 기록 매체 | |
| US7284096B2 (en) | Systems and methods for data caching | |
| US10929308B2 (en) | Performing maintenance operations | |
| CN100407167C (zh) | 高速和准确的高速缓存通路选择 | |
| US11226904B2 (en) | Cache data location system | |
| US11151039B2 (en) | Apparatus and method for maintaining cache coherence data for memory blocks of different size granularities using a snoop filter storage comprising an n-way set associative storage structure | |
| CN108459975B (zh) | 用于有效使用地址转换缓存的技术 | |
| KR20170098187A (ko) | 저장 서브시스템을 위한 연관적 및 원자적 라이트-백 캐싱 시스템 및 방법 | |
| KR20180122969A (ko) | 멀티 프로세서 시스템 및 이에 포함된 프로세서의 데이터 관리 방법 | |
| CN107015922B (zh) | 缓存存储器 | |
| US10831673B2 (en) | Memory address translation | |
| US10853262B2 (en) | Memory address translation using stored key entries | |
| US20170357596A1 (en) | Dynamically adjustable inclusion bias for inclusive caches | |
| KR20230075361A (ko) | 메모리 어드레스들과 연관된 데이터를 캐싱하도록 캐시 저장소를 동작시키기 위한 기법 | |
| US7143239B2 (en) | Cache structure and methodology | |
| US10866904B2 (en) | Data storage for multiple data types | |
| US20230068779A1 (en) | Method for Evicting Data from Memory | |
| CN121166568A (zh) | 一种缓存数据处理方法及电子设备 |