第一部

    冷戰晶片


    01

    從鋼到矽

    日本士兵把二戰描述為「鋼鐵颱風」*1。對盛田昭夫來說,二戰確實是這種感覺。他出身於富裕的清酒世家,是個1勤奮好學的年輕工程師。二戰期間被分配到日本海軍的工程實驗室,躲過了上前線的命運。但美國B-29超級堡壘轟炸機轟炸日本的城市時,「鋼鐵颱風」也席捲了盛田昭夫的家鄉,摧毀了大部分的東京與其他的都市中心。雪上加霜的是,美國的封鎖造成了廣泛的飢荒,迫使日本鋌而走險,採取非常手段。戰爭接近尾聲時,盛田昭夫的兄弟正在接受神風特攻隊的訓練。

    在隔著東海的對岸,張忠謀的童年不時會聽到炮火隆隆與空襲警報,提醒百姓攻2擊即將到來。青少年時期,張忠謀為了躲避橫掃中國的日軍,先後搬到廣州、英國殖民的香港、中國的戰時首都重慶。日軍戰敗後,他搬回了上海。然而,戰爭還沒真正結束,因為共產黨的遊擊隊發動了對抗民國政府的抗爭。不久,毛澤東的勢力攻占了上海。張忠謀再次逃難,被迫二度逃往香港。

    遠在世界另一端的布達佩斯,安迪.葛洛夫(Andy Grove)也經歷了3那場席捲亞洲的鋼鐵颱風。二戰期間,布達佩斯多次遭到入侵,葛洛夫倖存了下來。匈牙利的極右派政府把猶太人視為二等公民,但歐洲爆發戰爭時,他的父親仍被徵召入伍,被迫與匈牙利的納粹盟友一起對抗蘇聯,並在史達林格勒戰役中失蹤。1944年,納粹入侵表面上的盟友匈牙利,派出坦克縱隊穿越布達佩斯,並宣布要把葛洛夫那樣的猶太人送往大規模的死亡集中營。幾個月後,年幼的葛洛夫再次聽到轟隆隆的炮火聲。蘇聯紅軍進入匈牙利首都、「解放」這個國家、性侵了葛洛夫的母親,並取代納粹,在匈牙利建立了殘暴的傀儡政權。

    無窮無盡的坦克縱隊,一波又一波的戰機,成千上萬噸的炸彈從天而降,還有綿延不絕的船隊運輸著卡車、戰車、石油產品、火車頭、車廂、火炮、彈藥、煤炭與鋼鐵——二次大戰是一場工業消耗的衝突,那正是美國希望看到的局面,因為美國要打工業戰才能贏。隨著美國把製造實力轉化為軍力,美國戰時生產委員會(War Production Board)的經濟學家是以銅與鐵、橡膠與石油、鋁與錫來衡量戰爭的成敗。

    美國製造的坦克、船隻、飛機,比軸心國加起來的產量還多,美國生產的火炮與機槍數量更是軸心國的兩倍。船隊載著工業製品,從美國的港口出發,橫渡大西洋與太平洋,向英國、蘇聯、中國與其他盟國提供關鍵物資。這場戰爭由史達林格勒的士兵與中途島的水手發動,但戰鬥力則是來自美國的凱澤造船廠(Kaiser Shipyards)及紅河工廠(River Rouge)的裝配線。

    1945年,世界各地的廣播宣布戰爭終於結束了。在東京的郊外,年輕的工程師盛田昭夫身穿著全套制服,聆聽裕仁天皇的投降演說。他是獨自聆聽,而不是和其他的海軍軍官一起,以免被迫4切腹自殺。在隔著東海的對岸,張忠謀歡慶著戰爭的結束與日本的戰敗,不久又回歸無憂無慮的少年生活,與朋友一起打網球、看電影、5打橋牌。在匈牙利,葛洛夫與母親慢慢從防空洞爬了出來,然而,無論是蘇聯占領期間、還是二戰期間,他們的生活都一樣困苦。

    二戰的結果是由工業產出決定的,但當時已經可以明顯看出,新技術正在轉變軍力。大國製造了成千上萬的飛機與坦克,也設立了研究實驗室,開發火箭與雷達等新裝備。摧毀廣島與長崎的兩顆原子彈促使許多人臆測,新興的原子時代可能會取代煤炭與鋼鐵主導的時代。

    1945年,張忠謀與葛洛夫仍是中小學生,年紀還太小,尚未開始認真思考技術或政治問題。然而,當時盛田昭夫已二十出頭,在戰爭結束前的幾個月一直在研發6追熱飛彈。那時的日本距離部署可行的導引飛彈還很遠,但那項專案讓盛田昭夫有機會一窺未來。他開始可以想像,戰爭的勝利不是靠裝配線上的鉚釘工人,而是靠能夠自動辨識目標及自行運作的武器。這個概念看似科幻小說,但盛田昭夫隱約意識到,電子運算的新發展可能使機器藉由解開加減乘除或開平方根之類的數學問題來「思考」。

    當然,使用裝置來運算,並不是新概念。從智人最早學會數東西以來,人類就懂得靠扳動手指來計算。古巴比倫人發明算盤來處理大額的數字。幾百年來,人類藉由撥打算盤上的珠子來運算乘法與除法。十九世紀末與二十世紀初,政府與企業內部的大型官僚組織持續擴大,需要大量的人力來做運算——辦公室的職員用紙與筆運算,有時是使用簡單的機械計算器(mechanical calculator,可做加減乘除運算及計算基本平方根的齒輪箱)。

    這些有生命、會呼吸的運算工,可以把薪資單製成表格,追蹤銷售情況,收集人口普查結果,篩選火災與乾旱資料以便為保單定價。在大蕭條期間,美國的公共事業振興署(Works Progress Administration,簡稱WPA)為了雇用失業的辦公室職員,設立了「數學表格專案」(Mathematical Tables Project)。在曼哈頓的一棟辦公大樓裡,數百位運算工坐在一排又一排的辦公桌前,把對數與指數函數7製成表格。那個專案出版了28卷複雜函數的結果,每一卷的標題類似「從100,000到200,009的整數倒數表」,裡面收錄了201頁的數字表。

    這群有組織的運算工展現了運算的前景,但也顯示出人腦運算的局限。即使用機械計算器來輔助,人類的工作速度還是很慢。一個人想要使用「數學表格專案」的成果,必須翻閱那28卷之中的一卷,才能找到特定對數或指數的結果。想算的東西愈多,需要翻閱的頁面就愈多。

    與此同時,大家對運算的需求也不斷增加。早在二戰以前,資金就流向那些開發更強大機械計算器的專案,但戰爭加速了大家對運算力的追求。幾個國家的空軍開發了機械投彈瞄準器(mechanical bombsights)來幫飛行員擊中目標。轟炸機的機組人員以轉動旋鈕的方式,輸入風速與高度。旋鈕會移動那些調整玻璃鏡的金屬桿。這些旋鈕與操縱桿所「計算」的高度與角度比任何飛行員更精準。當飛機瞄準目標時,瞄準器就會聚焦。不過,限制還是很明顯。這種瞄準器只考慮幾個輸入,提供單一的輸出:何時發射炸彈。在完美的測試情境中,美國的瞄準器比飛行員的猜測更準確。然而,在德國上空部署時,僅20%的美國炸彈8落在離目標30米的範圍內。戰爭是由投擲的炸彈數及發射的炮彈量所決定,而不是由機械運算器上的旋鈕決定的。那些機械運算器的目的雖然是用來引導武器,但通常不準確。

    更高的準確度,就需要更多的運算。後來工程師開始以電荷取代早期計算器中的機械齒輪。早期的電腦使用真空管,那是一種包裹在玻璃中的燈泡狀金屬絲。穿過真空管的電流可以開啟與關閉,執行的功能就像上下撥打算盤上的珠子一樣。開啟的真空管,編碼為1;關閉的真空管,編碼為0。使用二進位的計數系統,0與1這兩個數字就可以產生任何數字,因此理論上可以執行多種類型的運算。

    此外,真空管使這些電腦可以重新設定。投彈瞄準器裡的機械齒輪只能執行單一類型的運算,因為每個旋鈕都實體連接到金屬桿與齒輪上。算盤上的珠子只能在串接珠子的桿子上來回撥動。然而,真空管之間的連接可以重新組合,讓電腦執行不同的運算。

    這是運算上的一大進展——或者說,要不是飛蛾出來攪局,應該會是那樣。由於真空管像燈泡一樣發光,會吸引昆蟲,需要工程師經常9「除蟲」(debug)。此外,真空管跟燈泡一樣,經常燒壞。1945年,賓州大學為美軍製造了一台名為ENIAC的先進電腦以計算彈道。它有101萬8千根真空管。一根真空管平均每兩天就會故障,導致整台機器停擺,技師不得不趕緊找出故障的真空管並換新。ENIAC可以每秒相乘數百個數字,速度比任何數學家還快。然而,一台ENIAC就占滿了整個房間,因為那1萬8千根真空管每根都像拳頭那麼粗。顯然,真空管技術實在太麻煩、太慢、太不可靠了。只要電腦一直是這種蛀蟲橫行的龐然大物,它們就只能做破譯密碼之類的小眾應用,除非科學家能找到一種更小、更快、更便宜的開關。


    *1 這個詞確切是指沖繩島戰役。英文是Typhoon of Steel,日語是「鐵雨」(鉄の雨)或「鐵暴風」(鉄の暴風),反映這場戰役的密集火力及龐大的戰艦數量。