哈佛的馬克電腦

發佈日期:2021/11/26

圖說:艾肯(Howard Aiken)。林一平繪

我最早聽過的馬克一號、二號、三號,是艾肯(Howard Aiken)在哈佛大學研發的電腦。艾肯是哈佛物理系博士生,每天花很長的時間拿著鉛筆計算。當時已有打孔卡計算機(一次只能執行一個算數運算),但需人工操作。他想,如果這些計算能自動完成多好。

1937年,艾肯寫了一份22頁的備忘錄,提出了電腦的初步設計,將打孔卡計算機修改為完全自動化,以執行廣泛的算術和數學函數。他的想法由編碼指令序列控制,並且在特定過程開發後自動運行。艾肯發明了艾肯碼(the Aiken code),也稱為2421 code碼,用於電腦的編碼。

1944年艾肯設計的馬克一號是全世界第一部「萬能通用」且全自動化的計算器(Universal and Fully-Automatic Calculator) ,一旦啟動一個計算程序,不需任何人工操作可自動完成。這部機器使用765,000個零件、800公里的電線,總重量4,500公斤。馬克一號可以執行四則運算、三角函數及對數的演算法。不過這部機器有點龜速,做一次乘法需要3~5秒。

1947年艾肯完成改良的馬克二號,以快速的電磁式繼電器(Electromagnetic Relay)取代馬克一號的機電式的計數器(Electro-mechanical Counter),做一次乘法耗時0.75秒,比馬克一號快8倍。

馬克一號和二號都是儲存程式型電腦(Stored-program Computer),將數據(Data)及指令(Instruction)區隔,這是有名的哈佛架構(Harvard Architecture),不過在此硬體架構下,寫程式不太容易。

1947年馬克二號成員由電腦移除一隻導致繼電器(Relay)故障的2英吋飛蛾,是全世界第一次書面記錄「電腦抓蟲」(Computer Debug) 。從此以後,程式診錯就叫「抓蟲」。

1949年艾肯完成馬克三號。這部機器使用5,000個真空管和1,500個二極體,做一次乘法僅需0.44秒。馬克三號仍然採用哈佛架構,最後被范紐曼架構(von Neumann Architecture)打敗。