risc-v异常处理
异常与中断的关系
中断和异常都为异常,分为:
同步异常:IO,illegal, page fault,miss_aligh 等来自处理器内部的发生的异常。异步异常(中断):鼠标,键盘,Timer 等外部事件。
如无特别注明,皆指同步异常。
riscv 三种 特权模式
Riscv 有三种特权模式,分别是 U-mode、S-mode、M-mode
U-mode : 用户模式。通常情况下用户编写的程序都在该模式下执行。
S-mode : 内核模式。 通常情况下,操作系统在此模式下执行。可以访问一些 s 模式下的寄存器。M-mode:机器模式。最高权限,所有的 RISCV 处理器都应该实现的模式。几乎能够执行所有特权指令和读写所有的特权寄存器。通常情况下处理器发生中断和异常时在此模式下进行处理。