用一个具体的例子,将TLB,MMU,VPN,PPN,PTE,L1 d-cache联系起来.
先对例子的环境做些assumptions:
- 内存是按序访问的
- 每次访问一个字节
- 虚拟地址共14位
- 物理地址共12位
- 页大小是64字节
- TLB是四路组相联
- L1 d-cache是物理寻址。
VA(vitual address)由VPN与VPO组成
PA(physical address)分为PPN与PPO,PA的计算需要MMU
TLB表是四路组相联,一个虚拟地址(VA)中,先提取出VPN部分,VPN又被分成TLBT(标志部分)和TLBI(索引部分),然后再TLB表中匹配,若成功,则得出PPN,加上虚拟地址的另一部分VPO,MMU把它们合并成PA。