- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
向量处理的基本概念 向量流水处理机的结构 提高向量流水处理机性能的方法 向量处理的基本概念 从数学的概念上讲,标量是指单个量,而向量是指一组标量。例如,有一个数组A=(a1,a2,a3,…,an),其中括号内的每一个元素ai就是一个标量。而A称为向量,它由一组标量组成。 一条向量指令可以处理N个或N对操作数。我们把这N个互相独立的数叫做向量,对这样一组数的运算叫做向量处理。因此,向量指令的处理效率要比标量指令的处理效率高得多。 向量处理方式 有三种处理方式: 横向处理方式,又称为水平处理方式,横向加工方式等。向量计算是按行的方式从左至右横向地进行。 纵向处理方式,又称为垂直处理方式,纵向加工方式等。向量计算是按列的方式自上而下纵向地进行。 纵横处理方式,又称为分组处理方式,纵横向加工方式等。横向处理和纵向处理相结合的方式。 要根据向量运算的特点和向量处理机的类型选择向量的处理方式。 向量处理方式 例如:向量计算:A*(B+C) 的?循环程序 用C语言为 for(i=1; i=n; i++) di= ai * (bi+ci) 水平处理法(横向) d1=a1*(b1+c1) d2=a2*(b2+c2) · · dn=an*(bn+cn) 水平处理法 假设中间结果为t(i) 计算第1个分量:t(1) =b(1)+c(1)d(1) =a(1)×t(1) 计算第2个分量:T(2) =b(2)+c(2)d(2) =a(2)×t(2) …… 计算第N个分量:t(N) =b(N)+c(N)d(N) =a(N)×t(N) 当采用流水方式计算时,在每个向量加乘运算中都会发生数据相关。而且当使用静态流水线时,还要进行2次乘和加功能的转移。这样共出现N次相关,2N次功能转换。因此,横向处理方法不适合于向量流水处理。 纵向处理法 向量计算是按列的方式自上而下纵向地进行。 即先是所有B和C向量元素对的相加运算,中间结果暂存到k1~kN中;然后再纵向加工所有对应元素的乘法运算。? 纵向处理法 用向量指令形式来表示,则变成:??K=B+C??D=K×A 只需要两条指令就能实现 VADD B, C, K VMUL K, A, D 显然,当采用流水方式计算时,数据相关在两条向量指令间仅有1次,而流水线加、乘功能的切换只需1次。因此,纵向处理方法可获得较高的吞吐率,适合于在向量处理机中应用。 纵横处理法 当向量长度N大于向量寄存器长度n时,需要分组处理。 分成k组,组内采用纵向处理方式,组间采用横向处理方式。 分组方法: n=k*m+r 其中:m为每组长度,r为第k+1组剩余分量 Bi+Ci?Ki (1到m) Ki*Ai?Di (1到m) …… Bi+Ci?Ki (m+1到2m) Ki*Ai?Di (m+1到2m) …… 纵横处理法 每组用两条向量指令, 每组发生相关两次,其中组内发生数据相关一次,组间切换时发生相关一次。 主要优点: 减少访问主存储器的次数例如:中间变量K不写入主存储器 向量处理的基本概念 向量流水处理机的结构 提高向量流水处理机性能的方法 向量流水处理机的结构 向量流水处理机的结构 按向量元素和结果存放分M-M和R-R两类。 存储器-存储器结构 多个独立的存储器模块并行工作 处理机结构简单 对存储系统的访问速度要求很高 寄存器-寄存器结构 运算通过向量寄存器进行 需要大量高速寄存器 对存储系统访问速度的要求降低 存储器-存储器结构 向量处理机的基本思想是把两个向量的对应分量进行计算,产生一个结果向量。 参加运算的向量数据在存储器中,运算的结果也送到存储器中,其结构与数据流的示意图如下图所示。如果以向量加法为例子:C=A+B 多模块存储器系统的向量处理机 向量计算C=A+B的时空图 假设一个存取周期等于两个时钟周期,并假设向量A、B、C各有8个,那么理想实现C=A+B向量计算的时空图如图所示。 为了不发生读写冲突,各向量元素在存储模块中的位置是有意安排的。由于运算流水线分为4段,因此输入数据进入流水线4个时钟周期之后才能产生相应的输出值。当数据充满后,流水线就一直处于忙碌状态。 寄存器--寄存器结构 使主存有较高带宽的另一种方法是由一级或多级中间存储器形成一个层次结构的存储器系统,其中带宽最高的这一级存储器安排在离处理器最近的位置。当处理器需要向量时,把向量从主存送到速度最快的这一级存储器。反之,运算结果也先送到速度最快的中间存储器。由于中间级存储器起着数据的中间存储作用,功能上相当于寄存器,因此称为寄存器-寄存器型向量处理机。 Cray-1向量机结构 对于向量运算来
文档评论(0)