Файл: Дроздов Е.А. Многопрограммные цифровые вычислительные машины.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.04.2024

Просмотров: 303

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

— для собственно выборки слова по полученному физическому адресу.

Для уменьшения общего цикла выборки слова из ОЗУ странич­ ная таблица размещается в специальном устройстве типа сверх­ оперативной регистровой памяти малой емкости с временем обращения тОбр = 30н-80 нсек. Если для каждого пользователя формируется отдельная страничная таблица, то емкость сверхопе­ ративной памяти Ео определяется так:

F — N

М

 

 

*-•0

*у макс /К1макс>

 

 

где Е/макс — максимальное

количество

одновременно

обслужи­

ваемых пользователей, или максимальное

количе­

ство параллельно реализуемых рабочих программ;

Жмокс — максимальное

количество

строк в страничной таб­

лице.

 

 

 

 

В некоторых случаях значение Е0 для уменьшения состава до­ полнительной аппаратуры принимается равным Ммакс. Тогда в сверхоперативной памяти размещается страничная таблица для ак­ тивной на данном временном интервале рабочей программы, а остальные страничные таблицы помещаются в общую оператив­ ную память. С началом активизации очередной рабочей програм­ мы управляющая программа обеспечивает смену страничных таб­ лиц в сверхоперативной памяти.

Кроме сверхоперативной памяти к дополнительной аппаратуре, участвующей в процессе преобразования страниц, относятся неко­ торые регистры и группы логических элементов типа вентилей. Регистры необходимы для размещения номера реализуемой рабо­ чей программы, а также исходного математического адреса. Груп­ пы вентилей обеопечивают коммутацию цепей передачи инфор­ мации.

Общая схема преобразования страниц приведена на рис. 10.3. На ней показана сверхоперативная память СОЗУ, оперативная па­ мять ОЗУ, а также регистр команд РгК и регистр номера испол­ няемой программы РгНП, обычно включаемые в состав устрой­ ства управления. Для данной схемы принято, что £ 0 = 16, ЕЬр— = 1024, а оперативная память разбивается на 16 физических стра­ ниц, которым отвечают отдельные блоки накопителя ОЗУ. Кроме регистров адреса РгА и дешифраторов Дш в СОЗУ выделены вы­ ходные собирательные схемы Сб, а в ОЗУ показана схема комму­ тации блоков СхК. Регистр PrAj служит для размещения номера

физической страницы N$.c, т. е. номера блока накопителя ОЗУ; в ре­ гистре PrAj размещается адрес слова Лс.с, определяющий номер

ячейки внутри физической страницы, т. е. номер ячейки блока на­ копителя ОЗУ. Группы вентилей, обеспечивающие коммутацию це­ пей, на схеме рис. 10.3 не показаны.

С началом реализации рабочей программы ее номер L вводится управляющей программой в РгНП. Значение L передается в ре­ гистр адреса PrAj СОЗУ и представляет собой первую часть кода

319



любого адреса при обращении к СОЗУ в процессе выполнения данной рабочей программы. Вторая часть кода адреса для обра­ щения к СОЗУ, хранящего данные страничной таблицы, составляет номер математической страницы Ум.с, вводимый из РгК в РгА|. В ячейках СОЗУ записаны номера физических страниц, поэтому при обращении к сверхоперативной памяти из нее как бы извле­ кается значение Уф.с, которое через выходные собирательные схе­ мы передается в Ргд-/ ■Выходной регистр в СОЗУ не показан, так

как считается, что это ЗУ выполнено на триггерных регистрах.

 

 

 

 

 

Г "

 

 

 

 

 

 

 

РгНП

ОЗУ

 

 

 

 

СОЗУ

1

 

 

 

 

 

 

1

 

 

/024

 

 

 

 

г

 

 

-ч:

 

 

Сб 'фс

 

 

3

3

 

о.

■ч

*

 

1

 

 

 

 

 

 

 

16

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

1 Лес

 

 

 

 

 

 

OJ

РгК

 

ко

^мс

 

Ксс

3

 

 

4

 

 

 

 

.

 

 

 

/024

 

 

 

 

 

 

 

 

 

 

Рис.

10.3. Схема преобразования страниц

 

В регистр РгАг' из РгК вводится адрес Лс.с, поэтому дешифра­

тор Дш2" обеспечивает выборку необходимого слова из любого блока ОЗУ. Обращение к требуемому блоку обеспечивается де­ шифратором Дш2' совместно со схемой коммутации блоков СхК. Отметим, что схема рис. 10.3 может быть дополнена узлами и це­ пями, обеспечивающими смену информации в PrAi и РгАг' толь­

ко при переходах от одной математической страницы к другой и от реализации данной рабочей программы к реализации после­ дующей рабочей программы. Это в конечном итоге сокращает вре­ мя общего цикла обращения к оперативной памяти.

Обмен информацией между внешней и оперативной памятью осуществляется постранично. Страница из внешней памяти вы­ зывается для размещения Екр машинных слов в оперативной па­ мяти, как правило, тогда, когда при преобразовании очередного математического адреса устанавливается, что требуемая страница не записана в ОЗУ. Пересылка требуемой страницы в ОЗУ воз­

320


