Sunteți pe pagina 1din 38

CAPITOLUL 4

4.1. Definirea algebrei logice


4.2. Reprezentarea funcţiilor logice
4.3. Formele canonice ale funcţiilor logice
4.3.1. Produse elementare şi mintermeni
4.3.2. Sume elementare şi maxtermeni
4.3.3. Proprietăţile mintermenilor şi maxtermenilor
4.4. Existenţa şi unicitatea funcţiilor logice
4.5. Funcţiile logice de bază
4.6. Simplificarea funcţiilor logice
4.7. Circuite logice
4.7.1. Definirea şi clasificarea
4.7.2. Circuitele logice combinaţionale
4.7.3. Circuite logice secvenţiale
4.7.4. Blocuri funcţionale
4.7.5. Bloc de memorie
4.8. Probleme rezolvate
4.9. Probleme propuse
Introducere 117
4
BAZELE LOGICE ALE
CALCULATOARELOR

4.1. Definirea algebrei logice


Algebra booleană (algebra logicii) este o mulţime B  {} (B = B2 = {0,1})
înzestrată cu două legi de compoziţie:
  (*) produs logic (ŞI)

  (+) sumă logică (SAU)
şi o aplicaţie a mulţimii B în ea însăşi:  complement (NU). Sunt respectate
proprietăţile:
a) idempotenţa: x  x = x; x  x = x

b) comutativitate: x  y = y  x; x  y = y  x

c) asociativitate: (x  y)  z = x  (y  z)
(x  y)  z = x  (y  z)

d) absorbţie: x  (x  y) =x ; x  (x  y) = x

e) distributivitate: x  (y  z) = (x  y)  (x  z)
x  (y  z) = (x  y)  (x  z)

f)  un element 0, numit prim element, astfel ca:


x  0 = 0; x  0 = x

g)  un element 1, numit ultim element, astfel ca:


x  1 = x; x  1 = 1
h) legea dublei negaţii: x =x
Bazele logice ale calculatoarelor 119

i) principiul contradicţiei: x x =0

j) principiul terţiului exclus: x  x = 1


k) legile lui de Morgan: x  y = x  y ;x  y = x  y

Prin aplicarea de un număr finit de ori a operaţiilor , ,  unor elemente


determinate sau nedeterminate ale unei algebre booleene se obţine o expresie
booleană (logică).
Fie E (x1, x2,..., xn), se numeşte valoare a expresiei booleene, pentru setul de valori
i1, i2,..., in, valoarea obţinută prin înlocuirea în expresia E a variabilelor x1, x2,..., xn cu
valorile i1, i2,...,in şi efectuarea operaţiilor indicate.

Exemplul 1.
Să se calculeze valoarea expresiei E (x1, x2, x3) = x1  x2  (x2  x3 ) pentru
setul de valori binare (0 , 0 , 1 ) .

Rezolvarea
E (0 , 0 , 1 ) = 0  0  (0  1 ) = 0

Expresia booleană E1 (x1, x2,..., xn) este echivalentă cu E2 (x1, x2,..., xn) dacă
E1 (i1j, i2j,..., inj)  E2 (i1j, i2j,...,inj) pentru  j = 1, 2 n .

Exemplul 2. Să se verifice dacă E1 (x1, x2 ,x3) = x 2  ( x1  x 2  x3) este


echivalentă cu E2 (x1, x2, x3) = ( x1  x 2 )  ( x1  x3)  ( x1  x 2 ) .

Rezolvarea
Se vor calcula valorile celor două expresii pentru toate seturile de valori binare
date variabilelor (23 seturi de valori):
E1 (0,0,0) = E2 (0,0,0)
E1 (0,0,1) = E2 (0,0,1)

E1 (1,1,1) = E2 (1,1,1)

Funcţia logică (booleană) de n variabile, f (x1, x2,..,xn), este o funcţie definită pe


produsul cartezian B2 X B2 X...X B2 cu valori în mulţimea B2 :

f : B2 X B2 X...X B2  B2
astfel încât f (i1j, i2j,..., inj)  {0,1}  j = 1 , 2 n . (Unele funcţii logice pot fi
incomplet definite.)
120 Bazele tehnologiei informaţiei

Exemplul 3.
Fie F: B2 x B2 x B2  B2
Astfel încât: f(0,0,0) = 0, f(0,0,1) = 0, f(0,1,0) =1, f(0,1,1) = 1, f(1,0,0) = 0,
f(1,0,1) = 1, f(1,1,1) = 0.

Figura 4.1. Reprezentarea grafică a unei funcţii

4.2. Reprezentarea funcţiilor logice


Funcţiile booleene se pot reprezenta sub forma unor tabele de adevăr sau sub
forma expresiilor booleene. O formă o implică pe cealaltă.

Exemplul 4. Reprezentarea sub formă de tabel de adevăr a funcţiilor: NU,


SAU, ŞI, SAU-NU, ŞI-NU.

x y NU SAU ŞI SAU-NU ŞI-NU

f1(x)= x f2(x,y)= x  y f3(x,y)= x  y f4(x,y)= x  y f5(x,y)= x  y

0 0 1 0 0 1 1

0 1 1 1 0 0 1

1 0 0 1 0 0 1

1 1 0 1 1 0 0

Exemplul 5. Să se completeze tabelul de adevăr pentru funcţia logică:


f x, y  x y  xy
Bazele logice ale calculatoarelor 121

Rezolvarea
Reprezentarea funcţiei sub forma unui tabel de adevăr se poate urmări în tabelul
4.1.

Tabelul 4.1. Tabel de adevăr

x y xy xy f x, y  f x, y 

0 0 1 0 1 0

0 1 0 0 0 1

1 0 0 0 0 1

1 1 0 1 1 0

Exemplul 6. Să se determine funcţia logică f(x,y) reprezentată în tabelul 4.1.

Rezolvarea
Reciproc, dacă avem tabelul de adevăr al funcţiei, putem determina expresia
funcţiei. Din tabelul de adevăr, funcţia f are valoarea 1 pentru următoarele valori
ale lui x şi y:
x  y  0

x  y  1
sau
 x  1, y  1

x  y  1
f1 ( x, y )  x  y  x  y
Considerăm acum valorile lui x şi y pentru care funcţia f este zero:
x  0, y  1

x  1, y  0
sau
 x  0, y  0

x  0, y  0
f 2 ( x, y )  ( x  y )( x  y )
Verificăm faptul că cele două funcţii sunt echivalente:
f 2 ( x, y )  ( x  y )( x  y )  x  x  x  y  y  x  y  y  x  y  x  y  f1 ( x, y )
122 Bazele tehnologiei informaţiei

4.3. Formele canonice ale funcţiilor logice


4.3.1. Produse elementare şi mintermeni

Se numeşte produs elementar un produs de variabile booleene sau complemente


