2 группы методов:
1) Аппаратные
2) Архитектурные.
Аппаратные методы основаны на оптимизации структуры КЭШ-памяти. Оптимизация заключается в следующем:
· Ассоциативность ®opt
· Объём оборудования ®opt
· Алгоритмы замещения ®opt
Архитектурные основаны на детальном рассмотрении основ подготовки кода и определении новых методов подготовки кода.
Пример аппаратного метода – гибридный КЭШ.
1. КЭШ промахов – при обновлении данных в большом КЭШе, данные одновременно помещаются и во вспомогательный КЭШ. Данные ищутся сначала в основном КЭШе, а если не найдены – во вспомогательном. Если данные найдены во вспомогательном, они перезаписываются в основной.
2. КЭШ замещений – Данные во вспомогательном КЭШе обновляются данными, замещёнными в основном КЭШе.
3. КЭШ переходов – имеет более сложную структуру; обеспечивает запоминание динамического использования кода (запоминание перехода). Имеется возможность предсказывать адреса переходов.
Дисковая КЭШ-память.
Память с произвольным доступом, которая располагается между ОП и жёстким диском (SSD-диском). Пересылка информации между диском и ОП осуществляется контроллером дисковой КЭШ-памяти. В качестве единицы пересылки используется сектор, несколько секторов, дорожка или несколько дорожек.
В случае пересылки секторов КЭШ-память заполняется не только требуемым сектором, но и секторами, следующими за ним (опережающее чтение – Read Ahead).
Используется сквозная стратегия записи, алгоритм замещения LRU.
Особенность – реализуется механизм, который обеспечивает копирование данных, минуя данную КЭШ-память.
Виртуальная память
Суть – часть программы на диске, часть – в ОП.
Виртуальная память – это совокупность программно-аппаратных средств, позволяющая пользователю писать программы, объём которых превышает объём оперативной памяти.
Т.е. это метод автоматического управления иерархической памятью. Программист имеет дело с объёмом памяти > объём ОП.
Виртуальная память решает следующие задачи:
1) Размещается данные в запоминающих устройствах разного типа.
2) Виртуальная память перемещает по мере необходимости данные между запоминающими устройствами данного типа.
3) Преобразование виртуальных адресов в физические.
В рамках идеи виртуальной памяти ОП рассматривается как линейное пространство из N адресов, которое называется физическое пространство памяти. Для задач, где имеется больше N адресов, пользователю предоставляется большее число адресов (размер = объёму всех ЗУ). Такое пространство адресов называется виртуальное пространство.
®виртуальные и физические адреса.
Любая программа пишется в виртуальном адресном пространстве. Следовательно, нужен механизм преобразования виртуального адреса в физический. Т.о., в процессе вычислений нужно переписать из ВЗУ в ОП ту часть информации, на которую указывает виртуальный адрес (отобразить виртуальное пространство на физическое).
Выполняется без участия пользователя, прозрачно для него.
Существуют следующие реализации виртуальной памяти:
- Страничная.
- Сегментная.
- Сегментно-страничная.
- Свопинг.