Системы адресации кэш-памяти
При обращении к оперативной памяти процессор указывает в качестве критерия поиска адрес данных в оперативной памяти. Контроллеру кэш-памяти при перехвате обращения к оперативной памяти этот адрес становится доступным. При первом обращении к конкретному слову данных, контроллер кэш-памяти его не обнаружит. Это кэш-промах. В этом случае запрос процессора обслужит оперативная память, но выбрано будет не одно заданное двойное слово, а вся строчка, например, четыре двойных слова, причем, в целочисленных границах строки. Вся строка будет записана в кэш-памяти, а затребованное двойное слово будет отправлено в процессор.
Здесь встает проблема адресации ячеек строк данных в кэш-памяти. Адресация строк данных в кэш-памяти должна допускать нахождение данных по адресам двойных слов (тегов) в оперативной памяти.
В настоящее время широко известны три схемы адресации, удовлетворяющие этому требованию. Это системы адресации на основе:
· аппаратной ассоциативной выборки,
· адресации с прямым отображением адресов,
· множественно-ассоциативной выборки.
Рассмотрим эти схемы применительно к процессору с параметрами МП intel 486:
· ширина обработки данных – 4 байта,
· размер адресного пространства – 4 Гбайта,
· размер строки кэш-памяти – 128 байт,
· размер адресного пространства кэш-памяти – 8 Кбайт.
Для упрощения схемы, добавим требование расположения слов в ячейках памяти только в целочисленных границах и передачи данных из кэш-памяти в процессор только двойными словами. В этом случае для задания адреса двойного слова используются 30 бит.
Последнее требование упрощает схему, но не соответствует большинству реальных схем. В МП Intel 486 это требование не соблюдается и адреса данных по интерфейсу передаются с использованием 34х бит. 30 бит определяют адрес двойного слова, 4 бита (сигналы #BE0, #BE1, #BE2и #BE3)используются для индивидуального указания позиций передаваемых байтов (см. 7.5.1. Особенности локального интерфейса i486).
Дата добавления: 2015-08-14; просмотров: 718;