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

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


 

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

81168. Человек - иерархия потребностей (А. Маслоу, Ф. Херцберг, Э. Гомерсол) 77.33 KB
  Все человеческие потребности он разделял на пять групп и назвал их базовыми потребностями. Физиологические потребности которые являются необходимыми для жизни и существования. Они включают потребности в еде питье убежище отдыхе и сексуальные потребности. Сам автор пишет об этом следующее: За отправную точку при создании мотивационной теории обычно принимаются специфические потребности которые принято называть физиологическими позывами.
81169. Процессуальные теории мотивации 32.09 KB
  Вознаграждение все что человек считает ценным для себя. Внутреннее вознаграждение дает сама работа внешнее дает начальник. Результат вознаграждение. ценность удовлетворенность вознаграждением так как предпочтения у различных людей различны.
81170. Теория стилей руководства Р. Лайкерта 91.67 KB
  Ренсис Лайкерт 1903 1981 разработал собственную теорию стилей руководства. С помощью опроса лидеров и их подчиненных было выявлено два стиля руководства: руководство ориентированное на выполнение задачи и руководство ориентированное на взаимоотношения со служащими подбор кадров и работу с ними. в продолжение своих исследований Лайкерт обобщил реальные методы управления и предложил четыре базовых стиля руководства.
81171. Теория управленческих решений А. Пригожина 35.5 KB
  Обладая собственной логикой функционирования объект управления приобретает не только значительный запас инерционности но и способность задерживать и искажать исполнение решений принятых наверху. Однако в развитии отечественной социологии управления все еще налицо так называемый эффект запаздывания. У современной социологии управления в нынешнем хаотичном малопредсказуемом мире мире повышенных рисков цивилизационных экономических политических экологических как науки изучающей более широкую в сравнении с менеджментом проблематику...
81172. Прикладное социологическое исследование в сфере социального управления 38.95 KB
  Фундаментальные исследования ориентированы на разработку теорий выявление социальных тенденций развития системы анализ общих противоречий возникающих в ней. Прикладные исследования направлены на изучение конкретных социальных проблем связанных с решением практических задач регулированием меж групповых и внутригрупповых отношений и социальных процессов. ее репрезентативность; метода...
81173. Программа социологического исследования 42.46 KB
  Программа социологического исследования документ содержащий развернутое изложение ее теоретикометодологических предпосылок общей концепции с обоснованием актуальности целей задач объекта предмета и гипотез предпринимаемого исследования а также его методикоинструментального аппарата вместе с логически обоснованной последовательностью необходимых процедур и организационным планомграфиком и стоимостью всех видов работ. Содержание программы варьируется и зависит от типа и целей исследования. Обоснование цели задач объекта и предмета...
81174. Методы социологического исследования 38.81 KB
  Набор специфических методов исследования социологической науки позволяет наэмпирическом уровне отследить происходящие в обществе процессы т. Конкретный вид социологического исследования обусловлен характером поставленной цели выдвинутых задач в соответствии с чем различают три основных вида социологического исследования: разведывательное; описательное; аналитическое. Разведывательное исследование наиболее простой вид прикладного социологического анализа решает весьма ограниченные по своему содержанию задачи; как правило оно...
81175. Виды методов социологического исследования 81.24 KB
  Этот социологический эмпирический метод незаменим при сборе ограниченного объема информации у большого числа людей и может выступать в двух видах: анкетирование когда опрашиваемый сам заполняет анкету в присутствии анкетера или без него; может быть очным и заочным; среди форм заочного анкетирования наиболее распространен почтовый опрос а также прессовый через газету журнал; значимым преимуществом анкетирования является принцип анонимности однако даже он не гарантирует что ответы респондента опрашиваемого будут правдивыми поэтому...
81176. Управление творческим потенциалом организации 33.2 KB
  В настоящее время в результате глобальных перемен произошедших в результате развития нашей страны и перехода к рыночной экономике возникает необходимость разработки новой системы формирования и развития кадрового потенциала управления так как эффективное функционирование предприятия в решающей степени зависит от кадров руководителей. С целью укрепления позиций на рынке и повышения конкурентоспособности компании при прочих неизменных условиях современные управляющие стараются использовать творческий резерв компании а именно формируют новую...