為什麼好奇號的計算機系統只用到了核心頻率最高為 200MHZ 的處理器,256M 內存?
好奇號的 Rover Compute Element 包含兩套相同的計算機系統,一個發生故障後另一個會自動配置接管,它包含 256K EEPROM,256MB 內存,2GB 快閃記憶體,抗輻射處理器是 BAE RAD750(1040 萬晶體管,核心頻率 110 到 200 MHz),基於 IBM 的 PowerPC 750 設計,速度 400MIPS。
http://hardware.solidot.org/hardware/12/08/06/0742256.shtml
那個被摺疊的答案其實說到點子上了,但沒太解釋細節。
為什麼用這麼低的配置:主要因為信號頻率越高,越容易被干擾。太空中有各種高能射線、帶電粒子,這些東西能穿透晶元,對晶元內的晶體管和電容產生干擾,後果就是原來的高電位變成了低電位,低電位變成了高電位,也就是計算機里1/0之間互換了,這有個專用的名詞叫位翻轉,其實在家用計算機里也會出現,但概率很低,但在太空中就很容易遇到。為了防止干擾,就使用低頻信號,這樣,微小的干擾不會產生翻轉。
另外一個原因是極端溫度,家用CPU不用風扇已經很難工作了,超過100度肯定就完蛋了,但太空中需要面對的是低溫零下100多度,高溫零上100多度的環境,並且因為沒空氣(或者空氣密度太低),無法有效散熱,所以功耗太高的也不能考慮。
最終的結果就是低頻低配置。
這種配置對於航天器來說,足夠了,阿波羅登月那會,主機頻率才幾MHz,相當於現在家用計算器的水平。航天器要求的是高可靠性,不是高性能。
航天器計算機里運行的是實時操作系統,系統規模很小,不是一般的Linux或者Windows,最常見的是VxWorks,一個VxWorks最小內核可以只有100KB,好奇號的配置算是土豪配置了。
另外,設計周期長是一個因素,算不上主因,因為航天的人也希望計算機能快一點。至於有人說配置低夠用了,不能這麼說,誰都希望用好一點的配置,可是高配置的適合航天器極端環境的設備還沒有造出來。參考下面2篇文章:
Mission Critical系統設計--淺談Mars Pathfinder 1997
http://www.tektalk.org/2012/07/09/mission-critical%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1%EF%BC%8D%EF%BC%8D%E6%B5%85%E8%B0%88mars-pathfinder-1997/
http://www.tektalk.org/2012/08/05/mission-critical%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1%EF%BC%8D%EF%BC%8D%E6%B5%85%E8%B0%88mars-pathfinder-1997%EF%BC%882%EF%BC%89/
你別拿他來跟你自己的電腦和手機比啊,這貨絕對是超級高配啊,前幾個禮拜咱送上去的神舟九號也不過10MHz,內存也只有2M。這種東西在太空高輻射,溫度還特別極端,造價很高的呀。除此之外還有很多因素,具體可以參考當時關於神舟九號配備計算機的討論。猛擊這裡-&> http://www.zhihu.com/question/20328784
CPU的頻率由很多方面決定,也只有生產CPU的廠家能說清楚,我們這些科班出身的說破天也就是說個大概。但是簡單說來,CPU的性能主要和單位面積內晶體管數量有關。即單位面積的晶體管數量越多,CPU越強大,處理速度越快。集成度越高,晶體管之間的距離就越小,線寬就越小。
為什麼航天航空器件的頻率現在做不高(當然,隨著科技的發展,將來航天航空器件的性能還會更好),主要是因為輻照。在太空中,輻照的強度很大,而且其中很大部分是電離輻射。太空晶元都要經過一個特殊的過程:「輻照淬火」(Radiation Hardening)以防止太空輻照的影響。輻照的影響有很多:- 可以導致電子的急劇震動引起劇烈雜訊和脈衝,引起電路的邏輯值混亂。
- 改變物質的晶格結構和原子排列,對器件造成持續的損壞。
- 離子化,引起絕緣柵控制的誤動作。
- 封裝絕緣材料受激釋放能量,更改DRAM存儲值。
而這些效應在小間距空間內發生的更為明顯。也就是說,高能的宇宙輻射也限制了器件的晶體管集成度的提高。
看 RD750 處理器的參數:- 0.25 μm radiation-hardened bulk CMOS (Rad-Hard 0.15μm)
- 110 to 132 MHz (Rad-Hard 200M)
對於線間距亞微米級的處理器,速度和納米工藝的處理器比起來顯然遜色很多了。
單單從自動控制的角度來說,因為是數字控制系統,所以從信號角度來看,計算機部分(控制器)的信號是時間上離散、空間上量化的,而物理部分(車輪馬達等)則當然是時間上連續、空間上連續的(這個尺度不許考慮量子效應)。
控制器信號是時間上離散的,間隔叫控制周期,是由採樣、保持的頻率決定,比計算機主頻大好幾個數量級。一般控制周期做到比系統的響應周期小一個數量級就夠了。再小的話,效果就不明顯了,因為離散(時間)響應已經足夠逼近連續(時間)響應了;換句話說,相隔一個控制周期的兩個點之間可以忽略了,因為控制周期比系統的響應周期小一個數量級了。
所以,對於控制系統而言,計算機足夠好之後,再好也不會對控制性能提升太多了。而倒是系統本身和擾動的性質主要決定了控制性能。但控制系統對計算機的可靠性要求非常高,因為控制系統是一個控制周期一個控制周期的在實時運行的:在一個控制周期內,一半是ms級,要完成所有控制器計算與信號傳輸(有時延則加上時延),不能當機。它是RAD6000的升級版。關於RAD6000,2008年的統計是有200個左右用這個處理器的空間探測器正在太空中(As of June 2008, there are 200 RAD6000 processors in space on a variety of NASA, United States Department of Defense and commercial spacecraft,理解差,不知道是總共還是現在還在太空中的),可見穩定性和可靠性是非常高的。然後系統是VxWorks,自1996年就開始在市場上賣了,價格在200,000到300,000美元之間(應該是核心板,不只是晶元)。
至於RAD750,從2001年開始賣,2005年第一次進入太空。110M到200M時鐘,266或者更過的MIPS,系統構架是IBM PowerPC 750。2002年的數據顯示賣200,000美元,這個和RAD6000是差不多的,當然,對於不同的程序和質量要求,最終價格是會變的。到2010年為止,也有150多個空間探測器上用到了這個處理器了。這次的火星車上面一共有兩套這個設備,一套備用。
這個CPU主要負責控制電機和搭載的科考設備,另外就是和地球的通信。實時採集數據,至於運動和對儀器的操作都是由地球發送的指令來控制的。總體上來說的話,也沒有那麼巨大的任務量。
最後進入正題:
1。我們習慣在買手機的時候關注屏幕和處理器性能,但是空間探測器不一樣,首先關注的穩定性和抗干擾性,另外功耗啊一些其他的東西,主頻可能比較其次了。200,000美元應該是穩定性的價格而不是主頻的價格。想像一下,NASA的人去買火星車的CPU的話第一個肯定不會問主頻有多高吧,而是會問,可不可靠。
2。另外就是價格和難度的原因,為了在穩定性和抗干擾性上保持不變的話,高主頻可能需要更高的價格,而且製造難度也會加大。
3。不去追求高主頻可能還有個原因就是確實是沒有必要的(從性價比上面來說),火星車的CPU的任務比較簡單,只是搜集數據和控制運動,至於具體怎麼運動是由地面控制中心發送的。另外,說到整個探測器的著陸這麼複雜的控制,我相信是由地面事先模擬環境和計算了各種因素之後按部就班來的,就像普通衛星的發射一樣,什麼時候變軌什麼的時候分離都是事先計算好,或者如果需要處理數據的話是由特定單元來處理和控制。
最後一句話,剛好夠完成所有任務就行,沒必要最炫。
參考網址:IBM RAD6000
RAD750
http://en.wikipedia.org/wiki/Mars_Science_Laboratory
Mars Science Laboratory: Rover
航天使用的多數功能應該由專用集成電路晶元實現,複雜的運算,數據採集與傳輸,數據處理,控制行動,定位服務等等,這些功能由其他晶元實現,專用晶元處理對應的事件效率很高的。cpu主要只是調度各個部分協同工作,而家用電腦頻率高,什麼事都幾乎必須經過他的運算,加上臃腫的操作系統,效率是很底下的。而cpu加各種專用集成電路晶元可以以低頻完成高頻pc都不一定能完成的任務。
前面有人也說了,低頻可靠性強,不易受干擾。
不是一類東西:
其實你說的處理器並不準確,實際上現在普遍分成是微處理器和微控制器兩類產品。
在硬體配置方面:
你說在移動類或者桌面應用是微處理器以運算處理為主,DMIPS值高,內存支持比較大,一般都是外置內存。
微控制器應用是控制場合,控制演算法通過控制器系統控制被控目標。演算法的執行好壞,並不只是看重運算性能:
穩定性,在複雜的電磁環境下仍能正確執行指令。
介面,而且有豐富的嵌入式控制器介面如SPI,IIC,CAN,UART等來連接各種感測器,驅動部件。
在控制上用到400Mhz的powerPC處理器已經是相當高端的產品了。平時也就是40,50Mhz的8,16位處理器就足夠了。
記得老師說過這種任務最重要的是穩定 N多年前的東西雖然性能低但是所有的優缺點已經完全暴露過了 經過合理的設計可以達到近似絕對的穩定
現在的東西性能好 但指不定什麼時候出個什麼毛病 要是衛星都上天了突然發生硬體故障了…那可是得浪費多少錢啊!
簡單點兒
這東西是完成任務的
只要配置足以完成任務就可以了
「radiation-hardened」這款CPU是抗輻射加固的,單價至少得上百萬人民幣。
從任務角度來說,好奇號的任務主要是採集分析,甚至只有採集任務,處理任務是在地球完成的,所以設計上儘可能把經費用在探測單元上,再說了,處理信息要能量的,主頻越高的cpu能耗越高,電源受不住啊,至於高可靠性我覺得不是影響主頻的主要因素,實際上性能冗餘越大,容錯率越高,就會更加穩定
精簡~:可靠~(你自已查一查當時電腦的主流配製,有驚喜喲)
好像跟「比特反轉」也有點關係吧。
因為內建的重要儀器內都有它們自帶的處理器。
推薦閱讀:
※好奇號的 50 萬行登陸代碼極可能是用什麼語言寫的?
※如何評價「中國火星探測器」的影響?
※外太空探測器如何確定自己的位置和運行軌道?