MMU用于借助对应于该进程的页表将正在运行的进程的虚拟地址转换为物理地址。让我们假设虚拟地址空间等于物理地址空间的情况。在这种情况下,我们真的需要 MMU,因为我们不会遇到相同的虚拟地址空间映射到不同的物理地址的情况吗?
让我们说
Virtual Address
| 20 bits (V) | 12 bits(PO) |
Physical Address
| 20 bits(PPN) | 12 bits(PO) |
where V = Virtual Page
PO = Page offset
PPN = Physical Page Number
我们真的需要为每个进程提供页表吗?当有多个进程时可能会出现什么问题?
为简化起见,请忽略高速缓存。