第 3 章 流水线技术_向量.ppt
上传人:yy****24 上传时间:2024-09-10 格式:PPT 页数:116 大小:4.1MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第 3 章 流水线技术_向量.ppt

第3章流水线技术_向量.ppt

预览

免费试读已结束,剩余 106 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

3.6向量流水技术向量处理机是具有向量数据表示和向量指令系统的处理机。向量处理机是解决数值计算问题的一种高性能计算机。向量处理机属大型或巨型机,也可以用微机加一台向量协处理器组成。向量处理机一般都采用流水线结构,通常有多条并行工作的流水线。必须把要解决的问题转化为向量运算,才能发挥向量处理机的效率。3.6.1向量流水机的基本系统结构3.6.1.1向量流水处理的主要特点在对相同数量的数据项进行操作时,向量操作要比一串标量指令操作更快。向量流水机可使访存和有效地址计算流水化。高档的向量机允许多个向量操作同时进行,从而可开发对不同元素进行多个向量操作的并行性。3.6.1.2向量机的基本系统结构典型的向量机基本系统结构向量处理机的典型结构图例:一个典型向量求解问题:Y=a×X+Y其中X和Y为向量,初始值存放在存储器中,a为标量。采用双精度运算时的算法:a乘X后再加Y。若用标量机运算,需要用标量指令对向量中的每个元素进行一次乘、加和存储操作,并且为了实现循环操作,每次必须要指明对X和Y中元素位置的下标变量进行增量,并使操作次数每次减1,以判别循环是否结束。设X和Y向量的首地址分别存放在Rx和Ry中,当向量元素长度为64时,用标量机处理的循环程序段为:LDF0,a;标量a装入F0ADDIR4,Rx,#512;将向量元素的末地址装;入R4中LOOP:LDF2,0(Rx);取向量元素X(i)MULDF2,F0,F2;a与X(i)相乘LDF4,0(Ry);取向量元素Y(i)ADDDF4,F2,F4;aX(i)与Y(i)相加SD0(Ry),F4;存结果向量元素ADDIRx,Rx,#8;增量向量元素X下标ADDIRy,Ry,#8;增量向量元素Y下标SUBR20,R4,Rx;R4-Rx→R20,计算是;否到达限界值BNZR20,LOOP;若循环未结束,转LOOP用向量机完成同样操作:LDF0,a;标量a装入F0LVV1,Rx;装入向量X,LV为向量取指令MULTVV2,F0,V1;向量X与标量a相乘LVV3,Ry;装入向量YADDVV4,V2,V3;向量加aX+YSVRy,V4;存结果向量,SV为向量存指令标量机与向量机计算Y=a×X+Y的比较3.6.1.3向量启动时间和启动率例:一个向量乘法流水部件的启动时间为l0个时钟周期。启动后的启动率为1。对于长度为64的向量乘法,产生每个向量元素结果所需时钟周期数为:对于运行速度较慢的向量流水操作,启动时间的大小对它的影响不大,但对于启动率为1的高速向量流水操作,启动时间的增加就将使性能受到较大影响。寄存器—寄存器工作方式的影响因素3.6.2向量操作长度控制和向量访问步长可见向量操作长度依赖于n值,而这个n值通常在编译时无法知道,往往要在运行时才可确定,而且这个长度也可能是过程的参数,因此在执行时很易改变。解决方法:采用一个向量长度寄存器,存放某一代码段操作的长度,由它来控制向量操作的长度以及向量的装载和存储。在向量长度寄存器中存放的向量长度值不能超过向量寄存器的长度(MVL)。向量长度小于向量寄存器长度时,均可放入向量寄存器。向量长度大于向量寄存器长度时,需将向量长度按向量寄存器长度分段,分段后的向量长度即是每次向量操作的长度,它必须等于或小于向量寄存器长度。采用分段技术后,SAXPY循环可写成如下形式:low=0;VL=n%MVL;*找出零头长度值for(j=0;j<n/MVL;j++){*外循环for(i=low;i<low+VL;i++)*以长度VL操作Y[i]=a*X[i]+Y[i];*主要操作low=low+VL;*下一向量的开始VL=MVL;*将长度值恢复成MVL};经分段处理后,第一段长度为nmodMVL,而以后各段的长度均为MVL。2.向量访问步长例:元素为100×100的A=B×C矩阵乘法的程序段为:for(i=0;i<100;i++)for(j=0;j<100;j++){A[i,j]=0.0;for(k=0;k<100;k++)A[i,j]=A[i,j]+B[i,k]*C[k,j];}在执行内循环k时,若以行为主存放矩阵元素,则B矩阵中元素是连续存放的,C矩阵中元素是以跨步方式进行访问的,相邻元素的间距为100。支持完全的一维数据显式访问的向量机是指能支持对向量跨步访问的向量机。当向量由存储器装入向量寄存器后,原来在存储器中间隔存放的元素在向量寄存器中便成为逻辑上相连续的。能支持完全的一维数据显式访问的向量机能以行、列,甚至沿对角线访问这些方向上的向量元素。CRAY—1巨型机属于能支持完全的一维数据显式访问的向量机。CYBER—205巨型机采用存储器—存储器工作方式,它不支持完全的