系统结构chpt6

上传人:wm****3 文档编号:57242524 上传时间:2018-10-20 格式:PPT 页数:59 大小:360.50KB
返回 下载 相关 举报
系统结构chpt6_第1页
第1页 / 共59页
系统结构chpt6_第2页
第2页 / 共59页
系统结构chpt6_第3页
第3页 / 共59页
系统结构chpt6_第4页
第4页 / 共59页
系统结构chpt6_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《系统结构chpt6》由会员分享,可在线阅读,更多相关《系统结构chpt6(59页珍藏版)》请在金锄头文库上搜索。

1、计算机系统结构,第一章 基本概念 第二章 指令系统 第三章 存储系统 第四章 输入输出系统 第五章 标量处理机,第六章 向量处理机 第七章 互连网络 第八章 并行处理机 第九章 多处理机,第六章 向量处理机,6.1 向量数据表示方式 6.2 向量处理机的结构 6.3 向量处理机的关键技术 6.4 向量处理机实例 6.5 向量处理机的发展,6.1 向量数据表示方式 向量处理机是解决数值计算问题的一种高性能计算机结构 向量处理机一般都采用流水线结构,有多条流水线并行工作 向量处理机通常属大型或巨型机,也可以用微机加一台向量协处理器组成 一般向量计算机中包括有一台高性能标量处理机 必须把要解决的问题

2、转化为向量运算,向量处理机才能充分发挥作用,6.1 向量数据表示方式6.1.1 从标量到向量 6.1.2 等间距向量表示法,6.1.1 从标量到向量 例如:一个简单的C语言程序如下: for (i = 10; i = 1010; i+) ci = ai + bi+5 ; 在向量处理机上,可以只用一条指令: C(10:1010)=A(10:1010) + B(15 :1015) 一条向量指令可处理个或对操作数 在标量处理机上用10多条指令,其中有8条指令要循环1000次。 采用多寄存器结构的两地址指令编写程序。,存储器采用字节编址方式,字长为32位 在一般标量处理机中需要如下指令序列来实现(A、

3、B、C分别是向量a、b、c在内存中的起始地址):,START: LOAD R0, ST ;读循环初值,10LOAD R1, ED ;读循环终值,1010LOAD R2, L ;读内存地址增量, ;常数4MOVE R3, R2MUL R3, R0 ;向量偏移量,;初始值为40 LOOP: LOAD R4, A(R3) ;读A向量的 ;一个元素,LOAD R5, B(R3) ;读B向量的一个元素ADD R4, R5STORE R4, C(R3) ;写C向量的一个元素ADD R3, R2 ;改变向量偏移量INC R0 ;循环次数增1CMP R0, R1 ;循环是否结束BLE LOOP ;循环未结束转

4、LOOP, ;否则继续HALT ST: 10 ;循环初值 ED: 1010 ;循环终值 L: 4 ;内存地址增量,6.1.2 等间距向量表示法 三个参数表示一个等间距向量: 向量起始地址:A 向量长度:L 向量间距:f 例如:我国研制的银 河向量机,有8个 向量寄存器:V0 V7;每个向量寄 存器由64个64位的寄存器组成,存储器字长64位,采用字节编址方式,则连续向量的间距为 f=8。,VI, 0,A,VI, 1,A+f,VI, 2,A+2f,VI, L-1,A+(L-1)f,L,向量指令采用三地址形式: 例如:Vi Vj OP Vk 向量长度(VL) = 50,则实际完成的运算是:V3,0

5、0V3,49与V5,00V5,49分别相加,结果放在V1,00V1,49中。,向量指令格式,向量加法指令,OP,VADD,i,1,j,3,K,5,第六章 向量处理机,6.1 向量数据表示方式 6.2 向量处理方式 6.3 向量处理机的结构 6.4 向量处理机的关键技术 6.5 向量处理机实例 6.6 向量处理机的发展,6.2 向量处理方式 要根据向量运算的特点和向量处理机的类型选择向量的处理方式。 有三种处理方式: 1横向处理方式,又称为水平处理方式,横向加工方式等。向量计算是按行的方式从左至右横向地进行。 2纵向处理方式,又称为垂直处理方式,纵向加工方式等。向量计算是按列的方式自上而下纵向地

6、进行。 3纵横处理方式,又称为分组处理方,式,纵横向加工方式等。横向处理和纵向处理相结合的方式。 以一个简单的C语言编写的程序为例,说明向量的三种处理方式的工作原理。 for (i = 1;i = n;i+) yi = ai ( bi + ci );,6.2.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),存在两个问题: 在计算

7、向量的每个分量时,都发生写读数据相关。流水线效率低 如果采用多功能流水线,必须频繁进行流水线切换 横向处理方式对向量处理机不适合 即使在标量处理机中,也经常通过编译器进行指令流调度。,6.2.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),采用向量指令只需要2条: VADD B, C, T VMUL A, T, Y 这种处理方式适用于向量处理机 数据相关不影响流水线连续工作。 不

8、同的运算操作只需要切换1次。,6.2.3 纵横处理方式 用于寄存器-寄存器结构的向量处理机中 向量寄存器的长度是有限的,例如,每个向量寄存器有64个寄存器。当向量长度N大于向量寄存器长度n时,需要分组处理。 分组方法:,其中:为余数,共分组。 组内采用纵向处理方式,组间采用横向处理方式。因此,也称为分组处理方式,纵横向加工方式等,运算过程为: 第组: T(1,n) = B(1,n) + C(1,n) Y(1,n) = A(1,n-1)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,2n) 最后第k+1组:

