Historia komputera z przewodnikiem Apollo, część 2

Pin
Send
Share
Send

Pod koniec lat 50. ubiegłego wieku, zanim NASA miała zamiar udać się na Księżyc - lub potrzebować komputera, aby się tam dostać - MIT Instrumentation Laboratory zaprojektowało i zbudowało małą prototypową sondę, która miała nadzieję, że pewnego dnia poleci na Marsa (częściowo przeczytaj tło 1 tej historii tutaj). Ta mała sonda wykorzystywała mały, podstawowy komputer ogólnego przeznaczenia do nawigacji, oparty na systemach bezwładnościowych dla pocisków balistycznych, okrętów podwodnych i samolotów, które Lab zaprojektował i zbudował dla wojska od II wojny światowej.

Ludzie z Instrumentation Lab sądzili, że ich koncepcja sondy Mars - aw szczególności system nawigacji - będzie interesująca dla osób zaangażowanych w raczkujące poszukiwania planet, takich jak Siły Powietrzne USA i Laboratorium Napędu Odrzutowego. Ale kiedy zbliżyło się do nich laboratorium MIT, żaden podmiot nie był zainteresowany. Siły Powietrzne wychodziły z kosmosu, a JPL planowało prowadzić własny statek kosmiczny, nawigując z dużej anteny komunikacyjnej Goldstone na pustyni Mojave. 26-metrowa antena radarowa została skonstruowana do śledzenia wczesnych robotycznych sond Pioneer.

Zarówno siły powietrzne, jak i JPL zasugerowały, aby laboratorium porozmawiało z ludźmi w nowo utworzonej organizacji NASA.

Członkowie laboratorium odwiedzili Hugh Drydena, zastępcę administratora NASA w Waszyngtonie, oraz Roberta Chiltona, który kierował oddziałem dynamiki lotów NASA w Langley Research Center. Obaj mężczyźni sądzili, że laboratorium wykonało bardzo dobrą pracę nad projektem, szczególnie przy komputerze sterującym. NASA postanowiła przekazać laboratorium 50 000 USD na kontynuację badań nad tą koncepcją.

Później odbyło się spotkanie lidera laboratorium, dr Charlesa Starka Drapera i innych liderów NASA w celu omówienia różnych planów dalekiego zasięgu, które NASA miała na myśli, oraz tego, w jaki sposób projekty laboratorium mogą pasować do statku kosmicznego pilotowanego przez ludzi. Po kilku spotkaniach ustalono, że system powinien składać się z uniwersalnego komputera cyfrowego ze sterownikami i wyświetlaczami dla astronautów, sekstanta kosmicznego, bezwładnościowego zespołu naprowadzającego z żyroskopami i akcelerometrami oraz całej elektroniki pomocniczej. We wszystkich tych dyskusjach wszyscy zgodzili się, że astronauta powinien odgrywać rolę w sterowaniu statkiem kosmicznym, a nie tylko brać udział w podróży. Wszystkim ludziom z NASA szczególnie podobała się samodzielna nawigacja, ponieważ obawiano się, że Związek Radziecki może zakłócać komunikację między amerykańskim statkiem kosmicznym a ziemią, zagrażając misji i życiu astronautów.

Ale wtedy narodził się projekt Apollo. Prezydent John F. Kennedy wezwał NASA w kwietniu 1961 r. Do lądowania na Księżycu i bezpiecznego powrotu na Ziemię - wszystko przed końcem dekady. Zaledwie jedenaście tygodni później, w sierpniu 1961 r., Podpisano pierwszą główną umowę dla Apollo z MIT Instrumentation Laboratory na budowę systemu nawigacji i nawigacji.

„Mieliśmy kontrakt”, powiedział Dick Battin, inżynier z Lab, który był częścią zespołu projektowego Mars Probe, „ale… nie mieliśmy pojęcia, jak zamierzamy wykonać tę pracę, prócz modelowania jej na podstawie Marsa sonda."

