Открыть сервис

Apollo Guidance Computer

Apollo Guidance Computer (AGC) — бортовой цифровой компьютер, разработанный в 1960-х годах для пилотируемых космических кораблей программы «Аполлон». Предназначался для управления навигацией, ориентацией и двигательными установками командного и лунного модулей, а также для обеспечения их стыковки и посадки на Луну. Создан Лабораторией измерительных систем Массачусетского технологического института (MIT Instrumentation Laboratory) по заказу NASA. Является одним из первых в мире компьютеров, построенных на интегральных микросхемах.

История создания

Предпосылки

В начале 1960-х годов, после объявления президентом США Джоном Кеннеди национальной цели — высадки человека на Луну до конца десятилетия, — возникла необходимость в бортовой вычислительной системе, способной выполнять сложные расчёты в реальном времени. Ранние космические аппараты (например, «Меркурий» и «Джемини») использовали аналоговые или простые цифровые системы, не обеспечивавшие требуемой точности и надёжности для лунной миссии.

Разработка

Проектирование AGC началось в 1961 году под руководством инженера Чарльза Старка Дрейпера. Ключевым требованием была миниатюризация и устойчивость к вибрациям, радиации и перепадам температур. В 1962 году NASA выбрало в качестве элементной базы интегральные схемы (ИС) — новейшую технологию того времени, что позволило значительно уменьшить размеры и энергопотребление. Первая версия AGC (Block I) была готова к 1964 году и использовалась в беспилотных испытательных полётах. Вторая версия (Block II), с увеличенной памятью и улучшенной архитектурой, была внедрена в пилотируемые миссии, начиная с «Аполлон-7» (1968 год).

Производство

Изготовление AGC осуществлялось компанией Raytheon. Каждый экземпляр собирался вручную, что делало его крайне дорогим — стоимость одного компьютера составляла около 200 000 долларов США (в ценах 1960-х годов). Всего было произведено около 75 единиц AGC для различных миссий и наземных испытаний.

Технические характеристики

Архитектура

AGC представлял собой 16-битный компьютер с фиксированной запятой. Разрядность слова составляла 16 бит, из которых 15 отводились под данные и один — под знак. Система команд включала около 34 инструкций, большинство из которых выполнялись за один машинный цикл.

  • Тактовая частота: 2,048 МГц.
  • Быстродействие: около 40 000 операций сложения в секунду.
  • Оперативная память (ОЗУ): 2048 слов (4 КБ) на магнитных сердечниках (для Block II — 4096 слов).
  • Постоянная память (ПЗУ): 36 864 слов (72 КБ) на магнитных сердечниках с прошивкой (core rope memory).
  • Масса: около 32 кг.
  • Энергопотребление: около 70 Вт.

Память

Особенностью AGC было использование core rope memory (память на магнитных сердечниках с прошивкой) в качестве постоянного запоминающего устройства. Данные хранились в виде физического расположения проводов, проходящих через ферритовые кольца. Такая память была медленной (время доступа — около 10 микросекунд), но чрезвычайно надёжной и нечувствительной к радиации. Программы записывались в неё на этапе производства и не могли быть изменены в полёте.

Периферия

AGC взаимодействовал с рядом устройств:

  • DSKY (Display and Keyboard) — панель ввода-вывода с цифровой клавиатурой и индикаторами (три семисегментных дисплея для чисел и два для знаков).
  • Инерциальная измерительная система (IMU) — гиростабилизированная платформа, определяющая ориентацию корабля.
  • Оптический телескоп и секстант — для ручной навигации по звёздам.
  • Датчики двигателей и исполнительные механизмы — для управления тягой и ориентацией.

Программное обеспечение

Разработка

Программное обеспечение для AGC разрабатывалось в MIT Instrumentation Laboratory. Код писался на ассемблере, а затем вручную переносился на магнитные сердечники. Объём программного кода для миссии «Аполлон-11» составлял около 30 000 строк. Разработчики использовали симуляторы на мэйнфреймах IBM 7090 для отладки.

Основные функции

