Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 1 Κεφάλαιο 5.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 1 Κεφάλαιο 5."— Μεταγράφημα παρουσίασης:

1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 1 Κεφάλαιο 5

2 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 2 Σημείωση Οι παρούσες διαφάνειες παρέχονται ως συμπλήρωμα διδασκαλίας για το μάθημα «Αρχιτεκτονική Υπολογιστών» του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών και παρέχονται αποκλειστικά για προσωπική χρήση των εγγεγραμένων φοιτητών του μαθήματος Οι διαφάνειες αναφέρονται στο διδακτικό βιβλίο του μαθήματος Τα πνευματικά δικαιώματα των διαφανειών και των σχημάτων που περιλαμβάνονται ανήκουν στους συγγραφείς των διαφανειών, τους συγγραφείς του βιβλίου και τους δημιουργούς των σχημάτων Απαγορεύεται ρητά η αντιγραφή, αναπαραγωγή, διανομή, και μετάδοση των διαφανειών χωρίς άδεια Γενικά, απαγορεύεται οποιαδήποτε εμπορική χρήση των διαφανειών και οποιαδήποτε χρήση δεν συνάδει με τον διδακτικό τους σκοπό στο Πανεπιστήμιο Πατρών

3 Ιεραρχία Μνήμης

4 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 4 Εισαγωγή Ανάγκη: Μεγάλη ποσότητα γρήγορης μνήμης Περιορισμός: Η γρήγορη μνήμη κοστίζει ακριβά Λύση: Ιεραρχία μνήμης: Η μνήμη οργανώνεται σε πολλά επίπεδα με διαφορετικά χαρακτηριστικά

5 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 5 Ιεραρχία Μνήμης Η μνήμη οργανώνεται σε πολλά επίπεδα Κάθε μικρότερο, σε μέγεθος, επίπεδο είναι γρηγορότερο και ακριβότερο ανά byte Κάθε επίπεδο περιέχει υποσύνολο δεδομένων του αμέσως μεγαλύτερου Η ιεραρχία μνήμης αξιοποιεί την τοπικότητα Καταχωρητές Κρυφή Μνήμη Κύρια Μνήμη Είσοδος/Έξοδος

6 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 6 Τοπικότητα Χρονική: Δεδομένα που χρησιμοποιήθηκαν πρόσφατα είναι πιθανό να ξαναχρησιμοποιηθούν σύντομα στο μέλλον Χωρική: Δεδομένα που βρίσκονται σε διαδοχικές (κοντινές) θέσεις μνήμης είναι πιθανό να χρησιμοποιηθούν διαδοχικά (ή σύντομα)

7 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 7 Ιεραρχία Μνήμης Καταχωρητές Κρυφή Μνήμη Κύρια Μνήμη Είσοδος/Έξοδος Αυξάνει η ταχύτητα αλλά και το κόστος Αυξάνει η διαθέσιμη χωρητικότητα Τυπικά Μεγέθη 500 bytes 0,25 ns 64 kilobytes 1 ns 512 megabytes 100 ns 100 gigabytes 5 ms

8 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 8 Κενό απόδοσης CPU- Κύριας Μνήμης (1) Η ταχύτητα των επεξεργαστών αυξάνεται πολύ γρηγορότερα από την απόδοση των μνημών Δημιουργείται κενό στην απόδοση μνήμης- επεξεργαστή: Η μνήμη «καθυστερεί» τον επεξεργαστή Λύση: Διάφορες ιδέες που βασίζονται στην έννοια της Ιεραρχίας Μνήμης

9 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 9 Κενό απόδοσης CPU- Κύριας Μνήμης (2)

10 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 10 Κρυφή Μνήμη (Cache) (1) Κρατά υποσύνολο των δεδομένων της κύριας μνήμης για γρήγορη πρόσβαση Είναι το πρώτο επίπεδο στην ιεραρχία μνήμης αφότου η CPU διαβάσει μια διεύθυνση Βρίσκεται πολύ κοντά στη CPU (ακόμα και στο ίδιο Chip) Πολύ γρήγορη μνήμη (συνήθως SRAM)

