打印
[RISC-V MCU 应用开发]

使用向量架构的好处

[复制链接]
1388|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2024-5-9 08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
①代码量更少,因为不需要循环控制代码,同时向量长度寄存器的存在,使得不论n为何值,向量指令都可以工作,而无须处理边界问题;
②取指和译码的次数更少,因为每个SIMD循环在向量模式下只操作2到4个元素,而RV32V为64个元素,因此SIMD执行的指令数比RV32V多10到20倍,额外的取指和译码意味着在执行相同任务时要耗费更多的能量;
③指令更精简,像MIPS-32和x86-32这些遵循增量主义的ISA,由于没有向量长度寄存器会让指令数和循环控制代码暴增。当SIMD寄存器宽度发生变化时,都需要复制所有那些为之前SIMD寄存器宽度定义的指令。因此,在许多代SIMD ISA的传承中一共创造了数百条MIPS-32和x86-32指令,而且将来还会有数以百计的新指令出现。而RV32V代码不受向量寄存器的可用存储空间的大小影响。如果向量内存变大,不仅RV32V不会改变,而且甚至不用重新编译。处理器提供了最大向量长度mvl的值,因此无论处理器将用于向量的存储空间从1024字节提升到了4096字节,还是将其降低到256字节,其代码都不受影响;
④将ISA与实现相分离,不同于SIMD,需要在ISA中分配硬件(这种更改还会导致编译器的更改),RV32V ISA允许处理器设计人员为其应用分配合适资源用于数据并行,而不必影响程序员或编译器,满足将ISA和实现分离开来的ISA设计原则。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1762

主题

13158

帖子

55

粉丝