- •Экзаменационные вопросы по курсу Архитектура эвм и систем
- •4. Физические основы эвм: понятие транзистора, электронные логические вентили.
- •16.Память эвм: операции доступа к памяти
- •17.Архитектура Intel ia-32.
- •17.Система команд микропроцессора на примере Intel ia-32
- •19.Режимы адресации памяти в архитектуре Intel ia-32.
- •20.Организация ветвлений и циклов на языке ассемблера Intel ia-32.
- •21. Организация памяти эвм, кэширование.
- •22.Кэширование. Прямое и ассоциативное отображение
- •23.Кэширование. Множественно-ассоциативное отображение
- •24.Кэширование. Алгоритмы замещения
- •25.Организация памяти эвм, виртуальная память
- •26. Виртуальная память, преобразование адресов.
- •28. Прерывания. Векторы прерываний, приоритеты прерываний, маскирование прерываний.
- •29. Прямой доступ к памяти
- •30. Суперскалярная обработка команд
- •31.Сегментация памяти для семейства процессоров ia-32. Реальный и защищенный режим.
- •32.Конвейерная обработка команд.
- •33. Основы мультитредовой архитектуры
- •34. Способы оценки производительности процессоров
- •35. Большие компьютерные системы: параллельная обработка.
- •36.Большие компьютерные системы: архитектура многопроцессорных систем
23.Кэширование. Множественно-ассоциативное отображение
Множественно-ассоциативное отображение
Технологии прямого и ассоциативного отображения могут использоваться совместно. В этом случае блоки кэша объединяются в множества, и каждый блок основной памяти может располагаться в любом из блоков определенного множества. Причем вероятность конфликтов, являющихся одним из недостатков прямого отображения, значительно снижается. Такой кэш, получивший название множественно-ассоциативного, дешевле полностью ассоциативного кэша, поскольку в нем уменьшена область ассоциативного поиска. Рассмотрим принцип множественно-ассоциативного отображения на примере кэша с 64 множествами по два блока в каждом (рис. 8.6). Блоки памяти 0,64,128,..., 4032 отображаются на множество 0 и могут занимать любую из двух позиций в этом множестве. Наличие 64 множеств блоков означает, что 6-разрядное поле множества в составе адреса слова определяет, какое множество кэша может содержать это слово. Поле тега адреса ассоциативным путем сравнивается с тегами двух блоков найденного множества, и если оно совпадет с одним из тегов, значит, соответствующий блок уже находится в кэше. Реализовать такой поиск очень просто.
Количество блоков во множестве задается в соответствии с требованиями конкретного компьютера. В случае основной памяти и кэша, показанных на рис. 8.6, для четырех блоков в множестве потребуется 5-разрядное поле множества, для восьми блоков — 4-разрядное и т. д. Граничное значение 128 блоков в множестве не требует поля множества и соответствует полностью ассоциативному кэшу с 12 теговыми битами. Другое граничное значение — один блок в множестве — соответствует методу прямого отображения. Кэш сkблоками во множестве называется k-канальным множественно-ассоциативным кэшем.
Для каждого блока в кэше должен храниться еще один управляющий бит, называемый битом достоверности. Он указывает, содержит ли блок достоверные данные. Его не следует путать с упоминавшимся ранее битом изменения, указывающим, был ли блок модифицирован за то время, пока он находится в кэше. Бит модификации нужен только в тех системах, в которых не используется сквозная запись. При включении питания системы и при загрузке с диска в основную память новой программы и данных все биты достоверности устанавливаются в 0. Пересылка данных между диском и основной памятью управляется механизмом прямого доступа к памяти ПДП (DMA). Обычно эти данные минуют кэш, что вызвано соображениями стоимости и производительности. Когда блок кэша в первый раз загружается из основной памяти, его бит достоверности устанавливается в 1. Если блок основной памяти обновляется из другого источника, минуя кэш, система проверяет, находится ли загружаемый блок в кэше. Если да, его бит достоверности устанавливается в 0, чтобы в кэше не оказалосьустаревшихданных.
Подобная же проблема возникает и при ПДП-пересылке данных из основной памяти на диск, если используется кэш с обратной записью. Данные, находящиеся в памяти, могут не отражать изменений, внесенных в кэшируемую копию. Поэтому перед их копированием на диск нужно записать измененные данные из кэша в основную память. Операционная система легко справляется с этой задачей, и это не отражается на ее производительности, поскольку пересылка данных между диском и основной памятью происходит нечасто. Обязательное использование двумя разными элементами (в данном случае процессором и подсистемой ПДП) одинаковых копий данных называется согласованностью кэша.
