Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
gosi.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
528.21 Кб
Скачать

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

Кэш-память.

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]