什么是寄存器

寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。

内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。而接口寄存器可以同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。

寄存器的用途

  • 可将寄存器内的数据执行算术及逻辑运算。

  • 存于寄存器内的地址可用来指向内存的某个位置,即寻址。

  • 可以用来读写数据到电脑的周边设备。

什么是累加器

在中央处理器中,累加器 (accumulator) 是一种寄存器,用来储存计算产生的中间结果。如果没有像累加器这样的寄存器,那么在每次计算 (加法,乘法,移位等等) 后就必须要把结果写回到 内存,也许马上就得读回来。然而存取主存的速度是比从算术逻辑单元到有直接路径的累加器存取更慢。

累加器的作用

  • 在运算器中,累加器是专门存放算术或逻辑运算的一个操作数和运算结果的寄存器。能进行加、减、读出、移位、循环移位和求补等操作。是运算器的主要部分。

  • 在中央处理器CPU中,累加器(accumulator)是一种暂存器,它用来储存计算所产生的中间结果。如果没有像累加器这样的暂存器,那么在每次计算(加法,乘法,移位等等)后就必须要把结果写回到内存,然后再读回来。然而存取主内存的速度是比从数学逻辑单元(ALU)到有直接路径的累加器存取更慢。

  • 在汇编语言程序中,累加器 —— AX是一个非常重要的寄存器,但在程序中用它来保存临时数据时,最后将其转存到其它寄存器或内存单元中,以防止在其它指令的执行过程中使其中的数据被修改,从而得到不正确的结果,为程序的调试带来不必要的麻烦。

  

什么是暂存器

暂存器是用来暂存由数据总线或通用寄存的东西。它是中央处理器内的其中组成部分。 暂存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、 数据和位址 。

 

暂存器结构组成

在中央处理器的控制部件中,包含的暂存器有指令暂存器 (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是个很特殊的寄存器,除了能做寄存器还能作累加器。

  

寄存器、累加器、暂存器有什么区别?

  • 寄存器是CPU内部存储单元,即寄存器是CPU的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址等。

  • 在CPU内部,累加器 (accumulator) 是一种寄存器,所有数学运算必须通过它进行传递和运算。

  • 提到暂存器要从寄存器与存储器来讲:寄存器是CPU里的存储单元,与CPU离得近,所以CPU在运算时通常都会用寄存器当中转站。存储器是在CPU外部的存储器,例如,RAM、ROM。

  

暂存器顾名思义,就是暂时存放一定数量数据寄存器或存储器。例如,目标寄存器和结果寄存器都已有数据,需要第三个数据输入;编程时某一逻辑信号经常多次使用,中间结果需要暂时记忆。

1.人工智能:嵌入式技术的机遇与挑战

2.厉害了!用6个芯片打造复古经典计算机

3.国产操作系统这盘棋不简单

4.做嵌入式必须知道的国产CPU之路,里面有良机!

5.Linux是否能在8位MCU上运行?

6.为了适合你的项目,rt-thread有时候需要裁剪!

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

累加器是寄存器吗?寄存器、累加器、暂存器有什么区别?相关推荐

  1. 嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器B、累加器A和程序状态字PSW)

    嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器.累加器和程序状态字) 累加器A 寄存器B 程序状态字PSW 累加器A 累加器A是ACC(Accumulator)的缩写,累加器A是一个具有特 ...

  2. 累加器A用c语言,累加器A的主要作用是什么_一文解析累加器a和acc的区别

    描述 累加器简介 在中央处理器中,累加器(accumulator) 是一种寄存器,用来储存计算产生的中间结果.如果没有像累加器这样的寄存器,那么在每次计算 (加法,乘法,移位等等) 后就必须要把结果写 ...

  3. 计算机累加器有加法器功能吗,累加器-累加器ACC的作用

    ACC累加器 B用于辅助累加器做某些运算的寄存器 PSW程序状态字其中最高位是进/借位标志C:PSW.6是辅助进位标志AC,用于标识加减运算中低四位向高四位的进位:PSW.4和PSW.3是寄存器组选择 ...

  4. X64汇编语言寄存器结构及其与X86架构编程区别

    目录 1.  关于X64架构 2.  X64架构的寄存器结构 2.1  通用目的寄存器 2.2 浮点数寄存器 2.3 指令指针寄存器 2.4 段寄存器 2.5 标识寄存器 2.6 控制寄存器 2.6. ...

  5. 【Android 逆向】代码调试器开发 ( ptrace 函数 | 读寄存器 | 写寄存器 )

    文章目录 一.读寄存器 二.写寄存器 一.读寄存器 调用 ptrace(PTRACE_GETREGS, m_nPid, NULL, regs) 读取进程运行时的寄存器 ; 读取寄存器时 , 进程必须处 ...

  6. 反汇编最基础知识(段寄存器和寄存器的说明)

    段寄存器 CS(Code Segment):代码段寄存器 DS(Data Segment):数据段寄存器 SS(Stack Segment):堆栈段寄存器 ES(Extra Segment):附加段寄 ...

  7. 时序分析寄存器到寄存器

    对于FPGA的时序分析主要包括管脚和内部寄存器的时序分析,目前这边刚看了一点时序分析的资料,总结在这里,希望能够对大家也带来帮助. 时序分析目前主要针对同步时序逻辑的静态时序分析(STA),主要涉及的 ...

  8. 【嵌入式开发】ARM 关闭中断 ( CPRS 中断控制位 | 中断使能寄存器 | 中断屏蔽寄存器 | 关闭中断 | 汇编代码编写 )

    一. 中断控制 ( 基于 S3C6410 开发板 ) 1. 关闭中断的两个步骤 (1) 关闭中断步骤 2. CPRS 寄存器中的中断控制位 (1) CPRS 寄存器简介 (2) CPRS 寄存器 中断 ...

  9. 计算机累加器有加法器功能吗,累加器是什么_累加器的作用及原理介绍

    累加器的概念 在中央处理器中,累加器(accumulator)是一种寄存器,用来储存计算产生的中间结果.如果没有像累加器这样的寄存器,那么在每次计算(加法,乘法,移位等等)后就必须要把结果写回到内存, ...

