Digitális technika II. Rész: Sorrendi hálózatok

Slides:



Advertisements
Hasonló előadás
Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
Advertisements

KÉSZÍTETTE: Takács Sándor
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Adatelemzés számítógéppel
Erőállóképesség mérése Találjanak teszteket az irodalomban
(Digitális rendszertechnika)
Digitális technika.
Digitális technika Hazárdok.
Sorrendi (szekvenciális)hálózatok tervezése
Az integrált áramkörök (IC-k) tervezése
Az előadásokon oldandók meg. (Szimulációs modell is tartozik hozzájuk)
Humánkineziológia szak
Műveletek logaritmussal
Elektromos mennyiségek mérése
Kalman-féle rendszer definíció
Koordináta transzformációk
Globális helymeghatározás Zárthelyi dolgozat Relatív helymeghatározás fázisméréssel.
Szerkezeti leírás Összetevők és beültetésük Összetevők és beültetésük Általános kiosztás (generic map) Általános kiosztás (generic map) Generate parancs.
Euklidészi gyűrűk Definíció.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
A tételek eljuttatása az iskolákba
Elektronikai Áramkörök Tervezése és Megvalósítása
Elektronikai Áramkörök Tervezése és Megvalósítása
Mérés és adatgyűjtés Kincses Zoltán, Mingesz Róbert, Vadai Gergely 10. Óra MA-DAQ – Műszer vezérlése November 12., 15. v
Virtuális méréstechnika MA-DAQ műszer vezérlése 1 Mingesz Róbert V
Bevezetés a digitális technikába
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
Védőgázas hegesztések
T.Gy. Beszedfelism es szint Beszédfelismerés és beszédszintézis Beszédjelek lineáris predikciója Takács György 4. előadás
Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint.
A TERMÉSZETTUDOMÁNYOK ALAPJAI 1. Matematika
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
Darupályák tervezésének alapjai
Hardver alapismeretek
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Lineáris egyenletrendszerek (Az evolúciótól a megoldáshalmaz szerkezetéig) dr. Szalkai István Pannon Egyetem, Veszprém /' /
Matematikai alapok és valószínűségszámítás
szakmérnök hallgatók számára
2. A KVANTUMMECHANIKA AXIÓMÁI 1. Erwin Schrödinger: Quantisierung als Eigenwertproblem (1926) 2.
Exponenciális egyenletek
Logikai szita Izsó Tímea 9.B.
II.) Szekvenciális digitális áramkörök
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
VÉGES AUTOMATA ALAPÚ TERVEZÉSI MODELL
A pneumatika alapjai A pneumatikában alkalmazott építőelemek és működésük vezérlő elemek (szelepek)
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
Vezérlés Ha a szakasz modellezhető csupa kétállapotú jellel, akkor mindig alkalmazható vezérlés. Lehet analóg jellemző (nyomás, szint, stb.), de a modellhez.
Határozatlan integrál
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Virtuális Méréstechnika Sub-VI és grafikonok 1 Makan Gergely, Vadai Gergely v
Mérés és adatgyűjtés laboratóriumi gyakorlat - levelező Sub-VI és grafikonok 1 Mingesz Róbert V
Logikai műveletek és áramkörök
A termelés költségei.
Mikroökonómia gyakorlat
Nagy Szilvia 13. Konvolúciós kódolás
Programozás, programtervezés
Valószínűségszámítás II.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Írja fel a tizes számrendszerbeli
előadások, konzultációk
Algoritmizálás, adatmodellezés
A termelés költségei.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
1 TÁROLÓ ÁRAMKÖRÖK TAKÁCS BÉLA Mi történik, ha két invertert az alábbi módon összekapcsolunk? Ki1/Be2 Ki2/be A kapcsolásnak.
Szekvenciális hálózatok
Grosz Imre f. doc. Sorrendi áramkörök
A digitális technika alapjai
Quine-McCluskey Módszer
Előadás másolata:

Digitális technika II. Rész: Sorrendi hálózatok Dr. Turóczi Antal turoczi.antal@nik.uni-obuda.hu

Sorrendi hálózatok Bevezető A hálózatban visszacsatolás van A kimenet nem csak a bemenetektől függ, hanem a VAGY kapu kimenetén előzőleg észlelt logikai értéktől is A hálózat egyenletének felírásához szükség van egy közbenső (belső) változóra is A Q’-vel jelölve a belső változó aktuális, és Q-val az előző értékét logikai függvénykapcsolat írható fel a közbenső változóra és a kimenetre is Tegyük fel, hogy kezdetben A B Q Y 0 0 0 0 A B Q 1 Y A Y Q B

Sorrendi hálózatok Bevezető A hálózatban visszacsatolás van A kimenet nem csak a bemenetektől függ, hanem a VAGY kapu kimenetén előzőleg észlelt logikai értéktől is A hálózat egyenletének felírásához szükség van egy közbenső (belső) változóra is A Q’-vel jelölve a belső változó aktuális, és Q-val az előző értékét logikai függvénykapcsolat írható fel a közbenső változóra és a kimenetre is Tegyük fel, hogy kezdetben A B Q Y 0 0 0 0 0 1 0 1 A B 1 Q 1 1 1 Y A Y Q B

Sorrendi hálózatok Bevezető A hálózatban visszacsatolás van A kimenet nem csak a bemenetektől függ, hanem a VAGY kapu kimenetén előzőleg észlelt logikai értéktől is A hálózat egyenletének felírásához szükség van egy közbenső (belső) változóra is A Q’-vel jelölve a belső változó aktuális, és Q-val az előző értékét logikai függvénykapcsolat írható fel a közbenső változóra és a kimenetre is Tegyük fel, hogy kezdetben A B Q Y 0 0 0 0 0 1 0 1 1 1 1 0 A 1 1 B 1 1 Q 1 1 1 1 Y A Y Q B

Sorrendi hálózatok Bevezető A hálózatban visszacsatolás van A kimenet nem csak a bemenetektől függ, hanem a VAGY kapu kimenetén előzőleg észlelt logikai értéktől is A hálózat egyenletének felírásához szükség van egy közbenső (belső) változóra is A Q’-vel jelölve a belső változó aktuális, és Q-val az előző értékét logikai függvénykapcsolat írható fel a közbenső változóra és a kimenetre is Tegyük fel, hogy kezdetben A B Q Y 0 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 Azonos bemenő jel, mégis különböző kimeneti érték A kimenet a belső állapotváltozótól is függ A 1 B 1 1 Q 1 1 Y A Y Q B

Sorrendi hálózatok Bevezető Az előző példában a bemeneti (primer) változókon kívül szükség volt köztes változóra Belső változó Szekunder változó Két egyenlet szükséges a működés leírásához Belső állapot függvény Q’ = FQ(A,B,Q) Kimeneti függvény Y = FY(A,B,Q) A hálózat működése a bemeneti logikai értékek időbeli sorozatától is függ Sorrendi hálózat Szekvenciális hálózat A hálózat működését befolyásolja a belső változó kezdeti értéke is

Logikai hálózatok Logikai hálózatnak nevezzük azokat a rendszereket melyeknek bemeneti illetve kimeneti jelei logikai jelek, a kimeneti jeleket a bemeneti jelek függvényében többé-kevésbé bonyolult logikai műveletsorozat eredményeként állítják elő. A logikai hálózatok két nagy csoportja Kombinációs hálózatok Kombinációs hálózatoknak nevezzük azokat a logikai hálózatokat, melyeknek kimeneti jelei csak a bemeneti jelek pillanatnyi értékétől függnek „Emlékezet” nélküli hálózat Sorrendi hálózatok Sorrendi (szekvenciális) hálózatoknak nevezzük azokat a logikai hálózatokat, melyek kimeneti jelei nemcsak a pillanatnyi bemeneti jelkombinációtól függnek, hanem attól is, hogy korábban milyen bemeneti jelkombinációk voltak „Emlékezettel” (memóriával) rendelkező hálózat Ugyanazon bemeneti kombinációhoz más-más kimeneti kombináció tartozhat, a szekunder változók aktuális értékétől függően. A szekunder változók értékét a korábbi bemeneti kombinációk és azok sorrendje is befolyásolja Előző állapotuktól függően különböző módon reagálnak a bemenetükre Véges állapotú automaták (Finite State Machines)

