TLB(Translation Lookaside Buffer)传输后备缓冲器是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存。
TLB是一个小的,虚拟寻址的缓存,其中每一行都保存着一个由单个PTE组成的块。如果没有TLB,则每次取数据都需要两次访问内存,即查页表获得物理地址和取数据。
-
中文名
-
传输后备缓冲器
-
外文名
-
Translation Lookaside Buffer
-
简 称
-
TLB
-
性 质
-
内存管理单元
目录
- 1基本信息
- ▪英文缩写
- ▪库文件
- 2缓冲区
- ▪基本概念
- ▪内部组成
TLB基本信息
编辑
TLB英文缩写
Translation Lookaside Buffer的缩写,用于虚拟地址与实地址之间的交互,提供一个寻找实地址的缓存区,能够有效减少寻找物理地址所消耗时间。
TLB库文件
OLE库文件,其中存放了 OLE自动化对象的数据类型、模块和接口定义, 自动化服务器通过TLB文件就能了解自动化对象的使用方法。
TLB缓冲区
编辑
TLB基本概念
TLB:Translation lookaside buffer,即旁路转换缓冲,或称为 页表缓冲;里面存放的是一些页表文件( 虚拟地址到 物理地址的转换表)。
又称为 快表技术。由于“页表”存储在 主存储器中,查询页表所付出的代价很大,由此产生了TLB。
X86保护模式下的 寻址方式:段式 逻辑地址—〉线形地址—〉页式地址;
页式地址=页面起始地址+页内 偏移地址;
对应于虚拟地址:叫page(页面);对应于物理地址:叫frame( 页框);
X86体系的 系统内存里存放了两级页表,第一级页表称为页目录,第二级称为页表。
TLB和CPU里的一级、二级 缓存之间不存在本质的区别,只不过前者 缓存页表数据,而后两个缓存实际数据。
TLB内部组成
1:TLB在X86体系的CPU里的实际应用最早是从Intel的486CPU开始的,在X86体系的CPU里边,一般都设有如下4组TLB:
第一组:缓存一般 页表(4K字节页面)的指令页表缓存(Instruction-TLB);
第二组:缓存一般页表(4K字节页面)的数据页表缓存(Data-TLB);
第三组:缓存大尺寸页表(2M/4M字节页面)的指令页表缓存(Instruction-TLB);
第四组:缓存大尺寸页表(2M/4M字节页面)的数据页表缓存(Data-TLB);
2:TLB命中和TLB失败
如果TLB中正好存放着所需的 页表,则称为TLB命中(TLB Hit);如果TLB中没有所需的页表,则称为TLB失败(TLB Miss)。
3: TLB条目数 即TLB里面可以存储的表项数目,一般也叫entry数。
4:TLB的联合方式
1〉全相联方式:Athlon XP
2〉组相联方式:P4
当CPU执行机构收到应用程序发来的 虚拟地址后,首先到TLB中查找相应的页表数据,如果TLB中正好存放着所需的页表,则称为TLB命中(TLB Hit),接下来CPU再依次看TLB中页表所对应的 物理内存地址中的数据是不是已经在一级、二级缓存里了,若没有则到内存中取相应地址所存放的数据。既然说TLB是内存里存放的页表的 缓存,那么它里边存放的数据实际上和内存页表区的数据是一致的,在内存的页表区里,每一条记录虚拟页面和物理 页框对应关系的记录称之为一个页表条目(Entry),同样地,在TLB里边也缓存了同样大小的页表条目(Entry)。