流水线技术--向量处理机.ppt_第1页
流水线技术--向量处理机.ppt_第2页
流水线技术--向量处理机.ppt_第3页
流水线技术--向量处理机.ppt_第4页
流水线技术--向量处理机.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.5 向量处理机,3.5.1 向量处理方式和向量处理机, 向量处理机:具有向量数据表示和相应向量 指令的流水线处理机。 标量处理机: 不具有向量数据表示和相应向 量指令的处理机。,DA(BC ) A、B、C、D 长度为 N 的向量,1. 向量处理方式,第三章 流水线技术,虚拟存储器的特点,(1) 水平(横向)处理方式 Kibici DiKiai 相关:N 次 功能切换:2N 次,虚拟存储器的特点,(2) 垂直(纵向)处理方式 KBC DKA 相关:次 功能切换:次,对处理机结构的要求: 存储器-存储器型操作的运算流水线对存储器的带宽要求很高。 例如:STAR-100,CYBER-205,3.5 向量处理机,虚拟存储器的特点,3.5 向量处理机,虚拟存储器的特点,(3) 分组(纵横)处理方式 把向量分成长度为某个固定值的若干组, 组内按纵向方式处理,依次处理各组。 每组内: 相关:次 功能切换:次,3.5 向量处理机,虚拟存储器的特点,3.5 向量处理机,虚拟存储器的特点,对处理机结构的要求: 寄存器-寄存器型操作的运算流水线。 举例,虚拟存储器的特点,2. 向量处理机的速度评价方法, 标量处理机:通常用每秒执行多少指令 MIPS(Million Instructions Per Second) 来衡量机器的运算速度 。 向量处理机:常用每秒取得多少个浮点运算 结果表示机器速度,以MFLOPS(Million of Floating Point Per Second)作为测量单位。,另一种评定计算机速度的方法:比较法。 (选择一台速度指标得到公认的机器作为标准机,给定一些典型的基准程序。),3.5 向量处理机,虚拟存储器的特点,3.5.2 提高向量处理机性能的主要技术,1. CRAY-I简介 美国CRAY公司 1976年 每秒亿次浮点运算 主频:80MHz 字长:64位,2. CRAY-1的基本结构 向量运算部件:个 整数加,逻辑运算,移位 浮点加,浮点乘,求倒数,3.5 向量处理机,虚拟存储器的特点, 向量寄存器组:864 V0 V7 每个 Vi 每个向量运算部件 向量长度寄存器VL 向量屏蔽寄存器VM,CRAY-1向量处理的显著特点:只要不出现Vi 冲突和向量功能部件冲突,各个Vi之间和各个向 量功能部件之间都能并行工作,大大加快了向量 指令的处理。,3.5 向量处理机,虚拟存储器的特点,3. CRAY-1向量指令类型 Vk Vi op Vj Vk Si op Vj Vk 主存 主存 Vi,Vi冲突:指的是并行工作的各向量指令的源向 量或结果向量的Vi有相同的。 向量功能部件冲突:指同一个向量功能部件被 一条以上的并行工作向 量指令所使用。,3.5 向量处理机,虚拟存储器的特点,3.5 向量处理机,虚拟存储器的特点,4. 链接技术 当两条指令出现“写后读”相关时,若它们 不存在功能部件冲突和向量寄存器(源或目的) 冲突,就有可能把它们所用的功能部件头尾相 接,形成一个链接流水线,进行流水处理。 链接特性实质上是把流水线“定向”的思想 引入到向量执行过程的结果。,3.5 向量处理机,虚拟存储器的特点,虚拟存储器的特点,例3.7 对上述向量运算D=A*(B+C),若向量 长度N64,向量元素为浮点数,则在B、C取到 V0、V1后,就可用以下三条向量指令求解: (1) V3存储器(访存,载入A) (2) V2V0V1(浮点加) (3) V4V2*V3(浮点乘,存D),解:链接过程如图3.44所示:,3.5 向量处理机,虚拟存储器的特点, 三条向量指令全部用串行方法执行,则总 的执行时间为: (1+6+1) + N-1 + (1+6+1) + N-1 +(1+7+1) + N-1 = 3N + 22 拍,3.5 向量处理机,虚拟存储器的特点, 前两条向量指令并行执行之后,再执行第 三条向量指令,则总的执行时间为: (1+6+1) + N-1 + (1+7+1) + N-1 = 2N + 15 拍, 采用向量链接技术,所需拍数(亦称为链接 流水线的流水时间)为: (1+6+1) + (1+7+1) = 17 拍 则三条向量指令总执行时间为: (1+6+1) + (1+7+1) +(N-1)= N + 16 拍,3.5 向量处理机,虚拟存储器的特点,5. 向量链接的一些主要要求: (除了要保证无向量寄存器使用冲突和无向 量功能部件使用冲突的条件之外 ), 在进行链接的时候,只有在前一条向量指令 的第一个结果元素送入结果向量寄存器的那 一个时钟周期才可以进行链接,若错过该时 刻就不能进行链接。 只有当前一条向量指令全部执行完毕,释放 相应的向量寄存器资源后才能执行后面的向 量指令。,3.5 向量处理机,虚拟存储器的特点, 当一条向量指令的两个源操作数分别是两条 先行向量指令的结果寄存器时,要求先行的 两条向量指令产生运算结果的时间必须相等, 即要求有关向量功能部件的延迟时间相等。 只有所有可以链接执行的向量指令的向量长 度相等时,它们之间才能链接执行,否则它 们之间也不能链接执行。,3.5 向量处理机,6. 向量循环或分段开采技术 如果向量的长度大于向量寄存器的长度, 该如何处理呢?, 向量循环 :长向量循环分段处理的程序结构 。 把长向量分成固定长度的段,然后循环分 段处理,一次循环只处理一个向量段。 这种分段向量处理技术也称为分段开采。 将长向量循环分段处理是由系统硬件和软件控 制完成的,对程序员透明。,3.5 向量处理机,虚拟存储器的特点,例3.8 设A和B是长度为N的向量,考虑在 Cray-1向量处理器上实现如下的循环操作。 DO 10 I = 1,N 10 A(I) = 5.0 * B(I) + 1.0 当N 64时,可以用如下指令序列实现上 述循环操作:,S15.0 ;将常数5.0送入标量寄存器S1 S21.0 ;将常数1.0送入标量寄存器S2 VLN ;在向量长度寄存器VL中设置向量长度N,3.5 向量处理机,虚拟存储器的特点,V0B ;从存储器中将向量B读入向量寄存器V0 V1S1*V0 ;向量B中的每个元素分别和常数S1 相乘 V2S2+V1 ;向量V1中的每个元素分别和常数 S2相加 AV2 ;将计算结果从向量寄存器V2存入存 储器的向量A,3.5 向量处理机,虚拟存储器的特点, 当N 64时,就需要进行分段开采。在进 行分段开采时,首先必须根据向量长度计算 出循环次数K :,一般来说,N并不一定总是64的倍数,所 以如果N/64有余数,那么余数L为:,3.5 向量处理机,虚拟存储器的特点,S15.0 ;将常数5.0送入标量寄存器S1 S21.0 ;将常数1.0送入标量寄存器S2 VLL ;在向量长度寄存器VL中设置向量长度L V0B ;从存储器中将向量B0L-1读入向量 寄存器V0 V1S1*V0 ;向量B中的每个元素分别和常数S1相乘; V2S2+V1 ;向量V1中的每个元素分别和常数S2相加 AV2 ;将计算结果从向量寄存器V2存入存储器 的向量A0L-1,处理余 数部分, 计算L 个元素,虚拟存储器的特点,For (I=0 to K-1) V0B ;从存储器中将向量BL+I*64L+I*64+63 读入向量寄存器V0 V1S1*V0 ;向量B中的每个元素分别和常数S1相乘; V2S2+V1 ;向量V1中的每个元素分别和常数S2相加 AV2 ;将计算结果V2存入存储器的向量 AL+I*64 L+I*64+63 ,循环 K次, 分段 处理,衡量向量处理机性能的主要参数: 1.向量指令的处理时间 执行一条向量长度为n的向量指令所需的时间为:,3.5.3 向量处理机的性能评价,Tvp = Ts + Tvf + (n-1)Tc,Ts :向量处理单元流水线的建立时间, 包括:向量起始地址的设置、计数 器加1、条件转移指令执行等。,3.5 向量处理机,Tvf :向量处理单元流水线的流过时间,它 是从向量指令开始执行到得到第一个 计算结果(向量元素)所需的时间。 Tc :向量处理单元流水线“瓶颈”段的执行 时间。, 如果向量处理单元流水线不存在“瓶颈”段,每 段的执行时间等于一个时钟周期,则上式也可 以写为:,Tvp = s + e + (n-1)Tclk,3.5 向量处理机,s:向量处理单元流水线建立所需的时 钟周期数; e:向量流水线流过所需的时钟周期数; Tclk:时钟周期时间。, 可以再改写为:,Tvp = (Tstart + n)Tclk,Tstart :向量功能部件启动所需的时钟 周期数; n:向量元素个数。,3.5 向量处理机, 对于一组向量指令,其执行时间主要取决于 三个因素:,向量的长度 向量操作之间是否链接 向量功能部件的冲突和数据的相关性, 把几条能在同一个时钟周期内一起开始执行的 向量指令集合称为一个编队。,3.5 向量处理机,例3.9 假设每种向量功能部件只有一个,那 么下面的一组向量指令能分成几个编队?,LV V1,Rx MULTSV V2,R0,V1 LV V3,Ry ADDV V4,V2,V3 SV Ry,V4,3.5 向量处理机,解:第一编队:LV 第二编队:MULTSV; LV 第三编队:ADDV 第四编队:SV,一个编队内所有向量指令执行完毕所需要 的时间为:,3.5 向量处理机,假设第i个编队中所有向量指令处理的向量 元素个数均为n。 :第i个编队的执行时间; :第i个编队中第条指令所使用向量功能部 件的启动时钟周期数。,经过编队后的向量指令序列总的执行时间为:,3.5 向量处理机,编队并采用分段开采技术后,向量指令序列 执行所需的总的时钟周期数为:,MVL:向量处理机的向量寄存器长度。,3.5 向量处理机,例3.10 在某向量处理机上执行DAXPY的向量指令序列,也即计算双精度浮点向量表达式。其中和是双精度浮点向量,最初保存在外部存储器中,是一个双精度浮点常数,已存放在浮点寄存器F0中。计算该表达式的向量指令序列如下:,LV V1,Rx MULTFV V2,F0,V1 LV V3,Ry ADDV V4,V2,V3 SV Ry,V4,3.5 向量处理机,解:第一编队:LV V1,Rx 第二编队:MULTFV V2,F0,V1; LV V3,Ry 第三编队:ADDV V4,V2,V3 第四编队:SV Ry,V4,假设向量存储部件的启动需要12个时钟周期,向量乘法部件的启动需要7个时钟周期,向量加法部件的启动需要6个时钟周期,向量寄存器长度MVL64,那么对n个向量元素进行DAXPY表达式计算所需的时钟周期数为:,3.5 向量处理机,如果考虑采用向量链接技术,那么DAXPY的向 量指令序列可以编队为: 第一编队:LV V1,Rx; MULTFV V2,F0,V1 第二编队:LV V3,Ry; ADDV V4,V2,V3 第三编队:SV Ry,V4,3.5 向量处理机,第一编队启动需要12+7=19个时钟周期; 第二编队启动需要12+6=18个时钟周期; 第三编队启动仍然需要12个时钟周期。,采用链接技术后,对n个向量元素进行DAXPY表达式计算所需的时钟周期数为:,3.5 向量处理机,2. 向量处理机的峰值性能R R表示当向量长度为无穷大时,向量处理机 的最高性能,也称为峰值性能。 向量处理机的峰值性能可以表示为:,对于例题3.10向量指令序列中的操作而言,只有“MULTFV V2,F0,V1”和“ADDV V4,V2,V3”两条浮点操作向量指令。假设该向量处理机的时钟频率为200MHz,那么:,3.5 向量处理机,3.5 向量处理机,3. 半性能向量长度n1/2 向量处理机的运行性能达到其峰值性能的 一半时所必须满足的向量长度。 它是评价向量功能部件的流水线建立时间 对向量处理机性能影响的重要参数。 对于上面的例子,由于该向量处理机的峰 值性能R100 MFLOPS, 所以根据半性能向量长度得定义有:,3.5 向量处理机,假设 64,那么有:,n1/2,5n1/2 64,n1/2 12.8,n1/2 13,3.5 向量处理机,4. 向量长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论