Computer Architecture

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Computer Architecture"

Transcription

1 Computer Architecture Slide Sets WS 2013/2014 Prof. Dr. Uwe Brinkschulte M.Sc. Benjamin Betting Part 11 Memory Management Computer Architecture Part 11 page 1 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

2 Main Memory The main memory of a processor is usually implemented as semiconductor memory in MOS technology. Bits are stored statically using so-called flip-flops or dynamically using capacitors in a so-called 1-transistor-cell. The memory is set up as a matrix. The random access is done by the decoders. SRAM Static Random Access DRAM Dynamic Random Access Computer Architecture Part 11 page 2 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

3 Main Memory The access- and cycle-time of SRAMs is faster than that of DRAMs. But the area consumption of SRAMs is increased considerably, as six transistors are needed to form a flip-flop. Due to these characteristics, DRAMs are about ten times slower and cheaper than SRAMs. Computer Architecture Part 11 page 3 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

4 Setup Principle of a RAM & SRAM DRAM row write 0 row & R S & write 1 read CE: Chip Enable WE: Write Enable OE: Output Enable I/O: Input/Output Data A: Address D: Data U DD : Power supply U SS : Ground A 0 A 1 A n-1 1 s z 1 address input: row and column address 1 z row (word) decoder 1 s 1 2 z 1 column x row memory cell column (bit) decoder sense amplifier 2 s y memory matrix column CE WE OE control I/O buffer... U DD U SS D 0 D 1 D m I/O-interface data Computer Architecture Part 11 page 4 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

5 bit 0 bit 1 & R S & R S... decoder & & & & & & R S wired or R S & & & & wired or... word 0 word 1 Setup of an SRAM & & R S R S & & & &... A w r & & & & 1 1 i 0 l 0 i 1 l 1 & &... memory matrix A: address W: write R: read i: input o: output O 0 O 1 Computer Architecture Part 11 page 5 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

6 General DRAM Principles In a DRAM, the information (a bit) is stored in a capacity. After a certain time or when read out the information is lost. Therefore this method of storage is called dynamic as opposed to the static method, where the bit is represented by the state of a flip-flop. Dynamic semiconductor memories require rewriting the information to the cell after reading it or after a certain time span (some milliseconds). This procedure is called refresh. As a result of the necessity of a refresh, the access time and the cycle time differ observably. Computer Architecture Part 11 page 6 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

7 General DRAM Principles A chip has only a limited number of connectors. Therefore a reasonable goal is to save on address lines. This is more critical for DRAMs since due to the simple cell structure much larger memory sizes can be realized as for SRAMs Therefore, most DRAMs do this by multiplexing the address and apply it successively in two parts. The synchronization of the address parts is done by the signals RAS (Row Access Strobe) and CAS (Column Access Strobe). The row access time and the column access time sum up to the overall access time. Computer Architecture Part 11 page 7 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

8 Block Diagram of a DRAM RAS (row address strobe) row address register word selection address column address register CAS (column address strobe) sense amplifier bit-selection and driver data read/ write Computer Architecture Part 11 page 8 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

9 Speeding up DRAM Access The access time of a DRAM may be shortened by: The nibble mode When the RAS signal is set, the next bits in row are delivered as well The page mode When the RAS signal is set, the full row (page) is delivered Computer Architecture Part 11 page 9 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

10 DRAM-Variants The DRAM access characteristics can be improved by several techniques. Newer DRAM variants showing much shorter access times than standard DRAMs. EDO-RAM (Extended Data Out) EDO-RAM is dynamic memory supporting address pipelining. An already addressed line is buffered an can be read using the page mode. Computer Architecture Part 11 page 10 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

11 DRAM-Variants SDRAM (Synchronous DRAM) supports burst access to sequential RAM areas. The access time is approximately that of static RAMs. SDRAMs consist of several banks having the same bit-width as the chip itself. All banks are given the same row address signal simultaneously. A row (page) is spread over several banks. The same page can be accessed repeatedly without being opened again. If a following page is accessed which was not opened, delays occur. Computer Architecture Part 11 page 11 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

12 Structure of a SDRAM chip column address row address column address counter column address buffer row address buffer refresh counter bank0 bank1 bank2 bank3 input buffer output buffer Data Computer Architecture Part 11 page 12 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

13 DRAM-Variants RAMBUS (RDRAM) The core of a 64 MB chip consists of e.g. 16 DRAM banks which can be accessed simultaneously. When a DRAM page miss occurs, other accesses may deliver their results instead. The bus clock is 400 MHz and runs at double data rate (DDR). Computer Architecture Part 11 page 13 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

14 Virtual memory Modern microprocessor systems working on several applications need large amounts of main memory. A cheap method to enlarge the memory capacity is to integrate a mass memory (like a hard disk). The main memory and mass memory are organized to pretend a main memory of nearly unlimited capacity. The available memory area is therefore called virtual memory and the concept is called virtual memory management. Computer Architecture Part 11 page 14 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

15 Virtual memory virtual memory (addressable memory) main memory (physical memory) physical address virtual address mass memory Computer Architecture Part 11 page 15 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

16 Memory Management Unit (MMU) A special hardware in the processor, the memory management unit (MMU) translates the virtual addresses generated by the processor to physical addresses in the main memory at runtime. The needed table information is provided by the operating system. In case of a missing data in the main memory, the MMU creates an event to indicate the operating system to load (swap) the missing data from mass memory CPU MMU main memory virtual address physical address operating system provides table information and loads missing data Computer Architecture Part 11 page 16 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

17 Address translation To keep the memory management overhead low, the virtual memory is organized in blocks. The MMU s mapping information therefore refers to contiguous address areas instead of single addresses. Virtual address Physical address block# offset# address translation If the size of the blocks is fixed, we talk about paging. If it is variable depending on the application structure, we talk about segmentation. Computer Architecture Part 11 page 17 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

