Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Digitális technika II. Rész: Sorrendi hálózatok Dr. Turóczi Antal

Hasonló előadás


Az előadások a következő témára: "Digitális technika II. Rész: Sorrendi hálózatok Dr. Turóczi Antal"— Előadás másolata:

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

2 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 ABQY 0000 2 A B Q Y 0 0 0 0 0 1 0 0 A B Y Q

3 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 ABQY 0000 0101 3 A B Q Y 1 0 0 0 0 1 1 1 A B Y Q

4 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 ABQY 0000 0101 1110 4 A B Q Y 1 0 1 0 0 1 1 1 1 1 1 0 0 A B Y Q

5 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 ABQY 0000 0101 1110 0110 • Azonos bemenő jel, mégis különböző kimeneti érték • A kimenet a belső állapotváltozótól is függ 5 A B Q Y 1 1 0 1 1 0 1 0 A B Y Q

6 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’ = F Q (A,B,Q) • Kimeneti függvény Y = F Y (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 6

7 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) 7

8 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) 8 Kombinációs hálózat Memória Bemenet Kimenet

9 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 9 Ideális Kombinációs hálózat (késleltetés nélküli) A Y1Y1 rr   B N YmYm … … … Q’ 1 Q’ 2 Q’ r Q1Q1 Q2Q2 QrQr Szekunder változók Bemeneti (primer) változók Kimenetek …

10 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 ABQY 0000 0101 1110 10 A B Q Y 1 0 1 0 0 1 1 1 1 1 1 0 0 A B Y Q t pd

11 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’ = F Q (X,Q) Y = F Y (X,Q) 11 Kombinációs hálózat Memória Bemenetek Kimenetek Szekunder változók X Y Q Q’

12 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’* = F Q* (X,Q*) Y = F Y* (Q*) 12 Kombinációs hálózat Memória Bemenetek Kimenetek Szekunder változók X Y Q* Q’* Kombinációs hálózat

13 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 13 n-edik állandósult állapot tranziens állapot(n+1)-edik állandósult állapot idő

14 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) 2 1 = 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 14

15 Sorrendi hálózatok • Sorrendi hálózat működésének leírása – Á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 15 qiqi qjqj Egyik továbblépési feltétel sem teljesül X i2 /y i2 qkqk qmqm X j1 /y j1 X m1 /y m1 Teljesül valamely továbblépési feltétel X i1 /y i1 X j2 /y j2 X m2 /y m2 X k2 /y k2 X k1 /y k1

16 Sorrendi hálózatok • Sorrendi hálózat működésének leírása – Á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 16 q1q1 q2q2 A B Q Y X 0 /y 0 X 2 /y 0 X 1 /y 1 X 3 /y 1 X 0 /y 0 X 1 /y 0 X 3 /y 0 X 2 /y 0 0 1 00/0 10/0 01/1 11/1 00/0 01/0 11/0 10/0

17 Sorrendi hálózatok • Sorrendi hálózat működésének leírása – Á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ó 17 0 1 00/0 10/0 01/1 11/1 00/0 01/0 11/0 10/0 Q AB Q’ Y 0 00 0 0 0 01 0 1 0 10 1 0 0 11 1 1 1 00 0 0 1 01 1 0 1 10 1 0 1 11 1 0

18 Sorrendi hálózatok • Sorrendi hálózat működésének leírása – 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 18 0 2 1 50Ft be 50Ft be üdítő ki 100Ft be üdítő, 50Ft ki 100Ft be üdítő ki 100Ft be START állapot 50 Ft bedobva 100 Ft bedobva

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

20 Sorrendi hálózatok • Sorrendi hálózat működésének leírása – 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 20 Q AB Q’ Y 0 00 0 0 0 01 0 1 0 10 1 0 0 11 1 1 1 00 0 0 1 01 1 0 1 10 1 0 11110 A B Q Y Q AB 1 1 1 1 1 0 0 0 01 2 3 4 56 7 i01234567i01234567 Vezérlési táblázat Átmeneti táblázat

21 Sorrendi hálózatok • Sorrendi hálózat működésének leírása – Karnaugh táblás leírás • Példa két belső (szekunder) változóra – Kiindulás: Q 2 Q 1 = 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ő  késleltetések vannak – Általában nem tudjuk előre melyik hurok a gyorsabb » Nem egyértelmű működés 21 00 11 00 01 10 00 AB Q2Q1Q2Q1 • 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)

22 Sorrendi hálózatok • Sorrendi hálózat működésének leírása – Karnaugh táblás leírás • Példa két belső (szekunder) változóra – Kiindulás: Q 2 Q 1 = 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 22 00 11 00 01 10 00 AB Q2Q1Q2Q1 • 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

