ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Τρόπος Απεικόνισης Μπλόκ της Κύριας Μνήµης σε Πλαίσια της Κρυφής Μνήµης (placement policy) Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Κρυφή Μνήµη Οργάνωση κρυφής µνήµης ιδάσκων: Aναπλ. Καθ. Κ. Λαµπρινουδάκης clam@unipi.gr ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 1 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 2 Τρόποι Οργάνωσης της Κρυφής Μνήµης Συµβάσεις Άµεση οργάνωση (direct mapped) Οργάνωση πλήρους συσχέτισης (fully associative) Οργάνωση κ-τρόπων συνόλου συσχέτισης (k-way set associative) Πλήθος λέξεων ανά πλαίσιο &καιτοπλήθοςτωνπλαισίωντηςκρυφήςµνήµης είναι πάντοτε δυνάµεις του δύο Οργάνωση Κύριας Μνήµης ανά λέξη ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 3 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 4 1
Κρυφή Μνήµη Άµεσης Οργάνωσης Παράδειγµα Κρυφή Μνήµη διεύθυνση πλαισίου διεύθυνση µπλοκ Κύρια Μνήµη ετικέτα ιεύθυνση πλαισίου 1 πλαίσια Μ-1 Μ µπλόκ Λ-1 Μ+1 Λ Λ+1 Π-1 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 5 Λ= Μ Π 1 4 = 1 5 4 = 1 9 4 = 1 13 4 = 1 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 6 Χρήση της διεύθυνσης για προσπέλαση κρυφής µνήµης µε άµεση οργάνωση Υλοποίηση Κρυφής Μνήµης Άµεσης Οργάνωσης Μέγιστοµέγεθοςτηςκύριαςµνήµης 2 λ θέσεις ν - κ κ µ Πλήθοςλέξεωνανάµπλοκτηςκύριαςµνήµης: 2 µ Μέγιστοπλήθοςµπλοκτηςκύριαςµνήµης: 2 ν = 2 λ-µ Πλήθοςπλαισίωντηςκρυφήςµνήµης: 2 κ διεύθυνση του µπλοκ στην κύρια µνήµη δ ιε ύ θ υ ν σ η τ η ς λέξης στο µπλοκ 1 2 3 4 5 6 7 8 9 δ υ α δ ικ ό ψ η φ ί ο εγκυρότη τας ε τ ικ έ τ α λ έ ξ ε ις 2 µ 1... 2 µ - 1........................ 2 κ π λ α ίσ ι α ν -κ δυαδικά ψ ηφία κ δυαδικά ψ ηφ ία µ δ υ α δ ικ ά ψ η φ ία.......... ε τ ικ έ τ α δ ιε ύ θ υ ν σ η τ ο υ π λ α ισ ίο υ στην κρυφή µνήµη δ ιε ύ θ υ ν σ η τ η ς λέξης στο πλαίσιο σ υ γ κ ρ ι τ ή ς π ο λ υ π λ έ κ τ η ς 2 µ - -> 1 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 7 ε π ιτ υ χ ί α / α π ο τ υ χ ία ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 8 2
Πλεονεκτήµατα & Μειονεκτήµατα της Άµεσης Οργάνωσης Κρυφή µνήµη µε οργάνωση πλήρους συσχέτισης Πλεονέκτηµα» Μικρός χρόνος προσπέλασης» Μικρό κόστος υλοποίησης Κρυφή Μνήµη διεύθυνση πλαισίου 1 διεύθυνση µπλοκ Κύρια Μνήµη Μ-1 Μειονέκτηµα ύο ή περισσότερα µπλοκ της κύριας µνήµης που αντιστοιχούν στο ίδιο πλαίσιο της κρυφής µνήµης δεν µπορούν να βρίσκονται ταυτόχρονα στην κρυφή µνήµη => µεγαλύτερο ρυθµό αποτυχιών πλαίσια Λ-1 Λ Λ+1 Π-1 Μ Μ+1 µπλόκ ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 9 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 1 Χρήση της διεύθυνσης για προσπέλαση κρυφής µνήµης µε οργάνωση πλήρους συσχέτισης Υλοποίηση κρυφής µνήµης µε οργάνωση πλήρους συνόλου συσχέτισης Μέγιστοµέγεθοςτηςκύριαςµνήµης 2 λ θέσεις Πλήθοςλέξεωνανάµπλοκτηςκύριαςµνήµης: 2 µ Μέγιστοπλήθοςµπλοκτηςκύριαςµνήµης: 2 ν = 2 λ-µ Πλήθοςπλαισίωντηςκρυφήςµνήµης: 2 κ διεύθυνση της διεύθυνση του µπλοκ στην κύρια µνήµη λέξης στο µπλοκ ν µ ν δυαδικό ψηφίο ε γκ υρότη τα ς ετικ έτα λ έξεις 2 µ 1 2 µ -1 µ 2 κ π λα ίσ ια ετικέτα διεύθυνση της λέξης στο πλαίσιο επιτυχία / α ποτυχία πολ υπλέκτη ς 2 µ --> 1 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 11 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 12 3
Παράδειγµα Κρυφή µνήµη µε οργάνωση τ-τρόπων συνόλου συσχέτισης ν = 1 4 µ = 2 Κύρια µνήµη: 64Κ λέξεις Κρυφή µνήµη: 64 λέξεις 4 λέξεις ανά πλαίσιο Κύρια µνήµη: 16Κ µπλοκς Κρυφή µνήµη: 16 πλαίσια δυαδικό ψηφίο ε γκ υρότη τα ς ετικ έτα 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 επιτυχία / α ποτυχία λέξεις 4 2 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 πολυπλ έκτη ς 4 -->1 1 6 π λα ίσ ια σύνολα Κρυφή Μνήµη διεύθυνση συνόλου 1 Λ-1 Λ Λ+1 Σ-1 διεύθυνση µπλοκ Μ-1 Μ Μ+1 Κύρια Μνήµη Λ= Μ Σ µπλόκ ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 13 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 14 Παράδειγµα Ι Παράδειγµα ΙΙ 1 1 2 1 3 11 σύνολο σύνολο σύνολο σύνολο διευθύνσεις των συνόλων στο δεκαδικό κρυφή µνήµη διευθύνσεις των συνόλων στο δυαδικό κύρια µνήµη 1 1 2 1 3 11 4 1 5 11 6 11 7 111 8 1 9 11 1 11 11 111 12 11 13 111 14 111 15 1111 1 1 2 1 3 11 σύνολο σύνολο σύνολο σύνολο διευθύνσεις των συνόλων στο δεκαδικό κρυφή µνήµη διευθύνσεις των συνόλων στο δυαδικό κύρια µνήµη 1 1 2 1 3 11 4 1 5 11 6 11 7 111 8 1 9 11 1 11 11 111 12 11 13 111 14 111 15 1111 ιεύθ. συνόλου= ιεύθ.μπλοκ 4 διευθύνσεις των µπλοκ στο δεκαδικό διευθύνσεις των µπλοκ στο δυαδικό ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 15 διευθύνσεις των µπλοκ στο δεκαδικό διευθύνσεις των µπλοκ στο δυαδικό ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 16 4
Χρήση διεύθυνσης για προσπέλαση κρυφής µνήµης µε οργάνωση τ-τρόπων συνόλου συσχέτισης Κρυφή µνήµη µε οργάνωση 2-τρόπων συνόλου συσχέτισης Μέγιστοµέγεθοςτηςκύριαςµνήµης 2 λ θέσεις Πλήθοςλέξεωνανάµπλοκτηςκύριαςµνήµης: 2 µ Μέγιστοπλήθοςµπλοκτηςκύριαςµνήµης: 2 ν = 2 λ-µ Πλήθοςσυνόλωντηςκρυφήςµνήµης: 2 φ διεύθυνσ η του µ πλοκ σ την κύρια µνήµη διεύθυνσ η της λ έ ξ η ς σ τ ο µ π λ ο κ ν -φ φ µ ν-φ δυαδικό ψηφίο διευθύνσεις εγκυρότητας συνόλων ετικέτα 1 2 3 4 5 6 7 8 9 1 φ πλαίσιο ετικέτα πλαίσιο 1 µ διευθύνσεις συνόλων 1 2 3 4 5 6 7 8 9 1 δυαδικό ψηφίο εγκυρότητας ετικέτα διεύθυνσ η του συνόλου σ τ η ν κ ρ υ φ ή µ ν ή µ η δ ιε ύ θ υ ν σ η τ η ς λ έ ξ η ς σ τ ο π λ α ίσ ιο επιτυχία/ αποτυχία συγκριτής πολυπλέκτης 2 µ --> 1 επιτυχία/ αποτυχία συγκριτής πολυπλέκτης 2 µ -->1 αρτηρία ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 17 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 18 Στρατηγική Απελευθέρωσης Πλαισίων της Κρυφής Μνήµης Τακτική Ενηµέρωσης του επόµενου Επιπέδου της Ιεραρχικής Μνήµης Τυχαία επιλογή (Random policy) Επιλογήτουµηχρησιµοποιηθέντοςπρόσφατα (Least-Recently Used, LRU, policy) Επιλογή του πλαισίου που προσκοµίστηκε πρώτο στην κρυφή µνήµη (First-In/First-Out, FIFO, policy) Τοµπλοκστοοποίοανήκειηπληροφορίαπουθαγραφείαπό την ΚΜΕ στην µνήµη βρίσκεται στην κρυφή µνήµη Ητακτικήτηςάµεσηςενηµέρωσης (write throughήstore through) Η τακτική της τελικής ενηµέρωσης (write back ή copy back ή store in) Τοµπλοκστοοποίοανήκειηπληροφορίαπουθαγραφείαπό την ΚΜΕ στην µνήµη δεν βρίσκεται στην κρυφή µνήµη Τακτική προσκόµισης κατά την εγγραφή (write allocate ή fetch on write) Τακτικήµηπροσκόµισηςκατάτηνεγγραφή (no-write allocate ή write around) ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 19 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 2 5
µε 8 πλαίσια Αγνοήστε προς το παρόν τους δείκτες δίπλα από τις διευθύνσεων των δεδοµένων. ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 21 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 22 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 23 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 24 6
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 25 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 26 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 27 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 28 7
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 29 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 3 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 31 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 32 8
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 33 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 34 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 35 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 36 9
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 37 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 38 Hit ratio = 7/18 =.389 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 39 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 4 1
µε 8 πλαίσια Οι δείκτες δηλώνουν τα 3 λιγότερο σηµαντικά bits των διευθύνσεων των δεδοµένων. ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 41 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 42 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 43 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 44 11
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 45 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 46 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 47 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 48 12
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 49 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 5 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 51 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 52 13
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 53 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 54 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 55 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 56 14
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 57 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 58 Hit ratio = 3/18 =.167 ΤαδεδοµέναΑκαιΒδιεκδικούνεναλλάξτοπλαίσιο. ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 59 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 6 15
µε 8 πλαίσια Οιαριθµοίµέσασταπλαίσιαδηλώνουντοπιοπρόσφατα() καιτολιγότερο πρόσφατα(1) χρησιµοποιηθέν δεδοµένο για την τεχνική LRU. ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 61 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 62 Οιαριθµοίµέσασταπλαίσια δηλώνουντοπιοπρόσφατα() καιτο λιγότερο πρόσφατα(1) χρησιµοποιηθέν δεδοµένο για την τεχνική LRU. ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 63 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 64 16
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 65 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 66 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 67 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 68 17
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 69 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 7 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 71 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 72 18
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 73 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 74 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 75 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 76 19
ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 77 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 78 Hit ratio = 7/18 =.389 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 79 ΛειτουργικάΣυστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 8 2