Apollo Guidance Computer

az amerikai Apollo űrprogram számára tervezett és gyártott űrhajófedélzeti digitális számítógép

Az Apollo Guidance Computer – rövidítve AGC – az Apollo-program számára tervezett és gyártott fedélzeti digitális számítógép. A gép tervezése 1962-ben kezdődött és 1966-tól 1975-ig használták. Elsősorban az Apollo űrhajók parancsnoki és visszatérő egységébe (Command Module, CM) és holdkompjaiba (Lunar Module, LM) építették ezeket, később kísérleti célokból több más eszközbe is beépítették, így pl. ilyen számítógépekkel kísérleteztek a fly-by-wire repülésvezérlő rendszer fejlesztése során, és az USA Haditengerészetének Mélymerülésű Mentőjárművében (Deep Submergence Rescue Vehicle) is alkalmazták.

Apollo Guidance Computer
Apollo Guidance Computer és egy DSKY interfész
Apollo Guidance Computer és egy DSKY interfész

Típusfedélzeti számítógép
FejlesztőMIT Instrumentation Laboratory
GyártóRaytheon Company
Forgalomban1966 augusztus–1975 július
Processzoregyedi, RTL típusú IC-kkel épített
órajel: 2,048 MHz
Memória16 bites szóhossz,
2048 szavas RAM (ferritgyűrűs memória), 36 864 szavas ROM (ferritmagos fűzött memória)
BevitelDSKY, IMU, Hand Controller, Rendezvous Radar (CM), Landing Radar (LM), Telemetry Receiver, Engine Command, Reaction Control System
Energiaellátás55W[1]
KijelzőDSKY (számjegyes kijelző)
A Wikimédia Commons tartalmaz Apollo Guidance Computer témájú médiaállományokat.

Az AGC feladata volt a szenzorok adatainak figyelése, a repülés irányítása, a navigáció és az összes kapcsolódó számítás elvégzése, tehát lényegében az űrhajó teljes vezérlése. A számítógép szószervezésű, szóhossza 15 bit, a 15 adatbithez egy paritásbit járul. A programok és adatok nagy részét speciális, csak-olvasható ferritmag-fonat kialakítású memóriákban (core rope memory) tárolták, amelyekben a biteket a vezeték ferritmagba való befűzésével vagy annak kikerülésével valósították meg; a programfuttatáshoz rendelkezésre állt egy kisebb írható-olvasható ferritgyűrűs memória.

Az űrhajósok az AGC-val két felhasználói interfészen keresztül kommunikáltak, az interfész kijelzőt (display) és billentyűzetet (keyboard) tartalmazott, az egységet rövidítve DSKY-nak hívták. Az AGC-t és a DSKY felhasználói interfészt az MIT Instrumentation Laboratory (MIT Műszerellátó Laboratóriuma, 1970-től Charles Stark Draper Laboratory) fejlesztette ki az 1960-as évek elején, az Apollo-program számára. Az AGC nem az első számítógéptípus az űrhajók fedélzetén; a Gemini-programban használt OBC (On-Board Computer) megelőzte; azonban egyike volt az első integrált áramkörökkel felépített számítógépeknek.

Az Apollo Guidance Computer kijelző és billentyűzet (DSKY) interfésze a parancsnoki egység (Command Module) vezérlőpultjába építve, felette a repülésirányító helyzetjelző műszerrel (Flight Director Attitude Indicator, FDAI)
Az Apollo Guidance Computer vezérlőszavainak és azok számkódjainak részleges listája; ezek egy oldalpanelen szerepeltek, gyorsreferenciaként.

Felhasználása szerkesztés

Mindegyik Holdat célzó küldetésben (kivéve az Apollo–8-at, amely nem vitt magával holdraszálló egységet, célja csak a holdkörüli pálya volt) két AGC vett részt, egy a parancsnoki modulban, egy pedig a holdraszálló egységben. A parancsnoki modulba szerelt AGC volt a központja az űrhajó vezérlési és navigációs rendszerének (G&C). A holdraszálló egység saját külön Apollo PGNCS rendszerét futtatta (Primary Guidance, Navigation and Control System, elsődleges vezérlő, navigációs és ellenőrzőrendszer).

