Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Bit
Descrizione
2.1 - Rappresentazione dell’informazione
2.2 – Codici binari dei segnali
2.3 - Trasmissione dell’informazione
2.4 - Protezione dell’informazione
Variabili binarie
Bit (binary digit) - Variabile x tale che:
x ∈ B{{0,1}}
1
Configurazioni binarie
n bit
Configurazione binaria - Stringa
di lunghezza n di simboli 0 e 1. b1 b2 b3 bn
stringa
11 00 01 10 01 ……….
alfabeto
2
La rappresentazione dell’informazione
Informazione - Stringa di lunghezza finita formata da simboli
si appartenenti ad un alfabeto di definizione A:
s1 s2 s3 …. si …… sn-1 sn con si ∈ A:{
{a1, a2, .., am}
Esempi:
“testo” e caratteri “numero” e cifre “musica” e note 2.2
“immagine”, pixel e toni di grigio “disegno” e pend./lung. di tratti Codici binari
“misura” e posizione di un indice “parlato” e fonemi
0 0 0 ……..0 z
n.u.
1 0 0 ……..0
0 1 0 ……..0 1
5
1 1 0 ……..0 a
2n config. 0 0 1 ……..0 M
informazioni
0 0 1 ……..1 ?
m
0 1 1 ……..1
1 1 1 ……..1
3
Proprietà di un codice 0 più 1
00 01 11 10
2 1 meno 0 26.103 0
Il codice è una rappresentazione convenzionale dell’informazione. n.u.
segno 1
La scelta di un codice è condivisa da sorgente e destinazione Esempi colori
ed ha due gradi di libertà: Cifre decimali
• il numero di bit (qualsiasi, a patto che sia 2n ≥ M )
0000 zero 1111110 1000000000
• l’associazione tra configurazioni e informazioni;
0001 uno 0110000 0100000000
a parità di n e di M le associazioni possibili sono Altri
0010 due 1101101 0010000000
29
0011 tre 1111001 0001000000
C = 2n! / (2n-M)! miliardi
0100 quattro 0110011 0000100000
di
0101 cinque 1011011 0000010000
codici
0110 sei 0011111 0000001000
a
N = 1, M = 2 C=2 0111 sette 1110000 0000000100
4 bit
N = 2, M = 4 C = 24 1000 otto 1111111 0000000010
N = 3, M = 8 C = 64.320 1001 nove 1110011 0000000001
N = 4, M = 10 C = 29.000.000.000 BCD 7 segmenti uno su dieci
N.B. 1= acceso
Codice a 7 segmenti
Codici ridondanti e non ridondanti a
f b
Codici ridondanti
g
8
n > nmin
7 e c
non ridondanti nmin = lg2 M
6
Codici d
n: n° di bit
5
4
3
Universal Product Code
a b c d e f g 0 1 2 3 4
2
1
0
2 22 42 62 5 6 7 8 9
M: n° di informazioni
4
La codifica Morse
Codici proprietari e standard
t0 t1 t2 t3 t0 t1 t2 t3
Codice proprietario - Codice fissato da un Costruttore per mettere E D Caratteristiche:
in comunicazione apparati da lui realizzati T F
A H •Lunghezza variabile
• L’uso di codici proprietari ottimizza le prestazioni e protegge il I B
mercato di certe apparecchiature. N X •Stringhe separate da pause
M V
Esempi: Linguaggio Assembler, Periferiche, Telecomando TV O C
S Y
R L
Codice standard - Codice fissato da norme internazionali ( de iure ) G J •Efficiente per l’uso da
o dal costruttore di una macchina utile per tutti gli altri ( de facto ). W Z parte di operatori umani
U Q
• L’uso di codici standard nelle unità di I/O consente di collegare
K P •Difficoltoso il progetto di
macchine fatte da costruttori diversi
ricetrasmettitori automatici
Esempi: Stampanti e Calcolatori, Calcolatori e Calcolatori
0000 SP 0 @ P ' p
0001 ! 1 A Q a q
0010 " 2 B R b r
0011 # 3 C S c s
0100 $ 4 D T d t
La codifica 0101
0110
%
&
5
6
E
F
U
V
e
f
u
v
dei testi 0111 ' 7 G W g w
1000 ( 8 H X h x
1001 ) 9 I Y i y
1010 * : J Z j z
1011 + ; K [ k {
1100 , < L \ l |
1101 - = M ] m }
1110 . > N ^ n ~
1111 / ? O _ o DEL
5
Codice ASCII esteso (8 bit)
3 bit Trascodifica
8 conf.
5 bit : 32 configurazioni
Font
Il codice interno è di norma non ridondante per minimizzare il n° di bit
da elaborare e da memorizzare.
Il codice esterno è di norma ridondante, per semplificare la generazione
e la interpretazione delle informazioni, e standard, per rendere possibile
Matrice di pixel: ad es. 8x8 la connessione di macchine (o unità di I/O) fatte da Costruttori diversi.
6
Input/output di un ascensore
La calcolatrice tascabile
Presenza
al piano Display 3
(Encoder) di cabina
Codice M=5 2
ELABORAZIONE (Decoder)
ridondante nmin = 3 1
controllo
per la movimento M=5
Pulsanti T
Codice C cabina nmin = 3
visualizzazione di chiamata
BCD C e
dei dati (Encoder)
apertura/chiusura
per la C M=5
porte
rappresentazione nmin = 3
Codice C
interna Indicazione
ridondante dei numeri di presenza
3 Pulsantiera
per la (Decoder)
in cabina
introduzione 2 (Encoder)
M=5
dei dati e 1 M=5
nmin = 3
dei comandi nmin = 3
T
y7 x2 x1 x0 y7 y6 y5 y4 y3 y2y1 y0
memoria video font/bit-map DECODER
y6 0 0 0 0 0 0 0 0 0 0 1
x2
y5 0 0 1 0 0 0 0 0 0 1 0
x1 trascod.
y4 0 1 0 0 0 0 0 0 1 0 0
schermo Riga- Colonna - Colore da binario
0 1 1 0 0 0 0 1 0 0 0
x0 y3
a 1 su 8
y2 1 0 0 0 0 0 1 0 0 0 0
y1 1 0 1 0 0 1 0 0 0 0 0
y0 1 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0
7
Il sistema di numerazione in base 2
(il caso dei numeri naturali < 2n)
n bit
bn-1 bn-2 b1 b0 (N)2 = bn-1 .2n-1 + bn-2 .2n-2 + …+ b0 .20
000 0 0
rn rn-1 rn-2 r1 0
001 0 1
2) Valore: an-1 an-2 a1 a0 + 010 0 1
011 1 0
bn-1 bn-2 b1 b 0 100 0 1
(N)B = (an-1 .Bn-1 + …+ a0 .B0 + a-1 .B-1 + a-2 .B-2 + … a-m .B-m)
101 1 0
sn sn-1 sn-2 s1 s0 110 1 0
111 1 1
8
Sottrazione (borrow) Moltiplicazione (shift and add)
0-0 = 0 pi y3 y2 y1 y0 ×
0-1 = n.a. ai Full di
1-0 = 1 bi Subtracter pi+1 x3 x2 x1 x0
1-1 = 0
pi ai bi pi+1 di x0y3 x0y2 x0y1 x0y0
9
Conversioni da base 2 a base 10 Altri sistemi binari di numerazione
ESEMPIO: 100110
0+ • Sistema esadecimale: B =16
2+ cifre: 0,1,..,9,a,b,c,d,e,f
4+ codice binario: 0 = 0000, 1 = 0001, …, f = 1111
Conversione da base 2 a base 10
0+ n° di bit per cifra: 4
(N)10 = (bn-1 .2 + bn-2 .2 + … + b1 .2 + b0 .2 )10
n-1 n-2 1 0
0+
32 = • Sistema decimale: B = 10,
38 cifre: 0, 1, …,9
codice BCD: 0 = 0000, …, 9 = 1001
n° di bit per cifra: 4
Osservazione:
(N)10 = (bn-1 .2n-1 + bn-2 .2n-2 + … + b1 .21 + b0 .20)10 • Sistema ottale: B = 8,
(N)10/2= (bn-1 .2n-2 + bn-2 .2n-3 + … + b1 .20) + (b0 .2-1)10 cifre: 0, 1, …,7
= Q + R. 2-1 codice OCTAL: 0 = 000, …, 7 = 111
n° di bit per cifra: 3
NO SI fine
i = i+1 A=0
10
Modalità di trasmissione dei bit:
le unità di conversioni S/P e P/S
Elaborazione
trasmis. Convertitore Convertitore trasmis.
in serie S/P P/S in serie
trasmissione
in parallelo
Modalità
11
La serializzazione di due bit La distribuzione di due bit
u0
a i0 i1 u f0 a f0 f1
i0 0 0 0 0 i 0 1 0
0M D0
U u 0 0 1 0 E 1 0 1
i1 X 0 1 0 1 C 1 f1
1 u1
a 0 1 1 1
1 0 0 0 a
1 0 1 1
Contatore 1 1 0 0 Il Decoder genera 2 “flag di validità”, di cui
con 2 stati 1 1 1 1 uno solo alla volta ha valore 1.
Contatore
L’uscita che riceve tale valore è la
con 2 stati
se a=0 allora u=i0 destinazione del bit d’ingresso i
altrimenti u=i1
0 b0
1 b1
2 b2
3 b3
b0 b1 b2 b3 b4 b5 b6 b7 4 b4
5 b5 Protocolli
6 b6
7 b7
Contatore
con 8 stati
12
Modalità di controllo (ASCII a 7 bit) : Comunicazione asincrona di un byte:
codifica dei comandi e protocollo di scambio il protocollo RS232
0
telescrivente Comandi per il protocollo telescrivente
dato 1 bit
Selettore
000 001 Esempio: sorgente destinazione p a 12 vie Dispositivo
0000 NUL DLE 1
BEL 1 periferico
0001 SOH DC1
0010 STX DC2 ENQ
0011 ETX DC3 SOH
0100 EOT DC4 . Tx Contatore
0101 ENQ NAK .
0110 ACK SYN con 12 stati N.B. devono
LF operare “quasi”
0111 BEL ETB
1000 BS CAN CR Porta seriale allo stesso ritmo!
1001 HT EM STX
1010 LF SUB .
1011 VT ESC
1100 FF FS .
EOT Riposo Start I° bit II° bit . . . VIII° bit Parità Stop
1101 CR GS
1110 SO RS ACK/NAK
1111 SI US tempo
Comunicazione asincrona:
Sincronizzazione protocollo a stretta di mano
La destinazione deve sapere in quali istanti di tempo i valori
presenti sul canale sono significativi. segnale di richiesta
Si hanno due casi: Sorgente segnale di conferma Destinazione
o o
“accoppiamento stretto” “accoppiamento lasco” cliente segnali di dato servitore
req
ack
S D S D
dato risul.
13
Codici separabili: rilevazione di errori
bit di informazione bit di controllo
(information bits) (check bits)
2.3 I
Protezione
F
dell’informazione C
F
C R C bit di
F sindrome
Tx Rx d’errore
14
Distanza minima di un codice
Distanza fra due configurazioni binarie di n bit: D(A,B) -
Numero di bit omologhi che hanno valore diverso.
Esempio:
p=1% n P0 P1 P2 P3
N.B. molto alto! 8 92,27 % 7,46 % 0,26 % 0,005 % • Un codice per la rilevazione di modifiche su k bit deve
16 85.14 % 13,76 % 1,04 % 0,049 % avere almeno DMIN = k+1 .
15
Il bit di parità : una semplice modalità
per ottenere la rilevazione di errori singoli
Bit di parità p - bit che la sorgente aggiunge ad una stringa di bit di
codifica al fine di renderne pari il n° di “uni”.
Errore di parità e - bit che la destinazione pone a 1 se e solo se riceve
una configurazione con un numero dispari di “uni”.
Codici con
correzione
x1
0
x2
0
p
0
x1
0
x2
0
p
0
e
0
di errori
0 1 1 0 0 1 1
1 0 1 0 1 0 1
1 1 0 0 1 1 0
1 0 0 1
Codice con 1 0 1 0
1 1 0 0
DMIN = 2 1 1 1 1
x1
x2
000 001 000 001
confronto
Tx trasmette Se P1>> P2 ogni configurazione
p = F(x1, x2) e = F(x1, x2, p) o NO = 000 o SI = 111 errata può essere corretta
= F(F(x1, x2), p)
•Funzione composta
A causa dei disturbi Rx può
•Disposizione in serie
ricevere una terna qualsiasi
16
Il codice di Hamming
Distanza minima e correzione degli errori Stringa ricevuta
i1 t3 r3
i2 t5 r5
Il codice dell’esempio precedente ha DMIN=3. i3 t6 r6
i4 t7 r7
t1 r1
• Ogni SECC (Single Error Correction Code) deve avere Bit di controllo t2 r2
c1 t4 r4
DMIN ≥ 3. da aggiungere
c2 Bit di sindrome
c1 = F(i1, i2, i4) s1
c2 = F(i1, i3, i4 ) c3 da calcolare
• Un codice con DMIN = 2k+1 rileva 2k errori e può correggerne Stringa s2
c3 = F(i2, i3, i4 ) s1 = F(r3, r5, r7, r1)
fino a k . Trasmessa s2 = F(r3, r6, r7, r2 ) s3
il bit errato è ri con i = (s3 s2 s1)2 s3 = F(r5, r6, r7, r4)
Di solito si corregge un solo bit e si usa la ridondanza introdotta
per valutare la “qualità” del canale (manutenzione/sostituzione) ES.: I = 0001 R=0011
c1 = 1 s1 = 0
c2 = 1 s2 = 1
c3 = 1 s3 = 1
I
correzione
F
C
F
C R C bit di
F
sindrome
Tx Rx d’errore
Le 2C configurazioni delle sindromi di errore devono indicare
se non c’è errore (1 situazione) e se c’è, dov’è (I + C situazioni).
17