在机器模式下,可以任意访问所有CSR寄存器。简单的嵌入式系统只支持机器模式。在 M 模式下运行的 hart 对内存,IO 和一些对于启动和配置系统来说必要的底层功能有着完全的使用权。因此它是唯一所有标准 RISC-V 处理器都必须实现的权限模式。机器模式最重要的特性是拦截和处理异常(不寻常的运行时事件)的能力。
虽然机器模式对于简单的嵌入式系统已经足够,但它仅适用于那些整个代码库都可信的情况,因为M 模式可以自由地访问硬件平台。更常见的应用场景是,因为不能事先得知应用程序的正确性,不能信任所有的应用程序代码。因此,RISC-V提供了保护系统免受不可信的代码危害的机制,并且为不受信任的进程提供隔离保护。为了避免恶意程序篡夺系统的控制权,禁止不可信的代码执行特权指令和特权CSR,有必要使用User用户模式,拒绝这种功能,在尝试使用M mode指令或者访问CSR时,产生非法指令异常。同时在用户模式下发生异常,则把控制权交给M模式。支持机器模式和用户模式的处理器可以区分用户模式和机器模式,从而提高安全性、实现资源保护。
除了机器模式与用户模式,系统还有运行runtime OS和Linux系统的操作系统的需求。监管者模式(supervisor mode) 专门用于为Linux和 Windows 等操作系统提供支持。这种模式比用户模式有着更高的权限,通常可以使用权限较低的模式的所用功能,并且它们还有一些低权限模式下不可用的额外功能,例如处理中断和执行IO的功能。处理器通常大部分时间都运行在权限最低的模式下,处理中断和异常时会将控制权移交到更高权限的模式。