Εικονική Μνήμη (virtual memory)



Σχετικά έγγραφα
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης.

Εικονική Μνήμη (virtual memory)

Virtual Memory. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Εικονική Μνήμη (virtual memory)

Εικονική Μνήμη (virtual memory)

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory)

Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation

ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Αρχιτεκτονική Υπολογιστών

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

Εικονική Μνήμη (Virtual memory)

ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ

ΠΛΕ- 027 Μικροεπεξεργαστές

Εικονικι Μνιμθ (virtual memory)

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

Λειτουργικά Συστήματα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Λειτουργικά Συστήματα Η/Υ

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Λειτουργικά Συστήματα

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Processor-Memory (DRAM) ιαφορά επίδοσης

Είδη των Cache Misses: 3C s

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Μάθημα 8: Διαχείριση Μνήμης

Processor-Memory (DRAM) ιαφορά επίδοσης

Αρχιτεκτονική Υπολογιστών

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,

Ασκήσεις Caches

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Υ- 01 Αρχιτεκτονική Υπολογιστών Ιεραρχία μνήμης: προχωρημένα θέματα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

Διαχείριση Κύριας Μνήμης

Processor-Memory (DRAM) Διαφορά επίδοσης

Αρχιτεκτονική υπολογιστών

Ασκήσεις Caches

Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Οργάνωση Ιεραρχίας Μνήμης - Caches

Είδη των Cache Misses: 3C s

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης

Λειτουργικά Συστήματα (Λ/Σ)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφάλαιο 5: Ιεραρχία Μνήμης Memory Hierarchy

Processor-Memory (DRAM) ιαφορά επίδοσης

Εικονική Μνήμη (Virtual Memory)

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Ενότητα 7(α) - Ιεραρχία Μνήμης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης III

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Αρχιτεκτονική Υπολογιστών

Processor-Memory (DRAM) ιαφορά επίδοσης

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Cache Optimizations

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

Λειτουργικά Συστήματα

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy. Κεφάλαιο 5- Ιεραρχία Μνήμης

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Η ιεραρχία της μνήμης

3. Η ιεραρχία της μνήμης

Λειτουργικά Συστήματα (ΗΥ321)

Αρχιτεκτονική Υπολογιστών

Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

Cach O p i timisati tions

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Λειτουργικά Συστήματα Ι. Διαχείριση Μνήμης (Memory Management)

Αρχιτεκτονική Υπολογιστών

ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache)

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ

ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης I

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II

ιαχείριση Μνήµης (Memory Management)

Σειρά Ασκήσεων 10: Εικονική Μνήμη (Virtual Memory)

HY425 Αρχιτεκτονική Υπολογιστών, Χειµερινό Εξάµηνο

Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy. Κεφάλαιο 5- Ιεραρχία Μνήμης

Θέµατα Φεβρουαρίου

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 9

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Εισαγωγή στα Λειτουργικά Συστήματα

Transcript:

Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται από τα ενεργά τμήματα των προγραμμάτων working sets) Πρέπει να εξασφαλίσουμε προστασία μεταξύ των προγραμμάτων

Εικονική Μνήμη (virtual memory) Την ώρα του compile, δεν γνωρίζουμε ποια προγράμματα θα μοιράζονται τη μνήμη υναμική εκτέλεση προγραμμάτων Θέλουμε κάθε πρόγραμμα να νομίζει ότι έχει τη δική του μνήμη Θέλουμε κάθε πρόγραμμα να νομίζει ότι έχει απεριόριστη μνήμη (μεγαλύτερη από τη RAM)

