I'm going through different material to understand what's the behavior when a x86 instruction access memory (implicitly or explicitly). So far, I believe this is the step-by-step process:
- Effective address is calculated based on the DS,
- If page containing the address is not present:
- The TLB is checked for the page containing the address to be accessed,
- If not present in the TLB: the MMU translates the virtual address to a physical address
- add the new translation to the TLB
- Load the page
- The TLB is checked for the page containing the address to be accessed,
- Access the page
Is this correct? What am I missing?