18 Segmentation virtual address space physical address space task 1 segment 1 segment 1 Variable size segments usually belong to tasks task 2 task 3 task 4 segment 2 segment 3 segment 4 swapped in swapped out segment 4 unused mass memory Segments reflect the logical program structure and can be rather large (MBytes) A task might consist of several segments (e.g. code segment, data segment, stack segment, heap segment) Segments are either completely swapped in or out Computer Architecture Part 11 page 18 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

19 Segmentation Address Translation virtual address n bit segment address offset address phys. descriptortable start address + m bit v bit m bit p bit segment descriptor segment type physical segment start address segment size access rights segment swapped out... m bit + m bit physical address part of segment descriptor table maintained by the operating system in the main memory Computer Architecture Part 11 page 19 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

20 An Example for Segmentation virtual address segment# offset# 8 24 segment table bits segment size 32 bits physical segment start address pjhysical address Computer Architecture Part 11 page 20 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

21 An Example for Segmentation mapping of three segments to the physical address space 16M 16M 16M virtual address space 7937 Bytes 258 Bytes 3843 Bytes virtual segment# physical base address physical address space 258 Bytes 7937 Bytes 3843 Bytes Computer Architecture Part 11 page 21 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

22 Segmentation: Diskussion Pros: Segmentation reflects the logical structure of the application Changing information about a big connected memory area (like its base address, length, access attributes, or status) represented by a segment needs little effort, because only one table entry (the segment descriptor) is affected. The tables are small, as the number of segments is usually small. Computer Architecture Part 11 page 22 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

23 Segmentation: Discussion Cons: Segments must be swapped in and out as a whole, even if only a part of them is needed in the main memory. Since segments are of variable size, a suitable free place in main memory has to be found when rolling in a segment This leads to an external fragmentation of the main memory into free and occupied chunks of different sizes. The management of the memory bubbles (free areas) therefore needs additional effort, the so-called garbage collection. Computer Architecture Part 11 page 23 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

24 Paging task 1 task 2 task 3 logical address space page Task 1 page 2 page 3 page Task 14 page 5 page 6 page Task 17 page 8 page 9 page Task 10 1 unbenutzt page 11 page 12 physical address space frame Task 1 frame 2 frame 3 frame Task 14 frame 5 frame 6 frame Task 17 frame 8 frame 9 frame Task 101 unbenutzt frame 11 frame 12 frame 13 frame 14 frame Task 151 unbenutzt frame 16 frame 17 frame 18 frame 19 frame Task 20 1 unbenutzt frame 21 frame A task is spread over many fixed sized pages Pages are rather small (e.g. 0.5kByte, 1kByte, 2kByte, 4kByte) Pages are assigned to frames of the same size in physical address space Consecutive pages might not be assigned to consecutive frames A task might be partially swapped in Computer Architecture Part 11 page 24 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

25 Paging Address Translation phys. page table start address m bit + page address logical address v bit n bit offset address p bit due to small page size, the page table might be large m bit c = concatenation frame number of the page m-p bit c m bit physical address page table in main memory Computer Architecture Part 11 page 25 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

26 Hierarchical Page Tables page directory address page directory logical address page address c offset address avoids large page tables by splitting them not all page tables must be swapped in page table c physical address Computer Architecture Part 11 page 26 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

27 Translation Look Aside Buffer (TLB) page directory address TLB logical address page address offset address speeds up address translation by caching the latest referenced table entries page directory c page table c physical address Computer Architecture Part 11 page 27 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

28 Paging: Discussion Pros: Pages can be stored non-consecutively, so that the available main memory is usable in an optimal way. The management of free memory bubbles is much simpler as the pages/frames are all the same size. There is no external fragmentation. Mechanisms like the garbage collection are not needed. It is easy to change the size of a task at run-time by adding or removing pages Swapping is done more efficiently, as only the actually needed pages of a task have to be kept in the main memory. Computer Architecture Part 11 page 28 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

29 Paging: Discussion Cons: Changes of information concerning the task (e.g. access attributes) may have to be applied to many page descriptors. The translation tables are much larger than that of segmentation. The last page of a task usually is only partly filled (internal fragmentation) Computer Architecture Part 11 page 29 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

30 Combining Segmentation and Paging logical address segmentation linear address paging combines advantages of both worlds used e.g. in the Pentium family physical address Computer Architecture Part 11 page 30 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

31 Replacement Algorithms When a page or segment fault occurs, the operating system must decide which page/segment should be removed from the main memory to free up space for the page/segment to be swapped in. If the page/segment to be removed was modified in the main memory, it must be written back to the mass memory to keep it up-to-date. If it was not modified, the new page/segment just overwrites it in the main memory. To keep track of the modification state of a page/segment, a status bit is used. This bit is called the modified-bit or dirty-bit. Replacement algorithms are needed at other layers of the memory hierarchy, as well, e.g. between main memory and cache. Computer Architecture Part 11 page 31 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

32 Replacement Algorithms The system performance highly depends on the strategy by which the pages or segments to be swapped out are selected. Several strategies are possible, e.g. randomly selecting. However it has proved to be preferable to swap out a page/segment which was seldom referenced in the past. This is because a frequently referenced page/segment has a higher probability that it will be needed again soon after being swapped out and therefore would have to be swapped in again, pushing another page or segment out. This is called the locality principle. Computer Architecture Part 11 page 32 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

33 The Optimal Replacement Algorithm The best possible replacement algorithm is easy to describe, yet impossible to implement: For every page/segment residing in the main memory it is known how many memory accesses will happen until it is referenced next. If a page/segment fault occurs, the optimal replacement algorithm just swaps out the page with the highest mark. Obviously, this algorithm cannot be implemented, as the operating system has no way to calculate the references in advance. To do this it would have to have a foresight. Computer Architecture Part 11 page 33 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

34 The Optimal Replacement Algorithm The optimal replacement algorithm has a practical meaning, however: An application can be run on a simulator. During its execution all accesses are logged, so that afterwards, all times of page/segment references are known. They are then used to measure and compare algorithms which actually can be implemented. Computer Architecture Part 11 page 34 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

