计算机系统结构—第五章(向量处理机)

上传人:新** 文档编号:568622839 上传时间:2024-07-25 格式:PPT 页数:67 大小:349.50KB
返回 下载 相关 举报
计算机系统结构—第五章(向量处理机)_第1页
第1页 / 共67页
计算机系统结构—第五章(向量处理机)_第2页
第2页 / 共67页
计算机系统结构—第五章(向量处理机)_第3页
第3页 / 共67页
计算机系统结构—第五章(向量处理机)_第4页
第4页 / 共67页
计算机系统结构—第五章(向量处理机)_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《计算机系统结构—第五章(向量处理机)》由会员分享,可在线阅读,更多相关《计算机系统结构—第五章(向量处理机)(67页珍藏版)》请在金锄头文库上搜索。

1、向量处理机基本概念基本结构设计目标关键技术协处理器性能评价基本概念本章内容向量处理机什么是向量处理向量处理方式向量处理机本章内容基本概念 具有向量数据表示向量数据表示和向量指令系统向量指令系统的处理机,是解决数值计算问题数值计算问题的一种高性能计算机结构。有两个主要优点:效率高效率高和适用性广适用性广,一般都采用流水线结构流水线结构,有多条流水线并行工作。 向量处理机通常属大型或巨型机属大型或巨型机,也可以用微机加一台向量协处理器组成。一般向量计算机中包括有一台高性能标量处理机包括有一台高性能标量处理机。 必须把要解决的问题转化为向量运算必须把要解决的问题转化为向量运算,向量处理机才能充分发挥

2、作用2 之 1向量处理机本章内容基本概念2 之 2什么是向量处理 例子本章内容基本概念 用Fortran语言编写的一个简单程序:DO 100 I=1,NA(I) =B(I)+C(I)100 B(I)=2*A(I+1)3 之 1什么是向量处理 标量处理本章内容基本概念INITIALIZE I=1INITIALIZE I=11010READREADB(I)B(I);读数指令READREADC(I)C(I)ADD ADD B(I)+C(I)B(I)+C(I);运算指令STORESTOREA(I)A(I)B(I)+C(I)B(I)+C(I);存数指令READREADA(I+1)A(I+1)MULTIP

3、LYMULTIPLY2*A(I+1)2*A(I+1) ;运算指令STORESTOREB(I)B(I)2*A(I+1)2*A(I+1);存数指令INCREMENT IINCREMENT II+1I+1 ;运算指令IF IN GOTO 10IF IN GOTO 10;条件转移指令STOPSTOP3 之 2什么是向量处理 向量处理本章内容基本概念A(1:N)=B(1:N)+C(1:N);并行运算指令TEMP(1:N)=A(2:N+1);并行取数指令B(1:N)=2*TEMP(1:N);并行运算指令一条向量指令处理N个操作数或N对操作数3 之 3向量处理方式横向处理方式纵向处理方式纵横处理方式C C语

