A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in...

27
A.S.E. A.S.E. 12. 12.1 ARCHITETTURA DEI SISTEMI ARCHITETTURA DEI SISTEMI ELETTRONICI ELETTRONICI LEZIONE N° 12 LEZIONE N° 12 Somma e differenza di due numeri in C2 Somma e differenza di due numeri in C2 Half Adder Half Adder Full Adder Full Adder Sommatori e Sottrattori di due word di Sommatori e Sottrattori di due word di n bit n bit

Transcript of A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in...

Page 1: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.11

ARCHITETTURA DEI SISTEMI ARCHITETTURA DEI SISTEMI ELETTRONICIELETTRONICI

LEZIONE N° 12LEZIONE N° 12

• Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2• Half AdderHalf Adder• Full AdderFull Adder• Sommatori e Sottrattori di due word di n Sommatori e Sottrattori di due word di n

bitbit

Page 2: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.22

RichiamiRichiami

• Base 2, 8, Base 2, 8, 1010, 16, 16• Conversione da base “N” a base 10 Conversione da base “N” a base 10 • Conversione da base 10 a base “N” Conversione da base 10 a base “N” • Aritmetica binariaAritmetica binaria• Rappresentazione di numeri con segnoRappresentazione di numeri con segno• Esempio di minimizzazioneEsempio di minimizzazione• Or esclusivoOr esclusivo• Tecniche strutturate di minimizzazioneTecniche strutturate di minimizzazione• Sintesi a due livelliSintesi a due livelli

Page 3: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.33

Aritmetica binaria 1Aritmetica binaria 1

• Somma di due bitSomma di due bit• x + yx + y• s = Sommas = Somma• c = Carry (RIPORTO)c = Carry (RIPORTO)

• EsempioEsempio

xx yy ss cc

00 00 00 00

00 11 11 00

11 00 11 00

11 11 00 11

11 11 11 11

11 00 11 11 00 00 11

11 11 11 00 11 00 11

11 11 00 00 11 11 11 00

carry

89 + 117 = 206

Page 4: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.44

Aritmetica binaria 2Aritmetica binaria 2

• Sottrazione di due bitSottrazione di due bit• x -yx -y• d = Differenzad = Differenza• b = Borrow (Prestito)b = Borrow (Prestito)

• EsempioEsempio

xx yy dd bb

00 00 00 00

00 11 11 11

11 00 11 00

11 11 00 00

11 11 11 11

11 11 00 00 11 11 11 00

11 11 11 00 11 00 11

11 00 11 11 00 00 11

borrow

206 - 117 = 89

xx yy ss cc

00 00 00 00

00 11 11 00

11 00 11 00

11 11 00 11

Page 5: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.55

Numeri binari con segnoNumeri binari con segno

• Il numero massimo di bit usato da un Il numero massimo di bit usato da un calcolatore è noto e fisso calcolatore è noto e fisso

• Solitamente è : 4 o 8 o 16 o 32 Solitamente è : 4 o 8 o 16 o 32 (Word)(Word)• 8 bit formano un Byte 8 bit formano un Byte

• Non esiste un apposito simbolo per il segnoNon esiste un apposito simbolo per il segno• Si usa il bit più significativo per indicare il Si usa il bit più significativo per indicare il

segnosegno• 0 = +0 = +• 1 = -1 = -

• Si hanno varie tecniche di codificaSi hanno varie tecniche di codifica• Modulo e segnoModulo e segno• Complemento a 1Complemento a 1• Complemento a 2Complemento a 2• In traslazione ( cambia la codifica del segno)In traslazione ( cambia la codifica del segno)

Page 6: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.66

Varie rappresentazioni su 4 bitVarie rappresentazioni su 4 bit Base 10Base 10 Mod e segMod e seg comp a comp a

11comp a comp a

22trasl.trasl.