Częścią tradycji Apollo Guidance Computer (AGC) jest to, że niektóre specyfikacje wymienione w 11-stronicowej propozycji laboratorium zostały w zasadzie usunięte z powietrza przez Doc Draper. Z powodu braku lepszych liczb - i wiedząc, że będzie musiał zmieścić się w statku kosmicznym - powiedział, że waży 100 funtów, ma wielkość 1 stopy sześciennej i zużywa mniej niż 100 watów mocy.

Ale w tamtym czasie bardzo niewiele specyfikacji było znanych na temat któregokolwiek z pozostałych komponentów Apollo lub statku kosmicznego, ponieważ żadne inne kontrakty nie zostały wynajęte, a NASA nie zdecydowała jeszcze o swojej metodzie (bezpośrednie wynurzenie, Earth Orbit Rendezvous lub Lunar Orbit Rendezvous) i rodzaje statków kosmicznych, aby dostać się do Księżyca.

„Powiedzieliśmy:„ Nie wiemy, czym jest praca, ale to jest nasz komputer i będziemy nad nim pracować, spróbujemy go rozwinąć, zrobimy wszystko, co możemy ”- powiedział Battin. . „Ale to był jedyny komputer w kraju, który mógłby wykonać tę pracę… cokolwiek to może być.”

Battin przypomniał sobie, jak na początku opcja lotu na Księżyc miała być miejscem spotkania orbity Ziemi, gdzie różne części statku kosmicznego miałyby wystrzelić z Ziemi i połączyć się na orbicie Ziemi, przelecieć na Księżyc i wylądować tam jako całość. Ale ostatecznie zwyciężyła koncepcja spotkania orbity księżycowej - lądownik oddzieliłby się od modułu dowodzenia i wylądował na Księżycu.

„Więc kiedy to się stało, pytanie brzmiało… czy potrzebujemy zupełnie nowego i innego systemu kierowania dla Modułu Księżycowego niż dla Modułu Dowodzenia?” Powiedział Battin. „Co zamierzamy z tym zrobić? Przekonaliśmy NASA do korzystania z tego samego systemu [komputerowego] w obu statkach kosmicznych. Mają różne misje, ale moglibyśmy umieścić duplikat systemu w module księżycowym. Tak właśnie zrobiliśmy ”.

Wczesne prace koncepcyjne nad komputerem Apollo Guidance Computer (AGC) przebiegały szybko, a Battin i jego kohorty Milt Trageser, Hal Laning, David Hoag i Eldon Hall opracowali ogólną konfigurację do prowadzenia, nawigacji i kontroli.

Nawigacja oznaczała kierowanie ruchem jednostki, podczas gdy nawigacja odnosiła się do określania aktualnej pozycji tak dokładnie, jak to możliwe, w odniesieniu do przyszłego celu. Kontrola odnosiła się do kierowania ruchami pojazdu, aw kosmosie kierunków związanych z jego położeniem (odchylenie, pochylenie i przechylenie) lub prędkością (prędkość i kierunek). Specjalizacja MIT koncentrowała się na wytycznych i nawigacji, podczas gdy inżynierowie NASA - szczególnie ci, którzy mieli doświadczenie w pracy nad Projektem Mercury - kładli nacisk na wskazówki i kontrolę. Oba podmioty współpracowały ze sobą, aby stworzyć manewry, które byłyby wymagane w oparciu o dane z żyroskopów i akcelerometrów oraz jak uczynić manewry częścią komputera i oprogramowania.

W przypadku MIT Instrumentation Lab jednym z głównych zmartwień związanych z komputerem Apollo Guidance Computer była niezawodność. Komputer byłby mózgiem statku kosmicznego, ale co jeśli się nie powiedzie? Ponieważ redundancja była znanym rozwiązaniem podstawowego problemu z niezawodnością, ludzie z The Lab zasugerowali włączenie dwóch komputerów na pokładzie, z których jeden stanowiłby kopię zapasową. Ale North American Aviation - firma budująca moduły dowodzenia i obsługi Apollo - miała swoje własne problemy, spełniające wymagania dotyczące masy. Północnoamerykańska szybko zaczęła niepokoić się wymaganiami dotyczącymi wielkości i powierzchni dwóch komputerów, a NASA zgodziła się.