Sorrendi hálózatok Információ tárolás A sorrendi hálózatnak tehát emlékeznie kell ezekre a bemeneti jelkombinációkra Általában elegendő korlátozott mennyiségű korábbi jelkombinációt megjegyeznie Az emlékezéshez a sorrendi hálózatnak külön „memóriával”, tárolóegységgel kell rendelkeznie A sorrendi hálózat leglényegesebb és legbonyolultabb része a tárolóegység. A tárolóegység tároló elemekből áll Egy tároló elem 1 bit információ tárolását végzi Sorrendi hálózat memória elemekkel (tárolókkal) kiegészített kombinációs hálózatból építhető fel A tároló elemek tartalma (a szekunder változók) a hálózat előéletéről őriznek információt A bemenetek és a hálózat előélete együttesen, és egyértelműen meghatározzák a kimeneti jelet (jeleket) Bemenet Kombinációs hálózat Kimenet Memória

(késleltetés nélküli) Sorrendi hálózatok Információ tárolás A kombinációs hálózatnál tapasztalt be- és kimenetek közötti késleltetés a tárolási képesség alapja A tranziens lezajlásáig a kapuk kimenetén az előző bemeneti kombinációk hatására kialakult logikai szint van A Y1 Ideális Kombinációs hálózat (késleltetés nélküli) B Bemeneti (primer) változók Kimenetek … Ym N … Q1 Q’1 Q2 Q’2 Szekunder változók … … Qr Q’r Dr D2 D1

Sorrendi hálózatok Bevezető A hálózatban visszacsatolás van A kimenet nem csak a bemenetektől függ, hanem a VAGY kapu kimenetén előzőleg észlelt logikai értéktől is A hálózat egyenletének felírásához szükség van egy közbenső (belső) változóra is A Q’-vel jelölve a belső változó aktuális, és Q-val az előző értékét logikai függvénykapcsolat írható fel a közbenső változóra és a kimenetre is Tegyük fel, hogy kezdetben A B Q Y 0 0 0 0 0 1 0 1 1 1 1 0 tpd A 1 1 B 1 1 Q 1 1 1 1 Y A Y Q B

Sorrendi hálózatok Sorrendi hálózat modelljei Mealy modell A kimenetek a bemenetek és az előző állapot (szekunder változók) függvénye Q’ = FQ(X,Q) Y = FY(X,Q) X Kombinációs hálózat Y Bemenetek Kimenetek Q Q’ Szekunder változók Memória

Sorrendi hálózatok Sorrendi hálózat modelljei Moore modell A kimenetek csak az előző állapot (szekunder változók) függvényei Q’* = FQ*(X,Q*) Y = FY*(Q*) X Kombinációs hálózat Bemenetek Q’* Q* Memória Szekunder változók Kombinációs hálózat Y Kimenetek

Sorrendi hálózatok Sorrendi hálózat modelljei Bebizonyítható Minden Mealy modellnek előállítható egy Moore ekvivalense Minden Moore modellnek előállítható egy Mealy ekvivalense Bármely modellt is használjuk Egy sorrendi hálózat működése két logikai függvénnyel írható le Szekunder változók függvénye Kimeneti függvény (függő változók függvénye) A két függvény együttesen határozza meg a sorrendi hálózat működését A belső (szekunder) változók tárolják a hálózat előző vezérlési állapotait A bemenő (primer) és belső (szekunder) változók együtt egyértelműen meghatározzák a kimeneteket A hálózat modellje, függvényei nem írják le a tranzienseket A függvényekben az idő nem szerepel változóként Az állapotváltások között azonban rövid átmeneti jelenségek játszódnak le n-edik állandósult állapot tranziens állapot (n+1)-edik állandósult állapot idő

Sorrendi hálózatok Sorrendi hálózat működésének leírása A működés folyamata A hálózat belső állapotát a szekunder változók értéke határozza meg A szekunder változók száma megadja a lehetséges állapotok maximális számát Nem feltétlenül jön létre minden lehetséges belső állapot A példában 1 változó (Q) 21 = 2 lehetséges állapot Bekapcsoláskor a sorrendi hálózat a szekunder változók kezdeti értékeinek megfelelő állapotban van A bemenő kombinációk változásának hatására a rendszer újabb állapotba kerülhet További bemeneti változások hatására újabb, vagy akár korábbi állapotokba ugorhat Azonos bemenő jelre más-más szekunder változó és kimeneti kombináció tartozhat A sorrendi hálózat aktuális állapota megadja a rendszer előéletét Mi történt vele az előzőekben Egy n hosszúságú bemeneti sorozat (szekvencia hatására) n hosszúságú belső állapot (szekunder változó) szekvencia jön létre n hosszúságú kimeneti szekvencia generálódik Ha n véges: véges sorrendi automatáról beszélünk

Sorrendi hálózatok Sorrendi hálózat működésének leírása qi qj qm qk Állapot gráf Grafikus szemléltetés A sorrendi hálózat belső állapotait a gráf csomópontjai szemléltetik A csomópontokat összekötő irányított élek (nyilak) az egyik állapotból a másikba történő átmenetet reprezentálják Ha nem teljesül semmilyen továbblépési feltétel, marad az előző állapotban Több feltétel is kielégítheti a továbblépés feltételét Egy állapotból visszafelé, egy előző állapotba is lehetséges állapotátmenet Az éleken az átmenetet előidéző bemeneti x kombináció szerepel Emellett az y kimeneti értékeket is gyakran fel szokás tüntetni Xj2/yj2 Xi1/yi1 Xi2/yi2 Egyik továbblépési feltétel sem teljesül qi qj Xj1/yj1 Xm1/ym1 qm Xk1/yk1 Xk2/yk2 Teljesül valamely továbblépési feltétel qk Xm2/ym2

Sorrendi hálózatok Sorrendi hálózat működésének leírása q1 q2 1 Állapot gráf Grafikus szemléltetés A sorrendi hálózat belső állapotait a gráf csomópontjai szemléltetik A csomópontokat összekötő irányított élek (nyilak) az egyik állapotból a másikba történő átmenetet reprezentálják Az előző példa állapot gráfja Két belső állapot, két csomópont X2/y0 X3/y1 X1/y0 10/0 11/1 X2/y0 01/0 X0/y0 10/0 00/0 q1 X3/y0 q2 11/0 1 X1/y1 X0/y0 01/1 00/0 A B Q Y

Sorrendi hálózatok Sorrendi hálózat működésének leírása 1 Állapottábla Táblázatos formában adja meg, hogy adott bemeneti kombinációk hatására mely állapotból mely állapotba ugrik a rendszer A kimenet alakulását is ebben a táblázatban írhatjuk fel A kombinációs hálózatoknál használt igazságtáblázathoz hasonló 10/0 11/1 01/0 10/0 00/0 11/0 1 01/1 00/0 Q A B Q’ Y 1

Sorrendi hálózatok Sorrendi hálózat működésének leírása 2 1 Példa (Lovassy, Pődör: Digitális Technika II. előadás) Italautomata 150 Ft egy üdítő A gép 50 és 100 Ft-os érmét fogad el, és visszaad Belső állapotok száma 3 START állapot 100Ft be üdítő, 50Ft ki 100Ft be üdítő ki 50Ft be üdítő ki 50Ft be 100Ft be 2 50Ft be 1 50 Ft bedobva 100 Ft bedobva

Sorrendi hálózatok Sorrendi hálózat működésének leírása 2 1 Példa (Lovassy, Pődör: Digitális Technika II. előadás) Italautomata állapot gráf, állapottábla x1: 100Ft; x0: 50 Ft y1: üdítő ki; y0: 50 Ft ki Belső állapotok 00,01,10 00/00 10/11 10,10 01,00 01,10 10,00 Előző állapot Bemenet (x1x0) 100/50Ft 00 01 10 11 0 (0 Ft) 2 1 x 1 (100 Ft) 2 (50 Ft) 2 01/00 1 00,00 00,00

Sorrendi hálózatok Sorrendi hálózat működésének leírása 1 1 1 1 1 Vezérlési táblázat Az állapottábla célszerűen átalakított formája Az oszlopok a bemenő jelek A sorok a visszacsatolt jelek (a késleltetés után előállt) A cellákba a bemenő jel hatására keletkező Q’ jelet írjuk Stabil állapotokat bekarikázzuk Ahol Q = Q’ nincs állapotváltozás a visszacsatoló hurokban Ahol Q ≠ Q’ instabil állapot, állapotváltozás zajlik a visszacsatoló hurokban (a jel még nem „ért át” a késleltetőn) Pl. kiindulás: Q = A = B = 0 bemeneti szekvencia: 01, 11, 01, 00 Vezérlési táblázat Átmeneti táblázat i 1 2 3 4 5 6 7 Q A B Q’ Y 1 AB A Q B Q Y 1 1 1 3 2 1 1 1 4 5 7 6

Sorrendi hálózatok Sorrendi hálózat működésének leírása 00 11 01 00 11 Karnaugh táblás leírás Példa két belső (szekunder) változóra Kiindulás: Q2Q1 = AB = 00 stabil állapot AB bemenet változzon AB = 01-re Mindkét belső változó 0-ról 1-re vált Mi történik, ha eltérő D késleltetések vannak Általában nem tudjuk előre melyik hurok a gyorsabb Nem egyértelmű működés AB Q2Q1 Versenyfutás jelenség Ha két szekunder változónak egyszerre kell változnia Kritikus versenyfutásról beszélünk, ha az eltérő késleltetések miatt a hálózat eltérő stabil állapotokba kerülhet (példában) Azaz ha a vezérlési táblázat versenyfutást tartalmazó oszlopában több stabil állapot is van Nem kritikus, ha egy oszlopban csak egy stabil állapot van (utolsó oszlop) 00 11 01 00 11 01 11 00 11 11 10 00 00 11 00 00

Sorrendi hálózatok Sorrendi hálózat működésének leírása 00 11 01 00 11 Karnaugh táblás leírás Példa két belső (szekunder) változóra Kiindulás: Q2Q1 = 0; AB = 10 stabil állapot AB bemenet változzon AB = 11-re Csak az Q1-hez tartozó hurok kell változzon Nincs versenyfutás de instabil állapot Újabb és újabb instabil állapotokba lépünk AB Q2Q1 Oszcilláció jelenség A hálózat instabil állapotokat vesz fel egymás után Ha nincs stabil állapot a vezérlési tábla egy oszlopában, az adott bemeneti kombináció esetén a rendszer biztosan oszcillálni fog 00 11 01 00 11 01 11 00 11 11 10 00 00 11 00 00

Sorrendi hálózatok Aszinkron és szinkron sorrendi hálózatok Az ideális esettől eltérően A valóságban a hálózat különböző pontjain eltérő, és akár időben változó késleltetést tapasztalhatunk (pl. hőmérséklet változás miatt) Ezek a tulajdonságok nehezen kézben tarthatók Aszinkron sorrendi hálózatok Az eddigi példákban a hálózat jeleinek terjedését külső tényezők nem befolyásolták A kimenetek és a szekunder változók kizárólag a bemenetek és a belső változók pillanatnyi értékétől függenek Az állapotváltozást a bemeneti kombinációk változása okozza, a változások bármely időpontban bekövetkezhetnek A zavaró késleltetések miatt instabil állapotok, egyszeri vagy többszörös állapotátmenetek, oszcilláció jöhet létre A tervezésnél ezekre különös tekintettel kell lenni Az ilyen sorrendi hálózatokat aszinkron hálózatoknak nevezzük

Sorrendi hálózatok Aszinkron és szinkron sorrendi hálózatok A zavaró késleltetések szempontjából jobban kézben tartható megoldás jelent a szinkronizáló jelek használata, vagyis szinkron sorrendi hálózat építése A szinkron sorrendi hálózatok működése ütemezett, az ütemező (szinkronizáló) jel az órajel Állapotváltozás csak az órajel által meghatározott ütemekben jöhet létre A bemenő és a visszacsatolt jelek hatása nem azonnal érvényesül, csak a következő ütemben, a következő órajel beérkezésekor Az ütemezési időt úgy kell megválasztani, hogy a következő órajel előtt minden zavaró tranziens véget érjen Az órajel szünetében a primer és szekunder változók csak „előkészülnek” a következő ütemre A jelek már statikusak, nem változnak, így a tranziensek okozta problémák kiküszöbölhetők Bemenet Kombinációs hálózat Kimenet Tárolóegység Órajel

Sorrendi hálózatok Aszinkron és szinkron sorrendi hálózatok Minden változás az órajellel időzítve, azzal szinkronizálva megy végbe, előre pontosan definiált időpillanatban, az órajel fel- vagy lefutó élének megérkezését követően A szinkronizáció lehet Szintvezérelt (statikus) „0” vagy „1” logikai szintre Élvezérelt (dinamikus) Felfutó élre, 0 → 1 átmenetre Lefutó élre, 1 → 0 átmenetre Felfutó él Lefutó él „1” „0” idő 1 Ciklusidő

Sorrendi hálózatok Szinkron sorrendi hálózatok Két fő eleme Tárolóegység (Memória) A korábbi bemeneti kombinációkra vonatkozó információ tárolására Bemeneti kombinációs hálózat A kimeneti jel előállítása A tárolandó információ előállítása A bemeneti kombinációkból és az előzőleg eltárolt információk együtt határozzák meg a következő ciklusban eltárolandó információt Fontos különbség az aszinkron sorrendi hálózatokhoz képest A jelváltozások nem futnak rögtön végig a hálózaton, csak a következő ciklusban hatnak Bemenet Kombinációs hálózat Kimenet Tárolóegység Órajel

Sorrendi hálózatok Szinkron sorrendi hálózatok A kimeneti jel előállítása itt is két féle modellel adható meg Mealy modell Moore modell Q*n+1 Qn Qn+1 Q*n Órajel Órajel Qn+1 = FQ(Xn,Qn) Yn = FY(Xn,Qn) Q*n+1 = FQ(Xn,Q*n) Yn = FY(Q*n)

Sorrendi hálózatok . Szinkron sorrendi hálózatok A tárolóegység, memóriaegység tároló elemekből épül fel Feladata: információ tárolás Egy tároló elem 1 bit információt tárol Tároló alapelemek, elemi sorrendi hálózatok Kétállapotú (bistabil) billenő elemek (Flip-Flopok) Mindaddig megtartják előző állapotukat míg külső jel ennek megváltoztatására nem kényszeríti Készítsünk Set-Reset tárolót Az S(Set) bemenetre adott „1”-es a kimenetet „1”-be állítja Az R(Reset) bemenetre adott „1”-es a kimenetet „0”-ba állítja R S Qn Qn+1   Változatlan 1 Beírás Törlés X Tiltott S . R Qn+1 = FQ(S,R,Qn) Yn = Qn Qn+1 Qn

