Селекторный канал

 

Сущность изобретения: селекторный канал содержит первый и второй регистры данных, блок буферной памяти, блок управления интерфейсом, блок подсчета байтов, регистр команд, блок выборки байтов, блок завершения выборки байтов, блок контроля байтов, регистр масок, мультиплексор, триггер, два элемента И. Введение второго регистра данных, первого и второго блоков младшего адреса, триггера и двух элементов И повышает производительность канала, что позволяет подключить к нему более быстродействующие устройства ввода-вывода и вести обмен данными со специализированными устройствами передачи данных с большей скоростью и увеличивает производительность вычислительных комплексов при связи двух ЭВМ через адаптер канал-канал. 16 ил.

Изобретение относится к вычислительной технике, частности, к селекторным каналам для ввода-вывода информации в ЭВМ.

Задача изобретения повышение быстродействия канала.

На фиг.1 представлена структурная схема селекторного канала и процессора; на фиг.2-12 приведены примеры функциональных схем блока подсчета байтов, блока буферной памяти данных, регистра команд, регистра масок, второго блока младшего адреса, одного (нулевого) байта первого регистра данных и мультиплексора этого байта, одного (нулевого) байта второго регистра данных, блока выборки байтов, блока контроля байтов, блока завершения выборки байтов, блока управления интерфейсом; на фиг.13 изображена временная диаграмма работы канала для операций записи в устройство ввода-вывода; на фиг.14 временная диаграмма работы канала для операций считывания из устройства ввода-вывода; на фиг. 15 диаграмма работы селекторного канала (прототип); на фиг.16 диаграмма работы предлагаемого селекторного канала.

Селекторный канал 1 фиг.1( предназначен для подключения быстродействующих устройств ввода-вывода к процессору 2, который содержит блок 3 микропрограммного управления, арифметическо-логическое устройство 4, локальную память 5, оперативную память 6, блок 7 сопряжения с оперативной памятью, селекторный канал 1 содержит первый регистр 8 данных, второй регистр 9 данных, блок 10 подсчета байтов, первый 11 и второй 12 блоки младшего адреса, регистр 13 команд, блок 14 буферной памяти данных, регистр 15 масок, блок 16 управления интерфейсом, блок 17 выборки байтов, блок 18 завершения выборки байтов, блок 19 контроля байтов, мультиплексор 20, триггер 21, элементы И 22, 23, шины 24-52.

Операция передачи данных в канале 1 начинается по специальной команде процессора 2, которая задает адрес селекторного канала 1 и устройства ввода-вывода и при помощи специальных управляющих слов указывает код команды, начальный адрес оперативной памяти, количество передаваемых байтов данных и другие управляющие признаки, которые располагаются в регистрах канала 1 и локальной памяти 5, образуя совокупности управляющие слова канала. В локальной памяти 5 размещается адрес следующего командного слова, адрес данных, ключ защиты, признаки и отметки, используемые в микропрограммах канала 1. Счетчик байтов размещается в блоке 10, младший адрес в первом блоке 11 и во втором блоке 12, команда в регистре 13. Регистры загружаются по шинам 25 из локальной памяти 5 процессора 2 по управляющим сигналам на шинах 24 из блока 3.

Блок 14 буферной памяти данных выполнен в виде стековой памяти с системой обслуживания: первый пришел первый ушел. Загружается по шинам 52 из устройства ввода-вывода, по шинам 42 с выхода мультиплексора 20 и разгружается по шинам 43 в регистр 8 или по шинам 51 в устройство ввода-вывода.

Регистры 8 и 9 данных канала хранят восьмибайтные слова, которыми обменивается канал 1 с оперативной памятью 8 в процессе передачи данных.

Регистр 15 масок хранит восьмиразрядную маску слова для операций считывания с устройства ввода-вывода, управляет приемом байтов данных в регистр 9 из регистра 8 с шин 36.

Блок 17 выборки байтов управляет передачей байтов из регистра 8 в блок 14 буферной памяти данных через мультиплексор 20 для операций записи на устройство ввода-вывода и выборкой байтов из блока 14 буферной памяти данных в регистр 8 для операций считывания из устройства ввода-вывода.

Блок 18 завершения выборки байтов определяет момент выключения из работы блока 17, формирует признак (полное неполное слово) завершения выборки байтов из блока 14 буферной памяти данных в регистр 8, определяет момент выхода на микропрограммную приостановку для обслуживания данных и состояния.

Блок 19 контроля осуществляет контроль выбираемых байтов из регистра 8 или блока 14.

Второй блок 12 младшего адреса управляет выборкой байтов из регистр 8 в блок 14. Первый блок 11 младшего адреса управляет выборкой байтов из блока 14 в регистр 8.

Блок 16 управления интерфейсом осуществляет загрузку блока 14 в операциях считывания с устройства ввода-вывода и разгрузку блока 14 в операциях записи на устройство ввода-вывода. Под управлением блока 16 осуществляются начальная выборка устройства ввода-вывода, завершение операции ввода-вывода на интерфейсе и другие функции.

Блок 10 подсчета байтов (фиг.2) содержит счетчики 53-56 (синхронные, реверсивные, двоичные, четырехразрядные), элементы ИЛИ 57-63, элементы И 64-65, загружается по шинам 25 вторым-третьим байтом слова локальной памяти 5, по отрицательному управляющему сигналу 66 на шинах 24. Вычитание из счетчиков 53-56 производится отрицательным сигналом 164 на шине 38. Блок 10 вырабатывает на шинах 45 сигналы равенства счетчика 1, 0, 15 (сигналы в линиях 67, 68, 69-72 соответственно).

Блок 14 буферной памяти данных (фиг.3) содержит память 73 с организацией 8 х 8 разрядов (показан один разряд), счетчики 74-76, регистры 77, 78, элемент И-ИЛИ 79, элементы ИЛИ 80-82, элементы И-НЕ 83-86, элементы ИЛИ-НЕ 87, 88 и сигналы 89-95 значения счетчика 74 байтов в буферной памяти.

При загрузке байтов в блок 14 включается элемент ИЛИ 81 по сигналам на шинах 38, 48 и в конце такта загрузки по заднему фронту второго синхросигнала 167 на шине 38 происходит через элемент И-НЕ 83 в счетчик 74 добавление "1", а через элемент И-НЕ 86 в счетчик 76 адреса записи добавление "1" и запись в память 73. При разгрузке байтов из блока 14 включает элемент ИЛИ 80 по сигналам на шинах 38, 48 и в конце такта разгрузки по заднему фронту второго синхросигнала 167 на шине 38 происходит через элемент И-НЕ 84 вычитание "1" из счетчика 74, а через элемент И-НЕ 85 добавление "1" в счетчик 75 адреса считывания памяти 73. Одновременно с загрузкой байтов может происходить и разгрузка байтов, при этом блокируется изменение значения счетчика 74 байтов в буферной памяти через элементы И-НЕ 83, 84.

Регистр 13 команд (фиг.4) содержит триггер 96 записи, триггер 97 обратного считывания, триггер 98 операции данных, триггер 99 блокировки записи в оперативную память, элементы И 100-102 и загружается по шинам 25 канала нулевым байтом слова локальной памяти 5 по управляющим сигналам в линиях 66, 103 на шинах 24 канала. Причем если включен седьмой разряд нулевого байта слова локальной памяти 5, то устанавливается триггер 96, а если седьмой, шестой разряды нулевого байта слова локальной памяти 5 выключены и включен четвертый разряд, то через элемент И 100 устанавливается триггер 97. Триггер 98 устанавливается микропрограммой канала после успешной начальной выборки устройства ввода-вывода сигналом в линии 104 на шинах 24 канала, когда устройство ввода-вывода в ответ на команду от канала присылает нулевой байт состояния и сбрасывается сигналом в линии 105 на шинах 24, когда завершена передача данных и устройство ввода-вывода присылает конечный байт состояния. Триггер 98 разрешает обмен данными между каналом 1 и устройством ввода-вывода посредством включения команды записи или считывания в линии 106 или 107 через элементы И 101 или 102. Триггер 99 загружается третьим разрядом нулевого байта блока локальной памяти 5 на шинах 25 по управляющему сигналу в линии 66 на шинах 24. Триггер 99 запрещает запись в оперативную память байтов данных, считываемых из устройства ввода-вывода.

Регистр 15 масок (фиг.5) содержит триггеры 108-115 масок соответственно нулевого-седьмого байтов регистра 8, элементы И 116-124, элемент ИЛИ-НЕ 125. Триггеры 108-115 масок устанавливаются по сигналу 165 загрузки байта на шинах 38 из блока 14 буферной памяти в регистр 8 в момент действия второго синхросигнала 167 канала на шинах 38 в зависимости от содержимого младшего адреса в блоке 11. Регистр 15 масок сбрасывается сигналом 37 записи в оперативную память 6 из блока 3 микропрограммного управления. В регистре 15 формируется через элемент И 124 на шину 40 сигнал полного слова в регистре 8.

Второй блок 12 младшего адреса (фиг.6) содержит счетчик 126 и дешифратор 127 и загружается по входу 25 младшими разрядами третьего байта слова локальной памяти 5 по управляющему сигналу в линии 128 на шинах 24. Добавление (вычитание) "1" в счетчик 126 происходит по сигналам на шине 34. Выходы 129-136 дешифратора 127 подаются по шине 35 на вход мультиплексора 20.

Первый блок 11 младшего адреса выполнен аналогично второму блоку 12 младшего адреса, только добавление и вычитание "1" в первом блоке 11 происходит по шине 38 и выход по шине 33 управляет регистрами 8 и 15.

Регистр 8 данных (фиг.7) выполнен на мультиплексорах 137-139 с запоминанием и элементе И-ИЛИ-НЕ 140 и загружается по заднему фронту второго синхросигнала 167 канала на шинах 38 из блока 14 (шины 43) по управляющему сигналу 165 на шинах 38, если включен сигнал 33 (номер байта) блока 11, из регистра 9 по шинам 28 по управляющему сигналу на шине 31. На фиг.7 представлен только нулевой байт восьмибайтного регистра 8. Остальные байты регистр 8 идентичны нулевому.

Мультиплексор 20 (для нулевого байта) (фиг.7) содержит, например, четырехразрядные мультиплексоры 141-143 с тремя состояниями по выходу, элемент НЕ 144. Мультиплексоры 141-143 переключаются из третьего (высокоимпедансного) состояния сигналом в линии 129 на шинах 35 с выхода блока 12 через элемент НЕ 144. Одноименные выходы мультиплексоров 20 всех байтов (например, вторые разряды мультиплексоров нулевого-седьмого байтов) объединены между собой. Таким образом, посредством блока 12 выдается на шины 42 через мультиплексоры 20 один из байтов регистра 8.

Регистр 9 данных (фиг.8) построен на мультиплексорах 145-147 с запоминанием, элементе ИЛИ 148 и элементе И 149. Он загружается по переднему фронту второго синхросигнала канала на шинах 38 из регистра 8 (шины 36) по сигналу 37 записи в оперативную память и сигналу 108 маски на шинах 41, из оперативной памяти 6 (шины 30) по управляющему сигналу 29 приема данных из оперативной памяти. На фиг. 8 представлен только нулевой байт восьмибайтного регистра 9. Остальные байты регистра 9 идентичны нулевому.

Блок 17 выборки байтов (фиг. 9) содержит элемент НЕ 150, элементы И 151-155, ИЛИ 156-158, ИЛИ-НЕ 159, 160, И-НЕ 161, 162, шины 163-169.

Блок 19 контроля байтов (фиг.10) содержит триггер 170 задержки сигнала в линии 165 загрузки байта из блока 14 в регистр 8, триггер 171 ошибки данных в регистре 8, дешифратор 172 четности, элементы И 173-175, И-НЕ 176, ИЛИ 177, ИЛИ-НЕ 178, 179, линии 180-181 модификации младшего адреса в блоке 12 по шине 34, линию 182 шины 39 ошибки данных в регистре 8.

Блок 18 завершения выборки байтов (фиг.11) состоит из узла 183 формирования запроса данных, узла 184 формирования запроса состояния и узла 185 формирования признака полного слова. Узел 183 содержит триггеp 186 запроса данных, триггер 187 ненулевой маски слова и коммутатор сигналов запроса данных, включающий элементы И-НЕ 188, 189, И 190-198, ИЛИ 199, 200. Узел 184 представляет собой коммутатор сигналов состояния, выполненный из элементов И 201-203, ИЛИ 204. Узел 185 содержит триггер 205 полного слова, элементы И 206, ИЛИ 207. Блок имеет линии 208-210, которые входят в состав шины 32.

Блок 16 управления интерфейсом (фиг.12) содержит триггеры 211-218, элемент 219 сравнения двух чисел, элементы И 220-224, ИЛИ 225-227, И-ИЛИ 228, линии 229-232 шины 48. Сигнал в линии 233 на шинах 49 устанавливает триггер 211 или 214 для операций считывания или записи, сигнал в линии 234 на шинах 39 устанавливает триггер 218.

На фиг.13 и 14 приняты следующие обозначения: С1, С2 тактовые синхросигналы соответственно первый, второй серии канала. Справа на фиг.13, 14 указаны позиции линий, шин и триггеров, взаимодействующих с сигналами, приведенными в левой стороне фиг.13, 14.

Селекторный канал 1 работает следующим образом.

Машинный такт процессора, в который входит предлагаемый канал, состоит из первого-четвертого тактовых синхросигналов (СИ1, СИ2, СИ3, СИ4) длительностью каждый, например, 40 нс. Длительность такта равна 320 нс.

Для увеличения быстродействия работы канала 1 на этапе передачи данных такт канала 1 выбран длительностью 160 нс, т.е. в 2 раза меньше длительности машинного такта процессора. С этой целью в блоке 17 по шинам 24 через элемент ИЛИ 156 из первого, третьего синхросигнала (СИ1, СИ3) формируется первый синхросигнал в линию 166 (С1), а через элемент ИЛИ 157 из второго, четвертого синхросигнала (СИ2, СИ4) второй синхросигнал в линию 167 (С2), которые по шинам 38 поступают в блоки канала 1.

Операция записи. После загрузки управляющей информации в канал 1 и успешной начальной выборки устройства ввода-вывода микропрограммой канала по сигналу в линии 104 на шинах 24 устанавливается триггер 98 операции данных и одновременно в блоке 18 через элемент И-НЕ 189 устанавливается триггер 186 запроса данных. Запрос данных по шине 32 поступает в процессор 2, где вызывается микропрограмма передачи данных канала для операций записи, которая выполняет следующие действия: чтение адреса данных из локальной памяти 5 в блок 7 и на вход арифметико-логического устройства 4, модификацию адреса данных на "+8" через устройство 4 и запись его в локальную память 5 (в этом же такте запускается блок 7 для чтения данных из оперативной памяти 6 в регистр 9 по сигналу 26 считывания и из оперативной памяти).

Когда данные из оперативной памяти 6 прочитаны, блок 7 выдает в канал сигнал 29 приема данных, по которому из оперативной памяти в регистр 9 принимается полное слово с шин 30 и сигнал 27 конца считывания данных из оперативной памяти, по которому устанавливается триггер 21.

Установленный триггер 186 запроса данных позволяет повторно вызвать микропрограмму передачи данных канала, во время выполнения которой по сигналу 26 считывания из оперативной памяти 6 и установленному триггеру 21 через элемент И 23 вырабатывается сигнал 31, по которому принимаются данные по шинам 28 из регистра 9 в регистр 8 и сбрасываются триггеры 21, 186 и тем самым включается в работу блок 17 сигналом 208 шины 32, который работает на фоне считывания данных из оперативной памяти.

В блоке 17, если блок 14 буферной памяти не полный (сигнал 93), через элемент И 151 выдается сигнал в линию 163 на шину 38 загрузки байта данных в блок 14 из регистра 8. Соответствующий байт регистра 8 через мультиплексор 20 передается в блок 14. В конце такта передачи счетчик байтов (блок 10) модифицируется на "-1" по сигналу 164 на шине 38, счетчики в блоках 11, 12 и 14 модифицируются на "+1" по сигналам 168, 180 и 163 соответственно. В следующем такте канала по синхросигналу 167 шин 38, если блок буферной памяти не полный, предыдущие действия повторяются, и следующий байт данных передается из регистра 8 в блок 14. Когда состояние счетчика блока 11 достигнет границы слова (младшие разряды адреса 111), в момент передачи последнего байта из регистра 8 седьмого (байт) через элемент И 193 блока 18 устанавливается триггер 186 и вызывается микропрограмма передачи данных, в которой данные из регистра 9 загружаются в регистр 8, сбрасываются триггеры 186 и 21 по сигналу 31, после чего опять включается блок 17, новые данные из памяти 6 читаются в регистр 9 и действия, описанные выше, повторяются.

Начало временной диаграммы на фиг.13 соответствует моменту, когда в блоке 14 находится четыре байта данных предыдущего слова данных и очередное слово данных передается из регистра 9 в регистр 8. Во втором такте канала производится загрузка слова (байт "0") в блок 14 из регистра 8. Если в момент передачи последнего байта регистра 8 (байт "7") содержимое счетчика блока 10 равно "1", то по шине 45 сигналом 67 блокируется установка триггера 186 через элемент И 193 в блоке 18. Если содержимое счетчика блока 10 после очередной выборки байта из регистра 8 достигает нуля, сигналом 68 шины 45 через элемент ИЛИ-НЕ 159 блок 17 выключается из работы. Таким образом, байты данных, считанные из оперативной памяти 6, накапливаются в блоке 14, откуда выдаются на устройство ввода-вывода. Когда устройство ввода-вывода требует очередной байт данных, оно устанавливает в линию 233 шины 49 сигнал информации от абонента, поступающий в блок 16. Если блок 14 не пустой (сигнал 95 шины 47), то через элемент И 223 по заднему фронту синхросигналов из линии 166 (С1) или 167 (С2) через элемент ИЛИ 226 устанавливается триггер 214 информации от канала и через элемент ИЛИ 227 по шине 50 выдается сигнал информации от канала. При этом байт данных, запомненный в выходном регистре 78 из буферной памяти 73 по управляющему сигналу в линии 231 шины 48, хранится на время действия триггера 214 информации от канала, по единичному состоянию которого и синхроимпульсу в линии 166 шины 38 устанавливается триггер 215, по которому через линию 232 шины 48 вычитается "1" из счетчиков блока 14 по заднему фронту синхросигнала 167 (С2) шины 38, т.е. очередной байт данных считывается из буферной памяти 73. По установленному триггеру 215 по заднему фронту второго синхросигнала в линии 167 (С2) на шине 38 устанавливается триггер 216, который сбрасывает триггер 215. Устройство ввода-вывода принимает байт с шин 51 и снимает сигнал в линии 233, указывая каналу, что байт данных принят. В канале 1 через элемент ИЛИ 224 по синхросигналу 166 или 167 сбрасывается триггер 214, по которому сбрасывается триггер 216. Если устройство запрашивает очередной байт данных, предыдущие действия повторяются.

Операция передачи данных по интерфейсу ввода-вывода обычно заканчивается, когда содержимое счетчика блока 10 достигает нуля и все байты данных из блока 14 переданы в устройство ввода-вывода. В этом случае по шинам 45 (68), 47 (94) через элемент И-ИЛИ 228 по заднему фронту второго синхросигнала в линии 167 (С2) на шинах 38 устанавливается триггер 217 конца операции, который блокирует установку триггера 214 информации от канала через элемент И 223. В ответ на сигнал информации от абонента выдается сигнал управления от канала 1 (на фиг.12 не показан), что является признаком останова для устройства ввода-вывода. Устройство ввода-вывода на этом заканчивает обмен данными и принимает по линии 234 шин 49 сигнал управления от абонента, по которому в канале 1 устанавливается триггер 218, сигнал с выхода которого по шине 46 поступает в блок 18, где через элемент И 203 в линию 209 выдается запрос обслуживания состояния, который вызывает в процессоре 2 выполнение микропрограммы обслуживания состояния устройства ввода-вывода.

Операция считывания. Операция считывания с устройства ввода-вывода начинается после загрузки управляющей информации в канал 1 и успешной начальной выборки устройства ввода-вывода, когда микропрограммой канала по сигналу в линии 104 на шинах 24 устанавливается триггер 98 операции данных в регистре 13 команд. Устройство ввода-вывода помещает на шины 52 байт данных и устанавливает в линии 233 сигнал информации от абонента, что приводит к установке в блоке 16 триггера 211 информации от абонента по заднему фpонту синхросигналов в линии 166 (С1) или в линии 167 (С2) на шинах 38 (фиг.12, 14). Если блока 14 не полный (сигнал 93 шины 47), то через элемент И 221 устанавливается по заднему фронту синхросигнала С1 или С2 с элемента ИЛИ 226 триггер 212, по которому устанавливается триггер 213 информации от канала и через элемент ИЛИ 227 выдается сигнал информации от канала. При этом байт длинных, принятый во входной регистр 77 с шин 52 по управляющему сигналу в линии 229 шин 48, хранится на время действия триггер 213 информации от канала. По сигналу с выхода триггера 212 в линии 230 шин 48 байт данных принимается в блок 14 буферной памяти из регистра 77 и добавляется "1" в счетчики блока 14 через элементы И-НЕ 83, 86 в момент действия синхросигнала в линии 167 (С2). По установленному триггеру 213 сбрасывается триггер 211, а через элемент И 222 сбрасывается триггер 212 по заднему фронту второго синхросигнала в линии 167 (С2). После выдачи сигнала информации от канала по шинам 50 устройство ввода-вывода снимает сигнал с лини 233, что приводит к сбросу триггера 213. Все последующие байты с шин 52 принимаются аналогично.

Как только первый байт данных принят в блок 14 буферной памяти, включается в работу блок 17. Сигналом в линии 95 через элемент И 152 выдается сигнал в линию 165 для загрузки регистра 8 из блока 14 буферной памяти. Байт данных принимается в соответствующий байт регистра 8 (согласно состоянию блока 11), устанавливается в регистре 15 триггер маски соответствующего байта регистра 8. В конце такта загрузки по шине 38 производится вычитание "1" из блока 10, модификация на "1" счетчика блока 11 (на +1 для операций считывания по сигналу 168 шины 38, на -1 для операций обратного считывания по сигналу 169 шины 38), производится вычитание "1" из счетчика 74 через элемент И-НЕ 84 и добавление "1" в счетчик 75 через элемент И-НЕ 85 по сигналу в линии 165, эти действия синхронизируются вторым синхросигналом в линии 167 (С2). При загрузке хотя бы одного байта в регистр 8 всегда устанавливается триггер 187 через элемент И 198 в блоке 18. При последующих загрузках байтов данных с шин 52 описанные действия повторяются.

Блок 18 выключает блок 17 и формирует запрос данных для выполнения микропрограммы передачи данных в следующих случаях: когда в процессе выборки байтов достигается граница слова в регистре 8, в этом случае для команды считывания устанавливается триггер 186 через элемент И 191, а для команды обратного считывания через элемент И 190; когда выбирается последний байт из блока 14, то по шине 45 через элемент И 192 устанавливается триггер 186. Когда с устройства ввода считывается блок данных длиной меньшей, чем указано в счетчиках 53 -- 56 блока 10, в этом случае устройство ввода-вывода вместо сигнала на линии 233 присылает сигнал на линии 234, который устанавливает триггер 218, сигнал с выхода которого по шине 46 поступает в блок 18, и если условия, описанные в первом случае, не соблюдаются, то после выборки всех байтов данных из блока 14 в регистр 8 сигналом в линии 94 (пустой буфер) через элемент И 194 устанавливается триггер 186 запроса данных. Сигнал запроса состояния в линии 209 блокируется по сигналу на шинах 46 на элементах И 201, 202 низким уровнем сигнала с нулевого выхода триггера 187.

Запрос данных (сигнал 208) по шине 32 поступает в процессор 2, где вызывается микропрограмма передачи данных канала для операций считывания полного слова, которая выполняет следующие действия: чтение адреса данных из локальной памяти 5 в блок 7 и на вход арифметико-логического устройства 4, модификацию адреса данных соответственно на +8 или -8 через устройство 4 и запись его в локальную память. В этом же такте в канале 1 передаются данные из регистра 8 в регистр 9 по маске слова в регистре 15, а также запускается блок 7 для записи данных из регистра 9 по шинам 28 в оперативную память 6 по сигналу 37 записи в оперативную память.

Также в канале по сигналу 37 записи в оперативную память сбрасываются регистр 15 масок, триггер 205 и через элемент И 196 триггеры 186, 187 вторым синхросигналом по линии 167 (С2), тем самым включая в работу блок 17.

Прямое и обратное считывание неполного слова отличается тем, что оно выполняется как микропрограмма передачи данных для операций записи, за исключением того, что адрес данных не модифицируется, а сигналом 27 конца считывания данных из оперативной памяти через элемент И 206 устанавливается триггер 205 полного слова, триггеры 186 и 187 не сбрасываются. Это дает возможность в последующем войти в микропрограмму передачи данных полного слова и выполнить ее как описано выше.

Операция передачи данных по интерфейсу ввода-вывода обычно заканчивается. Когда содержимое счетчика 74 в блоке 14 становится равным содержимому счетчиков 53-56 в блоке 10. В этом случае через элемент 219 сравнения устанавливается триггер 217 конца операции, который через элемент И 221 блокирует установку триггера 212. Дальнейшее действие на интерфейсе аналогичны действиям в операциях записи.

Сигнал запроса состояния в линии 209 вырабатывается по сигналу управления от абонента на шине 46 в блоке 18 через элемент И 202, если имеется сигнал равенства нуля счетчика байтов блока 10 в линии 68 и выключен триггер 187 ненулевой маски; через элемент И 201, если имеется сигнал пустого блока буферной памяти данных в линии 94 и выключен триггер 187 ненулевой маски.

При считывании байтов данных устройства ввода-вывода с блокировкой записи в оперативную память 6 установлен триггер 99 в регистре 13. Это вызывает блокировку установки триггера 186 через элемент И-НЕ 188. Микропрограмма передачи данных не выполняется, а все описанные в канале действия выполняются.

Начало временной диаграммы на фиг.14 соответствует моменту, когда в микропрограмме передачи данных разгружается регистр 8 в регистр 9, в блоке 14 накоплены четыре байта (байты "0"-"3").

Контроль выбираемых байтов осуществляется в блоке 19. При выполнении операции записи выбранный байт из регистра 8 поступает через мультиплексор 20 в блок 19 на дешифратор 172 четности и, если байт имеет неправильную четность, то через элементы ИЛИ 177, И 175 сигналом в линии 163 загрузки регистра 8 в блок 14 буферной памяти устанавливается триггер 171 ошибки по заднему фронту второго синхросигнала в линии 167 (С2).

При выполнении операции считывания по сигналу 165 из блока 14 байт загружается за один начальный такт в соответствующий байт регистр 8 по второму синхросигналу в линии 167 (С2) под управлением первого блока 11 младшего адреса, счетчик которого модифицируется в конце такта загрузки байта. Затем, чтобы проконтролировать загруженный байт в регистр 8, в следующем такте байт выбирается через мультиплексор 20 под управлением сигналов блока 12, задержанных на один такт относительно сигналов блока 11, с помощью сигнала 165, задержанного на один такт в триггере 170. Если байт имеет неправильную четность на дешифраторе 172, то устанавливается триггер 171 ошибки по заднему фронту второго синхросигнала (С2) и установленному триггеру 170 через элемент И 175.

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

Установка триггера 171 блокирует сигналом в линии 182 шин 39 передачу байтов данных и вызывает установку триггера 217 конца операции в блоке 16 управления интерфейсом.

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

На фиг.15 и 16 показаны соответственно диаграммы работы прототипа и предлагаемого селекторного канала, из которых видно, что введение второго регистра данных обеспечивает работу блока буферной памяти с первым регистром данных канала на фоне работы канала с оперативной памятью. Таким образом, предлагаемый селекторный канал имеет повышенное быстродействие при незначительных дополнительных аппаратурных затратах.

Формула изобретения

СЕЛЕКТОРНЫЙ КАНАЛ, содержащий блок буферной памяти, блок управления интерфейсом, блок подсчета байтов, регистр команд, блок выборки байтов, блок завершения выборки байтов, блок контроля байтов, регистр масок, первый регистр данных и мультиплексор, причем информационный вход мультиплексора подключен к выходу данных первого регистра данных, выход мультиплексора соединен с первыми входами данных блока контроля байтов и блока буферной памяти, первый выход которого соединен с первым входом данных первого регистра данных, первые управляющие входы загрузки и синхронизации которого и регистра масок, первые управляющие входы загрузки-разгрузки и синхронизации блока буферной памяти, блока завершения выборки байтов, блока контроля байтов, первые входы модификации блока подсчета байтов и первый вход синхронизации блока управления интерфесом подключены к выходу блока выборки байтов, второй выход ошибки блока контроля байтов соединен с первым входом блока выборки байтов и вторым входом блока управления интерфейсом, первый выход загрузки-разгрузки которого подключен к второму управляющему входу блока буферной памяти, выход состояния которого соединен с третьим входом блока управления интерфейсом и вторыми входами блока выборки байтов и блока завершения выборки байтов, третий вход которого соединен с первым выходом состояния регистра масок, второй вход которого соединен с вторым входом первого регистра данных и четвертым входом блока завершения выборки байтов, выход состояния блока подсчета байтов соединен с четвертым входом блока управления интерфейсом, третьим входом блока выборки байтов и пятым входом блока завершения выборки байтов, шестой вход управления абонента которого подключен к второму выходу блока управления интерфейсом, выход кода операции регистра команд соединен с пятым входом блока управления интерфейсом, четвертым входом блока выборки байтов, вторым входом блока контроля байтов, седьмым входом блока завершения выборки байтов и вместе с выходом блока завершения выборки байтов является управляющим выходом канала для связи с блоком микропрограммного управления процессора, второй информационный вход блока подсчета байтов соединен с первым информационным входом регистра команд и является информационным входом канала для связи с локальной памятью процессора, пятый синхровход блока выборки байтов соединен с первым входом загрузки регистра команд, третьим входом блока подсчета байтов, восьмым входом установки блока завершения выборки байтов и является управляющим входом канала для связи с блоком микропрограммного управления процессора, вторые вход и выход данных блока буферной памяти, шестой управляющий вход и третий управляющий выход блока управления интерфейсом являются информационно-управляющими входами и выходами канала для связи с устройствами ввода-вывода, вход кода операции записи в оперативную память которого является третьим входом регистра масок и соединен с десятым входом блока завершения выборки байтов, отличающийся тем, что в него введены второй регистр данных, первый и второй блоки младшего адреса, два элемента И и триггер, синхровход которого и синхровход второго регистра данных подключены к выходу блока выборки байтов, вход сброса запроса блока завершения выборки байтов соединен с K-входом триггера, с входом загрузки первого регистра данных и с выходом первого элемента И, первый вход которого соединен с выходом триггера, J-вход которого подключен к выходу второго элемента И, первый вход которого подключен к выходу регистра команд, второй вход второго элемента И соединен с девятым входом блока завершения выборки байтов, с входом сигнала приема данных из оперативной памяти второго регистра данных и является управляющим входом канала для связи с оперативной памятью, вход масок второго регистра данных подключен к второму выходу регистра масок, вход разрешения записи второго регистра данных соединен с третьим входом регистра масок, с вторым входом первого элемента И и является управляющим входом канала для связи с полем управления оперативной памятью блока микропрограммного управления процессора, первый вход данных второго регистра данных подключен к выходу данных первого регистра данных, выход второго регистра данных соединен с вторым входом данных первого регистра данных, выход и второй вход данных второго регистра данных являются информационным выходом и входом канала соответственно для связи с оперативной памятью, управляющий вход мультиплексора подключен к выходу второго блока младшего адреса, первые входы модификации первого и второго блоков младшего адреса соединены с первым входом модификации блока подсчета байтов и выходом блока контроля байтов соответственно, выход состояния первого блока младшего адреса подключен к второму входу регистра масок, вторые информационные входы первого и второго блоков младшего адреса соединены с вторым информационным входом блока подсчета байтов, третьи входы загрузки первого и второго блоков младшего адреса соединены с пятым синхровходом блока выборки байтов.

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11, Рисунок 12, Рисунок 13, Рисунок 14, Рисунок 15, Рисунок 16



 

Похожие патенты:

Изобретение относится к автоматике и вычислительной технике и может быть использовано при реализации технических средств параллельной обработки информации

Изобретение относится к области вычислительной техники и может быть использовано в локальных вычислительных сетях в качестве системы обмена данными между локальными станциями сети и системами (процессорами) высшего уровня каждой локальной станции, Цель изобретения - повышение оперативности обмена информацией

Изобретение относится к вычислительной технике и может быть использовано для управления обменом информацией между каналами Ввода-вывода и периферийными устройствами

Изобретение относится к вычислительной технике и может быть использовано в автоматизированных системах управления технологическими и производственными процессами для рассредоточенных объектов

Изобретение относится к вычислительной технике и может быть использовано для вывода информации из ЭВМ на периферийf 2 ные устройства

Изобретение относится к вычислительной технике и может быть использовано в локальных вычислительных сетях в качестве устройства для обмена данными между локальными станциями сети и вычислительными средствами каждой локальной станции

Изобретение относится к вычислительной технике и может быть использовано при проектировании локальных сетей ЭВМ и мультипроцессорных вычислительных систем

Изобретение относится к вычислительной технике, может быть использовано в вычислительных комплексах и является усовершенствованием известного селекторного канала по авт

Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах для управления обменом большого количества внешних устройств в режиме прямого доступа к памяти

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

Изобретение относится к системе игровых устройств

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

Изобретение относится к компьютерной технике и может быть использовано в качестве оборудования удаленного доступа к сетям передачи данных с целью управления ПК клиента для обслуживания и ремонта ПК клиента

Изобретение относится к области обмена данными между генератором и потребителем

Группа изобретений относится к обработке операций ввода-вывода. Технический результат заключается в упрощении обработки указанных операций. В способе генерируют в канальной подсистеме компьютерной хост-системы по меньшей мере одно командное сообщение, содержащее одно или несколько командных слов устройств (КСУ), при этом по меньшей мере одно КСУ из одного или нескольких КСУ содержит индикатор подавления длины (ИПД), сконфигурированный на то, чтобы указывать устройству управления, следует ли продолжать осуществление операции ввода-вывода при обнаружении устройством управления несоответствия счета данных требуемому объему данных; прием значения неправильной длины (НД), при этом значением неправильной длины является первое значение НД, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных; и в ответ на прием значения НД от устройства управления - сохранение индикатора НД в слове состояния подканала. 3 н. и 22 з.п. ф-лы, 23 ил.

Изобретение относится к области вспомогательных запоминающих устройств вычислительной среды. Техническим результатом является повышение эффективности управления вспомогательными запоминающими устройствами. Раскрыт способ выполнения команды запуска субканала в вычислительной среде, содержащей основное запоминающее устройство и твердотельное запоминающее устройство, при этом указанный способ включает: с учетом определения того, что субканал, идентифицированный командой запуска субканала, является субканалом перемещения асинхронных данных (ADM), выполнение: получения блока запроса операции из основного запоминающего устройства, при этом блок запроса операции содержит адрес блока операции; получения блока операции из основного запоминающего устройства на основании адреса блока операции, при этом блок операции состоит из блока запроса, блока ответа и одного или более блоков (MSB) спецификации первого перемещения, причем блок запроса содержит поле счетчика MSB, содержащее значение, указывающее число одного или более блоков MSB, которые блок операции содержит и на которые ссылается, причем блок ответа сконфигурирован содержать условия исключительных ситуаций, причем каждый блок спецификации перемещения сконфигурирован содержать поле кода операции, поле счетчика блоков, поле адреса основного запоминающего устройства для адресации основного запоминающего устройства, поле адреса твердотельного запоминающего устройства для адресации твердотельного запоминающего устройства, поле размера блока и поле флагов; получения блока спецификации перемещения из одного или более блоков спецификации перемещения; определения на основании кода операции в полученном блоке спецификации перемещения операции, которую полученный блок спецификации перемещения сконфигурирован выполнять на блоках твердотельного запоминающего устройства; на основании блока спецификации перемещения запуска операции на блоках твердотельного запоминающего устройства, связанных с адресом твердотельного запоминающего устройства поля адреса твердотельного запоминающего устройства; и с учетом, по меньшей мере, запуска операции и обнаружения условия исключительной ситуации сохранения информации в блоке ответа, причем блок ответа содержит поле флагов исключительной ситуации, поле достоверности поля, поле неверного адреса MSB, поле неверного адреса косвенного адресного слова данных (AIDAW), поле неверного адреса основного запоминающего устройства и поле неверного адреса твердотельного запоминающего устройства, при этом информация касается одной или более исключительных ситуаций, являющихся результатом операции, причем одна или более исключительных ситуаций относятся по меньшей мере к одному из: основному запоминающему устройству, связанному с адресом основного запоминающего устройства из поля адреса основного запоминающего устройства; твердотельному запоминающему устройству, связанному с адресом твердотельного запоминающего устройства из поля адреса твердотельного запоминающего устройства; или полученного блока спецификации перемещения, причем информация содержит признак исключительной ситуации и дополнительную информацию, относящуюся к исключительной ситуации, при этом дополнительная информация определяет одну или более исключительных ситуаций адресации. 2 н. и 6 з.п. ф-лы, 45 ил.
Наверх