GR20170200042U - Retention data rocessing via cache memory - Google Patents

Retention data rocessing via cache memory Download PDF

Info

Publication number
GR20170200042U
GR20170200042U GR20170200042U GR20170200042U GR20170200042U GR 20170200042 U GR20170200042 U GR 20170200042U GR 20170200042 U GR20170200042 U GR 20170200042U GR 20170200042 U GR20170200042 U GR 20170200042U GR 20170200042 U GR20170200042 U GR 20170200042U
Authority
GR
Greece
Prior art keywords
cache
data
entry
retention
dedicated
Prior art date
Application number
GR20170200042U
Other languages
Greek (el)
Inventor
Alex James Waugh
Dimitrios Kaseridis
Bruce Klas Magnus
Filippo Michael Alan
Joseph Michael PUSDESRIS
Jalal Jamshed
Original Assignee
Arm Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arm Limited filed Critical Arm Limited
Priority to GR20170200042U priority Critical patent/GR20170200042U/en
Publication of GR20170200042U publication Critical patent/GR20170200042U/en

Links

Abstract

A data processing system 2 incorporates a first exclusive cache memory 8, 10 and a second exclusive cache memory 14. A snoop filter 18 located together with the second exclusive cache memory on one side of the communication interface 12 serves to track entries within the first exclusive cache memory. The snoop filter includes retention data storage circuitry to store retention data for controlling retention of cache entries within the second exclusive cache memory. Retention data transfer circuitry 20 serves to transfer the retention data to and from the retention data storage circuitry within the snoop filter and the second cache memory as the cache entries concerned are transferred between the second exclusive cache memory and the first exclusive cache memory.

Description

ΔΙΑΧΕΙΡΙΣΗ ΔΕΔΟΜΕΝΩΝ ΣΥΓΚΡΑΤΗΣΗΣ ΜΕΣΩ ΚΡΥΦΗΣ ΜΝΗΜΗΣ MANAGING RETENTION DATA THROUGH CACHE

            Αυτή η δημοσιοποίηση σχετίζεται με το πεδίο των συστημάτων επεξεργασίας δεδομένων. Πιο συγκεκριμένα, η παρούσα δημοσιοποίηση σχετίζεται με συστήματα επεξεργασίας δεδομένων που ενσωματώνουν μια κρυφή μνήμη και χρησιμοποιούν δεδομένα συγκράτησης που σχετίζονται με εγγραφές κρυφής μνήμης για τον έλεγχο της συγκράτησης εγγραφών κρυφής μνήμης εντός της κρυφής μνήμης. This disclosure relates to the field of data processing systems. More particularly, the present disclosure relates to data processing systems that incorporate a cache and use retention data associated with cache entries to control the retention of cache entries within the cache.

            Είναι γνωστή η παροχή συστημάτων επεξεργασίας δεδομένων με ιεραρχίες κρυφής μνήμης για τη βελτίωση της ταχύτητας και της αποτελεσματικότητας της επεξεργασίας δεδομένων. Στα πλαίσια τέτοιων ιεραρχιών κρυφής μνήμης είναι γνωστή, για παράδειγμα, η παροχή μεμονωμένων, αποκλειστικών μικρών κρυφών μνημών κοντά σε έναν πυρήνα επεξεργαστή με μια ή περισσότερες μεγαλύτερες κοινόχρηστες κρυφές μνήμες σε ένα επίπεδο μακρύτερα από τους πυρήνες του επεξεργαστή και οι οποίες χρησιμοποιούνται από κοινού ανάμεσα στους πυρήνες του επεξεργαστή. Στα πλαίσια τέτοιων ιεραρχιών κρυφής μνήμης, είναι δυνατή η αποθήκευση μιας μεμονωμένης εγγραφής κρυφής μνήμης εντός των μικρών κρυφών μνημών χαμηλού επίπεδου κοντά στους πυρήνες του επεξεργαστή και/ή εντός των μεγαλύτερων κρυφών μνημών υψηλότερου επίπεδου μακρύτερα από και οι οποίες χρησιμοποιούνται από κοινού ανάμεσα στους πυρήνες του επεξεργαστή. Για να διατηρηθεί η συμφωνία μεταξύ των διαφόρων αντιγράφων μιας εγγραφής κρυφής μνήμης η οποία μπορεί να αποθηκεύεται σε διαφορετικά τμήματα της ιεραρχίας κρυφής μνήμης και σε μια κύρια μνήμη, είναι γνωστή η παροχή μηχανισμών συμφωνίας κρυφών μνημών συμπεριλαμβανομένου ενός ή περισσότερων φίλτρων έρευνας, τα οποία έχουν τη δυνατότητα να υποδεικνύουν ποιες εγγραφές κρυφής μνήμης αποθηκεύονται σε ποια τμήματα μιας ιεραρχίας κρυφής μνήμης ή ενός συστήματος μνήμης. It is known to provide data processing systems with cache hierarchies to improve the speed and efficiency of data processing. Within such cache hierarchies it is known, for example, to provide individual, dedicated small caches close to a processor core with one or more larger shared caches at a level further away from the processor cores and which are shared between processor cores. Within such cache hierarchies, it is possible to store a single cache entry within the small low-level caches close to the processor cores and/or within the larger, higher-level caches further away from and shared among the processor cores processor. To maintain agreement between different copies of a cache entry which may be stored in different parts of the cache hierarchy and in a main memory, it is known to provide cache agreement mechanisms including one or more lookup filters, which have the ability to indicate which cache entries are stored in which parts of a cache hierarchy or memory system.

            Τουλάχιστον ορισμένες υλοποιήσεις της παρούσας δημοσιοποίησης παρέχουν μια διάταξη για την επεξεργασία δεδομένων, η οποία περιλαμβάνει: At least some embodiments of the present disclosure provide a provision for processing data, which includes:

            μια πρώτη κρυφή μνήμη, a first cache,

            μια δεύτερη κρυφή μνήμη, με την εν λόγω πρώτη κρυφή μνήμη να επικοινωνεί με την εν λόγω δεύτερη κρυφή μνήμη μέσω μιας διασύνδεσης επικοινωνίας, a second cache, said first cache communicating with said second cache via a communication interface;

            ένα φίλτρο έρευνας που βρίσκεται μαζί με την εν λόγω δεύτερη κρυφή μνήμη σε μια πλευρά της εν λόγω διασύνδεσης επικοινωνίας και εξυπηρετεί την ιχνηλάτηση των εγγραφών κρυφής μνήμης που αποθηκεύονται στην εν λόγω πρώτη κρυφή μνήμη σε μια άλλη πλευρά της εν λόγω διασύνδεσης επικοινωνίας, με το εν λόγω φίλτρο έρευνας να περιλαμβάνει ένα κύκλωμα αποθήκευσης δεδομένων συγκράτησης για την αποθήκευση δεδομένων συγκράτησης για τον έλεγχο συγκράτησης των εγγραφών κρυφής μνήμης εντός τουλάχιστον της εν λόγω δεύτερης κρυφής μνήμης, και a search filter co-located with said second cache on one side of said communication interface and serving to track cache entries stored in said first cache on another side of said communication interface, with said search filter including a retention data storage circuit for storing retention data for checking retention of cache entries within at least said second cache, and

            κύκλωμα μεταφοράς δεδομένων συγκράτησης hold data transfer circuit

                          για τη μεταφορά δεδομένων συγκράτησης για μια εγγραφή κρυφής μνήμης από την εν λόγω δεύτερη κρυφή μνήμη στο εν λόγω κύκλωμα αποθήκευσης δεδομένων συγκράτησης όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από την εν for transferring hold data for a cache entry from said second cache to said hold data storage circuit when said cache entry is transferred from said

