Программирование на JAVA


Рис. 8.4. Кэш с прямым отображением

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

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


<< назад вперед >>