RISC-V用户级指令集体系结构2.1版更新说明
需积分: 22 4 浏览量
更新于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代码至关重要。
点击了解资源详情
点击了解资源详情
138 浏览量
2024-02-05 上传
2021-09-16 上传
2022-06-21 上传
2021-04-30 上传
柯必Da
- 粉丝: 42
- 资源: 3763
最新资源
- 易语言36键MIDI电子琴
- bl1nd:我的 Ludum Dare 28 参赛作品的延续
- parallel_ASKI_并行计算_六面体协调网格;_模拟声学;_entirelyht3_网格_
- 简历
- Microsoft-Film-Industry-Analysis:文件,Jupyter笔记本和演示幻灯片,供我们分析有助于电影在熨斗学院取得成功的因素
- Eldinho2.github.io
- 作品答辩扁平化模板论文答辩.ppt.rar
- spree_advanced_cart:对 Spree 更有用的购物车实现
- nativescript-snapkit:使用Snapchat帐户登录到您的应用
- 易语言API录音
- 编程珠玑 第2版(修订版)_编程珠玑修订_资料_
- DataAnalytics
- robot_ws:这是机器人上的主要工作空间
- PeopleLung.fg7wzky7dm.ga4AST6
- svnautobuild-开源
- component-template-issue