172377. lajstromszámú szabadalom • Mikroprogramzott adatfeldolgozó rendszer

11 172377 12 felhasználásukig védve legyen, tárfoglaltság jelzést hozunk létre, hogy ennek törléséig megakadályozzuk a mikroprogram szintváltozásokat. Ez a törlés célsze­rűen nem később következik be, mint meghatározott számú mikroutasítás elteltével, amely a tárcím 71 számláló beírását követi, és így megakadályozzuk egy szintváltozás határozatlan letiltását, amely rendkívül káros lenne egy periférikus gép számára, például szinkronműködő, lényegében puffer nélküli gépek, azaz lemez- és kártyaolvasók esetében. Ezt a meghatá­rozott számot hardware útján automatikusan vagy alternatív megoldásként egy mikroprogram- irású megállapodás révén kijelölhetjük, és a példaként! esetben ezen meghatározott szám értéke öt. A 12 főtár kiolvasási művelete során a tárcímző 71 számlálót egy mikroutasítással terheljük meg, amely beállítja a tárfoglaltság feltételét, például oly módon, hogy a 71 számláló közelében elhelyezett 116 bistabil átbillen. Ezen a címen a kiolvasott adatokat a tár kimeneti 115 regiszterében a 71 számláló terhelését követő harmadik mikroutasítás során érvényesnek jelezzük, és a tárfoglaltság jelzést töröljük, mihelyt a tár kimeneti 115 regiszterét operán dus fonásként, már felhasználtuk. Két kiolvasási művelet egymást átlapolhatja, ha a második kiolvasást, amelyet a 71 számláló terhelésével kezdeményeztünk, még a 115 regisztert operandusforrásként felhasználó utasítást közvetlenül megelőző utasítás során végezzünk el. Ekkor a 115 regiszterbe juttatott második szót még a 71 számláló első megterhelését követő ötödik utasítás bekövetkezése előtt szintén operandusként kell fel­használni. Tárbeírás műveletnél a tárcím 71 számlálót meg­töltjük, a 116 bistabil beállítjuk, majd a tárbeírási 114 regisztert töltjük. A 116 bistabilt akkor álltjuk vissza, amikor már a tárbeírási 114 regiszterhez hozzáfér­tünk. Két be írási művelet egymást nem fedheti át, de egy beírási művelet átfedhet egy kiolvasást, ha a 71 számláét azzá az utasítássá töltjük, amely közvetle­nül megelőzi az a folyamatot, amikor a 115 regiszter kimenetét operandusként hasznájuk. Ekkor a beme­neti 114 regiszter megtöltését az olvasási művelethez használt 71 számláó megtöltését követő ötödik utasí­tás előtt kell elvégezni. Lehetővé tesszük még az olvasási-módosítási-be írá­si tárműveletet is, amelyet a térfoglaltsági feltételhez engedáyezett öt mikroutasításon belül lehet befejez­ni. A csatolók például a 33 tárcsatér 34 tárcsa olvasó, 35 nyomtató, 36 video egység, 37 Standardinterface, 38 mű olyan hardware áramkörök, amelyek az esetleg szükséges bármely spedáis rendeltetésű mikrokód sorozattá összhangban megváasztott felépítésük ré­vén képesek bármely olyan különbség elrejtésére, amely egyébként egy operációrendelő kód számára nyilvánvaló lenne, amely kódból a tárolt mikroprog­ram lefordítja a belső processzorműveletek vezérlésé­hez ténylegesen hasznát utasítások áapkészletének a rutinját. Ez a tulajdonság az új periférikus berendezé­sekhez vagy mechanizmusokhoz viszonyítva nagy rugámasságot biztosít, mivel egy megfelelő csatoló rendelkezésre állása esetén mái nincs szükség a processzor újraszervezésére. A mikroutasítások áapkészlete több ismert utasí­tásból ál. Például 32-bites, kétcímű utasítások fel­­használhatók aritmetiká műveletekhez mint össze­adáshoz, kivonáshoz és irányítási és logiká művele- 6 tekhez, mint például mozgatáshoz, és/vagy üzem-ekvi­­váencia függvények képzéséhez. A háromcímű utasí­tások hasonló logiká függvényeket tartámazhatnak és kiterjednek még az és-nem, az ekviváencia, a nem-és függvényekre azzá együtt, hogy ezután össze­hasonlítják az ugrási és a rekesz vagy regiszter bitbeállítási műveleteket. 16-bites utasítások használa­­táná fő utasításként átáában a vátozó regiszter terhelésű, aritmetiká és logiká műveleteket néhány léptetési és rekeszbeálítási művelettel együtt haszná­juk. A 16-bites segéd utasítások ákámasak betölteni és aritmetiká műveletekhez az őket kísérő 16-bites főutasítások eredményei alapján,továbbá alkámasak a rekeszekkel és indikátorokkal vagy komparátoiokká kapcsolatos eredményektől függő különböző ugrási műveletekhez. Néhány különösen hasznos további mikroutasítás­­típust most részletesebben is leírunk. Egy ilyen núkroutasítástípus az ismertetett processzor előnyös byte-orientált szervezésével kapcsolatos, amelyben minden szó harminckét bitet tartámaz, és a szavak egyenként nyolc bitet tartalmazó négy byte-ra vannak osztva. Az érintett utasítástípust áapvetően az egyik operandus bármelyik byte-jának kivételére és egy másik operandus bármely más byte-jának helyettesí­tésére szánjuk. Felhasznáható továbbá kiválasztott byte-oknak egyenként történő továbbítására, vala­­mint olyan szavak létrehozására, amelyekben egy byte az egyik forrásból, a másik három pedig egy másik forrásból származik. Az adott utasítástól függő­en általában mindkét forrást és rendeltetési helyet fel lehet cserélni. Például, ha az operandusok a 83, 84 tárak A és B regisztereiben helyezkednek el, a 107 vagy 108 multiplexerek megfelelő bemenetelnek kivá­lasztása útján bármelyik operandusokból szelektíven byte-okat vehetünk ki. Az így vezérelt műveletek, különösen amelyek alkalmasan megválasztott módosí­tókat használnak, hasznos, és rugalmas byte-kezelési képességet biztosítanak. Azokban az esetekben, ahol a karaktereket byte­­rendszerben képezik és kezelik, a fentiekben említett utasítástípust igen hatásos karakterkezelési képességé­nek lehet tekinteni. Az a tény, hogy a processzor byte-orientált jellegét karakterszervezésnek lehet te­kinteni, azt jelenti, hogy azokat a cél utasításkódokat, amelyek inkább szó-, mint byte-orientáltak, előnyö­sen lehet alkalmazni. Szó-orientált cél utasításkóddal kapcsolatos adato­kat a byte-orientált processzorral könnyen el lehet helyezni, ha a szóhosszúság mindkét esetben azonos. A processzor szóhosszánál kisebb sóhosszúsággal rendelkező célkódok továbbá szintén elhelyezhető, mégpedig két további núkroutasítástípus felhasználá­sával, amelyek egyike az szó-orientált alapot olyan részekre hasítják, amely kisebb a processzorhoz alkal­mazott byte- hosszúságnál és a byte-ok megmaradó helyeit nullákkal tölti meg. Az ilyen utasítást EX­PAND utasításnak nevezzük, és úgy hat a léptetőre­giszterre, hogy az a bitekkel kapcsolatos műveleteket elvégzi, a nullákat pedig hozzáadja. A másik utasítást a feldolgozás után használjuk, hogy a nullákat eltávo­­lítsuk és összefűzzük a szó értékes bitjeit, és ezt az utasítást COMPRESS utasításnak nevezzük, és ugyan­csak léptetőregiszterrel kapcsolatban végezzük el. Négy byte-os 32 bites processzorszavak és 24 bites célkódszavak esetében egy megfelelő EXPAND utasí­tás 24 bitszót egy léptetőregiszter 0-23 helyzetében ír 5 10 15 20 25 30 35 40 45 50 55 60 65

Next

/
Oldalképek
Tartalom