11 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 11 Κρυφή Μνήμη (Cache) (2) Τα δεδομένα στην κρυφή μνήμη βρίσκονται οργανωμένα σε block Όταν ο επεξεργαστής χρειάζεται κάποια δεδομένα τα ζητάει από την κρυφή μνήμη.... –Αν υπάρχουν στην κρυφή μνήμη, έχουμε «ευστοχία κρυφής μνήμης» και τα διαβάζει –Αν δεν υπάρχουν, έχουμε «αστοχία κρυφής μνήμης» και ένα block που περιέχει τα ζητούμενα δεδομένα μεταφέρεται από την κύρια στην κρυφή μνήμη

12 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 12 Τοπικότητα στην κρυφή μνήμη Η κρυφή μνήμη εκμεταλλεύεται τα δύο είδη τοπικότητας: Τη χρονική τοπικότητα διότι τα δεδομένα που βρίσκονται στην κρυφή μνήμη παραμένουν εκεί και μετά την ανάγνωσή τους για πιθανή χρήση στο κοντινό μέλλον Τη χωρική τοπικότητα διότι κάθε φορά που έχουμε αστοχία μεταφέρεται ένα ολόκληρο block και όχι μόνο τα δεδομένα που ζήτησε ο επεξεργαστής

13 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 13 Κρυφή μνήμη και απόδοση Ο χρόνος που επιβαρύνει κάθε αστοχία κρυφής μνήμης εξαρτάται από: Καθυστέρηση μνήμης (χρόνος να αρχίσουν να έρχονται τα δεδομένα του block) Εύρος ζώνης μνήμης (επηρεάζει το χρόνο ολοκλήρωσης της μεταφοράς του block) Όταν έχουμε αστοχία κρυφής μνήμης η εκτέλεση του προγράμματος σταματά μέχρι να γίνουν διαθέσιμα τα δεδομένα. Συνέπεια: Στο χρόνο εκτέλεσης της CPU πρέπει να υπολογίζουμε και τους κύκλους καθυστέρησης μνήμης

14 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 14 Τοποθέτηση block στην κρυφή μνήμη (1) Όταν ένα block μεταφέρεται από την κύρια στην κρυφή μνήμη μπορεί να τοποθετηθεί με τους εξής τρόπους: Με άμεση αντιστοίχιση: κάθε block μπορεί να τοποθετηθεί μόνο σε μία θέση στην κρυφή μνήμη Με πλήρη συσχέτιση: κάθε block μπορεί να τοποθετηθεί οπουδήποτε στην κρυφή μνήμη Με συνολοσυσχέτιση: κάθε block μπορεί να τοποθετηθεί σε περιορισμένο αριθμό θέσεων στην κρυφή μνήμη

15 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 15 Τοποθέτηση block στην κρυφή μνήμη (2) Στη συνολοσυσχετιστική μνήμη… Αρχικά ένα μπλοκ αντιστοιχίζεται σε ένα σύνολο Μετά το μπλοκ μπορεί να τοποθετηθεί οπουδήποτε σε αυτό το σύνολο Αν υπάρχουν N μπλοκ σε ένα σύνολο, η μνήμη ονομάζεται συνολοσυσχετιστική Ν δρόμων.

16 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 16 Τοποθέτηση block στην κρυφή μνήμη (3) ΣΧΗΜΑ 5.4

17 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 17 Εύρεση block στην κρυφή μνήμη Κάθε block συνοδεύεται και από μία ετικέτα η οποία περιέχει τη διεύθυνση του block και άλλες πληροφορίες. Κατά την αναζήτηση, όλες οι ετικέτες ελέγχονται παράλληλα για αυξημένη ταχύτητα. Κάθε ετικέτα έχει ένα bit εγκυρότητας που δείχνει ότι τα δεδομένα είναι έγκυρα. Αρχικά όλα τα bit είναι 0 διότι τα δεδομένα είναι τυχαία. Με κάθε αστοχία μνήμης και μεταφορά έγκυρων δεδομένων, το bit εγκυρότητας γίνεται 1.