23 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 23 – 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

24 Sorrendi hálózatok • Aszinkron és szinkron sorrendi hálózatok – 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 24 Kombinációs hálózat Tárolóegység Bemenet Kimenet Órajel

25 Sorrendi hálózatok • Aszinkron és szinkron sorrendi hálózatok – 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 25 „1” „0” 1 Ciklusidő idő Felfutó élLefutó él

26 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 26 Kombinációs hálózat Tárolóegység Bemenet Kimenet Órajel

27 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 27 Q n+1 Q* n+1 QnQn Q* n Mealy modell Moore modell Q n+1 = F Q (X n,Q n ) Y n = F Y (X n,Q n ) Órajel Q* n+1 = F Q (X n,Q* n ) Y n = F Y (Q* n )

28 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 28. Q n+1 QnQn S R Q n+1 = F Q (S,R,Q n ) Y n = Q n R SQnQn Q n+1 0 00 0 Változatlan 0 01 1 0 10 1 Beírás 0 11 1 1 00 0 Törlés 1 01 0 1 10 X Tiltott 1 11 X

29 Sorrendi hálózatok • Tároló elemek – 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, Q n+1 -re elvégezve az összevonásokat az egyszerűsített logikai függvény: 29 0 1 01/1 X0/0 10/0 0X/1 QnQn RS 1 1 0 0 0 XX 1 R SQnQn Q n+1 0 00 0 Változatlan 0 01 1 0 10 1 Beírás 0 11 1 1 00 0 Törlés 1 01 0 1 10 X Tiltott 111X Q n+1

30 Sorrendi hálózatok • Tároló elemek – RS tároló (Filp-flop) megvalósítása • A Q n+1 -et és Q n+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ű 30 _ RS Q n+1 00 QnQn 01 1 10 0 11X Tiltott

31 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 31 (Órajel) C

32 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” 32 C t pd A B Y A B Y

33 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ó 33 Beíró kapuk Átíró kapuk Master Slave C

34 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ó 34 Beíró kapuk nyitnak Átíró kapuk zárnak Átíró kapuk nyitnak Beíró kapuk zárnak Beírás Master-ba Átírás Slave-be Master kimenete már nem változhat „1” „0”

35 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ó 35

36 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 Q n – Az aktuális órajel utáni kimenet Q n+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 36 RS Q n+1 00 QnQn 01 1 10 0 11 X Tiltott R SQnQn Q n+1 0 00 0 Változatlan 0 01 1 0 10 1 Beírás 0 11 1 1 00 0 Törlés 1 01 0 1 10 X Tiltott 111X 0 1 10/1 X0/0 01/0 0X/1 QnQn RS 1 1 0 0 0 XX 1

37 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 Q n – Az aktuális órajel utáni kimenet Q n+1 • Állapottábla – Karnaug-táblaként is értelmezhető – Felírható a kimenet logikai függvénye Állapot gráf 37 KJ Q n+1 00 QnQn 01 1 10 0 11 QnQn K JQnQn 0 00 0 Változatlan 0 01 1 0 10 1 Beírás 0 11 1 1 00 0 Törlés 1 01 0 1 10 1 Billentés 1110 0 1 01/1 00/0 10/0 00/1 QnQn KJ 1 1 0 0 0 10 1 _ 11/1 11/0 10/0 01/1

38 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 38 KJ Q n+1 00 QnQn 01 1 10 0 11 QnQn C J K Q Q _ _

39 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 Q n – Az aktuális órajel utáni kimenet Q n+1 • Állapottábla – Karnaug-táblaként is értelmezhető – Felírható a kimenet logikai függvénye Állapot gráf 39 T Q n+1 0 QnQn 1 QnQn T QnQn 0 0 0 Változatlan 0 1 1 1 0 1 Billentés 110 0 1 1/1 0/0 1/0 0/1 QnQn T 0 1 0 0 0 10 1 _

40 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 Q n – Az aktuális órajel utáni kimenet Q n+1 • Állapottábla – Karnaug-táblaként is értelmezhető – Felírható a kimenet logikai függvénye Állapot gráf 40 D Q n+1 0 0 1 1 D QnQn 0 0 0 Törlés 0 1 0 1 0 1 Beírás 111 0 1 1/1 0/0 QnQn T 1 0 0 0 0 10 1 1/1

41 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 41 C J K Q Q _ Preset Clear

42 Szinkron sorrendi hálózatok • Tároló elemek – T és D tároló megvalósítása • JK tárolóval 42 T Q n+1 0 QnQn 1 QnQn D 0 0 1 1 KJ 00 QnQn 01 1 10 0 11QnQn

