195015. lajstromszámú szabadalom • Processzor elrendezés primitív és összetett eljárásokat meghatározó utasítások végrehajtására
ra íratja, így az M memóriát az IP interpretation pointer pillanatnyi tartalma címzi. A következő órajelre a 152 flip-flop kimenetén jelenik meg az 1-es állapot (a 151 flip-flop állapota 0 lesz), és ez a DATA és INPUT vonalak állapotát 1-es szintre viszi. Az IADB buszra most az M memóriának az előbbi címen kiolvasott tartalma jelenik meg. A következő órajelre a 153 flip-flop kimenete válik 1-es értékűvé, és a 12, 13 ÉS kapuk engedélyezésével új ciklus kezdődik, amikor azt nézzük meg, hogy az IADB buszon lévő utasítás primitív vagy összetett eljárásra vonatkozik. A FETCH utasítás tehát: — az IP interpretation pointert 1 -el növeli — ezen növelt értékkel címzi az M memóriát — az M memória tartalmát az IADB buszra viszi — új ciklust indít. Tételezzük fel, hogy a most indított új ciklusban a végrehajtandó utasítás összetett, azaz a 11 VAGY kapu értéke 1-es. Ekkor a 12 ÉS kapu kimenete válik 1-es értékűvé, a 13 ÉS kapu nem nyit ki. Ennek hatására a következő események történnek: a) PUSHPAR = 1 ez az állapot a PAR paraméter verem tetejére beírja az IADB buszon lévő kódot, ami maga az összetett utasítás, továbbá a 22 mutató regisztert 1 -el növeli. b) A következő órajelre a 191 flip-flop kimenete 1-re vált és ezáltal: IPW és PUSHRET = 1 állapot áll be. Az IPW = 1 hatására az IP interpretation pointer pillanatnyi értéke az IADB buszra íródik, a PUSHRET = 1 hatására ez az érték a RET visszatérési verembe beíródik, a 23 mutató regiszter értéke eggyel növekszik. c) A következő órajelre a 192 flip-flop értéke válik 1-es értékűvé, és ennek következtében: POPPAR és IPR = 1 állapotok állnak be. A POPPAR = 1 állapot a PAR paraméter verem tartalmát az IADB buszra viszi és a 22 mutató regiszter értéke 1 -el csökken. Az IPR = 1 állapot az IP interpretation pointerbe beolvassa az IADB busz állapotát. d) A következő órajelre a 193 flip-flop értéke válik 1-essé, és ez a FETCH = 1 állapotot váltja ki, amely a 15 fetch vezérlő logikát a már ismertetett ciklusba vezérli, és előtte az IP interpretation pointer tartalmát eggyel növeli. 7 A 19 belső interpreter logika hatására tehát egy összetett utasítás végrehajtása során az alábbi fő események történnek: — Az MÉM memóriának azt a címét, amelyen a szóbaníorgó összetett utasítás található, eltároljuk a RET visszatérési verembe; — magát az utasítást átmenetileg a PAR paraméterverembe tároljuk, majd értékét az IP interpretation pointerbe viszszűk; — új ciklust indítunk, melynek során az IP interpretation pointer értékét egygyel növeljük és ezen a címen kiolvassuk az MÉM memóriát és tartalmát új utasításként vesszük figyelembe. Az. itt leírtakat a 3. ábra kapcsán példával világítjuk meg. A 3. ábra az M memória különböző ADDR címekhez rendelt tartalmát, azaz a DATA adatokat szemlélteti. Legyen a vizsgált összetett utasítás decimális értéke 1000, amely az M memória decimálisán 101 címén van tárolva. Az 1000 értékű összetett utasítás azáltal került az IADB buszra, hogy előtte az M memóriát az IP interpretation pointer a 101-nek megfelelő tartalmával címezte. Az 1000 tartalmú utasítás összetett eljárás, végrehajtása során a RET visszatérési veremben eltároljuk a 1C1 -es értéket, ami az IP interpretation pointer kezdeti értékének felel meg. Ezt követően az IP interpretation pointerbe bevisszük az 1000-es értéket, majd új ciklust indítunk, amikor az IP interpretation pointert eggyel növeljük. Az M memóriának most az 1001 -es címen lévő tartalmát hozzuk ki új utasításként. A 3. ábra táblázata szerint ez az érték 16, ez primitív eljárásnak felel meg, azt végrehajtjuk, majd új ciklust indítunk, amely a soronkövetkező, azaz 1002-es memóriacímről indúl. Az ehhez tartozó utasítás is primitív utasítás, azt végrehajtjuk, és az 1003-as címen sajátos primitív utasítást találunk, melynek száma 28, jele pedig »;«, ami terminátor utasítást jelent. Ennek a terminátor utasításnak a végrehajtása azt eredményezi, hogy a RET visszatérési veremben tárolt 101 -es címhez visszatérünk; és a végrehajtást a 102 címen folytatjuk. A 102 címen ismét összetett eljárás van, amelynek címe 2000. üj összetett eljárás végrehajtási ciklus kezdődik, amelynek során most a 102- -es címet mentjük a RET visszatérési verembe. Hasonlóképpen itt is primitív eljárások végrehajtása történik a soronkövetkező címeken, majd a 2004-es címen ismét terminátor utasítást találunk, amelynek eredményeként az eltárolt 102-es címre való visszatérés után az eggyel megnövelt 103-as címet hajtjuk végre. Amikor itt a 28-as terminátor utasítást érzékeljük, akkor a RET visszatérési veremben már nincsen cím, amit eltároltunk, a rendszert a kezdeti állapotba kell visszavinni. A terminátor utasítás ezt a feladatot is végrehajtja és az M memória X címére vi-8 195015 5 10 15 20 25 30 35 40 45 50 55 60 65 6