RISCV特权架构
http://riscvbook.com/chinese/RISC-V-Reader-Chinese-v2p1.pdf RICSV 特权架构 机器模式和监管者模式 R sret R mret R wfi R sfence.vma 硬件线程指的是处理器( CPU )上的物理核心( core )所支持的执行线程数量。 机器模式(缩写为 M 模式, M-mode )是 RISC-V 中 hart ( hardware thread ,硬件线程)可以执行的最高权限模式。在 M 模式下运行的 hart 对内存, I/O 和一些对于启动和配置系统来说必要的底层功能有着完全的使用权。 RISCV 中两种异常:同步异常和中断 同步异常: 访问错误异常 当物理内存的地址不支持访问类型时发生(例如尝试写入 ROM )。 断点异常 在执行 ebreak 指令,或者地址或数据与调试触发器匹配时发生。 环境调用异常 在执行 ecall 指令时发生。 非法指令异常 在译码阶段发现无效操作码时发生。 非对齐地址异常 在有效地址不能被访问大小整除时发生,例如地址为 0x12 的 amoadd.w 。 中断:软件、时钟和外部来源。软件中断通过向内存映射寄存器中存数来触发,并通常用于由一个 hart 中断另一个 hart (在其他架构中称为处理器间中断机制)。当 hart 的时间比较器(一个名为 mtimecmp 的内存映射寄存器)大于实时计数器 mtime 时,会触发时钟中断。外部中断由平台级中断控制器(大多数外部设备连接到这个中断控制器)引发。不同的硬件平台具有不同的内存映射并且需要中断控制器的不同特性,因此用于发出和消除这些中断的机制因平台而异。 八个控制状态寄存器( CSR )是机器模式下异常处理的必要部分: mtvec ( Machine Trap Vector )它保存发生异常时处理器需要跳转到的地址。 mepc ( Machine Exception PC )它指向发生异常的指令。 mcause ( Machine Exception Cause )它指示发生异常的种类。 mie ( Machine Interr...