172377. lajstromszámú szabadalom • Mikroprogramzott adatfeldolgozó rendszer
5 172377 6 processzor módosító regiszteréhez szükséges információval tótjukéi. A periférikus 42 elsőbbség kódoló 43 kimenetét további 51 elsőbbség kódolóhoz csatlakoztatjuk, amely 52 kimenetén a kiválasztott periférikus gépnek megfelelő mikroprogram szintet jeleníti meg. Az ábrán két, 42 és 51 elsőbbség kódolót tüntettünk fel, mivel fennáll annak a lehetősége, hogy két vagy több periféria ugyanazon a mikroprogram szinten tartózkodjon és annk szükségessége is, hogy mindkét kiválasztott csatolót (a 48 vonal után) és a megfelelő mikroprogram szintet (az 52 kimenet után) azonosítani lehessen. Fizikai megvalósításukat tekintve a 42 és 51 elsőbbség kódolók egyetlen egységet képezhetnek, amelynek különböző fokozatai vagy részei külön kivezetéssel rendelkeznek. A periférikus gép kérésekre vonatkozó elsőbbségi döntések és mikroprogram szintmeghatározások eredménye az 52 kimenettől egy 53 multiplexerhez jut. Az 53 multiplexer két bemenete közül választani képes, amikoris az egyik bemenetét az 52 kimenet másik bemenetét pedig a periférikus kérésektől független processzortevékenység mikroprogram szintek meghatározásához használt 55 reverzibilis számláló 54 kimenete képezi. Az 53 multiplexer 56 kimenete többvonalas 58 kimenettel rendelkező szintazonosító 57 regiszterhez csatlakozik. Az elsőbbséget a periférikus tevékenységgel kapcsolatos mikroprogram szintek kapják meg, oly módon, hogy az 53 multiplexer az 52 kimenettel összekötött bemetéhez kapcsol azon eset kivételével, amikor perifériával kapcsolatos tevékenység iránti kérés nem, létezik. Elsőbbség fennáll a periférikus kérések között is, és egy mikroprogram szint megszakíthat egy alacsonyabb elsőbbségi szintet. A periférikus tevékenységhez hét szintet rendelünk, és ezeket csökkenő elsőbbségi rendben bináris 0001-0111 számokkal jelöljük, tehát itt a ”0000”-ás értékhez tartozik a legnagyobb elsőbbség. A periférikus kérések által kiváltott szintmegszakításokat 59 komparátor felhasználásával végezzük el, és ez az 52 kimenetét (60 vonalon át) összehasonlítja a szintazonosító 57 regiszter 58 kimenetével (61 és 62 vonalakon át). Ha az 52 kimenetén alacsonyabb bináris érték (magasabb elsőbbség) jelenik meg, mint a szintazonosító regiszter tartalma, akkor az 59komparátor egy 63 vonalra előre meghatározott kimeneti jelet juttat. A 63 vond megszakítást engedélyező 64 áramkörhöz csatlakozik, amelynek feladata annak biztosítása.hogy a megszakítás ne zavarjon egy éppen folyó vezérlősorozatot, például egy tárolási ciklust. Hatása van még a megszakítások frekvenciájának korlátozására is. A 64 áramkör csak akkor engedélyez periféria megszakítást, ha az utolsó megszakítás óta már legalább három processzorciklus eltelt. Amint a későbbiekben még ismertetjük, a főtár hozzáférésének kezdetét követő öt cikluson belül is letiltja a megszakítások elvégzését. Ezt a vezérlést kisebb számláló vagy léptető regiszter felhasználásával könnyen megoldhatjuk. Ahhoz a processzorciklushoz, amelynél a mikroprogramszint 57 regiszter állapotot változtat, az éppen folyó mikroprogram címregisztertől a megfelelő új crmregjsztene való átkapcsolás tartozik. Az ilyen mikroprogram címregiszterek 16-szavas véletlen hozzáférésű, beírható 65 tár különböző szórekeszeit tartdmazzák. A 65 tár címzése a szintkimeneti 61 vonalról történik. A megszakítási szintváltozás engedélyezése egy 66 multiplexert a 49 többszörös vonalhoz kapcsoltatja, amely a 66 multiplexer egyik választható bemenetét képezi, és 67 kimenetét ennek megfelelően vezérli. A 66 multiplexer 67 kimenete, tár címző 68 áramkört táplál, amely 69 úton keresztül a 10 tárelrendezést címzi és így megfelel az 1. ábrán a nyilld ellátott 14 útvondnak. A 66 multiplexer egy másik 70 bemenete 71 számláló kimenetével van összekötve. A 71 számláló a 10 tárelrendezés 12 főtárának normd sorrendi címzésére kiválasztható, és így a 69 út ellátja az 1. ábrán nyíllal jelölt 17 címűt funkcióját is. A tárcímző 68 áramkört a 66 multiplexer 67 kimeneténä tüntettük fel, mert rendszerint nagysebességű ráfizetés nélkül előnyös a tárméret maximdizálására, mivel a 10 tárelrendezést átlapoló páratlan és páros címzéssel tótja el. Ha változtatjuk a mikroprogram szintazonosító 57 regiszter tartalmát, akkor ez a 65 tárban különböző rekeszt választ ki, és így a 65 tár előzőleg kiválasztott helyói megőrzi a visszatérő mikroprogram tárcímét. Az új mikroprogram cím a 49 többszörös vondról érkezik és a 69 úton jelenik meg, elhozva így a mikroprogram 11 tárból kivett első olyan mikroutasítást, amely a nagyobb elsőbbségű kérdező periféria dtd igényelt sorozat első tagját képezi. A 69 út elágazik a 65 tár bemenete felé, és így az új, mikroprogram tárcím a szintregiszter kimeneti 61 vondávd kiválasztott mikroprogram címregiszter helyre lesz beírva. A mikroprogram kivétele, dekódolása és végrehajtása átlapolódásának következtében a processzorban két előző mikroutasítás még detben marad, egy közülük a dekódoló fokozatban (az 1. ábra adatáramlásfeldolgozó üzemében). Ha ezen mikroutasítások egyike ugrást vagy amint ezt a későbbiekben leírjuk, főtár hozzáférést igényel, szükség lesz a megszakított szintre való visszatérésre, hogy el lehessen jutni ahhoz a mikroprogram tárcímhez, amely ugrást igényelt, tehát ávényteleníteni kell a megfelelő és következő utasításokat. Ezen érvénytelenítés elvégzéséhez 72 logikd áramkört dkdmazunk, amely 73 kimenetén ”0010” értéket szolgáltat minden processzorciklusnál a megszakítás utáni kivételével, amikoris értéke ”0001” -re csökken, majd az éppen folyó processzorciklus ”0000” értékű lesz, kivéve ha ugrást vagy térhozzáférést kezdeményeztünk, amikor megváltozását 75 vondról megtiltjuk. A 72 logikai áramkör kimenete egy másik 16-szavas véletlen hozzáférésű beírható 74 tár bemenetét képezi, amely 74 tár beírható helyeit is a szintkimenet 61 vonda határozza meg és az a 61 vond a 74 tár részére reverzibilisen címző 77 számlálót állít be. Az érvénytelenítő 74 tárban lefutás után az ennek megfelelő rekesz a megszakításból történő visszatérés után az érvénytelenkendő mikroutasítások számát képviselő számot fog tárolni. Az érvénytelenítő 74 tár 76 kimenete 78 aritmetikai egység bemenetét képezi, amely az 1. ábrán vázolt 21 aritmetikai egység részét képezi és az a feladata, hogy a 76 kimeneten megjelenítő érvénytelenítő számot levonja a mikroprogram címregiszter 65 tárához tartozó 79 kimeneten megjelenő értékből. Az ennek megfelelő módosított tárain egy 80 útvondon jelenik meg és egyúttd a 66 multiplexer bemenetét is képezi. A 66 multiplexer éppen ezt a be menetet választja ki egy megszakított mikroprogram szintre történő visszatérés kapcsán és ez meg fog 3 5 10 15 20 25 30 35 40 45 50 55 60 65