第5章向量流水与向量处理机 内容提要 本章首先简要介绍向量流水的基本概念与工作原理,然后讲述向 量流水处理机的组成原理、向量操作长度控制与向量访问步长、向 量处理方法、向量处理机多功能部件的并行操作以及向量处理性能 的评估参数与评估方法。重点是向量流水机的组成原理、向量操作 长度控制与向量访问步长、向量处理方法和向量处理机多功能部件 的并行操作。难点是向量操作长度控制、向量处理方法、向量处理 机多功能部件的并行操作过程
第5章 向量流水与向量处理机 • 内容提要: 本章首先简要介绍向量流水的基本概念与工作原理,然后讲述向 量流水处理机的组成原理、向量操作长度控制与向量访问步长、向 量处理方法、向量处理机多功能部件的并行操作以及向量处理性能 的评估参数与评估方法。重点是向量流水机的组成原理、向量操作 长度控制与向量访问步长、向量处理方法和向量处理机多功能部件 的并行操作。难点是向量操作长度控制、向量处理方法、向量处理 机多功能部件的并行操作过程
第5章向量流水与向量处理机 5.1向量流水的概念与工作原理 5.2向量处理与增强向量处理性能的方法 53向量处理性能的评价参数与评价方法 54向量化编译技术 少5.5向量处理机举例
第5章 向量流水与向量处理机 5.1 向量流水的概念与工作原理 5.2 向量处理与增强向量处理性能的方法 5.3 向量处理性能的评价参数与评价方法 5.4 向量化编译技术 5.5 向量处理机举例
5.1向量流水的概念与工作原理 51.1向量流水的概念与特点 5.1.2向量处理机的基本组成 5.1.3向量启动时间与结果流出时间 5.1.4向量操作长度控制与向量访问步长
5.1 向量流水的概念与工作原理 5.1.1 向量流水的概念与特点 5.1.2 向量处理机的基本组成 5.1.3 向量启动时间与结果流出时间 5.1.4 向量操作长度控制与向量访问步长
5.1.1向量流水的概念与特点 1向量流水的概念 向量中各元素之间有固定的位置或者联系,在运算时各元素相 互独立或关系很少。向量运算时各元素一般进行相同的操作。这样 只要能从存储器中不断地取出这些元素,就能进行流水处理,发挥 流水线的效能。 这样,把向量数据表示与流水线技术结合起来,就构成向量流 水处理机,简称为向量流水机或向量处理机( Vector Processor)
5.1.1 向量流水的概念与特点 1.向量流水的概念 向量中各元素之间有固定的位置或者联系,在运算时各元素相 互独立或关系很少。向量运算时各元素一般进行相同的操作。这样, 只要能从存储器中不断地取出这些元素,就能进行流水处理,发挥 流水线的效能。 这样,把向量数据表示与流水线技术结合起来,就构成向量流 水处理机,简称为向量流水机或向量处理机(Vector Processor)
2.向量流水处理的主要特点 ①一条向量指令相当于一个标量循环。这样,可降低对指令访 问速度(带宽)的要求,还可消除标量机中由于循环而引起的控制 (资源)相关。 ②每一个结果元素仅与参加运算的元素有关,与上一次运算的 值无关,因此向量流水线可以有较大的深度。 ③若要访问的向量元素相邻,可存储到多体交叉存储器中,以 提高访存速度。 ④在一般向量流水机中,允许访问存储器与有效地址的计算流 水化,在高档向量流水机中还允许多个向量操作同时进行,即多向量 并行操作
2.向量流水处理的主要特点 ① 一条向量指令相当于一个标量循环。这样,可降低对指令访 问速度(带宽)的要求,还可消除标量机中由于循环而引起的控制 (资源)相关。 ② 每一个结果元素仅与参加运算的元素有关,与上一次运算的 值无关,因此向量流水线可以有较大的深度。 ③ 若要访问的向量元素相邻,可存储到多体交叉存储器中,以 提高访存速度。 ④ 在一般向量流水机中,允许访问存储器与有效地址的计算流 水化,在高档向量流水机中还允许多个向量操作同时进行,即多向量 并行操作
5.1.2向量处理机的基本组成 1向量处理机的类型 向量元素及其处理的结果元素可存放在存储器中,也可存 放在寄存器堆中,故可分为两种类型:存储器存储器型和寄 存器一寄存器型 早期的向量处理机多属于存储器一存储器型,比如∏公司 的ASC机,CDC公司的STAR-100以及 CYBER205和EA-10等
5.1.2 向量处理机的基本组成 1.向量处理机的类型 向量元素及其处理的结果元素可存放在存储器中,也可存 放在寄存器堆中,故可分为两种类型:存储器—-存储器型和寄 存器—-寄存器型。 早期的向量处理机多属于存储器—-存储器型,比如TI公司 的ASC机,CDC公司的STAR—100以及CYBER-205和ETA-10等
2向量处理机的基本组成 1976年美国CRAY公司推出寄存器_寄存器结构的向量机,易操作 速度快,指令系统简洁,因而很快成为向量处理机的主流机型。比如 CRAY公司的YMP和C90,日本 Fujitsu公司的VP2000、VPP300/500, 以及我国的YH等 向量机的基本结构如图5.1所示,由一个标量流水部件和一个向 量流水部件组成。其中标量流水部件是为实现向量中的标量运算而设 置的,包括标量功能部件和若干个标量寄存器。向量流水部件主要用 于向量运算,包括向量功能部件、向量存取部件、向量寄存器以及向 量控制器等
2.向量处理机的基本组成 1976年美国CRAY公司推出寄存器—-寄存器结构的向量机,易操作, 速度快,指令系统简洁,因而很快成为向量处理机的主流机型。比如 CRAY公司的Y-MP和C-90,日本Fujitsu公司的VP2000、VPP300/500, 以及我国的YH等。 向量机的基本结构如图5.1所示,由一个标量流水部件和一个向 量流水部件组成。其中标量流水部件是为实现向量中的标量运算而设 置的,包括标量功能部件和若干个标量寄存器。向量流水部件主要用 于向量运算,包括向量功能部件、向量存取部件、向量寄存器以及向 量控制器等
标量寄存器 标量功能部件 主存 向量存L「向量寄存器 向量功能部件 取部件 向量缓冲器 指令处 向量指令 理部件 控制部件 L向量功能部件 图5.1向量处理机基本系统结构
图5.1 向量处理机基本系统结构
3.向量运算 【例5.1】设有长度同为64的两个向量厢y,其地址分别由寄存器 Rκ和R表示,通过分析y∝xⅪγ,来说明向量运算过程,其中a为标量 解:根据题意∂标量,每一个向量元素占8个字节单元,在标量 计算机中通过循环程序实现向量运算,程序如下: D Fo,a ;标量a送入寄存器F0 ADDI R4 Rx #512 ;向量元素的未地址送入R4 oOP:LDF2,0(R×)取向量元素() MULD F2 F0 F2 ;F2←a×() D F4, O(Ry) ;取向量元素h) ADDD F4, F4 ;F4←a)+h() SD O(Ry),F4 ;存结果元素 ADDI Rx Rx #8 修改向量素的下标 ADDI Ry, Ry,#8 修改向量Y元素的下标 SUB R10 R4 Rx ;R10←(R4)-(R BNZ R10 LOOP ;若没有结束转移到LOoP
3.向量运算 【例5.1】设有长度同为64的两个向量X和Y,其地址分别由寄存器 Rx和Ry表示,通过分析Y=a×X+Y,来说明向量运算过程,其中a 为标量。 解:根据题意a为标量,每一个向量元素占8个字节单元,在标量 计算机中通过循环程序实现向量运算,程序如下: LD F0,a, ;标量a送入寄存器F0 ADDI R4,Rx,#512 ;向量元素的末地址送入R4 LOOP:LD F2,0(Rx) ;取向量元素X(i) MULD F2,F0,F2 ;F2←a×X(i) LD F4,0(Ry) ;取向量元素Y(i) ADDD F4,F2,F4 ;F4←a×X(i)+ Y(i) SD 0(Ry),F4 ;存结果元素 ADDI Rx,Rx,#8 ;修改向量X元素的下标 ADDI Ry,Ry,#8 ;修改向量Y元素的下标 SUB R10,R4,Rx ;R10←(R4)-(Rx) BNZ R10,LOOP ;若没有结束转移到LOOP
在向量机上使用向量机指令编程如下,其中R和Ry表示向 量寄存器: LD Fo a ;标量a送入寄存器F0 LV VI, RX ;取向量 MULTV V2 FO, V1 V2←a×Ⅹ LV V3, Ry 取向量Y ADDV V4V2 V3 V4←a×+Y Sv Ry, V4 存结果 通过对上述程序进行分析可以看出,在标量机上进行运算共 执行9×642=578条指令,其中还包含大量的延迟等待。而在向 量机上进行运算,仅需要6条向量指令
在向量机上使用向量机指令编程如下,其中Rx和Ry表示向 量寄存器: LD F0,a ;标量a送入寄存器F0 LV V1,Rx ;取向量X MULTV V2,F0,V1 ;V2←a×X LV V3,Ry ;取向量Y ADDV V4,V2,V3 ;V4←a×X+ Y SV Ry,V4 ;存结果 通过对上述程序进行分析可以看出,在标量机上进行运算共 执行9×64+2=578条指令,其中还包含大量的延迟等待。而在向 量机上进行运算,仅需要6条向量指令