MESI缓存一致性协议
定义:
多核CPU的情况下有多个一级缓存,一致性协议MESI保证缓存内部数据的一致,不让系统数据混乱。
缓存行(Cache line):缓存存储数据的单元
状态 | 描述 | 监听任务 |
---|---|---|
M 修改 (Modified) | 该Cache line有效,数据被修改了,和内存中的数据不一致,数据只存在于本Cache中。 | 缓存行必须时刻监听所有试图读该缓存行相对于主存的操作。这种操作必须在该缓存行数据写回主存并将状态变成S(共享)状态之后执行。 |
E 独享、互斥 (Exclusive) | 该Cache line有效,数据和内存中的数据一致,数据只存在于本Cache中。 | 缓存行也必须监听其它缓存读该缓存行相对于主存的操作。一旦有这种操作,该缓存行需要变成S(共享)状态。 |
S 共享 (Shared) | 该Cache line有效,数据和内存中的数据一致 |