Аполлонға басшылық беретін компьютер - Apollo Guidance Computer

Аполлонға басшылық беретін компьютер
Agc view.jpg
Apollo нұсқаулық компьютері және DSKY
Ойлап тапқанЧарльз Старк Драпер зертханасы
ӨндірушіРейтон
Таныстырылды1966 ж. Тамыз; 54 жыл бұрын (1966-08)
Тоқтатылды1975 жылғы шілде; 45 жыл бұрын (1975-07)
ТүріАвионика
Компьютерлік нұсқаулық
ПроцессорДискретті кремний интегралды схема (IC) чиптер (RTL негізделген)
Жиілік2,048 МГц
Жад15-биттік сөз ұзындығы + 1-биттік паритет,
2048 сөз Жедел Жадтау Құрылғысы (магниттік-жад ), 36864 сөз Тұрақты Жадтау Құрылғысы (арқанның негізгі жады )[1]
ПорттарDSKY, IMU, қол контроллері, Rendezvous радары (CM), қону радиолокациясы (LM), телеметрия қабылдағышы, қозғалтқыш командирі, реакцияны басқару жүйесі
Қуатты тұтыну55 Вт[2]:120
Салмақ70 фунт (32 кг)
Өлшемдері24 × 12,5 × 6,5 дюйм (61 × 32 × 17 см)

The Аполлонға басшылық беретін компьютер (AGC) Бұл сандық компьютер үшін шығарылған Аполлон бағдарламасы әрқайсысына орнатылды Apollo командалық модулі (CM) және Аполлон Ай модулі (LM). AGC ғарыш кемесін басқару, навигация және басқару үшін есептеу және электронды интерфейстерді ұсынды.[3]

AGC-де 16 бит бар сөз ұзындығы, 15 деректер биті және біреуі бар теңдік биті. AGC-дегі бағдарламалық жасақтаманың көп бөлігі арнайы бағдарламада сақталады тек оқуға арналған жад ретінде белгілі арқанның негізгі жады, айналасында және айналасында сым тоқу арқылы сәнделген магниттік ядролар, бірақ оқудың / жазудың аз мөлшері негізгі жад қол жетімді.

Ғарышкерлер AGC-мен DSKY деп аталатын сандық дисплей мен пернетақтаны қолдана отырып байланысқан («дисплей және пернетақта» үшін «DIS-kee» деп айтылады). AGC және оның DSKY пайдаланушы интерфейсі 1960 жылдардың басында Apollo бағдарламасы үшін жасалған MIT аспаптар зертханасы және бірінші 1966 жылы ұшқан.[4] AGC бірінші болды кремний интегралды схема негізделген компьютер. Компьютердің өнімділігі бірінші буынмен салыстыруға болатын үйдегі компьютерлер сияқты 1970 жылдардың аяғынан бастап Apple II, ТРС-80, және Commodore PET.[5]

Пайдалану

Ғарышкерлер қолмен ұшты Егіздер жобасы бірге бақылау таяқшалары, бірақ компьютерлер Аполлонның көп бөлігі Айға қонғаннан басқа уақытта ұшты.[6] Айдың әр рейсі әрқайсысында бір-бірден екі AGC алып жүрді командалық модуль және ай модулі, қоспағанда Аполлон 8 Айдың орбитаға шығуы үшін оған ай модулі қажет емес еді. Командалық модульдегі AGC оны басқару, навигация және басқару (GNC) жүйесінің орталығы болды. Ай модуліндегі AGC жұмыс істеді Apollo PGNCS (бастапқы нұсқаулық, навигация және басқару жүйесі), қысқартылған түрде оқылады пингтер.

Apollo Guidance Computer дисплейі мен пернетақтасы (DSKY) интерфейсі командалық модульдің басқару тақтасына орнатылған, ұшу режиссері қатынасының индикаторы (FDAI) жоғарыда
Бүйірлік тақтаға жылдам сілтеме жасау үшін басып шығарылған Аполлон нұсқаулығы компьютеріндегі етістіктер мен зат есімдердің сандық кодтарының ішінара тізімі

Айдың әр миссиясында қосымша екі компьютер болған:

Дизайн

Жалпақ пакет кремний интегралды микросхемалар Аполлонның жетекші компьютерінде

AGC жасалды MIT аспаптар зертханасы астында Чарльз Старк Дрэйпер басқаратын аппараттық дизайнымен Элдон С. Холл.[2] Ерте сәулеттік жұмыс келген Дж. Кіші кіші, Альберт Хопкинс, Ричард Баттин, Рамон Алонсо,[7][8] және Хью Блэр-Смит.[9]Ұшу аппаратурасы ойлап тапты Рейтон, оның шөп талері[10] сәулетшілер тобында болды.

Пайдалану интегралды схема Ішіндегі (IC) чиптер Планетааралық бақылау платформасы (IMP) 1963 жылы IC технологиясы кейінірек AGC үшін қабылданды.[11] Аполлонның ұшу компьютері алғашқы қолданылған компьютер болды кремний IC чиптері.[12]

Block I нұсқасында 4100 IC пайдаланылған, олардың әрқайсысында жалғыз үш кіріс бар NOR қақпасы, II блоктың кейінгі нұсқасы (экипаждық рейстерде қолданылады) әрқайсысында екі үш кірісті NOR қақпалары бар 2800 IC қолданылған.[2]:34[дәйексөз қажет ] IC, бастап Жартылай өткізгіш қолдану арқылы жүзеге асырылды резистор-транзисторлық логика (RTL) а жалпақ қаптама. Олар арқылы қосылды сым орамасы, содан кейін электр сымдары құймаға енгізілді эпоксид пластик.[дәйексөз қажет ] AGC бойында IC-дің бір түрін (NOR3 қосарланған) пайдалану IC компьютерінің тағы бір ерте дизайнын тудыратын проблемалардан аулақ болды, Минутеман II жетекші компьютер, аралас пайдаланылған диод-транзисторлық логика және диодты логика қақпалар.[дәйексөз қажет ] Бұл мүмкін, өйткені NOR қақпалары бар әмбебап логикалық қақпалар одан кез-келген басқа қақпаны жасауға болады, бірақ көп қақпаларды пайдалану құны бойынша.[13]

Компьютерде 2048 сөз жойылды магниттік-жад және 36 киловорд[түсіндіру қажет ] туралы тек оқу үшін арқанның негізгі жады.[дәйексөз қажет ] Екеуінің де циклінің уақыты 11,72 микросекунд болды.[дәйексөз қажет ] Жадының ұзындығы 16 битті құрады: 15 бит деректер және бір тақ -теңдік биті. The Орталық Есептеуіш Бөлім -ішкі 16 бит сөз форматы 14 бит деректерді құрады, біреуі толып кету бит, және бір белгі биті (толықтыру ұсыну).[дәйексөз қажет ]

