Заместитель главного редактора
100,1
рейтинг
28 ноября 2012 в 16:45

Недвоичная логика

В начале Второй мировой войны перед армией США остро встала проблема нехватки баллистических таблиц стрельбы, жизненно необходимых для работы артиллерии. Типичная баллистическая таблица представляет собой набор числовых данных траекторий полета снаряда, предварительно расчитанных для определенных условий стрельбы, ствола, снаряда, погодных условий и температуры воздуха. Ручной расчет лишь одной траектории занимал несколько дней, и каждая таблица обходилась в огромные количества человеко-часов.

В то время этими расчетами занимались лишь несколько высококвалифицированных специалистов, и даже увеличение штата лаборатории в 1942 году помогло незначительно. В июне этого же года был заключен контракт с Школой электротехники Мура Пенсильванского университета, которая располагала диффереренциальным анализатором конструкции Вэнивара Буша — механическим вычислителем той эпохи. Работой руководил лейтенант, а позже капитан Герман Голдстайн, получивший степень доктора математики в Чикагском университете. Именно он с профессором Брайнердом в 1943 году представил идею «электронного дифференциального анализатора» авторства Джона Мокли.

Новая машина, проект которой годом ранее был отвергнут за излишнюю новизну, начала выполнять реальную работу лишь осенью 1945 года. Мокли, ранее работавший с погодными и физическими данными, предугадал будущую острую нужду в быстродействующем вычислителе, и хотя к моменту окончания постройки необходимости в изготовлении баллистических таблиц не было, компьютер был востребован и использовался в проекте ядерной и термоядерной бомбы, расчетах погоды и выпадения радиоактивных осадков, решении задачи сверхзвукового самолетостроения и в расчетах математических постоянных.

При общей своей примитивности (для задания программы необходимо было вручную перемещать узлы и коммутаторы) и технических трудностях эксплуатации, связанных с ненадежностью вакуумных ламп, ЭНИАК поражал своими возможностями и скоростью работы, которая не была ограничена наличием движущихся частей. В отличие от других электромеханических машин той эпохи, работавших на электрических реле, и своего преемника ЭДВАК, первый электронный цифровой компьютер общего назначения был не двоичным, а десятичным.


Десятичные накопители ЭВМ ЭНИАК

Выбор десятичной системы был продиктован вопросами удобства её использования; создатели машины решили пренебречь достоинствами иных систем счисления. ЭНИАК мог складывать, вычитать, умножать, делить, извлекать квадратный корень и сравнивать любые десятичные числа из 10 цифр. В памяти 20 накопителей, являвшихся также и сумматорами, могло храниться до 20 таких чисел. При этом числа представлялись не десятью различными электрическими значениями, которые легко могли измениться, а отсутствием или наличием активных импульсов, и набор сигналов одного числа передавался совместно по нескольким различным проводам. Таким образом к каждому регистру подходило 11 линий (10 цифр и знак).

Каждый триггер машины имел два входа и два выхода и содержал два триода, соединенных таким образом, что в любой момент времени ток проходил лишь через один. Десять триггеров формировали десятичное кольцо, способное считать числовые сигналы и хранить числа. В свою очередь десять колец объединялись в базовый арифметический накопитель. Если одно из колец выходило за предел в 9 значений, старший сосед получал дополнительный импульс.

Компьютер, являвшийся по сути механически программируемым калькулятором, опирался в своей работе на эти накопители. При сложении один из накопителей передавал цифры соответствующих разрядов другому, при вычитании — забирал. Для умножения требовалось четыре накопителя, хранящих множитель, множимое и две ячейки для выполнения математической операции. При делении хранились делимое, делитель, частное и остаток, сдвигающийся по разрядам для вычитания из делимого.

Очевидно, что ЭНИАК был в значительной степени аппаратно избыточен. Его сложность, вызванная использованием такой «человечной» десятичной формы представления чисел на основе двоичных триггеров, и нестабильность в работе вакуумных ламп несколько затрудняла его работу и заставляла персонал идти на различные ухищрения в его эксплуатации.

