计算机系统结构 (2)优秀课件.ppt
《计算机系统结构 (2)优秀课件.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构 (2)优秀课件.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机系统结构10 十月 2022计算机系统结构 第六章 向量处理机1第1页,本讲稿共71页具有向量数据表示和向量指令系统的处理机具有向量数据表示和向量指令系统的处理机向量处理机是解决数值计算问题的一种高性能计算机向量处理机是解决数值计算问题的一种高性能计算机向量处理机属向量处理机属大型或巨型机大型或巨型机,也可以用微机加一台,也可以用微机加一台向量协向量协处理器处理器组成组成向量处理机一般都采用流水线结构,向量处理机一般都采用流水线结构,通常有有多条并行通常有有多条并行工作的流水线工作的流水线必须把要解决的问题转化为向量运算,才能发挥向量处必须把要解决的问题转化为向量运算,才能发挥向量处理机
2、的效率理机的效率第2页,本讲稿共71页6.向量数据表示方式向量数据表示方式6.1.1 从标量到向量从标量到向量6.1.2 等间距向量表示法等间距向量表示法6.1.3 带位移量的向量表示法带位移量的向量表示法6.1.4 稀疏向量表示法稀疏向量表示法第3页,本讲稿共71页例例6.1:一个简单的C语言程序如下:for(i=10;i=1010;i+)ci=ai+bi+5;在向量处理机上,可以只用一条指令:C(10:1010)=A(10:1010)+B(15:1015)一条向量指令可处理个或对操作数在标量处理机上用10多条指令,其中有8条指令要循环1000次。采用多寄存器结构的两地址指令编写程序存储器采
3、用字节编址方式,字长为32位6.1.1 从标量到向量从标量到向量第4页,本讲稿共71页在一般标量处理机中需要如下指令序列来实现(A、B、C分别是向量a、b、c在内存中的起始地址):START:LOAD R0,ST ;读循环初值10LOAD R1,ED ;读循环终值1010LOAD R2,L ;读内存地址增量4MOVE R3,R2MULR3,R0 ;计算向量偏移量,;初始值为40LOOP:LOAD R4,A(R3);读A向量的一个元素第5页,本讲稿共71页 LOADR5,B(R3);读B向量的一个元素 ADDR4,R5 ;加一个元素 STORER4,C(R3);写C向量的一个元素 ADDR3,R
4、2 ;改变向量偏移量 INCR0 ;循环次数增1 CMPR0,R1 ;循环是否结束 BLELOOP ;循环未结束转LOOP,;否则继续 HALT ;停机ST:10 ;循环初值ED:1010 ;循环终值L:4 ;内存地址增量第6页,本讲稿共71页三个参数表示一个等间距向量:三个参数表示一个等间距向量:向量起始地址:向量起始地址:A向量长度:向量长度:L向量间距:向量间距:f6.1.2 等间距向量表示法等间距向量表示法第7页,本讲稿共71页例例如如:我国研制的银河向量机,有8个向量寄存器V0V7,每个向量寄存器由64个64位的寄存器组成,存储器字长64位,采用字节编址方式,则连续向量的间距为 f=
5、8。向量指令采用三地址形式:例如:例如:Vi Vj OP Vk,向量长度(VL)=50,则实际完成的运算是:V3,00V3,49与V5,00V5,49分别相加,结果放在V1,00V1,49中。第8页,本讲稿共71页6.1.3 带位移量的向量表示法带位移量的向量表示法用三个参数表示一个向量:用三个参数表示一个向量:向量基地址:A 向量长度:L 向量位移量:f向量有效长度:Lf 向量起始地址:Af优点:优点:每个向量可以带有位移,能够通过控制向量实现可变增量。能够表示稀疏向量。第9页,本讲稿共71页 带位移量的向量表示法带位移量的向量表示法第10页,本讲稿共71页第11页,本讲稿共71页第12页,
6、本讲稿共71页6.1.4 稀疏向量表示法稀疏向量表示法定义:定义:0元素很多,非元素很多,非0元素很少的向量称为元素很少的向量称为稀疏向量稀疏向量采用压缩方法存储稀疏向量可以节省存储空间。可以还原之后进行运算,也可以用压缩方法直接进行运算第13页,本讲稿共71页第14页,本讲稿共71页6.2 向量处理机的结构向量处理机的结构 主要采用两种方法:存储器存储器结构存储器存储器结构多个独立的存储器模块并行工作处理机结构简单 对存储系统的访问速度要求很高寄存器寄存器结构寄存器寄存器结构运算通过向量寄存器进行需要大量高速寄存器 对存储系统访问速度的要求降低第15页,本讲稿共71页1.存储器存储器结构存储
7、器存储器结构 向量处理机中有多个高速流水线运算部件,存储器的访问速度是关键 采用多个存储体交叉和并行访问来提高存 储器速度 例如:CRAY-1有64个存储体,每个处理机访问4个存储体 STAR-100采用32个存储体交叉,每个存储体并行读出8个64位数据 我国研制的YH-1向量计算机有37个存储体第16页,本讲稿共71页 操作数缓冲栈和写结果缓冲栈主要用于解决访问存储器冲突。虽然采用质数个存储体能消除访问存储器的冲突,但是,数据经过多次运算之后,在存储体中分布必然发生改变主要优缺点:硬件结构简单硬件结构简单,造价低;造价低;速度相对较低速度相对较低操作数缓冲栈写结果缓冲栈主存储器流水线运算部件
8、第17页,本讲稿共71页2.寄存器寄存器-寄存器结构寄存器结构 把存储器-存储器结构中的缓冲栈改为向量 寄存器 运算部件需要的操作数从向量寄存器中读取,运算的中间结果也写到向量寄存器中。向量寄存器与标量寄存器的主要差别是:一个向量寄存器能够保存一个向量,连续访问一个向量的各个分量。需要有标量寄存器和地址寄存器等。第18页,本讲稿共71页 采用寄存器-寄存器结构的主要优点:降低主存储器的流量降低主存储器的流量 例如:采用寄存器-寄存器结构的CRAY-1与采用存储器-存储器结构的STAR-100比较,运算速度高3倍多,而主存流量低2.5倍。第19页,本讲稿共71页8个向量寄存器86464主存储器8
9、MB64个个体12个流水线结构的运算部件缓冲寄存器6464标量寄存器864缓冲寄存器6424地址寄存器824指令缓冲寄存器25616CRAY-1向量处理机结构第20页,本讲稿共71页有三种处理方式:横向处理方式横向处理方式,又称为水平处理方式,横向加工方式等。向量计算是按行的方式从左至右横向地进行。纵向处理方式纵向处理方式,又称为垂直处理方式,纵向加工方式等。向量计算是按列的方式自上而下纵向地进行。纵横处理方式纵横处理方式,又称为分组处理方式,纵横向加工方式等。横向处理和纵向处理相结合的方式。6.3 向量处理方式向量处理方式第21页,本讲稿共71页要根据向量运算的特点和向量处理机的类型选择向量
10、的处理方式。以一个简单的C语言编写的程序为例,说明向量的三种处理方式的工作原理。for(i=1;i=n;i+)yi=ai(bi+ci);第22页,本讲稿共71页1.横向处理方式横向处理方式也称为水平处理方式,横向加工方式等逐个分量进行处理:假设中间结果为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)第23页,本讲稿共71页 存在两个问题:存在两个问题:在计算向量的每个分量时,都发生写读数据相关。流水线效率低流水线效率低 如果采用多功能流水线
11、,必须频繁进行流频繁进行流水线切换水线切换 横向处理方式对向量处理机不适合 即使在标量处理机中,也经常通过编译器进行指令流调度。第24页,本讲稿共71页2.纵向处理方式纵向处理方式 也称为垂直处理方式,纵向加工方式等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)第25页,本讲稿共71页 采用向量指令只需要2条:VADDB,C,T VMULA,T,Y 这种处理方式适用于向量处理机这种处理方式适用于向量处理机 数据相关不影响流水线连续工作。不同的运算操作只需要切换1次。这种处理方式适
12、用于存储器适用于存储器-存储器结构存储器结构第26页,本讲稿共71页3.纵横处理方式纵横处理方式用于寄存器用于寄存器-寄存器结构的向量处理机中寄存器结构的向量处理机中,向量寄存器的长度是有限的。当向量长度N大于向量寄存器长度n时,需要分组处理。分组方法:其中:为余数,共分组。组内采用纵向处理方式,组间采用横向处理方式。因此,也称为分组处理方式,纵横向 加工方式等。第27页,本讲稿共71页 运算过程为:第组:T(1,n)=B(1,n)+C(1,n)Y(1,n)=A(1,n)T(1,n)第组:T(n+1,2n)=B(n+1,2n)C(n+1,2n)Y(n+1,2n)=A(n+1,2n)T(n+1,
13、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)第28页,本讲稿共71页 每组用两条向量指令,每组发生相关两次,其中组内发生数据相关一次,组间切换时发生相关一次。主要优点:减少访问主存储器的次数减少访问主存储器的次数 例如:中间变量T不写入主存储器第29页,本讲稿共71页 实际的应用问题中通常既有向量计算向量计算又有标标 量计算量计算,而且两类计算有一定的比例 向量平衡点(vector balance point):为了使向 量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。关键问题是
14、:希望向量硬件和标量硬件都能希望向量硬件和标量硬件都能 够充分利用够充分利用,不要空闲。6.4 向量处理机的关键技术向量处理机的关键技术6.4.1 向量与标量性能的平衡向量与标量性能的平衡第30页,本讲稿共71页 例如:例如:一个系统的向量运算速度为90Mfolps,标量运算速度为10Mfolps。如果程序的90 是向量运算,10是标量运算。则向量平衡 点为0.9。硬件利用率最高。向量处理机的向量平衡点必须与用户程序的 向量化程度相匹配。IBM向量计算机的设计思想与上述方法不同,它维持较低的向量与标量比例,定在35的 范围之间。这种做法能够适应通用应用问题 对标量和向量处理要求。第31页,本讲
15、稿共71页机器型号几种超级计算机的向量性能和标量性能几种超级计算机的向量性能和标量性能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.97第32页,本讲稿共71页6.4.2 向量链接技术向量链接技术向量指令的类型 以CRAY-1向量处理机为例,有四类指令,两种指令格式:(1)向量与向量操作:ViVj
16、 OP Vk(2)向量与标量操作:Vi Sj OP Vk(3)向量取:Vi存储器(4)向量存:存储器 Vi第33页,本讲稿共71页一种向量处理机的指令格式一种向量处理机的指令格式第34页,本讲稿共71页 向量运算中的相关和冲突向量运算中的相关和冲突 向量运算中的数据相关和功能部件冲突:采用顺序发射顺序完成方式(1)写读数据相关。(2)读读数据相关,或向量寄存器冲突。(3)运算部件冲突。V0 V1V2V0 V1V2 V3 V4 V5V3 V0 V4 (a)不相关的指令(b)写读数据相关第35页,本讲稿共71页 V0 V1V2V0 V1V2 V3 V4V5V3 V1 V4 (c)功能部件冲突(d)
17、读读数据相关 向量链接技术向量链接技术(chaining)当前一条指令的结果寄存器可以作为后继指令的当前一条指令的结果寄存器可以作为后继指令的操作数寄存器时,多条有数据相关的向量指令并操作数寄存器时,多条有数据相关的向量指令并行执行,这种技术称为两条流水线的链接技术。行执行,这种技术称为两条流水线的链接技术。第36页,本讲稿共71页例如:有如下3条向量指令:1:V3 A 2:V2 V0V1 3:V4 V2V3第1、2条指令没有数据相关和功能部件冲突,可以同时开始执行。第3条指令与第1、2条指令均存在写读数据相关,可以链接执行。第37页,本讲稿共71页浮点加71 23456MemV0V1V2V3
18、V41234561234 56浮点乘第38页,本讲稿共71页 三种执行方式比较:三种执行方式比较:(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 拍拍第39页,本讲稿共71页 实现链接的条件:实现链接的条件:(1)没有向量寄存器冲突和运算部件冲突。(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统结构 2优秀课件 计算机系统 结构 优秀 课件
限制150内