Mikroprogram vezérlés eszközei

Alapvetően más megközelítést, amely lehetővé teszi, hogy felszámolja a komplexitás a CU merev logika által javasolt brit tudós M. Wilkes a korai 50-es években. Az ötlet alapja az a tény, hogy bármely mikro-művelet megkezdéséhez elégséges a megfelelő vezérlőjel (SS) létrehozása a megfelelő vezérlővonalon, vagyis az ilyen vonal átvitelére az aktív állapotra. Ezt bináris számjegyekkel (aktív állapot - SS) és 0 (passzív állapotban - SS nélkül) lehet ábrázolni. Az adott órában végrehajtott mikro-műveletek jelzésére egy vezérlőszót lehet létrehozni, amelyben minden egyes bit egy vezérlővonalnak felel meg. Az ilyen vezérlő szót microcommand (MK) -nek nevezik. Így a mikro-parancsot egy olyan vezérlőszóval lehet ábrázolni, amelynek nulláinak és zérusainak kombinációja van. A mikrociklusok egy bizonyos fázisát megvalósító mikro-parancsok mikroprogramot alkotnak. Az angol terminológiában a firmware-t gyakran firmware-nek nevezik, hangsúlyozva, hogy ez valami a hardver és a szoftver között. Az egyes VM parancsokhoz és az utasításciklus minden egyes szakaszához tartozó mikroprogramok egy speciális memóriába kerülnek, amely a firmware-memória. A CS létrehozásának folyamata egymás után (minden óraimpulzussal) végrehajthatók úgy, hogy kivonják a firmware mikroinstruációit a memóriából és értelmezik az abban lévő vezérlőjelek információit. Az ötlet sok VM tervező számára érdekes volt, de nem volt megvalósítható, mivel viszonylag nagy kapacitású gyors memóriát kellett használni. 1964-ben tértek vissza az IBM 360 rendszer létrehozásakor, azóta a programozható logikai vezérlő eszközök rendkívül népszerűvé váltak, és számos VM-be épültek.

A programozható logikával rendelkező mikroszkóp-gép megkülönböztető jellemzője a mikroprogramok tárolása kódolt formában egy speciális memóriaeszközben - a mikroprogramok memóriájában. A memóriában lévő minden VM parancs explicit formában mikroprogramnak felel meg, így gyakran a vezérlő eszközöket, amelyek programozható logikával ellátott firmware-t tartalmaznak, mikroprogramnak nevezik.

Ábra. 1. Firmware programozható logikával.

ahol az NMK a mikrokomponensek teljes száma; Az NCC a generált vezérlőjelek teljes száma.

Ez viszont a mikroprogram memória szükséges kapacitása

A mikro-parancs mikro-működési részében (MO) kódoljuk, hogy mely vezérlőjeleket kell generálni az aktuális MC végrehajtása során. A mikroprocesszorok kódolásának módja nagymértékben meghatározza a vezérlőegység hardverének összetettségét és sebességi jellemzőit. Megvalósítási módjaiban használt kódolási mikroutasítás vezérlő jeleket lehet csökkenteni, hogy a három csoport: a minimális kódolási (vízszintes microprogramming), a maximális kódolási (függőleges microprogramming) és futtatni hosszúságú kódoló (vegyes microprogramming). A mikroprogram-automaták szerkezetét a mikro-műveletek kódolásának különféle módjaira a 8. ábrán mutatjuk be. 2.

Vízszintes microprogramming (lásd. Ábra. A 2a) minden egyes vezérlő jel része a mikroutasítás mikrooperatsionnoy kiosztott egy bit (RMO = NSU). Ez lehetővé teszi számunkra, hogy az SS egy kombinációját egy mikrokomponens keretében hozzuk létre, amely maximális párhuzamot biztosít a mikro-műveletek teljesítésében. Továbbá nincs szükség dekódolására MO és kimenetek mikroutasítások nyilvántartásban közvetlenül kapcsolódik a megfelelő vezérelt pont VM. Elterjedt vízszintes microprogramming mégis megakadályozza a magas költségek tároló mikrooperatsionnyh alkatrészek mikroutasítások (EPMP = NMK „NSU), a hatékonyság PMP lesz alacsony, mivel számos mikro-ops minden MK valósul csak egy vagy néhány közülük, vagyis A MO kategóriák túlnyomó többsége zérót tartalmaz.

Ábra. 2. MPA struktúrák a mikro-műveletek kódolásának különböző módjaihoz:

