Cтраница 3
При динамическом распределении памяти рекурсивные процедуры программируются и выполняются по правилам, общим для всех процедур. Каждое обращение к процедуре приводит к выделению в стеке памяти для этой процедуры независимо от того, является это обращение обычным или рекурсивным. [31]
При динамическом распределении памяти удобно ис-пользовать - так называемые математические адреса, обеспечивающие сквозную нумерацию ячеек из внешних запоминающих устройств. [32]
При динамическом распределении памяти порядок назначения, использования и исключения массивов дается при составлении программы в соответствии с описанием массивов в программе. Косвенная выборка применяется в многоблочных ЗУ большой емкости, при динамическом распределении памяти и динамическом обмене информацией между оперативной и внешней памятью. Косвенная выборка сводится к тому, что в каждый из блоков оперативного ЗУ поступает исполнительный физический адрес, который отличается от адреса ( относительного, математического), указанного в коман де. Формирование исполнительного адреса осуществляется ариф метическим устройством, центральным устройством управления и схемой управления ЗУ. [33]
При динамическом распределении памяти информация в ОЗУ не перемещается с места на место. Вся последовательность выполнения операции фиксируется только в АЗУ. С помощью АЗУ ведется также учет свободных и занятых страниц, определение необходимости в дополнительных ячейках. [34]
При динамическом распределении памяти в случае недостаточной емкости ОП полезно воспользоваться виртуальной памятью. В режиме виртуальной памяти пользователь имеет дело не с физической ОП, действительно имеющейся в ПК, а с виртуальной одноуровневой памятью, емкость которой равна всему адресному пространству микропроцессора. На всех этапах подготовки программы, включая ее загрузку в оперативную память, в программе используются виртуальные адреса, и лишь при непосредственном исполнении машинной команды выполняется преобразование виртуальных адресов в реальные физические адреса ОП. [35]
Индексная адресация с использованием регистров. [36] |
При динамическом распределении памяти базовые адреса массивов изменяются в процессе выполнения программы, в результате адреса не могут быть зафиксированы в программе. Для обеспечения динамического распределения памяти используют способ относительной адресации. Относительный адрес ( рис. 5.7, а) состоит из двух полей: В, указывающего базовый адрес А6 массива; D, представляющего собой относительный адрес Лотн. Поле D принято называть смещением D операнда относительно начала массива. [37]
При динамическом распределении памяти операнды, результаты и команды адресуются от базисных адресов массивов, которым они принадлежат. При обращении к памяти относительный адрес, указанный в команде, должен преобразовываться в абсолютный адрес Аа в соответствии с таблицей массивов, описывающей распределение памяти. Адрес Аа ячейки памяти вычисляется как сумма Аа В А I, где В - базисный адрес некоторого массива, А - указанный в команде относительный адрес и / - значение индекса, используемого при модификации адресной части команды. Значения Ли / указываются в адресной части программы. Значение базисного адреса В хранится в таблице массивов. Очевидно, что команда должна содержать ссылку на номер массива, к которому относится адрес А, указанный в команде. Данная ссылка позволяет определить адрес В. Вычисление абсолютного адреса Аа В А / требует выборки базисного адреса и производится при каждом обращении к памяти. Для уменьшения затрат времени на выработку абсолютного адреса для хранения базисных адресов используются регистры на триггерах, называемые базисными регистрами. Количество регистров ограничивается до 4 - 16, и на базисных регистрах хранятся базисные адреса только тех массивов, которые используются на данном этапе выполнения программы. [38]
Мультипрограммирование, динамическое распределение памяти и виртуальная память предназначены максимизировать использование ЦП за счет размещения в основной памяти большего числа программ и передачи управления ЦП от одной программы к другой. [39]
В процессе динамического распределения памяти осуществляется преобразование математических адресов в физические адреса, по которым производится фактическое обращение. Для этой цели используются базовые регистры процессора, в каждом из которых записывается начальный адрес той или иной страницы. Прибавление базового адреса у математическому адресу, записанному в команде программы, образует физический адрес данного обращения к памяти. [40]
Рассмотрим случай динамического распределения памяти в микропроцессорном АП. Позиция bg играет роль семафора, предоставляющего доступ к МП. Функционирование ЭПМ и ПАЭПм отражается подсетью ( Ь &, &10, bis, d6, d7, dg, dio), где семафором является позиция Ью - Общий буферный накопитель моделируется позицией big с разметкой M ( big) N (, где А ВЭ интерпретируется как число свободных блоков ОЗУ фиксированной емкости. [41]
В основу динамического распределения памяти обычно закладывается следующий принцип: программы и информация, подлежащие вводу, разбиваются на отрезки ( блоки) фиксированной длины; между этими отрезками ( блоками) и соответствующими участками памяти устанавливается адресное соответствие. Таким образом, каждый отдельный вычислительный процесс использует только ему доступный участок ЗУ. Этот участок подразделяется на сегменты, которые, в свою очередь, составляются из одинаковых по объему страниц. Участки программы с соответствующими физическими участками ЗУ совмещаются в пределах страниц. Каждому сегменту соответствует таблица страниц. С помощью этой таблицы устанавливается однозначное соответствие между математическими и физическими страницами. [42]
В системах динамического распределения памяти - появление большого количества коротких несмежных свободных блоков; при этом система не может удовлетворить запрос на выделение длинного блока, несмотря на то, что большая часть памяти не занята. [43]
Часть системы динамического распределения памяти, выполняющая чистку памяти. [44]
Последнее препятствует динамическому распределению памяти. Далее изложены более простые способы, эффективные для большинства схем диапазона СВЧ. [45]