【硬件架构SOC】TLB作用、工作过程及应用场景

TLB作用、工作过程及应用场景

前言

前段事件接触全志嵌入式软件招聘,线下笔试有一道题是谈一谈TLB的作用,本人为此查询网上的资料,结合自己的经历做出总结。

TLB简介,作用

​ 页表一般都很大,并且存放在内存中,所以处理器引入MMU后,读取指令、数据需要访问两次内存:首先通过查询页表得到物理地址,然后访问该物理地址读取指令、数据。为了减少因为MMU导致的处理器性能下降,引入了TLB,TLB是Translation Lookaside Buffer的简称,可翻译为“地址转换后援缓冲器”,也可简称为“快表”。简单地说,TLB就是页表的Cache,其中存储了当前最可能被访问到的页表项,其内容是部分页表项的一个副本。只有在TLB无法完成地址翻译任务时,才会到内存中查询页表,这样就减少了页表查询导致的处理器性能下降。

  • TLB是translation lookaside buffer的简称。属于SOC的一部分

  • 减少了页表查询导致的处理器性能下降

  • TLB就是页表的Cache,减少因为MMU导致的处理器性能下降

TLB工作过程

加入TLB后,CPU读取地址的过程:

​ TLB有能查询到:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OLKnetqh-1680060498420)(image/嵌入式linux/v2-784d18a4bd78f880e68069ac6e10bf48_r.jpg)]

TLB未能查询到:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eHpoYuwq-1680060498422)(image/嵌入式linux/v2-d33cdb237600ee156ac17f79807a38f9_r.jpg)]

TLB的应用场景

  • 在电源管理中,当SDRAM处于自刷新模式下,CPU无法从SDRAM读代码,休眠前使用TLB缓存页表,使用cache缓存代码。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jByPnfYs-1680060498423)(image/嵌入式linux/1680057267787.png)]

参考资料

(85条消息) TLB的作用及工作过程_在arm储存管理单元中,tlb有什么用_Yannick_J的博客-CSDN博客

TLB的作用及工作原理 - AlanTu - 博客园 (cnblogs.com)

一个故事看懂CPU的TLB - 知乎 (zhihu.com)

TLB原理 - 知乎 (zhihu.com)

猜你喜欢

转载自blog.csdn.net/m0_61737429/article/details/129833552