a - minimális; b - a maximális; in - maximum a kódolóval;

d - vízszintes-függőleges; d - függőleges-vízszintes.

A maximális (függőleges) kódolással (lásd az 1. ábrát).

Ábra. 2, b) minden egyes mikro-művelethez hozzárendel egy bizonyos kódot, például annak sorozatszámát a lehetséges mikro-műveletek teljes listájában. Ez a kód szerepel a MO-ban. Az MC mikrooperatív részének minimális hossza van, amelyet a vezérlőjelek számának bináris logaritmusaként határozunk meg (mikrooperációk). Az ilyen kódolási eljárás minimális hardver költséget igényel az SMS-ben a mikroinstruációk tárolására, de szükség van egy DshMK dekódolóra, amelyiknek a mikrooperációs kódot megfelelő vezérlőjelnek kell átalakítania. A nagy számú SU dekóder vezet jelentős késleltetés, és ami a legfontosabb - az egyes MK jelzi csak egy vezérlő jel, amely elindítja csak egy mikro-működés, ezáltal növelve a hossza a firmware-t és az időt annak végrehajtását.

Ez utóbbi hátránya megszűnik, ha a kódolót (Ш) a ДшМК kimenetéhez csatlakoztatja (lásd 2. ábra, c), ami az egyidejűleg létrehozott SS-k számának növekedéséhez vezet. Természetesen az egyedi mikro-műveletek kódjain kívül kódokat kell biztosítani, amelyek képviselik a mikro-műveletek egyes kombinációit. A kódoló univerzitásának javítása érdekében ajánlatos egy tárolóeszköz alapján építeni.

A minimális és maximális kódolás a CS kódolási problémájának lehetséges megoldásainak két szélső pontja. A közbenső pozíció csoportos vagy vegyes kódolást végez.

Itt minden vezérlőjel (mikro művelet) K diszjunkt csoportokra van osztva. A leggyakrabban használt módszer a vízszintes-függőleges (lásd. Ábra. 2d) Ebben az esetben minden egyes csoport, beleértve kölcsönösen inkompatibilis vezérlőjelek (UOPs), azaz a SU, hogy soha nem fordulnak elő együtt egyetlen mikroutasítás. Ebben az esetben a jelek, amelyek általában ugyanabban az órában készülnek, különböző csoportokban vannak.

Nano-program vezérlő egység

Ez a megközelítés, miközben megőrzi a horizontális mikroprogramozás minden előnyét, jelentősen csökkenti a vezérlő memória teljes kapacitását. Nanoprogrammirovaniya fő hátránya az alacsony sebességet, mivel a végrehajtás a mikroutasítás szükséges két memória-hozzáférések, amely azonban részben ellensúlyozott kivéve a dekódoló áramkör, a függőleges jellemző microprogramming.

A mikroprogramok memóriáját különböző típusú memóriaeszközökkel lehet megvalósítani. Az alkalmazott memória típusától függően az IPA különbözik statikus és dinamikus mikroprogramozással. Az első esetben PMP használt állandó memória (ROM) vagy programozható rönk Env tömb (PLA), a második - az operatív memória.

A dinamikus mikroprogramozás a statikus programozással ellentétben lehetővé teszi az UU firmware-jének gyors módosítását, ezáltal megváltoztatva a VM funkcionális tulajdonságait. A dinamikus mikroprogramozás széleskörű használatának legfőbb akadálya a RAM volatilitása és viszonylag alacsony sebessége.

Ábra. 4. Az ellenőrző memória szervezése

Az 1. ábrán. A 4. ábra mutatja a microinstructions lehetséges helyét a firmware memóriájában. Az SMS tartalma határozza meg az utasításciklus minden szakaszában végrehajtandó mikro-műveletek sorrendjét, valamint a lépések sorrendjét. Minden egyes lépést a megfelelő firmware képvisel. A mikroprogramokat egy átmeneti mikrokompander végzi, amely meghatározza a későbbi lépéseket. A vezérlő memória is van egy speciális firmware kapcsoló: attól függően, hogy a jelenlegi műveleti kódot jelez szakasza végrehajtásának parancsok végre kell hajtani.

A legtöbb firmware-ben végrehajtott mikro-parancs végrehajtása egymás után történik, de általában a mikro-műveletek sorrendje nincs rögzítve. Emiatt biztosítani kell egy hatékony rendszert a CU átmeneti megvalósításához. Az átmenetek, mind a feltétel nélküli, mind a feltételes, szerves részét képezik.

Kapcsolódó cikkek