计算机系统结构 第4章

上传人:kms****20 文档编号:51406724 上传时间:2018-08-14 格式:PPT 页数:72 大小:443.50KB
返回 下载 相关 举报
计算机系统结构 第4章_第1页
第1页 / 共72页
计算机系统结构 第4章_第2页
第2页 / 共72页
计算机系统结构 第4章_第3页
第3页 / 共72页
计算机系统结构 第4章_第4页
第4页 / 共72页
计算机系统结构 第4章_第5页
第5页 / 共72页
点击查看更多>>
资源描述

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

1、1/72第4章 向量处理机2/724.1向量的处理方式4.2向量处理机的结构4.3提高向量处理机性能的常用技术4.4向量处理机的性能评价 4.5向量处理机实例3/72向量由一组有序、具有相同类型和位数的元素组 成。 在流水线处理机中,设置向量数据表示和相应的 向量指令,称为向量处理机。不具有向量数据表示和相应的向量指令的流水线 处理机,称为标量处理机。典型的向量处理机q1976年 Cray-1超级计算机浮点运算速度达到了每秒1亿次qCDC Cyber 205,Cray Y-MP,NEC SX-X/44 ,Fujitsu VP2600等性能达到了每秒几十亿几百亿次浮 点运算4/724.1 向量的

2、处理方式以计算表达式 D=A(BC)为例 A、B、C、D 长度为 N 的向量5/724.1 向量的处理方式w横向(水平)处理方式向量计算是按行的方式从左到右横向地进行 。q先计算: d1a1(b1c1)q再计算: d2a2(b2c2)q q最后计算: dNaN(bNcN)组成循环程序进行处理。qibicidiqiaiq数据相关:N次 功能切换:2N次不适合于向量处理机的并行处理。6/724.1 向量的处理方式w纵向 (垂直)处理方式向量计算是按列的方式从上到下纵向地进行 。q1b1c1 d1q1a1先计算 再计算 qNbNcN dNqNaN表示成向量指令:QBCDQAq两条向量指令之间:数据相

3、关:1次 功能切换:1次7/724.1 向量的处理方式w纵横 (分组)处理方式又称为分组处理方式。把向量分成若干组,组内按纵向方式处理, 依次处理各组。对于上述的例子,设:N=Snrq其中N为向量长度,S为组数,n为每组的 长度,r为余数。q若余下的r个数也作为一组处理,则共有 S+1组。运算过程为:8/724.1 向量的处理方式q先算第1组:Q1nB1nC1nD1nQ1nA1nq再算第2组:Q(n+1)2nB(n+1)2nC(n+1)2nD(n+1)2nQ(n+1)2nA(n+1)2nq依次进行下去,直到最后一组:第S+1组。q每组内各用两条向量指令。数据相关:1次 功能切换:2次9/72向

4、量处理机的结构因具体机器不同而不同 。由所采用的向量处理方式决定。有两种典型的结构q存储器-存储器型结构纵向处理方式采用q寄存器-寄存器型结构分组处理方式采用4.2 向量处理机的结构10/724.2 向量处理机的结构4.2.1 “存储器-存储器”结构采用纵向处理方式的向量处理机对处理机结构的要求 :存储器存储器结构 向量指令的源向量和目的向量都是存放在存储器中,运算的中间结果需要送回存储器。 流水线运算部件的输入和输出端都直接(或经过缓冲器)与存储器相联,从而构成存储器-存储器型操作的运算流水线。 例如:STAR-100、CYBER-20511/724.2 向量处理机的结构“存储器存储器”型操

5、作的运算流 水线 12/724.2 向量处理机的结构w要充分发挥这种结构的流水线效率,存储器要不断地 提供源操作数,并不断地从运算部件接收结果。(每拍从存储器读取两个数据,并向存储器写回一 个结果)对存储器的带宽以及存储器与处理部件的通 信带宽提出了非常高的要求。解决方法:一般是通过采用多体交叉并行存 储器和缓冲器技术。 例如,70年代初问世的Star 100q存储器:32个体交叉q每个体的数据宽度:8个字(字长64位)q最大数据流量:每秒2亿字13/724.2 向量处理机的结构在向量的分组处理方式中,对向量长度N没有限 制,但组的长度n却是固定不变的。对处理机结构的要求:寄存器寄存器结构设置

