Προηγμένοι Μικροεπεξεργαστές. Υποσύστημα Μνήμης

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Προηγμένοι Μικροεπεξεργαστές. Υποσύστημα Μνήμης"

Transcript

1 Προηγμένοι Μικροεπεξεργαστές Υποσύστημα Μνήμης

2 An unbalanced system CPU Memory Εργαστήριο Ηλεκτρονικών Εφαρμογών 2

3 Memory Wall Στους πρώτους μικροεπεξεργαστές: Η μνήμη τόσο γρήγορη όσο και ο επεξεργαστής Η προσπέλαση μνήμης 1-2 κύκλους ρολογιού πιο αργή από μία πράξη της ALU Εργαστήριο Ηλεκτρονικών Εφαρμογών 3

4 Memory Wall Η ταχύτητα του επεξεργαστή αυξάνει πολυ πιο γρήγορα από ότι της μνήμης Χάσμα μνήμης (Memory Wall) Το χάσμα αυξάνεται 50% ανά χρόνο CPU 2x/ 2 χρόνια Mem 2x/ 10 χρόνια Εργαστήριο Ηλεκτρονικών Εφαρμογών 4

5 Memory Wall Κεντρικό πρόβλημα της αρχιτεκτονικής υπολογιστών Αν δεν αντιμετωπιστεί, κάθε mov θα στοιχίζει εκατοντάδες κύκλους ρολογιού Οι περισσότερες εξελίξεις στην μικροαρχιτεκτονική των x86 αντιμετωπίζουν άμεσα ή έμμεσα το memory wall Εργαστήριο Ηλεκτρονικών Εφαρμογών 5

6 Memory Wall Παράδειγμα: Συμπεριφορά ενός επεξεργαστή χωρίς να αντιμετωπίσουμε το memory wall 300Μ εντολές του gcc Για επεξεργαστή με δυνατότητες κοντά σε αυτές του 8086 Για αυξανόμενες ταχύτητες ρολογιού Εργαστήριο Ηλεκτρονικών Εφαρμογών 6

7 Memory Wall Για μικρές αυξήσεις της ταχύτητας του ρολογιού, το κέρδος είναι σημαντικό Από ένα σημείο και μετά, όμως το σύστημα περνά την περισσότερη ώρα περιμένοντας δεδομένα από την μνήμη Η αύξηση της ταχύτητας του ρολογιού παράγει ασήμαντα ωφέλη Execution time vs CPU clock speedup (linear-log) Execution time vs CPU clock speedup (log-log) Εργαστήριο Ηλεκτρονικών Εφαρμογών 7

8 Memory Wall Η αύξηση της ταχύτητας του ρολογιού, δεν αρκεί από μόνη της Χρειάζεται απομόνωση του γρήγορου επεξεργαστή από την αργή μνήμη Πως όμως θα γίνει αυτό; Εργαστήριο Ηλεκτρονικών Εφαρμογών 8

9 Λύση? Βασικό χαρακτηριστικό της μνήμης: Η μνήμη μπορεί να είναι μεγάλη ή γρήγορη ( vast or fast ) Αλλά ποτέ και τα δύο μαζί! Ιεραρχία Μνήμης: L2 DRAM Μέγεθος registers L1 Ταχύτητα Εργαστήριο Ηλεκτρονικών Εφαρμογών 9

10 CPU Caches Static RAM (SRAM) μνήμες συνήθως μέσα στο ολοκληρωμένο Μικρότερες από την κύρια μνήμη, αλλά μεγαλύτερες από το register file Ενώνονται με τον επεξεργαστή με γρήγορους δίαυλους Χρόνοι απόκρισης: 1 έως κύκλοι Κάνουν την φαινομενική ταχύτητα των MOV εντολών, πολύ μεγαλύτερη της ταχύτητας της μνήμης Δουλεύουν εξαιτίας του temporal και του spatial locality Εργαστήριο Ηλεκτρονικών Εφαρμογών 10

11 CPU Caches - Λειτουργία Σε κάθε προσπέλαση κοιτάμε αν τα δεδομένα μας βρίσκονται στην cache Ναι Cache hit Τα δεδομένα διαβάζονται σε μερικούς κύκλους ρολογιού Όχι Cache miss Ta δεδομένα πρέπει να έρθουν από την μνήμη και να τοποθετηθούν στην cache miss rate: ποσοστό αποτυχημένων προσπελάσεων Αν δεν υπάρχει κενός χώρος cache replacement αδειάζουμε μία θέση, γράφοντας (ίσως) τα δεδομένα της πίσω στην μνήμη Εργαστήριο Ηλεκτρονικών Εφαρμογών 11

12 CPU Caches - Κατηγορίες Ανάλογα με το είδος δεδομένων: Εντολών Δεδομένων Ενοποιημένες Ανάλογα με την θέση τους ως προς τον επεξεργαστή: Εσωτερική Εξωτερική Level 1 (L1) κολλητά στον επεξεργαστή Level 2 (L2) κάτω από την L1 Level 3 (L3) Εργαστήριο Ηλεκτρονικών Εφαρμογών 12

13 CPU Caches Σχεδιαστικές Επιλογές 1) Πως βρίσκουμε αν το block βρίσκεται στην cache; tag, block... 2) Που επιτρέπεται να τοποθετήσουμε ένα block; fully-associative, set-associative, direct-mapped 3) Ποιο block αντικαθιστούμε σε περίπτωση miss; random, NRU, LRU, FIFO 4) Πως χειριζόμαστε τα writes; write-back, write-through Εργαστήριο Ηλεκτρονικών Εφαρμογών 13

14 Block Identification Πως βρίσκουμε αν ένα block υπάρχει στην cache ή όχι; Η ζητούμενη διεύθυνση χωρίζεται σε τρία κομμάτια: block, index, tag Μνήμη TAG INDEX BLOCK Διεύθυνση = b Cache Εργαστήριο Ηλεκτρονικών Εφαρμογών 14

15 Block Identification Πως βρίσκουμε αν ένα block υπάρχει στην cache ή όχι; Η ζητούμενη διεύθυνση χωρίζεται σε 3 κομμάτια: block, index, tag Το index δίνει την θέση όπου θα ψάξουμε Μνήμη TAG INDEX BLOCK Διεύθυνση = b Cache Εργαστήριο Ηλεκτρονικών Εφαρμογών 15

16 Block Identification Πως βρίσκουμε αν ένα block υπάρχει στην cache ή όχι; Η ζητούμενη διεύθυνση χωρίζεται σε 3 κομμάτια: block, index, tag Το index δίνει την θέση όπου θα ψάξουμε Το tag συγκρίνεται με το tag που είναι αποθηκευμένο μαζί με τα δεδομένα Μνήμη TAG Ισότητα? DATA 4 bytes TAG INDEX BLOCK Διεύθυνση = b Cache Εργαστήριο Ηλεκτρονικών Εφαρμογών 16

17 Block Identification Πως βρίσκουμε αν ένα block υπάρχει στην cache ή όχι; Η ζητούμενη διεύθυνση χωρίζεται σε 3 κομμάτια: block, index, tag Το index δίνει την θέση όπου θα ψάξουμε Το tag συγκρίνεται με το tag που είναι αποθηκευμένο μαζί με τα δεδομένα Το block δίνει το offset μέσα στο block, που θέλουμε να διαβάσουμε Μνήμη Cache TAG Ισότητα? DATA 4 bytes TAG INDEX BLOCK Διεύθυνση = b Εργαστήριο Ηλεκτρονικών Εφαρμογών 17

18 Block Placement: Direct-Mapped Direct-mapped caches: το δεδομένο μπορεί να βρίσκεται σε αποκλειστικά μία προκαθορισμένη θέση που επιλέγεται από το index Trade-off: Πολύ απλή και γρήγορη αναζήτηση, αλλά μεγάλη πιθανότητα 2 χρήσιμα δεδομένα να πέφτουν στην ίδια θέση Μνήμη TAG INDEX BLOCK Διεύθυνση = b Cache ? TAG INDEX BLOCK Διεύθυνση = b Εργαστήριο Ηλεκτρονικών Εφαρμογών 18

19 Block Placement: Set-Associative n-way set-associative: 1-προς-n αντιστοιχία block μνήμης σε πιθανές θέσεις στην cache To index διαλέγει ολόκληρο set (σύνολο από n θέσεις) Για αναζήτηση: κοιτάμε τα tags σε όλο το set Trade-off: Μικρότερο miss-rate, αλλά πιο αργή αναζήτηση Μνήμη 2-way set-associative Cache TAG INDEX BLOCK Διεύθυνση = b TAG INDEX BLOCK Διεύθυνση = b Εργαστήριο Ηλεκτρονικών Εφαρμογών 19

