Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_к_экзамену_АК_2009_10(теория).doc
Скачиваний:
25
Добавлен:
17.09.2019
Размер:
3.38 Mб
Скачать
  1. Согласование содержимого кэш-памяти и оп. Стратегии записи в кэш-памяти.

В процессе вычислений:

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

2. Многие УВВ напрямую обмениваются информацией с ОП.

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

Способы устранения:

= первой причины – методы обновления ОП (стратегии записи):

- сквозная запись (write through);

- обратная запись (write back);

= второй причины – два приема:

- ввод информации в ОП с параллельным обновлением содержимого кэш-памяти;

- «прямой» доступ к ОП только через кэш-память.

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

1. Обновляется слово, хранимое в ОП.

2. Если в кэш-памяти существует копия этого слова, то она также обновляется.

3. Если нужная копия в кэш-памяти отсутствует, то возможны варианты:

- из ОП в кэш-память пересылается блок, содержащий обновленное слово (сквозная запись с отображением);

- пересылка блока не производится (сквозная запись без отображения).

Свойства:

+ содержимое строк кэш-памяти всегда соответствует содержимому блоков ОП;

+ при замещении строки удаляемый блок не требуется возвращать в ОП;

+ достаточно прост в реализации;

- эффект от использования кэш-памяти (сокращение времени доступа) в отношении к операциям записи отсутствует. Информация записывается в кэш-память и в специальный буфер FIFO. Запись в ОП производится из буфера; ЦП не ожидает ее окончания. ЦП полностью освобождается от работы с ОП. Своевременное «опустошение» заполненного буфера обеспечивает логика управления.

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

Слово заносится только в кэш-память. Если соответствующей строки в кэш-памяти нет, то:

- Нужный блок пересылается из ОП.

- Выполняется запись в кэш-память.

Перед замещением строка сохраняется в ОП.

Свойства:

+ ЦП может многократно изменять копию блока ОП без обращения к последней;

- нарушение когерентности.

Модификация метода - метод флаговой обратной записи: при модификации строки кэша устанавливается связанный с ней бит изменения (флаг), при замещении строка кэш-памяти переписывается в ОП, если ее флаг установлен в 1. Это способствует повышению эффективности.

Метод обратной записи в среднем на 10% эффективнее метода сквозной записи, однако имеет бОльшие аппаратные затраты.

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

  1. Многоуровневая кэш-память. Принстонская и гарвардская архитектуры кэш-памяти.

Проблема: с увеличением емкости кэш-памяти падает ее быстродействие.

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

Пример: двухуровневая память:

Устройство

Внутрення

Внешняя

Уровень

L1

L2

Расположение

на кристалле ЦП

чаще всего на кристалле ЦП

Быстродействие

наивысшее

ниже

Технология

SRAM

SRAM

Емкость, Кбайт

не более 64

256, 512, реже 1024

При доступе ЦП к памяти:

1. Обращение к L1-кэш.

2. В случае промаха – обращение к L2-кэш.

3. Если информация отсутствует и в L2, выполняется обращение к ОП; соответствующий блок заносится сначала в L2, а затем и в L1.

Среднее время доступа:

Для одноуровневой памяти: Tcp = TL1h + KL1m x TL1m

Для многоуровневой памяти: Tcp = TL1h + KL1m x TL2h + KL2m x TL2m

КL1m – коэффициент промахов;

TL1m – потери на промах;

TL1h – потери при попадании.

Смешанная и раздельная кэш-память:

Смешанная используется для команд и данных (Принстонская архитектура); появилась первой. При заданной емкости более высокая вероятность попаданий (благодаря автобалансировке между командами и данными).

Раздельная состоит из двух блоков: отдельно для команд и отдельно для данных (Гарвардская архитектура). Присутствует возможность бесконфликтной одновременной выборки команд и данных (актуально для систем с конвейеризацией команд)