18 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 18 Αντικατάσταση block (1) Σε κάθε αστοχία κρυφής μνήμης πρέπει να επιλέξουμε ένα block για αντικατάσταση από νέα δεδομένα. Αν έχουμε άμεση αντιστοίχηση δεν υπάρχει επιλογή: υπάρχει μόνο μία πιθανή θέση Αν έχουμε πλήρη συσχέτιση ή συνολοσυσχέτιση πρέπει να επιλέξουμε για αντικατάσταση ένα block λαμβάνοντας υπόψη την απόδοση του συστήματος

19 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 19 Αντικατάσταση block (2) Πιθανή στρατηγική αντικατάστασης block: Τυχαία επιλογή: Απλή στην υλοποίηση με ομοιόμορφη κατανομή αλλά δεν εκμεταλλεύεται την τοπικότητα. Για να εκμεταλλευτούμε την τοπικότητα μπορούμε να εφαρμόσουμε τη μέθοδο LRU (least-recently used): αντικαθιστούμε το block που δεν έχει χρησιμοποιηθεί για το μεγαλύτερο χρονικό διάστημα (προσέγγιση με 1 bit) Η LRU μπορεί να είναι ακριβή μέθοδος. Μια προσέγγισή της είναι το FIFO (first-in, first- out): αντικαθιστούμε το παλαιότερο block

20 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 20 Εγγραφή στην κρυφή μνήμη (1) Η προσπέλαση στην κύρια μνήμη είναι... Κατά μεγάλο ποσοστό αναγνώσεις Σε μικρότερο ποσοστό εγγραφές Για λόγους απόδοσης η ανάγνωση δεδομένων από ένα block γίνεται ταυτόχρονα με την ανάγνωση της ετικέτας Αν έχουμε ευστοχία, τα δεδομένα πάνε στον επεξεργαστή Αν έχουμε αστοχία, τα δεδομένα που αναγνώστηκαν αγνοούνται

21 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 21 Εγγραφή στην κρυφή μνήμη (2) Στην εγγραφή, ωστόσο, τα δεδομένα δεν μπορούν να γραφτούν παράλληλα με την ανάγνωση της ετικέτας: Αν έχουμε αστοχία θα σβηστούν χρήσιμα δεδομένα Συμπέρασμα: Η εγγραφή στην κρυφή μνήμη είναι πιο αργή διαδικασία από την ανάγνωση.

22 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 22 Εγγραφή στην κρυφή μνήμη (3) Η κρυφή μνήμη περιέχει υποσύνολο των δεδομένων της κύριας μνήμης Όταν γράφουμε δεδομένα στην κρυφή μνήμη πρέπει να τα γράψουμε και στην κύρια μνήμη για να μην έχουμε ασυνέπεια. Υπάρχουν δύο στρατηγικές εγγραφής στην κρυφή μνήμη: -Write-through -Write-back

23 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 23 Εγγραφή στην κρυφή μνήμη (4) Write-through Τα δεδομένα γράφονται ταυτόχρονα στην κρυφή και την κύρια μνήμη Πλεονεκτήματα: Η κύρια μνήμη έχει πάντα έγκυρα δεδομένα Write-back Τα δεδομένα γράφονται αρχικά μόνο στην κρυφή μνήμη. Όταν αντικαθίσταται ένα block τότε γράφεται και στην κύρια μνήμη. Πλεονεκτήματα: εγγραφή με ταχύτητα κρυφής μνήμης, πολλές διαδοχικές αλλαγές στο ίδιο block τακτοποιούνται με μια εγγραφή, δε χάνεται χρόνος για block που δε θα πήγαιναν ποτέ στην κύρια μνήμη.