Программное обеспечение AGC выполняло три ключевые задачи:

  1. Навигация и управление ориентацией — расчёт траектории, коррекция курса, стабилизация корабля.
  2. Управление двигателями — включение и выключение двигателей по командам экипажа или автоматически.
  3. Посадка на Луну — в лунном модуле AGC управлял спуском, используя данные радара и инерциальной системы.

Аварийные режимы

AGC имел несколько уровней приоритетов задач. В случае сбоя или перегрузки процессора система могла переключиться в режим «аварийного сброса» (alarm), при котором выполнялись только критически важные функции. Во время посадки «Аполлона-11» AGC выдал несколько предупреждений о перегрузке (1201 и 1202), но благодаря приоритетной системе посадка была успешно завершена.

Применение в миссиях

Беспилотные испытания

AGC Block I использовался в миссиях «Аполлон-4», «Аполлон-5» и «Аполлон-6» для проверки работы систем в автоматическом режиме.

Пилотируемые полёты

Начиная с «Аполлон-7» (1968), AGC Block II устанавливался на все пилотируемые корабли. В каждой миссии использовалось два компьютера: один — в командном модуле (CM), второй — в лунном модуле (LM). Они могли обмениваться данными через стыковочный интерфейс.

Аполлон-11

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

Аполлон-13

Во время аварии на «Аполлоне-13» (1970) AGC командного модуля использовался для расчёта траектории возвращения на Землю с использованием двигателя лунного модуля в качестве резервного. Компьютер работал в условиях пониженного энергоснабжения и низкой температуры.

Наследие и влияние

Технологическое значение

AGC стал первым компьютером, широко применившим интегральные микросхемы, что стимулировало развитие микроэлектроники. Технологии, разработанные для AGC (например, core rope memory и методы миниатюризации), впоследствии нашли применение в авиации, военной технике и ранних компьютерах.

Программное обеспечение

Методы разработки надёжного программного обеспечения для AGC (приоритетная система, тестирование в симуляторах, резервирование) заложили основы для современной инженерии критически важных систем.

Культурное влияние

AGC стал символом технологического прорыва 1960-х годов. Его изображение (панель DSKY) часто используется в фильмах и документальных материалах о космической программе. В 2019 году, к 50-летию высадки на Луну, исходный код AGC был опубликован в открытом доступе.

Интересные факты

  • Ёмкость памяти AGC была меньше, чем у современного текстового файла среднего размера. Для сравнения, объём ПЗУ (72 КБ) сопоставим с размером одной фотографии низкого разрешения.
  • Стоимость одного компьютера (около 200 000 долларов) в пересчёте на современные деньги превышает 1,5 миллиона долларов.
  • Ручное программирование — код для AGC вручную наносился на магнитные сердечницы: женщины-операторы пропускали провода через ферритовые кольца, что было крайне трудоёмким процессом.
  • Аварийные сигналы — коды ошибок 1201 и 1202, возникавшие при посадке «Аполлона-11», были вызваны перегрузкой процессора из-за одновременной работы нескольких задач, но система успешно справилась с ними.

Критика и ограничения

Несмотря на успешное применение, AGC имел ряд недостатков:

  • Малая вычислительная мощность — по современным меркам, быстродействие AGC сопоставимо с калькулятором 1970-х годов.
  • Сложность программирования — из-за использования core rope memory любые изменения в программе требовали физического перепрошивания, что делало невозможным оперативное обновление ПО.
  • Отсутствие резервирования — в каждом модуле стоял только один AGC, и его отказ мог привести к катастрофе. Однако надёжность системы была исключительно высокой: за все полёты не было зафиксировано ни одного полного отказа AGC.

Источники

  • Hall, E. C. (1996). Journey to the Moon: The History of the Apollo Guidance Computer. AIAA.
  • O’Brien, F. J. (2010). The Apollo Guidance Computer: Architecture and Operation. Springer.
  • NASA Technical Reports Server (NTRS) — «Apollo Guidance Computer Software» (1968).
  • MIT Instrumentation Laboratory — «Apollo Guidance Computer Block II Technical Manual» (1969).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →