《分布式操作系统》知识点(1~7)一

注:

(6)1  P210:(6)代表该习题是第6章的内容,1是题号(第1题),P210是所在书中的大体页数。


(6)1在交换式Dash多处理机系统中,为了保持缓存一致性,采用了Dash协议,某一簇中的一CPU写一未缓存的数据块,之后另外一簇的另外一CPU读该数据块。试详细说明写操作和读操作是如何进行的。P210

答:写操作:写数据块的CPU先在本地总线发送请求察看邻近CPU的缓存中是否有该数据块。邻近CPU的缓存中没有该数据块,本次查找失败,数据块所在的其他地方,CPU发送信包到其宿主所在簇。这里块的状态为UNCACHED,标记为DIRTY并发送给请求者。

读操作:读数据块的CPU首先检查自己的内存,缓存中无此字,则在本地簇中发出请求,询问本地簇的其他CPU缓存中是否有此字。数据块不在任何簇的缓存中,CPU发一请求信包给该块的宿主所在簇。宿主所在簇的目录管理硬件检查它的表以确定其状态。此处状态为DIRTY,则拥有DIRTY块的簇将数据块发送给请求簇,将其状态改为CLEAN,它还要给宿主所在簇发回一个拷贝以更新存储器,此时块的状态置为CLEAN。

 

(6 P207)2在基于总线的多处理机系统中,遵循write once协议,假设有C1,C2,C3,C4四个CPU,一操作序列如下:C1读一字W1(只存在于共享存储器中)、C1继续读该字、C2读该字;C1修改该字、C3读该字、C4读该字。试详细说明以上操作序列是如何执行的。

答:如下图:

C1将将字W1的地址放到总线上,并在控制总线上加上“读”信号,存储器读出需要的数据,将其放在总线上,在控制总线上加“准备好”信号,C1即可以读到字W1。由于C1的缓存中含有字W1,所以C1第二次读取时从缓存中读取字W1。C2读取字W1时,C1监听到此读操作,不做响应,内存响应C2 的请求

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值