172377. lajstromszámú szabadalom • Mikroprogramzott adatfeldolgozó rendszer
13 172377 14 és az alábbi jobbra haladó lépéseket végezteti el: a 0-5 biteket két hellyel, a 6-11 biteket négy hellyel, a 12-17 biteket hat hellyel, a 18-23 biteket pedig nyolc hellyel. A következő bithelyzetekbe nullákat Írunk: 0 és 1, 8 és 9,16 és 17, 24 és 25. Az így létrehozott szó négy byte-os lesz, amelynél miden byte két legnagyobb helyértékén nullák lesznek. Egy másik utasítástípus lehetővé teszi bármely kijelölt logikai művelet elvégzését egy létező • operándus és egy speciálisan létrehozott operandus között. A létező operán dust előnyösen a képzetes tárhoz tartozó utasításban előírt címről, vagy módosítás nélkül az üzemi tárból szerezhetjük meg. A speciálisan létrehozott operandusnak vagy „l”-es értéke van, vagy egy egyébként mindenütt nullát tartalmazó 32 bites szó egy névleges bithelyzetébe egy speciális karakter állapota kerül beírásra. A logikai művelet eredményét arra használhatjuk, hogy ráírjuk a létező operandusra, vagy a névleges karaktert helyettesíthetjük a névleges bithelyzethez kapott eredménnyel. A mikro utasítás különböző mezői írják elő a létező operandust, a logikai művelet típusát, a névleges bithelyzetet, a kijelölt karaktert (amennyiben egyáltalán létezik) és az eredmény felhasználási módját. Ez az utasítástípus különösen hasznos a periférikus berendezés állapotának, pddául működőképességének vizsgálatánál. Ez magában foglalja egy állapotszó több bithely ének ellenőrzését, amelyet legkedvezőbben úgy végezhetünk el, hogy sorjában különböző névleges bithelyzeteket választunk ki, hogy ezáltal logikai műveleteket jelöljünk ki, amelyek közbenső eredményeit egy karakter helyzetben a Boole-függvényként tároljuk. Éppúgy, mint a byte-ok és a szavak között végzett összehasonlításnál ugrási lehetőséget biztosítottunk, az utasításkészlet tartalmaz mikroutasítást egy ugrásnak az előírt operandus névleges bitjén végzett vizsgálattal összhangban történő vezérlésére. Ez különösen hasznosnak bizonyul a periférikus gép állapotáról az előző utasítástípussal szerzett vizsgálati eredmény ellenőrzésénél. Egy adott célkód függvényről a processzor alap mikroprogram függvénykészletére történő fordítást egy további mikroutasítástípus segíti elő, amelyet egy kijelölt szó bármely mezőjének időleges levonására használunk. Ezt a funkciót ügy látjuk el, hogy az érintett szót előírt számú bithelyzettel továbbléptetjük, majd a léptetőregiszterben a szó egyik végétől, általában a kevésbé szignifikáns végétől előírt számú bitet kiválasztunk. A szó kiválasztott részét vagy mezejét ekkor alkalmas módon feldolgozhatjuk, hogy alkalmassá váljon a kívánt mikroprogram funkció címére történő fordításra. Ez magéban foglalja a főtár egy funkciós táblázatának alap-címétől kezdődő indexezését. Ez a táblázat a mikroprogram rutin indítási címei mellett a címzendő rutinok szempontjából lényeges egyéb információkat is tartalmazhat. Az alábbiakban az ICL 1900-as sorozat funkciós műveletei egyikét jellemző példaként ismertetjük. A választott funkciót egy regiszter terhelés (LDX) képezi, amelyre, szükség van a célrúd bármely kiegészítése esetében, és az alábbi alapvető lépésekből áll: ahol specifikus számokat adtunk meg, azok hexadecimális alakban fordulnak elő; 1) Az ICL 1900 utasításcímét a tárcímző regiszterbe töltjük és lehívjuk a megfelelő utasítást (cél-utasítást). Ez expandált formában következik be, amenynyiben behelyezett nullákat tartalmaz, amelyek ezt négy, egyenként 8 bites byte-ra egészítik ki. 2) A tár kimeneti regiszterében lévő utasítást összesűrítjük az 1900-as gép 24 egymást követő bites formátumára, ahol a sűrítést léptetőregiszterrel és a fentiekben ismertetett null-eltávolítássd végezzük el. Az eredményt a B regiszterbe tesszük. 3) A B regiszter tartalmából időlegesen kivonunk, hogy az utasítás funkciómeghatározó részét a legkevésbé, szignifikáns helyértékekre vigyük és ezeket kivonjuk. Itt 14 bithellyel jobbra elvégzett léptetés és a 9 legkevésbé szignifikáns bit kivonása történik. Az eredményt arra használjuk, hogy a funkciós táblázat alapcímét indexszel lássuk el, hogy kidolgozzuk a megfelelő üzemi tár hozzáférését. 4) A B regiszter tartalmának második időleges kivonásával (18 hellyel jobbra történő léptetés és az 5 legkevésbé értékes bitek kivonása) kapjuk meg az érintett regiszter címét és ezt ismert üzemi tár címhez tesszük. 5) A B regiszter tartalmát harmadszor időlegesen kivonjuk (8 hellyel jobbra történő léptetés és a C bitek elvitele), és így olyan információhoz jutunk, amely arra vonatkozik, hogy mit kell beírni a kívánt regiszterbe és ezt egy másik ismert üzemi tár címhez tesszük. 6) A kijelölt regisztert a kívánt tartalommal töltjük meg miután már különböző vizsgálatokat elvégeztünk, például, hogy lássuk, vajon a beírandó információ (5. lépés) betűs vagy regiszter címzés, és ha regiszter címzés, vajon kijelöli-e azt a regisztert, amelybe a kivont regisztereimet tettük, vagy vajon a két cím ugyanazt a regisztert jelöli-e ki. A 6. lépés végrehajtása előtt elvégzendő egyéb lépések közé tartozhat annak eldöntése is, hogy módosító kijelölése történt-e, például a C vagy B regisztertől. A kezdeti tárhozzáférésnél a fenti 1. és 2. lépés között két processzorciklusnak megfelelő késleltetés lesz, és ezt rendszerint az érintett cím érvényességi vizsgálatára használjuk, amely vizsgálat ismert módon annak a vizsgálatnak a kiterjesztése, amely az 1. pontban leírt tárhozzáférés előtt kezdődik. A processzor különböző regisztereinek kimeneteit a 2. és 3. ábrákon tüntettük fel, amelyeket IS nyilakkal láttunk el, hogy ezzel jelezzük az 1. ábrán feltüntetett képzetes tárban történő tárolásukat. Ilyen módon ezen ágak megfelelően megválasztott kapuzásával áttekinthető képet kapunk a processzor tevékenységéről, amely hibamegállapítási célokra különösen hasznos. SZABADALMI IGÉNYPONTOK Adatfeldolgozó berendezés, amely tárat, több periférikus berendezést és elsőbbség kódolót (42,51) tartalmaz, amely többszörös vonalon (41) keresztül a periférikus berendezésekhez csatlakozik, azzal jellemezve, hogy az elsőbbség kódoló (42,51) kimenetéhez csatlakoztatott szintazonosító regisztere (57), vdetlen hozzáférésű tára (65) van, a tár (65) címbemenete, a szintazonosító regiszterhez (57) csatlakozik és kimenete tárelrendezés (10) címbemenetével van összekötve, ez az összeköttetés előnyösen aritmetikai 7 5 10 15 20 25 30 35 40 45 50 55 60 65