Борис Малиновский - История вычислительной техники в лицах
Соболев договорился с Л.И. Гутенмахером, в лаборатории которого в ИТМ и ВТ АН СССР к этому времени была создана двоичная ЭВМ на магнитных элементах, о стажировке Брусенцова в его лаборатории.
Авторитет Соболева «открыл двери» закрытой для всех лаборатории. «Мне показали машину и дали почитать отчеты, которые в электротехническом отношении, на мой взгляд, оказались весьма слабыми, — вспоминает Н.П. Брусенцов. — Например, одна из главных проблем — подавление „возврата информации“ в феррит-диодных регистрах, как нетрудно было подсчитать, вообще была надуманной; практически не использовались пороговые возможности элементов. Но главное, что мне бросилось в глаза, — каждый второй ферритовый сердечник не работал, а использовался для „компенсации помех“, которая в том исполнении принципиально не могла быть достигнута ни при каком подборе характеристик сердечников, чем только и занимались, выбрасывая в брак до 90 % тороидов. Разобравшись в этих заблуждениях, я легко нашел схему, в которой работают все сердечники, но не одновременно, что и требовалось для реализации троичного кода. О достоинствах этого кода я, конечно, знал из книг, в которых ему уделяли тогда значительное внимание. Впоследствии я узнал, что небезызвестный американский ученый Грош („закон Гроша“) интересовался троичной системой представления чисел, но до создания троичной ЭВМ в Америке дело не дошло».
Именно тогда у него возникла мысль использовать троичную систему счисления. Она позволяла создать очень простые и надежные элементы, уменьшала их число в машине в семь раз по сравнению с элементами, используемыми Л.И.Гутенмахером. Существенно сокращались требования к мощности источника питания, к отбраковке сердечников и диодов, и, главное, появлялась возможность использовать натуральное кодирование чисел вместо применения прямого, обратного и дополнительного кода чисел (см. Приложение 15).
После стажировки он разработал и собрал схему троичного сумматора, который сразу же и надежно заработал. С.Л. Соболев, узнав о его намерении создать ЭВМ с использованием троичной системы счисления, горячо поддержал замысел и позаботился о том, чтобы помочь молодыми специалистами. Изобрести сумматоры, счетчики и прочие типовые узлы не составило особого труда для Брусенцова: «Летом 1957 г. на пляже в Новом Афоне все детали были прорисованы в тетрадке, которую я захватил с собой, — вспоминает он. — Следующим летом мы с Карцевым плавали до Астрахани на теплоходе, но рисовать мне было уже нечего».
В 1958 г. сотрудники лаборатории (к этому времени их набралось почти 20 человек) своими руками изготовили первый образец машины.
ЭВМ «Сетунь». Опытный образец
Какова же была их радость, когда всего на десятый день комплексной наладки ЭВМ заработала! Такого в практике наладчиков разрабатываемых в те годы машин еще не было! Машину назвали «Сетунь» — по имени речки неподалеку от Московского университета.
Характеризуя роль участников создания «Сетуни», Н.П. Брусенцов писал: «Инициатором и вдохновителем всего был, конечно, Соболев. Он же служил примером того, как надо относиться к людям и к делу, непременно участвуя в работе семинара, причем в качестве равноправного члена, не более. В дискуссиях он не был ни академиком, ни Героем соцтруда, но только проницательным, смышленым и фундаментально образованным человеком. Всегда добивался ясного понимания проблемы и систематического, надежно обоснованного решения. „Кустарщина“ — было одним из наиболее ругательных его слов. К сожалению, золотой век участия Соболева в нашей работе закончился в начале 60-х годов с его переездом в Новосибирск. Все дальнейшее стало непрерывной войной с ближним и прочим окружением за право заниматься делом, в которое веришь.
Е.А. Жоголев был нашим „главным программистом“, а по существу, именно вдвоем с ним мы разрабатывали то, что впоследствии стало называться архитектурой машины. Он знал, чего хотел бы от машины программист, а я прикидывал, во что это обойдется, и предлагал альтернативные варианты. Когда же приняли троичную систему, то архитектурные проблемы радикально упростились, — важно было только не намудрить, но наш семинар с Соболевым, Семендяевым и Шурой-Бурой разносил мудрствования в пух и прах.
Достоинства Жоголева намного превосходили его слабости. Он был подлинным генератором оригинальных идей и настойчиво продвигал их в практику. Достаточно указать такую его идею, как программирование на основе польской инверсной записи (ПОЛИЗ), благодаря которой „Сетунь“ в весьма сжатые сроки и при минимальных программистских ресурсах (в группе Жоголева единовременно работало 5–7 человек) была оснащена вполне удовлетворительной по тем временам, добротной и, прямо скажем, блестящей системой программирования и набором типовых программ, таких как всевозможная обработка экспериментальных данных, линейная алгебра, численное интегрирование и тл, что было важнейшим условием быстрого и продуктивного освоения машины пользователями. К сожалению, работа эта так и не была вознаграждена. Сам Жоголев, правда, получил серебряную медаль ВДНХ, но — как разработчик машины.
Как собирали первый экземпляр „Сетуни“? Во-первых, троичная машина оказалась намного регулярней и гармоничней, чем двоичные, поэтому проектирование ее не было мучительным и в проекте практически не было ошибок. На последнем этапе исправления потребовала только схема нормализации, а все прочее пошло сходу. Во-вторых, логические пороговые элементы были в такой степени отработаны и исследованы на физическом уровне, что дальнейшее построение из них устройств производилось по четко установленным правилам, не затрагивая более вопросов технической реализации. В-третьих, требования к существенным характеристикам всех деталей, элементов, узлов и блоков были четко определены и строго контролировались на соответствующих этапах изготовления при помощи специально разработанных для этого стендов, сравнительно простых, но проверяющих именно те параметры, от которых зависела правильность и надежность функционирования. Все это вместе создало условия, в которых ошибки своевременно устранялись на самых ранних стадиях, а необходимость переделок была сведена к минимуму. Работа была проделана в короткие сроки и необыкновенно малыми силами. Осенью 1956 г., когда возникла идея троичного кода, в лаборатории было, кроме меня самого, два выпускника физфака МГУ (С.П. Маслов и В.В. Веригин), два выпускника факультета ЭВПФ МЭИ (В.С. Березин и Б.Я. Фельдман) и 5 техников или лаборантов, в большинстве подготовленных мной из учившихся до того специальностям электрика или механика. К концу 1958 г, когда машина стала функционировать, число сотрудников лаборатории приближалось к 20. Механические работы по изготовлению блоков, стоек, а также плат, на которых монтировались элементы, выполнялись по нашим эскизам в мастерской ВЦ и отчасти в мастерских физического факультета. Кроме того, первый вариант ЗУ на магнитном барабане был разработан по нашим спецификациям отделом Л.С Легезо, работавшим в тесном контакте с нами. Впоследствии это устройство с несерийным барабаном на базе гироскопа с ламповой электроникой было заменено магнитно-полупроводниковым блоком с барабаном от машины „Урал“.
Производственный процесс был организован так. Все мы работали в одной комнате площадью около 60 кв. м, уставленной лабораторными столами, на которых находились полученные по протекции Соболева списанные осциллографы ИО-3 и источники питания УИП-1. Все прочее проектировали и строили сами — стенды для исследования и сортировки ферритов, диодов, проверки ячеек, блоков. Рабочий день начинался „зарядкой“: каждый сотрудник лаборатории, не исключая заведующего, получал пять ферритовых сердечников диаметром три миллиметра, предварительно проверенных на стенде, и при помощи обычной иголки наматывал на каждый пятьдесят два витка обмотки. Затем эти сердечники использовались лаборантами и техниками, которые наматывали на них обмотку питания и управляющие обмотки с меньшим числом витков (5 и 12 соответственно), монтировали ячейку на плате, припаивали диоды, проверяли кондиционность параметров, проставляли маркировку и личное клеймо контролера. Затем ячейки устанавливались в блоках (до 15 штук), и производился монтаж сигнальных и питающих проводов по монтажной схеме. Далее на стенде проверялась выполняемая блочком логическая функция (сумматор, дешифратор, распределитель управляющих импульсов того или иного типа…). Блочки устанавливались в блок, и проверялись функции, выполняемые блоком. Наконец, блоки устанавливались в стойку, выполнялся и проверялся межблочный монтаж жгутов. После этого, как правило, все работало, а если что-то не так, то обнаружить и исправить было сравнительно легко.