一、处理器状态及状态转换(领会)
处理器一般由运算器、控制器、一些列的寄存器以及高速缓存组成。
运算器是计算机计算的核心。
控制器负责控制程序运行的流程。
寄存器具有最快的访问速度。
1、特权指令和非特权指令
最简单的处理指令方式:
1)处理器每次从存储器中读取一条指令,并将程序计数器的值变成下一条指令的地址,一般是自增1;
2)取到的指令被存储在处理器的指令寄存器中,处理器解释并执行这条指令
指令大致分为5大类:
- 访问存储器指令
- I/O指令
- 算术逻辑指令
- 控制转移指令
- 处理器控制指令
- 特权指令:
在指令系统中那些只能由操作系统使用的指令
设置程序状态字、启动某设备、设置中断屏蔽、设置时钟指令、清内存指令和建立存储保护指令 - 非特权指令:
用户只能使用分特权指令,操作系统可以使用特权指令和非特权指令。
如果用户需要使用特权指令,一般将引起一次处理器状态的切换,处理器通过特殊的机制,将处理器状态切换到操作系统运行的特权状态,然后将处理权交给操作系统中的一段特殊代码,这一份过程称为陷入(Trap)
2、控制寄存器及程序状态字
在处理其中通常有两类寄存器:
- 用户可见寄存器
- 控制和状态寄存器
- 用户可见寄存器:
对所有程序都是可用的,由机器语言直接引用。一般包括数据寄存器、地址寄存器、条件码寄存器
1)数据寄存器Data Register:主要用于各种算术逻辑指令和访存指令;
2)地址寄存器Address Register:用于存储数据即指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址;
3)条件码寄存器:保存处理器操作结果的各种标记位,例如算术运算产生的溢出、符号等,这些标记在条件分支指令中被测试,以控制程序指令的流向。 - 控制和状态寄存器:
对于用户是不可见的,在某种特权访问状态下,由操作系统使用
最常见的控制和状态寄存器:
1)程序计数器(Program Counter,PC):记录了将要取出的指令的地址。
2)指令寄存器