补充章节:多处理机和多计算机.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
补充章节:多处理机和多计算机

;对称式共享存储器体系结构;对称式共享存储器体系结构;(2) 存储器的一致性(非正式定义) 如果对某个数据项的任何读操作均可得到其最新写入的值,则认为这个存储系统是一致的。 ;② 一个处理器对X进行写之后,另一处理器对X进行读,读和写之间无其它写,则读X的返回值应为写进的值。 ③ 对同一单元的写是顺序化的,即任意两个处理器对同一单元的两次写,从所有处理器看来顺序都应是相同的。 假设直到所有的处理器均看到了写的结果,一次写操作才算完成;允许处理器无序读,但必须以程序规定的顺序进行写。 ; 在一致的多处理机中,Cache提供两种功能:;(1) Cache一致性协议 对多个处理器维护一致性的协议。 (2) 关键:跟踪记录共享数据块的状态 (3) 共享数据状态跟踪记录技术 ; Cache通常连在共享存储器的总线上,各个Cache控制器通过监听总线来判断它们是否有总线上请求的数据块。;处理器行为;(2) 写更新协议 当一个处理器写某数据项时,通过广播使其它。 Cache中所有对应的该数据项拷贝进行更新。;(3) 写更新和写作废协议性能上的差别主要来自:;监听协议及其实现; 增加Cache中块的标志位 状态: 无效(invalid)—— 无副本 共享(shared)—— 至少一个副本,clean 独占(exclusive)—— 唯一副本,dirty Cache块的拥有者:拥有唯一的Cache块副的处理器。 因为每次总线任务均要检查Cache的地址位,这 可能与CPU对Cache的访问冲突。可通过下列两种 技术之一降低冲突: 复制标志位 采用多级包容Cache (许多系统采用) ;存储器分布于各结点中,所有的结点通过网络互 连。访问可以是本地的,也可是远程的。 可以不支持Cache一致性:规定共享数据不进入Cache,仅私有数据才能保存在Cache中。 优点: 所需的硬件支持很少(因为远程访问存取量仅是一个字(或双字)而不是一个Cache块) ;缺点: (1) 实现透明的软件Cache一致性的编译机制能力 有限。 (2) 没有Cache一致性,机器就不能利用取出同一 块中的多个字的开销接近于取一个字的开销 这个优点,这是因为共享数据是以Cache块为 单位进行管理的。当每次访问要从远程存储 器取一个字时,不能有效利用共享数据的空 间局部性。 (3) 诸如预取等延迟隐藏技术对于多个字的存取 更为有效,比如针对一个Cache块的预取。 ; 解决Cache一致性问题的关键: 寻找替代监听协议的一致性协议。 ; (1) 目录协议必须实现两种基本操作; 共享 在一个或多个处理器上具有这个块的副本, 且主存中的值是最新值(所有Cache均相同)。 未缓冲 所有处理器的Cache都没有该块的拷贝。 专有 仅有一个处理器上有该块的副本,且已对该块 进行了写操作,而主存的拷贝仍是旧的。这个处理器 称为该块的拥有者。 ;(3) 由于写作废操作的需要,还必须记录哪些处理器 有该块的拷贝 方法:对每个主存块设置一个位向量 当该块被共享时,每个位指出与之对应的处理器是否有该块的拷贝。 当该块为专有时,可根据位向量来寻找其拥有者。 ;同 步 通常是使用硬件提供的有关同步指令,通过用户级软件例程建立的。 基本硬件原语 在多处理器同步中,主要功能是一组能自动读出后并进行写存储单元的硬件原语。它们能够自动读/修改单元。通常情况下,用户不直接使用基本的硬件原语,原语主要供系统程序员用来编制同步库函数。 ; 功能:将一个存储单元的值和一个寄存器的值 进行交换。建立一个锁,锁值为“0”表示开锁, 为“1”表示上锁。 处理器加锁时,将对应于该锁的存储单元的值 交换为某个寄存器的值。 实现同步的关键: 操作的原子性 ;2. 测试并置定(test_and_set) 先测试一个值,如果符合条件则修改其值。 3. 读取并加1(fetch_and_increment) 它返回存储单元的值并自动增加该值。 4. 使用指令对 ;例 实现对由R1指出的存储单元进行原子交换操作 try:mov R3,R4 ;送交换值 ll R2,0(R1) ;load linked sc R3,0(R1) ;

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档