172445. lajstromszámú szabadalom • Programozható vezérlőber kis- és közepes kapacitású kapcsolórendszerekben különösen távbeszélő központokban történő alkalmazásra
3 172445 4 lehető legkisebb memóriát igénylő programok szerkesztését teszi lehetővé optimális vezérlőberendezés hardware ráfordítás mellett. A kitűzött cél megvalósításához az alábbi felismeréseken keresztül jutottunk el. A feldolgozó egység kialakítása akkor célszerű, ha kihasználja az adott alkalmazási területen jelentkező tipikus adat és programstruktúrák (algoritmusok) speciális tulajdonságait. Telefonközpontok esetében a következő alapvető, lényeges vonás figyelhető meg a vezérlési funkciókat leíró algoritmusokban és adatstruktúrákban: A telefonközpont egészének vagy egy önálló egységének vezérlő rendszere viszonylag sok. egymáshoz láncszei'fterj kapcsolódó, rövidebb rutinból áll. Ezek jellemző tulajdonsága, hogy egy aránylag zárt, funkcionálisan összetartozó adatokat tartalmazó adattömb elemein végeznek különböző vft«nszformá.QÍókat, legtöbbször elemi logikai relációk egymásutáni vizsgálatának eredményeképpen a tömb néhány elemét módosítják. Egy adott esetben aránylag rövid döntési sorozat adódik, viszont az elemek variációinak következtében igen sokféle eset fordul elő. Így a rutinok önmaguk is igen sok rövidebb. hálószerűén elágazó parallel döntési hurokból tevődnek össze. Ezek az elágazások döntő többségben a szóbanforgó rutinon belül végződnek, vagyis kevés a más. külső rutinra való hivatkozás. Ugyanez vonatkozik az adattömbre is. olyan értelemben, hogy más adattömbre való hivatkozás is ritkán fordul elő és akkor is csak ..ideiglenes" jelleggel, azaz az idegen adattömbre való hivatkozás után mindig visszatérünk a saját adattömb elemeire. Az idegen adattömb az esetek többségében valamilyen közös táblázat vagy konstanstár formájában jelentkezik, ahonnan a kívánt adatot kivéve a rutinok a továbbiakban a saját adatok feldolgozását folytatják. A fentieket a program és adatcímkezelés módszerében lehet úgy kihasználni, hogy az ezen módszer szerint konstruált programok hossza lényegesen rövidebb legyen, mintha azokat valamilyen általános célú processzor gépi nyelvén írnánk. Ehhez persze hallgatólagosan feltételezzük azt, hogy a szóbanforgó módszert alkalmazó célprocesszorunk utasításkészlete egyébként kifejezőkészségben egy színvonalon van az összehasonlításban szereplő általános célú processzoréval. Egy utasításkészlet kifejezőkészségét leginkább a gépi utasítások számával szokták jellemezni. Nyilvánvaló, hogy a gépi utasítások számának növelése a „kifejezőkészséget" növeli, vagyis segítségével rövidebb, tömörebb programok nyerhetők. Az is belátható, hogy ugyanakkor a processzor utasításvégrehajtó egysége bonyolultabb, nagyobb hardware-t igényel, mintha kevesebb gépi utasítást realizálnánk. Ha például az utasítás végrehajtása mikroprogramozott, akkor ismert módon az utasítás műveleti kódja az utasítás mikroprogramjának a mikroprogramtárban levő kezdőcímét határozza meg a kezdőcímtár tartalma alapján. Minden további nélkül belátható, hogy mind a mikroprogramtár, mind a kezdőcímtár volumene arányos a műveleti kóddal kifejezhető maximális számmal. Ha olyan műveleti kód formátumot sikerül találni, mely a végrehajtásnál bizonyos parallelizmust tesz lehetővé — ami alatt azt értjük, hogy az utasítás végrehajtásához szükséges vezérlő jelek előállítását a műveleti kód különálló bitcsoportjai által vezérelt egységek parallel vég- 5 zik — akkor a hivatkozott tárak, a csatlakozó dekóder és egyéb áramkörök volumene jelentősen csökkenthető. Erre ugyancsak a telefontechnikai alkalmazás során legsűrűbben előforduló speciális utasítás és művelettípusok felismerése és kihasználó lása ad elvi lehetőséget. Mint említettük, a vezérlési folyamatokban leggyakrabban előforduló feladat adattömbök logikai elemzése és ennek alapján logikai-aritmetikai művelet végzése a tömb meghatározott elemein. Így az elvégzendő elemi tevékenyig ségek (utasítások) majdnem mindegyike kapcsolatba hozható nemcsak egy. hanem többfajta logikai-aritmetikai művelettel. Amennyiben az utasítások döntő többsége (>80%) ilyen, akkor a műveleti kód egy bitcso.’<> portja az illető művelet kijelölésére lefoglalható és külön kezelhető, vagyis mikroprogramozott vezérmű vezérlésére csak a maradék bitcsoport szükséges. Ez az előbbiek értelmében olyan hatású, mintha az utasítások számát redukáltuk volna. Emellett a tényleges utasításszámot továbbra is a műveleti kód teljes hossza határozza meg. biztosítva a programtár méretét erősen befolyásoló „kifejezőkészség" megtartását. A programtár méretének csökkenése nem pusz: tán a memória árában jelentkezik. Ez a haszon elenyészik amellett, ami egyrészt a karbantartás során jelentkezik (pl. hibakeresés), másrészt, ami a rövidebb programok által elért kisebb futási idő következtében felszabaduló processzor idő további kihasználásából adódik. Ismeretes, hogy a jelenleg üzemben levő tárolt programvezérlésű kapcsolórendszerek programrendszerében a tényleges vezérlési programok részaránya mintegy 30—40%. a fennmaradó többlet a bonyolult, terjedelmes soft• ’ ware kezeléséhez, valamint az üzemviteli, ellenőrzési. tartalékolási és hibabehatárolási funkciók ellátására szolgáló speciális operációs rendszer befogadására szükséges. A vezérlésre jutó magas költséghányadnak nem kis része éppen ezen tényezők- nek tulajdonítható. Amellett, hogy ezen software többlet közepes kapacitású központok esetén más vezérlési filozófia alkalmazásával (pl. decentralizált vezérlő rendszer) jelentősen csökkenthető, a megmaradó rész döntő mértékben függ a közvetlen -v-' vezérlési programok volumenétől. Az említett előnyöket azzal érjük el, hogy a találmány szerinti programozható vezérlőberendezés. amelynek program és adatmemóriája, első címvezetéknyalábon keresztül kapcsolódó első cím- 55 regisztert és második címvezetéknyalábon keresztül kapcsolódó második címregisztert, valamint utasításszámláló és adatlapcímtároló egységet tartalmazó memória vezérlője, továbbá utasításregisztert, mikroprogramozott vezérművet, műveleti címtárat, arit- 60 metikai és logikai egységet, belső állapottárat tartalmazó utasításvégrehajtó egysége és munkaregiszter egysége van, azzal jellemezve, hogy a memóriavezérlőben levő adatlapcímtároló egységnek első adatlapcímregisztere második adatlapcímregisztere 65 és kapcsolóegysége van, az első adatlapcímregiszter 2