一、寄存器简介
寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。而接口寄存器可以同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。
寄存器特点:
①寄存器位于CPU内部,数量很少,仅十四个
②寄存器所能存储的数据不一定是8bit,有一些寄存器可以存储16bit数据,对于386/486处理器中的一些寄存器则能存储32bit数据
③每个内部寄存器都有一个名字,而没有类似存储器的地址编号。
寄存器分类:
数据寄存器-用来储存整数数字(参考以下的浮点寄存器)。在某些简单/旧的CPU,特别的数据寄存器是累加器,作为数学计算之用。
地址寄存器-持有存储器地址,以及用来访问存储器。在某些简单/旧的CPU里,特别的地址寄存器是索引寄存器(可能出现一个或多个)。
通用目的寄存器(GPRs)-可以保存数据或地址两者,也就是说他们是结合数据/地址寄存器的功用。
浮点寄存器(FPRs)-用来储存浮点数字。
常数寄存器-用来持有只读的数值(例如0、1、圆周率等等)。
向量寄存器-用来储存由向量处理器运行SIMD(SingleInstrucTIon,MulTIpleData)指令所得到的数据。
特殊目的寄存器-储存CPU内部的数据,像是程序计数器(或称为指令指针),堆栈寄存器,以及状态寄存器(或称微处理器状态字组)。
指令寄存器(instrucTIonregister)-储存现在正在被运行的指令。
索引寄存器(indexregister)-是在程序运行实用来更改运算对象地址之用。
在某些架构下,模式指示寄存器(也称为“机器指示寄存器”)储存和设置跟处理器自己有关的数据。由于他们的意图目的是附加到特定处理器的设计,因此他们并不被预期会成微处理器世代之间保留的标准。