13.Translation Lookaside Buffers
Ο προσομοιωτής αυτός
περιγράφει τη χρήση των Translation Lookaside Buffers (TLB).
Η λειτουργία
του προσομοιωτή είναι χωρισμένη σε λογικά βήματα.
·
O TLB περιέχει μονάχα μερικές από τις εγγραφές του
πίνακα σελίδων (page table). Όταν μια λογική διεύθυνση παράγεται από την CPU, ο αριθμός σελίδας της παρουσιάζεται στον TLB. Αν ο αριθμός σελίδας βρεθεί, ο αριθμός
πλαισίου είναι άμεσα διαθέσιμος και χρησιμοποιείται για την πρόσβαση στη μνήμη.
Αν ο αριθμός σελίδας δεν είναι στον TLB (αυτό ονομάζεται αστοχία του TLB), πρέπει να γίνει μια αντιστοίχιση της μνήμης
στον πίνακα σελίδων. Όταν βρεθεί ο αριθμός πλαισίου, μπορούμε να τον
χρησιμοποιήσουμε για την πρόσβαση στη μνήμη. Επιπρόσθετα, προστίθεται ο αριθμός
σελίδας και πλαισίου στον TLB,
έτσι ώστε να μπορούν να βρεθούν γρήγορα στην επόμενη αναφορά. Εξετάστε τα
παρακάτω παραδείγματα:
·
Η CPU παράγει μια
αναφορά στο γράμμα g,
ή αλλιώς τη λογική διεύθυνση 0102.
·
Ελέγχεται ο TLB και ο βρίσκεται ο αριθμός σελίδας 01.
·
Χρησιμοποιείται στη συνέχεια ο αριθμός πλαισίου από τον TLB για τη δημιουργία της φυσικής διεύθυνσης για τη
πρόσβαση στη μνήμη.
·
Η CPU παράγει μια
αναφορά στο γράμμα p,
ή αλλιώς τη λογική διεύθυνση 0303.
·
Ελέγχεται ο TLB αλλά ο αριθμός σελίδας 03 δεν βρίσκεται.
·
Πρέπει λοιπόν να γίνει πρόσβαση στον πίνακα σελίδων έτσι ώστε να βρεθεί ο
αριθμός πλαισίου.
·
Στη συνέχεια χρησιμοποιείται ο αριθμός πλαισίου από το πίνακα σελίδων γα τη
δημιουργία της διεύθυνσης της φυσικής διεύθυνσης για τη πρόσβαση στη μνήμη.
·
Επιπρόσθετα, προσθέτουμε τον αριθμό σελίδας και τον αριθμό πλαισίου στον ΤLB έτσι ώστε να μπορούν να βρεθούν γρήγορα στην
επόμενη αναφορά.