第4章 向量处理机曹强计算机学院武汉光电国家实验室信息存.ppt
《第4章 向量处理机曹强计算机学院武汉光电国家实验室信息存.ppt》由会员分享,可在线阅读,更多相关《第4章 向量处理机曹强计算机学院武汉光电国家实验室信息存.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1/72/72第4章 向量处理机曹强曹强计算机学院计算机学院武汉光电国家实验室信息存储部武汉光电国家实验室信息存储部张晨曦张晨曦 刘依(版)刘依(版)2 2/72/724.1向量的处理方式4.2向量处理机的结构4.3提高向量处理机性能的常用技术4.4向量处理机的性能评价 4.5向量处理机实例3 3/72/72向量由一组有序、具有相同类型和位数的元素组成。在流水线处理机中,设置向量数据表示和相应的向量指令,称为向量处理机。不具有向量数据表示和相应的向量指令的流水线处理机,称为标量处理机。典型的向量处理机q1976年年 Cray-1超级计算机超级计算机 浮点运算速度达到了浮点运算速度达到了每秒
2、每秒1亿次亿次qCDC Cyber 205,Cray Y-MP,NEC SX-X/44,Fujitsu VP2600等等 性能达到了性能达到了每秒几十亿几百亿每秒几十亿几百亿次浮点运算次浮点运算4 4/72/724.1 向量的处理方式 以计算表达式以计算表达式 D=A(BC)为例)为例 A、B、C、D 长度为长度为 N 的向量的向量5 5/72/724.1 向量的处理方式1.横向(水平)处理方式向量计算是按行的方式从左到右横向地进行。q先计算:先计算:d d1 1aa1 1(b(b1 1c c1 1)q再计算:再计算:d d2 2aa2 2(b(b2 2c c2 2)q q最后计算:最后计算:
3、d dN NaaN N(b(bN Nc cN N)组成循环程序进行处理。q qi ibbi ic ci i d di iqqi ia ai iq数据相关:数据相关:N N次次 功能切换:功能切换:2N2N次次不适合于向量处理机的并行处理。6 6/72/724.1 向量的处理方式2.纵向(垂直)处理方式向量计算是按列的方式从上到下纵向地进行。q q1 1bb1 1c c1 1 d d1 1qq1 1a a1 1先计算先计算 再计算再计算 q qN NbbN Nc cN N d dN NqqN Na aN N表示成向量指令:Q QB BC C D DQ QA Aq两条向量指令之间:两条向量指令之间
4、:数据相关:数据相关:1 1次次 功能切换:功能切换:1 1次次7 7/72/724.1 向量的处理方式3.纵横(分组)处理方式又称为分组处理方式。把向量分成若干组,组内按纵向方式处理,依次处理各组。对于上述的例子,设:N=SN=Sn nr rq其中其中N N为向量长度,为向量长度,S S为组数,为组数,n n为每组的长度,为每组的长度,r r为余为余数。数。q若余下的若余下的r r个数也作为一组处理,则共有个数也作为一组处理,则共有S+1S+1组。组。运算过程为:8 8/72/724.1 向量的处理方式q先算第先算第1 1组:组:Q Q1 1n nBB1 1n nC C1 1n n D D1
5、 1n nQQ1 1n nA A1 1n nq再算第再算第2 2组:组:Q Q(n+1)(n+1)2n2nBB(n+1)(n+1)2n2nC C(n+1)(n+1)2n2n D D(n+1)(n+1)2n2nQQ(n+1)(n+1)2n2nA A(n+1)(n+1)2n2nq依次进行下去,直到最后一组:第依次进行下去,直到最后一组:第S+1S+1组。组。q每组内各用两条向量指令。每组内各用两条向量指令。数据相关:数据相关:1 1次次 功能切换:功能切换:2 2次次9 9/72/72向量处理机的结构因具体机器不同而不同。由所采用的向量处理方式决定。由所采用的向量处理方式决定。有两种典型的结构q存
6、储器存储器-存储器型结构存储器型结构 纵向处理方式采用纵向处理方式采用q寄存器寄存器-寄存器型结构寄存器型结构 分组处理方式采用分组处理方式采用4.2 向量处理机的结构1010/72/724.2 向量处理机的结构4.2.1“存储器-存储器”结构1.采用纵向处理方式的向量处理机对处理机结构的要求:存储器存储器结构向量指令的源向量和目的向量都是存放在存储器 中,运算的中间结果需要送回存储器。流水线运算部件的输入和输出端都直接(或经过 缓冲器)与存储器相联,从而构成存储器-存储 器型操作的运算流水线。q例如:例如:STAR-100STAR-100、CYBER-205CYBER-2051111/72/
7、724.2 向量处理机的结构“存储器存储器存储器存储器”型操作的运算流水线型操作的运算流水线 1212/72/724.2 向量处理机的结构2.要充分发挥这种结构的流水线效率,存储器要不断地提供源操作数,并不断地从运算部件接收结果。(每拍从存储器读取两个数据,并向存储器写回一个结果)(每拍从存储器读取两个数据,并向存储器写回一个结果)对存储器的带宽以及存储器与处理部件的通信带宽提出了非常高的要求。解决方法:一般是通过采用多体交叉并行存储器和缓冲器技术。例如,例如,70年代初问世的年代初问世的Star 100q存储器:存储器:32个体个体交叉交叉q每个体的数据宽度:每个体的数据宽度:8个字个字(字
8、长(字长64位位)q最大数据流量:最大数据流量:每秒每秒2亿字亿字1313/72/724.2 向量处理机的结构 在向量的分组处理方式中,对向量长度N没有限制,但组的长度n却是固定不变的。对处理机结构的要求:寄存器寄存器结构设置能快速访问的向量寄存器,用于存放源向量、目的向量及中间结果。让运算部件的输入、输出端都与向量寄存器相联,就构成了“寄存器寄存器”型操作的运算流水线。q典型的寄存器寄存器结构的向量处理机典型的寄存器寄存器结构的向量处理机 美国的美国的CRAY-1CRAY-1、我国的、我国的YH-1YH-1巨型机巨型机4.2.2“寄存器-寄存器”结构1414/72/724.2 向量处理机的结
9、构以CRAY-1机为例q美国美国CRAYCRAY公司公司 q19761976年年q每秒每秒1 1亿次浮点运算亿次浮点运算 q时钟周期:时钟周期:12.5ns12.5ns 1.CRAY-1的基本结构功能部件 共有共有1212条条可并行工作的可并行工作的单功能流水线单功能流水线,可分别流,可分别流水地进行地址、向量、标量的各种运算。水地进行地址、向量、标量的各种运算。1616/72/724.2 向量处理机的结构q6 6个单功能流水部件:个单功能流水部件:进行向量运算进行向量运算 n整数加(整数加(3 3拍)拍)n逻辑运算(逻辑运算(2 2拍)拍)n移位(移位(4 4拍)拍)n浮点加(浮点加(6 6
10、拍)拍)n浮点乘(浮点乘(7 7拍)拍)n浮点迭代求倒数(浮点迭代求倒数(1414拍)拍)括号中的数字为其流水经过的时间,每拍为一个括号中的数字为其流水经过的时间,每拍为一个时钟周期,即时钟周期,即12.5ns12.5ns。1717/72/724.2 向量处理机的结构向量寄存组Vq由由512512个个6464位位的寄存器组成,分成的寄存器组成,分成8 8块块。q编号:编号:V V0 0V V7 7q每一个块称为一个每一个块称为一个向量寄存器向量寄存器,可存放一个长度,可存放一个长度 (即元素个数)不超过(即元素个数)不超过6464的向量。的向量。q每个向量寄存器可以每拍向功能部件提供一个数据元
11、每个向量寄存器可以每拍向功能部件提供一个数据元素,或者每拍接收一个从功能部件来的结果元素。素,或者每拍接收一个从功能部件来的结果元素。标量寄存器S和快速暂存器Tq标量寄存器有标量寄存器有8 8个个:S S0 0S S7 7 64 64位位q快速暂存器快速暂存器T T用于在标量寄存器和存储器之间提供缓用于在标量寄存器和存储器之间提供缓 冲。冲。1818/72/724.2 向量处理机的结构向量屏蔽寄存器VMq6464位位,每一位对应于向量寄存器的一个单元。,每一位对应于向量寄存器的一个单元。q作用:作用:用于向量的归并、压缩、还原和测试操作、用于向量的归并、压缩、还原和测试操作、对向量某些元素的单
12、独运算等。对向量某些元素的单独运算等。2.CRAY-1向量处理的一个显著特点每个向量寄存器Vi都有连到6个向量功能部件的单独总线。每个向量功能部件也都有把运算结果送回向量寄存器组的总线。1919/72/724.2 向量处理机的结构只要不出现Vi冲突和功能部件冲突,各Vi之间和各 功能部件之间都能并行工作,大大加快了向量指 令的处理。qV Vi i冲突:冲突:并行工作的各向量指令的源向量或结果向量并行工作的各向量指令的源向量或结果向量使用了相同的使用了相同的V Vi i。例如:例如:源向量相同源向量相同 V V3 3V V1 1V V2 2 V V5 5VV4 4V V1 1q功能部件冲突:功能
13、部件冲突:并行工作的各向量指令要使用同一个并行工作的各向量指令要使用同一个功能部件。功能部件。例如:例如:都需使用乘法功能部件都需使用乘法功能部件 V V3 3VV1 1V V2 2 V V5 5VV4 4V V6 62020/72/724.2 向量处理机的结构3.CRAY-1向量指令类型qV Vk k V Vi i op V op Vj jqV Vk k S Si i op V op Vj jqV Vk k 主存主存q主存主存 V Vi i 2121/72/72提高向量处理机性能的方法设置多个功能部件,使它们并行工作;采用链接技术,加快一串向量指令的执行;采用循环开采技术,加快循环的处理;采
14、用多处理机系统,进一步提高性能。4.3 提高向量处理机性能的常用技术2222/72/724.3 提高向量处理机性能的常用技术设置多个独立的功能部件。这些部件能并行工作,并各自按流水方式工作,从而形成了多条并行工作的运算操作流水线。例如:例如:CRAY-1CRAY-1向量处理机有向量处理机有4 4组组1212个个单功能流水部件:单功能流水部件:n向量部件:向量加,移位,逻辑运算向量部件:向量加,移位,逻辑运算n浮点部件:浮点加,浮点乘,浮点求倒数浮点部件:浮点加,浮点乘,浮点求倒数n标量部件:标量加,移位,逻辑运算,标量部件:标量加,移位,逻辑运算,数数“1 1”/计数计数n地址运算部件:整数加
15、,整数乘地址运算部件:整数加,整数乘4.3.1 设置多个功能部件2323/72/724.3 提高向量处理机性能的常用技术1.两条向量指令占用功能流水线和向量寄存器的4种情况 指令不相关例如:例如:V0V1V2 V6V4*V5q这两条指令分别使用各自所需的流水线和向量寄存器,这两条指令分别使用各自所需的流水线和向量寄存器,可以并行执行。可以并行执行。功能部件冲突例如:例如:V3V1V2 V6V4V54.3.2 链接技术2424/72/724.3 提高向量处理机性能的常用技术q这两条指令都要使用加法流水线,发生了功能部件冲这两条指令都要使用加法流水线,发生了功能部件冲突(但向量寄存器不冲突)。当第
16、一条指令流出时,突(但向量寄存器不冲突)。当第一条指令流出时,占用加法流水线。第二条指令要等加法流水线变成空占用加法流水线。第二条指令要等加法流水线变成空闲后,才能流出。闲后,才能流出。源寄存器冲突例如:例如:V3V1V2 V6V1*V4q这两条向量指令的源向量之一都取自这两条向量指令的源向量之一都取自V1。由于两者。由于两者的首元素下标可能不同,向量长度也可能不同,所以的首元素下标可能不同,向量长度也可能不同,所以难以由难以由V1同时提供两条指令所需要的源向量。同时提供两条指令所需要的源向量。q这两条向量指令不能同时执行。只有等第一条向量指这两条向量指令不能同时执行。只有等第一条向量指令执行
17、完、释放令执行完、释放V1之后,第二条向量指令才能开始之后,第二条向量指令才能开始执行。执行。2525/72/724.3 提高向量处理机性能的常用技术结果寄存器冲突 两条向量指令使用了相同的结果向量寄存器。例如:例如:V4V1V2 V4V3*V5q这两条指令都要访问目的寄存器这两条指令都要访问目的寄存器V4。由于第一条指。由于第一条指令在先,所以它先占用令在先,所以它先占用V4直到运算完成,然后再流直到运算完成,然后再流出后一条指令。出后一条指令。2.当前一条指令的结果寄存器是后一条指令的源寄存器、且不存在任何其他冲突时,就可以用链接技术来提高性能。例如:例如:V3V1V2 V6V3*V426
18、26/72/724.3 提高向量处理机性能的常用技术向量流水线链接:具有先写后读相关的两条指令,在不出现功能部件冲突和源向量冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的。qCray-1向量处理的一个显著特点向量处理的一个显著特点 q链接特性的链接特性的实质实质 把流水线把流水线定向定向的思想引入到向量执行过程的结果的思想引入到向量执行过程的结果。2727/72/724.3 提高向量处理机性能的常用技术链接时,Cray-1中把向量数据元素送往向量功能部件以及把结果存入向量寄存器都需要一拍时间,从存储器中把数据送入访存功能部件也需要一拍时间。(同步的要求)(同步的要求)2
19、828/72/724.3 提高向量处理机性能的常用技术 例例4.1 考虑在考虑在Cray-1上利用链接技术执行以下上利用链接技术执行以下4条指令:条指令:V0存储器存储器/访存取向量:访存取向量:7拍拍 V2V0V1/向量加:向量加:3拍拍 V3V2A3 /按(按(A3)左移:)左移:4拍拍 V5V3V4/与操作:与操作:2拍拍 画出链接示意图,并求该链接流水线的通过时间。如果向量长画出链接示意图,并求该链接流水线的通过时间。如果向量长度为度为64,则需要多少拍才能得到全部结果。,则需要多少拍才能得到全部结果。解解 对这对这4条指令进行分析可知:它们既没有部件冲突,也没有条指令进行分析可知:它
20、们既没有部件冲突,也没有寄存器冲突,相邻两条指令之间都存在先写后读相关,因而可以把寄存器冲突,相邻两条指令之间都存在先写后读相关,因而可以把访存流水线、向量加流水线、向量移位流水线以及向量逻辑运算流访存流水线、向量加流水线、向量移位流水线以及向量逻辑运算流水线链接成一个较长的流水线。水线链接成一个较长的流水线。Cray-1的的流流水水线线链链接接举举例例 3030/72/724.3 提高向量处理机性能的常用技术链接操作的时间图:链接操作的时间图:3131/72/724.3 提高向量处理机性能的常用技术a:存储字到存储字到“读功能部件读功能部件”的传送时间的传送时间 b:存储字经过存储字经过“读
21、功能部件读功能部件”的通过时间的通过时间c:存储字从存储字从“读功能部件读功能部件”到到V0分量的传送时间分量的传送时间 d:V0和和V1中操作数到整数加功能部件的传送时间中操作数到整数加功能部件的传送时间e:整数加功能部件的通过时间整数加功能部件的通过时间 f:和从整数加功能部件到和从整数加功能部件到V2分量的传送时间分量的传送时间g:V2中的操作数分量到移位功能部件的传送时间中的操作数分量到移位功能部件的传送时间 h:移位功能部件的通过时间移位功能部件的通过时间i:结果从移位功能部件到结果从移位功能部件到V3分量的传送时间分量的传送时间 j:V3和和V4中的操作数分量到逻辑部件的传送时间中
22、的操作数分量到逻辑部件的传送时间k:逻辑功能部件的通过时间逻辑功能部件的通过时间 l:最后结果到最后结果到V5分量的传送时间分量的传送时间3232/72/724.3 提高向量处理机性能的常用技术 例例4.24.2 在在CRAY-1CRAY-1上用链接技术进行向量运算上用链接技术进行向量运算 D=AD=A(B+CB+C)假设向量长度假设向量长度N64N64,向量元素为浮点数,且向量,向量元素为浮点数,且向量B B、C C已存已存放在放在V V0 0和和V V1 1中。中。画出链接示意图,并分析非链接执行和链接执行两种情况下画出链接示意图,并分析非链接执行和链接执行两种情况下的执行时间。的执行时间
23、。解解 用以下三条向量完成上述运算:用以下三条向量完成上述运算:V V3 3 存储器存储器/访存取向量访存取向量A A V V2 2 V V0 0 V V1 1 /向量向量B B和向量和向量C C进行浮点加进行浮点加 V V4 4 V V2 2 V V3 3/浮点乘,结果存入浮点乘,结果存入V V4 4链链接接示示意意图图 3434/72/724.3 提高向量处理机性能的常用技术3条指令全部用串行方法执行,则执行时间为:(1 16 61 1)N N11(1 16 61 1)N N11 (1 17 71 1)N N1=3N 1=3N 22 22(拍)(拍)前两条指令并行执行,然后再串行执行第3条
24、指令,则执行时间为:(1 16 61 1)N N11(1 17 71 1)N N1 1 =2N =2N 15 15(拍)(拍)第1、2条向量指令并行执行,并与第3条指令链接执行。(1 16 61 1)(1 17 71 1)(N N1 1)=N=N16 16(拍)(拍)3535/72/724.3 提高向量处理机性能的常用技术进行向量链接的要求保证:无向量寄存器使用冲突和无功能部件使用冲突保证:无向量寄存器使用冲突和无功能部件使用冲突q只有在前一条指令的第一个结果元素送入结果向量只有在前一条指令的第一个结果元素送入结果向量寄存器的那一个时钟周期才可以进行链接。寄存器的那一个时钟周期才可以进行链接。
25、q当一条向量指令的两个源操作数分别是两条先行指当一条向量指令的两个源操作数分别是两条先行指令的结果寄存器时,要求先行的两条指令产生运算结果令的结果寄存器时,要求先行的两条指令产生运算结果的时间必须相等,即要求有关功能部件的通过时间相的时间必须相等,即要求有关功能部件的通过时间相等。等。q要进行链接执行的向量指令的向量长度必须相等,要进行链接执行的向量指令的向量长度必须相等,否则无法进行链接。否则无法进行链接。3636/72/724.3 提高向量处理机性能的常用技术 如果向量的长度大于向量寄存器的长度,该如何处理呢?当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 向量处理机曹强计算机学院武汉光电国家实验室信息存 向量 处理机 计算机 学院 武汉 光电 国家 实验室 信息
限制150内