1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Συστήματα Μνήμης – Οργάνωση κύριας μνήμης.
Advertisements

1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Πολυεπεξεργαστές.
Το υλικο του Υπολογιστη
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Ζητήματα Σελιδοποίησης
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
Cache Optimisations.
Processor-Memory (DRAM) Διαφορά επίδοσης
Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη.
Είδη των Cache Misses: 3C’s 1 Compulsory: 1 Compulsory: Συμβαίνουν κατά την πρώτη πρόσβαση σε ένα block. Το block πρέπει να κληθεί από χαμηλότερα επίπεδα.
Ασκήσεις Caches
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Συστήματα Μνήμης – Βασικές Αρχές Cache.
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Pipelining –
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
ΔΕΞΙΟΤΗΤΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΜΝΗΜΩΝ ΕΝΟΣ Η/Υ ΤΜΗΜΑ: Τ6 ΟΝΟΜΑΤΑ: ΣΕΛΑΛΜΑΖΙΔΗΣ ΤΑΣΟΣ ΦΙΛΙΑΣ ΑΝΤΩΝΗΣ ΦΙΛΙΑΣ ΑΝΤΩΝΗΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ.
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Ασκήσεις Αρχιτεκτονικής Υπολογιστών ακαδ. έτος
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Σχεδιασμός της Ιεραρχίας Μνήμης (1) Pedro Trancoso Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου.
Μοντέλα - Αλγόριθμοι – Ταξινόμηση Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Άσκηση Διεύθυνσης Μνήμης με cache Νεκτάριος Κοζύρης Άρης Σωτηρόπουλος Νίκος Αναστόπουλος.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Processor-Memory (DRAM) Διαφορά επίδοσης Performance
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Translation Lookaside Buffers Φροντιστήριο του μαθήματος “Προηγμένοι Μικροεπεξεργαστές”
1 Αρχιτεκτονική υπολογιστών Ενότητα 4 : Ενδιάμεση Μνήμη (Cache Memory) Φώτης Βαρζιώτης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 1 Κεφάλαιο 5.
Αρχιτεκτονική Υπολογιστών ΙΕΡΑΡΧΙΕΣ ΜΝΗΜΗΣ. Αρχιτεκτονική Υπολογιστών ΤΟΠΙΚΟΤΗΤΑ Χρονική Τοπικότητα (Temporal Locality) –μια λέξη μνήμης που χρησιμοποιήθηκε.
Αρχιτεκτονική Υπολογιστών Ενότητα # 3: Ιεραρχία Μνήμης Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Κύρια Μνήμη Διάφοροι τύποι μνήμης RAM Από πάνω προς τα κάτω, DIP, SIPP, SIMM (30-pin), SIMM (72-pin), DIMM (168-pin), DDR DIMM (184-pin). Μνήμη RΟM.
Διαφάνειες διδασκαλίας του πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών) Οργάνωση και.
Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL. Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: –Προσκόμιση.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αρχιτεκτονική Η/Υ ΙΙ Ενότητα #2: Θέματα που αφορούν την Κρυφή Μνήμη (Cache) Νικόλαος Χ. Πετρέλλης Σχολή Τεχνολογικών.
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή Το εσωτερικό της Κεντρικής Μονάδας.
Εικονική Μνήμη (virtual memory)
Θεωρήστε το λογικό χώρο διευθύνσεων που αποτελείται από 8 σελίδες των 1024 λέξεων (word) η καθεμία, που απεικονίζεται σε φυσική μνήμη 32 πλαισίων. Πόσα.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Είδη των Cache Misses: 3C’s
Single-cyle υλοποίηση:
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Morgan Kaufmann Publishers
Θέματα Φεβρουαρίου
Single-cyle υλοποίηση:
Ασκήσεις Caches
Είδη των Cache Misses: 3C’s
Είδη των Cache Misses: 3C’s
Είδη των Cache Misses: 3C’s
Advanced Computer Architectures Cache Memories
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Single-cyle υλοποίηση:
Είδη των Cache Misses: 3C’s
Single-cyle υλοποίηση:
Είδη των Cache Misses: 3C’s
Διδάσκοντας: Κ. Χαλάτσης
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα Μνήμης – Απόδοση Cache Μέρος: Τέταρτο Καθηγητής: Α. Βαφειάδης 2007

