RISC-V VV与玄铁C910:指令对比与详解
需积分: 50 131 浏览量
更新于2024-07-15
收藏 2.56MB PDF 举报
该文档是对2020年4月15日关于玄铁C910与RVV(RISC-V Vector Extension)指令集的对比总结,由PLCT实验室的王鹏实习生撰写。主要探讨了两者的差异和特点,特别是针对C910中vector指令与RVV的VAMO(Vector Atomic Memory Operations)指令的比较。
在C910的矢量指令集中,VAMO指令如VAMOADDD、VAMOADDW和VAMOADDQ,其指令格式定义在RISCVInstrInfoV.td中。这些指令在C910的Inst编码中有所不同,例如,VAMOADDD的Inst(14-12)值为0b111,而VAMOADDW的Inst(14-12)为0b110,VAMOADDQ的Inst(14-12)为0b000。RISCVInstrInfoV.td还区分了_wd_m、_wd_um、_m和_um四种情况,反映了不同的回写和掩码行为。
特别值得注意的是,VAMO指令中的VALU_AMO_E在C910中与矢量原子双字加法指令重合,表明C910在处理这些原子操作时与RVV有相似但可能不完全一致的功能。文档还提到了矢量运算的扩展指令,如VWSMACC系列指令,用于有符号、无符号乘累加运算,并支持饱和扩展和取反操作。这些指令在RVV规格中定义,但具体实现可能因C910的定制化而有所变化。
这份文档通过实例和代码截图深入剖析了C910和RVV在指令设计上的异同,对于理解这两种指令集在实际应用中的特性和优化策略具有参考价值。对于从事RISC-V架构或硬件开发的人来说,理解这些细节至关重要,因为它们直接影响到程序的性能和可移植性。
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2021-05-26 上传
2022-08-03 上传
2020-12-16 上传
2023-03-16 上传
ppcust
- 粉丝: 38
- 资源: 730
最新资源
- Grass Cutter 割草机Unity休闲割草游戏项目源码C#
- mongoose-soft-delete:猫鼬插件软删除
- group_project_wd_i.github.io
- 系列Python扩展模块共3页.pdf.zip
- Training-Platform
- associate-arrays:使用键数组和值数组创建对象
- SpringBoot毕业设计-SpringBoot+Vue的家政服务管理平台源码+数据库.zip
- 非支配排序算法_多目标优化的重要算法_通过交叉、变异,多次迭代产生最优解_matlab
- 微信小程序-家庭菜谱源码
- test-case-for-platrum:将表单数据保存到localStorage并在表中查看
- fround:ES6 Math.fround的小马宝
- QWebEngineView之百度地图:内嵌本地HTML及js数据交互
- .Net某信托基金高大上网站源码
- 苹果内购(视频讲解的封装)
- Kaggle_ImageClassification
- charwordcount:TinyMCE插件计算字符和单词