实验七
实验名称: 多Cache一致性-监听协议 、实验性质: 验证性 、 成绩:
实验学时数: 2 、 姓名: 、学号:
一、实验目的 1、加深对多Cache一致性的理解。 2、进一步掌握解决多Cache一致性的监听协议的基本思想。 3、掌握在各种情况下,监听协议是如何工作的。能给出要进行什么样的操作以及状态的变化情况。 |
二、实验平台 多cache一致性监听协议模拟器 |
三、实验内容和步骤 (1)对以下访问序列,写出监听协议所进行的操作
所进行的访问 | 是否发生了替换 | 是否发生了写回 | 监听协议所进行的操作 | CPU A读第5块 | 否 | 否 | 向存储器发出读不命中,将第5块读入Cache A并告诉CPU A | CPU B读第5块 | 否 | 否 | 向存储器发出读不命中,将第5块读入Cache B并告诉CPU B | CPU C读第5块 | 否 | 否 | 向存储器发出读不命中,将第5块读入Cache C并告诉CPU C | CPU B写第5块 | 是 | 否 | 发出写作废信号,将Cache A和Cache C的第一块作废 | CPU D读第5块 | 否 | 是 | 广播读不命中,Cache B监听到后将第一块写回存储器,再将存储器中的内容调入Cache D并告诉CPU D | CPU B写第21块 | 是 | 否 | 向存储器发出写不命中,将第21块读入Cache B,将原本的第一块替换出去 | CPU A写第23块 | 否 | 否 | 向存储器发出写不命中,将第23块读入Cache A第三块 | CPU C写第23块 | 否 | 是 | 广播写不命中,Cache A将第三块写回存储器23块,并将Cache A中的第三块作废,将存储器23块调入Cache C第三块 | CPU B读第29块 | 是 | 是 | CPU B读不命中,将第一块写回存储器,并告诉存储器读不命中,将第29块调入Cache B第一块并告诉CPU B | CPU B写第5块 | 是 | 否 | 向存储器发出写不命中,将第5块读入Cache B,将原本的第一块替换出去,发出写作废信号,将Cache D的第一块作废 |
(2)自己编写一个访问序列,写出监听协议所进行的操作
所进行的访问 | 是否发生替换 | 是否发生写回 | 监听协议所进行的操作 | CPU A 读第5块 | 否 | 否 | 向存储器发出读不命中,将第5块读入Cache A并告诉CPU A | CPU B 读第5块 | 否 | 否 | 向存储器发出读不命中,将第5块读入Cache B并告诉CPU B | CPU C 写第5块 | 否 | 否 | 向存储器发出写不命中,将第5块读入Cache B,发出写作废信号,将Cache A、Cache B中的第一块作废 | CPU D 读第5块 | 否 | 是 | 广播读不命中,Cache C监听到后将第一块写回存储器,再将存储器中的内容调入Cache D并告诉CPU D | CPU D 写第5块 | 否 | 否 | 发出写作废信号,将Cache C的第一块作废 | CPU B 写第29块 | 否 | 否 | 向存储器发出写不命中,将第29块读入Cache B第一块 | CPU A 写第29块 | 否 | 是 | 发出写不命中,Cache B监听到后将第一块写回存储器,读入Cache A,发出写作废信号,将Cache B中的第一块作废 | CPU C 写第29块 | 否 | 是 | 发出写不命中,Cache A监听到后将第一块写回存储器,读入Cache C,发出写作废信号,将Cache A中的第一块作废 | CPU B 读第21块 | 否 | 否 | 向存储器发出读不命中,将第21块读入Cache B第一块并告诉CPU B | CPU B 读第20块 | 否 | 否 | 向存储器发出读不命中,将第21块读入Cache B第0块并告诉CPU B | |
四 、实验总结 |