00Три состояния вместо двух

Конец 1950-х годов — время, когда вычислительная техника в СССР только выходила из стадии единичных уникальных машин и ещё не была жёстко регламентирована. Университеты получали возможность вести собственные разработки, а кибернетика, ещё недавно критиковавшаяся официально, превращалась в приоритетное направление. В этих условиях нестандартный проект имел шанс возникнуть и дойти до серийного производства.

Эти обстоятельства иллюстрирует история создания ЭВМ «Сетунь». Машина создавалась в «предкремнии», — писал один из создателей ЭВМ, Николай Брусенцов, в статье .

«Тогда не было ясности, в каком направлении будет развиваться цифровая техника. Хорошие перспективы виделись в электромагнитной технике — дешевые, миниатюрные, надежные и устойчивые к радиации ферритовые сердечники, от природы имели дискретные состояния намагниченности. Обе „Сетуни“ были сделаны на таких элементах».Н. П. Брусенцов, «Троичные цифровые машины в МГУ»

В интервью Брусенцов вспоминал, как это было. МГУ должна была получить машину М-2, изготовленную лабораторией Исаака Брука. Помешали академические разногласия. На выборах академиков глава кафедры вычислительной математики МГУ академик Сергей Соболев проголосовал в пользу Лебедева, а не Брука. Брусенцов полагает, что Брук затаил обиду, именно поэтому отказался высылать машину. Соболев позволил Брусенцову заняться созданием собственной машины — это было в конце 1955 года.

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

Как вспоминал Брусенцов, уже тогда было ясно, что ламповые машины ненадежны. Проблема заключалась в самих лампах — у них был короткий срок службы. ЭВМ могли работать всего несколько часов, затем следовала поломка. Тогда Юлий Гутенмахер строил машину ЛЭМ-1 на феррит-диодных элементах, Брусенцов был знаком с его работами, и посчитал направление перспективным. Так он попал к нему на стажировку.

«Главное, что я увидел: они используют пару сердечников под каждый бит — рабочий и компенсационный. И мне пришла в голову идея: а что, если заставить компенсационный сердечник работать. Тогда каждая ячейка становится трехзначной. В результате получилось, что в „Сетуни“ количество сердечников было в семь раз меньше, чем в ЛЭМ-1. При этом „Сетунь“ имела почти вдвое большую разрядность».Н. П. Брусенцов, «Троичные цифровые машины в МГУ»

Использовалась так называемая симметричная троичная система, в которой разряд принимает значения −1, 0 и +1. Такая запись естественно описывает и положительные, и отрицательные числа, не требуя отдельного знакового разряда и специальных правил для отрицательных величин. Для арифметики это давало ряд практических упрощений, которые Брусенцов и его группа стремились реализовать аппаратно, а не программно.

Память на ферритовых сердечниках, крупный план
Память на ферритовых сердечниках: в «Сетуни» пара таких сердечников на ячейку давала не два состояния, а три. Снимок музейного образца, Университет СарагосыИсточник: José Luis Briz Velasco / Wikipedia CC BY-SA 4.0

По воспоминаниям Брусенцова, в лаборатории, готовившей «Сетуни», никогда не работало более двух десятков человек. Разработку начинали и вовсе с четырьмя сотрудниками, в 1956 году. А уже через два с половиной года, в 1958 году, был рабочий образец. Однако почти с самого начала, разработка «Сетуни» сталкивалась с давлением.

«Осенью 1959 года нас пригласили на Коллегию Государственного Комитета Радиоэлектроники (ГКРЭ). Там мы узнали, что наша машина не нужна. И Госплан, и ВСНХ заняли отрицательную позицию. На Коллегии нас записали в черный список закрываемых разработок. Мы никогда никаких дополнительных денег на создание машины не получали, работали только за зарплату здесь, в МГУ. Использовали оборудование, списываемое заводами при снятии изделий с производства. Тем не менее, ради экономии средств нас решили закрыть».Н. П. Брусенцов, «Троичные цифровые машины в МГУ»

