Inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 31 – Caches II 2008-04-14 In this week’s Science, IBM researchers describe a new class.

Slides:



Advertisements
Similar presentations
© Karen Miller, What do we want from our computers?  correct results we assume this feature, but consider... who defines what is correct?  fast.
Advertisements

CS 430 – Computer Architecture
Modified from notes by Saeid Nooshabadi COMP3221: Microprocessors and Embedded Systems Lecture 25: Cache - I Lecturer:
CS61C L35 VM I (1) Garcia © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture.
CS61C L32 Caches II (1) A Carle, Summer 2005 © UCB inst.eecs.berkeley.edu/~cs61c/su05 CS61C : Machine Structures Lecture #20: Caches Andy.
Computer ArchitectureFall 2007 © November 14th, 2007 Majd F. Sakr CS-447– Computer Architecture.
CS61C L31 Caches II (1) Garcia, Fall 2006 © UCB GPUs >> CPUs?  Many are using graphics processing units on graphics cards for high-performance computing.
CS61C L22 Caches II (1) Garcia, Fall 2005 © UCB Lecturer PSOE, new dad Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine.
Memory Subsystem and Cache Adapted from lectures notes of Dr. Patterson and Dr. Kubiatowicz of UC Berkeley.
Lecturer PSOE Dan Garcia
CS61C L23 Cache II (1) Chae, Summer 2008 © UCB Albert Chae, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #23 – Cache II.
Inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 32 – Caches III Prem Kumar of Northwestern has created a quantum inverter.
CS 61C L20 Caches I (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine.
CS61C L34 Virtual Memory I (1) Garcia, Spring 2007 © UCB 3D chips from IBM  IBM claims to have found a way to build 3D chips by stacking them together.
CS 61C L24 VM II (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
Modified from notes by Saeid Nooshabadi
CS61C L22 Caches III (1) A Carle, Summer 2006 © UCB inst.eecs.berkeley.edu/~cs61c/su06 CS61C : Machine Structures Lecture #22: Caches Andy.
COMP3221 lec33-Cache-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 12: Cache Memory - I
CS61C L24 Cache III, VM I(1) Chae, Summer 2008 © UCB Albert Chae, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #24 – Cache.
CS61C L23 Caches I (1) Beamer, Summer 2007 © UCB Scott Beamer, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #23 Cache I.
Computer ArchitectureFall 2008 © October 27th, 2008 Majd F. Sakr CS-447– Computer Architecture.
CS61C L21 Caches I (1) Garcia, Fall 2005 © UCB Lecturer PSOE, new dad Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine.
CS61C L31 Caches I (1) Garcia 2005 © UCB Peer Instruction Answer A. Mem hierarchies were invented before (UNIVAC I wasn’t delivered ‘til 1951) B.
CS61C L33 Caches III (1) Garcia, Spring 2007 © UCB Future of movies is 3D?  Dreamworks says they may exclusively release movies in this format. It’s based.
COMP3221: Microprocessors and Embedded Systems Lecture 26: Cache - II Lecturer: Hui Wu Session 2, 2005 Modified from.
CS61C L32 Caches II (1) Garcia, 2005 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
CS61C L31 Caches I (1) Garcia 2005 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
CS 61C L35 Caches IV / VM I (1) Garcia, Fall 2004 © UCB Andy Carle inst.eecs.berkeley.edu/~cs61c-ta inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
CS61C L20 Caches I (1) A Carle, Summer 2006 © UCB inst.eecs.berkeley.edu/~cs61c/su06 CS61C : Machine Structures Lecture #20: Caches Andy Carle.
CS 61C L25 VM III (1) Garcia, Spring 2004 © UCB TA Chema González www-inst.eecs/~cs61c-td inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture.
CS61C L32 Caches II (1) Garcia, Spring 2007 © UCB Experts weigh in on Quantum CPU  Most “profoundly skeptical” of the demo. D-Wave has provided almost.
CS61C L30 Caches I (1) Garcia, Fall 2006 © UCB Shuttle can’t fly over Jan 1?  A computer bug has come up for the shuttle – its computers don’t reset to.
Inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 30 – Caches I Touted as “the fastest CPU on Earth”, IBM’s new Power6 doubles.
Computer ArchitectureFall 2007 © November 12th, 2007 Majd F. Sakr CS-447– Computer Architecture.
CS61C L33 Caches III (1) Garcia © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture.
Chap.7 Memory system Jen-Chang Liu, Spring Big Ideas so far 15 weeks to learn big ideas in CS&E Principle of abstraction, used to build systems.
CS61C L36 VM II (1) Garcia, Fall 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
COMP3221 lec34-Cache-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 34: Cache Memory - II
CS61C L24 Cache II (1) Beamer, Summer 2007 © UCB Scott Beamer, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #24 Cache II.
CS61C L33 Virtual Memory I (1) Garcia, Fall 2006 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c UC Berkeley.
Cs 61C L17 Cache.1 Patterson Spring 99 ©UCB CS61C Cache Memory Lecture 17 March 31, 1999 Dave Patterson (http.cs.berkeley.edu/~patterson) www-inst.eecs.berkeley.edu/~cs61c/schedule.html.
CS61C L31 Caches I (1) Garcia, Spring 2007 © UCB Powerpoint bad!!  Research done at the Univ of NSW says that “working memory”, the brain part providing.
Computer ArchitectureFall 2008 © November 3 rd, 2008 Nael Abu-Ghazaleh CS-447– Computer.
CS 61C L21 Caches II (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine.
CS 61C L23 Caches IV / VM I (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C :
CS61C L37 VM III (1)Garcia, Fall 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
Computer ArchitectureFall 2007 © November 12th, 2007 Majd F. Sakr CS-447– Computer Architecture.
DAP Spr.‘98 ©UCB 1 Lecture 11: Memory Hierarchy—Ways to Reduce Misses.
Memory Hierarchy and Cache Design The following sources are used for preparing these slides: Lecture 14 from the course Computer architecture ECE 201 by.
Cache Memory CSE Slides from Dan Garcia, UCB.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 10 Memory Hierarchy.
3-May-2006cse cache © DW Johnson and University of Washington1 Cache Memory CSE 410, Spring 2006 Computer Systems
CS61C L17 Cache1 © UC Regents 1 CS61C - Machine Structures Lecture 17 - Caches, Part I October 25, 2000 David Patterson
CML CML CS 230: Computer Organization and Assembly Language Aviral Shrivastava Department of Computer Science and Engineering School of Computing and Informatics.
Csci 211 Computer System Architecture – Review on Cache Memory Xiuzhen Cheng
Inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 30 – Caches I After more than 4 years C is back at position number 1 in.
Inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 14 – Caches III Google Glass may be one vision of the future of post-PC.
COMP 3221: Microprocessors and Embedded Systems Lectures 27: Cache Memory - III Lecturer: Hui Wu Session 2, 2005 Modified.
Instructor Paul Pearce
CS61C : Machine Structures Lecture 6. 2
Memristor memory on its way (hopefully)
CS61C : Machine Structures Lecture 6. 2
Cache Memory.
Lecturer PSOE Dan Garcia
Lecturer PSOE Dan Garcia
CS-447– Computer Architecture Lecture 20 Cache Memories
Lecturer PSOE Dan Garcia
Some of the slides are adopted from David Patterson (UCB)
Albert Chae, Instructor
Chapter Five Large and Fast: Exploiting Memory Hierarchy
Presentation transcript:

inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 31 – Caches II In this week’s Science, IBM researchers describe a new class of data storage, called racetrack memory, combining the data storage density of disk with the ruggedness and speed of flash memory (no moving parts). They store bits as magnetic fields on nanowires. They don’t have a prototype, and say commercialization is about 7 years away. But, this could be something big! Lecturer SOE Dan Garcia Hi to Yi Luo from Seattle, WA !

CS61C L31 Caches II (2) Garcia, Spring 2008 © UCB Direct-Mapped Cache Terminology  All fields are read as unsigned integers.  Index  specifies the cache index (or “row”/block)  Tag  distinguishes betw the addresses that map to the same location  Offset  specifies which byte within the block we want ttttttttttttttttt iiiiiiiiii oooo tagindex byte to checkto offset if have select within correct blockblock block

CS61C L31 Caches II (3) Garcia, Spring 2008 © UCB AREA (cache size, B) = HEIGHT (# of blocks) * WIDTH (size of one block, B/block) WIDTH (size of one block, B/block) HEIGHT (# of blocks) AREA (cache size, B) 2 (H+W) = 2 H * 2 W Tag Index Offset TIO Dan’s great cache mnemonic

CS61C L31 Caches II (4) Garcia, Spring 2008 © UCB Caching Terminology  When reading memory, 3 things can happen:  cache hit: cache block is valid and contains proper address, so read desired word  cache miss: nothing in cache in appropriate block, so fetch from memory  cache miss, block replacement: wrong data is in cache at appropriate block, so discard it and fetch desired data from memory (cache always copy)

CS61C L31 Caches II (5) Garcia, Spring 2008 © UCB  Ex.: 16KB of data, direct-mapped, 4 word blocks  Can you work out height, width, area?  Read 4 addresses 1. 0x x C 3. 0x x  Memory vals here: Address (hex) Value of Word Memory C a b c d C e f g h C i j k l... Accessing data in a direct mapped cache

CS61C L31 Caches II (6) Garcia, Spring 2008 © UCB  4 Addresses:  0x , 0x C, 0x , 0x  4 Addresses divided (for convenience) into Tag, Index, Byte Offset fields Tag Index Offset Accessing data in a direct mapped cache

CS61C L31 Caches II (7) Garcia, Spring 2008 © UCB 16 KB Direct Mapped Cache, 16B blocks  Valid bit: determines whether anything is stored in that row (when computer initially turned on, all entries invalid)... Valid Tag 0xc-f 0x8-b0x4-70x Index

CS61C L31 Caches II (8) Garcia, Spring 2008 © UCB 1. Read 0x Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3

CS61C L31 Caches II (9) Garcia, Spring 2008 © UCB So we read block 1 ( )... Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3

CS61C L31 Caches II (10) Garcia, Spring 2008 © UCB No valid data... Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3

CS61C L31 Caches II (11) Garcia, Spring 2008 © UCB So load that data into cache, setting tag, valid... Valid Tag dcba  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3

CS61C L31 Caches II (12) Garcia, Spring 2008 © UCB Read from cache at offset, return word b  Valid Tag Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba

CS61C L31 Caches II (13) Garcia, Spring 2008 © UCB 2. Read 0x C = 0… Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba

CS61C L31 Caches II (14) Garcia, Spring 2008 © UCB Index is Valid... Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba

CS61C L31 Caches II (15) Garcia, Spring 2008 © UCB Index valid, Tag Matches... Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba

CS61C L31 Caches II (16) Garcia, Spring 2008 © UCB Index Valid, Tag Matches, return d... Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba

CS61C L31 Caches II (17) Garcia, Spring 2008 © UCB 3. Read 0x = 0… Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba

CS61C L31 Caches II (18) Garcia, Spring 2008 © UCB So read block 3... Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba

CS61C L31 Caches II (19) Garcia, Spring 2008 © UCB No valid data... Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba

CS61C L31 Caches II (20) Garcia, Spring 2008 © UCB Load that cache block, return word f... Valid Tag  hgfe Index Tag fieldIndex fieldOffset dcba 0xc-f 0x8-b0x4-70x0-3

CS61C L31 Caches II (21) Garcia, Spring 2008 © UCB 4. Read 0x = 0… Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba hgfe

CS61C L31 Caches II (22) Garcia, Spring 2008 © UCB So read Cache Block 1, Data is Valid... Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba hgfe

CS61C L31 Caches II (23) Garcia, Spring 2008 © UCB Cache Block 1 Tag does not match (0 != 2)... Valid Tag  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 dcba hgfe

CS61C L31 Caches II (24) Garcia, Spring 2008 © UCB Miss, so replace block 1 with new data & tag... Valid Tag lkji  Index Tag fieldIndex fieldOffset xc-f 0x8-b0x4-70x0-3 hgfe

CS61C L31 Caches II (25) Garcia, Spring 2008 © UCB And return word J... Valid Tag  Index Tag fieldIndex fieldOffset lkji 0xc-f 0x8-b0x4-70x0-3 hgfe

CS61C L31 Caches II (26) Garcia, Spring 2008 © UCB Do an example yourself. What happens?  Chose from: Cache: Hit, Miss, Miss w. replace Values returned:a,b, c, d, e,..., k, l  Read address 0x ?  Read address 0x c ? Valid Tag 0x0-3 0x4-70x8-b0xc-f lkji 1 0hgfe Index Cache

CS61C L31 Caches II (27) Garcia, Spring 2008 © UCB Answers  0x a hit Index = 3, Tag matches, Offset = 0, value = e  0x c a miss Index = 1, Tag mismatch, so replace from memory, Offset = 0xc, value = d  Since reads, values must = memory values whether or not cached:  0x = e  0x c = d Address (hex) Value of Word Memory C a b c d C e f g h C i j k l...

CS61C L31 Caches II (28) Garcia, Spring 2008 © UCB Administrivia  Faux Exam 3 in one week  Performance competition went up today!

CS61C L31 Caches II (29) Garcia, Spring 2008 © UCB Peer Instruction A. Mem hierarchies were invented before (UNIVAC I wasn’t delivered ‘til 1951) B. If you know your computer’s cache size, you can often make your code run faster. C. Memory hierarchies take advantage of spatial locality by keeping the most recent data items closer to the processor. ABC 0: FFF 1: FFT 2: FTF 3: FTT 4: TFF 5: TFT 6: TTF 7: TTT

CS61C L31 Caches II (30) Garcia, Spring 2008 © UCB Peer Instruction Answer ABC 0: FFF 1: FFT 2: FTF 3: FTT 4: TFF 5: TFT 6: TTF 7: TTT A.“We are…forced to recognize the possibility of constructing a hierarchy of memories, each of which has greater capacity than the preceding but which is less accessible.” – von Neumann, 1946 B.Certainly! That’s call “tuning” C.“Most Recent” items  Temporal locality A. Mem hierarchies were invented before (UNIVAC I wasn’t delivered ‘til 1951) B. If you know your computer’s cache size, you can often make your code run faster. C. Memory hierarchies take advantage of spatial locality by keeping the most recent data items closer to the processor.

CS61C L31 Caches II (31) Garcia, Spring 2008 © UCB Peer Instruction 1. All caches take advantage of spatial locality. 2. All caches take advantage of temporal locality. 3. On a read, the return value will depend on what is in the cache. ABC 0: FFF 1: FFT 2: FTF 3: FTT 4: TFF 5: TFT 6: TTF 7: TTT

CS61C L31 Caches II (32) Garcia, Spring 2008 © UCB Peer Instruction Answer 1. All caches take advantage of spatial locality. 2. All caches take advantage of temporal locality. 3. On a read, the return value will depend on what is in the cache. T R U E F A L S E 1. Block size = 1, no spatial! 2. That’s the idea of caches; We’ll need it again soon. 3. It better not! If it’s there, use it. Oth, get from mem F A L S E ABC 0: FFF 1: FFT 2: FTF 3: FTT 4: TFF 5: TFT 6: TTF 7: TTT

CS61C L31 Caches II (33) Garcia, Spring 2008 © UCB And in Conclusion…  Mechanism for transparent movement of data among levels of a storage hierarchy  set of address/value bindings  address  index to set of candidates  compare desired address with tag  service hit or miss  load new block and binding on miss Valid Tag 0xc-f 0x8-b0x4-70x dcba address: tag index offset