Sunteți pe pagina 1din 23

2.

Circuite logice
2.5. Sumatoare i
multiplicatoare

Copyright Paul GASNER

Adunarea n sistemul binar


Adunarea se poate efectua n mod identic ca la
adunarea obinuit cu cifre arabe n sistemul zecimal
Atenie la faptul ca 1+1=10 !!!
carry implicit 0

1
1
1
1

1
0
1
0

bitul cel mai semnificativ


most significant bit - MSB

Copyright Paul GASNER

0
1
1
0

Depire - Carry in
1 +
0
1

bitul cel mai puin semnificativ


(least significant bit - LSB)

Adunarea a doi bits


Dup cum s-a observat la decodoare, adunarea a doi
bits are ca rezultat un cuvnt pe 2 bits, bitul din dreapta
fiind suma iar cel din stnga carry (half-adder)
0 +0 =0
0 +1 =1
1 +0 =1
1 + 1 = 10

C = XY
S = X Y + X Y
=XY

Copyright Paul GASNER

Adunarea a trei bits


n realitate, la adunarea a dou numere binare trebuie
realizat suma a trei bii, doi care provin de la operanzi
i al treilea bitul de depire (carry)
1

1
X
0
0
0
0
1
1
1
1

Y
0
0
1
1
0
0
1
1

Cin
0
1
0
1
0
1
0
1

Copyright Paul GASNER

Cout
0
0
0
1
0
1
1
1

S
0
1
1
0
1
0
0
1

1
1
1
1

1
0
1
0

0
1
1
0

1+
0
1

0 + 0 + 0 = 00
0 + 0 + 0 = 01
0 + 1 + 0 = 01
0 + 1 + 1 = 10
1 + 0 + 0 = 01
1 + 0 + 1 = 10
1 + 1 + 0 = 10

(Sunt aceleai
funcii ca n
exemplele de la
decodor i
multiplexor)

1 + 1 + 1 = 11
4

Ecuaiile sumatorului complet


Un sumator complet (full-adder) are la intrare 3 bits, iar
ieirea este un cuvnt de 2 bits (sum + depire)

X
0
0
0
0
1
1
1
1

Y
0
0
1
1
0
0
1
1

Cin
0
1
0
1
0
1
0
1

Cout
0
0
0
1
0
1
1
1

S
0
1
1
0
1
0
0
1

S = m(1,2,4,7)
= X Y Cin + X Y Cin + X Y Cin + X Y Cin
= X (Y Cin + Y Cin) + X (Y Cin + Y Cin)
= X (Y Cin) + X (Y Cin)
= X Y Cin
Cout= m(3,5,6,7)
= X Y Cin + X Y Cin + X Y Cin + X Y Cin
= (X Y + X Y) Cin + XY(Cin + Cin)
= (X Y) Cin + XY

Copyright Paul GASNER

Sumatorul complet
Un sumator complet poate fi construit din dou
sumatoare simple
S

= X Y Cin

Cout = (X Y) Cin + XY

Copyright Paul GASNER

Sumator pe 4 bits
Patru sumatoare complete formeaz un
sumator pe 4 bii
9 inputs:
2 numere pe 4 bits A3 A2 A1 A0 i B3 B2 B1 B0

1 depire la intrare (carry in) CI

5 ouputs
Suma pe bits
1 depire la ieire (carry out) CO

Tabela de adevr cuprinde 512 linii

Copyright Paul GASNER

Exemplu
S se adune A=1011 (11) B=1110 (14)
1

1
1

1
1.
2.
3.
4.
5.

1
0

Se completeaz intrrile, inclusiv CI=0


Circuitul produce C1 i S0 (1 + 0 + 0 = 01)
C1 mpreun cu A1 i B1 produc C2 i S1 (1 + 1 + 0 = 10)
C2 i A2 B2 calculeaz C3 i S2 (0 + 1 + 1 = 10)
C3 mpreun cu A3 i B3 conduc la CO i S3 (1 + 1 + 1 = 11)

Suma final este 11001 (25)

Copyright Paul GASNER

Overflow
Operanzii din exemplu sunt numere pe 4 bits, pe cnd
suma este un numr pe 5 bits overflow
Dac sistemul de calcul este construit pe 4 bits,
rspunsul obinut mai sus nu poate fi utilizat chiar dac
el este corect
Overflow se marcheaz prin valoare 1 a bitului de
depire la ieire CO

Copyright Paul GASNER

Sumatoare cascadate
CI este util la cascadarea sumatoarelor, pentru a obine
sumatoare mai mari:
Sumator pe 8 bits

Copyright Paul GASNER

10

Timpi de rspuns
Prin ntrzierea unui circuit (poart logic de exemplu)
se nelege intervalul temporal scurs de la apariia
semnalului de intrare i apariia rspunsului corect la
ieire (gate delay)
Presupunem aceeai constant de rspuns pentru toate
porile
1
0

x
x

delay

Copyright Paul GASNER

11

Sumatorul ripple carry


