www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]來自:我沒有三顆心臟 「MoreThanJava」?宣揚的是? 「學(xué)習(xí),不止 CODE」,本系列 Java 基礎(chǔ)教程是自己在結(jié)合各方面的知識之后,對 Java 基礎(chǔ)的一個總回顧,旨在? 「幫助新朋友快速高質(zhì)量的學(xué)習(xí)」。 當(dāng)然? 不論新老朋友?我相信您都可以? 從中獲益。如果覺得?

計算機發(fā)展史—從織布機到IBM! 來自:我沒有三顆心臟

  • 「MoreThanJava」 宣揚的是  「學(xué)習(xí),不止 CODE」,本系列 Java 基礎(chǔ)教程是自己在結(jié)合各方面的知識之后,對 Java 基礎(chǔ)的一個總回顧,旨在  「幫助新朋友快速高質(zhì)量的學(xué)習(xí)」。
  • 當(dāng)然  不論新老朋友 我相信您都可以  從中獲益。如果覺得  「不錯」 的朋友,歡迎  「關(guān)注 + 留言 + 分享」,文末有完整的獲取鏈接,您的支持是我前進(jìn)的最大的動力!

一、織布機 | 一切的開端

如今代表智能現(xiàn)代的計算機與老式織布機的血緣關(guān)系超乎你的想象。無論是擺在寫字臺上的 臺式機、塞在口袋里的 掌上電腦、掛在腰上的 移動電話、乃至你家中的很多 家用電器,其實都是 1804 年誕生的 一臺織布機的后代——雅卡爾傳空紙帶提花機。

計算機發(fā)展史—從織布機到IBM!
雅卡爾的穿孔紙帶提花機
  • 圖片源自:http://blog.sciencenet.cn/blog-528739-903746.html

織物與織布機

常見的織物

常見的織物有 「機織物」 和 「針織物」 兩種。

我們平時最為熟悉的 「針織物」 借助的工具是 “針”,利用織針按照一定方向彎曲成線圈形態(tài),然后再將線圈相互串套而形成的織物,可以橫向或者縱向地進(jìn)行,橫向編織稱為緯編織物,而縱向編織稱為經(jīng)編織物。

計算機發(fā)展史—從織布機到IBM!
針織物

而 「機織物」 由兩條或兩組以上的相互垂直的兩個系統(tǒng)紗線或者絲線,在 織機 上按照一定規(guī)律相互交織而形成的織物叫機織物,縱向的紗線 叫 經(jīng)紗,橫向的紗線 叫 緯紗,基本組織有平紋、斜紋和緞紋。

計算機發(fā)展史—從織布機到IBM!
機織物

織機是如何工作和迭代的

計算機發(fā)展史—從織布機到IBM!

在織機上,經(jīng)紗在經(jīng)軸上逐根排列,根據(jù)織物紋樣的要求,部分經(jīng)紗被抬起,另一部分經(jīng)紗則保持不動 形成織口緯紗從織口中引入,經(jīng)紗抬起的規(guī)律不同以及紗線顏色的排列變化,就會給織物帶來不同的紋樣:

計算機發(fā)展史—從織布機到IBM!

可是,經(jīng)紗有那么多,是如何挑選出引入沒根緯紗時要提起哪些經(jīng)紗的呢?

最原始的織機是手動完成的:

計算機發(fā)展史—從織布機到IBM!
海南省黎族老太太編織傳統(tǒng)的毯織品。
  • 圖片引用自:https://www.sohu.com/a/301616592_99894978

而到了戰(zhàn)國時期的 多綜式提花織機,則發(fā)明了 綜框 來完成這項工作,棕框的上下梁間有垂直排列的綜絲,經(jīng)紗穿入綜絲中,織物紋樣的變化有一個規(guī)律,也就意味著經(jīng)紗是隨著緯紗的引入被 有規(guī)律的循環(huán)提起,將 提起規(guī)律相同的經(jīng)紗 穿入 同一個綜框的綜絲 中,當(dāng)綜框被提升時,穿入的所有經(jīng)紗都會被同時提起,每一個綜框都有一個腳踏板,踩下腳踏板則可通過機械裝置控制其抬升:

計算機發(fā)展史—從織布機到IBM!

不過采用綜框也有一個明顯的限制,那就是 無法織出比較復(fù)雜的紋樣,因為紋樣復(fù)雜則代表著需要更多的經(jīng)緯紗以及經(jīng)紗提升的規(guī)律更復(fù)雜,意味著可能引入成百上千次緯紗才能完成一個循環(huán)。

如果仍然采用綜框控制紗線提升,則可能需要成百上千個綜框,這在機械上實現(xiàn)是非常困難的,因此便有了 束綜提花織機。

計算機發(fā)展史—從織布機到IBM!

束綜提花織機沒有綜框,而是被 設(shè)計成兩層,每一根經(jīng)紗會穿入綜絲中實現(xiàn) 單獨的控制,上層 的人將需要提起的經(jīng)紗提起,而 下層 的人則再經(jīng)紗提起后通過梭子將緯紗送入織口,并用打緯裝置將引入的緯紗打牢。

然而通常來說,這類織機上會有成千上萬根緯紗,紋樣復(fù)雜,于是聰明的老祖宗們發(fā)明了 花本

計算機發(fā)展史—從織布機到IBM!

