中央处理器

处理机中解释和执行指令的部件,简称CPU。中央处理器包括处理机中的运算器和系统控制器。系统控制器不仅解释指令,执行控制型指令,还提供全机控制系统的硬件支援,因而表示和控制处理机运行状态、实现实时处理和系统管理的中断系统等也属于中央处理器。CPU有两种工作状态,用户程序运行时处理机处于“目的程序状态”(简称“目态”);系统管理程序运行时则处于“管理程序状态”(简称“管态”)。中央处理器的系统管理指令只能在“管态”下运行,成为特权指令,用户使用这些指令会导致系统的混乱,因而处理机监督这种违法使用的情况。CPU响应中断可能会改变CPU的程序状态,甚至改变它的内部状态等。这些都需要中央处理器的硬件支援。

指令是中央处理器直接识别的机器语言的基本单位。一条运算指令一般指定一种操作和若干操作数;一条控制指令则指定中央处理器的状态,设置和改变各个控制寄存器的内容。中央处理器既是一个按用户程序要求处理数据的部件,又是负责整个系统控制的部件。它的运算器实现算术、逻辑运算和数据移位、传送的功能;系统控制器则实现指令译码、寻址变址、存取数据、控制运算、执行控制指令、接收中断请求以及对中断按优先级排队。

中央处理器除包含运算器和传统的运算控制器(简称控制器)外,在结构上还包含中断系统、通用寄存器和堆栈等部分。中断系统是系统控制器的一个重要组成部分,它由中断请求寄存器、中断屏蔽寄存器和排队优先线路组成。

通用寄存器(以至便笺存储器或局部存储器),是中央处理器的重要部件。它可以在一个中央处理器时钟周期内完成读或写操作。按地址存取的通用寄存器、浮点寄存器、控制寄存器、程序计数器和堆栈指针一般都放在局部存储器中。在采用微程序控制的中央处理器中,微程序工作寄存器、微堆栈以及状态保留寄存器均可在局部存储器分配到存储单元。有时,它还可用作输入-输出通道的数据缓冲存储器。这种局部存储器可以是一个或几个。

堆栈是中央处理器的一个常用部件。它一般按后进先出规则存取信息,故又称“后进先出存储器”。它包括栈基、栈限和栈顶三个指针寄存器。栈基指向栈的底部,栈限指示栈的最大长度,栈顶指向堆栈中现行信息顶部。堆栈可以设在主存储器或局部存储器中,也可以将栈顶若干单元存放在寄存器中,其余部分使用存储器单元。堆栈常用在采用零地址机器指令的CPU中,作为向运算器提供操作数和存放运算结果的指定部件。堆栈还常用于中断保护和程序调用与嵌套两种情况。

(1)中断保护:CPU响应中断时,首先将中断现场的处理机状态存入堆栈。待中断处理完毕退出中断时,从堆栈中取出保留信息、恢复原先的处理机状态,保证被中断程序的继续执行。

(2)程序调用和嵌套:从主程序转子程序或子程序又套用子程序时,每一次都将转子程序的返回地址压入堆栈,如此可以层层嵌套。每个子程序的结尾,执行一条返回指令,自动从栈顶取出返回地址送入程序计数器。由于堆栈是后进先出的,可保证中央处理器从里向外逐层执行子程序,实现多重子程序的递归。

参考文章