分享

Cache Invalidate与Cache Flush

 我本无我O 2020-11-03

1. Cache Invalidate

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

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

2. Cache Flush

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多