Последний апгрейд машины произошел в июле 1953 года (до этого ЭНИАК обзавелся, к примеру, механической системой развязки питания). Уже в 1951 году встал вопрос о недостаточности количества памяти, и в Burroughs Corporation предложили использовать перспективную технологию магнитных ячеек. Основной проблемой исполнителя стал язык. Для реализации в ЭНИАК памяти в 100 слов, каждое из которых представляло из себя 10 десятичных цифр и 10 знаков этих чисел, потребовалось бы 9.100 бит хранилища. Вместо этого каждую цифру представили в виде 4 бит с введением преобразователей кода, но даже с учетом потерянных бит запрещенных состояний экономия была значительна — потребовалось всего 4.100 бит.

За ЭНИАКом последовала серия машин IBM, UNIVAC и других, но десятичные компьютеры постепенно были вытеснены двоичными. Причины этого просты: у распространенных сегодня элементарных логических элементов лишь два состояния, которые они могут принять, поэтому запись данных в двоичной форме заведомо проще и плотнее. Шестьдесят лет спустя отход от бинарной логики воспринимается как заведомо проигрышный шаг, но является ли двоичная логика математически лучшим выбором?

Удельная натуральнологарифмическая плотность записи информации описывается функцией



Эта функция достигает максимума в точке a = e. Это означает, что наибольшей плотностью записи информации обладает система исчисления с основанием, равным основанию натуральных логарифмов (е ≈ 2,718281828459045). Именно так было выбрано основание для фиксирования логарифмических таблиц. При этом из целочисленных систем счисления наибольшей плотностью записи информации обладает троичная, а не двоичная система исчисления.

Троичная система счисления существует в двух вариантах: симметричная, имеющая в наборе отрицательные цифры (−1, 0, 1), и несимметричная (0, 1, 2). Необходимо отметить, что троичная симметричная система счисления обладает тем свойством, что обеспечивает более простое представление отрицательных чисел в памяти компьютера. (Как известно, в двоичное число для этого нужно вводить дополнительный код, чтобы не усложнять архитектуру компьютера.)

Троичный компьютер оперирует троичной логикой, первой и наиболее известной многозначной логикой. В отличие от двоичной логики, где высказыванию присваивается значения либо «истинно», либо «ложно», троичная нечеткая логика имеет состояние «неизвестно». Преимущество трехзначной логики над бинарной легче всего продемонстрировать на примере операции сравнения двух чисел: здесь троичная логика сразу выдает результат (больше, меньше или равно), а двоичной для ответа требуется сначала выяснить, больше ли первое второго, а затем убедиться, не больше ли второе первого.

Не все законы двоичной логики верны для троичной логики, для некоторых сформулированы троичные аналоги. Ряд исследователей апеллирует к тому, что трехзначная логика значительно более натуральна и свойственна человеческому мышлению, чем двоичная. Сегодня закоснелая бинарная логика, согласно их заявлениям, не дает нам войти в трехзначную. Развитием троичной логики в разные периоды времени занимались польский философ и логик Ян Лукасевич, английский математик Льюис Кэролл и другие.

Несмотря на все достоинства троичной логики и троичной системы счисления, в истории человечества остались лишь две наиболее успешные попытки создать троичный компьютер. Первая из них — механическая — датируется XIX веком. Деревянный калькулятор Фаулера использовал симметричную троичную систему счисления, и Августом де Морганом было сделано наиболее точное на сегодня его описание, на основе которого машина была воссоздана.



Опасаясь кражи его идеи, Фаулер в одиночку выполнял детали из древесины. Чтобы скомпенсировать вызываемую ей низкую точность, изобретатель придал своей машине крупные габариты — 1,80 метра в длину, 90 см в глубину и 30 см в высоту. До этого Фаулер разработал методы работы с используемой в его машине системой счисления.

Машина состоит из четырех частей. В зависимости от выполняемой операции первая часть (на рисунке выделена красным) представляет множимое или частное, вторая (выделено синим) — это множитель или делитель, третья (выделено бордовым) — произведение или делимое, четвертая — аппарат переноса, который упрощает ответ до его простейшей формы после выполнения основных операций и может быть перемещен для этого к множителю или делителю для работы с ними.

