Sunteți pe pagina 1din 35

Arhitectura Calculatoarelor

Fizic - Informatic an II
gasner@uaic.ro

2. Circuite logice
Copyright Paul GASNER 1

Cuprins
Funcii booleene Pori logice Circuite combinaionale
codoare i decodoare multiplexoare i demultiplexoare regitri de deplasare sumatoare

Circuite secveniale
circuite flip/flop circuite flip-flop J/K master-slave contor binar codat zecimal (BCD)
Copyright Paul GASNER 2

Analogic i digital
Semnal analogic
variaie continu n timp spectru continuu de valori

Semnal digital
variaie brusc (discontinu) n timp spectru discret de valori imensa majoritate a calculatoarelor utilizeaz semnal digital cu 2 niveluri logic binar

Conversia analogic-digital se realizeaz cu modem modulator-demodulator (semnalele analogice sunt utilizate la transmisia la distan a semnalelor digitale)

Copyright Paul GASNER

2.1 Funcii booleene


mulimea B={0,1} funcia f :Bn Bm
are n variabile i m valori corespunde unui circuit cu n intrri i m ieiri

exist (2m)^2n funcii n=1, m=1: 4 funcii unare:

x 0 1
Copyright Paul GASNER

f1(x)=0 f2(x)=x f3(x)=NOT x f1(x)=1 0 0 0 1 1 0 1 1


4

Funcii booleene cu dou variabile


16 funcii cu 2 variabile de intrare i 1 variabil de ieire
x y F

x 0 0 1 1

y 0 1 0 1

F0 0 0 0 0

F1 0 0 0 1

F2 0 0 1 0

F3 0 0 1 1

F4 0 1 0 0

F5 0 1 0 1

F6 0 1 1 0

F7 0 1 1 1

F8 1 0 0 0

F9 1 0 0 1

F10 1 0 1 0

F11 1 0 1 1

F12 1 1 0 0

F13 1 1 0 1

F14 1 1 1 0

F15 1 1 1 1

Copyright Paul GASNER

Axiome i teorii

Copyright Paul GASNER

Operaiile calculatorului
la nivel logic elementar, operaiile circuitelor de baz sunt operaiile logicii booleene se efectueaz operaiile aritmetice n baza 2 funciile booleene sunt implementate la nivel logic cu circuite combinaionale

Copyright Paul GASNER

Operaiile calculatorului
este utilizat tensiunea electric pentru reprezentarea celor dou valori discrete 1 i 0, cu care se formeaz numerele binare tensiunea electric este utilizat i la reprezentarea valorilor logice 'adevrat' (true) i 'fals' (false) Volts pentru simplicitate:
0 este 'fals' (false)
1.8

1 este 'adevrat' (true)

True False

aceast interpretarea este utilizat pentru implementarea funciilor speciale n hardware i la efectuarea diverselor calcule

Copyright Paul GASNER

Exprimarea funciilor
i funciile logice pot fi exprimate n dou modaliti:
O expresie boolean. finit, dar nu unic tabel de adevr unic i finit

O expresie este finit dar nu unic f(x,y) = = = = 2x + y x+x+y 2(x + y/2) ...

O tabel de adevr este unic dar finit


x 0 2 23 y 0 2 41 f(x,y) 0 6 87

Copyright Paul GASNER

Operaii booleene elementare


Operaie: AND (produs) dou intrri xy, sau xy
x 0 0 1 1 y 0 1 0 1 xy 0 0 0 1
x 0 0 1 1

OR (sum) dou intrri x+y


y 0 1 0 1 x+y 0 1 1 1

NOT (complement) o intrare

Expresie: Tabela de adevr:

x
x 0 1 NOTx 1 0

Copyright Paul GASNER

10

Pori logice elementare


Fiecare operaie elementar poate fi implementat hardware utiliznd porile logice elementare (primitive logic gate)
Operaie: AND (produs) dou intrri xy, sau xy OR (sum) dou intrri x+y NOT (complement) o intrare

