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条向量指令