Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Способы отображения основной памяти на кэш




Алгоритм поиска данных в кэше и алгоритм замещения данных во многом зависят от того, каким образом основная память отображается на кэш, то есть как данные из основной памяти размещаются в кэш-памяти. Если в качестве основной памяти выступает ОП, то при кэшировании данных из нее используются два основных способа отображения:

1. Случайное отображение;

2. Детерминированное отображение.

В первом способе элемент ОП размещается в любом месте кэш-памяти. Чтобы в дальнейшем можно было бы найти требуемые данные в кэше, они записываются туда с адресом, который имели в ОП, то есть структура кэш-памяти в этом случае имеет вид:

Адрес в ОП Данные Управляющая информация
     
     
     

При каждом запросе к ОП осуществляется ассоциативный поиск в кэш-памяти, адрес ОП из запроса параллельно сопоставляется со всеми записями кэш-памяти. Признак, по которому выполняется параллельное сравнение, называется тегом. В качестве тега выступает адрес данных в ОП, присутствующий в запросе. В кэш-памяти со случайным отображением вытеснение прежних данных выполняется только в том случае, когда вся кэш-память заполнена, и в ней нет свободного места, при этом выбор записей на выгрузку осуществляется среди всех данных кэша. Используется алгоритм замещения, которое строится на тех же принципах, что и алгоритмы замещения страниц в системах с ВП. Например, выгружаются данные, к которым дольше всего не было обращений, или данные, количество обращений к которым было наименьшим.

Во втором случае, любой элемент ОП всегда отображается в одно и то же место кэш-памяти, при этом кэш-память делится на строки, каждая из которых предназначена для хранения по крайней мере одной записи об одном элементе данных. На практике, таких элементов может быть несколько. Все строки нумеруются подряд, и между номерами строк кэш-памяти и адресами ячеек ОП устанавливается соответствие типа «один ко многим», то есть одному номеру строки в кэш-памяти соответствует несколько адресов ОП. В качестве средства отображения в данном случае может использоваться простое выделение нескольких младших разрядов из адреса ОП, которые интерпретируются как номер строки в кэш-памяти. Такой способ отображения называется прямым отображением адреса ОП на кэш. Например, если объем кэш-памяти составляет 210=1024 записи (строки), то все они могут быть пронумерованы числами от 0 до 1023, и следовательно, любой адрес ОП может быть отображен на соответствующую строку кэш-памяти выделением 10 младших разрядов из адреса ОП, который присутствует в запросе.

При поиске информации в кэше используется прямой доступ к записи кэш-памяти по её номеру, который выделяется из адреса ОП. В найденной ячейке кэш-памяти могут размещаться данные из нескольких ячеек ОП, младшие разряды адреса которых совпадают с номером строки кэш-памяти. Поэтому для обеспечения достоверного обращения к кэш-памяти должна выполняться дополнительная проверка. С этой целью каждая строка, то есть запись кэш-памяти, дополняется специальным полем, в котором хранится тег. Он представляет собой код старшей части адреса ОП.

Значения всех тегов записывается в дополнительную часть кэш-памяти, которая называется памятью тегов, а значение данных ячеек кэш-памяти записывается в другой части, которая называется памятью данных.

При совпадении значения тега из памяти тегов с содержимым поля тегов в адресе ОП фиксируется кэш-попадание. Если произошел кэш-промах, то данные по соответствующему адресу считываются из ОП и копируются в кэш. Копирование выполняется путем прямой записи данных в ячейку кэш-памяти по её номеру, который представлен младшими разрядами адреса ОП. При этом, если ячейка кэш-памяти, в которую должны быть скопированы данные, содержит другие данные, то они теряются, то есть вытесняются из кэша. В этом случае, процесс замещения данных в кэш-памяти отличается от процесса замещения в кэше со случайным отображением. Отличие состоит в том, что во-первых, вытеснение данных может происходить не только в случае отсутствия свободного места в кэше. Во-вторых, выбор данных на замещение не выполняется.

Данный способ отображения характеризуется простотой реализации и сравнительно небольшой стоимостью.

В современных процессорах кэш-память строится на основе сочетания способов случайного и прямого отображения, что позволяет найти компромисс между относительно невысокой стоимостью кэш-памяти в прямом отображением и эффективностью алгоритма замещения в кэш-памяти со случайным отображением. При подобном смешанном подходе построения кэш-памяти любой адрес ОП отображается не точно на один адрес кэш-памяти, а на группу адресов.

В кэш-памяти создаются группы запоминающих ячеек, в каждую из которых объединяется несколько записей. Число записей в группах одинаково, они нумеруются подряд. Поиск в кэше осуществляется вначале по номеру группы, который читается из младших разрядов адреса ОП. Далее, поиск продолжается в пределах записей найденной группы путем ассоциативного, то есть параллельного просмотра всех записей с целью обнаружения совпадения старших разрядов адреса ОП с содержимым группы ячеек, хранящих значения тегов. В случае кэш-промаха данные копируются по любому свободному адресу данной группы. Если свободных записей в группе нет, то осуществляется замещение данных на основе одного из алгоритмов замещения.





Поделиться с друзьями:


Дата добавления: 2016-03-25; Мы поможем в написании ваших работ!; просмотров: 1638 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2460 - | 2139 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.