Организация памяти первого уровня.

Память 1 уровня – сверхоперативная память. Основное назначение – повысить быстродействие ОП, и следовательно процессора. Способы повышения быстродействия обращений к памяти: 1) повышение быстродействия ОП; 2) использование сверхоперативной памяти как промежуточного буфера.

Оба направления присутствуют в современных системах. Первая реализация сверхОП – РОНы. В зависимости от процессора количество РОНов разное. Второй вариант – кэш-память – это буфер, недоступный для программиста. Кэш используется как для хранения команд, так и для хранения данных. Кэш обеспечивает механизм, который реализуется автоматически (аппаратно управляемый обмен). Единица обмена – более крупная, чем слово, величина – строка кэш. Увеличение этой единицы приводит к тому, что сокращается количество обращений к ОП. Организация памяти первого уровня. - student2.ru

РОНы организуются на основе ЗУ с адресной организацией. Кэш – на основе ЗУ с безадресной организацией, используются ассоциативные ЗУ.

Организация памяти первого уровня. - student2.ru

Эксклюзивная и инклюзивная кэш.

В иерархии памяти обычно нижние уровни хранят в себе копии более высоких уровней. Такая архитектура называется инклюзивной, однако для экономии места используют эксклюзивную кэш. Общий объем КЭШа = сумме первого второго и третьего. При этом уменьшается скорость работы, но увеличивается эффективность. Инклюзивная – в Intel, эксклюзивная – в AMD.

Блокируемая и неблокируемая кэш.

Блокируемая кэш блокирует доступ к кэш после кэш-промаха, до тех пор, пока запрашиваемые данные не будут загружены в кэш. При этом кэш не обрабатывает другие запросы. Такая кэш была в первых вариантах, ныне практически не используется. Неблокируемая позволяет работать с кэш параллельно с загрузкой/выгрузкой кэш-строк. Аппаратная реализация более сложная и более дорогая, но зато имеет большую эффективность.

Политики записи, поддержки когерентности.

Кэш–контроллер обязан обеспечивать когерентность, то есть согласованность кэш с основной памятью. При обращении периферии или другого процессора к ОП кэш-контроллер должен обновить данные в основной памяти, иначе оттуда прочитаются старые данные. Аналогично если периферия изменяет данные в ОП, кэш-контроллер должен загрузить новые данные в кэш. Три способа поддержки когерентности: 1) сквозная политика – кэширование ячеек основной памяти при чтении и запись напрямую в ОП. Реализация довольно простая, но мало эффективная. 2) сквозная запись с буферизацией – обеспечивает частичную компенсацию задержек с помощью буферизации. Записываемые данные сначала попадают в буфер, там они накапливаются до полного заполнения буфера, а потом целиком записываются в ОП. 3) обратная политика записи – сокращает до минимума количество обращений к ОП. Для отслеживания операций модификации к каждой ячейке кэш привязывается специальный флаг состояния. Если ячейка была изменена, то флагу приписывается значение «грязный» и когда периферия обращается к ОП, кэш-контроллер проверяет данный флаг и по необходимости выгружает грязные ячейки в ОП и сбрасывает флаги.

В современных процессорах используют третий алгоритм.

Освобождение кэш.

Кэш-память очень быстро оказывается полностью заполненной. Поэтому процессу заполнения должен предшествовать процесс освобождения. При возникновении кэш-промаха контроллер должен выбрать подлежащий замещению блок. Есть 2 алгоритма работы: 1) случайный – для обеспечения равномерного распределения блоки выбираются случайно. Алгоритм довольно прост. 2) с целью уменьшения вероятности выбрасывания полезной информации все обращения к блоку фиксируются, и замещается тот блок, который не использовался дольше всех. С увеличением размера и количества блоков алгоритм становится более дорогим и не всегда оправданным.

При третьем алгоритме (обратной политики записи) при замещении старых строк новыми контроллер стремится избавиться от чистых кэш-строк, так как они могут быть мгновенно удалены без записи в ОП.

Организация стековых ЗУ.

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

Реализация стековых ЗУ на основе магазинных.

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

Схема с подвижным указателем стека.

По операции записи происходит запись данных в определенную ячейку, и указатель сдвигается на разрядность данной ячейки. При чтении наоборот. Такая схема реализуется на основе реверсивного счетчика, сама запоминающая часть находится в адресном пространстве ОП.

Наши рекомендации