20 Block Placement: Fully-Associative Fully-associative: 1 μόνο set ένα block μπορεί να βρίσκεται σε οποιαδήποτε θέση Δεν υπάρχει index Trade-off: η πιο ευέλικτη δομή, αλλά με τεράστιο κόστος για την αναζήτηση Μνήμη fully-associative Cache TAG BLOCK TAG BLOCK Διεύθυνση = b Διεύθυνση = b Εργαστήριο Ηλεκτρονικών Εφαρμογών 20

21 Block Replacement Στις direct-mapped: μόνο μία θέση για να μπει το δεδομένο την αδειάζουμε και γράφουμε το νέο δεδομένο Στις associative: πολλαπλές θέσεις, σε ποια θα τοποθετήσουμε το δεδομένο; Ιδανικά σε αυτήν που κρατά το λιγότερο χρήσιμο δεδομένο δυστυχώς δεν ξέρουμε πόσο χρήσιμα θα είναι τα δεδομένα μας Εργαστήριο Ηλεκτρονικών Εφαρμογών 21

22 Block Replacement Πιο απλή μέθοδος: random Διαλέγουμε τυχαία το way που θα αντικαταστήσουμε Trade-off: Πολύ απλή υλοποίηση, αποδεκτή αλλά όχι σπουδαία απόδοση Πιο κοντινή στην ιδανική μέθοδο: LRU(Least Recently Used) Αντικαθιστούμε το block που έχει να χρησιμοποιηθεί τον περισσότερο καιρό Trade-off: Συλλαμβάνει καλύτερα το temporal locality (μικρότερο miss rate), αλλά είναι πολύ σύνθετη και ακριβή υλοποίηση (n*log(n) bits για κάθε set με n ways, βαρύς αλγόριθμος) Εργαστήριο Ηλεκτρονικών Εφαρμογών 22

23 Block Replacement - Συμβιβασμοί Pseudo-LRU Ξέρει με ακρίβεια μόνο το MRU block, διαλέγει προσεγγιστικά το LRU Trade-off: Ελαφρώς χαμηλότερη απόδοση, πολύ πιο απλή υλοποίηση (n-1 bits για κάθε set με n ways, επιλογή block με lookup table) FIFO: First-In First-Out Κρατάει την σειρά με την οποία μπήκαν τα blocks στην cache Trade-off: Απόδοση ελαφρώς καλύτερη ή χειρότερη ανάλογα με το πρόγραμμα, ίδιος όγκος πληροφορίας με το LRU, πιο απλός αλγόριθμος Εργαστήριο Ηλεκτρονικών Εφαρμογών 23

24 Block Replacement - Συμβιβασμοί NRU: Not Recently Used Ξέρει μόνο ποια blocks δεν έχουν χρησιμοποιηθεί πρόσφατα, διαλέγει τυχαία ένα από αυτά Trade-off: n bits ανά set, πολύ απλός αλγόριθμος, απόδοση όμως κάπου ανάμεσα στο random και στο LRU Εργαστήριο Ηλεκτρονικών Εφαρμογών 24

25 Block Replacement - Συμβιβασμοί Ο αριθμός των ways έχει αρνητική επίδραση: και στην κυκλωματική πολυπλοκότητα και στο κόστος των μεθόδων αντικατάστασης Πχ για 32 ways: η αναζήτηση απαιτεί διάβασμα 32 tags και 32 συγκρίσεις το LRU απαιτεί αποθήκευση & διαρκή ανανέωση 160 bits ανά set Για 4 ways: συγκρίνουμε μόνο 4 tags για αναζήτηση για το LRU συντηρούμε μονο 8 bits ανά set Το καλύτερο trade-off είναι στα 2 έως 4 ways Λίγο καλύτερη απόδοση με περισσότερα ways, αλλά δυσανάλογη αύξηση του κόστους Για μεγαλύτερες, πιο αργές caches (L2, L3) περισσότερα ways είναι ΟΚ Εργαστήριο Ηλεκτρονικών Εφαρμογών 25

26 Write Strategy Πρόβλημα όταν κάνουμε write τα αντίγραφα στην cache έχουν διαφορετικές τιμές από ότι τα δεδομένα στην μνήμη Δύο τακτικές: Write-through Write-back Εργαστήριο Ηλεκτρονικών Εφαρμογών 26

27 Write Strategy Write-through: Σε κάθε write στέλνουμε τα δεδομένα και στην μνήμη Αντιμετωπίζουμε απλά το πρόβλημα των writes Χρειαζόμαστε buffer, για να μην καθυστερούμε τον επεξεργαστή μέχρι να ολοκληρωθεί η εγγραφή Κάθε mov προς την μνήμη, προκαλεί χρήση του bus χρειαζόμαστε υψηλότερο bandwidth προς την μνήμη Εργαστήριο Ηλεκτρονικών Εφαρμογών 27

28 Write Strategy Write-back: Δεν στέλνουμε writes στην μνήμη Όταν διώχνουμε block με αλλαγμένα δεδομένα, μόνο τότε τα στέλνουμε και στην μνήμη Πολλαπλές εγγραφές στο ίδιο block προκαλούν μόνο μία εγγραφή στην μνήμη λιγότερο bandwidth Ta δεδομένα της μνήμης και της cache ΔΕΝ είναι τα ίδια Cache inconsistency problem για Ι/Ο & multiprocessing Χρειάζεται έξτρα μηχανισμούς για να αποφευχθούν σφάλματα Χρειάζεται ένα extra bit, το dirty bit, για να θυμόμαστε ποια blocks έχουν αλλάξει Εργαστήριο Ηλεκτρονικών Εφαρμογών 28

29 Αποτελέσματα μίας απλής L1 cache Perfect Memory No Cache L1 Cache Εργαστήριο Ηλεκτρονικών Εφαρμογών 29

30 Cache Performance CPUtime = Instruction Count x CPI total x Clock cycle time CPI total = CPI non_memory + (Mem accesses per instruction x miss_rate x miss_penalty) Εργαστήριο Ηλεκτρονικών Εφαρμογών 30

31 Improving Cache Performance 1) Μείωσε το miss rate, 2) Μείωσε το κόστος του miss, ή 3) Μείωσε το χρόνο που χρειάζεται για το hit Εργαστήριο Ηλεκτρονικών Εφαρμογών 31

32 Improving Cache Performance 1) Μείωσε το miss rate, 2) Μείωσε το κόστος του miss, ή 3) Μείωσε το χρόνο που χρειάζεται για το hit Εργαστήριο Ηλεκτρονικών Εφαρμογών 32

33 Μείωση των misses Κατηγοριοποίηση των misses: 3 C Compulsory ή Cold: Κατά την πρώτη ανάγνωση ενός block, αυτό δεν μπορεί να είναι στην cache και προκαλεί αναγκαστικά miss. Capacity: Misses που προκαλούνται γιατί τα blocks που χρειάζεται το πρόγραμμα υπερβαίνουν τα blocks που μπορούν να χωρέσουν στην cache. Conflict: Extra misses που προκαλούνται σε directmapped και set-associative caches, επειδή ο αριθμός των blocks που πέφτουν σε ένα set υπερβαίνει το μέγεθος του set Extra C: Coherency Εργαστήριο Ηλεκτρονικών Εφαρμογών 33

34 Μέσο απόλυτο miss rate (SPEC92) way 2-way 4-way 8-way Capacity Cache Size (KB) Compulsory Εργαστήριο Ηλεκτρονικών Εφαρμογών 34

35 Πως μειώνουμε τα misses; 3 Cs: Compulsory, Capacity, Conflict Πως μεταβάλεται κάθε C όταν αλλάζουμε: Το μέγεθος του block; Το associativity; Το πως λειτουργεί ο compiler; Εργαστήριο Ηλεκτρονικών Εφαρμογών 35

36 1. Μείωση των misses με μεγαλύτερο μέγεθος block 25% Miss Rate 20% 15% 10% 5% 0% Block Size (bytes) 256 1K 4K 16K 64K 256K Εργαστήριο Ηλεκτρονικών Εφαρμογών 36

37 2. Μείωση των misses με μεγαλύτερο associativity Πρακτικός κανόνας 2:1 Μία direct-mapped cache μεγέθους Ν έχει το ίδιο miss rate με μία 2-way set-associative cache μεγέθους Ν/2 Αλλά προσοχή! Το σημαντικό μέγεθος είναι ο χρόνος εκτέλεσης Όσο αυξάνεται το associativity, αυξάνεται και ο χρόνος εξυπηρέτησης του hit Ο Hill [1988] πρότεινε σαν κανόνα για την αύξηση του hit time ανάμεσα σε μία 2-way και μία 1-way: external cache +10%, internal + 2% Εργαστήριο Ηλεκτρονικών Εφαρμογών 37

