0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

寄存器、累加器、暂存器傻傻分不清?

电子设计 来源:电子设计 作者:电子设计 2020-10-30 10:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

什么是寄存器

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

内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。而接口寄存器可以同时被内部电路和外部电路或软件访问,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 外部的存储器,例如,RAMROM

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

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5589

    浏览量

    129057
  • 暂存器
    +关注

    关注

    0

    文章

    12

    浏览量

    8200
  • 累加器
    +关注

    关注

    0

    文章

    50

    浏览量

    9735
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【NCS随笔】nRF54L15使用UICR寄存器保存数据

    nRF54L15使用UICR寄存器保存数据 本文章主要是讲解如何使用nRF54L15的UICR寄存器保存一些基础数据 一、UICR寄存器的说明 UICR(用户信息配置寄存器)**是非易
    的头像 发表于 11-27 17:09 1107次阅读

    嵌入式系统必懂的 20 个寄存器

    嵌入式开发看起来很复杂,但很多操作其实都离不开寄存器寄存器就是MCU内部的存储单元,它们控制着处理和外设的行为。熟悉这些寄存器,你就能更精确地操作硬件,提高开发效率,减少调试时间。
    的头像 发表于 11-14 10:28 646次阅读
    嵌入式系统必懂的 20 个<b class='flag-5'>寄存器</b>

    ‌SN74HCT595 8位移位寄存器技术解析与应用指南

    Texas Instruments SN74HCT595/SN74HCT595-Q1 8位移位寄存器包含8位串进并出移位寄存器,向8位D类存储寄存器馈送信号。存储寄存器具有并行 3 状
    的头像 发表于 09-19 14:31 575次阅读
    ‌SN74HCT595 8位移位<b class='flag-5'>寄存器</b>技术解析与应用指南

    ‌TPIC6B595 8位功率移位寄存器技术文档总结

    TPIC6B595器件是一款单片、高压、中电流功率8位移位寄存器,设计用于需要相对高负载功率的系统。该器件在输出端包含一个内置电压钳位,用于电感瞬态保护。功率驱动应用包括继电器、螺线管和其他中电流
    的头像 发表于 09-09 10:16 735次阅读
    ‌TPIC6B595 8位功率移位<b class='flag-5'>寄存器</b>技术文档总结

    ‌TLC6C5912 12通道移位寄存器LED驱动技术文档总结

    该TLC6C5912是一款单片、中压、低电流功率 12 位移位寄存器 设计用于需要相对中等负载功率的系统,例如 LED。 该器件包含一个 12 位串行输入并行输出移位寄存器,可为 12 位馈电
    的头像 发表于 08-26 14:16 761次阅读
    ‌TLC6C5912 12通道移位<b class='flag-5'>寄存器</b>LED驱动<b class='flag-5'>器</b>技术文档总结

    使用寄存器点亮LED灯

    学习本章时,配合以上芯片手册中的“19. I/O Ports”章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。本章内容涉及到较多寄存器方面的深入内容,对于初学者而言这些内容丰富也较难理解,但非常有必要细读研究、夯实基础。
    的头像 发表于 05-28 17:37 1039次阅读
    使用<b class='flag-5'>寄存器</b>点亮LED灯

    相位累加器的实现原理

    标题中所提到的DDS,我感觉这两个放一起也可以,因为DDS的核心思想就是使用的相位累加器。那么这玩意儿的作用是啥?简单来说就是在FPGA工作主频之下,可以生成任意频率的周期信号出来。
    的头像 发表于 05-16 13:56 879次阅读
    相位<b class='flag-5'>累加器</b>的实现原理

    别再傻傻分不清!USB和TYPE-C的全面解析

    别再傻傻分不清!USB和TYPE-C的全面解析
    的头像 发表于 04-26 15:51 1.1w次阅读

    74HC594-Q100;74HCT594-Q100带输出寄存器的8位移位寄存器规格书

    电子发烧友网站提供《74HC594-Q100;74HCT594-Q100带输出寄存器的8位移位寄存器规格书.pdf》资料免费下载
    发表于 02-09 15:19 0次下载
    74HC594-Q100;74HCT594-Q100带输出<b class='flag-5'>寄存器</b>的8位移位<b class='flag-5'>寄存器</b>规格书

    STC15系列常用寄存器汇总免费下载

      寄存器的功能是存储二进制代码,它是由具有存储功能的触发组合起来构成的。一个触发可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发
    发表于 01-22 17:24 10次下载

    XILINX FPGA CLB单元之移位寄存器

    一、移位寄存器 SLICEM函数发生也可以配置为32位移位寄存器,而无需使用slice中可用的触发。以这种方式使用,每个LUT可以将串行数据延迟1到32个时钟周期。 移入D(DI1
    的头像 发表于 01-16 17:45 1452次阅读
    XILINX FPGA CLB单元之移位<b class='flag-5'>寄存器</b>

    使用SPI讯号读取ADS1293的暂存器,回传值很奇怪,为什么?

    请问 我是用的晶片是STM32F429,我要使用SPI讯号读取ADS1293的暂存器,但是回传值很奇怪,在Logic Analyzer上看到的,ADS129似乎是会有一些反应但是时间都想当短,跟
    发表于 01-10 09:17

    使用SPI讯号读取ADS1293的暂存器,回传值都是0,为什么?

    请问 我是用的晶片是STM32F429,我要使用SPI讯号读取ADS1293的暂存器,但是回传值很奇怪,在Logic Analyzer上看到的,ADS129似乎是会有一些反应但是时间都想当短,跟
    发表于 01-07 07:04

    TPS80032寄存器手册

    电子发烧友网站提供《TPS80032寄存器手册.pdf》资料免费下载
    发表于 12-21 09:08 0次下载
    TPS80032<b class='flag-5'>寄存器</b>手册

    ADS1248读写暂存器时,先写入暂存器,想再读出来检查是否写入正确,却都只能读到0,为什么?

    ADS1248读写暂存器时,先写入暂存器,想再读出来检查是否写入正确,却都只能读到0 以下是使用逻辑分析仪分析的结果 指令为先写入0x16(SDATA command) -&amp
    发表于 12-20 14:27