向量流水处理机_第1页
向量流水处理机_第2页
向量流水处理机_第3页
向量流水处理机_第4页
向量流水处理机_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、向量流水处理机向量处理的根本概念向量流水处理机的构造提高向量流水处理机性能的方法2向量处理的根本概念从数学的概念上讲,标量是指单个量,而向量是指一组标量。例如,有一个数组Aa1,a2,a3,an,其中括号内的每一个元素ai就是一个标量。而A称为向量,它由一组标量组成。一条向量指令可以处理N个或N对操作数。我们把这N个互相独立的数叫做向量,对这样一组数的运算叫做向量处理。因此,向量指令的处理效率要比标量指令的处理效率高得多。3向量处理方式有三种处理方式:横向处理方式,又称为水平处理方式,横向加工方式等。向量计算是按行的方式从左至右横向地进展。纵向处理方式,又称为垂直处理方式,纵向加工方式等。向量

2、计算是按列的方式自上而下纵向地进展。纵横处理方式,又称为分组处理方式,纵横向加工方式等。横向处理和纵向处理相结合的方式。要根据向量运算的特点和向量处理机的类型选择向量的处理方式。4向量处理方式例如:向量计算: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)5水平处理法假设中间结果为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个分

3、量:t(N) b(N)c(N)d(N) a(N)t(N)当采用流水方式计算时,在每个向量加乘运算中都会发生数据相关。而且当使用静态流水线时,还要进展2次乘和加功能的转移。这样共出现N次相关,2N次功能转换。因此,横向处理方法不适合于向量流水处理。 6纵向处理法向量计算是按列的方式自上而下纵向地进展。即先是所有B和C向量元素对的相加运算,中间结果暂存到k1kN中;然后再纵向加工所有对应元素的乘法运算。b1c1b2c2d1a1d2a2 :dNaNbNcNk1k2kN7纵向处理法用向量指令形式来表示,那么变成:KBCDKA只需要两条指令就能实现 VADDB, C, K VMULK, A, D显然,当

4、采用流水方式计算时,数据相关在两条向量指令间仅有1次,而流水线加、乘功能的切换只需1次。因此,纵向处理方法可获得较高的吞吐率,适合于在向量处理机中应用。8纵横处理法当向量长度N大于向量存放器长度n时,需要分组处理。分成k组,组内采用纵向处理方式,组间采用横向处理方式。分组方法: n=k*m+r 其中:m为每组长度,r为第k+1组剩余分量 Bi+CiKi (1到m) Ki*AiDi (1到m) Bi+CiKi (m+1到2m) Ki*AiDi (m+1到2m) 9纵横处理法每组用两条向量指令,每组发生相关两次,其中组内发生数据相关一次,组间切换时发生相关一次。主要优点:减少访问主存储器的次数例如

5、:中间变量K不写入主存储器10向量处理的根本概念向量流水处理机的构造提高向量流水处理机性能的方法11根本构造主存标量存放器标量功能部件向量功能部件向量存放器/向量缓冲器向量指令控制部件向量存取部件指令处理部件向量功能部件向量功能部件控制局部:控制部件和缓冲部件中间REG标量流水:功能部件和标量存放器(S)向量流水:功能、存取部件和存放器(V、VM、VL)向量流水处理机的构造12向量流水处理机的构造按向量元素和结果存放分M-M和R-R两类。存储器存储器构造多个独立的存储器模块并行工作处理机构造简单对存储系统的访问速度要求很高存放器存放器构造运算通过向量存放器进展需要大量高速存放器对存储系统访问速

6、度的要求降低13存储器-存储器构造向量处理机的根本思想是把两个向量的对应分量进展计算,产生一个结果向量。参加运算的向量数据在存储器中,运算的结果也送到存储器中,其构造与数据流的示意图如以下图所示。如果以向量加法为例子:C=A+BABC流水线运算部件多端口存储系统一种能实现两个向量相加的流水构造的加法器14加法流水线部件M1M2M6AB1234C=A+Ba1b1M3M4M5c1M7M8A、B、C的向量长度为8,加法流水线分为4个功能段,主存储器采取了8个存储体 多模块存储器系统的向量处理机15向量计算C=A+B的时空图假设一个存取周期等于两个时钟周期,并假设向量A、B、C各有8个,那么理想实现C

7、AB向量计算的时空图如下图。为了不发生读写冲突,各向量元素在存储模块中的位置是有意安排的。由于运算流水线分为4段,因此输入数据进入流水线4个时钟周期之后才能产生相应的输出值。当数据充满后,流水线就一直处于忙碌状态。16功能部件4功能部件3功能部件2功能部件1存储体M8存储体M7存储体M6存储体M5存储体M4存储体M3存储体M2存储体M1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 t 1 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 8RB6 RB6 RA8 RA8 WC4 WC4RB5 RB5

