172377. lajstromszámú szabadalom • Mikroprogramzott adatfeldolgozó rendszer
7 172377 8 egyezni a 65 tár megfelelő helyével kivéve azt az esetet, amikor érvénytelenítő művelet elvégzésére van szükség. Nagyobb elsőbbségű mikroprogram elkezdéséhez a szint-meghatározó 57 regiszter állapotában változásnak kell bekövetkezni, és ezt a regiszter 65 és 74 tárak aktivált helyein valamint a 69 úton a tárhoz továbbított címben következetesen változásoknak kell kísérni, és ez váltja ki a 49 többszörös vonalon kijelölt mikroutasítás lehívását. A következő processzorciklusban megfelelő dekódolás történik (az 1. ábrán jelölt 19 utasításdekóder révén és a megszakított szint utolsó mikroutasításának végrehajtása ekkor következik be (1. ábra, 21 aritmetikai egység). Általános kifejezéssel élve belátható, hogy a tápvezeték további átlapolt funkciót is magába foglal, azaz a mikroprogram tár címének képzését. A mikro programszint 57 regiszter tartalmának változását követő második processzorciklusban a megszakítást kiváltó mikroutasítások közül az első végrehajtását kell elvégezni. Ez magában foglalja az ismételt üzemi regiszterek közötti átkapcsolást, amint azt a 3. ábra kapcsán részletesen ismertetjük. Az 57 regiszter 58 kimenetét alkalmasan megválasztott időpontban megoldott kapuzással 81 regiszterhez továbbítjuk. A 81 regiszterről a mikroprogram szintváltozást követő második ciklusban 82 kimenetét arra használunk, hogy megváltoztassuk a véletlen hozzáférésű 83, 84, 85 és 86 tárokhoz vezetett címeket, amely tárak megismételt üzemi A, B, K és C regisztereket képeznek. A többszörös K és C regiszterek mindegyike 16 szóhellyel rendelkezik, amelyek közül a 82 kimeneten megjelenő mikroprogram szintjelzés időpontjában egyet kiválasztanak. A K és C regiszterek kiválasztott egy-egy bankja 89 és 90 úton keresztül reverzibilis 87 és 88 számlálók pillanatnyi tartalmát fogadják. A 85 tár K regisztereit a megfelelő mikroprogram szintek mikroprogram hurkainak vezérlésére használják, és mindig nullába állnak, amikor egy szint először kerül felhasználásra. A 86 tár C regisztereit akkor terheljük meg, amikor a hozzájuk tartozó mikroprogram szintek már beléptek és tartalmuk a 28 üzemi tár (1. ábra) címeihez módosítást képez, miáltal minden mikroprogram szint és különösen minden periférikus csatoló a 28 üzemi tár előirt helyéhez hozzáférést kap, és ez a hely a többi csatolótól eltérhet és rendszerint el is tér. A K regisztereket minden esetben nullázzuk, amikor egy C regisztert megterhelünk, tehát egy csatoló első kiválasztása esetei. Egy periférikus csatoló megszakítások kezdetét követő két processzorciklus után kiválasztjuk a megfelelő C regisztert és ebbe betöltjük a csatoló alrendszerinterface-tőljövő 50 többvonalas út értékét. Ezt a 91 úton keresztül végezzük el egy 92 multiplexer megfelelő bemenetének a kiválasztása révén, miközben egyidejűleg egy 94 multiplexerhez teljes-zéró 93 bemenetet választunk ki, hogy a 87 számlálót (K regiszternél) a multiplexer 95 kimenetén keresztül töröljük. A C regisztereknek a 28 üzemi cámmódosítója gyanánt történő felhasználása lehetővé teszi ugyanannak a mikrokód résznek a különböző mikroprogram szinten történő végrahajtását éppúgy, mint a megegyező szintű végrehajtást, ha egyszerű visszavétel történik. Ez egy adott szinten indítható mielőtt a végrehajtás ezen a szinten befejeződne, és az eredeti szint végrehajtásához történő visszatérés előtt egy 4 vagy több szintmegszakítás is befejezhető. Ez a tulajdonság hasznosnak bizonyul a Standardinterface csatolók meghajtásánál. Abban az időpontban, amikor a kiválasztott C regisztert egy periférikus csatoló mikroprogram szintbelépésen terheljük meg, a módosító megterhelése a multiplexer kimeneti 90 útjának 96 elágazásán keresztül 97 dekóder felé történik abból a célból, hogy 98 úton és a csatoló interfacen keresztül vezérlőjelet, küldjünk a kezdeményező periférikus csatolónak, amelyet ezáltal alkalmassá teszünk arra, hogy adatait egy közös adat-főút bemenettől a processzorhoz juttassa és figyelembe vegye a processzortól érkező jeleket. A kiválasztott C és K regiszterek 99 és 100 utakon keresztül a megfelelő üzemi tár címzési és hurokszabályozási célokból a processzor aritmetikai egysége részére hozzáférhetők. A 92 és 94 multiplexerek 101 és 102 bemenetel a 21 aritmetikai egység kimeneteivel állnak összeköttetésben és így a feldolgozáshoz szükséges regisztertartalom változások elvégezhetők. A regiszter kimeneti 99 és 100 útjairól a 92 és 94 multiplexerek többi bemenetéhez visszacsatoló 103 és 104 utak vezetnek abból a célból, hogy a 88 és 87 számlálók terhelésén a megkívánt szelekciót el lehessen végezni. Az A és B regisztereket tartalmazó 83 és 84 tárat a 21 aritmetikai egység operandus forrásaként valamint egyéb célokra használjuk, például a 28 üzemi tár töltésére, a 12 főtár címeinek biztosítására, beírandó tárolási adatokhoz és a C és K regiszterek megtöltésére. Minden regiszter egy része célszerűen felhasználható üzemi tár cimmódosítóként is. Ezt a kiválasztott A és B regiszterek 105 és 106 kimenetein keresztül biztosítjuk, amely vonalakat 107 és 108 multiplexerek kiválasztható bemenetéihez csatlakoztatunk. A 107 és 108 multiplexerek 109 és 110 kimenetei a 21 aritmetikai egységhez tartozó 111 és 112 operandusregiszterekhez csatlakoznak. A gyakorlatban a multiplexereknek több alternatívan kiválasztható bemenete van és 109 és 110 kimeneteik szükség esetén egyéb rendeltetési helyekre is elágaztathatok és multiplikálhat ók. Ilyen egyéb bemenetet képez a bináris mindenzéró, bináris minden egy, a kiválasztott periférikus csatlakozótól származó adatok és a főtártól érkező adatok, de ezeket az áttekinthetőség megőrzése céljából a rajzon nem tüntettük fel. Az A és B regiszterek csak kilenc máységgel rendelkeznek, egy tartozik minden egyes periférikus tevékenységi mikroprogram szinthez (0001-től 0111) egyet a hibák számára tartunk fenn (”0000”szintet) és egyen az összes processzorral kapcsolatos mikroprogram szint (1000-1111) osztozik. Ez azért van így, mivel a processzorhoz rendelt mikroprogram szintek képezik az egyetlen tevékenységet, amely halmozási célokra használtató, míg ezek minden szinthez külön vezérlési információt igényelnek, itt csak arra van szükség, hogy egyetlen adatforrási készletet biztosítsunk, tehát a tártól érkező és a tárhoz irányuló operandusokat vagy szavakat. A mikroprogram szintkiválasztási 82 kimenet csatlakozik egy további szó-szervezésű véletlen hozzáférésű beírható 113 tárhoz, amelynek a 21 aritmetikai egységtől érkező bemenetei és ehhez csatlakozó kimenetei vannak, hogy ezáltá a 21 aritmetikai egységben lévő összehasonlító karakterek és indikátorok állapotával kapcsolatos információt szolgátasson, amelyre a 5 10 15 20 25 30 35 40 45 50 55 60 65