Mercury delay-line memory

雷達、水銀延遲線、馮紐曼架構

雷達、水銀延遲線、馮紐曼架構

雷達、水銀延遲線、馮紐曼架構

當布萊切利莊園的團隊為了破解德軍新型加密系統「鋸鰩」,秘密地在 1943 年底開發出史上第一台可程式化的數位電子計算機——「巨像一號」(Mark 1 Colossus) 時,大西洋的另一邊,美國陸軍為了提升彈道分析的效率,也正在開發「電子數值積分儀暨計算機」(Electronic Numerical Integrator And Computer,簡稱 ENIAC)。

ENIAC 用的真空管多達一萬七千多個,比巨像一號多了十倍。除了運算能力更勝一籌,最大的差別在於,巨像一號只能執行破解密碼的程式,但 ENIAC 卻能進行各種數學運算,是史上第一台可程式化的通用型電腦,儘管它是以十進位進行運算,而非二進位。

佔滿了 50 坪房間牆面的 ENIAC。圖片來源:Wikipedia

更換程式太麻煩

ENIAC 同樣是以切換開關和插拔纜線的方式來設定程式,每次要更換不同程式都非常麻煩又耗時,當絕頂聰明的馮紐曼於 1944 年 8 月受邀參觀時,當場就對此表示不以為然。他一針見血的提出解決之道:何不將程式編寫於打孔卡片上,然後讀取到儲存裝置中;若要更換程式,只要輸入另外一疊卡片,就可以輕易取代原有程式。

設計 ENIAC 的莫奇利 (John Mauchly) 與艾科特 (J. Presper Eckert) 相視苦笑,他們何嘗沒有想過,但現實中就是沒有適合的貯存裝置,無論是電磁閥或是利用電刷為電容充放電,都是靠機械動作,速度跟不上。

難道不能用真空管嗎?其實 ENIAC 已經有用一些真空管做為暫存器,貯存計算的數據和函數。但這已是極限,若要再貯存程式,得用更多真空管,如此一來,原本已重達 27 噸的 ENIAC 更塞不下房間裡,而且完工時程又將延誤,軍方絕不允許。

充滿幹勁的馮紐曼可不願就此作罷,他已經勾起興趣,決心要開發出理想中的計算機。25 歲的艾科特大感振奮,因為他原本就有此想法,如今有備受各方敬重的馮紐曼出面,極有可能付諸實現。事實上他在去年底,已經注意到雷達系統中有樣東西或許可以做為計算機的貯存裝置。

艾科特 (J. Presper Eckert)。圖片來源:Wikipedia

水銀延遲線記憶體

雷達原理是不斷發射無線電波,然後將反彈回來的電波轉換成電子訊號,呈現在螢幕上,藉此判斷目標物的移動方向與距離。然而高山、雲層等靜止不動的物體也會反射電波,如果沒有把這類訊號濾除掉,螢幕上豈不是佈滿光點,無法區辨?

為了消除這些沒用的光點,當接收到反彈回來的無線電波後,電子訊號會一分為二,一個直接送往螢幕,另一個傳送到一根裝滿特殊液體的金屬管,管子一端的石英晶體因電流而震盪,產生的脈衝波經由液體傳遞到另一端的石英晶體後,因為壓電效應又轉成電子訊號,再輸出到螢幕。

經過適當調校,如果是來自靜止物體的反射電波,經過金屬管子延遲抵達螢幕的訊號會和原始訊號互相抵銷,就不會產生光點。但目標物因為不斷移動,反射回來的電波相位不斷改變,因此不會和延遲訊號抵銷,而呈現在螢幕上。

艾科特從中獲得靈感,電子訊號輸入金屬管所形成的脈衝波若能形成駐波,便可做為計算機的記憶裝置。不過金屬管的長度要夠長,才能容納更多週期變化的脈衝波,只是管子越長,就會耗損越多脈衝波的能量,影響訊號的正確性。艾科特做了許多實驗後,在 1944 年初發現脈衝波在水銀中的耗損最低,不過要做為計算機的貯存裝置,仍有許多技術問題要解決。

馮紐曼倒是一聽就覺得大有可為,於是經他跟軍方積極斡旋下,開發小組一邊建造 ENIAC,同時一邊設計下一代計算機「電子離散變數自動計算機」(Electronic Discrete Variable Automatic Computer,簡稱 EDVAC),首創先例將程式和數據都貯存在一個電子裝置中。

艾科特果真成功改造延遲訊號用的金屬管,除了將水銀維持在攝氏 40 度的恆溫,並加上一條再生迴路 (regeneration circuit),讓抵達輸出端的訊號加強後再回到輸入端,就能維持訊號穩定。這裝置便稱為「水銀延遲線記憶體」(mercury delay line memory) ,共有 16 條水銀管,每條可貯存 560 個位元,容量共 1.12 KB。

水銀延遲線記憶體架構圖。圖片來源:Wikipedia

馮紐曼架構

1945 年 6 月,EDVAC 的設計大致底定後,馮紐曼寫成一份技術文件交給陸軍的負責人高士汀 (Herman Goldstine)。高士汀收到這份手稿後,立即打印成 101 頁的正式文件,題為〈EDVAC 報告初稿〉(First Draft of a Report on the EDVAC)。正是這份初稿揭櫫了現代電腦的架構,將計算機分為五大單元:運算單元、控制單元、記憶單元,輸入裝置與輸出裝置;從此這便稱為「馮紐曼架構」。

高士汀常來參加開發小組的會議,明明知道 EDVAC 是眾人努力的成果,卻在報告上將馮紐曼列為唯一作者,等於抹煞了其他團隊成員的貢獻。艾科特更覺得情何以堪,他早就提出儲存程式的想法,也是他發明了水銀延遲線記憶體,真正屬於馮紐曼個人創見的只有可變記憶體位址,如今卻由馮紐曼一人獨享光環。

更嚴重的是,高士汀和馮紐曼沒有徵詢過團隊成員,就逕行將報告分送給美、英兩國 24 個單位。或許他們認為這就像發表科學研究一樣理所當然,也有助於電腦的發展,但對莫奇利與艾科特而言,卻因此無法申請相關專利,智慧財產權受到侵害,因此兩人等到戰爭結束後便憤而求去,自行創業。馮紐曼也回到普林斯頓高等研究院,自己著手打造 IAS 電腦。EDVAC 的核心成員紛紛離去,最後延宕到 1952 年才成功運轉,反而其他幾部根據〈EDVAC 報告初稿〉開發的電腦更早就完工了。

高士汀(左二)和馮紐曼(最右)合影於普林斯頓高等研究院;右二為歐本海默。
圖片來源:Wikipedia

水銀延遲線記憶體很快就被其它新的技術取代,但無可否認地,沒有艾科特這項發明讓記憶體的構想付諸實現,也不會有影響深遠的〈EDVAC 報告初稿〉。難怪艾科特生前一直忿忿不平,認為所謂的「馮紐曼架構」應該要叫「艾科特架構」才對。

參考資料

  1. ENIAC – Wikipedia
  2. Delay-line memory – Wikipedia
  3. UNIVAC I delay line memory central support – CHM Revolution (computerhistory.org)

更多文章

© 2021 張瑞棋