176996. lajstromszámú szabadalom • Adatfeldolgozó berendezés jegalább egy közös adatátvili sínre csatlakozó feldolgozóegységekkel és legalább egy memóriával
5 176996 6 számára elérhető jelzéseket tárolunk, an !yek azt mutatják, hogy valamely memóriablokkot, illetve perifériát használnak-e avagy sem. A 27 memória az 5 sínhez csatlakoztatva bárhol elhelyezhető, például realizálható az 1 sínvezérlőben is. Amikor tehát valamelyik feldolgozóegység egy adott memóriablokkot vagy perifériát használni akar, meg kell vizsgálnia az ahhoz hozzárendelt jelzést. Ha ez azt jelzi, hogy az adott memóriablokkot, illetve perifériát más feldolgozóegység nem használja, akkor a jelzést át kell írnia oly módon, hogy az a továbbiakban foglaltságot jelezzen. A vizsgálat ideje alatt azonban más feldolgozóegységek is megvizsgálhatják ugyanazon memóriablokkhoz, illetve perifériához tartozó jelzést és hasonlóképpen pozitív eredményre juthatnak a használat lehetőségéről, mivel az első feldolgozóegység még nem tudta a jelzést megváltoztatni. így versenyhelyzet alakul ki a közel egyszerre jelentkező feldolgozóegységek között, és a kölcsönös kizárást egy ismert megoldás szerint csak bonyolult és hosszú időt igénylő software eszközökkel biztosítják. Egy másik megoldás szerint a vizsgálat idejére az adott feldolgozóegység kisajátítja a közös sínt, és ezáltal a később jelentkező feldolgozóegységek nem tudnak á sínhez jutni. Megoldható a kölcsönös kizárás abban az esetben is, ha a közös sínen létezik olvasás-vizsgálat-visszaírás ciklus. Ez viszont az egyes feldolgozóegységeknek a közös sínre csatlakoztató csatolóegységét bonyolulttá teszi. A találmány szerinti kijelölő 27 memóriával a kölcsönös kizárás az alábbiak szerint van megoldva. Példaképpen tegyük fel, hogy a berendezésben csupán a 4 és 8 feldolgozóegységek vannak. Legyen valamely adott memóriablokkra nézve a 27 memória megfelelő rekeszében tárolt jelzés „foglalt” esetben 1, „szabad” esetben pedig 0. Tegyük fel, hogy a 4 és 8 feldolgozóegységek egyszerre kívánnak az adott memóriablokkal foglalkozni, amelyhez tartozó jelzés a kezdetben 0 értékű. Ha például a 8 feldolgozóegység jut először szóhoz, és a 27 memória megfelelő rekeszéből 0 jelzést olvas ki, akkor hozzányúlhat az adott memóriablokkhoz. A 8 feldolgozóegység 0 jelzést kiolvasó ciklusának végén a jelzést tartalmazó 27 memória saját vezérlőegysége 1-et ír a 27 memória megfelelő rekeszébe, és így a közvetlenül utána jelentkező 4 feldolgozóegység már 1 jelzést talál a 27 memória eme rekeszén. Az adott memóriablokk újra szabaddá tehető a 27 memória megfelelő rekeszébe 0 írásával. Ennél a találmány szerinti megoldásnál a közös 5 sín foglaltsága nem növekszik, és az 5 sínre csatlakozó feldolgozóegységek csatolóegységét sem kell megváltoztatni. A találmány szerinti berendezés központi eleme a kettős hozzáférésű (dual port) 7 memória, amely az 5 és a 6 sín felől is elérhető. A 7 memória több memóriablokkra van felosztva, és a különböző memóriablokkokba irányuló egyidejű hozzáférési kéréseket párhuzamosan tudja kielégíteni. A két 5 és 6 sín hozzáférési logikája az ugyanazon memóriablokkba irányuló hozzáférési kéréseket kölcsönösen kizárja és csak egyet elégít ki. A különböző memóriablokkok cím-, adat- és vezérlőjeleit a két 5 és 6 sín jeleiből kiválasztó áramkörök állítják elő, melyeket a kölcsönös kizáró logikák vezérelnek. A 7 memória minden egyes memóriablokkra időzítőelemeket tartalmaz, amelyek a memória hozzáférési idejét, válaszidejét, ciklusidejét, foglaltsági idejét és az írásnál megkívánt várakozási idejét mérik. Az egyes időzítőelemek indításáról, illetve tiltásáról egy kiválasztó logika gondoskodik, amelyet a két 5 és 6 sín közötti kölcsönös kizáró logika, az 5 és 6 sínek egyes címbitjei és a ciklusok milyenségét jelző bitjei, valamint a cikluskezdeményező jelek vezérelnek. A memóriahozzáférési kérések a feldolgozóegységek működése következtében nagy többségükben szekvenciálisak, azaz a memóriacímek folytonosan növekvő értékekét vesznek fel. A találmány szerinti berendezésben az egymás utáni memóriacímeket különböző memóriablokkokban realizáljuk, így a 7 memória sebessége jelentősen nő, mivel a szekvenciális memóriacímekre irányuló, időben egymás utáni kérések kiszolgálásánál a ciklusidő helyett az ennél jóval rövidebb hozzáférési idő határozza meg a 7 memória sebességét. Az 5 és 6 síneken érkező memóriahozzáférési kérések nyugtázó jeleit egy-egy flip-flop állítja elő. A két flip-flopot bebillenti két-két kiválasztó áramkör kimenőjele közül az egyik, a kezdeményezett ciklus milyenségének (írás vagy olvasás) megfelelően. Az olvasáskor aktív kiválasztó áramkörök bemenetére a hozzáférési időt, az íráskor aktív kiválasztó áramkörök bemenetére pedig az írásnál megkívánt várakozási időt mérő időzítőelemek kimenetei csatlakoznak. A nyugtázó jeleket előállító flip-flopok alaphelyzetbe térnek vissza, ha a ciklust kezdeményező jel megszűnik. Az 1. ábra szerinti 3 és 4 feldolgozóegységek azonos felépítésűek lehetnek, célszerűen mikroprocesszor elemeket tartalmaznak, és elsősorban perifériakezelő feladatot látnak el. Az egyes memória,illetve perifériacímek dekódolására a szokásos bonyolult random logikájú dekódoló hálózatok helyett csak olvasható memóriákat használunk, amelyek könnyű változtathatóságot, a különböző sűrűségű memóriaelemek közötti választás lehetőségét és egyszerűbb hardware megoldást kínálnak. A címdekódoló csak olvasható memóriák bemeneteire a címek kerülnek, kimenetei pedig közvetlenül vagy az író/olvasó jelekkel kapuzva kerülnek a memóriák, illetve a perifériavezérlő elemek engedélyező, illetve író/olvasó bemeneteire. A csak olvasható tároló egy adott bemeneti címkombinációhoz tartozó kimenő szavából mindig csak egy engedélyező jel fog megjelenni. A kimenő szó egy további bitje felhasználható a sínvezérlők vezérlésére is. Az adatfeldolgozó egységeknél szokásos, hogy az általános alaphelyzetbe állító jelet (RESET) a külső kezelőszervek, illetve a tápfeszültséget szolgáltató egységek adják. A találmány szerinti berendezésben a fentieken túlmenően a 4 feldolgozóegységben elhelyezett, egy meghatározott perifériás című regiszterbe történő írással is kiváltható az alaphelyzetbe állító jel. A mikroprocesszoros 3, illetve 4 feldolgozóegység belső sínjén indított ciklusok áttevődnek az S sín ciklusaivá, ha azok címe egy meghatározott 5 10 15 20 25 30 35 40 45 50 55 60 65 3