Sorrendi hálózatok Tároló elemek 1 1 1 X X 1 Készítsünk Set-Reset tárolót Az S(Set) bemeneten „1”-es a kimenetet „1”-be állítja Az R(Reset) bemeneten „1”-es a kimenetet „0”-ba állítja Állapot gráf Állapottábla Nincs versenyfutás vagy oszcilláció - aszinkron működés is stabil Vannak érdektelen (Don’t care állapotok) Az állapottáblát Karnaugh-táblának tekintve, Qn+1-re elvégezve az összevonásokat az egyszerűsített logikai függvény: R S Qn Qn+1   Változatlan 1 Beírás Törlés X Tiltott 01/1 X0/0 0X/1 1 10/0 Qn Qn+1 RS 1 1 1 X X

Sorrendi hálózatok Tároló elemek RS tároló (Filp-flop) megvalósítása A Qn+1-et és Qn+1 -et megvalósító kombinációs hálózat logikai függvénye NAND kapus megvalósítás Külön jelképi jelölés Az RS tároló ebben a formájában még aszinkron működésű _ R S Qn+1 Qn 1 X Tiltott

Szinkron sorrendi hálózatok Tároló elemek Szinkron RS tároló (Filp-flop) megvalósítása Az R és S bemenetek hatása a szinkronjel (órajel) megérkezésekor érvényesüljön Statikus vezérlés (Szint vezérlés) A flip-flop csak akkor billen át, ha az órajel „1” értékű Ez a megoldás nem használható szinkron hálózat építésére – „átlátszó” Az órajel „1” értékénél az esetleges többszöri változás a bemeneten a kimenetet is többször átbillentheti, és ez tovább is terjed a flip-flopon keresztül Ez idő alatt az ilyen elemekből felépített hálózat teljes egésze aszinkron módon viselkedne Ez szinkron hálózatban nem megengedhető – egy szinkron jel, egy változás (Órajel) C

Szinkron sorrendi hálózatok Tároló elemek Szinkron RS tároló (Filp-flop) megvalósítása Élvezérlés (Dinamikus vezérlés) Nem engedjük folyamatosan az órajel „1” értéke alatt hatni a bemeneteket Csak egy rövid időre, amíg a tároló át tud billeni, ez után elvesszük a beíró (óra) jelet Lerövidítjük az órajel „1” értékét Szándékosan hazárdos órajel formáló hálózatot „csinálunk” A tpd A B Y C B tpd Y

Szinkron sorrendi hálózatok Tároló elemek Szinkron RS tároló (Filp-flop) megvalósítása Kétfokozatú tároló (Master-Slave flip-flop) Az élvezérlésnél bonyolultabb megoldás Az órajel „1” értékénél a beíró kapuk engedélyezik a Master-t, ezalatt a Slave letiltva Az órajel „0” értékénél az átíró kapuk engedélyezik a Slave-et, ezalatt a Master letiltva A bemeneten lévő esetleges zavaró tranziensek nem jutnak át a letiltott Slave-en Bár aszinkron működésű, de nem átlátszó Beíró kapuk Master Átíró kapuk Slave C

Szinkron sorrendi hálózatok Tároló elemek Szinkron RS tároló (Filp-flop) megvalósítása Kétfokozatú tároló (Master-Slave flip-flop) A Master-be írás alatt lehet tranziens De az átírás előtt már lecseng Átírás alatt Master kimenete állandó Beíró kapuk nyitnak Átíró kapuk zárnak „1” Átírás Slave-be Master kimenete már nem változhat Beírás Master-ba „0” Átíró kapuk nyitnak Beíró kapuk zárnak

Szinkron sorrendi hálózatok Tároló elemek Szinkron hálózatokban csak nem átlátszó tároló elemek használhatók Dinamikus vezérlésű (élvezérelt) Kétfokozatú (Master-Slave) Nincsenek instabil állapotok A legfontosabb alap tároló elemek a bemenetek számában és a bemeneti jel hatására történő kimeneti jelváltozásban térnek el RS tároló JK tároló T tároló D tároló

Szinkron sorrendi hálózatok Tároló elemek RS tároló Működést leíró táblázat Az aktuális órajel előtti kimenet Qn Az aktuális órajel utáni kimenet Qn+1 Állapottábla Karnaug-táblaként is értelmezhető Felírható a kimenet logikai függvénye A következő órajel megérkezésekor Állapot gráf R S Qn Qn+1   Változatlan 1 Beírás Törlés X Tiltott R S Qn+1 Qn 1 X Tiltott Qn RS 1 1 1 10/1 X0/0 X X 0X/1 1 01/0

Szinkron sorrendi hálózatok Tároló elemek JK tároló Kiküszöböli az RS tároló hátrányát Nincs tiltott bemeneti kombináció Működést leíró táblázat Az aktuális órajel előtti kimenet Qn Az aktuális órajel utáni kimenet Qn+1 Állapottábla Karnaug-táblaként is értelmezhető Felírható a kimenet logikai függvénye Állapot gráf K J Qn Qn+1   Változatlan 1 Beírás Törlés Billentés K J Qn+1 Qn 1 _ Qn KJ 1 1 1 11/1 10/0 01/1 01/1 1 00/0 1 00/1 10/0 11/0

Szinkron sorrendi hálózatok Tároló elemek JK tároló Kétfokozatú (Master-Slave) megvalósítás RS tárolóból külön visszacsatolásokkal A Master-ba írást az előző állapot is vezérli A visszacsatoláson keresztül K J Qn+1 Qn 1 _ J Q _ Q K C

Szinkron sorrendi hálózatok Tároló elemek T tároló Csak egy bemenet Működést leíró táblázat Az aktuális órajel előtti kimenet Qn Az aktuális órajel utáni kimenet Qn+1 Állapottábla Karnaug-táblaként is értelmezhető Felírható a kimenet logikai függvénye Állapot gráf T Qn Qn+1   Változatlan 1 Billentés T Qn+1 Qn 1 _ Qn T 1 1 1/1 1 0/0 1 0/1 1/0

Szinkron sorrendi hálózatok Tároló elemek D tároló Csak egy bemenet Átmeneti információtárolásra Működést leíró táblázat Az aktuális órajel előtti kimenet Qn Az aktuális órajel utáni kimenet Qn+1 Állapottábla Karnaug-táblaként is értelmezhető Felírható a kimenet logikai függvénye Állapot gráf D Qn Qn+1   Törlés 1 Beírás D Qn+1 1 Qn T 1 1 1/1 1 0/0 1 1/1 0/0

Szinkron sorrendi hálózatok Tároló elemek Alapállapotba állítás A berendezések bekapcsolásakor biztosítani kell a stabil, ismert alapállapot Általában aszinkron bemenetek A tároló kiindulási állapota lehet „0” vagy „1” Clear (Reset) bemenet - A tároló törlése, „0”-ába állítása Preset (Set) bemenet - A tároló beállítása, „1”-be állítása Preset Q J K _ Q Clear C