DSKY интерфейсі

Apollo компьютерінің DSKY интерфейсі
LM DSKY интерфейс диаграммасы

The пайдаланушы интерфейсі AGC үшін болды DSKY, тұру дисплей және пернетақта және әдетте айтылады «DIS-kee». Онда индикатор шамдарының жиыны, сандық дисплейлер және а калькулятор -стиль пернетақтасы. Командалар екі таңбалы сандар ретінде сандық түрде енгізілді: Етістік, және Зат есім. Етістік орындалатын іс-әрекеттің түрін сипаттады және Зат есім Verb командасы көрсеткен әрекеттің қандай деректерге әсер еткенін көрсетті.

Әр сан жасыл жоғары вольт арқылы көрсетілді электролюминесцентті жеті сегменттік дисплей; оларды электромеханикалық басқарды реле, жаңарту жылдамдығын шектеу. Үш таңбалы үш таңбалы нөмірді де көрсетуге болады сегіздік немесе ондық және әдетте көрсету үшін қолданылған векторлар ғарыш кемесі сияқты қатынас немесе жылдамдықтың қажетті өзгерісі (дельта-V ). Деректер ішкі сақталғанымен метрикалық бірліктер, олар ретінде көрсетілді Америка Құрама Штаттарының әдеттегі бірліктері. Бұл калькулятор стиліндегі интерфейс өзінің алғашқы интерфейсі болды.

Командалық модульде оның AGC-ге қосылған екі DSKY бар: біреуі негізгі аспаптық тақтада, ал екіншісі жабдықтың төменгі бөлігінде орналасқан. секстант туралау үшін қолданылады инерциялық басшылық платформа. Ай модулінде оның AGC үшін жалғыз DSKY болды. A ұшу директорының қатынас индикаторы AGC басқаратын (FDAI) командир консолі мен LM-де DSKY үстінде орналасқан.

Хронометраж

AGC уақытына сілтеме 2.048 МГц жиілігінен келді кристалл сағат. Сағат а-ны шығару үшін екіге бөлінді 1,024 МГц төрт фазалы сағат AGC ішкі операцияларды орындау үшін қолданған. 1.024 МГц жиілігі екіге бөлініп, 512 кГц сигналын шығарды негізгі жиілік; бұл сигнал Аполлонның ғарыш аппараттарының сыртқы жүйелерін синхрондау үшін пайдаланылды.

Негізгі жиілік одан әрі a арқылы бөлінді масштабтаушы, біріншіден, 102,4 кГц сигналын шығару үшін сақиналық есептегішті қолдану арқылы. Одан кейін F1 (51,2 кГц) арқылы F17 (0,78125 Гц) деп аталатын бірінен соң бірі 17-ге дейінгі екі кезеңге бөлінді. F10 сатысы (100 Гц) өсу үшін AGC-ге қайта жіберілді нақты уақыт сағаты және басқа да еріксіз есептегіштер (төменде талқыланған). F17 сатысы AGC-де жұмыс істеп тұрған кезде оны мезгіл-мезгіл іске қосу үшін пайдаланылды қал режимі.

Орталық тіркелімдер

AGC төрт 16 биттік болды тіркеушілер деп аталатын жалпы есептеу үшін орталық тіркелімдер:

A:The аккумулятор, жалпы есептеу үшін
З:The бағдарлама санағышы - келесі орындалатын нұсқаулықтың мекен-жайы
Q:Қалған DV нұсқаулық және қайтару мекен-жайы кейін ТК нұсқаулық
LP:Кейінірек өнім МП нұсқаулық

Сондай-ақ, негізгі жадта 20-23 мекен-жайлары бойынша дубляждалған төрт орын болды орындарды өңдеу өйткені жеті разрядтық интерпретацияның біреуін шығару үшін оң жеті разрядты ауыстырғаннан басқа, сол жерде не сақталса, бір биттік позициямен ауысады немесе айналады. екі сөзге оралған кодтар. Бұл I блок пен II блок AGC-ге тән болды.

Басқа тізілімдер

DSKY және AGC прототиптері Компьютер тарихы мұражайы. AGC өзінің логикалық модульдерін көрсете отырып ашылды.
Block I AGC прототипінің логикалық модулі
Блок II логикалық модулі, жалпақ пакеттегі ИК-мен
AGC қосарланған 3 кірісті NOR қақпасы
AGC қосарлы 3 кірісті NOR қақпасының схемасы

AGC-де жұмыс барысында ішкі қолданылған қосымша регистрлер болды:

S:12-разрядты жад адрестерінің регистрі, жад адресінің төменгі бөлігі
Банк / Fbank:4-разрядты ROM банктік тіркелімі, тіркелген коммутация режимінде жүгінген кезде 1 киловордтық ROM банкін таңдау үшін
Ebank:Жойылатын-ауыспалы режимде мекен-жайы кезінде 256 сөзден тұратын жедел жад банкін таңдау үшін 3-разрядты жедел жад банкінің тіркелімі
Банк (супер банк):Fbank-қа 1-разрядты кеңейту қажет, себебі 36 киловольттық ROM-тың соңғы 4 киловаттына тек Fbank көмегімен қол жетімді болмады
SQ:4-разрядты регистр; ағымдағы нұсқаулық
G:16-разрядты жад буферлік регистрі, жадқа көшетін және одан ауысатын мәліметтер сөздерін ұстауға арналған
X:'X' кірісі қоспа (қоспа бәрін орындау үшін қолданылған 1 қосымша арифметикалық) немесе бағдарлама санауышының өсімі (З тіркелу)
Y:Басқа ('y') қосымшаны енгізу
U:Бұл шынымен де регистр емес, бірақ қосылғыштың нәтижесі (регистрлердің мазмұнын 1-нің толықтыру қосындысы) X және Y)
B:Жалпы мақсаттағы буферлік регистр, келесі команданы алдын ала алу үшін де қолданылады. Келесі нұсқаулықтың басында жоғарғы биттер B (келесі оп. кодты қамтиды) көшірілді SQжәне төменгі биттер (мекен-жай) көшірілді S.
C:Бөлек регистр емес, бірақ 1-нің толықтырушысы B тіркелу
IN:16-биттік төрт регистр
ШЫҚТЫ:16-биттік бес регистр

Нұсқаулық жиынтығы

