A.S.E.A.S.E. 13.13.11
ARCHITETTURA DEI SISTEMI ARCHITETTURA DEI SISTEMI ELETTRONICIELETTRONICI
LEZIONE N° 13LEZIONE N° 13
• 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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.1616
Half AdderHalf Adder
• Somma di due bitSomma di due bit
aaii bb
ii
ss
ii
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. 13.13.1717
Full Adder 1Full Adder 1
• Somma di due bit compreso il CarrySomma di due bit compreso il Carry
ccii aa
ii
bb
ii
ss
ii
cci+1i+1
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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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. 13.13.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 –A –BB
K=K=11
A+A+BB
k=0k=0
A.S.E.A.S.E. 13.13.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. 13.13.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
Top Related