ale acestora, în care aceeaşi variabilă apare o singură dată.
Un mintermen în raport cu variabilele logice x1, x2,..., xn este produsul
elementar în care apar, fie simple, fie complementate, toate variabilele x1, x2,..., xn.
Un mintermen se notează prin mk (x1, x2,…xn) şi se are în vedere că: funcţia
identitate se notează prin x1 (= x) iar funcţia complement prin x0 (= x ).

Exemplu: m2 (x1, x2, x3) = x10 x21 x30 = x1 x2 x3

Un mintermen este o expresie logică particulară asociată unei combinaţii de


valori binare. Pentru n variabile există 2n mintermeni. Expresia pentru un
mintermen se va scrie în aşa fel încât, pentru un set de valori ale variabilelor
booleene, mintermenul să ia valoarea logică 1.
Forma canonică disjunctivă (FCD) pentru funcţiile booleene de n variabile se
poate scrie:
2n
f(X) =  f(Ik)  mk(X) 1
k =1
unde cele n variabile au fost notate prin X = (x1, x2,…xn) (xi{0,1}), iar seturile de
valori sunt: Ik = (i1k, i2k,..., ink ).
În concluzie, forma canonică disjunctivă a unei funcţii logice este o sumă a
mintermenilor pentru care funcţia are valoarea logică 1.

4.3.2. Sume elementare şi maxtermeni

Se numeşte sumă elementară o sumă de variabile booleene sau complemente


ale acestora, fără ca aceeaşi variabilă să apară de mai multe ori. Un maxtermen în
raport cu variabilele logice x1,x2,.., xn este o sumă elementară, în care apar, fie
simple, fie complementate, toate variabilele x1, x2, ..., xn. Un maxtermen se
notează: Mk (x1,x2,.., xn) şi se are în vedere că funcţia identitate se notează prin x0
(= x) , iar funcţia complement prin x1 (= x ).
Exemplu: M2 (x1, x2, x3) = x10+ x21 + x30 = x1  x2  x3
Un maxtermen se va scrie în aşa fel încât, pentru un set de valori ale variabilelor
logice, să ia valoarea logică 0.
Forma canonică conjunctivă (FCC) pentru funcţiile de n variabile booleene se
poate scrie:
2n
f(X) =  [f(Ik)  Mk(X)] 2
k =1
Bazele logice ale calculatoarelor 123

cele n variabile au fost notate prin X = (x1, x2,…xn) (xi{0,1}), iar seturile de
valori sunt: Ik = (i1k, i2k,..., ink ).
Aşadar forma canonică conjunctivă reprezintă produsul maxtermenilor pentru
care funcţia booleană are valoarea logică 0.

Exemplul 7. Fie o funcţie booleană f (x,y,z) care are valoarea logică "1", dacă
cel puţin două dintre argumentele sale sunt egale cu "0". Să se scrie FCD şi FCC
pentru funcţia f(x,y,z).

Rezolvarea
Alcătuim un tabel de valori (tabelul 4.2), în care vom trece mintermenii (mi) şi
maxtermenii (Mi). Fiind o funcţie de trei variabile vom avea un număr de opt seturi
de valori (23).

Tabelul 4. 2. Tabel de adevăr


x y z f(x,y,z) mi Mi
0 0 0 1 m0= x y z M0= x + y + z

0 0 1 1 m1= x y z M1= x + y + z

0 1 0 1 m2= x y z M2= x + y + z

0 1 1 0 m3= x y z M3= x + y + z

1 0 0 1 m4= x y z M4= x + y + z

1 0 1 0 m5= x y z M5= x + y + z

1 1 0 0 m6= x y z M6= x + y + z

1 1 1 0 m7= x y z M7= x + y + z

Forma canonică disjunctivă a funcţiei se va determina aplicând relaţia:


f1(x,y,z) = f(0,0,0)m0 + f(0,0,1)m1 + f(0,1,0)m2 + f(0,1,1)m3 + f(1,0,0)m4 +
f(1,0,1)m5 + f(1,1,0)m6 + f (1,1,1)m7

Folosind proprietăţile algebrei logice obţinem:


f1 (x,y,z) = m0 + m1 + m2 + m4 = x y z + x y z + x y z + x y z

Forma canonică conjunctivă a funcţiei se determină aplicând relaţia:


124 Bazele tehnologiei informaţiei

f2 (x,y,z) = [f (0,0,0) + M0] [f (0,0,1) + M1] [f (0,1,0) + M2] [ f(0,1,1) + M3]


[f (1,0,0) + M4] [f (1,0,1) + M5][f (1,1,0) + M6] [f (1,1,1) + M7]
Ţinând cont de valorile funcţiei pentru diferitele seturi de valori şi utilizând
proprietăţile algebrei booleene, se va obţine:

f2 (x,y,z) = M3M5M6M7 =

(x + y + z)(x + y + z)(x + y + z)(x + y + z)

Forma canonică disjunctivă a funcţiei este echivalentă cu forma canonică


conjunctivă, deci: f1 (x,y,z)  f2 (x,y,z).

4.3.3. Proprietăţile mintermenilor şi maxtermenilor

Avem o serie de proprietăţi pentru mintermeni şi maxtermeni:

P1. Produsul logic între doi mintermeni mi şi mj (i ≠ j) ai unei funcţii booleene


de n variabile este egal cu 0:

mi  m j  0, i  j
P2. Suma logică dintre doi maxtermeni Mi şi Mj (i ≠ j) ai unei funcţii booleene
de n variabile este egal cu 1:

M i  M j  1, i  j

P3. O funcţie booleană de n variabile poate fi reprezentată printr-o sumă logică


de mintermeni mi (respectiv un produs logic de maxtermeni Mi) sub forma:

2 n 1
f ( x1 ,, xn )   ( i  mi )
i 0
2 n 1
f ( x1 ,, xn )   ( i  M i ), i  0,1 - numere caracteristice
i 0

P4. Complementul unei funcţii booleene de n variabile scrise în FCC poate fi


exprimat în mod unic prin relaţia:
2 n 1
f ( x1 ,, xn )   ( i  mi )
i 0
iar complementul unei funcţii booleene de n variabile scrise în FCD poate fi
exprimat unic astfel:
Bazele logice ale calculatoarelor 125

2 n 1
f ( x1 ,, xn )   ( i  M i ), i  0,1
i 0

P5. Dacă o funcţie booleană de n variabile este scrisă în FCD şi conţine 2n


termeni distincţi de n variabile atunci ea este egală cu 1.
În aceleaşi condiţii, dacă funcţia este scrisă în FCC, atunci ea este egală cu 0.
2 n 1
f ( x1 ,, xn )  m i  1 (FCD)
i 0
2 n 1
f ( x1 ,, xn )  M i  0 (FCC)
i 0

P6. Orice mintermen mi al unei funcţii booleene de n variabile scrise în FCD este
egal cu produsul logic a 2n-1 termeni Mj, respectiv orice maxtermen Mi al unei
funcţii booleene de n variabile scrisă în FCC este egal cu suma logică a 2n-1
termeni mj:
mi   M j , j  0 2n  1
j i

