chofinn / hw1

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Konrad Zuse, the creator of the first relay computer

斯蒂比茲的繼電器計算機

貝爾電話實驗室在1925年被合併並被當作貝爾系統一個基本的研究設施,進而轉變成一個先鋒進行著基礎卻又讓人興奮的各類物理、化學或其他現代科學研究之代名詞,在接下來的幾十年裡,這個快樂天堂裡的研究員會做出一大堆的研究,順便給他抱回幾個諾貝爾獎來,幾個像是初次出現二極體的構想(1942)、點電晶體(1947)、第一個全電晶體電腦(叫TRADIC,1955)、第一台數據機(1960)、第一個32位元的單晶片處理器(1980)、UNIX作業系統(1969)、C語言(1973),C++(1983)之類根電腦有關的東西都會在這破地方被做出來。 在1937年11月的酉時,喬治•斯蒂比茲,一位貝爾研究室的數學研究員,他從倉庫摸了兩個電話繼電器、一對手電筒燈泡、一條無聊的電線跟一顆乾電池然後下班回家去,之後他到他家廚房去,想用他從公司幹回來的東西弄出一個邏輯設備,然後他還真的給他弄出來了,那東西就是第一個二元繼電加法器,他上面亮燈代表1,沒亮代表0,他老婆把那個裝置取名叫K號模型(因為他在廚房(kitchen)弄出來的)。第二天,斯蒂比茲把他的K號模型戴去給他的好同事們看,那些人就覺得說ㄟ用繼電器做一個完全體的計算機好像是可行的齁,但他們也想到說真的要做的話可能要用到上百個繼電器,這會讓那東西比現在實驗室裡用的機械計算機還來得貴又笨重,

不過斯蒂比茲覺得繼電器計算機可以透過繼電器電路來統整指令,並把一些需要的計算結果暫時儲存起來進而搞出整個計算過程,更重要的是他還可以做出複數的乘除法,也是貝爾實驗室裡的研究員們在設計長程電路中的濾波器和放大電路時很常會用到的計算,在1930年代,一堆人腦計算機都是用機械計算機來算複數的乘除法,他的計算過程很簡單,乘法大概需要六個步驟,而除法需要大概十二個步驟,他們兩個在計算時都會需要儲存一些運算過程中的結果。

斯蒂比茲不知道住在柏林的康拉德•楚澤同時也在研究跟他差不多的東西,不過他知道克勞德•夏農在MIT讀碩士時研究了符號邏輯語法跟二進位繼電器電路的對應關係,夏農以那些為主題撰寫了他的論文然後去貝爾實驗室工作,斯蒂比茲跟夏農就是這樣知道彼此的研究成果。不過夏農並沒有積極參與斯蒂比茲的電腦設計,顯然,使用繼電器實現二進位邏輯的想法在1930年代後期很普遍。(一個類似的研究發現在日本也有)

Drawing of the teletype of the Complex Number Computer

Drawing of the teletype of the Complex Number Computer

當斯蒂比茲給他公司的高階主管們看他的K號模型時他們似乎沒有感到多驚喜,”畢盡沒奢華的香檳或炫麗的煙火” 斯蒂比茲如是說,然而不到一年,貝爾研究室的高階主管們轉變了對斯蒂比茲發明的看法,研究室裡不斷增加的複數演算正是改變他們想法的一個重要因素,公司隨後同意資助斯蒂比茲發明的大型模型的建設,1938年2月,斯蒂比茲完成了他的設計,一個叫山謬爾威廉的交換工程師在1939年4月開始主持建設,同年10月建設完成並在1940年8月啟用直到1949年,基於貝爾實驗室在戰爭時也做了其他台電腦,所以那台電腦的名字從一開始的”複數計算機”改成”一號模型”,總成本為20000美金。
一開始複數計算機只能做複數乘法與除法,但在做了點可愛的小改良後他也能做加減法了。機器使用小數點制,小數點固定在每個數字的開頭,在內部,四個二進位繼電器對每個數字進行編碼,使用的代碼用n + 3的二進位代碼表示十進位數字n; 這簡化了數字進位和減法的問題,這台機器的暫存器裡能放10位數字,但只能輸出8位數字,它使用“前綴”表示法,也就是說,運算子在輸入運算元之前先對算術運算進行鍵控,字母M代表乘法(鍵盤上的字母D代表除法)。 注意小數點的位置在四個數字中的每個數字之前。 機器實際上將計算(0.3 + 0.5i)x(0.4-0.2i)操作員將不得不相應地縮放結果(乘以100)。 一個簡單的加法操作大約需要100毫秒,而兩個複數的乘法大約需要45秒。

