Sunteți pe pagina 1din 12

CAPITOLUL IV.

CIRCUITE LOGICE

4.1. Mărimile de intrare şi de ieşire ale circuitelor logice

Calculatorul numeric este compus dintr-un număr foarte mare de componente


electronice care alcătuiesc circuitele logice denumite elemente logice sau porţi. Aceste porţi
sunt modele fizice ale unor funcţii booleene de una sau mai multe variabile.
Indiferent de elementele constructive prin care se realizează, un circuit logic se
reprezintă ca un bloc cu n intrări (x1, x2, ...xn) şi una sau mai multe ieşiri. Fiecare ieşire
reprezintă o funcţie a celor n variabile de intrare (figura 4.1.1):

Y1 = f1 (x1, x2, ...xn); (4.1.1)


Y2 = f2 (x1, x2, ...xn). (4.1.2)

Schema bloc a unui astfel de circuit este reprezentată în figură:

x1
x2 Y1
CIRCUIT
LOGIC Y2
xn

FIG. 4.1.1. Schema bloc a unui circuit logic

Intrările şi ieşirile sunt mărimi ce fac parte din mulţimea binară B ={0, 1}şi se
materializează prin prezenţa unor impulsuri de tensiune sau curent. Funcţiile f1 şi f2 se numesc
funcţii de răspuns sau funcţii de transfer ale circuitului. Din cele expuse mai sus rezultă că,
într-un circuit logic, fiecărei variabile binare (0 sau 1) trebuie să-i corespundă un nivel de
semnal (tensiune sau curent) asociat.
Asocierea se poate face în două moduri:
- cifra 1 binar se exprimă prin nivelul de semnal mai mare în valoare algebrică,
iar cifra 0 binar se exprimă prin nivelul de semnal mai mic în valoare algebrică.
Această asociere se numeşte logică pozitivă;
- cifra 1 binar se exprimă prin nivelul de semnal mai mic în valoare algebrică, iar
cifra 0 binar se exprimă prin nivelul de semnal mai mare în valoare algebrică.
Această asociere se numeşte logică negativă.
În figura 4.1.2. sunt reprezentate cifrele binare prin niveluri de tensiune în logică
pozitivă. Se observă că 1 se poate reprezenta prin tensiuni pozitive, negative sau nule.
Întotdeauna însă, tensiunea corespunzătoare lui 1 este mai mare în valoare algebrică decât cea
corespunzătoare lui 0.
În figura 4.1.3 sunt reprezentate cifrele binare prin niveluri de tensiune în logică
negativă.

1
1 1 1 1
+12,5 V

+10 V
0 0 0
1 1 1
+ 5V

1 1

0 0 t
0 0 0
1 1 1
- 10 V

- 18 V
0 0 0

FIG. 4.1.2. Reprezentarea cifrelor binare prin niveluri de tensiune în logică pozitivă

2
0 0 0 0
+13,5 V

+10 V
1 1 1

0 0 0
+ 6V

0 0

1 1 t
1 1 1
0 0 0
- 10 V

- 18 V
1 1 1

FIG. 4.1.3. Reprezentarea cifrelor binare prin niveluri de tensiune în logică negativă

3
În multe cazuri, datorită avantajelor constructive, una din valorile care exprimă pe 0
sau 1, va fi nivelul 0V (masa montajului). Această variantă este reprezentată în figura de
4.1.4.

1 0 0 1 0 1
+E

t
t
-E
0 1 1 0 1 0

FIG.4.1.4. Reprezentarea cifrelor binare prin niveluri de tensiune


în care unul dintre niveluri este 0V

