中央处理单元(CPU),简称处理器,是解释或执行存储在主存中指令的引擎。处理器的核心是一个大小为一个字的存储设备,称为程序计数器(PC),在任何时刻,PC都指向主存中的某条机器语言指令。
从系统通电开始,知道系统断电,处理器一直在不断地执行程序计数器指向的指令,再更新程序计数器,使其指向下一条指令。处理器看上去是按照一个非常简单的指令执行模型来操作,这个模型是由指令集架构决定的。在这个模型中,指令按照严格的顺序执行,而执行一条指令包含执行一系列步骤。处理器从程序计数器指向的内存处读取指令,解释指令中的位,执行该指令指示的简单操作,然后更新PC,使其指向下一条指令。这样的简单操作并不多,它们围绕着主存、寄存器文件和逻辑单元进行。寄存器文件是一个小的存储设备,由一些单个字长的寄存器组成,每个寄存器都有唯一的名字。ALU计算新的数据和地址值。下面是一些简单操作的例子。CPU在指令要求下可能会执行这些操作。
- 加载:从主存赋值一个字节或者一个字到寄存器,以覆盖寄存器原来的内容。
- 存储:从寄存器赋值一个字节或者一个字到主存的某个位置,以覆盖这个位置上原来的内容。
- 操作:把两个寄存器的内容赋值到ALU,ALU对这两个字做算术运算,并将结果存放到一个寄存器中,以覆盖该寄存器中原来的内容。
- 跳转:从指令本身中抽取一个字,并将这个自赋值到程序计数器中,以覆盖PC中原来的值。