- •Общие вопросы организации эвм и систем
- •Процессор эвм. Назначение и принцип работы.
- •07022012 Лекция 2 Организация управлением процесса обработки информации
- •14022012 Лекция 3
- •Способы формирования управляющий функциональный сигналов
- •Типы архитектур процессоров
- •21022012 Лекция 4
- •28022012 Лекция 5
- •Принцип программного управления
- •06032012 Лекция 6 Обработка команд процессоров. Понятие конвейера команд. Виды конвейеров.
- •20032012 Лекция 7
- •27032012 Лекция 8 Обработка асинхронных событий процессоров. Система прерываний процессоров
- •03042012 Лекция 9
- •Организация памяти эвм
- •10042012 Лекция 10
10042012 Лекция 10
Кэш-память: назначение и принцип работы
При обращении процессора напрямую к оперативной памяти, последняя не успевает обслуживать поступающие заявки. Нужно согласовать какими-либо способами быстродействие процессора и пропускную способность подсистемы памяти. Сделать это можно двумя способами:
Построить ОП на более быстродействующей элементной базе.
Использовать специальные структурные решения при организации уровней иерархии системы памяти: Включение между процессором и ОП быстродействующей кэш.
Первый способ считается более дорогостоящим, хотя и используется. Второй используется чаще.
Отличительными особенностями кэш являются: высокое быстродействие (по сравнению с процессором) и очень малый объем (по сравнению с ОП).
Кэш общается с МП «словами», а с ОП «блоками»
КЭШ – cache – «тайник», недоступна для программ в том смысле, что никак не может быть адресована машинными командами. Это главное отличие от всех остальных видов памяти.
Суть: в кэш временно хранится копия некоторого фрагмента из ОП. Когда процессору понадобилась информация (операнд, команда), то сначала он проверяет, не содержится ли эта информация в кэш. Если да (такое событие называется кэш попадание – cache hit), то нужное слово извлекается из кэш и передаётся процессору. Если нет (кэш промах – cache miss), то из ОП берётся блок информации, передаётся в кэш, а оттуда слово передаётся процессору.
Принято оценивать эффективность кэш-памяти как отношение количества попаданий к общему количеству обращений .
Структурная организация кэш-памяти
Пусть ОП состоит из 2n адресуемых ячеек. Тогда её можно представить как совокупность блоков фиксированной длины по k слов в каждом. Тогда ёмкость ОП можно представить как M = 2n/k.
КЭШ состоит из С строк по k слов в каждой. При чём C<<M.
Если в процессе работы МП понадобилась информация из ОП, то в строку кэш копируется блок, содержащий нужную информацию, целиком.
Каждая строка кэш содержит тэг – служебное поле, которое говорит о том, какой именно блок из ОП находится в строке кэш. Таким образом, устанавливается однозначная связь.
Алгоритм передачи слова из кэш в процессор
(RA – адрес слова, необходимый ЦП)
Операции 1 и 2 выполняются параллельно, независимо друг от друга. Это обеспечивается соответствующей структурной организацией блоков кэш памяти.
Кэш соединён с процессором линиями адреса, данных и управления. Линии адреса и данных подсоединены к специальным буферам. Буферы соединены с системной магистралью и могут обмениваться с ней данными.
Если происходит кэш попадание, то эти два буфера блокируются и весь обмен происходит, минуя системную магистраль (только между процессором и кэш).
Если происходит кэш промах, то нужный процессору адрес выставляется в буфер адреса, передаётся на системную магистраль, затем происходит обращение к ОП, прочитанный из ОП блок данных передаётся в буфер данных, затем в кэш и процессор.
Основные функциональные характеристики кэш
Объём (очень малый по сравнению с ОП). Выбирается из ряда 8кбайт, 16кбайт, 32кбайт, … до 2Мбайт. Объем кэш очень тесно связан со спецификацией приложений.
Метод отображения. Существует:
Прямая функция отображения, когда за каждым блоком ОП закреплена фиксированная строка кэш.
Ассоциативная функция отображения. Нет жёсткой связи между блоком ОП и строкой кэш, тэгом являются все старшие заряды кода адреса памяти.
Комбинированная ассоциативная функция отображения (секционированная ассоциативная). Сочетает в себе простоту реализации первого и гибкость расположения второго.
Алгоритм замены строк:
LRU – least recently used – заменяется строка, к которой дольше всего не обращался процессор (по времени).
FIFO – first in, first out – заменяется строка, записанная в кэш раньше остальных.
LFU – least frequently used – заменяется реже всего используемая строка (по количеству обращений).
Случайный способ – удаляется случайно выбранная строка.
Обеспечение целостности информации кэш:
Сквозная запись – все изменения кэш дублируются в ОП.
Обратная запись – информация в ОП обновляется только тогда, когда строка выталкивается из кэш.
Размер блока – в современных процессорах от 2 до 8 слов.
Архитектурная организация блока кэш памяти. Здесь две основных точки зрения:
Количество уровней иерархии кэш: встроенная кэш (L1) и внешняя кэш (L2, L3, L4). Чем выше уровень, тем меньше размер (L1 – самая маленькая до 8кбайт)
Разделение кэш на сегменты: слитным (совместным) и раздельным (кэш команд и кэш данных). На одном уровне может быть разное разделение.
При организации смешанной кэш: ей свойственна более высокая вероятность попаданий по сравнению с раздельной, поскольку баланс между командами и данными устанавливается автоматически. При использовании раздельной кэш выборка команд и данных может производится одновременно и это влияет на быстродействие.
Примеры организации внутренней кэш