簡單來說,花本存儲了紋樣信息。圖中花本的豎線連接穿入了經(jīng)紗的綜絲,橫線存儲了每一次引入緯紗時提花信息,當(dāng)豎線越過橫線覆蓋在橫線前方時,表明對應(yīng)的經(jīng)紗要被提起。

如果還是沒有理解到這個過程的話,這里有一個比較硬核的視頻,教你如何手工來制作一個簡易織布機:戳這里

"識字"的機器 | 雅卡爾織機的誕生

上面說到的束綜提花織機雖然是一大進(jìn)步,但可想而知的是,它仍然效率緩慢并且織布工人的勞動量非常大,也非常辛苦。雖然聰明的祖先們進(jìn)行了很多機械化的嘗試,但仍然沒有取得跨越式的發(fā)展。

時間來到 18 世紀(jì)的歐洲。歐洲游歷和學(xué)徒的傳統(tǒng),造就了許多城市獨特的支柱產(chǎn)業(yè),例如威尼斯的玻璃業(yè)和法國里昂的 絲織業(yè)。1725 年,里昂的織匠 布喬 (B.Bouchon) 做出了開拓性的發(fā)明:他用 打孔紙帶 控制經(jīng)線的提起和放下,從而讓織出花樣成為了一種半自動的工作。

計算機發(fā)展史—從織布機到IBM!

做為一個樂器工人的兒子,布喬把家學(xué)和自己的工作結(jié)合得很好。然而,柔軟的打孔紙帶不能織出太寬的織物,這是它的致命傷之一;而紙帶依然需要有人照看,每穿過一次緯線,紙帶就需要向下移動一格。布喬提花機的最大貢獻(xiàn),在于實現(xiàn)了花紋的二進(jìn)制存儲——以機器能夠識別的方式。歷史上第一次,機器能夠讀出存儲介質(zhì)中的內(nèi)容,并且照其行事。

在布喬提出構(gòu)想 65 后的 1790 年,約瑟夫·瑪麗·雅卡爾 根據(jù)前人的成果設(shè)計了新式織機,不過正在此時,轟轟烈烈的法國大革命爆發(fā)了,雅卡爾也停下了手中的工作,投入到了家鄉(xiāng)里昂的里昂保衛(wèi)戰(zhàn)中,這一拖就拖到了 1805 年,雅卡爾終于組裝完成了首臺 自動提花織機

計算機發(fā)展史—從織布機到IBM!
雅卡爾織機

雅卡爾將 穿孔紙帶 改進(jìn)為 穿孔卡片,根據(jù)紋樣圖案在卡片上打孔,通過孔的有無 帶動一系列機械運動裝置來 控制經(jīng)紗的提升,一張卡片對應(yīng)循環(huán)內(nèi)一次引緯時經(jīng)紗提升的信息,引緯完成后,可通過腳踏板控制卡孔卡片轉(zhuǎn)動,下一張卡片翻轉(zhuǎn)至工作位置以控制新一次引緯的提花:


(這里本來有一張動圖.. 但死活上傳不上來...)


雅卡爾織機大幅度節(jié)省了時間和工作量 (全自動且效率是之前的二十五倍),而且只需一位工人,很快就被廣泛使用在工廠生產(chǎn)中,雅卡爾也榮獲了拿破侖授予的榮譽勛章。然而,迎接這位發(fā)明家的,卻是失業(yè)的紡織工人迎面扔來的石頭。最終導(dǎo)致雅卡爾客死異鄉(xiāng)。

雅卡爾 = 賈卡。筆者在寫文的時候,發(fā)現(xiàn)不同的資料文獻(xiàn)中對于該織機作者的翻譯會有偏差,有的叫 雅卡爾織機,有的叫 賈卡織機,但都是同一個人啦..

二、差分機 | 程序設(shè)計思想開始萌芽

穿孔卡片控制織物紋樣的設(shè)計成為了程序設(shè)計思想的萌芽,為信息技術(shù)的發(fā)展開展了一條新的道路。

計算機發(fā)展史—從織布機到IBM!

時間來到 19 世紀(jì)初,法國人 巴貝奇 (Chanles Badbbage) 在賈卡織機的啟發(fā)下,設(shè)計并制造了 差分機。

故事背景

以下內(nèi)容大部分摘錄自下方引用資料:現(xiàn)代計算機真正的鼻祖——超越時代的偉大思想

18 世紀(jì)末,法國政府在開創(chuàng)米制之后,決定在數(shù)學(xué)中統(tǒng)一采用十進(jìn)制,竟奇葩地想把原本 90 度的直角劃分成 100 度、把原本 60 秒的 1 分鐘劃分成 100 秒,盡管從現(xiàn)在看來這樣的想法絕逼是一種倒退,但他們在當(dāng)時真就實施了。這一改制帶來的不光是人們在使用時直觀上的別扭,原本制作好的數(shù)學(xué)用表 (如三角函數(shù)表) 都需要全部重制。

法國政府將這項喪心病狂的工程交給了 數(shù)學(xué)家普羅尼  (Gaspard de Prony),普羅尼正頭疼著要如何才能完成這項艱巨的任務(wù),突然想起著名經(jīng)濟學(xué)家 亞當(dāng)·斯密 (Adam Smith) 的那本《富國論》,他決定采用書中提出的 勞動分工 的做法,將制表的工作人員分成三組:

  • 第一組 由五六名牛逼的數(shù)學(xué)家組成,他們負(fù)責(zé)制定運算中所需的公式;
  • 第二組 由九到十個擅長數(shù)學(xué)的人組成,他們負(fù)責(zé)計算出一些關(guān)鍵數(shù)據(jù),并把第一組制定好的公式進(jìn)行簡化;
  • 第三組 由約一百名計算人員組成,他們利用第二組提供的關(guān)鍵數(shù)據(jù)和公式,做最簡單的加減操作就能得出最終結(jié)果。

第三組的工作簡單到什么程度,就是他們甚至都不知道自己正在算什么玩意兒,事實上他們的文化程度大部分都不高,里頭好多都是理發(fā)師、失業(yè)人員什么的??梢娂幢阄拿ざ寄芡瓿傻挠嬎悖谀莻€時代還是得依靠人力去做。

而為了保證用表的正確性,普羅尼要求 每個數(shù)至少算兩遍,并且 要在法國的不同地點用不同的方法計算。這項勞民傷財?shù)墓こ陶M(jìn)行了十年才完成,然而不幸的是,最終的表里仍然有錯。說到這一點,可以說,那個時代基本沒有一版數(shù)學(xué)用表是完全正確的,有些版本甚至錯誤百出,要知道數(shù)學(xué)用表出錯有時后果會很嚴(yán)重,比如航海表一出錯就可能直接導(dǎo)致船毀人亡。

巴貝奇 在了解到普羅尼的事跡后淚流滿面,決心要做一套完全正確的數(shù)學(xué)用表,為達(dá)目的,他嘗試了各種減少錯誤的手段,比如調(diào)整紙張和墨水的顏色以提高數(shù)字的識別度,直接拿現(xiàn)有的多個版本的表進(jìn)行謄抄、比對、讓不同人員反復(fù)校對,在 1827 年出版了一個版本,結(jié)果里頭還是有錯。只要是人為的就沒有完美的,巴貝奇徹底跪了,他發(fā)誓要造一臺機器,讓機器去生產(chǎn)數(shù)學(xué)表。

這就是史上著名的 差分機 了。

重要的差分思想

其實早在巴貝奇出生前,有個叫 米勒 (Johann Helfrich von Müller) 的德國工程師就提出了差分機的思想,但僅僅是提了一下,并沒有進(jìn)行具體設(shè)計和制造,他最終還是把研制差分機的歷史重任讓給了巴貝奇。

之所以叫差分機這個名字,是因為它計算所使用的是帕斯卡在 1654 年提出的差分思想:n 次多項式的 n 次數(shù)值差分為同一常數(shù)。舉個簡單例子好了,對于函數(shù) F(x) = 12x + 12,x 取自然數(shù):

計算機發(fā)展史—從織布機到IBM!
一次差分定義為?F(x) = F(x+1) - F(x)

對于一次多項式,每個相鄰的 x 所對應(yīng)的 F(x) 之差都是一個常數(shù),這個常數(shù)很明顯就是 x 的系數(shù)。那么二次多項式呢?對于函數(shù) F(x) = 15x2 + 12x + 12,x 取自然數(shù):

計算機發(fā)展史—從織布機到IBM!
二次差分定義為?F2(x) = F1(x+1) - F1(x)

對于二次多項式,每個相鄰的 x 所對應(yīng)的一次差分之差仍然都是一個常數(shù),我們可以導(dǎo)出這一常數(shù)的通用公式:

計算機發(fā)展史—從織布機到IBM!

在上述例子中,a = 15,故二次差分常數(shù) 2a 即為 30。

差分規(guī)律是一項偉大的發(fā)現(xiàn),有了差分,在計算多項式時就可以 用加法替代乘法,我們只需要算出幾個初始值,后面對于任意 x 所對應(yīng)的 F(x) 均可以通過加法得出:

計算機發(fā)展史—從織布機到IBM!

學(xué)過高數(shù)的朋友應(yīng)該知道,一個函數(shù)在滿足一定條件的情況下可以用多項式逼近 (冪級數(shù)展開),于是常用的三角函數(shù)、對數(shù)函數(shù)都可以通過多項式來計算的,而機械時期的計算設(shè)備最擅長的就是做加法,有了差分思想,巴貝奇看到差分機的前途一片光明。

計算機發(fā)展史—從織布機到IBM!
冪級數(shù)展開 - 即使現(xiàn)在計算機也是沿用這樣的方式進(jìn)行計算

完成一半的差分機(Difference Engine)

從 1812 年到 1822 年,巴貝奇克服重重困難完成了一臺可以計算六位數(shù)二次多項式的模型機,他給皇家學(xué)會的主席寫信,希望政府可以出資,贊助他建造真正可用的大型差分機。政府也覺得這事兒很有意義,尤其對海軍很有價值,于是在 1823 年撥款 1500 英鎊,巴貝奇如魚得水,號稱只要兩三年時間就能完工。

誰知實行起來要比想象中困難得多,那個時代的機械制造水平實在落后,差分機是十分精密的儀器,巴貝奇跑遍了歐洲都沒找到多少能用的零件,于是在制造差分機之前,他還要先想著怎么制造各類零件。

在英國當(dāng)時一個牛逼的機械師 克萊門特 (Joseph Clement) 的幫助下,他們真的在提高機械制造方面下足了功夫,不但做出了差分機能用的零件,還培養(yǎng)出大批優(yōu)秀的技師。本來這兩人強強聯(lián)合勢必能把差分機做好,但是巴貝奇是個精益求精的人,經(jīng)常改動設(shè)計方案,導(dǎo)致工程時常要返工,工作量大大增加,外加親人的相繼去世,后來又和克萊門特鬧掰,到了 1833 年,十年都過去了,巴貝奇只做出了機器的一小部分,卻已經(jīng)花費了 3 萬英鎊 (遠(yuǎn)超最初預(yù)算)。政府對巴貝奇大失所望,終于在 1842 年正式宣布不再出資,到頭來巴貝奇給后世留下的就只有一個半成品,以及在 1839 年修訂好的一大堆設(shè)計圖紙,現(xiàn)存于倫敦科學(xué)博物館。

