- Главная
- Информатика
- Механизм ассоциативной памяти
Содержание
- 2. В ассоциативной памяти элементы выбираются не по адресу, а по содержимому. Единицу хранения информации в ассоциативной
- 3. Полностью ассоциативный КЭШ Данные
- 4. В начале работы КЭШ-память пуста. При выполнении первой же команды во время выборки ее код, а
- 5. При считывании, если зафиксировано КЭШ-попадание, младшие разряды адреса определяют позицию в КЭШ-строке, начиная с которой следует
- 6. Если произошел КЭШ-промах, а в КЭШе нет свободных строк, необходимо заменить одну строку КЭШа на другую
- 7. LRU - Least Recently Used Этот алгоритм основан на замещении строк, к которой дольше всего не
- 8. FIFO - First In First Out «Первый вошел, первый вышел». Здесь заменяется строка, дольше всего находившаяся
- 9. Кроме тега и байтов данных в КЭШ-строке могут содержаться дополнительные служебные поля, среди которых в первую
- 10. Структура полностью ассоциативной КЭШ-памяти (ассоциативная память) реализуема только при малом количестве строк в КЭШе, т.е. при
- 11. Ресурсы http://perscom.ru
- 13. Скачать презентацию
Слайд 2В ассоциативной памяти элементы выбираются не по адресу, а по содержимому. Единицу хранения информации
В ассоциативной памяти элементы выбираются не по адресу, а по содержимому. Единицу хранения информации
При таком запросе возможен один из трех результатов:
имеется в точности одна строка с заданным тегом
имеется несколько строк с заданным тегом
нет ни одной строки с заданным тегом
Об ассоциативной памяти говорят тогда, когда ассоциативная выборка данных из памяти поддержана аппаратно. При записи в ассоциативную память элемент данных помещается в строку вместе с присущим этому элементу тегом. Ассоциативная память используется в КЭШ
Слайд 3Полностью ассоциативный КЭШ
Данные
Полностью ассоциативный КЭШ
Данные
Слайд 4В начале работы КЭШ-память пуста.
При выполнении первой же команды во время
В начале работы КЭШ-память пуста.
При выполнении первой же команды во время
Если следующие выборки возможны из этого участка, они будут сделаны уже из КЭШа (быстро) - "КЭШ-попадание". Если же окажется, что нужного элемента в КЭШе нет, - "КЭШ-промахом". В этом случае обращение происходит к ОЗУ (медленно), и при этом одновременно заполняется очередная КЭШ-строка.
После формирования исполнительного адреса его старшие биты, образующие тег, аппаратно (быстро) и одновременно сравниваются с тегами всех КЭШ-строк. При этом возможны только две ситуации из трех, перечисленных ранее: либо все сравнения дадут отрицательный результат (КЭШ-промах), либо положительный результат сравнения будет зафиксирован в точности для одной строки (КЭШ-попадание).
Слайд 5При считывании, если зафиксировано КЭШ-попадание, младшие разряды адреса определяют позицию в КЭШ-строке,
При считывании, если зафиксировано КЭШ-попадание, младшие разряды адреса определяют позицию в КЭШ-строке,
Слайд 6Если произошел КЭШ-промах, а в КЭШе нет свободных строк, необходимо заменить одну
Если произошел КЭШ-промах, а в КЭШе нет свободных строк, необходимо заменить одну
Основная цель стратегии замещения - удерживать в КЭШ-памяти строки, к которым наиболее вероятны обращения в ближайшем будущем, и заменять строки, доступ к которым произойдет в более отдаленном времени или вообще не случится. Очевидно, что оптимальным будет алгоритм, который замещает ту строку, обращение к которой в будущем произойдет позже, чем к любой другой строке-КЭШ.
К сожалению, такое предсказание практически нереализуемо, и приходится привлекать алгоритмы, уступающие оптимальному. Вне зависимости от используемого алгоритма замещения, для достижения высокой скорости он должен быть реализован аппаратными средствами.
Среди множества возможных алгоритмов замещения наиболее распространенными являются четыре, рассматриваемые в порядке уменьшения их относительной эффективности. Любой из них может быть применен в полностью ассоциативном КЭШ.
Слайд 7LRU - Least Recently Used
Этот алгоритм основан на замещении строк, к которой
LRU - Least Recently Used
Этот алгоритм основан на замещении строк, к которой
Наиболее известны два способа аппаратурной реализации этого алгоритма. В первом из них с каждой строкой КЭШ-памяти ассоциируют счетчик. К содержимому всех счетчиков через определенные интервалы времени добавляется единица. При обращении к строке ее счетчик обнуляется. Таким образом, наибольшее число будет в счетчике той строки, к которой дольше всего не было обращений и эта строка - первый кандидат на замещение.
Второй способ реализуется с помощью очереди, куда в порядке заполнения строк КЭШ-памяти заносятся ссылки на эти строки. При каждом обращении к строке ссылка на нее перемещается в конец очереди. В итоге первой в очереди каждый раз оказывается ссылка на строку, к которой дольше всего не было обращений. Именно эта строка прежде всего и заменяется.
Слайд 8FIFO - First In First Out
«Первый вошел, первый вышел». Здесь заменяется строка,
FIFO - First In First Out
«Первый вошел, первый вышел». Здесь заменяется строка,
LFU - Least Frequently Used
Заменяется та строка в КЭШ-памяти, к которой было меньше всего обращений. Принцип можно воплотить на практике, связав каждую строку со счетчиком обращений, к содержимому которого после каждого обращения добавляется единица. Главным претендентом на замещение является строка, счетчик которой содержит наименьшее число.
Простейший алгоритм - произвольный выбор строки для замены. Замещаемая строка выбирается случайным образом. Реализовано это может быть, например, с помощью счетчика, содержимое которого увеличивается на единицу с каждым тактовым импульсом, вне зависимости от того, имело место попадание или промах. Значение в счетчике определяет заменяемую строку.
Слайд 9Кроме тега и байтов данных в КЭШ-строке могут содержаться дополнительные служебные поля,
Кроме тега и байтов данных в КЭШ-строке могут содержаться дополнительные служебные поля,
При заполнении очередной КЭШ-строки V устанавливается в состояние "достоверно", а M - в состояние "не модифицировано". В случае, если в ходе выполнения программы содержимое данной строки было изменено, переключается бит M, сигнализируя о том, что при замене данной строки ее содержимое следует переписать в ОЗУ.
Если по каким-либо причинам произошло изменение копии элемента данной строки, хранимого в другом месте (например в ОЗУ), переключается бит V. При обращении к такой строке будет зафиксирован КЭШ-промах (несмотря на то, что тег совпадает), и обращение произойдет к основному ОЗУ.
Слайд 10Структура полностью ассоциативной КЭШ-памяти (ассоциативная память) реализуема только при малом количестве строк
Структура полностью ассоциативной КЭШ-памяти (ассоциативная память) реализуема только при малом количестве строк
Слайд 11Ресурсы
http://perscom.ru
Ресурсы
http://perscom.ru