Розділи
Матеріали

У 100 тис. разів слабіший за смартфон: як комп'ютеру Apollo вдалося доставити астронавтів на Місяць

Ірина Рефагі
Фото: NASA

Місія "Аполлон" стала можливою завдяки пристрою з оперативною пам'яттю в 4 КБ і з тактовою частотою процесора 0,043 МГц. Однак сучасний iPhone, який у сотні тисяч разів розумніший, не зміг би втілити проект NASA.

Напевно, ви чули таке твердження: сучасний смартфон могутніший за комп'ютер, що доставив астронавтів на Місяць у межах програми NASA "Аполлон" у 1969 році. Почасти це дійсно так, адже в нього було всього 4 КБ оперативної пам'яті та 72 КБ убудованої. Однак деякі айтішники вважають, що iPhone 13 не зміг би впоратися з тим завданням, яке блискуче виконав комп'ютер Apollo.

Комп'ютер Apollo: основні характеристики

Отже, про пам'ять ми вже повідомили — за сучасними мірками, вона в мільйон разів менша, ніж у середньостатистичного смартфона. Що стосується процесора, то його тактова частота становила 0,043 МГц. Для порівняння: процесор Intel Core i7 920 має тактову частоту 2660 МГц, тобто сучасний ноутбук у сплячому режимі обробляє інформацію швидше, ніж Apollo, який працював на повну потужність.

"iPhone має в 100 тис. разів більше обчислювальної потужності, однак не варто недооцінювати Apollo, адже він сам по собі є досягненням інженерів і вчених, які виконали складне завдання — відправили астронавтів на Місяць і благополучно повернули їх на Землю, — пише програміст, колумніст interestingengineering.com Джон Леффлер. — Інженери та вчені винайшли суперточну технологію, яка працювала безпомилково в буквальному сенсі слова".

Ще одним проривом можна вважати те, що вченим вдалося зменшити габарити обчислювального пристрою та знизити його вагу, тому що модуль місячної посадки не зміг би вмістити "звичайний" комп'ютер того часу, який займав чи не цілу кімнату. Зробити це вдалося, перепрограмувавши пристрій таким чином, щоб він ділив програму на дрібні дискретні завдання та вирішував би їх паралельно, замість того, щоб виконувати програму "цілком", як це робили наземні комп'ютери.

Принципи роботи навігаційного комп'ютера

Навігаційний комп'ютер Apollo був здатний виявляти системні помилки й ефективно перезапускати завдання, щоб усунути їх, продовжуючи роботу з того місця, де він зупинився. Сьогодні такий же принцип використовують різні проги на кшталт Photoshop або Microsoft Word, коли пропонують повторно відкрити файл після перезапуску через виявлену помилку.

"Ця функція, яка випередила час, буквально врятувала місію "Аполлон-11", оскільки через велику кількість змінних під час посадки модуля на Місяць навігаційний комп'ютер багаторазово перезапускався в пошуках оптимальної траєкторії, і таки посадив модуль", — розповідає колумніст.

Інтерфейс під назвою DSKY являв собою 15-кнопкову клавіатуру з 4-ма додатковими функціональними кнопками. При цьому пристрій точного введення відсутній, оскільки астронавти користувалися DSKY в рукавичках. З цієї ж причини інженери створили командний інтерфейс, що складається з пари "дієслово-іменник", що вводиться за допомогою числових кодів, які представляють різні команди. Командний модуль навіть мав шпаргалку, розташовану під інтерфейсом навігаційного комп'ютера Apollo, до якої астронавти могли звернутися в разі потреби. У ранніх версіях операційних систем ПК також використовувалися команди-слова, як ви знаєте.

Контрольна панель командного модуля Apollo
Фото: NASA

Як комп'ютер Apollo зміг зробити те, що не під силу iPhone

Біти інформації в навігаційному комп'ютері передавалися по дротових нитках, які впліталися в магнітні сердечники та виходяли з них. При цьому цифрові біти були представлені не 1 або 0, що зберігаються в осередках пам'яті, а дротом, що проходить через намагнічене кільце (1), і дротом, який огинав намагнічене кільце (0). Це вкрай важливий момент, тому що під час проведення місії "Аполлон" (1969 рік) не існувало супернадійних засобів захисту електроніки від суворого космічного середовища та радіації, вплив якої міг би підпалити електричну схему комп'ютера всередині командного модуля космічного корабля, порушивши працездатність навігаційного пристрою. Якби інженери не вирішили цю проблему, астронавти ризикували б залишитися на Місяці назавжди.

Однак вони благополучно повернулися додому, і ось чому: вчені перетворили все програмне забезпечення, необхідне для роботи навігаційного комп'ютера Apollo, на реальне фізичне обладнання, яке не могло вийти з ладу. Поки Apollo Guidance Computer був включений, він міг запускати будь-яке програмне забезпечення у своїй фіксованій, доступній тільки для читання, пам'яті, завдяки цьому новому нововведенню. iPhone, як відомо, таких можливостей не має.

Навігаційний комп'ютер Apollo та його інтерфейс DSKY

Як програмувався комп'ютер Apollo

Оскільки програмний код для керуючого комп'ютера Apollo потрібно було буквально вбудовувати в систему, працівникам фабрики Raytheon довелося фактично вплітати програмне забезпечення в корпус пристрою. Це означало, що Маргарет Гамільтон і її команда з 350 програмістів повинна була завершити розробку ПЗ задовго до запуску, щоб дати досить часу для виготовлення модулів пам'яті та їхнього тестування. Більше того, Гамільтон не мала права на помилку, тому що ПЗ було не діджітальним кодом, а фізичною системою, і на виправлення допущених помилок могли б піти місяці. У підсумку, програмісти все зробили правильно з першого разу. Але як?

Усе завдяки революційному рішенню Гамільтон — підходити до розробки ПЗ з тієї ж строгістю, що й до проблеми апаратної інженерії. Вона навіть придумала для цього свою назву: "програмна інженерія", — щоб чітко вказати на те, що робота повинна бути настільки ж точною, як і робота інженерів, які спроектували космічний корабель. Завдяки такому підходу їй вдалося розробити програму, яка б у принципі не могла дати збій, тому що виправляла би будь-які збої.

Програмістка Маргарет Гамільтон

Це врятувало посадку місячного модуля "Аполлона-11". У міру наближення модуля до поверхні Місяця його сенсори збирали набагато більше даних, ніж комп'ютер міг обробити. Передбачаючи такий сценарій, Маргарет Гамільтон упровадила форму виправлення помилок при перевантаженні даними — система автоматично знижувала пріоритет інших завдань, що не були важливі, щоб вивільнити ресурси для важливіших обчислень. Посадка, як ми знаємо, пройшла успішно.

"Що б не говорили про навігаційний комп'ютер Apollo, він є єдиним комп'ютером в історії людства, котрий побував на Місяці та повернувся на Землю. Звичайно, ваш iPhone має набагато більше пам'яті, потужності та швидкості обробки даних, ніж Apollo Guidance Computer, але він все ще перебуває у вашій руці, а до Місяця та Марса йому ще дуже далеко", — резюмує Джон Леффлер.

Пропонуємо Вам ознайомитися з нашим матеріалом про механічні комп'ютери, які вважаються предками сучасної обчислювальної техніки.