Но ученым удалось отбиться: по настоянию Соболева, которому пришлось защищать проект в ЦК КПСС, были проведены испытания «Сетуни», в апреле 1960 года. Машина, по воспоминаниям Брусенцова, уже тогда отлично работала. «Сетунь» показала 95% полезного времени (это время, которое машина тратит на выполнение задач, а не тестово-наладочные работы) — в то время уже считалось очень хорошим результатом, если она показывала хотя бы 60%.

После испытаний было принято постановление Совмина об организации серийного производства в Казанском заводе. В год начали выходить по 10–12 устройств, что, по мнению Брусенцова, было всего лишь формальным выполнением постановления.

Ферритовая матрица памяти — основа безламповой конструкции
Ферритовая матрица памяти — основа безламповой конструкцииИсточник: Konstantin Lanzet / Wikipedia CC BY-SA 3.0

01Безламповая надежность

Ключевым техническим решением стал почти полный отказ от ламповой схемотехники. В Б. Н. Малиновского приводятся общие характеристики машины: в качестве основного элемента схем применяется магнитный усилитель с питанием импульсами тока.

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

Машина использовала троичную систему счисления с коэффициентами 1, 0, -1. Длина слова в арифметическом устройстве машины составляла 19 троичных разрядов: команды кодировались полусловом, то есть, девятью разрядами (по сути, машина оперировала девятитритными словами). В памяти устройства каждая пара полуслов (составляющие полное слово) и каждое полуслово в отдельности имели независимые адреса.

Память была двухуровневой — быстрая оперативная на ферритовых сердечниках и более ёмкая внешняя на магнитном барабане; обмен между ними организовывался автоматически. В сочетании с троичной арифметикой и ферритодиодной элементной базой такое устройство давало «Сетуни» очень высокую устойчивость в работе.

Память на ферритовых сердечниках крупным планом
Память на ферритовых сердечниках крупным планомИсточник: Frédéric BISSON / Wikipedia CC BY 2.0

Благодаря тому, что «Сетунь» была машиной с арифметическим устройством последовательного действия с блоком быстрого умножения, удалось достичь быстродействия в 1–2 тыс. операций в секунду (на уровне параллельных машин того времени — столько же, например, было у М-2 Брука). Небольшая оперативная память ЭВМ «Сетунь» состояла из трех зон объемом 54 9-разрядных слов каждая, связанных позонным обменом с основной памятью на магнитном барабане, объем которого составлял 36 зон.

Троичная логика давала и собственные преимущества. Знак числа кодировался естественным образом, без отдельного разряда; округление выполнялось проще; ряд операций требовал меньше действий. Программисты, работавшие на «Сетуни», отмечали логическую стройность её системы команд.

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

Инфографика1955–1965 · ИНФОГРАФИКА

Троичный код

«Сетунь» — единственный в истории серийный троичный компьютер: считала не в нулях и единицах, а в трёх состояниях, и обходилась стране дешевле любой лампы.

ЦИФРЫ
27 500 ₽
цена одной машины «Сетунь» — на порядок дешевле аналогов
~50
машин выпустил Казанский завод к 1965 году
30
из них разошлись по вузам и лабораториям СССР
95%
полезного времени на испытаниях 1960 года — при норме в 60%
4
человека начинали разработку в 1956 году
7×
меньше магнитных сердечников, чем в конкурирующей ЛЭМ-1
  1. 1955Академик Соболев разрешает Николаю Брусенцову начать собственную разработку — после срыва поставки машины М-2 из-за академических разногласий
  2. 1956Старт разработки силами четырёх сотрудников МГУ — на списанном заводами оборудовании, без дополнительного финансирования
  3. 1958Готов рабочий образец — через два с половиной года; лабораторию так и не пополнили сверх двух десятков человек
  4. 1960Апрельские испытания после защиты проекта в ЦК — «Сетунь» уже отлично работает, показывая рекордные 95% полезного времени

