Sunteți pe pagina 1din 9

CAPITOLUL III.

BAZELE LOGICE ALE


CALCULATOARELOR NUMERICE

3.1. Algebra booleană

Algebra booleană sau algebra logicii este o metodă simbolică pentru studierea
relaţiilor logice. Bazele algebrei logice au fost puse de matematicianul englez George Boole
în anul 1854.
Algebra booleana şi-a găsit o largă aplicare în domeniul calculatoarelor electronice,
datorită faptului că acestea folosesc elemente fizice care comportă două stări distincte şi
lucrează cu semnale care reprezintă două valori, denumite semnale binare, valori care pot fi
puse în corespondenţă directă cu propoziţii logice cărora li se asociază valoarea de fals sau
adevărat. Algebra booleană şi-a găsit o largă aplicabilitate în analiza şi sinteza schemelor
componente şi blocurilor funcţionale ale calculatoarelor numerice.
Algebra booleană este construita pe o mulţime cu două valori, utilizată la analiza
propoziţiilor cărora li se asociază valoarea de fals sau adevărat, cu aplicaţie în domeniul
circuitelor de comutaţie, unde cele două valori sunt asociate la două nivele de potenţial care
pot schimba starea circuitului de comutaţie.
Algebra logică lucrează cu propoziţii reprezentând afirmaţii despre care se poate spune
că sunt fie adevărate (unei propoziţii adevărate asociindu-se valoarea 1), fie false (unei
propoziţii false asociindu-se valoarea 0).
O propoziţie nu poate fi simultan şi adevărată şi falsă, astfel putându-se introduce o
variabilă binară, care ia numai valorile 0 sau 1.
Mulţimea nevidă formată din elementele 0,1 o notăm cu B = {0,1}. Asupra ei pot fi
aplicate următoarele operaţii:
- adunare booleană „+” (sau „∪”)
- produs Boolean „⋅ ” (sau „∩”)
- complementare „-“ (sau „non”).
Cu ajutorul variabilelor binare x∈B→B se pot construi funcţii logice, ca de exemplu:

f : B→B funcţie de o singura variabilă,


f: B1 x ...x Bn →B funcţie de n variabile.

0 (propoziţie falsă)
f( X) = (3.1.1)
1 (propoziţie adevărată)

0 (propoziţie falsă)
f(xl,x2,...xn) = (3.1.2)
1 (propoziţie adevărată)

Funcţiile de mai multe variabile binare se obţin ca rezultat al reuniunii unor propoziţii
prin intermediul unor legături logice de tipul conjuncţiei, disjuncţiei, negaţiei etc., pentru care
algebra logică foloseşte metoda simbolică, astfel: „∪” / „+” pentru disjuncţie; ; „-”/ „∩” / „⋅ ”
pentru conjuncţie; „-”/ „-” pentru negaţie.
1
Funcţiile logice se pot reprezenta sub forma unor expresii sau sub forma tabelelor de
adevăr, care conţin valorile variabilelor în toate combinaţiile posibile şi valori
corespunzătoare ale funcţiei dependente.
Legile de compoziţie ∪, ∩, şi legea de negaţie pot fi puse în evidenţă cu ajutorul
următoarelor funcţii logice:

x, y∈B, f(x,y) = x ∪ y

x, y∈B, f(x,y) = x ∩ y (3.1.3)

x∈B, f(x) = x

Aceste funcţii pot fi evidenţiate şi cu ajutorul tabelelor de adevăr (figura 3.1.1) sau cu
ajutorul simbolurilor (figura 3.1.2) utilizate pentru reprezentarea cu blocuri elementare.

x y x∪y x y x∩y x x
0 0 0 0 0 0 0 1
0 1 1 0 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1

Disjuncţie Conjuncţie Negaţie

FIG. 3.1.1. Reprezentarea operaţiilor logice cu ajutorul tabelelor de adevăr

FIG. 3.1.2. Reprezentarea operaţiilor logice prin blocuri elementare

