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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Advertisements

ΨΗΦΙΑΚΗ ΜΝΗΜΗ (RAM – ROM).
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Πολυεπεξεργαστές.
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Pipelining – Βασικές αρχές.
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
Το υλικο του Υπολογιστη
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Ζητήματα Σελιδοποίησης
Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ. Ε
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
Cache Optimisations.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Processor-Memory (DRAM) Διαφορά επίδοσης
Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη.
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
Είδη των 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ο (30%): Έστω η παρακάτω ακολουθία εντολών που χρησιμοποιείται για την αντιγραφή.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Σχεδιασμός της Ιεραρχίας Μνήμης (1) Pedro Trancoso Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου.
Μοντέλα - Αλγόριθμοι – Ταξινόμηση Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
Άσκηση Διεύθυνσης Μνήμης με cache Νεκτάριος Κοζύρης Άρης Σωτηρόπουλος Νίκος Αναστόπουλος.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Processor-Memory (DRAM) Διαφορά επίδοσης Performance
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Translation Lookaside Buffers Φροντιστήριο του μαθήματος “Προηγμένοι Μικροεπεξεργαστές”
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -- Δ. Σερπάνος 1 Κεφάλαιο 5.
Αρχιτεκτονική-ΙI Ενότητα 4 : Μνήμες Ιωάννης Έλληνας Τμήμα Η/ΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα.
Αρχιτεκτονική Υπολογιστών Ενότητα # 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: Το εσωτερικό του Υπολογιστή Το εσωτερικό της Κεντρικής Μονάδας.
Θεωρήστε το λογικό χώρο διευθύνσεων που αποτελείται από 8 σελίδες των 1024 λέξεων (word) η καθεμία, που απεικονίζεται σε φυσική μνήμη 32 πλαισίων. Πόσα.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Είδη των Cache Misses: 3C’s
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Morgan Kaufmann Publishers
Θέματα Φεβρουαρίου
Ασκήσεις Caches
Είδη των Cache Misses: 3C’s
Είδη των Cache Misses: 3C’s
Είδη των Cache Misses: 3C’s
Είδη των Cache Misses: 3C’s
Είδη των Cache Misses: 3C’s
Διδάσκοντας: Κ. Χαλάτσης
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

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

2 Α. Βαφειάδης Αλγόριθμοι αντικατάστασης Άμεσης απεικόνισης: Δεν απαιτείται Πλήρως συσχετική και τμηματικά συσχετική: Τυχαία LRU ( block που έχει πολύ χρόνο να χρησιμοποιηθεί -Last Recently Used) FIFO ( Βlock που έχει τον περισσότερο χρόνο στην Cache) Τμηματικά Συσχετιστική cache 2 δρόμοι4 δρόμοι8 δρόμοι ΜέγεθοςLRUΤυχαίαLRUΤυχαίαLRUΤυχαία 16KB5.18%5.69%4.67%5.29%4.39%4.96% 64KB1.88%2.01%1.54%1.66%1.39%1.53% 256KB1.15%1.17%1.13% 1.12%

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 μνήμη) ? Υπάρχουν δύο τεχνικές Write allocate (ή fetch-on-write). Στο πρωτόκολλο αυτό φέρνουμε το block από τη μνήμη στην cache και γράφουμε πάνω σε αυτό. Χρησιμοποιείται συνήθως μαζί με το πρωτόκολλο write-back. No-write allocate (ή write-around). Στο πρωτόκολλο αυτό δεν φέρνουμε το block στην cache και γράφουμε κατευθείαν πάνω στη κεντρική μνήμη. Χρησιμοποιείται μαζί με το πρωτόκολλο write-through.

5 Α. Βαφειάδης Παράδειγμα στην περίπτωση write back Παράδειγμα: Βρείτε τα miss και hit σε μια άδεια cache σε μια πλήρως συσχετική write back cache (Υποτίθεται ότι έχουμε μια άδεια cache) Write-Allocate Memory to cache No-Write-Allocate M. Memory only misshitmiss hit Write_mem(10) Read_mem(20)++ Write_mem(20) ++ Write_mem(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 / 2 w = 2 s = 2 29 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 κατά τους οποίους η 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 Α. Βαφειάδης Μέθοδοι βελτίωσης της απόδοσης της cache Μείωση του χρόνου προσπέλασης Αύξηση της συχνότητας επιτυχίας Μείωση του κόστους αποτυχίας

16 Α. Βαφειάδης Μείωση του χρόνου προσπέλασης Μικρές cache άμεση απεικόνιση Παράλληλη σύγκριση tag και μετάδοσης δεδομένων

17 Α. Βαφειάδης Αύξηση της συχνότητας επιτυχίας Μεγάλα block Αύξηση των blocks ανά τμήμα ( περίπτωση τμηματικά συσχετικής ) Μια cache μεγέθους Ν με απ’ ευθείας απεικόνιση (1 block/τμήμα, αριθμός τμημάτων = αριθμός blocks) έχει περίπου την ίδια συχνότητα αποτυχίας με μια cache μεγέθους Ν /2 με 2 blocks/τμήμα (αριθμός τμημάτων = αριθμός blocks/2). Μέγεθος cache Μέγεθος block 1Κ4Κ16Κ64Κ256Κ %8.6%3.9%2.0%1.1% %7.2%2.9%1.4%0.7% %7.0%2.6%1.1%0.5% %7.8%2.8%1.0%0.5% %9.5%3.3%1.2%0.5%

18 Α. Βαφειάδης Μείωση του κόστους αποτυχίας [Μέσος χρόνος προσπέλασης μνήμης] = = [Χρόνος προσπέλασης cache] 1 + [Συχνότητα αποτυχίας] 1  [Κόστος αποτυχίας] 1 [Κόστος αποτυχίας] 1 = =[Χρόνος προσπέλασης cache] 2 + [Συχνότητα αποτυχίας] 2  [Κόστος αποτυχίας] 2 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

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

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