October 18 2017 12:22:51
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
замещение менее используемой информации
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ

Если при чтении произошел кэш-промах и кэширование данной области памяти разрешено, то производится обновление содержимого одной из строк набора, заданного полем SET адреса, в которую вводится информация из основной памяти. Новая информация замещает ранее имевшуюся в данной строке. В первую очередь замещается содержимое строки, отмеченной с помощью битов MESI как недостоверная (состояние I). Если в данном наборе нет недостоверной («пустой») строки, то производится удаление из кэш-памяти содержимого строки, которая дольше всего оставалась невостребованной. Используемый алгоритм обновления называется «замещение менее используемой информации» (LRU - least recently used) и реализуется с помощью битов LRU. Один (В0) или три (В0 - В2) бита LRU хранятся в служебной памяти для каждого из наборов строк кэш-памяти. Их содержимое определяет выбор строки, замещаемой в данном наборе при кэш-промахе.

При инициализации процессора и очистке кэш-памяти биты LRU всех наборов кэш-памяти сбрасываются в 0. В ходе работы процессора биты В0-В2 принимают следующие значения в соответствии с тем, к каким из строк набора производились последние обращения. Если в данном наборе последнее обращение выполнялось к одной из пары строк-L0 или L1, устанавливается В0 = 1, если к L2 или L3, то устанавливается В0 = 0. Биты В1 и В2 указывают, к какой из строк пары L1 - L2 и L2 – L3 осуществлялось последнее обращение. Значение В1 = 0 устанавливается при обращении к L0, значение В1 = 1 -при обращении к L1. Соответственно значение В2 = 0 или 1 устанавливается при обращении к строке L2 или L3. В соответствии с алгоритмом LRU для замены выбирается пара строк, к которым не производилось последнее обращение, а в этой паре замене подлежит строка, к которой не производилось последнее обращение. Выбранная таким образом строка считается дольше всего неиспользуемой в данном наборе, поэтому ее содержимое замещается выбираемыми из основной памяти новыми 32 байтами.

Данное описание соответствует использованию наборов из четырех строк, что имеет место в кэш-памяти команд и общей кэш-памяти 2-го уровня. Для кэш-памяти данных, содержащей две строки в наборе, каждый набор имеет всего один бит LRU, который принимает значение В0 = 0 при обращении к строке L0, и В0 = 1 при обращении к L1.

При использовании обратной записи в процессорах Р6 когерентность содержимого основной памяти и кэш-памяти обеспечивается с помощью протокола MESI, который устанавливает четыре возможных состояния строки кэш-памяти:

М (modified) - модифицированное путем записи содержимое строки, которое имеется только в кэш-памяти данного процессора;

Е (exclusive) - немодифицированное содержимое строки, которое содержится только в кэш-памяти данного процессора и основной памяти;

S (shared) - содержимое данной строки может также находиться в кэш-памяти других активных устройств (процессоров), входящих в состав системы;

I (invalid) - недействительное (аннулированное) содержимое строки.

Текущее состояние строки определяется значениями битов S0, S1, которые автоматически устанавливаются и изменяются в процессе работы процессора. При инициализации процессора или очистке (аннулировании содержимого) кэш-памяти для всех строк устанавливается состояние I, указывающее, что строки не заполнены. Дальнейшее функционирование процессора вызывает заполнение кэш-памяти. При этом для заполненной строки устанавливается состояние Е. Если в строку производится запись данных, то для нее устанавливается состояние М. Аннулирование содержимого всех строк (освобождение кэш-памяти) производится программно с помощью команд INVD и WBINVD. Команда INVD аннулирует содержимое внутренней кэш-памяти команд и данных, устанавливая состояние I для всех строк. Команда WBINVD перед аннулированием производит обратную запись (write-back) в основную память содержимого тех строк кэш-памяти данных, для которых установлено состояние М (в них была проведена модификация). При выполнении этих команд процессор выдает внешние сигналы для реализации аналогичных процедур в кэш-памяти 2-го уровня. Данные команды являются привилегированными - их выполнение в защищенном режиме разрешается только программам с максимальным уровнем привилегии 0.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.03 секунд 2,255,286 уникальных посетителей