В основу работы кэш-памяти положены принципы временной и пространственной локальностей программ.
Принцип временной локальности состоит в том, что во время считывания любых данных из памяти существует высокая вероятность обращения программы на протяжении некоторого небольшого промежутка времени снова к ним.
Принцип пространственной локальности основывается на высокой вероятности того, что программа через некоторый небольшой промежуток времени обратится в ячейку памяти, следующей за той, к которой она обращалась перед этим.
В соответствии с принципом временной локальности информацию в кэш-памяти целесообразно сохранять на протяжении некоторого времени, а принцип пространственной локальности указывает на целесообразность размещения в кэш-памяти содержимого нескольких соседних каморок, то есть определенного блока информации.
Во время обращения процессора к памяти сначала проверяют наличие в кэш-памяти данных, которые спрашивают, и если их нет, осуществляют загрузку в кэш-память нужной информации. Правильная организация работы кэш-памяти обеспечивает повышение быстродействия системы, поскольку в большинстве случаев происходит обращения процессора к кэш-памяти, а не к более медленной основной оперативной памяти.
В зависимости от способа отображения информации из основной памяти на кэш-память различают такие типы кэш-памяти:
· кэш-память с прямым отображением
· полностью ассоциативная кэш-память;
· множественная ассоциативная кэш-память.
Кэш-память с прямым отображением - простейший тип кэш-памяти . Такая кэш-память содержит две части - кэш-память данных и кэш-память признаков.
В случае необходимости считывания данных из памяти процессор обращается сначала к кэш-памяти и проверяет, содержит ли она соответствующие данные. Этот процесс происходит сравнением признака, записанного в кэш-памяти признаков, с 16 старшими разрядами адреса, который процессор выставляет на 32-разрядную шину адреса. Совпадение этих величин означает, что в кэш-памяти сохраняются нужные данные. В этом случае эти данные считываются из кэш-памяти. Если величины не совпадают, то выполняется копирования соответствующих данных из оперативной памяти в кэш-память.
Преимуществом этого типа кэш-памяти есть сравнительно высокое быстродействие, которое поясняется потребностью лишь в одном сравнении признака с старшими разрядами адреса ОЗУ.
Полностью ассоциативная кэш-память –это память в которой устранён недостаток кэш-памяти с прямым отображением, поскольку любой блок ОЗУ может отображаться в любой строке кэш-памяти. В кэш-память признаков записывается 30-разрядный признак, то есть старшие С разрядов АЗІ-А02 адреса четырёхбайтового блока ОЗУ. В строку кэш-памяти данных записывается четырёхбайтов блок.
Когда кэш-память не заполнена, блок записывается в любую свободную строку. Когда кэш-память заполнена, блок с ОЗУ записывается в ту строку кэш-памяти данных, к которого было наименьшее обращений. Недостатки кэш-памяти с прямым отображением устраняются за счет дополнительного оснащения, предназначенного для определения блока к которого было наименьше обращений. При этом также увеличивается время обработки запросов через необходимость сравнения 30-разрядного адреса и признака, записанной в кэш-памяти признаков. Максимальное количество таких сравнений составляет 16 К.
Множественная ассоциативная кэш-память объединяет преимущества обеих предыдущих типов. Строки этой кэш-памяти объединяются у группы по два, четыре и больше (в соответствии с этим различают двух-, чотирёхвходную и т.п. множественную ассоциативную кэш-память).
Все рассмотренные типы кэш-памяти имеют свойство сохранять отдельные копии информации, которые содержатся в основной памяти. Во время записи в кэш-память может нарушаться целостность сохраняемых данных, то есть содержимое кэш-памяти перестанет отвечать содержимому ОЗУ.
Существует несколько способов восстановления информации в ОЗУ, основными из которых есть способ сквозной записи и способ обратной записи.
Способ сквознойзаписи состоит в том, что информация записывается как в кэш-память, так и в ОЗУ.
Способ обратной записи предусматривает запись информации в ОЗУ лишь в том случае, если она изменяется в кэш-памяти. Каждому строке кэш-памяти сопоставляется специальный бит - бит записи, которая указывает на смену содержимого строки. Заменяя строку кэш-памяти новым блоком информации с ОЗУ, проверяют состояние бита записи, и если бит установлен, то выполняют перезапись блока из кэш-памяти в ОЗУ. Только после этого в кэш-памяти размещается новый блок с ОЗУ. Этот способ более эффективный, поскольку разрешает уменьшить количество обращений к ОЗУ.
Дата добавления: 2015-08-26; просмотров: 1451;