欢迎来到天天文库
浏览记录
ID:51621004
大小:555.31 KB
页数:46页
时间:2020-03-26
《《向量流水处理机》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十四讲向量流水处理机计算机系统结构向量处理的基本概念向量流水处理机的结构提高向量流水处理机性能的方法2向量处理的基本概念从数学的概念上讲,标量是指单个量,而向量是指一组标量。例如,有一个数组A=(a1,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
3、)×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次功能转换。因此,横向处理方法不适合于向量流水处理。6纵向处理法向量计算是按列的方式自上而下纵向地进行。即先是所有B和C向量元素对的相加运算,中间结果暂存到k1~kN中;然后再纵向加工所有对应元素的乘法运算。(b1+c1)(b2+c2)d1=a1×d2=a2×:dN
4、=aN×(bN+cN)k1k2kN7纵向处理法用向量指令形式来表示,则变成:K=B+C D=K×A只需要两条指令就能实现VADDB,C,KVMULK,A,D显然,当采用流水方式计算时,数据相关在两条向量指令间仅有1次,而流水线加、乘功能的切换只需1次。因此,纵向处理方法可获得较高的吞吐率,适合于在向量处理机中应用。8纵横处理法当向量长度N大于向量寄存器长度n时,需要分组处理。分成k组,组内采用纵向处理方式,组间采用横向处理方式。分组方法:n=k*m+r其中:m为每组长度,r为第k+1组剩余分量Bi+CiKi(1到m)Ki*AiDi(1到m)……
5、Bi+CiKi(m+1到2m)Ki*AiDi(m+1到2m)……9纵横处理法每组用两条向量指令,每组发生相关两次,其中组内发生数据相关一次,组间切换时发生相关一次。主要优点:减少访问主存储器的次数例如:中间变量K不写入主存储器10向量处理的基本概念向量流水处理机的结构提高向量流水处理机性能的方法11基本结构主存标量寄存器标量功能部件向量功能部件向量寄存器/向量缓冲器向量指令控制部件向量存取部件指令处理部件向量功能部件向量功能部件···控制部分:控制部件和缓冲部件(中间REG)标量流水:功能部件和标量寄存器(S)向量流水:功能、存取部件和寄存器(V、VM、
6、VL)向量流水处理机的结构12向量流水处理机的结构按向量元素和结果存放分M-M和R-R两类。存储器-存储器结构多个独立的存储器模块并行工作处理机结构简单对存储系统的访问速度要求很高寄存器-寄存器结构运算通过向量寄存器进行需要大量高速寄存器对存储系统访问速度的要求降低13存储器-存储器结构向量处理机的基本思想是把两个向量的对应分量进行计算,产生一个结果向量。参加运算的向量数据在存储器中,运算的结果也送到存储器中,其结构与数据流的示意图如下图所示。如果以向量加法为例子:C=A+BABC流水线运算部件多端口存储系统一种能实现两个向量相加的流水结构的加法器14加法流水
7、线部件M1M2M6AB1234C=A+Ba1b1M3M4M5c1M7M8A、B、C的向量长度为8,加法流水线分为4个功能段,主存储器采取了8个存储体多模块存储器系统的向量处理机15向量计算C=A+B的时空图假设一个存取周期等于两个时钟周期,并假设向量A、B、C各有8个,那么理想实现C=A+B向量计算的时空图如图所示。为了不发生读写冲突,各向量元素在存储模块中的位置是有意安排的。由于运算流水线分为4段,因此输入数据进入流水线4个时钟周期之后才能产生相应的输出值。当数据充满后,流水线就一直处于忙碌状态。16功能部件4功能部件3功能部件2功能部件1存储体M8存储体M
8、7存储体M6存储体M5存储体M4存储体
此文档下载收益归作者所有