六章向量处理机.pptVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
六章向量处理机

6.1 向量处理的基本概念 什么是向量处理? 例如:一个简单的C语言程序如下: for (i = 1; i n; i++) { a[i] = b[i] +c[i] ; b[i] =2*a[ i+1] ; } 在标量处理机上用下述指令实现: A、B、C分别是向量a、b、c在内存中的起始地址: INITIALIZE I=1 10 if (iN ) GOTO 20 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 goto 10 20 Stop 上述程序用向量化指令序列实现为: a[1:n]=b[1:n]+c[1:n] temp[1:n]=a[2:n+1] b[1:n]=2*temp[1:n] 将n个独立的数构成的整体称为向量,对这一组数的运算称为向量处理。一条向量处理指令可以处理n个或n对操作数。 1)向量处理机是解决数值计算问题的一种高性能计算机结构 2)由于向量内各个元素间很少相关,而且对向量中各元素一般又是执行同一操作,向量处理机一般都采用流水线结构,有多条流水线并行工作 3)一条向量指令对应一个循环的数组运算,一条向量指令包含大量的数据运算 4)向量处理机通常属大型或巨型机,也可以用微机加一台向量协处理器组成 5)一般向量计算机中包括有一台高性能标量处理机 6)必须把要解决的问题转化为向量运算,向量处理机才能充分发挥作用 向量处理方式 要根据向量运算的特点和向量处理机的类型选择向量的处理方式。 有三种处理方式: 1.横向处理方式,又称为水平处理方式,横向加工方式等。向量计算是按行的方式从左至右横向地进行。 2.纵向处理方式,又称为垂直处理方式,纵向加工方式等。向量计算是按列的方式自上而下纵向地进行。 3.纵横处理方式,又称为分组处理方式,纵横向加工方式等。横向处理和纵向处理相结合的方式。 以一个简单的C语言编写的程序为例,说明向量的三种处理方式的工作原理。 for (i = 1;i = n;i++) y[i] = a[i] ×( b[i] + c[i] ); 横向处理方式 也称为水平处理方式,横向加工方式等 逐个分量进行处理:假设中间结果为T[I] 计算第1个分量: T[1] =B[1]+C[1] Y[1] =A[1]×T[1] 计算第2个分量: T[2] =B[2]+C[2] Y[2] =A[2]×T[2] …… 最后一个分量: T[N] =B[N]+C[N] Y[N]=A[N]×T[N] 存在两个问题: 在计算向量的每个分量时,都发生写读数据相关。流水线效率低 如果采用多功能流水线,必须频繁进行流水线切换 横向处理方式对向量处理机不适合 即使在标量处理机中,也经常通过编译器进行指令流调度。 纵向处理 也称为垂直处理方式,纵向加工方式等 T[1] = B[1] + C[1] T[2] = B[2] + C[2] …… T[n] = B[n] + C[n] Y[1] = A[1]×T[1] Y[2] = A[2]×T[2] …… Y[N] = A[N] ×T[N] 采用向量指令只需要2条: VADD B, C, T VMUL A, T, Y 这种处理方式适用于向量处理机,数据相关不影响流水线连续工作。不同的运算操作只需要切换1次。 纵横处理方式 将长度为n的向量分成若干组,每组长度为m,组内按纵向方式处理,依次处理各组。 用于寄存器-寄存器结构的向量处理机中 向量寄存器的长度是有限的,例如,每个向量寄存器有64个寄存器。当向量长度N大于向量寄存器长度n时,需要分组处理。 分组方法:n=K·m+r,其中:r为余数,共分k+1组。 组内采用纵向处理方式,组间采用横向处理方式。因此,也称为分组处理方式,纵横向加工方式等。 6.2 向量处理机结构 向量处理机的基本思想是把两个向量的对应分量进行运算,产生一个结果向量。最关键问题是存储器系统能够满足运算部件带宽的要求。 主要采用两种方法: 1. 存储器-存储器结构 多个独立的存储器模块并行工作 处理机结构简单,对存储系统的访问速度要求很高 2. 寄存器-寄存器结构 运算通过向量寄存器进行 需要大量高速寄存器,对存储系统访问速度的要求降低 存储器-存储器结构 下图说明一个具有8个存储体的向量处理机: 向量处理示例1:求C=A+B,设

您可能关注的文档

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档