38 3. Μείωση των misses με μία victim cache Πως να συνδυάσουμε το γρήγορο hit time της direct-mapped με τα λιγότερα conflict misses της set-associative; Victim Cache! Μικρός fully-associative buffer Τα δεδομένα που φεύγουν από την κυρίως cache μπαίνουν στην victim cache Αν χώραγαν σε μία set-associative cache, αλλά έφυγαν μόνο και μόνο λόγω του περιορισμένου associativity, τότε υπάρχει πολύ καλή πιθανότητα να χρησιμοποιηθούν όσο είναι στην victim cache Jouppi [1990]: Με μία victim cache 4 εγγραφών μειώθηκαν κάτα 20% εώς 95% τα conflict misses μίας 4KB DM cache Χρησιμοποιούνται σε επεξεργαστές Alpha & επεξεργαστές HP Εργαστήριο Ηλεκτρονικών Εφαρμογών 38

39 4. Μείωση των misses με φαινομενική αύξηση του associativity Κάποιος άλλος τρόπος να μειώσουμε τα conflict misses, χωρίς ζημιά στο hit time; Pseudo-associativity Μοιράζουμε την cache σε δύο μισά Στο ένα μισό ελέγχουμε για hit όπως σε μία direct-mapped Στο άλλο μισό ελέγχουμε αν κάνουμε miss στο πρώτο μισό Hit στο δεύτερο μισό: slow-hit Μειονέκτημα: περιπλέκεται πολύ το pipeline του επεξεργαστή, αν το hit παίρνει είτε 1 είτε 2 κύκλους Χρησιμεύει κυρίως για caches μακριά από τον επεξεργαστή, πχ L2 ή L3 Υπάρχει στον MIPS R1000 και στον UltraSPARC Εργαστήριο Ηλεκτρονικών Εφαρμογών 39

40 5. Μείωση των misses με prefetching Prefetching: μεταφορά block από την μνήμη στην cache πριν αυτά ζητηθούν Σωστές έγκαιρες μεταφορές: Μείωση των misses Σωστές αλλά καθυστερημένες μεταφορές: Μείωση του χρόνου του miss Σωστές αλλά πρόωρες μεταφορές: Ίσως διώξουν χρήσιμα δεδομένα Ίσως να μην καταφέρουν να μείνουν στην cache μέχρι να χρησιμοποιηθούν...αλλά θα έχουμε κάποιο κέρδος Λάθος μεταφορές: διπλή ζημιά! Αχρείαστη αύξηση του απαιτούμενου bandwidth Εκτόπιση χρήσιμων δεδομένων από την cache Εργαστήριο Ηλεκτρονικών Εφαρμογών 40

41 5. Μείωση των misses με prefetching Πως γίνεται; Software: Εντολές μέσα στον κώδικα, λένε στον επεξεργαστή ποια δεδομένα να φέρει Hardware: πάρα πολλά σχήματα Εργαστήριο Ηλεκτρονικών Εφαρμογών 41

42 5. Μείωση των misses με hardware prefetching Συνηθισμένοι μηχανισμοί: Sequential prefetcher Αν κάνουμε miss στο block i, φέρνουμε το i+1 Πολύ καλό για instruction caches το instruction stream είναι sequential από την φύση του Σχετικά καλό για data caches One Block Lookahead Αν κάνουμε access στο block i, φέρνουμε το i+1 Μοιάζει με το να έχουμε διπλάσιο block size, ενίοτε δημιουργεί προβλήματα Stride Prefetcher Αν κάνουμε access το block i και το block i+n και το block i+2n, φέρε το i+3n History Based Αν δεις patterns από accesses να επαναλαμβάνονται, φέρε το επόμενο block του pattern Εργαστήριο Ηλεκτρονικών Εφαρμογών 42

43 5. Μείωση των misses με hardware prefetching Ο δικός μας: Hu,Καξίρας,Martonosi, ISCA 2002 Βελτιώσεις από τον Γ. Κεραμίδα Correlating prefetcher με πρόβλεψη χρόνου Διατηρεί ιστορία από ακολουθείες tag που εμφανίζονται στη cache: Μνήμη Cache Αν δούμε A,B κάνουμε prefetch to C Προβλέπουμε επίσης πόσο θα μείνει το B στην cache ώστε να κάνουμε prefetch το C μετά τη ζωή του B Με 8ΚΒ ιστορία ελαχιστοποιούμε το miss rate μιας 32KB L1D σχεδόν όσο είναι θεωρητικά δυνατό Ακολουθίες TAG...,A,B,C,.....,D,B,C,.....,C,A,B,C....,E,F,G,.. Πίνακας Ιστορίας ABC DBC CAB EFG Εργαστήριο Ηλεκτρονικών Εφαρμογών 43

44 6. Μείωση των misses με software Data Prefetch prefetching Εντολές μέσα στο πρόγραμμα προκαλούν φόρτωση των δεδομένων στον επεξεργαστή πριν ζητηθούν Register prefetch Φόρτωσε τα δεδομένα σε register (HP PA-RISC loads) Cache prefetch Φόρτωσε τα δεδομένα στην cache (MIPS IV, PowerPC, SPARC v. 9, Intel & AMD x86) Οι ειδικές prefetching εντολές δεν προκαλούν faults Εργαστήριο Ηλεκτρονικών Εφαρμογών 44

45 Πχ: 6. Μείωση των misses με software prefetching for (i = 0; i < N; i++) { sum += a[i]*b[i]; } // Δύο misses ανά 16 iterations Εργαστήριο Ηλεκτρονικών Εφαρμογών 45

46 Πχ: 6. Μείωση των misses με software prefetching for (i = 0; i < N; i++) { prefetch( &a[i + P] ); prefetch( &b[i + P] ); sum += a[i]*b[i]; // κανένα miss } Εργαστήριο Ηλεκτρονικών Εφαρμογών 46

47 Πχ: 6. Μείωση των misses με software prefetching for (i = 0; i < N; i++) { prefetch( &a[i + P] ); prefetch( &b[i + P] ); sum += a[i]*b[i]; // κανένα miss } Δύο θέματα: Timing: το P πρέπει να είναι τέτοιο ώστε να δεδομένα να προλάβουν να έρθουν πριν χρησιμοποιηθούν, αλλά να μην έρθουν πολύ νωρίτερα για να μην μολύνουν την cache Κόστος εντολων: οι prefetch τρώνε κύκλους ρολογιού το κόστος εκτέλεσής τους < από τα κέρδη σε μείωση των misses Το παραπάνω παράδειγμα σε έναν σύγχρονο επεξεργαστή θα έτρεχε πιο αργά με εντολές prefetch Εργαστήριο Ηλεκτρονικών Εφαρμογών 47

48 7. Μείωση των misses με optimizations από τον compiler Στο McFarling [1989] μειώθηκαν τα misses μίας 8KB direct mapped cache κατά 75% Πως; Εργαστήριο Ηλεκτρονικών Εφαρμογών 48

49 7. Μείωση των misses με optimizations από τον compiler - Εντολές Τοποθέτηση ρουτινών στην μνήμη ώστε να μειωθούν τα conflict misses Profiling ώστε να εντοπιστούν οι σημαντικότερες πηγές conflict misses Εργαστήριο Ηλεκτρονικών Εφαρμογών 49

50 7. Μείωση των misses με optimizations από τον compiler - Δεδομένα Ένωση πινάκων: αύξηση του spatial locality μέσω της χρήσης ενός πίνακα δομών (με δύο μέλη ανά εγγραφή) αντί για δύο ξεχωριστούς πίνακες (ένας για κάθε μέλος) Α B for(i=0;i<1024;i++) A[i] = A[i] + B[i]; for(i=0;i<1024;i++) A[i] = A[i] * B[i]; C for(i=0;i<1024;i++) C[i].a = C[i].a + C[i].b; for(i=0;i<1024;i++) C[i].a = C[i].a * C[i].b; Εργαστήριο Ηλεκτρονικών Εφαρμογών 50

51 7. Μείωση των misses με optimizations από τον compiler - Δεδομένα Αλλαγή της σειράς ενθυλακωμένων loops: αλλαγή της σειρά ενθυλάκωσης ώστε οι προσπελάσεις στη μνήμη να γίνονται με τη σειρά που βρίσκονται τα δεδομένα στη μνήμη Α for(j=0;j<2;j++) for(i=0;i<1024;i++) A[i][j] = 2 * A[i][j]; Α for(i=0;i<1024;i++) for(j=0;j<2;j++) A[i][j] = 2 * A[i][j]; Εργαστήριο Ηλεκτρονικών Εφαρμογών 51

52 7. Μείωση των misses με optimizations από τον compiler - Δεδομένα Ένωση loops: συνδυασμός δύο ανεξάρτητων loops των οποίων Α πολλά δεδομένα συμπίπτουν for(i=0;i<1024;i++) A[i] = A[i] ; for(i=0;i<1024;i++) A[i] = log(a[i]); Α for(i=0;i<1024;i++) { A[i] = A[i] ; A[i] = log(a[i]); } Εργαστήριο Ηλεκτρονικών Εφαρμογών 52

53 7. Μείωση των misses με optimizations Blocking: από τον compiler - Δεδομένα αύξηση του temporal locality με το να περιορίζούμε την επεξεργασία σε τμήματα των δεδομένων, πριν προχωρήσουμε στο επόμενο τμήμα δεδομένων Dark color: last 16 accessed data (in cache) Α for(i=0;i<8;i++) for(j=0;j<8;j++) B[i][j] = (A[i-1][j] + A[i+1][j] + A[i][j-1] + A[i][j+1])/4; B Each iteration: 3 read misses, 1 write misses Εργαστήριο Ηλεκτρονικών Εφαρμογών 53

54 7. Μείωση των misses με optimizations Blocking: από τον compiler - Δεδομένα αύξηση του temporal locality με το να περιορίζούμε την επεξεργασία σε τμήματα των δεδομένων, πριν προχωρήσουμε στο επόμενο τμήμα δεδομένων Dark color: last 16 accessed data (in cache) Α for(k = 0; k < 2; k++) for(l = 0; l < 2; l++) for(i = 4*k; i < 4*(k+1); i++) for(j = 4*l; j < 4*(l+1); j++) B[i][j] = (A[i-1][j] + A[i+1][j] + A[i][j-1] + A[i][j+1])/4; B Each iteration:1 read miss, 1 write misses Εργαστήριο Ηλεκτρονικών Εφαρμογών 54

55 7. Μείωση των misses με optimizations από τον compiler vpenta (nasa7) gmty (nasa7) tomcatv btrix (nasa7) mxm (nasa7) spice cholesky (nasa7) compress merged arrays Performance Improvement loop interchange loop fusion blocking Εργαστήριο Ηλεκτρονικών Εφαρμογών 55

56 7. Μείωση των misses με optimizations από τον compiler Δεδομένα Έξτρα Τεχνικές: Δεδομένα που δεν έχουν τοπικότητα δεν μπαίνουν στην cache Εφικτό μέσω: του cache controller για system-level δεδομένα ειδικών memory moves για δεδομένα της εφαρμογής Δεδομένα που έχουν spatial αλλά όχι temporal locality (πχ streaming δεδομένα), μπαίνουν: σε ειδικές streaming caches σε συγκεκριμένα λίγα sets, για να μην μολύνουν την υπόλοιπη cache Εργαστήριο Ηλεκτρονικών Εφαρμογών 56

57 Σύνοψη 3 Cs: Compulsory, Capacity, Conflict Reduce Misses via Larger Block Size Reduce Misses via Higher Associativity Reducing Misses via Victim Cache Reducing Misses via Pseudo-Associativity Reducing Misses by HW Prefetching Instr, Data Reducing Misses by SW Prefetching Data Reducing Misses by Compiler Optimizations Προσοχή πάντα στον κίνδυνο του να επιμείνουμε στην μείωση των misses χωρίς να νοιαστούμε για τις άλλες παραμέτρους Εργαστήριο Ηλεκτρονικών Εφαρμογών 57

58 Improving Cache Performance 1) Μείωσε το miss rate, 2) Μείωσε το κόστος του miss, ή 3) Μείωσε το χρόνο που χρειάζεται για το hit Εργαστήριο Ηλεκτρονικών Εφαρμογών 58