計算機發(fā)展史—從織布機到IBM!
倫敦科學(xué)博物館·差分機設(shè)計圖紙&半成品

值得一提的是,巴貝奇做不出差分機實在不是客觀原因所致,與他同時代的瑞典人 喬治·舒茨 (Per Georg Scheutz) 就根據(jù)他的設(shè)計在 1843 年做出了切實能用的差分機,巴貝奇倒是提供了不少指導(dǎo)和幫助,也算是了卻了自己一樁心愿吧。

計算機發(fā)展史—從織布機到IBM!
喬治·舒茨和他的差分機

150 年后,為了紀(jì)念巴貝奇 200 年誕辰,從 1989 到 1991 年人們根據(jù)巴貝奇的設(shè)計圖紙建造了第一臺真正的巴貝奇差分機,機器完美運行,工程師們驚奇地發(fā)現(xiàn),巴貝奇的圖紙里只有極少的錯誤,而且這些錯誤八成是當(dāng)時為防止圖紙被盜用而刻意為之的。這臺差分機被保護(hù)在倫敦科學(xué)博物館的玻璃柜里,后來又造了一臺,放在美國硅谷的計算機歷史博物館,每天由導(dǎo)游給參觀者講解和演示,人們得以近距離膜拜。

計算機發(fā)展史—從織布機到IBM!
倫敦科學(xué)博物館·史上第一臺巴貝奇差分機

差分機的工作原理簡析

在巴貝奇 1839 年的設(shè)計中,差分機可以支持七次多項式的計算。由于每次參與計算的都是函數(shù)值和 1~7 次差分值的最新值,于是僅需響應(yīng)的 8 個計數(shù)器。巴貝奇設(shè)計的計算器由 31 個計數(shù)輪垂直疊加而成,即支持 31 位十進(jìn)制數(shù):

計算機發(fā)展史—從織布機到IBM!

加上傳動裝置和進(jìn)位裝置,就成了這樣一幅喪心病狂的樣子:

計算機發(fā)展史—從織布機到IBM!

巴貝奇使用梯形的傳動輪實現(xiàn)兩個計數(shù)輪之間的相加,由于有梯形齒,傳動輪可以同時帶動兩個計數(shù)輪,也可以只帶動一個。于是在進(jìn)行兩數(shù)相加時,傳動輪先順時針旋轉(zhuǎn),將右側(cè)計數(shù)輪上的數(shù)字加到左側(cè)輪上,而后上升一段距離,逆時針旋轉(zhuǎn)相同度數(shù),將右側(cè)計數(shù)輪的示數(shù)還原到原來的位置。

計算機發(fā)展史—從織布機到IBM!

圖示:3 + 4,加完之后右側(cè)計數(shù)輪數(shù)字歸零了,需要靠傳動輪將其還原為 4

仔細(xì)觀察可以發(fā)現(xiàn),這兩個輪子上的數(shù)字排列順序是相反的。在兩輪相加的過程中,左側(cè)輪作為累加輪朝數(shù)值增大的方向旋轉(zhuǎn),而右側(cè)輪作為加數(shù)輪則朝數(shù)值減少方向旋轉(zhuǎn)。在巴貝奇改進(jìn)的并行差分算法中,兩個步驟交替進(jìn)行,同一個計數(shù)輪需要交替充當(dāng)累加輪和加數(shù)輪的角色,于是當(dāng)機器運行起來,這些齒輪需要正反方向交替旋轉(zhuǎn)。

計算機發(fā)展史—從織布機到IBM!

計算機發(fā)展史—從織布機到IBM!

差分機的進(jìn)位機構(gòu)比較復(fù)雜,簡單地說,每個計數(shù)輪都有一個針對高位的 “進(jìn)位提示器”,當(dāng)計數(shù)輪從 9 轉(zhuǎn)到 0,其對應(yīng)的 “進(jìn)位提示器” 就被撥到 “需要進(jìn)位” 的狀態(tài),每次計算,計數(shù)輪都要轉(zhuǎn)動兩次,第一次是每位數(shù)相加,第二次是按照“進(jìn)位提示器”進(jìn)行進(jìn)位。我們直觀地感受一下連續(xù)進(jìn)位是什么樣子:

計算機發(fā)展史—從織布機到IBM!

最后我們來欣賞一下差分機整個運行起來的樣子:

計算機發(fā)展史—從織布機到IBM!

還有另外一個適用樂高還原的硬核版本:

計算機發(fā)展史—從織布機到IBM!

如果對這一部分感興趣的童鞋請進(jìn)一步閱讀原版文章:現(xiàn)代計算機真正的鼻祖——超越時代的偉大思想

三、分析機 | 第一臺真正意義上的 Computer

盡管沒能親手實現(xiàn)差分機,但巴貝奇并不會氣餒,或者說他本來就是根本停不下來的那種人。明知實現(xiàn)不了,巴貝奇仍在一刻不停地改進(jìn)著自己的設(shè)計,直到有一天,他構(gòu)思出了一種空前的機器——分析機,正式成為現(xiàn)代計算機史上的第一位偉大先驅(qū)。(Father of computing)