Εικονική Μνήμη (virtual memory) Η Virtual memory ελέγχει 2 επίπεδα της ιεραρχίας μνήμης: Κύρια μνήμη (DRAM) Μαζική αποθήκευση (συνήθως μαγνητικοί δίσκοι) Η κύρια μνήμη διαιρείται σε blocks κατανεμημένες σε διαφορετικές τρέχουσες διεργασίες του συστήματος: Βlocks καθορισμένου μεγέθους: Pages (μέγεθος 4k έως 64k bytes). Βlocks μεταβλητού μεγέθους : Segments (μέγεθος το πολύ 26 μέχρι 232) Σε δεδομένο χρόνο, για κάθε τρέχουσα διεργασία, ένα κομμάτι των δεδομένων ή του κώδικα φορτώνεται στην κύρια μνήμη ενώ το υπόλοιπο είναι διαθέσιμο μόνο στους μαγνητικούς δίσκους. Ένα block κώδικα ή δεδομένων που χρειάζεται για την εκτέλεση μιας διεργασίας αλλά δεν υπάρχει στη κύρια μνήμη έχει ως αποτέλεσμα ένα page fault (address fault) και το block πρέπει να φορτωθεί στην κύρια μνήμη από το δίσκο ή τον χειριστή του λειτουργικού συστήματος (OS handler). Ένα πρόγραμμα μπορεί να εκτελεστεί σε οποιαδήποτε θέση της κύριας μνήμης ή του δίσκου χρησιμοποιώντας έναν μηχανισμό επανατοποθέτησης ο οποίος να ελέγχεται από το λειτουργικό σύστημα που να αντιστοιχεί τις διευθύνσεις από τον χώρο των virtual addresses (logical program address) στο χώρο των physical addresses (κύρια μνήμη, δίσκος).

Εικονική Μνήμη (virtual memory) Εικονική Μνήμη υλοποιεί μετάφραση του χώρου διευθύνσεων ενός προγράμματος σε φυσικές διευθύνσεις ιαδικασία μετάφρασης ενισχύει την προστασία (Εικονική μνήμη μοιάζει με την cache)

Τι βλέπει η εφαρμογή... Εικονικές Διευθύνσεις 4GB

Μετάφραση των Virtual Addresses Virtual page number Valid Page table Physical page or disk address Physical memory Disk storage

Τι συμβαίνει στην πραγματικότητα!! Εικονικές Διευθύνσεις Μετάφραση Διευθύνσεων Φυσικές Διευθύνσεις other process other process GB RAM 4GB Διευθύνσεις Δίσκου 5GB DISK

Εικονική Μνήμη ιεύθυνση χωρίζεται σε δύο τμήματα αριθμός εικονικής σελίδας (virtual page number) σχετική απόσταση σελίδας (page offset) Εικονική Διεύθυνση 3329282727 43 32 9 8 7 6 5 4 3 2 Virtual Page Number Page Offset προσδιορίζει μέγεθος σελίδας π.χ. 4KB

Μετάφραση Σελίδων 2 2 virtual pages Εικονική Διεύθυνση 4GB virtual space 3329282727 43 32 9 8 7 6 5 4 3 2 Virtual Page Number Page Offset Translation 4KB page size Physical Page Number Page Offset 292828 43 32 9 8 7 6 5 4 3 2 2 8 physical pages Φυσική Διεύθυνση GB virtual space (RAM)

Πλεονεκτήματα Έχουμε την ψευδαίσθηση ότι διαθέτουμε περισσότερη φυσική κύρια μνήμη Επιτρέπει τον επανατοποθέτηση των προγραμμάτων Προστατεύει από παράτυπη πρόσβαση στη μνήμη Virtual address 3 3 29 28 27 5 4 3 2 9 8 3 2 Virtual page number Page offset Translation 29 28 27 5 4 3 2 9 8 3 2 Physical page number Page offset Physical address

Σχεδιαστικές Επιλογές Υψηλό κόστος αστοχίας σφάλμα σελίδας (page fault) Περιεχόμενα στο δίσκο (. φορές πιο αργός) Σχεδιαστικές αποφάσεις για αποφυγή αστοχιών «Μεγάλες» σελίδες (4KB 6KB) Fully assosiative τοποθέτηση σελίδων στη μνήμη Σφάλματα αντιμετωπίζονται με λογισμικό πιο έξυπνοι αλγόριθμοι επιλογής/τοποθέτησης σελίδων Μόνο write-back (γιατί όχι write through;)

Σχεδιαστικά Λάθη Συνήθως virtual address είναι μεγαλύτερη από physical address π.χ. 4GB virtual space vs GB physical space (RAM) Τι γίνεται όταν μέγεθος διεύθυνσης επεξεργαστή είναι μικρό σε σχέση με τις τεχνολογίες μνημών; π.χ. μπορώ πολύ φτηνά να αγοράσω 8GB RAM, αλλά κυκλοφορούν μόνο 32bit υπολογιστές

