
книги из ГПНТБ / Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие
.pdf1. Набор триггерных регистров, в которых во время сеанса связи с периферийным устройством содержатся текущие параметры активного подканала (активным на зывается тот подканал, для которого производится дан ный сеанс связи). Регистр кода операции и указателей (РКОУ) содержит код и указатели операции ввода-вы вода. Регистр текущего адреса данных (РТАД) содер-
Рис. 9-2. Структурная схема мультиплексного канала.
жит адрес слова из ОЗУ, участвующего в данный мо мент в операции ввода-вывода. Текущий счетчик данных (ТСД) указывает количество единиц информации, кото рые осталось ввести в ОЗУ или вывести в данной опера ции. Регистр адреса управляющего слова (РАУС) опре деляет адрес очередного УС в цепи управляющих слов.
2. Память подканалов, представляющая собой внут реннее ЗУ канала и предназначенная для хранения те кущих параметров операций ввода-вывода, относящихся
кпассивным подканалам. Каждому подканалу отведен
впамяти участок, в котором хранится содержимое реги стров РКОУ, РТАД, ТСД, РАУС, соответствующее
510
последнему сеансу связи для данного подканала. Кро ме того, в памяти подканалов предусматривается место для хранения некоторых других параметров операции, о которых будет сказано ниже. Подканалы в памяти рас полагаются упорядоченным образом, например по воз растанию номера подканала, который, таким образом, может использоваться для адресации ячеек памяти под каналов. При формировании адресов ячеек памяти подканалов используется содержимое регистра номера активного подканала (РНАП).
3. Непосредственная связь с периферийными устрой ствами осуществляется через регистр связи с интерфей сом (РСИ), куда поступает информация, получаемая из периферийных устройств при вводе, и откуда в перифе рийные устройства выдается выводимая информация.
Обращение к оперативной памяти осуществляется через узел связи с ОЗУ. Этот узел в соответствии с алго ритмом выполняемой операции выбирает один из реги
стров канала в качестве |
источника |
адреса, |
другой ре |
гистр— в качестве источника или |
приемника информа |
||
ции и вырабатывает все |
необходимые для |
обмена ин |
|
формацией с ОЗУ сигналы. |
|
|
Обмен информацией канала с ОЗУ производится сло вами. Обмен с периферийными устройствами произво дится обычно более мелкими единицами информации, например байтами. Поэтому при вводе информации ка нал производит компоновку слова из поступающих в ка нал байтов, а при выводе — развертку слова в последо вательность выдаваемых в периферийное устройство байтов. Для определения конца компоновки или раз вертки слова используется счетчик ба,йтов (СБ), кото рый указывает номер последнего обработанного байта з текущем слове данных. Содержимое СБ и слово данных, участвующее в обмене информацией между каналом и периферийным устройством, запоминаются в соответст вующем участке памяти подканалов наряду с регистра ми РКОУ, РТАД и т. д.
4. Регистр команд ввода-вывода (РКВВ), предназ наченный для хранения кода команды, поступающей в канал из процессора, когда процессор в соответствии со своей программой запускает новую операцию ввода-вы вода.
Выполнение операции ввода-вывода в канале можно рассматривать как совокупность нескольких видов про-
511
цедур, из которых наиболее важными являются две: процедура начальной выборки и процедура обслужива ния периферийного устройства.
Начальная выборка производится по инициативе процессора при пуске новой операции ввода-вывода. Процессор передает в канал код операции команды ввода-вывода, номер периферийного устройства и адрес первого УС. Эти параметры заносятся каналом в реги стры РКВВ, РНАП и РАУС. В тех машинах, где адрес первого УС не указывается в команде процессора, а со держится в специализированной ячейке ЗУ (в адресном слове канала), канал, заполнив РККВ и РНАП, сам считывает из ОЗУ адрес первого УС и заносит его в РАУС. После этого, используя содержимое РАУС как адрес, канал выбирает из ОЗУ первое УС, размещая его поля в регистрах РКОУ, РТАД, ТСД. К содержимому РАУС прибавляется число, равное длине управляющего слова, после чего РАУС указывает адрес следующего УС в цепи. В соответствии с выбранным в регистры уп равляющим словом канал запускает в работу требуемое периферийное устройство. Если устройство свободно н во время начальной выборки не обнаружены програм мные или аппаратные ошибки, считается, что пуск про изошел нормально. Канал сообщает об этом процессору, который переходит к выполнению следующей команды своей программы.
Кроме того, канал записывает в участок памяти под каналов, соответствующий номеру периферийного уст ройства в РНАП, содержимое регистров РКОУ, РТАД, ТСД, РАУС, СБ. На этом начальная выборка заканчи вается, канал освобождается и готов к обслуживанию ранее пущенных периферийных устройств или приему новых команд из процессора.
Процедура обслуживания производится по инициати ве периферийного устройства, которое посылает в канал требование обслуживания, после того как устройство готово к передаче очередной порции информации (на пример, байта). Канал, восприняв это требование, полу чает из интерфейса номер периферийного устройства, пересылает его через РСИ в РНАП и в соответствии с содержимым РНАП считывает из памяти подканалов участок, соответствующий активному подканалу. Теку щие параметры операции из памяти подканалов разме щаются в регистрах РКОУ, РТАД, ТСД, вводимое (или
512
выводимое) слово — в регистре |
РСИ, |
номер текущего |
байта — в СБ. |
|
|
В случае операции ввода из периферийного устройст |
||
ва принимается байт данных, |
который |
размещается в |
РСИ на месте, определяемом счетчиком байтов. При вы воде байт данных из РСИ посылается в периферийное устройство. Содержимое СБ увеличивается на единицу, содержимое ТСД уменьшается на единицу.
Если СБ указывает, что компоновка (или развертка) слова данных окончена, то канал осуществляет связь с ОЗУ и в соответствии с адресом, размещенным в РТАД, записывает в ОЗУ введенное в РСИ слово, или считыва ет из ОЗУ в РСИ новое слово для вывода. Содержимое РТАД увеличивается на единицу (или уменьшается при обратном вводе); СБ гасится.
Если содержимое счетчика данных в ТСД не равно нулю, то канал запоминает в памяти подканалов новые значения параметров из РТАД, ТСД, СБ, РСИ и закан чивает сеанс связи с периферийным устройством.
Если содержимое счетчика данных равно нулю, то канал информирует периферийное устройство об оконча нии операции (если только в УС не указана цепь дан ных), вызывает из памяти подканалов в РАУС адрес следующего УС для данного подканала, по адресу из РАУС считывает в свои регистры новое УС и выполняет процедуру начальной выборки для пуска следующей опе рации в цепи управляющих слов. При обработке послед него УС в цепи канал посылает в процессор прерывание, сигнализирующее об окончании цепи.
Селекторный канал (рис. 9-3). Селекторный канал содержит набор триггерных регистров, большинство из которых по своим функциям аналогичны соответствую щим регистрам в вышеописанном примере мультиплек сного канала (регистры РКВВ, РК.ОУ, РТАД, ТСД, РАУС, РСИ, СБ).
Регистр номера периферийного устройства (РНПУ), заполняемый процессором при начальной выборке, ука зывает, с каким из устройств селекторного канала про водится текущая операция. Регистр данных (РД) и ре гистр предварительного управляющего слова (РПУС) служат для уменьшения задержек в работе селекторно го канала при обращениях в ОЗУ.
Процедуры работы селекторного канала во многом похожи на процедуры мультиплексного канала. Основ
33-333 |
513 |
ное отличие состоит в том, что текущие параметры опе рации в селекторном канале в течение всей операции со держатся и модифицируются в триггерных регистрах.
Кроме того, за счет введения дополнительных буфер ных регистров РД и РПУС в селекторном канале обес печивается возможность совмещения во времени обмена информацией с периферийными устройствами и с ОЗУ.
Интерфейс
Р и с . |
9-3. |
С т р у к т у р н а я |
с |
х е м а |
с е л е к т о р н о г о |
|
|
к а н а |
л а . |
|
|
При вводе информации поступающие из периферий ного устройства данные компонуются в регистре РСИ в слово. Как только слово данных сформировано, оно пе редается в РД и канал начинает связываться с ОЗУ для записи слова в памяти. Параллельно с обращением к ОЗУ канал может производить накопление байтов сле дующего слова в РСИ.
Аналогичным образом совмещаются связь с ОЗУ и с периферийным устройством при выводе. Канал засы лает в РСИ через РД очередное слово, выбранное из ОЗУ, и пока это слово развертывается в последователь-
614
'ность байтов, посылаемых в периферийное устройство, канал связывается с ОЗУ для выборки следующего слова.
При работе канала с быстродействующими устройст вами с движущимся носителем информации (магнитные ленты, диски, барабаны) имеется опасность потери ин формации в моменты выборки очередных управляющих слов. Примером может служить процедура исполнения цепи данных, когда канал, не замедляя темпа поступле ния информации из интерфейса, должен успеть не толь ко принимать порции данных, компоновать их в слово и записывать в память, но и выбирать следующее управ ляющее слово в цепи.
В связи с этим в селекторных каналах применяют предварительную выборку управляющего слова. Схема управления предварительной выборкой следит за состоя нием текущего счетчика данных, и когда содержимое ТСД станет меньше принятой для данной машины ве личины, канал производит обращение к памяти по адре су из РАУС. Новое управляющее слово посылается в РПУС, в то время как канал продолжает обработку предыдущего УС. После того как содержимое ТСД ста нет равным нулю, содержимое РПУС замещает старое содержимое РТАД, ТСД и указателей в регистре РКОУ.
Обычно вычислительные машины имеют один муль типлексный канал и от двух до шести селекторных ка налов. Основными характеристиками каналов являются: а) количество подканалов, б) скорость передачи данных
вмультиплексном режиме, в) скорость передачи данных
вмонопольном режиме.
Для ориентации в численных значениях этих харак теристик приведем в качестве примера данные для ка налов ЦВМ ЕС-1030. Машина содержит один мульти плексный и три селекторных канала.
Мультиплексный канал: количество подканалов — 256;
скорость передачи в мультиплексном режиме — 40
кбайт/сек\
скорость передачи данных в монопольном режиме — 300 кбайт/сек.
Селекторный канал:
количество периферийных устройств, подключаемых к селекторному каналу — до 64;
скорость передачи данных — 800 кбайт/сек.
33* |
515 |
В следующем параграфе рассматриваются критерии эффективности работы каналов в составе вычислитель ной системы.
9-6. К Р И Т Е Р И И О Ц Е Н К И ЭФ Ф Е К Т И В Н О СТ И К А Н А Л О В
Большое значение, особенно для систем, работающих в реальном масштабе времени, имеет предельная оценка эффективности канала для наихудших сочетаний запро сов обслуживания во времени. Такая методика оценки позволяет при использовании простого математического аппарата сравнивать каналы с различной логической структурой и определять максимальное число перифе рийных устройств, обслуживаемых одновременно без по тери информации. Наряду с ограничениями на количест во одновременно работающих устройств важным являет ся также вопрос о потерях машинного времени на обслу живание периферийных устройств. Поэтому для оценки характеристик системы с каналами ввода-вывода можно ввести следующие критерии: а) нагрузочная способность канала, под которой будем понимать максимальное ко личество периферийных устройств, способных функ ционировать одновременно без снижения номинальной скорости их работы. Обозначим эту величину символом
«макс', б) |
коэффициент |
работоспособности |
программы |
||||
R, показывающий, какая |
доля |
машинного времени мо |
|||||
жет быть |
использована |
процессором |
для |
выполнения |
|||
программы |
при одновременной |
работе |
данного количе |
||||
ства |
периферийных |
устройств; |
в) время |
ожидания т, |
|||
под |
которым будем |
понимать |
максимальный интервал |
времени между моментом возникновения запроса на об служивание от периферийного устройства и моментом начала требуемой передачи информации.
Первые два критерия характеризуют эффективность использования процессора и периферийных устройств, и, естественно, нужно стремиться к их повышению. Время ожидания характеризует опасность потери информации из-за чрезмерно долгого ожидания обслуживания; оче видно, оно должно быть по крайней мере меньше интер вала времени, в течение которого периферийное устрой ство заменяет очередную порцию информации новой порцией.
516
Точный анализ указанных критериев в самом общем случае представляет весьма сложную задачу, так как на информационные свойства канала ввода-вывода влияет множество факторов, среди которых можно указать, на пример, различный характер выполняемых процессором программ, различные сочетания одновременно приходя щих от периферийных устройств запросов и др.
Часть из имеющих здесь значение параметров явля ются случайными величинами, и учет их влияния требу ет применения вероятностных методов. Однако с помо щью некоторых допущений, упрощающих задачу, мож но дать приблизительную предельную оценку критериев эффективности, отражающую реальную картину работы с достаточной степенью приближения.
Будем считать, что:
1)активность всех периферийных устройств равна единице, т. е. устройства были запущены в работу до рассматриваемого интервала времени и закончат свою работу позже этого интервала. Тем самым подразумева ется, что команды запуска периферийных устройств и прерывающие программы, сигнализирующие об освобож дении периферийных устройств, входят в полезную часть программы;
2)время обработки принятой от периферийных уст ройств информации относится к полезной части про граммы;
3)время, на которое обслуживание запроса перифе рийного устройства может быть задержано (для кана
лов с задержанным доступом — длительность команды, для каналов с немедленным доступом — длительность цикла памяти), считается постоянным и равным до
определим нагрузочную способность канала, исходя из условий баланса машинного времени, т. е. из тех со ображений, что суммарное время обслуживания всех периферийных устройств не должно превосходить дли тельности рассматриваемого временного интервала.
Обозначим для г-го периферийного устройства время
сеанса для |
передачи одной порции информации через |
U, длительность цикла подготовки одной порции инфор |
|
мации через |
Ті. Считая, что при каждой передаче ин |
формации обслуживание периферийного устройства за держивается на время t0, определим долю машинного времени, необходимую для обслуживания только одно го периферийного устройства. За единицу времени эта
517
доля составит (tQ-\-ti)/Ті. Для п устройств суммарное время обслуживания за единицу времени
П |
|
|
t = У л‘ ± 1 і - ' |
(9-1) |
|
2 jLi |
Ті |
|
i-=1
Условие временного баланса: Следовательно,
нагрузочная способность канала нМако должна удовлет ворять уравнению
^макс £ ^ = 1 . (9-2)
і=і
В предыдущих рассуждениях рассматривался слу чай, когда все запросы периферийных устройств прихо дили в начале запрещенного для обслуживания цикла t0. В действительности распределение запросов во вре мени относительно машинных циклов более благоприят но, но предлагаемый подход делает нашу оценку незави симой от характера выполняемых машиной программ.
Уравнение (9-2) представляет собой среднюю оцен ку эффективности унифицированного канала за рас сматриваемый интервал времени без учета совпадения запросов от многих периферийных устройств внутри рас сматриваемого интервала. Задержки в обслуживании, связанные с совпадением запросов, накладывают на «макс дополнительные ограничения, определяемые мак симально допустимой величиной времени ожидания т*.
Время ожидания зависит от приоритета, присвоенно го данному периферийному устройству. Будем считать, что приоритет определяется номером периферийного ус тройства, причем младшим номерам соответствует бо лее высокий приоритет. Рассматривая наихудший слу чай распределения запросов во времени (рис. 9-4), ког да периферийное устройство должно ожидать выполне ния передач информации от всех устройств с большим приоритетом, получаем, что для г'-го периферийного уст ройства
г—1 |
|
Ті = <0 + £ */. |
(9-3) |
/=і |
|
где tj — время сеанса связи для /-го периферийного уст ройства.
518
Для предотвращения потери информации из-за не* допустимо долгого ожидания т, должно быть меньше времени подготовки информации периферийным устрой-
|
|
m |
і |
*4 |
*£-2 |4'-/i ti |
|
I |
I I |
I |
|
|
m e x j/ u / e d |
| |
. |
|
|
|
п р о г р а м |
м б / 1>-----1-----\ |
|
|
/ / е а с / л З о
1
ts
N '
1
§
1
2 - е е е т |
д о й - |
|
с т З е |
|
|
3 - е і/ с / л р е й - |
|
|
е / л З о |
|
|
( 2 - / J - e j/ e / r j- |
1 |
|
/ е о и е / п З е |
||
j/ c m |
p ü u - |
|
\ e m ß e |
— r— |
|
|
|
|
|
>- |
|
Р и с . |
9-4. Н а и х у д ш и й |
с л у ч а й |
р а с п р е д е л е н и я |
з а п р о с о в |
п е р и ф е |
|
|
р и й н ы х |
у с т р о й с т в . |
|
|
ством Ті по крайней мере на величину цикла передачи информации ti\
тг < Т, — tt
или
£—1
to + ti+ tj T t.
/ - 1 Вводя ti под знак 2, получаем:
і
*о + Е * /< 7 \(» = 1,2.....пмакс). |
(9-4) |
/=і |
|
Количество устройств в системе должно быть тако во, чтобы удовлетворялись как уравнение (9-2), так и система неравенств (9-4). В общем случае при произ вольном присвоении приоритета оба эти условия неэк вивалентны. Для Пмакс, удовлетворяющего условию ба ланса времени (9-2), неравенства (9-4) могут и не соб людаться, если, например, устройствам с малым циклом
519