A.8 实验八 多Cache一致性——目录协议
A.8.1 实验目的
1. 加深对多Cache一致性的理解。
2. 进一步掌握解决多Cache一致性的目录协议的基本思想。
3. 掌握在各种情况下,目录协议是如何工作的。能给出要进行什么样的操作以及状态的变化情况。
A.8.2实验平台
实验平台采用多Cache一致性目录协议模拟器。
环境的建立:见A.0。
A.8.3 实验内容及步骤
首先要掌握该模拟器的使用方法(见A.8.4节)。
1. 对于以下访问序列,写出目录协议所进行的操作。
所进行的访问 |
目录协议所进行的操作 |
CPU A 读第6块 | |
CPU B读第6块 | |
CPU D 读第6块 | |
CPU B 写第6块 | |
CPU C 读第6块 | |
CPU D写第20块 | |
CPUA写第20块 | |
CPU D写第6块 | |
CPU A 读第12块 |
2. 自己编写一个访问序列,写出目录协议所进行的操作。
所进行的访问 |
是否发生替换 |
是否发生写回 |
目录协议所进行的操作 |
3. 根据上述结果,画出相关的状态转换图(仅画出与上表相关的部分)。
A.8.4 目录协议模拟器使用方法
该模拟器模拟4个CPU(A、B、C、D)访存的工作过程。每个CPU中都有一个Cache,该Cache包含4个块,其块地址为0~3。分布式存储器中有32个块,其块地址为0~31。Cache中每个块的状态用色块来表示,其中灰色表示“无效”状态,淡青色表示“共享”,橘红色表示“独占”。主存中块的状态由其右边的目录项的颜色来表示,未缓冲状态由黄色来表示,其他两种状态同Cache块。
对于每个CPU,可以指定所要进行的访问是读还是写(从列表中选),并在输入框中输入所要访问的主存块号,然后用鼠标点击在其右边的标有↓的按钮,模拟器就将开始演示该访问的工作过程。
该模拟器的主菜单有4个:配置,操作,统计,帮助。
1. 配置
该菜单用于进行配置参数的显示与设置。你可以修改动画播放速度:把游标往右边拖拽可提高播放速度,往左边拖拽可降低播放速度。你还可以选择是否进行优化传块。优化传块是指当要访问的块在某个Cache中,且处于独占状态时,可以不用等该块写回主存后再从主存调块,而是可以直接将该块传送给发出访问请求的结点。
本模拟器采用直接映象方法和写回法。
2. 操作
可以通过该菜单中的选项来控制模拟器的执行。该菜单下有以下3个选项:单步执行、连续执行、复位。
(1) 单步执行
选用该方式后,敲任意键、点击鼠标或点击左上角的“步进”按钮,都会使模拟器前进一步。
(2) 连续执行
选用该方式后,用鼠标点击标有↓的按钮,模拟器会连续演示一次访存的整个过程,直至该访问结束。
(3) 复位
使模拟器复位,回到初始状态。
3. 统计
该菜单用于显示模拟器的统计结果,包括各处理机的访问次数、命中次数、不命中次数以及命中率。
4. 帮助
该菜单下有“关于”和“使用说明”两个选项。

