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

下载本文档

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

文档简介

流水线技术向量处理机第1页,共43页,2023年,2月20日,星期日(1)水平(横向)处理方式

Ki=bi+ci

Di=Ki×ai

相关:N次

功能切换:2N次虚拟存储器的特点第2页,共43页,2023年,2月20日,星期日(2)垂直(纵向)处理方式

K=B+C

D=K×A相关:1次功能切换:1次对处理机结构的要求:存储器-存储器型操作的运算流水线对存储器的带宽要求很高。例如:STAR-100,CYBER-2053.5向量处理机虚拟存储器的特点第3页,共43页,2023年,2月20日,星期日3.5向量处理机虚拟存储器的特点第4页,共43页,2023年,2月20日,星期日(3)分组(纵横)处理方式

把向量分成长度为某个固定值的若干组,

组内按纵向方式处理,依次处理各组。每组内:

相关:1次

功能切换:2次

3.5向量处理机虚拟存储器的特点第5页,共43页,2023年,2月20日,星期日3.5向量处理机虚拟存储器的特点第6页,共43页,2023年,2月20日,星期日对处理机结构的要求:

寄存器-寄存器型操作的运算流水线。举例虚拟存储器的特点第7页,共43页,2023年,2月20日,星期日2.向量处理机的速度评价方法◆标量处理机:通常用每秒执行多少指令

MIPS(MillionInstructionsPerSecond)

来衡量机器的运算速度。◆向量处理机:常用每秒取得多少个浮点运算

结果表示机器速度,以MFLOPS(Millionof

FloatingPointPerSecond)作为测量单位。另一种评定计算机速度的方法:比较法。

(选择一台速度指标得到公认的机器作为标准机,给定一些典型的基准程序。)3.5向量处理机虚拟存储器的特点第8页,共43页,2023年,2月20日,星期日3.5.2提高向量处理机性能的主要技术1.CRAY-I简介

美国CRAY公司

1976年

每秒亿次浮点运算

主频:80MHz

字长:64位2.CRAY-1的基本结构

向量运算部件:6个

整数加,逻辑运算,移位

浮点加,浮点乘,求倒数3.5向量处理机虚拟存储器的特点第9页,共43页,2023年,2月20日,星期日◆

向量寄存器组:8×64V0~V7◆

每个Vi

每个向量运算部件◆

向量长度寄存器VL◆

向量屏蔽寄存器VM

CRAY-1向量处理的显著特点:只要不出现Vi

冲突和向量功能部件冲突,各个Vi之间和各个向

量功能部件之间都能并行工作,大大加快了向量

指令的处理。3.5向量处理机虚拟存储器的特点第10页,共43页,2023年,2月20日,星期日3.CRAY-1向量指令类型

Vk←ViopVj

Vk←SiopVj

Vk←主存

主存←ViVi冲突:指的是并行工作的各向量指令的源向

量或结果向量的Vi有相同的。向量功能部件冲突:指同一个向量功能部件被

一条以上的并行工作向

量指令所使用。3.5向量处理机虚拟存储器的特点第11页,共43页,2023年,2月20日,星期日3.5向量处理机虚拟存储器的特点第12页,共43页,2023年,2月20日,星期日4.链接技术

当两条指令出现“写后读”相关时,若它们

不存在功能部件冲突和向量寄存器(源或目的)

冲突,就有可能把它们所用的功能部件头尾相

接,形成一个链接流水线,进行流水处理。

链接特性实质上是把流水线“定向”的思想

引入到向量执行过程的结果。3.5向量处理机虚拟存储器的特点第13页,共43页,2023年,2月20日,星期日虚拟存储器的特点第14页,共43页,2023年,2月20日,星期日例3.7

对上述向量运算D=A*(B+C),若向量

长度N≤64,向量元素为浮点数,则在B、C取到

V0、V1后,就可用以下三条向量指令求解:(1)V3←存储器(访存,载入A)

(2)V2←V0+V1(浮点加)

(3)V4←V2*V3(浮点乘,存D)解:链接过程如图3.44所示:3.5向量处理机虚拟存储器的特点第15页,共43页,2023年,2月20日,星期日◆三条向量指令全部用串行方法执行,则总

的执行时间为:[(1+6+1)+N-1]+[(1+6+1)+N-1]

+[(1+7+1)+N-1]=3N+22拍3.5向量处理机虚拟存储器的特点第16页,共43页,2023年,2月20日,星期日◆前两条向量指令并行执行之后,再执行第

三条向量指令,则总的执行时间为:

[(1+6+1)+N-1]+[(1+7+1)+N-1]

=2N+15拍◆采用向量链接技术,所需拍数(亦称为链接

流水线的流水时间)为:

[(1+6+1)]+[(1+7+1)]=17拍

则三条向量指令总执行时间为:

