TLB是什么?
TLB是基于cache思想的一个设备,目的是为了增加访存速度。
在上文中,由于页表本身也是存放在内存中的数据,如果要通过逻辑地址->物理地址的转换。那么整个访存过程应该是:
可见,在整个程序通过逻辑地址访存的过程中其实是经过了两次内存的访问。由于CPU本身速度大于内存速度。所以执行的效率就变慢了。
解决的方案的思路是计组中内存与CPU之间的处理方案。
我们在CPU上提供一个TLB,这个TLB是由相关存储器实现的,由于其靠近CPU,速度很快,所以访存速度一定程度上得到了减少
TLB的结构是这样的
在此基础上,逻辑地址到物理地址的转换部分就发生了改变。
以下是加入了TLB之后的程序根据逻辑地址查询对应页帧的过程
总结:
对于加入TLB的转换模型中:
- 我们CPU中的MMU优先查询的是TLB,因为TLB很快。
- 当TLB出现miss的情况,则需要查