Cтраница 2
Способ представления адреса в виде пары чисел: номера сегмента и адреса ячейки относительно начала сегмента. [16]
Превращение адреса системы MULTICS, состоящего из двух частей, в адрес основной памяти. [17] |
Адреса в MULTICS состоят из двух частей: номера сегмента и адреса внутри сегмента. [18]
При этом идет проверка, не превосходит ли номер сегмента длины Таблицы. По вычисленному адресу выбирается начальный адрес Таблицы страниц. К нему логически прибавляется номер страницы из виртуального адреса. Проверяется, не превосходит ли номер страницы длины Таблицы страниц. Вычисленный адрес содержит адрес страницы, к которому добавляется номер байта из адреса виртуальной памяти. [19]
При сегментном распределении памяти обращение к данным выполняется по номеру сегмента. Совокупность номера сегмента и адреса внутри сегмента определяет виртуальный адрес операнда или команды, расположенных в адресной части команды. Для выборки или записи операндов необходимо преобразование виртуального адреса в физический адрес с помощью сегментной таблицы. Каждая строка таблицы содержит определенные поля. Например, одно поле указывает на наличие этого сегмента в ОП, второе поле содержит адрес сегмента внутри ОП, третье поле содержит количество ячеек, занимаемое данным сегментом. [20]
Тогда адрес любого слова данного процесса может быть записан как соединение номера сегмента и порядкового номера слова в этом сегменте. [21]
Поскольку в программе использован стек магазинного типа, его указатель после выбора номера сегмента уменьшается на единицу, и подпрограмма завершается. Имейте в виду, что если вы редактируете уже существующий символ набора и вносимые изменения не столь велики, то при записи в память его образ будет располагаться в тех же физических сегментах, что и исходный символ. Поэтому многократное незначительное редактирование символов не будет приводить к тому, что физические сегменты символов окажутся хаотически разбросанными по всему полю памяти набора. Рассмотрим это более подробно. [22]
В декларативной части раздела процедур секции не должны содержать в своих заголовках номеров сегментов. Они рассматриваются как принадлежащие к сегменту о нулевым номером. [23]
Однако трансляторы Кобола ЕС ЭВМ позволяют оператору ВЫПОЛНИТЬ обращаться к секциям с любыми номерами сегментов. [24]
Каждый основной регистр АП хранит одну строку страничной таблицы; разряды [0-11 ] содержат номер сегмента и номер математической страницы, разряды [12-18] - номер физической страницы. Разряд [20] является указателем вида физической памяти; если в этом разряде записан нуль, то соответствующая страница находится во внешней памяти. [25]
Процедура обращения к страничной виртуальной памяти. [26] |
Логический адрес, вырабатываемый процессором для системы сегментной виртуальной памяти, состоит из номера сегмента и смещения. [27]
Начальный адрес сегментной таблицы, установленный в управляющем регистре 1, суммируется с номером сегмента из виртуального адреса. В результате образуется адрес, по которому из ОП считывается строка сегментной таблицы, содержащая адрес начала и длину страничной таблицы для данного сегмента. [28]
Если раздел процедур должен сегментироваться, за именем секции через пробел может быть указан номер сегмента. Заголовок секции заканчивается точкой. [29]
В конец раздела памяти набора символов дописывается только та часть стека, которая содержит номера освобожденных сегментов. [30]