Virtual Memory, Address Translation
|
|
- Jemima McBride
- 5 years ago
- Views:
Transcription
1 Memory Hierarchy Virtual Memory, Address Translation Slides contents from: Hennessy & Patterson, 5ed Appendix B and Chapter 2 David Wentzlaff, ELE 475 Computer Architecture MJT, High Performance Computing, NPTEL
2 Process/Program Address Space Byte Address 0 CODE DATA HEAP STACK
3 Process/Program Address Space Byte Address 0 CODE DATA HEAP Compiler assumes a linear address space Byte 0 to Byte STACK
4 Process/Program Address Space Byte Address 0 CODE DATA HEAP Compiler assumes a linear address space Byte 0 to Byte Virtual Address space STACK
5 Process/Program Address Space Byte Address 0 CODE DATA HEAP Compiler assumes a linear address space Byte 0 to Byte Virtual Address space The entire process data structure may not be present in MM at all times STACK
6 Paged Virtual Memory Byte 0 Virtual Address Space Virtual Page Number 0 Virtual Page Number 1 Virtual Page Number N
7 MAIN MEMORY MAIN MEMORY Paged Virtual Memory Page Number 0 Byte 0 Virtual Address Space Virtual Page Number 0 Virtual Page Number 1 Page Number 13 Virtual Page Number N
8 MAIN MEMORY MAIN MEMORY HARD DISK HARD DISK Paged Virtual Memory Page Number 0 Byte Virtual Address Space 0 Virtual Page Number 0 Virtual Page Number 1 Page Number 13 Page Number 1 Page Number 2 Virtual Page Number N Page Number N-1
9 MAIN MEMORY MAIN MEMORY HARD DISK HARD DISK Paged Virtual Memory Page Number 0 Byte Virtual Address Space 0 Virtual Page Number 0 Virtual Page Number 1 Physical Address Space Page Number 13 Page Number 1 Page Number 2 Virtual Page Number N Page Number N-1
10 The Memory Hierarchy Virtual Virtual Addresses Physical Physical Addresses Main memory Virtual memory Registers Cache Words (transferred explicitly via load/store) Lines (transferred automatically upon cache miss) Pages (transferred automatically upon page fault) Virtual Virtual Addresses Addresses
11 Address Translation Table VPN 0 VPN 1 Physical Page Numbers PPN 0 VPN N-1
12 Address Translation Table Virtual Address VPN PO VPN 0 VPN 1 Physical Page Numbers PPN 0 PPN VPN N-1
13 Address Translation Table Virtual Address VPN PO VPN 0 VPN 1 Physical Page Numbers PPN 0 PPN VPN N-1
14 Address Translation Table Virtual Address VPN PO VPN 0 VPN 1 Physical Page Numbers PPN 0 PPN PPN PO Physical Address VPN N-1
15 Virtual Memory
16 Virtual Memory
17 Virtual Memory
18 Address Translation Table Virtual Address VPN PO VPN 0 VPN 1 MAIN MAIN MEMORY Physical Page Numbers PPN PPN PO Physical Address VPN N
19 Address Translation Table Virtual Address VPN PO VPN 0 VPN 1 MAIN MAIN MEMORY Physical Page Numbers HARD DISK DISK Disk Addresses PPN Disk Address PPN PO Physical Address VPN N
20 Address Translation Table MAIN MAIN MEMORY HARD DISK DISK Virtual Address VPN PO VPN 0 VPN 1 Physical Page Numbers Disk Addresses V PPN Disk Address PPN PO Physical Address VPN N
21 Implementation of Address Translation Process always uses virtual addresses
22 Implementation of Address Translation Process always uses virtual addresses Memory Management Unit (MMU): part of CPU; hardware that does address translation
23 Implementation of Address Translation Process always uses virtual addresses Memory Management Unit (MMU): part of CPU; hardware that does address translation The page tables are (at best) present in the MM (OS virtual address space) One main memory reference per address translation!
24 Implementation of Address Translation Process always uses virtual addresses Memory Management Unit (MMU): part of CPU; hardware that does address translation To translate a virtual memory address, the MMU has to read the relevant page table entry out of memory
25 Implementation of Address Translation Process always uses virtual addresses Memory Management Unit (MMU): part of CPU; hardware that does address translation To translate a virtual memory address, the MMU has to read the relevant page table entry out of memory Caches recently used translations in a Translation Lookaside Buffer (Page Table Cache)
26 Caches and Address Translation CPU Virtual Address MMU Physical Address Cache
27 Caches and Address Translation Physically Addressed Cache CPU Virtual Address MMU Physical Address Cache
28 Caches and Address Translation Physically Addressed Cache CPU Virtual Address MMU Physical Address Cache CPU Virtual Address Cache Cache Miss MMU Physical Address Main Memory
29 Caches and Address Translation Physically Addressed Cache CPU Virtual Address MMU Physical Address Cache CPU Virtual Address Cache Cache Miss MMU Physical Address Main Memory Virtually Addressed Cache
30 Which is less preferable? Physical addressed cache Virtual addressed cache
31 Which is less preferable? Physical addressed cache Hit time higher (cache access after translation) Virtual addressed cache
32 Which is less preferable? Physical addressed cache Hit time higher (cache access after translation) Virtual addressed cache Data/instruction of different processes with same virtual address in cache at the same time
33 Which is less preferable? Physical addressed cache Hit time higher (cache access after translation) Virtual addressed cache Data/instruction of different processes with same virtual address in cache at the same time Flush cache on context switch, or Include Process id as part of each cache directory entry
34 Which is less preferable? Physical addressed cache Hit time higher (cache access after translation) Virtual addressed cache Data/instruction of different processes with same virtual address in cache at the same time Flush cache on context switch, or Include Process id as part of each cache directory entry Synonyms
35 Synonyms (Aliases) VA-T1 P1 t1 P2 t2 VA-T2 Shared L2 t1: t1: Read x X
36 Synonyms (Aliases) VA-T1 P1 t1 P2 t2 VA-T2 Shared L2 t1: t1: Read x X
37 Synonyms (Aliases) VA-T1 P1 t1 P2 t2 VA-T2 Shared L2 t1: t1: Read x t2: t2: Read x X
38 Synonyms (Aliases) VA-T1 P1 t1 P2 t2 VA-T2 Shared L2 t1: t1: Read x t2: t2: Read x X
39 Synonyms (Aliases) VA-T1 P1 t1 P2 t2 VA-T2 Shared L2 L2 uses virtual addresses X 2 copies of of one physical page in in the the cache!
40 Overlapped Operation MMU CPU Virtual Address Indexing using VA Cache Tag check using PA
41 Overlapped Operation MMU CPU Virtual Address Indexing using VA Cache Tag check using PA Virtually Indexed Physically Tagged Cache (VIPT) Other options: PIPT, PIPT, VIVT VIVT
42 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address
43 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address b address
44 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address Tag Tag b address Index (10b) (10b) 3 Offset 2
45 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address Tag Tag b address Index (10b) (10b) 3 Offset 2
46 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address Tag Tag b address Index (10b) (10b) 3 Offset 2 32B 32B Block
47 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address Tag Tag b address Index (10b) (10b) 3 Offset 2 W 1 W 2 7 W 8
48 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address Tag Tag b address Index (10b) (10b) 3 Offset 2 W 1 32B 32B W 2 Block 7 W 8 =? W 1 W 2 7 W 8
49 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address Tag Tag b address Index (10b) (10b) 3 Offset 2 W 1 32B 32B W 2 Block 7 W 8 No Cache Miss =? Yes Cache Hit W 1 W 2 7 W 8
50 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address Tag Tag b address Index (10b) (10b) 3 Offset 2 W 1 32B 32B W 2 Block 7 W 8 =? W 1 W 2 7 W 8 No Cache Miss Yes Cache Hit To Processor
51 Recall Cache Access Direct mapped, 32 KB, 32B block, 32b main memory address Tag Tag b address Index (10b) (10b) 3 Offset 2 Tag is not needed until the cache line has been read W 1 32B 32B W 2 Block 7 W 8 =? W 1 W 2 7 W 8 No Cache Miss Yes Cache Hit To Processor
52 64 b VM address VM Example
53 64 b VM address VM Example Virtual Page No (50) Page Offset (14)
54 64 b VM address VM Example Virtual Page No (50) Page Offset (14) Index (8) Offset (6)
55 64 b VM address VM Example Virtual Page No (50) Page Offset (14) Index (8) Offset (6) 26b 26b Cache Block
56 64 b VM address VM Example Virtual Page No (50) Page Offset (14) Index (8) Offset (6) 26b 26b Cache Block =? L1 Hit/Miss
57 64 b VM address VM Example Virtual Page No (50) Page Offset (14) Index (8) Offset (6) (26) Physical Address (Tag) (Tag) 26b 26b Cache Block =? L1 Hit/Miss
58 64 b VM address VM Example Virtual Page No (50) Page Offset (14) Index (8) Offset (6) (26) Physical Address (Tag) (Tag) 26b 26b Cache Block =? L1 Hit/Miss Index comes from the Virtual Address (Virtually Indexed) Tag comes from the Physical Address (Physically tagged)
59 64 b VM address VM Example Virtual Page No (50) Page Offset (14) (43) TLB Tag (7) TLB Index Index (8) Offset (6) (26) Physical Address (Tag) (Tag) 26b 26b Cache Block =? L1 Hit/Miss Index comes from the Virtual Address (Virtually Indexed) Tag comes from the Physical Address (Physically tagged)
60 64 b VM address VM Example Virtual Page No (50) Page Offset (14) (43) TLB Tag (7) TLB Index Index (8) Offset (6) (26) Physical Address (Tag) (Tag) 26b 26b Cache Block =? TLB Hit/ Page Fault =? L1 Hit/Miss Index comes from the Virtual Address (Virtually Indexed) Tag comes from the Physical Address (Physically tagged)
61 64 b VM address VM Example Virtual Page No (50) Page Offset (14) (43) TLB Tag (7) TLB Index Index (8) Offset (6) (26) Physical Address (Tag) (Tag) 26b 26b Cache Block =? TLB Hit/ Page Fault Physical Address (40) =? L1 Hit/Miss Index comes from the Virtual Address (Virtually Indexed) Tag comes from the Physical Address (Physically tagged)
62 64 b VM address VM Example Virtual Page No (50) Page Offset (14) (43) TLB Tag (7) TLB Index Index (8) Offset (6) (26) Physical Address (Tag) (Tag) 26b 26b Cache Block =? TLB Hit/ Page Fault Physical Address (40) =? L1 Hit/Miss To L2 Tag Index Offset Index comes from the Virtual Address (Virtually Indexed) Tag comes from the Physical Address (Physically tagged)
63 64 b VM address VM Example Virtual Page No (50) Page Offset (14) (43) TLB Tag (7) TLB Index Index (8) Offset (6) (26) Physical Address (Tag) (Tag) 26b 26b Cache Block =? TLB Hit/ Page Fault Physical Address (40) =? L1 Hit/Miss To L2 Tag Index Offset Index comes from the Virtual Address (Virtually Indexed) Tag comes from the Physical Address (Physically tagged) =? L2 L2 Cache Block
64 Translation Lookaside Buffer Cache of page table mappings entries long SA, FA, or DM Dirty flag use during page write back Ref used for LRU VPN (tag) PPN (data) Valid Ref Dirty Access Rights
65 Page Fault Virtual address generated by processor is not available in main memory
66 Page Fault Virtual address generated by processor is not available in main memory Detected on attempt to translate address Page Table entry is invalid
67 Page Fault Virtual address generated by processor is not available in main memory Detected on attempt to translate address Page Table entry is invalid Must be `handled by operating system Identify slot in main memory to be used Get page contents from disk Update page table entry
68 Page Fault Virtual address generated by processor is not available in main memory Detected on attempt to translate address Page Table entry is invalid Must be `handled by operating system Identify slot in main memory to be used Get page contents from disk Update page table entry Provide data to the processor
69 Abstraction: Virtual vs Physical Memory Programmer sees virtual memory Can assume the memory is infinite
70 Abstraction: Virtual vs Physical Memory Programmer sees virtual memory Can assume the memory is infinite Reality: Physical memory size is much smaller than what the programmer assumes
71 Abstraction: Virtual vs Physical Memory Programmer sees virtual memory Can assume the memory is infinite Reality: Physical memory size is much smaller than what the programmer assumes The system (system software + hardware, cooperatively) maps virtual memory addresses are to physical memory The system automatically manages the physical memory space transparently to the programmer
72 Abstraction: Virtual vs Physical Memory + Programmer does not need to know the physical size of memory nor manage it A small physical memory can appear as a huge one to the programmer Life is easier for the programmer -- More complex system software and architecture A classic example of the programmer/(micro)architect tradeoff
73 Virtual Memory What is the size of the Page Table? Where is it stored? What factors decide the size of a page? What are its side effects? Page size is constant/variable?
74 Extra
75 Fast Translation Address translation is on the critical path Paging 2 memory accesses! Address Translation Table + Data Translation Lookaside Buffer (TLB): Part of MMU that caches address translations
76 Size of a Page Page is the unit of Memory Management Too large vs Too small Page Offset field need not be translated What if the Page Offset field was 12 bits? (Page size = 4KB)
77 Paged Virtual Memory 48 bit Virtual Addresses, 40 bit Physical Addresses Page size = 16KB How many entries in a process's Page Translation Table? What is the size of the Page Translation Table?
Virtual Memory, Address Translation
Memory Hierarchy Virtual Memory, Address Translation Slides contents from: Hennessy & Patterson, 5ed Appendix B and Chapter 2 David Wentzlaff, ELE 475 Computer Architecture MJT, High Performance Computing,
More informationSE-292 High Performance Computing. Memory Hierarchy. R. Govindarajan
SE-292 High Performance Computing Memory Hierarchy R. Govindarajan govind@serc Reality Check Question 1: Are real caches built to work on virtual addresses or physical addresses? Question 2: What about
More informationVirtual Memory. Patterson & Hennessey Chapter 5 ELEC 5200/6200 1
Virtual Memory Patterson & Hennessey Chapter 5 ELEC 5200/6200 1 Virtual Memory Use main memory as a cache for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs
More informationECE232: Hardware Organization and Design
ECE232: Hardware Organization and Design Lecture 28: More Virtual Memory Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Virtual memory used to protect applications from
More informationVirtual Memory Virtual memory first used to relive programmers from the burden of managing overlays.
CSE420 Virtual Memory Prof. Mokhtar Aboelaze York University Based on Slides by Prof. L. Bhuyan (UCR) Prof. M. Shaaban (RIT) Virtual Memory Virtual memory first used to relive programmers from the burden
More informationAgenda. CS 61C: Great Ideas in Computer Architecture. Virtual Memory II. Goals of Virtual Memory. Memory Hierarchy Requirements
CS 61C: Great Ideas in Computer Architecture Virtual II Guest Lecturer: Justin Hsia Agenda Review of Last Lecture Goals of Virtual Page Tables Translation Lookaside Buffer (TLB) Administrivia VM Performance
More informationVirtual Memory Overview
Virtual Memory Overview Virtual address (VA): What your program uses Virtual Page Number Page Offset Physical address (PA): What actually determines where in memory to go Physical Page Number Page Offset
More informationVirtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1
Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L16-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:
More informationComputer Architecture. Lecture 8: Virtual Memory
Computer Architecture Lecture 8: Virtual Memory Dr. Ahmed Sallam Suez Canal University Spring 2015 Based on original slides by Prof. Onur Mutlu Memory (Programmer s View) 2 Ideal Memory Zero access time
More informationLECTURE 12. Virtual Memory
LECTURE 12 Virtual Memory VIRTUAL MEMORY Just as a cache can provide fast, easy access to recently-used code and data, main memory acts as a cache for magnetic disk. The mechanism by which this is accomplished
More informationVirtual Memory. CS 3410 Computer System Organization & Programming
Virtual Memory CS 3410 Computer System Organization & Programming These slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer. Where are we now and
More information1. Creates the illusion of an address space much larger than the physical memory
Virtual memory Main Memory Disk I P D L1 L2 M Goals Physical address space Virtual address space 1. Creates the illusion of an address space much larger than the physical memory 2. Make provisions for
More informationLecture 21: Virtual Memory. Spring 2018 Jason Tang
Lecture 21: Virtual Memory Spring 2018 Jason Tang 1 Topics Virtual addressing Page tables Translation lookaside buffer 2 Computer Organization Computer Processor Memory Devices Control Datapath Input Output
More informationADDRESS TRANSLATION AND TLB
ADDRESS TRANSLATION AND TLB Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 3 submission deadline: Nov.
More informationEECS 470. Lecture 16 Virtual Memory. Fall 2018 Jon Beaumont
Lecture 16 Virtual Memory Fall 2018 Jon Beaumont http://www.eecs.umich.edu/courses/eecs470 Slides developed in part by Profs. Austin, Brehob, Falsafi, Hill, Hoe, Lipasti, Shen, Smith, Sohi, Tyson, and
More informationECE 571 Advanced Microprocessor-Based Design Lecture 12
ECE 571 Advanced Microprocessor-Based Design Lecture 12 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 1 March 2018 HW#6 will be posted Project will be coming up Announcements
More informationMain Memory: Address Translation
Main Memory: Address Translation (Chapter 8) CS 4410 Operating Systems Can t We All Just Get Along? Physical Reality: different processes/threads share the same hardware à need to multiplex CPU (temporal)
More informationUC Berkeley CS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 35 Virtual Memory II 2007-04-16 Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia Hardware repair?! This technology allows
More informationADDRESS TRANSLATION AND TLB
ADDRESS TRANSLATION AND TLB Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 4 submission deadline: Mar.
More informationVirtual Memory - Objectives
ECE232: Hardware Organization and Design Part 16: Virtual Memory Chapter 7 http://www.ecs.umass.edu/ece/ece232/ Adapted from Computer Organization and Design, Patterson & Hennessy Virtual Memory - Objectives
More informationDAT (cont d) Assume a page size of 256 bytes. physical addresses. Note: Virtual address (page #) is not stored, but is used as an index into the table
Assume a page size of 256 bytes 5 Page table size (determined by size of program) 1 1 0 1 0 0200 00 420B 00 xxxxxx 1183 00 xxxxxx physical addresses Residency Bit (0 page frame is empty) Note: Virtual
More informationVirtual Memory. Stefanos Kaxiras. Credits: Some material and/or diagrams adapted from Hennessy & Patterson, Hill, online sources.
Virtual Memory Stefanos Kaxiras Credits: Some material and/or diagrams adapted from Hennessy & Patterson, Hill, online sources. Caches Review & Intro Intended to make the slow main memory look fast by
More informationVirtual Memory Nov 9, 2009"
Virtual Memory Nov 9, 2009" Administrivia" 2! 3! Motivations for Virtual Memory" Motivation #1: DRAM a Cache for Disk" SRAM" DRAM" Disk" 4! Levels in Memory Hierarchy" cache! virtual memory! CPU" regs"
More informationMain Memory (Fig. 7.13) Main Memory
Main Memory (Fig. 7.13) CPU CPU CPU Cache Multiplexor Cache Cache Bus Bus Bus Memory Memory bank 0 Memory bank 1 Memory bank 2 Memory bank 3 Memory b. Wide memory organization c. Interleaved memory organization
More information5DV118 Computer Organization and Architecture Umeå University Department of Computing Science Stephen J. Hegner
5DV8 Computer Organization and Architecture Umeå University Department of Computing Science Stephen J. Hegner Topic 5: The Memory Hierarchy Part B: Address Translation These slides are mostly taken verbatim,
More informationVirtual Memory. Samira Khan Apr 27, 2017
Virtual Memory Samira Khan Apr 27, 27 Virtual Memory Idea: Give the programmer the illusion of a large address space while having a small physical memory So that the programmer does not worry about managing
More informationCS 61C: Great Ideas in Computer Architecture. Virtual Memory III. Instructor: Dan Garcia
CS 61C: Great Ideas in Computer Architecture Virtual Memory III Instructor: Dan Garcia 1 Agenda Review of Last Lecture Goals of Virtual Memory Page Tables TranslaFon Lookaside Buffer (TLB) Administrivia
More informationCIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2017
CIS 5512 - Operating Systems Memory Management Cache Professor Qiang Zeng Fall 2017 Previous class What is logical address? Who use it? Describes a location in the logical memory address space Compiler
More informationCIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2015
CIS 5512 - Operating Systems Memory Management Cache Professor Qiang Zeng Fall 2015 Previous class What is logical address? Who use it? Describes a location in the logical address space Compiler and CPU
More informationCISC 662 Graduate Computer Architecture Lecture 16 - Cache and virtual memory review
CISC 662 Graduate Computer Architecture Lecture 6 - Cache and virtual memory review Michela Taufer http://www.cis.udel.edu/~taufer/teaching/cis662f07 Powerpoint Lecture Notes from John Hennessy and David
More informationCHAPTER 4 MEMORY HIERARCHIES TYPICAL MEMORY HIERARCHY TYPICAL MEMORY HIERARCHY: THE PYRAMID CACHE PERFORMANCE MEMORY HIERARCHIES CACHE DESIGN
CHAPTER 4 TYPICAL MEMORY HIERARCHY MEMORY HIERARCHIES MEMORY HIERARCHIES CACHE DESIGN TECHNIQUES TO IMPROVE CACHE PERFORMANCE VIRTUAL MEMORY SUPPORT PRINCIPLE OF LOCALITY: A PROGRAM ACCESSES A RELATIVELY
More informationCIS Operating Systems Memory Management Cache and Demand Paging. Professor Qiang Zeng Spring 2018
CIS 3207 - Operating Systems Memory Management Cache and Demand Paging Professor Qiang Zeng Spring 2018 Process switch Upon process switch what is updated in order to assist address translation? Contiguous
More informationUNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568/668
UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Computer Architecture ECE 568/668 Part Hierarchy - I Israel Koren ECE568/Koren Part.. 3 4 5 6 7 8 9 A B C D E F 6 blocks 3 4 block
More informationCOSC3330 Computer Architecture Lecture 20. Virtual Memory
COSC3330 Computer Architecture Lecture 20. Virtual Memory Instructor: Weidong Shi (Larry), PhD Computer Science Department University of Houston Virtual Memory Topics Reducing Cache Miss Penalty (#2) Use
More informationMemory Hierarchy Requirements. Three Advantages of Virtual Memory
CS61C L12 Virtual (1) CS61CL : Machine Structures Lecture #12 Virtual 2009-08-03 Jeremy Huddleston Review!! Cache design choices: "! Size of cache: speed v. capacity "! size (i.e., cache aspect ratio)
More informationCS 61C: Great Ideas in Computer Architecture. Virtual Memory
CS 61C: Great Ideas in Computer Architecture Virtual Memory Instructor: Justin Hsia 7/30/2012 Summer 2012 Lecture #24 1 Review of Last Lecture (1/2) Multiple instruction issue increases max speedup, but
More informationVirtual Memory: From Address Translation to Demand Paging
Constructive Computer Architecture Virtual Memory: From Address Translation to Demand Paging Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology November 12, 2014
More informationCPS 104 Computer Organization and Programming Lecture 20: Virtual Memory
CPS 104 Computer Organization and Programming Lecture 20: Virtual Nov. 10, 1999 Dietolf (Dee) Ramm http://www.cs.duke.edu/~dr/cps104.html CPS 104 Lecture 20.1 Outline of Today s Lecture O Virtual. 6 Paged
More informationMemory Management. Dr. Yingwu Zhu
Memory Management Dr. Yingwu Zhu Big picture Main memory is a resource A process/thread is being executing, the instructions & data must be in memory Assumption: Main memory is infinite Allocation of memory
More informationTranslation Buffers (TLB s)
Translation Buffers (TLB s) To perform virtual to physical address translation we need to look-up a page table Since page table is in memory, need to access memory Much too time consuming; 20 cycles or
More informationVirtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1
Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L20-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:
More informationMEMORY HIERARCHY BASICS. B649 Parallel Architectures and Programming
MEMORY HIERARCHY BASICS B649 Parallel Architectures and Programming BASICS Why Do We Need Caches? 3 Overview 4 Terminology cache virtual memory memory stall cycles direct mapped valid bit block address
More informationVirtual Memory. Motivation:
Virtual Memory Motivation:! Each process would like to see its own, full, address space! Clearly impossible to provide full physical memory for all processes! Processes may define a large address space
More informationAddress Translation. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
Address Translation Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics How to reduce the size of page tables? How to reduce the time for
More informationELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II
ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Organization Part II Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn,
More informationVirtual Memory 3. Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University. P & H Chapter 5.4
Virtual Memory 3 Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University P & H Chapter 5.4 Project3 available now Administrivia Design Doc due next week, Monday, April 16 th Schedule
More informationCPS104 Computer Organization and Programming Lecture 16: Virtual Memory. Robert Wagner
CPS104 Computer Organization and Programming Lecture 16: Virtual Memory Robert Wagner cps 104 VM.1 RW Fall 2000 Outline of Today s Lecture Virtual Memory. Paged virtual memory. Virtual to Physical translation:
More informationCS 153 Design of Operating Systems Winter 2016
CS 153 Design of Operating Systems Winter 2016 Lecture 16: Memory Management and Paging Announcement Homework 2 is out To be posted on ilearn today Due in a week (the end of Feb 19 th ). 2 Recap: Fixed
More informationA Few Problems with Physical Addressing. Virtual Memory Process Abstraction, Part 2: Private Address Space
Process Abstraction, Part : Private Motivation: why not direct physical memory access? Address translation with pages Optimizing translation: translation lookaside buffer Extra benefits: sharing and protection
More informationComputer Science 146. Computer Architecture
Computer Architecture Spring 2004 Harvard University Instructor: Prof. dbrooks@eecs.harvard.edu Lecture 18: Virtual Memory Lecture Outline Review of Main Memory Virtual Memory Simple Interleaving Cycle
More informationUC Berkeley CS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 34 Virtual Memory II CS61C L34 Virtual Memory II (1) 2006-11-20 Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia What I
More informationComputer Systems. Virtual Memory. Han, Hwansoo
Computer Systems Virtual Memory Han, Hwansoo A System Using Physical Addressing CPU Physical address (PA) 4 Main memory : : 2: 3: 4: 5: 6: 7: 8:... M-: Data word Used in simple systems like embedded microcontrollers
More informationVirtual to physical address translation
Virtual to physical address translation Virtual memory with paging Page table per process Page table entry includes present bit frame number modify bit flags for protection and sharing. Page tables can
More informationThis Unit: Main Memory. Virtual Memory. Virtual Memory. Other Uses of Virtual Memory
This Unit: Virtual Application OS Compiler Firmware I/O Digital Circuits Gates & Transistors hierarchy review DRAM technology A few more transistors Organization: two level addressing Building a memory
More informationUCB CS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Sr Lecturer SOE Dan Garcia Lecture 35 Virtual Memory III" The severity of the decline in the market is further evidence that the post-pc era
More informationCS5460: Operating Systems Lecture 14: Memory Management (Chapter 8)
CS5460: Operating Systems Lecture 14: Memory Management (Chapter 8) Important from last time We re trying to build efficient virtual address spaces Why?? Virtual / physical translation is done by HW and
More informationECE331: Hardware Organization and Design
ECE331: Hardware Organization and Design Lecture 29: an Introduction to Virtual Memory Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Virtual memory used to protect applications
More informationVirtual Memory. Motivations for VM Address translation Accelerating translation with TLBs
Virtual Memory Today Motivations for VM Address translation Accelerating translation with TLBs Fabián Chris E. Bustamante, Riesbeck, Fall Spring 2007 2007 A system with physical memory only Addresses generated
More informationVirtual Memory. CS 3410 Computer System Organization & Programming. [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon]
Virtual Memory CS 3410 Computer System Organization & Programming [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon] Click any letter let me know you re here today. Instead of a DJ Clicker Question today,
More informationVIRTUAL MEMORY II. Jo, Heeseung
VIRTUAL MEMORY II Jo, Heeseung TODAY'S TOPICS How to reduce the size of page tables? How to reduce the time for address translation? 2 PAGE TABLES Space overhead of page tables The size of the page table
More informationEN1640: Design of Computing Systems Topic 06: Memory System
EN164: Design of Computing Systems Topic 6: Memory System Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University Spring
More informationMemory Hierarchy. Slides contents from:
Memory Hierarchy Slides contents from: Hennessy & Patterson, 5ed Appendix B and Chapter 2 David Wentzlaff, ELE 475 Computer Architecture MJT, High Performance Computing, NPTEL Memory Performance Gap Memory
More information6.004 Tutorial Problems L20 Virtual Memory
6.004 Tutorial Problems L20 Virtual Memory Page Table (v + p) bits in virtual address (m + p) bits in physical address 2 v number of virtual pages 2 m number of physical pages 2 p bytes per physical page
More informationMemory Hierarchy. Goal: Fast, unlimited storage at a reasonable cost per bit.
Memory Hierarchy Goal: Fast, unlimited storage at a reasonable cost per bit. Recall the von Neumann bottleneck - single, relatively slow path between the CPU and main memory. Fast: When you need something
More informationVirtual Memory. Adapted from instructor s supplementary material from Computer. Patterson & Hennessy, 2008, MK]
Virtual Memory Adapted from instructor s supplementary material from Computer Organization and Design, 4th Edition, Patterson & Hennessy, 2008, MK] Virtual Memory Usemain memory asa cache a for secondarymemory
More informationMemory Hierarchy. Mehran Rezaei
Memory Hierarchy Mehran Rezaei What types of memory do we have? Registers Cache (Static RAM) Main Memory (Dynamic RAM) Disk (Magnetic Disk) Option : Build It Out of Fast SRAM About 5- ns access Decoders
More informationMemory Hierarchy. Advanced Optimizations. Slides contents from:
Memory Hierarchy Advanced Optimizations Slides contents from: Hennessy & Patterson, 5ed. Appendix B and Chapter 2. David Wentzlaff, ELE 475 Computer Architecture. MJT, High Performance Computing, NPTEL.
More informationVirtual Memory II CSE 351 Spring
Virtual Memory II CSE 351 Spring 2018 https://xkcd.com/1495/ Virtual Memory (VM) Overview and motivation VM as a tool for caching Address translation VM as a tool for memory management VM as a tool for
More informationCS 333 Introduction to Operating Systems. Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University Virtual addresses Virtual memory addresses (what the process uses) Page
More information198:231 Intro to Computer Organization. 198:231 Introduction to Computer Organization Lecture 14
98:23 Intro to Computer Organization Lecture 4 Virtual Memory 98:23 Introduction to Computer Organization Lecture 4 Instructor: Nicole Hynes nicole.hynes@rutgers.edu Credits: Several slides courtesy of
More informationLearning to Play Well With Others
Virtual Memory 1 Learning to Play Well With Others (Physical) Memory 0x10000 (64KB) 0x00000 Learning to Play Well With Others malloc(0x20000) (Physical) Memory 0x10000 (64KB) 0x00000 Learning to Play Well
More informationTopics to be covered. EEC 581 Computer Architecture. Virtual Memory. Memory Hierarchy Design (II)
EEC 581 Computer Architecture Memory Hierarchy Design (II) Department of Electrical Engineering and Computer Science Cleveland State University Topics to be covered Cache Penalty Reduction Techniques Victim
More informationAddress Translation. Tore Larsen Material developed by: Kai Li, Princeton University
Address Translation Tore Larsen Material developed by: Kai Li, Princeton University Topics Virtual memory Virtualization Protection Address translation Base and bound Segmentation Paging Translation look-ahead
More informationOperating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 09. Memory Management Part 1 Paul Krzyzanowski Rutgers University Spring 2015 March 9, 2015 2014-2015 Paul Krzyzanowski 1 CPU Access to Memory The CPU reads instructions and reads/write
More informationChapter 10: Virtual Memory. Lesson 05: Translation Lookaside Buffers
Chapter 10: Virtual Memory Lesson 05: Translation Lookaside Buffers Objective Learn that a page table entry access increases the latency for a memory reference Understand that how use of translationlookaside-buffers
More informationMemory Hierarchy. Slides contents from:
Memory Hierarchy Slides contents from: Hennessy & Patterson, 5ed Appendix B and Chapter 2 David Wentzlaff, ELE 475 Computer Architecture MJT, High Performance Computing, NPTEL Memory Performance Gap Memory
More informationCSE 351. Virtual Memory
CSE 351 Virtual Memory Virtual Memory Very powerful layer of indirection on top of physical memory addressing We never actually use physical addresses when writing programs Every address, pointer, etc
More informationPipelining Exercises, Continued
Pipelining Exercises, Continued. Spot all data dependencies (including ones that do not lead to stalls). Draw arrows from the stages where data is made available, directed to where it is needed. Circle
More informationProcesses and Virtual Memory Concepts
Processes and Virtual Memory Concepts Brad Karp UCL Computer Science CS 37 8 th February 28 (lecture notes derived from material from Phil Gibbons, Dave O Hallaron, and Randy Bryant) Today Processes Virtual
More informationVirtual Memory. Virtual Memory
Virtual Memory Virtual Memory Main memory is cache for secondary storage Secondary storage (disk) holds the complete virtual address space Only a portion of the virtual address space lives in the physical
More informationVirtual Memory Fall /19/0. L21 Virtual Memory 1
Virtual Memory L21 Virtual Memory 1 Lessons from History There is only one mistake that can be made in computer design that is difficult to recover from not having enough address bits for memory addressing
More informationChapter 8 Virtual Memory
Chapter 8 Virtual Memory Digital Design and Computer Architecture: ARM Edi*on Sarah L. Harris and David Money Harris Digital Design and Computer Architecture: ARM Edi>on 215 Chapter 8 Chapter 8 ::
More informationVirtual Memory: Mechanisms. CS439: Principles of Computer Systems February 28, 2018
Virtual Memory: Mechanisms CS439: Principles of Computer Systems February 28, 2018 Last Time Physical addresses in physical memory Virtual/logical addresses in process address space Relocation Algorithms
More informationVirtual memory. Hung-Wei Tseng
Virtual memory Hung-Wei Tseng Why virtual memory How VM works VM and cache Outline 4 Virtual memory 5 Scenario I An application is design on machine A with memory size X. Can we safely execute the same
More informationVirtual Memory Worksheet
Virtual Memory Worksheet (v + p) bits in virtual address (m + p) bits in physical address 2 v number of virtual pages 2 m number of physical pages 2 p bytes per physical page 2 v+p bytes in virtual memory
More informationReview. Manage memory to disk? Treat as cache. Lecture #26 Virtual Memory II & I/O Intro
CS61C L26 Virtual Memory II (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #26 Virtual Memory II & I/O Intro 2007-8-8 Scott Beamer, Instructor Apple Releases new imac Review Manage
More informationChapter 5B. Large and Fast: Exploiting Memory Hierarchy
Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,
More informationChapter 5 Memory Hierarchy Design. In-Cheol Park Dept. of EE, KAIST
Chapter 5 Memory Hierarchy Design In-Cheol Park Dept. of EE, KAIST Why cache? Microprocessor performance increment: 55% per year Memory performance increment: 7% per year Principles of locality Spatial
More informationCS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation
CS 152 Computer Architecture and Engineering Lecture 9 - Address Translation Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!
More informationCSE 451: Operating Systems Winter Page Table Management, TLBs and Other Pragmatics. Gary Kimura
CSE 451: Operating Systems Winter 2013 Page Table Management, TLBs and Other Pragmatics Gary Kimura Moving now from Hardware to how the OS manages memory Two main areas to discuss Page table management,
More informationCarnegie Mellon. Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition
Carnegie Mellon Virtual Memory: Concepts 5-23: Introduction to Computer Systems 7 th Lecture, October 24, 27 Instructor: Randy Bryant 2 Hmmm, How Does This Work?! Process Process 2 Process n Solution:
More informationPipelined processors and Hazards
Pipelined processors and Hazards Two options Processor HLL Compiler ALU LU Output Program Control unit 1. Either the control unit can be smart, i,e. it can delay instruction phases to avoid hazards. Processor
More informationEN1640: Design of Computing Systems Topic 06: Memory System
EN164: Design of Computing Systems Topic 6: Memory System Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University Spring
More informationVirtual Memory Oct. 29, 2002
5-23 The course that gives CMU its Zip! Virtual Memory Oct. 29, 22 Topics Motivations for VM Address translation Accelerating translation with TLBs class9.ppt Motivations for Virtual Memory Use Physical
More informationVirtual Memory. Study Chapters something I understand. Finally! A lecture on PAGE FAULTS! doing NAND gates. I wish we were still
Virtual Memory I wish we were still doing NAND gates Study Chapters 7.4-7.8 Finally! A lecture on something I understand PAGE FAULTS! L23 Virtual Memory 1 You can never be too rich, too good looking, or
More informationVirtual Memory. Computer Systems Principles
Virtual Memory Computer Systems Principles Objectives Virtual Memory What is it? How does it work? Virtual Memory Address Translation /7/25 CMPSCI 23 - Computer Systems Principles 2 Problem Lots of executing
More informationCOEN-4730 Computer Architecture Lecture 3 Review of Caches and Virtual Memory
1 COEN-4730 Computer Architecture Lecture 3 Review of Caches and Virtual Memory Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University Credits: Slides adapted from presentations
More informationChapter 8. Virtual Memory
Operating System Chapter 8. Virtual Memory Lynn Choi School of Electrical Engineering Motivated by Memory Hierarchy Principles of Locality Speed vs. size vs. cost tradeoff Locality principle Spatial Locality:
More informationLecture 19: Virtual Memory: Concepts
CSCI-UA.2-3 Computer Systems Organization Lecture 9: Virtual Memory: Concepts Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted (and slightly modified) from: Clark Barrett
More informationChapter 8 Memory Management
Chapter 8 Memory Management Da-Wei Chang CSIE.NCKU Source: Abraham Silberschatz, Peter B. Galvin, and Greg Gagne, "Operating System Concepts", 9th Edition, Wiley. 1 Outline Background Swapping Contiguous
More information