12.07.2015 Views

logicke obvody.pdf - Ostravská univerzita v Ostravě

logicke obvody.pdf - Ostravská univerzita v Ostravě

logicke obvody.pdf - Ostravská univerzita v Ostravě

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Počítačové systémyLogické <strong>obvody</strong> a systémytexty pro distanční studiumDoc. Ing. Cyril Klimeš, CSc.Ostravská <strong>univerzita</strong> v Ostravě, Přírodovědecká fakultaKatedra informatiky a počítačůOstrava 2012


OBSAH1 BOOLEOVA ALGEBRA ........................................................................ 41.1 LOGICKÉ PROMĚNNÉ A LOGICKÉ FUNKCE ............................................ 51.1.1 Základní logické operátory ......................................................... 51.1.2 Zákony a pravidla Booleovy algebry .......................................... 71.2 DEFINICE LOGICKÉ FUNKCE ................................................................. 81.2.1 Pravdivostní tabulka ................................................................... 81.2.2 Zápis logické funkce ................................................................... 91.3 LOGICKÁ FUNKCE N-PROMĚNNÝCH ................................................... 111.3.1 Funkce jedné proměnné ............................................................ 111.3.2 Funkce dvou proměnných ......................................................... 111.3.3 Funkce více proměnných .......................................................... 131.4 ZJEDNODUŠOVÁNÍ ZÁPISU LOGICKÉ FUNKCE ..................................... 141.4.1 Algebraická minimalizace ........................................................ 141.4.2 Grafická – Karnaughova metoda ............................................. 141.4.3 Zjednodušení úplně zadané funkce ........................................... 151.4.4 Zjednodušení neúplně zadané funkce ....................................... 171.5 OBVODOVÉ ZNÁZORNĚNÍ BOOLEOVY ALGEBRY ................................ 181.5.1 Shefferova algebra .................................................................... 191.5.2 Pierceova algebra ..................................................................... 191.5.3 Převod Booleovy algebry na Shefferovu algebru ..................... 202 REPREZENTACE ZÁKLADNÍCH LOGICKÝCH FUNKCÍELEKTRONICKÝMI OBVODY ................................................................. 212.1 FYZIKÁLNÍ PODSTATA SIGNÁLŮ ......................................................... 212.2 TECHNOLOGIE TTL (TRANZISTOR-TRANZISTOR LOGIC) ..................... 232.3 SYSTÉMY MOS/CMOS ..................................................................... 272.4 LOGICKÁ HRADLA S TŘEMI STAVY ..................................................... 313 ZÁKLADNÍ LOGICKÉ ČLENY .......................................................... 333.1 INVERTOR .......................................................................................... 333.2 AND .................................................................................................. 343.3 OR ..................................................................................................... 343.4 NAND ............................................................................................... 353.5 NOR .................................................................................................. 353.6 OSTATNÍ LOGICKÉ ČLENY .................................................................. 363.6.1 Nonekvivalence – XOR ............................................................. 363.6.2 Ekvivalence - NOXOR .............................................................. 364 KOMBINAČNÍ LOGICKÉ OBVODY ................................................ 384.1 KÓDOVÁNÍ, DEKÓDOVÁNÍ A PŘEVODY KÓDŮ ..................................... 384.1.1 Převod desítkových číslic do kódu 8421 ................................... 384.1.2 Převod z kódu 8421 na desítkové číslice .................................. 404.1.3 Převod do Grayova kódu .......................................................... 424.1.4 Multiplexor ............................................................................... 444.1.5 4-vstupý multiplexor ................................................................. 444.1.6 Dekodér..................................................................................... 454.2 POROVNÁNÍ DVOJKOVÝCH INFORMACÍ .............................................. 464.2.1 Rovnost dvou proměnných ........................................................ 46


Počítačové systémy - logické <strong>obvody</strong> a systémy4.2.2 Jednobitový porovnávací obvod ................................................ 474.2.3 Dvoubitový porovnávací obvod ................................................. 474.3 PARITA ............................................................................................... 484.4 SEČÍTAČKY A ODEČÍTAČKY ................................................................ 504.4.1 Sčítačka MODULO 2 ................................................................ 504.4.2 Jednobitová neúplná sečítačka .................................................. 514.4.3 Jednobitová úplná sečítačka ..................................................... 514.4.4 Jednobitová úplná odečítačka ................................................... 524.4.5 Polosčítačka .............................................................................. 534.4.6 Úplná sčítačka ........................................................................... 545 SEKVENČNÍ LOGICKÉ OBVODY .................................................... 555.1 KLOPNÝ OBVOD RS ............................................................................ 565.2 KLOPNÝ OBVOD J-K ........................................................................... 585.3 KLOPNÝ OBVOD TYPU T(RS-T) .......................................................... 595.4 KLOPNÝ OBVOD TYPU D ..................................................................... 595.5 DVOJČINNÝ KLOPNÝ OBVOD J-K TYPU MASTER-SLAVE ...................... 605.6 FUNKCE POSOUVÁNÍ A ČÍTÁNÍ ............................................................ 615.6.1 Čítače kmitočtu .......................................................................... 615.6.2 Posuvné registry ........................................................................ 655.6.3 Kruhový registr ......................................................................... 676 PRVKY MIKROPOČÍTAČE ................................................................ 686.1 ZÁKLADNÍ ARCHITEKTURA POČÍTAČE ................................................ 686.2 OPERAČNÍ PAMĚŤ ............................................................................... 696.2.1 Paměti typu ROM ...................................................................... 696.2.2 Paměti typu RAM ...................................................................... 716.3 JEDNOČIPOVÉ MIKROPOČÍTAČE .......................................................... 763


Počítačové systémy - logické <strong>obvody</strong> a systémy1 Booleova algebraV této kapitole se dozvíte:• Proč je Booleova algebra základem popisu logických funkcí počítačů?• Jaké jsou základní logické proměnné a funkce Booleovy algebry?• Jak jsou definovány logické funkce?• Jaké jsou metody zjednodušování zápisů logických funkcí?• Z jakých značek se vytváří obvodové značení logických funkcí?Po jejím prostudování byste měli být schopni:• Charakterizovat Booleovu algebru.• Definovat zákony Booleovy algebry.• Porozumět základním logickým proměnným a funkcím.• Znát způsoby zápisu logických funkcí pomocí pravdivostních tabulek aKarnaughových map.• Popsat obvodové znázorňování logických funkcí.• Znát způsoby zjednodušování (minimalizaci) zápisu logických funkcí.Klíčová slova této kapitoly:Booleova algebra, logická negace, logický součn, logický součet, zákonyBooleovy algebry, Karnaughova mapa, minimalizace.Doba potřebná ke studiu: 8 hodinyPrůvodce studiemStudium této kapitoly je poměrně náročné zejména pro ty z Vás, kteří dosudnemají žádné znalosti z logiky a Booleovy algebry. V takovém případě Vámzřejmě některé příklady budou připadat obtížně pochopitelné, ovšem nenechtese tím odradit, neboť pochopením této části se Vám usnadní studiumnásledujících kapitol.Na studium této části si vyhraďte alespoň 8 hodin. Doporučujeme studovats přestávkami vždy po pochopení jednotlivých podkapitol. Po celkovémprostudování a vyřešení všech příkladů doporučujeme dát si pauzu, třeba 1den, a pak se pusťte do vypracování korespondenčních úkolů.Matematický prostředek vytvořil George S. Boole jako pomůcku proznázornění filozofických problémů pomocí matematického aparátu, založenéhona dvou pravdivostních hodnotách.V technice bylo první využití Booleho algebry při popisu a návrhu reléovýchobvodů. Značného uplatnění však dosáhla Booleova algebra při návrhulogických obvodů sestavených z hradel „logický součin “, „logický součet “ a„ negace “ jimiž lze základní operace Booleovy algebry přímo realizovat.Boolova algebra nám slouží k matematickému popisu zákonů a pravidelvýrokové logiky, která řeší vztahy mezi pravdivými (I) a nepravdivými (0)výroky. Jiná tvrzení nejsou povolena. Pravdivý výrok označujeme logickouhodnotou I a nepravdivý výrok logickou hodnotou 0. Nositelem elementárníinformace o pravdivosti a nepravdivosti výroků je logická proměnná, která4


Počítačové systémy - logické <strong>obvody</strong> a systémymůže nabývat hodnoty I nebo 0. Boolova algebra studuje dvě proměnné afunkce těchto proměnných. Je to algebra vztahů, nikoliv čísel.1.1 Logické proměnné a logické funkceLogická proměnná je veličina, která může nabývat pouze dvou hodnot,označených 0 a I (tedy dvojková proměnná), a nemůže se spojitě měnit.Tutoproměnnou označujeme x. Platí :Logická funkce n proměnných x 1 , x 2 , x 3 ,… x n je funkce, která můženabývat, stejně jako všechny logické proměnné, pouze dvou hodnot.y 1 = x 1 , x 2 , x 3 ,… x nV = y 1, y 2y 2 = a 1 , a 2 , a 3 ,… a nFunkce rovnosti platí, když dvě logické proměnné A, B se sobě rovnají, tzn.,jestliže A = I, B = I nebo A = 0, B = 0, což zapisujeme A = B. Dvě veličiny A= a 1 , a 2 , a 3 ,… a n ; B = b 1 , b 2 , b 3 ,… b n se sobě rovnají, když platí a i = b i provšechna i.1.1.1 Základní logické operátoryV Booleově algebře jsou definovány tři základní operace, jimiž můžemevyjádřit libovolnou logickou operaci. Jsou to :- logická negace,- logický součin,- logický součet.Hodnoty proměnné, kterou značíme Y, závislé na jednotlivých kombinacínezávisle proměnných A, B budeme znázorňovat pro základní logické operace(operátory) pravdivostní tabulkou. Počet řádků v pravdivostní tabulce je dánvšemi možnými kombinacemi nezávisle proměnných hodnot. Ve sloupci, kterýje napravo, jsou zapsány stavy hodnot výstupně proměnných Y.1.1.1.1 Logická negaceTato operace, která se také velmi často nazývá inverze, dává výsledek zvanýnegace. Je aplikována jen na jednu proměnnou. Mění hodnotu nezávisleproměnné na opačnou. Označuje se přidáním „ pruhu “ nad proměnnou x. Jejímvýsledkem je hodnota Y = 1, jestliže A = 0, a naopak Y = 0, jestliže A = 1.Negace je vyjádřena zápisem „ NE “ (NOT).Tabulka funkce negace :AA0 11 0Tato definice vede ke vztahům :0 = II = 05


Počítačové systémy - logické <strong>obvody</strong> a systémy1.1.1.2 Logický součinTato operace, nazývána také průnik nebo konjunkce, aplikovaná na dvěproměnné, vytváří součin neboli funkci AND těchto dvou proměnných.Logický součin nabývá hodnotu I jen tehdy, když všechny nezávislé proměnnémají hodnotu I. Jestliže je alespoň jedna hodnota rovna O, potom výslednáhodnota se rovná 0. Značí se symbolem ∧ mezi dvěma proměnnými (A ∧ B).V praxi se však používá zápis :Y = A . BLogický součin je vyjádřen spojkou „ a “ (v angličtině „AND“ nebo „ & “).Definice logického součinu může být vyjádřena vztahy :Tabulka funkce logického součinu :A B A. B0 0 00 I 0I 0 0I I I0. 00. II . I= 0== II . 0= 01.1.1.3 Logický součetTato operace, nazývána také sjednocení nebo disjunkce, aplikovaná na dvěproměnné, vytváří součet neboli funkci OR těchto dvou proměnných. Logickýsoučet má hodnotu I, jestliže jedna nezávisle proměnná nebo druhá nezávisleproměnná nebo obě mají hodnotu I. Označuje se symbolem ∨ mezi dvěmaproměnnými (A ∨ B). V praxi se používá ovšem zápis : Y = A + BLogický součet je vyjádřen „ nebo “ (v angličtině „OR“).Definice logického součtu může být vyjádřena vztahy :A B A + B0 0 00 I II 0 II I I0 + 0 = 00 + I = I + 0 = II + I = I6


Počítačové systémy - logické <strong>obvody</strong> a systémy1.1.2 Zákony a pravidla Booleovy algebryPro vyhodnocení logických výrazů, různé úpravy a zjednodušení logickýchvýrazů je nutné znát zákony Booleovy algebry :1. Komutativní zákon : 2. Asociativní zákon : 3. Distributivní zákon:A + B = B + A A + (B + C) = (A + B) + C A + B. C = (A + B) . (A + C)A . B = B. A A . (B. C) = (A . B) . C A . (B + C) = A . B + A .C4. Zákon o agresívnosti prvku I a O : 5. Zákon o neutrálnosti prvku I a O:A + I = IA . 0 = 0A + 0 = AA . I= A6. Zákon o vyloučení třetího : 7. Zákon dvojité negace :A . AA +A .(AA + A = IA . A8.Zákon absorpce:A + A = A= AA . B= 0= A+ B) = AA + A = IA . AA +A . (A= 0A . BA = A9.Zákon absorpce negace:= A + B+ B) =A . BA + A.B = A + BA(A + B) = A.BNěkteré zákony vyplívají přímo z definic základních logických operací – jsouto operace součtu a součinu s hodnotami 0 a I. Ze všeobecných zákonů jenejvýznamnější de Morganův zákon, který se vyjadřuje dvěma rovnostmi.10. De Morganův zákon :A + B + C + ... =A . B. C .A . B . C ....... = A + B + C + ...Tento zákon lze tedy vyjádřit tak, že negaci funkce získáme nahrazením každéproměnné její negací a záměnou značek součtu a součinu navzájem. Při použitítohoto zákona je třeba věnovat velkou pozornost implicitním závorkám :A + B.C = A + (B. C)Tedy :A + B.C = A .(B + C)a neplatí :A . B+ C7


