28
Digitális technika 2. - ZH feladattípusok (rövid összefoglaló) Tóth Gábor, 3. éves mérnök informatikus 2011. március 24.

Digit2 Edu

Embed Size (px)

DESCRIPTION

Digit 2

Citation preview

Page 1: Digit2 Edu

Digitális technika 2. - ZH feladattípusok (rövid összefoglaló)

Tóth Gábor, 3. éves mérnök informatikus2011. március 24.

Page 2: Digit2 Edu

E1-E2• A funkcionális elemekről szóló pdf-ből (és a Benesóczky tanár úr féle könyvből)

tökéletesen fel lehet rá készülni.• Általában fel kell ismerni egy komparátort, összeadót, shiftregisztert, számlálót,

vagy multiplexert, és le kell írni, hogy a betűvel jelölt be-és kimeneteket hogyan nevezik.

• Ezeket utána bővíteni, kaszkádosítani kell a megfelelő lábak összekötésével.

Page 3: Digit2 Edu

E3• Szinte csak a számlálókra megy rá ez a feladat.• Készíteni kell aszinkron, vagy szinkron, fel, vagy le számlálót, a megadott modulus

alapján.• Ha szükséges, a feladatban megadott kapukat is fel lehet használni. (Általában, ha

adnak egy kaput, azt fel is kell használni!) A 2006-os ZH-ban a 2 bemenetű kapuval nem valósítható meg a kapcsolás, helyette egy 3 bemenetűt kell használni.

• Aszinkron és szinkron számlálóknál oda kell figyelni, hogy mikor kell reset-elni!

Page 4: Digit2 Edu

E4• Legtöbbször memóriákat kell kaszkádosítani, de a memó írás/olvasási

idődiagramját is kérdezhetik.• A kaszkádosítás szempontjából (szinte) lényegtelen, hogy ROM vagy RAM

memóriát kell összekötni.• Egy példán mutatom be, hogyan is kell kaszkádosítani…

Page 5: Digit2 Edu

E4

• A fenti példában adott két ROM, Address0-Address12 bemenetekkel, és Data0-Data7 kimenetekkel.

• (2009-es ZH-ban 4 darab RAM-ot kellett összekötni megfelelően, érdemes a későbbiekben azt is megnézni!)

• Először nézzük meg, hogy hogyan is épül fel egy 8 kbyte-os ROM.

Page 6: Digit2 Edu

E4

• 8 kbyte-os ROM

• Az /RD (Read) bemenet engedélyezi a ROM olvashatóságát.• (RAM esetében van még egy /WR (Write) bemenet is, ez engedélyezi a RAM írhatóságát.)

• A /CS (Chip Select) bemenet a ROM-hoz való hozzáférést engedélyezi.• (A kettő bemenet (RD, CS) első ránézésre hasonló funkciókat valósít meg, de a későbbiekben meglátjuk,

hogy mégis van értelme mindkét bemenetnek…)

• Az Axx (Address_xx) bemenetekkel címezhetők meg a memória egyes rekeszei.• A Dxx (Data_xx) kimeneteken az éppen megcímzett rekesz tartalma jelenik meg.

Page 7: Digit2 Edu

E4

• 8 kbyte-os ROM •

Rekesz felépítése

• Ebből a felírásból már könnyen számítható a kapacitása:– rekeszenként 1 byte-ot tárol– 2^13 bittel címezhető == 8192

• Vagyis: 8192*1 = 8192 byte = 8 kbyte.• (Ez még nem a feladat része, csak értelmeztük, hogy mi micsoda.)

Rekesz címeA12-A0 (13 bit)

Rekeszben tárolt adat (tetszőleges)D7-D0 (8 bit)

0000000000000 10110011

0000000000001 00000111

0000000000010 10000011

0000000000011 00011000

Page 8: Digit2 Edu

E4

• 8 kbyte-os ROM •

• Ennyi elmélet már elég ahhoz, hogy 8 kbyte-os ROM-ból 16 kbyte-osat készítsünk.• A feladatnak megfelelően az alábbi be-és kimeneteket kell elkészíteni:• A13-A0, D7-D0, /CS, /RD

Page 9: Digit2 Edu

E4Cél: A13-A0, D7-D0, /CS, /RD

• A kimenteket D7-D0-ként kezeljük továbbra is, ezekkel nem kell semmit csinálni.• Az azonos /RD bemeneteket összekötjük egymással, tehát itt tartunk:

• Megj.: ha két RAM-ból kellene egyet csinálni, akkor nem csak a /RD bemeneteket, hanem a /WR bemeneteket is össze kellene kötni páronként. (Tehát RD-t RD-vel, és WR-t WR-rel.)

Page 10: Digit2 Edu

E4Cél: A13-A0, D7-D0, /CS, /RDEzután két eset szokott következni:1. A feladat csak az A12-A0 címek használatát írja elő. Ekkor egy demultiplexert

készítünk, aminek bemenete logikai ‘1’, select lába a /CS, kimenete pedig a két ROM /CS bemenetei. Ekkor a kapcsolás így nézhet ki:

DEMUX

‘1’

select := /CS

Page 11: Digit2 Edu

E4Cél: A13-A0, D7-D0, /CS, /RD2. A másik eset, (amit a jelenlegi feladat kér,) hogy az Address tartományt egészítsük

(A13). Ebben az esetben az A13 bemeneten lévő érték jelöli ki, hogy melyik memóriát szeretnénk elérni.

Page 12: Digit2 Edu

E5• Elméleti kérdések• Érdemes utoljára hagyni ezt a feladatot. Egyrészt, ha nem vagy biztos az elméleti

tudásodban, akkor ne tölts vele 5-nél több percet, másrészt csak 4 pontért szoktak adni ilyen feladatot.

• Rossz válaszokra NEM jár mínusz pont. Lehet tippelni!

Page 13: Digit2 Edu

F1• Egy egység funkcionális blokkvázlatának megtervezése. Az alábbi rajz az összes

ilyen típusú feladat alapváza. (Lehet, hogy az elnevezések eltérőek lehetnek, pl.: ready, jelez, Z…) Ha a többi részét nem tudod felrajzolni a feladatból, legalább ezt rajzold fel, és néhány pontot ez is jelent:

Page 14: Digit2 Edu

F2• Funkcionális elemekből, (kicsit) „perverz” módon felépített kapcsolást takar ez a

feladat. (Lehet, hogy csak egy egyszerű számláló, vagy irányt változtatható shiftregiszter, de valamilyen egzotikus kapcsolás is lehet…)

• Itt általában csak egy út járható, ha nem szeretnéd elrontani: külön papírra, vagy a feladat mellé (ahol van hely) le kell írni, hogy a 0/1 bemeneti értékekre, milyen kimeneti értékeket kapunk.

• Ezeket több „órajelre” érdemes végigjátszani. Pl.: ha valamilyen bemeneti kombinációra 001 jelenik meg a kimeneten, majd ugyanerre a bemeneti kombinációra 010 jelenik meg, akkor gyanítható, hogy az egy felfelé számláló egység, de lehet, hogy csak shiftel...

Page 15: Digit2 Edu

F3• Nem tudom, hogy ebben az évben lesz-e ilyen feladat, mert úgy olvastam levlistán,

hogy elvileg még nem vettétek. Ha mégis lenne, akkor itt egy kis segédlet, hátha így tisztább lesz a kép.

• A mikroprogramot tartalmazó táblázat a diákat lapozva lépésről-lépésre töltődik ki.• Érdemes jól begyakorolni ezt a feladattípust, mert elég sok pontot ér!

• (A 2005-ös ZH F3 megoldását írom le, mert egy állapot el van szabva a mintamegoldásban!)

• Tanács: először értelmezd a diában leírtakat, majd csináld meg papíron is, hogy jobban rögzüljön.

Page 16: Digit2 Edu

2005-ös ZH_F3 feladat

Page 17: Digit2 Edu

2005-ös ZH_F3 feladatA kitöltést mindig a C B A oszlopokkal kezdjük!A folyamatábrán megnézzük, hogy az egyes állapotokban milyen betűk (állapot nevek) vannak a téglalapokba írva.Látható, hogy a0. állapotban C,1. állapotban semmi,2. állapotban B3. állapotban A, és így tovább…

Ezeket tehát beírjuk a táblázatba:Az állapotok 2 bites számrendszerbenkönnyen kódolhatóak.Táblázatnak megfelelően:C: 100B: 010A: 001AB: 011CA: 101…

Page 18: Digit2 Edu

2005-ös ZH_F3 feladat

Page 19: Digit2 Edu

2005-ös ZH_F3 feladatEzután célszerű kitölteni az utolsó, feltétel oszlopot. Ehhez az ábrából a rombusz alakzatokat kell figyelni. (A feltétel jelenleg F0, ami a kapcsolásban az alsó MPX select bemenete.)Ha nincs egy állapotban feltétel, akkor azt ,,don’t care’’-ként kezeljük.

0. állapotban nincs rombusz, ezért F0: don’t care 1. állapotban „y” a feltétel, „y”-tól függünk, ezért a MPX select lábát (F0) 1-be állítjuk. (Megj.: ha y==1, akkor a második állapotba lépünk, ha y==0, akkor maradunk az elsőben. – folyamatábra alapján!)2-3. állapotban nincs feltétel don’t care4. állapotban „x” a feltétel, „x”-től függünk, ezért F0-nak 0-nak kell lennie. (Megj.: ha x==0, akkor az ötödik állapotba lépünk, ha x==1, akkor a harmadikba. - folyamatábra alapján!)5. állapotban „x” a feltétel, „x”-től függünk, ezért F0-nak 0-nak kell lennie. 6-7. állapotban nincs feltétel don’t care

Page 20: Digit2 Edu

2005-ös ZH_F3 feladat

Page 21: Digit2 Edu

