官术网_书友最值得收藏!

今天的計算機有著龐大久遠的世系淵源,其中較早的一個計算設備是算盤。歷史告訴我們,它可能源于中國古代且曾被用于早期希臘和羅馬文明。算盤本身非常簡單,一個矩形框里固定著一組細桿,而每個細桿上又各串有一組珠子(見圖0-3)。在細桿上,珠子上下移動的位置就表示其所存儲的值。這些珠子的位置代表了這臺“計算機”表示和存儲的數據。這臺機器是依靠人的操作來控制算法執行的。因此,算盤自身只算得上一個數據存儲系統,它必須在人的配合下才能成為一臺完整的計算機器。

圖0-3 中國木制算盤(Ekkapon/Shutterstock)

從中世紀到近代,人們一直在探求更復雜的計算機器。一些發明家開始基于齒輪技術設計計算機器。采用這種技術的發明家有法國的布萊斯·帕斯卡(Blaise Pascal,1623—1662)、德國的戈特弗里德·威廉·萊布尼茨(Gottfried Wilhelm Leibniz,1646—1716)和英國的查爾斯·巴貝奇(Charles Babbage,1792—1871)。這些機器利用齒輪的位置來表示數據,要在規定齒輪初始位置的基礎上機械地輸入數據。帕斯卡和萊布尼茨的機器所計算的結果是通過觀察齒輪的最終位置得到的。但巴貝奇構想的機器,則可以把計算的結果打印在紙上,從而消除可能出現的抄寫錯誤。

就執行算法的能力而言,我們可以看到這些機器在靈活性上的進步。帕斯卡的機器只是為了執行加法而設計的,因此必須將正確的步驟序列嵌入機器結構本身。同樣,萊布尼茨的機器也把算法嵌入了其機器結構中,但是操作員可以從它提供的各種算術操作中進行選擇。巴貝奇設計的差分機(Difference Engine)(只造了一個演示模型)可以通過修改來執行各種計算,但他設計的分析機(Analytical Engine)(從未得到過構造資助)則能夠在打孔紙卡片上讀取以洞孔形式表示的指令。因此,巴貝奇的分析機是可編程的。事實上,奧古斯塔·艾達·拜倫(Augusta Ada Byron,通稱Ada Lovelace)經常被認為是世界上第一位程序員,她曾發表過一篇論文,闡述巴貝奇的分析機是如何通過編程實現各種計算的。

巴貝奇的差分機

查爾斯·巴貝奇設計的這臺機器的確是現代計算機設計的先驅。如果能用比較經濟的方式制造出這臺機器,如果當時商業和政府的數據處理需求達到今天的規模,那么巴貝奇的想法可能在19世紀就引發了計算機革命。然而結果卻是,他在有生之年只造出了差分機的演示模型。該機器通過計算“逐次差分”來確定數字值。我們可以通過考慮整數平方的計算問題,深入了解這一技術。我們先從基礎知識開始,0的平方是0,1的平方是1,2的平方是4,3的平方是9。據此,我們可以按照下面的方法得到4的平方(見下圖)。現在,我們先計算一下已知的平方之間的差:12 - 02 = 1,22 - 12 = 3,32 - 22 = 5。然后,我們計算這些結果的差:3 - 1 = 2,5 - 3 = 2。注意,這些差都是2。假設這個規律能夠成立(數學上可以證明它是成立的),那么我們可以得出這樣的結論:(42 - 32)和(32 - 22)之間的差也一定是2。因為(42 - 32)一定比(32 - 22)大2,所以42 - 32 = 7,因而42 = 32+7 = 16。現在,我們已經知道了4的平方,那么就可以依據12、22、32和42的值繼續計算5的平方。(雖然更深入地討論逐次差分已經超出了現在的學習范圍,但是學過微積分的學生可能已觀察到,前面的例子是基于“y = x2的二階導數是一條直線”這個事實得出的。)

奧古斯塔·艾達·拜倫

