简介
现行程序状态字是指程序状态字保存正在执行程序状态各种信息和CPU的状态信息。在计算机系统中,有很地方用到程序状态字。例如,在硬件响应中断时,进行新老程序状态字的交换,老程序就是现行程序状态字,新程序状态字是指存放在内存指定单元的程序状态字,新程序状态字中的指令地址寄存器内容就是操作系统的入口地址2。程序状态字一般在进程控制块中。
程序状态字概述程序状态字,是指在计算机中,一段包含被操作系统和潜在硬件使用的程序状态信息的内存或硬件区域。它经常包含一个指向下一条需要被执行指令的指针。程序状态字还通常包含一个错误状态区域和关于中断允许或禁止,超级或普通用户模式位的条件代码。程序状态字能够反映程序运行状态的主要信息有: 指令计数器的内容,供条件转移用的指令操作结果的特征信息,程序状态标志位,中断屏蔽标志位和溢出标志位等等。这些信息是执行每条指令时都要用到或可能用到的信息,它基本上反映了程序运行过程中指令一级的瞬间状态。为了控制方便将这些信息集中存放在一个机器字(或双字)中,称之为程序状态字。用来存放程序状态字的寄存器,称之为程序状态寄存器。在程序运行过程中,程序状态字被动态地保存在程序状态寄存器中。当程序被中断时,程序状态字将作为现场信息被保存起来。程序重新运行时,在恢复现场程序中执行恢复程序状态字指令,将程序状态字送回程序状态寄存器中。
主要内容1.CY(Carry):
CY表示加法运算中的进位和减法运算中的借位,加法运算中有进位或减法运算中有借位则CY位置1,否则为0。
2. AC(Auxiliary Carry):
与CY基本相同,不同的是AC表示的是低4位向高4位的进、借位。
3.F0:
该位是用户自己管理的标志位,用户可以根据自己的需要来设定。
4. RS1、RS0:
这两位用于选择当前工作寄存器区。8051有8个8位寄存器R0~R7,它们在RAM中的地址可以根据用户需要来确定。
RS1 RS0:R0~R7的地址
0 0: 00H~07H
0 1: 08H~0FH
1 0: 10H~17H
1 1: 18H~1FH
5.OV:
该位表示运算是否发生了溢出。若运算结果超过了8位有符号数所能表示的范围,即-128 ~ +127,则 OV = 1。
6.P:
P是奇偶标志位。若累加器A中1的个数为奇数,则P = 1;若累加器A中1的个数为偶数,则P = 0。
中断计算机科学术语.指处理机处理程序运行中出现的紧急事件的整个过程.程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断。当处理机接受中断时,只需暂停一个或几个周期而不执行处理程序的中断,称为简单中断。中断又可分为屏蔽中断和非屏蔽中断两类。可由程序控制其屏蔽的中断称为屏蔽中断或可屏蔽中断。屏蔽时,处理机将不接受中断。反之,不能由程序控制其屏蔽,处理机一定要立即处理的中断称为非屏蔽中断或不可屏蔽中断。非屏蔽中断主要用于断电、电源故障等必须立即处理的情况。处理机响应中断时,不需执行查询程序.由被响应中断源向CPU发向量地址的中断称为向量中断,反之为非向量中断。向量中断可以提高中断响应速度。
中断响应和处理:大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。①接收中断请求。②查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。③中断优先权选择。④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中断的指令地址和处理机当前的主要状态信息存放在此单元中。⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。⑥执行中断控制程序和相应的中断服务程序。⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。在中断响应和中断处理中,都要进行交换程序状态字操作,都有现行程序状态字。
进程控制块进程控制块(Processing Control Block),是操作系统核心中一种数据结构,主要表示进程状态。其作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位或与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。 PCB通常是系统内存占用区中的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息,它使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位或一个能与其他进程并发执行的进程。