Помощь в написании студенческих работ
Антистрессовый сервис

Кеширование данных

Реферат Купить готовую Узнать стоимостьмоей работы

По результатам работы можно сделать вывод, для организации оптимально функционирующей системы не обязательно всю оперативную память реализовывать на дорогостоящих микросхемах SRAM. Даже небольшое (в процентном отношении) количество статической памяти при грамотном с ней обращении значительно увеличивает производительность системы, как и сама оперативная память значительно увеличивает… Читать ещё >

Кеширование данных (реферат, курсовая, диплом, контрольная)

Содержание

Определение КЭШа Задачи, реализуемые КЭШ-памятью Реализация обеспечения быстрого доступа к интенсивно используемым данным Согласование интерфейсов процессора и контроллера памяти Упреждающая загрузка данных Отложенная запись данных Организация, типы и принципы работы КЭШ-памяти Алгоритмы записи данных КЭШ-память с прямым отображением Полностью ассоциативная КЭШ-память Множественно-ассоциативная КЭШ-память Организация внутренней КЭШ-памяти микропроцессора Организация КЭШ-памяти микропроцессоров в мультипроцессорных системах Реализация запросов в системах с КЭШ-памятью

Выводы:

Организация процесса поиска в КЭШ-памяти информации с заданным физическим:

Физический адрес, по которому происходит обращение, разбивается на 3 поля: Тег, Индекс, № байта. 7 разрядов А10… А4 поля индекса определяют одно из 128 множеств. В выбранном множестве содержатся 4 строки с информацией. Чтобы определить, присутствует ли нужная информация в одной из строк этого множества, проводится сравнение старших 21 бита физического адреса (поле Тег) с тегами строк выбранного множества. Сравнение проводится только для достоверных строк, то есть тех, у которых в блоке достоверности установлен бит достоверности V = 1. Если для одной из строк ее тег и разряды А31… А11 физического адреса совпали, то это означает, что произошло кэш-попадание и необходимая информация есть в кэш-памяти. Считывается найденная строка из 16 байт. Искомый байт в ней определяется 4 младшими разрядами физического адреса (А3…А0).

Если для одной из строк ее тег и разряды А31… А11 физического адреса совпадения не произошло или все строки множества недостоверны, эта ситуация определяется как кэш-промах. В этом случае по сформированному микропроцессором физическому адресу выполняется обращение к оперативной памяти. Из ОЗУ извлекается нужная информация, и содержащая ее строка записывается в свободную строку выбранного множества. Старшие 21 бит физического адреса записываются в поле тега этой строки.

Если все строки в выбранном множестве достоверны, то замещается строка, к которой дольше всего не было обращений согласно механизму LRU. Этот механизм действует точно так же, как и при вытеснении строк из буфера ассоциативной трансляции TLB.

Режим работы кэш-памяти определяется программно установкой разрядов CD (запрет кэширования) и NW (запрет сквозной записи) в управляющем регистре CR0. Кэширование можно разрешить (это состояние после инициализации при сбросе), можно запретить при наличии достоверных строк (в этом режиме КП действует как быстрое внутреннее ОЗУ) или, наконец, кэширование может быть полностью запрещено.

Организация КЭШ-памяти микропроцессоров в мультипроцессорных системах Мультипроцессорной системой является система в которой несколько микропроцессоров используют общую оперативную память, как представлено на рисунке 6. При такой схеме работы могут возникать проблемы, связанные с КЭШшированием информации из оперативной памяти в КЭШ-память микропроцессоров.

Рис. 6. Структура мультипроцессорной системы с общей ОЗУ

Для обеспечения согласованности (когерентности) памяти в мультипроцессорных системах используются аппаратные механизмы — протоколы когерентности КЭШ-памяти. Данные протоколы призваны гарантировать, что любое считывание элемента данных возвращает последнее по времени записанное в него значение.

Классы протоколов когерентности КЭШ-памяти:

протоколы на основе справочника (directory based): информация о состоянии блока физической памяти содержится только в одном месте, называемом справочником (физически справочник может быть распределен по узлам системы);

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

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

Для поддержания когерентности могут применяться два метода:

запись с аннулированием (write invalidate protocol);

запись с обновлением (write update protocol) или запись с трансляцией (write broadcast protocol).

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

