165729. lajstromszámú szabadalom • Mikroprogram vezérlésű adatfeldolgozó kisegység
9 165729 10 befejezte, készen áll új művelet végrehajtására. Ebben az esetben az adatfeldolgozó egység például a DPI és DR-2 regiszterben új jelet állít elő. Egyidejűleg ezáltal DR flip-flop kerül bekapcsolásra, amelynek kimenetével a RUF—D vezérlővezeték van összekötve. A művelet végrehajtása után az Ua2 flip-flopot a nyomtatómű az END—D vezérlővezetéken át ismét bekapcsolja. Az Ua2 flip-flop az adatfeldolgozó egységnek megszakítási utasítást továbbít, és egyidejűleg a DR flip-flopot kikapcsolja. A futó program megszakítása gyakorlati okból nemcsak attól a megszakítási utasítástól függ, amelyeket az Ual és Ua2 flip-flopok adnak. A megszakítás engedélyezése csak akkor történik meg, ha a rákövetkező mikroutasításban az UM programmegszakítási feltétel meg van, és a KU flip-flop ki van kapcsolva. Az UM programmegszakítási feltétel minden mikroutasítás egy állandó bitjéhez van hozzárendelve. A KU flip-flop a mikroprogram által be- és kikapcsolható járulékos megszakítási zár. A megszakítási vezérlés lefolyása a mikroprogram vezérlés diagramján látható, a 4. ábrán. Ha a megszakítási feltételek teljesülnek, azaz Ual és Ua2 flip-flopok be vannak kapcsolva, az UM programmegszakítási feltétel be van kapcsolva, és a megszakítási zár (KU flip-flop) ki van kapcsolva, a következő mikroutasítás átvétele történik az MBZ mikroutasításszámlálóból az US megszakítási címtárolóba. Ezután az MBZ mikroutasításszámlálóban állandó cím kerül beállításra, amely a megszakítási program kezdetét meghatározza. A programmegszakítás keretén belül a következő folyamatok folynak le: 1. Azon regiszterek tartalmának megőrzése, amelyek a programmegszakítás által változnak, és amelyek később a megszakított mikroprogramhoz még szükségesek. Az, hogy melyik, illetve hány regiszter tartalmát kell megőrizni, a speciális megszakítási programtól, illetve attól függ, hogy milyen gyakran kell az UM programmegszakítási feltételt a mikroprogramban előirányozni. 2. Annak megkérdezése, hogy az Ual vagy Ua2 flip-flop be van-e kapcsolva, azaz hogy a billentyűzettől vagy nyomtatóműtől van-e megszakítási feltétel jelen. Abban az esetben, ha egyidejűleg mindkét Ual és Ua2 flop-flip be van kapcsolva, elsőbbséget kell megállapítani. 3. A tulajdonképpeni megszakítási program végrehajtása. Egyidejűleg az Ual és Ua2 flip-flopok ismét ki vannak kapcsolva, azért, hogy újra megszakítási utasítást lehessen adni. A mindenkori megszakítási programon belül a megszakítási utasítás által meghatározott folyamatok végrehajtása, például a beadott számértékek elrendezése az MR-billentyűzet-beadóregiszterbe, vagy a következő nyomtatandó jel létrehozása a nyomtatóműnek a DT1 és DT2 regiszterben. 4. A megszakítási program végrehajtása után általában a megszakított mikroprogram kerül folytatásra a megszakítási helyen. A megszakítási program utolsó mikroutasítása meghatározza a programmegszakítás végét, és kiváltja az US megszakítási címtárolóban rögzített mikroutasítás cím átvételét az MBZ mikroutasításszámlálóba és a megszakított mikroutasítás lefolyásának folytatását ezen a címen. A 4. ábrán látható mikroprogramvezérlés-folyamatdiagramból megállapítható, hogy a mikroprogram lefolyása alatt a következő mikro-5 utasítás címét az MBZ mikroutasításszámláló tartalmának továbbszámlálása útján képezzük. Ez alól az ugrási utasítások kivételt képeznek. A mikroutasítás-lista leírása a következő: Az 5/a—i ábrán látható a mikroutasítások for-10 mátuma. A mikroutasítások hossza 20 bit, amelyek a BB1—BB20 helyeken vannak tárolva, az MBR mikroutasítás-regiszterben. Az 5/a ábra a mikroutasítások általános formáját mutatja. A BB18—BB20 helyen kódolva a 15 mikroutasítás fajtáját tárolják. A BB17 hely az UM programmegszakítási feltételt tartalmazza, a BB1—BB16 helyek pedig specifikációkat tartalmaznak a mikroutasítás mindenkori fajtájához. 20 Az 5/b ábra TI mikroutasítás formáját ábrázolja, amely átviteli utasítás. A BBl—BB16 helyeken levő R regiszter tartalma a HR főregiszterbe kerül átvitelre. Eközben a R regiszter tartalma általában megmarad, és a HR főregiszter régi tar-25 talma átíródik. A TIARW2 átvitelnél a tizenkét bitet tartalmazó ARW2 regiszter legfelső négy bitje a HR főregiszterbe kerül átvitelre. A TISU átviteli utasítás végrehajtásánál az RW számítómű SU kimenetén levő éredmény-tetrád a HR 30 főregiszterbe kerül. Ezen átviteli utasítás számára a következő R regiszterek megengedettek: ARW1, ARW2, ARS1, ARS3, RR1, RR2, EAP1, EAP2, EAP3, SR, EP1, EP2, STA. 35 Ezenkívül az SL1, SL4 szelektor vezeték-csoportokon az SP1—SP4 adatvezetékeken, valamint az RW számítómű SU kimenetén levő információk TI mikroutasítással a HR főregiszterbe vihetők át. 40 Az 5/c ábra TII átviteli utasítást mutatja. A HR főregiszter tartalma valamelyik másik regiszterbe kerül átvitelre. Ezen utasítás BBl— BB16 helyei megadják, hogy ekkor melyik regiszterről van szó. A TII átviteli utasítás végrehajtása-45 kor a HR regiszter tartalma megmarad. Az R regiszter régi tartalma átíródik. A TII ARW2 átviteli utasítás végrehajtásánál a HR főregiszter tartalmát az ARW2 regiszter legalacsonyabb négy bitje átveszi, és a második ARW2 szócím-50 regiszter tartalma egyidejűleg négy bittel eltolódik. Lehetséges testzőleges TII átviteli utasítások egyidejű végrehajtása. Ezen átviteli utasítások számára a következő R regiszterek megengedettek: ARW1, ARW2, ARS1, ARS2, RR1, RR2, EAP1, 55 EAP2, EAP3, SR, DPI, IP2, Dl, MS és KAN. Az 5/d ábra Le mikroutasítás formáját ábrázolja. Ezen utasítás általában egy mágnesmag kiolvasását hozza létre. Lehetségesek kombinációk a címregiszterekben és a HR főregiszterben le-60 zajló számolási folyamatokkal és a számítóregiszterekhez történő átvitellel. Az utasítás változatait a V-vel jelölt BB15 és BB16 helyek határozzák meg. A BB13 és BB14 helyek meghatározzák a cím-65 regiszter kombinációit, és BBl és BB12 helyek 5