51单片机存储器内存详解
51单片机当中的存储器从功能性上来划分可以分为程序存储器与数据存储器。一般来说单片机存储器的存储空间是能够进行存储空间拓展的,但是如何进行拓展则需要根据不同的存储器类型进行选择。
本文就将为大家针对这个问题进行讲解。
访问存储空间时,需要用到两个指针变量,为DPTR和PC。其中pc为程序计数器,指向下一条需要执行的指令的地址,DPTR为数据指针寄存器,这两个变量的长度都为16位,这是51单片机内部结构决定的,无法改变。所以这两个指针的寻址能力都为64K。这样看来,两类存储器的扩展能力都为64K。但是,如果实际扩展过存储器,就可以发现程序存储器的扩展能力并没有64K。
为什麽会这个样子呢?这得从51单片机的存储空间的编址说起。这里仅作简单说明,具体可以看教科书。简单地说,内部程序存储器和外部程序存储器是一起编址的,它们分别占用64K地址的一部分,所以外部扩展时要减去内部的地址空间,当然要小于64K。而数据存储器是内外部分别编址,内外部数据存储器用不同的指令进行访问,所以不用担心单片机会混淆内外部数据存储器,所以外部数据存储器扩展能力有64K。
为啥单片机RAM那么少?
你肯定好奇:
手机内存(RAM)动辄8G、12G,为啥单片机RAM连1M都不到?经典的AT89C51单片机,其内部只有128字节RAM (内存),同样经典的MSP430F149也只有2K的RAM空间。
即使现在用的比较多的STM32F1系列,其最大的RAM也不到100K 。
很多小伙伴就有这样的疑问:现在固态硬盘都以 T 为单位了,手机电脑内存都是8G、甚至32G了,为什么单片机RAM连1M都不到?
今天就来讲讲关于RAM以及单片机内存少的几点内容。
(备注:本文说的单片机,指MCU,微控制器)
关于RAM
RAM:Random Access Memory,随机存取存储器,也是大家所说的内存 。
RAM是一种易失性存储器,也就是说断电就会丢失存储数据。
RAM有一些常见特点:
随机存取
易失性
对静电敏感
访问速度块
······
随着需求的提高,技术的进步,RAM又发展了像SRAM、DRAM、SDRAM等多种类型的RAM存储器。
相对于Flash、硬盘等非易失性存储器而言,RAM具有更快的读写速度,因此RAM广泛用于各种单片机、嵌入式、计算机系统中。
但RAM也存在一些“不足”,导致在很多场合,RAM的容量都相对比较小。
RAM容量小的几点原因
RAM相对Flash、硬盘而言,要做到足够大容量,其成本相对Flash要多的多。
1.RAM工艺更复杂
RAM要求速度更快,电流又不能太大,为了能尽量满足和平衡更高要求,就需要使用更特殊和更先进的半导体电容技术。
2.更大的硅面积
因为RAM的工艺更复杂,其占用硅面积相对更大。
大家应该都知道芯片的制造过程 ,目前芯片主要使用硅这种材料制作芯片(当前,现在也发明了更先进的材料),占用硅面积更大,意味着单个芯片成本更贵,相信这个原理大家都懂。
通过认识wafer、die、cell它们的关系 你就能大概理解芯片其实是“批量”生成的。
3.功耗原因
单片机通常要求功耗不能太多,特别是低功耗的单片机,在待机模式下,要求nA级别的电路。
为了满足低功耗,单片机中RAM,通常是静态RAM(SRAM)。
这里要扩展一下与SRAM对应的DRAM(动态RAM),顾名思义,动态RAM就是需要定时给电容补充漏掉的电荷,也就是需要定时刷新,DRAM需要驱动电路,功耗相对SRAM自然更大。
4.单片机大容量RAM需求不大
大家都知道,使用单片机开发的项目,通常都是裸机,或者RTOS,一般不会用到大型软件,特别是早期的时候(早期少数对RAM有需求的项目,一般通过外扩RAM的方式)。
所以,早期很多项目对单片机RAM容量要求不高,甚至有很大一部分RAM都没有用到。
当然,随着UI、AI、物联网的快速发展,现在对单片机RAM的需求也在不断增加,很多新出的单片机RAM容量也在不断增加,比如256K,甚至512K了。
5.其他
除了以上说的几点,还有像寿命、稳定性、兼容性等也是间接影响RAM大小的因素。
最后,欢迎大家补充更多的原因。
声明: 本文转载自strongerHuang,如涉及作品内容、版权和其它问题,请于联系工作人员,我们将在第一时间和您对接删除处理!
相关问答
51单片机的内存 是多少?因型号的不同,51单片机的程序内存ROM是512字节到64k字节,数据缓存RAM是256字节,有的51单片机(例如STC)还集成了内部扩展RAM,小则1K字节,多则高达16K字节。...
51单片机 内部存储器容量?51单片机的内部数据存储器总容量为256字节,地址由00H~FFH.这256字节的地址空间可以分成功能不同的低128字节单元和高128字节单元。在256字节的内部数据存储器...
求问 51单片机内存 多大的?这个不同型号是不一样的,8051是128Byte,8052是256Byte。这个不同型号是不一样的,8051是128Byte,8052是256Byte。
51单片机的 物理存储空间和逻辑存储空间是什么?MCS-51单片机在物理结构上有四个存储空间:1、片内程序存储器2、片外程序存储器3、片内数据存储器4、片外数据存储器但在逻辑上,即从用户的角度上,8051单...
51单片机 中的基本数据类型?4、long=longint:长整型5、float:单精度浮点型6、double:双精度浮点型而面向51单片机的KeiluVision4对此进行了简化,因此,可以理解为只存在如下四种....
关于 单片机 存储器的问题,idata,data,badata,xdata,pdata,cod...关于51单片机内存问题,一直是个疑惑大家的问题,因为51单片机是个很另类的单片机。下面我给楼主讲解一下:51单片机之所以另类,是因为,他寻址内存的空间,不是靠...
MCS- 51 系列 单片机的 存储器可划为几个空间?其地址范围及容量...注意:51的片内数据存储空间为128B,而增强型52的片内数据存储空间为256B。52是在51基础上增加了80H-FFH的高128B的空间。增加的这一部分只能采用间接寻址。51...
at89s 51单片机的 五大存储空间?AT89S51单片机具有五个主要的存储空间,包括程序存储器(Flash存储器),数据存储器(RAM),特殊功能寄存器(SFR),片内EEPROM和外部数据存储器。程序存储器用...AT8...
51单片机的 存储结构有何特点?MCS-51单片机在存储结构的特点:1、片内程序存储器2、片外程序存储器3、片内数据存储器4、片外数据存储器但在逻辑上,即从用户的角度上。8051单片机有三个...
【 51单片机的 片 内存储器 与片外存储器的区别51单片机分为片内...[最佳回答]一般来说,外部存储器是要用外接芯片的.但是近年来,出现了一些新型号的单片机,在其内部,就包含了少量的外部存储器.这样在一块小芯片里面,就包括了:...