最新文章

  1. python sys.path.append(),sys.path.insert()用法
  2. 如何让fragment每次都重新加载_每次都能正确判罚丨网球是如何电子化的
  3. 【算法】快速选择算法 ( 数组中找第 K 大元素 )
  4. parkAndCheckInterrupt
  5. ref 和out 关键字
  6. python ftp 上传文档出现 553 Could not create file
  7. python连接mysql的一些基础知识+安装Navicat可视化数据库+flask_sqlalchemy写数据库
  8. 【Python】Python库之文本处理
  9. 自注意力机制_与SENet互补提升,华为诺亚提出自注意力新机制:Weight ExcitationECCV2020...
  10. 二维数组的最大联通子数组和
  11. CSS 三角型的实现原理
  12. 单身暴击!程序员用 Python 给女朋友写了个翻译软件
  13. 大学生就业新神器 网络电话“通”职场
  14. 南阳理工acm 205求余数
  15. 图形学基础--深入浅出的微积分书籍 《普林斯顿微积分读本》和《托马斯微积分》
  16. 分享一些学习资料-大量PDF电子书
  17. 利用python暴力破解rar压缩文件密码
  18. Ubuntu解压安装包及make命令相关操作(针对make: *** [btest] Error 127以及make: *** [btest] Error 1)
  19. linux系统中查看防火墙开放端口号命令
  20. 如何简单粗暴的干掉2345主页

热门文章

  1. P3200 [HNOI2009]有趣的数列 (巧妙转换,卡特兰数,分解质因数取模运算)
  2. Windos下用setx.exe命令行模式下永久设置系统环境变量(转)
  3. 基于JSP实现的课程资源管理系统网站
  4. blogbus博客搬家之图片迁移
  5. 2020中国彩礼地图:哪里娶媳妇最贵?
  6. Synaptic Ubuntu软件管理工具
  7. 博睿孟曦东:致力于提升企业关键业务可靠性与稳定性使其IT质量可视化
  8. 好的大创计算机类课题,2017年度大创项目教师科研课题汇总表介绍.PDF
  9. “鸡”不可失,驱动人生助力开启“绝地求生”
  10. 汇编语言使用宏,实现两个字节压缩BCD数相加