Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Организация памяти вычислительных машин. Кэш-память



Организация памяти вычислительных машин.

Кэш-память.

Основным архитектурным способом согласования скоростных характеристик процессора и оперативной памяти является кэширование оперативной памяти. Под кэшированием понимается использование быстродействующей буферной памяти относительно малого размера, выполненного на элементах памяти статического типа, которые имеют более высокое быстродействие по сравнению с динамическими элементами оперативной памяти. В эту буферную память из оперативной памяти помещаются копии команд и данных относящихся к обрабатываемому в данный момент фрагменту программы. Работа буферной памяти прозрачна для программ и скрыта для пользователей, поэтому ее называют кэш-памятью (англ. cache - тайник). Кэш-память размещается в непосредственной близости от процессорного ядра, при этом ее работа наиболее эффективна, если она встроена в кристалл процессора. Это кэш первого уровня L1. В большинстве современных компьютеров 2-3 уровня кэш памяти. Раздельно кэш команд и кэш данных 1 уровня размещаются внутри кристалла процессора. Кэш-память 2 уровня L2 чаще всего располагается в одном корпуса с процессором и соединяется с ним с помощью специальной локальной шины, работающей на основной или половинной частоте процессора. Кэш-память 3 уровня L3 размещается на системной плате. Обычно все содержимое L1 находится в L2, а все содержимое L2 является частью L3. Принципы построения кэш-памяти всех уровней одинаковые. В целом, оперативная память вместе с кэш всех уровней представляет собой единую систему памяти, непосредственно доступную процессору для чтения и записи данных, а также считывания команд программ.

Виды кэш памяти.

Кэш память используется в качестве промежуточного буфера для хранения копий блоков информации ОП, вероятность обращения к которой в ближайшее время велика. Дополнительно адресуемой памяти кэш не добавляет и его использование не расширяет адресное пространство при обращении процессора к памяти в начале происходит поиск требуемых данных в кэш. Обнаружение искомой информации квалифицируется как кэш попадание, а отсутствие данных как кэш промаха. В системах с кэш памятью работа строится по принципу предсказания с определенной вероятностью следующего адреса обращения. Организация кэш памяти предусматривает ее обмен с ОП информационными блоками. В современных системах используются блоки фиксированного размера, например, 32 байта. Управляет кэш памятью специальный контроллер кэша, который осуществляет формирование адресов при обмене данными между ОП и кэшем, определяет находится ли запрашиваемый операнд в кэш памяти, загружает и отмечает как действительные блоки кэша и обеспечивает однозначное соответствие данных, записанных в кэш и в ОП. Все эти функции реализуются аппаратно. Для того, чтобы данные из ОП попали в кэш необходимо некоторым образом отображать ее сравнительно большой объем на небольшой поверхности буфера. Для указания какие именно блоки ОП хранятся в кэше, каждый блок данных в кэше снабжается тегом, то есть указателем признака адреса блока в ОП. Строки памяти с теговой организацией кроме данных содержат специальное поле тега. Теговая организация кэш памяти обеспечивает однозначное отображение информации, хранящейся в ОП с ее копией в кэше. В зависимости от способа отображения ОП на кэш различают полностью ассоциативный кэш, кэш с прямым отображением и частично ассоциативный или n-канальный, множественно ассоциативный кэш.

Полностью ассоциативная кэш память

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

Кэш память с прямым отображением.

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

Частично ассоциативная кэш память.

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

Целостность данных в системах кэш памяти.

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

1)Сквозная запись

2)Буферированная сквозная запись

3)Обратная запись

При сквозной записи при любой операции записи всегда обновляются и ОП и кэш память.

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

M (Modified)

E (Exclusive)

S (Shared)

I (Invalid)

При изменении данных в памяти действия кэш контроллера зависят от состояния строки кэш памяти.





Дата публикования: 2015-01-24; Прочитано: 1047 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...