计算机系统结构课件

PPT
  • 阅读 46 次
  • 下载 0 次
  • 页数 70 页
  • 大小 924.001 KB
  • 2022-12-01 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
计算机系统结构课件
可在后台配置第一页与第二页中间广告代码
计算机系统结构课件
可在后台配置第二页与第三页中间广告代码
计算机系统结构课件
可在后台配置第三页与第四页中间广告代码
计算机系统结构课件
计算机系统结构课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 70
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】计算机系统结构课件.ppt,共(70)页,924.001 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-76838.html

以下为本文档部分文字说明:

tigerSeptember20081计算机系统结构第一章基本概念第二章指令系统第三章存储系统第四章输入输出系统**第五章标量处理机第六章向量处理机第七章互连网络第八章并行处理机第九章多处理机tigerSeptember20082第六章向量处理机6.1向量处理的基

本概念6.2向量处理机的结构6.3向量处理机的存取模式和数据结构**6.4提高向量处理机性能的方法6.5向量处理机实例6.6向量处理机的性能评价6.7关于向量处理机的几点看法tigerSeptember200836.1向量处理的基本概念

向量处理机解决数值计算问题的一种高性能计算机结构一般采用流水线结构,有多条流水线并行工作通常属大型或巨型机,也可微机加一台向量协处理器组成一般包括有一台高性能标量处理机把问题转化为向量运算

,向量处理机才能充分发挥作用tigerSeptember200846.1.1什么是向量处理从标量到向量一个简单的C语言程序for(i=10;i<=1010;i++)c[i]=a[i]+b[i+5];在向量处理

机上,可以只用一条指令:C(10:1010)=A(10:1010)+B(15:1015)一条向量指令可处理N个或N对操作数标量处理机上用10多条机器指令,其中8条指令循环1000次向量指令的处理效率比标量指令的

处理效率高得多tigerSeptember20085标量处理方式一般标量处理机中实现(A、B、C分别是向量a、b、c在内存中的起始地址)START:LOADR0,ST;读循环初值,10LOADR1,ED;读循环终值,1010LOADR2,L;读内存地

址增量,;常数4MOVER3,R2MULR3,R0;向量偏移量,;初始值为40LOOP:LOADR4,A(R3);读A向量的;一个元素LOADR5,B(R3);读B向量的一个元素ADDR4,R5STORER4,C(R3);写C向

量的一个元素ADDR3,R2;改变向量偏移量INCR0;循环次数增1CMPR0,R1;循环是否结束BLELOOP;循环未结束转LOOP,;否则继续HALTST:10;循环初值ED:1010;循环终值L:4;内存地址增量tigerSeptember200866.1.2向量处理方式根据

向量运算的特点和向量处理机类型选择向量处理方式三种处理方式1.横向处理方式,又称水平处理方式,横向加工方式向量计算是按行的方式从左至右横向地进行2.纵向处理方式,又称垂直处理方式,纵向加工方式向量计算是按列的方式自上而下纵向地进行3.纵横处理方式,又

称分组处理方式,纵横向加工方式横向处理和纵向处理相结合的方式以一个简单的C语言编写的程序为例,说明向量的三种处理方式的工作原理for(i=1;i<=n;i++)y[i]=a[i]×(b[i]+c[i]);tigerSeptember

200871横向处理方式也称水平处理方式,横向加工方式逐个分量进行处理假设中间结果为T(I)计算第1个分量:T(1)=B(1)+C(1)Y(1)=A(1)×T(1)计算第2个分量:T(2)=B(2)+C(2)Y(2)=A(2)×T(2)……最后一个分量:

T(N)=B(N)+C(N)Y(N)=A(N)×T(N)存在问题计算向量的每个分量,都发生写读数据相关。流水线效率低如果采用多功能流水线,须频繁进行流水线切换横向处理方式对向量处理机不适合标量处理机中,经常通过编译器进行指令流调度tigerSeptember200882纵向处理方式也称

