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

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

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

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

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

 

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

一、寄存器

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

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

那这样做有什么优势呢?

 

举个例子:

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

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

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

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

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

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

 

二、存储器

我们先来看一张图:

其实RAMROM都是属于存储器,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、固件、启动程序等。

 

给TA买糖
共{{data.count}}人
人已赞赏
单片机百科

stm32f103VET6和stm32f103c8t6有什么区别?

2023-2-23 16:36:06

单片机百科

hal库和标准库的区别?选哪个比较合适?

2023-2-27 11:00:14

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