59 1. Μείωση του κόστους του miss: Subblock Placement Δεν φορτώνουμε αναγκαστικά ολόκληρο το block όταν κάνουμε miss Valid bits σε κάθε subblock μας λένε αν το συγκεκριμένο subblock έχει φορτωθεί Εργαστήριο Ηλεκτρονικών Εφαρμογών 59

60 2. Μείωση του κόστους του miss: Early Restart και Critical Word First Φόρτωσε ολόκληρο το block, αλλά ο επεξεργαστής δεν περιμένει να φορτωθεί ολόκληρο Early restart Με το που φορτωθεί το word που ζητήθηκε, το στέλνουμε στον επεξεργαστή Critical Word First Φέρε από την μνήμη πρώτο το word που ζητήθηκε και στείλτο άμεσα στον επεξεργαστή Περισσότερο χρήσιμο αν έχουμε μεγάλα cache blocks Αν υπάρχει υψηλό spatial locality, δεν κερδίζουμε πολύ Ούτως ή άλλως περιμένουμε και για τα γειτονικά words Εργαστήριο Ηλεκτρονικών Εφαρμογών 60

61 2. Μείωση του κόστους του miss: Nonblocking caches Για superscalar και out-of-order επεξεργαστές χρειάζεται να εκτελούμε πολλά loads ταυτόχρονα Superscalar Πολλαπλές εντολές ανά κύκλο Out-of-order Εκτελούμε εντολές ακόμη & αν δεν τέλειωσαν οι παλιότερες Οι σύγχρονες cache έχουν πολλαπλά ports και μπορούν να εξυπηρετήσουν πολλά hits ταυτόχρονα Τι γίνεται όμως όταν έχουμε πολλαπλά miss; Εάν η cache μπορεί να εξυπηρετήσει 1 miss τη φορά (blocking), τα load εκτελούνται το ένα μετά το άλλο με μεγάλη καθυστέρηση Load A Load B Load C Load D Load E miss miss miss miss miss time Εργαστήριο Ηλεκτρονικών Εφαρμογών 61

62 2. Μείωση του κόστους του miss: Nonblocking caches Λύση: Non-Blocking Caches Εξυπηρετούν ταυτόχρονα πολλαπλά misses Παραλληλισμός στην χρήση της μνήμης (Memory-Level Parallelism) Κρατάμε σε ειδικούς registers το status του κάθε miss (miss-handling registers - MSHR) Load A Load B Load C Load D Load E time Εργαστήριο Ηλεκτρονικών Εφαρμογών 62

63 2. Μείωση του κόστους του miss: Nonblocking caches Το hit under miss μειώνει το φαινομενικό κόστος των misses, λόγω του ότι ο επεξεργαστής μπορεί και συνεχίζει να λειτουργεί Το hit under multiple miss or miss under miss μειώνει ακόμη περισσότερο το φαινομενικό κόστος των misses Από την πλευρά του επεξεργαστή: πολλαπλά παράλληλα misses στοιχίζουν περίπου όσο ένα μόνο miss μέσο κόστος miss = προσπέλαση μνήμης / # παράλληλων misses Αρνητικά: Αυξάνεται σημαντικά η πολυπλοκότητα του ελεγκτή της cache Απαιτούνται πολλαπλά memory banks Από τους pentium pro, υποστηρίζεται σε όλους τους x Εργαστήριο Ηλεκτρονικών Εφαρμογών 63

64 3. Μείωση του κόστους του miss: L2 cache Προσθέτοντας ένα δεύτερο επίπεδο cache, μειώνουμε το φαινομενικό κόστος του L1 miss Κόστος L1 miss = L2_hit_latency * hit_rate + memory_latency * miss_rate Μα παρόμοια μεθοδολογία, μπορούμε να βελτιστοποιήσουμε το miss rate της L2 και τον χρόνο εξυπηρέτησης των hits Εργαστήριο Ηλεκτρονικών Εφαρμογών 64

65 4. Μείωση του κόστους του miss: Προτεραιότητα στα read misses Το bus προς το memory subsystem είναι πεπερασμένος πόρος Bandwidth προς τις caches και την μνήμη πεπερασμένο Ανά πάσα στιγμή, ο αριθμός των memory εντολών εν πτήση πεπερασμένος Μας συμφέρει να δίνουμε προτεραιότητα στις πιο κρίσιμες εντολές Κρισιμότητα αριθμός εντολών που περιμένουν το αποτέλεσμα της τρέχουσας εντολής Το πιο απλό κριτήριο κρισιμότητας: αν η εντολή προκαλεί read ή write Ta write δεν παράγουν καινούργιο αποτέλεσμα κρισιμότητα 0 Τα read έχουν αποτέλεσμα και σχεδόν πάντα χρησιμοποιείται άμεσα κρισιμότητα > Εργαστήριο Ηλεκτρονικών Εφαρμογών 65

66 4. Μείωση του κόστους του miss: Προτεραιότητα στα read misses Write (ή Store) Buffer: FIFO δομή που αποθηκεύει τα writes προς το επόμενο επίπεδο της ιεραρχίας Μας επιτρέπει να καθυστερούμε τo γράψιμο των writes, προς όφελος των reads Ta δεδομένα γράφονται όταν υπάρχει διαθέσιμο bandwidth ή αν δεν μπορούμε να τα καθυστερήσουμε άλλο Για τον επεξεργαστή ή την cache που προκαλεί το write, το φαινομενικό κόστος του write είναι ένας κύκλος Πρόβλημα: πιθανότητα RAW hazard! Εργαστήριο Ηλεκτρονικών Εφαρμογών 66

