Горыныч: компьютер советской лунной программы
Приобретая компьютер, мы хотим, чтобы он проработал без сбоев, как можно дольше. Обидно, когда «подыхает» новенькая машина, и мастера сервисного центра принимаются объяснять что-то про сгоревший северный мост (прямо-таки фразеологизм из серии «сжигать за собой мосты») и про стоимость ремонта, соизмеримую с вложенными в покупку компьютера кровными. Остаётся уповать на мастерство инженеров, проектирующих компьютерные компоненты. Ведь надёжность покупаемых нами процессоров, материнских плат, жёстких дисков и остальной компьютерной начинки не в последнюю очередь зависит от их инженерной смекалки.
Для вычислительной техники бытового назначения максимум экстремальных условий — это летняя жара, кошачья шерсть, застрявшая в кулере системы охлаждения, да пролитый спросонья кофе. Ну а если компьютер будет эксплуатироваться в космосе? И от надёжности его работы зависит не только конечная цель миссии, стоящей миллиарды рублей, но и жизнь людей, рискнувших бросить вызов суровым условиям космоса?
А теперь представим, что инженеры, проектирующие компьютер, толком не знают, в каких условиях придётся работать машине. Как им следует поступить? Какие конструктивные решения использовать?
Именно такое задание получили в конце шестидесятых годов специалисты научно-исследовательского института электронных машин (НИИЭМ) — головного предприятия по разработке и производству бортовых цифровых вычислительных машин (БЦВМ), широко применявшихся как в военной области (автоматизированные системы управления боем, системы топопривязки к местности), так и на гражданском поприще (системы управления воздушным движением).
Создавая «космические вычислители», инженеры НИИЭМ использовали лучшие конструктивные наработки БЦВМ для наземных объектов, но при этом проявили недюжинную изобретательность, чтобы их детища никогда не знали такого состояния, как отказ в ходе эксплуатации.
Космическая миссия, для которой сотрудники НИИЭМ создавали бортовую ЭВМ, была весьма ответственной. Аппараты серии «Зонд», сконструированные на основе пилотируемого корабля «Союз 7К- Л1», должны были исследовать возможность высадки на Луне советских космонавтов. Задача эта была политически важной. Программа «Аполлон», отрабатываемая NASA с начала шестидесятых годов, к 1968 году вошла в стадию пилотируемых полётов, и руководство СССР желало утереть нос потенциальному противнику.
Применение в полётах подобного типа бортовых ЭВМ было чрезвычайно важным. Полёт состоял из нескольких фаз, в каждой из которых требовался точный расчёт в реальном масштабе времени множества параметров работы систем корабля. Автоматика на основе программно-временных устройств (ПВУ) здесь непригодна: уж слишком непредсказуемы условия полёта. А вот цифровая ЭВМ с её гибкой программируемой логикой подходила для этих целей идеально. Тем более что БЦВМ серии «Аргон-1», разработанные в НИИЭМ для мобильного оперативно-тактического ракетного комплекса «Точка», доказали свою эффективность в управлении сложными процессами.
Именно на базе «Аргон-1» и была создана первая вычислительная машина космического базирования. БЦВМ «Аргон-11С» была предназначена для управления движением космического корабля Л1 из серии «Зонд» при его облёте Луны и аэродинамического спуска на Землю при вхождении в атмосферу на второй космической скорости.
Лунные программы СССР и США в то время шли ноздря в ноздрю, и допустить какие-либо оплошности, тем более по вине вычислительной техники, было немыслимо.
Надёжность системы управления при этом ставилась во главу угла. Конечно, техника военного назначения всегда отличалась высочайшими показателями отказоустойчивости, достигавшимися с помощью проектных, организационных и технологических мероприятий, а также жёсткой госприёмки. Однако в случае с БЦВМ для лунной миссии этих мер явно было недостаточно. Понимая это, инженеры НИИЭМ сделали «Аргон-11С»... трёхголовым. В буквальном смысле этого слова.
В «Аргон-11С» впервые в практике создания бортовых ЭВМ была применена схема резервирования узлов, которая именовалась троированной структурой с мажоритированием. За этим мудрёным названием скрывается элегантная по своей идее конструкция.
Структурно «Аргон-11С» состоял из трёх одинаковых функциональных блоков, работающих параллельно и независимо друг от друга. На входы каждого блока (всего их было 28) поступала совершенно одинаковая информация от множества датчиков телеметрии. На её основе каждый блок вырабатывал более сорока управляющих воздействий.
И вот тут начиналось самое интересное. Конечные управляющие воздействия формировались по мажоритарному принципу. То есть если на двух из трёх выходов они были одинаковы, а на третьем отличались, то за основу брались значения, выработанные большинством.
Фактически в «Аргон-11С» постоянно проходило голосование за наиболее правильное управляющее воздействие. А чтобы вы не подумали, что троица вычислительных блоков постоянно стремилась организовать коалицию против меньшинства, знайте, что между их входными и выходными каналами имелись связи, позволяющие обмениваться информацией в случае, если она в одном или нескольких блоках искажалась.