RISC-V用户级指令集架构手册2.1版更新详解

需积分: 9 13 下载量 10 浏览量 更新于2024-07-14 收藏 2.81MB PDF 举报
"RISC-V指令集手册卷1.pdf" 本文档是RISC-V指令集手册的用户级指令集体系结构(User-Level ISA)2.1版,由Andrew Waterman、Yunsup Lee、David Patterson和Krste Asanović等人编著,属于加州大学伯克利分校的研究成果。该版本主要更新和改进了之前的2.0版,但基本的用户级ISA和IMAFDQ扩展已冻结,保持不变。 手册中包含的主要内容和改动如下: 1. 对注释部分进行了大量补充和优化,提升了文档的清晰度和易读性。 2. 每一章都赋予了单独的版本号,方便追踪和管理文档的更新。 3. 针对大于64位的长指令编码进行了调整,以避免在长指令格式中移动"rd"区分符,优化了编码效率。 4. 现在,基本整数格式用于描述控制和状态寄存器(CSR)指令,并引入了计数器寄存器,这些在以前仅在浮点部分和特权架构手册中提及。 5. SCALL和SBREAK指令分别更名为ECALL和EBREAK,但其编码和功能保持不变。 6. 对浮点非数字(NaN)的处理进行了澄清,规定了新的NaN值,增强了浮点运算的确定性。 7. 明确了浮点到整数转换时溢出的返回值,使得转换规则更加明确。 8. LR/SC(Load-Linked/Store-Conditional)指令的操作成功条件和失败要求得到细化,包括在使用压缩指令的序列中的应用。 9. 提出了一个新的RV32E基础ISA提案,减少了整数寄存器的数量,以适应更简洁的硬件设计需求。 10. 调整了调用约定,以优化函数调用的交互。 11. 放宽了软浮点调用约定的栈对齐要求,同时描述了针对RV32E的调用约定。 12. 提供了一个修订版的C压缩扩展提案,版本1.9,改进了对C语言的支持。 RISC-V指令集的设计理念是简化、模块化和可扩展,它将ISA划分为一个基本的整数核心和多个标准扩展,如I(整数)、M(乘法和除法)、A(原子操作)、F(单精度浮点)、D(双精度浮点)。这种设计使得RISC-V能够灵活地适应不同应用场景,从低功耗嵌入式系统到高性能计算平台。 手册的这一版还强调了对立即数编码的优化,以提高空间效率,同时保持了与前一版本的向后兼容性,确保已有的软件可以继续运行。RISC-V的开放源代码性质和标准化设计使其在全球范围内获得了广泛的关注和采用。