|
楼主 |
发表于 2008-2-16
|
什么是暂存器
暂存器是用来暂存由数据总线或通用寄存的东西。它是中央处理器内的其中组成部份。 暂存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、 数据和位址 。
暂存器结构组成
在中央处理器的控制部件中,包含的暂存器有指令暂存器 (IR)和程式计数器 (PC)。在中央处理器的算术及逻辑部件中,包含的暂存器有累加器 (ACC)。
在电脑架构里,处理器中的暂存器是少量且速度快的电脑记忆体 ,借由提供快速共同地存取数值来加速电脑程式的执行——典型地说就是在已知时间点所作的之计算中间的数值。
暂存器是记忆体阶层中的最顶端,也是系统操作资料的最快速途径。 暂存器通常都是以他们可以保存的位元数量来估量的。暂存器现在都以暂存器阵列的方式来实作,但是他们也可能使用单独的正反器 、高速的核心记忆体 、 薄膜记忆体以及在数种机器上的其他方式来实作出来。
这个名词通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组更适当的是称他们为“架构暂存器”。 例如, x86指令及定义八个32位元暂存器的集合,但一个实作x86 指令集的CPU可以包含比八个更多的暂存器。
暂存器的分类
资料暂存器——用来储存整数数字(参考以下的浮点暂存器)。在某些简单/旧的CPU,特别的资料暂存器是累加器 ,作为数学计算之用。
位址暂存器——持有记忆体位址,以及用来存取记忆体 。在某些简单/旧的CPU里,特别的位址暂存器是索引暂存器 (可能出现一个或多个)。
通用目的暂存器 ( GPR s)——可以保存资料或位址两者,也就是说他们是结合资料/位址暂存器的功用。
浮点暂存器 ( FPR s)——用来储存浮点数字。
常数暂存器——用来持有唯读的数值(例如0、1、圆周率等等)。
向量暂存器——用来储存由向量处理器执行SIMD指令所得到的资料。
特殊目的暂存器——储存CPU内部的资料,像是程式计数器 (或称为指令指标),堆叠暂存器、以及状态暂存器 (或称微处理器状态字组)。
指令暂存器 ( 英语 : instrucTIon register )——储存现在正在被执行的指令
索引暂存器 ( 英语 : Index_register )——是在程式执行实用来更改运算元位址之用。
累加器是寄存器吗
累加器的符号是A,顾名思义,其意思是加,但是其除了能做累加器外,(A)还能做寄存器。
对于累加器,有一些特别的指令是专门针对累加器的,比如在8086中的RL,以及mul等指令,而在51单片机中RL对应的寄存器只能是A,总之A是个很特殊的寄存器,除了能做寄存器还能作累加器。
寄存器、累加器、暂存器有什么区别
1、寄存器是CPU内部存储单元,即寄存器是CPU的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址等。
2、在CPU内部,累加器 (accumulator) 是一种寄存器,所有数学运算必须通过它进行传递和运算。
3、提到暂存器要从寄存器与存储器来讲:寄存器是CPU里的存储单元,与CPU离得近,所以CPU在运算时通常都会用寄存器当中转站。存储器是在CPU外部的存储器,例如,RAM,ROM。
暂存器顾名思义,就是暂时存放一定数量数据寄存器或存储器。例如,目标寄存器和结果寄存器都已有数据,需要第三个数据输入;编程时某一逻辑信号经常多次使用,中间结果需要暂时记忆。 |
|