第6讲-计算机系统结构(第五版)李学干.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
   【例 6-1】   计算D=A×(B+C),其中A、B、C、D都是有N个元素的向量,应该采用什么方式处理才能充分发挥流水线的效能   如果采用逐个求D向量元素的方法,即访存取ai、bi、ci元素求di,再取ai+1、bi+1、ci+1求di+1, 则这种处理方式称为横向(水平)处理方式。 6.1.2 向量流水处理机的结构举例   向量流水处理机的结构因具体机器的不同而不同。 图6 - 1只画出了CRAY-1中央处理机中有关向量流水处理部分的简图。   CRAY-1有标量类和向量类指令共128条,其中有4种向量指令如图6 - 2所示。    第Ⅰ种源向量分别取自两个向量寄存器组Vj、Vk,结果送向量寄存器组Vi。第Ⅱ种与第 Ⅰ 种的差别只在于它的一个操作数取自标量寄存器Sj。 6.1.3 通过并行、链接提高性能   一般可采取让多个流水线功能部件并行、流水线链接、加快条件语句和稀疏矩阵处理、加快向量的归约操作等办法来提高向量流水处理的性能。   以CRAY-1的向量流水为例,向量寄存器组Vi在同一时钟周期内可接收一个结果分量并为下次操作再提供一个源分量。每个Vi组都有单独的总线连到各功能部件上,而每个 功能部件也都有把运算结果送回向量寄存器组的输出总线。所谓Vi冲突,指的是并行工作的各向量指令的源向量或结果向量使用了相同的Vi。所谓功能部件冲突,指的是同一个功能部件被要求并行工作的多条向量指令所使用。   第一、二条指令无任何冲突,可以并行执行。第三条指令与第一、二条指令出现Vi冲突,存在先写后读数相关,本来是不能并行执行的,但若能把第一、二条指令的结果分量直接链接进第三条指令所用的功能部件,那第三条指令就能与第一、二条指令在大部分时间内并行。它们的链接过程如图6 - 3所示。 6.1.4 提高向量流水处理速度的其他办法   1. 条件语言和稀疏矩阵的加速处理   当程序中出现条件语句或进行稀疏向量、矩阵运算时,难以发挥出向量处理的优点。   2. 向量递归操作的加速处理   CRAY-1的向量指令还可以通过让源向量和结果向量使用同一个向量寄存器组,并控制分量计数器值的修改,来实现递归操作。   图6 - 4画出了其部分时间关系示意图。设源/结果向量寄存器组用V0,另一源向量寄存器组用V1。在指令开始执 行前,先把V0的零分量(V00)置“0”。V1置入需要运算的全部浮点数分量。向量长度寄存器VL的内容假定置为64。 (V058)=(V050)+(V158) =(V12)+(V110)+(V118)+(V126)+(V134) +(V142)+(V150)+(V158) (V059)=(V051)+(V159) =(V13)+(V111)+(V119)+(V127)+(V135) +(V143)+(V151)+(V159) 6.2.1 阵列处理机的构形和特点   1. 阵列处理机的构形 阵列处理机有两种构形,两者的差别主要在于存储器的组成方式和互连网络的作用不同。   构形1 图6 - 5是具有分布式存储器的阵列处理机的构形。   构形2 图6 - 6是具有集中式共享存储器的阵列处理机构形。   2. 阵列处理机的特点 阵列处理机的单指令流多数据流处理方式和由它产生的特殊结构是以诸如有限差分、矩阵、信号处理、线性规划等一系列计算问题为背景发展起来的。 6.2.2 ILLIAC Ⅳ的处理单元阵列结构   由于阵列处理机上的并行算法的研究是与结构紧密联系在一起的,因此,下面先介绍ILLIAC Ⅳ阵列机上处理单元的互连结构。ILLIAC Ⅳ采用如图6 - 5所示的分布存储器构 形,其处理单元阵列结构如图6 - 7所示。 6.2.3 ILLIAC Ⅳ的并行算法举例   1. 矩阵加   阵列处理机解决矩阵加是最简单的一维情况。两个8×8的矩阵A、B相加,所得的结果矩阵C也是一个8×8的矩阵。只需把A、B、C居于相应位置的分量存放在同一个PEM内,且在全部64个PEM中,让A、B和C的各分量地址均对应取相同的地址α、α+1和α+2即可,如图6 - 8所示。   让J=0~7各部分同时在PE0~PE7上运算,这样只需K、I二重循环,速度可提高为原来的8倍,即只需64次乘、加时间。其程序流程图如图6 - 9所示。   然而为了让各个处理单元PEi尽可能只访问所带局部存储器PEMi,以保证高速处理,就必须要求对矩阵A、B、C各分量在局部存储器中的分布采用如图6 - 10所示的方案。   3. 累

文档评论(0)

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

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

1亿VIP精品文档

相关文档