Memory Management Unit & X86 Protected Mode

Memory Management Unit & X86 Protected Mode

Memory Management Unit & x86 Protected Microcontrollers Mode and Microprocessors Microprocessors and Microcontrollers – Undergraduate Mohammad Sadegh Sadri - Course – Isfahan University of Technolog Mohammad Sadegh Sadri 1 Table of Contents • Virtual Memory • Memory Page Protection • Translation Lookaside Buffer • Memory Management Unit • BIOS • X86 Protected Mode Microcontrollers Microprocessors and Microprocessors Mohammad Sadegh Sadri - 2 Multi tasking kernel • Multiple processes at the same time • Each process needs its own memory • Libraries • Static libraries • Shared libraries • Processes may violate access rules Microcontrollers Microprocessors and Microprocessors Mohammad Sadegh Sadri - 3 Virtual Memory • On a Multi-process platform • Every process sees the same address space • Every process has the same entry point • So, the application designer need not to be worry about memory addresses and … • Debugging is easy • There is a mapping between Microcontrollers • Virtual address of each process and Microprocessors • Physical memory Mohammad Sadegh Sadri - • Physical memory • Physical RAM (fast limited space) • Physical Disk or flash memory (low large space) 4 Virtual Memory • Process Thinks • It has access to a • Large • Continuous memory region • In real • It is not true! Microcontrollers Microprocessors and Microprocessors Mohammad Sadegh Sadri - 5 Segmented Virtual Addressing • Not used in today systems • Basic idea • You can keep separate segment register address for each process • To obtain physical memory address • Offset value provided by process is combined with segment value Microcontrollers Microprocessors and Microprocessors Mohammad Sadegh Sadri - 6 Paged Virtual Addressing • We divide memory into pages • We create a mapping • Between virtual page number and physical page number • Each time a process executes • A number of memory pages will be allocated to process • Memory pages may be added or deleted from process space Microcontrollers Microprocessors and Microprocessors Mohammad Sadegh Sadri - 7 Paged Virtual Memory Physical Memory Virtual Addr Physical Addr 0x100**** Process 1 0x101**** 0x102**** 0x103**** Page Table Microcontrollers Microprocessors and Microprocessors Virtual Addr Physical Addr Mohammad Sadegh Sadri - Process 2 0x100**** 0x101**** 0x102**** 8 0x103**** Page Table Physical Memory Multi-Level Paged Virtual Addr Physical Addr 0x**100**** Virtual Memory 0x**101**** 0x**102**** Virtual Addr Physical Addr 0x**100**** Virtual Addr Physical Addr 0x**101**** 0x01******* 0x**102**** 0x02******* Process 0x03******* Virtual Addr Physical Addr 0x**100**** Microcontrollers 0x04******* Microprocessors and Microprocessors 0x**101**** 0x05******* Mohammad Sadegh Sadri - 0x**102**** Virtual Addr Physical Addr 0x**100**** 9 0x**101**** 0x**102**** Paging Supervisor • Every time a memory page is accessed • A time stamp will be updated • Process with no activity • Memory pages are not required to be stored in physical RAM • A “page file” will be created on disk • Holds “not used” memory pages • When the process activates again Microcontrollers • Tries to access the specified page and Microprocessors • Page no longer exist in memory Mohammad Sadegh Sadri - • A page fault exception will occur • Exceptions are similar to interrupts 10 • A routine will be executed to serve the exception Page Permissions • Each Page has its own set of permissions • Some pages are read-only • Some pages are specific to one process • Some pages can be accessed globally • Page table also contains permissions for each page Microcontrollers Microprocessors and Microprocessors Mohammad Sadegh Sadri - 11 Memory Management Unit • A computer hardware • Responsible for handling accesses to memory requested by CPU • Tasks • Virtual to physical address translation • Memory protection • Cache Control • … Microcontrollers Microprocessors and Microprocessors Mohammad Sadegh Sadri - 12 Translation Lookaside Buffer • Page Tables • Hold entire mapping between virtual memory and physical memory • Page tables are big! • Complete page table can be stored in main memory • Translation Lookaside Buffer: • A CPU Cache • Used by MMU • To improve • Virtual address translation speed Microcontrollers • TLB and Microprocessors • Is usually a CAM (Content Addressable Memory) Mohammad Sadegh Sadri - • Virtual address (mainly upper bits)(CAM search key) • output: Equivalent physical address (again the upper bits)(CAM search result) • TLB hit: found the translation 13 • TLB miss: not found! Look at the main “page table” (page walk) Translation Lookaside Buffer(2) • TLB can be located • Between CPU core and cache • Stored cache addresses are physical • Between cache and memory • Stored cache addresses are virtual • … • TLB in Harvard Architecture • Data side TLB Microcontrollers • Instruction side TLB and Microprocessors • Cache access can happen in parallel with TLB lookup Mohammad Sadegh Sadri - • Software loaded TLB • Operating system is responsible for updating TLB entries • Hardware loaded TLB 14 • Updates on TLB are hidden from OS (dedicated hardware) A Typical TLB • Size : 4096 entries • Hit time : 1 clock cycle • Miss penalty : 100 clock cycles • Miss rate : 1% • A brief talk on TLB contents while switching context Microcontrollers Microprocessors and Microprocessors Mohammad Sadegh Sadri - 15 X86 Protected Mode • Basically x86 has two modes of operation • Real mode : addresses seen by processes are physical ones • Protected mode : • Memory paging can be activated • Virtual addressing will become enabled • Memory protection mechanism are activated • Larger physical address range • Very useful for multi-tasking environments Microcontrollers Microprocessors and Microprocessors Mohammad Sadegh Sadri - 16.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us