寄存器,存储器,RAM,ROM有什么区别?

发布者:喜悦的38号最新更新时间:2023-03-14 来源: zhihu关键字:寄存器  存储器  RAM  ROM 手机看文章 扫描二维码
随时随地手机看文章

这些都是比较抽象的专业名词了,特别是寄存器,很多人在学单片机的时候对这个一脸懵逼,寄存器到底是个啥玩意?

其实不用很深刻的理解它到底是什么,你只需要知道通过配置寄存器的值,就可以把外设用起来。

我做单片机开发的这10几年,接触寄存器非常多,比如单片机有寄存器,很多外围芯片也有寄存器(EEPROM、FLASH、时钟芯片等),只要你掌握其中一个,其它的都可以触类旁通。

就像密码锁一样,设置正确的密码,锁就会打开,寄存器也是一样,设置正确的值,芯片资源就能为你所用。

下面更加全面地介绍下它们之间的区别:

一、寄存器

在单片机应用上,寄存器(register)通常用于存储程序的运行时状态,例如程序计数器(Program Counter,PC)用于存储下一条将要执行的指令的内存地址。

它还可以用于存储一些临时变量、函数参数、返回值等

那这样做有什么优势呢?

举个例子:

假设你正在做一道复杂的数学题,中间有些计算结果需要暂时存起来。

你可以将这些结果写在纸上,但每次需要使用时,都要去找到对应的纸条,这可能会很耗时。

而如果你将这些中间结果直接写在自己手上,你是不是可以更快找到它们?这样你就可以更快地完成整个数学题。

在计算机中,寄存器就像是计算机的“手”,用于暂存中间结果,让程序更快地运行

那人只有两只手,不能记太多数据,寄存器也是一样的,是稀缺资源,容量也很小,且它的数据在断电后就消失了。

寄存器、存储器、RAM和ROM都是计算机系统中常见的术语,它们在计算机的存储系统中都扮演着不同的角色,下面将对它们进行通俗易懂的解释。

二、存储器

我们先来看一张图:

其实RAM和ROM都是属于存储器,RAM代表随机存储器,ROM代表只读存储器

1.RAM

随机存储器(RAM)是计算机存储器的一种,它的特点是数据可以随机存取。

读取和写入速度非常快,但需要不间断的电源供应。

RAM可以被CPU读取和写入数据,且存储器中的数据在断电后会丢失

RAM还分为静态存储(SRAM)和动态存储(DRAM)两种,SRAM比DRAM速度更快,所以价格也更贵。

在单片机应用里面,一般RAM用来存变量、函数参数、返回值等数据,掉电后数据会丢失。

2.ROM

只读存储器(ROM)是一种只能读取数据,不能写入数据的存储器,数据一旦写入之后就无法更改。

ROM存储器中的数据是固化在芯片中的,断电后数据不会丢失。

ROM被用于存储固化的程序和数据,例如BIOS、固件等。

常见的ROM有EPROM、EEPROM、Flash等。

在单片机的应用里,ROM一般用来存储程序,或者一些固化的图片数据。

三、总结

寄存器、存储器、RAM和ROM都是计算机存储系统中的重要部分。

它们的主要区别在于容量、速度、可读写性和数据的持久性等方面。

寄存器的容量最小,速度最快,但数据在断电后会丢失。

存储器容量比寄存器大,读写速度慢,但数据可以持久保存。

RAM可以读写数据,但数据在断电后会丢失;

ROM只能读取数据,数据可以长期保存。

它们的特性不同,在计算机系统中分别扮演不同的角色。

寄存器通常用于存储CPU内部的临时数据和控制指令。

存储器被用来存储计算机程序和数据,包括操作系统、应用软件和用户数据等。

RAM用于存储需要频繁读写的数据,例如程序运行中的变量和缓存等。

而ROM则被用来存储固化的程序和数据,例如BIOS、固件、启动程序等。


关键字:寄存器  存储器  RAM  ROM 引用地址:寄存器,存储器,RAM,ROM有什么区别?

上一篇:单片机选型看哪些参数?单片机选型原则
下一篇:单片机常用的开发软件有哪些?

推荐阅读最新更新时间:2024-11-11 20:31