垂直处理方式,纵向加工方式T(1)=B(1)+C(1)T(2)=B(2)+C(2)……T(n)=B(n)+C(n)Y(1)=A(1)×T(1)Y(2)=A(2)×T(2)……Y(N)=A(N)×T(N)向量指令只需2条:VADDB,

C,TVMULA,T,Y这种处理方式适用于向量处理机数据相关不影响流水线连续工作不同的运算操作只需切换1次tigerSeptember200893纵横处理方式寄存器-寄存器结构的向量处理机中向量寄存器的长度有限如每个向量寄存器有64个标量寄存器当向量长度N大于向量寄存

器长度n时,需要分组处理分组方法N=K*n+r,其中:r为余数共分K+1组组内采用纵向处理方式组间采用横向处理方式因此,也称为分组处理方式,纵横向加工方式tigerSeptember200810纵横处理方式运算过程为第1组T(1,n)=B(

1,n)+C(1,n)Y(1,n)=A(1,n)×T(1,n)第2组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)+C(kn+1,N)Y(kn+1,N)=A(kn+1,N)×T(kn+1,N)每组用两条向量指令,每组发生数据相关两次组内发生数据相关一次(T(n)写后读)组间切换时发生数据相关一次(B(n+1),C(n+1)LOAD相关)优

点:减少访问主存储器的次数(中间变量T不写入主存储器)tigerSeptember2008116.2向量处理机的结构向量处理机的最关键问题是存储器系统能够满足运算部件的带宽要求主要采用两种方法1.存储器-存储器结构多个独立的存储器模块并行工作

处理机结构简单,对存储系统的访问速度要求很高2.寄存器-寄存器结构运算通过向量寄存器进行需要大量高速寄存器,对存储系统访问速度的要求降低tigerSeptember2008126.2.1存储器-存储器结构向量处理机中有多个高速流水线运算部件,存储器的访问速度是关键采用多个存

储体交叉和并行访问来提高存储器速度Cray1有64个存储体,每个处理机访问4个存储体STAR-100采用32个存储体交叉,每个存储体并行读出8个64位数据我国研制的YH-1向量计算机有37个存储体tigerSe

ptember200813图6.2一个具有8个存储体的向量处理机三条互相独立的数据通路,可并行工作,同一个存储模块同时只能为一个通路服务存储周期为2流水结构加法器为4周期流水MMMMMMMM流水结构加法器ABC=

A+BtigerSeptember200814存储器-存储器结构操作数缓冲栈和写结果缓冲栈主要用于解决访问存储器冲突采用质数个存储体能消除访问存储器的冲突数据经过多次运算之后,在存储体中分布必然发生改变主要优缺点硬件结构简单,造价低速度相对较低

操作数缓冲栈写结果缓冲栈主存储器流水线运算部件tigerSeptember200815向量处理示例:求C=A+B图6.3A、B、C在主存储器中的存放情况A[0]……C[4]B[6]……C[5]B[7]A[1]……C[6]B[0]A[2]……C[7]B[1]A[3]……C[0]B[2]A[

4]……C[1]B[3]A[5]……C[2]B[4]A[6]……C[3]B[5]A[7]模块0模块1模块2模块3模块4模块5模块6模块7tigerSeptember200816图6.4两个向量在流水线方式下分量相加的时序图流水段1流水段2流水段3流水段4W4W4RB6RB6RA0RA0W5W5

RB7RB7RA1RA1W6RA2RA2RB0RB0RA3RA3RB1RB1W0W0RA4RA4RB2RB2W1W1RA5RA5RB3RB3W2W2RA6RA6RB4RB4W3W3RA7RA7RB5RB576543210765432107654321076543210M0M1

M2M3M4M5M6M70123456789101112时间(时钟周期)tigerSeptember200817在流水线的输入端和输出端增加缓冲器流水线的输入端和输出端增加缓冲器可消除争用存储器现象图6.5可变延迟器可变延迟器主存储器流水结构加法器ABC延迟4个时钟周期延迟2个时钟周

