Presentation is loading. Please wait.

Presentation is loading. Please wait.

Virtual Memory. Why do we need VM? Program address space: 0 – 2^32 bytes –4GB of space Physical memory available –256MB or so Multiprogramming systems.

Similar presentations


Presentation on theme: "Virtual Memory. Why do we need VM? Program address space: 0 – 2^32 bytes –4GB of space Physical memory available –256MB or so Multiprogramming systems."— Presentation transcript:

1 Virtual Memory

2 Why do we need VM? Program address space: 0 – 2^32 bytes –4GB of space Physical memory available –256MB or so Multiprogramming systems –Have more than one program running

3 What do we do? Paging –Break up the memory space into equal-sized blocks - pages –Put the program into main memory a page at a time Avoids fragmentation –What kind? What about fragmentation within a page?

4 Address Translation Virtual Addr  Physical Addr –If the page is in Physical Memory Otherwise the page is on Disk –Page Fault!

5 How does the translation work? Going from a 4GB address space to a 512MB address space –Virtual Address bit size? –Physical Address bit size? What’s the page size? –4K, 8K, 16K … –Page offset bit size?

6 How does the translation work? II Page Number = Address / Page Size –Page Number = higher n-k bits k = number of bits for the page offset

7 The big picture

8 Page Faults What if the page is not in Physical Memory –How do we know? What do we need to do? –Bring the page into PM –What if PM is full? How do we choose a victim? What happens to the victim?

9 Write Policies Two options: –Write-through –Write-back What are the costs? How do we know when to write? –Do we always write? How does this compare to cache?

10 Caching the Page Table What does it take to access memory? –getting the instruction –what if it’s a load or a store? Translation-lookaside Buffer (TLB) –Small number of entries –Keeps recently accesses VM  PM translations Small hit time Small miss rate

11

12 VM and the Cache Address translations happen first and the cache is oblivious of Virtual Memory

13 Other Stuff Protection with VM –Protection bits are part of the page table –Used to isolate user program data –Can be used for shared memory

14 Page Tables Example 1 –Given 16K pages –How big is the page table? –How do we do address translations?

15 Handling page faults Example 2 –TLB: hit = 95%, 2 cycles –Page Table: hit = 99.999%, 100 cycles –Disk Access: 1,000,000 cycles What’s the average number of cycles per memory access?

16 Translations Example 3 –Bits 0 though 9 represent the page offset –What's the physical address corresponding to the virtual address 2073?


Download ppt "Virtual Memory. Why do we need VM? Program address space: 0 – 2^32 bytes –4GB of space Physical memory available –256MB or so Multiprogramming systems."

Similar presentations


Ads by Google