2005-ös ZH_F3 feladatHa eddig eljutottunk, már fél siker. A következő lépés felfogható az utolsónak, mégis most töltjük ki a táblázat nagy részét, az előzőleg beírt feltételek alapján!A Jxn részek (Jc0, Jb0, stb…) az ugrási/lépési címeket takarják.0. állapotban nincs feltétel, ezért csak előre lépünk. Hova is? Az 1-es állapotra (001) az ábra alapján.Ezt be is írjuk a táblázatba…

Page 22: Digit2 Edu

2005-ös ZH_F3 feladatAz 1. állapotba lépve elérünk egy feltételhez, y-hoz, ezért csak azt figyeljük az alsó MPX-nél!Ha „y” értéke 0, akkor az 1. állapotban maradunk egy hurokkal,ha „y” értéke 1, akkor tovább lépünk a 2. állapotba. (Nézd meg a folyamatábrát!!!)

A kapcsolásban ez a következőképpen fest:ha y == 0, akkor az alsó MPX kimenete (Y) is 0 lesz. Ekkor a felső MPX 0-t kap a select bemenetére, ezért a Jc0, Jb0, Ja0 bemenet választódik ki, tehát a Jc0, Jb0, Ja0 helyekre kell beírni azt, hogy y==0 esetén mi történjen.Azt szeretnénk, hogy y==0 esetén az 1. állapotban maradjunk, tehát 001-et kell a táblázatba írni.

Ha y==1 lesz, akkor az alsó MPX kimenete (Y) is 1 lesz, ezért a felső MPX Jc1, Jb1, Ja1 bemeneteire fogunk írni. Mit is? A 2. állapotba akarunk lépni, ezért a 010 értéket.

=0 | 1

=0 | 1

Page 23: Digit2 Edu

2005-ös ZH_F3 feladat2-es és 3-as állapotoknál nincs külön feltétel, csak tovább lépünk.

Értelemszerűen:2-es állapotból 3-as állapotba,3-as állapotból 4-es állapotba.

Page 24: Digit2 Edu

2005-ös ZH_F3 feladatA negyedik állapot nagyon hasonló az elsőhöz, csak itt „x” a feltétel.

Ha x==0, akkor tovább lépünk az 5. állapotba, ha x==1, akkor pedig a 3. állapotba ugrunk. (folyamatábra alapján!)

Ha x==0, akkor az alsó MPX kimenete (Y) is 0 lesz, ezért a felső MPX-ből a Jc0, Jb0, Ja0 bemenetek választódnak ki. Mivel x==0 esetén az 5. állapotba fogunk lépni, ezért ide 101-t kell írni.

Ha x==1, akkor az alsó MPX kimenete (Y) is 1 lesz, ezért a felső MPX-ből Jc1, Jb1, Ja1 bemenetek választódnak ki. Mivel x==1 esetén a 3. állapotba ugrunk, ezért ide 011-t kell írni.

0 | 1=

=0 | 1

Page 25: Digit2 Edu

2005-ös ZH_F3 feladatAz 5. állapotból szintén 2 állapotba (6. vagy 7. állapot) ugorhatunk az „x” feltételtől függően.

Ha x==1, akkor a 6. állapotba lépünk, ha x==0, akkor a 7. állapotba.

Ha x==1, akkor az alsó MPX kimenete (Y) is 1 lesz. Emiatt a felső MPX bemenetei közül, a Jc1, Jb1, Ja1 választódnak ki. Mivel x==1 esetén a 6. állapotba fogunk lépni, ezért ide 110-t írunk.

Ha x==0, akkor az alsó MPX kimenete (Y) is 0 lesz. Emiatt a felső MPX bemenetei közül a Jc0, Jb0, Ja0 választódnak ki. Mivel x==0 esetén a 7. állapotba fogunk lépni, ezért ide 111-t írunk.

Page 26: Digit2 Edu

2005-ös ZH_F3 feladatMár csak a 6. és 7. állapotok maradtak!

A 6. állapotból minden feltétel nélkül, állandóan az 1-be ugrunk (001).

A 7. állapotból szintén minden feltétel nélkül, az 5-be ugrunk (101).

Page 27: Digit2 Edu

2005-ös ZH_F3 feladatKészen vagyunk!

Page 28: Digit2 Edu

VégszóKöszönöm, hogy elolvastad ezt a kis összefoglalót, remélem, hogy hasznos volt.

Ha van kérdés, akkor írj a tantárgyi levlistára, és biztosan lesz olyan, aki tudja a választ.Ha extrém kérdés lenne, akkor a lentebb szereplő email címre is írhatsz, de NE a ZH előtti estén, mert nem biztos, hogy ráérek. (Tanulok, vagy egyéb elfoglaltság.)(Ha hibát találsz a diákban, akkor jelezd! Köszi! )

Cím: [email protected] levél tárgya legyen: digit_help

Tanács: gyakorolj sokat! Ha csak nézegeted a megoldott ZH-kat, attól még nem biztos, hogy meg is érted (pláne ZH előtti este). A feladat szövege alapján próbáld meg reprodukálni a megoldásokat.

Sikeres ZH-t kívánok!