197803. lajstromszámú szabadalom • Kapcsolási elrendezés közös számítástechnikai erőforrásokhoz való hozzáférés szabályozására előnyösen mikroprocesszoros rendszerekhez
197803 1 A találmány tárgya kapcsolási elrendezés közös számítástechnikai erőforrásokhoz való hozzáférés szabályozására előnyösen mikroprocesszoros rendszerekhez, amely kapcsolási elrendezésben szemaforegység van és a szemaforegység a rendszerrel annak adatbuszán, vezérlőbuszán és címbuszán keresztül van összekötve. Ilyen szemaforegység a szakirodalomból (BÓNA-ERÉNYI-VAJDA TÖBBMIKROPROCESSZOROS RENDSZEREK MK. 1986. 2.16, 4.3.) ismert. Olyan rendszerekben, ahol egyidejűleg több független folyamat fut, és ezek a folyamatok időnként a bármelyikük számára elérhető közös erőforrást kívánják használni, biztosítani kell, hogy amennyiben egy folyamat már lefoglalta a közös erőforrást, további folyamatok csak azután férjenek hozzá a közös erőforráshoz, ha a közös erőforrást az eredetileg lefoglaló folyamat számukra szabaddá tette. A közös erőforrás használatát a folyamat kritikus szakaszának nevezzük. A folyamatoknak a kritikus szakaszba való belépését és onnan való kilépését szabályozza a szemafor. Ha szabadot mutat a szemafor, egy folyamat beléphet a kritikus szakaszba, de ezzel egyidőben a szemafort azonnal zárt állásba helyezi, és az csak kilépéskor kerül újra szabad állapotba. Ha a kritikus szakaszba egy folyamat akkor kíván belépni, amikor ott már egy másik tartózkodik, akkor várakoznia kell mindaddig, amíg a szemafor jelzése szabaddá nem válik, a másik folyamat szabaddá nem teszi azt. A legegyszerűbb szemafor egyetlen logikai változó. Működése azon alapul, hogy egy folyamat a kritikus szakaszba való belépés előtt megvizsgálja és azzal egyidőben foglalt állásba helyezi. Foglalt állásba helyezheti, hiszen ha a vizsgálat eredménye szerint nem foglalt, akkor a folyamat úgy is lefoglalja, ha pedig foglalt volt, akkor az állapotán nem változtat a lefoglalás megismétlése. Mivel a vizsgálat és lefoglalás maga is egy kritikus szakasz, ennek oszthatatlannak kell lenni, azaz nem szakítható meg másik folyamat által. A vizsgálat és lefoglalás folyamatát TAS (Test and Set) műveletnek nevezzük. A szemaforok elméletével foglalkozik a KACSUK PÉTER MULTIMIKROPROCESSZOROS RENDSZEREK TERVEZÉSE, BME MÉRNÖKI TOVÁBBKÉPZŐ INTÉZET 1982. jegyzet 3.3. fejezete. A közös erőforrásokhoz való hozzáférés szabályozása szükséges például olyan számítógépes alkalmazásoknál, ahol a processzoron több program fut, illetve több proceszszor mindegyikén fut egy-egy program és ezek a programok aszinkron módon, időnként igényt tartanak közös írható erőforrásokra, például adattárra, nyomtatóra. A mikroprocesszorok egy részében már megtalálható a TAS műveletet támogató programutasítás, de a legelemibb kritikus szakaszt meg kell valósítani hardver elemekkel, azaz 2 nem kerülhető el hardver szemafor alkalmazása. A szemaforok megvalósításának egy ismert módja olyan speciális memória alkalmazása, amely olvasás hatására egy rögzített értékű adattal írási ciklust is végrehajt, nyugtázó jelzést a processzor felé az írás befejezéséig nem küld, és a memória ciklus végéig a szemafor írás előtti állapotának olvashatóságát biztosítja. Az ilyen speciális megoldás alkalmazhatóságának korlátot szab a beszerezhetőség, továbbá alkalmazásakor a mikroprocesszoros rendszer buszait lelassítja és jelentős memória címterületet foglal el. A találmány célja az ismert megoldások hátrányainak kiküszöbölése, olyan szemaforegység kialakítása, ami működése közben nem lassítja a rendszer buszait, nem foglal jelentős memória címterületet és szokványos logikai elemekből felépíthető. A kitűzött célt a bevezetőben körülírt kapcsolási elrendezéssel úgy értük el, hogy a címbusz felső helyiértékű címbitjei címfelismerő címbemenetére, alsó helyiértékű címbitjei pedig a szemaforegységben elhelyezett címezhető tároló, valamint adatkiválasztó címbemenetére kapcsolódnak. A címezhető tároló adatkimenete átmeneti tárolóra, ennek adatkimenete pedig az adatkiválasztó adatbemenetére van csatlakoztatva. A címfelismerő címjelző vezetékével össze van kötve, egyrészt késleltetően keresztül a címezhető tároló vezérlő bemenetével, másrészt közvetlenül az átmeneti tároló és az adatkiválasztó engedélyező bemenetével is. Az adatbusz egy adatvezetéke vezérelt kapcsoló egyik bemenetére, a vezérlőbusz írásjelző vezetéke a vezérelt kapcsoló vezérlő bemenetére csatlakozik, a vezérelt kapcsoló másik bemenete referencia pontra kapcsolódik, kimenete pedig a címezhető tároló szemafor adat bemenetére van kötve. A szemafor adat kimenet, ami egyben az adatkiválasztó kimenete is, rá van vezetve az adatbuszra. Ez a kialakítás lehetővé teszi, hogy a szemaforegység a rendszer buszának lassítása nélkül képes működni, és működéséhez nem foglal le jelentős memória címtartományt. A találmány szerinti kapcsolási elrendezést a rajzokon szemléltetett kiviteli alak alapján ismertetjük részletesen, ahol az, 1. ábra a kapcsolási elrendezés elvi felépítésének vázlata, a 2. ábra pedig a kapcsolási elrendezés működési idődiagrammjait mutatja. Az 1. ábrán látható 5 szemaforegység a mikroprocesszoros rendszerrel annak 1 adatbuszán, 2 vezérlőbuszán és 3 címbuszán keresztül van összekötve. A mikroprocesszoros rendszer például Zilog Z—80 típusú, vagy Te>as Instruments TMS 9900 típusjelű család lehet. Az ábrán a mikroprocesszoros rendszert nem tüntettük fel, mivel a buszrendszer szokványos jelölése egyértelművé teszi a kapcsolódás módját. A 3 címbusz felső helyiér-3 5 10 15 20 25 30 35 40 45 50 55 60 65