码迷,mamicode.com
首页 > 系统相关 > 详细

Cache一致性

时间:2019-09-12 16:28:36      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:font   最新   数据   网卡   这不   地址   cache   style   访问   

Cache 的一致性特性

即使内存区域满足了cache的使用条件,要正确的使用cache,仍然可能会碰到cache一致性的问题,由于cache会使得某一确定的时刻,cpu看到的储存内容和内存中的实际内容不一致,如果仅仅只是CPU来操作这片区域,这不会产生任何问题,担当有其他外设也参与读写的时候,就会产生以下两种情况的cache一致性问题。

 

1、储存位置被其它外设修改

以网卡为例,网卡会将接收到的数据包写入到指定的内存中(A处地址),而如果此内存带cache,且cache中刚刚存A处地址内存的缓存,此时,CPU访问这段内存的时候cache并不知道这段内存已经被网卡更新,CPU获得的数据还是cache中缓存的内容,也就是说获取的不是最新数据包的内容。

2、外设需要看到CPU对某块区域储存的修改

以网卡发送为例,CPU将要发送的数据包写入指定的内存,然后通知网卡将此内存中的数据发送出去,如果此内存带cache,CPU写入到此内存的数据可能还停留在cache中,内存的数据还未更新,网卡就发送了错误的数据。

 

确保Cache一致性的操作

对应于产生cache一致性问题的两种情况,确保cache一致性的操作主要有:

1、cache 无效:cache无效是将cache中指定的区域的缓存标记为无效,当CPU再次访问这个区域时,将强制cache从这个区域重新缓存数据。

2、cache 刷新:cache刷新时指立即将cache中指定区域的内容写入到内存。

 

Cache一致性

标签:font   最新   数据   网卡   这不   地址   cache   style   访问   

原文地址:https://www.cnblogs.com/hujingzheng/p/11512439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!