175939. lajstromszámú szabadalom • Üzemi regizter elrendezés adatfeldolgozó rendszerhez
5 175939 6 WA bemenet: a WAB 2 puffertől érkező beírási címre vonatkozik. Az RA és RIA bemenetek egyikét az utasítás dekódolási üteme során kiválaszthatjuk a 20 tár címzésére, hogy ilyen módon operandust olvasson ki a 20 tárból. Azt, hogy az RA, RIA és WA bemenetek közül melyiket válasszuk ki, az utasítás egy almezeje határozza meg, és ezt a továbbiakban XK almezőnek fogjuk nevezni, és ezt 22 dekóder dekódolja, hogy ezzel a 21 multiplexert vezérlő jelet hozzon létre. Ha az utasítás olyan, amely magába foglalja a 14 üzemi tárba való beírást, akkor az utasítás beírási üteme alatt a WA bemenetet választjuk ki. A beírási cím WA bemenetet a WAB 2 pufferban egy hét bemenettel rendelkező másik 23 multiplexerről vezérelt másik WAB 1 pufferral hozzuk létre. A 23 multiplexert 24 dekóder három-bites jele vezérli, amelyet az XK almezőből származtatunk. A 23 multiplexer bemenetei közül csupán az egyik, a WAX bemenet bír jelentőséggel a találmány szempontjából. Ilyen módon minden utasítás esetében a dekódolási ütemben egyidejűleg két címet hozunk létre: kiolvasási címet a 21 multiplexer kimenetén, és beírási címet a 23 multiplexer kimenetén. A kiolvasási címet azonnal felhasználhatjuk a 20 tár címzésére, úgy, hogy ez alkalmas a feldolgozás céljából egy operandust kiolvasni. A beírási címet a beírási címhez tartozó WAB 1 pufferban tároljuk, és ezt a végrehajtási ütem során a WAB 2 pufferhez továbbítjuk, és ilyen módon ez felhasználható a 20 tár címzésére az utasítás beírási üteme alatt. A művelet eredményét a 15 aritmetikai egységből ezután a 20 tár megcímzett rekeszébe beírhatjuk, amennyiben ezzel egyidejűleg a 12 vezérlő egységből a 20 tár engedélyező WE jelet is kap. Most a 3. ábrára hivatkozunk, amelyen az RA, RIA és WAX bemenetekre kapcsolt címzések létrehozási módját tüntettük fel. Ezen címek mindegyike nyolc bitből áll, ahol a négy legjelentősebb (legnagyobb helyértékű) bit nulla, a következő három bitet pedig az utasítás másik almezejéből származtatjuk, amely almezőt a továbbiakban XN almezőnek fogunk nevezni. Ilyen módon látható, hogy ezen címek mindegyike a 20 tárnak csak az első tizenhat szórekeszében helyezkedhet el. Ezt az első tizenhat rekeszt ezenkívül úgy is tekinthetjük, hogy nyolc rekeszpárra oszlik, és ezen párok egyikét az XN almező választja ki. Azt, hogy a kiválasztott pár melyik tagját fogjuk ténylegesen megcímezni, a cím legkisebb jelentőségű (legalacsonyabb helyiértékű) bitje határozza meg. Az RA és a WAX bemenetek címzésekor ezen nyolc rekeszpár felhasználásának módját az alábbiakban ismertetjük. Az egyes párakhoz tartozó két rekeszt felváltva használjuk az adott változó pillanatnyi értékének tárolására. A pár egyik rekeszéből a másikra való átváltást éppen azelőtt végezzük el, hogy ezen párhoz első beírási hozzáférést biztosítanánk magasszintű utasítás végrehajtásához tartozó mikroprogram sorozatban. Más szavakkal kifejezve a párhoz kiolvasási hozzáférést egészen addig a rekeszek egyikéhez biztosítunk, ameddig ezen párhoz első beírási hozzáférés nem történik, és ezt a beírási hozzáférést és az ezt követő kiolvasási vagy beírási hozzáféréseket már a pár másik tagjához fogunk biztosítani. Dyen módon látható, hogy a változónak a pillanatnyi mikroprogram sorozat kezdetekor felvett értékét minden esetben megőrizzük, még akkor is, ha ezen változónak esetleg új értékét írtuk be a sorozat futtatása alatt az üzemi tárba. Ha bármikor is szükség van ezen tárolt kezdeti érték ellenőrzésére (például diagnosztikai célból), akkor a RIA bemenet címét használjuk. Ez a cím pedig mindig jelzi a kezdeti értéket tároló rekeszt. Ha a sorozat újraindítása válik szükségessé, amely a változók kezdeti értékeit kell hogy felhasználja, mindehhez csak arról kell gondoskodni, hogy az egyes párak azon rekeszét helyezzük pillanatnyi rekeszként üzembe, amelyik a kezdeti értéket tárolja. Az RA, RIA, és WAX bemenetek címeinek legkevésbé jelentős bitjei létrehozásának módját, amely bitet az egyes párak alkalmas rekeszeihez való hozzáférés biztosítására használunk, az alábbiakban ismertetjük. Mind a nyolc rekeszpárral a pár pillanatnyi állapotát jelző jelzőszerv van társítva. Ezen jelzőszervek mindegyike két bistabil elemet tartalmaz, amelyek egyike U hasznos bitet, másika pedig M módosító bitet tárol. Az U hasznos bit jelzi, hogy a pillanatnyi sorozat alatt már történt-e beírási hozzáférés az adott párhoz. Az M módosító bit jelzi, hogy a hozzátartozó pár melyik rekesze tartalmazta a sorozat kezdetekor a pillanatnyi értéket. Az egyszerűség kedvéért a nyolc hasznos bitet közösen 30 regiszterbe csoportosítottuk, míg a nyolc módosító bitet a 31 regiszterbe csoportosítva tüntettük fel. A hasznos biteket nyolc antivalencia (nem ekvivalencia) 32 kapu révén hozzuk logikai kapcsolatba a hozzájuk tartozó módosító bitekkel. A 32 kapuk közül csak egyet tüntettünk fel. A nyolc antivalencia eredmény egyikét ekkor az XN almező értékével összhangban a 33 multiplexer révén kiválasztjuk, és a kiválasztott M=éU eredményt használjuk az RA bemenet legkevésbé jelentős bitjeként. Látható, hogy ha a hasznos bit még beállítatlan (tehát U = O), akkor a M ^ U azonos lesz a módosító bittel. Dyen módon az RA bemenetet használó kiolvasási hozzáférés következik be a kezdetben érvényes rekeszben. Akkor azonban, ha a hasznos bit már be volt állítva (az első beírási hozzáférésnél), akkor az M # U eredmény a módosító bit inverzével lesz egyenlő. Ez biztosítja, hogy az első beírási hozzáférést követő kiolvasási hozzáférések végrehajtása a másik rekeszben fog történni. A módosító biteket továbbítjuk egy 34 multiplexerhez is, amely az XN almező értékével összhangban ezen bitek egyikét kiválasztja. A kiválasztott bitet a 34 multiplexer invertálja, hogy kimenetén M bitet hozzon létre, amelyet a WAX bemenet legkevésbé jelentős bitjeként használunk fel. Dyen módon látható, hogy a WAX bemenetet használó beírási hozzáférések a kezdetben használt rekesszel minden esetben eUentétes rekeszben történnek. A 34 multiplexer nem invertált kimeneti M bitet is 5 10 15 20 25 30 35 40 45 50 55 60 65 3