процессор ввода-вывода
Классы МПК: | G06F13/00 Соединение запоминающих устройств, устройств ввода-вывода или устройств центрального процессора или передача информации или других сигналов между этими устройствами |
Автор(ы): | Антоник Петр Иванович[BY], Верига Маргарита Андреевна[BY], Коновалова Светлана Васильевна[BY], Тихович Юрий Витольдович[BY] |
Патентообладатель(и): | Научно-исследовательский институт электронных вычислительных машин (BY) |
Приоритеты: |
подача заявки:
1992-05-18 публикация патента:
27.01.1996 |
Изобретение относится к вычислительной технике, в частности к процессорам для ввода-вывода информации в ЭВМ. Процессор содержит селекторные каналы 1,2, блок 3 (микропрограммного управления), блок памяти 4, арифметико-логический блок 5, блок синхронизации 6, распределитель каналов 7, блок 9 управления интерфейсом каналов, мультиплексор 10, регистр 11 управляющих слов центрального процессора, дешифраторы 12, 13, шинные формирователи 14 - 20, шинный формирователь 21 оперативной памяти, шинный формирователь 22 центрального процессора. Процессор предназначен для выполнения операций ввода и вывода между периферийным устройством и оперативной памятью по инициативе центрального процессора. 11 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11
Формула изобретения
ПРОЦЕССОР ВВОДА-ВЫВОДА, содержащий блок микропрограммного управления, блок памяти, арифметико-логический блок, мультиплексор, регистр управляющих слов центрального процессора, отличающийся тем, что в него введены блок синхронизации, блок управления интерфейсом оперативной памяти, первый и второй селекторные каналы, распределитель каналов, регистр управляющих слов каналов, первый и второй дешифраторы, с первого по седьмой шинные формирователи, шинный формирователь оперативной памяти, шинный формирователь центрального процессора, первые информационные входы и выходы селекторных каналов являются входами и выходами процессора для подключения к информационно-управляющим выходам и входам периферийных устройств, первые управляющие входы и выходы блока управления интерфейсом являются входами и выходами процессора для подключения к управляющим выходам и входам оперативной памяти, первые управляющие входы и выходы распределителя каналов являются входами и выходами процессора для подключения к управляющим входам и выходам центрального процессора, первый информационный вход регистра, управляющих слов каналов, выход шинного формирователя оперативной памяти, вторые информационные входы селекторных каналов являются входом-выходом процессора для подключения к информационному входу-выходу оперативной памяти, первые информационные входы арифметико-логического блока и блока микропрограмного управления и выход формирователя центрального процессора являются входом-выходом процессора для подключения к информационному входу-выходу центрального процессора, второй управляющий выход распределителя каналов соединен с первым адресным входом блока микропрограммного управления, третий управляющий выход распределителя каналов соединен с входом выбора первого селекторного канала, управляющим входом блока памяти, вторым управляющим входом блока управления интерфейсом оперативной памяти и первым управляющим входом первого шинного формирователя, четвертый управляющий выход распределителя каналов соединен с входом выбора второго селекторного канала, третьим управляющим входом блока управления интерфейсом оперативной памяти и первым управляющим входом третьего шинного формирователя, информационные выходы блока микропрограммного управления соединены с информационными входами дешифраторов, адресными входами первой группы блока памяти, вторым управляющим входом распределителя каналов, входом операций арифметико-логического блока, четвертым управляющим входом блока управления интерфейсом оперативной памяти и управляющими входами селекторных каналов, первый, второй и третий информационные входы мультиплексора подключены соответственно к третьим информационным выходам первого и второго селекторных каналов и первому информационному выходу регистра управляющих слов каналов, вторые информационные выходы селекторных каналов подключены к второму адресному входу блока микропрограммного управления, второй управляющий выход блока управления интерфейсом оперативной памяти соединен с входом блокировки тактовых импульсов блока синхронизации, управляющим входом мультиплексора, разрешающим входом регистра управляющих слов каналов и входами сброса-запроса селекторных каналов, выходы запроса первого и второго селекторных каналов соединены соответственно с третьим и четвертым управляющими входами распределителя каналов, синхровыход блока синхронизации соединен с синхровходами блока управления интерфейсом оперативной памяти, регистра управляющих слов каналов, арифметико-логического блока, первого и второго селекторных каналов, блока памяти, блока микропрограммного управления и распределителя каналов, выход полутактов блока синхронизации соединен с управляющим входом первого дешифратора и управляющим входом шестого шинного формирователя, выходы первого дешифратора соединены с входом приема арифметико-логического блока, управляющими входами второго, четвертого, пятого и седьмого шинных формирователей и вторыми управляющими входами первого и третьего шинных формирователей, выходы второго дешифратора соединены с входами загрузки регистра управляющих слов центрального процессора, регистра управляющих слов каналов, блока памяти, блока микропрограммного управления, распределителя каналов и первого и второго селекторных каналов, выходы состояний первого и второго селекторных каналов соединены с информационными входами первого и третьего шинных формирователей соответственно, информационные входы седьмого шинного формирователя соединены с первыми информационными выходами регистра управляющих слов каналов, а информационные входы пятого шинного формирователя соединены с первыми и вторыми информационными выходами регистра управляющих слов каналов, адресные выходы блока микропрограммного управления и блока памяти соединены с информационными входами второго шинного формирователя, информационные выходы блока памяти соединены с информационными входами четвертого шинного формирователя, информационные выходы арифметико-логического блока соединены с информационными входами шестого шинного формирователя, выходы регистра управляющих слов центрального процессора соединены с информационными входами шинного формирователя центрального процессора, управляющие входы которого соединены с первым управляющим выходом распределителя каналов, выходы мультиплексора соединены с информационными входами шинного формирователя оперативной памяти, управляющий вход которого соединен с вторым управляющим выходом блока управления интерфейсом оперативной памяти, вторые информационные входы арифметико-логического блока и регистра управляющих слов каналов, третьи информационные входы селекторных каналов, информационные входы блока управления интерфейсом оперативной памяти и регистра управляющих слов центрального процессора и адресные входы второй группы блока памяти соединены через общую шину с выходами шинных формирователей с первого по седьмой.Описание изобретения к патенту
Изобретение относится к вычислительной технике, в частности к процессорам для ввода-вывода информации в ЭВМ. На фиг. 1 представлена блок-схема процессора ввода-вывода; на фиг.2-5 структурные схемы селекторного канала, блока микропрограммного управления, блока локальной памяти, арифметико-логического блока; на фиг.6-10 примеры функциональных схем блока синхронизации, распределителя каналов, блока управления интерфейсом оперативной памяти, регистра управляющих слов каналов, блока запросов канала; на фиг.11 временная диаграмма синхронизации и управления общей шиной процессора ввода-вывода. Процессор ввода-вывода (ПВВ) предназначен для выполнения операций ввода-вывода между периферийным устройством (ПФУ) и оперативной памятью (ОП) по инициативе центрального процессора (ЦП). Процессор ввода-вывода содержит первый 1 и второй 2 селекторные каналы, блок 3 микропрограммного управления, блок 4 локальной памяти, арифметико-логический блок 5, блок 6 синхронизации, распределитель каналов 7, блок 8 управления интерфейсом ОП, регистр 9 управляющих слов каналов, мультиплексор 10, регистр 11 управляющих слов ЦП, дешифраторы 12, 13, формирователи 14-20 общей шины (шинные формирователи), формирователь 21 оперативной памяти, шинный формирователь 22 центрального процессора, шины 23-56. Селекторный канал 1, 2 (фиг.2) содержит блок 57 буферной памяти данных, блок 58 подсчета байтов, регистр 59 состояния, регистр 60 команд, регистр 61 данных канала, блок 62 запросов, мультиплексор 63 данных канала, блок 64 управления интерфейсом ввода-вывода, мультиплексор 65 условий канала, дешифратор 66 установок и линии связи 67-83. Блок 3 микропрограммного управления (фиг.3) предназначен для управления процессором ввода-вывода и содержит управляющую память 84, регистр 85 адреса управляющей памяти, регистр 86 возврата, регистр 87 микрокоманды, мультиплексоры 88, 89, элементы И 90-91 и линии связи 92-104. Блок 4 локальной памяти (фиг.4) предназначен для хранения информации по операции ввода-вывода и содержит локальную память 105, регистр 106 адреса локальной памяти, элементы И 107-109, элемент ИЛИ 110. Блок 5 арифметико-логический предназначен для выполнения арифметических (сложение, вычитание) и логических (сложение, умножение) операций и содержит арифметико-логический узел 111, регистры 112 и 113 входа А и В арифметико-логического узла соответственно, элементы И 114-115. Блок 6 синхронизации (фиг. 6) содержит генератор 116 синхроимпульсов, триггеры 117 и 118, элементы И 119-123, линии связи 124-135. Распределитель 7 каналов (фиг. 7) содержит триггеры 136-141, элементы И-ИЛИ 142, 143, элементы И 144-147, элементы ИЛИ 148-151 и линии связи 152-155. Блок 8 управления интерфейсом оперативной памяти (фиг.8) содержит триггеры 156-166, регистр 167 адреса ОП, элементы И 168-189 и линии связи 190-200. Регистр 9 управляющих слов каналов (фиг.9) содержит регистры 201-202, элементы И 203-204, элементы ИЛИ 205-206. Блок 62 запросов канала (фиг. 10) содержит счетчик 207, триггер 208, дешифратор 209, элементы И-ИЛИ 210, 211, элементы И 212-217 и линии связи 218-224. Процессор работает следующим образом. Операция ввода-вывода (ОВВ) в ПФУ начинается по инициативе центрального процессора (не показан), который, выбрав из ОП инструкцию ввода-вывода, содержащую код операции, адреса канала и периферийного устройства, выдает сигналы запуска операции ввода-вывода и адреса канала по шинам 23 управления, а код операции по информационным шинам 25. Сигнал по шине 152 запуска ОВВ и сигнал по шине 153 адреса канала с шин 23 передаются в распределитель 7 для формирования запроса на выполнение прерывания и инструкции ввода-вывода ("Начать ввод-вывод", "Проверить ввод-вывод", "Остановить ввод-вывод" и т. д. ). Все процедуры в ПВВ (в том числе и выполнение ОВВ) выполняются под управлением блока 3 микропрограммного управления, который содержит набор микропрограмм, управляющих работой ПВВ. В регистре 85 хранится текущий адрес микропрограмм, который по шинам 94 поступает в управляющую память 84. Считанная из управляющей памяти микрокоманда при наличии синхроимпульса ТИ4 на шине 133 с шин 95 заносится в регистр 87 микрокоманды для управления ПВВ в следующем машинном такте. С целью формирования адреса следующей микрокоманды содержимое поля адреса управляющей памяти по шинам 96 и условные признаки ветвления микропрограммы по шинам 50 через мультиплексоры 89 и 88 заносятся в регистр 85 адреса управляющей памяти. Сформированный таким образом адрес микрокоманды называется естественным адресом. В каждом машинном такте распределитель 7 анализирует сигналы на шинах 51 (52) запросов селекторных каналов 1 (2) и на шине 152 запуска ОВВ. Если выполняется микропрограмма более низкого приоритета, чем установлен запрос на шинах, то в распределителе 7 устанавливается соответствующий запросу и каналу триггер 138-141 и вырабатывается сигнал на шине 93 запроса на микропрограммную приостановку, сигнал на шине 34 (35) выбора канала и сигнал на шине 92 причины приостановки. Выполнение текущей микрокоманды прерывается, адрес следующей микрокоманды заносится в регистр 86 возврата через мультиплексор 89, а в регистр 85 через мультиплексор 88 и элементы И 90, 91 заносится фиксированный адрес начала выполнения микропрограмм на основании сигналов с шин 92, 93, 25. В первой же микрокоманде микропрограммы обслуживания причины приостановки содержимое регистра 85 возврата и регистра 106 адреса локальной памяти подается по адресным шинам 45 через формирователи 15 на общую шину 39 по сигналу с шин 37 выхода дешифратора 12 в первом полутакте (41) и запоминается в регистре 112 арифметико-логического блока 5 по синхроимпульсу 131 (ТИ2) с шин 40. Во втором полутакте этой микрокоманды содержимое регистра 112 через арифметико-логический узел 111 и формирователи 19 выдается на общую шину 39 по сигналу с шин 41 и далее с общей шины 39 запоминается в локальной памяти 105 по сигналу записи с шин 38 выхода дешифратора 13 и синхроимпульсу 132 ТИ 3 с шин 40 через элемент И 109. В первом полутакте последней микрокоманды обслуживания содержимое регистра 86 возврата и регистра 106 адреса локальной памяти считывается из локальной памяти 105 по информационным шинам 46 и через формирователь 17 подается на общую шину 39 по сигналу с шин 37, а с общей шины 39 заносится в регистры 85, 86 через мультиплексоры 89, 88 и в регистр 106 через элемент И 108 и элемент ИЛИ 110 по сигналу с шин 38 и синхроимпульсы 131 ТИ2 с шин 40. Таким образом, ПВВ, получив сигнал по шине 152 с шин 23 на запуск ОВВ, в распределителе 7 вырабатывает сигнал на шине 93 запроса на микропрограммную приостановку. Если в данный момент времени нет одновременно пришедшего более приоритетного запроса от каналов, то в регистр 85 заносится начальный адрес микропрограмм выполнения инструкции ввода-вывода по коду операции с информационных шин 25 и на управляющие шины 24 выдается сигнал по шине 154, сообщающий УП о принятии кода операции. В ответ ЦП снимает с шин 25 код операции и выдает на ту же шину адрес ПФУ. Микропрограмма "Начать ввод-вывод" используется для запуска операции ввода-вывода на ПФУ и выполняется следующим образом. Адрес ПФУ с шины 25 поступает в регистр 113 входа В блока 5 при наличии управляющих сигналов на шине 102 записи в регистр и синхроимпульса 131 ТИ2 с шин 40 и далее транзитом (функция задается на шине 101) через арифметико-логический узел 111 и формирователь 19 на общую шину 39. Во втором полутакте с шины 39 адрес ПФУ заносится в локальную память 105 блока 4 при наличии синхроимпульса ТИ3 на шине 132 с шин 40 и управляющего сигнала записи в локальную память с шин 38 через элемент И 109 по адресу, занесенному в регистр 106 адреса локальной памяти с шин 36 поля адресации локальной памяти через элементы И 107 и ИЛИ 110. Адресное слово канала (ячейка ОП с постоянным адресом 48/16) считывается из ОП по адресу 48/16, прочитанному из локальной памяти на информационную шину 46, и далее через формирователи 17 на общую шину 39 для записи в регистр 167 адреса ОП. Обращение к ОП начинается с выдачи сигнала запроса на шину 104 с шин 36, по которому устанавливается триггер 158 запроса к ОП при наличии синхроимпульса на шине 130 ТИ1 с шин 40 через элемент И 168 и триггер 162 чтения управляющих слов каналов. Триггер 158 через элемент И 180 формирует сигнал запроса к ОП на шине 192 управляющих шин 27 и через элемент И 189 с общей шины 39 заносит в регистр 167 адрес ОП. По синхроимпульсу СИ3 на шине 128 устанавливается триггер 166 и на шину 134 с шин 44 выдается сигнал "Работа с управляющими словами", по которому в блоке 6 синхронизации устанавливаются триггеры 117 и 118, блокирующие выдачу синхроимпульсов ТИ1-ТИ4 на шины 130-133 на время работы с ОП. По синхроимпульсу СИ1 на шине 126 устанавливается триггер 156. В ответ на запрос канала ОП выдает сигнал "Работа ОП" на шину 190 управляющих шин 26. По этому сигналу через элемент И 169 устанавливаются триггеры 157 и 165, а по установленному триггеру 157 на адресные шины 194 ОП выдается адрес ОП из регистра 167 и на шину 196 сигнал чтения ОП. ОП выдает в канал информацию по информационным шинам 28 и сопровождает по управляющим шинам 26 сигналом "Информация ОП" на шине 191, по которому через элементы И 178 и 184 на шину 197 выдается сигнал "Прием из ОП" и одновременно сбрасывается сигнал на шине 190. Прочитанное из ОП адресное слово канала, содержащее ключ защиты и адрес командного слова начала, поступает с шин 28 в регистр 9 управляющих слов каналов при наличии управляющих сигналов на шинах 134 и 197. После этого сбрасываются триггеры 157, 158 через элемент И 178 и далее триггеры 166, 165. ОП снимает сигнал с шины 191 "Информация ОП" и цикл обращения к ОП заканчивается. Содержимое регистра 201 по шине 42 через формирователи 20 поступает на общую шину 39 в первом полутакте и заносится в регистр 112 блока 5 по синхроимпульсу 131 ТИ2, где посредством арифметико-логического узла 111 проверяется на действительность и затем по шинам 47 через формирователи 19 поступает во втором полутакте на общую шину 39 для записи в локальную память 105 по синхроимпульсу 132 ТИ3. Чтение командного слова канала выполняется в регистры 201, 202 из ОП по информационным шинам 28 аналогично чтению адресного слова канала. Содержимое командного слова канала запоминается в локальной памяти и на регистрах канала. Ключ защиты, адрес данных и флажки хранятся в локальной памяти 105, а в селекторный канал 1 (2) во втором полутакте с общей шины 39 заносятся код команды в регистр 60 команд и счетчик байтов в блок 58 подсчета байтов по управляющему сигналу занесения на шину 80 с шин 38 и синхроимпульсу 133 ТИ4 с шин 40, младшие разряды адреса данных в счетчик 207 блока 62 запросов по управляющему сигналу занесения младшего адреса 81 с шин 38. После размещения управляющей информации в локальной памяти и на регистрах канала начинается связь с ПФУ. Адрес ПФУ и команда читаются из локальной памяти 105 по шинам 46 через формирователи 17 и во втором полутакте с общей шины 39 заносятся в блок 57 буферной памяти данных по управляющему сигналу занесения на шине 79 с шин 38 и синхроимпульсу с шин 40 и далее выдаются на информационные шины 69 информационно-управляющих выходных шин 29 (31) интерфейса ввода-вывода. Управляющие сигналы передаются из блока 64 управления интерфейсом ввода-вывода на управляющие шины 77 информационно-управляющих выходных шин 29 (31) интерфейса ввода-вывода. Ответная реакция ПФУ поступает через информационно-управляющие входные шины 30 (32) интерфейса ввода-вывода в блок 64 управления интерфейсом ввода-вывода и блок 57 буферной памяти данных и далее из блока 64 по шинам 76 в мультиплексор 65 условий канала для выполнения ветвлений в микропрограмме в зависимости от ответа ПФУ. С этой целью результат анализа условий из мультиплексора 65 поступает на шину 50 формирования младшего адреса в блок 3 микропрограммного управления. В случае если ПФУ опознало свой адрес и может выполнить выданную ПВВ команду ввода-вывода, выдается нулевой признак результата в центральный процессор (в случае прерывания ввода-вывода выдается адрес ПФУ). С этой целью нулевая константа подается из регистра 87 микрокоманды блока 3 на шины 102 с шин 36 в регистр 113 входа В блока 5 и далее транзитом через арифметико-логический узел 111 на общую шину 39 во втором полутакте для занесения в регистр 11 управляющих слов ЦП при наличии управляющего сигнала на шине 38. Содержимое регистра 11 по шине 56 через формирователи 22 шин ЦП поступает на информационные шины 25 ЦП. Нулевой признак результата сопровождается выдачей в ЦП управляющего сигнала конца операции ввода-вывода на шину 155 с шин 24 из блока 7, который формируется с триггера 137 конца ОВВ. Триггер 137 устанавливается через элемент И 147 по микропрограммному сигналу "Конец операции ввода-вывода" на шине 103 с шин 36 и синхроимпульсу ТИ4 на шине 133 с шин 40, сбрасывается триггер 136, а триггер 138 (139) инструкции ввода-вывода сбрасывается по тому же сигналу с шины 103 и синхроимпульсу на шине 132 ТИ3. ЦП сбрасывает сигнал на шине 152. В результате сбрасывается триггер 137 конца ОВВ. На этом завершается связь ЦП с ПФУ, а канал переходит к этапу передачи данных. Рассмотрим передачу данных в канале на примере выполнения операций "Считать" и "Записать". При выполнении операции "Считать" байты данных принимаются побайтно с шин 30 (32) в блок 57 буферной памяти и далее через шины 68 под управлением сигналов на шинах 222 и 224 с шин 75 управления передачей данных в канале запоминаются в восьмибайтном регистре 61 данных канала. Прием производится в тот байт регистра 61, в который разрешено занесение (сигналы на шинах 222). Сигналы на шинах 222 формируются через дешифратор 209 по трем младшим разрядам адреса данных. Заполнение регистра 61 данных канала продолжается побайтно до тех пор, пока последний восьмой байт не будет загружен. Счетчик 207 при каждой передаче байта данных в регистр 61 модифицируется на единицу через элементы И 212 и И-ИЛИ 210 по управляющим сигналам чтения на шине 220 с шин 74 кода команды и буфер не пустой на шине 218 с шин 70 состояния буферной памяти и синхроимпульсу С2 на шине 125 с шин 40. В момент загрузки последнего восьмого байта по сигналам на шинах 222 и 224 и при наличии синхроимпульса СИ4 на шине 129 устанавливается триггер 208 запроса на передачу данных, который через элемент И 217 формирует сигнал на шине 51 (52) запроса первого (второго) селекторного канала. Сигнал с шины 51 (52) поступает в блок 7 на элемент И 145 (146) и далее на установку триггера 140 (141) обслуживания данных для формирования управляющих сигналов 92, 93, 34 (35). Если в данный момент времени в устройстве не выполняется более приоритетная микропрограмма, то в блоке 3 формируется фиксированный адрес микропрограмы передачи данных, поступающий в регистр 85 а в регистр 86 заносится адрес прерванной микропрограммы. Микропрограммы передачи данных выполняет следующие действия:a) содержимое регистров 86 и 106 через формирователи 15 в первом полутакте поступает на общую шину 39 для записи в регистр 112 входа А блока 5 по синхроимпульсу ТИ2 на шине 131, с выхода которого транзитом через арифметико-логический узел 111 и формирователи 19 во втором полутакте передается на общую шину 39 для записи в локальную память 105 блока 4 по синхроимпульсу ТИ3 на шине 132 с шин 40;
б) из локальной памяти считывается на информационную шину 46 ключ защиты и адрес данных и через формирователи 17 в первом полутакте поступает на общую шину 39 для занесения в регистр 112, где модифицируется на количество передаваемых байтов посредством арифметико-логического узла 111, с выхода которого во втором полутакте через формирователь 19 и общую шину 39 заносится обратно в локальную память 105. Обращение к ОП начинается с выдачи сигнала на шину 104 запроса на работу с ОП с шин 36 из блока 3 микропрограммного управления, по которому устанавливается триггер 158 запроса к ОП при наличии синхроимпульса ТИ1 на шине 130 с шин 40 через элемент И 168, триггер 164 записи в ОП, триггер 163 данных канала и сбрасывается триггер 162. Триггер 158 формирует через элемент И 180 на шине 192 сигнал запроса к ОП и через элемент И 189 с общей шины 39 заносит в регистр 167 адрес ОП, а также в зависимости от номера канала на шинах 34 (35) установит триггер 159 (160) обращения канала 1 (2) к ОП с выдачей одноименного сигнала на шину 199 (200), по синхроимпульсам на шинах 128 СИ3, 126 СИ1 и 129 СИ4 соответственно устанавливаются триггеры 166, 156 и 161. В ответ на сигнал по шине 192 от канала ОП выдает сигнал на шину 190 "Работа ОП", по которому через элемент И 169 устанавливаются триггеры 157 и 165. По установленному триггеру 157 "Работа ОП" на шины 194, 195 шин 27 и шины 198 шин 44 выдаются адрес ОП, сигнал записи в ОП и сигнал выдачи данных в ОП соответственно. Данные из регистра 61 выдаются в ОП на информационные шины 28 через мультиплексор 10 и формирователи 21 шины ОП. После приема данных из канала ОП выдает на шину 191 сигнал "Информация ОП", по которому завершается цикл работы с каналами и сбрасываются триггеры 157, 158, 166, 165, 156, 161, 159 (160) и в блоке 62 запросов канала 1 (2) триггер 208 запроса на передачу данных по сигналу на шине 193;
в) содержимое регистров 85 и 106 восстанавливается посредством считывания его из локальной памяти 105 на общую шину 39 через формирователи 17 в первом полутакте под управлением сигнала с шин 38 и синхроимпульса на шине 131 ТИ2 с шин 40. При выполнении операции "Запись" сразу после выполнения микропрограммы "Начать ввод-вывод" по сигналу записи на шине 221 шин 74 кода команды и управляющему сигналу с шин 78 дешифратора 66 установок через элемент И 214 устанавливается триггер 208 запроса на передачу данных, по которому вырабатывается сигнал на шине 51 (52), поступающий в блок 7 на установку триггеров 140 (141), по которым формируются сигналы на шинах 92, 93, 34 (35), формирующие начальный адрес микропрограммы передачи данных, которая выполняет следующие действия:
1. Содержимое регистров 86 и 106 поступает на общую шину 39 и во втором полутакте запоминается в локальной памяти 105. 2. Из локальной памяти 105 считывается ключ защиты и адрес данных в первом полутакте на общую шину 39. Адрес данных с шины 39 поступает в блок 5, где модифицируется на количество передаваемых байтов и во втором полутакте с общей шины 39 запоминается в локальной памяти 105. Обращение к ОП начинается с выдачи сигнала запроса на шину 104 с шин 36 на работу с ОП, по которому устанавливается триггер 158 запроса к ОП, триггер 163 данных канала и сбрасываются триггеры 162, 164. Триггер 158 формирует сигнал на шине 192 шин 27 запроса к ОП и сигнал приема адреса ОП с общей шины 39 в регистр 167, а также устанавливает в зависимости от номера канала на шинах 34 (35) триггер 159 (160) обращения канала 1 (2), по которому через элементы И 185 (186) выдаются сигналы на шины 199 (200) обращение канала к ОП, а по синхроимпульсам на шинах 128 СИ3, 126 СИ1 и 129 СИ4 устанавливаются соответственно триггеры 166, 156 и 161. В ответ на запрос от канала по шине 192 ОП выдает на шину 190 сигнал "Работа ОП", по которому устанавливаются триггеры 157, 165 и на шины 194, 196 шин 27 выдается адрес ДОП и сигнал чтения из ОП соответственно. ОП выдает в канал данные на шины 28 и сопровождает управляющим сигналом на шине 191 "Информация ОП", по которому вырабатывается через элементы И 178 и 184 сигнал на шине 197 "Прием из ОП". По этому сигналу данные с шин 28 запоминаются в регистре 61 и далее через мультиплексор 63 передаются в блок 57 буферной памяти данных, а оттуда на шины 69 в сопровождении управляющих сигналов по шинам 77 из блока 64 управления интерфейсом ввода-вывода. Счетчик 207 при каждой передаче байта данных из регистра 61 в блок 57 буферной памяти данных модифицируется на единицу через элементы И 213 и И-ИЛИ 210 по управляющим сигналам на шине 221 записи с шин 74 кода команды и шине 219 не полный буфер с шин 70 состояния буферной памяти и синхроимпульсу С2 на шине 125. По сигналу на шине 191 с шин 26 ОП сбрасываются триггеры 157, 158, 166, 156, 165, 159 (160), 161 и в блок 62 запросов канала выдается сигнал на шину 193 сброса запроса по данным шин 44 для сброса триггера 208. 3. Содержимое регистров 85, 106 восстанавливается посредством считывания его из локальной памяти 105 на общую шину 39 в первом полутакте под управлением сигнала с шин 38 и синхроимпульса с шин 40 через мультиплексоры 88, 89. Отметим, что при передаче данных, если выполняется микропрограмма обслуживания данных одного из каналов и цикл обращения к ОП каналом не завершен, а возникает запрос на передачу данных от другого канала, то на шину 135 шин 44 выдается через элемент И 187 сигнал блокировки тактовых импульсов, который выдается в блок 6 для блокировки синхроимпульсов на шинах 130-133 ТИ1-ТИ4. Считанная микрокоманда обращения к ОП не выполняется до тех пор, пока предыдущее обращение к ОП не закончится (пока не сбросится триггер 161 и не исчезнет сигнал 135). Результат работы канала по передаче данных отражается в слове состояния канала, которое записывается в ОП по адресу 40/16. С этой целью ключ защиты и адрес командного слова канала из локальной памяти 105 в первом полутакте поступает через шины 46 и формирователи 17 на общую шину 39 и далее регистр 112 входа А арифметико-логического узла 111, с выхода которого во втором полутакте информация передается на общую шину 39 через формирователи 19 для записи в регистр 201 по управляющему сигналу на шине 38 и синхроимпульсу ТИ4 на шине 133. Конечный байт состояния ПФУ, запомненный в конце передачи данных в блоке 57 буферной памяти данных, регистр 59 состояния, отражающий состояние схем контроля при выполнении всех видов работ в канале, и остаточный счетчик байтов из канала 1 (2) поступают на шины 48 (49) и через формирователи 14 (16) в первом полутакте на общую шину 39 для записи в регистр 112 входа А. Из регистра 112 входа А информация транзитом передается через арифметико-логический узел 111, шины 47 и формирователи 19 на общую шину 39 для записи во втором полутакте в регистр 202 по управляющему сигналу на шине 38 и синхроимпульсу ТИ4 на шине 133. Содержимое регистра 9 управляющих слов каналов по управляющим сигналам на шинах 192, 195, 198 блока 8 управления оперативной памяти записывается через мультиплексор 10, формирователи 21 шины ОП и шины 28 в ОП как было описано выше. Эффективность предложенной структуры процессора ввода-вывода рассмотрим на примере реализации арифметико-логического блока 5. В предложенном процессоре он реализуется в одной ячейке, вмещающей 98 корпусов интегральных микросхем (ИС) серии 1533 с разъемом на 123 сигнальных контакта, причем заполнение ячейки ИС составляет 97% При реализации устройства без общей шины, т. е. с помощью мультиплексоров и схем типа И-ИЛИ, арифметико-логический блок реализуется на аналогичных четырех ячейках одного типа с заполнением ИС 65% из-за большого количества входных регистров (семь 36-разрядных регистров) на входе блока 5. Предложенная структура процессора ввода-вывода позволила уменьшить количество логических ячеек с 26 до 20, т.е. количество ячеек уменьшилось в устройстве на 23% и позволила достичь заполняемости ячеек ИС 90-98% Кроме того, информационный поток связи с центральным процессором снизился с трех однобайтовых слов до однобайтового слова, а количество контактов в разъемах, связывающих информационный и адресный потоки между устройством и оперативной памятью по общей шине, уменьшилось в 2 раза, по сравнению с отдельным адресным и информационным входами и выходами в прототипе. В предлагаемом устройстве упростилась реализация диагностических процедур за счет улучшения управления отдельными триггерами и узлами и наблюдения за их состоянием, т.к. появилась возможность выдавать их на общую шину, не занимая дополнительных контактов в логических ячейках.
Класс G06F13/00 Соединение запоминающих устройств, устройств ввода-вывода или устройств центрального процессора или передача информации или других сигналов между этими устройствами