Пређи на садржај

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

С Википедије, слободне енциклопедије

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

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

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

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

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

Референце

[уреди | уреди извор]
  1. ^ Censier, L.M.; Feautrier, P. (1978). „A New Solution to Coherence Problems in Multicache Systems”. IEEE Transactions on Computers. IEEE. C—27 (12): 1112—18. doi:10.1109/TC.1978.1675013. 
  2. ^ Smith, Alan Jay (1982). „Cache Memories”. ACM Computing Surveys. ACM. 14 (3): 473—530. doi:10.1145/356887.356892. Приступљено 2011-02-25. 
  3. ^ Li, Kai; Hudak, Paul (1989). „Memory coherence in shared virtual memory systems”. Transactions on Computer Systems. ACM. 7 (4): 321—59. doi:10.1145/75104.75105. Приступљено 2011-02-25. 
  4. ^ Stenstrom, Per (1990). „A survey of cache coherence schemes for multiprocessors”. IEEE Computer. IEEE. 23 (6): 12—24. doi:10.1109/2.55497.