201164. lajstromszámú szabadalom • Többprocesszoros folyamatirányító rendszer
HU 201164 B Napjaink korszerű mikroprocesszoros folyamatirányító rendszereinek, azon túlmenően, hogy a bonyolult irányítói algoritmusokat megvalósítják, a válaszidők vonatkozásában is egyre szigorúbb követelményeket kell kielégíteniük. Egy mikroporcesszoros folyamatirányító rendszer válaszidejének csökkentésére két széles körben elterjedt módszert használnak, adott esetben együttesen. Az egyik mód az alkalmazott processzor hatékonyságának növelése, a másik pedig több processzor alkalmazása oly módon, hogy azok párhuzamos feladat megoldására legyenek képesek. E második módszernél azonban problémát jelentett az egyes processzorok közötti adatcsere megvalósítása. Ezt a problémát a folyamatirányító rendszereknél valamilyen többprocesszoros rendszerbusz alkalmazásával oldották meg. A többprocesszoros rendszerbuszon az adatátvitel szempontjából két funkcionális egység különböztethető meg. Az egyik a Master-egység, amely az adatátvitel lebonyolítását vezérli, a másik a slave-egység, amely pedig az adatokat szolgáltatja, ill. fogadja. A rendszerbuszon keresztül azonban egyszerre csak egy Master-egység végezhet adatátvitelt. Ehhez a többprocesszoros rendszerbusznál a Masteregységnek először meg kell szereznie a rendszerbusz vezérlésének jogát. Ha egyszerre több Master-egység kíván többprocesszoros rendszerbuszon adatátvitelt végrehajtani, akkor valamilyen arbitációs folyamat eredményeképpen a magasabb prioritású kapja meg a vezérlési jogot. Egy rendszerben több párhuzamosan működő processzor esetén a processzorok közötti adatcserének egyik gyakori megvalósítási formája a többprocesszoros rendszerbuszon a postaláda-memória alkalmazása. A postaláda-memória olyan, a többprocesszoros rendszerbuszon elhelyezkedő slave-egység, amelyet valamennyi Master-egység képes elérni. Az adatcsere úgy valósul meg, hogy az egyik Master-egység, mely általában egy önállóan működő processzort is tartalmaz, megszerzi a többprocesszoros rendszerbusz vezérlési jogát és az adatot beírja a postaláda-memóriába. Ezután egy másik Master-egység, mely egy másik önállóan működő processzort tartalmaz, miután ez is megszerezte többprocesszoros rendszerbusz vezérlési jogát, a postaláda-memóriából kiolvassa az előzőleg beírt adatot. E módszer fő előnye, hogy minden processzor minden processzorral tud kommunikálni, továbbá az, hogy általában a többprocesszoros gyártmányokat előállító cég modulválasztékából egyszerűen megvalósítható. Hátránya azonban ennek a megoldásnak, hogy ha a többprocesszoros rendszerbuszra nagyobb számú Master-egység van elhelyezve, jelentősen megnövekszik a rendszerbuszra történő várakozások ideje. Különösen így van ez az alacsonyabb prioritási szinteken. Ezáltal természetesen az egész rendszer hatékonysága csökken. A többprocesszoros folyamatirányítói rendszerek zömében általában nincsen szükség arra, hogy minden processzor minden processzorral képes legyen kommunikálni. Az egyes processzorok sok esetben egymással szorosan nem összefüggő feladatokat önállóan valósítanak meg. így adatot és parancsokat csak az őt közvetlenül felügyelő processzortól vár, illetve annak szolgáltat. Ha viszont ilyen adatcserét csak néhány kitüntetett processzorral kell végrehajtani, akkor elég az adatcsere szükségességének jelzése és ezután már közömbös, hogy az adatcserét melyik processzor hajtja végre. A találmány célja a többprocesszoros folyamatirányító rendszer továbbfejlesztése arra az esetre, ha nincs szükség arra, hogy minden processzor minden processzorral képes legyen kommunikálni. Ehhez dolgoztuk ki az úgynevezett intelligens slave-egységet, amely a feladatokhoz gyors reagálási időt is biztosít. Az intelligens slave-egység a felismerésünk értelmében olyan önállóan működő processzorral rendelkező egység, amely a többprocesszoros rendszerbusz felől memóriaként, azaz slave-egységnek látszik. Ez az elrendezés megtartja azt az előnyt, hogy önállóan, az adott feladat megoldására programozott processzor biztosítja a gyors reagálási időt. Miután azonban a többprocesszoros rendszerbuszra slave elemként kapcsolódik, így annak kihasználhatósága hozzáférési igénnyel nem terheli. A találmány tárgya tehát többprocesszoros folyamatirányító rendszer, amely rendszerbuszon keresztül összekapcsolt, az adatátvitel lebonyolítását végző Master-egységeket és az adatokat szolgáltató és fogadó slave-egységeket, valamint postaláda-memóriaként működő slave-egységet tartalmaz. A találmány szerinti többprocesszoros folyamatirányító rendszer lényege abban van, hogy legalább egy slave-egység, önállóan működő processzorral ellátott, a rendszerbusz felől memóriának látszó, az adatátvitel alatt pedig inaktív processzorú olyan intelligens slave-egységként van kiképezve, amely a rendszerbuszra belső buszkérést jelző- és nyugtázó egységen buszleválasztó egységen és megszakításkérő egységen keresztül van csatlakoztatva és cím-, adat és vezérlőjeleket továbbító belső buszt tartalmaz, amelyhez a processzor CPU-ja, RAM-ja, EPROM-ja a felhasználói áramkörök, valamint a buszleválasztó egység és megszakításkérő egység is csatlakoztatva van, míg a belső buszkérést jelző-, és nyugtázó egység közvetlenül van a CPU-ra csatlakoztatva, és postaláda-memóriát a RAM egy része képezi. A találmány egy lényeges kiviteli alakja úgy jellemezhető, hogy a belső buszhoz adat-, cím-, vezérlő-, óra- és kiválasztójeleket továbbító hibakereső és mérőegység van csatlakoztatva, amely további tetszőleges jelfeldolgozó egység felé van elvezetve. A találmány lényege tehát egy olyan intelligens slave-egység, amely a folyamatirányítási feladatokhoz gyors reagálási időt biztosít, és a többi processzornál a kapcsolatot úgy valósítja meg, hogy postaláda-memóriaként saját RAM memóriájának egy részét bocsátja rendelkezésre, így a buszt tehermentesíti. Ebben az esetben az egységen belül nincsen szükség arbitrációs áramkörökre, ami lényeges helymegtakarítást jelent, így az intelligens slave-egység a folyamatillesztő áramkörökkel egy nyomtatott áramköri lapon helyezhető el. Egy ilyen egység ezután önállóan képes adatgyűjtési, vezérlési, szabályozási feladatok megoldására úgy. hogy ha a felsőbb szinttel kommunikációt kell végrehajtani azt kölcsönös megszakításokkal jelzik. A többprocesszoros rendszerbuszra csatlakozik a buszkérés jelzését és nyugtázását megvalósító egység. Ennek feladata az. hogy ha a többprocesszoros rendszerbusz felől adatátviteli kérelem érkezik akkor ezt 5 10 15 20 25 30 35 40 45 50 55 60 65 o