Увеличение производительности кэшпамяти
Увеличение производительности кэш-памяти
Формула для среднего времени доступа к памяти в системах с кэш-памятью выглядит следующим образом:
Среднее время доступа = Время обращения при попадании + Доля промахов x Потери при промахе
Эта формула наглядно показывает пути оптимизации работы кэш-памяти: сокращение доли промахов, сокращение потерь при промахе, а также сокращение времени обращения к кэш-памяти при попадании. Ниже на Рисунок 7.3 кратко представлены различные методы, которые используются в настоящее время для увеличения производительности кэш-памяти. Использование тех или иных методов определяется прежде всего целью разработки, при этом конструкторы современных компьютеров заботятся о том, чтобы система оказалась сбалансированной по всем параметрам.
Метод | Доля промахов |
Потери при промахе |
Время обраще-ния при попадании |
Слож-ность аппаратуры | Примечания |
Увеличение размера блока | + | - | 0 | ||
Повышение степени ассоциативности | + | - | 1 | ||
Кэш-память с вспомогательным кэшем | + | 2 | |||
Псевдоассоциативные кэши | + | 2 | |||
Аппаратная предварительная выборка команд и данных | + | 2 | Предварительная выборка данных затруднена | ||
Предварительная выборка под управлением компилятора | + | 3 | Требует также неблокируемой кэш-памяти | ||
Специальные методы для уменьшения промахов | + | 0 | Вопрос ПО | ||
Установка приоритетов промахов по чтению над записями | + | 1 | Просто для однопроцессорных систем | ||
Использование подблоков | + | + | 1 | Сквозная запись + подблок на 1 слово помогают записям |
|
Пересылка требуемого слова первым | + | 2 | |||
Неблокируемые кэши | + | 3 | |||
Кэши второго уровня | + | 2 | Достаточно дорогое оборудование | ||
Простые кэши малого размера | - | + | 0 | ||
Обход преобразования адресов во время индексации кэш-памяти | + | 2 | |||
Конвейеризация операций записи для быстрого попадания при записи | + | 1 |