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

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


 

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

34713. Роль денег в рыночной экономике. Виды денег и их свойства 17.6 KB
  В рыночной экономике деньги выполняют ряд функций. Вовторых деньги являются средством измерения стоимости товаров и услуг. В третьих деньги служат в качестве средства образования и накопления сбережений. Вчетвертых деньги являются средством платежа то есть при помощи денег можно уплатить налоги выплатить пенсии и пособия заплатить за товар или услугу сделать вклад в банк.
34714. Валовой внутренний продукт. Методы исчисления ВВП 17.16 KB
  Методы исчисления ВВП. Чтобы ответить на вопрос как идут дела в экономике страны ежегодно вычисляется показатель валового внутреннего продукта ВВП. Прежде чем сформулировать понятие ВВП определим что такое конечный продукт. Валовой внутренний продукт ВВП – это общая стоимость или сумма рыночных цен всех конечных товаров и услуг произведенных в данной стране в течение года.
34715. Валовой национальный продукт. Чистый национальный продукт и национальный доход 14.63 KB
  Однако существует еще один показатель – валовой национальный продукт ВНП. Выясним что представляет собой ВНП и чем он отличается от ВВП. Когда мы будем исчислять ВНП России то наоборот включим в общую сумму доходы созданные за пределами России. долларов созданы иностранным капиталом на территории нашей страны а значит включаются в ВВП России а в ВНП – нет.
34716. Государственный бюджет. Номинальный и реальный валовой внутренний продукт 17.59 KB
  Валовой внутренний продукт ВВП – это общая стоимость или сумма рыночных цен всех конечных товаров и услуг произведенных в данной стране в течение года. Показатель номинального ВВП зависит и от количества производимых в стране товаров и услуг и от уровня цен на них. Следовательно если ВВП произведенный в разные годы выражать в ценах того года в который он производился то в одном году его объем будет выражен в одних ценах в другом году – в других. Поэтому номинальный ВВП не может служить для оценки роста или сокращения реального...
34717. Теория Маслоу. Виды благ. Факторы производства. Безграничность потребностей и ограниченность ресурсов 32.36 KB
  Он выделял пять групп потребностей: физиологические потребности в пище воде одежде жилье отдыхе воспроизведении рода; потребности в безопасности защита от преступников и внешних врагов защита от нищеты и помощь при болезнях комфорт постоянство условий жизни; социальные потребности в любви дружбе общении с людьми; потребности в уважении со стороны других людей и самоуважении достижение успеха служебный рост; потребности в самореализации реализация своих целей способностей развитие собственной личности. По...
34718. История развития метрологии в России 23.6 KB
  Метрология в древнем мире и в средние векаПотребность в измерениях возникла в незапамятные времена.Многие меры имели антропометрическое происхождение или были связаны с конкретной трудовой деятельностью человека.Древнее происхождение имеют и естественные меры. Первыми из них получившими повсеместное распространение стали меры времени.
34719. Античная система мер и весов 20.09 KB
  Первоначально видимо возникли меры длины. Меры длины палец 185 см 1 12 целого 246 см ладонь 739 см ступня 2962 см локоть 463 см двойной шаг 148 м день пути 28 725 м Меры площади югер 25233 м 10 000 квадратных футов 876 м арура 50 квадратных футов 438 м Меры объёма Котила античная единица измерения ёмкости равная 0275 литра. Хус античная единица измерения ёмкости равная 324 литра Меры объёма сыпучих тел медимн четверик 525 л модий четверик 874 л Меры объёма жидких тел метрет...
34720. Основные особенности развития системы мер в средневековой Западной Европе 19.29 KB
  Характерной чертой ее было понятие целого s базовой единицы измерения. Такой принцип унифицировал способы измерения облегчал установление соответствий между линейными квадратными и кубическими мерами. Для измерения больших земельных массивов применялись такие меры как центурии 200 югеров 50377 га и сальтус 4 центурии или 2015 га. Меры измерения объема жидких и сыпучих тел исчислялись несколько поиному.
34721. Меры веса и объема Древнерусского государства 15.12 KB
  Меры веса были очень разнообразны т. Равнялся 10 пудам1638 кг Пуд был наиболее ходовой мерой и равнялся 1638 кг Гривна употреблялась и как мера веса и как денежная единицаслиток серебра весом 400г Гривна весоваяпримерно 40 г серебра Меры объёма: основная мера объёма жидкостей была ведро= 1 40 бочки=10 кружек. Бочка как мера жидкостей применялась в основном в процессе торговли с иностранцами которым запрещалось вести розничную торговлю вином на малые меры.