Кэш-память

TODO

  1. Зачем.Локальность.За всё время существования вычислительной техники устойчиво наблюдаются два явления:
    • Основная память работает значительно медленнее процессора.
    • Обращения к памяти происходят локально в пространстве и времени.
    Эти замечательные факты позволяют увеличить скорость выполнения вычислений, создав кэш. Кэш — промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью.
  2. Организация буферизации:
    • Вся оперативная память может быть разбита на блоки.
    • Кэш состоит из строк вида: бит достоверности, тэг, блок, возможная дополнительная информация.
    • Обмен между ОЗу и кэше происходит блоками.
    • Среднее время доступа = время доступа к нужному полю кэш-строки + ( 1 - коэффициент совпадения) время доступа к основной памяти.
  3. Виды:
    • прямого отображения
    • полностью ассоциативный
    • n-канальный множественно-ассоциативный кэш
  4. Промахи
  5. стратегии записи:
    • Сквозная.
    • Обратная.
    • С процессом записи связана еще одна проблема: а что происходит, если нужно записать что-либо в ячейку, которая в текущий момент не находится в кэш-памяти? Должны ли данные переноситься в кэш-память или просто записываться в основную память? Ни один из вариантов не является во всех отношениях лучшим. В большинстве разработок, в которых применяется обратная запись, данные переносятся в кэш-память. Эта технология называется заполнением по записи (write allocation). С другой стороны, в тех разработках, где применяется сквозная запись, обычно элемент в кэш-память при записи не помещается, поскольку эта возможность усложняет разработку. Заполнение по аписи полезно только в том случае, если имеют место повторные записи в одно и то же слово или в разные слова в пределах одной строки кэш-памяти.
  6. Разделение кэш-памяти на память данных и память инструкций.
    • Разделенная кэш-память позволяет осуществлять параллельный доступ, а общая — нет. К тому же, поскольку команды обычно не меняются во время выполнения, содержание командной кэш-памяти никогда не приходится записывать обратно в основную память, что упрощает реализацию.
  7. Уровни кэш-памяти.
  8. пример из Marsa
  9. пример на предсказании не перехода.
  10. Управление кэшированием. Текущие абстракции.

Что такое кэш процессора, и как он работает

Кэш про­цес­со­ра