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 megszünteti a megszakításkérést, a diagram Z részlete szerint, például azért, mert megszakítása hatására kiszolgálták. így a 18 bemenetre ismét logikai egy, majd all tároló 13 adatkimenetére logikai nulla szint kerül, és a 10 maszkoló áramkör újabb megszakításkérések fogadására képes állapotba kerül. Ugyanez az állapot áll elő, ha a megszakításkérés a maszkolás nélkül szűnik meg. Ezt ábrázolja szaggatott vonallal a diagram W részlete. A 3. ábrán látható 29 maszkoló áramkör egy további lehetséges kiviteli változat, amelynek — az előbbi kiviteli változatokhoz hasonlóan — megszakításkérő 22 bemenete, megszakításjelző 23 kimenete, maszkolásvezérlő 24 bemenete, valamint alaphelyzetbe állító 25 bemenete van. A 29 maszkoló áramkörön belül a megszakításkérő 22 bemenet egyrészről közvetlenül egy 28 vagy kapu egyik bemenetére, másrészről egy nyitott kollektoros logikai 26 inverteren keresztül a 28 vagy kapu másik bemenetére van vezetve. Ugyanezen 28 vagy kapu másik bemenetére csatlakozik továbbá egy 27 R—S tároló Q kimenete. A 27 R—S tároló S bemenete alkotja a maszkolásvezérlő 24 bemenetet, míg az R bemenete alkotja az alaphelyzetbe állító 25 bemenetet. Amikor a 29 maszkoló áramkör 22 bemenetére kapcsolódó funkcionális egység megszakításkérő jele érkezik, akkor a 22 bemenetet logikai 0 állapotba állítja. Ennek megfelelően a 28 vagy kapun keresztülhaladva a 23 kimenet is logikai nulla állapotba kerül. Ezt a jelzést a processzor megszakításként értelmezi. Amennyiben a processzor úgy dönt, hogy a megszakításkérést maszkolja, abban az esetben a maszkolásvezérlő 24 bemenetre logikai 0 szintű impulzust továbbít. Ennek hatására a 27 R-S tároló Q kimenete logikai egy állapotba kerül, és ennek megfelelően a 28 vagy kapu kimenete, vagyis a megszakításjelző 23 kimenet is logikai egy állapotra vált, azaz maszkolódik a megszakításkérés a processzor felé. Amikor ezt követően tetszőleges idő múlva a megszakítást kérő funkcionális egység megszakításkérése megszűnik, akkor a 22 bemenet logikai egy szintre vált, a nyitott kollektoros 26 inverter kimenete logikai nulla szintre vált, amivel egyrészről nulla szintre változik a 23 kimenet, másrészről a 27 R-S tároló alaphelyzetbe kényszerül. Abban az esetben, ha a 27 R—S tároló Q kimenetéhez tartozó nem-és kapu nyitott kollektoros kivitelű, úgy a 27 R—S tároló kényszerítés nélkül is átvált a 26 inverter hatására. A maszkolás törölhető az alaphelyzetbe állító 25 bemeneten keresztül is. Természetesen a találmány szerinti eljárást foganatosító további maszkoló áramkörök is kialakíthatók. Olyan többprocesszoros rendszerben alkalmazva a találmány szerinti maszkolási eljárást, ahol a program megszakítást kérő funkcionális egysegek egyszerre több processzorhoz is hozzá vannak rendelve, minden egyes processzor és a hozzárendelt minden egyes programmegszakítást kérő eszköz közé külön-külön egy-egy, 1, 10, 29 maszkoló áramkör van beiktatva. Ha valamelyik megszakítást kérő funkcionális egység megszakítást kér, az az 1,10,29 maszkoló áramkörökön keresztül eljut minden kapcsolódó processzorhoz. A processzorok eldöntik például a működtető program alapján, hogy melyik processzor szolgálja ki a megszakítási kérelmet. A kiválasztott processzor elvégzi a megszakítási kérelem lekezelését, a többi érintett processzor pedig a maszkolásvezérlő 9,20,24 bemeneten keresztül maszkolt állapotba állítja a közte és a megszakítást kérő funkcionális egység között elhelyezkedő 1, 10, 29 maszkoló áramkört. Ezen 1,10, 29 maszkoló áramkörök megszakításjelző 8, 19, 23 kimenetein megszűnik a megszakítási kérelem, és a kapcsolódó processzorok visszatérhetnek a megszakítási kérelem hatására felfüggesztett feladatok végrehajtásához. Ettől kezdve a processzorok a kérdéses programmegszakításnál alacsonyabb szintű megszakítási kérelmeket is lekezelhetnek. A maszkolás után tetszőleges idővel az eredetileg programmegszakítást kérő eszköz megszünteti a programmegszakítási kérelmet, például azért, mert a megszakításkérés lekezelését végző egyetlen processzor erre utasította. Ennek hatására a programmegszakítást kérő funkcionális egység és a kapcsolódó összes processzor közé elhelyezett 1, 10, 29 maszkoló áramkörök mindegyike alaphelyzetbe áll, és képes további, a megszakításkérő 7, 18, 22 bemenetre érkező megszakításkérelmeket a kapcsolódó processzor felé a megszakításjelző 8,19, 23 kimeneten keresztül továbbítani. A találmány szerinti maszkolási eljárás és maszkoló áramkörök előnyösen alkalmazhatók többprocesszoros rendszerekben, például digitális adatfeldolgozó rendszerekben, ahol azáltal programterület és programfutási idő szabadul fel, továbbá a megszakításkérő bemenetek csak a megszakításkérés fennálltáig foglaltak, illetve maszkoltak, így az elrendezés alkalmassá teszi a processzoros rendszert ismételt megszakítási kérelmek késedelem nélküli érzékelésére. Szabadalmi igénypontok 1. Eljárás mikroprocesszoros rendszerprogram megszakításának maszkolására, ahol a különböző elsőbbségi szintű megszakításkéréseket a mikroprocesszorba érkezésük előtt maszkoljuk, azzal jellemezbe, hogy az egyes megszakításkérések maszkolását a megszakításkérés megszűnése hatására közvetlenül hardver elemekkel feloldjuk. 2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy 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ő állapotba állítjuk. 3. Az 1. vagy 2. igénypont szerinti eljárás, azzal 5 10 15 20 25 30 35 40 45 50 55 60