Cтраница 1
Использование базовых регистров облегчает выполнение этой задачи. [1]
Метод использования базовых регистров состоит в следующем. Адрес каждого объекта, расположение которого имеет значение только по отношению к началу соответствующей программной единицы и, следовательно, способного перемещаться по основной памяти вместе с программной единицей, представляется в объектной программе номером регистра, назначенного этому объекту в качестве базисного, и величиной смещения - разностью между адресом объекта и адресом, помещенным в базисный регистр. [2]
При использовании базового регистра формат команды может быть следующим. Для задания, одного из 16 общих регистров в качестве базового выделим 4 бита и еще 12 битов - для смещения. Благодаря применению принятой схемы формирования адреса достигается экономия восьми битов. [3]
Модульная адресация с использованием базового регистра ( Вп) и модульного регистра ( Mj), позволяет программисту размещать модульный буфер по любому адресу. Начальный адрес буфера выравнивать в большинстве архитектур не требуется. [4]
![]() |
Пример распределения. [5] |
Один из способов динамического распределения памяти основан на использовании базовых регистров. Операционная система каждой пользовательской программе ставит в соответствие свой базовый адрес. Базовые адреса обрабатываемых программ находятся в общих регистрах. При выполнении программы реальный или физический адрес образуется суммированием базового и относительного адресов. При динамическом распределении памяти с помощью базовых регистров программа ( или, по крайней мере, та часть ее, адрес которой преобразуется с помощью одного и того же базового адреса) должна располагаться в последовательных ячейках и вводиться в ОП целиком, хотя в ближайшем цикле активности может потребоваться лишь небольшой фрагмент программы. [6]
Один из способов динамического распределения памяти основан на использовании базовых регистров. [7]
Наиболее распространенный метод обеспечения перемещаемости программы состоит в использовании базовых регистров. Этот метод широко распространяется, в частности используется в ОС ИБМ / 360, ЕС ЭВМ, Джей фирмы ICL и др. Благодаря этому методу не все объектные программы нуждаются в корректировке для подготовки к выполнению, а в корректируемых программах производится сравнительно мало изменений. [8]
Организация Системы 360 облегчает реализацию задач, выполняемых настраивающим загрузчиком. На ЭВМ 7094 фирмы IBM, использующей схему непосредственной адресации памяти, приходится настраивать адресную часть почти всех команд. В машинах Системы 360 перемещаемость команд обеспечивается использованием базовых регистров, установка значений которых не является задачей ассемблера или загрузчика. Однако адресные константы все еще требуют настройки. [9]
В ряде случаев для эффективной передачи данных между сегментами удобно извлекать операнды, находящиеся в стековом сегменте, не прибегая к операциям со стеком. Это относится, например, к извлечению параметров подпрограмм, которые находятся глубоко в стеке. Для подобных целей существует специальный вид обращения к памяти с использованием базового регистра ВР. Данные, для доступа к которым используется регистр ВР, выбираются из стекового сегмента, причем содержимое регистра SS служит в этом случае базовым адресом, а смещение задается исполнительным адресом ЕА, в формировании которого участвует содержимое регистра ВР. [10]