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

Σύγκριση ιδεατής μνήμης και κρυφής μνήμης

Οι βασικές διαφορές ανάμεσα στην κρυφή και την ιδεατή μνήμης είναι:

Συστήματα ιδεατής μνήμης

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


Σχήμα 4.4.1 - Ο κώδικας και τα δεδομένα στη σελιδοποίηση χρησιμοποιούν σταθερού μεγέθους μπλοκ, σε αντίθεση με τη τμηματοποίηση, όπου το μέγεθος ανά μπλοκ μπορεί να διαφέρει.

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


Τοποθέτηση ενός μπλοκ στην κύρια μνήμη

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

Εντοπισμός μπλοκ στην κύρια μνήμη

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

Αντικατάσταση μπλοκ σε μία αποτυχία ιδεατής μνήμης

Σχεδόν όλα τα λειτουργικά συστήματα χρησιμοποιούν την τεχνική αντικατάστασης του λιγότερο πρόσφατα χρησιμοποιημένου μπλοκ -LRU τεχνική τοποθέτησης- με τη λογική ότι δε θα χρησιμοποιηθεί στο άμεσο μέλλον. Για την υλοποίηση αυτού του αλγορίθμου ορισμένα υπολογιστικά συστήματα παρέχουν ένα bit χρήσης ή bit αναφοράς για κάθε σελίδα. Το bit αναφοράς τίθεται όταν η σελίδα προσπελαύνεται. Το λειτουργικό σύστημα περιοδικά καταγράφει και καθαρίζει τα bits αυτά, ώστε να μπορεί να ξέρει σε ποιες σελίδες έγινε αναφορά κατά τη διάρκεια μιας συγκεκριμένης χρονικής περιόδου.

Εγγραφές στη μνήμη

Το αμέσως χαμηλότερο επίπεδο από τη μνήμη περιέχει περιστρεφόμενους μαγνητικούς δίσκους τους οποίους για να προσπελάσεις, χρειάζεσαι εκατομμύρια κύκλους ρολογιού. Εξαιτίας των πολύ μεγάλων διαφορών στους χρόνους προσπέλασης μνήμης και δίσκου, δεν υπάρχει λειτουργικό σύστημα με ιδεατή μνήμη το οποίο να μπορεί να γράφει κατευθείαν στο δίσκο τις αλλαγές που προκαλεί η ΚΜΕ στα δεδομένα της μνήμης. Έτσι για την εγγραφή δεδομένων χρησιμοποπιείται πάντα η τεχνική της επανεγγραφής. Λόγω του υψηλού χρονικού κόστους της προσπέλασης στο δίσκο τα συστήματα ιδεατής μνήμης συνήθως συμπεριλαμβάνουν ένα δυαδικό ψηφίο, το bit τροποποίησης ή "βρώμικο" bit, δηλωτικό της τροποποίησης ενός μπλοκ. Κατά συνέπεια, τα μόνα μπλοκ που επανεγγράφονται στο δίσκο είναι εκείνα τα οποία έχουν τροποποιηθεί.

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

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


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

Μπορείτε να εξηγήσετε το λόγο για τον οποίο υπάρχουν δύο διαφορετικά συστήματα ιδεατής μνήμης; Να αιτιολογήσετε την απάντησή σας.

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