Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Центральные и переферийные устройства электронно вычислительных средств.pdf
Скачиваний:
284
Добавлен:
02.05.2014
Размер:
6.14 Mб
Скачать

Глава 10. Организация безадресной и виртуальной памяти

171

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

10.4. Структура виртуальной памяти при сегментном распределении

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

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

Сегмент определяется как логическая группа информации, такая, как программа, массив или область данных (рис. 10.13). Здесь в поле доступа заносятся Е - выполнение разрешено, R - чтение разрешено, W - запись разрешена.

Сегментированное

 

Таблица сегментов

Физическая

 

адресное

 

память

 

 

 

 

 

 

 

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

Размер Доступ

Сост.

Адрес

0

0

Основная

ОС

 

 

 

 

 

 

 

память -

0

160

Е

Y

6000

 

160

ОЗУ

 

 

 

 

 

 

3460

 

 

 

 

 

 

 

0

 

1

 

 

 

 

Y

Х

 

 

 

 

 

3800

340

2

 

 

 

 

 

340

Е

Y

3460

A

 

 

0

 

 

 

 

 

 

3900

А

3

100

R

Y

3800

4000

100

 

 

 

 

 

 

ОЗУ

 

 

 

 

 

 

 

0

В

4

60

RW

N

 

4160

 

 

 

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 10.13. Отображение сегментного адресного пространства

Для поддержки сегментного распределения необходимы следующие таблицы:

-таблицы сегментов, по одной на адресное пространство,

-таблица перераспределения области, одна на систему,

-таблицы активных ссылок, по одной на адресное пространство,

-таблица активных сегментов, одна на систему.

Последние два типа таблиц на рис. 10.13 не показаны. На рис. 10.14 приведено формирование сегментного адреса для 64-разрядного слова ЭВМ средней производительности.

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

Глава 10. Организация безадресной и виртуальной памяти

172

распределение также облегчает совместное использование сегментов области данных и процедур и дает возможность контролируемого доступа.

Однако сегментное распределение приводит к значительным накладным расходам, вызываемым перекомпоновкой памяти для обеспечения динамического расширения сегментов и устранения фрагментации. Вызывает трудности и управление сегментами переменной длины во внешней памяти. Необходимы затраты и на сокращение “пробуксовки” сегментов.

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

Сегментно-страничный способ объединяет в себе оба рассмотренные способа организации виртуальной памяти. Сегмент представляется не как нечто единое целое и непрерывное, а как совокупность страниц. В этом случае разрешаются проблемы перекомпоновки, управления внешней памятью и устраняются ограничения на размер сегмента. Возникает определенная иерархия в организации программ, состоящая из четырех ступеней: программа, сегмент, страница, байт. Этой иерархии программ соответствует иерархия таблиц, служащих для перевода виртуальных адресов в физические. На рис. 10.15 показано формирование исполнительного адреса, а на рис. 10.16 - схема аппаратной реализации сегментно-страничной памяти.

 

64

 

КОП

№ сегмента

№ байта

 

24

24

Индексный регистр для № байта Регистр

Рис. 10.14. Формирование сегментного адреса

 

 

 

 

 

24

 

 

 

 

 

№ сегмента

№ страницы

 

№ байта

0

7

8

15

16

19

20

31

Рис. 10.15. Формирование исполнительного 24-битового адреса

Глава 10. Организация безадресной и виртуальной памяти

 

 

 

 

 

 

 

173

 

 

 

 

Регистр таблицы сегментов - управляющий регистр

 

 

 

 

 

 

 

 

 

Длина

Адрес табл. сегментов

 

 

 

 

 

 

 

 

 

 

табл.сегм.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. страниц (16)

0

 

3

4

7

8

 

25

26

31

 

 

№ блока

р

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

1

 

 

 

р

0

L

 

 

 

Адрес табл. сегментов

 

S

 

2

 

 

 

р

 

 

 

 

 

3

 

 

 

р

 

 

 

 

 

 

 

 

 

 

 

 

 

1

L

 

 

 

 

 

 

S

 

4

 

 

 

р

 

 

 

 

 

 

 

5

 

 

 

р

 

 

 

 

 

 

 

 

 

 

 

 

 

2

L

 

 

 

 

 

 

S

 

Права

 

 

Блоки

 

 

 

 

 

 

 

 

 

 

 

 

3

L

 

 

 

 

 

 

S

 

доступа

 

памяти

 

 

 

 

 

 

 

Кл.

F

R

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

L

 

 

 

 

 

 

S

 

Кл.

F

R

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

L

 

 

 

 

 

 

S

 

Кл.

F

R

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

L

 

 

 

 

 

 

S

 

 

 

 

 

 

7

L

 

 

 

 

 

 

S

 

 

 

 

 

 

сегмента

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

3

4

7

8

 

28

29

 

31

 

 

 

 

 

 

Поле

 

 

 

 

 

 

 

 

 

 

 

 

 

длины

 

 

 

 

 

 

 

 

 

 

 

 

 

сегмента

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 10.16. Аппаратная реализация сегментно-страничной памяти

 

 

 

Контрольные вопросы к главе 10

1. Назовите два типа безадресных ЗУ. В чем их достоинства и в каких случаях они применяются.

2.К какому уровню иерархической структуры памяти ЭВМ относится стековая организация ЗУ?

3.Назовите отличия в организации стеков типа LIFO и FIFO.

4.Для чего предназначен счетчик-указатель стека?

5.За счет чего слова в стеке сдвигаются вверх или вниз?

6.Поясните содержательно понятия “проталкивание в стек” и “выталкивание из стека”.

7.Как идеология стека может быть использована в НМН?

8.По какому признаку производится поиск информации в ассоциативном ЗУ (АЗУ)?

9.Для чего в АЗУ используется дополнительный служебный разряд?

10. Каково содержание ассоциативного запроса и где он хранится? 11. Каково содержание кода маски поиска и где он хранится?

12. Как связаны между собой ассоциативный запрос и маска поиска? 13. Поясните понятия “маскирование”, “незамаскированные разряды”.

14. Каково назначение комбинационной логической схемы и сколько кодов и какие поступают на нее одновременно?

15. На что указывают “1” в разрядах позиционного кода , образующегося в регистре совпадения АЗУ после проведения операции контроля ассоциаций?

16. Какие три случая возможны по результатам проведенного ассоциативного поиска и как они фиксируются? 17. Как отыскивается в АЗУ свободная ячейка при записи?

18. Перечислите, какие операции помимо ассоциативного поиска, могут выполняться в АЗУ.

19. В чем заключается принцип динамического распределения (перераспределения) памяти и в каких ВС он применяется?

20. На какие две части разбито все адресное пространство виртуальной памяти? 21. Какие две цели достигаются при виртуальной организации памяти ВС?

22. Назовите два основных способа управления виртуальной памятью.

Глава 10. Организация безадресной и виртуальной памяти

174

23.Как поступают при организации виртуальной памяти, когда потребность программ в оперативной памяти превышает 100% ее объема?

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

25.Что задает страничная таблица (PMT) виртуальной памяти?

26.Назовите программу, с помощью которой формируется и перерабатывается РМТ.

27.Куда переписываются неактивные страницы виртуальной памяти?

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

29.Перечислите достоинства и недостатки способа динамического распределения памяти страницами по запросам.

30.Поясните выражения “фрагментация памяти”, “пробуксовка ВС”.

31. Что называется сегментом в виртуальной памяти?

32.Сколько и какие требуются таблицы для поддержки сегментного распределения памяти?

33.В чем состоит различие целей, достигаемых при страничной и сегментной организации памяти?