43 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 2 n á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ő (Q n+1 ) állapotot – A tároló elemek az előző órajel hatására létrejött belső (Q n ) á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 43 Kombinációs hálózat Tárolóegység Bemenet Kimenet Órajel

44 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 44 Q1Q1 Q1Q1

45 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 – Q 2 Q 1 = 00, 01, 10, 11 – Egyik sem tiltott – Ha X = 1 állapotváltozás következik be 45 00 01 0/0 Q2Q2 Q1Q1 Q 2 Q 1 10 0/0 11 0/1 1/0 1/1 1/0 X Y

46 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ó 46 Q2nQ2n Q1nQ1n XQ 2 n+1 Q 1 n+1 Y 0 00 000 0 01 010 0 10 010 0 11 100 1 00 100 1 01 110 1 10 111 1 11 001 00 01 0/0 10 0/0 11 0/1 1/0 1/1 1/0

47 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 … ? 47 Q n+1 = F Q (X n,Q n ) Y n = F Y (X n,Q n ) Q2nQ2n Q1nQ1n XQ 2 n+1 Q 1 n+1 Y 0 00 000 0 01 010 0 10 010 0 11 100 1 00 100 1 01 110 1 10 111 1 11 001 X Q2nQ1nQ2nQ1n 1 0 0 1 1 10 0 Q 2 n+1 X Q2nQ1nQ2nQ1n 0 1 0 0 1 10 1 Q 1 n+1

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

49 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

50 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) Belső jelek, konstansok stb.. definíciója, inicializálása Működést leíró utasítások in0 in1 inBus outBus out0 out1 clk logic

51 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 b a c d

52 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

53 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 53

54 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; 54

55 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; 55 Q0Q0 Q1Q1 Q2Q2 Q3Q3

56 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; 56 Q3Q3 Q0Q0 Q1Q1 Q2Q2

57 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 57 Párhuzamos bemenetek Soros bemenet Párhuzamos kimenetek Soros kimenet

58 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 58 InputsOutputs RLCELEFTSLISRID3 : D0CQ0Q3Q2 : Q1 1XXXXXX↑000 01XXXXD3 : D0↑D0D3Dn 000XXXXXNo Change 0011SLIXX↑ q2qn-1 0010XSRIX↑q1SRIqn+1 qn-1 or qn+1 = state of referenced output one setup time prior to active clock transition

59 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 2 n (16) lehetséges állapotból csak n (4) valósul meg (12 tiltott állapot) 59 Q 3 Q 2 Q 1 Q 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 … 0001 0010 0100 1000 CE = 1

60 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 2 n -1 (n a regiszterek száma) 60

61 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) 61

62 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) 62

63 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 2 3 = 8 állapotot vehet fel, nincs tiltott állapot – A Q 0 bit minden órajelre billen » T-tároló T = 1 állandó bemenettel – A Q 1 bit akkor billen a következő órajelre ha Q 0 = 1 » T-tároló T = Q 0 állandó bemenettel – A Q 2 bit akkor billen a következő órajelre ha Q 1 Q 0 = 11 » T-tároló T = (Q 0 ÉS Q 1 ) állandó bemenettel 63 Q 2 Q 1 Q 0 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) 000 010 100 110 001 111 101 011 „1” Q0Q0 Q1Q1 Q2Q2 Q1Q1 Q0Q0 Q0Q0 T2T2 T1T1 T0T0

64 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 2 3 = 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; 64

65 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 2 3 = 8 állapotot vehet fel, nincs tiltott állapot – A Q 0 bit minden órajelre billen » T-tároló T = 1 állandó bemenettel – A Q 1 bit akkor billen a következő órajelre ha Q 0 = 0 » T-tároló T = Q 0 állandó bemenettel – A Q 2 bit akkor billen a következő órajelre ha Q 1 Q 0 = 00 » T-tároló T = (Q 0 ÉS Q 1 ) állandó bemenettel 65 Q 2 Q 1 Q 0 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) 000 010 100 110 001 111 101 011 „1” Q0Q0 Q1Q1 Q2Q2 Q1Q1 Q0Q0 Q0Q0 _ _ _ _ _ T2T2 T1T1 T0T0

66 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 2 3 = 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; 66

67 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) 67 Q2Q2 Q1Q1 Q0Q0 T2T2 T1T1 T0T0 000 010 100 110 001 111 101 011 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

68 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) 68 „1” Q0Q0 Q2Q2 Q1Q1 Q0Q0 Q1Q1 X Q0Q0 Q1Q1 X Q0Q0 X Q0Q0 X T2T2 T1T1 T0T0

69 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 process; 69

70 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 2 4 = 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 70 Q 3 Q 2 Q 1 Q 0 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 0010 0101 1000 0001 1001 0110 0100 0011 0111

