Информатика и вычислительная техника


Организация управления основной памятью ЭВМРаспределение и защита памятиВиртуальная память - часть 2


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

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

Если ЭВМ имеет 32 - х битовую адресную структуру, то максимальная длина адреса в единственном сегменте будет составлять 32 разряда. Если же 16 разрядов из 32 отвести под сегментный адрес S, a 16 разрядов - под смещение i, то адресное пространство программ будет состоять из 216 сегментов, каждый из которых может содержать 216 = 64 Кбайт.

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

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

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




Начало  Назад  Вперед



Книжный магазин