24 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 24 Bit αλλοίωσης Στο write-back σε κάθε αστοχία κρυφής μνήμης θα είχαμε κανονικά εγγραφή στην κύρια μνήμη (για το block που θα αντικατασταθεί) Συχνά, όμως, το block που αντικαθίσταται δεν έχει αλλαχτεί κατά την παραμονή του στην κρυφή μνήμη με αποτέλεσμα αχρείαστη καθυστέρηση εγγραφής στην κύρια μνήμη Λύση: bit αλλοίωσης. Σε κάθε block το bit αλλοίωσης μας λέει αν το block έχει αλλάξει όσο είναι στην κρυφή μνήμη. Αν έχει αλλάξει τότε έχουμε εγγραφή κατά το write-back. Αν δεν έχει αλλάξει τότε η κρυφή και η κύρια μνήμη έχουν τα ίδια δεδομένα και δε γίνεται write- back

25 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 25 Παράδειγμα: Alpha ΣΧΗΜΑ 5.7

26 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 26 Μέτρηση απόδοσης μνήμης Χρησιμοποιούμε τον «μέσο χρόνο προσπέλασης της μνήμης» που ορίζεται ως εξής: μέσος χρόνος προσπέλασης της μνήμης = χρόνος ευστοχίας + ρυθμός αστοχίας x ποινή αστοχίας

27 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 27 Βελτίωση απόδοσης κρυφής μνήμης Η απόδοση της κρυφής μνήμης μπορεί να βελτιωθεί με τέσσερες στρατηγικές: Μείωση της ποινής αστοχίας Μείωση του ρυθμού αστοχίας Με παραλληλισμό που μειώνει ποινή ή ρυθμό αστοχίας Μείωση χρόνου ευστοχίας

28 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 28 Μείωση της ποινής αστοχίας (1) Με χρήση πολυεπίπεδων κρυφών μνημών Δεν επηρεάζεται η λειτουργίας της ΚΜΕ αλλά μόνο η διεπαφή κρυφής-κύριας μνήμης. Συμβιβάζουμε την απαίτηση για «μεγάλη και γρήγορη κρυφή μνήμη» με διάσπαση σε δύο επίπεδα: -Μια αρκετά γρήγορη κρυφή μνήμη πρώτου επιπέδου (L1) που εξυπηρετεί γρήγορα μεγάλο μέρος των προσπελάσεων -Μια αρκετά μεγάλη κρυφή μνήμη δευτέρου επιπέδου (L2)

29 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 29 Μείωση της ποινής αστοχίας (2) Η ΚΜΕ κανονικά χρειάζεται κάθε φορά μόνο μια λέξη από κάθε μπλοκ. Συνεπώς μπορούμε… 1.Να ζητήσουμε την απαιτούμενη λέξη πρώτα και να τη στέλνουμε στην ΚΜΕ μόλις φτάσει 2.Να ζητήσουμε τις λέξεις με την κανονική σειρά αλλά να στείλουμε στην ΚΜΕ την επιθυμητή λέξη μόλις φτάσει Οι τεχνικές αυτές έχουν εφαρμογή κυρίως σε μεγάλες κρυφές μνήμες

30 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 30 Μείωση της ποινής αστοχίας (3) Χρησιμοποιώντας τους προσωρινούς χώρους εγγραφής. Με δύο τρόπους: Προτεραιότητα στις αστοχίες ανάγνωσης έναντι εγγραφής Συγχωνεύοντας τον προσωρινό χώρο αποθήκευσης.

31 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 31 Μείωση της ποινής αστοχίας (4) Με χρήση της κρυφής μνήμης θυμάτων. Το σύστημα θυμάται τι είχε απορριφθεί σε περίπτωση που χρειαστεί πάλι.

32 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 32 Ταξινόμηση αστοχιών Οι αστοχίες μπορούν να ταξινομηθούν ως εξής: Υποχρεωτικές. Π.χ. η πρώτη προσπέλαση σε ένα μπλοκ Χωρητικότητας: Αν η κρυφή μνήμη δε χωρά όλα τα απαιτούμενα από το πρόγραμμα μπλοκ Σύγκρουσης: Αν έχουμε συνολοσυσχετιστική ή άμεσα αντιστοιχισμένη μνήμη

