Устройство для распределения ресурсов памяти
Иллюстрации
Показать всеРеферат
Изобретение относится к цифровой вычислительной технике и предназначено для рационального распределения ресурсов памяти ЭВМ. Цель изобретения - расширение функциональных возможностей за счет организации режима аппаратной очистки памяти (сбор мусора ). Устройство содержит блок 1 определения свободных групп зон допустимого размера, блок 2 определения свободной группы зон оптимального размера, блок 3 формирования кодов номеров свободных зон памяти, регистр 4, блок 5 формирования кодов размеров свободных групп зон памяти и кодов номеров их начальных зон, блок 6 управления , блок 7 определения кода номера начальной зоны выделенной группы зон памяти, блок 8 сдвига занятых групп зон памяти. Устройство позволяет определять код номера начальной зоны и количество зон (размер групп а зон в группе зон) памяти, которое S должно быть сдвинуто при очистке памяти , а также новый код номера начальной зоны в этой группе зон с учетом факта сдвига, фиксируя занятость отдельных зон памяти. 3 ил. (/ С
СОЮЗ СОНЕТСНИХ сОциАлистичесних
РЕСПУБЛИН
А1 (51) 5 6 06 F 9/44
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
H А BTOPCHGMV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ пО изОБРетениям и ОтнРцтиям
ПРИ ГННТ СССР (21) 4481558/24 (22) 07.09.88 (46) 30.05.91. Бюл. 1"- 20 (?2) И.M.Зарецкий, В.В.Иазаник и С.В.Ефимов (53) 681.325(088.8) (56) Авторское свидетельство СССР
9 1213484, кл. С 06 F 3/04, 1984.
Енут Д. Искусство программирования для 3BN. т.1. Основные алгоритмы. И.:
Мир, 1976.
Авторское свидетельство СССР
Р 1290335, кл. Г 06 F 12/00, 1985. (54) УСТРОЙСТВО ДЛЯ РАСПРЕДЕЛЕИИЯ
РЕСУРСОВ ПАИЯТИ (57) Изобретение относится к цифровой вычислительной технике и предназначено для рационального распределения ресурсов памяти ЭВИ. Ilenb изобретения — расширение функциональных возможностей за счет органиэации режима
Изобретение относится к цифровой вычислительной технике и предназначе-. но дпя рационального распределения ресурсов памяти ЭИ1.
Цель изобретения — расширение функциональных возможностей за счет организации режима аппаратной очистки памяти.
На фиг. 1 представлена функциональная схема устройства; на фиг.2 -; функциональная схема блока сдвига занятых групп эон памяти; на фиг.3схема, поясняющая порядок сдвига групп зон памяти при ее аппаратной очистке, 2 аппаратной очистки памяти (" сбор мусора") . Устройство содержит блок 1 определения свободных групп зон допустимого размера, блок 2 определения свободной группы зон оптимального размера, блок 3 формирования кодов номеров свободных зон памяти, регистр
4, .блок 5 формирования кодов размеров свободных групп зон памяти и кодов номеров их начальных зон, блок 6 управления, блок 7 определения кода номера начальной зоны выделенной группы зон памяти, блок S сдвига занятых групп зон памяти. Устройство позволяет определять код номера начальной зоны и количество зон (размер групп зон в группе зон) памяти, которое Ф должно быть сдвинуто при очистке памяти, а также новый код номера началь- %Фз7 ной эоны в этой группе зон с учетом факта сдвига, фиксируя занятость отдельных зон памяти. 3 ил.
Устройство содержит блок 1 определения свободных групп зон памяти до- © пустимого размера, блок 2 определения свободной группы зон памяти оптималь- Ю ного размера, блок 3 формирования
«одов номеров свободных зон памяти, регистр 4, блок 5 формирования кодов ,размеров свободных групп зон памяти и кодов номеров их начальных зон, блок 6 управления, блок 7 определе.ния кода номера начальной зоны выде--
"ляемой группы зон памяти блок 8 сдвига занятых групп зон памяти, вход 9 запроса вьщеления группы зон памяти, вход 10 кода требуемого размера
16529/5 группы эон памяти, вход 11 кода размера освобождаемой группы памяти, вход 12 кода номера начальной зоны освобождаемой группы эон памяти, вход 13 признака освобождения группы
5 зон .памяти, выход 14 признака очистки памяти, выход 15 кода номера начальной зоны сдвигаемой группы зон памяти, выход 16 кода размера сдвига- !0 емой группы зон памяти, выход 17 кола номера начальной зоны выделяемой группы зон памяти, выход 18 признака наличия свободной группы зон памяти требуемого размера, выход 19 признака отсутствия свободной группы эон памяти требуемого размера, выход 20 кода номера начальной зоны первой свободной групп зон памяти, вход 21 запроса сдвига группы зон памяти, ход 22 кода номера начальной зоны распределяемой памяти.
Блок 8 содержит узел 23 формирования,кодов размеров занятых групп эон памяти, узел 24 сравнения кодовНачальных адресов массивов памяти и
Кодов номеров их начальных зон, первый мультиплексор 25, второй мульти-! тлексор 26, третий мультиплексор 27, элемент И 28, элемент 29 задержки, элемент ИЛИ 30, вход 3! признака занятости зон памяти, выход 32 кода номера начальной зоны освобождаемой группы зон памяти, выход 33 кода размера освобождаемой группы зон памяти, выход 34 признака освобождения 35 памяти, выход 35 кода номера начальной зоны занятой группы зон памяти, выход 36 кода размера занятой группы эон памяти, выход 37 признака занятости группы зон памяти. 40
Устройство работает следующим образом.
Регистр 4 хранит признаки занятости зон памяти, блок 5 по сигналам с выхода регистра 4 формирует коды размеров свободных групп зон памяти и коды номеров их начальных зон.
И блоке 1 сравниваются размеры scex свободных групп эон памяти с требу50 емым размером (вход 10), поступающим одновременно с запросом выделения труппы зон памяти (вход 9). Резуль1ат этого сравнения поступает на блок 2, где .определяется минимальная
По размеру из всех допустимых группа зон памяти.
На вход блока 7 поступают коды номеров начальных зон всех свободных групп зон памяти с блока 5. Блок 7 передает на выход устройства и на вход блока 8 код номера начальной зоны выбранной группы эон памяти.
Блок 6 управления формирует признак наличия (отсутствия) свободной группы зон памяти требуемого размера.
Код начальной зоны выцеленной группы зон памяти, его код размера и признак наличия свободной группы зон памяти требуемого размера проходят через блок S на блок 3, который выдает сигналы занятости зон памяти на регистр 4. При освобождении задачей группы зон памяти признак освобождения группы эон памяти (вход 13), коды размера и номера начальной зоны освобождаемой группы зон (входы
11 и 12 соответственно) через блок 8 поступают на блок 3, вырабатывающий сигналы освобождения зон памяти, поступающие на регистр 4.
Если свободных групп зон памяти много, блок 5 формирует признак переполнения и на выход устройства выдается признак аппаратной очистки памя - по выходу 14. При получении запроса сдвига занятой группы зон памяти по входу 21 блок 8 по выходам
15 и 16 выдает коды номера начальной зоны и размеры первой занятой группы зон памяти, которая должна переписаться на свободную группу зон, начинающуюся с зоны, код номера которои поступает на выход 20 устройства. Затем блок 8 выдает сигналы освобождения ранее занятой группы эон, а после этого — сигналы занятости нового места группы зон памяти на блок 3.
Если нет возможности сдвинуть занятую группу зон памяти к началу, то код размера сдвигаемой группы зон памяти (выход 16) равен нулю.
После перезаписи указанной группы зон повторяется запрос сдвига группы зон памяти по входу 21 и цикл работы устройства (в режиме сдвига) повторяется. Повторяя запросы сдвига группы зон памяти, можно сдвинуть все занятые группы зон памяти к началу и получить большой свободную группу зон в конце распределяемой памяти.
Блок 8 работает следующим образом.
Выбор группы зон для сдвига поясняется на фиг. 3. Варианты расположения занятых групп зон памяти до и после сдвига сводится к двум ситуациям:
За и Зб. Первая: в на -але памяти
6 > о р м у л а и 3 о б р с т е и я
16529
A0 — номер начальной эоны распределяемой памяти;
АС1 — номер начальной зоны 1-й 10 свободной группы зон памяти;
А31 — номер начальной зоны 1-й занятой группы зон памяти;
А32 — номер начальной зоны 2-й занятой группы зон памяти, 15
031 — размер 1-й занятой группы зон памяти;
032 — размер 2-й занятой группы зон памяти.
Узел 23 по сигналам с инверсных выходов регистра 4 формирует коды номеров начальных зон и размеров первых двух занятых групп зон памяти.
Код номера начальной зоны первой занятой группы эон памяти сравнивается в узле 24 с кодом номера начальной зоны распределяемой памяти (вход 22 устройства), При совпадении (случай показан на фиг. Зб) через мультиплексор 25 на его Выход Выдаются кодъ| 30 номера начальной зоны и размера второй занятой группы зон памяти, иначе (случай показан на фиг. За) - коды номера начальной зоны и размера первой занятой группы зон памяти. 35
При нулевом размере выбранной группы зон памяти (на выходе элемента ИГй 30 — единичный уровень), сигнал запроса сдвига группы зон памяти по входу 21 блока проходит через элемент 40
И 28 на первый управляющий вход мультиплексора 26, передавая коды номера начальной зоны памяти на Выходы
32 и 33 блока в сопровождении признака освобождения группы зон памяти (выход 34 блока). Через время задержки на элементе 29 (равное времени обработки кодов в узле 23) ттмпульс поступит на первый управляющий вход третьего мультиплексора 27 и через 50 мультиплексор 27 на выходе блока 35 . и 35 появятся коды номера начальной зоны свободной группы зон и размера занимаемой группы зон в сопровождении признака занятия группы зон 37 55 для учета сдвига в блоке 3.
Таким образом, устройство работа- ет в режимах Выделения, освобождения и сдвига групп зон памяти.
45 свободная группа зон и необходимо
t сдвигать первую занятую группу эон.
Бтдрая: в начале занятая группа зон и необходттмо сдвигать вторую занятую группу эон.
lIa фиг. 3 обозначено: устройство для распределен:. . сурсов памяти, содержащее блок определения свобоцных групп Зон памяти допустимого размера, блок определения свободной группы эон памяти ст|ецияльного размера, блок формирования кодов номеров свободных зон памяти, регистр, блок формирования кодов размеров свободных групп зон памяти и кодов номеров их начальных эон, блок ут ргвлепия, блок опрепеления кода номера начальной зоны выделяГ емой группы эон памяти, причем информационный выход блока формирования кодов чомеров свободных зон памяти подключен к информаттионному входу регистра, прямой выход регистра подключен к входу признака занятости эон памяти блока формирования кодов размеров свободных групп зон памяти и кодов номеров их начальных эон, выход признака переполнения которого является выходом признака очистки памяти устройства, а выход кодов размеров свободных групп эон памяти подключен к одноименным входам блока определения свободных групп зон гамяти допустимого размера и блоку определения свободной группы зон памяти оптимального размера, информационный выход блока определения свободных групп эон памяти допустимого размера подключен к одноименному входу блока определения свободной группы эон памяти оптимального размера и входу признака наличия свободной группы зон памяти требуемого размера блока управления, одноименный выход которого и выход признака отсутствия свободной группы эон памяти требуемого размера являются выходами признаков наличия и отсутствия свободной ггуппы зон памяти требуемого размера устройства соответственно, вход запроса выделения группы эон памяти блока управления является определенным входом устройства, информационный выход блока определения свободной группы зон памяти оптимального размера подкпючен к входу номера выбранной группы зон памяти блока определения кода номера начальной зоны выделяемой группы эон памяти, информационный выход которого является выходом кодом номера начальной зоны вьделяемой группы зон памяти устройства, выход кодов номеров начапьных зон
1652975 свободных групп зон памяти блока формирования кодов размеров свободных групп зон памяти и кодов номеров их начальных зон подключен к одноименному входу блока определения кода номера начальной зоны выделяемой группы зон памяти, выход кода требуемого размера группы зон памяти устройства является одноименным входом блока определения свободных групп зон памяти допустимого размера, о т л ич а ю ш е е с я тем, что, с целью расширения функциональных возможностей за счет организации режима аппаратной очистки памяти, в него введен блок сдвига занятых групп зон памяти, « ричем входы кода размера освобожда емой группы зон памяти, кода номера
«начальной зоны освобождаемой группы зон памяти, кода начальной зоны рас«тределяемой памяти, признака освобождения группы зон памяти и запроса сдвига занятых групп зон памяти сдвига занятых групп зон памяти яв-Ляются одноименными входами устройства, выходы кода номера начальной зоны сдвигаемой группы зон памяти, « ода размера сдвигаемой группы зон йамяти блока сдвига занятых групп зон памяти являются одноименными выходами устройства, выходы кода ноМера начальной зоны освобождаемой
« руппы зон памяти, кода размера освобождаемой группы зон памяти, признака освобождения группы зон памяти, кода номера начальной зоны занятой группы зон памяти, кода размера занятой группы зон памяти, признака занятия группы зон памяти блока сдвига занятых групп зон памяти подключены к одноименным входам блока формирования кодов номеров свободных зон памяти, инверсный выход регистра
10 подключен к признаку занятости зон памяти блока сдвига занятых групп зон памяти, вход кода требуемого размера групп зон памяти которого подключен к одноименному входу блока оп15 ределения свободных групп зон памяти допустимого размера, вход кода номера начальной зоны выделяемой группы зон памяти блока сдвига занятых групп зон памяти подключен к одноименному выходу блока определения кода номера начальной зоны выделяемой группы зон памяти, вход признака наличия свободной группы зон памяти требуемого размера блока сдвига занятых групп зон памяти подключен к одноименному выходу блока управления, вход кода номера начальной зоны первой свободной группы зон памяти блока сдвига занятых групп зон памяти подключен
30 к выходу кода. номеров начальных зон свободных групп зон памяти блока формирования кодов размеров свободных групп зон памяти и кодов номеров их начальных зон и является одноименным выходом устройства.
1652975
21
А31
031
Я32
ЯС1
Корректор Н. Ренская
Редактор Л. Народная
Заказ 2188 Тираж 411 Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-издательский комбинат "Патент", r. Ужгород, ул. Гагарина, 101
ЯО=ЯС1
ЯО=Я31
ACf
15 1о 32 53 S9
Фиг. 2
Я31 +
ЯС1
Составитель А. Петров
Техред Л,Олийнык