期tigerSeptember200818存储器发生冲突时两个向量相加的时序图在流水线的输入端和输出端增加缓冲器后,运算时间延长6TA延迟2个周期进入流水结构加法器C延迟4个周期写存储器(避免与RA8--RB8冲突)图6.6存储器发生冲突时两个向量相加的时序图W0RB8R

B8RA8RA8RB0RB0RA0RA0RB9RB9RA9RA9RB1RB1RA1RA1RB10RA10RA10RB2RB2RA2RA2RA11RA11RB3RB3RA3RA3RA12RB4RB4RA4RA4

RB5RB5RA5RA5RB6RB6RA6RA6RB7RB7RA7RA776543210765432106543210543210M0M1M2M3M4M5M6M70123456789101112流水段1流水段2流水段3流水段4tigerSeptember2008226.2.2寄

存器-寄存器结构存储器-存储器结构中的缓冲栈改为向量寄存器运算部件需要的操作数从向量寄存器中读取,运算的中间结果也写到向量寄存器向量寄存器与标量寄存器的主要差别一个向量寄存器能够保存一个向量连续访问一个向量的各个分量寄存器-寄存器结构的主要优点:降低主存储器的流量寄

存器-寄存器结构的Cray1与存储器-存储器结构的STAR-100相比,运算速度高3倍多,主存流量低2.5倍STAR-100的主存储器流量:2x8W/1.28us=200MW/sCray1的主存储器流量:4

W/50ns=80MW/stigerSeptember2008238个向量寄存器V8×64×64主存储器8MB64个存储体12个流水线结构的运算部件缓冲寄存器T64×64标量寄存器S8×64缓冲寄存器B64×24地址寄存器A8×

24指令缓冲寄存器256×16图6.10Cray1向量处理机结构tigerSeptember2008246.3向量处理机的存取模式和数据结构略tigerSeptember2008256.3.1数值算法的存取模式略tigerSeptember2008266.3.2向量处理机的数据结构略tige

rSeptember2008276.4提高向量处理机性能的方法向量处理机的关键技术向量与标量性能的平衡向量链接技术tigerSeptember2008286.4.1向量处理机系统结构的设计目标1较好地维持向量/标量性能平衡实际的应用问题中既有向量

计算又有标量计算,两类计算有一定的比例向量平衡点(vectorbalancepoint)为使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比关键问题希望向量硬件和标量硬件都能够充分利用,不要空闲如一个系统的向量运算速度为90Mflops,标量运算速

度为10Mflops如果程序的90%是向量运算,10%是标量运算。则向量平衡点为0.9。此时,硬件利用率最高向量处理机的向量平衡点须与用户程序向量化程度相匹配IBM向量计算机的设计思想与上述方法不

同维持较低的向量与标量比例,定在3~5的范围之间这种做法能够适应通用应用问题对标量和向量处理要求tigerSeptember200829机器型号FujitsuVP400CrayISCray2SCrayX-MPCrayY-MPHitachiS820NECSX2向量性能Mfl

ops标量性能Mflops向量平衡点85.09.80.90151.511.20.93143.313.10.92201.617.00.92737.317.80.98424.29.50.98207.16.60.97表6.1几种

超级计算机的向量性能和标量性能tigerSeptember2008306.4.1向量处理机系统结构的设计目标2可扩展性随处理机数目的增加而提高规模可扩展性:资源部件个数从小到大可扩展换代可扩展性:要求与新硬件系统兼容和可移植的软件/算法也是可扩展的问题可扩展性:问题规

模扩大时仍然高效地运行3增加存储器系统的容量和性能4提供高性能的I/O和易访问的网络tigerSeptember2008316.4.2提高向量处理机性能的常用技术1链接技术寄存器-寄存器系统结构中,向量操作数在送入流水线前,要先装入向量寄存器中;中间和最后结果也要先装入向量寄存器中,再存入

