Сегментная организация памяти

Структурные методы повышения производительности ВС

Повышение пропускной способности памяти

Требования к памяти – емкость и быстродействие.

Многоуровневая организация систем памяти. Классическую многоуровневую структуру памяти можно нарисовать следующим образом:

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

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

Страничная организация памяти

 

Сегментная организация памяти

Сегментацией называется разделение адресного пространства памяти на части по логическим признакам устанавливаемым программистом. Обычно сегмент соответствует программе или подпрограмме и в отличии от страницы имеет переменную длину.

Сегментно страничная организация памяти

 

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

Схема памяти расслоения.

 

Расслоение предназначено для того, чтобы при обращении к основной памяти можно было за 1 раз записывать и считывать несколько байтов памяти. В большинстве современных ЭВМ для этого основная память подразделяется на несколько независимых модулей или блоков. Суть процедуры расслоения при этом сводится к тому что если у нас n блоков то данные с адресом a относятся к блоку a(mod)n.

Два принципа: принцип временной локальности, принцип пространственной локальности.

 

Стратегии замены страниц

1. FIFO - стек

2. LRU – удаляется та страница обращение к которой имело место раньше чем к другим.

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

КЭШ-память

КЭШ память можно нарисовать в виде следующей структуры:

В массив данных копируются данные основной памяти, а в справочник адреса этих данных.

Данная формула позволяет за счет того что величина а является очень малой, за счет этого доступ ко всей многоуровневой памяти получается достаточно оптимальным.

Работу кэша можно представить в виде: (Славика)

Одну из возможных схем кеширования можно представить следующим образом.

 

 

При просмотре возможно два события: кэш попадание, если данные обнаруживаются в кэш памяти, или кэш промах, если данные отсутствуют в кэш памяти. Таким образом общая схема функционирования кэш может быть нарисована вот так:

 

 

В большинстве реальных систем которые мы знаем в настоящее время, процент кэш попаданий составляет порядка 90%. Такое высокое значение кэш попадания объясняется наличием у программ и данных объектных свойств, называемых пространственной и временной локальностью. Временная локальность заключается в том что если произошло обращение по некоторому адресу, то следующее обращение по тому же адресу с большой вероятностью произойдет в ближайшее время. Пространственная локальность заключается в том что если произошло обращение по некоторому адресу, то с высокой степенью вероятности в ближайшее время произойдет обращение к соседним адресам.