Minden holdi küldetésnek még két további számítógépe volt:

  • A Launch Vehicle Digital Computer (LVDC, kb. hordozórakéta digitális számítógépe) a Saturn V gyorsítórakéta műszergyűrűjében
  • A holdraszálló egység Abort Guidance System (AGS, kb. megszakítás irányítórendszer) számítógépe, arra az esetre, ha a holdraszálló egység PGNCS-je felmondaná a szolgálatot. Az AGS alkalmas volt a Holdról való felszállás és a parancsnoki egységgel való randevú végrehajtására, de a leszállásra nem.

Konstrukció szerkesztés

Az AGC-t a MIT Instrumentation Laboratory-ban tervezték Charles Stark Draper irányításával, a hardver tervezése Eldon C. Hall vezetésével történt.[1] A számítógéparchitektúra kezdeti kialakítását J.H. Laning Jr., Albert Hopkins, Ramon Alonso,[2][3] és Hugh Blair-Smith[4] végezte. A repülési hardvert a Raytheon gyártotta, a cég részéről Herb Thaler[5] szintén az architekturális tervezőcsapat tagja volt.

Az Apollo repülésvezérlő számítógép elsőként alkalmazott integrált áramköröket. Míg a Block I verzióban 4100 IC-t használt, mindegyik egy 3 bemenetű NOR-kaput tartalmazott, a későbbi Block II verzió, amelyet a személyzettel ellátott repüléseknél használtak, 2800 IC-t alkalmazott, mindegyikben két 3 bemenetű NOR-kapuval.[1]:34 Az IC-ket a Fairchild Semiconductor készítette, ezek RTL logikával, flatpack tokozással készültek. Összeköttetéseik wire-wrap technikával voltak kialakítva, amelyet aztán epoxigyantába ágyaztak. Az egységes logikai IC-k használatával (tehát a kizárólag NOR3 kapukkal megvalósított logika) az AGC egészében azokat a problémákat igyekeztek elkerülni, amelyek felütötték a fejüket a korai IC-alapú számítógépkialakításokban, mint pl. a Minuteman II D-37C vezérlő számítógép-komponensben, amely dióda-tranzisztor logikát és dióda-alapú logikai kapukat tartalmazott vegyesen.

A számítógép 2048 szónyi törölhető mágnesmagos memóriát tartalmazott és 36 kiloszónyi csak-olvasható mágnesmag-fonatos memóriát (core rope memory). Mindkettő memóriaolvasási ciklusa 11,72 mikromásodperc volt (ez 85,32 kHz-es órajelnek felel meg). A memória szóhossza 16 bit volt: ebből 15 bitet foglalt el az adattartalom és 1 bitet a páratlan paritásbit. A CPU belső adatformátuma: a 16 bites szóban 14 adatbit, 1 túlcsordulás-jelzőbit és 1 előjelbit (a számábrázolás egyes komplemens alakot használt).

DSKY interfész szerkesztés

 
Az Apollo számítógép DSKY kezelőfelület egysége
 
A holdraszálló egység DSKY interfészének vázlata

Az AGC kezelőfelülete a DSKY jelű egység, ami az angol display and keyboard, kijelző és billentyűzet szavak rövidítése, általában kb. 'disz-kí'-nek ejtve. Az egységen egy kalkulátor-szerű numerikus billentyűzet, funkciógombok, jelzőfények és néhány numerikus kijelző található. A parancsok kétjegyű számokkal adhatók meg és két csoportra tagozódnak: ige (Verb) és főnév (Noun), ezekhez a megfelelő funkcióbillentyűk tartoznak. A Verb határozza meg az elvégzendő műveletet, a Noun pedig azt, hogy az akció melyik adatot használja.

A parancsnoki egység (CM) két, AGC-hez csatlakoztatott DSKY-vel rendelkezik, az egyik a fő műszerfalon található, a másik az alsó műszerfülkében, az inerciális vezérlőrendszer beállítására szolgáló szextáns mellett.

Ütemezés, órajel szerkesztés

Fő regiszterek szerkesztés

Mellékregiszterek szerkesztés

Utasításkészlet szerkesztés

