计算机系统结构06向量处理机121106

更新时间:2023-05-11 05:51:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机系统结构课件,自学必备

第六章 向量处理机6.1 向量数据表示 6.2 向量处理机的结构 6.3 向量处理方式 6.4 向量处理机的关键技术 6.5 向量处理机实例

计算机系统结构课件,自学必备

6.1 向量数据表示方式6.1.1 6.1.2 6.1.3 6.1.4 从标量到向量 等距离向量表示法 带位移量的向量表示法 稀疏向量表示法

计算机系统结构课件,自学必备

6.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次。 采用多寄存器结构的两地址指令编写程 序,存储器采用字节编址方式,字长为32位。3

计算机系统结构课件,自学必备

在一般标量处理机中需要如下指令序列来实现 (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向量的一个元素4

计算机系统结构课件,自学必备

R5,B(R3) ;读B向量的一个元素 R4,R5 ;加一个元素 R4,C(R3) ;写C向量的一个元素 R3,R2 ;改变向量偏移量 R0 ;循环次数增1 R0,R1 ;循环是否结束 LOOP ;循环未结束转LOOP, ;否则继续 HALT ;停机 ST:10 ;循环初值 ED:1010 ;循环终值 L:4 ;内存地址增量 LOAD ADD STORE ADD INC CMP BLE5

计算机系统结构课件,自学必备

6.1.1 等距离向量表示法三个参数表示一个等间距向量: 向量起始地址:A 向量长度:L 向量距离:fV I, 0 V I, 1 V I, 2 …… VI,L-1 A A+f A+2f …… A+(L-1)f6

长 度 L

计算机系统结构课件,自学必备

例:我国研制的银河向量机,有8个向量寄存器 V0~V7,每个向量寄存器由64个64位的寄存器组 成,存储器字长64位,采用字节编址方式,则连 续向量的间距为f=8。向量指令采用三地址形式:向量指令格式

OP 向量加法指令 VADD

i 1

j 3

K 5

例如:Vi Vj OP Vk,向量长度(VL)=50,则实际完 成的运算是: V3,00~V3.49与V5.00~V5.49分别相加,结果放在 V1,00~V1,49中。7

计算机系统结构课件,自学必备

6.1.3 带位移量的向量表示法用三个参数表示一个向量: 向量基地址:A 向量长度:L 向量位移量:f 向量有效长度:L-f 向量起始地址:A+f 优点:每个向量可以带有位移,能够通过控 制向量实现可变增量。能够表示稀疏向量。8

计算机系统结构课件,自学必备

带位移量+4的向量表示方法10000 A0 基地址 10020 A1 10040 A2 位移量 4 10060 A3 10080 A4 起始地址 100A0 A5 100C0 A6 长度 12 100E0 A7 有效长度 8 10100 A8 10120 A9 10140 A10 10160 A11 A 向量:A=10000,L=12,f=49

计算机系统结构课件,自学必备

带位移量-4的向量表示方法1FF80 B-4 起始地址 1FFA0 B-3 1FFC0 B-2 位移量-4 1FFE0 B-1 20000 B0 基地址 20020 B1 有效长度 8 20040 B2 20060 B3 B 向量:A=20000,L=4,f=-4 0 1 0 0 1 0 1 40000 40004 控制向量:A=40000,L=12,f=4 1

计算机系统结构课件,自学必备

1FF80 B-4 起始地址 10000

A0 基地址 1FFA0 B-3 10020 A1 1FFC0 B-2 位移量-4 10040 A2 位移量 4 1FFE0 B-1 10060 A3 20000 B0 基地址 10080 A4 起始地址 20020 B1 有效长度 8 100A0 A5 20040 B2 100C0 A6 长度 12 20060 B3 100E0 A7 有效长度 8 B 向量:A=20000 ,L=4,f=-4 10100 A8 10120 A9 0 1 0 0 1 0 1 1 10140 A10 10160 A11 40000 40004 A 向量:A=10000,L=12,f=4 控制向量:A=40000 ,L=12 ,f=4

30000 C0 基地址 30020 C1 位移量 2 30040 C2:C2 起始地址 30060 C3:A5 + B -3 30080 C4:C4 长度 10 300A0 C5:C5 有效长度 8 300C0 C6:A8 + B0 300E0 C7:C7 30100 C8:A10 + B2 30120 C9:A11 + B3 C 向量:A=30000,L=10,f=2

计算机系统结构课件,自学必备

6.1.4 稀疏向量表示法定义:0元素很多,非0元素 很少的向量称为稀疏向量。 采用压缩方法存储稀疏 向量可以节省存储空间。 可以还原之后进行运算, 也可以用压缩方法直接进 行运算。稀疏向量 A 0 0 A2 0 A4 0 0 A7 压缩向量 B B0 B4 B7 压缩向量 A 压缩

A2 A4 A7

0

压缩位向量 A 0 1 0 1 0 0

1

稀疏向量 B

还原

1

压缩位向量 A 0 0 0 1 0 0

1

B0 0 0 0 B4 0 0 B7

计算机系统结构课件,自学必备

0

压缩位向量 A 0 1 0 1 0 0

1

压缩位向量 B 1 0 0 0 1 0 0 1

压缩向量 C=A + B C0=B0 C2=A2 C4=A4+B4 C7=A7+B7

压缩向量 C=A B C4=A4 B4 C7=A7 B7

压缩位向量 C=A B 0 0 0 0 1 0 0 1 压缩位向量 C=A B 1 0 1 0 1 0 0 113

计算机系统结构课件,自学必备

6.2 向量处理机的结构两种典型的向量处理机; 1.存储器——存储器结构 多个独立的存储器模块并行工作 处理机结构简单 对存储系统的访问速度要求很高。 2.寄存器——寄存器结构 运算通过向量寄存器进行 需要大量高速寄存器 对存储系统访问速度的要求低14

计算机系统结构课件,自学必备

1.存储器——存储器结构 向量处理机中有多个高速流水线运 算部件,存储器的访问速度是关键。 采用多个存储体交叉和并行访问来 提高存储器速度。 例如:CARY-1有64个存储体,每个 处理机访问4个存储体STAR-100采用32 个存储体交叉,每个存储体并行读出8个 64位数据。 我国研制的YH-1向量计算机有37个存 储体。15

计算机系统结构课件,自学必备

操作数缓冲栈和写结果缓冲栈主要 用于解决访问存储器冲突。虽然采用质 数个存储体能消耗访问存储器的冲突, 但是,数据经过多次运算之后,在存储 体中分布必然发生改变。 主要优缺点: 硬件结构简单,造价低;速度相对较低。主存 储器 操作数缓冲栈 流水线 运算 部件16

写结果缓冲栈

计算机系统结构课件,自学必备

2.寄存器——寄存器结构 把存储器——存储器结构中的缓冲改为向量 寄存器。 运算部件需要的操作数从向量寄存器中读取, 运算的中间结果也写到向量寄存器中。 向量寄存器与标量寄存器的主要差别是: 一个向量寄存器能够保存一个向量,连续访问 一个向量的各个分量。需要有标量寄存器和地址 寄存器等。 采用寄存器——寄存器结构主要优点: 降低

主存储器的流量。 例如:采用寄存器——寄存器结构的CRAY-1与采用 存储器——存储器结构STAR-100比较,运算速度 高3倍多,而主存流量低2.5倍。 17

计算机系统结构课件,自学必备

主存 储器 8MB

8个向量寄存器 8×64×64 缓冲寄存器 64×64缓冲寄存器 64×24

标量寄存器 8×64地址寄存器 8×24

64个 个体

12个 流水 线结 构的 运算 部件

指令缓冲寄存器 256×16CRAY—1向量处理机18

计算机系统结构课件,自学必备

6.3 向量处理机处理方式有三种处理方式: 1.横向处理方式,又称为水平处理方式, 横向加工方式等。向量计算是按行的方 式从左至右横向地进行。 2.纵向处理方式,又称为垂直处理方式, 纵向加工方式等。向量计算是按列的方 式自上而下纵向进行。 3.纵横处理方式,又称为分组处理方式, 纵横加工方式等。横向处理和纵向处理 相结合的方式。19

计算机系统结构课件,自学必备

要根据向量运算的特点和向量处理机 的类型选择向量的处理方式。 以一个简单的C语言编写的程序为例, 说明向量三种处理方式的工作原理。 for (I=1;I<=n; I++) y[I]=a[I]*(b[I]+c[I]);

计算机系统结构课件,自学必备

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)21

本文来源:https://www.bwwdw.com/article/izbe.html

Top