Кохерентност меморије

Из Википедије, слободне енциклопедије
Emblem-important-yellow.svg Ова страница би требало да спада у једну или више категорија.
Молимо вас да је категоришете како би могла да се повеже са сличним страницама.
Уклоните ову поруку након категоризације странице.

Кохерентност меморије је проблем који утиче на дизајн рачунарских система у којима више процесора или језгара деле заједнички део меморије.

У једнопроцесорском систему где у данашњим терминима постоји само једно језгро, постоји само један процесуирајући елемент који ради цео посао и тако само један елемент који може да чита или пише са-на дате меморијске локације. Као резултат, када се вредност промени, следеће операције читања кореспондирајуће меморијске локације ће видети ажурирану вредност, чак иако је кеширана.

Супротно томе, у вишепроцесорским и вишејезграним системима се налазе више процесуирајућих елемената који раде у исто време и зате је могуће да они истовремено приступе истим меморијским локацијама. Под претпоставком да ниједан од њих не мења податке на овој локацији, они могу да деле неодређено и сацувају како који жели. Али чим један анализира локацију, други би могли да раде на истеклој копији која борави у локалном кешу. Због тога је потребна шема да обавести процесуирајуће елементе на измене код подељених врендости. Таква шема је позната као протокол кохерентне меморије и ако је тај протокол на функцији, каже се да систем има кохерентну меморију.

Тачно значење кохерентности меморије одређује доследност модела којег протокл имплементира. Програмери морају да пазе на доследност модела у својим системима у циљу да напишу коректне програме.

Када се имплементира у хардверу, протокл може да буде директно базиран или да користи њушкање. Примери таквих протокола су MSI протокол и изведени из њега MESI, MOSI i MOESI.