gpt4 book ai didi

caching - 脏缓存行和页面驱逐

转载 作者:行者123 更新时间:2023-12-01 06:10:04 25 4
gpt4 key购买 nike

当操作系统选择它所属的页面进行驱逐时,尚未写回的脏缓存行(假设写回缓存)会发生什么情况。换句话说,当一个页面被选择从主内存中驱逐时,页面的缓存行会发生什么。

一般的假设是,当页面从内存中被逐出时,它已经足够冷,不会被缓存。但是,这会在较大的缓存中造成问题吗?如果说我们有足够的缓存行来容纳每页的 1 行?

最佳答案

缓存行不会直接发生任何事情。在操作系统中,我们必须始终假设可能性中的最坏情况,即使是小缓存也可能面临您提出的方案。但是,操作系统不需要直接对缓存行做任何事情,正常的分页过程会处理这种情况。

当操作系统决定驱逐一个页面时,它会首先将其内容写出到磁盘(因为处理器会将页表条目标记为脏,表明该页面已被写入)。在执行此操作的过程中,操作系统将从包括脏缓存行在内的整个页面读取值,因此它们将被写回,至少会写回磁盘。

接下来作为驱逐页面的一部分,操作系统将使将虚拟地址映射到物理地址的转换无效。即使缓存行仍然是脏的,它们也不能再被进程(即程序)访问。这一步之后,操作系统会将不同的数据写入物理页,这个 Action 会使缓存行失效。最后,新调整的物理页将被映射到一个虚拟地址。

关于caching - 脏缓存行和页面驱逐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33664884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com