[(1+6+1)]+[(1+7+1)]+(N-1)=N+16拍3.5向量处理机虚拟存储器的特点第17页,共43页,2023年,2月20日,星期日5.向量链接的一些主要要求:

(除了要保证无向量寄存器使用冲突和无向

量功能部件使用冲突的条件之外)◆在进行链接的时候,只有在前一条向量指令

的第一个结果元素送入结果向量寄存器的那

一个时钟周期才可以进行链接,若错过该时

刻就不能进行链接。◆只有当前一条向量指令全部执行完毕,释放

相应的向量寄存器资源后才能执行后面的向

量指令。3.5向量处理机虚拟存储器的特点第18页,共43页,2023年,2月20日,星期日◆当一条向量指令的两个源操作数分别是两条

先行向量指令的结果寄存器时,要求先行的

两条向量指令产生运算结果的时间必须相等,

即要求有关向量功能部件的延迟时间相等。◆只有所有可以链接执行的向量指令的向量长

度相等时,它们之间才能链接执行,否则它

们之间也不能链接执行。3.5向量处理机第19页,共43页,2023年,2月20日,星期日6.向量循环或分段开采技术

如果向量的长度大于向量寄存器的长度,该如何处理呢?◆向量循环:长向量循环分段处理的程序结构。把长向量分成固定长度的段,然后循环分 段处理,一次循环只处理一个向量段。◆这种分段向量处理技术也称为分段开采。◆将长向量循环分段处理是由系统硬件和软件控 制完成的,对程序员透明。3.5向量处理机虚拟存储器的特点第20页,共43页,2023年,2月20日,星期日

例3.8

设A和B是长度为N的向量,考虑在Cray-1向量处理器上实现如下的循环操作。

DO10I=1,N10A(I)=5.0*B(I)+1.0

◆当N≤64时,可以用如下指令序列实现上 述循环操作:S1←5.0

;将常数5.0送入标量寄存器S1S2←1.0

;将常数1.0送入标量寄存器S2VL←N

;在向量长度寄存器VL中设置向量长度N3.5向量处理机虚拟存储器的特点第21页,共43页,2023年,2月20日,星期日V0←B

;从存储器中将向量B读入向量寄存器V0V1←S1*V0

;向量B中的每个元素分别和常数S1

相乘V2←S2+V1

;向量V1中的每个元素分别和常数

S2相加A←V2

;将计算结果从向量寄存器V2存入存 储器的向量A3.5向量处理机虚拟存储器的特点第22页,共43页,2023年,2月20日,星期日

◆当N

>64时,就需要进行分段开采。在进行分段开采时,首先必须根据向量长度计算出循环次数K

:一般来说,N并不一定总是64的倍数,所以如果N/64有余数,那么余数L为:3.5向量处理机64K=NL=N

-64×64N虚拟存储器的特点第23页,共43页,2023年,2月20日,星期日S1←5.0

;将常数5.0送入标量寄存器S1S2←1.0

;将常数1.0送入标量寄存器S2VL←L

;在向量长度寄存器VL中设置向量长度LV0←B

;从存储器中将向量B[0..L-1]读入向量 寄存器V0V1←S1*V0

;向量B中的每个元素分别和常数S1相乘;V2←S2+V1

;向量V1中的每个元素分别和常数S2相加A←V2

;将计算结果从向量寄存器V2存入存储器的向量A[0..L-1]处理余数部分,计算L个元素虚拟存储器的特点第24页,共43页,2023年,2月20日,星期日For(I=0toK-1){V0←B

;从存储器中将向量B[L+I*64…L+I*64+63]

读入向量寄存器V0V1←S1*V0

;向量B中的每个元素分别和常数S1相乘;V2←S2+V1

;向量V1中的每个元素分别和常数S2相加A←V2

;将计算结果V2存入存储器的向量

A[L+I*64…L+I*64+63]}循环K次,分段处理

第25页,共43页,2023年,2月20日,星期日衡量向量处理机性能的主要参数:1.向量指令的处理时间

◆执行一条向量长度为n的向量指令所需的时间为:3.5.3向量处理机的性能评价

Tvp

=Ts

+Tvf

+(n-1)Tc

Ts:向量处理单元流水线的建立时间,包括:向量起始地址的设置、计数器加1、条件转移指令执行等。3.5向量处理机第26页,共43页,2023年,2月20日,星期日

Tvf

:向量处理单元流水线的流过时间,它是从向量指令开始执行到得到第一个计算结果(向量元素)所需的时间。

Tc

:向量处理单元流水线“瓶颈”段的执行时间。◆如果向量处理单元流水线不存在“瓶颈”段,每 段的执行时间等于一个时钟周期,则上式也可 以写为:Tvp

=[s

+e

+(n-1)]Tclk3.5向量处理机第27页,共43页,2023年,2月20日,星期日

