当年nasa为了送人上月球,需要制造适合登月飞船的电脑内存,你们猜用的是什么材料做的?
材料: 铜线,磁铁圈
制作方法,让女工用编织的方法把磁铁圈套在铜线编成的网格上,有磁铁的地方代表1,没有磁铁的地方代表0 (我可能记反了)。 没错,登月飞船的控制程序是"编"出来的,是真正意义的"编程"。
整个只读内存ROM(保存程序的部分)也就36,864个字(登月舱的电脑是以字为储存单位,而不是字节,一个字是16位,其中15位是数据,1位作校验)。人家用区区36,864个字的内存就能送三个人上月球再返回,给你256MB挖四两土你还嫌少?
随机访问内存RAM的部分就更小了,只有2048个字
你可能会说,那是过去的事了,现在不是连家用电脑都16GB, 32GB了吗?
但是你了解过微处理器和微控制器的区别吗? 简单说,微处理器是手机电脑用的,重视运算性能,储存性能,微控制器重视系统的实时性,传感器和动力装置的输入输出,信号处理。粗暴地说,就是微处理器是给人玩的,微控制器是干脏活累活的。像机器人,机械控制,电子控制,自动化这类领域,对微控制器的需求更大。
家用电脑和手机用的都是微处理器,通常是普林斯顿架构,也叫冯诺伊曼架构,什么东西都往RAM里装。微控制器通常采用哈佛架构,按照不同需求可以同时搭配不同类型的内存,RAM, ROM, Flash,开发者可以根据需要选择什么数据放在哪种内存里,程序都是写死在ROM的,只干控制流程需要的工作,没有灵活性,没有图形界面,所以不需要那么多RAM。目前主流的ARM指令集的微控制器,RAM的大小都是按KB算的,STM32的F7系列的RAM最多也就192KB,H7系列属于高性能微控制器,也就几个MB的内存而已。所以如果你用微控制器干活,然后发现内存严重不足,你应该是选错平台了。
航天器通常搭配微控制器,而不是微处理器,所以大内存本来已经很不着调了。
最后不要忘了,宇宙射线分分钟干扰电路里的数字信号,1可以变成0,0可以变成1,更别提烧毁电路了。另外真空,强磁场,各种极端温度,振动,注定了你家电脑里那些彩虹LED内存条可以随时报废,航天器搭载的电子器件都是特制的,三路冗余是基本,还要进行防磁防辐射"硬化"处理,这表示不仅要尽量在电路外侧加装厚重的屏蔽罩,还要尽可能采用比较古老的芯片制程,35微米制程肯定比10纳米耐烧。(咱们先不说猎鹰9号使用英特尔微处理器) 总之能上航天器的电子器件本身已经是非常昂贵和难得了,你不要动一些奇怪的脑筋,月球车不是拿来打LOL的。
随手写了一大串,后来觉得自己态度不端正,居然没有本着"先问是不是再问为什么"的态度,先核实玉兔号是不是搭载了256MB内存的事实。
当然,题主的问题主要还是基于担心微控制器内存不够,所以撇开玉兔号究竟有多少内存不谈,这个答案应该还是可以看的。
有些评论说航天器也有用微处理器做控制的,可以单独聊一下。个人觉得"可以"不代表适合,就像一些作图计算器也可以装超级马里奥,但使用场景可能并不太理想。但不得不承认,有不少航天器开始采用微处理器,比如毅力号采用了摩托罗拉PowerPC 750微处理器,但从毅力号牵涉到大量图像和声音资料的处理,兴许微处理器的指令集更能胜任相关工作? 猎鹰9号因为曝露深空环境的时间较短,而且对死重和供电的限制没有那么严苛,所以采用三片双核X86处理器,构成6路冗余,安装Linux操作系统,这样一来允许一些对嵌入开发缺乏经验的开发人员也能使用比较流行和现代的C++/Python等开发方式,一个应用搞不定的事情,再写别的应用来补充就好了,不像嵌入式开发那样,改一点小东西就要重新刷整个固件,所以多重考量,也许这个选择反而比较合适SpaceX这样的比较敏捷的科技公司。2000年左右开始建造的国际空间站最早搭配的芯片其实也是特制的80386微处理器。一切根据场景选择,但这不妨碍我前面介绍的对微处理器和微控制器进行区别的基本思路。
今天看到一篇疑似出自NASA的微信公众号文章,介绍为什么毅力号上的芯片是90年代生产的,大家可以领略一下这段话:
当然,毅力号内部的CPU是经过特殊处理的,它被称为RAD 750,可承受200,000至1,000,000 Rads(辐射单位),工作温度介于-55℃至125℃之间。火星的大气层与地球不同,后者保护了我们免受太阳光线的伤害,而在火星上,可能一道阳光就能杀死漫游车,因此RAD 750超过200,000美元的成本还是有必要的。
也就是说二手市场已经没人要的祖传cpu,只要经过了硬化处理,就可以胜任最复杂的深空探测。
我以前卖过电脑和各种交换机类设备。。。有一个品牌叫长城。
对该品牌记忆最深刻的,就是它的电源和军品。军品当年单看字面配置真是质次价高啊。用着十分之一的配置,花着五倍的价钱,于是和供货方问了一下,这啥玩意这么贵?
对面嘿嘿一笑,这你就不懂了。零下六十度到零上六十度一样用,你配置高的极端环境不是结冰❄️就是自燃 ,还有好多不能和你说 。。。
月球这鬼地方,太阳晒了比开水还烫二十七度,天黑那面零下一百八十三度。如果你理解不了也没关系,这个温度下你想吸氧,会看到一个蓝色的水壶,里面那个逛逛当当的蓝色饮料,就是零下一百八十三度的氧气。。。
玉兔这家伙又不看小电影不玩游戏,它居然还搞了256m内存?我个人表示怀疑。我怀疑这参数多说了,256M的话,那天朝科学技术进步真当得起有目共睹四个字。
记得之前看过一个mit lab还是哪儿的老一代码农的采访,他当年参与过阿波罗登月项目,说当时阿波罗导航计算机是写在36kb memory capacity上的。。。
也不知道玉兔256mb是不是真的,即使是真的,你看阿波罗登月也成功了,你现在有比阿波罗大256 x 1024 / 36 = 7281倍的内存,还不满足吗???难道你还想在玉兔上玩植物大战僵尸???
话说印象特别深那个采访,老码农说到这时 很骄傲的说正是因为只有36kb所以‘ 我们那时写的非常非常非常好的代码,现在的人写的代码也不一定有我们那时候好 ’
====
特意回去找了下,老码农采访在这:
256MB的数据哪里来的。。。。
我们知道,嫦娥四号使用的是SPARC-V8架构抗辐射处理器(此处应该为公开信息不涉密),CPU 用的是Microchip公司的ATMEL的AT697F 。
而配套的6个FPGA应该是类似下面这个的Xilinx XQR2V3000-4CCG717:
AT697F内部是没有存储空间的,外扩存储器模块包括:2 MB的程序存储器FLASH、2 MB数据存储器SRAM和用于EDAC校验的512 KB的SRAM。
FLASH用来存放系统应用程序,在航天器材目录中,选用型号为ACT-F512K32N-060P3Q的FLASH存储器,数据线宽为32 bit,容量为2 MB,满足监控系统的程序存储容量要求;
SRAM主要用来暂存数据变量,作为在线仿真调试的系统运行空间,在航天器材目录中,选用ATMEL公司型号为AT68166H的SRAM存储器,其数据线宽为32 bit,容量为2 MB。
SRAM EDAC选用ATMEL公司型号为AT60142FT的SRAM存储器,其数据线宽为8 bit,容量为512 KB。
这加在一起也没多少,256M是哪里来的。。。。
是不是现在的人觉得256M已经是一个很小的内存了?所以才套在这里用?
还是其实是在说数据和程序存储用的那个256 MB 同步动态随机存储器SDRAM?
一更
有人问,为什么不用国产的?
据我所知,目前国内相对成熟的SoC方案,是502所的SoC2008,2012.2016,每一个都是很大的进步,已经上星了700套以上,还出口给老毛子呢。其它的像772所、龙芯中科等体制内单位也在搞。CPU, 嗯,那个,中国加油。
有人问,这有什么技术含量么?
我们不说抗热耐寒正负100度,也不说容错(三机热备份容错的嫦娥不错),光说抗辐射,Atmel的某款能抗300千拉德。。。。懂得人应该知道这是什么水平。等SpaceOS3操作系统成熟后估计还会再飞跃成长一波吧。
价格么,像我们研发的那套单封装微系统产品,定制集成电路CPU售价7万6,单封装系统30万。
为什么配置这么低?
信号频率越高,越容易被干扰。各种高能射线、带电粒子都会干扰芯片内的晶体管和电容等元气件,导致高低电位翻转,1变成了0,0变成了1(位翻转)。虽然你的计算机也会出现这种现象,但因为不像太空的辐射那么厉害,所以受影响的概率很低。为防止干扰而使用低频信号,这样才能减少太空辐射干扰产生的位翻转。
但这仍然会有一定概率,所以采用两个甚至三个主机互相帮助,几个一起算,出问题的概率会直线下降,嫦娥用的三台机热备份是很厉害的技术突破。
谁不想用高配置?非不为也,实不能也。
有兴趣的话,可以继续阅读:
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有