Počítačové systémy - logické <strong>obvody</strong> a systémy1.2 Definice logické funkce1.2.1 Pravdivostní tabulkaPravdivostní tabulka je tabulka, do které se zapisuje logická (Booleovskáfunkce). Pravdivostní tabulka má r + n sloupců a 2 n řádků. Číslo r je početsloupců výsledných funkcí (obyčejně bývá jedna výsledná funkce – tedy jedensloupec). Číslo n udává počet proměnných. Číslo 2 n udává počet všechmožných kombinací proměnných, kde číslo n je počet proměnných. Tytokombinace reprezentuje počet řádků.Příklad : Pokud je dána logická funkce, která má tři proměnné a jednuvýslednou funkci, tak pravdivostní tabulka bude mít čtyři sloupce( r + n = 1 + 3 = 4) a osm řádků (2 n = 2 3 = 8).1.2.1.1 Úplně zadaná funkceLogická funkce je úplně zadaná, jestliže je známa její hodnota I nebo 0 provšechny možné kombinace hodnot proměnných. Těchto kombinací je pro nproměnných 2 n. Lze tak sestavit pravdivostní tabulku.Příklad : Je dána funkce tří proměnných f (A, B, C), pravdivostní tabulka budetedy vypadat následovně :A B C f0 0 0 00 0 I I0 I 0 I0 I I 0I 0 0 0I 0 I II I 0 0I I I I1.2.1.2 Neúplně zadaná funkceLogická funkce je neúplně zadaná, když její hodnota pro některé kombinacehodnot proměnných je libovolná nebo není určena. S tímto případem sesetkáváme, když některé kombinace hodnot jsou fyzikálně nemožné. Hodnotufunkce poté značíme x nebo ∅. Pravdivostní tabulka může vypadatnásledovně:A B C f0 0 0 00 0 I I0 I 0 x0 I I xI 0 0 0I 0 I II I 0 0I I I x8


Počítačové systémy - logické <strong>obvody</strong> a systémy1.2.2 Zápis logické funkce1.2.2.1 Základní tvary funkceLogickou funkci můžeme zapsat ve dvou tvarech, nazývaných základnísoučtový a základní součinový tvar. V praxi se ale často používají názvy úplnádisjunktivní normální forma – ÚDNF a úplná konjunktivní normální forma –ÚKNF.ÚDNF – je to součet základních součinů přímých nebo negovanýchproměnných. Každý základní součin (minterm – z ang. minimal polynomialterm) nabývá hodnoty I pro určitou kombinaci, kdy funkce má hodnotu I, ahodnoty 0 pro všechny ostatní kombinace. ÚDNF vyjadřuje funkci jako součetpřípadů, kdy má hodnotu I.ÚKNF – je to součin základních součtů přímých nebo negovanýchproměnných. Každý základní součet nabývá hodnoty 0 pro určitou kombinaci,kdy funkce má hodnotu 0, a hodnoty I pro všechny ostatní kombinace. ÚKNFvyjadřuje funkci jako součin případů, kdy má hodnotu 0.1.2.2.2 Výpis logických funkcí z pravdivostní tabulkyTabulka funkce tří proměnných (příklad – libovolná funkce)A B C f0 0 0 I0 0 I 00 I 0 I0 I I 0I 0 0 II 0 I 0I I 0 II I I 0a) ÚDNF – základní součtový tvarPřípady, kdy logická funkce je rovna I:⎧0 0 0⎪0 I 0kombinace A,B,C ⎨⎪I0 0⎪⎩I I 0Odpovídající součiny:A . B . CA . B. CA . B . CA . B. CVýslednou funkci dostáváme jako součet základních součinů (algebraicky) :f = A B C + A B C + A B C + A B C9


Počítačové systémy - logické <strong>obvody</strong> a systémyb) ÚKNF – základní součinový tvarPřípady, kdy logická funkce je rovna 0 : Odpovídající součty :A + B + C⎧0 0 I⎪A + B + C0 I Ikombinace A,B,C ⎨⎪I0 IA + B + C⎪⎩I I IA + B + CVýslednou funkci dostáváme jako součin základních součtů (algebraicky) :f = (A + B + C) . (A + B + C) .(A+ B + C) . (A + B + C)V praxi se častěji používá součtový tvar, tedy ÚDNF.1.2.2.3 Zápis logické funkce do Karnaughovy mapyKarnaughova mapa umožňuje přehledný zápis všech hodnot logické funkce.Porovnáme-li pravdivostní tabulky (např. tří proměnných), zjistíme, že levástrana tabulky je vždy stejná a nepřináší nové informace. Každé kombinacinezávisle proměnných je v Karnaughově mapě přidělen jeden čtverec, dokterého zapisujeme výstupní hodnotu funkce. Počet čtverců je tedy roven počtuřádků v pravdivostní tabulce. Přiřazení vstupních proměnných jednotlivýmřádkům a sloupcům se provádí úsečkami, někdy algebraickým označením.Zápisu funkce do Karnaughovy mapy se také někdy říká grafická metoda.Příklad : Pro příklad použijeme dříve uvedenou pravdivostní tabulku tříproměnných.A B C f0 0 0 I0 0 I 00 I 0 I0 I I 0I 0 0 II 0 I 0I I 0 II I I 0Postup :Nejprve si nakreslíme tabulku (Karnaughovu mapu), která bude mít početpolíček (čtverců) stejný, jako počet řádků v pravdivostní tabulce (v našempřípadě 8). Potom přiřadíme vstupní proměnné jednotlivým řádkům asloupcům např. pomocí úseček (tento způsob je více přehledný). Mapa by mělavypadat následovně :ACB10


Počítačové systémy - logické <strong>obvody</strong> a systémyPoté na základě pravdivostní tabulky, respektive na základě vstupníchproměnných, zapíšeme do tabulky hodnotu výstupní funkce. KonečnáKarnaughova mapa by měla vypadat následovně (je použita forma ÚDNF):AI 0 0 II 0 0 I1.3 Logická funkce n-proměnnýchCBLogická funkce f n n-proměnných nabývá všech možných hodnot, pro všechnymožné kombinace n-proměnných. Počet funkcí je (2 2 ) n . Toto číslo roste velmirychle např. pro n = 3 je počet 256 možných kombinací.Funkce rozdělujeme takto :- Funkce jedné proměnné, kde je počet funkcí ( 2 2 ) 1 = 4.- Funkce dvou proměnných, kde je počet funkcí ( 2 2 ) 2 = 16.- Funkce více než dvou proměnných.1.3.1 Funkce jedné proměnnéFunkce jedné proměnné je kombinace hodnot A. Pro jednu proměnnou jsoufunkce uvedeny v následující tabulce :A f 0 f 1 f 2 f 30 0 0 I II 0 I 0 IFunkce jsou označeny f 0 až f 1, kde index představuje hodnotu dvojkového číslaumístněného v odpovídajícím sloupci, přičemž váhy rostou po řádcích směremnahoru. Platí:Konstanty :Proměnná sama :Negace proměnné :1.3.2 Funkce dvou proměnnýchf0=0 af1= A= APro dvě proměnné je počet funkcí 16. Jsou dány pravdivostní tabulkou, kde 16funkcí f n nabývá všech možných hodnot pro všechny možné kombinace dvouproměnných. Funkce jsou označeny f 0 až f 15 , kde index představuje hodnotudvojkového čísla umístněného v odpovídajícím sloupci, přičemž váhy rostoupo řádcích směrem nahoru.f2f3=IA B f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 f 11 f 12 f 13 f 14 f 150 0 0 0 0 0 0 0 0 0 I I I I I I I I0 I 0 0 0 0 I I I I 0 0 0 0 I I I II 0 0 0 I I 0 0 I I 0 0 I I 0 0 I II I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I11


Počítačové systémy - logické <strong>obvody</strong> a systémyFunkce jedné proměnné :Konstanty :Proměnná sama :Negace proměnné :f0=0 a f15= If3= A a f5=Bf12= A af10= BFunkce odpovídající základním operátorům :Logický součet ve významu slučovacím :L Lgický součin :Osm nových funkcí :ff71= A + B=A . BSoučet ve významu vylučovacím neboli součet modulo 2 nebolinonekvivalence, též XOR, běžně zapisovánaA ⊕ Bf= AB6 +ABFunkce ekvivalence, zapisovaná A ≡ B, nebo téžA ⊗ B f9 = AB + A BFunkce ani jeden není nebo také NOR (negace logického součtu) –Piercova funkcef8 = A B = A + BFunkce alespoň jeden není neboli Schefferova funkce, nazývaná takéNAND (negace logického součinu)= A + Bf14 =ABNegace implikace – inhibice, zábranaNegace obrácené implikaceObrácená implikaceImplikaceffff241113= AB= AB= A + B= A + BZnalost logických funkcí je nutná zejména při návrhu, minimalizaci akonstrukci logických obvodů. Vynecháním některé funkce může dojít kekonstrukční závadě. Pomocí funkcí NAND a NOR lze vyjádřit jakoukolivfunkci.12


Počítačové systémy - logické <strong>obvody</strong> a systémy1.3.3 Funkce více proměnnýchPro n proměnných je možné napsat (2 2 ) n určitých logických funkcí Napříkladkdyž si vezmeme funkci tří proměnných. Pro tři proměnné existuje 256 funkcí.Vyjádření takové funkce by bylo již nepřehledné. Pro vyjádření můžeme všakvyužít již známých funkcí dvou proměnných, protože :f (A, B, C) = A . f (I, B, C) + A . f (0, B, C)Kontrola : Pro ověření tohoto vztahu stačí položit A = I nebo A = 0. Z tohoplyne, žef (I, B, C) a f (0, B, C)jsou funkce dvou proměnných. Stejná úvaha se může použít pro případ vícenež tří proměnných.Příklad:Chceme určit logickou funkci zařízení které:• rozsvítí zelenou žárovku – F1, když v nějakém výrobním procesupřekročí kritickou hodnotu pouze jedna ze sledovaných veličin, např.tlak (x), nebo teplota (y), nebo vlhkost (z), nebo žádná,• rozsvítí červenou žárovku - F2, když je překročena kritická hodnotakterýchkoli dvou veličin současně,• zapne sirénu - F3, když jsou překročeny kritické hodnoty všech tříveličin současně.Přiřazení hodnot 0 a 1 veličinám x,y,z (které budeme považovat logicképroměnné) provedeme následovně. Když se překročí kritická hodnota veličinyje proměnná rovna 1, když se nepřekročí je rovna 0. Jde tedy o tři samostatnéfunkce, které podle slovního zadání lze přepsat do tabulky pro všechnykombinace hodnot x,y,z tak, že do příslušného řádku dosadíme za F=1 jestližemá žárovka svítit a 0 jestliže ne.x y z F1 F2 F30 0 0 1 0 00 0 1 1 0 00 1 0 1 0 00 1 1 0 1 01 0 0 1 0 01 0 1 0 1 01 1 0 0 1 01 1 1 0 0 1Každou funkci vyjádříme samostatně známým zápisem (ÚDNF):F1 =xyz+xyz+xyz+xyz F2 = xyz + xyz + xyzF3 = xyz13


Počítačové systémy - logické <strong>obvody</strong> a systémy1.4 Zjednodušování zápisu logické funkceZjednodušování, často také minimalizace, logické funkce je určitý postup,kterým lze získat jednodušší vyjádření logické funkce. Minimalizací získámejednodušší strukturu logické funkce při zachování stejného výsledku.Minimalizace se proto používá k nejjednodušší technické realizaci, tzn., žeminimalizace je důležitá při konstrukci logických obvodů – stejná funkce můžebýt zhotovena z menšího počtu logických členů = ekonomičnost.Nejpoužívanější jsou dva způsoby, a to algebraická minimalizace – pomocíBooleovy algebry, nebo grafická minimalizace. Grafických metod je více,například Quinova-McCluskeyho – metoda, ale nejpoužívanější jeKarnaughova metoda.1.4.1 Algebraická minimalizaceAlgebraická minimalizace logických funkcí je upravování logického výrazupodle zákonů a pravidel Booleovy algebry. Výsledná funkce je vyjádřená conejjednodušeji se stejným chováním, což při realizaci znamená jednoduššíkonstrukci logického obvodu.Příklad algebraické minimalizace demonstrujeme na jednoduchém příkladě :A B f0 0 I0 I 0I 0 II I IPodle již uvedených a tedy i známých pravidel určíme výslednou funkci(ÚDNF):f = A B + AB + ABTuto funkci dle Booleových zákonů a pravidel můžeme upravit na tvar:f = AB + AB + AB = A(B + B) + A B = A + A B = A + BJak vidíme, výsledná zjednodušená logická funkce je omnoho jednodušší nežpředešlá funkce. Ovšem tato metoda je velice riskantní a úpravy pomocí tétometody jsou obtížné. Pro více než tři proměnné je téměř nepoužitelná.1.4.2 Grafická – Karnaughova metodaPro zjednodušení funkce pomocí algebraické minimalizace spojujeme součiny(mintermy), které se liší v jediné proměnné. Tyto součiny se nazývají sousední.Příklad:A B C D + A B C D = A B C (D + D) = A B C14


