187487. lajstromszámú szabadalom • Mikroprogram adatvezérelt megszakítására alkalmas kapcsolási elrendezés, különösen mikroprograozott mikroprocesszorhoz
1 187 487 2 A találmány tárgya kapcsolási elrendezés mikroprogram adatvezérelt megszakítására, különösen mikroprogramozott mikroprocesszorhoz, amely kapcsolási elrendezésben mikroprogramtár vezérlő kimenetei aritmetikai-logikai egység, valamint vezérlőegység vezérlő bemeneteire csatlakoznak, továbbá olyan adatmemóriája van, amely, adatmemória, valamint az aritmetikai-logikai egység és a vezérlő egység kétirányúan adatsínre van kötve. Mint ismeretes, mikroprogramban többirányú elágazásra eddig vektoros szétugratást, vagy feltételvizsgáló utasításláncot alkalmaztak. Ha a többirányú elágazást a helyi adatmemóriában tárolt adat szerint kell végezni, akkor a lehetséges sok adatértékhez általában csak néhány elágazási irány tartozik. Meg kell tehát oldani, hogy az adatértékek egy-egy tetszőlegesen kiválasztott halmazához egy-egy elágazási irányt, azaz program belépési pontot rendeljünk. Az eddigi módszerek ennek a feladatnak a megoldásakor elsősorban a mikroprogramra támaszkodtak. így az adatokon maszkoló, feltételvizsgáló stb. műveleteket hajtottak végre az aritmetikai-logikai egységben, illetve a vezérlést a megfelelő belépési pontra ugró utasítással adták át. Bizonyos alkalmazásokban azonban, ahol gyakori az adatok szerinti szétugráslánc, vagy a feldolgozás sebességi követelményei indokolják előnyös vagy szükséges lehet a program működését felgyorsítani. A találmány célja a program működésének olyan hardver kiegészítéssel való felgyorsítása, amely nem teszi szükségessé a memóriában tárolt adatok programozott vizsgálatát, és a programbeavatkozást igénylő ugró utasítás helyett valódi megszakításos vezérlésátadást tesz lehetővé, ahol a megszakítási alprogram végén a visszatérés is automatikus. A találmánynak az a lényege, hogy az adatmemória adatvezérelt megszakításvezérlőre csatlakozik, amely adatvezérelt megszakításvezérlő címkimenete a mikroprogram memória címbemenetére, az adatvezérelt megszakításvezérlő állapot kimenete pedig a vezérlő egység állapot bemenetére van kötve, míg a vezérlő egység vezérlő kimenete az adatvezérelt megszakításvezérlő vezérlő bemenetére csatlakozik. A találmányt részletesebben az ábrákon bemutatott kiviteli példák segítségével ismertetjük, az 1. ábrán a találmány egy kiviteli példájának blokkvázlatát szemléltetjük, a 2. ábra az 1. ábra szerinti kiviteli példa adatmemóriájának egy kiviteli lehetőségét mutatja be, míg a 3. ábrán az 1. ábra szerinti adatvezérelt megszakításvezérlő egy kiviteli példája látható ugyancsak blokkvázlatban. A kapcsolási elrendezésben található 1 mikroprogram memória vezérlő kimenetei 2 aritmetikailogikai egység vezérlő bemenetére és 3 vezérlő egység vezérlő bemenetére csatlakoznak. A kapcsolási elrendezésben van továbbá egy 4 adatmemória, amely 4 adatmemória adatkimenete 5 adatvezérelt megszakításvezérlőre van kötve. A 2 aritmetikai-logikai egység, a 3 vezérlő egység és a 4 adatmemória kétirányúan a 6 adatsínre vannak kötve. A 3 vezérlő egység vezérlő kimenete az 5 adatvezérelt megszakításvezérlő vezérlő bemenetére és a 3 vezérlő egység cimkimenete az 1 mikroprogram memória bemenetére csatlakozik. Az 5 adatvezérelt megszakításvezérlö cimkimenete az 1 mikroprogram memória címbemenetére van kötve. Az 5 adatvezérelt megszakításvezérlő állapot kimenete a 3 vezérlő egység állapot bemenetére csatlakozik. A példa szerint a 4 adatmemóriában olyan 41 irható-olvasható memória van, amely 41 írhatóolvasható memória adatbemenetére egyik 42 adóvevő áramkör csatlakozik, mig a 41 irható-olvasható memória adatkimenete másik 43 adó-vevő áramkörre van kötve. A 41 irható-olvasható memória címbemenetére 44 memória címregiszter van kötve. A 41 irható-olvasható memória adatkimenete az 5 adatvezérelt megszakításvezérlő adat bemenetére is csatlakozik. A 4 adatmemória adatbemenete az egyik 42 adó-vevő áramkörre és a 44 memória címregiszterre van kötve. A másik 43 adó-vevő áramkör kimenete egyúttal a 4 adatmemória adatkimenete is. A 4 adatmemória vezérlő bemenete egyrészt a 41 irható-olvasható memória vezérlő bemenetére, másrészt a 44 memória címregiszter vezérlő bemenetére, továbbá a másik 43 adó-vevő áramkör engedélyező bemenetére csatlakozik. Az 5 adatvezérelt megszakításvezérlőben - a példa szerint - olyan 51 csak olvasható memória van, amely 51 csak olvasható memória adatbemenetére - amely egyúttal az 5 adatvezérelt megszakításvezérlő adatbemenete - a 41 irható-olvasható memória adatkimenete van kötve. Az 51 csak olvasható memória adatkimenetei 52 adó áramkörre és 53 megszakítás kérő logikára csatlakoznak. Az 52 adó áramkör cimkimenete az 5 adatvezérelt megszakításvezérlő cimkimenete, mig az 5 adatvezérelt megszakításvezérlő állapot kimenete az 53 megszakítás kérő logika kimenete. Az 5 adatvezérelt megszakításvezérlő vezérlő bemenete egyrészt az 52 adó áramkör bemenete, másrészt az 53 megszakításkérő logika bemenete. Az adatvezérelt megszakítás-rendszer lényege a következő: A mikroprogramozott mikroproceszszomak saját 4 adatmemóriája van, amely fizikailag különálló a programot tartalmazó memóriától. A 4 adatmemória kimenetét egy speciális egységbe, az 5 adatvezérelt megszakításvezérlőbe vezetjük, amelynek az a funkciója, hogy a memóriában tárolt adatokhoz különböző megszakítási alprogramok kezdőcímének megfelelő mikroutasitás címeket rendeljen. Ha az adatvezérelt megszakítás engedélyezve van, továbbá a 4 adatmemória adatkimenetén olyan adat van, amelyhez megszakítás kérés lett rendelve, akkor a megszakítás megtörténik, és a vezérlésátadás eredményeként a hozzárendelt címen folytatódik a mikroprogram végrehajtása. A módszerrel tehát meghatározott adatbit-kombinációkat csoportba foglalhatunk és egy-egy csoporthoz egy-egy mikroprogram címet rendelhetünk (pl. „ha az adat 3. és 5. bitje logikai nulla értékű, az 1. és 4. bitje logikai egy értékű, a többi bit értéke pedig közömbös, akkor - engedélyezés esetén - a következő mikroutasitás a 235-ös címről kerüljön végrehajtásra” stb.). 5 10 15 20 25 30 35 40 45 50 55 60 65 2