DOC PREVIEW
Berkeley COMPSCI 61C - Lecture 35 VM II

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

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 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 25 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 25 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 25 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS61C L35 VM I (1)Garcia © UCBLecturer PSOE Dan Garciawww.cs.berkeley.edu/~ddgarciainst.eecs.berkeley.edu/~cs61cCS61C : Machine StructuresLecture 35 VM IIHappy 40th Moore’s law! ⇒Yesterday marked the 40thanniversary of the moment Gordon Mooreoffered a predication based on trends he’dseen about the semiconductor industry. Ithas served as an important yardstick!www.intel.com/pressroom/kits/events/moores_law_40th/www.macworld.com/news/2005/04/19/problem/CS61C L35 VM I (2)Garcia © UCBReview: Caches• 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 pickbetween choices, depending onprograms, technology, budget, ...CS61C L35 VM I (3)Garcia © UCBAnother View of the Memory HierarchyRegsL2 CacheMemoryDiskTapeInstr. OperandsBlocksPagesFilesUpper LevelLower LevelFasterLargerCacheBlocksThus far{{Next:VirtualMemoryCS61C L35 VM I (4)Garcia © UCBMemory Hierarchy Requirements• If Principle of Locality allows cachesto offer (close to) speed of cachememory with size of DRAM memory,then recursively why not use at nextlevel to give speed of DRAM memory,size of Disk memory?• While we’re at it, what other things dowe need from our memory system?CS61C L35 VM I (5)Garcia © UCBMemory Hierarchy Requirements• Share memory between multipleprocesses but still provide protection– don’t let one program read/writememory from another• Address space – give each programthe illusion that it has its own privatememory• Suppose code starts at address0x40000000. But different processeshave different code, both residing at thesame address. So each program has adifferent view of memory.CS61C L35 VM I (6)Garcia © UCBVirtual Memory• Called “Virtual Memory”• Also allows OS to share memory,protect programs from each other• Today, more important for protectionvs. just another level of memoryhierarchy• Each process thinks it has all thememory to itself• Historically, it predates cachesCS61C L35 VM I (7)Garcia © UCBVirtual to Physical Addr. Translation• Each program operates in its own virtualaddress space; ~only program running• Each is protected from the other• OS can decide where each goes inmemory• Hardware (HW) provides virtual ⇒physical mappingvirtualaddress(inst. fetchload, store)Programoperates inits virtualaddressspaceHWmappingphysicaladdress(inst. fetchload, store)Physicalmemory(incl. caches)CS61C L35 VM I (8)Garcia © UCBAnalogy• Book title like virtual address• Library of Congress call number likephysical 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 bitindicating in main memory vs. on disk• On card, available for 2-hour in libraryuse (vs. 2-week checkout) like accessrightsCS61C L35 VM I (9)Garcia © UCBSimple Example: Base and Bound Reg0∞OSUser AUser BUser C$base $base+$bound • Want discontinuousmapping• Process size >> mem• Addition not enough!⇒ use Indirection!Enough space for User D,but discontinuous (“fragmentation problem”)CS61C L35 VM I (10)Garcia © UCBMapping Virtual Memory to Physical Memory 0Physical Memory∞Virtual MemoryCodeStaticHeapStack64 MB• Divide into equal sizedchunks (about 4 KB - 8 KB)0• Any chunk of VirtualMemory assigned to anychuck of Physical Memory(“page”)CS61C L35 VM I (11)Garcia © UCBPaging Organization (assume 1 KB pages)AddrTransMAPPage is unit of mappingPage also unit oftransfer from diskto physical memorypage 01K1K1K0102431744Virtual MemoryVirtualAddresspage 1page 311K2048page 2...... ...page 0010247168PhysicalAddressPhysicalMemory1K1K1Kpage 1page 7...... ...CS61C L35 VM I (12)Garcia © UCBVirtual Memory Mapping Function• Cannot have simple function topredict arbitrary mapping• Use table lookup of mappings• Use table lookup (“Page Table”) formappings: 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 L35 VM I (13)Garcia © UCBAddress Mapping: Page TableVirtual Address:page no. offsetPage TableBase RegPage Table located in physical memoryindexintopagetable+PhysicalMemoryAddressPage TableVal-idAccessRightsPhysicalPageAddress.VA.R.P. P. A.......CS61C L35 VM I (14)Garcia © UCBPage Table• A page table is an operating systemstructure which contains the mappingof virtual addresses to physicallocations• There are several different ways, all up tothe operating system, to keep this dataaround• Each process running in the operatingsystem has its own page table• “State” of process is PC, all registers, pluspage table• OS changes page tables by changingcontents of Page Table Base RegisterCS61C L35 VM I (15)Garcia © UCBRequirements revisited• Remember the motivation for VM:• Sharing memory with protection• Different physical pages can beallocated to different processes (sharing)• A process can only touch pages in itsown page table (protection)• Separate address spaces• Since programs work only with virtualaddresses, different programs can havedifferent data/code at the same address!• What about the memory hierarchy?CS61C L35 VM I (16)Garcia © UCBPage Table Entry (PTE) Format• Contains either Physical Page Numberor indication not in Main Memory• OS maps to disk if Not Valid (V = 0)• If valid, also check if have permissionto use page: Access Rights (A.R.)may be Read Only, Read/Write,Executable...Page TableVal-idAccessRightsPhysicalPageNumberVA.R.P. P. N.VA.R.P. P.N....P.T.E.CS61C L35 VM I (17)Garcia © UCBPaging/Virtual Memory Multiple ProcessesUser B: Virtual Memory∞CodeStaticHeapStack0CodeStaticHeapStackA PageTableB PageTableUser A: Virtual Memory∞00Physical Memory64 MBCS61C L35 VM I (18)Garcia © 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 L35 VM I (19)Garcia © UCBNotes on Page Table• Solves Fragmentation problem: all chunkssame size, so all holes can be used• OS must reserve “Swap Space” on disk foreach process• To grow a process, ask Operating


View Full Document

Berkeley COMPSCI 61C - Lecture 35 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 35 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 35 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 35 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?