M i   m j , j  0 2 n  1
j i

4.4. Existenţa şi unicitatea funcţiilor logice


Forma canonică disjunctivă, respectiv conjunctivă a unei funcţii logice este
unică. Forma canonică disjunctivă (respectiv conjunctivă) a unei funcţii logice se
numeşte şi forma normală disjunctivă (respectiv conjunctivă) perfectă.
Forma normală disjunctivă a unei expresii logice este o sumă de produse
elementare egală cu expresia dată. Forma normală conjunctivă a unei expresii
logice este un produs de sume elementare egal cu expresia dată. Forma normală
disjunctivă (respectiv conjunctivă) a unei funcţii nu este unică.
Pentru a demonstra unicitatea formei canonice disjunctive vom apela la metoda
inducţiei complete.
Pentru început vom demonstra că relaţia (1) este adevărată pentru toate funcţiile
logice de o singură variabilă (X = (x1) unde x1{0,1}). În acest caz putem scrie:
2n 2

 f(Ik)  mk(X) 
k =1
 f(i
k =1
1k )  x1i1k

 f(0)  x1  f(1)  x1
0 1

 f(0)  x1  f(1)  x1
126 Bazele tehnologiei informaţiei

Pentru x1=0 relaţia este: f(0)  x1  f(1)  x1  f(0)  0  f(1)  0  f(0)


Pentru x1=1 relaţia este: f(0)  x1  f(1)  x1  f(0) 1  f(1) 1  f(1)
2
Aşadar pentru x1{0,1}) este respectată relaţia:  f(i 1k)  x1i1k  f(x1)
k =1

Presupunem relaţia (1) adevărată pentru o funcţie de n variabile şi vom


considera o funcţie de n+1 variabile: f (x1, x2,…xn, xn+1). Utilizăm următoarele
notaţii pentru:
 variabile: X' = (x1, x2,…xn, xn+1) sau X' = (X, xn+1) (xi{0,1})
 setul de valori: I'k = (i1k, i2k,..., ink, i(n+1)k) sau I'k = (Ik, i(n+1)k)

Se stabileşte că  X': f(X' )  f(X,0)  ( x n 1 ) 0  f(X,1)  ( x n 1 )1

Aceasta se poate scrie: f(X' )   f(X, i (n1)k)  ( x n 1 )i (n1)k 3


i(n1)k{0 ,1}

Dacă x n+1 = 0 funcţia f(X') se poate scrie:


f(X,0)  ( x n 1 ) 0  f(X,1)  ( x n 1 )1 
f(X,0)  00  f(X,1)  01 
f(X,0) 1  f(X,1)  0  f(X,0)  f(X, x n 1 )  f(X' )
Pentru x n+1 = 1 avem:
f(X,0)  ( x n 1 ) 0  f(X,1)  ( x n 1 )1 
f(X,0) 10  f(X,1) 11 
f(X,0)  0  f(X,1) 1  f(X,1)  f(X, x n 1 )  f(X' )

Dar f(X,0) şi f(X,1) sunt funcţii de n variabile pentru care am presupus că


teorema este adevărată, ceea ce ne permite să scriem:
2n
f(X,0) =  f(Ik,0)  mk(X)
k =1
2n
f(X,1) =  f(Ik,1)  mk(X)
k =1

Din relaţiile anterioare rezultă:


2n
f(X, i(n1)k) =  f(Ik, i(n1)k)  mk(X) 4
k =1
Bazele logice ale calculatoarelor 127

Dacă ţinem cont de relaţiile (3) şi (4) rezultă:


2n
f(X' )    f(I , i k )  mk(X)  ( x n 1 )i (n1)k
(n1)k
i(n1)k{0 ,1} k =1

Dar f(Ik, i(n+1)k) este chiar f(I'k) şi mk(X' )  mk(X) ( x n 1 ) i (n1)k

2n 1
2n
Dacă se va scrie   echivalent cu  va rezulta:
i(n1)k{0 ,1} k =1 k =1
2n 1
f(X' )   f(I' k)  mk(X' )
k =1
Astfel s-a demnstrat că relaţia (1) este respectată şi pentru funcţiile de n+1
variabile. În mod asemănător se demonstrează unicitatea formei canonice
conjunctive.

4.5. Funcţiile logice de bază


2n
Considerăm f : B2 X B2 X...X B2  B2. Atunci vor exista un număr de 2
funcţii distincte. Funcţia fiind de n variabile va putea avea 2n mintermeni sau
maxtermeni. Considerând forma canonică disjunctivă (conjunctivă), o funcţie
logică este reprezentată prin suma (produsul) a k minitermeni (maxtermeni)
distincţi.
Valoarea maximă a lui k=2n, rezultă că mulţimea funcţiilor logice distincte este:
k
 Ck j
n
N= = 2 k = 22 .
j=0
Au fost incluse funcţia zero şi funcţia unitate.

Exemplul 6. Mulţimea funcţiilor de două variabile este prezentată în tabelul


4.3.
Dacă f : B2 X B2 X ... X B2  B2 este o funcţie de n variabile, analizând tabelul
4.3, putem spune că principalele funcţii elementare sunt:
a) Funcţia NU: f10 (xi) = x i  i= 1, n

b) Funcţia IDENTITATE : f3 (x1, x2,..., xn) = xi  i = 1, n

c) Funcţia ŞI: f1 (x1, x2,..., xn) = x1 . x2 . ... . xn, această funcţie are valoarea
logică 1 dacă toate variabilele au valoarea logică 1.
128 Bazele tehnologiei informaţiei

d) Funcţia SAU: f7 (x1, x2,..., xn) = x1 + x2 +...+ xn , ce are valoarea logică 1 dacă
cel puţin o variabilă are valoarea logică 1.

e) Funcţia ŞI-NU, are valoarea logică 1 dacă cel puţin o variabilă are valoarea
logică 0:
f14 ( x1 , x2 , .. , x n ) = x1  x2  ..  x n = x1 + x2 + .. + x n

f) Funcţia SAU-NU, are valoarea logică 0 dacă cel puţin o variabilă are valoarea
logică 1:
f 8 ( x1 , x2 , .., x n ) = x1 + x2 + .. + x n = x1  x2  ..  x n

g) Funcţia INHIBARE:
f 4 ( x1 , x2 , ..., x n ) = x1  x2   x k-1  x k  x k+1  .. x n
k  {1,2,...,n}.

h) Funcţia IMPLICARE:
f 11 ( x1, x2 , .. , x n ) = x1 + x 2 + x k-1 + x k + x k+1 + .. + x n
k  {1,2,...,n}.

Tabelul 4.3. Funcţiile logice de două variabile

