Устройство для обмена данными между группой каналов ввода- вывода и оперативной памятью

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике ц может быть использовано при разработке процессоров , оборудование которых используется при передаче данных между каналами ввода-вывода и оперативной памятью или в системах ввода-вывода. Целью изобретения является увеличение производительности за счет организации аппаратно-микропрограммного временного контроля перерывов в работе интерфейса ввода-вывода . Устройство содержит блок микропрограммнопо управления, блок управления , входной и выходной регистры, коммутатор, две группы регистров, блок приоритета запросов, группу блоков согласования, группу блоков запуска, группу узлов счета, блок приоритета временных запросов, две группы элементов И-ИЛИ, три триггера, два элемента И-НЕ, элемент ИЛИ, два элемента И. 1 з.п. ф-лы, 11 ил. (Л to 00 СХ) гч

СО}ОЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСНИХ

PECflYEiËÈН сЮ 4 С 06 Р 13/00

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К ABTOPCH0INV С8ИДЕТЕЛЬСТВУ (6 1) 1 190385 (21) 3929069/24-24 (22) 11.07.85 (4-6) 07.02.87. Бюл, Р 5 (72) В.М.Пронин, Б.В.Мазикин, З.П.Хамелянская и А.Г.Яновская (53) 681.325(088.8) (56) Авторское свидетельство СССР

Р 1190385, кл. С 06 F 13/00, 1984. (54) УСТРОЙСТВО ДЛЯ ОБМЕНА ДАННЫМИ

МЕ"ШУ 1 РУППОЙ КАНАЛОВ ВВОДА-ВЫВОДА

И ОПЕРАТИВНОЙ ПАМЯТЬЮ (57) Изобретение относится к вычислительной технике ы может быть использовано при разработке процессоров, оборудование которых используется при передаче данных между,SU„„1288707 А 2 каналами ввода-вывода и оперативной памятью или в системах ввода-вывода.

Целью изобретения является увеличение производительности за счет организации аппаратно-микропрограммного временного контроля перерывов в работе интерфейса ввода-вывода. Устройство содержит блок микропрограммного управления, блок управления, входной и выходной регистры, коммутатор, две группы регистров, блок приоритета запросов, группу блоков согласования, группу блоков запуска, группу узлов счета, блок приоритета временных запросов, две группы элементов И-ИЛИ, три триггера, два элемента И-НЕ, элемент ИЛИ, два элемента И. 1 з.п. ф-лы, 11 ил.

Изобретение относится к вычислительной технике, может быть использовано при разработке процессоров, оборудование которых используется при передаче данных между каналами ввода-вывода и оперативной памятью или в системах ввода-вывода и является усовершенствованием устройства по авт,св. Р 1190385.

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

На фиг,1 изображена структурная схема устройства для обмена данными между группой каналов ввода-вывода и оперативной памятью; на фиг.2 функциональная схема блока микропрограммного управления;на фиг.3 функциональная схема блока управления; на фиг.4 — функциональная схема блока согласования; на фиг.5 функциональная схема блока запуска; на фиг.6 — функциональная схема узла счета; на фиг.7 — функциональная схема блока приоритета временных запросов; на фиг.S — временная диаграмма выполнения микрокоманды "IIaмять" при обращении к ней процессора; на фиг.9 — временная диаграмма выполнения микрокоманды Память" считывания из оперативной памяти в каналы; на фиг.10 — временная диаграмма выполнения микрокоманды "Пан мять записи в оперативную память из каналов; на фиг,11 — временная диаграмма приостановки выполняемой в процессоре микропрограммы, и начало и конец выполнения микропрограммы обработки сбоя по временному контролю.

Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью (фиг.1) содержит блок 1 микропрограммного управления, входной регистр 2, оперативную память 3, выходной регистр 4, элемент

И-ИЛИ 5 первой группы, первый элемент

6 И, первый триггер 7, первый элемент И-НЕ 8, третий триггер 9, второй элемент И-НЕ 10, второй триггер

11, элемент ИЛИ 12, второй элемент

И 13, коммутатор 14, регистры 15 и

16 первой и второй группы соответственно, блок 17 управления, блок !8 .приоритета запросов, группу блоков

88707 2

19 согласования, элементы И-ИЛИ 20 второй группы, синхровход устройст,ва 21, группу информационных входоввыходов устройства 22, группу блоков

23 запуска, группу узлов 24 счета, блок 25 приоритета временных запросов, тактовый вход 26 устройства.

