RISC-V指令集 中文版
RISC-V指令集 中文版 2.1版 目录 第 1 章 介绍 ........................................................................................................................... 1 1.1 RISC-V ISA 概述 ......................................................................................................... 3 1.2 指令长度编码 ........................................................................................................... 5 1.3 异常、自陷和中断 ................................................................................................... 6 第 2 章 RV32I 基本整数指令集,2.0 版 .............................................................................. 8 2.1 基本整数子集的程序员模型 ................................................................................... 8 2.2 基本指令格式 ........................................................................................................... 9 2.3 立即数编码变种 ..................................................................................................... 10 2.4 整数计算指令 ......................................................................................................... 11 整数寄存器-立即数指令................................................................................................ 12 整数寄存器-寄存器操作................................................................................................ 13 NOP 指令 ........................................................................................................................ 14 2.5 控制转移指令 ......................................................................................................... 14 无条件跳转 ..................................................................................................................... 14 条件分支 ......................................................................................................................... 15 2.6 Load 和 store 指令 .................................................................................................. 17 2.7 存储器模型 ............................................................................................................. 18 2.8 控制和状态寄存器指令 ......................................................................................... 20 CSR 指令 ......................................................................................................................... 20 定时器和计数器 ............................................................................................................. 22 环境调用和断点 ............................................................................................................. 23 第 3 章 RV32E 基本整数指令集,版本 1.9 ....................................................................... 24 3.1 RV32E 程序员模型 ................................................................................................. 24 3.2 RV32E 指令集 ......................................................................................................... 24 3.3 RV32E 扩展 ............................................................................................................. 25 第 4 章 RV64I 基本整数指令集,版本 2.0 ........................................................................ 26 4.1 寄存器状态 ............................................................................................................. 26 4.2 整数计算指令 ......................................................................................................... 26 整数寄存器-立即数指令................................................................................................ 26 整数寄存器-寄存器操作................................................................................................ 28 4.3 Load 和 Store 指令 ................................................................................................. 28 4.4 系统指令 ................................................................................................................. 29 第 5 章 整数乘法除法的“M”标准扩展,版本 2.0 ....................................................... 30 5.1 乘法操作 ................................................................................................................. 30 5.2 除法操作 ................................................................................................................. 30 第 6 章 原子性指令的“A”标准扩展,版本 2.0 ............................................................. 32 6.1 原子性操作的指定顺序 ......................................................................................... 32 6.2 Load-reserved/store-conditional 指令 .................................................................... 33 6.3 原子性存储器操作 ................................................................................................. 36 第 7 章 单精度浮点的“F”标准扩展,版本 2.0 ............................................................. 38 7.1 F 寄存器状态 .......................................................................................................... 38 7.2 浮点控制和状态寄存器 ......................................................................................... 39 Copyright ©2010-2016, The Regents of the University of California. All rights reserved. v 7.3 NaN 生成和传递 ..................................................................................................... 40 7.4 非规格化数算术 ..................................................................................................... 41 7.5 单精度 load 和 store 指令...................................................................................... 41 7.6 单精度浮点计算指令 ............................................................................................. 41 7.7 单精度浮点转换和传输指令 ................................................................................. 42 7.8 单精度浮点比较指令 ............................................................................................. 44 7.9 单精度浮点分类指令 ............................................................................................. 44 第 8 章 双精度浮点的“D”标准扩展,版本 2.0 ............................................................ 46 8.1 D 寄存器状态 ......................................................................................................... 46 8.2 双精度 load 和 store 指令...................................................................................... 46 8.3 双精度浮点计算指令 ............................................................................................. 47 8.4 双精度浮点转换和传输指令 ................................................................................. 47 8.5 双精度浮点比较指令 ............................................................................................. 49 8.6 双精度浮点分类指令 ............................................................................................. 49 第 9 章 RV32/64G 指令集列表 ........................................................................................... 50 第 10 章 扩展 RISC-V ............................................................................................................. 55 10.1 扩展术语 ................................................................................................................. 55 标准 vs. 非标准扩展 .................................................................................................... 55 指令编码空间和前缀 ..................................................................................................... 55 绿地扩展 vs. 棕地扩展 ................................................................................................ 56 标准兼容的全局编码 ..................................................................................................... 57 保证的非标准编码空间 ................................................................................................. 57 10.2 RISC-V 扩展设计理念 ............................................................................................. 57 10.3 在固定 32 位指令格式内的扩展 ........................................................................... 58 可用的 30 位指令编码空间 ........................................................................................... 58 可用的 25 位指令编码空间 ........................................................................................... 58 可用的 22 位指令编码空间 ........................................................................................... 58 其他空间 ......................................................................................................................... 58 10.4 增加对齐的 64 位指令扩展 ................................................................................... 59 10.5 支持 VLIW 编码 ...................................................................................................... 59 定长指令组 ..................................................................................................................... 59 编码长度指令组 ............................................................................................................. 59 固定大小指令束 ............................................................................................................. 59 前缀中“组结束位” ..................................................................................................... 60 第 11 章 ISA 子集命名约定 ................................................................................................... 61 11.1 大小写敏感 ............................................................................................................. 61 11.2 基本整数 ISA ........................................................................................................... 61 11.3 指令扩展名字 ......................................................................................................... 61 11.4 版本号 ..................................................................................................................... 61 11.5 非标准扩展命名 ..................................................................................................... 62 11.6 管理员级指令子集 ................................................................................................. 62 11.7 管理员级扩展 ......................................................................................................... 62 11.8 子集命名约定 ......................................................................................................... 62 第 12 章 四精度浮点的“Q”标准扩展,版本 2.0 ............................................................ 64 Copyright ©2010-2016, The Regents of the University of California. All rights reserved. vi 12.1 四精度 load 和 store 指令...................................................................................... 64 12.2 四精度计算指令 ..................................................................................................... 64 12.3 四精度转换和传输指令 ......................................................................................... 65 12.4 四精度浮点比较指令 ............................................................................................. 66 12.5 四精度浮点分类指令 ............................................................................................. 67 第 13 章 十进制浮点的“L”标准扩展,版本 0.0 ............................................................. 68 13.1 十进制浮点寄存器 ................................................................................................. 68 第 14 章 压缩指令的“C”标准扩展,版本 1.9 ................................................................. 69 14.1 概述 ......................................................................................................................... 69 14.2 压缩指令格式 ......................................................................................................... 71 14.3 Load 和 store 指令 .................................................................................................. 72 基于栈指针的 load 和 store .......................................................................................... 73 基于寄存器的 Load 和 store .......................................................................................... 74 14.4 控制转移指令 ......................................................................................................... 75 14.5 整数计算指令 ......................................................................................................... 76 整数常数-生成指令 ....................................................................................................... 76 整数寄存器-立即数指令................................................................................................ 77 整数寄存器-寄存器指令................................................................................................ 79 预定义非法指令 ............................................................................................................. 80 NOP 指令 ........................................................................................................................ 80 断点指令 ......................................................................................................................... 81 14.6 在 LR/SC 序列中使用 C 指令 ................................................................................. 81 14.7 RVC 指令集列表 ..................................................................................................... 81 14.8 指令压缩统计 ......................................................................................................... 85 14.9 优化寄存器保存/恢复代码大小 ........................................................................... 88 第 15 章 向量操作的“V”标准扩展,版本 0.0 ................................................................. 90 第 16 章 位操作的“B”标准扩展,版本 0.0 ....................................................................... 91 第 17 章 事务存储器的“T”标准扩展,版本 0.0 ............................................................. 92 第 18 章 打包 SIMD 指令的“P”标准扩展,版本 0.1 ...................................................... 93 第 19 章 RV128I 基本整数指令集,版本 1.7 ...................................................................... 95 第 20 章 调用约定 ................................................................................................................. 96 20.1 C 数据类型和对齐 .................................................................................................. 96 20.2 RVG 调用约定 ......................................................................................................... 96 20.3 软浮点调用约定 ..................................................................................................... 99 20.4 RV32E 调用约定 ..................................................................................................... 99 第 21 章 RISC-V 汇编程序员手册 ....................................................................................... 100 第 22 章 历史和致谢 ........................................................................................................... 102 22.1 到 ISA 手册 1.0 版本以前的历史 ......................................................................... 102 22.2 从 ISA 手册 2.0 版本以来的历史 ......................................................................... 102 致谢 ............................................................................................................................... 104 22.3 版本 2.1 的历史 .................................................................................................... 104 致谢 ............................................................................................................................... 104 22.4 资助 ....................................................................................................................... 104 参考文献....................................................................................................................................... 106
用户评论