Jeffrey Ellak CS 147. Topics What is memory hierarchy? What are the different types of memory? What is in charge of accessing memory?

Slides:



Advertisements
Similar presentations
MEMORY popo.
Advertisements

Fabián E. Bustamante, Spring 2007
1 Lecture 13: Cache and Virtual Memroy Review Cache optimization approaches, cache miss classification, Adapted from UCB CS252 S01.
Cache Memory Locality of reference: It is observed that when a program refers to memory, the access to memory for data as well as code are confined to.
CMPE 421 Parallel Computer Architecture MEMORY SYSTEM.
CSCE 212 Chapter 7 Memory Hierarchy Instructor: Jason D. Bakos.
1 Chapter Seven Large and Fast: Exploiting Memory Hierarchy.
331 Lec20.1Fall :332:331 Computer Architecture and Assembly Language Fall 2003 Week 13 Basics of Cache [Adapted from Dave Patterson’s UCB CS152.
Memory Organization.
Caching I Andreas Klappenecker CPSC321 Computer Architecture.
©UCB CS 162 Ch 7: Virtual Memory LECTURE 13 Instructor: L.N. Bhuyan
331 Lec20.1Spring :332:331 Computer Architecture and Assembly Language Spring 2005 Week 13 Basics of Cache [Adapted from Dave Patterson’s UCB CS152.
Virtual Memory Deung young, Moon ELEC 5200/6200 Computer Architecture and Design Lectured by Dr. V. Agrawal Lectured by Dr. V.
Virtual Memory BY JEMINI ISLAM. What is Virtual Memory Virtual memory is a memory management system that gives a computer the appearance of having more.
Overview: Memory Memory Organization: General Issues (Hardware) –Objectives in Memory Design –Memory Types –Memory Hierarchies Memory Management (Software.
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.
Memory Key component of a computer system is its memory system to store programs and data. ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides12.ppt.
Data Storage Technology
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.
Memory. When we receive some instruction or information we retain them in our memory. Similarly a computer stores the instructions for solving a problem,
Virtual Memory By: Dinouje Fahih. Definition of Virtual Memory Virtual memory is a concept that, allows a computer and its operating system, to use a.
Physical Memory By Gregory Marshall. MEMORY HIERARCHY.
2. Memory. Main memory – speed & types Organization of RAM RAM – Random Access Mem Static RAM [SRAM] - In SRAM, a bit of data is stored using the state.
Memory Systems Architecture and Hierarchical Memory Systems
CPE432 Chapter 5A.1Dr. W. Abu-Sufah, UJ Chapter 5A: Exploiting the Memory Hierarchy, Part 1 Adapted from Slides by Prof. Mary Jane Irwin, Penn State University.
Chapter 1 Computer System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
 Design model for a computer  Named after John von Neuman  Instructions that tell the computer what to do are stored in memory  Stored program Memory.
CACHE MEMORY Cache memory, also called CPU memory, is random access memory (RAM) that a computer microprocessor can access more quickly than it can access.
CS1104: Computer Organisation School of Computing National University of Singapore.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Lecture 19: Virtual Memory
1 CSCI 2510 Computer Organization Memory System I Organization.
EEE-445 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output Cache Main Memory Secondary Memory (Disk)
Chapter Twelve Memory Organization
3 Computing System Fundamentals
Memory and stuff.. le well drawn pyramid Features Name Volatile Mutable Accessibility Description Data is lost quickly after powering down Data can be.
2.1 Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 10 Memory Hierarchy.
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
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.
Computer Organization & Programming
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
Lecture#15. Cache Function The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that.
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.
1  2004 Morgan Kaufmann Publishers Chapter Seven Memory Hierarchy-3 by Patterson.
1  1998 Morgan Kaufmann Publishers Chapter Seven.
Ram is a volatile memory meaning that it can only store its contents as long as its power source is constantly maintained. SDRAM: Dynamic RAM - Inexpensive.
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.
COMPUTER SYSTEMS ARCHITECTURE A NETWORKING APPROACH CHAPTER 12 INTRODUCTION THE MEMORY HIERARCHY CS 147 Nathaniel Gilbert 1.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Lecture 2 (Memory) Dr. Muhammad Ayaz Computer Organization and Assembly Language. (CSC-210)
Chapter 2 content Basic organization of computer What is motherboard
Computer System Structures Storage
CS 704 Advanced Computer Architecture
COSC3330 Computer Architecture
Chapter 2 Memory and process management
Chapter 2: Computer-System Structures
The Goal: illusion of large, fast, cheap memory
Ramya Kandasamy CS 147 Section 3
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
Part V Memory System Design
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Memory Organization.
Computer Architecture and Organization (CS-507)
COMP755 Advanced Operating Systems
Presentation transcript:

Jeffrey Ellak CS 147

Topics What is memory hierarchy? What are the different types of memory? What is in charge of accessing memory?

What is memory hierarchy? Memory hierarchy is the hierarchical arrangement of storage in current computer architectures. It is designed to take advantage of memory locality in computer programs. Each level of the hierarchy has the properties of higher bandwidth, smaller size, and lower latency than lower levels. For example, L1 Cache is closer to the CPU, so it can be accessed quickly, is more expensive, and holds less data. A mass storage device like a Hard Drive is accessed the slowest, is the least expensive, and holds large amounts of data.

Processor Registers CPU registers are the fastest possible memory access (usually only takes 1 CPU cycle), and are only hundreds of bytes in size. One property of computer programs is locality of reference, where the same values are often accessed repeatedly, so having these frequently used values held in the registers greatly improves execution performance.

Cache When the processor needs to read or write a location in main memory, it first checks whether that memory location is in the cache. This is accomplished by comparing the address of the memory location to all tags in the cache that might contain that address. If the processor finds that the memory location is in the cache, we say that a cache hit has occurred, otherwise it is a cache miss. The proportion of cache hits to cache misses is known as the hit rate. The LRU (least recently used) replacement policy is popular for its efficient hit rating.

Physical Memory (DRAM/SRAM) The advantage of DRAM (dynamic RAM) over SRAM (static RAM) is its structural simplicity: only one transistor and a capacitor are required per bit, compared to six transistors in SRAM. This allows DRAM to reach very high density. The information eventually fades unless the capacitor charge is refreshed periodically. DRAM loses its data when the power supply is removed. For economic reasons, the main memories found in personal computers, workstations, etc. normally consist of DRAM. Other parts of the computer, such as cache memory and data buffers in hard disks, normally use SRAM.

Disk Storage A HDD (hard disk drive) is a non-volatile (does not require a constant charge to maintain data) storage device which stores digitally encoded data on rapidly rotating platters with magnetic surfaces. A typical desktop HDD today may consist of hundreds of GB (gigabytes). Current speeds clock in at 5.4k RPMs (revolutions per minute) to 10k RPMs. Media transfer rates are typically above 1 Gbit/s (gigabits per second) Disk storage is usually the bottom of the memory hierarchy, and is utilized via Virtual Memory

Funny picture to make sure everyone is still paying attention

Virtual Memory “Virtual Memory" is not just "using disk space to extend physical memory size". Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory, while in fact it may be physically fragmented. Systems that use this technique make programming of large applications easier and use real physical memory more efficiently than those without virtual memory. All modern general-purpose computer operating systems use virtual memory techniques for ordinary applications, such as word processors, spreadsheets, multimedia players, accounting, etc.

Memory Management Unit (MMU) A memory management unit (MMU), is a computer hardware component responsible for handling accesses to memory requested by the CPU. Its functions include translation of virtual addresses to physical addresses (virtual memory management), memory protection, cache control, and bus arbitration. An MMU also reduces the problem of discontinuous blocks of memory. After blocks of memory have been allocated and freed, the free memory may become discontinuous, which is when the MMU utilizes virtual memory to create continuous blocks.

Memory management through programming Modern programming languages mainly assume two levels of memory, main memory and disk storage, though in certain languages such as Assembly and C, registers can be directly accessed. Taking optimal advantage of the memory hierarchy requires the cooperation of programmers, hardware, and compilers (as well as underlying support from the operating system) Programmers are responsible for moving data between disk and memory through file I/O. Hardware is responsible for moving data between memory and caches. Optimizing compilers are responsible for generating code that, when executed, will cause the hardware to use caches and registers efficiently.

That’s it!