Множитель — это рама, которая может перемещаться перпендикулярно стержням множимого и произведения, и расположена между их плоскостями таким образом, что её край может быть совмещён скользящим движением с каждым стержнем множимого поочередно. Множитель состоит из набора стержней, при этом каждый из стержней имеет зубец с каждого края и зубец, которым множитель взаимодействует со стержнями множимого. Один набор зубцов размещён так, что опирается на раму, которая может вращаться вокруг оси. Каждый стержень может соприкасаться с рамой выше, ниже или в районе оси вращения. Зубцы, находящиеся на оси, не получают движения, остальные же придут в движение в ту или иную сторону в зависимости от того, с какой стороны зубец касается рамы. Перпендикулярные зубцы с другого конца могут совершать движение вперёд–назад или оставаться неподвижными, в свою очередь они тем самым взаимодействуют со стержнями, которые составляют раму произведения, которая схожа с рамой множимого и имеет деталь, соединяющую её с множителем.



При умножении рама множителя устанавливается так чтобы край множителя совпал с первым стержнем множимого. С края закреплен зубец, который зацепляется со стержнем множимого над которым он оказался, перемещая его в том или ином направлении согласно тому, в какую сторону может поворачиваться рама множителя. Затем вращающуюся раму нужно перемещать таким образом, чтобы стержень множимого попал в ноль. Так перемножается разряд множимого с множителем. Затем воздействие перпендикулярных зубцов отображает результат на раме произведения. Рама множителя сдвигается до тех пор, пока зубец не окажется над следующим стержнем множимого, после этого зубец сдвигается так, чтобы сдвинуть очередной стержень множимого в положение нуля. Следующий разряд множимого будет умножен на множитель, а рама произведения получит и сложит его. Операция повторяется до тех пор, пока не кончатся разряды множимого.

Результат умножения будет представлен не в простейшей форме: он должен содержать только +1 или −1, а полученный промежуточный ответ может содержать на любом стержне +2, −2, +3 или −3 и т.д. Для корректировки результата используется механизм переноса, который представляет собой простое устройство, которое, как и множитель, может совершать поперечное перемещение, и может быть помещено на любой паре соседних стержней. Аппарат переноса выдвигает левый из двух стержней на единицу и втягивает стержень находящийся справа на 3 единицы или наоборот. Даже без наличия обязательного навыка работы с механизмом переноса серьезная ошибка невозможна, так как за каждую операцию можно перенести нижнюю колонку только на 3 единицы, в то время как следующая колонка изменится в противоположном направлении на одну единицу.

Деление чисел осуществляется противоположным способом.

Второй наиболее успешный проект троичной вычислительной машины — это относительно современная серийная (50 экземпляров) ЭВМ «Сетунь», построенная в вычислительном центре МГУ в 1959 году. Её создателем является советский конструктор Николай Петрович Брусенцов, также в проекте принимали участие Е.А. Жоголев, В.В. Веригин, С.П. Маслов, А.М. Тишулина и др. Машина использовала симметричную троичную систему счисления.



Минимальной адресуемой единицей памяти «Сетуни» стал трайт, равный шести тритам и принимающий значения от -364 до 364. Работа с диапазоном отрицательных значений — особенность, отличающая трайт от двоичного байта, значения которого распространяются от 0 до 255. С помощью трайта можно закодировать все заглавные и строчные символы русского и латинского алфавитов, необходимые математические и служебные символы.



Машина была реализована не на ненадежных вакуумных лампах или дорогих в ту эпоху транзисторах, а на феррит-диодных элементах, собранных на гетинаксовой основе. Генератор тактовой частоты задавал такт работы ячеек в 200 кГц. Ячейки компоновались в функциональные блоки: сумматоры, дешифраторы троичного кода, регистры сдвига. С помощью тридцатиконтактного разъёма каждый блок стыковался с другими блоками «Сетуни», формируя базовые компоненты ЭВМ: арифметическое устройство и устройство управления

При проектировании Брусенцов позаимствовал принцип работы логических элементов у ЭВМ ЛЭМ-1, но в то время как в последнем используется пара сердечников под каждый бит — рабочий и компенсационный, в «Сетуни» работает и компенсационный сердечник, что задает троичный характер компьютера. В троичной ячейке Брусенцова один трит записывался в два двоичных разряда, четвёртое состояние двух двоичных разрядов не использовалось.

Первый опытный экземпляр машины «Сетунь» показывал при испытаниях 95% полезного времени (реальной работы вне тестирования, техобслуживания и устранения неисправностей), в то время как 60% считалось хорошим результатом. За счет несложных технологий «Сетунь» со всей периферией стоила 27,5 тысяч рублей (для сравнения: только процессорный блок рекордно дешевой PDP-8 стоил 20 тыс. долларов), и к машине проявляли интерес не только в соцстранах, но и на Западе. Чехословацкий завод «Зброевка Яна Швермы» был готов начать выпуск машины для покупателей за рубежом и обещал выгоду в полмиллиона долларов с каждой машины, но более высокое руководство требовало сначала развернуть массовый выпуск машины в СССР, хотя уже тогда было очевидно, что проект близится скорее к закрытию.

И проект действительно был закрыт. В 1967 году, когда было решено делать к 100-летию со дня рождения Ленина разнообразные производственные подарки, конструктора, некоторые из которых уже сменили места работы, взяли обязательство к этой дате сделать «Сетунь-70» — улучшенную версию оригинала. Это была несколько иная ЭВМ: она была стековой, но в отличие от «Эльбруса» с его стеком операндов и более позднего PDP-11 с его процедурным стеком, «Сетунь-70» имела два стека — команд и операндов. Как говорит сам Брусенцов, программы на «Сетунь-70» получались легкочитаемыми и осваиваемыми, а вместо отладки использовалась контрольная сборка — проход написанного кода снизу вверх. Позднее «Сетунь-70» была эмулирована на двоичных машинах в форме диалоговой системы структурного программирования ДССП, но попыток тиражировать «Сетунь-70» разработчики, обладая горьким опытом «Сетуни», естественно, не предпринимали.



Не следует думать, что сегодня троичная логика была полностью забыта: она используется в телекоммуникациях, где важны скорости передачи информации. Отсылка за один такт одного трита увеличивает скорость передачи данных по одному разряду в 1,5 раза на один разряд, при увеличении количества разрядов скорость растет экспоненциально, в то время как уменьшаются удельные аппаратные затраты.

IBM, Motorola, Hypres и Texas Instruments ведут различные исследования в области троичных компьютеров. Значительных аппаратных проблем в реализации трехзначной логики на сегодняшний день не существует; наоборот, предлагаются новые и новые перспективные элементы с тремя состояниями. В рамках кремниево-германиевых сплавов (SiGe) можно реализовать цифровые интегральные схемы, работающие с тремя и более уровнями сигнала.

В своей научной работе «Архитектура троичного оптического компьютера» Джин Йи, Хи Хуакан и Лу Янгтиан предлагают использовать для выражения информации два состояния поляризации света с ортогональными направлениями колебаний. Три исследователя предлагают использовать кольцо оптоволокна в качестве регистра, полупроводниковую память для троичной ячейки и жидкие кристаллы как модуляторы и сумматоры.

Следует помнить о целом комплексе недостатков троичной логики. К примеру, логические элементы с тремя состояниями обойдутся дороже, и конструирование вычислительной машины на их основе будет сопряжено с разнообразными трудностями.

Для продуктивной работы троичного компьютера необходимо много качественного троичного программного обеспечения, которого сейчас не существует. На сегодняшний день на некоторые двоичные программные проекты было потрачено несколько тысяч человеко-лет и миллиарды долларов, и воссоздавать с нуля подобное для трехзначной логики было бы слишком дорогим решением.

В остальном же троичный компьютер является математически лучшим решением, и особенности работы его логики, а также представления отрицательных чисел говорят об этом. Остаётся надеяться, что наше отношение к троичной логике со временем сможет измениться.