67 4. Μείωση του κόστους του miss: Προτεραιότητα στα read misses Read After Write hazard: Όταν μία εντολή πρέπει να χρησιμοποιήσει δεδομένα που θα έπρεπε να είχε γράψει μία προηγούμενη εντολή, αλλά αυτό δεν έχει γίνει. Πχ: mov [data],ax add bx,[data] Αν το write στο data μπει στον write buffer, μπορεί το γράψιμο του data να γίνει μετά την πρόσθεσή του στο bx Πρώτη λύση: τα reads δεν εκτελούνται πριν αδειάσει ο write buffer από writes προς τις διευθύνσεις που χρησιμοποιούν τα reads Πραγματική λύση: Ta reads ψάχνουν στον write buffer για τα δεδομένα τους. Αν τα βρουν τα παίρνουν από εκεί, αν όχι το read προχωρά κανονικά Εργαστήριο Ηλεκτρονικών Εφαρμογών 67

68 Μείωση του κόστους του miss: Σύνοψη CPI total = CPI non_memory + (Mem accesses per instruction x miss_rate x miss_penalty) Πέντε τεχνικές: Subblock Placement Early restart και Critical Word First Non-blocking caches L2 Cache Prioritize read misses Εργαστήριο Ηλεκτρονικών Εφαρμογών 68

69 Cache Optimization Technique MR MP HT Complexity Larger Block Size + 0 Higher Associativity + 1 Victim Caches + 2 Pseudo-Associative Caches + 2 HW Prefetching of Instr/Data + 2 Compiler Controlled Prefetching + 3 Compiler Reduce Misses + 0 Priority to Read Misses + 1 Subblock Placement + 1 Early Restart & Critical Word 1st + 2 Non-Blocking Caches + 3 Second Level Caches + 2 Targeting Miss Rate Targeting Miss Penalty Εργαστήριο Ηλεκτρονικών Εφαρμογών 69

70 Improving Cache Performance 1) Μείωσε το miss rate, 2) Μείωσε το κόστος του miss, ή 3) Μείωσε το χρόνο που χρειάζεται για το hit Εργαστήριο Ηλεκτρονικών Εφαρμογών 70

71 1. Μείωση του κόστους του hit: Μικρές και γρήγορες caches Οι L1 βρίσκονται σχεδόν αποκλειστικά on-chip On-chip access πολύ πιο γρήγορα από τα off-chip Συνήθως αποτελούν κομμάτι του ίδιου του core Γρήγορα και μικρά buses, το ίδιο ρολόι με τον επεξεργαστή Τα μεγέθη τους είναι σχετικά μικρά και δίνουν χαμηλό associativity Alpha 21164: 8KB DL1 + 8KB IL1, Direct-mapped Intel Xeon E5410: 32KB DL1 + 32KB IL1, 8-way Εργαστήριο Ηλεκτρονικών Εφαρμογών 71

72 1. Μείωση του κόστους του hit: Μικρές και γρήγορες caches Εργαστήριο Ηλεκτρονικών Εφαρμογών 72

73 2. Μείωση του κόστους του hit: Αποφυγή της μετάφρασης της virtual address Ο επεξεργαστής παράγει virtual addresses, η μνήμη όμως λειτουργεί με physical διευθύνσεις Με ποιες διευθύνσεις θα λειτουργεί η cache; Πιο απλός και παραδοσιακός τρόπος: με physical Αλλά: Αν η cache λειτουργεί με physical addressing, πρέπει να μεταφράσουμε τη διεύθυνση πριν τη ζητήσουμε από την cache Μεγάλο hit time CPU TB $ MEM VA PA PA Conventional Organization Εργαστήριο Ηλεκτρονικών Εφαρμογών 73

74 2. Μείωση του κόστους του hit: Αποφυγή της μετάφρασης της virtual address Λύση: Οι διευθύνσεις της cache να είναι virtual Virtually Addressed Cache Πρόβλημα: Ίδιες virtual διευθύνσεις διαφορετικών processes, δείχνουν σε διαφορετικά δεδομένα Αν δεν αδειάσουμε την cache μετά από κάθε αλλαγή process, θα έχουμε λάθος hits Χρόνος που χρειάζεται για να αδειάσει η cache υπερβολικά μεγάλος Αύξηση του miss rate από το συχνό άδειασμα της cache Λύση: Γράφουμε στα tags της cache ένα αναγνωριστικό για το process στο οποίο ανήκει η γραμμή VA Tags CPU $ TB MEM VA VA PA Virtually Addressed Cache Translate only on miss Synonym Problem Εργαστήριο Ηλεκτρονικών Εφαρμογών 74

75 2. Μείωση του κόστους του hit: Αποφυγή της μετάφρασης της virtual address Εργαστήριο Ηλεκτρονικών Εφαρμογών 75

76 2. Μείωση του κόστους του hit: Αποφυγή της μετάφρασης της virtual address Πρόβλημα: Διαφορετικές virtual διευθύνσεις ίσως δείχνουν στις ίδιες θέσεις μνήμης (aliases ή synonyms) Πχ: Frame 0x x x Frame 0x xFFF00 0xFFF xFFF Εργαστήριο Ηλεκτρονικών Εφαρμογών 76

77 2. Μείωση του κόστους του hit: Αποφυγή της μετάφρασης της virtual address Πρώτη λύση: ειδικό hardware ελέγχει τις μεταφράσεις όλων των πιθανών blocks που μπορεί να είναι synonyms Αν βρεθεί synonym, το διώχνουμε από την cache tag index block 0x x lsb part of page offset don't change through translation Possible Synonyms in: Set 0 (index ) Set 64 (index ) Εργαστήριο Ηλεκτρονικών Εφαρμογών 77

78 2. Μείωση του κόστους του hit: Αποφυγή της μετάφρασης της virtual address Δεύτερη λύση: Ταυτόσημο page coloring + direct mapped Page coloring: bits της διεύθυνσης του page που καθορίζουν σε ποια περιοχή της cache πέφτει μία σελίδα Στο προηγούμενο παράδειγμα, το bit 12 καθορίζει αν η σελίδα πέφτει στο πρώτο ή στο δεύτερο μισό Ταυτόσημο page coloring: Το OS μπορεί να θέσει τις ίδιες τιμές στα page coloring bits δύο pages που δείχνουν στα ίδια δεδομένα Τα δύο τότε pages πέφτουν στις ίδιες περιοχές της cache Οι διευθύνσεις τους που δείχνουν στα ίδια data πέφτουν στο ίδιο set Αν έχουμε και direct mapped, τότε τα synonyms πέφτουν στο ίδιο block μόνο ένα αντίγραφο της ίδιας μεταβλητής μπορεί να βρίσκεται στην cache Εργαστήριο Ηλεκτρονικών Εφαρμογών 78

79 2. Μείωση του κόστους του hit: Αποφυγή της μετάφρασης της virtual address Best of two worlds: virtual index + physical tagging Αν κρατήσουμε το index μικρό, τότε όλα τα bits του index είναι bits του page offset Το page offset δεν αλλάζει με την μετάφραση Η επιλογή του set αρχίζει άμεσα με τα bits της virtual address Η μετάφραση αρχίζει παράλληλα Το tag match γίνεται με την μεταφρασμένη διεύθυνση Βελτίωση: vhints tag index block 0x x VA PA Tags CPU $ TB L2 $ MEM PA Overlap $ access with VA translation: requires $ index to remain invariant across translation Set 0 (index ) Εργαστήριο Ηλεκτρονικών Εφαρμογών 79

80 Virtual address translation Η μεταφρασμένη διεύθυνση χρειάζεται Πριν πάμε στην L1, για physically tagged/indexed συστήματα Στο τέλος του L1 cache access, για virtually tagged συστήματα ή physically tagged-virtually indexed συστήματα Μία μετάφραση για κάθε instruction fetch και memory move Το address translation είναι στο critical path του συστήματος! Εργαστήριο Ηλεκτρονικών Εφαρμογών 80

81 Virtual address translation Τυπικό σχήμα: 31 Page Directory Base Address Page Directory Off Page Table Offset Directory Entry 0 Directory Entry 1 Directory Entry 2 Directory Entry 3 Directory Entry 4... Directory Entry 1021 Directory Entry 1022 Directory Entry Page Entry 0 Page Entry 1 Page Entry 2 Page Entry 3 Page Entry 4... Page Entry 1021 Page Entry 1022 Page Entry 1023 Page offset 0 PAGE Εργαστήριο Ηλεκτρονικών Εφαρμογών 81

82 Virtual address translation Τυπικό σχήμα: 31 Page Directory Base Address 1o Access Page Directory Off Page Table Offset Directory Entry 0 Directory Entry 1 Directory Entry 2 Directory Entry 3 Directory Entry 4... Directory Entry 1021 Directory Entry 1022 Directory Entry Page Entry 0 Page Entry 1 Page Entry 2 Page Entry 3 Page Entry 4... Page Entry 1021 Page Entry 1022 Page Entry 1023 Page offset 0 PAGE Εργαστήριο Ηλεκτρονικών Εφαρμογών 82

