gpt4 book ai didi

caching - 缓存 - 刷新和无效操作

转载 作者:行者123 更新时间:2023-12-02 09:00:08 26 4
gpt4 key购买 nike

我对缓存同步操作有一些疑问。

无效:在CPU尝试读取设备更新的部分内存之前,需要使相应的内存无效。

Flush:设备读取CPU更新的一部分内存之前,CPU必须将cache中的内容flush(回写也正确?)到内存中,以便设备从内存中读取内容更新内容。

如果未执行刷新,则可能会读取内存中存在的垃圾数据,因为内存尚未用写入缓存的内容进行更新。

请确认我的上述理解是否正确?

什么时候你想结合使用flush和invalidate?我听说在使用设备控制描述符时,我们需要通过组合刷新和无效来进行同步。为什么会这样?

我们是否需要遵循先刷新后无效的顺序?

是否存在先无效后刷新有用的场景?

最佳答案

Flush 会将缓存的内容写回主内存,而 invalidate 会将缓存行标记为无效,以便将来的读取转到主内存。

如果设备正在更新内存块,我认为您可以将刷新和无效结合起来:刷新将确保设备具有最新内容,然后无效将确保当设备完成时CPU将读取内存中的新内容。

关于caching - 缓存 - 刷新和无效操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310520/

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