Digit2 Edu

Preview:

DESCRIPTION

Digit 2

Citation preview

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

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

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.

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!

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…

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.

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.

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

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

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

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

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.

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!

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:

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

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.

2005-ös ZH_F3 feladat

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…

2005-ös ZH_F3 feladat

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

2005-ös ZH_F3 feladat

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…

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

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.

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

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.

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

2005-ös ZH_F3 feladatKészen vagyunk!

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: tgabor.flyr@gmail.comA 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!