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

Номер патента: 1288707

Авторы: Мазикин, Пронин, Хамелянская, Яновская

Есть еще 11 страниц.

Смотреть все страницы или скачать ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСНИХРЕСПУБЛИК 69 4 С 06 Р 13/00 ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙОПИСАНИЕ ИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ БИБЛИОТЕКАс(56) Авторское свидетельство СССРР 1190385, кл. С 06 Р 13/00, 1984.(54) УСТРОЙСТВО ДЛЯ ОБМЕНА ДАННЫМИМЕЖУ ГРУППОЙ КАНАЛОВ ВВОДА-ВЫВОДАИ ОПЕРАТИВНОЙ ПАМЯТЬЮ(57) Изобретение относится к вычислительной технике ы может быть использовано при разработке процессоров, оборудование которых используется при передаче данных между 801288707 А 2 каналами ввода-вывода и оперативнойпамятью или в системах ввода-вывода.Целью изобретения является увеличение производительности за счет организации аппаратно-микропрограммного временного контроля перерывов в работе интерфейса ввода-вывода. Устройство содержит блок микропрограммного управления, блок управления, входной и выходной регистры,коммутатор, две группы регистров,блок приоритета запросов, группублоков согласования, группу блоковзапуска, группу узлов счета, блокприоритета временных запросов, двегруппы элементов И-ИЛИ, три триггера, два элемента И-НЕ, элемент ИЛИ,два элемента И. 1 з.п. ф-лы, 11 ил.ла, размещенного в конкретной ячейкеместной памяти, заносится 1, Послеэтого устанавливается триггер 145,т.е, запускается аппаратная схемавременного контроля. Если завершениеоперации ввода-вывода произошло домомента формирования на выходе счетного триггера 153 сигнала запроса,канальная микропрограмма окончаниясвязи с периферийным устройствомвычитает 1 из счетчика количестваодновременно работающих периферийных устройств и анализирует содержимое счетчика. Если счетчик равен 10 О, микропрограмма сбрасывает триггер 145, т.е. связь с периферийным устройством произошла успешно и аппаратная схема временного контроля приведена в исходное состояние,Если счетчик не равен О, микро-программа не сбрасывает триггер 145. Аппаратная схема временного контроля продолжает работатьВ случае нарушения длительности запланированных перерывов в работе канала ввода-вывода с периферийным устройством триггер 153 с выхода вырабатывает сигнал запроса, который далее поступает в блок приоритета временных запросов и по которому вызывается микропрограмма обработки сбоя по временному контролю, Микропрограмма обработки сбоя по временному контролю в первую оче-. редь определяет при работе с каким адресом периферийного устройства в данном канале произошел сбой. Для этой цели микропрограмма последовательно опрашивает ячейку за ячейкой таблицы состояний для данного кана" ла, начиная, например, с первой, которая закреплена за периферийным устройством с адресом 1, затем второй, которая закреплена за периферийным устройством с адресом 2 и т.д. После каждого опроса ячейки микропрограмма анализирует содержимое этой ячейки н в зависимости от анализа выполняет соответствующие действия,Содержимое ячейки 00. Микропрограмма опрашивает очередную ячейку таблицы состояний, так как периферийное устройство, которому закреплена опрошенная ячейка, находится в исходном состоянии И с ним канал операции ввода-вывода на моментвозникновения временного контроляне выполнял. 17 1288707 18состояний для каждого канала, в кото.рых для каждого запущенногопериферийного устройства устанавливаютсяспециальные прйзнаки, характеризующие этап работы канала с периферийным устройством. Например, при запуске периферийного устройства втаблице состояний для данного периферийного устройства устанавливаетсякод последовательности 11. Это говорит о том, что логическая связьс периферийным устройством произошла.Если из периферийного устройства поступил конечный байт состояния спризнаком "Канал кончил", в таблицесостояний устанавливается код последовательности 01. Это говорит о том,что передача данных между каналомввода-вывода и периферийным устройством закончилась успешно, но периферийное устройство еще не возвратилось в исходное состояние. Если изпериферийного устройства поступилкойечный байт состояния с признаком"Устройство кончило, в таблице со 11 25стояний устанавливается код последовательности 00. Это говорит о том,что связь между каналом ввода-выводаи периферийным устройством пройэошлауспешно и периферийное устройствопосле связи находится в исходном состоянии, Анализируя микропрограммнымпутем эти коды последовательностей,определяется состояние канала вводавывода, магистрали ввода-вывода, 35периферийного устройства на моментсбоя по временному контролю. Кромеэтого, в ячейках местной памяти длякаждого канала хранятся счетчики количества одновременно работающихпериферийных устройств, которые запущены по командам ввода-вывода.Учитывая сказанное, микропрограммный анализ сбоя, проишедшего вследсТвйе временного нарушения перерывовв работе канала ввода-вывода и периферийного устройства или с несколькими периферийными устройствами, скоторыми канал работает одновременно,выполняется следующим образом, 50После успешного завершения команды ввода-вывода, т.е. после запускапериферийного устройства, микропрограммным путем в таблицу состоянийдля запущенного периферийного устройства заносится код последовательности 11. Кроме этого, в счетчик количества одновременно работающих периферийных устройств для данного кана 19 128870720Содержимое ячейки 11. Канал сданным периАерийным устройством намомент возникновения временного сбоянаходится в состоянии связи. Этаситуация может возникнуть тогда,когда в процессе связи канала с периАерийным устройством произошел,сбой, не обнаруженный другими схемами контроля канала или периАерийного устройства, но который привелк нарушению работы канала и певиферийного устройства по времени. Вэтом случае микропрограмма обработкисбоя по временному контролю подготавливает необходимую информацию о состоянии канала и периферийного устройства на момент. обнаружения сбояпо временному контролю и Аормируетзапрос на прерывание по вводу-выводу, которое будет обработано тойуправляющей программой, под управлением которой работает вычислительнаясистема (например, операционная система), вследствие чего подобныйсбой в работе устройства для обменаданными между группой каналов вводавывода и оперативной памятью с периферийными устройствами будет обнаружен и устранен.Содержимое ячейки 01. Канал на момент возникновения временного сбоянаходился в состоянии свободен, т.е,от периАерийного устройства полученконечный байт состояния с признаком"Канал кончил", что говорит о том,что передача данных между каналоми периАерийным устройством завершенауспешно. Однако после этого периферийное устройство не установилось висходное состояние. Подобная информация подготавливается микропрограммойобработки сбоя по временному контро.лю и Аормируется запросна прерываниеот ввода-вывода, который и обслуживается операционной системой,Содержимое всех ячеек таблицы состояний для данного канала 00. Этоговорит о том, что причиной сбоя повременному контролю является неправильная работа аппаратной части временного контроля.Таким образом, данная организация аппаратно-временного контроляв устройстве для обмена данными между группой каналов ввода-вывода иоперативной памятью позволяет эфАек-,тивным образом контролировать незапланированные по времени перерывы вКработе интерфейса ввода-вывода засчет исключения зависания операционных систем в случае возникновениясбоев по временному контролю и за 5 счет исключения затрат системноговремени на работу, Временного контроля при нормалыйи: Аункционировании вычислительной:системы, чтопозволяет устанавливать минимальновозможные интервалы временного контроля с целью снижения до минимумавременных системных потерь в случае возникновения сбоя но временно:.му каналу. Организация подобногоконтроля на уровне операционнойсистемы, например, так называемойпрограммой М 1 С, связана с накладными расходами, заключающиеся в зна, чительном непроизводительном расхо"довании времени процессора и вычи- .слительной системы в целом, что резко снижает производительность вычислительной системы в части вынолнения проблемных (пользовательских)задач в единицу времени,25 Формула изобретения 1,устройство для обмена даннымимежду группой каналов ввода-вывода и оперативной памятью по авт.св, В 1190385,о т л и.ч а ю .щ е е с я тем, что, с целью увеличения производительности за счет организации аппаЗ 5 ратно-микропрограммного временногоконтроля перерывов в работе интерфей-.са ввода-вывода,в него введены группа блоков запуска, группа узлов счета, блок приоритета временных запросов, причем группа инАормационных входов блоков запуска группы образует группу тактовых входов устройства для подключения к группе тактовых выходов процессора, при этом шестой выход блока микропрограммного управления соединен с установочным входом блока приоритета временных за.просов, выходы адреса и переключения режима которого соединены с входами адреса и переключения режима блока микропрограммного управления соответственно, группа выходов которого соединена с группами входов логических условий блоков запуска группы, выходы управления счетом и управления запуском которых соединены с входами счета и входами запуска соответствующих узлов счета группы, выходы21 128870 запроса которых соединены с группой входов запроса блока приоритета временных запросов, синхровход которого подключен к синхровходу устройства. 5 2. Устройство по п.1, о т л и ч аю щ е е с я тем, что блок микропрограммного управления содержит памятьмикрокоманд, дешифратор, регистр мик рокоманд, местную память, арифметико-логический узел, регистр результата, регистр адреса, четыре регистра, два триггера, две группы элементов И-ИЛИ, два элемента И-ИЛИ,три 15элемента И, элемент И-НЕ, элементНЕ, причем выход первого регистрасоединен с первым информационным вхо.дом арифметико-логического узла иявляется первым управляющим выходом 20блока микропрограммного управления,выход регистра результата являетсявторым управляющим выходом блокамикропрограммного управления, первыйвторой, третий, четвертый выходыдешифратора являются третьим, четвертым, пятым управляющими выходамиблока микропрограммного управления соответственно, группа выходов дешифратора образует группу управляющих 30 выходов блока микропрограммного управления, выход первого элемента И и первый выход второго регистра являются стробирующим выходом и выходом выборки блока микропрограммного управления соответственно, второй выход второго регистра соединен с вторым информационным входом арифметико-логического узла и является адресным выходом блока микропрограм много управления, первый вход первого элемента И-ИЛИ является адресным входом блока микропрограммного управления, информационный вход первого триггера соединен с информацион ным входом второго триггера, с первым входом второго элемента И-ИЛИ, ; с входом элемента НЕ и является входом переключения режима блока микропрограммного управления, первый вход 50первого элемента И соединен с первыми входами второго и третьего элементов И, с вторым и третьим входами первого элемента И-ИЛИ, с синхровходами местной памяти, регистра результата, второго регистра, с синхровходами первого и второго триггерови является синхрцвходом блока микропрограммного управления, первый 7 22вход элементов И-ИЛИ первой группыявляется входом режима блока микропрограммного управления, вход элемента И-НЕ соединен с вторым входомэлементов И-ИЛИ первой группы, спервым входом элементов И-ИЛИ второйгруппы и является входом разрешенияблока микропрограммного управления,информационный вход местной памятии второй вход элементов И-ИЛИ второйгруппы являются первым и вторым информационными входами блока микропрограммного управления соответственно,синхровход первого регистра являетсястробирующим входом блока микропрограммного управления, при этом в блоке микропрограммного управления информационный вход регистра результата соединен с информационным выходомарифметико-логического узла, запускающий вход которого соединен с пятымвыходом дешифратора,четвертый выходкоторого соединен с вторым входомтретьего элемента И, выход которогосоединен с нулевым входом первоготриггера, единичный и нулевой выходыкоторого соединены с четвертым и пятым входами первого элемента И-ИЛИсоответственно, выход которого соединен с информационным входом третьегорегистра, выход которого соединен свторым входом второго элемента И-ИЛИ,выход которого соединен с информационным входом регистоа апоеса, выход которого соединен с адресным входом памяти микрокоманд, выход которого соединен с третьим входом элементов И-ИЛИ первой группы, выходы которых соединены с группой информационных входов регистра микрокоманд,выход которого соединен с информационным входом дешифратора,шестой выход которого соединен с шестым входом первого элемента И-ИЛИ и вторымвходом второго элемента И, выход которого соединен с информационным входом четвертого регистра, выход которого соединен с третьим входом второго элемента И-ИЛИ, четвертый входкоторого соединен с выходом элементаНЕ, второй вход первого элемента Исоединен с седьмым выходом дешифратора, восьмой выход которого соединен с адресным входом местной памяти, первый и второй информационныевыходы которой соединены с информационным входом второго регистра итретьим входом элементов И-ИЛИ второй группы соответственно, информа23 ционные входы первого регистра соединены с выходами элементов И-ИЛИвторой группы, четвертый вход которого соединен с выходом элемента 1288707 24И-НЕ и четвертым входом элементовИ-ИЛИ первой группы, нулевой выходвторого триггера соединен с третьимвходом второго элемента И,12 Изобретение относится к вычислительной технике, может быть использовано при разработке процессоров, оборудование которых используется при передаче данных между каналами ввода-вывода и оперативной памятью или в системах ввода-вывода и является усовершенствованИем устройства по авт,св. Р 1190385.Цель изобретения - увеличение производительности устройства за счет организации аппаратно-микропрограммного временного контроля перерывов в работе интерАейса ввода-вывода.На Аиг,1 изображена структурная схема устройства для обмена данными между группой каналов ввода-вывода и оперативной памятью; на Аиг,2 Аункциональная схема блока микропрограммного управления;на фиг.З функциональная схема блока управления; на Аиг.4 - Аункциональная схема блока согласования; на фиг.5 Аункциональная схема блока запуска; на Аиг,6 - Аункциональная схема узла счета; на Аиг.7 - функциональная схема блока приоритета временных запросов; на фиг.8 - временная диаграмма выполнения микрокоманды нПамять" при обращении к ней процессора; на фиг,9 - временная диаграмма выполнения микрокоманды Память" считывания из оперативной памяти в каналы; на Аиг.10 - временная диаграмма выполнения микрокоманды "Памятьзаписи в оперативную память из каналов; на Аиг,11 - временная диаграмма приостановки выполняемой в процессоре микропрограммы, и начало и конец выполнения микропрограммы обработки сбоя по временному контроУстройство для обмена данными между группой каналов ввода-вывода и оперативной памятью (Лиг.1) содержит блок 1 микропрограммного управления, входной регистр 2, оперативную память 3, выходной регистр 4, элемент И-ИЛИ 5 первой группы, первый элемент 6 И, первый триггер 7, первый элемент И-НЕ 8, третий триггер 9, второй элемент И-НЕ 10, второй триггер 11, элемент ИЛИ 12, второй элемент И 13, коммутатор 14, регистры 15 и 16 первой и второй группы соответственно, блок 17 управления, блок 8 приоритета запросов, группу блоков 88707 219 согласования, элементы И-ИЛИ 20второй группы, синхровход устройст,ва 21, группу информационных входоввыходов устройства 22, группу блоков23 запуска, группу узлов 24 счета,блок 25 приоритета временных запросов, тактовый вход 26 устройства.Блок 1 микропрограммного управления (Лиг.2) содержит память 27 10 микрокоманд, регистр 28 адреса, регистр 29 микрокоманд, дешиАратор 30,местную память 31, первый и второйрегистры 32 и 33 соответственно,ариАметико-логический узел 34, ре гистр 35 результата, первую и вторуюгруппы элементов И-ИЛИ 36 и 37 соответственно, первый элемент И 38, элеФмент И-НЕ 39, первый и второй инАормационные входы блока 40 и 41 соот ветственно, вход 42 режима блока,стробирующий вход 43 блока, вход 44разрешения блока, синхровход 45 блока, стробирующий выход 46 блока, адресный выход 47 блока, первый 48,тре, тий 49, четвертый 50, пятый 51 управляющие выходы блока, выход 52 выборки блока, второй управляющий выход53 блока, элемент И-ИЛИ 54, триггер55, третий регистр 56, второй элемент И 57, триггер 58, четвертыйрегистр 59, элемент НЕ 60, третьягруппа элементов И-ИЛИ 61, третийэлемент И 62, шестой управляющийвыход 63 блока, вход 64 адреса блока, группа управляющих выходов 6535блока.Блок 17 управления (фиг.З) содержит триггер 66 передачи данных,группу триггеров 67 и 68 передачиданных каналов, элементы И 69 и 70первой группы, второй и первый элемент ИЛИ 71 и 72 соответственно,первый и второй элементы И 73 и 74соответственно, элемент НЕ 75, триггер 76 запроса передачи данных,триггер 77 первого цикла передачи,триггер 78 промежуточного цикла передачи, триггер 79 второго цикла пе 50редачи, группу триггеров 80 и 81второго цикла передачи каналов,элементы И 82 и 83 второй группы, группу элементов И-ИЛИ-НЕ 84 и 85, первый и второй элементы И-ИЛИ 86 и 87соответственно, элементы И-ИЛИ 8855и 89 первой группы, элементы И-ИЛИ90 и 91 второй группы, с первой почетвертую группы входов 92 - 95блока соответственно, первый и вто 1288707рой входы 96 и 97 блока соответственно, с первого по пятый выходы98 - 102 блока соответственно, спервой по третью группы выходов103 " 105 блока соответственно 5Блок 19 согласования (фиг.4) содержит регистр 106 данных, буфернуюпамять 107 данных, триггер 108 обращения интерфейса, триггер 109 выбора буфера интерфейса, счетчик 110 10адреса байтов, триггер 1 11 выборабуфера процессора, триггер 112 но,мера слова, счетчик 113 двойных слов,первый и второй узлы 114 и 115 синхронизации соответственно, коммутатор 116, узел 117 обмена по интерфейсу, триггер 118 занятости регистра данных, триггер 119 занятостигруппы регистров, регистр 120 кодаоперации, дешифратор 121, элементы 20И-ИЛИ 122 и 123 первой и второйгруппы соответственно, с первого пошестой элементы И-ИЛИ 124 - 129 соответственно, элемент И-ИЛИ-НЕ 130,первый,и второй информационные входы 131 и 132 блока соответственно,информационный вход-выход 133 блока, вход 134 разрешения блока, синхровход 135 блока, информационныйвыход 136 блока, первый и второй 30синхровходы 137 и 138 блока соответ,ственно, выход 139 запроса блока, вы-ход 140 записи блока, выход 141чтения блока.Блок 23 запуска (Фиг.5) содержит 35регистр 142 коммутации, мультиплексор 143, элемент И 44, триггер 145,элемент ИЛИ 146, информационный вход147, группа входа 148 логических условий, линия 149 запуска, линия 150 40сброса, выход 151 управления счетоми выход 152 управления запуском.Узел 24 счета (фиг.6) содержитпервый и второй счетные триггеры 153и 154 соответственно, вход 155 нулевого потенциала, вход 156 единичного потенциала, вход 157 управлениязапуском, вход 158 управления счетом,выход 159 запроса,Блок 25 приоритета временных запросов (фиг.7) содержит приоритетныйшифратор 160, первый и второй элемен,-ты И 161 и 162 соответственно, триггер 163, групповой вход 164 запроса,синхровход 165,вход 166 сброса, выход 167 адреса, выход 168 управле-ния переключением.Устройство работает следующим образом. Имеется блок 19 согласования, буферная память 107 данных, которая имеет две зоны заполнения данными. Емкость каждой из зон соответствует разрядности оперативной памяти, В рассматриваемом случае она равна двойному слову, Ширина разрядности буферной памяти соответствует разряд" ности информационного тракта процессора, который равен одному слову и через тракты которого канал обменивается данными с оперативной памятью.Код операции, выполняемый блоком 19 согласования, находится в регистре 120 кода операции, Сигнал с выхода 2 дешифратора 121 определяет, что в бло ке согласования выполняется операция записи. Сигнал с выхода 1 дешифратора определяет, что в блоке согласования выполняется операция чтения.При выполнении чтения данные из периферийного устроиства побайтно с информационного входа-выхода блока 19 согласования через коммутатор 116 поступают в регистр 106 данных, Из регистра 106 данных через первую группу элементов И-ИЛИ 122 данные записываются в буферную память 107 данных по адресу с выхода второй группы элементов И-ИЛИ 123,Если триггер 119 занятости группы сброшен, после накопления двойного слова в буферной памяти производится сначала считывание первого слова из буферной памяти и передача его через информационный выход 136 блока согласования, вторую группу элементов И-ИЛИ 20, первую группу регистров15 во вторую группу регистров 16,затем считывание втооого слова и передача его в первую группу регистров 15. После заполнения регистров устанавливается в единичное состояние триггер 119 занятости группы регистров. Для определения чтения в этом случае третьим элементом И-ИЛИ 126 вырабатывается запрос на передачу данных, который через выход запроса блока 19 согласования поступает на вход блока 18 приоритета запросов. При операции записи во время второго цикла передачи данных соответствующего канала по сигналу, поступающему на вход разрешения блока согласования, устанавливается триггер 119 занятости группы регистров,фиксирующий чаличие данных, принятых из оперативной памяти в первыйи второй регистры 15 и 16 соответ 1288707ствующего канала. Если в буферной памяти 107 данных одна из зон свободна, происходит передача сначала первого слова данных из второй группы регистров 16, а затем второго слова данных через второй информационный вход блока 19 согласования, первую группу элементов И-ИЛИ 122 в буферную память 107 данных.Данные из буферной памяти 107 данных через второй информационный вход коммутатора 116 поступают в регистр 106 данных, откуда выдаются на информационный выход блока согласования под управлением узла 117 обмена по интерфейсу и триггера 118 занятости регистра данных. При операции записи запрос на передачу данных устанавливается с помощью третьего элемент И-ИЛИ 126, если триггер 119 занятости группы регистров сброшен. Сигнал операции чтения с первого выхода дешифратора 121 и сигнал операции записи с второго выхода дешифратора 121 подаются соответственно через выход 141 и 140 записи .блока 19 согласования соответственно на группу элементов И-ИЛИ 20, управляющие .направлением загрузки первой и второй групп регистров 15 и 16, и на блок 17 управления,Для управления адресацией буфера данных используется триггер 108 обращения интерфейса, Если триггер 108 обращения интерфейса сброшен,при выполнении обмена данными между буферной памятью данных и группой регистров адресации буферной памяти до зоны (двойного слова) происходит с помощью триггера 111 выбора буфера процессора, а до слова - с помощью триггера 112 номера слова. Триггер 112 номера слова во время передачи двойного слова переключается, Если триггер 108 обращения интерфейса установлен, может выполняться обмен между буферной памятью 107 данных и регистром 106 данных. При этом адресация зоны происходит с помощью триггера 109 выбора буфера интерфейса, а слова и байта внутри слова - с помощью трехразрядного счетчика 110 адреса байтов. Двухразрядный счетчик 113 двойных узлов указывает количество двойных слов в буферной памяти 107 данных. Во время операции записи он показывает количество незаполненных двойных слов в буферной памяти 107 данных, во время операции35 40 45 50 55 5 1 О 15 20 25 30 чтения - количество заполненных двойных слов. В начале операции записи счетчик устанавливается на "2" (два двойных слова не заполнено) и во время передачи двойного слова из групп регистров 15 и 16 уменьшается. После передачи двойного слова через интерфейс счетчик 113 двойных слов увеличивается. В начале операции чтения счетчик устанавливается в "0" и при обмене данными соответственно модифицируется.Управление последовательностью работы оборудования блока 19 согласования во время передачи данных между буФерной памятью 107 данных и регистром 116 данных осуществляется с помощью второго синхронизатора 115. Управление передачей данных меж ду буферной памятью 107 данных и группой регистров 15 и,16 производится первым синхронизатором 114. Первый синхронизатор 114 вырабатывает стробы загрузки первой и второй групп регистров 15 и 16 соответствующего канала, которые поступают соответственно при передаче данных в буферную память или из буферной памятина первый и второй синхровходы блока согласования. Запуск второго синхронизатора 115 производится через элемент И-ИЛИ-НЕ 130, а запуск первого синхронизатора 114 - через пятый элемент И-ИЛИ 128. Запросы от всех блоков 19 согласования поступают на блок 18 приоритета запросов и иэ блока 18 передается в блок 17 управления, в котором устанавливается триггер 66 передачи данных и один из группы триггеров 67 и 68 передачи данных каналов, которые указывают какой блок 19 согласования производит обмен данными. На вход блока 17 управления на вторую группу входов из блоков 19 согласования поступает код операции, который используется для аппаратурного формирования микрокоманды обращения к оперативной памяти на первой группе элементов И 69 и 70 и втором элементе ИЛИ 71, с выхода которого микрокоманда поступает на вход режима блока 1 микропрограммного управления, в регистр 29 микрокоманд через первую группу . элементов И-ИЛИ 36. При этом потенциалом с триггер бб передачи данных блока 17 управления блокируется прием микрокоманд из памяти 27 микро- команд блока 1 микропрограммного уп 7 128 равления на первой группе элементов И-ИЛИ 36 и пропускается микрокоманда из блока 17 управления, в ходе выполнения которой должен производиться обмен данными между оперативной памятью и первой и второй группами регистров 15 и 16 через внутренние тракты процессора. Для управления прохождением данных блок 17 управления вырабатывает послЕдовательность сигналов с выходов триггера 64 запроса передачи данных,триггера 77 первого цикла передачи,"триггера 79 второго цикла передачи, а для управления первой и второй группами регистров 15 и 16 - с выходов первой 88 и 89 и второй 90 и 91 групп элементов И-ИЛИ. Микрокоманда "Память" выполняется в два цикла. В первом цикле памяти готовится адрес данньж и в случае записи в память записываются данные. Чтение и запись производится в паузе между первым и вторым циклом. Длительность паузы зависит от времени обращения к памяти, Это время намного превосходит первый и второй циклы памяти. Во втором цикле памяти в случае считывания выбираются данные из памяти и пересылаются через внутренние тракты процессора в первую и вторую группы регистров 15 и 16. Триггер 76 запроса передачи данных блока 17 используется для запуска циклов аппаратурно сформированной микрокоманды "Память". Блок 18 приоритета запросов предназначен для выбора наиболее приоритетного из каналов.Коммутатор 14 предназначен для выбора данных из оперативной памяти или регистра 35 результата блока 1 и представляет собой группу элементов И-ИЛИ. На фиг.8 изображена временная ди- аграмма работы устройства для обмена данными между группой каналов ввода- вывода и оперативной памятью для выполнения микрокоманды память при обращении к ней процессора, На ней приняты следующие условные обозначения: а - синхронизация; б - прием в первый регистр 33 адреса оперативной памяти; в - прием двойного слова данных в выходной регистр 4; г - запись в местную память 31 модифицированного адреса оперативной памяти;50 55 рому выходу дешифратора 30 блока 1устанавливается третий триггер 9, который инверсным выходом на первомэлементе И б изменяет младший бит адреса оперативной памяти, который запоминается в конце выполнения микрокоманды "Память" на первом триггере7 и через первый элемент И-НЕ 8 изменяет управление первой группы элементов И-ИЛИ 5 на выдачу второгослова данных их выходного регистра 4на коммутатор 14, а прямой выход 8707д - выдача первого слова данных спервой группы элементов И-ИЛИ 5;е - выход третьего триггера 9; ж - выдача второго слова данных с пер-вой группы элементов И-ИЛИ 5; з - управление коммутатором 14 на выбор данных из оперативной памяти; и - запись первого слова данных; к - запись второго слова данных, Устройство для выполнения мирокоманды "Память" при обращении к ней процессора работает следующим образом.Из памяти микрокоманд 27 блока 1по адресу из регистра 28 адреса, через первую группу элементов И-ИЛИ36 в регистр 29 микрокоманд заносится микрокоманда, которая поступаетна дешифратор 30, с седьмого выхода . которого в местную память 31 подается адрес, по которому на первый регистр 33 считывается адрес данныхоперативной памяти, который черезадресный выход 47 блока 1 подаетсяна адресный вход оперативной памяти.Двойное слово данных из оперативнойпамяти заносится в выходной регистр4, из которого с помощью первой группы элементов И-ИЛИ 5 на коммутатор14 подается первое слово данных. Управление выбором нового слова осуществляется первым элементом И-НЕ 8по установленному первому триггеру7, который устанавливается черезпервый элемент И 6, по младшему би ту,адреса двойного слова из первогорегистра 33 блока 1. Ацрес данныхоперативной памяти подается такжена арифметическо-логический узел 34,где он модифицируется и через регистр 35 результата и коммутатор 14записывается в местную память 31.После этого управление коммутатором 14 по выходу второго элемента И 13 переключается на выбор первого слова данных из оперативной памяти. После записи первого слова данных по вто 128870третьего триггера 9 управляет передачей этого слова данных через коммутатор 14 на фоне выполнения следую 1 цей микрокоманды,На Фиг.9 изображена временная диаграмма работы устройства для обмена данными между группой каналов ввода-вывода и оперативной памятью для выполнения аппаратурно сормнованной микрокоманды "Па" счи тывания из оперативной памяти. На ней приняты следующие условные обозначения: а - синхронизация; б - выход триггер 77 йервого цикла передачи; в - выход триггера 78 про 15 межуточного цикла передачи; г - выход триггера 79 второго цикла передачи; д - прием в первый регистр 33 адреса оперативной памяти и счетчика байтов; е - прием двойного слова данных в выходной регистр 4; ж - выдача первого слова данных с первой группы элементов И-ИЛИ 5; з - выдача второго слова данных с первой группы элементов И-ИЛИ 5; и - выход второго триггера 11; к - управление коммутатором 14 на выбор данных из оперативной памяти, и - запись в местную память 31 модифицированного адреса оперативной памяти и счетчика байтов; м -строб первой группы регистров 15; н - строб второй группы регистров 16.Устройство для обмена данными между группой каналов и оперативной памятью для считывания данных из оперативной памяти в первую и вторую группы регистров 15 и 16 работает следующим образом. Из блока 17 управления в блок 1 в регистр 29 микроко 40 манд заносится аппаратурно сформированная микрокоманда, которая поступает на дешифратор 30 с седьмого выхода которого в местную память 31 подается адрес, по которому на пер 45 вый регистр 33 в первом цикле памяти считывается адрес данных оперативной памяти, который подается на адресный вход оперативной памяти и на ариджетико-логический узел 34, на котором он модифицируется. Из оперативной памяти в выходной регистр 4 считывается двойное слово данньгх. Младший бит адреса оперативной памяти, который адресует первое слово данных из первого регистра 32 блока 1 через первьпю элемент И 6 устанавливает первый триггер 7,который 7 10через первый элемент И-НЕ 8 управляет выбором на первой группе элементов И-ИЛИ 5 первого слова данных, которое поступает на коммутатор 14, С выхода триггер 66 передачи данных блока 17 управления на информационный вход второго триггер 11 подается сигнал, который устанавливает этот триггер в начале первого цикла микрокоманды "Память", Второй триггер 11 управляет передачей через коммутатор 14 первого слова данных оперативной памяти, которое проходит через вторую группу элементов И-ИЛИ20 под управлением выхода записи блока 19 согласования и,через первую группу регистров 15, так как на синхронизирующий вход подается постоянный строб и защелкивается во второй группе регистров 16 по стробу, сформированному на первой группе элементов И-ИЛИ 88 и 89 блока 17по сигналам с выхода группы триггеров 67 и 68 передачи данных каналов триггера 72 второго цикла передачи и синхросигнала. Из местной памяти 31 блока 1 во втором цикле памяти на первый регистр 33 считывается счетчик байтов, который указывает то количество байтов которое осталось передать из оперативной памяти в каналы, Счетчик байтов передается на арифметическо-логический узел 34, на котором он модифицируется. После сброса второго триггера 11 управление коммутатором 14 переключается на выдачу из регистра результата 35 модифицированного адреса, который записывается в местную память 31, Затем на втором элементе И-НЕ 10 по сигналу с выхода триггера 79 второго цикла передачи блока 17 и сигналу с синхровхода 21 устройства вырабатывается сигнал, который поступает на второй вход первого элемента И-НЕ 8 и инвертирует выход этого элемента. Таким образом, первая группа элементов И-ИЛИ 5 выбирает второе слово данных, которое через коммутатор 14 под управлением сигнала с выхода второго элемента И 13 поступает через вторую группу элементов И-ИЛИ 20 на первую группу регистров 15, где оно и защелкивается по стробу, сформированному на второй группе элементов И-ИЛИ 90 по сигналам с выхода группы триггеров 67 и 68 передачи данных каналов, синхросигнала и сигнала с выхода группы триггеров 80 и 81 второго цикла передачи каналов и элементов И-ИЛИ-НЕ 84 и 85. Запись модифицированного счетчика из регистра результата 35 блока 5 1 в местную память 31 выполняется на фоне выполнения следующей микрокоманды.На фиг.10 изображена диаграмма работы устройства для обмена данными между группой каналов ввода-вывода и оперативной памятью для выполнения аппаратурно сформированной микрокоманды "Память" записи в оперативную память. На ней приняты следующие условные обозначения: а - синхронизация; б - выход триггера 77 первого цикла передачи; в - выход триггера 78 промежуточного цикла передачи; г - прием в первыи регистрн20 33 адреса оперативной памяти; д - прием во второй регистр 32 данных из второй группы регистров 16 е - прием данных во входной ре 25 гистр 2; ж - строб второй группы ре,гистров 16; з - запись в оперативную память.Устройство для обмена данными между группой каналов. ввода-вывода и оперативной памятью для записи данных из первой и второй групп регистров 15 и 16 в оперативную память работает следующим образом. Со второго информационного выхода группы регистров 16 в блок 1 во второй регистр 32 через вторую группу элементов И-ИЛИ 37 под управлением сигнала с выхода триггера 54 передачи даннйх.блока 17 принимается первое слово данных по стробу с выхода первогоэлемента И-ИЛИ 86 блока 17 управления, который вырабатывается по синхросигналу. После приема первого слова во второй регистр 32 блока 1 данные через первый управляющий выход 48 блока 1 подаются на входной регистр 2, где онипринимаются по стробу, сформированному на втором элементе И-ИЛИ 87 блока 17, который вырабатывается по синхросигналу и третьему управляющему выходу блока 1. После приема первого слова данных во входной регистр 2 второе слово данных из первой группы регистров 15 переписывается во вторую группу регистров 16 по стробу с выхода первой группы элементов И-ИЛИ 88 и 89 блока 17, сформированного 1288707 2по сигналам с выхода группы триггеров 67 и 68 передачи данных каналов,триггера 77 первого цикла передачии синхросигнала. С выхода второйгруппы регистров 16 второе словоданных записывается во второй регйстр 32 блока 1 через вторую группуэлементов И-ИЛИ 37 по стробу с выхо да первого элемента И-ИЛИ 86 блока17, сформированного по сигналам с выхода триггера 66 передачи данных, триггера 77 первого цикла передачи и сиихросигнала. С выхода второго регистра 32 блока 1 второе слово данных поступает на входной регистр 2, на которомоно защелкивается по стробу свыхода второго элемента И-ИЛИ 87 блока 17, сформированного по сигналамс выхода триггера 66 передачи данныхи синхронизирующему сигналу, Из мест.ной памяти 31 блока 1 считываетсяадрес, который через первый регистр33 передается на адресный выход оперативной памяти, По первому выходудешифратора 30 блока 1 на элементеИ 38 вырабатывается строб записи воперативную память, который подается в оперативную память.Аппаратно-микропрограммный контроль перерывов в работе интерфейсаввода-вывода устройства для обменаданными между группой каналов вводавывода и оперативной памятью (временной контроль) работает следующимобразом.гЬВременной контроль устройства позволяет проконтролировать перерывыв работе интерфейса ввода-вывода,связанные с возникновением ошибок,которые произошли в процессе связиканала ввода-вывода с периферийнымустройством или в аппаратуре канала,или в магистрали ввода-вывода, илив аппаратуре периферийного устройства, и которые не обнаруживались другими схемами контроля. В связи сеэтим временной контроль включаетсяс момента начала связи канала с периферийным устройством и отключается только после полного окончаниясвязи, которое определяется приемомиз периферийного устройства в каналтак называемого конечного байтасостояния, который периферийное устройство должно всегда выдать в канал. В процессе выполнения командЫввода-вывода, в к оторой указываетсяномер канала, который будет выпол88707 14 13 - 12 нять операцию ввода-вывода, и адрес 1 периферийного устройства, с которым укаэанный канал должен осуществить связь, после начала связи микропрограммы путем при помощи дешифрации соответствующей микрокоманды на дешифраторе 30 с группы выходов 65 блока 1 в один из блоков 23 запуска группы по линии 149 поступает на второй вход элемента И 144 сигналзапуска, сигнал с выхода которого устанавливает триггер 145 в единичное состояние, а через первый вход .элемента ИЛИ 146 и выход 152 управления запуском блока 23 сбрасывает счетные триггеры 153 и 154 в исходное состояние. Разрешение запуска временного контроля и выбор временного интервала действия временного, контроля осуществляется при помощи регистра коммутации 142 и мультиплексора 143 блока 23, которые пока" заны из расчета восьми градаций временных интервалов действия временного контроля, что в свою очередь осуществляется при помощи приема по групповому входу 26 восьми временных сигналов различной длительности, взятых, например, с часов процессора. При помощи регистра 142 на пер вом, втором, третьем выходах вручную набирается соответствующий код, адресующий один из восьми временных сигналов на групповом входе 26, который подается на адресный вход мультиплексора 143, а на четвертом выходе регистра 142 устанавливается потенциал разрешения запуска временного контроля. Мультиплексор 143 может быть построен на базе микросхемы 500 ИЦ 164.Таким образом, если потенциал разрешения с четвертого выхода регистра 142 коммутации установлен после запуска аппаратной части временного контроля, узел 24 счета начнет считать временные сигналы, поступающие с выхода мультиплексора. (143) через вход 158 счета узла 24 на синхровход второго счетного триггера 154. Так как второй счетный триггер 154 установлен на режим счета, а счетный триггер 153 - на режим работы обычного триггера, который может быть построен на базе микросхемы МС 500 ТВ 135, то после того,как на синхровходе счетного триггера 154 временной сигнал дважды изменит свое состояние из "1" в "0", счетныйтриггер 153 установится в единичноесостояние, и с выхода этого триггера на выход 159 запроса узла 24 поступит сигнал запроса, который говорит о том, что перерыв в работеинтерфейса ввода-вывода превысил допустимый.Если триггер 153 не успеет уста 10 новиться в единичное состоянйе,т.е,связь канала с периферийным устройством закончится в течение макси"мально установленного промежуткавремени, что зафиксировано путем15 микропрограммного сброса триггера145 по микрокоманде,продешифрирован-.ной на дешифраторе 30, сигнал с которого по линии 150 блока 23 запускасбросит триггер 145, следовательно,20 связь выполнена успешно. Таким образом, целью реализации части вре"менного контроля аппаратным путемявляется исключение потерь временипроцессора в случае безошибочнойработы аппаратуры каналов, магистрали ввода-вывода и периферийногоустройства.Если на выходе 159 узла 24 появился сигнал запроса, следовательно,30 где-то в работе аппаратуры произошлаошибка, по причине которой связьмежду каналом ввода-вывода и периферийным устройством не может бытьзакончена. В этом случае микропро 35 граммным путем сигнализируются возможные причины отказа, номер каналаи адрес периферийного устройства,Микропрограммный анализ временногоконтроля может быть выполнен следую 40 щим образом,После фиксации аппаратурой временного контроля наличие сбоя, которое произошло в процессе связиканала ввода-вывода с периферийным45 устройством (наличие одного или нескольких сигналов на групповом входе.164 запросов блока 25), выполняетсяпереход на микропрограмму обслуживания сбоя по временному контролю,50 Для этой цели на приоритетном шифраторе 160, на входы которого поступают запросы от всех каналов ввод-вывода группы, осуществляется выборнаиболее приоритетного запроса (в55 рассматриваемом случае приоритетностьзапросов устанавливается по номеруканала: канал 1 - высший приоритет,канал 2 - менее высокий и т.д.) путем фиксации всех поступивших на оппоследнего адреса микрокоманды мик"ропрограммы временного контроля;р - запись в регистр 28 адреса адреса последней микрокоманды; с - выполнение последней микрокоманды микропрограммы временного контроля;т - запись в регистр 28 адреса изрегистра 59 адреса (К + 1)-й микрокоманды ранее прерванной микропрограммы процессора; у - выполнение(К + 1)-й микрокоманды.В процессе выполнения последнейминрокоманды микропрограммы временного контроля по этой микрокоманде,продешифрированной на дешиАраторе.30 сигналом с восьмого выхода дешифратора 30 через выход 63 сбросаблока 1, который поступает на второй вход элемента И 162, сбрасывается триггер 163. Таким образом,при выполнении последней микрокоманды микропрограммы временногоконтроля блок 25 приоритета временных запросов устанавливается в исходное состояние,В процессе выполнения микропрограммы временного контроля выполняются следующие действия.Пуск временного контроля устройства выполняется каждый раэ в процессе выполнения очередной командыввода-вывода. Если выполнение очередной команды ввода-вывода начато,когда выполнение операции ввода-вывода, начатой по предыдущей команде ввода-вывода, не закончилось, установка триггера 145 выполняется вновь, хотя он и установлен, Но при этом счетные триггеры 143 и 154 приводятся в исходное состояние.За время до срабатывания счетного триггер 153 должны быть выполнены две операции ввода-вывода или столько, сколько одновременно запущенных операций ввода-вывода, Если за это время не выполнена одна или несколько, операций ввода-вывода, следовательно, в процессе выполнения этих операций находятся перерывы в работе канала ввода-вывода с периферийными устройствами, которые приводят к нарушению работы системы ввода-вывода.С целью конкретизации адреса нериферийного устройства или адресов 55 нескольких периферийных устройств,с которыми произошли временные перерывы в работе выше допустимых, в местной памяти 31 хранятся таблицы 15 1288707 26ределенный момент времени запросовна вход приоритетного шиАратора160 (типа 500 ИВ 165) по синхроимпульсу, поступившему с синхровхода 165на первый вход элемента И 161, навторой вход которого поступает сигнал с инверсного выхода триггера163. После Аиксации запросов, на адресных выходах приоритетного шиАратора устанавливается номер канала, 10запрос которого самый приоритетный,который выдается на выход 167 адреса,а на управляющем выходе устанавливается сигнал, который устанавливает триггер 163 в единичное состояние, 15тем самым запрещая выполнять Аиксациюзапросов на приоритетном шиАраторе160 по вновь поступившему синхроимпульсу, и выдается на выход 168, каксигнал управления переключением,по которому адрес с выхода 167 блока 25, как начальный адрес микропрограммы временного контроля, заносится в регистр адреса 28 вместоочередного адреса выполняемой в процессоре микропрограммы,Временная диаграмма приостановкивыполняемой в процессоре микропрограммы и начало и конец выполнениямикропрограммы временного контроляпоказана на Аиг,11. На ней принятыследующие условные обозначения: а -синхронизация; б - выполнение К-ймикрокоманды микропрограммы процессора; в - Фиксация и хранение запросов на приоритетном шиАраторе 160;г - инверсный выход триггера 163;д - выход элемента НЕ 60; е - инверсный выход триггера 55; ж - инверсный .выход триггера 58; з - записьаппаратно сформированного адреса свхода 64 в регистр 56 (адрес первоймикрокоманды микропрограммы временного контроля); и - запись и хранение в регистр 59 (К + 1)-й микрокоманды приостановленной микропрограммы процессора; к - запись в регистр адреса 28 адреса аппаратносАормированного адреса из регистра56; л - выполнение первой микрокоманды микропрограммы временногоконтроля; м - запись адреса второймикрокоманды с дешифратора 30 в регистр 56; н - запись в регистр28 адреса адреса микрокоманды изрегистра 56; о - выполнение второймикроКоманды микропрограммы временного контроля; п " запись в регистр 56

Смотреть

Заявка

3929069, 11.07.1985

ПРЕДПРИЯТИЕ ПЯ М-5339

ПРОНИН ВЛАДИСЛАВ МИХАЙЛОВИЧ, МАЗИКИН БОРИС ВИКТОРОВИЧ, ХАМЕЛЯНСКАЯ ЗОЯ ПЕТРОВНА, ЯНОВСКАЯ АЛЛА ГЕОРГИЕВНА

МПК / Метки

МПК: G06F 13/00

Метки: ввода, вывода, группой, данными, каналов, между, обмена, оперативной, памятью

Опубликовано: 07.02.1987

Код ссылки

<a href="https://patents.su/19-1288707-ustrojjstvo-dlya-obmena-dannymi-mezhdu-gruppojj-kanalov-vvoda-vyvoda-i-operativnojj-pamyatyu.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для обмена данными между группой каналов ввода вывода и оперативной памятью</a>

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