1834 年,分析機概念誕生之際,巴貝奇自己都為之感到無比震驚。在此之前,任何一臺計算機器都只能完成其被預(yù)定賦予的計算任務(wù),要么是簡單的加減乘除,要么像差分機那樣只能做差分運算,它們都屬于 calculator,而分析機才是真正的 computer,它不局限于特定功能,而竟然是可編程的,可以用來 計算任意函數(shù)——現(xiàn)代人無論如何也無法想象在一坨齒輪上寫程序是怎樣一種體驗吧!

巴貝奇設(shè)計的分析機主要包括三大部分:

  1. 用于存儲數(shù)據(jù)的計數(shù)裝置,巴貝奇稱之為  “倉庫”(store),相當(dāng)于現(xiàn)在  CPU 中的存儲器,這部分是從差分機上的計數(shù)裝置改進(jìn)而來的,我們很容易想象它的模樣;
  2. 專門負(fù)責(zé)四則運算的裝置,巴貝奇稱之為  “工廠”(mill),相當(dāng)于現(xiàn)在  CPU 中的運算器,這部分的結(jié)構(gòu)相對復(fù)雜,巴貝奇針對乘除法還做了一些優(yōu)化;
  3. 控制操作順序、選擇所需處理的數(shù)據(jù)和輸出結(jié)果的裝置,巴貝奇沒有起名字,由于其呈桶狀,我們可以叫它  “控制桶”,控制桶顯然相當(dāng)于現(xiàn)在  CPU 中的控制器

以上三部分,加上巴貝奇并沒有疏漏的輸入輸出設(shè)備,我們驚訝地發(fā)現(xiàn),分析機的組成部分和現(xiàn)在馮·諾依曼架構(gòu)所要求的五大部件一模一樣!

巴貝奇另一大了不起的創(chuàng)舉就是將 穿孔卡片(punched card) 引入了計算機器領(lǐng)域,用于控制數(shù)據(jù)輸入和計算,從那時起,到第一臺電子計算機誕生為止,期間幾乎所有的數(shù)字計算機都使用了穿孔卡片。

計算機發(fā)展史—從織布機到IBM!
穿孔卡片的提花原理

巴貝奇在一次巴黎展覽會上看到了賈卡的提花機,對其印象十分深刻,由于一直在研究計算機器,自然想到可以把穿孔卡片也應(yīng)用到分析機上。于是分析機中的輸入數(shù)據(jù)、存儲地址、運算類型都使用穿孔卡片來表示。在機器運行時,卡片上有孔和無孔的地方會導(dǎo)致對應(yīng)的金屬桿執(zhí)行不同操作,可編程性由此體現(xiàn)。下圖可以直觀地展現(xiàn)這一原理:

計算機發(fā)展史—從織布機到IBM!

無孔的地方會頂住探針

整個分析機就是在類似這樣的齒輪和拉桿作用下實現(xiàn)可編程運算的:先從數(shù)據(jù)卡片讀入數(shù)據(jù)到存儲器,再將存儲器中的數(shù)據(jù)傳輸?shù)竭\算器,運算器算完后又將數(shù)據(jù)傳回存儲器。

可惜的是,巴貝奇窮其一生也沒能真正把分析機做出來,留給后世的又是一臺模型機和兩千多張圖紙,以及這樣一段遺言:

如果一個人不因我一生的借鑒而卻步,仍然一往直前制成一臺本身具有全部數(shù)學(xué)分析能力的機器……那么我愿將我的聲譽毫不吝嗇地讓給他,因為只有他能夠完全理解我的種種努力以及這些努力所得成果的真正價值。

計算機發(fā)展史—從織布機到IBM!
倫敦科學(xué)博物館·分析機設(shè)計圖紙&模型機

可以說,巴貝奇一生的奮斗都是孤獨的,在那個年代,人們看不到分析機的巨大價值和意義,有了先前差分機的失敗,政府也不再愿理會分析機的想法。巴貝奇的思想超前了整整一個世紀(jì),但慶幸的是在有生之年,依然有著三位難能可貴的支持者:

  1. 首先是他的兒子 亨利·巴貝奇 (Henry Prevost Babbage),直到巴貝奇過世后,亨利也繼續(xù)著分析機的建造工作,但終究也力不從心未能完成;

  2. 而后是后來成為了意大利總理的數(shù)學(xué)家 閔那布利 (Luigi Federico Menabrea),他在巴貝奇 1840 年演講時詳細(xì)記錄下了分析機的思想;

  3. 最后就是著名詩人拜倫的女兒,史上大名鼎鼎的 女程序員艾達(dá) (Ada Lovelace),她將閔那布利記錄分析機的文章翻譯成英文,巴貝奇建議她在翻譯時增添一些自己的理解,結(jié)果艾達(dá)注解的長度是原文的兩倍,其中針對計算伯努利數(shù)的算法被視為史上第一個計算機程序,這篇名為《關(guān)于巴貝奇先生發(fā)明的分析機簡訊》的譯文被視為程序設(shè)計方面的第一篇著作,而 艾達(dá)本人則成了世界上第一位程序員。

計算機發(fā)展史—從織布機到IBM!
艾達(dá)和她的伯努利數(shù)程序