λόγω δεύτερη κρυφή μνήμη στην εν λόγω πρώτη κρυφή μνήμη, και due second cache to said first cache, and

                          για τη μεταφορά των εν λόγω δεδομένων συγκράτησης για την εν λόγω εγγραφή κρυφής μνήμης από το εν λόγω κύκλωμα αποθήκευσης δεδομένων συγκράτησης στην εν λόγω δεύτερη κρυφή μνήμη όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από την εν λόγω πρώτη κρυφή μνήμη στην εν λόγω δεύτερη κρυφή μνήμη. for transferring said hold data for said cache entry from said hold data storage circuit to said second cache when said cache entry is transferred from said first cache to said second cache .

            Τουλάχιστον ορισμένες υλοποιήσεις της παρούσας δημοσιοποίησης παρέχουν μια διάταξη για την επεξεργασία δεδομένων, η οποία περιλαμβάνει: At least some embodiments of the present disclosure provide a provision for processing data, which includes:

            μέσα πρώτης κρυφής μνήμης για την αποθήκευση εγγραφών κρυφής μνήμης, first cache media for storing cache entries,

            μέσα δεύτερης κρυφής μνήμης για την αποθήκευση εγγραφών κρυφής μνήμης, με τα εν λόγω μέσα πρώτης κρυφής μνήμης να επικοινωνούν με τα εν λόγω μέσα δεύτερης κρυφής μνήμης μέσω μιας διασύνδεσης επικοινωνίας, second cache means for storing cache entries, said first cache means communicating with said second cache means via a communication interface;

            μέσα φίλτρου έρευνας για την πραγματοποίηση χειρισμών έρευνας κρυφής μνήμης και τα οποία βρίσκονται μαζί με τα εν λόγω μέσα δεύτερης κρυφής μνήμης σε μια πλευρά της εν λόγω διασύνδεσης επικοινωνίας και εξυπηρετούν για την ιχνηλάτηση των εγγραφών κρυφής μνήμης που αποθηκεύονται στα εν λόγω μέσα πρώτης κρυφής μνήμης σε μια άλλη πλευρά της εν λόγω διασύνδεσης επικοινωνίας, με τα εν λόγω μέσα φίλτρου έρευνας να περιλαμβάνουν μέσα αποθήκευσης δεδομένων συγκράτησης για την αποθήκευση δεδομένων συγκράτησης για τον έλεγχο συγκράτησης των εγγραφών κρυφής μνήμης εντός τουλάχιστον των εν λόγω μέσων δεύτερης κρυφής μνήμης, και probe filter means for performing cache probe operations and located together with said second cache means on one side of said communication interface and serving to trace cache entries stored in said first cache means to another side of said communication interface, said probe filter means including retention data storage means for storing retention data for checking retention of cache entries within at least said second cache means, and

            μέσα μεταφοράς δεδομένων συγκράτησης retention data carriers

                          για τη μεταφορά δεδομένων συγκράτησης για μια εγγραφή κρυφής μνήμης από τα εν λόγω μέσα δεύτερης κρυφής μνήμης στα εν λόγω μέσα πρώτης κρυφής μνήμης όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από τα εν λόγω μέσα δεύτερης κρυφής μνήμης στα εν λόγω μέσα πρώτης κρυφής μνήμης, και για τη μεταφορά των εν λόγω δεδομένων συγκράτησης για την εν λόγω εγγραφή κρυφής μνήμης από τα μέσα αποθήκευσης δεδομένων συγκράτησης στα εν λόγω μέσα δεύτερης κρυφής μνήμης όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από τα εν λόγω μέσα πρώτης κρυφής μνήμης στα εν λόγω μέσα δεύτερης κρυφής μνήμης. for transferring hold data for a cache entry from said second cache media to said first cache media when said cache entry is transferred from said second cache media to said first cache media, and for transferring said retention data for said cache entry from said retention data storage media to said second cache media when said cache entry is transferred from said first cache media to said second cache media memory.

            Τουλάχιστον ορισμένες υλοποιήσεις της παρούσας δημοσιοποίησης παρέχουν μια μέθοδο επεξεργασίας δεδομένων η οποία περιλαμβάνει: At least some embodiments of the present disclosure provide a data processing method comprising:

            την αποθήκευση εγγραφών κρυφής μνήμης εντός της πρώτης κρυφής μνήμης, storing cache entries within the first cache;

            την αποθήκευση εγγραφών κρυφής μνήμης εντός της δεύτερης κρυφής μνήμης, storing cache entries within the second cache;

            την επικοινωνία μεταξύ της εν λόγω πρώτης κρυφής μνήμης και της εν λόγω δεύτερης μνήμης μέσω μιας διασύνδεσης επικοινωνίας, communicating between said first cache and said second memory via a communication interface;

            την πραγματοποίηση χειρισμών έρευνας κρυφής μνήμης με ένα φίλτρο έρευνας που βρίσκεται μαζί με την εν λόγω δεύτερη κρυφή μνήμη σε μια πλευρά της εν λόγω διασύνδεσης επικοινωνίας και την εξυπηρέτηση ιχνηλάτησης των εγγραφών κρυφής μνήμης που αποθηκεύονται στην εν λόγω πρώτη κρυφή μνήμη σε μια πλευρά της εν λόγω διασύνδεσης επικοινωνίας, με το εν λόγω φίλτρο έρευνας να περιλαμβάνει ένα κύκλωμα αποθήκευσης δεδομένων συγκράτησης για την αποθήκευση δεδομένων συγκράτησης για τον έλεγχο της συγκράτησης των εγγραφών κρυφής μνήμης εντός τουλάχιστον της εν λόγω δεύτερης κρυφής μνήμης, και performing cache lookup operations with a lookup filter co-located with said second cache on one side of said communication interface and serving to trace cache entries stored in said first cache on one side of said communication interface, said probe filter including a retention data storage circuit for storing retention data for controlling retention of cache entries within at least said second cache, and

            τη μεταφορά δεδομένων συγκράτησης για μια εγγραφή κρυφής μνήμης από την εν λόγω δεύτερη κρυφή μνήμη στο εν λόγω κύκλωμα αποθήκευσης δεδομένων συγκράτησης όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από την εν λόγω δεύτερη κρυφή μνήμη στην εν λόγω πρώτη κρυφή μνήμη, και transferring hold data for a cache entry from said second cache to said hold data storage circuit when said cache entry is transferred from said second cache to said first cache, and

            τη μεταφορά των εν λόγω δεδομένων συγκράτησης για την εν λόγω εγγραφή κρυφής μνήμης από το κύκλωμα αποθήκευσης δεδομένων συγκράτησης στην εν λόγω δεύτερη κρυφή μνήμη όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από την εν λόγω πρώτη κρυφή μνήμη στην εν λόγω δεύτερη κρυφή μνήμη. transferring said hold data for said cache entry from said hold data storage circuit to said second cache when said cache entry is transferred from said first cache to said second cache.

            Θα περιγραφούν τώρα παραδείγματα υλοποιήσεων, μόνο υπό τύπο παραδείγματος, αναφορικά με τα συνοδευτικά σχεδιαγράμματα στα οποία: Exemplary embodiments will now be described, by way of example only, with reference to the accompanying drawings in which:

            Το Σχήμα 1 απεικονίζει σχηματικά ένα σύστημα επεξεργασίας δεδομένων που περιλαμβάνει μια ιεραρχία κρυφής μνήμης, Figure 1 schematically illustrates a data processing system that includes a cache hierarchy,

            Το Σχήμα 2 είναι ένα διάγραμμα βαθμιδών που απεικονίζει σχηματικά το χειρισμό όταν μια εγγραφή κρυφής μνήμης μεταφέρεται από μια δεύτερη αποκλειστική κρυφή μνήμη σε μια πρώτη αποκλειστική κρυφή μνήμη, Figure 2 is a flowchart schematically illustrating the handling when a cache entry is transferred from a second dedicated cache to a first dedicated cache;

            Το Σχήμα 3 είναι ένα διάγραμμα βαθμιδών που απεικονίζει σχηματικά την επεξεργασία όταν μια εγγραφή κρυφής μνήμης μεταφέρεται από την πρώτη αποκλειστική κρυφή μνήμη στη δεύτερη αποκλειστική κρυφή μνήμης, Figure 3 is a flowchart schematically illustrating the processing when a cache entry is transferred from the first dedicated cache to the second dedicated cache;

            Το Σχήμα 4 είναι ένα διάγραμμα βαθμιδών που απεικονίζει σχηματικά τον ορισμό μιας τιμής συγκράτησης που σχετίζεται με μια κρυφή μνήμη, και Figure 4 is a block diagram schematically illustrating the definition of a hold value associated with a cache, and

            Το Σχήμα 5 απεικονίζει σχηματικά ένα περαιτέρω παράδειγμα υλοποίησης ενός συστήματος επεξεργασίας δεδομένων που περιλαμβάνει μια ιεραρχία κρυφής μνήμης. Figure 5 schematically illustrates a further example implementation of a data processing system including a cache hierarchy.

            Το Σχήμα 1 απεικονίζει σχηματικά ένα σύστημα επεξεργασίας δεδομένων 2 που περιλαμβάνει ένα πλήθος πυρήνων επεξεργαστή 4, 6 κάθε ένας από τους οποίους έχει μια συσχετισμένη πρώτη αποκλειστική κρυφή μνήμη 8, 10. Οι πρώτες αποκλειστικές κρυφές μνήμες 8, 10 επικοινωνούν μέσω μιας διασύνδεσης επικοινωνίας 12, όπως για παράδειγμα, μια διασύνδεση συμφωνίας που χρησιμοποιεί ένα πρωτόκολλο πρόσβασης σύμφωνης μνήμης (π.χ. χρησιμοποιώντας ένα σύμφωνο πρωτόκολλο αρχιτεκτονικής), με μια δεύτερη αποκλειστική κρυφή μνήμη 14, η οποία στο παρόν παράδειγμα υλοποίησης χρησιμοποιείται από κοινού από τους πυρήνες επεξεργαστή 4, 6 και τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Μια κύρια μνήμη 16 παρέχει δεδομένα τόσο στη δεύτερη αποκλειστική κρυφή μνήμη 14 όσο και, μέσω μιας διαδρομής παράκαμψης, απευθείας σε οποιαδήποτε από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 όταν αυτές πραγματοποιούν μια φόρτωση δεδομένων μιας εγγραφής κρυφής μνήμης η οποία δε βρίσκεται εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14 (μια αστοχία εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14). Θα εκτιμηθεί ότι σε άλλα παραδείγματα υλοποιήσεων, οι πρώτες αποκλειστικές κρυφές μνήμες 8, 10 και η δεύτερη αποκλειστική κρυφή μνήμη 14 δε χρειάζεται να είναι αποκλειστικές και μπορούν αντίθετα να είναι μη αποκλειστικές ή ψευδώς αποκλειστικές. Figure 1 schematically illustrates a data processing system 2 comprising a plurality of processor cores 4, 6 each of which has an associated first dedicated cache 8, 10. The first dedicated caches 8, 10 communicate via a communication interface 12, such as, for example, an agreement interface using a conformal memory access protocol (eg using a conformal architecture protocol), with a second dedicated cache 14, which in the present example embodiment is shared by the processor cores 4, 6 and the first dedicated caches 8, 10. A main memory 16 supplies data both to the second dedicated cache 14 and, via a bypass path, directly to any of the first dedicated caches 8, 10 when they perform a data load of a cache entry that is not within the second exclusive cache memory 14 (a miss within the second dedicated cache 14). It will be appreciated that in other example implementations, the first exclusive caches 8, 10 and the second exclusive cache 14 need not be exclusive and may instead be non-exclusive or pseudo-exclusive.

            Στο παράδειγμα υλοποίησης του Σχήματος 1, οι πρώτες αποκλειστικές κρυφές μνήμες 8, 10 και η δεύτερη αποκλειστική κρυφή μνήμη 14 λειτουργούν με έναν αποκλειστικό τρόπο σύμφωνα με τον οποίο μια δεδομένη εγγραφή κρυφής μνήμης αποθηκεύεται εντός μιας, αλλά όχι και των δύο, είτε της δεύτερης αποκλειστικής κρυφής μνήμης 14 ή μιας από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Μπορεί να είναι ότι μια εγγραφή κρυφής μνήμης χρησιμοποιείται από κοινού και αποθηκεύεται και στις δύο αποκλειστικές κρυφές μνήμες 8, 10, αλλά δε θα αποθηκεύεται ταυτόχρονα και εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14. Παρόμοια, όταν μια εγγραφή κρυφής μνήμης αποθηκεύεται εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14, δε θα αποθηκεύεται εντός οποιασδήποτε από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Θα εκτιμηθεί ότι είναι δυνατοί και άλλοι τρόποι λειτουργίας ιεραρχιών κρυφής μνήμης, όπως οι περιεκτικοί τρόποι λειτουργίας ή οι μερικώς αποκλειστικοί τρόποι λειτουργίας. Οι παρούσες τεχνικές μπορούν να εφαρμόζονται σε ένα μεγάλο εύρος διαφορετικών τύπων ιεραρχίας κρυφής μνήμης και δεν περιορίζονται σε εφαρμογή σε ιεραρχίες κρυφής μνήμης που λειτουργούν με αυστη ρά αποκλειστικό τρόπο . In the example embodiment of Figure 1, the first dedicated caches 8, 10 and the second dedicated cache 14 operate in a dedicated manner whereby a given cache entry is stored within one, but not both, of either the second dedicated cache 14 or one of the first dedicated caches 8, 10. It may be that a cache entry is shared and stored in both dedicated caches 8, 10, but will not be simultaneously stored in the second dedicated cache 14. Similarly, when a cache entry is stored within the second exclusive cache 14, it will not be stored within any of the first exclusive caches 8, 10. It will be appreciated that other modes of operation of cache hierarchies are possible, such as inclusive modes mode or the partially exclusive modes of operation. The present techniques can be applied to a wide range of different types of cache hierarchies and are not limited in application to cache hierarchies that operate in a strictly exclusive manner.

           Ένα φίλτρο έρευνας 18 συνδέεται με τη δεύτερη αποκλειστική κρυφή μνήμη 14 στην ίδια πλευρά της διασύνδεσης επικοινωνίας 12 με τη δεύτερη αποκλειστική κρυφή μνήμη 14. Το φίλτρο έρευνας 18 εξυπηρετεί την ιχνηλάτηση των εγγραφών κρυφής μνήμης που αποθηκεύονται εντός των πρώτων αποκλειστικών κρυφών μνημών 8, 10, ώστε όταν πρόκειται να πραγματοποιηθεί μια πρόσβαση στη μνήμη, είναι δυνατή η πραγματοποίηση ενός ελέγχου χρησιμοποιώντας το φίλτρο έρευνας 14 κατά πόσο μια εγγραφή κρυφής μνήμης αποθηκεύεται εντός οποιοσδήποτε από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 χωρίς ανάγκη αποστολής ενός αιτήματος έρευνας μέσω της διασύνδεσης επικοινωνίας 12 σε αυτές τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Το φίλτρο έρευνας 18 περιλαμβάνει διαφορετικούς τύπους αποθηκευτικού χώρου δεδομένων συμπεριλαμβανομένων των κυκλωμάτων αποθήκευσης δεδομένων ετικέτας, των κυκλωμάτων αποθήκευσης δεδομένων συγκράτησης και των κυκλωμάτων αποθήκευσης δεδομένων συμφωνίας. A probe filter 18 is connected to the second dedicated cache 14 on the same side of the communication interface 12 as the second dedicated cache 14. The probe filter 18 serves to trace the cache entries stored within the first dedicated caches 8, 10, so that when a memory access is to be made, it is possible to perform a check using the probe filter 14 whether a cache entry is stored within any of the first dedicated caches 8, 10 without the need to send a probe request over the communication interface 12 in these first dedicated caches 8, 10. The search filter 18 includes different types of data storage including tag data storage circuits, hold data storage circuits, and agreement data storage circuits.

            Το κύκλωμα αποθήκευσης δεδομένων ετικέτας αποθηκεύει δεδομένα ετικέτας ενδεικτικά των διευθύνσεων μνήμης των αντίστοιχων εγγραφών κρυφής μνήμης που αποθηκεύονται εντός των πρώτων αποκλειστικών κρυφών μνημών 8, 10. Το κύκλωμα αποθήκευσης δεδομένων συμφωνίας αποθηκεύει δεδομένα συμφωνίας για την ιχνηλάτηση της κατάστασης συμφωνίας των εγγραφών που αποθηκεύονται εντός των πρώτων αποκλειστικών κρυφών μνημών 8, 10, όπως κατά πόσο μια εγγραφή κρυφής μνήμης εντός μιας συγκεκριμένης πρώτης αποκλειστικής κρυφής μνήμης 8, 10 αποθηκεύεται σε μια τροποποιημένη, αποκλειστική, κοινόχρηστη ή άκυρη κατάσταση (π.χ. σύμφωνα με τα πρωτόκολλα συμφωνίας MESI). Το φίλτρο έρευνας 18 περαιτέρω περιλαμβάνει ένα κύκλωμα αποθήκευσης δεδομένων συγκράτησης που αποθηκεύει τα δεδομένα συγκράτησης για τον έλεγχο της συγκράτησης των εγγραφών κρυφής μνήμης εντός τουλάχιστον της δεύτερης αποκλειστικής κρυφής μνήμης 14. Εφόσον τα δεδομένα συγκράτησης και τα δεδομένα συμφωνίας σχετίζονται με συγκεκριμένες εγγραφές κρυφής μνήμης, τα δεδομένα ετικέτας μπορούν να χρησιμοποιούνται ώστε να υποδεικνύουν τη συγκεκριμένη εμπλεκόμενη εγγραφή κρυφής μνήμης και συνεπώς τα δεδομένα συγκράτησης και τα δεδομένα συμφωνίας αποθηκεύονται εντός του φίλτρου έρευνας 18 για κάθε εγγραφή δεδομένων ετικέτας που αντιστοιχεί σε μια εγγραφή κρυφής μνήμης. The tag data storage circuit stores tag data indicative of the memory addresses of the corresponding cache entries stored within the first dedicated caches 8, 10. The agreement data storage circuit stores agreement data for tracking the agreement status of the entries stored within the first of exclusive caches 8, 10, such as whether a cache entry within a particular first exclusive cache 8, 10 is stored in a modified, exclusive, shared, or invalid state (eg, according to MESI agreement protocols). The search filter 18 further includes a retention data storage circuit that stores the retention data for controlling the retention of cache entries within at least the second dedicated cache memory 14. Since the retention data and agreement data are associated with particular cache entries, the tag data may be used to indicate the particular cache entry involved, and thus hold data and match data are stored within the lookup filter 18 for each tag data entry corresponding to a cache entry.

            Όπως εικονίζεται στο Σχήμα 1, κάθε εγγραφή κρυφής μνήμης εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14 ενσωματώνει δεδομένα συγκράτησης τα οποία σχετίζονται με αυτή την εγγραφή κρυφής μνήμης. Αυτά τα δεδομένα συγκράτησης εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14 χρησιμοποιούνται από ένα κύκλωμα έξωσης 22 για τον έλεγχο της επιλογής μιας υποψήφιας εγγραφής κρυφής μνήμης όταν μια εγγραφή κρυφής μνήμης πρέπει να εξωθηθεί από τη δεύτερη αποκλειστική κρυφή μνήμη 14 ώστε να παράσχει χώρο για μια νέα εγγραφή κρυφής μνήμης που πρόκειται να αποθηκευτεί στη δεύτερη αποκλειστική κρυφή μνήμη 14. Τα δεδομένα συγκράτησης μπορούν να πάρουν ένα πλήθος διαφορετικών μορφών, όπως η ιχνηλάτηση δεδομένων πόσο πρόσφατα πραγματοποιήθηκε πρόσβαση σε μια εγγραφή κρυφής μνήμης, π.χ. με τη χρήση ενός αλγορίθμου έξωσης όπως ένας αλγόριθμος έξωσης της παλαιότερα χρησιμοποιούμενης. Ένα άλλο παράδειγμα μορφής δεδομένων συγκράτησης μπορεί να είναι δεδομένα τα οποία είναι ενδεικτικά κατά πόσο μια δεδομένη εγγραφή κρυφής μνήμης έχει φορτωθεί από τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Όταν ένας από τους πυρήνες επεξεργαστή 4, 6, ζητά τη φόρτωση δεδομένων που περιλαμβάνονται εντός μιας εγγραφής κρυφής μνήμης (γραμμή κρυφής μνήμης) η οποία δεν έχει προηγουμένως μεταφερθεί από την κύρια μνήμη 16, η εμπλεκόμενη εγγραφή κρυφής μνήμης παρακάμπτει την αποθήκευση εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14 και φορτώνεται απευθείας στην πρώτη αποκλειστική κρυφή μνήμη 8, 10 η οποία τη ζήτησε. Τα δεδομένα συγκράτησης που σχετίζονται με αυτή την εγγραφή κρυφής μνήμης ορίζονται να υποδηλώνουν ότι δεν έχουν υποβληθεί σε μια φόρτωση από τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Τα δεδομένα συγκράτησης για αυτή την εγγραφή κρυφής μνήμης που έχουν φορτωθεί απευθείας σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 αποθηκεύονται εντός του κυκλώματος αποθήκευσης δεδομένων συγκράτησης 18. Η εγγραφή εντός του φίλτρου έρευνας 18 για την εμπλεκόμενη εγγραφή κρυφής μνήμης περιλαμβάνει μια ετικέτα ενδεικτική της διεύθυνσης μνήμης για αυτή την εγγραφή κρυφής μνήμης (και η οποία επιτρέπει την αναγνώριση της εγγραφής κρυφής μνήμης) όπως και των δεδομένων συγκράτησης και των δεδομένων συμφωνίας. Τα δεδομένα συγκράτησης για τις εγγραφές κρυφής μνήμης εντός των πρώτων αποκλειστικών κρυφών μνημών 8, 10 αποθηκεύονται εντός του κυκλώματος αποθήκευσης δεδομένων συγκράτησης του φίλτρου έρευνας 18 στην ίδια πλευρά της διασύνδεσης επικοινωνίας 12 με τη δεύτερη αποκλειστική κρυφή μνήμη 14 και δε μεταφέρονται μέσω της διασύνδεσης επικοινωνίας 12 προς τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 και ούτε αποθηκεύονται σε αυτές. Αυτό εξοικονομεί χώρο αποθήκευσης εντός των πρώτων αποκλειστικών κρυφών μνημών 8, 10 και μειώνει την επιβάρυνση επικοινωνίας και την πολυπλοκότητα της ίδιας της διασύνδεσης επικοινωνίας 12 εφόσον δεν είναι πια υπεύθυνη για τη μεταφορά των δεδομένων συγκράτησης προς και από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. As illustrated in Figure 1, each cache entry within the second dedicated cache 14 incorporates hold data associated with that cache entry. This hold data within the second exclusive cache 14 is used by an eviction circuit 22 to control the selection of a candidate cache entry when a cache entry must be evicted from the second exclusive cache 14 to make room for a new entry cache to be stored in the second dedicated cache 14. The retention data can take a number of different forms, such as tracking data on how recently a cache entry was accessed, e.g. by using an eviction algorithm such as an eviction algorithm previously used. Another example of a form of hold data may be data indicative of whether a given cache entry has been loaded from the second dedicated cache 14 into one of the first dedicated caches 8, 10. When one of the processor cores 4, 6, requests to load data contained within a cache entry (cache line) that has not previously been moved from main memory 16, the cache entry involved bypasses storage within the second dedicated cache 14 and is loaded directly into the first exclusive cache 8, 10 which requested it. The hold data associated with this cache entry is set to indicate that it has not undergone a load from the second dedicated cache 14 to one of the first exclusive caches 8, 10. The hold data for this cache entry which have been loaded directly into one of the first dedicated caches 8, 10 are stored within the data hold circuit 18. The entry within the search filter 18 for the cache entry involved includes a tag indicative of the memory address for that cache entry ( and which allows recognition of the cache entry) as well as hold data and agreement data. The hold data for the cache entries within the first dedicated caches 8, 10 is stored within the hold data storage circuit of the search filter 18 on the same side of the communication interface 12 as the second dedicated cache 14 and is not transferred through the communication interface 12 to the first exclusive caches 8, 10 and are not stored in them either. This saves storage space within the first dedicated caches 8 , 10 and reduces the communication overhead and complexity of the communication interface 12 itself since it is no longer responsible for transferring the hold data to and from the first dedicated caches 8 , 10 .

            Όταν μια εγγραφή κρυφής μνήμης εξωθείται από μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 (με τη χρήση των δικών τους μηχανισμών έξωσης και αλγορίθμων έξωσης), επιστρέφεται στη δεύτερη αποκλειστική κρυφή μνήμη 14. Εάν η εμπλεκόμενη εγγραφή κρυφής μνήμης είχε προηγουμένως φορτωθεί απευθείας από την κύρια μνήμη 16 στην πρώτη αποκλειστική κρυφή μνήμη 8, 10 στην οποία χρειαζόταν, κατά την επιστροφή της στη δεύτερη αποκλειστική κρυφή μνήμη τα δεδομένα συγκράτησής της θα υποδηλώνουν ακόμη ότι μέχρι στιγμής δεν έχει φορτωθεί από τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Κατόπιν, εάν πριν την έξωση αυτής της εγγραφής κρυφής μνήμης από τη δεύτερη αποκλειστική κρυφή μνήμη 14, πραγματοποιηθεί μια περαιτέρω φόρτωση δεδομένων εντός αυτής της εγγραφής κρυφής μνήμης από έναν από τους πυρήνες επεξεργαστή 4, 6, τότε η εμπλεκόμενη εγγραφή κρυφής μνήμης θα φορτωθεί και πάλι στην κατάλληλη από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 από τη δεύτερη αποκλειστική κρυφή μνήμη 14 και όχι από την κύρια μνήμη 16. Όταν πραγματοποιηθεί μια τέτοια περαιτέρω φόρτωση, τα δεδομένα συγκράτησης για αυτή την εγγραφή κρυφής μνήμης επιση μαίνονται ώστε να υποδηλώνουν ότι η εμπλεκόμενη εγγραφή κρυφής μνήμης έχει υποβληθεί σε μια φόρτωση από τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. When a cache entry is evicted from one of the first exclusive caches 8, 10 (using their own eviction mechanisms and eviction algorithms), it is returned to the second exclusive cache 14. If the cache entry involved was previously loaded directly from main memory 16 to the first dedicated cache 8, 10 in which it was needed, on its return to the second dedicated cache its hold data will still indicate that it has not yet been loaded from the second dedicated cache 14 into one of the first exclusive caches 8, 10. Then, if prior to evicting this cache entry from the second exclusive cache 14, a further load of data into this cache entry by one of the processor cores 4, 6 takes place, then the involved cache entry will be reloaded into the appropriate one of the first exclusive caches 8, 10 from second exclusive cache 14 and not from main memory 16. When such a further load occurs, the hold data for that cache entry is marked to indicate that the cache entry involved has undergone a load from the second exclusive cache memory 14 in one of the first dedicated caches 8, 10.

            Έχει βρεθεί ότι υπάρχει συσχέτιση μεταξύ της χρησιμότητας συγκράτησης μιας εγγραφής κρυφής μνήμης εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14 και κατά πόσο αυτή η εγγραφή κρυφής μνήμης έχει υποβληθεί προηγουμένως ή όχι σε μια φόρτωση από τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε οποιαδήποτε από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. It has been found that there is a correlation between the utility of holding a cache entry within the second exclusive cache 14 and whether or not that cache entry has previously been subjected to a load from the second exclusive cache 14 to any of the first exclusive caches memories 8, 10.