În cazul circuitelor integrate, cel mai adesea, nivelele de tensiune ale lui 0 şi 1 logic
sunt ambele pozitive sau ambele negative, dar în general, unul dintre ele este apropiat de 0V.
De asemenea, în cazul acestor circuite, 1 şi 0 logic se exprimă printr-o plajă de valori şi nu
printr-o singură valoare.
Circuitele logice ridică în proiectarea lor, trei probleme importante:
- timpul de propagare sau intervalul de timp dintre aplicarea semnalului la intrarea
circuitului şi apariţia sa la ieşire. Acest timp apare datorită regimului tranzitoriu
existent în comutarea elementelor de circuit şi el trebuie să fie mai mic decât
timpul necesar pentru realizarea oricărei operaţii.
- numărul de intrări şi ieşiri ale circuitului care este practic limitat de
performanţele circuitului,
- atenuarea şi distorsionarea semnalului, ceea ce face ca identificarea stării binare
să devină imprecisă.
Ultimele două probleme se pot rezolva prin introducerea unor circuite suplimentare
cum ar fi: amplificatoare, circuite de comandă, regeneratoare de nivel etc.

4.2. Clasificarea circuitelor logice

Din punct de vedere al funcţionării în timp, circuitele logice se împart în două


categorii:
- circuite combinaţionale,
- circuite secvenţiale.
Circuitele combinaţionale (porţi) sunt circuitele pentru care funcţiile de răspuns, la
un moment dat, t1, nu depind de valorile anterioare, deci nu depind de starea precedentă a
circuitului.

4
Y(t1) = f (x1, x2, ...xn) (4.2.1)

Circuitele secvenţiale sunt circuite logice pentru care funcţiile de răspuns la un


moment dat, t1, depind de valorile lor anterioare, la momentul t0, adică depind de starea
precedentă a sistemului.

Y(t 1) = f [x1, x2, ...xn, y (t0)] (4.2.2)

4.2.1. Circuite logice combinaţionale

Pentru exemplificare vom considera un circuit ce realizează funcţia ŞI în logică


pozitivă cu trei intrări şi o ieşire, reprezentat în figura 4.2.1.1.

Y = f(x1, x2, x3) = x1x2x3


x1
x2 ∩
x3

FIG. 4.2.1.1. Poartă ŞI

În figura 4.2.1.2. este reprezentată variaţia în timp a celor trei semnale de intrare şi a
semnalului de ieşire (funcţia ŞI).

x1

x2

x3

t
FIG. 4.2.1.2. Variaţia în timp a mărimilor – poarta ŞI

5
În cazul unui circuit ce realizează funcţia SAU avem următoarele reprezentări:

Y = f(x1, x2, x3) = x1+x2+x3


x1
x2 ∪
x3
FIG. 4.2.1.3. Poarta SAU

x1

x2

x3

t
FIG. 4.2.1.4. Variaţia în timp a mărimilor – poarta SAU

Diagramele de potenţiale au fost întocmite pe baza tabelului de adevăr de mai jos:

x1 x2 x3 x1x2x3 x1+x2+x3
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 0 1
1 0 0 0 1
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Circuitele combinaţionale sunt capabile să realizeze toate funcţiile booleene de două


sau mai multe variabile. Trebuie reţinut faptul că un circuit logic, în acelaşi regim de
funcţionare, realizează două funcţii booleene diferite, după cum s-a asociat logica pozitivă sau
logica negativă. De asemenea, există cazuri când, aceeaşi funcţie booleană se realizează de
către două circuite diferite, unul lucrând în logică pozitivă, iar celălalt în logică negativă.
După tipul componentelor electronice cu care se realizează circuitul electric
specializat, porţile logice pot fi:

6
- cu relee;
- cu diode şi rezistenţe;
- cu tranzistoare şi rezistenţe;
- cu diode, tranzistoare şi rezistenţe;
- cu componente integrate.

Exemplu: Circuite ŞI/SAU cu diode şi rezistenţe, în logică pozitivă, pentru două


intrări.

+ 5V

R
D1

x1 Y

x2
D2

FIG. 4.2.1.5. Circuit de tip ŞI

D1

x1 Y

x2
D2
R

0V

FIG. 4.2.1.6. Circuit de tip SAU

4.2.2. Circuite logice secvenţiale

Un circuit secvenţial se caracterizează prin aceea că valoarea funcţiei de ieşire, la un


