Egy első generációs számítógép
Itt bemutatjuk a korábban már említett IAS számítógép logikai felépítését és programozását. Ezt jellemzőnek tekinthetjük az első generációs gépekre.
Az információ tárolási formája
A gép 40 bites szavakat használt, a memóriája 4096 szó kapacitású volt. Bármelyik memóriacímen lévő információ
lehetett utasítás vagy adat.Az adatok bináris fixpontos alakban voltak. A szó első bitje volt az előjel, a második a 2
-1 helyiérték, aztán a 2-2, és így tovább, tehát -1 és 1 közötti számokat tudtak ábrázolni. A negatív számokat kettes komplemens formában tárolták.Az utasítások 20 bit hosszúak voltak, ezért egy szóban két utasítást tároltak. Ez — mint látni fogjuk — némileg megbonyolította a processzor munkáját. Az utasítások első 8 bitje volt a végrehajtandó művelet kódja, a jobb oldali 12 bit pedig az operandusz címe. Ez éppen elég volt a 4096 szó megcímzéséhez, tehát minden cím közvetlen fizikai tárcím volt.
A CPU felépítése
Az adatok feldolgozását az aritmetikai-logikai áramkörök végezték. A vezérlő áramkörök dekódolták az utasításokat, vezérelték az információ haladását a rendszeren keresztül és gondoskodtak a tevékenységek időzítéséről. Egy óra szinkronizálta a rendszer működését.
A processzor több regisztert tartalmazott. Az adatregiszter (DR, data register) 40 bites volt. Egyszerre egy egész szót tudott fogadni a memóriából vagy oda elküldeni. A műveletek végrehajtása közben a DR tartalmazta az egyik operanduszt. Ugyanezen a regiszteren keresztül történt a perifériákra való adatküldés vagy az onnan való adatfogadás. Ez azt jelenti, hogy ha egy memóriában tárolt szót ki akartak iratni valamelyik perifériára, akkor azt egy utasítással beolvasták a DR-be, majd egy másik utasítással innen kiiratták.
A DR és a memória közötti adatátvitelnél a memóriacímet a 12 bites címregiszter (AR, address register) tartalmazta.
Műveletvégzésnél az operanduszok és az eredmény átmeneti tárolására szolgált az akkumulátor (AC, accumulator) és a szorzó-hányados regiszter (MQ, multiplier-qoutient).
Miután a memóriában egy szóban két utasítást tároltak, a memóriából való olvasásnál egyszerre két utasítás került a processzorba. Amelyiket éppen nem kellett végrehajtani, azt félretették az utasításpuffer regiszterbe (IBR, instruction buffer register).
A végrehajtandó utasítás kód részét az utasításregiszterbe (IR, instruction register) tették, innen dekódolta a processzor. Az utasítás címrésze az említett AR címregiszterbe került.
Volt a gépnek még egy címregisztere, ami a következő utasítás címét tartalmazta. Ez volt az utasításcím regiszter vagy más néven a programszámláló (PC, program counter). Ha nem vezérlésátadó utasítást hajtott végre a gép, akkor a PC tartalmát minden utasítás után 1-gyel megnövelte, tehát alapvetően egymás utáni memóriacímeken lévő utasításokat hajtott végre a gép.
A gép utasításkészlete
Adatátviteli utasítások:
Feltétlen vezérlésátadás:
Feltételes vezérlésátadás:
Aritmetikai:
Cím-módosító:
Input-output:
A cím-módosító utasítás kiválóan alkalmas pl. vektorokkal végzendő műveletekhez: a cím módosításával ugyanazt az utasítást lehetett végrehajtatni ciklusban más-más operanduszokkal. Ez a megoldás persze azzal jár, hogy a program maga megváltozik a futás során, így ha újra le kell futtatni, akkor újra az eredeti formáját kell a memóriába tölteni, a program nem újraindítható (nem reentrant).
Nincs a gépnek viszont olyan utasítása, ami alkalmas volna szubrutin-hívásra. Nincsenek lebegőpontos utasítások sem.