35 Referenced-Bit and Modified-Bit Most page replacement algorithms keep track of which pages/segments were referenced and in which mode (read or write). To do this, two status bits R and M are assigned to every page/segment. R is set if a page/segment was referenced. M is set if a page/segment was modified and therefore must be written back to the mass memory if it is to be pushed out. As these bits are set for every access to the main memory, it is necessary to let the hardware do this. A bit is set until it is reset explicitly by the software. Resetting the R-bit introduces a temporal component to the algorithm: aging. Computer Architecture Part 11 page 35 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

36 1. The Not-Recently-Used Replacement Algorithm (NRU) NRU is a simple algorithm: When a page/segment is loaded to the main memory, R and M are set to 0. R and M are set according to the previously defined rules Periodically all R bits are reset R (referenced) M (modified) class class If a page fault occurs, the operating system does a classification (see table). The page/segment to be swapped out is chosen randomly from the lowest nonempty class class class Computer Architecture Part 11 page 36 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

37 2. The First-In-First-Out Replacement Algorithm (FIFO) The basic idea of the FIFO algorithm is to keep all pages/segments in a linked list. When a page/segment is loaded to the main memory, it is appended to this list. If a fault occurs the page/segment at the head of the list is removed. However, the FIFO principle does not consider the frequency of references. In case of a fault always the oldest page/segment is swapped out, regardless if another page/segment was rarely or even never referenced. head tail Computer Architecture Part 11 page 37 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

38 3. The Second-Chance Replacement Algorithm The second-chance replacement algorithm enhances the FIFO algorithm. When a fault occurs, the R-bit of the oldest page/segment is inspected. If it is set, then it gets reset and the page/segment is put to the tail of the list. The page/segment is then treated like newly loaded and therefore gets a second chance. Only the list element at the head of the list whose R-bit is 0 get swapped out. swap in timestamp A B C D E F G H A oldest oldest youngest youngest A is treated like newly loaded Computer Architecture Part 11 page 38 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

39 4. The Clock Replacement Algorithm The maintenance cost of the secondchance algorithm is very high, as it frequently needs inserting and deleting of elements. The clock-page algorithm is more efficient by organizing the elements in a circular list. A pointer references the oldest element. If a fault occurs, the R-bit of the referenced element is inspected. If it is 0 then the element is swapped out, else the bit gets reset. In both cases the pointer advances to the next position. J K I L H A G B F C D E Computer Architecture Part 11 page 39 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

40 5. The Least-Recently-Used Replacement Algorithm (LRU) A simple implementation of LRU with hardware assistance can be as follows: The hardware provides a counter having an appropriate bit width. Every page/segment descriptor contains a data field big enough to hold the current value of this counter. For every main memory access the current counter value is written to the descriptor of the affected page/segment. If a fault occurs, the page/segment whose descriptor holds the lowest value is pushed out. However, updating the linked list and finding the descriptor with the lowest value remains costly, even with hardware assistance. Computer Architecture Part 11 page 40 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

41 6. The Least-Frequently-Used Replacement Algorithm (LFU) Another good replacement algorithm can be achieved by considering the following observation: A page/segment which was frequently referenced up to now, will probably be referenced again in the near future. Contrarily, a page/segment which was only seldom referenced will be referenced in the near future with only a small probability. This observation leads to the so-called least-frequently-used strategy (LFU): If a fault occurs, replace the page/segment which was least frequently referenced. Computer Architecture Part 11 page 41 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

42 6. The Least-Frequently-Used Replacement Algorithm (LFU) A full implementation of LFU creates high maintenance costs: It requires keeping a linked list of all pages/segments currently residing in the main memory. The element most frequently referenced will then be put to the head of the list and the element most rarely referenced to the tail of the list. To do this, a counter is associated with every element, counting the number of references to this page/segment. The high cost arises from the need to update the counter and reordering the complete list at every main memory access. Therefore a special (and expensive) hardware or a good approximation in software is needed. Computer Architecture Part 11 page 42 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

43 7. The Not-Frequently-Used Replacement Algorithm (NFU) If no full hardware implementation of LFU is available, it can be approximated by software. To do this, a counter is associated to every page/segment residing in the main memory. Periodically (not every main memory access) the R bit of each page/segment is added to the page s or segment's counter. In case of a fault the page/segment having the least counter value will be pushed out. This method is called not-frequently-used algorithm (NFU). Computer Architecture Part 11 page 43 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

44 8. The Least-Reference-Density Replacement Algorithm (LRD) LRD is a combination of LRU and LFU It tries to maintain the advantage of LFU keeping frequently used actual elements while avoiding its disadvantage keeping as well old elements very often used a long time ago LRD calculates a reference density of an element by Reference density = number of accesses to element / element age The element with the lowest reference density will be replaced This strategy comes close to the optimal strategy, unfortunately it is very complex to implement. For each element the swap-in-time and the number of accesses must be stored using e.g. a register and a counter Furthermore, a division operation has to be executed for each element when looking for the element with the lowest reference density Computer Architecture Part 11 page 44 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting

Memory Management. memory hierarchy

Memory Management. memory hierarchy Memory Management Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory cache some medium-speed, medium price main memory gigabytes of

More information

Computer Architecture

Computer Architecture Computer Architecture Random Access Memory Technologies 2015. április 2. Budapest Gábor Horváth associate professor BUTE Dept. Of Networked Systems and Services ghorvath@hit.bme.hu 2 Storing data Possible

More information

CHAPTER 6 Memory. CMPS375 Class Notes (Chap06) Page 1 / 17 by Kuo-pao Yang

CHAPTER 6 Memory. CMPS375 Class Notes (Chap06) Page 1 / 17 by Kuo-pao Yang CHAPTER 6 Memory 6.1 Memory 313 6.2 Types of Memory 313 6.3 The Memory Hierarchy 315 6.3.1 Locality of Reference 318 6.4 Cache Memory 319 6.4.1 Cache Mapping Schemes 321 6.4.2 Replacement Policies 333

More information

Memory unit. 2 k words. n bits per word