Блок 1 микропрограммного управления (фиг.2) содержит память 27 микрокоманд, регистр 28 адреса, регистр 29 микрокоманд, дешифратор 30, местную память 31, первый и второй регистры 32 и 33 соответственно, арифметико-логический узел 34, регистр 35 результата, первую и вторую группы элементов И-ИЛИ 36 и 37 соответственно, первый элемент И 38, элемент И-НЕ 39, первый и второй информационные входы блока 40 и 41 соот20 ветственно, вход 42 режима блока, стробирующий вход 43 блока, вход 44 разрешения блока, синхровход 45 блока, стробирующий выход 46 блока, ад ресный выход 47 блока, первый 48,тре25, тии 49, четвертый 50, пятый 51 управляющие выходы блока, выход 52 выборки блока, второй управляющий выход

53 блока, элемент И-ИЛИ 54, триггер

55, третий регистр 56, второй элемент И 57, триггер 58, четвертый регистр 59, элемент НЕ 60, третья группа элементов И-ИЛИ 61, третий элемент И 62, шестой управляющий выход 63 блока, вход 64 адреса блока, группа управляющих выходов 65 блока.

Блок 17 управления (фиг.3) содержит триггер 66 передачи данных, группу триггеров 67 и 68 передачи данных каналов, элементы И 69 и 70 первой группы, второй и первый элемент ИЛИ 71 и 72 соответственно, первый и второй элементы И 73 и 74

45 соответственно, элемент НЕ 75 тригь гер 76 запроса передачи данных, триггер 77 первого цикла передачи, триггер 78 промежуточного цикла передачи, триггер 79 второго цикла пе50 редачи, группу триггеров 80 и 81 второго цикла передачи каналов,элементы И 82 и 83 второй группы, группу элементов И-ИЛИ-НЕ 84 и 85, первый и второй элементы И-ИЛИ 86 и 87 соответственно, элементы И-ИЛИ 88

55 и 89 первой группы, элементы И-ИЛИ

90 и 91 второй группы, с первой по четвертую группы входов 92 — 95 блока соответственно, первый и вто1288707 рой входы 96 и 97 блока соответственно, с первого по пятый выходы

98 - 102 блока соответственно, с первой по третью группы выходов

103 " 105 блока соответственно 5

Блок 19 согласования (фиг.4) содержит регистр 106 данных, буферную память 107 данных, триггер 108 обра щения интерфейса, триггер 109 выбора буфера интерфейса, счетчик 110 10 адреса байтов, триггер 111 выбора буфера процессора, триггер 112 но,мера-слова, счетчик 113 двойных слов, первый и второй узлы 114 и 115 синхронизации соответственно, коммута- 15 тор 116, узел 117 обмена по интерфейсу, триггер 118 занятости регистра данных, триггер 119 занятости группы регистров, регистр 120 кода операции, дещифратор 121, элементы 20

И-ИЛИ 122 и 123 первой и второй группы соответственно, с первого по шестой элементы И-ИЛИ 124 — 129 соответственно, элемент И-ИЛИ-НЕ 130, первый,и второй информационные входы 131 и 132 блока соответственно, информационный вход-выход 133 блока, вход 134 разрешения блока, синхровход 135 блока, информационный выход 136 блока, первый и второй 30 синхровходы 137 и 138 блока соответ, ственно, выход 139 запроса блока, вы- ход 140 записи блока, выход 141 чтения блока.

Блок 23 запуска (фиг.5) содержит 35 регистр 142 коммутации, мультиплексор 143, элемент И !44, триггер 145, элемент ИЛИ 146, информационный вход

147, группа входа 148 логических условий, линия 149 запуска, линия 150 сброса, выход 151 управления счетом и выход 152 управления запуском.

Узел 24 счета (фиг.6) содержит первый и второй счетные триггеры 153 и 154 соответственно, вход 155 нуле- 45 вого потенциала, вход 156 единичного потенциала, вход 157 управления запуском, вход 158 управления счетом, выход 159 запроса.

Блок 25 приоритета временных за- 50 просов (фиг.7) содержит приоритетный шифратор 160, первый и второй элементы И 161 и 162 соответственно, триггер 163, групповой вход 164 запроса, синхровход 165,вход 166 сброса, вы- 55 ход 167 адреса, выход 168 управления переключением.

Устройство работает следующим образом.

Имеется блок 19 согласования, буферная память 107 данных, которая имеет две зоны заполнения данными.

Емкость каждой из зон соответствует разрядности оперативной памяти. В рассматриваемом случае она равна двойному слову. Ширина разрядности буферной памяти соответствует разрядности информационного тракта процессора, который равен одному слову и через тракты которого канал обменивается данными с оперативной памятью.

Код операции, выполняемый блоком

19 согласования, находится в регистре

120 кода операции. Сигнал с выхода 2 дешифратора 121 определяет, что в бло. ке согласования выполняется операция записи. Сигнал с выхода 1 дешифратора определяет, что в блоке согласования выполняется операция чтения.

При выполнении чтения данные из периферийного устроиства побайтно с информационного входа-выхода блока f9 согласования через коммутатор 116 поступают в регистр 106 данных. Из регистра 106 данных через первую группу элементов И-ИЛИ 122 данные записываются в буферную память 107 данных по адресу с выхода второй группы элементов И-HJIH 123.

Если триггер 119 занятости группы сброшен, после накопления двойного слова в буферной памяти производится сначала считывание первого слова из буферной памяти и передача его через информационный выход 136 блока согласования, вторую группу элементов И-ИЛИ 20, первую группу регистров

15 во вторую группу регистров 16,затем считывание втооого слова и передача его в первую группу регистров

15. После заполнения регистров устанавливается в единичное состояние триггер 119 занятости группы регистров. Для определения чтения в этом случае третьим элементом И-ИЛИ 126 вырабатывается запрос на передачу данных, который через выход запроса блока 19 согласования поступает на вход блока 18 приоритета запросов. При операции записи во время второго цикла передачи данных соответствующего канала по сигналу, поступающему на вход разрешения блока согласования, устанавливается триггер 119 занятости группы регистров, фиксирующий наличие данных, принятых из оперативной памяти в первый и второй регистры 15 и 16 соответ1288707 ствующего канала. Если в буферной памяти 107 данных одна из зон свободна, происходит передача сначала первого слова данных из второй группы регистров 16, а затем второго слова данных через второй информационный вход блока 19 согласования, первую группу элементов И-ИЛИ 122 в буферную память 107 данных.

Данные из буферной памяти 107 данных через второй информационный вход коммутатора 116 поступают в регистр 106 данных, откуда выдаются на информационный выход блока согласования под управлением узла 117 обмена IIQ интерфейсу и триггера 118 занятости регистра данных. При операции записи запрос на передачу данных устанавливается с помощью третьего элемент И-ИЛИ 126, если триггер 119 занятости группы регистров сброшен. Сигнал операции чтения с первого выхода дешифратора 121 и сигнал операции записи с второго выхода дешифратора 121 подаются соответственно через выход 141 и 140 записи .блока 19 согласования соответственно на группу элементов И-ИЛИ 20, управляющие .направлением загрузки первой и второй групп регистров 15 и 16, и на блок 17 управления, Для управления адресацией буфера данных используется триггер 108 обращения интерфейса. Если триггер

108 обращения интерфейса сброшен,при выполнении обмена данными между буферной памятью данных и группой регистров адресации буферной памяти до зоны (двойного слова) происходит с помощью триггера 111 выбора буфера процессора, а до слова — с помощью триггера 112 номера слова. Триггер 112 номера слова во время передачи двойного слова переключается, Если триггер 108 обращения интерфейса установлен, может выполняться обмен между буферной памятью 107 данных и регистром 106 данных. При этом адресация зоны происходит с помощью триггера 109 выбора буфера интерфейса, а слова и байта внутри слова— с помощью трехразрядного счетчика

110 адреса байтов. Двухразрядный счетчик 113 двойных узлов указывает количество двойных слов в буферной памяти 107 данных. Во время операции записи он показывает количество незаполненных двойных слов в буферной памяти 107 данных, во время операции

55 чтения — количество заполненных двойных слов. В начале операции записи счетчик устанавливается на "2" (два двойных слова не заполнено) и во время передачи двойного слова из групп регистров 15 и 16 уменьшается.

После передачи двойного слова через интерфейс счетчик 113 двойных слов увеличивается. В начале операции чтения счетчик устанавливается в "0 и при обмене данными соответственно модифицируется.

Управление последовательностью работы оборудования блока 19 согласования во время передачи данных между буферной памятью 107 данных и регистром 116 данных осуществляется с помощью второго синхронизатора

