redstar.ru

Логика Брусенцова

Оцените материал
(9 голосов)

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

ВИЗИТНАЯ КАРТОЧКА

Брусенцов Николай Петрович, радиоинженер, кандидат технических наук, заведующий отделом электроники Вычислительного центра МГУ. Родился в 1925 году. В 18 лет пошёл на Великую Отечественную войну. Служил в артиллерийском полку радистом разведывательного отделения. Награждён орденом Красной Звезды и медалью «За отвагу». С 1956 по 1958 год возглавляемая им группа (Е.А. Жоголев, В.В. Веригин, С.П. Маслов и А.М. Тишулина) сконструировала малые троичные ЭВМ «Сетунь», а затем «Сетунь-70». Аналогов,  равных  им  по  возможностям,  в  мире  не  было.  И  нет.

 

Специальное конструкторское бюро, куда после выпуска в 1952 году из МЭИ был распределён молодой радиоинженер Николай Брусенцов, вообще-то должно было обеспечивать и совершенствовать техническое оснащение учебного процесса. Но на деле его сотрудники чаще занимались совсем другими задачами – выполняли заказы для сторонних НИИ и производств. Бессистемная работа, да ещё и «на подхвате», не радовала молодого инженера – он хотел иного.
Счастливым образом устремления Брусенцова и намерения Сергея Львовича Соболева, заведующего кафедрой на механико-математическом факультете МГУ, совпали. Академик-новатор хотел иметь на мехмате вычислительный центр с собственной ЭВМ. Этот суммарный вектор интересов и направил Николая Брусенцова в лабораторию электросистем профессора И.С. Брука Энергетического института (ЭНИН) АН СССР, где разработали ЭВМ М-2.


Бинарно-ламповый Брук

– Моя задача была очень простой, – вспоминает Н.П. Брусенцов. – Надо было получить для МГУ из лаборатории ЭНИНА малую вычислительную машину М-2, которую там сделали. Но получилась накладка. Взамен новой ЭВМ Брук надеялся на выборах академиков получить поддержку нашего авторитетного руководителя. Но Сергей Львович подобными расчётами – «ты мне – я тебе» – пренебрегал и проголосовал за конкурента Брука – Сергея Алексеевича Лебедева, под руководством которого в Киеве создали другую машину - МЭСМ.

Наша справка. В 1950– 1951 гг. в лаборатории И.С. Брука была разработана малогабаритная электронная автоматическая цифровая машина М-1 (с хранимой программой). Основные идеи М-1 были предложены И.С. Бруком и Н.Я. Матюхиным, тогда молодым инженером, окончившим радиотехнический факультет МЭИ, впоследствии членом-корреспондентом АН СССР. М-1 была запущена в опытную эксплуатацию в начале 1952 года – одновременно с высокопроизводительной МЭСМ, созданной С.А. Лебедевым в Киеве. Разработчики обоих коллективов пришли к классическому построению ЦВМ, называемому сейчас архитектурой фон Неймана, с хранимой программой – независимо друг от друга и от американских учёных.

31-31-08-12В 1952-м в той же лаборатории ЭНИНА группа выпускников МЭИ во главе с М.А. Карцевым разработала машину М-2. В ней были применены полупроводниковые диоды в логических схемах. Летом 1953 года она была введена в эксплуатацию. На ней проводились расчёты для Института атомной энергии, КБ С.П. Королёва, Института теоретической и экспериментальной физики АН СССР, расчёты прочности плотин Куйбышевской и Волжской ГЭС и многих других организаций. В 1953–1954 годах такие сложные задачи в СССР можно было решать только на трёх машинах – БЭСМ, М-2 и «Стрела», а машинное время распределялось на уровне заместителя председателя Совета Министров СССР!
В 1954-м М.А. Карцев дополнил М-2 устройством оперативной памяти на ферритовых сердечниках с расширением ёмкости памяти до 4.096 слов. Это потребовало также и введения специального регистра для запоминания области памяти, используемой в данный момент времени, а для специальной операции - изменения содержимого этого регистра (переключение областей памяти). Затем Карцев реализовал идею укороченных адресов в командах и укороченных кодов операций. В дальнейшем эта идея легла в основу способов формирования исполнительных адресов в машинах 2-го и 3-го поколений.
Но отцом-идеологом М-2, как и всего, что исходило из его лаборатории, считался И.С. Брук.
– Исаак Семёнович обиделся за «неправильный» выбор Соболева и машину не дал, - вспоминает Николай Петрович Брусенцов. - Я пришёл к Сергею Львовичу, объяснил ситуацию и спросил: чем мне теперь заниматься? Он отвечает: «А давайте свою машину сделаем». Тогда в МГУ как раз собирались получать ЭВМ «Стрела», под которую создали вычислительный центр. Сергей Львович предусмотрел в нём мой отдел – электроники. Отделу требовалось создать собственную машину - с нуля. Наша ЭВМ должна быть малогабаритной, надёжной, недорогой, простой в освоении и использовании, но иметь широкое назначение – пригодной для учебных заведений, исследовательских лабораторий, конструкторских бюро, а также для управления технологическими процессами.
В лаборатории И.С. Брука начали определяться мои представления о том, какой может быть наша ЭВМ и какой она быть не должна. Например, в конструкцию М-2 изначально закладывали двойной комплект электронно-ламповой начинки, исходя из мысли о надёжности: откажет одна лампа – её продублирует вторая. В то время транзисторы были ещё недоступны, и было ясно, что наша машина не должна быть ламповой. У ламп короткий срок службы, и машины на ламповой базе большую часть времени чинили.

