历史上的今天
返回首页

历史上的今天

今天是:2026年03月14日(星期六)

2023年03月14日 | 寄存器,存储器,RAM,ROM有什么区别?

2023-03-14 来源:zhihu

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

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

我做单片机开发的这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、固件、启动程序等。


推荐阅读

史海拾趣

GWM Associates公司的发展小趣事
检查放大器器件的线性度是否满足要求,优化电路设计,减小失真源的影响。
A-BRIGHT公司的发展小趣事

随着技术创新的成功,A-BRIGHT公司开始积极寻求市场拓展。公司首先瞄准了欧洲市场,通过参加国际电子展会和建立销售网络,成功将产品打入欧洲市场。随后,A-BRIGHT又进军北美市场,通过与当地的大型电子分销商合作,进一步扩大了市场份额。这些市场拓展的成功为A-BRIGHT的快速发展奠定了坚实基础。

苏州锋驰(Feng)公司的发展小趣事
用于给需要稳定电流供应的电子设备供电,如计算机、通讯设备等。
Dialog公司的发展小趣事

Dialog公司在高能效系统电源管理领域积累了丰富的经验和知识,并形成了包括音频、短距离无线、AC/DC电源转换和VoIP技术在内的技术积累。这些技术积累为Dialog公司提供了强大的研发实力,使其能够迅速开发出面向各类个人便携式应用的集成电路(IC)。这些设备包括智能手机、平板电脑、超极本、数字无绳电话等。

格瑞宝(GP)公司的发展小趣事

随着产品线的拓展和技术实力的增强,格瑞宝开始积极拓展国内外市场。公司不仅在消费电子和工业类电子领域取得了显著成绩,还努力将产品和服务拓展到通信、汽车电子等新兴领域。同时,格瑞宝注重品牌建设,通过提供优质的产品和服务,赢得了广大客户的信赖和好评。公司的品牌知名度和影响力不断提升,为公司的长远发展奠定了良好基础。

台湾双羽公司的发展小趣事

1954年,富士通研发出了日本第一台中继式自动计算机FACOM100,这一里程碑式的成就标志着富士通正式涉足信息产业。FACOM100的推出不仅在日本国内引起了轰动,也让富士通在国际上赢得了声誉。此后,富士通在计算机领域持续投入研发,不断推出新技术、新产品,逐渐成长为全球领先的计算机制造商之一。这一转变不仅推动了富士通自身的快速发展,也为全球计算机技术的进步做出了重要贡献。

问答坊 | AI 解惑

GPRS模块传输数据

小弟最近在搞一个无线传输的论文,就是用GPRS模块实现无线数据传输。但是不清楚如何操纵GPRS模块才能把数据发送到固定的IP地址。我现在知道的有如下知识:要是实现GPRS模块与Ethernet链接,需要先进行ppp拨号,但是拨号之后就不清楚怎么才把数据发 ...…

查看全部问答>

801单片机做多路自动循环检测报警控制器

801单片机做多路自动循环检测报警控制器…

查看全部问答>

MSP430 JTAG原理图

本帖最后由 paulhyde 于 2014-9-15 09:18 编辑 bu cuo  …

查看全部问答>

PIC编译问题

#include #define uchar unsigned char #define uint unsigned int __CONFIG(0x1cd4) void delay(uint x) {    uint a,b;    for(a=x;a>0;a--)    for(b=110;b>0;b--); }     void main() { ...…

查看全部问答>

电动扳手

普通的扳手都是依附顶部的螺丝来调节不同尺寸的,但是这样调节起来太过麻烦。有没有更加快捷的方法呢?来试试这款新鲜的电动扳手吧。 它的电力并不是用来供给扭力的,而是方便人们调节扳手的开口尺寸。它在普通扳手上增长了一个电机,通过电机来对 ...…

查看全部问答>

如何利用webxml.com.cn资源开发天气预报软件?

最近打算在WINCE下开发一个天气预报软件, 资源就用http://www.webxml.com.cn所提供的提前预报资料..我上该网看了下, 那里有教如何使用函数来查询天气情况并且获得返回的字符数组.. 看了看实例代码, 那是VB.NET写的, 就其中一句 Imports cn.com.we ...…

查看全部问答>

skyeye+uClinux段错误

在skyeye上面启动uClinux的时候报段错误 [root@localhost uClinux-dist]# skyeye -e linux-2.4.x/linux arch: arm cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0 mach info: name at91, mach_init addr 0x8071ad4 can\'t find device mod ...…

查看全部问答>

linux内核完全剖析 基于0.12内核 txt下载

linux内核完全剖析 基于0.12内核 赵炯 的  200901的  txt doc pdf 的下载版本地址 谁有就给个链接吧 谢谢了哈  嘿嘿…

查看全部问答>

Display驱动模型

  WinCE下的Display驱动直接由GWES模块管理,它会直接被GWES模块管理和调用。Display驱动实际上也是分层的,其中包括GPE库,该库处理一些默认的绘图,相当于驱动的MDD层。用户只需要开发和硬件相关的PDD层驱动就可以了…

查看全部问答>

电路分析的困惑

以上是一个电话线的语音分离器的电路   我省略的ADSL那条   电话线从左边进来  从右边输出给电话我现在的困惑是  这些电阻电容  应该怎么分析?  怎么确定他们存在的必要 ?书上的求电阻值 求电压 电流  我都会 ...…

查看全部问答>