艾達(dá)幾乎是那個時候唯一一個真正理解分析機的人,她不僅編寫了許多可以在分析機上運行的程序,甚至還看到了巴貝奇自己都沒有看到的事情——她說:分析機不光能用來計算,它應(yīng)該還能用來表示其他東西,比如音樂。這是多么遠(yuǎn)大的目光??!后來美國國防部將一種編程語言命名為 Ada,就是為了紀(jì)念這位與巴貝奇同樣具有超前思想的偉大女性。

四、制表機 | 穿孔時代的到來

從 1790 年開始,美國每 10 進(jìn)行一次人口普查。百年間,隨著人口繁衍和移民的增多,從 1790 年的 400 萬不到,到 1880 年的 5000 多萬,人口總數(shù)呈爆炸式地增長。

計算機發(fā)展史—從織布機到IBM!
1790~1880 年美國人口增長曲線

不像現(xiàn)在這個的互聯(lián)網(wǎng)時代,人一出生,各種信息就已經(jīng)電子化、登記好了,甚至還能數(shù)據(jù)挖掘,你無法想象,在那個計算設(shè)備簡陋得基本只能靠手搖進(jìn)行四則運算的 19 世紀(jì),千萬級的人口統(tǒng)計就已經(jīng)成了當(dāng)時政府的 “不能承受之重”1880 年開始的第 10 次人口普查,歷時 8 年才最終完成,也就是說,他們在休息兩年之后就要開始第 11 次普查了,而這一次普查,需要的時間恐怕要超過 10 年,那第 12 次、13 次呢?本來就是 10 年一次的統(tǒng)計,如果每次耗時都在 10 年以上,這件事情就變得沒有意義了。

這可愁煞了當(dāng)時的人口調(diào)查辦公室,他們決定面向全社會招標(biāo),尋求能減輕手工勞動、提高統(tǒng)計效率的發(fā)明。正所謂機會都是給有準(zhǔn)備的人的,一位畢業(yè)于哥倫比亞大學(xué)的年輕人 赫爾曼·霍爾瑞斯 (Herman Hollerith) 帶著他在 1884 年申請的專利從眾多方案中脫穎而出。

計算機發(fā)展史—從織布機到IBM!

赫爾曼·霍爾瑞斯

制表機

他發(fā)明的機器叫 制表機 (tabulator/tabulating machine),顧名思義,就是專門用來制作數(shù)據(jù)統(tǒng)計表的機器。制表機主要由示數(shù)裝置、穿孔機、讀卡裝置和分類箱組成。

示數(shù)裝置包含 4 行、10 列共 40 個示數(shù)表盤,每個盤面被均勻地分成 100 格,并裝有兩根指針,和鐘表十分相像,“分針” 轉(zhuǎn)一圈可計 100,“時針” 轉(zhuǎn)一圈則計 10000??梢姡麄€示數(shù)裝置可以表達(dá)很龐大的數(shù)據(jù)。

計算機發(fā)展史—從織布機到IBM!

制表機的工作是圍繞穿孔卡片展開的:操作員先使用穿孔機制作穿孔卡片,再使用讀卡裝置識別卡片上的信息,機器自動完成統(tǒng)計并在示數(shù)表盤上實時顯示結(jié)果,最后,將卡片投入分類箱的某一格中,進(jìn)行分類存放,以供下次統(tǒng)計使用。

穿孔卡片的應(yīng)用

此前的某一天,霍爾瑞斯正在火車站排隊檢票,目光不經(jīng)意落到檢票員手中咔咔直響的打孔機上。他發(fā)現(xiàn),檢票員會特意根據(jù)乘客的性別和年齡段,在車票的不同地方打孔。越來越多的人過檢,他進(jìn)一步確認(rèn)了這個規(guī)律。一個靈感朝他襲來:如果有一張更大的卡,上面有更多的位置可以打孔,就可以用來表示更多的身份信息,包括國籍、人種、性別、生日等等。

這就是用在 1890 年人口普查中的穿孔卡片,一張卡片記錄一個居民的信息??ㄆO(shè)計長約 18.73cm,寬約 8.26cm,正好是當(dāng)時一張美元紙幣的尺寸,因為霍爾瑞斯直接用財政部裝錢的盒子來裝卡片。

計算機發(fā)展史—從織布機到IBM!

卡片設(shè)有 300 多個孔位,與雅卡爾和巴貝奇的做法一樣,靠每個孔位打孔與否來表示信息。盡管這種形式頗有幾分二進(jìn)制的意味,但當(dāng)時的設(shè)計還遠(yuǎn)不夠成熟,并沒有用到二進(jìn)制真正的價值。舉個例子,我們現(xiàn)在一般用 1 位數(shù)據(jù)就可以表示性別,比如 1 表示男性,0 表示女性,而霍爾瑞斯在卡片上用了兩個孔位,表示男性就其中一處打孔,表示女性就在另一處打孔。其實性別還湊合,表示日期時浪費得就多了,12 個月需要 12 個孔位,而常規(guī)的二進(jìn)制編碼只需要 4 位。當(dāng)然,這樣的局限也與制表機中簡單的電路實現(xiàn)有關(guān)。

細(xì)心的讀者可能發(fā)現(xiàn)卡片的右下角被切掉了,那不是殘缺,而是為了避免放反而專門設(shè)計的,和現(xiàn)在的二維碼只有 3 個角是一個道理。

