虚拟页面和缓存行之间的关系

Relationship between a virtual page and cacheline


我有一个关于 OS 虚拟页面和 CPU 缓存行的问题。
基本上,OS 管理 4kb 大小的虚拟页面。
但是,缓存行只有 64b。
所以我可以看到一个页面由 64 * 64b 缓存行组成。
如果 OS 请求页面,页面是否映射到 64 个缓存行?
页面如何映射到缓存行?
那么内存控制器是否向内存请求了64次?

谢谢!

OS 为物理内存 (RAM) 中的新页面分配 space,该页面未按照缓存行进行组织。在分配新页面时,OS 将在物理内存中为这个新页面分配 4kB space。

当处理器第一次读取或写入这个新分配的页面中的某个地址时,会导致缓存未命中。缓存将向内存控制器发送缓存行获取请求。内存控制器然后将从该页面中获取适当的 64 字节(缓存行)并将其发送到请求缓存。