Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Дроздов Е.А. Многопрограммные цифровые вычислительные машины

.pdf
Скачиваний:
22
Добавлен:
25.10.2023
Размер:
15.96 Mб
Скачать

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

Количество токовых ключей равно общему количеству Мп0бщ типов подциклов, т. е. стандартных последовательностей из т микрокоманд, необходимых для выполнения всех машинных опера­ ций. Каждый токовый ключ имеет в качестве входной схемы эле­ мент И на два входа; на один из входов И подается усиленный сигнал с одного из выходов дешифратора операций, а на другой — усиленный сигнал с одного из выходов дешифратора подциклов. В общем случае к выходу каждого токового ключа через диоды подключаются начала т адресных шин.

Концы адресных шин через усилители-формирователи подклю­ чаются к выходам датчика тактов; всего датчик тактов имеет т выходов. К каждому выходу в общем случае подключается Nn0^m адресных шин. Таким образом, при возбуждении одного токового ключа в течение подцикла импульсные токи проходят по т адрес­ ным шинам, что обеспечивает выборку т микрокоманд.

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

Генератор импульсов ГИ формирует импульсы с периодом сле­ дования, равным длительности стандартного подцикла. Если Гподц=10 мксек, то / ги = 100 кгц. Импульсы такой же частоты по­

даются и на датчик тактов, который состоит из последовательно включенных ЛЗ с

Гподц

Датчик тактов имеет т выходов, которые подключаются к вы­ ходам отдельных ЛЗ. На выходах ДТ импульсы образуются после­ довательно через временные интервалы, равные одному такту. Иначе говоря, время задержки одной ЛЗ равно одному времен­ ному такту. Если 7’ПОдц=10 мксек и т 8, то т3=1,25 мксек.

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

300

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

буждается очередной ключ из

подготовленных к работе

ключей

и т. д. По финишному сигналу

операции осуществляется

переход

к выполнению очередной команды программы решения задачи.

§ 9.6. Блоки прерываний

Блоки прерываний представляют собой аппаратную часть общих систем прерываний, обеспечивающих в многопрограммных ЦВМ прерывания выполнения текущих программ и переход к выполне­ нию других программ. Необходимость осуществления прерываний вызывается не столько разделением машинного времени между различными рабочими программами, сколько потребностью быстро­ го реагирования на различные ситуации, связанные с выполнением текущих программ и состояниями отдельных устройств машины. К таким ситуациям относятся: переполнение разрядной сетки, на­ рушение защиты оперативной памяти, выявление неисправности ка­ кого-либо устройства, наличие ошибки в операционной части команды и т. п. Эти ситуации являются причинами, вызывающими прерывания.

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

После выполнения прерывающей программы должен обеспечи­ ваться возврат к прерванной программе. Поэтому порядок дей­ ствий при прерывании обычно следующий:

переход к прерывающей программе; в большинстве случаев он обеспечивается непосредственно узлами блока прерываний, ра­ бота которых приводит к формированию адреса первой команды прерывающей программы;

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

301

выполнения; обычно запоминается содержимое программно-доступ­ ных регистров (СчК, ИРг, регистров АУ и т. д.), т. е. таких, состоя­ ния которых могут изменяться при выполнении прерывающей про­ граммы;

— выполнение прерывающей программы; оно осуществляется в обычной последовательности действий по расшифровке и исполне­ нию отдельных команд;

— возврат к прерванной программе; он заключается в восста­ новлении состояния прерванной программы путем пересылки ин­ формации из фиксированных ячеек ОЗУ в соответствующие про­ граммно-доступные регистры и из регистров-дублеров в основные регистры АУ и УУ.

777 ■ ш .

ЗП 1

/7/7 - ш

Тр, Я

ь ! Н

Ж ,

ъ

_____________ _

t

! t

t 3

Рис. 9.17. Общая временная диаграмма прерывания

Такой последовательности действий отвечает общая временная диаграмма прерывания, приведенная на рис. 9.17. При выполнении текущей программы ТП в момент времени f\ поступает сигнал за­ проса на прерывание ЗП. Переход к прерывающей программе ПП осуществляется не сразу, так как необходимо время на анализ за­ проса и окончание действий по выполнению команды прерываемой программы. Выполнение прерывающей программы начинается в мо­ мент времени t2, который лишь в идеальном случае совпадает с моментом окончания действий по текущей прерываемой программе. Время, протекающее от /] до t2, называется временем реакции на запрос прерывания; на рис. 9.17 оно обозначено как тр; т3 — время, необходимое для запоминания состояния текущей прерываемой

программы;

тп. п— время

выполнения

собственно прерывающей

программы;

тв — время,

необходимое

для восстановления состоя­

ния прерванной программы.

 

Время реакции -ср и время обслуживания прерывания

А)бсл А) “Ь

являются важными характеристиками системы прерываний как комплекса аппаратно-программных средств, так как характеризуют потери машинного времени на организацию процесса прерывания и «быстродействие» ЦВМ по обслуживанию запросов на преры­ вания.

302

Важной характеристикой системы прерываний и ее составной части — блока прерываний — считается также глубина прерыва­ ний, которая определяется максимальным количеством программ, которые могут прерывать одна другую. При глубине прерываний у= 0 выполнение первой прерывающей программы не может пре­ рываться никакой другой программой. При у=1 возможно пре­ рывание первой прерывающей программы второй прерывающей программой и т. д.

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

Рис. 9.18. Временная диаграмма прерываний с учетом приори­ тетов

