在工程领域,尤其是控制领域,一般一个复杂的程序,也就几个 MB(写普通单片机机械手程序得到的文件大小)。精简 Linux 系统嵌入式板子里的程序可能会大点,大概十几个 MB 吧(这个功能比较多,轮式六爪自走越野机器人的程序,需要应对的情况比较多,给它加上了操作系统)。
没错,咱们常见的工厂机器人,还有汽车 ECU 之类的,程序都不大,里面只有选择性代码和计算方法代码。他们只会对传感器传递来的数字按照规则进行计算,然后按照选择性规则把计算出来的指令发送到相应部位,整个程序不需要那么大。嫦娥小机器人需要面对的情况有点多,所以可能会用这么大的内存来存储应对不同状况的程序。
那么民用娱乐设备为啥这么大呢?因为图像和声音的存在,使得需要被计算的数据量大了很多很多,无损声音,无损图像,它们的数据量是非常庞大的。说到一个大型游戏,类似于荒野大镖客这样的,说实话,把图像,声音和模型都抹掉之后,核心代码似乎也就几百个 MB。
而工程设备和航天设备,不需要计算图像和声音,他们的图像信号都是即时传输给地面或者监控室。如果你加上地面的存储器和图像处理设备,他们的内存和存储器容量可以吊打几乎所有常用的民用设备,没错!就是商用巨型工作站的性能。
为啥不说具体的性能参数呢,因为种类太多,我记不清楚了
————————————————————————
以上是原答案,说的不很完美,需要补充一些解释
有的计算机专业的小伙伴说回答里没分清楚运存和存储器。掰扯定义的话,确实没说清楚他们的区别。
存储器(包括 rom,以及常说的机械硬盘,固态硬盘和闪存卡等很多种)是用来储存数据和程序的(很长时间,甚至永久),运存是用来暂存执行程序时需要执行的指令队列和需要调用的数据以及程序的执行结果以方便 cpu 随时获取并执行运算。最大的区别是掉电之后再加电还能不能读出原来的数据。(不是不懂,是举例子的时候没体现清楚,这里抱歉了)
用工业程序和游戏类软件举了个例子,是为了说明工业设备上的程序比我们用的手机和电脑上应用软件调用的数据量小得多。也就是说,探月小车需要执行的程序和需要处理的数据没有我们的电脑和手机那么多,也就不需要占用那么多运存。
还要感谢知友们的科普和补充,由于外太空恶劣的环境,首先,在外太空使用的电子设备需要有很强的抗电磁干扰和抗电离辐射能力;第二个就是散热问题,真空环境中唯一的散热渠道只有辐射,这个条件使探月车上的电子设备不可能有比较高的功率。这些都限制了探月车上无法采用高性能民用或者商用芯片。