【发布时间】:2024-04-12 12:20:01
【问题描述】:
当操作系统选择它所在的页面进行驱逐时,尚未写回的脏缓存行(假设写回缓存)会发生什么情况。换句话说,当一个页面被选择从主内存中驱逐时,页面的缓存行会发生什么。
一般的假设是,当页面从内存中被逐出时,它已经足够冷而不会被缓存。但是,这会在更大的缓存中造成问题吗?如果说我们有足够的缓存行来容纳每页的 1 行?
【问题讨论】:
-
有趣的地方。存在一个问题,因为内存是通过 DMA 从主内存复制到磁盘的,并且无法访问 CPU 的缓存。*的 DMA 文章 mentions this issue。对于 x86 硬件,另一个 SO question 询问了这个问题。 *.com/questions/7132284/…。显然,这些天硬件可以/确实有 DMA 缓存窥探。现代 CPU 中的内存控制器是内置在 CPU 内核中的,因此它们检查缓存并不难。
-
我在
linux dma cache coherence上搜索到了很多点击,所以试试吧。
标签: caching operating-system hardware x86-64 page-fault