程序计数器(PC)
又称指令计数器,用来存放正在执行的指令地址或接着要执行的下一条指令地址。
一般情况下顺序执行,程序计数器的内容不断的+1。如果需要改变发变顺序执行,只要将跳转的目标地址送往程序计数器就可实现。
指令寄存器(IR)
指令寄存器用来存放从存储器中取出的指令。
当指令从主存取出存于指令寄存器之后,在执行指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。
存储器数据寄存器(MAR)
用来暂时存放由主存储器读出的一条指令或一个数据字。
向主存储器写入一条指令或一个数据字时,也暂时将它们存放在存储器数据寄存器中。
数据字,由于计算机使用的信息既有指令又有数据,所以计算机字可以代表指令,也可以代表数据。如果某字代表要处理的数据,则称为 数据字;如果某字为一条指令,则称为指令字。
存储器地址寄存器(MDR)
用来保存当前CPU所访问的主存单元的地址。
由于主存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到主存的读写操作完成为止。
当CPU和主存进行信息交换,无论是CPU向主存写数据,还是CPU从主存中读出指令时,都要使用存储器地址寄存器和数据寄存器。
状态标志寄存器(PSWR)
用来存放程序状态字(PSW)。
程序状态字的各位表征程序和机器运行的状态,是参与控制程序执行的重要依据之一。
表征程序是啥?有那个同学知道可以解答一下,查阅了资料没找到。
状态标志寄存器的位数往往等于机器字长,各类机器的状态标志寄存器的位数和设置位置不尽相同。
机器字长,是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。因为计算机中数的表示有定点数和浮点数之分,定点数又有定点整数和定点小数之分,这里所说的整数运算即定点整数运算。机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通道的宽度。
8086微处理器的状态标志寄存器
状态标志
进位标志位(CF)
辅助进位标志位(AF)
溢出标志位(OF)
零标志位(ZF)
符号标志位(SF)
奇偶校验标志位(PF)
控制标志
方向标志(DF),表示串操作指令中字符串操作的方向。
中断允许标志位(IF),表示CPU是否能够响应外部的可屏蔽中断请求。
陷阱标志位(TF),为了方便程序的调试,使处理器的执行进入单步方式而设置的控制标志位。
参考资料: 《计算机组成原理教程》