术语词典

术语词典

面向初学者优先收录 RISC-V 架构、特权级和内核开发中最常遇到的高频术语。每一条都力求简洁准确,方便在阅读指令、ABI、CSR 和内核代码时快速对照。

XLEN

当前整数寄存器宽度。RV32 的 XLEN=32,RV64 的 XLEN=64。

ABI

应用二进制接口。函数调用约定只是其中一部分,还包括寄存器分工、栈布局、对象文件和重定位等二进制级契约。

caller-saved

调用方自己负责保住的寄存器;调用别的函数前,想继续用就先保存。

callee-saved

被调用函数如果借用了这些寄存器,返回前必须恢复。

符号扩展

把较窄的有符号值扩成更宽位数时,用原最高位填充高位。

零扩展

把较窄的无符号值扩成更宽位数时,高位全部补 0。

立即数

直接写在指令里的常量,不需要先放到寄存器里。

伪指令

为了书写方便提供的汇编别名,汇编器会展开成真实指令。

特权级别

RISC-V 有三种特权模式:M 模式(最高,机器级,固件/调试)、S 模式(中间,管理员级,OS 内核)、U 模式(最低,用户级,应用程序)。S 模式可选;嵌入式场景可能只有 M+U。

CSR

控制和状态寄存器,在独立的 12 位地址空间中(编号 0–4095)。用 csrrw/csrrs/csrrc 等专用指令读写。管理和监控 CPU 的配置、状态、中断和内存保护。

ecall

环境调用指令。执行后产生 environment-call 异常;后续陷阱路径取决于当前特权级、委托配置和执行环境。陷阱 PC 记录触发异常的那条 ecall 本身,而不是下一条指令。

mret / sret

mret 从 M 模式陷阱返回,sret 从 S 模式陷阱返回。返回时恢复 trap 前的 PC(从 mepc/sepc)、特权模式(从 mstatus.MPP/SPP)和中断使能(从 MPIE→MIE / SPIE→SIE),并按规范更新这些状态位。

mepc / sepc

机器/管理员异常 PC。trap 进入时保存触发陷阱的指令地址:对同步异常通常是 faulting instruction 本身,对中断则是被打断的控制流位置。mret/sret 使用它恢复 PC。

mtvec / stvec

机器/管理员陷阱向量基址寄存器。存放陷阱处理函数的入口地址。低 2 位指定模式:0(直通,所有陷阱跳 BASE)、1(向量,同步异常跳 BASE,中断跳 BASE+4×cause)。

mcause / scause

陷阱原因寄存器。最高位 1=中断、0=异常。低几位编号标识具体原因:如中断 7=MTI,异常 2=非法指令、8=U 模式 ecall、12=指令缺页。

mstatus / sstatus

机器/管理员状态寄存器。mstatus 包含 MIE/MPIE/MPP 等 M-mode trap 状态;sstatus 是 S-mode 可见状态视图,包含 SIE/SPIE/SPP 等 S-mode 相关字段。FS 等扩展状态字段是否有意义取决于实现和扩展状态。

mtval / stval

陷阱值寄存器,可在部分异常中提供额外诊断值。地址或缺页类异常通常用于报告 faulting virtual address;非法指令异常若实现提供非零值,可包含指令位;否则也可能为 0。

CLINT

常见平台实现中的本地中断/计时器模块名称,不是基础 ISA 必备部件。许多旧平台用它提供 MSIP、mtime、mtimecmp 等机器级软件/定时器中断相关寄存器。

PLIC

平台级中断控制器的常见名称,用于聚合外部设备中断并路由到 hart。外部中断控制器属于平台规范/实现语境,不是 RISC-V 基础整数 ISA 指令语义。

PMP

物理内存保护。M 模式通过 pmpcfg/pmpaddr 寄存器为每个物理区域配置 R/W/X 权限和地址匹配模式。可对低特权级限制物理地址访问,是嵌入式和 M 模式固件的基础安全机制。

页表项

页表中的一项。在 Sv39 中为 64 位,包含:V(有效)、R/W/X(读/写/执行)、U(用户态可访问)、G(全局)、A(已访问)、D(已修改)标志,以及 PPN(物理页号)。非叶子 PTE 需要 V=1 且 R=W=X=0,表示指向下一级页表。

Sv39

39 位虚拟地址空间方案(RV64 常见)。虚拟地址以 bit 38 为符号位做高位符号扩展;采用 3 级 4 KiB 页表,每级 512 项(9 位索引),共覆盖 512 GiB。satp 存根页表 PPN,VPN[2]/VPN[1]/VPN[0] 逐级索引,12 位 offset 对应 4 KiB 页内偏移。

satp

管理员地址翻译和保护寄存器。MODE 字段选择翻译方案,ASID 区分地址空间,PPN 指向根页表。切换地址空间或更新页表后,软件通常需要按规范在合适位置执行 sfence.vma,让地址转换结构变更对后续取指/访存可见。

官方规范来源

本页参考以下官方 RISC-V 文档组织架构、ABI、CSR 和伪指令说明;平台或操作系统 ABI 差异仍需按对应规范核验。