Sunteți pe pagina 1din 25

BAZELE PROGRAMRII CALCULATOARELOR 5

PORI LOGICE. IMPLEMENTAREA FUNCIILOR LOGICE


FOLOSIND PORI LOGICE.
1. Obiective

Prin parcurgerea acestei edine de laborator studenii vor fi capabili:


S defineasc legile algebrei booleene;
S defineasc operaiile logice pe bit;
S reprezinte grafic operatorii sum logic, produs logic i operatorul de complementare;
S enune proprietile fundamentale ale algebrei Booleene;
S reprezinte o funcie logic prin tabele de adevr, sau prin realizant sau n forma
analitic;
S exprime funciile logice n formele canonice FCD i FCC.

Modul de operare al celor mai multe calculatoare digitale moderne se bazeaz pe sisteme
de numeraie binare. Sistemele de numeraie binare erau bine cunoscute nc din China antic
sau de la filozofii greci care au creat un sistem binar foarte bine structurat cunoscut sub
denumirea de logic propoziional. Propoziiile pot avea o valoarea de adevr ADEVRAT
(TRUE) sau FALS (FALSE) i pot fi condiionate ca i funcii formate din alte propoziii
conectare prin trei conectori logici: I, SAU i NEGAIE. De exemplu, s considerm
urmtoarea afirmaie:
Dac afar plou sau prognoza meteo indic vreme rea, atunci voi lua o umbrel cu mine.
care conecteaz funcional propoziia P1:Voi lua o umbrel cu mine cu propoziiile P2:afar
plou i P3:prognoza meteo indic vreme rea. Se observ c propoziia P1 este determinat
complet de celelalte dou propoziii. n termeni funcionali, putem considera c valoarea de
adevr a propoziiei P1 este determinat de valorile de adevr ale propoziiilor P2 i P3.

P2
P3

SAU

P1

Figura 1. Reprezentarea n schem bloc a afirmaiei Dac afar plou sau prognoza meteo
indic vreme rea, atunci voi lua o umbrel cu mine.
Semnificaia conectorului SAU este c ieirea are valoarea ADEVRAT dac mcar una dintre
intrri are valoarea ADEVRAT; n caz contrar avnd valoarea de adevr FALSE. Deoarece
valoarea de adevr a unei propoziii poate avea doar una dintre cele dou valori, putem calcula

60

BAZELE PROGRAMRII CALCULATOARELOR 5


cu uurin valoarea de adevr a ieirii pentru orice valori posibile ale intrrii. Se va obine un
tabel de adevr corespunztor funciei logice SAU:
afar plou
FALS
FALS
ADEVRAT
ADEVRAT

prognoza meteo indic vreme rea


FALS
ADEVRAT
FALS
ADEVRAT

voi lua o umbrel


FALS
ADEVRAT
ADEVRAT
ADEVRAT

Propoziia poate deveni orict de complex este nevoie. De exemplu, dac dorim s includem
propoziia Voi pleca cu maina putem construi afirmaia n felul urmtor: Dac nu voi pleca
cu maina i afar plou sau prognoza meteo indic vreme rea, atunci voi lua umbrela..
Reprezentarea afirmaiei va fi:
(Voi lua umbrela) = (NEGAT (Voi lua maina)) I ((Prognoza meteo indic vreme rea) SAU (Afar plou))

P2
P3
P4

P1 = (NEGAT (P4)) I (P2 SAU P3)

SAU

SI

P1

NOT

Figura 2. Reprezentarea n schem bloc a afirmaiei Dac nu voi pleca cu maina i afar
plou sau prognoza meteo indic vreme rea, atunci voi lua umbrela..

Pentru a simplifica conexiunile binare complexe, matematicianul George Boole a dezvoltat


algebra boolean pornind de la notaii algebrice obinuite i codificnd valorile de adevr prin
valori numerice: ADEVRAT prin 1 i FALS prin 0.

61

BAZELE PROGRAMRII CALCULATOARELOR 5


2. Algebra Boolean
Algebra boolean reprezint o metod simbolic pentru studierea relaiilor logice. Algebra
boolean este o mulime compus din dou elemente = {0,1} nzestrat cu dou legi de
compoziie + () () , o lege de complementare i un set de axiome.
Proprietile fundamentale ale algebrei Booleene
Elementele 0 i 1 sunt unice.
M este o mulime nchis n raport cu operatorii
, 1) + ; 2) ; 3) .
3) Elementul neutru pentru sum este 0, iar pentru produs este 1.
4) Elementul absorbant pentru produs este 0, iar pentru sum este 1.
5) Teorema dublei negaii
= ;
6) Teorema complementrii
= 0; + = 1;
7) Teorema de idempoten
+ = ; = ;
8) Teorema de absorbie
+ ( ) = ; ( + ) = ;
9) Comutativitatea
+ = + ; = ;
10) Asociativitatea
+ ( + ) = ( + ) + ; ( ) = ( ) ;
11) Distributivitatea
( + ) = + ; + = ( + ) ( + );
12) Legile lui DeMorgan

