Tag Archives: Bit di Parità

Bit di Controllo (o Parità): funzionamento e spiegazione

Esercizio: Ricavare la parola di memoria contenente i bit di controllo (parola di codice) dalla parola a 8 bit 11000110:

Parola di memoria: 11000110

Per parole di 8 bit si utilizzano 4 bit di controllo che andranno a inserirsi nelle posizioni potenze di 2  da 1 fino a 2n-1 dove n equivale al numero di bit di controllo; quindi in questo caso le posizioni dei bit di controllo saranno 1(20),2(21),4(22),8(23). Per questo la parola di memoria diventerà di questa forma:

N° bit 1 2 3 4 5 6 7 8 9 10 11 12
Parola _ _ 1 _ 1 0 0 _ 0 1 1 0

Ora si deve capire quali valori dare ai bit di controllo; si darà valore 1 se il numero dei bit controllati dallo stesso che hanno valore 1 è dispari; si darà valore 0 se questo numero è pari. Perciò si guarda quali bit vengono controllati dai bit di controllo. “In generale il bit di posto b è controllato dai bit b1,b2,….,bj tali che b1 + b2 + … + bj = b. Per esempio il bit 5 è controllato dai bit 1 e 4 dato che 1 + 4 = 5. Il bit 6 è controllato dai bit 2 e 4 in quanto 2 + 4 = 6, e così via” (libro).

Bit 1: 1,3,5,7,9,11
Bit 2: 2,3,6,7,10,11
Bit 4: 4,5,6,7,12
Bit 8: 8,9,10,11,12

Poiché il numero di bit settati a 1 è 3 (dispari), al bit 1 assegneremo il valore 1. Bit 1 = 1

Si procede così per gli altri 3 bit.Poiché il numero di bit settati a 1 è 3 (dispari), al bit 1 assegneremo il valore 1. Bit 1 = 1
Bit 2 = 1

Bit 4 = 1

Bit 8 = 0

La parola si presenterà quindi in questa forma definitiva:

N° bit 1 2 3 4 5 6 7 8 9 10 11 12
Parola 1 1 1 1 1 0 0 0 0 1 1 0

Esercizio 2: Controllare la parola di memoria 111110100110 ed identificare se qualche bit è stato modificato da un errore di sistema. (ho usato la stessa parola dell’esercizio precedente prima ma dovete considerare che non conoscete la parola di partenza, quella giusta)

N° bit 1 2 3 4 5 6 7 8 9 10 11 12
Parola 1 1 1 1 1 0 1 0 0 1 1 0

(come potete vedere ho modificato il bit 7, vediamo però di riuscire a scoprirlo )

Bisogna semplicemente controllare i bit di controllo.

Bit 1 = 1 quindi ci aspettiamo un numero dispari di bit settati a 1 fra quelli controllati dal bit 1.

N° bit 3 5 7 9 11
Parola 1 1 1 0 1

Il numero di bit settati a 1 è pari, perciò il bit modificato è uno fra questi. Sono ancora 5 quindi adesso dovremo andare a restringere il campo. Perciò andiamo a controllare il bit di controllo 2 che controlla ben 3 di questi 5 bit. Poiché il bit 2 è settato a 1 ci aspettiamo un numero dispari di bit settati a 1.

N° bit 3 6 7 10 11
Parola 1 0 1 1 1

Invece sono 4 i bit settati a 1; questo restringe il campo a 3 bit (3,7,11).

Andando ora a controllare il bit di controllo 4, sapremo se il bit 7 è quello errato o è uno fra il bit 3 e il bit 11.

Il bit 4 è settato a 1 quindi ci aspettiamo ancora un numero dispari di bit settati a 1.

N° bit 5 6 7 12
Parola 1 0 1 0

Il numero di bit settati a 1 è 2. Perciò poiché i bit 3 e 11 non sono controllati dal bit di controllo 4 possiamo affermare che il bit alterato dall’errore è il bit 7.

Avvertenza 1: se trovate un solo caso in cui il valore del bit di controllo non combacia con la situazione dei bit settati a 1 allora il bit alterato sarà proprio il bit di controllo in questione.

Avvertenza 2: scrivete sempre il numero del bit sopra al valore perché sennò vi risulterà faticoso e difficile andare ogni volta a controllare il numero dei bit settati a 1.

Guida realizzata da Angelo Velardi