Найти в Дзене
Живой Космос

О примитивных компьютерах «Аполлонов»

Третьего дня на ВДНХ произошёл со мной забавный случай. Ко мне на улице решительно подошёл юный пионер. Один из тех, кто посещает кружки авиамоделирования и робототехники, и в процессе занятий слушает радиопередачи, которые ведёт знаменитый режиссёр Никита Михалков, обвиняющий американцев в фальсификации полётов на Луну.

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

Я попросил мальчика присесть на ближайшую лавочку, положить руки на коленки и немного послушать меня, не перебивая. Я достал из авоськи мою любимую Синюю книгу, раскрыл её на нужной странице, сел рядом с пионером и начал свой рассказ…

Рассказ о компьютерах

«Нет, мой юный друг. Ты не прав. И сейчас я тебе это докажу.

Да, компьютерные технологии, используемые в ходе выполнения миссий «Аполлон», были весьма скромными по сравнению с сегодняшними. Но всё же их было вполне достаточно.

Во-первых, следует уточнить, что на борту комплекса «Сатурн-Аполлон» был не один компьютер. А целых пять! Это два AGC (Apollo Guidance Computer) от Raytheon (один в лунном модуле и один в командном модуле), один LVDC (Launch Vehicle Digital Computer) от IBM на ракете «Сатурн-5», один SCS (Stabilization and Control System) от компании Honeywell в командном модуле и один AGS (Abort Guidance System) производства фирмы TRW в лунном модуле.

Да, вычислительная мощность бортовых компьютеров «Аполлонов» была очень скромной по сравнению с сегодняшними стандартами. Например, каждый из AGC имел следующие характеристики:

– 2k (2048) перезаписываемой памяти (ОЗУ), что эквивалентно примерно 3,7 килобайтам (длина слов, используемых в AGC, составляла 15 бит плюс бит чётности). В наше время стандартный ноутбук вполне может иметь 16 гигабайт оперативной памяти. То есть в четыре миллиона раз больше;

– 36k (36864) памяти (ROM), что эквивалентно примерно 76 килобайт;

– тактовая частота процессора составляла 1,024 мегагерца. Современные компьютеры обычно имеют процессоры с тактовой частотой, измеряемой гигагерцами. То есть они в тысячи раз быстрее.

Однако является заблуждением утверждение, что AGC были менее мощными, чем карманный калькулятор. На самом деле их производительность была сопоставима с производительностью Apple II (1977), Commodore 64 (1982) или ZX Spectrum (1982).

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

Не следует также забывать, что и на Земле были большие компьютеры управления полётами. Это компьютерный комплекс IBM Real-Time, расположенный в Хьюстоне, штат Техас. Он был построен на базе пяти мощных серверов IBM System/360 Model 75j. Основная часть вычислительных операций была возложена именно на эти большие компьютерные системы.

     Real-Time Computer Complex (RTCC). Источник: IBM.
Real-Time Computer Complex (RTCC). Источник: IBM.

Ко всему прочему, на борту космических кораблей «Аполлон» находились люди, которые были обучены управлять всеми системами, вычислять траектории, стыковки и параметры орбит с помощью предварительно рассчитанных таблиц, находящихся на борту. А ещё они умели ориентироваться по звёздам.

Астронавты сами были, если можно так сказать, бортовыми «компьютерами». И это вовсе не шутка. Именно их присутствие позволило совершать посадки, компенсируя ошибки несовершенной автоматики того времени.

Садиться в ручном режиме пришлось, например, Нилу Армстронгу. Только так можно было увести спускаемый модуль от сильно каменистой местности, на которую его вывела автоматика. Экипаж «Аполлона-13» был вынужден рассчитывать траекторию возвращения на Землю вручную, поскольку после аварии план полёта изменился на непредусмотренный. Даже резервными программами.

Поэтому, мой юный друг, запомни, и расскажи своим конопатым друзьям: общая доступная вычислительная мощность компьютеров «Аполлонов» была не такой скромной, как думают некоторые энтузиасты.

     Экран и клавиатура (DSKY) Apollo Guidance Computer (AGC). Источник: НАСА.
Экран и клавиатура (DSKY) Apollo Guidance Computer (AGC). Источник: НАСА.

И если ты хочешь узнать больше о реальных характеристиках Apollo Guidance Computer или избавиться от сомнений в их подлинности, то загляни, например, на такой сайт, как Virtual AGC.

Оригинальное программное обеспечение AGC было опубликовано на этом ресурсе еще в далёком 2003 году. Поэтому его можно там свободно проверить. Конечно, глубокое понимание кода потребует навыков работы с компьютером среднего и высокого уровня. И если у тебя их нет, обратись к хорошему компьютерному специалисту. Он поможет тебе убедиться, что это программное обеспечение реально. И работает.

Только подумай. Кому пришло бы в голову писать огромные объёмы фальшивого программного обеспечения, количество которого хорошо проиллюстрировано вот на этой фотографии?

     Маргарет Гамильтон с распечатанным текстом программного обеспечения для AGC. Источник: НАСА.
Маргарет Гамильтон с распечатанным текстом программного обеспечения для AGC. Источник: НАСА.

Это Маргарет Гамильтон, которая была руководителем разработчиков программного обеспечения проекта «Аполлон» в лаборатории Массачусетского технологического института.

Именно эта женщина вместе со своей командой определила критерии проектирования и тестирования программного обеспечения, которое заставляло работать бортовой компьютер лунного модуля. И, в частности, именно она реализовала концепции асинхронной обработки и приоритетного планирования, которые позволили компьютерам миссии «Аполлон» избегать «зависания». Это техническое решение позволило, например, астронавтам «Аполлона-11» избежать выхода из строя компьютера от перегрузки данными, которая произошла во время спуска на Луну. И совершить удачную посадку.

Работа, проведённая в рамках проекта «Аполлон», не осталась изолированной и не была самоцелью. Вскоре все её достижения были использованы и в следующих космических проектах. Например, основные концепции, заложенные в AGC, были использованы в программе Спейс Шаттл. И стали основой для современной технологии вспомогательного пилотирования военных самолётов и гражданских авиалайнеров».

Я закрыл Синюю книгу и посмотрел на моего юного друга. Он задумчиво залипал в телефоне, и, казалось, совсем меня не слушал. Но вдруг поднял голову, и я увидел его мокрые глаза. Чуть заметно шевеля дрожащими губами, он прошептал: «Нилитали…»