三進位計算機

以三進法數字系統而發展的計算機

三進位計算機,是以三進法數字系統為基礎而發展的計算機。曾經被莫斯科大學科研人員用於計算機,在光子計算機研究領域也有涉及。對稱三進位能比二進位更方便的表示所有整數。三進位是“逢三進一,退一還三”的進位。

計算機簡介


三進位計算機,是以三進法數字系統為基礎而發展的計算機。
三進位邏輯相比較現今的計算機使用二進位數字系統更接近人類大腦的思維方式:二進位計算規則非常簡單但並不能完全表達人類想法。在一般情況下,命題不一定為真或假,還可能為未知。在三進位邏輯學中,符號1代表真;符號-1代表假;符號0代表未知。這種邏輯表達方式更符合計算機在人工智慧方面的發展趨勢。它為計算機的模糊運算和自主學習提供了可能,但電子工程師對這種非二進位的研究大都停留在表面或形式上,沒有真正深入到實際應用中去。
三進位代碼的一個特點是對稱,即相反數的一致性,因此它就和二進位代碼不同,不存在無符號數的概念。這樣,三進位計算機的架構也要簡單、穩定、經濟得多。其指令系統也更便於閱讀,而且非常高效。
隨著技術的進步,真空管和晶體管等計算機元器件被速度更快、可靠性更好的鐵氧體磁芯和半導體二極體取代。這些電子元器件組成了一個很好的可控電流變壓器,這為三進位邏輯電路的實現提供了可能,因為電壓存在著三種狀態:正電壓(1)、零電壓(0)和負電壓(-1)。三進位邏輯電路非但比二進位邏輯電路速度更快、可靠性更高,而且需要的設備和電能也更少。這些原因促成了三進位計算機Сетунь的誕生。

問世


Сетунь
莫斯科國立大學研究員設計了第一批三進位計算機Сетунь和Сетунь70。Сетунь是一台帶有快速乘法器的時序計算機。小型的鐵氧體隨機存儲器(容量為3頁,即54字)充當緩存,在主磁鼓存儲器中交換頁面。這台計算機支持24條指令,其中3條為預留指令。Сетунь 70是一台雙堆棧計算機。其回叫堆棧用來調用子程序。這一簡單的改進啟發了荷蘭計算機科學家艾茲格·W·迪科斯徹,為他日後提出結構化程序設計思想打下了基礎。
設計計劃由科學院院士С·Л·Соболев在1956年發起。該計劃旨在為大專院校、科研院所、設計單位和生產車間提供一種價廉物美的計算機。為此,С·Л·Соболев在莫大計算機中心成立了一個最初由4名副博士、5名學士組成研究小組。С·Л·Соболев、К·А·Семендяев、М·Р·Шура- Бура和И·С·Березин是這個小組的永久成員。在該小組開發和研製下,Сетунь的樣機於1958年12月準備完畢。在頭兩年測試期,Сетунь幾乎不需要任何調試就運行得非常順利,它甚至能執行一些現有的程序。1960年,Сетунь開始公共測試。
1960年4月,Сетунь就順利地通過了公測。它在不同的室溫下都表現出驚人的可靠性和穩定性。它的生產和維護也比同期其它計算機要容易得多,而且應用面廣,因此Сетунь被建議投入批量生產。
可是,蘇聯官僚對這個經濟計劃外的科幻產物持否定的態度且勒令其停產。而此時,對Сетунь的訂單卻如雪片般從各方飛來,但30到50台的年產量遠不足以應付市場需求。很快,計劃合作生產Сетунь的工廠倒閉了。1965年,Сетунь停產了。取而代之的是一種二進位計算機,但價格卻貴出2.5倍。
Сетунь總共生產了150台(包括樣機)。從加里寧格勒到雅庫茨克,從阿什哈巴德到新西伯利亞,全蘇都能看到Сетунь的身影。各地都對Сетунь的反應不錯,認為它編程簡單(不需要使用彙編語言),適用於工程計算、工業控制、計算機教學等各個領域
Сетунь 70
三進位計算機
三進位計算機
有了Сетунь的成功經驗,研究員們決定不放棄三進位計算機的計劃。他們在1970年推出了Сетунь 70型計算機。Сетунь 70對三進位的特性和概念有了進一步的完善和理解:建立了三進位位元組——tryte(對應於二進位的byte),每個三進位位元組由6個三進位位(trit,約等於9.5個二進位位bit)構成;指令集符合三進位邏輯;算術指令允許更多的操作數長——1、2和3位元組(三進位),結果長度也擴展到6位元組(三進位)。
對Сетунь 70而言,傳統計算機的字的概念已經失去意義了。編程的過程就是對三進位運算和三進位地址的操作。這些基於三進位位元組的命令將會通過對虛擬指令的編譯而得到。
Сетунь 70成了莫斯科國立大學三進位計算機的絕唱。由於得不到上級的支持,這個科研項目不得不無限期停頓下來。

換算表


三進位計算機
三進位計算機
所謂三進位,簡單的說就是“逢三進一,退一還三”的進位。
三進位數碼包括“0,1和2。”
三進位數位小數點前從右往左依次是1 位,3位,9位,27位,81位,243位……
三進位數位小數點后從左往右依次是3分位,9分位,27分位,81分位……
寫時注意應打括弧,加下標的3,如(1201)3。讀作一二零一,不能讀成一千二百零一,這是因為它們對應於27位,9位,3位和1位,不是千百十個位!
一些常見的十進位數換三進位表
十進位普通三進位對稱三進位(T代表-1)
111
221T
31010
41111
5121TT
6201T0
7211T1
82210T
9100100
10101101
.........

存取邏輯


存取邏輯
存取邏輯
如右圖:

硬體結構


硬體結構
硬體結構
如右圖:

研製者


研製者
研製者
當年的研製者К·А·Семендяев 、М·Р·Шура-Бура 、И·С·Березин。