Üçlük kompüter. "Setun" - üçlü məntiqə əsaslanan ilk və yeganə kompüter

Üçlü sistemölü hesab - yerləşdirmə sistemi tam bazası 3-ə bərabər olan ədədlər.

İki versiyada təqdim olunur: asimmetrik və simmetrik.

Asimmetrik üçlü say sistemində ən çox (0,1,2) rəqəmlərindən, simmetrik üçlü say sistemində isə (-,0,+), (-1,0,+1), (1) işarələrindən istifadə olunur. ,0,1), ( 1,0,1), (i,0,1), (N,O,P), (N,Z,P) və ədədlər (2,0,1), (7, 0,1). Üçlü rəqəmlər istənilən üç simvolla (A,B,C) işarələnə bilər, lakin əlavə olaraq simvolların üstünlüyünü göstərməlisiniz, məsələn, C>B, B>A.

Üçlü simmetrik sistemdə ədədləri işarələri ilə qeyd etmək məqsədəuyğundur, yəni. 1, 0, -1 əvəzinə +, 0, - yazın. Məsələn, ondalık ədədlər 13, 7, 6, -6 belə üçlü qeyddə olacaq:

13 = +++
7 = +-+
b = +-0
-6 = -+0

Simmetrik kodda ədədin işarəsinin dəyişdirilməsi rəqəmin inversiyasına bərabərdir, yəni. bütün "+"ları "-" və bütün "-"ləri "+" ilə əvəz edin.

İkilikdən fərqli olaraq, bu, işarəli arifmetikdir, burada nömrənin işarəsi ən əhəmiyyətli (sıfırdan fərqli) rəqəmin rəqəmidir. İmzalanmış nömrələrlə bağlı problemlər ikili kodÜçlü simmetrik kodda onun fundamental üstünlüklərini izah edən mükəmməl həll sadəcə yoxdur.

Rəqəmsal texnologiyada əsas b say sistemi hər biri ədədin rəqəmlərini kodlayan b müxtəlif vəziyyəti qəbul edə bilən flip-floplar dəstlərindən ibarət registrlər tərəfindən həyata keçirilir. Bu vəziyyətdə say sisteminin iqtisadiyyatı xüsusi əhəmiyyət kəsb edir - mümkün qədər az ümumi dövlətdən istifadə edərək, mümkün olan ən böyük rəqəm diapazonunu təmsil etmək bacarığı.

Əgər vəziyyətlərin ümumi sayı m-ə bərabərdirsə, onda triggerlərin sayı m/b-ə bərabərdir və onların təmsil etdiyi ədədlərin sayı müvafiq olaraq b^(m/b) olur. b-nin funksiyası olaraq, bu ifadə e = 2,718281828…-ə bərabər b-də maksimuma çatır. b-nin tam qiymətləri üçün maksimum b = 3 üçün əldə edilir. Beləliklə, ən qənaətcil olan üçlü say sistemidir (üçlü kompüterlərdə istifadə olunur), ondan sonra ikili say sistemi (ənənəvi olaraq ən çox yayılmış kompüterlərdə istifadə olunur) və dördüncü say sistemi.

Bir az fəlsəfə

Müasirin əsasını təşkil edən ikili məntiq kompüter texnologiyası, bu gün həqiqəti şübhə altına alınmayan bir növ aksioma kimi qəbul edilir. Həqiqətən, siqnalın mövcudluğu və ya olmamasından istifadə edərək məlumatın kodlaşdırılması ən çox görünür uyğun bir şəkildə həyata keçirilməsi rəqəmsal sistemlər. Amma bu doğrudurmu?

Kompüterlərin işləmə qaydaları insanlar tərəfindən müəyyən edilir. İkili məntiqdən istifadə hesablama prosesi- təbiət qanunu deyil, kiminsə bir vaxtlar kompüter dizaynerlərini, proqramçılarını və problemlərini həll edən istifadəçiləri qane etdiyi üçün verdiyi şüurlu bir qərardır.

İkili məntiq niyə əsas oldu? müasir kompüterlər? Cavab aydın görünür. Tarixən riyazi məntiq ikili qərarlara məntiqi nəticə çıxarma prosesini azaldan “üçüncü variant yoxdur” ideyasına əsaslanırdı.

Klassik məntiqin bu doqması öz doğulmasını şiddətli stoik Xrizip tərəfindən irəli sürülən və Aristotelin nüfuzu ilə dəstəklənən məntiqi mühakimələrin bivalentliyi prinsipinə borcludur. “Dialektikanın əsası hər bir müddəanın (“aksioma” adlanan) ya doğru, ya da yalan olması tezisidir” dedi Siseron.

Bivalentliyin sadəliyi əslində həyatın məntiqi reallıqlarını kifayət qədər yaxşı təsvir edir. Semaforları, piyada keçidlərini və açma-söndürmə açarlarını xatırlamağa dəyər. İkili gündəlik həyatı çox yaxşı idarə edir.

A və B cisimlərini adi qollu tərəzidə çəkək, tərəzi asanlıqla iki əksi müəyyən etməyə imkan verəcək: çəki A > B və çəki A
Məntiq gündəlik həyat bivalentliyin ağ-qara mənzərəsinə sığdırmaq çətindir - bir çox mütəfəkkir bunu başa düşdü. Nəticədə, xaric edilmiş orta qanundan imtina edərək, qeyri-klassik məntiqçilər meydana çıxdı. İlk variantlardan biri çoxqiymətli məntiq Keçən əsrin iyirminci illərində Polşa alimi Yan Lukasievic tərəfindən hazırlanmışdır. Onun üç dəyərli məntiqində “bəli” və “yox” qütblərinə əlavə olaraq “mümkün” mənası da meydana çıxdı. Lukasiewicz-in üç dəyərli məntiqi ifadələri ardıcıllığın olmamasına imkan verdi və modal adlandırıldı. Pinokkio haqqında nağıldakı məsləhətləşməni xatırlayırsınız? “Xəstənin sağ olma ehtimalı ölməkdən daha çoxdur”. "Daha çox canlı" bir modaldır məntiqi ifadə.


Lewis Carroll (Charles Lutwidge Dodgson)
İkili sistemdə qeyri-mənfi və ya müsbət olmayan ədədlər təbii olaraq təmsil olunur və hər ikisi lazım olduğundan, ikinin tamamlayıcı və ya tərs koduna müraciət etmək və ya ədədin işarəsinin xüsusi bitini (“birbaşa kod”) təqdim etmək lazımdır. . Trit elementi səviyyəsində işarəni (+, 0, -) daxil etməyə imkan verən üçlü kodla müqayisədə, bütün sonrakı konstruksiyalar kökündən sadələşdirilmişdir, ikili konstruksiyalar, istisna olmaqla, prinsipcə daha aşağıdır. , bit cütlərində tritləri təmsil edən ikili-üçlü birdən. Fakt budur ki, rəqəmlər (dünyadakı hər şey kimi) təbiətdə üçqatdır. Axı müsbət qeyri-mənfi deyil (ingilis ədəbiyyatında tapıldığının əksinə) və mənfi qeyri-müsbət deyil, çünki rəqəmlərin üç fundamental sinfi var - müsbət, mənfi və sıfır. Bu, üç dəyərli (Chrysippo-Boolean deyil) məntiqdir: müsbət mənfi mənfidir, mənfi isə anti-müsbətdir və müsbəti tamamlayan mənfi və ya sıfırdır və s. Say işarələrinin məntiqi belədir və onların ikisi (artı, mənfi) olsa da, hələ də üç məna var: +, 0, -.

Rus tarixi və riyaziyyat ədəbiyyatında “çəki problemi” 17-ci əsr fransız riyaziyyatçısının adını daşıyan “Bachet-Mendeleyev problemi” kimi tanınır. Bu problemi özünün “Xoş və Əyləncəli Problemlər Toplusu”nda (1612) yerləşdirən Başet de Meziriak və Rusiyanın Baş Çəkilər və Ölçülər Palatasının direktoru kimi bu problemlə maraqlanan parlaq rus kimyaçısı Dmitri İvanoviç Mendeleyev.

“Bachet-Mendeleyev problemi”nin mahiyyəti belədir: hansı çəkilər sistemi ilə bir-bir olmaqla bütün mümkün yükləri Q 0-dan maksimum yük Qmax-a qədər ölçmək olar ki, maksimum yükün dəyəri alınsın. Qmax bütün mümkün varyasyonlar arasında ən böyüyü olardı? Bu problemin iki məlum həlli var: (1) çəkilərin sərbəst tərəzidə yerləşdirilməsinə icazə verildikdə; (2) çəkilərin hər iki tərəziyə qoyulmasına icazə verildikdə. Birinci halda " optimal sistemçəkilər” ikili çəkilər sisteminə endirilir: 1, 2, 4, 8, 16, ... və görünən “optimal” alqoritm və ya ölçmə üsulu müasir kompüterlərin əsasını təşkil edən ikili say sistemini yaradır. İkinci halda, ən yaxşısı üçlü çəkilər sistemidir: 1, 3, 9, 27, 81,...

