В основу работы кэш-памяти положены принципы временной и пространственной локальностей программ.

Принципы организации кэш-памяти

Увеличения емкости памяти МПС предопределяет снижения быстродействия операций обмена информацией между процессором и модулем памяти. Даже за время обращения к памяти, которая равняется 70 нс, невозможно получить нужную информацию за один цикл шины. Это приводит к потребности выполнения тактов ожидания в процессе работы процессора для того, чтобы время обращения к памяти был согласован с временем выполнения команды в процессоре.

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

Кэш-память используют не только для обмена данными между МП и ОЗУ, но и для обмена между ОЗУ и внешними накопителями.

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

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

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

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

В зависимости от способа отображения информации из основной памяти на кэш-память различают такие типы кэш-памяти:

· кэш-память с прямым отображением

· полностью ассоциативная кэш-память;

· множественная ассоциативная кэш-память.

 

Кэш-память с прямым отображением - простейший тип кэш-памяти . Такая кэш-память содержит две части - кэш-память данных и кэш-память признаков.

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

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

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

Когда кэш-память не заполнена, блок записывается в любую свободную строку. Когда кэш-память заполнена, блок с ОЗУ записывается в ту строку кэш-памяти данных, к которого было наименьшее обращений. Недостатки кэш-памяти с прямым отображением устраняются за счет дополнительного оснащения, предназначенного для определения блока к которого было наименьше обращений. При этом также увеличивается время обработки запросов через необходимость сравнения 30-разрядного адреса и признака, записанной в кэш-памяти признаков. Максимальное количество таких сравнений составляет 16 К.

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

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

Существует несколько способов восстановления информации в ОЗУ, основными из которых есть способ сквозной записи и способ обратной записи.

Способ сквознойзаписи состоит в том, что информация записывается как в кэш-память, так и в ОЗУ.

Способ обратной записи предусматривает запись информации в ОЗУ лишь в том случае, если она изменяется в кэш-памяти. Каждому строке кэш-памяти сопоставляется специальный бит - бит записи, которая указывает на смену содержимого строки. Заменяя строку кэш-памяти новым блоком информации с ОЗУ, проверяют состояние бита записи, и если бит установлен, то выполняют перезапись блока из кэш-памяти в ОЗУ. Только после этого в кэш-памяти размещается новый блок с ОЗУ. Этот способ более эффективный, поскольку разрешает уменьшить количество обращений к ОЗУ.