The нұсқаулық форматы үшін 3 бит қолданылған опкод, және мекен-жайы үшін 12 бит. Менде 11 нұсқаулық болды: ТК, ОКҚ, ИНДЕКС, XCH, CS, TS, AD, және МАСКА (негізгі), және SU, МП, және DV (қосымша). Алғашқы сегіз негізгі нұсқаулар, 3-биттік опция арқылы тікелей қол жеткізілді. код. Соңғы үшеуі ретінде белгіленді экстракод бойынша нұсқаулық өйткені оларға арнайы түрін орындау арқылы қол жеткізілді ТК нұсқаулық (деп аталады ҰЗАРТУ) нұсқаулықтың алдында.

Block I AGC нұсқаулары келесілерден тұрды:

ТК (бақылауды басқару)
Нұсқаулықта көрсетілген мекен-жайға сөзсіз тармақ. Қайтарылатын мекен-жай Q регистрінде автоматты түрде сақталды, сондықтан ТК нұсқаулық ішкі бағдарламалық қоңыраулар үшін пайдаланылуы мүмкін.
ОКҚ (санау, салыстыру және өткізіп жіберу)
Күрделі шартты салалық нұсқаулық. Регистрге нұсқаулықта көрсетілген мекен-жайдан алынған мәліметтер жүктелді. (Өйткені AGC пайдаланады толықтыру белгілеу, нөлдің екі көрінісі бар. Барлық биттер нөлге теңестірілгенде, ол аталады плюс нөл. Егер барлық биттер біреуіне қойылса, онда ол аталады минус нөл.) төмендеген абсолютті мән Содан кейін мәліметтер (DABS) есептеліп, А регистрінде сақталды. Егер сан нөлден үлкен болса, DABS мәні 1-ге кемітеді; егер сан теріс болса, онда ол азайтылғанға дейін толықтырылады - бұл абсолютті мән. Азайтылды «кемітілген, бірақ нөлден төмен емес» дегенді білдіреді. Сондықтан, AGC DABS функциясын орындайтын кезде, оң сандар плюс нөлге қарай бағытталады, ал теріс сандар да болады, бірақ алдымен олардың теріс жақтарын төмендегі төрт жақты скип арқылы анықтаймыз. Соңғы қадам ОКҚ DABS-қа дейінгі А регистріндегі мәліметтерге байланысты төрт бағытты өткізіп жіберу болып табылады. Егер А регистрі 0-ден үлкен болса, ОКҚ кейін бірден бірінші нұсқаулыққа өтеді ОКҚ. Егер А регистрі нөлге тең болса, ОКҚ кейін екінші нұсқаулыққа өтеді ОКҚ. Нөлден аз болса, үшінші нұсқаулыққа көшу керек ОКҚ, және минус нөлден кейін төртінші нұсқаулыққа өтеді ОКҚ. Санаудың негізгі мақсаты оң санауышпен басқарылатын кәдімгі циклдың а аяқталуына мүмкіндік беру болды ОКҚ және а ТК циклдің басына, an-ге тең IBM 360 Келіңіздер BCT. Абсолюттік мән функциясы осы нұсқаулыққа енуге жеткілікті маңызды болып саналды; тек осы мақсатта пайдаланған кезде, кейіннен реттілік ОКҚ болды ТК *+2, ТК *+2, AD БІР. Қызықты жанама әсері оны құру және пайдалану болды ОКҚ- саңылаулар сыналатын мәннің ешқашан оң болмайтындығы белгілі болған кезде, ол мүмкін деп болжағаннан жиі кездеседі. Бұл екі толық сөзді бос қалдырды және арнайы саңылауларға мәліметтер константаларын тағайындауға арнайы комитет жауап берді.
ИНДЕКС
Нұсқаулықта көрсетілген мекен-жай бойынша алынған мәліметтерді келесі нұсқаулыққа қосыңыз. ИНДЕКС индекс мәнін қосу немесе азайту үшін пайдалануға болады негізгі мекен-жай нұсқаулықтың операндында көрсетілген ИНДЕКС. Бұл әдіс массивтерді және кестені қарауды жүзеге асыру үшін қолданылады; қосымшасы екі сөзде де жасалғандықтан, опты өзгерту үшін де қолданылған. келесі нұсқаулықтағы код (экстракод), ал сирек жағдайларда екеуі де бірден жұмыс істейді.
ТҮЙІНДЕМЕ
Ерекше данасы ИНДЕКС (ИНДЕКС 25) Бұл үзілістерден оралу үшін қолданылатын нұсқаулық. Бұл орындалуды үзілген жерде қайта бастауға мәжбүр етеді.
XCH (айырбастау)
Жадының мазмұнын А регистрінің мазмұнымен алмастырыңыз. Егер көрсетілген жадтың мекен-жайы тұрақты (тек оқуға арналған) жадта болса, жад құрамына әсер етпейді және бұл нұсқаулық А регистрін жүктейді, егер ол өшірілетін жадта болса, «түзетуге» 16-ның сол жақ бөлігін сақтау арқылы қол жеткізіледі. жадындағы белгі биті ретінде А-да биттер, бірақ ондай ерекше мінез-құлық жоқ TS.
CS (анық және азайту)
Көрсетілген жад адресі сілтеме жасайтын деректерді толықтыратын А регистрін жүктеңіз.
TS (сақтау орнына жіберу)
А регистрін көрсетілген жад мекен-жайында сақтаңыз. TS анықтайды және түзетеді, толып кетеді тасымалдауды көп дәлдікпен қосу / азайту үшін көбейтетіндей етіп. Егер нәтиже толып кетпесе (сол жақтағы 2 бит бірдей болса), ерекше ештеңе болмайды; егер толып кету болса (сол екі бит ерекшеленеді), сол жақта жад белгісі ретінде жүреді, А регистрі сәйкесінше +1 немесе −1 болып өзгертіледі және басқару келесі секциялардан кейін екінші нұсқаулыққа өтеді. TS. Толып кету мүмкін, бірақ әдеттен тыс оқиға болған кезде TS соңынан а ТК толып кетпеу логикасына; бұл қалыпты мүмкіндік болған кезде (көп дәлдіктегі қосу / азайту сияқты) TS кейін келеді CAF НӨЛ (CAF = XCH тасымалдау құралын (+1, 0 немесе −1) келесі жоғары дәлдіктегі сөзге айналдыруды аяқтау үшін). Бұрыштар сақталды бір дәлдік, арақашықтықтар мен жылдамдықтар қос дәлдік, және үш есе дәлдікпен өткен уақыт.
AD (қосу)
А тіркеу үшін жад мазмұнын қосып, нәтижені А-ға сақтаңыз. А-ның сол жақтағы 2 биті әр түрлі болуы мүмкін (толып кету күйі) дейін және / немесе кейін AD. Толып кету оқиғадан гөрі жай-күй екендігі, екіден артық сан қосқан кездегі шектеулі көлемді кешіреді, егер аралық жиынтықтардың ешқайсысы сөз сыйымдылығынан екі есе артық болмаса.
МАСКА
Біраз дана орындаңыз (буль) және А регистрі бар жад және нәтижені А регистрінде сақтау.
МП (көбейту)
А регистрінің мазмұнын сілтеме жасалған жад мекен-жайындағы мәліметтерге көбейтіңіз және жоғары ретті өнімді А регистрінде, ал төменгі ретті өнімді LP регистрінде сақтаңыз. Өнімнің бөліктері белгіге сәйкес келеді.
DV (бөлу)
А регистрінің мазмұнын берілген жад мекен-жайы бойынша мәліметтерге бөліңіз. А регистрінде бөлікті, ал қалдықтың абсолютті мәнін Q регистрінде сақтаңыз. Қазіргі машиналардан айырмашылығы, тұрақты нүктелер бөлшектер ретінде қарастырылды (шартты ондық нүкте белгі битінен оңға қарай), сондықтан бөлгіш дивидендтен үлкен болмаса қоқыс шығаруға болады; бұл жағдайдан қорғану болмады. AGC блогында екі дәлдіктегі дивиденд A және L-ден басталды (II блок LP), ал дұрыс таңбаланған қалдық L-ге жеткізілді, бұл қос дәлдікті бөлу үшін ішкі программаны едәуір жеңілдетті.
SU (азайту)
А регистрінің мазмұнынан жадтың сілтемесіндегі деректерді алып тастаңыз (біреудің толықтырушысы) және нәтижені А-да сақтаңыз.

