An invalidation buffer is associated with each cache wherein either
multiple processors and/or multiple caches maintain cache coherency.
Rather than to decode the addresses and interrogate the cache directory to
determine if data requested by an incoming command is in a cache, the
invalidation buffer is quickly checked to determine if the data associated
with the requested data has been recently invalidated. If so and if the
command is not intended to replace the recently invalidated data, then the
tag and data array of the cache are immediately bypassed to save precious
processor time. If lower level caches maintain the same cache coherency
and are accessed only through an adjacent cache, then those lower level
caches may also be bypassed and a cache miss can be directed immediately
to memory. In a multiprocessor system, such as NUMA, COMA, SMP, where
other processors may access different cache levels independent of the
adjacent cache level, then each invalidation buffer is checked. If the
data is not in the invalidation buffer, a speculative cache hit can be
generated and transferred to the requesting processor or upper level cache
for earlier processing or to reserve a cache block, respectively.
Ένας απομονωτής ακύρωσης συνδέεται με κάθε κρύπτη όπου είτε οι πολλαπλάσιοι επεξεργαστές ή/και οι πολλαπλάσιες κρύπτες διατηρούν τη συνοχή κρύπτης. Παρά για να αποκωδικοποιήσει τις διευθύνσεις και να ρωτήσει τον κατάλογο κρύπτης για να καθορίσει εάν το στοιχείο που ζητείται από μια εισερχόμενη εντολή είναι σε μια κρύπτη, ο απομονωτής ακύρωσης ελέγχεται γρήγορα για να καθορίσει εάν το στοιχείο που συνδέεται με τα ζητούμενα στοιχεία έχει ακυρωθεί πρόσφατα. Σε αυτή την περίπτωση και εάν η εντολή δεν προορίζεται να αντικαταστήσει τα πρόσφατα ακυρωμένα στοιχεία, κατόπιν η σειρά ετικεττών και στοιχείων της κρύπτης παρακάμπτεται αμέσως για να κερδίσει πολύτιμο χρόνο επεξεργαστών. Εάν οι χαμηλότερες κρύπτες επιπέδων διατηρούν την ίδια συνοχή κρύπτης και προσεγγίζονται μόνο μέσω μιας παρακείμενης κρύπτης, κατόπιν εκείνες οι χαμηλότερες κρύπτες επιπέδων μπορούν επίσης να παρακαμφθούν και μια δεσποινίδα κρύπτης μπορεί να κατευθυνθεί αμέσως στη μνήμη. Σε ένα σύστημα πολυεπεξεργαστών, όπως NUMA, COMA, η SMP, όπου άλλοι επεξεργαστές μπορούν να έχουν πρόσβαση στο διαφορετικό ανεξάρτητο επιπέδων κρύπτης του παρακείμενου επιπέδου κρύπτης, κατόπιν κάθε απομονωτής ακύρωσης ελέγχονται. Εάν το στοιχείο δεν είναι στον απομονωτή ακύρωσης, ένα θεωρητικό χτύπημα κρύπτης μπορεί να παραχθεί και μεταφεμένος στο ζητώντας επεξεργαστή ή την ανώτερη κρύπτη επιπέδων για την προηγούμενη επεξεργασία ή να διατηρήσει έναν φραγμό κρύπτης, αντίστοιχα.