8、 RA7 RA7 WC3 WC3RB4 RB4 RA6 RA6 WC2 WC2RB3 RB3 RA5 RA5 WC1 WC1RB2 RB2 RA4 RA4 RB1 RB1 RA3 RA3 RA2 RA2 RA1 RA1 WC8 WC8WC7 WC7WC6 WC6WC5 WC5RB8 RB8RB7 RB7C=A+B向量处理时序图17具有延缓慢冲器的向量流水线构造 然而实际情况并非总和上述理想化的情况一样。假设结果向量C的第一个元素C1不是存放在我们想存放的模块M5而是在模块M6,那么将出现存储模块的读写冲突。为了消除争用存储器的现象,可在运算流水线的输入端和输出端增加可变延缓慢冲器,如下图。显然

9、,有了输入输出缓冲器,可以实现向量操作无冲突地进展存储系统可变延迟器流水处理部件可变延迟器先启动读A,再启动读B,A延迟2个时钟进入加法器18存放器-存放器构造使主存有较高带宽的另一种方法是由一级或多级中间存储器形成一个层次构造的存储器系统,其中带宽最高的这一级存储器安排在离处理器最近的位置。当处理器需要向量时,把向量从主存送到速度最快的这一级存储器。反之,运算结果也先送到速度最快的中间存储器。由于中间级存储器起着数据的中间存储作用,功能上相当于存放器,因此称为存放器-存放器型向量处理机。19主存储器地址部件标量部件浮点部件向量部件向量寄存器V0-V7标量寄存器S0-S7地址寄存器A0-A7地

10、址乘 (6级)地址加 (2级)移位(23级)逻辑 (1级)1计数 (3级)整数加 (3级)浮点倒数(14级)浮点乘 (7级)浮点加 (6级)逻辑(2级)位移(4级)整数加 (3级)Cray-1向量机构造20对于向量运算来说,中间存储器是8个向量存放器(V),每个向量存放器有64个分量,每个分量为一个64位存放器。 执行向量指令时,流水构造运算器在一个时钟周期内从两个V存放器得到一对操作数,完成某种操作后用一个时钟周期时间把结果送入另一个V存放器。注意,此处的向量运算流水线是从向量存放器而不是从主存储器获得数据。同样,从流水线输出的结果向量也是送回向量存放器。而另一方面,主存储器与V存放器之间的

11、数据传送以成组传送方式进展。对标量运算来说,有两级中间存储器。速度很快的一级是8个64位的S存放器,它是标量存放器。主存与T存放器之间以成组传送方式进展数据交换。21中间存储器的优点这种中间存储器与Cache相比的一大优点是速度快。因为CRAY-1流水运算器通过存放器寻址方式访问中间存储器,而访问Cache必须查Cache表,这需要较长时间。22向量处理的根本概念向量流水处理机的构造提高向量流水处理机性能的方法23提高向量流水处理机性能的方法一、多功能部件并行操作二、链接技术三、分段开采技术四、向量递归技术24一、多功能部件并行操作对向量机中多个功能部件,使其能并行操作。并行操作条件:(1)不

12、存在向量存放器使用冲突不允许出现RAW、WAR、WAW、RAR相关。如:V4V1+V2V5V1V2 V5V2V3V5V3V4(2)不存在功能部件使用冲突每种功能部件一般只设置一个。如:V3V1V2 V6V4V525二、链接技术利用向量指令间存在的先写后读的数据相关性来加快向量指令序列执行速度的技术称为链接技术。实质上,链接技术是标量流水定向传送方法在向量存放器中的应用。例如下面的向量加、向量乘操作:ADDV V1,V2,V3 ; V1V2V3MULV V4,V1,V5 ; V4V1V526由于这两条指令间对V1向量存放器存在先写后读相关,通常必须等加法指令做完后才可开场乘法指令。但如果使向量存

13、放器V1在同一时钟周期内,既接收一个功能部件送来的运算结果,又可把这一结果作为下一个向量指令运算所需的源操作数传送给另一个功能部件,那就可使这两个部件链接起来进展操作。通常把这种链接称为超级向量操作。当链接进入充分流水操作状态后,在1个时钟周期就可同时获取两个操作结果。27链接条件:(1)不存在功能部件使用冲突;(2)共用向量存放器中向量长度、起始地址、偏移量、步长均相等;(3)参与链接的先行指令产生结果周期一样;(4)只有在先行指令产生第一结果分量的那个时钟方可链接,否那么不行。适用情况:即第1条指令的结果,是第2条指令的操作数,这时,所得到的第1条指令的中间结果不必要等待全部向量元素都执行