Σχεδιαστικά Λάθη Συνήθως virtual address είναι μεγαλύτερη από physical address π.χ. 4GB virtual space vs GB physical space (RAM) Τι γίνεται όταν μέγεθος διεύθυνσης επεξεργαστή είναι μικρό σε σχέση με τις τεχνολογίες μνημών; π.χ. μπορώ πολύ φτηνά να αγοράσω 8GB RAM, αλλά κυκλοφορούν μόνο 32bit υπολογιστές

Σχεδιαστικά Λάθη Με 32bit υπολογιστή μπορούμε θεωρητικά να προσπελάσουμε 4GB και στην πράξη γύρω στα 3 3,5GB βλ. memory mapped devices βλ. OS kernel address space περισσότερα στα Λειτουργικά Συστήματα ΡΟΗ Υ

Μετάφραση Σελίδων Πίνακας Σελίδων 3329282727 43 32 9 8 7 6 5 4 3 2 Virtual Page Number Page Offset Page Table Register 2b Valid Physical Page Number Αν Valid μηδέν, η σελίδα δεν βρίσκεται στη μνήμη 8b Physical Page Number Page Offset 292828 43 32 9 8 7 6 5 4 3 2

Μετάφραση Σελίδων Πίνακας Virtual Page Number Valid Physical Page Number or Disk address Σελίδων Physical Memory RAM 4KB 4KB Disk Swap Space 4KB

Μετάφραση Virtual -> Physical Addresses Συνεχόμενος χώρος των virtual addresses ενός προγράμματος Οι Physical θέσεις των blocks A, B, C

Εικονική Μνήμη Αν φυσική μνήμη γεμάτη (σύνολο προγραμμάτων μπορεί μεγαλύτερο από φυσική μνήμη), γίνεται αντικατάσταση Σελίδα dirty γράφεται στο δίσκο (swap space) Νέασελίδαέρχεταιστηφυσικήμνήμη Πρόγραμμα συνεχίζει εκτέλεση Αλγόριθμος αντικατάστασης LRU (μας θυμίζει τίποτα;) σε software-operating system

Μέγεθος Πίνακα Σελίδων 3329282727 43 32 9 8 7 6 5 4 3 2 Virtual Page Number Page Offset Page Table Register 2b Valid Physical Page Number Θεωρούμε ότι κάθε καταχώρηση έχει μέγεθος 4 bytes 2 2 x 4B = 4MB 8b Physical Page Number Page Offset 292828 43 32 9 8 7 6 5 4 3 2

Μέγεθος Πίνακα Σελίδων 3329282727 43 32 9 8 7 6 5 4 3 2 Virtual Page Number Page Offset Page Table Register 2b Valid Physical Page Number Θεωρούμε ότι κάθε καταχώρηση έχει μέγεθος 4 bytes 2 2 x 4B = 4MB Δηλ. για κάθε πρόγραμμα που εκτελείται, ξοδεύουμε 4MB φυσικής μνήμης για πίνακα σελίδων!!! 8b Physical Page Number Page Offset 292828 43 32 9 8 7 6 5 4 3 2

Page Table Page table register Virtual address 3 3 29 28 27 5 4 3 2 9 8 3 2 Virtual page number Page offset Χρειάζονται 2 προσπελάσεις μνήμης: στο page table στο αντικείμενο Page table Valid 2 2 Physical page number 8 Ifthenpageisnot present in memory 29 28 27 5 4 3 2 9 8 3 2 Physical page number Page offset Physical address

Αντιστοίχιση των Virtual Addresses σε Physical Addresses μέσω ενός πίνακα σελίδων (Page Table)

Πολυεπίπεδοι Πίνακες Σελίδων Τα τμήματα του πίνακας σελίδων που δεν χρειάζονται, δεν βρίσκονται στη μνήμη.

Translation-Lookaside Buffer (TLB) Virtual Page Number Valid Dirty Reference TLB (fully assosiative) Virtual Page # Physical Page # Physical Memory RAM Valid Dirty Reference Page Table Disk Swap Space

Ενέργειες Μετάφρασης Διευθύνσεων Εικονική Διεύθυνση Προσπέλαση TLB Ευστοχία TLB; TLB hit Φυσική Διεύθυνση cache... TLB miss Προσπέλαση Page Table Exception Ανάγνωση page από δίσκο στη RAM και ενημέρωση Page Table Page Table hit Ναι Page Table miss Ευστοχία TLB; Υπάρχει στο δίσκο; Όχι Exception Ησελίδαδενυπάρχει. Προφανώς λάθος προσπέλαση μνήμης. Η διεργασία σκοτώνεται. Segmentation Fault...