主存储器1)向量指令的类型Cray1向量处理机有四类指令,两种指令格式(1)向量与向量操作,Vi<--VjOPVk(2)向量与标量操作,Vi<--SjOPVk(3)向量取,Vi<--存储器(

4)向量存,存储器<--Vi2)向量运算中的相关和冲突向量运算中的数据相关和功能部件冲突采用顺序发射顺序完成方式时(1)写读数据相关(2)读读数据相关,或向量寄存器冲突(3)运算部件冲突tigerSeptember200832图6.18Cray1向

量指令的类型Vj,Vk各取第1个分量进入段1,隔1T进入段2,Vj,Vk各取第2个分量进入段1,......每隔1T,Vj,Vk各取1个分量进入段1,读取第1个分量后还有63个分量,还需63T,......(n+2)T,Vi写入第1个分量,

每隔1T,Vi写入1个分量,写入第1个分量后还有63个分量,还需63T,总时间(n+2)T+63Tn…4321VjVkVi第一类向量指令n…4321SjVkVi第二类向量指令tigerSeptember200833图6.18Cray1向量指令的类型存储器7654321Vi第三类向量

指令存储器7654321Vi第四类向量指令tigerSeptember200834图6.19向量运算中的功能部件和操作数寄存器预定V0<--V1+V2V3<--V1+V2V3<--V4*V5V6<--V4+V5(a)不相关的指令

(b)功能部件的预定V3<--V1+V2V0<--V1+V2V6<--V1*V5V3<--V1+V5(c)操作数寄存器的预定(d)功能部件和操作数寄存器的预定tigerSeptember2008353向量链接技术(

chaining)结果寄存器可能成为后继指令的操作数寄存器分量进入结果向量寄存器同时送出两条有数据相关的向量指令并行执行,称为两条流水线的链接技术tigerSeptember200836例6.1四条向量指令链接V0

<-存储器V2<-V0+V1V3<-V2leftshiftXV5<-V3andV4图6.20Cray1的流水线链接问题:t0从存储器读,第一个结果在时钟周期t23时形成,为什么?11111111tigerSeptember200837例6.1四条向量指

令链接tigerSeptember200838例6.2向量运算:D=A*(B+C),假设向量长度≤64,且B和C已由存储器取至V0和V13条向量指令完成上述运算V3<-AV2<-V0+V1V4<-V2*V3第一、二条指令没有数据相关和功能部件冲突,可同

时开始执行第三条指令与第一、二条指令均存在写读数据相关,可链接执行tigerSeptember200839浮点加7123456MemV0V1V2V3V4123456123456浮点乘例6.2tigerSeptember200840三种执行方式比较(1)向

量长度为N,三条指令采用串行方法执行的时间为[(1+6+1)+N-1]+[(1+6+1)+N-1]+[(1+7+1)+N-1]=3N+22拍浮点加7123456MemV0V1V2V3V4123456123456浮点乘111111第1个分量流出(1+6+1),其后N-1个分量一拍流出一个(1+6+

1)+N-1(1+7+1)+N-1(1+6+1)+N-1tigerSeptember200841三种执行方式比较(2)前两条指令并行执行,第三条指令串行执行,执行时间[(1+6+1)+N-1]+[(1+7+1)+N-1]=2N+15拍浮点加7123456

MemV0V1V2V3V4123456123456浮点乘111111(1+6+1)+N-1(1+6+1)+N-1(1+7+1)+N-1(1+6+1)+N-1tigerSeptember200842三种执行方式比较(3

)采用链接技术,执行时间(1+6+1)+(1+7+1)+(N-1)=17+N-1=N+16拍浮点加7123456MemV0V1V2V3V4123456123456浮点乘111111第1个分量流出(1+6+1)第1个分

量流出(1+7+1)其后N-1个分量一拍流出一个tigerSeptember200843实现链接的条件(1)没有向量寄存器冲突和运算部件冲突(2)只有第一个结果送入向量寄存器的那一个周期可以链接(3)先行的两条指令产生运算结果的时间必须相等浮点加改成5段则例6.2不能链接(4)

两条向量指令的向量长度必须相等tigerSeptember200844向量的长度大于向量寄存器的长度时,须把长向量分成长度固定的段,采用循环结构处理这个长向量,这种技术称为向量循环开采技术,也称向量分