можна только в том случае, когда хотя бы одна физическая стра­ ница оперативной памяти свободна. Если же оперативная память на момент вызова страницы из внешней памяти полностью за­ полнена информацией, то необходимо решать вопрос о выборе мас­ сива информации, отсылаемого во внешнюю память для освобо­ ждения группы ячеек, т. е. страницы, ОЗУ.

Страницу, удаляемую из ОЗУ при обмене, необходимо выби­ рать так, чтобы минимизировать количество обменов между опе­ ративной и внешней памятью и время, затрачиваемое на выявле­ ние наиболее подходящей страницы—-кандидата на удаление из ОЗУ. Поэтому за основу стратегии обмена принимается положе­ ние об удалении из ОЗУ той страницы, обращение к которой при дальнейшей реализации соответствующей рабочей программы про­ изойдет позже, чем в любой другой странице, располагающейся в момент обмена в ОЗУ. Непосредственная реализация указанного положения затруднена, так как управляющая программа может оперировать только теми данными, которые были накоплены в процессе реализации рабочих программ до момента обмена стра­ ницами. Поскольку время, затрачиваемое на выявление кандидата для удаления из ОЗУ, должно минимизироваться, то конкретные правила удаления страниц упрощают, а объем накапливаемой ин­ формации по использованию страниц уменьшают. При установле­ нии правил обмена учитываются также общие характеристики уз­ лов и устройств конкретной многопрограммной ЦВАЙ.

Для учета характеристик использования страниц одна из под­ программ управляющей программы в процессе решения задач формирует в соответствующем участке оперативной памяти таб­ лицу использования страниц. Каждая страница, т. е. некоторый массив информации, может характеризоваться, например, значе­ ниями периодов ее неиспользования [41]. Тогда в таблице исполь­ зования страниц помещаются такие данные:

T2j— длительность предыдущего, т. е. до последнего использова­ ния, периода, в течение которого /-я страница не исполь­ зовалась; сюда лее включается время нахождения стра­ ницы во внешней памяти;

TXj — длительность периода неиспользования /-й страницы к моменту данного обмена страницами.

При каждом обмене страницами всегда осуществляется преры­ вание процесса решения задач. Поэтому значения Т2}- и Т1;- могут выражаться количеством прерываний с момента последнего ис­ пользования /-й страницы.

Если в таблице использования для всех страниц имеются зна­ чения Т2 и Г], то подпрограмма выявления кандидата на удале­ ние из оперативной памяти мол<ет строиться в соответствии со следующими правилами:

— из оперативной памяти удаляется страница Sj, для которой величина T2j — 7'1;- отрицательна и имеет наибольшее значение по модулю; это правило отвечает удалению страницы, которая к дан­ ному обмену оставалась в ОЗУ неиспользованной дольше, чем она

321


оставалась в бездействии последний раз, среди всех остальных страниц;

—• если нет страниц с T2j — Ги<0, то удаляется страница, для которой Tij=£ 0 и T2j — Ти имеет наибольшее значение; это пра­ вило отвечает удалению страницы, для которой ожидаемый момент использования наступает позже, чем для остальных страниц;

— если для всех страниц Ти = 0, то удаляется страница, для которой Т2j имеет наибольшее значение; это правило отвечает уда­ лению страницы, которая имеет тенденцию дольше остальных оста­ ваться неиспользуемой.

С е г м е н т а ц и я п р о г р а м м и п а м я т и

Страничная организация памяти в основном осуществляется для уменьшения количества обменов между оперативными и внеш­ ними ЗУ, обеспечивая в то же время определенные удобства для пользователей, реализующих свои программы на многопрограмм­ ных ЦВМ. Ее характерной особенностью является то, что поль­ зователь может и не знать конкретные принципы распределения и организации памяти, имея в своем распоряжении определенную совокупность ячеек с последовательными номерами. В ряде слу­ чаев рабочие программы, составляемые пользователями, имеют сложную структуру и состоят из нескольких слабо связанных ме­ жду собой частей—-главной ветви программы, набора стандарт­ ных подпрограмм, нескольких массивов данных и т. п. Причем длина массивов слов по каждой части заранее может быть неиз­ вестной.

При составлении таких программ целесообразно, чтобы каж­ дый массив занимал отдельную совокупность ячеек, пронумеро­ ванных начиная с нуля. Рассмотренные выше принципы странич­ ной организации памяти, главным образом математической, таких возможностей не предоставляют. Поэтому в ряде многопрограмм­ ных ЦВМ нашел применение принцип сегментации программ и математической памяти, представляющий собой дальнейшее раз­ витие принципов страничной организации памяти.

Сегментация математической -памяти заключается в разделе­ нии всех имеющихся математических страниц на группы-сегменты с независимой адресацией слов внутри каждой части; в границах каждого сегмента математические страницы могут относиться как к оперативной, так и к внешней памяти. При программировании каждая часть сложной программы размещается в отдельном сег­ менте математической памяти; адрес любого слова теперь состоит из трех частей: номера сегмента, номера страницы и адреса слова внутри страницы. Программа в этом случае оказывается раз­ битой на сегменты, сегменты делятся на страницы и страницы —

на слова.

Для осуществления переходов от математических адресов к физическим в многопрограммных ЦВМ с сегментной организацией

322