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

Η λειτουργία του εντοπισμού

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

  1. Τμηματοποίηση
  2. Η ζητούμενη διεύθυνση της κύριας μνήμης χωρίζεται σε τμήματα αρχίζοντας από το λιγότερο σημαντικό bit της διεύθυνσης.

    1. Αρχικά χωρίζεται το τμήμα της μετατόπισης το οποίο χρησιμοποιείται μόνο σε περίπτωση επιτυχίας για την επιλογή του περιεχομένου της αντίστοιχης διεύθυνσης μέσα από το μπλοκ π.χ για την επιλογή του 5ου byte μέσα από ένα μπλοκ με μέγεθος 8 byte. Ο αριθμός των bit που αποτελούν αυτό το πεδίο εξαρτάται από το μέγεθος του μπλοκ.

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

    2. Στη συνέχεια χωρίζεται το τμήμα δείκτη το οποίο χρησιμοποιείται για την επιλογή του συνόλου(ή του μπλοκ) της κρυφής μνήμης που περιέχει τα μπλοκ που πρέπει να ελεγχθούν. Το μέγεθος του πεδίου αυτού εξαρτάται από τον αριθμό των συνόλων/μπλοκ της κρυφής μνήμης.

    3. Τα υπόλοιπα πλέον σημαντικά ψηφία της διεύθυνσης αποτελούν το τμήμα ετικέτας.

  3. Επιλογή του συνόλου ή του μπλοκ
  4. Από το πεδίο δείκτη υπολογίζεται το σύνολο ή το μπλοκ της κρυφής μνήμης.

  5. Σύγκριση

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

Ταυτόχρονα με τον έλεγχο του πεδίου ετικέτας ενός μπλοκ ελέγχεται και το πεδίο εγκυρότητας του

  Αποτέλεσμα εντοπισμού

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

Παράδειγμα στον ΕντοπισμόΠαράδειγμα

Υποθέτουμε ότι διαθέτομε ένα υπολογιστή με τα παρακάτω στοιχεία: η κύρια μνήμη έχει μέγεθος 1 ΜΒ (220 bytes), η κρυφή μνήμη έχει μέγεθος 1 KB (210) και το μέγεθος των μπλοκ που περιέχει, είναι 8 bytes (23 bytes). Αυτό σημαίνει ότι οι διευθύνσεις της κύριας μνήμης έχουν μήκος 20 bit. Η κρυφή μνήμη αποτελείται από 210/23 = 27 (128) μπλοκ. Να προσδιορίσετε τα βήματα του εντοπισμού για κάθε μία από τις παρακάτω οργανώσεις της κρυφής μνήμης, για αίτηση του επεξεργαστή από τη διεύθυνση κύριας μνήμης (5F012)16.

Απάντηση

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

* Να απαριθμήσετε τα βήματα τα οποία εκτελούνται στη λειτουργία εντοπισμού αν έχουμε:
    α) Κρυφή μνήμη άμεσης αντιστοίχησης και το μέγεθος μπλοκ της κρυφής μνήμης είναι 32 bytes.
    β) Κρυφή μνήμη συνολο-συσχετιστικής αντιστοίχησης (2-δρόμων) και το μέγεθος μπλοκ της κρυφής μνήμης είναι 16 bytes.
* Να χρησιμοποιήσετε το πρόγραμμα προσομοίωσης της κρυφής μνήμης που υπάρχει στην διεύθυνση:

http://hermes.di.uoa.gr/cache-simulation/simulation.html
και να καταγράψετε την ακολουθία των λειτουργιών που εκτελούνται. Να συγκρίνετε την παραπάνω ακολουθία των λειτουργιών με τις δικές σας απαντήσεις.

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 7