这些都是比较抽象的专业名词了,特别是寄存器,很多人在学单片机的时候对这个一脸懵逼,寄存器到底是个啥玩意?
其实不用很深刻的理解它到底是什么,你只需要知道通过配置寄存器的值,就可以把外设用起来。
我做单片机开发的这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、固件、启动程序等。
相关文章