Počítačové systémy - logické <strong>obvody</strong> a systémyKarnaughova metoda se díky jasnému geometrickému postupu vyhýbá hledánísousedním součinů složitým algebraickým způsobem, který je navíc velminespolehlivý. Tato metoda se používá velmi dobře pro 3, 4 a 5 proměnných.Minimální logickou funkci stanovíme tak, že v Karnaughově mapě vytvářímetzv. podmapy. Podmapou rozumíme sjednocení 2 k sousedních stavů, vekterých nabývá logická funkce hodnoty 1 pro k = 0, 1, 2, ... , n-1. Každoupodmapou vyloučíme k proměnných z dvou, čtyř až 2 n-1 základních součinů.Snažíme se vytvářet co největší podmapy, abychom vyloučili co největší početproměnných. Využíváme k tomu také neurčité stavy.Výběr podmap provádíme podle následujících pravidel:• vybranými podmapami musí být pokryty všechny jednotkové stavylogické funkce,• do podmapy spojujeme stejné stavy, které spolu sousedí hranou, a to ipřes okraje mapy. Rohy mapy jsou též sousedními stavy. Členy dvousousedních polí se od sebe liší jednou proměnnou a tuto proměnnoumůžeme vyloučit,• podmapu pravidelného tvaru (čtverec, obdélník) vytváříme co největší,aby se ze skupiny stavů vyloučilo co nejvíce proměnných,• podmapy se mohou prolínat,• nevytváříme zbytečné podmapy, tzn. Že nespojujeme ty stavy, které užbyly předtím pokryty jinou podmapou,• čím větší bude podmapa, tím jednodušší bude výsledný výraz.Příklad : Hledání sousedních součinů pomocí Karnaughovy metody, příklad jepro čtyři proměnné.Axxx H xJak vidíme, najít sousední součiny x zadaného políčka H je pomocíKarnaughovy metody jednoduché.1.4.3 Zjednodušení úplně zadané funkceDDo políčka zapíšeme pomocí logických hodnot I a 0 pro všechny kombinaceproměnných odpovídající hodnoty funkce. Zjednodušování spočívá v hledánípro funkci v disjunktivním tvaru smyčky dvou, čtyř a osmi sousedních políčektak, aby se ze skupiny součinů (mintermů) vyloučila jedna, dvě nebo třiproměnné. Pro vyjádření smyček se používají pouze jen políčka obsahující I.CB15


Počítačové systémy - logické <strong>obvody</strong> a systémyPříklad : Libovolná pravdivostní tabulka úplně zadané funkce čtyř proměnnýchA B C D f0 0 0 0 I0 0 0 I 00 0 I 0 I0 0 I I 00 I 0 0 00 I 0 I I0 I I 0 00 I I I 0I 0 0 0 II 0 0 I II 0 I 0 II 0 I I II I 0 0 0I I 0 I II I I 0 0I I I I 0Karnaughova mapa této funkce :ADI 0 0 I0 I I I0 0 0 II 0 0 IBCÚplná disjunktní normální forma této funkce je :f = A B C D + A B C D + A B C D + A B C D + AB CD + A B C D + A B C D + A B C DZ této mapy můžeme udělat tři smyčky :Smyčka se dvěma políčkyA B C D + A B C D = B C D (A + A) = B C DSmyčka se čtyřmi políčky na pravé straněA B C ( D + D) + A B C ( D + D ) = A B C + A B C = A B (C + C) = A BSmyčka s políčky v rozích mapyA B D (C + C ) + A B D ( C + C ) = A B D + A B D = B D (A + A) = B DCelkový výsledek logické funkce po minimalizaci – zjednodušení je tedy :f = B C D + A B + B D16


Počítačové systémy - logické <strong>obvody</strong> a systémyTento způsob upravování je náročný a zbytečně zdlouhavý. Nejpoužívanějšízpůsob je vyloučit proměnné, které mění svůj stav a ponechají se pouzeproměnné, které se nemění.Příklad:Smyčka se čtyřmi políčky v rozích mapyA – mění stav, takže se vyloučíB – zůstává stejná s hodnotou 0, zapíšemeC – mění svůj stav, takže se vyloučíD – zůstává stejná s hodnotou 0, zapíšemeDostáváme tedy součin B DBDJak je vidět, tento součin je naprosto shodný se součinem s předešlé metody.Z toho plyne, že obě metody jsou správné, ale poslední metoda je jednodušší,protože se vyhneme upravování členů.1.4.4 Zjednodušení neúplně zadané funkcePro zjednodušení neúplně zadané funkce použijeme funkci stejnou jako prozjednodušování úplně zadané funkce. Neúplně zadaná funkce může v určitýchpolíčcích mapy nabývat libovolné hodnoty 0 nebo 1 – zapisujeme ji symbolemX. Při minimalizaci funkce se této skutečnosti využívá tak, že vytvářímepodmapy s využitím neurčitých stavů, které považujeme za jednotkové, neboza nulové, jak je to z hlediska minimalizace nejvýhodnější. Pro usnadněnísmyček zapíšeme X do políček místo hodnoty I, v ostatních případech 0. Zápisbude tedy vypadat následovně:f = B D + C D + A DPravdivostní tabulka neúplně zadané funkce:A B C D f0 0 0 0 I0 0 0 I X0 0 I 0 I0 0 I I 00 I 0 0 00 I 0 I I0 I I 0 X0 I I I 0I 0 0 0 II 0 0 I II 0 I 0 II 0 I I II I 0 0 0I I 0 I II I I 0 0I I I I X17


Počítačové systémy - logické <strong>obvody</strong> a systémyKarnaughova mapa neúplně zadané funkce:Df = BD + CD + ADI 0 0 IX I I I0 0 X II X 0 IBACTyto metody jsou použitelné pro zjednodušování logických obvodůrealizovaných pouze pomocí základních logických operátorů – logickéhosoučinu a součtu. Pro systémy realizované pomocí složitějších funkcí jsounepoužitelné.1.5 Obvodové znázornění Booleovy algebryPravidla pro kresbu značek:• Vstup je vždy zleva, výstup zprava.• Značky se nesmějí otáčet.• Spoje mají být rovnoběžné s okraji listu.18


Počítačové systémy - logické <strong>obvody</strong> a systémy1.5.1 Shefferova algebraJe vybudovaná na jedné logické funkci = negace logického součinu NAND.• Pro libovolný počet proměnnýchPravidla:• Pomocí operace NAND lze realizovat všechny operaceBooleovy algebry.• Neplatí zákon asociativní:Obvodové znázornění Shafferovy algebry:1.5.2 Pierceova algebraVystavěna na operaci NOR (negace logického součtu) - obdobné jakoShefferova algebra.Obvodové znázornění Pierceovy algebry:19


Počítačové systémy - logické <strong>obvody</strong> a systémy1.5.3 Převod Booleovy algebry na Shefferovu algebruOpakovanou aplikací de Morganových pravidel:Př.:Kontrolní otázky:1. Čím se liší zápis logické funkce pomocí úplné disjunktivní normální formyod úplné konjunktivní normální formy.2. Jaký bude počet logických funkcí pro 4 proměnné?3. Proč je algebraická minimalizace neúplně zadaných funkcí velmi obtížná atéměř nepoužitelná?Úkoly k zamyšlení:1. Zamyslete se nad postupem návrhu logických funkcí reálných řídícíchsystémů od popisu funkce slovním zadáním, přes pravdivostní tabulku,Karnaughovu mapu, minimalizaci funkce až po převod minimalizovanéfunkce do Shefferovy algebry a výsledné zapojení logických obvodůrealizovaných ze členů NAND.Korespondenční úkol:1. Navrhněte zapojení logických obvodů ze členů NAND realizující řízenívýtahu. Motor výtahu je zapnut, když dveře v 1. poschodí a 2. poschodíjsou zavřeny, cestující jsou v kabině a je stlačeno tlačítko v kabině., nebodveře v 1. poschodí a 2. poschodí jsou zavřeny, cestující nejsou v kabině aje stlačeno odesílací tlačítko.Shrnutí obsahu kapitolyV této kapitole jste se seznámili se základními principy návrhu logickýchfunkcí pomocí Booleovy algebry. Důraz v této kapitole byl kladen napochopení způsobu zápisu logických funkcí a jejich minimalizaci. Velkápozornost byla věnována realizaci těchto funkcí pomocí logických obvodů.20


Počítačové systémy - logické <strong>obvody</strong> a systémy2 Reprezentace základních logickýchfunkcí elektronickými <strong>obvody</strong>V této kapitole se dozvíte:• Jaké jsou základní interpretace logických hodnot pomocí elektrickéhonapětí a proudu?• Jaké konkrétní hodnoty napětí jsou přiřazeny logickým úrovnímv logice TTL?Po jejím prostudování byste měli být schopni:• Znát způsob interpretace logických hodnot pomocí elektrickýchsignálů.• Porozumět základům TTL logiky.Klíčová slova této kapitoly:Hladinové signály, impulsové signály, TTL, zakázané pásmo.Doba potřebná ke studiu: 1 hodinaPrůvodce studiemStudium této kapitoly je jednoduché a popisným způsobem zde nastudujeteprincipy zobrazení logických úrovní elektrickými signály.Na studium této části si vyhraďte 1 hodinu.2.1 Fyzikální podstata signálůHLADINOVÉIMPULSOVÉRELÉ21


Počítačové systémy - logické <strong>obvody</strong> a systémyAMPLITUDA KMITOČET FÁZEČasová závislost logických úrovníZakázané pásmo v logických úrovníchHodnoty jsou stanoveny pro každou výrobní technologii zvlášť.L ~ 0 H ~ 1.........................pozitivní logikaL ~ 1 H ~ 0.........................negativní logikaVzhledem k tomu, že parametry reálného logického členu se různí kus od kusu(užívají se odpory s určitou tolerancí, tranzistory a diody, které mohou mítrůzné parametry), není možné stanovit přesnou hodnotu napětí odpovídajícílogické “0” resp. “1” v té které logické síti. Místo toho se logické členy22


Počítačové systémy - logické <strong>obvody</strong> a systémykonstruují tak, aby nebyly citlivé na změnu napětí vstupních parametrů pokudtyto leží v určitém intervalu napětí.Tolerance logických hodnot pro negativní a pozitivní logikuNapříklad pro hradla TTL (transistor-transistor-logic) jsou příslušné intervalynásledující:U vst (0) = max. 0,8 VU vst (1) = min. 2 Vneboli pro logickou “0” je povolený interval vstupních napětí 0 - 0.8V prologickou “1” 2 - 5 V. Hradlo samo má zaručovaná výstupní napětí:U výst (1) = min. 2,4 VU výst (0) = max. 0,4 Vtj. hluboce v povolené toleranci napětí vstupních. Napájecí napětí je (5± 0,25)V. Uvedené hodnoty jsou typické pro tzv. tranzistorovou logiku a bylyimplementovány u celé řady výrobců logických obvodů.2.2 Technologie TTL (tranzistor-tranzistor logic)Největšího rozšíření dosáhly ve své době integrované logické systémy TTL(Transistor-Transistor-Logic). V dnešní době jsou však nahrazovány systémySTTL, MOS a CMOS, které mají nižší spotřebu a srovnatelnou rychlost.Zachovala se však definice logických úrovní; pokud má moderní logickýsystém stejně definované napěťové úrovně logické nuly a jedničky, nazývá sekompatibilní s TTL na logických úrovních (logic level TTL compatible).Parametry TTL:- napájecí napětí + 5V- L < 0,8V L ~ 0,4V- H > 2,0V H ~ 2,4VZákladní funkce jsou zřejmé z následujících obrázků.23


Počítačové systémy - logické <strong>obvody</strong> a systémyInvertor v TTLNAND pomocí dvou tranzistorůNOR pomocí dvou tranzistorů24


Počítačové systémy - logické <strong>obvody</strong> a systémyx 1 x 2 NAND x 1 x 2 NOR0 0 1 0 0 10 1 1 0 1 01 0 1 1 0 01 1 0 1 1 0Na následujícím obrázku je naznačena praktická realizace hradla NAND.Vstupem je víceemitorový tranzistor.Základní hradlo NANDAby byla umožněna vyšší zatížitelnost hradla, je na konci hradla zabudovánkoncový stupeň. Z důvodů omezení záporných napěťových špiček na vstupechhradla byly vstupy opatřeny ochrannými diodami, které nedovolí vyšší zápornénapětí na vstupech než cca -0,6V. Funkce obvodu je následující:a. Všechny vstupy jsou ve stavu logické jedničky.V tomto případě tranzistor T 2 pracuje v inverzním režimu. Tranzistor T 4 jesaturován a tranzistor T 3 je vybuzen. Napětí na kolektoru tranzistoru T 4 jepřibližně U D + U kesat . Aby byl tranzistor T 5 uzavřen (má na bázi napětí U k4 ) jedo obvodu vložena dioda D, která posunuje napětí emitoru T 5 na napětíU kesat +U D . Tranzistor T 3 je tedy otevřen a T 5 uzavřen. Na výstupu je napětíU kesat , což je napětí logické 0.b. Jeden nebo více vstupů jsou ve stavu logické nuly.Pak je tranzistor T 4 a rovněž T 3 uzavřen a odpor R 1 zaručuje nasycenítranzistoru T 5 . Ten slouží nyní jako emitorový sledovač pro výstupní napětí,takže může do zátěže dodat podstatně větší proud než tomu bylo u předchozíhozapojení. Napětí na výstupu je menší než E o spád na diodě báze-emitortranzistoru T 5 a na diodě D, je tedy U 1 ≈ E - 2 U D . Je užitečné si všimnout, že25


Počítačové systémy - logické <strong>obvody</strong> a systémynapájecí napětí E nemůžeme libovolně zmenšovat. Je-li totiž T 3 otevřen, jenapětí na bázi T 2 napětí U B2 ≈ 3U D . Aby T 2 pracoval v inverzním režimu, jetřeba, aby napětí na emitoru T 2 bylo větší než toto napětí. Vzhledem k tomu, žeemitorové napětí T 2 je vlastně výstupní napětí předcházejícího hradla stejnéhotypu (ve stavu logické jedničky), musí být U 1 > U B2 neboli E > 5U D . Minimálnínapětí logické jedničky musí tedy být U 1 > 3U D .Na TTL hradlo v uvedeném zapojení může být zapojeno až 15 dalších hradelstejného typu. Typické zpoždění při průchodu hradla je ≥ 10 ns a výkonováztráta ≥ 15 mW.Dvojčinný stupeň neumožňuje propojení několika výstupů popsaných hradelNAND paralelně. K tomu je zapotřebí dalšího hradla typu OR. Toto hradlovšak můžeme vypustit, jestliže použijeme hradel s tzv. otevřeným kolektorem.Principiální zapojení hradla NAND s otevřeným kolektoremDo výstupního obvodu je nutné zapojit vnější odpor, na který však můžemepřipojit další hradlo s otevřeným kolektorem.Spojením několika výstupů s otevřeným kolektorem přes vnější odpor vzniknefunkce “montážního AND”. Protože však většinou spojujeme negovanévýstupy hradel (funkce NAND) vytvoří se (použitím transformace pomocí deMorganova teorému) funkce “montážního OR” (wired OR). Příkladparalelního zapojení dvou hradel a ekvivalentní schema zapojení je nanásledujícím obrázku.Logická funkce je dána následujícím Booleovskýmvýrazem:.26


Počítačové systémy - logické <strong>obvody</strong> a systémyPříklad paralelního zapojení dvou hradel a ekvivalentní schema zapojení2.3 Systémy MOS/CMOSJednou z podmínek k opravdu masovému rozšíření mikroelektroniky je maláspotřeba zařízení, která umožňuje napájet přístroj z baterií. Možnost maléspotřeby otevřely logické systémy s tranzistory řízenými polem MOSFET azejména systémy CMOS.Základem systémů MOS je opět invertor, ovšem s tranzistorem řízenýmelektrickým polem. Používají se tranzistory s indukovaným kanálem, kterémají vhodnou polaritu tzv. prahového napětí. Prahové napětí U p je napětí nařídicí elektrodě G (hradlu) tranzistoru, při kterém protéká transistorem určitýmalý definovaný proud (např. 10 nA); tranzistor je při tom napájendefinovaným napětím, např. 10 V. Je zřejmé, že v zájmu zjednodušení napájenízařízení je třeba, abychom tranzistor “zavřeli” napětím stejné polarity, jako jenapětí zdroje. Tuto vlastnost mají právě MOS tranzistory s obohacenýmkanálem. Invertor je možné realizovat s odporovou zátěží, jak je znázorněno nanásledujícím obrázku, avšak z hlediska jednoduchosti technologie výroby jemnohem jednodušší realizovat zátěž pomocí dalšího tranzistoru MOS, jehoželektroda G je na pevném napětí U G , které může být menší nebo rovno napětízdroje E.Invertor s odporovou zátěží27


Počítačové systémy - logické <strong>obvody</strong> a systémyInvertor se dvěma tranzistory MOSNapájecí napětí bývá 12 V, což je dáno velikostí prahového napětí - okolo 4 V.Aby bylo možno snížit napájecí napětí, byla vypracována řada technologií,které snižují prahové napětí až na 1.5 - 2V (např. technologie MNOS, která proizolací G elektrody užívá kombinace vrstev nitridu a kysličníku křemíku,technologie "silicon gate MOS", kde se pro ovládací elektrodu používápolykrystalický křemík obohacený bórem, technologie RMOS s molybdenovouovládací elektrodou apod.). Kombinací MOSFETových spínačů je možnékonstruovat jak hradlo NAND, tak hradlo NOR.28


Počítačové systémy - logické <strong>obvody</strong> a systémyMOS hradlo NANDMOS hradlo NORObvody s tranzistory MOS sice nevyžadují k ovládání prakticky žádný proud(kromě proudu nabíjejícího parazitní kapacity mezi řídicí elektrodoua kanálem), avšak v sepnutém stavu odebírají ze zdroje proud, který sebezúčelně tratí v zátěži. Významným krokem ke snížení spotřeby, umožněnýmzejména rozvojem technologie výroby integrovaných MOSových obvodů protobyla možnost realizace tranzistorů MOS s obohacenými kanály typu P a typu Nna jediném čipu a tím i možnost realizace komplementárních MOSovýchobvodů (CMOS). Invertor CMOS se liší od invertoru typu MOS tím, že jehozátěž je tvořena MOS tranzistorem opačné polarity a řídicí elektrody oboutranzistorů jsou spojeny. Prahová napětí jsou volena tak, aby při vstupnímnapětí rovném logické nule nebo jedničce byl vždy otevřen pouze jeden z obou29


Počítačové systémy - logické <strong>obvody</strong> a systémytranzistorů. Tranzistory tak fungují prakticky jako spínače, které připínajívýstup buď na napájecí napětí E, nebo k zemi. Je zřejmé, že pokudnezatěžujeme výstup takového obvodu, je jeho spotřeba v klidovém stavuprakticky nulová. Výstup obvodu má relativně velice malou impedanci v oboustavech (řádově stovky ohmů), což umožňuje propojovat jednotlivá pouzdra s<strong>obvody</strong> běžnou technikou tištěných spojů. Jednoduchost obvodů je umožňujesdružovat ve značné hustotě na čipu a vytvářet tak <strong>obvody</strong> velké a extrémněvelké integrace. Např. operační paměti počítačů se dnes vyrábějí téměřvýhradně technologií MOS nebo CMOS (průměrná doba vybavení informacez paměti MOS je okolo 20-100 ns). Rovněž naprostá většina dnes vyráběnýchmikroprocesorů využívá systému MOS nebo CMOS. Jako příklad uvádíme naobr. 7.18.a,b hradla NAND a NOR v systému CMOS.CMOS hradlo NANDCMOS hradlo NORJe třeba ještě poznamenat, že ve skutečných obvodech MOS a CMOS je nutnochránit vstupní elektrodu před průrazem vysokým statickým napětím.Nejběžnější ochrana je pomocí Zenerovy diody, která je zapojena mezi substrát(normálně uzemněný) a řídící elektrodu. Tato dioda v normálním režimunevede a otevírá se pouze dosáhne-li napětí na řídící elektrodě určité hodnoty.30


Počítačové systémy - logické <strong>obvody</strong> a systémyV integrovaném obvodu je ochrana nutná ovšem pouze pro vstup těch hradel,které jsou vyvedeny ven z pouzdra.2.4 Logická hradla s třemi stavyV některých případech při spojování výstupů hradel je výhodné používat tzv.třístavových logických členů, kdy vedle výstupních aktivních stavů na úrovnilogické nuly a jedničky existuje ještě třetí stav, kdy výstup hradla je v podstatěod sběrnice odpojen (připojen ke sběrnici přes velkou impedanci). Tento stavumožňuje stejně jako hradlo s otevřeným kolektorem připojení výstupů hradeldo jednoho bodu.Vedle dvou aktivních vstupů A a B má hradlo blokovací vstup U B . Vybuzenímtranzistoru T 1 se uzavřou tranzistory T 3 až T 5 a hradlo má velkou výstupníimpedanci.Principiální zapojení třístavového hradla NANDKontrolní otázky:4. Proč musí být mezi logickými úrovněmi určité zakázané pásmo?5. Lze kombinovat v jenom logickém obvodu použití pozitivní a negativnílogiky?Úkoly k zamyšlení:2. Zamyslete se nad použitím amplitudového a kmitočtového způsobukódování logických úrovní?31


Počítačové systémy - logické <strong>obvody</strong> a systémyShrnutí obsahu kapitolyV této kapitole jste se seznámili s principy zobrazení logických úrovní pomocíelektrických signálů. Důraz v této kapitole byl kladen na pochopení možnostirůzných způsobů kódování logických úrovní.32


Počítačové systémy - logické <strong>obvody</strong> a systémy3 Základní logické členyV této kapitole se dozvíte:• Jaké jsou základní logické členy a jejich schematické značky?Po jejím prostudování byste měli být schopni:• Charakterizovat funkce základních logických členů.• Porozumět způsobu kreslení schematických značek logických členů.Klíčová slova této kapitoly:Invertor, AND, OR, NAND, NOR, XOR, NOXOR.Doba potřebná ke studiu: 1 hodinaPrůvodce studiemStudium této kapitoly je jednoduché a seznámíte se s logickými členy a jejcizpůsobu kreslení ve schematech.Na studium této části si vyhraďte 1 hodinu.3.1 InvertorUSADIN33


Počítačové systémy - logické <strong>obvody</strong> a systémy3.2 AND3.3 OR34


Počítačové systémy - logické <strong>obvody</strong> a systémy3.4 NAND3.5 NORPř.: NORx 1 x 2 y0 0 10 1 01 0 01 1 035


Počítačové systémy - logické <strong>obvody</strong> a systémy3.6 Ostatní logické členy3.6.1 Nonekvivalence – XORx 1 x 2 yy = x 1 x 20 0 00 1 11 0 11 1 0Př. Generátor parity: y = a b c d = (a b) (c d)Schématická značka:3.6.2 Ekvivalence - NOXOR36


Počítačové systémy - logické <strong>obvody</strong> a systémyKontrolní otázky:6. Odvoďte pravdivostní tabulku generátoru parity 4 vstupních proměnnýchz předchozího příkladu?Úkoly k zamyšlení:3. Zamyslete se, které typy základních logických členů stačí pro vytvářenílogických sítí?Korespondenční úkol:2. Nakreslete logické schema obvodu realizující funkcif = B C D + A B + B DVyužijtea. členů NOT, OR, ANDb. členů NANDShrnutí obsahu kapitolyV této kapitole jste se seznámili se základními logickými členy a jejichschematickými značkami.37


Počítačové systémy - logické <strong>obvody</strong> a systémy4 Kombinační logické <strong>obvody</strong>V této kapitole se dozvíte:• Jak jsou realizovány a jaké mají funkce vybrané kombinační logické<strong>obvody</strong>?Po jejím prostudování byste měli být schopni:• Charakterizovat logické funkce základních kombinačních logickýchobvodů.• Znát pravdivostní tabulky a zapojení těchto kombinačních logickýchobvodů.• Porozumět způsobu vytváření kombinačních logických obvodů.Klíčová slova této kapitoly:Multiplexor, dekodér, sčítačka.Doba potřebná ke studiu: 2 hodinyPrůvodce studiemStudium této kapitoly je důležité pro pochopení funkcí základních částí logikypočítače a proto si na studium této části si vyhraďte 2 hodiny.Po celkovémprostudování a vyřešení všech příkladů doporučujeme vypracovatkorespondenční úkol.Kombinační logické <strong>obvody</strong> provádí přímou transformaci vstupních logickýchproměnných na výstupní. Realizují určitou logickou funkci kterou můžemepopsat např. pomocí pravdivostní tabulky.Definujme si základní rozdíly mezi kombinačními a sekvenčními <strong>obvody</strong>:Kombinační obvod:– výstupy jsou závislé pouze na vstupních kombinacích a ne na jejichpředchozích hodnotách,– jediné kombinaci vstupních hodnot odpovídá jediná výstupní kombinace.Sekvenční obvod:– hodnota výstupní veličiny závisí nejen na okamžité kombinaci hodnotvstupních veličin , ale i na posloupnosti hodnot vstupních veličin jenž jsouuchovány v paměťových členech, v podobě vnitřních signálů logickýchobvodů, nebo-li v předcházejících časových okamžicích.4.1 Kódování, dekódování a převody kódů4.1.1 Převod desítkových číslic do kódu 842138


Počítačové systémy - logické <strong>obvody</strong> a systémykód8 4 2 1D C B Akód 1 z 100 1 2 3 4 5 6 7 8 901234567891011121314150000000011111111000011110000111100110011001100110101010101010101}1000000000nepoužité01000000000010000000000100000000001000000000010000000000100000000001000000000010kombinace0000000001Obr. Kombinační tabulkaNOR1357923674567>=1>=1>=1AABBCC89>=1Obr. Výsledné zapojení s <strong>obvody</strong> NORDD39


Počítačové systémy - logické <strong>obvody</strong> a systémyNAND135792367456789&&&&AABBCCDDObr. Výsledné zapojení s <strong>obvody</strong> NAND4.1.2 Převod z kódu 8421 na desítkové čísliceABCD00011110ABAB00 01 11 10 CD 00 01 11 10 CD 00 01 11 100000 0 2 3 1X X01 1 X X01 8 X X 9X X X X11 X X X X11 X X X X11010 4 6 7 54 = ABC 8 = AD 0 = ABCD1 = ABCD2 = ABC3 = ABC4 = ABC5 = ABC6 = ABC7 = ABC8 = AD9 = ADObr. Minimalizace funkcí40


Počítačové systémy - logické <strong>obvody</strong> a systémyABCD&0ABCD&1ABC&2ABC&3ABC&4ABC&5ABC&6ABC&7AD&8AD&9Obr. Realizace zapojení s <strong>obvody</strong> NAND41


Počítačové systémy - logické <strong>obvody</strong> a systémy&0BCD&&1&2B&&3C&4B&&5C&6B&&7C&8D&9A AObr. Upravené zapojení pro <strong>obvody</strong> NAND s menším počtem vstupů4.1.3 Převod do Grayova kóduGrayův kód má tu vlastnost , že se při přechodu od jednoho kódového slova kedruhému mění vždy jen hodnota jednoho bitu.42


Počítačové systémy - logické <strong>obvody</strong> a systémy8 4 2 1D1 C1 B1 A1GrayD1 C1 B1 A1012345678900000000110000111100001100110001010101010000000011000011111000111100000110011000Obr. Kombinační tabulkaC2&&&&C1D2C2D2Obr. Upravený obvod EXL-OR použitý ve výsledném zapojeníA2=A1 = [(D2 + C2) + B2] + A2B2=&B1 = [(D2 + C2) + B2] C2D2C2=&D2C1 = (D2 + C2)C2D2D2D1Obr. Výsledné zapojení s <strong>obvody</strong> EXL-OR43


Počítačové systémy - logické <strong>obvody</strong> a systémy4.1.4 MultiplexorZ = A. X +. Y4.1.5 4-vstupý multiplexor4 datové vstupy, 2 adresové vstupyA 1 A 2 Q Q = . . D 0 + . A 2 . D 1 +0 0 D 0+ A 1. . D 2 + A 1. A 2 . D 30 1 D 11 0 D 21 1 D 344


Počítačové systémy - logické <strong>obvody</strong> a systémy4.1.6 DekodérD 0 = .D 1 = . A 2D 2 = A 1 .D 3 = A 1 . A 2Realizace MPX pomocí dekodéru:45


Počítačové systémy - logické <strong>obvody</strong> a systémy4.2 Porovnání dvojkových informací4.2.1 Rovnost dvou proměnnýchB2 B1 A2 A1 F100000000111111110000111100001111001100110011001101010101010101011000010000100001B1B2A1A20001111000 01 11 101 0 0 00 1 0 00 0 1 00 0 0 1F1 = A1B1+A1B1+A2B2+A2B2F1 = (A1B1+A1B1)(A2B2+A2B2)Obr. Kombinační tabulka a minimalizace46


Počítačové systémy - logické <strong>obvody</strong> a systémyA1&A1B1B1&A1B1+A1B1&A2&A1B1A2B2&F1 = (A1B1+A1B1)(A2B2+A2B2)B2&&A2B2+A2B2A2B2Obr. Výsledné zapojení4.2.2 Jednobitový porovnávací obvodB A A = B A > B A < B00110101F1 F2 F3100101000010F1 = AB + ABF2 = ABF3 = ABA&A + B&&AB&A > BA = BBABA < BObr. Kombinační tabulka a zapojení4.2.3 Dvoubitový porovnávací obvod47


Počítačové systémy - logické <strong>obvody</strong> a systémyA1B1&A1 + B1&&A1B1A1B1&&A1B1A2B2A1B1A2B2&&F2F3A2&A2B2&A1 + B1&A2B2B2F1 F2 F3B2 B1 A2 A1A = B A > B A < BB2B2A1A200 01 11 10 00 01 11 1000 0 1 1 1 0 0 0 00111100 0 1 00 0 0 00 1 1 01 0 0 11 1 0 11 0 0 0F2F3F2 = A2B2 + A1A2B1 + A1B1B2F3 = A2B2 + A1A2B1 + A1B1B20000000011111111000011110000111100110011001100110101010101010101100001000010000101110011000100000000100011001110Obr. Kombinační tabulka, minimalizace a výsledné zapojení4.3 ParitaA1&&&&A1 + A2 = PLA1A2=PLA2Obr. Zapojení a schematická značka základního zapojení liché parity48


Počítačové systémy - logické <strong>obvody</strong> a systémyA1=1=1A2A3PLA1=1A1A2A3A4=1=1=1PLA2A3A4A5=1=1=1=1=1PLA6A1=1A2=1A3A4=1=1PLA1A2=1=1A5A3=1A1A2=1=1A4A5=1=1PLA3A4=1=1PLA6 =1A7=1A5=1A8A6Obr. Zapojení pro různý počet bitůA1&A1A2&A1A3&A2A3&&&&PLA1A2A3&lichýPLA3Obr. Základní obvod pro kontrolu liché parity tří bitů49


Počítačové systémy - logické <strong>obvody</strong> a systémyA2&&A2A3&&&&&PSA1A2A3&sudýPSA3A1A1Obr. Základní obvod pro kontrolu sudé parity tří bitů4.4 Sečítačky a odečítačky4.4.1 Sčítačka MODULO 2Činnost sčítačky modulo 2 je dána následující tabulkou. Jednotlivé číslicevstupující do součtu jsou x a y, z je číslice dvojkového aritmetického (nikolilogického) součtux + y = z.x y z0 0 00 1 11 0 11 1 0Vzhledem k tomu, že číslice x a y považujeme za logické proměnné,můžeme z považovat za výstupní funkci a vytvořit úplnou disjunktnínormální formuz = xy +xyPři realizaci sčítačky z logických členů NAND je vhodné výraz pomocíalgebraických úprav změnit na:z = (x +y)xy50


Počítačové systémy - logické <strong>obvody</strong> a systémy0&000&0000&00&004.4.2 Jednobitová neúplná sečítačkasoučetpřenosA&&&&SA B S CB001101010110S = AB + ABC = AB0001AB=1SCCC4.4.3 Jednobitová úplná sečítačkaA B Ci S C00000111100110011010101010110100100010111CiViAB00 01 11 100 0 1 0 11 1 0 1 0AB00 01 11 100 0 0 1 01 0 1 1 1S = ABCi + ABCi + ABCi + ABCi == A(B + Ci) + A(B + Ci) == A + B + ViC0 = AB + Ci A + CiB == AB + Ci (A + B)Obr. Kombinační tabulka a minimalizace51


Počítačové systémy - logické <strong>obvody</strong> a systémyABCiABCiABCi&&&&SABACi&&&C0C0B&AB&CiCiObr. Zapojení s <strong>obvody</strong> NANDCiAB=1=1 &SCS0C0Obr. Zapojení s neúplnými sečítačkamiA&&&&&S0B&S0Ci&C0Obr. Příklad zapojení4.4.4 Jednobitová úplná odečítačka52


Počítačové systémy - logické <strong>obvody</strong> a systémyA B V1 D V0AB0000111100110011010101010110100101110001ViVi00 01 11 100101100110AB00 01 11 100 0 1 0 01 1 1 1 0D = ABVi + ABVi + ABVi + ABVi == A + B + ViV0 = AB + AVi + BViObr. Kombinační tabulka a minimalizaceA&ABB>=1ViVi&ViVi(AB + AB)AB + ABAB + AB>=1V(AB + AB)AB&AB>=1ViAB + AB>=1=DDViVi(AB + AB)AB&ABObr. Příklad zapojení4.4.5 Polosčítačkax y S P0 0 0 0S = . y + x.0 1 1 0P = x. y1 0 1 01 1 0 153


Počítačové systémy - logické <strong>obvody</strong> a systémy4.4.6 Úplná sčítačkax i y i p i-1 s i p i0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1Kontrolní otázky:7. Nakreslete logické schema úplné sčítačky?8. Proč má úplná sčítačka 3 vstupy a 2 výstupy?Korespondenční úkol:3. Navrhněte kombinační logický obvod realizující dekodérsedmisegmentového zobrazovače hexadecimálních znaků.Shrnutí obsahu kapitolyV této kapitole jste se seznámili se základními kombinačními logickými<strong>obvody</strong>. Důraz v této kapitole byl kladen na pochopení vytváření logickýchobvorů. Velká pozornost byla věnována funkcím sčítačky.54


Počítačové systémy - logické <strong>obvody</strong> a systémy5 Sekvenční logické <strong>obvody</strong>V této kapitole se dozvíte:• Jaké jsou základní sekvenční logické <strong>obvody</strong>?• Z jakých logických prvků se sestavují registry?• Jaké funkce a složení mají čítače?• Jaké jsou realizovány seriové a paralelní vstupy a výstupy?Po jejím prostudování byste měli být schopni:• Charakterizovat základní typy klopných obvodů.• Znát způsob návrhu sekvenčních logických obvodů.• Porozumět funkcím registrů a čítačů.Klíčová slova této kapitoly:Klopný obvod, registr, čítač, seriový vstup, paralelní vstup.Doba potřebná ke studiu: 4 hodinyPrůvodce studiemStudium této kapitoly je složitější oproti předchozím kapitolám. Pochopenífunkce sekvenčních logických obvodů je důležité pro znalost dalších částípočítače.Na studium této části si vyhraďte alespoň 4 hodiny.Po celkovém prostudovánía vyřešení všech příkladů doporučujeme vypracovat korespondenční úkol.Sekvenční obvodSekvenční <strong>obvody</strong> se dělí na:• Synchronní - Jsou synchronizovány samostatnými signály , které senazývají synchronizační , nebo hodinové a určují jednotlivé takty (časové intervaly ) tj. diskrétní čas55


Počítačové systémy - logické <strong>obvody</strong> a systémy• Asynchronní - U asynchronních logických obvodů nastává okamžitázměna stavu na vstupu . Ze vstupních hodnot se vygeneruje výstupnísignál5.1 Klopný obvod RSZákladním obvodem, který je schopen setrvat v určitém stavu (logické 0 nebo1) bez aplikace vnějších logických úrovní (mimo napájecí napětí ovšem) jetzv.paměťová buňka, neboli klopný obvod. Nejjednodušší klopný obvodvytvoříme pomocí dvou NAND členů, kterým křížem propojíme vstupy avýstupy. Pravdivostní tabulka takového klopného obvodu je uvedena nanásledujícím obrázku.R S Q i0 1 1 01 0 0 10 0 Q i-11 1 Zakázaný stavZapojení RS klopného obvodu je uvedeno na následujícím obrázku.S1&QR1&QRS klopný obvodV sekvenčním logickém systému je třeba, aby se nastavení nebo nulováníklopných obvodů dále v synchronismu s hodinovými impulsy. To lzezabezpečit tak, že místo invertorů na předchozím obrázku použijeme56


Počítačové systémy - logické <strong>obvody</strong> a systémydvoustupová hradla NAND, která otevíráme hodinovými impulsy. Je zřejmé,že je-li úroveň na hodinovém vstupu log 0 (stav mezi dvěma impulsy),nezmění klopný obvod svůj stav ; pamatuje si jej po dobu mezi dvěmahodinovými impulsy. Jsou-li vstupy R a S uzemněny (je-li na nich logickánula), pak na výstupech řídících hradel je logická jednička nezávisle na úrovnihodinového vstupu. Výstupy Q a zůstávají proto na úrovni, do které se dostalypřed tím, než jsme na oba vstupy R a S logickou nulu přivedli. Přivedenímlogické nuly na oba vstupy R i S zablokujeme tedy stav výstupů Q a , kteréjsou nyní nezávislé na hodinových impulsech.S&A3&A1QCR&A4&A2QRS klopný obvod s hodinovým vstupemQQSCRTPředpokládejme nyní, že S = 1, R = 0. Po příchodu hodinového impulsu je pakna výstupu hradla A 3 logická 0 a na výstupu hradla A 4 logická jednička.Prostudujeme-li logické úrovně zapojení uvidíme, že obvod nastavíme dostavu, kdy Q = 1 a = 0. Tento stav setrvává do té doby, dokud v době příchoduhodinového impulsu je na vstupech S = 1 a R = 0, Ze symetrie obvoduokamžitě plyne, že pro S = 0 a R = 1, nastavíme obvod po příchoduhodinového impulsu do stavu Q = 0 a = 1.Je-li S = 1 = R , nastaví se výstupy hradel A 3 a A 4 po příchodu hodinovéhoimpulsu do stavu logické nuly. Tento stav by opět implikoval, že oba výstupyhradel A 1 a A 2 by měly být ve stavu logické jedničky, což je neslučitelné sezapojením klopného obvodu. Ve skutečnosti se stane to, že v závislosti na tom,57


Počítačové systémy - logické <strong>obvody</strong> a systémykterý z výstupů hradel A 3 a A 4 stoupá po ukončení hodinového impulsurychleji, nastaví se na výstupech a Q buď stav Q = 1 nebo Q = 0. Stav výstupůproto nezáleží ani na stavech vstupů ani na úrovni hodinového impulsu, ale navnitřních parametrech obvodu ; je to tedy neurčitý stav a v tabulce je znázorněnotazníkem. Proto se při buzení tohoto klopného obvodu musí pamatovat na to,aby stav R = S = 1 nemohl nastat.Kromě právě popsaného klopného obvodu R-S jsou používány třidalší typy klopných obvodů : dvojčinné klopné <strong>obvody</strong> J-K, T a D. Dvojčinnéklopné <strong>obvody</strong> J-K, D a T odstraňují neurčitý stav obvodu R-S. Obvod Tpracuje jako binární obvod, který mění svůj stav po každém hodinovémimpulsu.5.2 Klopný obvod J-KJ K Q i0 1 01 0 10 01 1 Q i-1RealizaceJK klopného obvodu z RS klopného obvodu58


Počítačové systémy - logické <strong>obvody</strong> a systémySchematická značka JK klopného obvodu s hodinový vstupem5.3 Klopný obvod typu T(RS-T)Mění svůj stav při každém hodinovém impulsu. Je tedy Q n+1 =Q n . Zpravdivostní tabulky obvodu J-K můžeme vidět, že tuto funkci plní obvod J-Kpro J = K = 1. Obvod typu T má tedy dva vstupy - vstup T (spojené vstupy J-K) a vstup pro hodinové impulsy. Je-li T = 1, obvod se překlápí, Q n+1 = Q n , jeliT = 0, obvod zůstává překlopen do původního stavu; Q n+1 = Q n . Tato funkceobvodu T je využita v synchronních čítačích - viz níže. Pokud nepotřebujemeobvod T elektricky ovládat, vystačíme s obvodem typu D, u něhož spojímevýstup se vstupem D. Snadno nahlédneme, že je pak Q n+1 = Q n .5.4 Klopný obvod typu DPravdivostní tabulka funkce D klopného obvodu je zřejmá z následujícíhoobrázkuD C Q i1 10 0? __ Q i-1Realizace s využitím RS klopného obvodu je naznačena na následujícímobrázkuRealizace D klopného obvodu z RS klopného obvodu59


Počítačové systémy - logické <strong>obvody</strong> a systémyD klopný obvod také vznikne z obvodu typu J-K, vložíme-li invertor mezivstupy J a K tak, že K je komplementem J (následující obr. ). Z pravdivostnítabulky obvodu J - K plyne, že Q n+1 = 1 pro D n = J n = n = 1 a Q n+1 = 0 pro D n =J n = n = 0. Tedy Q n+1 = D n. Vzhledem k tomu, že pravdivostní tabulka obvoduJ-K pro J = se neliší od tabulky obvodu R-S pro R = , můžeme obvod tohototypu rovněž sestavit z řízeného obvodu R-S (v tom případě hovoříme ojednoduchém nebo jednočinném klopném obvodu). Takový obvod mění svůjstav při náběžné hraně hodinového impulsu; v případě, že D obvod sestavíme zobvodu J-K typu master - slave, mění se stav s týlovou hranou hodinovéhoimpulsu. Klopné <strong>obvody</strong> typu D mohou sloužit jako paměti binární informace,která se vybaví hodinovým impulsem k dalšímu zpracování. Příklademjednoduchého obvodu typu D je integrovaný obvod 7474 (dva jednoduché D-<strong>obvody</strong> v jednom pouzdru).Dhodiny1J C QCKQ5.5 Dvojčinný klopný obvod J-K typu master-slavePro odstranění neurčitého stavu klopného obvodu R-S byl vyvinut tzv. dvojčinnýklopný obvod J-K. Principiální zapojení je na následujícím obrázku.Principiální schéma:Nastavení S2S&&&&QR1&&&&QR2t1 t2generování t1 a t2NastaveníHodinový signálObr. J-K KO M-SSJCKTQ60


Počítačové systémy - logické <strong>obvody</strong> a systémyZapojení obsahuje dva řízené klopné <strong>obvody</strong> R-S, u nichž výstupy Q a prvníhojsou navázány na vstupy S a R (po řadě) druhého. Druhý klopný obvod se řídíinvertovanými hodinovými impulsy a zpětná vazba je vedena z výstupudruhého klopného obvodu na vstup prvního. První klopný obvod se nazývářídicí (master), druhý klopný obvod je řízený (slave). S náběžnou hranouhodinového impulsu se nastavuje úroveň na výstupech řídícího obvodu ; řízenýobvod je uzavřen, neboť úroveň na jeho hodinovém vstupu = 0. S úběžnouhranou hodinového impulsu se uzavírá vstup řídícího klopného obvodu a stavna jeho výstupu je kopírován řízeným klopným obvodem. Jeho výstupníúrovně jsou vedeny zpětnou vazbou na vstup řídícího obvodu, tam všaknezpůsobí žádnou změnu, neboť tentokrát je řídící obvod uzavřen (C = 0).Asynchronní vstupy jsou zavedeny do řídicího klopného obvodu. Nastavíme-liasynchronními vstupy řídící klopný obvod, přesune se tato informace dořízeného klopného obvodu okamžitě (je-li C = 0), neboť mezi hodinovýmiimpulsy je C = 0, tedy = 1; řízený klopný obvod, ovládaný signálem , je tedyotevřen.5.6 Funkce posouvání a čítání5.6.1 Čítače kmitočtuKombinaci klopných obvodů schopnou čítat počet vstupních impulsů a vyjádřitjejich počet pomocí buď binárního nebo jiného kódu, nazýváme čítače.5.6.1.1 Asynchronní čítač vpředAsynchronní čítač vpřed je znázorněn na následujícím obrázku:Realizace čítače řízeného sestupnou hranou impulsuSestává se z řetězce (v našem případě čtyř) klopných obvodů T. Klopné<strong>obvody</strong> byly vytvořeny pomocí obvodu J-K připojením obou vstupů nalogickou 1. Jednotlivé klopné <strong>obvody</strong> mění stav výstupu při každé úběžnéhraně na svém hodinovém vstupu. Překlápění obvodů se tedy řídí v podstatědvěma pravidly:1. Výstup Q 0 obvodu T 1 mění svůj stav při každé úběžné hraně vstupníchimpulsů,61


Počítačové systémy - logické <strong>obvody</strong> a systémy2. Všechny ostatní výstupy mění svůj stav právě když předcházející klopnýobvod mění stav výstupu Q z 1 do 0.Aplikací těchto pravidel dostáváme tvar signálu na výstupech Q 0 - Q 3 tak, jakje uvádí následující obrázek. Vidíme, že stav výstupů Q 0 - Q 3 je přesně binárníreprezentace čísla, udávajícího pořadí vstupního hodinového impulsu.Takovýto řetězec klopných obvodů čítá tedy v binární soustavě. Pro názornézobrazení příslušného čísla je však třeba užít dekodéru, tj. logické sítě s 16výstupy tak, aby při každé kombinaci jednotlivých bitů byl na logické úrovni 1právě jeden z výstupů.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Q 0Q 1Q 2Q 3číslovýstupy klopných obvodůvýstupníhoimpulsu Q 3 Q 2 Q 1 Q 00 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 18 1 0 0 09 1 0 0 110 1 0 1 011 1 0 1 112 1 1 0 013 1 1 0 114 1 1 1 015 1 1 1 116 0 0 0 062


Počítačové systémy - logické <strong>obvody</strong> a systémy5.6.1.2 Synchronní čítačeZ rozboru funkce asynchronních čítačů je zřejmé, že změna stavu z 1 do 0předcházejícího obvodu teprve působí změnu stavu následujícího obvodu. Vpřípadě, že všechny <strong>obvody</strong> jsou na logické úrovni 1, vybuzují postupně jedendruhý a doba potřebná k tomu, aby celý čítač vykonal odezvu na vstupníimpuls, může být srovnatelná s dobou mezi jednotlivými impulsy. To jenebezpečné zvláště tehdy, je-li řada obvodů dlouhá, neboť dokud celý řetězecnedosáhne ustáleného stavu, nelze jeho výstupy synchronně (v jednomokamžiku) odečíst a zařízení tak ztrácí smysl.Aby se doba odezvy čítače na vstupní impuls snížila, byla opět poněkudmodifikována topologie zapojení čítače tak, aby na klopné <strong>obvody</strong> bylpřiveden vstupní impuls synchronně. V tom případě je však třeba zabezpečit,aby měnily stav jen ty klopné <strong>obvody</strong>, u kterých je to požadováno. Zde se plněvyužívá funkce obvodu typu T. Pomocí řídící logiky se ze stavu výstupůpředcházejících obvodů určuje logická úroveň vstupu T a tedy skutečnost, zdaklopný obvod změní nebo nezmění stav při aplikaci následného hodinovéhoimpulsu. Čítač se tak v době mezi impulsy “připravuje” na zpracovánínásledného hodinového impulsu. Příklad binárního synchronního čítače je nanásledujícím obr. Použitím tohoto zapojení lze zhruba zdvojnásobit pracovnífrekvenci čítače ve srovnání s asynchronním. Využitím asynchronních vstupůklopných obvodů lze před započetím čítání nastavit počáteční stav čítače, tj.provést předvolbu.JCKJCK&JCK&JCK5.6.1.3 Vratný čítačZařízení, které jsme právě rozebrali zobrazují počet vstupních impulsů vbinárním tvaru, tj. každý další impuls způsobí zvýšení stavu čítače o 1. Často jetřeba, aby čítač počet impulsů odečítal. Čítač, který toto provádí, se nazýváčítačem vzad. Asynchronní čítač vzad realizujeme tak, že místo výstupupředchozího klopného obvodu (Q n ) připojíme na hodinový vstup následujícíhoobvodu (Q n+1 ) předchozí negovaný výstup ().Čítače, které umožňují podle řídícího povelu čítání buď vpřed nebo vzadnazýváme vratnými. Asynchronní čítač vzad realizujeme tak, že místo výstupůi propojíme s hodinovými vstupy následujících obvodů výstupy. Chceme-litedy realizovat vratný asynchronní čítač, musíme sestrojit přepínač, který budepřepínat do hodinových vstupů buď výstup nebo předchozího klopnéhoobvodu. Příklad realizace takového přepínače je na následujícím obr.A B C DHodin vstupHJCKJCKJCKJCK63


Počítačové systémy - logické <strong>obvody</strong> a systémyU tohoto obvodu se v prvním kroku KO nastaví do 1.Čítač čítáP1 vpřed0 vzadObdobně jako se konstruují synchronní čítače vpřed lze vytvořit i vratnésynchronní čítače se zachováním jejich výhody oproti asynchronním -podstatně kratší doby odezvy na vstupní impuls. Jejich schéma je podstatněsložitější, než u asynchronních vratných čítačů, neboť je nutné hradlovathodinový signál v každém stupni; proto si je nebudeme uvádět. Vratné čítačese vyrábějí buď jako samostatné integrované <strong>obvody</strong> střední integrace, nebojsou na jednom čipu integrovány s <strong>obvody</strong> plnícími další funkce (napříkladprogramovatelný čítač/časovač 8253-4, využívaný v osobních počítačích kegeneraci časových signálů, obsahuje tři 16bitové vratné čítače, <strong>obvody</strong>-registryumožňující nastavit a zapamatovat si jejich funkci, a některé další <strong>obvody</strong>).5.6.1.4 Binární čítač v před ( nahoru ) - děličhodinyIJCKQCQU KO s přivedením hodinového signálu KO překlopí, když hodinovýsignál přechází z 1 do 0. Z časového diagramu je názorné, že v poměruhodinového signálua signálu na výstupu Q je 2:1. Přechod z 1 do nuly nejdříve přivede KO do 1 aaž po druhém signálu při přechodu z 1 do 0 dojde k překlopení výstupu do 0odtud poměr 2:1Této vlastnosti využijeme v kaskádním zapojení č KO.A B C DIhodinovýsig.HJCKJCKJCKJCKNa vstupy JK přivedeme logickou úroveň 1. Přivedeme hodinový signálna první vstup. Výstup prvního KO se připojí na hodinový vstup druhého KOatd. až zapojíme takto čtyři KO.Tím docílíme poměr mezi hodinovými signály a jednotlivými výstupyv poměru:H/A 2:1, H/B 4:1, H/C 8:1, H/D 16:164


Počítačové systémy - logické <strong>obvody</strong> a systémyČasový diagram:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16ABCDPravdivostní tabulka vzestupného čtyřbitového binárního čítače je naznačenana dalším obrázkuH 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16A 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0B 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0C 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0D 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0VýstupyPo šestnáctém taktovacím pulsu se všechny KO vynulují.Často tohoto zapojení se používá jako děliče kmitočtu:Přivedeme-li na vstup frekvenci f dostaneme na výstupu binárního čítačefrekvenci f/2, f/4,f/8 atak dále.5.6.2 Posuvné registryKombinací n klopných obvodů, schopnou zapamatovat si n-bitovou informaci,nazýváme registrem. Spojíme-li výstup klopného obvodu se vstupemnásledujícího klopného obvodu etc., dostáváme sestavu tzv. posuvnéhoregistru.Sériový registr (posuvný registr)Jedním taktem signálu CLK se informace posune o jeden D-KO65


Počítačové systémy - logické <strong>obvody</strong> a systémy5.6.2.1 Sériový vstup datPředpokládejme,že máme realizovaný posuvný registr z 5 klopných obvodů aže chceme zapsat do registru binární číslo 01011. Číslo zapisujeme způsobemobvyklým u decimálních čísel tak, že nejméně významný bit je vpravo.Sledujme při tom následující tabulku. Nejprve je třeba vynulovat všechnyklopné <strong>obvody</strong> aplikací logické úrovně 0 na mazací vstup registru.Pak všechny výstupy Q 0 - Q 4 jsou 0.Číslo hod. Bit Q 4 Q 3 Q 2 Q 1 Q 0impulsu1 0 1 1 0 0 02 0 1 1 1 0 03 0 0 0 1 1 04 1 1 0 1 1 05 0 0 1 0 1 0Nastavovací vstup registru je na úrovni logické 0, což má za následek, že všechpět nastavovacích vstupů jednotlivých klopných obvodů je na úrovni logickéjedničky. Data na sériovém vstupu registru musí být synchronizována shodinovými impulsy tak, že při aplikaci hodinového impulsu do registru je nasériovém vstupu nastaven jeden z datových bitů počínaje od nejméněvýznamného (LSB). Při prvním hodinovém impulsu je tedy na vstupu registru(KO 4 ) nejméně významný bit, který se úběžnou hranou impulsu přesune navýstup Q 4 , tedy na vstup S 3 a jeho komplement na R 3 . Proto při aplikacidruhého hodinového impulsu se nejméně významný bit přesune na výstup Q 3event. komplementovaný na , zatímco do K0 4 se načte další bit digitálníhoslova. Po pěti bitech se musí hodiny zastavit a podle tabulky vidíme, že vkaždém z klopných obvodů je po řadě informace o jednom z bitů zadanéhodvojkového čísla. Tuto informaci můžete přečíst najednou z výstupů Q 4 - Q 0 ; vtom případě mluvíme o převodníku sériového na paralelní kód, nebo opětsériově z výstupu Q 0 ; například při značně větší rychlosti hodinových impulsů.To je tzv. metoda vyrovnávací paměti (registr FIFO, first in, first out). Např.při spojení terminálu s počítačem není možné, aby terminál byl k počítačipřipojen po celou dobu, kdy vkládáme klávesnicí data. Proto se data zklávesnice ukládají do vyrovnávací paměti (např. jeden řádek obsahující max.80 znaků), která se rychle vyprázdní na povel k odeslání dat.5.6.2.2 Paralelní vstup datVšimněme si nyní nastavovacích vstupů PS 0 - PS 4 . Tyto vstupy jsou odvlastních nastavovacích vstupů klopných obvodů odděleny hradly NAND,které umožňují blokovat vnější vstupy a zapsat informaci jediným impulsem dovstupu nastavení registru. To je vhodné např. při přenosu dat od digitálníchměřících přístrojů,kde je informace v paralelní formě, tj. všechny bity jsoudostupné najednou. K propojení měřícího přístroje s řídícím počítačem všakněkdy není možné použít velkého množství vodičů, proto je třeba převést tutoparalelní informaci na sériovou. Po ukončení měření, kdy je na vstupech PS 0 -PS 4 informace např. o jednom z decimálních čísel zobrazovací jednotky,66


Počítačové systémy - logické <strong>obvody</strong> a systémyaplikujeme logickou úroveň 1 na vstup nastavení registru, čímž nastavímevýstupy jednotlivých klopných obvodů Q 0 - Q 4 do odpovídajících pozic (registrje třeba nejprve vynulovat). Proto se vstupu nastavení registru někdy říkázapisovací vstup (write). Informace shromážděná v registru se nyní můžepřečíst buď opět paralelně; v tom případě je třeba opatřit výstupy Q 0 - Q 4obdobnými hradly NAND jako nastavovací vstupy. Druhý vstup hradel pakumožňuje oddělit výstupy registru od dalšího zařízení. Informaci však můžemepřečíst též sériově z výstupu Q 0 při synchronní aplikaci hodinových impulsů. Vtomto případě hovoříme o převodníku paralelního na sériový kód.5.6.3 Kruhový registrSpojíme-li výstup Q 0 se sériovým vstupem registru, opakuje se na výstupechQ 0 - Q 4 táž informace vždy po pěti hodinových impulsech. Takovémuuspořádání říkáme kruhový registr. Lze si např. představit desetibitovýkruhový registr,do jehož MSB byla na počátku uložena jednička a jinak bylregistr vynulován. Je zřejmé, že vždy po deseti hodinových impulsech bude naMSB opět jednička a podle toho, na kterém bitu je právě jednička poznáme,kolik impulsů (v rozmezí od 0 do 9) přijal hodinový vstup registru. Takovýregistr tedy tvoří dekadický čítač (dělič deseti), kde není nutný dekodér binárníinformace na dekadickou; komplikaci však tvoří skutečnost, že je třeba vždy pozapnutí přístroje vložit do registru jedničku, která pak v registru "obíhá". Prodělení větším číslem potřebujeme rovněž značný počet klopných obvodů, takžecena zařízení neúměrně stoupá.Kontrolní otázky:9. Popište odlišnosti jednotlivých typů klopných obvodů.10. Proč se využívají v realizaci prvků počítačů klopné <strong>obvody</strong> typu Master -Slave?11. Proč musí být posuvný registr realizován dvojčinným klopným obvodem?Úkoly k zamyšlení:4. Zamyslete se nad obecnou architekturou počítače a určete, které sekvenčnílogické <strong>obvody</strong> se využívají v jednotlivých částech počítače?Korespondenční úkol:4. Navrhněte posuvný registr z klopných obvodů typu D a nakreslete schemazapojení.Shrnutí obsahu kapitolyV této kapitole jste se seznámili s realizací základních klopných obvodů, jakostavebních prvků složitějších sekvenčních obvodů. Důraz v této kapitole bylkladen na pochopení konstrukce čítačů a registrů. Velká pozornost bylavěnována vysvětlení principů výstavby seriových a paralelních obvodů vstupudat do posuvných registrů.67


Počítačové systémy - logické <strong>obvody</strong> a systémy6 Prvky mikropočítače6.1 Základní architektura počítačeZ koncepčního hlediska je mikropočítač takové uspořádání logických obvodůumožňující provádění logických i aritmetických operací podle posloupnostipovelů (programu) nad programem určenými vstupními veličinami za účelemzískání výstupních hodnot na programem určených výstupech. Architekturavětšiny dnešních mikropočítačů se zakládá na koncepci stanovené ve 40. letechJohanem von Neumannem, kdy program i data jsou uloženy v jedné operačnípaměti.Architektura mikropočítačů se sice v detailech od sebe značně odlišuje,můžeme však u každého vysledovat následující bloky (subsystémy):Operační paměťuchovává vstupní a výstupní data a program(posloupnost povelů - instrukcí) ve formě binárních číselŘadičdekóduje postupně instrukce programu uložené v operační paměti a generujesignály zajišťující činnost ostatních bloků mikropočítačeAritmeticko-logickájednotka provádí aritmetické a logické operace podle (ALU) signálů řadiče nadřadičem určenými veličinami. Někdy je doplněna registry pro uloženímezivýsledků operace (RALU)Vstupní a výstupní jednotkazabezpečuje komunikaci mikropočítače vnějším (I/0) okolím pomocípřídavných zařízen umožňujících komunikaci s mikropočítačem,např.klávesnice, tiskárna apod.Blok registr- aritmeticko-logická jednotka (RALU) spolu s řadičem tvoří tzv. procesorsystému. Je-li obsažen v jednom nebo několika integrovaných obvodech velkéintegrace označujeme jej jako mikroprocesor ( m P).Propojení bloků je provedeno pomocí systému sběrnic. Principielní propojenísběrnicemi je uvedeno na následujícím obrázku.68


Počítačové systémy - logické <strong>obvody</strong> a systémySběrnice mikropočítačeAdresová sběrnice je jednosměrná, slouží k adresování paměťového místa voperační paměti nebo vstupních a výstupních jednotek. Další datová sběrnice jeobvykle obousměrná a slouží k přenosu dat mezi bloky. Třetí sběrnice je řídící,která slouží k přenosu povelů (signálů) z řadiče zajišťujících programemstanovenou činnost jednotlivých bloků. V následujících odstavcích proberemepodrobněji principielní zapojení a činnost jednotlivých bloků.6.2 Operační paměťV současné době se převážně u mikropočítačových systémů používajípolovodičové paměti. Polovodičové paměti můžeme zhruba rozdělit do dvouskupin:a) Paměti, kde do libovolného místa určeného adresou můžeme buď zapsatdata v binární formě nebo v paměti uložená data přečíst. Tyto pamětioznačujeme obvykle zkratkou RAM, což je zkratka anglického názvu"Random Access Memory".b) Paměť s neměnným zápisem dat neboli paměti konstant. Z těchto pamětíběhem činnosti mikropočítače je možno pouze číst binární data. Označujeme jeobvykle zkratkou ROM, což je zkratka anglického názvu "Read OnlyMemory".Z hlediska závislosti uchování informace na napájecím napětí se u paměti typuRAM informace odpojením napájecího napětí ztrácí, zatím co u pamětí typuROM zůstane zachována.6.2.1 Paměti typu ROMPaměti typu ROM jsou paměti konstant u kterých jsou data trvale uložena.Data jsou v nich uložena buď přímo výrobcem nebo u paměti typu PROM(Programable Read Only Memory) je možné například pomocí tavných spojekpodle požadavků uživatele do jednotlivých míst paměti data v binární formějednou pro vždy zapsat. V současné době existují paměti označované zkráceněEPROM, u kterých je možno speciálním technologickým postupem zapsanádata vymazat a zapsat nová. Rychle se též začínají uplatňovat tzv. EEPROM(E 2 PROM, Flash), tj. paměti, do nichž lze zapsat i vymazat data elektrickoucestou a přesto zůstanou zachována po vypnutí napájení. Známé aplikace jsou69


Počítačové systémy - logické <strong>obvody</strong> a systémynapříklad Flash BIOS u základních desek osobních počítačů, rozšiřující kartydo notebooků nahrazující diskovou paměť apod.Paměti typu ROM jsou obvykle uspořádány v maticovém tvaru s organizacíobvykle označovanou jako počet slov (bytů) x počet bitů ve slově. Principielnízapojení je na následujícím obrázku.Principielní zapojení paměti ROMVstupní slovo dekodéru typu 1/n tvoří adresu, pomocí které se určuje aktivníadresový vodič na kterém je při čtení napěťová úroveň log 1 .Pomocí diod vmístě křižování adresových vodičů s bitovými vodiči se úroveň log 1 přenesena bitové vodiče. Kde není v místě křižování vodičů dioda, je na příslušnémbitovém vodiči napětí log 0. Na příklad při aktivaci adresového vodiče A je nabitových vodičích paměti uvedené na obrázku binární slovo (010110101010).Jako příklad programovatelné paměti PROM uvedeme paměť svíceemitorovými bipolárními tranzistory.70


Počítačové systémy - logické <strong>obvody</strong> a systémyPříklad paměti ROM s víceemitorovými bipolárními tranzistoryVýrobce dodává uživateli paměť, kde výstupní slovo je vytvořeno ze samýchlogických jedniček. Přetavením tavné spojky pomocí proudového impulsumůže uživatel dosáhnout na požadovaném bitu logickou nulu. Na výstupechpaměti jsou zesilovače umožňující získat potřebný logický zisk.6.2.2 Paměti typu RAMPaměti typu RAM jsou paměti, kdy do libovolného místa můžeme buď data vbinární formě zapisovat nebo uložená data přečíst. Do paměti RAM můžemezapisovat program,vstupní data, mezivýsledky apod. Příklad blokovéhoschématu paměti typu RAM je na následujícím obrázku.71


Počítačové systémy - logické <strong>obvody</strong> a systémyBlokové schéma paměti typu RAMJednotlivé paměťové buňky jsou obvykle uspořádány maticově, např. vorganizaci N x M. Buňku, do které chceme provést zápis nebo čtení jejíhoobsahu, aktivujeme pomocí řádkových a sloupcových adresových vodičůbuzených dekodéry 1/N a 1/M. Vstupní slova dekodérů pak tvoří adresu buňky.Vstupy a výstupy paměťových buněk jsou vedeny ke čtecím a zapisovacímzesilovačům. Pro zápis nebo čtení celého slova najednou se musí použít prokaždý bit samostatné čtecí a zapisovací zesilovače. Čtení a zápis je řízenlogickým obvodem ovládaným povely z řadiče.Jako paměťová buňka by mohl být použit klopný obvod (sekvenční) typu D .Zdůvodů dosažení velké integrace obvodů na jednom polovodičovém čipu sezapojení v buňce zjednodušuje, přičemž se používají jak tranzistory unipolárnítak bipolární. Pro paměťové buňky byla vyvinuta celá řada zapojení a prodetailní studium jejich zapojení odkazujeme čtenáře na doplňkovou literaturu.Zde si pouze uvedeme jako příklad zapojení 8tranzistorové paměťové buňky stranzistory MOS s kanálem P uvedené na následujícím obrázku.72


Počítačové systémy - logické <strong>obvody</strong> a systémyPříklad zapojení 8tranzistorové paměťové buňky s tranzistory MOSPaměťovou buňku tvoří bistabilní klopný obvod tvořený čtyřmi tranzistory.Napěťovou úroveň log 1 pro zapojení na obrázku předpokládejme (~ +16 V) apro log 0 (~ 0 V). Předpokládejme, že tranzistor T 1 je otevřen a tranzistor T 2zavřen. Pak na kolektoru tranzistoru T 1 je napěťová úroveň log 1 (~ +16 V) ana kolektoru tranzistoru T 2 je úroveň log 0 (~ 0 V). Tyto napěťové úrovně sepřenesou na hradla (řídící elektrody) obou tranzistorů a stav zůstane zachovánpokud na kolektory tranzistorů T 1 a T 2 se nepřevede zvenčí opačné napětí.Buňka je přes adresovací tranzistory T 5 až T 8 připojena na datovou sběrnici (Da ).Adresovací tranzistory aktivujeme ustavením řádkového A N a sloupcového B Mna napěťovou úroveň log 0 (~ 0 V). V případě, že adresovací tranzistory jsouotevřeny a na sběrnici D přivedeme úroveň log 0 a na úroveň log 1, klopnýobvod se překlopí.Principielní zapojení čtecího a zapisovacího obvodu pro uvedenou paměťovoubuňku je uveden na následujícím obrázku.73


Počítačové systémy - logické <strong>obvody</strong> a systémyČtecí a zapisovací obvod paměťové buňkyČtení se provádí pomocí diferenciálního zesilovače a zápis pomocí dvojicezesilovačů s bipolárními tranzistory, jejichž vstupy jsou ovládány povelem prozápis (W). Je-li W na úrovni log 1 je vstup otevřen pro zápis dat. V opačnémpřípadě je vstup blokován a data uložená v buňce se mohou pomocídiferenciálního zesilovače pouze číst.Snaha o zvýšení stupně integrace vedla vývojáře ke snaze o snížení počtutranzistorů nutných k vytvoření jedné buňky a k její adresaci. Podstatnéhosnížení počtu tranzistorů na buňku bylo dosaženo v tak zvaných dynamickýchpamětech, kde nositelem informace je parazitní kapacita mezi hradlem aemiterem unipolárního tranzistoru. Vlivem svodu se napětí na této kapacitěsnižuje a je nutné je vždy po určité době (např. po 2 msec) obnovovat. Je všaknutné mít na zřeteli, že rychlost dnešních mikropočítačů je taková, že mohouvykonat řádově desítky až stovky operací mezi dvěma obnovovacími cykly.Příklad paměťové buňky dynamické paměti je uveden na následujícímobrázku.74


Počítačové systémy - logické <strong>obvody</strong> a systémyPříklad paměťové buňky dynamické pamětiZde je naznačen jeden sloupec paměti. Nositelem informace je kapacita mezihradlem a emitorem tranzistoru T 1 .Tranzistory T 2 a T 3 slouží k připojeníbuňky ke čtecímu a zápisovému datovému vodiči. Postup obnovení informací vbuňkách paměti si vysvětlíme pomocí čtecího a zapisovacího obvodu. Všechnydatové vodiče paměťových buněk ve sloupci jsou propojeny paralelně apřipojeny k jednomu obvodu.Při čtení se nejdříve aktivují datové vodiče přes tranzistory T 6 a T 7 signálu log1 na vodič přednastavení. Zároveň se aktivuje řádkový adresový vodič čtení,čímž se otevře tranzistor T 2 .Je-li v buňce zapsaná informace (bit) za úrovni log1 je čtecí datový vodič přes tranzistory T 1 a T 2 uzemněn a je za něm úroveň log0. V opačném případě, kdy informace je na úrovni log 0 je na čtecím datovémvodiči úroveň log 1. Informace na čtecím vodiči je tedy negována vzhledem kinformaci zapsané v buňce.Přivedeme-li na vodič obnovení log 1 otevře se tranzistor T 5 a informace sepřepíše na zápisový datový vodič negovaně, tj. na zápisovém vodiči jeinformace stejná jako v buňce. Jestliže současně aktivujeme i řádkovýzapisovací adresový vodič buňky a otevřeme tranzistor T 3 , obnovíme informaci75


