И пожалуй, единственным исключением из этого правила является троичная логика, которая всё-таки нашла себе применение в материальном мире.
От Фаулера к ЭВМ
В апреле 1952 года в лаборатории электросистем Энергетического института АН СССР под руководством Иосифа Брука начали работу над третьей после МЭСМ и М-1 советской электронно-вычислительной машиной, получившей индекс М-2. Параллельно в других научных центрах строились ещё два ламповых гиганта – БЭСМ-1 для Академии наук и предсерийная «Стрела» для КБ-1 (ныне НПО «Алмаз»). М-2 планировалось смонтировать на кафедре вычислительной математики механико-математического факультета МГУ, но, когда к 1955 году машина была окончена, собрана в четырёх шкафах и отлажена, планы руководства поменялись и ЭВМ осталась в лаборатории электросистем, где в течение 15 лет решала задачи, поступавшие от различных институтов.
Тем не менее МГУ очень нуждался в собственной ЭВМ: под неё уже было выделено место, несколько инженеров прошли предварительную подготовку по отладке машины. Предполагалось, что она поступит из лаборатории СКБ-245 Министерства машиностроения и приборостроения СССР (ныне НИЦЭВТ), именно там работали над «Стрелой». Но ожидание могло затянуться не на один год, и у заведующего кафедрой – известного математика Сергея Соболева – возникла светлая идея: не надеяться на высшие силы, а построить собственную машину. К слову, чуть позже Соболев инициировал создание при кафедре вычислительного центра – сегодня это Научно-исследовательский вычислительный центр МГУ.
Руководителем проекта стал Николай Брусенцов, молодой и перспективный инженер из конструкторского бюро МГУ. Брусенцов горел новаторскими идеями и первым делом исключил мысль о том, чтобы строить ламповую ЭВМ. Это звучало прогрессивно: первые безламповые ЭВМ только-только начинали появляться и в стране, и в мире. Но была проблема, и она заключалась в том, что с полупроводниковыми элементами в те времена дело обстояло плохо, особенно если говорить о транзисторах. В конструкции упомянутой М-2 наряду с лампами использовались диоды КВМП-2–7, а для постройки безламповой ЭВМ требовались именно транзисторы, единственным доступным аналогом которых в то время в СССР были феррит-диодные элементы.
Советским пионером разработки таких элементов был Лев Гутенмахер, руководитель лаборатории электромоделирования Института точной механики и вычислительной техники АН СССР. Брусенцову разрешили ознакомиться с работой Гутенмахера, и молодой инженер на основе двоичных элементов спроектировал собственный вариант ферритодиодной ячейки. Чуть позже, к слову, Гутенмахер закончил работу над ЛЭМ-1 – первой советской безламповой ЭВМ.
Но на этом Брусенцов не остановился. Он предложил пойти по совершенно иной, нежели в других лабораториях, дороге – и разработать не двоичную, а троичную машину. Идея казалась необычной и даже революционной: никто и никогда не строил троичных ЭВМ, механический вычислитель Фаулера столетней давности можно было не брать в расчёт. Все компьютеры мира, которых на тот момент насчитывалось едва ли пара десятков, работали на двоичной логике.
Брусенцов считал, что исключение третьего значения ограничивает возможности вычислительной техники, поскольку мышление человека не сводится к «да» и «нет», а имеет больше вариаций. Соответственно, у компьютера на троичной логике больше шансов приблизиться к человеку – Брусенцов видел в этом стремление к искусственному интеллекту.
В его рассуждениях имелось здравое зерно. Троичный компьютер был обратно совместим
[8] с двоичными машинами – он мог работать в двоичном режиме и выполнять те же, лишь слегка модифицированные, программы. При этом троичная логика давала некоторые преимущества. Брусенцов предлагал использовать так называемую троичную симметричную систему (–1, 0, 1), простую и экономичную. В такой системе не нужно отмечать знак всего числа – оно отрицательно, если его старший разряд отрицателен, и наоборот, а округление производится простым обнулением младших разрядов. Экономичность системы заключается в том, что при равном числе знаков она позволяет записать большее количество чисел, нежели любая другая логика. Судите сами: в десятичной системе 30 знаками можно записать числа от 0 до 999 (то есть три разряда, по десять значений в каждом), в двоичной – от 0 до 32 767, а в троичной – от 0 до 59 048!
В остальном троичная машина аналогична двоичной. Единица информации (один троичный разряд) называется тритом (аналог в двоичной системе – это бит), шесть тритов образуют трайт, который может принимать 729 значений против 256 у байта.
Как строили машину
Специального финансирования группе Брусенцова не выделили, и инженеры вынуждены были вписываться в бюджет МГУ. Большую часть оборудования для работы они делали своими руками, кроме того, им доставались списанные задним числом за подписью Соболева осциллографы и другие приборы. Начиналась лаборатория с четырёх человек, а впоследствии разрослась до 20. Отчасти потому машину строили довольно долго: работы начались в 1955-м, а первые испытания прошли только в декабре 1958-го. За эти годы было много бюрократических проблем – в частности, в разгар разработки в МГУ явился ревизор из Государственного комитета по радиоэлектронике и постановил работу над машиной свернуть как пустую растрату средств. Спасли ситуацию личные связи Соболева, который добился аудиенции в ЦК КПСС и в тот же день вернулся в сопровождении сотрудника Отдела оборонной промышленности ЦК, получив в итоге разрешение на разработку!
На тот момент Брусенцов уже выступил с докладами на нескольких международных конференциях и у него было предложение из братской коммунистической Чехословакии продать техническую документацию, чтобы начать производство машины в Брно. Но советские чиновники чехам отказали.
Машину назвали «Сетунь» в честь притока Москвы-реки. По окончании основной конструкторской части ЭВМ дорабатывали ещё полтора года, а в 1960-м были проведены межведомственные испытания перед комиссией, в состав которой вошли представители целого ряда предприятий: НИИ счётных машин, Института электромеханики, НИИ математики и механики и т. д. Испытания прошли хорошо, машина получила положительные отзывы и была рекомендована к серийному производству специальным актом от 29 апреля 1960 года.
И вот тут возникла проблема. Всё это время над машиной работал довольно узкий технический коллектив, все инженеры держали большую часть схем в набросках, черновых чертежах или вовсе в головах, и никакой толковой производственной документации на «Сетунь» просто не существовало!
В результате документацию разрабатывала совершенно другая организация – Вычислительный центр АН УССР (ныне Институт кибернетики имени В. М. Глушкова), где за 10 лет до того создали первую советскую вычислительную машину МЭСМ. Абсолютно сырой результат этой разработки (как позже рассказывал Брусенцов, чертежи вообще не проверяли и изготовленные по ним детали не подходили одна к другой) отправили на Казанский завод математических машин, который как раз освоил производство ЭВМ М-20, самых мощных на тот момент в Советском Союзе. Времени было в обрез: к осени 1961 года первый серийный образец следовало доставить на ВДНХ для участия в выставочной программе. Довести документацию до рабочей версии с применением ряда узлов от М-20 уже не успевали, поэтому первый экземпляр «Сетуни» отличался от последующих: его строили по кое-как подогнанным первичным чертежам, а настраивал машину лично Брусенцов уже в Москве.