Нұсқаулық 12 кезеңнен тұратын топтарда жүзеге асырылды импульстер. Уақыт импульстері TP1 арқылы TP12 деп аталды. 12 уақыт импульсінің әрбір жиынтығы нұсқаулық деп аталды кейінгі. ТК сияқты қарапайым нұсқаулар, 12 импульстің бір тізбегінде орындалды. Неғұрлым күрделі нұсқаулар бірнеше тізбекті қажет етті. Көбейту нұсқаулығы (МП) 8 тізбекті қолданды: бастапқы деп аталады MP0, содан кейін MP1 6 рет қайталанатын, содан кейін MP3 кейінгі Бұл II блоктағы 3 секвенцияға дейін азайтылды.

Төмендегі әрбір уақыт импульсі 5-ке дейін шақыруы мүмкін импульстерді басқару. Басқару импульсі - бұл нұсқаулықтың нақты жұмысын орындайтын сигналдар, мысалы, автобуста регистрдің мазмұнын оқу немесе автобустан регистрге мәліметтер жазу.

Жад

AGC арқанның негізгі жады (ТҰРАҚТЫ ЖАДТАУ ҚҰРЫЛҒЫСЫ)

AGC жады блогы 1 киловордтық банкке ұйымдастырылды. Ең төменгі банк (банк 0) өшірілетін жады (ЖЖҚ) болды. 0-ден жоғары барлық банктер тұрақты жады (ROM) болды. Әрбір AGC нұсқауында 12-биттік мекен-жай өрісі болды. Төменгі биттер (1-10) әр банктің ішіндегі жадқа жүгінді. 11 және 12 биттер банкті таңдады: 00 өшірілетін жад банкін таңдады; 01 тіркелген жадтың ең төменгі банкін (1 банкін) таңдады; 10 келесісін таңдады (2-банк); және 11 таңдалған Банк 2-ден жоғары кез-келген банкті таңдауға болатын регистр. 1 және 2 банктер шақырылды тіркелген жады, өйткені олар банк регистрінің мазмұнына қарамастан әрқашан қол жетімді болды. 3 және одан жоғары банктер шақырылды тұрақты-ауыспалы өйткені таңдалған банк банктің тізілімімен анықталды.

I AGC блогы бастапқыда 12 киловатт тұрақты жадыға ие болды, бірақ кейін ол 24 киловаттқа дейін ұлғайтылды. II блокта 36 киловатт тұрақты жады және 2 киловатт өшірілетін жады болды.

AGC деректерді G регистрі арқылы жадқа және жүйеден. Деп аталатын процесте жіберді есте сақтау циклі. Есте сақтау циклі 12 уақыт импульсін алды (11,72 мкс). Цикл 1 импульстік уақыттан басталды (TP1) AGC жад адресін S регистріне алу үшін жүктеген кезде. Есте сақтау құрылғысы S сөздігінің мекен-жайы бойынша берілген сөзді жадтан шығарып алды. Өшірілетін жадыдағы сөздер G регистріне импульстік уақыт 6 арқылы енгізілді (TP6); 7-ден 10-ға дейінгі импульстар кезінде тіркелген жадтан алынған сөздер уақыттың импульсі арқылы қол жетімді болды. Одан кейін алынған жад сөзі G регистрінде AGC-ке қол жетімділік үшін қол жетімді болды, уақыттың 7-ден 10-ға дейінгі импульстері кезінде, импульстың 10-ынан кейін G регистріндегі мәліметтер жадқа қайта жазылды.

AGC жад циклы AGC жұмысы кезінде үздіксіз жүрді. Жадының деректерін қажет ететін нұсқаулыққа 7-10 импульстар кезінде қол жеткізуге тура келді. Егер AGC G регистріндегі жад сөзін өзгерткен болса, онда өзгертілген сөз уақыттың импульсінен кейін жадқа қайта жазылды. Осылайша, мәліметтер сөздері жадынан G регистріне үздіксіз циклмен, содан кейін қайтадан жадына оралды.

Әрбір есте сақталатын сөздің төменгі 15 битінде AGC нұсқаулары немесе деректері бар, әр сөз 16-шы тақ паритпен қорғалған. Бұл разрядты паритетті генератор тізбегі 1-ге немесе 0-ге орнатқан, сондықтан әр жадтағы 1-ді санау әрдайым тақ сан шығаруы мүмкін. Паритетті тексеру тізбегі паритеттің битін әр жад циклі кезінде тексерді; егер бит күткен мәнге сәйкес келмесе, жад сөзі бүлінген деп есептелді және а паритеттік дабыл панель жарығы жанады.

Үзілістер және еріксіз есептегіштер

AGC бес векторлы болды үзілістер:

  • Үзіліс пайдаланушы дисплейін (DSKY) жаңарту үшін белгілі бір уақыт аралығында іске қосылды.
  • Жарылыс әр түрлі аппараттық ақаулар немесе дабылдар арқылы пайда болды.
  • Keyrupt пернетақтадан пернені басу туралы белгі берді.
  • T3Rrupt AGC-ді жаңарту үшін аппараттық таймерден белгілі бір уақыт аралығында жасалды нақты уақыт сағаты.
  • Көтерілу AGC-ге 16-биттік сілтеме деректері жүктелген сайын жасалды.

