向量流水线计算机技术_第1页
向量流水线计算机技术_第2页
向量流水线计算机技术_第3页
向量流水线计算机技术_第4页
向量流水线计算机技术_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、n向量处理机结构目前已成为解决数值计算问题的一种最重向量处理机结构目前已成为解决数值计算问题的一种最重要的高性能结构。要的高性能结构。n向量处理机的性能价格比是很引人注目的,因为与相同价向量处理机的性能价格比是很引人注目的,因为与相同价格的串行处理机相比,它们的向量运算吞吐量要高出格的串行处理机相比,它们的向量运算吞吐量要高出12个数量级。但是,这种吞吐量提高只是对特定结构问题而个数量级。但是,这种吞吐量提高只是对特定结构问题而言,也就是说,局限于那些可以转化为向量运算的问题。言,也就是说,局限于那些可以转化为向量运算的问题。第六章第六章 向量流水线技术向量流水线技术( (P347)P347)

2、前言前言n本章任务了解本章任务了解向量处理机特点、一般结构向量处理机特点、一般结构,n并掌握并掌握提高向量处理机性能方法提高向量处理机性能方法。6.1 特点特点 多数为巨型机多数为巨型机,绝大多数向量处理机都采用流水线结构。当绝大多数向量处理机都采用流水线结构。当一条流水线不能达到所要求性能时,设计者往往采用一条流水线不能达到所要求性能时,设计者往往采用多条单功多条单功能流水线。能流水线。第六章第六章 向量流水线技术向量流水线技术-向量处理机的结构为实现向量化处理,向量处理机操作部件一般采用流水线结为实现向量化处理,向量处理机操作部件一般采用流水线结构。下面是典型的向量加法器结构:构。下面是典

3、型的向量加法器结构:n向量处理机设计中要解决两个问题:向量处理机设计中要解决两个问题:(1)设法维持连续数据流(提供连续的)设法维持连续数据流(提供连续的A和和B)。)。 (2)设法降低对存储器压力。)设法降低对存储器压力。n向量处理机一般采取以下技术措施:向量处理机一般采取以下技术措施: (1)用多独立存储器模块达到需要带宽。例)用多独立存储器模块达到需要带宽。例STAR-100,32体。体。 (2)增设高速中间存储器)增设高速中间存储器向量寄存器。向量寄存器。n根据采用技术措施不同,向量处理机分为两种不根据采用技术措施不同,向量处理机分为两种不同结构:同结构: (1)存储器)存储器存储器结

4、构存储器结构(2)寄存器)寄存器寄存器结构寄存器结构第一节第一节向量处理机的结构向量处理机的结构n(1)存储器)存储器存储器结构存储器结构第一节第一节向量处理机的结构向量处理机的结构主存储器由多个存储器模块构成。流水线运算器与主存储器系主存储器由多个存储器模块构成。流水线运算器与主存储器系统间有三条相互独立的数据通路,各数据通路可同时工作。统间有三条相互独立的数据通路,各数据通路可同时工作。第一节第一节向量处理机的结构向量处理机的结构n假设一个存储周期占两个处理机周期。假设一个存储周期占两个处理机周期。n下图是计算下图是计算C=AB最理想方法。最理想方法。第一节向量处理机的结构典型系统:典型系

5、统:CDC的的STAR-100,1973年完成。年完成。主要技术参数:主要技术参数:主频:主频:40ns;字长:;字长:64位;主存容量:位;主存容量:100万字,磁芯存储器,万字,磁芯存储器,32体,存储周期为体,存储周期为1.28微妙,每个体的数据宽度为微妙,每个体的数据宽度为8个字,个字,STAR-100存储系统的频带宽度为:存储系统的频带宽度为:(32*8)/1.28微妙微妙=2*字字/秒秒 n使主存有较高带宽的另一种方法是由一级或多级中间存储使主存有较高带宽的另一种方法是由一级或多级中间存储器形成一个层次结构存储器系统,其中带宽最高的这级存器形成一个层次结构存储器系统,其中带宽最高的

6、这级存储器安排在距处理器最近位置。即寄存器一寄存器结构。储器安排在距处理器最近位置。即寄存器一寄存器结构。nCRAY-1是世界上第一台向量流水处理巨型机。是世界上第一台向量流水处理巨型机。是美国是美国Cray公司于公司于1976年提供产品。运算速度达亿次秒以上年提供产品。运算速度达亿次秒以上巨型机。速度这么高的一个原因是它采用了层次结构的存巨型机。速度这么高的一个原因是它采用了层次结构的存储器系统。储器系统。第一节第一节向量处理机的结构向量处理机的结构(2)寄存器)寄存器-寄存器结构寄存器结构简化的简化的Cray-l的框图:主存与流水结构运算器间有一级或两级中间的框图:主存与流水结构运算器间有

