处理器包括两类寄存器:
用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问主存次数
控制和状态寄存器,用于控制处理器的操作,由OS的特权代码使用, 以控制其它程序的执行
用户可见寄存器
机器语言直接引用
包括数据寄存器、地址寄存器以及条件码寄存器
数据寄存器(data register)又称通用寄存器,主要用于各种算术逻辑指令和访存指令
地址寄存器(address register)用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如变址寄存器(index register)、段指针(segment pointer)、栈指针(stack pointer)
条件码寄存器保存CPU操作结果的各种标记位,如算术运算产生的溢出、符号等等
控制和状态寄存器
1.用于控制处理器的操作
2.大部分对于用户是不可见的
3.一部分可以在某种特权模式(由OS使用)下访问
常见的控制和状态寄存器:
程序计数器(PC:Program Counter),记录将要取出的指令的地址
指令寄存器(IR:Instruction Register),包含最近取出的指令
程序状态字(PSW:Program Status Word),记录处理器的运行模式信息等等