83 Virtual address translation Τυπικό σχήμα: 31 Page Directory Base Address 1o Access Page Directory Off Page Table Offset Directory Entry 0 Directory Entry 1 Directory Entry 2 Directory Entry 3 Directory Entry 4... Directory Entry 1021 Directory Entry 1022 Directory Entry o Access Page offset Εργαστήριο Ηλεκτρονικών Εφαρμογών Page Entry 0 Page Entry 1 Page Entry 2 Page Entry 3 Page Entry 4... Page Entry 1021 Page Entry 1022 Page Entry PAGE

84 Virtual address translation Τυπικό σχήμα: 31 Page Directory Base Address 2 Accesses για κάθε Adress Translation!!! 1o Access Page Directory Off Page Table Offset Directory Entry 0 Directory Entry 1 Directory Entry 2 Directory Entry 3 Directory Entry 4... Directory Entry 1021 Directory Entry 1022 Directory Entry o Access Page offset Εργαστήριο Ηλεκτρονικών Εφαρμογών Page Entry 0 Page Entry 1 Page Entry 2 Page Entry 3 Page Entry 4... Page Entry 1021 Page Entry 1022 Page Entry PAGE

85 Virtual address translation Ακόμη και σε σύστημα όπου η μνήμη προσπελαύνεται σε έναν κύκλο: Instruction Fetch 2 κύκλοι για translation, 1 για το fetch Memory Access 2 κύκλοι για translation, 1 για το access Το address translation προσθέτει 2-4 κύκλους στην εκτέλεση κάθε εντολής! Σε συστήματα με memory wall χωρίς caches: Address translation εκατοντάδες έξτρα κύκλοι Με L1 cache: Αν κάνουμε hit, 4-20 έξτρα κύκλοι Όμως, το πιθανότερο είναι το miss Εργαστήριο Ηλεκτρονικών Εφαρμογών 85

86 Virtual address translation Σε τέτοια συστήματα το virtual memory είναι απαγορευτικά αργό Ακόμη και 4 κύκλοι καθυστέρηση πριν ξεκινήσουμε ένα access είναι πολλοί Πως λύνεται το πρόβλημα; Εργαστήριο Ηλεκτρονικών Εφαρμογών 86

87 Translation Look-aside Buffer Αν το πρόγραμμα έχει locality στα addesses, θα έχει locality και στα pages που χρησιμοποιεί! Μπορούμε να κάνουμε caching στις μεταφράσεις Translation Lookaside Buffer (TLB): Cache για την μετάφραση Αποθηκεύει αντιστοιχίες virtual physical Tag 20 high order bits της virtual address Data 20 high order bits της physical address + page control, page access rights κτλ Εργαστήριο Ηλεκτρονικών Εφαρμογών 87

88 Translation Look-aside Buffer Παράλληλα με το instruction fetch ή memory access: Search το TLB με address το virtual address Αν κάνουμε hit η μετάφραση είναι δωρεάν! Αν κάνουμε miss κλασική διαδικασία Εργαστήριο Ηλεκτρονικών Εφαρμογών 88

89 Translation Look-aside Buffer Τα TLBs πρέπει να είναι γρήγορα: Αποτέλεσμα πριν αρχίσει το access ή πριν το tag match στην L1 Χρειαζόμαστε χαμηλό miss rate: Το translation είναι στο critical path και είναι πολύ ακριβό όταν κάνουμε miss Τα TLBs συνήθως είναι μικρά και highly-associative Αλλά οι λεπτομέρειες διαφέρουν από επεξεργαστή σε επεξεργαστή Εργαστήριο Ηλεκτρονικών Εφαρμογών 89

90 TLBs στους x86 Instruction TLB Core/Core2 128 Entries, 4-way set associative Pentium 4/Xeon 128 Entries, 4-way set associative Pentium Pro/II/III 32 Entries, 4-way set associative Pentium+MMX 32 Entries, fully associative Pentium 32 Entries, 4-way set associative Data TLB Core2 DTLB0: 16 Entries FA, DTLB1: 256 Entries 4-ways Pentium 4/Xeon 64 Entries FA, shared with large page data TLB Core 128 Entries 4 ways Pentium - PentiumIII 64 Entries 4-ways Εργαστήριο Ηλεκτρονικών Εφαρμογών 90

91 Έλεγχος των TLBs στους x86 Τα περιεχόμενα των TLBs είναι προσπελάσιμα μέσω των test registers TR6 και TR7 Physical Address H T REP 0 0 Linear Address V D D C # U U W # # TR7 TR Εργαστήριο Ηλεκτρονικών Εφαρμογών 91

92 Έλεγχος των TLBs στους x86 TR6: Bit 0: Δηλώνει αν θέλουμε να αναζητήσουμε (1) ή να γράψουμε (0) ένα TLB Bit 1: Δηλώνει αν θέλουμε να ενεργήσουμε στο instruction (0) ή στο data (1) TLB Bits 31:12 : Το page που ψάχνουμε να δούμε αν περιέχεται στο TLB ή που θέλουμε να προσθέσουμε Physical Address H T REP 0 0 Linear Address V D D C # U U W # # TR7 TR Εργαστήριο Ηλεκτρονικών Εφαρμογών 92

93 Έλεγχος των TLBs στους x86 TR7: Bit 4: Δείχνει αν κατά την αναζήτηση page είχαμε hit Bits 31:12 : Αν αναζητούσαμε και είχαμε hit περιέχουν την physical address που αντιστοιχεί στο page που αναζητήσαμε Αν γράφουμε στο TLB, θέτουμε εδώ το physical address που θέλουμε να αντιστοιχεί στο page που ορίσαμε στο TR6 Physical Address H T REP 0 0 Linear Address V D D C # U U W # # TR7 TR Εργαστήριο Ηλεκτρονικών Εφαρμογών 93

94 Έλεγχος των TLBs στους x86 Μετά τους Pentium οι TR6 και TR7 μετατράπηκαν σε Model Specific Registers που διαβάζονται με την εντολή RDMSR και γράφονται με την εντολή WRMSR RDMSR: Διαβάζει τον MSR που καθορίζεται από τον ECX στους καταχωρητές EDX:EAX WRMSR: Γράφει τα περιεχόμενα των καταχωρητών EDX:EAX στον MSR που καθορίζεται από τον ΕCX Ο TR6 χρησιμοποιείται με ECX=8 και ο TR7 με ECX= Εργαστήριο Ηλεκτρονικών Εφαρμογών 94

95 Παράδειγμα ελέγχου των TLBs next: mov eax,page_no ;load eax with the page number or eax,01h ;we search for that page or eax,02h ;and we search in the D-TLB mov ecx,08h ;WRMSR refers to TR6 wrmsr ;so TR6 <= eax mov ecx,09h ;RDMSR refers to TR7 rdmsr ;so eax <= TR7 and al,10h ;leave only the hit bit jz miss ;if zero, page not in TLB hit: ;print that page PAGE_NO was found and ;to which physical page frame it corresponds miss: ;print that page PAGE_NO was not found Εργαστήριο Ηλεκτρονικών Εφαρμογών 95

96 Ιεραρχία μνήμης στους x86 Μέχρι τον το memory wall μικρό, δεν υπήρχε ανάγκη για cache 80386: εξωτερική unified cache, direct-mapped, 32KB 80486: εξωτερική unified cache, direct-mapped, 64KB Pentium: πρώτος επεξεργαστής της intel με on-chip cache L1 Instruction 8KB, 2-way LRU, 32B/line L1 Data 8KB, 2-way LRU, 32B/line, 2-ports L2 Unified KB, direct mapped, 32B/line Εργαστήριο Ηλεκτρονικών Εφαρμογών 96

97 Ιεραρχία μνήμης στους x86 Pentium Pro L1 Instruction 8KB, 4-way LRU, 32B/line L2 Unified 256KB-1MB, 4-way, 32B/line non-blocking εσωτερική/εξωτερική L1 Data 8KB, 2-way LRU, 32B/line, 2-ports, 8 banks Εργαστήριο Ηλεκτρονικών Εφαρμογών 97

98 Ιεραρχία μνήμης στους x86 Pentium 4 L1 Instruction TRACE CACHE 12ΚμOP, 8-way LRU, 6-μOPs/line (across branches) L2 Unified 128KB 2-way, 256KB 4-way, way Pseudo-LRU, 64B/line non-blocking 7/7 Cycle Latency (Integer/FP), 256 Bit Bus, Data on every Cycle L1 Data 8KB, 4-way LRU, 64B/line, 2-ports, Write-through Non-blocking (4 misses) 2/6 Cycle latency (Integer/FP) 16 byte bus to FP L3-Unified: 512KB, 4-Way, 1024KB, 8-Way, 64 Byte/Line Εργαστήριο Ηλεκτρονικών Εφαρμογών 98

