Category 電腦科學

奇謎與炸彈、鋸鰩與巨像——可程式化數位電腦的誕生

上一篇〈比圖靈更早破解奇謎機的人〉寫到,最先破解奇謎機的其實是波蘭數學家瑞耶夫斯基,而不是圖靈。不僅如此,由於納粹後來又變更加密方式,結果圖靈設計的炸彈解密機用不到兩年就失去作用,最後破解密碼的是另外由別人設計的「巨像」(Colossus) 電腦,而這也成為史上第一台可程式化的數位電腦。 萬一波蘭人的炸彈機不管用 1939 年七月,英國應邀前往波蘭密碼局,得知三位波蘭數學家已經破解奇謎機後,隨即招募語言學家與數學家進駐布萊切利莊園,秘密展開破譯德軍密電的工作。 其實奇謎機的複雜程度的確難以破解,只因德軍將訊息密鑰重覆加密兩次,產生某種規律,才讓波蘭人發現可以忽略接線板的變化,只要檢測轉輪的十萬種排列組合,就能找出正確設定及密鑰。他們發明炸彈機來進行檢測,六台同時運作,每台測 17,576 種,兩個小時就能破解密鑰。只不過後來德軍將轉輪改為五選三,排列組合增加為十倍,變成一百萬種(註1),資源有限的波蘭密碼局才向英、法求援。 英國當然有能力造出 60 台炸彈機來應付,但萬一哪天德軍發現漏洞,不再重覆加密兩次訊息密鑰,炸彈機就不管用了。因此當布萊切利莊園的「政府代碼與密碼學院」(Government Code and Cypher School,簡稱 GC&CS) 於九月成軍後,便基於這個前提展開研究。 圖靈的炸彈機 根據波蘭密碼局過去幾年所破譯的德軍密電,內文中常會出現特定字詞,例如每天清晨的電報總會提到天氣,而「希特勒萬歲」也常出現在電報結尾。雖然德軍後來變更加密方式,但這些字詞的模式卻依然沒變,成為布萊切利莊園解密的破口。 當然,由於同樣字母每次的加密結果都不一樣,就算在密電中找到這幾個字詞,也無法直接據以破譯整篇內容。然而圖靈在比較它們加密前後的字母後,卻發現了類似瑞耶夫斯基所發現的循環特徵,例如某則電報中,hitler 的密文是 TMRJSH,那麼 h -> T、t -> R、r -> H 便形成一個循環,而這就可以用來檢測密鑰,也就是奇謎機的設定。 在圖靈眼中,這樣的循環就像是遞迴函數,而若以電路的角度,又相當於構成電流迴路。他結合這兩項洞見,於 1940 年初設計出模擬奇謎機的機器,可以自動逐一比對出符合的設定。這台機器高、寬各約兩米,也叫「炸彈機」(Bombe),但原理與構造與波蘭的炸彈機完全不同,共有 108 個轉輪,每 3 個一組模擬一台奇謎機,相當於 36 台不同設定的奇謎機同時運作。 問題是,倘若訊息密鑰的破綻不復存在,接線板互換字母的影響就無法排除,所要面對的可能性將多達…

史上第一台硬碟問世

1956 年的今天(9 月 14 日),IBM 召開記者會展示最新的商用電腦 IBM 305 RAMAC。RAMAC 是「計算及控制的隨機存取方式」(Random Access Method of Accounting and Control)的簡稱,強調它配備了革命性的貯存裝置──史上第一部硬碟,可以迅速地隨機存取大量資料。總裁華生(Thomas J. Watson)豪氣地誇耀:「今天是 IBM 史上最重大的新產品發表日,我相信在辦公設備的歷史上也是。」 是的,之前的電腦主要仍用打孔卡片來讀取程式和貯存資料,儘管先後有各種新發明的貯存裝置,但不是容量很小,就是得從頭依序讀取資料,非常沒有效率。IBM 這台名為 350 的硬碟機長 152 公分,高 173 公分,深 74 公分,約莫兩台冰箱的大小,容量達 5 MB。 是的,你沒看錯,5 MB。如今我們會覺得不可思議,但當時的電腦只用來做計算數字,既沒有圖像也沒網際網路, 500 萬個字元的容量已經綽綽有餘了,這可相當於 62,500 張打孔卡片呢。 500 萬個字元是貯存在…

