În calcul, o barieră de memorie este un tip de restricție de ordonare care ajută la echilibrarea cererii de memorie disponibilă pentru procesarea diferitelor comenzi și funcții. Cunoscută și sub denumirea de „membar” sau „gard de memorie”, ideea este de a crea un fel de ordine ierarhică sau progresie la toate sarcinile în așteptare care au legătură cu utilizarea acelei memorie. Acest lucru face posibilă executarea acelor sarcini într-o secvență logică și previne posibilitatea supraîncărcării memoriei, lucru care ar putea deteriora permanent capacitatea de memorie a sistemului.
În practica reală, o barieră de memorie este o clasă sau un set de instrucțiuni care sunt concepute pentru a preveni utilizarea memoriei disponibile într-un fel care ar putea submina funcționarea reală a acelei memorie. Deoarece bariera sau gardul se bazează pe hardware, aceasta înseamnă că este de obicei asociată cu funcția unității centrale de procesare (CPU) sau a unui alt dispozitiv. Acest lucru poate fi adesea necesar atunci când memoria servește mai mult de o singură mașină sau dispozitiv și accesul la acea memorie trebuie să fie alocat într-un fel logic. Fără a crea acest tip de barieră de memorie pentru a menține funcțiile într-o secvență logică, posibilitatea ca diverse sarcini să fie executate în dezordine și poate chiar deteriorarea datelor stocate este mult îmbunătățită.
Termenul în sine indică ceea ce se întâmplă de fapt. Un gard îndeplinește de obicei două funcții în același timp, păstrând ceva în interior și împiedicând, de asemenea, ceva din exterior să intre în spațiu, cu excepția unui fel de poartă. În acest fel, accesul la orice se află înăuntru este controlat de un gardian. Cu o barieră de memorie, instrucțiunile funcționează ca acel gatekeeper, permițând accesul la memorie doar conform instrucțiunilor ordonate. Rezultatul final este că datele sunt accesate într-un mod logic, sarcinile sunt îndeplinite cu acuratețe, iar potențialul de supraîncărcare este menținut în limite rezonabile.
Necesitatea unui fel de barieră de memorie a devenit din ce în ce mai evidentă pe măsură ce sistemele informatice devin mai puternice și sunt folosite pentru a conduce o gamă mai largă de dispozitive externe care se bazează pe memorie pentru funcționarea lor. Când clasa de instrucțiuni utilizată pentru barieră este pregătită corespunzător, hardware-ul va răspunde în consecință și toate dispozitivele vor funcționa așa cum ar trebui. În cazul în care bariera ar trebui să se spargă sau să înceteze să funcționeze, problemele de executare chiar și cele mai simple comenzi pot deveni extrem de dificile.