171187. lajstromszámú szabadalom • Févezető LSI egységekkel megvalósított elektronikus számológép letapogatott billentyűzettel és kijelzővel
5 171187 6 ra shiftet. Jobbra shiftet úgy lehet előállítani, hogy X- és Y-bushoz csatlakoztatjuk logikai 50 VAGY-kapu 51 és 52 bemeneteit. A balra és jobbra shiftelt 53, ill. 54 bemenetek a 47 S-busra kerülnek, amelynek 55 kimenete a 30—33 regiszterek 56, 57, 58, ill. 59 szelektor kapuáramköreire van kapcsolva. Az 56—59 szelektor kapuáramkörök további bemenetei tartalmazzák mindegyik regiszter recirkulációs útjait; a recirkulációs utakba beiktattunk egy-egy egy-bit, vagy egy állapotidejű 60 késleltetőt mindegyik regiszter számára. A későbbiekben látni fogjuk, hogy a 30—33 regiszterek a recirkuláció során nem a shift regiszterek hagyományos módján shiftelnek, hanem e helyett a szekvenciálisan címzett memória (SAM) egyik rekeszéből egy bitet kiveszünk, majd azt ugyanabba a rekeszbe visszatesszük. Hasonlóan, a kimenet nem csak a regiszter egyik végén van, ahogy az a 3. ábrán látszik, hanem mindkét végén. Recirkuláció és bitcsere történik az egyik végén, míg ALU műveletek és shiftelés a másikon. Az 56—59 szelektor kapuáramkörök ezek szerint valójában sok-sok kaput tartalmaznak. A 30 és 31 regiszterek tartalma felcserélhető, úgyszintén felcserélhető a 32 és 33 regiszterek tartalma is. Ezt megvalósítandó, a 30 regiszter késleltetett kimenete 61 vonalon keresztül kapcsolódik az 57 szelektor kapuáramkörre, a 31 regiszter kimenete 62 vonalon keresztül kapcsolódik az 56 szelektor kapuáramkörre. Hasonló keresztkapcsolatok vannak 63 és 64 vonalakon át a 32 és 33 regiszter között. A 34 és 35 jelzőregiszterek (FLGA és FLGB) mindegyike tizenhat bites bináris regiszter; ezek szintén a szekvenciálisan címzett memória egységben helyezkednek el. A jelzőbitek egy bites bináris értékek, ezeket a ROM program használja fel állapot információ tárolására, amit egy későbbi időpontban lehet megvizsgálni vagy megváltoztatni. Tipikus jelzőbitek: mínusz előjel, hiba, túlcsordulás stb. A 0—15 címeken érhetők el a jelzőbitek. A 34 és 35 jelzőregiszterekben tárolt B jelzőbiteket, amelyek azonos címűek, fel lehet cserélni, ezt a tényt 70 összeköttetés jelzi a 3. ábrán. Egy 71 jelzőbit logikai lehetővé teszi 72 és 73 utakon a jelzőbitek recirkulációját, valamint biztosítja, hogy 74 vonalon keresztül információ jusson be a 34 és 35 jelzőregiszterekbe a 36 regiszterből. A 34 és 35 jelzőregiszterekből ezenkívül információ kerülhet a 36 regiszterbe a 71 jelzőbit logikán, 75 összeköttetésen, valamint a 36 regiszter bemenetére kötött 76 szelektor kapuáramkörön keresztül. A 76 szelektor kapuáramkör további bemeneteit a 77 összeköttetés a 24 ALU T regiszterének 46 kimenetéről, a billentyűzetről jövő kódolt K—D bemenetet adó 78 vonal, valamint a digitidőt szolgáltató 79 vonal alkotja. A 36 regiszter 80 úton szintén recirkuláltatható. A 20 ROM-ban tárolt valamennyi utasításszó, amik kiolvasva a 21 utasítás regiszterbe kerülnek, tizenhárom I0—I 12 bitet tartalmaz. Ha az utasításszó műveletet specifikál, a legbaloldalibb I12 bit mindig 1 lesz, ha a szó ugrást specifikál, az I12 bit mindig 0. A műveletek és az ugrások formátuma különböző, és a 4A ábrán látható. A műveletek formátuma magában foglal egy hárombites 2 mezőt, I0—1 2 bitek; egy négybites R mezőt, I3 —1 6 bitek; egy SUB bitet (kivonás, I7 bit; egy négybites M mezőt (maszk), I8 —I ü bitek; és egy művelet/ugrás jelző I12 bitet. Az ugrás formátuma magában foglal egy tizenegy bites cím mezőt, I0 —1 10 bitek (két bit a ROM egység kiválasztása és kilenc bit valamely ROM cím); egy egy-bites feltételi ln bitet; és egy egybites művelet/ugrás jelző Ii2 bitet: A 4B ábra táblázata foglalja össze S, Rés M mező valamennyi lehetséges értéke esetén az eme mezők által képezett bináris szavakat; így pl. M5-nek 0101, M15-nek pedig 1111 bináris érték 5 felel meg. Ha I12 bit nulla, az utasításszó ugrást specifikál. Az utasítás feltételes, 1,! bit értékétől függően hajtódik végre. Ha In bit nulla, ugrás következik akkor, ha COND értéke nulla; ha In bit egy, ugrás akkor követke-10 zik be, ha COND értéke egy. Az I0 —1 10 biteket tartalmazó cím mező tartalmazza azt a ROM rekeszt vagy címet, ami a 25 program számlálóba kerül, ha ugrás történik. Egy ugrás a COND értéket egyre állítja, ha a következő végrehajtandó utasítás nem ugró utasítás. 15 Ha I,2 bit egy, az utasításszó műveletet specifikál. Az aritmetikai és shift utasításokat az M mező MO—• M12 értékeivel definiáljuk, vagyis bináris 0000 és 1100 közötti érték jelenik meg Ma—M d biteken, amint az a 4B ábrából következik. Ezek az M0—M12 értékek ti-20 zenhárom digit maszkot definiálnak, amint azt a leírás végén található I. táblázat mutatja, ahol a maszkokat S0—SÍ5 állapotidőkkel írjuk le, amely állapotidőket később magyarázzuk meg. A 3. ábrán a 43 bemeneten megjelenő N állandó generálása a digit maszkkal együtt 25 bizonyos állapotidőben történik. A 24 ALU bemenetei és működése az R mezőben és a SUB bittel vannak specifikálva. A 30—33 regiszterek bemeneti útjait, azaz az 56—59 szelektor kapuáramköröket a 2 mező specifikálja. A 24 ALU X és Y bemeneteit és a végrehajtott 30 műveletet az R mező különféle értékei esetén a leírás végén levő II. táblázat tartalmazza. Az ugyancsak a leírás végén levő III. táblázat mutatja a 2 mezők különféle értékei esetén végrehajtott műveleteket. Amint látható, a hardware, vagyis a 22 vezérlő logika, az utasítás-35 szó előre meghatározott nulla és egy kombinációinak megfelelő összeköttetéseket hoz létre a számológépben, és végrehajtja a szükséges műveleteket. Az egész rendszer két külső 01 és 02 és két belső Pl és P2 órajel hatására működik, amint azt az 5A ábrán lát-40 hatjuk. 01 és 02 órajel frekvenciája 250 kHz. Az óragenerátorok hagyományos felépítésűek, itt nem foglalkozunk velük. Az óraimpulzusok egy 01, Pl, 02, P2 sorozatára S állapotidőként hivatkozunk, ez jelzi azt az időt, amíg 45 valamennyi 30—33 regiszter egy-egy bitjén a 24 ALU párhuzamosan műveletet végez. A találmányban alkalmazott BCD aritmetika valamennyi digit számára teljes óraimpulzus sorozatot igényel, így tizenhat sorozat, vagyis tizenhat S állapotidő szükséges ahhoz, hogy egy 50 regiszter mind a tizenhat bitjén elvégződjék valamely művelet. Tizenhat S állapotidő képezi egy digit D idejét, vagyis egy utasítás ciklust, amint azt az 5B ábrán láthatjuk. A 23 regiszterek saját címvonalai csak a három 01, 55 Pl és 02 órajelre kapnak gerjesztést, és nem négy órajelre; ezen három órajel által meghatározott időintervallumokat szintén S0—SÍ5 állapotidőnek nevezzük (lásd az 5A ábrát). A találmány egyik jellemzője az, hogy ugyanazon S állapotidőben működtetjük a szekvenciá-60 lisan címzett memória 23 regisztereinek címvonalait, és működtetjük vagy időzítjük a rendszer további részét. A D időket közvetlenül az S0—S15 állapotidőkből állítjuk elő, és ezeket használjuk a billentyűzet és a kijelző letapogatására. Ahogy az 5B ábrán láthatjuk, a D 65 idők lefelé számlálnak (D15, D14, D13 Dl), mialatt 3