Компь­юте­ры, исполь­зующие тро­ичную логику, при­дума­ны уже дав­но. Еще в 1958 году Н. П. Бру­сен­цов пос­тро­ил в МГУ пер­вую опыт­ную элек­трон­ную тро­ичную ЭВМ «Сетунь», а в 1973 году в США был соз­дан Ternac — экспе­римен­таль­ный тро­ичный эму­лятор с ариф­метикой над 24-трит­ными целыми и 48-трит­ными дей­стви­тель­ными чис­лами на дво­ичном компь­юте­ре Burroughs B1700. Может ли най­ти при­мене­ние тро­ичная логика в сов­ремен­ных компь­юте­рах? Крис Кас­пер­ски счи­тал, что это впол­не воз­можно!

info

Эта статья была слу­чай­но обна­руже­на в пыль­ном и порос­шем паути­ной чулане редак­ции «Хакера» во вре­мя оче­ред­ной генераль­ной убор­ки. Крис Кас­пер­ски написал ее еще в 2003 году, но по опре­делен­ным при­чинам матери­ал не был опуб­ликован. Сей­час мы решили испра­вить это. В сво­ем эссе Крис пытал­ся уга­дать сле­дующий шаг раз­вития вычис­литель­ной тех­ники и обра­тил свой взгляд на тро­ичную логику, которая, по его мне­нию, мог­ла бы стать осно­вой оче­ред­ного эта­па эво­люции высоких тех­нологий. Тех­ничес­кие под­робнос­ти, каса­ющиеся прин­ципов такой архи­тек­туры, не утра­тили акту­аль­нос­ти и сегод­ня.

Не­дале­кое будущее… Гиган­ты мик­ропро­цес­сорной индус­трии, как никог­да, оза­боче­ны бли­зостью физичес­ких огра­ниче­ний так­товой час­тоты и сте­пени интегра­ции, за которы­ми устой­чивую работу чипов гаран­тировать ста­нет прос­то невоз­можно. Про­изво­дитель­нос­ти же име­ющих­ся про­цес­соров, даже таких сприн­теров, как Pentium-XXX, хва­тит от силы года эдак на три, пос­ле чего пот­ребитель нач­нет шиб­ко нер­вни­чать и пинать кон­курен­тов, которые, вос­поль­зовав­шись все­общим замеша­тель­ством, получат шанс выр­вать­ся впе­ред. В ход идут все­воз­можные обходные при­емы уве­личе­ния про­изво­дитель­нос­ти — рас­парал­лелива­ние вычис­лений, упрежда­ющие исполне­ние и заг­рузка команд.

При­меча­тель­но, что вышепе­речис­ленные «новей­шие» дос­тижения не явля­ются новей­шими в бук­валь­ном понима­нии это­го сло­ва — в той или иной фор­ме они были реали­зова­ны еще на лам­повых машинах, нехило работа­ющих в куда более тес­ных рам­ках физичес­ких огра­ниче­ний. Быс­тро­дей­ствие и количес­тво элек­трон­ных ламп в пер­вых ЭВМ, конеч­но, не идет ни в какое срав­нение с чис­лом и рез­востью тран­зисто­ров в сов­ремен­ных компь­юте­рах, но тем не менее факт оста­ется фак­том.

Пос­тепен­но все эти тех­нологии миг­рирова­ли на плат­форму бытовых мик­ропро­цес­соров, мно­гок­ратно уве­личи­вая про­изво­дитель­ность, ког­да, казалось бы, все ресур­сы уже на исхо­де. Так про­изош­ло и на этот раз… Едва начали раз­давать­ся голоса, что конец золото­го века мик­ропро­цес­соров сов­сем бли­зок и пора начинать переби­рать­ся на клас­терные супер­компь­юте­ры, Intel «неожи­дан­но» вспом­нила о трех­знач­ной логике.

Но что же это такое — трех­знач­ная логика? И почему она сулит рекор­дное уве­личе­ние про­изво­дитель­нос­ти при нез­начитель­ном уве­личе­нии аппа­рат­ной слож­ности мик­ропро­цес­сора?

В соз­нании обы­вате­ля компь­юте­ры нас­толь­ко тес­но свя­заны с логикой дво­ичной, битами и бай­тами, что пред­ста­вить что‑то дру­гое боль­шинс­тво из нас прос­то не в сос­тоянии. На самом деле трех­знач­ная логика не нова, и впер­вые она была пос­тро­ена Лукасе­вичем в 1920 году! (Редак­тор заметил мимохо­дом, что три­логи­ка в какой‑то мере исполь­зовалась в машине Бэб­биджа, раз­работан­ной в XIX веке. Арис­тотель же обра­тил на нее вни­мание еще рань­ше. Одна­ко матема­тичес­ки осмысле­на три­логи­ка была лишь в середи­не XX века.) Как мож­но зак­лючить из наз­вания, в ней фигури­рует уже не два тер­ма: ис­тина и ложь, а три — ис­тина, ложь и фиг его зна­ет. Покажем пре­иму­щес­тва такого новов­ведения на прос­том при­мере.

Спро­си пер­вого встреч­ного «В Баг­даде сегод­ня был дождь?». С точ­ки зре­ния дво­ичной логики про­хожий дол­жен отве­тить либо «да», либо «нет». Но ни тот ни дру­гой ответ воп­роша­емый дать не может, пос­коль­ку он вам не мете­обю­ро. Ну не зна­ет он! Да невоз­можно это ска­зать язы­ком дво­ичной логики. При­дет­ся нам изме­нить воп­рос. Для начала поин­тересу­емся — «зна­ете ли вы сегод­ня погоду в Баг­даде?», и толь­ко в слу­чае утверди­тель­ного отве­та зададим сле­дующий воп­рос.

В тро­ичной логике ответ на наш воп­рос может быть получен сра­зу, то есть, говоря язы­ком кибер­нетики, за один такт работы про­цес­сора вмес­то двух: про­хожий отве­тит «А фиг его зна­ет!». Раз уж мы загово­рили о про­цес­сорах, рас­смот­рим прос­тей­шую прог­рам­мную задачу: срав­ним два чис­ла — А и В. Оче­вид­но, что воз­можны три вари­анта: A > B, A = B и A < B. В дво­ичном про­цес­соре эту опе­рацию при­ходит­ся осу­щест­влять за два про­хода. Сна­чала выяс­няем, рав­ны ли А и В. Если они ока­жут­ся нерав­ны, то вто­рым заходом уточ­няем, А боль­ше B или нет. Наг­лядно это показа­но на сле­дующем рисун­ке.

Троичная (слева) и двоичная (справа) блок-схемы
Тро­ичная (сле­ва) и дво­ичная (спра­ва) блок‑схе­мы

По­чему же компь­юте­ры до сих пор стро­ятся на дво­ичной осно­ве? При­чина зак­люча­ется в аппа­рат­ной прос­тоте дво­ичных вен­тилей. На опре­делен­ном эта­пе раз­вития вычис­литель­ной тех­ники бинар­ная логика ока­зыва­лась нам­ного выгод­нее и эко­номич­нее! Сегод­ня же все изме­нилось. Слож­ность вен­тилей ста­ла менее кри­тич­на их чис­ла и количес­тва соеди­нений меж­ду ними. А про­изво­дитель­ность и вов­се важ­нее все­го! Таким обра­зом, тро­ичные вен­тили выг­лядят весь­ма заман­чивым фун­дамен­том для сов­ремен­ных компь­юте­ров.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    8 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии