Concetti Chiave
- Le memorie dei calcolatori possono essere classificate in volatili, persistenti, on-line e off-line, ognuna con funzioni specifiche nella gestione delle informazioni.
- La distanza di Hamming misura il numero di bit diversi tra due parole di codice e determina la capacità di identificare e correggere errori nella memorizzazione.
- Per correggere d errori in una parola di codice, è necessario un codice con distanza di almeno 2d+1, mentre per identificarli basta una distanza di d+1.
- Il codice di correzione più semplice utilizza un bit di parità che permette di identificare errori di un bit, ma non di correggerli, con una distanza di Hamming di 2.
- Gli errori nella memorizzazione possono derivare da picchi di tensione, ma l'uso di codici di correzione degli errori aiuta a prevenire questi problemi.
Memorie = componenti del calcolatore che memorizzano informazioni: dati, programmi e risultati.
Ogni calcolatore usa diversi tipi di memoria diversi per scopi diversi:
- volatile = l’informazione rimane memorizzata fino a quando il calcolatore è alimentato
- persistente = l’informazione rimane memorizzata anche quando il calcolatore non è alimentato
- on-line = i dati sono sempre accessibili
- off-line = per accedere ai dati il supporto deve essere montato
Errori di memorizzazione
La memorizzazione a volte può contenere errori a causa di picchi o difetti di tensione elettrica, questi possono essere prevenuti usando codici di correzione degli errori.
Distanza di Hamming = numero di bit corrispondenti che differiscono in due parole
Parola di codice = insieme di bit n formato da m bit di dati (parola) e r bit di controllo
Se due parole di codice hanno distanza di Hamming H servono H errori per convertire una nell’altra. Usando parole di codice di n bit con m bit di dati solo 2m delle 2n possibili combinazioni di bit sono valide.
Il calcolatore identifica la presenza di un errore quando leggendo una parola ne incontra una non valida rispetto al codice di correzione degli errori utilizzato.
Distanza di Hamming di un codice di correzione = minima distanza tra tutte le parole di codice valide
- per individuare d errori di un bit serve un codice con distanza d+1
- per correggere d errori di un bit serve un codice con distanza 2d+1
Codice di correzione
Il codice di correzione più semplice è quello che usa un bit di parità:
- ad ogni parola viene aggiunto un bit di controllo
- il bit di controllo vale 1 se il numero di bit 1 è dispari
- il bit di controllo vale 0 se il numero di bit 1 è pari
Distanza di Hamming di questa tecnica è 2, non permette di correggere nessun errore ma identifica errori di un bit.
Domande da interrogazione
- Qual è la differenza tra memoria volatile e memoria persistente?
- Come si può prevenire gli errori di memorizzazione?
- Qual è la funzione del bit di parità nel codice di correzione?
La memoria volatile conserva le informazioni solo quando il calcolatore è alimentato, mentre la memoria persistente mantiene i dati anche quando il calcolatore è spento.
Gli errori di memorizzazione possono essere prevenuti utilizzando codici di correzione degli errori, che identificano e correggono le informazioni errate.
Il bit di parità viene aggiunto a ogni parola per identificare errori di un bit, segnando 1 se il numero di bit 1 è dispari e 0 se è pari, ma non consente di correggere errori.