寄存器
寄存器(Register)是中央处理机、主存储器和其他数字设备中某些特定用途的存储单元1。
寄存器一般是由多个触发器组成,或由多个触发器连成的集成电路器件构成,每一个触发器存储一位二进制数。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类;在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器;在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC);在中央处理器的算术及逻辑部件中,寄存器有累加器(ACC);其可用来暂存指令、数据和地址2。
基本信息
- 中文名
寄存器
- 外文名
Register
- 主要功能
暂存指令、数据、地址
- 结构组成
触发器
- 定义
有限存贮容量的高速存贮部件
- 主要分类
指令寄存器、标志寄存器、向量寄存器
基本含义
寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。而接口寄存器可以同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。
在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。
寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,
举例来说,一个“8 位元寄存器”或“32位元寄存器”。寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出来。
寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。更适当的是称他们为“架构寄存器”。
例如,x86指令集定义八个32 位元寄存器的集合,但一个实际 x86 指令集的CPU可以包含比八个更多的寄存器。
分类
数据寄存器- 用来储存整数数字(参考以下的浮点寄存器)。在某些简单/旧的CPU,特别的数据寄存器是累加器,作为数学计算之用。
地址寄存器- 持有存储器地址,用来访问存储器。在某些简单/旧的CPU里,特别的地址寄存器是索引寄存器(可能出现一个或多个)。
通用目的寄存器(GPRs) - 可以保存数据或地址两者,也就是说它们是结合数据/地址 寄存器的功用。
浮点寄存器(FPRs) - 用来储存浮点数字。
常数寄存器- 用来持有只读的数值(例如0、1、圆周率等等)。
向量寄存器- 用来储存由向量处理器运行SIMD(Single Instruction, Multiple Data)指令所得到的数据。
特殊目的寄存器- 储存CPU内部的数据,像是程序计数器(或称为指令指针),堆栈寄存器,以及状态寄存器(或称微处理器状态字组)。
指令寄存器(instruction register)- 储存现在正在被运行的指令。
索引寄存器(index register)- 是在程序运行时用来更改运算对象地址之用。