Электромагниты – упущенный шанс

Для поиска элементной базы, наиболее приемлемой по соотношению надёжности, производительности и цены, Брусенцова откомандировали на стажировку в Институт точной механики и вычислительной техники Академии наук СССР.  Соболев, которого все уважали, договорился с заведующим лабораторией электромоделирования Львом Израилевичем Гутенмахером.
Н.П. Брусенцов вспоминает:
- Ещё в 1950-м профессор Гутенмахер представил проект безламповой ЭВМ. Вместо ламп были использованы электромагнитные бесконтактные реле на феррит-диодных (ФД) элементах, разработанные в его лаборатории на основе магнитных усилителей трансформаторного типа. Сама машина ЛЭМ-1 была создана к 1954 году. В качестве схемотехнической единицы «ЛЭМ-1» использовались трёхфазные логические ФД элементы – уникальная комбинация запоминающих ячеек на базе ферритовых колец и полупроводниковых диодов. В этих логических элементах ферритовые кольца играли роль сердечников трансформатора и служили для хранения единиц и нолей – базовых компонентов двоичной логики, а диоды использовались в качестве вентилей в цепях связи между ними.
Но элегантную схему приходилось усложнять, включая в неё дополнительные компенсирующие сердечники для устранения импульсов помехи в выходном ферритовом кольце. Вызванная неидеальностью петли гистерезиса ферритовых колец, эта помеха могла, при повышении рабочей температуры, достигнуть уровня сигнала.
Я предложил ввести в цепь рабочих сердечников постоянное напряжение, которое запирало бы диод. Это не только исключало появление помехи. Теперь компенсирующие магнитные кольца можно было использовать в качестве второй пары рабочих сердечников, функционирующих встречно основной рабочей паре. Так был создан феррит-диодный логический элемент, который мог параллельно передавать две не совпадающие по времени последовательности сигналов – основу троичного кода.
Но сама «ЛЭМ-1» создавалась для работы на бинарном коде: 1, 0.
Мне пришла в голову мысль, что раз транзисторов нет, то можно и нашу ЭВМ делать на этих феррит-диодных элементах. Но как радиоинженер я понял: не всё нужно делать так, как делают сотрудники уважаемого профессора. Главное, что они использовали под каждый бит пару сердечников – и рабочий, и компенсационный. А надо заставить работать и компенсационный сердечник. Тогда каждая ячейка становится трёхзначной.
Поэтому в нашей троичной «Сетуни» количество сердечников было в семь раз меньше, чем в бинарной ЛЭМ-1. При этом «Сетунь» имела почти вдвое большую разрядность. Это было достигнуто и благодаря отказу от бинарной логики в пользу троичной.

«Сетунь»: Tertium datur!