просов на прерывания присваивается постоянный, как правило, уровень приоритетности. Принимается, что нулевой уровень обла­ дает наивысшим приоритетом. Прерывание нулевого уровня, т. е. прерывание, отвечающее источнику запросов с нулевым уровнем приоритетности, может прервать любую из программ, отвечающих уровням 1, 2, ..., т при выделении т + 1 уровней. Прерывание первого уровня может прервать любую из программ, отвечающих уровням 2, 3, ..., т, но не может прервать программу, отвечаю­ щую уровню 0, и т. д. Прерывания одинакового уровня произво­ дятся в порядке поступления на них запросов; текущая рабочая программа имеет, как правило, низший приоритет, т. е. она отве­ чает условному уровню т + 1.

Обслуживание запросов на прерывания с учетом их приорите­

тов иллюстрируется общей временной диаграммой

(рис. 9.18).

ЗП-2 обозначает запрос прерывания

второго уровня,

ЗП-4 — за­

прос прерывания

четвертого

уровня,

ЗП-6 — запрос

прерывания

шестого уровня.

В связи с

введением приоритетов

фактическое

303

время Тр. реакции на отдельные запросы увеличивается посколь­

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

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

Структура блоков прерываний во многом зависит от общих ха­ рактеристик системы прерываний и приоритетов, принятой для дан­ ной ЦВМ, а также от принятых принципов формирования адреса первой команды прерывающей программы. Вариант схемы блока прерываний при 7 ф 0 и аппаратно-программном формировании адреса первой команды прерывающей программы приведен на рис. 9.19. Эта схема обеспечивает учет приоритетности запросов на прерывания и защиту от прерываний по коду маски.

Код прерываний, составляемый из сигналов прерываний, вво­ дится в регистр прерываний РгПр. Каждый триггер этого регистра отвечает вполне определенному источнику сигналов прерываний. Наивысший приоритет имеет сигнал, значение которого фиксирует­ ся триггером Тг 1. Для хранения кода маски, или кода защиты от прерываний, используется регистр маски РгМ, разрядность кото­ рого в общем случае равна разрядности регистра РгПр. Поскольку система имеет ненулевую глубину прерываний, то содержимое РгПр и РгМ должно сохраняться для каждой прерываемой про­ граммы. Выдача кодов маски и прерываний в ОЗУ осуществляется через группы вентилей В| и В= соответственно. Управляющие сиг­ налы УС1 и УС2, как и все остальные управляющие сигналы, фор­ мируются в блоке микрокоманд устройства управления.

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

304

Код ОА.в БУК

Рис. 9.19. Блок прерываний

вается также тогда, когда все триггеры РгПр находятся в состоя­ нии нуля.

Возбуждение одной из входных шин ДС происходит только тогда, когда хотя бы в одном и том же разряде регистров РгПр и РгМ содержатся единицы. Пусть Тг1 и Тг2 этих регистров нахо­ дятся в состоянии 1. Тогда УС0 проходит через И| и возбуждает соответствующую входную для ДС шину. Элементы Hj и V[\ по

одному из выходов закрыты, поэтому на выходе Иг сигнал не фор­ мируется; сигнал СВК также не формируется.

Диодная сетка выполняет функции шифратора номера выде­ ленного сигнала, или причины прерывания. При возбуждении од­ ной из входных ее шин на выходах ДС формируется вполне опре­ деленный двоичный код. Образуемый на выходах ДС код причины прерывания вводится через группу вентилей В4 в регистр РгКПр. Этот код, выдаваемый в БУК через группу вентилей В5, обычно используется как код относительного адреса. При суммировании его с некоторой константой образуется действительный адрес пер­ вой команды прерывающей программы. Код из РгКПр может по­ даваться через вентили группы Вб на входы дешифратора ДшКПр, что обеспечивает в требуемый момент времени.гашение в РгПр сиг­ нала, по которому осуществлено прерывание; это действие обычно выполняется только после реализации соответствующей прерываю­ щей программы.

Организация всех действий по осуществлению прерывания на­ чинается с момента формирования сигнала выявленного прерыва­ ния СВПр. Этот сигнал может быть сформирован только при наличии незамаскированного прерывания и нахождении триггера запрета ТгЗп в состоянии 1. Сброс этого триггера в состояние О может осуществляться сигналом со схем контроля; это отвечает случаю запрета любых прерываний при выполнении тестовых и диагностических программ.

Г л а в а X

ОРГАНИЗАЦИЯ И РАСПРЕДЕЛЕНИЕ ПАМЯТИ МНОГОПРОГРАММНЫХ ЦВМ

§ 10.1. Структура запоминающих устройств многопрограммных ЦВМ

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

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

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

11

307

включаемые в состав процессора, а также в состав устройств ввода и вывода.

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

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

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

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

Запоминающие устройства второй иерархической ступени, или второго уровня памяти, характеризуются тем, что они не могут обмениваться отдельными словами с процессором машины, обла­ дая сравнительно невысоким быстродействием. Как правило, ЗУ этого уровня могут обмениваться только массивами информации и только с запоминающими устройствами соседних уровней. Для многих многопрограммных ЦВМ второй уровень памяти является последним; в таком случае ЗУ этого уровня обмениваются мас­

308

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

Рис. 10.1. Общая структура запоминающих устройств

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

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

Общая структура запоминающих устройств при использовании в составе многопрограммной ЦВМ ЗУ трех уровней приведена на рир. 10.1. Первый уровень составляют ПЗУ и ОЗУ, второй — ЗУ на

309.

Соседние файлы в папке книги из ГПНТБ