DOC PREVIEW
Berkeley COMPSCI 61C - Lecture 36 VM II

This preview shows page 1-2-23-24 out of 24 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

PowerPoint PresentationReview…Virtual to Physical Addr. TranslationAnalogySimple Example: Base and Bound RegMapping Virtual Memory to Physical MemoryPaging Organization (assume 1 KB pages)Virtual Memory Mapping FunctionAddress Mapping: Page TablePage TableRequirements revisitedPage Table Entry (PTE) FormatPaging/Virtual Memory Multiple ProcessesComparing the 2 levels of hierarchyNotes on Page TableAdministrivia?Virtual Memory Problem #1Translation Look-Aside Buffers (TLBs)Typical TLB FormatWhat if not in TLB?What if the data is on disk?What if we don’t have enough memory?Peer InstructionAnd in conclusion…CS61C L36 VM II (1)Garcia, Fall 2004 © UCBLecturer PSOE Dan Garciawww.cs.berkeley.edu/~ddgarciainst.eecs.berkeley.edu/~cs61c CS61C : Machine StructuresLecture 36 VM II2004-11-22#4 Bears crush StanfordIn the 9th-longest rivalry in the US, we get the most dominant win (41-6) since 1930! JJ Arrington ran for 169yds, a school record for a single-season and is now the only RB in the US to have run for 100yds in every game this season. We now must best Southern Miss on Dec 4… calbears.collegesports.com/sports/m-footbl/recaps/112004aac.htmlCS61C L36 VM II (2)Garcia, Fall 2004 © UCBReview…•Cache design choices:•size of cache: speed v. capacity•direct-mapped v. associative•for N-way set assoc: choice of N•block replacement policy•2nd level cache?•Write through v. write back?•Use performance model to pick between choices, depending on programs, technology, budget, ...•Virtual Memory•Predates caches; each process thinks it has all the memory to itself; protection!CS61C L36 VM II (3)Garcia, Fall 2004 © UCBVirtual to Physical Addr. Translation•Each program operates in its own virtual address space; ~only program running•Each is protected from the other•OS can decide where each goes in memory•Hardware (HW) provides virtual  physical mappingvirtualaddress(inst. fetchload, store)Programoperates inits virtualaddressspaceHWmappingphysicaladdress(inst. fetchload, store)Physicalmemory(incl. caches)CS61C L36 VM II (4)Garcia, Fall 2004 © UCBAnalogy•Book title like virtual address•Library of Congress call number like physical address•Card catalogue like page table, mapping from book title to call #•On card for book, in local library vs. in another branch like valid bit indicating in main memory vs. on disk•On card, available for 2-hour in library use (vs. 2-week checkout) like access rightsCS61C L36 VM II (5)Garcia, Fall 2004 © UCBSimple Example: Base and Bound Reg0OSUser AUser BUser C$base $base+$bound •Want discontinuous mapping•Process size >> mem•Addition not enough! use Indirection!Enough space for User D,but discontinuous (“fragmentation problem”)CS61C L36 VM II (6)Garcia, Fall 2004 © UCBMapping Virtual Memory to Physical Memory 0Physical MemoryVirtual MemoryCodeStaticHeapStack64 MB•Divide into equal sizedchunks (about 4 KB - 8 KB)0•Any chunk of Virtual Memory assigned to any chuck of Physical Memory (“page”)CS61C L36 VM II (7)Garcia, Fall 2004 © UCBPaging Organization (assume 1 KB pages)AddrTransMAPPage is unit of mappingPage also unit of transfer from disk to physical memorypage 01K1K1K0102431744Virtual MemoryVirtualAddresspage 1page 311K2048page 2...... ...page 0010247168PhysicalAddressPhysicalMemory1K1K1Kpage 1page 7...... ...CS61C L36 VM II (8)Garcia, Fall 2004 © UCBVirtual Memory Mapping Function•Cannot have simple function to predict arbitrary mapping•Use table lookup of mappings•Use table lookup (“Page Table”) for mappings: Page number is index•Virtual Memory Mapping Function•Physical Offset = Virtual Offset•Physical Page Number= PageTable[Virtual Page Number](P.P.N. also called “Page Frame”)Page Number OffsetCS61C L36 VM II (9)Garcia, Fall 2004 © UCBAddress Mapping: Page TableVirtual Address:page no. offsetPage TableBase RegPage Table located in physical memoryindexintopagetable+PhysicalMemoryAddressPage TableVal-idAccessRightsPhysicalPageAddress.V A.R. P. P. A.......CS61C L36 VM II (10)Garcia, Fall 2004 © UCBPage Table•A page table is an operating system structure which contains the mapping of virtual addresses to physical locations•There are several different ways, all up to the operating system, to keep this data around•Each process running in the operating system has its own page table•“State” of process is PC, all registers, plus page table•OS changes page tables by changing contents of Page Table Base RegisterCS61C L36 VM II (11)Garcia, Fall 2004 © UCBRequirements revisited•Remember the motivation for VM:•Sharing memory with protection•Different physical pages can be allocated to different processes (sharing)•A process can only touch pages in its own page table (protection)•Separate address spaces•Since programs work only with virtual addresses, different programs can have different data/code at the same address!•What about the memory hierarchy?CS61C L36 VM II (12)Garcia, Fall 2004 © UCBPage Table Entry (PTE) Format•Contains either Physical Page Number or indication not in Main Memory•OS maps to disk if Not Valid (V = 0)•If valid, also check if have permission to use page: Access Rights (A.R.) may be Read Only, Read/Write, Executable...Page TableVal-idAccessRightsPhysicalPageNumberV A.R. P. P. N.V A.R. P. P.N....P.T.E.CS61C L36 VM II (13)Garcia, Fall 2004 © UCBPaging/Virtual Memory Multiple ProcessesUser B: Virtual MemoryCodeStaticHeapStack0CodeStaticHeapStackA PageTableB PageTableUser A: Virtual Memory00Physical Memory64 MBCS61C L36 VM II (14)Garcia, Fall 2004 © UCBComparing the 2 levels of hierarchy Cache Version Virtual Memory vers. Block or Line Page Miss Page Fault Block Size: 32-64B Page Size: 4K-8KB Placement: Fully AssociativeDirect Mapped, N-way Set Associative Replacement: Least Recently UsedLRU or Random (LRU) Write Thru or Back Write BackCS61C L36 VM II (15)Garcia, Fall 2004 © UCBNotes on Page Table•Solves Fragmentation problem: all chunks same size, so all holes can be used•OS must reserve “Swap Space” on disk for each process•To grow a process, ask Operating System•If unused pages, OS uses them first•If not, OS swaps some old pages to disk•(Least Recently Used to pick pages to swap)•Each process has own Page Table•Will add details, but Page Table is essence of Virtual MemoryCS61C L36 VM II (16)Garcia, Fall 2004 © UCBAdministrivia?CS61C L36 VM II (17)Garcia, Fall 2004 ©


View Full Document

Berkeley COMPSCI 61C - Lecture 36 VM II

Documents in this Course
SIMD II

SIMD II

8 pages

Midterm

Midterm

7 pages

Lecture 7

Lecture 7

31 pages

Caches

Caches

7 pages

Lecture 9

Lecture 9

24 pages

Lecture 1

Lecture 1

28 pages

Lecture 2

Lecture 2

25 pages

VM II

VM II

4 pages

Midterm

Midterm

10 pages

Load more
Download Lecture 36 VM II
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 36 VM II and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 36 VM II 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?