AGC әрбір үзіліске ағымдағы бағдарламаны уақытша тоқтата тұру арқылы жауап берді, үзілістерге қызмет көрсетудің қысқа мерзімін орындады, содан кейін үзілген бағдарламаны жалғастырды.

AGC-де 20 еріксіз болды есептегіштер. Бұл жоғары / төмен есептегіштер немесе ауысым регистрлері ретінде жұмыс істейтін жад орны. Есептегіштер ішкі кірістерге жауап ретінде ұлғаяды, азаяды немесе ауысады. Өсім (Шымшу), кему (Ұнтақ) немесе ауысым (Шын) кез-келген екі тұрақты нұсқаулықтың арасына енгізілген микроинструкциялардың бірінен кейін бірі өңделді.

Есептегіштер толып кеткен кезде үзілістер туындауы мүмкін. T3rupt және Dsrupt үзілімдері олардың 100 Гц аппараттық сағаттарымен басқарылатын санауыштары көптеген Pinc секрецияларын орындағаннан кейін асып кеткен кезде пайда болды. Uprupt үзілісі оның есептегішінен кейін пайда болды, Shinc қосымшасын орындай отырып, 16 бит жоғары сілтеме деректерін AGC-ге ауыстырды.

Күту режимі

AGC-де a басқарылатын қуатты үнемдеу режимі болды күту режиміне рұқсат етілген қосқыш. Бұл режим 2,048 МГц сағаты мен масштабтаушыдан басқа AGC қуатын өшірді. Масштабтағы F17 сигналы AGC қуатын және AGC-ді 1,28 секундтық интервалмен қайта қосады. Бұл режимде AGC маңызды функцияларды орындады, күту режиміндегі қосқышты тексеріп, егер ол әлі де қосулы болса, қуатты өшіріп, келесі F17 сигналына дейін ұйқыға кетті.

Күту режимінде AGC көбінесе ұйықтады; сондықтан AGC-тің нақты уақыт сағатын 10 мс аралықпен жаңарту үшін қажет Pinc командасын орындау ояу болған жоқ. Орнын толтыру үшін AGC күту режимінде әр оянған кезде орындайтын функциялардың бірі нақты уақыт сағатын 1,28 секундқа жаңарту болды.

Күту режимі AGC қажет болмаған кезде ортаңғы ұшу кезінде қуатты 5-тен 10 Вт-қа (70 Вт-тан) азайтуға арналған. Алайда іс жүзінде AGC миссияның барлық кезеңдерінде қалдырылды және бұл мүмкіндік ешқашан қолданылмаған.

Ақпараттық автобустар

AGC-де 16 биттік оқу шинасы және 16 биттік жазу шинасы болды. Орталық регистрлердің деректері (A, Q, Z немесе LP) немесе басқа ішкі регистрлер басқару сигналымен оқылған шинаға жіберілуі мүмкін. Оқу шинасы инверсиялық емес буфер арқылы жазу шинасына жалғанған, сондықтан оқылатын шинада пайда болатын кез келген деректер жазу шинасында да пайда болады. Басқа басқару сигналдары жазу шиналарының деректерін регистрлерге қайта көшіре алады.

Мәліметтерді тасымалдау осылай жұмыс істеді: Келесі команданың адресін B регистрінен S регистріне ауыстыру үшін RB (оқылым B) басқару сигналы шығарылды; бұл адрес B регистрінен оқылатын автобусқа, содан кейін жазу автобусына ауысуға себеп болды. WS (жазу S) басқару сигналы адресті жазу шинасынан S регистріне көшірді.

Бірнеше регистрді оқылатын автобуста қатар оқуға болады. Бұл орын алған кезде әр тізілімдегі мәліметтер қоса алынды -НЕМЕСЕавтобусқа жіберілді. Бұл қоса-НЕМЕСЕ функциясы маска нұсқауын орындау үшін пайдаланылды, бұл қисынды болды ЖӘНЕ жұмыс. AGC-де логикалық қабілетті орындау мүмкіндігі болмаған ЖӘНЕ, бірақ қисынды жасай алар еді НЕМЕСЕ автобус арқылы және С регистрі арқылы деректерді толықтыра алады (төңкере алады), Де Морган теоремасы логиканың баламасын жүзеге асыру үшін қолданылды ЖӘНЕ. Бұл екі операнды да инвертациялау, қисынды орындау арқылы жүзеге асты НЕМЕСЕ автобус арқылы, содан кейін нәтижені төңкеру.

Бағдарламалық жасақтама

Маргарет Гамильтон өзі және оның MIT командасы үшін жасаған бағдарламалық жасақтаманың тізімдерінің жанында тұр Аполлон жобасы.[14]

AGC бағдарламалық жасақтамасы AGC-де жазылған құрастыру тілі және сақталған арқан жады. Бағдарламалық жасақтаманың негізгі бөлігі тек оқуға арналған арқан жадында болды, сондықтан оны пайдалану кезінде өзгерту мүмкін болмады,[15] бірақ бағдарламалық жасақтаманың кейбір негізгі бөліктері стандартты оқу-жазуда сақталды магниттік-жад және DSKY интерфейсін қолдана отырып, ғарышкерлер жазуы мүмкін Аполлон 14.

AGC үшін әзірленген жобалау принциптері MIT аспаптар зертханасы, режиссер 1960 жылдардың аяғында Чарльз Дрэйпер үшін негіз болды бағдарламалық жасақтама - әсіресе сенім артқан сенімді жүйелерді жобалау үшін асинхронды бағдарламалық жасақтама, жоспарлаудың басымдығы, тестілеу және циклдегі адам шешім қабылдау мүмкіндігі.[16] AGC жобалау талаптары анықталған кезде, қажетті бағдарламалық жасақтама мен бағдарламалау әдістері болмады, сондықтан оны нөлден бастап жобалау керек болды.

Мұнда қарапайым болды нақты уақыттағы операциялық жүйе жобаланған Дж. Халкомб Ланинг,[17] тұратын Exec, пакеттік жоспарлаудың көмегімен көп мақсатты ынтымақтастық[18] және ан үзу -жүргізуші алдын-ала жоспарлағыш деп аталады Күту тізімі бірнеше таймерге негізделген «тапсырмаларды» жоспарлай алатын. Тапсырмалар Күтушілер тізімінде қайта орындау үшін уақытты ауыстыра алатын немесе Exec-тен «жұмыс» бастау арқылы неғұрлым ұзақ операцияны бастауы мүмкін қысқа орындалу тізбегі болды.