4、言程序语言程序for (i=1;i基本概念采用同一例子说明采用同一例子说明横向处理方式本章内容基本概念向量处理方式 处理方法处理方法 又称为水平处理方式水平处理方式、横向加工方式横向加工方式等。向量计算是按行的方式从左至右横向地进行。 举例举例 逐个分量进行处理:假设中间结果为T(I)计算第1个分量:T(1) T(1) B(1)B(1)C(1)C(1)Y(1) Y(1) A(1)T(1)A(1)T(1)计算第2个分量:T(2) T(2) B(2)B(2)C(2)C(2)Y(2) Y(2) A(2)T(2)A(2)T(2)计算最后一个分量:T(N)T(N)B(N)B(N)C(N)C(N)Y(N)

5、Y(N)A(N)T(N)A(N)T(N)2 之 1横向处理方式本章内容基本概念向量处理方式 分析 存在两个问题:在计算向量的每个分量时,都发生写读数据相关,流水线效率低;如果采用多功能流水线,还必须频繁进行流水线切换。所以横向处理方式对向量处理机不适合,即使在标量处理机中,也经常通过编译器进行指令流调度。2 之 2纵向处理方式本章内容基本概念向量处理方式 处理方法处理方法 也称为垂直处理方式垂直处理方式、纵向加工方式纵向加工方式等。向量计算是按列的方式自上而下纵向地进行。 举例举例T(1) = B(1) + C(1)T(1) = B(1) + C(1)T(2) = B(2) + C(2)T(2

6、) = B(2) + C(2)T(n) = B(n) + C(n)T(n) = B(n) + C(n)Y(1) = A(1)T(1)Y(1) = A(1)T(1)Y(2) = A(2)T(2)Y(2) = A(2)T(2)Y(N) = A(N) T(N)Y(N) = A(N) T(N)2 之 1纵向处理方式本章内容基本概念向量处理方式 分析分析 因为数据相关不影响流水线连续工作,不同的运算操作只需要切换1次,所以这种处理方式适用于向量处理机。 结果的存储直接面向存储器,n的大小可以不受限制,但速度受到存储器吞吐量的限制。 采用向量指令只需要2条:VADDVADDB B, C C, T TVMU

7、LVMULA A, T T, Y Y2 之 2纵横处理方式本章内容基本概念向量处理方式 处理方法 又称为分组处理方式、纵横向加工方式等。横向处理和纵向处理相结合的方式。即:将长度为N的向量分成若干组,每组长度为n,组内采用纵向处理方式,组间采用横向处理方式。3 之 1纵横处理方式本章内容基本概念向量处理方式 举例举例第组:T(1,n) = B(1,n) + C(1,n)Y(1,n) = A(1,n)T(1,n)第组:T(n+1,2n) = B(n+1,2n)C(n+1,2n)Y(n+1,2n) = A(n+1,2n)T(n+1,2n)最后第k+1组:T(kn+1,N) = B(kn+1,N)

8、+ C(kn+1,N) Y(kn+1,N) = A(kn+1,N) + T(kn+1,N)3 之 2纵横处理方式本章内容基本概念向量处理方式 分析分析 减少了访问主存储器的次数,降低对存储器信息流量的要求,也减少访问存储器发生冲突引起的等待时间,因而提高了处理速度。 适合用于寄存器适合用于寄存器- -寄存器结构的向量处理机中寄存器结构的向量处理机中,因为向量寄存器的长度是有限的,例如,每个向量寄存器有64个寄存器。当向量长度N大于向量寄存器长度n时,需要分组处理。3 之 3基本结构本章内容 向量处理机的最关键问题是存储器系统能够满足存储器系统能够满足运算部件带宽的要求运算部件带宽的要求。主要采

9、用两种方法: 存储器存储器结构 多个独立的存储器模块并行工作多个独立的存储器模块并行工作。处理机结构简单,对存储系统的访问速度要求很高。 寄存器寄存器结构 运算通过向量寄存器进行运算通过向量寄存器进行。需要大量高速寄存器,对存储系统访问速度的要求降低,而且利用高速寄存器可完成对矩阵元素的特殊运算。存储器存储器结构本章内容基本结构 假设A、B、C都是有8个元素的向量,现向量处理机需完成如下运算:C=A+B。多端口多端口存储器系统存储器系统流水结构加法器流水结构加法器BAC=A+B3 之 1存储器存储器结构本章内容基本结构MMMMMMMM流水结构流水结构加法器加法器ABC=A+B3 之 2存储器存

10、储器结构 采用多个存储体交叉和并行访问来提高存储器速度,但应该注意解决存储器访问冲突。下面分情况进行介绍(假设一个存储周期占两个处理机周期):本章内容基本结构w 理想情况理想情况w 实际情况实际情况3 之 3数据存储本章内容基本结构存储器存储器结构模模块0A0B6C4模模块1A1B7C5模模块2A2B0C6模模块3A3B1C7模模块4A4B2C0模模块5A5B3C1模模块6A6B4C2模模块7A7B5C32 之 1处理时序图本章内容基本结构存储器存储器结构流水段流水段401234567流水段流水段301234567流水段流水段201234567流水段流水段101234567存存储体体7RB5

11、RB5 RA7 RA7 W3 W3存存储体体6RB4 RB4 RA6 RA6 W2 W2存存储体体5RB3 RB3 RA5 RA5 W1 W1存存储体体4RB2 RB2 RA4 RA4 W0 W0存存储体体3RB1 RB1 RA3 RA3存存储体体2 RB0 RB0 RA2 RA2W6存存储体体1RA1 RA1RB7 RB7W5 W5存存储体体0 RA0 RA0RB6 RB6W4 W42 之 2问题及解决 问题问题 实际情况与理想情况并非一样,例如:向量的元素有时不能存放在我们希望的存储体。 解决解决 可以在流水线的输入端和输出端增加缓冲器来消除争用存储器。本章内容基本结构存储器存储器结构多端

12、口多端口存储器系统存储器系统流水结构加法器流水结构加法器BAC=A+B3 之 1缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器处理时序图(所有向量都从模块0开始存放)本章内容基本结构存储器存储器结构流水段流水段4012345流水段流水段30123456流水段流水段201234567流水段流水段101234567存存储体体7RA7 RA7 RB7 RB7存存储体体6RA6 RA6 RB6 RB6存存储体体5RA5 RA5 RB5 RB5存存储体体4RA4 RA4 RB4 RB4W4存存储体体3RA3 RA3 RB3 RB3W3 W3存存储体体2RA2 RA2 RB2 R

13、B2W2 W2存存储体体1RA1 RA1 RB1 RB1W1 W1存存储体体0 RA0 RA0 RB0 RB0W0 W03 之 2A A延迟延迟延迟延迟2 2总 结本章内容基本结构存储器存储器结构3 之 3 操作数缓冲器和写结果缓冲器主要用于解决解决访问存储器冲突访问存储器冲突。主要优缺点:硬件结构简单, 造价低;但速度相对较低。操作数缓冲器操作数缓冲器写结果缓冲器写结果缓冲器主存主存储器储器流水线流水线运算运算部件部件寄存器寄存器结构本章内容基本结构 把存储器-存储器结构中的缓冲器改为向量寄存向量寄存器器,运算部件需要的操作数从向量寄存器中读取,运算的中间结果也写到向量寄存器中。 向量寄存器

14、与标量寄存器的主要差别是:一个一个向量寄存器能够保存一个向量向量寄存器能够保存一个向量,例如:64个64位寄存器,用以实现连续访问一个向量的各个分量。 需要有标量寄存器和地址寄存器等共同工作。3 之 1举 例 CRAY-1向量处理机结构本章内容基本结构8个向量寄存器个向量寄存器(V)8个个64个个64bit主存主存储器储器8MB64个个个体个体12个个流水流水线结线结构的构的运算运算部件部件缓冲寄存器缓冲寄存器(T)64个个64bit标量寄存器标量寄存器(S)8个个64bit缓冲寄存器缓冲寄存器(B)64个个24bit地址寄存器地址寄存器(A)8个个24bit指令缓冲寄存器指令缓冲寄存器256

15、个个16bit指令寄存器指令寄存器程序计数器程序计数器3 之 2提 示本章内容基本结构3 之 3 主要向量处理机都采用寄存器寄存器结构主要向量处理机都采用寄存器寄存器结构,包括Cray处理机(Cray-1、Cray-2、 X-MP、Y-MP、C90、 T90和SV1)、日本的超级计算机(NEC SX/2 SX/5、Fujitsu VP200 VPP5000、Hitachi S820 和S-8300)和小型超级计算机(Convex C-1 C-4)。第一台向量处理机第一台向量处理机(CDCCDC)采用存储器存储器结构采用存储器存储器结构。 从现在开始,我们集中讨论寄存器寄存器结构。设计目标本章内

16、容较好地维持向量/标量性能平衡可扩展性随处理机数目的增加而提高增加存储器系统的容量和性能提供高性能的I/O和易访问的网络较好地维持向量/标量性能平衡本章内容设计目标 实际的应用问题中通常既有向量计算又有标量计算,而且两类计算有一定的比例。关键问题是:希望向量硬件和标量硬件都能够充分利用,不要空闲。 3 之 1较好地维持向量/标量性能平衡本章内容设计目标 向量平衡点(vector balance point):为了使向量/标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。 例如:一个系统的向量运算速度为90Mflops,标量运算速度为 10Mflops。如果程序的90是向量运算,10是标

17、量运算,硬件利用率最高;则向量平衡点为0.9。3 之 2较好地维持向量/标量性能平衡本章内容设计目标 向量处理机的向量平衡点必须与用户程序的向量化程度相匹配。例如:IBM向量计算机维持较低的向量与标量比例,定在35的范围之间。这种做法能够适应通用应用问题对标量和向量处理要求。但大多数超级计算机的向量平衡点在90%或更高,此时对目标代码向量化比例的依赖也大。3 之 3可扩展性随处理机数目的增加而提高本章内容设计目标 可扩展性是指在确定的应用背景下,向量处理机系统要随处理机数目的增加而线性地提高。 可扩展性的三个目标为:规模可扩展性、换代可扩展性和问题可扩展性。关键技术本章内容链接技术向量循环/分

18、段开采技术向量递归技术稀疏矩阵的处理技术链接技术本章内容关键技术向量指令的类型向量运算中的相关和冲突向量链接技术向量指令的类型本章内容关键技术链接技术 以CRAY-1向量处理机为例,有四类指令: 向量与向量操作:ViVj op Vk 向量与标量操作:ViSj op Vk 向量取:Vi存储器 向量存:存储器Vi2 之 1向量指令的类型本章内容关键技术链接技术2 之 21234nVjVkVi1234nSjVkVi123456主存主存Vi123456主存主存Vi (a a)浮点加浮点加浮点加浮点加6 6拍、浮点乘拍、浮点乘拍、浮点乘拍、浮点乘7 7拍拍拍拍(b b)(c c)(d d)向量运算中的相

19、关和冲突本章内容关键技术链接技术V0V1V2V0V1V2V3V4V5V3V0V4(a) 不相关的指令(b) 写读数据相关V0V1V2V0V1V2V3V4V5V3V1V4(c) 功能部件冲突(d) 读读数据相关提示:采用顺序发射顺序完成方式。向量链接技术 基本思想本章内容关键技术链接技术 对于有写读数据相关的向量指令,可以采用“相关专用通道”:从一个流水线部件得到的结果直接送入另一个流水线部件的操作数寄存器,这样多条向量指令可以并行执行,这种技术称为流水线的链接技术。7 之 1向量链接技术 链接要求本章内容关键技术链接技术没有向量寄存器冲突和运算部件冲突;只有当前一条指令的第一个结果分量送入结果

20、向量寄存器的那一个时钟周期方可链接,否则只能串行执行;若一条向量指令的两个源操作数分别是两条先行指令的结果时,要求:先行的两条指令产生结果的时间必须相等;先行的两条指令的向量长度必须相等。7 之 2向量链接技术 举例(要求)本章内容关键技术链接技术 若要进行向量运算:D=A(BC),假设向量长度64,且B和C已由存储器取至V0和V1,则下面3条向量指令即可完成上述运算。V3AV2V0+V1V4V2*V37 之 3向量链接技术 举例(调度一)本章内容关键技术链接技术三条向量指令全部串行执行 所需时间为:(1+6+1)+N-1+(1+6+1)+N-1+(1+7+1)+N-1=3N+22(拍)注意:

21、注意:CRAY-1启动访存、将元素送往功能启动访存、将元素送往功能部件和将结果存入部件和将结果存入Vi都需要有都需要有1拍的拍的传送延迟。传送延迟。7 之 4向量链接技术 举例(调度二)本章内容关键技术链接技术前两条并行执行,第三条串行执行 所需时间为: (1+6+1)+N-1+(1+7+1)+N-1=2N+15(拍)注意:注意:CRAY-1启动访存、将元素送往功能启动访存、将元素送往功能部件和将结果存入部件和将结果存入Vi都需要有都需要有1拍的拍的传送延迟。传送延迟。7 之 5向量链接技术 举例(调度三)本章内容关键技术链接技术三条向量指令采用链接技术 所需时间为: (1+6+1)+(1+7

22、+1)+N-1=N+16(拍)注意:注意:CRAY-1启动访存、将元素送往功能启动访存、将元素送往功能部件和将结果存入部件和将结果存入Vi都需要有都需要有1拍的拍的传送延迟。传送延迟。7 之 6向量链接技术 举例(调度三)本章内容关键技术链接技术浮点加浮点加71 2 3 4 5 6MemV0V1V2V3V41 2 3 4 5 61 2 3 4 5 6浮点乘浮点乘7 之 7向量循环/分段开采技术本章内容关键技术 当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,采用循环结构处理这个长向量,这种技术称为向量循环开采技术,也称为向量分段开采技术。 这种分段和循环由系统硬件和软件控制完

23、成,对于程序员是透明的。3 之 1向量循环/分段开采技术本章内容关键技术例如:例如:A和B为长度N的向量。for (i=1; i关键技术例如:例如:A和B为长度N的向量。for (i=1; i性能评价一条向量指令的处理时间一批向量指令的处理时间一条向量指令的处理时间本章内容性能评价向量指令处理时间TvpTvpTs + Tvf + (n - 1) Tc 其中: Tvp为一条向量指令的处理时间; Ts为向量流水线的建立时间; Tvf为向量流水线的流过时间; Tc为流水线“瓶颈”段的执行时间; n为向量长度。2 之 1一条向量指令的处理时间本章内容性能评价向量指令处理时间Tvp2 之 2 如果每段执

24、行时间都等于一个时钟周期,则有:Tvps + e + (n - 1) 其中: s s为向量流水线建立时间所需的时钟周期数; e e为向量流水线流过时间所需的时钟周期数; n n为向量长度; 为时钟周期长度。一批向量指令的处理时间本章内容性能评价向量指令处理时间Tvp 一组向量操作的执行时间主要取决于:向量的长度、向量操作之间是否存在流水功能部件的冲突和数据的相关性。 把几条能在一个时钟周期内同时开始执行的向量指令称为一个编队;同一个编队中的指令一定不存在功能部件冲突和数据相关。将编队数记作Tchime。2 之 1一批向量指令的处理时间本章内容性能评价向量指令处理时间Tvp向量长度向量寄存器长度

25、时向量长度向量寄存器长度时2 之 2向量长度向量寄存器长度时本章内容性能评价向量指令处理时间Tvp一批向量指令的处理时间 其中:T Tstartstart为每个编队的向量启动开销,即流水线建立时间+流过时间;T Tc c为流水线“瓶颈”段的执行时间;n n为向量长度;T Tchimechime为编队数。3 之 1举 例 问题 在某台向量处理机上执行DAXPY代码(Y=aXY),代码如下:LV V1, RxLV V1, Rx ;取向量X MULTSV V2,F0,V1MULTSV V2,F0,V1 ;向量和标量相乘 LV V3,RyLV V3,Ry ;取向量YADDV V4,V2,V3ADDV

26、V4,V2,V3 ;加法SV Ry,V4SV Ry,V4 ;存结果问:问:这组向量操作能划分成几个编队?假设每种流水功能部件只有一个,且启动开销分别为:取数和存数部件为12个时钟周期、乘法部件为7个、加法部件为6个。请计算完成这一组向量操作所需的总时间为多少?本章内容性能评价向量指令处理时间Tvp一批向量指令的处理时间3 之 2举 例 解答本章内容性能评价向量指令处理时间Tvp一批向量指令的处理时间3 之 3 可分成4个编队:第1条指令LV为第1个编队,MULTSV指令和第2条LV指令为第2个编队,ADDV指令为第3个编队,SV指令为第4个编队。编队开始开始时间第第1个个结果果时间最后最后1个

27、个结果果时间LV11211+nMULTSV、LV12+n23+n22+2nADDV23+2n28+2n27+3nSV28+3n39+3n38+4n向量长度向量寄存器长度时本章内容性能评价向量指令处理时间Tvp 一批向量指令的处理时间 需进行分段开采,向量长度为n n的一组向量操作的整个执行时间为:其中:T Tlooploop为执行标量代码的开销,T Tstartstart为每个编队的向量启动开销, T Tchimechime为编队数,MVLMVL是向量寄存器的长度。 T Tlooploop可以看作是一个常数,Cray 1机的 T Tlooploop约等于15。3 之 1举 例 问题 在某台向量

28、处理机上执行DAXPY代码(Y=aXY),代码如下:1 1:LV LV V1,Rx V1,Rx;取向量X2 2:MULTSV V2,F0,V1MULTSV V2,F0,V1;向量和标量相乘3 3:LV LV V3,Ry V3,Ry;取向量Y4 4:ADDV ADDV V4,V2,V3 V4,V2,V3;加法5 5:SV SV Ry,V4 Ry,V4;存结果 向量寄存器长度为64,向量长度为n ,各功能部件的启动时间与上例相同。求总的执行时间。本章内容性能评价向量指令处理时间Tvp一批向量指令的处理时间3 之 2举 例 解答本章内容性能评价向量指令处理时间Tvp一批向量指令的处理时间3 之 3

29、指令1、2,指令3、4和指令5分成三个编队,前两个编队中两条指令如采用链接技术执行,则:Tchime=3,Tloop=15, MVL=64 ,Tstart=12+7+12+6+12=49。最大性能R本章内容性能评价 R表示当向量长度为无穷大时的向量流水线的最大性能。常在评价峰值性能时使用,单位为MFLOPS。可表示为:其中:n n为向量长度;T Tn n为一组向量操作的整个执行时间。2 之 1举 例 前例本章内容性能评价2 之 2 假设时钟频率为500MHZ。因为每个循环有2个浮点运算操作,所以:半性能向量长度n1/2本章内容性能评价 为达到一半R值所需的向量长度称为半性能向量长度n1/2,主

30、要评价向量流水线建立时间对性能的影响。 通常希望向量流水线有较小的 n1/2 , 例如:CRAY-1的n1/2 1020,CYBER 205的n1/2 100。2 之 1举 例 前例本章内容性能评价2 之 2因为:R=250MFLOPS,因此有: 2502 2 n1/2Tn1/2 500假设:n1/264,因此:Tn1/2 64 + 3 n1/2代入上式解得:n1/2所以:n1/213向量长度临界值nv本章内容性能评价 nv表示向量流水方式的工作速度优于标量串行方式工作时所需得向量长度临界值。该参数既衡量建立时间,也衡量标量/向量速度比对性能的影响。2 之 1举 例 前例本章内容性能评价2 之 2 对于前例,若按标量方式工作,则一个循环的执行时间为:10(建立循环的开销)+12(取数)+7(乘法)+ 12(取数)+6(加法)+12(存数)=59(个时钟周期),如按向量方式工作,则总执行时间为:Tn64=3n+64。 所以:59nv =3nv +64,解得:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号