Počítačové systémy - logické <strong>obvody</strong> a systémyzapsanou v buňce. V uvedeném zapojení se současně obnovuje informacezapsaná v buňkách v celé řádce. Je třeba podotknout, že čtení informace jenedestruktivní, tj. že se při čtení informace v buňce zachovává.Vedle uvedených dynamických pamětí se používají paměti s postupnýmvýběrem, které využívají dynamické posuvné registry. Nositelem informace udynamického posuvného registru je opět parazitní kapacita mezi hradlem aemiterem unipolárního tranzistoru. Principielní schéma je na následujícímobrázku.Principielní schémaPosuv informace je řízen zpravidla dvoufázovými hodinovými impulsy Φ 1 , Φ 2a které se nepřekrývají. Tzv. statické posuvné registry mají v buňce ještě dalšítranzistor, který je řízen impulsy Φ 3 . Tímto způsobem je zajištěna obnovainformace i v případě, že neprobíhá posuv.6.3 Jednočipové mikropočítačeBrzy po vyzkoušení mikroprocesorů ve výpočetních aplikacích se ukázalo, žese jedná o součástku mnohem universálnější, která se uplatní nejen vevýpočetních, ale i v řídicích aplikacích, kde významným způsobem zjednodušía zlevní návrh řídicího hardware. Ukázalo se rovněž, že sestava řídicíhosystému s mikropočítačem může být optimalizována, tj. minimalizována zhlediska rychlosti, šířky slova zpracovatelného pomocí RALU, kapacityoperační paměti, množství vstupně-výstupních obvodů i rozsahu řídicíhoprogramu. Postupně se tak vyvíjel minimalizovaný systém řídicíhomikropočítače, který pak výrobci začali integrovat do jednoho čipu. Vznikl takmikrokontrolér, mikrořadič, jednočipový mikropočítač (anglicky embeddedmicrocontroller), který je svou architekturou přizpůsoben speciálně promonitorování a řízení různých mechanismů a procesů. Kromě vlastníhomikroprocesoru jsou na čipu integrovány ještě operační paměť (RAM), pevnápaměť (ROM, PROM nebo EPROM), kde je uložen řídicí program, vstupní avýstupní <strong>obvody</strong>, případně přímo potřebná rozhraní pro řízení periferií,76


Počítačové systémy - logické <strong>obvody</strong> a systémynapříklad seriové rozhraní, časovač, A/D nebo D/A převodníky, výkonovébudiče řídicích číslicových signálů apod. Jednočipové mikropočítače zpravidlaobsahují oddělenou paměť programu (zpravidla užívaný název pro ROM,PROM nebo EPROM mikrořadiče) a paměť dat (zpravidla užívaný název proRAM mikrořadiče) a časovače, které umožňují synchronizaci s vnějším okolím- s reálným světem. Proto se někdy jednočipovým mikropočítačům říká řídicísystémy v reálném čase. Aplikační rozsah těchto řídicích systémů je praktickyneomezený od běžných elektronických přístrojů používaných v domácnostijako je videorekordér, automatická pračka, kuchyňský sporák, šicí stroj apod.až po nejnáročnější aplikace v automobilovém a leteckém průmyslu a vevojenství. Vývoj a aplikace jednočipového mikropočítače je v číslicovétechnice jistou duální analogií k vývoji a aplikaci operačního zesilovače vtechnice analogové; i zde je obecný princip (v tomto případě univerzálníhozesilovače) realizován v řadě modifikací, vhodných pro dané specifickéaplikace.Největšího rozšíření z hlediska aplikací doznaly mikrokontroléry dvouvýznamných výrobců mikroprocesorů - firem Motorola a Intel (podobně jako vtechnice stolních mikropočítačů). Spektrum výrobců jednočipovýchmikropočítačů je však velmi široké, mimo již jmenované firmy jsou tonapříklad americké Texas Instruments, National Semiconductors, evropskéPhilips, Siemens, japonské OKI, NEC, Toshiba, Hitachi apod. Charakteristicképro historický vývoj mikrokontroléru však je, že se zde neprojevuje snaha odrastické zvýšení rychlosti a kapacity paměti jako u osobního počítače. Je todáno zejména faktem, že nasazením řídicího mikropočítače v dané aplikacimusí dojít k podstatnému zjednodušení výroby a tím ke snížení cenyvýsledného výrobku. Stačí-li proto například k vykonání specifického řídicíhoprogramu operační paměť 64 bytů, není výrobce ničím motivován, aby použilmikrokontrolér s pamětí 128 bytů, protože by tím jen zdražil výsledný výrobek.Obecně platí, že se pro aplikaci použije ten nejjednodušší mikrokontrolér, kterýpro danou aplikaci vyhovuje. Tato motivace je proto také důvodem k tomu, ževýrobci jednočipových mikropočítačů nabízejí velmi široké spektrumkonfigurací mikrokontrolérů, lišící se i drobnými změnami v kapacitě pamětí(RAM i ROM), počtů vstupů/výstupů, použitelných periferií apod. Přito záměrvýrobce aplikace je co nejjednodušší (a tím nejlevněji vyrobitelnáa nejspolehlivější) sestava potřebného řídicího hardware, nejlépe složená pouzez vlastního mikrokontroléru. Historické řady mikrokontrolérů se proto spíše lišíšířkou nabízených modifikací periferních obvodů, než vlastní sestavou řídicíhomikropočítače. Z rozšiřování řídicího systému mikrokontroléru je patrná snahao rozšíření kapacity pevné paměti PROM na čipu, z původních 1-4 kB u řadyMCS-48 fy Intel na současných 32 kB u řady MCS-96 téže firmy,adresovatelného prostoru paměti, z původních 64 kB (řada Intel MCS-51) na16 MB (řada Intel MCS-251), zrychlení provádění instrukcí (z původních max.24 hodinových cyklů na 2 hodinové cykly u těchže řad) a o komfortprogramování (zdrojové programy pro řadu MCS-251 mohou být v jazyce C).Snaha je též o zaintegrování specializovaných obvodů pro řízení periferií, kterépak minimálně zatěžují centrální jednotku mikrokontroléru. Mezi takovéspecializované <strong>obvody</strong> patří například zrychlení obsluhy přerušení, tzv.jednotka zpracování událostí apod. Jednotlivé generace jednočipovýchmikropočítačů se tak liší počtem časovačů, počtem a druhy vstupně výstupních77


Počítačové systémy - logické <strong>obvody</strong> a systémyobvodů, počtem přerušovacích vstupů, přítomností A/D převodníku na čipu ajeho rozlišením, případně přítomností speciálních generátorů řídicích signálů(pulsní šířkově modulovaný výstup u řady MCS-96). K datu vydání skript bylyautorům známy řady 8, 16 a 32bitových jednočipových mikropočítačů(poslední vyrábí například Motorola, Texas Instruments a Hitachi).Jednočipové mikropočítače jsou vyráběny, podobně jako mikroprocesory, buďtechnologií MOS (nebo jejími mutacemi HMOS, HMOS II apod.) nebo CMOS(nižší rychlost a spotřeba).Pro ilustraci, jak se liší hardwarové sestavy jednotlivých historicky vzniklýchřad jednočipových mikropočítačů uvedeme tři řady fy Intel: MCS-48 (vznikla vroce 1976), MCS-51 (vznikla v roce 1980) a MCS-96 (vznikla v roce 1983).Řada Intel MCS-48(integrováno načipu)8bitová CPU1/2/4 kB ROM64/128/256 bytůRAM1 čítač/časovačparalelnívstup/výstup8bitový převodníkA/DŘada Intel MCS-51(integrováno načipu)8bitová CPU4/8 kB ROM128/256 bytů RAM2 čítače/časovačeparalelnívstup/výstupseriovývstup/výstupaž 6 zdrojůpřerušeníŘada Intel MCS-96(integrováno na čipu)16bitová CPUaž 32kB ROMaž 744 bytů RAM2 čítače/časovače a hlídací časovač(watchdog)až 64 bitů číslicovýchvstupů/výstupůaž 5 seriových linek vstupu/výstupuA/D převodník 8/10 bitůs multiplexeremjednotka zpracování událostíjednotka zrychlené obsluhypřerušeníaž 14 zdrojů přerušeníSrovnáme-li vnitřní struktury jednotlivých řad mikrokontrolérů najde v nichčásti, které jsou analogické vzájemně i ve srovnání s obecnou strukturoumikropočítače a části specifické pro příslušnou skupinu jednočipovýchmikropočítačů. Jako příklad uvádíme na následujících obrázcíchzjednodušenou vnitřní strukturu 8bitového a 16bitového mikrořadiče.78


Počítačové systémy - logické <strong>obvody</strong> a systémyZjednodušená vnitřní strukturu 8bitového mikrořadičeZjednodušená vnitřní strukturu 16bitového mikrořadičeI když jsou uvedená schemata základem určitých konkrétních jednočipovýchmikropočítačů, budeme je vykládat jako příklady možné architekturymikrořadičů.Všimněme si nejprve 8bitového mikrořadiče. Základním prvkemjednočipového, tak jako i běžného, mikropočítače je centrální procesorová79


Počítačové systémy - logické <strong>obvody</strong> a systémyjednotka CPU, tvořená řadičem instrukcí, ALU, registry pro zápis dat, instrukcía stavu, a paměťovým rozhraním. Vnitřní adresová sběrnice je 8vodičová,multiplexovaná a slouží též jako (obousměrná) datová sběrnice. Řídicí sběrnicenení v obrázcích zakreslena. Paměť programu (ROM) může mít kapacitu 64 kBprávě tak jako paměť dat (RAM). To je kapacita, kterou je tento jednočipovýmikropočítač schopen adresovat ať se jedná o paměť na čipu nebo externípaměť. Na čipu je však umístěno jen max. 256 bytů paměti dat a max. 32 kBpaměti programu. Tento vzájemný poměr kapacity paměti programu a operačnípaměti je charakteristický pro řídicí softwarové aplikace, neboť ty neobsahujíprogramové operace náročné na operační paměť. Mikrořadič má čtyři 8bitovéobousměrné paralelní porty pro vstup/výstup číslicových logických signálů ajeden sériový port pro asynchronní a synchronní sériovou komunikaci a prokomunikaci v multiprocesorových systémech. Je schopen zpracovat logickýsignál přerušení z celkem 6 zdrojů. Může mít až tři programovatelné 16bitovéčítače/časovače, použitelné buď odděleně pro komunikaci s vnějšímprostředím, nebo lze jeden z nich využít pro generaci přenosové rychlostisériového kanálu. Pracovní kmitočet hodinového signálu se může pohybovat vrozmezí od 0 do 16 MHz. Paměť programu může být v provedení ROM,PROM nebo EPROM. (V literatuře popisující mikrořadiče se vyskytuje častonázev OTPROM, což je zkratka pro One-Time-Programmable ROM; tentonázev je ekvivalentní označení PROM.) Mikrořadič má dva režimy sníženéspotřeby, “idle”, kdy se spotřeba z původních 70 mA na napájecím napětí 5 Vsníží na cca 30 mA, a “power-down”, kdy je jeho spotřeba pouze cca 50 µA.Rychlejší 16bitový jednočipového mikropočítač má shodné součásti a proto jenebudeme opakovat. Adresová sběrnice je oddělena od datové a má 8 vodičů;řádková a sloupcová adresa jsou časově multiplexovány. Adresovatelný prostorje proto 64 kB, z otho na čipu může být až 32 kB. Datová sběrnice má plnoušířku 16 vodičů, přenos dat mezi CPU, pamětí a periferiemi je proto rychlejšínež v předchozím případě. Aritmeticko-logická jednotka má zabudovanouhardwarovou násobičku (16x16 bitů za 1,75 µs při taktovací frekvenci 16MHz) a děličku (32/16 bitů za 3 µs při taktovací frekvenci 16 MHz).Mikrořadič obsahuje systém pro zrychlení obsluhy přerušení, označený naobrázku jako PTS, a jednotku pro zpracování událostí, označenou jako EPA.Tato jednotka “předzpracovává” číslicové signály z periferních čidel z hlediskasplnění potřebných podmínek (například komparace, časová následnost, apod.)a šetří tak procesoru čas, o který je pak odezva na konkrétní stav vnějších čidelrychlejší. Kromě toho obsahuje mikrořadič na čipu ještě převodník A/D sprogramovatelným rozlišením 10 nebo 12 bitů (nižší rozlišení znamená kratšídobu převodu), který je vybaven 8-14 kanálovým multiplexerem rovněž načipu. Mikrokontrolér je tak schopen reagovat i na analogové signály z vnějšíchčidel bez dodatečných součástek. Číslicových logických vstupů můžemikrokontrolér využít až 53 a obsahuje rovněž dva programovatelnéčitače/časovače a hlídací časovač (watchdog). Sběrnice mikrořadiče jsouvyvedeny pro připojení vnější paměti nebo dalších vstupně-výstupních obvodů.Z uvedených příkladů je zřejmé, že jednočipový mikropočítač je a zůstaneširoce používanou elektronickou součástkou v jednoúčelových aplikacích, kdeje rozsah řídicích funkcí předem znám. Velký výběr mikrořadičů nabízenýchrůznými výrobci umožňuje nalézt typ, jaký je pro danou aplikaci nejvhodnější.80


Počítačové systémy - logické <strong>obvody</strong> a systémyVlastní nasazení pak vyžaduje vyvinout řídicí program a vyzkoušet jej buď nazařízení simulujícím funkci jednočipového mikropočítače (emulátoru) nebo namikrořadiči osazeném pamětí EPROM, kterou je možné v případě chyby vprogramu přeprogramovat. Tyto mikrokontroléry jsou opatřeny, podobně jakopaměti EPROM, okénkem, kterým je možné obsah celé paměti programusmazat. V současné době nabízí celá řada prodejců vývojové prostředky proprogramování jednočipových mikropočítačů, jejich popis a použití však jižpřesahuje rámec těchto skript.Literatura:1) Mueller Scott, Osobní počítač, Computer Press Praha 20012) Pelikán, J.: Architektura počítačů PC. Texty v elektronické podobě.Masarykova <strong>univerzita</strong> v Brně 19983) Brandejs, M.: Architektura počítačů. Texty v elektronické podobě.Masarykova <strong>univerzita</strong> v Brně 19984) Klimeš, C.: Prostředky automatického řízení II. Počítačové systémySkripta VŠB Ostrava5) Lysenko, V.: Základy elektrotechniky. Učební texty v elektronicképodobě. Ostravská <strong>univerzita</strong>, 200181

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!