曼徹斯特一型

曼徹斯特1型(Manchester Mark 1)[註 2]是最早的存儲程序計算機之一,在英國曼徹斯特維多利亞大學研發的別稱為「寶貝」的小規模實驗機英語Manchester Baby(簡稱『SSEM』,1948年6月開始運行)基礎上開發完成。它也被稱為曼徹斯特自動數字機(Manchester Automatic Digital Machine),或簡稱為MADM[3]。研發工作始於1948年8月,第一個版本於1949年4月開始運作:一個為了尋找梅森素數而編寫的程序在1949年6月16日至17日的晚上無誤差的運行了9個小時。

Manchester Mark 1
產品系列曼徹斯特計算機英語Manchester computers
前代機種曼徹斯特SSEM英語Manchester Baby
後繼機種費倫蒂1型英語Ferranti Mark 1[註 1]

該機器成功運作的的消息在英國媒體上被廣泛報道,媒體使用「電子大腦(electronic brain)」這一短語讀者描述。這種描述引起了曼徹斯特大學神經外科系主任的強烈反響,並最終演變成一場關於電子計算機是否真正具有創造性的長期爭論。

曼徹斯特1型(下文簡稱Mark 1)原本只是計劃為大學提供計算資源,讓研究人員獲得計算機實際應用的經驗,但很快也成為了費朗蒂英語Ferranti[註 3]公司商業版計算機設計的基礎。Mark 1的開發於1949年底中止,機器本體則在1950年底被廢棄,並最終於1951年2月被世界上第一台商用通用電子計算機費倫蒂1型英語Ferranti Mark 1所取代。[7]

Mark 1具有特別的歷史意義,因為它在設計上開創性地包含了索引寄存器英語index register,這一創新使程序更容易按順序讀取內存中的組。該機器的開發產生了34項專利,其設計背後的許多理念被納入隨後的商業產品,如IBM 701英語IBM 701702英語IBM 702以及費倫蒂1型等。首席設計師弗雷德里克·威廉姆斯英語Frederic C. Williams[註 4]湯姆·吉爾本英語Tom Kilburn[註 5]從他們對Mark 1的經驗得出結論,計算機在科學角色中的使用比在純數學中更多。1951年以後他們開始研製Mark 1的繼任者,也就是包含有一個浮點單元的Meg。

背景

1936年,數學家阿蘭·圖靈發表了理論上「通用計算機器」的定義。圖靈證明,通過編寫算法,這樣的機器可以解決任何可以想到的數學問題[8]。在20世紀40年代,圖靈和其他人如康拉德·楚澤發展了使用計算機自己的記憶體而不是磁帶來保存程序和數據的想法[9],但Mark 1基於的卻是數學家約翰·馮·諾伊曼定義的廣受認可的「存儲程序計算機」架構[10]。 馮·諾依曼計算機的實際構造取決於合適的存儲器設備的可用性。曼徹斯特大學SSEM,世界上第一台電子存儲程序計算機於1948年6月21日開始運作第一個項目,成功地證明了存儲程序方法和威廉姆斯管的實用性,威廉姆斯管是基於標準陰極射線管(CRT)的早期計算機存儲器形式[11]。早期的電子計算機通常通過重新布線或通過插頭和配線板進行編程;沒有單獨的程序存儲在內存中,就像在現代計算機中一樣。例如,ENIAC的重新編程可能需要幾天時間[12]。其他研究人員也在開發存儲程序計算機,特別是英國國家物理實驗室Pilot ACE劍橋大學EDSAC美國陸軍EDVAC[13]。SSEM和Mark 1的主要區別在於使用威廉姆斯管作為記憶裝置,而不是水銀延遲線[14]

