172162. lajstromszámú szabadalom • Digitális kisszámítógép az utsítástároló regiszter tartalmának dinamikus módosítására
7 172162 8 matât pedig a 19 feltételtároló és a 18 bemeneti kombinációs hálózat alkotja. f A 17 szekvenciatároló az utasításokat végrehajtó vezérlési szekvenciákat leíró gráf szögpontjainak megfelelő vezérlési állapotokat valósítja meg. A 17 szekvenciatárolót a 16 bemeneti kombinációs hálózat vezérli, mely a bemenő feltételektől függően mindenkor előírja a 17 szekvenciatároló következő állapotát, tehát megvalósítja az utasításokat végrehajtó szekvenciák gráféleinek megfelelő átmeneteket. A fennálló fő vezérlő állapotot a 17 szekvenciatároló n kimeneti vezetékkötegén megjelenő jelkombináció jellemzi. A 25 kimeneti kombinációs hálózat ezen jelkombináció és egyéb bemeneő feltételek figyelembevételével határozza meg a 10 aritmetikai egység vezérlését. A vezérlő szekvenciát leíró gráf éleit, vagyis a 17 szekvenciatároló mindenkor soronkövetkező állapotát a 16 bemeneti kombinációs hálózat egyrészt a 17 szekvenciatárolónak az n kimeneti vezetékkötegen megjelenő és fennálló tartalma, másrészt a 22 utasítástároló regiszterben tárolt, az u utasítás kimeneteken megjelenő utasításkód szerint határozza meg, esetenként figyelembe véve még egyéb feltételeket is. Ilyen feltétel lehet : a 12 regisztercsoportból a j jelző vezetékkötegen érkező valamely regiszter tartalmára vonatkozó jelzés (zérus érték, előjel, számláló túlfolyás, eltoláskor [shifteléskor] kilépő érték stb.) továbbá a 15 műveletvégző egységből a k jelző vezetékkötegen érkező, a művelet eredményére vonatkozó jelzés (zérus érték, előjel, aritmetikai túlfolyás, átvitel, párosság stb.), azonkívül az 1. ábrán látható 3 ki-bemeneti vezérlő egységből az m jelző kimeneteken érkező, a folyamatban levő ki-bemeneti adatátvitellel kapcsolatos jelzés, és feladatánál fogva feltételként szolgálhat a 19 feltételtároló bármely tároló elemében rögzített érték. A 19 feltételtárolóból és 18 bemeneti kombinációs hálózatból alkotott feltételautomata a 17 szekvenciatárolónak az n kimeneti vezetékkötegen megjelenő tartalmával a 22 utasítástároló regiszter u utasítás kimeneteken megjelenő tartalmától függően vezérelve tárolja és kezeli a 10 aritmetikai egységből érkező és/vagy a vezérlő szekvenciákat befolyásoló egyéb feltételeket. Az utasításrendszerben, a külső tároló rendszertől és az állapot szekvenciák tényleges kialakításától függően tárolandó feltétel rendkívül sokféle lehet. A 19 feltételtároló például tartalmazza a processzor-mód (pl. „TRACE-MODE”, „SUPERVISOR-MODE”, címkiterjesztési mód stb.) tárolóelemeit, a programmegszakítást engedélyező tároló elemeket, a művelet eredményére vonatkozó ún. „FELTÉTEL” (ZÉRÓ, MÍNUSZ, TÚLFOLYÁS, ÁTVITEL stb.) tároló elemeket, a „FUT” és „VÁR” állapottároló elemeket, a vezérlő szekvenciák során végzett aritmetikai műveletek eredményére vagy magára a vezérlő szekvenciára vonatkozó speciális vezérlésmódosító feltételek tárolóelemeit, a handware- és software-hibákat jelző regisztereket stb. A 10 aritmetikai egységet és a 3 ki-bemeneti \ vezérlő egységet közvetlenül a vezérlő automata és feltételautomata közös 25 kimeneti kombinációs hálózata vezérli, melynek kimeneteit a 10 aritmetikai egység vezérlő bemenetéivel az f, g, h és i vezérlő vezetékköteg, a 3 ki-bemeneti vezérlő egységgel pedig az 1 vezérlő kimenetek kötik össze. A vezérléseket ezen vezetékkötegek, illetve kimenetek jelkombinációi hozzák létre. A szükséges vezérlő jelkombinációkat a 25 kimeneti kombinációs hálózat, elsősorban a 19 feltételtároló 0 kimeneti vezetékkötegén és a 22 utasítástároló regiszter u utasítás kimenetein megjelenő tartalma szerint állítja elő, esetenként figyelembe véve a 19 feltételtároló 0 kimeneti vezetékkötegen megjelenő feltétel-állapotot és a 10 aritmetikai egységből a j és k jelző vezetékkötegen megjelenő aritmetikai feltételeket is. A számítógépek 2. ábrán bemutatott, általánosan alkalmazott felépítésű 20 utasításvégrehajtóvezérlő egysége a program utasításait a következő módon hajtja végre: Az első lépésben megtörténik a végrehajtandó utasítás kiolvasása a tárolóból. A kiolvasást az 1 vezérlő kimeneteken megjelenő jelkombináció hatására a 3 ki-bemeneti vezérlő egység vezérli, a tárolónak arról a címéről, amit a 12 regisztercsoportban levő utasításszámláló regiszter (Program-Counter) meghatároz. A kiolvasott utasítás kódja az ugyancsak a 3 ki-bemeneti vezérlő egységből a d mintavevő kimeneten érkező jel hatására beíródik a 22 utasítástároló regiszterbe és ettől kezdve a 22 utasítástároló regiszter az utasítás végrehajtása során változatlanul őrzi a végrehajtandó utasítás kódját. Az utasítás végrehajtása a 3 ki-bemeneti vezérlő egység m jelző kimenetein megjelenő, az utasítás kiolvasásának megtörténtét jelző jelkombináció hatására indul meg. A végrehajtás során a 17 szekvenciatároló tartalma a 22 utasítástároló regiszterben levő utasításkódtól függő speciális állapotsort megvalósítva ütemesen változik. A 17 szekvenciatároló tárolóelem-számának csökkentése és az egész utasításvégrehajto rendszer minimalizálása céljából többféle utasítás végrehajtása legalább részben közös szekvenciaállapotokban történik. Példaképpen megemlítjük a tároló referenciás utasítások címzési előírásainak végrehajtó szekvenciáját, melyet az utasítástól független közös vezérlő állapotokban célszerű megvalósítani, de ugyanígy közös vezérlő állapotokban valósítják meg az egymáshoz hasonló utasítások, pl. többféle szorzást vagy osztást, vagy a különböző együtemű műveleteket (összeadás, kivonás, komparálás stb.) előíró utasítások stb. végrehajtó szekvenciáját is. A közös végrehajtási szekvenciák során előállítandó (a 25 kimeneti kombinációs hálózatból kilépő) vezérlő jelek, valamint a feltétel-automata vezérlése azonos állapotban az utasítástól függően változó (pl. más aritmetikai túlfolyást jelző és másképpen kell beállítani az aritmetikai túlfolyást jelző tárolóelemet összeadáskor, mint kivonáskor). Ugyanakkor a közös végrehajtási szekvenciákból történő elágazások (elágazási pontok és irányok) is a 22 utasítástároló regiszterben tá-5 10 15 20 25 30 35 40 45 50 55 60 65