Denumirea
x 0 0 1 1 Funcţia FCD
funcţiei
y 0 1 0 1
f0 0 0 0 0 f0=0 f0=0 ZERO
f1 0 0 0 1 f1=xy f1=m3 ŞI
f2 0 0 1 0 f2= x y f2=m2 INHIBARE

f3 0 0 1 1 f3=x f3=m2+m3 IDENTITATE


f4 0 1 0 0 f4= x y f4=m1 INHIBARE

f5 0 1 0 1 f5= y f5=m1+m3 IDENTITATE


f6 0 1 1 0 f6= x  y f6=m1+m2 SAU EXCLUSIV
f7 0 1 1 1 f7= x + y f7=m1+m2+m3 SAU [INCLUSIV]
f8 1 0 0 0 f8= x + y f8=m0 SAU-NU
[NICI,NOR]
f9 1 0 0 1 f9= x y + xy f9=m0+m3 COINCIDENŢĂ

f10 1 0 1 0 f10= y f10=m0+m2 NU


Bazele logice ale calculatoarelor 129

Denumirea
x 0 0 1 1 Funcţia FCD
funcţiei
y 0 1 0 1
f11 1 0 1 1 f11= x + y f11=m0+m2+m3 IMPLICARE

f12 1 1 0 0 f12= x f12=m0+m1 NU


f13 1 1 0 1 f13= x + y f13=m0+m1+m3 IMPLICARE

f14 1 1 1 0 f14= x  y f14=m0+m1+m2 ŞI-NU [NAND]

f15 1 1 1 1 f15=1 f15=m0+m1+m2+m3 UNU

4.6. Simplificarea funcţiilor logice


Simplificarea funcţiilor logice are ca efect obţinerea unor funcţii în formă
elementară cu un număr minim de variabile şi elemente constitutive. Minimizarea se
poate face utilizând procedee algebrice elementare sau utilizând diagrame care
conduc la proceduri rapide de simplificare.

Exemplul 7. Să se minimizeze funcţia:


f(x, y, z) = x y z + x y z + x y z = x y z
Rezolvarea
Se ştie că: x y z + x y z = x y z (proprietatea de idempotenţă).
Folosind această proprietate putem scrie:
f(x,y,z)= x y z + x y z + x y z + x y z + x y z + x y z
Folosind proprietăţile de distributivitate şi comutativitate:
f(x,y,z)= x y ( z + z ) + x z ( y + y ) + y z ( x + x )
Din principiul terţiului exclus: x + x = 1, în final se obţine:
f(x,y,z)= x y + x z + y z .
Diagramele de minimizare Veitch şi Karnaugh se obţin reprezentând fiecare
mintermen (maxtermen) printr-o suprafaţă dreptunghiulară elementară.

Diagramele Veitch

a) Pentru o funcţie de două variabile - f(x,y)


130 Bazele tehnologiei informaţiei

b) Pentru o funcţie de trei variabile - f(x,y,z)

FCD FCC

Diagramele Karnaugh

a) Pentru o funcţie de două variabile - f(x,y)


Bazele logice ale calculatoarelor 131

b) Pentru o funcţie de trei variabile - f(x,y,z)

Se utilizează mintermenii mi - pentru FCD şi maxtermenii Mi - pentru FCC.

c) Pentru o funcţie de patru variabile - f(x,y,z,t)

Algoritmul de minimizare, utilizând diagramele Veitch sau Karnaugh, este:


132 Bazele tehnologiei informaţiei

 se completează valorile funcţiei în diagramă, scrierea după 1 (sau după 0)


dacă se foloseşte FCD (sau FCC) a funcţiei;
 se grupează 2k (k = 0,1, 2,...) suprafeţe elementare adiacente care au valoarea
logică 1 (sau 0 dacă s-a folosit FCC), astfel încât să formeze o suprafaţă
dreptunghiulară. În suprafeţele extinse se încearcă includerea tuturor
suprafeţelor elementare care au valoarea logică 1 (sau 0 în FCC);
 corespunzător unei suprafeţe extinse se scrie un produs elementar al
variabilelor ce nu-şi schimbă valoarea pe această suprafaţă, dacă s-a folosit
FCD, sau o sumă elementară a variabilelor ce nu-şi schimbă valoarea în
FCC. Dacă nu este posibil ca o suprafaţă elementară să se alipească altei
suprafeţe elementare, pentru aceasta se va scrie expresia ce corespunde
mintermenului / maxtermenului.

În unele cazuri, în practică, anumite combinaţii ale valorilor variabilelor de


intrare nu apar niciodată în timp, funcţia numindu-se incomplet definită. Se poate
considera că aceste combinaţii sunt nesemnificative pentru determinarea funcţiei
logice de la ieşire. Se pot folosi aceste situaţii atribuind suprafeţelor elementare
respective valoarea logică 1 sau 0 (R), în funcţie de modul în care se poate obţine o
formă mai simplă pentru funcţia logică.
Exemplul 8. Să se simplifice funcţia logică f(x,y,z), dată prin tabelul de adevăr
prezentat mai jos.

Rezolvarea
FCD a funcţiei este:
f1 (x,y,z) = m2 + m3 + m6 + m7 = xy z + xyz + xy z + xyz
Diagrama Veitch Diagrama Karnaugh
Bazele logice ale calculatoarelor 133

Forma simplificată a FCD: f1(x,y,z) = y


FCC a funcţiei este f2(x,y,z) = M0M1M4M5

Exempul 9. Un ascensor transportă greutăţi între 500 şi 10000 kg. Sesizarea


greutăţii încărcăturii ascensorului se face prin închiderea a trei contacte a, b, c,
fixate sub podeaua cabinei. Ordinea de închidere a contactelor funcţie de greutate
este: a pentru greutate > 0 kg; b pentru greutate  500 kg; c pentru greutate 
10000 kg. Se cere să se determine funcţia de comandă a urcării ascensorului, ştiind
că acesta poate urca şi dacă este gol.

Rezolvarea. Vom atribui valoarea logică 1 pentru contact închis şi valoarea


logică 0 pentru contact deschis. Tabelul de adevăr pentru funcţia cerută este
prezentat în tabelul 4.4.

Tabelul 4. 4. Tabelul de adevăr


a b c f(a,b,c)
0 0 0 1
0 0 1 - La o funcţionare normală,
aceste combinaţii
nu pot să apară

0 1 0 -
0 1 1 -
1 0 0 0
1 0 1 -
1 1 0 1
1 1 1 0
FCD a funcţiei va fi: f(a, b, c)  a b c  a b c
134 Bazele tehnologiei informaţiei

Pentru simplificarea acestei funcţii vom folosi diagrama Karnaugh.

În urma minimizării: f(a, b, c)  a  b c

4.7. Circuite logice


4.7.1. Definirea şi clasificarea

Circuitele logice sunt componente electronice interconectate capabile să


