版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、A、B、C分别是向量分别是向量a、b、c在内存中的起始地址:在内存中的起始地址:INITIALIZE I=110if (iN ) GOTO 20read bIread cIadd bI+cI store aIbI+cIread aI+1multiply 2*aI+1store bI 2*aI+1increment I I+1goto 1020Stop上述程序用向量化指令序列实现为:上述程序用向量化指令序列实现为: a1:n=b1:n+c1:n temp1:n=a2:n+1 b1:n=2*temp1:n将将n个独立的数构成的整体称为向量,对这一组个独立的数构成的整体称为向量,对这一组数的运算称为
2、向量处置。一条向量处置指令可数的运算称为向量处置。一条向量处置指令可以处置以处置n个或个或n对操作数。对操作数。for (i = 1;i = n;i+)yi = ai ( bi + ci );假设采用多功能流水线,必需频繁进展流水假设采用多功能流水线,必需频繁进展流水线切换线切换横向处置方式对向量处置机不适宜横向处置方式对向量处置机不适宜即使在标量处置机中,也经常经过编译器进即使在标量处置机中,也经常经过编译器进展指令流调度。展指令流调度。关不影响流水线延续任务。不同的运算关不影响流水线延续任务。不同的运算操作只需求切换操作只需求切换1次。次。组内采用纵向处置方式,组间采组内采用纵向处置方式,
3、组间采用横向处置方式。因此,也称为分用横向处置方式。因此,也称为分组处置方式,纵横向加工方式等。组处置方式,纵横向加工方式等。以下图阐明一个具有以下图阐明一个具有8个存储体的向量处置机:个存储体的向量处置机: MM流水构造加法器流水构造加法器ABC=A+BMMMMMM向量处置例如向量处置例如1:求:求C=A+B,设,设A、B、C的存储方式如图:的存储方式如图:C4B6A0C5B7A1C6B0A2C7B1A3C0B2A4C2B3A5C3B4A6C4B5A7模块模块0模块模块1模块模块2模块模块3模块模块4模块模块5模块模块6模块模块7A、B、C在主存储器中的存放情况在主存储器中的存放情况流水段1
4、流水段2流水段3流水段4W4W4RB6RB6RA0RA0W5W5RB7RB7RA1RA1W6RA2RA2RB0RB0RA3RA3RB1RB1W0W0RA4RA4RB2RB2W1W1RA5RA5RB3RB3W2W2RA6RA6RB4RB4W3W3RA7RA7RB5RB576543210765432107654321076543210M0M1M2M3M4M5M6M70 1 2 3 4 5 6 7 8 9 10 11 12可变延迟器可变延迟器可变延迟器可变延迟器主存主存储器储器流水结流水结构加法构加法器器ABCW0RB8RB8RA8RA8RB0RB0RA0RA0RB9RB9RA9RA9RB1RB1R
5、A1RA1RB10RA10RA10RB2RB2RA2RA2 RA11RA11RB3RB3RA3RA3 RA12RB4RB4RA4RA4RB5RB5RA5RA5 RB6RB6RA6RA6RB7RB7RA7RA776543210765432106543210543210M0M1M2M3M4M5M6M70 1 2 3 4 5 6 7 8 9 10 11 12流水段1流水段2流水段3流水段4n把存储器把存储器-存储器构造中的缓冲栈改为向量存放器,存储器构造中的缓冲栈改为向量存放器,运算部件需求的操作数从向量存放器中读取,运算运算部件需求的操作数从向量存放器中读取,运算的中间结果也写到向量存放器中。的中
6、间结果也写到向量存放器中。n向量存放器与标量存放器的主要差别是:向量存放器与标量存放器的主要差别是:一个向量存放器可以保管一个向量,一个向量存放器可以保管一个向量,例如:例如:64个个64位存放器。位存放器。延续访问一个向量的各个分量。延续访问一个向量的各个分量。n需求有标量存放器和地址存放器等。需求有标量存放器和地址存放器等。n采用存放器采用存放器-存放器构造的主要优点:降低主存储器存放器构造的主要优点:降低主存储器的流量。例如:采用存放器的流量。例如:采用存放器-存放器构造的存放器构造的CRAY-1与采用存储器与采用存储器-存储器构造的存储器构造的STAR-100比较,运算比较,运算速度高
7、速度高3倍多,而主存流量低倍多,而主存流量低2.5倍。倍。nSTAR-100的主存储器流量:的主存储器流量:328W/1.28us=200MW/SCRAY-1的主存储器流量:的主存储器流量: 4W/50ns=80MW/SV7V6V5存储器存储器V43210V3V2V1V0S7S6S5S4S3S2S1S0A7A6A5A4A3A2A1A0标量缓冲标量缓冲存放器存放器地址缓冲地址缓冲存放器存放器加1记数移位逻辑运算整数加标量部件整数乘整数加地址部件移位逻辑运算整数加向量部件迭代求倒浮点乘浮点加向量部件VM向量屏蔽RTC实时时钟计数器XAVLPNIPCIPLIP执行指令执行指令执行缓冲执行缓冲存放器存
8、放器+101.15T0.T63B0.B630.63向量控制向量控制向量控制向量长度交换控制标量存放器地址存放器向量存放器ViVjVk.Vi.Vj12.n.Vk.ViSj.Vk存储器.Vk.Vi存储器功功能能部部件件功功能能部部件件功功能能部部件件功功能能部部件件12.n12.n12.n第第1种种向量向量-向量指令向量指令第第2种种向量向量-标量指令标量指令第第3种种向量向量-存储器指令存储器指令运算流水线运算流水线第第4种种向量向量-存储器指令存储器指令向量归约指令向量归约指令vector reduction instruction:操作数来操作数来自存放器,操作结果为标量数据,如从一个向量中
9、找出最大自存放器,操作结果为标量数据,如从一个向量中找出最大值、最小值和中间值等。值、最小值和中间值等。聚集聚集-散射指令散射指令gather and scatter instruction:将两个将两个向量存放器分别存放数据和变址值聚集分布在存储器中向量存放器分别存放数据和变址值聚集分布在存储器中的向量元素,或者把向量元素散射到存储器中。聚集指令根的向量元素,或者把向量元素散射到存储器中。聚集指令根据变址值把存储器中某个稀疏向量的非据变址值把存储器中某个稀疏向量的非0元素取出放到向量元素取出放到向量存放器中。散射指令进展相反的操作,把一个向量以稀疏向存放器中。散射指令进展相反的操作,把一个向
10、量以稀疏向量的方式存入存储器中,其量的方式存入存储器中,其0项由变址值指出。项由变址值指出。屏蔽指令屏蔽指令masking instruction:利用屏蔽向量将一个向利用屏蔽向量将一个向量紧缩或者展开成一个较短或较长的索引向量。量紧缩或者展开成一个较短或较长的索引向量。0.9。多功能部件并行操作多功能部件并行操作提高相邻的两条或多条向提高相邻的两条或多条向量指令的执行速度量指令的执行速度链接技术链接技术加快条件语句和稀疏矩阵的处理加快条件语句和稀疏矩阵的处理使循环向量化,以提高向使循环向量化,以提高向量处理的速度量处理的速度加快向量的归约操作加快向量的归约操作多功能部件的并行操作多功能部件的
11、并行操作向量存放器冲突向量存放器冲突Vi冲突冲突功能部件冲突功能部件冲突 向量存放器冲突向量存放器冲突Vi冲突:并行任务的各向量指令的源向量冲突:并行任务的各向量指令的源向量或者结果向量运用一样的或者结果向量运用一样的Vi。包括源向量冲突、结果向量。包括源向量冲突、结果向量冲突、先读后写的向量冲突和源目向量相关。冲突、先读后写的向量冲突和源目向量相关。V3 V1V2 V3 V1V2V6 V1*V5 V3 V4 * V5源向量冲突源向量冲突 结果向量冲突结果向量冲突 V3 V1V2 V3 V1V2V1 V4*V5 V5 V3 * V4先读后写的向量冲突先读后写的向量冲突 源目向量相关源目向量相关
12、发生源目向量相关的两条指令在不发生其它发生源目向量相关的两条指令在不发生其它Vi冲突和功能部件冲突和功能部件冲突的前提下,可经过链接机构将两条向量指令的处置过冲突的前提下,可经过链接机构将两条向量指令的处置过程链接起来,实现两条指令的流水处置。程链接起来,实现两条指令的流水处置。功能部件冲突:指同一功能部件被一条以上的要求并行任务的向量指令所功能部件冲突:指同一功能部件被一条以上的要求并行任务的向量指令所运用。如下面两条指令由于都运用了向量加法部件,因此,存在向量加法运用。如下面两条指令由于都运用了向量加法部件,因此,存在向量加法部件运用冲突。部件运用冲突。V3 V1V2V6 V4 +V5向量
13、链接技术向量链接技术(chaining) 指在不出现向量存放器冲突和功能部件冲突时,经过链接机构将有源指在不出现向量存放器冲突和功能部件冲突时,经过链接机构将有源目向量相关的前后两条或多条向量指令进展链接而实现并行处置的技术。目向量相关的前后两条或多条向量指令进展链接而实现并行处置的技术。 机器会自动检查每一条向量指令能否能够与它前一条或两条向量指令机器会自动检查每一条向量指令能否能够与它前一条或两条向量指令两个向量长度一样且首元素时间对准时存在源目向量相关同时无向两个向量长度一样且首元素时间对准时存在源目向量相关同时无向量存放器冲突和功能部件冲突,假设存在,那么在前一条或两条指令的量存放器冲
14、突和功能部件冲突,假设存在,那么在前一条或两条指令的第一个结果分量都到达向量存放器组且可以作为本条向量指令的源操作数第一个结果分量都到达向量存放器组且可以作为本条向量指令的源操作数时,立刻启动本条指令任务而构成链。有了链接技术,就可以使一些存在时,立刻启动本条指令任务而构成链。有了链接技术,就可以使一些存在源目向量相关的指令也能并行处置。源目向量相关的指令也能并行处置。CRAY-1共有共有8个向量存放器组,普通个向量存放器组,普通可以有可以有2-5个功能部件链接在一同任务。个功能部件链接在一同任务。 例如:求向量运算例如:求向量运算D=A*B+C,假设向量的长度,假设向量的长度N=64,向量的
15、分量为,向量的分量为浮点熟,且向量浮点熟,且向量B、C已取到已取到V0、V1中。试分析采用下述三条指令实现功能中。试分析采用下述三条指令实现功能而采用的链接技术。而采用的链接技术。V3 A/访存取访存取A向量向量/V2 V0V1/B向量和向量和C向量相加向量相加/V4 V2V3/浮点乘,存浮点乘,存D向量向量/分析分析:第一、二条指令没有向量存放器冲突和功能部件冲突,故这两条向:第一、二条指令没有向量存放器冲突和功能部件冲突,故这两条向量指令可以并行执行;第三条指令与第一、二条指令均无功能部件冲突,但量指令可以并行执行;第三条指令与第一、二条指令均无功能部件冲突,但存在向量存放器冲突,由于向量
16、存放器冲突属于源目向量相关,因此只需第存在向量存放器冲突,由于向量存放器冲突属于源目向量相关,因此只需第一条指令中的结果一条指令中的结果V3的第一个分量与第二条指令的结果响亮的第一个分量与第二条指令的结果响亮V2的第一个分的第一个分量均产生,就可以经过链接机构将这一对分量直接送往浮点乘功能部件,链量均产生,就可以经过链接机构将这一对分量直接送往浮点乘功能部件,链接执行第三条指令。接执行第三条指令。 如下页图所示,访存与浮点加并行执行,再与浮点乘链接执行,执行上如下页图所示,访存与浮点加并行执行,再与浮点乘链接执行,执行上述三条指令,获得第一个结果分量并存入述三条指令,获得第一个结果分量并存入V
17、4,所需求的拍数也称为链接流,所需求的拍数也称为链接流水线的流水时间为:水线的流水时间为:161171=17拍拍启动访存启动访存访存访存存存V3送浮乘部件送浮乘部件浮乘浮乘存存V4由于每一拍可取得一个结由于每一拍可取得一个结果分量存入果分量存入V4,因此获,因此获得全部结果分量所需拍数得全部结果分量所需拍数为为17+(N-1)送浮加部件送浮加部件浮加浮加存存V2送浮乘部件送浮乘部件.V0.V112.6.V2存储器.V3浮浮点点加加访访存存12.6并行与潋接操作过程图并行与潋接操作过程图12.7.V4浮浮点点乘乘实现链接的条件:实现链接的条件:(1) 没有向量存放器冲突和运算部件冲突。没有向量存
18、放器冲突和运算部件冲突。(2) 只需第一个结果送入向量存放器的那一个周期可以链接。只需第一个结果送入向量存放器的那一个周期可以链接。(3) 先行的两条指令产生运算结果的时间必需相等。先行的两条指令产生运算结果的时间必需相等。(4) 两条向量指令的向量长度必需相等。两条向量指令的向量长度必需相等。例:在例:在CRAY-1机上,设向量的长度均为机上,设向量的长度均为64;所用浮点功能部件的执行时间;所用浮点功能部件的执行时间分别为:相加需分别为:相加需6拍,相乘需拍,相乘需7拍,从存储器读数需拍,从存储器读数需6拍,存入存放器及启动拍,存入存放器及启动功能部件各需功能部件各需1拍。问以下各指令组中
19、,组内哪些指令可以链接?哪些指令拍。问以下各指令组中,组内哪些指令可以链接?哪些指令不可以链接?不能链接的缘由是什么?并分别计算出以下各指令组全部完成不可以链接?不能链接的缘由是什么?并分别计算出以下各指令组全部完成所需求的拍数。所需求的拍数。1V2V0*V1V3存储器存储器V4V3+V52V0存储器存储器V1V2+V3V4V5*V63V0存储器存储器V2V0*V1V3V0+V4解解:(1)第三条向量指令与第二条向量指令有源目向量相关,可以链接执行;第三条向量指令与第二条向量指令有源目向量相关,可以链接执行;第一条向量指令与第二、三条向量指令无关,可以与它们并行执行。第一条向量指令与第二、三条
20、向量指令无关,可以与它们并行执行。16117164-1=79拍拍启动访存启动访存访存访存存存V3送浮加部件送浮加部件浮加浮加存存V4第第一分量一分量存存V4其其它分量它分量送浮乘部送浮乘部件件浮乘浮乘浮乘浮乘存存V2送浮送浮加部件加部件(2)三条向量指令都无关,所以,三条向量指令可以并行执行。三条向量指令都无关,所以,三条向量指令可以并行执行。161164-1=72拍拍启动访存启动访存送浮加部件送浮加部件送浮加部件送浮加部件送浮乘部件送浮乘部件送浮乘部件送浮乘部件访存访存浮加浮加浮乘浮乘存存V0存存V1浮乘浮乘存存V4第第一分量一分量存存V4其它其它分量分量(3)第二条向量指令与第一条向量指令
21、有源目向量相关,可以链接执行;第第二条向量指令与第一条向量指令有源目向量相关,可以链接执行;第三条向量指令与第二条向量指令有源向量冲突,故只能等到第二条向量指三条向量指令与第二条向量指令有源向量冲突,故只能等到第二条向量指令执行终了后,才干执行第三条向量指令。令执行终了后,才干执行第三条向量指令。16117164-116164-1= 151拍拍启动启动访存访存访访存存存存V0送浮乘部件送浮乘部件送浮乘部件送浮乘部件浮浮乘乘存存V2送浮加部件送浮加部件送浮加部件送浮加部件浮浮加加存存V3留意:留意:1在分析向量指令的处置时,特别关注无关向量指令的并行执行,在分析向量指令的处置时,特别关注无关向量
22、指令的并行执行,源目向量相关的向量指令的链接执行,除源目向量相关外其它发生向量存放源目向量相关的向量指令的链接执行,除源目向量相关外其它发生向量存放器冲突的向量指令的串行执行,功能部件冲突的向量指令的串行执行以及向器冲突的向量指令的串行执行,功能部件冲突的向量指令的串行执行以及向量内部各分量流水处置之间的区别。量内部各分量流水处置之间的区别。 2启动、输出延迟各启动、输出延迟各1拍拍加快稀疏矩阵的执行速度加快稀疏矩阵的执行速度稀疏矩阵:许多元素为稀疏矩阵:许多元素为0的矩阵。的矩阵。处理方法:稀疏向量处理方法:稀疏向量程序段程序段DO 10 I=1,NAKI=AKIBKI完成对稀疏向量完成对稀疏向量A和和B求和,其中求和,其中K、M为目的向量,指明为目的向量,指明A、B中的非中的非0元素。元素。4100425160040025020002004000600250010010110210310410510612341234I=I=存存储储器器地地址址稠密向量存放器稠密向量存放器AKI稀
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 历史教师岗位教学计划示例
- 公司采购工作计划范本示例
- 中学历史教师工作计划范文
- 中班教师个人学期计划总结
- 公司部门年度工作计划大全
- 2024年新学期高中生学习计划范文
- S管理总结及计划
- 会计月工作计划表
- 2某咨询公司创业计划书
- 五年级学生新学期学习计划-
- 技术部门内部管理制度模版
- 建筑工程绿色施工
- 国外网络舆情治理特色模式 典型经验与现实启示
- 顶管施工标准规范
- 网球团建活动方案
- 《比尾巴》动物知识融入
- 《儿科常见急症处理》课件
- 八次危机置身事内
- 2024年中煤电力有限公司招聘笔试参考题库含答案解析
- 山东省淄博市张店区2022-2023学年五年级上学期期末考试语文试题
- 2024九年级学业水平-信息技术考试试题题库及答案
评论
0/150
提交评论