← IT

Booleova algebra a logické funkce

Booleova algebra pracuje s proměnnými, které mohou mít jen dvě hodnoty – 0 (nepravda, nízké napětí) a 1 (pravda, vysoké napětí). Popisuje, jak se z nich skládají logické funkce, a je matematickým základem všech číslicových obvodů: procesorů, pamětí i síťových prvků. Podle ŠVP se probírá ve 2. ročníku předmětu Počítačové sítě: žák má umět zjednodušit (minimalizovat) logickou funkci algebraickou metodou a vyjádřit ji pouze pomocí členů NAND.

Základní logické operace

OperaceZápisVýznamLogický člen
negace (NOT)Aobrátí hodnotuinvertor
logický součin (AND, konjunkce)A⋅B nebo AB1 jen tehdy, když jsou obě proměnné 1AND
logický součet (OR, disjunkce)A+B1, když je aspoň jedna proměnná 1OR
negovaný součin (NAND)A⋅Bnegace AND – 0 jen tehdy, když jsou obě 1NAND
negovaný součet (NOR)A+B​negace OR – 1 jen tehdy, když jsou obě 0NOR
výhradní součet (XOR)A⊕B1, když se proměnné lišíXOR

Pravdivostní tabulka

Logickou funkci lze úplně popsat pravdivostní tabulkou – pro každou kombinaci vstupů uvede hodnotu výstupu. Funkce n proměnných má 2n řádků.

ABNOT AANDORNANDNORXOR
00100110
01101101
10001101
11011000

Zákony Booleovy algebry

ZákonPro součinPro součet
neutrální prvekA⋅1=AA+0=A
agresivní prvekA⋅0=0A+1=1
idempotenceA⋅A=AA+A=A
doplněkA⋅A=0A+A=1
dvojí negaceA=A
komutativníAB=BAA+B=B+A
asociativní(AB)C=A(BC)(A+B)+C=A+(B+C)
distributivníA(B+C)=AB+ACA+BC=(A+B)(A+C)
absorpceA(A+B)=AA+AB=A
absorpce negaceA(A+B)=ABA+AB=A+B

Nejdůležitější jsou De Morganovy zákony, které převádějí součin na součet a naopak:

De Morganův zákon pro součin:

A⋅B=A+B

De Morganův zákon pro součet:

A+B​=A⋅B

Platí pro libovolný počet proměnných: negace součinu je součet negací, negace součtu je součin negací.

Zápis funkce z pravdivostní tabulky

Funkci zadanou tabulkou zapíšeme v úplné normální disjunktivní formě (součet součinů): pro každý řádek, kde je výstup 1, vytvoříme součin všech proměnných – proměnnou s hodnotou 0 zapíšeme negovanou, s hodnotou 1 bez negace. Tyto součiny sečteme.

Příklad 1 – funkce „většina“. Výstup Y je 1, když jsou aspoň dva ze tří vstupů A, B, C rovny 1.

ABCYsoučin
0000
0010
0100
0111ABC
1000
1011ABC
1101ABC
1111ABC

Y=ABC+ABC+ABC+ABC

Minimalizace algebraickou metodou

Minimalizace zjednoduší výraz tak, aby obvod potřeboval co nejméně logických členů a vstupů. Algebraická metoda používá zákony Booleovy algebry – nejčastěji vytýkání a doplněk A+A=1.

Příklad 2.

Y=AB+AB=A(B+B)=A⋅1=A

Příklad 3.

Y=ABC+ABC+ABC

  1. Z prvních dvou členů vytkneme BC: BC(A+A)=BC.
  2. Zbude Y=BC+ABC=B(C+AC).
  3. Podle absorpce negace je C+CA=C+A.
  4. Výsledek: Y=B(C+A)=AB+BC.

Příklad 4 – minimalizace funkce „většina“. Člen ABC přičteme ještě dvakrát (idempotence ABC+ABC=ABC výraz nezmění) a sdružíme ho s každým z ostatních:

Y=(ABC+ABC)+(ABC+ABC)+(ABC+ABC)

Z každé závorky vytkneme společnou dvojici a použijeme X+X=1:

Y=BC+AC+AB

Místo čtyř trojvstupových součinů stačí tři dvouvstupové.

Příklad 5 – De Morgan.

Y=A+B​=A⋅B=AB

Realizace pomocí členů NAND

Člen NAND je univerzální – samotnými členy NAND lze vytvořit libovolnou logickou funkci. Výrobci proto často staví obvody jen z jednoho typu členu (NAND se v technologii CMOS vyrábí nejsnáze). Totéž platí pro NOR.

Negace z NAND – oba vstupy členu spojíme:

A=A⋅A

Součin z NAND – za člen NAND zařadíme druhý NAND zapojený jako invertor:

A⋅B=A⋅B

Součet z NAND – podle De Morganova zákona nejprve negujeme oba vstupy:

A+B=A⋅B

Převod funkce na členy NAND

  1. Funkci minimalizujeme a zapíšeme jako součet součinů.
  2. Celý výraz dvakrát negujeme (hodnota se nezmění).
  3. Spodní negaci rozložíme De Morganovým zákonem – součet se změní na součin negací.
  4. Každý negovaný součin je jeden člen NAND.

Příklad 6 – funkce „většina“ z členů NAND.

Y=AB+AC+BC=AB+AC+BC​​=AB⋅AC⋅BC

Schéma tedy tvoří tři dvouvstupové členy NAND se vstupy (A, B), (A, C) a (B, C), jejichž výstupy vedou do jednoho třívstupového členu NAND, na jehož výstupu je Y. Obvod potřebuje jen jeden typ členu.

Příklad 7. Funkci Y=A+BC převedeme na NAND:

Y=A+BC​​=A⋅BC

Potřebujeme: invertor (NAND se spojenými vstupy) pro A, invertor pro B, dvouvstupový NAND se vstupy B a C a výstupní dvouvstupový NAND se vstupy A a BC – celkem čtyři členy NAND.

Otázky k opakování

  1. Kolik řádků má pravdivostní tabulka funkce čtyř proměnných? 24=16
  2. Zapište oba De Morganovy zákony. AB=A+B a A+B​=A⋅B
  3. Zjednodušte Y=A+AB. Y=A (absorpce)
  4. Zjednodušte Y=AB+AB+AB. A(B+B)+AB=A+AB=A+B
  5. Proč se člen NAND označuje jako univerzální? samotnými členy NAND lze vytvořit negaci, součin i součet, a tedy libovolnou logickou funkci
  6. Jak z členu NAND vytvoříte invertor? spojením obou vstupů: A⋅A=A
  7. Vyjádřete Y=AB+C pouze pomocí NAND. Y=AB⋅C – NAND (A, B), invertor pro C a výstupní NAND