我对OS虚拟页面和CPU缓存行有疑问。
基本上,OS管理4kb大小的虚拟页面。
但是,高速缓存行仅为64b。
所以我可以看到一个页面由64 * 64b的高速缓存行组成。
如果页面的OS请求,页面是否映射到64个cachlines?
页面如何映射到缓存行?
然后内存控制器请求64次内存?
谢谢!
答案 0 :(得分:3)
OS为物理内存(RAM)中的新页面分配空间,这些页面没有按缓存行组织。在分配新页面时,操作系统将在物理内存中为此新页面分配4kB空间。
当处理器首次读取或写入此新分配的页面中的某个地址时,将导致高速缓存未命中。缓存将向内存控制器发送缓存行获取请求。然后,内存控制器将从该页面获取适当的64字节(缓存行)并将其发送到请求缓存。