Memory unit. 2 k words. n bits per word 9- k address lines Read n data input lines Memory unit 2 k words n bits per word n data output lines 24 Pearson Education, Inc M Morris Mano & Charles R Kime 9-2 Memory address Binary Decimal Memory contents

More information

Virtual Memory. Virtual Memory

Virtual Memory. Virtual Memory Virtual Memory Gordon College Stephen Brinton Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Demand Segmentation Operating System Examples Background

More information

Memory Address Decoding

Memory Address Decoding Memory Address Decoding 1 ROAD MAP Memory Address Decoding S-RAM Interfacing Process Solved Examples For S-RAM Decoding D-RAM Interfacing 2 Memory Addressing The processor can usually address a memory

More information

Module 10: Virtual Memory

Module 10: Virtual Memory Module 10: Virtual Memory Background Demand Paging Performance of Demand Paging Page Replacement Page-Replacement Algorithms Allocation of Frames Thrashing Other Considerations Demand Segmenation Applied

More information

A processor needs to retrieve instructions and data from memory, and store results into memory. We call this memory Random Access Memory (RAM).

A processor needs to retrieve instructions and data from memory, and store results into memory. We call this memory Random Access Memory (RAM). Memory-System Design A processor needs to retrieve instructions and data from memory, and store results into memory. We call this memory Random Access Memory (RAM). Processor Instructions Data Memory (RAM)

More information

Page replacement algorithms OS

Page replacement algorithms OS Page replacement algorithms 1 When a page fault occurs 2 OS has to choose a page to evict from memory If the page has been modified, the OS has to schedule a disk write of the page The page just read overwrites

More information

Memory Management. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Memory Management. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum Memory Management Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Memory Management Ideally programmers want memory that is large fast non volatile

More information

Main Memory. Memory. Address binding. Memory spaces. All processes need main memory.

Main Memory. Memory. Address binding. Memory spaces. All processes need main memory. Memory If we define memory as a place where data is stored there are many levels of memory: Processor registers Primary (or main) memory RAM Secondary memory slower and more permanent disks Tertiary memory

More information

Chapter 6 The Memory System. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 6 The Memory System. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Chapter 6 The Memory System Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Basic Concepts Semiconductor Random Access Memories Read Only Memories Speed,

More information

Computer Systems Structure Main Memory Organization

Computer Systems Structure Main Memory Organization Computer Systems Structure Main Memory Organization Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Ward 1 Ward 2 Storage/Memory

More information

Basic Page Replacement

Basic Page Replacement Basic Page Replacement 1. Find the location of the desired page on disk. Find a free frame: - If there is a free frame, use it - If there is no free frame, use a page replacement algorithm to select a

More information

Memory Management. Operating Systems. Monoprogramming without Swapping or Paging. Multiprogramming

Memory Management. Operating Systems. Monoprogramming without Swapping or Paging. Multiprogramming Operating Systems User OS Kernel & Device Drivers Interface Programs Management Management is an important resource that needs to be managed by the OS manager is the component of the OS responsible for

More information

Chapter 10: Virtual Memory. Virtual memory. Background Demand Paging Page Replacement Allocation of Frames Thrashing Operating System Example

Chapter 10: Virtual Memory. Virtual memory. Background Demand Paging Page Replacement Allocation of Frames Thrashing Operating System Example Chapter 0: Virtual Memory Background Demand Paging Page Replacement Allocation of Frames Thrashing Operating System Example 0. Virtual memory separation of logical memory from physical memory only part

More information

& Data Processing 2. Exercise 3: Memory Management. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen

& Data Processing 2. Exercise 3: Memory Management. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen Folie a: Name & Data Processing 2 3: Memory Management Dipl.-Ing. Bogdan Marin Fakultät für Ingenieurwissenschaften Abteilung Elektro-und Informationstechnik -Technische Informatik- Objectives Memory Management

More information

Memory Management. Overview

Memory Management. Overview Memory Management 1 Overview Basic memory management Address Spaces Virtual memory Page replacement algorithms Design issues for paging systems Implementation issues Segmentation 2 1 Memory Management

More information

Memory ICS 233. Computer Architecture and Assembly Language Prof. Muhamed Mudawar

Memory ICS 233. Computer Architecture and Assembly Language Prof. Muhamed Mudawar Memory ICS 233 Computer Architecture and Assembly Language Prof. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals Presentation Outline Random

More information

Operating Systems Memory Management

Operating Systems Memory Management Operating Systems Memory Management ECE 344 ECE 344 Operating Systems 1 Memory Management Contiguous Memory Allocation Paged Memory Management Virtual Memory ECE 344 Operating Systems 2 Binding of Instructions

More information

Chapter 9: Virtual-Memory Management. Operating System Concepts with Java 8 th Edition

Chapter 9: Virtual-Memory Management. Operating System Concepts with Java 8 th Edition Chapter 9: Virtual-Memory Management Operating System Concepts with Java 8 th Edition 9.1 Silberschatz, Galvin and Gagne 2009 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement

More information

Computer Organization and Architecture. Semiconductor Memory

Computer Organization and Architecture. Semiconductor Memory Computer Organization and Architecture Chapter 5 Internal Memory Semiconductor main memory Early computers used doughnut shaped ferromagnetic loops called cores for each bit Main memory was often referred

More information

OPERATING SYSTEM - VIRTUAL MEMORY

OPERATING SYSTEM - VIRTUAL MEMORY OPERATING SYSTEM - VIRTUAL MEMORY http://www.tutorialspoint.com/operating_system/os_virtual_memory.htm Copyright tutorialspoint.com A computer can address more memory than the amount physically installed

More information

ICS Principles of Operating Systems

ICS Principles of Operating Systems ICS 143 - Principles of Operating Systems Lectures 15 and 16 - Virtual Memory Prof. Ardalan Amiri Sani Prof. Nalini Venkatasubramanian ardalan@uci.edu nalini@ics.uci.edu Virtual Memory Background Demand

More information

Week 8. Memory and Memory Interfacing