99 Ιεραρχία μνήμης στους x86 Core2 (Conroe) L1 Instruction 32KB, 8-way 64B/line L2 Unified & Shared 2MB, 8-way Pseudo-LRU, 64B/line non-blocking, non-inclusive 14/14 Cycle Latency (Integer/FP), L1 Data 32KB, 8-way, 64B/line Write-back 3/3 Cycle latency (Integer/FP) 16 byte bus to FP Εργαστήριο Ηλεκτρονικών Εφαρμογών 99

100 Ιεραρχία μνήμης στους x86 i Εργαστήριο Ηλεκτρονικών Εφαρμογών 100

101 Ιεραρχία μνήμης στους x86 Extra Caches Store Buffer: Ουρά στην οποία μπαίνουν τα stores που προορίζονται να γραφτούν στην L1 Επιτρέπει στα stores να εκτελούνται χωρίς καθυστέρηση Γράφονται πραγματικά, όταν έρθει η σειρά τους και υπάρχει διαθέσιμο bandwidth Ενδεχομένως, προτίμηση για χρήση του bus από loads Write-combining buffer Επιτρέπει τον συνδυασμό ανεξάρτητων store εντολών, καθώς και stores που γράφουν στις ίδιες θέσεις μνήμης, ώστε να αξιοποιείται καλύτερα το bus του επεξεργαστή Εργαστήριο Ηλεκτρονικών Εφαρμογών 101

102 Ιεραρχία μνήμης στους x86 Extra μηχανισμοί ελέγχου CR0: Bit 30: Caching Disable Flag (CD) απενεργοποιεί τις caches Bit 29: No-writeback Flag (NW) απενεργοποιεί το writeback Page directory και page table entries: Page Caching Disabled Flag (PCD) η σελίδα δεν μπαίνει σε caches Page Write-through Flag (PWT) η σελίδα γίνεται write-through Global bit: αν set, το TLB entry της σελίδας δεν αφαιρείται μετά από ένα task switch CR3: PCD & PWT Flags, ελέγχουν το page όπου βρίσκεται το Page Directory CR4: Page Global Enable Flag (PGE) ενεργοποιεί την χρήση του G Bit 4 Memory Type Range Registers (MTRRs) ελέγχουν τον τύπο caching που εφαρμόζεται σε μεγάλα κομμάτια της μνήμης Page Attribute Table Παρόμοια λειτουργικότητα με τους MTRRs, αλλά για μεμονωμένα pages Εργαστήριο Ηλεκτρονικών Εφαρμογών 102

103 Ιεραρχία μνήμης στους x86 Τύποι caching Σε ένα πραγματικό σύστημα, το address space καλύπτει: Πραγματική μνήμη πλήρες caching επιθυμητό Memory-mapped I/O τα δεδομένα σε μία θέση μνήμης μπορεί να αλλάζουν από read σε read ή από write σε write caching ανεπιθύμητο, write combining προβληματικό Framebuffers Σπάνια διαβάζονται, συχνά γράφονται το caching δεν βοηθάει και μολύνει την cache, αλλά το write combining σώζει bandwidth Επιπλέον υπάρχουν δεδομένα που το λειτουργικό μπορεί να μην θέλει να μείνουν στην cache Πχ για να μην μολυνθεί η cache με μεγάλες, σπάνια χρησιμοποιούμενες δομές Δεν υπάρχει ένα configuration των caches που να καλύπτει όλες τις περιπτώσεις Εργαστήριο Ηλεκτρονικών Εφαρμογών 103

104 Ιεραρχία μνήμης στους x86 Τύποι caching Μέσω των MTRR και του PAT, μπορούμε να ελέγξουμε πως θα χρησιμοποιηθεί το υποσύστημα μνήμης για διαφορετικά δεδομένα Strong Uncacheable: Τα δεδομένα δεν μπαίνουν σε caches, access προκαλείται μόνο αν το ζητήσει το πρόγραμμα και όλα τα transactions εκτελούνται ακριβώς με την σειρά του προγράμματος Uncacheable: Mόνο για PAT, το ιδιο με το strong uncacheable αλλά μπορεί να γίνει override από τους MTRRs Write-Combining: Tα δεδομένα δεν μπαίνουν σε caches, αλλά τα stores μπαίνουν στον WC Buffer. Τα speculative loads επιτρέπονται Write-Through: Τα δεδομένα μπαίνουν σε caches, αλλά τα writes στέλνονται και στην μνήμη Write-Back: Τα δεδομένα μπαίνουν σε caches και τα writes γράφονται άμεσα μόνο εκεί Write-Protected: Caching ενεργό, αλλά τα writes σβήνουν την αντίστοιχη γραμμή από όλες τις caches σε όλους τους επεξεργαστές πάνω στο bus Εργαστήριο Ηλεκτρονικών Εφαρμογών 104

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

Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation Προηγμένοι Μικροεπεξεργαστές Paging & Segmentation Segmentation Τεχνική για σπάσουμε την μνήμη σε λογικά κομμάτια Κάθε κομμάτι αποθηκεύει πληροφορία σχετική με data segments for each process code segments

Διαβάστε περισσότερα

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

