11、缓存、内存层次结构与IBM Blue Gene超级计算机架构解析

缓存、内存层次结构与IBM Blue Gene超级计算机架构解析

1. 缓存与内存层次结构

在多处理器系统中,缓存和内存层次结构的管理至关重要。当请求的内存块的脏位为1时,会从存在位为1的处理器j请求该内存块。到达后,内存块会转发给处理器i,i的存在位设为1,j的存在位设为0,脏位保持为1,j的缓存控制器将该内存块状态设为I。

当处理器i的缓存中状态为M的内存块要被替换时,必须将其写回主存,因为这是该内存块的唯一有效副本。具体操作是,i的缓存控制器将内存块发送到主节点的目录控制器,目录控制器将其写回本地内存,并将该块的脏位和处理器i的存在位设为0。

状态为S的缓存块在本地缓存中被替换时,可不向负责的目录控制器发送通知。不过,发送通知可避免在写缺失时,目录控制器向替换处理器发送不必要的失效消息。

实际使用的目录协议通常更复杂,会包含额外的优化以尽可能降低开销。它不仅用于分布式内存机器,也可用于共享内存机器,如Sun T1和T2处理器。

2. 内存一致性

缓存一致性确保并行系统中的每个处理器通过其本地缓存对内存有一致的视图。但它未规定写访问对其他处理器可见的顺序,这由内存一致性模型解决。

内存一致性模型为程序员提供了内存系统行为的正式规范,对共享地址空间中读操作返回的值设置了限制。直观上,读操作应返回最后写入的值。在单处理器中,程序顺序唯一确定该值;在多处理器中,不同处理器并发执行程序,内存访问顺序可能因处理器的相对进度而异。

例如,有三个处理器P1、P2、P3执行包含共享变量x1、x2、x3的并行程序,初始值都为0。程序如下:
| 处理器 | 程序 |
| -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值