三十一、具有快表的地址变换机构

一、知识总览

在这里插入图片描述

二、什么是快表

在这里插入图片描述

在这里插入图片描述

三、引入快表后,地址的变换过程

1.CPU给出逻辑地址,由某个硬件算得页号、页内偏移量,将页号与快表中所有页号进行比较。

2.如果找到匹配的页号,说明要访问的页表项在快表中有副本,则直接从中取出该页对应的内存块号,再将内存块号与页内偏移量拼接形成物理地址,最后,访问该物理地址对应的内存单元。因此,若快表命中,则访问某个逻辑地址仅仅需要一次访存即可。

3.如果没有找到匹配的页号,则需要访问内存中的页表,找到对应页表项,得到页面存放的内存块号,再将内存块号与页内块号与页内偏移量拼接形成物理地址,最后,访问该物理地址对应的内存单元。因此,若快表未命中,则访问某个逻辑地址需要两次访存。

注意:在找到页表项后,应同时将其存入快表,以便后面可能的再次访问。但若快表已满,则必须按照一定的算法对旧的页表项进行替换。

在这里插入图片描述

在这里插入图片描述

四、局部性原理

在这里插入图片描述

五、总结

在这里插入图片描述

注意:TLB和普通Cache的区别-----TLB中只有页表项的副本,而普通的Cache中可能会有其他各种数据的副本!!!!

猜你喜欢

转载自blog.csdn.net/zhaozhiwei314/article/details/113802757