Sunteți pe pagina 1din 45

CIRCUITE INTEGRATE DIGITALE

CIRCUITE ARITMETICE

CIRCUITE ARITMETICE 1
Operaii aritmetice
adunarea binar scderea binar nmulirea binar mprirea binar

Artimetici complementare
complementul fa de 1 i 2 numere cu semn

Operaii aritmetice
Toate operaiile aritmetice se pot reduce la nsumri Adunarea binar
se implementeaz cu un sumator aritmetic 0+0=0 1+1=1 1+0=1 1+1=0 plus un transport egal cu 1 transmis rangului superior

Exemplu: adunai urmtoarele numere binare: 011, 111,


001,011 i 101 001+111+001+011+101=100112=1910

Operaii aritmetice
Scderea binar
0-0=0 1-0=1 1-1=0 0-1=1 cu un mprumut (borrow) de 1

Exemplu: realizai scderea ntre numerele 1101 i 0110


11010010 0111 136 7

Operaii aritmetice
nmulirea binar
se implementeaz ca o succesiune repetat de adunri 0x0=0 0x1=0 1x0=0 1x1=1

Exemplu: realizai nmulirea numerelor 1110x510


1011x 101 1011 0000 1011 110111 denmulitul nmulitorul produse pariale produsul final

Operaii aritmetice
mprirea binar
mpritorul este plasat sub demprit astfel nct cei mai semnificativi bii s coincid; apoi mpritorul este comparat cu poriunea din demprit care se afl deasupra mpritorului

Exemplul 1: realizai mprirea numerelor A=3010 i B=610


11110110 0010 101 00101 101 R: 1012=510 ctul se scade 1 nu se scade 0 se scade 1

Operaii aritmetice
Exemplul 2: realizai mprirea numerelor A=6,510 la B=210
110.1 10 010 10 000.1 10 0.10 10 R: 11.012=3.2510 ctul se scade 1 se scade 1 nu se scade 0 se scade 1

Aritmetici complementare
Necesitatea reprezentrii numerelor n complement
scderea a dou numere pozitive poate fi realizat prin adunarea valorii pozitive a desczutului la valorea negativ a scztorului este necesar reprezentarea n binar a numerelor ntregi negative complementul fa de 2 i complementul fa de 1 2s c: (N)2 = 2n N 1s c: (N)1 = 2n N 1 relaia ntre cele dou reprezentri: (N)2 = (N)1 + 1

Exemplul 1: gsii complementul fa de 2 al numrului 1010


N=1010, n=4 , (N)2=24 - 1010 = 10000-1010 = 0110 R: (1010)2=0110; n zecimal 16 10 = 6

Aritmetici complementare
Exemplul 2: gsii complementul fa de 1 al numrului 1010
N=1010, n=4, (N)2=24-1010-1=0101 R: (1010)1=0101; n zecimal 15 10 = 5

Exemplul 3: gsii complementul fa de 1 al numrului 110101


R: (110101)1=001010

Exemplul 4: gsii complementul fa de 2 al numrului 1010


R: (N)1=0101; (N)2=(N)1+1 = 0101+1 = 0110

Reguli:
1s c: se complementeaz toi biii cuvntului 2s c: se adun 1 la complementul fa de 1

Aritmetica binar C2
Scderea a dou numere pozitive se poate realiza ca o adunare
N1(n) i N2(n) N1 - N2= N1 +( N2)2 - 2n dac N1< N2 N1 - N2= - (2n - (N1+( N2)2)) = - (N1+( N2)2)2 dac N1> N2 N1 - N2= 2n - ( N1)2 -N2 = 2n - (( N1)2 + N2 ) = (( N1)2 + N2 )2 (scderea termenului 2n este echivalent n binar cu anularea bitului de transport obinut n suma N1 +( N2)2 )