Expresie: Poarta:

Tabela de adevr:

x 0 0 1 1

y 0 1 0 1

xy 0 0 0 1

x 0 0 1 1

y 0 1 0 1

x+y 0 1 1 1

x 0 1

NOTx 1 0

Copyright Paul GASNER

11

Pori i expresii
Orice expresie boolean poate fi convertit ntr-un circuit prin combinarea porilor elementare

x yz xyz

Copyright Paul GASNER

12

Expresii booleene
Operaiile de baz por fi utilizate deci pentru a forma expresii complicate: f(x,y,z) = (x + y')z + x' Not:
f este numele funciei (x,y,z) sunt variabilele de intrare (1 sau 0) complementul se noteaz x'= NOT x

Ordinea operaiilor:
NOT urmat de AND, apoi OR. paranteze (de ex. expresia de mai sus):

f(x,y,z) = (((x +(y))z) + x)

Copyright Paul GASNER

13

Tabele de adevr
O tabel de adevr prezint toate valorile posibile pentru intrrile i ieirile funciei

Deoarece exist doar un numr finit de valori (1 and 0), tabela de adevr este i ea finit O funcie cu n variabile are 2n combinaii posibile are intrrilor

Intrrile sunt listate n ordine binar (de ex. de la 000 la 111)


f(x,y,z) = (x + y)z + x
f(0,0,0) f(0,0,1) f(0,1,0) f(0,1,1) f(1,0,0) f(1,0,1) f(1,1,0) f(1,1,1)
Copyright Paul GASNER

= = = = = = = =

(0 (0 (0 (0 (1 (1 (1 (1

+ + + + + + + +

1)0 1)1 0)0 0)1 1)0 1)1 0)0 0)1

+ + + + + + + +

1 1 1 1 0 0 0 0

= = = = = = = =

1 1 1 1 0 1 0 1
14

Expresii i circuite
Expresia booleean este convertit ntr-un circuit cu pori logice Diagrama de mai jos prezint intrrile i ieirile pentru fiecare poart Ordinea operaiilor este explicit n circuit (x + y)z + x

Copyright Paul GASNER

15

Analiza circuitului...
Analiza de circuit explic modul de funcionare a circuitelor din punct de vedere logic
Fiecare circuit calculeaz o funcie care poate fi descris ca o expresie booleean sau prin tabela de adevr Scopul este deci de a gsi o expresie echivalent sau tabela de adevr a circuitului

1. n primul rnd trebuie stabilite clar mrimile de intrare i de ieire pentru circuit

Copyright Paul GASNER

16

...ecuaiile algebrice...
2. Se scriu expresiile la ieirea fiecrei pori, n funcie de intrrile sale
Se ncepe de la inputs i se termin la outputs E preferabil efectuarea de simplificri algebrice

Exemplu:
Apare o mic simplificare la poarta AND de sus Se observ c circuitul calculeaz f(x,y,z) = xz + yz + xyz

Copyright Paul GASNER

17

...sau tabela de adevr


3. Este posibil obinerea tabelei de adevr direct din circuit Cunoscnd numrul de inputs i outputs, se listeaz toate combinaiile posibile n tabela de adevr
Un circuit cu n inputs va avea o tabel de adevr cu 2n linii n exemplul nostru cu 3 inputs, tabela de adevr are 23 = 8 linii
x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 f

Copyright Paul GASNER

18

Simularea circuitului...
Circuitul poate fi simulat la mn sau cu un program de simulare i se gsesc strile ieirilor pentru fiecare combinaie posibil a intrrilor De exemplu, cnd xyz = 101, ieirile porilor vor arta astfel:
Se utilizeaz tabelele de adevr pentru AND, OR i NOT pentru a gsi ieirile porilor Ieirea final este f(1,0,1) = 1
1 0 1 1 1 1 1 0

0 0

x 0 0 0 0 1 1 1 1

y 0 0 1 1 0 0 1 1

z 0 1 0 1 0 1 0 1

Copyright Paul GASNER

19

...i finalizarea tabelei de adevr


n mod analog se procedeaz cu toate combinaiile posibile i se completeaz tabela de adevr Procesul este foarte simplu, dar ndelungat
x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 f 0 1 1 0 0 1 0 1

Copyright Paul GASNER

20

Expresii i tabele de adevr


Dac deja avem expresia booleean, se poate calcula uor tabela de adevr n exemplul nostru am gsit c circuitul calculeaz funcia f(x,y,z) = xz + yz + xyz, wcu care se completeaz tabela (mai nti termenii intermediari xz, yz, xyz):
x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 xz yz xyz 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 f 0 1 1 0 0 1 0 1

Copyright Paul GASNER

21

Tabele de adevr i expresii


i reciproca este valabil: dac avem tabela de adevr se poate gsi uor expresia boolean Tabela de adevr poate fi convertit ntr-o sum de minitermeni care corespund liniilor din tabel a cror valoare la ieire este 1
x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 f 0 1 1 0 0 1 0 1

f(x,y,z) = xyz + xyz + xyz + xyz = m1 + m2 + m5 + m7

Suma de minitermeni poate fi simplificat cu K-map de exemplu


Copyright Paul GASNER 22

Analiza de circuit: concluzii


Dup determinarea intrrilor i ieirilor unui circuit se poate gsi o expresie sau o tabel de adevr referitoare la comportamentul circuitului

Determinarea inputs/outputs

Determinarea unei expresii booleene

Determinarea tabelei de adevr

Copyright Paul GASNER

23

Simplificarea expresiilor
Expresia boolean se poate simplifica:
xy + xyz + xy = x(y + y) + xyz (Distributivitatea: xy + xy = x(y + y) ) = x1 + xyz = x + xyz = 1 (x + yz) = x + yz ( y + y = 1 ) ( x1 = x ] ( x + x = 1 )

= (x + x)(x + yz) ( Distributivitate )

Copyright Paul GASNER

24

Circuite echivalente
Expresia boolean are aadar dou circuite echivalente Circuitul optim este circuitul cu cel mai puine pori:
este mai ieftin consum mai puin energie este mai fiabil

Copyright Paul GASNER

25

Complementul unei funcii


Complementul unei funcii este negarea rezultatului funciei n tabela de adevr, 0-urile i 1-urile se interschimb n coloana output
f(x,y,z) = x(yz + yz) x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) 0 0 1 0 0 0 1 0 0 1 1 1 0 0 1 1

Copyright Paul GASNER

26

Complementul unei funcii algebrice


Se pot utiliza legile lui de Morgan:
f(x,y,z) f(x,y,z) = x(yz + yz) = ( x(yz + yz) ) [ complementare n ambii membri] [ (xy) = x + y ] [ (x + y) = x y ] [ (xy) = x + y]

= x + (yz + yz) = x + (yz) (yz) = x + (y + z)(y + z) f(x,y,z) = x(yz + yz)

Se poate negarea fiecrui termen din duala funciei: duala funciei f este x + (y + z)(y + z) complementarea fiecrei variabile conduce la x + (y + z)(y + z) i deci f(x,y,z) = x + (y + z)(y + z)

Copyright Paul GASNER

27

Forme standard ale unei expresii


O expresie poate fi scris n mai multe moduri, dar unele sunt mai folositoare dect altele -notaia sau suma de produse (sum of products SOP) conine:
Numai operaii OR la nivelul cel mai apropiat de ieire Fiecare termen al sumei este un produs de variabile f(x,y,z) = y + xyz + xz

Avantajul major al notaiei este c implementarea se face pe un circuit pe dou nivele


nivel 0: variabilele i complementele lor nivel 1: pori AND nivel 2: o singur poart OR

Not: porile NOT sunt implicite iar variabilele apar de mai multe ori la intrare
Copyright Paul GASNER 28