33 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 33 Μειώνοντας το ρυθμό αστοχίας (1) Με μεγαλύτερο μέγεθος μπλοκ Μειώνονται οι αστοχίες λόγω της χωρικής τοπικότητας αλλά αυξάνεται η ποινή αστοχίας. ΣΧΗΜΑ 5.16

34 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 34 Μειώνοντας το ρυθμό αστοχίας (2) Με μεγαλύτερες κρυφές μνήμες Αυξάνεται, όμως, παράλληλα το κόστος και ο χρόνος ευστοχίας. Με υψηλότερη συσχετιστικότητα Για μικρές μνήμες στην πράξη ισχύει ότι -Η συνολοσυσχετιστική μνήμη 8 δρόμων είναι εξίσου αποτελεσματική με την πλήρως συσχετιστική και -Μια μνήμη μεγέθους Ν με άμεση αντιστοίχιση έχει ίδιο ρυθμό αστοχίας με μία μνήμη δύο δρόμων μεγέθους Ν

35 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 35 Μειώνοντας το ρυθμό αστοχίας (3) Πρόβλεψη δρόμων Με επιπλέον bit στην κρυφή μνήμη προσπαθούμε να προβλέψουμε τους δρόμους ή τα μπλοκ για την επόμενη προσπέλαση. -Αν επιτύχουμε έχουμε πολύ μικρή καθυστέρηση κρυφής μνήμης (πχ 1 κύκλο για τον Alpha 21264) -Αν αποτύχουμε έχουμε επιπλέον καθυστέρηση κρυφής μνήμης (πχ 3 κύκλους για τον Alpha 21264) Αν το ποσοστό επιτυχούς πρόβλεψης είναι υψηλό μπορούμε να πετύχουμε μεγάλη βελτίωση στην απόδοση

36 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 36 Μειώνοντας το ρυθμό αστοχίας (4) Βελτιστοποιήσεις του μεταφραστή Είναι η μόνη τεχνική που δεν απαιτεί αλλαγές στο υλικό αλλά μόνο αλλαγές στο λογισμικό Απλές αλλαγές στον κώδικα (πχ αλλαγή στη σειρά των εντολών) μπορούν να έχουν επίδραση στην απόδοση κρυφής μνήμης εφόσον ληφθεί υπόψη η αρχιτεκτονική κρυφής μνήμης του συστήματος στο οποίο θα εκτελεστούν

37 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 37 Μείωση αστοχίας με παραλληλισμό (1) Για τους επεξεργαστές που επιτρέπουν εκτέλεση εκτός σειράς: Η ΚΜΕ δε σταματά σε μια αστοχία αλλά συνεχίζει να φέρνει εντολές από την κρυφή μνήμη εντολών

38 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 38 Μείωση αστοχίας με παραλληλισμό (2) Για επεξεργαστές που δεν επιτρέπουν απαραίτητα εκτέλεση εκτός σειράς: Προανάκληση μπλοκ από υλικό: Η ΚΜΕ ανακαλεί δύο μπλοκ σε περίπτωση αστοχίας (το απαιτούμενο και το επόμενο που τοποθετείται σε προσωρινό χώρο αποθήκευσης) Προανάκληση από το μεταφραστή: Ο μεταφραστής εισάγει εντολές προανάκλησης απαιτώντας τα δεδομένα πριν τα χρειαστούμε

39 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 39 Μείωση χρόνου ευστοχίας (1) Η μείωση του χρόνου ευστοχίας είναι επιθυμητή διότι επηρεάζει 1.Το μέσο χρόνο προσπέλασης μνήμης 2.Το ρυθμό ρολογιού του επεξεργαστή Μπορεί να επιτευχτεί με τους εξής τρόπους: Μικρή κρυφή μνήμη, στο ίδιο chip με την ΚΜΕ

40 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 40 Μείωση χρόνου ευστοχίας (2) Απλή λειτουργία κρυφής μνήμης (πχ με άμεση αντιστοίχιση) Προσπέλαση μνήμης με pipeline Κρυφή μνήμη ίχνους: Φόρτωμα ακολουθίας εντολών με δυναμικό και όχι στατικό τρόπο