Εάν μια εγγραφή κρυφής μνήμης φορτωθεί απευθείας από την κύρια μνήμη 16 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10, εξωθηθεί στη δεύτερη αποκλειστική κρυφή μνήμη 14 και στη συνέχεια δε φορτωθεί και πάλι από αυτή τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10, τότε είναι πιθανό να είναι χαμηλής εν δυνάμει χρησιμότητας η συγκράτηση αυτής της εγγραφής κρυφής μνήμης εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14. Αντίθετα, μια εγγραφή κρυφής μνήμης η οποία εξωθείται από μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 προς τη δεύτερη αποκλειστική κρυφή μνήμη 14 και στη συνέχεια φορτώνεται και πάλι από τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 είναι πιθανό να έχει υψηλή πιθανότητα επαναχρησιμοποίησης και κατά συνέπεια πιθανό να αξίζει η συγκράτησή της (η μη έξωσή της) εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14. Το κύκλωμα έξωσης 22 χρησιμοποιεί κατά συνέπεια την τιμή των δεδομένων συγκράτησης που είναι ενδεικτική κατά πόσο μια εγγραφή κρυφής μνήμης έχει φορτωθεί ή όχι από τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 στα πλαίσια του προσδιορισμού της εγγραφής κρυφής μνήμης η οποία θα πρέπει να επιλέγεται ως υποψήφια εγγραφή κρυφής μνήμης προς έξωση από τη δεύτερη αποκλειστική κρυφή μνήμη 14 όταν απαιτείται περισσότερος χώρος εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14 ώστε να συγκροτούνται οι εγγραφές κρυφής μνήμης που είναι πιθανότερο να επαναχρησιμοποιηθούν. If a cache entry is loaded directly from main memory 16 into one of the first dedicated caches 8, 10, pushed to the second dedicated cache 14, and then not loaded again from this second dedicated cache 14 into one of the first exclusive caches 8, 10, then it is likely to be of little potential utility to hold that cache entry within the second exclusive cache 14. Conversely, a cache entry that is evicted from one of the first exclusive caches 8 , 10 to the second exclusive cache 14 and then loaded again from the second exclusive cache 14 into one of the first exclusive caches 8, 10 is likely to have a high probability of reuse and thus likely to be worth holding ( its non-eviction) within the second exclusive cache 14. The eviction circuit 22 therefore uses the of the retention data indicative of whether or not a cache entry has been loaded from the second exclusive cache 14 into one of the first exclusive caches 8, 10 in determining which cache entry should be selected as candidate cache entry to evict from the second dedicated cache 14 when more space is required within the second dedicated cache 14 to accommodate the cache entries that are most likely to be reused.

            Το κύκλωμα μεταφοράς των δεδομένων συγκράτησης 20 συσχετίζεται με τη δεύτερη αποκλειστική κρυφή μνήμη 14 και το φίλτρο έρευνας 18 και εξυπηρετεί στη μεταφορά των δεδομένων μεταφοράς για μια εγγραφή κρυφής μνήμης στο κύκλωμα αποθήκευσης δεδομένων συγκράτησης του φίλτρου έρευνας 18 όταν αυτή η εγγραφή κρυφής μνήμης μεταφέρεται από τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Όταν η εγγραφή κρυφής μνήμης επιστρέφεται από την πρώτη αποκλειστική κρυφή μνήμη 8, 10 συγκροτώντας αυτή την εγγραφή κρυφής μνήμης στη δεύτερη αποκλειστική κρυφή μνήμη 14, τότε το κύκλωμα μεταφοράς δεδομένων συγκράτησης εξυπηρετεί στην επιστροφή των δεδομένων συγκράτησης που σχετίζονται με αυτή την εγγραφή κρυφής μνήμης στη δεύτερη αποκλειστική κρυφή μνήμη 14 όπου αποθηκεύεται σε συσχέτιση με την εγγραφή κρυφής μνήμης 14. Το κύκλωμα μεταφοράς δεδομένων συγκράτησης 20 είναι υπεύθυνο να τη μεταφορά των δεδομένων συγκράτησης προς και από το κύκλωμα αποθήκευσης δεδομένων συγκράτησης εντός του φίλτρου έρευνας 18 καθώς οι αντίστοιχες εγγραφές κρυφής μνήμης μεταφέρονται διαμέσου της διασύνδεσης επικοινωνίας 12 προς και από μια κατάλληλη από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Όταν μια εγγραφή κρυφής μνήμης φορτώνεται απευθείας από την κύρια μνήμη 16 μέσω της διαδρομής παράκαμψης σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10, μια τιμή συγκράτησης για αυτή την εγγραφή κρυφής μνήμης ορίζεται εκείνη τη χρονική στιγμή και αποθηκεύεται από το κύκλωμα μεταφοράς δεδομένων συγκράτησης στη συσχετισμένη εγγραφή εντός του φίλτρου έρευνας για την εγγραφή κρυφής μνήμης η οποία έχει φορτωθεί στην κατάλληλη από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Σε αυτή την περίπτωση τα δεδομένα συγκράτησης δε μεταφέρονται από τη δεύτερη αποκλειστική κρυφή μνήμη 14, αλλά ορίζονται απευθείας εντός του κυκλώματος αποθήκευσης δεδομένων συγκράτησης του φίλτρου έρευνας 18. Όταν αυτή η εγγραφή κρυφής μνήμης εξωθείται από την πρώτη αποκλειστική κρυφή μνήμη 8, 10 στην οποία συγκρατείται προς τη δεύτερη αποκλειστική κρυφή μνήμη 14, τότε το κύκλωμα μεταφοράς δεδομένων συγκράτησης 20 μεταφέρει τα δεδομένα συγκράτησής του στην εγγραφή εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14. The hold data transfer circuit 20 is associated with the second dedicated cache 14 and the search filter 18 and serves to transfer the transfer data for a cache entry to the hold data storage circuit of the search filter 18 when that cache entry is transferred from the second exclusive cache 14 in one of the first exclusive caches 8, 10. When the cache entry is returned from the first exclusive cache 8, 10 by building this cache entry in the second exclusive cache 14, then the data transfer circuit retention circuit serves to return the retention data associated with this cache entry to the second dedicated cache 14 where it is stored in association with the cache entry 14. The retention data transfer circuit 20 is responsible for transferring the retention data to and from the data storage circuit retention within search filter 18 as the corresponding cache entries are transferred via communication interface 12 to and from an appropriate one of the first dedicated caches 8, 10. When a cache entry is loaded directly from main memory 16 via the bypass path to one of the first dedicated caches 8, 10, a hold value for that cache entry is set at that time and stored by the hold data transfer circuit in the associated entry within the lookup filter for the cache entry loaded in appropriate from the first exclusive caches 8, 10. In this case the hold data is not transferred from the second exclusive cache 14, but is set directly within the hold data storage circuit of the search filter 18. When this cache entry is pushed from the first dedicated cache 8, 10 in which it is held to the second dedicated cache 14 , then the hold data transfer circuit 20 transfers its hold data to the write within the second dedicated cache 14 .

            Το Σχήμα 2 είναι ένα διάγραμμα ροής το οποίο απεικονίζει σχηματικά τη διαδικασία μεταφοράς μιας εγγραφής κρυφής μνήμης από τη δεύτερη αποκλειστική κρυφή μνήμη 14 σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Στο βήμα 24 η επεξεργασία περιμένει μέχρι να υπάρξει μια εγγραφή κρυφής μνήμης για μεταφορά από τη δεύτερη αποκλειστική κρυφή μνήμη 14 στην πρώτη αποκλειστική κρυφή μνήμη 8, 10. Αυτή η συνθήκη ικανοποιείται όταν υπάρχει μια επιτυχής ανάγνωση κρυφής μνήμης εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14 μετά από μια ανεπιτυχή ανάγνωση κρυφής μνήμης εντός της κατάλληλης από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Όταν προσδιορίζεται η ανάγκη πραγματοποίησης μιας μεταφοράς στο βήμα 24, η επεξεργασία προχωρά στο βήμα 26 στο οποίο η τιμή των δεδομένων συγκράτησης για την προς μεταφορά εγγραφή κρυφής μνήμης διαβάζεται από τη δεύτερη αποκλειστική κρυφή μνήμη 14. Το βήμα 28 γράφει στη συνέχεια την τιμή των δεδομένων συγκράτησης που διαβάστηκε στο βήμα 26 στο κύκλωμα αποθήκευσης δεδομένων συγκράτησης εντός του φίλτρου έρευνας 18 και σχετίζεται με την τιμή ετικέτας που συγκρατείται από το φίλτρο έρευνας 18 το οποίο πρέπει να ιχνηλατεί την παρουσία της εγγραφής κρυφής μνήμης εντός της πρώτης αποκλειστικής κρυφής μνήμης 8, 10 στην οποία πρόκειται να μεταφερθεί. Το βήμα 30 γράφει την εγγραφή κρυφής μνήμης μέσω της διασύνδεσης επικοινωνίας 12 στην πρώτη αποκλειστική κρυφή μνήμη 8, 10. Το βήμα 32 ακυρώνει την εγγραφή κρυφής μνήμης εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14 σύμφωνα με τον αποκλειστικό τρόπο λειτουργίας αυτού του παραδείγματος υλοποίησης. Figure 2 is a flow diagram schematically illustrating the process of transferring a cache entry from the second dedicated cache 14 to one of the first dedicated caches 8, 10. At step 24 processing waits until a cache entry is available for transfer from the second exclusive cache 14 to the first exclusive cache 8, 10. This condition is satisfied when there is a successful cache read within the second exclusive cache 14 following an unsuccessful cache read within the appropriate of the first exclusive caches 8, 10. When the need to perform a transfer is determined in step 24, processing proceeds to step 26 in which the hold data value for the cache entry to be transferred is read from the second dedicated cache 14. Step 28 writes then the value of the hold data read in step 26 in the store circuit of holding data within lookup filter 18 and is associated with the tag value held by lookup filter 18 which must track the presence of the cache entry within the first dedicated cache 8, 10 to which it is to be transferred. Step 30 writes the cache write via communication interface 12 to the first dedicated cache 8, 10. Step 32 invalidates the cache write within the second dedicated cache 14 according to the exclusive mode of this example embodiment.

            Το Σχήμα 3 είναι ένα διάγραμμα ροής το οποίο απεικονίζει σχηματικά τη διαδικασία μεταφοράς μιας εγγραφής κρυφής μνήμης από μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 στη δεύτερη αποκλειστική κρυφή μνήμη 14. Το βήμα 34 περιμένει μέχρι να υπάρξει μια εγγραφή κρυφής μνήμης προς μεταφορά από μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10 στη δεύτερη αποκλειστική κρυφή μνήμη 14. Η απαίτηση μεταφοράς μιας τέτοιας εγγραφής μπορεί να προκύπτει με μια έξωση από την πρώτη αποκλειστική κρυφή μνήμη 8, 10, όπως αυτή που προκύπτει από τη χρήση ενός μηχανισμού και μιας πολιτικής έξωσης εντός της πρώτης αποκλειστικής κρυφής μνήμης 8, 10 τα οποία μπορούν να έχουν έναν αριθμό διαφορετικών μορφών, όπως η λιγότερο εύλογα χρησιμοποιούμενη (least reasonable used ή LRU), η εξυπηρέτηση εκ περιτροπής (round robin), η τυχαία, κλπ. Όταν προσδιορίζεται μια απαίτηση πραγματοποίησης μιας μεταφοράς στο βήμα 34, η επεξεργασία συνεχίζει στο βήμα 36 στο οποίο η τιμή συγκράτησης για την προς μεταφορά εγγραφή κρυφής μνήμης διαβάζεται από το κύκλωμα αποθήκευσης τιμής συγκράτησης εντός του φίλτρου έρευνας 18 χρησιμοποιώντας την τιμή ετικέτας που σχετίζεται με την προς μεταφορά εγγραφή κρυφής μνήμης για τον προσδιορισμό της κατάλληλης τιμής δεδομένων συγκράτησης εντός του φίλτρου έρευνας 18. Το βήμα 38 γράφει την προς μεταφορά εγγραφή κρυφής μνήμης μέσω της διασύνδεσης επικοινωνίας 12 από την πρώτη αποκλειστική κρυφή μνήμη 8, 10 στη δεύτερη αποκλειστική κρυφή μνήμη 14. Η εγγραφή κρυφής μνήμης μπορεί να έχει τροποποιηθεί κατά την αποθήκευσή της στην πρώτη αποκλειστική κρυφή μνήμη 8, 10. Το βήμα 40 γράφει την τιμή συγκράτησης που διαβάστηκε στο βήμα 36 στην εγγραφή κρυφής μνήμης εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14. Το βήμα 42 εξυπηρετεί στην ακύρωση της εγγραφής κρυφής μνήμης στην πρώτη αποκλειστική κρυφή μνήμη 8, 10 σύμφωνα με τον αποκλειστικό τρόπο λειτουργίας του παραδείγματος υλοποίησης που περιγράφηκε παραπάνω. Θα εκτιμηθεί ότι ο αποκλειστικός τρόπος λειτουργίας δεν είναι απαραίτητος και άλλα παραδείγματα υλοποιήσεων μπορούν να λειτουργούν μερικώς αποκλειστικά ή περιεκτικά. Figure 3 is a flow diagram schematically illustrating the process of transferring a cache entry from one of the first dedicated caches 8, 10 to the second dedicated cache 14. Step 34 waits until there is a cache entry to transfer from one of the first exclusive caches 8, 10 to the second exclusive cache 14. The requirement to transfer such a record may result from an eviction from the first exclusive cache 8, 10, such as that resulting from the use of a mechanism and eviction policy within the first dedicated cache 8, 10 which can take a number of different forms, such as least reasonably used (LRU), round robin, random, etc. When specified a request to perform a transfer in step 34, processing continues to step 36 in which the hold value for the log to be transferred cache line is read from the hold value storage circuitry within probe filter 18 using the tag value associated with the cache entry to be transferred to determine the appropriate hold data value within probe filter 18. Step 38 writes the record to be transferred cache entry via communication interface 12 from the first exclusive cache memory 8, 10 to the second exclusive cache memory 14. The cache entry may have been modified when it was stored in the first exclusive cache memory 8, 10. Step 40 writes the value hold read in step 36 in the cache write within the second dedicated cache 14. Step 42 serves to invalidate the cache write in the first dedicated cache 8, 10 in accordance with the exclusive mode of operation of the example embodiment described above. It will be appreciated that the exclusive mode of operation is not necessary and other exemplary embodiments may operate partially exclusive or inclusive.

            Το Σχήμα 4 είναι ένα διάγραμμα ροής το οποίο απεικονίζει σχηματικά τον ορισμό μιας τιμής δεδομένων συγκράτησης. Η επεξεργασία περιμένει στο βήμα 44 μέχρι να υπάρξει μια απαίτηση φόρτωσης μιας εγγραφής κρυφής μνήμης σε μια από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Μια τέτοια απαίτηση μπορεί να προκύπτει λόγω μιας ανεπιτυχούς ανάγνωσης κρυφής μνήμης εντός μιας από τις πρώτες αποκλειστικές κρυφές μνήμες 8, 10. Όταν απαιτείται μια φόρτωση, η επεξεργασία συνεχίζει στο βήμα 46 όπου πραγματοποιείται μια αναζήτηση εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14 ώστε να προσδιοριστεί κατά πόσο η εμπλεκόμενη εγγραφή κρυφής μνήμης υπάρχει ή όχι εντός της δεύτερης αποκλειστικής κρυφής μνήμης 14. Εάν υπάρχει μια επιτυχής ανάγνωση στη δεύτερη αποκλειστική κρυφή μνήμη 14, τότε η επεξεργασία συνεχίζει στο βήμα 48 στο οποίο η τιμή συγκράτησης για την εμπλεκόμενη εγγραφή κρυφής μνήμης ορίζεται ώστε να υποδηλώνει σχετική ατρωσία σε μεταγενέστερες εξώσεις από τη δεύτερη αποκλειστική κρυφή μνήμη 14. Αυτό δε σημαίνει ότι η εμπλεκόμενη εγγραφή κρυφής μνήμης δεν μπορεί να εξωθείται από τη δεύτερη αποκλειστική κρυφή μνήμη 14, αλλά ότι είναι λιγότερο πιθανή η επιλογή της για έξωση από το κύκλωμα έξωσης 22 σε σύγκριση με μια εγγραφή κρυφής μνήμης η οποία επισημαίνεται ως σχετικά ευάλωτη σε εξώσεις. Το βήμα 50 φορτώνει στη συνέχεια τη γραμμή κρυφής μνήμης από τη δεύτερη αποκλειστική κρυφή μνήμη 14 στην πρώτη αποκλειστική κρυφή μνήμη 8, 10 στην οποία συνέβη η ανεπιτυχής ανάγνωση. Ταυτόχρονα, τα δεδομένα συγκράτησης (τιμή) για την εμπλεκόμενη γραμμή κρυφής μνήμης φορτώνεται στη σχετική εγγραφή για τη γραμμή κρυφής μνήμης εντός του φίλτρου έρευνας 18. Figure 4 is a flow chart schematically illustrating the definition of a hold data value. Processing waits in step 44 until there is a request to load a cache entry into one of the first exclusive caches 8, 10. Such a request may arise due to an unsuccessful cache read within one of the first exclusive caches 8, 10. 10. When a load is required, processing continues to step 46 where a lookup is performed within the second dedicated cache 14 to determine whether or not the cache entry involved exists within the second dedicated cache 14. If there is a successful read in the second exclusive cache 14, then processing continues to step 48 in which the hold value for the cache entry involved is set to indicate relative immunity to subsequent evictions from the second exclusive cache 14. This does not mean that the cache entry involved memory cannot be pushed out of the second exclusive cache 14, but that it is less likely to be selected for eviction by eviction circuit 22 compared to a cache entry marked as relatively vulnerable to evictions. Step 50 then loads the cache line from the second dedicated cache 14 into the first dedicated cache 8, 10 in which the read failure occurred. At the same time, the hold data (value) for the cache line involved is loaded into the associated record for the cache line within the lookup filter 18.

            Εάν στο βήμα 46 προσδιορίζεται ότι υπήρξε μια ανεπιτυχής ανάγνωση στη δεύτερη αποκλειστική κρυφή μνήμη 14, τότε το βήμα 52 εξυπηρετεί στον ορισμό της τιμής συγκράτησης για την προς φόρτωση γραμμή κρυφής μνήμης ώστε να υποδηλώνει μια σχετική τρωτότητα σε εξώσεις (βλέπε προηγούμενο θέμα). Το βήμα 54 φορτώνει στη συνέχεια τη γραμμή κρυφής μνήμης από την κύρια μνήμη 16 και αποθηκεύει την τιμή συγκράτησης (δεδομένα συγκράτησης) στη σχετική εγγραφή για την εμπλεκόμενη εγγραφή κρυφής μνήμης εντός του φίλτρου έρευνας 18. If it is determined in step 46 that there has been a failed read in the second dedicated cache 14, then step 52 serves to set the hold value for the cache line to be loaded to indicate a relative vulnerability to evictions (see previous topic). Step 54 then loads the cache line from main memory 16 and stores the hold value (hold data) in the associated record for the involved cache record within lookup filter 18 .

            Το Σχήμα 5 απεικονίζει σχηματικά ένα επιπλέον παράδειγμα υλοποίησης ενός συστήματος επεξεργασίας δεδομένων 56 που ενσωματώνει τις παρούσες τεχνικές. Σε αυτό το παράδειγμα υλοποίησης, υπάρχουν πολλαπλές δεύτερες αποκλειστικές κρυφές μνήμες 58, 60. Κάθε μια από αυτές τις δεύτερες αποκλειστικές κρυφές μνήμες 58, 60 έχει συσχετισμένα φίλτρα έρευνας 62, 64, συσχετισμένο κύκλωμα έξωσης 66, 68 και συσχετισμένο κύκλωμα μεταφοράς δεδομένων συγκράτησης 70, 72. Οι δεύτερες αποκλειστικές κρυφές μνήμες 58, 60 επικοινωνούν μέσω μιας διασύνδεσης επικοινωνίας 74 με τις πρώτες αποκλειστικές κρυφές μνήμες 76, 78. Σε αυτό το παράδειγμα υλοποίησης υπάρχει μια μόνο πρώτη αποκλειστική κρυφή μνήμη 76, 78 συσχετισμένη με κάθε μια από τις δεύτερες αποκλειστικές κρυφές μνήμες 58, 60. Το κύκλωμα φίλτρου έρευνας 62, 64 εξυπηρετεί στην ιχνηλάτηση των εγγραφών εντός της πρώτης αποκλειστικής κρυφής μνήμης 76, 78 που συσχετίζονται με τη δεύτερη αποκλειστική κρυφή μνήμη 58, 60 με την οποία συνδέεται. Τα φίλτρα έρευνας 62, 64 περιλαμβάνουν κυκλώματα αποθήκευσης δεδομένων συγκράτησης για την αποθήκευση των δεδομένων συγκράτησης σε σχέση με τις εγγραφές κρυφής μνήμης που συγκρατούνται στη συσχετισμένη πρώτη αποκλειστική κρυφή μνήμη 76, 78 των αντίστοιχων δεύτερων αποκλειστικών κρυφών μνημών τους 58, 60. Το κύκλωμα μεταφοράς δεδομένων συγκράτησης 70, 72 εξυπηρετεί στη μεταφορά των δεδομένων συγκράτησης μεταξύ της δεύτερης αποκλειστικής κρυφής μνήμης 58, 60 και του φίλτρου έρευνας 62, 64 καθώς η αντίστοιχη εγγραφή κρυφής μνήμης μεταφέρεται διαμέσου της διασύνδεσης επικοινωνίας 74 προς και από την πρώτη αποκλειστική κρυφή μνήμη 76, 78. Figure 5 schematically illustrates an additional exemplary embodiment of a data processing system 56 incorporating the present techniques. In this example embodiment, there are multiple second dedicated caches 58, 60. Each of these second dedicated caches 58, 60 has associated search filters 62, 64, associated eviction circuitry 66, 68, and associated hold data transfer circuitry 70, 72. The second dedicated caches 58, 60 communicate via a communication interface 74 with the first dedicated caches 76, 78. In this example embodiment there is a single first dedicated cache 76, 78 associated with each of the second dedicated caches memories 58, 60. The lookup filter circuit 62, 64 serves to track entries within the first dedicated cache 76, 78 that are associated with the second dedicated cache 58, 60 with which it is connected. The search filters 62, 64 include hold data storage circuits for storing the hold data relative to the cache entries held in the associated first dedicated caches 76, 78 of their respective second dedicated caches 58, 60. The data transfer circuit hold 70, 72 serves to transfer the hold data between the second dedicated cache 58, 60 and the search filter 62, 64 as the corresponding cache entry is transferred via the communication interface 74 to and from the first dedicated cache 76, 78.