STM32定时器详解 -----影子寄存器,预装寄存器
定时器 在STM32F10xxx系列的32位MCU上,定时器资源十分丰富,包括高级控制定时器,通用定时器和基本定时器。此外,还有能够实现定时功能的系统滴答定时器,实时时钟以及看门狗。关于这些定时器的介绍,占据了STM32F10xxx参考手册1/5的篇幅,可见其功能的强大。 在低容量和中容量的STM32F103xx产品,以及互联型产品STM32F105xx和STM32F107xx中,只有一个高级控制定时器TIM1。而在高容量和超大容量的STM32F103xx产品中,有两个高级控制定时器TIM1和TIM8。 在所有STM32F10xxx系列产品中,都有通用定时器TIM2~TIM5,除非另有说明。除此之外,在超大容量产品中,还有通用定
[单片机]
stm32 内存管理
分块式内存管理 分块式内存管理 1 举例 #define MEM1 0 //内部SRAM #define MEM2 1 //外部SRAM #define MEM1_BLOCK_SIZE 32 //内存块大小 32字节 #define MEM2_BLOCK_SIZE 32 #define MEM1_MAX_SIZE 10 * 1024 //10K #define MEM2_MAX_SIZE 40 * 1024 #define MEM1_TABLE_SIZE MEM1_MAX_SIZE / MEM1_BLOCK_SIZE #define MEM2_TABLE_SIZE MEM2_
[单片机]
stm32 <font color='red'>内存</font>管理
STM32F407 纯寄存器操作定时器,PWM,ADC(专治花里胡哨)
定时器 真多啊,14个定时器,三种。 通用定时器 注意: 需要手动清除中断标志 TIM3- ARR = 5000-1; //自动重载寄存器,10Khz 的计数频率,计数 5K 次为 500ms TIM3- PSC = 8400-1; //预分频器 两个寄存器的计算 PSC预分频器 //这里时钟选择为 APB1 的 2 倍,而 APB1 为 42M,所以TIM3的时钟频率为84M PSC=8400 f=84M/8400=10000Hz=10KHz t=1/f=0.1ms 每次技术时间0.1ms ARR=5000-1; //自动重载寄存器 计数5000次,共500ms //定时器溢出时间计算方法:Tou
[单片机]
STM32F407 纯<font color='red'>寄存器</font>操作定时器,PWM,ADC(专治花里胡哨)
你知道STM32F4中的CCM内存该如何使用?
STM32F4 CCM内存 我们知道STM32F4当中有个CCM内存,如图所示,这个内存是挂在D总线上直接和内核相连,因此除了内核之外谁都不能访问,那么我们怎么将其利用起来呢? 首先,我们可以使用Keil的设置选项,将IRAM2打勾,让编译器选择什么时候使用这个内存。显然,我们还可以将这两个地址修改一下,将IRAM1改为0x10000000,这样,编译器就会优先分配CCM内存。 我们来看看结果,在MAP文件中,表明确实使用了这段内存,但是因为我们使用的内存较少, 还没有用到CCM。 这种自动分配的方式有什么问题呢?这段内存是内核专有的,除了内核任何其它总线都不能访问,这就意味着,一旦编译器将数据分配到CCM中,而同时
[单片机]
你知道STM32F4中的CCM<font color='red'>内存</font>该如何使用?
第13章 标志寄存器(X86汇编教程)
其实这章的内容不怎么重要,看不懂也没关系,这些都是后台自己处理的,标志寄存器很少有人自己操作,就好像你不知道你的心脏每分钟跳几下,但你仍然活得好好的这样,另外,.之前居然有人转载了某章节,虽然那一章我没写不能转载...... 这一章简单介绍一个寄存器.为之后的章节做铺垫(由于咱是懒人,下一章几时写未定.) 标志寄存器(PSW),是对计算的结果以及CPU的某些状态进行保存用的. 为了实现一些功能,CPU在执行某些指令的时候,会把计算产生的一些东西保存到标志寄存器,一般都是算数指令.比如说计算结果是正数还是负数. 186的标志寄存器是16位的,除了几个没用到的位,每一位都有不同含义和名字.名字表如下: 15
[单片机]
移动存储器全面解析
似乎每天都有新的海量存储器标准问世。CompactFlash(CF)曾一度独步天下,但是今天,新设备制造商不得不在CF、安全数据(SD)、SDIO、多媒体存储卡(MMC)、RS-MMC、MMC Plus、MemoryStick、XD-Picture(XD)和CE-ATA等等这些海量存储器之间做出选择。有时,一种新标准具有明显优势;而另外一些时候,新标准和已有标准又像是在重蹈Betamax与VHS格式间的对决,在先期很难看到谁将取得胜利。   CF标准是所有小型海量存储器的鼻祖,10多年前由SanDisk开发出来。它具有8或16位并行数据总线,传输速率在3~66MBPS之间。在许多需要16位宽UDMA总线(66Mbps)的高传输速率和
[模拟电子]
51单片机——存储器(一)
1.存储器概述 存储器是许多存储单元的集合,存储器单元实际上是时序逻辑电路(锁存器)的一种,按单元号顺序排列。每个单元由若干二进制位构成,以表示存储单元中存放的数值,这种结构和数组的结构非常相似。按存储器的使用类型可分为只读存储器(ROM)和随机存取存储器(RAM)。 1.1 存储单位 位(bit):它是计算机中最小的数据单位。由于计算机采用二进制数,所以1位二进制数称作1bit,例如101011为6bit。 字节(Byte,单位简写为B):8位二进制数称为一个字节,1B=8bit。 字(Word):两个字节构成一个字,即2Byte=1Word。 在单片机中还有一个常用术语:字长。所谓字长是指单片机一次能处理的二进制数的位数。
[单片机]
51单片机——<font color='red'>存储器</font>(一)
9.内存的了解
内存由于具备访问速度快,访问方式简单等优点,成为了PC或者是嵌入式硬件平台上不可或缺的元件。在开始学习如何使用内存之前,非常有必要先了解一下内存的分类: 1.1内存分类: 1.2 DRAM分类 2.内存内部结构: 包括:表结构,L-Bank,寻址信息(包括L-Bank选择信号和行地址)。 2.1表结构: 2.2L-Bank的结构: 2.3:寻址信息: 6410内存初始化: 地址空间: 外设区是放寄存器的,主存储区又被分为五个子区: 1.1:主存储区-划分: 内存初始化
[单片机]
9.<font color='red'>内存</font>的了解
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved