打印
[其他]

【每日话题】为什么单片机RAM那么少?

[复制链接]
1752|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#每日话题#

对硬件和软件均小白的跑堂真的很好奇:手机内存(RAM)动辄8G、12G,可是为什么单片机RAM连1M都不到?
要知道,经典的AT89C51单片机,其内部只有128字节RAM(内存)。同样经典的MSP430F149,也只有2K的RAM空间。即使现在用得比较多的STM32F1系列,其最大的RAM也不到100K。
于是,很多小伙伴就有这样的疑问:现在固态硬盘都以T为单位了,手机电脑内存都是8G甚至32G了,可是为什么单片机RAM连1M都不到呢?(strongerHuang)
所以你知道为什么单片机RAM那么少吗?诚邀各位坛友来给不理解的“跑堂”科普~

话题奖励如下:
1、所有参与回帖的用户,都可获得10家园币(家园币可以兑换礼品);
2、抽一位发表优质见解的友友奖励500家园币。


使用特权

评论回复
评论
王栋春 2023-5-18 11:41 回复TA
@21小跑堂 :收到,如果在最新一期话题中留言最好,这样不会乱。 
21小跑堂 2023-5-18 11:07 回复TA
@王栋春 :回帖的话最好@21小跑堂 
21小跑堂 2023-5-18 11:04 回复TA
@王栋春 :https://bbs.21ic.com/icview-2932528-1-1.html详细回帖或者私聊 
王栋春 2023-5-18 10:24 回复TA
不知有每日话题创意该如何反馈给管理? 

相关帖子

沙发
blust5| | 2023-5-18 10:08 | 只看该作者
手机电脑是需要跑大型程序的,需要占用很多的RAM空间,用来增加运行速度。手机如果RAM不够的话,运行一个APP就只能杀掉其他的APP才能保证运行,会造成APP切换卡顿。而电脑也是一样的问题,甚至电脑上的大型软件,一个软件就需要非常多的RAM资源来支持,否则运行会非常卡顿。
而单片机一般来说只会运行相对简单的多的程序,而且仅仅只是单线程运行,哪怕是上了系统的单片机,本质上也是单线程运行的,因此对RAM资源的需求就没有那么大。
而且相对于手机、电脑的几百G甚至几T的存储空间对应几十G的内存,单片机几M甚至不到1M的Flash也运行不了手机电脑上那么大型的APP,几K几十K的RAM足够使用了。

使用特权

评论回复
板凳
王栋春| | 2023-5-18 10:28 | 只看该作者
单片机就是为单独执行某些特定程序设计的,鉴于其体积和功耗机身内存必然不会做的很大,不过可以通过外部存储芯片满足实际使用需求。再说了一般小项目,在某些编程高手手中其机身内存也足够用了。本人非常羡慕那些单片机编程高手。

使用特权

评论回复
地板
forgot| | 2023-5-18 11:00 | 只看该作者
RAM就是钱,单片机本来就是微型控制器,RAM够用才是最好的,过大的RAM除了增加成本,没啥用,不仅ram,flash也是如此。

使用特权

评论回复
5
木野臻| | 2023-5-18 11:13 | 只看该作者
目前接触使用单片机开发的项目,通常都是裸机,一般不会用到特别大的计算及大型软件,所以很多项目对单片机RAM容量要求不高,甚至有很大一部分RAM都没有用到。

使用特权

评论回复
6
gaon2| | 2023-5-18 11:52 | 只看该作者
集成的是运行所需的基本内存,需要多内存,可以外部扩展吧。

使用特权

评论回复
7
xch| | 2023-5-18 11:57 | 只看该作者
手机的RAM 与MCU 的RAM一般是两个不同品种。目前手机一般用DDR RAM,MCU 一般用SRAM.  按照存储位计算,DDR 仅用1个晶体管,而SRAM 需要用4~6个晶体管。而DDR驱动接口电路比SRAM 接口又复杂庞大许多。所以,需要小内存时采用SRAM方案每个bit平均成本有优势。需要大内存时,DDR 方案每个比特平均成本有优势。 但是如果需要低功耗,仅SRAM有技术优势。

使用特权

评论回复
8
keer_zu| | 2023-5-18 13:28 | 只看该作者
单片机的ram少应该有以下几个原因:

1. 需求
首先,单片机能做的事情不需要那么多RAM资源,如果真的需要做更多事情,需要更高性能,直接使用x86或者带保护模式,支持MMU等,支持外扩DDR的ARM系列即可。当然,这就意味着更高的制造成本和研发成本。而大多数适合mcu的使用场景,价格便宜,开发成本低廉,RAM自然也是足够使用了。这类多内存的使用场景,功耗只能控制到一定程度,很多对功耗敏感的场景也没办法考虑。