從1948年8月左右開始,SSEM被深入開發為Mark 1的原型,而這最初的目的是為大學提供更現實的計算設施[15]。1948年10月,英國政府首席科學家班·洛克史派瑟英語Ben Lockspeiser在訪問曼徹斯特大學時展示了原型Mark 1。洛克史派瑟對他所看到的立即與當地費朗蒂公司簽訂政府合同以製造該機器的商業版本費倫蒂馬克一號的情形印象深刻[16]。在1948年10月26日致公司的信中,洛克史派瑟准許該公司「按照我們討論的方針進行,即按照弗雷德里克·威廉姆斯教授的指示建造一台電子計算機」[17]。從那時起,Mark 1的開發開始有了額外的目標,就是為費朗蒂公司提供以商業機器為基礎的設計[18]。英國政府與費朗蒂公司的合同從1948年11月開始為期共五年,每年約3.5萬英鎊(相當於2021年每年135萬英鎊[19][20][a]

開發和設計

 
功能示意圖顯示了威廉姆斯管(綠色)。C管保存當前指令及其地址;A管是累加器;M管用於保持被乘數和乘數以進行乘法運算;B管包含索引寄存器,用於修改指令。

SSEM由弗雷德里克·威廉姆斯、湯姆·吉爾本和傑夫·圖特爾英語Geoff Tootill[註 6]團隊設計。研發工作始於1948年8月。該項目很快就有了雙重目的,即為費朗蒂公司提供一種工作設計,他們可以在這種設計上建立商用機器費倫蒂馬克一號;以及構建一台計算機,使研究人員能夠獲得如何在實踐中使用這種機器的經驗。Mark 1的兩個版本中的第一個——被稱為中介版本——於1949年4月開始運作[15]。但是,第一個版本缺少諸如在主存儲器及其新開發的磁性後備存儲器之間以編程方式傳輸數據所需的指令,這必須通過暫停機器並手動啟動傳輸來完成。這些缺失的功能已納入最終規範版本,該版本於1949年10月得以完全正常工作[18]。這台機器包含4,050個真空管,功耗為25千瓦[23]。為了提高可靠性,這台機器使用了GEC專門製造的CRT以代替SSEM使用的標準設備[7]

原本SSEM上使用的32位字節長度被追加到了40字節。每個字可以包含一個40位數或兩個20位程序指令。主存儲器最初由兩個雙密度威廉姆斯管組成,每個管都有兩個32x40位——稱為頁面英語Page (computer memory)——由磁鼓支持的陣列,能夠存儲另外32頁。最終規格版本的主存儲器有4個威廉姆斯管以提供8頁主存儲,128個磁鼓頁作為後備存儲[18]。直徑12-英寸(300-公釐)的磁鼓最初被稱為磁輪,在其表面周圍包含一系列平行的磁軌,每個磁道都有自己的讀/寫頭[24]。每個磁軌可以存儲2,560位,對應兩頁(2×32×40位)。磁鼓的一次旋轉花費30毫秒,在此期間可以將兩頁都傳送到CRT的主存儲器,儘管實際的數據傳輸時間取決於延遲,即頁面到達讀/寫頭下所花費的時間。將頁面寫入磁鼓中的時間大約是讀取時間的兩倍[18]。磁鼓的轉速與主CPU時鐘同步,而且支持添加額外的磁鼓。使用目前仍稱為曼徹斯特編碼的相位調製技術將數據記錄到鼓上[25]

開發過程中,Mark 1的指令集從SSEM最初的7個增加到了26個,包括了硬件層支持的乘法指令。在最終規格版本中,指令集增加到30個。每個字被允許分配10位以保存指令代碼。標準指令時間為1.8毫秒,但乘法速度要慢很多,具體取決於運算數的大小。[26]

Mark 1最重要的創新通常被認為是其引入了在現代計算機上常見的索引寄存器。SSEM已經包含了兩個以威廉姆斯管實現功能的寄存器:累加器(A管)和程序計數器(C管)。由於已經分配了A和C,所以用於保存兩個寄存器的電子管(最初被稱為B-line)被命名為B管。寄存器中的內容可用於修改程序指令,允許方便地通過存儲在存儲器中的數字數組進行迭代。然而Mark 1還有第四個管(M),用於保持被乘數和乘數以進行乘法運算。[25]

編程

 
穿孔帶的一部分顯示一個40位字如何被編碼為8個5位字符。

在為每個程序指令分配的20位中,10位用於保存指令代碼,這種設計支持1024(210)個不同的指令。設計之初僅有26位[15],但當增加了以編程方式控制磁鼓和CRT主存儲器之間數據傳輸的功能代碼之後,指令代碼被增加到了30位。在中間版本上,操作員通過按鍵開關進行程序輸入,機器在稱為輸出設備的陰極射線管上輸出為一系列點和短劃線,就像在已經開發出Mark 1的Baby上一樣。然而,1949年10月完成的最終規格機器得益於新增的帶有五孔紙帶讀取器和打孔器英語Punched tape電傳打字機而變得更易於輸入輸出。[18]

於1948年9月被任命為曼徹斯特大學計算機實驗室名譽副主任的數學家艾倫·圖靈[15],設計了基於標準ITA2的5位電傳打印機代碼的底數32英語base 32編碼方案,允許將程序和數據從紙帶上讀取和寫入[27]。ITA2系統將可以用5位(25)表示的32個二進制值中的每個二進制值映射到單個字符。因此「10010」代表「D」、「10001」代表「Z」……依此類推。圖靈僅更改了一些標準編碼。例如00000和01000,在電傳打印機代碼中原本分別表示的「空字符」和「換行」,在此則分別表示字符「/」和「@」。用斜線表示的二進制零是程序和數據中最常見的字符,導致序列會被寫為「//////////////」。一位早期用戶提到圖靈之所以選擇使用斜線,其實是由於他的潛意識,代表從骯髒的窗戶看到的雨水的樣子,反映了曼徹斯特的「慘澹」天氣。[28]

由於Mark 1的字長為40位,因此需要8個5位電傳打印機字符來編碼每個字。因此,例如二進制字:

10001 10010 10100 01001 10001 11001 01010 10110

將在紙帶上表示為ZDSLZWRF。存儲中任何單詞的內容也可以通過電傳打字機的鍵盤進行設置,然後輸出到其打印機上。該機器在內部以二進制工作,但是它能夠分別對其輸入和輸出執行必要的十進制到二進制或者二進制到十進制的轉換。[24]

Mark 1沒有定義匯編語言。程序必須以二進制形式編寫和提交,每個40位字由8個5位字符編碼;鼓勵程序員記住修改後的ITA2編碼方案,以使其工作更輕鬆。在程序控制下,從紙帶打孔器讀取和寫入數據。 Mark 1也沒有硬件中斷系統。在啟動讀取或寫入操作之後,程序繼續運行,直到遇到另一條輸入/輸出指令為止,此時機器會等待第一條指令完成。[29]

Mark 1沒有操作系統,它唯一的系統軟件是一些用於輸入和輸出的基本例程[7]。就像在之前開發的SSEM一樣,與既定的數學慣例相反,Mark 1設定的存儲位置被安排在左側的最低位。因此,一個「1」用五位表示為「10000」,而不是更傳統的「00001」。負數則用二補數表示,就像今天大多數計算機一樣。[29]

第一個程序

第一個在Mark 1上運行的實際程序是在1949年4月初啟動的搜索梅森素數。這個任務在1949年6月16日至17日晚上無錯誤地運行了9個小時[30]。該程序的算法部分由曼徹斯特大學數學系主任馬克斯·紐曼英語Max Newman[註 7]制定,主程序則由吉爾本和圖特爾編寫。艾倫·圖靈後來寫了一個優化版本的程序,被稱為「Mersenne Express」。[25]

直到1950年,曼徹斯特馬克1繼續進行有用的數學工作,包括對黎曼猜想光學領域中相關計算的研究[32][33]

後期發展

1949年8月,圖特爾暫時從曼徹斯特大學轉到費朗蒂公司,與該公司合作了四個月並繼續進行費倫蒂馬克一號的設計[34]。1950年8月,曼徹斯特1型被拆除並報廢[35],幾個月之後被第一台費倫蒂馬克一號取代,後者是世界上第一台商用通用計算機[7]

從1946年到1949年,在Mark 1及其前身SSEM上工作的設計團隊平均規模大約為4人。在此期間,團隊一共獲得了34項專利[3]。1949年7月,IBM提供全款邀請威廉姆斯前往美國進行一次旅行,以便討論有關Mark 1的設計。該公司之後將獲得的Mark 1相關部分專利授權使用在了自家設計的機器上,包括IBM 701和702等[36]。Mark 1最重要的設計影響,可能就算其首次引入牽引寄存器。這項專利最終掛在威廉姆斯、吉爾本、圖特爾和紐曼等人名下[3]

吉爾本和威廉姆斯得出的結論是,計算機在科學領域中的使用將比純數學領域更廣泛,並決定開發一種包含浮點單元的新機器。新項目始於1951年,由此建成的機器於1954年5月開始運行其第一個程序,被稱為Meg或megacycle機器。它比Mark 1更小更簡單,解決數學問題的速度也更快。費朗蒂公司生產了一款Meg,其中的威廉姆斯管被替換為更可靠的核心內存,以Ferranti Mercury英語Ferranti Mercury的名義銷售。[37]

文化影響

Mark 1及其前身SSEM的成功運作在英國媒體上得到了廣泛的報道,英國媒體使用「電子大腦」這一短語來描述這些機器[38]路易斯·蒙巴頓勳爵早在1946年10月31日發表於英國無線電工程師學會的演講中就引入了這一術語,他在該演講中推測當時可用的原始計算機是如何發展的[39]。令人興奮的是1949年報道的第一台可識別的現代計算機引起了開發人員意想不到的反應; 曼徹斯特大學神經外科教授傑弗里·傑弗遜爵士英語Geoffrey Jefferson[註 8]於1949年6月9日被要求發表「李斯特演說英語Lister Medal」時選擇了「機械人的思想」作為他的主題[41]。在他的講話中他說:

直到一台機器因為感覺到的思想和情感而寫十四行詩或一首協奏曲,並且不是由於符號的偶然掉落,我們才能同意機器等於大腦-也就是說,不僅要寫它而且要知道它已經寫了它。當機器無法獲得想要的東西時,沒有機器會為它的成功感到高興,因其閥門熔斷而悲痛,因奉承受寵若驚,因其錯誤而悲慘,因性而着迷,為之生氣或痛苦。[註 9][41]

泰晤士報》第二天報道了傑斐遜的講話,並補充說傑斐遜預測「皇家學會的優雅房間被改建成車庫以容納這些新人的這一天永遠不會到來」。作為回應,紐曼為《泰晤士報》撰寫了一篇後續文章,並在文章中聲稱Mark 1的結構與人類大腦之間存在着相似的類比[42]。他的文章包括對圖靈的採訪,他補充說:

這只是即將發生的事情的預兆,只是即將發生的事情的陰影。在真正了解機器功能之前,我們必須具有一些機器方面的經驗。我們可能需要很多年才能適應新的可能性,但是我不明白為什麼它不應該進入人類智力通常涵蓋的任何領域,並最終平等競爭。[註 10][43]

另見

腳註

注釋

  1. ^ 見英國零售價指數英語Retail Price Index,數據來自Clark, Gregory. The Annual RPI and Average Earnings for Britain, 1209 to Present (New Series). MeasuringWorth. 2017 [2022-06-11]. 

原文引用和譯注

  1. ^ 譯名參考自癮科技[1]
  2. ^ 譯名參考自新華網[2],另有來源(誤)譯作「曼徹斯特馬克一號」[1]
  3. ^ 譯名參考自《硅⾕百年史: 偉⼤的科技創新與創業歷程: 1900~ 2013》[4],另有來源譯為「費朗替」[5]或者「費倫蒂」[6]
  4. ^ 譯名參考自《硅⾕百年史: 偉⼤的科技創新與創業歷程: 1900~ 2013》[4]
  5. ^ 譯名參考自《硅⾕百年史: 偉⼤的科技創新與創業歷程: 1900~ 2013》[4]
  6. ^ 譯名參考自中國圖書對外推廣網[21],另有來源譯為「吉爾夫土提爾」[22]
  7. ^ 譯名參考自鳳凰網。[31]
  8. ^ 譯名參考自雷鋒網。[40]
  9. ^ 原文為:「Not until a machine can write a sonnet or compose a concerto because of thoughts and emotions felt, and not by the chance fall of symbols, could we agree that machine equals brain – that is, not only write it but know that it had written it. No machine could feel pleasure at its success, grief when its valves fuse, be warmed by flattery, be made miserable by its mistakes, be charmed by sex, be angry or miserable when it cannot get what it wants.」
  10. ^ 原文為:「This is only a foretaste of what is to come, and only the shadow of what is going to be. We have to have some experience with the machine before we really know its capabilities. It may take years before we settle down to the new possibilities, but I do not see why it should not enter any of the fields normally covered by the human intellect and eventually compete on equal terms.」

參考來源

  1. ^ 1.0 1.1 Atticus Wu. 世界上第一台現代電腦六十歲囉!. engadget.com. 2008-06-25 [2019-10-09]. (原始內容存檔於2019-10-08) (中文(繁體)). 
  2. ^ 王心馨. 计算机界“诺贝尔奖”公布:万维网发明者获奖-新华网. us.xinhuanet.com. 2017-04-05 [2019-06-24]. (原始內容存檔於2019-06-24) (中文(中國大陸)). 
  3. ^ 3.0 3.1 3.2 Lavington (1998),第20頁.
  4. ^ 4.0 4.1 4.2 斯加魯菲 2014,第176頁.
  5. ^ 量子计算的前世今生,看这篇万字长文就够了. www.sohu.com. 2016-10-15 [2019-07-06]. (原始內容存檔於2019-07-06) (中文(中國大陸)). 
  6. ^ 英国DCC/KAlS潜艇指挥和武器控制系统. 2005-03-11 [2019-10-09]. (原始內容存檔於2019-10-08) (中文). 
  7. ^ 7.0 7.1 7.2 7.3 The Manchester Mark 1, University of Manchester, [2009-01-24], (原始內容存檔於2008-11-21) (英語) 
  8. ^ Turing, A. M., On Computable Numbers, with an Application to the Entscheidungsproblem (PDF), Proceedings of the London Mathematical Society, 2 42, 1936, 42: 230–2651936–37 [2019-06-25], doi:10.1112/plms/s2-42.1.230, (原始內容 (pdf)存檔於2011-05-06) (英語) .
  9. ^ Lee (2002),第67頁.
  10. ^ Lavington (1998),第7頁.
  11. ^ Enticknap, Nicholas, Computing's Golden Jubilee, Resurrection (The Bulletin of the Computer Conservation Society), Summer 1998, (20) [2008-04-19], ISSN 0958-7403, (原始內容存檔於2019-05-20) (英語) 
  12. ^ Early Electronic Computers (1946–51), University of Manchester, [2008-11-16], (原始內容存檔於2009-01-05) (英語) 
  13. ^ Lavington (1998),第9頁.
  14. ^ Lavington (1998),第8頁.
  15. ^ 15.0 15.1 15.2 15.3 Lavington (1998),第17頁.
  16. ^ Lavington (1998),第21頁.
  17. ^ Newman's Contribution to the Mark 1 Machines, University of Manchester, [2009-01-23], (原始內容存檔於2008-05-11) (英語) 
  18. ^ 18.0 18.1 18.2 18.3 18.4 Napper, R. B. E., The Manchester Mark 1, University of Manchester, 2005-03-30 [2009-01-22], (原始內容存檔於2008-12-29) (英語) 
  19. ^ 見英國零售價指數英語Retail Price Index,數據來自Clark, Gregory. The Annual RPI and Average Earnings for Britain, 1209 to Present (New Series). MeasuringWorth. 2017 [2022-06-11]. 
  20. ^ Lavington (1980),第39頁.
  21. ^ 大英图书馆创建英国科学在线档案库_海外出版_新闻中心_中国图书对外推广网. www.chinabookinternational.org. [2019-07-21]. (原始內容存檔於2019-07-21) (中文(中國大陸)). ……科學家是傑夫.圖特爾(Geoff Tootill)…… 
  22. ^ 紀念世界第一台儲存程式電腦「Baby」65 週年. VR-Zone 中文版. 2013-06-22 [2019-07-21]. (原始內容存檔於2019-07-21) (中文(臺灣)). ……和吉爾夫土提爾(Geoff Tootill)開發…… 
  23. ^ Lavington, S. H., The Manchester Mark 1 and Atlas: a Historical Perspective (PDF), University of Central Florida, 1977-07 [2009-02-08], (原始內容存檔 (PDF)於2009-03-04) (英語) . (Reprint of the paper published in Communications of the ACM (January 1978) 21 (1)
  24. ^ 24.0 24.1 Kilburn, Tom, The University of Manchester Universal High-Speed Digital Computing Machine, University of Manchester, [2009-02-02], (原始內容存檔於2009-01-07) (英語) . (Reprint of Kilburn, Tom (1949). "The University of Manchester Universal High-Speed Digital Computing Machine". Nature 164).
  25. ^ 25.0 25.1 25.2 Lavington (1998),第18頁.
  26. ^ Lavington (1998),第17–18頁.
  27. ^ Leavitt (2007),第232頁.
  28. ^ Leavitt (2007),第233頁.
  29. ^ 29.0 29.1 Napper, R. B. E., Programmers' Handbook (2nd Edition) for the Manchester Electronic Computer Mark II, University of Manchester, 2005-03-30 [2009-01-23], (原始內容存檔於2009-05-26) (英語) 
  30. ^ Napper (2000),第370頁.
  31. ^ 谷歌捐10万美元拯救阿兰·图灵手稿_科技频道_凤凰网. tech.ifeng.com. 2010-11-24 [2019-07-21]. (原始內容存檔於2019-07-21) (中文(中國大陸)). ……先驅人物馬克斯·紐曼(Max Newman)持有…… 
  32. ^ Lavington (1998),第19頁.
  33. ^ The University Of Manchester Computing Machine. curation.cs.manchester.ac.uk. The University Of Manchester Computing Machine(Digital 60). Riemann hypothesis, ray tracing. A Large-scale Machine. [2018-05-21]. (原始內容存檔於2019-10-08) (英語). 
  34. ^ Lavington (1998),第24–25頁.
  35. ^ Lavington (1980),第38頁.
  36. ^ Lavington (1998),第23頁.
  37. ^ Lavington (1998),第31頁.
  38. ^ Fildes, Jonathan, One tonne 'Baby' marks its birth, BBC News, 2008-06-20 [2019-06-28], (原始內容存檔於2012-07-27) (英語) 
  39. ^ An Electronic Brain, The Times, 1 November 1946: 2 
  40. ^ 趙雲峰. 哪些建树归功于图灵,哪些却不能算到他名下?. www.leiphone.com. 2015-09-16 [2019-06-27]. (原始內容存檔於2019-06-27) (中文(中國大陸)). 神經學家傑弗里·傑弗遜(Geoffrey Jefferson) 
  41. ^ 41.0 41.1 Leavitt (2007),第236頁.
  42. ^ Leavitt (2007),第237頁.
  43. ^ Leavitt (2007),第237–238頁.

參考書籍

拓展閱讀

  • Lavington, Simon H., Manchester Computer Architectures, 1948–1975, IEEE Annals of the History of Computing (IEEE), July–September 1993, 15 (3): 44–54, doi:10.1109/85.222841 

外部連結

  • The Manchester Mark 1
  • Early computers at Manchester University in Resurrection (The Bulletin of the Computer Conservation Society) 1 (4), Summer 1992, ISSN 0958-7403