Innym pomysłem na zwiększenie niezawodności było posiadanie zapasowych płytek obwodów i innych modułów na pokładzie statku kosmicznego, aby astronauci mogli „konserwować się podczas lotu”, wymieniając uszkodzone części podczas przebywania w kosmosie. Ale pomysł astronauta otwierającego przedział lub deskę podłogową, szukającego uszkodzonego moduł i włożenie zapasowej płytki drukowanej podczas zbliżania się do Księżyca wydawało się niedorzeczne - mimo że ta opcja była przez długi czas rozważana.

„Powiedzieliśmy:„ Po prostu sprawimy, aby ten komputer był niezawodny ”, przypomniał Battin. „Dzisiaj zostaniesz wykluczony z programu, jeśli powiesz, że zbudujesz go tak, aby nie zawiódł. Ale tak właśnie zrobiliśmy ”.

Jesienią 1964 r. Laboratorium rozpoczęło projektowanie ulepszonej wersji AGC, głównie w celu wykorzystania ulepszonej technologii. Jednym z najtrudniejszych aspektów misji Apollo była ilość obliczeń w czasie rzeczywistym wymagana do nawigacji statku kosmicznego na Księżyc iz powrotem. Gdy inżynierowie z laboratorium po raz pierwszy rozpoczęli prace nad projektem, komputery nadal polegały na technologii analogowej. Komputery analogowe nie były szybkie ani wystarczająco niezawodne, aby wykonać misję na Księżyc.

Układy scalone, które zostały właśnie wynalezione w 1959 roku, były teraz bardziej wydajne, niezawodne i mniejsze; mogliby zastąpić wcześniejsze konstrukcje za pomocą rdzeniowych obwodów tranzystorowych, zajmując około 40 procent mniej miejsca. Tak szybko, jak technologia się rozwinęła, odkąd MIT wygrał kontrakt AGC w 1961 roku, czuli się pewnie, że czas oczekiwania do pierwszego lotu Apollo pozwoli na większy postęp w niezawodności i, miejmy nadzieję, redukcję kosztów. Dzięki tej decyzji AGC stała się jednym z pierwszych komputerów wykorzystujących układy scalone, a wkrótce ponad dwie trzecie całkowitej produkcji mikroukładów w USA wykorzystywano do budowy prototypów komputerowych Apollo.

Podpis pod zdjęciem: wczesny układ scalony, znany jako układ scalony Fairchild 4500a. Zdjęcie dzięki uprzejmości: Draper.

Mimo że wiele elementów konstrukcyjnych sprzętu komputerowego zaczęło się układać, w połowie lat sześćdziesiątych pojawił się dokuczliwy problem: pamięć. Oryginalny projekt, oparty na sondzie Marsa, miał tylko 4 kilobajty słów o stałej pamięci i 256 słów do wymazania. W miarę, jak NASA dodawało więcej aspektów do programu Apollo, wymagania dotyczące pamięci stale rosły, do 10 K, następnie 12, 16, 24 i wreszcie do 36 Kilobajtów pamięci stałej i 2 K do zaoferowania.

System opracowany przez Lab został nazwany pamięcią liny rdzeniowej, a oprogramowanie zostało starannie utworzone za pomocą drutu ze stopu niklu wplecionego przez małe magnetyczne „pączki”, aby stworzyć pamięć nieusuwalną. W języku zer komputerowych i zer, jeśli był to jeden, biegał przez pączka; jeśli było zero, drut biegał wokół niego. W przypadku jednego elementu pamięci potrzebna była wiązka o długości pół mili drutu utkana przez 512 rdzeni magnetycznych. Jeden moduł może przechowywać ponad 65 000 informacji.

Battin nazwał proces konstruowania ropememory metodą LOL.

„Małe staruszki” - powiedział. „Kobiety w fabryce Raytheon dosłownie wplatałyby oprogramowanie w tę pamięć rdzeniową”.

Podczas gdy kobiety przede wszystkim wykonywały tkanie, niekoniecznie były stare. Raytheon zatrudnił wielu byłych robotników włókienniczych, biegłych w tkaniu, którzy musieli przestrzegać szczegółowych instrukcji tkania drutów.