moment dat, depinde atât de valoarea variabilelor de intrare, cât şi de valoarea pe care a avut-
o funcţia la momentul precedent. În circuitele secvenţiale se foloseşte mai mult comanda prin
semnale (tensiune sau curent), sub formă de impulsuri şi mai puţin cea sub formă de niveluri.
Ca exemplu, vom considera un circuit diferenţiator RC, care transformă fronturile
pozitive sau negative ale unui semnal de niveluri în impulsuri exponenţiale. Dacă se introduce
şi o diodă, se obţine un singur impuls exponenţial, ceea ce face ca semnalul de niveluri să
acţioneze numai la un anumit front al său (crescător sau descrescător).
Un circuit RC este reprezentat astfel:

7
uc(t)
+-

C
u1(t) R u2(t)

FIG. 4.2.2.1. Circuit RC

În figura 4.2.2.2. este reprezentată variaţia în timp a tensiunii de intrare şi a tensiunii


pe rezistenţă pentrun un circuit RC.

u1(t)

t
u2(t)

U
τ
2

τ t
-U 1

FIG. 4.2.2.2. Variaţia în timp a tensiunilor pentru circuitul RC

Dacă la intrarea circuitului se aplică un impuls dreptunghiular u1(t) de amplitudine U


şi durată τ , putem scrie u1(t) = uc(t) + u2(t). La aplicarea frontului anterior, condensatorul se
comportă la început ca un scurtcircuit, întreaga tensiune de la intrare regăsindu-se pe
rezistenţa R. Odată cu trecerea timpului, condensatorul se încarcă, tensiunea uc(t) crescând
exponenţial la valoarea U, ceea ce face ca tensiunea pe rezistenţă, u2(t), să scadă exponenţial
la zero.

8
La apariţia frontului posterior al impulsului, condensatorul se află încărcat la valoarea
U, iar tensiunea de intrare u1(t) devine zero. În acest caz se poate scrie u2(t) +uc(t) = 0 sau u2(t)
= -U. La ieşire apare deci un impuls de amplitudine –U care scade exponenţial la zero în
intervalul de timp τ 2. Se obţin astfel două salturi de tensiune foarte scurte, de polarităţi
opuse, duratele lor fiind de τ 1 şi τ 2.

4.3. Blocuri funcţionale

În cadrul unui calculator numeric au loc operaţiuni de prelucrare şi transfer al


informaţiei codificată sub formă numerică. După cum s-a arătat, calculatorul se compune din
mai multe unităţi: memorie, unităţi aritmetice, periferice etc. ce îndeplinesc funcţii distincte şi
a căror activitate concură la funcţionarea calculatorului ca un sistem unitar de prelucrare
automată a informaţiei. La rândul său, o unitate funcţională se compune din mai multe
dispozitive sau blocuri funcţionale.
Un bloc funcţional reprezintă un ansamblu alcătuit din circuite logice combinaţionale
şi secvenţiale, cu un număr oarecare de intrări şi ieşiri, şi care, prin variaţia stărilor sale
realizează o anumită operaţie.
În arhitectura unui calculator, acelaşi bloc funcţional intră în componenţa mai multor
unităţi funcţionale. Printre cele mai reprezentative blocuri funcţionale elementare se numără:
registrele, codificatoarele, decodificatoarele, numărătoarele, selectoarele, dispozitivele de
complementare, dispozitivele pentru realizarea operaţiilor aritmetice, etc.

Matricea de comutaţie

Matricele de comutaţie reprezintă o clasă de dispozitive foarte răspândite în


calculatoare datorită aplicabilităţii pe care o au. O matrice de comutaţie este un circuit logic
cu ieşiri multiple, care realizează o funcţie matriceală booleană. La o matrice de comutaţie
ieşirile sunt legate de intrări printr-o relaţie matriceală. Schema bloc a unei matrice de
comutaţie este redată în figura 4.3.1.

z D
z
C
y
y
â
B
x
x A

FIG. 4.3.1. Schema bloc a matricei de comutaţie

Pentru blocul funcţional din figură, vom considera cele patru ieşiri exprimate în
funcţie de intrări sub următoarea formă:

