186323. lajstromszámú szabadalom • Multimikroprocesszoros rendszer
7 186323 8 25 regiszter bemenete között elhelyezett 29 engedélyező áramkörrel stb. áll összeköttetésben. Az (N—3)-ik yN_3 kimenet az első 25 regiszter és az utolsóelőtti 25 regiszter között levő 30 engedélyező áramkörrel, az yN 2 kimenet az N-ik és az (N — l)-ik 25 regiszterek közötti 31 engedélyező áramkörrel, az yN-1 kimenet pedig az első és az utolsó 25 regiszter közötti 32 engedélyező áramkörrel áll összeköttetésben, ahol az összes 25 regiszter rendelkezik egy-egy 33 be-/kimenettel, amely a 16 mikroprocesszor modul 5 be-/kimenetével van összekötve, az első 25 regiszter pedig még egy további 34 be-/kimenettel is el van látva. A 4. ábrán a hierarchikus multimikroprocesszor rendszer tömbvázlata látható. A hierarchikus multimikroprocesszoros rendszer több 35 SIMD multimikroprocesszoros rendszerből áll, amelyek több 18 kommutációs áramkörrel állnak kapcsolatban ; és meghatározott számú 35 SIMD multimikroprocesszoros rendszerben az első 25 regiszterek kiegészítő 34 be-/kimenetei az első hierarchia-lépcső 36 kommutációs áramköreihez vannak csatlakoztatva, amelyeknek 27 vezérlőbemenetei a csoportban levő első 35 SIMD multimikroprocesszoros rendszer első 16 mikroprocesszor moduljának 11 címsínjeivel állnak összeköttetésben. Az első hierarchialépcső 36 kommutációs áramköreinek első 25 regisztereinek kiegészítő 34 be-/kimenetei csoportosan vannak a második hierarchia-lépcső (szint) 36 kommutációs áramköreihez csatlakoztatva, amelyeknek 27 vezérlőbemenetei az egyes 16 mikroprocesszor modulok 11 cím-síneivel állnak összeköttetésben, amelyeknek 11 cím-sínei az első hierarchia-lépcső 36 kommutációs áramkörére vannak csatlakoztatva stb., az utolsó hierarchia-lépcsőben (szinten) pedig a 16 mikroprocesszor modulok közötti összeköttetést egyetlen 37 kommutációs áramkörrel valósítottuk meg, amelyek 27 vezérlőbemenetei az első 35 SIMD multimikroprocesszoros rendszer első 16 mikroprocesszor moduljának 11 címsínjeivel vannak összekötve. Ebben az esetben az első mikroprocesszor címtartományában kell lenniük az összes hierarchia-lépcsőben (szinten) levő kommutációs áramkörében történő adatcseréhez szükséges címeknek is, a nulladik lépcsőtől az utolsó lépcsőig, viszont a többi vezérlő 16 mikroprocesszor modulnak kevesebb ilyen címet kell tartalmaznia. Az 5. ábrán egy 64 MSIMD multimikroprocesszor rendszer felépítésének elve látható, amely tizenhat darab 35 SIMD multimikroprocesszoros rendszerből áll: az egyes 35 SIMD multimikroprocesszoros rendszerek négy-négy 16 mikroprocesszor modult tartalmaznak, amelyeket az 5. ábrán MO—M63-mal jelöltünk, a nulladik, első és második hierarchialépcsők 36, 37 kommutációs áramkörei négy-négy 25 regiszterrel rendelkeznek, amelyeket az 5. ábrán RO, R4, ... R60- nal jelöltünk, mely számok a rendszeren belüli modulszámnak felelnek meg. A 36, 37 kommutációs áramkörök vezérlését a csoportban levő első 16 mikroprocesszor modulok 11 cím-sínein keresztül valósítjuk meg. Az ilyen típusú hierarchikus multimikroproceszszoros rendszerekben a 35 SIMD multimikroprocesszoros rendszerben levő 16 mikroprocesszor modulok száma a fentitől eltérő is lehet, eltérő lehet továbbá a kommutációs áramkörökben levő 25 regiszterek száma is. Az SIMD rendszerekben a modulok legkisebb száma kettővel egyenlő. Szabályos struktúrát akkor kapunk, ha minden SIMD rendszerben két modul, és minden kommutációs áramkörben két regiszter van. Ebben az esîtben a hierarchia-lépcsők száma log2N. Az ilyen rendszerekben az összeköttetések „fa” struktúrához hf sonlóak. A 2. ábra szerinti multimikroprocesszoros rendszer a következőképpen működik. Mindegyik mikroproceszsz ír egy és ugyanazon kezdőcímmel indul -tr ami a programszámlálójában van —, amely cím a közös ROM 2C tárolóban levő első utasítás címével jelzett program. Mindegyik mikroprocesszor egy és ugyanazon utasítást címezi meg, amelyet azonban csupán az első mikroprocesszor 20 tárolójából olvasnak ki ténylegesen, az utasítás kódja azonban a 17 „utasítás” fővezetéken keresztül mindegyik mikroprocesszorhoz eljut, mivel a IC puffer áramkörök nyitva vannak. Amennyiben az utasítás a helyi RAM típusú 2 tároló egy operandusám k címét tartalmazza, mindegyik mikroprocesszor végrehajtja a szóbanforgó utasítást, éspedig a saját 2 tárolójában az ezen a címen levő adatokkal, ugyanal kor a 10 puffer áramkör lezáródik és a 17 „utasítás” fővezeték és 9 belső „adat” fővezeték között nem áll fe in összeköttetés a továbbiakban. Az egyes modulok ezt az utasítást önálló mikroprocesszorokként hajtják végre. Bizonyos számú utasítás végrehajtása után szükség lehet arra, hogy a 16 mikroprocesszor modulok ac'atokat cseréljenek. Ezt a következőképpen érjük el: mindegyik mikroprocesszor elküldi adatait az 5 be-/kimíneten keresztül a megfelelő 25 regiszterébe, amely a 18 kommutációs áramkörben van, ami egy és ugyanazon utasítássorozat (alprogram) végrehajtásával párhuzamosan történik: ezután egy fiktív utasítás végrehí jtása következik (például egy összehasonlítás, amelynek során a tároló rekeszének tartalma nem változik míg), a fiktív utasítás címét a 23 logikai áramkör dekódolja és a mikroprocesszorok beállító 14 „ÁLLJ” impulzus bemeneteire egy „ÁLLJ” jelet küld; ugyanilyen módon egy címet is adunk a 23 logikai áramkörre, amivel a 18 kommutációs áramkör működését ismét engedélyezze k ; ezután az első mikroprocesszor kiolvassa és „végrehijtja” a fiktív utasításokat, amelyeknek címeit a 18 kommutációs áramkörben levő kicserélési kódok képezik, amíg a 25 regiszterekben levő adatok eltolása (shiftelése) meg nem történik. Gondoskodni kell azonbrn arról, hogy megakadályozzuk, nehogy a fiktív utasítások az első mikroprocesszorban levő adatokat mígváltoztassák, és amennyiben ez nem lehetséges, a fe’tételkódokat előre kell tárolni. Érdemes ezeket a fiktív utasításokat minél rövidebbre venni, hogy a szükséges adatcsere végrehajtási idejét lerövidítsük. Ezután k; pcsoljuk be az összes mikroprocesszort (lehetőség szírint ugyanazzal a címmel, amivel a 23 logikai áramki rben levő „T” flip-flopokon keresztül be lettek kapcsolva, valamint egy másik módon is), és végrehajtjuk az alapprogramot, amellyel a 3 párhuzamos be-/kimeneti áramkör 5 be-/kimenetén keresztül a mikroprocesszorok 25 regisztereiből egy szó hosszúságú adatokat olvasunk be. Ezután következhet a következő utasítás végrehajtása vagy egy újabb adatcsere. Az egyes 16 mikroprocesszor modulok RAM típusú 2 tárolóiban levő adatok kívülről is beléphetnek, mégpedig a 4 adat be-/kimeneteken keresztül párhuzamosan; ezeket az adatokat a közös RAM típusú 21 tárolóból a 17 „utasítás” fővezetéken keresztül is át lehet vinni, amikor az egyik m ódul felé irányuló átvitel közben a többinek beállítva kell lennie, amit korábban kell végrehajtani. A 16 5 10 15 20 25 30 35 40 45 50 55 60 65 5