Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Кэширование. Принцип работы кэш-памяти



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

Кэш-память — это способ организации совместного функциони­рования двух типов запоминающих устройств, отличающихся вре­менем доступа и стоимостью хранения данных, который позволяет уменьшить среднее время доступа к данным за счёт динамического копирования в «быстрое» ЗУ наиболее часто используемой инфор­мации из «медленного» ЗУ.

Кэш-памятью часто называют не только способ организации ра­боты двух типов запоминающих устройств, но и одно из устройств — «быстрое» ЗУ. Оно стоит дороже и, как правило, имеет сравни­тельно небольшой объём. Важно, что механизм кэш-памяти явля­ется прозрачным для пользователя, который не должен сообщать никакой информации об интенсивности использования данных и не должен никак участвовать в перемещении данных из ЗУ одного ти­па в ЗУ другого типа; всё это делается автоматически системными средствами.

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

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

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

1. Просматривается содержимое кэш-памяти с целью определе­ния, не находятся ли нужные данные в кэш-памяти; кэш-память не является адресуемой, поэтому поиск нужных данных осуществляет­ся по содержимому — значению поля «адрес в оперативной памяти», взятому из запроса. Причём, поиск должен выполняться быстро, по­этому эта память обычно является ассоциативной.

2. Если данные обнаруживаются в кэш-памяти, то они считыва-ются из неё, и результат передаётся в процессор.

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

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

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





Дата публикования: 2015-02-03; Прочитано: 4738 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...