- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 向量处理机 本章重点: 向量处理方式 存储器-存储器结构,寄存器-寄存器结构 链接技术 6.1 向量处理的基本概念 什么是向量处理 向量处理的基本方式 6.1.1 什么是向量处理 (1)向量处理和标量处理的差别 例段高级语言程序: DO 100 I=1,N A(I)=B(I)+C(I) 100 B(I)=2*A(I+1) 在一般机器上可用以下指令序列实现: INITIALIZE I=1 10 READ B(I) READ C(I) ADD B(I)+C(I) STORE A(I)← B(I)+C(I) READ A (I+1) 什么是向量处理 MULTIPLY 2*A (I+1) STORE B(I)← 2*A (I+1) INCREMENT I ← I+1 IF I≤N GOTO 10 STOP 上面的程序在向量机上可用以下指令序列实现: A(1:N)=B (1:N)+C (1:N) TEMP (1:N)= A(2:N+1) B(1:N)=2*TEMP (1:N) (2) 向量数据表示 向量运算指令: 其中,向量参数: 基地址——指向第一个元素 位移量——与基地址一起形成参加运算的第一个元素 长度——用于校验地址是否越界 向量运算步骤: 从主存中取参数,存入寄存器 用一条向量指令对整个向量的所有元素进行运算 向量数据表示的优点: 快速形成元素地址 实现向量的成块或分块预取 有效处理稀疏向量 6.1.2 向量处理方式 横向处理方式 : 按行的方式,从左到右进行; 纵向处理方式 : 按列的方式,从上而下的进行; 纵横处理方式 : 横向与纵向结合. 横向处理方式 例如: DO 100 I=1,N,1 100 Fi=Ai2*B+Di*(Ai2 -Ei) 先算: A12*B+D1*(A12 -E1)=F1 再算: A22*B+D2*(A22 -E2)=F2 … 最后算: An2*B+Dn*(An2 -En)=Fn 特点:适于一般的标量处理机,不适于向量处理机. 纵向处理方式 假设A=(a1,a2,…,an),D=(d1,d2,…,dn) E=(e1,e2,…,en),F=(f1,f2,…,fn) 对于上例,则F= A2*B+D*(A2 -E) 先算: A2=U 再算: B*U=V 再算: U-E=U 再算: U*D=U … 最后算: U+V=F 特点:适于向量处理机;对存储器信息流量要求较高. 纵横处理方式 先算第1组: A21~n=U1~n B*U1~n=V1~n … 再算第2组: A2n+1~2n=Un+1~2n B*Un+1~2n=Vn+1~2n ... 最后算第k+1组: A2kn+1~N=Ukn+1~N B*Ukn+1~N=Vkn+1~N … Ukn+1~N+Vkn+1~N=Fkn+1~N 特点:分组处理,适于向量处理机,对存储器信息流量要求较低. 6.2 向量处理机结构 向量处理机的基本思想是:把两个向量的对应分量进行运算,产生一个结果向量. 例如:如果A,B,C是具有N个元素的向量,则向量处理机能够完成如下运算: C=A+B 也可表示成: ci=ai+bi 0≤i ≤ N-1 一般采用流水线运算部件实现上述向量运算,方法如下图所示. 一种能实现两个向量相加的流水线结构的加法器 向量处理机的存储系统的设计问题 要求: 提供给运算器连续不断的数据流 接收来自运算器连续不断的运算结果 采用的主要技术: 在系统结构方面,设法维持数据流的连续性;调整操作次序以减少数据流请求. 向量结构中取指令操作所要求的带宽可以忽略 假设取操作数、运算、把结果写回存储器在一个时钟周期内完成,就要求存储系统能在一个时钟周期内读出两个操作数和写回一个运算结果。 一般的随机访问存储器一个时钟周期内最多只能完成一次读操作或写操作。因此上图所示的存储器系统的带宽至少应3倍于一般的存储器系统。这里还忽略了输入输出操作对存储器带宽的要求,以及取指令对存储器带宽的影响. 向量结构的一大优点就在于取一次指令可以完成一个很长的向量运算。所以,与传统结构中20%~50%的带宽用于取指令的情况相比,向量结构中取指令操作所要求的带宽可以忽略。 设计出一个能满足运算器带宽要求的存储器系统 目前市场上出售的向量计算机主要采用两种方法: 利用几个独立的存储器模块来支持对相互独立的数据的并发访问,从而达到所要求的存储器带宽,即存储器-存储器结构。 构造一个具有所要求带宽的高速中间存储器,并能实现该高速中间存储器与主存储器之间的快速数据交换,即寄存器-寄存器结构
文档评论(0)