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

Post on 01-May-2015

215 views 0 download

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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