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

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

Διδάσκοντας: Κ. Χαλάτσης

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


Παρουσίαση με θέμα: "Διδάσκοντας: Κ. Χαλάτσης"— Μεταγράφημα παρουσίασης:

1 Διδάσκοντας: Κ. Χαλάτσης
Memory Management Προηγμένες Αρχιτεκτονικές Υπολογιστών Ζέρβας Παναγίωτης Μ498 Καλαντζής Γίωργος Μ503 Διδάσκοντας: Κ. Χαλάτσης

2 Επικοινωνία μεταξύ επεξεργαστή, κρυφής και κύριας μνήμης
Τεχνικές για τον συνδυασμό μιας μικρής ποσότητας γρήγορης μνήμης και μιας μεγάλης ποσότητας αργής μνήμης=> ικανοποιητική ποσότητα μνήμης σε μια λογική τιμή Η μικρή , γρήγορη μνήμη ονομάζεται κρυφή (cache) και βρίσκεται υπό τον έλεγχο του μικρό-προγράμματος

3 Μέσος χρόνος απόκρισης της μνήμης
Ο μέσος χρόνος απόκρισης για μια αίτηση προς τη μνήμη υπολογίζεται από τη σχέση tαπόκρισης= h*tc + (1-h)*tm. Kαθώς το h τείνει στο 1, όλες οι αναφορές μπορούν να ικανοποιηθούν από την κρυφή μνήμη και ο χρόνος προσπέλασης τείνει στο c

4 Ο ρόλος της κρυφής μνήμης στον υπολογιστή
Σκοπός :Χρησιμοποίηση αρχιτεκτονικών που θα εκμεταλλεύονται στο έπακρο τις δυνατότητες της σημερινής τεχνολογίας και θα διατηρούν το κόστος αγοράς ενός προσωπικού υπολογιστή σε ανεκτά επίπεδα. Λύση : Χρησιμοποιούμε μια ταχύτατη αλλά όχι τόσο ακριβή (λόγω μεγέθους) κρυφή μνήμη των 256 ΚΒ σε συνδυασμό με μια πιο αργή κύρια μνήμη σε συνδυασμό με τη χρησιμοποίηση ενός αλγορίθμου μεταφοράς δεδομένων μεταξύ αυτών των δυο.

5 Τοπικότητα (locality)
Χρονική τοπικότητα Χωρική τοπικότητα

6 Επίπεδα κρυφής μνήμης Επίπεδο Συσκευές που τη χρησιμοποιούν
Level 1 Cache Level 2 Cache, κύρια μνήμη RAM, σκληρός δίσκος / CD-ROM Level 2 Cache κύρια μνήμη RAM, σκληρός δίσκος / CD-ROM System RAM σκληρός δίσκος / CD-ROM Σκληρός δίσκος / CD-ROM --

7 Ιεραρχία των μνημών (1) Level 1 (Primary Cache)
-το chip της L1 cache είναι ενσωματωμένο μέσα στο chip του επεξεργαστή -ο ταχύτερος τύπος μνήμης μετά τους καταχωρητές -η ταχύτητά της είναι ίδια περίπου με αυτή του επεξεργαστή -η L1 cache είναι πολύ μικρή αφού το μέγεθος της κυμαίνεται από 8 ως 64 ΚΒ

8 Ιεραρχία των μνημών (2) Level 2 (Secondary Cache)
-Το μέγεθός της κυμαίνεται από 64 ΚΒ ως 2 ΜΒ και χρησιμοποιείται για την αποθήκευση των πληροφοριών που έχουν προσπελαστεί προσφάτως και δεν είναι αποθηκευμένες στην L1 cache -το chip της δεν είναι ενσωματωμένο μέσα στo chip του επεξεργαστή -Το chip της L2 cache τοποθετείται είτε απευθείας πάνω στη μητρική πλακέτα

9 Ιεραρχία των μνημών (3) Η L2 cache αποτελείται από δυο βασικά μέρη
-Data Store: Είναι το μέρος που αποθηκεύονται πραγματικά οι πληροφορίες -Tag RAM: Είναι ένα μικρό κομμάτι μνήμης που χρησιμοποιείται για να αποθηκευτούν κομμάτια διευθύνσεων της κύριας μνήμης τα περιεχόμενα των οποίων βρίσκονται στην L2 cache

