170181. lajstromszámú szabadalom • Digitális kiszámítógép nulla-, egy-, két- és háromcímes utasítások végrehajtására

170181 7 8 utasításai rendelkeznek- A GET utasítás a címzés szempontjából közönséges memóriareferenciás utasí­tás: az effektív cím meghatározása ugyanazokban a vezérlő szekvenciákban történik, mint egyéb memó­riareferenciás utasítások esetén, ilyen szempontból 5 tehát a GET utasítás nem okoz többlet áramköröket a számítógépben. A GET utasítás végrehajtásakor a speicifikált tá­rolócím meghatározásával egyidejűleg a központi egy­ség nufladmes állapotból egycímes állapotba, egy- 10 címesből kétcímesbe ill. kétcímesből háromdmes állapotba kerül. Egydmes állapotba tehát egy, két­tímes állapotba kettő, háromcímesbe pedig három GET utasítás végrehajtása után kerül a központi vezérlőegység. A GET utasítás(ok) végrehajtása során 15 pedig egy, két vagy három tárolócím meghatározására kerül sor, melyek átmenetileg a számítógép egy-egy belső regiszterében tárolódnak. Előnyös olyan kon­vendó alkalmazása, hogy az első GET utasítás cél­operandusra, az esetleges második és harmadik GET 20 utasítás forrásoperandus(ok>ra mutat, mert ilyen módon a második és harmadik GET utasítás által kijelölt tárolóhely tartalma biztosan változatlan, így a megdmzett operandusok az említett (más szavakkal: a nem nuflacímes módban végrehajtott) GET utasítá- 25 sok végrehajtásakor azonnal kiolvashatók a tárolóból, és a címek helyett a kiolvasott operandusok írhatók a regiszter(ek)be. Az előnyösen nulladmes alap-utasításrendszer uta­sításainak végrehajtása a központi egység egycímes, 30 kétcímes illetve háromdmes utasításvégrehajtási mód­jában a nulladmes módban történő végrehajtáshoz képest a következőképpen módosul: Ha egydmes módban (tehát közvetlenül egy GET utasítás végrehajtása után) hajtunk végre olyan utasí- 35 tást, mely nufiadmes módban egy akkumulátor­regiszterre vonatkozik (regiszter típusú utasítás), az akkumulátorregiszter szerepét a GET által megcím­zett memóriahely veszi át. Az utasításkód akkumu­látorregisztert kijelölő bitjeinek értéke érdektelen, 40 hiszen az operandus ilyenkor nem az akkumulátor­regiszterből, hanem az operatív tárolóból kerül elő, illetve az eredmény ide íródik (store típusú utasítás). Ha az előbbi utasítást kétcímes módban (közvet­lenül két GET utasítás végrehajtása után) hajtjuk 45 végre, a forrás operandust a célszerű konvenció szerint a második GET utasítás szolgáltatja, az ered­mény az első GET utasítás által címzett tárolóhelyre kerül. (Store-Store utasítások) Az említett regiszter típusú utasítások háromdmes 50 módban történő végrehajtásának általában nincs értel­me. Ha egydmes módban (közvetlenül egy GET utasí­tás végrehajtása után) olyan utasítást hajtunk végre, mely nuflacímes módban két akkumulátorregiszterre 55 vonatkozik (regiszter-regiszter utasítások), az egyik akkumulátorregiszter szerepét a GET által megcím­zett memóriahely veszi át, a művelet a memóriahely és a másik akkumulátorregiszter között megy végbe. Az utasításnak az egyik akkumulátorregiszter kiválasz- 50 tását előíró bitjei érdektelenné válnak, ezen bitek egyike felhasználható arra, hogy a tároló - és akkumulátoroperandusok közöttti forrás-cél viszonyt meghatározzák. (Regiszter-Store utasítások) Ha az említett Regiszter-Regiszter utasításokat 55 kétdmes módban (közvetlenül két GET utasítás végrehajtása után) hajtjuk végre, mindkét akkumulá­torregiszter kiválasztását előíró bitek érdektelenné válnak, a művelet a célszerű konvendó szerint a második GET utasítás végrehajtása során meghatáro­zott (és az erre a célra kijelölt regiszterben őrzött) forrásoperandus és az első GET utasítással megcím­zett tárolóhely tartalma (céloperandus) között megy végbe. (Store-Store utasítások) Ugyanezeket a Regiszter-Regiszter utasításokat há­romdmes módban (közvetlenül három GET utasítás végrehajtása után) végrehajtva a művelet a célszerű konvenció szerint a második és harmadik GET utasí­tás által megadott forrásoperandusok között megy végbe, és az eredmény az operatív memóriának az első GET utasítással megcímzett tárolóhelyére kerül. (Sto­re-Store-Store utasítások) Ha a kisszámítógép alap-utasításkészlete Regiszter-Store típusú műveleti utasításokat is tartalmaz, egy­dmes módban ezen utasítások értelemszerűen Store-Store utasításokként hajtódnak végre: az egyik ope­randust a GET utasítás, a másodikat közvetlenül a végrehajtandó utasítás jelöli ki az operatív tárolóban. Kétcímes módban az utasítás háromdmes Store-Store utasításként hajtódik végre. Háromdmes módban a végrehajtásnak nincs értelme. Ha az utasításkészlet Store-típusú utasításokat is tartalmaz, egydmes módban ezen utasítások értelem­szerűen Store-Store utasításokként hajtódnak végre, pl. úgy, hogy az operandust a GET utasítás írja elő, a művelet eredménye a végrehajtandó utasítás által kijelölt tárolóhelyre kerül. A nulladmes utasításrendszerek mindig tartal­maznak néhány memóriareferenciás utasítást a legfon­tosabb egycímes utasítások végrehajtására. Ezek az utasítások helyettesíthetők GET és nulladmes utasítá­sok kombinádójával, mindazonáltal a leggyakoribb egycímes utasításoknak célszerű önállóan szerepel­niük, mert a programokban való előfordulásuk gyako­risága miatt ezek maximális sebességű végrehajtására kell törekedni. (Tipikusan ilyenek az akkumulátor­memória közötti adatmozgatást előíró utasítások). A központi vezérlőegység minden GET-től eltérő utasítás végrehajtása után nulladmes utasításvégrehaj­tási módba kerül. Az előbbiek alapján látható, hogy a központi vezérlőegység nulla-, egy-, két- és három­dmes utasításvégrehajtási módjainak alkalmazásával olyan utasításrendszer alakítható ki, mely alapvetően nulladmes, és így a nulladmes utasításrendszerek minden előnyös tulajdonságával rendelkezik, ugyan­akkor egyetlen utasítás (GET) bevezetésével - mely utasítás végrehajtásának hardware igénye jelenték­telen - lehetőség nyílik az összes akkumulátorregisz­terre hivatkozó művelet memóriahelyeken történő végrehajtására, egy-, két- és háromdmes opdós utasí­tások létrehozására, úgy, hogy a műveletek többtímes végrehajtását ugyanazok az utasítások (utasításkódok) írják elő, mint a megfelelő nulladmes műveletekét. Maga a műveleti végrehajtás többcímes módban csak abban különbözik a nulladmes módtól, hogy egy vagy két operandust nem az akkumulátorregíszterek, hanem egyéb hardware regiszterek szolgáltatnak és az eredmény akkumulátorregiszter helyett egyéb hard­ware regiszterbe íródhat, ahonnan eltárolódik a me-, , 4

Next

/
Thumbnails
Contents