– Бинарная логика основывалась на одном из четырёх законов мышления – законе исключённого третьего в формальной логике – Tertium non datur (третьего не дано). Но как же не дано, если всё в мире минимум трёхмерно: есть «да» и «нет», но есть и неопределённое «может быть»! – говорит Николай Петрович.
К тому времени я уже понял, как воспользоваться троичной системой счисления, сказал об этом Сергею Львовичу. Он полностью всё одобрил. Хотя другой на его месте сказал бы: «Да ты что, все делают двоичные, а ты куда?» Но Соболев сам был новатором в математике, он мыслил и смотрел на мир и на людей нешаблонно. И он не побоялся дать мне, молодому инженеру, полную свободу действий. Так в конце 1955-го – начале 1956-го начались работы над «Сетунью».
Мы работали заодно с нашим программистским отделом, который возглавлял Жоголев (Евгений Андреевич, будущий заслуженный профессор МГУ. – Ред.). То, что затем получило название «архитектура машины», создавалось нами вместе. Жоголев предлагал программистские идеи, а я придумывал, как их можно реализовать на аппаратном уровне. В конечном итоге мы создали всего 24 машинные команды, покрывая при этом все области решаемых задач. Нынешняя программа RISC, которая считается чуть ли не вершиной кодирования по двум основаниям (1, 0), сократила количество команд (и число возможных ошибок) до 150, но сравниться по полноте охвата решаемых задач с «Сетунью-70», сделанной в 1970-м, не в силах.
Многие до сих пор в это не верят. И в дальнейшем архитектура «Сетуни» не подверглась никаким изменениям. Все серийные машины были лишь слегка адаптированы под производство.
Наша справка. «Сетунь» (1958 г.) имела производительность уже вдвое больше, чем у М-2 – 4,5 тысячи операций в секунду. Свободно размещалась в комнате 16 кв. м, потребляла смешное количество (2 кВт против 29 кВт у М-2) электричества на 20 ламп и была многократно проще, надёжнее и решала задачи, которые не всегда давались и большим ЭВМ.
Научно-методическую помощь в работе группе оказывал регулярный семинар инженеров и программистов, в котором участвовали наш куратор академик С.Л. Соболев, доктора наук профессора К.А. Семендяев (соавтор справочника «Математика для инженеров»), М.Р. Шура-Бура (системное программирование), И.С. Берёзин (один из ведущих математиков физфака МГУ).
Приступив в 1956 году, мы уже через два с половиной года, в 1958-м, сделали работающий образец «Сетуни». И вот тут-то началось нечто несуразное.

А кому-то tertium
не дано

– Бинарная логика, ставшая основой современной вычислительной техники и компьютерного программирования, многими воспринимается как некая бесспорная аксиома, - с горечью говорит Н.П. Брусенцов. - Чуть ли не как откровение свыше, дарованное первооткрывателям основ кибернетики, например фон Нейману. К тому же за двоичную систему однозначно «голосовали» тогдашние базовые элементы ЭВМ – лампы и транзисторы: они могли только пропускать или стопорить сигнал, что соответствует «да» и «нет» или 1, 0. И сегодня многие убеждены, что бинарное кодирование информации с помощью наличия или отсутствия сигнала – самый естественный (и потому единственный) способ реализации цифровых систем.
Но правила работы компьютеров  определили не боги, а люди. И двоичная логика в вычислительном процессе не закон природы, а сознательное решение, которое кто-то когда-то принял, потому что оно удовлетворяло этих перворазработчиков компьютеров, программистов и пользователей, решающих свои задачи.
Простота бивалентности вроде бы неплохо описывает многие реалии повседневной жизни. Например, семафоры на пешеходных переходах и тумблеры «вкл.–выкл.». Но бинарность уже давно не оправдывает ожиданий учёных и практиков. Попытки строить суперкомпьютеры с гигантской памятью лишь доказывают тупиковость избранной системы программирования. Сколько ни наращивай «гектаров» памяти, а ничего нового не получится. Невозможно до бесконечности увеличивать площади плат и уменьшать до молекулярного уровня двухходовые базовые элементы…
Одним из тех, на кого как на единомышленника ссылается в разговоре Брусенцов, стал разработчик структурного программирования нидерландец Эдсгер Дейкстра.

Наша справка. Эдсгер Дейкстра (1930–2002) – новатор в области применения математической логики при разработке компьютерных программ. Активно участвовал в разработке языка программирования Алгол и написал первый компилятор Алгол-60. Один из авторов концепции структурного программирования, «проповедовал» отказ от использования инструкции GOTO. Автор идеи применения «семафоров» для синхронизации процессов в многозадачных системах и алгоритма нахождения кратчайшего пути на ориентированном графе с неотрицательными весами рёбер, известный как Алгоритм Дейкстры.

Широко известно высказывание Дейкстры: «Решение советского правительства о переходе советской промышленности к копированию модельного ряда IBM/360 стало величайшей победой Запада в «холодной войне…»



 


 (Продолжение следует.)

Оставить комментарий

Поля, обозначенные звездочкой (*) обязательны для заполнения

«Красная звезда» © 1924-2017. Полное или частичное воспроизведение материалов сервера без ссылки и упоминания имени автора запрещено и является нарушением российского и международного законодательства.

Логин или Регистрация

Авторизация

Регистрация

Вы зарегистрированы!
или Отмена
Яндекс.Метрика