+ = ;
= + .

1)
2)

3. Operaii logice elementare


Operatorii logici
Operatori unari

Operatori binari

Operatori compui

NOT

SAU

SAU NEGAT

I NEGAT

XOR

62

BAZELE PROGRAMRII CALCULATOARELOR 5


3.1.

Operatorul NOT (de complementare)


=

Funcia logic
Tabelul de adevr


0 1
1 0
Reprezentarea cu poart logic
x

3.2.

Operatorul SAU (sum logic)

Operatorul sum logic este simbolizat prin +,,, , .


=+

Funcia logic
Tabelul de adevr

0
0
1
1

+
0
0
1
1
0
1
1
1

Reprezentarea cu poart logic

x+y

Propagarea semnalului

0
1

y=b

OR

x=0/1
masca

63

b/1

BAZELE PROGRAMRII CALCULATOARELOR 5


3.3.

Operatorul I (produs logic)


=

Funcia logic
Tabelul de adevr

0
0
1
1


0
0
1
0
0
0
1
1

Reprezentarea cu poart logic

xy

Propagarea semnalului

0
1

y=b

OR
AND

x=0/1
masca

3.4.

Operatorul XOR
=

Funcia logic
Tabelul de adevr

0
0
1
1

64


0
0
1
1
0
1
1
0

0/b

BAZELE PROGRAMRII CALCULATOARELOR 5


Reprezentarea cu poart logic

x y

y
Propagarea semnalului

0
1

y=b

b/NOTb
XOR

x=0/1
masca

3.5.

Operatorul NAND (NOT AND)

0
0
1
1

Funcia logic
Tabelul de adevr

Reprezentarea cu poart logic


0
1
0
1

y=b
NAND
OR

x=0/1
masca

65

1/b

BAZELE PROGRAMRII CALCULATOARELOR 5


3.6.

Operatorul NOR (NOT OR)


=
+

Funcia logic
Tabelul de adevr

0
0
1
1
Reprezentarea cu poart logic


+
0

y=b
NOR

b/0

x=0/1
masca

Implementri ale funciilor logice cu pori NAND sau NOR

Funcii scrise in forma canonic conjunctiv sau disjunctiv


Implementarea cu porti NAND

( , , , ) = =

=
OR

Implementarea cu porti NOR


( , , , ) = =

m0

OR

M0

OR

mn-1

OR

66

Mn-1

BAZELE PROGRAMRII CALCULATOARELOR 5


Implementarea porii NOT
Implementarea cu porti NAND

Implementarea cu porti NOR

OR

Implementarea porii AND


Implementarea cu porti NAND

Implementarea cu porti NOR


x

x
y

xy

OR

xy

xy

OR

Implementarea porii OR
Implementarea cu porti NAND

Implementarea cu porti NOR

x
OR

x
OR

y
OR

x+y

x+y

x+y

Costul unei scheme logice este numrul de intrri n circuitele logice elementare folosite
n implementarea funciei.

Numrul de nivele dintr-o schem logic este numrul maxim de pori strbtute de
semnal de la intrare la ieire.

67

BAZELE PROGRAMRII CALCULATOARELOR 5


3.7.

Operatori pentru rotaie

Rotaie aritmetic la stnga (RAL)

Rotaie aritmetic la dreapta (RAR)

Se rotete coninutul operandului la stnga,


prin carry cu numrul de poziii specificat.
Bitul CF nu face parte din rezultat, dar
recepioneaz o copie a bitului care a fost
deplasat de la un capt la cellalt.

Se rotete coninutul operandului la dreapta


prin carry cu numrul de poziii specificat.
Bitul CF nu face parte din rezultat, dar
recepioneaz o copie a bitului care a fost
deplasat de la un capt la cellalt.

A
CF

CF

Exemplu:
7

1xRAL
6 5
2xRAL
5 4

Exemplu:
5
4
3

4
3
2

3
2
1

2
1
0

1
0
0

1xRAR
0
7

2xRAR
0
0

Rotaie la stnga cu carry (RLC)

Rotaie la dreapta cu carry (RRC)