9、 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不写入主存储器。,第六章 向量处理机,6.1 向量数据表示方式 6.2 向量处理方式 6.3 向量处理机的结构 6.4 向量处理机的关键技术 6.5 向量处理机实例 6.6 向量处理机的发展,6.3 向量处理机结构 向量处理机的最关键问题是存储器系统能够满足运算部件带宽的要求。 主要采用两种方法: 1. 存储器存储器结

10、构 多个独立的存储器模块并行工作 处理机结构简单,对存储系统的 访问速度要求很高 2. 寄存器寄存器结构 运算通过向量寄存器中进行 需要大量高速寄存器,对存储系 统访问速度的要求降低,6.3.1 存储器存储器结构 向量处理机中有多个高速流水线运算部件,存储器的访问速度是关键 采用多个存储体交叉和并行访问来提高存储器速度,例如: CRAY-1有64个存储体,每个处理机访问4个存储体 STAR-100采用32个存储体交叉,每个存储体并行读出8个64位数据 我国研制的YH-1向量计算机有37个存储体,操作数缓冲栈和写结果缓冲栈主要用于解决访问存储器冲突 主要优缺点: 硬件结构简单, 造价低;速度相对

11、较低,操作数缓冲栈,写结果缓冲栈,主存 储器,流水线 运算 部件,6.3.2 寄存器-寄存器结构 把存储器-存储器结构中的缓冲栈改为向量寄存器,运算部件需要的操作数从向量寄存器中读取,运算的中间结果也写到向量寄存器中。 向量寄存器与标量寄存器的主要差别是: 一个向量寄存器能够保存一个向量, 例如:64个64位寄存器。 连续访问一向量的各个分量。 需要有标量寄存器和地址寄存器等。,采用寄存器-寄存器结构的主要优点:降低主存储器的流量。 例如:采用寄存器-寄存器结构的CRAY-1与采用存储器-存储器结构的STAR-100比较,运算速度高3倍多,而主存流量低2.5倍。 STAR-100的主存储器流量

12、:328W/1.28us=200MW/S CRAY-1的主存储器流量: 4W/50ns=80MW/S,8个向量寄存器 86464,主存 储器8MB64个 个体,12个 流水 线结 构的 运算 部件,缓冲寄存器 6464,标量寄存器 864,缓冲寄存器 6424,地址寄存器 6424,指令缓冲寄存器 46416,CRAY-1向量处理机结构,第六章 向量处理机,6.1 向量数据表示方式 6.2 向量处理机的结构 6.3 向量处理方式 6.4 向量处理机的关键技术 6.5 向量处理机实例 6.6 向量处理机的发展,6.4 向量处理机的关键技术6.4.1 向量与标量性能的平衡 6.4.2 向量链接技术

13、,6.4.1 向量与标量性能的平衡 实际的应用问题中通常既有向量计算又有标量计算,而且两类计算有一定的比例 向量平衡点(vector balance point): 为了使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。 关键问题是:希望向量硬件和标量硬件都能够充分利用,不要空闲。 例如:一个系统的向量运算速度为90Mflops,标量运算速度为 10Mflops。,如果程序的90是向量运算,10是标量运算。则向量平衡点为0.9。硬件利用率最高。 向量处理机的向量平衡点必须与用户程序的向量化程度相匹配。 IBM向量计算机的设计思想与上述方法不同,它维持较低的向量与标量比例

14、,定在35的范围之间。这种做法能够适应通用应用问题对标量和向量处理要求。,机器型号,几种超级计算机的向量性能和标量性能,Fujitsu VP400,Cray IS,Cray 2S,Cray X-MP,Cray Y-MP,Hitachi S820,NEC SX2,向量性能 Mflops,标量性能 Mflops,向量平衡点,85.0,9.8,0.90,151.5,11.2,0.93,143.3,13.1,0.92,201.6,17.0,0.92,737.3,17.8,0.98,424.2,9.5,0.98,207.1,6.6,0.97,6.4.2 向量链接技术 1、向量指令的类型 以CRAY-1向

15、量处理机为例,有四类指令,两种指令格式 (1) 向量与向量操作, ViVj OP Vk (2) 向量与标量操作, Vi Sj OP Vk (3) 向量取, Vi(Ah)+jkm) (4) 向量存, (Ah)+jkm)?Vi,CRAY向量处理机的指令格式,g,h,i,j,k,4位,3位,3位,3位,3位,g, h为操作码,i为目的寄存器编号 j, k为源寄存器编号,g,h,i,j,k,g为操作码,h为变址寄存器A的编号 i为目的寄存器编号,j, k, m为形式地址,m,4位,3位,3位,3位,3位,16位,2、向量运算中的相关和冲突 向量运算中的数据相关和功能部件冲突: 采用顺序发射顺序完成方式 (1) 写读数据相关。 (2) 读读数据相关,或向量寄存器冲突。 (3) 运算部件冲突。V0 V1V2 V0 V1V2 V3 V4 V5 V3 V0 V4 (a)不相关的指令 (b)写读数据相关,V0 V1V2 V0 V1V2 V3 V4V5 V3 V1 V4 (c)功能部件冲突 (d)读读数据相关3、向量链接技术(chaining) 结果寄存器可能成为后继指令的操作数寄存器 两条有数据相关的向量指令并行执行,这种技术称为两条流水线的链接技术。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号