MMU的2个单元
TLB table lookasid buffer 是存储VA到PA的高速缓存,在CPU和cache中间
TWU table walk unit 如果TLB中没有 则由TWU硬件进行页表查询
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至少需要一次,并且都是硬件单元访问