Memória szerkesztés

 
AGC fűzött ferritmagos memória (ROM)
 
Az Apollo AGC egy 1024 bites törölhető ferritgyűrűs memóriamodulja (elölről, hátulról)

Az AGC ferritgyűrűs memóriával készült. A Block I AGC memóriáját 1 kiloszavas blokkokra osztották. A legalsó, 0-s bank volt a törölhető memória, azaz RAM. A 0. bank fölötti bankok tartalma rögzített, ezek állandó memóriák (ROM). Minden AGC utasítás 12 bites címmezőt tartalmaz, az alsó 10 bit (0..9 bithelyiértékek) a bankon belüli memóriát címezik, a felső két bit (10., 11. helyi értékek) a bankot választják ki; így '00' választja a törölhető memóriabankot, '01' a rögzített memória alsó bankját (bank 1), '10' a következőt (bank 2), és az '11' érték pedig a bankválasztó regisztert jelöli ki, amivel a 2 feletti bankokat lehet elérni. A bank 1 és 2 mindig elérhető, a bank regiszter tartalmától függetlenül, ezért ezeket ún. fixed-fixed vagy fixen állandó memóriának is nevezték. A bank 3 és afölötti választható memórialapokat állandó átváltható fixed-switchable memóriának nevezték, mivel ezeket a bank regiszterrel lehetett váltogatni.

Az AGC Block I verziója kezdetben 12 kiloszó állandó memóriával rendelkezett, de ezt később 24 kiloszóra növelték. A Block II 32 kiloszó állandó memóriát és 4 kiloszó törölhető memóriát tartalmaz.

Megszakítások és számlálók szerkesztés

Készenléti üzemmód szerkesztés

Adatsínek szerkesztés

Szoftver szerkesztés

Block II szerkesztés

PGNCS üzemzavar szerkesztés

Az Apollo programon kívüli felhasználás szerkesztés

Az AGC képezte az alapját egy kísérleti fly-by-wire (FBW) rendszernek, amit az F-8 Crusader vadászrepülőgépre telepítettek, hogy bemutassák a számítógéppel vezérelt FBW gyakorlati lehetőségeit. Az AGC-t a program első fázisában használták, később , a második fázisban egy másik számítógéppel váltották fel. A programban végzett kutatás vezetett később a Space Shuttle fly-by-wire rendszerének kifejlesztéséhez. Az AGC több más, ebben az időben fejlesztett FBW rendszerre volt közvetett hatással.[6]

Az AGC-t felhasználták még az Amerikai Egyesült Államok Haditengerészete Deep Submergence Rescue Vehicle mélymerülésű mentőtengeralattjárójában is.[7]


Jegyzetek szerkesztés

  1. a b c Hall, Eldon C. (1996), Journey to the Moon: The History of the Apollo Guidance Computer, Reston, Virginia, USA: AIAA, p. 196, ISBN 1-56347-185-X
  2. Ramon Alonso's introduction, MIT, July 27, 2001, <http://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/conference1/alonso-intro.htm>. Hozzáférés ideje: 2009-08-30
  3. Ramon Alonso's interview (spanyolul), Diario La Nacion, March 7, 2010, <http://www.lanacion.com.ar/nota.asp?nota_id=1240769>
  4. Hugh Blair-Smith biography, MIT, January, 2002, <http://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/people/hblairsmith.htm>. Hozzáférés ideje: 2009-08-30
  5. Herb Thaler introduction, MIT, 14 September-2001, <http://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/conference2/thaler-intro.htm>. Hozzáférés ideje: 2009-08-30
  6. Tomayko, James E. (2000), NASA SP-2000-4224 — Computers Take Flight: A History of NASA's Pioneering Digital Fly-By-Wire Project, Washington, D.C.: NASA, <http://www.klabs.org/history/history_docs/reports/dfbw_tomayko.pdf>. Hozzáférés ideje: 2009-09-01
  7. Craven, John Pina. The Silent War: The Cold War Battle Beneath the Sea. New York: Simon and Schuster, 120. o. (2002). ISBN 0-684-87213-7 

Források szerkesztés

További információk szerkesztés

Kapcsolódó szócikkek szerkesztés