Cache写策略:Cache和内存的友好沟通
2022/8/17 5:24:03
本文主要是介绍Cache写策略:Cache和内存的友好沟通,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
出现背景
本质上是上级存储器对下级存储器的写操作,没别的
算法
当Cache命中时(要写的块正好在Cache里)
1、全写法
Cache来全写了,CPU在尽力写了,内存在干啥?#内存状态
就是说CPU写的时候同时把内容写道Cache和主存,缺点是增加了访存次数,降低了Cache效率
一般不直接写内存,CPU同时写Cache和写缓存(一个FIFO队列),写缓存再写道内存中
2、回写法
CPU只把数据写入Cache,而不立即写入主存,只有当此块被换出时才写回主存。这种方法减少了访存次数,但是也有隐患,可能出现不一致。
同时为了减少写回主存的开销,每个Cache行设置一个修改位(脏位),若修改位为1替换时写回主存,修改为0直接替换。
当Cache未命中时
1、写分配法
加载主存中的块到Cache中,然后更新这个Cache块。
2、非写分配法,只写入主存,不调块
非写分配法通常与全写法合用,写分配法通常和回写法合用。
当Cache未命中时(要写的块不在在Cache里)
这篇关于Cache写策略:Cache和内存的友好沟通的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享