[TOC] > 快表,直译为旁路快表缓冲,也可以理解为页表缓冲,地址变换高速缓存。 TLB是一种高速缓存,内存管理硬件使用它来改善虚拟地址到物理地址的转换速度. ## TLB原理 > 当cpu要访问一个虚拟地址/线性地址时,CPU会首先根据虚拟地址的高20位(这里是针对20来说的)在TLB中查找。如果是表中没有相应的表项,称为TLB miss,需要通过访问慢速RAM中的页表计算出相应的物理地址。同时,物理地址被存放在一个TLB表项中,以后对同一线性地址的访问,直接从TLB表项中获取物理地址即可,称为TLB hit。 ## TLB表项 > TLB内部存放的基本单位是页表条目,对应着RAM中存放的页表条目。页表条目的大小固定不变的,所以TLB容量越大,所能存放的页表条目越多,TLB hit的几率也越大。但是TLB容量毕竟是有限的,因此RAM页表和TLB页表条目无法做到一一对应。因此CPU收到一个线性地址,那么必须快速做两个判断: - 所需的也表示否已经缓存在TLB内部(TLB miss或者TLB hit) - 所需的页表在TLB的哪个条目内