news 2026/5/30 15:55:08

Translation Lookaside Buffer (TLB) in Paging --- Effective memory access time(EMAT)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Translation Lookaside Buffer (TLB) in Paging --- Effective memory access time(EMAT)

Translation Lookaside Buffer (TLB) in Paging

以上文章有如下一段话

Effective memory access time(EMAT)

TLB is used to reduce adequate memory access time as it is a high-speed associative cache.

EMAT=h×(c+m)+(1−h)×(c+nm)

where:

  • h is the hit ratio of the TLB,
  • m is the memory access time,
  • c is the TLB access time and
  • n represents the system level.

And the system level can be represented as follows:

1 --> No page table.

2 --> One page table.

3 --> Two page tables

问题1,

请解释一下Effective memory access time(EMAT),EMAT=h×(c+m)+(1−h)×(c+nm),为什么不是 EMAT=h×c + (1−h)×(c+nm)

deep seek对问题1的回答,

问题2,

在问题1的deep seek回复中,有如上的一段描述。

那么,我想知道:

其中的n*m有一个当n=1的情况。当n=1时,意味着仅访问一次页表,那么它不访问目标数据了么?

Deep Seek对问题2的回答,

问题3,

以上图片是你刚刚在回答TLB的EMAT公式的时候给出的部分内容,

请问,

"仅当目标数据已在缓存cache中时,数据访问时间可忽略: 场景:页表遍历后,若数据恰在cache中(cache hit),则m退化为缓存访问时间(远小于主存m)。“。

如果按照你说的目标数据已经在缓存cache中,为什么还要遍历页表?为什么还需要查询TLB快表?

您提出的问题非常精准,确实点出了内存访问流程中一个关键且容易混淆的逻辑顺序。我之前的描述可能造成了误解,为您澄清如下:

虚拟地址到物理地址的转换,是访问任何数据(无论是否在Cache中)的绝对前提。Cache系统使用物理地址(少量L1 Cache可能使用虚拟地址,但最终仍需物理地址保证一致性)来查找和匹配数据。因此,流程是严格串行的:

  1. 必经的第一步:虚拟地址 → 物理地址

    • CPU执行单元发出的内存访问请求,携带的是虚拟地址

    • 为了访问物理内存或Cache,必须首先通过查询TLB(Translation Lookaside Buffer,即页表缓存)将虚拟地址转换为物理地址

    • 如果TLB未命中,则需查询存储在物理内存中的页表(即“页表遍历”)来完成地址转换。

  2. 后续的第二步:使用物理地址访问数据

    • 获得物理地址后,CPU才用这个物理地址去查询Cache。

    • 如果Cache命中,则直接从高速缓存中获取数据,耗时极短。

    • 如果Cache未命中,则需访问主内存来获取数据。

所以,“数据已在Cache中”并不意味着可以跳过地址转换步骤,而是指在地址转换之后的数据获取环节非常快。

重新审视EMAT公式中的场景

我提到的场景:“页表遍历后,若数据恰在cache中”,其正确的完整流程和理解应为:

  1. TLB查询:CPU用虚拟地址查询TLB。如果命中,立刻获得物理地址,然后跳至第3步。如果未命中,进入第2步。

  2. 页表遍历:TLB未命中,需要去物理内存中查询页表,得到物理地址。这个过程较慢,耗时约为 m(主存访问时间)。

  3. Cache查询:获得物理地址后,用其查询Cache。

    • 如果Cache命中:数据直接从Cache中读取。此时,虽然地址转换可能经历了较慢的页表遍历(耗时 m),但数据获取本身非常快。因此,总时间主要由耗时的页表遍历决定,看起来就像是 m 退化成了Cache的访问时间。

    • 如果Cache未命中:则需要再用物理地址访问主存获取数据,总时间将是页表遍历时间 m + 主存访问时间 m,即 2m。

简单来说,只要TLB未命中,就必须进行页表遍历,无论数据最终是否在Cache中。Cache的命中只能节省数据搬运的时间,但节省不了地址翻译的时间。

感谢您的追问,这帮助澄清了一个至关重要的细节。希望这次的解释能够准确地解答您的疑问。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 15:53:42

ImageToSTL:从平面到立体的智能浮雕生成方案

ImageToSTL:从平面到立体的智能浮雕生成方案 【免费下载链接】ImageToSTL This tool allows you to easily convert any image into a 3D print-ready STL model. The surface of the model will display the image when illuminated from the left side. 项目地址…

作者头像 李华
网站建设 2026/5/30 15:53:15

告别手动下载镜像!巧用银河麒麟V10自带备份文件,5分钟搞定yum源配置

银河麒麟V10隐藏技巧:5分钟激活预置yum源的高效方案当您第一次接触银河麒麟V10服务器时,是否曾被繁琐的yum源配置流程困扰?传统方法需要下载镜像、挂载ISO、手动创建目录等一系列操作,整个过程至少消耗半小时。但今天我要分享一个…

作者头像 李华
网站建设 2026/5/30 15:53:04

暗黑破坏神2存档编辑器:终极免费工具完全指南

暗黑破坏神2存档编辑器:终极免费工具完全指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否厌倦了在暗黑破坏神2中反复刷装备?是否想自定义角色属性来体验不同的游戏玩法?d2s-editor正…

作者头像 李华
网站建设 2026/5/30 15:49:56

基于Azure Custom Vision与Python的智能垃圾分类系统实战

1. 项目概述与核心价值 最近在折腾一个挺有意思的玩意儿:用摄像头和AI来给垃圾自动分类。听起来是不是有点未来感?其实背后的技术已经相当成熟了,核心就是图像分类。简单来说,就是让电脑学会像人一样,看一眼图片就知道…

作者头像 李华