C语言 为什么嵌入式系统内存有限?



我不知道为什么我们的嵌入式系统内存有限。

为什么我们不能使用其他内存或增加内存,而不是使用像Rust&go这样的高级语言?

技术提供了多种类型的内存,从最低内存到2tb的存储卡内存。

为什么记忆如此重要?

增加内存(以及访问它的总线和总线的芯片引脚,以及为其供电的更强的电源,以及更多的电路板空间等)会增加成本;在最严格约束的系统中,每一分钱都很重要,所以如果可以避免的话,你不想在内存上花更多的钱。

空间、电源、加工。通常在SD卡读卡器中添加的空间很小(SD卡不是内存!这是存储。比RAM慢得多),嵌入式系统必须优化电源(嵌入式系统通常不需要额外的RAM,所以为什么要在它上面花费电源?),而且微控制器通常没有处理更大内存池的处理能力。一些处理器仍然限制在8位!你不能用8位或16位指针访问太多内存。

"我不知道为什么我们的嵌入式系统内存有限">

它以最有效的方式尽可能满足特定用户的需求列表。它的最终成本必须具有竞争力,并将决定其销路。

与工程工作站相比,能够以更低的速度、更少的内存和更少的功耗创建嵌入式系统的最大因素是这篇wiki文章的第一句话:

"嵌入式系统是计算机系统-计算机的组合处理器、计算机存储器和输入/输出外围设备有一个专用函数在一个较大的机械或电子系统!">

归根结底是市场的问题。假设你正在购买一个网络控制的电灯开关。这是一个具有专用功能的设备的例子,这使得它足够小,可以容纳一个不大于标准壁挂灯开关的空间,使用一个小型的有限用途微处理器,并且只使用足够的内存来运行一个小型应用程序,允许它响应控制其输出所需的有限数量的请求。(如。在比较物联网光控制器时,您会注意到几个竞争。价格相差都在几个百分点以内。但是,如果一家制造商选择设计与我们在通用台式计算机(嵌入式系统的对立面)上看到的内存相当的内存,那么它将以巨大的价格差异脱颖而出。它可能有最令人印象深刻的规格,但它没有市场可行性,而且它无法与其他产品竞争。

不是越多越好……

像Rust&go这样的低级语言

这些都不是很低的水平。汇编器和裸机C可能是。语言越高级(越舒适),它就越复杂,需要更多的内存。

为什么内存太重要

更少的内存意味着花费更多的时间重新计算。请记住,计算机只是一个非常简单的机器,在一张无尽的纸上工作(图灵机)。很多算法都使用这个空间来提高速度和灵活性。

最新更新