realizeze operaţii logice. Schema logică reprezintă implementarea unei expresii
logice, folosind în acest scop o serie de simboluri specifice fiecărei funcţii logice
elementare din cadrul expresiei respective. Se poate face o clasificare a circuitelor
logice:
 după nivelul de tensiune asociat cifrelor binare (figura 4.3):
 circuite logice în logică pozitivă;
 circuite logice în logică negativă.
 după modul de funcţionare în timp:
 circuite logice combinaţionale;
 circuite logice secvenţiale.

Reprezentarea stărilor binare ale semnalelor în circuitele logice se pot realiza


prin două niveluri de tensiune sau curent. La reprezentarea prin niveluri de
tensiune, cele două valori de tensiune utilizate se numesc nivelul pozitiv respectiv
nivelul negativ.
Logica pozitivă este logica prin care valoarea logică "1" corespunde nivelului de
tensiune cel mai pozitiv, iar valoarea logică "0" corespunde nivelului de tensiune
cel mai negativ.
Logica negativă este logica pentru care valoarea logică "1" este reprezentată
prin nivelul de tensiune cel mai negativ, iar valoarea logică "0" corespunde
nivelului de tensiune cel mai pozitiv.
Bazele logice ale calculatoarelor 135

Logica pozitivă Logica negativă

Valoarea logică "0" "1" "0" "1"

0 +5 V +5 V 0V
Nivelul de tensiune -5 V 0V 0V -5 V
-5 V +5 V +5 V -5 V

Figura 4.2. Corelaţia dintre valoarea logică şi nivelul de tensiune

Figura 4.3. Reprezentarea cifrelor binare în logica pozitivă(a)/negativă (b)

4.7.2. Circuitele logice combinaţionale

Circuitele logice combinaţionale sunt acelea la care starea internă nu


influenţează ieşirea, deci setul mărimilor de ieşire este complet determinat la orice
moment de timp numai de setul mărimilor de intrare curente.

Figura 4.4. Circuit combinaţional

Se poate scrie că: yj(t) = fj (i1(t), i2(t),… im(t)) j = 1, n


136 Bazele tehnologiei informaţiei

Analiza schemelor logice combinaţionale (SLC) se face cu ajutorul tabelelor de


adevăr, pe baza cărora se poate urmări corespondenţa intrare - ieşire.
Sinteza schemelor logice combinaţionale este inversa analizei - se urmăreşte
obţinerea unei scheme logice după anumite date iniţiale care descriu funcţionarea şi
care permit stabilirea tabelei de adevăr, pe baza căreia se scriu funcţiile logice ce
pot fi implementate.
Circuitele logice elementare (de bază) se încadrează în grupa circuitelor
combinaţionale şi sunt circuitele realizate pentru efectuarea de operaţii logice
elementare. Se mai numesc şi porţi logice. Circuitele logice de bază poartă numele
funcţiei logice pe care o realizează. În figura 4.5 sunt prezentate simbolurile pentru
circuite logice elementare.

ŞI SAU

ŞI-NU SAU-NU

NU SAU EXCLUSIV

INHIBARE IMPLICARE

Figura 4. 5. Simboluri pentru circuite logice elementare

4.7.3. Circuite logice secvenţiale

Circuitele logice secvenţiale se caracterizează prin aceea că valoarea funcţiei de


la ieşire (y), la un moment dat t, depinde atât de valorile variabilelor de intrare
(ui unde i = 1 , n ) la momentul t, cât şi de valoarea pe care a avut-o anterior
funcţia. Putem scrie că:
y(t)=f((u1(t),u(t),...,un(t),y(t-τ))

Circuitul logic secvenţial conţine (figura 4.6):


 structură logică combinaţională;
Bazele logice ale calculatoarelor 137

 structură de memorare.

Figura 4. 6. Circuit logic secvenţial

Aşa cum poarta (ŞI, SAU etc.) este element combinaţional de bază, circuitul
basculant bistabil este folosit ca element de bază pentru memorare (RAM de un
bit).
Circuitul basculant bistabil (CBB) se caracterizează prin două stări stabile (Q şi
Q ). Trecerea dintr-o stare în alta se face prin aplicarea unei comenzi exterioare.
Circuitele basculante bistabile pot fi:
 asincrone, în cazul în care variaţiile obţinute la ieşirea lor urmăresc
semnalele de comandă, comutare este arbitrară;
 sincrone (figura 4.7), în cazul în care modificările la ieşire au loc în raport
cu semnalele de comandă, numai ca urmare a tranzacţiei intrării de
sincronizare (intrare de tact - T sau intrare de ceas). De obicei, tranziţia
semnalului de la ieşire - Q are loc pe frontul descrescăror (sau crescător) al
semnalului de ceas. Exemple de circuite basculante bistabile: RS, JK, RST,
JKT etc.
J(t) K(t) Q(t-τ) Q(t)

0 0 0/1 0/1

0 1 0/1 0

1 0 0/1 1

1 1 0/1 1/0

Figura 4.7. Simbolul şi tabelul de adevăr pentru circuitul basculant bistabil JKT

Din categoria circuitelor basculante mai există:


138 Bazele tehnologiei informaţiei

 circuite basculante monostabile se caracterizează printr-o singură stare


stabilă. Cu ajutorul unei comenzi exterioare se poate trece într-o altă stare,
în care va rămâne un interval de timp determinat de elementele circuitului,
după care revine în starea iniţială. Acestea sunt utilizate ca elemente de
temporizare;
 circuite basculante astabile nu prezintă nici o stare stabilă. Trecerea dintr-o
stare în alta se realizează fără o comandă exterioară. Perioada semnalelor
generate depinde de valorile parametrilor circuitului. Acestea sunt folosite
drept circuite oscilante.

4.7.4. Blocuri funcţionale

Registrul este dispozitivul digital realizat cu elemente de memorare (CBB) şi


folosit în construcţia sistemelor de calcul pentru memorarea temporară (în vederea
prelucrării) a datelor reprezentate în formă binară. Un registru conţine un număr de
celule de memorare egal cu numărul de cifre binare asociat informaţiei ce trebuie
memorată. Funcţie de modul de păstrare a informaţiei registrul poate fi:
 static - când oprirea impulsurilor de comandă nu afectează conţinutul
memorat;
 dinamic - când oprirea impulsurilor de comandă duce la pierderea
conţinutului memorat.
Regiştri pot avea o funcţionare sincronă sau asincronă. Operaţia de înregistrare a
datelor binare într-un registru se numeşte scriere, iar operaţia de transfer a
conţinutului citire. Trecerea tuturor celulelor de memorare din structura unui registru
în starea 0 se numeşte ştergere. Atât operaţia de citire, cât şi cea de scriere se pot
efectua:
 serie - cifrele binare fiind preluate secvenţial;
 paralel - cifrele binare se înscriu/citesc simultan.
După modul de realizare a operaţiilor de scriere/citire avem:
 regiştri cu intrare/ieşire serie sau regiştri de deplasare (figura 4.8);
 regiştri cu intrare/ieşire paralelă;
 regiştri cu intrare serie/ieşire paralelă;
 regiştri cu intrare paralelă/ieşire serie.
Bazele logice ale calculatoarelor 139

Figura 4. 8. Registru serie

Figura 4.9. Diagrama de semnale


Memorarea se face pe timpul a n perioade de ceas (n este egal cu numărul de
ranguri ale registrului). Citirea se va face tot în n perioade de ceas.

Numărătoarele sunt utilizate pentru controlul secvenţializării operaţiilor.


Circuitul de bază al numărătorului este circuitul basculant bistabil. Ieşirile
bistabililor ce formează numărătorul sunt interpretate împreună, ca stare a
140 Bazele tehnologiei informaţiei

numărătorului. Conectarea a n circuite basculante bistabile realizează un numărător


binar cu N = 2n stări distincte. Pentru realizarea unui numărător cu un factor de
divizare M2n (M fiind număr întreg), se aplică bucle de reacţie circuitelor
bistabile, prin scheme logice combinaţionale.
Clasificarea numărătoarelor se poate face:
 funcţie de modul de aplicare a impulsurilor de comandă:
 numărătoare asincrone - impulsul de sincronizare acţionează numai
asupra primului CBB.
 numărătoare sincrone - impulsul de tact se aplică simultan la intrările
tuturor circuitelor bistabile.
 funcţie de sensul numărării:
 numărătoare directe - creşte conţinutul pentru fiecare impuls de ceas;
 numărătoare inverse - scade conţinutul pentru fiecare impuls de ceas;
 numărătoare bidirecţionale (reversibile) - au o intrare pentru numărare
înainte iar alta pentru numărare înapoi.

Elemente ale blocului aritmetic - sumatorul elementar. Dacă ai este o cifră


binară a numărului A, bi cifra binară corespunzătoare a numărului B şi Ti este cifra
binară ce reprezintă transportul de la rangul anterior, în urma însumării se va obţine
Si - rezultatul însumării şi Ti+1 - transportul pentru rangul următor. În acest caz,
tabelul de adevăr este:

Intrări Ieşiri
ai bi Ti Si Ti+1
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Formele canonice disjunctive ale celor două funcţii Si şi Ti+1 sunt:


Si (ai, bi, Ti) = ai biTi + aibi Ti + ai bi Ti + aibiTi
Ti + 1 (ai, bi, Ti) = aibiTi + ai biTi + aibi Ti + aibiTi
Bazele logice ale calculatoarelor 141

În figura 4.10 sunt prezentate diagramele Karnaugh pentru minimizarea funcţiilor


Si şi Ti+1.

Figura 4.10. Minimizarea pentru Si şi Ti+1


Din diagrama Karnaugh, pentru funcţia Si (ai, bi, Ti) se constată că nu este posibilă
minimizarea acesteia. În timp ce funcţia Ti+1 simplificată este:
Ti+1 (ai, bi, Ti) = bi Ti + ai Ti + ai bi
Schema logică a sumatorului elementar este prezentată în figura 4.11.

Figura 4. 11. Sumator elementar: a) schema logică b) simbol


