Linux 内存管理(五)之转换后援缓存器(TLB)


前言

在传统的地址转换方式中,每次访问内存时,CPU 都需要通过页表来查找虚拟地址到物理地址的映射关系。这个过程需要多次内存访问,从而导致较大的延迟。为了减少这种延迟,引入了一种叫做 TLB 的缓存机制,将最近使用过的映射关系存储在高速缓存中。

一、高速缓存

TLB 实际上就是一种高速缓存,所以讲解 TLB 之前我们先来看一下什么是高速缓存。

为了缩小 CPU 和 RAM 之间的速度不匹配,引入了硬件高速缓存内存(hardware cachememory)。80x86 体系结构中引入了一个叫行的新单位。

硬件高速缓存基于著名的局部性原理(locality principle),该原理既适用程序结构和也适用数据结构。由于程序的循环结构及相关数组可以组织成线性数组,所以最近最常用的相邻地址在最近的将来又被用到的可能性极大。


当访问一个 RAM 存储单元时,CPU 从物理地址中提取出子集的索引号并把子集中所有行的标签与物理地址的高几位相比较。如果发现某一个行的标签与这个物理地址的高位相同,则 CPU 命中一个高速缓存(cache hit);否则,高速缓存没有命中(cache miss)。

当命中一个高速缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值