title: Does the MMU mediate everything between the operating system and physical memory or is it just an address translator?
body: <p>I'm trying to understand how does an operating system work when we want to assign some value to a particular virtual memory address.</p>
  
  <p>My first question concerns whether the MMU handles everything between the CPU and the RAM. Is this true? From what one can read from Wikipedia, I'd say so:</p>
  
  <blockquote>
    <p>A memory management unit (MMU), sometimes called paged memory
    management unit (PMMU), is a computer
    hardware component responsible for
    handling accesses to memory requested
    by the CPU.</p>
  </blockquote>
  
  <p>If that is the case, how can one tell the MMU I want to get 8 bytes, 64 or 128bytes, for example? What about writing?</p>
  
  <p>If that is not the case, I'm guessing the MMU just translates virtual addresses to physical ones?</p>
  
  <p>What happens when the MMU detects there will be what we call a page-fault? I guess it has to tell it to the CPU so the CPU loads the page itself off disk, or is the MMU able to do this?</p>
  
  <p>Thanks</p>