参考大佬博客:https://www.cnblogs.com/yanlong300/p/8986041.html
带有高速cache的CPU计算执行流程:
- 程序以及数据被加载到Memory。
- 指令和数据被加载到CPU的cache。
- CPU执行完指令将数据还给cache。
- cache通过BUS将数据返回给Memory。
MSEI:
现在多核处理器下,会存在多个CPU的cache,如何保证缓存内部数据的一致呢,引入MSEI。
Cache line:缓存存储数据的单元。
MSEI为缓存行的4种状态的首字母,缓存行用2个bit来保存状态。
多核协作的状态转换例子:
假设有三个CPU A、B、C,对应三个缓存分别是cache a、b、 c。在主内存中定义了x的引用值为0。