Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация ЭВМ лекция.docx
Скачиваний:
6
Добавлен:
30.08.2019
Размер:
1.76 Mб
Скачать

10042012 Лекция 10

Кэш-память: назначение и принцип работы

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

  1. Построить ОП на более быстродействующей элементной базе.

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

Первый способ считается более дорогостоящим, хотя и используется. Второй используется чаще.

Отличительными особенностями кэш являются: высокое быстродействие (по сравнению с процессором) и очень малый объем (по сравнению с ОП).

Кэш общается с МП «словами», а с ОП «блоками»

КЭШ – cache – «тайник», недоступна для программ в том смысле, что никак не может быть адресована машинными командами. Это главное отличие от всех остальных видов памяти.

Суть: в кэш временно хранится копия некоторого фрагмента из ОП. Когда процессору понадобилась информация (операнд, команда), то сначала он проверяет, не содержится ли эта информация в кэш. Если да (такое событие называется кэш попадание – cache hit), то нужное слово извлекается из кэш и передаётся процессору. Если нет (кэш промах – cache miss), то из ОП берётся блок информации, передаётся в кэш, а оттуда слово передаётся процессору.

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

Структурная организация кэш-памяти

Пусть ОП состоит из 2n адресуемых ячеек. Тогда её можно представить как совокупность блоков фиксированной длины по k слов в каждом. Тогда ёмкость ОП можно представить как M = 2n/k.

КЭШ состоит из С строк по k слов в каждой. При чём C<<M.

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

Каждая строка кэш содержит тэг – служебное поле, которое говорит о том, какой именно блок из ОП находится в строке кэш. Таким образом, устанавливается однозначная связь.

Алгоритм передачи слова из кэш в процессор

(RA – адрес слова, необходимый ЦП)

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

Кэш соединён с процессором линиями адреса, данных и управления. Линии адреса и данных подсоединены к специальным буферам. Буферы соединены с системной магистралью и могут обмениваться с ней данными.

Если происходит кэш попадание, то эти два буфера блокируются и весь обмен происходит, минуя системную магистраль (только между процессором и кэш).

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

Основные функциональные характеристики кэш

  1. Объём (очень малый по сравнению с ОП). Выбирается из ряда 8кбайт, 16кбайт, 32кбайт, … до 2Мбайт. Объем кэш очень тесно связан со спецификацией приложений.

  2. Метод отображения. Существует:

    1. Прямая функция отображения, когда за каждым блоком ОП закреплена фиксированная строка кэш.

    2. Ассоциативная функция отображения. Нет жёсткой связи между блоком ОП и строкой кэш, тэгом являются все старшие заряды кода адреса памяти.

    3. Комбинированная ассоциативная функция отображения (секционированная ассоциативная). Сочетает в себе простоту реализации первого и гибкость расположения второго.

  3. Алгоритм замены строк:

    1. LRU – least recently used – заменяется строка, к которой дольше всего не обращался процессор (по времени).

    2. FIFO – first in, first out – заменяется строка, записанная в кэш раньше остальных.

    3. LFU – least frequently used – заменяется реже всего используемая строка (по количеству обращений).

    4. Случайный способ – удаляется случайно выбранная строка.

  4. Обеспечение целостности информации кэш:

    1. Сквозная запись – все изменения кэш дублируются в ОП.

    2. Обратная запись – информация в ОП обновляется только тогда, когда строка выталкивается из кэш.

  5. Размер блока – в современных процессорах от 2 до 8 слов.

  6. Архитектурная организация блока кэш памяти. Здесь две основных точки зрения:

    1. Количество уровней иерархии кэш: встроенная кэш (L1) и внешняя кэш (L2, L3, L4). Чем выше уровень, тем меньше размер (L1 – самая маленькая до 8кбайт)

    2. Разделение кэш на сегменты: слитным (совместным) и раздельным (кэш команд и кэш данных). На одном уровне может быть разное разделение.

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

Примеры организации внутренней кэш