Устройство для обмена данными между группой каналов ввода вывода и оперативной памятью
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1280642
Авторы: Зильбергельд, Пронин, Пыхтин, Рымарчук, Хамелянский
Текст
(54) УСТРОЙСТВО ДЛЯ ОБМЕ ЮЖПУ ГРУППОЙ КАНАЛОВ ВВ И ОПЕРАТИВНОЙ ПАМЯТЬЮ (57) Изобретение относит вычислительной техники и ДАННЫМИ -ВЫВОДА к областижет быть ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТ(56) Авторское свидетельф 1190385, кл. С 06 Р 13 использовано при разработке процессоров, оборудование которых используется при передаче данных между каналами ввода-вывода и оперативной памятью или системах ввода-вывода. Целью изобретения является расширениефункциональных возможностей устройства за счет органиэации общего поляподканалов с целью гибкой адаптациик условиям пользователя как в частиэффективного использования объемов памяти, предназначенной для храненияподканалов, так и в части возможности подключения того или иного количества периферийных устройств к каждому каналу ввода-вывода из группы17 12806периферийное устройство или нет, что,выполняется путем анализа признаканазначения,подканала,Если подканал назначен, следовательно, адресованное в команде ввода-вывода периферийное устройство,занято и выполнение команды вводавывода прекращается.Если подканал не назначен, периферийное устройство свободно, выполнение команды ввода-вывода продолжается,Выполняется попытка назначениясвободного подканала, Для этой целианализируется наличие свободных подканалов. Анализ выполняется с опре"деления наличия нулевых битов в указателе слов второй таблицы, Если нулевых битов нет, т.е. свободные подканалы отсутствуют, выполнение операции ввода"вывода прекращается. Если свободные подканалы есть, формируется адрес свободного подканаласледующим образом,Указатель слов второй таблицы из 25местной памяти через регистр 34,арифметико-логический узел 35, регистр 36 результата, управляющий выход 53 и коммутатор 14 поступает вблок 25 приоритетных шифраторов. Че- ЗОрез информационный вход 14 с первогопо четвертый байты этого слова поступают на входы с первого,по четвертый приоритетных шифраторов 133-136соответственноТаким образом, на адресных выходах приоритетных шифрато"ров 133-136 формируются адреса первых нулевых битов каждого байта слова, При этом, если нулевых битов вбайте нет, соответствующий приоритетный шифратор возбуждает свой управляющий выход, Следовательно, если вуказателе слов второй. таблицы нет ниОдного нулевого бита, возбуждаетсяуправляющий выход пятого приоритетно-.45го шифратора 137,который по линии 143соединен с информационным выходом 145,Если свободные подканалы есть, тодвухраэрядный адрес, снятый с адресного выхода приоритетного шифратора 50137, указывает адрес первого байтауказателя слов второй таблицы, в котором есть по крайней мере один нулевой бит, а трехраэрядный адрес, снятый с выходов мультиплексоров 138- 55140, указывает адрес бита в соответствующем байте, Пвухраэрядный адрес.байта по линиям 142 и трехразрядныйадрес бита по линиям 141 соединены 42 18с информационным выходом 145 блока25. Таким образом, при помощи блока25 аппаратным путем выполняется анализ наличия свободных подканалов иформирование адреса словавторой таблицы, в котором есть свободные подканалы,Информация, полученная на информационном выходе 145 блока 25 по микрокоманде, продешифрованной на дешифраторе 31 сигналом записи, снятым сгруппового выхода дешифрации 156 бло. -ка 1, через групповой вход 153 записи блока 26 записывается в регистры146, 148 и 150 по линиям 143, 142и 141 и запоминается с целью дальнейшего анализа.Анализируя информацию, снятую свыхода регистра 146 через первый иншормационный выход 154 блока 26, определяется наличие свободных подканалов. Если свободные подканалы есть,с выходов регистров 148 и 150 пятиразрядный код, по которому из второйтаблицы в одну из ячеек местной памяти считывается соответствующее 32 разрядное слово, которое затем выдается в блок 25, и по специальноймикрокоманде информация, полученнаяна информационном выходе 145 блока25, запоминаются в блоке 26 на регистрах 147, 149 и 151,Таким образом, после анализадвух 32-разрядных слов указателяслов второй таблицы и одного иэ словвторой таблицы на первом информационном выходе 154 блока 26 формирует.ся десятиразрядный код, являющийсяадресом свободного подканала, Этотадрес считывается и затем заноситсяв первую таблицу вместе с признаком,свидетельствующим о том, что подканалдля конкретного периферийного устройства назначен.После назначения подканала к 9 рректируется слово второй таблицы и, принеобходимости, указатель слов этойтаблицы, Для этой цели коды адресабита в байте указателя слов второйтаблицы и в байте соответствующегослова этой таблицы по линиям 156 и157 соответственно подаются черезвторой информационный выход 155 блока 26 в узел 27 на входы дешифраторов 158 и 159. На выходах дешифраторов 158 и 159 устанавливаются соответствующие константы, которые используются для корректировки соответствующего байта слова второй таблицы и19 12806 при необходимости соответствующего байта указателя слов этой таблицы, После корректировки байта в слове второй таблицы это слово проверяется на наличие в нем свободных подканалов, Для этой цели скорректированное слово этой таблицы подается в блок 25 и результат анализа наличия или отсутствия свободных подканалов запоминается в регистре 147, Анализируя со держимое этого регистра, определяется необходимость в корректировке байта указателя слов второй таблицы и при необходимости байт указателя слов этой таблицы корректируется при по мощи константы; считанной с выходов дешифратора 158. Назначение подканала для конкретного периферийного устройства заканчивается.Освобождение подканала выполняет ся после конца связи канала с периферийным устройством, когда соответствующий подканал уже не нужен, Освобождение подканала осуществляется микропрограммным способом, 25 Формула изобретенияУстройство для обмена данными между группой каналов ввода-вывода43 42 20и оперативной памятью по авт,св,9 1190385, о т л и ч а ю щ е е с ятем, что, с целью расширения функциональных воэможностей путем организации общего поля памяти подканалов,в него введены регистр заданий, узелкоммутации, блок приоритетных шифраторов, блок регистров, узел дешифраторов, причем информационный выход регистра заданий соединен с первым информационным выходом узла ком,мутации, второй информационный входкОторого соединен с первым информа- .ционным выходом блока регистров, второй информационный выход которогосоединен с информационными входамиузла дешифраторов, выход которогосоединен с третьим информационнымвходом узла коммутации, выход которого соединен с третьим входом логических условий блока микропрограммного управления, группа управляющихвыходов которого соединена с группойуправляющих входов узла коммутациии с группой входов записи блока регистров, информационный вход которого соединен с входами блока приоритетных шифраторов, информационныйвход которого соединен свыходом коммутатора.Составитель Техред Л. Се ректор Л.Пилипе Редакт челинская каз 7068/5 ж 671ного коми НИИ тенин и от Раушская 13 Производственно-полиграфическое предприятие, г,ужгород, ул, Проектная, 4 Государствделам изобр Москва, ЖПодписноеета СССРрытийнаб д, 4/51280642 каналов. Устройство содержит блок 1микропрограммного управления, входной 2 регистр, выходной регистр 4,коммутатор 14, блок 17 управления,блок 18 приоритета запросов, группублоков согласования 19, регистр 23заданий, узел 24 коммутации, блок 25 Изобретение относится к вычислительной технике и может быть использовано при разработке процессоров,оборудование которых используетсяпри передаче данных между каналами 5ввода-вывода и оперативной памятьюили н системах нвода-вынода,Цель изобретения - расширениефункциональных нозможностей устройства путем организации общего поляподканалов для обеспечения гибкойацаптации к условиям пользователякак в части эФФективного использования объемов памяти, предназначеннойдля хранения подканалов, так и в части нозможностИ подключения того илиного количества периферийного устройства к каждому каналу ввода-вывода из группы каналов,20Регистр заданий содержит и-разрядный регистр и группу из п переключателей, причем выход п-разрядного регистра соединен с информационными выходом узла, первый контакт каждогопереключателя из группы подключен квходу соответствующего разряда и-разрядного регистра, а вторые контактыи-переключателей соединены с землей,Введение в устройство регистра за, даний дает воэможность индивидуальнодля каждого пользователя выбирать иустанавливать необходимый и оптимальный объем памяти для хранения подканалов,На Фиг,1 изображена структурнаясхема устройстна для обмена даннымимежду группой каналов ввода-вывода иоперативной памятью; на Фиг,2 - функциональная схема блока микропрограммного управления; на фиг,3 - Функциональная схема блока управления; нафиг,4 - Функциональная схема блока,согласования; на фи,5 - Ьункциональприоритетных шифраторов, блок 26 регистров, узел 27 дешифраторов, двегруппы 15, 16 регистров, дне группы5, 20 элементов И-ИЛИ, два триггера7, 11, элемент ИЛИ 12 два элементаИ 6, 13, два элемента И-НЕ 8, 10,10 ил,ная схема блока приоритетных шифраторов на фиг,6 - функциональная схема блока регистров; на фиг,7 - функциональная схема узла дешифратора; нафиг.8 - временная диаграмма выполнения микрокоманды ПАМЯТЬ при обращениик ней процессора; на Фиг,9 - временная диаграмма выполнения микрокоманды нПамять считывания" из оперативнойпамяти в каналы; на Фиг10 - временная диаграмма выполнения микрокоманды "Память записин в оператинйую память иэ каналов,Устройство для обмена данными между группой каналов ввода-вывода иоперативной памятью содержит блок 1микропрограммного управления, входной регистр 2, оперативную память 3,выходной регистр 4, элемент И-ИЛИ 5первой группы, первый элемент И 6,первый триггер 7, первый элемент И-НЕ8, третий триггер 9, второй элементИ-НЕ 10, второй триггер 11, элементИЛИ 12, второй элемент И 13, коммутатор 14, регистры 15 и 16 первой ивторой группы соответственно, блок17 управления, блок 18 приоритета запросов, группу блоков 19 согласования, элемент И-ИЛИ 20 второй группы,синхровход устройства 21, группу информационных входов-выходов 22, регистр 23 заданий, узел 24 коммутации,блок 25 приоритетных шифраторов, блок26 регистров и узел 27 дешифраторов.Блок 1 микропрограммного управления состоит из памяти 28 микрокоманд,регистра 29 адреса, регистра 30 микрокоманд, дешифратора 31, местнойпамяти 32,второго 33 и первого 34 регистров, арифметическо-логическогоузла 35, регистра 36 результата, первой 37 и второй 38 группы элементовИ-ИЛИ, элемента И 39 и элемента И-НЕ 40, 3 1280 бБлок 1 имеет первый 41 и второй 42 ин- .формационные входы, вход 43 режима,стробирующий вход 44, вход 45 разрешения, синхровход 46, стробирующий выход 47, адресный выход 48, с первогопо пятый управляющие выходы 49-53,выход 54 выборки, третий информационныйвход 55 и группу .управляющих выходов56 дешифрации блока,Блок 17 управления содержит триггер 57 передачи данных, группу триггеров 58 и 59 передачи данных каналов, элементы И 60 и 61 первой группы,второй 62 и первый 63 элементы ИЛИ,первый 64 и второй 65 элементы И,элемент НЕ 66, триггер 67 запроса пере-,дачи данных, триггер 68 первого циклапередачи, триггер 69 промежуточногоцикла передачи, триггер 70 второгоцикла передачи, группу триггеров 71 20и 72 второго цикла передачи каналов,элементы И 73 и 74 второй группы,группу элементов И-ИЛИ-НЕ 75 и 76,первый 77 и второй 78 элементы И-ИЛИ,элементы И-ИЛИ 79 и 80 первой группыи элементы И-ИЛИ 81 и 82 второй группы. Блок 17 имеет с первого по четвертый группы входов 83-86, первый 87и второй 88 входы, с первого по пятыйвыходы 89-93 и с первой по третью 30группы выходов 94-96 блока соответственно,Блок 19 согласования образуют регистр 97 данных, буферная память 98данных, триггер 99 обращения интерфейса, триггер 100 выбора буфера интерфейса, счетчик 101 адреса байтов,триггер 102 выбора буфера процессора,триггер 103 номера слова, счетчик 104двойных слов, первый 105 и второй 106 40узлы синхронизации, коммутатор 107,узел 108 обмена по интерфейсу, триггер 109 занятости регистра данных,триггер 110 занятости группы регистров, регистр 111 кода операции, дешифратор 112, элементы И-ИЛИ 113 и114 первой и второй группы, с первого по шестой элементы И-ИЛИ 115-120и элемент И-ИЛИ-НЕ 121, Блок 19 имеетпервый 122 и второй 123 информационные входы, информационный вход-выход 124, вход 125 разрешения, синхровход 126, информационный выход127, первый 128 и второй 129 синхровыходы, выход 130 запроса, выход 131 55записи и выхоД 132 чтения,Блок 25 приоритетных шифраторовсодержит (в данном случае) четыре 42 4восьмивходовых приоритетных шифратора 133-136, один четырехвходовыйприоритетный шифратор 137 и три муль.типлексора 138-140, а также информационный вход 141 мультиплексоров, йнформационные выходы 142 и 143 шифратора 137 и свои информационный вход144 и выход 145.Блок 26 регистров состоит из двуходноразрядных регистров 146 и 147,двух двухразрядных регистров 148 и149, двух трехразрядных регистров 150и 151, своих информационного входа152, группового входа 153 записи ипервого 154 и второго 155 информационного выходов, а также выходов 156и 157 регистров 150 и 151Узел 27 дешифраторов содержит двадешифратора 158 и 159, информационныйвход 160 и информационный выход 161.Устройство работает следующим образом.Буферная память 98 данных имеетдве зоны заполнения данными, Емкостькаждой из зон соответствует разрядности оперативной памяти и в данномслучае составляет двойное слово (восемь байт). Ширина разрядности буферной памяти соответствует разрядностиинформационного тракта процессора (врассматриваемом случае она составляет одно слово), через тракты которогоканал обменивается данными с оперативной памятью,Код операции, выполняемый блоком 19 согласования, находится в регистре 111 кода операции, Сигнал второго выхода дешифратора 112 определяет, что в блоке 19 выполняется операция записи, Сигнал с первого выхода дешифратора 112 определяет, чтов блоке согласования выполняется операция чтения,При выполнении чтения данные из периферийного устройства побайтно с информационного входа-выхода блока 19 через коммутатор 107 поступают в регистр 97 данных, из которого через первую группу элементов И-ИЛИ 113 данные записываются в буферную память 98 по адресу с выхода второй группы элементов И-ИЛИ 114Если триггер 110 занятости группы регистров сброшен, то после накопления двойного слова в буферной памяти производится. сначала считывание первого слова из буферной памяти и передача его через информа12806 5ционный выход блока 19, вторую груп-, пу элементов И-ИЛИ 20 и первую группу регистров 15 но вторую группу регистров 16, затем считывание второго слова и передача его в первую груп пу регистров 15.;,После заполнения регистров триггер 110 занятости группы регистрон устанавливается в единичное состояние, Для операции чтения в этом случае третьим элементом 1 О И-ИЛИ 117 вырабатывается запрос на передачу данных, который через выход ,запроса блока 19 поступает на вход блока 18 приоритета запросов, При операции записи во время второго цикла15 передачи данных соответствующего канала по сигналу, поступающему на вход разрешения блока 19, устанавливается триггер 110 занятости группы регистров, фиксирующий наличие данных, при нятых из оперативной памяти в первую и вторую группы регистрон 15 и 16 соответствующего канала, Если в буферной памяти 98 данных одна из зон свободна, то происходит передача сначала первого слова данных из второй группы регистров 16, а затем второго слова данных через второй информационный вход блока 19 и первую группу элементов И-ИЛИ 113 в буферную память 98. 30 Данные иэ буферной памяти 98 через второй информационный вход коммутатора 107 поступают в регистр 97 данных, откуда выдаются на информационный вход-выход блока 19 под управлением 35 узла 108 обмена по интерфейсу и триггера 109 занятости регистра данных, При операции записи запрос на передачу данных устанавливается с помощью третьего элемента И-ИЛИ 117, если триг гер 110 занятости группы регистров сброшен, Сигнал операции чтения с первого выхода дешифратора 112 и сигнал операции записи с второго выхода дешифратора 112 подается соответ ственно через выходы чтения 132 и записи 131 блока 19 на группу элементов И-ИЛИ 20 и для управления направлением загрузки первой и второй группы регистров 15 и 16 на блок 17 уп равления.Для управления адресацией буфера данных используется триггер 99 обращения интерфейса, Если триггер 99 обращения интерфейса сброшен, то при 55 выполнении обмена данными между буферной памятью данных и группой регистров адресация буферной памяти до 42зоны двойного слона происходит с помощью триггера 102 выбора буФера процессора, а до зоны слова - с помощью триггера 103 номера слова. Триггер 103 номера слова но время передачи двойного слова переключается,Если триггер 99 обращения интерфейса установлен, то может выполнятьсяобмен между буферной памятью и регистром 97, При этом адресация эоныпроисходит с помощью триггера 100выбора буфера интерфейса, а словаи байта внутри слова - с помощьютрехразрядного счетчика 101 адресабайтов, Лвухразрядный счетчик 104двойных слов указывает количестводвойных слов в буферной памяти 98данных, Во время операции записи онпоказывает количество незаполненныхдвойных слов н буФерной памяти 98, вовремя операции чтения - количество заполненных двойных слов. В начале операции записи счетчик устанавливаетсяна "2" (два двойных слова не заполнено) и во время передачи двойного слова из групп регистров 15 и 16 его содержимое уменьшается, После передачидвойного слова через интерфейс содержимое счетчика 104 двойных слов увеличивается, В начале операции чтениясчетчик устанавливается на 0 и приобмене данными соответственно модифицируется,Управление последовательностьюработы оборудования блока 19 во время передачи данных между буферной памятью 98 и регистром 97 осуществляется с помощью узла 106. Управление передачей данных между буферной памятью98 и группой регистров 15 и 16 производится узлом 105, Этот узел вырабатывает стробы загрузки первой и второй групп регистров 15 и 16 соответ ствующего канала, которые поступаютсоответственно при передаче данныхв буферную память или из буферной памяти на первый и второй синхровходыблока 19. Запуск узла 106 производится через элемент И-ИПИ-НЕ 121, азапуск узла 105 - через пятый элемент И-ИЛИ 119,Запросы от всех блоков 19 поступают на блок 18, который по синхронизирующему сигналу принимает их,определяет наиболее приоритетный изних и передает в блок 17, в которомустанавливается триггер 57 передачиданных и один из группы триггеров 58и 59 передачи данных каналов, которые указывают, какой блок 19 должен производить обмен данными, На вход блока 17, на вторую группу входов, иэ блока 19 поступает код операции, который используется для аппаратур- ного формирования микрокоманды обращения и оперативной памяти на первой группе элементов И 60 и 61 и втором элементе ИЛИ 62, с выхода ко торого микрокоманда поступает на вход режима блока 1 в регистр микро- команд 30 через первую группу элементов И-ИЛИ 37, При этом потенциалом с триггера 57 передачи данных блока 15 17 блокируется прием микрокоманд из памяти 28 микрокоманд блока 1 на первую группу элементов И-ИЛИ 37 и пропускается микрокоманда из блока 17, в ходе выполнения которой должен 20 производиться обмен данными между оперативной памятью и первой и второй группами регистров 15 и 16 через внутренние тракты процессора.Для управления прохождением дан ных блок 17 вырабатывает последовательность сигналов с выходов триггера 67 запроса передачи данных,триггера 68 первого цикла передачи, триггера 69 промежуточного цикла передачи,30 триггера 70 второго цикла передачи, а для управления первой и второй группами регистров 15 и 16 - с выходов первой и второй групп элементов И-ИЛИ 79-82. 35Микрокоманда Память выполняется в два цикла.В первом цикле готовится адрес данных,и при записи в память записываются данные, Чтение и запись произ водится в паузе между первым и вторь 1 м циклами. Длительность паузы зависит от времени обращения к памяти, Это время намного превышает первый.и второй циклы памяти. Во втором цикле в 45 случае считывания выбираются данные из памяти и пересылаются через внутренние тракты процессора в первую и вторую группу регистров 15 и 16,Триггер 67 запроса передачи данных бло ка 17 использует два запуска циклов аппаратурно сформированной микрокоманды "Память", Блок 18 предназначен для выбора наиболее приоритетных из каналов, 55Коммутатор 14 служит для выбора данных из оперативной памяти или регистра результата 36 блока 1 и представляет собой группу элементов И-ИЛИ,На Фиг,8 изображена временная диаграмма работы устройства для обменаданными между группой каналов вводавывода и оперативной памятью для выполнения микрокоманд Память при об -ращении к ней процессора, На диаграмме приняты следующие условные обозначения: д - синхронизация; 3 - прием в первый регистр 34 адреса оперативной памяти; 6 - прием двойногослова данных в выходной регистр 4;запись в местную память 32 модифицированного адреса оперативной памяти;- выдача первого слова данных с первой группы элементов И-ИЛИ5; е - выход третьего триггера 9;Ж - выдача второго слова данных спервой группы элементов И-ИЛИ 5;управление коммутатором 14 на выборданных из оперативной памяти; 0запись первого слова данных; к - запись второго слова данных,Устройство для выполнения микрокоманды "Память" при обращении к нейпроцессора работает следующим образом.Из памяти 28 микрокоманд блока 1по адресу из регистра 29 адреса, через первую группу элементов И-ИЛИ 37и регистр 30 заносится микрокоманда,которая поступает на дешифратор 31,с седьмого выхода которого на местную память 32 подается адрес, по которому на первый регистр 34 считывается адрес данных оперативной .памяти,который через адресный выход 38 блокаподается на адресный выход устройства в оперативную память, Двойное.слово данных из оперативной памятизаносится в выходной регистр 4, изкоторого с помощью первой группы элементов И-ИЛИ 5 на коммутатор 14 подается первое слово данных, Управлениевыбором нового слова осуществляетсяпервым элементом И-НЕ 8 по установленному первому триггеру 7, которыйустанавливается через первый элементИ 6 по младшему байту адреса двойного слова из первого регистра 34 блока 1. Адрес данных оперативной памятиподается также на арифметико-логический узел 35, в котором он модифициру-ется и через регистр результата 36 икоммутатор 14 записывается в местнуюпамять 32, После этого, управлениекоммутатором 14 по выходу второго элемента И 13 переключается на выбор первого слова данных из оперативной памяти, После записи первого слова даи 9 12806ных по второму выходу лешифратора 31блока 1 устанавливается триггер 9,который инверсным выходом на первомэлементе И. 6 изменяет младший адресоперативной памяти, который запоминается в конце выполнения микрокоманды "Память" на первом триггере 7и через первый элемент И-НЕ 8 изменяет управление первой группой элементов И-ИЛИ 5 и на выдачу второго 10слова Данных из выходного регистра4 на коммутатор 14, а прямой выходтретьего триггера 9 управляет передачей этого слова данных через коммутатор 14 на фоне выполнения следующей микрокоманды,На фиг.9 изображена временная диаграмма работы устройства для выполнения аппаратурно-сформированноймикрокоманды Память считывания из 20оперативной памяти. На неч принятыследующие обозначения: а - синхронизация; Я - выход триггера 68 первого цикла передачи; о - выход триггера 69 промежуточного цикла передачи; г - выход триггера 70 второгоцикла передачи;- прием в первыйрегистр 34 адреса оперативной памятии счетчика байтов; 6 - прием двойного слова данных в выходной регистр 4; 30В - выдача первого слова данных спервой группы элементов И-ИЛИ 5;-выдача второго слова данных с первойгруппы элементов И-ИЛИ 5; О - выходвторого триггера 11; к - управлениекоммутатором 14 на выбор данных изоперативной памяти; 4 - запись вместную память 32 модифицированногоадреса оперативной памяти и счетчикабайтов; Ю - строб первой группы ре.гистров 15; Н - строб второй группырегистров 16.Устройство при считывании данныхиз оперативной памяти в первую и вторую группы регистров 15 и 16 работает 45следующим образом,Из блока 17 в блок 1 в регистр 30заносится аппаратурно-сформированнаямикрокоманда, которая поступает на дешифратор 31, с седьмого выхода кото"рого на местную память 32 подаетсяадрес, по которому на первый регистр34 в первом цикле памяти считываетсяадрес данных оперативной памяти, который подается на адресный выход устройства в оперативную память и наарифметико-логический узел 35, на котором он модифицируется, Из оперативной памяти в выходной регистр 4 счи 42 10тывается двойное слово данных,Младший байт адреса оперативной памяти,который адресует первбе слово данныхиз первого регистра 34 блока 1 черезпервый элемент И 6 устанавливаетпервый триггер 7, который через первый элемент И-НЕ 8 управляет выборомна первой группе элементов И-ИЛИ 5первого слова данных, которое поступает на коммутатор 14. С выхода триггера 55 передачи данных блока 17 наинформационный вход второго триггера11 подается сигнал, который устанавливает этот триггер в начале первогоцикла микрокоманды "Память". Второйтриггер 11 управляет передачей черезкоммутатор 14 первого слова данныхиз оперативной памяти, которое проходит через вторую группу элементовИ-ИЛИ 20 под управлением выхода записи блока 19 и через первую группурегистров 15, так как на синхронизирующий вход подается постоянный строб,защелкивается во второй группе регистров 16 по стробу, сформированномуна первой группе элементов И-ИЛИ 79и 80 блока 17 по сигналам с выходагруппы триггеров 58 и 59 передачиданных каналов и триггера 70 второгоцикла передачи и синхросигнала, Изместной памяти 32 блока 1 во второмцикле памяти на первый регистр 34считывается счетчик байтов, которыеосталось передать из оперативной памяти в каналы. Счетчик байтов передается на арифметико-логический узел35, на котором он модифицируется.После сброса второго триггера 11 управление коммутатором 14 переключается на выдачу из регистра результата36 модифицированного адреса, которыйзаписывается в местную память 32,Затем на втором элементе И-НЕ 10 посигналу с выхода триггера 70 второгоцикла передачи блока 17 и сигналу ссинхровхода устройства 21 вырабатывается сигнал, который поступает навторой вход первого элемента И-НЕ 8и инвертирует выходы этого элемента.Таким образом, первая группа элементов И-ИЛИ 5 выбирает второе слово дан.ных, которое через коммутатор 14 подуправлением сигнала с выхода второгоэлемента И 13 поступает через вторуюгруппу элементов И-ИЛИ 20 на первуюгруппу регистров 15 и защелкиваетсяпо стробу, сформированному на второйгруппе элементов И-.ИЛИ 81 по сигналамс выхода группы триггеров 58 и 59 пе 1 .12редачи данных каналов, синхросигналас выхода группы триггеров 75 и 76второго цикла передачи каналов, Запись модифицированного счетчика изрегистра 36 результата блока 1 в местную память 32 выполняется на фоневыполнения следующей микрокоманды,На фиг.10 изображена диаграммаработы устройства для выполнения аппаратурно-сформированной микрокоманды "Память записи" в оперативную память, На диаграмме приняты следующиеобозначения: О - синхронизация; о -выход триггера 68 первого цикла передачи; в " выход триггера 69 промежуточного цикла передачиг - приемв первый регистр 34 адреса оператив-.ной памяти;- прием во второй ре-гистр 33 данных из второй группы регистров 16; е - прием данных во входной регистр 2; В - строб второй группы регистров 16; ) - запись в оперативную память,Устройство для записи данных изпервой и второй групп регистров 15и 16 в оперативную память работаетследующим образом,С второго информационного выходагруппы регистров 16 в блок 1 во второй регистр 33 через вторую группуэлементов И-ИЛИ 38 под управлениемсигнала с выхода триггера 57 передачи данных блока 17 принимается первое слово данных по стробу с выходапервого элемента И-ИЛИ 77 блока 17,который вырабатывается по синхросигналу, После приема первого слова вовторой регистр 33 блока 1 данные через первый управляющий выход 51 блока 1 подаются на входной регистр 2,в котором принимаются по стробу, цсформированному на втором элементеИ-ИЛИ 78 блока 17, который вырабатывается .по синхросигналу и третьемууправляющему выходу блока 1, Послеприема первого слова данных во входной регистр 2 второе слово данных изпервой группы регистров 15 переписывается во вторую группу регистров 16по стробу с выхода первой группыэлементов И-ИЛИ 79 и 80 блока 17,сформированного по сигналам с выходагруппы триггеров 58 и 59 передачи,данных каналов, триггера 6 Р первогоцикла передачи и синхросигнала, С выхода второй группы регистров 16 второе слово данных записывается во второй регистр 33 блока 1 через вторуюгруппу элементов И-ИЛИ 38 по стробу80642 1 7 с выхода первого элемента И - ИЛИ 77блока 17, сформированного по сигналам с выхода триггера 57 передачи данных, триггера 68 первого циклапередачи и синхросигнала, С выходавторого регистра 33 блока 1 второеслово данных поступает на входнойрегистр 2, на котором оно защелкивается по стробу с выхода второго элемента И-ИЛИ 78 блока 17, сформированному по сигналам с выхода триггера 55 передачи данных и синхросигна 5 0 лу. Из местной памяти 32 блока 1 считывается адрес, который через первыйрегистр 34 передается на адресный выход устройства в оперативную память.По пятому выходу дешифратора 31 блока 1 на элементе И 39 вырабатывается строб замен в оперативную память, который подается на стробирующий выходч устроиства,Организация общего поля подканала в устройстве для обмена данными меж ду группой каналов ввода-вывода и оперативной памятью выполняется аппаратно-микропрограммным способом. Устройство в данном случае работает следующим образом.Аппаратная часть реализации общего поля подканалов основана на использовании регистра 23 заданий, узла 24 коммутации, блока 25 приоритетных шийраторов, блока 26 регистров, узла 27 дешифрации, Микропрограммная часть реализации обобщенного поля подканалов основана на использовании всего оборудования процессора, в сос 30 35,тав которого входит устройство для этом процессор управляет работойгруппы каналов ввода-вывода с помощью специальных команд ввода-вывода. Обращение к программе канала осуществляется с помощью адресного слова ка"нала, расположенного в фиксированнойячейке оперативной памяти, Адресноеслово канала содержит ключ защиты иадрес первого управляющего слова ка 45 50 нала, которое первоначально находится в оперативной памяти,Программа канала состоит из последовательности управляющих слов канала. Управляющие слова канала содер 55 жат всю необходимую информацию дляорганизации и проведения связи канала ввода-вывода с периферийным устройством. С целью обеспечения макси 40 обмена данными между группой каналов ввода-вывода оперативной памятью,Прислова канала управляющее слово канала из оперативной памяти переписывается в определенные ячейки (подканалы) более быстродействующей местной памяти, в которой управляющиеслова канала сохраняются до концаработы канала ввода-вывода с периферийным устройством, 10При работе одного канала. вводавывода иэ группы каналов с несколькими периферийными устройствами одновременно в местной памяти необходимо хранить столько управляющихслов канала, сколько периферийныхустройств одновременно запущено повсей группе каналов. Таким образом,возможное количество одновременнозапущенных периферийных устройств определяется количеством подканалов,т,е. тем максимальным объемом в местной памяти, который отводится дляхранения общего количества управляющих каналов. Таким образом, чтобы25максимально использовать адресноеполе периферийных устройств для каждого канала, которое определяет максимально возможное количество периферийных устройств, которое можноподключить к одному каналу ввода-вывода (а в рассматриваемом случае 256устройств), в местной памяти необходимо отвести объем, достаточныйдля хранения 256 хп подканалов (где 35и - количество каналов ввода-вывода.в группе). Если учесть, что для хранения одного подканала необходимов местной памяти отвести четыре тридцатидвухразрядных слов, и то, чтоне для каждого пользователя необходимо такое количество подканалов, ва.риант предоставления максимальногоколичества подканалов не являетсяоптимальным,Организация общего поля подканалов с их динамическим назначениемпозволяет, во-первых, оптимальным образом перераспределить подканалы между группой каналов, во-вторых, при 50оптимальном количестве подканаловорганизовать возможность подключения к каждому каналу ввода-выводамаксимального количества периферийных устройств, 55Выбор оптимального количества подканалов осуществляется путем коммутации в регистре 23 вручную при помощи 15 1312806,мально эффективного с точки зрениябыстродействия анализа управляющего 42 14переключателей или каким-либо другимобразом соответствующих разрядов (вданном случае тридцатидвухразрядногорегистра) таким образом, чтобы на информационный выход регистра 23 заданий поступал 32-разрядный код, определяющич выбранное количество подканалов, При выполнении микропрограммысброса системы, которая выполняется1каждый раз при загрузке системы команд или после нажатия на пульте оператора кнопки "Сброс системы", этоткод по микрокоманде чтения, продешифрованной на дешифраторе 31, считывается сигналом чтения с группы выходов56 из регистра 23 через узел 24, третий информационный вход 55 блока 1,элемент И-ИЛИ 38, регистр 33, арифметико-логический узел 35, регистр 36результата, второй управляющий выход53 блока 1, первый вход коммутатора14, первый информационный вход 41блока 1 и записывается стандартным .образом в определенную ячейку местной памяти 32 как характеристика количества подканалов, отведенных вместной памяти для группы каналовввода-вывода. В дальнейшем эта информация используется каждый раэ при выполнении очередной команды ввода-вывода для назначения свободного подканала, Если свободных подканаловнет, выполнение команды ввода-выводапрекращается,При этом канальная микропрограмма формирует такой признак результата, который формировался бы, если бы при выполнении команды ввода-вывода оказалось, что нужного периферийного устройства нет, Подобный алгоритм формирования признака результата при отсутствии свободных подканалов выбран из расчета, чтобы указать пользователю, что при существующем количестве подключенных к группе каналов ввода-вывода периферийных устройств выбранного количества подканалов недостаточно, Такой вывод должен сделать пользователь, когда операционная система (или какая-либо другая система) стандартно сообщает, что конкретного периферийного устройства нет, а на самом деле оно подключено и нормально функционирует. Изменяя общее количество подканалов в ту или другую сторону, пользователь индивидуально для собственных.1 2806нужд выбирает. оптимальное количество подканалов,Организация подключения максимального количества периферийныхустройств к каждому каналу ввода-вывода из группы каналов выполняетсяпутем произвольного назначения подканалов, т,е, путем воэможности назначения любого подканала любому периферийному устройству с дальнейшим 10освобождением этого подканала послеконца связи с периферийным устройством. Произвольное назначение подка.налов в рассматриваемом случае выполняется аппаратно-микропрограммным 15способом, При этом используется ап,паратура узла 24, блоков 25, 26 иузла 27. Кроме того, используютсятаблицы, расположенные в местной памяти, и несколько ячеек местной памяти, необходимые для оперативной обработки управляющей информации,Первая таблица содержит 256 последовательно адресованных ячеек местнойпамяти, каждая из которых предназначена для хранения адреса назначенного подканала для конкретного периферийного устройства. Адресация ячеекэтой таблицы соответствует адресации.максимального количества периферийных;Юустройств, которые могут быть подключены к одному каналу ввода-вывода.Количество первых таблиц определяется количеством каналов ввода-выводав группе, Первая таблица предназначена также для хранения признака, который говорит о том, назначен для периферийного устройства подканал илинет. При назначении подканала этотпризнак устанавливается, После конца 40работы с периферийным устройством,когда подканал не нужен, этот признак сбрасывается,Вторая таблица, содержащая в рассматриваемом случае тридцать два 32- 45разрядных слова совместно с указателем слов второй таблицы, который врассматриваемом случае состоит изодного 32-разрядного слова используется для формирования адреса свободного подканала, Вторая таблица определяет то максимальное количествоподканалов, которое может быть отведено для группы каналов (в данномслучае 1024), Действительное количестно отведенных подканалов устанав-.ливается путем коррекции этой таблицы и указателя слов второй таблицы 42 16в соответствии с характеристикой количества подканалов, отведенных вместной памяти для группы каналовввода-вывода, указанной в коде, считанном из регистра 23 заданий, Указатель слов второй таблицы используется для оперативного нахождениясвободного подканала из общего количества отведенных подканалов,Формирование адреса свободногоподканала выполняется путем определения пятиразрядного адреса слова второй таблицы (старшие разряды адресаподканала) и пятиразрядного адресабита в этом слове (младшие разрядыадреса подканала), Так как адрес слова второй таблицы определяется адресом бита в указателе слов второй табдицы, то адрес свободного подканалаформируется из адреса бита в указателе слов второй таблицы и адресабита в соответствующем елове второйтаблицы,Формирование адреса свободногоподканала для конкретного периферийного устройства выполняется следующим образом,Общее количество подканалов задается путем установки в нулевое.состояние общего количества бит в словах второй таблицы, Причем наличиехотя бы одного свободного подканала,определяемого одним словом этой таблицы характеризуется соответствующимбитом указателя слов второй таблицы,установленного в нулевое состояние.Например, если бит 3 указателя слонвторой таблицы установлен. в "1", тосвободных подканалов адресуемых словвторой таблицы по адресу 3 нет, Учитывая сказанное, первоначальная установка соответствующего количестваподканалов, которое определяется кодом, считанным из регистра 23, осуществляется микропрограммно путемустановки в единичное состояние соответствующего количества бит в словах второй таблицы и в указателе слонэтой таблицы,В процессе выполнения команды ввода-вывода по номеру канала и адресупериферийного устройства, укаэанныхв выполняемой команде ввода-вывода,выбирается соответствующее слово изпервой таблицы и запоминается в однойиз ячеек местной памяти, Пель этойвыборки - определить свободно ли адрессованное в команде ввода-вывода
СмотретьЗаявка
3950563, 30.08.1985
ПРЕДПРИЯТИЕ ПЯ М-5339
ПРОНИН ВЛАДИСЛАВ МИХАЙЛОВИЧ, ПЫХТИН ВАДИМ ЯКОВЛЕВИЧ, ЗИЛЬБЕРГЕЛЬД ИОСИФ МИХАЙЛОВИЧ, РЫМАРЧУК АЛЕКСАНДР ГРИГОРЬЕВИЧ, ХАМЕЛЯНСКИЙ ВЛАДИМИР СЕМЕНОВИЧ
МПК / Метки
МПК: G06F 13/00
Метки: ввода, вывода, группой, данными, каналов, между, обмена, оперативной, памятью
Опубликовано: 30.12.1986
Код ссылки
<a href="https://patents.su/15-1280642-ustrojjstvo-dlya-obmena-dannymi-mezhdu-gruppojj-kanalov-vvoda-vyvoda-i-operativnojj-pamyatyu.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для обмена данными между группой каналов ввода вывода и оперативной памятью</a>
Предыдущий патент: Устройство для сопряжения цифровой вычислительной машины с магнитофоном
Следующий патент: Устройство для сопряжения двух микро эвм с общей памятью
Случайный патент: Способ получения гидрата гидразина