鮮為人知的科學史:蘇聯時期三進制計算機發展史(組圖)
http://www.cccpism.com/bbs/archiver/?tid-4470.html
現今的計算機都使用“二進制”數字系統,盡管它的計算規則非常簡單,但其實“二進制”邏輯并不能完美地表達人類的真實想法。相比之下,“三進制”邏輯更接近人類大腦的思維方式。因為在一般情況下,我們對問題的看法不是只有“真”和“假”兩種答案,還有一種“不知道”。在三進制邏輯學中,符號“1”代表“真”;符號“-1”代表“假”;符號“0”代表“不知道”。顯然,這種邏輯表達方式更符合計算機在人工智能方面的發展趨勢。它為計算機的模糊運算和自主學習提供了可能。只可惜,目前電子工程師對這種非二進制的研究大都停留在表面或形式上,沒有真正深入到實際應用中去。不過,凡事都有一個例外,三進制計算機并非沒有在人類計算機發展史上出現過。其實,早在上世紀50、60年代。一批莫斯科國立大學的研究員就設計了人類歷史上第一批三進制計算機“Сетунь”和“Сетунь 70”(“Сетунь”是莫大附近一條流入莫斯科河的小河的名字)。
“Сетунь”小型數字計算機的設計計劃由科學院院士С·Л·Соболев在1956年發起。這個計劃的目的是為大專院校、科研院所、設計單位和生產車間提供一種價廉物美的計算機。為此,他在莫大計算機中心成立了一個研究小組。該小組最初由9位年輕人(4名副博士、5名學士)組成,都是工程師和程序員。С·Л·Соболев、К·А·Семендяев、М·Р·Шура-Бура和И·С·Березин是這個小組的永久成員。他們經常在一起討論計算機架構的最優化問題以及如何依靠現有的技術去實現它。他們甚至還設想了一些未來計算機的發展思路。
“三進制計算機之父”С·Л·Соболев
隨著技術的進步,真空管和晶體管等傳統的計算機元器件逐漸被淘汰,取而代之的是速度更快、可靠性更好的鐵氧體磁芯和半導體二極管。這些電子元器件組成了一個很好的可控電流變壓器,這為三進制邏輯電路的實現提供了可能,因為電壓存在著三種狀態:正電壓(“1”)、零電壓(“0”)和負電壓(“-1”)。三進制邏輯電路非但比二進制邏輯電路速度更快、可靠性更高,而且需要的設備和電能也更少。這些原因促成了三進制計算機“Сетунь”的誕生。
“Сетунь”是一臺帶有快速乘法器的時序計算機。小型的鐵氧體隨機存儲器(容量為3頁,即54字)充當緩存,在主磁鼓存儲器中交換頁面。這臺計算機支持24條指令,其中3條為預留指令,目前不用。
三進制代碼的一個特點是對稱,即相反數的一致性,因此它就和二進制代碼不同,不存在“無符號數”的概念。這樣,三進制計算機的架構也要簡單、穩定、經濟得多。其指令系統也更便于閱讀,而且非常高效。
在這群天才青年日以繼夜的開發和研制下,“Сетунь”的樣機于1958年12月準備完畢。在頭兩年測試期,“Сетунь”幾乎不需要任何調試就運行得非常順利,它甚至能執行一些現有的程序。1960年,“Сетунь”開始公共測試。
1959年時的“Сетунь”
1960年4月,“Сетунь”就順利地通過了公測。它在不同的室溫下都表現出驚人的可靠性和穩定性。它的生產和維護也比同期其它計算機要容易得多,而且應用面廣,因此“Сетунь”被建議立即投入批量生產。
1961時的“Сетунь”
不幸的是,蘇聯官僚對這個不屬于經濟計劃一部分的“科幻產物”持否定的態度。他們甚至勒令其停產。而此時,對“Сетунь”的訂單卻如雪片般從各方飛來,包括來自國外的訂單,但10到15臺的年產量遠不足以應付市場需求,更不用說出口了。很快,計劃合作生產“Сетунь”的捷克斯洛伐克工廠倒閉了。1965年,“Сетунь”停產了。取而代之的是一種二進制計算機,但價格卻貴出2.5倍。
“Сетунь”總共生產了50臺(包括樣機)。30臺被安裝在高等院校,其余的則在科研院所和生產車間落戶。從加里寧格勒到雅庫茨克,從阿什哈巴德到新西伯利亞,全蘇都能看到“Сетунь”的身影。各地都對“Сетунь”的反應不錯,認為它編程簡單(不需要使用匯編語言),支持反向波蘭表示法,適用于工程計算、工業控制、計算機教學等各個領域。
有了“Сетунь”的成功經驗,研究員們決定不放棄三進制計算機的計劃。他們在1970年推出了“Сетунь 70”型計算機。“Сетунь 70”對三進制的特性和概念有了進一步的完善和理解:建立了三進制字節——“tryte”(對應于二進制的“byte”),每個三進制字節由6個三進制位(“trit”,約等于9.5個二進制位“bit”)構成;指令集符合三進制邏輯;算術指令允許更多的操作數長——1、2和3字節(三進制),結果長度也擴展到6字節(三進制)。
“Сетунь 70”
對“Сетунь 70”而言,傳統計算機的“字”的概念已經不存在了。編程的過程就是對三進制運算和三進制地址的操作。這些基于三進制字節的命令將會通過對虛擬指令的編譯而得到。當然,程序員們不必考慮這些——他們只需直接和操作數及參數打交道即可。
操作員在使用“Сетунь 70”
“Сетунь 70”是一臺雙堆棧計算機。其回叫堆棧用來調用子程序。這一簡單的改進啟發了荷蘭計算機科學家艾茲格·W·迪科斯徹,為他日后提出“結構化程序設計”思想打下了基礎。
“Сетунь 70”成了莫斯科國立大學三進制計算機的絕唱。由于得不到上級的支持,這個科研項目不得不無限期停頓下來。
這是三進制計算機“Сетунь”的結構圖,懂俄文的朋友可以看一下,有些單詞我也不認識
也可以取0,1,2來分別表示三個不同的狀態,并且用逢三進一的規則聯系各個數位,來形成三進制數形式.第一位上的單位是1,第二位上的單位是31=3,第三位上的單位是32=9,第四位上的單位是33=27.根據上面的分析可知,對四個數位上的單位1,3,9,27分別的3種狀態進行組合就可以得到0和80個正數.這與其它進制類似.
但是,如果我們取1,0,-1來分別表示每個數位上的三種不同狀態,情況就不一樣了.為書寫方便,我們換$來表示-1.例如,個位上的1,0,$分別表示加1,0,減1;三位上的1,0,$分別表示加3,0,減3,A位上的1,0,$分別表示加A,0,減A.這樣,每個數位就可表示三個數,4個數位可表示34=81個數.我們來仔細看看這81個數(見附錄),其中40個正的,1個0,40個負的.這40個正數恰好就是我們引題所需要的.
這種取0和0左右兩邊對稱的1,-1來計數的方法,我們稱之為對稱三進制.首先,對稱三進制也是三進制的一種形式.對稱三進制也是逢三進一,每輪經歷完$,0,1,便向更高層進一.另外,對稱三進制是一種特殊的三進制.每輪中的$和1是對稱的,而從全體數來看,對稱三進制數的正負是對稱的,這種對稱不需要像十進制那樣借助負號的力量.
當然,我們也可以用對稱三進制數表示小數.其原理同表示整數類似。
(引)三進制的應用
就像二進制用于計算機,七進制用于星期,二十四進制和六十進制用于時鐘一樣,對稱三進制也可以用于生活.例如,有這樣的一個問題:27個蘋果,已知其中有26個是同樣的重,有1個比另26個要輕.現有一沒有砝碼的天秤,要求使用天秤次數最少的方法把這個輕的蘋果準確的找出.這個問題我們也可以用對稱三進制的方法來解決.27個蘋果每9個為一組,稱的時候,放在天秤的左邊的蘋果為一組,右邊的為一組,沒有放在天秤上的為一組.而每次稱的時候,天秤也是有三種狀態,左邊的組比右邊的一組輕,右邊的一組比左邊的一組輕,左右兩組一樣重.分別對應于那個輕蘋果的3種狀態:在天秤左邊的一組中,在右邊的一組中,在沒有放在天秤上的一組中.然后,又可以對輕蘋果所在的那一組的9個蘋果進行同樣的處理,由27個到9個,再到3個,再到1個,共用了3次天秤.這也僅僅只是一個數學游戲,它就是充分應用對稱三進制的思想而得以解決。
相關文章
「 支持烏有之鄉!」
烏有之鄉 WYZXWK.COM
您的打賞將用于網站日常運行與維護。
幫助我們辦好網站,宣傳紅色文化!
注:配圖來自網絡無版權標志圖像,侵刪!
聲明:文章僅代表作者個人觀點,不代表本站觀點——烏有之鄉
責任編輯:執中