530 likes | 622 Views
物理學、物理學家與電腦的歷史. Physics, Physicists and the History of Computation and Computers 東海大學數學系 ‧ 環科系 ‧ 物理系 計算科學總論. Computer : 原意為計算員,通常指探勘、測量相關工作之計算 起源:數學表的製作 — 對數表、三角函數表等 用途: 船員使用的航海表 天文學家使用的星表 保險人員使用的人壽保險表 建築師使用的土木工程表. 英國自 1766 年起每年制訂一份航海表,稱為「 Nautical Almanac 」,為船員必備聖經。.
E N D
物理學、物理學家與電腦的歷史 Physics, Physicists and the History of Computation and Computers 東海大學數學系‧環科系‧物理系 計算科學總論
Computer: 原意為計算員,通常指探勘、測量相關工作之計算 起源:數學表的製作—對數表、三角函數表等 用途: • 船員使用的航海表 • 天文學家使用的星表 • 保險人員使用的人壽保險表 • 建築師使用的土木工程表 英國自1766年起每年制訂一份航海表,稱為「Nautical Almanac」,為船員必備聖經。
Charlies Babbage(1791-1871): Babbage發現,當時常用的航海表及工程表,有超過一千個以上的錯誤,造成了許多重大災難,由於這些表是人工手算的,因此他希望能開發出可以代替計算員的機械。他於1823年設計出「差分機一號」(Difference Engine No.1),但建造失敗,十年後提出改良版的「差分機二號」。
Analytical Engine 為分析儀寫出一篇著名論文「平反」的Ada Lovelace(1815~1852) ,美國國防部開發的一套程式語言以她為名。 後來Babbage因為有了更好的點子:分析儀而放棄了差分儀,分析儀具有類似「程式化」的現代計算機功能,然而卻沒有受到英國政府的認可補助。
George Boole Boole在1847~1852年間發展出Boolean代數,對電腦的邏輯運算有很重大的影響。 Boolean代數的數字集為{0,1}(相當於FALSE及TRUE),其運算元有聯集(相當於OR)、交集(AND)、以及反(相當於NOT)。
Lord Kelvin (1824~1907) 英國物理學家 Lord Kelvin 於 1876 年發明了以機械裝置模擬計算海水所受的引力大小,據此將海平面高度描繪在紙捲上的「潮汐預報機」。此為一典型的類比計算器,一直到1950年數位計算機出現才將之取代。
大量資料儲存與處理:打孔置的誕生: 1790年,美國開始進行人口普查。隨著人口不斷增加,工作量因而暴增。1880年時,普查報告厚達21000頁,使得傳統人工方法不敷使用。Hollerith發明了「列表機」(Tabulator),成功完成1890年的普查工作。 Herman Hollerith (1859~1929)
Tabulator的關鍵是,將人口普查的資料以一定規則排列的孔洞記錄在紙帶或卡片上,然後用這些機器計算這些打孔卡片所攜帶的資料。於 1890年的普查中,共完成 62,622,250人的統計資料,報告厚達兩萬六千四百零八頁。
Watson & IBM 1914 年Watson加入 CTR(Computing Tabulating Recording Co.) 擔任 總經理,這家公司擁有Hollerith打孔卡片系統的專利權。1924 年這家公司 改名為「國際商業機器」(International Business Machine Co.)即今日 的IBM,主要商品仍是打孔卡片系統。歷經1929年大崩盤以及三零年代初期大蕭條之洗禮,IBM的傳奇於焉開始。 Thomas J. Watson 1874~1956
Konard Zuse (1910~1995) 德國科學家,於二次大戰期間建造了第一部可以編寫程式的計算機Z1(1936),被許多人視他現代電腦的發明者。Zuse並且開發了第一個高階程式語言「Plankalkul」。
原版的 Z1 於 1943 年被盟軍摧毀,Zuse 於 1989 年根據原設計 重建了 Z1。
1941年Zuse利用大量報廢的實驗室零件建造了Z3,功能更加完整,一般視其為現代電腦的鼻組(Z1為原型機)。Z3由三大單元組成:控制單元、儲存單元、運算單元。工作時脈為5~10Hz,每作一次加法的時間是0.7秒,乘除法為3秒,重量一公噸,消耗功率4千瓦。1944年被炸毀,右圖為1960年重建的Z3。1941年Zuse利用大量報廢的實驗室零件建造了Z3,功能更加完整,一般視其為現代電腦的鼻組(Z1為原型機)。Z3由三大單元組成:控制單元、儲存單元、運算單元。工作時脈為5~10Hz,每作一次加法的時間是0.7秒,乘除法為3秒,重量一公噸,消耗功率4千瓦。1944年被炸毀,右圖為1960年重建的Z3。
1941 : ABC — Atanasoff-Berry Computer 第一部數位電子式電腦,建造於愛荷華州立大學,採用了磁鼓式動態存取記憶體(Drum DRAM)、電子 開關、二進位演算法等,對後來的發展影響極大。由於當時ENIAC搶盡了鋒頭,Atanasoff因此被稱為「被遺忘的電腦之父」。 J.V. Atanasoff & C. Berry
1941 : Harvard Mark I 正式名稱為IBM自動控制序列計算機(Automatic Sequence Controlled Calculator),為IBM贊助哈佛大學建造,主要功能 是計算彈道、破譯密碼。主要負責人是Howard Hathaway Aiken (1900~1973),重達五噸,每秒可作三次加法,乘除法耗時六秒。速度雖然慢,不過卻是第一台「全自動機器」,也可說是機械式計算機的「盡頭」。。
1946 : ENIAC ENIAC為 Electronic Numerical Integrator and Computer之縮寫。 為了計算彈道射擊表,由彈道研究實驗室以及賓州大學摩爾電機學院計畫開發,發明人為Eckert與Mauchly。1945年11月建造完成,重達三十噸,佔地一千平方呎,耗能150kW(第一部具有獨立空調的電腦),內含18000支真空管(當時最大的電子儀器約有400支)。計算時脈為100Hz,每秒作5000次加法,400次乘法。於1955年退役。 J.P. Eckert (1919~1995) J.W. Mauchly (1907~1980)
1920~30年代,以人工計算射擊表,60秒的彈道計算耗時20小時,1935年以類比計算機計算,時間縮短為15分鐘,ENIAC則可在數秒內計算完成。1920~30年代,以人工計算射擊表,60秒的彈道計算耗時20小時,1935年以類比計算機計算,時間縮短為15分鐘,ENIAC則可在數秒內計算完成。
電子技術 vs. 邏輯結構 1944年,數學家馮紐曼(John von Neumann,1903~1957)造訪了摩爾學院 ENIAC的實驗室。在他到訪之前,Eckert曾說:「要知道馮紐曼是不是一個真正的天才,就看他的第一個問題是不是:『這部機器是否會變成邏輯的結構?』」這的確是馮紐曼的第一個問題。之後馮紐曼成為計畫的顧問,致力於研究機器的數學與邏輯結構。 John von Neumann 1903~1957
邏輯閘(Logic Gate) (b) B=Ā (a) B=A
二進位加法: 240+204 相對的邏輯電路
馮紐曼加入ENIAC 計畫後,開始進行改良設計,他認為 ENIAC 主要的缺點為: 1. 儲存容量太小 2. 真空管太多 3. 程式化時間過長 前兩點以Mauchly為首的技術人員加以改進,而第三點由馮紐曼提出的新架構「儲存程式電腦」(stored-program comptuer)改善。
馮紐曼架構最大的特徵是,將程式「編碼」後,儲存於記憶體中,而不再由外部的機械或是電子開關控制。也就是說,將程式指令也變成「資料」,運算單元自記憶體中讀取指令來執行。此概念產生了深遠的影響:設計時無須考慮特定題目,電腦擁有了廣泛的通用性。馮紐曼架構最大的特徵是,將程式「編碼」後,儲存於記憶體中,而不再由外部的機械或是電子開關控制。也就是說,將程式指令也變成「資料」,運算單元自記憶體中讀取指令來執行。此概念產生了深遠的影響:設計時無須考慮特定題目,電腦擁有了廣泛的通用性。
EDVAC: Electronic Discrete Variable Automatic Computer ENIAC順利開發與馮紐曼的加入,讓ENIAC團隊充滿信心,於是在馮紐曼提議下,向彈道實驗室提出了下一代的機種:EDVAC。
EDVAC 馮紐曼針對 ENIAC 的缺點,對 EDVAC 提出了三個建議: 1.新的計算機應採取二進位,而不是ENIAC所採用的十進位,以節省記憶體。 2.改變記憶體的硬體架構。 3.邏輯架構重新設計,以減少電子元件數目,增加可靠性。
Mercury Delay Line 為了解決記憶體不足的問題,Eckert採用了當時雷達的技術:延遲線:將電子訊號轉變成水銀腔中的超音波,由於音波傳遞較電子訊號慢,五英尺長的延遲線可以產生約一毫秒的延遲,若一個電子脈衝長度為一微秒,則可以儲存1000位元的資料。
EDVAC • 採用二進位 • 延遲線的設計 • 邏輯結構的重新規劃 大幅減少了真空管的使用量,EDVAC一共有3600支真空管,只有ENIAC的五分之一,可靠度因而大大提升。
1945年六月,馮紐曼寫下了著名的文獻:「First Draft of a Report on the EDVAC」,敘述程式儲存電腦的基本 概念,由於是做為內部文件初稿,引用資料並不完全,但是由於內容太過重要,後來廣為流傳的結果,「程式儲存電腦概念」一詞被「馮紐曼架構」所取代,也讓他獨享了現代電腦發明者的功勞。這個結果雖非有意,卻也引起了Eckert等同僚的不滿,造成了工程專家與邏輯學家之間進一步的分裂。
磁芯記憶體:Magnetic Core Memory 1950年由MIT的(J.Forrester)研發成功,以磁性材料環作為儲存媒體。使用的原理為以一條導線通過此磁性環,通以不同方向的電流脈衝,則會引起不同的磁化方向(右手定則),以兩種不同的磁化方向代表0或1的二進位信號。
實際的運作上,一個磁環必須通過四條導線,其中兩條為定址用,另外兩條為寫入與讀出。實際的運作上,一個磁環必須通過四條導線,其中兩條為定址用,另外兩條為寫入與讀出。 1954年,UNIVAC為第一部安裝磁芯記憶體的商用電腦。
磁芯的尺寸越小,所需的驅動電流與功率消耗也越小、讀寫時間越短、可以更密集地排列縮小計算機體積、縮短電訊號在導線中的延遲。磁芯內外徑的比因此一路由2mm/1.3mm演變到0.18/0.10的程度。磁芯的尺寸越小,所需的驅動電流與功率消耗也越小、讀寫時間越短、可以更密集地排列縮小計算機體積、縮短電訊號在導線中的延遲。磁芯內外徑的比因此一路由2mm/1.3mm演變到0.18/0.10的程度。
然而磁芯越小,製造的工藝越困難,以0.5/0.3的磁芯為例,為了製造16384個字長度32bit的記憶體,需要穿32塊128X128,尺寸為16cmX16cm的磁芯板(524288個磁芯),全部得以手工完成,當年許多電腦公司在亞洲地區建立磁芯生產線,利用大量的廉價婦女勞工來穿磁芯。1968年美國就生產了兩百億個以上的磁芯。然而磁芯越小,製造的工藝越困難,以0.5/0.3的磁芯為例,為了製造16384個字長度32bit的記憶體,需要穿32塊128X128,尺寸為16cmX16cm的磁芯板(524288個磁芯),全部得以手工完成,當年許多電腦公司在亞洲地區建立磁芯生產線,利用大量的廉價婦女勞工來穿磁芯。1968年美國就生產了兩百億個以上的磁芯。
1950年代:電晶體電腦 1954年,德州儀器公司(Texas Instrument)引入電晶體技術,可以大幅降低電腦生產成本。1956年,UNIVAC電晶體版設計完成。
1957: Fairchild Semicon. 與積體電路 Gordon Moore 與 Robert Noyce 於矽谷創立 Fairchild 半導體公司,生產電腦用的電晶體,主要客戶是IBM。 1958年,J. Kilby(德州儀器)發明第一個Si/Ge積體電路,次年,Fairchild亦提出積體電路設計,最後在專利申請時,由Fairchild拔得頭籌。 TI的第一個SI/GE積體電路,實際大小為0.04×0.062英吋。
1963: 邏輯電路 Fairchild 於 1963 年推出的 907 邏輯電路,包含兩個邏輯閘,各由四個電阻以及四個電晶體。右圖實際大小為0.038×0.048英吋。
1971:第一個微處理器—INTEL 4004 1968年Moore, Noyce 以及Andrew Grove創辦了INTEL 公司,於1971年推出了第一個微處理器4004。INTEL 4004為一 4-bit 之微處理器,內含2300個電晶體,可以在11微秒內完成一次加法。右圖實際大小為0.11×0.15英吋。
1988: Mathematica 1986年,曾任職於加州理工學院、普林斯頓高等研究院以及伊利諾大學的物理學家Stephen Wolfram創建了Wolfram Research,進行「符號計算」軟體的研發,於1988年推出了Mathematica的第一版
1989: World Wide Web 1989年,CERN(歐洲原子核研究所)的物理學家Tim Berners-Lee為了方便與同事交換資料,開發出一種新的傳輸協定以及相關的語法: • HTTP: HyperText Transfer Protocol • URL: Uniform Resource Loc ator • Hypertext Markup Language 並且寫出了第一個瀏覽器程式以及架設了第一個WWW網站:info.cern.ch WWW的出現,造成網路世界空前的急速發展