CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Memory Systems How to make the most out of cheap storage.

Slides:



Advertisements
Similar presentations
MEMORY popo.
Advertisements

1 Lecture 13: Cache and Virtual Memroy Review Cache optimization approaches, cache miss classification, Adapted from UCB CS252 S01.
1 Parallel Scientific Computing: Algorithms and Tools Lecture #2 APMA 2821A, Spring 2008 Instructors: George Em Karniadakis Leopold Grinberg.
CML CML CS 230: Computer Organization and Assembly Language Aviral Shrivastava Department of Computer Science and Engineering School of Computing and Informatics.
1 Lecture 20 – Caching and Virtual Memory  2004 Morgan Kaufmann Publishers Lecture 20 Caches and Virtual Memory.
L19 – Memory Hierarchy 1 Comp 411 – Spring /8/2008 Memory Hierarchy Memory Flavors Principle of Locality Program Traces Memory Hierarchies Associativity.
Computer ArchitectureFall 2008 © CS : Computer Architecture Lecture 22 Virtual Memory (1) November 6, 2008 Nael Abu-Ghazaleh.
1  1998 Morgan Kaufmann Publishers Chapter Seven Large and Fast: Exploiting Memory Hierarchy.
1 Lecture 16B Memories. 2 Memories in General Computers have mostly RAM ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
1 Chapter Seven Large and Fast: Exploiting Memory Hierarchy.
©Brooks/Cole, 2003 Chapter 5 Computer Organization.
Computer ArchitectureFall 2007 © November 7th, 2007 Majd F. Sakr CS-447– Computer Architecture.
L18 – Memory Hierarchy 1 Comp 411 – Fall /30/2009 Memory Hierarchy Memory Flavors Principle of Locality Program Traces Memory Hierarchies Associativity.
Overview: Memory Memory Organization: General Issues (Hardware) –Objectives in Memory Design –Memory Types –Memory Hierarchies Memory Management (Software.
IT Systems Memory EN230-1 Justin Champion C208 –
1  2004 Morgan Kaufmann Publishers Chapter Seven.
1 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: –value is stored as a charge.
1 Lecture 16B Memories. 2 Memories in General RAM - the predominant memory ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
COMPUTER MEMORY Modern computers use semiconductor memory It is made up of thousands of circuits (paths) for electrical currents on a single silicon chip.
1 CSE SUNY New Paltz Chapter Seven Exploiting Memory Hierarchy.
CS1104-8Memory1 CS1104: Computer Organisation Lecture 8: Memory
Instructions Slides 3,4,5 are general questions that you should be able to answer. Use slides 6-27 to answer the questions. Write your answers in a separate.
Lecture on Electronic Memories. What Is Electronic Memory? Electronic device that stores digital information Types –Volatile v. non-volatile –Static v.
Computers Central Processor Unit. Basic Computer System MAIN MEMORY ALUCNTL..... BUS CONTROLLER Processor I/O moduleInterconnections BUS Memory.
CS1104: Computer Organisation School of Computing National University of Singapore.
Lecture 19 Today’s topics Types of memory Memory hierarchy.
IT253: Computer Organization
CS 312 Computer Architecture Memory Basics Department of Computer Science Southern Illinois University Edwardsville Summer, 2015 Dr. Hiroshi Fujinoki
Introduction to Computer Architecture. What is binary? We use the decimal (base 10) number system Binary is the base 2 number system Ten different numbers.
Computer Architecture And Organization UNIT-II Structured Organization.
Chapter 9 Memory Organization By Jack Chung. MEMORY? RAM?
Introduction to Computer Architecture. What is binary? We use the decimal (base 10) number system Binary is the base 2 number system Ten different numbers.
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Computer Memory Storage Decoding Addressing 1. Memories We've Seen SIMM = Single Inline Memory Module DIMM = Dual IMM SODIMM = Small Outline DIMM RAM.
Memory and Storage. Computer Memory Processor registers – Temporary storage locations within the CPU – Examples Instruction register – holds the instruction.
1010 Caching ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.
The Goal: illusion of large, fast, cheap memory Fact: Large memories are slow, fast memories are small How do we create a memory that is large, cheap and.
CSE378 Intro to caches1 Memory Hierarchy Memory: hierarchy of components of various speeds and capacities Hierarchy driven by cost and performance In early.
COMP203/NWEN Memory Technologies 0 Plan for Memory Technologies Topic Static RAM (SRAM) Dynamic RAM (DRAM) Memory Hierarchy DRAM Accelerating Techniques.
Machine Architecture CMSC 104, Section 4 Richard Chang 1.
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
1 Chapter Seven CACHE MEMORY AND VIRTUAL MEMORY. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4.
Succeeding with Technology Chapter 2 Hardware Designed to Meet the Need The Digital Revolution Integrated Circuits and Processing Storage Input, Output,
A memory is just like a human brain. It is used to store data and instructions. Computer memory is the storage space in computer where data is to be processed.
Memory and Storage Aldon Tom. What is Memory? Memory is a solid-state digital device that stores data values. Memory holds running programs and the data.
1  1998 Morgan Kaufmann Publishers Chapter Seven.
Memory 2. Activity 1 Research / Revise what cache memory is. 5 minutes.
Jeffrey Ellak CS 147. Topics What is memory hierarchy? What are the different types of memory? What is in charge of accessing memory?
07/11/2005 Register File Design and Memory Design Presentation E CSE : Introduction to Computer Architecture Slides by Gojko Babić.
What is it and why do we need it? Chris Ward CS147 10/16/2008.
1 Chapter Seven. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: –value.
Chapter 6 Discovering Computers Fundamentals Storage.
COMPUTER SYSTEMS ARCHITECTURE A NETWORKING APPROACH CHAPTER 12 INTRODUCTION THE MEMORY HIERARCHY CS 147 Nathaniel Gilbert 1.
ECE/CS 552: Cache Concepts © Prof. Mikko Lipasti Lecture notes based in part on slides created by Mark Hill, David Wood, Guri Sohi, John Shen and Jim Smith.
CDA 5155 Virtual Memory Lecture 27. Memory Hierarchy Cache (SRAM) Main Memory (DRAM) Disk Storage (Magnetic media) CostLatencyAccess.
CACHE _View 9/30/ Memory Hierarchy To take advantage of locality principle, computer memory implemented as a memory hierarchy: multiple levels.
Cache Advanced Higher.
The Goal: illusion of large, fast, cheap memory
Ramya Kandasamy CS 147 Section 3
Introduction to Computer Architecture
Local secondary storage (local disks)
CSCI206 - Computer Organization & Programming
Computer Architecture
Introduction to Computer Architecture
Cache Memory and Performance
Memory Principles.
Caches & Memory.
Presentation transcript:

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Memory Systems How to make the most out of cheap storage

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Memory so far We have discussed two structures that hold data: –Register file (little array of storage) –“Memory” (bigger array of storage) How do we implement memory? –What technologies?

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst SRAM Technology A single SRAM cell requires 6 transistors When the word line “selects” the nMOS transistors, the voltage difference between the two bit lines is “sensed” to determine the stored value

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst DRAM Technology A single DRAM cell requires 1 transistor and 1 capacitor When the word line “selects” the nMOS transistor, the charge in the capacitor is “sensed” on the bit line –refreshing is required for all reads (destructive read) and on regular intervals (due to leakage of capacitor)

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Memory Hierarchy We want to have lots of memory for our processor: –LC2K needs 2 16 words of memory ( ~ 256 KB) –MIPS needs 2 32 bytes of memory ( ~ 4 GB ) –x86-64 needs 2 64 bytes of memory ( ~ 16 exabytes ) What are our choices? –SRAM, DRAM, Magnetic Disk, paper?

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Option 1: build it out of fast SRAM On-chip memory –Fabricated in the same technology as the processor About 2-10 ns access (depending on size) –Decoders are big –Array are big It will cost LOTS of money –SRAM costs $10 per megabyte $2.50 for LC2K $40,960 for MIPS $175 trillion for x86-64

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Option 2: build it out of DRAM About 50 ns access –Why build a fast processor that stalls for dozens of cycles on each memory load? Still costs lots of money for new machines –DRAM costs $0.015 per megabyte –< $0.001 for LC2K –$54.99 for MIPS –$236 billion for x86-64

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Option 3: build it using Disks About 10,000,000 ns access (snore!) –We could have stopped with the Intel 4004 Costs are pretty reasonable –Disk storage costs ~ $ per megabyte –Basically free for LC2K –$0.50 for MIPS –$23 billion for x86-64 (ouch!)

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Option 4: build it using Tape Drives About 100,000,000,000 ns access –Time to load tape and wind it to the right position –Faster than chiseling it on a stone tablet Costs are pretty reasonable –Tape storage costs $ per megabyte (about ½ the cost of disk) –Basically free for LC2K –$0.80 for MIPS –$35 billion for x86-64 (ouch!)

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Option 5: build it using Optical Disks (CD/DVD) About 50,000,000 ns access (about 5-10x Hard disks) –Depends mostly on seeking out the data. –Writing to this media is much slower. Costs are pretty reasonable –Disk storage costs $ per megabyte –Basically free for LC2K –$0.08 for MIPS –$400 million for x86-64

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Our requirements We want a memory system that runs a processor clock speed –about 1 ns access –Otherwise, why bother pipelining? We want a memory system that we can afford –maybe 25% to 33% of the total system costs Options 2-5 are too slow (1 is pretty close) Options 1-2 (at least) are too expensive Time for option 6!

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Option 6: Use a little of everything (wisely) Use a small array of SRAM –Big enough to hold whatever you use most often –Small means fast! –Small means cheap! Use a larger amount of DRAM –And hope that you rarely have to use it Use a really big amount of Disk storage –Disks are getting cheaper at a faster rate than we fill them up with data (for most people) Don’t try to buy 2 64 bytes of anything –It would take decades to format it anyway!

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Option 6: The Memory Hierarchy Use a small array of SRAM –For the CACHE (hopefully for most accesses) Use a bigger amount of DRAM –For the Main memory Use a really big amount of Disk storage –For the Virtual memory (i.e. everything else)

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Famous Picture of Food Memory Hierarchy Cache Main Memory Disk Storage CostLatencyAccess Freq. CPU

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst A Favorite Cache Analogy Hungry! must eat! –Option 1: go to refrigerator Found  eat! Latency = 1 minute –Option 2: go to store Found  purchase, take home, eat! Latency = minutes –Option 3: grow food! Plant, wait … wait … wait …, harvest, eat! Latency = ~250,000 minutes (~ 6 months) Crazy fact: ratio of growing food:going to the store = 10,000 ratio of disk access:DRAM access = 200,000

CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Rehashing our terms The Architectural view of memory is: –What the machine language sees –Memory is just a big array of storage Breaking up the memory system into different pieces – cache, main memory (made up of DRAM) and Disk storage – is not architectural. –The machine language doesn’t know about it –The processor may not know about it –A new implementation may not break it up into the same pieces (or break it up at all). Caching needs to be Transparent!