我们都知道在从虚拟地址到物理地址的地址转换中,较低的位用作页面偏移,因此它们不会被转换。相反,他们保持不变。这意味着虚拟内存中的页面大小与物理内存相同。
我们也知道使用modulo方法将块从内存移动到缓存时,两边块的大小是相同的。
我的问题是,这是否意味着虚拟内存中的页面大小应与缓存中的块大小相同。
答案 0 :(得分:2)
不,缓存行是一个大小(例如:16,32或64字节),虚拟页面是另一个独立的大小(通常是4K)。
将整个4K页面读入缓存会太慢并且使缓存对大多数用例无效,因此CPU使用较小的缓存行。