Αρχιτεκτονική Υπολογιστών - Κεφάλαιο 4 - Ενότητα 2 - Yποενότητα 4
Κεφάλαιο 4 | Ενότητα 2 | Ερωτήσεις επισκόπησης | Προηγούμενο | Επόμενο| Λεξικό όρων

Η λειτουργία της τοποθέτησης και της αντικατάστασης

  Η λειτουργία της τοποθέτησης

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

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

  2. Ταυτόχρονα ενημερώνεται το πεδίο ετικέτας του μπλοκ της κρυφής μνήμης από το αντίστοιχο πεδίο του μπλοκ της κύριας μνήμης που μεταφέρεται και τίθεται η τιμή του ψηφίου εγκυρότητας (V=1).

  Η λειτουργία της αντικατάστασης

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

  1. Επιλογή του προς αντικατάσταση μπλοκ

    Η επιλογή του μπλοκ της κρυφής μνήμης που θα αντικατασταθεί εξαρτάται από το είδος της κρυφής μνήμης. Συγκεκριμένα:

    • Αν η κρυφή μνήμη είναι άμεσης αντιστοίχησης τότε το μπλοκ της κύριας μνήμης αντιστοιχείται μόνο σε ένα μπλοκ της κρυφής μνήμης

    • Αν η κρυφή μνήμη είναι πλήρως συσχετιστική ή συνολο-συσχετιστική τότε υπάρχουν πολλά μπλοκ που μπορούν να επιλεγούν για αντικατάσταση. Στην περίπτωση αυτή οι τεχνικές αντικατάστασης είναι οι ακόλουθες:

      1. Τυχαία (Random): Τα υποψήφια μπλοκ επιλέγονται τυχαία για να έχουμε όσο το δυνατό ομοιόμορφη κατανομή.

      2. Λιγότερο πρόσφατα χρησιμοποιημένο (LRU - Least Recently Used): Αντικαθίσταται κάθε φορά το μπλοκ που έχει το μεγαλύτερο χρόνο παραμονής στην κρυφή μνήμη χωρίς να γίνει αίτηση του επεξεργαστή σε αυτό, για ανάγνωση ή εγγραφή.

      3. Πρώτη Μέσα Πρώτη Έξω (FIFO - First In First Out): Η αντικατάσταση γίνεται με βάση το χρόνο παραμονής. Δηλαδή αντικαθίσταται το μπλοκ που έχει το μεγαλύτερο χρόνο παραμονής στην κρυφή μνήμη. Ουσιαστικά η τεχνική FIFO αντικαθιστά τα μπλοκ της κρυφής μνήμης διαδοχικά με τη σειρά σύμφωνα με τη φυσική τους θέση.

  2. Ακολουθούν τα βήματα της τοποθέτησης (όπως έχουν ήδη παρουσιαστεί)

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

ΠαράδειγμαΠαράδειγμα 1o

ΠαράδειγμαΠαράδειγμα 2o

ΠαράδειγμαΠαράδειγμα 3o

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 8

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