【发布时间】:2015-02-28 04:33:21
【问题描述】:
我们都知道在从虚拟地址到物理地址的地址转换中,低位用作页面偏移量,因此它们不被转换。相反,它们保持不变。这意味着虚拟内存中的页面大小与物理内存相同。
我们也知道,当使用取模方法将一个块从内存移动到缓存中时,两边的块大小是相同的。
我的问题是,这是否意味着虚拟内存中的页面大小应该与缓存中的块大小相同。
【问题讨论】:
我们都知道在从虚拟地址到物理地址的地址转换中,低位用作页面偏移量,因此它们不被转换。相反,它们保持不变。这意味着虚拟内存中的页面大小与物理内存相同。
我们也知道,当使用取模方法将一个块从内存移动到缓存中时,两边的块大小是相同的。
我的问题是,这是否意味着虚拟内存中的页面大小应该与缓存中的块大小相同。
【问题讨论】:
不,缓存行是一种大小(例如:16、32 或 64 字节),虚拟页面是另一种独立大小(通常是 4K)。
将整个 4K 页面读取到缓存中会太慢,并且对于大多数用例而言缓存无效,因此 CPU 使用更小的缓存行。
【讨论】: