187034. lajstromszámú szabadalom • Kapcsolási elrendezés mikroprocesszoros rendszerek fejlesztésére és/vagy ellenőrzésére
1 187.034 2 A kitűzött feladatot úgy oldottuk meg, hogy fejlesztésnél é$/vagy ellenőrzésnél a gazdakészülék és a célkészülék buszait kötöttük össze egy speciális egységen, a buszkapcsolón keresztül. A buszkapcsbló egység jelkapcsolókat, címfigyelőt, feltételvizsgálót és vezérlőt tartalmaz. A cínifigyelő, a feltételvizsgáló és vezérlő a gazdakészülék felől programozható. A bus/.kapcsoló'rilyen kialakításával a gazda és a célkészülék között számos fejlesztési és/vagy ellenőrzési együttműködés megvalósítható. Ezek közül a fontosabbak: 1. Szabadon futó mód: nincs logikai kapcsolat a két készülék között. 2. Processzor emulációs mód: a gazdakészülékben lévő processzor emulálja a célkészülék proceszszorát. Ebben az üzemmódban a gazdakészülékben meglévő tetszőleges memória és/vagy periféria - köztük megszakításos és/vagy közvetlen hozzáférési periféria — is emulálható a célkészülék számára. 3. Célprocesszor mód: a célkészülék processzora a működtető processzor, azonban tetszőleges memória és/vagy periféria emulálható. Ez az üzemmód alkalmas a teljesen kiépített célkészülék ellenőrzésére is, amikor már emuláció nincs, de programfutás nyomkövetésére, leállítására és elindítására szükség van. A buszkapcsoló az adott üzemmódnak megfelelően összekötött gazda- és célbuszon lévő egysége közül azokat, amelyek működését az adott üzemmódban tiltani kell, kiegészítő jelekkel helyezi inaktív állapotba. Ilyen módon lehetséges az, hogy az összekötött buszon egyszerre két (vagy több) processzor modul Iehessen.de ezek közül egyidőben mindig csak egy dolgozhat, azonos címen két (vagy több) memória vagy két periféria lehessen, amik közül egyszerre mindig csak egy dolgozhat. A buszkapcsoló alkalmazásához* a gazdakészülék oldalán ezeket a kiegészítő jeleket mindenképpen ki kell építeni, a célkészülék oldalán azonban nem feltétlenül szükséges. A célkészülék oldali kiegészítő jelekre csak akkor van szükség, ha a fejlesztés és/vagy ellenőrzés közben szükség van a célkészülék olyan egysének az emulálására is, amely fizikailag létezik a célkészülékben. A célkészülék oldali szerviz jelek lényegében buszbővítő funkciójú jelek. Egyes buszok ilyeneket (pl. memória vagy periféria tiltás) eleve tartalmaznak, ilyenkor a buszkapcsoló kényelmes használatához nem szükséges további buszbővítés. A találmány szerinti megoldásban az emulációs fejlesztés és/vagy ellenőrzés mentesül az in-circuit emuláció hátrányaitól. 1. Nincs szükség fejlesztés és/vagy ellenőrzés közben a célrendszer megbontására, ha van a célrendszer buszán egy üres - a fejlesztés és ellenőrzés céljait szolgáló - kártyacsatlakozó. Ebben a csatlakozóba kell bedugni a buszkapcsoló végződését 2. A gazdakészülék a célkészüléket annak legáltalánosabb felületén, a buszon keresztül látja, így lehetőség van többszintű megszakítási rendszerben megszakításos és/vagy közvetlen memória hozzáférésű periféria működésének figyelésére és emulálására. 3. A buszkapcsolón keresztüli emuláció alkalmazásával jelentősen egyszerűsödik az emulátor elektronikus illesztése is. A buszkapcsoló célrendszer oldali felülete ugyanis ugyanolyan típusú vevő és meghajtó áramköröket tartalmazhat, mint a célrendszer többi kártyája, így a jelszint és teljesítmény illesztés teljesül. A sebesség illesztésének az a megoldása, hogy aktív áramköröket helyeznek az emulálandó felület közvetlen környezetébe, könnyen kivitelezhető, ha a buszkapcsolót vagy annak egy részét közvetlenül a célkészülékbe bedugandó kártyán helyezzük el A találmány szerinti kapcsolási elrendezést a továbbiakban egy kiviteli példa kapcsán és rajz alapján ismertetjük részletesebben. A 3 buszkapcsoló az 1 gazdakészülék GB buszát és a 3 célkészülék CB buszát köti össze. A 9 kétirányú jelkapcsoló minden buszjelnéi gazda- cél, vagy cél-gazda irányú átvitelt tesz lehetővé. A 8 vezérlő határozza meg, hogy az üzemmódtól, a 7 címfigyelőbol érkező G/C vezeték jeltől és a GBvCB buszon folyó átvitel jellegétől függően melyik buszvezetéken milyen irányú átvitel legyen. Például az ún. célprocesszor módban az emulált 11 memóriából való olvasáskor a GB vagy CB busz cím- és vezérlőjeleit cél-gazda irányban, az adat jeleket gazda-cél irányban kell átvinni. A programozható 7 címfigyelőt, amely a CÍM vonalakra t csatlakozik a 3 célkészülék működésének megindítása előtt az ún. előkészítés módban kell beprogramozni. Ekkor azt adjuk meg, hogy a 3 célkészülék milyen című 11 memóriát és 13 perifériáit emulálja az 1 gazdakészülék. A 3 célkészülék megindítása után a 7 címfigyelő a G/C vezetéken jelzi a 8 vezérlőnek, hogy GB vagy CB buszon éppen jelenlévő cím emulált eszközre vonatkozik-e. A programozható 8 vezérlőnek 4 üzemmódja van, amelyek között a választás részben a fejlesztési/ellenőrzési konfigurációtól függ, részben az üzemmódok között ide-oda kapcsolunk, és a KJKV vezérlővezetékek kötik össze a 9 kétirányú jelkapcsolóval. Az üzemmódok a következők: 1. előkészítés mód: a 1 gazda és 3 célkészülék nincs összekapcsolva, a 8 vezérlő GE vezetéken engedélyezi az gazda 5 processzor működését, CE vezetéken tiltja a 12 célprocesszor működését. Ez a mód, amelyben előkészítjük az ezután induló működést, vagy vizsgáljuk a korábbi működés eredményét. A 8 vezérlő az előkészítés módból az 1 gazdakészülékből érkező parancs hatására a másik három mód valamelyikébe kerülhet. 2. processzor emulácis mód: akkor használjuk, ha a 3 célkészülék 12 processzorét a gazda- 5 proceszszorával akarjuk emulálni. A gazda GB és a célkészülék CB busza össze van kapcsolva, a 8 vezérlő engedélyezi a gazdakészülék 5 és tiltja a 3 célkészülék 12 processzorénak működését Az összekapcsolás miatt a gazda 5 processzor látja a 3 célkészülékben lévő azon 11 memóriákat és 13 perifériákat, melyeket a 7 dmfigyelő engedélyez - azaz amelyeket nem emulálunk. Az ellenőrzött. programfutásról 1 elmondottaknak megfelelően a vezérlő előkészítés módba kerül vissza, ha a 10 feltétel vizsgáló LF vezetéken leállító jelet ad ki (ez függhet címtől, adattól, vezérlőjeltől, stb.), 3. célprocesszor mód: akkor használjuk, ha a 3 célkészülék 12 processzorét kívánjuk futtatni. Az 1 gazdakészülék GB és a 3 célkészülék CB busza össze van kapcsolva, a 8 vezérlő tiltja a gazda 5 processzor működésiét és engedélyezi a 12 processzor működését Az összekapcsolás miatt a 12 processzor látja az 1 gazdakészülékben lévő azon 4 memóriákat és 6 perifériákat amelyeket a 7 5 10 15 20 25 30 35 40 45 50 55 60 3