10 Ιεραρχία των μνημών (4) Σχηματικά έχουμε :

11 Εκτίμηση της απόδοσης της ιεραρχικής μνήμης
Ένας τρόπος εκτίμησης της απόδοσης της ιεραρχικής μνήμης είναι ο μέσος χρόνος προσπέλασης της μνήμης : Average memory-access time= Hit time + Miss rate*Miss Penalty - O μέσος χρόνος προσπέλασης μπορεί να μετρηθεί είται ως η απόλυτη τιμή του χρόνου ή σαν ο αριθμός των κύκλων ρολογιού που η CPU περιμένει την μνήμη.

12 Caches τυπικές τιμές της ιεραρχικής μνήμης για κρυφές μνήμες :

13 Τεχνικές μεταφοράς πληροφοριών (1)
Cache Bursting Όλες οι σύγχρονες L2 cache χρησιμοποιούν αυτό τον τύπο μεταφοράς πληροφοριών και μάλιστα ο χρονισμός είναι " ". Αυτό σημαίνει ότι η πρώτη μεταφορά διαρκεί 3 παλμούς, ενώ οι υπόλοιπες 1 παλμό η καθεμιά.

14 Τεχνικές μεταφοράς πληροφοριών (2)
Asynchronous Cache -Όταν μια αίτηση στέλνεται στην κρυφή μνήμη, η τελευταία ανταποκρίνεται στην αίτηση χωρίς να λαμβάνει υπόψη της το ρολόι του συστήματος =>μπορεί να εμφανιστούν διάφορα προβλήματα συγχρονισμού στα πολύ γρήγορα συστήματα. Π.χ. Σε ένα σχετικά αργό σύστημα των 33 MHz, ο χρονισμός της κρυφής μνήμης είναι " ", αλλά σε ταχύτερα συστήματα (66 MHz) ο χρονισμός πέφτει στο " ". -Ο τρόπος λειτουργίας μιας ασύγχρονης κρυφής μνήμης είναι ανάλογος με τον τρόπο λειτουργίας των ασύγχρονων FPM και EDO.

15 Τεχνικές μεταφοράς πληροφοριών (3)
Synchronous Burst Cache -Σε κάθε χτύπο του ρολογιού μπορεί να πραγματοποιηθεί μια μεταφορά πληροφοριών από ή προς την κρυφή μνήμη (αν φυσικά αυτή είναι έτοιμη) -Μπορεί ως ένα βαθμό να ικανοποιεί ταχύτερα συστήματα χωρίς να πέφτει σημαντικά η απόδοση -Όσο πιο γρήγορο είναι το σύστημα, τόσο ταχύτερα chips SDRAM χρειαζόμαστε, για να μην εμφανιστούν προβλήματα χρονισμού

16 Τοποθέτηση ενός μπλοκ στην κρυφή μνήμη (1)
Συσχετιστική κρυφή μνήμη- associative cache

17 Τοποθέτηση ενός μπλοκ στην κρυφή μνήμη (2)
Σε μια συσχετιστική κρυφή μνήμη, η σειρά των καταχωρήσεων είναι τυχαία. (α) μνήμη με μπλοκ 4 byte (β) Συσχετιστική κρυφή μνήμη με 1024 γραμμές

18 Τοποθέτηση ενός μπλοκ στην κρυφή μνήμη (3)
κρυφή μνήμη άμεσης χαρτογράφησης (direct-mapped cache) (a)Κρυφή μνήμη άμεσης χαρτογράφησης με 1024 υποδοχές των 4 byte (b)Υπολογισμός ετικέτας και υποδοχής από μια διεύθυνση των 24 bit

19 Τοποθέτηση ενός μπλοκ στην κρυφή μνήμη (4)
συσχετιστική μνήμη συνόλου (set associative cache) Συσχετιστική κρυφή μνήμη με n καταχωρήσεις ανά υποδοχή

