Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lazarovych_B_I_G.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
419.97 Кб
Скачать

53.Використання протоколів на основі довідника для забезпечення когерентності кеш-пам’яті в комп’ютерних системах. Переваги і недоліки.

Зазвичай в малих мультипроцесорах використовується апаратний механізм, званий протоколом, що дозволяє вирішити цю проблему. Такі протоколи називаються протоколами когерентності кеш-пам'яті. Існують два класи таких протоколів:

Протоколи на основі довідника (directorybased). Інформація про стан блоку фізичної пам'яті міститься тільки в одному місці, званому довідником (фізично довідник може бути розподілений по вузлах системи).

Протоколи спостереження (snooping). Кожен кеш, який містить копію даних деякого блоку фізичної пам'яті, має також відповідну копію службової інформації про його стан. Централізована система записів відсутня. Зазвичай кеші розташовані на загальною (що розділяється) шині і контролери усього кешу спостерігають за шиною (переглядають її) для визначення того, чи не містять вони копію відповідного блоку.

У мультипроцесорних системах, що використовують мікропроцесори з кеш-пам'яттю, під'єднані до централізованої спільної пам'яті, протоколи спостереження набули популярності, оскільки для опитування стану кешу вони можуть використовувати заздалегідь існуюче фізичне з'єднання - шину пам'яті.

Неформально, проблема когерентності пам'яті полягає в необхідності гарантувати, що будь зчитування елемента даних повертає останнім за часом записане в нього значення. Це визначення не зовсім коректне, оскільки неможливо вимагати, щоб операція зчитування миттєво бачила значення, записане в цей елемент даних деяким іншим процесором. Якщо, наприклад, операція запису на одному процесорі передує операції читання тієї ж осередки на іншому процесорі в межах дуже короткого інтервалу часу, то неможливо гарантувати, що читання поверне записане значення даних, оскільки в цей момент часу записувані дані можуть навіть не покинути процесор.

З узгодженням стану пам'яті ми можемо гарантувати когерентність шляхом забезпечення двох властивостей:

Операція читання комірки пам'яті одним процесором, яка слідує за операцією запису в ту ж комірку пам'яті іншим процесором отримає записане значення, якщо операції читання і запису досить відокремлені один від одного за часом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]