A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M...
-
Upload
cajetan-castellani -
Category
Documents
-
view
219 -
download
1
Transcript of A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M...
A.S.E.A.S.E. 6.6.11
ARCHITETTURA DEI SISTEMI ARCHITETTURA DEI SISTEMI ELETTRONICIELETTRONICI
LEZIONE N° 6LEZIONE N° 6• Complemento a “Complemento a “MM””• Rappresentazione di numeri con segnoRappresentazione di numeri con segno
– Modulo e segnoModulo e segno– Complemento alla baseComplemento alla base– Complemento malla base -1Complemento malla base -1– TraslazioneTraslazione
• Addizione su numeri relativiAddizione su numeri relativi
A.S.E.A.S.E. 6.6.22
Modulo “Modulo “MM” (1)” (1)
• ““X” modulo “M” è il “resto” della divisione di X” modulo “M” è il “resto” della divisione di “X” diviso “M”; si indica con due barre verticali “X” diviso “M”; si indica con due barre verticali e pedice Me pedice M
• ““R” è detto anche residuo e risulta R” è detto anche residuo e risulta
• EsempioEsempio
MXR
M
XMMXX /
24.424.124;24.124.124;325;525;4251037107
Intero ≤ di X diviso M
A.S.E.A.S.E. 6.6.33
Modulo “Modulo “MM” (2)” (2)
• Altra interpretazione: dato un numero Altra interpretazione: dato un numero XX e detto e detto RR il modulo “ il modulo “MM” di ” di XX
• 1° caso 1° caso 0 ≤ 0 ≤ XX < < MM segue segue R = XR = X• 2° caso2° caso XX ≥ M≥ M si togli tante volte si togli tante volte MM in in
modo che risulti modo che risulti 0 ≤ 0 ≤ RR < < MM • 3° caso3° caso XX ≤ 0 ≤ 0 si somma tante volte si somma tante volte MM in in
modo che risulti modo che risulti 0 ≤ 0 ≤ RR < < MM
A.S.E.A.S.E. 6.6.44
Osservazione 1Osservazione 1
• L’operazione modulo “M” in generale L’operazione modulo “M” in generale non è biunivoca , ovvero dato il numero non è biunivoca , ovvero dato il numero X è univocamente determinato R = |X|X è univocamente determinato R = |X|MM
Dato R esistono infiniti numeri che Dato R esistono infiniti numeri che hanno per residuo R stessohanno per residuo R stesso
• L’operazione modulo “M” è biunivoca se L’operazione modulo “M” è biunivoca se risultarisulta
122
M
XM
A.S.E.A.S.E. 6.6.55
Osservazione 2Osservazione 2
• Data una base B, se si dispone di un Data una base B, se si dispone di un numero limitato di digit (K), se si esegue numero limitato di digit (K), se si esegue l’addizione di due numeri la cui somma l’addizione di due numeri la cui somma eccede Beccede BKK , allora la somma S assume il , allora la somma S assume il valorevalore
KBBAS
A.S.E.A.S.E. 6.6.66
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. 6.6.77
Modulo e segno (1)Modulo e segno (1)
• AssumendoAssumendo– Digit a disposizione (lunghezza della parola) NDigit a disposizione (lunghezza della parola) N– X numero di cui si vuole eseguire la conversioneX numero di cui si vuole eseguire la conversione
– XXMSMS rappresentazione di X in M.S. rappresentazione di X in M.S.
• RisultaRisulta
• In Base 2 risultaIn Base 2 risulta
11
1
2 ha si 0 21per
ha si 120per
N
MSN
MSN
XXX
XXX
2 ha si 0 21per
ha si 120per
N
MS
N
MS
N
BXXXB
XXBX
A.S.E.A.S.E. 6.6.88
Esempio 1Esempio 1
• Disponendo di 3 digit in base 10Disponendo di 3 digit in base 10– Stabilire il max min rappresentabileStabilire il max min rappresentabile– Convertire in MS i numeri 25, 147, -13, -258Convertire in MS i numeri 25, 147, -13, -258
499X499- 1221 NN BXB
758500258258
5135001313
147147
02525
A.S.E.A.S.E. 6.6.99
Esempio 2Esempio 2
• Disponendo di 8 digit in base 2Disponendo di 8 digit in base 2– Stabilire il max min rappresentabileStabilire il max min rappresentabile– Convertire in MS i numeri 1111 (15), 1110101 (117), Convertire in MS i numeri 1111 (15), 1110101 (117),
-10111 (-23), -1011001 (-89)-10111 (-23), -1011001 (-89)
271X127- 1221 77 X
110110011011001
1001011110111
011101011110101
000011111111
A.S.E.A.S.E. 6.6.1010
Modulo e segno (2)Modulo e segno (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
2210 2221 1 dddw n
nn
ndn
1221 110
1 nn w
5510101 0 6611110 1
A.S.E.A.S.E. 6.6.1111
Complemento a 1 (1)Complemento a 1 (1)
• AssumendoAssumendo– Bit a disposizione (lunghezza della parola) Bit a disposizione (lunghezza della parola)
NN– X numero di cui si vuole eseguire la X numero di cui si vuole eseguire la
conversioneconversione
– XXC1C1 rappresentazione di X in C1 rappresentazione di X in C1
• RisultaRisulta
12 ha si 0 21per
ha si 120per
11
11
NC
N
CN
XXX
XXX
A.S.E.A.S.E. 6.6.1212
EsempioEsempio
• Disponendo di 8 digit in base 2Disponendo di 8 digit in base 2– Stabilire il max min rappresentabileStabilire il max min rappresentabile– Convertire in C1 i numeri 1111 (15), 1110101 (117), Convertire in C1 i numeri 1111 (15), 1110101 (117),
-10111 (-23), -1011001 (-89)-10111 (-23), -1011001 (-89)
271X127- 1221 77 X
10100110101100111111111101100111000000001011001
11101000101111111111110111110000000010111
011101011110101
000011111111
A.S.E.A.S.E. 6.6.1313
Complemento a 1 (2)Complemento a 1 (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 22221 ddddw n
nn
nnn
1221 110
1 nn w
550810101 161811110
A.S.E.A.S.E. 6.6.1414
Complemento a 2 (1)Complemento a 2 (1)
• AssumendoAssumendo– Bit a disposizione (lunghezza della parola) Bit a disposizione (lunghezza della parola)
NN– X numero di cui si vuole eseguire la X numero di cui si vuole eseguire la
conversioneconversione
– XXC2C2 rappresentazione di X in C2 rappresentazione di X in C2
• RisultaRisulta
NC
N
CN
XXX
XXX
2 ha si 0 2per
ha si 120per
11
21
A.S.E.A.S.E. 6.6.1515
EsempioEsempio
• Disponendo di 8 digit in base 2Disponendo di 8 digit in base 2– Stabilire il max min rappresentabileStabilire il max min rappresentabile– Convertire in C2 i numeri 1111 (15), 1110101 (117), Convertire in C2 i numeri 1111 (15), 1110101 (117),
-10111 (-23), -1011001 (-89)-10111 (-23), -1011001 (-89)
271X128- 122 77 X
1010011110110011000000001011001
111010011011110000000010111
011101011110101
000011111111
A.S.E.A.S.E. 6.6.1616
Complemento a 2 (2)Complemento a 2 (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. 6.6.1717
Traslazione (1)Traslazione (1)
• AssumendoAssumendo– Bit a disposizione (lunghezza della parola) Bit a disposizione (lunghezza della parola)
NN– X numero di cui si vuole eseguire la X numero di cui si vuole eseguire la
conversioneconversione
– XXTT rappresentazione di X in T rappresentazione di X in T
• RisultaRisulta 12 NT XX
A.S.E.A.S.E. 6.6.1818
EsempioEsempio
• Disponendo di 8 digit in base 2Disponendo di 8 digit in base 2– Stabilire il max min rappresentabileStabilire il max min rappresentabile– Convertire in T i numeri 1111 (15), 1110101 (117), Convertire in T i numeri 1111 (15), 1110101 (117),
-10111 (-23), -1011001 (-89)-10111 (-23), -1011001 (-89)
271X128- 122 77 X
001001111011001100000001011001
01101001101111000000010111
111101011110101100000001110101
100011111111100000001111
A.S.E.A.S.E. 6.6.1919
Traslazione(2)Traslazione(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
100
22
1110 2222
nnn
nn dddw
122 110
1 nn w
3850101 68141110
A.S.E.A.S.E. 6.6.2020
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. 6.6.2121
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. 6.6.2222
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. 6.6.2323
Addizione in Modulo e segnoAddizione in Modulo e segno
• Somma [1-2Somma [1-2n-1n-1<(X+Y)<2<(X+Y)<2n-1n-1-1]-1]
• ** è necessario fare un test sul segno prima di è necessario fare un test sul segno prima di
eseguire la sommaeseguire la somma
*2'0
0
*'0
0
*'0
0
'0
0CorrezioneS. M. SommaSommaAddendi
noHYXZYXZY
X
noHYXZYXZY
X
noHYXZYXZY
X
YXZYXZY
X
A.S.E.A.S.E. 6.6.2424
Addizione in Complemento a 1Addizione in Complemento a 1• Somma [1-2Somma [1-2n-1n-1<(X+Y)<2<(X+Y)<2n-1n-1-1]-1]
• Osservare che K non è possibile rappresentarlo su n bitOsservare che K non è possibile rappresentarlo su n bit• ** è necessario un test sul bit di segno, ma la è necessario un test sul bit di segno, ma la
correzione è facilecorrezione è facile• ** se il risultato è negativo è già rappresentato in C. 1se il risultato è negativo è già rappresentato in C. 1• **** è necessario aggiungere 1 per ottenere il risultato in è necessario aggiungere 1 per ottenere il risultato in
C. 1C. 1
**2'22'0
0
*1'1'0
0
*1'1'0
0
'0
0Correzione1 C. SommaSommaAddendi
ZZKYXZYXZY
X
ZZKYXZYXZY
X
ZZKYXZYXZY
X
YXZYXZY
X
A.S.E.A.S.E. 6.6.2525
EsempiEsempi• 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 00
11 00 00 00 1111
00 00 11 00
00 11 11 00
00 11 00 11
11 00 11 11
11 00 11 00
00 00 11 11
11 11 00 11
11 00 11 11
11 11 00 00
11 00 11 11 1111
11 00 00 00
11 00 00 11
11 00 11 00
11 00 00 11 11
A.S.E.A.S.E. 6.6.2626
Addizione in Complemento a 2Addizione in Complemento a 2• Somma [-2Somma [-2n-1n-1<(X+Y)<2<(X+Y)<2n-1n-1-1]-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. 6.6.2727
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. 6.6.2828
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. 6.6.2929
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. 6.6.3030
BCD (BCD (Binary-Coded Decimal Binary-Coded Decimal numbersnumbers))
• Necessità di rappresentare i numeri Necessità di rappresentare i numeri decimali in codice binariodecimali in codice binario
• 8421 BCD8421 BCD• si codifica in binario ciascuna cifra decimale si codifica in binario ciascuna cifra decimale
utilizzando i primi 10 numeri binari su 4 bitutilizzando i primi 10 numeri binari su 4 bit• EsempioEsempio
• 4534531010
• 010001010011010001010011• è possibile eseguire somme e sottrazioni in è possibile eseguire somme e sottrazioni in
BCDBCD
001101010100354
A.S.E.A.S.E. 6.6.3131
BCD – Sette SegmentiBCD – Sette Segmenti
• Per visualizzare le cifre decimali si usa Per visualizzare le cifre decimali si usa frequentemente un Display a sette frequentemente un Display a sette segmentisegmenti
• È possibile realizzare un codificatore È possibile realizzare un codificatore • BCD SETTE SEGMENTIBCD SETTE SEGMENTI
a
b
ce
f
d
g
A.S.E.A.S.E. 6.6.3232
Tabella di “Corrispondenze”Tabella di “Corrispondenze”
• La tabella risultaLa tabella risulta88 44 22 11 aa bb cc dd ee ff gg
00 00 00 00 00 11 11 11 11 11 11 00
11 00 00 00 11 00 11 11 00 00 00 00
22 00 00 11 00 11 11 00 11 11 00 11
33 00 00 11 11 11 11 11 11 00 00 11
44 00 11 00 00 00 11 11 00 00 11 11
55 00 11 00 11 11 00 11 11 00 11 11
66 00 11 11 00 11 00 11 11 11 11 11
77 00 11 11 11 11 11 11 00 00 11 00
88 11 00 00 00 11 11 11 11 11 11 11
99 11 00 00 11 11 11 11 11 00 11 11
A.S.E.A.S.E. 6.6.3333
ConclusioniConclusioni
• Complemento a “Complemento a “MM””• Rappresentazione di numeri con segnoRappresentazione di numeri con segno
– Modulo e segnoModulo e segno– Complemento alla baseComplemento alla base– Complemento malla base -1Complemento malla base -1– TraslazioneTraslazione
• Addizione su numeri relativiAddizione su numeri relativi