网站大量收购独家精品文档,联系QQ:2885784924

多 处 理 机的.ppt

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

第 7 章 多 处 理 机 ;7.1.1 多处理机的基本概念和要解决的技术问题;二、多处理机特点;2、程序并行性;3、并行任务派生;7.1.2 多处理机的硬件结构 ;图 7.1 紧耦合多处理机的结构 ;图 7.4 通过消息传送系统连接的松耦合多处理机结构 ;松耦合多处理机系统可分为层次型和非层次型。;图 7.5 Cm*多处理机结构 ;二、机间互连形式 ;三、 存储器的组织 ;图 7.13 m个模块的高位交叉编址 ;Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.;7.2 紧耦合多处理机多cache的一致性问题; 为了解决多系统中的cache一致性问题,可采用的方法有 (1)采用总线监听机制、(2)目录表法、 (3)软件方法。; 这种方法要在主存中建立一个目录表,记录各公用的数据块都存放在哪几个处理机的cache中。表的每一项中记录一个数据块的使用情况,内容包括有几个指示器,指示器指出这个数据块的副本放在哪几个处理机的cache中,还有指示位表示是否已有cache向这个数据块写入过新内容等。有了这个目录表,当一个处理机写入本身的cache时,只需要有选择地通知存有这个数据块的处理机的cache即可。使其内容或废除或更新。 * 全映象目录表法 * 有限目录表法 * 链式目录表法;;7.3 多处理机的并行性和性能 ;图 7.16 不同算法影响树高的例子 ; 首先从算术表达式的最直接形式出发,利用交换律把相同的运算集中在一起。再利用结合律把参加这些运算的操作数(称原子)配对,尽可能并行运算,从而组成树高最小的子树。最后,再把这些子树结合起来。例如,给定表达式 E2=a+b(c+def+g)+h 需 7 级运算,如图 7.17(a)所示。利用交换律和结合律改写为 E2=(a+h)+b((c+g)+def);图 7.17 利用交换律和结合律降低树高 ; 利用分配律进一步降低树高,在恰当平衡各子树的级数的情况下, 往往能收到较好的效果。例如上式,计算(c+g)的子树时只用一级,而计算def的子树要用 2 级,相加乘b需再增加 2 级。如果把b写进括号内,则计算bdef仍用 2 级已够,却省去了后来的一次乘b,使总级数由 5 减为 4。因此,将上式改写成 ;图 7.18 利用交换律、结合律和分配律降低树高 ;例:由霍纳法则给定???表达式如下:E=a(b+c(d+e(f+gh))) 利用减少树高的办法来加速运算,要求 (1)画出树形流程图; (2)确定Tp、P、Sp、Ep各值。; ;7.3.2 程序并行性的分析 ; (1) 数据相关 如果Pi的左部变量在Pj的右部变量集内,且Pj必须取出Pi 运算的结果来作为操作数,就称Pj“数据相关”于Pi。例如 Pi A=B+D Pj C=A*E 相当于流水中发生的“先写后读”相关。 顺序串行运行的正确结果应当是 PiA新=B原+D原 PjC新=A新*E原=(B原+D原)*E原;如果让Pi和Pj并行,Pj的C新成了A原*E原,显然不是应有的结果, 因此Pi和Pj是不能并行的。如果将Pi和Pj执行顺序颠倒,交换串行,即先执行Pj,而后再执行Pi,很明显同样也会得不到应有的正确结果。然而,有一种特殊情形,即当Pi和Pj服从交换律时,如 Pi A=2*A PjA=3*A 虽不能并行执行,却允许它们交换串行。最终A新为6*A原, 和顺序串行的结果一致。 ; (2) 数据反相关 如果Pj的左部变量在Pi的右部变量集内,且当Pi未取用其 变量的值之前,是不允许被Pj所改变的,就称Pi“数据反相关” 于Pj。 例如 PiC=A+E PjA=B+D 相当于流水中发生的“先读后写”相关。 顺序串行运行的正确结果应是 PiC新=A原+E原 PjA新=B原+D原;可以看出,当Pi与Pj并行时,只要硬件上能保证Pi对相关单元A先读出,就能得到正确的结果。然而若将Pi和Pj交换串行, 就成了 Pj A新=B原+D原 Pi C新=A新+E原=B原+D原+E原 而发生错误, 所以, 是不能交换串行的。 怎样从硬件上保证对相关单元先读后写的次序呢?采用图7-20的多处理机结构能较好地保证。;图 7.20 能保证读—写次序的多处理机结构; (3) 数据输出相关 如果Pi的左部变量也是Pj的左部变量,

文档评论(0)

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

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

1亿VIP精品文档

相关文档