喜欢0次
团队编号:CICC2879
团队名称:八点起床读书
团队成员:黄良煜、苏桢毅
关于V扩展的资料较少,主要还是参考github上的spec文档。
https://zhuanlan.zhihu.com/p/596821028
知乎上这篇文章的答主总结的很不错。
RV32V将数据寄存器和长度与向量寄存器关联而不是指令操作码。程序在执行V指令之前会用数据类型和数据宽度来标记向量寄存器,因为每个V指令通常有8个整数版本和三个浮点版本。
这个编码一共5位,低3位标识数据位宽,高两位指示数据类型。
指令的类型由vetype的值进行标记,如果将vetype设为00000则会禁用向量寄存器。
对于vector指令集来说,有一些必须要明白的名词需要搞懂:
Mvl:最大向量长度寄存器
LMUL:向量寄存器组的寄存器数量,必须是1,2,4,8的整数值