一、什么是寄存器?
寄存器是集成电路中非常重要的一种存储单元,通常由触发器组成。在集成电路设计中,寄存器分为两类:电路内部使用的寄存器、充当内外部接口的寄存器。
其中,内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求;而接口寄存器则能同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。
寄存器的主要用途:
◆ 可将寄存器内的数据执行算术及逻辑运算。
◆ 存于寄存器内的地址可用来指向内存的某个位置,即寻址。
◆ 可用来读写数据到电脑的周边设备。
二、什么是累加器?
在中央处理器中,累加器是一种寄存器,用来储存计算产生的中间结果。
如果没有像累加器这样的寄存器,那么在每次计算(如加法、乘法、移位等)后,就必须要把结果写回到内存上,然后再读回来。然而,存取主内存的速度是比从数学逻辑单元到有直接路径的累加器存取更慢。
累加器的主要用途:
◆ 在运算器中,累加器是专门存放算术或逻辑运算的一个操作数和运算结果的寄存器,可以进行加法、减法、读出、移位、循环移位和求补等操作,是运算器的主要部分。
◆ 在汇编语言程序中,累加器AX是一个非常重要的寄存器,但在程序中用来保存临时数据时,最后将其转存到其它寄存器或内存单元中,以防止在其它指令的执行过程中,使其中的数据被修改,从而得到不正确的结果,为程序的调试带来不必要的麻烦。
三、什么是暂存器?
暂存器是用来暂存由数据总线或通用寄存的东西,是中央处理器内的其中组成部分。
暂存器是有限存贮容量的高速存贮部件,可以用来暂存指令、数据和位址 。
1、暂存器的结构组成
◆ 在中央处理器的控制部件中,包含的暂存器有指令暂存器(IR)和程式计数器(PC);在中央处理器的算术及逻辑部件中,包含的暂存器有累加器(ACC)。
◆ 在电脑架构里,处理器中的暂存器是少量且速度快的电脑记忆体,借由提供快速共同地存取数值来加速电脑程式的执行。
◆ 暂存器是记忆体阶层中的最顶端,同时也是系统操作资料的最快速途径。 暂存器通常是以它们可以保存的位元数量来估量的。暂存器现在都以暂存器阵列的方式来实作,但也可能使用单独的正反器、高速的核心记忆体、薄膜记忆体,以及在数种机器上的其它方式来实作出来。
◆ 这个名词通常用来意指,由一个指令之输出或输入可以直接索引到的暂存器群组,更适当的是称之为“架构暂存器”。例如,x86指令集定义8个32位元暂存器的集合,但一个实作x86指令集的CPU可以包含比8个更多的暂存器。
2、暂存器的分类
◆ 资料暂存器:用来储存整数数字(参考以下的浮点暂存器)。在某些简单/老旧的CPU,特别的资料暂存器是累加器,作为数学计算之用。
◆ 位址暂存器:持有记忆体位址,以及用来存取记忆体 。在某些简单/老旧的CPU里,特别的位址暂存器是索引暂存器(可能出现一个或多个)。
◆ 通用目的暂存器:可以保存资料或位址两者,也就是说它们是结合资料/位址暂存器的功用。
◆ 浮点暂存器:用来储存浮点数字。
◆ 常数暂存器:用来持有唯读的数值(如0、1、圆周率等)。
◆ 向量暂存器:用来储存由向量处理器执行SIMD指令所得到的资料。
◆ 特殊目的暂存器:储存CPU内部的资料,像是程式计数器(或称为指令指标)、堆叠暂存器,以及状态暂存器(或称微处理器状态字组)。
◆ 指令暂存器:储存现在正在被执行的指令
◆ 索引暂存器:是在程式执行实用来更改运算元位址之用。
四、累加器是寄存器吗?
累加器的符号是A,顾名思义,其意思就是“加”。但是,A除了能做累加器之外,还能做寄存器。具体来说,有一些特别的指令是专门针对累加器的,比如在8086中的RL,以及mul等指令;而在51单片机中,RL对应的寄存器只能是A。总之,A是一个很特殊的寄存器,除了能做寄存器,还能作累加器。
五、寄存器、累加器、暂存器有什么区别?
寄存器:是CPU内部存储单元,即寄存器是CPU的组成部份。寄存器是有限存贮容量的高速存贮部件,可以用来暂存指令、数据和位址等。
累加器:在CPU内部,累加器是一种寄存器,所有数**算必须通过它进行传递和运算。
暂存器:提到暂存器,就要从寄存器与存储器来讲了。寄存器是CPU里的存储单元,与CPU离得近,所以CPU在运算时通常会用寄存器当中转站;而存储器是在CPU外部的存储器,比如RAM、ROM。暂存器顾名思义,就是暂时存放一定数量数据寄存器或存储器。例如,目标寄存器和结果寄存器都已有数据,需要第三个数据输入;编程时某一逻辑信号经常多次使用,中间结果需要暂时记忆。
免责声明:本文系网络转载,版权归原作者所有。如有问题,请联系删帖,谢谢!
共1条
1/1 1 跳转至页
【转】寄存器、累加器、暂存器有啥区别?不妨看看这篇
关键词: 寄存器 累加器 暂存器 区别
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |