版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 向量处理机计算机系统结构6.1 向量处理机的基本概念 6.2 向量处理机的结构6.3 向量处理机的存取模式和数据结构 6.4 提高向量处理机性能的方法6.5 向量处理机实例第6章 向量处理机6.1 向量处理机的基本概念具有向量数据表示和向量指令系统的处理机向量处理机是解决数值计算问题的一种高性能计算机向量处理机属大型或巨型机,也可以用微机加一台向量协处理器组成向量处理机一般都采用流水线结构,通常有有多条并行工作的流水线必须把要解决的问题转化为向量运算,才能发挥向量处理机的效率for (i = 10;i= 1010; i+ ) ci = ai + bi;标量处理机上的实现:START:L
2、OADR0, ST ;读循环初值10LOADR1, ED ;读循环终值1010LOADR2, L ;读内存地址增量4MOVR3, R2MULR3, R0 ;计算向量偏移量, ;初始值为40LOOP:LOADR4, A(R3) ;读A向量的一个元素LOADR5, B(R3) ;读B向量的一个元素ADDR4, R5 ;加一个元素 STORER4, C(R3) ;写C向量的一个元素ADDR3, R2 ;改变向量偏移量 INCR0 ;循环次数增1 CMPR0, R1 ;循环是否结束 BLELOOP ;循环未结束转LOOP;否则继续 HALT ;停机ST: 10 ;循环初值ED: 1010 ;循环终值L
3、: 4 ;内存地址增量三种处理方式: 横向处理方式,又称为水平处理方式、横向加工方式等。向量计算是按行的方式从左至右横向地进行。纵向处理方式,又称为垂直处理方式、纵向加工方式等。向量计算是按列的方式自上而下纵向地进行。纵横处理方式,又称为分组处理方式、纵横向加工方式等。横向处理和纵向处理相结合的方式。6.1.2 向量处理方式要根据向量运算的特点和向量处理机的类型选择向量的处理方式。以一个简单的C语言编写的程序为例,说明向量的三种处理方式的工作原理。for (i = 1;i =n2 同一列相邻元素在并行存储体中错开d1个位置存放;3 同一行相邻元素在并行存储体中错开d2个位置存放;4 d1,d2
4、,m满足 p为任意数17个存储体存放4*4数组13121110222120既可按行访问,也可按列访问列距d1=4,行距 d2=1 无冲突访问03024323303132330142004140存取模式: 利用高速缓冲存储器来提高向量处理机的速度。数据结构: 调整步距、重定格式。6.4 提高向量处理机性能的方法6.4.1 向量处理机系统结构的设计目标研制高性能向量处理机要解决以下几个主要问题: 1.较好地维持向量/标量性能平衡。 向量平衡点:为了使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。 关键问题:希望向量硬件和标量硬件都能够充分利用,不要空闲。例如:一个系统的向
5、量运算速度为90Mflolps,标量运算速度为10Mfolps,如果程序的90是向量运算,10是标量运算,则向量平衡点为0.9,此时硬件利用率最高。机器型号几种超级计算机的向量性能和标量性能Fujitsu VP400Cray ISCray 2SCray X-MPCray Y-MPHitachi S820NEC SX2向量性能Mflops标量性能Mflops向量平衡点85.09.80.90151.511.20.93143.313.10.92201.617.00.92737.317.80.98424.29.50.98207.16.60.972.可扩展性随处理机数目的增加而提高。 1)规模可扩展性:
6、其资源部件个数从小到大可扩展; 2)换代可扩展性:与新硬件系统兼容和移植的软件/算法 是可扩展; 3)问题可扩展性:问题规模扩展到相当大时计算机仍能高效地运行;3.增加存储器系统的容量和性能 大规模存储器系统必须为标量处理提供低时延、为向量处理提供高频宽、为解决大型复杂问题提供大容量和高吞吐率的性能。4.提供高性能的I/O和易访问的网络。 I/O是指大型机和外围设备或网络之间的数据传输。6.4.2 提高向量处理机性能的常用技术一、链接技术将一条流水线的结果直接送入另一个功能流水线的操作数寄存器,可以实现多种向量指令的重叠执行,这种技术称为两条流水线的链接。链接允许当前条流水线的第一个结果(结果
7、向量的第一个元素)可用时,就马上发出相继的操作(即第二条流水线开始工作)。流水线链接没有链接技术的情况下,必须等到上一个操作的结果写入之后才能开始下一个独立的指令使用链接技术的情况下,可以在第一个结果出现之后就启动各个独立指令1 向量指令的类型: 以CRAY1向量处理机为例,有四类指令,每种指令格式: (1)向量与向量操作,Vi Vj OP Vk (2)向量与标量操作,Vi Sj OP Vk (3)向量取, Vi 存储器 (4)向量存, 存储器 Vi可以将上述向量存和取操作分别看成具有固定时延的向量读流水线和向量写流水线;向量与向量操作和向量与标量的操作均为流水线方式。向量运算中的数据相关和功
8、能部件冲突: 指令采用顺序发射顺序完成方式 (1)写读数据相关。 (2)读读数据相关,或向量寄存器冲突。 (3)运算部件冲突。 V0 V1V2V0 V1V2 V3 V4 V5V3 V0 V4 (a)不相关的指令(b)写读数据相关 V0 V1V2 V0 V1V2 V3 V4V5 V3 V1 V4 (c)功能部件冲突(d)读读数据相关 例如:有如下3条向量指令: 1: V3 A 2: V2 V0V1 3: V4 V2 x V3第1、2条指令没有数据相关和功能部件冲突,可以并发执行。第3条指令与第1、2条指令均存在写读数据相关,可以链接执行。主存储器V0(64L)123456123456654321
9、7V1(64L)V2(64L)V3(64L)V4(64L)V3 AV2 V0V1V4 V2V3向量读流水线向量乘流水线 三种执行方式比较:(1) 如果向量长度为N,三条指令采用串行方法 执行的时间为: (1+6+1)+N-1+(1+6+1)+N-1+(1+7+1)+N-1 = 3N+22 拍(2) 如果前两条指令并行执行,第三条指令串行执行,则执行时间为: (1+6+1)+N-1+(1+7+1)+N-1 = 2N+15 拍(3) 如果采用链接技术,则执行时间为: (1+6+1)+(1+7+1)+(N-1)=17+N-1 = N+16 拍 实现链接的条件:(1)没有向量寄存器冲突和运算部件冲突;
10、(2)只有第一个结果送入向量寄存器的那一个 周期(节拍)可以链接;(3)先行的两条指令产生运算结果的时间必须 相等;(4)两条向量指令的向量长度必须相等。 二 向量循环或分段开采技术 当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段。处理长向量的程序结构称为向量循环。这种技术也称为分段开采,一次处理一个向量段。例6.2:A和B为长度N的向量。 for (i=1; iN; i+) ai=bi+ci;当向量长度N为64或更小时,计算A数组的7条指令序列是:3.向量递归技术 在向量操作中,结果通常是不送回到作为源操作数使用的同一个向量寄存器中的。有一类特殊的向量循环,其流水线功能部件
11、的输出可能要回送到它的一个源向量寄存器。换句话说,一个向量寄存器用来同时存放源操作数和结果操作数。4.稀疏矩阵的处理技术 在计算机系统结构方面已经采用了一些方法来解决稀疏矩阵问题。CDC STAR采用稀疏向量方法。 6.5 向量处理机实例6.5.1 典型向量处理机6.5.2 CRAY Y-MP向量处理机6.5.3 向量协处理器向量处理机主要出自美国和日本。美国著名的向量计算机公司有: CDC CRAY(Silicon Graphics (SGI)等日本公司有: NEC Fujitsu Hitachi等6.5.1 典型的向量处理机机器型号美国和日本制造的向量处理机Cray IS配置特点有10条流
12、水线的单处理机,12.5ns,COS/CF7 2.1第一台基于ECL的超级计算机,1976年问世 典型向量处理机Cray2S/4-256256M字存储器的4台处理机,4.lns, COS或UNIX/CF77 3.016K字的本地存储器,移植了UNIXV,1985问世机器型号Cray X-MP 416配置特点16M字存储器的4台处理机,128M字SSD, 8.5ns, COS CF77 5.0使用共享寄存器组用于IPC,1983年问世Cray Y-MP 832128M字存储器的8台处理机, 6ns, CF77 5.0XMP的改进型,1988年问世每台处理机2条向量流水线, 16台处理机, 4.2
13、ns, Unicos/CF77 5.0CrayY-MPC-90最大的Cray机器1991年问世机器型号CDC Cyber 205配置特点有4条流水线的单处理机, 20ns, 虚拟OS/FTN200存储器到存储器系统结构,1982年问世ETA 10E单处理机, 10.5ns, ETAV/FTN 200Cyber 205的后继型号,1985年问世每台处理机4组流水线, 4台处理机, 2.9ns, F77SX,22GflopsNECSX-X/441991年问世机器型号FujitsuVP2600/10配置特点5条流水线的单处理机和双标量处理机, 3.2ns, MSP. EX/F77 EX/VP使用可重
14、构微向量寄存器和屏蔽,1991年问世512MB存储器,18条流水线的单处理机,4ns,FORT77/HAPV23-OCHitachi 820/8064个通道,最大传输速率288MB/S,1988年问世6.5.2 CRAY Y-MP向量处理机由1至8个CPU组成,共享中央存储器、I/O子系统、处理机通信子系统和实时钟。中央存储器由256个交叉访问的存储体组成。每个处理机对4个存储器端口交叉访问。CPU的时钟周期为6ns。每个CPU由14个功能部件组成,分为向量、标量、地址和控制四个子系统。使用了大量地址寄存器、标量寄存器、向量寄存器、中间寄存器和临时寄存器。可以实现功能流水线灵活的链接。I/O子
15、系统支持三类通道,传输速率分别为6兆字节/秒,100兆字节/秒和1G字节/秒。6.5.3 向量协处理器以中小型机或微机作主机,向量处理部件作为外围设备,加速向量的处理速度。向量协处理器是为中小型用户设计的,解决科学计算中大量向量处理任务的一种装置。FPS-164是最典型的向量协处理器,美国浮点系统公司生产。它有自己的主存,高速标量运算部件和台数可变的流水结构向量处理器 FPS-164向量协处理器的结构 每个向量处理器有两个乘加部件,两组向量寄存器,两组标量寄存器。向量寄存器有2组4个个操作数(向量元素),每个操作数个字节。各向量处理器同步地运算,但它们处理的数据各不相同。向量操作可以和标量处理
16、器中的标量操作同时进行6.6 向量处理机的性能评价衡量向量处理机性能的主要指标有:向量指令处理时间Tvp、最大性能R、半性能向量长度n1/2等。1. 向量指令处理时间Tvp 执行一条向量长度为n的向量指令的时间Tvp表示为: TvpTs + Tvf + (n - 1) Tc 其中:Ts为向量流水线的建立时间。 Tvf为向量流水线的流过时间。 Tc为流水线“瓶颈”段的执行时间。如果每段执行时间都等于一个时钟周期,则有: Tvps + e + (n - 1) 其中:s为向量流水线建立所需的时钟周期数。 e为向量流水线流过所需的时钟周期数。 n为向量长度。为时钟周期长度。通常把几条能在一个时钟周期内
17、同时开始执行的向量指令称为一个编队 (Chime)。同一个编队中的指令一定不存在功能部件冲突和数据相关。例6.3:假设一台向量处理机中功能部件的启动开销为:取数和存数部件12个时钟周期、乘法部件7个时钟周期、加法部件6个时钟周期。先把下列向量操作分成编队,然后计算每个编队的开始时间、获得第一个结果元素的时间和获得最后一个结果元素的时间。 LV V1,Rx ;取向量x MULTSV V2,F0,V1 ;向量和标量相乘 LV V3,Ry ;取向量Y ADDV V4,V2,V3 ;加法 SV Ry,V4 ;存结果解:第一条指令LV为第1个编队。MULTSV指令和第2条LV指令为第2个编队。ADDV指
18、令为第3个编队。SV指令为第4个编队。如果向量长度为n,则每个编队的开始时间、获得第一个结果元素和最后一个结果元素时间如表6.4所示:如果有3个访问存储器部件,并且不考虑控制的复杂性,采用向量链接技术,只需要: 12 + 7 + 6 + 12 + n 136 + n个周期。如果考虑向量长度大于向量寄存器长度时,则需要分段开采。向量长度为n的一组向量操作的整个执行时间为: 其中:Tloop为执行标量代码的开销, Tstart为每个编队的向量启动开销, MVL是向量寄存器的长度, Tloop是一个常数,在Cray 1中机为15。例6.5:在一台向量处理机上实现ABs操作,其中A和B是长度为200的
19、向量,s是一个标量。向量寄存器长度为64。各功能部件的启动时间与上例相同。求总的执行时间。解:因为向量长度超过了向量寄存器的长度,所以要采取分段开采方法。每次循环主要由下面三条向量指令组成: LV V1, Rb ;取向量B MULTVS V2,V1,Fs ;向量和标量相乘 SV Ra,V2 ;存向量 假设A和B分别放在Ra和Rb之中,s放在Fs中三条指令之间存在有写读数据相关,因此必须把它们分成3个编队,Tchime= 3。 T2004(15 + Tstart) + 2003 60(4Tstart)+ 600 660(4Tstart)其中:Tstart=12 + 7 + 12 = 31, 因此
20、,T200660 + 431784 每个结果元素的平均执行时间为: 768/200 3.9个周期。例6.6:在某台向量处理机上的执行代码由如下5条指令组成:1:LV V1,Rx;取向量x2:MULTSV V2,F0,V1;向量和标量相乘3:LV V3,Ry;取向量Y4:ADDV V4,V2,V3;加法5:SV Ry,V4;存结果主要参数与上例相同,求总的执行时间。解:指令1、2,指令3、4和指令5分成三个编队,前两个编队中两条指令采用向链接技术执行。Tchime=3, Tloop=15, Tstart=12+7+12+6+12=49, MVL=64。2. 最大性能RR表示当向量长度为无穷大时的向量流水线的最大性能。常在评价峰值性能时使用。其中:n为向量长度; Tn为一组向量操作的整个执行时间。对于例6.6,假设时钟频率为200MHZ。每个循环有2个浮点操作,则有:3.半性能向量长度n1/2为达到一半R值所需的向量长度称为半性能向量长度n1/2。主要用来评价向量流水线的建立时间对性能的影响。CRAY-1的n1/21020, CYBER 205的n1/2100。由MFLOPS定义可知:对于例6.6,如果向量处理机的时钟频率为200MHz。因为:R=100MFLOPS,因此有: 1002 2 n1/2Tn1/2 200
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 18591-2026焊接预热温度、道间温度及预热维持温度的测量
- 农业专家技术实施效果考核表
- 工作热情与态度绩效评定表
- 便携式锂电池安全测试仪使用手册
- 运维系统稳定性和升级维护绩效评估表
- 跨境贸易财务风险防控体系
- 通知员工2026年年中绩效考核时间8篇
- 2026年行业展会参展报名确认回执函(8篇)
- (2026年)注册安全工程师考试题库合集(含答案)
- (2026版)药品质量管理自查报告范文
- 2026年溶聚丁苯橡胶行业洞察报告及未来五至十年发展趋势报告
- 2026年四川省高考历史真题试卷
- 2026人教版六年级数学上册活动课《水是生命之源》教案
- 2026年四川省拟任县处级领导干部理论(任职资格考试)全真模拟试题及答案
- 钩吻碱中毒(断肠草中毒)的急诊处理
- 制度壁垒经济效应-洞察与解读
- 设备日常维护保养培训课件
- 造林树种选择
- 义鼠课件教学课件
- 散热器专业知识培训课件
- 网球俱乐部日常管理制度
评论
0/150
提交评论