Xie寄存器 mstatus 寄存器位的描述 xIE 开启之后,可以响应中断,比如 M模式下可以响应中断的话,就开启MIE UIE (User Interrupt Enable) 位:总开关 位置:位 0 描述:用户模式中断使能位。当设置为 1 时,用户模式的中断是使能的。 SIE (Supervisor Interrupt Enable) 位: 位置:位 1 描述:监督模式中断使能位。当...
在中断使能方面,MIE 、SIE 、UIE 分别提供了 machine mode 、supervisor mode 、user mode 的全局中断使能位,若一个 hart 运行在特权级别 x 下,当 xIE = 1 (Interrupt Enable in x mode,中断使能)时中断全局打开,反之则关闭。在 hart 于 x 运行时,无论 wIE 为何值,低权限中断 w < x 总是无效的,而...
与mip和mie一样,mideleg中的每个位对应于”异常/中断原因图“相同的中断。例如,mideleg[5]对应于 S 模式的时钟中断,如果把它置位,S 模式的时钟中断将会移交 S 模式 的异常处理程序,而不是 M 模式的异常处理程序。 屏蔽委托的中断 委托给 S 模式的任何中断都可以被 S 模式的sieCSR屏蔽。 sie(Supervisor In...
绿框里的位域用来记录发生中断之前MIE和SIE的值。SPIE记录的是SIE的值,MPIE记录的是MIE的值。 蓝色框内位域用来记录当特权级别由低到高发生变化时(比如执行ecall指令),之前的特权级别。当变化后的特权级别是S模式时,SPP表示变化之前的特权级别是S模式还是U模式,所以只需要1位就可以表示;当变化后的特权级别是M模...
通过设置 mie 寄存器中的相应位来启用各个中断。 Machine Interrupt Pending (mip) 机器中断挂起 (mip) 寄存器指示当前哪些中断处于挂起状态。 特权模式中断 U54内核支持有选择地将中断和异常定向到S模式。 该功能由中断和异常委托CSR处理:和。S模式中断和异常可以通过stvec、sip、sie 和 scause 管理。
mtime是一个64位读写寄存器,其计数频率由实现决定。只要mtime大于或等于mtimecmp寄存器中的值,计时器中断就会挂起, mip.mtip置位。当然前提是mie.mtip使能了。复位时mtime清零,mtimecmp未定义(SiFive U54-MC Core Complex中则不复位)。 写该寄存器清除中断(写的值要大于MTIME足够多,否则又很快产生中断了)。
mie/sie/uie 包含了相应的中断使能位 mcause / scause 记录中断/异常事件的类型 Interrupt 表示中断/异常 后表示原因 mtvec / stvec 当中断/异常发生时,PC 值肯定需要跳转到中断/异常处理程序,该寄存器就保存了这些处理程序的地址 有两种寻址方式,直接寻址间接寻址 ...
SIE域表示全局中断使能。当该MIE域值为1时,表示所有中断的全局开关打开,当MIE域的值为0时候,表示全局关闭所有中断。 SPIE用于保存进入异常之前MIE域的值。 2.2 异常开关的寄存器 对于S-Mode中断的Enable与Pending,还需要关注两个寄存器。sie与sip。 Supervisor Interrupt Enable(sie) ...
当且仅当 mideleg 或 mvien 中的相应位被设置时,sie 中的位才是可写的。当中断由 mideleg 委托时,sie 中的可写位是 mie 中相应位的别名,否则就是独立的可写位。通常,sie 中不可写的位必须是只读 0。 如果mideleg 中的某位为 0,而 mvien 中的相应位从 0 变为 1,那么 sie 中的匹配位的值就会...
sie寄存器用来使能和关闭S模式下的中断,详见第8章。 3.stvec寄存器 stvec寄存器用来在S模式下配置异常向量表入口地址和异常访问模式,详见第8章。 4.scounteren寄存器 scounteren寄存器是一个32位寄存器,用来使能U模式下的硬件性能监测和计数寄存器,如图1.8所示。