Interactive lecture at http://test.scalable-learning.com, enrollment key YRLRX-25436.
Virtual memory is an indirection between the program addresses (virtual addresses VA) and RAM addresses (physical addresses PA). It lets us use more memory than we have RAM, keep program address spaces flat, and provide isolation/security between programs.
Need a translation for every access: use a Translation Lookaside Buffer (TLB) to cache page table entries for faster accesses.
Need to integrate caches and translation: VIPT caches do translation and tag lookup in parallel for performance.