- •Глава 5 Память
- •Характеристики систем памяти
- •Иерархия запоминающих устройств
- •Основная память
- •Блочная организация основной памяти
- •Расслоение памяти
- •Организация микросхем памяти
- •Последовательный режим
- •Конвейерный режим
- •Регистровый режим
- •Страничный режим
- •Режим быстрого страничного доступа
- •Пакетный режим
- •Режим удвоенной скорости
- •Синхронные и асинхронные запоминающие устройства
- •Оперативные запоминающие устройства
- •Статическая и динамическая оперативная память
- •Статические оперативные запоминающие устройства
- •Динамические оперативные запоминающие устройства
- •Постоянные запоминающие устройства
- •Пзу, программируемые при изготовлении
- •Однократно программируемые пзу
- •Многократно программируемые пзу
- •Специальные типы оперативной памяти
- •Многопортовые озу
- •Память типа fifo
- •Обнаружение и исправление ошибок
- •Стековая память
- •Ассоциативная память
- •Кэш-память
- •Емкость кэш-памяти
- •Размер строки
- •Способы отображения оперативной памяти на кэш-память
- •Прямое отображение
- •Полностью ассоциативное отображение
- •Множественно-ассоциативное отображение
- •Отображение секторов
- •Алгоритмы замещения информации в заполненной кэш-памяти
- •Алгоритмы согласования содержимого кэш-памяти и основной памяти
- •Смешанная и разделенная кэш-память
- •Одноуровневая и многоуровневая кэш-память
- •Дисковая кэш-память
- •Понятие виртуальной памяти
- •Страничная организация памяти
- •Сегментно-страничная организация памяти
- •Организация защиты памяти
- •Защита отдельных ячеек памяти
- •Кольца защиты
- •Метод граничных регистров
- •Метод ключей защиты
- •Внешняя память
- •Магнитные диски
- •Организация данных и форматирование
- •Характеристики дисковых систем
- •Массивы магнитных дисков с избыточностью
- •Повышение производительности дисковой подсистемы
- •Повышение отказоустойчивости дисковой подсистемы
- •Raid уровня о
- •Raid уровня 1
- •Raid уровня 2
- •Raid уровня 3
- •Raid уровня 4
- •Raid уровня 5
- •Raid уровня 6
- •Raid уровня 7
- •Raid уровня 10
- •Raid уровня 53
- •Особенности реализации raid-систем
- •Оптическая память
- •Eod — оптические диски со стиранием
- •Магнитные ленты
- •Контрольные вопросы
Смешанная и разделенная кэш-память
Когда в микропроцессорах впервые стали применять внутреннюю кэш-память, ее обычно использовали как для команд, так и для данных. Такую кэш-память принято называть смешанной, а соответствующую архитектуру — Принстонской (Princeton architecture), по названию университета, где разрабатывались ВМ с единой памятью для команд и данных, то есть соответствующие классической архитектуре фон-Неймана. Сравнительно недавно стало обычным разделять кэш-память на две — отдельно для команд и отдельно для данных. Подобная архитектура получила название Гарвардской (Harvard architecture), поскольку именно в Гарвардском университете был создан компьютер «Марк-1» (1950 год), имевший раздельные ЗУ для команд и данных.
Смешанная кэш-память обладает тем преимуществом, что при заданной емкости ей свойственна более высокая вероятность попаданий по сравнению с разделенной, поскольку в ней оптимальный баланс между командами и данными устанавливается автоматически. Так, если в выполняемом фрагменте программы обращения к памяти связаны в основном с выборкой команд, а доля обращений к данным относительно мала, кэш-память имеет тенденцию насыщаться командами, и наоборот.
С другой стороны, при раздельной кэш-памяти выборка команд и данных может производиться одновременно, при этом исключаются возможные конфликты. Последнее обстоятельство существенно в системах, использующих конвейеризацию команд, где процессор извлекает команды с опережением и заполняет ими буфер или конвейер.
В табл. 5.7 приведены основные параметры внутренней кэш-памяти для наиболее распространенных типов микропроцессоров.
Следует добавить, что в некоторых ВМ, помимо кэш-памяти команд и кэш-памяти данных, может использоваться и адресная кэш-память (в устройствах управления памятью и при преобразовании виртуальных адресов в физические).
Одноуровневая и многоуровневая кэш-память
Современные технологии позволяют разместить кэш-память и ЦП на общем кристалле. Такая внутренняя кэш-память строится по технологии статического ОЗУ и является наиболее быстродействующей. Емкость ее обычно не превышает 64 Кбайт. Попытки увеличения емкости обычно приводят к снижению быстродействия, главным образом из-за усложнения схем управления и дешифрации адреса. Общую емкость кэш-памяти ВМ увеличивают за счет второй (внешней) кэш-памяти, расположенной между внутренней кэш-памятью и ОП. Такая система известна под названием двухуровневой, где внутренней кэш-памяти отводится роль первого уровня (L1), а внешней — второго уровня (L2). Емкость L2 обычно на порядок больше, чем у L1, а быстродействие и стоимость — несколько ниже. Память второго уровня также строится как статическое ОЗУ. Типичная емкость кэш-памяти второго уровня — 256 и 512 Кбайт, реже — 1 Мбайт, а реализуется она, как правило, в виде отдельной микросхемы, хотя в последнее время L2 часто размещают на одном кристалле с процессором, за счет чего сокращается длина связей и повышается быстродействие.
При доступе к памяти ЦП сначала обращается к кэш-памяти первого уровня. В случае промаха производится обращение к кэш-памяти второго уровня. Если информация отсутствует и в L2, выполняется обращение к ОП и соответствующий блок заносится сначала в L2, а затем и в L1. Благодаря такой процедуре часто запрашиваемая формация может быть быстро восстановлена из кэш-памяти второго уровня. Среднее время доступа Тт, к одноуровневой кэш-памяти можно оценить как
где — время обращения при попадании; — коэффициент промахов; потери на промах. Для двухуровневой кэш-памяти имеем:
Потенциальная экономия за счет применения L2 зависит от вероятности попаданий как в L1, так и в L2. Ряд исследований показывает, что использование кэш памяти второго уровня существенно улучшает производительность.
В большинстве семейств микропроцессоров предусмотрены специальные ИМГ контроллеров внешней кэш-памяти, например микросхема 8291 для микропроцесс сора Intel 486 или 82491 — для Intel Pentium. Для ускорения обмена информацией между ЦП и L2 между ними часто вводят специальную шину, так называемую шину заднего плана, в отличие от шины переднего плана, связывающей ЦП с основной памятью.
Количество уровней кэш-памяти не ограничивается двумя. В некоторых ВМ уже можно встретить кэш-память третьего уровня (L3) и ведутся активные дискуссии о введении также и кэш-памяти четвертого уровня (L4). Характер взаимодействия очередного уровня с предшествующим аналогичен описанному для L1 и L2. Таким образом, можно говорить об иерархии кэш-памяти. Каждый последующий уровень характеризуется большей емкостью, меньшей стоимостью, но и меньшим быстродействием, хотя оно все же выше, чем у ЗУ основной памяти.