Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методический материал по ЭВМ.doc
Скачиваний:
80
Добавлен:
22.09.2019
Размер:
2.38 Mб
Скачать

2.2 Иерархическая организация многоуровневой памяти эвм

быстродействие

В нешняя память – жёсткий диск (винчестер).

n*100 Гбайт БП – буферная память

ОП – оперативная память

РОНы – регистры общего назначения

≈m*1 Гбайт

L*Мбайт

штук

объём

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

В наиболее простом и наиболее часто используемом случае страничной виртуальной памяти, виртуальная память и физическая представляются состоящими из наборов блоков или страниц одинакового размера. Виртуальные адреса делятся на страницы (page), соответствующие единицы в физической памяти образуют страничные кадры (page frames), а в целом система поддержки страничной виртуальной памяти называется пейджингом (paging). Передача информации между памятью и диском всегда осуществляется целыми страницами. Страницы имеют фиксированную длину, обычно являющуюся степенью числа 2, и не могут перекрываться.

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

Процесс обращается к памяти с помощью адреса виртуальной памяти, который содержит в себе номер страницы и смещение внутри страницы. Процессор преобразует номер виртуальной страницы в адрес соответствующей ей физической страницы при помощи буфера ассоциативной трансляции. Если ему не удалось это сделать, то требуется обращение к таблице страниц, что может сделать либо сам процессор, либо операционная система (в зависимости от архитектуры). При запросе на выделение памяти операционная система может «сбросить» на жёсткий диск страницы, к которым давно не было обращений.

Нужно отметить очень важный пункт, что при страничной организации, все ресурсы памяти, как оперативной, так и внешней представляются для пользователя единым целым. Пользователь работает с общим адресным пространством и не задумывается, какая память при этом используется: оперативная или внешняя, а эта общая память носит название виртуальной (моделируемой).

2.4. Буферная память типа "кэш" (бп), способы отображения оперативной памяти на бп

КЭШ невидима для программиста. Когда ЦП обращается к ОП по чтению или записи информации (при чтение это обращение за командами, за данными), то аппаратно просматривается, находится ли запрашиваемая информация в КЭШ.

Если информация находится в КЭШ, то обращение к ОП не требуется. Если запрашиваемая информация в КЭШ отсутствует, то происходит обращение к ОП. При этом часть информации из КЭШ удаляется и на ее место записывается информация из ОП.

Различают буфер прямого соответствия, секторный, группо-ассоциативный, ассоциативный способы организации КЭШ памяти.

2.4.1 Секторный способ организации кэш

Объем сегмента равен объему сектора. В свою очередь сегменты и сектора делятся на блоки равной величины. Число блоков в сегменте и секторе совпадают. Поскольку КЭШ меньше емкости ОП, количество секторов будет меньше количества сегментов. Каждому сектору в КЭШ соответствует регистр номера присутствующего сегмента (РНПС). РНПС хранит номер сегмента, находящегося в данный момент в данном секторе. i-ый блок j-ого сегмента может находиться только на месте i-ого блока k-ого сектора. Каждый блок в секторе снабжен битом присутствия. Если бит присутствия равен единице, то в данный момент этот блок находится в КЭШ, если равен нулю, то блок отсутствует. При обращении к ОП ЦП выдает физический (исполнительный) адрес.

Исполнительный адрес состоит из трех групп разрядов. Чтобы определить находится ли адресуемая информация в КЭШ необходимо выделить в начале старшие разряды исполнительного адреса, которые определяют номер сегмента. Старшие разряды сравнивают с содержимым РНПС. В том регистре, где произошло совпадение, будет означать, что адресуемый сегмент находится в КЭШ и он расположен в секторе, соответствующему этому сегменту. Далее выделяются средние разряды исполнительного адреса, которые указывают номер блока. Для соответствующего блока уже в найденном секторе анализируется бит присутствия. Если бит присутствия равен единице, то это означает, что адресуемая информация хранится в КЭШ. Если бит присутствия равен нулю, то это означает, что адресуемого блока в КЭШ нет, происходит обращение к ОП. Адресуемый блок подкачивается в КЭШ и бит присутствия для него устанавливается в единицу. ЦП обращается в КЭШ по чтению или по записи информации. При обращении по чтению информация не меняется, поэтому после обращения информация в КЭШ и ОП идентична. При записи информация в КЭШ изменяется, поэтому существуют две дисциплины работы:

  1. сквозная запись;

  2. признаковый обмен.

При сквозной записи информация одновременно пишется в КЭШ и ОП.

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

В том случае, если старшие разряды исполнительного адреса не совпали ни с одним из регистров РНПС, это означает, что адресуемый сегмент отсутствует в КЭШ. Чтобы подкачать адресуемый сегмент в КЭШ предварительно должен быть вытеснен один из сегментов, находящихся в КЭШ. Существуют различные алгоритмы определения номера вытесняемого сегмента. После определения номера вытесняемого сегмента из некоторого сектора при признаковом обмене для всех блоков анализируется бит изменения. Те блоки, для которых бит изменения равен единице переписываются в ОП. Далее все биты присутствия и изменения для всех блоков сбрасываются в ноль. При сквозной записи вытеснение сегмента состоит только в обнулении битов присутствия.

Подкачка адресуемого сегмента в КЭШ заключается только в занесении номера адресуемого сегмента на регистр РНПС. Подкачка блоков в адресуемый сегмент будет производиться к моментам обращения к блокам по алгоритму, изложенному выше, т.е. выделяются средние разряды исполнительного адреса, сравниваются с битом присутствия, если бит присутствия равен нулю – блока нет, и адресуемый блок подкачивается из ОП.

Частным случаем секторного способа является буфер прямого соответствия, когда число секторов равно единице.