為什麼好奇號火星車的電腦配置那麼低?是因為環境限制還是需求小?
好奇號火星車電腦配置:200MHz雙核處理器,250M內存,2G快閃記憶體。
部分答案來自於:為什麼好奇號的計算機系統只用到了核心頻率最高為 200MHZ 的處理器,256M 內存?
為什麼用這麼低的配置:主要因為信號頻率越高,越容易被干擾。太空中有各種高能射線、帶電粒子,這些東西能穿透晶元,對晶元內的晶體管和電容產生干擾,後
果就是原來的高電位變成了低電位,低電位變成了高電位,也就是計算機里1/0之間互換了,這有個專用的名詞叫位翻轉,其實在家用計算機里也會出現,但概率很低,但在太空中就很容易遇到。為了防止干擾,就使用低頻信號,這樣,微小的干擾不會產生翻轉。
另外一個原因是極端溫度,家用CPU不用風扇已經很難工作了,超過100度肯定就完蛋了,但太空中需要面對的是低溫零下100多度,高溫零上100多度的環境,並且因為沒空氣(或者空氣密度太低),無法有效散熱,所以功耗太高的也不能考慮。
最終的結果就是低頻低配置。
這種配置對於航天器來說,足夠了,阿波羅登月那會,主機頻率才幾MHz,相當於現在家用計算器的水平。航天器要求的是高可靠性,不是高性能。
航天器計算機里運行的是實時操作系統,系統規模很小,不是一般的Linux或者Windows,最常見的是VxWorks,一個VxWorks最小內核可以只有100KB,好奇號的配置算是土豪配置了。
研發周期長不算主因,但也確實在一部分上影響了硬體設計。單單從自動控制的角度來說,因為是數字控制系統,所以從信號角度來看,計算機部分(控制器)的信號是時間上離散、空間上量化的,而物理部分(車輪馬達等)則當然是時間上連續、空間上連續的(這個尺度不許考慮量子效應)。
控制器信號是時間上離散的,間隔叫控制周期,是由採樣、保持的頻率決定,比計算機主頻大好幾個數量級。一般控制周期做到比系統的響應周期小一個數量級就夠了。再小的話,效果就不明顯了,因為離散(時間)響應已經足夠逼近連續(時間)響應了;換句話說,相隔一個控制周期的兩個點之間可以忽略了,因為控制周期比系統的響應周期小一個數量級了。
順便說下,控制器信號也是空間上離散的,因為計算機、AD、DA轉換都有位數限制。一般量化誤差做到比系統的主要擾動(雜訊)小一個數量級就夠了,再小的話,就幾乎沒什麼效果了,因為假設獨立的話,總擾動^2=量化誤差^2+其它擾動^2。當然,不是很嚴格啦。
所以,對於控制系統而言,計算機足夠好之後,再好也不會對控制性能提升太多了。而倒是系統本身和擾動的性質主要決定了控制性能。但控制系統對計算機的可靠性要求非常高,因為控制系統是一個控制周期一個控制周期的在實時運行的。航天設備主要要求的是高穩定性和低功耗,在空間大量粒子轟擊的環境下,一般的商業級晶元上去基本都會直接掛掉,而軍用級晶元貌似在提高了穩定性同時都會犧牲一部分性能。另外,以某些皮衛星為例,星載計算機要求控制功率在幾瓦,逼得你用8051的心都有了。所以,又不是要在好奇號上載入個AI,基本的控制、運算這晶元也就夠了
火星的表面溫度是-17.2度到-107度
(http://en.wikipedia.org/wiki/Climate_of_Mars#Temperature )
普通的CPU一般都要求工作在0度以上:
(http://www.cpu-world.com/CPUs/Core_i7/Intel-Core%20i7%20Mobile%20I7-620M%20CP80617003981AH.html )
導體、半導體的性能都會隨著溫度降低而變化,在極低溫度的情況下能正常工作的半導體晶元需要另外設計,不能直接用現在的商用晶元。
既然另外設計的話哪么自然沒有必要片面追求高頻,夠用就好。
不光好奇號,其實航天、航空以及軍事等很多大家認為是高精尖的領域,配置都非常低。比如神州9號控制姿態的計算機,也就386級別。很多著名的戰鬥機,比如蘇27,蘇30,殲10,包括F16,F15,甚至F22,基本都是486級別甚至更低。
1. 性能對於自動控制來說足夠了
2. 對於航天來說,一般都是用成熟技術,不會去趕時髦,因為系統成本太高了。
因為殺死貓不需要太高配置
在射線密度高的外太空,航天器的配置不求高端,只求穩定。。。
低?每秒 2 億指令算低? 不如讓 Curiosity 裝 Androind 4.0 跑分吧!
推薦閱讀: