You are on page 1of 130

1.

Bevezets

A Pcsi Tudomnyegyetem Pollack Mihly Mszaki Karn tanul mszaki informatikus hallgatk mindezidig ms oktatsi intzmnyek ltal kiadott jegyzetekbl s a kereskedelemben kaphat drga tanknyvekbl tanulhattk a digitlis technikt. Br ezekbl tkletesen elsajtthattk a tantrgy elmleti rszeit, nem volt kzttk egy olyan sem, amely a karunkon foly kpzs kvetelmnyeihez s tematikjhoz teljes mrtkben igazodott volna. Jegyzetnk ezt a hinyt hivatott ptolni. Az rs azzal a cllal szletett, hogy a szmtgpeket megtltsk l alkatrszekkel a hallgatk szmra: tani lehessenek annak a fejlesztsi folyamatnak, melynek sorn az elemi alkatrszekbl fokozatosan felpl egy bonyolult mikroprocesszoros rendszer. A jegyzet termszetesen tartalmazza a Digitlis technika tantrgyra pl ksbbi kurzusok (Assembly programozs, Programozhat vezrlsek, stb.) megrtshez szksges elmleti alapokat is.

2. Alapfogalmak

Mindenekeltt tisztznunk kell a digitlis jel illetve rendszer fogalmt. A jelek informcitartalommal rendelkez fizikai jellemzk: pldul egy akkumultor kimenetn fennll feszltsg, amelynek informcitartalma a feszltsg nagysga. Az informatikban analg s digitlis jelekkel tallkozhatunk (1. bra): Az analg jel rtkkszlete folytonos, egy adott intervallumon bell brmilyen rtket felvehet: mondjuk egy izz fnyereje bizonyos tvolsgbl. A digitlis jelek csak ktfle rtket vehetnek fl. A jel informcitartalma nem magnak a fizikai jellemznek a nagysga, hanem az, hogy a ktfle llapot kzl ppen melyikben van. Ha a Morse-bc szablyai szerint villogtatjuk a fenti izzt, akkor az zenet elvolvassakor a lmpa fnyt digitlis jelknt rtelmeztk. A digitlis jel kt llapotnak elnevezse: 0 s 1, illetve L (low) s H (high).

1. bra

Az analg s a digitlis informatikai rendszereket az klnbzteti meg, hogy a be- s kimenetkn, illetve a rendszeren bell elfordul jelek analg jelek vagy digitlisak. Lteznek hibrid rendszerek is, ezekben mindkt jeltpus elfordul. A 2. bra egy analg rendszert mutat, mg a 3. egy digitlisat. Ahhoz, hogy a 3. brn lthat ramkrt digitlis rendszernek tekintsk, a 2

mkdst logikai szempontbl kell vizsglni. Feltesszk, hogy a kapcsolk ktfle llapotban lehetnek: 0 vagy 1 helyzetben. Ha a lmpa vilgt, 1-es llapotban, ha nem vilgt, 0-s llapotban van. Digitlis rendszernknek gy 2 bemenete van: K 1 s K 2 , egy kimenete: L. Ha K 1 = K 2 = 0 vagy K 1 = K 2 = 1 , akkor a lmpa g: L=1, egybknt L=0. Ezzel definiltuk a rendszer mkdst.

2. bra

3. bra

A digitlis rendszer bemenetein (illetve kimenetein) pillanatnyilag fennll sszes rtk egyetlen 2-es szmrendszerbeli szmmal is felrhat (4. bra). Ezt aktulis bemeneti (illetve kimeneti) kombincinak nevezzk. Az sszes lehetsges kombinci n darab vezetk esetn: 2 n .

4. bra

A digitlis rendszerek logikai dntst hoznak: egy bizonyos idpillanatban fennll bemeneti jelkombinci hatsra egy elre meghatrozott kimeneti jelkombinci jelenik meg. A dnts ktflekppen trtnhet: Kombincis hlzatok esetn kizrlag a bemeneti kombincik aktulis rtkei hatrozzk meg a kimeneti kombincit. Sorrendi (szekvencilis) hlzatok esetn a kimeneti kombincit a pillanatnyi s a korbban fennllt bemeneti kombincik hatrozzk meg (vagyis a rendszer emlkezettel br).

3. Kombincis hlzatok
3.1 A kombincis hlzatok mkdsnek igazsgtbls felrsa

Kombincis hlzatoknl a logikai mkds legegyszerbben az n. igazsgtbla segtsgvel rhat fel. Ez esetben az sszes lehetsges bemeneti kombincira megadjuk a kimenet(ek) rtkt, tblzatos formban. A 3. brn lthat hlzat igazsgtblja a kvetkez: K1 K2 L 0 0 1 1 0 1 0 1 1 0 0 1

Tbb kimenetre is lssunk egy pldt: Be1 Be2 Ki1 Ki2 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 1

Ha bizonyos bemeneti kombincik fennllsval nem kell szmolnunk mkds kzben, vagy nem fontos esetkben definilni a kimeneti kombincit, az adott helyre vonalat vagy x-et helyeznk az igazsgtblban. Ez nem azt jelenti, hogy ilyenkor egy harmadik llapotba ugrik a kimenet; rtke 0 vagy 1, csak ppen nem lnyeges, hogy melyik a kett kzl: Be1 Be2 Ki 0 0 1 5

0 1 1

1 0 1

0 1

3.2 A kombincis hlzatok mkdsnek definilsa logikai fggvnyekkel

Az analg rendszer ki- s bemenetei kztti kapcsolatot folytonos fggvnyek adjk meg (gondoljunk arra, hogy egy analg Volt-mr kapcsaira csatolt feszltsg nagysga mikpp befolysolja a mutat kitrst). A kombincis hlzatok ki- s bemenetei kztti sszefggsek logikai fggvnyekkel rhatk fel. Ehhez a matematikai alapot a Boole-algebra adja. A Boole-algebra a ktrtk jelekkel vgzett logikai mveletek algebrai lerst teszi lehetv. Szablyai: Brmely vltoz lehetsges rtkei: 0 vagy 1. Elvgezhet mveletek: (1) (2) (3) (4) (5) (6) (7) (8)

Logikai szorzs (konjunkci), S kapcsolat: 0.0=0 0.1=0 1.0=0 1.1=1 Logikai sszeads (diszjunkci), VAGY kapcsolat: 0+0=0 0+1=1 1+0=1 1+1=1 Logikai tagads (negci):
1= 0 0 =1

(9) (10) (11)

Alapttelek, azonossgok:

A0 = 0

A 1 = A
A+0= A

(12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23)

A +1=1
A A = 0

A + A =1
A A= A

A+ A= A
A= A kommutativits: A+ B= B+ A A B = B A asszociativits:

A + (B + C) = A + B + C A (B C) = A B C
disztributivits:

A( B + C ) = AB + AC

(24) (25)

A + ( BC ) = ( A + B)( A + C )!!!
De-Morgan azonossgok (tetszleges szm vltozra):

A BC = A+ B + C A+ B + C = A B C

(26) (27)

3.2.1 Plda: a folyos-kapcsols logikai fggvnynek meghatrozsa

Vegyk jra el az Alapfogalmak rszben trgyalt kapcsolst (5. bra)!

5. bra

A rendszer logikai mkdse a kvetkez:

L = 1 , ha { K 1 = 1 S K 2 = 1 } VAGY { K 1 = 0 S K 2 = 0 }.
Ezt mskpp is megfogalmazhatjuk:

(28)

L = 1 , ha { K 1 = 1 S K 2 = 1 } VAGY { K 1 = 1 S K 2 = 1 }.
Az llts els fele Boole-algebrai sszefggsekkel felrva:
L = K1 K 2 ,

(29)

(30)

a msodik fele pedig:

L = K1 K 2 .
A kett kzl az egyik VAGY a msik igaz, teht:

(31)

L = K1 K 2 + K1 K 2 .

(32)

3.2.2 Plda: logikai fggvny felrsa az igazsgtblbl

Ha az els sornak megfelel logikai kombinci rkezik a bemenetekre, a fggvnyben szerepl els szorzat eredmnye 1, ezltal a fggvny is. Ugyanez igaz a tbbi 1-es eredmnyt ad sorra is a fenti felrsi md szerint. A fggvny teht az igazsgtblnak megfelel mkdst adja.

3.3 Logikai fggvnyek algebrai egyszerstse

Minl egyszerbb egy kombincis hlzat logikai fggvnye, annl kevesebb ramkri elemmel tudjuk megvalstani. A fggvnyek egyszerstsnek 8

legkzenfekvbb mdja a Boole-algebra sszefggseit intuitv mdon felhasznl algebrai egyszersts. Egy fggvny annl egyszerbb, minl kevesebb a benne szerepl mveletek s vltozk szma.

3.3.1 Plda algebrai egyszerstsre

Egyszerstsk az albbi fggvnyt!

Q = AB + BC + BC
A (25)-el, majd a (24)-el jellt De-Morgan azonossgot felhasznlva:

(33)

Q = AB + BC + BC = AB BC BC = ( A + B)( B + C )( B + C )
A 2. s 3. zrjel kzti szorzsokat elvgezve:

(34)

Q = ( A + B)( B B + BC + BC + C C )
A Boole-algebra (15) s (17) azonossgai szerint B B = 0 , C C = C , gy:

(35)

Q = ( A + B)( B B + BC + BC + C C ) = ( A + B)( BC + BC + C ) ,
C -at kiemelve s az azonossgokat hasznlva:

(36)

Q = ( A + B)( BC + BC + C ) = ( A + B)C ( B + B + 1) = ( A + B)C = AB C = AB + C

(37)

Ltezik egyszerbb megoldsi md is:

Q = AB + BC + BC = AB + C ( B + B) = AB + C

(38)

Ebbl is lthat az algebrai egyszersts ersen intuitv jellege. A ksbbiekben trgyalt grafikus egyszersts kikszbli ezt a problmt.

3.4 Logikai kapcsolsi vzlat

Miutn

felrtuk

logikai

fggvnyt,

logikai

kapcsolsi

vzlat

megszerkesztse lesz a fizikai megvalsts fel vezet t kvetkez llomsa. Ehhez meg kell ismerkedni a logikai kapuk fogalmval. Minden egyes logikai mvelethez egy szimblumot rendelnk: egy olyan egyszer kombincis

hlzat jelt, amely kizrlag az adott mveletet vgzi el. Ezeket az alaphlzatokat nevezzk logikai kapuknak (6/1. bra).

6/1. bra

Mint ltni fogjuk, az alapkapuk felhasznlsval brmelyik kombincis hlzat megpthet. A hrom alapmveleten kvl nhny sszetettebb funkcit ellt kaput is egyedi szimblummal jellnek a nagyon gyakori alkalmazsuk miatt (6/2. bra).

10

6/2. bra

szrevehetjk, hogy ahol kis krcske tallhat, ott invertls trtnik. Ennek megfelelen a NEM VAGY kapu helyettesthet egy VAGY kapuval s egy utna kttt inverterrel is. Hasonlan a NEM S kapu egy S kapu s egy inverter egybeptse. Az antivalencia kapu specilis feladatot lt el: a kimenetn akkor jelenik meg 1-es, ha a bemeneteire adott jelek rtke klnbz (antivalens). Az ekvivalencia kapu ennek pp a fordtottjt csinlja: azt jelzi 1-essel a kimenetn, ha a bemenetek rtke azonos (ekvivalens). A logikai kapcsolsi vzlat tulajdonkppen egy olyan, logikai kapukbl sszelltott ramkr, amelynek kimenetein a kvnt fggvnynek megfelel rtkek jelennek meg. Lssunk erre egy pldt!

11

3.4.1 Plda: logikai kapcsolsi vzlat felrajzolsa a logikai fggvnybl

Rajzoljuk fel az elz pldban szerepl hlzat egyszersts eltti s utni fggvnyt! A bonyolultabb sszefggs:

Q = AB + BC + BC .

(39)

7. bra

Az egyszerstett fggvny logikai kapcsolsi vzlata pedig:

Q = AB + C .

(40)

8. bra

A megptend elektronikus kapcsols s a logikai kapcsolsi vzlat bonyolultsga lnyegben megegyezik. A pldbl kitnik a fggvnyegyszersts fontossga.

3.4.2 Plda: logikai fggvny felrsa a logikai kapcsolsi vzlatbl

Egy kombincis hlzat logikai vzlata a 9. bra szerinti. rjuk fel a fggvnyt!

9. bra

12

Az antivalencia kapu kt bemenetn A illetve AB jelenik meg. Eszerint:

Q = A ( AB )

(41)

Fejtsk ki ezt a kifejezst, s prbljuk egyszerbb formjra alaktani! A 6. bra antivalencia kapura vonatkoz sszefggse alapjn:

Q = A ( AB) = A AB + A AB
Ebbl a (26) De-Morgan s egyb azonossgokkal:

(42)

Q = A ( AB) = A AB + A AB = A( A + B) + AB = AA + A B + AB = = A + AB + AB = A(1 + B) + AB = A + AB

(43)

3.4.3 Plda: kombincis hlzat megvalstsa kizrlag NOR illetve NAND kapuk felhasznlsval

Brmely kombincis hlzat megvalsthat csak NOR vagy csak NAND kapukkal is. Ennek pldul az az elnye, hogy az integrlt ramkrk gyrtinak nem kell tbbfle kapu gyrtstechnolgijt egyetlen chipen bell kombinlni. Az talakts a De-Morgan azonossgok alkalmazsval oldhat meg. Felhasznljuk azt a tnyt is, hogy egy invertert egy NOR vagy egy NAND kapu bemeneteinek sszektsvel is meg lehet valstani (ennek knny utnaszmolni). Legyen a fggvny:

Q = AB + BC
A NOR kapus megvalsts:
Q = AB + BC + ABC = AB + BC + ABC = A + B + B + C

(44)

(45)

10. bra

13

A NAND kapus megvalsts:


Q = Q = AB + BC = AB BC

(46)

11. bra

3.5 Logikai fggvnyek kanonikus (norml) alakjai

Mint lttuk, ugyanaz a logikai fggvny tbb formban is megadhat. Az egyrtelmsg kedvrt clszer olyan felrsi mdot kvetni, amely esetn egy bizonyos fggvny csak egyflekppen rhat le, s ha kt fggvny klnbz, az alakjuk is biztosan klnbzik. Ha mindez teljesl, a fggvny kanonikus alakjrl beszlnk.

3.5.1 Diszjunktv kanonikus alak

Egy logikai fggvny diszjunktv kanonikus alakban trtn felrsakor az albbi formai szablyok rvnyesek: a fggvny szorzatok sszege, a szorzatokban valamennyi bemeneti vltoz neglt vagy ponlt alakja szerepel, a kimenet rtke 1, ha brmely szorzat eredmnye 1. Pldul egy 3 vltozs fggvny diszjunktv kanonikus alakja a kvetkez:

Q = ABC + ABC + ABC + ABC .

(47)

A fenti szorzatokat mintermeknek nevezzk. Ltezik egy specilis jellsk:

, ahol n a fggetlen vltozk szma, i a vltozkombincit jell binris

szm decimlis rtke. A fenti fggvny felrsa mintermekkel:

14

Q( A, B, C ) = m1 + m5 + m6 + m7 .

(48)

A diszjunktv kanonikus alak knnyedn felrhat az igazsgtblbl, a plda szerinti mdszerrel.

3.5.2 Konjunktv kanonikus alak

Egy logikai fggvny konjunktv kanonikus alakjnak felrsi szablyai a kvetkezk: a fggvny sszegek szorzata, az sszegekben valamennyi bemeneti vltoz neglt vagy ponlt alakja szerepel, a kimenet rtke 1, ha minden sszeg eredmnye 1. Pldul:

Q = ( A + B + C )( A + B + C )( A + B + C )( A + B + C ) .
A fenti sszegeket maxtermeknek nevezzk. Jellsk:

(49)

n i

, ahol n a

fggetlen vltozk szma, i a vltozkombincit jell binris szm decimlis rtke. A fenti fggvny felrsa maxtermekkel:
3 3 3 3

Q( A, B, C ) = M 1 M 2 M 3 M 4 .

(50)

A konjunktv alak is felrhat az igazsgtblbl. Elszr felvesszk a fggvny negltjt diszjunktv alakban, majd ezt De-Morgan azonossgokkal sszegek szorzatv alaktjuk:
A B C Q 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

15

Q = ABC + ABC + ABC + ABC Q = ABC + ABC + ABC + A BC = ABC ABC ABC ABC = = ( A + B + C )( A + B + C )( A + B + C )( A + B + C )

(51) (52)

16

3.6 Logikai fggvnyek grafikus minimalizlsa

Mint az korbban kiderlt, az algebrai egyszersts sikere nagyban fgg a szmtst vgz gyakorlattl, vagy attl, hogy ppen mennyire tud az adott feladatra koncentrlni. A kvetkezkben ismertetett mdszer ezeket az emberi tnyezket kszbli ki. Tanulmnyozzuk az albbi algebrai minimalizlst! A kombincis hlzat igazsgtblja legyen: A B C Q 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0 Ennek megfelelen a diszjunktv kanonikus alak:

Q = ABC + ABC + A BC + ABC .


Egyszerstsk!
Q = ABC + ABC + ABC + ABC = = AB(C + C ) + AB(C + C ) = = AB + AB = = B( A + A) = =B

(53)

(54)

Lthatjuk, hogy az sszevonhat mintermek csak egy helyirtkben trnek el egymstl: C az egyikben ponltan, a msikban negltan szerepel, ezrt sszevonskor kiesik. Az ilyen mintermeket szomszdos mintermeknek nevezzk.

17

Nzzk tovbb! AB s AB is csak egy helyen eltr, ezrt a fenti mdszerrel egyszersthet. AB s AB elnevezse: szomszdos termek. A tovbb nem bonthat termeket primimpliknsoknak nevezzk. A szmtsok menete teht a kvetkez volt:: 1. lps: Szomszdos mintermek keresse, sszevonsa. 2. lps: Szomszdos termek keresse, sszevonsa 3. lps: A 2. lpst ismtelni, ameddig lehetsges. Ugyanez a mdszer maxtermekre is alkalmazhat:

Q = ( A + B + C )( A + B + C ) = = ( A + ( B + C ))( A + ( B + C )) = = A A + A( B + C ) + A( B + C ) + ( B + C )( B + C ) = = ( A + A)( B + C ) = = (B + C)
Vagyis a nem azonos vltozt elhagyva itt is egyszerbb alakra jutottunk. A tapasztalatok felhasznlsval a kvetkez grafikus mdszert (55)

alkalmazhatjuk: Vegynk egy igazsgtblt! A B C Q 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Rendezzk t ezt egy gynevezett Karnaugh-tblba! (Nagyon fontos a szmozs sorrendje, ezt nem szabad eltveszteni!)

18

Tudjuk, hogy az igazsgtblzatban minden olyan sor, ahol a kimenet rtke 1, egy-egy mintermet ad meg. A tblzatra is igaz ez, mghozz gy, hogy a szomszdos mintermek szomszdos ngyzetekben vannak. ppen ezrt nagyon knny felfedezni a szomszdos mintermeket, s gy egyszersteni is:

ABC + ABC = ( A + A) BC = BC ,

(56)

ABC + ABC = AC ,

(57)

ABC + ABC = AC .

(58)

A teljes megolds (az algebrai mdszerhez hasonlan) a kapott termek VAGY kapcsolata:

19

Q = BC + AC + AC .

(59)

Folytassuk az egyszerstst a szomszdos termek sszevonsval! Lttuk, hogy minden termet egy-egy kettes hurok jell. A szomszdos termeket szomszdos hurkok jellik, gy ezzel is knny dolgunk van:

sszevons utn:

AC + AC = A(C + C ) = A .

(60)

A teljes megolds:

Q = BC + A .

(61)

A Karnaugh-tbla jellegzetessge, hogy a tblzat szlein tlnylva is szomszdos mintermeket tallunk:

20

Q = A BC + ABC = BC , vagy pldul:

(62)

Q = B.

(63)

Egyedlll 1-es esetn egyszerstsre nincs md, ekkor a teljes minterm felrsra kerl (egyes hurok):

Q = ABC + A B .

(64)

21

Segdvonalak alkalmazsval a folyamat mg tlthatbb tehet. Az A vltoz rtke a 3. s 4. sorokban 1. Rajzoljunk ide egy segdvonalat! A segdvonal teht kijelli azt a tartomnyt, ahol az A rtke 1.

A tbbi vltoznl is tegyk ezt meg!

Jelljk ki a hurkokat!

Minden egyes hurokra nzzk meg, hogy melyik tartomny foglalja teljesen magba, melyikbl marad ki teljes egszben, s melyik az, amelybe csak egy rsze lg bele! Pldul a kettes hurok az A tartomnybl flig kilg, a B-ben teljesen bent van, a C tartomnyon pedig teljes egszben kvl esik. Az gy nyert adatok alapjn a kvetkezkppen rhatjuk fel a termeket egy bizonyos hurokra: Ha valamelyik tartomnyban teljesen bent van, a tartomnyhoz tartoz vltoz ponltan szerepel a szorzatban. Ha valamely tartomnybl teljesen kilg, a vltoz negltan szerepel a szorzatban. 22

Ha valamely tartomny csak rszben tartalmazza a hurkot, az ahhoz tartoz vltozt elhagyjuk a szorzatbl.

A kettes hurok teht a kvetkez termet jelli: BC A ngyes hurok teljes egszben az A tartomnyban van, a B s C tartomnybl flig kilg. A lert term ezrt: A A teljes megolds:

Q = BC + A .

(65)

3.6.1 4 vltozs Karnaugh-tbla

Vegynk egy ngy bemeneti vltozs igazsgtblt! A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Q 0 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1

23

rjuk t a kvetkez Karnaugh-tblba!

Itt is felvehet kettes, ngyes, st nyolcas hurok is, hiszen a szomszdos ngyes hurkok is sszevonhatk:

A hrom vltozs tblnl ltottak szerint rjuk fel a termeket: A tblzat szlein tlnyl ngyes hurok: AD A vzszintes ngyes hurok: AB A nyolcas hurok: C A teljes megolds teht: (66)

Q = AC D + AB + C

Lthatjuk, hogy minl nagyobb hurkot talltunk, annl egyszerbb termet kapunk. Clunk teht a lehet legnagyobb hurkokat megkeresni. Az egy hurokban lev 1-esek szma 2, 4, 8, 16, stb., teht 2 valahnyadik hatvnya lehet.

24

Ha tzetesebben megvizsgljuk a 4 vltozs Karnaugh tblt, akkor arra is rjhetnk, hogy a ngy sarok is szomszdos, gy sszevonhat:

Q = BD

(67)

Ltezik 5, illetve 6 vltozs Karnaugh-tbla is, e fltt a grafikus mdszer tlthatatlann vlik. A Karnaugh-tbls egyszersts folyamata teht a kvetkez: 1. Az igazsgtbla (vagy a diszjunktv kanonikus alak) trsa Karnaughtbls formba. 2. Hurkok keresse a kvetkez szempontok szerint: Minden 1-est le kell fedni legalbb egy huroknak. 0 nem kerlhet egyik hurokba sem. Minden hurokban csak 2 valahnyadik hatvnynak megfelel szm egyes lehet. gy kell minden 1-est lefedni, hogy ezt a lehet legkevesebb szm hurokkal tegyk. A lehet legnagyobb hurkokat kell keresni. A hurkok egymsba nylhatnak.

3. A termek felrsa minden egyes hurokra a kvetkez mdszerrel: Ha valamelyik tartomnyban teljesen bent van, a tartomnyhoz tartoz vltoz ponltan szerepel a szorzatban. Ha valamely tartomnybl teljesen kilg, a vltoz negltan szerepel a szorzatban. Ha valamely tartomny csak rszben tartalmazza a hurkot, az ahhoz tartoz vltozt elhagyjuk a szorzatbl.

25

3.6.2 Nem teljesen definilt logikai fggvny grafikus minimalizlsa

Mint az mr emltsre kerlt, a kombincis hlzatok igazsgtbljban hatrozatlan rtkek is szerepelhetnek. Lssuk, ebben az esetben hogyan trtnik az egyszersts! Pldaknt induljunk ki az albbi igazsgtblbl: A B C Q 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 A Karnaugh-tblba val trs a szokott mdon trtnik:

A hurkok felvtele sorn eldnthetjk, hogy a hatrozatlan rtkeket 1esknt vagy 0-knt szerepeltessk, attl fggen, hogyan lesz egyszerbb a kapott eredmny. (Teht vagy bevesszk ket a hurokba, vagy nem.)

26

Q = BC + A .

(68)

Pldnkban az egyik rtkre szksgnk volt, a msikra nem, ezrt ezt nem fedtk le hurokkal. Ha ez utbbit is bevettk volna egy jabb hurokba, avval a megolds nem lett volna hibs, csak bonyolultabb.

3.6.3 Konjunktv alak felrsa Karnaugh-tblval

Ha az sszegek szorzatbl ll (vagyis konjunktv) fggvny felrsa a clunk, hasonl mdon kell eljrnunk, mint a konjunktv kanonikus alak meghatrozsnl (ld. 3.5.2. fejezet): az 1-esek helyett a nullkat fedjk le hurkokkal, s ebbl a fggvny negltjnak diszjunktv alakjt rjuk fel. A kapott fggvnybl a De-Morgan azonossgok alkalmazsval nyerjk a konjunktv formt. A gyakorlottabbak rnzsre is megllapthatjk az eredmnyt.

Q = AB + AD Q = AB + AD = AB AD = ( A + B)( A + D)

(69) (70)

27

Vajon egyenrtk-e ugyanazon hlzatnl a diszjunktv s konjunktv megolds? Tegynk egy prbt! Az igazsgtbla legyen: A B C Q 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 Elszr a legegyszerbb diszjunktv alakot szmtsuk ki!

Q = AB + AC ,

(71)

majd a konjunktv alakot is:

Q = A + BC Q = A + BC = A BC = A( B + C ) .

(72)

28

A konjunktv forma egyszerbbnek bizonyult (3db invertls+ 1db S mvelet+ 1db VAGY mvelet= 5 mvelet, szemben a diszjunktv alak 6 mveletvel). Ez persze nem mindig van gy, a tkletessgre trekvknek rdemes mindkt egyszerstsi mdot elvgezni.

3.6.4 Nem teljesen definilt fggvny konjunktv alakja

A diszjunktv alakhoz hasonlan a hatrozatlan rtkeket tetszlegesen lehet 0-val vagy 1-essel behelyettesteni:

Q = ( A + C )( A + B)

(73)

3.6.5 Tbb kimenet kombincis hlzatok grafikus egyszerstse

A

kett

vagy

tbb

kimenettel

rendelkez

kombincis

hlzatok

minimalizlsnl kt utat vlaszthatunk: a kimeneti fggvnyeket kln-kln egyszerstjk, ezzel gyakorlatilag fggetlen, rendszert, a msik, takarkosabb md az, hogy a fggvnyeket ugyan kln-kln rjuk fel, de odafigyelnk arra, hogy kzs elemek is szerepeljenek bennk: ezeket a rszeket a fizikai megvalstsnl elg lesz csak egyszer megptennk. Vilgostsuk meg a klnbsget egy pldn! Vegyk az albbi rendszert: kzs bemenetekkel rendelkez alhlzatokra bontva a

29

12. bra

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

P 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1

Q 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 1

Elszr egyszerstsk a kt fggvnyt kln-kln, a szoksos mdon!

P = ABD

(74)

30

Q = BC + ACD + ABC

(75)

Hogyan nz ki ennek a logikai vzlata? Rajzoljuk fl:

13. bra

Ezek utn egyszerstsk Q-t egy kicsit mskppen!

31

Q = BC + ABD + ABC

(76)

Mint ltjuk, P s Q esetben a szaggatott vonallal rajzolt hurok gy egy term azonos. Mivel minden term egy-egy S kapuval valsthat meg a logikai vzlatban, a kapcsolsi rajzunk egyszersdik (ld. 14. bra). Tbb kimenet hlzatok esetn teht kzs hurkok keresse ajnlott.

14. bra

3.6.6 Plda

grafikus

egyszerstsre:

ht

szegmenses

dekdol

tervezse

A 15. bra jobb oldaln egy ht szegmenses kijelzt ltunk: ilyennel jelentik meg az egyes szmokat a digitlis rkon. A megfelel szegmensek kigyjtsval 0-tl 9-ig az sszes szm kirajzolhat. A ht szegmenses dekdol egy olyan digitlis ramkr, amely a bemenetein binris, kettes szmrendszerbeli szmokat vr, kimeneteit pedig a kijelz egyes szegmenseivel sszektve a megfelel szmot rajzolja ki (az bra jobb oldaln). Ha pldul a bemenetre 1001-t, vagyis kilencet rakunk, az e

32

kivtelvel az sszes kimenetet magas logikai szintre lltja, gy jelentve meg a kilences szmot.

15. bra

Az ramkr igazsgtblja ngy bemeneti s ht kimeneti vltozt tartalmaz. D a bemenetre adott szm legkisebb helyirtket jelli, A pedig a legnagyobbat. A tblzatot ktflekppen rtelmezhetjk: Egy adott kimenet oszlopban azon bemen szmoknl szerepel 1-es, ahol a szegmensek ki kell gyulladnia. Egy adott bemen szm esetn azon kimeneteknl szerepel 1-es, amelyek a szmot kirajzoljk. A kijelz csak 0-tl 9-ig kpes szmokat kirni. Ha a bemenetre mgis ennl nagyobb szm kerlne, az ramkr nem foglalkozik vele, gy az igazsgtblba definilatlan rtkek (-) kerlnek. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 1 1 1 1 b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 1 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1 -

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

33

A ht kimeneti fggvnyt egy-egy Karnaugh-tblval egyszerstjk:

a = A + C + BD + B D

(77)

b = C D + CD + B

(78)

c = B+C + D

(79)

d = A + B D + BC D + C D + BC

(80) 34

e = B D + BC

(81)

f = A + BC + B D + C D

(82)

g = BC + A + C D + BC

(83)

Gyakorlsknt felrajzolhatjuk nhny szegmens logikai kapcsolsi vzlatt:

35

16. bra

Kszthetnk egy kicsit okosabb ht szegmenses dekdolt is: amelyik egy vonalat jelenttet meg, hogyha 9-nl nagyobb szmot adunk a bemenetre (csak g vilgt). Az igazsgtblban eltnnek a hatrozatlan rtkek, helyket 0-k illetve egyesek veszik t, nvelve a fggvnyek bonyolultsgt. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 b 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 c 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 d 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 e 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 f 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 g 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

36

a = ABC + AC + ABD + BC D

(84)

b = AB + BC + AC D + ACD

(85)

c = AB + BC + AD

(86)

s gy tovbb a tbbi kimeneti vltozval

37

3.7 Logikai ramkrk jellemzi

A kombincis hlzat tervezsnek eddigi lpsei az albbiak voltak: felrtuk az igazsgtblt, meghatroztuk a hlzat egyszerstett fggvnyt (fggvnyeit), a fggvny(ek) alapjn felrajzoltuk a logikai kapcsolsi vzlatot.

A logikai kapcsolsi vzlat alapjn akr meg is pthetjk az ramkrt. Elszr is ki kell vlasztanunk a megfelel integrlt ramkrket (IC-ket), s egyb alkatrszeket. A vlaszts tbbfle szempont alapjn trtnhet: Milyen sebessggel kvetelnk meg a berendezsnktl? Mekkora lehet a teljestmnyfelvtele? gyelnnk kell-e a krnyezetbl rkez elektromos vagy egyb zavarok hatsra, stb. Az IC-ket a gyrtsi technolgijuk, fbb paramtereik alapjn elemcsaldokba soroljk. Ha tbb IC-bl akarjuk sszelltani a berendezsnket, clszer az sszeset egy csaldbl vlasztani, mert gy kompatibilitsuk (hibtlan egyttmkdsk) garantlt. Elszr teht elemcsaldot vlasztunk, majd a csaldon bell keressk ki a logikai kapcsolsi vzlat egyes elemeit megvalst ramkrket. Sokszor nem tudjuk mindazt beszerezni, amire pontosan szksgnk lenne, ekkor vltoztatnunk kell az elzetes logikai vzlaton. Vgl prbapanelen vagy nyomtatott ramkri lapon sszeszereljk a kapcsolst. A 17. bra egy nagyon IC-t egyszer hasznltunk fggvny fel, nyomtatott ramkri megvalstsra mutat pldt. Kt alacsony integrltsg (kevs ramkri elemet tartalmaz) amelyeket katalgusbl vlasztottunk ki. Ha vgigkvetjk az sszekttetseket, felismerhetjk, hogy az elmleti s a gyakorlati kapcsols tulajdonkppen ugyanaz; a klnbsg annyi, hogy a megptett ramkrben tnyleges fizikai mennyisgek jelennek meg a be- s kimeneteken. Hogy mik ezek a fizikai jellemzk, s milyen rtkekkel brnak, errl szlnak a most kvetkez fejezetek.

38

17. bra

3.7.1 Integrlt ramkrk feszltsgszintjei, DC zajtvolsg

Az elektronikus IC-k feszltsgszintek alapjn klnbztetik meg a logikai (0-s vagy 1-es) rtkeket. A gyrtk elemcsaldonknt specifikljk azokat a feszltsgtartomnyokat, amelyeket az ramkrk logikai nullnak illetve logikai egyesnek rtelmeznek a bemenetkn. Az egyik tartomny a nulla Volthoz kzeli: ezt L (low, alacsony) szintnek hvjuk. A msik tartomny a tpfeszltsghez kzelt: ez a H (high, magas) szint. A feszltsgszintek s a logikai rtkek egymshoz rendelse ktflekppen trtnhet (18. bra): pozitv logika szerint: az L szint a logikai nullt, a H szint a logikai egyest jelli, negatv logika szerint: az L szint a logikai egyest, a H szint a logikai nullt jelli.

39

18. bra

Lthat, hogy az L s H feszltsgszintek kztt van egy kzbens tartomny is. Ha ilyen feszltsg jel rkezik a bemenetre, az IC logikai mkdse bizonytalan lesz. A logikai ramkrk kimenetein olyan feszltsg jelnek kell megjelennie, hogy a rjuk kapcsolt ramkrk azt egyrtelmen L vagy H szintnek rtelmezzk. Ha ugyanazon elemcsaldbl vlasztjuk az IC-ket, akkor normlis mkdsi felttelek kztt nem fordulhat el tveds. A vezetkeken tovbbterjed jeleket a klvilgbl rkez zajok mdosthatjk. Ahhoz, hogy egy zajjal terhelt jel rtelmezse is hibtlanul trtnjen, a gyrtk a kimeneti L s H tartomnyokat egy kicsivel szkebbre veszik (19. bra). gy, ha pldul a kimeneten megjelen jel a H szint als hatrn van, akkor a rajzon jellt DC zajtvolsg mrtkn bell ingadoz jelet is hibtlanul azonostja a hozz csatolt ramkr a bemenetn. A helyes mkds felttelei teht az albbiak:

U kiH min < U beH min , U kiL max > U beL max .

(87) (88)

Az ramkrcsald katalgusban megjelen DC zajtvolsg az L s H tartomnyoknl megengedhet zajszintek kzl a kisebbik. A DC rvidts a Direct Current-re, magyarul egyenramra utal, mivel ez a zaj akr hossz ideig, a jelhez lland mrtkben hozzaddva is fennllhat.

40

19. bra

3.7.2 AC (vltakoz ram) zajtvolsg

Elfordulhat, hogy egy DC zajtvolsgnl jval nagyobb amplitdj impulzusszer zaj nem okoz hibt az ramkr mkdsben. Ez azrt lehetsges, mert a zavar jelnek bizonyos energiatartalommal kell rendelkeznie ahhoz, hogy hatsa legyen. Egy impulzus energija az alatta lev terlettel, teht a szlessgnek s a magassgnak a szorzatval arnyos, gy ha nagyon rvid ideig ll fent a jel, nagyobb amplitd is megengedhet (20. bra). Ha a jel bizonyos idtartamon tl is fennll, egyenram korltozza. (DC) jelnek tekinthet, amplitdjt a DC zajtvolsg

41

20. bra

3.7.3 Logikai ramkrk dinamikus jellemzi

3.7.3.1

Felfutsi s lefutsi id

A kimeneten megjelen jel vltozsi sebessge nem vgtelen. A 0 1 illetve az


1 0

tmenetek jellemzi a felfutsi s lefutsi idk (az angol

terminolgiban trise s tfall). A vltozs kezdetnl s vgnl megjelen apr hullmok miatt a mrsket az L s H szintek kztti feszltsgklnbsg 10%-a s 90%-a kztt vgezzk (21. bra).

21. bra

3.7.3.2

Ksleltetsi vagy terjedsi id

Egy adott logikai feladat elvgzshez mindig bizonyos idre van szksge az ramkrnek, ezrt a bemeneti jel vltozst csak kiss ksve kveti a 42

kimeneti jel esetleges vltozsa. Ennek mrszma a ksleltetsi vagy terjedsi id (angolul propagation delay). Mrst a 22. bra szerint vgezzk. A ksleltetsi id nagysgt a kimenetre kapcsolt impedancia (fknt kapacits) is befolysolja.

22. bra

3.7.3.3

Terhelhetsg, Fan-out

Minden egyes ramkrcsaldra meg van adva, hogy egy logikai elem kimenetre legfeljebb hny bemenet csatlakoztathat (Fan-out). Ezt a kimeneten leadott illetve a bemeneteken felvett ramok nagysga hatrozza meg. Egy adott csald ramkrei pldul a kvetkez ramrtkeket kpesek ellltani a kimenetkn az L s H szinteken:

I kiL max = 16mA , I kiH max = 0,4mA ,


mg a mkdtetskhz ignyelt bemeneti ramok:

(89) (90)

I beL = 1,6mA , I beH = 40 A .


szinten: 43

(91) (92)

Ezek alapjn az egy kimenetre kthet bemenetek maximlis szma L s H

Fan out L = Fan out H =

I kiL max = 10 , illetve I beL I kiH max = 10 . I beH

(93) (94)

Az ered terhelhetsg a kett kzl a rosszabbik rtk (jelen esetben a kt szm megegyezik):
Fan out = 10 .

(95)

A terhelhetsg nvelse az ugyanolyan logikai mkds ramkrk prhuzamos kapcsolsval oldhat meg. 3.7.3.4 Egysg-terhels, Fan-in

Az ramkrcsaldban elfordulhatnak a csald tbbi tagjtl eltr bemeneti ram elemek is. Az egysg-terhels azt adja meg, hogy az adott elem ramfelvtele hnyszorosa a csald tbbi tagja ramfelvtelnek. 3.7.3.5 Egyb jellemzk

A logikai ramkrknek mg sok olyan jellemzje van, amelyeket a tervezsnl figyelembe kell venni. Most a legfontosabbakat soroljuk fl: Disszipci (teljestmnyfelvtel): az a teljestmny, amely hv alakul, ha a logikai ramkrt 50% kitlts tnyezj rajellel kapcsolgatjuk (vagyis olyan vltakoz jellel, amely az L s H szinteken ugyanannyi ideig tartzkodik). A disszipci kisebb-nagyobb mrtkben frekvenciafgg. Jsgi tnyez: az tlagos ksleltetsi id s a disszipci szorzata. Kt logikai ramkr kzl az a jobb, amelyik ugyanolyan teljestmnyfelvtel mellett gyorsabb, illetve azonos sebessgnl kevesebb energit fogyaszt: teht kisebb a jsgi tnyezje. A megengedett legnagyobb s legkisebb be s kimeneti feszltsgszintek, tpfeszltsgszintek. Tpfeszltsg-tolerancia: a tpfeszltsg legnagyobb megengedhet ingadozsa szzalkban kifejezve. 44

A normlis mkdshez elrt hmrskleti tartomny. Tokozs: A lbak furatba illeszthetk, vagy felletre forraszthatk-e, a tok manyag, esetleg hll kermia, stb.

3.7.4 A TTL s CMOS elemcsaldok sszehasonltsa

A logikai ramkrk kt leggyakrabban hasznlt tpusa a bipolris tranzisztorokbl felpl TTL s a trvezrls tranzisztorokbl ll CMOS csald. Mindkt tpus klnbz kivitelekben kaphat, amelyek disszipcija s ksleltetsi ideje eltr. Lssuk, mely paramterek szlnak az egyik illetve a msik alkalmazsa mellett! A TTL ramkrk elnye (a CMOS-sal szemben) a gyorsasg. Ksleltetsi idejk kapunknt 10ns krli standard kivitelben, de lteznek 1 2ns terjedsi idej vltozatok is. Teljestmnyfelvtelk tpustl fggen nhny mW-tl nhny 10 mW-ig (standard) terjed. Stabil ramforrsra van szksgk: a polgri clra ksztett darabok ignye 5V 5% , a katonai kivitel
5V 10% -al elgszik meg.

A CMOS ramkrk lassabbak: a ksleltetsi id standard kivitelben 100ns krli, ami 10ns kzeli rtkekre cskkenthet (High Speed kivitel). F elnyk az alacsony teljestmnyfelvtel: mivel a trvezrls tranzisztorok bemeneti ellenllsa igen nagy, a CMOS ramkrk nyugalmi llapotban gyakorlatilag alig fogyasztanak energit (nhny W -ot). Emiatt elemes tplls eszkzkben (digitlis rk, szmolgpek, tvvezrlk, stb.) hasznljuk ket. Tnyleges teljestmnyfelvtel a logikai tkapcsolskor trtnik, ezrt a disszipci teljestmnyfgg. Jellemz rtke 1W / kHz krli. Ez nagyjbl A

1MHz

felett

meghaladja msik

TTL elnye

ramkrk a szles

teljestmnyfelvtelt, gy ebben a tartomnyban mr nem clszer az alkalmazsuk. CMOS technolgia nagy tpfeszltsg-tartomny, amely az 5V 5% -al szemben 3-tl 15V-ig(!) terjed. Ez jabb rv ahhoz, hogy elemmel mkd eszkzk tervezsnl elssorban a CMOS technolgira gondoljunk.

45

E kt elemcsald mellett termszetesen mg szmtalan klnbz logikai ramkrtpussal tallkozhatunk (elg csak megnzni valamelyik nagyobb IC gyrt honlapjt). A digitlis technika szdletes iram trnyersnek az alkatrsz-technolgia rohamos fejldse adja az alapjt.

3.7.5 Specilis kimeneti kapcsolatok TTL ramkrknl

Logikai

rendszerek

tervezsnl

sokszor

elfordul,

hogy

nagyon

sok

kimenetet kell egyetlen S, esetleg VAGY kapu bemeneteire ktni. Ilyenkor rengeteg vezetket kell egymssal prhuzamosan egy kicsiny terletre vezetni, ami jelentsen bonyoltja az ramkr tervezst, de a nagyszm bemenettel rendelkez kapuk kialaktsa is gondot okoz. Szerencsre a TTL ramkrcsaldok kt olyan megoldst is knlnak, amellyel kikszblhetk ezek a problmk: 3.7.5.1 Nyitott kollektoros kimenetek

Lteznek olyan TTL technolgival gyrtott logikai kapuk, amelyek nyitott kollektor (open collector) kimenettel rendelkeznek. Ha tbb ilyen kapu kimenett a 23. bra szerint sszektjk, a kzs ponton n. huzalozott S kapcsolat jn ltre, megsprolva gy a sok bemenet S kaput, s a prhuzamos vezetkeket.

23. bra

46

Mivel a De-Morgan azonossg szablyai szerint:

q1 + q 2 + ... + q n = q1 q 2 ... q n ,
a 24. brnak megfelelen huzalozott VAGY kapcsolat is elllthat.

(96)

24. bra

3.7.5.2

Hromllapot (tristate) kimenetek

Szmtgpes rendszerekben sokszor hasznlunk n. buszrendszereket. A buszok olyan vezetkek vagy vezetkktegek, amelyeken tbb eszkz is osztozik, de egyidben csak egyetlen, kivlasztott ramkr hasznlhatja. Ilyenkor hromllapot kimenetekkel rendelkez ramkrket alkalmazunk. Ezeknl az elemeknl egy jrulkos vezrlbemenettel kikapcsolhatk a kimenetek (nagy impedancis mdba llthatk), megengedve egy msik eszkznek, hogy a vezetkeken adatokat tovbbtson (25. bra). Mindig gyelni kell arra, hogy egy buszon egyszerre csak egy eszkz legyen aktv!

25. bra

47

3.8 A jelterjedsi idk hatsa a kombincis hlzatok mkdsre

kombincis

hlzatok

tervezsnl

idelis

ramkri

elemekkel

dolgoztunk, m az elz rszbl kiderlt, hogy a valsgban a kapuk s vezetkek jelterjedsi ksleltetse nem elhanyagolhat. Ebben a fejezetben ltni fogjuk, hogy a ksleltet ltre. hatsok A hibk tmenetileg hibs a kimeneti krnyezeti kombincikat szmtsba. hozhatnak Az ilyen elfordulsa

vltozktl: hmrsklet, regeds, stb. fgghet, gy elzetesen nem vehetk vletlenszer, rendszertelen hibajelensgeket hazrdjelensgeknek nevezzk. Tervezskor arra kell figyelnnk, hogy a kombincis hlzat mkdse a lehet legnagyobb mrtkben fggetlen legyen a ksleltetsi viszonyok alakulstl.

3.8.1 A statikus hazrd

Vizsgljuk meg ugyanazon kombincis hlzat mkdst elszr idelis, majd bizonyos ksleltetssel rendelkez logikai kapukat felttelezve. A hlzat igazsgtblja az albbi legyen: A B C F 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1

Az egyszerstett fggvnyt Karnaugh-tblval hatrozzuk meg:

48

F = AB + BC .

(97)

Ezek utn rajzoljuk fel a kapcsolsi vzlatot. A jelterjedsi idk hatst modellezzk az idelis kapuk mg kttt ksleltetelemekkel (26. bra).

26. bra

Most rjuk fel az ramkr mkdst egy iddiagramon gy, hogy az A s C bemenetekre stabil 1 rtket adunk, a B bemeneten pedig
1 0 tmenet

trtnik. Hogy knnyebb legyen kvetni a vltozsokat, a diagramba az A, B s C jeleket, B negltjt, a VAGY kapu bemenetein mrt jeleket, s vgl annak kimenetn mrt jelet is rajzoljuk be. A VAGY kapu ksleltetsi idejt ne vegyk figyelembe, mert az a mrs eredmnyt rdemileg nem befolysolja (csak bizonyos mrtkben eltolja). Elszr az idelis esetet vizsgljuk, ahol az sszes ksleltetsi id zrus (27. bra). Az eredmny a vrtnak megfelel stabil 1-es kimenet.

49

27. bra

Azonban ha szmtsba vesszk a ksleltetseket, az ramkr nem gy mkdik, ahogy azt elvrnnk: az lland 1-es helyett 1 0 1 kimeneti jelvltozst szlelnk (28. bra). Statikus hazrd lpett fel a hlzatban. ltalnossgban akkor beszlnk statikus hazrdrl, ha valamely bemeneti kombincirl egy szomszdos bemeneti kombincira ugrunk (vagyis egyetlen bemenet rtkt megvltoztatjuk), s a kvnt stabil kimenet helyett egy impulzust kapunk.

28. bra

Gondoljuk vgig, hogy mi trtnt! Amg a B bemenet logikai magas szinten volt, a fels S kapu biztostotta az 1-es rtk kimenetet, majd B vltozsakor az als kapu vette t ezt a szerepet. A baj abbl addott, hogy a fels kapu elbb kapcsoldott ki, mint ahogy az als kapu be. Vajon felfedezhet-e, s ami a legfontosabb: kikszblhet-e a hiba mr a tervezs szakaszban? Vegyk el jra a Karnaugh-tblt!

50

Tudjuk, hogy a Karnaugh-tbln felvett hurkok egy-egy S kapcsolatot, vgeredmnyben S kaput eredmnyeznek. A mrs sorn az 111 bemeneti kombincirl a szomszdos 101-re vltottunk, s ha jl megfigyeljk, ezzel az egyik hurokbl pp tugrottunk a msikba; vagyis knnyedn felfedezhet, ha az egyik S kapu szerept egy msik veszi t.

Mindezt vgiggondolva a statikus hazrd kikszblse is egyszer: a szomszdos hurkok kztti kritikus tmenetet is le kell fednnk egy jabb hurokkal.

F = AB + BC + AC .

(98)

Az egyszerstett fggvny, gy a kapcsolsi vzlat is kicsit bonyolultabb lett, mivel beiktattunk mg egy S kaput, amely biztostja a stabil mkdst (29. bra). 51

29. bra

A statikus hazrdmentests teht abbl ll, hogy minden szomszdos hurkot sszektnk egy tovbbi hurokkal. Egy hlzat akkor s csak akkor mentes a statikus hazrdtl, ha brmely kt szomszdos mintermet lefed egy-egy primimplikns magyarul a Karnaugh-tblban brmely kt szomszdos 1-est lefed egy-egy hurok. 3.8.1.1 Plda statikus hazrdmentestsre

rjuk fel egy ngybemenet hlzat egyszerstett fggvnyt, majd a statikus hazrdtl mentes fggvnyt! A rendszer igazsgtblja a kvetkez: A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 P 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0

Az egyszerstett fggvny a Karnaugh-tbla alapjn:

52

Q = AB + AC D + BC

(99)

Hazrdmentestve pedig:

Q = AB + AC D + BC + BC D + AC + AB D

(100)

3.8.1.2

Statikus hazrdok konjunktv hlzatokban

A Maxtermes alakban trtn egyszerstsnl a nullkat fedtk le hurkokkal a Karnaugh-tblban, rtuk fel a s a A De-Morgan hurkok azonossgok kapukat alkalmazsval vgeredmnyt. VAGY

reprezentlnak, s elmondhat, hogy a statikus hazrd lehetsge itt is fennll: egyik hurokbl a msikba tugorva stabil zrus kimenet helyett egy impulzus jelenik meg. A hazrdmentests a diszjunktv hlzatokhoz hasonl. Pldul az albbi grafikus egyszerstsnl:

53

Q = ( A + C )( B + C ) ,
ugyanez hazrdmentestve:

(101)

Q = ( A + C )( B + C )( A + B) .

(102)

3.8.2 A dinamikus hazrd

Dinamikus hazrdrl akkor beszlnk, ha egyetlen bemenet tlltsakor egy egyszer kimeneti jelvltozst vrnnk, de ehelyett egy impulzussal tarktott jelvltozst tapasztalunk (30. bra). Dinamikus hazrd csak abban a hlzatban alakulhat ki, amelynek valamelyik rszbl nem kszbltk ki a statikus hazrdot a jelensget ugyanis a statikus hazrd okozta impulzus idzi el.

30. bra

3.8.3 A funkcionlis hazrd

Eddig azt vizsgltuk, hogy mi trtnik a szomszdos bemeneti kombincik kztti ugrsoknal. Most nzzk meg azt az esetet, ha kt bemenetet vltoztatunk meg egy idben! A problma abbl fog addni, hogy a valsgban kt jel soha nem vltozik egyszerre, egy nagyon kicsi eltrs biztos van a vltozsuk idpontja kztt. Legyen egy kombincis hlzat Karnaugh-tblja:

54

A kiindulsi bemeneti kombinci legyen 010, majd egyszerre kapcsoljuk t B-t s C-t, 001-t ellltva! A kimenet mindkt bemeneti kombinci esetn 1-es, gy elmletben vgig ezen az rtken kne maradnia. Vajon tnyleg gy lesz-e? A valsgban kt eset lehetsges: vagy B vltozik elbb, vagy C:

Amennyiben elbb B, majd C vltozik, a tnyleges bemeneti vltozs:


010 000 001 . Az ennek megfelel kimeneti vltozst kiolvashatjuk a

Karnaugh-tblbl, a nyl irnyban haladva: 1 1 1 . Nem trtnt hibajelensg, a kvnt rtkeket kaptuk.

Abban az esetben viszont, ha a vltozs sorrendje C majd B, a vals bemeneti vltozs 010 011 001 lesz. Az ennek megfelel kimeneti vltozs: 1 0 1 . Stabil 1-es helyett egy (negatv) impulzust kaptunk. A hlzatban funkcionlis hazrd lpett fel.

Hogyan lehetne kikszblni a problmt? Megoldst jelenthetne, ha ksleltetsek beiktatsval mindig B-t engednnk elbb vltozni. m gondoljuk vgig: ha visszafel is elvgeznnk a mrst, 001 kombincirl 55

010-ra ugorva, ppen B korai vltozsa okozna funkcionlis hazrdot. Radsul a kvetkez tblval adott hlzaton a kt minterm kztt mr el sem juthatunk gy, hogy ne rintennk egy 0-t:

A funkcionlis hazrdot szinkronizcival lehet megszntetni (31. bra). Ilyenkor a kombincis hlzat el s mg olyan szinkronizl elemeket tesznk (n. lptet regisztereket, rluk a ksbbiekben lesz sz), amelyek csak bizonyos idkznknt engedik a kombincis hlzat bemeneteire a jeleket, megvrjk, mg a hazrdok eltnnek a hlzatbl, s csak ezutn jelentik meg a kimeneteken a vltozsokat. (A lptets egy periodikus rajelhez szinkronizlva trtnik, ezrt az elnevezs.) Ez a fajta megolds cskkenti a hlzat gyorsasgt.

31. bra

56

3.9 Nhny gyakrabban hasznlt kombincis hlzat

A kvetkezkben olyan, kombincis hlzatbl felpl ramkrket mutatunk be, amelyekkel sokszor tallkozhatunk a legklnbzbb digitlis eszkzkben. Gyakori alkalmazsuk miatt IC-be integrlva, kszen is megvsrolhatjuk ket.

3.9.1 Kdtalakt egysgek

A digitlis technikban tbbfle kdot hasznlnak. Lttuk, hogy a szmokat csak kettes szmrendszerben, binris kdban tudjuk brzolni, trolni vagy tovbbtani. Ha mgis tzes szmrendszerbeli szmokkal akarunk mveleteket vgezni, a BCD (Binary Coded Decimal) kdot vlaszthatjuk, ahol a szm minden egyes szmjegyt kln-kln, kettes szmrendszerben rjuk fel. Pldul a 239-es szm szmjegyei 2-es szmrendszerben: 2=0010; 3=0011; 9=1001, ezeket egyms utn rva megkapjuk a szm BCD kdjt: 001000111001. A kdot jra ngyes csoportokra bontva gyakorlatilag 10-es szmrendszerben dolgozhatunk. A kdtalakt egysgek egyfajta kdbl egy msikba alaktanak. A 32. brn egy binrisbl BCD kdba talaktt lthatunk. Kdtalakt egysg a mr megismert htszegmenses dekdol is.

57

32. bra

3.9.2 Kdol

A kznapi nyelvben kdolnak hvjk azt a kdtalakt eszkzt, melynek bemenetei kzl csak az egyiken szerepelhet 1-es, mg a tbbi 0 ( ezt 1 az Nbl kdnak hvjk), a kimenetein pedig annak a bemenetnek a szma jelenik meg binrisan, ahol ez az 1-es van. A 33. brn lthat kdol 2. bemenetre raktunk 1-est, gy a kimeneteken 2, teht 10 jelent meg ( a kisebb index bes kimenetek a kisebb helyirtkeket jellik).

33. bra

Az n szm kimenettel rendelkez kdolnak 2n bemenete van. rjuk fel a 4 bemenet kdol igazsgtbljt! Mivel csak ngy bemeneti kombincit fogadunk el, a tbbi sorban nem definiljuk a kimenetek rtkt. I3 I2 I1 I0 O1 O0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 -

az sszes tbbi kombincira:

Ebbl knnyen megtervezhetjk az ramkr logikai kapcsolsi rajzt: 58

O0 = I 1 + I 3

(103)

O1 = I 2 + I 3
Mindez rajzban:

(104)

34. bra

A kapcsols rdekessge, hogy I0-ra nincs is szksgnk, gymond kizrsos alapon kvetkeztetnk az rtkre.

3.9.3 Dekdol

59

A dekdol a kdolnak ppen a fordtottja: bemeneteire egy binris szmot vr, s a szmmal megegyez sorszm kimenetre 1-est rak, mg a tbbire 0t (35. bra).

35. bra

Igazsgtblja: I1 I0 O3 O2 O1 O0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 0 0

A ngy kimeneti fggvny:

O0 = I 0 I 1 , O1 = I 0 I 1 , O2 = I 0 I 1 ,

(105) (106) (107) (108)

O0 = I 0 I 1 .
Vgl a logikai vzlat:

60

36. bra

3.9.4 Adatt-vlaszt eszkzk

3.9.4.1

Multiplexer

A multiplexer (rvidtve MUX) a SELECT bemenetekre egy binris szmot vr, s az evvel megegyez sorszm adatbemenetet sszekti a kimenettel. A 37. bra egy ngy adatbemenettel br eszkzt mutat. n szm SELECT bemenet rtelemszeren 2n darab adatbemenet kzl vlaszthat.

37. bra

Logikai kapcsolsi vzlatt a dekdol rajzt kiegsztve nyerjk:

61

38. bra

3.9.4.2

Demultiplexer

A demultiplexernek egyetlen adatbemenete van, s ezt a SELECT bemenetek ltal kivlasztott kimenettel kti ssze.

39. bra

Megvalstsa a dekdol kapcsolsi vzlatnak felhasznlsval:

62

40. bra

3.9.5 Binris aritmetikt vgz ramkrk

Ha kettes szmrendszerbeli szmokon szeretnnk matematikai mveleteket vgezni, nem kell azonnal valamilyen intelligens aritmetikai egysg utn nznnk. Az egyszerbb mveleteket kombincis hlzatok is elvgezhetik. Rengeteg ilyen eszkzzel tallkozhatunk, a kivontl a szorz ramkrkig ezek kzl mutatunk most be egyet a plda kedvrt. 3.9.5.1 1 bites teljes sszead

Legelszr is nzzk meg, hogyan adunk ssze kt binris szmot! A feladatot a tzes szmrendszerben vgzett sszeads analgijra oldhatjuk meg. Ha papron vgezzk a mveletet, jobbrl balra haladva sorra sszeadjuk az egyes szmjegyeket, s ahol kilencnl nagyobb eredmnyt kapunk, ott hozzadjuk a maradk egyest az egyel nagyobb helyirtk szmjegyekhez (41. bra).

41. bra

63

Kettes szmrendszerben pontosan ugyangy jrunk el, csak a felhasznlhat szmjegyek a 0 s az 1, s akkor trtnik a kvetkez helyirtkre tvitel, ha az eredmny nagyobb, mint 1 (42. bra).

42. bra

Az egy bites teljes sszead kt binris szm egy-egy bitjt (a 42. bra egy oszlopt) adja ssze gy, hogy figyelembe veszi az egyel kisebb helyirtkrl rkez tvitelt, s ha nla is keletkezik tvitel, akkor tovbbtja azt. Az tvitel fogadsra s tovbbtsra egy-egy beilletve kimenetet hasznl. Mindennek az az eredmnye, hogy tbb egy bites teljes sszeadt sszekapcsolva ha a 43. brn lthat elrendezst kvetjk , kt brmilyen hossz binris szmot ssze tudunk adni.

43. bra

Ahogy a rajz is mutatja, az egy bites teljes sszead egy 3 bemenet s 2 kimenet kombincis hlzattal valsthat meg. A kimenet akkor 1, ha egyetlen, vagy mindhrom bemenet 1-es (v. a 42. brval). tvitel pedig akkor keletkezik (Cout=1) , hogyha egynl tbb bemenet 1-es. Ezek alapjn felrhatjuk az igazsgtblt: A B Cin Cout

64

0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1

0 1 0 1 0 1 0 1

0 1 1 0 1 0 0 1

0 0 0 1 0 1 1 1

A kt kimeneti fggvnyt grafikus egyszerstssel prbljuk meghatrozni:

Br errl mg nem volt sz, az ilyen sakktbla-szer Karnaugh-tbla antivalencia kapukat jelez:

= A B C in .
A msik kimenetre:

(109)

C out = AB + AC in + BC in .

(110)

65

A fggvnyeket megvalst logikai kapcsolsi vzlat a 44. brn lthat.

44. bra

66

4. Szekvencilis (sorrendi) hlzatok

A kombincis hlzatok utn most a logikai rendszerek msik f osztlyrl lesz sz: a szekvencilis, ms nven sorrendi hlzatokrl. Tudjuk, hogy a kombincis hlzatoknl a kimenetek rtkt mindig az aktulisan fennll bemeneti kombinci hatrozza meg. Sorrendi hlzatoknl a kimeneti kombincit a bemenetek aktulis rtkei, valamint a korbban fennllt rtkei is befolysoljk. Magyarul az ramkr emlkszik arra, hogy korbban mit kapcsoltunk a bemenetekre. Ilyen emlkez ramkrk ltrehozshoz egyltaln nem szksgesek bonyolult memriaelemek, st a logikai alapkapukon kvl sokszor nem is kell hozzjuk ms! Ltni fogjuk, hogy kombincis hlzatok egyszer visszacsatolsval is megoldhat a feladat. A sorrendi hlzat mkdsi folyamata a kvetkez: bekapcsolskor n. start llapotban van, a hlzatnak ellete nincs, vrja, hogy trtnjen valamilyen esemny. Miutn vltozs kvetkezik be a bemeneteken, a rendszer egy j llapotba ugrik. Innen tovbbi vltozsok hatsra jabb llapotokba ugorhatunk, vagy akr vissza is trhetnk egy korbbi helyzetbe. Ha egy sorrendi hlzat egy bizonyos llapotban van, akkor az egyrtelmen megadja, hogy mi trtnt vele az elzekben. Vegynk egy pldt! Egy italautomata a bekapcsols utn vrja, hogy pnzt helyezzenek a bedob nylsba. Ez a start llapot (45. bra). Miutn valaki bedobott 100 forintot, a gp egy jabb llapotba ugrik (jelljk ezt 1-essel). Ha az automata ebben az llapotban van, az azt jelenti, hogy 100 forint van a perselyben. Ebbe az llapotba kzvetve is eljuthatunk: ha a bekapcsols utn 50 forintot dobunk be (2-es llapot), majd ismt 50 forintot, szintn az 1-es llapotba kerlnk. Ha mindezek utn tovbbi 50 forintot helyeznk a nylsba, mr 150 forint van a perselyben, a gp kiadhatja a klt, s visszatrhet a start llapotba, vrva az jabb pnzrmket. Ha mr 200 forintot dobtunk be, az automatnak kln kvl egy tvenest is kell adnia. A pldbl jl ltszik, hogy mindegyik llapot egyrtelmen meghatrozza a

67

hlzat ellett (vagyis, hogy hny forint van a perselyben), fggetlenl attl, hogy milyen ton jutottunk oda.

45. bra

Hogyan csinlhatunk ezek alapjn egy kombincis hlzatbl sorrendi hlzatot? A megoldst a 46. brn lthatjuk: a kimenetek egy csoportjn mindig az aktulis llapot sorszmt jelentjk meg (jellse: Y, s szekunder kombincinak nevezzk), s ezt visszacsatoljuk a bemenetekre, hogy a hlzat lssa, hogy ppen melyik llapotban van. A kombincis hlzat kimeneteit gy mr nem csak a krnyezetbl kapott bemenetek aktulis rtke (X), hanem a hlzat aktulis llapota (Y) is befolysolhatja. Teht megtervezhetjk, hogy egy bizonyos llapotban (y) egy bizonyos bemeneti kombincira (X) mi legyen a krnyezet fel tadand kimenetek rtke (Z), s melyik legyen a kvetkez llapot (Y).

46. bra

A sorrendi hlzatok llapottert ktflekppen definilhatjuk: llapotgrffal vagy llapottblval. 68

4.1 llapotgrfos lers

A 47. brn egy kt bemenet (x1, x2) s kt kimenet (z1, z2) szekvencilis hlzat llapotgrfjt ltjuk. Az llapotokat sorszmozott krk jellik, kztk pedig nyilak mutatjk a lehetsges llapotvltsokat. A nyilakon fel van tntetve, hogy milyen bemeneti kombinci esetn haladunk rajtuk, s hogy ekkor mi legyen a kimenetek rtke. Termszetesen azt is meg lehet adni, hogy a rendszer bizonyos bemeneti kombincira ugyanabban az llapotban maradjon: ezt nmagukba visszatr hurokkal jelezzk. (Tulajdonkppen a 45. bra is egy llapotgrfot mutat, csak a be- s kimeneti vltozkat nem adtuk meg egzaktul.)

47. bra

4.2 llapottbls felrs

Az llapottbla tblzatos formban mutatja meg, hogy a y llapotbl a klnbz bemeneti kombincik hatsra mely Y llapotokba ugrunk. A kimenetek alakulst ugyanebbe, de kln tblzatba is rhatjuk. Az elz pontban llapotgrffal flrt hlzat llapottblja a kvetkez: 69

48. bra

4.3 Aszinkron s szinkron sorrendi hlzatok

Ha

egy

kombincis

hlzatot

az

imntiek

szerint

egyszeren

visszacsatolunk, aszinkron sorrendi hlzathoz jutunk, mert az aktulis llapot a bemen jelek hatsra brmelyik pillanatban megvltozhat. Ha viszont a visszacsatolt jeleket csak bizonyos idkznknt engedjk vissza a bemenetre mondjuk egy kls rajel mindegyik peridusban csak egyszer , akkor az llapotvltozsok is csak ebben az temben trtnhetnek. Ilyenkor szinkron sorrendi hlzatrl beszlnk. A szinkron hlzatoknak tbb elnyk is van: egyrszt nem engedik a hazrdokat visszacsatoldni a bemenetekre, hogy hibs llapotvltozsokat idzzenek el, msrszt nem kell foglalkoznunk az olyan instabil llapotokkal, amelyekbl azonnal tovbbugrik a rendszer, esetleges oszcillcit okozva. Htrnyuk viszont, hogy az rajel temre cskken a sebessgk. A 49. bra egy szinkron sorrendi hlzatot mutat. A kapcsolk mg egyszer trol(memria-)elemeket kell tennnk, hogy az y bemeneteken nyitott kapcsolllsnl is fennmaradjon az aktulis llapot szma.

70

49. bra

4.4 Elemi sorrendi hlzatok (flip-flopok)

Flip-flopoknak, magyarul trolknak vagy billenkrknek nevezzk azokat a gyakran hasznlt egyszer sorrendi hlzatokat, amelyeknek mindssze kt llapotuk van (0 s 1), egyetlen kimenettel rendelkeznek, s jellemzjk mg, hogy magt a kimenetet csatoljuk vissza a y bemenetre, gy az aktulis llapot s kimeneti rtk mindig megegyezik. Lteznek aszinkron s szinkron flip-flopok is, ez utbbiakat az rajel-bemenetkrl ismerhetjk fel. A trol elnevezs arra utal, hogy tbbnyire egyetlen bit trolsra hasznljuk ket. A tokozott, kszen vsrolhat flip-flop ramkrknl rendszerint a kimenet negltja is kivezetsre kerl.

4.4.1 D trol

A D trol szinkron elemi sorrendi hlzat, ramkri jele az 50. brn lthat. Mkdse a kvetkez: a C bemenetre kapcsolt rajel felfut lekor (s csak akkor) a kimenet felveszi a D bemenet rtkt, s egszen a kvetkez felfut lig megrzi azt (fggetlenl attl, hogy a D bemeneten trtnt-e kzben vltozs). Az iddiagramon jl kvethet ez a folyamat.

71

50. bra

Ms megkzeltsben gy is mondhatnnk, hogy a D trol llapota a szinkron mkdsnek megfelelen az rajel ciklusban kveti a bemenet vltozsait. A flip-flop llapotgrfja is ezt mutatja:

51. bra

Az ennek megfelel llapottbla pedig a kvetkez:

52. bra

4.4.2 S-R trol

72

Az S-R flip-flop bemenetei a Set (bers) s Reset (trls) szavak els betit viselik (53. bra). Funkcijuk a nevknek megfelel: ha az S bemenetre 1-est rakunk, a kimenet 1-be rdik, az R bemenet 1-esbe lltsakor pedig a kimenet rtke 0 lesz. Ha mindkt bemenet 0, a kimenet rtke vltozatlan marad. A kt bemenetre egyszerre 1-est rakni nem szabad, ez tiltott kombinci. Mindezt az iddiagram melletti tblzatban foglaltuk ssze. Az S-R trol aszinkron mkds, azonnal reagl a vltozsokra.

53. bra

A trol llapotgrfja:

54. bra

Az 55. bra az S-R flip-flop llapottbljt mutatja.

55. bra

73

A tblzat olyan formban kerlt felrsra, hogy segtsgvel bepillantst nyerhessnk a szekvencilis hlzatok tervezsnek folyamatba. Ha jobban megnzzk, az S s R vltozk a Karnaugh-tblknl megismert sorrendben szerepelnek benne: vagyis ez nem ms, mint egy S, R s y bemenet, Y kimenet kombincis hlzat Karnaugh-tblja. A fejezet bevezet rszben emltettk, hogy a flip-flopoknl magt a kimenetet csatoljuk vissza az y bemenetre: az S-R trolnl ez az 56. bra szerint alakul. Az brn lthat ngyzet egy egyszer kombincis hlzatot rejt, S, R s y bemenetekkel, Q=Y kimenettel: vagyis pp a Karnaugh-tblban szerepl vltozkkal. Mindezek alapjn csak el kell vgeznnk a grafikus egyszerstst, s abbl mr fel is rajzolhatjuk az S-R trol logikai kapcsolsi vzlatt.

56. bra

Az llapottbla Karnaugh-tblaknt val egyszerstse:

Y = Q = S + yR ,

(111)

Ezek szerint a trol kapcsolsi rajza:

74

57. bra

4.4.2.1

Az S-R trol megvalstsa NOR illetve NAND kapukkal

Tudjuk, hogy minden kombincis hlzat megvalsthat kizrlag NOR vagy NAND kapuk felhasznlsval is. Ha az S-R flip-flop ramkrt is e kt formra alaktjuk, sokkal tetszetsebb eredmnyt kapunk. Nzzk elszr a NOR kapus megoldst! A 111. sszefggsbl a De-Morgan azonossgok egyiknek (26) segtsgvel megkaphatjuk Q negltjt:

Y = Q = S + y R = S + y + R , gy
Q = S + y + R.

(112) (113)

Q talaktott fggvnyt ugyanilyen mdon llthatjuk el, csak elzleg ne Q-t, hanem Q -ot rjuk fel a Karnaugh-tblbl:

Y = Q = R + yS = R + y + S , Q= R+ y+S.

(114) (115)

Az gy nyert fggvnyek logikai vzlata egy kt kapubl ll, szimmetrikus ramkr:

75

58. bra

A NAND kapus vltozathoz is a 112. s 114. egyenletet alaktjuk t, most a 27-sel jellt De-Morgan szablyt alkalmazva:

Y = Q = S + y R = S + y R = S y R , illetve Y = Q = R + yS = R + yS = R yS .

(116) (117)

Az eredmnyl kapott fggvnyalakok egy-egy negcit is tartalmaznak. E mveleteket, mint tudjuk, sszekttt bemenet NAND kapukkal is elvgeztethetjk (59. bra).

59. bra

4.4.3 J-K trol

A J-K trol mkdse megegyezik az S-R trolval, azzal a klnbsggel, hogy itt az 11 bemeneti kombinci is engedlyezett: ekkor a trol llapota, s gy a kimenet is a negltjra vltozik. Ez aszinkron hlzatnl oszcillcit eredmnyezne, hiszen ha mindkt bemenetre 1-est ktnnk brmilyen rvid idre is , a hlzat rlt sebessggel ugrlna az egyik llapotbl a msikba. A J-K flip-flop ezrt szinkron mkds: a C bemenetre rkez rajel felfut lre kapuzza be az adatokat, csak ekkor vltozik az llapota 76

(s a kimenet). Tarts 11 bemeneti kombincira teht az rajel temben vltakozik a kimenet. Az ramkr J-vel jelzett lba a Set (ber) lb, a K pedig a Reset (trls).

60. bra

A flip-flop llapotgrfja:

61. bra

llapottblja:

62. bra

Az llapottbla alapjn az S-R trolhoz hasonlan a J-K flip-flop kapcsolsi rajzt is megtervezhetjk. A tblzatot Karnaugh-tblaknt

77

rtelmezve

az

kimeneti

fggvny

(gyelve

statikus

hazrd

kikszblsre is):

Y = J y+ JK + Ky.

(117)

A trol szinkron mkds, ezrt a visszacsatol gba egy D flip-flopot helyeznk, amely csak az rajel temben engedi vissza a y bemenetre a kvetkez llapot szmt: Y-t (ld. 63. bra). Mivel a J-K trol Q kimenete mindig az aktulis llapottal (y) egyenl, nem a kvetkez llapottal (Y), a D trol mgl kell kivezetnnk.

63. bra

4.4.4 T trol

T trolt gy nyernk, ha a J-K trol J s K bemeneteit sszektjk s elnevezzk T-nek. A flip-flop ber s trl funkcija gy elveszik; ha T=0, a 78

kimenet megtartja rtkt, ha viszont T-t 1-re lltjuk, Q a negltjra vltozik az rajel temben (64. bra).

64. bra

A T trol llapotgrfja s llapottblja:

65. bra

79

4.4.5 Master-Slave flip-flopok

Az eddigiekben megismert szinkron trolk lvezrelt mkdsek voltak: az rajel felfut lre lptek mkdsbe, ekkor fogadtk a bemeneteiken az adatokat, s azonnal meg is jelentettk a vltozst a kimenetkn. Bizonyos alkalmazsok megkvetelik, hogy ezt a kt fzist elklntsk. A MasterSlave flip-flopok kt f egysgbl llnak: a Master (mester) egysg kapuzza be az adatokat a bemenetrl, majd tovbbkldi azokat a Slave (szolga) egysgnek, amely a kimenetre rst intzi. A fzisok elklntse rdekben a mester az rajel aljban, 0-s szinten olvassa a bemeneteket, a szolga pedig a lefut l megjelensekor helyezi a kimenetekre az j rtkeket (66. bra).

66. bra

Lteznek mg lvezrelt Master-Slave trolk is. Ezeknl a Master egysg a felfut lre, a Slave pedig a lefut lre lp mkdsbe. Ilyen tpus trolt knnyedn kszthetnk, mgpedig oly mdon, hogy egy hagyomnyos lvezrelt flip-flop mg ktnk egy msik, az rajel negltjval mkd lvezrelt D trolt (67. bra). A tovbbiakban egybknt, ha flip-flopokrl ejtnk szt a jegyzetben, az egyszer lvezrelt tpust rtjk alatta ha mgsem, akkor arra kln felhvjuk a figyelmet.

80

67. bra

4.4.6 A trolk jellegzetes alkalmazsai

4.4.6.1

Pergsmentests

Ha digitlis ramkrnkben nyomgombbal vagy kapcsolval szeretnnk a logikai 0-nak illetve 1-nek megfelel feszltsgszintek kztt vlasztani, a 68. bra szerinti ramkrt alkalmazhatjuk. A kapcsol nyitott llsnl az x pont a tpfeszltsghez kzeli, logikai magas szintre kerl. Ha viszont zrjuk a kapcsolt, 0 potencilra, logikai alacsony szintre lltjuk (az ellenlls ilyenkor a telep rvidre zrst akadlyozza meg). Az ramkr azonban nem tkletes: a kapcsol nyitsnl illetve zrsnl ugyanis apr szikrk jelennek meg az elvl vagy egymshoz kzelt felletek kztt. Ezek olyan nagy energij impulzusokat okoznak, hogy az lvezrelt eszkzk tvesen tbbszri ki-bekapcsolst rzkelnek. A jelensget pergsnek vagy prellezsnek nevezzk.

81

68. bra

A prellezst a 69. brn bemutatott tletes megoldssal kszblhetjk ki. Ugyan a ktlls kapcsolban is keletkeznek szikrk, m ezeket egy S-R trolval megszeldtjk: mr az els impulzus tbillenti a flip-flopot, gy a tbbinek mr nincs hatsa a trol mkdsre, ezrt nem juthatnak el a kimenetig.

69. bra

82

4.4.6.2

Frekvenciaoszts

Ha megptjk a 70. brn lthat elrendezs kapcsolst, az A ponton olyan vltakoz jelet mrhetnk, amelynek frekvencija ppen a fele a CLK bemenetre kttt rajel frekvencijnak. A D trol

kimenett

visszaktttk az adatbemenetre, gy a berkez rajel minden felfut lekor a negltjra vlt a flip-flop kimenete. Mindez azt eredmnyezi, hogy amg a CLK jel fel, majd lefut, addig az A jel csak egyszer vltozik vagyis fele akkora lesz a frekvencija. A msodik illetve harmadik trol is kettes osztst vgez, a B jel ezrt a CLK rajelhez kpest mr csak negyedakkora, a C jel pedig 8-ad akkora frekvencij lesz, s gy tovbb. n darab trol frekvenciaosztsa: 2 n .

70. bra

4.4.6.3

Aszinkron szmllk

rjuk fel a frekvenciaoszt ramkr egymst kvet kimenetei kombinciit az idben elre haladva! A vltozk sorrendje legyen CBA. A 71. brrl (amely nem ms, mint a 70. brbl kiragadott iddiagram) olvashatjuk le az eredmnyt:

83

71. bra

Lthatjuk, hogy a frekvenciaoszt egyben szmll is, mghozz kettes szmrendszerben 7-tl 0-ig lefel, s azutn jrakezdi. Az ramkr teljes neve: modulo 8-as aszinkron lefel szmll. Modulo 8-as azrt, mert 8 rtket tud megklnbztetni, aszinkron, mert a trolk nem szinkronban billennek: az rajel vgigfut az elstl kezdve az utolsig, egyms utn hozva mkdsbe ket. Ennek sajnos az az eredmnye, hogy minden egyes szmllskor rvid ideig hibs kombinci jelenik meg a kimeneteken. A 72. brn a 4 s 3 kztti hibs tmenetet lthatjuk.

72. bra

Kikszblhetjk a hibt, ha a kimeneteket egyszerre mkdsbe lp trolkkal szinkronizljuk (73. bra). A kimeneti flip-flopok csak akkor vlthatnak, ha a szmlln mr vgighaladt az rajel ezrt iktattuk be a dt ksleltetst.

84

73. bra

Amennyiben nem a Q kimenetekrl, hanem Q -rl visszk tovbb az rajelet, modulo 8-as aszinkron felfel szmllt kapunk (74. bra). A vltozs abban ll, hogy a negcik miatt az elz szint kimenetnek a lefut lnl lp mkdsbe a msodik, majd ugyangy a harmadik trol. Termszetesen itt is fennll az elbbi problma: kijavtsa is a megismert mdon trtnik.

74. bra

85

4.4.6.4

Szinkron szmllk

Az aszinkronitsbl ered hibt szinkron szmlk alkalmazsval is kikszblhetjk. Ezeknl az eszkzknl a kls rajel az sszes flip-flopot egyszerre vezrli. Vegyk pldaknt a szinkron felfel szmllt! Ennek tervezsnl a kvetkez felismersbl indulhatunk ki: egy tetszleges binris szmot gy tudunk nvelni egyel, hogy megvltoztatjuk (0-rl 1-re vagy fordtva)

a legkisebb szmjegyt, tovbb azokat a szmjegyeit, amelyekre igaz, hogy a nluk kisebb helyirtkeken mindentt 1-es ll (ld. a 75. brt).

75. bra

Tudjuk, hogy a T trol akkor vltoztatja meg az llapott, ha az rajel felfut lekor 1-es van az adatbemenetn mrpedig a szinkron felfel szmll megptsnl neknk pontosan erre van szksgnk. Az els T flip-flop adatbemenetre stabil 1-est ktnk, gy minden rajel ciklusban vltani fog (legkisebb helyirtk; ld. 76. bra). A tbbi T trol adatbemenetre pedig a nluk elrbb ll egysgek kimenetnek S kapcsolatt vezetjk gy ha mindegyik egyes, a flip-flop vltani fog.

86

76. bra

A kapcsols htrnya, hogy az n-ik szinten n-1 bemenet S kapu kell, mert mindegyikkhz kln-kln vezettk el a kimeneteket (ezt prhuzamos tvitelnek nevezzk). A problmt soros tvitel alkalmazsval kszblhetjk ki (77. bra): itt felhasznljuk az alacsonyabb szinteken ll S kapuk eredmnyt is. A soros tvitel htrnya, hogy az S kapukon keresztli jelterjedst vgig kell vrnunk, s csak utna folytathatjuk a szmolst. (A jelterjeds viszont nem okoz az aszinkron szmllknl tapasztalt hibs kimeneti kombincit, mert a trolk egyszerre lpnek mkdsbe.)

77. bra

87

4.4.6.5

Mg nhny sz a szmllkrl

Az elz pontokban megismert eszkzkn kvl mg nagyon sokfle szmllt lehet akr tokozott formban beszerezni, vagy megpteni. A binris mellett mg decimlis vagy BCD kdak kzl is vlogathatunk. Lteznek 8, 16 bitesek s kaszkdolhatk is, amelyekbl tbbet lncra fzve szinte brmekkorra nvelhetjk a kapacitst. Nmelyiket utasthatjuk, hogy lefel vagy flfel szmoljon. A berhat, vagy tlthet (loadable) szmllknl kln erre a clra fenntartott bemeneteken berhatunk egy szmot, ahonnan a szmlls kezddjn. A berst egy vezrlbemenettel engedlyezzk. Ezt ktflekppen tehetjk meg:

Szinkron bers esetn a szm betltse ugyangy, mint a szmlls csak az rajellel szinkronban hogy a a trtnhet. szmll kvnt Egy az LOAD/COUNT adott az temben rajeltl bemenettel szablyozzuk, bers

betltdjn, vagy szmoljon.

Aszinkron

szmllknl

szmot

fggetlenl, brmikor betlthetjk. Ha a LOAD bemenet felfut jelet rzkel, a szm azonnal berdik. 4.4.6.6 Regiszterek

A trol regiszterek tbb bites szmok trolsra alkalmasak. A 78. brn egy 4 bites regisztert ltunk, ngy darab kzs rajel, prhuzamosan kttt D trolbl kialaktva. Mkdse a D flip-flopot ismerve nem szorul klnsebb magyarzatra: adott az rajel felfut a lnl elraktrozza az adatbemenetekre olvas be. szmot, amelyet kimeneteken brmikor

leolvashatunk. A szmot a kvetkez rajel-felfutsig trolja, amikor is jat

88

78. bra

Vannak regiszterek, amelyek a trolt szm jegyeit egy vagy tbb helyirtkkel jobbra vagy balra el tudjk lptetni: ezeket lptet vagy shift regisztereknek hvjuk. A lptet regiszterekkel megtehetjk, hogy a szmjegyeket egyetlen kimeneten, sorra egyms utn olvassuk ki (az rajel temben). Ezt soros kiolvassnak nevezzk. Lteznek soros bers lptet regiszterek is, ezeket egyetlen bemeneten tlthetjk fel a szmjegyekkel. A 79. bra egy univerzlis lptet regisztert mutat: a szmot tetszs szerint sorosan s prhuzamosan is be tudjuk rni, illetve ki tudjuk olvasni. Mkdse a kvetkez:

Ha az s/p (soros/prhuzamos) bemeneten 1-et lltunk be, akkor az rajel felfut lre a prhuzamos bemenetekrl tltdnek be a flipflopokba az adatok (mert a multiplexerek az als adatbemenetket ktik ssze a kimenetkkel). Ilyenkor a prhuzamos kimeneteken azonnal ki is olvashatjuk a szmot.

Az s/p 0-ra lltsval a multiplexerek az egymst kvet trolk ki- s bemeneteit ktik ssze, gy az rajel felfut lekor az els flip-flopban trolt szmjegy tkerl a msodikba, a msodikban lev a harmadikba, vagyis jobbra lptetjk a szmot. Tbbszri rajel-temre a szmjegyek sorra kipotyognak a soros kimenet-en, de kzben ugyangy jabb szmjegyeket olvasunk be a soros bemenet-en. A

89

sorosan beolvasott szmot termszetesen brmikor prhuzamosan is kiolvashatjuk.

79. bra

90

5. Memrik

Mg a D flip-flop egyetlen bit, egy regiszter pedig egyetlen binris szm trolsra alkalmas, addig a memrikban mr tbb ilyen szmot is megrizhetnk. Az adatokat szmozott rekeszekben troljuk (80. bra). Egy adott rekesz tartalmt gy tudjuk kiolvasni, hogy a cmbemenetekre (Address pins) adjuk annak sorszmt (termszetesen binris formban), mire az adatkimeneteken (DATA pins) az n. hozzfrsi id elteltvel megjelenik a rekeszben trolt szm.

80. bra

Az egy rekeszben trolhat bitek szma adja a memria szhosszsgt. A memria kapacitsa a trolhat szavak szmt jelli. Ha n darab cmvezetknk van, a memria 2 n rekeszt tartalmaz. A trols jellege alapjn ktfle tpust klnbztetnk meg:

ROM (Read Only Memory), csak olvashat memria: ezeket az eszkzket a memrit tartalmaz rendszer fejlesztse sorn tltjk fel adatokkal, a rendszer mkdtetsnl mr csak olvasunk bellk. A bert adatok az ramellts megsznse utn is megmaradnak (nemillan memrik), akr vekig is. A bershoz sokszor kln erre a clra hasznlatos (n. getramkrket) hasznlunk. Vannak ROM-ok, amelyek csak egyszer rhatk, jrarsukra nincs lehetsg (OTP: One Time Programmable devices). Az OTP ramkrket nagy sorozatban gyrtott eszkzkben alkalmazzk, 91 miutn teljesen lezrult a

rendszerfejleszts folyamata. Az EPROM-ok a bers utn a chip tetejre irnyul UV fnnyel kitrlhetk, s jra felhasznlhatk. Az EEPROM-ok elektromosan rhatk s trlhetk is. Az jrarhatsg a prototpusok fejlesztsnl elengedhetetlen. Az EEPROM-ok egyik fajtja a manapsg divatos FLASH memria, amely technolgiai jellemzi szerint ROM, m alkalmazst tekintve inkbb mr a kvetkez kategriba sorolhat:

RWM (Read-Write Memory), rhat-olvashat memrik: ezeknek a tpusoknak tetszs szerint rhatjuk s olvashatjuk brmelyik rekeszt. Kikapcsols utn az adatok elvesznek, ezrt illan memriknak is hvjuk ket. Az adatvezetkeik ktirnyak: ki- s bemenetek is egyben. A bers folyamatt ltalban egy
WE

(Write Enable)

bemenettel vezreljk: gyakorlatilag evvel dntjk el, hogy rni vagy olvasni akarjuk a cmbemeneteken kivlasztott rekesz tartalmt. Ktfle technolgival ksztenek ilyen eszkzket: a statikus memrikban sok-sok flip-flop trolja az adatokat. A dinamikus memrik apr, mtrix-alakban elhelyezett kondenztorok segtsgvel raktrozzk el a biteket. Ha egy kondenztor fel van tltve, az adott bit 1-es, egybknt 0. Mivel ezek a kondenztorok nagyon kicsik, gyakran ki kell olvasni ket, majd ugyanazt az adatot visszarni (frissteni), klnben elszivrognak a tltsek, s elveszik a trolt informci. A korszer dinamikus memrik egy specilis ramkrt is tartalmaznak, amely idrl idre automatikusan elvgzi a frisstst. A ROM-ok ellenprjaknt a kztudatban nem a RWM, hanem a RAM (Random Access Memory), vletlen hozzfrs memria szerepel. A valsgban azonban egy RAM is lehet ROM: a rvidts ugyanis azt takarja, hogy a memria hozzfrsi ideje lland, brmelyik, vletlenszeren kivlasztott rekeszt is olvassuk. Ezzel szemben a SAM (Serial Access Memory), soros hozzfrs memria legutols rekeszhez csak az sszes eltte ll adat kiolvassa utn frhetnk hozz. Az eddigiekben csak a hely szerint cmzett memrikrl ejtettnk szt, ahol a kvnt adatot a cme alapjn vlasztottuk ki. Ritkn, de tallkozhatunk mg tartalom szerint cmzett (asszociatv) memrikkal is, amelyek a trolt 92

informci egy rsze alapjn vlasztjk ki a megfelel adatot (az informci egy rszrl asszocilnak az egszre).

93

5.1 Kombincis hlzatok megvalstsa programozhat logikai elemek felhasznlsval

Vessnk jra egy pillantst a kombincis hlzatokra! Egy adott bemeneti kombincira az igazsgtbla ugyanazon sorban feltntetett kimeneti kombinci a vlasz. Beadunk egy szmot, mire egy msik szmot vrunk a kimeneteken. Ha jl belegondolunk, a memrik feladata is teljesen ugyanez: minden egyes cm bevitelekor egy elzleg betlttt adat jelenik meg. Vagyis ha egy memrit egy vele azonos szm be- s kimenettel rendelkez kombincis hlzat igazsgtblja szerint tltnk fel, akkor ez a memria helyettestheti a kombincis hlzatot (81. bra).

81. bra

A memriaelemmel trtn megvalsts elnyei:

knnyen tprogramozhat, gy a fejlesztsi szakaszban nem kell jraptennk egy apr vltoztatsnl az egsz ramkrt, nem ignyel fggvny-egyszerstst, nem fordulhat el benne statikus s dinamikus hazrd (br itt is van funkcionlis hazrd, amit szinkronizcival szntethetnk meg).

A megoldsnak htrnyai is vannak:

94

Egy memria-ramkr sokkal lassabb, mint a logikai kapukbl sszelltott kombincis hlzat, specilis idztsi felttelekkel fogadhat csak jeleket (pl. a cmnek bizonyos ideig stabilnak kell lennie, hogy ellljon a kimenet), mg a fggvny-egyszerstssel kapott megolds esetleg csak nhny kapubl llna, a memriba a teljes igazsgtblzatot be kell programozni: n darab bemenethez mindenkpp be kell szereznnk egy 2n kapacits memrit,

ezen kvl a memriaelem a legtbb esetben drgbb is.

A kt vltozat elnyeit egyesti a programozhat logikai eszkzkkel trtn megvalsts. Ezek tulajdonkppen olyan elre kialaktott kombincis hlzatok, amelyeknek az sszekttetseit programozhatjuk. Angol elnevezsk az FPLA (Field Programmable Logic Array). PLA-nak hvjk a gyrban elre beprogramozott (a felhasznl ltal nem vltoztathat) eszkzket. A memrikhoz hasonlan EPROM, EEPROM tpus FPLA-k is kaphatk. A 82. bra egy FPLA ramkr bels elrendezst mutatja. A rajzban a sok prhuzamos vezetk eltntetse vgett egyszerstett jellseket alkalmaztunk: a kapuk bemeneteit egyetlen szimbolikus vezetkkel jelltk, amelyre tbb vltozt is ktttnk. Ez a valsgban tbb bemenetet jell, mindegyiken egy-egy vltozval (ld. az bra magyarz rszt). A kis krk mutatjk az sszekttetsek helyt: ezeket mi hatrozhatjuk meg, tetszleges diszjunktv alak fggvnyeket ltrehozva.

95

82. bra

Az FPLA-knl mind az S-mtrix, mind a VAGY-mtrix a felhasznl ltal programozhat. Lteznek olyan egyszerbb ramkrk is, amelyeknl csak az S-mtrix vltoztathat, a VAGY-mtrixot a gyrts sorn rgztettk. Az ilyen eszkzket PAL-nak (Programmable Array Logic) nevezzk. Elterjedsk oka, hogy olcsbb berendezsekkel programozhatk, mint az FPLA-k. Felhasznlsuk sorn katalgusbl kell kivlasztanunk a neknk megfelel VAGY-mtrix ramkrt. Az FPLA-k elnyei:

A memria-ramkrkhz hasonlan knnyen tprogramozhatk, annyi programozott sszekttets is elegend az esetkben, amennyivel az egyszerstett fggvnyt el tudjuk lltani (mg a memriknl az sszes varicit be kellett programozni),

gyorsabbak, mint a memria-ramkrk (hiszen egyszer kombincis hlzatok). 96

Htrnyaik:

A kombincis hlzathoz hasonlan egyszerstst ignyelnek, nem mentesek a hazrdoktl.

97

6. A mikroprocesszoros rendszerek alapjai

Tekintsk t az eddig tanultakat! Elszr is definiltuk a digitlis jel illetve rendszer fogalmt. Megismertk a logikai az ilyen elven majd mkd ezekbl hlzatok matematikai emlkez alapjait, kapukat, a kombincis Rviden hlzatok

hlzatokat terveztnk. Visszacsatoltunk nhny kimenetet, s ezzel mris ramkrkhz jutottunk: sorrendi a hlzatokhoz. kombincis sszefoglaltuk a memrik mkdst, vgl megnztk azt, hogyan lehet programozhat eszkzket felhasznlni tervezsnl. A kvetkezkben a megkezdett ton haladunk tovbb: a mr megismert elemekbl egy olyan egyszer automatt ptnk, amely nmi jindulattal mr szmtgpnek nevezhet, s megtudhatjuk, hogy milyen fejlesztsi lpsek megttele utn lesz belle valdi mikroprocesszor. Az elz fejezetben lthattuk, hogy a kombincis hlzatok megvalsthatk memria-ramkrkkel is. Folytassuk a gondolatmenetet: mivel a sorrendi hlzatok is a kombincis hlzatok alapjaira ptkeznek, bennk is hasznlhatunk memrikat (83. bra). Ezzel programozhat szekvencilis hlzatokhoz jutunk.

83. bra

Vegyk pldul a J-K trolt! A logikai kapcsolsi vzlatt mr ismerjk: a benne szerepl kombincis hlzatot kell memrira cserlnnk (84. bra). Br a gigabyte-ok korszakban furcsnak tnhet, de lteznek 8 szavas 1 bit szhosszsg memrik is.

98

84. bra

Tudjuk, hogy a trol llapottblja s a kombincis hlzatnak Karnaugh-tblja megegyezik (ld. a 4.4.3. fejezetet). Ha ezt visszaalaktjuk igazsgtblv, azokat az adatokat kapjuk, amelyeket a memriba kell tlteni:

85. bra

A tbla egyetlen sora azt adja meg, hogy a flip-flop egy bizonyos llapotbl (y) adott bemeneti kombinci (J, K) hatsra mely llapotba ugorjon (Y). Br a tblzat csak nyolc soros, az utlagos ellenrzs vagy hibakeress nagy koncentrcit ignyel, annak ellenre, hogy a J-K trol a legegyszerbb, elemi sorrendi hlzatok egyike. A problma az, hogy a szekvencilis hlzatok llapottere (-grfja) tl bonyolult. Ahhoz, hogy hatkonyan programozhat automatkat tervezhessnk, a kvetkez szigortst kell tennnk: brmely i-ik llapotbl csak 2 irnyba ugorhassunk tovbb: ha egy bizonyos felttel teljesl, akkor az i+1-ik llapotba, ha nem teljesl, akkor egy ltalunk vlasztott k llapotba (86. bra). A felttel a

99

bemenetek valamely kombincijt vagy kombinciit jelentheti (pl. ha x1=0 s x2=1, akkor a felttel igaz: f = x1 x 2 ).

86. bra

Ksztsnk egy olyan egyszer rendszert, amelyik gy mkdik! A 87. brn egy szmllt s egy memrit ktttnk sorba. A szmll modulo 8-as, teht 0-tl 7-ig szmll. Szinkron LOAD bemenetekkel is rendelkezik: ha az rajel felfut lnl az L / C vezrlbemeneten 1-est tall, akkor a LOAD bemenetekrl betlti az ott lv szmot. Ha 0-t, akkor eggyel tovbbszmol. A memria 8 szavas, 4 bit szhosszsggal. A D0 adatkimenet legyen az automatnk Z kimenete. A szmll kimenetei a memria cmbemeneteire vannak ktve: gy mindig az a sorszm rekesz van kivlasztva, amelyik szmon a szmll ppen ll.

87. bra

100

Definiljuk gy a rendszert, hogy az automata mindig abban az llapotban van, amelyik szmnl a szmll tart. Az i-ik llapotban a szmll a memria i-ik rekeszt jelli ki, ennek a rekesznek a tartalma jelenik meg a memria kimenetein. Ha a felttel igaz, vagyis 1-es (ekkor az L / C bemenetre a negci miatt 0 kerl), a szmll az rajel temben szmol, az automata rendre az eggyel nagyobb sorszm llapotokba ugrik. Amennyiben az i-ik llapotban vagyunk, s az rajel felfut lekor hamis a felttel (f=0), a LOAD bemenetek aktivldnak: a memria i-ik rekesznek fels 3 bitje ezeken keresztl visszatltdik a szmllba. Az automata teht az i-ikbl olyan llapotba ugrik, amilyen szmot az i-ik rekesz D3D1 bitjeibe programoztunk (egy binris szm formjban). Ezek alapjn az automata programozsa a kvetkez mdon trtnik:

Az i-ik rekesz legals (0-ik) bitjbe berjuk azt, hogy mi jelenjen meg a kimeneten az i-ik llapotban, az i-ik rekesz fels hrom bitjbe (D3D1) annak az llapotnak a sorszmt rjuk, amelybe ugrani akarunk, hogyha nem teljesl az f felttel.

Erre a 88. brn lthatunk egy pldarszletet:

88. bra

101

Most fejlesszk tovbb a rendszernket gy, hogy eldnthessk: egy adott llapotban meg akarjuk vizsglni a felttelt vagy sem. Az eredmny a 89. brn lthat. A memria szhossza immr 5 bites. A legfels adatbitnek s az f felttel negltjnak S kapcsolatt vezetjk az L / C bemenetre. Ez arra val, hogyha egy adott llapotban D4=0, akkor az f felttel semmikppen sem juthat t az S kapun, nem llthatja le a szmllst, vagyis mindenkpp a kvetkez llapotba ugrunk.

89. bra

Az automata programozsa teht a kvetkezkpp zajlik:

Az i-ik rekesz legals (0-ik) bitjbe berjuk azt, hogy mi jelenjen meg a kimeneten az i-ik llapotban (Z-vel jellve a 90. brn), az i-ik rekesz legfels (4-ik) bitjbe 0-t runk, ha az i-ik llapotban nem akarjuk megvizsglni a felttelt, 1-et pedig akkor, ha meg akarjuk vizsglni (m az brn),

az i-ik rekesz D3D1 bitjeibe annak az llapotnak a sorszmt rjuk, amelybe ugrani akarunk, ha a vizsglat sorn nem teljesl az f felttel (k az brn).

102

90. bra

Rendszernk mkdst egy kicsit ms szemszgbl is nzhetjk. Azt is mondhatjuk, hogy a memriba egy programot tltttnk: minden egyes rekeszben egy-egy utasts van. A berendezs elindul a 0-ik programsorrl, s egyms utn vgrehajtja az utastsokat (lefuttatja a programot). A gpnk ktfle utastst ismer:

ha m=0, akkor arra utastjuk, hogy egyszeren rjon ki egy szmot a Z kimenetre (kir utasts). A program vgrehajtsa ilyenkor a kvetkez programsorrl folytatdik.

Ha m=1, vizsglja meg az f felttelt, s az eredmnytl fggen a kvetkez, vagy a k-ik sorszm programsorra ugorjon. Z kirsa ekkor is megtrtnik (feltteles ugr utasts kirssal).

Gyakorlatilag

egy

primitv

szmtgpet

alkottunk,

amely

mg

programciklusok kezelsre is kpes! Nem kell lebecslnnk a mvnket, a modern szmtgpek programjai is tbb-kevsb a most megismert formjak:

A programok utastsokbl llnak, amelyeket szekvencilisan hajt vgre a szmtgp. Az utastsok kt f rszbl tevdnek ssze: a mveleti kdbl s az operandusokbl. A mveleti kd mondja meg konkrtan, hogy mit vgezzen a gp. Ez esetnkben az m-el jellt bit. A komolyabb rendszerek persze tbbfle utastst ismernek: n bites mveleti kd esetn az utastsok lehetsges szma 2n. Minden mveleti kdhoz tartozhat egy vagy tbb operandus is: ezek az utasts elvgzshez szksges adatok. A mi szmtgpnk feltteles ugr s kir utastsnak kt operandusa van: k, amely ugrs esetn megadja a kvetkez utasts cmt, s Z, amely a kimenetre rt adatot tartalmazza. A sima kir utasts egyetlen operandussal rendelkezik:

103

Z-vel. Ilyenkor is ki kell tltennk a k-val jellt biteket, de tartalmuk lnyegtelen, nem tekinthetk operandusnak. A szmtgpnket knnyedn tovbbfejleszthetnnk, hogy mondjuk ngy utastst ismerjen. A mveleti kd rszre kt bitet kellene elklntennk, amelyeket tetszlegesen felhasznlhatnnk: az egyiket akr kzvetlenl sszekthetnnk egy csengvel, gy a gp csenget utasts-sal is rendelkezne. Utasthatnnk a gpnket a kimeneten val mveletvgzsre is: Z mg egy logikai kaput illeszthetnnk, amely megfelel mveleti kd esetn negln azt. Nagyobb kapacits memria beszerzsvel hosszabb programot rhatnnk, s a kimenetek illetve a rajtuk elvgezhet mveletek szmt is nvelhetnnk. Szmtgpnk bvtst a vgtelensgig folytathatnnk. rjuk fl inkbb most szerzett tapasztalataink alapjn egy ltalnos tbbutastsos rendszer vzlatt! Az eszkz kt rszbl ll: a memribl s a vezrl egysgbl (91. bra). Mint ltjuk, a vezrl egysgbe rkeznek a bemenetek. Szndkosan nem felttelek-et rtunk, mint az elz rendszernl, mert a felttelek a bemenetek tovbbi feldolgozsval, csoportostsval llnak el. Az ltalnostott rendszerben a kimenetek is a vezrl egysgen keresztl tvoznak, nem kzvetlenl a memribl, gy lehetsgnk van az elz bekezdsben emltett utlagos feldolgozsukra. Az ltalunk ksztett egyszer rendszer vezrl egysge a szmlln kvl egyetlen S kapu volt.

91. bra

104

A rendszer hatkonysga nagy mrtkben nvelhet, ha a kimenetek egy rszt egy adatmemriban trolni tudjuk, s a bemenetre visszacsatolva a ksbbiekben fl tudjuk hasznlni (92. bra). A programmemria tpusa ROM, hiszen innen az elzleg betlttt programot olvassuk a futtats kzben. Az adatmemria RWM, mert a f feladata az ideiglenes adattrols: egyetlen rekesz tartalma akr tbbszr is megvltozhat a mkds sorn. Tovbb nvelhetjk a hatkonysgot, ha a srn hasznlt aritmetikai s logikai funkcik elltst kln erre a feladatra tervezett egysgre bzzuk (ALU=Aritmetic Logic Unit ). A vezrlsi, aritmetikai s logikai, illetve egyb feldolgozsi mveleteket elvgz kzponti egysget CPU-nak (Central Processing Unit, kzponti feldolgoz egysg) hvjuk.

92. bra

A kln adat- s programmemrival rendelkez szmtgpek a Harvard architektra szerint plnek fel. A Harvard architektra elnye az, hogy az adatok memriba rsval vagy olvassval egy idben mr be is tlthetjk a kvetkez utastst a programmemribl, felgyorstva a rendszer mkdst. Neumann Jnos, a modern szmtgpek szlatyja a kvetkez tletet vetette fel: legyen az adat- s programmemria egyben, ezzel 105

egyszersdik

struktra,

program

sajt

magn

is

kpes

vltoztatsokat eszkzlni (Neumann-architektra, 93. bra). Manapsg mindkt megolds hasznlatos.

93. bra

A be- s kimeneti jelek megfelel elektronikai illesztsre (gy a CPU elektronikai vdelmre), valamint a berkez adatok ideiglenes trolsra clszer be- s kimeneti egysgeket (I/O: Input/Output devices) alkalmazni (94. bra).

106

94. bra

Ha a be- s kimeneti egysghez klnbz perifrikat (megjelent, adatbeviteli s egyb berendezseket) csatolunk, ahhoz az eszkzhz jutunk, amelyet a mindennapokban szmtgpnek hvunk. A szmtgp kzponti vezrlegysgt mikroprocesszornak vagy mikrovezrlnek nevezzk. A mikroprocesszor kezdetben nem volt ms, mint az a chip, amely a CPU-t tartalmazta. A mai mikrovezrlkbe sokszor korltozott kapacits programs adatmemrit, valamint I/O s ms egysgeket is integrlnak, aszerint, hogy milyen clra terveztk ket. Az asztalunk alatt zmmg szmtgpek csak egy kis szelett jelentik a mikroprocesszoros rendszereknek. Napjainkban a riasztrendszerektl a mosgpeken t az autkig mindentt szmtgpekkel tallkozunk: ezek tervezi szmtalan, kisebb-nagyobb tuds mikrovezrl kzl vlogathatnak, st akr blyeg nagysg komplett szmtgpek is a rendelkezskre llnak.

107

6.1 A mikroprocesszoros rendszerek fbb egysgeinek feladatai

A 94. brn bemutatott struktra ismeretben sszegezzk a hrom f modul mkdst s feladatait! Kezdjk a legutbb trgyalttal: az I/O egysggel, majd a memrit s a CPU-t vegyk sorra.

6.1.1 Be- s kimeneti egysg

A korszer be- s kimeneti egysgek sokfle, az adatok fogadsval s tovbbtsval, valamint elzetes feldolgozsval s trolsval kapcsolatos feladatot elltnak:

A be- s kimeneti jelek megfelel feszltsg- s ramszintjeit biztostjk a krnyezet fel, az esetleges idztsi, temezsi feltteleknek megfelelen.

Tbbfle

kommunikcis

protokollt

ismernek.

digitlis

adattvitelben rengeteg szably van, amelyek az adatok biztonsgos, ellenrizhet tvitelt segtik el. Szabvnyos adattviteli protokollok hasznlatval megknnythetjk szmtgpnk s msok ltal gyrtott eszkzk sszekapcsoldst.

A be- s kiviteli egysgek ltalban egyszerre tbb eszkzzel tarthatnak kapcsolatot: ezek mindegyike egy-egy kapuhoz, vagyis a klvilg szmra rhat s/vagy olvashat regiszterhez csatlakozik. Ezekben a regiszterekben trolhatjuk a berkez illetve kimen jeleket, amg a CPU vagy a szmtgpnkhz csatolt kls eszkz ki nem olvassa, fel nem dolgozza azokat. A kapuk ltalban a memriarekeszekhez hasonlan egyedi cmmel rendelkeznek, rsuk s olvassuk a memriaelemekhez hasonl.

Nagyszm regiszter vagy memria alkalmazsval lehetsg nylik a folyamatosan berkez adatok tmbszer trolsra az I/O egysgen bell, gy a CPU-nak nem kell llandan a kimenetekre figyelnie. Ezt a folyamatot pufferelsnek hvjuk. 108

6.1.2 Memria

A memrik utastsokat s/vagy adatokat trolnak. Az utastsok egyms utn hajtdnak vgre, ily mdon programot (software) alkotnak. Az utastsok mveleti kd rsze megadja, hogy mit vgezzen el a CPU (adjon ssze kt szmot, rjon be vagy olvasson ki a memribl egy bizonyos adatot, stb.). A mveleti kdot az operandusok kvetik. Az operandusok azok az adatok, amelyek a mveletek vgrehajtshoz kellenek. Ezek lehetnek szmok, amelyeket ssze akarunk adni, vagy memriacmek: velk azokat a rekeszeket jellhetjk ki, ahol az sszeadand szmokat talljuk. A klnbz utastsokhoz vltoz szm operandus tartozhat. A mveleti kd s a hozz tartoz operandusok vagy ugyanabban a memriarekeszben foglalnak helyet (ekkor nagyobb szhosszsg memrira van szksgnk), vagy egyms utni memriarekeszekben (ekkor nagyobb kapacits memria kell).

6.1.3 CPU

A CPU kt f rszbl ll: a vezrlegysgbl (CU=Controll Unit), ez dolgozza fel a memribl rkez utastsokat, s vezrli ezeknek megfelelen a szmtgp klnbz rszeit, valamint az ALU-bl, amely az aritmetikai s logikai mveleteket vgzi. Az ALU mellett minden esetben feltnik egy n. akkumultor-regiszter is (esetleg valamilyen ms nven, pl. work-regiszter). Az akku szerepe a memriban trolt operandusok szmnak cskkentse s az aritmetikai, logikai mveletek vgrehajtsnak egyszerstse. Vegyk pldul az sszeadst: ennek az utastsnak hrom operandusra van szksge: kt szmra, amelyeket sszead, tovbb egy memriacmre, ahova az eredmny kerl. Elvben teht az sszead utastst hrom operandusnak kellene kvetnie a memriban, amelyeket a vezrl egysg hrom memriahozzfrsi ciklussal s ideiglenes adattrolssal vagyis meglehetsen 109

bonyolult mdon dolgozna fel. Ennek elkerlsre gyakorlatilag valamennyi mikrovezrl esetn, az sszes aritmetikai s logikai utastshoz hasonlan az albbi mdszert kell kvetni: 1. Az egyik sszeadand szmot elzleg be kell tlteni az akkumultorregiszterbe (erre egy kln utasts val). 2. Az sszead utastst egyetlen operandus kveti a memriban: a msik sszeadand szm. Az ALU az utasts vgrehajtsakor ezt a szmot s az akkuban talltat adja ssze. 3. Az eredmny az akkumultor-regiszterbe kerl: ha szksgnk van r, innen kell kiolvasnunk (egy jabb utastssal). A CPU-ban tbb olyan regiszter is tallhat, amelyek az akkuhoz hasonlan specilis feladatokat ltnak el (nhnnyal a ksbbiekben megismerkednk). A specilis cl regiszterek mellett ltalnos cl regisztereket is tallhatunk: ezeket mivel rsuk s olvassuk sokkal gyorsabb a memriknl - az adatok gyors, ideiglenes trolsra hasznlhatja a programoz. A regiszterek tbbnyire tmbstve, n. regisztertrakban helyezkednek el. A CPU a hozz csatlakoztatott memriaegysgekkel, be- s kimeneti egysgekkel, regisztertrakkal cm- adat- illetve vezrlsneken keresztl tart kapcsolatot. Ezek gyakorlatilag tbb prhuzamos vezetket jelentenek, melyeken az adatok, a memrik egyes rekeszeit kivlaszt cmek, s egyb vezrljelek utaznak. A sneken rendszerint tbb eszkz osztozik, de egyszerre csak egy hasznlhatja ket: ezt a kzponti egysg vlasztja ki az ppen vgrehajtott folyamatnak megfelelen. A 95. brn egy egyszer CPU bels felptst s kapcsolatait lthatjuk. A processzor egy 8 bites memrihoz csatlakozik, amely a programok s az adatok trolst is vgzi (Neumann-architektra). A CPU 256 utastst ismer, a mveleti kd gy 8 bites, kitlti a memria szhosszt. Az operandusok is 8 bitesek, s sorra a mveleti kd utni memriarekeszekben helyezkednek el. A folyamatos vonallal hzott nyilak cm- s adatutakat jellnek, mg a vezrljelek a szaggatottan jellt utakon haladnak. szrevehet, hogy a vezrljelek mindig az utasts dekdol s vgrehajt egysgbl indulnak ki: ez az egysg irnytja, temezi az sszes tbbi mkdst. Nmileg leegyszerstve annyit csinl, hogy az adatokat 110

vagy cmeket a megfelel tvonalon vezeti vgig, hogy a kvnt helyre eljussanak, majd ha szksges, beindtja az ALU valamelyik mveletvgz ramkrt.

95. bra

A CU (Central Unit) az utasts dekdol s vgrehajt egysgen kvl mg nhny specilis cl regisztert tartalmaz:

PC, Program Counter Register, programszmll regiszter: mindig a kvetkez utasts cmt tartalmazza, innen tudja a CPU, hogy ppen hol tart a program. Minden utastsvgrehajts sorn egyel n az rtke.

IR, Instruction Register, utasts regiszter: ide rkeznek meg egyms utn a mveleti kd s az operandusok a memribl, hogy az utastsvgrehajt s dekdol egysg kiolvassa s feldolgozza ket. Ugrs esetn innen kerl a kvetkez utasts cme a PC-be, memrarskor illetve -olvasskor ebbl a regiszterbl jut el a kvnt cm a memrihoz (az MA regiszteren keresztl). 111

MA: Memory Address Register, memria cmregiszter: az MA s MD regiszterek tartjk a kzvetlen kapcsolatot a memrival. Az MA-bl jut a memria bemeneteire a kivlasztott rekesz cme (adatrs, -olvass, utastsbeolvass esetn).

MD: Memory Data Register, memria adatregiszter: a memribl kiolvasott adat kzvetlenl ide kerl, illetve a memriba innen tltjk az adatokat.

Most nzzk, hogyan hajtja vgre ez a CPU azt az utastst, amikor egy adott szmot runk az akkumultor regiszterbe. Ennek az utastsnak egyetlen operandusa van: a berand szm. Az utasts gy kt memriahelyet foglal: egyet a mveleti kd, az utna levt pedig az operandus. Onnan induljunk el, hogy a CPU mr befejezte az elz utasts vgrehajtst, a programszmll regiszter az ltalunk vizsglt utasts cmt tartalmazza. 1. lps: A PC-bl az MA-n keresztl a memria bemeneteire jut az utasts cme (1-el jellve a 96. brn). Amint a memria adatvezetkein megjelenik a rekesz tartalma (vagyis a mveleti kd), az MD-n keresztl az IR-be kerl (2). 2. lps: A PC rtke eggyel n (gy az operandus cmre mutat). 3. lps: Az utasts dekdol s vgrehajt egysg beolvassa a mveleti kdot (3), s rtelmezi azt. 4. lps: Az operandus cme a PC-bl a memria bemeneteire jut (4), majd a szm az MD-n keresztl az akkuba (5). 5. lps: A PC rtke megint eggyel n, vagyis a kvetkez utastsra mutat: elkezddhet annak a vgrehajtsa.

112

96. bra

113

6.2 A gpi kd programozsrl

A binris formban lert, kzvetlenl a memriba tlthet utastssor a gpi kd program. Minden egyes mveleti kd egy bitsorozat, amelyet a CPU rtelmezni tud (pl. egy 00110010 kd arra utasthatja, hogy adjon ssze kt szmot, a 00110011 pedig kivonst jelent). Termszetesen az operandusok vagy azok cmei is binrisan vannak trolva a memriban. Ez a forma a programoz szempontjbl tlthatatlan, ezrt a program rsakor a mveleti kdokat szavakkal (mnemonikokkal) helyettestjk. Pldul az ADD A,5D INC A utastssor azt jelenti (egy bizonyos fajtj processzornl), hogy adja ssze az 5 decimlis szmot az akkumultor tartalmval, majd inkrementlja (nvelje 1-el) az akkumultorban trolt eredmnyt. Az ilyen formban lert program az assembly program. Az Assembly programot egy egyszer fordtprogram (az assembler) egyszer behelyettestsekkel gpi kdv alaktja, amely mr a memriba tlthet. A mikrovezrlk ltalban nem tl sok utastst ismernek. A gpi kd programban nem tallhatjuk meg mg az olyan, magas szint nyelvekben megszokott struktrkat sem, mint a ciklusok vagy fggvnyek. Az assembly programozs nagy odafigyelst s trelmet kvn: egyszer, elemi utastsokbl kell bonyolult programot rni, mintha LEGO kockkbl prblnnk sszerakni az orszghzat. Az alapvet gpi kd utastsok a kvetkezk:

