圖:1972年搭載首顆CPU的先鋒10號
如果說探尋外太空是屬于人類的終極浪漫,那么為各類航天器、空間站和探測器設計器件無疑就是IC工程師的終極浪漫,而CPU作為最重要的宇航級器件承擔了重要使命。
自1972年第一顆真正意義上的處理器登上太空以來,宇航級CPU和消費級CPU就像DNA雙鏈一樣,緊密聯(lián)系卻又涇渭分明。
由于美蘇爭霸時代的太空競賽,一次發(fā)射任務具有極高的沉沒成本(相對于21世紀),要求攜帶的宇航器件必須高度可靠和耐用(在任務設計時間內),這決定了宇航器件設計的三個特點。
圖:制造于2001年的RAD750
第一,相對“保守”的性能。在人類探索宇宙初期,即使有加熱/散熱器,太空中的溫度也會有很大差異,同時,電子系統(tǒng)和器件暴露在輻射中的可能性是巨大的,此外還面臨振動、大氣密度和材料導致的電氣性能變化問題。
因此,在設計其中一個系統(tǒng)時,性能指標的優(yōu)先級要低很多(類似于新能源時代以前的汽車),設計師并不總是使用最新最好的微處理器,而大概率是“能用”和“夠用”,且異常笨重(因此缺乏集成電路而大量使用電子管的蘇聯(lián)側重發(fā)展“大力出奇跡”的火箭)。
圖:韋伯搭載的RAD750性能指標
例如,剛剛在圣誕節(jié)發(fā)射的詹姆斯韋伯太空望遠鏡搭載的就是一顆主頻為118MHz的RAD750芯片,這顆CPU于2001年發(fā)布,工藝僅為150nm,TDP僅為5W。這顆CPU只有上世紀的孱弱性能,但能承受2,000-10,000戈瑞(Gy.)的輻射,大約是做一次CT的1千萬倍,也是單顆售價約29萬美元的核心賣點。
而韋伯的大表哥——哈勃望遠鏡,至今仍然運行在英特爾的80486上。
同時,RAD750還運行在毅力號火星車和100多顆衛(wèi)星上,接受宇宙“考驗”近二十年目前無一故障。
從上表也可以看出,這些奇奇怪怪的宇航級CPU性能和消費級產品完全不在一個時代,同時指標根據任務需求高度定制化。
圖:采用RAD6000 的機遇號火星探測器
第二,只相信測試和實驗。這就涉及到器件的認證標準和工藝,比如NASA規(guī)定,用于太空的CPU必須首先符合美國國防部的MIL-STD-883標準——一套為確保可靠運行而專門開發(fā)的100多項測試。
這些測試包括:熱、機械、交流電氣和直流電氣測試以及單個晶圓檢查的采樣要求。而前期測試結果顯示,大多數通過的CPU都來自晶圓的中心。由于早期晶圓制造工藝限制,采用中心的die更好地避免了邊緣缺陷,使設備更加耐輻射。
某種程度上,宇航級芯片都是高度定制化基礎上,再逐一測試、挑選的結果以確保最優(yōu)解,與消費市場芯片量產的良率和測試有本質區(qū)別,同時帶來的就是成本和價格暴漲。
這一個案例是機遇號火星探測器上的BAE RAD6000處理器,價格約20萬美元,NASA采購且最終發(fā)射上天的只有200顆左右(依然是爆款型號),也就是RAD750的前任,任務的設計壽命只有3個月,但實際這套系統(tǒng)在火星上工作了15年之久。
圖:搭載英特爾8086的航天飛機
第三,子系統(tǒng)拆分和冗余。龍芯一文中我們介紹過,采用多顆CPU(甚至不一定是同一型號或架構)是大多數航天器設計的通用做法。目的一是為了冗余,一是為了拆分任務。
在復雜的航天系統(tǒng)中,能夠單獨控制航天器的每個組件/子系統(tǒng)非常重要,每個子系統(tǒng)都由獨立的CPU管理,可以更好地控制子系統(tǒng)以實現(xiàn)電源管理和容錯。例如,如果一個CPU掛掉,它只會禁用一個儀器,而不是整個航天器宕機。
NASA早期的航天飛機采用Intel 8086處理器和RCA 1802顯示控制器(后續(xù)升級為80386),預留5臺計算機用于冗余,為了規(guī)避輻射使用鐵氧體磁芯內存,而航天飛機的整個控制軟件不到1M。
而伽利略號木星探測器使用6個RCA 1802——2個用于高級模塊、4個用于低級模塊,采用藍寶石上硅(SOSIC)技術制造增加穩(wěn)定性,加起來內存只有176K,不得不感嘆人類科技的偉大。