15 213 The course that gives CMU its Zip The Memory Hierarchy Feb 14 2008 Topics class10 ppt Storage technologies and trends Locality of reference Caching in the memory hierarchy Announcements Recitation room changes C Nate G Pratyusa H Ally Doherty 1211 Porter A22 Porter A19 Exam date change NOT Thursday 2 21 CHANGED TO Tuesday 2 26 7 00 p m 8 30 p m UC McConomy XOR Wean 7500 expect e mail Calculator policy Calculators will not be needed on the exam hence forbidden Collaboration reminder Writing code together counts as sharing code forbidden 2 Talking through a problem can include pictures not code 15 213 S 08 Opinion Poll Plan A 2 14 Thu Memory Hierarchy DAE 2 19 Tue Opt II REB 2 21 Thu No class Bill Gates 2 26 Tue Cache Memories DAE Evening Exam 2 28 Thu Linking DAE Back to original schedule Plan B 3 2 14 Thu Memory Hierarchy DAE 2 19 Tue Opt II REB 2 21 Thu Cache Memories DAE Bill Gates 2 26 Tue No class Evening Exam 2 28 Thu Linking DAE Back to original schedule 15 213 S 08 Outline RAM ROM Disks Mind the gap Locality Memory Hierarchy Caches 4 15 213 S 08 Random Access Memory RAM Key features RAM is traditionally packaged as a chip Basic storage unit is normally a cell one bit per cell Multiple RAM chips form a memory Static RAM SRAM Each cell stores a bit with a four or six transistor circuit Retains value indefinitely as long as it is kept powered Relatively insensitive to electrical noise EMI radiation etc Faster and more expensive than DRAM Dynamic RAM DRAM 5 Each cell stores bit with a capacitor One transistor is used for access Value must be refreshed every 10 100 ms More sensitive to disturbances EMI radiation than SRAM Slower and cheaper than SRAM 15 213 S 08 SRAM vs DRAM Summary 6 Tran per bit Access Needs Needs time refresh EDC SRAM 4 or 6 1X No Maybe 100x cache memories DRAM 1 10X Yes Yes Main memories frame buffers Cost 1X Applications 15 213 S 08 Conventional DRAM Organization d x w DRAM dw total bits organized as d supercells of size w bits 16 x 8 DRAM chip cols 0 2 bits 1 2 3 0 addr 1 rows memory controller supercell 2 1 2 to CPU 8 bits 3 data 7 internal row buffer 15 213 S 08 Reading DRAM Supercell 2 1 Step 1 a Row access strobe RAS selects row 2 Step 1 b Row 2 copied from DRAM array to row buffer 16 x 8 DRAM chip cols 0 RAS 2 2 1 2 3 0 addr 1 rows memory controller 2 8 3 data 8 internal row buffer 15 213 S 08 Reading DRAM Supercell 2 1 Step 2 a Column access strobe CAS selects column 1 Step 2 b Supercell 2 1 copied from buffer to data lines and eventually back to the CPU 16 x 8 DRAM chip cols 0 CAS 1 2 2 3 0 addr To CPU 1 rows memory controller supercell 2 1 1 2 8 3 data 9 supercell 2 1 internal row buffer 15 213 S 08 Memory Modules addr row i col j supercell i j DRAM 0 64 MB memory module consisting of eight 8Mx8 DRAMs DRAM 7 bits bits bits bits bits bits bits 56 63 48 55 40 47 32 39 24 31 16 23 8 15 63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 bits 0 7 0 64 bit doubleword at main memory address A Memory controller 64 bit doubleword 10 15 213 S 08 Enhanced DRAMs DRAM Cores with better interface logic and faster I O Synchronous DRAM SDRAM Uses a conventional clock signal instead of asynchronous control Double data rate synchronous DRAM DDR SDRAM Double edge clocking sends two bits per cycle per pin RamBus DRAM RDRAM Uses faster signaling over fewer wires source directed clocking with a Transaction oriented interface protocol Obsolete Technologies Fast page mode DRAM FPM DRAM Allowed re use of row addresses Extended data out DRAM EDO DRAM Enhanced FPM DRAM with more closely spaced CAS signals Video RAM VRAM Dual ported FPM DRAM with a second concurrent serial interface Extra functionality DRAMS CDRAM GDRAM Added SRAM CDRAM and support for graphics operations GDRAM 11 15 213 S 08 Nonvolatile Memories DRAM and SRAM are volatile memories Lose information if powered off Nonvolatile memories retain value even if powered off Read only memory ROM programmed during production Magnetic RAM MRAM stores bit magnetically in development Ferro electric RAM FERAM uses a ferro electric dielectric Programmable ROM PROM can be programmed once Eraseable PROM EPROM can be bulk erased UV X Ray Electrically eraseable PROM EEPROM electronic erase capability Flash memory EEPROMs with partial sector erase capability Uses for Nonvolatile Memories 12 Firmware programs stored in a ROM BIOS controllers for disks network cards graphics accelerators security subsystems Solid state disks flash cards memory sticks etc Smart cards embedded systems appliances Disk caches 15 213 S 08 Traditional Bus Structure Connecting CPU and Memory A bus is a collection of parallel wires that carry address data and control signals Buses are typically shared by multiple devices CPU chip register file ALU system bus bus interface 13 I O bridge memory bus main memory 15 213 S 08 Memory Read Transaction 1 CPU places address A on the memory bus register file eax Load operation movl A eax ALU I O bridge bus interface 14 A main memory 0 x A 15 213 S 08 Memory Read Transaction 2 Main memory reads A from the memory bus retrieves word x and places it on the bus register file eax Load operation movl A eax ALU I O bridge bus interface 15 x main memory 0 x A 15 213 S 08 Memory Read Transaction 3 CPU read word x from the bus and copies it into register eax register file eax x Load operation movl A eax ALU I O bridge bus interface 16 main memory 0 x A 15 213 S 08 Memory Write Transaction 1 CPU places address A on bus Main memory reads it and waits for the corresponding data word to arrive register file eax y Store operation movl eax A ALU I O bridge bus interface 17 A main memory 0 A 15 213 S 08 Memory Write Transaction 2 CPU places data word y on the bus register file eax y Store operation movl eax A ALU I O bridge bus interface 18 y main memory 0 A 15 213 S 08 Memory Write Transaction 3 Main memory reads data word y from the bus and stores it at address A register file eax y Store operation movl eax A ALU I O bridge bus interface 19 main memory 0 y A 15 213 S 08 Memory Subsystem Trends Observation A DRAM chip has an access time of about 50ns Traditional systems may need 3x longer to get the data from memory into a CPU register Modern systems integrate the …
View Full Document