Claims (10)

ΑΞΙΩΣΕΙΣ 1.         Διάταξη για την επεξεργασία δεδομένων η οποία περιλαμβάνει:1. Arrangement for data processing which includes:             μια πρώτη κρυφή μνήμη,a first cache,             μια δεύτερη κρυφή μνήμη, με την εν λόγω πρώτη κρυφή μνήμη να επικοινωνεί με την εν λόγω δεύτερη κρυφή μνήμη μέσω μιας διασύνδεσης επικοινωνίας,a second cache, said first cache communicating with said second cache via a communication interface;             ένα φίλτρο έρευνας που βρίσκεται μαζί με την εν λόγω δεύτερη κρυφή μνήμη στη μια πλευρά της εν λόγω διασύνδεσης επικοινωνίας και το οποίο εξυπηρετεί στην ιχνηλάτηση των εγγραφών κρυφής μνήμης που αποθηκεύονται στην εν λόγω πρώτη κρυφή μνήμη σε μια άλλη πλευρά της εν λόγω διασύνδεσης επικοινωνίας, με το εν λόγω φίλτρο έρευνας να περιλαμβάνει ένα κύκλωμα αποθήκευσης δεδομένων συγκράτησης για την αποθήκευση των δεδομένων συγκράτησης για τον έλεγχο της συγκράτησης των εγγραφών κρυφής μνήμης εντός τουλάχιστον της εν λόγω δεύτερης κρυφής μνήμης, καιa search filter co-located with said second cache on one side of said communication interface and serving to track cache entries stored in said first cache on another side of said communication interface, with said search filter including a retention data storage circuit for storing retention data for controlling retention of cache entries within at least said second cache, and             κύκλωμα μεταφοράς δεδομένων συγκράτησηςhold data transfer circuit                           για τη μεταφορά δεδομένων συγκράτησης για μια εγγραφή κρυφής μνήμης από την εν λόγω δεύτερη κρυφή μνήμη στο εν λόγω κύκλωμα αποθήκευσης δεδομένων συγκράτησης όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από την ενfor transferring hold data for a cache entry from said second cache to said hold data storage circuit when said cache entry is transferred from said λόγω δεύτερη κρυφή μνήμη στην εν λόγω πρώτη κρυφή μνήμη, καιdue second cache to said first cache, and                           για τη μεταφορά των εν λόγω δεδομένων συγκράτησης για την εν λόγω εγγραφή κρυφής μνήμης από το κύκλωμα αποθήκευσης δεδομένων συγκράτησης στην εν λόγω δεύτερη κρυφή μνήμη όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από την εν λόγω πρώτη κρυφή μνήμη στην εν λόγω δεύτερη κρυφή μνήμη.for transferring said hold data for said cache entry from said hold data storage circuit to said second cache when said cache entry is transferred from said first cache to said second cache. 2.         Διάταξη όπως αξιώνεται στην αξίωση 1, όπου το εν λόγω φίλτρο έρευνας περιλαμβάνει ένα κύκλωμα αποθήκευσης δεδομένων ετικέτας για την αποθήκευση ενός πλήθους ετικετών δεδομένων ενδεικτικών των διευθύνσεων μνήμης των αντίστοιχων από τις εν λόγω εγγραφές κρυφής μνήμης που αποθηκεύονται εντός της εν λόγω πρώτης κρυφής μνήμης και των εν λόγω δεδομένων συγκράτησης για αντίστοιχες των εν λόγω εγγραφών κρυφής μνήμης που είναι αποθηκευμένες εντός της εν λόγω πρώτης κρυφής μνήμης και συσχετίζονται με αντίστοιχες ετικέτες δεδομένων.2. An arrangement as claimed in claim 1, wherein said search filter includes a tag data storage circuit for storing a plurality of data tags indicative of the memory addresses of the corresponding ones of said cache entries stored within said first cache memory and said retention data for corresponding said cache entries stored within said first cache and associated with corresponding data tags. 3.         Διάταξη όπως αξιώνεται σε οποιαδήποτε από τις αξιώσεις 1 και 2, η οποία περιλαμβάνει κύκλωμα έξωσης για την έξωση των εγγραφών κρυφής μνήμης από την εν λόγω δεύτερη κρυφή μνήμη, όπου το εν λόγω κύκλωμα έξωσης επιλέγει μια υποψήφια εγγραφή κρυφής μνήμης προς έξωση από την εν λόγω δεύτερη κρυφή μνήμη σε εξάρτηση από τα εν λόγω δεδομένα συγκράτησης για τις εν λόγω εγγραφές κρυφής μνήμης που αποθηκεύονται στην εν λόγω δεύτερη κρυφή μνήμη.3. An arrangement as claimed in any of claims 1 and 2, comprising evicting circuitry for evicting cache entries from said second cache, wherein said evicting circuit selects a candidate cache entry to evict from said said second cache dependent on said retention data for said cache entries stored in said second cache. 4.         Διάταξη όπως αξιώνεται σε οποιαδήποτε από τις αξιώσεις 1, 2 και 3, όπου το εν λόγω φίλτρο έρευνας περιλαμβάνει κύκλωμα αποθήκευσης δεδομένων συμφωνίας για την αποθήκευση των δεδομένων συμφωνίας για την ιχνηλάτη ση της κατάστασης συμφωνίας των εν λόγω εγγραφών κρυφής μνήμης που αποθηκεύονται στην εν λόγω πρώτη κρυφή μνήμη.4. An arrangement as claimed in any one of claims 1, 2 and 3, wherein said search filter includes agreement data storage circuitry for storing agreement data for tracking the agreement status of said cache entries stored in said due first cache. 5.         Διάταξη όπως αξιώνεται σε οποιαδήποτε από τις προηγούμενες αξιώσεις, όπου τα εν λόγω δεδομένα συγκράτησης είναι ενδεικτικά κατά πόσο μια εγγραφή κρυφής μνήμης έχει φορτωθεί από την εν λόγω δεύτερη κρυφή μνήμη στην εν λόγω πρώτη κρυφή μνήμη.5. An arrangement as claimed in any of the preceding claims, wherein said retention data is indicative of whether a cache entry has been loaded from said second cache into said first cache. 6.         Διάταξη όπως αξιώνεται σε οποιαδήποτε από τις προηγούμενες αξιώσεις, όπου, όταν μια δεδομένη εγγραφή κρυφής μνήμης φορτώνεται από μια κύρια μνήμη στην εν λόγω πρώτη κρυφή μνήμη παρακάμπτοντας το χώρο αποθήκευσης στην εν λόγω δεύτερη κρυφή μνήμη, η εν λόγω τιμή δεδομένων συγκράτησης για την εν λόγω δεδομένη εγγραφή κρυφής μνήμης ορίζεται εντός του εν λόγω κυκλώματος αποθήκευσης δεδομένων συγκράτησης.6. An arrangement as claimed in any of the preceding claims, wherein when a given cache entry is loaded from a main memory into said first cache bypassing storage in said second cache, said hold data value for said given cache entry is defined within said hold data storage circuit. 7.         Διάταξη όπως αξιώνεται σε οποιαδήποτε από τις προηγούμενες αξιώσεις, η οποία περιλαμβάνει μια ιεραρχία κρυφής μνήμης που περιλαμβάνει την εν λόγω δεύτερη κρυφή μνήμη και ένα πλήθος πρώτων κρυφών μνημών, όπου το εν λόγω φίλτρο έρευνας ιχνηλατεί τις εγγραφές κρυφής μνήμης που αποθηκεύονται στο εν λόγω πλήθος πρώτων κρυφών μνημών και το εν λόγω κύκλωμα αποθήκευσης δεδομένων συγκράτησης αποθηκεύει τα δεδομένα συγκράτησης για τις εγγραφές κρυφής μνήμης που αποθηκεύονται εντός του εν λόγω πλήθους πρώτων κρυφών μνημών.7. An arrangement as claimed in any of the preceding claims, comprising a cache hierarchy comprising said second cache and a plurality of first caches, wherein said search filter tracks cache entries stored in said a plurality of first caches, and said retention data storage circuit stores the retention data for the cache entries stored within said plurality of first caches. 8.         Διάταξη όπως αξιώνεται σε οποιαδήποτε από τις προηγούμενες αξιώσεις, όπου η εν λόγω πρώτη κρυφή μνήμη είναι μια πρώτη αποκλειστική κρυφή μνήμη.8. An arrangement as claimed in any of the preceding claims, wherein said first cache is a first dedicated cache. 9.         Διάταξη όπως αξιώνεται σε οποιαδήποτε από τις προηγούμενες αξιώσεις, όπου η εν λόγω δεύτερη κρυφή μνήμη είναι μια δεύτερη αποκλειστική κρυφή μνήμη.9.         An arrangement as claimed in any of the preceding claims, wherein said second cache is a second dedicated cache.  10. Διάταξη για την επεξεργασία δεδομένων η οποία περιλαμβάνει:10. Provision for data processing which includes:             μέσα  πρώτης κρυφής μνήμης για την αποθήκευση εγγραφών κρυφής μνήμης, first cache media for storing cache records,             μέσα δεύτερης κρυφής μνήμης για την αποθήκευση εγγραφών κρυφής μνήμης, με τα εν λόγω μέσα πρώτης κρυφής μνήμης να επικοινωνούν με τα εν λόγω μέσα δεύτερης κρυφής μνήμης μέσω μιας διασύνδεσης επικοινωνίας,second cache means for storing cache entries, said first cache means communicating with said second cache means via a communication interface;             μέσα φίλτρου έρευνας για την πραγματοποίηση χειρισμών έρευνας κρυφής μνήμης και τα οποία βρίσκονται μαζί με τα εν λόγω μέσα δεύτερης κρυφής μνήμης στη μια πλευρά της εν λόγω διασύνδεσης επικοινωνίας και τα οποία εξυπηρετούν στην ιχνηλάτηση των εγγραφών κρυφής μνήμης που αποθηκεύονται στα εν λόγω μέσα πρώτης κρυφής μνήμης σε μια άλλη πλευρά της εν λόγω διασύνδεσης επικοινωνίας, με τα εν λόγω μέσα φίλτρου έρευνας να περιλαμβάνουν μέσα αποθήκευσης δεδομένων συγκράτησης για την αποθήκευση των δεδομένων συγκράτησης για τον έλεγχο συγκράτησης των εγγραφών κρυφής μνήμης εντός τουλάχιστον των εν λόγω μέσων δεύτερης κρυφής μνήμης, καιprobe filter means for performing cache probe operations and located together with said second cache means on one side of said communication interface and serving to track cache entries stored in said first cache means on another side of said communication interface, said probe filter means including retention data storage means for storing retention data for checking retention of cache entries within at least said second cache means, and             μέσα μεταφοράς δεδομένων συγκράτησηςretention data carriers                           για τη μεταφορά δεδομένων συγκράτησης για μια εγγραφή κρυφής μνήμης από τα εν λόγω μέσα δεύτερης κρυφής μνήμης στα εν λόγω μέσα αποθήκευσης δεδομένων συγκράτησης όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από τα εν λόγω μέσα δεύτερης κρυφής μνήμης στα εν λόγω μέσα πρώτης κρυφής μνήμης, και για τη μεταφορά των εν λόγω δεδομένων συγκράτησης για την εν λόγω εγγραφή κρυφής μνήμης από τα μέσα αποθήκευσης δεδομένων συγκράτησης στα εν λόγω μέσα δεύτερης κρυφής μνήμης όταν η εν λόγω εγγραφή κρυφής μνήμης μεταφέρεται από τα εν λόγω μέσα πρώτης κρυφής μνήμης στα εν λόγω μέσα δεύτερης κρυφής μνήμης.for transferring retention data for a cache entry from said second cache media to said retention data storage media when said cache entry is transferred from said second cache media to said first cache media, and for transferring said retention data for said cache entry from said retention data storage media to said second cache media when said cache entry is transferred from said first cache media to said second cache media memory.
GR20170200042U 2016-09-01 2016-09-01 Retention data rocessing via cache memory GR20170200042U (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GR20170200042U GR20170200042U (en) 2016-09-01 2016-09-01 Retention data rocessing via cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GR20170200042U GR20170200042U (en) 2016-09-01 2016-09-01 Retention data rocessing via cache memory

Publications (1)

Publication Number Publication Date
GR20170200042U true GR20170200042U (en) 2018-05-18

Family

ID=62488859

Family Applications (1)

Application Number Title Priority Date Filing Date
GR20170200042U GR20170200042U (en) 2016-09-01 2016-09-01 Retention data rocessing via cache memory

Country Status (1)

Country Link
GR (1) GR20170200042U (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194716B2 (en) 2020-04-06 2021-12-07 International Business Machines Corporation Intelligent cache preloading

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194716B2 (en) 2020-04-06 2021-12-07 International Business Machines Corporation Intelligent cache preloading

Similar Documents

Publication Publication Date Title
US7305522B2 (en) Victim cache using direct intervention
US7305523B2 (en) Cache memory direct intervention
US7669010B2 (en) Prefetch miss indicator for cache coherence directory misses on external caches
US10402327B2 (en) Network-aware cache coherence protocol enhancement
US7478197B2 (en) Adaptive mechanisms for supplying volatile data copies in multiprocessor systems
US6088769A (en) Multiprocessor cache coherence directed by combined local and global tables
US20040083341A1 (en) Weighted cache line replacement
US6662276B2 (en) Storing directory information for non uniform memory architecture systems using processor cache
GB2543745A (en) An apparatus and method for operating a virtually indexed physically tagged cache
US10725923B1 (en) Cache access detection and prediction
WO2015075673A4 (en) Systems and methods for reducing first level cache energy by eliminating cache address tags
US9298624B2 (en) Systems and methods for cache coherence protocol
US20110320720A1 (en) Cache Line Replacement In A Symmetric Multiprocessing Computer
US10423534B2 (en) Cache memory
US20200409867A1 (en) Dataless cache entry
US7383398B2 (en) Preselecting E/M line replacement technique for a snoop filter
WO2019152479A1 (en) Memory structure based coherency directory cache
KR100851738B1 (en) Reverse directory for facilitating accesses involving a lower-level cache
US8041898B2 (en) Method, system and apparatus for reducing memory traffic in a distributed memory system
GR20170200042U (en) Retention data rocessing via cache memory
US11200177B2 (en) Cache retention data management
US20210397560A1 (en) Cache stashing system
JP2022526041A (en) Snoop filter device
US7519778B2 (en) System and method for cache coherence
US20240045805A1 (en) Core-aware caching systems and methods for multicore processors