41 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 41 Οργάνωση μνήμης για βελτίωση απόδοσης Στην απόδοση της κύριας μνήμης παίζουν ρόλο... Το εύρος ζώνης (αριθμός bytes ανά μονάδα χρόνο που εγγράφονται ή διαβάζονται) Η καθυστέρηση (χρόνος απόκρισης) Από αυτά τα δύο, το εύρος ζώνης είναι αυτό που μπορεί να βελτιωθεί με καλύτερη οργάνωση της μνήμης.

42 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 42 Υψηλότερο εύρος ζώνης (1) Συνήθως οι κρυφές μνήμες έχουν εύρος μίας λέξης. Χρησιμοποιώντας εύρος 2 ή 4 λέξεων αυξάνουμε το εύρος ζώνης.

43 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 43 Υψηλότερο εύρος ζώνης (2) Για να αυξηθεί το εύρος ζώνης μπορούμε να οργανώσουμε την κύρια μνήμης σε περισσότερα από ένα chip μνήμης τα οποία μπορούμε να προσπελαύνουμε ταυτόχρονα.

44 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 44 Τεχνολογίες Μνήμης DRAM (Dynamic RAM) Αποτελεί την κύρια επιλογή για την κύρια μνήμη. Χρησιμοποιούν ένα τρανζίστορ για αποθήκευση κάθε bit. Χρειάζονται περιοδικά ανανέωση για να μην χάνουν τα δεδομένα τους. SRAM (Static RAM) Αποτελεί την κύρια επιλογή για την κρυφή μνήμη. Χρησιμοποιεί 6 τρανζίστορ για κάθε bit ώστε να μη χρειάζεται ανανέωση. Ως αποτέλεσμα έχει πολλαπλάσια κόστος αλλά και ταχύτητα σε σχέση με την DRAM (μέχρι 16 φορές)

45 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 45 Εικονική Μνήμη (Virtual Memory) Η εικονική μνήμη είναι ένας τρόπος επέκτασης της φυσικής κύριας μνήμης με τη βοήθεια της δευτερεύουσας μνήμης (π.χ. δίσκοι) Η φυσική μνήμη διαιρείται σε «σελίδες» οι οποίες κατανέμονται στις διάφορες διεργασίες Κάποιες σελίδες, όσες χρειάζονται, βρίσκονται στην κύρια μνήμη και κάποιες βρίσκονται στη δευτερεύουσα Σελίδες μεταφέρονται από και προς την κύρια μνήμη ανάλογα με τα δεδομένα που χρειάζονται τα προγράμματα που εκτελούνται Η διαχείριση της εικονικής μνήμης γίνεται από το λειτουργικό σύστημα

46 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 46 Τι επιλύει η εικονική μνήμη Η εικονική μνήμη δίνει λύση στα εξής ζητήματα: Περιπτώσεις όπου ένα πρόγραμμα απαιτεί περισσότερη φυσική μνήμη από όση διαθέτει ένα σύστημα Περιπτώσεις όπου σε ένα σύστημα τρέχουν πολλές διεργασίες που συνολικά απαιτούν περισσότερη μνήμη από τη φυσική Διευκόλυνση του έργου του προγραμματιστή που δεν ανησυχεί πια για τη χωρητικότητα ή τις φυσικές διευθύνσεις της κύριας μνήμης Παροχή σχήματος προστασίας των δεδομένων κάθε διεργασίας από άλλες διεργασίες

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

