- •Память Архитектура памяти.
- •Классификация и физическая организация микросхем памяти, области их применения.
- •Постоянная память
- •Оперативная память
- •Технологии системной памяти. Классическая памятьDram.
- •Память fpm.
- •ПамятьEdodram.
- •Многобанковая организация памяти
- •Технологии синхронной памяти.
- •ПамятьSdram.
- •Память ddrsdram
- •ПамятьDirectRambusDram.
- •Конструктивные исполнения памяти dram (модули памяти)
- •Адресация памяти в реальном режиме. Логический и физический адреса.
- •Сегментная адресация в реальном режиме.
- •Область верхней памяти (hma)
- •Логическое распределение оперативной памяти в реальном режиме.
- •Стандартная память
- •Верхний блок памяти
- •Дополнительная память (ems)
- •Расширенная память (Extended память, xms)
- •Адресация памяти в защищенном режиме работы процессора
- •Разделение адресного пространства на сегменты (сегментация)
- •Механизм страничной памяти.
- •Кэширование данных. Иерархия запоминающих устройств.
- •Способы отображения основной памяти на кэш (архитектура кэш-памяти).
- •Полностью ассоциативная кэш - память.
- •Наборно - ассоциативная кэш - память.
- •Проблема выбора блока кэш-памяти для замещения при промахе
- •Проблема согласования данных
- •Список терминов.
Наборно - ассоциативная кэш - память.
Разумным компромиссом между двумя рассмотренными архитектурами является наборно-ассоциативная организация кэш - памяти. В этом случае несколько линий (две, четыре, пять, восемь) объединяются в наборы, и средние биты адреса памяти определяют уже не конкретную линию (как в прямом отображении), а набор (см. рисунок 30).
Р
исунок
30. Наборно ассоциативный кэш.
Сравнение тегов (со значением старших разрядов) производится только для линий, входящих в набор. Подобную архитектуру имеет встроенный кэш большей части современных процессоров.
По количеству линий кэша, входящих в набор, подобная архитектура может называться 2-входовой (2-way set associative), 4-входовой (4-way set associative) и т.д.
Проблема выбора блока кэш-памяти для замещения при промахе
При возникновении промаха, контроллер кэш-памяти должен выбрать подлежащий замещению блок. Польза от использования организации с прямым отображением заключается в том, что аппаратные решения здесь наиболее простые. Выбирать просто нечего: на попадание проверяется только один блок и только этот блок может быть замещен. При полностью ассоциативной или множественно-ассоциативной организации кэш-памяти имеются несколько блоков, из которых надо выбрать кандидата в случае промаха. Как правило для замещения блоков применяются две основных стратегии: случайная и LRU.
В первом случае, чтобы иметь равномерное распределение, блоки-кандидаты выбираются случайно.
Во втором случае, чтобы уменьшить вероятность выбрасывания информации, которая скоро может потребоваться, все обращения к блокам фиксируются. Заменяется тот блок, который не использовался дольше всех (LRU - Least-Recently Used).
Достоинство случайного способа заключается в том, что его проще реализовать в аппаратуре. Когда количество блоков увеличивается, алгоритм LRU становится все более дорогим и часто только приближенным.
Проблема согласования данных
В процессе работы содержимое кэш-памяти постоянно обновляется, а значит, время от времени данные из нее должны вытесняться. Вытеснение означает либо простое объявление свободной соответствующей области кэш-памяти (сброс бита действительности), если вытесняемые данные за время нахождения в кэше не были изменены, либо в дополнение к этому копирование данных в основную память, если они были модифицированы. Алгоритм замены данных в кэш-памяти существенно влияет на ее эффективность. В идеале такой алгоритм должен, во-первых, быть максимально быстрым, чтобы не замедлять работу кэш-памяти, а во-вторых, обеспечивать максимально возможную вероятность кэш-попаданий. Поскольку из-за непредсказуемости вычислительного процесса ни один алгоритм замещения данных в кэш-памяти не может гарантировать оптимальный результат, разработчики ограничиваются рациональными решениями, которые по крайней мере, не сильно замедляют работу кэша — запоминающего устройства, изначально призванного быть быстрым.
Наличие в компьютере двух копий данных — в основной памяти и в кэше — порождает проблему согласования данных. Если происходит запись в основную память по некоторому адресу, а содержимое этой ячейки находится в кэше, то в результате соответствующая запись в кэше становится недостоверной. Рассмотрим два подхода к решению этой проблемы:
1. Сквозная запись (write through). При каждом запросе к основной памяти, в том числе и при записи, просматривается кэш. Если данные по запрашиваемому адресу отсутствуют, то запись выполняется только в основную память. Если же данные, к которым выполняется обращение, находятся в кэше, то запись выполняется одновременно в кэш и основную память (рисунок 31). Очевидно, что при этом экономии времени при записи не происходит.
Р
исунок
31. Сквозная запись.
Модификацией метода сквозной записи является буферизованная сквозная запись при которой данные при записи сначала попадают в быстрый буфер, а затем асинхронно в основную память (см. рисунок 31).
Р
исунок
31. Модифицированная сквозная запись
2. Обратная запись (write back). Аналогично при возникновении запроса к памяти выполняется просмотр кэша, и если запрашиваемых данных там нет, то запись выполняется только в основную память. В противном же случае запись производится только в кэш-память, при этом в описателе данных делается специальная отметка (признак модификации), которая указывает на то, что при вытеснении этих данных из кэша необходимо переписать их в основную память, чтобы актуализировать устаревшее содержимое основной памяти (см. рисунок 32).
Р
исунок
32. Обратная запись.