Week 8. Memory and Memory Interfacing Week 8 Memory and Memory Interfacing Semiconductor Memory Fundamentals In the design of all computers, semiconductor memories are used as primary storage for data and code. They are connected directly

More information

1. Memory technology & Hierarchy

1. Memory technology & Hierarchy 1. Memory technology & Hierarchy RAM types Advances in Computer Architecture Andy D. Pimentel Memory wall Memory wall = divergence between CPU and RAM speed We can increase bandwidth by introducing concurrency

More information

Up until now we assumed that an entire program/process needed to be in memory to execute

Up until now we assumed that an entire program/process needed to be in memory to execute Lecture Overview Virtual memory Demand paging Page faults Page replacement Frame allocation Thrashing Operating Systems - June 7, 00 Virtual Memory Up until now we assumed that an entire program/process

More information

Chapter 9: Virtual-Memory Management

Chapter 9: Virtual-Memory Management Chapter 9: Virtual-Memory Management Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocation Kernel Memory Other

More information

CSE 30321 Computer Architecture I Fall 2009 Final Exam December 18, 2009

CSE 30321 Computer Architecture I Fall 2009 Final Exam December 18, 2009 CSE 30321 Computer Architecture I Fall 2009 Final Exam December 18, 2009 Test Guidelines: 1. Place your name on EACH page of the test in the space provided. 2. every question in the space provided. If

More information

CSC501 Operating Systems Principles. Memory Management

CSC501 Operating Systems Principles. Memory Management CSC501 Operating Systems Principles Memory Management 1 Previous Lecture q Memory Management Q Segmentation Q Paging q Today s Lecture Q Lab 3 Q Page replacement algorithms Lab 3 : Demand Paging q Goal:

More information

ECE 4750 Computer Architecture. T16: Address Translation and Protection

ECE 4750 Computer Architecture. T16: Address Translation and Protection ECE 4750 Computer Architecture Topic 16: Translation and Protection Christopher Batten School of Electrical and Computer Engineering Cornell University! http://www.csl.cornell.edu/courses/ece4750! ECE

More information

Read-Only Memories. L25 Outline. Two-dimensional decoding. Larger example, 32Kx8 ROM

Read-Only Memories. L25 Outline. Two-dimensional decoding. Larger example, 32Kx8 ROM L25 Outline Read-Only Memories Read-only memories Static read/write memories Dynamic read/write memories Program storage Boot ROM for personal computers Complete application storage for embedded systems.

More information

Chapter 9: Virtual Memory. Operating System Concepts 8 th Edition,

Chapter 9: Virtual Memory. Operating System Concepts 8 th Edition, Chapter 9: Virtual Memory, Silberschatz, Galvin and Gagne 2009 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Virtual Memory. COMP375 Computer Architecture and Organization

Virtual Memory. COMP375 Computer Architecture and Organization Virtual Memory COMP375 Computer Architecture and Organization You never know when you're making a memory. Rickie Lee Jones Design Project The project is due 1:00pm (start of class) on Monday, October 19,

More information

Operating System Concepts 7 th Edition, Feb 22, 2005

Operating System Concepts 7 th Edition, Feb 22, 2005 Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Demand Segmentation Operating System Examples 9.2 Background

More information

CSEE 3827: Fundamentals of Computer Systems, Spring Memory Arrays

CSEE 3827: Fundamentals of Computer Systems, Spring Memory Arrays CSEE 3827: Fundamentals of Computer Systems, Spring 2011 6. Memory Arrays Prof. Martha Kim (martha@cs.columbia.edu) Web: http://www.cs.columbia.edu/~martha/courses/3827/sp11/ Outline (H&H 5.5-5.6) Memory

More information

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1 Module 2 Embedded Processors and Memory Version 2 EE IIT, Kharagpur 1 Lesson 5 Memory-I Version 2 EE IIT, Kharagpur 2 Instructional Objectives After going through this lesson the student would Pre-Requisite

More information

LOGICAL AND PHYSICAL ORGANIZATION MEMORY MANAGEMENT TECHNIQUES (CONT D)

LOGICAL AND PHYSICAL ORGANIZATION MEMORY MANAGEMENT TECHNIQUES (CONT D) MEMORY MANAGEMENT Requirements: Relocation (to different memory areas) Protection (run time, usually implemented together with relocation) Sharing (and also protection) Logical organization Physical organization

More information

Objectives and Functions

Objectives and Functions Objectives and Functions William Stallings Computer Organization and Architecture 6 th Edition Week 10 Operating System Support Convenience Making the computer easier to use Efficiency Allowing better

More information

Computer Organization and Architecture. Characteristics of Memory Systems. Chapter 4 Cache Memory. Location CPU Registers and control unit memory

Computer Organization and Architecture. Characteristics of Memory Systems. Chapter 4 Cache Memory. Location CPU Registers and control unit memory Computer Organization and Architecture Chapter 4 Cache Memory Characteristics of Memory Systems Note: Appendix 4A will not be covered in class, but the material is interesting reading and may be used in

More information

Chapter 9: Virtual Memory. Operating System Concepts 8 th Edition,

Chapter 9: Virtual Memory. Operating System Concepts 8 th Edition, Chapter 9: Virtual Memory, Silberschatz, Galvin and Gagne 2009 Chapter 9: Virtual Memory Background Demand Paging Page Replacement Thrashing 9.2 Silberschatz, Galvin and Gagne 2009 Objectives To describe

More information

Secondary Storage. Any modern computer system will incorporate (at least) two levels of storage: magnetic disk/optical devices/tape systems

Secondary Storage. Any modern computer system will incorporate (at least) two levels of storage: magnetic disk/optical devices/tape systems 1 Any modern computer system will incorporate (at least) two levels of storage: primary storage: typical capacity cost per MB $3. typical access time burst transfer rate?? secondary storage: typical capacity

More information

Operating Systems. Virtual Memory

Operating Systems. Virtual Memory Operating Systems Virtual Memory Virtual Memory Topics. Memory Hierarchy. Why Virtual Memory. Virtual Memory Issues. Virtual Memory Solutions. Locality of Reference. Virtual Memory with Segmentation. Page

