АДРЕСАЦИЯ [addressing].
Определение операнда в машинной команде. Способ вычисления физического адреса и выполнения операций над адресными регистрами. Рассмотрим наиболее распространенную схему А. Чтобы при выполнении программы устройство управления могло определить, какую команду необходимо выполнить в данный момент, и найти данные, указанные в этой команде, вся основная память машины делится на отдельные адресуемые ячейки – байты или машинные слова. Каждому байту или слову присвоен уникальный физический адрес. В традиционной схеме А. эти адреса являются номерами, начиная от нуля с шагом единица. Таким образом, к любой команде или элементу данных можно обратиться по адресу его самого левого элемента. При таком абсолютном методе А. адрес 1234 означает 1235-й байт или машинное слово при условии, что отсчет ведется от нулевой ячейки памяти. Однако при режиме мультипрограммирования место, занимаемое программой в оперативной памяти, зависит от наличия и расположения в ней других программ. Поэтому необходимо, чтобы программы были перемещаемыми, т. е. адреса внутри программ должны отсчитываться относительно некоторого начального базового адреса программы, который должен быть перемещаемым. Это же требуется и при независимой трансляции подпрограмм и отдельных программных модулей, адреса которых также отсчитываются от базового адреса и называются относительными адресами или смещениями. При загрузке программы в зависимости от места, занимаемого программой или ее сегментом, определяется значение ее базового адреса, которое посылается в базовый регистр процессора, и физический адрес ячейки интерпретируется аппаратурой как сумма содержимого базового регистра и относительного адреса. Например, если адресная часть команды содержит 1200, а содержимое базового регистра равно 300, то операнд будет выбираться из ячейки с физическим адресом 1500. Внутри циклов, которые есть почти в каждой программе, работает одна и та же последовательность команд, а изменяются только адрес или величина той или иной переменной. Для определения значения адреса, изменяемого в цикле, применяется так называемый индексный регистр, содержимое которого отражает значение параметра цикла. Адрес операнда в командах цикла определяется как указанный в команде относительный адрес плюс содержимое базового регистра плюс содержимое индексного регистра. При таком методе А. все данные могут смещаться при перемещении программы путем изменения значения базового регистра, а индексный регистр способствует простой организации выборки в цикле. При трансляции программ, написанных на языках программирования высокого уровня, компиляторы сами выбирают регистры, необходимые для базирования и индексации, а компоновщики и загрузчики устанавливают их нужные значения. Для уменьшения потерь времени на вычисление физических адресов во время выполнения программы такое вычисление производится специальными быстрыми аппаратными средствамиАДРЕСАЦИЯ С ИНДЕКСИРОВАНИЕМ [indexed addressing].
To же, что индексная адресацияАДРЕСНАЯ КОНСТАНТА [address constant, A-constant].
Константа, которая либо является адресом, либо используется при вычислении адресов. Обычно это числовая константа или числовое выражение, значение которого является адресом или составной частью адресаАДРЕСНАЯ ССЫЛКА [address reference].
Ссылка в форме адресаАДРЕСНАЯ ШИНА [address bus].
Шина или часть шины, предназначенная для передачи адресаАДРЕСНОЕ ПРОСТРАНСТВО ЗАДАЧИ, адресное пространство процесса [process address space].
Множество логических адресов, по которым может обращаться задача. Система управления памятью устанавливает соответствие между А. п. з. и физической памятью ЭВМ, и при выполнении задачи для каждого логического адреса вычисляет физический адрес. См. адресация, управление памятью, виртуальная памятьАДРЕСНОЕ ПРОСТРАНСТВО ПРОЦЕССА [process address space].
To же, что адресное пространство задачи