AGC-де сонымен бірге жетілдірілген бағдарламалық аудармашы болды MIT аспаптар зертханасы, бұл жүзеге асырылды виртуалды машина отандық AGC-ге қарағанда күрделі және қабілетті жалған нұсқаулармен. Бұл нұсқаулар навигациялық бағдарламаларды жеңілдеткен. Екі дәлдікке ие интерпретацияланған код тригонометриялық, скалярлық және векторлық арифметика (16 және 24 биттік), тіпті ан MXV (матрица × вектор) нұсқауын жергілікті AGC кодымен араластыруға болады. Псевдо нұсқаулардың орындалу уақыты ұлғайтылған кезде (осы нұсқауларды орындау уақытында түсіндіру қажеттілігіне байланысты) аудармашы AGC жергілікті қолдауына қарағанда әлдеқайда көп нұсқаулар берді және жад талаптары осы нұсқаулықтарды осы нұсқаулыққа қосқаннан гөрі төмен болды. Компьютерде қосымша жады қажет болатын AGC ана тілі (ол кезде жад сыйымдылығы өте қымбат болатын). Орындау үшін орташа жалған нұсқаулық шамамен 24 мс қажет болды. Құрастырушы және нұсқаны басқару жүйесі, аталған ЮЛ ерте прототипі үшін Жаңа жылдық компьютер,[19] жергілікті және интерпретацияланған код арасындағы дұрыс ауысулар орындалды.

Пайдаланушы интерфейсінің үзілістерге негізделген процедураларының жиынтығы Пинбол AGC-де жұмыс жасайтын тапсырмалар мен тапсырмалар үшін пернетақта мен дисплей қызметтерін ұсынды. Операторға (ғарышкерге) әр түрлі есте сақтау орындарының мазмұнын көрсетуге мүмкіндік беретін пайдаланушыларға қол жетімді процедуралардың бай жиынтығы ұсынылды сегіздік немесе бір уақытта 1, 2 немесе 3 регистрлерден тұратын ондықтар. Монитор Оператор белгілі бір жад орындарының мазмұнын мезгіл-мезгіл қайта бейнелейтін тапсырманы бастауы мүмкін болатындай етіп ұсынылды. Жұмыс басталуы мүмкін. Pinball күнделікті жұмысы UNIX қабығының эквивалентін (өте өрескел) орындады.

Көптеген қолданылған траектория мен нұсқаулық алгоритмдері бұрын жасалған жұмыстарға негізделген Ричард Баттин.[17] Бірінші командалық модульдің ұшуын CORONA атты бағдарламалық жасақтама басқарды, оның дамуына Алекс Космала жетекшілік етті. Ай миссияларына арналған бағдарламалық жасақтама командалық модульге арналған COLOSSUS-тан тұрады, оны әзірлеуді Фредерик Мартин басқарды және Джордж Черри басқарған ай модуліндегі LUMINARY. Осы бағдарламалардың егжей-тегжейін басшылық еткен топ жүзеге асырды Маргарет Гамильтон.[20] Гамильтон ғарышкерлердің бағдарламалық жасақтамамен қалай әрекеттесетіндігіне өте қызығушылық танытты және адамның қателігінен болатын қателіктердің түрлерін болжады.[18][20] Барлығы жоба бойынша бағдарламалық жасақтама 1400 құрады адам-жыл 350 адамнан тұратын жұмыс күші бар күш-жігер.[17] 2016 жылы Гамильтон алды Президенттің Бостандық медалі ұшу бағдарламалық жасақтамасын құрудағы рөлі үшін.

Apollo Guidance Computer бағдарламалық жасақтамасы әсер етті Skylab, Ғарыш кемесі және ұшақпен ұшатын әуе шабуыл жасайтын ұшақ жүйелері.[21][22] AGC коды 2003 жылы интернетке жүктелді, ал бағдарламалық жасақтаманың бірін бұрын жүктеді НАСА интерн GitHub 2016 жылғы 7 шілдеде.[23][24][25]

II блок

AGC-нің II блогының нұсқасы 1966 жылы жасалған. Ол I блоктың негізгі архитектурасын сақтап қалды, бірақ өшірілетін жадыны 1-ден 2 киловаттқа дейін арттырды. Тұрақты жады 24-тен 36 киловордқа дейін кеңейтілді. Нұсқаулар 11-ден 34-ке дейін ұлғайтылды және I блоктағы енгізу-шығару регистрлерін ауыстыру үшін енгізу-шығару арналары іске асырылды. II блок нұсқасы - бұл Айға ұшқан нұсқасы. Мен блокты бұрап алу кезінде қолдандым Аполлон 4 және 6 рейстерге ұшырады және тағдырдың бортында болды Аполлон 1.

II блокқа арналған жадыны және нұсқаулықты кеңейту туралы шешім қабылдады, бірақ I блоктың үш биттік шектеуішін сақтап қалды. код пен 12-биттік адрес қызықты дизайн салдарларына әкелді. Қосымша нұсқауларды қысу үшін әр түрлі айла-тәсілдер қолданылды, мысалы, белгілі бір функцияны орындайтын арнайы жад мекенжайлары. Мысалы, ан ИНДЕКС 25 мекен-жайы үшін ТҮЙІНДЕМЕ үзілістен оралу туралы нұсқау. Сияқты, ИНДЕКС 17 орындады ТҰСЫҚ нұсқаулық (үзілістерді тежейді), ал ИНДЕКС 16 оларды қайта қосқан (ЖІБЕРУ). Басқа нұсқаулар олардың арнайы нұсқасымен алдын-ала жүзеге асырылды ТК деп аталады ҰЗАРТУ. Банктік (тіркелген) және Ebank (өшірілетін) регистрлерді қолдану арқылы мекен-жай кеңістігі кеңейтілді, сондықтан кез-келген уақытта жүгінуге болатын кез-келген типтегі жад қазіргі банк болды, сонымен қатар тіркелген жадының аз мөлшері және өшірілетін жады. Сонымен қатар, банктік тіркелім максимум 32 киловаттты шеше алады, сондықтан соңғы 4 киловордқа қол жеткізу үшін Sbank (супер-банк) тізілімі қажет болды. Қайтару кезінде бастапқы банкті қалпына келтіру үшін барлық банкаралық ішкі қоңырауларды тұрақты жадтан арнайы функциялар арқылы бастау керек болды: негізінен алыс көрсеткіштер.

