24526

Кэш-память. Принцип функционирования кэш-памяти

Доклад

Информатика, кибернетика и программирование

Кэшпамять. Принцип функционирования кэшпамяти. Кэширование данных. Кэшпамять.

Русский

2013-08-09

127.2 KB

29 чел.

Вопрос 31. Кэш-память. Принцип функционирования кэш-памяти.

§5.4.1. Кэширование данных.

                                       Кэш-память.

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

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

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

Необходимость в кэш-памяти обусловлена следующим: чем выше быстродействие ЗУ, тем меньше его максимальный объем (ёмкость) и наоборот. При этом, чем выше быстродействие памяти, тем технически сложнее достигается и дороже обходится увеличение ее объема.

Память вычислительной машины представляет собой иерархию запоминающих устройств (ЗУ), отличающихся средним временем доступа к данным, объемом и стоимостью хранения одного бита (рис. 5.14).

Рис. 5.14. Иерархическая структура памяти

На самой верхней ступеньке иерархии находятся внутренние регистры процессора. Время доступа к регистрам зависит от быстродействия процессора и составляет несколько наносекунд. Общий объем регистров может составлять десятки или сотни байт.

Для повышения производительности при обмене данными между процессором и основной памятью используется быстродействующая память статического типа, называемая КЭШ-памятью. Быстродействие КЭШ-памяти выше быстродействия оперативной памяти. Как правило, в компьютерах используется два уровня КЭШ-памяти (Level 1 и Level 2). Объем КЭШ-памяти 1-го уровня составляет от нескольких десятков Кбайт до сотен Кбайт. Объем КЭШ-памяти 2-го уровня составляет от нескольких сотен Кбайт до нескольких Мбайт.

Оперативная или основная память служит для хранения программ и данных. Её быстродействие ниже, чем у КЭШ-памяти, а объем составляет от сотен Мбайт до нескольких Гбайт. Часть ОЗУ может использоваться как КЭШ для внешних запоминающих устройств.

Объем хранимой информации во внешнем запоминающем устройстве составляет:

- 0,7 Гбайт – CD; 5…17 Гбайт – DVD; 25…200 Гбайт – Blu-ray;

- сотни Гбайт – жесткие диски;

- десятки Тбайт – накопители на магнитной ленте (используются для резервного копирования информации).

Время доступа к данным для жестких дисков составляет порядка 10мс, для оптических дисков – 50…100мс, для накопителей на магнитной ленте – секунды или даже минуты, поскольку на них реализована память с последовательным доступом.

Таким образом, можно сделать вывод, что с увеличением быстродействия памяти (уменьшении времени доступа) увеличивается стоимость хранения данных в расчете на один бит. Использование КЭШ-памяти предоставляет собой компромиссное решение с целью увеличения производительности системы без резкого увеличения её стоимости.

Структура двухуровневой КЭШ-памяти микропроцессора показана на рис. 5.15. В микропроцессоре используется разделенная КЭШ-память 1 уровня для команд и для данных, что позволяет практически удвоить пропускную способность подсистемы памяти. Между КЭШ-памятью 1 уровня и оперативной памятью внутри корпуса микросхемы процессора располагается КЭШ-память 2 уровня. На материнской плате между КЭШ-памятью 2-го уровня и оперативной памятью может располагаться и КЭШ-память 3 уровня, но в большинстве персональных компьютеров она отсутствует. Обычно все содержимое КЭШ-памяти 1-го уровня находится в КЭШ-памяти 2-го уровня и т.д.

Рис. 5.15. Структура КЭШ-памяти микропроцессора

§5.4.2.Функционирование кэш-памяти.

Рассмотрим одну из возможных схем кэширования (рис. 5.16).

Содержимое КЭШ-памяти представляет собой совокупность записей обо всех загруженных в неё элементах данных из основной памяти. Каждая запись об элементе данных содержит:

- адрес элемента данных в основной памяти;

- значение элемента данных (данные);

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

 

 Рис. 5.16. Схема функционирования КЭШ-памяти

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

- если данные обнаруживаются в КЭШ-памяти, то произошло КЭШ-попадание (cash-hit), данные из нее считываются и передаются источнику запроса;

- если нужные данные отсутствуют в КЭШ-памяти, то произошёл КЭШ-промах (cash-miss), данные считываются из основной памяти, передаются источнику запроса и одновременно копируются в КЭШ-память.

Эффективность кэширования зависит от вероятности попадания в КЭШ.

Cреднее время доступа к данным t в системе с КЭШ-памятью:

,

где t1 – среднее время доступа к основной памяти;

t2 – среднее время доступа к КЭШ-памяти (t2 < t1);

p – вероятность КЭШ-попаданий.

Следовательно, среднее время доступа к данным линейно зависит от вероятности КЭШ-попаданий и может меняться от t1 при p=0 до t2 при p=1. Отсюда следует, что использование КЭШ-памяти имеет смысл при высокой вероятности КЭШ-попаданий.

В реальных системах вероятность попадания в кэш превышает 90 %. Такое высокое значение вероятности объясняется использованием таких объективных свойств данных, как временная и пространственная локальность.

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

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

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

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

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

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

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

