VEZÉRLŐK Benesóczky Zoltán 24 A jegyzetet a szerzői jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerző belegyezése szükséges.
A fealdatot két re osztjuk: adatstruktúrára és vezérlőre Adatstruktúra Ha egy feladatot a bemeneti és kimeneti adatok között elvégzendő, valamely algoritmussal megadott transzformációnak tekintünk, akkor az adatstruktúra a transzformáció egyes lépéseinek megvalósításához szükséges funkcionális elemek, és az azokat összekapcsoló adatutak összessége. Az adatstruktúra tervezéséhez intuíció kell. Vezérlő A vezérlő feladata, hogy az adatstruktúrából és a külvilágból jövő feltételjelek figyelembe vételével a vezérlőjelek segítségével megvalósítsa az adatstruktúrán az algoritmust. A vezérlő szisztematikusan tervezhető. 2
KIMENETI ADATOK KIMENETI VEZÉRLÉS VEZÉRLÉS ADATSTRUKTÚRA FELTÉTELEK VEZÉRLŐ BEMENETI ADATOK BEMENETI FELTÉTELEK a feladat megoldás algoritmusának megtervezése adatstruktúra megtervezése, az adatstruktúrát vezérlő algoritmus megtervezése (folyamatábra vagy állapotgráf) szisztematikus vezérlő kiválasztása és megtervezése (és mikroprogramozott vezérlő esetén a mikroprogram megírása), vagy programozható logika esetén a vezérlő állapotgráfjának megadása HW leíró nyelven. 3
A vezérlő: Hagyományos szinkron sorrendi hálózat. A vezérlő állapotgráfjával vagy folyamatábrával megadott állapotgép megvalósítása. Régen, SSI elemekkel a nagy állapotszámú SSH-k megtervezése és megvalósítása problémás volt, a bonyolult vezérlőfüggények miatt. Ezért az MSI elemek megjelenése után elterjedtek el a szisztematikus vezérlők. A fázisregiszteres (pl. számláló tipusú) vezérlőkkel már nagyobb állapotszám esetén is viszonylag egyszerű volt a tervezés, de minden módosítás új HW tervezését vonta maga után. Erre megoldást a mikroprogramozható vezérlők hoztak, melyekkel még nagy állapotszám esetén is könnyen tervezhető vezérlő és viszonylag nagyobb változtatások is csak a ROM tartalom módosítását igénylik. Ma az állapotgráf megadható HW leíró nyelven, és a tervező rendszeren szinte tetszőleges állapotszám esetén megtervezhető és megfelelő programozható logikában megvalósítható. 4
Számláló tipusú vezérlők Lép vagy vár tipusú vezérlő q q... qn X n DEKÓDER qi qj vezérlő jelek Fi vár CLOCK Cl SZÁMLÁLÓ En RESET lép n M P X Y Fn F F 5
Ugrik vagy lép tipusú vezérlő q q... qn vezérlő jelek n DEKÓDER lép Fi ugrik CLOCK qi qj qk Cl SZÁMLÁLÓ LD En RESET Y M F F P X n Fn 6
Ugrik vagy lép vagy vár tipusú vezérlő q q... qn vezérlõ n jelek DEKÓDER Fi lép vezérlõ jelek Fi vár qi qj qk CLOCK SZÁMLÁLÓ LD Cl En & RESET Y M P X Y n F F Fn lép ugrik qi qj qk 7
Mikroprogramozott vezérlők általános felépítése Mikroutasítás felépítése: <műveleti mező><feltétel mező>< mező> műveleti felt. C I M CÍM REG. CÍM LOGIKA MPX Fa Fb MIKROPROGRAM ROM Cl Y n RESET CLOCK 8
A műveleti kódolása Horizontális kódolás Vertikális kódolás Vegyes kódolás DEK DEK DEK műveleti műveleti műveleti ROM ROM ROM Teljesen párhuzamos működés Teljesen soros működés Kevert működés Legpazarlóbban bánik a ROM szószélességével a horizontális kódolás, viszont az összes jel egyszerre aktív lehet. (Maximálisan párhuzamos működést tesz lehetővé) A vertikális kódolás esetén egyszerre csak egy kimeneti jel lehet aktív, így ezzel csak egymás után lehet kiadni az egyes vezérlő jeleket (maximálisan soros működés). A vegyes kódolással lehet legoptimálisabban kihasználni a ROM szószélességét, a párhuzamos működés lehetősége mellett (egyszerre több jel is kiadható). 9
Számlálós képzésű mikroprogramozott vezérlő műveleti felt. C I M SZÁM- LÁLÓ MPX Fa Fb MIKROPROGRAM En ROM Cl Ld Y RESET CLOCK
Két ből választó mp. vezérlő műveleti felt. C I M CÍM REG. MUX MPX Fa Fb MIKROPROGRAM ROM Cl S Y RESET CLOCK
Feltételt be másoló mp. vezérlő mûveleti felt. C Fa Fb I M REG Y MPX MIKROPROGRAM ROM Cl RESET CLOCK 2
Órajelezési technikák Hazárdmentes jelek kialakítása, az órajrel kapuzásával. Egyfázisú órajelezés CLOCK VEZ. ÁLL. ENG. JEL MÛK. JEL FELT. JEL Kétfázisú órajelezés FI FI2 VEZ. ÁLL. ENG. JEL MÛK. JEL FELT. JEL 3
A modern tervezés során kerüljük az órajel kapuzást, mert az így előállított jelek órajelhez képesti fázisa a különböző késleltetések miatt eltérő, ami a további felhasználásuknál problémák forrása lehet. Z2 Z2 Z Q Q S R J K & & & CLK CLK X CLK X2 X3 X2 X3 a.) b.) c.) Ezért tiszta szinkron tervezést célszerű alkalmazni, vagyis minden áramkör órajele ugyanaz és a működtetéseket engedélyező jelekkel oldjuk meg (pl. fenti c ábra). 4
X2 DIR SZ X2 DIR SZ EN & CLK X X CLK a.) b.) CLOCK VEZ. ÁLL. ENG. JEL (X) MÛK. JEL SZÁMLÁLÓ a N N+ SZÁMLÁLÓ b N N+ Az idődiagram mindkét esetben hasonló, de a b esetben a számláló hamarabb lép az órajelhez képest. 5
Sör automata SÖRAUTOMATA ADATSTRUKTÚRA van sör VS van pohár VP pénz bedobva PB pénz érvényes PE pohár ejtés POE idõzítés indítás TIM idõzítés lejárt TL pohár a helyén POH pénz vissza PV pénz perselybe PP sör csap SCS pohár tele PT pohár kivéve PK VEZÉRLÕ Vezérlõ folyamatábrája START.. 2. PB PE*VS*VP POE, TIM 3. 4. TL POH SCS, PP PV 7. 5. PT 6. PV PK 6
Számlálós vezérlõ folyamatábrája START.. 2. PB PE*VS*VP POE, TIM 3. 4. 5. 6. TL POH SCS, PP PT PV PK PV 7. A számlálós vezérlőnél, ha feltételes elágazás van, az n-edik állapotra következő állapotok egyikének n+-ediknek kell lenni. Néha ennek teljesüléséhez üres állapot beiktatása szükséges. A példában a 6. állapot után a 6. vagy a. következett volna. Ezért a 6. után be kellene iktatni egy 7-es kódú üres állapotot. Ezzel 9 állapotunk lenne (.-8.). Azonban, ha az eredeti 8. állapotot 7.-nek nevezzük át, ebbe léphetünk a 6.-ból. Itt ugyan PV-t vezéreljük, de ez nem okoz problémát. 7
Megvalósítás számlálós képzésű vezérlővel, vertikális kódolással POE/TIM SCS/PP PV 3 2 DEK s s feltétel Címek: Jc Jb Ja F2 F F figyelt feltétel.. 2. 3. 4. 5. 6. 7. A2 A A F2 F F MSB CLK Qc Qb c b a Qa Cl Ld E RESET b a LSB PB PE VS Jc Jb Ja y 2 3 TL POH VP 4 PT 5 PK 6 7 8
Megvalósítás két ből választó vezérlővel, horizontális kódolással Címek: PV POE/TIM SCS/PP PB Jc Jb Ja Jc Jb Ja feltétel F2 F F figyelt feltétel.. 2. 3. 4. 5. 6. 7. CLK MSB A2 A A Qc Qb Qa Cl REG c b a MPX S RESET F2 y F F M P X b a 2 3 LSB PB TL POH PE VS VP 4 PT Jc Ja Jb Jc Ja Jb 5 6 PK 7 9