Альтернативой протоколу записи с аннулированием является обновление всех копий элемента данных в случае записи в этот элемент данных.

Этот тип протокола называется протоколом записи с обновлением, или протоколом записи с трансляцией.

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

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

Реализация запросов в системах с КЭШ-памятью Обобщенная схема работы КЭШ-памяти может быть представлена с помощью блок-схемы, представленной на рисунке 7. Данная блок-схема иллюстрирует, что при выполнении записи КЭШ просматривается с единственной целью — согласования содержимого КЭШа и основной памяти, т. е. происходит определение наличия запрошенного блока в КЭШе. В случае промаха запросы на запись не вызывают никаких изменений содержимого КЭШа. В некоторых же реализациях КЭШ-памяти при промахе данные копируются в КЭШ из основной памяти независимо от того, выполняется запрос на чтение или на запись.

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

Рис. 7. Схема выполнения запроса

Выводы:

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

По результатам работы можно сделать вывод, для организации оптимально функционирующей системы не обязательно всю оперативную память реализовывать на дорогостоящих микросхемах SRAM. Даже небольшое (в процентном отношении) количество статической памяти при грамотном с ней обращении значительно увеличивает производительность системы, как и сама оперативная память значительно увеличивает производительность обмена с дисками, значительно превосходящими последнюю по объему. Для реализации такой системы, а также для уменьшения количества промахов (cache miss), системы функционирующей на основе КЭШа необходимо грамотно провести анализ организации самой системы и подобрать соответствующие ей стратегии и алгоритмы работы с КЭШем. На мой взгляд, для максимальной оптимизации работы и для уменьшения количества промахов необходимо использовать комбинирование стратегий и алгоритмов.

Вильям Столлингс, (перевод В. Т Терпышного) Структурная организация и архитектура компьютерных систем Москва, Изд: «Вильямс» — 2002 г.

Гук. М. Процессоры intel от 8086 до Pentium 4. С-Пбю, Изд:"Питер Паблишинг" - 2002 г.

Радовский Н. Пути апгрейда. Компьютерра-Спецвыпуск, Зима 2002

Э. Таненбауэм Архитектура компьютера С-Пб., Изд: «Питер» — 2003 г.

Фигурнов В.Э. IBM PC для пользователя; 8 издание. Москва — «Финансы», — 2001 г.

Внешняя память

Память с прямым доступом

Память с последовательным доступом

Оперативная память

Ядро

Сверхоперативная память (КЭШ)

Управляющая память

Процессор

К аппаратуре процессора

Процессор

КЭШ-контроллер

КЭШ-память

Оперативная память

строка 0

строка 99

КЭШ-память

строка 0

строка 99

строка 100

строка 199

строка 200

строка 299

ОЗУ

шина адреса ОЗУ

КЭШВ

МПВ

КЭША

МПА

a — адрес

b — адрес блока

разряды W

d — смещение внутри блока

i — индекс

t — тег

шина данных

Запрос к основной памяти

Просмотр КЭШа

КЭШ-попадание?

Hit

Miss

Операция:

Операция:

Запись в КЭШ + признак модификации

Запись в КЭШ и в осн. память

Алгоритм согласования

Передача данных источнику запроса

Считывание данных их КЭШа

Write

Read

Чтение из основной памяти

Запись в основную память

Копировать данные в основную память

Выбор данных на выгрузку

Есть своб. память?

Да

Нет

Данные модифицир-ны?

Нет

Да

Копировать данные из основной памяти в КЭШ

Передача данных источнику запроса

Запрос выполнен

Показать весь текст

Список литературы

  1. Вильям Столлингс, (перевод В. Т Терпышного) Структурная организация и архитектура компьютерных систем Москва, Изд: «Вильямс» — 2002 г.
  2. Гук. М. Процессоры intel от 8086 до Pentium 4. С-Пбю, Изд:"Питер Паблишинг" - 2002 г.
  3. Н. Пути апгрейда. Компьютерра-Спецвыпуск, Зима 2002
  4. Э. Таненбауэм Архитектура компьютера С-Пб., Изд: «Питер» — 2003 г.
  5. Фигурнов В.Э. IBM PC для пользователя; 8 издание. Москва — «Финансы», — 2001 г.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