向量指令类型

A. 向量操作数 包含n个元素的有序集合,其中n称为 向量的长度 .向量中的所有元素都是相同类型的标量,可以是浮点数、整数、逻辑值或字符。

null

向量指令有四种基本类型:

f1 : V --> V
f2 : V --> S
f3 : V x V --> V
f4 : V x S --> V 

其中V和S分别表示向量操作数和标量操作数。

指令f1和f2是一元运算,f3和f4是二进制运算。 这个 向量补码 ,它对向量的每个补码进行补码,是一个f1运算。f1操作的流水线实现如图所示:

图片[1]-向量指令类型-yiteyi-C++库

这个 VMAX(向量最大值) ,它从向量中的所有补码中找到最大标量,是一个f2运算。f2操作的流水线实现如图所示:

图片[2]-向量指令类型-yiteyi-C++库

这个 向量乘法 ,将两个向量操作数的各自标量分量相乘,并生成另一个乘积向量,这是一个f3运算。f3作业的管道化实施如图所示:

图片[3]-向量指令类型-yiteyi-C++库

这个 SVP(标量向量积) 将一个常量值乘以向量的每个分量,即f4运算。f4操作的流水线实现如图所示:

图片[4]-向量指令类型-yiteyi-C++库

输入作为管道中的标量分量给出。除了这些基本类型的指令外,还可以使用一些特殊指令来促进矢量数据的操作。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享