段开采技术例6.3:A和B为长度N的向量for(i=1;i<N;i++)a[i]=5*b(i)+c;当N为当N为64或更小时,产生A数组的7条指令序列是:1:S1¬5.0在标量寄存器内设置常数2:S2¬C将常数C装入标量寄存器3:VL¬N在VL寄存器内

设置向量长度4:Vo¬B将B向量读入向量寄存器5:V1¬S1*VoB数组的每个分量和常数相乘6:V2¬S2+V1C和5´B(x)相加7:A¬V2将结果向量存入A数组当N大于64时?当N超过64时,就需要采用向量循环在进入循环以前,把N除以64,以

确定循环次数。如果有余数,则在第一次循环中首先计算余数个分量循环由第4条到第7条指令组成2向量循环或分段开采技术tigerSeptember2008453向量递归技术一般情况下,向量操作必须采用三地址结构向量递归运算中,实际上采用两地址结构

流水线功能部件的输出要回送到它的一个源向量寄存器向量的点积A·B=ai·bI,,在Cray1中用两个向量操作链接实现V1V3V4V0V0+V1tigerSeptember200846用浮点加法流水线完成递归向量求和V0V0+V1令C0和C1分

别是与向量寄存器V0和V1相关的分量计数器初始时,计数器C0和C1都置成0,V0的第一个分量寄存器V00中的初始值也置成0通过浮点加法流水线共需要8个时钟周期,其中数据往返传送各需要1个时钟周期(6段)假定向量长度寄存器的值为64,只作一个向量循环在开始的8个周期,计数器Co

一直为0,在此之后,每个周期后都加1。C1每个周期后都加1tigerSeptember200847递归向量求和V00=V00+V10=0+V10(8T后流入V00)V01=V00+V11=0+V11……V07=V00+V17=0+V17V08=V00+V18=V10+V18V09

=V01+V19=V11+V19……V015=V07+V115=V17+V115V016=V08+V116=V10+V18+V116……V056=V048+V156=V10+V18+V116+V124+V132+V140+V148

+V156……V063=V055+V163=V17+V115+V123+V131+V139+V147+V155+V163组0除8余0除8余7组1组7+++t8T16T24T32TV0V10781516232

431+(8+63)T1T送一个分量绿线:加的两个数红线:和的存放位置tigerSeptember200848递归向量求和控制计数器C0和C1,V00的初始值,可实现多种递归运算对递归向量乘法运算,V00的初始值要设置为1(8+63)T的递归运算后,点积可以从64个加法减少到

8个加法向量的递归运算在科学计算中非常有用V00,V10V00=V10V00,V11V01=V11V00,V17V07=V17V00,V18V08=V10+V18V01,V19V09=V11+V19V07,V115V015=V17+V115V048,V156V0

56=V10+V18+…+V156V049,V157V057=V11+V19+…+V157V055,V163V063=V17+V115+…+V163…………t0t8t16t63…tigerSeptember200849递归向量求和tigerSeptember2008504稀疏矩阵的处理技

术略tigerSeptember2008516.5向量处理机实例向量处理机主要出自美国和日本美国著名的向量计算机公司有:Cray、CDC、TI等日本公司有:NEC、Fujitsu、Hitachi等tiger

September2008526.5.1向量处理机的历史与现状美国和日本制造的向量处理机机器型号配置特点CrayIS有10条流水线的单处理机,12.5ns,COS/CF72.1第一台基于ECL的超级计

算机,1976年Cray2S/4-256256M字存储器的4台处理机,4.1ns,COS或UNIX/CF773.016K字的本地存储器,移植了UNIXV,1985年CrayX-MP41616M字存储器的4台处理机,128M字S

SD,8.5ns,COSCF775.0使用共享寄存器组用于IPC,1983年CrayY-MP832128M字存储器的8台处理机,6ns,CF775.0X-MP的改进型,1988年CrayY-MPC-90每台处理机2条向量流水线,16台处理机,4.

