【发布时间】:2021-05-26 06:15:09
【问题描述】:
据我了解,产生“缓存局部性”高级概念的结构如下:
-
用于虚拟内存翻译的翻译后备缓冲区 (TLB)。在 4096 字节对齐(页面大小)内访问相同的虚拟内存将阻止操作系统需要对分层页表进行降序进行翻译。
-
高速缓存行意味着在 64 字节对齐(高速缓存行大小)内访问相同的虚拟内存将防止操作系统需要从 RAM 中获取指令。
我有几个问题:
-
我从未见过对典型页表下降的定量估计。以时钟周期衡量,这真的很重要吗?
-
我相信 64 字节缓存线是指 L1 缓存线 - L2 / L3 有不同的大小吗?内存在什么情况下加载到L2/L3?
-
除了缓存行和 TLB 之外,是否还有任何其他构造会产生“缓存局部性”?
【问题讨论】:
标签: operating-system cpu-architecture cpu-cache tlb cache-locality