23
Copyright Paul GASNER Copyright Paul GASNER 2. Circuite logice 2. Circuite logice 2.5. Sumatoare şi 2.5. Sumatoare şi multiplicatoare multiplicatoare

Sumator pe 4 bits

Embed Size (px)

Citation preview

Page 1: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER

2. Circuite logice2. Circuite logice2.5. Sumatoare şi 2.5. Sumatoare şi

multiplicatoaremultiplicatoare

Page 2: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 2

Adunarea în sistemul binar Adunarea în sistemul binar Adunarea se poate efectua în mod identic ca la adunarea obişnuită cu cifre arabe în sistemul zecimalAtenţie la faptul ca 1+1=10 !!!

1 1 1 0 Depăşire - Carry in1 0 1 1 +1 1 1 0

1 1 0 0 1

carry implicit 0

bitul cel mai semnificativmost significant bit - MSB

bitul cel mai puţin semnificativ(least significant bit - LSB)

Page 3: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 3

Adunarea a doi bitsAdunarea a doi bitsDupă cum s-a observat la decodoare, adunarea a doi bits are ca rezultat un cuvânt pe 2 bits, bitul din dreapta fiind “suma” iar cel din stânga “carry” (half-adder)

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10

C = XY

S = X’ Y + X Y’= X ⊕ Y

Page 4: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 4

Adunarea a trei bitsAdunarea a trei bitsÎn realitate, la adunarea a două numere binare trebuie realizată suma a trei biţi, doi care provin de la operanzi şi al treilea bitul de depăşire (carry)

1 1 1 01 0 1 1 +1 1 1 0

1 1 0 0 1

X Y Cin Cout S0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

0 + 0 + 0 = 000 + 0 + 0 = 010 + 1 + 0 = 010 + 1 + 1 = 101 + 0 + 0 = 011 + 0 + 1 = 101 + 1 + 0 = 101 + 1 + 1 = 11

(Sunt aceleaşi funcţii ca în exemplele de la decodor şi multiplexor)

Page 5: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 5

Ecuaţiile sumatorului completEcuaţiile sumatorului completUn sumator complet (full-adder) are la intrare 3 bits, iar ieşirea este un cuvânt de 2 bits (sumă + depăşire)

X Y Cin Cout S0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 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

Page 6: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 6

Sumatorul completSumatorul completUn sumator complet poate fi construit din două sumatoare simple

S = X ⊕ Y ⊕ Cin

Cout = (X ⊕ Y) Cin + XY

Page 7: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 7

Sumator pe 4 bitsSumator pe 4 bitsPatru sumatoare complete formează un sumator pe 4 biţi9 inputs:

2 numere pe 4 bits A3 A2 A1 A0 şi B3 B2 B1 B01 depăşire la intrare (carry in) CI

5 ouputsSuma pe bits1 depăşire la ieşire (carry out) CO

Tabela de adevăr cuprinde 512 linii

Page 8: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 8

ExempluExempluSă se adune A=1011 (11) B=1110 (14)

1 1 1 0 1 1 0 1

0

1. Se completează intrările, inclusiv CI=0

0

2. Circuitul produce C1 şi S0 (1 + 0 + 0 = 01)

1

1

3. C1 împreună cu A1 şi B1 produc C2 şi S1 (1 + 1 + 0 = 10)

0

1

4. C2 şi A2 B2 calculează C3 şi S2 (0 + 1 + 1 = 10)

01 1

5. C3 împreună cu A3 şi B3 conduc la CO şi S3 (1 + 1 + 1 = 11)

Suma finală este 11001 (25)

Page 9: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 9

OverflowOverflowOperanzii din exemplu sunt numere pe 4 bits, pe când suma este un număr pe 5 bits – overflowDacă sistemul de calcul este construit pe 4 bits, răspunsul obţinut mai sus nu poate fi utilizat chiar dacă el este corectOverflow se marchează prin valoare 1 a bitului de depăşire la ieşire CO

Page 10: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 10

Sumatoare cascadateSumatoare cascadateCI este utilă la cascadarea sumatoarelor, pentru a obţine sumatoare mai mari:

Sumator pe 8 bits

Page 11: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 11

Timpi de răspunsTimpi de răspunsPrin întârzierea unui circuit (poartă logică de exemplu) se înţelege intervalul temporal scurs de la apariţia semnalului de intrare şi apariţia răspunsului corect la ieşire (gate delay)Presupunem aceeaşi constantă de răspuns pentru toate porţile

x

x’

1

0

delay

Page 12: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 12

Sumatorul ripple carrySumatorul ripple carrySchema detaliată a sumatorului pe 4 biţi este prezentată în figura de mai josSumatoarele ripple carry sunt foarte lente:

pentru sumatorul pe 4 biţi, sumarea se execută în 5 etape şi se parcurg 9 porţila un sumator pe n biţi se parcurg 2n+1 porţi

Page 13: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 13

Minimizarea întârzierilorMinimizarea întârzierilorÎntârzierea cea mai importantă la un sumator cascadat este dată de timpii necesari calculării succesive ale COSunt necesare două funcţii pentru fiecare poziţie i:

existenţa depăşirii la ieşiregi = AiBi

propagarea depăşiriipi = Ai ⊕ Bis

Funcţia depăşire la ieşire poate fi scrisă:ci+1 = gi + pici

Ai Bi Ci Ci+1

0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

gi pi

Page 14: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 14

Minimizarea întârzierilorMinimizarea întârzierilorPentru sumatorul pe 4 bits se obţin următoarele ecuaţii:

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

Page 15: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 15

Minimizarea întârzierilorMinimizarea întârzierilor

Page 16: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 16

Minimizarea întârzierilorMinimizarea întârzierilorCea mai lungă cale care trebuie parcursă acum este formată din 4 porţi, nu 9 ca în cazul precedentCascadarea în continuare a sumatoarelor trebuie implementată după acelaşi procedeu

se poate obţine un sumator pe 16 bits care necesită doar 8 porţi pe cel mai lung drumsumatorul modern pe 64 bits are 12 porţi pe cel mai lung drum, faţă de 129 :)

Deşi creşte complexitatea circuitului, întârzierile din aceste sumatoare cresc logaritmic cu numărul de biţi, nu direct proporţional

Page 17: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 17

MultiplicareaMultiplicareaMultiplicarea este o adunare repetatăCu ajutorul sumatoarelor se poate obţine şi înmulţireaProdusul logic AND este echivalent cu înmulţirea a doi bits

a b a×b0 0 00 1 01 0 01 1 1

a b ab0 0 00 1 01 0 01 1 1

Page 18: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 18

Multiplicarea în binarMultiplicarea în binar

Dacă operanzii sunt numere de 4 bits, atunci şi produsele parţiale sunt tot de 4 bitsProdusele parţiale se sumează cu ajutorul a 3 sumatoare pe 4 bits

1 1 0 1 x0 1 1 0

0 0 0 0 +1 1 0 1

1 1 0 10 0 0 0

1 0 0 1 1 1 0

Page 19: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 19

Multiplicatorul 2x2Multiplicatorul 2x2Porţile AND produc produsele parţialeÎn general se utilizează sumatoare complete, dar în acest caz particular sunt suficiente sumatoare half

B1 B0 ×A1 A0

A0B1 A0B0 +A1B1 A1B0

C3 C2 C1 C0

Page 20: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 20

Multiplicatorul 4x4Multiplicatorul 4x4

Page 21: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 21

ObservaţiiObservaţiiRezultatul înmulţirii a 2 numere de 4 biţi este un număr de 8 biţi

se pot păstra toţi cei 8 bitsse pot păstra doar cei 4 biţi mai puţin semnificativi C3...C0, restul fiind interpretaţi ca overflow

La înmulţirea unui număr pe m bits cu un număr de n bits apar:

n produse parţiale pe m biţisunt necesare n-1 sumatoare pe m biţi

Page 22: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 22

Multiplicarea cu 2Multiplicarea cu 2În zecimal:

128 x 10 = 1280În binar cuvântul se deplasează spre stânga cu un bit la înmulţirea cu 2:

11 x 10 = 110 (în zecimal 3 x 2 = 6)În binar cuvântul se deplasează spre stânga cu doi biţi la înmulţirea cu 4:

11 x 100 = 1100 (în zecimal, 3 x 4 = 12)În binar cuvântul se deplasează spre dreapta cu un bit la împărţirea cu 2:

110 ÷ 10 = 11 (în zecimal, 6 ÷ 2 = 3)

Page 23: Sumator pe 4 bits

Copyright Paul GASNERCopyright Paul GASNER 23

Adunarea şi înmulţirea. ConcluziiAdunarea şi înmulţirea. ConcluziiSumatoarele şi multiplicatoarele:

construite conform algoritmilor clasici de calculse construiesc pe structuri ierarhice (cascadare)nu se pot aplica scheme de optimizare de tipul diagramelor Karnaugh

Depăşirea numărului de biţi la sumatoare generează fenomenul overflowÎnmulţirea şi împărţirea cu puterile lui 2 se poate realiza prin deplasarea biţilor numărului spre stânga respectiv dreapta