14、完才进展第二条指令的操作,可以将从一个流水线部件得到的结果直接送入下一个功能流水线部件的向量存放器,形成两条指令的链接注意:不同向量机对向量指令的链接方法有所不同28例:用链接技术进展向量运算:DA(BC) 假设向量长度64,且向量B、C已由存储器取至V0和V1。解:用下面3条向量指令可完成上述运算: LV V3, M(A) ; V3A ADDV V2, V0, V1 ; V2V0V1 MULV V,V2, V3 ; VV2V3第1、2条指令无向量存放器使用冲突,也无功能部件使用冲突,因而可以并行执行。第3条指令与第1、2条指令均存在先写后读相关冲突,因而可将第3条指令与第1、2条指令链接执行

15、。由于同步的要求,数据进入、流出每个功能部件,包括访问储存器,都需1个时钟周期时间。29访存与浮点加并行,再与浮点乘链接LDV3,AADDVV2,V0,V1MULVV4,V2,V3V0V4V1V2V3132456132456浮点加浮点乘DBC访存存储器A并行和链接操作图132467530浮点加访存浮点乘6543216543217654321启动流出启动第一个结果流出1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17一个数据处理时间17第一,二条指令并行与第三条链接31假设三条指令串行执行,即每次只有前条指令完毕,才执行后继指令,那么三条指令执行的总时间为:(1+

16、6+1)+N-1+(1+6+1)+N-1+(1+7+1)+N-1 = 3N+22(拍)假设第一、二条指令并行与第三条串行: (1+6+1)+N-1+(1+7+1)+N-1=2N+15(拍)假设第一,二条指令并行与第三条链接: (1+6+1)+(1+7+1)+(N-1)=N+16(拍)可以看出采用并行与链接后,可以很有效的改善性能。 32三、分段开采技术处理长向量的程序构造称为向量循环。当向量的长度大于向量存放器的长度时,必须把长向量分成长度固定的段。分段开采技术一次处理一个向量段。将长向量分段成循环是系统硬件和软件控制完成的,程序员看不到这种向量分段为循环的过程,即对程序员是透明的。每经过一次

17、循环,就处理长向量的一个段。一般在进入循环以前,根据向量长度计算出循环计数值。33例:A和B为长度N的向量。 for (i=1; i=N/64; i+) 4:VoB 将B向量读入向量存放器5:V1S1 Vo B数组的每个分量乘常数6:V2S2V1 C和5 B(x)相加7:AV2 将结果向量存入A数组35 前面所讲的三种技术措施都是在单处理机构造的向量计算机上实现的。为了更有效地提高向量处理性能,新型向量机采用了多处理机系统构造。 在确定的应用背景下,向量处理机系统性能应该随处理机数目的增加而线性地提高。但是系统规模的扩展性不仅涉及CPU,还涉及存储器和IO资源,另外还要考虑价格和效率。因此,在

18、系统设计时,力求做到处理速度、存储容量和IO吞吐能力三者之间的平衡。否那么会出现瓶颈,整个系统的效率得不到发挥。采用多处理机系统构造36加速向量归约操作应用举例:实现方法一: 正常方法(1) C=AB; -流水向量操作(2) 对C进展递归折叠求和。-串行循环操作实现方法二: 加速方法(1) C=V3V4 -流水向量操作(2) V0=V0+C -归约操作37 归约实现方法: V0V0 + C)(1)置V0各分量为0,V0和C的计数器C0、C1均为0;(2)计数器C0在t8之前保持为0, C1在每个时钟周期后加1,直到第一个结果分量出来。8个时钟周期3计数器C0在t8之后每个时钟周期加1,直到等于

19、向量计算长度为止。38V00,C0V00=C0V00,C1V01=C1V00,C7V07=C7V00,C8V08=C0+C8V01,C9V09=C1+C9V07,C15V015=C7+C15V048,C56V056=C0+C8+C56V049,C57V057=C1+C9+C57V055,C63V063=C7+C15+C63t0t8t16t63 结果: V0的最后8个分量为C0至C63之和。39向量化编译技术一、向量化根本功能是否可用向量表示。是否存在相关、条件语句、操作数的间接访问等。用向量指令代替循环,用屏蔽向量实现条件判断。指令系统具有向量功能,编译程序支持向量操作。40向量化编译技术二、向量化编译优化公共子表达式消除、常数调入、复制语句传递等。固定表达式移出、归约变量消除,向量指令表示等。重新分配向量存放

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论