這類實用的細(xì)節(jié)設(shè)計在穿孔機上表現(xiàn)得更為出色。下圖為一位操作員正在使用穿孔機給卡片打孔的情景,她并不需要在卡片上吃力地搜尋孔位,而是直接對著孔距更大的操作面板打孔,一根杠桿將兩者的孔位一一對應(yīng)。操作面板還做成了弧形,頗有一分如今人體工程學(xué)鍵盤的風(fēng)姿。

計算機發(fā)展史—從織布機到IBM!

在制表機前,穿孔卡片(或紙帶)多用于存儲指令而不是數(shù)據(jù)。比較有代表性的,一是雅卡爾提花機,用穿孔卡片控制經(jīng)線提沉;二是自動鋼琴,用穿孔紙帶控制琴鍵壓放。美劇《西部世界》中,每次故事循環(huán)的開始,都會給一個自動鋼琴的特寫,彈奏起看似寧靜安逸、實則詭異違和的背景樂。

是霍爾瑞斯將穿孔卡片作為 數(shù)據(jù)存儲介質(zhì) 開來,并開啟了一個嶄新的 數(shù)據(jù)處理紀(jì)元。后來人們也把這類卡片稱為霍爾瑞斯卡片,穿孔卡片和穿孔紙帶作為輸入輸出載體,統(tǒng)治了計算領(lǐng)域整整一個世紀(jì)。

統(tǒng)計原理

打好了孔,下一步就是將卡片上的信息統(tǒng)計起來。讀卡裝置的組成如下圖所示,其外形和使用方式有點類似現(xiàn)在的重型訂書機,將卡片置于壓板和底座之間,按壓手柄,就完成了對這張卡片的信息讀取。

計算機發(fā)展史—從織布機到IBM!

原理上,通過電路通斷識別卡上信息。底座中內(nèi)嵌著諸多管狀容器,位置與卡片孔位一一對應(yīng),容器里盛有水銀,水銀與導(dǎo)線相連。底座上方的壓板中嵌著諸多金屬針,同樣與孔位一一對應(yīng),針的上部抵著彈簧,可以伸縮,壓板的上下面由導(dǎo)電材料制成。這樣,當(dāng)把卡片放在底座上,按下壓板時,卡片有孔的地方,針可以通過,與水銀接觸,電路接通,沒孔的地方,針就被擋住。

這一基本原理與雅卡爾提花機類似,不難理解。重頭戲是,如何將電路通斷對應(yīng)到所需要的統(tǒng)計信息呢?霍爾瑞斯在專利中給出了一個簡單的例子,如下圖所示。這是涉及性別、國籍和人種 3 項信息的統(tǒng)計電路圖,虛線為控制電路,實線為工作電路。

計算機發(fā)展史—從織布機到IBM!

圖頂有7根金屬針,從左至右標(biāo)的分別是:G(類似于總開關(guān))、Female(女)、Male(男)、Foreign(外國籍)、Native(本國籍)、Colored(有色人種)、White(白種人)。

工作電路中分散著標(biāo)識為 m1~m10 的電磁繼電器。

圖底從右至左為標(biāo)識為 M1~M6 的 6 組電磁鐵,所對應(yīng)的統(tǒng)計信息為(為貼合穿孔的形象,我特意選擇使用圓圈進(jìn)行標(biāo)記):

計算機發(fā)展史—從織布機到IBM!

以 M1 為例,如果表示 Native、White 和 Male 的針同時與水銀接觸,接通的控制電路:

計算機發(fā)展史—從織布機到IBM!

這一示例首先展示了針 G 的作用,它把控著所有控制電路的通斷,目的有二:

  1. 在卡片上留出一個專供 G 通過的孔,以防止卡片沒有放正(照樣可以有部分針穿過錯誤的孔)而統(tǒng)計到錯誤的信息。

  2. 令 G 比其他針短,或者 G 下的水銀比其他容器里少,從而確保其他針都已經(jīng)接觸到水銀之后,G 才最終將整個電路接通。眾所周知,電路通斷的瞬間容易產(chǎn)生火花,這樣的設(shè)計可以將此類元器件的損耗集中在 G 身上,便于后期維護(hù)。

不得不感慨,這些發(fā)明家做設(shè)計真的特別實用、細(xì)致。

控制電路的接通引起圖中標(biāo)有橘黃色箭頭的 3 個電磁繼電器 m1 、 m3 和 m5 閉合,進(jìn)而接通 M1 所在的工作電路:

計算機發(fā)展史—從織布機到IBM!

最終,通電的 M1 將產(chǎn)生磁場,牽引相關(guān)杠桿,撥動齒輪完成計數(shù),最終體現(xiàn)到示數(shù)表盤上指針的旋轉(zhuǎn)。雖然霍爾瑞斯的專利中沒有給出這一計數(shù)裝置的具體結(jié)構(gòu),可以想象,從 17 世紀(jì)開始,機械計算器中的齒輪傳動技術(shù)已經(jīng)發(fā)展到足夠成熟的水平,霍爾瑞斯無需重新設(shè)計,完全可以使用現(xiàn)成的裝置,正如他在專利中所說的“any suitable mechanical counter”(任何合適的機械計數(shù)器都可以)。

電磁鐵不單控制著計數(shù)裝置,還控制著分類箱蓋子的開合。將分類箱上的電磁鐵接入工作電路,每次完成計數(shù)的同時,對應(yīng)格子的蓋子會在電磁鐵的作用下自動打開,熟練的操作員甚至不用轉(zhuǎn)頭去看,就可以順手將卡片投到正確的格子里,由此完成卡片的快速分類。