Simbolurile pentru porţile ŞI, SAU şi NU pot fi reprezentate şi ca în figura 3.1.3 a, b, c.


x⋅ y⋅ z x+y+z
x x
y y
z z

a) ŞI b) SAU

x x

c) NU

FIG. 3.1.3. Porţile ŞI, SAU şi NU

2
3.2. Teoremele fundamentale ale algebrei booleene

La baza algebrei booleene stau următoarele teoreme fundamentale:

1. Teoremele de unicitate:
- elementul 1 este unic;
- elementul 0 este unic.

2. Teoremele reuniunii şi intersecţiei:


a) exista un element 0, numit prim element, cu proprietăţile:

x ⋅ 0 = 0; x ∪ 0 = x (3.2.1)

b) exista un element 1, numit ultim element, cu proprietăţile:

x ⋅ 1 = x; x ∪ 1 = 1 (3.2.2)

3. Teoremele complementării:
a) principiul contradicţiei: x ⋅ x = 0 (3.2.3)
b) principiul terţului exclus: x ∪ x = 1 (3.2.4)

4. Teorema dublei negaţii:

x =x (3.2.5)

5. Teoremele lui De Morgan:

x ∪y = x ⋅y
(3.2.6)

x ⋅ y = x ∪y (3.2.7)

6. Teoremele absorbţiei:

x ∪ ( x ⋅ y) = x (3.2.8)

x ⋅ ( x ∪ y) = y (3.2.9)

7. Teoremele de idempotenţă:

x ∪ x ∪ x ∪ ...∪ x = x ↔ x ∪ x = x (3.2.10)

x ⋅ x ⋅ x ⋅ x...x = x ↔ x⋅ x = x (3.2.11)

8. Teoremele de comutativitate, asociativitate şi distributivitate pentru cele 2 legi


de compoziţie ( ∩ , ∪ ).

3
x ∪ y = y ∪x
x ∪( y ∪ z) = ( x ∪ y) ∪ z
x ∪( y ⋅ z) = ( x ∪ y) ⋅ ( x ∪ z)
x⋅ y = y⋅x
x ⋅ ( y ⋅ z) = ( x ⋅ y) ⋅ z
x ⋅ ( y ∪ z) = ( x ⋅ y) ∪( x ⋅ z)
(3.2.12 )
(3.2.13 )
(3.2.14 )
(3.2.15 )
(3.2.16 )
(3.2.17 )

Toate teoremele pot fi interpretate cu ajutorul Diagramelor lui Venn şi a tabelelor de


adevăr.
De exemplu prima teoremă a lui De Morgan poate fi demonstrată astfel:

FIG. 3.2.1. Demonstraţia primei teoreme a lui De Morgan

X y x∪ y x ∪y x ⋅y x y
0 0 0 1 1 1 1
0 1 1 0 0 1 0
1 0 1 0 0 0 1
1 1 1 0 0 0 0
=
FIG. 3.2.2. Tabela de adevăr pentru demonstrarea primei teoreme a lui De Morgan

3.3. Forme de reprezentare a funcţiilor booleene

Considerăm mulţimea B = {0,1}şi x aparţine B, o variabilă binară. Definim funcţia


f(x), f : B → B ca funcţie booleană de o variabilă.
Din felul în care s-a definit această funcţie, rezultă că funcţia booleană de una sau mai
multe variabile booleene este o variabilă binară. Fie funcţiile f(x, y) şi f (x,y,z) funcţii
booleene de două variabile, respectiv trei variabile.
Se numeşte produs elementar sau sumă elementară un produs, respectiv sumă de o
variabilă şi/sau negaţiile lor.
Numim formă normal disjunctivă (FND) a unei relaţii logice funcţionale, o relaţie
echivalentă care este o sumă de produse elementare, construite cu aceleaşi variabile ca şi
relaţia dată iniţial, fiecare produs conţinând toate variabilele posibile (ele sau
complementarele lor).
Numim formă normal conjunctivă (FNC) o relaţie echivalentă care este un produs
de sume elementare, construite cu aceleaşi variabile ca şi relaţia dată iniţial, fiecare sumă
conţinând toate variabilele posibile (ele sau complementarele lor).