Însumarea celor n cifre binare ale numerelor A şi B se poate realiza serial
(figura 4.12) sau paralel (figura 4.13). Dacă pentru însumarea serială se utilizează
un sumator elementar şi două registre de deplasare (RD1, RD2), pentru însumarea
paralelă se vor utiliza n sumatoare elementare.
142 Bazele tehnologiei informaţiei

Figura 4.12. Însumarea serială

Figura 4.13. Însumarea paralelă


Matricea de comutaţie este circuitul logic cu ieşiri multiple, care realizează o
funcţie matricială booleană. La o matrice de comutaţie ieşirile sunt dependente de
intrări print-o relaţie matricială. Se poate face o clasificare a matricilor de
comutaţie după:
 structura logică:
 matrice rectangulară;
 matrice piramidală;
 matrice dual piramidală.
 utilizare:
 matrice pentru codificare;
 matrice pentru decodificare;
 matrice pentru selecţie;
 matrice pentru distribuţie.

Matricea pentru codificare are rolul de codifica informaţia care se prelucrează


prin sistemul de calcul (figura 4.14). Exemplu - codificarea cifrelor sistemului
octal.
Tabelul 4.5. Tabel de adevăr

Intrarea Ieşirile codificatorului


Cifra octală A B C
C0 0 0 0
C1 0 0 1
C2 0 1 0
C3 0 1 1
C4 1 0 0
C5 1 0 1
C6 1 1 0
C7 1 1 1

Figura 4.14. Matricea pentru codificare


Matricea pentru decodificare realizează operaţia inversă codificării.

Figura 4. 15. Matricea pentru decodificare


Decodificatorul se utilizează pentru scrierea selectivă a datelor în memoria
adresabilă RAM.
Circuitul de multiplexare (multiplexorul) este unul din cele mai importante
circuite logice. El se poate utiliza:
 în cadrul unităţii de calcul, când codul de selecţie reprezintă codul operaţiei
care se va executa;
 citirea selectivă a unei locaţii dintr-o zonă de memorie;
 generator de funcţii logice, dacă sursele de date sunt constante;
144 Bazele tehnologiei informaţiei

 partajarea unei linii de transmisie prin multiplexarea în timp.

Figura 4.16. Multiplexorul


Demultiplexorul realizează funcţia inversă multiplexorului. El are rolul de
selecta o ieşire din cele 2n, spre care se transferă informaţia de pe intrare. Adresa
pentru selecţie o reprezintă cele n intrări de selecţie.

Figura 4.17. Demultiplexorul


Blocul de memorie are la bază un ansamblu de registre de aceeaşi dimensiune,
accesibile printr-o magistrală unică. Memoria în cazul general reprezintă un sistem
secvenţial a cărui funcţionalitate este independentă de natura informaţiei manipulate.
Caracteristicile de bază ale unui bloc de memorie sunt:
 mărimea cuvintelor de memorie;
 numărul de cuvinte sau mărimea spaţiului adresabil.

Memoria RAM (Random Access Memory) poate fi:


 cu magistrale pentru date şi adrese (varianta standard – figura 4.18);
 cu magistrală de adrese multiplexată;
 cu multiplexarea magistralei pentru adrese/date.
Bazele logice ale calculatoarelor 145

Figura 4.18. Schema bloc pentru memoria RAM


Operaţia de scriere necesită:
 transferul adresei într-un registru de adrese şi al datelor într-un registru de
date;
 transferul conţinutului registru de date în locaţia de memorie identificată
prin informaţia din registrul de adrese.
Operaţia de citire presupune:
 transferul adresei într-un registru de adrese;
 transferul conţinutului din locaţia de memorie, identificată prin informaţia
