Третьего дня на ВДНХ произошёл со мной забавный случай. Ко мне на улице решительно подошёл юный пионер. Один из тех, кто посещает кружки авиамоделирования и робототехники, и в процессе занятий слушает радиопередачи, которые ведёт знаменитый режиссёр Никита Михалков, обвиняющий американцев в фальсификации полётов на Луну.
Так вот. Пионер решительным движением вытащил из кармана своих шорт смартфон производства ненавистных американцев, развернул ко мне экраном, выставил перед собой и заявил: «В этом смартфоне стоит процессор, который на несколько порядков мощнее чем тот, что якобы использовался в бортовом компьютере «Аполлонов»! Верите ли Вы, прохожий, что с помощью такого слабого компьютера можно было управлять такой сложной техникой? Это было нереально!». После этих слов пионер достал из другого кармана яблоко, откусил от него кусок и внезапно выбросил его в кусты. После чего из кустов выполз человек очень специфической наружности. Он сказал несколько слов, которые в приличном обществе не употребляются, погрозил кулаком и опять спрятался в кустах.
Я попросил мальчика присесть на ближайшую лавочку, положить руки на коленки и немного послушать меня, не перебивая. Я достал из авоськи мою любимую Синюю книгу, раскрыл её на нужной странице, сел рядом с пионером и начал свой рассказ…
Рассказ о компьютерах
«Нет, мой юный друг. Ты не прав. И сейчас я тебе это докажу.
Да, компьютерные технологии, используемые в ходе выполнения миссий «Аполлон», были весьма скромными по сравнению с сегодняшними. Но всё же их было вполне достаточно.
Во-первых, следует уточнить, что на борту комплекса «Сатурн-Аполлон» был не один компьютер. А целых пять! Это два 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. Основная часть вычислительных операций была возложена именно на эти большие компьютерные системы.
Ко всему прочему, на борту космических кораблей «Аполлон» находились люди, которые были обучены управлять всеми системами, вычислять траектории, стыковки и параметры орбит с помощью предварительно рассчитанных таблиц, находящихся на борту. А ещё они умели ориентироваться по звёздам.
Астронавты сами были, если можно так сказать, бортовыми «компьютерами». И это вовсе не шутка. Именно их присутствие позволило совершать посадки, компенсируя ошибки несовершенной автоматики того времени.
Садиться в ручном режиме пришлось, например, Нилу Армстронгу. Только так можно было увести спускаемый модуль от сильно каменистой местности, на которую его вывела автоматика. Экипаж «Аполлона-13» был вынужден рассчитывать траекторию возвращения на Землю вручную, поскольку после аварии план полёта изменился на непредусмотренный. Даже резервными программами.
Поэтому, мой юный друг, запомни, и расскажи своим конопатым друзьям: общая доступная вычислительная мощность компьютеров «Аполлонов» была не такой скромной, как думают некоторые энтузиасты.
И если ты хочешь узнать больше о реальных характеристиках Apollo Guidance Computer или избавиться от сомнений в их подлинности, то загляни, например, на такой сайт, как Virtual AGC.
Оригинальное программное обеспечение AGC было опубликовано на этом ресурсе еще в далёком 2003 году. Поэтому его можно там свободно проверить. Конечно, глубокое понимание кода потребует навыков работы с компьютером среднего и высокого уровня. И если у тебя их нет, обратись к хорошему компьютерному специалисту. Он поможет тебе убедиться, что это программное обеспечение реально. И работает.
Только подумай. Кому пришло бы в голову писать огромные объёмы фальшивого программного обеспечения, количество которого хорошо проиллюстрировано вот на этой фотографии?
Это Маргарет Гамильтон, которая была руководителем разработчиков программного обеспечения проекта «Аполлон» в лаборатории Массачусетского технологического института.
Именно эта женщина вместе со своей командой определила критерии проектирования и тестирования программного обеспечения, которое заставляло работать бортовой компьютер лунного модуля. И, в частности, именно она реализовала концепции асинхронной обработки и приоритетного планирования, которые позволили компьютерам миссии «Аполлон» избегать «зависания». Это техническое решение позволило, например, астронавтам «Аполлона-11» избежать выхода из строя компьютера от перегрузки данными, которая произошла во время спуска на Луну. И совершить удачную посадку.
Работа, проведённая в рамках проекта «Аполлон», не осталась изолированной и не была самоцелью. Вскоре все её достижения были использованы и в следующих космических проектах. Например, основные концепции, заложенные в AGC, были использованы в программе Спейс Шаттл. И стали основой для современной технологии вспомогательного пилотирования военных самолётов и гражданских авиалайнеров».
Я закрыл Синюю книгу и посмотрел на моего юного друга. Он задумчиво залипал в телефоне, и, казалось, совсем меня не слушал. Но вдруг поднял голову, и я увидел его мокрые глаза. Чуть заметно шевеля дрожащими губами, он прошептал: «Нилитали…»