第一顆積體電路問世

1958年9月12日,德州儀器多位高階主管聚集在工程師基爾比(Jack Kilby)的實驗桌前,等著看他的最新發明——積體電路(integrated circuit, 簡稱IC)。基爾比宣稱可以將電晶體與相關元件整合在一起,如果這是真的,將會徹底改變電子產業。 德州儀器早在1952年就看好電晶體將取代笨重、耗電又易壞的真空管,於是從貝爾實驗室取得專利授權,之後便積極製造電晶體,並應用於飛彈、雷達、電腦等國防設備。這是因為初期電晶體的製造成本仍比真空管高非常多,只有軍方為了對抗蘇聯,願意不計代價採用電晶體。受惠於軍方的採購,德州儀器得以降低電晶體的成本,終於在1954年推出第一台電晶體收音機 TR-1,體積只有手掌大小,可以隨身攜帶,立刻受到熱烈歡迎,也讓社會大眾感受到電晶體將帶來的巨大改變。 只不過電晶體相較於真空管雖然已非常小巧,但電子產品除了電晶體,還要結合電阻、電容等元件,而這些元件必須個別封裝後,一一焊接在電路板上。除了元件本身所占的空間,連接元件的電路也浪費不少空間,必須有足夠大的電路板才塞得下,以致電子產品無法再縮小體積。基爾比在加入德州儀器前,遍一直在思考著如何縮小電路板的尺寸。 基爾比1947年自伊利諾大學電機系畢業後,先到密爾瓦基一家中型企業——全球聯合(Globe Union)旗下的實驗室上班。全球聯合也在1952 年取得貝爾實驗室的電晶體專利授權,基爾比便是負責技術移轉的人。雖然被賦予重任,但基爾比認清公司的規模與資源實在難以在半導體產業有所突破,於是在1958年5月跳槽到德州儀器。 基爾比剛進德州儀器沒多久,同事們就紛紛趁暑期度假去,他還沒有年假可休,也只能每天安分地進空蕩蕩的辦公室上班。他的部門只剩小貓兩三隻,他手上根本沒有任何交辦事項要做,不過這樣他反而可以全心思考如何縮小電路。 沒多久,基爾比的腦海中浮現出一個大膽的想法:何不一開始就將各種元件做在一起?如此一來不但可減少個別封裝的元件體積,也可以縮短元件之間的接線,電路板自然就大幅縮小了。 這麼簡單的想法,為什麼之前沒有人想到?其實加州的快捷半導體(Fairchild Semiconductor)總經理諾伊斯(Robert Noyce,後來成為英特爾創辦人之一)也在動這個腦筋,只是雙方都不知道對方正在研究。 基爾比開始構思如何實現這個想法,八月直屬主管休完假回來,他便向主管請示能否放手讓他試試看。反正很多同事都還在度假,眼下也沒什麼要事,主管便同意他趁此空檔著手研究,確認可行性。8月28日,基爾比先將電晶體、電阻與電容以金屬線連接在一起,證明這樣的電路沒問題後,開始著手打造積體電路,順利地在暑假結束,大家回到工作崗位前大致完成。 9月12日這一天,基爾比在主管們與同事面前拿出他的手工成品。這是一片包含三個電阻的赭晶體,再以金線將同樣是用鍺做成的一個電晶體與一個電容銲接在一起,外觀看起來相當醜陋,有些人不禁微皺眉頭。基爾比稍做解說後,接上示波器,接著小心地打開電源開關,示波器馬上出現預期的波形,在場人士一陣歡呼,他們見證了第一顆積體電路的誕生! 不過基爾比的發明後來並未受到廣泛採用,反而是諾伊斯的設計成為現今積體電路的基礎,因為他採用平面製程,直接將元件與連接的線路都做在晶片裡面,不必用金屬線銲接,更容易製造也更堅固耐用。但諾伊斯晚了基爾比幾個月申請專利,德州儀器認為快捷半導體侵犯專利而提起訴訟,雙方纏訟多年,直到1966年才達成和解。 這段期間基爾比繼續埋頭其它發明,1961年帶領團隊做出第一台使用積體電路的電腦給空軍;1965年發明熱感式印表機;1967年和同事共同發明第一台口袋式計算機。1970年,基爾比辦理留職停薪,當一個獨立的發明家,後來有幾年到德州農工大學教書。 隨著積體電路在現代科技文明中扮演越來越重要的角色,2000年的諾貝爾物理獎終於頒給基爾比,他成為極少數以工程師身分獲獎的人。至於諾伊斯,則在1990年已因心臟病過世,所以無緣獲獎。基爾比被問到得獎感想時,他拋開過去的專利恩怨,無私地提到:若是諾伊斯還活著的話,肯定會和他一起分享諾貝爾獎。 附註:諾伊斯不但發明積體電路,他和七位夥伴共同創立的快捷半導體,後來開枝散葉,才有現在的矽谷。若對半導體科技的起源有興趣,可參閱我所寫的《蕭克利與八叛徒》。 參考資料:

