处理器一般由运算器、控制器、一系列的寄存器以及高速缓存构成。其中运算器实现指令中的算术和逻辑运算,是计算机计算的核心。控制器负责控制程序运行的流程,包括取指令、维护处理器状态、处理器与内存的交互等。寄存器是一种暂时存储器件,用于处理器执行指令的过程中暂存数据、地址以及指令信息。在计算机的存储系统中,寄存器具有最快的访问速度。寄存器为处理器本身提供了一定的存储能力,它们的速度比内存储器快得多,但是因为寄存器集成在微处理器芯片中,所以它的造价较高,存储容量一般也比小。
1.处理器中的寄存器
在处理器内通常有两类寄存器:一类称为用户可见寄存器。对于高级语言来说,编译器通过一定的算法分配并使用这些寄存器,以最大限度地减少程序运行时访问内存储器的次数,这对程序的运行速度影响很大。第二类称为控制和状态寄存器,它们用于控制处理器的操作,一般由具有特权的操作系统代码使用,以控制其他程序的执行。 通常用户可见寄存器对所有程序都是可用的,由机器语言直接引用。它一般包括数据寄存器( Data Register)、地址寄存器( Address Register)以及条件码寄存器数据寄存器有时又称为通用寄存器,主要用于各种算术逻辑指令和访存指令。地址寄存器用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。条件码寄存器保存处理器操作结果的各种标记位,例如算术运算产生的溢出、符号等,这些标记在条件分支指令中被测试,以控制程序指令的流向。 处理器中有很多寄存器用于控制处理器的操作,这些寄存器大部分对于用户是不可见的,但可以在某种特权状态下访问,由操作系统使用。最常见的控制和状态寄存器有程序计数器( Program Counter,PC),它记录了将要取出的指令的地址;指令寄存器( Instruction Register,IR),包含了最近取出的指令;程序状态字( Program Status Word,PSW),它记录了处理器的运行模式信息等。
2.指令执行的基本过程
最简单的处理指令方式包括两个步骤:首先,处理器每次从存储器中读取一条指令,并在取指令完成后,根据指令类别自动将程序计数器的值变成下一条指令的地址,通常是自增1;其次,取到的指令被存储在处理器的指令寄存器中,处理器于是解释并执行这条指令。一个这样的单条指令处理过程称为一个指令周期。程序的执行就是由不断取指令和执行指令的指令周期组成的。仅仅当机器关机、发生某些未发现的错误或者遇到停机相关的指令时,程序才会停止。 指令大致可以分成五类:访问存储器指令,它们负责处理器和存储器之间的数据传送;I/O指令,它们负责处理器和I/O模块之间的数据传送和命令发送;算术逻辑指令,有时又称为数据处理指令,用以执行有关数据的算术和逻辑操作;控制转移指令,这种指令可以指定一个新的指令的执行起点;处理器控制指令,这种指令用于修改处理器状态,改变处理器工作方式等。