Устройство для сопряжения каналов ввода-вывода с оперативной памятью
Изобретение относится к вычислительной технике, в частности к устройствам , состоящим из некоторого числа каналов ввода-вывода и устрой26 ства управления, обслуживающего в режиме разделения времени эти каналы , причем каналы могут быть автономными либо встроенными.. Целью изобретения является повьппение достоверности передачи информации. Устройство содержит коммутатор 1 данных,коммутатор 2 номера байта, блок 3 приоритета запросов, блок 4 формирования маски, коммутатор 5 адреса, коммутатор 6 кода операции, блок 7 сумматоров по модулю два, коммутатор 8 перекомпоновки маски, блок 9 формирования кода модификации, блок 10 преобразования кода маски в код модификации , блок 11 сравнения. 1 з.п. ф-лы, 6 ил. 28 27 а (Л 10 Го Фиг.1
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН
22 А2 (19) (11) (51)4 G 06 F 13 00
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К ABTOPCKOMY СВИДЕТЕЛЬСТВУ
6 ил.
2В 27
Ъ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (61) 129961 (21) 4023641/24-24 . (22) 18.02.86 (46) 07.07.87. Бюл. ))" 25 (72) В.В.Карпейчик, Н.Б.Егорова, В.И.Пронин и Б.В.Песин (53) 681.325(088.8) (56) Авторское свидетельство СССР
М - 129961, кл. G 06 F 13/00, 1985. (54) УСТРОЙСТВО ДЛЯ СОПРЯЖЕНИЯ КАНАЛОВ ВВОДА-ВЪ|ВОДА С ОПЕРАТИВНОЙ ПАМЯТЬЮ (57) Изобретение относится к вычислительной технике, в частности к устройствам, состоящим иэ некоторого числа каналов ввода-вывода и устройства управления, обслуживающего в режиме разделения времени эти каналы, причем каналы могут быть автономными либо встроенными. Целью изобретения является повышение достоверности передачи информации. Устройство содержит коммутатор 1 данных коммутатор 2 номера байта, блок 3 приоритета запросов, блок 4 формирования маски, коммутатор 5 адреса, коммутатор 6 кода операции, блок 7 сумматоров по модулю два, коммутатор 8 перекомпоновки маски, блок 9 формирования кода модификации, блок 10 преобразования кода маски в код модификации, блок 11 сравнения. 1 э.п. ф-лы, 13222
Изобретение относится к вычислительной технике,в частности к устройствам, состоящим из некоторого числа каналов ввода-вывода и устройства управления, обслуживающего в режиме разделения времени эти каналы, причем каналы могут быть автономными либо встроенными, и является усовершенствованием известного устройства по авт. св. Ф 129961. 10
Целью изобретения является повышение достоверности передачи информации .
На фиг. 1 приведена структурная схема устройства сопряжения каналов ввода-вывода с оперативной памятью, на фиг. 2 — функциональная схема блока формирования кода модификации; на фиг. 3 — функциональная схема блока формирования маски; на фиг. 4 — струк-20 турная схема коммутатора перекомпоновки разрядов; на фиг. 5 — структурная схема блока сумматоров по модулю два; на фиг. 6 — функциональная схема блока преобразования кода маски в код модификации.
Устройство для сопряжения каналов ввода-вывода с оперативной памятью (фиг. 1) содержит коммутатор 1 данных, коммутатор 2 номера байта, блок З0
3 приоритета запросов, блок 4 формирования маски, коммутатор 5 адреса, коммутатор 6 кода операции, блок 7 сумматоров по модулю два, коммутатор
8 перекомпоновки маски, блок 9 фор- 35 мирования кода модификации, блок 10 преобразования кода маски в код модификации, блок 11 сравнения, канал 12 содержащий регистр 13 данных счетчик
14 байтов, блок 15 выдачи запросов, 40 регистр 16 адреса данных, регистр 17 кода операции.
Кроме того, устройство содержит вход 18 данных, вход 19 номера байта, 45 вход 20 запросов, вход 21 адреса, вход 22 кода операции, выход 23 данных, выход 24 запроса, адресный выход
25, выход 26 маски, выход 27 кода модификации, выход 28 ошибки устрой- 50 ства, 98 2 ры 41-48 разрядов маски, элементы
ИЛИ 49-54.
Коммутатор перекомпановки маски (фиг. 4) содержит коммутатор 55.
Блок сумматоров по модулю два (фиг. 5) содержит группу сумматоров
56 по модулю два.
Блок 10 (фиг. 6) содержит шифратор
57 приоритета, мультиплексоры 58 и
59, сумматоры 60-66 по модулю, элемент И 67.
На фиг. 2-6 обозначены: связи 6871 от коммутатора 2 к блоку 9 формирования кода модификации, связи 7275 блока 9 формирования кода модификации, связи 76-8 1 дешифратора 40; связи 82-89 блока 4 формирования маски, связи 90-92 от коммутатора адресу 5 к блоку 7 сумматоров по модулю два, связи 93-95 от блока 7 к блокам
4 и 9, связи 96-103 от коммутатора 8 перекомпоновки маски к блоку 10 связи 104-107 от блока 10 к блоку 11 сравнения.
Коммутатор 1 данных предназначен для передачи данных иэ регистра 13 данных выбранного канала на выход
23 данных устройства.
Коммутатор 2 номера байта предназначен для передачи значения младших разрядов счета данных иэ счетчика
14 байтов выбранного канала в блок 4 формирования маски и блок 9 формирования кода модификации.
Блок 3 приоритета запросов на передачу данных служит для того, чтобы по запросам на передачу данных, поступившим от блоков 15 выдачи запросов каналов ввода вывода, определить номер наиболее приоритетного канала, требующего обмена данными с оперативной памятью (ОП). Этот номер используется для управления коммататорами
1, 2, 5 и 6. Блок 3 также выдает запрос на обмен данными с ОП на выход
24 запроса устройства.
Блок 4 формирования маски предназначен для получения маски записи в
ОП по младшим разрядам адреса данных и младшим разрядам счета данных иэ счетчика 14 байтов.
Блок формирования кода модификации (фиг. 2) содержит первый дешифратор
29, второй дешифратор 30, шифратор
31 приоритета, элементы ИЛИ 32-38, элемент И 39.
Блок формирования маски (фиг. 3) содержит дешифратор 40, мультиплексоКоммутатор 5 адреса предназначен для выдачи на выход 25 в ОП адреса данных, поступающего иэ регистра 16 адреса выбранного канала. Младшие разряды адреса данных с коммутатора
5 используются для формирования мас1322?98 ки и кола Moзифньации н блоках 4 н 9 соответственно.
Одноразрядный коммутатор 6 кода операции предназначен для передачи разряда кода операции из регистра 17 кода операции канала на соответствующие входы блока 7 сумматоров по модулю дна и коммутатора 8 перекомпоновки маски. Разряд кода операции определяет операцию, выполняемую каналом,fO следующим образом: Π— операция
"Чтение" или "Запись"; 1 — операция
"Обратное чтение".
Коммутаторы 1, 2, 5 и 6 выполнены на мультиплексорах, на адресные входы 15 которых поступает номер выбранного канала от блока 3 приоритета запросов. Этот номер задает передачу через мультиплексор на его выход информации от нужного канала. m
Блок 7 сумматоров по модулю два служит для получения инвертированных младших разрядов адреса данных для операции "Обратное чтение", выполняемой каналом, н пеоепачи без 25 инвертирования через блок младШих разрядов адреса данных в случае операции "Чтение" или операции "Запись".
Коммутатор 8 перекомпоновки маски служит для перестановки, в случае one- 30 рации "Обратное чтение", разрядов маски записи в ОП, полученной в блоке
4 формирования маски. Коммутатор 8 передает на выход маски 26 устройства либо непосредственно маску, сформированную блоком 4 (в случае операций "Чтение" и "Запись" ), либо маску с перекомпонованными разрядами (в случае операции "Обратное чтение").
Блок 9 формирования кода модифи- ) кации предназначен для получения (по младшим разрядам адреса данных и счета данных) кода модификации, определяющего количество байтов, передаваемое в слове обмена с ОП, и выда gg чи полученного кода на выход 27 устройства.
Блок 10 служит для получения кода модификации из маски, сформированной устройством. Этот код модификации в 5О блоке 11 сравнения поразрядно сравнивается с кодом модификации, выработанным блоком 9.
Устройство работает следующим об- 5 разом.
Перед началом выполнения операции, требующей обмена данными, производится,загрузка в канал 12 управляющей информации, необходимой для обмена.
В каналах ЭВМ единой системы (ГС) такая информация хранится в командном слове канала (КСК), в котором задаются: код команды, которую должно выполнять периферийное устройство (ПФУ); начальный адрес байта ОП,с которого должен начаться обмен, начальное значение счетчика того количества байтов данных, которое передается под управлением текущего КСК.
Код команды из КСК при этом задает каналу выполнение одной из следующих трех операций передачи данных:
"Запись" — операция вывода данных из ОП в ПФУ, при которой адрес байта данных в ходе операции увеличивается, а значение счетчика данных уменьшается в ходе операции на количество передаваемых байтов (код модификации), "Чтение" — операция ввода данных из ПФУ в ОП, при которой адрес данных увеличивается, а значение счетчика данных уменьшается в ходе операции на величину кода модификации;
"Обратное чтение" — операция ввода данных из ПФУ в ОП, при которой адрес данных и значение счетчика данных в ходе операции уменьшаются на код модификации.
При начальной загрузке информации иэ КСК в канал 12 код операции передачи данных, выполняемой каналом, помещается в регистр 17 кода операции, начальный адрес данных — в регистр
16 адреса данных, начальное значение счетчика данных †в счетчик 14 байтов.
Одновременно с занесением адреса данных в регистр 16 адреса данных младшие разряды адреса данных, указывающие номер байта в слове, заносятся в счетчик номера байта (не показан) .
Количество таких разрядов определяется длиной слова ОП и при восьмибайтном слове ОП этих разрядов — три.
Затеи начинается передача данных.
В операции "Чтение" данные из ПФУ последовательно байта эа байтом принимаются в канал и непосредственно с
1 шин интерфейса либо через буфер данных в канале передаются в регистр 13 данных. Данные размещаются в регистре
13 под управлением счетчика номера байта, содержимое которого после принятия байта данных увеличивается на единицу, подготавливая прием следующего байта, Регистр 13 имеет размер слова обмена с ОП. После заполнения
1322298 последнего байта регистра 13 либо приема последнего байта массива блок
15 выдачи запросов вырабатывает запрос на обращение к ОП. Сигнал запроса поступает со входа 20 устройства в блок 3 приоритета запросов. Блок
3 формирует сигнал запроса на обмен, поступающий на выход 24 устройства, По этому сигналу ОП подготавливается к обмену данными, а в случае встроен- 1О ных каналов по нему к обмену данными готовится и процессор. Блоком 3 также вырабатывается адрес наиболее приоритетного канала, затребовавшего передачу данных. Этот адрес поступает на 15 управляющие входы коммутаторов-!, 2, 5 и 6. На выходы коммутаторов передается информация от выбранного канала. Через коммутатор 1 данных на выход 23 устройства в ОП выдается . 20 слово данных из регистра 13. Через коммутатор 5 адреса на выход 25 устройства в ОП выдается из регистра 16 адреса адрес слова, по которому должны быть записаны данные. Три младших 2э разряда адреса данных подаются на вход блока 7 сумматоров по модулю два посредством связей 90-92.
Через одноразрядный коммутатор 6 кода операции на управляющие входы 30 блока 7 и коммутатора 8 перекомпоновки подается потенциал, формируемый по содержимому регистра 17 кода операции.
При этом 0 означает, что выполняется операция "Чтение" или операция
"Запись", 1 — операция "Обратное чтение". Для операции Чтение", поступая в блоке 7 на входы сумматоров 40
56 по модулю два, нулевой уровень задает передачу младших разрядов адреса данных на вход блока 4 формирования маски и вход блока 9 формирования кода модификации (связи 93-95) без ин-4 вертирования. Поступая в блоке 8 на управляющий вход коммутатора 55 нулевой уровень задает передачу маски, сформированной блоком 4, на выход маски 26 устройства беэ перекомпоновки (старший разряд маски, полученный от блока 4 связью 89, передается в качестве разряда О маски, младший разряд маски, полученный связью 82, передается в качестве разряда 7 маски)..
Через коммутатор 2 номера байта на входы блоков 4 и 9 по связям 68-71
I поступают четыре разряда, отображающие значение счетчика 14 байтов. Нл связи 68-70 выдаются младшие разряды счетчика данных (по связи 68 вьдается самый младший разряд счета). На связь 71 выдается О в том случае, если все остальные старшие разряды счета данных нулевые и выдается 1 если в разрядах счета данных, исключая три младших бита, имеется хотя бы один бит, установленный в 1. Единичный сигнал на связи 71 означает, что значение счета данных в канале не меньше, чем 8 (комбинация 1000 ) .
Данные, записываемые в ОП, сопровождаются маской, задающей те байты в слове данных, которые должны замещать соответствующие байты слова, прочитанного из ОП.
Разрядность маски определяется количеством байтов в слове и для рассматриваемого примера реализации устройства равна восьми. Каждый разряд маски соответствует одному байту слова: разряд 0 — байту О, разряд 1 байту 1 и т.д. Если разряд маски содержит единицу, соответствующий байт слова данных записывается в ОП, если нуль — не записывается и в ОП сохраняется прежний байт. В частности, если маска содержит единицы во всех разрядах, в ОП пишется полное слово. Чаще всего запись в ОП производится полными словами, но если границы массива данных не совпадают с границами слов в ОП, первое и последнее слова массива не полные.
Маска записи в ОП вырабатывается блоком 4 формирования маски по значению младших разрядов адреса данных, полученному по связям 93-95 от блока
7, и значению разрядов счета данных, полученному по связям 68-71 от четырехразрядного коммутатора 2 номера байта. Маска образуется на выходах мультиплексоров 41-48 маски. С мульти-плексора 41 на связь 82 выдается младший разряд маски (разряд 7). С мультиплексора 48 на связь 89 выдается старший разряд маски (разряд О).
Младшие разряды адреса данных посредством связей 93-95 подаются на адресные входы мультиплексоров 4 1-48 (по связи 93 поступает младший из разрядов, по связи 95 — старший из разрядов). При этом разрешается передача информации со входов, выбираемых подаваемой адресной комбинацией, на выходы мультиплексоров. Так, при . комбинации 011, подаваемой на адресные входы А4, А2, А! мультиплексоров, 1322298 на выходы мультиплеесорон 4 1-48 будет передана информация со нходон Д3. На выходах мультиплексорон соответствующих разрядам с номерами, меньшими, чем носьмиричное число К, определяемое комбинацией, подаваемой на адресные входы А4, А2, А1, формируются нули за счет того, что на выбранные входы этих мультиплексоров подается уровень логического "О". На выходе муль- 1О типлексора разряда с номером К формируется "1", так как на выбранный вход этого мультиплексора подается уровень логической единицы — "1". Единица в этом разряде маски обусловле- 15 на тем, что счет данных перед передачей данных не может быть нулевым.
На выходах мультиплексоров, соответствующих разрядам с номерами, большими чем К, формируются значения, 20 обусловленные счетом данных.
Мпадшие разряды счета данных (восьмиричное число M) дешифруются н блоке 4 формирования маски дешифратором 40. Сигналы с выходов дешифрато- 25 ра 40, соответствующие счету данных от 2 до 7, поступают на элементы ИЛИ
49-54. На эти же элементы подается сигнал со связи 71, соответствующий счету данных большему, чем 7. Уро-30 вень единицы появляется на выходах: элемента ИЛИ 54 — при счете данных больше 1, элемента ИЛИ 53 — при счете больше 2, элемента ИЛИ 52 †п счете больше 3, элемента ИЛИ 51 — при счете больше 4, элемента ИЛИ 50— при счете больше 5, элемента ИЛИ 49 при счете больше 6. При счете данных большем, чем 7, уровни единицы появляются на выходах всех шести элемен- 4р тов ИЛИ 49-54, а также на нходе ДО мультиплексора 41 .благодаря наличию сигнала на связи 71. На выбранные входы мультиплексоров, соответствующих разрядам с номерами большими чем К, 45 подаются в порядке возрастания номеров разрядов сигналы с выходов элементов ИЛИ 54, 53 и т.д. соответственно.
В случае, если М меньше, чем количество разрядов с номерами большим,, чем К, то на выходах М разрядов маски, начиная с разряда с номером К, появляются единицы. Когда М больше или равно количеству разрядов с номерами большими К, единицы появляются на выходах мультиплексоров всех этих разрядов маски. Маска, полученная в блоке 4, передается на выход устройства 26 без перекомпононки разрядов.
Одновременно с получением маски блоком 9 формирования кода модификации по значению младших разрядов адреса данных, полученному от блока 7, и значению разрядов счета данных, полученному от коммутатора 2, вырабатывается код модификации. Код модификации выдается иэ блока 9 на выход 27 устройства и используется для модификации адреса данных и счета байтов. Эта модификация для встроенных каналов обычно выполняется н процессоре, для автономных каналов может выполняться н каналах.
В блоке 9 младшие разряды адреса данных со связей 93-95 подаются на информационные входы дешифратора 29, младшие разряды счета со связей 6870 подаются на информационные входы дешифратора 30. Управление дешифратором 30 производит разряд счета, поступающий по связи 71. При счете больше или равном 8 сигнал со связи 71 блокирует дешифратор 30 и код модификации формируется по младшим разрядам адреса данных (по сигналу с выхода дешифратора 29). При комбинации 111 на связях 94, 95 и 93 возбуждается выход Д7 дешифратора 29 единичный уровень подается через элемент ИЛИ
32 на вход Д1 шифратора 31. На связях
75, 74, 73, 72 формируется код модификации 0001. Подобным образом при подаче по связям 95, 94, 93 комбинации
1!О на выходах элемента И 39 и шифратора 31 (связи 75, 74, 73 и 72) формируется код 0010, при комбинации 101 код 0011, при комбинации 100 — код
0100, при комбинации 011 — код 0101, при комбинации 010 - код 0110, при комбинации 001 возбуждается выход ДО дешифратора 29 и формируется код модификации 1000.
При счете, меньшем чем 8 (сигнал на связи 71 нуленой) адресе данных, находящемся на границе слова (комбинация 000 на связях 95, 94 и 93) код модификации формируется по разрядам счета данных (по сигналу с возбужденного выхода дешифратора 30 счета). Комбинация 001 на связях 70, 69 и 68 вызывает возбуждение выхода Д1 дешифратора 30 и подачу единичного сигнала через элемент ИЛИ 32 на вход Д1 шифратора 31. На связях 75, 74, 73 и 72 формируется код модификации 0001. По1322298
in добным образом при подаче на связи
71, 79, 69, 68 комбинации 0010 на выходах элемента И 39 и шифратора 3 1 (связи 75, 74, 73, 72) формируется код
0010, при комбинации 0011 — кол 0011, 5 при комбинации 0100 — код 0100, при кбмбинации 0101 — код 0101, при комбинации 0110 — код 0100, при комбинации 0101 — код 0101, при комбинации
0110 — код 0110, при комбинации 0111 возбуждается выход Д7 дешифратора 30 и формируется код модификации 0111.
При счете, меньшем чем 8, и адресе данных не на границе слова на элементы ИЛИ 32-38 подан единичный сигнал с одного из выходов дешифратора 29 адреса и единичный сигнал с одного из выходов дешифратора 30 счета.
Зти единичные сигналы соответствуют получению кода модификации соответ- 20 ственно по адресу данных или счету данных. Единичные сигналы при этом могут быть поданы на два входа шифратора 31. Так как шифратор 31 формирует код для более приоритетного 25 входа, то на связях 72-74 появляется меньший из возможных двух кодов (кода, получаемого по адресу данных, и кода, получаемого по счету данных) .
Код модификации со связей 7?-75 вы- 30 дается на выход 27 устройства.
Маска записи, сформированная в устройстве, подается в блок 10 преобразования маски по связям 96-103. По связи 103 подается старший разряд маски (разряд О), по связи 96 — младший разряд маски (разряд 7). Блок 10 формирует по полученной маске код модификации, подаваемый по связям 104107 в блок 11 сравнения. При весов- 4р падении этого кода модификации с кодом полученным в блоке 9, блок 11 сравнения выдает на выход 28 устройства сигнал ошибки. По наличию этого сигнала в процессоре либо в канале, 45 выполняющем передачу данных, может быть зафиксирована ошибка формирования маски или кода модификации.
Преобразование маски в блоке 10 основано на том, что последовательность 5О единиц маски не может прерываться нулями при нормально сформированной маске. Блок 10 работает следующим образом.
Значение младшего разряда кода модификации, характеризующего четкость количества единиц маски, получается суммированием по модулю два значения всех разрялов маски сумматорами б066. Полученный бит выдается в качестве разряда (3) кода модификации на связь 104.
Разряды маски в блоке 10 подаются также на входы шифратора 57 приоритета. На наиболее приоритетный вход шифратора подается старший разряд маски, на вход наименьшего приоритета младший разряд маски. На выходах приоритетного шифратора образуется код номера старшего разряда маски, содержащего единицу.
Разряд (2) кода модификации, выдаваемый на связь 105, образуется на выходе мультиплексора 58. Значение этого разряда характеризует четность количества заполненных единицами пар разрядов маски и получается суммированием по модулю два четных либо нечетных разрядов маски. Суммирование значений четных разрядов маски выполняется сумматорами 60, 62 и 64 по модулю два, суммирование значений нечетных разрядов маски — сумматорами
61, 63 и 65. Выбор того, какая из сумм используется в качестве разряда (2) кода модификации производится мультиплексором 58 по значению младшего разряда кода, выработанного шифратором 57. Если номер старшего иэ разрядов маски, содержащих единицы четный, то на выход мультиплексора 58 выдается сумма значений нечетных разрядов маски, если нечетный — сумма значений четных разрядов.
Разряд (1) кода модификации, выдаваемый на связь 106, образуется на выходе мультиплексора 59. Значение этого разряда характеризует четность количества заполненных единицами групп иэ четырех разрядов маски. Эту четность определяет сумма по модулю два значений одной иэ четырех пар разрядов маски. В пары разряды маски группируются следующим образом: разряды (О) и (4); разряды (1) и (5); разряды (2) и (6); разряды (3) и (7) .
Суммирование значений разрядов пары производится соответственно сумматорами 60-63 по модулю два. Выбор того, какая иэ сумм используется в качестве разряда (1) кода модификации производится мультиплексором 59 по значению двух младших разрядов кода выработанного шифратором 57. Если но.— мер старшего из разрядов маски, содержащих единицы 000 или 100,, то на
1I 13222 выход мул ьтипл екс ора 59 выдается сумма разрядов (3) и (7), если номер
001 пли 101 — сумма разрядов (О) и (4), если номер 010 или 110 — сумма разрядов (1) и (5), если номер 011 или 111 — сумма разрядов (2) и (6).
Старший разряд (О) кода модификации, значение которого выдается на связь 107, вырабатывается элементом
И 67. Если значения старшего и млад- t0 шего разрядов маски (со связей 103 и 96 соотнетственно) равны 1, то маска содержит восемь единиц и значение старшего разряда кода модификации — 1.
При отсутствии ошибки формирования,5 маски и кода модификации после записи слова данных в ОП адрес данных унеличивается на величину кода модификации, а промодифицированное значение адреса данных помещается в ре- 20 гистр 16 На величину кода модификации также уменьшается значение счета данных, по которому формируется новое значение счетчика
14 байтов. В регистре 13 данных, на- 25 чиная с нулевого байта, формируется очередное слово. Обращение к памяти и связанные с ним действия повторяются после накопления в регистре 13 данных каждого очередного слова.Фор- 30 мирование маски и кода модификации контролируется при каждом обращении
1 к памяти. Если массив оканчивается не на границе слова, последнее слово неполное и соответствующая этому слову маска содержит нули в одном или нескольких младших разрядах.
В операции "Запись", когда необходимо прочитать из ОП слово данных, блок 15 выдачи запросов вырабатывает сигнал запроса на обращение к ОП, поступающий со входа 20 устройства в блок 3 приоритета запросов. Блоки в устройства при операции нЗапись работают точно также, как и при операции "Чтение". Код модификации, формируемый устройством на выходе 27, как и для нЧтения" служит для модификации адреса и счета данных. Маска, выдаваемая на выход 26, при чтении 50 из ОП не используется, а служит для целей контроля кода модификации.
Данные, принятые в канал 12 из
ОП, последовательно байт эа байтом выдаются в ПФУ непосредственно из регистра 13 данных либо через буфер данных в канале. Выдача данных в ПФУ может осуществляться под управлением
98 12 счетчика номера байта (не показан), указывающего номер того байта в слоне, который нужно выдать. После каждой выдачи байта в ПФУ содержимое счетчика номера байт увеличивается на единицу, подготавливая выдачу следующего байта.
Когда регистр 13 данных снободен, а значение счетчика 14 байтов ненулевое, блоком 15 выдачи запросов вырабатывается следующий запрос на обращение к ОП.
В случае операции Обратное чтение" отличие работы устройства.от его работы при операции "Чтение" заключается в инвертировании младших разрядов адреса данных до их подачи в блоки 4 и 9 и перекомпоновки разрядов маски, сформированной блоком 4, на коммутаторе 8 перекомпононки. Эти действия позволяют для операции "Обратное чтение", требующей уменьшения адреса данных, формиронать маску в блоке 4 и код модификации н блоке 9, точно таким же образом, как и для one рации Чтение .
При этом в блоке 7 уровень единицы, поступающий от коммутатора 6 кода операции на входы сумматоров 56 по модулю два, задает инвертирование младших разрядов адреса (со связей
90-92). Проинвертираванный адрес иэ блока 7 по связям 93-95 поступает в блок 4 формирования маски и блок 9 формирования кода модификации.
Биты маски, полученной в блоке 4 по принципу, изложенному для операции "Чтение", подаются на вход коммутатора 8 перекомпоновки. Уровень единицы, поступающий на управляющий вход коммутатора 55, задает перекомпоновку разрядов маски до ее выдачи на выход маски 26 устройства. Младший разряд маски от блока 4 со связи
82 передается через коммутатор 55 в качестве старшего разряда (О) маски.
Разряды маски со связей 83-88 передаются через коммутатор 55 в качестве разрядов (1)-(6) маски соответственно
Старший разряд маски от блока 4 со связи 89 передается через коммутатор
55 в качестве младшего разряда (7) маски.
Одновременно с маской по проинвертированным младшим разрядам адреса в блоке 9 формирования кода модификации получается код модификации, выдаваемый на выход 27 устройства. Код моди13
13222 фикации при этом получается по тому же принципу, что и для операции "Чтение".
Контроль маски и кода модификации выполняется точно также как и для операции "Чтение" °
Пример . Операция "Чтение".
Младшие разряды адреса данных равны
010> (соответственно для связей 92, 91, 90), значение счета данных 3, (00011 ) передается по линиям 7 1 70,10
69, 68 как 0011. В ОП пишется только одно слово данных.
Младшие разряды адреса данных проходят через блок 7 беэ инвертирования и подаются в блок 4 формирования мас-!5 ки и блок 9 формирования кода модификации. На связях 95, 94 и 93 комбинация 010. Этой комбинацией, поданной на адресные входы А4, А2, А1 мультиплексоров 4 1-48, разрешается переда- 20 ча через мультиплексоры информации со входов Д2. По коду 0011 со связей 71, 70, 69 и 68 возбуждается выход ДЗ дешифратора 40 (связь 80) и появляется
1 на выходах элементов ИЛИ 53, 54. 25
Через мультиплексоры 48 и 47 передается логический "0", через мультиплексор
46 — логическая "1", через мультиплексоры 45, 44 — уровни 1 соответственно от элементов ИЛИ 54 и 53,через мульти-30 плексоры 43, 42 и 41 — уровни 0 от элементов ИЛИ 52, 51 и 50 соответственно. На связях 89-82 выхода блока
4 оказывается сформированной маска
00111000 (разряды (О) — (7)), переда-35 ваемая без перекомпоновки на выход
26 устройства и в блок 10 преобразования маски.
В блоке 10 преобраэованиямаски по маске 00111000 (связи 103-96 соответственно), на выходах дешифратора
57 приоритета появляется код 010. На связи 104 (младший разряд кода модификации) сумматорами 60-66 по модулю два формируется 1. По нулю, поданному на адресный вход А1 мультиплексоров
58, разрешается передача через мультиплексор информации со входа ДО от сумматора 65 по модулю два. На выходе. сумматора 65 образуется 1 — сумма по модулю два нечетных разрядов маски (биты со связей 102, 100, 98 и 96).
Это значение выдается на связь 105 блока. По комбинации 10, поданной на адресные входы А2, А1 соответственно мультиплексора 59, разрешается передача через мультиплексор информации со входа Д2 от сумматора 61
98 l4 по модулю два. На выходе сумматора 61 образуется 0 — сумма по модулю два разрядов маски со связей 102 и 98..
Это значение появляется на связи 106 блока. На связи 107 блока появляется 0 с выхода элемента И 67. Код модификации, сформированный блоком 10 на связях 107, 106, 105, 104 и выдаваемый в блок 11 сравнения, равен
00112.
В блоке 9 формирования кода модификации по комбинации 010 со связей
95, 94 и 93 возбуждается выход Д2 дешифратора 29 и появляется 1 на выходе элемента ИЛИ 37. По коду 0011 со связей 71, 70, 69 и 68 возбуждается выход ДЗ дешифратора 30 и появляется 1 на выходе элемента ИЛИ 34. Шифратор 31 с учетом того, что его вход
ДЗ имеет приоритет более высокий, чем вход Д6 формирует на связях 74, 73 и 72 код 011. С учетом уровня 0 со связи 75 полученный на связях 7572 код модификации — 0011 . Этот код выдается на выход 27 устройства н в блок 11 сравнения.
В блоке 11 сравнения поразрядно сравниваются коды модификации, полученные от блоков 9 и 10. Так как они равны, то сигнал ошибки на выходе
28 устройства отсутствует.
Формула изобретения
1. Устройство для сопряжения каналов ввода-вывода с оперативной памятью по авт. св. Р 129961, о т л и ч а ю щ е е с я тем, что, с целью повьппения достоверности передачи информации, в него введены блок преобразования кода маски в код модификации и блок сравнения, причем выход блока сравнения является выходом ошибки устройства, при этом первый и второй информационные входы блока сравнения соединены соответственно с выходом блока формирования кода модификации и информационным выходом блока преобразования кода маски в код модификации, информационный вход которого соединен с выходом коммутатора перекомпоновки маски.
2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что блок преобразования кода маски в код модификации содержит шифратор приоритета, два мультиплексора, семь сумматоров, по модулю два и элемент И, причем первый, второй, третий, четвертый, 112Z2 8
1б
om пятый, шестой, седьмой и восьмой информационные входы шифратора приоритета образуют информационный вход блока преобразования маски, выход элемента И, информационные выходы первого и второго мультиплексоров, выход первого сумматора по модулю два образуют информационный выход блока преобразования маски, при этом в блоке преобразования маски первые входы 10 второго, третьего, четвертого и пятого сумматоров по модулю два соединены соответственно с первым, вторым, третьим и четвертым информационными входами шифратора приоритета, 15 пятый, шестой, седьмой и восьмой информационные входы которого соединены со вторыми входами соответственно второго, третьего, четвертого и пятого сумматоров по модулю два, пер-д) вый и второй входы элемента И соединены соответственно с первым и восьмым информационными входами шифратора приоритета, первый выход которого соединен с первым адресным входом пер-Г$ вого мультиплексора и адресным вхопo>1 второго мультиплексора, первый информационный вход которого соединен с выходом шестого сумматора по модулю два и первым входом первого сумматора по модулю два, второй вход которого соединен со вторым информационным входом второго мультиплексора и вл ходом седьмого сумматора по модулю два, первый вход которого соединен с выходом второго сумматора по модулю два и первым информационным входом первого мультиплексора, второй информационный вход которого соединен с выходом пятого сумматора по модулю два и первым входом шестого сумматора по модулю два, второй вход которого соединен с выходом третьего сумматора по модулю два и третьим информационным входом первого мультиплексора, четвертый информационный вход которого соединен с вторым входом седьмого сумматора по модулю два и выходом четвертого сумматора по модулю два, второй выход шифратора приоритета соединен с вторым адресным входом первого мультиплексора.
1322298
1322298 ояб
Фиа 4
0N от5
1322298
Составитель С.Пестмал
Редактор Г.Волкова Техред И.Попович Корректор С. Черни
Заказ 2866/46 Тираж 672 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4











