Για να μειωθεί ο ρυθμός αποτυχίας των προσβάσεων στην κρυφή μνήμη, θα πρέπει να αναζητηθούν οι αιτίες που τις προκαλούν. Οι αποτυχίες στην κρυφή μνήμη χωρίζονται σε τρεις κατηγορίες, ανάλογα με την αιτία δημιουργίας τους:
- Αναγκαστικές ή αποτυχίες κρύας αρχής ή αποτυχίες πρώτης αναφοράς: Η κρυφή μνήμη αρχικά είναι κενή, οπότε η πρώτη πρόσβαση σε αυτήν θα είναι αναγκαστικά ανεπιτυχής, αφού το μπλοκ δε βρίσκεται στη κρυφή μνήμη, και πρέπει να μεταφερθεί σε αυτή.
- Χωρητικότητας: Αν η κρυφή μνήμη δεν μπορεί να συμπεριλάβει όλα τα μπλοκ που χρειάζονται κατά τη διάρκεια της εκτέλεσης ενός προγράμματος, τότε έχουμε αποτυχίες χωρητικότητας. Αυτό συμβαίνει όταν ζητάμε κάποια μπλοκ το οποία δεν μεταφέρθηκαν στην κρυφή μνήμη ή αντικατεστάθηκαν και δε βρίσκονται πια στην κρυφή μνήμη.
- Σύγκρουσης ή αποτυχίες θραύσης ή αποτυχίες παρεμβολής: Αν η στρατηγική τοποθέτησης μπλοκ είναι συνολο-συσχετιστική ή άμεσης αντιστοίχησης, αποτυχίες σύγκρουσης θα συμβούν, επειδή ένα μπλοκ μπορεί να αποβληθεί και μετά να ανακτηθεί αν πολλά μπλοκ απεικονίζονται στο σύνολό του.
Οι αποτυχίες σύγκρουσης επιπλέον διακρίνονται σε 4 είδη αποτυχίων ανάλογα με τη μείωση της συσχετιστικότητας. Πιο συγκεκριμένα οι διακρίσεις αυτές είναι:
- 8-δρόμων: οι αποτυχίες σύγκρουσης οφείλονται στη μετάβαση από την πλήρως συσχετιστική (δεν έχω καμία σύγκρουση) στην 8-δρόμων συσχετιστική.
- 4-δρόμων: οι αποτυχίες σύγκρουσης οφείλονται στη μετάβαση από την 8-δρόμων συσχετιστική στην 4-δρόμων συσχετιστική.
- 2-δρόμων: οι αποτυχίες σύγκρουσης οφείλονται στη μετάβαση από την 4-δρόμων συσχετιστική στην 2-δρόμων συσχετιστική
- 1-δρόμων: οι αποτυχίες σύγκρουσης οφείλονται στη μετάβαση από την 2-δρόμων συσχετιστική στην 1-δρόμου συσχετιστική (άμεσης αντιστοίχησης).
Η πλήρως συσχετιστική τοποθέτηση αποφεύγει όλες τις αποτυχίες σύγκρουσης, είναι ακριβή στο υλικό, μπορεί να επιβραδύνει τον ρυθμό του ρολογιού του επεξεργαστή και οδηγεί σε χαμηλότερη ολική απόδοση.
Υπάρχουν λίγα πράγματα που μπορούμε να κάνουμε για τη χωρητικότητα, εκτός απ' το να μεγαλώσουμε την κρυφή μνήμη. Κάνοντας τα μπλοκ μεγαλύτερα, μειώνεται το πλήθος των αναγκαστικών αποτυχιών, επειδή μειώνεται και ο συνολικός αριθμός των μπλοκ που χωράνε στη μνήμη, αλλά μεγαλύτερα μπλοκ μπορούν να αυξήσουν άλλων ειδών αποτυχίες.
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 3
Να κατηγοριοποιήσετε τις αποτυχίες της κρυφής μνήμης ανάλογα με την αιτία δημιουργίας τους. Να συγκρίνετε την απάντησή σας με την παράγραφο που μόλις διαβάσατε: «Η μείωση των αποτυχιών της κρυφής μνήμης».