В начале XIX века после «нашествия двунадесяти языков» наблюдался расцвет русского искусства, давший стране множество поэтов, композиторов, художников. Победа в Великой Отечественной войне в середине XX века вновь дала старт стремительному развитию науки в нашей стране. Судьбы многих великих ученых, от физиков и геологов до филологов и лингвистов, оказались тесно переплетены с жизнью России. Тогда же стали известны имена первых отечественных инженеров и программистов С. А. Лебедева, М. Р. Шуры-Буры [1] и множества их коллег.

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

Первая программа

Александр Томилин — выпускник мехмата МГУ

Летом 1956 года судьба выпускника мехмата МГУ Александра Томилина сделала первый крутой поворот. Распределение он получил в недавно созданный Всесоюзный институт научно-технической информации, однако, когда в первый рабочий день он явился в отдел кадров, ему сообщили: «Не волнуйтесь, молодой человек, будете работать с академиком Лебедевым». В штатном расписании возглавляемого Сергеем Лебедевым Института точной механики и вычислительной техники АН СССР не было достаточного количества штатных единиц, и некоторых молодых сотрудников принимали на работу в другие академические учреждения, не дожидаясь формального решения бюрократических препонов.

Студенческий велопробег по городам
вокруг Москвы (Томилин справа)

К этому времени ИТМиВТ уже завершил разработку первой отечественной универсальной цифровой вычислительной машины БЭСМ [2], был прочитан доклад об этой машине на конференции в Дармштадте, газета «Правда» опубликовала 4 декабря 1955 года статью Лебедева «Электронная счетная машина», научно-популярные журналы во всем мире начали знакомить широкую публику с принципами устройства вычислительных машин, а в Москве прошла конференция «Пути развития советского математического машиностроения и приборостроения». Однако до массового создания факультетов прикладной математики в вузах было еще два десятилетия, штаты ведущих институтов не превышали двух сотен инженеров-электронщиков и программистов — лаборатории и институты, порой скромно именовавшиеся «мелкооптовая овощная база» [3], но разрабатывавшие ЭВМ и программное обеспечение, имели возможность отбирать лучших выпускников со всей страны. Одним из таких выпускников 1956 года был и Томилин.

Лебедев в ФРГ на международной конференции в Дармштадте
Статья Лебедева в газете «Правда» (4 декабря 1955 года)
Статья В. А. Мельникова в журнале «Техника — молодёжи» (1956 год)

В середине 1950-х годов ИТМиВТ начал работу над БЭСМ-2 — вариантом БЭСМ для серийного производства. Одновременно Лебедев задумал новую машину — М-20, которая должна была намного превосходить БЭСМ-2 по быстродействию. Александр Томилин, которому тогда было 23 года, попал в группу автоматизации перевода текстов с русского на иностранный язык и обратно. Возглавляли группу Иван Сергеевич Мухин и Изабелла Кузьминична Бельская (https://www.computer-museum.ru/document/thes1956.htm). Для начала молодому выпускнику МГУ показали, как работает уже имеющаяся программа, которой требовалось 8 минут для перевода тестового текста с английского языка, из которых процессор БЭСМ занят был лишь несколько секунд, а все остальное время работала («жужжала», как тогда говорили) магнитная лента. По окончании работы машина выдавала двоичные коды результата, которые затем вручную переводились в текстовое представление. Перед Томилиным поставили задачу сделать так, чтобы данные, записываемые на ленту, были компактнее — сжать двоичный код, что должно было привести к сокращению времени работы программы.

На следующий день Томилин внес на рассмотрение Мухина «рационализаторское» решение, предложив проводить запись на ленту импульсов разной мощности: слабый импульс будет означать 0, сильный — 1, а еще более сильный — 2 и так далее, всего может быть 16 или даже 32 кода. Для объективного изучения сути предложения Мухин вызвал инженера Марка Валериановича Тяпкина, ставшего впоследствии легендой ИТМиВТ благодаря своему выдающемуся таланту инженера и врожденному чувству такта. Марк очень деликатно пояснил, что, может быть, в будущем такая идея и будет реализована, но сегодня возможностей аппаратуры хватает лишь на то, чтобы с трудом отличать 0 от 1. Томилину пришлось вплотную заняться сжатием двоичных кодов и добиться экономии в 20%, что привело к ускорению работы программы автоматического перевода. Фактически эта программа стала для молодого научного сотрудника и его коллег первым шагом на длинном пути создания развитых программных средств сжатия информации, которые и сейчас позволяют оптимально хранить значительные объемы мультимедиа.

Тема «Свет»

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

Рейдик был незаурядным человеком — как инженер он обладал энциклопедическим образованием, читал лекции по радиоэлектронике, был хорошим музыкантом, снимал собственные фильмы на любительскую кинокамеру, принимал участие в спортивных гонках на мотоциклах и автомобилях. На Истринском водохранилище у него был катер с модным тогда названием «Кон-Тики», на котором он организовывал прогулки членов своей инженерной группы. На банкет в ресторане «Прага» по случаю защиты кандидатской диссертации он пригласил всю группу, включая Всеволода Сергеевича Бурцева [4] и Владимира Андреевича Мельникова [5]. Во время танцев многие заметили, что Рейдик все время пытался повернуться спиной к оркестру. После одного из танцев к нему подошли два музыканта из оркестра и подвели к микрофону, во всеуслышание заявив, что в зале присутствует основатель этого оркестра. Узнав, что основатель оркестра стал кандидатом технических наук, весь зал взорвался аплодисментами. После этого Рейдик сел за рояль и около часа играл мелодии 1920-х годов.

К. К. Рейдик (слева) и А. Н. Томилин

Вместе с Томилиным в группе Рейдика работали Галина Павловна Толмачева, Виктор Карлович Александров, Сергей Карабутов и др., которых в 1956 году в полном составе пригласили на Фрунзенскую набережную, 22, где в огромном зале будущим разработчикам продемонстрировали полупрозрачное панно с цветной картой Советского Союза, на которой можно было заметить силуэты самолетов, в реальном времени пролетавших над территорией страны. Приглашенных попросили обратить особое внимание на едва заметные черточки на карте, а затем провели к обратной стороне карты, где обнаружились многоэтажные леса, на которых перемещались солдаты в наушниках, ставившие магнитные отметки на карте по сообщениям из удаленных станций слежения за воздушным пространством. Сапоги солдат, прижимавшиеся к карте, оказывались следами этих черточек.

Перед группой была поставлена задача автоматизировать карту обстановки воздушного пространства.

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

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

Магнитный барабан БЭСМ

Магнитный барабан БЭСМ

Выбор экрана также был проблемой. Электронно-лучевые трубки обычных телевизоров были тогда очень малы, да и телевизоров было немного. Трубки известных всем КВН-49 и «Москва» по диагонали были всего около 10 см. В итоге динамический экран проектировали с помощью проецирующей телевизионной трубки около 4 см по диагонали, но очень мощной, лучи которой проецировали на стену, где получалось достаточно четкое изображение размером до двух метров, что вполне могло служить для отображения карты.

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

Защита проекта происходила на территории заказчика. В президиуме сидел Лебедев и несколько высших чинов. Во время демонстрации показывали заготовленные картинки двигающихся строк текста и летающих самолетов. С резюме выступил генерал, который прямо заявил, что ему все понравилось и он готов дать институту любые средства для создания физической установки. В ответ Лебедев сказал, что у института уже имеются другие важные правительственные задания, требующие использования всех имеющихся ресурсов, но он готов передать документацию по проекту «Свет» любому конструкторскому бюро, которое доведет проект до внедрения. Ответом было громогласное разочарование генерала: «Кто же будет реализовывать чужие идеи?» На этом история растровых дисплеев и видеопамяти в ИТМиВТ надолго прервалась.

В то время в институте завершалась разработка вычислительных средств для системы управления истребителем, которой руководил В. С. Бурцев — будущий директор института и академик, а тогда инженер, выпускник первой студенческой группы Лебедева в МЭИ. Система функционировала в реальном времени и обеспечивала наведение истребителей на цели. Одновременно разворачивались работы над ЭВМ М-20, что не позволило Лебедеву продолжить успешно начатые работы над визуализацией воздушной обстановки. Работы над системами реального времени впоследствии привели к созданию гражданских систем управления воздушным движением и систем военного назначения, в частности систем ПВО и ПРО.

В стране тогда разворачивались работы и в области машинной графики. В разных городах страны начались разработки периферийных устройств отображения, например, растровые дисплеи Горьковского научно-исследовательского физико-технического института [6–7], а в ИТМиВТ, ИПМ СССР и ряде других научных организаций создавались программы и библиотеки для создания и манипулирования графическими объектами [8].

Созданный в ГИФТИ первый в мире проекционный растровый графический дисплей ЭВМ (1956–1957 г.)

Рукопись Лебедева

После завершения проекта «Свет» Томилин вместе с Лебедевым (с «дядей Сережей», как его до конца жизни называл Александр Николаевич) начал работу над моделью совершенно новой вычислительной машины. Сначала планировалось, что ЭВМ будет в 20 раз более производительной, чем М-20, и ей даже присвоили наименование М-500, что, в соответствии со сложившейся традицией, означало, что машина будет выполнять не менее 500 тысяч операций в секунду над числами с плавающей точкой. Впоследствии это имя было передано другой разработке, которую вел Бурцев в рамках создания вычислительных средств для макета системы ПРО (системы «А»). В окончательном виде это изделие в разных вариантах исполнения известно как 5Э92, 5Э92б, 5Э51, а машина, над которой в начале 1960-х годов начали работать Лебедев и Томилин, стала называться БЭСМ-6.

Записка С. А. Лебедева с объяснением сделанной ошибки

Первоначальное программное моделирование макета БЭСМ-6 выполнялось на БЭСМ-2, и параллельно создавался макет аппаратуры. Программирование модели на уровне информационных потоков вел сам Лебедев, а Томилин разрабатывал полную ее тактовую модель. Предварительные расчеты Лебедева показывали, что размер временного такта может составлять 100 наносекунд, и оба программиста решили между собой, что если модели покажут одинаковое поведение моделируемой системы, то за основу дальнейших работ будет выбрана полная модель, которую разрабатывал Томилин. Если же поведение двух моделей будет отличаться, то будут выясняться причины расхождения, но большим доверием будет пользоваться модель Лебедева. Запуски программ на макете проводил Томилин, который самостоятельно отлаживал свою модель, а программу Лебедева запускал «как есть», без редактирования, оставляя полное ее авторство за Лебедевым, который постоянно подшучивал над программистами, говоря, что в программах могут быть ошибки, только когда их пишут программисты. Если же программа составляется инженером, в ней ошибок не бывает. Руководитель отдела программирования ИТМиВТ Лев Николаевич Королев [9] (впоследствии член-корреспондент РАН, заведующий кафедрой автоматизированных систем вычислительных комплексов факультета ВМК МГУ) утверждал, что ошибки могут быть в любой программе, а их число зависит от квалификации авторов. В какой-то момент Лебедеву пришлось это признать — в своей версии модели он обнаружил ошибку, хотя, по воспоминаниям Томилина, во всех программах Лебедева ошибок было мало. Сохранилась рукопись Лебедева с написанной им программой и его запиской Томилину, в которой он признает правоту Королева, подробно разъясняет сделанную им ошибку и просит провести повторные расчеты характеристик модели, внеся в текст программы необходимые исправления.

В результате моделирования структура вычислительной системы была существенно переработана. За разработку этой машины Лебедев и его коллеги, включая Томилина, были удостоены Государственной премии СССР за 1969 год.

Программа модели БЭСМ-6, написанная С. А. Лебедевым

Томилин не только моделировал структуру БЭСМ-6, но и создал для нее первую операционную систему Д-68 («Диспетчер 68»), которая стала отправной точкой для всех других операционных систем этой ЭВМ: ОС ДИСПАК [10], ОС ИПМ. Вклад Томилина признавали все и прежде всего сами разработчики и пользователи БЭСМ-6 — в книге «50 лет ВЦ РАН: история, люди, достижения» (М.: ВЦ РАН, 2005 — 320 с. ISBN 5-201-09837-1) отмечена роль Томилина в коллективе разработчиков, который фактически возглавлял работу по отладке операционной системы, которая проводилась на опытном экземпляре ЭВМ в ВЦ АН СССР.

БЭСМ-6 в 1966 и в 2006 годах

Серийный выпуск БЭСМ-6 был организован на московском заводе САМ с 1968 -го по 1987-й год, всего было изготовлено более 350 экземпляров. Сегодня трудно представить себе разработку новой вычислительной машины без предварительного проведения моделирования всех информационных потоков и взаимодействия составляющих ее устройств. Даже при переходе к новым технологиям и широкому внедрению микропроцессоров важность структурного моделирования не подвергается сомнению. Важность этого процесса была понята Лебедевым [11] еще в 1960-е годы и была продемонстрирована им совместно с Томилиным на примере БЭСМ-6. В 2002 году Президиум РАН постановил присудить Томилину премию имени С. А. Лебедева за цикл работ «Моделирование вычислительных структур», отметив тем самым в год 35-летия Д-68 его вклад в создание отечественных вычислительных машин и их системного программного обеспечения.

БЭСМ-6 в 1966 и 2006 годах

После «шестерки»

В 1970-х и 1980-х годах Томилин принимал участие в разработке оборудования и ОС для вычислительных машин АС-6 и «Электроника». Читал лекции в МГУ, работал в созданном при его непосредственном участии Институте системного программирования РАН, в экспертном совете ВАК и в Российском фонде фундаментальных исследований. С момента образования РФФИ Томилин был фактическим лидером программистского сектора фонда, хотя обычно формально и не занимал там высоких административных позиций. Он был хорошо знаком со всеми заметными программистскими коллективами, пользовался авторитетом при решении спорных вопросов, нередко возникавших при работе фонда, без преувеличения фактически став душой научного программистского сообщества страны.

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

***

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

Литература

1. Михаил Горбунов-Посадов. М. Р. Шура-Бура: «Любую программу всегда можно сократить на одну команду» // Открытые системы.СУБД. — 2018. — № 4. — С. 38–39. URL: https://www.osp.ru/os/2018/04/13054606 (дата обращения: 21.03.2022).

2. Тамара Бурцева, Леонид Карпов, Вера Карпова. Всеволод Бурцев и суперЭВМ // Открытые системы.СУБД. — 2007. — № 9. — С. 70–73. URL: https://www.osp.ru/os/2007/09/4570045 (дата обращения: 21.03.2022).

3. Ирина Крайнева. Ольга Крамер: из вычислителей в программисты // Открытые системы.СУБД. — 2018. — № 3. — С. 44–45. URL: https://www.osp.ru/os/2018/03/13054414 (дата обращения: 21.03.2022).

4. Всеволод Бурцев. К истории создания советской вычислительной техники // Открытые системы.СУБД. — 2012. — № 1. — С. 56–59. URL: https://www.osp.ru/os/2012/01/13012930 (дата обращения: 21.03.2022).

5. Дмитрий Волков, Леонид Карпов. Виктор Иванников: случайности и закономерность // Открытые системы.СУБД. — 2019. — № 4. — С. 39–41. URL: https://www.osp.ru/os/2019/04/13055220 (дата обращения: 21.03.2022).

6. С.И. Ротков. Компьютерная графика. https://present5.com/kompyuternaya-grafika-rotkov-sergej-igorevich-doktor-texnicheskix-nauk/ (дата обращения: 03.02.2022).

7. А. А. Андронов и зарождение кибернетики в Нижегородском университете (к 100-летию ННГУ) / М. И. Мотова, В. Д. Шалфеев. — Н. Новгород: ННГУ, 2013. — 79 с.

8. Леонид Карпов, Дмитрий Волков. Пионеры отечественной машинной графики // Открытые системы.СУБД. — 2021. — № 4. — С. 40–43. URL: https://www.osp.ru/os/2021/04/13056047 (дата обращения: 22.03.2022).

9. Руслан Смелянский. «Чудеса» Льва Королева // Открытые системы.СУБД. — 2016. — № 3. — С. 41–43. URL: https://www.osp.ru/os/2016/03/13050260 (дата обращения: 21.03.2022).

10. Ирина Крайнева. ДИСПАК — операционная система атомного проекта // Открытые системы.СУБД. — 2016. — № 1. — С. 42–43. URL: https://www.osp.ru/os/2016/01/13048657 (дата обращения: 20.03.2022).

11. Сергей Лебедев. ЭВМ посредством ЭВМ // Открытые системы.СУБД. — 2008. — № 4. — С. 74–79. URL: https://www.osp.ru/os/2008/04/5115149 (дата обращения: 21.02.2022).

Леонид Карпов (mak@ispras.ru) — главный научный сотрудник, Институт системного программирования им. В. П. Иванникова РАН (Москва).

DOI: 10.51793/OS.2022.64.28.001