2 Α. Βαφειάδης Αλγόριθμοι αντικατάστασης Άμεσης απεικόνισης: Δεν απαιτείται Πλήρως συσχετική και τμηματικά συσχετική: Τυχαία LRU ( block που έχει πολύ χρόνο να χρησιμοποιηθεί -Last Recently Used) FIFO ( Βlock που έχει τον περισσότερο χρόνο στην Cache)

3 Α. Βαφειάδης Πολιτική εγγραφής Write through : Ταυτόχρονη εγγραφή στη μνήμη και στη cache. Εύκολη υλοποίηση Χρονική καθυστέρηση εξαιτίας της παράλληλης εγγραφής στη Κ.Μ Συμβατότητα μεταξύ Κ.Μ και cache Write back: Μόνο στην cache με την παράλληλη ενημέρωση του dirty-bit (=1). Η ενημέρωση της Κ.Μ γίνεται μόνο όταν ένα block πρέπει να αντικατασταθεί από την cache. Υλοποίηση με μεγάλο κόστος Με μικρότερες χρονικές καθυστερήσεις(αν στο ίδιο block γίνουν τρεις αλλαγές έχουμε μόνο μια εγγραφή στην Κ.Μ έναντι τριών στην περίπτωση του Write through. Ασυμβατότητα μεταξύ Κ.Μ και cache (coherent problem)

4 Α. Βαφειάδης Τεχνικές στην περίπτωση write back Μια ανεπιθύμητη παρενέργεια του πρωτοκόλλου write-back είναι το γεγονός ότι μπορεί να προκληθεί εγγραφή στη μνήμη ακόμα και όταν ο επεξεργαστής ζητήσει να διαβάσει κάτι. Για παράδειγμα αν γίνει μια αποτυχία ανάγνωσης (read-miss) και χρειαστεί να φέρουμε από την μνήμη κάποιο block το οποίο θα αντικαταστήσει ένα «βρώμικο» block τότε το βρώμικο block πρέπει να γραφτεί πρώτα στη μνήμη πριν γίνει η ανάγνωση. Τι γίνεται όταν έχουμε ένα write miss (η θέση μνήμης προς εγγραφή δεν βρίσκεται στη cache μνήμη) ? Υπάρχουν δύο τεχνικές No write allocate : H εγγραφή γίνεται μόνο στην K.M Write allocate : Γίνεται εγγραφή τόσο στην cache όσο και στην Κ.Μ

5 Α. Βαφειάδης Παράδειγμα στην περίπτωση write back Παράδειγμα: Βρείτε τα miss και hit σε μια άδεια cache σε μια πλήρως συσχετική write back cache (Υποτίθεται ότι έχουμε μια άδεια cache) Write-AllocateNo-Write-Allocate misshitmiss hit Writemem(10) Readmem(20)++ Writemem(20) ++ Writemem(10) ++

6 Α. Βαφειάδης Η cache του DEC Alpha (AXP 21064)

7 Α. Βαφειάδης Η cache του DEC Alpha (AXP 21064) Address length = (s + w) bits =34 bits M. Memory bytes = 2 s+w = 2 34 Block size = line size = 2 5 bytes = 32 bytes Number of memory blocks = 2 s+w / s w = 2 s = 2 19 Number of lines in cache m = 2 r = 2 8 =256 blocks Size of tag = s-r bits =21 bits Tag Line or index Offset 21 r = 8 w = 5 S

8 Α. Βαφειάδης Εκτίμηση της επίδοσης μνήμης cache Ορισμοί CPU execution cycles = Το πλήθος των κύκλων της CPU που εκτελούνται χωρίς καμία αναφορά σε μνήμη. CPU hit cycles = Το πλήθος των κύκλων κατά τους οποίους η CPU αναμένει να ολοκληρωθούν οι αναφορές στη μνήμη Cache Memory stall cycles = Το πλήθος των κύκλων κατά τους οποίους η CPU αναμένει να ολοκληρωθούν οι αναφορές στη κύρια μνήμη Οι παραπάνω ορισμοί αφορούν ένα πρόγραμμα

9 Α. Βαφειάδης CPU cycles = CPU hit cycles + CPU execution Cycles + + Memory stall cycles (1) Για λόγους όμως απλότητας οι CPU execution cycles προσμετρώνται στους CPU hit cycles οπότε ο παραπάνω τύπος γίνεται CPU cycles= CPU hit cycles + Memory stall cycles CPU time = CPU cycles x Clock time = (2) = (CPU hit cycles + Memory stall cycles ) x Clock time Εκτίμηση της επίδοσης μνήμης cache Τύποι Οι παραπάνω τύποι αφορούν ένα πρόγραμμα

10 Α. Βαφειάδης Miss rate = τη συχνότητα αποτυχίας ένα δεδομένο ή μια εντολή να βρίσκεται στην cache Miss penalty cycles = Οι κύκλοι που απαιτούνται για να ολοκληρωθεί μια αναφορά στη κεντρική μνήμη η οποία όμως συνεπάγεται και την μεταφορά ενός ενός ολόκληρου block από τη κυρία μνήμη στην cache Hit time = Ο μέσος χρόνος προσπέλασης της cache Miss penalty time = Ο μέσος χρόνος προσπέλασης της κυρίας μνήμης Εκτίμηση της επίδοσης μνήμης cache Ορισμοί

11 Α. Βαφειάδης Miss penalty time = Miss penalty cycles x Clock time (3) Average memory access time = hit time + Miss penalty time Memory stall cycles = Πλήθος αποτυχιών x κόστος αποτυχίας (4) Πλήθος των αποτυχιών = IC x (πλήθος αποτυχιών /εντολή ) (5) Miss rate = πλήθος αποτυχιών / πλήθος αναφορών σε μνήμη (6) Memory stall cycles = IC x Miss rate (7) x πλήθος αναφορών σε μνήμη/εντολή x κόστος αποτυχίας Εκτίμηση της επίδοσης μνήμης cache Τύποι

12 Α. Βαφειάδης Κόστος αποτυχίας (miss penalty) Κόστος αποτυχίας ενός word = κόστος αποστολής μιας διεύθυνσης ενός word στη μνήμη + κόστος ανάγνωσης/εγγραφής + κόστος αποστολής του word στη cache Κόστος αποτυχίας = Block size σε words * κόστος αποτυχίας ενός word (10) Ένα word = μια θέση μνήμης

13 Α. Βαφειάδης CPU time CPU time = CPU cycles x Clock time = = (CPU hit cycles + Memory stall cycles ) x Clock time CPU time = (CPU hit cycles + ΙC x miss rate x πλήθος αναφορών σε μνήμη/εντολή x κόστος αποτυχίας ) x Clock time

14 Α. Βαφειάδης Υπολογισμός του CPI CPI = CPU cycles/instruction count (IC) CPI = CPU hit cycles/IC + + πλήθος αναφορών σε μνήμη/εντολή x miss rate x κόστος αποτυχίας (12)

15 Α. Βαφειάδης Τεχνικές βελτίωσης της απόδοσης Ελάττωση του miss penalty Multilevel cache, victim cache k.a Ελάττωση του miss rate Μεγάλα block Μεγαλύτερες cache Μεγαλύτερη τμηματική συσχετικότητα (περισσότερα block/set) Ελάττωση του hit time Απλές και μικρές cache Ελάττωση του miss penalty και του miss rate με παραλληλισμό

16 Α. Βαφειάδης Πολλαπλά επίπεδα cache Aver. memory access time = Hit time L1 + + miss rate L1 * miss penalty L1 = = Hit time L1 + miss rate L1 *(Hit time L2 + miss rate L2 * miss penalty L2 ) Local miss rate = number of misses /total number of memory access in this cache (αναφέρεται τόσο στην L1 όσο και στην L2) Global miss rate = number of misses/total number of memory access generated by the CPU Global miss rate L1 = miss rate L1 Global miss rate L2 = miss rate L1 * miss rate L2

17 Α. Βαφειάδης Pentium IV cache system

18 Α. Βαφειάδης Τρεις είναι καλύτερα από δύο