Устройство для контроля выполнения программ
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 150 4 С 06 Р 11/28 ЗОБРЕТЕНИЯ ДЕТЕЛЬСТВУ АВТОРСКОМ анов,ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССРОПИСАНИЕ И(56) Авторское свидетельство СССРВ 1019451, кл. С 06 Р 11/00, 1983Авторское свидетельство СССРУ 1315991, кл. О Об Г 11/28, 1985(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ВЫПНЕНИЯ ПРОГРАММ(57) Изобретение относится к вычислительной технике и может быть .использовано для контроля выполненияпрограмм в цифровых вычислительныхмашинах и программируемых контроллерах, построенных по принципу "Общеймагистрали", Цель изобретения - повышение достоверности контроля за ходом выполнения программ, Процессорсодержит счетчики, триггер, блокирегистров, схему сравнения, элементыИЛИ,блок управления, блок постоянной памяти, коммутаторы, регистр команд, блок оперативной памяти, блокввода-вывода и блок анализа ветвлений. 2 з.п. ф-лы, 21 ил., 1 табл.17 14344счетчика 1 и вход записи регистра 6команд.Производится инкремент счетчика 12путем подачи сигнала с выхода 30блока 8 управления на счетный вход 38третьего счетчика 12, в результате чего на адресных входах блока 9постоянной памяти устанавливается ацрес второго байта команды проверки,если выбранная команда пятибайтная,и адрес следующей команды проверки,если выбранная команда - однобайтная(фиг.,12, оператор 2 "Выборка команд). 15Шаг 3, Если с соответствующеговыхода микроЭВМ на вход 81 подтверждения прерывания процессора и далеена четвертый адресный вход блока 8управления поступает сигнал "Подтверждение прерывания" и микроЭВМ переходит к отработке подпрограммы об"служивания прерывания выполняетсяпереход к шагу 7 алгоритма,в против ном случае к шагу 4 (фиг,12, оператор 3 "Прерывание" ),Шаг 4. Завершение линейного участка программы микроЭВМ сопровождаетсяобнулением счетчика 1, содержимоекоторого уменьшается по мере обработ- З 0ки линейного участка путем подачисигналов синхронизации машинных цик"лов с соответствующего выхода микроЭВМ на синхровход 53 процессора идалее на счетный вход 52 в режимевычитания счетчика 1, Нулевые сигналы с группы выходов 26 счетчика поступают соответственно на группу входов первого элемента ИЛИ 6, нулевойсигнал с выхода которого воспринимается на первом адресном входе 27 блока 8 управления как сообщение "Конец линейного участка"Если на вход27 блока 8 управления поступает сиг"нал "Конец линейного участка", выполняется переход к шагу 8 алгоритма,в противном случае - к шагу 6 (Фиг,12,оператор 4 "Конец линейного участка")Шаг 5, Линейный участок, состоящийиз команд последовательной цепи операций (команды пересылок арифметические операции, команды ввода, вывода, установки флагов и т.п,), микроЭВМ "проходит" путем инкремента программного счетчика микропроцессора.Содержимое програмного счетчика мик-,роЭВМ устанавливается на шине адреса микроЭВМ н циклах обращения к па 39 18мяти, содержащей контролируемую программу. Проверка правильности "прохожцения" микроЭВМ линейного участка программы осуществляется путем сравнения текущих адресов обращения мик" роЭВМ к рабочей программе и синхронно изменяющегося адреса-копии, хранящегося в первом счетчике 10, Процедура сравнения текущего адреса и С адреса-копии и проверка правильности последовательного хода рабочей программы выполняется под управлением блока 19 анализа ветвлений. Работа блока 19 анализа ветвлений в режиме проверки правильности последовательного хода программы поясняется временной диаграммой, представленной на Фиг.3.После окончания сигнала "Общий сброс" (момент времени 137, эпюра 138, фиг,13) микроЭВМ по второму тактовому сигналу 139 (эпюра 140, фиг. 13) формируется сигнал 141 синхронизации микропроцессорной системы (эпюра 142, Фиг.13). Этот сигнал поступает на синхровход 53 процессора и далее (см.фиг.1) на вход 51 записи первого блока 3 регистров. Одновременно с информационного входа 22 процессора :на информационный вход 21 первого блока 3 регистров поступает текущий начальный адрес 143 рабочей программы (эпюра 144, фиг.13) микроЭВМ и запоминается в нем (эпюра 145, фиг. 13)Одновременно сигнал синхронизации с синхровхода 53 процессора поступает на счетный вход 52 в режиме вычитания счетчика 1 и производит изменение его, содержимого. Сигнал синхронизации поступает также на синхровход 50 блока 19 ана" лиза ветвлений и производит его запуск, Сигнал синхронизации с синхровхода 50 блока 19 анализа ветвлений поступает, через инвертор 136 (см, фиг.11) на вход установки в ноль пер" вого триггера 121, Нулевой сигнал с единичного выхода триггера 12 постулает через элемент И 126 на вход установки в ноль счетчика 124, и счетчик 124 переходит в нулевое состояние, а также на вход установки в единицу триггера 122, устанавливая его в единичное состояние. Кроме того, нулевой сигнал с единичного вы" хода триггера 121 поступает на вход14344 19установки в единицу триггера 123, устанавливая его в единичное состоя- ние, Нулевое значение сигнала с выхода младшего разряда счетчика 124 по 5 ступает на выход 63 блока 19 анализа ветвлений и далее (см. фиг.) навход 67 управления первого коммутатора 13 и вход 64 обращения первого блока 3 регистров. Нулевой сигнал с входа 64 обращения (фиг.2) первого блока 3 регистров поступает на инверсный вход обращения регистра 89, и информация о младшем байте текущего адреса поступает с выходов ре- я гистра 89 на выход 20 блока 3 регистров и далее (фиг.1) на первый информационный вход схемы 5 сравнения. Одновременно нулевой сигнал с входа 67 управления первого коммутато-. 20 ра 13 поступает черезинввртор 108 (см. фиг,7) и элемент И 107 на вход управления группы шинных формироватетелй 105 с тремя состояниями, открывая формирователи этой группы для 25 прохождения информации о младшем байте (состояния счетчика 99 фиг.5) первого счетчика 10 по цепи 99"69 (фиг.5), 69-70 (фиг.1), 70-105"58 (фиг.7) на второй вход схемы 5 срав кения. Единичный сигнал равенства младших байтов текущего адреса мик- роЭВМ и адреса копии процессора (соетояние 147, эпюра 148, фиг.3) с выхода схемы 5 сравнения поступает на информационный вход 55.блока 19 анализа ветвлений.и далее (фиг, 11) через элементы ИЛИ 134 и И 127 на информационный вход триггера 122, После завершения сигнала синхронизации на входе установки в ноль и информационном входе триггера 121 устанавли" вается единичное значение сигнала. Очередной тактовый импульс 149 (эпюра 140, фиг. 13) поступает с тактово го входа 29 процессора ( фиг. ) на тактовый вход 54 блока 19 анализа ветвлений и далее (фиг.11) ыа синхровход триггера 121, устанавливая его в единичное состояние, Сигнал с еди О ничного выхода триггера 121 отпирает элемент И-НЕ 31 для прохождения тактового сигнала через элемент ИЛИ 133 на счетный вход в режиме суммирования (эпюра 150, фиг,13) счетчика 124, и счетчик 124 переходит из нулевого состояния в первое, а также на синхровход триггера 122, и единичное состояние этого триггера подтвержда 3920ется (состояние 151, эпюра 152,фиг,3).Если в результате сбоя или отказамикроЭВМ младший байт текущего адреса не равен ожидаемому, нулевой сигнал неравенства с выхода схемы 5сравнения (фиг,1) поступает на информационный вход 55 блока 19 анализаветвлений и далее (фиг.11) черезэлементы ИЛИ 134 и И 127 на информационный вход триггера 122 и тактовыйсигнал 149 (эпюра 140, фиг,13),поступающий по цепи 29-64 (фиг.1), 54-131-122 (фиг . 1 1) на синхровход триггера 122, переводит его в нулевое состояние (состояние 153, эпюра 152.фиг.3).Единичный сигнал с выхода младшегоразряда счетчика 124 поступает навыход 63 блока 9 анализа ветвленийи далее (фиг. 1 ) на вход 64 обращенияблока 3 регистров. Бдиничный сигналс входа 64 (фиг.2) блока 3 регистровпоступает на прямой вход обращениярегистра 90, и информация о старшембайте текущего адреса поступает свыходов регистра 90 на выход 20 блока 3 регистров и далее (фиг.1) на .первый информационный вход схемы 5сравнения . Одновременно единичныйсигнал с выхода 63 блока 19 и анализа ветвлений поступает на вход 67управления первого коммутатора 13 идалее (фиг.7) через элемент И 106на вход управления группы шинных формирователей 104 с тремя состояниями,открывая формирователи этой группыдля прохождения информации о старшембайте (состояния счетчика 98, фиг5)первого счетчика 1 О по цепи 98-69(фиг.7) на второй вход схемы 5 сравнения,Единичный сигнал равенства старших байтов (состояния 154, эпюра 148,фиг,13) текущего адреса микроЗВМ иадреса-копии процессора с выхода схемы 5 сравнения (фиг.1) поступает наинформационный вход 55 блока 19 анализа ветвлений и далее (фиг.11) через элементы ИЛИ 34 и И 27 на информационный вход триггера 122. Очередной тактовый импульс 155 (эпюра140, фиг. 13) поступает с тактовоговхода 29 процессора (фиг.1) на тактовый вход 54 блока 19 анализа ветвле-,ний и далее (фиг.1) через элементИ-НЕ 13 на синхровход триггера 2221 1434439 и подтверждает единичное состояние 156 (эпюра 152, фиг.13) этого триггера. Если в результате сбоя или отказа микроЭВМ старший байт текущего адреса5 не равен ожидаемому, нулевой сигнал неравенства с выхода схемы. 5 сравнения (Фиг,1) поступает на информационный вход 55 блока 19 анализа ветвлений и далее (Фиг,11) через элемент ИЛИ 134 и И 127 на информационный вход триггера 122 и тактовый сигнал 155 (эпюра 140, фиг,13), поступающий по цепи 29-54 (Фиг, 1) 54-131-122 (Фиг. 11), йа синхровход триггера )5 122, переводит его в нулевое состояние (состояние 157, эпюра 151, Фиг, 13). Такимобразом триггер 122 запоминает результат побайтного сравнения текущего адреса микроЭВМ и адреса копии процессора. Этот результат с единичного выхода триггера 122 поступает на выход 56 блока 19 анали" эа ветвлений и далее (Фиг,1) на адресный вход 57 блока 8 управления. 25 Тактовый импульс 155 (эпюра 40,фиг.13) с тактового входа 29 процессора поступает также по цепи 29-54; счетный вход в режиме суммированиясчетчика )24 и переводит этот счет чик из первого состояния во второе,; При этом сигнал на выходе старшегоразряда счетчика 124 принимает единичное значение (состояния 158, эпю 35, ра 146, Фиг.)3),Этот сигнал запира; ет элементы ИЛИ 133 и 134 для прохождения соответственно тактовых сигналов с входа 54 блока 19 анализаветвлений через элемент И-НЕ 131 насчетный вход в режиме суммированиясчетчика 124 и результат сравнения синформационного входа 55 через элемент И 127 поступает на информационныи вход триггера 122, а также напервые входы элементов И 128 и 129,на третьи входы которых поступаетединичное состояние сигнала с единичного выхода триггера 123. При этомв зависимости от результата сравнения, поступающего с единичного выхода триггера 122 через элемент 127 навторой вход элемента И 128 и черезинвертор 135 на второй вход элементаИ 129, на выходах .элементов И 128и 129 появляются сигналы управлениясчетчиком )25 блока 19 анализа ветв-,лений и.счетчика 10 процессора,22В случае равенства текущего адреса микроЭВМ и адреса"копии процессо"ра единичное значение сигнала с выхода триггера )22 поступает через эле-мент И 127 на второй вход элементаИ 128 и единичный сигнал с его выхода поступает на вход установки в нольсчетчика 125, устанавливая его в ну"левые (эпюра 159, фиг,13) состояния.Одновременно сигнал с выхода элемента И 128 поступает на выход 63 блока19 анализа ветвлений и далее (Фиг,)на счетный вход 65 счетчика 1 О процессора и производит инкремент адреса-копии ,эпюра 160, фиг.)3). Еслитекущий адрес микроЭВМ и адрес-копиипроцессора не равны, нулевой сигналс единичного выхода триггера 122(Фиг.)1) поступает через элементИ 127 на второй вход элемента И 128и запирает его для прохождения сигнала управления счетчиками. Одновременно этот сигнал поступает через элемент И )27 и инвертор 135 на второйвход элемента И 129, с выхода которого на счетный вход счетчика 125 пос"тупает сигнал, производящий инкре"мент его содержимого ,зпюра 59,фиг.)3).Единичный сигнал с выхода старшего разряда счетчика 124 поступаетна вход элемента И-НЕ )32, и нулевойсигнал с его выхода поступает на входустановки в ноль триггера 123. Триггер 23 переходит в нулевое состояние, и нулевой сигнал с единичноговыхода этого триггера запирает элементы И 28 и 129, запрещая управление счетчика 125 блока 19 анализаветвлений и счетчика 1 О процессорадо прихода следующего импульса синхронизации их микроЭВМ,Единичный сигнал с выхода старшего разряда счетчика 124 поступает лтакже на выход 56 блока 19 анализаветвлений и далее (Фиг.1) на второйадресный вход 57 блока 8 управленияв качестве сигнала "Конец цикл сравнения". На этом первый цикл провер"ки правильности "прохождения" микро"ЭВМ линейного участка программы за"канчивается,Счетчик 125 блока 19 анализа ветвлений предназначен для подсчета количества следующих один за другим циклов микроЭВМ, в которых на шине адреса на информационном входе 22 про"цессора устанавливается "производь 1434ные , предусмотрнны списком инструкций микропроцессора, адреса обращения к внешним устройствам. Команды последовательной цепи операций микро 5 процессора КР 580 ИКЗО предусматривают до двух таких циклов. Например, команды записи н стек содержимого пары регистров микропроцессора предписывают во втором и третьем маштггных циклах установку на шине адреса состояния регистра указателя стека, Следовательно, блок 9 анализа ветвлений при проверке последовательного хода выполнения программы должен допускать "свободную" адрессацию микро- ЭВМ н течение двух циклов. Таким образом, если в течение трех следующих один эа другим циклов микроЭВМ устанавливает на информационном входе 22 20 процессора "нештатные" адреса, блок 19 анализа ветвления н ответ на каждый из трех сигналов синхронизации машинных циклов выполняет указанные циклы проверки последовательного хода 25 выполнения программы и счетчик 25 блока 19 анализа ветвлений переходит в третье состояние, единичные сигналы с выходов его разрядов поступают на входы элемента И 30 и на 30его выходе устанавливается сигнал"Ошибка последовательного хода выполнения программы. Этот сигнал с выхода элемента И 1 Зг) поступает на выход56 блока 19 анализа ветвлений и далее ,Фиг.1) на второй вход 57 адреса блока 8 управления.Если на вход 57 блока 8 управления поступают сигналы "Конец цикласравненияи и Ошибка последовательного хода выполнения программы", выполняется переход к шагу 6 алгоритма, в противном случае по сигналуКонец цикла сравнения" выполняетсяпереход к шагу 3 (фиг.12, оператор5 "Последовательный к ход"),Шаг 6. На втором информационномвыходе 48 блока, 8 управления устанавливается сигнал "Установка Флагаошибки", который поступает на входустановки в единицу триггера 2,и устанавливает его в единичное состояние. Сигнал на нулевом выходетриггера 2 принимает нулевое значение. Этот сигнал поступает на выход23 ошибки процессора и воспринимаетсяна входе запроса прерывания микроЭВМкак сигнал запроса прерывания на обслуживание процессора, после чего вы 439 I 4по.тянется переход к шагу 25 (Фиг.12; Оператор 6 "Утаногзки флага олиб - ки").11)яг 7. Заг ручка состояния ггроцессора в стек предусматривает выполнение следующих операций:я) запись н стек команды состояние регистра 16 команд и состояние счетчика 1. С информационного выходя 30 ;фиг. 1) блока 8 управления ня вход 41 управления коммутатора 15 и далее (Фиг.9) на входы управления первой 11 и второй 112 групп шинных формирователей с тремя состояниями% поступает сигнал управления, и повторители открываются для прохождения информации о состоянии регистра 16 команд и счетчикавыделения импуль"сов соответственно по цепям 26-88 (фиг.1), 88-112 в(Фиг.9) и 16-87 1(фиг.1),87-11-60 (Фиг.9) и далее (фиг, ) с информационного выхода 60 коммутатора 15 на информационный вход-выход 61 блока 17 оперативной памяти. С информационного выхода 30 блока 8 управления на вход 35 управления блока 17 оперативной памяти поступают сигналы обращения и записи, и состояние входов - выходов 61 записывается в ячейку блока 17 оперативной памяти . Адрес ячейки памяти определяется состоянием счетчика 11, информация о котором поступает с информационного выхода 7 этого счетчика на адресный вход 72 блока 17 оперативной памяти;б) декремент счетчика 11 ,(указателя стека). С инФормационного выхода 30 блока 8 управления поступает сигнал на счетыый вход 34 н режиме вычитания счетчика 11 и производит декремент содержимого этого счетчика;в) запись н стек старшего байта содержимого программного счетчика 12 процессора. С выхода 30 блока 8 управления на вход 40 управления коммутатора 14 и далее (Фиг.8) на управляющие входы группы шинных формирователей 109 поступает управляющий сигнал, открыная понторители этой группы для прохождения информации о старше г байте состояния программного счетчика 12 процессор по цепи 84-85 ,Фиг.1), 85-109-59 ,Фиг, 8), 59-61 ;Фиг. 1) на информцимяггионный вход- выход 61 блока 17 опертинной информации, С информационного выход 30 блока 8 управления ня вход 35 уцрян 25 14ления блока 17 оперативной памяти поступают сигналы обращения и записи,и состояние входов-выходов 61 записывается в, ячейку блока 17 оперативнойинформации, Адрес ячейки памяти определяется состоянием счетчика 11, информация о котором поступает с инфор,мационного выхода 71 этого счетчикана адресный вход 72 блока 17 оператинной памяти;г) декремент счетчика,указателя стека);д) запись н стек младшего байтасодержимого программного счетчика 12процессора. С выхода 30 блока 8 управления на вход 40 управления коммутатора 14 и далее (фиг.8) на управляющие входы группы шинных формирователей 11 О поступает управляющий сигнал, открывая шинные повторителиэтой группы для прохождения информации о младшем байте состояния программного счетчика 2 процессора поцепи 84-85 (фиг,1) 85-110-59 (фиг,8),.59-б (фиг,1) на информационный входвыход 61 блока 17 оперативкой памя,ти, и записывается в ячейку памяти,состоянием счетчика 1, информацияо котором поступает с информационного выхода 71 этого счетчика наадресный вход 2 блока 17 оперативой памяти, под воздействием сигна."ов обращения и записи, поступающиха вход 35 управления блока 17 опера.инной памяти с информационногоыхода 30 блока 8 управления;е) декремент счетчика 11 (указа, ,еля стека). а этом загрузка состояния процессора в стек завершаетсяи выполняется переход к шагу 25 алгоритма ,фиг.12, оператор 7 "Загрузка состояния процеСсора в стек"),Шаг 8. Выполняется декодированиекоманды, код которой поступает с информационного выхода регистра 1 б ко"манд на пятый адресный вход 36 блока 8 управления, и н зависимостиот этого кода выполняется переход ксоответствующему шагу алгоритма:при выполнении команды ПРД - кшагу 9 алгоритма,при выполнении команды ПБУ - к шагу О алгоритма,при выполнении команды ПУС - кшагу 11 алгоритма,при выполнении команды ВПР - к шагу 15 алгоритма, 34439 26 30 "Конец цикла сравнения" выполняетсяпереход к шагу 2(фиг.12, оператор 9"Последовательный ход").Шаг 1 О. Завершение линейного участка программы микроЭВМ командойбезусловной передачи управления сопровождается выполнением команды ПБУпроцессора. Выполняется процедурасравнения текущего адреса микроЭВМи адреса-копии процессора, описанная 40 н шаге 5 алгоритма. Если с выхода56 блока 19 анализа ветвлений навход 57 блока 8 управления поступаютсигналы "Конец цикла сравнения" и"Равенство текущего адреса микроЭВМ 45 и адреса копии процессора , свидетельствующий о том, что в результатесбоя или отказа на шине адреса микро"ЭВМ нместр адреса безусловного пере-.хода устанавливается инкрементированный адрес последней команды предыдущего линейного участка, выполняетсяпереход к шагу б алгоритма, в противном случае к шагу 12 алгоритма(фиг, 11, оператор 10 "Последователь ный ход").Шаг,11. Завершение линейного участка программы микроЭВМ командойпередачи управления по условию сопровождается выполнением команды ПУС 5 О 5 20 25 при выполнении команды ВПУ - к шагу 16 алгоритма,при выполнении команды ВБУ - к шагу 2 алгоритма,при выполнении команды ВУС - к шагу 22 алгоритма,при выполнении команды РДИ - к шагу 27 алгоритма (фиг.2, оператор 8"Команда" )Шаг 9, Завершение линейного участка программы микроЭВМ командой последовательной цепи операций сопровождается выполнением команды ПРДпроцессором. Выполняется процедурасравнения текущего адреса микроЭВМи адреса-копии процессора и проверкаправильности последовательного ходарабочей программы. Работа блока 19анализа ветвлений в режиме проверкиправильности последовательного ходапрограммы описана н шаге 5 данногоалгоритма, Если с выхода 56 блока 19анализа ветвлений на вход 57 блока 8управления поступает сигналы "Конеццикла сравнения" и "Ошибка.последовательного хода выполнения программы",:выполняется переход к шагу б алгоритIма, в противном случае по сигналупроцессора. Выполняется процедура,описанная в шаге 5 алгоритма. Еслис выхода 56 блока 19 анализа ветвлений на вход 57 блока 8 управленияпоступает сигнал "Конец цикла сравнения" и "Равенство текущего адресамикроЭВМ и адреса-копии процессора",свидетельствующий о том, что в результате выполнения команды условного Оперехода микроЭВМ перешла к выполнению следующей команды (условие передачи управления рабочей программоймикроЭВМ не выполнялось), с информационного выхода 30 блока 8 управления на счетный вход 38 в режиме суммирования счетчика 12 поступает серия из четырех импульсов и производят увеличение на четыре содержимогоэтого счетчика. С информационного выхода 84 счетчика 12 на адресный входблока 9 постоянной памяти поступаетадрес следующей команды процессораи выполняется переход к шагу 2 алгоритма, в противном случае - к шагу 2512 алгоритма (фиг.12, оператор "Последовательный ход").Шаг 12. Проверка правильности выполнения микроЭВМ передачи управлениязаключается в сравнении текущего ад Ореса микроЭВМ и ожидаемого адресаперехода, содержащегося во втором итретьем байтах команды процессора,и выполняется под управлением блока19 анализа ветвлений, Работа блока19 анализа ветвлений в режиме про,верки правильности перехода поясняет"ся временной диаграммой, представленной на фиг. 14, С информационного выхода 30 блока 8 управления на вход 4033 повторного запуска блока 19 анализа ветвлений поступает сигнал "Пов"торный запуск" (эпюра 161, фиг.14).Этот сигнал с входа 33 повторногозапуска ,фиг. 1) блока 19 анализа 45ветвлений поступает через элементИ 126 на входу установки в единицутриггера 122 и устанавливает его вединичное состояние (зпюра 152,фиг.14), а также на вход начальнойустановки счетчика 124 иустанавлива.ет его в нулевое состояние ,эпюра146, фиг. 14). Нулевое значение сигнала с выхода. младшего разряда счетчика 124 поступает иа вход элемента ИЛИ 133 и отпирает его для прохожде" ния тактовых сигналов, а также на вы" ход 63 блока 19 анализа ветвлений. и далее (см. фиг.1) на вход 64 об" 27 1434439 28ращения первого блока 3 регистров.Нулевой сигнал с входа 64 обращения(иг,2 ) первого блока 3 регистровпоступает на инверсный вход обраще"ния регистра 89, и информация о младшем байте текущего адреса поступаетс выходов регистра 89 на вход 20блока 3 регистров и далее (фиг.1) напервый информационный вход схемы 5сравнения. Одновременно с выхода 30блока 8 управления на вход обращенияблока 9 постоянной памяти поступаетсигнал обращения, а с информационного выхода 84 счетчика 12 на адресныйвход блока 9 постоянной памяти поступает адрес второго байта команды проверки процессора, т.е. адрес ячейкипамяти, содержащей младший байт ожи"даемого адреса перехода микроЭВМ.Младший байт ожидаемого адреса перехода поступает с выхода блока 9 постоянной памяти на второй информационный вход схемы 5 сравнения. Единичный сигнал равенства младшихбайтов текущего адреса микроЭВМ ,эпю"ра 143, фиг,14) ожидаемого адресаперехода (эпюра 162, фиг. 14) с выхода схемы 5 сравнения поступает наинформационный вход 55 блока 19 анализа ветвлений и далее (фиг. 11) через элементы ИЛИ 134 и И 127 на информационный вход триггера 122. Очередной тактовый импульс 163 (эпюра140, фиг.4) поступает с тактовоговхода 29 процессора ,фиг.1) на тактовый вход 54 блока 19 анализа ветвлений и далее (фиг.11) на синхровходтриггера 122 и подтверждает единичноесостояние этого триггера (состояние164, эпюра 152, фиг. 14). Если нрезультате сбоя или отказа микроЭВМмладший байт текущего адреса не равен ожидаемому, нулевой сигнал неравенства с выхода схемы 5 сравненияпоступает по цепи 5-55 (фиг.1) 55 в .134"127-122 ;фиг.11) на информационный вход триггера 122 и тактовыйимпульс 163, поступающий по цепи29-54 (фиг, 1), 54-131-22 ;фиг.1)на синхровход триггера 122, переводит его в нулевое состояние (состояние 165, эпюра 152, фиг,14). Одновременно этот импульс поступаетпо цепи 54-31-133-123 ,фиг,11) насчетный вход в режиме суммирования(эпюра 150, фиг, 14) счетчика 124 исчетчик 124 переходит из нулевогосостояния в первое. Единичный сигнал29 14344 с выхода младшего разряда счетчика124 поступает на выход 63 блока 19анализа ветвлений и далее (фиг.1) навход 64 обращения блока 3 регистров,Единичный сигнал с входа 64 ;фиг,2)блока 3 регистров поступает на прямойвход обращения регистра 90, и информация о старшем байте текущего адреса поступает с выходов регистра 90на выход 20 блока 3 регистров и да 3лее (фиг, 1) на первый информационныйвход схемы 5 сравнения. Одновременнос информационного входа 30 блока 8управления на счетный вход 38 счетчика 12 поступает сигнал, производящийинкремент его содержимого, и с информационного выхода этого счетчикана адресный вход блока 9 постояннойпамяти поступает адрес третьего байта команды проверки процессора, т.е,адрес ячейки памяти, содержащийстарший байт ожидаемого адреса перехода микроЭВМ. Эта информация поступает с выхода блока .9 постоянной 25памяти на второй информационный входсхемы 5 сравнения. Единичный сигналравенства старших байтов текущегоадреса микроЭВМ и ожидаемого адресаперехода (соответственно эпюры 2-145 З 0и 162, фиг. 14) с выхода схемы 5сравнения поступает на информационныйвход 55 блока 9 анализа ветвленийи указанным путем подтверждает единичное (состояние 166, эпюра 152,Фиг.4) состояние триггера 122 в момент прихода тактового импульса 167(эпюра 140, фиг.14). Если в результате сбоя или отказа микроЭВМ стар, ший байт текущего адреса не равен 40ожидаемому нулевой сигнал неравенства с выхода схемы 5 сравнения поступает на вход 55 блока 19 анализаветвлений и указанным путем устанавливает триггер 122 в нулевое состоя Вние (состояние 168, эпюра 52,фиг.14) в момент прихода тактовогоимпульса 167 ,эпюра 140, Фиг,14).Одновременно тактовый импульс 167(эпюра 140, Фиг, 14) поступает по цепи 54-131-133-24 (фиг.) на счетный вход в режиме суммирования (эпюра 150, фиг.14) счетчика 124 и счет-чик 124 переходит из первого состояния во второе. Единичный сигнал свыхода старшего разряда счетчика 124поступает на выход 56 блока 19 анализа ветвлений, и далее (фиг,1) на второй адресный вход 57 блока 8 управле 39 30ния в качестве сигнала "Конец циклами сравнения" (состояние 169, эпюра46, фиг, 4) .Одновременно с информационного выхода 30 блока 8 управления на счетный вход 38 в режиме суммирования счетчика 12 поступает импульс, вызывающий инкремент его содержимого, и с информационного выхода 84 этого счетчика на адресный вход блока 9 постоянной памяти поступает адрес четвертого байта команды проверки перехода.Подача сигнала "Повторный запуск на вход 33 повторного запуска блока19 ветвлений ,эпюра,161, Фиг. 14) сопровождается подачей сигнала "Блокировка счетчика" (эпюра 170,фиг,14) с информационного выхода 30 блока 8 управления на вход 32 блокировки коммутатора 13 и далее (фиг, 7) через элементы И 106 и 107 на входы управления шинных формирователей первой 104 и второй 105 групп с тремя состояниями, который переводит эти формирователи в высокоимпедансное состояние до окончания цикла сравнения текущего адреса и адреса перехода ,(эпюра 146, фиг.14), На этом цикл проверки правильности перехода микро- ЭВМ заканчивается и выполняется переход к шагу 3 алгоритма (фиг,12, оператор 12 "Проверка перехода"),Шаг 13. Результат сравнения текущего адреса микроЭВМ и ожидаемого адреса перехода с выхода триггера 122 поступает на выход 56 блока 19 анализа ветвлений и далее ,фиг.1) на второй адресный вход 57 блока 8 управления. Если на этом входе устанавливается сигнал "Ошибка перехода", соответствующий неравенству текущего адреса и ожидаемого адреса перехода, выполняется переход к шагу 6 алгоритма, в противном случае - к шагу 14 алгоритма (см,фиг.12, оператор 14 "Ошибка перехода"). иаг 14. Гни выполнении микроЭВМ команд последовательной цепи операций Формирование адреса-копии процессора выполняется путем инкремента счетчика 10 синхронно с инкрементом программного счетчика, При выполнечии микроЭВМ команд переходов форми - рование адреса-копии процессора выполняется путем записи в счетчик 10 адреса перехода после подтверждения439 32 Одновременно .с информационного выхода 30 блока микропрограмного управления на вход обращения блока 9 постоянной памяти поступает сигнал обращенияи четвертый байт команды проверки перехода (информация о младшем байте адреса перехода процессора) устанавливается на выходе блока.9 постоянной памяти. Эта информация поступает на информационный вход бло-, ка регистров 4 и далее (фиг.3) на информационный вход параллельной записи регистра 91 . С выхода 30 (фиг,1) блока 8 управления на вход 37,записиблока 4 регистров и далее (фиг.3) на вход параллельной записи, регистра 91 поступает сигнал записи, и младший байт адреса перехода процессора записывается в регистр 91.Сигнал с выхода младшего разряда счетчика 124 (фиг.11) поступает на выход 63 блока 19 анализа ветвлений по цепи 63-66 (фиг.1), 66-102-101-99(фиг.5) на вхоц параллельной записисчетчика 99, и информация о младшембайте адреса перехода, поступающаяс информационного входа 68 счетчика1 О на информационный . вход параллельной записи, записывается в счетчик 99 (эпюра 174, фиг.15). Тактовый сигнал 175 (эдюра 140, фиг.15) поступает по цепи 29-54 (фиг.1), 54-131-133-124 (фиг,11) на счетный вход в режиме суммирования счетчика 124 и переводит его из нулевого состояния в первое. Единичный сигнал с выхода младшего разряда счетчика 124 поступает по цепи 124-.63 (фиг.1.1) 63-64 (фиг.1) и далее (фиг.2 ) на прямой вход обращения регистра 90, и информация о старшем байте текущего адреса адреса перехода поступает с выходов этого регистра на выходе 20 блока 3 регистров и далее по,цепи 20-68 (фиг.1), 68-98 (фиг.5) на информационный вход параллельной записи регистра 98 (эпюра 173, фиг. 15). Одновременно единичный сигнал с выхода младшего разряда счетчика 124 поступает по цепи 124-63 (фиг.11) 63-66 (фиг.1), 66-100-98 (фиг. 5) на вход параллельной записи регистра 98 и инфор, мация о старшем байте адреса перехо- да записывается в нем (эпюра 176, фиг.15).Одновременно с информационного выхода 30 блока 8 управления на 3 1434правильности его выполнения микроЗВМ,Запись адреса перехода в счетчик 1 Овыполняется под управлением блока 19анализа ветвлений в соответствии свременной диаграммой, представленной на фиг.15, С информационного выхода 30 блока 8 управления поступаютсигналы "Повторный запуск" на вход33 повторного запуска блока 19 анализа ветвлений, "Запись в счетчик"на вход 31 записи первого счетчика 10и "Блокировка счетчика" на вход 32блокировки коммутатора 13 ,соответственно эпюры 161, 171 и 170 фиг.15). 15Сигнал "Повторный запуск" поступаетс входа 33 ;.фиг.11) повторного запуска блока 19 анализа ветвлений черезэлемент И 126 - на вход начальнойустановки счетчика 124 и устанавливает его в нулевое состояние. Нулевоезначение сигнала с выхода старшегоразряда счетчика 124 поступает навход элемента ИЛИ 133 и отпирает егодля прохождения тактовых сигналов, . 25 а нулевое значение сигнала с выхода младшего разряда счетчика 124 поступает на выход 63 блока 19 анализа . ветвления и далее (фиг.1) на вход 64 обращения первого 3 блока регистров 30 Нулевое значение сигнала с входа 64 обращения ,фиг.2) первого блока 3 регистров поступаетна инверсный вход обращения регистра 89, и информации .и младшем байте текущего адреса адреса перехода поступает с выходов регистра 89 на выход 20 блока 3 регистров и далее ,фиг.1) на информа-. ционный вход 68 параллельной записи. счетчика 10 ;состояние 172., эпюра 40 173, фиг,.15). Сигнал "Запись в счетчик" с входа 3 записи первого счетчика 1 О поступает (фиг.5) на входыэлементы И 100 и 101 н отпирает их для прохождения сигналов обращения 45 на входы параллельной записи счетчиков 98 н 99, Сигнал "Блокировка счет чика" с входа 32 блокировки коммутатора 13 (фиг. 7), поступая на входыэлементов И 106 и 107, запирает их 50 для прохождения сигналов управления на управляющие входы шинных формирователей первой 104 и второй .105 груп- пы формирователей с тремя состояниями. Выходы этих буферов переводятся . . в высокоимпедансное состояние и блокируют поступление информации о состоянии счетчика 10 на внутреннююшину.33 143 счетный вход 38 счетчика 12 поступает сигнал счета и производит инкремент его содержимого. С информационного выхода счетчика 12 на адресный вход блока 9 постоянной памяти поступает адрес пятого байта команды проверки перехода процессора (адрес старшего байта перехода).Тактовыц импульс 177 (эпюра 140, фиг.15), поступающий по цепи 29-54 (фиг.1), 54-131-133-124 (фиг.11) на счетный вход н режиме суммирования счетчика 124, переводит этот счетчик иэ первого состояния во второе. Еди" ничный сигнал состояние 178, эпюра 146, фиг.15 с выхода старшего разряда счетчика 124 поступает на выход 56 блока 19 анализа нетвлений и далее по,цепи г.1) 56-57 воспринимается как сигнал "Конец цикла записи" адреса перехода.Одновременно сигнал, поступающий с информационного ныхода 30 блока 8 управления, поступает на вход обращения блока 9 постоянной памяти и старший байт адреса перехода процессора с выхода этого блока поступает на информациоИый вход 24 блака 4 регистров и даГее (фи3) наифор мационный вход параллельной записи регистра 92. Сигналы, поступающие с информационного ныхода 30 блока 8 управления на входы записи 37 блока 4 регистров и 39 счетчика 12, процзводят запись соответственно старшего байта адреса перехода процессора в регистр 92 блока 4 регистров и адреса перехода процессора н счетчик 12.Таким образом, в результате ньполнения данного шага алгоритма производитсяпараллельное выполнение двух операций: запись адреса перехоца процессора из блока 9 постоянной памят.: в программный счетчик "2 процессора, после чего выполняется переход к шагу 2 алгоритма (фцг.1 2, оператор 14 "Загрузка адреса перехода").Шаг 15. Завершение линейнога уча: стка программы микраЗВМ командой безусловного вызова подпрограммы сопровождается выполнением команды БПР .процессора. При этом вьпалняется процедура сравнения текущего адреса микроЭВМ и адреса-копия процессора и проверка последовательного хода рабочей программы, описапная в шаге 5 алгоритма. Если с выхоца 56 блока 194439 34 5 10 15 20 80 35 4 О 45 511 анализа ветвлений на вход 57 блока 8 управления поступает сигнал "Конец цикла сравнения" и "Равенство текущего адреса микроЭВМ иадреса-копии процессора", свидетельстнующий о том что в результате сбоя или отказа на шине адреса микроЗВМ вместо адреса вызываемой подпрограммы устанавливается инкрементированный адрес последней камапды предыдущего линейного участка, т,е, адрес команды, следующей за командой безусловного вызова подпрограммы, выполняется переход к шагу 6 алгоритма, в противном случае - к шагу 17 алгоритма (фиг. 12, оператор Последовательный ход").Шаг 16. Завершение линейного уча" стка программы микроЗВМ командой вызова подпрограммы по условию сопровождается выполнением команды ВПУ пропроцессора. Выполняется, процедура проверки правильности по:ледовательного хода программы микроЭВМ, описанная н шаге 5 алгоритма. Если с выхо,ца 56 блока 19 анализа ветвлений на вход 57 блока 8 управления поступает сигнал "Конец цикла сравнения" и "Равенство текущего адреса 1 ИкроЭВМ и адреса-копии процессора", свидетельствующий о. том, что в результате ныполнения команды вызова подпрограммы по условию микроЭВМ перешла к выполнению следующей команды, т.е. начальной команды очередного линейного участка (условие передачи управления рабочей программой микроЭВМ не выполнялось), с информационного выхода 30 блока 8 управления на счетный вход в режиме сумиронания счетчика 12 поступает серия из четырех импульсон и производит увеличение на четыре содержимого этого счетчика, С информационного выхода 84 счетчика 12 на адресный вход блока 9 постояпной памяти поступает адрес следующей команды процессора и выполняется переход к шагу 2 алгоритма, н противном случае " к шагу 17 алгоритма (фиг,12, оператор 16 "Последовательный ход").Шаг 17. Пронерка правильности ныголнения микроЭВМ передачи управления при выполнении команды нызова подпрограммы заключается в сравнении текущего адреса микроЭВМ и ожидаемого адреса перехода, содержащегося во втором и третьем байтах команды про-, цессора, и выполняется в соответствии35 14344с описанием, приведенным в шаге 1 2алгоритма. После окончания цикла проверки перехода выполняется переход кшагу 18 алгоритма (фиг.12, оператор17 "Проверка перехода").Шаг 18. Результат проверки перехода с выхода 56 блока 19 анализа ветвлений поступает на вход 57 блока 8управления, Если на этом входе .устанавливается сигнал "Ошибка перехода",соответствующий неравенству текущегоадреса адреса передачи управленияпри выполнении команды вызова программы и ожидаемого адреса перехода, 15выполняется переход к шагу 6 алгоритма, в противном случае к .шагу 19алгоритма (фиг.12, оператор 18 "Ошибка перехода"),Шаг 19. При выполнении микроЭВМ 2 Окоманд вызова подпрограмм формирование адреса-копии процессора выполня-.ется путем записи в счетчик 1 О адреса перехода после подтверждения правильности его выполнения микроЭВМ. 25Процедура загрузки адреса переходав счетчик О описана в шаге 14 алгоритма. Одновременно выполняется эа"пись в блок 4 регистров собственногоадреса перехода процессора (четвер- дотого и пятого байтов команды провер"ки вызова подпрограммы). Эта процедура отличается от описанной в шаге 4 алгоритма тем, что сигнал, поступающий с информационного выхода 30блока 8 управления на вход 37 записиблока 4 регистров в момент поступления на информационный вход 24 блока4 регистров старшего байта адресаперехода процессора, производит запись старшего байта адреса переходапроцессора в регистр 92 блока 4 регистров, сигнал с информационноговыхода 30 блока 8 управления на вход39 записи счетчика 12 не поступает, 45а на счетный вход счетчика 2 поступает сигнал, производящий инкрементсодержимого этого счетчика. С информационного выхода 84 счетчика 12 наинформационный вход 85 коммутатора 14 поступает адрес команды процессора, . следующей эа командой проверки вызова подпрограммы (адрес "воз-врата" процессора), Выполняется переход к шагу 20 алгоритма (фиг. 12,оператор "Загрузка адреса перехода").Шаг 20. Загрузка состояния процессора в стек предусматривает вынолнение процедуры, описанной в шаге 7 39 36алгоритма, после чего сигнал, поступающий с информационного выхода ЗОблока 8 управления на вход 39 записисчетчика 12, производит параллельиуюзапись адреса перехода, поступающегос выхода 82 блока 4 регистров на информационный вход 83 параллельной записи, в этот счетчик и выполняетсяпереход к шагу 2 алгоритма (фиг.12,оператор "Загрузка состояния процессора в стек"),Шаг 21, Завершение линейного участка программы микроЭВМ командойбезусловного возврата из подпрограммы сопровождается выполнением команды ВБУ процессора. Выполняется процедура сравнения текущего адреса микроЭВМ и адреса-копии процессора и проверка последовательного хода рабочейпрограммы, описанная в шаге 5 алгоритма. Если с выхода 56 блока 19анализа ветвлений на вход 57 блока 8управления поступает сигнал "Конеццикла сравнения" и "Равенство текущего адреса микроЭВМ и адреса-копиипроцессора", свидетельствующий о том,что в результате сбоя ипи отказа нашине адреса микроЭВМ вместо адресавозврата из подпрограммы устанавливается инкрементированный адрес последней команды предыдущего линейного участка, т.е. адрес команды, следующей за командой безусловного возврата из подпрограммы, выполняетсяпереход к шагу 6 алгоритмав противном случае - к шагу 23 алгоритма.Шаг 22, Завершение линейного уча-.стка программы микроЭВМ командойвозврата иэ подпрограммы по условиюсопровождается выполнением командыВБУ процессора. Выполняется процедура сравнения текущего адреса микроЭВМи адреса-копии процессора и проверкаправильности последовательного ходарабочей программы, описанная в шаге5 алгоритма. Если с выхода 56 блока19 анализа ветвлений на вход 57 блока 8 управления поступает сигнал "Конец цикла сравнения" и "Равенствотекущего адреса микроЭВМ и адресакопии процессора", свидетельствующийо том, что в результате выполнения .команды возврата из подпрограммы поусловию микроЭВМ перешла к выполнению следующей команды, т.е. начальной команды очередного линейного уча.Изобретение относится к цифровойвычислительной технике и может бытьиспользовано для контроля выполненияпрограмм в цифровых вычислительныхмашинах и программируемых контроллерах, построенных по принципу "Общеймагистрали".Целью изобретения является повышение достоверности контроля за ходомвыполнения программ.На фиг. 1 представлена функциональная схема устройства процессора для контроля выполнения программ на фиг, 2-10 - примеры реализации функциональных узлов устройства для контроля выполнения программмикропроцессорной системы ца баземикропроцессора КР 58 РИКЯО; на фиг.2 -функциональная схема первого блокарегистров; на фиг. 3 - Функциональ"ная схема второго блока регистров;на фиг. 4 - Функциональная схемаблока управления; на Фиг. 5 - Функциональная схема первого счетчика; 25на фиг. 6 - Функциональная схема второго счетчика; на фиг. 7 - Функциональная схема первого коммутатора;на фиг,8 - функциональная схема второго коммутатора; на Фиг. 9 - функциональная схема третьего коммутатора; на фиг, 10 - функциональная схе-.ма блока ввода-вывода; на Фиг. 11функциональная схема блока анализаветвлений; на фиг. 12 - граф-схема35алгоритма функционирования блока управления; на фиг. 13 - и временная .диаграмма выполнения процессором проверки правильности прямого хода программы микроЭВМ; на фиг. 14 - временная диаграмма выполнения процессоромпроверки правильности перехода микроЭВМ; на фиг. 15 - временная диаграм-.ма выполнения процессором записи адреса перехода микроЭВМ; на фиг. 16временная диаграмма, поясняющая работу процессора в режиме вывода в микроЭВМ информации об ошибке; нафиг.1720 - граф-схема алгоритма . работыблока управления; на фиг. 21 - вре 50менная диаграмма сигналов на информационных выходах блока управления .Устройство для контроля выполненияпрограмм (фиг.1) содержит счетчик 1количества импульсов синхронизации,триггер 2, первый 3 и второй 4 блокирегистров, схема 5 сравнения, первый 6 и второй 7 элементы ИЛИ, блок8 упраВления, блок 9 постоянной памя-:. ти, первый 10, второй 1 и третий 12счетчики, первый 13, второй 14 и третий 15 коммутаторы, регистр 16 команд, блок 17 оперативной памяти,блок 18 ввода-вывода и блок 19 анализа ветвлений. Информационный выход20 первого блока 3 регистров соединен с первым информационным входомсхемы 5 сравнения, информационныйвход 21 первого блока 3 регистров является информационным входом 22 процес"сора, инверсный выход триггера 2 является выходом 23 ошибки процессора,выход блока 9 постоянной памяти соединен с информационным входом 24второго блока 4 регистров, входом 25счетчика 1 и вторым информационнымвходом схемы 5 сравнения. Группа выходов 26 счетчика 1 соединена соот",ветственно с группой входов первогоэлемента ИЛИ 6, выход которого соединен с первым адресным входом 27 блока 8 управления, тактовый вход 28блока 8 управления является тактовымвходом 29 процессора, первый управ .ляющий выход 30 блока 8 управлениясоединен с входом 31 записи первого10 счетчика, входом 32 блокировкипервого коммутатора 13, входом 33повторного запуска блока 19 анализаветвлений, счетным входом 34 второгосчетчика 11, входом 35 записи блока17 оперативной памяти, входом 36обращения блока 18 ввода-вывода, вхо"дом 37 записи второго блока 4 регистров, счетным входом 38 и входом 39записи третьего счетчика 12, входами 40 управления второго 14 и 41третьего 15 коммутаторов, а также свходами 42 записи счетчика 1 и регистра 16 команд, и входом обращенияблока 9 постоянной памяти. Первыйвход второго элемента ИЛИ 7 соединенс входами 43-46 начальной установкисоответственно первого 10, второго11, третьего 12 счетчиков, блока 8управления и является входом 47 начальной установкиустройства, Выходвторого элемента ИЛИ 7 подключен квходу установки в ноль триггера 2,вход "установки в единицу которогосоединен с вторым информационным выходом 48 блока 8 управления, третийинформационный выход 49 которого соединен с вторым входом второго элемента ИЛИ 7. Вход 50 синхронизацииблока 19 анализа ветвлений соединенс входом 51 записи первого 3 блокаО 15 20 25 30 40 45 50 37 143стка программы (условие возврата изподпрограммы микроЭВМ не выполнилось), выполняется переход к шагу 2алгоритма, в противном случае - кшагу 23 алгоритма (Фиг,12, оператор"Последовательный ход").Шаг 23. Загрузка состояния процессора из стека предусматривает выполнение следующих операций:,а) инкремент счетчика 11 (указате;ля стека). С информационного выхода30 блока 8 управления поступает сигнал на счетный вход 34 в режиме сум"мирования счетчика 11 и производитинкремент содержимого этого счетчика.Одновременно производится повторныйзапуск блока 9 анализа ветвлений врежиме записи текущего адреса в счетчик О адреса-копии и выполняетсяпроцедура загрузки адреса возвратав этот счетчик,описанная в шаге 14;алгоритма;б) запись иэ стека младшего байтаадреса возврата процессора в блок 4регистров. С выхода 30 (фиг,1) блока8 управления на вход 35 управленияблока 17 оперативной памяти поступаютсигналы обращения и чтения, Одновременно с информационного выхода 71,счетчика 11 (указатель стека) на .адресный вход 72 блока 17 оперативнойпамяти поступает адрес ячейки памяти,:содержащей информацию о младшем байте адреса возврата процессора, этаинформация поступает с информационного охода-выхода б блока 17 оперативИой памяти на информационный вход 24блока 4 регистров и далее (Фиг.З) наянформационный вход параллельной записи регистра 91. Сигнал, поступаюций с информационного выхода 30(фиг.1) блока 8 управления на вход 37записи блока 4 регистров и далее(Фиг.З) на вход параллельной записирегистра 91 записывает информацию омладшем байте адреса возврата процессора в этот регистр;в) инкремент счетчика 11 (указателя стека);г) запись из стека старшего байтаадреса возврата процессора в блок 4регистров. С выхода Зц (фиг.) блока8 управления на вход 35 управленияблока 17 оперативной памяти поступаетсигналы обращения и чтения, Одновременно с информационного выхода 71счетчика 11 (указателя стека) на адресный вход 72 блока 17 оперативной 4439 38 памяти поступает адрес ячейки памяти, содержащей информацию о старшем байте адреса возврата процессора, и эта информация поступает с информационно" го входа-выхода 6 блока 17 опера- тинной памяти на информационный вход 24 блока 4 регистров и далее (Фиг,З) на информационный вход параллельной записи регистра 92, Сигнал, поступающий с информационного выхода 30 (фиг. 1) блока 8 управления на вход37 записи, блока 4 регистров и далее (Фиг.З) на вход параллельной записи регистра 92, записывает информацию о старшем байте адреса возврата процессора в этот регистр;д) инкремент счетчика 1 (указа" теля стека);е) запись иэ стека кода команды и количества импульсов синхронизации соответственно в регистр 1 б команд и счетчик 1 (эта операция имеет смысл в случае возврата микроЭВМ из подпрограммы обслуживания прерывания, так как в стеке сохраняется количество импульсов синхронизации незавершенного линейного участка). Одновременно сигналом, поступающим с информационного (участка) выхода 30 блока 8 управления на вход 39 записи счетчика 12, производится запись в этот счетчик информации об адресе возврата процессора, поступающей с информационного выхода 82 блока 4 регистровна информационный вход параллельнойзаписи счетчика 12, и выполняетсяпереход к шагу 24 алгоритма (Фиг.12,оператор 23 "Загрузка состояния процессора из стека. Загрузка адреса возврата").Шаг 24.Бьп 1 олиение команды вызова подпрограммы микроЭВМ сопровождается загрузкой в стек состояния процессора (см. шаг 20 алгоритма), Причем в результате выполнения первой операции процедуры загрузки в стек записывается нулевое состояние счетчика 1.Выполнение прерывания микро- ЭВМ сопровождается загрузкой в стек количества импульсов синхронизации незавершенного линейного участка программы (см. шаг 7, операция алгоритма). Выполнение команды возврата иэ подпрограммы (прерывания) сопровождается загрузкой состояния процессора из стека( шаг 23 алгоритма).В счетчик 1 записывается нулевое(ненулевое) значение количества им 14344пульсов синхронизации. Информация о состоянии счетчика 1 поступает с информационного выхода 26 этого блока соответственно на группу входов элеБ мента ИЛИ 6, с выхода которого на первый адресный вход 27 блока 8 уп - равления поступает нулевой (единич-ный) сигнал "Возврат из подпрограммы (" Возврат из подпрограммы обслуживания прерывания"). Если на первый адресный вход 27 блока 8 управления по" ступает сигнал "Возврат иэ подпрограммы", выполняется переход к шагу 2 алгоритма. В противном случае - к ша гу 3 алгоритма (фиг.12, оператор 24 "Возврат не прерывания"),Шаг 25. Завершение линейного участка программы микроЭВМ процедурой передачи управления по вычисленному адресу (процедурой, реализующей программный переключатель на более, чем два адреса, процедурой возврата из .подпрограммы с предварительной загрузкой в стек адреса возврата и т.п.) 25 или командой передачи управления в неконтролируемую область памяти сопровождается выполнением команды РДИ процессора, При этом, а также в случае выполнения микроЭВМ передачи управления программе обслуживания преУрывания, процессор переходит в режим ожидания запросов обмена от микро- .ЭВМ. Переход процессора из режима ожидания в режим контроля выполнения программы из режима ожидания в режим контроля выполнения программы осуществляется путем ввода в процессор адреса перехода, т.е. адреса команды проверки, соответствующей начальной команде очередного линейного участка рабочей программы. Для этого в рабочей программе микроЭВМ предусматривается команда или процедура из нескольких коканд загрузки адреса перехода в процессор. При выполнении микроЭВМ команды или процедуры вывода в процессор двухбайтового адреса перехода с выхода адреса микроЭВМ на информационный вход 22 процессора и далее (фиг.1) на адресный вход 74 блока 18 ввода-вывода поступает, например, адрес при обращении к процессору как к внешнему устройству (адрес при обращении к процессору как кячейке памяти). Этот адрес поступает с адресного входа 74 (фиг,10) блока 18 ввода-вывода на группу управляющих входов дешифратора 13, с выхода 3940которого на первый вход элементаИ 119 поступает сигнал обращенияк блоку 18 ввода-вывода, отпирающийэтот элемент для прохождения сигналаВывод" (" Запись" ) микроЭВМ. Одновременно на вход-выход 78 данных процессора поступает информация о младшембайте адреса перехода. С входа 8(фиг.0)эта информация поступает по78 - 76 (фиг,1) на второй информационный вход 76 блока 18 ввода-вывода иустанавливается на информационномвходе параллельной записи регистра115. Сигнал "Запись" (" Вывод" ) поступает с входа-выхода управлениямикроЭВМ на, вход-выход 79 управленияпроцессора и далее ,Фнг.1) на входвьход 77 управления блока 8 вводавыво;та, Этот сигнал поступает по цепи 77-119-120-77 (Фиг,0), 77.-79г(Фиг.1) на вход-выход ми:,роЭВ в качестве сигнала "Готовнос гь", Одновременно сигнал "Запист" (" Вывод" )с входа 77 блока 18 ввода-вывода поступает по цепи 77-119 в 1 (Фиг,10)на вход параллельной записи регистра115 и в этом регистр записываетсямадший байт адреса перехода процес -сора. Сигнал "Запись" (" Вывод" ) посгупает также с выхода 77 управленияблока 18 ввода вывода по цепи 77-119-73 (фиг. 10), 73-75 (фиг.1) натретий адресный вход блока 8 микропрограммного управления в качествесигнала "Запрос ввода". При этом выполняется переход к шагу 26 алгоритма, в противном случае - к шагу 27алгоритма (Фиг.121 (оператор 25"Запрос ввода" ),Шаг 26. С информационного выхода30 (Фиг.1) блока 8 управления на вход36 обращения блока 18 ввода-выводаи далее на вход управления буфера"Обращение для ввода", и информацияо младшем байте адреса перехода синформационного выхода регистра 115поступает по цепи 115-116-62 (Фиг.10),62-24 (фиг.1) на инФормационный входблока 4 регистров и далее (фиг.З) наинформационный вход параллельной записи регистра 91. С информационноговыхода 30 блока 8 управления по цепи30-37 (фиг.1), 38-91 (Фиг.З) на входпараллельной записи регистра 91 поступает сигнал записи,и информацияо младшем байте адреса перехода процессора записывае гся и регис.гр 91, 4 143 На этом первый цикл обмена заканчивается. Вс втором цикле на вход-выход 78 данных процессора поступает информация о старшем байте адреса перехода. С входа 78 (Фиг.10) эта информация поступает по цепи 78-76, (фиг.1) на второй информационный вход 76 блока 18 ввода-вывода и устанавливается на информационном входе параллельной записи регистра 115. Очеред. ной сигнал "Запись (" Ввод" ) поступает по цепи 79-77 (фиг. 1), 77-119120"77 (фиг.10), 77-79 в качестве сигнала "Готовность", а также по цепи(фиг.10), 79-77 (фиг.), 77-19-5 .(Фиг,10 ),на вход параллельной записи регистра 115, и в регистр записывает ся старший байт адреса перехода процессора. С информационного выхода 30(Фиг,1) блока 8 управления на вход . 36 обращения блока 18 ввода-вывода и далее (Фиг,10) на вход управления регистра 116 поступает сигнал "Обращение .для ввода", и информация о старшем байте адреса перехода поступает с информационного выхода регистра115 по цени 115-116-62 (Фиг,10), 62-24 (фиг. 1), 24-92 (Фиг,3) на ин" формационный вход параллельной записи регистра 92. С информационного выхода 30 блока 8 управления по цепи 30-37 (фиг. 1), 37-92 (Фиг.3) на вход параллельной записи .регистра 91 поступает сигнал записи, и информация о старшем байте адреса перехода процессора записывается в регистр 92.Сигнал, поступающий с информационного выхода 30 блока 8 управления навход 39 записи счетчика 12 производитзапись адреса перехода процессора вэтот счетчик, На этом операция вводаадреса перехода процессора из микроЭВМ заканчивается. Сигнал с информа-.циониого выхода 49 блока 8 управления, поступающий через элемент ИЛИ 7на вход установки в ноль триггера 2,переводит триггер в нулевое состояние, и сигнал на выходе 23 ошибкипроцессора принимает единичное значение, что соответствует снятию сигнала "Запрос прерывания" на входезапроса прерывания микроЭВИ и выполняется переход к шагу 2 алгоритма(фиг, 12, оператор 26 "Ввод адресаперехода. Сброс флага ошибки" ).Шаг 27. Вывод информации о состоянии процессора выполняется под управлением блока 8 управления по инициа 4439 42тине микрсЭВМ. Информация о состоянии процессора используется для организации процедур анализа и локализации ошибок и восстановления ходавыполнения рабочей программы микроЭВМ путем передачи управления начальной команде некоторого линейногоучастка программы, Для этого в рабочей программе микроЭВМ предусматривается команда (или процедура изнескольких команд) загрузки адресапрограммы процессора в микроЭВМ. Привыполнении микроЭВМ команды (или процедуры) ввода двухбайтного выходав режим ожидания (адреса программыпроцессора, при выполнении которойобнаружена сшибка) с выхода адресамикроЭВМ на информационный вход 22процессора и далее (Фиг.) на адрес"ный вход 74 блока 8 ввода-выводапоступает, например, адрес ГЕН приобращении к процессору как к внешнему устройству (адрес ГГРН при обраще нии к процессору как к ячейке памяти). Этот адрес (эпюра 179, см. временную диаграмму цикла вывода,Фиг,16) поступает с адресного входа 74 (фиг,1,0) блока 1.8 ввода-вывода З 0 на группу управляющих входов дешифратара 113, с выхода которого на первый вход элемента. И 118 поступаетсигнал обращении к блоку 18 ввода-вывода, отпирающий этот элемент для 35прохождения сигнала "Ввод" (" Чтение" )микроЭВМ (эпюра 180, Фиг.16). Сигнал(Фиг.1) на третий адресный вход 75 .блока 8 управления и по тактовомусигналу 181 (эпюра 182, фиг.1 6), поступающему с тактового выхода микроЭВМ на тактовый вход 29 процессораи далее,по цепи 29-. 28 (Фиг1) на тактовый вход блока 8 управления, с информационного выхода 30 блока 8 управления на вход 40 управления коммутатора 14 поступает сигнал управления(эпюра, 183, фиг.16). Информация омладшем байте адреса процессора с выхода 84 счетчика 12 по цепи 84-85 Бб (Фиг, 1), 85-109-59 (фиг.8), 59-62(Фиг.1), 62-114 (фиг.10) поступаетсоответственно ча группу информационных входов регистра 114. По тактовому43 143448 управления формирует сигнал на информационном выходе 30 (эпюра 185,фиг.16), поступающий на вход 36 обращения блока 18 ввода-вывода. По пе 5реднему фронту сигнала 186 (эпюра185, фйг. 16), поступающего на входпараллельной записи регистра 114,информация о младшем байте адресапроцессора записывается в регистр114, Одновременно сигнал 186 (эпюра185, фиг.16) с входа 36 обращенияблока 18 ввода-вывода поступает поцепи 36-120-77 (фиг.10), 77-79 (фиг,1)и далее с входа-выхода 79 управленияпроцессора на вход-выход управлениямикроЭВМ в качестве сигнала протовность", а также по цепи36-117(фиг.10) на вход управления регистра 117. Информация о младшем байте 20адреса процессора с группы выходоврегистра 14 по цепи 114-117-76(фиг,10), 76-78 (фиг.1) и далее свхода-выхода 7 Ь данных процессорапоступает на вход"выход данных микроЭВМ (состояние 87, эпюра 188,фиг.16) и записывается в один кз регистров общего назначения микропроцессора. Затем микроЭВМ формируетвторой цикл ввода в соответствии свременной диаграммой, приведеной нафиг, 16, и старший байт адреса процессора записывается аналогичным путем в регистр общего назначения микроЭВМ, На этом цикл ввода информацииоб ошибке заканчивается и выполняетсяпереход к шагу 25 алгоритма (фиг.12,оператор "Вывод информации об ошиб 11)Граф-схема алгоритма работы бло-,ка 8 управления (фиг.5) в соответствии с алгоритмом фиг.12 работыпроцессора представлена на фиг.17-20,где использованы следующие обозначе- .ния:45(ПС) - содер,кимое ячейки блока 9постоянной памяти, адрес которой определяет содержимое программногосчетчика 12,4439(УС) - содер.кима е ччейки блока 17оперативной памяти, адрес которой определяет содержимое счетчика 11,(ВМД) - информация на внутреннеймагистрали данных, поступающая навход схемы 5 сравнения,БРА - блок 4 регистров адреса процессора,(БТА) л.Б, - (БТА) ,б - соответственно младщей и старший байты информации .о текущем адресе микроЭВМ,записанной в блоке 3 регистров,(БВВ) - информация, поступающаяв процессор из микроЭВМ или .в микроЭВМ из процессора,а-а- состояния блока 8 управления.Временная диаграмма снг 0 алов наинформационных выходах блока 8 управления представлена на фиг.21, Синх -ронизация работы блока 8 управленияосуществляется тактовыми сигналами,поступающими на его тактовый вход28 (эпюра 188, фиг.2). В каждом такте работы блока 8 управления на выходах программируемой логическои матрицы 93 формируются сигналы управленияУ в соответствии со структурной таблицей переходов 4 (эпюра 89, фиг.21).Сигналы ХХ,Хпервой группы выходов программируемой логической матрицы 93 поступают соответственно науправляющие входы первого дешифратора 95, на инверсный вход стробирования которого поступают тактовые сигналы с тактового входа 28 блока 8управления. Выходы дешифратора 95 являются группой выходов управленияприемниками информации информационного выхода 30 (эпюра 190, фиг.21),Инкремент программного счетчика 12и изменение состояния счетчика 11указателя стека - осуществляется сигналами Х и Хвторой группы выходовпрограммируемой логической матрицы93. Эти сигналы (эпюра 189, фиг.21)поступают на управляющие входы второго дешифратора 96, на прямой вход стробирования которого с тактового входа 28 поступают тактовые сигналы (эпюра 188, Фиг,21). Сигналы с выходов дешифратора 9 б (эпюра 191,фиг.2) поступают на группу выходов управле, ния счетчиками 10 и 12 информационно-го выхода 90 блока 8 управления. Сиг налы К,Х 1, Х третьей группы выходов программируемой логической матрицы 93поступают соответственно на входы , дешифратора 97, с выходов которого на соответствующие выходы третьей груп- , пы выходов управления источникамиинформации информационного выхода 30 ,поступают сигналы, представленныеэпюрой 189, фиг.2 . Сигналы У-Учетвертой группы выходов праграмми руемай логической матрицы 93 (эпюра 189, фиг.2) поступают на соответствующие выходы блокировки и .записи в счетчик 10 обращения блока 7 оперативной памяти и записи в программный 25 счетчик 12 и входят в состав информа - цнонного выхода 30 блока 8 управления ния, Си налыи4 (зпюр фиг. 21 ) на выходах соответственно 48 и 49 программируемой логической ЗО матрицы 93 предназначены для управления триггером флага ошибки процес 1 сора, Двухфазная организация управлерия (эпюры 90 и 191, фиг.2) приемиками информации и счетчиками пра цессора позволяют совместить некотоые операции, предусмотренные в граф, хеме алгоритма работы блока 8 управления, и выполнить их за один такт работы. 40Формула изобретения1. Устройство для контроля выполйения программ, содержащее счетчик количества импульсов синхронизации, триггер, первый и второй блоки регистров, схему сравнения, первый элемент ИЛИ, блок управления и блок постоянной памяти, причем выход первого блока регистров подключен к первому информационному входу схемы Сравнения;, информационный вход пер- вого блока регистров является инфор" мационным входом устройства, инверс" Ный выход триггера является выходом ошибки устройства, выход блока постоянной памяти соединен с информаЦионными входами второго блока регистров, счетчика количества импульсовсинхронизации и вторым информационным входом схемы сравнения, группавыходов счетчика количества импульсовсинхронизации соединена с группойвходов первого элемента ИЛИ, выходкоторого соединен с первым адреснымвходом блока управления, тактовыйвход которого является тактовым входом устройства, первый выход блокамикропрограммного управления соединенс входами записи второго блока регистров и счетчика количества импульсов синхронизации, о т л и ч а ющ е е с я тем, что, с целью повышения достоверности контроля, в неговведены первый, второй и третий счетчики, первый, второй и третий коммутаторы, регистр команд, блока оперативной памяти, блок ввода-вывода,блок анализа ветвлений и второй 1 элемент ИЛИ, причем вход начальной установки устройства подключен к входамначальной установки первого второгои третьего счетчиков, блока управления ч первому входу второго элементаИЛИ, выход которого подключен к входуустановки в "0" триггера, вход установки в "1" которого соединен с вторым выходом блока управления, третийвыход которого соединен с вторым входам второго элемента ИЛИ, синхровходустройства подключен к входу записипервого блока регистров, счетномувходу счетчика количества импульсовсинхронизации и синхровходу блокаанализа ветвлений, тактовый вход которога объединен с тактовым входомблока управления и подключен к тактовому входу устройства, информационный вход и первый выход бло(а анализа ветвлений подключены соответственно к выходу схемы сравнения и второмуадресному входу блока управления,первый выход которого подключен квходу записи первого счетчика, входублокировки первого коммутатора, входузапуска блока анализа ветвлений,счетному входу втаоого счетчика, входу разрешения блока оперативной Оамяти, входам обращения блока ввада-вывода и блока постояннои памяти, счетному входу и входу записи третьегосчетчика, входам разрешения второгои третьего коммутаторов и входу параллельной записи регистра команд,выход второго коммутатора подключенк информационным входам регистра ко1434439 48 10 15 20 25 30 50 55 манд и счетчика количества импульсов синхронизации, первому информационному входу-выходу блока ввода-вывода и информационному входу-выходу блока оперативной памяти, выходы первого и третьего коммутаторов соединены с инфармационньм входом-выходом блока оперативной памяти, второй выход блока анализа ветвлений подключен к входу разрешения первого блока регистров, счетному входу и входу разрешения первого счетчика и входу разрешения первого коммутатора, информационный вход и выход первого счетчика соединены соответственно с информационным входом первого блока регистров и информационным входам первого коммутатора, информационный выход второго счетчика подключен к адресному входу блока оперативной памяти, выход готовности, адресный вход, второй информационный вход-выход и управляющий вход-выход блока ввода-вывода соединены соответственно с третьим адресньм вхо" дом блока управления, информационньм входом данных и входом-выходом управления устройства, вход подтверждения прерывания устройства подключен к четвертому адресному входу блока управления, выход второго блока регистров подключен к информационному входу третьего счетчика, выход которого подключен к адресному входу блока постоянной памяти и информационному входу второго коммутатора, информационный выход регистра команд соединен с пятьм адресным входом блока управления и первым информационным входом третьего коммутатора, второй информационный вход которого ,подключен к информационному выходу счетчика количества импульсов синхронизации.2. Устройство по п. 1, о т л и - ч а ю щ е е с я тем, что блок анализа ветвлений содержит три триггера, два счетчика, два элемента НЕ, пять элементов И, два элемента И-НЕ, два элемента ИЛИ, причем вход синхронизации блока через первый элемент НЕ подключен к информационному и ус- тановочному входам первого триггера, синхровход которого объединен с первыми входами первого и второго элементов И-НЕ и является тактовым входом блока, прямой выход первого триггера подключен к второму входу первогс элемента И-ПГ, первому входупервого элемента И и единичному входувторого триггера, нулевой вход которого подключен к выходу второго элемента И-НЕ, второй вход которого объединен с первыми входами первого ивторого элементов ИЛИ и подключен,к выходу стершего разряда первогосчетчика, второй вход первого элемента ИЛИ объединен с синхровходом третьего триггера и подключен к выходупервого элемента И-НЕ, второй входвторого элемента ИЛИ является инфор-,мационньм входом блока, выход первого элемента ИЛИ соединен со счетнымвходом первого счетчика, вход начальной установки объединен с входамсброса третьего триггера и подключенк выходу первого элемента И, второйвход которого является входом запус"ка блока, прямой выход второго триггера подключен к первьм входаь: третьего и четвертого элементов И, вто"рые входы которых объединены и подключены квыходу старшего разрядапервого счетчика, выходы второго элемента ИЛИ и третьего триггера соединены соответственно с первьм и вторым входами второго элемента И, выход ко то рого подключен к инфо рмацно ином увходу третьего триггера, третьемувходу четвертого элемента И и черезвторой элемент НЕ - к третьему входу третьего элемента И, выходы третьего и четвертого элементов И соединены соответственно со счетнымвходом и входом сброса второго счетчика, выходы старшего и младшего разрядов которого соединены с первьми вторым входами пятого элемента И,выходы третьего триггера, пятогоэлемента И и выход старшего разрядапервого счетчика образуют первый45 выход блока, выход четвертого элемента И и выход младшего разряда первого счетчика образуют второй входблока,3. Устройство по и. 1, о т л ич а ю щ е е с я тем, что блок ввода-вывода содержит дешифратор адреса, два регистра, два буферных регистра, два элемента И, элемент ИЛИ, причем вход дешифратора адреса является адресным входом блока, выход дешифратора соединен с первьми входами элементов И, вторые входы 1 соторых и выход элемента ИЛИ образуют управ 49143443950ляющий вход-выход блока, выходы первого и второго элементов И образуют выход готовности блока, выход второго элемента И подключен к первому входу5 элемента ИЛИ и входу разрешения записи второго регистра, второй вход элемента ИЛИ, объединенный с управ" ляющим входом второго буферного регистра и входом разрешения запчси первого регистра, и управляющий вход первого буферного регистра образуют вход обращения блока, выход второго буферного регистра цопключец к информационному входу второго регистраи является вторым информационным входом-выходом блока, выход второго ре -гистра соединен с информационнымвходом первого буФерного регистра,выход которого подключен к информационному входу первого регистра иявляется первым инФормационным вхо",дом-выходом блока, выход первого регистра соединен с информационнымвходом второго буферного регистра.з 14344394 регистров и счетным входом 52 счетчи- ключен к информационному выходу 26 каи является синхровходом 53 уст- счетчика. Счетчик 1 количества ройства. Тактовый 54, информационный импульсов синхронизации является пя входы и первый выход 56 блока 19 тиразрядным двоичным счетчиком, ин 5анализа ветвлений подключены соответ- формационные входы параллельной заственно к тактовому входу 28 блб- писи которого объединены и являютка 8 управления, выходу схемы 5 срав- ся информационным входом 25 счетчинения и второму адресному входу 57 ка 1, выходы разрядов счетчика явблока 8 управления. Выход блока 9 по ляются группой 26 выходов счетчика, стоянной памяти через магистраль вход 42 записи которого является вхосоединен с информационным выходами дом параллельной записи счетчика, а 58-60 соответственно первого 13, в счетный вход 52 счетчикаявляется второго 4, третьего 15 коммутаторов, счетным входом в режиме вычитания информационным входом регистра 1 6 15 "1 " счетчика . команд, информационным входом-выхо- Первый блок 3 регистров (фиг,2) дом 61 блока 17 оперативной памяти содержит восьмиразрядные регистры 89 и первым информационным входом-выхо-., и 90, информационные входы которых дом 62 блока 18 ввода-вывода. Вто- объединены и являются шестнадцатиразрой выход 63 блока 19 анализа ветвле рядным информационным входом 21 перний подключен к входу 64 обращения вого блока 3 регистров, синхровходы первого блока 3 регистров, счетному регистров 89 и 90 соединены и явля- входу 65 и входу бб обращения перво- ются входом 5) записи первого блого счетчика 10 и входу 67 управле- ка 3 регистров, одноименные выходы ния первого коммутатора 13. Информа регистров 89 и 90 соответственно соеционный вход 68 и выход 69 первого динены и являются восьмиразрядным счетчика 10 соединены соответственно информационным выходом 20 первого с информационным выходом 20 первого блока 3 регистров, а инверсный вход блока 3 регистров и с информационным обращения регистра 89 соединен с входом 70 первого коммутатора 13. З 0 прямым входом обращения регистра 90 Информационный выход 71 второго счет- и является входом 64 обращения перчика 11 подключен к адресному входу вого блока 3 регистров.72 блока 17 оперативной памяти, Выход Второй блок 4 регистров (фиг.3) 73 готовности и адресный вход 74 содержит восьмиразрядные регистры 91 блока 18 ввода-вывода соединены соот- и 92, информационные входы которых ветственно с третьим адресным входом соответственно соединены и .являются 75 блока 8 управления и с информа-, восьмиразрядным информационным вхоционным входом 21 первого блока 3 дом 24 второго блока 4 регистров, регистров, а второй информационный информационные выходы регистров 9 и вход-выход 76 и вход-выход 7 управ О 92 объединены и являются шестнадцатиления блока 18 ввода-вывода являются разрядным информационным выходом 82 соответственно входом-выходом 78 дан- второго блока 4 регистров, входы па" ных и входом-выходом 79 управления раллельной записи регистров 91 и 92 устройства. Четвертый адресный вход объединены и являются входом 37 запи блока 8 управления является вхо си второго блока 4 регистров. дом 81 подтверждения прерывания уст- Блок 8 управления (фиг.4) содерройства. Информационный выход 82 вто- жит программируемую логическую матрирого блока 4 регистров соединен с цу 93, пятиразрядный регистр 94, информационным входом 83 третьего первый 95, второй 96 и третий 97 десчетчика 12, информационный выход 84 шифраторы, первый вход программируекоторого подключен к адресному вхо- мой логической матрицы 93 является ду блока9.постоянной памяти и ин- .первым адресным входом 27 блока 8 формационному входу 85.второго комму- управления, второй, третий и четвертатора 14. Информационный выход ре- тый входы программируемой логической гистра 16 команд соединен с пятым матрицы 93 объединены и являются втоадресным входом 86 блока 8 управле-рым адресным входом 57 блока, пятый ния и с первым информационным входом и шестой входы программируемой логи третьего коммутатора 15, второй ческой матрицы 93 объединены и явля- информационный вход 88 которого под". ются третьим адресным входом 75 бло 1434439,оехаУаши Уелна адресаехала А Г дыборка кояаид Уеланен Фа ин.нагаУел фф о ослеход 7/бфт8 уста оЮна магаоюи ни 7Загруэна сосмоя, процесса а о слю Юелг12ой;ма леоехоР ф фпооеао, фефхоРапц Ю 1 6 дае о хаР Уел 7 проаерка ирехода"2 дЗогруыа сюгоюн л гуесса а а стел д, г(,ходг Вас ф поиеао ахоо 7ащЛ Загрузка состоя ароцессара ю ю ка. Загрузн Яс оооо аареса ереУй. Сброс рвага шиЬи П зао Уач Выйуяеона;.. Проектная Государственног113035 комитета по Москва, Жобретен Раушска и открытиям при ГКНТ СССРб., д, 4/55 143443 ка седьмой вход программируемой логической матрицы 93 является четвертым адресным входом 80 блока, восьмой, девятый и десятый входы программируемой логической матрицы 93 объеб дннены и является пятым адресным входом 86 блока, одиннадцатый вход программируемой логической матрицы 93 соединен с входом начальной уста О новки регистра 94 и является входом 46 начальной установки блока, двенадцатый, тринадцатый, четырнадцатый, пятнадцатый и шестнадцатый входы программируемой логической матрицы подключены соответственно к группе информационных выходов регистра 94, первый, второй и третий выходы программируемой логической.матрицей 93 соединены соответственно с группой управляющих входов первого дешифратора 95, инверсный вход обращения которого является тактовым входом 28 блока и соединен с входом обращения программируемой логической матрицы 25 9), входом параллельной записи регистра 94 и прямым входом обращения второго дешифратора 96, группа управляющих входов которого подключена к четвертому и пятому выходам про- ЗО граммируемой логической матрицы 93 шестой, седьмой и восьмой выходы которой соединены с группой управляющих входов третьего дешифратора 97, группы выходов первого 95, второго 96 и третьего 97 дешифраторов, девятый, десятый, одиннадцатый и двенаццатый выходы программируемой логи-ческой матрицы 93 объединены и являются первым информационным выходом 30 блока, тринадцатый и четырнадцатый выходы программируемой логической матрицы 93 являются соответственно вторым 48 и третьим 49 информацион- .ными выходами программируемой логичес- В кой матрицы 93, пятнадцатый, шест= надцатый, семнадцатый, восемнадца" тый и девятнадцатый выходы которой соединены с группой информационныхвходов регистра 94.Первый счетчик 10 (фиг, 5 ) содержит восьмиразрядные двоичные счетчики 98 и 99, первый 100 и второй .101элементы И и инвертор 102, информационный вход параллельной записи счетчика 98 соединен с информацион" ным входом параллельной записи вто" рого счетчика 99 и является восьми- разрядным информационным входом 689 6первого счетчика 10, информационные выходы счетчиков 98 и 99 образуют шестнадцатиразрядный выход 69 первого счетчика О, вход начальной установки счетчиков 98 и 99 соединен с входом 43 начальной установки первого счетчика 10, вход параллельной записи счетчика 98 подключен к выходу элемента И 100, первый вход которого соединен с первым входом второго элемента И 101 и является входом 31 записи первого ,счетчика О, второй вход первого элемента И 100 является входом 36 обращения первого счетчика 10 и подключен через инвертор 102 к второму входу второго элемента И 101, выход которого соединен с входом параллельной записи второго счетчика 99, счетный вход счетчика 98 подключен к выходу прямого переноса счетчика 99, счетный вход которого является счетным входом 65 первого счетчика 10.Второй счетчик 11 (фиг.6) является восьмиразрядным двоичным счетчи" ком 103; информационные входы параллельной записи которого соединены с шиной единичного потенциала, информационные выходы счетчика 103 являются информационным выходом 71 первого счетчика 11, вход параллельной запи= си счетчика 103 является входом 44 начальной установки второго счетчика 11, а счетные входы суммирования "+1" и вычитания "-" счетчика,03 и являются счетным входом 34 второго счетчика 11.Третий счетчик 12 является шест-., надцатиразрядным ,двоичным счетчиком, имеющим входы 45 начальной установки, 39 параллельной записи, счетный вход 38, шестнадцатиразрядный информационный вход 83 параллельной записи и шестнадцатиразрядный информационный выход 84.Первый коммутатор 13 (фиг.7 ) содержит первую 104 и вторую 105 группы из восьми шинных формирователей с тремя состояниями, первый 106 и второй 107 элементы И и инвертор 108, информационные входы шинных формиро-. вателей первой 104 и второй 105 групп являются шестнадцатиразрядным информационным входом 70 первого коммутатора 13, выходы шинных формирователей первой 104 и второй 105 групп соответственно соединены и являются восьмиразрядным выходом 58 первого7 14344 коммутатора 13, управляющие входы шинных формирователей первой группы 104 соединены с выходом первого элемента И 106, первый вход которого5 соединен с первым входом второго элемента И 107 и является входом 32 блокировки первого коммутатора 13, второй вход первого элемента И 106 является входом 67 управления перво го коммутатора 13 и соединен через инвертор 108 с вторым входом второго элемента И 107, выход которого подключен к входам управления шинных формирователей второй группы 105.Второй коммутатор 14 (фиг.8) содержит первую 109 и вторую 110 группы из восьми шинных формирователей с тремя состояниями, выходы шинных формирователей первой 109 и второй 20 110 групп соответственно соединены и являются восьмиразрядным информационным выходом 59 второго коммутатора 14, информационные входы шинных формирователей первой 109 и второй 10 2 б групп объединены и являются шестнадцатиразрядным информационным входом 85 второго коммутатора 14, управляющие входы шинных формирователей первой 109 и второй 110 группы объеди- ЗО иены и являются входом 40 управления второго коммутатора 14.Третий коммутатор 15 (фиг,9) содержит первую группу 111 из трех и Вторую группу 112 из пяти шинных формирователей с тремя состояниями, информационные выходы которых и являются восьмиразрядным информационным выходом 60 третьего коммутатора 15, управляющие входы шинных формировате лей первой 111 и второй 112 групп соединены и являются входом 41 управления третьего коммутатора 15, а информационные входы шинных формирователей первой 111 и второй 112 групп 45 соответственно являются первым 87 и вторым 88 информационными входами третьего коммутатора 15.Блок 18 ввода-вывода (фиг.10) содержит дешифратор 113 адреса, первый 114 и второй 115 восьмиразрядные регистры, первый 116 и второй 117 восьмиразрядные буферные регистры, первый 118 и второй элементы И 119 и элемент ИЛИ 120, группа из шестнадцати (восьми ) входов дешифратора 113 адреса является адресным входом 74 блока 18 ввода-вывода, выход дешифратора 113 адреса соединен с 39первыми входами первого 18 и второ го 119 элементов И, группа информационных входов параллельной записи первого регистра 114 соответственно соединена с группой выходов первого буферного регистра 116 и является первым информационным входом-выходом 62 блока 18 ввода-вывода, вход параллельной записи первого регистра 114 и управляющий вход первого буферного регистра 116 объединены и являются входом 36 обращения блока 18 ввода-вывода, выходы первого 118 и второго 119 элементов И Объединены и являются выходом 73 готовности блока 18 ввода-вывода, группа информационных выходов первого регистра 114 соответственно соединена с группой информационных входов второго буферного регистра 117, управляюший вход которого подключен к входу параллельной записи регистра 114 и к первому входу элемента ИЛИ 120, второй вход которого соединен с выходом второго элемента И 119 и с входом параллельной записи второго регистра 115, группа выходов которого соот, - . Ветственно соединена с группой информационных входов первого буферного регистра 116, группа информационных входов параллельной записи второго регистра 115 соответственно соединена с группой выходов второго буферного регистра 117 и является вторым информационным входом-выходом 76 блока 18 ввода-вывода, а выход элемента ИЛИ 1 20 и вторые входы первого 118 и второго 119 элементов И объединены и являются входом-выходом 77 управления блока 18 ввода-вынода.Блок 19 анализа ветвлений (фиг,11) содержит первый 1 21, второй 122 и третий 123 триггеры, первый 124 и второй 125 двухразрядные счетчики, первый 126, второй 127, третий 128, четвертый 129 и пятый 130 элементы И, первый 131 и второй 132 элементы И-НЕ, первый 133 и второй 134 элементы ИЛИ и первый 135 и второй 136 инверторы, вход установки в ноль и информационный вход первого триггера 121 соединены и подключены к выходу второго инвертора 136, вход которого является синхровходом 50 блока 19 анализа ветвлений, синхроцход первого триггера 121 является тактовым входом 54 блока 19 анализа ветвлений и соединен с первыми входами пер1434439 9вого 131 и второго 132 элементов И-НЕ, единичный выход первого триггера 121 соединен с вторым входом первого элемента И-НЕ 132, первым входом первого элемента И 126 и входом установки в единицу третьего триггера 123, выход первого элемента И-НЕ 131 подключен к первому входу первого элемента ИЛИ 133 и к синхровходу вто О рого триггера 122, вход установки в единицу которого соединен с входом начальной установки первого счетчика 124 и с выходом первого элемента И 126, второй вход которого являетсявходом 33 повторного запуска блока 19 анализа ветвлений, первый вход второ, го элемента ИЛИ.34 является инфор" мационным входом 55 блока 19 анализа ветвлений, вторые входы первого 133 20 и второго 34 элементов ИЛИ, второго элемента И-НЕ 132 и первые входы третьего 128 и четвертого 129 элементов И соединены с информационным выходом старшего разряда первого счет" 2 Б чика 124, выходы первого 33 и второго 134 элементов ИЛИ подключены соответственно к счетному входу в режимесуммирования первого счетчика 124 и , к первому входу второго элемента ЗО : И 127, второй вход которого соединен , с единичным выходом второго тригге ра 122, вьмод второго 127 элемента Иподключен к информационному входу , второго триггера 122, второму входу третьего элемента И 128 и через инвертор 135 к второму входу четвертого элемента И 129, выход второго элемента И-НЕ соединен с нулевым входом третьего триггера 123, единичный выход 40которого соединен с третьими входамитретьего 128 и четвертого элементов И 29, выходы которых подключены соответственно к входу начальной уста-,новки и счетному входу в режиму сум Вмирования второго счетчика 125, инфор"мационные выходы которого соединенысоответственно с первым и вторымвходами пятого элемента И 130, информационный выход младшего разряда пер- В 0вого счетчика 124 и выход третьегоэлемента И 128 объединены и являютсявторым выходом 63 блока 19 анализаветвлений, а единичный выход второготриггера 122, информационный выход старшего разряда первого счетчика 124 и выход пятого элемента И 130 объединены и являются первым выходом 56 блока 19 анализа ветвлений. оЛюбую программу, записанную в машинах кодах в памяти ЭВМ, можно представить в виде набора линейных участков, связанных между собой командами передачи управления . Команда передачи управления является завершающей командой линейного участка, если он не последний линейный участок программы - в этом случае линейный участок может завершаться, например, командой "Останов",. Начальный командой линейного участка может быть либо команда являющаяся внешним входом программы, либо команда, на которую производится передача управления одной из команд перехода. Если некоторый линейный участок программы содержитнесколько начальных команд (точек вхождения , то он может рассматриваться как цепь из нескольких ли- нейных участков, каждый из которых имеет одну начальную команду. В этомслучае конечной командой любого звена цепи, кроме последнего, является команда, предшествующая начальной команде следующего звена.Таким образом, любую программуможно разбить на отдельные линейныеучастки, на которых "поведение" ЭВМстрого детерминированно, в том смысле, что при правильном "прохождении"ЭВМ через данный линейный участокпрограммы на управляющей линии синх-,ронизации машинных циклов должно бытьзарегистрировано строго определенноечисло импульсов, которое известно длякаждого линейного участка еще до начала работы ЭВМ по программе, Это утверждение остается справедливым итогда, когда процесс прохождения данного участка временно приостанавливается в связи с реакцией на внешниепрорраммно-независимые события (прерывания), В этих случаях используется стековый механизм запоминания ивосстановления необходимой информации, Следование сигналов синхрониза",ции машинных циклов, которыми сопровождается выполнение команд передачиуправления, не зависит от того, выполнено ли проверяемое условие или нет.Основную идею работы устройствадля контроля выполнения программ можно выразить следующим образом.1, После (или в процессе) транс"ляции исходной программы на язык машинных команд рабочую программу ана 1434439 1230 40 45 50 55 лизируют с целью выявления всех линейных участков. Список адресов начальных команд линейных участков запоминают.2, Для каждого линейного участка "предсказывается" .число импульсов на управляющей линии синхронизации машинных циклов путем последовательного арифметического сложения некоторых констант, каждая из которых соответствует "своей" команде в зависимости от конструктивных особенностей конкретной ЭВМ. Эта информация запоминается и в дальнейшем используется для контроля прохождения линейного участка при выходе на его начало.3. Каждому линейному участку программы становится в соответствие одна из команд диагностического процессора в зависимости от типа команды, завершающей данный линейный участок:а) линейному участку программы ЭВМ, завершающемуся командой безусловного перехода, ставится в соответствие команда проверки безусловного перехода (БПУ) процессора;б) линейному участку программы ЭВМ, завершающемуся командой перехода по условию, ставится в соответствие команда проверки условного перехода (ПУС) процессора;в) линейному участку программы ЭВМ, завершающемуся командой безусловного вызова подпрограммы, ста вится в соответствие команда проверки вызова подпрограммы (ВПР) процессора;г) линейному участку программы ЭВМ, завершающемуся командой вызова подпрограммы по условию, ставится в соответствие команда проверкй ус-. ловного вызова подпрограммы (ВПУ) процессора;д) линейному участку программы ЭВМ, завершающемуся командой безусловного возврата из подпрограммы, ставится в соответствие команда проверки возврата из подпрограммы (ВБУ) процессора;е) линейному участку программы ЭВМ, завершающемуся командой возврата иэ подпрограммы по условию, ставится в соответствие команда проверки условного возврата из подпрограммы (ВУС) процессора;ж) линейному участку программы ЭВМ, завершающемуся командой последовательной цепи операций, ставится в соответствие команда проверки проо должения последовательных операций ПРД) процессора;э) линейному участку программы ЭВМ, завершающемуся командой передачи управления по вычисленному адресу (командой, реализующей программный переключатель на более чем два адреса - или командой передачи управления в неконтролируемую область памяти, ставится в соответствие команда перехода в режим диалога с ЭВМ (РДИ) процессора.4. Для линейных участков программы ЭВМ, завершающихся командами передачи управления по заданному адресу, адрес передачи управления запоминается и в дальнейшем используется для контроля правильности перехода при выходе на конец линейного участка.5. Производится пуск рабочей программы, Правильность ее выполнения контролируется специальными аппаратными средствами. Одновременно с выбором из основной памяти начальной ко" манды некоторого линейного участка из памяти. процессора для контроля выполнения программ извлекается команда проверки правильности выполнения линейного участка, содержащая информацию, определяющую ожидаемое числоимпульсов синхронизации машинных циклов, Эта информация помещается всчетчик, содержимое которого в дальнейшем уменьшается по мере .отработки ,данного линейного участка программы,т,е. по мере передачи от ЭВМ импульсов синхронизации. Одновременно в ходе выполнения линейного участка производится контроль прохождения" программы по адресам выборки команд.К моменту перехода на начало нового линейного участка содержимое счетчика количества импульсов синхронизации становится равным нулю. В момент обнуления счетчика выполняется проверка "поведения" ЭВМ в соответствии с командой проверки процессора для контроля выполнения программ и, если это соответствие выполняется, проиэводится выборка команды проверки нового линейного участка.6, Если при "прохождении" линейного участка в результате сбоя или неисправности вместо очередной команды выполняется несанкционированный переход, в микропроцессорной системе на базе микропроцессора КР 580 ИК 80 будет14 13 1434439 Проверка безусловного перехода ПБУ ПУС Проверка переходапо условию ВПР Проверка. бе зусловного вызова подпрограммы ВПУ ВБУ ВУС аПроверка продолжения последовательности операций ПРД Переход в режимдиалога РДИ обнаружен в третьем машинном цикле после его возникновения, что поэво- ляет организовать своевременноменную реакцию устройства управления в случае аварийной ситуации.Память программ контролируемой микроЭВМ и программируемых контроллеров выполняется в виде постоянного или полупостоянного запоминающегоустройства, Вводимая в память рабо" , чая программа представлена в виде по, следовательности машинных кодов. Ееввод в память микроЭВМ должен сопровождаться вводом в блок памяти процессора заранее подготовленной программы контроля выполнения рабочей , программы. Программа контроля также должна быть представлена в виде последовательности машинных кодов. Форматы команд проверки, конструктивныеособенности элементов схемы процессо ра и алгоритм работы блока микропрограммного управления определяютсяконструктивными особенностями, ин.терфейсом и форматом команд конкретной микроЭВМ. Обозна- Назначение командычение Проверка вызоваподпрограммы по условиюПроверка возврата иэ подпрограммы безусловногоПроверка возврата иэ подпрограммы по условию Рассмотрим построение системы конт;.роля выполнения программ для микроЭВМна баэемикропроцессора КР 580 ИК 80.Форматы команд проверки линейныхучастков представлены в таблице.По своему формату команды процес"сора разделяются на две группы. Команды процессора первой группы, включающей команды проверки. ПБУ, ПУС,ВПР и ВПУ, имеют пятибайтную структу"ру. Первый байт команд этой группысостоит из двух частей: трехраэрядного кода операции машинных цикловсоответствующего линейного участка.Второй и третий байты команд этойгруппы являются соответственно младшим и старшим байтами адреса перехода соответствующего линейного участка. Четвертый и пятый байты командпервой группы являются соответственномладшим и старшим байтами адреса пе-.рехода процессора, т,еадреса команды проверки программы контроля, на 25 которую передается управление припереходе. к новому линейному участкурабочей программы. Номер Формат командыбайтаЪз о 1 Код команды Количество импульсов синхр, 2 Младший байт адреса нерехо" да линейного участка3 Старший байт адреса перехода процессора Младший байт адреса перехода процессораСтарший байт адреса переходапроцессора 1 Код команды Количество импульсов синхр.15 1434Команды процессора второй группы, включающей команды проверки ВВУ, ВУС,. ПРД и РДИ, имеют однобайтную структуру, Байт команды этой группы состоит5 из трехразрядного кода операции и пятиразрядного кода количества им пульсов синхронизации машинных циклов команд соответствующего линейного участка. ОУстройство работает следующим образом.ЭВМ приводится в исходное состояние путем подачи соответствующего сигнала в линию "Общий сброс", входя щую в состав интерфейсных шин. Сигнал на этой линии формируется автоматически после включения питания или, например, появляется в результате нажатия соответствующей кнопки на пульте управления.Сигнал "Общий сброс" поступает на вход 47 (фиг. 1) начальной установки процессора и приводит его в исходное состояние следующим .образом. С входа 25 47 начальной установки процессора сигнал "Общий сброс" поступает на входы 43 и 45 начальной установки соответственно первого 10 и третьего, 12 счетчиков и переводит их в нулевое ЗО состояние, на вход 44 начальной установки второго счетчика и переводит все его разряды в состояние единицы, на вход 46 начальной установки блока 3, и переводит его в исходное состояние; З через элемент ИЛИ 7 на вход установки в ноль триггера 2 и устанавливает его в нулевое состояние, причем единичный сигнал с инверсного выхода триггера 2 поступает на выход 23 40 ошибки процессора и воспринимается на входе запроса прерывания микроЭВМ как сигнал отсутствия прерывания.Перевод первого счетчика 1 О (фиг.5) в нулевое состояние производится сигналом "Общий сброс", поступающим с входа 43 начальной установки счетчика 10 на входы начальной установки счетчиков 98 и 99 и переводящим эти счетчики в состояние "Все нули". При этом сигналы на выходах группы выходов 69 счетчика 10 принимают нулевые значения.Перевод в то ро го сче тчика 11 (фиг . 6) в состояние "Все единицы" производится сигналом "Общий сброс", поступающим с входа 44 начальной установки счетчика 1 на вход параллельной записи счетчика 103 и производящим 439запись в счетчик единичного состояния информационных входов параллельной записи его разрядов, При этом сигналы на выходах группы 71 выходов счетчика 11 принимают единичные значенияПеревод блока 8 (фиг.4) управления н исходное состояние производится сигналом "Общий сброс", поступающим с входа 46 начальной установки блока 8 управления на вход начальной установки регистра 94 и переводящим этот регистр в состояние "Все нули". Сиг; калы на выходах группы выходов разрядов регистра 94 принимают нулевые значения.После окончания сигнала "Общий сброс" микроЭВМ автоматически или по инициативе оператора переходит к выполнению рабочей программы записанной в ее памяти. На тактовый вход 29 для контроля выполнения программ поступает первый импульс тактовой частоты тактового генератора микропроцессора либо внешнего независимого генератора. С входа 29 этот сигнал поступает .на тактовый вход 28 блока 8 управления, с первого информационного выхода 30 которого на входы соответ" ствующих элементов процессора посту- пает сигналы управления, предусмот" ренные первым шагом микропрограммы его функционирования . Работа блока 8 управления представлена следующим (фиг.12) алгоритмом. Шаг 1. По сигналу "Общий сброс"описанным путем аппаратно устанавливаются в исходное состояние первый10, второй 11 и третий 12 счетчики,блок 8 управления и триггер 2 ошибки(см. Фиг,2, оператор 1 "Начальная установка").По адресу (0000)ляемому выходными сигналами счетчика12, из блока 9 постоянной памяти выбирается первый байт очередной команды процессора и загружается соответственно первая часть, определяющаякод ,команды проверки, в регистр 16команд, и вторая часть, определяющаяколичество импульсов синхронизациимашинных циклов очередного линейногоучастка, в счетчик 1. Выборка команды обеспечивается. путем подачи сигна-.лов с первого выхода 30 блока 8 управления на вход обращения блока 9постоянной памяти, вход 42 записи
СмотретьЗаявка
4219152, 03.04.1987
ХАРЬКОВСКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ ИМ. В. И. ЛЕНИНА
АНТОСИК ВАЛЕРИЙ ВАСИЛЬЕВИЧ, ДЕРБУНОВИЧ ЛЕОНИД ВИКТОРОВИЧ, МЫЗЬ АЛЕКСАНДР НИКОЛАЕВИЧ, НЕШВЕЕВ ВИТАЛИЙ ВЛАДИМИРОВИЧ, ИВАНОВ ЛЕВ НИКОЛАЕВИЧ, ЛОБАНОВ ВЛАДИМИР ИВАНОВИЧ, МОРОЗОВ СЕРГЕЙ АЛЕКСЕЕВИЧ, ЧЕРКАЙ АЛЕКСАНДР ДАНИЛОВИЧ
МПК / Метки
МПК: G06F 11/28
Метки: выполнения, программ
Опубликовано: 30.10.1988
Код ссылки
<a href="https://patents.su/38-1434439-ustrojjstvo-dlya-kontrolya-vypolneniya-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля выполнения программ</a>
Предыдущий патент: Устройство для контроля по модулю три умножения комплексных чисел
Следующий патент: Устройство для сопряжения микропроцессора с периферийными устройствами
Случайный патент: Ключевой делитель частоты на полупроводниковых триодах