CSR 位字段

RISC-V siph CSR 寄存器详解

地址 0x154特权级 Supervisor 模式访问 读写 / RV32 only / 32Supervisor AIA、定时器与间接中断 CSR

siph(0x154)是 AIA 为 RV32 提供的 Supervisor interrupt pending 高半 CSR,用于访问 sip 的高 32 位中断挂起状态。

字段映射

按 bit 字段理解 siph

1 个关键字段
31:0

SIP_63_32

读写/按对应 pending 位定义

RV32 上 sip[63:32] 的高半访问窗口;具体可写性取决于对应中断挂起位和 AIA/实现定义。

这个字段控制什么

  • - RV32 上 sip[63:32] 的高半访问窗口;具体可写性取决于对应中断挂起位和 AIA/实现定义。

常见取值

siph high-half pending bits
0未挂起

仅对官方 AIA 定义且实现为有效的 RV32 sip[63:32] 高半 interrupt-pending 位:0 表示对应中断未挂起;保留、未定义或未实现位没有此固定语义。

1挂起

仅对官方 AIA 定义且实现为有效的 RV32 sip[63:32] 高半 interrupt-pending 位:1 表示对应中断挂起;递送还取决于 enable、全局中断、委托和 interrupt-controller 状态。

打开官方手册
官方依据与检索要点

siph 是 RV32 下 sip 的高半访问入口;它不是独立于 sip 的另一套 pending 状态。

AIA 增加 sieh/siph 等 supervisor-level CSR 状态。
解释 siph 时应回到对应高位 interrupt pending 位,而不是把 31:0 当成新的低位中断编号。
访问可能受 state-enable 机制限制。

读这个 CSR 时先看什么

  • - 先确认当前 hart 实现 siph 所属扩展;未实现或权限不足的 CSR 访问会触发非法指令异常。
  • - 结合地址 0x154、最低访问特权级和官方访问类判断软件是否可以直接访问。
  • - 读取保留、WPRI、WARL 或 WLRL 字段时不要假设固定值,应按官方规范和实现返回值解释。

写入前的风险检查

  • - 写 siph 时只修改官方定义的目标字段,保留未修改位。
  • - 对 WARL/WLRL/WPRI 或保留字段按官方规范处理;不要把整个 CSR 当普通整数覆盖。

放回真实流程里理解

1

在 RV32 + AIA 环境中,用 siph 读取 sip[63:32] 高位 pending 状态。

2

按对应高位中断源解释 pending 位;不要把 siph 当成新的低位中断编号空间。

3

结合 sie/sieh enable 位和 S 模式中断进入规则处理 pending 状态。

常见问题

siph 和 sip 是什么关系?

siph 是 RV32 上 sip 的高 32 位访问窗口。