77 0.1110.111 0.1110.111 0.1110.111 1.1111.11166 0.1100.110 0.1100.110 0.1100.110 1.1101.11055 0.1010.101 0.1010.101 0.1010.101 1.1011.10144 0.1000.100 0.1000.100 0.1000.100 1.1001.10033 0.0110.011 0.0110.011 0.0110.011 1.0111.01122 0.0100.010 0.0100.010 0.0100.010 1.0101.01011 0.0010.001 0.0010.001 0.0010.001 1.0011.00100 0.0000.000 0.0000.000 0.0000.000 1.0001.00000 1.0001.000 1.1111.111 0.0000.000 1.0001.000-1-1 1.0011.001 1.1101.110 1.1111.111 0.1110.111-2-2 1.0101.010 1.1011.101 1.1101.110 0.1100.110-3-3 1.0111.011 1.1001.100 1.1011.101 0.1010.101-4-4 1.1001.100 1.0111.011 1.1001.100 0.1000.100-5-5 1.1011.101 1.0101.010 1.0111.011 0.0110.011-6-6 1.1101.110 1.0011.001 1.0101.010 0.0100.010-7-7 1.1111.111 1.0001.000 1.0011.001 0.0010.001-8-8 -- -- 1.0001.000 0.0000.000

Page 7: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.77

Modulo e segnoModulo e segno

• Se si dispone di “n” bitSe si dispone di “n” bit

• Il corrispondente in base 10 èIl corrispondente in base 10 è

• Il renge dei numeri risultaIl renge dei numeri risulta

• Esempio n = 4Esempio n = 4

021 dddw nn

00

33

2210 2221 1 dddw n

nn

ndn

1221 110

1 nn w

5510101 0 6611110 1

Page 8: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.88

Complemento a 1Complemento a 1

• Se si dispone di “n” bitSe si dispone di “n” bit

• Il corrispondente in base 10 èIl corrispondente in base 10 è

• Il renge dei numeri risultaIl renge dei numeri risulta

• Esempio n = 4Esempio n = 4

021 dddw nn

00

33

221

110 22221 ddddw n

nn

nnn

1221 110

1 nn w

550810101 161811110

Page 9: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.99

Complemento a 2Complemento a 2

• Se si dispone di “n” bitSe si dispone di “n” bit

• Il corrispondente in base 10 èIl corrispondente in base 10 è

• Il renge dei numeri risultaIl renge dei numeri risulta

• Esempio n = 4Esempio n = 4

021 dddw nn

00

33

221

110 2222 ddddw n

nn

nnn

122 110

1 nn w

55080101 26181110

Page 10: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1010

TraslazioneTraslazione

• Se si dispone di “n” bitSe si dispone di “n” bit

• Il corrispondente in base 10 èIl corrispondente in base 10 è

• Il renge dei numeri risultaIl renge dei numeri risulta

• Esempio n = 4Esempio n = 4

021 dddw nn

100

22

1110 2222

nnn

nn dddw

122 110

1 nn w

3850101 68141110

Page 11: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1111

Trasformazione da numeri positivi a Trasformazione da numeri positivi a numeri negativi e viceversanumeri negativi e viceversa

• Per la rappresentazione in modulo e segnoPer la rappresentazione in modulo e segno• Basta cambiare il bit di segno Basta cambiare il bit di segno

• Per la rappresentazione in complemento a 1Per la rappresentazione in complemento a 1• Si complementano tutti bitSi complementano tutti bit

• Per la rappresentazione in complemento a 2Per la rappresentazione in complemento a 2• Si complementano tutti bit e si somma 1Si complementano tutti bit e si somma 1

• Per la rappresentazione in tralazionePer la rappresentazione in tralazione• Si somma sempre 2Si somma sempre 2n-1n-1

110105001015 NN

110105001015 NN

110111110105001015 NN

010115165101015165 NN

Page 12: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1212

Tabella RiassuntivaTabella Riassuntiva

• Con riferimento a una word di “n” bit, si Con riferimento a una word di “n” bit, si ha:ha:

• K = 2K = 2nn

• H =2H =2n-1n-1

• W numero in base 2 da convertireW numero in base 2 da convertire• W’ numero convertitoW’ numero convertito

1222222TR.12222222 C.1221222211 C.12212221S. M.

DINAMICAVALORETIPO

110

100

22

11

110

110

100

33

221

110

110

100

33

221

110

110

100

33

2210

1

nnnn

nn

n

nnnn

nnn

n

nnnn

nnn

n

nnnn

nn

d

wdddwwddddwwddddwwdddw n

WHWWHWWKWWWWKWWWWHWWW

''TR.''2 C.

1''C.1''S. M.

0W 0WTIPO

Page 13: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1313

Complemento a 2Complemento a 2• Somma [-2Somma [-2n-1n-1<(X+Y)<2<(X+Y)<2n-1n-1]]

• Osservare che K non è possibile rappresentarlo su n bitOsservare che K non è possibile rappresentarlo su n bit• ** Per X < |Y| il risultato è rappresentato in C. 2Per X < |Y| il risultato è rappresentato in C. 2• **** Per Y < |X| il risultato è rappresentato in C. 2Per Y < |X| il risultato è rappresentato in C. 2• ****** Il risultato è rappresentato in C. 2Il risultato è rappresentato in C. 2

***2'0

0

**''

0

0

*''

0

0

''0

0Correzione2 C. SommaSommaAddendi

KYXZYXZY

XXY

ZZKYXZYXZ

Y

XYX

ZZKYXZYXZ

Y

X

ZZYXZYXZY

X

Page 14: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1414

Esempi Esempi • Parola di 4 bit Parola di 4 bit • 3 + 4 = 73 + 4 = 7 5 + (-3) = 25 + (-3) = 2 (-5) + 3 = (-(-5) + 3 = (-

2)2)

• (- 4) +(-3) = -7 (- 4) +(-3) = -7 6 + 5 =11 6 + 5 =11 (-6) + (-5) (-6) + (-5) =(-11)=(-11)

00 00 11 11

00 11 00 00

00 11 11 11

00 11 00 11

11 11 00 11

11 00 00 11 00

00 11 11 00

00 11 00 11

11 00 11 11

11 00 11 11

00 00 11 11

11 11 11 00

11 11 00 00

11 11 00 11

11 11 00 00 11

11 00 11 00

11 00 11 11

11 00 11 00 11

Page 15: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1515

OsservazioniOsservazioni

• Se la word si estende “K” bit si haSe la word si estende “K” bit si ha• per numeri positivi si aggiungono in testa K zeriper numeri positivi si aggiungono in testa K zeri• per numeri negativi si aggiungono in testa K unoper numeri negativi si aggiungono in testa K uno

• EsempioEsempioWord Word di 4 bitdi 4 bit

Word Word di 6 bitdi 6 bit

33 0.0110.011 0.00010.000111

44 0.1000.100 0.00100.001000

77 0.1110.111 0.00110.001111

-3-3 1.1011.101 1.11101.111011

-4-4 1.1001.100 1.11101.111000

-7-7 1.0011.001 1.11001.110011

Page 16: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1616

Half AdderHalf Adder

• Somma di due bitSomma di due bit

aaii bb

ii

ssii cci+1i+1

00 00 00 00

00 11 11 00

11 00 11 00

11 11 00 11

iii

iii

bacbas

1

ai

bi

si

ci+1

H A

ai

bi

si

ci+1

Page 17: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1717

Full Adder 1Full Adder 1

• Somma di due bit compreso il CarrySomma di due bit compreso il Carry

ccii aa

ii

bb

ii

ssii cci+i+

11

00 00 00 00 00

00 00 11 11 00

00 11 00 11 00

00 11 11 00 11

11 00 00 11 00

11 00 11 00 11

11 11 00 00 11

11 11 11 11 11

0000 0101 1111 1010

00 11

11 11 11 11

0000 0101 1111 1010

00 11 11

11 11 11

ci

si

ci+1

ai ,bi

ci

ai ,bi

Page 18: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1818

Full Adder 2Full Adder 2

• Lo schema risultaLo schema risulta iiiiiii

iiiiiii

cbcabac

cbacbas

1

ai

bi si

ci+1

ci

F A

ai

bi

si

ci+1

ci

ai

bi

si

ci+1

ci

F A

Page 19: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.1919

Half SubtractorHalf Subtractor

• Differenza fra due bit (x – y)Differenza fra due bit (x – y)

xxii yyii dd

ii

bbi+i+

11

00 00 00 00

00 11 11 11

11 00 11 00

