内核态(也称管态,核心态):
内核态具有对硬件的完全访问权,可以执行机器能够执行的任何指令。
用户态:
只能执行机器的部分指令,使用全部指令集的一个子集。能影响机器的控制指令或者是I/O操作指令,在用户态都是不被允许的。当然也不能更改PSW中模式位为内核态。
用户程序为了获取操作系统服务,必须使用系统调用。系统调用陷入内核并调用操作系统。TRAP指令把用户态切换成内核态,并启用操作系统。
程序计数器(PC):
它保存下一条将要执行的指令在内存中的地址。在指令被取出之后,程序计数器就需要更新。
堆栈指针(SP):
它指向内存中当前栈空间的顶部。该栈空间保存每个进程中需要保存的相关信息。
程序状态字(PSW):
它包含了CPU优先级,模式(内核态或者用户态),条件码位,以及各种其他控制位。通常在PSW中有1个二进制位用来控制CPU处于内核态还是用户态。