virtual memory concepts 15 213 introduc0on to computer
play

Virtual Memory: Concepts 15-213: Introduc0on to Computer - PowerPoint PPT Presentation

Carnegie Mellon Virtual Memory: Concepts 15-213: Introduc0on to Computer Systems 15 th Lecture, Oct. 14, 2010 Instructors: Randy Bryant and Dave OHallaron


  1. Carnegie Mellon Virtual ¡Memory: ¡Concepts ¡ 15-­‑213: ¡Introduc0on ¡to ¡Computer ¡Systems ¡ ¡ 15 th ¡Lecture, ¡Oct. ¡14, ¡2010 ¡ Instructors: ¡ ¡ Randy ¡Bryant ¡and ¡Dave ¡O’Hallaron ¡ 1

  2. Carnegie Mellon Today ¡ ¡ ¡  Address ¡spaces ¡  VM ¡as ¡a ¡tool ¡for ¡caching ¡  VM ¡as ¡a ¡tool ¡for ¡memory ¡management ¡  VM ¡as ¡a ¡tool ¡for ¡memory ¡protec;on ¡  Address ¡transla;on ¡ 2

  3. Carnegie Mellon A ¡System ¡Using ¡Physical ¡Addressing ¡ Main ¡memory ¡ 0: ¡ 1: ¡ 2: ¡ Physical ¡address ¡ 3: ¡ (PA) ¡ CPU ¡ 4: ¡ 4 5: ¡ 6: ¡ 7: ¡ 8: ¡ ... ¡ M-­‑1: ¡ Data ¡word ¡  Used ¡in ¡“simple” ¡systems ¡like ¡embedded ¡microcontrollers ¡in ¡ devices ¡like ¡cars, ¡elevators, ¡and ¡digital ¡picture ¡frames ¡ 3

  4. Carnegie Mellon A ¡System ¡Using ¡Virtual ¡Addressing ¡ Main ¡memory ¡ 0: ¡ CPU ¡Chip ¡ 1: ¡ 2: ¡ Virtual ¡address ¡ Physical ¡address ¡ 3: ¡ (VA) ¡ (PA) ¡ CPU ¡ MMU ¡ 4: ¡ 4 4100 5: ¡ 6: ¡ 7: ¡ 8: ¡ ... ¡ M-­‑1: ¡ Data ¡word ¡  Used ¡in ¡all ¡modern ¡servers, ¡desktops, ¡and ¡laptops ¡  One ¡of ¡the ¡great ¡ideas ¡in ¡computer ¡science ¡ 4

  5. Carnegie Mellon Address ¡Spaces ¡  Linear ¡address ¡space: ¡ Ordered ¡set ¡of ¡con0guous ¡non-­‑nega0ve ¡integer ¡ addresses: ¡ ¡ ¡{0, ¡1, ¡2, ¡3 ¡… ¡} ¡  Virtual ¡address ¡space: ¡ Set ¡of ¡N ¡= ¡2 n ¡virtual ¡addresses ¡ ¡ ¡{0, ¡1, ¡2, ¡3, ¡…, ¡N-­‑1} ¡  Physical ¡address ¡space: ¡ Set ¡of ¡M ¡= ¡2 m ¡physical ¡addresses ¡ ¡ ¡{0, ¡1, ¡2, ¡3, ¡…, ¡M-­‑1} ¡  Clean ¡dis;nc;on ¡between ¡data ¡(bytes) ¡and ¡their ¡aVributes ¡(addresses) ¡  Each ¡object ¡can ¡now ¡have ¡mul;ple ¡addresses ¡  Every ¡byte ¡in ¡main ¡memory: ¡ ¡ one ¡physical ¡address, ¡one ¡(or ¡more) ¡virtual ¡addresses ¡ 5

  6. Carnegie Mellon Why ¡Virtual ¡Memory ¡(VM)? ¡  Uses ¡main ¡memory ¡efficiently ¡  Use ¡DRAM ¡as ¡a ¡cache ¡for ¡the ¡parts ¡of ¡a ¡virtual ¡address ¡space ¡  Simplifies ¡memory ¡management ¡  Each ¡process ¡gets ¡the ¡same ¡uniform ¡linear ¡address ¡space ¡  Isolates ¡address ¡spaces ¡  One ¡process ¡can’t ¡interfere ¡with ¡another’s ¡memory ¡ ¡  User ¡program ¡cannot ¡access ¡privileged ¡kernel ¡informa0on ¡ 6

  7. Carnegie Mellon Today ¡ ¡ ¡  Address ¡spaces ¡  VM ¡as ¡a ¡tool ¡for ¡caching ¡  VM ¡as ¡a ¡tool ¡for ¡memory ¡management ¡  VM ¡as ¡a ¡tool ¡for ¡memory ¡protec;on ¡  Address ¡transla;on ¡ 7

  8. Carnegie Mellon VM ¡as ¡a ¡Tool ¡for ¡Caching ¡  Virtual ¡memory ¡is ¡an ¡array ¡of ¡N ¡con;guous ¡bytes ¡stored ¡ on ¡disk. ¡ ¡  The ¡contents ¡of ¡the ¡array ¡on ¡disk ¡are ¡cached ¡in ¡ physical ¡ memory ¡( DRAM ¡cache ) ¡  These ¡cache ¡blocks ¡are ¡called ¡ pages ¡ (size ¡is ¡P ¡= ¡2 p ¡bytes) ¡ Virtual ¡memory ¡ Physical ¡memory ¡ 0 ¡ VP ¡0 ¡ Unallocated ¡ 0 ¡ VP ¡1 ¡ Cached ¡ PP ¡0 ¡ Empty ¡ Uncached ¡ PP ¡1 ¡ Unallocated ¡ Empty ¡ Cached ¡ Uncached ¡ Empty ¡ Cached ¡ PP ¡2 m-­‑p -­‑1 ¡ M-­‑1 ¡ VP ¡2 n-­‑p -­‑1 ¡ Uncached ¡ N-­‑1 ¡ Virtual ¡pages ¡(VPs) ¡ ¡ Physical ¡pages ¡(PPs) ¡ ¡ stored ¡on ¡disk ¡ cached ¡in ¡DRAM ¡ 8

  9. Carnegie Mellon DRAM ¡Cache ¡Organiza;on ¡  DRAM ¡cache ¡organiza;on ¡driven ¡by ¡the ¡enormous ¡miss ¡penalty ¡  DRAM ¡is ¡about ¡ 10x ¡slower ¡than ¡SRAM ¡  Disk ¡is ¡about ¡ 10,000x ¡slower ¡than ¡DRAM ¡  Consequences ¡  Large ¡page ¡(block) ¡size: ¡typically ¡4-­‑8 ¡KB, ¡some0mes ¡4 ¡MB ¡  Fully ¡associa0ve ¡ ¡  Any ¡VP ¡can ¡be ¡placed ¡in ¡any ¡PP ¡  Requires ¡a ¡“large” ¡mapping ¡func0on ¡– ¡different ¡from ¡CPU ¡caches ¡  Highly ¡sophis0cated, ¡expensive ¡replacement ¡algorithms ¡  Too ¡complicated ¡and ¡open-­‑ended ¡to ¡be ¡implemented ¡in ¡hardware ¡  Write-­‑back ¡rather ¡than ¡write-­‑through ¡ 9

  10. Carnegie Mellon Page ¡Tables ¡  A ¡ page ¡table ¡ is ¡an ¡array ¡of ¡page ¡table ¡entries ¡(PTEs) ¡that ¡ maps ¡virtual ¡pages ¡to ¡physical ¡pages. ¡ ¡  Per-­‑process ¡kernel ¡data ¡structure ¡in ¡DRAM ¡ Physical ¡memory ¡ Physical ¡page ¡ (DRAM) ¡ number ¡or ¡ ¡ VP ¡1 ¡ PP ¡0 ¡ Valid ¡ disk ¡address ¡ VP ¡2 ¡ PTE ¡0 ¡ null ¡ 0 ¡ VP ¡7 ¡ 1 ¡ VP ¡4 ¡ PP ¡3 ¡ 1 ¡ 0 ¡ 1 ¡ Virtual ¡memory ¡ null ¡ 0 ¡ (disk) ¡ 0 ¡ PTE ¡7 ¡ 1 ¡ VP ¡1 ¡ Memory ¡resident ¡ VP ¡2 ¡ page ¡table ¡ VP ¡3 ¡ (DRAM) ¡ VP ¡4 ¡ VP ¡6 ¡ 10 VP ¡7 ¡

  11. Carnegie Mellon Page ¡Hit ¡  Page ¡hit: ¡ reference ¡to ¡VM ¡word ¡that ¡is ¡in ¡physical ¡memory ¡ (DRAM ¡cache ¡hit) ¡ Physical ¡memory ¡ Physical ¡page ¡ (DRAM) ¡ Virtual ¡address ¡ number ¡or ¡ ¡ VP ¡1 ¡ PP ¡0 ¡ Valid ¡ disk ¡address ¡ VP ¡2 ¡ PTE ¡0 ¡ null ¡ 0 ¡ VP ¡7 ¡ 1 ¡ VP ¡4 ¡ PP ¡3 ¡ 1 ¡ 0 ¡ 1 ¡ Virtual ¡memory ¡ null ¡ 0 ¡ (disk) ¡ 0 ¡ PTE ¡7 ¡ 1 ¡ VP ¡1 ¡ Memory ¡resident ¡ VP ¡2 ¡ page ¡table ¡ VP ¡3 ¡ (DRAM) ¡ VP ¡4 ¡ VP ¡6 ¡ VP ¡7 ¡ 11

  12. Carnegie Mellon Page ¡Fault ¡  Page ¡fault: ¡ reference ¡to ¡VM ¡word ¡that ¡is ¡not ¡in ¡physical ¡ memory ¡(DRAM ¡cache ¡miss) ¡ Physical ¡memory ¡ Physical ¡page ¡ (DRAM) ¡ Virtual ¡address ¡ number ¡or ¡ ¡ VP ¡1 ¡ PP ¡0 ¡ Valid ¡ disk ¡address ¡ VP ¡2 ¡ PTE ¡0 ¡ null ¡ 0 ¡ VP ¡7 ¡ 1 ¡ VP ¡4 ¡ PP ¡3 ¡ 1 ¡ 0 ¡ 1 ¡ Virtual ¡memory ¡ null ¡ 0 ¡ (disk) ¡ 0 ¡ PTE ¡7 ¡ 1 ¡ VP ¡1 ¡ Memory ¡resident ¡ VP ¡2 ¡ page ¡table ¡ VP ¡3 ¡ (DRAM) ¡ VP ¡4 ¡ VP ¡6 ¡ VP ¡7 ¡ 12

  13. Carnegie Mellon Handling ¡Page ¡Fault ¡  Page ¡miss ¡causes ¡page ¡fault ¡(an ¡excep0on) ¡ Physical ¡memory ¡ Physical ¡page ¡ (DRAM) ¡ Virtual ¡address ¡ number ¡or ¡ ¡ VP ¡1 ¡ PP ¡0 ¡ Valid ¡ disk ¡address ¡ VP ¡2 ¡ PTE ¡0 ¡ null ¡ 0 ¡ VP ¡7 ¡ 1 ¡ VP ¡4 ¡ PP ¡3 ¡ 1 ¡ 0 ¡ 1 ¡ Virtual ¡memory ¡ null ¡ 0 ¡ (disk) ¡ 0 ¡ PTE ¡7 ¡ 1 ¡ VP ¡1 ¡ Memory ¡resident ¡ VP ¡2 ¡ page ¡table ¡ VP ¡3 ¡ (DRAM) ¡ VP ¡4 ¡ VP ¡6 ¡ VP ¡7 ¡ 13

  14. Carnegie Mellon Handling ¡Page ¡Fault ¡  Page ¡miss ¡causes ¡page ¡fault ¡(an ¡excep0on) ¡  Page ¡fault ¡handler ¡selects ¡a ¡vic0m ¡to ¡be ¡evicted ¡(here ¡VP ¡4) ¡ Physical ¡memory ¡ Physical ¡page ¡ (DRAM) ¡ Virtual ¡address ¡ number ¡or ¡ ¡ VP ¡1 ¡ PP ¡0 ¡ Valid ¡ disk ¡address ¡ VP ¡2 ¡ PTE ¡0 ¡ null ¡ 0 ¡ VP ¡7 ¡ 1 ¡ VP ¡4 ¡ PP ¡3 ¡ 1 ¡ 0 ¡ 1 ¡ Virtual ¡memory ¡ null ¡ 0 ¡ (disk) ¡ 0 ¡ PTE ¡7 ¡ 1 ¡ VP ¡1 ¡ Memory ¡resident ¡ VP ¡2 ¡ page ¡table ¡ VP ¡3 ¡ (DRAM) ¡ VP ¡4 ¡ VP ¡6 ¡ VP ¡7 ¡ 14

  15. Carnegie Mellon Handling ¡Page ¡Fault ¡  Page ¡miss ¡causes ¡page ¡fault ¡(an ¡excep0on) ¡  Page ¡fault ¡handler ¡selects ¡a ¡vic0m ¡to ¡be ¡evicted ¡(here ¡VP ¡4) ¡ Physical ¡memory ¡ Physical ¡page ¡ (DRAM) ¡ Virtual ¡address ¡ number ¡or ¡ ¡ VP ¡1 ¡ PP ¡0 ¡ Valid ¡ disk ¡address ¡ VP ¡2 ¡ PTE ¡0 ¡ null ¡ 0 ¡ VP ¡7 ¡ 1 ¡ VP ¡3 ¡ PP ¡3 ¡ 1 ¡ 1 ¡ 0 ¡ Virtual ¡memory ¡ null ¡ 0 ¡ (disk) ¡ 0 ¡ PTE ¡7 ¡ 1 ¡ VP ¡1 ¡ Memory ¡resident ¡ VP ¡2 ¡ page ¡table ¡ VP ¡3 ¡ (DRAM) ¡ VP ¡4 ¡ VP ¡6 ¡ VP ¡7 ¡ 15

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend