Geheugencoherentie

Geheugencoherentie is een wenselijke toestand waarbij overeenkomstige geheugenlocaties voor elk verwerkingselement in een multi-core processor steeds dezelfde cachegegevens bevatten. Zonder geheugencoherentie kunnen programma's nadelig worden beïnvloed.

In multi-core processoren werken twee of meer verwerkingselementen gelijktijdig. Af en toe zullen zij gelijktijdig dezelfde geheugenlokatie benaderen. Zolang geen van de verwerkingselementen de gegevens op de betreffende locatie wijzigt, kunnen al die elementen de gegevens zonder problemen delen en cachen. Maar als een van de verwerkingselementen de gegevens op de gedeelde locatie wijzigt en de anderen niet van de wijziging op de hoogte stelt, zouden de andere elementen de verouderde versie van de gegevens kunnen gebruiken die in hun lokale caches blijft.

In een multi-core verwerkingssysteem stelt een zogenaamd geheugencoherentieprotocol alle verwerkingselementen op de hoogte van wijzigingen in gedeelde waarden, en zorgt er zo voor dat alle kopieën van de gegevens consistent blijven.