本质上是上级存储器对下级存储器的写操作,没别的
当Cache命中时(要写的块正好在Cache里)
1、全写法
Cache来全写了,CPU在尽力写了,内存在干啥?#内存状态
就是说CPU写的时候同时把内容写道Cache和主存,缺点是增加了访存次数,降低了Cache效率
一般不直接写内存,CPU同时写Cache和写缓存(一个FIFO队列),写缓存再写道内存中
2、回写法
CPU只把数据写入Cache,而不立即写入主存,只有当此块被换出时才写回主存。这种方法减少了访存次数,但是也有隐患,可能出现不一致。
同时为了减少写回主存的开销,每个Cache行设置一个修改位(脏位),若修改位为1替换时写回主存,修改为0直接替换。
当Cache未命中时
1、写分配法
加载主存中的块到Cache中,然后更新这个Cache块。
2、非写分配法,只写入主存,不调块
非写分配法通常与全写法合用,写分配法通常和回写法合用。
当Cache未命中时(要写的块不在在Cache里)