11 11 00 00

iii

iii

yxb

yxd

1

xi

yi

di

bi+1

H S

ai

bi

si

ci+1

Page 20: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.2020

Full Subcrtactor 1Full Subcrtactor 1

• Differenza fra due bit compreso il Borrow Differenza fra due bit compreso il Borrow (x – y)(x – y)bbii xxii yyii ddii bbi+i+

11

00 00 00 00 00

00 00 11 11 11

00 11 00 11 00

00 11 11 00 00

11 00 00 11 11

11 00 11 00 11

11 11 00 00 00

11 11 11 11 11

0000 0101 1111 1010

00 11

11 11 11 11

0000 0101 1111 1010

00 11 11

11 11 11

bi

di

bi+1

xi ,yi

bi

xi ,yi

Page 21: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.2121

Full Subtractor 2Full Subtractor 2

• Lo schema risultaLo schema risulta iiiiiii

iiiiiii

bybxyxb

byxbyxd

1

xi

yi di

bi+1

bi

F S

xi

yi

di

bi+1

bi

xi

yi

di

bi+1

bi

F S

Page 22: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.2222

Sommatore a riporto serialeSommatore a riporto seriale(Ripple-Carry Adder)(Ripple-Carry Adder)

• Somma di due parole di 4 bit in C. 2Somma di due parole di 4 bit in C. 2c

i+1

FA

ci

ai

si

bi

b0 a0b1 a1

ci+

1FA

ci

ai

si

bi

b2 a2

ci+

1FA

ci

ai

si

bi

b3 a3

s0s1s3 s2

c4

c0

FA

ci

ai

si

bi

ci+

1

Page 23: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.2323

Proprietà dello XORProprietà dello XOR

• Lo XOR può essere visto come un Lo XOR può essere visto come un inverter “programmabile”inverter “programmabile”

inoutS

inoutS

è 1per

è 0per

in

S

out

SS inin outout

00 00 00

00 11 11

11 00 11

11 11 00

Page 24: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.2424

Considerazioni sulla sottrazioneConsiderazioni sulla sottrazione

• Si ricorda cheSi ricorda che

• Operando in complemento a 2 si haOperando in complemento a 2 si ha

• QuindiQuindi

BABAW

1 BABAW

1 BB

Page 25: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.2525

Sommatore/SottrattoreSommatore/Sottrattore

• In base alle proprietà dello XOR e come si può eseguire In base alle proprietà dello XOR e come si può eseguire la differenza (A – B) in C. 2 si ha:la differenza (A – B) in C. 2 si ha:

a0 b0a1 b1a2 b2a3 b3

s0s1s3 s2

c4

ci+

1FA

ci

bi

si

ai

ci+

1FA

ci

bi

si

ai

ci+

1FA

ci

bi

si

ai

ci+

1FA

ci

bi

si

ai

kA–BA–B K=K=

11

A+BA+B k=k=00

Page 26: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.2626

OverfloWOverfloW• Parola di 4 bit Parola di 4 bit • 3 + 4 = 73 + 4 = 7 5 + (-3) = 25 + (-3) = 2 (-5) + 3 = (-(-5) + 3 = (-

2)2)

• (- 4) +(-3) = -7 (- 4) +(-3) = -7 6 + 5 =11 6 + 5 =11 (-6) + (-5) (-6) + (-5) =(-11)=(-11)

00 00 00 00

00 00 11 11

00 11 00 00

00 11 11 11

11 11 00 11

00 11 00 11

11 11 00 11

11 00 00 11 00

00 11 00 00

00 11 11 00

00 11 00 11

11 00 11 11

00 00 11 11

11 00 11 11

00 00 11 11

11 11 11 00

11 11 00 00

11 11 00 00

11 11 00 11

11 11 00 00 11

11 00 11 00

11 00 11 00

11 00 11 11

11 00 11 00 11

1 nn ccOv

Page 27: A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.

A.S.E.A.S.E. 12.12.2727

ConclusioniConclusioni

• Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2• Half AdderHalf Adder• Full AdderFull Adder• Sommatori e Sottrattori di due word di n Sommatori e Sottrattori di due word di n

bitbit