
基本参数
Note
n 虚拟地址的长度是多少位
N 总的长度大小,实际虚拟地址可以放多少字节
:物理地址空间中的地址数量
[!note]m 实际物理地址的长度是多少位
M 总的长度大小,内存的大小
:页的大小 (byte)
[!note]P 每一页的大小,也就是VPO
比如说:一个页是4kb大小,也就是2^12次方的B也就是VPO=12
虚拟地址的组成部分
物理地址
不管虚拟还是物理的,页大小都是 4kb
Components of the physical address (PA)
PPN PPO vpn 在列表条目中对应出来的值在物理地址中的位置 数值上是 VPOO PPO: Physical page offset (same as VPO)-物理页面偏移量
Link to original
PPN: Physical page number-物理页号
基于页表的地址翻译

- 页表基址寄存器
- 记录数组的起始地址
- 然后根据虚拟地址的虚拟页号 VPN,相当于页表数组的下标了,来找到自己的页表条目
- 然后看有效位是 0 还是 1
- 为 0,执行缺页处理程序
- 为 1,已经缓存了
- 取出来的就是 PPN
- 然后把虚拟地址的 VPO 抄过来就是 PPO
- 组合出来的就是 PA
- 然后就是第六章的访存那一套去读 cache
结合高速缓存和虚拟内存

利用 TLB 加速地址翻译
- 页表条目 (PTEs) 恰巧缓存在 L1
- PTE 可能被其他数据引用所驱逐
- PTE 命中仍然需要1-2周期的延迟
- 解决办法: Translation Lookaside Buffer (TLB)翻译后备缓冲器
- MMU中一个小的相联存储设备
- 实现虚拟页码向物理页码的映射
- 对于页码数很少的页表可以完全包含在TLB中
