一、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学习笔记(4,TLB)相关推荐

  1. Linux内存从0到1学习笔记(11.2 内存优化方案之内存压缩zram)

    写在前面 zram是Linux内核提供的一种虚拟内存压缩功能,通过在将一部分内存模拟成块设备,并将压缩后的内存写到这部分模拟的块设备中,直到必须使用硬盘上的交换空间,zram 本质是就是一个块设备. ...

  2. Linux内存从0到1学习笔记(6.6,物理内存初始化之预留内存)

    写在前面 前面的章节中有提到过,memblock分配器会将内存划分为动态管理的内存(保存在memblock的memory type的数组)和静态预留的内存(保存在memblock的reserved t ...

  3. Linux内存从0到1学习笔记(6.7,物理内存初始化之CMA初始化)

    写在前面 CMA (contiguous memory allocator)连续内存分配器,被开发用于分配大的.物理连续的内存块,其底层还是依赖内核伙伴系统这样的内存管理机制.通过这套机制,在设备驱动 ...

  4. Linux内存从0到1学习笔记(9.1,内存优化调试之kswapd0触发原理)

    写在前面 Linux内核中有一个非常重要的内核线程kswapd,它负责在内存不足时回收页面.kswapd内核线程初始化时会为系统中每个内存结点创建一个名为"kswapd%"内核线程 ...

  5. Linux内存从0到1学习笔记(8.5,CMA内存分配)

    CMA是通过cma_alloc分配的.cma_alloc() --> alloc_contig_range(..., MIGRATE_CMA,...),向刚才释放给buddy system的MI ...

  6. Linux与C++11多线程编程(学习笔记)

    多线程编程与资源同步 在Windows下,主线程退出后,子线程也会被关闭; 在Linux下,主线程退出后,系统不会关闭子线程,这样就产生了僵尸进程 3.2.1创建线程 Linux 线程的创建 #inc ...

  7. 【C#8.0 and .NET Core 3.0 高级编程学习笔记】

    @C#8.0 and .NET Core 3.0 高级编程学习笔记 前言 为了能精细地完成对C#语言的学习,我决定选择一本书,精读它,理解它,记录它.我想选择什么书并不是最重要的,最重要的是持之以恒的 ...

  8. 《嵌入式Linux内存使用与性能优化》笔记

    <嵌入式Linux内存使用与性能优化>笔记 这本书有两个关切点:系统内存(用户层)和性能优化. 这本书和Brendan Gregg的<Systems Performance>相 ...

  9. 2017-2-15从0开始前端学习笔记(HTML)-图片-表格-表单

    2017-2-15从0开始前端学习笔记-图片-表格-表单 标签 图片 图片<img src="#" alt="文本说明 不能加载图片时显示" title= ...

最新文章

  1. 由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起
  2. mysql存储过程打不开了_请问mysql存储过程的问题,我找了几个例子一个都运行不起来,...
  3. 中国大学MOOC 人工智能导论第三章测试
  4. wps office oa控件 痕迹_WPS,Excel,哪个好用?其实真的好用的,是这个工具
  5. SQL SERVER的锁机制(四)——概述(各种事务隔离级别发生的影响)
  6. 专门讲讲这个MYSQL授权当中的with grant option的作用
  7. 【数电】(二) 基本逻辑运算与逻辑门电路
  8. MFC socket编程
  9. 排序系列 之 堆排序算法 —— Java实现
  10. C语言项目-俄罗斯方块
  11. Cocos2dx入门
  12. python爬取双色球2003-2022年所有数据
  13. java月亮代码_Java编程实现月食简单代码分享
  14. 【180628】VC++方格益智小游戏
  15. excel分列---多页批量操作--vba宏实现
  16. 社会化媒体营销方案简介
  17. UMA Frame Buffer Size 核显显存与CSGO帧率
  18. 分享给大家一个比较装逼的小代码
  19. photoshop2021正式版上线,photoshop 2021 mac
  20. POJ3414-Pots

热门文章

  1. 杨元原博士国密课堂 · 第三期 | 商用密码应用安全性评估:IPSecVAN协议的原理和测评验证(一)
  2. linux中文镜像文件iso下载地址,linux系统镜像iso文件下载
  3. 浅淡XSS跨站脚本攻击的防御方法
  4. postgres导入excel_将Excel数据导入PostgreSQL 9.3
  5. 2020年第十一届蓝桥杯javaB组国赛
  6. Sourcetree安装跳过Bitbucker登录
  7. CGAL 求三维体数据的交并差(三维布尔运算)
  8. 安卓刘海屏沉浸式(内容绘制到底部,隐藏底部导航栏,状态栏背景颜色为透明)
  9. 好系统重装助手如何查看win7电脑的主板型号
  10. 解决Godaddy付款时的There was a problem processing your transaction. Please verify your payment information