Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lectures / 20

.pdf
Скачиваний:
43
Добавлен:
16.04.2013
Размер:
260.52 Кб
Скачать

Организация ЭВМ и систем

Лекция 20

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

Разбиение программы на оверлеи

Программа

1 ОП

2

3

4

V

ОП

 

2

 

 

 

 

 

 

 

 

3

 

1

 

 

1

 

 

 

 

4

4

 

t

 

 

 

 

 

 

 

Отображение виртуальных адресов:

Пример

Адресное

пространство

Адрес

8191

 

 

 

 

4К основной

 

 

 

 

памяти

 

 

 

 

 

 

4096

 

 

 

 

 

 

 

4095

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

Отображение

 

 

 

0

 

 

 

 

 

 

 

 

 

 

Преобразование адресов

Виртуальный

Шина адреса

 

адрес

 

 

 

 

 

ЦП

Диспетчер

ОП

памяти

 

Физический

адрес

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

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

страницы

15

14

13

...

4

3

2

1

0

Виртуальный

адрес

61440…65535

57344…61439

...

16384…20479

12288…16383

8192…12287

4096…8191

0…4095

Основная память

№ странично-

Физический

го кадра

адрес

7 28672…32767

... ...

2 8192…12287

1 4096…8191

0 0…4095

Таблица страниц

Таблица страниц

№ Бит при- № страничностраницы сутствия го кадра в ОП

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

 

 

 

 

 

0

х

 

 

 

0

х

 

 

 

0

х

 

 

 

0

х

 

 

Основная память

1

7

 

 

0

х

 

 

№ страничного кадра

1

5

 

 

0

х

 

 

 

0

х

 

 

7

0

х

 

 

6

1

3

 

 

5

1

4

 

 

4

 

 

1

0

 

 

3

1

6

 

 

2

1

1

 

 

1

 

 

1

2

 

 

0

Преобразование адреса

 

Виртуальный

0

0

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

адрес на входе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

0

ххх

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

0

ххх

 

№ страницы

 

 

 

 

 

Смещение внутри

13

0

ххх

 

(n-k битов)

 

 

 

 

страницы (k битов)

12

0

ххх

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

1

111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

0

ххх

 

 

 

 

Используется

 

 

 

 

 

 

 

 

9

1

101

 

 

 

как индекс в

 

 

 

 

 

 

 

 

8

0

ххх

 

 

 

 

таблице

 

 

 

k битов смещения

7

0

ххх

 

 

 

 

страниц

 

 

 

копируются из

 

6

0

ххх

 

 

 

 

 

 

 

 

 

 

входного адреса в

5

1

011

 

 

 

 

 

 

 

 

 

выходной

 

 

4

1

100

 

 

n=16 длина виртуального адреса

3

1

000

 

 

2

1

110

 

 

 

k=12 смещение внутри страницы

001

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

010

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Бит при-

№ кадра

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сутствия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Физический

 

1

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

адрес на выходе

Трансляция адреса с использованием TLB

 

Виртуальный адрес

ОП

Вторичная

№ страницы

Смещение

память

 

Смещение

 

 

 

 

TLB

 

 

 

 

 

 

Страницынет в ОП

 

 

 

Загрузка страницы

 

 

 

кадра

№ кадра

Страница

 

есть в ОП

 

неуспешенTLBвПоиск

 

TLBвПоиск успешен

 

 

стр.

 

 

 

 

 

 

 

№ кадра

Смещение

 

 

 

 

Физический адрес

 

Схема трансляции адреса с TLB

 

ЦП просматривает TLB

 

 

 

Запись таблицы

Да

 

 

 

 

 

страниц в TLB?

 

Программа обработки

 

Нет

 

прерывания обращения

 

Обращение к таблице

 

к странице

 

страниц

 

ОС считывает

Нет

Таблица

 

страницу таблицы

 

 

страниц в ОП?

 

страниц с диска в ОП

 

Да

 

 

 

 

Обновление таблицы

 

Обновление TLB

 

страниц

 

 

 

 

 

ЦП генерирует

 

 

 

физический адрес

 

Двухуровневая иерархическая

таблица страниц в МП Pentium

4-Кбайтная корневая таблица страниц

4-Мбайтная таблица страниц пользователя

4-Гбайтное адресное пространство пользователя

Страницы Страницы PTE

Соседние файлы в папке Lectures