Stibitz's Terminal 計算單元有4個暫存器,與輸入輸出單元完全分開,後者是一個特殊的端子(參見旁邊的照片)。 計算機本身被保存在實驗室的一間偏僻房間中,很少有人見過。 操作員使用三台經過修改的電傳打字機(鍵盤和列印設備)之一遠程訪問它,該電傳打字機通過多線總線連接到處理器,並放置在其他位置,但是不能同時工作。

斯蒂比茲進一步發展了遠程、多路徑訪問計算機的想法。 1940年9月11日,美國數學學會在新罕布什爾州漢諾威的達特茅斯學院會面,它位於紐約貝爾實驗室大樓以北數百英里處,也就是放複數計算機的地方。 斯蒂比茲安排通過電話線(28線電傳打字電纜)將計算機連接到安裝在其中的電傳打字設備。 複數計算機運行良好,毫無疑問,它給使用它的人留下了深刻的印象。許多美國最傑出的數學家以及後來領導重要計算項目的人(例如,約翰•馮•諾伊曼,約翰•莫赫利,諾伯特•維納和加勒特•伯克霍夫)參加了會議。 在達特茅斯的演示預告了遠程計算的時代,但是這種類型的遠程訪問在接下來的十年中沒有再出現。

CNC computer of Stibitz, copyright Lucent Technologies複數計算機無法被改寫程式。 繼電器電路的組合可永久控制其操作順序。 這些繼電器與用於處理數字的繼電器具有相同的類型,但是機器沒有單獨的,定義明確的部分來處理計算序列的控制部分。 (後來的貝爾實驗室計算機採用了這種方法。)只有在復雜數字計算機建成之後,貝爾實驗室才出現了可編程性的概念,因為它的建造者看到其基本計算元素受到其結合的過分限制,以至於控制電路只能將其與復雜的算術聯繫起來。(除了複數算法外,他們還嘗試使機器執行多項式算術,其中復數算術是一種特例。但是,這對機器來說太受限制了。)

複數計算機的成功鼓勵了斯蒂比茲提出更具雄心的設計,其中包括可以通過穿孔的磁帶修改計算器的操作。 起初,實驗室拒絕了他的提議,但隨著美國在1941年12月加入第二次世界大戰,貝爾實驗室將其優先重點轉移到了軍事項目上,該項目所涉及的計算量超過其和平時期的研究。 他們大部分的戰時成就都在模擬計算機的設計中。 但是他們還建造了五台用於軍事目的的數字中繼計算機,並在戰爭結束後又建造了一台供自己使用的數字中繼計算機,從而使總共七台數字計算機計算出了複數計算機。

這些用於軍事用途的計算器中的第一個是中繼插值器,安裝在華盛頓特區。 1943年推出,後來稱為II號模型,它由440個繼電器和7個數字的存儲容量構成。乘法速度為4秒(通過重複加法乘法)。它主要通過執行一系列算術運算來解決與指揮防空火有關的問題,這些算術運算對通過紙帶提供給機器的功能值進行插值。像複數計算機一樣,它是一台專用計算機。但是,其算術序列不是永久連接的中繼計算器,而是由膠合成環路的“公式膠帶”(五通道紙帶)提供的。因此,不同的磁帶允許人們採用不同的插值方法。 II號模型除了插值之外並不能做很多事情,但是由於插值過程可以解決科學和工程學中的許多問題,因此機器在戰爭結束後很久就被其他政府機構所忙。

接下來的兩台由斯蒂比茲設計的機器是彈道計算機和Mark 22錯誤檢測器(後來稱為III號模型和IV號模型),它們是相同的機器,第一台安裝於1944年,位於德克薩斯州的布利斯堡,第二台安裝於1945年初。華盛頓(每個花費65,000美元)。它們包含約1400個繼電器,並具有10個數字的存儲容量。乘法速度為1秒(通過查表)。這些機器還將紙帶用於數據和公式輸入,其算術序列由紙帶循環提供。與II號模型一樣, III號模型和IV號模型也解決了與高射砲瞄準和跟踪有關的問題。但是,它們是更複雜的機器,不僅具有執行插值的能力,而且還能夠評估描述目標飛機和防空砲彈路徑的彈道方程。附加的紙帶指示機器要評估哪些功能。因此, III號模型和N號模型是貝爾實驗室中第一個具有一定程度的通用可編程性的數字計算器,儘管它們都不是完全通用的計算器。他們的內存和算術單元具有適度的功能:精度只有十進制的十進制數字,每台機器只能存儲十個數字。

