- •Экзаменационные вопросы по курсу Архитектура эвм и систем
- •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.Большие компьютерные системы: архитектура многопроцессорных систем
22.Кэширование. Прямое и ассоциативное отображение
Простейшим способом сопоставления адресов блоков в кэше и в памяти является прямое отображение. При использовании этой технологии блок j основной памяти отображается на блок j по модулю 128 кэша, как показано на рис. 8.4. Таким образом, когда загружается один из блоков основной памяти, начинающихся по адресам 0,128,256 и т. д., он записывается в блок кэша 0. Блоки 1,129, 257 и т. д. записываются в блок кэша 1 и т. д. Поскольку на каждый блок кэша отображается более одного блока основной памяти, то даже при не до конца заполненном кэше может возникнуть состязание за некоторую позицию. Например, команды программы, начавшиеся в блоке 1, после перехода могут продолжиться в блоке 129. В результате выполнения программы оба эти блока должны быть скопированы в блок 1 кэша. Конфликт разрешается просто: старый блок заменяется новым.
Таким образом, местоположение блока в кэше определяется на основе его адреса в памяти. Адрес в памяти может быть разделен на три поля (рис. 8.4). Четыре младших разряда задают одно из 16 слов блока. Когда в кэш записывается новый блок, 7-разрядное поле номера блока данного кэша определяет его местоположение. Пять старших разрядов задают адрес блока в памяти. При записи блока в кэш они указываются в специальном поле тега (дескрипторе). Такое поле имеется в кэше для каждого из его блоков — оно определяет, какому из 32 блоков памяти, отображаемых на данный блок кэша, соответствует хранящаяся здесь информация. Во время выполнения программы процессор генерирует адреса, в каждом из которых 7-разрядное поле номера блока кэша указывает на конкретный блок в нем. Тег этого блока сравнивается со старшими 5 разрядами адреса, и если они совпадают, значит, данное слово уже находится в кэше. В противном случае блок, содержащий данное слово, нужно извлечь из основной памяти и поместить в кэш. Технология прямого отображения очень проста, но ей недостает гибкости.
Ассоциативное отображение
На рис. 8.5показана схема гораздо более гибкого метода отображения, согласно которому блок основной памяти можно помещать в любой блок кэша. При этом для идентификации хранящегося в кэше блока памяти необходимо иметь уже не 5, а 12 бит. При выполнении программы теговые биты сгенерированного процессором адреса по очереди сравниваются с теговыми битами каждого блока кэша. Если совпадение найдено, значит, содержащий данное слово блок уже присутствует в кэше. Такая технология называетсяассоциативным отображением.Она предоставляет полную свободу выбора местоположения блока в кэше, благодаря чему пространство кэша может использоваться более эффективно. Новые блоки заменяют уже хранящиеся в кэше только в том случае, если кэш заполнен, причем для этой цели необходим алгоритм выбора удаляемого блока. Подобных алгоритмов, как станет ясно из раздела 8.3.2, довольно много. Стоимость ассоциативного кэша выше, чем кэша с прямым отображением, поскольку в нем выполняется просмотр всех 128 тегов блоков. Поиск блока в кэше называетсяассоциативным поиском.Для того чтобы он выполнялся достаточно быстро, теги должны просматриваться параллельно.
