我是靠谱客的博主 体贴鸵鸟,最近开发中收集的这篇文章主要介绍寄存器和RAM之间的区别概述,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

寄存器和RAM之间的区别

  • 概述
    • 寄存器
      • CPU上的通用寄存器
      • 外围功能的控制寄存器
    • RAM
      • 可以放入任意数据
      • 可以按顺序保存大量数据
    • 逻辑构成
    • 与C编译器的关系

概述

寄存器是“存储设备”,主要用于存储和检查微型计算机的状态。
这里所说的“状态”也包含运算中的数据。

RAM是Random Access Memory(随机存取存储器)的缩写,所以是可以随时保存任意数据的“存储装置”。不限于微型计算机的状态,可以保存各种各样的数据。

寄存器

寄存器大致分为两种。安装在CPU上的通用寄存器(或累加器)和控制微型计算机外围功能的控制寄存器。

CPU上的通用寄存器

它用于保存和检查CPU的状态。具体来说,是运算中的数据、中断或子例程中程序分支时的返回地址、运算结果为负值、为零时的信息和进位值等。CPU的通用寄存器通过硬件直接连接到CPU,因此它的优点是它比通过内部总线访问数据的RAM更快。

外围功能的控制寄存器

外围功能包括定时器、通用同步/异步传输(USART)、SPI(串行外围接口)通信、A-D转换器和D-A转换器。寄存器用于设置这些外围功能。

基本上,与CPU的通用寄存器不同,它不会存储操作过程中或结果数据,但微型计算机有一个寄存器,用于存储访问数据的CRC计算值。

RAM

RAM的主要特点有以下两个。

可以放入任意数据

要保存的数据没有限制。您还可以临时存储CPU计算过程中的数据。但是,在这种情况下,如上所述,由于通过内部总线,所以访问比CPU的通用寄存器慢。另外,对于Cortex-M4,您也可以加入指令代码并执行它。

可以按顺序保存大量数据

Cortex-M4的通用寄存器只有12个32位寄存器,但在RAM的情况下,它可以存储以千字节为单位的数据。因为数据是按地址顺序排列的,所以你可以创建一个数据表,然后按顺序访问它。通过通信功能将收发数据表化后,可以使用DMA(Direct Memory Access:直接存储器访问)高效地处理大量数据。

逻辑构成

寄存器和RAM的逻辑配置不同。很大的原因是,寄存器需要小容量的高速访问,RAM容量大,不需要像寄存器那样高速访问。寄存器通常由触发器组成。数据与时钟同步捕获。触发器是一种常用的便捷电路,因为存储数据的工作原理简单、易于理解。但是,如果使用触发器来保存RAM这样的大量数据,逻辑规模就会变得巨大,微型计算机的成本就会变高。因此,RAM被称为RAM单元的电路。由于寄存器比RAM更频繁地访问,所以不希望每次产生穿透电流。因此,RAM单元处理大量数据,只用于RAM访问速度不如寄存器快。

与C编译器的关系

C语言的编译器也使用寄存器和RAM。那是在分配变量的时候。本地变量通常分配给寄存器,全局变量分配给RAM。由于局部变量只能在函数中使用,所以当您退出函数时,它会消失。因此,您可以将其作为临时数据分配给寄存器。但是,全局变量可以从函数中拔出,因此分配给任何人都可以随时随地访问的RAM。

最后

以上就是体贴鸵鸟为你收集整理的寄存器和RAM之间的区别概述的全部内容,希望文章能够帮你解决寄存器和RAM之间的区别概述所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部