Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABA1.doc
Скачиваний:
3
Добавлен:
04.04.2013
Размер:
255.49 Кб
Скачать

5

Министерство образования российской федерации

Московский Государственный Институт Электроники и Математики

(технический университет)

Кафедра вычислительных систем и сетей.

МОДЕЛЬ ВИРТУАЛЬНОЙ ПАМЯТИ

Методические указания к лабораторной работе

по курсу «Организация ЭВМ, комплексов и систем».

Москва 2001

Составители: канд.техн.наук, доцент Е.М.Иванова

канд.техн.наук, доцент И.Е.Сафонова

ст.преподаватель С.В.Жарков

инженер А. Н. Лапаев

УДК 681.325

Модель виртуальной памяти: Методические указания к лабораторным работам по курсу «Организация ЭВМ, комплексов и систем» /Московский государственный институт электроники и математики; Сост.: Е.М.Иванова, И.Е.Сафонова, С.В.Жарков, А. Н. Лапаев. М., 2001 - 14 с.

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

Для студентов 4 курса факультета АВТ и технических факультетов, изучающих курс «Организация ЭВМ, комплексов и систем».

ISBN

ВВЕДЕНИЕ

ЦЕЛЬ РАБОТЫ

Реализовать модель виртуальной памяти. Выбор организации, преобразования адресов и стратегии откачки свободный.

Для моделирования виртуальной памяти выбраны сле­дующие параметры:

а) организация памяти - страничная (т.к. такая организация более проста и для понимания, и для реализации);

б) преобразование адресов страниц прямым

отображением (т.к. ассоциативная память дороже, чем кэш-память);

в) метод откачки страниц - LRU(т.к. этот метод использовался в системах фирмы Intel).

г)метод подкачки страниц по требованию.

Теоретические сведения.

1. Организация памяти может быть страничной, сегментной или странично-сегментной.

1.1. Страничная организация памяти означает, что вся память разделена на равные части (страницы). Виртуальный ад­рес в страничной системе - это упорядоченная пара (p,d), где р -номер страницы в виртуальной памяти, d- смещение в рамках страницы р.

Номер страницы

Смещение

Виртуальный адрес, указанный в выпол-няющемся процессе

p

d

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

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

Бит-признак присутствия страницы

Адрес внешней памяти (если страницы в реальной памяти нет)

Номер страничного кадра (если страница находится в реальной памяти)

R

S

p’

г=0, если страницы в реальной памяти нет

г=1, если страница находится в реальной памяти

Если страницы в реальной памяти нет, то s - ее адрес во внешней памяти. Если страница есть в первичной памяти, то р' - номер ее страничного кадра. Но р' - это не действительный адрес первич­ной памяти. Адрес первичной памяти а, с которого начинается страничный кадр р'(если размер страницы равняется р), определя­ется произведением а=(р) (р'). Вцелях экономии емкости пер­вичной памяти в таблицу отображения страниц можно не вклю­чать адреса страниц во внешней памяти.

1.2. Сегментная организация памяти означает, что вся память может быть разделена на части (блоки) разных размеров. Виртуальный адрес в сегментной системе представляет собой упо­рядоченную пару v=(s,d), где s - номер сегмента виртуальной па­мяти, ad- смещение в рамках этого сегмента.

1.3. Странично-сегментная организация памяти представляет собой сегментную систему, в которой каждый сегмент разбит на страницы равной длины. Виртуальный адрес в странично-сегментной системе представляет собой упорядоченную трой­ку v=(s, p, d), где s - номер сегмента, р - номер страницы в сегмен­те, a d - смещение в рамках страницы.

2. Преобразование адресов страниц. Рассмотрим преобразование адресов для страничной организации виртуальной памяти.

2.1. Преобразование адресов страниц прямым отображением.

Выполняющий процесс делает ссылку по виртуальному адресу v=(p,d). Прежде чем процесс начнет выполнятся, операци­онная система загружает адрес первичной памяти для таблицы отображения страниц в регистр начального адреса этой таблицы. Этот базовый адрес bтаблицы прибавляется к номеру страни­цыр,образуя адрес первичной памятиb+рдля строки страни­цырв таблице. В этой строке указано, что виртуальной страни­цеpсоответствует страничный кадр p'. Затем к значениюр' приформировывается (путем конкатенации) смещениеd,так что об­разуется реальный адрес г.Такой подход называется способом пря­мого отображения потому, что таблица отображения страниц соде­ржит отдельную строку для каждой страницы виртуальной памяти данного процесса.

Как преобразуемый виртуальный адрес, так и базовый ад­рес таблицы отображения страниц хранятся в высокоскоростных регистрах управляющего процессора, так что операции с их учас­тием можно выполнять очень быстро внутри командного цикла. Однако таблица прямого отображения страниц, которая может быть довольно большой, обычно находится в первичной памяти. Следовательно, для обращения к этой таблице требуется один полный цикл выборки из первичной памяти. Это означает, что ис­пользование метода прямого отображения для преобразования адресов страниц может вызвать снижение скорости вычислитель­ной машины почти вдвое. Этого можно избежать, если размещать целиком всю таблицу в сверхвысокоскоростной кэш-памяти.

Соседние файлы в предмете Организация ЭВМ