Se rotete coninutul operandului la stnga, cu Se rotete coninutul operandului la dreapta, cu


tot cu carry, cu numrul de poziii specificat. tot cu carry, cu numrul de poziii specificat.
Bitul CF face parte din informaia rotit.
Bitul CF face parte din informaia rotit.
A

CF

CF

Exemplu:
7

Exemplu:
5

68

BAZELE PROGRAMRII CALCULATOARELOR 5


1xRLC
6 5
2xRLC
5 4

4
3

1
0

0
7

1xRRC
0 7

2xRRC
1 0

4. Funcii logice
4.1.

Reprezentarea prin tabel de adevr

Se reprezint pe primele coloane variabilele de intrare i pe ultimele valorile de ieire. n


cazul de mai jos avem 3 variabile de intrare , , i o ieire (, , ). Pe primele trei coloane
vom avea 23 = 8 variante posibile pentru cele 3 variabile de intrare, iar pe ultima valoarea lui
pentru fiecare dintre combinaii.

0
0
0
0
1
1
1
1

4.2.

0
0
1
1
0
0
1
1

(, , )
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0

Reprezentarea prin realizant

n cazul reprezentrii prin realizant se consider c funcia va lua valoarea 0, respectiv


valoarea 1 pentru valorile variabilelor de intrare specificate ntre paranteze. Pentru exemplul de
mai jos, funcia va avea valoarea 0 pentru 1, 2, 6 i 7 (001, 010, 110, 111) i va avea valoarea 1
pentru 0, 3, 4 i 5 (000, 011, 100, 101).
(, , ) = 0 (1,2,6,7);
(, , ) = 1 (0,3,4,5).

4.3.

Reprezentarea analitic (prin formul)


(, , ) = + + + .

69

BAZELE PROGRAMRII CALCULATOARELOR 5


4.4.

4.5.

Reprezentarea cu pori logice

Formele canonice ale funciilor logice

Un minterm (m) este o expresie logic elementar definit pe fiecare combinaie


posibil a tuturor variabilelor independente legate prin produs logic i care este ntotdeauna
evaluat cu 1 logic.
Un maxterm (M) este o este o expresie logic elementar definit pe fiecare
combinaie posibil a tuturor variabilelor independente legate prin sum logic i care este
ntotdeauna evaluat cu 0 logic.
FCND Forma Canonic Normal Disjunctiv (suma de produse)
1

=
=0

unde
n este numrul variabilelor independente;
reprezint valoarea funciei f pentru echivalentul zecimal i.
FCNC Forma Canonic Normal Conjunctiv (produs de sume)
1

= +
=0

unde
n este numrul variabilelor independente;
reprezint valoarea funciei f pentru echivalentul zecimal i.
Exemplu: Se consider funcia (, , ) = 1 (0,2,3,7), tabelul de adevr, precum i mintermii
i maxtermii funciei sunt ilustrai mai jos:

70

BAZELE PROGRAMRII CALCULATOARELOR 5


Echivalentul
zecimal
0
1
2
3
4
5
6
7

x
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
2
3
4
5
6
7

=
=
=
=
=
=
=
=

(, , )

0
1
2
3
4
5
6
7

=++
= + +
= + +
= + +
= + +
= + +
= + +
= + +

1
0
1
1
0
0
0
1

= 0 1 + 1 0 + 2 1 + 3 1 + 4 0 + 5 0 + 6 0 + 7 1;
= (0 + 1) (1 + 0) (2 + 1) (3 + 1) (4 + 0) (5 + 0) (6 + 0) (7 + 1).

5. Aplicaii propuse
5.1.
a)
b)
c)
d)
e)

S se demonstreze urmtoarele echivalene utiliznd tabele de adevr:

+ = ( + ) ( + );

+ = ;
= + .

+ + + = ;

+ + = + + .

a)

x
0
0
0
1
1
1
1

y
0
1
1
0
0
1
1

z
1
0
1
0
1
0
1

yz

x+yz

71

x+y

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

BAZELE PROGRAMRII CALCULATOARELOR 5


b)

c)

72

BAZELE PROGRAMRII CALCULATOARELOR 5


d)

e)

73

BAZELE PROGRAMRII CALCULATOARELOR 5


5.2.
a)
b)

S se reprezinte prin tabele de adevr funciile:

(, , ) = 0 (1,2,6,7);
(, , ) = 0 (2,4);

a)

b)

x
0
0
0
0
1
1
1
1
c)

c)
d)

y
0
0
1
1
0
0
1
1

z f(x,y,z)
0
1
0
1
0
1
0
1
d)

74

