《计算机的存储器有哪些》一节中提到,计算机中的内部存储器主要包含寄存器、高速缓存以及主存储器,本节先带领大家系统地了解一下什么是寄存器。
所谓内部存储器,是指 CPU 可以直接访问的存储器。换句话说,位于内部存储器中的数据,CPU 可以直接使用。
寄存器是计算机中尺寸最小、存储容量也最小(通常 4~8 个字节)、但读写效率最高的存储器,位于 CPU 内部。
寄存器无法永久性地存储数据(属于易失性存储器),它的主要工作是暂时存储当前 CPU 正在处理的指令以及 CPU 将要使用的数据或者指令。
在 CPU 处理数据的过程中,寄存器扮演着非常重要的角色。原因很简单,无论什么类型的数据,都必须经由寄存器才能得到 CPU 的处理。因此,CPU 内部拥有寄存器的数量以及各寄存器存储容量的大小,一定程序上会直接影响 CPU 的运行效率。
寄存器的类别
CPU 的内部往往包含多个寄存器,根据不同的任务分工,可以将它们细分为多个类别,表 1 罗列了常见的一些寄存器以及它们各自的用途。
寄存器 | 用 途 |
---|---|
数据寄存器(用 DR 表示) | 一种容量为 16 位(2个字节)的寄存器,用于临时存储 CPU 正在处理或者即将要处理的数据,这些数据可能是其它存储器传输过来的,也可能是由输入设备接收来的。 |
程序计数器(用 PC 表示) | 用来保存下一条将要执行的指令的存储地址,以便执行完当前指令后继续执行下一条指令。因此该寄存器的功能是梳理要执行程序的执行流程,确保所有执行指令有条不紊地执行。 |
指令寄存器(用 IR 表示) | 一种容量为 16 位(2 个字节)的寄存器,它用于保存当前 CPU 正在执行的一条指令。当 CPU 执行新的指令时,会先把该指令从主存储器移至指令寄存器,CPU 的控制单元会从 IR 接收新指令,并将其转化为机器指令后供 CPU 执行。 |
累加寄存器(用 AC 表示) | 一种容量为 16 位(2 个字节)的寄存器,用于暂时存储运算器处理后的结果信息。该寄存器的使用频度非常高。 |
地址寄存器(用 AR 表示) | 容量为 12 位的寄存器,其功能是保存当前 CPU 正在访问的存储地址。 |
I/O 地址寄存器 | 保存当前 CPU 所要访问的 I/O 设备的地址。 |
I/O 缓冲寄存器 | 用于在 I/O 设备和 CPU 之间交换数据。 |
除表 1 罗列的这些寄存器外,CPU 内部还包含有很多其他用途的寄存器,这里不再一一介绍。