Πίσω

Δραστηριότητα 6

Έστω κύρια μνήμη μεγέθους 64 KB και είναι διευθυνσιοδοτημένη κατά byte. Η κρυφή μνήμη είναι μεγέθους 1ΚB και το κάθε μπλοκ έχει μέγεθος 1byte. Να προσδιορίσετε τον αριθμό των διευθύνσεων της κύριας μνήμης που αντιστοιχούν στο ίδιο μπλοκ/σύνολο της κρυφής μνήμης, ανάλογα με την οργάνωση της κρυφής μνήμης (να εξετάσετε τις περιπτώσεις i, ii, iii και iv), όπου:

  1. κρυφή μνήμη άμεσης αντιστοίχησης,
  2. σύνολο-συσχετιστική κρυφή μνήμη 2 δρόμων,
  3. σύνολο-συσχετιστική κρυφή μνήμη 4 δρόμων και
  4. πλήρως συσχετιστική κρυφή μνήμη.


Απάντηση δραστηριότητας 6

Κάθε μπλοκ της κρυφής μνήμης έχει μέγεθος 1 byte και η κρυφή μνήμη 1ΚΒ ή 1024 bytes, οπότε στην κρυφή μνήμη περιέχονται m=1024 μπλοκ. Η κύρια μνήμη έχει μέγεθος 64ΚΒ, οπότε: 64KB = 64*1024 bytes = 65536 bytes.
Επομένως, η κύρια μνήμη περιέχει 65536 διευθύνσεις του 1 byte.
Προκειμένου να προσδιορίσουμε τον αριθμό των διευθύνσεων της κύριας μνήμης που αντιστοιχούν στην ίδια διεύθυνση της κρυφής μνήμης, λαμβάνουμε υπόψη μας την οργάνωση της κρυφής μνήμης. Επομένως για κάθε οργάνωση έχουμε:

  1. Σύμφωνα με την άμεση αντιστοίχηση, κάθε διεύθυνση της κύριας μνήμης μπορεί να αντιστοιχηθεί σε ένα συγκεκριμένο μπλοκ από τα 1024 της κρυφής μνήμης. Οπότε στο ίδιο μπλοκ της κρυφής μνήμης αντιστοιχούν 65536 / 1024 = 64 διευθύνσεις της κύριας μνήμης.

    Γενικά σε μία κρυφή μνήμη με m συνολικά μπλοκ, η σύνολο συσχετιστική κρυφή μνήμη k δρόμων, περιέχει k μπλοκ σε κάθε σύνολο και m/k σύνολα. Έτσι έχουμε:
  2. Στην σύνολο συσχετιστική κρυφή μνήμη 2 δρόμων με 1024 συνολικά μπλοκ, περιέχονται 1024 / 2 = 512 σύνολα. Οπότε στο ίδιο σύνολο της κρυφής μνήμης αντιστοιχούν 65536 / 512 = 128 διευθύνσεις της κύριας μνήμης. Ωστόσο κάθε διεύθυνση μπορεί να αντιστοιχηθεί σε ένα από τα 2 μπλοκ ενός συνόλου.
  3. Στην σύνολο συσχετιστική κρυφή μνήμη 4 δρόμων με 1024 συνολικά μπλοκ, περιέχονται 1024 / 4 = 256 σύνολα. Οπότε στο ίδιο σύνολο της κρυφής μνήμης αντιστοιχούν 65536 / 256 = 256 διευθύνσεις της κύριας μνήμης. Ωστόσο κάθε διεύθυνση μπορεί να αντιστοιχηθεί σε ένα από τα 4 μπλοκ ενός συνόλου.
  4. Στην πλήρως συσχετιστική αντιστοίχηση, κάθε διεύθυνση της κύριας μνήμης μπορεί να αντιστοιχηθεί σε οποιοδήποτε από τα 1024 μπλοκ του ενός συνόλου της κρυφής μνήμης. Οπότε στο ένα σύνολο της κρυφής μνήμης αντιστοιχούν 65536 / 1 = 65536 διευθύνσεις της κύριας μνήμης. Ωστόσο κάθε διεύθυνση μπορεί να αντιστοιχηθεί σε οποιοδήποτε από τα 1024 μπλοκ του συνόλου.