Forma general:
N1 - N2= sign(N1 - N2) {[(max(N1 , N2)]2+(min(N1 , N2)}2 (2s c pentru numrul mai mare, adunm cu numrul mai mic, 1s c pentru rezultat i atam minus dac N1< N2 )

Aritmetica binar C2
Scderea se poate implementa utiliznd circuite sumatoare pe n bii
dac N1 < N2, adunm N1 la complementul fa de 2 a lui N2 , complementm rspunsul i atam semnul minus dac N1>= N2, diferena dintre N1 i N2 este suma dintre N1 i complementul fa de 2 a lui N2 renunnd la transportul din poziia 2n

Exemplul 1: calculai N1 - N2 folosind 2s c, pentru N1 = 1001


i N2 = 11010 R: N1 < N2, rezultatul este negativ i n complement fa de 2: (N2)2=00110; 01001+ N1 N2= - (01111)2 = - 10001
00110 --------01111

Aritmetica binar C2
Exemplul 2: pentru numerele N1 = 110101 i N2 = 100110
gsii diferena N1 N2 R: N1 - N2=001111; n zecimal avem 53-38=15; rezultatul fiind pozitiv, nu mai este necesar complementarea

Exemplul 3: pentru numerele N1 = 10110 i N2 = 10110


gsii N1 - N2 folosind complementul fa de 2 R: n comparaie cu complementul fa de 1 rspunsul este obinut fr a aduga 1 cu condiia s se renune la ultimul transport
Ex. 2: (N2)2=011010; 110101+ 011010 -----------1 001111 Ex. 3: (N2)2=01010; 10110 01010 + ---------1 00000

Aritmetica binar C2 cu semn


n calculatoare numerele negative se reprezint n complement fa de 2 +1010 = 0 1010 -1010 = 1 0110 MSB=bitul de semn:
numr pozitiv: MSB=0 numr negativ: MSB=1
+1510 = - 1510 = +2310 = - 2310 = 0 1111 1 0001 0 10111 1 01001

Un numr negativ este complementul fa de 2 al numrului pozitiv: N1 - N2= N1 + ( - N2)

adunarea i scderea sunt identice

Aritmetica binar C2 cu semn


Exemplul 1: calculai valoarea 1110 1001 (1410 910)
N1 = +14= 0 1110 N2 = + 9= 0 1001 N2 = - 9 = 1 0111 N1 - N2 = N1+ (-N2) C2 C1 1111 transport 01110 N1 + 10111 - N2 ----------------R: 1 0 0 1 0 1

Bitul de semn este 0 01012 = 510 N1, N2: valoare pe 4 bii (5 cu bitul de semn)

Aritmetica binar C2 cu semn


rezultatul s-ar putea sa aib nevoie de cinci bii pentru reprezentarea soluiei; n acest caz va fi parte din rspuns i carry 2, care va reprezenta semnul
N1 =+14=0 1110 N2=+ 9= 0 1001 C2 C1 01 transport 01110 + 01001 ----------------R: 0 1 0 1 1 1

Exemplul 2: dac N1 i N2 sunt ambele pozitive sau negative,

Se dau numerele N1=1410 i N2=910; calculai N1 -N2 R: 101112 = 2310 C2=0 reprezint semnul

Aritmetica binar C2 cu semn


Exemplul 3: pentru N1= - 1410 i N2= + 910 calculai N1 - N2
C2 C1 1011 transport 10010 +10111 ----------------R: 1 0 1 0 0 1

N1-N2=N1+(-N2),N1=-14=1 0010 -N2 = - 9=1 0111 C2 reprezint semnul R: 1 01001 +23=0 10111 -23 =1 01001

Aritmetica binar C2 cu semn


Regul general: dac C1= C2 (fie 0, fie 1) se renun la C2,
dac C1 C2, C2 este bitul de semn
+29=0 11101 +6=0 00110 -6=1 11010 C2 C1 111 transport 011101 +111010 ----------------R:1 0 1 0 11 1

R: 0 10111=+23 Observaii:
1. scderea se realizeaz numai prin adunri 2. carry apare numai dac cei doi operanzi au acelai semn (-A B sau +A +B); altfel, semnul rspunsului are aceeai poziie ca semnul celor doi operanzi

CIRCUITE ARITMETICE 2
Circuite sumatoare pe 1 bit
circuitul sumator incomplet circuitul sumator complet

Circuite sumatoare pe mai muli bii


tehnica de nsumare paralel (cascad) tehnica de nsumare cu anticiparea transportului tehnica de nsumare serial

Circuite sumatoare pe 1 bit


Sumatorul incomplet
circuitul care adun dou cuvinte de 1 bit fiecare se numete sumator incomplet de 1 bit; intrrile sunt cei doi bii care compun cuvintele care se adun, A i B, iar ieirile sunt S, care este rezultatul sum i C, transportul spre rangul superior
A B S C intrri AB 00 01 10 11 ieiri SC 00 10 10 01

S = a b + ab = a b; C = a b
A B S

Circuite sumatoare pe 1 bit


Sumatorul complet
sumatorul incomplet de 1 bit nu ine cont de faptul c etajul de 1 bit este conectat n cascad cu altele, iar rezultatul adunrii depinde att de cei doi bii de date ct i de un bit de transport care vine de la etajul de rang inferior Ci este transportul de la intrare furnizat de adunarea precedent iar Co este transportul spre ieire furnizat pentru urmtoarea adunare
A B Ci S C0

Circuite sumatoare pe 1 bit


AB Ci 00 0 1 1 01 11 1 1 1 10 AB 00 Ci 0 1 1 01 1 1 11 10 1

intrri A B Ci 000 001 010 011 100 101 110

ieiri S Co 00 10 10 01 10 01 01 11

Co = ab + bCi + aCi S = a b Ci
A B Ci S

Co

111

Circuite sumatoare pe 1 bit


rescriem formulele anterioare i gsim o implementare diferit a celor dou funcii S = a b Ci utilizate n implementri

Co = ab + Ci (a b)

se pot utiliza dou sumatoare incomplete pentru a implementa ecuaiile unui sumator complet:
1 a S1 CO1 b Ci 2 S2 CO2 CO S

Circuite sumatoare pe mai muli bii - procesare paralel


Sumatorul cu procesare paralel
dac avem dou cuvinte binare A i B, de lungime mai mare dect un bit, trebuie realizat o structur compus din mai multe circuite sumatoare de 1 bit, conectate n paralel sau n serie sumatorul cu procesare paralel pentru cuvinte de lungime n este format din n celule primare de sumatoare complete de 1 bit, conectate n cascad fiecare etaj primete de la cel anterior transportul de intrare i genereaz etajului urmtor un transport de ieire

Timpul obinerii rezultatului final depinde de numrul de etaje

Sumatorul cu procesare paralel


Un sistem logic detecteaz terminarea adunrii, moment n care valideaz ncrcarea rezultatului ntr-un registru
an bn a2 b2 a1 b1

con

cin

co2

ci2 co1

ci1

Cu ct n este mai mare, cu att operaia de nsumare va necesita mai mult timp

Circuite sumatoare pe mai muli bii - anticipare


Sumatorul cu anticiparea transportului
procesare paralel: rezultatul este ntrziat cu att mai mult cu ct numrul de etaje este mai ridicat sumatorul cu anticiparea transportului: rezultatul sum va depinde numai de semnalele de intrare ai i bi, semnale care vin deodat pentru toi cei n bii primul sumator incomplet genereaz semnalele:

S1 = P= a b; C1 = G = ab
pentru etajul i avem relaiile:

Gi = aibi; Pi = ai bi
ieirea etajului n este Cn, unde n este rangul cel mai mare al cuvintelor adunate:

Cn = Gn + PnCn - 1

Sumatorul cu anticiparea transportului


nlocuind Cn-1 cu transportul de la rangul n-2, avem:
Cn = Gn + Pn(Gn - 1 + Pn - 1Cn - 2) = Gn + PnGn - 1 + PnPn - 1C n - 2 n continuare i transportul Cn-2 se poate genera n funcie de cel de rang imediat inferior lui, Cn-3, .a.m.d, pn cnd expresia transportului de rang n depinde numai de variabilele a i b

Pentru nsumarea a dou numere pe 4 bii avem:


C1 = G1 + P1Ci C2 = G2 + P2C1 = G2 + P2G1 + P2P1Ci C3 = G3 + P3C2 = G3 + P3G2 + P3P2G1 + P3P2P1Ci C4 = G4 + P4C3 = G4 + P4(G3 + P3G2 + P3P2G1 + P3P2P1Ci) = G4 + P4G3 + P4P3G2 + P4P3P2G1 + P4P3P2P1Ci

Ci pentru nivelul 0

Sumatorul cu anticiparea transportului


a1 b1 Co1

anticiparea transportului pentru o nsumare pe 3 bii


P1 G1 s1 b2

ci

P1 ci G1

rezultatul va fi disponibil cu ntrzierea dat de timpii de propagare prin 4 nivele de pori logice, indiferent de lungimea cuvntului.

a2

c01

P2 G1 ci P2 P1 G2

C02

P2 G2 a3

s2 b3
P3 G2 Ci P3 P2 P1 P3 P2
G1

C03

c02

P3 G3

s3

G3

Sumator cu transport anticipat

Sumatorul cu anticiparea transportului


Dezavantaj:
dac lungimea cuvintelor este mare, circuitele se complic foarte mult; cresc att numrul circuitelor ct i numrul intrrilor acestora (n tehnologie VLSI creterea numrului de intrri ale porilor I, a lungimii i numrului traseelor de conexiune duce la creterea timpilor de propagare, ceea ce ar putea anula complet avantajul de vitez al schemei)

n practic:
schem combinat: anticipare n structura intern a etajelor i propagare ntre etaje

click pentru schem

Sumatorul cu anticiparea transportului


Dezavantaj:
dac lungimea cuvintelor este mare, circuitele se complic foarte mult; cresc att numrul circuitelor ct i numrul intrrilor acestora (n tehnologie VLSI creterea numrului de intrri ale porilor I, a lungimii i numrului traseelor de conexiune duce la creterea timpilor de propagare, ceea ce ar putea anula complet avantajul de vitez al schemei)

Soluie posibil:
Co12

b12

a12

b9

a9

b8

a8

b5

a5

...
Ci9 C08

...
Gat2 Ci5 C04

b4

a4

...

b1

a1

Gat3

Gat1

Ci1

...
S12 S9 S8

...
S5 S4

...
S1

Circuite sumatoare pe mai muli bii - serial


Sumatorul cu procesare serial
folosete un singur sumator complet de 1 bit cele dou cuvinte de lungime n sunt ncrcate n regitrii A i B; rezultatul se va ncrca n registrul sum S pe fiecare front al semnalului de ceas Ck se adun cte un bit din fiecare cuvnt de la intrare la care se adaug i transportul rezultat din adunarea anterioar; tot la fiecare impuls de ceas bitul rezultat se deplaseaz n registrul sum dup n impulsuri de ceas, n registrul sum avem rezultatul pe n bii

click pentru schem

Sumatorul cu procesare serial


Sumatorul cu procesare serial
sumatorul regitrii date intrare
A A a S Ck B B b S

Co Ck Ci

Ck

registrul sum

Ck Ck

Sumatorul cu procesare serial


regitrii date intrare
A A Ck B Ck B b Ci a S S

sumatorul

Co Ck

registrul sum

Ck Ck

Dac din adunarea a dou numere de opt bii rezult un cuvnt pe nou bii, surplusul de 1 este detectat n bistabil, la sfritul ciclului de adunare Dezavantaj al schemei:
viteza de adunare este mic (n perioade de ceas)

CIRCUITE ARITMETICE 3
Circuite scztoare
circuitul de scdere pe 1 bit, incomplet circuitul de scdere pe 1 bit, complet tehnica de scdere/nsumare paralel (pentru numere mai mari de 1 bit)

Circuite multiplicatoare
multiplicatoare combinaionale multiplicatoare cu salvarea transportului

Circuite scztoare
Scztorul incomplet pe 1 bit
expresia lui D este identic cu cea a sumei S n cazul sumatorului de 1 bit D diferen, B mprumut (borrow)
D = A B + A B = A B

Bo = A B

intrri AB 00 01 10 11

ieiri D B0 00 11 10 00

Bo

Scztorul complet pe 1 bit


este necesar un scztor complet de 1 bit pentru a putea considera mprumutul la intrare (mprumutul generat de etajul precedent)
AB desczut scztor mprumut in diferen mprumut out Bi 0 1 1 00 01 1 1 11 10 1 Bi 0 1 1 AB 00 01 1 1 1 11 10

a 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

Bi 0 1 0 1 0 1 0 1

D 0 1 1 0 1 0 0 1

B0 0 1 1 1 0 0 0 1

D = a (b Bi) + a (b Bi) = a b Bi

Bo = a b + a Bi + b Bi

sau:

Bo = b Bi + a (b Bi)

click pentru schem

Scztorul complet pe 1 bit


a b Bi

Bo

Scztorul complet pe mai muli bii prelucrare paralel


scderea a dou cuvinte binare se poate face adunnd la desczut complementul fa de 2 al scztorului (din seciunea 1) scderea a dou numere pe n bii:
circuitul compus din n celule de sumator complet de 1 bit
an

bn

a2

b2

a1

b1

con

cin

co2

ci2 co1

1
click pentru schem

Tehnica de scdere paralel


a4 b4 a4 b3 a2 b2 a1 b1

co4

ci4 co3

ci3 co2

ci2 co1

1
A/ S

Circuite multiplicatoare
nmulirea poate fi efectuat prin adunri repetate Inmulirea cu creionul i hrtia:
se inspecteaz denmulitul bit cu bit: dac bitul considerat este 1, se adun nmulitorul i se deplaseaz la stnga; dac nu, se adun 0 i se deplaseaz la stnga; n final se adun produsele pariale sunt necesare registre pentru reinerea denmulitului, nmulitorului, semnului i produsului; dac operanzii au fiecare n bii, produsul are nevoie de un registru cu 2n bii sfritul calculului: indicat de un contor care nregistreaza numrul de bii ai nmulitorului
presupunem c denmulitul (1011) este memorat n registrul A; suma iniial (0000) este memorat n registru B; nmulitorul (1001) este memorat n registrul C

Multiplicatoare combinaionale
Multiplicatorul:
circuit combinaional care funcioneaz pe baza unui tabel de adevr ce descrie produsul de 2n bii ca funcie logic de cuvintele binare A i B, ambele avnd lungimea de n bii
a3 a2 b2 a1 b1 a0 b0 Denmulit nmulitor

Operanzii sunt A=(a3a2a1a0) i B=(b3b2b1b0); Produsele pariale sunt compuse din rezultatele aplicrii funciei logice I fiecrei perechi de bii ai i bj
+

b3

b0a3 b1a3 b2a3 b3a3

b0a2 b1a2 b2a2

b0a1 b1a1 b2a1

b0a0 b1a0 b2a0

Produse pariale

b3a2

b3a1

b3a0

Rezultatul are 8 bii i este obinut prin nsumarea tuturor produselor pariale, deplasate

P7

P6

P5

P4

P3

P2

P1

P0

Multiplicatoare combinaionale
Implementarea practic:
16 pori I + 12 sumatoare complete de 1 bit
a3 a2 a1 a0 b3 b2 b1 b0

Reea de pori SI P33 P13 0 P23 P33 P32 P31 P22 P30 0 P12 P03 P11 P02 P10 0 P01 P00

P21

P20

S7

S6

S5

S4

S3

S2

S1

S0

click pentru funcionare

Multiplicatoare combinaionale
a3 a2 a1 a0 Reea de pori SI P33 P13 0 P23 P33 P32 P31 P22 P30 0 P21 P12 P03 P20 0 P11 P02 P10 P01 P00 b3 b2 b1 b0

S
7

S
6

S
5

S
4

S
3

S
2

S
1

S
0

Pentru cazul general al numerelor de n bii, produsele pariale pot fi calculate ntr-o singur unitate de timp folosind un ir de n2 pori I Produsele pariale sunt adunate folosind un sumator binar complet de 1 bit Viteza de realizare a nmulirii depinde de timpul de propagare prin porile logice i sumatoare

Cea mai lung ntrziere n ir se va petrece de-a lungul celei mai din dreapta diagonale i a celei mai de jos linii Calea cea mai lung de semnal sau calea critic de propagare cuprinde un numr de 20 sumatoare; dac fiecare sumator prezint o ntrziere de tp, va rezulta o valoare total de 20 tp.

Multiplicatorul cu salvarea transportului

Cum se poate mbunti viteza de lucru a unui multiplicator?

click pentru rspuns

Multiplicatorul cu salvarea transportului


nmulirea binar cu accelerare
a3 a2 a1 a0 b3 b2 b1 b0 Reea de pori SI P33 P13 0 P12 P03 0 P20 P30 P11 P02 0 P10 0 P01 P00

P22 P13

P21

P32 P23 P31

S7

S6

S5

S4

S3

S2

S1

S0

click pentru funcionare

Multiplicatorul cu salvarea transportului


a3 a2 a1 a0 Reea de pori SI b3 b2 b1 b0 P3
3

P1 0
3

P1 P0
2 3

P1 P0
1 2

P1
0

P0
1

P0
0

P2 P1
2 3

P2
1

0 P2

Ieirea de transport a unui sumator se aplic nu celui urmtor din acelai rnd, ci unuia de rang superior din rndul urmtor Calea critic de propagare a semnalului cuprinde doar 14 sumatoare ceea ce reprezint o mbuntire substanial fa de cazul precedent, respectiv o reducere cu 30% a timpului de propagare

P3 P2
2 3

P3
1

P3
0

S
7

S
6

S
5

S
4

S
3

S
2

S
1

S
0

n cazul general, dac se nmulesc numere pe n bii, ntrzierea pe calea critic de propagare este dat de un numr egal cu (n-1)+(n-1)=2(n-1)

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