2ns,Unicos/CF775.0最大的Cray机器,1991年CDCCyber205有4条流水线的单处理机,20ns,虚拟OS/FTN200存储器到存储器系统结构,1982年ETA10E单处理机,10.5ns,ETAV/FTN200Cyber205的后继型号,1985年NECSX-X/44

每台处理机4组流水线,4台处理机,2.9ns,F77SX,22Gflops1991年FujitsuVP2600/105条流水线的单处理机和双标量处理机,3.2ns,MSP.EX/F77EX/VP使用可重构微向量寄存器和屏

蔽,1991年Hitachi820/80512MB存储器,18条流水线的单处理机,4ns,FORT77/HAPV23-OC64个通道,最大传输速率288MB/S,1988年tigerSeptember2008536.5.2CrayY-

MP向量处理机CrayY-MP816由1至8台处理机组成,多个处理机共享中央存储器、I/O子系统、处理机通信子系统和实时钟中央存储器由256个交叉访问的存储体组成。每个处理机对4个存储器端口的交叉访问。CPU的时钟周期为6ns4个存储器端口允许处理机

同时执行两个标量和向量取操作、一个存储操作和一个独立的I/O操作每个CPU由14个功能部件组成,分为向量、标量、地址和控制四个子系统使用了大量地址寄存器、标量寄存器、向量寄存器、中间寄存器和临时寄存器可以实现功能流水线灵活的链接I/O子系统

支持三类通道,传输速率分别为6兆字节/秒,100兆字节/秒和1G字节/秒tigerSeptember200854CPU2CPU8CPU7CPU6CPU5CPU4CPU3中央寄存器处理机之间通信实时钟(64

位)V寄存器8个寄存器每个V寄存器有64个64位分量寄存器T寄存器(8个64位寄存器)A寄存器(8个32位寄存器)B寄存器(8个32位寄存器)S寄存器(8个64位寄存器)屏蔽寄存器(64位)向量长度(8位)指令缓冲区(512个16位指令区)交换参数寄存器指令输出发送

寄存器可编程时钟(32位)I/O控制向量功能部件加/减、移位、逻辑(64位运算)标量功能部件加/减、移位、逻辑(32位运算)浮点功能部件加/减、倒数、乘、近似(64位运算)地址功能部件加/减、乘(32位运算)性能监控器状态寄存器外部设备I/O部分CPU1控制部分地址部分标量部分向

量部分CrayY-MP向量处理机tigerSeptember2008556.5.3FujitsuVP2000和VPP500tigerSeptember2008566.5.4向量协处理器以通用中小型机,或微机作为主机;向量处理部件作为外围设备,加速向量的处

理速度向量协处理器是为中小型用户设计的,解决科学计算中大量向量处理任务的一种装置与各种不同主机相连的向量协处理器,价格和功能的变化范围很大FPS-164是最典型的向量协处理器,美国浮点系统公司生产。每个向量处理器有两个

乘加部件,两组向量寄存器,两组标量寄存器tigerSeptember2008576.5.4向量协处理器每个乘加部件每个周期能输出一个结果向量寄存器:2组x4个x2K=16K个操作数,每操作数4个字节运算过程:标量处理器把原始数据装入向量寄存器,把标量数据和指令播送到全部向量处理器。向量处

理器就同步地运算,但它们处理的数据是各不相同的向量操作可以和标量处理器中的标量操作同时进行向量协处理器特别适合于大规模的数值处理,用户购买需要台数的向量处理器,使用现有的处理机作为主机tigerSeptember200858标量运算部件协处理器主存储器120MB地址寄存器间址寄存器向量

处理器向量处理器向量处理器标量寄存器X寄存器组Y寄存器组向量寄存器乘法流水线加法流水线与主计算机连接FPS-164向量协处理器结构图FPS-164向量协处理器结构图tigerSeptember2008

596.6向量处理机的性能评价衡量向量处理机性能的主要指标:向量指令处理时间Tvp、最大性能R、半性能向量长度n1/21、向量指令处理时间Tvp执行一条向量长度为n的向量指令的时间TvpTvp=Ts+Tvf+(n-1)Tc其中Ts为向量流水线的建立时间Tvf为向量流水线的流过时

