知识点1:一般什么情况下,才会主动刷cache?

思考:
一般什么情况下,才会主动刷cache?

1、为什么要学习cache呢?

cache和我们软件工程师有啥关系?其实在很多时候,硬件都会自动去维护cache和内存直接的一致性,这和我们软件工程师都没有太大的关系,所以很多时候我们也无需去理解cache的原理。但是实就是事实,不管你有没有理解,你都是一直在使用的。做为一名底层的软件开发者,有些时候,你也不得不去主动刷新cache,即软件中维护内存一致性 。
那么一般什么时候需要主动刷cache呢(软件中维护内存一致性) ? 以下便举了几个最常见的示例。

1.1、 不同的Master硬件共享数据时

例如一个core和一个crypto engine硬件,在共享数据的时候。需要软件主动去invalid或flush cache的操作。

1.1.1、软件中维护内存一致性 – flush cache

在这里插入图片描述

1.1.2、软件中维护内存一致性 – invalid cache

猜你喜欢

转载自blog.csdn.net/weixin_42135087/article/details/133574898