71 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 2 4 = 16 állapotot vehet fel, ebből 6 tiltott állapot 71 0000 0010 0101 1000 0001 1001 0110 0100 0011 0111

72 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 2 4 = 16 állapotot vehet fel, ebből 6 tiltott állapot – Q 3 kimenet billen ha » Q 0 = Q 1 = Q 2 = 1 vagy » Q 3 Q 2 Q 1 Q 0 = 1001 – Q 2 kimenet billen ha » Q 0 = Q 1 = 1 – Q 1 kimenet billen ha » Q 0 = 1 és » Q 3 Q 2 Q 1 Q 0 ≠ 1001 – Az ”1001” állapot jelzéséhez BCD kódban elég ha Q 3 = Q 0 = 1 72

73 Szinkron sorrendi hálózatok • Egyszerű szinkron sorrendi hálózatok – Frekvenciaosztás • n bites számláló frekvenciaosztása: 2 n 73 1 0 f0f0 f 0 /4 f0f0 f 0 /8 f 0 /16 f 0 /2

74 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 2 3 = 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 74 Q 2 Q 1 Q 0 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) Q1Q1 Q2Q2 Q1Q1 Q0Q0

75 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 2 3 = 8 állapotot vehet fel, nincs tiltott állapot 75 Q 2 Q 1 Q 0 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) Q1Q1 Q2Q2 Q1Q1 Q0Q0

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

77 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… 77 Memória Cím Vezérlés Adat • 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…

78 Memóriák • Működés – Á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 = 2 L 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 78 Cím (Address) N db memóriarekesz Tömb Rekesz Cella Vezérlés WRCLK

79 Memóriák • Működés – Általános memória felépítése • Cella – RS tároló + logika • Rekesz – Regiszterhez hasonlóan, tároló cellák párhuzamosan kapcsolva 79 I W RS Q n+1 00 QnQn 01 1 10 0 11X O 012K-1 I0I0 I1I1 I2I2 I K-1 O0O0 O1O1 O2O2 O K-1 W

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

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

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

83 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 83

84 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 84

85 Memóriák – Pl.: • 2 16 bit tárolása (64 Kibit), 2 16 cella • 8 bit (byte) szervezés: 8 KiByte, 2 13 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 85

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

87 Memóriák • Soros hozzáférésű memória – Párhuzamos memóriából, soros-párhuzamos, párhuzamos-soros átalakítókkal 87 S → P A0A0 A1A1 A2A2 A L-1 S ↔ P D1D1 D0D0 D2D2 DKDK DA CLK W R

88 Memóriák • Bővítés – Szóhossz bővítés 88 D0D0 D1D1 D2D2 D K-1 DKDK cs wR Data Adrr cs wR Data Adrr D0D0 D1D1 D2D2 D K-1 DKDK D K+1 D K+2 D 2K-1 cs wR Adrr 2 x 8k * 8 = 8k * 16

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

90 Memóriák • Írás,olvasás, törlés 90 Egyéb • Í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

91 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 91

92 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 – Előny » Ha megváltoztatjuk a memória tartalmát (a programot) más-más feladatra használhatjuk – Hátrány » 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 Bemenet Kimenet Memória Vezérlő További rendszerösszetevők 92

93 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 Bemenet Kimenet Memória Vezérlő További rendszerösszetevők 93

94 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 Bemenet Kimenet Memória Vezérlő További rendszerösszetevők 94

95 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 Bemenet Kimenet Memória Vezérlő További rendszerösszetevők 95

96 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) 96

97 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 97

98 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 98

99 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 99

100 Mikroprocesszoros rendszerek • CPU – Pl. Adat beírása az akkumulátor regiszterbe 1.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 2.lépés: Az utasítás dekódoló és végrehajtó egység beolvassa a műveleti kódot, és értelmezi azt 3.lépés: A PC értéke eggyel nő (így az operandus címére mutat) 100

101 Mikroprocesszoros rendszerek • CPU – Pl. Adat beírása az akkumulátor regiszterbe 1.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 2.lépés: Az utasítás dekódoló és végrehajtó egység beolvassa a műveleti kódot, és értelmezi azt 3.lépés: A PC értéke eggyel nő (így az operandus címére mutat) 4.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 5.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. 101

102 Mikroprocesszoros rendszerek • Mikroprocesszorok (  P), mikroszámítógépek (  C)

103 Mikroprocesszoros rendszerek • Mikroprocesszorok (  P), mikroszámítógépek (  C) ATmega168 TMS320C28x TMS320C6416T


Letölteni ppt "Digitális technika II. Rész: Sorrendi hálózatok Dr. Turóczi Antal"

Hasonló előadás


Google Hirdetések