每天工作的最后一步,就是將示數(shù)表盤上的結(jié)果謄抄下來,置零,第二天繼續(xù)。

計算機發(fā)展史—從織布機到IBM!
分類箱側(cè)視圖

單元記錄時代

在制表機的高效運轉(zhuǎn)下,1890 年的人口普查只花了 6 年時間。1896 年,霍爾瑞斯成立制表機公司(The Tabulating Machine Company)并不斷改進(jìn)自己的產(chǎn)品,先后與英國、意大利、德國、俄羅斯、澳大利亞、加拿大、法國、挪威、美國波多黎各、古巴、菲律賓等多個國家和地區(qū)合作開展了人口普查。

到 1914 年,制表機公司每天生產(chǎn)的穿孔卡片多達(dá) 200 萬張。不多久,一些競爭對手逐漸起家,歷史迎來了繁榮的數(shù)據(jù)處理時代。它們的產(chǎn)品也不再局限于人口普查,逐漸擴展到會計、庫存管理等一些同樣需要跟大數(shù)據(jù)打交道的領(lǐng)域,這些機器作為制表機的后裔被統(tǒng)稱為單元記錄設(shè)備(unit record equipment)。

圍繞穿孔卡片的制卡、讀卡、數(shù)據(jù)處理和卡片分類是它們的標(biāo)準(zhǔn)功能,穿孔機、讀卡器、分類器是它們的標(biāo)準(zhǔn)配置。這些部件的自動化程度越來越高,比如手動的讀卡裝置很快被自動讀卡機所取代,讀卡速度從每分鐘 100 張逐步提高至每分鐘 2000 張。隨著識別精度的提高,卡片的孔距也越來越小,具有 80~90 列孔位的卡片成為主流,有些卡片的孔位甚至多達(dá) 130 列。

計算機發(fā)展史—從織布機到IBM!
20 世紀(jì)典型的 80 系穿孔卡片

機器的功能也逐漸強大,不再只是簡單地統(tǒng)計穿孔數(shù)目,減法、乘法等運算能力陸續(xù)登場。1928 年,哥倫比亞大學(xué)的科學(xué)家們甚至用單元記錄設(shè)備計算月球的運行軌跡,他們在 50 萬張卡片上打了 2000 萬個孔,彰顯著單元記錄設(shè)備的無限潛力。

機器的電路實現(xiàn)越來越復(fù)雜,但同時也越來越通用。1890 年所用的那臺制表機的 線路是固定的,遇到新的統(tǒng)計任務(wù),改造起來十分麻煩。

1906 年,霍爾瑞斯便引入了接插線板(plugboard)——一塊布滿導(dǎo)電孔的板卡,可通過改變導(dǎo)線插腳在板上的位置改變線路邏輯。試想一下,接插線板的內(nèi)部已經(jīng)布好了具有各種功能的線路,但它們都處在斷開狀態(tài),各自連接著接插線板上的某兩個孔位,像一窩嗷嗷待哺的小鳥長大著嘴巴,外部的導(dǎo)線就像美味的蟲子,當(dāng)蟲子的頭尾分別與小鳥的上喙和下喙接觸,線路就被導(dǎo)通,這只小鳥就開始工作了。如此,每次使用就可以激活不同的 “小鳥”,從而完成不同的任務(wù)。這已經(jīng)是一種可編程性的體現(xiàn)。

計算機發(fā)展史—從織布機到IBM!

1911 年,制表機公司與另外 3 家公司合并成立 CTR 公司 (Computing-Tabulating-Recording Company),制表機公司作為其子公司繼續(xù)運營到 1933 年。

1924 年,CTR 更名為 國際商業(yè)機器公司International Business Machines Corporation),就是現(xiàn)在大名鼎鼎的 IBM 公司。可見,在如今眾多年輕的 IT 公司中,擁有百年歷史的 IBM 是位當(dāng)之無愧的前輩,它完整地參與和見證了整個現(xiàn)代計算機的發(fā)展史。IBM 保持了制表機公司在單元記錄市場的龍頭地位,到 1955 年,其每天生產(chǎn)的穿孔卡片多達(dá) 7250 萬張。

1937 年開始,單元記錄設(shè)備逐步電子化,與電子計算機的界線漸漸模糊,并最終為后者讓路。隨著 1976 年 IBM 一型最核心的單元記錄產(chǎn)品的停產(chǎn),短暫的單元記錄時代也宣告謝幕,它仿佛是電子計算時代來臨前的預(yù)演和鋪墊,許多設(shè)計被沿用下來,比如穿孔卡片和接插線板。

有趣的是,即使電子計算機逐漸普及,許多機構(gòu)由于用慣了單元記錄設(shè)備,遲遲不愿更換,少數(shù)機構(gòu)甚至一直用到了 21 世紀(jì)。

參考資料

  1. 機織布、針織布和無紡布的概念介紹
  2. 從織布機到計算機
  3. 記憶傳承,信息永生(四)
  4. 織布機與計算機
  5. 計算機發(fā)展的引路者——賈卡織機的前世今生
  6. 布爾與電腦——《科學(xué)月刊》
  7. Who is the father of the computer?
  8. 現(xiàn)代計算機真正的鼻祖——超越時代的偉大思想
  9. 制表機:穿孔時代的到來

特別推薦一個分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長按關(guān)注一下:

計算機發(fā)展史—從織布機到IBM!

長按訂閱更多精彩▼

計算機發(fā)展史—從織布機到IBM!

如有收獲,點個在看,誠摯感謝

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