9
A= xyz ∪x y z ∪xy z = m0∪m2∪m6 (4.3.1)
B= xyz ∪x y z ∪x yz ∪xy z ∪xyz = m1∪m2∪m4∪m6∪m7 (4.3.2)
C= xy z ∪x y z = m1∪m5 (4.3.3)
D= xyz ∪x yz ∪x y z = m0∪m4∪m5 (4.3.4)

Înlocuind cu minterni vom obţine:

A = (1⋅ m0 ) ∪ (0⋅ m1 ) ∪ (1⋅ m2 ) ∪ (0⋅ m3 ) ∪ (0⋅ m4 ) ∪ (0⋅ m5 ) ∪ (1⋅ m6 ) ∪ (0⋅ m7)


(4.3.5)
B = (0⋅ m0 ) ∪ (1⋅ m1 ) ∪ (1⋅ m2 ) ∪ (0⋅ m3 ) ∪ (1⋅ m4 ) ∪ (0⋅ m5 ) ∪ (1⋅ m6 ) ∪ (1⋅ m7)
(4.3.6)
C = (0⋅ m0 ) ∪ (1⋅ m1 ) ∪ (0⋅ m2 ) ∪ (0⋅ m3 ) ∪ (0⋅ m4 ) ∪ (1⋅ m5 ) ∪ (0⋅ m6 ) ∪ (0⋅ m7)
(4.3.7)
D = (1⋅ m0 ) ∪ (0⋅ m1 ) ∪ (0⋅ m2 ) ∪ (0⋅ m3 ) ∪ (1⋅ m4 ) ∪ (1⋅ m5 ) ∪ (0⋅ m6 ) ∪ (0⋅ m7)
(4.3.8)
m0

Din această formă relaţiile se pot transpune într-o ecuaţie matricială:

m1

A 1 0 1 0 0 0 1 0 m2
B 0 1 1 0 1 0 1 1
C = (4.3.9)
0 1 1 0 1 0 1 1
m3
D 1 0 0 0 1 1 0 0
m4

m5

m
sau prescurtat [E] = [B] [I], adică matricea ieşirilor este egală6 cu matricea intrărilor înmulţită
cu matricea booleană de transfer.
Având la dispoziţie matricea de intrate mi şi matriceamde7 transfer, schema simbolică cu
circuite logice corespunzătoare matricei de comutaţie poate fi alcătuită ţinând cont că ieşirile
reprezintă produsul matriceal între linia corespunzătoare ieşirii şi vectorul de intrare. De
exemplu, la ieşirea A se vor lega numai acele intrări cărora le corespunde 1 în matricea
booleană.

10
Matricele de comutaţie se pot realiza fizic cu diode semiconductoare, tranzistoare,
miezuri magnetice toroidale, circuite integrate etc. În figura 4.3.2. este reprezentată schema
unei matrici de comutaţie.

∪ A

∪ B

∪ C

∪ D

m0 m1 m2 m3 m4 m5 m6 m7

FIG. 4.3.2. Schema cu circuite logice a unei matrici de comutaţie

În figura 4.3.3 sunt ilustrate câteva tipuri de matrici de comutaţie:

MATRICE DE
2n ieşiri
CODIFICARE

n perechi intrări

MATRICE DE n perechi ieşiri


DECODIFICARE

2n intrări

11
2n intrări MATRICE DE ieşire unică
SELECTARE

n perechi intrări
intrare unică
MATRICE DE 2n ieşiri
DISTRIBUŢIE

n perechi de intrări

FIG. 4.3.3. Tipuri de matrici de comutaţie

Matricele de codificare sunt utilizate la conversia numerelor din alte sisteme de


numeraţie în binar, iar cele de decodificare la conversia numerelor binare în alte sisteme de
numeraţie.
Matricea de selectare are rolul de a selecta o anumită cale din mai multe posibile, iar
cea de distribuţie de a da semnal pe cele 2n ieşiri la un singur semnal primit la intrare.
Principiile care stau la baza realizării matricelor de comutaţie stau şi la baza realizării
altor blocuri funcţionale cum sunt: sumatoarele, numărătoarele etc.

12