binris aritmetikai utastsok (sszeads, kivons, stb.), logikai mveletek (AND, OR, stb.), regisztermveletek dekrementls), bitmveletek (egyetlen bit belltsa valamely memriarekeszben vagy regiszterben), adattviteli utastsok (a memria s a regiszterek, illetve az I/O egysg kztt), 114 (jobbra-balra lptets, inkrementls,

feltteles illetve felttel nlkli ugr utastsok.

Ebbl kell teht gazdlkodnunk. Tudnunk kell, hogy a gpi kd hasznlatt nem kerlhetjk ki: mivel a processzorok csak ezt tudjk feldolgozni, a magas szint nyelveken megrt programokat a fordtk (tbb lpsen keresztl) gpi kdra alaktjk. Mivel az assembly programozssal kln tantrgy foglalkozik, jegyzetnkben nem trgyaljuk rszletesebben.

6.3 Vratlan esemnyek kezelse

A program futsa sorn elfordulhatnak olyan vratlan esemnyek, melyek hatsra a processzornak meg kell szaktania a feladat vgrehajtst s az jonnan kialakult helyzettel kell foglalkoznia. A vratlan esemny kivltja lehet:

maga a program: pldul 0-val val oszts esetn, vagy ha egy memriarekeszbe vagy regiszterbe tl nagy szmot akarunk tlteni (tlcsorduls). A software-es vratlan esemnyek elnevezse: exception (kivtel).

Vratlan

esemnyt

okozhat

valamelyik

hardware

elem

is:

szmtgpnkhz kapcsolt perifrik egyike egy elre definilt mdon (pl. egy kln erre a clra fenntartott bemeneten) jelzi, hogy meg akarja szaktani a program futst, mert fontosabb kzlendje akadt (pl. adatot helyezett a bemeneti kapura, amelynek nem szabad elvesznie). A hardware-es vratlan esemnyeket interruptnak (megszaktsnak) nevezzk. Az esemny bekvetkezsi helyt tekintve kt tpust klnbztethetnk meg:

Szinkron vratlan esemnyek azok, amelyek a program futsa szempontjbl jl meghatrozhat helyen kvetkezhetnek be. (Nem biztos, hogy bekvetkeznek, ezrt vratlanok.) Ilyen pl. a nullval val oszts, s a tbbi software-es esemny.

115

Aszinkron vratlan esemnyek: a program futsa szempontjbl elre kiszmthatatlan helyen kvetkeznek be. A hardware-es esemnyek tartoznak ide.

A vratlan esemnyekre a programoznak fel kell kszlnie: minden lehetsges megszaktsra egy-egy programocskt, szubrutint kell rnia, amely annak bekvetkezsre reagl. (A kivtelek kezelst csak a bonyolultabb mikroprocesszorok tmogatjk. Legegyszerbben gy vdekezhetnk ellenk, ha hibtlan programot runk.) Vegynk pldul egy pletriasztrendszert. A vezrl szmtgp egy nmagba visszatr ciklust futtat: vrakozik. Egy mozgsrzkel megszakthatja ezt a folyamatot: ekkor elindt egy programrutint, amely elszr is megnzi, hogy lestve van-e a rendszer, s ha igen, riasztst kld a kzpontnak. Az pletbe belpk szemlyi kdjukat egy szmbillentyzetbe rjk: ez is megszaktst idz el, de itt mr egy msik program kezd futni, amely pldul kinyit egy elektromos ajtt. A vratlan esemnyeket gy kell feldolgozni, hogy a megszaktott program ne vegye szre, hogy futsa kzben brmi is trtnt. Ezt egy specilis memriastruktra: a verem, ms nven stack hasznlatval lehet elrni. A verem elnevezse jl tkrzi a mkdst: ez ugyanis egy olyan memriatartomny, amelybe gy lehet adatokat elhelyezni, hogy mindig csak azt az adatot tudjuk kiolvasni belle, amelyik legfll van (97. bra). Egy program vgrehajtsa kzben a kvetkezkpp lehet egy msik programot feltnsmentesen lefuttatni: 1. lps: A processzor befejezi az aktulisan vgrehajtott utastst. 2. lps: A programszmll s a regiszterek tartalmt a veremben trolja. 3. lps: Futtatja a megszaktst kiszolgl szubrutint (amely szabadon dolgozhat a regiszterekkel). 4. lps: Visszatlti a verembl a programszmll s a regiszterek tartalmt, gy az eredetileg fut program nem vehet szre semmit. 5. lps: Megszakts esetn a program vgrehajtst a kvetkez utaststl folytatja. Ha kivtel trtnt, azt maga a program, vagyis a legutbb vgrehajtott utasts 116 okozta. ppen ezrt, miutn a

szubrutinnal megprbltuk kijavtani a hibt, a processzor jra megksrli vgrehajtani a hibt okoz utastst. Ha ez most sem sikerl, vgzetes kivtellel llunk szemben, a program terminldik.

97. bra

A verem hasznlata azt is lehetv teszi, hogy egy megszaktst kiszolgl szubrutin futst egy nla fontosabb esemny megszaktsa (98. bra). Az eredetileg fut program regiszterkrnyezett megszaktskor a verembe tltjk. Amikor a kiszolgl rutin (A) futst is megszaktjuk, a regiszterek aktulis tartalmt a verem tetejre helyezzk. A msodik (B) rutin befejeztekor az els (A) krnyezett lltjuk helyre azzal, hogy a verem tetejrl visszatltjk a regiszterek tartalmt. Miutn ez a rutin is lefutott, a fprogram regiszterkrnyezett lltjuk helyre.

117

98. bra

A CPU nem felttlenl hajtja vgre a megszaktsokat. A perifrik elszr megszaktsi krelmet kldenek a CPU-nak. A CPU dnt arrl, hogy ezt elfogadja vagy sem, s csak ha elfogadta, akkor ugrik a kiszolgl rutinra. A krelem elfogadsa tbbfle tnyeztl fgg:

Letilthat-e a megszakts? A maszkolhat megszaktsok egy erre a clra fenntartott regiszter egy-egy bitjnek belltsval tilthatk vagy engedlyezhetk. A nem maszkolhat megszaktsok kiszolglst nem lehet megtiltani.

Ha

ppen

egy Ez a

megszakts krds gy

kiszolglsa oldhat

kzben meg, hogy

vagyunk, minden

engedlyezzk-e, hogy egy msik vratlan esemny megszaktsa a folyamatot? megszaktshoz egy szmot rendelnk, amely megadja a fontossgt, vagyis a proiritst. A nagyobb priorits esemny megszakthatja a kisebbet, de fordtva ez nem kvetkezhet be. A prioritsi sorrend brmikor, akr ideiglenes is jradefinilhat.

Mi trtnjen egyszerre bekvetkez megszaktskrelmek esetn? A kiszolgls sorrendje ebben az esetben a CPU fejlettsgtl fgg: vletlenszer, vagy prioritsos lehet.

A CPU msik feladata a megszaktsi krelem keletkezsi helynek meghatrozsa. Minden perifrihoz tartozik egy cm, ahol az t kiszolgl 118

rutin kezddik. A krds az, hogy melyik eszkz krte a megszaktst, vagyis melyik rutin induljon el. A kivlaszts megoldhat software-es mdon: egy program bizonyos idkznknt sorra lekrdezi a szba jhet eszkzket, hogy akarnak-e megszaktst (polling, lekrdezses mdszer). Csak nagyon egyszer esetekben alkalmazzk, helyette klnbz hardware-es mdszerek terjedtek el:

A legegyszerbb (m legkltsgesebb) megolds az, ha mindegyik eszkz kln megszaktskr vonallal rendelkezik. Ezen a perifria egy megszaktskr jelet kld a CPU-nak, amely gy egyrtelmen be tudja azonostani. Azt elfogadst egy msik vezetken visszakldtt jellel kzli a CPU.

Egyetlen megszaktsi vonal esetn az eszkzk lncba vannak fzve (99. bra). Ezen a lncon keresztl jut el a CPU-ig a megszaktskrs. A CPU visszakld egy azonostst kr jelet, amelyet a megszaktst kr eszkz nyel el (a tbbi tovbbkldi). Ezutn az eszkz az adatvonalokon azonostja magt a kvetkez mdszerek valamelyikvel: o Az adatvonalakon eljuttatja a CPU-nak az t kiszolgl rutin cmt. o A rutint hv teljes utastst elkldi. o Azt a cmet kldi el, ahol a rutint hv utasts tallhat. (Ez azrt j, mert ha ezek az utastsok a memria elejn vannak, akkor nem kell hossz cmeket kldeni.) o Egy sorszmot kld el, amely a memria elejn kialaktott megszaktsi vektortblban kijell egy rekeszt. A tbla rekeszeiben helyezkednek el a kiszolgl rutinok cmei. Ezt a mdszert vector interrupt-nak nevezzk. Ha a tblzatot a CPU tartalmazza, akkor autovector interruptrl beszlnk.

119

99. bra

120

7. Esettanulmny: mkds robot

mikrovezrlvel

irnytott

autonm

Miutn ttekintettk a mikroprocesszoros rendszerek mkdsnek s felptsnek elmleti alapjait, jegyzetnk utols fejezetben egy gyakorlati plda kerl bemutatsra. A Parallax cg fknt oktatsi clokra fejlesztette ki a 100. brn lthat apr robotot. A szerkezetet egy blyeg nagysg, BASIC nyelven programozhat szmtgp vezrli. A mozgst kt egyenram szervomotor biztostja, modulris felptse pedig lehetv teszi, hogy a legklnflbb kiegsztket az elektronikus irnyttl a rdi ad-vevn t a kamerig helyezzk mkdsbe rajta szinte egyetlen mozdulattal. A robot ismertetst a rendszer magjval, a mikrovezrlvel kezdjk, majd bemutatjuk, hogy ebbl a krlmnyesen programozhat, viszonylag kevs funkcij eszkzbl hogyan varzsoltak a fejlesztk egy knnyen kezelhet, fejlett kommunikcis kpessgekkel br mikroszmtgpet. A tervezk nem lltak meg ennl a pontnl: olyan hordozramkrt ksztettek, amely jl definilt, egysges felletet nyjt a klnbz perifrik illesztshez, ezzel sztnzve ms gyrtkat tletes kiegsztk gyrtsra.

121

100. bra

7.1 Mikrovezrl-szint

A robot lelke a Microchip cg ltal gyrtott PIC16C57c jel mikrovezrl. A CMOS technolgij eszkz 40 MHz-es rajellel mkdik, egyetlen utastst 100 ns alatt hajt vgre, vagyis msodpercenknt 10 milli utastst dolgoz fel. A chipnek 28 lba van, ebbl 20 hasznlhat fel tetszlegesen ki- vagy bemenetknt (2 darab 8 bites s egy 4 bites portba rendezve). Felptse a Harvard architektrt kveti: 2048 szavas, 12 bit szhosszsg beptett programmemrival s mindssze 72 szavas, 8 bites adatmemrival rendelkezik. Az ALU is 8 bites: a 0..255 tartomnyba tartoz szmokat ismeri, sszeadni, kivonni, lptetni s logikai mveleteket vgezni kpes rajtuk. (Br ez szegnyesnek tnhet, a mikroprocesszoros alkalmazsok jelents rszben elegend. Ha mgsem, rengeteg nagyobb tuds, m drgbb mikrovezrl ll mg a tervezk rendelkezsre). Gpi kdban (assemblyben) programozhat, az utastsok szma 33. A fent emltett aritmetikai s logikai mveleteken kvl adatmozgat, bitkezel, ugr, valamint klnbz specilis regiszterek kezelsre alkalmas utastsokat 122

ismer. A klvilggal csak kezdetleges mdon tud kommuniklni: a kimenetknt definilt I/O lbak logikai szintjt llthatjuk 1-re vagy 0-ra, illetve leolvashatjuk a bemenetekre rkez jelek pillanatnyi rtkt. A mikrovezrl specilis funkcikkal is br, ilyen pldul a beptett fggetlen mkds szmll, vagy az n. Watchdog, hzrz ramkr, amely a program nem vrt elakadsa esetn azonnal jraindtja a rendszert.

7.2 Mikroszmtgp-szint

A bemutatott mikrovezrlvel ugyan nagyon sokfle feladat megoldhat, de ijeszt a gondolat, hogy szerny kommunikcis kpessgeivel, assembly nyelven programozva prbljunk kapcsolatot teremteni mondjuk egy intelligens kpfeldolgoz ramkrrel. A Parallax fejleszti el kvntk grdteni a fejlds tjbl ezt az akadlyt: a mikrovezrlt nhny ramkrrel kiegsztve egy olyan blyegnagysg szmtgpet hoztak ltre, melynek programozsa magas szint, felhasznl-kzeli nyelven trtnik, jelentsen lecskkentve a fejlesztsre fordtand idt s energit, tovbb ismer nhny szabvnyos, sszetett adattviteli protokollt, hogy az intelligens eszkzkkel val kommunikci akr egyetlen utasts kiadsval megoldhat legyen. A roboton tallhat szmtgp a BASIC Stamp II. nevet viseli, egyrszt a programozsi nyelvre: a BASIC-re, msrszt az eszkz blyeg nagysg mretre utalva (ld. a 101. brn, a jobboldalon jl lthat a krmnyi nagysg mikrovezrl is). Ismeri a szinkron s aszinkron soros, illetve annak prhuzamos vlaszt. adattviteli akr mdokat: egyetlen utastssal terjed egsz szvegeket, parancsokat kldhetnk egy msik eszkznek, s elolvashatjuk Kpes ultrahang-frekvenciig modullt szinuszos jelek vagy impulzussorozatok kiadsra, le tudja olvasni egy RC kr idllandjt, hogy segtsgnkre legyen az analg jelek bevitelnl. Programozsa egy PC-n fut alkalmazssal trtnik szabvnyos soros porton keresztl. Kezeli a feltteles elgazsokat s ciklusokat is. Ezen kvl fejlett hiba-visszakeres (debugging) mdszerek llnak a fejlesztk rendelkezsre.

123

101. bra

Az intelligencinak azonban ra van: a BASIC Stamp II. csak nagyjbl 4000 utastst dolgoz fel msodpercenknt (szemben a belsejben mkd mikrovezrl 10 milli utastsval!). Programmemrija kb. 500 utasts trolsra elegend, adatmemrija 32 byte-os (ha viszont ennl jval nagyobbra lenne szksgnk, akr rdikapcsolat segtsgvel a szmtgpre is tudunk adatokat menteni). Most mr csak az van htra, hogy a kls eszkzk fizikailag is knnyen csatlakoztathatk legyenek. Ezt biztostja a kvetkez pontban trgyalt hordoz ramkr.

7.3 Rendszer-szint

A Basic Stamp II-hz sokfle alaplapot knlnak. A roboton egy Board Of Education (BOE) elnevezs, oktatsban hasznos funkcikkal rendelkez tbla kapott helyet (102. bra).

124

102. bra

A tbla baloldaln egy RS-232-es csatlakoz tallhat, ezen keresztl kommunikl a mellette elhelyezett Basic Stamp II. a PC-vel. Egy darab 9V-os elem, vagy 4 darab msfl Voltos ceruzaelem adhatja az energit, az 5V TTL szintet feszltsg-stabiliztor IC lltja el (fent, kzpen). Az IC mellet hat darab egyenram szervo motor csatlakoztatshoz alaktottak ki konnektorokat. A tbla kzepn lv csatlakozba lehet dugaszolni a klnfle perifria-modulokat, tbbet is egyms tetejre: ezen keresztl jutnak el hozzjuk a Basic Stamp II. I/O lbairl a jelek s a tpfeszltsg. Ha mindez nem elg, a jobb oldalon lthat panelen tetszleges TTL ramkrt is megpthetnk.

7.3.1 Perifrik

A legalapvetbb perifrik a szervo motorok: ezeket impulzusok sorozatval lehet forgsra brni, sebessgk az impulzusok szlessgnek arnyban vltozik. A mikroszmtgp BASIC nyelvben erre kln utastst tallunk, gy a robot mozgatsa nem okoz problmt.

125

Az alaplap s a Basic Stamp II. kialaktsa lehetv teszi brmely olyan intelligens perifria csatlakoztatst, amelyik bedugaszolhat Ez szinte a tbla kzepn kialaktott konnektorba, s ismeri a szabvnyos soros vagy prhuzamos kommunikcis protokollok egyikt. korltlan lehetsgeket nyjt robotunk tovbbfejlesztsre. Kaphatunk hozz pldul nyomkvet, irnyt, LCD kijelz, ad-vev, ultrahangos tvolsgrzkel modulokat, de irnythatjuk szmtgpes egrrel is a megfelel egysg beszerzse utn. A robothoz trgyak ehhez kifejlesztett helyzett a intelligens kvetni, kamera kpes meghatrozott meghatrozni. Ltnunk kell, hogy sokszn felhasznlhatsghoz s bvthetsghez csak a bemutatott fejlesztsi lpsek sorn juthattunk el. Br a felhasznlt mikrokontoller nmagban is el tudn ltni a robot irnytsnak a feladatt, a perifrikat pedig vele egytt kzvetlenl beforraszthattuk volna egy nyomtatott ramkri lapkba, a robot megtervezse s felptse valsznleg felrlte volna az energiinkat. A mikroprocesszoros (s brmely egyb mrnki) rendszerek klnbz absztrakcis szintjeinek kidolgozsa lehetv teszi, hogy a megvalstani kvnt clra koncentrlhassunk, s ne kelljen mindent jra az alapoktl felptennk. szn vagy nagysgukat

126

8. Irodalomjegyzk

Dr. Arat Pter: Logikai rendszerek tervezse Tanknyvkiad, Budapest, 1990 Dr. Gl Tibor: Digitlis rendszerek I-II. Tanknyvkiad, Budapest, 1991 Dr. Szittya Ott, Hunwald Gyrgy: Logikai elemek adatgyjtemnye Tanknyvkiad, Budapest, 1990 U. Tietze Ch. Schenk: Analg s digitlis ramkrk Mszaki Knyvkiad, Budapest, 1990 Zsom Gyula: Digitlis technika I-II. Mszaki Knyvkiad, Budapest, 2000 www.microchip.com www.parallaxinc.com

127

9. Tartalomjegyzk
1. BEVEZETS 2. ALAPFOGALMAK 3. KOMBINCIS HLZATOK
3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.6 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.7 3.7.1 3.7.2 3.7.3 A kombincis hlzatok mkdsnek igazsgtbls felrsa A kombincis hlzatok mkdsnek definilsa logikai fggvnyekkel Plda: a folyos-kapcsols logikai fggvnynek meghatrozsa Plda: logikai fggvny felrsa az igazsgtblbl Logikai fggvnyek algebrai egyszerstse Plda algebrai egyszerstsre Logikai kapcsolsi vzlat Plda: logikai kapcsolsi vzlat felrajzolsa a logikai fggvnybl Plda: logikai fggvny felrsa a logikai kapcsolsi vzlatbl

1 2 5
5 6 7 8 8 9 9 12 12

Plda: kombincis hlzat megvalstsa kizrlag NOR illetve NAND kapuk felhasznlsval 13 Logikai fggvnyek kanonikus (norml) alakjai Diszjunktv kanonikus alak Konjunktv kanonikus alak Logikai fggvnyek grafikus minimalizlsa 4 vltozs Karnaugh-tbla Nem teljesen definilt logikai fggvny grafikus minimalizlsa Konjunktv alak felrsa Karnaugh-tblval Nem teljesen definilt fggvny konjunktv alakja Tbb kimenet kombincis hlzatok grafikus egyszerstse Plda grafikus egyszerstsre: ht szegmenses dekdol tervezse Logikai ramkrk jellemzi Integrlt ramkrk feszltsgszintjei, DC zajtvolsg AC (vltakoz ram) zajtvolsg Logikai ramkrk dinamikus jellemzi Felfutsi s lefutsi id Ksleltetsi vagy terjedsi id 14 14 15 17 23 26 27 29 29 32 38 39 41 42 42 42

3.7.3.1 3.7.3.2

128

3.7.3.3 3.7.3.4 3.7.3.5 3.7.4 3.7.5

Terhelhetsg, Fan-out Egysg-terhels, Fan-in Egyb jellemzk

43 44 44 45 46 46 47 48 48 52 53 54 54 57 57 58 59 61 61 62 63 63

A TTL s CMOS elemcsaldok sszehasonltsa Specilis kimeneti kapcsolatok TTL ramkrknl Nyitott kollektoros kimenetek Hromllapot (tristate) kimenetek

3.7.5.1 3.7.5.2 3.8 3.8.1

A jelterjedsi idk hatsa a kombincis hlzatok mkdsre A statikus hazrd Plda statikus hazrdmentestsre Statikus hazrdok konjunktv hlzatokban 3.8.1.1 3.8.1.2

3.8.2 3.8.3 3.9 3.9.1 3.9.2 3.9.3 3.9.4

A dinamikus hazrd A funkcionlis hazrd Nhny gyakrabban hasznlt kombincis hlzat Kdtalakt egysgek Kdol Dekdol Adatt-vlaszt eszkzk Multiplexer Demultiplexer 1 bites teljes sszead

3.9.4.1 3.9.4.2 3.9.5 3.9.5.1

Binris aritmetikt vgz ramkrk

4. SZEKVENCILIS (SORRENDI) HLZATOK


4.1 4.2 4.3 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 llapotgrfos lers llapottbls felrs Aszinkron s szinkron sorrendi hlzatok Elemi sorrendi hlzatok (flip-flopok) D trol S-R trol Az S-R trol megvalstsa NOR illetve NAND kapukkal J-K trol T trol Master-Slave flip-flopok A trolk jellegzetes alkalmazsai Pergsmentests

67
69 69 70 71 71 72 75 76 78 80 81 81

4.4.2.1

4.4.6.1

129

4.4.6.2 4.4.6.3 4.4.6.4 4.4.6.5 4.4.6.6

Frekvenciaoszts Aszinkron szmllk Szinkron szmllk Mg nhny sz a szmllkrl Regiszterek

83 83 86 88 88

5. MEMRIK
5.1 Kombincis hlzatok megvalstsa programozhat logikai elemek felhasznlsval

91
94

6. A MIKROPROCESSZOROS RENDSZEREK ALAPJAI


6.1 6.1.1 6.1.2 6.1.3 6.2 6.3 A mikroprocesszoros rendszerek fbb egysgeinek feladatai Be- s kimeneti egysg Memria CPU A gpi kd programozsrl Vratlan esemnyek kezelse

98
108 108 109 109 114 115

7. ESETTANULMNY: MIKROVEZRLVEL IRNYTOTT AUTONM MKDS ROBOT


7.1 7.2 7.3 7.3.1 Mikrovezrl-szint Mikroszmtgp-szint Rendszer-szint Perifrik

121
122 123 124 125

8. IRODALOMJEGYZK 9. TARTALOMJEGYZK

127 128

130

You might also like