ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache)
|
|
- Βαριησού Καλλιγάς
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΗΜΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache) Διδάσκων: Χάρης Θεοχαρίδης, ΗΜΜΥ [Προσαρμογή από Computer Architecture, Hennessy & Patterson, 2005, UCB]
2 (ΕΠ) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΙΕΡΑΡΧΙΑΣ ΜΝΗΜΗΣ Στόχος: Ο χρήστης βλέπει όσο το δυνατό περισσότερη μνήμη, στην ταχύτητα που προσφέρει η πιο γρήγορη τεχνολογία και στο κόστος της πιο φθηνής τεχνολογίας Πως; Χρήση πλεονεκτήματος τοπικότητας (locality) Processor Αυξανόμενη απόσταση από επεξεργαστή σε χρόνο προσπέλασης L1$ L2$ Main Memory 4-8 bytes (word) 8-32 bytes (block) 1 to 4 blocks Secondary Memory 1,024+ bytes (disk sector = page) Inclusive ότι περιέχει το L1$ είναι υποσύνολο του L2$ που είναι υποσύνολο της MM που είναι υποσύνολο της SM Σχετικό(Relative) μέγεθος μνήμης σε κάθε επίπεδο ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.2
3 ΙΕΡΑΡΧΙΑ ΜΝΗΜΗΣ ΠΟΥ ΒΑΣΙΖΕΤΑΙ qtemporal Locality (Locality in Time) Τοπικότητα στον χρόνο: Þ Κρατάμε τα δεδομένα που έχουν προσπελαστεί πιο πρόσφατα όσο πιο κοντά στον επεξεργαστή (most recently accessed) qspatial Locality (Locality in Space) Τοπικότητα στον χώρο: Þ Μεταφέρουμε blocks που αποτελούνται από συνεχή δεδομένα στα πιο ψηλά επίπεδα (continuous words). To Processor From Processor Upper Level Memory Blk X Lower Level Memory Blk Y ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.3
4 ΙΕΡΑΡΧΙΑ ΜΝΗΜΗΣ - ΟΡΟΛΟΓΙΑ q Hit: Τα δεδομένα είναι σε ένα block στο πιο ψηλό επίπεδο (Blk X) Hit Rate: το ποσοστό των προσβάσεων στη μνήμη που είναι hit ( (# hits) / (# memory accesses) ) Hit Time: Η ώρα προσπέλασης του ψηλού επιπέδου ως RAM access time + Time to determine hit/miss To Processor From Processor Upper Level Memory Blk X Lower Level Memory Blk Y q Miss: Τα δεδομένα δεν βρίσκονται στο πιο ψηλό επίπεδο άρα χρειάζεται επαναφορά από χαμηλότερο επίπεδο (Blk Y) Miss Rate = 1 - (Hit Rate) Miss Penalty: Time to replace a block in the upper level + Time to deliver the block the processor Hit Time << Miss Penalty ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.4
5 ΠΩΣ ΚΑΘΟΡΙΖΕΤΑΙ Η ΕΠΙΚΟΙΝΩΝΙΑ ΣΤΗΝ ΙΕΡΑΡΧΙΑ? qregisters Μemory Από μεταγλωττιστή/συμβολομεταφραστή (compiler+ programmer?) qcache Main Memory Από το σύστημα ελέγχου CACHE (cache controller hardware) qmain Memory Disks Από το λειτουργικό σύστημα (operating system - virtual memory) Από το υλικό (virtual to physical address mapping - TLB) Από τον προγραμματιστή (αρχεία) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.5
6 Κρυφή Μνήμη -- Cache qδύο Ερωτήσεις (που αφορούν στο υλικό): Q1: Πως ξέρουμε ότι τα δεδομένα είναι στο cache? Q2: Αν είναι εκεί, πως τα βρίσκουμε? à Διάφοροι τρόποι οργάνωσης/προσπέλασης (3 γνωστοί/διαδεδομένοι τρόποι...) q Απευθείας (Direct mapped cache) Κάθε δεδομένο (block) μπορεί να μπει σε μία και μόνο μία τοποθεσία στο cache à Άρα πολλά δεδομένα στο χαμηλότερο επίπεδο μοιράζονται θέσεις στο ψηλότερο επίπεδο. Αντιστοιχία Διεύθυνσης (Address mapping): (block address) modulo (# of blocks in the cache) Ας υποθέσουμε πρώτα ότι το block size είναι μία λέξη (word) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.6
7 Caching: ΕΝΑ ΑΠΛΟ ΠΑΡΑΔΕΙΓΜΑ Cache (4 words) Index Valid Tag Q1: Is it there? ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.7 Data Compare the cache tag to the high order 2 memory address bits to tell if the memory block is in the cache 0000xx 0001xx 0010xx 0011xx 0100xx 0101xx 0110xx 0111xx 1000xx 1001xx 1010xx 1011xx 1100xx 1101xx 1110xx 1111xx Main Memory (16 words) Two low order bits define the byte in the word (32b words) Q2: How do we find it? Use next 2 low order memory address bits the index to determine which cache block (i.e., modulo the number of blocks in the cache) (block address) modulo (# of blocks in the cache)
8 Caching: ΕΝΑ ΑΠΛΟ ΠΑΡΑΔΕΙΓΜΑ Cache (4 blocks = 4 words) Index Valid Tag Q1: Is it there? ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.8 Data Compare the cache tag to the high order 2 memory address bits to tell if the memory block is in the cache 0000xx 0001xx 0010xx 0011xx 0100xx 0101xx 0110xx 0111xx 1000xx 1001xx 1010xx 1011xx 1100xx 1101xx 1110xx 1111xx Main Memory (16 words) Two low order bits define the byte in the word (32b words) Q2: How do we find it? Use next 2 low order memory address bits the index to determine which cache block (i.e., modulo the number of blocks in the cache) (block address) modulo (# of blocks in the cache)
9 Direct Mapped Cache qconsider the main memory word reference string Start with an empty cache - all blocks initially marked as not valid ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.9
10 Direct Mapped Cache (Απευθείας) qconsider the main memory word reference string Start with an empty cache - all blocks initially marked as not valid miss 1 miss 2 miss 3 miss 00 Mem(0) 00 Mem(0) 00 Mem(0) 00 Mem(0) 00 Mem(1) 00 Mem(1) 00 Mem(1) 00 Mem(2) 00 Mem(2) 00 Mem(3) 01 4 miss 3 hit 4 hit 15 miss 4 00 Mem(0) 01 Mem(4) 01 Mem(4) 01 Mem(4) 00 Mem(1) 00 Mem(1) 00 Mem(1) 00 Mem(1) 00 Mem(2) 00 Mem(2) 00 Mem(2) 00 Mem(2) 00 Mem(3) 00 Mem(3) 00 Mem(3) Mem(3) 15 8 requests, 6 misses ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.10
11 MIPS Direct Mapped Cache Example qone word/block, cache size = 1K words Byte offset Hit Tag Index Data Index Valid Tag 20 Data 32 ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.11 Ποιο είδος τοπικότητας εκμεταλλευόμαστε;
12 (Επ): ΓΙΑΤΙ ΔΙΑΣΩΛΗΝΩΝΟΥΜΕ? ΓΙΑ ΑΠΟΔΟΣΗ! I n s t r. O r d e r qγια αποφυγή ενός structural hazard χρειαζόμαστε δυο caches on-chip: ένα για εντολές (I$) και ένα για δεδομένα (D$) Inst 0 Inst 1 Inst 2 Inst 3 Inst 4 Time (clock cycles) I$ Reg D$ Reg ALU I$ Reg D$ Reg ALU I$ Reg D$ Reg ALU I$ Reg D$ Reg ALU I$ Reg D$ Reg ALU To keep the pipeline running at its maximum rate both I$ and D$ need to satisfy a request from the datapath every cycle. What happens when they can t do that? ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.12
13 ΠΩΣ ΧΕΙΡΙΖΟΜΑΣΤΕ Cache Hits q Read hits (I$ and D$) Αυτά θέλουμε!!! q Write hits (D$ only) Είτε αφήνουμε το cache και την μνήμη να είναι αποσυντονισμένα (inconsistent) - Γράφουμε τα δεδομένα στο cache block - Μόνο όταν τα δεδομένα πρέπει να φύγουν από τη cache (για να έρθουν κάποια άλλα σε αυτή τη θέση) ανανεώνουμε το επόμενο επίπεδο στην ιεραρχία της μνήμης. Γνωστό ως write-back. - Χρειαζόμαστε το λεγόμενο λερωμένο (dirty) bit για κάθε data cache block ώστε να γνωρίζει ποια δεδομένα θα γράψει πίσω στη μνήμη όταν το block διωχτεί Είτε επιβάλουμε στην μνήμη και στο Cache να είναι σύμφωνα (consistent) - Γράφουμε πάντα στο cache block και στο επόμενο επίπεδο στην μνήμη. Γνωστό ως write-through. - Δεν χρειαζόμαστε dirty bit - Το γράψιμο δουλεύει στην ταχύτητα του επόμενου επιπέδου μνήμης (πολύ πιο αργά σε σχέση με το cache) ή μπορεί να χρησιμοποιηθεί ένα write buffer Αποθηκεύουμε στο write buffer (1 κύκλο) Το write buffer επικοινωνεί με το επόμενο επίπεδο μνήμης Μόνο όταν το write buffer είναι γεμάτο πρέπει να περιμένουμε (stall) Note: D$ = Data Cache, I$ = Instruction Cache ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.13
14 Write Buffer για Write-Through Caching Processor Cache DRAM q Βάζουμε ένα write buffer μεταξύ cache και κυρίας μνήμης Επεξεργαστής: γράφει δεδομένα στο cache και στο write buffer Memory Controller: γράφει δεδομένα από write buffer στο memory q Το write buffer είναι απλά ένα FIFO (First-In, First-Out) Τυπικός αριθμός στοιχείων: 4 write buffer Δουλεύει αποδοτικά αν store frequency (w.r.t. time) << 1 / DRAM write cycle q Ο Εφιάλτης του σχεδιαστή συστήματος μνήμης Όταν η συχνότητα εγγραφής είναι μεγαλύτερη από τον χρόνο που δουλεύει η DRAM - store frequency (w.r.t. time) 1 / DRAM write cycle οδηγούμαστε σε write buffer saturation (γεμίζει το buffer) - Η μια λύση είναι το write-back cache, άλλη είναι το L2 cache ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.14
15 Ακόμα ένα Reference String Mapping Ας υποθέσουμε την εξής σειρά αναφορών στην μνήμη: Ξεκινούμε με άδεια cache όλα τα blocks είναι αρχικά invalid ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.15
16 Ακόμα ένα Reference String Mapping Ας υποθέσουμε την εξής σειρά αναφορών στην μνήμη: Ξεκινούμε με άδεια cache όλα τα blocks είναι αρχικά invalid 0 miss 4 miss 0 miss 4 miss Mem(0) 00 Mem(0) 0001 Mem(4) Mem(0) 4 0 miss 4 miss 0 miss 4 01 miss Mem(4) Mem(0) 01 Mem(4) 00 Mem(0) 8 requests, 8 misses qδημιουργία του ping pong effect από τα conflict misses δύο τοποθεσίες στην μνήμη που αντιστοιχούν στο ίδιο cache block ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.16
17 Πηγές που συνδράμουν σε Cache Misses q Compulsory / Αναπόφευκτα (όταν έχει αλλαγή διεργασίας - process migration,κατά τις πρώτες αναφορές): Την πρώτη φορά που ζητούμε ένα block ( cold fact of life, not a whole lot you can do about it) Μπροστά σε εκατομμύρια εντολές, τα compulsory misses είναι εντελώς ασήμαντα q Conflict /Σύγκρουση (collision): Πολλαπλές διευθύνσεις δεδομένων στην κύρια μνήμη αντιστοιχούν σε διευθύνσεις στην ίδια τοποθεσία στο cache Λύση 1: Αυξάνουμε το μέγεθος του cache block Λύση 2: Αυξάνουμε το associativity () q Capacity / Χωρητικότητα: Cache δεν μπορεί να χωρέσει όλα τα δεδομένα ενός προγράμματος Λύση: Αυξάνουμε το μέγεθος του cache ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.17
18 Χειρισμός των Cache Misses q q Read misses (I$ και D$) σταματάμε τη διασωλήνωση (stall), φέρνουμε το block από το επόμενο επίπεδο της ιεραρχίας μνήμης, το τοποθετούμε στο cache και στέλνουμε τα απαιτούμενα δεδομένα στον επεξεργαστή, και μετά συνεχίζουμε την διασωλήνωση (εξυπακούει ότι μπορεί να χρειαστεί να βγάλουμε block αν είναι write-back cache) Write misses (D$ μόνο) συνήθως χρησιμοποιείται σε write-back caches Write allocate γράφουμε τη λέξη στο επόμενο επίπεδο της ιεραρχίας μνήμης και φέρνουμε το αντίστοιχο block στη cache, ο επεξεργαστής περιμένει μέχρι να ολοκληρωθεί η μεταφορά του block συνηθίζεται σε write-through caches με write buffer No-write allocate (write-around) δεν φέρνουμε το αντίστοιχο block στo cache, απλά γράφουμε τη λέξη στο write buffer (και τελικά στο επόμενο επίπεδο μνήμης), δεν χρειάζεται να σταματήσουμε μέχρι να γεμίσει το write buffer. Αν γράψουμε την λέξη και στο cache πρέπει να ακυρώσουμε (invalidate) το cache block αφού θα περιέχει ασυνέπεια στα δεδομένα (inconsistent) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.18
19 Multiword Block Direct Mapped Cache qfour words/block, cache size = 1K words Hit Byte offset Data Tag 20 Index 8 Block offset Index Valid Tag 20 Data ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.19 What kind of locality are we taking advantage of? 32
20 Τοπικότητα χώρου (Spatial Locality) qlet cache block hold more than one word Start with an empty cache - all blocks initially marked as not valid ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.20
21 Τοπικότητα χώρου (Spatial Locality) qlet cache block hold more than one word (2 words/block) Start with an empty cache - all blocks initially marked as not valid tag 1 Cache line (=Cache block) Cache Line to save block = Block Address % # blocks Word Address Block Address 0: 0000xx 000 1: 0001xx 000 2: 0010xx 001 3: 0011xx 001 4: 0100xx : 1111xx 111 ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.21
22 Τοπικότητα χώρου (Spatial Locality) qlet cache block hold more than one word Start with an empty cache - all blocks initially marked as not valid miss 00 Mem(1) Mem(0) 1 hit 2 00 Mem(1) Mem(0) miss 00 Mem(1) Mem(0) 00 Mem(3) Mem(2) 3 hit 4 miss Mem(1) Mem(0) 00 Mem(3) Mem(2) 00 Mem(1) Mem(0) 00 Mem(3) Mem(2) hit 01 Mem(5) Mem(4) 00 Mem(3) Mem(2) 4 hit 15 miss 01 Mem(5) Mem(4) 00 Mem(3) Mem(2) 8 requests, 4 misses 1101 Mem(5) Mem(4) Mem(3) Mem(2) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.22
23 Miss Rate vs Block Size vs Cache Size 10 Miss rate (%) 5 8 KB 16 KB 64 KB 256 KB Block size (bytes) qτο Miss rate αυξάνεται όταν το block size γίνεται ένα σημαντικό ποσοστό του cache size επειδή ο αριθμός των blocks που χωράνε σε ένα cache ιδίου μεγέθους είναι μικρότερος (increasing capacity misses) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.23
24 Block Size Tradeoff qμεγαλύτερα blocks εκμεταλλεύονται το spatial locality αλλά Όταν το block size είναι μεγάλο σε σχέση με το cache size, θα αυξηθεί το miss rate Μεγαλύτερο block size εξυπακούει μεγαλύτερο miss penalty Miss Rate - Latency to first word in block + transfer time for remaining words Exploits Spatial Locality Fewer blocks compromises Temporal Locality Miss Penalty Average Access Time Increased Miss Penalty & Miss Rate Block Size Block Size Block Size q Γενικά, Average Memory Access Time = Hit Time + Miss Penalty x Miss Rate ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.24
25 Multiword Block Considerations (Πολλαπλές Λέξεις σε ένα Block) qread misses (I$ and D$) Ακριβώς όπως ένα single word block ένα miss επιστρέφει ένα ολόκληρο block από τη μνήμη Το Miss penalty αυξάνεται όσο το block size αυξάνεται ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.25 - Early restart datapath resumes execution as soon as the requested word of the block is returned - Requested word first requested word is transferred from the memory to the cache (and datapath) first Non-blocking cache Αφήνει το datapath να συνεχίσει να διαβάζει το cache καθώς το cache εργάζεται σε ένα προηγούμενο miss qwrite misses (D$) Δεν μπορούμε να κρατήσουμε χώρο για εγγραφή γιατί αλλιώς θα καταλήξουμε σε garbled block στο cache (e.g., για 4 word blocks, καινούριο tag, μία λέξη δεδομένων από το νέο block, και τρεις λέξεις δεδομένων από το προηγούμενο block), άρα πρέπει να φέρουμε το block από το επόμενο επίπεδο μνήμης και να πληρώσουμε το τίμημα για το σταμάτημα της διασωλήνωσης.
26 Τί μάθαμε μέχρι τώρα για το Cache qη αρχή της τοπικότητας (Principle of Locality): Program likely to access a relatively small portion of the address space at any instant of time - Temporal Locality: Locality in Time - Spatial Locality: Locality in Space qτρεις Κατηγορίες για cache misses: Compulsory misses: sad facts of life. Example: cold start misses Conflict misses: increase cache size and/or associativity (Nightmare Scenario: ping pong effect!) Capacity misses: increase cache size qσχεδίαση του Cache Παράμετροι και Αποφάσεις total size, block size, associativity (replacement policy) write-hit policy (write-through, write-back) write-miss policy (write-allocate, write-around with write buffers) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.26
27 Επανάληψη : Τοπικότητα q Temporal Locality Τοπικότητα Χρόνου Κρατάμε τα πιο πρόσφατα δεδομένα κοντά στον επεξεργαστή q Spatial Locality Τοπικότητα Χώρου Μεταφέρουμε blocks που αποτελούνται από συνεχόμενες λέξεις κοντά στον επεξεργαστή q Hit Time << Miss Penalty To Processor From Processor Upper Level Memory Blk X Lower Level Memory Blk Y Hit: τα δεδομένα βρίσκονται σε κάποιο block στο ψηλότερο επίπεδο (Blk X) - Hit Rate: the fraction of accesses found in the upper level - Hit Time: RAM access time + Time to determine hit/miss Miss: τα δεδομένα χρειάζονται να μεταφερθούν από block στο κατώτερο επίπεδο (Blk Y) - Miss Rate = 1 - (Hit Rate) - Miss Penalty: Time to replace a block in the upper level with a block from the lower level + Time to deliver this block s word to the processor - Miss Types: Compulsory, Conflict, Capacity ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.27
28 Μετρώντας την απόδοση του Cache q Αν υποθέσουμε ότι το κόστος ενός Cache hit υπολογίζεται σαν μέρος του χρόνου του επεξεργαστή (CPU execution cycle) CPU time = IC CPI CC = IC (CPI ideal + Memory-stall cycles) CC CPI stall CC? q Οι κύκλοι που το CPU περιμένει την μνήμη προέρχονται από cache misses (άθροισμα read-stalls και write-stalls) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.28 Read-stall cycles = reads/program read miss rate read miss penalty Write-stall cycles = (writes/program write miss rate write miss penalty) + write buffer stalls q Για write-back caches, απλοποιούμε την εξίσωση: Memory-stall cycles = (reads+writes)/program miss rate miss penalty = (Mem Instructions/Program) (Misses/Mem Instructions) miss penalty = (Misses/Program) miss penalty = miss rate miss penalty
29 ΑΣ ΘΥΜΗΘΟΥΜΕ: The Memory Wall qlogic vs DRAM speed gap continues to grow 1000 Clocks per instruction Core Memory Clocks per DRAM access 0.01 VAX/1980 PPro/ ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.29
30 Επίδραση στην απόδοση του Cache q Σχετικά, το penalty για το Cache αυξάνεται (faster clock rate and/or lower CPI) Η ταχύτητα της μνήμης δεν βελτιώνεται τόσο σε σχέση με την ταχύτητα του CPU. Όταν υπολογίζουμε το CPI stall, το cache miss penalty μετριέται σε processor clock cycles που χρειάζονται για να αντιμετωπίσουν ένα miss Όσο πιο χαμηλό CPI ideal, τόσο πιο πολλή ώρα ξοδεύεται σε stalls q Ένας επεξεργαστής με CPI ideal 2, με 100 cycle miss penalty, 36% load/store instr s, και 2% I$ και 4% D$ miss rates Memory-stall cycles = 2% % 4% 100 = 3.44 So, CPI stalls = = 5.44 q Τι γίνεται αν το CPI ideal μειώνεται σε 1? 0.5? 0.25? q Τι γίνεται αν το processor clock rate διπλασιαστεί (διπλασιάζοντας το miss penalty)? ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.30
31 ΜΕΙΩΣΗ Cache Miss Rates (#1) 1. Πιο ευέλικτη τοποθέτηση blocks στο Cache q Σε ένα απευθείας ταξινομημένο (direct mapped) cache ένα block μνήμης αντιστοιχεί σε ένα cache block q Αντίθετα, μπορούμε να αφήσουμε ένα memory block να αντιστοιχεί σε οποιοδήποτε cache block fully associative cache q Ένας συμβιβασμός είναι η υποδιαίρεση του cache σε sets,το καθένα εκ των οποίων αποτελείται από n τρόπους (n ways (n-way set associative)). Ένα block μνήμης αντιστοιχεί σε ένα μοναδικό set (καθορίζεται από το index field) και μπορεί να τοποθετηθεί με οποιοδήποτε τρόπο σε αυτό το set (άρα έχουμε n επιλογές) (block address) modulo (# sets in the cache) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.31
32 Way Set Associative Cache Example Cache 0 1 Set V Tag Q1: Is it there? Data Compare all the cache tags in the set to the high order 3 memory address bits to tell if the memory block is in the cache 0000xx 0001xx 0010xx 0011xx 0100xx 0101xx 0110xx 0111xx 1000xx 1001xx 1010xx 1011xx 1100xx 1101xx 1110xx 1111xx Main Memory Two low order bits define the byte in the word (32-b words) One word blocks Q2: How do we find it? Use next 1 low order memory address bit to determine which cache set (i.e., modulo the number of sets in the cache) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.32
33 Another Reference String Mapping qconsider the main memory word reference string Start with an empty cache - all blocks initially marked as not valid ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.33
34 Another Reference String Mapping qconsider the main memory word reference string Start with an empty cache - all blocks initially marked as not valid miss 4 miss 0 hit 4 hit 000 Mem(0) 000 Mem(0) 000 Mem(0) 000 Mem(0) 010 Mem(4) 010 Mem(4) 010 Mem(4) 8 requests, 2 misses qμας λύνει το ping pong effect σε ένα direct mapped cache που οφείλεται στα conflict misses επειδή δύο (ή περισσότερες) θέσεις μνήμης που αντιστοιχούν στο ίδιο cache set μπορούν να συνυπάρξουν! ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.34
35 (Τετραπλό Set) Four-Way Set Associative Cache q2 8 = 256 sets το καθένα με τέσσερις μεθόδους (each with one block) Byte offset Tag 22 Index 8 Index V Tag Data V Tag Data V Tag Data V Tag Data 32 ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.35 Hit 4x1 select Data
36 Range of Set Associative Caches qγια ένα συγκεκριμένο μέγεθος Cache, κάθε διπλασιασμός στην σύζευξη (associativity) διπλασιάζει τον αριθμό blocks ανά σετ (τον αριθμό μεθόδων ways) και μειώνει δια δύο των αριθμό sets μειώνει το index κατά ένα bit και αυξάνει το tag κατά ένα bit. Used for tag compare Selects the set Selects the word in the block Tag Index Block offset Byte offset Decreasing associativity Direct mapped (only one way) Smaller tags Increasing associativity Fully associative (only one set) Tag is all the bits except block and byte offset ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.36
37 ΚΟΣΤΟΣ για Set Associative Caches q Όταν έχουμε miss, ποιας μεθόδου (way s) το block διαλέγουμε για αλλαγή? To block που χρησιμοποιήθηκε για τελευταία φορά (Last Recently Used (LRU): το block που αλλάζουμε είναι εκείνο που δεν έχει χρησιμοποιηθεί για την περισσότερη ώρα. - Πρέπει να έχουμε hardware για να εντοπίζουμε ποιας μεθόδου (way s) το block εκδιώξαμε και πότε - Για 2-way set associative, θέλουμε ένα bit ανά set set the bit when a block is referenced (and reset the other way s bit) q N-way set associative cache Κόστος και Μειονεκτήματα N comparators (delay και area) MUX delay (set selection) πριν τα δεδομένα να είναι διαθέσιμα Τα δεδομένα είναι διαθέσιμα μετά από την επιλογή του set ( απόφαση για Hit/Miss). Σε ένα απευθείας (direct mapped) cache, το cache block είναι διαθέσιμο πριν την απόφαση για Hit/Miss - Άρα δεν είναι δυνατό να υποθέσουμε ότι είχε hit και να συνεχίσουμε επανακτώντας μετά αν ήταν miss ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.37
38 Πλεονεκτήματα για Set Associative Caches qη επιλογή ενός direct mapped ή ενός set associative cache εξαρτάται από το κόστος ενός miss έναντι του κόστους του Cache (implementation cost). Miss Rate way 2-way 4-way 8-way Associativity 4KB 8KB 16KB 32KB 64KB 128KB 256KB 512KB Data from Hennessy & Patterson, Computer Architecture, 2003 qτα περισσότερα πλεονεκτήματα τα βλέπουμε πηγαίνοντας από direct mapped σε 2-way (20%+ reduction in miss rate) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.38
39 Μειώνοντας το Cache Miss Rate (#2) 2. Χρήση πολλαπλών επιπέδων caches q Με τις εξελίξεις στην τεχνολογία έχουμε τη δυνατότητα να χρησιμοποιήσουμε μεγαλύτερα L1 caches ή ένα δεύτερο επίπεδο cache συνήθως ενός unified L2 cache (i.e., κρατάει και εντολές και δεδομένα) και σε μερικές περιπτώσεις ακόμα και ενός unified L3 cache q Για το παράδειγμα μας, CPI ideal με 2, 100 cycle miss penalty (για κυρίως μνήμη), 36% load/stores, με 2% (4%) L1I$ (D$) miss rate, προσθέτουμε ένα UL2$ που έχει 25 cycles miss penalty και 0.5% miss rate CPI stalls = = 3.54 (σε σύγκριση με το 5.44 χωρίς L2$) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.39
40 Σχεδιάζοντας Πολλαπλά Επίπεδα Cache (Multilevel Cache) q Οι αρχές για σχεδιασμό ενός L1$ και ενός L2$ είναι πολύ διαφορετικές Η κυρίως cache (L1$) πρέπει να μπορεί να μειώνει όσο πιο πολύ το hit time έναντι πιο γρήγορου ωρολογιακού κύκλου - Μικρότερη, με μπλοκ μικρού μεγέθους Το δεύτερο(α) cache(s) (L2$-L3$) πρέπει να μειώνουν το miss rate για να μειώνουν την ποινή μιας μακράς προσπέλασης μνήμης - Μεγαλύτερη(ες) με μεγαλύτερο μέγεθος του μπλοκ q Το miss penalty του L1$ μειώνετε αισθητά με την παρουσία L2$ άρα μπορεί να είναι μικρότερο (i.e., γρηγορότερο) αλλά θα έχει ψηλότερο miss rate q Για το L2 cache, το hit time είναι λιγότερο σημαντικό από το miss rate Το hit time του L2$ καθορίζει το miss penalty του L1$ L2$ local miss rate >> than the global miss rate ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.40
41 Σημαντικές Παράμετροι ενός Cache L1$ typical L2$ typical Total size (blocks) 250 to to 250,000 Total size (KB) 16 to to 8000 Block size (B) 32 to to 128 Miss penalty (clocks) 10 to to 1000 Miss rates (global for L2$) 2% to 5% 0.1% to 2% ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.41
42 Παράμετροι Cache Δύο Δημοφιλών Επεξεργαστών Intel P4 AMD Opteron L1 organization Split I$ and D$ Split I$ and D$ L1 cache size 8KB for D$, 96KB for 64KB for each of I$ and D$ trace cache (~I$) L1 block size 64 bytes 64 bytes L1 associativity 4-way set assoc. 2-way set assoc. L1 replacement ~ LRU LRU L1 write policy write-through write-back L2 organization Unified Unified L2 cache size 512KB 1024KB (1MB) L2 block size 128 bytes 64 bytes L2 associativity 8-way set assoc. 16-way set assoc. L2 replacement ~LRU ~LRU L2 write policy write-back write-back ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.42
43 4 Ερωτήσεις για την ιεραρχία Μνήμης qq1: Πού μπορεί να τοποθετηθεί ένα block στο ψηλότερο επίπεδο? (Block placement) qq2: Πώς βρίσκουμε ένα block στο ψηλότερο επίπεδο? (Block identification) qq3: Πιο block αλλάζουμε σε περίπτωση ενός miss? (Block replacement) qq4: Τι γίνεται όταν γράφουμε δεδομένα? (Write strategy) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.43
44 Q1&Q2: Πού μπορεί ένα block να τοποθετηθεί/βρεθεί? # of sets Blocks per set Direct mapped # of blocks in cache 1 Set associative (# of blocks in cache)/ associativity Associativity (typically 2 to 16) Fully associative 1 # of blocks in cache Location method # of comparisons Direct mapped Index 1 Set associative Index the set; compare set s tags Degree of associativity Fully associative Compare all blocks tags # of blocks ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.44
45 Q3: Πιο block πρέπει να αντικατασταθεί? qεύκολο για direct mapped μόνο μια επιλογή! qset associative ή fully associative Τυχαία / Random Αυτό που δεν χρησιμοποιήθηκε για την περισσότερη ώρα -- LRU (Least Recently Used) qγια ένα 2-way set associative cache, τυχαία ανταλλαγή έχει miss rate about 1.1 φορές ψηλότερη από το LRU qτο LRU στοιχίζει αρκετά για να εφαρμοστεί σε πιο ψηλά βαθμό συζευξηκότητας (associativity) (> 4-way) λόγω του κόστους παρακολούθησης των δεδομένων στο Cache ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.45
46 Q4: Τι γίνεται κατά ένα write? qwrite-through Τα δεδομένα γράφονται και στο block στο cache και στο block στο αμέσως χαμηλότερο επίπεδο ιεραρχίας μνήμης Write-through is always combined with a write buffer so write waits to lower level memory can be eliminated (as long as the write buffer doesn t fill) qwrite-back Τα δεδομένα γράφονται μόνο στο block στο cache. Το διαγραμμένο/αλλαγμένο cache block μεταφέρεται στην κύρια μνήμη μόνο όταν αντικατασταθεί Χρειαζόμαστε ένα dirty bit για να εντοπίζουμε αν το block έχει μετατραπεί ή όχι. qπλεονεκτήματα και μειονεκτήματα? Write-through: Τα read misses δεν προκαλούν writes (so are simpler and cheaper) Write-back: Επαναλαμβανόμενα writes απαιτούν μόνο ένα write αμέσως χαμηλότερο επίπεδο. ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.46
47 Βελτιώνοντας την απόδοση του Cache 1. Μειώνουμε την ώρα για ένα hit στο cache smaller cache direct mapped cache smaller blocks for writes - no write allocate no hit on cache, just write to write buffer - write allocate to avoid two cycles (first check for hit, then write) pipeline writes via a delayed write buffer to cache 2. Μειώνουμε το miss rate bigger cache more flexible placement (increase associativity) larger blocks (16 to 64 bytes typical) victim cache small buffer holding most recently discarded blocks ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.47
48 Βελτιώνοντας την απόδοση του Cache 3. Μειώνουμε το miss penalty smaller blocks use a write buffer to hold dirty blocks being replaced so don t have to wait for the write to complete before reading check write buffer (and/or victim cache) on read miss may get lucky for large blocks fetch critical word first use multiple cache levels L2 cache not tied to CPU clock rate faster backing store/improved memory bandwidth - wider buses - memory interleaving, page mode DRAMs ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.48
49 ΠΕΡΙΛΗΨΗ : ΒΑΣΙΚΕΣ ΑΡΧΕΣ Cache Design qπάρα πολλές συγκρουόμενες διαστάσεις cache size block size associativity replacement policy write-through vs write-back write allocation Cache Size Associativity qη πιο σωστή λύση είναι ο συμβιβασμός depends on access characteristics - workload - use (I-cache, D-cache, TLB) depends on technology / cost qsimplicity often wins Bad Good Block Size Factor A Factor B Less More ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.49
50 ΕΠΟΜΕΝΗ ΔΙΑΛΕΞΗ ΚΑΙ ΚΑΤ ΟΙΚΟΝ ΜΕΛΕΤΗ qεπομενη ΕΝΟΤΗΤΑ Εικονική Μνήμη (Virtual Memory) qκατ ΟΙΚΟΝ ΜΕΛΕΤΗ Κεφάλαιο 5 Κεφάλαιο 7 ( , ) Patterson&Hennessy (από το βιβλίο του ΗΜΥ212) Σημειώσεις στην ιστοσελίδα (memory.pdf) ΗΜΥ312 Δ6-7 Κρυφή Μνήμη Cache.50
ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache)
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache) Διδάσκουσα: ΜΑΡΙΑ Κ ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucyaccy) [Προσαρµογή από Computer Architecture, Hennessy
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό
Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Αρης Ευθυμίου Το σημερινό μάθημα Κρυφές μνήμες (cache memory) Βασική οργάνωση, παράμετροι: γραμμές, συσχετιστικότητα, συνολική χωρητικότητα Επίδοση:
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% /
Αρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή
ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή Αρης Ευθυμίου Σύστημα μνήμης Η μνήμη είναι σημαντικό κομμάτι ενός υπολογιστή Επηρεάζει κόστος, ταχύτητα, κατανάλωση
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% /
Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)
Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα
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%
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη
Οργάνωση Ιεραρχίας Μνήμης - Caches
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Οργάνωση Ιεραρχίας Μνήμης - Caches Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό
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 Ιεραρχία Μνήμης Πρέπει
Εικονική Μνήμη (virtual memory)
Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται
Προχωρηµένα Θέµατα Αρχιτεκτονικής
Προχωρηµένα Θέµατα Αρχιτεκτονικής Memory Hierarchy Design. Λιούπης Ιεραρχία Μνήµης Τα προγράµµατα απαιτούν όλο και περισσότερη και πιο γρήγορη µνήµη Γρήγορη και µεγάλη µνήµη -> ακριβή Αυτό οδηγεί σε ιεραρχία
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το
Είδη των Cache Misses: 3C s
Είδη των Cache Misses: 3C s 1 Compulsory: Συμβαίνουν κατά την πρώτη πρόσβαση σε ένα block. Το block πρέπει να κληθεί από χαμηλότερα επίπεδα μνήμης και να τοποθετηθεί στην cache (αποκαλούνται και cold start
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης.
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Εικονική Μνήμη Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ
2/9/5 ΗΜΥ 32 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από Computer Architecture,
(advanced_ca, ακ. έτος Cache Optimisations
Cache Optimisations Διαφορά Επίδοσης Processor-Memory Performance Gap: (grows 50% / year) Ιεραρχία Μνήμης Πρέπει να μειώσουμε το processor-memory performance gap Η προσπέλαση δεδομένων (code & data) δεν
Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Cache Optimizations
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Cache Optimizations Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Αρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Αρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς
Ασκήσεις Caches
Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1
Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,
Ασκήσεις Caches Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1 byte
ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ
ΗΜΥ 32 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ Διδάσκων: Χάρης Θεοχαρίδης, ΗΜΜΥ ttheocharides@ucy.ac.cy [Προσαρμογή από Computer Architecture, Hennessy & Patterson,
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Ενότητα 7(α) - Ιεραρχία Μνήμης
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Ενότητα 7(α) Ιεραρχία Μνήμης 1 Οργάνωση Συστήματος Μνήμης Μια από τις κυριότερες λειτουργίες ενός υπολογιστικού συστήματος ηαποθήκευσηκαιηανάκλησηπληροφοριώναπότιςμονάδες
Εικονική Μνήμη (Virtual Μemory)
ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1
Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης
Τελική Εξέταση, Απαντήσεις/Λύσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για
ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018
ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018 Ηµεροµηνία Παράδοσης πρώτου µέρους: 25/10/2018 Θα πρέπει να παραδώσετε
Ασκήσεις Caches
Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφάλαιο 5: Ιεραρχία Μνήμης Memory Hierarchy
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφάλαιο 5: Ιεραρχία Μνήμης Memory Hierarchy 1 Main Memory Secondary Memory CPU Bus Input/Output Μια από τις κυριότερες λειτουργίες ενός υπολογιστικού
Εικονική Μνήμη (Virtual Μemory)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1
Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης
Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Ασκήσεις Caches http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό
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 Αρχιτεκτονική Υπολογιστών Ιεραρχία μνήμης: προχωρημένα θέματα Αρης Ευθυμίου Το σημερινό μάθημα Εικονική μνήμη και κρυφές μνήμες Physical/Virtual indexing Σκοπός: μείωση hit Ome Τεχνικές σχετικές
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
Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy. Κεφάλαιο 5- Ιεραρχία Μνήμης
Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy 1 Ιδεατά θέλουμε να ισχύει για μια μνήμη: Άπειρη, γρήγορη και φτηνή μνήμη 2 Πραγματικότητα 3 Υπάρχει λύση; 4 Τοπικότητα Αναφοράς/Χρήσης (Locality of Reference)
ΠΛΕ- 027 Μικροεπεξεργαστές
ΠΛΕ- 027 Μικροεπεξεργαστές 10ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Εικονική μνήμη, σχεδίαση αποδοτικής κρυφής μνήμης, προγραμματισμός για κρυφή μνήμη Αρης Ευθυμίου Εικονική μνήμη ως cache Η κύρια
Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 H Μικρο-αρχιτεκτονική μας 4 1 0 PCSrc IF/ID Control ID/EX
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr
SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)
SMPcache Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) 1. Βασικές ρυθμίσεις του συστήματος: δημιουργία μια δικής μας σύνθεσης συστήματος. Το SMPcache είναι ένα εργαλείο με το οποίο μπορούμε
Θέµατα Φεβρουαρίου
Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)
Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΡ ΙΟ ΥΠΟΛΟΟ ΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua. gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ
3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ntua.gr 3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ
Αρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 11: Κρυφή Μνήμη Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg
HY425 Αρχιτεκτονική Υπολογιστών, Χειµερινό Εξάµηνο
Review from last lecture HY425 Αρχιτεκτονική Υπολογιστών Διάλεξη 04 Δηµήτρης Νικολόπουλος, Αναπληρωτής Καθηγητής Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Speed Up Pipeline Depth; if ideal CPI is
CMOS Technology for Computer Architects
CMOS Technology for Computer Architects Iakovos Mavroidis Giorgos Passas Manolis Katevenis Lecture 13: On chip SRAM Technology FORTH ICS / EURECCA & UoC GREECE ABC A A E F A BCDAECF A AB C DE ABCDAECF
Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy. Κεφάλαιο 5- Ιεραρχία Μνήμης
Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy 1 Οργάνωση Συστήματος Μνήμης Ένα υπολογιστικό σύστημα συνήθως διαθέτει πολλούς τύπους μνήμης Registers, buffers, caches, main memory, secondary memory (flash/ssd,
Αρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 11: Κρυφή Μνήμη Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg
Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)
Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα
Εικονική Μνήμη (virtual memory)
Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται
Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy. Κεφάλαιο 5- Ιεραρχία Μνήμης
Επανάληψη Ιεραρχία Μνήμης Memory Hierarchy 1 Ιδεατά θέλουμε να ισχύει για μια μνήμη: Άπειρη, γρήγορη και φτηνή μνήμη 2 Πραγματικότητα 3 Υπάρχει λύση; 4 Τοπικότητα Αναφοράς/Χρήσης (Locality of Reference)
Σχεδιασµός της Ιεραρχίας Μνήµης. 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
Είδη των Cache Misses: 3C s
Είδη των Cache Misses: 3C s Compulsory: Συµβαίνουν κατά την πρώτη πρόσβαση σε ένα block. Το block πρέπει να κληθεί από χαµηλότερα επίπεδα µνήµης και να τοποθετηθεί στην cache (αποκαλούνται και cold start
Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation
Προηγμένοι Μικροεπεξεργαστές Paging & Segmentation Segmentation Τεχνική για σπάσουμε την μνήμη σε λογικά κομμάτια Κάθε κομμάτι αποθηκεύει πληροφορία σχετική με data segments for each process code segments
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Ενότητα 7 Ιεραρχία Μνήμης
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Ενότητα 7 Ιεραρχία Μνήμης 1 Οργάνωση Συστήματος Μνήμης Μια από τις κυριότερες λειτουργίες ενός υπολογιστικού συστήματος είναι η αποθήκευση και
Virtual Memory. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης
Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 24-25 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Virtual Memory http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 9ο μάθημα: Κρυφές μνήμες εικονική μνήμη Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Μεγαλύτερη associadvity! Rules of thumb:
i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Τεχνολογίες Κύριας Μνήμης
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κύρια Μνήμη
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 11: Κρυφές Μνήμες και η Επίδοσή τους Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Ενότητα 7 Ιεραρχία Μνήμης
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Ενότητα 7 Ιεραρχία Μνήμης 1 Οργάνωση Συστήματος Μνήμης Μια από τις κυριότερες λειτουργίες ενός υπολογιστικού συστήματος είναι η αποθήκευση και
ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο
Προηγμένοι Μικροεπεξεργαστές. Υποσύστημα Μνήμης
Προηγμένοι Μικροεπεξεργαστές Υποσύστημα Μνήμης An unbalanced system CPU Memory 2011-01-17 Εργαστήριο Ηλεκτρονικών Εφαρμογών 2 Memory Wall Στους πρώτους μικροεπεξεργαστές: Η μνήμη τόσο γρήγορη όσο και ο
Εικονική Μνήμη (virtual memory)
Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται
Αρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 10: Ιεραρχία Μνήμης. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg
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%
Ενσωµατωµένα Υπολογιστικά Συστήµατα (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
Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ρχιτεκτονική Υπολογιστών 2016-17 Εικονική Μνήμη (και ο ρόλος της στην ιεραρχία μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Δευτερεύουσα μνήμη
AΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (5 ο εξάμηνο) ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (ΦΘΙΝΟΠΩΡΟ 2007) ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ 30 ΛΕΠΤΑ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.
ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή
Τέτοιες λειτουργίες γίνονται διαμέσου του
Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου
Σειρά Ασκήσεων 11: Κρυφές Μνήμες και η Επίδοσή τους
ΗΥ-225: Οργάνωση Υπολογιστών Άνοιξη 2019 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Σειρά Ασκήσεων 11: Κρυφές Μνήμες και η Επίδοσή τους Παράδοση έως Παρασκευή 19 Απριλίου 2019 (βδ. 11.3) ώρα 23:59 (από βδ.
Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές
Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές Αρης Ευθυμίου Το σημερινό μάθημα! Εισαγωγή σε παράλληλα συστήματα Ταξινόμιση κατά Flynn Μέθοδοι επικοινωνίας: shared memory, message passing Δίκτυα διασύνδεσης!
ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:
ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Μ - Ω) Κανονική εξεταστική Φεβρουαρίου
Αρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Οργάνωση Υπολογιστών
Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό
Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης
Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 5 Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης Ασκήσεις Η αρίθµηση των ασκήσεων είναι από την 4 η έκδοση
Εικονική Μνήμη (Virtual memory)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual memory) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Προβλήματα φυσικής μνήμης (1) Τι θα συμβεί εάν η μνήμη
Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,
Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
The challenges of non-stable predicates
The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program. The challenges of non-stable predicates
Εικονική Μνήμη (virtual memory)
Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται
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
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
Αρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αρχιτεκτονική υπολογιστών Ενότητα 4 : Ενδιάμεση Μνήμη (Cache Memory) Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής
Η ιεραρχία της μνήμης
Η ιεραρχία της μνήμης Οι περιορισμοί στο σχεδιασμό της μνήμης συνοψίζονται σε τρεις ερωτήσεις : 1) Πόση 2) Πόσο γρήγορη 3) Πόσο ακριβή Ερωτήματα-Απαντήσεις Ερώτημα πόση μνήμη. Είναι ανοικτό. Αν υπάρχει
Instruction Execution Times
1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables
Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης
Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης Αρης Ευθυμίου Λειτουργία μνήμης Η μνήμη είναι ένας πίνακας αποθήκευσης Οταν διαβάζουμε μια θέση, περιμένουμε να πάρουμε την τελευταία τιμή που έχει
Κρυφή Μνήµη. Λειτουργικά Συστήµατα ΙΙ UNIX. Μάθηµα: Aναπλ. Καθ. Κ. Λαµπρινουδάκης ιδάσκων: &καιτοπλήθοςτωνπλαισίωντηςκρυφήςµνήµης
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Τρόπος Απεικόνισης Μπλόκ της Κύριας Μνήµης σε Πλαίσια της Κρυφής Μνήµης (placement policy) Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Κρυφή Μνήµη Οργάνωση κρυφής µνήµης ιδάσκων:
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2011-12 Εικονική (και ο ρόλος της στην ιεραρχία μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Ιεραρχία η νέα τάση: [2011]
Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση
Κεφάλαιο 5 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 1 Σημείωση Οι παρούσες διαφάνειες παρέχονται ως συμπλήρωμα διδασκαλίας για το μάθημα «Αρχιτεκτονική Υπολογιστών» του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας