Linux内存从0到1学习笔记(四,TLB)
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内存从0到1学习笔记(四,TLB)相关的知识,希望对你有一定的参考价值。
一、TLB简介
Kernel初始化的时候,会在初始化内存中创建页表;而处理器读取指令和数据的时候需要首先通过MMU查表得到物理地址,然后在访问物理地址读取指令或数据。MMU查表过程汇中需要4次访问内存,因此MMU的引入大大影响了处理器性能。那么TLB(地址翻译缓冲器 Translation Lookaside Buffer,又称块表)的引入可以缓解这种情况。
TLB是高速缓存第一种,其缓存了从虚拟地址到物理地址的翻译结果,这里的翻译结果就是我们常说的物理地址,TLB将查表得到的物理地址存储在TLB表项中。有了TLB,当处理器需要访问内存的时候,会首先从TLB中查找是否有对应的表项,如果TLB命中,就省去了MMU查表的过程,大大提高了处理器访问内存的速率,提升系统性能;
二、TLB映射方式
TLB的映射方式与Cache类似,包括全相联,直接映射和组内映射,具体可参考:Linux内存从0到1学习笔记(三,高速缓存)_从0到1,突破自己-CSDN博客
以上是关于Linux内存从0到1学习笔记(四,TLB)的主要内容,如果未能解决你的问题,请参考以下文章
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)
Linux内存从0到1学习笔记(8.7 DMA-BUF代码解读)
Linux内存从0到1学习笔记(8.7 DMA-BUF代码解读)