20 Πλεονεκτήματα-Μειονεκτήματα
Η κρυφή μνήμη άμεσης χαρτογράφησης είναι απλούστερη, η κατασκευή της στοιχίζει λιγότερο και έχει μικρότερο χρόνο προσπέλασης . Η συσχετιστική μνήμη έχει υψηλότερο ποσοστό επιτυχίας για οποιονδήποτε αριθμό υποδοχών επειδή δεν υπάρχουν ποτέ συγκρούσεις -Κατά τη σχεδίαση ενός πραγματικού υπολογιστή, εκτελείται μια αναλυτική προσομοίωση της κρυφής μνήμης για να καταλήξουμε στο πόση απόδοση αγοράζει κανείς και σε τι τιμή.

21 Βελτιστοποίηση μεθόδου χαρτογράφησης
Ποσοστό Επιτυχίας (Hit Ratio): Θα πρέπει να είναι πολύ υψηλό το ποσοστό επιτυχίας της L2 cache Search Speed: Η ταχύτητα αναζήτησης των περιεχομένων της L2 cache θα πρέπει να είναι όσο το δυνατόν μεγαλύτερη

22 Αντικατάσταση Block σε ένα Cache Miss
Random : Τα υποψήφια μπλοκ επιλέγονται τυχαία . Least-recently used (LRU) : Για να μειώσουμε την πιθανότητα της διαγραφής πληροφορίας την οποία ίσως χρειαστεί να χρησιμοποιήσουμε σχετικά σύντομα η προσπέλαση στα μπλοκ καταγράφεται. Το μπλοκ που αντικαθίσταται είναι αυτό που έχει αρκετό χρόνο να χρησιμοποιηθεί

23 Χειρισμός εγγραφών διεγγραφή (write though) :όταν γράφεται μια λέξη στην κρυφή μνήμη, γράφεται αυτόματα και στην μνήμη. Εξασφαλίζει ότι οι καταχωρήσεις της κρυφής μνήμης είναι πάντα ίδιες με τις αντίστοιχες καταχωρήσεις της μνήμης . υστεροεγγραφή (copy back) : δεν ενημερώνει τη μνήμη οπότε αλλάζει η κρυφή μνήμη. Αντίθετα, η μνήμη ενημερώνεται μόνον όταν η καταχώρηση καθαρίζεται από την κρυφή μνήμη για να επιτρέψει σε κάποια άλλη καταχώρηση να καταλάβει την υποδοχή της.

24 Διαδικασία ανάγνωσης / εγγραφής της κρυφής μνήμης

25 Cache Performance Ο συνολικός χρόνος εκτέλεσης ενός προγράμματος ισούται με: CPU time = IC * (CPIEXECUTION + Miss_Rate*Miss_Penalty* Memory_Accesses/Instruction) * Clock cycle time Miss Rate: ποσοστό αποτυχίας εύρεσης του επιθυμητού block στο ανώτερο επίπεδο μνήμης. Miss Penalty: χρόνος που χρειάζεται για την μεταφορά του block στο ανώτερο επίπεδο μνήμης. IC : σύνολο εντολών. Memory Accesses: χρόνος εύρεσης της πρώτης λέξης του μπλοκ σε χαμηλότερο επίπεδο μνήμης και ο χρόνος μεταφοράς όλου του μπλοκ στο ανώτερο επίπεδο μνήμης( transfer time).

26 Cache Misses (1) Αναγκαστικός (Compulsory): Η πρώτη αναζήτηση σε ένα block δεν είναι στην cache, οπότε θα πρέπει να το επαναφέρουμε (cold start miss ή reference miss). Χωρητικότητα (Capacity): H cache δεν μπορεί να χωρέσει όλα τα block που χρειάζονται κατά την εκτέλεση ενός προγράμματος => συμβαίνουν capacity misses εξαιτίας των block που έχουν διαγραφεί από την cache τα οποία τα επαναφέρουμε αργότερα.

