F BZC F:主操作码字段,表示向量指令操作性质 G:辅操作码字段(根据结果,进行转移等) X:存放源向量长度及基址的奇存器号 Y:存放源向量B长度及基址的寄存器号。 A:源向量4位移量所在寄存器号 B:源向量B位移量所在寄存器号 Z:控制向量长度(在G有效的) C:存放结果向量C长度及基地址的寄存器号
F:主操作码字段,表示向量指令操作性质。 G:辅操作码字段(根据结果,进行转移等) X:存放源向量A长度及基址的寄存器号。 Y:存放源向量B长度及基址的寄存器号。 A:源向量A位移量所在寄存器号。 B:源向量B位移量所在寄存器号。 Z:控制向量长度(在G有效时)。 C:存放结果向量C长度及基地址的寄存器号。 F G X A Y B Z C
3)例子 里 里 且里 完成以下向量运算。A, 00C0120 B向量分布如右图示。 c0=a3+b1 c1=a4+62 C7=a10+b8
3)例子: 完成以下向量运算。A, B向量分布如右图示。 c0=a3+b1 c1=a4+b2 ┇ c7=a10+b8 a 3 a 2 a 1 a 0 a10 ... A向量 1000H b 3 b 2 b 1 b 0 b 8 ... B向量 2000H c 3 c 2 c 1 c 0 c 7 ... C向量 3000H
解: 向量寄存器分配1G X=1000B 1000H 8# A=1001B 3 9# Y=1010B 9 2000H 10# B=1011B 11# C=1100B 3000H 12# ②向量指令格式填写 F G A B Z 向量加 1000100110101011 1100
解: ①向量寄存器分配(无G) X=1000B 11 1000H 8# A=1001B Y=1010B B=1011B C=1100B 3 9# 10# 11# 12# 9 2000H 1 8 3000H ②向量指令格式填写 F G X A Y B Z C 向量加 1000 1001 1010 1011 1100
执行上述向量指令时,可先后从存储器取出8对向量数据, 求和并将8个结果存入3000H开始的存单元中 5.稀碗向量的压缩 1)稀硫向量含义:具有多个0元素的向量 2)压缩办法:利用有序“位向量”来指明稀疏向量中各 元素的状况及所在位置 ①位向量的位数与向量长度相等。 ②某元素为0所,应位向量的位为0。 某元素为和时,对应位向量的位为 如:稀疏向量 a000 30 5a60
执行上述向量指令时,可先后从存储器取出8对向量数据, 求和并将8个结果存入3000H开始的存储单元中。 5. 稀疏向量的压缩 1)稀疏向量含义:具有多个0元素的向量。 2)压缩办法:利用有序“位向量”来指明稀疏向量中各 元素的状况及所在位置。 ①位向量的位数与向量长度相等。 ②某元素为0时,对应位向量的位为0。 某元素为非0时,对应位向量的位为1。 如: 稀疏向量 a0 0 0 a3 0 a5 a6 0
有序位向量10010110 55个单元 56 压缩向量省3个单元 -112 78 0=56 34 a3=-112 5=78 a6=34 月的:*可并省存错空间; *实际长度减少可加快运算速度
有序位向量 占用5个单元 压缩向量节省3个单元 1 0 0 1 0 1 1 0 56 -112 78 34 a0= 56 a3= -112 a5= 78 a6= 34 目的:*可节省存储空间; *实际长度减少可加快运算速度