s:向量处理单元流水线建立所需的时钟周期数;

e:向量流水线流过所需的时钟周期数;

Tclk:时钟周期时间。◆可以再改写为:Tvp

=(Tstart

+n)Tclk

Tstart:向量功能部件启动所需的时钟周期数;

n:向量元素个数。3.5向量处理机第28页,共43页,2023年,2月20日,星期日◆对于一组向量指令,其执行时间主要取决于 三个因素:向量的长度向量操作之间是否链接向量功能部件的冲突和数据的相关性◆把几条能在同一个时钟周期内一起开始执行的 向量指令集合称为一个编队。

3.5向量处理机第29页,共43页,2023年,2月20日,星期日例3.9

假设每种向量功能部件只有一个,那么下面的一组向量指令能分成几个编队?LVV1,RxMULTSVV2,R0,V1LVV3,RyADDVV4,V2,V3SVRy,V43.5向量处理机第30页,共43页,2023年,2月20日,星期日解:第一编队:LV

第二编队:MULTSV;LV

第三编队:ADDV

第四编队:SV一个编队内所有向量指令执行完毕所需要的时间为:clkistartclkijstartjicTnTTnTT)(][max+=+=3.5向量处理机第31页,共43页,2023年,2月20日,星期日假设第i个编队中所有向量指令处理的向量元素个数均为n。

:第i个编队的执行时间;

:第i个编队中第条指令所使用向量功能部件的启动时钟周期数。icTijstartT经过编队后的向量指令序列总的执行时间为:

clkstartclkmiistartmiclkistartmiicvTmnTTmnTTnTTT)()()(111+=+=+==∑∑∑===3.5向量处理机第32页,共43页,2023年,2月20日,星期日编队并采用分段开采技术后,向量指令序列执行所需的总的时钟周期数为:MVL:向量处理机的向量寄存器长度。

mnTTMVLnMVLMVLnnmTTMVLmTTMVLnTstartloopstartloopstartloopn++×=×-×+++×++=)()]([)(×3.5向量处理机第33页,共43页,2023年,2月20日,星期日例3.10

在某向量处理机上执行DAXPY的向量指令序列,也即计算双精度浮点向量表达式。其中和是双精度浮点向量,最初保存在外部存储器中,是一个双精度浮点常数,已存放在浮点寄存器F0中。计算该表达式的向量指令序列如下:LVV1,RxMULTFVV2,F0,V1LVV3,RyADDVV4,V2,V3SVRy,V43.5向量处理机第34页,共43页,2023年,2月20日,星期日解:第一编队:LVV1,Rx

第二编队:MULTFVV2,F0,V1;LVV3,Ry

第三编队:ADDVV4,V2,V3

第四编队:SVRy,V4假设向量存储部件的启动需要12个时钟周期,向量乘法部件的启动需要7个时钟周期,向量加法部件的启动需要6个时钟周期,向量寄存器长度MVL=64,那么对n个向量元素进行DAXPY表达式计算所需的时钟周期数为:3.5向量处理机第35页,共43页,2023年,2月20日,星期日如果考虑采用向量链接技术,那么DAXPY的向

量指令序列可以编队为:第一编队:LVV1,Rx;MULTFVV2,F0,V1

第二编队:LVV3,Ry;ADDVV4,V2,V3

第三编队:SVRy,V4nnnnmnTTMVLnTstartloopn457644)126121215(64)(+×=+++++×=++×=3.5向量处理机第36页,共43页,2023年,2月20日,星期日第一编队启动需要12+7=19个时钟周期;第二编队启动需要12+6=18个时钟周期;第三编队启动仍然需要12个时钟周期。

采用链接技术后,对n个向量元素进行DAXPY表达式计算所需的时钟周期数为:

nnnnmnTTMVLnTstartloopn364643)12181915(64)(+=++++=++=×3.5向量处理机第37页,共43页,2023年,2月20日,星期日2.向量处理机的峰值性能R

R表示当向量长度为无穷大时,向量处理机的最高性能,也称为峰值性能。

向量处理机的峰值性能可以表示为:的时钟周期数向量指令序列执行所需时钟频率算次数向量指令序列中浮点运×=∞∞nRlim对于例题3.10向量指令序列中的操作而言,只有“MULTFVV2,F0,V1”和“ADDVV4,V2,V3”两条浮点操作向量指令。假设该向量处理机的时钟频率为200MHz,那么:3.5向量处理机第38页,共43页,2023年,2月20日,星期日的时钟周期数向量指令序列执行所需时钟频率算次数向量指令序列中浮点运×=∞∞nRlim

2×n×200=∞nlimMFLOPSn64

×64+3nMFLOPS

2×n×200=∞nlim4nMFLOPS=100MFLOPS3.5向量处理机第39

温馨提示

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

评论

0/150

提交评论