27 Cache Misses (2) Σύγκρουση (Conflict): Αν η cache είναι set associative ή direct mapped, είναι πιθανό δύο ή περισσότερα block να αντιστοιχούν στην ίδια θέση => διώχνουμε χρήσιμα block από την cache και να τα επαναφέρουμε αργότερα (collision miss.) 8-way : fully associative to 4-way associative 4-way : 8-way associative to 4-way associative 2-way : 4-way associative to 2-way associative 1-way : 2-way associative to 1-way associative

28 Block sizes in Cache συσχέτιση του block size και του miss penalty
- Ο σκοπός της ιεραρχικής μνήμης είναι να μειώσει τον χρόνο εκτέλεσης, και όχι τα misses

29 Improving Cache-Memory Performance
Αυξάνοντας το μέγεθος του μπλοκ δεν βελτιώνεται το average access time Κάνοντας την cache memory μεγαλύτερη μειώνεται η ταχύτητα της, ριψοκινδυνεύοντας έτσι το CPU clock rate. Κάνοντας την cache περισσότερο associative μειώνεται και η ταχύτητα της.

30 Reducing Hit times- Making Writes faster (1)
Πρωτοχρησιμοποιήθηκε στον VAX Tags και data διαχωρίζονται έτσι ώστε να μπορούν να καταχωρηθούν ανεξάρτητα Η διαφορά έγκειται στο ότι η memory access κατά την διαδικασία σύγκρισης χρησιμοποιεί την διεύθυνση και τα data από την προηγούμενη εγγραφή caches οι οποίες πρέπει να είναι direct mapped χρησιμοποιώντας μια τεχνική γνωστή ως subblock placement. Κατά την τεχνική αυτή χωρίζουμε τα blocks σε μικρότερα (subblocks) Κάθε subblock περιλαμβάνει τα δεδομένα και το valid tag

31 Reducing Hit times- Making Writes faster (2)
i) Tag match and valid bit already set. Το tag ήταν αυτό στο οποίο έπρεπε να γράψουμε και τίποτα δεν χάθηκε με το να ξανακάνουμε το valid bit ξανά 1 ii) Tag match and valid bit not set.Το tag ήταν αυτό στο οποίο έπρεπε να γράψουμε και το αντίστοιχο bit ήταν 0. iii)Tag mismatch. Τώρα έχει συμβεί ένα miss το οποίο θα αλλάξει το μέρος των data του μπλοκ => αρκεί να αλλαχθεί το Tag στην cache, ώστε να περιέχονται τα σωστά δεδομένα.

32 Reducing Miss Penalty- Making write misses faster
SW 512(R0), R3 ; M[512] <- R3 LW R1, 1024(R0) ; R1 <- M[1024] LW R2, 512(R0) ; R2 <- M[512] κάθε Read Miss να περιμένει να αδειάσει ο buffer, και μετά να εκτελείται. Mειονέκτημα αυξάνεται το read Miss Penalty. γίνεται έλεγχος στα δεδομένα του buffer, και αν δεν υπάρχει σύγκρουση, να συνεχίζεται το Read Miss

33 Reducing Miss Penalty-Making Read Misses Faster
Early restart : Όταν έρθει η λέξη που ζητά ο επεξεργαστής, να την δώσουμε και να συνεχιστεί η εκτέλεση. Out-of-order-fetch : Απαιτούμε την εκλειπόμενη λέξη από την μνήμη πρώτα και την στέλνουμε στην CPU όσο το δυνατόν συντομότερα. Επιτρέπουμε την CPU να συνεχίσει την εκτέλεση ενώ καλύπτει τις υπολειπόμενες λέξεις στο μπλοκ (wrapped fetch).

34 Making Cache Hits Faster-Virtually Addressed Caches
Το miss penalty παίζει σημαντικό ρόλο στο average access time, αλλά το hit time επηρεάζει και το average access time και το clock rate της CPU Λύση :να χρησιμοποιήσουμε το φυσικό μέρος των διευθύνσεων για να κατατάξουμε την cache ενώ στέλνουμε τις virtual address μέσω των TLB Μειονέκτημα :κρατάμε στην cache διπλά δεδομένα

35 Reducing Miss Penalty-Two Level Caches (1)
O μέσος χρόνος προσπέλασης της μνήμης (Average memory-access time) ισούται : Average memory-access time = Hit timeL1 + Miss rateL1 ( Hit timeL2 + Miss rateL2*Miss penaltyL2 )

