六章向量处理机.ppt
《六章向量处理机.ppt》由会员分享,可在线阅读,更多相关《六章向量处理机.ppt(43页珍藏版)》请在三一文库上搜索。
1、第六章 向量处理机,6.1 向量处理的基本概念,什么是向量处理? 例如:一个简单的C语言程序如下: for (i = 1; i n; i+) ai = bi +ci ; bi =2*a i+1 ; 在标量处理机上用下述指令实现:,A、B、C分别是向量a、b、c在内存中的起始地址: INITIALIZE I=1 10 if (iN ) GOTO 20 read bI read cI add bI+cI store aIbI+cI read aI+1 multiply 2*aI+1 store bI 2*aI+1 increment I I+1 goto 10 20 Stop,常量2,a,b,c中
2、每一个元素都称为一个标量。该指令序列称为标量指令序列,执行过程为标量处理过程,每一条指令只处理一个或一对数据。,上述程序用向量化指令序列实现为: a1:n=b1:n+c1:n temp1:n=a2:n+1 b1:n=2*temp1:n 将n个独立的数构成的整体称为向量,对这一组数的运算称为向量处理。一条向量处理指令可以处理n个或n对操作数。,1)向量处理机是解决数值计算问题的一种高性能计算机结构 2)由于向量内各个元素间很少相关,而且对向量中各元素一般又是执行同一操作,向量处理机一般都采用流水线结构,有多条流水线并行工作 3)一条向量指令对应一个循环的数组运算,一条向量指令包含大量的数据运算
3、4)向量处理机通常属大型或巨型机,也可以用微机加一台向量协处理器组成 5)一般向量计算机中包括有一台高性能标量处理机 6)必须把要解决的问题转化为向量运算,向量处理机才能充分发挥作用,向量处理机与标量处理机比较: 向量操作比一串标量指令操作更快 向量流水处理机还可使访存和有效地址计算流水化 通过设置多个向量运算部件并且允许多个向量操作同时进行,可开发对不同元素进行多个向量操作的并行性,向量处理方式 要根据向量运算的特点和向量处理机的类型选择向量的处理方式。 有三种处理方式: 1横向处理方式,又称为水平处理方式,横向加工方式等。向量计算是按行的方式从左至右横向地进行。 2纵向处理方式,又称为垂直
4、处理方式,纵向加工方式等。向量计算是按列的方式自上而下纵向地进行。 3纵横处理方式,又称为分组处理方式,纵横向加工方式等。横向处理和纵向处理相结合的方式。 以一个简单的C语言编写的程序为例,说明向量的三种处理方式的工作原理。 for (i = 1;i = n;i+) yi = ai ( bi + ci );,横向处理方式 也称为水平处理方式,横向加工方式等 逐个分量进行处理:假设中间结果为TI 计算第1个分量: T1 B1C1 Y1 A1T1 计算第2个分量: T2 B2C2 Y2 A2T2 最后一个分量: TN BNCN YNANTN 存在两个问题: 在计算向量的每个分量时,都发生写读数据相
5、关。流水线效率低 如果采用多功能流水线,必须频繁进行流水线切换 横向处理方式对向量处理机不适合 即使在标量处理机中,也经常通过编译器进行指令流调度。,纵向处理 也称为垂直处理方式,纵向加工方式等 T1 = B1 + C1 T2 = B2 + C2 Tn = Bn + Cn Y1 = A1T1 Y2 = A2T2 YN = AN TN 采用向量指令只需要2条: VADD B, C, T VMUL A, T, Y 这种处理方式适用于向量处理机,数据相关不影响流水线连续工作。不同的运算操作只需要切换1次。,纵横处理方式 将长度为n的向量分成若干组,每组长度为m,组内按纵向方式处理,依次处理各组。 用
6、于寄存器-寄存器结构的向量处理机中 向量寄存器的长度是有限的,例如,每个向量寄存器有64个寄存器。当向量长度N大于向量寄存器长度n时,需要分组处理。 分组方法:nKm+r,其中:r为余数,共分k+1组。 组内采用纵向处理方式,组间采用横向处理方式。因此,也称为分组处理方式,纵横向加工方式等。,6.2 向量处理机结构,向量处理机的基本思想是把两个向量的对应分量进行运算,产生一个结果向量。最关键问题是存储器系统能够满足运算部件带宽的要求。 主要采用两种方法: 1. 存储器存储器结构 多个独立的存储器模块并行工作 处理机结构简单,对存储系统的访问速度要求很高 2. 寄存器寄存器结构 运算通过向量寄存
7、器进行 需要大量高速寄存器,对存储系统访问速度的要求降低,存储器存储器结构,下图说明一个具有8个存储体的向量处理机:,M,M,流水结构加法器,A,B,C=A+B,三条互相独立的数据通路,可并行工作,同一个存储模块同时只能为一个通路服务,M,M,M,M,M,M,向量处理示例1:求C=A+B,设A、B、C的存储形式如图:,C4,B6,A0,C5,B7,A1,C6,B0,A2,C7,B1,A3,C0,B2,A4,C2,B3,A5,C3,B4,A6,C4,B5,A7,A、B、C在主存储器中的存放情况,两个向量在流水线方式下分量相加的时序图,时间(时钟周期),在流水线的输入端和输出端增加缓冲器可以消除争
8、用存储器现象。,W0,RB8,RB8,RA8,RA8,RB0,RB0,RA0,RA0,RB9,RB9,RA9,RA9,RB1,RB1,RA1,RA1,RB10,RA10,RA10,RB2,RB2,RA2,RA2,RA11,RA11,RB3,RB3,RA3,RA3,RA12,RB4,RB4,RA4,RA4,RB5,RB5,RA5,RA5,RB6,RB6,RA6,RA6,RB7,RB7,RA7,RA7,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,M0,M1,M2,M3,M4,M5,M6,M7,0 1 2 3 4 5 6 7 8
9、 9 10 11 12,存储器发生冲突时两个向量相加的时序图,寄存器-寄存器结构,把存储器-存储器结构中的缓冲栈改为向量寄存器,运算部件需要的操作数从向量寄存器中读取,运算的中间结果也写到向量寄存器中。 向量寄存器与标量寄存器的主要差别是: 一个向量寄存器能够保存一个向量, 例如:64个64位寄存器。 连续访问一个向量的各个分量。 需要有标量寄存器和地址寄存器等。 采用寄存器-寄存器结构的主要优点:降低主存储器的流量。例如:采用寄存器-寄存器结构的CRAY-1与采用存储器-存储器结构的STAR-100比较,运算速度高3倍多,而主存流量低2.5倍。 STAR-100的主存储器流量:328W/1.
10、28us=200MW/S CRAY-1的主存储器流量: 4W/50ns=80MW/S,V7,V6,V5,CRAY-1向量处理机结构,存储器,V4,3,2,1,0,V3,V2,V1,V0,S7,S6,S5,S4,S3,S2,S1,S0,A7,A6,A5,A4,A3,A2,A1,A0,标量缓冲 寄存器,地址缓冲 寄存器,加1记数,移位,逻辑运算,整数加 标量部件,整数乘,整数加 地址部件,移位,逻辑运算,整数加 向量部件,迭代求倒,浮点乘,浮点加 向量部件,VM(向量屏蔽),RTC(实时时钟计数器),XA,VL,P,NIP,CIP,LIP,执行指令,执行缓冲 寄存器,+1,0 1 . 15,T0
11、. T63,B0 . B63,0 . . 63,向量控制,向量控制 (向量长度),交换控制,标量寄存器,地址寄存器,向量寄存器,Vi,Vj,Vk,. . .,Vi,. . .,Vj,1,2,. . .,n,. . .,Vk,. . .,Vi,Sj,. . .,Vk,存储器,. . .,Vk,. . .,Vi,存储器,功能部件,功能部件,功能部件,功能部件,1,2,. . .,n,1,2,. . .,n,1,2,. . .,n,第1种 向量-向量指令,第2种 向量-标量指令,第3种 向量-存储器指令,CRAY-1的四种向量指令,运算流水线,第4种 向量-存储器指令,向量归约指令(vector r
12、eduction instruction):操作数来自寄存器,操作结果为标量数据,如从一个向量中找出最大值、最小值和中间值等。 聚集-散射指令(gather and scatter instruction):将两个向量寄存器(分别存放数据和变址值)聚集分布在存储器中的向量元素,或者把向量元素散射到存储器中。聚集指令根据变址值把存储器中某个稀疏向量的非0元素取出放到向量寄存器中。散射指令进行相反的操作,把一个向量以稀疏向量的形式存入存储器中,其0项由变址值指出。 屏蔽指令(masking instruction):利用屏蔽向量将一个向量压缩或者展开成一个较短或较长的索引向量。,1.向量处理机系统
13、结构的设计目标 2.提高向量处理机性能的常用技术,6.3 提高向量处理机性能的办法,向量处理机系统结构的设计目标,较好地维持向量/标量性能平衡 向量平衡点(vector balance point)定义为:为了使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。 例如:系统在向量模式下能够达到9Mflops,在标量模式下能够达到1Mflops的运算速度,假设代码的90%是向量运算,10%是标量运算,这样花在两种模式上的计算时间相等,那么向量平衡点为0.9。,几种超级计算机的向量性能和标量性能 (了解),可扩展性随处理机数目的增加而提高 可扩展性的三个目标:规模可扩展性、换
14、代可扩展性、问题可扩展性。 提供高性能的I/O和易访问的网络,提高向量处理机性能的常用技术,多功能部件的并行操作 向量寄存器冲突(Vi冲突) 功能部件冲突 向量寄存器冲突(Vi冲突):并行工作的各向量指令的源向量或者结果向量使用相同的Vi。包括源向量冲突、结果向量冲突、先读后写的向量冲突和源目向量相关。 V3 V1V2 V3 V1V2 V6 V1*V5 V3 V4 * V5 源向量冲突 结果向量冲突 V3 V1V2 V3 V1V2 V1 V4*V5 V5 V3 * V4 先读后写的向量冲突 源目向量相关 发生源目向量相关的两条指令在不发生其它Vi冲突和功能部件冲突的前提下,可通过链接机构将两条
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 向量 处理机
链接地址:https://www.31doc.com/p-3185529.html