Block II AGC-де де бар EDRUPT нұсқаулық (атауы - келісімшарт Ed's Interrupt, кейін Эд Смалли, оны сұраған бағдарламашы). Бұл нұсқаулық үзіліс тудырмайды, керісінше өңдеуді үзуге тән екі әрекетті орындайды. Бірінші әрекет, одан әрі үзілістерді тежейді (және қажет ТҮЙІНДЕМЕ оларды қайтадан қосу туралы нұсқаулық). Екінші әрекетте ZRUPT регистр бағдарламаның есептегішінің (Z) ағымдағы мәнімен жүктеледі. Ол Apollo бағдарламалық жасақтамасында цифрлық автопилотта DAP циклін тоқтату ретін орнату үшін бір рет қана қолданылған. ай модулі.[26] Бұл LEM AGC-ді эмуляциялауға жауапты деп саналады Люминий бағдарламалық жасақтама.

1202 бағдарлама дабылы

DSKY және Базз Олдрин Аполлон-11 Ай модулінде Бүркіт Айға бару

PGNCS кезінде күтпеген ескертулер тудырды Аполлон 11-нің Айға түсуі, AGC көрсететін а 1202 дабыл («Атқарушы асып кету - НЕГІЗГІ ЖИНАЛМАУ»),[27] содан кейін а 1201 дабыл («Атқарушы асып кету - ВАК-ТЫҢ АУДАНЫ ЖОҚ»).[28][дәйексөз қажет ]) AGC-нің кез-келген дабылға берген жауабы жұмсақ қайта басталды. Мұның себебі жылдам, тұрақты жалған ағым болды цикл ұрлайды Кездесу радиоларынан (орбитадағы командалық модульді бақылау) түсік түсіру кезінде әдейі күту режимінде қалдырылған, егер түсік жасату қажет болса.[29][30]

Тәсілдің осы кезеңінде процессор әдетте 85% жүктелген болар еді. Секундына қосымша 6400 цикл ұрлау 13% жүктемеге балама қосып, барлық жоспарланған тапсырмалардың аяқталуына жеткілікті уақыт қалдырды. Түсуге бес минут қалғанда Базз Олдрин компьютерге команда берді 1668, ол оған DELTAH (радар арқылы сезілетін биіктік пен есептелген биіктік арасындағы айырмашылықты) мезгіл-мезгіл есептеп, көрсетуге нұсқау берді.[nb 1] The 1668 процессордың жүктемесіне тағы 10% қосты, бұл басқарушылықтың асып кетуіне әкелді және а 1202 дабыл. Хьюстоннан «GO» берілген соң, Олдрин кірді 1668 тағы біреуі 1202 дабыл пайда болды. Екінші дабыл туралы хабарлаған кезде Олдрин түсініктеме қосты «Бұл бізде болған кезде пайда болады 1668 AGC бағдарламалық жасақтамасы басымдылықты жоспарлаумен жасалды және автоматты түрде қалпына келтіріліп, төменгі басымдылықтарды қоса, 1668 тапсырманы көрсету, оның сыни басшылығы мен бақылау тапсырмаларын орындау. Нұсқаулық контроллері Стив Бэйлс және оның қолдау тобы Джек Гарман бірнеше «GO» қоңырауларын шығарды және қону сәтті өтті. Оның рөлі үшін Бэйлс АҚШ-ты алды Президенттің Бостандық медалі бүкіл басқару орталығы командасы мен үш «Аполлон» астронавты атынан.[31]

Мәселе AGC-дегі бағдарламалау қателігінде және ұшқыш қателіктерінде болған жоқ. Бұл Apollo 5 инженерлері бұрыннан білген және құжаттаған перифериялық аппараттық дизайндағы қателік.[32] Алайда, проблема тестілеу кезінде бір-ақ рет туындағандықтан, олар жаңа, бірақ негізінен тексерілмеген радиолокациялық жүйемен ұшудан гөрі, қазірдің өзінде сынап көрген қолданыстағы аппараттық құралдармен ұшу қауіпсіз деген қорытындыға келді. Нақты аппаратурада кездесу радиолокаторының позициясы кодталды синхрондар компьютердің уақыт сілтемесі ретінде пайдаланғаннан гөрі 800 Гц айнымалы токтың басқа көзі қоздырады. Екі 800 Гц көздері жиілікте құлыпталды, бірақ фазада бұғатталмады, ал кездейсоқ фазалық ауытқулар антеннаның толық қозғалмайтындығына қарамастан, тез «ауытқып» кеткендей болды. Бұл елес қозғалыстар циклдің ұрлануының жылдам сериясын тудырды.

Дж. Халкомб Ланинг Бағдарламалық жасақтама және компьютерлік дизайн Apollo 11 қону миссиясын сақтап қалды. Егер Laning-тің дизайны болмағанда, тұрақты бағыттаушы компьютер болмағандықтан қону тоқтатылатын еді.[33][34]

Аполлоннан тыс қолданбалар

Fly By Wire сынақ алаңы. AGC DSKY авионика шығанағында көрінеді

AGC эксперименттің негізін құрады сыммен ұшу (FBW) жүйеге орнатылған F-8 крест жорығы компьютермен басқарылатын FBW-дің практикалық жақтарын көрсету. Бағдарламаның бірінші кезеңінде қолданылған AGC екінші сатысында басқа машинамен ауыстырылды, ал бағдарлама бойынша жүргізілген зерттеулер ұшуға арналған сым жүйелерін жасауға әкелді Ғарыш кемесі. AGC сонымен қатар жанама түрде болса да, сол кезде дамып келе жатқан истребительдер генерациясы үшін зым-зым арқылы жүйелердің дамуына әкелді.[35]

AGC сонымен бірге пайдаланылды Америка Құрама Штаттарының Әскери-теңіз күштері Келіңіздер Терең су астында құтқару құралы.[36]

Сондай-ақ қараңыз

Ескертулер

  1. ^ Нақтырақ айтқанда, 16 етістік AGC-ге баспа нұсқасын басып шығаруды тапсырады зат есім (бұл жағдайда, 68, ДЕЛТАХ) секундына шамамен екі рет. Олдрин бұны білген бе, қарапайым 0668 (DELTAH-ді есептеу және көрсету, бір рет) жүйеге шамамен 5% жүктеме қосып, ENTER пернесін басқан кезде бір рет жасаған болар еді.

