Интернет магазин китайских планшетных компьютеров



Компьютеры - Когерентность кэша - Определение

23 января 2011


Оглавление:
1. Когерентность кэша
2. Определение
3. Механизмы когерентности кэшей
4. Протоколы поддержки когерентности



Когерентность определяет поведение чтений и записей в одно и то же место памяти. Кэш называется когерентным, если выполняются следующие условия:

  1. Если процессор Р записывает значение в переменную Х, то при следующем считывании Х он должен получить ранее записанное значение, если между записью и чтением Х другой процессор не производил запись в Х. Это условие связано с сохранением порядка выполнения программы, это должно выполняться и для однопоточной архитектуры.
  2. Операция чтения Х процессором P1, следующая после того, как другой процессор P2 осуществил запись в Х, должна вернуть записанное значение, если другие процессоры не изменяли Х между двумя операциями. Это условие определяет понятие когерентной видимости памяти.
  3. Записи в одну и ту же ячейку памяти должны быть последовательными. Другими словами, если два процессора записывают в переменную Х два значения: А, затем В — не должно случиться так, чтобы при считывании процессор сначала получал значение В, а затем А.

В этих условиях предполагается, что операции чтения и записи происходят мгновенно. Однако этого не происходит на практике из-за задержек памяти и других особенностей архитектуры. Изменения, сделанные процессором P1, могут быть не видны процессору P2, если чтение произошло через очень маленький промежуток времени после записи. Модель консистентности памяти определяет, когда записанное значение будет видно при чтении из другого потока.



Просмотров: 2392


<<< Алгоритмы кэширования
Кэш на файлах >>>