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

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

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

Transcript

1 ΗΜΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache) Διδάσκουσα: ΜΑΡΙΑ Κ ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ [Προσαρµογή από Computer Architecture, Hennessy & Patterson, 2005, UCB] (ΕΠ) ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΙΕΡΑΡΧΙΑΣ ΜΝΗΜΗΣ Στόχος: Ο χρήστης βλέπει όσο το δυνατό περισσότερη µνήµη, στην ταχύτητα που προσφέρει η πιο γρήγορη τεχνολογία και στο κόστος της πιο φθηνής τεχνολογίας Πως; Χρήση πλεονεκτήµατος τοπικότητας (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 Κρυφή Μνήµη Cache2

2 ΙΕΡΑΡΧΙΑ ΜΝΗΜΗΣ ΠΟΥ ΒΑΣΙΖΕΤΑΙ q Temporal Locality (Locality in Time) Τοπικότητα στον χρόνο: Κρατάµε τα δεδοµένα που έχουν προσπελαστεί πιο πρόσφατα όσο πιο κοντά στον επεξεργαστή (most recently accessed) q Spatial Locality (Locality in Space) Τοπικότητα στον χώρο: Μεταφέρουµε blocks που αποτελούνται από συνεχή δεδοµένα στα πιο ψηλά επίπεδα (continuous words) To Processor From Processor Upper Level Memory Blk X Lower Level Memory Blk Y ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache3 ΙΕΡΑΡΧΙΑ ΜΝΗΜΗΣ - ΟΡΟΛΟΓΙΑ q Hit: Τα δεδοµένα είναι σε ένα block στο πιο ψηλό επίπεδο (Blk X) Hit Rate: το ποσοστό των προσβάσεων στη µνήµη που είναι hit ( (# hits) / (# memory accesses) ) Hit Time: Η ώρα προσπέλασης του ψηλού επιπέδου ως RAM access time + Time to determine hit/miss To Processor Upper Level Memory Lower Level Memory From Processor Blk X 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 Κρυφή Μνήµη Cache4

3 ΠΩΣ ΕΛΕΓΧΕΤΑΙ Η ΙΕΡΑΡΧΙΑ? q Registers Μemory Από µεταγλωττιστή/συµβολοµεταφραστή (compiler+ programmer?) q Cache Main Memory Από το σύστηµα ελέγχου CACHE (cache controller hardware) q Main Memory Disks Από το λειτουργικό σύστηµα (operating system - virtual memory) Από το υλικό (virtual to physical address mapping - TLB) Από τον προγραµµατιστή (αρχεία) ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache5 Κρυφή Μνήµη -- 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 Κρυφή Μνήµη Cache6

4 Caching: ΕΝΑ ΑΠΛΟ ΠΑΡΑΔΕΙΓΜΑ Cache (4 words) Index Valid Tag Q1: Is it there? ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache7 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 (ie, modulo the number of blocks in the cache) (block address) modulo (# of blocks in the cache) Caching: ΕΝΑ ΑΠΛΟ ΠΑΡΑΔΕΙΓΜΑ Cache (4 words) Index Valid Tag Q1: Is it there? ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache8 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 (ie, modulo the number of blocks in the cache) (block address) modulo (# of blocks in the cache)

5 Direct Mapped Cache q Consider the main memory word reference string Start with an empty cache - all blocks initially marked as not valid ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache9 Direct Mapped Cache (Απευθείας) q Consider 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) 4 miss 3 hit 4 hit 15 miss 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 Κρυφή Μνήµη Cache10

6 MIPS Direct Mapped Cache Example q One word/block, cache size = 1K words Byte offset Hit Tag Index Data Index Valid Tag 20 Data 32 ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache11 Ποιο είδος τοπικότητας εκµεταλλευόµαστε; (Επ): ΓΙΑΤΙ ΔΙΑΣΩΛΗΝΩΝΟΥΜΕ? ΓΙΑ ΑΠΟΔΟΣΗ! 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 ALU 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 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 Κρυφή Μνήµη Cache12

7 ΠΩΣ ΧΕΙΡΙΖΟΜΑΣΤΕ 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 Κρυφή Μνήµη Cache13 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 (wrt time) << 1 / DRAM write cycle q Ο Εφιάλτης του σχεδιαστή συστήµατος µνήµης Όταν η συχνότητα εγγραφής είναι µεγαλύτερη από τον χρόνο που δουλεύει η DRAM - store frequency (wrt time) 1 / DRAM write cycle οδηγούµαστε σε write buffer saturation (γεµίζει το buffer) - Η µια λύση είναι το write-back cache; Άλλη είναι το L2 cache ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache14

8 Ακόµα ένα Reference String Mapping Ας υποθέσουµε την εξής σειρά αναφορών στην µνήµη: Ξεκινούµε µε άδεια cache όλα τα blocks είναι αρχικά invalid ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache15 Ακόµα ένα Reference String Mapping Ας υποθέσουµε την εξής σειρά αναφορών στην µνήµη: Ξεκινούµε µε άδεια cache όλα τα blocks είναι αρχικά invalid 0 miss 4 miss 0 miss 4 miss Mem(0) 00 Mem(0) 01 Mem(4) Mem(0) 4 0 miss 4 miss 0 miss 4 miss Mem(4) Mem(0) 01 Mem(4) 0 00 Mem(0) 8 requests, 8 misses q Δηµιουργία του ping pong effect από τα conflict misses δύο τοποθεσίες στην µνήµη που αντιστοιχούν στο ίδιο cache block ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache16

9 Πηγές που συνδράµουν σε 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 Κρυφή Μνήµη Cache17 One More! Invalidation Misses Χειρισµός των 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) δεν γράφουµε στο cache, απλά γράφουµε τη λέξη στο write buffer (και τελικά στο επόµενο επίπεδο µνήµης), δεν χρειάζεται να σταµατήσουµε µέχρι να γεµίσει το write buffer / πρέπει να ακυρώσουµε (invalidate) το cache block αφού θα περιέχει ασυνέπεια στα δεδοµένα (inconsistent) ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache18

10 Hit Multiword Block Direct Mapped Cache q Four words/block, cache size = 1K words Tag Byte offset 20 Index 8 Block offset Data Index Valid Tag 20 Data ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache19 What kind of locality are we taking advantage of? 32 Τοπικότητα χώρου (Spatial Locality) q Let cache block hold more than one word Start with an empty cache - all blocks initially marked as not valid ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache20

11 Τοπικότητα χώρου (Spatial Locality) q Let 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 miss 00 Mem(1) Mem(0) 00 Mem(1) Mem(0) 00 Mem(3) Mem(2) 3 hit 4 miss 3 hit Mem(1) Mem(0) 00 Mem(3) Mem(2) 00 Mem(1) Mem(0) 00 Mem(3) Mem(2) 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 Κρυφή Μνήµη Cache21 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 Κρυφή Μνήµη Cache22

12 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 Κρυφή Μνήµη Cache23 Multiword Block Considerations (Πολλαπλές Λέξεις σε ένα Block) q Read misses (I$ and D$) Ακριβώς όπως ένα single word block ένα miss επιστρέφει ένα ολόκληρο block από τη µνήµη Το Miss penalty αυξάνεται όσο το block size αυξάνεται ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache24 - 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 q Write misses (D$) Δεν µπορούµε να κρατήσουµε χώρο για εγγραφή γιατί αλλιώς θα καταλήξουµε σε garbled block στο cache (eg, για 4 word blocks, καινούριο tag, µία λέξη δεδοµένων από το νέο block, και τρεις λέξεις δεδοµένων από το προηγούµενο block), άρα πρέπει να φέρουµε το block από το επόµενο επίπεδο µνήµης και να πληρώσουµε το τίµηµα για το σταµάτηµα της διασωλήνωσης

13 Τί µάθαµε µέχρι τώρα για το 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 Κρυφή Μνήµη Cache25 Επανάληψη : Τοπικότητα q Temporal Locality Τοπικότητα Χρόνου Κρατάµε τα πιο πρόσφατα δεδοµένα κοντά στον επεξεργαστή q Spatial Locality Τοπικότητα Χώρου Μεταφέρουµε blocks που αποτελούνται από συνεχόµενες λέξεις κοντά στον επεξεργαστή To Processor From Processor Upper Level Memory Blk X Lower Level Memory Blk Y q Hit Time << Miss Penalty 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 Κρυφή Μνήµη Cache26

14 Μετρώντας την απόδοση του Cache q Αν υποθέσουµε ότι το κόστος ενός Cache hit υπολογίζεται σαν µέρος του χρόνου του επεξεργαστή (CPU execution cycle) ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache27 CPU time = IC CPI CC = IC (CPI ideal + Memory-stall cycles) CC CC? CPI stall q Οι κύκλοι που το CPU περιµένει την µνήµη προέρχονται από cache misses (άθροισµα read-stalls και write-stalls) 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-through 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 ΑΣ ΘΥΜΗΘΟΥΜΕ: The Memory Wall q Logic vs DRAM speed gap continues to grow 1000 Clocks per instruction Core Memory Clocks per DRAM access 001 VAX/1980 PPro/ ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache28

15 Επίδραση στην απόδοση του 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 = 344 So, CPI stalls = = 544 q Τι γίνεται αν το CPI ideal µειώνεται σε 1? 05? 025? q Τι γίνεται αν το processor clock rate διπλασιαστεί (διπλασιάζοντας το miss penalty)? ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache29 ΜΕΙΩΣΗ 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 Κρυφή Μνήµη Cache30

16 Set Associative Cache Example Cache Way 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 (ie, modulo the number of sets in the cache) ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache31 Another Reference String Mapping q Consider the main memory word reference string Start with an empty cache - all blocks initially marked as not valid ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache32

17 Another Reference String Mapping q Consider 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 Κρυφή Μνήµη Cache33 (Τετραπλό Set) Four-Way Set Associative Cache q 2 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 x1 select ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache34 Hit Data

18 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 Κρυφή Μνήµη Cache35 ΚΟΣΤΟΣ για 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 Κρυφή Μνήµη Cache36

19 Πλεονεκτήµατα για 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 Κρυφή Μνήµη Cache37 Μειώνοντας το Cache Miss Rate (#2) 2 Χρήση πολλαπλών επιπέδων caches q Με τις εξελίξεις στην τεχνολογία έχουµε τη δυνατότητα να χρησιµοποιήσουµε µεγαλύτερα L1 caches ή ένα δεύτερο επίπεδο cache συνήθως ενός unified L2 cache (ie, κρατάει και εντολές και δεδοµένα) και σε µερικές περιπτώσεις ακόµα και ενός 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 και 05% miss rate CPI stalls = = 354 (σε σύγκριση µε το 544 χωρίς L2$) ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache38

20 Σχεδιάζοντας Πολλαπλά Επίπεδα Cache (Multilevel Cache) q Οι αρχές για σχεδιασµό ενός L1 και ενός L2 caches είναι πολύ διαφορετικές Η κυρίως cache (L1) πρέπει να µπορεί να µειώνει όσο πιο πολύ το hit time έναντι πιο γρήγορου ωρολογιακού κύκλου - Smaller with smaller block sizes Το δεύτερο(α) cache(s) (L2-L3) πρέπει να µειώνουν το miss rate για να µειώνουν την ποινή µιας µακράς προσπέλασης µνήµης - Larger with larger block sizes q Το miss penalty του L1 cache µειώνετε αισθητά µε την παρουσία L2 cache άρα µπορεί να είναι µικρότερο (ie, γρηγορότερο) αλλά θα έχει ψηλότερο miss rate q Για το L2 cache, το hit time είναι λιγότερο σηµαντικό από το miss rate The L2$ hit time determines L1$ s miss penalty L2$ local miss rate >> than the global miss rate ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache39 Σηµαντικές Παράµετροι ενός Cache Total size (blocks) L1 typical L2 typical 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% 01% to 2% ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache40

21 Παράµετροι Cache Δύο Δηµοφιλών Επεξεργαστών Intel P4 AMD Opteron L1 organization Split I$ and D$ Split I$ and D$ L1 cache size 8KB for D$, 96KB for trace cache (~I$) L1 block size 64 bytes 64 bytes 64KB for each of I$ and D$ 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 Κρυφή Μνήµη Cache41 4 Ερωτήσεις για την ιεραρχία Μνήµης q Q1: Πού µπορεί να τοποθετηθεί ένα block στο ψηλότερο επίπεδο? (Block placement) q Q2: Πώς βρίσκουµε ένα block στο ψηλότερο επίπεδο? (Block identification) q Q3: Πιο block αλλάζουµε σε περίπτωση ενός miss? (Block replacement) q Q4: Τι γίνεται όταν γράφουµε δεδοµένα? (Write strategy) ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache42

22 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 Κρυφή Μνήµη Cache43 Q3: Πιο block πρέπει να αντικατασταθεί? q Εύκολο για direct mapped µόνο µια επιλογή! q Set associative ή fully associative Τυχαία / Random Αυτό που δεν χρησιµοποιήθηκε για την περισσότερη ώρα -- LRU (Least Recently Used) q Για ένα 2-way set associative cache, τυχαία ανταλλαγή έχει miss rate about 11 φορές ψηλότερη από το LRU q Το LRU στοιχίζει αρκετά για να εφαρµοστεί σε πιο ψηλά βαθµό συζευξηκότητας (associativity) (> 4-way) λόγω του κόστους παρακολούθησης των δεδοµένων στο Cache ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache44

23 Q4: Τι γίνεται κατά ένα write? q Write-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) q Write-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 Κρυφή Μνήµη Cache45 Βελτιώνοντας την απόδοση του 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 Κρυφή Μνήµη Cache46

24 Βελτιώνοντας την απόδοση του 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 Κρυφή Μνήµη Cache47 ΠΕΡΙΛΗΨΗ : ΒΑΣΙΚΕΣ ΑΡΧΕΣ Cache Design q Πάρα πολλές συγκρουόµενες διαστάσεις cache size Cache Size block size associativity replacement policy write-through vs write-back write allocation Associativity q Η πιο σωστή λύση είναι ο συµβιβασµός depends on access characteristics - workload Bad - use (I-cache, D-cache, TLB) depends on technology / cost Good q Simplicity often wins Block Size Factor A Factor B Less More ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache48

25 ΕΠΟΜΕΝΗ ΔΙΑΛΕΞΗ ΚΑΙ ΚΑΤ ΟΙΚΟΝ ΜΕΛΕΤΗ q ΕΠΟΜΕΝΗ ΕΝΟΤΗΤΑ Εικονική Μνήµη (Virtual Memory) q ΚΑΤ ΟΙΚΟΝ ΜΕΛΕΤΗ Κεφάλαιο 5 Κεφάλαιο 7 (71 73, 75 78) Patterson&Hennessy (από το βιβλίο του ΗΜΥ212) Σηµειώσεις στην ιστοσελίδα (memorypdf) ΗΜΥ312 Δ6-7 Κρυφή Μνήµη Cache49

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

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

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

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

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

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

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

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

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

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

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

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

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% /

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

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

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

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

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

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

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

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 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% /

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

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%

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

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

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

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών 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. Προσομοίωση λειτουργίας ιεραρχίας

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

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

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

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

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής Προχωρηµένα Θέµατα Αρχιτεκτονικής 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 Ιεραρχία Μνήμης Πρέπει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(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/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

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

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

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

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

ΕΠΛ 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 Θα πρέπει να παραδώσετε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις Caches

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

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

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

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

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

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

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

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

Άσκηση 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

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

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 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% /

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

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

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

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

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

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

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

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

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

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

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

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

HY425 Αρχιτεκτονική Υπολογιστών, Χειµερινό Εξάµηνο

HY425 Αρχιτεκτονική Υπολογιστών, Χειµερινό Εξάµηνο Review from last lecture HY425 Αρχιτεκτονική Υπολογιστών Διάλεξη 04 Δηµήτρης Νικολόπουλος, Αναπληρωτής Καθηγητής Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Speed Up Pipeline Depth; if ideal CPI is

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

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

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

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

Ασκήσεις Caches

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

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

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

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

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

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

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

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

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

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

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

Σχεδιασµός της Ιεραρχίας Μνήµης. 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Α. Δίνονται οι. (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 ΑΡΧΙΤΕΚΤΟΝΙΚΗ

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

CMOS Technology for Computer Architects

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προηγμένοι Μικροεπεξεργαστές. Υποσύστημα Μνήμης Προηγμένοι Μικροεπεξεργαστές Υποσύστημα Μνήμης An unbalanced system CPU Memory 2011-01-17 Εργαστήριο Ηλεκτρονικών Εφαρμογών 2 Memory Wall Στους πρώτους μικροεπεξεργαστές: Η μνήμη τόσο γρήγορη όσο και ο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τέτοιες λειτουργίες γίνονται διαμέσου του

Τέτοιες λειτουργίες γίνονται διαμέσου του Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου

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

3. Η ιεραρχία της μνήμης

3. Η ιεραρχία της μνήμης Κεφάλαιο 3: Η ιεραρχία της μνήμης 44 3. Η ιεραρχία της μνήμης 3.1.1 Η τεχνολογία της ιεραρχημένης μνήμης Για τους προγραμματιστές θα ήταν επιθυμητό να γινόταν προπέλαση σε απεριόριστες ποσότητες μνήμης

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

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%

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

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

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

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

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

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

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

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

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

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

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ρχιτεκτονική Υπολογιστών 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.

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

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

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

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

Instruction Execution Times

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

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

The challenges of non-stable predicates

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

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

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

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

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

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

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

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

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

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

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

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

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

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

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

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

EE512: Error Control Coding

EE512: Error Control Coding EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3

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

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Στην ενότητα αυτή θα αναφερθούµε εκτενέστερα στη λειτουργία και την οργάνωση της κρυφής µνήµης. Θα προσδιορίσουµε τις βασικές λειτουργίες που σχετίζονται µε

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

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

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

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

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

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

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

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

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

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

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

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

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

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

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

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές

Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές Αρης Ευθυμίου Το σημερινό μάθημα! Εισαγωγή σε παράλληλα συστήματα Ταξινόμιση κατά Flynn Μέθοδοι επικοινωνίας: shared memory, message passing Δίκτυα διασύνδεσης!

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