6、能快速访问的向量寄存器,用于存放源 向量、目的向量及中间结果。让运算部件的输入 、输出端都与向量寄存器相联,就构成了“寄存 器寄存器”型操作的运算流水线。q典型的寄存器寄存器结构的向量处理机 美国的CRAY-1、我国的YH-1巨型机4.2.2 “寄存器-寄存器”结构14/724.2 向量处理机的结构以CRAY-1机为例q美国CRAY公司 q1976年q每秒1亿次浮点运算 q时钟周期:12.5ns wCRAY-1的基本结构功能部件共有12条可并行工作的单功能流水线 ,可分别流水地进行地址、向量、标量的各种运算。16/724.2 向量处理机的结构q6个单功能流水部件:进行向量运算 n整数加(3拍)

7、n逻辑运算(2拍)n移位(4拍)n浮点加(6拍)n浮点乘(7拍)n浮点迭代求倒数(14拍)括号中的数字为其流水经过的时间, 每拍为一个时钟周期,即12.5ns。17/724.2 向量处理机的结构向量寄存组Vq由512个64位的寄存器组成,分成8块。q编号:V0V7q每一个块称为一个向量寄存器,可存放一 个长度(即元素个数)不超过64的向量。q每个向量寄存器可以每拍向功能部件提供 一个数据元素,或者每拍接收一个从功能部件来的结 果元素。标量寄存器S和快速暂存器Tq标量寄存器有8个:S0S7 64位q快速暂存器T用于在标量寄存器和存储器 之间提供缓冲。 18/724.2 向量处理机的结构向量屏蔽寄

8、存器VMq64位,每一位对应于向量寄存器的一个单 元。q作用:用于向量的归并、压缩、还原和测 试操作、对向量某些元素的单独运算等 。wCRAY-1向量处理的一个显著特点每个向量寄存器Vi都有连到6个向量功能部件 的单独总线。每个向量功能部件也都有把运算结果送回向 量寄存器组的总线。 19/724.2 向量处理机的结构只要不出现Vi冲突和功能部件冲突,各Vi之 间和各功能部件之间都能并行工作,大大加快了 向量指令的处理。qVi冲突:并行工作的各向量指令的源向量 或结果向量使用了相同的Vi。例如:源向量相同V3V1V2V5V4V1q功能部件冲突:并行工作的各向量指令要 使用同一个功能部件。例如:都

9、需使用乘法功能部件V3V1V2V5V4V620/724.2 向量处理机的结构wCRAY-1向量指令类型qVk Vi op VjqVk Si op VjqVk 主存q主存 Vi 21/72提高向量处理机性能的方法设置多个功能部件,使它们并行工作;采用链接技术,加快一串向量指令的执行;采用循环开采技术,加快循环的处理;采用多处理机系统,进一步提高性能。4.3 提高向量处理机性能的常用技术22/724.3 提高向量处理机性能的常用技术设置多个独立的功能部件。这些部件能并行 工作,并各自按流水方式工作,从而形成了多条 并行工作的运算操作流水线。例如:CRAY-1向量处理机有4组12个单功 能流水部件:

10、n向量部件:向量加,移位,逻 辑运算n浮点部件:浮点加,浮点乘, 浮点求倒数n标量部件:标量加,移位,逻 辑运算,数“1”/计数n地址运算部件:整数加,整数 乘4.3.1 设置多个功能部件23/724.3 提高向量处理机性能的常用技术w两条向量指令占用功能流水线和向量寄存器的4种情况 指令不相关例如:V0V1V2V6V4*V5q这两条指令分别使用各自所需的流水线和 向量寄存器,可以并行执行。 功能部件冲突例如:V3V1V2V6V4V54.3.2 链接技术24/724.3 提高向量处理机性能的常用技术q这两条指令都要使用加法流水线,发生了 功能部件冲突(但向量寄存器不冲突)。当第一条指 令流出时