7、一级或两级中间存储器。存储器。中间存储器与中间存储器与CACHE比特点:不透明;访问快;支持新数据结构比特点:不透明;访问快;支持新数据结构(3)两种结构的简单比较:)两种结构的简单比较:n第一种结构是依靠主存来保证流水线所需的操作数。因此第一种结构是依靠主存来保证流水线所需的操作数。因此主存必须具有至少和运算器所要求带宽一样高的带宽。这主存必须具有至少和运算器所要求带宽一样高的带宽。这就要求主存或者存取速度足够快,或者分为多个独立的存就要求主存或者存取速度足够快,或者分为多个独立的存储模块,或者两者都具备,因为运算器要求的最大带宽非储模块,或者两者都具备,因为运算器要求的最大带宽非常高。常高

8、。n第二种结构是通过容量比主存小得多的中间存储器即寄存第二种结构是通过容量比主存小得多的中间存储器即寄存器来保证很高的带宽。这样,低速存取主存就不会妨碍流器来保证很高的带宽。这样,低速存取主存就不会妨碍流水结构运算器连续运行。第二种结构的另一好处是流水结水结构运算器连续运行。第二种结构的另一好处是流水结构运算器可以重叠进行,因为构运算器可以重叠进行,因为高速寄存器带宽足以满足几高速寄存器带宽足以满足几个流水结构运算部件的带宽要求个流水结构运算部件的带宽要求。第一节向量处理机的结构6.2 典型工作方式典型工作方式 CRAY-1是世界上第一台向量流水处理巨型机。是世界上第一台向量流水处理巨型机。(

9、1) CRAY-1技术术语技术术语 向量寄存器组向量寄存器组V0,V1,V7。 分量计数器分量计数器 链接方式链接方式(P370) 启动、输出延迟(各启动、输出延迟(各1拍)。拍)。D=A*(BC)向量长度)向量长度=64,B和和C已取至已取至V0和和 V1,V3AV2 V0V1V4 V2*V3n第一、二条指令既无寄存器冲第一、二条指令既无寄存器冲突,也无功能部件冲突,可并突,也无功能部件冲突,可并行执行。行执行。第三条与第一、二条指令均存在第三条与第一、二条指令均存在先写后读的相关冲突,先写后读的相关冲突,可将第可将第三条与第一、二条指令链接三条与第一、二条指令链接。由于同步的要求,数据进入

