Различия между версиями 1 и 7 (по 6 версиям)
Версия 1 от 2016-03-04 20:25:43
Размер: 114
Редактор: ali
Комментарий:
Версия 7 от 2016-04-10 14:44:49
Размер: 4445
Редактор: ali
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 2: Строка 2:
'''TODO'''
Строка 4: Строка 3:
 1. Зачем.
 1. Виды
 1. стратегии
 1. пример
 1. Зачем.Локальность.За всё время существования вычислительной техники устойчиво наблюдаются два явления:
  * Основная память работает значительно медленнее процессора.
  * Обращения к памяти происходят локально в пространстве и времени.
 Эти замечательные факты позволяют увеличить скорость выполнения вычислений, создав кэш. Кэш — промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью.
 1. Организация буферизации:
  * Вся оперативная память может быть разбита на блоки.
  * Кэш состоит из строк вида: бит достоверности, тэг, блок, возможная дополнительная информация.
  * Обмен между ОЗу и кэше происходит блоками.
  * Среднее время доступа = время доступа к нужному полю кэш-строки + ( 1 - коэффициент совпадения) время доступа к основной памяти.

 1. Виды:
  * прямого отображения
  * полностью ассоциативный
  * n-канальный множественно-ассоциативный кэш
 1. Промахи
 1. стратегии записи:
   * Сквозная.
   * Обратная.
   * С процессом записи связана еще одна проблема: а что происходит, если нужно записать что-либо в ячейку, которая в текущий момент не находится в кэш-памяти? Должны ли данные переноситься в кэш-память или просто записываться в основную память? Ни один из вариантов не является во всех отношениях лучшим. В большинстве разработок, в которых применяется обратная запись, данные переносятся в кэш-память. Эта технология называется заполнением по записи (write allocation). С другой стороны, в тех разработках, где применяется сквозная запись, обычно элемент в кэш-память при записи не помещается, поскольку эта возможность усложняет разработку. Заполнение по аписи полезно только в том случае, если имеют место повторные записи в одно и то же слово или в разные слова в пределах одной строки кэш-памяти.
 1. Разделение кэш-памяти на память данных и память инструкций.
  Разделенная кэш-память позволяет осуществлять параллельный доступ, а общая — нет. К тому же, поскольку команды обычно не меняются во время выполнения, содержание командной кэш-памяти никогда не приходится записывать обратно в основную память, что упрощает реализацию.

 1. Уровни кэш-памяти.

 1. пример из Marsa
   Tools-Data Cache Simulator
   [[attachment:column-major.asm |column-major.asm ]] [[attachment:row-major.asm|row-major.asm]]
 1. пример на предсказании не перехода.
 1. Управление кэшированием. Текущие абстракции.
[[http://compress.ru/article.aspx?id=23541|Что такое кэш процессора, и как он работает]]

[[http://iproc.ru/parallel-programming/lection-7/|Кэш про­цес­со­ра]]

Кэш-память

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

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

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

ArchitectureAssembler/19_Cache (последним исправлял пользователь ali 2016-04-10 14:44:49)