Когерентність кешу (англ. Cache coherence) - це властивість кешу, що означає цілісність даних, що зберігаються в локальних кешах для роздільного ресурсу. Когерентність кешу - окремий випадок когерентності пам'яті.
Коли клієнти в системі використовують кешування загальних ресурсів, наприклад, пам'яті, можуть виникнути проблеми з суперечливістю даних. Це особливо справедливо по відношенню до процесорів в багатопроцесорній системі. На малюнку «Кеш для ресурсу пам'яті» зображено, що клієнт у верхній частині має копію блоку пам'яті з попереднього читання, а нижній клієнт змінює блок пам'яті, копія даних в кеші верхнього клієнта стає застарілою, якщо не використовуються будь-які повідомлення про зміну або перевірки змін. Когерентність кешу призначена для управління такими конфліктами і підтримкою відповідності між різними кешами.
Визначення
Когерентність визначає поведінку читань і записів в одному і тому ж місці пам'яті. Кеш називається когерентним, якщо виконуються наступні умови:
- Якщо процесор Р записує значення в змінну Х, то при наступному зчитуванні Х він повинен отримати раніше записане значення, якщо між записом і читанням Х інший процесор не здійснював запис в Х. Це умова пов'язана із збереженням порядку виконання програми, це повинно виконуватися і для однопоточної архітектури.
- Операція читання Х процесором , наступна після того, як інший процесор здійснив запис в Х, повинна повернути записане значення, якщо інші процесори не змінювали Х між двома операціями. Ця умова визначає поняття когерентної видимості пам'яті.
- Записи в одну і ту ж комірку пам'яті повинні бути послідовними. Іншими словами, якщо два процесори записують у змінну Х два значення: А, потім В - не повинно трапитися так, щоб при зчитуванні процесор спочатку отримував значення В, а потім А.
У цих умовах передбачається, що операції читання і запису відбуваються миттєво. Однак цього не відбувається на практиці через затримки пам'яті та інших особливостей архітектури. Зміни, зроблені процесором , можуть бути не видно процесору , якщо читання відбулося через дуже маленький проміжок часу після запису. Модель консистентності пам'яті визначає, коли записане значення буде видно при читанні з іншого потоку.
Механізми когерентності кешів
- Когерентність з використанням довідника ( directory ). Інформація про стан блоку фізичної пам'яті міститься тільки в одному місці, званому довідником (фізично довідник може бути розподілений по вузлах системи).
- Когерентність з використанням відстеження (snooping). Кожен кеш, який містить копію даних деякого блоку фізичної пам'яті, має також відповідну копію службової інформації про його стан. Централізована система записів відсутня. Зазвичай кеші розташовані на загальній (що розділяється) шині і контролери всіх кешів спостерігають за шиною (переглядають її) для визначення того, чи не містить вона копію відповідного блоку.
- Перехоплення (snarfing). Коли з одного кешу дані переписуються в оперативну пам'ять, контролери інших отримують сигнал про цю зміну ( "перехоплюють" інформацію про зміну даних) і, якщо необхідно, змінюють відповідні дані в своїх кешах.
Системи розподіленої пам'яті, що використовують схожі механізми для підтримки коректності <! - Consistency -> між блоками пам'яті в слабкозв`язаних системах.
Протоколи підтримки когерентності
Протоколи підтримки когерентності відповідають за підтримання коректності даних між усіма кешами в системі з . Протокол підтримує когерентність пам'яті відповідно до обраної моделі (consistency model). Більшість апаратних протоколів в мікропроцесорах відповідають моделі sequential consistency, а програмні протоколи в системах software distributed shared memory частіше відповідають моделям [en] або [en].
[en]
[en]
Література
- Handy, Jim. The Cache Memory Book. Academic Press, Inc., 1998.
Див. також
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Kogerentnist keshu angl Cache coherence ce vlastivist keshu sho oznachaye cilisnist danih sho zberigayutsya v lokalnih keshah dlya rozdilnogo resursu Kogerentnist keshu okremij vipadok kogerentnosti pam yati Koli kliyenti v sistemi vikoristovuyut keshuvannya zagalnih resursiv napriklad pam yati mozhut viniknuti problemi z superechlivistyu danih Ce osoblivo spravedlivo po vidnoshennyu do procesoriv v bagatoprocesornij sistemi Na malyunku Kesh dlya resursu pam yati zobrazheno sho kliyent u verhnij chastini maye kopiyu bloku pam yati z poperednogo chitannya a nizhnij kliyent zminyuye blok pam yati kopiya danih v keshi verhnogo kliyenta staye zastariloyu yaksho ne vikoristovuyutsya bud yaki povidomlennya pro zminu abo perevirki zmin Kogerentnist keshu priznachena dlya upravlinnya takimi konfliktami i pidtrimkoyu vidpovidnosti mizh riznimi keshami ViznachennyaKogerentnist viznachaye povedinku chitan i zapisiv v odnomu i tomu zh misci pam yati Kesh nazivayetsya kogerentnim yaksho vikonuyutsya nastupni umovi Yaksho procesor R zapisuye znachennya v zminnu H to pri nastupnomu zchituvanni H vin povinen otrimati ranishe zapisane znachennya yaksho mizh zapisom i chitannyam H inshij procesor ne zdijsnyuvav zapis v H Ce umova pov yazana iz zberezhennyam poryadku vikonannya programi ce povinno vikonuvatisya i dlya odnopotochnoyi arhitekturi Operaciya chitannya H procesorom P 1 displaystyle P 1 nastupna pislya togo yak inshij procesor P 2 displaystyle P 2 zdijsniv zapis v H povinna povernuti zapisane znachennya yaksho inshi procesori ne zminyuvali H mizh dvoma operaciyami Cya umova viznachaye ponyattya kogerentnoyi vidimosti pam yati Zapisi v odnu i tu zh komirku pam yati povinni buti poslidovnimi Inshimi slovami yaksho dva procesori zapisuyut u zminnu H dva znachennya A potim V ne povinno trapitisya tak shob pri zchituvanni procesor spochatku otrimuvav znachennya V a potim A U cih umovah peredbachayetsya sho operaciyi chitannya i zapisu vidbuvayutsya mittyevo Odnak cogo ne vidbuvayetsya na praktici cherez zatrimki pam yati ta inshih osoblivostej arhitekturi Zmini zrobleni procesorom P 1 displaystyle P 1 mozhut buti ne vidno procesoru P 2 displaystyle P 2 yaksho chitannya vidbulosya cherez duzhe malenkij promizhok chasu pislya zapisu Model konsistentnosti pam yati viznachaye koli zapisane znachennya bude vidno pri chitanni z inshogo potoku Mehanizmi kogerentnosti keshivKogerentnist z vikoristannyam dovidnika directory Informaciya pro stan bloku fizichnoyi pam yati mistitsya tilki v odnomu misci zvanomu dovidnikom fizichno dovidnik mozhe buti rozpodilenij po vuzlah sistemi Kogerentnist z vikoristannyam vidstezhennya snooping Kozhen kesh yakij mistit kopiyu danih deyakogo bloku fizichnoyi pam yati maye takozh vidpovidnu kopiyu sluzhbovoyi informaciyi pro jogo stan Centralizovana sistema zapisiv vidsutnya Zazvichaj keshi roztashovani na zagalnij sho rozdilyayetsya shini i kontroleri vsih keshiv sposterigayut za shinoyu pereglyadayut yiyi dlya viznachennya togo chi ne mistit vona kopiyu vidpovidnogo bloku Perehoplennya snarfing Koli z odnogo keshu dani perepisuyutsya v operativnu pam yat kontroleri inshih otrimuyut signal pro cyu zminu perehoplyuyut informaciyu pro zminu danih i yaksho neobhidno zminyuyut vidpovidni dani v svoyih keshah Sistemi rozpodilenoyi pam yati sho vikoristovuyut shozhi mehanizmi dlya pidtrimki korektnosti lt Consistency gt mizh blokami pam yati v slabkozv yazanih sistemah Protokoli pidtrimki kogerentnostiProtokoli pidtrimki kogerentnosti vidpovidayut za pidtrimannya korektnosti danih mizh usima keshami v sistemi z Protokol pidtrimuye kogerentnist pam yati vidpovidno do obranoyi modeli consistency model Bilshist aparatnih protokoliv v mikroprocesorah vidpovidayut modeli sequential consistency a programni protokoli v sistemah software distributed shared memory chastishe vidpovidayut modelyam en abo en en en LiteraturaHandy Jim The Cache Memory Book Academic Press Inc 1998 ISBN 0 12 322980 4Div takozhNon Uniform Memory Access