【歐洲紀行】造訪馮紐曼故居

來到布達佩斯,除了到城市公園探尋特斯拉當年靈光一閃、在沙地上畫出交流感應馬達設計圖之處,還想順道造訪的,是另一位天才馮紐曼 (John von Neumann) 的故居。 天才兒童 馮紐曼的天才是非常誇張那種。他出生在布達佩斯一個富裕的猶太家庭,從小就展露過人天份,六歲能心算 8 位數的除法,八歲就會微積分,除了母語,也會英、法、德與義大利等國語言,還會古希臘語。他的記憶力驚人,看過的書過目不忘,甚至能背下電話簿。 1921 年,馮紐曼被布達佩斯大學數學系錄取,卻因父親強烈反對,只好改念柏林大學化學系,兩年後再轉到蘇黎世理工學院。雖然他完全沒在布達佩斯大學上過一堂課,卻因高分通過期末考又有發表數學論文,結果在 1926 年除了取得蘇黎世理工學院化工博士,也同時拿到布達佩斯大學的數學博士學位。隔年他即在柏林大學任教,以 23 歲創下該校有史以來最年輕的紀錄。 馮紐曼在教書的同時不但持續發表論文,而且產量驚人,才三年就發表了32篇論文。1930 年,才轉到漢堡大學任教不到一年,他又應邀前往普林斯頓大學教授量子理論。三年後,普林斯頓高等研究院正式啟用,馮紐曼與愛因斯坦等人並列,成為初始的六位學者之一。當時普林斯頓高等研究院暫設於普林斯頓大學校園內,未滿 30 歲的馮紐曼老是被誤以為是學生。 如果你以為馮紐曼只是數學天才,那就錯了。他對各種新奇事物都充滿好奇,常興致盎然地問別人在研究什麼,然後往往在五分鐘內就掌握全盤脈絡與關鍵所在,甚至提出前所未有的見解,讓對方既驚訝又佩服。因此除了數學,馮紐曼在其它領域也做出許多重大貢獻。 現代電腦架構 在物理方面,他為剛萌芽的量子力學提供嚴謹的數學架構,也讓之後的數學家與物理學家因而有了處理多維空間的數學工具。他還將數學應用到經濟學,首度為賽局理論建立系統化的模型,因而被視為「賽局理論之父」。 除了這些抽象理論,馮紐曼為流體力學和震波建立數學模型,讓他在二次大戰期間加入曼哈頓計畫,協助計算原子彈的內爆作用。由於其中牽涉的計算極為複雜龐大,需藉助於計算機,他也因此跨入計算機的設計。 1944 年,馮紐曼應邀參觀軍方正在打造的第一台通用型的電腦 ENIAC,發現每次要執行不同程式就得重設上千個開關、插拔上百條電纜,非常沒有效率。他幾經思索後,於 1945 年發表論文,倡議將電腦硬體劃分成運算、貯存、控制、輸入與輸出等五大單元,成為現代電腦的基本架構。兩年後他又發明流程圖,讓撰寫軟體程式時的思考邏輯一目了然,至今仍為程式設計師所用。 馮紐曼後來進一步構想能像細胞一樣自我複製的機器,而提出「細胞自動機」(Cellular automaton),從簡單的指令與零件開始,就能衍生出複雜的機器,並且一代一代的繼續複製下去。有人認為這就是電腦病毒的始祖,也有人認為他預見了生命繁衍的秘密(四年後,華生與克里克才揭開DNA的秘密)。 英年早逝 馮紐曼一次又一次地在不同領域展現他的創見,只可惜他在 1957 年就因為骨癌過世,享年僅 53 歲。罹癌化療期間,他還在研究如何讓電腦學習人腦的思考方式,讓人不禁想像如果他沒有英年早逝,人工智慧會有怎樣的發展。 這樣一位全能型的天才,當然不能錯過造訪其故居的機會。馮紐曼於 1903 年 12…

