История космического полета Аполлона 11: почему важно осознать технологический прорыв
20 июля 1969 года космонавты Нил Армстронг и Эдвин Олдрин ступили на лунную поверхность, став первыми людьми, достигшими Луны. Это было не просто исторический момент, но и достижение технологического прорыва, которое позволило сделать это возможным. Руководящий компьютер Аполлона – это цифровой вычислительный комплекс, созданный для управления полётом космического корабля. Он был разработан в 1966 году компанией MIT Instrumentation Laboratory (ныне - часть компании Draper Laboratory) под руководством Джеймса А. МакКейла. Этот компьютер был оснащён 1,024 словами программного кода, написанными на языке assembler, и состоял из четырёх основных компонентов: командного процессора, арифметико-логического устройства, накопителя данных и входного/выходного интерфейса.
Руководящий компьютер Аполлона: ключевой элемент в истории космических полетов
Руководящий компьютер Аполлона-11 был составлен из четырёх основных компонентов:*
Командный процессор
: управлял выполнением программы, принимая команды и данные с внешних устройств.
(Командный процессор – это как менеджер проекта: держит всё под контролем, но иногда тоже просит "продлить срок")*
Арифметико-логическое устройство
: обеспечивал арифметические и логические операции, необходимые для расчета навигационных данных и управления двигателями.*
Накопитель данных
: хранил программный код, данные и конфигурационные параметры.
(Накопитель – старый репозиторий git без CI: всё хранится, но без автоматических тестов)*
Входной/выходной интерфейс
: обрабатывал входные данные от контроллеров двигателей, сенсоров и других устройств, а также выводил данные на дисплеи и другие устройства.
Исходный код руководящего компьютера Аполлона
Исходный код руководящего компьютера Аполлона-11 был написан на языке assembler и состоял из 1,024 слов. Он включал в себя программный код для управления полётом, навигационной системы, системы управления двигателями и другие функции. Каждая команда исходного кода начиналась со знака «B», который указывал на то, что это команда байта. Например, команда `B001000` означала, что необходимо перейти к адресу 1. Это простой, но мощный пример того, как технологии могли изменить историю космических полетов.
B001000 LD R0, 0 ; Load register R0 with 0B001001 LD R1, 1 ; Load register R1 with 1B001010 ADD R0, R0, R1 ; Add R1 to R0B001011 ST R0, 2 ; Store result in memory location 2
Система управления двигателями: ключевой элемент в истории космических полетов
Система управления двигателями была одной из ключевых функций руководящего компьютера Аполлона. Она обеспечивала управление работой двигателей, чтобы поддерживать стабильную скорость и направление полета космического корабля. Система включала в себя ряд команд и алгоритмов, которые рассчитывали необходимую мощность двигателей и управляли их работой. Это был сложный и ответственный процесс, но руководящий компьютер Аполлона смог справиться с ним, обеспечив успешную посадку на Луне.
(Запуск кода Apollo — как Deploy в prod без Docker: всё должно работать с первого раза, иначе «mission abort!»)Дополнительные факты и контекст
Источники исходного кода руководящего компьютера Аполлона-11 доступны на GitHub и MIT Museum. Сотрудник NASA Крис Гарри опубликовал исходный код, который обеспечил посадку «Аполлона-11» на Луну. Исходный код включает в себя программный код для управления полётом, навигационной системы, системы управления двигателями и другие функции. Теперь вы можете скачать исходный код и увидеть, как работали технологии, которые позволили сделать исторический полет Аполлона-11 возможным.
- GitHub - chrislgarry/Apollo-11: Original Apollo 11 Guidance Computer ...
- Исходный код высадки на Луну «Аполлона-11» выложен в открытый доступ ...
- Apollo-11/Translations/README.ru.md at master - GitHub
- Исходный код «Аполлона-11» выложили на Github