«Главное, что я увидел: они используют пару сердечников под каждый бит — рабочий и компенсационный. И мне пришла в голову идея: а что, если заставить компенсационный сердечник работать. Тогда каждая ячейка становится трёхзначной».

Н. П. Брусенцов, «Троичные цифровые машины в МГУ»

География без сервиса

Машины работали от Калининграда до Магадана, от Одессы и Ашхабада до Новосибирска и Якутска — без сервисной поддержки и запасных частей. Ферритодиодная схемотехника оказалась настолько надёжной, что нареканий это не вызывало.

Почему закрыли

В 1965 году производство остановили: машина оказалась слишком дешёвой, чтобы быть выгодной заводу, а заявки из Чехословакии на покупку лицензии заблокировал ГКРЭ — властям было проще свернуть проект, чем масштабировать его.

Брусенцов Н. П. Троичные цифровые машины в МГУ · Брусенцов Н. П., интервью Upgrade «Долой биты!» · Малиновский Б. Н. История вычислительной техники в лицах Скачать PDF

02Пятьдесят машин из Казани

До 1965 года Казанский завод изготовил 50 машин, из которых 30 поступили в университеты и вузы СССР. Машины разбросало по стране. Как писал , «Сетунь» эксплуатировалась во всех климатических зонах — от Калининграда до Магадана, от Одессы и Ашхабада до Новосибирска и Якутска. При этом никакой технической поддержки не было — ни сервиса, ни запасных частей. Но ЭВМ работали стабильно и не вызывали нареканий.

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

Николай Брусенцов
Николай Брусенцов (1925–2014) — руководитель разработки «Сетуни»Источник: Надир Чаныше / wikipedia.CC BY-SA 4.0

Но уже в 1965 году производство «Сетуни» прекратили. Сложились два фактора: во-первых, машина оказалась слишком эффективна — её поставляли всего за 27,5 тысяч рублей (281,4 млн рублей в пересчете на сегодняшние деньги). По иронии, дешевизна в производстве сделала машину недостаточно привлекательной для заводов. Запрос на масштабирование поставок был: Внешторг получил заявки из ряда стран Европы, в том числе и из соцстран.

«Чехи считали, что могли хорошо продавать „Сетунь“ в соответствии с рыночными ценами и получать порядка полумиллиона долларов прибыли с каждой машины. По их приглашению я ездил в Чехословакию, мне показали завод, который планировалось использовать для производства машин — „Зброевка Яна Швермы“… Завод меня просто восхитил. Они уже приготовили для „Сетуни“ магнитные барабаны, печатающее устройство, устройство ввода».Н. П. Брусенцов, интервью Upgrade, «Долой биты!»

В Чехословакии ждали документацию для выпуска. В СССР, однако, настаивали, что сначала нужно освоить крупносерийное производство этой машины — против чего, по словам Брусенцова, было ГКРЭ. В противодействии властей заключалась вторая причина. Как позже заявлял Брусенцов, власти сообщали чехам отдельно, что машину будут снимать с производства, так что заказывать её не стоит.

При давлении со стороны ГКРЭ и отсутствии интереса со стороны заводов, проект «Сетуни» лишился и единственного влиятельного покровителя — Соболева. В 1957 году он покинул Москву и возглавил созданный им в Новосибирске Институт математики Сибирского отделения АН СССР.

«Сетунь» осталась единственным серийным троичным компьютером в истории СССР.

Брусенцов продолжил работу: в 1970 году была создана опытная машина «Сетунь-70» со стековой архитектурой и обработкой данных в обратной польской записи; она использовалась в учебных целях на факультете вычислительной математики и кибернетики МГУ. Дальнейшего серийного развития троичное направление в СССР не получило. Сам Брусенцов до конца жизни оставался сторонником троичной логики, продолжал развивать её теоретически и рассматривал троичные системы как недооценённое направление вычислительной техники.