喜欢0次
向量指令格式会扩展成一个单独的格式:OP-V。向量的Load和Store指令沿用Load-FP和Store-FP,具体格式如下
基本向量扩展支持单位跨步(unit-stride),索引(indexed)寻址模式和跨步(strided)。
unit-stride就是向量元素在内存中的排布就是连续的,可以进行直接的连续读写。
stride是为了按照一个固定间隔取向量元素的方式.比如在进行两个矩阵相乘A*B,A的一行会跟B的一列做向量乘.A和B在内存中都是按行存储.A做向量乘时,可以挨个拿出来放到向量寄存器,而B需要按列取出,所以需要每隔一行元素个数取一个元素,放到向量寄存器,才能取出B的一列.此时就需要用到stride模式了。
indexed模式是最精细的,可以精确控制向量寄存器中的某个元素从哪里来。在取每个元素时,用vs2向量寄存器的值在mem中索引要取出的元素。
具体的指令字段及其含义如下图所示