Әдебиеттер тізімі

  1. ^ Бағдарламашының нұсқаулығы, Block 2 AGC құрастыру тілі, алынды 2018-08-27
  2. ^ а б c Холл, Элдон С. (1996), Айға саяхат: Аполлонға басшылық беретін компьютердің тарихы, Рестон, Вирджиния, АҚШ: AIAA, б. 196, ISBN  1-56347-185-X
  3. ^ https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20090016290_2009014409.pdf Аполлонға басшылық, навигация және басқару аппаратурасына шолу
  4. ^ https://history.nasa.gov/computers/Ch2-5.html
  5. ^ «Аполлонның ұшу компьютерлері ерлерді айға және артқа қалай шығарды?».
  6. ^ Агл, Колумбия округі (қыркүйек 1998). «Гусмобильге ұшу». Ауа және ғарыш. Алынған 2018-12-15.
  7. ^ «Рамон Алонсоның кіріспесі», AGC тарихы жобасы (Caltech мұрағаты, түпнұсқа сайт жабық), MIT, 2001 жылғы 27 шілде, алынды 2009-08-30
  8. ^ «Рамон Алонсоның сұхбаты (испан)», Рамон Алонсо, Аргентина, Аполлон 11-де, Лунада, Diario La Nacion, 7 наурыз, 2010 жыл
  9. ^ «Хью Блэр-Смиттің өмірбаяны», AGC тарихы жобасы (Caltech мұрағаты, түпнұсқа сайт жабық), MIT, қаңтар 2002 ж, алынды 2009-08-30
  10. ^ «Шөп талерімен таныстыру», AGC тарихы жобасы (Caltech мұрағаты, түпнұсқа сайт жабық), MIT, 14 қыркүйек 2001 ж, алынды 2009-08-30
  11. ^ Butrica, Эндрю Дж. (2015). «3 тарау: НАСА-ның интегралды микросхемалар өндірісіндегі рөлі». Дикте, Стивен Дж. (Ред.) Historical Studies in the Societal Impact of Spaceflight (PDF). НАСА. pp. 149–250. ISBN  978-1-62683-027-1.
  12. ^ «Аполлонға басшылық беретін компьютер және алғашқы кремний чиптері». Ұлттық әуе-ғарыш музейі. Смитсон институты. 14 қазан 2015 ж. Алынған 1 қыркүйек 2019.
  13. ^ Peirce, C. S. (manuscript winter of 1880–81), "A Boolian Algebra with One Constant", published 1933 in Жиналған құжаттар v. 4, paragraphs 12–20. 1989 жылы қайта басылды Чарльз С.Пирстің жазбалары v. 4, pp. 218–21, Google [1]. See Roberts, Don D. (2009), The Existential Graphs of Charles S. Peirce, б. 131.
  14. ^ Weinstock, Maia (2016-08-17). "Scene at MIT: Margaret Hamilton's Apollo code". MIT жаңалықтары. Алынған 2016-08-17.
  15. ^ Mindell 2008, 154, 157 беттер.
  16. ^ NASA пресс-релизі "NASA Honors Apollo Engineer" (September 03, 2003)
  17. ^ а б c Hoag, David (September 1976). "The History of Apollo On-board Guidance, Navigation, and Control" (PDF). Charles Stark Draper Laboratory.
  18. ^ а б Mindell 2008, б. 149.
  19. ^ "Hugh Blair-Smith's Introduction", AGC History Project (Caltech archive, original site closed), MIT, 30 November 2001, алынды 2010-03-21
  20. ^ а б Harvey IV, Harry Gould (13 October 2015). "Her Code Got Humans on the Moon—And Invented Software Itself". Сымды. Алынған 2018-11-25.
  21. ^ NASA Office of Logic Design "About Margaret Hamilton" (Last Revised: February 03, 2010)
  22. ^ Авторы A.J.S. Рэйл "NASA Engineers and Scientists-Transforming Dreams Into Reality"
  23. ^ Collins, Keith. "The code that took America to the moon was just published to GitHub, and it's like a 1960s time capsule". Кварц. Алынған 19 тамыз 2016.
  24. ^ Гарри, Крис. "Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules". GitHub. Алынған 19 тамыз 2016.
  25. ^ "Earlier (7 April 2015), more complete upload on Github, maintained by iBiblio". Алынған 24 қараша 2017.
  26. ^ O'Brien, Frank (2010-06-25). The Apollo Guidance Computer: Architecture and Operation. Springer Science & Business Media. ISBN  978-1-4419-0877-3.
  27. ^ Коллинз, Майкл; Aldrin, Edwin (1975), Cortright, Edgar M. (ed.), "A Yellow Caution Light", NASA SP-350, Apollo Expeditions to the Moon, Washington, DC: NASA, pp. Chapter 11.4, ISBN  978-0486471754, алынды 2009-08-30
  28. ^ "chrislgarry/Apollo-11". GitHub. Алынған 2016-07-17.
  29. ^ Adler, Peter (1998), Jones, Eric M. (ed.), "Apollo 11 Program Alarms", Apollo 11 Lunar Surface Journal, NASA, алынды 2009-09-01
  30. ^ Martin, Fred H. (July 1994), Jones, Eric M. (ed.), "Apollo 11 : 25 Years Later", Apollo 11 Lunar Surface Journal, NASA, алынды 2009-09-01
  31. ^ Cortright, Edgar M., ed. (1975), "The Lunar Module Computer", Apollo 11 Lunar Surface Journal, NASA, алынды 2010-02-04
  32. ^ Eyles, Don (February 6, 2004), "Tales From The Lunar Module Guidance Computer", 27-ші жыл сайынғы нұсқаулық және бақылау конференциясы, Breckenridge, Colorado: American Astronautical Society
  33. ^ Ай модулін басқаратын компьютер туралы ертегілер
  34. ^ Witt, Stephen (June 24, 2019). "Apollo 11: Mission Out of Control". Сымды. San Francisco: Condé Nast Publications. Алынған 18 қыркүйек, 2019.
  35. ^ Tomayko, James E. (2000), "NASA SP-2000-4224 — Computers Take Flight: A History of NASA's Pioneering Digital Fly-By-Wire Project" (PDF), The NASA History Series, Washington, D.C.: NASA, алынды 2009-09-01
  36. ^ Craven, John Pina (2002). The Silent War: The Cold War Battle Beneath the Sea. Нью-Йорк: Саймон мен Шустер. б.120. ISBN  0-684-87213-7.

Дереккөздер

Сыртқы сілтемелер

Documentation on the AGC and its development
Documentation of AGC hardware design, and particularly the use of the new integrated circuits in place of transistors
Documentation of AGC software operation
  • Delco Electronics, Apollo 15 - Manual for CSM and LEM AGC software used on the Apollo 15 mission, including detailed user interface procedures, explanation of many underlying algorithms and limited hardware information. Note that this document has over 500 pages and is over 150 megabytes in size.
  • Stengel, R., Ай модулін қолмен басқару, J. Ғарыштық аппараттар және ракеталар, т. 7, No. 8, August 1970, pp. 941–948.
  • Бастапқы код for Command Module code (Comanche054) and Lunar Module code (Luminary099) as text.
  • GitHub Complete Source Code Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.
Some AGC-based projects and simulators

Feature Stories