177864. lajstromszámú szabadalom • Mikroprogramozott adatfeldolgozó berendezés
15 177864 16 vasó. illetve író jelek hardware úton kapuzva vannak a mikroutasításnak a 106,107,108 aritmetikai áramkörök működését engedélyező, valamint a 100, 101, 102 adóvevőket vezérlő bitcsoportjaival, amelyek a4mikroutasítás regiszter megfelelő vezérlő 26 kimeneteiről érkeznek. Lehetőség van a mikroprogram segítségével az egyes 106, 107, ill. 108 aritmetikai áramkörök aritmetikai műveleteinek invertálására független működés esetén, azaz az egyik, például a 106 aritmetikai áramkör összead, a másik pl. a 108 aritmetikai áramkör kivon ugyanabban a mikrociklusban. Ez az 5. ábra kapcsán ismertetett invertáló 195 módosító egység alkalmazásával történhet. A 8. ábra szerinti elrendezés 106, 107 és 108 aritmetikai áramkörei is elláthatók az 5. ábra szerinti kiegészítésekkel. A 2. ábrán ismertetett 57 kiválasztó és invertáló logikát a 8. ábrán levő rendszerben globális feltétel áramkörnek nevezzük. Az egyes 103, 104 és 105 alsínekhez hasonló felépítésű és szerepű 122, 123 és 124 helyi feltétel áramkörök csatlakoznak, melyek a 103, 104, ill. 105 alsínre forrásként ráadott adatokból állítják elő a megfelelő feltétel jelet 125, 126, ill. 127 kimenetükön. Ezen feltétel jelek — melyek a megfelelő 106, 107, ill. 108 aritmetikai áramkör engedélyezés 106B, 107B, ill. 108B bemenetére kerülnek — állapotától függően (ezt befolyásolják még az adott mikroutasítás egyes bitcsoportjai is, így például az aritmetikai áramkört engedélyező bitek stb.), vagy végrehajtódik az adott alsínhez tartozó aritmetikai áramkört mozgató mikroutasítás vagy nem, azaz a mikroutasítás feltételes. A 8 aritmetikai egységek önmagukban nem képesek a bonyolult szorzás és osztás művelet elvégzésére,vagy csak hosszabb, néhány mikroutasításból álló hurkok ismétlése útján. A szorzás és osztás megkönnyítésére illetve meggyorsítására több segédeszközt alkalmazhatunk. Ezek közül a legfontosabb a 15 belső adatátviteli sínre kapcsolódó, ott forrásként és címzettként 203 bemenetén a 4 mikroutasítás regiszter megfelelő 26 kimeneteiről egyaránt kijelölhető 200 ciklusszámláló, melyet a 8. ábra mutat. A 200 ciklusszámláló egy olyan oda-vissza számláló regiszter, melyet az adott hurokba való belépés előtt a hurokban megteendő „fordulatok” számával, vagy ennek komplemensével kell feltölteni a 15 belsőadatátviteli sínen keresztül. Ha a mikroutasítás egy adott bitje megfelelő álltapotban van, a mikroutasítás végrehajtása során a 200 ciklusszámláló léptető 201 bemenetére léptető jel kerül a 4 mikroutasítás regiszter megfelelő 26 kimenetéről, és így tartalma eggyel nő vagy csökken a lépésirány meghatározó 202 bemenetére a megfelelő 26 kimenetről ráadott jel szerint, amíg a tartalom nullává nem válik. Elég tehát a mikroutasítás hurok egy bitjét a fenti módon megjelölni,és a hurokból való „kiszállás” feltételeként a 200 ciklusszámláló nullává válását figyelni. A számlálás irányát szintén egy mikroutasítás bit határozza meg. A szorzás megkönnyítésére az 5. ábrán szemléltetett szorzó 191 módosító egység szolgál, amely a szorzó éppen soronlevő bitjének 1 állapotában az eddigi részeredményhez hozzáadja a szorzandó megfelelően elshiftelt értékét, 0 állapotában pedig 0-t. Ezt a 180 aritmetikai áramkört vezérlő megfelelő mikroutasítás bit kapuzása útján érjük el, mivel a szorzási parancsot is egy mikroutasítás bit hordozza. Hasonló osztó 193 módosító egység szolgál az osztás megkönnyítésére, ami szintén az 5. ábrán látható. Ekkor az osztandóból, illetve a maradékból kell kivonni az osztót vagy hozzáadni a kétszeresét. attól függően, hogy az előző kivonás sikeres volt-e, azaz az előző maradékban megvolt-e az osztó vagy sem. Az osztási parancsot is egy mikroutasítás bit hordozza, ezt módosítja a 193 módosító egység. A szorzást, illetve osztást segítő 191, ill. 193 módosító egységek alkalmazása lehetővé teszi, hogy — az előkészületi regiszterbeállításokat leszámítva — két n-bites szónak egymással való szorzása egy mikroutasítás n-szer való ismétlése útján elvégezhető. Az osztásnál egy további 192 módosító egység (5. ábra) segíti a mikroprogramozó feladatát, lehetővé téve a tényleges aritmetika hosszánál eggyel nagyobb bitszámú szavak osztását. Előállítjuk az előző mikrociklus átvitel jelét és az azt megelőző mikrociklus előjel jelét. Az éppen folyó mikrociklusban akkor avatkozik be osztás esetén a 192 módosító egység, ha a fent említett két jel tárolt KIZÁRÓ-VÁG Y kapcsolata logikai 1 értékű. Bizonyos speciális feladatokra orientált adatfeldolgozó berendezések (geometriai transzformációs proceszszorok, Fourier-analizátorok) kialakításánál szempont lehet a fentieknél gyorsabb szorzás végrehajtás, illetve vektor-mátrix szorzások elvégzése. Erre a célra szolgál a 9. ábrán mutatott párhuzamos működésű 120A mátrixszorzó egység. Ennek fő eleme a párhuzamos 116 szorzómű, amely egy olyan kombinációs hálózat, amely 128 szorzandó bemenetén és 129 szorzó bemenetén megkapja az egyenként n-bites szorzandót, illetve szorzót, és a terjedési (késleltetési) idő — amely a rendszer mikrociklus idejéhez közel áll—letelte után 120 és 121 kimenetén megjelenik a 2n-bites, kétszeres pontosságú szorzat. A párhuzamos 116 szorzóműnek nincs kimeneti regisztere, ami jelentősen gyorsítja a szorzási műveletvégzést. A párhuzamos 116 szorzómű 129 szorzó bemenetére a 15 belső adatátviteli sínen címzettként kijelölhető bemeneti 115 regiszter csatlakozik. A 128 szorzandó bemenetre a maximálisan 16-elemű (4x4-es mátrix) 117 mátrixtároló csatlakozik, amely forrásként és címzettként egyaránt kijelölhető a 15 belső adatátviteli sínen. A 117 mátrixtárolón belüli címzést a 118 cím- és maszkregiszter teszi lehetővé, amely címzettként szintén kijelölhető a 15 belső adatátviteli sínen. A 118 cím- és maszkregiszter címregiszter része egy 4-bites számláló, amely a párhuzamos 116 szorzómű alsó helyiértékü 121 kimenete kiolvasásának hatására a léptető 119 bemenetén kapott jelre inkrementálódik, maszkregiszter része egy 4-bites regiszter. A 117 mátrixtároló 130 címvezetékein a cím a címregiszter rész és a maszkregiszter rész megfelelő bitjeinek ÉS-kapesolatából áll elő. A maszkregiszter használatának célja az, hogy ha a szorzandó mátrix kisebb mint 4x4-es — pl. 3 x 3-as, 2 x 2-es vagy skalár —, akkor a 130 címvezetékek fölös, felső címbitjeit 0 állapotba hozza, fölöslegessé téve a 118 cím- és maszkregiszter ismételt beállítását. Ez akkor előnyös, ha pl. több vektort kívánunk ugyanazzal a mátrixszal megszorozni. A végrehajtandó műveletek tehát a következők : — feltöltjük a 117 mátrixtárolót, minden töltés előtt a 118 cím- és maszkregisztert is be kell állítani, — beállítjuk a 118 cím- és maszkregisztert úgy, hogy az a 117 mátrixtároló első elemére mutasson, — betöltjük az első vektorelemet a 115 regiszterbe, — vesszük a következő vektorelemet, és ezt töltjük a 115 regiszterbe, egészen az utolsó vektorelemig, — kiolvassuk a felső helyiértékű 120 kimenetet, 5 10 15 20 25 30 35 40 45 50 55 60 65 8