Принципы действия КЭШ памяти

Содержимое КЭШ – памяти представляет собой совокупность записей обо всех загруженных в нее данных из основной памяти. Разработано много способов выбора данных из основой памяти, в том числе и алгоритм случайного отображения. При использовании алгоритма «случайного отображения» структура КЭШ – памяти имеет следующий вид

 

Адрес данных в основной памяти данные Управляющая информация
…… …….. ……..
     

 

Управляющая информация используется алгоритмами замещения данных и включает признак модификации.

Признак модификации равен 0, если данные в КЭШ – памяти не изменялись

1, если данные в КЭШ – памяти изменялись


При каждом обращении к основной памяти по физическому адресу просматривается КЭШ – память с целью определения есть ли там искомые данные. КЭШ – память не является адресуемой, поиск информации осуществляется по значению поля адреса в основной памяти, взятому из запроса. Далее возможно два варианта:

1. Данные находятся в КЕШ – памяти, произошло КЭШ – попадание, данные считываются из КЕШ – памяти и передаются источнику запроса;

2. Данные отсутствуют в КЕШ – памяти, произошел КЭШ - промах, данные считываются из основной памяти, передаются источнику запроса и одновременно копируются в КЕШ – память.

Вероятность обнаружения данных зависит от многих факторов, таких как объем КЕШ –памяти, объем кэшируемой памяти, время работы процесса и т.д. В современных системах вероятность обнаружения данных в КЕШ – памяти достигает 90 %, такая высокая вероятность нахождения данных основана на двух принципах:

1. Временная локальность – если произошло обращение по некоторому адресу, то следующее обращение по этому адресу произойдет в ближайшее время;

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

В начале работы, когда КЕШ – память еще пуста, почти каждый запрос выполняется «по полной программе», то есть происходит КЭШ – промах, но по мере заполнения КЭШа вероятность нахождения данных в КЭШе возрастает.

Одним из свойств КЕШ – памяти является ее прозрачность для приложений и пользователей. Ни пользователи, ни приложения не принимают никакого участия в перемещении данных из одного ЗУ в другое, все это выполняется автоматически средствами операционной системы.

В процессе работы содержимое КЕШ – памяти постоянно обновляется, то есть происходит вытеснение данных. Вытеснение данных означает:

1. Если данные не изменялись, то данная область КЕШ – памяти объявляется свободной;

2. Если данные изменялись, то данные копируются в основную память и данная область КЕШ – памяти объявляется свободной. Для определения изменения данных в КЕШ - памяти проверяется бит модификации.

Наличие двух копий данных - в КЕШ – памяти и в основной памяти порождает проблему согласования данных.Для решения которой используется два способа:

Сквозная запись – при каждом запросе к основной памяти просматривается КЕШ.

- если данные в КЕШ – памяти отсутствуют, то запись проводится только в основную память,

- если данные есть в КЕШ – памяти, то запись проводится и в КЕШ – память и в основную память;

Обратная запись - при каждом запросе к основной памяти просматривается КЕШ.

- если данные в КЕШ – памяти отсутствуют, то запись проводится только в основную память,

- если данные есть в КЕШ – памяти, то запись проводится и в КЕШ – память и устанавливается признак модификации = 1. Признак модификации показывает, что данные обновлялись и при вытеснении данных из КЕШ – памяти, они будут переписаны в основную память.

Существует два класса КЕШ – памяти:

- КЭШ 1- го уровня (внутренний КЭШ) – размещается на кристалле микропроцессора, имеет объем 16 / 32 кбайта.

- КЭШ 2 – го уровня (внешний КЕШ) – устанавливается в виде отдельной микросхемы, имеет объем 256 / 512 кбайт

КЭШ 1- го уровня имеет более высокое быстродействие, чем КЭШ 2 – го уровня.


 

Общая схема выполнения запроса к ОП в системах с Кэш – памятью

(выполнение системного вызова)

Запрос к

основной памяти

 

просмотр

кэш – памяти

 

кэш нет

да попадание

 

 

чтение какая запись запись какая чтение

операция операция

 

 

запись в чтение из

считывание основную основной

данных из кэш память памяти

 


 

алгоритм

согласования

есть да

нет свободное

место

передача

данных запись запись в кэш выбор

источнику в кэш и основ. установка бита данных на

запроса память модификации выгрузку

 


 

данные нет

да изменялись

 

 

копирование в

основ. память

 


 

копирование из

основн. памяти

 


передача данных

источнику

запроса

 

выполнение запроса

 


Схема выполнения запроса «чтение» в системах с двухуровневым кэшированием памяти

 

 

Запрос

на чтение данных

 

просмотр

кэш 1-го уровня

 

кэш нет

да промах

 

просмотр чтение из

кэш 2-го уровня кэш 1-го уровня

 


 

да кэш нет

промах

 

 

чтение чтение из

из ОП кэш 2-го уровня

 

 


запись в копирование в

кэш 2-го уровня кэш 1-го уровня

 

 

 


запрос выполнен

 

Схема выполнения запроса «запись» в системах с двухуровневым кэшированием памяти

 

Запрос

на запись данных

 

поиск в

кэш 1-го уровня

 

кэш нет

да промах

 

поиск в запись в

кэш 2-го уровня кэш 1-го уровня

 

 

кэш нет

промах

 


да

запись в

кэш 2-го уровня

 

 

 


установка бита

модификации

 

 

 


запись в ОП

запрос выполнен

 

 


 








Дата добавления: 2015-08-11; просмотров: 1029;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.023 сек.