Сквозная запись (write through). При каждом запросе к основной памяти (при чтении и записи) просматривается КЭШ. Если данные в КЭШ отсутствуют, то запись выполняется только в основную память, если присутствуют, то запись выполняется одновременно в КЭШ и основную память.

Обратная запись (write back). Если данные в КЭШ отсутствуют, то запись выполняется только в основную память. В противном случае запись выполняется только в КЭШ память, но при этом устанавливается признак модификации данных, который при вытеснении данных из КЭШ указывает на то, что эти данные необходимо переписать в основную память.

Иными словами, при сквозной записи данные в  КЭШ и в основной памяти обновляются одновременно. При обратной записи обновляются только данные в КЭШ, обновление основной памяти происходит только при вытеснении данных из КЭШ.


 

А также другие работы, которые могут Вас заинтересовать

30419. Политико-территориальное устройство, организация региональной и местной власти во Франции 17.69 KB
  Политикотерриториальное устройство организация региональной и местной власти во Франции. Территория континентальной Франции метрополии делится на 96 департаментов. В настоящее время во Франции насчитывается 22 региона. Помимо административнотерриториальных единиц метрополии во Франции имеются заморские коллективы бывшие колонии которые стали частью Франции: заморские департаменты; заморские территории; территории с особым статусом.
30420. Особенности германского конституционного права 15.73 KB
  Конституция ФРГ она именуется Основным законом выработанная в 19481949 гг. С ратификацией Договора об объединении между ФРГ и ГДР который был подписан 31 августа 1990 г. и Договора Два плюс четыре СССР США Великобритания Франция с одной стороны и ГДР и ФРГ с другой прекратилось действие прав и обязательств четырех державпобедительниц в отношении Берлина и Германии а Германия в целом обрела полный суверенитет. Единый Берлин был объявлен столицей ФРГ.
30421. Форма правления и государственный режим в Германии, формирование и взаимодействие высших государственных органов 16.44 KB
  Депутаты бундестага имеют свободный мандат . Бундестаг из своего состава избирает президента бундестага и вицепрезидентов. Изменения и дополнения к Основному закону также принимаются совместно 2 3 голосов депутатов бундестага и 2 3 голосов членов бундесрата. Особенностью функционирования законодательной власти ФРГ является то что в ситуации законодательной необходимости правительство может передать данное право от бундестага бундесрату.
30422. Германский федерализм, местное управление и самоуправление 15.48 KB
  Оно состоит из 16 земель многие из которых имели многовековые традиции собственной государственности Бавария Саксония ШлезвигГолштейн Баден и др. 3 из 16 земель являются городами Берлин как столица; Гамбург и Бремен в прошлом были городамиреспубликами и входили в Ганзейский Союз . Выделяются вопросы: исключительной компетенции федерации; совместной компетенции; компетенции земель. Особенностью немецкой федерации является и то что наряду с федеральной в каждой земле имеется своя конституционная юстиция...
30423. Конституция Японии, особенности правоприменения 15.2 KB
  Конституция Японии особенности правоприменения. Конституционное развитие Японии началось в 1889 г. После поражения Японии во второй мировой войне и ее оккупации американскими войсками началась разработка новой конституции. Фактически послевоенная конституция Японии была написана для этой страны США и их союзниками.
30424. Форма правления и государственный режим Японии 14.26 KB
  Форма правления и государственный режим Японии. В Японии формой правления является парламентарная монархия введение которой вместо дуалистической было оформлено конституцией 1947 г. новый основной закон Японии явился значительным продвижением вперед на пути демократизации политической системы страны. “Парламент является высшим органом государственной власти и единственным законодательным органом государства†“Парламент состоит из двух палат: Палаты представителей и Палаты советников†Высший орган...
30425. Политико-территориальное устройство 15.83 KB
  Закон о местной автономии делит местные территориальные единицы на две группы: единицы органы управления которыми обладают общей компетенцией и единицы на территории которых осуществляется специальная юрисдикция. Первые в свою очередь делятся на политикоадминистративные единицы высшего уровня и низшего уровня. Единицы низшего уровня это города си поселки мати и сельские общины мура . Прочие префектуры делятся на низшие единицы: города поселки и общины.
30426. Особенности конституционного права Италии 16.2 KB
  Особенности конституционного права Италии Одна из особенностей итальянской Конституции заключается в отсутствии преамбулы. В Конституции получили отражение практически все отношения между внутренним и международным правом. 10 и 11 оказались настолько широкими что в Конституции ничего не пришлось менять и не понадобилось включать в нее новые нормы в связи с углубляющейся интеграцией стран членов Европейского союза после подписания 7 февраля 1992 г. Маастрихтских соглашений более чем половине государств членов...
30427. Форма правления и государственный режим в Италии. Формирование и взаимодействие высших государственных органов 15.72 KB
  Италия это классическая парламентарная республика. Правительство несет политическую ответственность перед обеими палатами парламента причем в условиях отсутствия в нем устойчивого партийного большинства обусловленного многопартийностью такая ответственность имеет вполне реальный действенный характер. Наглядным проявлением этого служат частые отставки правительства представляющие собой яркое доказательство существования в стране государственного режима парламентаризма. Двухпалатная структура итальянского Парламента...