半導體的誕生(五)——史上第一個半導體商品問世

1901 年美洲盃國際帆船賽的電報大亂鬥結束後,美國無線電話與電報公司要求首席工程師匹卡德從美東開始,架設無線電報的收發站。匹卡德對金屬屑檢波器也不滿意,因此和德佛瑞斯特一樣,想要研發出效果更好的無線電波接收器。 不過匹卡德卻不是發想新方法,而是要從已問世二、三十年的碳粒式麥克風著手。為什麼?這得從發明人之一的休斯 (David E. Hughes) 一次實驗意外說起。 碳粒式麥克風 1879 年,休斯在測試電話機的麥克風與聽筒時,不小心讓電瓶產生火花,沒想到尚未連接電瓶的電話機竟然發出聲音。他不斷試驗改良,最後讓電話機在四百多公尺外也能隔空收到電火花的訊號。 休斯不但比赫茲早好幾年就發現電磁波,而且這幾乎就是無線電報的裝置了,然而幾位英國皇家學會的友人來看了之後,卻告訴他這不過是電磁感應的現象,休斯因此作罷,未再繼續研究,也沒對外發表。直到 1899 年,馬可尼都已經從法國發送無線電報到英國了,他才公布當時所做的實驗,當然已沒有多少人在意了。 不過匹卡德注意到休斯並未特別加強天線,竟然就能用碳粒式麥克風偵測到無線電波,因此決定根據他的方法來做實驗。1902 年 5 月 29 日,匹卡德在紐澤西州五月岬 (Cape May) 的無線電報站台,將縫紉針的兩端架在兩顆碳塊上——這相當於碳粒式麥克風的作用卻更靈敏,再接上聽筒與三個乾電池,開始聽取無線電訊號。 礦石檢波器 匹卡德將聽筒貼近耳朵,發現雜訊聲音太大,他猜想是電流可能太強了,於是伸手拿掉兩個電池。果然雜訊馬上消失,雖然無線電的訊號也變得比較小聲,卻清楚許多。這時他看了一眼器材,才發現他剛剛不小心把電池的接線弄掉了,表示這個偵測器竟然不需外接電源就能作用,而且能將無線電波本身的能量傳遞到聽筒發出聲音。 當時還不知道像鋼針這樣的金屬和碳這類半導體接觸,就形成了後來所稱的「肖特基二極體」(Schottky diode),很低的電壓就能讓它表現出單向導電性。匹卡德只覺得這個奇特的現象完全違背傳統認知,決定深入研究,於是很快就跳槽到 AT&T,全心研發用礦石做成的檢波器。 從 1902 年夏天到 1906 年,匹卡德測試了上千種礦石,發現其中 250 種有類似效果,然後他拿各種金屬觸碰這些礦石或讓礦石互相接觸,在測試了 31,250 種組合後,發現以熔融後的矽石(原本用來製造石英玻璃)搭配銅或銀的收訊效果最佳。1906 年 8 月,匹卡德提出礦石檢波器 (crystal…