195015. lajstromszámú szabadalom • Processzor elrendezés primitív és összetett eljárásokat meghatározó utasítások végrehajtására

195015 szí vissza a vezérlést, amely címtől kezdve a rendszerprogram indításához szükséges utasítások és állapotok szerepelnek az M memóriában. A terminátor utasítás és a hozzá tartozó kapcsolás ismertetése előtt egy további pri­mitív utasítás és azt végrehajtó áramkör is­mertetésére van szükség. A találmány sze­rinti elrendezés használójának a programo­zás bizonyos szabályait be kell tartania. Egy ilyen szabály például az, hogy összetett uta­sítás végrehajtása előtt az összetett utasítás kezdő címét, a 3. ábra példája esetén a 101- -es címet a PAR paraméterverembe be kell vinni. Valójában ennél eggyel kisebb címet, azaz a 100-at kell bevinni, mert a végrehaj­tási ciklusban automatikusan ezt az értéket eggyel növeljük. További szabály az, hogy minden összetett utasítás végrehajtása előtt egy EXECUTE elnevezésű primitív utasítást végre kell hajtani. Erről a feltételről a mű­ködést biztosító operációs rendszernek kell gondoskodnia. Amint rövidesen látni fogjuk, az EXECUTE utasítás gondoskodik arról, hogy az összetett utasítás végrehajtása után a megfelelő állapotba visszatérhessünk. A 4. ábrán az EXECUTE utasításhoz tar­tozó vezérlő áramkör látható. A 18 lokális vezérlő modulnak ez az áramköre két D tí­pusú 24, 25 flip-flopból áll, amelyeket az óra­jelek engedélyeznek. A 24 flip-flop vezérlő bemenete a 17 eljárás dekóder megfelelő, a példakénti esetben huszonhetedik kimeneté­ről EXECUTE utasítás esetén kap 1-es logi­kai szintet. Az ezt követő első órajelre a 24 flip-flop kimenetén a következő vonalak ke­rülnek 1-es állapotba: !ERP, POPPAR és 1PR. Az ezt követő órajelre a 25 flip-flop ki­menetén FETCH jel keletkezik. A !ERP ál­lapot értelmét az 5. ábra kapcsán ismertet­jük. A RET visszatérési verem vezérlését a 23 mutató regiszter végzi, amely a verem mély­ségét mutatja, és a példakénti esetben hat bites hosszúságú. A 23 mutató regiszterrel 26 átmeneti tár is kapcsolódik, mely szintén hat bit tárolására alkalmas, és a kapcsolás­hoz tartozik egy 27 ekvivalencia vizsgáló áramkör, amely mind a 23 mutató regiszter­rel, mind pedig a 27 ekvivalencia vizsgáló áramkörrel összeköttetésben áll. A 27 ekvi­valencia vizsgáló áramkör kimeneti vona­lán ?ERP = 1 állapot akkor következik be, amikor a 26 átmeneti tár értéke megegyezik a 23 mutató regiszterével. A 26 átmeneti tár beírását a !ERP állapot váltja ki, ennek 1-es értéke esetén a 23 mutató regiszter pillanat­nyi értéke íródik be a 26 átmeneti tárba. Az összetett eljárásokat megelőző EXECUTE utasítás hatására a 24 flip-flop kimenetén előáll a !ERP állapot is, ennek hatására a 26 átmeneti tárba beíródik a RET visszaté­rési verem pillanatnyi mélysége. Ezzel egyidejűleg a POPPAR utasítás a PAR pa­raméter veremből az IADB buszra kihozza 9 az elvégzendő összetett eljárás paraméter­mezejének kezdőcímét (illetve az annál 1 -el kisebb értéket) és ez az érték az IPR álla­pot hatására az IP interpretation pointerbe íródik. A soronkövetkező FETCH állapot ezt eggyel megnöveli és az M memóriának ezen a címen tárolt tartalmát utasításként az IADB buszra viszi. Az összetett utasítás végrehajtása a már leírtak szerint történik. Az utasítás végre­hajtása során szükség van a »;« terminátor utasításra. A 18 lokális vezérlő modulnak az ehhez tartozó áramköre a 6. ábrán látható. A 17 eljárás dekódernek a »;« terminátor utasításhoz tartozó huszonnyolcadik kimene­te D-típusú 28, 29, 30 és 31 flip-flopokhoz, 32, 33 ÉS kapukhoz, 34 inverterhez és 35 VAGY kapuhoz csatlakozik, amelyek a 6. áb­rán vázolt módon kapcsolódnak. Az eddigi­ekkel összhangban mindegyik flip-flop ve­zérlést a központi órajelektől kap. A terminátor utasítás végrehajtása a 28 flip-flop kimenete után elágazik. Az elága­zás a ?ERP vonal állapotától függ. A 3. áb­rán vázolt példa esetén az összetett utasítás végrehajtása során a terminátor utasítást először az M memória 1003-as címénél hasz­náltuk fel. Megjegyzendő, hogy az összetett utasítás indítása előtt az EXECUTE utasí­tásban lévő !ERP jellel a 26 átmeneti tárba beírtuk a RET visszatérési verem pillanatnyi értékét, ami például éppen 0 volt. Amikor az 1003-as címen a »;« utasítást kiváltottuk, akkor a RET visszatérési verem már nem volt üres, benne tároljuk az IP interpretati­on pointernek az összetett eljárást megelő­ző 101 -es állapotát, ami a visszatérést lehe­tővé teszi. A 27 ekvivalencia vizsgáló áram­kör kimenetén ezért 0 állapot van (nincs ekvivalencia), ezért ?ERP = 0 és így a 34 invertert követő 33 ÉS kapu nyit ki. A so­ronkövetkező órajelre POPRET és IPR = 1 állapotok keletkeznek, ennek hatására a RET visszatérési veremben tárolt visszatérési cím az IADB buszra, innen pedig az IP interpre­tation pointerbe íródik. Ez utóbbi értéke te­hát 101. A 31 flip-flopon és a 35 VAGY ka­pun keresztül FETCH állapot keletkezik, amely az IP interpretation pointert eggyel növeli és a folyamatvégrehajtást az M me­mória 102-es címéről folytatja. Ehhez hasonlóképpen történik a 2004-es címen található »;« terminátor utasítás vég­rehajtása is, mert a RET visszatérési verem a 102-es visszatérési címet tárolja, ezért ?ERP ismét nulla értékű. A 103 címen azon­ban a terminátor utasítás primitív utasítás­ként jelentkezik, a RET visszatérési verem már üres. Ez tulajdonképpen azt jelenti, hogy a 101 -es címen kezdődő összetett eljá­rás végrehajtása befejeződött. A terminátor ciklus végrehajtása során a 27 ekvivalencia vizsgáló áramkör észleli, hogy a 26 átme­neti térben tárolt 0 érték azonos a 23 mutató regiszter értékével, és ?ERP=1 állapot követ-10 7 5 10 15 20 25 30 35 40 45 50 55 60 65

Next

/
Oldalképek
Tartalom