36 Reducing Miss Penalty-Two Level Caches (2)
σχετικός χρόνος εκτέλεσης σε σχέση με το μέγεθος της second-level cache.

37 Reducing Miss Rate by Reducing Cache Flushes-I/O (1)
Tο Ι/Ο δημιουργεί το ενδεχόμενο η CPU και τα περιφερειακά να διαβάζουν τα μη ανανεωμένα δεδομένα στην περίπτωση που εφαρμόζεται η μέθοδος write back (cache-coherency)και συναντάται στους multiprocessors.

38 Reducing Miss Rate by Reducing Cache Flushes-I/O (2)
Σχετικά με την εγγραφή έχουμε δυο λύσεις : Software solution: Η λύση αυτή εγγυάται ότι κανένα από τα block του Ι/Ο buffer , δεν υπάρχει στην cache Hardware solution : Eλέγχεται αν οι διευθύνσεις στις οποίες σκοπεύει η συσκευή να γράψει υπάρχουν στην cache. Αν υπάρχουν, τότε οι σχετικές εγγραφές της cache γίνονται invalid.

39 Κύρια Μνήμη RAM

40 Τύποι Μνήμης RAM Στατική RAM:Διατηρεί τα περιεχόμενα της

41 Σύγκριση SRAM,DRAM Πλεονεκτήματα SRAM Απλούστερη Ταχύτητερη
Μικρότερο Κόστος Μικρότερο Μέγεθος

42 Κατηγορίες DRAM (1) Συμβατική DRAM FPM (Fast PageMode) DRAM EDO DRAM
BEDO DRAM

43 Κατηγοριες DRAM (2) Συγχονη και Ασύγχρονη DRAM
DDR (Double Data Rate) SDRAM DR (Direct Rambus) DRAM SL (Synchronous Link) DRAM

44 Προσπέλαση Μνήμης και Χρόνος Προσπέλασης (1)
Διάγραμμα χρονισμού για μια διαδικασία ανάγνωσης απο την κύρια μνήμη

45 Προσπέλαση Μνήμης και Χρόνος Προσπέλασης (2)
Διαδικασία ανάγνωσης απο μια ασύγχρονη μνήμη DRAM

46 Παράμετροι της Μνήμης DRAM
Χρονισμός της μνήμης Ταχύτητα μνήμης DRAM Εκτίμηση ταχύτητας DRAM

47 Οργάνωση της Κύριας Μνήμης για βελτίωση της απόδοσης
(a) One Word Wide Memory Organization CPU CACHE MUX (b) Wide Memory Organization MEMORY (c) Interleaved Memory Organization BANK 0 BANK 1 BANK 2 BANK 3

48 Εικονική Μνήμη (1) Πολλές διεργασίες κάθε μια θέλει τον δικό της address space Πολύ δαπανηρό να δεσμεύσουμε όλο το address space κάθε διεργασίας στη κύρια μνήμη

49 Εικονική Μνήμη (2) Αντιστοιχία εικονικής και φυσικής μνήμης

50 Page Tables Συλλογή απο Page Table Entries που
διατηρούν τις εξής πληροφορίες: Virtual Page Number Page Frame Number Valid Bit Reference Bit Modify Bit Page Protection Bits

51 Translation Look-aside Buffers
Ανάγκη για επιτάχυνση της μετάφρασης απο εικονικές διευθύνσεις σε φυσικές Χρησιμοποίηση μιας cache για τα Page Table Entries

52 Οργάνωση των Page Tables (1)
Hierarchical Page Tables

53 Οργάνωση των Page Tables (2)
Hierarchical Page Tables:2 τρόποι πρόσβασης Top-down traversal Bottom-up traversal

54 Οργάνωση των Page Tables (3)
Inverted Page Tables

55 Οργάνωση των Page Tables (4)
Inverted Page Tables:Lookup Αλγόριθμος Πρόσβασης


Κατέβασμα ppt "Διδάσκοντας: Κ. Χαλάτσης"

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


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