該系列中最大的計算機也是最後一台計算機,由斯蒂比茲設計,是V號模型,貝爾實驗室在1946年和1947年為軍方製造了兩台計算機。這是一台巨大的計算機(重10噸),非常昂貴(500000美元)機器。每個繼電器包含九千多個繼電器,並以科學計數法表示處理的數字。該商店最多可以容納三十個數字,並且紙帶閱讀器可以同時輸入程序步驟和數字數據。乘法速度為0.8秒V號模型設計最有趣的方面是它具有兩個獨立的算術單元,每個算術單元都可以作為具有自己的存儲寄存器和輸入輸出設備的獨立計算機進行操作。小型問題可以在計算機上成對運行,從而節省時間,而較大的問題可以接管兩個處理器。與每個處理器相關聯(使用現代術語)是15個存儲寄存器,整個機器總共有30個。主控制單元根據其可用性將指令定向到一個或兩個處理器。該控制單元與處理器中控制算術,存儲器和輸入/輸出操作順序的控制單元是分開的。它可以控制控件,可以這麼說。 (斯蒂比茲稱其為“超級分支”功能。)因此,在非常真實的意義上, V號模型具有所謂的“操作系統”,即一種控制單元,用於監督和管理通過計算機的工作流程。

除了編程能力,後來的貝爾計算機還強調了非凡的可靠性。 用作邏輯和存儲器操作的基本元素的繼電器有間歇性故障的趨勢。 如果在兩個繼電器觸點之間有灰塵積聚,則該電路將發生故障,儘管繼電器的其餘部分都可以。 幾次循環後,灰塵顆粒可能會自行晃動,然後一切恢復正常。 因此,整個計算可能會偏離,而在診斷會話期間不會出現任何機器故障。

貝爾的工程師設計了計算機電路,可以在計算的每個步驟進行自我檢查。 電路的設計不僅要增加,減去,存儲數字等等。 他們還被設計為檢查自己是否正確完成了這些操作,否則將機器停止。 貝爾的工程師還以其設計電話電路的經驗為指導,這些電話電路必須在經常處於不利環境的情況下長時間無人值守。 這些電路設計為由半熟練的技術人員進行維修; 如果每次電話線掉線或客戶的電話壞了時都要打電話給工程師,電話服務的成本將非常高。 貝爾實驗室 II至VI號模型使用的系統中,每個十進制數字編碼的不是四個而是七個二進制繼電器。 它們分為兩組,每組兩個和五個繼電器; 十進制代碼如下:

Decimal digit
Relays
0 01 00001
1 01 00010
2 01 00100
3 01 01000
4 01 10000
5 10 00001
6 10 00010
7 10 00100
8 10 01000
9 10 10000

貝爾實驗室稱此系統為“二元”表示法,因為繼電器的權重為一或五。 實際上,它不是這些數字基礎的組合; 而是一個七位混合十進制代碼。 所有的貝爾實驗室中繼計算機都以十進制算法工作。 一個特殊的電路檢查發現每個十進制數字有兩個,只有兩個繼電器通電。 另一個電路檢查每個組只有一個繼電器導通,這可以防止兩個單獨的錯誤相互抵消,儘管某些異常組合可能無法檢測到。

生字
incorporated 合併 institution 機構 synonymous同義 fundamental基本 frontiers 邊疆 branches 分支 schemes 構想 diodes二極體 point transistor 點電晶體(?) modem 數據機 stockroom 倉庫 dry cell 乾電池 speculated 推測 arithmetic 算數 bulkier龐大 sequence 順序 circuits 電路 interim 臨時 elsewhere 別處frequently經常filter 濾波器 amplifier放大電路 quotients 商數 straightforward 直接 temporary 暫時 intermediate 中間 correspondence 對應 statements 說明 symbolic logic符號邏輯 thesis論文 executives 高階主管 champagne香檳 modification修改subtract 減去 multiposition 多位置控制器crossbars 交叉開關(?)decimal小數Internally內部registers暫存器 prefix 前綴 notation符號operands運算元 scale 衡量 teletype 電傳打字機 simultaneously同時foreshadowed 預告permanently永久concept 概念arose 出現unduly 過於 perforated 有打孔的 proposals提案analog computers類比計算機 cemented接合ballistic彈道 stressed 強調 tendency傾向 intermittently間歇 diagnostic診斷semi-skilled半熟練malfunctions 故障

About