精华内容
下载资源
问答
  • 什么是寄存器

    2017-04-08 15:41:00
    我们看到的 STM32 芯片已经已经封装好的成品,主要内核片上外设组成。若与电脑类比,内核与外设就如同电脑上的 CPU 与主板、内存、显卡、硬盘的关系。STM32F429 采用的 Cortex-M4 内核,内核即 CPU, ARM ...

    我们看到的 STM32 芯片已经是已经封装好的成品,主要由内核和片上外设组成。若与
    电脑类比,内核与外设就如同电脑上的 CPU 与主板、内存、显卡、硬盘的关系。
    STM32F429 采用的是 Cortex-M4 内核,内核即 CPU,由 ARM 公司设计。 ARM 公司
    并不生产芯片,而是出售其芯片技术授权。芯片生产厂商(SOC)STTIFreescale,负
    责在内核之外设计部件并生产整个芯片,这些内核之外的部件被称为核外外设或片上外设。
    GPIOUSART(串口)、 I2CSPI 等都叫做片上外设。 

     

    存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址

    的过程就称为存储器映射。 如果给存储器再分配一个地址就叫存储器重映
    射。

     

    片上外设区分为四条总线,根据外设速度的不同,不同总线挂载着不同的外设, APB
    挂载低速外设, AHB 挂载高速外设。相应总线的最低地址我们称为该总线的基地址,总线
    基地址也是挂载在该总线上的首个外设的地址。其中 APB1 总线的地址最低,片上外设从
    这里开始,也叫外设基地址。

     

    我们知道,存储器本身没有地址,给存储器分配地址的过程叫存储器映射,那什么叫
    寄存器映射?寄存器到底是什么?
    在存储器 Block2 这块区域,设计的是片上外设,它们以四个字节为一个单元,共
    32bit,每一个单元对应不同的功能,当我们控制这些单元时就可以驱动外设工作。我们可
    以找到每个单元的起始地址,然后通过 C 语言指针的操作方式来访问这些单元,如果每次
    都是通过这种地址的方式来访问,不仅不好记忆还容易出错,这时我们可以根据每个单元
    功能的不同,以功能为名给这个内存单元取一个别名,这个别名就是我们经常说的寄存器,
    这个给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射。

     

    STM32F4xx 参考手册》 很有参考价值,我们可以在上面找到对应寄存器的配置方式的偏移量。

     

    用自己的话总结就是:芯片厂商在设计芯片的时候,硬件确定了一片内存区域,有地址编号,我们通过这个地址,配置不同的值可以得到不同的功能,但是记忆内存地址显然不现实,所以我们人为地为各个内存区域取了一个别名,这个别名叫寄存器,只要你愿意,你可以取和ST官方不同的名字,但是最好不要这样。通过别名,也就是寄存器,我们通常说的配置寄存器,其实就是在对应地址上写入不同的值达到不同的效果。在这个取别名的过程中,需要用到指针和结构体的知识,对地址进行访问需要指针操作,而地址偏移我们可以用结构体,因为结构体中的内存是连续分配的,这正好用在这种地址偏移中。

    但是,要注意,偏移并不是随便来的,很多人没有注意这个问题,这在之后的C语言随笔中将会提出,现在需要记住的是,MDK5.20,默认偏移是4个字节,这个默认偏移是有很大讲究的!!!

    展开全文
  • 什么是寄存器寄存器集成电路中非常重要的一种存储单元,通常触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软...

    什么是寄存器

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

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

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

    展开全文
  • 寄存器的概念

    2018-10-19 11:27:00
    寄存器是什么: 寄存器,是集成电路中非常重要的一种存储单元,通常触发器组成。 +++++++++++++++++++++++++++++++++++++++++++++++++++ 寄存器的分类: 寄存器可分为电路内部使用的寄存器充当内外部接口的...

    寄存器是什么:

    寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成。

    +++++++++++++++++++++++++++++++++++++++++++++++++++

    寄存器的分类:

    寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。

    内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。

    接口寄存器可以同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。

    在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。

    寄存器内存阶层中的最顶端,也是系统获得操作资料的最快速途径。

    +++++++++++++++++++++++++++++++++++++++++++++++++++

    寄存器的工作原理:

    寄存器的功能十分重要,CPU对存储器中的数据进行处理时,往往先把数据取到内部寄存器中,而后再作处理。

    外部寄存器是计算机中其它一些部件上用于暂存数据的寄存器,它与CPU之间通过“端口”交换数据,外部寄存器具有寄存器和内存储器双重特点。

    有些时候我们常把外部寄存器就称为“端口”,这种说法不太严格,但经常这样说。

    外部寄存器虽然也用于存放数据,但是它保存的数据具有特殊的用途。

    某些寄存器中各个位的0、1状态反映了外部设备的工作状态或方式;还有一些寄存器中的各个位可对外部设备进行控制;

    也有一些端口作为CPU同外部设备交换数据的通路。

    所以说,端口是CPU和外设间的联系桥梁。CPU对端口的访问也是依据端口的“编号”(地址),这一点又和访问存储器一样。

    不过考虑到机器所联接的外设数量并不多,所以在设计机器的时候仅安排了1024个端口地址,端口地址范围为0--3FFH。

    +++++++++++++++++++++++++++++++++++++++++++++++++++

    寄存器用途:

    1.可将寄存器内的数据执行算术及逻辑运算。
    2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。
    3.可以用来读写数据到电脑的周边设备。

    +++++++++++++++++++++++++++++++++++++++++++++++++++

    寄存器与内存区别:

    寄存器是CPU里的东西,内存是挂在CPU外面的数据总线上的。

    访问内存时要在CPU的寄存器填上地址,再执行相应的汇编指令,

    这时CPU会在数据总线上生成读取或写入内存数据的时钟信号,

    最终内存的内容会被CPU寄存器的内容更新(写入)或被读入CPU的寄存器(读取)

    不只是PC上的CPU,所有的嵌入式CPU,单片机都一个样。

    +++++++++++++++++++++++++++++++++++++++++++++++++++

    拓展一下存储器的概念:

    在计算机的组成结构中,有一个很重要的部分,就是存储器。

    存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。

    存储器的种类很多,按其用途可分为主存储器辅助存储器,主存储器又称内存储器(简称内存)。

    +++++++++++++++++++++++++++++++++++++++++++++++++++

    参考链接:

    百度百科—寄存器:https://baike.baidu.com/item/%E5%AF%84%E5%AD%98%E5%99%A8/187682?fr=aladdin

    寄存器:https://blog.csdn.net/s297165331/article/details/80017951

     

    转载于:https://www.cnblogs.com/grooovvve/p/9815449.html

    展开全文
  • 什么是寄存器 寄存器集成电路中非常重要的一种存储单元,通常触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软件访问,只是为...
  • 第一部分 寄存器

    2021-03-02 22:36:52
    首先,认识寄存器,它是CPU的组成部分。一个CPU是由运算器、寄存器、... 肯定它的作用有关,寄存器是用来存储信息。重要的是,它是程序员可以用指令读写的部件,方式呢就是通过改变各种寄存器的内容来控制CPU。 ...
       首先,认识寄存器,它是CPU的组成部分。一个CPU是由**运算器、寄存器、控制器、内部总线**组成。 
       那么,为什么学汇编语言要熟悉寄存器呢?
       肯定和它的作用有关,寄存器是用来存储信息。重要的是,**它是程序员可以用指令读写的部件**,方式呢就是通过改变各种寄存器的内容来控制CPU。
       寄存器作为一种工具,肯定也有它的种类。在8086CPU中,有14个寄存器。
       最常用的,存储一般性数据的是AX、BX、CX、DX这四种通用寄存器。同时8086CPU的寄存器是16位的,可以存储两个字节。
       那么,这些可移植的数据又是如何存储在寄存器里呢?又是以怎样的形式来控制CPU呢?
       16位寄存器可以看成两个8位寄存器,从右往左(0~7)是底8位,例如:AL(low);从左往右(15~8)是高8位,例如:AH(height).存储数时,就是把十进制转化成二进制,关于0和1的一串数填到寄存器上。
       **在这里需要掌握的是看到寄存器存储的二进制,会知道它所表示的数值**用到的知识就是二进制转化成十进制、二进制转化成十六进制。
       数据不仅包括数值还有字,**关于字在寄存器的存储有哪些规律和要求呢?**
       1、1个字由2个字节组成;一个字节由8个bit组成,然后存在8位的寄存器里。
       2、这两个字节呢是由高位字节和低位字节组成,对应16位寄存器的高8位寄存器和低8位寄存器。
       **关于16位寄存器的存储,我的理解是,在8086CPU里的寄存器都是16位的,它比之前的CPU进步在它可以一次处理两个字节,也就是16位。但是,它在理解的时候可以看成是两个简单的8位寄存器,只不过它分为高位和低位。一个数据的表达可以直接用二进制的16位直接表达,也可以用两个单独的八位转化的十进制或者十六进制来表达。在存储时就是对于不同的寄存器,例如:AX寄存器包括AH存储高8位,AL寄存器包括低8位。**
       在区分二进制和十六进制时,在二进制后加B,在十六进制后加H。能够对十六进制和十进制和二进制相互转化。
       **在这一节,就是要认识寄存器是哪来的?来自CPU。干什么的?存储信息。为什么要学它?它可以被程序员用指令读写从而控制CPU。它是如何存储的,有什么要求和规律。引入二进制,掌握它在16位寄存器的存储方式,也会用十六进制清晰的表示数据。**
    
    展开全文
  • 寄存器是由具有存储功能的触发器组合起来构成的,是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据运算结果。寄存器的功能也由于寄存器的种类不同而有所差异。 按照功能的不同,可将寄存器...
  • MCU是什么——结构与组成

    千次阅读 2016-09-01 23:35:41
    MCU内部的核心部件,运算部件控制部件两大部分组成。前者能完成数据的算术逻辑运算、位变量处理数据传送操作,后者按一定时序协调工作,分析执行指令的部件。  Ⅱ:存储器,包括ROMRAM。ROM程序...
  • 而一个进程又是由多个线程所组成的什么是线程? 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的, 即不同的线程可以执行同样的函数。 什么是多线程? 多线程...
  • 计算机内部是由IC(Intergrated circuit,集成电路,其由很多晶体管组成)这种电子部件构成的。CPU内存就是IC的一种。IC的一个引脚只能表示两个状态,因此计算机的信息只能用二进制来处理。 CPU是什么 从功能来看...
  • CPU 是什么

    千次阅读 2020-02-04 18:49:28
    文章目录基础定义寄存器详解条件分支循环...CPU 组成用来表示计算机内部元件功能的术语,包含寄存器、控制器、运算器时钟四个部分,各部分之间电流信号相互连通 寄存器:用来暂存指令、数据等处理对象 控...
  • 什么第三章还是寄存器? 很明显这一章上一章并不相同,因为后面多了四个字。 很显然上一章,还有一些东西还没有讲完。 所以我们再来看一看第三章讲了些啥。 字单元:即存放一个字型数据(word,16位)...
  • PLC软元件软继电器详解 ...软元件plc内部具有一定功能的器件,这些器件电子电路和寄存器及存储器单元等组成。 软继电器,简称继电器。软元件与PLC的监控程序、用户的应用程序合作,会产生或模拟出不同的功...
  • 一个GPU多个SM组成(当然还有其他部分),一个SM包含有多个SP(以及还有寄存器资源,shared memory资源,L1cache,scheduler,SPU,LD/ST单元等等),1.x硬件,一个SM包含8个SP,2.032个,2.148个,3.03.5...
  • 程序指令数据组成。 cpu能直接识别执行的只有机器语言(01) 硬盘磁盘等媒介上保存的程序被复制到内存后才能运行 CPU的内部结构解析 程序运行流程图: CPU四个部分构成:控制器、运算器、时钟、...
  • 文章目录本章我们探讨寄存器函数调用一、寄存器是什么?二、决定程序流程的程序计数器三、条件语句循环总结 一、寄存器是什么? 对于CPU的四个组成部分,我们只需要深入了解寄存器就可以了,其余的只需要了解...
  • 本文主要用通俗的语言谈谈CPU中...我们知道,程序实际上是由一系列指令组成的,我们必须按照顺序来执行指令,不能随意执行。所以,规定好指令的执行顺序是CPU的首要功能。 PC寄存器是CPU内部进行指令控制的一个寄存...
  • 基础知识点 1.CPUGPU都可以从逻辑上划分为3个模块:控制模块、运算模块、储存模块。...运算模块的所有动作都是由控制单元的控制信号来进行的,它是个执行部件。 4.储存模块是cpu中暂时存放数据的地方,里面
  • 什么是指令: 程序代码的本质就是一条一条的指令,我们需要通过编码的方式让CPU知道我们需要它干什么,最后译码器翻译成一条条的机器指令。机器指令主要有两部分组成:操作码、地址码。地址码直接给出操作数...
  • 一些对象的值组成,这些对象包括通用目的寄存器、浮点寄存器、程序计数器、用户栈、状态寄存器、内核栈各种内核数据结构,比如描绘地址空间的页表、包含有关当前进程信息的进程表,以及包含进程已打开文件的...
  • 一个标准的线程线程ID,当前指令指针(PC),寄存器集合堆栈组成。 另外,线程进程中的一个实体,被系统独立调度分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但...
  • 在这几个问题中,我明确地知道了程序是由指令数据组成的,CPU的功能是对程序进行解释运行。 还有就是CPU内部是由运算器、控制器、寄存器和时钟构成的,CPU是寄存器的集合体。机器语言是CPU能够直接处理的语言。...
  • 什么是线程?

    2018-10-14 07:24:00
    线程:能够完成多个任务,...一个标准的线程线程ID,当前指令指针(PC),寄存器集合堆栈组成。另外,线程进程中的一个实体,被系统独立调度分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中...
  • 什么PLC可以取代传统的继电器+接触...例如,输入继电器(X)是由输入电路输入映像寄存器组成的,输出继电器(Y)是由输出电路输出映像寄存器组成,定时器(T)、计数器 (C)、辅助继电器(M)、状态继电器(S).
  • 上下文是由程序正确运行所需的状态组成。这个状态包括存放在内存中的程序的代码数据,它的栈、通用目的寄存器的内容、程序计数器、环境变量以及打开文件描述符的集合。——选自《深入理解计算机系统(第三版)》 ...
  • 什么是线程???

    2017-12-14 08:19:41
    一个标准的线程线程ID,当前指令指针(PC),寄存器集合堆栈组成。另外,线程进程中的一个实体,被系统独立调度分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与...
  • 什么是线程

    2010-08-20 11:09:28
    线程(thread, 台湾称 执行绪)"进程"中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。...一个标准的线程线程ID,当前指令指针(PC),寄存器集合堆栈组成。另...
  • 3:CPU从内存的哪个地址取出指令,是由CPU中的PC寄存器(程序计数器)中的值决定的,这个值会不断的进行+1操作,或者由跳转指令指出其值是多少,最后根据值去内存的相应区域取出指令或数据。 补充知识: 1 :BIOS :BIOS是...
  • 运算器:又称为算术逻辑单元,能够完成各种算术运算逻辑运算的装置。...控制器:控制器整个电脑的指挥系统,一般指令寄存器、指令译码器、时基本姐奎序电路控制电路组成,它的基本功能...
  • 计算机组成原理课后答案第六章 ...存储器的主要功能是什么什么要把存储系统分成若干个不同层次 主要有 哪些层次 解存储器的主要功能是用来保存程序数据存储系统是由几个容量速度价存储系 统结构各不相同的存储

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 643
精华内容 257
关键字:

寄存器是由什么和什么组成的