Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!!Экзаменационные вопросы_003.rtf
Скачиваний:
9
Добавлен:
19.09.2019
Размер:
17.62 Mб
Скачать
  1. 5. Иерархия памяти в современных компьютерах. Кэш. Терминология. 3 типа кэш-памяти. Стратегии поиска и замещения блоков. Сквозная и обратная запись. Достоинства и недостатки.

Современные МП - внутрикристальный кэш. Внекристальная память - также кэш и основная. Распределенные системы - удаленная память. Каждый верхний уровень как кэш нижнего - иерархия.

Типовая иерархия памяти:

- (регистры 64-256 слов, 1 такт)

- кэш 1 ур – 8Кслов – 1-2 такта

- кэш 2 ур – 256 кслов – 3-5 тактов

- основная – 4Гслов – 12-55 тактов

- удаленная память – сотни-тысячи

Блок - минимальная единица информации, которая может присутствовать либо отсутствовать в иерархии. Размер блока может быть фиксированным либо переменным. Если фиксирован - размер памяти кратен размеру блока.

Попадание (hit) - успешное обращение к более высокому уровню, промах (miss) - неуспешное. Время обращения при попадании - включает время на определение факта попадания.

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

Размещение блока в кэше

1. каждый блок имеет фиксированное место – кэш с прямым отображением. Используются младшие разряды адреса.

2. любой блок – на любом месте – полностью ассоциативный кэш.

3. некоторый блок – на ограниченном множестве мест – частично ассоциативный или множественно-ассоциативный.

Как найти блок в кэше?

У каждого блока в кэше имеется адресный тэг, показывающий, какой блок в оперативной памяти он представляет.

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

Какой блок должен быть замещен при промахе?

При промахе нужно выбрать блок, который должен быть заменен. При прямом отображении– только один блок проверяется и только он может быть заменен. В других случаях сложнее. Чаще всего - 2 стратегии – случайная и LRU, когда все обращения к блоку фиксируются, и замещается тот, к которому дольше не было обращения. Случайная – проще реализовать. Часто – не менее эффективна.

Сквозная запись (WT,ST) – информация записывается сразу в 2 места – в кэш и в основную память;

Обратная запись (WB,CB,SI) – информация записывается только в кэш. В основную память - когда замещается. Для сокращения частоты копирования с блоком кэш-памяти связывается бит модификации (dirty bit). Если блок не модифицировался, при замещении он не записывается в основную память.

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

Когда процессор ожидает завершения записи при сквозной записи - write stall . Минимизация - использование буфера записи (write buffer). Это не полностью исключает write stall!