11、,占用加法流水线。第二条指令要等加法流 水线变成空闲后,才能流出。 源寄存器冲突例如:V3V1V2V6V1*V4q这两条向量指令的源向量之一都取自V1 。由于两者的首元素下标可能不同,向量长度也可能 不同,所以难以由V1同时提供两条指令所需要的源 向量。q这两条向量指令不能同时执行。只有等第 一条向量指令执行完、释放V1之后,第二条向量指 令才能开始执行。25/724.3 提高向量处理机性能的常用技术结果寄存器冲突两条向量指令使用了相同的结果向量寄 存器。例如:V4V1V2V4V3*V5q这两条指令都要访问目的寄存器V4。由 于第一条指令在先,所以它先占用V4直到运算完成 ,然后再流出后一条指

12、令。w当前一条指令的结果寄存器是后一条指令的源寄存器 、且不存在任何其他冲突时,就可以用链接技术来提 高性能。例如:V3V1V2V6V3*V426/724.3 提高向量处理机性能的常用技术向量流水线链接:具有先写后读相关的两条指令,在不出现功能部件冲突和源向量冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的。qCray-1向量处理的一个显著特点 q链接特性的实质把流水线定向的思想引入到向量执行过程的结果。27/724.3 提高向量处理机性能的常用技术链接时,Cray-1中把向量数据元素送往向量功能部件以及把结果存入向量寄存器都需要一拍 时间,从存储器中把数据送入访存功能部

13、件也需 要一拍时间。(同步的要求)28/724.3 提高向量处理机性能的常用技术例4.1 考虑在Cray-1上利用链接技术执行以下4条指令:V0存储器/ 访存取向量:7拍V2V0V1/ 向量加:3拍V3V2A3 / 按(A3)左移:4拍V5V3V4/ 与操作:2拍画出链接示意图,并求该链接流水线的通过时间。如果向量长度为64,则需要多少拍才能得到全部结果。解 对这4条指令进行分析可知:它们既没有部件冲突,也没有寄存器冲突,相邻两条指令之间都存在先写后读相关,因而可以把访存流水线、向量加流水线、向量移位流水线以及向量逻辑运算流水线链接成一个较长的流水线。 Cray-1的流水线链接举例 30/72

14、4.3 提高向量处理机性能的常用技术链接操作的时间图: 31/724.3 提高向量处理机性能的常用技术a:存储字到“读功能部件”的传送时间 b:存储字经过“读功能部件”的通过时间c:存储字从“读功能部件”到V0分量的传送时间 d:V0和V1中操作数到整数加功能部件的传送时间e:整数加功能部件的通过时间 f:和从整数加功能部件到V2分量的传送时间g:V2中的操作数分量到移位功能部件的传送时间 h:移位功能部件的通过时间i:结果从移位功能部件到V3分量的传送时间 j:V3和V4中的操作数分量到逻辑部件的传送时间k:逻辑功能部件的通过时间 l:最后结果到V5分量的传送时间32/724.3 提高向量处

15、理机性能的常用技术例4.2 在CRAY-1上用链接技术进行向量运算D=A(B+C)假设向量长度N64,向量元素为浮点数,且向量B、C已存放在V0和V1中。画出链接示意图,并分析非链接执行和链接执行两种情况下的执行时间。解 用以下三条向量完成上述运算:V3 存储器/ 访存取向量AV2 V0 V1 / 向量B和向量C进行浮点加V4 V2 V3/ 浮点乘,结果存入V4链接示意图 34/724.3 提高向量处理机性能的常用技术3条指令全部用串行方法执行,则执行时间 为:(161)N1(161)N1(171)N1 = 3N 22 (拍)前两条指令并行执行,然后再串行执行第3 条指令,则执行时间为:(161)N1(171)N1 = 2N 15 (拍)第1、2条向量指令并行执行,并与第3条指 令链接执行。 (161) (171) (N1)= N16 (拍)35/724.3 提高向量处理机性能的常用技术进行向量链接的要

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

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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