More information

The Classical Architecture. Storage 1 / 36

The Classical Architecture. Storage 1 / 36 1 / 36 The Problem Application Data? Filesystem Logical Drive Physical Drive 2 / 36 Requirements There are different classes of requirements: Data Independence application is shielded from physical storage

More information

Memory Management Thrashing, Segmentation and Paging

Memory Management Thrashing, Segmentation and Paging Memory Management Thrashing, Segmentation and Paging CS 416: Operating Systems Design, Spring 2011 Department of Computer Science Rutgers Sakai: 01:198:416 Sp11 (https://sakai.rutgers.edu) Summary of Page

More information

Chapter 9: Virtual-Memory Management

Chapter 9: Virtual-Memory Management Chapter 9: Virtual-Memory Management Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocation Kernel Memory Other

More information

Last Class: Demand Paged Virtual Memory!

Last Class: Demand Paged Virtual Memory! Last Class: Demand Paged Virtual Memory! Benefits of demand paging: Virtual address space can be larger than physical address space. Processes can run without being fully loaded into memory. Processes

More information

Memory Basics. SRAM/DRAM Basics

Memory Basics. SRAM/DRAM Basics Memory Basics RAM: Random Access Memory historically defined as memory array with individual bit access refers to memory with both Read and Write capabilities ROM: Read Only Memory no capabilities for

More information

Semiconductor Device Technology for Implementing System Solutions: Memory Modules

Semiconductor Device Technology for Implementing System Solutions: Memory Modules Hitachi Review Vol. 47 (1998), No. 4 141 Semiconductor Device Technology for Implementing System Solutions: Memory Modules Toshio Sugano Atsushi Hiraishi Shin ichi Ikenaga ABSTRACT: New technology is producing

More information

Virtual Memory Paging

Virtual Memory Paging COS 318: Operating Systems Virtual Memory Paging Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Today s Topics Paging mechanism Page replacement algorithms

More information

Consider a 4M x 1 bit RAM. It will apparently need a 22- to-4m decoder. 4 million output lines will make it complex! D in. D out

Consider a 4M x 1 bit RAM. It will apparently need a 22- to-4m decoder. 4 million output lines will make it complex! D in. D out Inside RAM Two-level addressing Consider a 4M x bit RAM. It will apparently need a 22- to-4m decoder. 4 million output lines will make it complex! Complex! Tw-level addressing simplifies it. A2-A These

More information

Memory Management. Main memory Virtual memory

Memory Management. Main memory Virtual memory Memory Management Main memory Virtual memory Main memory Background (1) Processes need to share memory Instruction execution cycle leads to a stream of memory addresses Basic hardware CPU can only access

More information

CSI3131 Operating Systems Tutorial 8 Winter 2015 Virtual Memory

CSI3131 Operating Systems Tutorial 8 Winter 2015 Virtual Memory CSI11 Operating Systems Tutorial 8 Winter 015 Virtual Memory 1. Provide a short definition for each of the following terms: Page fault: Resident Set Working Set:. Describe how thrashing can occur in using

More information

Virtual Memory. Reading: Silberschatz chapter 10 Reading: Stallings. chapter 8 EEL 358

Virtual Memory. Reading: Silberschatz chapter 10 Reading: Stallings. chapter 8 EEL 358 Virtual Memory Reading: Silberschatz chapter 10 Reading: Stallings chapter 8 1 Outline Introduction Advantages Thrashing Principal of Locality VM based on Paging/Segmentation Combined Paging and Segmentation

More information

Processing Unit. Backing Store

Processing Unit. Backing Store SYSTEM UNIT Basic Computer Structure Input Unit Central Processing Unit Main Memory Output Unit Backing Store The Central Processing Unit (CPU) is the unit in the computer which operates the whole computer

More information

Lecture 4: Memory Management

Lecture 4: Memory Management Lecture 4: Memory Management Background Program must be brought into memory and placed within a process for it to be run Input queue collection of processes on the disk that are waiting to be brought into

More information

We r e going to play Final (exam) Jeopardy! "Answers:" "Questions:" - 1 -

We r e going to play Final (exam) Jeopardy! Answers: Questions: - 1 - . (0 pts) We re going to play Final (exam) Jeopardy! Associate the following answers with the appropriate question. (You are given the "answers": Pick the "question" that goes best with each "answer".)

More information

Physical Memory Structures

Physical Memory Structures Physical Memory Structures Information for computing systems is stored in mechanisms of the following type: 1. Random Access Memory (RAM) read-write memory (RWM) read-only memory (ROM) 2. Content Addressable

More information

Chapter 5 :: Memory and Logic Arrays

Chapter 5 :: Memory and Logic Arrays Chapter 5 :: Memory and Logic Arrays Digital Design and Computer Architecture David Money Harris and Sarah L. Harris Copyright 2007 Elsevier 5- ROM Storage Copyright 2007 Elsevier 5- ROM Logic Data

More information

Overview. Fast, Faster, Fastest. What is a Cache? Why use an SRAM? Applications Note Understanding Static RAM Operation. Figure 1. Basic Cache System

Overview. Fast, Faster, Fastest. What is a Cache? Why use an SRAM? Applications Note Understanding Static RAM Operation. Figure 1. Basic Cache System Overview This document describes basic synchronous SRAM operation, including some of the most commonly used features for improving SRAM performance. Fast, Faster, Fastest As microprocessors and other electronics

More information

Memory Hierarchy. Arquitectura de Computadoras. Centro de Investigación n y de Estudios Avanzados del IPN. adiaz@cinvestav.mx. MemoryHierarchy- 1

Memory Hierarchy. Arquitectura de Computadoras. Centro de Investigación n y de Estudios Avanzados del IPN. adiaz@cinvestav.mx. MemoryHierarchy- 1 Hierarchy Arturo Díaz D PérezP Centro de Investigación n y de Estudios Avanzados del IPN adiaz@cinvestav.mx Hierarchy- 1 The Big Picture: Where are We Now? The Five Classic Components of a Computer Processor

More information

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance What You Will Learn... Computers Are Your Future Chapter 6 Understand how computers represent data Understand the measurements used to describe data transfer rates and data storage capacity List the components

More information

Lesson 6: Memory Management & Virtualization

Lesson 6: Memory Management & Virtualization Lesson 6: Memory Management & Virtualization Contents Dynamic allocation, Memory fragmentation Paging Address translation with paging Paging hardware Page table structures Segmentation Virtual memory background

More information

CHAPTER 9 Exercises 9.1 Answer: 9.2 Ready Running Blocked Answer: 9.3

CHAPTER 9 Exercises 9.1 Answer: 9.2 Ready Running Blocked Answer: 9.3 CHAPTER 9 Virtual memory can be a very interesting subject since it has so many different aspects: page faults, managing the backing store, page replacement, frame allocation, thrashing, page size. The

More information

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

COMPUTER HARDWARE. Input- Output and Communication Memory Systems COMPUTER HARDWARE Input- Output and Communication Memory Systems Computer I/O I/O devices commonly found in Computer systems Keyboards Displays Printers Magnetic Drives Compact disk read only memory (CD-ROM)

More information

CSE 513 Introduction to Operating Systems. Class 7 - Virtual Memory (2)

CSE 513 Introduction to Operating Systems. Class 7 - Virtual Memory (2) CSE 513 Introduction to Operating Systems Class 7 - Virtual Memory (2) Jonathan Walpole Dept. of Comp. Sci. and Eng. Oregon Health and Science University Key memory management issues Utilization Programmability

More information

Chapter 10: Virtual Memory. Background

Chapter 10: Virtual Memory. Background Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Demand Segmentation Operating System Examples 10.1 Silberschatz, Galvin and Gagne 2003

More information

Performance Example memory access time = 100 nanoseconds swap fault overhead = 25 msec page fault rate = 1/1000 EAT = (1-p) * p * (25 msec)

Performance Example memory access time = 100 nanoseconds swap fault overhead = 25 msec page fault rate = 1/1000 EAT = (1-p) * p * (25 msec) Memory Management Outline Operating Systems Processes Memory Management Basic Paging Virtual memory Virtual Memory Motivation Demand Paging Logical address space larger than physical memory Virtual Memory

More information

Goals of memory management. Today s desktop and server systems. Tools of memory management. A trip down Memory Lane

Goals of memory management. Today s desktop and server systems. Tools of memory management. A trip down Memory Lane Goals of memory management CSE 451: Operating Systems Spring 212 Module 11 Memory Management Allocate memory resources among competing processes, maximizing memory utilization and system throughput Provide

More information

! Background! Demand Paging! Process Creation! Page Replacement. ! Allocation of Frames! Thrashing! Demand Segmentation! Operating System Examples

! Background! Demand Paging! Process Creation! Page Replacement. ! Allocation of Frames! Thrashing! Demand Segmentation! Operating System Examples Chapter 9: Virtual Memory Background Demand Paging Process Creation Page Replacement Chapter 9: Virtual Memory Allocation of Frames Thrashing Demand Segmentation Operating System Examples Background 9.2

More information

OpenSPARC T1 Processor

OpenSPARC T1 Processor OpenSPARC T1 Processor The OpenSPARC T1 processor is the first chip multiprocessor that fully implements the Sun Throughput Computing Initiative. Each of the eight SPARC processor cores has full hardware

More information

Homework # 2. Solutions. 4.1 What are the differences among sequential access, direct access, and random access?

Homework # 2. Solutions. 4.1 What are the differences among sequential access, direct access, and random access? ECE337 / CS341, Fall 2005 Introduction to Computer Architecture and Organization Instructor: Victor Manuel Murray Herrera Date assigned: 09/19/05, 05:00 PM Due back: 09/30/05, 8:00 AM Homework # 2 Solutions

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations

More information

Memory Management. Memory Management

Memory Management. Memory Management Memory Management Logical vs. physical address space Fragmentation Paging Segmentation Reading: Silberschatz, Ch. 8 Memory Management Observations: Process needs at least CPU and memory to run. CPU context

More information

Transparent D Flip-Flop

Transparent D Flip-Flop Transparent Flip-Flop The RS flip-flop forms the basis of a number of 1-bit storage devices in digital electronics. ne such device is shown in the figure, where extra combinational logic converts the input

More information

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18 PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2013-2014, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations

More information

7. Memory Management

7. Memory Management Lecture Notes for CS347: Operating Systems Mythili Vutukuru, Department of Computer Science and Engineering, IIT Bombay 7. Memory Management 7.1 Basics of Memory Management What does main memory (RAM)

More information

Memory Management and Paging. CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han

Memory Management and Paging. CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han Memory Management and Paging CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han Announcements PA #2 due Friday March 18 11:55 pm - note extension of a day Read chapters 11 and 12 From last time...

More information

Outline - Microprocessors

Outline - Microprocessors Outline - Microprocessors General Concepts Memory Bus Structure Central Processing Unit Registers Instruction Set Clock Architecture Von Neuman vs. Harvard CISC vs. RISC General e Concepts - Computer Hardware

More information

Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University

Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications

More information

A N. O N Output/Input-output connection

A N. O N Output/Input-output connection Memory Types Two basic types: ROM: Read-only memory RAM: Read-Write memory Four commonly used memories: ROM Flash, EEPROM Static RAM (SRAM) Dynamic RAM (DRAM), SDRAM, RAMBUS, DDR RAM Generic pin configuration:

More information

ICS Principles of Operating Systems

ICS Principles of Operating Systems ICS 143 - Principles of Operating Systems Operating Systems - Review of content from midterm to final Prof. Ardalan Amiri Sani Prof. Nalini Venkatasubramanian ardalan@uci.edu nalini@ics.uci.edu Deadlocks

More information

Page Replacement Strategies. Jay Kothari Maxim Shevertalov CS 370: Operating Systems (Summer 2008)

Page Replacement Strategies. Jay Kothari Maxim Shevertalov CS 370: Operating Systems (Summer 2008) Page Replacement Strategies Jay Kothari (jayk@drexel.edu) Maxim Shevertalov (max@drexel.edu) CS 370: Operating Systems (Summer 2008) Page Replacement Policies Why do we care about Replacement Policy? Replacement

More information

Memory Management. Prof. P.C.P. Bhatt. P.C.P Bhat OS/M4/V1/2004 1

Memory Management. Prof. P.C.P. Bhatt. P.C.P Bhat OS/M4/V1/2004 1 Memory Management Prof. P.C.P. Bhatt P.C.P Bhat OS/M4/V1/2004 1 What is a Von-Neumann Architecture? Von Neumann computing requires a program to reside in main memory to run. Motivation The main motivation

More information

Memory Devices. Read Only Memory (ROM) Structure of diode ROM Types of ROMs. ROM with 2-Dimensional Decoding. Using ROMs for Combinational Logic

Memory Devices. Read Only Memory (ROM) Structure of diode ROM Types of ROMs. ROM with 2-Dimensional Decoding. Using ROMs for Combinational Logic Memory Devices Read Only Memory (ROM) Structure of diode ROM Types of ROMs. ROM with 2-Dimensional Decoding. Using ROMs for Combinational Logic Read/Write Memory (Random Access Memory, RAM): Types of RAM:

More information

MEMORY BASICS Dr. Fethullah Karabiber

MEMORY BASICS Dr. Fethullah Karabiber 0113611 COMPUTER HARDWARE MEMORY BASICS Dr. Fethullah Karabiber Overview Memory definitions Random Access Memory (RAM) Static RAM (SRAM) integrated circuits Cells and slices Cell arrays and coincident

More information

Agenda. Memory Management. Binding of Instructions and Data to Memory. Background. CSCI 444/544 Operating Systems Fall 2008

Agenda. Memory Management. Binding of Instructions and Data to Memory. Background. CSCI 444/544 Operating Systems Fall 2008 Agenda Background Memory Management CSCI 444/544 Operating Systems Fall 2008 Address space Static vs Dynamic allocation Contiguous vs non-contiguous allocation Background Program must be brought into memory

More information

Main Memory Background

Main Memory Background ECE 554 Computer Architecture Lecture 5 Main Memory Spring 2013 Sudeep Pasricha Department of Electrical and Computer Engineering Colorado State University Pasricha; portions: Kubiatowicz, Patterson, Mutlu,

More information

Operating Systems. Memory Management. Lecture 9 Michael O Boyle

Operating Systems. Memory Management. Lecture 9 Michael O Boyle Operating Systems Memory Management Lecture 9 Michael O Boyle 1 Chapter 8: Memory Management Background Logical/Virtual Address Space vs Physical Address Space Swapping Contiguous Memory Allocation Segmentation

More information

Operating Systems Fall 2014 Virtual Memory, Page Faults, Demand Paging, and Page Replacement. Myungjin Lee

Operating Systems Fall 2014 Virtual Memory, Page Faults, Demand Paging, and Page Replacement. Myungjin Lee Operating Systems Fall 2014 Virtual Memory, Page Faults, Demand Paging, and Page Replacement Myungjin Lee myungjin.lee@ed.ac.uk 1 Reminder: Mechanics of address translation virtual address virtual page

More information

Al-Anbar University /College of Computer Lecture Eight / Virtual Memory

Al-Anbar University /College of Computer Lecture Eight / Virtual Memory 8. Virtual Memory 8.1 Background 8.2 Demand Paging 8.3 Process Creation 8.4 Page Replacement 8.5 Allocation of Frames 8.6 Thrashing 8.7 Demand Segmentation 8.8 Examples 8.1 Background Virtual memory is

More information

Chapter 3 Memory Management

Chapter 3 Memory Management Chapter 3 Memory Management Basic memory management Swapping Virtual memory Page replacement algorithms Design issues for paging systems Segmentation Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,

More information

Virtual Memory (Ch.10)

Virtual Memory (Ch.10) Virtual Memory (Ch.10)! Background! Demand Paging! Page Faults! Page Replacement! Page Replacement Algorithms! Thrashing! Strategies for Thrashing Prevention Silberschatz / OS Concepts / 6e - Chapter 10

More information

CHAPTER 8 Exercises 8.1 Answer: 8.2 Answer: 8.3 Answer:

CHAPTER 8 Exercises 8.1 Answer: 8.2 Answer: 8.3 Answer: CHAPTER 8 Although many systems are demand paged (discussed in Chapter 12), there are still many that are not, and in many cases the simpler memory-management strategies may be better, especially for small

More information

The Operating System Level

The Operating System Level The Operating System Level Virtual Memory File systems Parallel processing Case studies Due 6/3: 2, 3, 18, 23 Like other levels we have studied, the OS level is built on top of the next lower layer. Like

More information

Virtual Memory & Memory Management

Virtual Memory & Memory Management CS 571 Operating Systems Virtual Memory & Memory Management Angelos Stavrou, George Mason University Memory Management 2 Logical and Physical Address Spaces Contiguous Allocation Paging Segmentation Virtual

More information

ESE 345 Computer Architecture Virtual Memory and Translation Look-Aside Buffers Virtual Memory

ESE 345 Computer Architecture Virtual Memory and Translation Look-Aside Buffers Virtual Memory Computer Architecture ESE 345 Computer Architecture and Translation Look-Aside Buffers 1 The Limits of Physical Addressing Physical addresses of memory locations A0-A31 CPU D0-D31 A0-A31 Memory D0-D31

More information

Memory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 602

Memory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 602 Memory Management Reading: Silberschatz chapter 9 Reading: Stallings chapter 7 1 Outline Background Issues in Memory Management Logical Vs Physical address, MMU Dynamic Loading Memory Partitioning Placement

More information

Dynamic Random Access Memory:

Dynamic Random Access Memory: Dynamic Random Access Memory: Dynamic random access memory (DRAM) is a type of random access memory that stores each bit of data in a separate capacitor within an integrated circuit. Since real capacitors

More information