24526

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

Доклад

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

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

Русский

2013-08-09

127.2 KB

31 чел.

Вопрос 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). Если данные в КЭШ отсутствуют, то запись выполняется только в основную память. В противном случае запись выполняется только в КЭШ память, но при этом устанавливается признак модификации данных, который при вытеснении данных из КЭШ указывает на то, что эти данные необходимо переписать в основную память.

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


 

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

68324. Транспозон. Типи транспозонів та механізми їх пересування 36.5 KB
  Мобільні генетичні елементи за типом транспозиції можна поділити на два класи: ДНК-транспозони які застосовують метод вирізати й вставити та ретротранспозони пересування яких має в своєму алгоритмі синтез РНК з ДНК та подальшим зворотнім синтезом ДНК з молекули РНК тобто метод копіювати й вставити.
68325. УЧЕБНЫЙ ПЛАН 32 KB
  В ответ нам покажут один максимум три листика с аккуратным указанием количества часов по каждому предмету в каждом классе. То есть практически учебный план сетка часов. Учебный план должен состоять из двух частей: объяснительная записка и сетка часов.
68326. УЧЕБНАЯ ПРОГРАММА 74.5 KB
  Нормативный текст определяющий цели ценности образования учебный план учебные программы педагогические технологии и методики их практической реализации и определения результата. Организационно-управленческое знание позволяющее реализовать принцип личностной ориентации...
68327. Учебник. Учебный материал 66 KB
  Как известно содержание единицы учебника параграфы главы характеризуется следующими параметрами: структурная сложность число разнородных единиц элементов их иерархия связи и отношения; содержательная сложность категория цели; информативность степень изменения тезауруса учебника...
68328. Формы, уровни, содержание и участники процесса правового обучения 236 KB
  Формы и уровни содержание гражданско-правового юридического образования право как обучение. Формы и уровни содержание гражданско-правового образования право как предмет обучения. Уровни образования. Законодатель допускает возможность получения образования в следующих формах каждая из которых есть особый способ...
68329. Управление и нормативно-правовое регулирование в области правого обучения 166 KB
  Нормативно-правовые акты регламентирующие процесс обучения. Муниципальная система образования это территориально обособленная и относительно самостоятельная часть системы образования республики взаимосвязанная с другими аналогичными частями.
68330. Методика преподавания учебной дисциплины «Уголовное право» 39 KB
  Задачи изучения дисциплины В результате изучения уголовного права студенты должны знать: − понятие предмет задачи и принципы уголовного права как отрасли национального права; − понятие значение структуру уголовного закона отдельных его статей; − понятие уголовной ответственности и ее основание...
68331. Евреи в Сибири 40 KB
  Первые упоминания о евреях в Сибири отнесятся к началу 2й четверти XVII века. В деле Сибирского приказа за 1635 год о возвращении из Сибири военнопленных сосланных в службу и на пашню упоминаются литовские немецкие люди и жиды. Относительно последних приказ дает воеводам подробные инструкции...