
книги из ГПНТБ / Мясников, В. А. Программное управление оборудованием
.pdfром (задатчик) инструкции из памяти (последняя — всегда испол нитель).
Процесс взаимодействия устройств по принципу задатчик—ис полнитель чрезвычайно гибок: шина может динамично переходить в распоряжение других задатчиков, подключенных к ней. Напри мер, процессор, будучи задатчиком, может передавать управление шиной накопителю на дисках, который становится новым задатчи ком и устанавливает связь с одним из подчиненных ему модулей оперативного ЗУ.
Каждое внешнее устройство комплекса подключается к общей шине через интерфейсный блок (блок сопряжения), обеспечиваю щий: подключение устройства к соответствующим магистралям общей шины при вызове его адреса; выполнение команд по под готовке его к работе с посылкой сигнала запроса (готовности) в ли нию связи; формирование адреса вектора внешнего устройства; выполнение операций по приему или выдаче информации; управле ние прерываниями и операциями шины; формирование сигнала о неисправности и т. д.
Каждый интерфейсный блок устройства, могущего быть задат чиком, состоит из блока дешифрации номера устройства (и адресов регистров), блока управления шиной и прерываниями и блока ре гистров внешнего устройства.
Интерфейсный блок исполняющего устройства (например, модуля ОЗУ) не содержит блока управления шиной и прерыва ниями.
Блок регистров внешнего устройства минимально содержит буферный регистр данных (БРД) (16 или 8 двоичных разрядов) и регистр управляющего слова (РУС), т. е. регистр функций управ ления и состояния устройства. Разрядность РУСа определяется функциями устройства и может быть от 2 до 8 (или 16) двоич ных разрядов.
Управление внешними устройствами
Чтобы иметь прямой доступ к регистрам внешних устройств со стороны программ, им присвоены адреса ячеек оперативной па мяти. Таким образом, с помощью любой инструкции обращения к памяти можно обратиться и к любому регистру внешнего уст ройства и выполнять ту операцию, которая определена кодом опе рации инструкции. Например, над содержимым регистра данных могут быть прямо выполнены все арифметические операции, пре дусмотренные инструкциями процессора.
Управление работой внешнего устройства выполняется сле дующим образом. Регистру управляющего слова присваивается адрес, а отдельные разряды в этом регистре закрепляются за определенными функциями и установка соответствующих разрядов в регистре может вызывать, таким образом, выполнение операций управления.
191
Например, операция управления, по которой устройство ввода с перфоленты начинает считывать информацию с ленты, осущест вляется установкой одного разряда (разряд запуска считывающего устройства) в регистре управляющего слова устройства. Для этой цели могут использоваться такие инструкции, как ПЕРЕСЫЛКА.
Управление условиями состояния также осуществляется функ циональным назначением разрядов внутри этого регистра и состоя ние устройства может быть проверено с помощью инструкций ОПРОС, ВЫДЕЛЕНИЕ и СРАВНЕНИЕ.
Принципиально число регистров, которые может иметь устрой ство, ничем не ограничено, что обеспечивает большую гибкость в выборе структуры периферийного оборудования и его управле ния.
Система приоритетных прерываний
Так как процессор и все внешние устройства, имеют общую пишу, то вопрос о том, какому устройству занять ее, решается системой приоритетного прерывания процессора. Каждому уст ройству, подключенному к шине, которое может становиться задат чиком, присваивается определенный приоритет.
Имеется пять уровней приоритета, каждый из которых имеет свою линию (провод) запроса на прерывание от всех внешних устройств этого уровня и свой провод разрешения прерывания (занятия шины). К каждому из приоритетных уровней может быть подключено любое число внешних устройств. Среди них более высокий приоритет получают устройства, расположенные ближе к процессору.
По отношению к шине процессор рассматривается так же, как внешнее устройство, но с изменяемым приоритетом (тогда как при оритеты внешних устройств фиксированы). Уровень приоритета процессора задается тремя разрядами слова, описывающего его состояния, и может изменяться программно.
Обычно процессор имеет самый низкий приоритет, так что внешнее устройство любого приоритетного уровня может вызвать прерывание его работы. Но если приоритет процессора изменится на более высокий, то запреты на прерывания от внешних устройств этого уровня и ниже окажутся заблокированными. Внешний при-' оритетный уровень, называемый внепроцессорным, не может быть заблокирован процессором.
В общем виде процесс установления приоритета происходит следующим образом. Пусть шина используется процессором, когда три устройства, все с более высоким приоритетом, чем процессор, выдают запросы на занятие шины. Если эти устройства имеют раз личные уровни приоритета, процессор разрешит управление ши ной тому из них, которое обладает самым высоким приоритетом. Если же уровни приоритета одинаковы, то все три сигнала запроса приходят к процессору по одному общему проводу смешанными,
192
так что он воспринимает их как один сигнал запроса. Процессор реагирует на сигнал запроса посылкой по специальному проводу сигнала РАЗРЕШЕНИЕ к ближайшему из запрашивающих уст ройств; этот сигнал пропускается последовательно от устройства к устройству, проходя через все промежуточные устройства, кото рые не давали запроса. Первое из устройств, которое ждет с под нятым флажком запроса прерывания, не позволяет сигналу РАЗ РЕШЕНИЕ пройти в следующее устройство. Это устройство при нимает на себя управление шиной (становится ЗАДАТЧИКОМ), выполняет один цикл передачи и освобождает шину. После этого последовательность запрос-разрешение повторяется снова, причем на этот раз сигнал разрешения доходит до второго устройства, ко торое все это время ожидало разрешения, находясь с поднятым флажком запроса. Когда все запросы устройств более высокого уровня приоритета удовлетворены, управление шиной возвра щается к устройству самого низкого приоритета,, которым обычно является процессор. ,
Приоритет процессора может быть изменен с помощью органи зующей или рабочей программы, при этом система приоритетного прерывания также перестраивается — будет разрешать прерыва ния лишь на уровнях с приоритетом, большим, чем новый приори тет процессора. Это свойство является обязательным для систем, работающих в реальном времени, где необходимо бывает задержи вать в определенных ситуациях решение второстепенных задач, пока не будут решены главные.
Определение очередности работы устройств производится при оритетной схемой асинхронно, во время передачи данных.
Принципиально каждое устройство комплекса, за исключением ОЗУ, может становиться ЗАДАТЧИКОМ шины.
Передачи, осуществляемые задатчиками шины
Когда внешнее устройство (не процессор), которое может быть задатчиком, выдав ЗАПРОС, получает РАЗРЕШЕНИЕ на исполь зование общей шины, оно может произвести одну из двух возмож ных операций: осуществить передачу данных в память или цз па мяти непосредственно, минуя процессор, или прервать выполнение программы и заставить процессор перейти через ВЕКТОР ВНЕШ НЕГО УСТРОЙСТВА (специально закрепленный за данным уст ройством адрес) к программе обслуживания.
Первый тип передачи называется внепроцессорной передачей данных, второй — программной передачей (под управлением про
цессора).
Выполнение операций по внепроцессорному обмену. Обмен дан ными между внешним устройством и МОЗУ или другим внешним устройством комплекса минуя процессор может происходить, если задатчик подключен к линии впепроцессорного приоритетного уровня, называемого также уровнем запроса прямого доступа
13 Мясников и др. |
193 |
(ЗПД). При таком способе обмен информацией происходит под управлением внешнего устройства задатчика.
Этим способом обычно передаются массивы информации. Передачи на уровне ЗПД производятся между устройствами хранения массивов, такими, как диски (барабаны, ленты), и опера тивной памятью.
Структура общей шины позволяет осуществлять передачи от устройства к устройству, благодаря чему устройства управления внешних устройств могут также иметь прямой доступ к другим устройствам (например, к НМД), подключенным к общей шине. Эта возможность прямого доступа позволяет производить такие операции, как, например, непосредственная передача повторяю щихся' данных с дискового ЗУ на экран электронно-лучевой трубки (ЭЛТ).'
Устройства, подключаемые к уровню ЗПД, получают очень бы стро доступ к шине и, получив управление, могут передавать дан ные с большой скоростью. Передача данных на уровне ЗПД не вызывает изменения состояния процессора, поэтому он может пере давать управление В момент выполнения инструкции. Передача
управления внешнему устройству происходит в конце любого цикла работы шипы (за исключением случая, когда идет последова тельность циклов чтение — модификация—запись).
По окончании цикла передачи по шине одного слова (или байта) способом внепроцессорного обмена управление шиной снова пере дается процессору.
Выполнение операций по программному обмену информацией. Программный обмен обычно производится отдельными словами или
байтами в |
следующем порядке. |
1. Когда |
запрос устройства на прерывание удовлетворяется |
п оно получает управление шиной, оно посылает процессору команду прерывания и адрес ВЕКТОРА ПРЕРЫВАНИЯ, ко торый содержит начальный адрес программы обслуживания устройства и слово состояния (СС) процессора (вектор занимает две ячейки).
2.Процессор вводит текущее слово состояния процессора и затем текущее значение счетчика инструкций (СИ) и свой стек (ма газин), на который указывает универсальный регистр.
3.Новые значения СИ и СС берутся из адреса, определяемого устройством, после чего вызывается программа обслуживания устройства.
Операции 1—3 выполняются автоматически, и для определения, какая программа должна выполняться, не требуется дополнитель ного времени на опрос устройств.
4.Программа обслуживания устройства может заставить процессор возобновить прерванную задачу с помощью выполнения
инструкции ВОЗВРАТА ИЗ ПРЕРЫВАНИЯ (ВПР), которая Забирает Два верхних слова из стека процессора и передает их обратно в регистры СИ и СС.
194
5.Программа обслуживания устройства может, в свою оче редь, прерываться запросом шпиы более высокого приоритета в лю бое время после того, как будет выполнена первая инструкция программы.
6.Если происходит такое прерывание, СИ и СС текущей про граммы обслуживания устройства автоматически вводятся в стек
и, как и раньше, инициируется новая программа устройства. Это наслаивание (гнездование) приоритетных прерываний может про должаться до любого уровня; единственным ограничением является объем памяти для стека процессора.
Замкнутый метод связи
(
При обмене по ОБЩЕЙ ШИНЕ предусматривается замкнут-ый метод связи. Суть его состоит в том, что каждый управляющий сиг нал, выданный ЗАДАТЧИКОМ, обязательно должен подтвер ждаться ответным сигналом исполняющего устройства, после чего обмен заканчивается. Такой метод связи обладает рядом преиму ществ. Синхронизация шины упрощается, так как имеется поло жительное подтверждение посланного сигнала. В результате этого процесс обмена не зависит от физической длины шины и от времени реакции задающего, и исполняющего устройств. Это упрощает сопряжение устройств различного быстродействия, поскольку проблема синхронизации перестает быть острой; можно, например, использовать во внешних устройствах без всяких ограничений ло гические элементы с низкими рабочими частотами для получения большей помехоустойчивости. Передачи в регистры ВНУ могут происходить со скоростями оперативных ЗУ, т. е. эффективнее, чем на небольших скоростях в случае каналов ввода-вывода. За дающее устройство может зарегистрировать ошибку, если получен ответный сигнал синхронизации исполняющего устройства.
Модульная структура и компоновка
В рассматриваемом комплексе принят агрегатно-модульный принцип построения, позволяющий компоновать систему в соот: ветствии с требованиями заказчика, легко расширять ее, модерни зировать и обслуживать. Функциональную гибкость комплекса в полной мере обеспечивают: одношинная структура, требующая подключения к общей шине функционально законченных устройств (модулей), единый метод управления операциями ввода-вывода, позволяющий осуществлять простое включение в систему новых типов терминалов, и асинхронность работы всех устройств ком плекса.
Модульная организация и асинхронность работы позволяют максимально продлить срок службы комплекса, избежать мораль ного износа работающих систем, несмотря на любые новые дости жения в разработке аппаратуры. Это означает, что заказчик может
13* |
195 |
не опасаться, что купленная нм система через несколько лет уста реет, поскольку он получает возможность легко вводить в систему современные устройства, более быстродействующую память пли более производительный процессор, как только развитие техники обеспечит их выпуск. Математическое обеспечение системы при этом изменениям не подвергается.
Для того чтобы замена действующих модулей усовершенство ванными происходила без какой-либо настройки пли внесения из менений в машину, все модули комплекса должны удовлетворять следующим ограничениям:
каждый модуль должен иметь автономную систему внутренней синхронизации, чтобы допускать асинхронную работу;
модули должны иметь стандартные входные-выходпые характе ристики;
все модули, которые связаны с хранением, обработкой пли пере дачей данных, должны быть рассчитаны на слова одинакового фор мата;
каждый модуль должен выпускаться в виде единого прибора или блока;
способ подключения модулей должен допускать их быструю за мену.
Сопряжение комплексов и организация многопроцессорных систем
Модульность и структура комплекса допускают широкое ма неврирование разнообразными устройствами с целью получения оптимальной для заданных условий конфигурации системы. Можно выделить три способа использования комплекса, определяющие конфигурацию системы: 1) автономное использование комплекса как системы с централизованными функциями, работающей в мно гопрограммном режиме в реальном времени; 2) включение ком плекса в состав более мощной системы (на разных уровнях иерар хии); 3) дистанционная связь с удаленными машинами, входящими в состав комплексной системы. Возможны также любые комбина ции этих структур и отклонения от них. В любом из этих случаев комплекс может включать различное количество устройств (моду лей), начиная от минимального комплекта.
Пример централизованной структуры систем с одним процессо ром приведен на рис. 104. Обеспечение необходимой производитель ности в системе достигается совмещением работы внешних уст ройств посредством мультипрограммирования (одновременной ра боты по нескольким независимым программам). Высокой надеж ности в централизованной системе добиваются дублированием под систем или устройств.
По мере повышения требований к скорости и надежности ра боты комплекса становится особенно важным использование, двух или более функционально одинаковых, самостоятельных процес соров в одной управляющей или вычислительной системе. Для того
1 9 6
Рис. 104. Использование управляющего вычислительного комплекса для управления крупным технологи ческим объектом:
ЦК — центральный коммутатор; МК — местный коммутатор: АПД — аппаратура передачи данных; УУМД — устрой ство управления магнитным диском; УВВ—устройство ввода; УБЫВ—устройство вывода на перфоленту; УУАКЭП — устройство управления агрегатным комплексом экранных пультов с ЭЛТ; УВАС — устройство ввода аналоговых сигналов; УВДС — устройство ввода дискретных сигналов; УВКУ — устройство выдачи команд управления; Т — телетайп; ПЛ — перфолента
МОЗУ |
Процессор 2 |
Рис. 105. Связь между двумя комплексами через адаптер:
Т — терминал: А — адаптер
Рис. 106. Работа двух вычислительных комплексов с общим МОЗУ
Шина 1
со |
Рис. 107. Многопроцессорная система с общим резервным процессором |
'О |
чтобы такие системы (называемые многопроцессорными) были мак симально простыми и дешевыми, их процессоры обязательно должны иметь доступ к части оперативного ЗУ (или ко всему ОЗУ) и ко всем внешним устройствам, это дает возможность распределять текущую работу между различными частями системы, что приводит к резкому увеличению производительности комплекса в целом.
В многопроцессорных комплексах отдельные процессоры могут быть ориентированы на решение специальных задач, что обеспечм-
Рис. 108. Использование миникомплекса в иерархической системе
вает их действительно параллельную обработку. Надежность ра боты комплекса обеспечивается: функциональным резервирова нием.
Одним из наиболее важных достоинств унифицированной структуры с общей шиной является простота построения много процессорных систем. Поскольку комплекс имеет только один канал, то для создания таких систем, в которых внешние устрой ства и память могут работать с несколькими процессорами в ре жиме разделения времени, требуется очень небольшое число модулей сопряжения.
В комплексе возможность построения систем с несколькими процессорами достигается двумя путями: применением адаптеров связи типа «шина—шина», обеспечивающих сопряжение между об щими шинами двух (и трех) комплексов, и построением модулей ОЗУ и терминалов с возможностью установки в них до трех блоков сопряжения с общими шинами различных комплексов.
200