115. Управление передачей данных меж« ду буферной памятью 107 данных и группой регистров 15 и,16 производится первым синхронизатором 114. Первый синхронизатор 114 вырабатывает стробы загрузки первой и второй групп регистров 15 и 16 соответствующего канала, которые поступают соответственно при передаче данных в буферную память или из буферной памяти на первый и второй синхровходы блока согласования. Запуск второго синхронизатора 115 производится через элемент И-ИЛИ-НЕ 130, а запуск первого синхронизатора 114 — через пятый элемент И-ИЛИ 128. Запросы от всех блоков 19 согласования поступают на блок 18 приоритета запросов и иэ блока 18 передается в блок 17 управления, в котором устанавливается триггер 66 передачи данных и один из группы триггеров 67 и 68 передачи данных каналов, которые указывают„ какой блок 19 согласования производит обмен данными. На вход блока 17 управления на вторую группу входов из блоков 19 согласования поступает код операции, который используется для аппаратурного формирования микрокоманды обращения к оперативной памяти на первой группе элементов И 69 и 70 и втором элементе ИЛИ 71, с выхода которого микрокоманда поступает на вход режима блока 1 микропрограммного управления, в регистр

29 микрокоманд через первую группу . элементов И-ИЛИ 36. При этом потенциалом с триггер 66 передачи данных блока 17 управления блокируется прием микрокоманд из памяти 27 микрокоманд блока 1 микропрограммного уп7 128 равления на первой группе элементов

И-ИЛИ 36 и пропускается микрокоманда из блока 17 управления, в ходе вы полнения которой должен производиться обмен данными между оперативной памятью и первой и второй группами регистров 15 и 16 через внутренние тракты процессора. Для управления прохождением данных блок 17 управления вырабатывает послЕдовательность сигналов с выходов триггера

64 запроса передачи данных, триггера

77 первого цикла передачи,"триггера

79 второго цикла передачи, а для управления первой и второй группами регистров 15 и 16 — с выходов первой 88 и 89 и второй 90 и 91 групп элементов И-ИЛИ. Микрокоманда "Память" выполняется в два цикла. В первом цикле памяти готовится адрес данньж и в случае записи в память записываются данные. Чтение и запись производится в паузе между первым и вторым циклом. Длительность паузы зависит от времени обращения к памяти. Это время намного превосходит первый и второй циклы памяти. Во втором цикле памяти в случае считывания выбираются данные из памяти и пересылаются через внутренние тракты процессора в первую и вторую группы регистров

15 и 16. Триггер 76 запроса передачи данных блока 17 используется для запуска циклов аппаратурно сформированной микрокоманды "Память". Блок

18 приоритета запросов предназначен для выбора наиболее приоритетного из каналов.

Коммутатор 14 предназначен для выбора данных из оперативной памяти или регистра 35 результата блока 1 и представляет собой группу элементов И-ИЛИ.

На фиг.8 изображена временная диаграмма работы устройства для обмена данными между группой каналов вводавывода и оперативной памятью для выполнения микрокоманды память при обращении к ней процессора. На ней приняты следующие условные обозначения: а — синхронизация; б — прием в первый регистр 33 адреса оперативной памяти; в — прием двойного слова данных в выходной регистр 4; г —запись в местную память 31 модифицированного адреса оперативной памяти;

8707

f0 д — выдача первого слова данных с первой группы элементов И-HJIH 5; е — выход третьего триггера 9; ж— выдача второго слова данных с пер- вой группы элементов И-ИЛИ 5; з — управление коммутатором 14 на выбор данных из оперативной памяти; и— запись первого слова данных; к — запись второго слова данных. Устройство для выполнения мирокоманды "Память" при обращении к ней процессора работает следующим образом.

Из памяти микрокоманд 27 блока 1 по адресу из регистра 28 адреса, через первую группу элементов И-ИЛИ

36 в регистр 29 микрокоманд заносится микрокоманда, которая поступает на дешифратор 30, с седьмого выхода . которого в местную память 31 подается адрес, по которому на первый регистр 33 считывается адрес данных оперативной памяти, который через адресный выход 47 блока 1 подается на адресный вход оперативной памяти.

Двойное слово данных из оперативной памяти заносится в выходной регистр

4, из которого с помощью первой группы элементов И-ИЛИ 5 на коммутатор

14 подается первое слово данных. Управление выбором нового слова осуществляется первым элементом И-HE 8 по установленному первому триггеру

7, который устанавливается через первый элемент И 6, по младшему биту .адреса двойного слова из первого регистра 33 блока 1. Agpec данных оперативной памяти подается также на арифметическо-логический узел 34, где он модифицируется и через регистр 35 результата и коммутатор 14 записывается в местную. память 31.

После этого управление коммутатором

14 по выходу второго элемента И 13 переключается на выбор первого слова данных из оперативной памяти. После записи первого слова данных по второму выходу дешифратора 30 блока 1 устанавливается третий триггер 9, который инверсным выходом на первом элементе И б изменяет младший бит адреса оперативной памяти, который запоминается в конце выполнения микрокоманды "Память" на первом триггере

7 и через первый элемент И-НЕ 8 изменяет управление первой группы элементов И-ИЛИ 5 на выдачу второго слова данных их выходного регистра 4 на коммутатор 14, а прямой выход

128870 третьего триггера 9 управляет передачей этого слова данных через коммутатор 14 на фоне выполнения следую1цей микрокоманды.

На фиг.9 изображена временная диаграмма работы устройства для обмена данными между группой каналов ввода-вывода и оперативной памятью для выполнения аппаратурно сформированной микрокоманды "Память" считывания из оперативной памяти. На ней приняты следующие условные обозначения: а — синхронизация; б— выход триггер 77 йервого цикла передачи; в — выход триггера 78 про15 межуточного цикла передачи; г — выход триггера 79 второго цикла передачи; д — прием в первый регистр 33 адреса оперативной памяти и счетчика байтов; е — прием двойного слова данных в выходной регистр 4; ж — выдача первого слова данных с первой группы элементов И-ИЛИ 5; з — выдача второго слова данных с первой группы элементов И-ИЛИ 5; и — выход второго триггера 11; к — управление коммутатором 14 на выбор данных из оперативной памяти, и — запись в местную память 31 модифицированного адреса оперативной памяти и счетчика байтов; м -строб первой группы регистров 15; н — строб второй группы регистров 16.

Устройство для обмена данными между группой каналов и оперативной памятью для считывания данных из оперативной памяти в первую и вторую группы регистров 15 и 16 работает следующим образом. Из блока 17 управления в блок 1 в регистр 29 микроко40 манд заносится аппаратурно сформированная микрокоманда, которая поступает на дешифратор 30 с седьмого выхода которого в местную память 31 подается адрес, по которому на пер45 вый регистр 33 в первом цикле памяти считывается адрес данных оперативной памяти, который подается на адресный вход оперативной памяти и на арифметико-логический узел 34, на котором он модифицируется. Из оперативной памяти в выходной регистр

4 считывается двойное слово данньгх.

Младший бит адреса оперативной памяти, который адресует первое слово данных из первого регистра 32 блока 1 через первьпю элемент И 6 устанавливает первый триггер 7,который

7 10 через первый элемент И-НЕ 8 управляет выбором на первой группе элементов И-ИЛИ 5 первого слова данных, которое поступает на коммутатор 14.

С выхода триггер 66 передачи данных блока 17 управления на информационный вход второго триггер 11 подается сигнал, который устанавливает этот триггер в начале первого цикла микрокоманды "Память". Второй триггер 11 управляет передачей через коммутатор 14 первого слова данных оперативной памяти, которое проходит через вторую группу элементов И-ИЛИ

20 под управлением выхода записи блока 19 согласования и,через первую группу регистров 15, так как на синхронизирующий вход подается постоянный строб и защелкивается во второй группе регистров 16 по стробу, сформированному на первой группе элементов И-ИЛИ 88 и 89 блока 17 по сигналам с выхода группы триггеров 67 и 68 передачи данных каналов триггера 72 второго цикла передачи

J и синхросигнала. Из местной памяти

31 блока 1 во втором цикле памяти на первый регистр 33 считывается счетчик байтов, который указывает то количество байтов„ которое осталось передать из оперативной памяти в каналы. Счетчик байтов передается на арифметическо-логический узел

34, на котором он модифицируется.

После сброса второго триггера 11 управление коммутатором 14 переключается на выдачу из регистра результата 35 модифицированного адреса, который записывается в местную память

31. Затем на втором элементе И-НЕ

10 по сигналу с выхода триггера 79 второго цикла передачи блока 17 и сигналу с синхровхода 21 устройства вырабатывается сигнал, который поступает на второй вход первого элемента

И-HE 8 и инвертирует выход этого элемента. Таким образом, первая группа элементов И-ИЛИ 5 выбирает второе слово данных, которое через коммутатор 14 под управлением сигнала с выхода второго элемента И 13 поступает через вторую группу элементов

И-ИЛИ 20 на первую группу регистров

15, где оно и защелкивается по стробу, сформированному на второй группе элементов И-ИЛИ 90 по сигналам с выхода группы триггеров 67 и 68 передачи данных каналов, синхросигнала и сигнала с выхода группы триггеров 80 и 81 второго цикла передачи каналов и элементов И-ИЛИ-НЕ 84 и

85. Запись модифицированного счетчика из регистра результата 35 блока 5

1 в местную память 31 выполняется на фоне выполнения следующей микрокоманды.

На фиг.10 изображена диаграмма работы устройства для обмена данными между группой каналов ввода-вывода и оперативной памятью для выполнения аппаратурно сформированной микрокоманды "Память" записи в оперативную память. На ней приняты следующие условные обозначения: а — синхронизация; б — выход триггера 77 первого цикла передачи; в — выход триггера 78 промежуточного цикла передачи; г — прием в первыи регистр

33 адреса оперативной памяти; д— прием во второй регистр 32 данных из второй группы регистров 16 е — прием данных во входной ре25 гистр 2; ж — строб второй группы ре,гистров 16; з — запись в оперативную память.

Устройство для обмена данными между группой каналов. ввода-вывода и оперативной памятью для записи данных из первой и второй групп регистров 15 и 16 в оперативную память работает следующим образом. Со второго информационного выхода группы регистров 16 в блок 1 во второй регистр 32 через вторую группу элементов И-ИЛИ 37 под управлением сигнала с выхода триггера 54 передачи даннйх.блока 17 принимается первое слово данных по стробу с выхода первого элемента И-ИЛИ 86 блока 17 управления, который вырабатывается по синхросигналу. После приема первого слова во второй регистр 32 блока 1 данные через первый управляющий выход 48 блока 1 подаются на входной регистр 2, где они принимаются по стробу, сформированному на втором элементе И-ИЛИ 87 блока 17, который вырабатывается по синхросигналу и третьему управляющему выходу блока 1. После приема первого слова данных во входной регистр 2 второе слово данных из первой группы регистров 15 переписывается во вторую группу регистров 16 по стробу с выхода первой группы элементов И-ИЛИ

88 и 89 блока 17, сформированного

1288707 !2 по сигналам с выхода группы триггеров 67 и 68 передачи данных каналов, триггера 77 первого цикла передачи и синхросигнала. С выхода второй группы регистров 16 второе слово данных записывается во второй регйстр 32 блока 1 через вторую группу элементов И-ИЛИ 37 по стробу с выхо да первого элемента И-ИЛИ 86 блока

17, сформированного по сигналам с выхода триггера 66 передачи данных, триг гера 77 первого цикла передачи и син хросигнала. С выхода второго регистра 32 блока 1 второе слово данных поступает на входной регистр 2, на котором оно защелкивается по стробу с выхода второго элемента И-ИЛИ 87 блока 17, сформированного по сигналам с выхода триггера 66 передачи данных и синхронизирующему сигналу. Из местной памяти 31 блока 1 считывается адрес, который через первый регистр

33 передается на адресный выход оперативной памяти. По первому выходу дешифратора 30 блока 1 на элементе

И 38 вырабатывается строб записи в оперативную память, который подается в оперативную память.

Аппаратно-микропрограммный контроль перерывов в работе интерфейса ввода-вывода устройства для обмена данными между группой каналов вводавывода и оперативной памятью (временной контроль) работает следующим образом.

Временной контроль устройства позволяет проконтролировать перерывы в работе интерфейса ввода-вывода, связанные с возникновением ошибок, которые произошли в процессе связи канала ввода-вывода с периферийным устройством или в аппаратуре канала, или в магистрали ввода-вывода, или в аппаратуре периферийного устройства, и которые не обнаруживались другими схемами контроля. В связи с этим временной контроль включается с момента начала связи канала с периферийным устройством и отключается только после полного окончания связи, которое определяется приемом из периферийного устройства в канал так называемого конечного байта состояния, который периферийное устройство должно всегда выдать в канал. В процессе выполнения командЫ ввода-вывода, в к оторой указывается номер канала, который будет выпол88707 14

13 - 12 нять операцию ввода-вывода, и адрес 1 периферийного устройства, с которым укаэанный канал должен осуществить связь, после начала связи микропрограммы путем при помощи дешифрации соответствующей микрокоманды на дешифраторе 30 с группы выходов 65 блока 1 в один из блоков 23 запуска группы по линии 149 поступает на второй вход элемента И 144 сигнал запуска, сигнал с выхода которого устанавливает триггер 145 в единичное состояние, а через первый вход .элемента ИЛИ 146 и выход 152 управления запуском блока 23 сбрасывает счетные триггеры 153 и 154 в исходное состояние. Разрешение запуска временного контроля и выбор временного интервала действия временного контроля осуществляется при помощи регистра коммутации 142 и мультиплексора 143 блока 23, которые пока" заны из расчета восьми градаций временных интервалов действия временного контроля, что в свою очередь осуществляется при помощи приема по групповому входу 26 восьми временных сигналов различной длительности, взятых, например, с часов процессора. При помощи регистра 142 на пер вом, втором, третьем выходах вручную набирается соответствующий код, адресующий один из восьми временных сигналов на групповом входе 26, который подается на адресный вход мультиплексора 143, а на четвертом выходе регистра 142 устанавливается потенциал разрешения запуска временного контроля.

Мультиплексор 143 может быть построен на базе микросхемы 500ИЦ164.

Таким образом, если потенциал разрешения с четвертого выхода регистра 142 коммутации установлен после запуска аппаратной части временного контроля, узел 24 счета начнет считать временные сигналы, поступающие с выхода мультиплексора. (143) через вход 158 счета узла 24 на синхровход второго счетного триггера 154. Так как второй счетный триггер 154 установлен на режим счета, а счетный триггер 153 — на режим работы обычного триггера, который может быть построен на базе микросхемы МС500ТВ135 то после того,как на синхровходе счетного триггера

154 временной сигнал дважды изменит свое состояние из "1" в "0", счетный триггер 153 установится в единичное состояние, и с выхода этого .триггера на выход 159 запроса узла 24 поступит сигнал запроса, который говорит о том, что перерыв в работе интерфейса ввода-вывода превысил допустимый.

Если триггер 153 не успеет уста10 новиться в единичное состояние,т.е. связь канала с периферийным устройством закончится в течение максимально установленного промежутка времени, что зафиксировано путем

15 микропрограммного сброса триггера

145 по микрокоманде,продешифрирован-. ной на дешифраторе 30, сигнал с которого по линии 150 блока 23 запуска сбросит триггер 145, следовательно, 20 связь выполнена успешно. Таким образом, целью реализации части вре" менного контроля аппаратным путем является исключение потерь времени процессора в случае безошибочной работы аппаратуры каналов, магистрали ввода-вывода и периферийного устройства.

Если на выходе 159 узла 24 появился сигнал запроса, следовательно, где-то в работе аппаратуры произошла ошибка, по причине которой связь между каналом ввода-вывода и периферийным устройством не может быть закончена. В этом случае микропро35 граммным путем сигнализируются возможные причины отказа, номер канала и адрес периферийного устройства.

Микропрограммный анализ временного контроля может быть выполнен следую40 щим образом.

После фиксации аппаратурой временного контроля наличие сбоя, которое произошло в процессе связи канала ввода-вывода с периферийным

45 устройством (наличие одного или нескольких сигналов на групповом входе ,164 запросов блока 25), выполняется переход на микропрограмму обслуживания сбоя по временному контролю, 50 Для этой цели на приоритетном шифраторе 160, на входы которого поступают запросы от всех каналов ввод-вывода группы, осуществляется выбор наиболее приоритетного запроса (в

55 рассматриваемом случае приоритетность запросов устанавливается по номеру канала: канал 1 — высший приоритет, канал 2 — менее высокий и т.д.) путем фиксации всех поступивших на оппоследнего адреса микрокоманды микропрограммы временного контроля; р — запись в регистр 28 адреса адреса последней микрокоманды; с — выполнение последней микрокоманды микропрограммы временного контроля; т — запись в регистр 28 адреса из регистра 59 адреса (К + 1)-й микрокоманды ранее прерванной микропрограммы процессора; у — выполнение (К + 1)-й микрокоманды.

В процессе выполнения последней минрокоманды микропрограммы временного контроля по этой микрокоманде, продешифрированной на дешифраторе .30 сигналом с восьмого выхода дешифратора 30 через выход 63 сброса блока 1, который поступает на второй вход элемента И 162, сбрасывается триггер 163. Таким образом, при выполнении последней микрокоманды микропрограммы временного контроля блок 25 приоритета временных запросов устанавливается в исходное состояние.