(, , ) = 1 (3,5,6,7);
(, , ) = 1 (0,1,5).

BAZELE PROGRAMRII CALCULATOARELOR 5


5.3.
a)
b)

S se calculeze:

+ + ;
+ + + ;

c)
d)

+ + ;

+ +
+ .

a)

x
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

y
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

z
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

w

+ +

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

b)

75

BAZELE PROGRAMRII CALCULATOARELOR 5

c)

d)

76

BAZELE PROGRAMRII CALCULATOARELOR 5

5.4.
a)
b)
c)

S se descrie cu ajutorul diagramelor urmtoarele funcii logice:

(, , ) = + + + ;
(, , ) = + + ;
(, , ) = + + + + + + ;

b)

77

BAZELE PROGRAMRII CALCULATOARELOR 5


a)

c)

78

BAZELE PROGRAMRII CALCULATOARELOR 5


5.5.
a)

S se scrie FCD i FCC pentru funciile:

(, , ) = 0 (0,1,2,4);

b)

a)

b)

79

(, , ) = 1 (2,4,6,7).

BAZELE PROGRAMRII CALCULATOARELOR 5

5.6.

Se dau numerele:

= 01011100
Ce numere vor rezulta dup aplicarea mtilor specificate?

= 7 6 5 4 3 2 1 0

a)
b)
c)
d)
e)
f)
g)

A 11111111
A 00000000
A 00000001
A 10000000
A 11111111
A 00000000
A 00000001

h)
i)
j)
k)
l)
m)
n)

A 10000000
A 11111111
A 00000000
A 11110000
A 00001111

( )

A)
B)
C)
D)
E)
F)
G)

B 11111111
B 00000000
B 00000001
B 10000000
B 11111111
B 00000000
B 00000001

H)
I)
J)
K)
L)
M)
N)

B 10000000
B 11111111
B 00000000
B 11110000
B 00001111

( )

a)

h)
0 1 0 1 1 1 0 0 AND
1 1 1 1 1 1 1 1
0 1 0 1 1 1 0 0

80

BAZELE PROGRAMRII CALCULATOARELOR 5


b)

i)

c)

j)

d)

k)

e)

l)

f)

m)

g)

n)

A)

H)

B)

I)

C)

J)

81

BAZELE PROGRAMRII CALCULATOARELOR 5


D)

K)

E)

L)

F)

M)

G)

N)

5.7.

Se dau numerele:

= 7 6 5 4 3 2 1 0
= 7 6 5 4 3 2 1 0
S se calculeze C cu ajutorul operatorilor logici i a mtilor.
a)
b)
c)

=
7
6 010
5
3 2

= 5 4 3 2 1 2 01
= 101 0 7 6 5 4

d)
e)

a)

82

= 11117 6
5
4

= 007 6
5 4 11

BAZELE PROGRAMRII CALCULATOARELOR 5


b)

c)

d)

83

BAZELE PROGRAMRII CALCULATOARELOR 5


e)

6. Referine bibliografice
[1] Manta V., Ungureanu F., Introducere n tiina sistemelor i a calculatoarelor, Volumul I,
Editura Gh.Asachi, Iai, 2002

84

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

  • BPC l91
    BPC l91
    Document12 pagini
    BPC l91
    StefaniaArdelianu
    Încă nu există evaluări
  • Logica Computationala-Cartea
    Logica Computationala-Cartea
    Document138 pagini
    Logica Computationala-Cartea
    dcswalle
    Încă nu există evaluări
  • BPC l91
    BPC l91
    Document12 pagini
    BPC l91
    StefaniaArdelianu
    Încă nu există evaluări
  • BPC l12
    BPC l12
    Document9 pagini
    BPC l12
    StefaniaArdelianu
    Încă nu există evaluări
  • BPC l11
    BPC l11
    Document11 pagini
    BPC l11
    StefaniaArdelianu
    Încă nu există evaluări
  • BPC l10
    BPC l10
    Document9 pagini
    BPC l10
    StefaniaArdelianu
    Încă nu există evaluări
  • BPC l7
    BPC l7
    Document31 pagini
    BPC l7
    StefaniaArdelianu
    Încă nu există evaluări
  • BPC l2
    BPC l2
    Document13 pagini
    BPC l2
    StefaniaArdelianu
    Încă nu există evaluări
  • BPC l1
    BPC l1
    Document16 pagini
    BPC l1
    StefaniaArdelianu
    Încă nu există evaluări
  • BPC l3
    BPC l3
    Document30 pagini
    BPC l3
    StefaniaArdelianu
    Încă nu există evaluări