Είδη των Cache Misses: 3C s Είδη των Cache Misses: 3C s 1 Compulsory: Συμβαίνουν κατά την πρώτη πρόσβαση σε ένα block. Το block πρέπει να κληθεί από χαμηλότερα επίπεδα μνήμης και να τοποθετηθεί στην cache (αποκαλούνται και cold start

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής Προχωρηµένα Θέµατα Αρχιτεκτονικής Memory Hierarchy Design. Λιούπης Ιεραρχία Μνήµης Τα προγράµµατα απαιτούν όλο και περισσότερη και πιο γρήγορη µνήµη Γρήγορη και µεγάλη µνήµη -> ακριβή Αυτό οδηγεί σε ιεραρχία

Διαβάστε περισσότερα

Cach O p i timisati tions

Cach O p i timisati tions Cache Optimisations i 1 Διαφορά Επίδοσης Processor-Memory Performance Gap: (grows 50% / year) 2 SRAM vs DRAM 1-transistor DRAM cell 6-transistor SRAM cell 3 Intel 45nm 6T SRAM cell 4 Ιεραρχία Μνήμης Πρέπει

Διαβάστε περισσότερα

(advanced_ca, ακ. έτος Cache Optimisations

(advanced_ca, ακ. έτος Cache Optimisations Cache Optimisations Διαφορά Επίδοσης Processor-Memory Performance Gap: (grows 50% / year) Ιεραρχία Μνήμης Πρέπει να μειώσουμε το processor-memory performance gap Η προσπέλαση δεδομένων (code & data) δεν

Διαβάστε περισσότερα

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό

Διαβάστε περισσότερα

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

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, Ασκήσεις Caches Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1 byte

Διαβάστε περισσότερα

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

Διαβάστε περισσότερα

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

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;

Διαβάστε περισσότερα

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη

Διαβάστε περισσότερα

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

Εικονική Μνήμη (Virtual Μemory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

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

Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Ασκήσεις Caches http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

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

Processor-Memory (DRAM) ιαφορά επίδοσης Processor-Memory (DRAM) ιαφορά επίδοσης µproc 6%/yr 98 98 982 983 984 985 986 987 988 989 99 99 992 993 994 995 996 997 998 999 2 2 22 23 24 25 Performance Processor-Memory Performance Gap: (grows 5% /

Διαβάστε περισσότερα

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Αρης Ευθυμίου Το σημερινό μάθημα Κρυφές μνήμες (cache memory) Βασική οργάνωση, παράμετροι: γραμμές, συσχετιστικότητα, συνολική χωρητικότητα Επίδοση:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΛΕ- 027 Μικροεπεξεργαστές ΠΛΕ- 027 Μικροεπεξεργαστές 10ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Εικονική μνήμη, σχεδίαση αποδοτικής κρυφής μνήμης, προγραμματισμός για κρυφή μνήμη Αρης Ευθυμίου Εικονική μνήμη ως cache Η κύρια

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας

Διαβάστε περισσότερα

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

Είδη των Cache Misses: 3C s Είδη των Cache Misses: 3C s Compulsory: Συµβαίνουν κατά την πρώτη πρόσβαση σε ένα block. Το block πρέπει να κληθεί από χαµηλότερα επίπεδα µνήµης και να τοποθετηθεί στην cache (αποκαλούνται και cold start

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

Διαβάστε περισσότερα

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 9ο μάθημα: Κρυφές μνήμες εικονική μνήμη Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Μεγαλύτερη associadvity! Rules of thumb:

Διαβάστε περισσότερα

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Ιεραρχία μνήμης: προχωρημένα θέματα Υ- 01 Αρχιτεκτονική Υπολογιστών Ιεραρχία μνήμης: προχωρημένα θέματα Αρης Ευθυμίου Το σημερινό μάθημα Εικονική μνήμη και κρυφές μνήμες Physical/Virtual indexing Σκοπός: μείωση hit Ome Τεχνικές σχετικές

Διαβάστε περισσότερα

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

Processor-Memory (DRAM) ιαφορά επίδοσης Processor-Memory (DRAM) ιαφορά επίδοσης µproc 6%/yr 98 98 982 983 984 985 986 987 988 989 99 99 992 993 994 995 996 997 998 999 2 2 22 23 24 25 Performance Processor-Memory Performance Gap: (grows 5% /

Διαβάστε περισσότερα

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

Processor-Memory (DRAM) Διαφορά επίδοσης Performance Processor-Memory (DRAM) Διαφορά επίδοσης 98 98 982 983 984 985 986 987 988 989 99 99 992 993 994 995 996 997 998 999 2 2 22 23 24 25 µproc 6%/yr Processor-Memory Performance Gap: (grows 5%

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 H Μικρο-αρχιτεκτονική μας 4 1 0 PCSrc IF/ID Control ID/EX

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΡ ΙΟ ΥΠΟΛΟΟ ΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua. gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

Διαβάστε περισσότερα

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

Οργάνωση Ιεραρχίας Μνήμης - Caches Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Οργάνωση Ιεραρχίας Μνήμης - Caches Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

Processor-Memory (DRAM) ιαφορά επίδοσης Processor-Memory (DRAM) ιαφορά επίδοσης µproc 6%/yr 98 98 982 983 984 985 986 987 988 989 99 99 992 993 994 995 996 997 998 999 2 2 22 23 24 25 Performance Processor-Memory Performance Gap: (grows 5% /

Διαβάστε περισσότερα

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

Processor-Memory (DRAM) ιαφορά επίδοσης Processor-Memory (DRAM) ιαφορά επίδοσης µproc 6%/yr Processor-Memory Performance Gap: (grows 5% / year) DRAM 7%/yr. Performance 98 98 982 983 984 985 986 987 988 989 99 99 992 993 994 995 996 997 998 999

Διαβάστε περισσότερα

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

Virtual Memory. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 24-25 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Virtual Memory http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ntua.gr 3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 11: Κρυφή Μνήμη Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

Διαβάστε περισσότερα

Τελική Εξέταση, Απαντήσεις/Λύσεις

Τελική Εξέταση, Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr

Διαβάστε περισσότερα

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

ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ 2/9/5 ΗΜΥ 32 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από Computer Architecture,

Διαβάστε περισσότερα

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

Εικονική Μνήμη (Virtual memory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual memory) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Προβλήματα φυσικής μνήμης (1) Τι θα συμβεί εάν η μνήμη

Διαβάστε περισσότερα

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

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) SMPcache Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) 1. Βασικές ρυθμίσεις του συστήματος: δημιουργία μια δικής μας σύνθεσης συστήματος. Το SMPcache είναι ένα εργαλείο με το οποίο μπορούμε

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 11: Κρυφή Μνήμη Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

Διαβάστε περισσότερα

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ρχιτεκτονική Υπολογιστών 2016-17 Εικονική Μνήμη (και ο ρόλος της στην ιεραρχία μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Δευτερεύουσα μνήμη

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ ΗΜΥ 32 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ Διδάσκων: Χάρης Θεοχαρίδης, ΗΜΜΥ ttheocharides@ucy.ac.cy [Προσαρμογή από Computer Architecture, Hennessy & Patterson,

Διαβάστε περισσότερα

add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n;

add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n; Άσκηση 1 η Μέρος Α Ζητούμενο: Δίνεται το παρακάτω πρόγραμμα σε C καθώς και μια μετάφραση του σε assembly MIPS. Συμπληρώστε τα κενά. Σας υπενθυμίζουμε ότι ο καταχωρητής $0 (ή $zero) είναι πάντα μηδέν. int

Διαβάστε περισσότερα

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

Θέµατα Φεβρουαρίου Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ: ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Μ - Ω) Κανονική εξεταστική Φεβρουαρίου

Διαβάστε περισσότερα

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

Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy. Κεφάλαιο 5- Ιεραρχία Μνήμης Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy 1 Ιδεατά θέλουμε να ισχύει για μια μνήμη: Άπειρη, γρήγορη και φτηνή μνήμη 2 Πραγματικότητα 3 Υπάρχει λύση; 4 Τοπικότητα Αναφοράς/Χρήσης (Locality of Reference)

Διαβάστε περισσότερα

Σχεδιασµός της Ιεραρχίας Μνήµης. Pedro Trancoso

Σχεδιασµός της Ιεραρχίας Μνήµης. Pedro Trancoso Σχεδιασµός της Ιεραρχίας Μνήµης Pedro Trancoso H&P Appendix C H&P Chapter 5 Μνήµη GIER Computer, Norway, ca. 1962 Micron, Automata Processor, 2014 2 1 Η Αρχή... Ideally one would desire an indefinitely

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα

Διαβάστε περισσότερα

Τεχνολογίες Κύριας Μνήμης

Τεχνολογίες Κύριας Μνήμης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κύρια Μνήμη

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (ΙI)

Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (ΙI) (κύρια και κρυφή μνήμη) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Προγραμματισμός συστημάτων UNIX/POSIX Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Βελτιστοποιήσεις με στόχο τις επιδόσεις Σε αρκετές περιπτώσεις δεν αρκεί να

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2011-12 Εικονική (και ο ρόλος της στην ιεραρχία μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Ιεραρχία η νέα τάση: [2011]

Διαβάστε περισσότερα

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αρχιτεκτονική υπολογιστών Ενότητα 4 : Ενδιάμεση Μνήμη (Cache Memory) Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

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

Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy. Κεφάλαιο 5- Ιεραρχία Μνήμης Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy 1 Ιδεατά θέλουμε να ισχύει για μια μνήμη: Άπειρη, γρήγορη και φτηνή μνήμη 2 Πραγματικότητα 3 Υπάρχει λύση; 4 Τοπικότητα Αναφοράς/Χρήσης (Locality of Reference)

Διαβάστε περισσότερα

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

Διαχείριση Κύριας Μνήμης Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Διαχείριση Κύριας Μνήμης Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Διαχείριση

Διαβάστε περισσότερα

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

Διαβάστε περισσότερα

Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών

Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών Αρης Ευθυμίου Διαδικαστικά Ιστοσελίδα μαθήματος: h:p://www.cs.uoi.gr/~plmy07/ Διαφάνειες μαθημάτων, κτλ 2 Γρήγορη εκτέλεση σειριακού

Διαβάστε περισσότερα

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

ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache) ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache) Διδάσκων: Χάρης Θεοχαρίδης, ΗΜΜΥ ttheocharides@ucy.ac.cy [Προσαρμογή από Computer Architecture, Hennessy & Patterson,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr

Διαβάστε περισσότερα

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Υ- 01 Αρχιτεκτονική Υπολογιστών Ιεραρχία μνήμης: προχωρημένα θέματα, μέρος 2 ο Αρης Ευθυμίου Το σημερινό μάθημα Compiler op

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας

Κεντρική Μονάδα Επεξεργασίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

AΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (5 ο εξάμηνο) ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (ΦΘΙΝΟΠΩΡΟ 2007) ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ 30 ΛΕΠΤΑ

AΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (5 ο εξάμηνο) ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (ΦΘΙΝΟΠΩΡΟ 2007) ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ 30 ΛΕΠΤΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.

Διαβάστε περισσότερα

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

ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache) ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache) Διδάσκουσα: ΜΑΡΙΑ Κ ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucyaccy) [Προσαρµογή από Computer Architecture, Hennessy

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη

Διαβάστε περισσότερα

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

Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy. Κεφάλαιο 5- Ιεραρχία Μνήμης Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy 1 Οργάνωση Συστήματος Μνήμης Ένα υπολογιστικό σύστημα συνήθως διαθέτει πολλούς τύπους μνήμης Registers, buffers, caches, main memory, secondary memory (flash/ssd,

Διαβάστε περισσότερα

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

Διαβάστε περισσότερα

Σειρά Ασκήσεων 11: Κρυφές Μνήμες και η Επίδοσή τους

Σειρά Ασκήσεων 11: Κρυφές Μνήμες και η Επίδοσή τους ΗΥ-225: Οργάνωση Υπολογιστών Άνοιξη 2019 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Σειρά Ασκήσεων 11: Κρυφές Μνήμες και η Επίδοσή τους Παράδοση έως Παρασκευή 19 Απριλίου 2019 (βδ. 11.3) ώρα 23:59 (από βδ.

Διαβάστε περισσότερα

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

Ασκήσεις Αρχιτεκτονικής Υπολογιστών Ασκήσεις Αρχιτεκτονικής Υπολογιστών ακαδ. έτος 2008-2009 Άσκηση 1: caches Θεωρούμε το ακόλουθο κομμάτι κώδικα #define N 4 #define M 8 double c[n], a[n][m], b[m]; int i,j; for(i = 0; i < N; i++) for(j =

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

Διαβάστε περισσότερα

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα