Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение арх.ЭВМ2.docx
Скачиваний:
5
Добавлен:
02.12.2018
Размер:
17.75 Mб
Скачать

Кэш с прямым отображением Основная память

Кэш

Блок 128

Тег

Слово

Блок

5

7

4

-Адрес основной памяти

Таким образ когда загружается один из блоков основной памяти начинающихся по адресам 0, 128, 256 и т. д. Он записывается в блок кэша 0. Блоки 1, 129, 257 и. д. записываются в блок кэша 1 и т. д.. По сколько на каждый блок кэша отображается более одного блока основной памяти то даже при не до конца заполненного кэша. Может возникнуть состязание за некоторую позицию. Например, команды программы начавшейся в блоке один после перехода могут продолжиться в блоке 129. В результате выполнения программы оба этих блока должны быть скопированы блок 1 кэша. Конфликт разрешается просто: старый блок заменяется новым.

Таким образом, место положения блока в кэша, определяется на основе его адреса в памяти. Адрес памяти может быть разделён на два поля. Четыре младших разряда задают одно из 16 слов блока. Когда в кэш записывается новый блок, 7 разрядное поле номера блока данного кэша, определяет его место положения. 5 старших разрядов задают адрес блока в памяти. При записи блоков кэш они указываются в специальном поле тега (дескрипторе), такое поле имеется в кэше, для каждого из его поля. Оно определяет, какому из 32 блоков памяти отображаемых на данный момент блок кэша соответствует хранящейся здесь информации. Во время выполнения программы процессор генерирует адреса, каждым из которых 7 разрядное поле номера, блока кэша указывает на конкретный блок в нём. Тег этого блока сравнивается с со старшими блоками 5 разрядного этого адреса, и если они совпадают, значит данное слова уже имеется в кэше. В противном случаи блок содержавшие данное слово нужно извлечь из основной памяти. И поместить в кэш, технология прямого отображения очень проста. Но ей недостаёт гибкости.

Ассоциативное отображение

Кэш

Блок 0

Основная память

Блок 1

Блок j

Блок 4095

Тег

Слово

-Адрес основной памяти

5

5

На этом рисунке показана схема гораздо более гибкого метода отображения. Согласно которому блок основной памяти можно помешать в любой блок кэша. При этом для идентификации хранящейся в кэше блоков памяти необходимо иметь уже не 5 а 12бит. При выполнении программы как бы биты сгенерированного процессором адреса по очереди сравниваются с теговыми битами каждого блока кэша. Если совпадения найдено, значит содержащий данное слово блок уже содержится в кэше. Такая технология называется ассоциативным отображением она представляет полную свободу выбора места блоков в кэше. Благодаря чему пространство кэша может использоваться более эффективно. Новые блоки заменяют на уже хранящеюся в кэше только в том случаи, если кэш заполнен, при чём для этой цели необходим алгоритм выбором удаляемого блока. Подобных алгоритмов довольно много стоимость ассоциативного кэша выше, чем кэша с прямым отображением. По сколько в нем выполняется просмотр всех 128 тегов блоков. Поиск блоков в кэше называется ассоциативным поиском. Для того чтобы он выполнялся быстро теги должны просматриваться параллельно.