Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mikroprotsessornaya_tekhnika.docx
Скачиваний:
77
Добавлен:
18.05.2015
Размер:
1.8 Mб
Скачать

22 Архитектура подсистемы памяти мпс. Функции памяти. Многоуровневая структура памяти мпс.

Архитектура подсистемы памяти МПС

Подсистема памяти – совокупность устройств, служащих для запоминания, хранения и выдачи информации, представленной в виде цифровых кодов.

Содержимое памяти обычно относится к одной из четырех категорий:

1) коды программы;

2) данные (постоянные);

3) промежуточные результаты обработки (переменные);

4) состояние системы.

Функции памяти:

1) хранение программ и данных;

2) запоминание промежуточных результатов, используемых в ходе обработки;

3) работа в качестве элемента устройства обработки.

23 Характеристики основной памяти мпс. Процедура расслоения обращений к памяти. Защита к основной памяти.

Буферная память

С точки зрения программиста основная память - ЗУ с произвольной выборкой и одномерной адресацией.

1) Увеличение быстродействия достигается, например, за счёт наличия буферного ЗУ, которое увеличивает эквивалентную скорость выборки из основного ЗУ, не внося никаких изменений в используемую программой систему адресации. Буферное ЗУ называется кэш-памятью.

Виртуальная память

2) Средством повышения емкости является виртуальная память - память, в организации которой используется механизм расширения ограниченной емкости основной памяти с помощью устройств вспомогательной памяти, например, магнитных дисков.

В виртуальной памяти без увеличения физической емкости основного ЗУ образуется одно, единое для программиста, фиктивное адресное пространство, адресация которого не зависит от физических характеристик составляющих его устройств, и тем самым обеспечивается использование программой большой емкости памяти.

Между основным и вспомогательным ЗУ также можно ввести буферное ЗУ, называемое дисковый кэш и предназначенное для повышения эквивалентной скорости обращения к вспомогательной памяти (ЗУ на магнитных дисках).

Принцип локального обращения к памяти

Таким образом, многоуровневая организация памяти связана с передачей информации между разнотипными ЗУ и обеспечивает одновременно и высокое быстродействие, и большую емкость памяти микропроцессорной системы.

В основе такой организации положен принцип локального обращения к памяти. Это принцип состоит в том, что расстояние между областями памяти, к которым происходит обращение, должно быть, как правило, небольшим, т.е. часть адресного пространства, пределами которого оно ограничено в течение какого-то интервала времени, должно быть по возможности небольшой. При этом информация, обращение к которой происходит часто, размещается в быстродействующих ЗУ, что способствует повышению быстродействия многоуровневой памяти в целом.

24 Характеристики кэш-памяти мпс. Состав и принцип работы кэш-памяти

  • Основная память, как правило, реализуется на DRAM-памяти, обращение к которой приводит к простою процессора - появляются такты ожидания. Статическая память (SRAM), построенная на триггерах, имеет быстродействие, соизмеримое с быстродействием ЦП, но имеет высокую стоимость. Поэтому компромисс для экономичных и производительных МПС - сочетание основной памяти большого объема на DRAM с относительно небольшой кэш-памятью на основе SRAM.

  • Известно, что 90% обращений в основную память производится в ограниченную область адресов - рабочее множество адресов, которое медленно перемещается в памяти по мере выполнения программы. Для рабочего множества можно сделать промежуточную память небольшого размера, более быструю, чем основная память. Эта промежуточная память и есть кэш-память. Кэш является дополнительным быстродействующим хранилищем копий блоков информации из основной памяти, вероятность обращения к которым в ближайшее время велика.

  • Для современных микропроцессоров особенно важно то, что кэш-память (поскольку она небольшого размера) можно разместить внутри кристалла МП, благодаря чему исчезают потери времени на передачу данных между процессором и памятью.

Кэш-память состоит из: 1. Массива данных; 2. Справочника или каталога (cache directory); 3. Контроллера (устройства управления).

В массив данных копируются блоки основной памяти, а их адреса заносятся в каталог. Каталог содержит список текущего соответствия блоков данных областям основной памяти. При каждом обращении к памяти контроллер кэш-памяти по каталогу проверяет, есть ли действительная копия нужных данных в кэше. Если она там есть, то реализуется кэш-попадание (cahe hit), и данные берутся из кэш-памяти. Если действительной копии там нет, то реализуется кэш-промах (cache miss), и данные берутся из основной памяти и помещаются в кэш-память.

  • Эквивалентное время обращения к кэш-памяти ta равно:

ta = tb + α*tm

где tb – время обращения к кэш-памяти, tm – время обращения к основной памяти, α – вероятность отсутствия требуемой информации в кэш-памяти (вероятность кэш-промаха). Вероятность α - коэффициент несовпадения и определяется как дробь 1/N, где N показывает, что на N обращений к кэш-памяти приходится 1 обращение к основной памяти.

Обычно tb меньше tm на порядок и при достаточном уменьшении α (N ≥ 10) можно достичь ta tb при емкости памяти, равной Nm (>> Nb), где Nm – емкость основной памяти, Nb – емкость кэш-памяти.

Принципы работы кэш-памяти

  • Кэш-память состоит из строк фиксированной длины, строка хранит копию блока основной памяти, размер которого совпадает с длиной строки. С каждой строкой кэша связана информация об адресе скопированного в нее блока основной памяти и ее состоянии. Информация о том, какой именно блок основной памяти занимает данную строку называется тегом (tag) и хранится в памяти тегов.

  • Строка может быть действительной (valid), если в ней в текущий момент времени хранится копия соответствующего блока основной памяти, или недействительной (чистая строка). Строка может достоверно отражать соответствующий блок основной памяти или быть модифицированной (dirty string).

Таким образом, кроме адресной части тега с каждой строкой кэша связаны биты признаков действительности V и модифицированности M данных.

  • В операциях обмена с основной памятью строка участвует целиком – несекторированный кэш. Для процессоров Intel 486 и выше длина строки кэша совпадает с объемом данных, передаваемых за один пакетный цикл (для 486 – 4×4=16 байт, для Pentium и выше – 4×8=32 байта).

  • Секторированный кэш – кэш, при котором одна строка содержит несколько смежных секторов, размер которых соответствует минимальной порции обмена данных кэша с основной памятью. При этом в записи каталога, соответствующей каждой строке, должны храниться биты действительности для каждого сектора данной строки.

Секторирование позволяет экономить память, необходимую для хранения каталога при увеличении объема кэша, т.к. при этом увеличивается количество разрядов каждого элемента каталога, а не количество самих элементов (размер каталога).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]