ZHCUCH3A November 2024 – March 2025 F29H850TU , F29H859TU-Q1
中断状态寄存器 (ISTS) 包含各种中断标志、栈指针、当前链接和各种计数器的状态信息。
| - | CURRLINK | - | INTSP | CURRSP | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| ATOMIC {counter} | - | - | - | - | - | NMIF | RTINTF | INTF | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
当前链接 (CURRLINK):所有资源(包括存储器、外设、栈)都与链接 ID 相关联。链接会划分 CPU 运行环境的边界。因此,D2 流水线阶段中指令包的代码源地址解析为相应代码的链接。此信息对于验证、更新和访问中断向量表中的权限至关重要。该信息对于与每个中断关联的配置设置也至关重要。因此,CURRLINK 寄存器提供当前链接。
栈指针(CURRSP、INTSP):具有嵌入式虚拟化功能的 C29x CPU 具有多个栈。用户可以为 INT 分配特定的栈,但 RTINT 和 NMI 使用 RTINT 栈。当前栈指针指向 CPU 正在使用的栈,由 CURRSP 字段表示。低优先级中断 (INT) 选择使用的栈由 INTSP 字段表示。在 INTSP 与 CURRSP 匹配之前,INT 不会进入流水线。
ATOMIC计数器(ATOMIC):CPU 允许在一次延展中执行多达 256 个指令包,而不会被 RTINT 或 INT 中断。ATOMIC 执行的剩余指令包的数量反映在 ATOMIC 计数器中。如果 ATOMIC 计数器正在计数,CPU 不会拾取中断进行处理。NMI 不受 ATOMIC 计数器的影响,运算被停止,如果接收到 NMI,计数器被复位。有关 ATOMIC 计数器的更多详细信息,请参阅节 3.3.1。
中断标志(INTF、RTINTF、NMIF):寄存独立的中断标志,包括 INTF、RTINTF 和 NMIF。只要一个相应的中断被置为 CPU 有效,这些标志就会被置位并在退出相应的 ISR 时被清除。如果有多个嵌套中断被 CPU 采用,则所有相应的标志都将被设置,并且仅在处理相应类别的所有中断时清除这些标志。