Paging & Segmentation

Τυπικές παράμετροι της Cache και της Virtual Memory

Virtual Memory Στρατηγικές Τοποθέτηση του block στην κύρια μνήμη: Η fully associative τεχνική χρησιμοποιείται για την ελάττωση του miss rate. Αντικατάσταση του block: The least recently used (LRU) block αντικαθίσταται όταν ένα νέο block έρχεται στη μνήμη από το δίσκο. Στρατηγική εγγραφών: Χρησιμοποιείται η τεχνική write back και μόνο οι dirty σελίδες μεταφέρονται από την κύρια μνήμη στο δίσκο. Για την τοποθέτηση των blocks στην κύρια μνήμη χρησιμοποιείται ένας page table. Ο page table δεικτοδοτείται από τον εικονικό αριθμό σελίδας (virtual page number) και περιέχει τη φυσική διεύθυνση (physical address) του block. Paging: To Offset συγχωνεύεται με τη διεύθυνση της φυσικής σελίδας. Segmentation: Το Offset προστίθεται στη διεύθυνση του physical segment. Για την αξιοποίηση της address locality, χρησιμοποιείται συνήθως ο translation look-aside buffer (TLB) για την αποθήκευση των προσφάτως μεταφρασμένων διευθύνσεων ώστε να αποφεύγεται προσπέλαση της μνήμης προκειμένου να διαβαστεί ο πίνακας σελίδων (page table).

Συνδυασμός Virtual Memory, TLB, cache σελ 543 βιβλίου (εικόνα)

Page Faults Page faults: the data is not in memory, retrieve it from disk huge miss penalty, thus pages should be fairly large (e.g., 4KB) reducing page faults is important (LRU is worth the price) can handle the faults in software instead of hardware using write-through is too expensive so we use writeback

Επιτάχυνση της μετάφρασης διευθύνσεων: Translation Lookaside Buffer (TLB) TLB: Μία μικρή on-chip fully-associative cache που χρησιμοποιείται για τη μετάφραση διευθύνσεων. Αν μία virtual address υπάρχει μέσα στο TLB (TLB hit), δεν προσπελαύνεται ο πίνακας σελίδων της κύριας μνήμης. Virtual Page Number 28-256 TLB Entries Valid Valid Tag Physical Page or Disk Address Physical Page Address TLB (on-chip) 28-256 Entries Physical Memory Page Table (in main memory) Disk Storage

Intrinsity fastmath processor 32 bit address space/byte addressing 4KB/page TLB fully associative: 6 entries

TLB Operation TLB & Cache Operation (Intrinsity( FastMATH) Virtual address TLB access Cache is physically-addressed TLB miss use page table No TLB hit? Yes Physical address No Write? Yes Cache operation Try to read data from cache No Write access bit on? Yes Cache miss stall No Cache hit? Yes Write protection exception Write data into cache, update the tag, and put the data and the addre ss into the write buffer Deliver data to the CPU

TLB, virtual memory, cache συνδυασμοί TLB Page Table Cache Possible? If so under what circumstance? hit hit miss Possible, although the page table is never really checked if TLB hits miss hit hit TLB misses, but entry found in page table; after retry, data is found in cache miss hit miss TLB misses, but entry found in page table; after retry data misses in cache miss miss miss TLB misses and is followed by a page fault; after retry, data must miss in cache hit miss miss Impossible: cannot have a translation in TLB if page is not present in memory hit miss hit Impossible: cannot have a translation in TLB if page is not present in memory miss miss hit Impossible: data cannot be allowed in cache if the page is not in memory

Pentium P4 / AMD Opteron

Pentium P4 / AMD Opteron

Desktop/embedded/server microprocessors (24) Things are getting complicated!

Η λειτουργία του Alpha AXP 264 Data TLB κατά τη μετάφραση των διευθύνσεων Virtual address TLB = 32 blocks Data cache = 256 blocks Η πρόσβαση στα TLB γίνεται συνήθως με την τεχνική pipeline Valid Read Permission Write Permission

Σύνοψη

Read/Write (Intrinsity( FastMATH cpu)