AGC: paměť a datová struktura, časování, uživatelské rozhraní
Kapitoly článků
Paměť počítače o velikosti 2kiloslov (přesněji kibislov alias 2 048 slov) byla realizována magnetickým jádrem a spolu s ROM implementována jako core-rope paměť (ferritová jádra pracují jako transformátorky, (ne)nabíjející jednotlivá ferritová jádra podle toho, jestli mají nést 0 nebo 1) o celkové velikosti 36 kibislov (kibiwords). Jedno slovo mělo délku 16 bitů, celkově tedy bylo dostupných 32 kbitů paměti RAM, přesněji 30 kbitů, protože jeden bit byl paritní, 15 pro data. Interní formát CPU však byl 14 bitů data, 1 bit overflow a 1 bit parita. Jeden cyklus této paměti trval 11,72 µs
Paměť AGC byla organizována do 1kibislovových bank. Nejnižší (bank 0) byla RAM, všehchny nad ní ROM. Každá AGC instrukce měla 12bitové adresní pole. Nižší bity (1-10) adresovaly paměť uvnitř každé banky, bity 11 a 12 vybíraly banku: 00 volila mazatelnou RAM, 01 nejnižší ROM banku, 10 další v pořadí a 11 volila bankový registr, který mohl volit libovolnou banku nad bankou 2. Banky 1 a 2 se nazývaly fixní-fixní, protože byly vždy k dispozici nezávisle na obsahu bankového registru. Banky 3 a vyšší byly fixní-přepínatelné, protože zvolená banka byla vybírána bankovým registrem.
První Block I verze AGC měla 12kibislov fixní paměti, později rozšířené na 24. Následná Block II verze již nesla 32kibislov fixní pamětí a 4kibislova mazatelné paměti.
Odskočme si krátce k registrům (popsány na další straně): AGC přesouvala data z a do paměti skrze G registr (viz další strana) v procesu zvaném "paměťový cyklus". Ten trval 12 časovacích pulsů (11,72 µs), začínal časovacím pulsem 1 (TP1), když AGC načetl adresu paměti plněnou uloženou v registru S. Převzal data z paměti na dané adrese, slova z mazatelné paměti byla uložena do G registru časovacím pulsem 6 (TP6); slova z fixní paměti byla k dispozici při pulsu 7 (TP7). Obdržené paměťové slovo bylo poté k dispozici v G registru pro přístup AGC během pulsů 7 až 10. Po 10. pulsu byla data z G registru zapsána zpět do paměti.
Paměťový cyklus probíhal během standardní činnosti AGC. Instrukce požadující paměťová data k nim měly přístup během pulsů 7 až 10. Pokud AGC změnil paměťové slovo v G registru, bylo slovo, jak již zaznělo, do tohoto registru navráceno po 10. pulsu. Touto cestou datová slova cyklovala neustále z paměti do G registru a zpět.
Nižších 15 bitů každého paměťového slova uchovávalo AGC instrukce nebo data. Každé slovo chránila paritní kontrola zmiňovaným 16. bitem (jednobitová parita samozřejmě neuměla vychytat vícenásobné chyby, ale výrazně zvyšovala bezpečnost běhu AGC alespoň detekcí jednoduchých poruch). Bit byl nastaven na 1, nebo 0 obvodem generátoru parity, takže při každém pohybu dat bylo možné vždy získávat při kontrole parity liché číslo. Obvod pro kontrolu parity ji testoval během každého paměťového cyklu. Pokud bit nesouhlasil s očekávanou hodnotou, bylo paměťové slovo považováno za poškozené a na panelu obsluhy se rozsvítil alarm.
Časování
AGC byl řízen 2,048MHz krystalovými hodinami, frekvence se dělila na dvě poloviny, které AGC používal pro interní operace. 1,024MHz frekvence se dále dělila na 512kHz signály označované jako hlavní frekvence AGC, která se používala k synchronizaci externích systémů Apolla.
Tato hlavní frekvence byla dále dělena skrze škálovač, nejprve prstencovým čítačem na pětinu (102,4 kHz). Tento se dále dělil dvěma skrze až 17 kroků na frekvence od 51,2 (F1) po 0,78125 kHz (F17). Frekvence F10 (100 Hz) se vracela zpět do srdce AGC, kde byla využívána k inkrementaci hodin reálného času a pro další čítače. F17 se používala pro AGC běžící ve stand-by režimu.
Uživatelské rozhraní Dsky
Dsky alias display and keyboard alias dis-key byl jediný kontakt astronautů s počítačem. Měli k dispozici pole numerických displejů tvořených zelenými vysokonapěťovými sedmisegmentovkami a klávesnici ve stylu kalkulátorů. Segmenty displeje řídila elektromechanická relátka, která limitovala obnovování displeje (pozdější verze využívala křemíkové proudové směrovače). Příkazy se zadávaly numericky jako dvojmístné číslo pro hodnoty Program, Verb a Noun.
Tři pětimístná signed čísla mohla být zobrazena v osmičkové a decimální soustavě. Typicky se displej používal k zobrazování vektorů letu, tedy polohy lodi, požadované změny zrychlení (delta-V) atd.
Velitelský modul měl dvě rozhraní Dsky. Jedno na hlavním přístrojovém panelu a druhé ve spodní části v úložišti vybavení poblíž sextantu. Obě rozhraní ovládala onen jeden přítomný AGC. U jednoho z nich se nacházel Flight Director Attitude Indicator kontrolovaný AGC, stejný byl i v lunárním modulu.