CHECKSUM: RILEVAZIONI ERRORI
I principali metodi di rilevazioni di errori sono 3: CRC, CHECKSUM ed HAMMING ma ci siamo mai chiesti in che modo nascono questi errori?
DOVE NASCONO GLI ERRORI?
Quando avviene uno scambio di informazioni tra l’elaboratore e la memoria attraverso i fili paralleli (BUS), il segnale trasmesso può essere soggetto a rumori e quindi si può sovrapporre creando un bit errato. In caso vi sia la presenza di ERRORE questo può esser trattato in 4 modi diversi:
- Il messaggio viene scartato.
- Viene richiesta la trasmissione del messaggio.
- Viene migliorata la qualità del canale.
- L’errore viene cercato di correggerlo
CHECKSUM
Come funziona CHECKSUM?
Per riuscire a correggere l’errore mediante un codice di parità è necessario utilizzare il sistema di controllo della parità incrociata. Si introduce in coda alla trasmissione di un blocco di n dati un byte, chiamato byte di checksum, che viene calcolato eseguendo l’operazione di XOR su tutti i byte costituenti il blocco-dati da trasmettere.
- Questo metodo prende anche il nome di controllo di parità longitudinale LRC(Longitudinal Redundancy Check)
- il bit di parità descritto precedentemente è detto anche controllo di parità trasversale o VRL
ESEMPIO
- Supponiamo che durante la trasmissione un bit del Dato3 si sporchi
Alla ricezione il controllo di parità trasversale ci segnala la presenza dell’errore sul Dato3 senza però indicarne la posizione.
- Alla fine della trasmissione dei dati il controllo “verticale” ci segnala la presenza di un errore nel bit b5, dato che il numero di 1 è dispari
Dall’ intersezione tra la riga e la colonna individuiamo il bit che si è sporcato => siamo quindi in grado di correggere un errore
DIFETTI CHECKSUM
Se gli errori crescono non sono più rilevabili ed è necessario aumentare la distanza minima di Hamming introducendo ulteriori bit di ridondanza.
Per esempio, in presenza di due errori ci troviamo in questa situazione:
In questo caso però non siamo in grado di correggere perché entrambe le correzioni portano a configurazioni legittime e quindi generano un’ambiguità nella correzione.