4
Pentru funcţia de o variabilă avem:

f ( x) =ax ∪b x FND (3.2.18)


f ( x ) = ( a ∪x )( b ∪x ) FNC (3.2.19)
Analog, pentru funcţia de două variabile avem:

f ( x, y ) = axy ∪bx y ∪c x y ∪d x y FND (3.2.20)


f ( x, y ) = ( a ∪x ∪y )( b ∪x ∪y )( c ∪x ∪y )( d ∪x ∪y ) FNC (3.2.21)

În funcţionarea unui calculator electronic apare necesitatea executării unor operaţii


condiţionate, în general, de îndeplinirea unui număr de condiţii. Aceste condiţii pot fi
reprezentate de variabile logice, iar exprimarea într-o formă explicită a legăturii dintre ele
conduce la definirea funcţiei care decide sau nu executarea operaţiei respective. În acest fel
putem trage concluzia că o funcţie booleană este o expresie care conţine variabile logice sau
complementele lor legate prin ŞI, respectiv SAU.
Pentru reprezentarea unei funcţii booleene se folosesc două forme de bază, numite
forme canonice:
forma sumei de produse, denumită forma minterm (formă canonică disjunctivă – FCD), unde
variabilele sau complementele lor sunt legate în cadrul unui minterm prin ŞI, iar mintermii
între ei sunt legaţi prin SAU;
forma produsului de sume, denumită forma maxterm (formă canonică conjunctivă - FCC),
unde variabilele sau complementele lor sunt legate în cadrul unui maxterm prin SAU, iar
maxtermii între ei sunt legaţi prin ŞI.
Drept exemplu vom considera o funcţie de trei variabile:

f ( x, y , z ) = ( x ∪y ∪z )( x ∪y ∪y )( x ∪y ∪z )( x ∪y ∪z ) FCC (3.2.22)
f ( x, y , z ) =( xyz ∪x yz ∪x y z ∪xy z FCD
(3.2.23)

Revenind asupra terminologiei utilizate, vom numi minterm produsul xyz şi maxterm,
suma x ∪ y ∪ z . În continuare vom nota cu m mintermii şi cu M, maxtermii.

x y Mintermi mi Maxtermi Mi
0 0 m0 = xy M0 = x ∪ y
0 1 m1 = x y M1 = x ∪y
1 0 m2 = x y M2 = x ∪y
1 1 m3 =xy M3 = x ∪y

x y z Mintermi mi Maxtermi Mi
0 0 0 m0 = xyz M0 = x ∪ y ∪ z
0 0 1 m1 = x y z M1 = x ∪y ∪z
0 1 0 m2 = x y z M2 = x ∪ y ∪ z
0 1 1 m3 = x yz M3 = x ∪ y ∪ z
1 0 0 m4 = x y z M4 = x ∪y ∪z
1 0 1 m5 = x y z M5 = x ∪y ∪z
1 1 0 m6 = xy z M6 = x ∪y ∪z
1 1 1 m7 = xyz M7 = x ∪y ∪z

5
În general, o funcţie booleană de n variabile liniare poate conţine 2n mintermi în FCD
şi 2n maxtermi în FCC deoarece există 2n combinaţii posibile între cele n variabile şi
combinaţiile lor.
Mintermi mi sunt formaţi din combinaţia variabilelor sau a complementelor lor pentru
care funcţia are valoarea 1. Maxtermi Mi se pot forma din combinaţia variabilelor sau a
complementelor lor, pentru care funcţia are valoarea 0.
Din modul de construire a termenilor mi şi Mi rezultă că aceştia se completează
reciproc astfel:

mi = M i
sau Mi = m i
(3.2.24)

În cadrul unui calculator electronic, formele de reprezentare a funcţiilor booleene se


folosesc pentru analiza şi sinteza blocurilor logice.
Pentru funcţiile booleene de două variabile avem:

f(x,y) = α 0m0∪α 1m1∪α 2m2∪α 3m3 FCD


(3.2.25)
f(x,y) = (α 0∪M0)(α 1∪M1)(α 2∪M2)(α 3∪M3) FCC
(3.2.26)

Există 16 funcţii de două variabile, în forma m sau în forma M, care rezultă din cele
16 combinaţii ale numerelor caracteristice α 0, α 1, α 2, α 3.

x y z f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15


0 0 α 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0
0 1 α 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1
1 0 α 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
2
1 1 α 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
3

Unde:

Funcţia Denumirea funcţiei


F0 = 0 Zero
F1 = xy Şi
F2 = x y Inhibare
F3 = x Identitate
F4 = x y Inhibare
F5 = y Identitate
F6 = x y ∪x y Sau exclusiv
F7 = x ∪y Sau
F8 = x ∩ y = x ∪ y Sau – nu
F9 = x y ∪xy Coincidenţă
F10 = y Nu
F11 = x ∪y Implicare
F12 = x Nu

6
F13 = x ∪y Implicare
F14 = x ∪y = xy Şi – nu
F15 = 1 Unu
Orice funcţie poate fi scrisă în una din cele două forme canonice. Operaţia de aducere
a unei funcţii la forma canonică se numeşte dezvoltare.
Forma elementară a unei funcţii booleene de n variabile este dată de construcţia
funcţiei din termeni elementari. Funcţiile booleene pot fi scrise în forma elementară atât în
FCD, cât şi în FCC.
Exemple de funcţii scrise în formă elementară:

f1(x,y,z) = x ∪y z FCD (3.2.27)


f2(x,y,z) = ( x ∪z )( x ∪y ) FCC (3.2.26)

Modelarea acestor funcţii cu ajutorul simbolurilor ŞI, SAU, NU se face ca în figurile


de mai jos:

y
f1(x,y,z)

FIG. 3.2.3. Modelarea funcţiei f1(x,y,z)

f2 (x,y,z)

FIG.3.2.4. Modelarea funcţiei f2(x,y,z)

3.4. Trecerea de la expresii booleene la scheme logice

3.4.1. Logica cu contacte

7
În orice circuit logic cu contracte trebuie să se definească iniţial condiţiile particulare
ce reprezintă pe 0 şi 1. În general, expresia booleană care descrie un circuit defineşte
posibilităţile de transmisie ale sistemului.
În cazul releelor electrice, convenţia adoptată este:
- contactul închis reprezintă valoarea 1,
- contactul deschis reprezintă valoarea 0.
În aceste condiţii, două contacte închise montate în serie vor realiza funcţia ŞI.

p x
y q

FIG. 3.4.1.1. Reprezentarea funcţiei ŞI cu ajutorul contactelor

Schema corespunzătoare funcţiei SAU este reprezentată în figura 3.4.1.2.

p q

FIG. 3.4.1.2.
Reprezentarea
funcţiei SAU cu
ajutorul contactelor

Schema
corespunzătoare
funcţiei NU este reprezentată în figura 3.4.1.3.

p x q
FIG. 3.4.1.3. Reprezentarea funcţiei ŞI cu ajutorul contactelor

Operaţia de completare înseamnă că circuitul este închis când contactul NU este


deschis.

3.4.2. Porţile logice cu dispozitive semiconductoare

8
Expresiile booleene se pot realiza practic şi cu dispozitive semiconductoare, adică cu
circuite cu diode, tranzistoare etc.
Porţile logice electronice sunt utilizate în toate domeniile electronicii şi automaticii,
dar mai ales în calculatoarele numerice, realizând şi materializând funcţiile logice.
Interconectarea în diverse moduri a celor trei porţi conduce la materializarea
expresiilor booleene.