Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кухтик лекции_ВМСС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
561.66 Кб
Скачать

Вопрос 19.

Иерархия памяти.

В основе реализации ИП в современных ЭВМ лежит 2 принципа:

1. Принцип локальности обращений.

2. Соотношение стоимость-производительность

Принцип локальности обращений говорит о том, что большинство программ не выполняют обращений ко всему адресному пространству ОЗУ равновероятно, оказывает предпочтение некоторой части адресного пространства.

ИП современных вычислительных машин строится на нескольких уровнях, причем более высокий уровень меньше по объему, быстрее, и имеет большую стоимость в пересчете на байт, чем более низкий уровень. Уровни иерархии памяти взаимосвязаны. Все данные верхнего уровня могут быть найдены на нижележащем уровне, и т.д., пока мы не достигнем основания иерархии (ОЗУ).

Успешное или неуспешное обращение к более высокому уровню иерархии памяти называется соответственно попаданием (hit) или промахом (miss). Попадание – обращение к объекту в памяти, который найден на более высоком уровне. Промах – не найден на уровне.

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

Miss penalty (потеря при промахе) – есть время на замещение блока на более высоком уровне + время при обращении при попадании.

Организация кэш-памяти.

Сегодня кэш-память имеется практически в любом классе ЭВМ, а в некоторых во множественном числе. При обращении к кэш-памяти на реальных программах преобладает обращение по чтению.

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

Кэш-память верхнего уровня

Кэш-память

Кэш-память нижнего уровня

1ая возможность – сквозная запись. Информация записывается во все уровни иерархии памяти.

2ая возможность – запись с обратным копированием. Информация записывается только в верхний уровень кэш-памяти.

Модифицированный блок кэш-памяти записывается в ОЗУ, только когда он замещается (в ОЗУ и нижние уровни КЭШа).

Для сокращения частоты копирования в блоках при замещении обычно с каждым блоком кэш-памяти связывается так называемый бит модификации. Этот бит показывает, был ли модифицирован блок, находящийся в кэш-памяти.

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

Оба подхода к организации записи имеют свои преимущества и недостатки.

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

При сквозной записи промахи почти не влияют на частоту записи. Она проще для реализации.

Кроме того, имеет преимущества в том, что ОЗУ имеет более свежую копию данных. Это важно в мультипроцессорных системах.

При промахе во время записи имеется две дополнительные возможности:

  1. Разместить запись в кэш-памяти. Т.о. блок с нужным адресом загружается в кэш-память, вслед за тем выполняются действия, аналогичные выполняющимся при записи с попаданием.

  2. Не размещать запись в кэш-память. Блок модифицируется на более низком уровне и не загружается в кэш-память.

Обычно в кэш-памяти, реализующей запись с обратным копированием, используется первая возможность, а со сквозной записью – вторая.

Принципы организации ОЗУ в современных ЭВМ.

ОЗУ представляет собой низший уровень иерархии памяти. Удовлетворяет запросы кэш-памяти, служит в качестве интерфейса ввода-вывода, поскольку является местом назначения для ввода и источником для вывода.

Для оценки производительности ОЗУ используется 2 основных параметра:

  1. Задержка

  2. Полоса пропускания

Задержка ОЗУ оценивается двумя параметрами:

  1. Временем доступа

  2. Длительностью цикла памяти

Время доступа представляет собой промежуток времени между выдачей запроса на чтение и моментом поступления запрошенных данных из памяти.

А длительность цикла определяется минимальным временем между двумя последовательными обращениями к памяти.

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

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

  1. увеличение разрядности или ширины шины памяти.

  2. использование расслоения памяти и др.

Увеличение разрядности ОЗУ.

Память первого уровня во многих случаях имеет ширину шин данных, соответствующую разрядности процессора. В системах с одним уровнем кэш-памяти ширина шин данных ОЗУ и кэш-памяти одинакова.

Удвоение или учетверение ширины шин кэш-памяти и ОЗУ удваивает или учетверяет соответственно полосу пропускания системы памяти.

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

Память с расслоением.

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

В реальных системах имеющаяся скорость доступа к микросхемам ОЗУ, а, следовательно и к банку, оказывается недостаточно. Следовательно, чтобы получить большую скорость доступа, необходимо осуществить одновременный доступ ко многим банкам ОЗУ. Одна из общих методик, используемых для этого, называется расслоением памяти. При расслоении банки ОЗУ обычно упорядочиваются так, чтобы n последовательных адресов ОЗУ приходились на n различных банков. В i-ом банке ОЗУ находятся данные, адреса которых имеют вид k*N+i, где 0=< k<=n-1, где N – число адресов в одном банке. Можно достичь в ~n раз большую скорость доступа к ОЗУ в целом, чем к отдельному ее банку, если обеспечить при каждом доступе обращение к данным в каждом из n банков.

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

Однако если требуется доступ к непоследовательно расположенным адресам памяти, производительность расслоений памяти может значительно снижаться.

Одно из решений, используемых в высокопроизводительной ЭВМ, заключается в том, чтобы статистически уменьшить вероятность подобных обращений путем значительного увеличения числа банков памяти.

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