高速缓存-物理寻址

摘自《深入理解计算机系统》
高速缓存 通过虚拟存储器中间层来进行物理寻址。

一、利用tlb加速地址翻译

每次cpu产生一个虚拟地址,mmu就必须查询一个pte,然后再降虚拟地址翻译为物理地址。如果没有命中的话,将会多付出几十到几百个周期。如果pte刚好在缓存中时,那么就只需要一到二个周期,通常系统中都试图消除这种没命中的情况,他们在MMU中包括了一个关于pte小的缓存,称为TLB 。
TLB是一个小的,虚拟寻址的缓存,其中每一行都保存一个PTE组成的块。TLB中拥有高强度的关联性。
TLB命中所包括的步骤:
1 CPU产生一个虚拟地址
2 MMU从TLB中取出相应的PTE
3 MMU将这个虚拟地址翻译成一个物理地址,并且将它发送到高速缓存/主存
4 高速缓存/主存将所请求的数据子返回给CPU