В процессе выполнения микропрограммы временного контроля выполняются следующие действия.

Пуск временного контроля устройства выполняется каждый раэ в процессе выполнения очередной команды ввода-вывода. Если выполнение очередной команды ввода-вывода начато, когда выполнение операции ввода-вывода, начатой по предыдущей команде ввода-вывода, не закончилось, установка триггера 145 выполняется вновь, хотя он и установлен, Но при этом счетные триггеры 143 и 154 приводятся в исходное состояние.

3а время до срабатывания счетного триггер 153 должны быть выполнены две операции ввода-вывода или столько, сколько одновременно запущенных операций ввода-вывода. Если за это время не выполнена одна или несколько, операций ввода-вывода, следовательно, в процессе выполнения этих операций находятся перерывы в работе канала ввода-вывода с периферийными устройствами, которые приводят к нарушению работы системы ввода-вывода.

С целью конкретизации адреса ериферийного устройства или адресов

55 нескольких периферийных устройств, с которыми произошли временные перерывы в работе выше допустимых, в местной памяти 31 хранятся таблицы

15 1288707 )6 ределенный момент времени запросов на вход приоритетного шифратора

160 (типа 500ИВ165) по синхроимпульсу, поступившему с синхровхода 165 на первый вход элемента И 161, на второй вход которого поступает сигнал с инверсного выхода триггера t63. После фиксации запросов, на адресных выходах приоритетного шифратора устанавливается номер канала, 10 запрос которого самый приоритетный, который выдается на выход 167 адреса, а на управляющем выходе устанавливается сигнал, который устанавливает триггер 163 в единичное состояние, 15 тем самым запрещая выполнять фиксацию запросов на приоритетном шифраторе

160 по вновь поступившему синхроимпульсу, и выдается на выход 168, как сигнал управления переключением, по которому адрес с выхода 167 блока 25, как начальный адрес микропрограммы временного контроля, заносится в регистр адреса 28 вместо очередного адреса выполняемой в процессоре микропрограммы.

Временная диаграмма приостановки выполняемой в процессоре микропрограммы и начало и конец выполнения микропрограммы временного контроля показана на фиг.11. На ней приняты следующие условные обозначения: а— синхронизация; б — выполнение К-й микрокоманды микропрограммы процессора; в — фиксация и хранение запросов на приоритетном шифраторе 160;

r — инверсный выход триггера 163; д — выход элемента НЕ 60; е — инверсный выход триггера 55; ж — инверсный .выход триггера 58; з — запись аппаратно сформированного адреса с входа 64 в регистр 56 (адрес первой микрокоманды микропрограммы временного контроля); и — запись и хранение в регистр 59 (К + 1)-й микро- 45 команды приостановленной микропрограммы процессора; к — запись в ре гистр адреса 28 адреса аппаратно сформированного адреса из регистра

56; л — выполнение первой микрокоманды микропрограммы временного контроля; м — запись адреса второй микрокоманды с дешифратора 30 в регистр 56; н — запись в регистр

28 адреса адреса микрокоманды из регистра 56; о — выполнение второй микроКоманды микропрограммы временного контроля; п " запись в регистр 56 ла, размещенного в конкретной ячейке местной памяти, заносится 1, После этого устанавливается триггер 145, т.е. запускается аппаратная схема временного контроля. Если завершение операции ввода-вывода произошло до момента формирования на выходе счетного триггера 153 сигнала запроса, канальная микропрограмма окончания связи с периферийным устройством вычитает 1 из счетчика количества одновременно работающих периферийных устройств и анализирует содержимое счетчика. Если счетчик равен

О, микропрограмма сбрасывает триг гер 145, т.е. связь с периферийным устройством произошла успешно и аппаратная схема временного контроля приведена в исходное состояние, Если счетчик не равен О, микро- программа не сбрасывает триггер

145. Аппаратная схема временного контроля продолжает работать, .

В случае нарушения длительности запланированных перерывов в работе канала ввода-вывода с периферийным устройством триггер 153 с выхода вырабатывает сигнал запроса, который далее поступает в блок приоритета временных запросов и по которому вызывается микропрограмма обработки сбоя по временному контролю, Микропрограмма обработки сбоя по временному контролю в первую оче-.

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

Содержимое ячейки 00. Микропрограмма опрашивает очередную ячейку таблицы состояний, так как периферийное устройство, которому закреплена о