奧古斯塔·艾達·拜倫(洛夫萊斯伯爵夫人)是計算界關注的焦點人物。艾達·拜倫的一生近乎悲慘,去世時還不到37歲(1815—1852)。她體弱多病,身處限制婦女從業的社會,是個不墨守成規的人。盡管她對很多科學領域都感興趣,但最感興趣的還是數學。1833年,目睹了查爾斯·巴貝奇的差分機樣機演示后,她就被這臺機器迷住了,從此對“計算科學”產生了興趣。她把一篇討論巴貝奇分析機設計的論文從法文翻譯為英文,這是她最早對計算機科學做出的貢獻。巴貝奇還鼓勵她在翻譯中增加一個附錄,介紹該機器的應用,以及該機器如何編程實現各種任務的示例。巴貝奇對艾達·拜倫的工作十分熱情,他希望這篇論文的發表能夠幫他得到資金支持,建造他的分析機。(作為拜倫勛爵的女兒,艾達·拜倫具有名人的地位,在生意場上也有一定的關系。)雖然巴貝奇的期望落空了,但是艾達·拜倫的附錄保存了下來,人們認為該附錄包含了第一批計算機程序的例子。關于巴貝奇對艾達的工作影響有多大,研究計算機歷史的歷史學家一直爭論不休。有些歷史學家認為,巴貝奇做出了重大貢獻,但另外一些歷史學家則認為,巴貝奇并沒有幫到艾達,從很大程度上來看反而是一種阻礙。無論如何,奧古斯塔·艾達·拜倫都被認為是世界上第一位程序員,美國國防部為了紀念這位偉大的女性,用她的名字命名了一種杰出的程序設計語言(Ada)。

通過紙卡片上的洞孔來傳達算法的想法最初并不是源于巴貝奇。他是從約瑟夫·雅卡爾(Joseph Jacquard,1752—1834)那里得到這個想法的。約瑟夫·雅卡爾于1801年研制出一種織布機,它在織布過程中執行的步驟,是由寬大厚實的木制(或紙板)卡片上的洞孔樣式決定的。因此,織布機的算法很容易進行修改,可以得出不同的編織設計。另一個受益于雅卡爾想法的人是赫爾曼·霍爾瑞斯(Herman Hollerith,1860—1929),他靈活運用這一概念——用紙卡片上洞孔的樣式來表示信息,加速了美國1890年人口普查中的表格處理。(霍爾瑞斯的這項改造促成了IBM的誕生。)這種卡片最終被稱作穿孔卡片,直到20世紀70年代,它仍是與計算機交互的流行工具。

從成本效益上來講,19世紀的技術無法讓帕斯卡、萊布尼茨和巴貝奇設計的復雜齒輪驅動機器付諸生產。但是,隨著20世紀初期電子技術的進步,這個障礙被克服了。這種進步的例子包括喬治·斯蒂比茲(George Stibitz)的電子機械機器和馬克一號(Mark I),前者由貝爾實驗室于1940年建造,后者由霍華德·艾肯(Howard Aiken)和一組IBM工程師于1944年在哈佛大學建造。這些機器使用了大量機械式繼電器,通過電流進行控制。從這個意義上說,這些機器幾乎是一造出來就過時了,因為其他研究人員已在應用真空管技術建造完全電子化的計算機。第一臺真空管機器顯然是阿塔納索夫-貝瑞(Atanasoff-Berry)機器,由約翰·阿塔納索夫(John Atanasoff)和他的助手克利福德·貝里(Clifford Berry),于1937—1941年在艾奧瓦州立學院(現在的艾奧瓦州立大學)建造。另一臺是稱為巨人(Colossus)的機器,在湯米·弗勞爾斯(Tommy Flowers)的指導下建造于英國,該機器在第二次世界大戰后期曾被用來破解德國的情報。(實際上,這類機器至少造了十余臺,但是由于涉及軍事機密和國家安全問題而隱瞞它們的存在,未能列入“計算機家譜”。)不久,更為靈活的機器出現了,如ENIAC(Electronic Numerical Integrator And Computer,電子數字積分計算器),它是由約翰·莫奇利(John Mauchly)和普雷斯波·埃克特(J. Presper Eckert)在賓夕法尼亞大學莫爾電子工程學院研制的(見圖0-4)。

從那時起,計算機器的歷史就開始和技術進步緊密相連,包括晶體管的發明(物理學家威廉·肖克利、約翰·巴丁和沃爾特·布拉頓因此獲得了諾貝爾獎)和后來集成電路的開發(杰克·基爾比因此榮獲了諾貝爾物理學獎)。由于這些技術,以往20世紀40年代房間大小的機器在數十年間縮小到了單機柜大小。與此同時,計算機器的處理能力每兩年便會翻倍(這一趨勢一直持續到了今天)。隨著集成電路技術的進步,計算機中的許多元件都可封裝在玩具大小的塑料塊中做成芯片,在電子市場上很容易就可以買到。