При подготовке публикации использовались материалы монографии «Электронные компьютеры в артиллерийских войсках», сайтов mortarti.com, trinary.ru, trinitas.ru, журнала Компьютерра и архивов МГУ.
@atomlib
карма
319,0
рейтинг 100,1
Заместитель главного редактора
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (39)

  • –9
    «Чтобы скомпенсировать вызываемую ей низкую точность, изобретатель придал своей машине крупные габариты...» напомнило что-то из Фрейда
    • +7
      Плохая точность изготовления механических частей была обычной проблемой в такого рода устройствах аж до началы XX века. Пионерам компьютеростроения приходилось тяжко — их конструкции отлично работали на бумаге, однако когда доходило до реализации — дело шло туго. Тот же Беббедж, когда строил свои вычислительные машины, потратил немалые деньги на запчасти — из десяти выточенных по его заказу деталей подходила разве что одна, остальные отправлялись в мусорку из-за того что были сделаны неточно.
      • +9
        Ironically, радикально повысить точность изготовления смогли лишь станки с ЧПУ :)
        • +6
          Расскажите это часовщикам :)
  • +6
    Основным останавливающим фактором является несовместимость бинарного программного обеспечения с троичной логикой. На сегодняшний день на некоторые проекты было потрачено несколько тысяч человеко-лет и миллиарды долларов, и отказываться от их использования в пользу работы с нуля было бы слишком дорогим решением.


    Прошу прощения, но двоичная математика с легкостью выполняется на троичной логике, об этом еще Брусенцов писал в своих работах.
    • 0
      Спасибо, исправлено.
  • +4
    > Позднее «Сетунь-70» была эмулирована на двоичных машинах в форме диалоговой системы структурного программирования ДССП
    Можно ссылочку приложить, нашлась на trinary.ru
  • +6
    Основными останавливающими факторами являются

    а) реализация таких архитектур на уровне схемотехники железа (трит-шины с двумя дорожками на трит или с одной дорожкой, но с амплитудным делением уровней);
    б) относительная дороговизна полупроводниковых структур для реализации троичной логики;
    в) неоднозначность переходных процессов;
    г) сложность логического программирования в троичной системе из-за большого количества элементарных функций (чего только стоят троичные инверсии).

    В общем, плюсы (потенциальная логическая нечёткость по сравнению с бинарной логикой и большая плотность кодирования) перевешиваются минусами реального применения.
    • +1
      А что понимается под «троичной инверсией»?
      • +2
        • 0
          А на какой элементной базе?
          Казалось бы:
          если трит кодируется двумя битами (xp,xm), где "+"=(1,0), «0»=(0,0), "-"=(0,1), то:
          обмен "+" и "-" — просто перестановка проводников:
          bp=am, bm=ap
          обмен "+' и «0» — bm=am, bp=~(ap|am)
          обмен «0» и "-" — bp=ap, bm=~(ap|am)
          Всё за два такта — если такие операции вообще требуются в качестве элементарных. Ведь для реализации сложных схем необязательно кодировать все элементарные операции, можно оптимизировать их под то, что дешевле.
          • +3
            Бенефиты троичной системы подразумевают ещё и компактную элементарную логику. Которая, при соответствующей оптимизации, позволяет производить декомпозицию сложной логики до меньшего количества элементарной.

            Всё это хорошо на бумаге. На существующей мэйнстримовой элементной базе «просто переставлять проводники» не получится.
          • +1
            С теоретической точки зрения, как известно, любую операцию в многозначных логиках можно выразить с помощью функции Вебба.

            Так вот в двоичной логике инверсия выражается такой формулой:

            Not(x) = Webb(x, x)

            А в троичной такой (сам выводил уже давно):

            Inc(x) = Webb(x, x)
            Dec(x) = Inc(Inc(x))
            Not(x) = Webb(Webb(Dec(x), Inc(x)), Inc(Webb(Dec(x), x)))

            Из этого можно сделать вывод, что реализовывать всю троичную логику на одном типе триггеров чудовищно не эффективно, в отличие от двоичной, где требуется куда меньше операций.
            • +1
              Да, но если сравнивать эквивалентные по информационной сложности операции (например, сложение двух трехбитных чисел со сложением двух двухтритных), результат уже не столь предсказуем.
            • +1
              Если сравнить построение двоичных функций от двух переменных и троичных функций от одной переменной через операцию max(x,y)+1, то получится, что двоичную функцию можно вычислить в среднем за 2.25 операций, а троичную — за 4.037. Учитывая, что троичных функций больше (27 против 16), а стартовые условия хуже (на нулевом уровне есть только одна функция, а не две), проигрыш совсем не выглядит «чудовищным».
              • +1
                Не совсем понял зачем сравнивать двоичные функции от двух переменных и троичные от одной? И что такое нулевой уровень?
                • +1
                  Нулевой уровень — это функции, которые получаются за 0 операций: x для функции от одной переменной и x и y — для функций от двух. Сравнивать их можно, чтобы обеспечить хоть какое-то равноправие: то, что на каждую из 4 возможных двоичных функции тратится меньше операций, чем на каждую из 27 троичных, не удивительно — мы кодируем в два с лишним раза меньше информации. Разумеется, схемы будут получаться проще. 16 двухаргументных функций дают более похожее по размеру множество. Там сравнение имеет чуть больше смысла.
  • +9
    Троичная система счисления хороша тем, что в ней ошибки округления не имеют смещения, а значит не настолько быстро накапливаются. Об этом тоже стоило бы упомянуть.
  • +1
    Рыдаю над переводом: «но даже с учетом потерянных бит запрещенных состояний» — это теперь так помехоустойчивое кодирование обзывают?
    • +4
      Тут, вероятно, речь о том, что на одну цифру потребовалось 4 бита, а не log210=3.3219… В результате 0.678 бита на цифру потеряны из-за наличия 6 запрещенных состояний — 1010, 1011,… 1111. Имеет ли это отношение к помехоустойчивому кодированию — думайте сами.
  • +6
    > английский математик Льюис Кэролл

    Английского математика всё же звали Чарльз Доджсон.
    Как Кэролл он публиковал только нематематические свои труды.
    • +6
      Внезапно, «труды о троичной логике» опубликованы под именем Льис Кэррол.
      books.google.ru/books/about/Symbolic_Logic.html?id=b5gXAAAAIAAJ&redir_esc=y
      Потомучто это для детей.
      ""«Овладев же методами «Символической логики», вы получите увлекательное развлечение, не требующее ни специальных досок, ни карт, и к тому же полезное независимо от того, чем вы занимаетесь.»""
  • +1
    Вроде интересная статья, но не покидает ощущение, что её абзацы выдраны из какого-то единого контекста.
  • +2
    А скажите, пожалуйста, в чём архи-сложность баллистических вычислений?
    Догадываюсь, что там чуть посложнее, чем L = 2v02cosα / g
    Но чтобы несколько дней — это мне кажется черезчур.
    • +3
      На самом деле сложность зависит от желаемой точности, а вообще задача заключается в том чтобы по всем слоям воздуха, через которые летит снаряд, проинтегрировать влияние на него всех факторов при «табличных условиях» (15 градусов Цельсия и 750 мм. рт.ст.), а также коэффициенты влияния отклонений от табличных условий и внешних факторов. Собственно сложность заключается в том что на разной высоте воздух имеет разную плотность, снаряд вращается и многое другое, а также то, что надо для каждого снаряда составить таблицы для всех типов зарядов, взрывателей (они тоже влияют на полёт), различных углов возвышения.
  • +2
    Ещё дополню, что выбор десятичной системы для ENIAC был обусловлен не одной только «обратной совместимостью» с механическими десятичными счётными машинами, и возможностью «портирования» уже используемых там счётных алгоритмов на новую элементную базу.

    А именно, по информации www.inf.fu-berlin.de/lehre/SS01/hc/eniac/, "Десятичная система была выбрана для того, чтобы существенно сократить общее число используемых радиоламп. Например, для хранения 10-значного десятичного числа в десятичном счётчике с возможностью переноса между разрядами требуется 280 ламп. Хранение того же числа в двоичном счётчике потребовало бы 450 ламп."

    Поэтому хотелось бы от автора более подробного описания, что такое «плотность записи информации», и чем именно троичная система выигрывает у десятичной и остальных.
  • +2
    Честно говоря, я так и не понял, чем троичная лучше, и при чем здесь основание логарифма?
    Преимущество трехзначной логики над бинарной легче всего продемонстрировать на примере операции сравнения двух чисел: здесь троичная логика сразу выдает результат (больше, меньше или равно)…

    С таким же успехом я могу сказать, что семизначная логика еще лучше, потому что в ней проще закодировать день недели, цветовой или музыкальный тон.
    • +1
      Основание логарифма могло бы быть «при чём», если бы на реализацию троичного элемента логики требовалось ровно в 1.5 раза больше ресурсов (места на кристалле, потребляемой мощности,...), чем реализацию двоичного элемента в той же технологии. Тогда для представления числа от -N до N в троичной логике (при больших N) потребуется в среднем в 1.056 раза меньше ресурсов, чем в двоичной.
  • +1
    Спасибо огромное за статью, с удовольствием прочитал.

    Интересуюсь этой темой, так как наравне с машинами троичной логики — создавалась машина, использующая системы счисления в остаточных классах, разработкой которой занимался мой прадед, Акушский Израиль Яковлевич.

    К сожалению, не располагаю излишками времени, если бы вы подготовили столь же обширную статью о СОК — былоб ы прекрасно.
  • +1
    > проект которой годом ранее был отвергнут за излишнюю новизну
    Это как? Типа «сильно круто»?
    • +3
      Типа «технология еще не готова, чтобы реализовать проект на должном уровне». Или «модель бесперспективна, поскольку отсутствуют буржуазные советские аналоги».
      • +1
        > «модель бесперспективна, поскольку отсутствуют буржуазные советские аналоги»
        *(в моем понимании: «зачем нам это надо, если у наших конкурентов такого нету»)
        Спасибо, очень классное высказывание!
  • +1
    Кстати, какие порязрядные (тритовые?) операции полезны в симметричной троичной системе? В голову приходят BMIN, BMAX, BMUL и сложение по модулю 3 (BADD?). Если триты в аргументах принимают значения 0 и 1, то BMAX — аналог OR, BMIN и BMUL — аналог AND (работают одинаково), XOR(a,b) придется реализовывать как BMAX(0,BADD(a,b)), а NOT(a) — как SUB(MAX_INT,a).
  • +1
    В России и сейчас этим занимаются, у нас защищался вечерник у которого были в дипломе троичные логические элементы, он их даже моделировал в MultiSim. Видать где он работает этой темой занимаются, к сожалению подробностей я не знаю…
  • +1
    Спасибо, интересный пост.
  • +2
    «За счет несложных технологий «Сетунь» со всей периферией стоила 27,5 тысяч рублей (для сравнения: только процессорный блок рекордно дешевой PDP-8 стоил 20 тыс. долларов)» — это тогда, когда курс доллар фиксировался на уровне 60 копеек?
  • 0
    Очень хорошая статья. Огромное спасибо.
  • 0
    А еще лучше n-ичные логические элементы с двухзначным-трёхзначным «n».

    Ведь говорят, нейрон человека и животных и принимает примерно столько же состояний, но скорость взаимодействия между ними очень низкая, потому что взаимодействие электрохимическое.

    При этом человек и животное имеют прекрасное зрение, слух, обоняние, инстинкты, то есть способны эффективно распознавать зрительные, слуховые, обонятельные образы за доли секунды.

    Но логика, если это реализовать в железе, будет оочень сложная, я даже не представляю сколько операций для всех вариантов состояния.
    • 0
      Мозг функционирует по другим принципам и аналогия с n-ичными элементами слишком натянутая. Поэтому реализовывать такую n-ичную логику не имеет смысла, т.к. выигрыша по сравнению с двоичной не будет. Лучше тогда уж развивать квантовые и другие принципиально другие процессоры.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.