din registrul de adrese, într-un registru de date.
După cum se ştie, circuitul basculant bistabil constituie elementul de bază
pentru memorare. Dacă aceste elemente sunt grupate în reţele, se va obţine o
matrice de memorie. Deoarece circuitele basculante bistabile pot păstra informaţia,
pe durata alimentării, spunem că sunt memorii statice.
Memoriile dinamice memorează informaţia prin prezenţa sau absenţa unei
sarcini electrice pe un condensator. Deoarece condensatorul se poate descărca în
timp, pentru a păstra neschimbată informaţia înscrisă este necesar ca periodic
memoria dinamică să fie reîmprospătată, prin citirea şi reînscrierea fiecărei cifre
binare.
146 Bazele tehnologiei informaţiei

Memoria de tip ROM (Read Only Memory) nu este un sistem secvenţial, deţine
caracteristicile de implementare a funcţiilor logice combinaţionale.
Memoriile fixe, ROM, realizate cu circuite integrate pe scară largă, reprezintă un
anumit nivel al standardizării pentru utilizator. Această posibilitate de adaptare la
cerinţele utilizatorilor s-a obţinut prin folosirea calculatorului în generarea
automată a măştilor într-o anumită fază a procesului tehnologic de realizare a
circuitelor integrate.
Considerăm o memorie ROM de 16 384 biţi. Aceasta poate fi organizată ca o
matrice X x Y de 128 x 128 puncte care sunt sau nu conducătoare (figura 4.19). Un
astfel de circuit are opt ieşiri (0007) şi 11 intrări de adresă fiind organizat în 2048
cuvinte a câte opt biţi (2 Kocteţi). Pentru o anumită combinaţie de pe intrare este
generată o combinaţie la ieşire.

Figura 4.19. Memorie ROM


Memoriile fixe programabile (PROM - programmable ROM) sunt programate
de producătorul de echipamente de calcul prin mijloace electronice, folosindu-se
"programatorul PROM" prin intermediul căruia se reţine configuraţia dorită de biţi.
Există tipuri de memorii PROM care pot fi reprogramabile (EPROM - Erasable
PROM), în sensul că pot fi şterse electric sau prin expunere la lumină ultravioletă
şi reprogramate de mai multe ori.
Densitatea funcţională ce se obţine prin folosirea ROM-urilor sau PROM-urilor
este incomparabil mai mare decât cea obţinută prin utilizarea porţilor şi
bistabilelor.
Matricile logice programabile (PLA - Programmable Logic Array) necesită
specificarea atât a configuraţiei biţilor fiecărui cuvânt de ieşire cât şi adresa
acestuia.
Aplicaţiile PLA-ului pot fi legate de funcţia de memorare, de conversia de cod,
sau de generarea de funcţii logice. PLA-ul ca un generator de funcţii logice poate fi
asimilat cu o structură ŞI/SAU în care cele m adrese sunt decodificate cu m circuite
Bazele logice ale calculatoarelor 147

ŞI cu n intrări, iar fiecare ieşire este a unui circuit SAU ce are, ca intrare ieşirea
oricăreia din cele m porţi ŞI. Orice ieşire poate fi definită ca o sumă de produse.

Circuite integrate

Circuitul integrat (CI) a fost elementul ce a permis miniaturizarea


componentelor fizice ale unui sistem de calcul. Circuitul integrat reprezintă un
circuit electronic ale cărui componente (rezistoare, diode, condensatoare,
tranzistoare etc.) sunt realizate pe o pastilă de material semiconductor în scopul
obţinerii unei funcţii specifice. În tabelul următor sunt prezentate circuite tipice
fiecărui nivel de integrare, din categoria circuitelor discutate.

Tabelul 4. 6. Familii de circuite integrate

Familia de CI Circuite combinaţionale Circuite secvenţiale


Porţi: NU, ŞI, SAU, NAND, Circuite basculante
NOR bistabile

Integrare pe scară medie (MSI) Decodificatoare, sumatoare, Registre,


(100-1000 componente/cip) multiplexoare numărătoare

Integrarea pe scară largă (LSI) Memorii fixe (ROM, PROM) Memorii cu acces
(1000-10000 comp./cip) Matrici logice programabile aleator (RAM)
(PLA)

Integrarea pe scară foarte largă


(VLSI)
Circuite specializate
(>10000 comp./cip)

4.8. Probleme rezolvate


Problema 1.
Să se găsească o formă canonică disjunctivă pentru expresia:

E x1 , x2 , x3   ( x1  x2 )( x1 x2 )( x1  x3 )
Rezolvarea
Vom rezolva problema folosind proprietăţile algebrei booleene. Vom folosi
următorul procedeu:
 în cazul în care operaţia de complementare este aplicată unor expresii se
aplică formulele lui De Morgan până când în cadrul expresiei date nu mai
apar decât complementele variabilelor;
 se distribuie operaţia de “şi logic” în raport cu operaţia de “sau logic” ori
de câte ori este cazul;
148 Bazele tehnologiei informaţiei

 se elimină produsele care se anulează sau se repetă şi variabilele duplicate;

E  x1 , x2 , x3  = x1 x2 ( x1  x2 )( x1  x3 ) = x1 x2 ( x1  x3 ) = x1 x2 ( x1  x3 ) =
x1 x2  x1 x2 x3 = x1 x2 ( x3  x3 )  x1 x2 x3 = x1 x2 x3  x1 x2 x3  x1 x2 x3 =
x1 x2 x3  x1 x2 x3 = x1 x 2

Problema 2. Se dă funcţia funcţia logică f(x1,x2,x3) prin tabelul de adevăr:

x1 0 0 0 0 1 1 1 1
x 0 0 1 1 0 0 1 1
x3 0 1 0 1 0 1 0 1
f(x1, x2, x3) 0 1 0 0 1 0 1 0
Să se afle:
a) forma canonică disjunctivă;
b) forma canonică conjunctivă;
c) cea mai simplă formă normală disjunctivă.

Rezolvarea
FCD este: f1(x1, x2, x3) = m1+ m4 + m6 = x1 x2 x3  x1 x2 x3  x1 x2 x3
FCC este: f2(x1, x2, x3) = M0+ M2+ M3+ M5+ M7 =
( x1  x2  x3 )( x1  x2  x3 )( x1  x2  x3 )( x1  x2  x3 )( x1  x2  x3 )

Vom simplifica forma canonică disjunctivă astfel:


f1(x1, x2, x3) = x1 x2 x3  x1 x3 ( x2  x2 ) = x1 x2 x3  x1 x3

Problema 3.
 x 4 , x1  x 2  0

Fie funcţia f: AIKEN  {0,1}, f ( x1 , x 2 , x3 , x 4 )   x3  x 4 , x1  x 2  1
x  x , x  x
 3 4 1 2
a) Să se determine tabela de adevăr a funcţiei.
b) Să se determine forma canonică conjunctivă şi disjunctivă
c) Să se simplifice funcţia folosind proprietăţile algebrei booleene
d) Să se simplifice funcţia folosind diagrame Karnaugh
e) Să se deseneze circuitul logic al funcţiei minimizate

