- 1、本文档共116页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
向量流水技术PPT
3.6 向量流水技术;向量处理机是具有向量数据表示和向量指令系统的处理机。
向量处理机是解决数值计算问题的一种高性能计算机。
向量处理机属大型或巨型机,也可以用微机加一台向量协处理器组成。
向量处理机一般都采用流水线结构,通常有多条并行工作的流水线。
必须把要解决的问题转化为向量运算,才能发挥向量处理机的效率。;3. 6.1 向量流水机的基本系统结构;3.6.1.1 向量流水处理的主要特点;在对相同数量的数据项进行操作时,向量操作要比一串标量指令操作更快。
向量流水机可使访存和有效地址计算流水化。
高档的向量机允许多个向量操作同时进行,从而可开发对不同元素进行多个向量操作的并行性。;向量处理机的典型结构图;例:一个典型向量求解问题:
Y=a×X+Y
其中X和Y为向量,初始值存放在存储器中,a为标量。
采用双精度运算时的算法:a乘X后再加Y。;若用标量机运算,需要用标量指令对向量中的每个元素进行一次乘、加和存储操作,并且为了实现循环操作,每次必须要指明对X和Y中元素位置的下标变量进行增量,并使操作次数每次减1,以判别循环是否结束。
设X和Y向量的首地址分别存放在Rx和Ry中,当向量元素长度为64时,用标量机处理的循环程序段为:; LD F0,a ;标量a装入F0
ADDI R4,Rx,#512 ;将向量元素的末地址装 ;入R4中
LOOP:LD F2,0(Rx) ;取向量元素X(i)
MULD F2,F0,F2 ;a与X(i)相乘
LD F4,0(Ry) ;取向量元素Y(i)
ADDD F4,F2,F4 ;aX(i)与Y(i)相加
SD 0(Ry),F4 ;存结果向量元素
ADDI Rx,Rx,#8 ;增量向量元素X下标
ADDI Ry,Ry,#8 ;增量向量元素Y下标
SUB R20,R4,Rx ;R4-Rx→R20,计算是 ;否到达限界值
BNZ R20,LOOP ;若循环未结束,转LOOP;用向量机完成同样操作:
LD F0,a ;标量a装入F0
LV V1,Rx ;装入向量X,LV为向 量取指令
MULTV V2,F0,V1 ;向量X与标量a相乘
LV V3,Ry ;装入向量Y
ADDV V4,V2,V3 ;向量加aX+Y
SV Ry,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;
文档评论(0)