一、实验目的
1、加深对多Cache一致性的理解。
2、进一步掌握解决多Cache一致性的目录协议的基本思想。
3、掌握在各种情况下,目录协议是如何工作的。能给出要进行什么样的操作以及状态的变化情况。
二、实验内容及步骤
2.1、模拟器使用方法简介
该模拟器模拟4个CPU(A、B、C、D)访存的工作过程。每个CPU中都
有一个Cache,该Cache包含有4个块,其块地址为0-3。分布式存储器中有32个块,其块地址为0-31。每个块状态用色块表示,其中灰色为“无效”状态,淡青色为“共享”状态,橘红色为“独占”。主存中块的状态由其右边的目录项的颜色来表示,未缓冲状态由黄色来表示,其他两种状态同Cache块。
对于每一个CPU都可以指定所要进行的访问是读还是写(从列表中选),并在输入框中输入所要访问的主存块号,然后用鼠标单击在其右边的标有“↓”的按钮,模拟器就将开始演示该访问的工作过程。
2.2、目录协议基本思想 (自己补充) 2.3、实验步骤
对于以下访问序列,写出目录协议所进行的操作。
所进行的访问 目录协议所进行的操作 1.读;2.不命中;3本地:向宿主结点发读不命中(A,6)消息;4.宿主:把数据块送给本地结点;5.共享集合为:{A} CPU A读第6块 CPU B读第6块 1. 读;2.不命中;3. 本地:向宿主结点发读不命中(B,6)消息; 4.宿主:把数据块发送给本地结点;5.共享集合为:{A}+{B} CPU D读第6块 1.读;2.不命中;3. 本地:向宿主结点发读不命中(D,6)消息; 4.宿主:把数据块发送给本地结点;5.共享集合为:{A,B}+{D} CPU B写第6块 1.写;2.命中;3. 本地:向宿主结点发写命中(B,6)消息,宿主:向远程结点A发作废(6)消息,宿主:向远程结点D发作废(6)消息; 4.共享集合为: {B} 1读;2.不命中;3. 本地:向宿主结点发读不命中(C,6)消息; 4.宿主:给远程结点发取数据块(6)的消息;5.远程:把数据块送给宿主结点;6.宿主:把数据块送给本地结点;7.共享集合为:{B}+{C} 1.写;2.不命中;3. 本地:向宿主结点发写不命中(D,20)消息;4.宿主:把数据块发送给本地结点; 5.共享集合为: {D} 1.写;2.不命中;3. 本地:向宿主结点发写不命中(A,20)消息;4.宿主:给远程结点发送取并作废(20)消息;5.远程:把数据块送给宿主结点把Cache中的该块作废;6.宿主:把数据块送给本地结点;7.共享集合为:{A} 1.写;2.不命中;3. 本地:向宿主结点发写不命中(D,6)消息;4.宿主:向远程结点发作废(6)消息;5.宿主:向远程结点发作废(6)消息;6.宿主:把数据块送给本地结点;7.共享集合为:{D} 1.写;2.不命中;3.本地:向被替换块的宿主结点发写回并修改共享集(A,20)消息;4.本地:向宿主结点发写不命中(A,20)消息;5.宿主:把数据块送给本地结点;6.共享集合为:{A} CPU C读第6块 CPU D写第20块 CPU A写第20块 CPU D写第6块 CPU A读第12块
实验二 多Cache一致性 —— 监听协议
一、实验目的
1、加深对多Cache一致性的理解。
2、进一步掌握解决多Cache一致性的监听协议的基本思想。
3、掌握在各种情况下,监听协议是如何工作的。能给出要进行什么样的操作以及状态的变化情况。
二、实验内容及步骤
2.1、模拟器简介
该模拟器模拟4个CPU(A、B、C、D)访存的工作过程。每个CPU中都
有一个Cache,该Cache包含有4个块,其块地址为0-3。集中共享存储器中有32个块,其块地址为0-31。每个块状态用色块表示,其中灰色为“无效”状态,淡青色为“共享”状态,橘红色为“独占”。
对于每一个CPU都可以指定所要进行的访问是读还是写(从列表中选),并
在输入框中输入所要访问的主存块号,然后用鼠标单击在其右边的标有“↓”的按钮,模拟器就将开始演示该访问的工作过程。
2.2、监听协议基本思想 (自己补充) 2.3、实验步骤
对于以下访问序列,写出监听协议所进行的操作。
所进行的访问 CPU A读第5块 CPU B读第5块 CPU C读第5块 CPU B写第5块 CPU D读第5块 CPU B写第21块 CPU A写第23块 CPU C写第23块 CPU B读第29块 CPU B写第5块 是否发生替换 否 否 否 否 发生 发生 否 发生 否 替换 是否发生写回 否 否 否 发生 否 发生 发生 发生 否 发生 监听协议所进行的操作 读;不命中;读不命中;数据送回 读;不命中;读不命中;数据送回 读;不命中;读不命中;数据送回 写,命中;作废A,C中的数据5, 读;不命中;读不命中;写回;数据送回 写;不命中;写不命中;用数据21替换原来的数据5 写;不命中;写不命中;写回;数据送回 写;不命中;写不命中;替换;写回;数据送回 读;不命中;读不命中;数据送回 写;不命中;写不命中;替换;写回;数据送回 三 实验总结
通过此次试验,我学会了运用模拟器中的目录法和监听法,对多Cache一
致性有了更进一步的了解,通过亲手试验,观察各个访问阶段两种方法的操作,使得过程更加清晰。
因篇幅问题不能全部显示,请点此查看更多更全内容