Schema detaliat a sumatorului pe 4 bii este prezentat
n figura de mai jos
Sumatoarele ripple carry sunt foarte lente:
pentru sumatorul pe 4 bii, sumarea se execut n 5 etape i
se parcurg 9 pori
la un sumator pe n bii se parcurg 2n+1 pori

Copyright Paul GASNER

12

Minimizarea ntrzierilor
ntrzierea cea mai important la un
sumator cascadat este dat de timpii
necesari calculrii succesive ale CO
Sunt necesare dou funcii pentru
fiecare poziie i:

gi

pi

existena depirii la ieire

gi = AiBi
propagarea depirii

pi = Ai Bis
Funcia depire la ieire poate fi scris:
ci+1 = gi + pici
Copyright Paul GASNER

Ai
0
0
0
0
1
1
1
1

Bi
0
0
1
1
0
0
1
1

Ci
0
1
0
1
0
1
0
1

Ci+1
0
0
0
1
0
1
1
1
13

Minimizarea ntrzierilor
Pentru sumatorul pe 4 bits se obin urmtoarele ecuaii:
c1

= g0 + p0c0

c2 = g1 + p1c1
= g1 + p1(g0 + p0c0)
= g1 + p1g0 + p1p0c0
c3 = g2 + p2c2
= g2 + p2(g1 + p1g0 + p1p0c0)
= g2 + p2g1 + p2p1g0 + p2p1p0c0

c4 = g3 + p3c3
= g3 + p3(g2 + p2g1 + p2p1g0 + p2p1p0c0)
= g3 + p3g2 + p3p2g1 + p3p2p1g0 + p3p2p1p0c0

Copyright Paul GASNER

14

Minimizarea ntrzierilor

Copyright Paul GASNER

15

Minimizarea ntrzierilor
Cea mai lung cale care trebuie parcurs acum este
format din 4 pori, nu 9 ca n cazul precedent
Cascadarea n continuare a sumatoarelor trebuie
implementat dup acelai procedeu
se poate obine un sumator pe 16 bits care necesit doar 8
pori pe cel mai lung drum
sumatorul modern pe 64 bits are 12 pori pe cel mai lung
drum, fa de 129 :)

Dei crete complexitatea circuitului, ntrzierile din


aceste sumatoare cresc logaritmic cu numrul de bii,
nu direct proporional

Copyright Paul GASNER

16

Multiplicarea
Multiplicarea este o adunare repetat
Cu ajutorul sumatoarelor se poate obine i nmulirea
Produsul logic AND este echivalent cu nmulirea a doi
bits
a
0
0
1
1

Copyright Paul GASNER

b
0
1
0
1

ab
0
0
0
1

a
0
0
1
1

b ab
0
0
1
0
0
0
1
1

17

Multiplicarea n binar
1
0

1
1

0
1

1 x
0

0
1

1
0

0
0
1

0 +

1
1
0

0
1
0
0

Dac operanzii sunt numere de 4 bits, atunci i


produsele pariale sunt tot de 4 bits
Produsele pariale se sumeaz cu ajutorul a 3 sumatoare
pe 4 bits

Copyright Paul GASNER

18

Multiplicatorul 2x2
Porile AND produc
produsele pariale
n general se utilizeaz
sumatoare complete, dar
n acest caz particular
sunt suficiente
sumatoare half

C3

B1
B0
A1
A0
A0B1 A0B0
A1B1 A1B0
C2
C1
C0

Copyright Paul GASNER

19

Multiplicatorul 4x4

Copyright Paul GASNER

20

Observaii
Rezultatul nmulirii a 2 numere de 4 bii este un numr
de 8 bii
se pot pstra toi cei 8 bits
se pot pstra doar cei 4 bii mai puin semnificativi C3...C0,
restul fiind interpretai ca overflow

La nmulirea unui numr pe m bits cu un numr de n


bits apar:
n produse pariale pe m bii
sunt necesare n-1 sumatoare pe m bii

Copyright Paul GASNER

21

Multiplicarea cu 2
n zecimal:
128 x 10 = 1280
n binar cuvntul se deplaseaz spre stnga cu un bit la
nmulirea cu 2:
11 x 10 = 110

(n zecimal 3 x 2 = 6)

n binar cuvntul se deplaseaz spre stnga cu doi bii


la nmulirea cu 4:
11 x 100 = 1100

(n zecimal, 3 x 4 = 12)

n binar cuvntul se deplaseaz spre dreapta cu un bit la


mprirea cu 2:
110 10 = 11
Copyright Paul GASNER

(n zecimal, 6 2 = 3)
22

Adunarea i nmulirea. Concluzii


Sumatoarele i multiplicatoarele:
construite conform algoritmilor clasici de calcul
se construiesc pe structuri ierarhice (cascadare)
nu se pot aplica scheme de optimizare de tipul diagramelor
Karnaugh

Depirea numrului de bii la sumatoare genereaz


fenomenul overflow
nmulirea i mprirea cu puterile lui 2 se poate realiza
prin deplasarea biilor numrului spre stnga respectiv
dreapta

Copyright Paul GASNER

23

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