48 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 48 Εικονικές διευθύνσεις – Σφάλματα σελίδας Όταν χρησιμοποιούμε την εικονική μνήμη, η ΚΜΕ παράγει «εικονικές διευθύνσεις» Μέσα από υλικό και λογισμικό οι εικονικές διευθύνσεις μεταφράζονται σε φυσικές διευθύνσεις που προσπελαύνουν την κύρια μνήμη: «αντιστοίχιση μνήμης» Όταν ζητηθεί μια σελίδα που δεν υπάρχει στην κεντρική μνήμη τότε έχουμε ένα «σφάλμα σελίδας» και το λειτουργικό αναλαμβάνει να φέρει τη σελίδα από τη δευτερεύουσα στην κύρια μνήμη Το σφάλμα σελίδας έχει μεγάλο κόστος (ο δίσκος πολύ πιο αργός από την κύρια μνήμη) οπότε τα σφάλματα σελίδας πρέπει να ελαχιστοποιούνται

49 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 49 Κρυφή vs Εικονική Μνήμη (1) Η έννοια της εικονικής μνήμης θυμίζει κάτι από την κρυφή μνήμη… ΚρυφήΕικονική ΜπλοκΣελίδα ΑστοχίαΣφάλμα σελίδας Διαχείριση από το υλικόΔιαχείριση από το λειτουργικό Συσχετίζει DRAM και SRAMΣυσχετίζει DRAM και μαγνητικούς δίσκους

50 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 50 Κρυφή vs Εικονική Μνήμη (2) ΣΧΗΜΑ 5.32

51 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 51 Αντιστοίχιση μνήμης Η εικονική διεύθυνση αποτελείται από τον αριθμό εικονικής σελίδας και την απόκλιση σελίδας. Ο πίνακας σελίδων είναι η δομή δεδομένων που κρατά την αντιστοίχηση μεταξύ εικονικών και φυσικών διευθύνσεων σελίδων Η απόκλιση απλά επισυνάπτεται στη μεταφρασμένη φυσική διεύθυνση Αριθμός εικ. σελίδας Απόκλιση σελίδας Εικονική διεύθυνση Πίνακας Σελίδων Κύρια Μνήμη Φυσική διεύθυνση σελίδας

52 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 52 Στρατηγικές εικονικής μνήμης Επειδή η ποινή για κάθε σφάλμα σελίδας είναι υψηλή το λειτουργικό σύστημα προσπαθεί να τα ελαχιστοποιήσει: Επιτρέπει την τοποθέτηση κάθε σελίδας οπουδήποτε στη μνήμη: πλήρως συσχετιστική στρατηγική Χρησιμοποιεί στρατηγική αντικατάστασης σελίδων «LRU – Λιγότερα Πρόσφατα Χρησιμοποιημένη» με τη βοήθεια ενός bit χρήσης Επειδή το χάσμα ανάμεσα στην απόδοση κύριας και δευτερεύουσας μνήμης είναι μεγάλο, κατά την εγγραφή στη μνήμη είναι εφαρμογή μόνο μια στρατηγική “write- back” δηλαδή να εγγράφονται σελίδες στο δίσκο μόνο κατά την αντικατάστασή τους.

53 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 53 Σελιδοποίηση πίνακα σελίδων Οι πίνακες σελίδων αποθηκεύονται στην κύρια μνήμη: μπορούν να σελιδοποιηθούν και οι ίδιοι Τουλάχιστον μια σελίδα του πίνακα σελίδων πρέπει να είναι ανά πάσα στιγμή στην κύρια μνήμη ώστε να μην υπάρξει αδιέξοδο

54 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 54 TLB Με τη σελιδοποίηση, κάθε προσπέλαση μνήμης διαρκεί διπλάσιο χρόνο: -μία προσπέλαση για την απόκτηση φυσικής διεύθυνσης -μία προσπέλαση για την απόκτηση δεδομένων Για να αντιμετωπίσουμε το πρόβλημα αυτό, εκμεταλλευόμαστε την τοπικότητα και κατά την μετάφραση σελίδων: κρατάμε σε έναν πίνακα που ονομάζεται TLB κάποιες μεταφράσεις σύμφωνα με κριτήρια χωρικής και χρονικής τοπικότητας

55 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 55 Παράδειγμα: TLB του Alpha ΣΧΗΜΑ 5.36


Κατέβασμα ppt "ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 1 Κεφάλαιο 5."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google