- •Память Архитектура памяти.
- •Классификация и физическая организация микросхем памяти, области их применения.
- •Постоянная память
- •Р исунок 4. Пример масочной пзу.
- •Оперативная память
- •Технологии системной памяти. Классическая память dram.
- •Р исунок 6. Структурная схема динамической памяти.
- •Память fpm.
- •Память edo dram.
- •Многобанковая организация памяти
- •Технологии синхронной памяти.
- •Память sdram.
- •Память ddr sdram
- •Память Direct Rambus dram.
- •Р исунок 13. Структура подсистемы памяти Direct Rambus dram.
- •Конструктивные исполнения памяти dram (модули памяти)
- •Адресация памяти в реальном режиме. Логический и физический адреса.
- •Сегментная адресация в реальном режиме.
- •Р исунок 18. Вычисление физического адреса в реальном режиме.
- •Область верхней памяти (hma)
- •Логическое распределение оперативной памяти в реальном режиме.
- •Р исунок 20. Логическая организация памяти. Стандартная память
- •Верхний блок памяти
- •Дополнительная память (ems)
- •Расширенная память (Extended память, xms)
- •Адресация памяти в защищенном режиме работы процессора
- •Разделение адресного пространства на сегменты (сегментация)
- •Механизм страничной памяти.
- •Кэширование данных. Иерархия запоминающих устройств.
- •Р исунок 27. Иерархия запоминающих устройств
- •Р исунок 28. Схема функционирования кэш-памяти
- •Способы отображения основной памяти на кэш (архитектура кэш-памяти).
- •Полностью ассоциативная кэш - память.
- •Р исунок 29. Полностью ассоциативный кэш.
- •Наборно - ассоциативная кэш - память.
- •Р исунок 30. Наборно ассоциативный кэш.
- •Проблема выбора блока кэш-памяти для замещения при промахе
- •Проблема согласования данных
- •Р исунок 31. Сквозная запись.
- •Р исунок 31. Модифицированная сквозная запись
- •Р исунок 32. Обратная запись. Список терминов.
Р исунок 28. Схема функционирования кэш-памяти
Интуитивно понятно, что эффективность кэширования зависит от вероятности попадания в кэш. Использование кэш-памяти имеет смысл только при высокой вероятности кэш-попадания.
Вероятность обнаружения данных в кэше зависит от разных факторов, таких, например, как объем кэша, объем кэшируемой памяти, алгоритм замещения данных в кэше, особенности выполняемой программы, время ее работы, уровень мультипрограммирования и других особенностей вычислительного процесса. Тем не менее в большинстве реализаций кэш-памяти процент кэш-попаданий оказывается весьма высоким — свыше 90 %. Такое высокое значение вероятности нахождения данных в кэш-памяти объясняется наличием у данных объективных свойств: пространственной и временной локальности.
Временная локальность - если произошло обращение по некоторому адресу, то следующее обращение по тому же адресу с большой вероятностью произойдет в ближайшее время.
Пространственная локальность - если произошло обращение по некоторому адресу, то с высокой степенью вероятности в ближайшее время произойдет обращение к соседним адресам.
Способы отображения основной памяти на кэш (архитектура кэш-памяти).
Прежде чем говорить об архитектуре кэш-памяти, введем такое понятие, как длина строки-кэша (cache-line). Если при обмене данными между устройствами речь обычно идет о блоке информации, то для кэш-памяти существует некий набор данных, называемых строкой.
Итак, архитектура кэш-памяти определяется тем, каким образом достаточно большая по размеру основная память отображается на сравнительно небольшой кэш. Существуют, вообще говоря, три разновидности отображения: кэш-память с прямым отображением (direct-mapped cache), частично, или наборно-ассоциативная (set-associative cache) и полностью ассоциативная (fully associative cache). Все эти архитектуры, так или иначе, используются для построения кэш-памяти современных микропроцессоров.
Кэш-память с прямым отображением.
Самой простой организацией обладает кэш-память с прямым отображением. В этом случае адрес памяти полностью определяет используемую строку кэша. Таким образом, один или несколько блоков оперативной памяти строго соответствуют одной строке кэша, однако поскольку занимать ее в одно и то же время может только один из них, то для каждой строки используется специальный признак — тег (tag). Более подробно рассмотрим работу кэш-памяти с прямым отображением по схеме, изображенной на рисунке 28.
Р исунок 29. Кэш память с прямым отображением.
Допустим, что некоторый микропроцессор использует 10-разрядный адрес, размер кэша составляет 8 строк, а длина каждой строки — 8 байт. В какой-то момент времени процессор хочет прочитать два байта информации, хранимой в оперативной памяти, с адреса 0010001100. Для кэш-памяти этот адрес подразделяется на три части. В данном случае три младших разряда называются смещением (offset) и полностью определяют положение каждого из восьми байт в строке. Средние три разряда позволяют однозначно выбрать одну из восьми строк (line) кэша. Оставшиеся старшие разряды несут информацию о теге. И только в том случае, если тег строки кэша совпадает со значением, определяемым старшими разрядами адреса, байты информации считываются из кэш - памяти. В противном случае чтение должно идти из основной памяти или информация в строке должна быть заменена. Разумеется, в случае ее замены меняется и значение ее тега.
Преимуществом реализации такого типа архитектуры являются довольно низкие затраты, поскольку, по сути, требуется всего лишь одна операция сравнения (для тегов). Недостатки ее, впрочем, также очевидны. Например, если два блока данных основной памяти, используемые одинаково часто, претендуют на одну и ту же строку в кэше.