Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

Διαφύλλωση μνήμης

Στο παράδειγμα της προηγούμενης παραγράφου, είδαμε ότι οι γειτονικές διευθύνσεις μνήμης αποθηκεύονται στην ίδια ψηφίδα. Μπορούμε όμως να αντιστοιχίσουμε γειτονικές διευθύνσεις μνήμης σε διαφορετικές ψηφίδες με τέτοιο τρόπο, ώστε, υπό ορισμένες προϋποθέσεις, να μειωθεί ο μέσος χρόνος που απαιτείται για μια αναφορά στη μνήμη.

Η τεχνική κατά την οποία η απεικόνιση γειτονικών θέσεων του χώρου μνήμης γίνεται σε διαφορετικές ψηφίδες, αναφέρεται ως διαφύλλωση μνήμης (memory interleaving).

Θέλουμε να συνδυάσουμε 4 ψηφίδες μνήμης (Μ0, Μ1, Μ2 και Μ3), διαστάσεων 512x8 bits η κάθε μια, για τη δημιουργία ενός συστήματος μνήμης 2Κ (=2048) λέξεων.

Κάθε μια από τις ψηφίδες Μ τοποθετεί σε ένα εσωτερικό της καταχωρητή, τον καταχωρητή δεδομένων εξόδου (Data Register, DR) το περιεχόμενο της λέξης που υποδεικνύεται από την τιμή των γραμμών διευθύνσεών της. Το περιεχόμενο του καταχωρητή DR μεταφέρεται στις γραμμές δεδομένων του συστήματος μόνον όταν ενεργοποιηθεί η αντίστοιχη είσοδος επιλογής CS.

Με τη συνδεσμολογία του σχήματος, η διεύθυνση Ο αποθηκεύεται στη λέξη Ο της μνήμης Μ0, η διεύθυνση 1 αποθηκεύεται στη λέξη Ο της μνήμης Μ1, η διεύθυνση 2 αποθηκεύεται στη λέξη Ο της μνήμης Μ2 και η διεύθυνση 3 αποθηκεύεται στη λέξη Ο της μνήμης Μ3. Ανάλογα, προκύπτει ότι διεύθυνση 4 αποθηκεύεται στη θέση 1 της μνήμης Μ0 κ.ο.κ.

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

Για παράδειγμα, όταν ζητηθεί η ανάγνωση από τη διεύθυνση 5 (00000000101), αυτή η λέξη θα δοθεί από τη μνήμη Μ1, μέσω του DR1. Ταυτόχρονα όμως, θα διαβαστούν και οι γειτονικές της διευθύνσεις 4, 6 και 7. Τα περιεχόμενα των διευθύνσεων αυτών θα παραμείνουν στους καταχωρητές DR0, DR2 και DR3, αντίστοιχα. Έτσι, εάν τύχει η επόμενη αναφορά μνήμης να είναι για ανάγνωση από κάποια από τις διευθύνσεις 4, 5, 6 ή 7, τότε αυτή η λέξη διαβάζεται απευθείας από τον αντίστοιχο καταχωρητή DR, χωρίς την καθυστέρηση που απαιτείται για την μεταφορά της λέξης από το εσωτερικό της μνήμης στον καταχωρητή DR. Δεδομένου ότι οι περισσότερες αναφορές στη μνήμη ακολουθούν την ιδιότητα της τοπικότητας της αναφοράς, και επειδή η πλειοψηφία των αναφορών στη μνήμη γίνεται για ανάγνωση δεδομένων, παρατηρείται σημαντική βελτίωση του μέσου χρόνου προσπέλασης της μνήμης με τη χρήση της διαφύλλωσης.

Στην περίπτωση του παραδείγματος μας έχουμε διαφύλλωση 4 δρόμων (4-way interleaving), επειδή γίνεται ταυτόχρονη ανάκτηση 4 γειτονικών θέσεων. Το πλήθος των δρόμων είναι κάποια δύναμη του δύο· όσο μεγαλύτερο το πλήθος των δρόμων, τόσο μεγαλύτερη η πιθανότητα για ταχεία ανάγνωση μιας λέξεως από τη μνήμη.

Γενικά λοιπόν, ένα σύστημα μνήμης με διαφύλλωση κ-δρόμων (k-way interleaving), όπου κ=2m, αποτελείται από κ ψηφίδες μνήμης. Η επιλογή της ψηφίδας γίνεται από τα m δεξιότερα ψηφία της διεύθυνσης, και η εσωτερική διεύθυνση της ψηφίδας δίνεται από τα υπόλοιπα bits της διεύθυνσης μνήμης. Με τον τρόπο αυτό, οι κ συνεχόμενες θέσεις μνήμης αποθηκεύονται σε κ διαφορετικές ψηφίδες. Όταν γίνεται ανάγνωση για οποιαδήποτε λέξη της μνήμης, τότε μεταφέρονται στους εσωτερικούς καταχωρητές (DR) των ψηφίδων της μνήμης οι υπόλοιπες κ-1 γειτονικές λέξεις. Έτσι, αν στη συνέχεια διαβαστεί μια από αυτές, κάτι που γίνεται συχνά, θα είναι αμέσως διαθέσιμη.