195351. lajstromszámú szabadalom • Eljárás és kapcsolási elrendezés mikroprocesszoros rendszer program megszakításának maszkolására
1 195 351 2 A találmány tárgya eljárás mikroprocesszoros rendszerprogram megszakításának maszkolására, ahol a különböző elsőbbségi szintű megszakítás-kéréseket a mikroprocesszorba érkezésük előtt maszkoljuk. A találmány tárgya továbbá az eljárás foganatosítására szolgáló kapcsolási elrendezés, amely kapcsolási elrendezés maszkoló áramkört tartalmaz, a maszkoló áramkör a processzoros rendszer egyes megszakítást kérő funkcionális egységei felé megszakításkérő bemenettel, a processzor felé esetlegesen közbeiktatott további egységeken keresztül megszakításjelző kimenettel és maszkolásvezérlő bemenettel csatlakozik. Ilyen eljárás és kapcsolási elrendezés önmagában ismert. Segítségükkel mikroprocesszoros rendszerek, elsősorban többprocesszoros rendszerek különféle, megszakítást kérő eszközeitől érkező különböző elsőbbségi szintű .megszakításkéréseknek a mikroprocesszorokhoz való eljutása érvényesíthető, illetve akadályozható meg. A megszakításoknak a mikroprocesszorokhoz való eljutását megakadályozó beavatkozást a továbbiakban maszkolásnak nevezzük. Az ilyen megoldások felhasználhatók például olyan rendszerben, ahol a rendszer funkcionális egységei, proceszszorai egy buszon keresztül kommunikálnak egymással, az egyes részfeladatokat több processzor egység párhuzamosan hajtja végre, és a rendszer egyes funkcionális egységei a buszon keresztül programmegszakítást kérhetnek. A programmegszakítási kérelmet minden kapcsolódó processzor egység érzékeli, és ennek hatására felfüggeszti az éppen soros részfeladat végzését. A processzorok egymás között valamilyen tetszőleges algoritmus alapján eldöntik azt, hogy melyik processzornak kell a megszakítást kérő funkcionális egység által igényelt feladatot elvégezni, azaz a megszakítási kérelmet kiszolgálni. Ugyanakkor biztosítani kell, hogy a többi processzor a továbbiakban ne vegyen tudomást az adott megszakításkérésről, és térjen vissza a felfüggesztett részfeladat végrehajtásához. Erre a célra maszkoló áramköröket alkalmaznak. Egy ilyen ismert áramkör például a Texas Instruments TMS 9901 jelű programozható rendszer interfész áramköre. Ezt műiden egyes mikroprocesszor (például TMS 9900) mellé elhelyezve megvalósítja, más funkciók mellett a megszakításkérések maszkolását. Az áramkör erre a célra minden egyes programmegszakítás kérésére alkalmas funkcionális egység programmegszakítás-kérő vezetékébe a processzor felé egy maszk regisztert tartalmaz. Azon processzorok, amelyek a megszakításkérés beérkezése után visszatérhetnek a megszakításkérés hatására felfüggesztett részfeladat végrehajtásához, a megszakításkérést a maszk regiszter vezérlésével maszkolják. Ezek után ezen vezetéken a hozzá tartozó funkcionális egységektől érkező újabb megszakításkérések mindaddig hatástalanok, amíg a processzor egy olyan utasítássor, programrész végrehajtásához nem jut el, amelylyel törli a maszkolást, újra engedélyezi a megszakításkérés útját. Hasonló módon végzi a megszakításkérések maszkolását az Advanced Micro Devices Am8080 jelű mikroprocesszorához ajánlott Am9519 típusú univerzális megszakításvezérlő. Az ismert maszkolási eljárások és maszkoló áramkörök hátránya, hogy a maszkolás feloldására a mikroprocesszorok programjába programrészieteket kell elhelyezni. Ezek egyrészt programterületet foglalnak el, másrészt a program futási időből egy passzív részt igényelnek, ami a programfutási időt lassítja. Ugyanakkor hátrány az is, hogy amíg a maszkolást feloldó programrész nem kerül sorra, jóllehet, a maszkolás már feloldható lenne, indokolatlanul foglalt, maszkolt az illető funkcionális egységhez tartozó megszakítást kérő vezeték, így újabb megszakítást az az eszköz nem érvényesíthet. A találmány célja az ismert maszkolási eljárások, illetve maszkoló áramkörök hátrányainak kiküszöbölése, olyan maszkolás megvalósítása, amely a mikroprocesszor maszkfeloldó program nélkül, a maszkolt megszakításkérés megszűnése után késedelem nélkül megszűnteti a maszkolást. A találmány szerinti maszkolás azon a felismerésen alapul, hogyha a maszkolást a mikroprocesszor vezérlő jelére kezdjük és a megszakításkérés megszűnésének hatására közvetlenül, hardver elemek felhasználásával feloldjuk, abban az esetben nem szükséges maszkfeloldó programrészlet alkalmazása, és a megszakításkérés megszűnését követően késedelem nélkül érvényesülhetnek a kérdéses, vagy annál alacsonyabb szintű megszakítási kérelmek. A kitűzött célt a bevezetőben körülírt eljárás szerint úgy értük el, hogy az egyes megszakításkérések maszkolását a megszakításkérés megszűnése hatására hardver elemekkel közvetlenül feloldjuk. A találmány szerinti eljárásnál célszerűen a programmegszakítás-kérést a megszakítást kérő eszköztől maszkoló áramkörön keresztül a mikroprocesszorra vezetjük, a megszakításkérés érzékelését követően a mikroprocesszorral a maszkoló áramkört a megszakításkérés jelzését a továbbiakban a mikroprocesszor felé át nem engedő, maszkoló állapotba billentjük, majd az ezután tetszőleges idővel bekövetkező megszakítási kérelem-megszűnés jelzésével a maszkoló áramkört a maszkolást feloldó, az újabb megszakítási kérelmet a processzor felé átengedő alapállapotba állítjuk. A találmány szerinti előnyös eljárásnál egy adott megszakítást kérő eszköztől érkező megszakításkérelmet több processzorra juttatunk el, processzoronként, és annak prioritás-szintjeiként külön maszkoló áramkörön keresztül, a processzorok segítségével a megszakítási kérelmet kiszolgáljuk, a többi proceszszorral pedig maszkoló állapotba vezéreljük a hozzájuk rendelt kérdéses maszkoló áramkört, és a megszakítási kérelmet a továbbiakban figyelmen kívül hagyva folytatjuk a feladatok végzését ezen processzorokkal, majd az adott megszakítási kérelem megszűnésének jelzésével nem maszkoló alaphelyzetbe állítjuk az adott megszakítást kérő eszközhöz rendelt összes maszkoló áramkört. A találmány szerinti eljárást foganatosító, szintén 5 10 15 20 25 30 35 40 45 50 55 6C