Kiedy budowano wspomnienia z rdzenia-liny, proces był dość pracochłonny: dwie kobiety siedziały naprzeciwko siebie, tkały ręcznie strumień drutów przez małe rdzenie magnetyczne, popychając sondę z drutem przymocowanym z jednej strony do drugiego. W 1965 r. Ponownie zastosowano bardziej mechaniczną metodę tkania drutów, opartą na maszynach tekstylnych stosowanych w przemyśle tkackim w Nowej Anglii. Ale proces ten był niezwykle powolny, a jeden program mógł zająć kilka tygodni lub nawet miesięcy, a więcej czasu potrzebowało na przetestowanie go. Wszelkie błędy w tkaniu oznaczały, że trzeba będzie go przerobić. Komputer modułu dowodzenia zawierał sześć zestawów modułów rdzenia, podczas gdy komputer modułu księżycowego miał siedem.

W sumie w komputerze znajdowało się około 30 000 części. Każdy element zostanie poddany testowi elektrycznemu i testowi warunków skrajnych. Każda awaria wymagała odrzucenia komponentu.

„Mimo że pamięć była niezawodna” - powiedział Battin - „NASA nie podobało jej się, to fakt, że bardzo wcześnie trzeba było zdecydować, jaki program komputerowy ma być. Zapytali nas: „A co, gdybyśmy dokonali zmiany w ostatniej chwili?”. Powiedzieliśmy, że nie możemy wprowadzać zmian w ostatniej chwili i jeśli chcesz zmienić pamięć, oznacza to minimum sześć tygodni poślizgu. Kiedy NASA powiedziała, że ​​jest to nie do zniesienia, powiedzieliśmy im: „No cóż, taki jest ten komputer i nie ma innego takiego komputera, którego można by użyć”.

Podczas projektowania i konstruowania wszystkich urządzeń stanowiących wyzwanie, w miarę postępu prac nad AGC do 1965 r. I do 1966 r. Wyróżniała się wielkość i złożoność innego aspektu: programowanie oprogramowania. Stał się głównym problemem definiującym komputer, zarówno pod względem terminów, jak i specyfikacji.

Całe programowanie odbyło się w zasadzie na poziomie zerowym i zerowym w języku asemblera. Projektując oprogramowanie do wykonywania skomplikowanych zadań, inżynierowie oprogramowania musieli wymyślić genialny sposób dopasowania kodu do ograniczeń pamięci. I oczywiście nigdy wcześniej tego nie robiono, przynajmniej nie na takim poziomie skali i złożoności. W danym momencie AGC może być zmuszona koordynować kilka zadań naraz: pobieranie odczytów z radaru, obliczanie trajektorii, wykonywanie korekcji błędów w żyroskopach, określanie, które pędniki powinny zostać odpalone, a także przesyłanie danych do stacji naziemnych NASA i pobieranie nowych danych wejściowych od astronautów .

Hal Laning opracował program, który nazwał programem wykonawczym, który przypisywał zadania innym priorytetom i pozwalał na zadania o wysokim priorytecie spoczywać przed tymi o niskim priorytecie. Komputer może przydzielić pamięć między różne zadania i śledzić, gdzie zadanie zostało przerwane.

Zespół oprogramowania Lab zaczął celowo projektować oprogramowanie z funkcją planowania z priorytetem, która mogłaby zidentyfikować najważniejsze polecenia i pozwolić na ich uruchomienie bez przerwy od mniej ważnych poleceń.

Jednak jesienią 1965 roku dla NASA stało się oczywiste, że komputer Apollo miał poważne kłopoty, ponieważ rozwój programów był znacznie opóźniony. Fakt, że stosunkowo nieznana ilość zwana „oprogramowaniem” może opóźnić cały program Apollo, nie została dobrze odebrana przez NASA.

Dalej: część 3, zastanawianie się nad tym wszystkim.

Możesz przeczytać więcej historii Apollo - w tym zespołu MIT Instrumentation Lab - w nowej książce Nancy Atkinson „Osiem lat na księżyc: historia misji Apollo”.

Zobacz więcej zdjęć z MIT Instrumentation Laboratory, znanego obecnie jako Draper, na ich specjalnej stronie internetowej „Hack The Moon” z okazji 50. rocznicy Apollo.

Pin
Send
Share
Send