间Tc为流水线“瓶颈”段的执行时间如果每段执行时间都等于一个时钟周期,则有Tvp=[s+e+(n-1)]t其中s为向量流水线建立时间所需的时钟周期数e为向量流水线流过时间所需的时钟周期数n为向量长度t为

时钟周期长度tigerSeptember200860编队把几条能在一个时钟周期内同时开始执行的向量指令称为一个编队同一个编队中的指令一定不存在功能部件冲突和数据相关一个链接是一个编队一个编队意味着加一次n-1tigerSeptembe

r200861例6.4,6.5假设一台向量处理机中功能部件的启动开销为:取数和存数部件为12个时钟周期、乘法部件为7个时钟周期、加法部件为6个时钟周期。先把序列向量操作分成编队,然后计算每个编队的开始时间、获得

第一个结果元素的时间和获得最后一个结果元素的时间。LVV1,Rx;取向量xMULTSVV2,F0,V1;向量和标量相乘LVV3,Ry;取向量YADDVV4,V2,V3;加法SVRy,V4;存结果解:指令1与2之间关于V1相关、指令3与4之间关于V3相关、指令4与5之间关于V4相关,所以它们必须分

在不同的编队。第一个编队第一条指令LV第二个编队MULTSV指令和第二条LV指令第三个编队ADDV指令第四个编队SV指令tigerSeptember200862不使用链接技术的时空图与各编队时间编队1编队2

编队3编队4访存12段指令1指令3指令5乘法7段指令2加法6段指令4时间12n-112n-16n-112n-1例6.4,6.5tigerSeptember200863例6.4,6.5------------------------------------------

--------------------------------编队开始时间第一个最后一个结果时间结果时间-------------------------------------------------------------------------(1)LV0121

1+n(2)MULTSVLV12+n12+n+1223+2n(3)ADDV24+2n24+2n+629+3n(4)SV30+3n30+3n+1241+4n---------------------------------------------------------------

-----------采用向量链接技术(不考虑访问存储器的冲突),需要12+7+6+12+n–1=(36+n)个周期tigerSeptember200864向量长度大于向量寄存器长度时,则需要分段开采向量长度为n的一组向量操作的整个执行时间段数每段启动时间N-1N

-1重复次数段数所有独立斜线之和所有独立水平线之和其中Tloop为执行标量代码的开销Tloop可以看作是一个常数,Cray1机的Tloop约等于15Tstart为每个编队的向量启动开销等于流水功能部件的流水段数,即流水线深度,与向量流水线的流

过时间几乎相等Tchime为一个编队的执行时间MVL为向量寄存器的长度每段N-1重复Tchime次,64*Tchime共(64+64+...+k)*Tchime=n*Tchimechimestartloo

pnTnTTMVLnT分段开采tigerSeptember200865在Cray1上实现A=B×s操作,其中A和B是长度为200的向量,s是一个标量。向量寄存器长度为64。各功能部件的

启动时间与上例相同。求总的执行时间。解:向量长度超过了向量寄存器的长度,采取分段开采方法每次循环主要由下面三条向量指令组成:LVV1,Rb;取向量BMULTVSV2,V1,Fs;向量和标量相乘SVRa,V2;存向量假设A和B的分别放在Ra和Rb之中,s

在Fs中三条指令之间存在有写读数据相关须分成3个编队,Tchime=3,Cray1机Tloop为15,n=200Tstart=12+7+12=31T200=4×(Tloop+Tstart)+200×Tchime=4×(15+3

1)+200×3=784每个结果元素的平均执行时间为:784/200=3.9个周期例6.6tigerSeptember200866例6.7同例6.4,6.5,在某台向量处理机上执行代码代码如下:1:

LVV1,Rx;取向量x2:MULTSVV2,F0,V1;向量和标量相乘3:LVV3,Ry;取向量Y4:ADDVV4,V2,V3;加法5:SVRy,V4;存结果考虑访问存储器冲突,向量寄存器长度为n、各功能部件的启动时间与上例相同。求总的执

行时间。tigerSeptember200867例6.7解:由于使用链接技术,编队结果与例6.4不同。即指令1与2链接在同一编队,指令3与1冲突要分开,指令3与4链接在同一编队,指令5与3冲突要分开指令1、2,指令3、4和指令5分成三个编队,前两个编队中两条指令采用向链接技

术执行。Tchime=3Tloop=15Tstart=(12+7)+(12+6)+12=49MVL=64尾数一组64+4n=3n64+n=3n6464n=3n491564n=TnTTMVLnTchimestartloopn

tigerSeptember200868指令之间只有存在冲突关系时,才不能编入同一编队。相关指令可通过链接技术编入同一编队。使用链接技术的时空图与各编队时间(设n<64,即不分段。)编队1编队2编队3访存12段指令1指令3指令5乘法7段指令2加法6段指令4时间

127n-1126n-112n-1总时间=3n+46tigerSeptember200869R表示当向量长度为无穷大时的向量流水线的最大性能单位为MFLOPS,常在评价峰值性能时使用最大性能R表示其中:n为向量长度Tn为一组向量操作的整个执行时间每

个T所完成的运算次数对例6.7,假设时钟频率为200MHz。每个循环有2个浮点操作RTnnnnlimlim浮点运算次数×时钟频率循环所花费的时钟周期数浮点运算次数时钟频率MFLOPSMHznnMHzRn10042002644lim2002

数循环所花费的时钟周期浮点运算次数2、最大性能RtigerSeptember200870为达到一半R值所需的向量长度称为半性能向量长度n1/2主要评价向量流水线建立时间对性能的影响Cray1的n1/2=10~20,Cyber205的n1/2=100由MFLOPS

定义可知对例6.7,向量处理机的时钟频率为200MHz。R=100MFLOPS,每个循环有2个浮点操作,有100/2=2n1/2/Tn1/2*200,令n1/2<=64由Tloop=15,Tstart=12+7+12+6+12=49,Tchime=3得Tn1/2=1×(Tloop+

Tstart)+n×Tchime=1*(15+49)+n1/2*3=64+3n1/2代入得:100/2=2n1/2/(64+3n1/2)*200n1/2=12.8所以:n1/2=1361/21/210nn=MFLOPS-秒时钟周期数循环的时钟周期数执行循环时的浮点

运算次数执行3、半性能向量长度n1/2tigerSeptember2008716.7关于向量处理机的几点看法1、向量计算机系统结构的发展趋势(1)提供多种向量运算指令(2)除具有向量处理功能外还有其它功能(3)采用多层次的存储器系统(4)流水线技术与

并行技术相结合tigerSeptember2008722、向量计算机系统结构要解决的六个技术问题(1)处理机带宽,两种方法运算部件采用流水线结构用多个运算器构成并行系统(2)存储器带宽,多种解决方法采用多个独立的存储体构造一个大容

量的存储器系统采用多层次的存储器系统提高访问速度采用高速缓冲存储器和可寻址的寄存器组效果最好采用流水线技术,存储系统的访问速度快5~20倍(3)输入/输出带宽许多高性能向量处理机配备10~29个DMA通道(4)通信带宽。共享存储器或互连网络(5)同步。多流水线结构通过控制程序使所

有流水线同步工作Cray1系统采用流水线互锁来控制向量操作,不冲突的操作可以并行地执行,相关的操作尽可能链接起来重叠地进行(6)多用途。非数值计算问题tigerSeptember2008733、向量计算机系统结构的主要优点(1)通过流水线存取方式有效地提高了存储器的带宽(2)

流水结构的运算器有很高的性能价格比(3)非常简单的机制就能满足通信和同步的要求向量处理机以MFLOPS(Millionfloating-pointoperationspersecond)作为速度单位一般认为

,标量计算机中执行一次浮点运算需2~5条指令,平均需3条指令

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?