4.13-TLB(地址转换后备缓冲器)
虚实地址转换过程中存在的问题

CPU访问数据逻辑
- 通过虚拟地址访问MMU,然后通过MMU访问虚拟地址与物理地址的映射页表
- 页表返回实际的物理地址,页表实际是放在主存中,只不过名字叫虚拟地址
- 根据物理地址再次访问主存,如果命中则直接返回,没有命中则从磁盘加载存入主存中
缺点:虚实地址转换过程中需要多次访问主存,来解决主存不足的问题,当没有命中(却页),需要从辅存向主存中替换的时候,需要相关算法淘汰策略,把对应的缺页放入到主存中,刚才的虚实地址访问是不成功的,所以刚才的指令是没有执行完成,所以那个指令再次进行虚地址,页表项地址,访问数据

TLB的工作原理
根据局部性原理,增加一个小容量,告诉存储部件,存放当前访问页表地址变换条目,该存储不见成为TLB(Translation Lookaside Buffer:地址转换后备缓冲器)实际就是对页表再次进行局部性原理的缩小,减少虚实地址转换时间TLB表类似页表,也是PTE的集合,为实现对TLB表的快速访问,类似于Cache中的映射方法,对来自于CPU的虚页号进行逻辑划分,得到相应的标记和索引字段
基于TLB的虚实地址转换

- 处理器基于虚地址访问MMU(VA)
- 对于虚地址进行划分剥离出虚页号,虚页号在TLB又进行划分,划分出TLB的tag,index,基于这个tag和index在TLB中寻找基于这个虚地址的物理页号(VPN)
- 找到之后返回物理页号(PPN),由于MMU中已经有虚地址的页内偏移地址,拼接出与虚地址相对应的主存物理地址
- 访问主存(PA)
- 返回数据

浙公网安备 33010602011771号