Mintermeni
Un mintermen este un produs special de variabile n care fiecare variabil apare o singur dat O funcie cu n variabile are 2n mintermeni Fiecare mintermen este adevrat pentru o singur combinaie de intrri:
Mintermen Adevrat dac xyz x=0, y=0, z=0 xyz x=0, y=0, z=1 xyz x=0, y=1, z=0 xyz x=0, y=1, z=1 xyz x=1, y=0, z=0 xyz x=1, y=0, z=1 xyz x=1, y=1, z=0 xyz x=1, y=1, z=1
Copyright Paul GASNER

Notaie m0 m1 m2 m3 m4 m5 m6 m7
29

Suma de mintermeni
Orice funcie poate fi scris ca o sum de minitermeni Notaia este unic pentru o funcie Dac avem tabela de adevr pentru o funcie, suma de mintermeni poate fi scris lund n considerare doar liniile care au 1 la output
x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) f(x,y,z) 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1

f = xyz + xyz + xyz + xyz + xyz = m0 + m1 + m2 + m3 + m6 = m(0,1,2,3,6) f = xyz + xyz + xyz = m4 + m5 + m7 = m(4,5,7) f' conine mintermenii care nu se gsesc n f

Copyright Paul GASNER

30

Produsul de sume notaia


Exist i posibilitatea dual, produsul de sume, care conine
Numai operaii AND la nivelul final Fiecare termen este o sum de variabile f(x,y,z) = y (x + y + z) (x + z)

Implementarea se realizeaz cu un circuit pe dou nivele


nivel 0: inputs i complementele lor nivel 1: pori OR nivel 2: o singur poart AND

Copyright Paul GASNER

31

Maxtermeni
Un maxtermen este o sum de variabile n care fiecare input apare o singur dat O funcie cu n variabile are 2n maxtermeni Fiecare maxtermen este fals pentru o singur combinaie de inputs:
Maxtermen x+y+z x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z
Copyright Paul GASNER

Fals dac x=0, y=0, z=0 x=0, y=0, z=1 x=0, y=1, z=0 x=0, y=1, z=1 x=1, y=0, z=0 x=1, y=0, z=1 x=1, y=1, z=0 x=1, y=1, z=1

Notaie M0 M1 M2 M3 M4 M5 M6 M7
32

Produs de maxtermeni
Orice funcie poate fi scris ca un produs unic de maxtermeni Dat tabela de adevr a unei funcii, expresia funciei n notaia se obine lund liniile din tabel care au 0 la output
f = (x + y + z)(x + y + z)(x + y + z) = M4 M5 M7 = M(4,5,7) f = (x + y + z)(x + y + z)(x + y + z) (x + y + z)(x + y + z) = M0 M1 M2 M3 M6 = M(0,1,2,3,6)

x 0 0 0 0 1 1 1 1

y 0 0 1 1 0 0 1 1

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

f' conine maxtermenii care nu se gsesc n f

Copyright Paul GASNER

33

Mintermeni i maxtermeni; conversii


Mintermenul mi este complementul maxtermenului Mi De exemplu, m4 = M4 deoarece (xyz) = x + y + z Notaia se poate converti n :
f = m(0,1,2,3,6) i f = m(4,5,7) = m4 + m5 + m7 prin complementare (f) = (m4 + m5 + m7) i deci f = m4 m5 m7 [ DeMorgan ] = M4 M5 M7 = M(4,5,7)

n general, se nlocuiesc mintermenii cu maxtermenii, utiliznd numerele de maxtermeni care nu apar n suma de mintermeni n mod analog se procedez la conversia din produse de maxtermeni la sum de mintermeni
Copyright Paul GASNER 34

Concluzii
Algebra Bool ajut la simplificare expresiilor i circuitelor, garantnd obinerea unui circuit echivalent cu cel original Este necesar o metod de optimizare mai simpl

Copyright Paul GASNER

35

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