|
原文标题: Apollo vs. Atmel
原贴地址:http://www.sparkfun.com/commerce/news.php?id=248
因为专业背景和电子完全无关,所以大家看了轻点拍砖,翻译的不好,您凑合看哈!这是sparkfun 网站blog的一篇文章,也就是一本书的摘要,加上作者的旁白,引号内是原书内容,其他为Nate写的文字~
登陆月球需要多少MIPS的运算能力?让我告诉来你那台叫做”Mod 3C”的阿波罗任务计算机的故事.
![](http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_427745.jpg)
(原文件名:1.jpg)
(图1)如果你对在20世纪60年代在太空舱中发生的疯狂之事感兴趣,Bill Premerlani (UAV方面比较有名)向你推荐David Mindell所写的<Digjtal Apollo>一书.下面是一些摘要~
“考虑下我们使用的台式计算机的速度,精确性以及内存,如果要让它无瑕疵的连续运行两周,而我们的安危可能完全寄托于此,谁有胆量进行尝试?航天飞机带有五个冗余的计算机,任何一个电子化的客机起码有三个.阿波罗登月舱之友一个,并且在它的旅程中从未当机.”
哈,好吧,我会把我的安危押宝在一个能带我去月球的计算机上,但是等等!这是1961年的事情,而集成电路在那个时候仍然被认为是未知的黑盒子~天!
![](http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_427746.jpg)
(原文件名:2.jpg)
(图2)在波士顿科学博物馆中拍摄
“用今天的术语来说,这个东西更类似于一个’微控制器(microcontroller)’,从手机到汽车中都能找到的微处理器,而不是一个科学计算机.它有一立方尺那么大,而不是今天我们看到那么一个微小的芯片.但是它和微控制器一样,都有一个够用的数学处理能力加上多条高效的为快速输入输出数据儿设计的通道.类似于一个微控制器,阿波罗任务使用的计算机包括了一个有中断处理能力的处理器,这样计算机可以实时的对事件做出响应.它也有一个’守夜人’电路来保证计算机不至于当机与锁死(这个特定在很多嵌入式计算机中仍然存在,我们叫它’看门狗watchdog’).”
哈哈!它竟然有看门狗电路!我真不知道这个东西已经存在那么久了!
![](http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_427747.jpg)
(原文件名:3.jpg)
(图3)’内存栈模组(memory stack module)’这个和最初他们使用的核心索内存不大一样(core-rope memory 这个东西的译名不确定,图片可以参考我在机械版发的德累斯顿技术博物馆的照片,里面有图 by ilovezeno)
“最初的阿波罗机器使用了16bit字来作为它的数据与指令字长,对于本地操作完全足够了,但是导航计算需要’双精度’,更多的bit位带来更高的数字精度,这个特性通过软件实现”
“这台机器有2种内存,可擦除的和固定的,今天叫RAM 和ROM…这个机器有1700多个晶体管,每个都被独立地包在金属罐中,并且内存包含了20000多个金属和铁酸盐的核…它有12288个字的永久储存器,1024格字的可擦除内存和一个16位的架构加8个指令.它包含了一个多用的计数器,多个脉冲输出,中断,以及为连接整个飞船的接口服务的输入输出寄存器”
我曾经听说过为铁酸盐内存编程的巨大痛苦.但是一个在1962年的16bit架构?天哪!真的非常让人印象深刻!我仍然在玩我的8位AVR,12k的可编程内存和1k的RAM.不是太差,倒不时我不能在12k的限制内写出一个重定位的程序,但是我的自治游荡者已经用了5614字节.
(指原文作者的一个项目http://www.sparkfun.com/commerce/product_info.php?products_id=9016)
![](http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_427748.jpg)
(原文件名:4.jpg)
图4 一对冲孔卡片(也就是原始计算机的编程媒介了,我那个技术博物馆的帖子里也有类似的图 by ilovezeno)
“Mod 3C”的后继者是AGC(阿波罗指令计算机),扩增了这个叫做微逻辑装置(micrologic device)的东西(1961):
“这是这么一种电路:一个双输入的NOR门,在整个计算机中反复出现,而不是磁芯晶体管逻辑电路中34个不同的模块的情况” "One type of circuit, a two-input NOR gate, would repeat through the entire computer, rather than thirty-four different modules, as would be the case with core-transistor logic."(不是这专业的,俺看不懂啊….)
![](http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_427749.jpg)
(原文件名:5.jpg)
图5 归档你的代码!这时候拼写检查还没被发明
在1965年,事情真是让人不得不尖叫:
“宰1965年二月…IL获得了一个1500万美元的合约来制造 Block II…这个新的计算机被密封以隔绝湿气,并且不可维修.为了适应电子自动驾驶仪,Block II的程序内存丛24k字增加到了36k字,而可擦写内存从1k增加到2k.其他方面包括运算速度的提升等等,并且在架构中包含了新的指令(Block I有11个指令,Block有34个)这使得更高效的代码变得可能,并且现在时钟编程了1024kHz…逻辑门的数量同样提升了, 平封半导体网络包含2格逻辑门而不是一个,密度翻倍了.这减半了电路的尺寸,同时把AGC(阿波罗指令计算机)的重量从87磅减为70磅,并且耗能丛85瓦减少到55瓦.”
一个对比,呵呵:
Apollo Guidance Computer ATmega168
$15M $2
55W Power 0.055W Power
~1 MIPS? 20 MIPS
70 lbs. 0.0022 lbs.
我知道,以前已经有人比较过(以后还会继续),这是两个不能进行类比的东西,但是震撼我的是,在1962年,那个时候并没有一个叫做 计算机科学的学位.而在全世界你大概能找出有30个人能帮你编程NOR门,它们总共有70磅….他们把准心对准了月球,并到达了那里,太不可思议了! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|