Documente Academic
Documente Profesional
Documente Cultură
Circuite Aritmetice
Circuite Aritmetice
CIRCUITE ARITMETICE
CIRCUITE ARITMETICE 1
Operaii aritmetice
{ { { {
adunarea binar scderea binar nmulirea binar mprirea binar complementul fa de 1 i 2 numere cu semn
Artimetici complementare
{ {
Operaii aritmetice
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
Operaii aritmetice
Scderea binar
0-0=0 1-0=1 1-1=0 0-1=1 cu un mprumut (borrow) de 1
Operaii aritmetice
nmulirea binar
{
se implementeaz ca o succesiune repetat de adunri 0x0=0 0x1=0 1x0=0 1x1=1 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 ctul se scade 1 nu se scade 0 se scade 1
Operaii aritmetice
Aritmetici complementare
{ { {
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
Aritmetici complementare
Reguli:
{ {
Aritmetica binar C2
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 ) 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 )
Forma general:
{
Aritmetica binar C2
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
Aritmetica binar C2
gsii diferena N1 N2 R: N1 - N2=001111; n zecimal avem 53-38=15; rezultatul fiind pozitiv, nu mai este necesar complementarea
n calculatoare numerele negative se reprezint n complement fa de 2 +1010 = 0 1010 -1010 = 1 0110 MSB=bitul de semn:
{ {
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
de semn este 0 01012 = 510 N1, N2: valoare pe 4 bii (5 cu bitul de 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
Se
dau numerele N1=1410 i N2=910; calculai N1 -N2 R: 101112 = 2310 C2=0 reprezint semnul
0010
-N2 = - 9=1 0111 C2 reprezint semnul R: 1 01001 +23=0 10111 -23 =1 01001
+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
circuitul sumator incomplet circuitul sumator complet tehnica de nsumare paralel (cascad) tehnica de nsumare cu anticiparea transportului tehnica de nsumare serial
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
S C intrri AB 00 01 10 11 ieiri SC 00 10 10 01
A B
S = a b + ab = a b; C = a b
A B S
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
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
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
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
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
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
{
Gi = aibi; Pi = ai bi
{
ieirea etajului n este Cn, unde n este rangul cel mai mare al cuvintelor adunate:
Cn = Gn + PnCn - 1
Ci pentru nivelul 0
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
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) schem combinat: anticipare n structura intern a etajelor i propagare ntre etaje
n practic:
{
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)
b12 a12 b9 a9 b8 a8 b5 a5
Soluie posibil:
Co12
...
Ci9 C08
...
Gat2 Ci5 C04
b4
a4
...
b1
a1
Gat3
Gat1
Ci1
...
S12 S9 S8
...
S5 S4
...
S1
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
Co Ck Ci
Ck
registrul sum
Ck Ck
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) multiplicatoare combinaionale multiplicatoare cu salvarea transportului
Circuite multiplicatoare
{ {
Circuite scztoare
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
este necesar un scztor complet de 1 bit pentru a putea considera mprumutul la intrare (mprumutul generat de etajul precedent)
AB AB 00 0 1 1 01 1 1 11 10 1 Bi 0 1 1 00 01 1 1 1 11 10 diferen mprumut out Bi
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)
Bo
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:
{
an
b1
con
cin
co2
ci2 co1
1
click pentru schem
co4
ci4 co3
ci3 co2
ci2 co1
1
A/ S
Circuite multiplicatoare
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 b3
Operanzii sunt A=(a3a2a1a0) i B=(b3b2b1b0); Produsele pariale sunt compuse din rezultatele aplicrii funciei logice I fiecrei perechi de bii ai i bj
+
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:
{
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
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
2
S
7
S
6
S
5
S
4
S
3
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.
P22 P13
P21
S7
S6
S5
S4
S3
S2
S1
S0
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)