2.成本
上面我们提到了成本,支持更多内存的解决方案,比如X86或者类似ARM cortex-a9及以上,他们外部扩展的通常是DDR3及更新的内存芯片,
无论是片子的成本,板子的成本(设计、生产)以及开发周期和mcu都不是一个级别的,广大普通应用场景根本不可能采用这样的设计方案。
当然,还有其它因素:比如开发团队,要求会更大和更高; 比如对代工厂家的要求会更高,对整个技术支撑团队要求更高:包括测试,售前售后.....  对很多使用场景根本支撑不下来。

3.制造工艺
像mcu那样在一片上做几个G内存的SOC的技术和工艺应该不是一家可以搞定的,这就是为什么你即使使用了X86的CPU,还是要用三星和海力士的存储芯片的原因。你很难将上文中的要求(就像手机里那样)做成类似MCU这样的一个芯片里面。至少目前是没有必要。


MCU在他适用的需求里,它的资源满足需求了,并且这种需求一"内存“也比起当初大大提升,可以看到以后,它还继续提升,但是要想达到类似手机那种,至少不是MCU发展的方向。

使用特权

评论回复
9
小小中| | 2023-5-18 13:49 | 只看该作者
多大的内存干多大的事,定位不一样而已

使用特权

评论回复
10
gyh974| | 2023-5-18 13:53 | 只看该作者
好像是内存越大,总线越长,一般的芯片从体积和成本上都是承担不起的,  毕竟一套系统是一均衡的,不浪费够用是最经济可靠的。

使用特权

评论回复
11
icecut| | 2023-5-18 14:35 | 只看该作者
ram 对应的不是xxG的那些都是ddr, ram对应的是cache L1, 虽然手机的cache 大, L1也是很小的,
手机的cpu也是可以仅仅用cache来当ram跑的. 只是没法跑更大的程序.

使用特权

评论回复
12
z_no1| | 2023-5-18 15:19 | 只看该作者
现在我的程序就游走在MPU和MCU之间,我做复杂的协议转换,对内存的要求还是很大的.现在市面上内存最大的比较好买就是杭州万高的V8410N,*SCM402FA),1M FLASH,1M SRAM.华芯微的也有封装了DDR的,够大,够便宜.也是一个好选择.

使用特权

评论回复
13
ROSHEN_007| | 2023-5-18 15:34 | 只看该作者
单片机的使用场景就决定了它不需要太大的RAM,最多也就是到1M,这已经算高端产品了,再往上上系统,肯定是外挂RAM合算啊

使用特权

评论回复
14
星期三小子| | 2023-5-18 15:48 | 只看该作者
从芯片版图的角度出发,RAM很占面积,面积大了die就要大,说白了就是增大RAM收益很低;

从产品使用角度来看,同core 配套2K和20K 所能提供的功能可能都是一样的;

从工艺和制成上看,加大RAM都不是问题,只是成本的问题;

使用特权

评论回复
15
yuyy1989| | 2023-5-18 15:56 | 只看该作者
单片机的应用一般都很简单,直接和外设交互数据也没有什么太复杂的逻辑运算,自然ram需求不大

使用特权

评论回复
16
siliconnect| | 2023-5-18 16:26 | 只看该作者
一直找 5*5mm内   QFN28/32   ,flash 64k以上,sram 32k以上的
12位dac+12位adc+uart  各至少一路的,但找不到

使用特权

评论回复
17
qiangtech| | 2023-5-18 16:32 | 只看该作者
一般使用场景下也不需要很大的RAM,第二个原因可能是制造成本上的考虑。

使用特权

评论回复
18
coody| | 2023-5-18 17:48 | 只看该作者
用过RAM最少的单片机是米帝的PIC12C系列的,25个字节SRAM,我抱怨过吗?

使用特权

评论回复
19
地瓜patch| | 2023-5-18 18:49 | 只看该作者
面向于不同应用吧。手机CPU这么强大,也得外扩1个T的flash,对吧

使用特权

评论回复
20
freeelectron| | 2023-5-18 19:40 | 只看该作者
一方面是成本原因,一方面是单片机的使用场景;
如果ram增大了,flash也得上去,这些配置都上去了,那可能主频就又得相应的提上去;这些都上去了那就叫soc了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:21ic管理
简介:哎呦,这里是二姨家跑跑跑小跑堂,微信联系:xiaopaotang21ic

2195

主题

7900

帖子

263

粉丝