null计算机系统结构计算机系统结构第一章 基本概念
第二章 指令系统
第三章 存储系统
第四章 输入输出系统
第五章 标量处理机第六章 向量处理机
第七章 互连网络
第八章 并行处理机
第九章 多处理机第六章 向量处理机第六章 向量处理机6.1 向量数据表示方式
6.2 向量处理机的结构
6.3 向量处理机的关键技术
6.4 向量处理机实例
6.5 向量处理机的发展null6.1 向量数据表示方式
向量处理机是解决数值计算问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
的一种高性能计算机结构
向量处理机一般都采用流水线结构,有多条流水线并行工作
向量处理机通常属大型或巨型机,也可以用微机加一台向量协处理器组成
一般向量计算机中包括有一台高性能标量处理机
必须把要解决的问题转化为向量运算,向量处理机才能充分发挥作用null6.1 向量数据表示方式
6.1.1 从标量到向量
6.1.2 等间距向量表示法null6.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次。 采用多寄存器结构的两地址指令编写程序。null 存储器采用字节编址方式,字长为32位 在一般标量处理机中需要如下指令序列来实现(A、B、C分别是向量a、b、c在内存中的起始地址):START: LOAD R0, ST ;读循环初值,10
LOAD R1, ED ;读循环终值,1010
LOAD R2, L ;读内存地址增量, ;常数4
MOVE R3, R2
MUL R3, R0 ;向量偏移量,
;初始值为40
LOOP: LOAD R4, A(R3) ;读A向量的 ;一个元素null LOAD R5, B(R3) ;读B向量的一个元素
ADD R4, R5
STORE R4, C(R3) ;写C向量的一个元素
ADD R3, R2 ;改变向量偏移量
INC R0 ;循环次数增1
CMP R0, R1 ;循环是否结束
BLE LOOP ;循环未结束转LOOP, ;否则继续
HALT
ST: 10 ;循环初值
ED: 1010 ;循环终值
L: 4 ;内存地址增量null6.1.2 等间距向量表示法
三个参数表示一个等间距向量: 向量起始地址:A 向量长度:L 向量间距:f
例如:我国研制的银 河向量机,有8个 向量寄存器:V0 ~V7;每个向量寄 存器由64个64位的寄存器组成,存储器字长64位,采用字节编址方式,则连续向量的间距为 f=8。
VI, 0AVI, 1A+fVI, 2A+2f…………VI, L-1A+(L-1)fLnull向量指令采用三地址形式:
例如:Vi Vj OP Vk 向量长度(VL) = 50,则实际完成的运算是:V3,00~V3,49与V5,00~V5,49分别相加,结果放在V1,00~V1,49中。向量指令
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
向量加法指令OPVADDi1j3K5第六章 向量处理机第六章 向量处理机6.1 向量数据表示方式
6.2 向量处理方式
6.3 向量处理机的结构
6.4 向量处理机的关键技术
6.5 向量处理机实例
6.6 向量处理机的发展null6.2 向量处理方式
要根据向量运算的特点和向量处理机的类型选择向量的处理方式。
有三种处理方式: 1.横向处理方式,又称为水平处理方式,横向加工方式等。向量计算是按行的方式从左至右横向地进行。 2.纵向处理方式,又称为垂直处理方式,纵向加工方式等。向量计算是按列的方式自上而下纵向地进行。 3.纵横处理方式,又称为分组处理方nullnull 式,纵横向加工方式等。横向处理和纵向处理相结合的方式。
以一个简单的C语言编写的程序为例,说明向量的三种处理方式的工作原理。 for (i = 1;i <= n;i++) y[i] = a[i] ( b[i] + c[i] );null6.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)null存在两个问题: 在计算向量的每个分量时,都发生写读数据相关。流水线效率低 如果采用多功能流水线,必须频繁进行流水线切换
横向处理方式对向量处理机不适合 即使在标量处理机中,也经常通过编译器进行指令流调度。null6.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)null采用向量指令只需要2条: VADD B, C, T VMUL A, T, Y
这种处理方式适用于向量处理机 数据相关不影响流水线连续工作。 不同的运算操作只需要切换1次。null6.2.3 纵横处理方式
用于寄存器-寄存器结构的向量处理机中 向量寄存器的长度是有限的,例如,每个向量寄存器有64个寄存器。当向量长度N大于向量寄存器长度n时,需要分组处理。
分组方法:N=K·n+r,其中:r为余数,共分K+1组。 组内采用纵向处理方式,组间采用横向处理方式。因此,也称为分组处理方式,纵横向加工方式等null运算过程为: 第1组: T(1,n) = B(1,n) + C(1,n) Y(1,n) = A(1,n-1)×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)null每组用两条向量指令,每组发生数据相关两次,其中组内发生数据相关一次,组间切换时发生数据相关一次。
优点:减少访问主存储器的次数 例如:中间变量T不写入主存储器。第六章 向量处理机第六章 向量处理机6.1 向量数据表示方式
6.2 向量处理方式
6.3 向量处理机的结构
6.4 向量处理机的关键技术
6.5 向量处理机实例
6.6 向量处理机的发展null6.3 向量处理机结构
向量处理机的最关键问题是存储器系统能够满足运算部件带宽的要求。
主要采用两种方法: 1. 存储器-存储器结构 多个独立的存储器模块并行工作 处理机结构简单,对存储系统的 访问速度要求很高 2. 寄存器-寄存器结构 运算通过向量寄存器中进行 需要大量高速寄存器,对存储系 统访问速度的要求降低null6.3.1 存储器-存储器结构
向量处理机中有多个高速流水线运算部件,存储器的访问速度是关键
采用多个存储体交叉和并行访问来提高存储器速度,例如: CRAY-1有64个存储体,每个处理机访问4个存储体 STAR-100采用32个存储体交叉,每个存储体并行读出8个64位数据 我国研制的YH-1向量计算机有37个存储体null操作数缓冲栈和写结果缓冲栈主要用于解决访问存储器冲突
主要优缺点: 硬件结构简单, 造价低;速度相对较低操作数缓冲栈写结果缓冲栈主存 储器流水线
运算
部件null6.3.2 寄存器-寄存器结构
把存储器-存储器结构中的缓冲栈改为向量寄存器,运算部件需要的操作数从向量寄存器中读取,运算的中间结果也写到向量寄存器中。
向量寄存器与标量寄存器的主要差别是: 一个向量寄存器能够保存一个向量, 例如:64个64位寄存器。 连续访问一向量的各个分量。
需要有标量寄存器和地址寄存器等。null采用寄存器-寄存器结构的主要优点:降低主存储器的流量。 例如:采用寄存器-寄存器结构的CRAY-1与采用存储器-存储器结构的STAR-100比较,运算速度高3倍多,而主存流量低2.5倍。 STAR-100的主存储器流量:32×8W/1.28us=200MW/S CRAY-1的主存储器流量: 4W/50ns=80MW/Snull8个向量寄存器
8×64×64主存 储器
8MB
64个 个体12个
流水
线结
构的
运算
部件缓冲寄存器
64×64标量寄存器
8×64缓冲寄存器
64×24地址寄存器
64×24指令缓冲寄存器
4×64×16CRAY-1向量处理机结构第六章 向量处理机第六章 向量处理机6.1 向量数据表示方式
6.2 向量处理机的结构
6.3 向量处理方式
6.4 向量处理机的关键技术
6.5 向量处理机实例
6.6 向量处理机的发展null6.4 向量处理机的关键技术
6.4.1 向量与标量性能的平衡
6.4.2 向量链接技术null6.4.1 向量与标量性能的平衡
实际的应用问题中通常既有向量计算又有标量计算,而且两类计算有一定的比例
向量平衡点(vector balance point): 为了使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。
关键问题是:希望向量硬件和标量硬件都能够充分利用,不要空闲。 例如:一个系统的向量运算速度为90Mflops,标量运算速度为 10Mflops。null 如果程序的90%是向量运算,10%是标量运算。则向量平衡点为0.9。硬件利用率最高。
向量处理机的向量平衡点必须与用户程序的向量化程度相匹配。
IBM向量计算机的设计思想与上述方法不同,它维持较低的向量与标量比例,定在3~5的范围之间。这种做法能够适应通用应用问题对标量和向量处理要求。null机器型号几种超级计算机的向量性能和标量性能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.97null6.4.2 向量链接技术
1、向量指令的类型
以CRAY-1向量处理机为例,有四类指令,两种指令格式 (1) 向量与向量操作, ViVj OP Vk (2) 向量与标量操作, Vi Sj OP Vk (3) 向量取, Vi((Ah)+jkm) (4) 向量存, ((Ah)+jkm)?VinullCRAY向量处理机的指令格式ghijk4位3位3位3位3位g, h为操作码,i为目的寄存器编号
j, k为源寄存器编号ghijkg为操作码,h为变址寄存器A的编号
i为目的寄存器编号,j, k, m为形式地址m4位3位3位3位3位16位null2、向量运算中的相关和冲突
向量运算中的数据相关和功能部件冲突: 采用顺序发射顺序完成方式 (1) 写读数据相关。 (2) 读读数据相关,或向量寄存器冲突。 (3) 运算部件冲突。
V0 V1+V2 V0 V1+V2 V3 V4 × V5 V3 V0 × V4 (a)不相关的指令 (b)写读数据相关null V0 V1+V2 V0 V1+V2 V3 V4+V5 V3 V1 × V4 (c)功能部件冲突 (d)读读数据相关
3、向量链接技术(chaining)
结果寄存器可能成为后继指令的操作数寄存器 两条有数据相关的向量指令并行执行,这种技术称为两条流水线的链接技术。 null例如:有如下3条向量指令: V3 A V2 V0+V1 V4 V2×V3 第一、二条指令没有数据相关和功能部件冲突,可以同时开始执行。 第三条指令与第一、二条指令均存在写读数据相关,可以链接执行。
数据流入和流出每个功能部件,包括访存都需要1拍时间
null浮点加7123456MemV0V1V2V3V4123456123456浮点乘null三种执行方式比较:
(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 拍null实现链接的条件:
(1) 没有向量寄存器冲突和运算部件冲突。
(2) 只有第一个结果送入向量寄存器的那一个周期可以链接。
(3) 先行的两条指令产生运算结果的时间必须相等。
(4) 两条向量指令的向量长度必须相等。第六章 向量处理机第六章 向量处理机6.1 向量数据表示方式
6.2 向量处理机的结构
6.3 向量处理方式
6.4 向量处理机的关键技术
6.5 向量处理机实例
6.6 向量处理机的发展null6.5 向量处理机实例
6.5.1 典型向量处理机
6.5.2 CRAY Y-MP向量处理机
6.5.3 向量协处理器
向量处理机主要出自美国和日本。
美国著名的向量计算机公司有:CRAY、CDC、TI等
日本公司有:NEC、Fujitsu、Hitachi等null机器型号美国和日本制造的向量处理机Cray IS配置特点有10条流水线的 单处理机,12.5 ns,COS/CF7 2.1第一台基于ECL 的超级计算机, 1976年问世6.5.1 典型向量处理机Cray
2S/4-256256M字存储器 的4台处理机, 4.lns, COS或 UNIX/CF77 3.016K字的本地存 储器,移植了 UNIXV, 1985问世null机器型号Cray
X-MP 416配置特点16M字存储器的 4台处理机,128 M字SSD, 8.5ns, COS CF77 5.0使用共享寄存器 组用于IPC, 1983年问世Cray
Y-MP 832128M字存储器的 8台处理机, 6ns, CF77 5.0X-MP的改进 型,
1988年问世每台处理机2条 向量流水线, 16 台处理机, 4.2ns, Unicos/CF77 5.0Cray Y-MP C-90最大的Cray机器
1991年问世null机器型号CDC
Cyber 205配置特点有4条流水线的 单处理机, 20ns, 虚拟OS/FTN200存储器到存储器 系统结构, 1982年问世ETA 10E单处理机, 10.5ns,
ETAV/FTN 200Cyber 205的后 继型号, 1985年问世每台处理机4组 流水线, 4台处理 机, 2.9ns, F77SX, 22GflopsNEC
SX-X/441991年问世null机器型号Fujitsu
VP2600/10配置特点5条流水线的单 处理机和双标量 处理机, 3.2ns, MSP. EX /F77 EX/VP使用可重构微 向量寄存器和 屏蔽, 1991年问世512MB存储器, 18条流水线的单 处理机,4ns, FORT77/HAP V23-OCHitachi
820/8064个通道,最大 传输速率 288MB/S, 1988年问世null6.5.2 CRAY Y-MP向量处理机
Cray Y-MP 816由1至8台处理机组成,多个处理机共享中央存储器、I/O子系统、处理机通信子系统和实时钟。
中央存储器由256个交叉访问的存储体组成。每个处理机对4个存储器端口的交叉访问。CPU的时钟周期为6ns。
4个存储器端口允许处理机同时执行两个标量和向量取操作、一个存储操作和一个独立的I/O操作。null每个CPU由14个功能部件组成,分为向量、标量、地址和控制四个子系统。
使用了大量地址寄存器、标量寄存器、向量寄存器、中间寄存器和临时寄存器。
可以实现功能流水线灵活的链接。
I/O子系统支持三类通道,传输速率分别为6兆字节/秒,100兆字节/秒和1G字节/秒。nullnull6.5.3 向量协处理器
以通用中小型机,或微机作为主机;向量处理部件作为外围设备,加速向量的处理速度。
向量协处理器是为中小型用户设计的,解决科学计算中大量向量处理任务的一种装置。
与各种不同主机相连的向量协处理器,价格和功能的变化范围很大。nullFPS-164是当前最典型的向量协处理器,美国浮点系统公司生产。每个向量处理器有两个乘加部件,两组向量寄存器,两组标量寄存器。
每个乘加部件每个周期能输出一个结果。
向量寄存器:2组?4个?2K个操作数,每个操作数4个字节。null运算过程:标量处理器把原始数据装入向量寄存器,把标量数据和指令播送到全部向量处理器。向量处理器就同步地运算,但它们处理的数据是各不相同的。
向量操作可以和标量处理器中的标量操作同时进行。
向量协处理器特别适合于大规模的数值处理,用户购买需要台数的向量处理器,使用现有的处理机作为主机。null标量运算部件协处理器
主存储器
120 MB地址寄存器间址寄存器向量处理器向量处理器向量处理器标量寄存器
X寄存器组
Y寄存器组向量
寄存器乘法流水线加法流水线与主计算 机连接FPS-164向 量协处理 器结构图第六章 向量处理机第六章 向量处理机6.1 向量数据表示方式
6.2 向量处理机的结构
6.3 向量处理方式
6.4 向量处理机的关键技术
6.5 向量处理机实例
6.6 向量处理机的发展null6.6 向量处理机的发展
1、向量计算机系统结构的发展趋势
(1) 提供多种向量运算指令。
(2) 除具有向量处理功能外还有其它功能。
(3) 采用多层次的存储器系统。
(4) 流水线技术与并行技术相结合。
2、向量计算机系统结构要解决的六个技术问题:
(1) 处理机带宽,两种方法:null 运算部件采用流水线结构。 用多个运算器构成并行系统。
(2) 存储器带宽,多种解决方法: 用多个独立的存储体构造一个大容量的存储器系统。 采用多层次的存储器系统提高访问速度。 采用高速缓冲存储器和可寻址的寄存器组效果最好。 采用流水线技术,存储系统的访问速度快5~20倍。null(3) 输入/输出带宽 许多高性能向量处理机配备10 ~ 29个DMA通道。
(4) 通信带宽。共享存储器或互连网络。
(5) 同步。多流水线结构通过控制程序使所有流水线同步工作。 Cray-1系统采用流水线互锁来控制向量操作,不冲突的操作可以并行地执行,相关的操作尽可能链接起来重叠地进行。
(6) 多用途。非数值计算问题。null3、向量计算机系统结构的主要优点是:
(1) 通过流水线存取方式有效地提高了存储器的带宽。
(2) 流水结构的运算器有很高的性能价格比。
(3) 非常简单的机制就能满足通信和同步的要求。
向量处理机以Mflops (Million floating-point operations per second)作为速度单位。一般认为,标量计算机中执行一次浮点运算需2~5条指令,平均需3条指令。null本 章 重 点
1、向量的表示方法
2、向量运算中的相关和链接技术
3、向量递归技术
练习题:
6.6