Rezolvarea
a) Reprezentarea cifrelor prin codul numeric AIKEN (2421) este:
Cifra Cod 2421 Cifra Cod 2421
0 0000 9 1111
1 0001 8 1110
2 0010 7 1101
Bazele logice ale calculatoarelor 149

3 0011 6 1100
4 0100 5 1011

Se observă auto-complementaritatea codului faţă de 9. Vom explicita funcţia cu


ajutorul tabelului de adevăr:
x1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
x2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
x3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
x4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
f(x1, x2, x3, 0 1 0 1 0 - - - - - - 0 0 1 1 1
x4)

b) FCD a funcţiei este:

f1(x1, x2, x3, x4 ) = x1 x2 x3 x4  x1 x2 x3 x4  x1 x2 x3 x4  x1 x2 x3 x4  x1 x2 x3 x4

FCC a funcţiei este:


f2(x1, x2, x3, x4 ) =
( x1  x2  x3  x4 )( x1  x2  x3  x4 )( x1  x2  x3  x4 )( x1  x2  x3  x 4 )( x1  x2  x3  x4 )

c) În operaţia de simplificare nu vom lua în considerare mintermii redundanţi:


f1(x1, x2, x3, x4 ) =
x1 x2 x3 x4  x1 x2 x3 x4  x1 x2 x3 x4  x1 x2 x3 x4  x1 x2 x3 x4  x1 x2 x3 x4 =
x1 x2 x4 ( x3  x3 )  x1 x2 x3 ( x4  x4 )  x1 x2 x4 ( x3  x3 ) = x1 x2 x4  x1 x2 x3  x1 x2 x4

d) Vom simplifica forma canonică disjunctivă şi vom folosi pentru simplificare


şi mintermii redundanţi asociaţi poziţiilor din B2×B2×B2×B2 unde funcţia nu este
definită.
x3, x4
x1, x2 00 01 11 10
00 1 1
01 R R R
11 1 1 1
10 R R R

Formăm 3 grupe a câte 4 mintermi şi simplificăm astfel:


f(x1, x2, x3, x4 ) = x1 x4  x2 x4  x2 x3

e) Reprezentăm funcţia logică folosind circuitul logic “ŞI”, circuitul logic


“SAU” şi circuitul logic de negare.
150 Bazele tehnologiei informaţiei

x1

X1

X2

X3

f (x1, x2, x3, x4 )


X4

Problema 4.
Să se scrie expresiile pentru funcţiile logice de la ieşirea unui convertor de cod
care realizează conversia din codul binar-zecimal neponderat Gray în codul zecimal
codificat binar cu ponderile 2421şi să se deseneze schema logică.
Rezolvarea
Notând cu x1, x2, x3, x4 variabilele de intrare şi cu y1, y2, y3, y4 variabilele de pe
ieşire, se poate completa tabelul de adevăr (tabelul 4.7).

Tabelul 4.7. Tabelul de adevăr al convertorului de cod


x1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Intrări (cod

x2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
Gray)

x3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
x4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
y1 0 0 0 0 0 1 1 1 1 1 R R R R R R
Ieşiri (cod

y2 0 0 0 0 1 0 1 1 1 1 R R R R R R
2421)

y3 0 0 1 1 0 1 0 0 1 1 R R R R R R
y4 0 1 0 1 0 1 0 1 0 1 R R R R R R

Din tabelul 4.7. se constată că funcţiile logice corespunzătoare ieşirilor y1, y2, y3,
y4 sunt incomplet definite (se codifică cifrele zecimale de la 0 la 9), deci avem şase
termeni redundanţi pe care îi vom utiliza în diagramele de simplificare.

Pentru minimizare se asociază câte o diagramă Karnaugh fiecărei funcţii de ieşire.


Astfel diagrama pentru funcţia y1 (x1, x2, x3, x4) este reprezentată în figura 4.20.
Bazele logice ale calculatoarelor 151

Figura 4. 20. Diagramă Karnaugh pentru funcţia y1 (x1, x2, x3, x4)

Prin minimizarea FCD, pentru y1 (x1, x2, x3, x4) se obţine următoarea expresie:
y1 ( x1 , x 2 , x 3 , x 4) = x 2 x 3 + x 2 x 4
În mod asemănător se determină formele minimizate pentru celelalte funcţii
logice de ieşire, acestea fiind:
y 2 ( x1 , x 2 , x 3 , x 4 ) = x 2 x 3 + x 2 x 4
y 3 ( x1 , x 2 , x 3 , x 4 ) = x1 + x 3 x 4 + x 2 x 3
y 4 ( x1 , x 2 , x 3 , x 4 ) = x 2 x 3 x 4 + x 2 x 3 x 4 + x1 x 4 + x1 x 2 x 3 x 4 + x1 x 2 x 3 x 4

Utilizând porţile NU, ŞI, SAU schema logică a convertorului este prezentată în
figura 4.21.

Figura 4. 21.Schema logică a convertorului de cod


152 Bazele tehnologiei informaţiei

4.9. Probleme propuse


1. Fie funcţia f(x1, x2, x3, x4) definită prin tabelul de adevăr :
x1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
x2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
x3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
x4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
f(x1, x2, x3, 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 1
x4)
a) Să se scrie FCD a funcţiei;
b) Să se scrie FCD a funcţiei;
b) Folosind proprietăţile algebrei booleene să se verifice că FCD este echivalentă
cu FCC;
c) Să se deseneze schema logică a funcţiei minimizate.

2. Funcţia majoritară F(x,y,z) se defineşte ca fiind funcţia booleeană ce este


adevărată dacă cel puţin două din argumentele sale sunt adevărate.
a) Să se alcătuiască tabelul de adevăr pentru această funcţie;
b) Să se scrie FCD şi FCC a funcţiei F(x,y,z);
c) Apelând la proprietăţile algebrei booleene să se minimizeze F(x,y,z);
d) Să se verifice dacă se ajunge la aceeaşi formă a funcţiei minimizate când
pentru simplificare se foloseşte diagrama Veitch (sau Karnaugh);

3. Fie următoarele funcţii logice de patru variabile:


f1 = m0 + m2 + m8 + m10
f2 = M1  M3  M5  M7  M9  M11
f3 = m0 + m2 + m4; având termenii redundanţi m1, m3, m5, m7
f4 = M8  M12  M14; având termen redundant M10
f5 = m1 + m5 + m8 + m13.
a) Să se realizeze tabelele de adevăr;
b) Să se simplifice funcţiile prin diagramele Veitch-Karnaugh.

4. Funcţia F(x,y,z,t) se defineşte ca fiind adevărată dacă două variabile alăturate


sunt false (variabile alăturate: x şi y; y şi z; z şi t; t şi x)
Bazele logice ale calculatoarelor 153

a) Să se completeze tabelul de adevăr pentru F(x,y,z,t);


b) Să se realizeze schema logică a funcţiei minimizate.

S-ar putea să vă placă și