13. tétel Flashcards
(12 cards)
Időzítő-vezérlő egységek feladata
A vezérlő egység a számítógép vezérlési funkcióit ellátó szekvenciális egység. Feladata az operatív tárban lévő gépi kódú utasítások értelmezése, részműveletekre bontása és a szekvenciális (sorrendi) hálózat egyes funkcionális részeinek vezérlése (vezérlőjel- és cím generálás.).
Időzítő– vezérlőegység
- Az időzítő(ütemező) határozza meg a vezérlőjelek előállításának sorrendjét.
- Egy időzítő-vezérlőegység általános feladata az egyes funkciók megvalósítását végző
áramköri elemek (pl. ALU, memória elemek) összehangolt működésének biztosítása.
- Az időzítő-vezérlő áramkörök szekvenciális rendszerek melyek az aktuális kimenet
értékét a bemenet, és az állapotok függvényében határozzák meg.
Az időzítő-vezérlő lehet:
- Huzalozott (klasszikus módszer): mealy, moore modell
- Mikroprogramozott (reguláris) : horizontális, vertikális
Huzalozott (klasszikus) módszerek
a) Mealy-modell
A sorrendi hálózatok egyik alapmodellje.
Késleltetés: a kimeneten az eredmény véges időn belül jelenik meg.
Korábbi értékek visszacsatolódnak a bemenetre: kimenetek nemcsak a bemenetek pillanatnyi értékétől, hanem a korábbi állapotoktól is függenek. Problémák merülhetnek fel az állapotok és a bemenetek közötti szinkronizáció hiánya miatt. Ezért alkalmazzuk a legtöbb esetben a második, Moore-féle automata modellt.
Három halmaza: X – bemenetek; Z – kimenetek; Y – állapotok halmaza
Az állapotregisztert a késleltetés miatt kell visszacsatolni.
b) Moore-modell
A kimenetek közvetlenül csak a pillanatnyi állapottól függenek (bemenettől függetlenek, vagy csak közvetve függenek). Tehát a kimenetet nem a bemenetekhez, hanem az állapotoknak megfelelően szinkronizáljuk.
Mikroprogramozott (reguláris) vezérlő egységek
A komplex, többcímű (operandusú), illetve vezérlési szerkezeteket reguláris módszerrel lehet gyorsítani, egyszerűsíteni: nevezetesen gyors memória elemeket kell használni az utasítássorozatok tárolásánál. Ugyan a klasszikus módszernél használt állapotgépekkel (FSM) modellezik a reguláris vezérlő egységek működését, majd ezt a modellt transzformálják át mikrokódos memóriát használva (ami nem azonos az operatív memóriával). Az adatútvonal vezérlési pontjait a memóriából (ROM) kiolvasott vertikális- vagy horizontális-mikrokódú utasításokkal állítják be.
Mikrokód: gépi kódú utasításokat legalacsonyabb szintű áramköri utasítások sorozatára leképező köztes kód. Alkalmazása CPU, GPU, NPU és lemezvezérlőkben.
Általános mikrokódos vezérlő felépítése
- Mikroutasítás regiszter: az aktuális állapot regisztert és a Control Signal regisztert egybeolvasztja. Mikroutasítások sorrendjében generálódik a vezérlőjel.
- Mikrokódos memória: a Control Signal Assertation Logic vezérlőjel generálás / beállítás és Next-State kiválasztása (mikroprogram eltárolása) összevonása.
- Mikrokód cím generátor: a vezérlőjelet az aktuális mikroutasítások lépéseiként sorban generálja, de címkiválasztási folyamat komplex. A sebesség a komplexitás rovására változhat (komplexebb vezérlési funkciót alacsonyabb sebességgel képes csak generálni). A következő cím kiválasztása még az aktuálisan futó mikroutasítás végrehajtása alatt végbemegy. Számlálóként működik, egyik címről a másikra inkrementálódik (mivel a mikroutasításokat tekintve szekvenciális rendszerről van szó). Kezdetben resetelni kell.
Általános mikrokódos vezérlők tulajdonságai
- Egy gépi ciklus alatt egy mikroprogram fut le, amely mikroutasítások sorozatából áll. A műveleti kód (utasítás opcode része) a végrehajtandó mikroprogramot jelöli ki. A mikrokódú memória általában csak statikus módon olvasható, gyárilag konfigurált ROM. Ha írható is, akkor dinamikus mikroprogramozásról beszélünk.
- Ha a mikroprogram utasításai szigorúan szekvenciálisan futnak le, akkor a címüket egy egyszerű számláló inkrementálásával megkaphatjuk. Memóriából érkező bitek egyik része a következő cím kiválasztását, míg a fennmaradó bitek az adatáramlást biztosítják.
- A mai gyors, félvezető alapú memóriáknak köszönhetően kis mértékben lassabb, mint a huzalozott vezérlőegységek, mivel ekkor a memória elérési idejével (~ns) is számolni kell, nem csak a visszacsatolt aktuális állapot késleltetésével.
Horizontális mikrokódos vezérlők
Minden egyes vezérlőjelhez saját vonalat rendelünk, ezáltal horizontálisan megnő a mikroutasításregiszter kimeneteinek a száma (horizontálisan megnő a mikrokód). Minél több funkciót valósítunk meg a vezérlőjelekkel, annál szélesebb lesz a mikrokód. Ennek köszönhetően ez a leggyorsabb mikrokódos technika, mivel minden bit független egymástól, ill. egy mikrokóddal többszörös (konkurens) utasítás is megadható. Az erőforrás szükséglete, fogyasztása jóval nagyobb.
Például a megfelelő funkcionális egységeket (pl.: memória, ALU, regiszterek) egyszerre tudjuk az órajellel aktiválni, ezáltal egy órajel ciklus alatt az információ mindkét irányba átvihető. Növekszik a sebesség, mivel nincs szükség a vezérlőjelek dekódolását végző dekódoló logikára, így minimálisra csökken a műveletek ciklusideje.
Vertikális mikrokódos vezérlők
Nem a sebességen van a hangsúly, hanem hogy takarékoskodjon az erőforrásokkal (fogyasztással, mikrokódban a bitek számával), ezért is lassabb. Egyszerre csak a szükséges biteket kezeljük, egymástól nem teljesen függetlenül, mivel közülük egyszerre csak az egyiket állítjuk be (dekódoljuk). A jeleket ezután dekódolni kell. A kiválasztott biteket megpróbáljuk minimális számú vonalon keresztül továbbítani. A műveletek párhuzamos (konkurens) végrehajtása korlátozott.
Dekódolás: log2N számú dekódolandó bit -> N bites kimeneti busz. Több mikroutasítás szükségeltetik, így a mikrokódú memóriát vertikálisan meg kell növelni.
Programozható logikai egységek (PLD)
A programozható logikai eszközöket általánosan a kombinációs logikai hálózatok és a sorrendi hálózatok tervezésére használjuk. Ezek több millió logikai kaput vagy tranzisztort tartalmaznak. Azonban míg a hagyományos kombinációs logikai hálózatok dedikált összeköttetésekkel, ill. kötött funkcióval rendelkeznek, addig a programozható logikai eszközökben pontosan ezek változtathatók, az alábbi lehetséges módokon:
* A felhasználó által egyszer programozható vagy konfigurálható logikai eszközök, amelynél a gyártás során nem definiált funkció egyszer még megváltoztatható. Pl..: PAL, PLA eszközök.
* Többször, akár tetszőleges módon programozható logikai eszközök (újrakonfigurálható). Pl.: korábbi GAL, a mai modernebb CPLD, FPGA eszközök.
PLD-k két fő típusa:
* Makrocellás PLD-k: PLA, PAL, GAL, CPLD
* FPGA
PLA (Programmable Logic Array)
- Makrocellás, egyszer programozható
- Mindkét része (AND, OR) programozható
- Bármely kombinációja az AND / OR-nak előállítható
- Mintermek OR kapcsolata
- Programozható kapcsolók a horizontális és vertikális vonalak metszésében
- Qn kimeneteken D tárolók (visszacsatolódhatnak a bemenetekre)
Programozásuk: Az összeköttetés mátrix metszéspontjaiban akár kis biztosítékok helyezkednek el. Gyárilag logikai 1-est definiál, tehát vezetőképes. Ha valamilyen speciális programozó eszközzel a küszöbnél nagyobb feszültséget kapcsolunk rá, akkor átégethető, így szigetelővé válik és logikai 0-t fog reprezentálni. A biztosítékok átégetése csak egyszer lehetséges, utána már csak a programozott állapotot fogja tárolni.
PAL (Programmable AND Logic)
- Makrocellás, egyszer programozható
- Egy programozható rész (AND), míg az OR fix
- Véges kombinációja áll elő az AND / OR kapcsolatoknak
- A metszéspontokban kevesebb kapcsoló szükséges
- Gyorsabb, mint a PLA
- Qn kimeneteken D tárolók (visszacsatolódhatnak a bemenetekre)
CPLD (Complex Programmable Logic Device)
Valójában átmenetet képeznek a kis és közepes integráltsági fokú makrocellás PLD-k GAL / PAL áramkörei, ill. a nagy integráltsági fogú FPGA kapu-áramkörei között.
A GAL / PAL áramköröktől architektúrálisan annyiban különbözik, hogy ki lett bővítve. Nem egy, hanem több logikai cellamátrixot tartalmaz, amelyek konfigurálható blokkok reguláris struktúrájában vannak elrendezve. A mai modern FPGA áramköröktől viszont az különbözteti meg felépítésben, hogy nem tartalmaz dedikált erőforrásokat (pl.: szorzók, memória blokkok).
FPGA (Field Programmable Gate Array)
A felhasználó által többször programozható kapu-áramkörök. Architektúrálisan tükrözi mind a PAL, mind pedig a CPLD felépítését, komplexitásában pedig a CPLD-ket is felülmúlják. Nagyon nagy integráltsági fokkal rendelkezik, ~10.000 - ~100.000.000 ekvivalens logikai kaput is tartalmazhat gyártótól és sorozattól függően.
Általános felépítése:
- LB / CLB: konfigurálható logikai blokkok, melyekben realizálhatók több bemenetű – egy kimenetű logikai függvények. A kimeneti értékek egy-egy D tárolóban tárolhatók el.
- IOB: I/O blokkok, amelyek a programozható logika és a külvilág között teremtenek kapcsolatot.
- PI: a belső komponensek között teremt kapcsolatot.
- DCM: digitális órajel menedzselő áramkör, amely képes a külső, bejövő órajelből tetszőleges fázisú és frekvenciájú belső órajel előállítására.
Dedikált erőforrások:
* BRAM: egy- vagy két-portos Blokk-RAM memóriák, melyek összessége nagy mennyiségű adat / utasítás tárolását teszik lehetővé.
* MULT vagy DSP: beágyazott szorzó áramkörök.
* Beágyazott processzor(ok): tetszés szerint konfigurálható / beágyazható ún. szoft-processzor mag(ok), ill. fixen beágyazott, ún. hard-processzor mag(ok).