寄存器(Register),是中央处理器内的其中组成部分。寄存器是有限存贮容量的高速存贮部件,,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器。
在计算机体系结构里,处理器中的寄存器是少量且速度快的电脑存储器,借由提供快速共同地访问数值来加速计算机程序的运行:典型地说就是在已知时间点所作的之计算中间的数值。
寄存器是存储器层次结构中的最顶端,也是系统操作数据的最快速途径。寄存器通常都是以他们可以保存的比特数量来估量,举例来说,一个8位寄存器或32位寄存器。寄存器现在都以寄存器数组的方式来实现,但是他们也可能使用单独的触发器、高速的核心存储器、薄膜存储器以及在数种机器上的其他方式来实现出来。
这个名词通常都用来意指由一个指令之输出或输入可以直接索引到的寄存器组群。更适当的是称他们为“架构寄存器”。例如,x86指令集定义八个32位寄存器的集合,但一个实现x86指令集的CPU可以包含比八个更多的寄存器。
寄存器的种类
-
通用目的寄存器
(GPRs)- 可以保存数据或地址两者,也就是说他们是结合 数据/地址 寄存器的功用。 -
浮点寄存器
(FPRs)- 用来存储浮点数字。 -
常量寄存器
用来持有只读的数值(例如0、1、圆周率等等)。由于“其中的值不可更改”这一特殊性质,这些寄存器未必会有实体的硬件电路相对应,例如将从零常数寄存器读的操作实现为接通目标寄存器的下拉电阻。
一般而言,即使真正在硬件中放置常数寄存器也未必会是出于体系结构理论上的考虑,而很可能是由硬件描述语言为了简化操作而自动生成的电路。
- 向量寄存器
用来存储由向量处理器运行SIMD指令所得到的数据。
存储现在正在被运行的指令
-
变址寄存器
是在程序运行时用来更改操作数地址之用。
- 在某些架构下,模式指示寄存器(也称为“机器指示寄存器”)存储和设置跟处理器自己有关的数据。由于他们的意图目的是附加到特定处理器的设计,因此他们并不被预期会成微处理器世代之间保留的标准。
网友评论