圖0-4 3個女人在操作莫爾學院的ENIAC主控制板。
這臺機器后來搬到了美國陸軍彈道研究實驗室
(圖片來源于美國陸軍)

計算機的普及在很大程度上得益于臺式計算機的發展。臺式計算機的出現是計算機愛好者的功勞,他們通過芯片組合構建了家用計算機。正是在這些計算機愛好者的“地下”活動中,史蒂夫·喬布斯(Steve Jobs)和斯蒂芬·沃茲尼亞克(Stephen Wozniak)制造出了有商業價值的家用計算機,并于1976年成立了蘋果計算機公司(現稱蘋果公司),專門制造和銷售他們的產品。其他經銷類似產品的公司有Commodore、Heathkit和Radio Shack。雖然這些產品在計算機愛好者中很暢銷,但是并沒有被商界普遍接受,商界仍然青睞久負盛名的IBM公司及其大型計算機,這些計算機滿足了大多數的商用計算需求。

1981年,IBM公司推出了它的第一款臺式計算機,稱為個人計算機(personal computer),簡稱PC,其基礎軟件由一個新成立的稱為微軟(Microsoft)的公司開發。PC一經推出立即獲得了極大的成功,并且奠定了這種臺式計算機在商界人士心目中作為日用品的地位。今天,術語PC已被廣泛用于指稱整個這一類機器(來自各個不同廠商),其設計都是從IBM公司最初的臺式計算機演變而來的,而且它們中的大多數還在與微軟公司的軟件一起銷售。不過,有時候,術語PC也能與通用術語臺式機(desktop)或筆記本計算機laptop)互換使用。

在20世紀后期,因特網(Internet)的出現大大改變了人們的溝通方式,這種技術將個人計算機連成了一個全球系統。在這個背景下,英國科學家蒂姆·伯納斯·李(Tim Berners-Lee)提出了一個系統,這個系統可以通過因特網把計算機上存儲的文檔鏈接起來形成錯綜復雜的鏈接信息網,這便是萬維網(World Wide Web),簡稱Web。為了能夠訪問Web信息,人們開發了一種叫作搜索引擎(search engine)的軟件系統,用于篩選Web上的信息,并對篩選結果進行“歸類”,然后利用這個結果幫助用戶研究特定的主題。這一領域的主要參與者有谷歌、雅虎和微軟。這些公司不斷地擴展其與Web相關的活動,而且經常會挑戰我們的傳統思維方式。

與此同時,臺式計算機和筆記本計算機正在被人們所接受,并用于家庭,計算機器的微型化仍在繼續。今天,大量的電器和設備中都嵌有微型計算機。現在的汽車可能就包含了幾十個小型計算機,用于運行全球定位系統(Global Positioning System,GPS),監控發動機的性能,并提供控制汽車音頻和電話通信系統的語音命令服務。

也許,計算機微型化最革命性的應用就是智能手機(smartphone)能力的擴展。智能手機是手持通用計算機,通話應用僅是其眾多應用之一。從功能上講,這種錢包大小的設備比幾十年前的超級計算機還要強大,它配備有大量的傳感器和接口,包括照相機、麥克風、指南針、觸摸屏、加速計(用以檢測手機的方向和動作),以及一系列無線技術(以便與其他智能手機和計算機通信)。很多人認為智能手機對全球社會的影響大于PC革命。

主站蜘蛛池模板: 麟游县| 江北区| 如东县| 黑水县| 芜湖县| 富民县| 白沙| 舞钢市| 永平县| 阿坝| 富锦市| 岳阳市| 锦屏县| 民乐县| 原平市| 靖安县| 湖州市| 汝州市| 呈贡县| 永德县| 大化| 大港区| 涿州市| 武定县| 黎川县| 大宁县| 城步| 祥云县| 新蔡县| 舟山市| 涿州市| 厦门市| 呼和浩特市| 汕头市| 齐河县| 东丽区| 鄱阳县| 精河县| 巩义市| 西和县| 光泽县|