【1000个Linux内存知识-001】-MMU中的两个单元分别是什么?(TLB TWU)作用和使用时机?

文章介绍了MMU中的TLB(TranslationLookasideBuffer)和TWU(TableWalkUnit)的作用,TLB作为缓存加速地址转换,而TWU负责硬件级页表查找。缺页时,会触发缺页中断,由内核处理。TLB的存在减少了CPU参与,提升了性能。
摘要由CSDN通过智能技术生成

MMU的2个单元

TLB table lookasid buffer 是存储VA到PA的高速缓存,在CPU和cache中间
TWU table walk unit 如果TLB中没有 则由TWU硬件进行页表查询

?
cpu
tlb
l1cache
l2cache
l3cache
DDR
EMMC
twu
多级页表
缺页中断
kernel

TLB特性

TLB每个cpu独享一份 避免多cpu竞争
TLB相当于一种cache

TWU工作原理

TWU是硬件访问页表,cpu不用参与
TWU硬件单元根据CR3(intel上)基地址,然后多级页表依次访问
如果缺页,则触发缺页中断

缺页中断交给内核进行页面分配和映射

综述

  • tlb和twu是mmu的2个单元
  • twu负责第一次查,tlb负责缓存,tlb是热数据
  • cpu出来马上就是mmu后面才是cache
  • twu是硬件访问页表
  • 缺页异常后更新页表和cache
  • 普通虚拟地址VA访存至少需要2次转换 tlb和访存。不缺页需要3次tlb+twu+访存。缺页类似需要4次:tlb+twu+缺页+访存

最核心的点在于tlb至少需要一次,并且都是硬件单元访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值