Szinkron sorrendi hálózatok Tároló elemek T és D tároló megvalósítása JK tárolóval K J Qn+1 Qn 1 T Qn+1 Qn 1 D Qn+1 1

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése A szinkron sorrendi hálózat állapotai Minden tároló elem két állapotot vehet fel: „0” vagy „1” Ha n tárolóelem van, a teljes hálózatnak 2n állapota lehet Működés közben ezek közül nem feltétlenül valósul meg mindegyik (tiltott állapotok) Egyik állapotból a másikba csak egy újabb órajel hatására kerülhet a rendszer A bemeneti jelek és a tároló elemek tartalma együttesen határozzák meg a következő (Qn+1) állapotot A tároló elemek az előző órajel hatására létrejött belső (Qn) állapotot tárolják Az aszinkron hálózatokhoz hasonlóan többféle leírás mód Kapcsolási rajz Állapot gráf Állapottáblázat Bemenet Kombinációs hálózat Kimenet Tárolóegység Órajel

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése Kapcsolási rajz Két tároló elem (T tárolók) Bemeneti és kimeneti kombinációs hálózat Sorrendi hálózatoknál a tároló elemek és visszacsatolások nehezítik a megértést Még ennél a viszonylag egyszerű hálózatnál is Bonyolultabb esetben átláthatatlanná válhat a kapcsolási rajz Az összeköttetéseket gyakran összekötő vonalak helyett azonos elnevezéssel helyettesítik Q1 Q1

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése Állapot gráf Szemléletes, könnyen áttekinthető Két (belső) szekunder változó Négy lehetséges állapot A lehetséges állapotokat a tároló elemek kimeneti jelével kódoljuk Q2Q1 = 00, 01, 10, 11 Egyik sem tiltott Ha X = 1 állapotváltozás következik be Q2 Q1 Q2 Q1 X Y 1/0 0/0 00 01 0/0 1/0 1/0 1/1 0/1 11 10 0/0

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése Állapottáblázat Az állapot gráfból könnyen felírható 1/0 0/0 00 01 0/0 Q2n Q1n X Q2n+1 Q1n+1 Y 1 1/0 1/0 1/1 0/1 11 10 0/0

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése Állapotegyenletek Egy sorrendi hálózat elvi működése két logikai függvénnyel írható le Állapotegyenlet (szekunder változók függvénye) Kimeneti függvény (függő változók függvénye) Annyi állapotegyenlet ahány szekunder változó (ahány tároló elem) Annyi kimeneti egyenlet, ahány kimenet A hálózat tényleges felépítésére nem ad információt JK, T vagy D tárolóval, NAND, NOR … ? Q2n Q1n X Q2n+1 Q1n+1 Y 1 Qn+1 = FQ(Xn,Qn) Yn = FY(Xn,Qn) X Q2n+1 X Q1n+1 Q2nQ1n Q2nQ1n 1 1 1 1 1 1 1 1

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése Gyakorló feladatok Egyszerű szinkron sorrendi hálózatok tervezése

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése VHDL (VHSIC Hardware Description Language) VHSIC : very-high-speed integrated circuits Hardver leíró nyelv Logikai áramkörök egyszerű szöveges leírására fejlesztették ki (USA 1987) A logikai áramkörökre jellemző párhuzamosság kezelésére, leírására Konkurens Szekvenciális utasítások Logikai hálózatok Modellezésére Szimulációjára (testbench) Szintetizálására (hardver megvalósítás) IEEE szabvány IEEE Std 1076-1987 IEEE Std 1076-1993 A programozási nyelvekhez hasonló felépítés Automatizálható feldolgozás (text) Integrált áramkörök gyártásánál Programozható logikai áramkörök (CPLD, FPGA) fejlsztéséhez

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése VHDL Használt könyvtárak (hasonló: #include) Be- kimenetek definíciója (portok) in0 out0 in1 out1 Belső jelek, konstansok stb.. definíciója, inicializálása inBus logic outBus clk Működést leíró utasítások

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése VHDL Értékadás signal a : STD_LOGIC; signal b : STD_LOGIC; signal c : STD_LOGIC; signal d : STD_LOGIC; … begin a <= ’0’; b <= ’1’; c <= a and b; d <= c or b when a = ’1’ else a nor b when a = ’0’; end Behavioral Konkurens utasítások Az utasítások egyszerre hajtódnak végre, a leírás sorrendjétől függetlenül Általában kombinációs hálózatot ír le a c b d

Szinkron sorrendi hálózatok Szinkron sorrendi hálózat működése VHDL Értékadás signal d : STD_LOGIC; signal q : STD_LOGIC; signal qn : STD_LOGIC; signal reset : STD_LOGIC; signal clk : STD_LOGIC; … begin qn <= not q; process begin   if (reset = ’1’) then q <= ’0’; elsif (clk`event and clk = ’1’) then      q <= d;   end if; end process; end Behavioral; Szekvenciális utasítások A leírás sorrendjében hajtódnak végre Szekvenciális hálózatot lehet leírni

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Tárolóegységek összekapcsolásával, egyszerű bemeneti kombinációs hálózattal kiegészítve Átmeneti tárolás Léptetés Vezérlési feladatok Soros-párhuzamos, párhuzamos-soros átalakítás

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Átmeneti tárolás Azonos órajelű D tárolókból épül fel Több bites adatok átmeneti tárolására Vezérlő információk Műveletek operandusainak és eredményének tárolása signal d : STD_LOGIC_VECTOR(3 downto 0); signal q : STD_LOGIC_VECTOR(3 downto 0); signal clk: STD_LOGIC; … process Begin if (clear = ’1’) then q <= ”0000”; elsif (clk`event and clk = ’1’) then    q <= d; end if; end process;

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Léptetés Azonos órajelű D tárolókból épül fel A tárolók kimenete egy másik tároló bemenetére csatlakozik Az órajel hatására az információ az egyik tárolóból a másikba íródik Léptetőregiszter, shift-regiszter Léptetés jobbra Process Begin if (clear = ’1’) then q <= ”0000”; elsif (clk`event and clk = ’1’) then     q(2 downto 0) <= q(3 downto 1); q(3) <= qin; end if; end; Q3 Q2 Q1 Q0

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Léptetés Azonos órajelű D tárolókból épül fel A tárolók kimenete egy másik tároló bemenetére csatlakozik Az órajel hatására az információ az egyik tárolóból a másikba íródik Léptetőregiszter, shift-regiszter Léptetés balra Process Begin if (clear = ’1’) then q <= ”0000”; elsif (clk`event and clk = ’1’) then     q(3 downto 1) <= q(2 downto 0); q(0) <= qin; end if; end; Q3 Q2 Q1 Q0

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Léptetés Jobbra, balra léptetés Párhuzamos be- kimenet Soros be- kimenet Alkalmas soros/párhuzamos átalakításra SLI: baloldali soros bemenet SRI: jobboldali soros bemenet D: párhuzamos bemenetek Q: párhuzamos kimenetek CE: órajel engedélyező bemenet C: órajel L: beírás engedélyezés LEFT: balra/jobbra léptetés R: szinkron törlés Párhuzamos kimenetek Soros bemenet Párhuzamos bemenetek Soros kimenet

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Léptetés Jobbra, balra léptetés Párhuzamos be- kimenet Soros be- kimenet Alkalmas soros/párhuzamos átalakításra SLI: baloldali soros bemenet SRI: jobboldali soros bemenet D: párhuzamos bemenetek Q: párhuzamos kimenetek CE: órajel engedélyező bemenet C: órajel L: beírás engedélyezés LEFT: balra/jobbra léptetés R: szinkron törlés Inputs Outputs R L CE LEFT SLI SRI D3 : D0 C Q0 Q3 Q2 : Q1 1 X ↑ D0 D3 Dn No Change q2 qn-1 q1 qn+1 qn-1 or qn+1 = state of referenced output one setup time prior to active clock transition

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Speciális számlálók Gyűrűs-számláló A LOAD bemenettel a D3-D0 bemeneteket 0001 alaphelyzetbe állítjuk Az órajel engedélyezése után minden órajel ciklusban az 1-es továbblép a következő helyi értékre A visszacsatolás miatt 4 ciklus után újra kezdődik a folyamat A 2n (16) lehetséges állapotból csak n (4) valósul meg (12 tiltott állapot) Q3Q2Q1Q0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 … 0001 1000 CE = 1 0010 0100

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Álvéletlen szám generátor léptetőregiszterrel (LFSR (Linear Feedback Shift Register) Bitminta generálás Titkosítás Hibavédelem Ha a regiszterek tartalma 0 ez az állapot marad Nem nulla kezdőállapot után véges hosszúságú periodikus jelet állít elő a kimeneten A periódus hossz maximum 2n-1 (n a regiszterek száma)

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Álvéletlen szám generátor léptetőregiszterrel (LFSR (Linear Feedback Shift Register)

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Regiszterek Álvéletlen szám generátor léptetőregiszterrel (LFSR (Linear Feedback Shift Register)

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Bináris felfelé számláló Pl. 0-tól 7-ig (000b – 111b) egyesével számlál minden órajel ciklusban (3-bites) A hálózat 23 = 8 állapotot vehet fel, nincs tiltott állapot A Q0 bit minden órajelre billen T-tároló T = 1 állandó bemenettel A Q1 bit akkor billen a következő órajelre ha Q0 = 1 T-tároló T = Q0 állandó bemenettel A Q2 bit akkor billen a következő órajelre ha Q1Q0 = 11 T-tároló T = (Q0 ÉS Q1) állandó bemenettel Q2Q1Q0 0 0 0 (0) 0 0 1 (1) 0 1 0 (2) 0 1 1 (3) 1 0 0 (4) 1 0 1 (5) 1 1 0 (6) 1 1 1 (7) Q1 T2 Q2 000 Q0 111 001 110 010 T1 Q0 Q1 101 011 100 T0 „1” Q0

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Bináris felfelé számláló Pl. 0-tól 7-ig (000b – 111b) egyesével számlál minden órajel ciklusban (3-bites) A hálózat 23 = 8 állapotot vehet fel, nincs tiltott állapot VHDL: use IEE.STD_LOGIC_ARITH.ALL; … signal q : STD_LOGIC_VECTOR(2 downto 0); signal clk: STD_LOGIC; signal clear: STD_LOGIC; process Begin if (clear = ’1’) then q <= ”000”; elsif (clk`event and clk = ’1’) then    q <= q+1; end if; end process;

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Bináris lefelé számláló Pl. 7-től 0-ig (111b – 000b) egyesével számlál minden órajel ciklusban (3-bites) A hálózat 23 = 8 állapotot vehet fel, nincs tiltott állapot A Q0 bit minden órajelre billen T-tároló T = 1 állandó bemenettel A Q1 bit akkor billen a következő órajelre ha Q0 = 0 T-tároló T = Q0 állandó bemenettel A Q2 bit akkor billen a következő órajelre ha Q1Q0 = 00 T-tároló T = (Q0 ÉS Q1) állandó bemenettel Q2Q1Q0 1 1 1 (7) 1 1 0 (6) 1 0 1 (5) 1 0 0 (4) 0 1 1 (3) 0 1 0 (2) 0 0 1 (1) 0 0 0 (0) _ Q1 T2 _ Q2 000 Q0 111 001 110 010 _ T1 Q0 Q1 101 011 100 T0 „1” Q0 _ _

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Bináris lefelé számláló Pl. 7-től 0-ig (111b – 000b) egyesével számlál minden órajel ciklusban (3-bites) A hálózat 23 = 8 állapotot vehet fel, nincs tiltott állapot VHDL: use IEE.STD_LOGIC_ARITH.ALL; … signal q : STD_LOGIC_VECTOR(2 downto 0); signal clk: STD_LOGIC; signal clear: STD_LOGIC; process Begin if (clear = ’1’) then q <= ”000”; elsif (clk`event and clk = ’1’) then    q <= q-1; end if; end process;

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Bináris fel-le számláló Az számlálási irányt megadó X bemenet függvényében Pl. 7-től 0-ig (111b – 000b) egyesével számlál minden órajel ciklusban (3-bites) Pl. 0-tól 7-ig (000b – 111b) egyesével számlál minden órajel ciklusban (3-bites) T2 000 Q2 111 1 1 001 1 1 110 010 1 1 T1 Q1 1 101 1 011 100 T0 Q0

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Bináris fel-le számláló Az számlálási irányt megadó X bemenet függvényében Pl. 7-től 0-ig (111b – 000b) egyesével számlál minden órajel ciklusban (3-bites) Pl. 0-tól 7-ig (000b – 111b) egyesével számlál minden órajel ciklusban (3-bites) X Q1 Q0 T2 Q2 Q1 Q0 X Q0 X T1 Q1 Q0 X T0 „1” Q0

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Bináris fel-le számláló Az számlálási irányt megadó X bemenet függvényében Pl. 7-től 0-ig (111b – 000b) egyesével számlál minden órajel ciklusban (3-bites) Pl. 0-tól 7-ig (000b – 111b) egyesével számlál minden órajel ciklusban (3-bites) VHDL: use IEE.STD_LOGIC_ARITH.ALL; … signal q : STD_LOGIC_VECTOR(2 downto 0); signal x: STD_LOGIC; signal clk: STD_LOGIC; signal clear: STD_LOGIC; process Begin if (clear = ’1’) then q <= ”000”; elsif (clk`event and clk = ’1’) then    if (x = ’0’) then q <= q+1; else q <= q-1; end if; end if; end process;

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Decimális felfelé számláló Pl. 0-tól 9-ig (0000b – 1001b) egyesével számlál minden órajel ciklusban (4-bites BCD kód) A hálózat 24 = 16 állapotot vehet fel, ebből 6 tiltott állapot 1001b-ig úgy működik mint egy bináris számláló, de 1001b után 0000b kell következzen A bemeneti kombinációs hálózat a bináris számlálótól különböző lesz Q3Q2Q1Q0 0 0 0 0 (0) 0 0 0 1 (1) 0 0 1 0 (2) 0 0 1 1 (3) 0 1 0 0 (4) 0 1 0 1 (5) 0 1 1 0 (6) 0 1 1 1 (7) 1 0 0 0 (8) 1 0 0 1 (9) 0000 1001 0001 1000 0010 0111 0011 0110 0100 0101

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Decimális felfelé számláló Pl. 0-tól 9-ig (0000b – 1001b) egyesével számlál minden órajel ciklusban (4-bites BCD kód) A hálózat 24 = 16 állapotot vehet fel, ebből 6 tiltott állapot 0000 1001 0001 1000 0010 0111 0011 0110 0100 0101

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Számlálók Decimális felfelé számláló Pl. 0-tól 9-ig (0000b – 1001b) egyesével számlál minden órajel ciklusban (4-bites BCD kód) A hálózat 24 = 16 állapotot vehet fel, ebből 6 tiltott állapot Q3 kimenet billen ha Q0 = Q1 = Q2 = 1 vagy Q3Q2Q1Q0 = 1001 Q2 kimenet billen ha Q0 = Q1 = 1 Q1 kimenet billen ha Q0 = 1 és Q3Q2Q1Q0 ≠ 1001 Az ”1001” állapot jelzéséhez BCD kódban elég ha Q3 = Q0 = 1

Szinkron sorrendi hálózatok Egyszerű szinkron sorrendi hálózatok Frekvenciaosztás n bites számláló frekvenciaosztása: 2n f0 f0/2 f0/4 f0/8 f0/16 1 f0

Szinkron sorrendi hálózatok Egyszerű aszinkron sorrendi hálózatok Aszinkron számlálók Bináris felfelé számláló Pl. 0-tól 7-ig (000b – 111b) egyesével számlál minden órajel ciklusban (3-bites) A hálózat 23 = 8 állapotot vehet fel, nincs tiltott állapot A T tárolók kimenete a következő tároló órajel bemenetére csatlakozik A tárolók kimeneti jelének frekvenciája fele a bemeneti órajel frekvenciájának Előny: Nem kellenek kiegészítő kapuáramkörök Hátrány: A késleltetések miatt a tárolók nem egyszerre billennek Az órajel változásakor rövid időre határozatlan kimeneti jel Q2Q1Q0 0 0 0 (0) 0 0 1 (1) 0 1 0 (2) 0 1 1 (3) 1 0 0 (4) 1 0 1 (5) 1 1 0 (6) 1 1 1 (7) Q1 Q0 Q1 Q2

Szinkron sorrendi hálózatok Egyszerű aszinkron sorrendi hálózatok Aszinkron számlálók Bináris felfelé számláló Pl. 0-tól 7-ig (000b – 111b) egyesével számlál minden órajel ciklusban (3-bites) A hálózat 23 = 8 állapotot vehet fel, nincs tiltott állapot Q2Q1Q0 0 0 0 (0) 0 0 1 (1) 0 1 0 (2) 0 1 1 (3) 1 0 0 (4) 1 0 1 (5) 1 1 0 (6) 1 1 1 (7) Q1 Q0 Q1 Q2

Szinkron sorrendi hálózatok Egyszerű aszinkron sorrendi hálózatok Diszkrét áramkörök D flip-flop 74AC11074 J-K tároló CD54AC112 Léptető regiszter CD4015 Számláló CD40193 Texas Instruments

Memóriák Memóriák (tárolók) Nagyobb mennyiségű információ átmeneti vagy tartós tárolására szolgáló egységek Regiszterek Néhány bit, vagy bitcsoport (4, 8, 16, 32 …stb.) tárolására Több regiszterből nagyobb tárolókapacitású tárolók építhetők Kiegészítő és vezérlő egységek szükségesek A tárolt információ célszerű kezeléséhez Más áramkörökkel való együttműködés, illeszthetőség foglaltság, készenlét stb… Memóriák működése A „Cím” bemenetre érkező információval jelöljük ki az „Adat” csatlakozóra érkező, tárolandó az „Adat” csatlakozón távozó, kiolvasandó információ memórián belüli helyét (memória rekeszt) A „Vezérlés” csatlakozásokon keresztül adhatunk utasításokat beírás, kiolvasás stb… vagy nyerhetünk információkat a memória működésére vonatkozólag foglaltság, készenlét stb… Memória Cím Adat Vezérlés

Memóriák Működés Tömb Cella Rekesz N db memória rekesz Vezérlés R W Általános memória felépítése 1 db cella 1 bit tárolására képes 1 rekesz (sor) K db cellából épül fel. 1 sor mérete K bit. Ettől függően léteznek: Byte szervezésű (K = 8) Szó szervezésű (K = 16) Duplaszó szervezésű (K = 32) A párhuzamos hozzáférésű memóriáknál az adatbusz hozzávezetéseinek számát K adja meg A memória tömb N = 2L db rekeszből épül fel A párhuzamos címzésű memóriáknál a címbusz hozzávezetéseinek száma L Memória tárolókapacitása tárolt bitek száma = 1 rekesz mérete * rekeszek darabszáma = K * N bit Vezérléstől függően 3 féle állapot: Írás: R = 1, W = 0 Olvasás : R = 0, W = 1 Üresjárat / tárolás: R = 1, W = 1 Tömb Cella Rekesz Cím (Address) N db memória rekesz Vezérlés R W CLK

Memóriák Működés Általános memória felépítése Cella Rekesz RS tároló + logika Rekesz Regiszterhez hasonlóan, tároló cellák párhuzamosan kapcsolva W R S Qn+1 Qn 1 X O I O0 O1 O2 OK-1 1 2 K-1 W I0 I1 I2 IK-1

Memóriák Működés Általános memória felépítése Rekeszek memória tömbbé szervezése

Memóriák Működés Általános memória felépítése Rekeszek memória tömbbé szervezése IS65C256AL

Memóriák Működés Olvasás, párhuzamos független adat és címvezetékekkel CE: Chip Enable OE : Output Enable

Memóriák Működés Írás, párhuzamos független adat és címvezetékekkel CE: Chip Enable WE : Write Enable Olvasás

Memóriák Csoportosítás A megcímzett rekesz hozzáférési módja szerint Tetszőleges (véletlen) hozzáférésű memória (RAM: Random Access Memory) Bármely adat a címtől függetlenül azonos idő alatt elérhető Soros hozzáférésű memória (SAM: Serial Access Memory) Az adat címétől függő elérési idő Pl. Mágnesszalagos tárolás Asszociatív memória (CAN : Content Addressable Memory) Megadja, hogy az adott információ a memória mely címén található Az információ beírhatósága szempontjából Csak olvasható memória (ROM: Read Only Memory) Módosítható memória (RWM: Read Write Memory) RAM A tárolás időbeli módja Statikus (pl.: SRAM) Tápfeszültség esetén az információt korlátlan ideig megőrzi Dinamikus (pl.: DRAM) A memória tartalma időnként frissítésre szorul (ez hátrány) (De) nagy tároló kapacitás érhető el

Memóriák Pl.: 216 bit tárolása (64 Kibit), 216 cella 8 bit (byte) szervezés: 8 KiByte, 213 rekesz Párhuzamos szervezéssel 8 adatvezeték 13 cím vezeték Soros szervezéssel csökkenteni lehet a kivezetések számát Egy 32 bites 2GiByte-os memóriának 32 adatvezetés 29 címvezeték Párhuzamos memória + soros-párhuzamos átalakítás

Univerzális (egyesített) Memóriák Hozzáférés Párhuzamos Soros Független cím- és adatbusz Univerzális (egyesített) Cím- és adatbusz Univerzális Csoportosítás Address Data WR RE CLK Address/ Data ALE WR RE CLK Address Data WR RE CLK Address/ Data WR RE CLK M = 66 Q = 1 + 1 M = 38 Q = 1 + 1 M = 7 Q = 29+32 M = 6 Q = 29 + 32 512M x 32 (K =29, L=32) tömb esetén M: chip lábainak száma Q: 1 művelethez szükséges órajel periódusok száma

Memóriák Soros hozzáférésű memória S → P S ↔ P A CLK D W R Párhuzamos memóriából, soros-párhuzamos, párhuzamos-soros átalakítókkal A0 S → P A1 A2 AL-1 D1 D0 D2 DK S ↔ P A CLK D W R

Memóriák Bővítés Szóhossz bővítés R w Adrr cs 2 x 8k * 8 = 8k * 16 R w Data Data D0 D1 D2 DK-1 DK DK+1 DK+2 D2K-1 DK-1 DK D0 D1 D2

Memóriák Bővítés Kapacitás bővítés

Memóriák Írás,olvasás, törlés Nem illékony Illékony Írás a gyárban Törlés nem lehetséges 1x felhasználó által is írható (beégethető) Törlés nem lehetséges Felhasználó által is írható Törlés 10”-es UV-s levilágítással Felhasználó által is írható Elektromosan törölhető Tápfesz nélkül elveszti a tartalmát Gyors Nem kell frissíteni Tápfeszültség alatt is néha frissíteni kell Lassú Nem illékony Illékony

Mikroprocesszoros rendszerek Algoritmusok megvalósítása Műszaki rendszereket mindig valamilyen feladat megoldása érdekében építünk A feladatmegoldás általában valamilyen algoritmus szerint történik Mérésadatgyűjtés Adatok elemzése (pl. összehasonlítás) Aritmetikai, logikai műveletek végzése az adatokon Döntéshozatal stb. Az információfeldolgozás menetét (programját) építjük be a rendszerbe 1. megoldás: A rendszer összetevői és egymáshoz való kapcsolódásuk, sorrendiségük a hardverben fixen „behuzalozva” jelennek meg 2. megoldás Az algoritmusnak megfelelő sorrendben, előre letárolt program szerint, egy vezérlő berendezés segítségével aktivizáljuk az egyes műveletvégző egységeket

Mikroprocesszoros rendszerek Algoritmusok megvalósítása 1. megoldás: Huzalozott program A rendszer összetevői és egymáshoz való kapcsolódásuk, sorrendiségük a hardverben fixen „behuzalozva” jelennek meg Előny Egyes részfeladatok párhuzamosan is végrehajthatók (gyors működés) Hátrány A hardver a rögzített struktúra miatt csak az adott feladat megoldására alkalmas 2. megoldás: Tárolt program Az algoritmusnak megfelelő sorrendben, előre letárolt program szerint, egy vezérlő berendezés segítségével aktivizáljuk az egyes műveletvégző egységeket Ha megváltoztatjuk a memória tartalmát (a programot) más-más feladatra használhatjuk A részfeladatok nehezen párhuzamosíthatók (lassúbb működés) Szekvenciális utasítás végrehajtás Hardverben rögzített algoritmus Bemenet Kimenet Memória Vezérlő Bemenet Kimenet További rendszerösszetevők

Mikroprocesszoros rendszerek Algoritmusok megvalósítása tárolt program alapján Vezérlő egység A vezérelt rendszer kívánt algoritmus szerinti működését Felügyelik Szervezik A vezérlő működési programja lehet Fázisregiszteres Kötött struktúrájú A fázisregiszter (ez lehet egy számláló is) tárolja a vezérlő belső állapotát A belső állapotnak megfelelően kell előállítani a kimeneti vezérlő jeleket A módosítás nehézkes Mikroprogramozott A vezérlőt működtető utasítások sorozata (a program) egy memóriában van tárolva Az aktuális utasítás megadja az adott fázisban végrehajtandó műveletet és a következő utasítás memórián belüli címét Memória Vezérlő Bemenet Kimenet További rendszerösszetevők

Mikroprocesszoros rendszerek Algoritmusok megvalósítása tárolt program alapján Memória A rendszer működése hatékonyabb, ha a memóriában nem csak az utasítások hanem adatok is tárolhatók későbbi felhasználás céljából Programmemória Adatmemória Lehet közös memória (Neumann architektúra) Vagy fizikailag külön adat és programmemória (Harvard architektúra) Bemenetek- Kimenetek A bementi adatok fogadására A kimeneti adatok megjelenítésére A külvilággal való kommunikációra, illesztésre Memória Vezérlő Bemenet Kimenet További rendszerösszetevők

Mikroprocesszoros rendszerek Algoritmusok megvalósítása tárolt program alapján Műveletvégző egységek A gyakran használt aritmetikai és logikai műveletek végrehajtását célszerű külön erre a célra tervezett egységre bízni ALU (Arithmetic Logic Unit) A vezérlési, aritmetikai és logikai, illetve egyéb feldolgozási műveleteket elvégző központi egységet CPU-nak ( Central Processing Unit, központi feldolgozó egység) hívjuk Memória Vezérlő Bemenet Kimenet További rendszerösszetevők

Mikroprocesszoros rendszerek CPU Az utasítások alapján előállítja a processzoron belüli és a processzorhoz kapcsolt külső egységek működéséhez szükséges vezérlőjeleket Belső vezérlő jelek ALU működtetése Regiszterek és a belső sínrendszer közötti adatátvitel Külső vezérlőjelek A memória – CPU közötti adatátvitel A perifériák – CPU közötti adatátvitel A művelet-végrehajtás elemi lépéseit mikroprogram írja le, amely a programtárban (memória) helyezkedik el A mikroprogram mikroutasításokból áll Műveleti kód Az adott fázisban elvégzendő feladathoz rendelt vezérlővonal állapotokat adja meg Címzésmód A mikroprogram végrehajtása hogyan folytatódik a következő utasítással a tárban , feltétel nélküli vezérlésátadással (INC) vagy egy külső feltételtől függő vezérlésátadással (JMP) Következő mikroutasítás címe Automatikus inkrementálásnál lényegtelen Operandus(ok) cime(i) A memória mely elemeivel akarunk műveletet végezni Pl: A = A+B (A és B a memóriában tárolt adatok címei)

Mikroprocesszoros rendszerek CPU Cím- adat- és vezérlősínek (buszrendszer) CPU a hozzá csatlakoztatott memóriaegységekkel, be- és kimeneti egységekkel, regisztertárakkal ezeken keresztül tart kapcsolatot. Több párhuzamos vezeték, melyeken az adatok, a memóriák egyes rekeszeit kiválasztó címek, és egyéb vezérlőjelek utaznak A síneken általában több eszköz osztozik, de egyszerre csak egy használhatja őket

Mikroprocesszoros rendszerek CPU Utasítás dekódoló és végrehajtó egység Irányítja és ütemezi az összes többi egység működését Az adatokat vagy címeket a megfelelő útvonalon vezeti végig, hogy a kívánt helyre eljussanak Ha szükséges, beindítja az ALU valamelyik műveletvégző áramkörét PC (Program Counter Register) programszámláló regiszter A következő utasítás memóriacímét tartalmazza Minden utasítás végrehajtása során egyel nő az értéke IR (Instruction Register) utasítás regiszter A memóriából kiolvasott utasítást tartalmazza A dekódoló egység értelmezi a tartalmát és ennek megfelelően ad ki vezérlő jeleket a többi egységnek Ugrás esetén innen kerül a következő utasítás címe a PC-be, memória íráskor illetve olvasáskor ebből a regiszterből jut el a kívánt cím a memóriához (az MA regiszteren keresztül) MA (Memory Address Register) memória címregiszter Az MA és MD regiszterek tartják a közvetlen kapcsolatot a memóriával Az MA-ból jut a memória bemeneteire a kiválasztott rekesz címe (adatírás, -olvasás, utasításbeolvasás esetén) MD (Memory Data Register) memória adatregiszter A memóriából kiolvasott adat közvetlenül ide kerül, illetve a memóriába innen töltjük az adatokat

Mikroprocesszoros rendszerek CPU ALU (Arithmetic Logic Unit) CPU "kalkulátora” Néhány alapvető műveletet képes végrehajtani Összeadás, kivonás, átvitel bitek kezelése Fixpontos szorzás osztás Logikai műveletek Léptetések, bitek mozgatása jobbra/balra Lebegőpontos aritmetikai műveletek Akkumulátor Ideiglenes tárolást (munkamemóriát) biztosít(anak) az ALU számára Egyéb regiszterek A CPU belső tárolóelemei Írásuk és olvasásuk sokkal gyorsabb a memóriákénál Segítik a címképzést, tárolnak állapotjellemzőket, státusokat (ezzel a vezérlést segítik) Tartalmuk gyorsan és egyszerűen elérhető a CPU elemei számára

Mikroprocesszoros rendszerek CPU Pl. Adat beírása az akkumulátor regiszterbe lépés: A PC-ből az MA-n keresztül a memória bemeneteire jut az utasítás címe. A memória adatvezetékein megjelenik a rekesz tartalma (vagyis a műveleti kód), az MD-n keresztül az IR-be kerül lépés: Az utasítás dekódoló és végrehajtó egység beolvassa a műveleti kódot, és értelmezi azt lépés: A PC értéke eggyel nő (így az operandus címére mutat)

Mikroprocesszoros rendszerek CPU Pl. Adat beírása az akkumulátor regiszterbe lépés: A PC-ből az MA-n keresztül a memória bemeneteire jut az utasítás címe. A memória adatvezetékein megjelenik a rekesz tartalma (vagyis a műveleti kód), az MD-n keresztül az IR-be kerül lépés: Az utasítás dekódoló és végrehajtó egység beolvassa a műveleti kódot, és értelmezi azt lépés: A PC értéke eggyel nő (így az operandus címére mutat) lépés: Az operandus címe a PC-ből a memória bemeneteire jut, majd tárolt érték az MD-n keresztül az akkuba kerül lépés: A PC értéke megint eggyel nő, vagyis a következő utasításra mutat: elkezdődhet annak a végrehajtása.

Mikroprocesszoros rendszerek Mikroprocesszorok (mP), mikroszámítógépek (mC)

Mikroprocesszoros rendszerek Mikroprocesszorok (mP), mikroszámítógépek (mC) ATmega168 TMS320C28x TMS320C6416T