authors: Jason Lowe-Power

MOESI CMP Directory

协议概述

相关文件

L1 缓存控制器

稳定状态和不变式

状态 不变式
MM 缓存块由该节点独占持有,并且可能已被修改(类似于传统的 “M” 状态)。
MM_W 缓存块由该节点独占持有,并且可能已被修改(类似于传统的 “M” 状态)。在此状态下不允许替换和 DMA 访问。块在超时后自动转换到 MM 状态。
O 缓存块由该节点拥有。它尚未被该节点修改。没有其他节点以独占模式持有此块,但可能存在共享者。
M 缓存块以独占模式持有,但尚未写入(类似于传统的 “E” 状态)。没有其他节点持有此块的副本。在此状态下不允许存储。
M_W 缓存块以独占模式持有,但尚未写入(类似于传统的 “E” 状态)。没有其他节点持有此块的副本。仅允许加载和存储。在存储时静默升级到 MM_W 状态。在此状态下不允许替换和 DMA 访问。块在超时后自动转换到 M 状态。
S 缓存块由 1 个或多个节点在共享状态下持有。在此状态下不允许存储。
I 缓存块无效。

FSM 抽象

控制器 FSM 图中使用的符号在此处描述。

MOESI_CMP_directory_L1cache_FSM.jpg

优化

状态 描述
SM 已发出 GETX 以获取即将对缓存块进行存储的独占权限,但块的旧副本仍然存在。在此状态下不允许存储和替换。
OM 已发出 GETX 以获取即将对缓存块进行存储的独占权限,数据已收到,但所有预期的确认尚未到达。在此状态下不允许存储和替换。

The notation used in the controller FSM diagrams is described here.

MOESI_CMP_directory_L1cache_optim_FSM.jpg

L2 缓存控制器

稳定状态和不变式

片内包含 片间排他 状态 描述
不在此芯片的任何 L1 或 L2 中 可能存在于其他芯片 NP/I 此芯片上的缓存块无效。
不在 L2 中,但在此芯片的 1 个或多个 L1 中 可能存在于其他芯片 ILS 缓存块不在此芯片的 L2 中。它由此芯片中的 L1 节点本地共享。
ILO 缓存块不在此芯片的 L2 中。此芯片中的某个 L1 节点是此缓存块的所有者。
ILOS 缓存块不在此芯片的 L2 中。此芯片中的某个 L1 节点是此缓存块的所有者。此芯片中还有此缓存块的 L1 共享者。
不存在于任何其他芯片 ILX 缓存块不在此芯片的 L2 中。它由此芯片中的某个 L1 节点以独占模式持有。
ILOX 缓存块不在此芯片的 L2 中。它由此芯片独占持有,此芯片中的某个 L1 节点是该块的所有者。
ILOSX 缓存块不在此芯片的 L2 中。它由此芯片独占持有。此芯片中的某个 L1 节点是该块的所有者。此芯片中还有此缓存块的 L1 共享者。
在 L2 中,但不在该芯片的任何 L1 中 可能存在于其他芯片 S 缓存块不在此芯片的 L1 中。它在此芯片的 L2 中以共享模式持有,也可能在芯片间共享。
O 缓存块不在此芯片的 L1 中。它在此芯片的 L2 中以拥有模式持有。它也可能在芯片间共享。
不存在于任何其他芯片 M 缓存块不在此芯片的 L1 中。它在此芯片的 L2 中存在,并且可能已被修改。
同时在此芯片的 L2 和 1 个或多个 L1 中 可能存在于其他芯片 SLS 缓存块在此芯片的 L2 中以共享模式存在。此芯片上存在该块的本地 L1 共享者。它也可能在芯片间共享。
OLS 缓存块在此芯片的 L2 中以拥有模式存在。此芯片上存在该块的本地 L1 共享者。它也可能在芯片间共享。
不存在于任何其他芯片 OLSX 缓存块在此芯片的 L2 中以拥有模式存在。此芯片上存在该块的本地 L1 共享者。它由此芯片独占持有。

FSM 抽象

控制器分为 2 部分描述。第一张图显示所有”片内包含”类别之间以及类别 1、3、4 内的转换。类别 2(不在 L2 中,但在此芯片的 1 个或多个 L1 中)内的转换在第二张图中显示。

控制器 FSM 图中使用的符号在此处描述。涉及其他芯片的转换用棕色标注。

MOESI_CMP_directory_L2cache_FSM_part_1.jpg

下面的第二张图扩展了上面图片的中心六边形部分,以显示类别 2(不在 L2 中,但在此芯片的 1 个或多个 L1 中)内的转换。

控制器 FSM 图中使用的符号在此处描述。涉及其他芯片的转换用棕色标注。

MOESI_CMP_directory_L2cache_FSM_part_2.jpg

目录控制器

稳定状态和不变式

状态 不变式
M 缓存块仅由 1 个节点以独占状态持有(该节点也是所有者)。此块没有共享者。数据可能与内存中的数据不同。
O 缓存块恰好由 1 个节点拥有。此块可能有共享者。数据可能与内存中的数据不同。
S 缓存块由 1 个或多个节点在共享状态下持有。没有节点拥有该块的所有权。数据与内存中的数据一致(检查)。
I 缓存块无效。

FSM 抽象

控制器 FSM 图中使用的符号在此处描述。

MOESI_CMP_directory_dir_FSM.jpg

其他功能

超时