当前位置: 首页 > news >正文

内存页和TLB缓存

内存页和TLB缓存

      • 一、什么是内存页(Memory Page)
      • 二、TLB缓存(Translation Lookaside Buffer)
        • 背景知识:
        • TLB 的作用:
      • 三、举个例子帮助理解
      • 四、总结一句话

内存页(Memory Page)TLB缓存(Translation Lookaside Buffer) 都与计算机的内存管理机制相关,特别是虚拟内存系统。


一、什么是内存页(Memory Page)

内存页 是操作系统管理内存时使用的最小单位。在现代计算机系统中,内存被划分为固定大小的块,每个块就是一个“页”。

属性说明
大小通常为 4KB(但也可以是 8KB、16KB 等,取决于系统架构)
作用简化内存管理、实现虚拟内存、支持内存隔离(进程间不互相干扰)
虚拟页 vs 物理页每个进程看到的是“虚拟地址空间”,操作系统通过页表将虚拟页映射到实际的物理内存页上。
优点减少内存碎片、支持按需加载(lazy loading)、实现内存共享(如共享库)和写时复制(Copy-on-Write)

二、TLB缓存(Translation Lookaside Buffer)

TLB 是一种特殊的硬件缓存,用于加速虚拟地址到物理地址的转换过程

背景知识:
  • 每次程序访问内存时,CPU 需要将虚拟地址转换为物理地址。
  • 这个转换通过查询**页表(Page Table)**完成,但页表通常很大,存储在主存中,访问速度慢。
TLB 的作用:
  • 缓存最近使用过的虚拟页号 → 物理页号的映射关系。
  • 如果 TLB 命中(TLB hit),地址转换几乎瞬间完成;
  • 如果 TLB 未命中(TLB miss),则需要去主存查页表,代价较高。
属性说明
位置位于 CPU 内部,靠近 MMU(内存管理单元)
速度极快(比访问主存快几个数量级)
大小通常只有几十到几百项(例如 64 项、128 项等)
命中率影响TLB 命中率对程序性能影响很大,尤其是对大内存访问的程序(如数据库、虚拟机)
刷新机制进程切换时,TLB 通常会被刷新(因为不同进程的虚拟地址空间不同),但现代 CPU 支持“进程标签”减少刷新开销

三、举个例子帮助理解

假设你在运行一个程序,它访问地址 0x00403000

  1. CPU 将该虚拟地址拆分为:页号 + 页内偏移
  2. 检查 TLB 是否有这个页号的映射:
    • 有 → 直接得到物理页号,访问内存。
    • 没有 → 去查页表,找到物理页号,再更新 TLB。
  3. 如果频繁访问同一个区域(比如循环遍历数组),TLB 命中率会很高,程序运行就快。

四、总结一句话

内存页 是操作系统管理内存的“块单位”,而 TLB 缓存 是加速“虚拟地址翻译成物理地址”的硬件机制。

http://www.dtcms.com/a/356628.html

相关文章:

  • 计算机专业考研备考建议
  • 前端缓存问题详解
  • CollageIt:简单易用的照片拼贴工具
  • 代理IP服务器平台推荐,企业级动态住宅IP资源哪里找?
  • 在做题中学习(93):最长公共子序列的长度
  • 1.6 GPU Usage简介
  • 算法题打卡力扣第1004. 最大连续1的个数 III(mid)
  • useEffect用法
  • Git 版本管理核心实践与问题解决手册
  • 群晖Nas上使用工具rsync工具usb同步数据
  • 计算机视觉与深度学习 | 视觉里程计技术全景解析:从原理到前沿应用
  • cloudflare-ddns
  • 过滤器和拦截器的区别?
  • 企业内网与互联网网络安全改造升级深度解析
  • Elasticsearch AI 语义搜索(semantic_text)
  • eslasticsearch+ik分词器+kibana
  • Linux系统部署:Certbot 实现 Nginx 自动续期部署 Let‘s Encrypt 免费 SSL 证书
  • matlab矩阵生成stl格式文件,适用于多孔介质图形生成
  • IAR工程如何生成compile_commands.json文件(能生成但是clangd不能生成“.cache文件”)
  • Spark算子调优
  • AAA服务器
  • Mock 在 API 研发中的痛点、价值与进化及Apipost解决方案最佳实践
  • 3.1 DataStream API 编程模型
  • YARN架构解析:深入理解Hadoop资源管理核心
  • Ubuntu 服务器 KERNEL PANIC 修复实录
  • Java-面试八股文-Mysql篇
  • 【前端教程】从性别统计类推年龄功能——表单交互与数据处理进阶
  • IDEA之GO语言开发
  • cssword属性
  • 深度拆解 OpenHarmony 位置服务子系统:从 GNSS 到分布式协同定位的全链路实战