Bellek tutarlılığı, bir işlemci bir bellek sektörüne bakmaya çalıştığında bilgisayarda meydana gelen bir sorundur. Bu sorun yalnızca çok çekirdekli sistemlerde veya birden fazla merkezi işlem birimine (CPU) sahip bilgisayarlarda ortaya çıkar. Birden fazla işlemci aynı bellek sektörüne baktığında ve biri sektörü güncellediğinde, diğeri bilgisayar belleğinin eski bir sürümüyle bırakılabilir. Bu sorunu çözmek için, işlemcilerin ya aynı belleğe erişmemesini ya da güncellemelerin aralarında tutarlı olmasını sağlamak için tutarlılık kuralları kullanılır. Birkaç farklı tutarlılık modeli vardır, bu nedenle programcılar ve bilgisayar geliştiricileri kullanılan tam modeli bilmelidir.
Bellek tutarlılığı sorunu, belleğe nasıl eriştikleri nedeniyle yalnızca en az iki CPU kullanan bilgisayarlarda ortaya çıkan bir problemdir. Bir CPU bir hafıza sektörüne eriştiğinde, herhangi bir çakışma olmadan hafızayı alabilir, kullanabilir ve değiştirebilir, çünkü hafıza için rekabet eden başka bir donanım parçası yoktur. İki CPU kullanılıyorsa, iki CPU aynı bellek sektörünü kapabilir. Belleği paylaşan iki CPU ile ilgili herhangi bir sorun olmasa da, bir CPU belleği güncellerse bir problem ortaya çıkar. Bu, ikinci CPU'yu, denetlenmezse bırakılması durumunda tüm bilgisayarın bilgisayar belleğinin iki ayrı ve birbiriyle çakışan sürümüne sahip olmasına neden olabilecek eski bellek ile bırakır.
Özellikle bellek tutarlılığını düzeltmek için özel olarak yapılmış programlama şemaları vardır ve bunlar büyük bir sorun olabilir. Topluca hafıza tutarlılığı kuralları olarak bilinir ve birçok versiyonları vardır. Genel olarak, her sürüm birden fazla CPU'ya bilgisayar tutarlılığı sorununa neden olmadan bilgisayar belleğini nasıl düzgün şekilde paylaşacağını söyler. Bu, bir sürüm değiştirildiğinde belleğin her iki versiyonunu güncelleyerek veya CPU'ların aynı hafızaya aynı anda erişmesini önleyerek yapılabilir.
Tutarlılık kuralları kullanmak hafıza tutarlılık probleminden kaçınmaya yardımcı olurken, başka bir problem bundan kaynaklanıyor. Her tutarlılık kümesinin farklı programlama ve farklı kuralları vardır, bu nedenle doğrudan CPU'larla ilgilenen programlar yapan veya kod yazan programcılar kodlamayı kesin tutarlılık kuralları için uyarlamak zorunda kalacaklardır. Aksi takdirde, bu tutarlılığı geçersiz kılabilir veya programcının kodlaması ile tutarlılık kuralları arasında büyük bir çatışmaya neden olabilir ve bilgisayar işlevini bırakabilir.