Xronologiya


Üçlü kompüterlərin üstünlükləri

Üçlük kompüterlər (kompüterlər) ilə müqayisədə bir sıra üstünlüklərə malikdir ikili kompüterlər(kompüterlər).

Üçlü yarım toplayıcılarda və üçlü toplayıcılarda tritlər əlavə edildikdə, əlavələrin sayı ikili yarım toplayıcılarda və ikili toplayıcılarda bit əlavə edildikdən təxminən 1,5 dəfə az olur və buna görə də toplama sürəti təxminən 1,5 dəfə yüksək olur.

Simmetrik üçlü say sistemindən istifadə edərkən həm toplama, həm də çıxma eyni iki arqumentli (iki operandlı) yarım toplayıcı-yarımçıxarıcıda və ya tam üç arqumentli (üç operandlı) toplayıcı-çıxdırıcıda mənfi ədədləri çevirmədən yerinə yetirilir. əlavə kodlar, yəni mənfi ədədlərin ikinin tamamlayıcı kodlarına çevrilməsi ilə ikili yarım toplayıcılara və ikili tam toplayıcılara nisbətən bir az daha sürətli.

  • Tərcümə
"Bəlkə də ən gözəl say sistemi balanslaşdırılmış üçlükdür" - Donald E. Knuth, The Art of Programming, Vol.

Çoxları bilir ki, kompüterlər ikili say sistemindən istifadə edərək məlumatları saxlayır və onlarla işləyir. Bunun əsas izahatlarından birini birlikdə iki vəziyyəti təmsil edə bilən milyardlarla sadə və kütləvi istehsal edilmiş tranzistor və kondansatörlərdən ibarət müasir kompüterlərin dizaynında tapmaq olar: yüksək gərginlik(1) və aşağı gərginlik (0).


Bu dizayn bu gün o qədər geniş yayılmışdır ki, kompüterlərin başqa cür necə işləyə biləcəyini təsəvvür etmək çətindir. Ancaq 50-ci illərin Sovet Rusiyasında fərqli işləyirdilər. Bu haqda eşitməmisinizsə, google-a baxın" Setun" 1958-ci ildə Moskva Dövlət Universitetində Brusentsovun rəhbərlik etdiyi kiçik qrup tərəfindən hazırlanmış balanslaşdırılmış üç komponentli kompüterdir.


Brusentsov və Setun haqqında danışmazdan əvvəl sizə üçlü balanslaşdırılmış say sistemini bir az izah edim.

Balanslı üçlük

Üçlü və ya üçlü bir say sistemidir üç ehtimal olunan dəyərlər: 0, 1 və 2. Onun balanslaşdırılmış versiyasında, tez-tez müvafiq olaraq -, 0 və + kimi sadələşdirilmiş üç ehtimal -1, 0 və +1 var.


Bu formada üçlü dəyərlərin 0 orta nöqtəsi ətrafında "mərkəzləşdirilməsi" nəzərdə tutulur. Eyni qaydalar hər hansı digər say sistemində olduğu kimi tətbiq olunur: ən sağdakı R simvolu var xüsusi dəyər, və hər bir sonrakı simvol R-dən D məsafəsinə bərabər gücə qaldırılan əsas B ilə vurulan bir dəyərə malikdir.


İcazə verin sizə bir misal verim. 114 yazaq:


+++-0 = (1 * 3^4) + (1 * 3^3) + (1 * 3^2) + (-1 * 3^1) + 0 = 81 + 27 + 9 + -3 = 114

Və ikili (ikili):


1110010 = (1 * 2^6) + (1 * 2^5) + (1 * 2^4) + 0 + 0 + (1 * 2^1) + 0 = 64 + 32 + 16 + 2 = 114

Və əmin olmaq üçün, eyni qaydalar zaman tətbiq olunur onluq sistemi qeyd:


114 = (1 * 10^2) + (1 * 10^1) + (4 * 10^0) = 100 + 10 + 4 = 114

-114-ü təmsil etmək istəsək nə olar? İkilik və onluq sistemlərdə biz yeni simvoldan istifadə etməli olacağıq: işarə. Binar kompüterin əsas yaddaşında bu, ya aparıcı biti saxlamaq, işarəni göstərmək, ya da 1-i təmsil edə biləcəyimiz ədədlərin sayını əhəmiyyətli dərəcədə azaltmaqla həyata keçirilir. Proqramlaşdırma dillərində imzalı və imzasız haqqında danışmağımızın səbəbi budur.


Lakin simmetrik üçlü sistemdə, daha sonra öyrənəcəyimiz kimi, ədədin (ters çevrilmiş ədədin) əksini təmsil etmək üçün sadəcə olaraq bütün "+" işarələrini "-" və əksinə dəyişmək lazımdır. Bizə heçnə lazım deyil əlavə məlumat işarəni göstərmək üçün!


Bura baxın:


---+0 = (-1 * 3^4) + (-1 * 3^3) + (-1 * 3^2) + (1 * 3^1) + 0 = -81 + -27 + -9 + 3 = -114

Bir azdan balanslaşdırılmış üçlü sistemin bu və bir sıra digər xüsusiyyətlərinin bizə çox maraqlı hesablama üstünlükləri verdiyini görəcəyik. Ancaq indi Setun kompüteri haqqında danışmağa qayıdaq.

Setunun doğulması

1950-ci illərin sonları kompüter dünyasında maraqlı vaxt idi: Nathaniel Rochester və onun IBM-dəki komandası bu yaxınlarda "müasir" IBM 701 kompüteri adlanan ilk kommersiya xarakterli saxlanılan proqram kompüterini inkişaf etdirdilər. John Backus və komandası ilk proqramlaşdırma dili olan FORTRAN-ı icad etdilər yüksək səviyyədə, geniş istifadə olunmağa başladı. Və bəlkə də ən əsası, TX-0 və Philco Transac S-2000 kimi ilk tam tranzistorlu kompüterlər inkişaf etməyə başladı. Sonradan üstünlük təşkil edən ikili kompüterlərin inkişafı istiqaməti müəyyən edildi.


Ancaq bu Şimali Amerikada idi.


Eyni zamanda, Rusiyada Brusentsov və onun həmkarı Sergey Sobolevin rəhbərlik etdiyi bir qrup riyaziyyatçı və mühəndis digər kompüter sistemləri 2. Brusentsov və onun həmkarları müxtəlif Qərb kompüterlərini və texnoloji tərəqqiləri araşdırır və ikili verilənləri təmsil etmək üçün tranzistorların istifadəsini konseptuallaşdırırlar. Ancaq xatırlayaq ki, bu, SSRİ-dir - tranzistorlar Dəmir Pərdə arxasında o qədər də asan tapılmır. Vakuum boruları həm Rusiyada, həm də Qərbdə bərabər şəkildə sorulur!


Buna görə də Brusentsov inkişaf edir əsas element miniatür ferrit nüvələrindən və yarımkeçirici diodlar, tənzimlənən cərəyan transformatoru kimi işləməyə qadirdir. Bunun həyata keçirilməsi üçün effektiv əsas olduğu ortaya çıxır üçlü məntiq 3. Müəyyən edilmişdir ki, bu elementlər ikili həmkarları ilə müqayisədə daha çox təmin edir yüksək sürət və etibarlılıq və işləmək üçün daha az güc tələb edir.


On nəfərdən ibarət bir qrup laboratoriya skamyaları ilə dolu kiçik bir otaqda (özləri tikdiklərini!) işləyərək Setun-u sözün əsl mənasında yoxdan qurdular. Hər səhər komanda üzvləri beş sadə maşın elementi yığırdılar. Onlar ferrit nüvələri götürdülər və adi bir tikiş iynəsindən istifadə edərək hər birinə 52 tel sardılar. Daha sonra özəklər montaj prosesini başa çatdıran və onları bloklara yığan texniklərə təhvil verildi.


Üçlü məntiq iki belə ferrit elementi birləşdirərək və onları üç sabit vəziyyəti simulyasiya edəcək şəkildə birləşdirməklə həyata keçirilirdi. Bu yanaşma uğurlu oldu, amma sayı zəruri elementlər qısaldılmadı, çünki əslində iki ferrit nüvəsi potensial olaraq iki ikili biti təmsil edə bilər, nəticədə daha böyük həcm məlumat (2^2) bir üçlü "trit" (3^1) çox kədərlidir, lakin ən azı enerji istehlakı azaldı!


Setun 18 tritə qədər rəqəmlərlə işləyir, yəni bir trit -387,420,489 ilə 387,420,489 arasında istənilən rəqəmi simulyasiya edə bilər. İkili kompüter bu gücü əldə etmək üçün minimum 29 bit tələb olunur.


Setuninin inkişafı iki il davam etdi, baxmayaraq ki, sistem sınaqların başlanmasından on gün ərzində əməliyyatları yerinə yetirmək iqtidarında idi və o zaman bu, görünməmiş idi. Ümumilikdə 50-yə yaxın avtomobil istehsal edilib. Setun kompüterləri uzun illər ifrat rus dilində qüsursuz işləsə də iqlim şəraiti, layihə ziddiyyətlərlə parçalandı.


