Pariteitsfouten in het geheugen worden gedetecteerd met behulp van een eenvoudige pariteitsbit. Hier is hoe het werkt:
1. Berekening van pariteitsbits: Wanneer gegevens naar het geheugen worden geschreven, wordt voor elke byte (of woord, afhankelijk van de systeemarchitectuur) een pariteitsbit berekend. Deze bit wordt ingesteld op 0 of 1 om het totale aantal enen in de byte (inclusief de pariteitsbit) even (even pariteit) of oneven (oneven pariteit) te maken. Het systeem gebruikt consequent even of oneven pariteit.
2. Geheugenopslag: De pariteitsbit wordt samen met de databyte in het geheugen opgeslagen.
3. Pariteitscontrole bij lezen: Wanneer gegevens uit het geheugen worden gelezen, herberekent het systeem de pariteitsbit op basis van de opgehaalde gegevens.
4. Foutdetectie: Dit herberekende pariteitsbit wordt vervolgens vergeleken met het opgeslagen pariteitsbit. Als ze verschillend zijn, wordt er een pariteitsfout gedetecteerd. Dit geeft aan dat ten minste één bit in de gegevens is omgedraaid (gewijzigd van 0 naar 1 of omgekeerd).
Voorbeeld (even pariteit):
Laten we zeggen dat we de databyte `10110100` hebben.
* Aantal 1's:4 (even)
* Even pariteitsbit:0 (om het totale aantal 1s even te houden)
* Opgeslagen in het geheugen:`101101000`
Als een bit omdraait tijdens het opslaan of ophalen en we lezen '101101100', zou de herberekende pariteit 1 zijn (vijf 1s), wat niet overeenkomt met de opgeslagen pariteitsbit (0). Dit duidt op een pariteitsfout.
Beperkingen:
* Alleen single-bit foutdetectie: Pariteitscontrole kan slechts een *oneven* aantal bitfouten detecteren. Als twee bits omdraaien, is de pariteit nog steeds correct, wat resulteert in een niet-gedetecteerde fout.
* Foutlocatie niet geïdentificeerd: Pariteit detecteert alleen de *aanwezigheid* van een fout, niet de *locatie* binnen de byte. Foutcorrectie vereist meer geavanceerde technieken zoals ECC (Error Correction Code).
Hoewel eenvoudig, is pariteitscontrole een kosteneffectieve manier om een aanzienlijk deel van de geheugenfouten te detecteren, waardoor het een veelvoorkomend kenmerk is in veel geheugensystemen. Er worden robuustere foutdetectie- en correctiemethoden gebruikt waar een hogere betrouwbaarheid cruciaal is (zoals bij servers en high-performance computing). |