10、和流出每个由于同步的要求,数据进入和流出每个功能部件,包括访存都需要功能部件,包括访存都需要1拍时间。拍时间。(2) 链接技术(链接技术(369)前一条指令结果不必送回存储器直接作为后一条指令的操作数,甚至可在前前一条指令结果不必送回存储器直接作为后一条指令的操作数,甚至可在前一条指令完成之前就使用其结果。一条指令完成之前就使用其结果。若采用链接技术,则执行时间为:若采用链接技术,则执行时间为: (1 61)()(17 1)()(Nl)= N16拍拍若这三条指令全部用串行方法,则执行时间为:若这三条指令全部用串行方法,则执行时间为: (161)N1(16十十1)N1(171)N1= 3N 22

11、拍拍若前两条指令并行执行,第三条指令串行执行,则执行时间为:若前两条指令并行执行,第三条指令串行执行,则执行时间为:(1 61) N1( 17 l) N1= 2N 15拍拍假设向量长度为假设向量长度为N,分析:1. 实现链接除了无向量寄存器使用冲突和无功能部件使用冲突外,还有时间时间上的要求,只有当前一条指令的第一个结果分量送入结果向量寄存器的那一个时钟周期方可链接,若错过该时刻就不能进行链接,只有当前一条向量指令全部执行完毕,释放向量寄存器资源后才能执行后面指令。2. 另外,当一条向量指令的两个源操作数分别是两条先行指令的结果寄存器时,要求先行的两条指令产生运算结果的时间必须相等,即要求有关

12、功能部件的延迟时间相等延迟时间相等,此外还要求这两条向量指令的向向量长度必须相等量长度必须相等,否则也不能链接。功能部件冲突功能部件冲突 指令运算符号相同;指令运算符号相同;Vi变量冲突变量冲突 指令中使用的指令中使用的Vi变量相同,具体有变量相同,具体有3种形式,种形式, 即左同名、右同名、上右下左同名。即左同名、右同名、上右下左同名。冲突:冲突: A=B+C A=B+C A=B+C A=D*E D=B*E B=D*E相关:相关: A=B+C D=A*E(4) CRAY-1分析指令的分析指令的3条策略条策略无相关,无冲突无相关,无冲突 同时启动;同时启动;有相关,无冲突有相关,无冲突 链接启

13、动;链接启动; 有冲突有冲突 顺序执行;顺序执行;(链接:链接:前条指令结果不必送回存储器直接作为后条指令操作数,甚至可在前条指令结果不必送回存储器直接作为后条指令操作数,甚至可在前条指令完成之前就使用其结果)前条指令完成之前就使用其结果)(5)计算向量程序执行时间工具计算向量程序执行时间工具 多流水线时空图多流水线时空图(结合(结合P3P39191题题6.66.6实例学习实例学习 )(3) 冲突及其分类冲突及其分类6.3 6.3 向量处理机的性能评价(向量处理机的性能评价(P386P386)一共有一共有4 4个性能指标:个性能指标:TvpTvp、R R、n n1/21/2、n nv v。6.

14、3.1 6.3.1 向量指令处理时间向量指令处理时间TvpTvp6.3.1.1 6.3.1.1 单条向量指令执行时间(第单条向量指令执行时间(第9 9行开始)行开始)TvpTvp = Ts + = Ts + TvfTvf + ( n - 1 ) + ( n - 1 ) TcTc其中:其中: TvpTvp 一条向量指令执行总时间一条向量指令执行总时间Ts Ts 配套标量指令的折算时间配套标量指令的折算时间TvfTvf 流水线流过时间,即流水线流过时间,即计算第一个分量所需时间计算第一个分量所需时间n n 向量中包含的向量中包含的分量数分量数TcTc 流水线流水线“瓶颈瓶颈”段段时间,时间, Tc

15、Tc = max = maxtiti (注:该公式仅比标量流水线时间公式(注:该公式仅比标量流水线时间公式TkTk = ( k + n - 1 ) = ( k + n - 1 ) maxmaxtiti 多了一项多了一项“辅助标量指令折算时间辅助标量指令折算时间”TsTs而已,参见而已,参见P286P286公公式式5.22 5.22 )6.3.1.2 6.3.1.2 不使用链接技术的指令组时间(第不使用链接技术的指令组时间(第1818行开始)行开始)指令之间不论是存在冲突还是相关关系,都不能编入同一编队。指令之间不论是存在冲突还是相关关系,都不能编入同一编队。(编队:几条能在一个时钟内一起开始执

16、行的向量指令称为一个编队)(编队:几条能在一个时钟内一起开始执行的向量指令称为一个编队)例例6.4-6.5 6.4-6.5 对下列指令组编队,并求对下列指令组编队,并求出每个出每个编队的开始、获得第一个分量编队的开始、获得第一个分量结果、获得最后一个分量结果的时间(参见结果、获得最后一个分量结果的时间(参见P387P387表表6.46.4,但是与下面推导数,但是与下面推导数据有出入)据有出入)LV LV V1V1,RxRxMULTSV V2MULTSV V2,F0F0,V1V1LV LV V3V3,RyRyADDV ADDV V4V4,V2,V2,V3V3SV Ry,SV Ry,V4V4编队:

17、由于指令编队:由于指令1 1与与2 2之间关于之间关于V1V1相关、指令相关、指令3 3与与4 4之间关于之间关于V3V3相关、指令相关、指令4 4与与5 5之间关于之间关于V4V4相关,所以它们必须分在不同的编队。结果如下相关,所以它们必须分在不同的编队。结果如下编队编队1 1:指令:指令1 1编队编队2 2:指令:指令2 2、指令、指令3 3编队编队3 3:指令:指令4 4编队编队4 4:指令:指令5 5不使用链接技术的时空图与各编队时间不使用链接技术的时空图与各编队时间访存访存1212段段 指令指令1 1 指令指令3 3 指令指令5 5乘法乘法7 7段段 指令指令2 2加法加法6 6段段

18、 指令指令4 4 12 n-1 12 n-1 6 n-1 12 n-1 12 n-1 12 n-1 6 n-1 12 n-1 时间时间6.3.1.3 6.3.1.3 使用链接技术的指令组时间(使用链接技术的指令组时间(P388P388第第1313行开始)行开始)指令之间只有存在冲突关系时,才不能编入同一编队。相关指令可通过链接指令之间只有存在冲突关系时,才不能编入同一编队。相关指令可通过链接技术编入同一编队。技术编入同一编队。例例6.7 6.7 指令组同例指令组同例6.46.4,因使用链接技术,编队结果与之不同。即指令,因使用链接技术,编队结果与之不同。即指令1 1与与2 2链接在同一编队,指

19、令链接在同一编队,指令3 3与与1 1冲突要分开,指令冲突要分开,指令3 3与与4 4链接在同一编队,指令链接在同一编队,指令5 5与与3 3冲突要分开。结果如下冲突要分开。结果如下LV V1LV V1,RxRxMULTSV V2MULTSV V2,F0F0,V1V1编队编队1 1:指令:指令1 1、指令、指令2 2LV V3LV V3,RyRyADDV V4,V2,V3ADDV V4,V2,V3编队编队2 2:指令:指令3 3、指令、指令4 4SV Ry,V4SV Ry,V4编队编队3 3:指令:指令5 5使用链接技术的时空图与各编队时间(设使用链接技术的时空图与各编队时间(设n 64n 6

20、4,即不分段。),即不分段。)访存访存1212段段 指令指令1 1 指令指令3 3 指令指令5 5乘法乘法7 7段段 指令指令2 2加法加法6 6段段 指令指令4 4 12 7 n-1 12 6 n-1 12 n-1 12 7 n-1 12 6 n-1 12 n-1 时间时间总时间总时间 = 3n + 46= 3n + 466.3.1.4 6.3.1.4 考虑分段开采的指令组时间(考虑分段开采的指令组时间(P387P387倒数倒数第第1515行开始)行开始)说明:当向量长度超过寄存器组长度时,需要采用分段开采的算法,每段长说明:当向量长度超过寄存器组长度时,需要采用分段开采的算法,每段长度等于

21、寄存器组长度。指令组执行总时间如下度等于寄存器组长度。指令组执行总时间如下其中:其中: TnTn 指令组执行总时间指令组执行总时间n n 向量中包含的向量中包含的分量数分量数MVL MVL 寄存器组长度寄存器组长度(CRRY-1(CRRY-1为为6464)TloopTloop 配套标量指令的折算时间,即前面公式中的配套标量指令的折算时间,即前面公式中的TsTstartTstart 流水线流过时间,即前面公式中的流水线流过时间,即前面公式中的TvfTchimeTchime 编队数编队数(注:这是一个近似公式;注:这是一个近似公式;CRAY-1CRAY-1机器的机器的TloopTloop = 15

22、 = 15)chimestartloopnTnTTMVLnT例例6.7 6.7 指令组同例指令组同例6.46.4,因使用链接技术,编队结果与之不同。即指令,因使用链接技术,编队结果与之不同。即指令1 1与与2 2链接在同一编队,指令链接在同一编队,指令3 3与与1 1冲突要分开,指令冲突要分开,指令3 3与与4 4链接在同一编队,指令链接在同一编队,指令5 5与与3 3冲突要分开。结果如下冲突要分开。结果如下LV V1LV V1,RxRxMULTSV V2MULTSV V2,F0F0,V1V1编队编队1 1:指令:指令1 1、指令、指令2 2LV V3LV V3,RyRyADDV V4,V2,

23、V3ADDV V4,V2,V3编队编队2 2:指令:指令3 3、指令、指令4 4SV Ry,V4SV Ry,V4编队编队3 3:指令:指令5 5不论向量长度是否大于寄存器组长度,均可代入分段开采时间公式,计算指不论向量长度是否大于寄存器组长度,均可代入分段开采时间公式,计算指令组执行总时间。此处令组执行总时间。此处TchimeTchime = 3 = 3,Tloop = 15Tloop = 15,TstartTstart = 12+7+12+6+12 = 12+7+12+6+12 = 49= 49,MVL=64MVL=64。注意公式法得数与图解法的得数不完全相同。注意公式法得数与图解法的得数不完全相同。6443643491564nnnnnTnTTMVLnTchimestartloopnR表示当向量长度为无穷大时的向量流水线的最大性能,单位为MFLOPS。6.3.2 最大性能R它是向量流水线性能达到R的1/2时对应的向量长度。6.3.3 半性能向量长度n1/2它表示

温馨提示

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

评论

0/150

提交评论