Cache Invalidate与Cache Flush

来源:互联网 发布:标准差数据统计软件 编辑:程序博客网 时间:2024/05/05 20:54

1. Cache Invalidate

   该操作主要为解除内存与Cache的绑定关系。例如操作DMA进行数据搬移时,如果目标内存配置为可Cache,那么后续通过CPU读取该内存数据时候,若Cache命中,则可能读取到的数据不是DMA搬移后的数据,那么在进行DMA搬移之前,先进行Cache Invalidate操作,保证后续CPU读取到的数据是DMA真正搬移的数据。


   实际案例:软件处理的数据异常,与期望结果不一致,通过抓取DMA搬移的源数据,与后续CPU数据进行比较,发现部分数据相同,部分数据不一致,后续确认为内存地址配置成了可Cache,导致CPU读取进行处理的软件数据异常。


2. Cache Flush

   该操作为将Cache中的数据写回内存。



0 0
原创粉丝点击