Əsasən istehsalçının ucuz bir elm sahəsi və “universitet fantaziyasının bəhrəsi” hesab etdiklərinin kütləvi istehsalına haqq qazandıra bilməməsi ilə bağlıdır. Düşünürəm ki, Rusiyanın potensial əhəmiyyətini anlamaq üçün sadəcə hazır olmadığını güman etmək təhlükəsizdir kompüterlər. Nəhayət, Setun maşınları eyni səmərəliliklə hesablamalar aparan ikili analoqlarla əvəz olundu, lakin əməliyyat dəyəri iki dəfədən çox oldu!

Üçlü sistemin özəlliyi nədir?

Artıq dediyim kimi, işarəni göstərmək üçün içərisində aparıcı biti, daha doğrusu triti saxlamağa ehtiyac yoxdur. Bu o deməkdir ki, işarəli və ya işarəsiz tam ədədlər anlayışı yoxdur - hər şey sadəcə tam ədəddir. Beləliklə, çıxma operandın sadəcə tərsinə çevrilməsi və əlavənin tətbiqi ilə əldə edilir (bu, ikili kompüterlərə bənzər şəkildə həyata keçirilir). Bu artı və ya mənfi ardıcıllıq, vurma əməliyyatları üçün tələb olunan daşımaların sayını da azalda bilər.


Balanslaşdırılmış üçlü sistemin (yaxud hər hansı simmetrik say sisteminin) digər faydalı xüsusiyyəti ədədin tam hissəsini aydın seçməklə üzən nöqtəli ədədlərin yuvarlaqlaşdırılmasını həyata keçirmək qabiliyyətidir ki, bu da bölmənin həyata keçirilməsini sadələşdirməyə imkan verir. Bu, üçlü sistemin çıxış yolu ilə bağlıdır fraksiya hissəsi real ədədlər.


Sizə sadə bir misal verim. 0.2 rəqəminin koda tərcüməsi belə görünür:


0.+--+ = 0 + (1 * (3^-1)) + (-1 * (3^-2)) + (-1 * (3^-3)) + (1 * (3^-4)) = 0.33 + -0.11 + -0.03 + 0.01 = 0.2

Və 0,8 yazmaq üçün ən əhəmiyyətli rəqəmdə + ilə başlamalı və sonra sadəcə kəsr hissəsini çevirməlisiniz (məsələn, 1 + -0,2):


+.-++- = 1 + (-1 * (3^-1)) + (1 * (3^-2)) + (1 * (3^-3)) + (-1 * (3^-4)) = 1 + -0.33 + 0.11 + 0.03 + -0.01 = 0.8

Yuxarıda görə bilərsiniz ki, bit nöqtəsinin sağındakı tritlərin bütün hissəsini vurğulamaq yuvarlaqlaşdırmaya bərabərdir: 0,2 sıfıra, 0,8 isə birə çevrilir. Əla!

Müalicə və xüsusiyyətlərlə proqramlaşdırma!

Yaxşı, Setuniyə qayıdaq son dəfə. 60-cı illərin sonlarında Brusentsov daha çox inkişaf etdi müasir avtomobilÜçlüyü daha aydın şəkildə təcəssüm etdirən "Setun-70". 6 tritdən (təxminən 9,5 bit) ibarət olan "xüsusiyyət" anlayışı təqdim edildi. Setun-70 kompüteri yığın əsaslı idi və buna görə də qəsdən giriş və çıxış üçün registrlər adlandırılan maşın təlimatları əvəzinə bütün əməliyyatlar iki yığında yerinə yetirildi - biri operandlar (giriş) üçün, biri isə qaytarılan dəyərlər üçün ( çıxış). Bu dizaynı uyğunlaşdırmaq üçün maşın təlimatları tərs mötərizəsiz notasiyada (tərs Polşa notasiyası və ya postfiks notasiyası) yazılmışdır.


70-ci illərin sonlarında Brusentsov və onun bir neçə tələbəsi Setun-70 üçün Strukturlaşdırılmış Proqramlaşdırma üçün Dialoq Sistemi (DSSP) adlanan proqramlaşdırma dilini işləyib hazırladılar. 4-cü tədqiqatımı apararkən gördüm ki, bu, stek yönümlü bir dildir (bu heç də təəccüblü deyil), Forth-a bənzəyir və tərs polyak notasiyasından istifadə edir. Bu, proqramları nisbətən yüksək səviyyəli dildə yazmağa imkan verir, lakin yenə də "aşağı səviyyəli" hiss edirsiniz. O qədər ki, onun müəllifləri aşağıdakı mesajı verdilər:


DSSP icad edilməmişdir. Açıq idi. Buna görə də, dilin versiyaları yoxdur, yalnız uzantıları var.

DSSP-də bir qrup nömrə əlavə edən proqramı nəzərdən keçirək:


1 2 3 4 DƏRİN 1- EDİN +

Gəlin onu parçalamağa çalışaq. Birinci sütunda əmrimiz var, ikincidə - icradan sonrakı kompüterin vəziyyəti (operand yığını), üçüncüsü isə izahat verirəm:


1 Yığına 1 əlavə edin. 2 Yığına 2 əlavə edin. 3 Yığına 3 əlavə edin. 4 Yığına 4 əlavə edin. DƏRİN Yığına "yığın dərinliyi" (4) əlavə edin. 1- [-1 4 4 3 2 1] Yığına -1 əlavə edin. DO Döngə başlayın, yığından iki elementi çıxarın. Döngəni idarə etmək üçün birinci element 0 alınana qədər ikinciyə tətbiq olunur + Döngə tamamlanana qədər hər dəfə çıxararaq "+" operatorunu tətbiq edin üst element+ tətbiq edərək və çıxışı qaytarılan yığına əlavə etməklə operand yığınından çıxarın.

İcranın sonunda operand yığını boş olacaq və qaytarma stekində .


DSSP haqqında daha çox məlumat İvan Tixonovun saytında yazılmışdır (müəlliflər S.A. Sidorov və M.N. Şumakov).

Gələcək

Balanslaşdırılmış üçlü kompüterlərin inkişafı salnamələrdə praktiki olaraq kiçik bir qeyd halına gəldi kompüter tarixi. Üç fərqli vəziyyəti effektiv şəkildə təmsil edə bilən yaddaş hüceyrələri ilə bağlı az araşdırma aparılsa da, bu sahədə bəzi irəliləyişlər var.


Məhz, 90-cı illərin sonlarında yapon tədqiqatçıları üçlü məntiqi həyata keçirmək üçün Cozefson qovşağından istifadənin mümkünlüyünü təsvir etdilər. Buna superkeçirici cərəyanların - müsbət (saat yönünün əksinə), mənfi (saat əqrəbinin əksinə) və ya sıfır dövriyyəsi ilə nail olmaq olar. Onlar tapdılar ki, bu, yaddaş hüceyrələrinə "yüksək sürətli hesablama imkanları, aşağı enerji istehlakı və üçlü əməliyyat sayəsində daha az elementli çox sadə dizayn."


Ancaq yaxın gələcəkdə balanslaşdırılmış üçlü kompüter anlayışı ilə tez-tez rastlaşacağınızı düşünmürəm. Və bu DSSP proqramlaşdırma dillərinin aqressiv həvəskarları üçün də bir sıçrayış olacaq. Amma inanıram ki, bir çox müdrik qərarları keçmişdən öyrənmək olar.



  1. Bu, xüsusi maşının nömrələri necə təmsil etməsindən asılıdır. Əlavə kod-((2^n) / 2)-dən ((2^n) / 2) - 1-ə qədər n bitlə təmsil etməyə imkan verən onluq say sistemində ədədlərin təmsilidir.

