RISC-V用户级指令集体系结构2.1版更新说明
需积分: 22 91 浏览量
更新于2024-08-08
收藏 3.65MB PDF 举报
"本文档是关于RISC-V指令集的详细说明,特别是针对中移4G.cat1模组ML302产品规格。文档主要介绍了2.1版用户级指令集体系结构(User-Level ISA)的变化和更新,强调了基本用户ISA及通用扩展(IMA FD)的稳定性。"
RISC-V是一种开放源码的指令集架构(ISA),其设计目标是简单、高效且可扩展。在2.1版的更新中,RISC-V指令集经历了多项改进,旨在提升性能、简化编程模型并增强兼容性。
1. **ISA的划分与扩展**:
- ISA现在分为一个整数基本内核和多个标准扩展,这种分离有助于模块化设计和优化。
2. **指令格式优化**:
- 指令格式重新组织,使得立即数编码更高效,有利于提升处理器对指令的解码速度。
3. **存储器系统**:
- 基本ISA定义为小端存储系统,同时支持大端和双端作为非标准选项,增加了系统的灵活性。
4. **原子操作指令**:
- 添加了Load-Reserved/Store-Conditional(LR/SC)指令,增强了原子操作的原子性,适用于多线程环境。
5. **一致性模型**:
- AMO(Atomic Memory Operations)和LR/SC指令支持释放一致性模型,提高了并发编程的正确性。
6. **FENCE指令**:
- 提供细粒度的内存和I/O序列化,确保指令执行的顺序,对于多核和异步编程至关重要。
7. **AMO指令扩展**:
- 新增了fetch-and-XOR的AMO(AMOXOR),同时修改了AMOSWAP的编码,以增加可用指令。
8. **AUIPC和JAL指令**:
- AUIPC指令现在使用20位立即数加到程序计数器,替代了RDNPC,简化了位置无关代码的实现。
- JAL指令移到U类型格式,具有显式目标寄存器,J指令由rd=x0的JAL指令替换,降低了ISA的复杂性。
9. **JALR指令的改进**:
- 去除了JALR指令的静态提示,减少冗余,提高代码效率。
10. **软件约定变更**:
- 对注释部分进行了大量更新和改进,每章都有单独的版本号。
- CSR(Control and Status Registers)指令现在用基本整数格式描述,增加了计数器寄存器。
- SCALL和SBREAK指令更名为ECALL和EBREAK,功能保持不变。
- 浮点NaN处理、浮点到整数转换溢出规则、LR/SC指令的使用条件等进行了澄清。
- 提出了新的RV32E基本ISA提案,减少了整数寄存器的数量。
- 修订了调用约定,调整了软浮点调用约定的栈对齐,特别描述了RV32E调用约定。
- C压缩扩展提案也进行了修订,版本更新为1.9。
这些更新不仅提升了RISC-V架构的效能,还增强了其在各种应用场景下的适用性,包括嵌入式、数据中心和高性能计算等。对于开发者而言,理解这些变化对于编写高效、可靠的RISC-V代码至关重要。
2020-03-02 上传
2019-11-25 上传
2008-05-15 上传
2024-02-05 上传
2021-09-16 上传
2022-06-21 上传
2021-04-30 上传
柯必Da
- 粉丝: 42
- 资源: 3798
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全