2) Setun kompüteri birinci olmasına baxmayaraq elektron cihazöz işləri üçün üçlü sistemdən istifadə edənlər, qeyd etmək lazımdır ki, belə bir sistemdən istifadə etmək ideyası hesablama cihazları ilk dəfə 100 ildən çox əvvəl populyarlaşdı. 1840-cı ildə Thomas Fowler tamamilə ağacdan kompüter düzəltdi və o, üçlü sistemdən istifadə edərək məlumatları emal etdi.

    Daha dəqiq təsviri Rusiya Kompüter Muzeyinin saytında tapa bilərsiniz.

    İstinad materialı DSSP üçün İngilis diliçox əlçatan deyil, ona görə xəbərdar edirəm ki, biliklərim məhduddur və ola bilər təxmin xüsusiyyətlərini ehtiva edir

    Teqlər əlavə edin
  • Anormal proqramlaşdırma,
  • Proqramlaşdırma,
  • Mükəmməl kod
    • Tərcümə
    "Bəlkə də ən gözəl say sistemi balanslaşdırılmış üçlükdür" - Donald E. Knuth, The Art of Programming, Vol.

    Çoxları bilir ki, kompüterlər ikili say sistemindən istifadə edərək məlumatları saxlayır və onlarla işləyir. Bunun əsas izahatlarından birini birlikdə iki vəziyyəti təmsil edə bilən milyardlarla sadə və kütləvi istehsal edilmiş tranzistor və kondansatörlərdən ibarət müasir kompüterlərin dizaynında tapmaq olar: yüksək gərginlik(1) və aşağı gərginlik (0).


    Bu dizayn bu gün o qədər geniş yayılmışdır ki, kompüterlərin başqa cür necə işləyə biləcəyini təsəvvür etmək çətindir. Ancaq 50-ci illərin Sovet Rusiyasında fərqli işləyirdilər. Bu haqda eşitməmisinizsə, google-a baxın" Setun" 1958-ci ildə Moskva Dövlət Universitetində Brusentsovun rəhbərlik etdiyi kiçik qrup tərəfindən hazırlanmış balanslaşdırılmış üç komponentli kompüterdir.


    Brusentsov və Setun haqqında danışmazdan əvvəl sizə üçlü balanslaşdırılmış say sistemini bir az izah edim.

    Balanslı üçlük

    Üçlü və ya üçlü bir say sistemidir üç ehtimal olunan dəyərlər: 0, 1 və 2. Onun balanslaşdırılmış versiyasında, tez-tez müvafiq olaraq -, 0 və + kimi sadələşdirilmiş üç ehtimal -1, 0 və +1 var.


    Bu formada üçlü dəyərlərin 0 orta nöqtəsi ətrafında "mərkəzləşdirilmiş" olması nəzərdə tutulur. Eyni qaydalar hər hansı digər say sistemində olduğu kimi tətbiq olunur: ən sağdakı simvol olan R-nin öz dəyəri var və hər bir sonrakı simvolun R-dən D məsafəsinə bərabər gücə yüksəldilmiş B bazasına vurulan dəyəri var.


    İcazə verin sizə bir misal verim. 114 yazaq:


    +++-0 = (1 * 3^4) + (1 * 3^3) + (1 * 3^2) + (-1 * 3^1) + 0 = 81 + 27 + 9 + -3 = 114

    Və ikili (ikili):


    1110010 = (1 * 2^6) + (1 * 2^5) + (1 * 2^4) + 0 + 0 + (1 * 2^1) + 0 = 64 + 32 + 16 + 2 = 114

    Və əmin olmaq üçün eyni qaydalar onluq say sisteminə də aiddir:


    114 = (1 * 10^2) + (1 * 10^1) + (4 * 10^0) = 100 + 10 + 4 = 114

    -114-ü təmsil etmək istəsək nə olar? İkilik və onluq sistemlərdə biz yeni simvoldan istifadə etməli olacağıq: işarə. Binar kompüterin əsas yaddaşında bu, ya aparıcı biti saxlamaq, işarəni göstərmək, ya da 1-i təmsil edə biləcəyimiz ədədlərin sayını əhəmiyyətli dərəcədə azaltmaqla həyata keçirilir. Proqramlaşdırma dillərində imzalı və imzasız haqqında danışmağımızın səbəbi budur.


    Lakin simmetrik üçlü sistemdə, daha sonra öyrənəcəyimiz kimi, ədədin (ters çevrilmiş ədədin) əksini təmsil etmək üçün sadəcə olaraq bütün "+" işarələrini "-" və əksinə dəyişmək lazımdır. İşarəni göstərmək üçün bizə əlavə məlumat lazım deyil!


    Bura baxın:


    ---+0 = (-1 * 3^4) + (-1 * 3^3) + (-1 * 3^2) + (1 * 3^1) + 0 = -81 + -27 + -9 + 3 = -114

    Bir azdan balanslaşdırılmış üçlü sistemin bu və bir sıra digər xüsusiyyətlərinin bizə çox maraqlı hesablama üstünlükləri verdiyini görəcəyik. Ancaq indi Setun kompüteri haqqında danışmağa qayıdaq.

    Setunun doğulması

    1950-ci illərin sonları kompüter dünyasında maraqlı vaxt idi: Nathaniel Rochester və onun IBM-dəki komandası bu yaxınlarda "müasir" IBM 701 kompüteri adlanan ilk kommersiya xarakterli saxlanılan proqram kompüterini inkişaf etdirdilər. John Backus və komandası geniş istifadə olunan ilk yüksək səviyyəli proqramlaşdırma dili olan FORTRAN-ı icad etdilər. Və bəlkə də ən əsası, TX-0 və Philco Transac S-2000 kimi ilk tam tranzistorlu kompüterlər inkişaf etməyə başladı. Sonradan üstünlük təşkil edən ikili kompüterlərin inkişafı istiqaməti müəyyən edildi.


    Ancaq bu Şimali Amerikada idi.


    Eyni zamanda, Rusiyada Brusentsov və onun həmkarı Sergey Sobolevin rəhbərlik etdiyi bir qrup riyaziyyatçı və mühəndis digər kompüter sistemlərini 2 inkişaf etdirir. Brusentsov və onun həmkarları müxtəlif Qərb kompüterlərini və texnoloji tərəqqiləri araşdırır və ikili verilənləri təmsil etmək üçün tranzistorların istifadəsini konseptuallaşdırırlar. Ancaq xatırlayaq ki, bu, SSRİ-dir - tranzistorlar Dəmir Pərdə arxasında o qədər də asan tapılmır. Vakuum boruları həm Rusiyada, həm də Qərbdə bərabər şəkildə sorulur!


    Buna görə də, Brusentsov tənzimlənən cərəyan transformatoru kimi işləməyə qadir olan miniatür ferrit nüvələrin və yarımkeçirici diodların əsas elementini inkişaf etdirir. Bu, üçlü məntiqin həyata keçirilməsi üçün effektiv əsas kimi çıxır3. Bu elementlərin ikili həmkarları ilə müqayisədə daha yüksək sürət və etibarlılıq təmin etdiyi və işləmək üçün daha az güc tələb etdiyi aşkar edilmişdir.


    On nəfərdən ibarət bir qrup laboratoriya skamyaları ilə dolu kiçik bir otaqda (özləri tikdiklərini!) işləyərək Setun-u sözün əsl mənasında yoxdan qurdular. Hər səhər komanda üzvləri beş sadə maşın elementi yığırdılar. Onlar ferrit nüvələri götürdülər və adi bir tikiş iynəsindən istifadə edərək hər birinə 52 tel sardılar. Daha sonra özəklər montaj prosesini başa çatdıran və onları bloklara yığan texniklərə təhvil verildi.


    Üçlü məntiq iki belə ferrit elementi birləşdirərək və onları üç sabit vəziyyəti simulyasiya edəcək şəkildə birləşdirməklə həyata keçirilirdi. Bu yanaşma uğurlu oldu, lakin tələb olunan elementlərin sayını azaltmadı, çünki reallıqda iki ferrit nüvəsi potensial olaraq iki binar biti təmsil edə bilər və nəticədə bir üçlü “trit”dən (3^1) daha böyük miqdarda məlumat (2^2) əldə edilir. ) , Kədərlidir, amma heç olmasa enerji sərfiyyatı azaldı!


    Setun 18 tritə qədər rəqəmlərlə işləyir, yəni bir trit -387,420,489 ilə 387,420,489 arasında istənilən rəqəmi simulyasiya edə bilər. İkili kompüter bu gücü əldə etmək üçün ən azı 29 bit tələb edir.


    Setuninin inkişafı iki il davam etdi, baxmayaraq ki, sistem sınaqların başlanmasından on gün ərzində əməliyyatları yerinə yetirmək iqtidarında idi və o zaman bu, görünməmiş idi. Ümumilikdə təxminən 50 avtomobil istehsal edilmişdir. Setun kompüterləri uzun illər Rusiyanın ekstremal iqlim şəraitində qüsursuz işləsə də, layihə ziddiyyətlərlə parçalandı.


    Əsasən istehsalçının ucuz bir elm sahəsi və “universitet fantaziyasının bəhrəsi” hesab etdiklərinin kütləvi istehsalına haqq qazandıra bilməməsi ilə bağlıdır. Düşünürəm ki, Rusiya hesablama maşınlarının potensial əhəmiyyətini anlamağa sadəcə hazır deyildi. Nəhayət, Setun maşınları eyni səmərəliliklə hesablamalar aparan ikili analoqlarla əvəz olundu, lakin əməliyyat dəyəri iki dəfədən çox oldu!

    Üçlü sistemin özəlliyi nədir?

    Artıq dediyim kimi, işarəni göstərmək üçün içərisində aparıcı biti, daha doğrusu triti saxlamağa ehtiyac yoxdur. Bu o deməkdir ki, işarəli və ya işarəsiz tam ədədlər anlayışı yoxdur - hər şey sadəcə tam ədəddir. Beləliklə, çıxma operandın sadəcə tərsinə çevrilməsi və əlavənin tətbiqi ilə əldə edilir (bu, ikili kompüterlərə bənzər şəkildə həyata keçirilir). Bu artı və ya mənfi ardıcıllıq, vurma əməliyyatları üçün tələb olunan daşımaların sayını da azalda bilər.


    Balanslaşdırılmış üçlü sistemin (yaxud hər hansı simmetrik say sisteminin) digər faydalı xüsusiyyəti ədədin tam hissəsini aydın seçməklə üzən nöqtəli ədədlərin yuvarlaqlaşdırılmasını həyata keçirmək qabiliyyətidir ki, bu da bölmənin həyata keçirilməsini sadələşdirməyə imkan verir. Bu, üçlü sistemin həqiqi ədədlərin kəsr hissəsini çıxarması ilə bağlıdır.


    Sizə sadə bir misal verim. 0.2 rəqəminin koda tərcüməsi belə görünür:


    0.+--+ = 0 + (1 * (3^-1)) + (-1 * (3^-2)) + (-1 * (3^-3)) + (1 * (3^-4)) = 0.33 + -0.11 + -0.03 + 0.01 = 0.2

    Və 0,8 yazmaq üçün ən əhəmiyyətli rəqəmdə + ilə başlamalı və sonra sadəcə kəsr hissəsini çevirməlisiniz (məsələn, 1 + -0,2):


    +.-++- = 1 + (-1 * (3^-1)) + (1 * (3^-2)) + (1 * (3^-3)) + (-1 * (3^-4)) = 1 + -0.33 + 0.11 + 0.03 + -0.01 = 0.8

    Yuxarıda görə bilərsiniz ki, bit nöqtəsinin sağındakı tritlərin bütün hissəsini vurğulamaq yuvarlaqlaşdırmaya bərabərdir: 0,2 sıfıra, 0,8 isə birə çevrilir. Əla!

    Müalicə və xüsusiyyətlərlə proqramlaşdırma!

    Yaxşı, son dəfə Setuniyə qayıdaq. 60-cı illərin sonlarında Brusentsov üçlüyü daha aydın şəkildə təcəssüm etdirən daha müasir Setun-70 maşınını inkişaf etdirdi. 6 tritdən (təxminən 9,5 bit) ibarət olan "xüsusiyyət" anlayışı təqdim edildi. Setun-70 kompüteri yığın əsaslı idi və buna görə də qəsdən giriş və çıxış üçün registrlər adlandırılan maşın təlimatları əvəzinə bütün əməliyyatlar iki yığında yerinə yetirildi - biri operandlar (giriş) üçün, biri isə qaytarılan dəyərlər üçün ( çıxış). Bu dizaynı uyğunlaşdırmaq üçün maşın təlimatları tərs mötərizəsiz notasiyada (tərs Polşa notasiyası və ya postfiks notasiyası) yazılmışdır.


    70-ci illərin sonlarında Brusentsov və onun bir neçə tələbəsi Setun-70 üçün Strukturlaşdırılmış Proqramlaşdırma üçün Dialoq Sistemi (DSSP) adlanan proqramlaşdırma dilini işləyib hazırladılar. 4-cü tədqiqatımı apararkən gördüm ki, bu, stek yönümlü bir dildir (bu heç də təəccüblü deyil), Forth-a bənzəyir və tərs polyak notasiyasından istifadə edir. Bu, proqramları nisbətən yüksək səviyyəli dildə yazmağa imkan verir, lakin yenə də "aşağı səviyyəli" hiss edirsiniz. O qədər ki, onun müəllifləri aşağıdakı mesajı verdilər:


    DSSP icad edilməmişdir. Açıq idi. Buna görə də, dilin versiyaları yoxdur, yalnız uzantıları var.

    DSSP-də bir qrup nömrə əlavə edən proqramı nəzərdən keçirək:


    1 2 3 4 DƏRİN 1- EDİN +

    Gəlin onu parçalamağa çalışaq. Birinci sütunda əmrimiz var, ikincidə - icradan sonrakı kompüterin vəziyyəti (operand yığını), üçüncüsü isə izahat verirəm:


    1 Yığına 1 əlavə edin. 2 Yığına 2 əlavə edin. 3 Yığına 3 əlavə edin. 4 Yığına 4 əlavə edin. DƏRİN Yığına "yığın dərinliyi" (4) əlavə edin. 1- [-1 4 4 3 2 1] Yığına -1 əlavə edin. DO Döngə başlayın, yığından iki elementi çıxarın. Döngə nəzarət etmək üçün birinci element nəticə 0 olana qədər ikinciyə tətbiq edilir. + Döngü tamamlanana qədər "+" operatorunu tətbiq edin, hər dəfə operand yığınından yuxarı elementi çıxarın, + tətbiq edin və çıxışı əlavə edin. qayıdış yığını.

    İcranın sonunda operand yığını boş olacaq və qaytarma stekində .


    DSSP haqqında daha çox məlumat İvan Tixonovun saytında yazılmışdır (müəlliflər S.A. Sidorov və M.N. Şumakov).

    Gələcək

    Balanslaşdırılmış üçlü kompüterlərin inkişafı praktiki olaraq kompüter tarixinin salnaməsində kiçik bir qeyd halına gəldi. Üç fərqli vəziyyəti effektiv şəkildə təmsil edə bilən yaddaş hüceyrələri ilə bağlı az araşdırma aparılsa da, bu sahədə bəzi irəliləyişlər var.


    Məhz, 90-cı illərin sonlarında yapon tədqiqatçıları üçlü məntiqi həyata keçirmək üçün Cozefson qovşağından istifadənin mümkünlüyünü təsvir etdilər. Buna superkeçirici cərəyanların - müsbət (saat yönünün əksinə), mənfi (saat əqrəbinin əksinə) və ya sıfır dövriyyəsi ilə nail olmaq olar. Onlar aşkar ediblər ki, bu, yaddaş hüceyrələrinə "yüksək sürətli hesablama qabiliyyəti, aşağı enerji istehlakı və üçlü əməliyyat sayəsində daha az elementlə çox sadə dizayn" verir.


    Ancaq yaxın gələcəkdə balanslaşdırılmış üçlü kompüter anlayışı ilə tez-tez rastlaşacağınızı düşünmürəm. Və bu DSSP proqramlaşdırma dillərinin aqressiv həvəskarları üçün də bir sıçrayış olacaq. Amma inanıram ki, bir çox müdrik qərarları keçmişdən öyrənmək olar.



    1. Bu, xüsusi maşının nömrələri necə təmsil etməsindən asılıdır. İkinin tamamlayıcısı -((2^n) / 2)-dən ((2^n) / 2) - 1-ə qədər n bitlə təmsil etməyə imkan verən onluq qeyd sistemində ədədlərin təmsilidir.

    2) Setun kompüteri əməliyyat üçün üçlü sistemdən istifadə edən ilk elektron cihaz olsa da, qeyd etmək lazımdır ki, belə bir sistemin hesablama cihazlarında istifadəsi ideyası ilk dəfə 100 ildən çox əvvəl populyarlaşdı. 1840-cı ildə Thomas Fowler tamamilə ağacdan kompüter düzəltdi və o, üçlü sistemdən istifadə edərək məlumatları emal etdi.

      Daha dəqiq təsviri Rusiya Kompüter Muzeyinin saytında tapa bilərsiniz.

      İngilis dilində DSSP üçün istinad materialı əlçatan deyil, ona görə də xəbərdar edirəm ki, biliklərim məhduddur və təxmin xüsusiyyətlərini ehtiva edir

    1. üçlü kompüter
    2. Teqlər əlavə edin

    N.P. Brusentsov, Ramil Alvarez Xose

    1956-cı ilin əvvəlində akademik S.L.-nin təşəbbüsü ilə. Sobolev, Moskva Universitetinin mexanika-riyaziyyat fakültəsinin hesablama riyaziyyatı kafedrasının müdiri, Moskva Dövlət Universitetinin kompüter mərkəzində elektronika şöbəsi yaradıldı və rəqəmsal kompüterin praktik nümunəsini yaratmaq məqsədi ilə seminar işə başladı. universitetlərdə, eləcə də sənaye müəssisələrinin laboratoriyalarında və konstruktor bürolarında istifadə üçün nəzərdə tutulmuşdur. Öyrənilməsi və istifadəsi asan, etibarlı, ucuz və eyni zamanda geniş tapşırıqların yerinə yetirilməsində effektiv olan kiçik kompüter hazırlamaq lazım idi.

    O dövrdə mövcud olan kompüterlərin bir il ərzində ətraflı araşdırması və texniki imkanlar onların həyata keçirilməsinə səbəb olmuşdur qeyri-standart həll-də istifadə edin yaradılan maşın ikili deyil, üçlü simmetrik koddur, o çox balanslaşdırılmış say sistemini həyata keçirir, iyirmi il sonra D.Knut onu bəlkə də ən zərif adlandıracaq və sonradan məlum olduğu kimi, onun üstünlükləri 1950-ci ildə K.Şennon tərəfindən müəyyən edilmişdir. 121.

    Ümumiyyətlə qəbul edilənlərdən fərqli olaraq müasir kompüterlər 0, 1 rəqəmləri ilə ikili kod, mənfi ədədləri birbaşa təmsil etmək mümkün olmadığı üçün arifmetik cəhətdən aşağıdır, -1, 0, 1 rəqəmləri ilə üçlü kod işarələnmiş ədədlərin arifmetikasının optimal qurulmasını təmin edir. Eyni zamanda, təkcə süni və qeyri-kamil əlavə, birbaşa və ya ehtiyac yoxdur əks kodlarədədlər, lakin arifmetika bir sıra mühüm üstünlüklər əldə edir: ədəd kodunun vahidliyi, operandların dəyişən uzunluğu, yerdəyişmə əməliyyatının unikallığı, ədədin işarəsinin üçrəqəmli funksiyası, sadəcə aşağı olanı kəsməklə ədədlərin optimal yuvarlaqlaşdırılması. rəqəmlər, hesablama prosesində yuvarlaqlaşdırma xətalarının qarşılıqlı kompensasiyası.

    Prototipi 1958-ci ilin sonunda elektronika şöbəsinin işçiləri tərəfindən hazırlanmış, yığılmış və istifadəyə verilmiş "Setun" üçlü kompüteri, onun işlənib hazırlanması təcrübəsi, proqram təminatı və müxtəlif praktik tətbiqlər, hərtərəfli tamlığı ilə onun inkişafı üçün tapşırıqda nəzərdə tutulmuş bütün tələblərə cavab verdi. Bu uğur, üçlü kompüterin yaradılmasının ilk dəfə həyata keçirildiyini nəzərə alaraq, təcrübəsiz işçilərdən ibarət kiçik bir komanda (Moskva Energetika İnstitutunun və Moskva Dövlət Universitetinin 8 məzunu, 12 texnik və laborant) tərəfindən həyata keçirilmişdir. ) və ildə tamamlandı qısa müddətli, Üçlüyün lütfünə aydın şəkildə şəhadət edir rəqəmsal texnologiya. Binar yaddaş elementləri ilə müqayisədə mürəkkəblik bahasına və elementar əməliyyatlarüçlü cihazların arxitekturasının əhəmiyyətli dərəcədə sadələşdirilməsinə və ən əsası təbiiliyinə nail olunur.

    Minimum əmrlər dəsti ilə (cəmi 24 unicast əmri) Setun sabit və üzən nöqtə ilə hesablama qabiliyyətini təmin etdi, ünvanı dəyişdirərkən dəyəri əlavə edilə və ya çıxarıla bilən indeks registrinə sahib idi və əlavə təmin etdi. polinomların hesablanmasını optimallaşdıran məhsul əməliyyatı, bit üzrə vurma əməliyyatı və nəticənin işarəsinə əsaslanan üç şərti keçid əmri. Sadə və effektiv arxitektura kiçik bir proqramçı qrupunun səyləri ilə 1959-cu ilin sonuna qədər maşını proqramlaşdırma sistemi və dəsti ilə təchiz etməyə imkan verdi. tətbiq proqramları, 1960-cı ilin aprelində bir prototipin idarələrarası sınaqlarını keçirmək üçün kifayətdir.

    Bu sınaqların nəticələrinə əsasən “Setun” lampasız elementlərə əsaslanan universal kompüterin ilk işlək modeli kimi tanınıb. yüksək performans, kifayət qədər etibarlılıq, kiçik ölçülər və sadəlik texniki qulluq" İdarələrarası Komissiyanın tövsiyəsi ilə SSRİ Nazirlər Soveti Kazan Riyazi Maşınları Zavodunda Setun seriyalı istehsalı haqqında qərar qəbul etdi. Amma nədənsə üçlü kompüter radioelektron idarəsinin məsul işçilərinin xoşuna gəlmədi: onlar maşının seriyalı modelinin işlənib hazırlanmasını təmin etmədilər və buna baxmayaraq, zavodun istehsal etdiyi M-20 maşınının konstruksiyalarından istifadə etməklə həyata keçirildikdən sonra, Xüsusilə xaricdən gələn sifarişlərin artmasına uyğun olaraq istehsalın artırılmasına töhfə vermədilər, əksinə, 1965-ci ildə istehsalı tamamilə məhdudlaşdıraraq, sifarişləri rədd etdilər və 1965-ci ildə maşının inkişafına mane oldular. Geniş miqyaslı istehsalını planlaşdıran Çexoslovakiya. Bu qəribə siyasətin səbəbi rekord ola bilər aşağı qiymət"Setuni" - maqnitinin qüsursuz istehsalına görə 27,5 min rubl rəqəmsal elementlər EA və EP-nin Həştərxan zavodunda, hər biri 3 rubl. 50 qəpik element başına (avtomobildə təxminən 2 min element var idi). Maraqlıdır ki, “Setuni”nin elektromaqnit elementləri son dərəcə qənaətcil, təbii və etibarlı şəkildə üç dəyərli məntiqin həddə icrasını həyata keçirməyə imkan verdi. Moskva Dövlət Universitetinin Kompüter Mərkəzində 17 il işləyən maşının prototipi, ilk ildə üç elementi qüsurlu hissələrlə əvəz etdikdən sonra heç bir təmir tələb etmədi. daxili cihazlar və tam funksional vəziyyətdə məhv edildi. İstehsal maşınları Odessa və Aşqabaddan Yakutsk və Krasnoyarska qədər müxtəlif iqlim zonalarında heç bir xidmət və ya ehtiyat hissələri olmadıqda sabit işləyirdi.

    Arxitekturanın sadəliyi və təbiiliyi, həmçinin tərcümə sistemləri daxil olmaqla rasional şəkildə qurulmuş proqramlaşdırma sistemi sayəsində: IP-2 (üzən nöqtə, 8 onluq yer), IP-3 (üzən nöqtə, 6 onluq yer), IP-4 ( mürəkkəb ədədlər, 8 onluq yer), IP-5 (üzən nöqtə, 12 onluq yer), avtokod POLIZ əməliyyat sistemi və standart alt proqramlar kitabxanası (üzən nöqtə, 6 onluq yer), Setun maşınları universitetlərdə, sənaye müəssisələrində və tədqiqat institutlarında istifadəçilər tərəfindən uğurla mənimsənilmişdir. təsirli vasitələr tədqiqatların modelləşdirilməsi və dizayn hesablamalarından tutmuş hava proqnozu və müəssisə idarəetməsinin optimallaşdırılmasına qədər müxtəlif sahələrdə praktiki əhəmiyyətli problemlərin həlli. Moskva Dövlət Universitetində (1965), Lyudinovo teplovoz zavodunda (1968) və İrkutsk Politexnik İnstitutunda (1969) “Setun” kompüterlərinin istifadəçiləri üçün keçirilən seminarlarda bu maşınların xalq təsərrüfatında səmərəli tətbiqləri haqqında onlarla məruzələr dinlənilmişdir. təqdim edildi. Üçlü simmetrik kodun təbiiliyi sayəsində "Setun" həqiqətən universal, asanlıqla proqramlaşdırıla bilən və özünü müsbət tərəfdən sübut edən çox təsirli bir hesablama vasitəsi oldu, xüsusən də texniki vasitələr otuzdan çox universitetdə hesablama riyaziyyatının tədrisi. Həm də Hərbi Hava Qüvvələri Mühəndislik Akademiyasında. Jukovski ilk dəfə "Setun"da həyata keçirildi. avtomatlaşdırılmış sistem kompüter təlimi.

    Üçlü say sistemi müasir kompüterlərdə qəbul edilən nömrələrin kodlaşdırılmasının eyni mövqe prinsipinə əsaslanır ikili sistem, lakin çəki i Ondakı ci mövqe (rəqəm) 2 i-yə bərabər deyil, 3 i-yə bərabərdir. Üstəlik, rəqəmlərin özləri ikirəqəmli deyil (bit deyil), üçrəqəmli (trites) - 0 və 1-ə əlavə olaraq, simmetrik sistemdə -1 olan üçüncü bir dəyərə imkan verirlər, buna görə hər ikisi müsbətdir. və mənfi ədədlər vahid şəkildə təmsil oluna bilər. N-trite N-nin dəyəri n-bit tam ədədinin dəyərinə bənzər şəkildə müəyyən edilir:

    burada a i ∈ (1, 0, -1) i-ci rəqəmin qiymətidir.

    Üçlü simmetrik sistemdə ədədləri işarələri ilə qeyd etmək məqsədəuyğundur, yəni. 1, 0, -1 əvəzinə +, 0, - yazın. Məsələn, bu üçlü qeyddə 13, 7, 6, -6 onluq ədədləri belə olacaq: 13 = +++, 7 = +-+, b = +-0, -6 = -+0. Simmetrik kodda ədədin işarəsinin dəyişdirilməsi rəqəmin inversiyasına bərabərdir, yəni. bütün "+"ları "-" və bütün "-"ləri "+" ilə əvəz edin. Üçlü simmetrik kodda toplama və vurma əməliyyatları cədvəllərlə müəyyən edilir:

    İkilikdən fərqli olaraq, bu, işarəli arifmetikdir, burada nömrənin işarəsi ən əhəmiyyətli (sıfırdan fərqli) rəqəmin rəqəmidir. Binar kodda mükəmməl həlli olmayan işarəli ədədlər problemi, sadəcə olaraq, üçlü simmetrik kodda mövcud deyil, bu da onun fundamental üstünlüklərini izah edir.

    Setun maşını unicast kimi xarakterizə edilə bilər, ardıcıl hərəkət, 9 trit təlimat kodu, 18 trit toplayıcı qeydiyyatı ilə S və çarpan R, 5-səyahət ünvanı modifikasiya indeksi reyestri F və yerinə yetirilən əmrlərin əks göstəricisi C, həmçinin nəticənin bir bitlik işarəsi göstəricisi ? , şərti keçidlərə nəzarət edir.

    RAM - 162 9-trit hüceyrə - 36 və ya 72 səhifə tutumlu əsas yaddaş - maqnit baraban ilə səhifə-səhifə mübadiləsi üçün 54 hüceyrədən ibarət 3 səhifəyə bölünür. Oxumaq və yazmaq RAM 18-trit və 9-trit sözlər mümkündür, registrlərdə 18-tritin yuxarı yarısına uyğun gələn 9-trit sözlə SR. Bu registrlərin məzmunu ikinci ən əhəmiyyətli rəqəmdən sonra sabit onluq nöqtəsi olan bir nömrə kimi şərh olunur, yəni. modulda 4,5-dən azdır. Üzən nöqtə hesablamalarında normallaşdırılmış ədədin mantisası M 0,5 şərtini ödəyir.< |М| <1,5, а порядок представлен отдельным 5-тритным словом, интерпретируемым как целое со знаком.

    5 tritlik ünvanlardan və müvafiq olaraq 9 tritlik təlimatlardan istifadə edərək üç səhifə RAM daxilində sözbəsöz ünvanlanan səhifə iki mərhələli yaddaş strukturu proqramların fövqəladə yığcamlığını və eyni zamanda maşının yüksək sürətini təyin etdi. , baxmayaraq ki, tərcümə sistemlərində maqnit baraban əməliyyat yaddaşı kimi fəaliyyət göstərir.

    1967-1969-cu illərdə. “Setun” maşınının yaradılması təcrübəsi və praktik tətbiqi əsasında təkmilləşdirilmiş üçlü rəqəmsal “Setun 70” maşını işlənib hazırlanmışdır ki, onun prototipi 1970-ci ilin aprelində istifadəyə verilmişdir. Bu, qeyri-ənənəvi iki stack arxitekturasına malik maşın idi. , şərh metodu sistemlərindən istifadə edərək öz imkanlarının daha da inkişafı üçün əlverişli şəraitin təmin edilməsinə yönəlmişdir

    Arifmetik yığının (18 trite operandlar yığını) qəbul edilməsi eyniadlı tərcüməçidə özünü müsbət tərəfdən sübut edən maşın dili kimi Polşa tərs proqram notasiyasının (POLIZ) istifadəsi ilə əlaqədardır. Setun. POLYZ proqramı bu və ya digər ünvanın əmrlərindən ibarət deyil, qısa sözlər ardıcıllığından ibarətdir - 6-trite xüsusiyyətlər (üçlü bayt). Proqram elementi olaraq əlamət ya ünvana əsaslanan, ya da operativ ola bilər. Ünvan xüsusiyyəti ya əvvəlki əməliyyatlar tərəfindən operand kimi istifadə olunur, ya da ünvanlanmış sözü birdən üçə qədər RAM-dan operand yığınına itələmək üçün göstəriş kimi qəbul edilir. RAM-da 81 əlamətdən cəmi 9 səhifə var və üç səhifə hazırda giriş üçün açıqdır, onların nömrələri sözdə "reyestr qeydləri"ndə göstərilmişdir.

    Əməliyyat əlaməti operandlar yığınında, eləcə də prosessor registrlərində yerinə yetirilən əməliyyatları, daha doğrusu prosedurları müəyyən edir. Cəmi 81 əməliyyat təmin edilir - 27 əsas, 27 xidmət və 27 istifadəçi tərəfindən proqramlaşdırıla bilən.

    Kesintiləri emal edərkən və iç-içə alt proqramları yerinə yetirərkən qayıdış ünvanlarını ehtiva edən ikinci (sistem) stek E. Dijkstranın Setun 70-də strukturlaşdırılmış proqramlaşdırma ideyasını uğurla həyata keçirməyə imkan verdi, alt proqramın çağırılması, şərtlə çağırılması əməliyyatlarını təqdim etdi. və siklik icra edən alt proqramlar. Bu şəkildə həyata keçirilən prosedur strukturlaşdırılmış proqramlaşdırma praktikada onun Dijkstra tərəfindən bəyan etdiyi metodunun üstünlüklərini təsdiqlədi: xüsusi nümunələr və proqramlar üzərində sınaqdan keçirməklə ənənəvi sazlamanın aradan qaldırılması sayəsində proqramların yaradılmasının əmək intensivliyi 5-7 dəfə azaldı. lazımi etibarlılıq, nizamlılıq, başa düşülənlik və dəyişdirilə bilənlik əldə etdi. Sonradan "Setuni 70" arxitekturasının bu xüsusiyyətləri DVK seriyalı maşınlarda və sonrakı fərdi kompüterlərdə həyata keçirilən interaktiv strukturlaşdırılmış proqramlaşdırma sistemi DSSP üçün əsas rolunu oynadı.

    Təəssüf ki, "Setuni 70"-ə xas olan imkanların proqram təminatının inkişafı ilə daha da inkişafı inzibati sifarişlə dayandırıldı. Mən təhsilin kompüterləşdirilməsinə yenidən diqqət yetirməli oldum. “Setun 70” Con Amos Comeniusun “Böyük Didaktika” prinsiplərini təcəssüm etdirən “Mentor” avtomatlaşdırılmış tədris sisteminin işlənib hazırlanması və tətbiqi üçün əsas oldu. Bu sistemdə kompüterin məqsədi “elektron səhifə çevirmə” və ya multimedia effektləri deyil, tələbənin öyrəndiyini düzgün başa düşməsini izləmək, yanlış təsəvvürləri vaxtında aradan qaldırmaq və əsaslandırılmış tapşırıqlar vasitəsilə öyrənilən mövzunun real mənimsənilməsini təmin etməkdir. Eyni zamanda, kompüter tədris materialının tərtibatçısına istifadə olunan didaktik üsulların effektivliyini qiymətləndirmək və onları təkmilləşdirmək imkanı verən dərsin gedişatını qeyd edir.

    “Müəllim”dəki tədris materialı tələbələrə nömrələnmiş bölmələr, paraqraflar, tapşırıqlar və səhv cavablar üçün yardım ilə çap şəklində verilir, bunun sayəsində rəqəmsal klaviatura və kalkulyator göstəricisi olan sadə terminaldan, hipermətn displeyi olmayan kompüterdən istifadə etməklə verilir. tələbə ilə asanlıqla və zərərsiz əlaqə qurur, kitaba oxucu ilə dialoq qabiliyyətini itirir. “Müəllim” üçün tədris materiallarının yaradılması kompüter proqramlaşdırması ilə bağlı deyil və təcrübənin göstərdiyi kimi, riyaziyyat, fizika, ingilis dili və digər fənlər üzrə kifayət qədər qənaətbəxş dərsliklərin hazırlanması məktəb müəllimlərinin imkanları daxilindədir. Bu sadə sistemin didaktik effektivliyi son dərəcə yüksək oldu. Belə ki, “Əsas Fortran” kursunu Moskva Dövlət Universitetinin Hesablama riyaziyyatı və kompüter elmləri fakültəsinin tələbələri “Müəllim”də 10-15 saata, İqtisadiyyat fakültəsinin tələbələri 15-20 saata, sonra isə nümayiş etdirərək bitirmişlər. seminarda adi semestr kursundan sonra Fortran proqramında daha inkişaf etmiş bir bacarıq.

    “Mentor”da həyata keçirilən “kitab-kompüter” prinsipi demək olar ki, hər cəhətdən kompüterdən tədris vasitəsi kimi optimal istifadəni müəyyənləşdirdi: zəruri avadanlıq (mikrokompüter və ona qoşulmuş 3-4 onlarla terminal, sadə kalkulyatora bənzər) son dərəcə ucuz, etibarlı və həm tələbələr, həm də müəllimlər tərəfindən asanlıqla mənimsənilir, kitabla dialoqda işləmək yorulmaz, həyəcanlıdır və təqdimatın düzgün təşkili ilə öyrənilən mövzunun tez və tam mənimsənilməsinə zəmanət verir. Sistemin Moskva Dövlət Universiteti, Moskva Aviasiya İnstitutu, VİA adına tətbiqi. Kuibyshev, orta məktəbdə və ZIL-də peşə təhsili üçün geniş fənlər və təhsil səviyyələrində yüksək effektivliyini təsdiqlədi. Eyni zamanda, kompüter elmləri və texnologiyaları fakültəsində 30 ildən artıqdır ki, avtomatlaşdırılmış sınaq imtahanları, eləcə də fakültəyə qəbul olanların işə qəbul üçün ingilis dilini bilmə səviyyəsini müəyyən edən test imtahanları üçün “Mentor”dan daimi istifadə olunur. homojen tədqiqat qrupları.

    Bununla belə, informasiya əsrimizdə öyrənmə prosesini effektiv şəkildə təkmilləşdirmək üçün təcili ehtiyac olduğu üçün “Müəllim”ə tələbat yox idi. Göründüyü kimi, bu, çox sadə və ucuzdur və bu, hansı kompüter sistemidir - displeysiz, siçansız və hipermətnsiz. Axı, tədris prosesində İT avadanlıqları hələ də adətən təlimin səviyyəsi və keyfiyyəti ilə deyil, ona cəlb olunan kompüterlərin sayı və gücü ilə qiymətləndirilir.

    “Setun” maşınının komanda sistemi

    Ədəbiyyat

    1. Shannonc. E.A Rəqəmlər üçün simmetrik qeydlər.- “Amerika Riyazi Aylığı”, 1950, 57, N 2, səh, 90 - 93,
    2. Reid J.B.
    3. Redaktora məktub. - “Comm. ACM”, 1960, 3, N 3, səh. A12 - A13. Howden R.F.
    4. Çəki hesablama texnikası binardan daha sürətlidir. - “Elektronika”, 1974, 48, N 24, s. 121 - 122. Baytser B.
    5. Hesablama sistemlərinin arxitekturası, cild 1. M., “Mir”, 1974.
    6. Çox Dəyərli Məntiq üzrə Altıncı Beynəlxalq Simpoziumun materialları , Mau 25 - 28 1976. IEEE Press, 1976. Kruazer A.
    7. Pseudoternary ötürülmə kodlarına giriş. - “IBM Journal of Research and Development”, 1970, 14, N 4, səh. 354 - 367. Brusentsov N.P.
    8. Üç rəqəmli siqnalların tək telli ötürülməsi ilə elektromaqnit rəqəmsal qurğular.
    9. Pseudoternary ötürülmə kodlarına giriş. - Kitabda: Avtomatlaşdırma və kompüter texnologiyasının maqnit elementləri. XIV Ümumittifaq Konfransı (Moskva, sentyabr 1972). M., “Elm”, 1972, s. 242 - 244.- Kitabda: Kompüter texnologiyası və kibernetika məsələləri, cild. 13. Moskva Dövlət Universitetinin nəşriyyatı, 1976, s. 164-182.
    10. Proqramlaşdırmaya giriş. PDP-8 dərslik seriyası. Digital Equipment Corporation, 1972.

    SORUCOM 2006 beynəlxalq konfransının materialları (3-7 iyul 2006)
    Rusiyada və keçmiş SSRİ ölkələrində kompüter texnologiyasının inkişafı: tarix və perspektivlər
    Məqalə 31 oktyabr 2007-ci ildə müəllifin icazəsi ilə muzeyə yerləşdirilib.

    1959-cu ildə N.P.Brusentsov Moskva Dövlət Universiteti üçün unikal "Setun" kompüteri hazırladı. O, üçlü say sisteminə əsaslanırdı və element bazası qismən binar olsa da, bu, hissələrin həddindən artıq istehlakına səbəb oldu, maşın özünü qənaətcil və etibarlı hesab etdi. Bu gün üçlü maşın yalnız muzeydə görünə bilər, ikili kod qazandı;

    Xarici dünya ilə əlaqə, host icraçısı tərəfindən emal ediləcək dəyərin əvvəlcədən təyin edilmiş ünvanı olan yaddaş hüceyrəsinə yazmaqla baş verir. Məsələn, bu şəkildə primitiv sazlama konsolunu həyata keçirə bilərsiniz.
    Veb proqramımız olduğundan, biz bu konsolu ağ hərflərlə orijinal qara pəncərədə göstərəcəyik. Bunun üçün biz hazır komponentdən və veb məzmunu idarə etmək üçün standart Dart kitabxanasının imkanlarından istifadə edəcəyik.

    +-0. İlk addımlar

    Artıq işləyən virtual maşından kodum olduğu üçün onun icrasının xüsusiyyətlərini qısaca təsvir edəcəyəm.

    Beləliklə, bitmiş kodu yaddaşa köçürmək üçün serverdən kodu endirəcək və yaddaşa yazacaq yükləyici sinifini təsvir edəcəyik. Kod JSON formatındadır, qəribə, lakin doğrudur, çünki hər hansı ikili qeyd formatı üçlü kodla tam uyğun gəlməyəcək.

    Oberon sisteminin qanunlarına görə, yükləyici keçid ünvanlarının dəyişdirilməsini həyata keçirir;

    Bootstrap ayrıca moduldur, bunlar yaddaşda maşın sabitlərini təyin edəcək (yaddaş ölçüsü, modul cədvəlinin ünvanı və s.) və prosessoru ilk icra olunan əmrin ünvanına köçürəcək bir neçə əmrdir. Bootstrap əl ilə hazırlanmışdır.

    Core modulu Oberon sistem nüvəsinin, Kernel modulunun təsvirində və bənzərində yaradılmışdır, çünki bu nüvədir, bir çox birbaşa yaddaş əməliyyatlarına malikdir, dinamik strukturların ayırıcısının (bəzən buggy) həyata keçirilməsi, istisna kəsici və s.
    Məhz Core modulunda biz ən primitiv konsolu həyata keçiririk. Sətirləri və rəqəmləri çıxarmaq üçün yuxarıda göstərildiyi kimi simvol dəyərlərini yaddaş hüceyrəsinə yazacağıq. Platformadan asılı modul SYSTEM virtualdır; kompilyator öz çağırışlarını birbaşa maşın koduna çevirir.

    İfadəsiz ekran görüntüsü.
    Yaranan virtual maşının performansını burada yoxlaya bilərsiniz. Təbii ki, həm prosessorun, həm də kompilyatorun kompleks sazlanması eyni vaxtda bəzi səhvlərə gətirib çıxardı (hələ tapmamışam), lakin konsepsiyanın sübutu kimi işin nəticəsi mənə kifayət etdi.

    +-+. Nəticələr

    Nəticədə biz Oberon 2013 layihəsindən N.Wirth prosessorunun tam funksional, genişləndirilə bilən analoqunu üçlü say sistemi və üçlü kod üçün modifikasiyalı və nəticədə yaranan sistemdə işləmək üçün bir neçə modul aldıq.

    Orijinal tərcüməçidə mən 9p protokoluna əsaslanan fayl sistemi ilə rs232 portunun analoqundan istifadə edərək, bu uğurun üzərində dayanmağa və xarici dünya ilə əlaqə qurmağa cəhd etdim. Və qarşılaşdığım budur. Hər iki texnologiya, kross-platforma kimi elan edilsə də, trits və xüsusiyyətlər platformalar anlayışına daxil edildikdə, onlar çarpaz platforma xarakterini tez itirirlər. Bayt və bit əsası bu cür texnologiyaların daşınmasını qeyri-trivial vəzifəyə çevirir.

    Əlbəttə ki, burada üçlü sistemlərin əhəmiyyəti və yayılmasının sıfır olduğunu iddia etmək olar, amma burada Vovochka haqqında zarafatda olduğu kimi, üçlü var, lakin bunun üçün cross-platforma haqqında heç bir söz yoxdur. Bəlkə də bu, üçlü sistemlərin yayılmasında bir növ əyləcdir. Axı, hər şey belə işləyir.

    Şəxsən mən üçlü maşınların yalnız bir haqlı istifadəsini görmüşəm - müdaxilədən qorunan rabitə kanallarının təşkili. Axı, kanala birbaşa giriş olsa belə, hakerə ən azı hələ də inkişaf etdirilməli olan bir aparat siqnal dekoderi lazımdır. Beləliklə, zireh və mərmi arasındakı mübarizə təsvir olunan texnologiyaların sənaye tətbiqinə həyat verə bilər.

    +0-. Bağlantılar

    Maraqlananlar üçün bəlkə də bir neçə link.
    • trinary.ru, kalkulyatorlar, təqvimlər və orijinal Setunya-nın OS simulyatoru ilə gözəl bir saytdır.
    • ternarycomp.cs.msu.ru daha ciddi saytdır, patentlərin və alqoritmlərin təsviri
    • www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html Oberon 2013 layihəsinin müəllif səhifəsi.
    • github.com/kpmy/tri layihə deposu
    • orijinal emulyatorun bitbucket.org/petryxa/trisc deposu

    +00. P.S.

    N.P. Brusentsov 2014-cü il dekabrın 4-də vəfat edib. Ümid edirəm ki, onun həyat fəaliyyəti unudulmayacaq.

    Teqlər: Teqlər əlavə edin