Устройство для контроля выполнения программ
Изобретение относится к вычислительной технике и может быть.не1о пользовано для контроля выполнения программ в цифровых вычислительных машинах и программируемых контроллерах , построенных по принципу Общей магистрали. Цель изобретения - повышение достоверности контроля за ходом выполнения программ. Процессор содержит счетчики, триггер, блоки регистров, схему сравнения, элементы ИЛИ,блок управления, блок постоянной памяти, коммутаторы, регистр команд , блок оперативной памяти, блок ввода-вьюода и блок анализа ветвлений . 2 з.п. ф-лы, 21 ил., 1 табл. с (О
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (д) 4 С 06 F 11/28
f
\ 1
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР (21) 4219152/24-24 (22) 03,04.87 (46) 30. 10. 88. Вюл. Ф 40 (71) Харьковский политехнический институт им. В.И.. Ленина (72) В.В. Антосик, Л.В. Дербунович, А.Н. Мызь, В.В. Нешвеев, Л.Н, Иванов, В,И. Лобанов, С.А. Морозов и А.Д. Черкай (53) 681.3(088.8) (56) Авторское свидетельство СССР
11 1019451, кл. С 06 F 11/00, 1983, Авторское свидетельство СССР
11 1315991, кл. G 06 F !1/28, 1985. (54) УСТРОЙСТВО gJIH KOHTPOJIH BbIIIOJIНЕНИЯ ПРОГРАММ,.SU„„1434439 д 1 (57) Изобретение относится к вычислительной технике и может быть .использовано для контроля выполнения программ в цифровых вычислительных машинах и программируемых контроллерах, построенных по принципу "Общей магистрали". Цель изобретения — повышение достоверности контроля за ходом выполнения программ, Процессор содержит счетчики, триггер, блоки регистров, схему сравнения, элементы
ИЛИ,блок управления, блок постоянной памяти, коммутаторы, регистр команд, блок оперативной памяти, блок ввода-вывода и блок анализа ветвлений. 2 з.п. ф-лы, 21 ил., 1 табл.
1434439
Изобретение относится к цифровой вычислительной технике и может быть использовано для контроля выполнения программ в цифровых вычислительных машинах и программируемых контроллерах, построенных по принципу "Общей магистрали".
Целью изобретения является повышение достоверности контроля за ходом выполнения программ. ! На фиг. 1 представлена функциональная схема устройства процессора для контроля выполнения программ; на фиг. 2-10 — примеры реализации функциональных узлов устройства для контроля выполнения программ микропроцессорной системы на базе микропроцессора КР58РИКЯО; на фиг. 2— функциональная схема первого блока регистров; на фиг. 3 — функциональная схема второго блока регистров; на фиг. 4 — функциональная схема блока управления; на фиг. 5 — функциональная схема первого счетчика; на фиг. 6 — функциональная схема второго счетчика; на фиг. 7 — функциональная схема первого коммутатора; на фиг.8 — функциональная схема второго коммутатора; на фиг. 9 — функциональная схема третьего коммутатора; на фиг. 10 — функциональная схе-ма блока ввода-вывода; на фиг. 11 функциональная схема блока анализа ветвлений; на фиг. 12 - граф-схема
35 алгоритма функционирования блока управления; на фиг. 13 — и временная . диаграмма выполнения процессором про-. верки правильности прямого хода программы микроЭВМ; на фиг. 14 — времен- 4 ная диаграмма выполнения процессором проверки правильности перехода микроЭВМ; на фиг. 15 — временная диаграм-ма выполнения процессором записи адреса перехода микроЭВМ; на фиг. 16 временная диаграмма, поясняющая работу процессора в режиме вывода в микроЭВМ информации об ошибке; нафиг.1720 — граф-схема алгоритма . работы блока управления; на фиг. 21 — вре50 менная диаграмма сигналов на информационных выходах блока управления .
Устройство для контроля выполнения программ (фиг.1) содержит счетчик 1 количества импульсов синхронизации, триггер 2, первый 3 и второй 4 блоки регистров, схема 5 сравнения, первый 6 и второй 7 элементы ИЛИ, блок
8 упраВления, блок 9 постоянной памя-:. ти, первый 10, второй l I и третий 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 управления второго !4 и 41 третьего 15 коммутаторов, а также с входами 42 записи счетчика 1 и регистра 16 команд, и входом обращения блока 9 постоянной памяти. Первый вход второго элемента ИЛИ 7 соединен с входами 43-46 начальной установки соответственно первого 10, второго
11, третьего 12 счетчиков, блока 8 управления и является входом 47 начальной установки устройства, Выход второго элемента ИЛИ 7 подключен к входу установки в ноль триггера 2, вход "установки в единицу которого соединен с вторым информационным выходом 48 блока 8 управления, третий информационный выход 49 которого соединен с вторым входом второго элемента ИЛИ 7 ° Вход 50 синхронизации блока 19 анализа ветвлений соединен с входом 51 записи первого 3 блока з 1434439
4 регистров и счетным входом 52 счетчи — ключен к информационному выходу 26 ка l и является синхровходом 53 уст- счетчика 1 . Счетчик 1 количества ройства. Тактовый 54, информационный импульсов синхронизации является пя55 входы и первый выход 56 блока 19 тиразрядным двоичным счетчиком, ин—
5 анализа ветвлений подключены соответ- формационные входы параллельной заственно к тактовому входу 28 бло- писи которого объединены и являютка 8 управления, выходу схемы 5 срав- ся информационным входом 25 счетчинения и второму адресному входу 57 ка 1, выходы разрядов счетчика явблока 8 управления. Выход блока 9 по- р ляются группой 26 выходов счетчика, стоянной памяти через магистраль вход 42 записи которого является вхосоединен с информационным выходами дом параллельной записи счетчика, а
58-60 соответственно первого 13, в счетный вход 52 счетчика l является второго 14, третьего 15 коммутаторов, счетным входом в режиме вычитания информационным входом регистра 1 6 15 "1 " счетчика l.. команд, информационным входом-выхо- Первый блок 3 регистров (фиг.2) дом 61 блока 17 оперативной памяти содержит восьмиразрядные регистры 89 и первым информационным входом-выхо-., и 90, информационные входы которых дом 62 блока 18 ввода-вывода. Вто- объединены и являются шестнадцатиразрой выход 63 блока 19 анализа ветвле- gp рядным информационным входом 21 перний подключен к входу 64 обращения вого блока 3 регистров, синхровходы первого блока 3 регистров, счетному регистров 89 и 90 соединены и являвходу 65 и входу бб обращения перво- ются входом 5) записи первого блого счетчика 10 и входу 67 управле- ка 3 регистров, одноименные выходы ния первого коммутатора 13. Информа- 2В регистров 89 и 90 соответственно соеционный вход 68 и выход 69 первого динены и являются восьмиразрядным счетчика 10 соединены соответственно информационным выходом 20 первого с информационным выходом 20 первого блока 3 регистров, а инверсный вход блока 3 регистров и с информационным обращения регистра 89 соединен с входом 70 первого коммутатора 13. gp прямым входом обращения регистра 90:
Информационный выход 71 второго счет- и является входом 64 обращения перчика 11 подключен к адресному входу вого блока 3 регистров.
72 блока 17 оперативной памяти. Выход Второй блок 4 регистров (фиг.3)
73 готовности и адресный вход 74 содержит восьмиразрядные регистры 91 блока 18 ввода-вывода соединены соот- и 92, информационные входы которых ветственно с третьим адресным входом соответственно соединены и .являются
75 блока 8 управления и с информа-, восьмиразрядным информационным вхоционным входом 21 первого блока 3 дом 24 второго блока 4 регистров, регистров, а второй информационный информационные выходы регистров 91 и вход-выход 76 и вход-выход 77 управ- 4О 92 объединены и являются шестнадцатиления блока 18 ввода-вывода являются разрядным информационным выходом 82 соответственно входом-выходом 78 дан- второго блока 4 регистров, входы паных и входом-выходом 79 управления раллельной записи регистров 91 и 92 устройства. Четвертый адресный вход объединены и являются входом 37 запи80 блока 8 управления является вхо- 4 си второго блока 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 блока, пятый ния и с первым информационным входом и шестой входы программируемой логи87 третьего коммутатора 15 второй ческой матрицы 93 объединены и являинформационный вход 88 которого под- ются третьим адресным входом 75 бло5 143443 ка седьмой вход программируемой логической матрицы 93 является четвертым адресным входом 80 блока, восьмой, девятый и десятый входы программируемой логической матрицы 93 объе5 дннены и является пятым адресным входом 86 блока, одиннадцатый вход программируемой логической матрицы
93 соединен с входом начальной уста- !О новки регистра 94 и является входом
46 начальной установки блока, двенадцатый, тринадцатый, четырнадцатый, пятнадцатый и шестнадцатый входы программируемой логической матрицы подключены соответственно к группе информационных выходов регистра 94, первый, второй и третий выходы программируемой логической.матрицей 93 соединены соответственно с группой управляющих входов первого дешифратора 95, инверсный вход обращения которого является тактовым входом 28 блока и соединен с входом обращения программируемой логической матрицы 25
9), входом параллельной записи регистра 94 и прямым входом обращения второго дешифратора 96, группа управляющих входов которого подключена к четвертому и пятому выходам про- 30 граммируемой логической матрицы 93, шестой, седьмой и восьмой выходы которой соединены с группой управляющих входов третьего дешифратора 97, группы выходов первого 95, второго
96 и третьего 97 дешифраторов, девя. тый, десятый, одиннадцатый и двенаццатый выходы программируемой логи ческой матрицы 93 объединены и являются первым информационным выходом
30 блока, тринадцатый и четырнадцатый выходы программируемой логической матрицы 93 являются соответственно вторым 48 и третьим 49 информацион- . ными выходами программируемой логичес- «
J кой матрицы 93, пятнадцатый, шест= надцатый, семнадцатый, восемнадца" тый и девятнадцатый выходы которой соединены с группой информационных входов регистра 94.
Первый счетчик 10 (фиг. 5 ) содержит восьмиразрядные двоичные счетчики 98 и 99, первый 100 и второй .101 элементы И и инвертор 102, информационный вход параллельной записи счетчика 98 соединен с информацион" ным входом параллельной записи вто" рого счетчика 99 и является восьмиразрядным информационным входом 68
9 6 первого счетчика 10, информационные выходы счетчиков 98 и 99 образуют шестнадцатиразрядный выход 69 первого счетчика 10, вход начальной установки счетчиков 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 начальной установки второго счетчика
ll, а счетные входы суммирования "+1" и вычитания "-!" счетчика.103 и являются счетным входом 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 группы из восьми шинных формирователей с тремя состояниями, выходы шинных формирователей первой !09 и второй Zp
110 групп соответственно соединены и являются восьмиразрядным информационным выходом 59 второго коммутатора
14, информационные входы шинных формирователей первой 109 и второй 1!0 25 групп объединены и являются шестнадцатиразрядным информационным входом
85 второго коммутатора 14, управляющие входы шинных формирователей первой 109 и второй 110 группы объеди- 30 иены и являются входом 40 управления второго коммутатора 14.
Третий коммутатор 15 (фиг.9) содержит первую группу 111 из трех и вторую группу 112 из пяти шинных формирователей с тремя состояниями, информационные выходы которых и являются восьмиразрядным информационным выходом 60 третьего коммутатора 15, управляющие входы шинных формировате- 40 лей первой 111 и второй 112 групп соединены и являются входом 41 управления третьего коммутатора 15, а информационные входы шинных формирователей первой 111 и второй 112 групп 45 соответственно являются первым 87 и вторым 88 информационными входами третьего коммутатора 15.
Блок 18 ввода-вывода (фиг.10) содержит дешифратор 113 арреса пер 50 вый 114 и второй 115 восьмиразрядные регистры, первый 116 и второй 117 восьмиразрядные буферные регистры, первый 118 и второй элементы И 119 и элемент ИЛИ 120, группа из шестнадцати (восьми ) входов дешифратора 113 адреса является адресным входом 74 блока 18 ввода-вывода, выход дешифратора 113 адреса соединен с
39 первымн входами первого. !18 и ВТоро
ro 119 элементов И, группа информационных входов параллельной записи первого регистра 114 соответственно соединена с группой выходов первого буферного регистра 116 и является первым информационным входом-выходом 62 блока 18 ввода-вывода, вход параллельной записи первого регистра 114 и управляющий вход первого
I буферного регистра 116 объединены и являются входом 36 обращения блока
18 ввода-вывода, выходы первого 118 и второго 119 элементов И объединены и являются выходом 73 готовности блока 18 ввода-вывода, группа информационных выходов первого регистра
114 соответственно соединена с групI пой информационных входов второго буферного регистра 117, управляюший вход которого подключен к входу параллельной записи регистра 114 и к первому входу элемента ИЛИ 120, второй вход которого соединен с выходом второго элемента И 119 и с входом параллельной записи второго регистра
115, группа выходов которого соот, — . ветственно соединена с группой инфор— мационных входов первого буферного регистра 116, группа информационных входов параллельной записи второго регистра 115 соответственно соединена с группой выходов второго буферного регистра 117 и является вторым информационным входом-выходом 76 блока 18 ввода-вывода, а выход элемента ИЛИ
1 20 и вторые входы первого 118 и второго 119 элементов И объединены и являются входом-выходом 77 управления блока 18 ввода-Bb!Hopa.
Блок 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, выход первого элемента И-11Е 131 подключен к первому входу первого элемента ИЛИ 133 и к синхровходу вто- 1О рого триггера 122, вход установки в единицу которого соединен с входом начальной установки первого счетчика
124 и с выходом первого элемента II
126, второй вход которого является входом 33 повторного запуска блока 19 анализа ветвлений, первый вход второ, го элемента ИЛИ.!34 является инфор" мационным входом 55 блока 19 анализа ветвлений, вторые входы первого 133 20 и второго 134 элементов ИЛИ, второго элемента И-НЕ 132 и первые входы третьего 128 и четвертого 129 элементов И соединены с информационным выходом старшего разряда первого счет" 25 чика 124, выходы первого !33 и второго 134 элементов ИЛИ подключены соответственно к счетному входу в режиме суммирования первого счетчика 124 и, к первому входу второго элемента ЗО, И 127, второй вход которого соединен, с единичным выходом второго тригге ра 122, вьмод второго 127 элемента И подключен к информационному входу, второго триггера 122, второму входу третьего элемента И 128 и через инвертор 135 к второму входу четвертого элемента И 129, выход второго элемента И-НЕ соединен с нулевым входом третьего триггера 123, единичный выход 40 ! которого соединен с третьими входами третьего 128 и четвертого элементов
И !29, выходы которых подключены соответственно к входу начальной уста-, новки и счетному входу в режиму сум- 45 мирования второго счетчика 125, инфор- мационные выходы которого соединены соответственно с первым и вторым входами пятого элемента И 130, информационный выход младшего разряда пер- 50 вого счетчика 124 и выход третьего элемента И 128 объединены и являются вторым выходом 63 блока 19 анализа ветвлений, а единичный выход второго триггера 122, информационный выход старшего разряда первого счетчика 124 и выход пятого элемента И 130 объединены и являются первым выходом 56 блока 19 анализа ветвлений.! о
Любую программу, записанную в машинах кодах в памяти ЭВМ, можно представить в виде набора линейных участков, связанных между собой командами передачи управления . Команда передачи управления является завершающей командой линейного участка, если он не последний линейный участок программы — в этом случае линейный участок может завершаться, например, командой "Останов".. Начальный командой линейного участка может быть либо команда„ являющаяся внешним входом программы, либо команда, на которую производится передача управления одной из команд перехода. Если некоторый линейный участок программы содержит несколько начальных команд (точек вхождения ), то он может рассматриваться как цепь из нескольких ли- нейных участков, каждый из которых имеет одну начальную команду. В этом случае конечной командой любого звена цепи, кроме последнего, является команда, предшествующая начальной команде следующего звена.
Таким образом, любую программу можно разбить на отдельные линейные участки, на которых "поведение" ЭВМ строго детерминированно, в том смыслет что при правильном 11проходении"
ЭВМ через данный линейный участок программы на управляющей линии синх-. ронизации машинных циклов должно быть зарегистрировано строго определенное число импульсов, которое известно для каждого линейного участка еще до начала работы ЭВМ по программе. Это утверждение остается справедливым и тогда, когда процесс прохождения данного участка временно приостанавливается в связи с реакцией на внешние прорраммно-независимые события (прерывания). В этих случаях используется стековый механизм запоминания и восстановления необходимой информации, Следование сигналов синхрониза ции машинных циклов, которыми сопровождается выполнение команд передачи управления, не зависит от того, выполнено ли проверяемое условие или нет.
Основную идею работы устройства для контроля выполнения программ можно выразить следующим образом.
1. После (или в процессе) транс" ляции исходной программы на язык машинных команд рабочую программу анаl434439
10
25
50
55 лизируют с целью выявления всех линейных участков. Список адресов начальных команд линейных участков запоминают.
2. Для каждого линейного участка
"предсказывается" .число импульсов на управляющей линии синхронизации машинных циклов путем последовательного арифметического сложения некоторых констант, каждая из которых соответствует "своей" команде в зависимости от конструктивных особенностей конкретной ЭВМ. Эта информация запоминается и в дальнейшем используется для контроля прохождения линейного участка при выходе íà его начало.
3. Каждому линейному участку программы становится в соответствие одна из команд диагностического процессора в зависимости от типа команды, завершающей данный линейный участок: а) линейному участку программы
ЭВМ, завершающемуся командой безусловного перехода, ставится в соответствие команда проверки безусловного перехода (БПУ) процессора; б) линейному участку программы
ЭВМ, завершающемуся командой перехода по условию, ставится в соответствие команда проверки условного перехода (ПУС) процессора; в) линейному участку программы
ЭВМ, завершающемуся командой безусловного вызова подпрограммы, ста вится в соответствие команда проверки вызова подпрограммы (ВПР) процессора;
r) линейному участку программы
ЭВМ, завершающемуся командой вызова подпрограммы по условию, ставится в соответствие команда проверкй ус-. ловного вызова подпрограммы (ВПУ) процессора; д) линейному участку программы
ЭВМ, завершающемуся командой безусловного возврата из подпрограммы, ставится в соответствие команда проверки возврата из подпрограммы (ВБУ) процессора; е) линейному участку программы
ЭВМ, завершающемуся командой возврата иэ подпрограммы по условию, ставится в соответствие команда проверки условного возврата из подпрограммы (ВУС) процессора; ж) линейному участку программы
ЭВМ, завершающемуся командой последовательной цепи операций, ставится в соответствие команда проверки про должения последовательных операций ПРД) процессора; э) линейному участку программы
ЭВМ, заввршающемуся командой передачи управления по вычисленному адресу (командой, реализующей программный переключатель на более чем два адреса — или командой передачи управления в неконтролируемую область памяти, ставится в соответствие команда перехода в режим диалога с ЭВМ (РДИ) процессора.
4. Для линейных участков программы ЭВМ, завершающихся командами передачи управления по заданному адресу, адрес передачи управления запоминается и в дальнейшем используется для контроля правильности перехода при выходе на конец линейного участка.
5. Производится пуск рабочей программы. Правильность ее выполнения контролируется специальными аппаратными средствами. Одновременно с выбором из основной памяти начальной ко" манды некоторого линейного участка из памяти. процессора для контроля выполнения программ извлекается команда проверки правильности выполнения линейного участка, содержащая информацию, определяющую ожидаемое число импульсов синхронизации машинных циклов. Эта информация помещается в счетчик, содержимое которого в дальнейшем уменьшается по мере .отработки ,данного линейного участка программы, т.е. по мере передачи от ЭВМ импульсов синхронизации. Одновременно в ходе выполнения линейного участка производится контроль прохождения" программы по адресам выборки команд.
К моменту перехода на начало нового линейного участка содержимое счетчика количества импульсов синхронизации становится равным нулю. В момент обнуления счетчика выполняется проверка "поведения" ЭВМ в соответствии с командой проверки процессора для контроля выполнения программ и, если это соответствие выполняется, проиэводится выборка команды проверки нового линейного участка.
6. Если при "прохождении" линейного участка в результате сбоя или неисправности вместо очередной команды выполняется несанкционированный переход, в микропроцессорной системе на базе микропроцессора КР580ИК80 будет
13
1434439
Проверка безусловного перехода
ПБУ
ПУС
Проверка перехода по условию
ВПР
Проверка. бе зуслов ного вызова подпрограммы
ВПУ
ВБУ
ВУС а
Проверка продолжения последовательности операций
ПРД
Переход в режим диалога
РДИ обнаружен в третьем машинном цикле после его возникновения, что позволяет организовать своевременноменную реакцию устройства управления в случае аварийной ситуации.
Память программ контролируемой микроЭВМ и программируемых контрол. леров выполняется в виде постоянного или полупостоянного запоминающего
: устройства. Вводимая в память рабо", чая программа представлена в виде по, следовательности машинных кодов. Ее ! ввод в память микроЭВМ должен сопровождаться вводом в блок памяти про: цессора заранее подготовленной программы контроля выполнения рабочей, программы. Программа контроля также должна быть представлена в виде последовательности машинных кодов. Форматы команд проверки, конструктивные особенности элементов схемы процессо ра и алгоритм работы блока микропрограммного управления определяются конструктивными особенностями, ин.терфейсом и форматом команд конкрет:ной микроЭВМ.
Обозна- Назначение команды чение
Проверка вызова подпрограммы по условию
Проверка возврата иэ подпрограммы безусловного
Проверка возврата иэ подпрограммы по условию
Рассмотрим построение системы конт;. роля выполнения программ для микроЭВМ на базе микропроцессора КР580ИК80.
Форматы команд проверки линейных участков представлены в таблице.
По своему формату команды процес" сора разделяются на две группы. Команды процессора первой группы, включающей команды проверки. ПБУ, ПУС, ВПР и ВПУ, имеют пятибайтную структу" ру. Первый байт команд этой группы состоит из двух частей: трехраэрядного кода операции машинных циклов соответствующего линейного участка.
Второй и третий байты команд этой группы являются соответственно млад« шим и старшим байтами адреса перехода соответствующего линейного участка. Четвертый и пятый байты команд первой группы являются соответственно младшим и старшим байтами адреса пе-. рехода процессора, т.е..адреса команды проверки программы контроля, на
25 которую передается управление при переходе. к новому линейному участку рабочей программы.
Номер Формат команды байта
I I6I5 I 4I 3I XI 1I О
1 Код команды Количество импульсов синхр, 2 Младший байт адреса нерехо" да линейного участка
3 Старший байт адреса перехода процессора
Младший байт адреса перехода процессора
Старший байт адреса перехода процессора
1 Код команды Количество импульсов синхр.
15 1434
Команды процессора второй группы, включающей команды проверки ВВУ, ВУС,.
ПРД и РДИ, имеют однобайтную структуру. Байт команды этой группы состоит
5 из трехразрядного кода операции и пятиразрядного кода количества им пульсов синхронизации машинных циклов команд соответствующего линейного участка. l0
Устройство работает следующим образом.
ЭВМ приводится в исходное состояние путем подачи соответствующего сигнала в линию "Общий сброс", входя- 15 щую в состав интерфейсных шин. Сигнал на этой линии формируется автоматически после включения питания или, например, появляется в результате нажатия соответствующей кнопки на пульте управления.
Сигнал "Общий сброс" поступает на вход 47 (фиг. 1) начальной установки процессора и приводит его в исходное состояние следующим .образом. С входа 25
47 начальной установки процессора сигнал "Общий сброс" поступает на входы 43 и 45 начальной установки соответственно первого 10 и третьего
12 счетчиков и переводит их в нулевое 30 состояние, на вход 44 начальной установки второго счетчика и переводит все его разряды в состояние единицы, на вход 46 начальной установки блока 3, и переводит его в исходное состояние, З через элемент ИЛИ 7 на вход установки в ноль триггера 2 и устанавливает
его в нулевое состояние, причем единичный сигнал с инверсного выхода триггера 2 поступает на выход 23
40 ошибки процессора и воспринимается на входе запроса прерывания микроЭВМ как сигнал отсутствия прерывания.
Перевод первого счетчика 10 (фиг. 5) в нулевое состояние производится сигналом "Общий сброс", поступающим с входа 43 начальной установки счетчика 10 на входы начальной установки счетчиков 98 и 99 и переводящим эти счетчики в состояние "Bce нули ° При 50 этом сигналы на выходах группы выходов 69 счетчика 10 принимают нулевые значения.
Перевод второго счетчика 11 (фиг. 6) в состояние "Все единицы" производится сигналом "Общий сброс", поступающим с входа 44 начальной установки счетчика 11 на вход параллельной записи счетчика 103 и производящим
16
439 запись в счетчик единичного состояния информационных входов параллельной записи его разрядов, При этом сигналы на выходах группы 71 выходов счетчика 11 принимают единичные значения °
Перевод блока 8 (фиг. 4) управления н исходное состояние производится сигналом "Общий сброс", поступающим с входа.46 начальной установки блока
8 управления на вход начальной установки регистра 94 и переводящим этот регистр в состояние "Все нули". Сиг; калы на выходах группы выходов разрядов регистра 94 принимают нулевые значения.
После окончания сигнала "Общий сброс" микроЭВМ автоматически или по инициативе оператора переходит к выполнению рабочей программы,. записанной в ее памяти. На тактовый вход
29 для контроля выполнения программ поступает первый импульс тактовой частоты тактового генератора микропроцессора либо внешнего независимого генератора. С входа 29 этот сигнал поступает .на тактовый вход 28 блока 8 управления, с первого информационного выхода 30 которого на входы соответ" ствующих элементов процессора посту- пает сигналы управления, предусмотренные первым шагом микропрограммы
его функционирования . Работа блока 8 управления представлена следующим (фиг.12) алгоритмом.
Шаг 1. По сигналу "Общий сброс" описанным путем аппаратно устанавливаются в исходное состояние первый
10, второй 11 и третий 12 счетчики, блок 8 управления и триггер 2 ошибки (см. фиг.l2 оператор 1 "Начальная установка").
Шаг 2. По адресу (0000), определяемому выходными сигналами счетчика
12, из блока 9 постоянной памяти выбирается первый байт очередной команды процессора и загружается соответственно первая часть, определяющая код,команды проверки, в регистр )6 команд, и вторая часть, определяющая койичество импульсов синхронизации машинных циклов очередного линейного участка, в счетчик 1. Выборка команды обеспечивается. путем подачи сигна-. лов с первого выхода 30 блока 8 управления на вход обращения блока 9 постоянной памяти, вход 42 записи
17 14344 счетчика 1 и вход записи регистра !6 команд.
Производится инкремент счетчика 12 путем подачи сигнала с выхода 30 блока 8 управления на счетный вход 38 третьего счетчика 12, в результате чего на адресных входах блока 9 постоянной памяти устанавливается ацрес второго байта команды проверки, если выбранная команда пятибайтная, и адрес следующей команды проверки, если выбранная команда — однобайтная (фиг.,12, оператор 2 "Выборка ко1 манд). 15
Шаг .3. Если с соответствующего выхода микроЭВМ на вход 81 подтверждения прерывания процессора и далее на четвертый адресный вход блока 8 управления поступает сигнал "Под1 тверждение прерывания" и микроЭВМ переходит к отработке подпрограммы обслуживания прерывания выполняется переход к шагу 7 алгоритма,в против-! ном случае к шагу 4 (фиг, l 2, опера- 25
1 тор 3 "Прерывание" ), Шаг 4. Завершение линейного участка программы микроЭВМ сопровождается обнулением счетчика I, содержимое которого уменьшается по мере обработ- З0 ки линейно го участка путем подачи сигналов синхронизации машинных циклов с соответствующего выхода микроЭВМ на синхровход 53 процессора и далее на счетный вход 52 в режиме вычитания счетчика 1, Нулевые сигналы с группы выходов 26 счетчика поступают соответственно на группу входов первого элемента ИЛИ 6, нулевой сигнал с выхода которого воспринима- 40 ется на первом адресном входе 27 блока 8 управления как сообщение "Конец линейного участка" ° Если на вход
27 блока 8 управления поступает сигнал "Конец линейного участка", выполняется переход к шагу 8 алгоритма, в противном случае — к шагу 6 (фиг.12, оператор 4 "Конец линейного участка ") !
liar 5, Линейный участок, состоящий из команд последовательной цепи операций (команды пересылок, арифметические операции, команды ввода, вывода, установки флагов и т.п.), микроЭВМ "проходит" путем инкремента программного счетчика микропроцессора.
Содержимое програмного счетчика мик-, роЭВИ устанавливается на шине адреса микроЭВМ н циклах обращения к па39 !8 мяти, содержащей контролируемую программу. Проверка правильности "прохожцения" микроЭВИ линейного участка программы осуществляется путем сравнения текущих адресов обращения мик" роЭВМ к рабочей программе и синхронно изменяющегося адреса-копии, хранящегося в первом счетчике 10. Процедура сравнения текущего адреса и адреса-копии и проверка правильности последовательного хода рабочей программы выполняется под управлением блока 19 анализа ветвлений. Работа блока 19 анализа ветвлений в режиме проверки правильности последовательного хода программы поясняется временной диаграммой, представленной на фиг.l3.
После окончания сигнала "Общий сброс" (момент времени 137, эпюра
138, фиг.13) микроЭВМ по второму тактовому сигналу 139 (эпюра 140, фиг. 13) формируется сигнал 141 синхронизации микропроцессорной системы (эпюра 142, фиг.13). Этот сигнал поступает на синхровход 53 процессора и далее (cM.фиг.l) на вход 51 записи первого блока 3 регистров. Одновременно с информационного входа 22 процессора :на информационный вход 21 первого блока 3 регистров поступает текущий начальный адрес 143 рабочей программы (эпюра 144, фиг.13) микроЭВИ и запоминается в нем (эпюра
145 фиг. 13)„
Одновременно сигнал синхронизации с синхровхода 53 процессора поступает на счетный вход-52 в режиме вычитания счетчика 1 и производит изменение его . содержимоro.
Сигнал синхронизации поступает также на синхровход 50 блока 19 ана" лиза ветвлений и производит его запуск. Сигнал синхронизации с синхровхода 50 блока 19 анализа ветвлений поступает. через инвертор 136 (cM. фиг.ll) на вход установки в ноль первого триггера 121. Нулевой сигнал с единичного выхода триггера 121 постулает через элемент И 126 на вход установки в ноль счетчика 124, и счетчик 124 переходит в нулевое состояние, а также на вход установки в единицу триггера 122, устанавливая его в единичное состояние. Кроме того, нулевой сигнал с единичного выхода триггера 121 поступает на вход
14344
19 установки в единицу триггера 123, устанавливая его в единичное состоя- ние, Нулевое значение сигнала с выхода младшего разряда счетчика 124 по5 ступает на выход 63 блока 19 анализа ветвлений и далее (см. фиг.!) на вход 67 управления первого коммутатора 13 и вход 64 обращения первого блока 3 регистров. Нулевой сигнал с входа 64 обращения (фиг.2) первого блока 3 регистров поступает на ин-. версный вход обращения регистра 89, и информация о младшем байте текущего адреса поступает с выходов ре- iS гистра 89 на выход 20 блока 3 регистров и далее (фиг.l) на первый информационный вход схемы 5 сравнения.
Одновременно нулевой сигнал с входа 67 управления первого коммутато-: 2p ра 13 поступает через инввртор 108 (см. фиг.7) и элемент И 107 на вход управления группы шинных формироватетелй 105 с тремя состояниями, открывая формирователи этой группы для 25 прохождения информации о младшем байте (состояния счетчика 99 фиг.5) первого счетчика 10 по цепи 99"69 (фиг.5), 69-70 (фиг.l), 70-105"58 (фиг.7) на второй вход схемы 5 срав- 30 кения. Единичный сигнал равенства младших байтов текущего адреса микроЭВМ и адреса копии процессора (соетояние 147, эпюра 148, фиг.!3) с выхода схемы 5 сравнения поступает на информационный вход 55.блока 19 анализа ветвлений.и далее (фиг. 11) через элементы ИЛИ 134 и И 127 на информационный вход триггера 122, После завершения сигнала синхронизации на входе установки в ноль и информационном входе триггера 121 устанавли" вается единичное значение сигнала.
Очередной тактовый импульс 149 (эпюра 140, фиг. 13) поступает с тактово- 45 го входа 29 процессора (фиг.l ) на тактовый вход 54 блока 19 анализа ветвлений и далее (фиг.ll) ыа синхровход триггера 121, устанавливая его в единичное состояние. Сигнал с единичного выхода триггера 121 отпирает элемент И-НЕ 131 для прохождения тактового сигнала через элемент ИЛИ
133 на счетный вход в режиме суммирования (эпюра 150, фиг.13) счетчика
124, и счетчик 1?4 переходит из нулевого состояния в первое, а также на синхровход триггера 122, и единичное состояние этого триггера подтвержда39
20 ется (состояние 151, эпюра 152, фиг,! 3) .
Если в результате сбоя или отказа микроЭВМ младший байт текущего адреса не равен ожидаемому, нулевой сигнал неравенства с выхода схемы 5 сравнения (фиг,l) поступает на информационный вход 55 блока 19 анализа ветвлений и далее (фиг.l1) через элементы ИЛИ 134 и И 127 на информационный вход триггера 122 и тактовый сигнал 149 (эпюра 140, фиг.13),поступающий по цепи 29-64 (фиг.1), 54-131-122 (фиг . I 1) на синхровход триггера 122, переводит его в нулевое состояние (состояние 153, эпюра 152. фиг.!3).
Единичный сигнал с выхода младшего разряда счетчика 124 поступает на выход 63 блока 19 анализа ветвлений и далее (фиг. I ) на вход 64 обращения блока 3 регистров. Единичный сигнал с входа 64 (фиг.2) блока 3 регистров поступает на прямой вход обращения регистра 90, и информация о старшем байте текущего адреса поступает с выходов регистра 90 на выход 20 блока 3 регистров и далее (фиг.1) на . первый информационный вход схемы 5 сравнения . Одновременно единичный сигнал с выхода 63 блока 19 и аналиsa ветвлений поступает на вход 67 управления первого коммутатора 13 и далее (фиг.7) через элемент И 106 на вход управления группы Минных формирователей 104 с тремя состояниями, открывая формирователи этой группы для прохождения информации о старшем байте (состояния счетчика 98, фиг ° 5) первого счетчика 10 по цепи 98-69 (фиг.5), 69-70 (фиг.)), 70-104-58 (фиг.7) на второй вход схемы 5 сравнения, Единичный сигнал равенства старших байтов (состояния 154, эпюра 148, фиг.13) текущего адреса микроЗВМ и адреса-копии процессора с выхода схемы 5 сравнения (фиг.l) поступает на информационный вход 55 блока 19 анализа ветвлений и далее (фиг.ll) через элементы ИЛИ 134 и И !27 на информационный вход триггера 122. Очередной тактовый импульс 155 (элюра
140, фиг. 13) поступает с тактового входа 29 процессора (фиг.l) на тактовый вход 54 блока 19 анализа ветвле-, ний и далее (фиг.!1) через элемент
И-НЕ 13! на синхровход триггера 122
1434439 и подтверждает единичное состояние
156 (эпюра 152, фиг. 13) этого триггера. Если в результате сбоя или отказа микроЭВМ старший байт текущего адреса
5 не равен ожидаемому, нулевой сигнал неравенства с выхода схемы. 5 сравнения (фиг,l) поступает на информационный вход 55 блока 19 анализа ветвлений и далее (фиг.11) через элемент
ИЛИ 134 и И 127 на информационный вход триггера 122 и тактовый сигнал
155 (эпюра 140, фиг,13), поступающий по цепи 29-54 (фиг, 1), 54-131-122 (фиг. 11), йа синхровход триггера
122, переводит его в нулевое состояние (состояние 157, эпюра 151, фиг. 13). Таким образом триггер 122 запоминает результат побайтного сравнения текущего адреса микроЭВМ и адреса копии процессора. Этот результат с единичного выхода триггера 122 поступает на выход 56 блока 19 анали" эа ветвлений и далее (фиг,l) на адресный вход 57 блока 8 управления.
Тактовый импульс 155 (эпюра 140, фиг.13) с тактового входа 29 процессора поступает также по цепи 29-54 (фиг.1), 54-131 †1-124 (фиг.ll) на
; счетный вход в режиме суммирования
I счетчика 124 и переводит этот счет: чик из первого состояния во второе.
; При этом сигнал на выходе старшего разряда счетчика 124 принимает единичное значение (состояния 158, эпю35, ра 146, фиг.13),Этот сигнал запира; ет элементы HIM 133 и 134 для прохождения соответственно тактовых сигналов с входа 54 блока 19 анализа ветвлений через элемент И-HE 131 на счетный вход в режиме суммирования счетчика 124 и результат сравнения с информационного входа 55 через элемент И 127 поступает на информацианныи вход триггера 122, а также на первые входы элементов И 128 и 129 на третьи входы которых поступает единичное состояние сигнала с единичного выхода триггера 123. При этом в зависимости от результата сравне-. ния, поступающего с единичноro выхода триггера 122 через элемент 127 на второй вход элемента И 128 и через инвертор 135 на второй вход элемента
И 129, на выходах .элементов И 128 и 129 появляются сигналы управления счетчиком 125 блока 19 анализа ветв- . лений и. счетчика 10 процессора, 22
В случае равенства текущего адреса микроЭВМ и адреса"копии процессора единичное значение сигнала с выхода триггера 122 поступает через эле- мент И 127 на второй вход элемента
И 128 и единичный сигнал с его выхода поступает на вход установки в ноль счетчика 125, устанавливая его в ну" левые (эпюра 159, фиг.13) состояния.
Одновременно сигнал с выхода элемента И 128 поступает на выход 63 блока
19 анализа ветвлений и далее (фиг,1) на счетный вход 65 счетчика 10 процессора и производит инкремент адреса-копии,эпюра I 60,,фиг.13). Если текущий адрес микроЭВМ и адрес-копии процессора не равны, нулевой сигнал с единичного выхода триггера 122 (фиг.ll) поступает через элемент
И 127 на второй вход элемента И 128 и запирает его для прохождения сигнала управления счетчиками. Одновременно этот сигнал поступает через элемент И 127 и инвертор 135 на второй вход элемента И 129, с выхода которого на счетный вход счетчика 125 пос" тупает сигнал, производящий инкре" мент его содержимого,зпюра !59, фиг.l3).
Единичный сигнал с выхода старшего разряда счетчика 124 поступает на вход элемента И-HE 132, и нулевой сигнал с его выхода поступает на вход установки в ноль триггера 123. Триггер 123 переходит в нулевое состояние, и нулевой сигнал с единичного выхода этого триггера запирает элементы И !28 и 129, запрещая управление счетчика 125 блока 19 анализа ветвлений и счетчика 10 процессора до прихода следующего импульса синхронизации их микроЭВМ.
Единичный сигнал с выхода старшего разряда счетчика 124 поступает лтакже на выход 56 блока 19 анализа ветвлений и далее (фиг.l) на второй адресный вход 57 блока 8 управления в качестве сигнала "Конец цикл сравнения". На этом первый цикл проверки правильности "прохождения" микро"
ЭВМ линейного участка программы заканчивается, Счетчик 125 блока 19 анализа ветвлений предназначен для подсчета количества следующих один за другим циклов микроЭВМ, в которых на шине адреса на информационном входе 22 процессора устанавливается "производь1434 ные, предусмотр»нны» списком инструкций микропроцессора, адреса обращения к внешним устройствам. Команды последовательной цепи операций микро5 процессора КР580ИКЗО предусматривают до двух таких циклов. Например, к<тманды записи н стек содержимого пары регистров микропроцессора предписывают во втором и третьем ма(шшных циклах установку на шине адреса состояния регистра указателя стека. Следовательно, блок 19 анализа ветвлений при проверке последовательного хода выполнения программы должен допускать "свободную" адрессацию микроЭВМ н течение двух циклов. Таким образом, если в течение трех следующих один эа другим циклов микроЭВМ устанавливает на, информационном входе 22 2р процессора "нештатные" адреса, блок
19 анализа ветвления н ответ на каждый из трех сигналов синхронизации машинных циклов выполняет указанные циклы проверки последовательного хода 25 выполнения программы и счетчик !25 блока 19 анализа нетвлений переходит в третье состояние, единичные сигналы с выходов его разрядов поступают на входы элемента И 130 и Hà 3р его выходе устанавливается сигнал
"Ошибка последовательного хода выполнения программы". Этот сигнал с выхода элемента И 130 поступает на выход
56 блока 19 анализа ветвлений и далее,фиг.l) на второй вход 57 адреса блока 8 управления.
Если на вход 57 блока 8 управления поступают сигналы "Конец цикла сравнения и Ошибка последователь- 4р ного хода выполнения программы", выполняется переход к шагу 6 алгоритма, в противном случае по сигналу Конец цикла сравнения" выполняется переход к шагу 3 (фиг.12, оператор
5 "Последовательный к ход?") .
Шаг 6. На втором информационном выходе 48 блока. 8 управления устанавливается сигнал "Установка флага ошибки", который поступает на вход установки в единицу триггера 2, и устанавливает его в единичное состояние. Сигнал на нулевом выходе триггера 2 принимает нулевое значение. Этот сигнал поступает на выход
23 ошибки процессора и воспринимается на входе запроса прерывания микроЭВМ как сигнал запроса прерывания на обслуживание процессора, после чего вы439 4 полняется переход к шагу 25, фиг. 1:2.;
Оператор 6 "У»тянонки флага <либки").
Шяг 7. Заг ручка состояния процессора в стек предусматривает выполнение следующих операций: я) запись н стек команды состояние регистра 16 команд и состояние счетчика I С информационного выходя
30 (фиг. 1) блока 8 управления ня вход 41 управления коммутатора 15 и далее (фиг.9) на входы управления первой 111 и второй 112 групп шинных формирователей с тремя состояниями
% поступает сигнал управления, и повторители открываются для прохождения информации о состоянии регистра 16 команд и счетчика выделения импуль( сов соответственно по цепям 26-88 (фиг.l), 88-112 †(фиг.9) и 16-.87
<(фиг.1),87-111-60 (фиг.9) и далее
{фиг. 1) с информационного выхода 60 коммутатора 15 на информационный вход-выход 61 блока 17 оперативной памяти. С информационного выхода 30 блока 8 управления на вход 35 управления блока 17 оперативной памяти поступают сигналы обращения и записи, и состояние входов — выходов 61 записывается в ячейку блока 17 оперативной памяти . Адрес ячейки памяти определяется состоянием счетчика ll, информация о котором поступает с информационного выхода 7! этого счетчика на адресный вход 72 блока 17 оператинной памяти; б) декремент счетчика 11,(указателя стека). С информационного выхода
30 блока 8 управления поступает сигнал на счетыый вход 34 н режиме вычитания счетчика II и производит декремент содержимого этого счетчика; в) запись н стек старшего байта содержимого программного счетчика 12 процессора. С выхода 30 блока 8 управления на вход 40 управления коммутатора 14 и далее (фиг.8) на управляющие входы группы шинных формирон»телей 109 поступает управляющий сиг— нал, открыная понторители этой груп-. пы для прохождения информации о старше 1 байте состояния программного счетчика 12 процессор» по цепи 84-85 (фиг.l), 85-109-59, фиг. 8), 59-61 (ôèã. 1) на информ»цимяционный входныхад 61 блока 17 опер»тинной информации. С информационного выход» 30 блока 8 управления ня вход 35 уцрян25
14 ления блока 17 оперативной памяти поступают сигналы обращения и записи, и состояние входов-выходов 61 записывается в. ячейку блока 17 оперативной информации. Адрес ячейки памяти определяется состоянием счетчика 11, ин:формация о котором поступает с инфор, мационного выхода 71 этого счетчика на адресный вход 72 блока 17 опера тивной памяти;
r) декремент счетчика !! (указателя стека); д) запись н стек младшего байта содержимого программного счетчика 12 процессора. С выхода 30 блока 8 уп1равления на вход 40 управления ком|мутатора 14 и далее (фиг.8) на управ-! ляющие входы группы шинных формирова телей 110 поступает управляющий сиг1 нал, открывая шинные повторители этой группы для прохождения информации о младшем байте состояния программного счетчика !2 процессора по цепи 84-85 (фиг,l) 85-110-59 {фиг.8), . 59-61 (фиг.l) на информационный вход выход 61 блока 17 оперативной памя,ти, и записывается в ячейку памяти
,этого блока по адресу, опредаляемому
,состоянием счетчика ll информация о котором поступает с информационрого выхода 71 этого счетчика на адресный вход 72 блока 17 оперативой памяти, под воздействием сигна.ов обращения и записи, поступающих а вход 35 управления блока 17 операивной памяти с информационного
ыхода 30 блока 8 управления; е) декремент счетчика Il (указа,,еля стека). На этом загрузка состояния процессора в стек завершается и выполняется переход к шагу 25 алгоритма (фиг.12, оператор 7 "Загрузка состояния процеСсора в стек"), Шаг 8. Выполняется декодирование команды, код которой поступает с информационного выхода регистра 16 команд на пятый адресный вход 36 блока 8 управления, и в зависимости от этого кода выполняется переход к соответствующему шагу алгоритма: при выполнении команды ПРД вЂ” к шагу 9 алгоритма, при выполнении команды ПБУ вЂ” к шагу !О алгоритма, при выполнении команды ПУС - к шагу II алгоритма, при выполнении команды ВПР— к шагу 15 алгоритма, 34439 26
Зп "Конец цикла сравнения" выполняется переход к шагу 2(фиг.12, оператор 9
"Последовательный ход?")
Шаг 10. Завершение линейного участка программы микроЭВМ командой
„ безусловной передачи управления сопровождается выполнением команды ПБУ процессора. Выполняется процедура сравнения текущего адреса микроЭВМ и адреса-копии процессора, описанная
4р в шаге S алгоритма. Если с выхода
56 блока 19 анализа ветвлений на вход 57 блока 8 управления поступают сигналы "Конец цикла сравнения" и
"Равенство текущего адреса микроЭВМ
45 и адреса копии процессора", свидетельствующий о том, что в результате сбоя или отказа на шине адреса микро"
ЭВМ вместо адреса безусловного пере-. хода устанавливается инкрементированный адрес последней команды предыдущего линейного участка, выполняется переход к шагу б алгоритма, в противном случае к шагу 12 алгоритма (фиг. 11, оператор 10 "Последователь5 ный ход?").
Шаг,11. Завершение линейного участка программы микроЭВМ командой передачи управления по условию сопровождается выполнением команды ПУС
1О
25 при выполнении команды ВПУ вЂ” к шагу 16 алгоритма, при выполнении команды ВБУ вЂ” к шагу 2! алгоритма, при выполнении команды ВУС вЂ” к шагу 22 алгоритма, при выполнении команды РДИ вЂ” к шагу 27 алгоритма (фиг.!2, оператор 8
"Команда?" ) °
IIIar 9. Завершение линейного участка программы микроЭВМ командой последовательной цепи операций сопро-. вождается выполнением команды ПРД процессором. Выполняется процедура сравнения текущего адреса микроЭВМ и адреса-копии процессора и проверка правильности последовательного хода рабочей программы. Работа блока 19 анализа ветвлений в режиме проверки правильности последовательного хода программы описана в шаге 5 данного алгоритма, Если с выхода 56 блока 19 анализа ветвлений на вход 57 блока 8 управления поступает сигналы "Конец цикла сравнения" и "Ошибка.последовательного хода выполнения программы",: выполняется переход к шагу б алгоритI ма, в противном случае по сигналу процессора. Выполняется процедура, описанная в шаге 5 алгоритма. Если с выхода 56 блока 19 анализа ветвлений на вход 57 блока 8 управления поступает сигнал "Конец цикла сравнения" и "Равенство текущего адреса микроЭВМ и адреса-копии процессора", свидетельствующий и том, что в результате выполнения команды условного 10 перехода микроЭВМ перешла к выполнению следующей команды (условие передачи управления рабочей программой микроЭВМ не выполнялось), с информационного выхода 30 блока 8 управления на счетный вход 38 в режиме суммирования счетчика 12 поступает серия из четырех импульсов и производят увеличение на четыре содержимого этого счетчика. С информационного вы- 20 хода 84 счетчика 12 на адресный вход блока 9 постоянной памяти поступает адрес следующей команды процессора и выполняется переход к шагу 2 алгоритма, в противном случае — к шагу 25 !
2 алгоритма (фиг.12, оператор "Последовательный ход?").
Шаг 12. Проверка правильности выполнения микроЭВМ передачи управления заключается в сравнении текущего ад- 30 реса микроЭВМ и ожидаемого адреса перехода, содержащегося во втором и третьем байтах команды процессора, и выполняется под управлением блока
19 анализа ветвлений. Работа блока
19 анализа ветвлений в режиме про,верки правильности перехода поясняется временной диаграммой, представленной на фиг. 14. С информационного выхода 30 блока 8 управления на вход 4п
33 повторного запуска блока 19 анализа ветвлений поступает сигнал "Пов" торный запуск" (эпюра 161, фиг.14).
Этот сигнал с входа 33 повторного запуска,фиг. !I) блока 19 анализа 4> ветвлений поступает через элемент
И 126 на входу установки в единицу триггера 122 и устанавливает его в единичное состояние (зпюра 152, фиг .14), а также на вход начальной установки счетчика 124 и устанавливает его в нулевое состояние (эпюра
146, фиг. 14). Нулевое значение сигнала с выхода. младшего разряда счетчика 124 поступает иа вход элемента
ИЛИ 133 и отпирает его для прохожде" ния тактовых сигналов, а также на выход 63 блока 19 анализа ветвлений. и далее (cM. фиг.l) на вход 64 об"
27 1434439 28 ращения первого блока 3 регистров.
Нулевой сигнал с входа 64 обращения (фиг.2 ) первого блока 3 регистров поступает на инверсный вход обраще" ния регистра 89, и информация о младшем байте текущего адреса поступает с выходов регистра 89 на вход 20 блока 3 регистров и далее (фиг.l) на первый информационный вход схемы 5 сравнения. Одновременно с выхода 30 блока 8 управления на вход обращения блока 9 постоянной памяти поступает сигнал обращения, а с информационного выхода 84 счетчика 12 на адресный вход блока 9 постоянной памяти поступает адрес второго байта команды проверки процессора, т.е. адрес ячейки памяти, содержащей младший байт ожидаемого адреса перехода микроЭВМ.
Младший байт ожидаемого адреса перехода поступает с выхода блока 9 постоянной памяти на второй информационный вход схемы 5 сравнения. Единичный сигнал равенства младших байтов текущего адреса микроЭВМ (эпю" ра 145, фиг.14) ожидаемого адреса перехода (эпюра 162, фиг. 14) с выхода схемы 5 сравнения поступает на информационный вход 55 блока 19 анализа ветвлений и далее (фиг. 11) через элементы ИЛИ )34 и И 127 на информационный вход триггера 122. Очередной тактовый импульс 163 (эпюра
140, фиг.l4) поступает с тактового входа 29 процессора (фиг.l) на тактовый вход 54 блока 19 анализа ветвлений и далее (фиг.ll) на синхровход триггера 122 и подтверждает единичное состояние этого триггера (состояние.
164, эпюра 152, фиг. 14). Если н результате сбоя или отказа микроЭВМ младший байт текущего адреса не равен ожидаемому, нулевой сигнал неравенства с выхода схемы 5 сравнения поступает по цепи 5-55 (фиг.l)„ 55†.134-127-122 ;фиг.ll) на информационный вход триггера 122 и тактовый импульс 163, поступающий rto цепи
29-54 (фиг, 1), 54-131-!22 (фиг.!I) на синхровход триггера 122, переводит его в нулевое состояние (состояние 165, эпюра 152, фиг.14). Одновременно этот импульс поступает по цепи 54-!31-133-123,фиг.11) на счетный вход в режиме суммирования (эпюра 150, фиг. 14) счетчика 124 и счетчик 124 переходит из нулевого состояния в первое. Единичный сигнал
1 4344 с выхода младшего разряда счетчика
124 поступает на выход 63 блока 19 анализа ветвлений и далее (фиг. 1) на вход 64 обращения блока 3 регистров °
Еди ни чный си гнал с входа 64;фи г . 2) блока 3 регистров поступает на прямой вход обращения регистра 90, и информация о старшем байте текущего адреса поступает с выходов регистра 90 на выход 20 блока 3 регистров и да3 лее (фиг ° 1) на первый информационный вход схемы 5 сравнения. Одновременно с информационного входа 30 блока 8 управления на счетный вход 38 счетчи- 15 ка 12 поступает сигнал, производящий инкремент его содержимого, и с информационного выхода этого счетчика на адресный вход блока 9 постоянной памяти поступает адрес третьего байта команды проверки процессора, т.е, адрес ячейки памяти, содержащий старший байт ожидаемого адреса перехода микроЭВМ. Эта информация поступает с выхода блока .9 постоянной 25 памяти на второй информационный вход схемы 5 сравнения. Единичный сигнал равенства старших байтов текущего адреса микроЭВМ и ожидаемого адреса перехода (соответственно эпюры 2-145 30 и 162, фиг. 14) с выхода схемы 5 сравнения поступает на информационный вход 55 блока 19 анализа ветвлений и указанным путем подтверждает единичное (состояние 166, эпюра 152, фиг.14) состояние триггера 122 в момент прихода тактового импульса 167 (эпюра 140, фиг.14). Если в результате сбоя или отказа микроЭВМ стар1 ; ший байт текущего адреса не равен 40 ожидаемому„ нулевой сигнал неравенства с выхода схемы 5 сравнения поступает на вход 55 блока 19 анализа ветвлений и указанным путем устанавливает триггер 122 в нулевое состоя- 4> ние (состояние 168, эпюра !52, фиг.14) в момент прихода тактового импульса 167,эпюра 140, фиг.14).
Одновременно тактовый импульс 167 (эпюра 140, фиг. 14) поступает по це- 5п пи 54-131-133-!24 (фиг.l!) на счетный вход в режиме суммирования (эпюра 150, фиг.14) счетчика 124 и счет- чик 124 переходит из первого состояния во второе. Единичный сигнал с выхода старшего разряда счетчика 124 поступает на выход 56 блока 19 анализа ветвлений, и далее (фиг.l) на второй адресный вход 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 анализа ветвлений и далее,фиг.l) на второй адресный вход 57 блока 8 управления. Если на этом входе устанавливается сигнал "Ошибка перехода", соответствующий неравенству текущего адреса и ожидаемого адреса перехода, выполняется переход к шагу 6 алгоритма, в противном случае — к шагу
14 алгоритма (см,фиг.12, оператор 14
"Ошибка перехода"). и!аг 14. Гни выполнении микроЭВМ команд последовательной цепи операций формирование адреса-копии процессора выполняется путем инкремента счетчика 10 синхронно с инкрементом программного счетчика. При выполнечии микроЭВМ команд переходов форми— рование адреса-копии процессора выполняется путем записи в счетчик 10 адреса перехода после подтверждения
3! 1434 правильности его выполнения микроЗВМ, Запись адреса перехода в счетчик 10 выполняется под управлением блока 19 анализа ветвлений в соответствии с временной диаграммой, представленной на фиг.15. С информационного выхода 30 блока 8 управления поступают сигналы "Повторный запуск" на вход
33 повторного запуска блока 19 ана- )II лиза ветвлений, "Запись в счетчик" на вход 31 записи первого счетчика 10 и "Блокировка счетчика" на вход 32 блокировки коммутатора 13,соответственно эпюры 161, 171 и 170 фиг.15}. 15
Сигнал "Повторный запуск" поступает с входа 33 ;.фиг.ll) повторного запуска блока 19 анализа ветвлений через элемент И 126 — на вход начальной установки счетчика 124 и устанавлива" 20 ет его в нулевое состояние. Нулевое значение сигнала с выхода старшего разряда счетчика 124 поступает на вход элемента ИЛИ 133 и отпирает его для прохождения тактовых сигналов, а нулевое значение сигнала с выхода младшего разряда счетчика 124 поступает на выход 63 блока 19 анализа . ветвления и далее (фиг.l) на вход 64 обращения первого 3 блока регистров.. 30
Нулевое значение сигнала с входа 64 обращения, фиг.2) первого блока 3 регистров поступает на инверсный вход обращения регистра 89, и информации .и младшем байте текущего адреса адреса перехода поступает с выходов регистра 89 на выход 20 блока 3 регистров и далее (фиг.l) на информационный вход 68 параллельной записи. счетчика 10 ;состояние 172, эпюра 40
173, фиг..15). Сигнал "Запись в счетчик" с входа 3! записи первого счетчика 10 поступает (фиг.5) на входы элементы И 100 и 101 и отпирает их для прохождения сигналов обращения 45 на входы параллельной записи счетчиков 98 н 99. Сигнал "Блокировка счет чика" с входа 32 блокировки коммутатора 13 (фиг. 7), поступая на входы элементов И 106 и 107, запирает их яп для прохождения сигналов управления на управляющие входы .шинных формирователей первой 104 и второ" 105 груп пы формирователей с тремя состояниями. Выходы этих буферов переводятся . . в высокоимпедансное состояние и блокируют поступление информации о состоянии счетчика 10 на внутреннюю ши ну.
439 32
Одновременно .с информационного выхода 30 блока микропрограмного управления на вход обращения блока 9 постоянной памяти поступает сигнал обращения и четвертый байт команды проверки перехода (информация о младшем байте адреса перехода процессора) устанавливается на выходе блока.
9 постоянной памяти. Эта информация поступает на информационный вход бло-, ка регистров 4 и далее (фиг.3) на информационный вход параллельной записи регистра 91 . С выхода 30 (фиг,l) блока 8 управления на вход 37,записи блока 4 регистров и далее (фиг.3) на вход параллельной записи, регистра
91 поступает сигнал записи, и младший байт адреса перехода процессора записывается в регистр 91. °
Сигнал с выхода младшего pàçðÿäà счетчика 124 (фиг.ll) поступает на выход 63 блока 19 анализа ветвлений по цепи 63-66 (фиг.1), 66-102-10 1-99 (фиг.5) на вход параллельной записи счетчика 99, и информация о младшем байте адреса перехода, поступающая с информационного входа 68 счетчика
jO на информационный . вход параллельной записи, записывается в счетчик 99 (эпюра 174, фиг.15).
Тактовый сигнал 175 (эдюра 140, фиг.15) поступает по цепи 29-54 (фиг.l}, 54-131-133- 124 (фиг.ll) на счетный вход s режиме суммирования счетчика 124 и переводит его из нулевого состояния в первое. Единичный сигнал с выхода младшего разряда счетчика 124 поступает по цепи 124-:.
63 (фиг.l.l) 63-64 (фиг.l) и далее (фиг.2 ) на прямой вход обращения регистра 90, и информация о старшем байте текущего адреса адреса перехода поступает с выходов этого регистра на выходе 20 блока 3 регистров и далее по .цепи 20-68 (фиг.l), 68-98 (фиг.5) на информационный вход параллельной записи регистра 98 (эпюра 173, фиг. 15). Одновременно единичный сигнал с выхода младшего разряда счетчика 124 поступает по цепи 124-63 (фиг.ll) 63-66 (фиг.l), 66-100-98 (фиг. 5) на вход параллельной записи регистра 98 и инфор». мация о старшем байте адреса перехо- да записывается в нем (эпюра 176, фиг.15).
Одновременно с информационного выхода 30 блока 8 управления на
33 143 счетный вход 38 счетчика 12 поступает сигнал счета и производит инкремент его содержимого. С информационного выхода счетчика 12 на адресный вход блока 9 постоянной памяти поступает адрес пятого .байта команды проверки перехода процессора (адрес старшего байта перехода}.
Тактовый импульс 177 (эпюра 140, фиг.15), поступающий по цепи 29-54 (фиг.l), 54-13! †1-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, производят запись соответственно старшего байта адреса перехода процессора r регистр 92 блока 4 регистрон и адреса перехода процессора н счетчик 12.
Таким образом, в результате выполнения данного шага алгоритма производится параллельное выполнение двух операций: запись адреса перехоца процессора из блока 9 постоянной памяти н программный счетчик 12 процессора, после чего выполняется переход к шагу 2 алгоритма (<риг.l 2, оператор 14
"Загрузка адреса перехода").
Шаг 15. Завершение линейнога уча-стка программы микраЗВМ командой безусловного вызова подпрограммы сопровождается выполнением команды БПР .процессора. При этом выполняется процедура сравнения текущего адреса микроЭВМ и адреса-копии процессора и проверка последовательного хода рабочей программы, описапная B шагc 5 алгоритма. Если с выхоца 56 блока 19
4439 34
5 !
О 15
j0
55 анализа ветнлений на вход 57 блока 8 управления поступает сигнал "Конец цикла сравнения" и "Равенство текущего адреса микроЭВМ и адреса-копии процессора", свидетельстнующий î том„ что н результате сбоя или отказа на шине адреса микроЗВМ вместо адреса вызываемой подпрограммы устанавливается ипкрементированный адрес последней камапды предыдущего линейного участка, г.е. адрес команды, следующей за командой безусловного вызова подпрограммы, выполняется переход к шагу 6 алгоритма, в протизном случае — к шагу 17 алгоритма (фиг. 12, оператор Последовательный ход?").
Шаг 16. Завершение линейного уча" стка программы микроЗВМ командой вызова подпрограммы по условию сопровождается выполнением команды ВПУ пропроцессора. Выполняется, процедура проверки правильности по=ледователь.— ного хода программы микроЭВМ, описанная н шаге 5 алгоритма. Если с выхо,ца 56 блока 19 анализа ветвлений на вход 57 блока 8 управления поступает сигнал "Конец цикла сравнения" и
"Равенство текущего адреса микроЭВМ и адреса-копии процессора", свидетельствующий о том, что в результате ныполнения команды вызова подпрограммы по условию микроЭВМ перешла к выполнению следующей команды, т.е. начальной команды очередного линейного участка (условие передачи управления рабочей программой микроЭВМ не выполнялось), с информационного выхода 30 блока 8 управления на счетный вход в режиме суммирования счетчика 12 поступает серия из четырех импульсон и производит увеличение на четыре содержимого этого счетчика.
C:èíôaðìàöèoíEEîão выходя 84 счетчика 12 на адресный вход блока 9 постояпной памяти поступает адрес следующей команды процессора и выполняется переход к шагу 2 алгоритма, н противном случае - к шагу 17 алгоритма (фиг.12, оператор 16 "Последовательный ход?").
Шаг !7. Пронерка правильности ныголнения микроЭВМ передачи управления при выполнении команды нызона подпрограммы заключается в сравнении .текущего адреса микроЭВМ и ожидаемого адреса перехода, содержащегося ва втором и третьем байтах команды про-, цессора, и выполняется в соответствии
35 14344 с описанием, приведенным в шаге 1 2 алгоритма. После окончания цикла проверки перехода выполняется переход к шагу 18 алгоритма (фиг.12, оператор
17 "Проверка перехода") .
Шаг 18. Результат проверки перехода с выхода 56 блока 19 анализа ветвлений поступает на вход 57 блока 8 управления .Если на этом входе .уста" навливается сигнал "Ошибка перехода", соответствующий неравенству текущего адреса адреса передачи управления при выполнении команды вызова программы и ожидаемого адреса перехода, 15 выполняется переход к шагу 6 алгоритма, в противном случае к шагу 19 алгоритма (фиг.12, оператор 18 "Ошибка перехода").
Шаг 19. При выполнении микроЭВМ 2О команд вызова подпрограмм формирование адреса-копии процессора выполня-. ется путем записи в счетчик 10 адреса перехода после подтверждения правильности его выполнения микроЭВМ. 25
Процедура загрузки адреса перехода в счетчик 1О описана в шаге 14 алгоритма. Одновременно выполняется запись в блок 4 регистров собственного адреса перехода процессора (четвер- Зц того и пятого байтов команды провер" ки вызова подпрограммы). Эта процедура отличается от описанной в шаге 14 алгоритма тем, что сигнал, поступающий с информационного выхода 30 блока 8 управления на вход 37 записи блока 4 регистров в момент поступления на информационный вход 24 блока
4 регистров старшего байта адреса перехода процессора, производит запись старшего байта адреса перехода процессора в регистр 92 блока 4 регистров, сигнал с информационного выхода 30 блока 8 управления на вход
39 записи счетчика 12 не поступает, а на счетный вход счетчика 12 поступает сигнал, производящий инкремент содержимого этого счетчика. С информационного выхода 84 счетчика 12 на информационный вход 85 коммутатора 14 поступает адрес команды процессора, . следующей эа командой проверки вызова подпрограммы (адрес "возврата" процессора), Выполняется переход к шагу 20 алгоритма (фиг. 12, оператор "Загрузка адреса перехода").
Шаг 20. Загрузка состояния процессора в стек предусматривает вынолнение процедуры, описанной в шаге 7
39 36 алгоритма, после чего сигнал, поступающий с информационного выхода 30 блока 8 управления на вход 39 записи счетчика 12, производит параллельиую запись адреса перехода, поступающего с выхода 82 блока 4 регистров на информационный вход 83 параллельной записи, в этот счетчик и выполняется переход к шагу 2 алгоритма (фиг.12, оператор "Загрузка состояния процессора в стек").
Шаг 21. Завершение линейного участка программы микроЭВМ командой безусловного возврата из подпрограммы сопровождается выполнением команды ВБУ процессора. Выполняется процедура сравнения текущего адреса микроЭВМ и адреса-копии процессора и проверка последовательного хода рабочей программы, описанная в шаге 5 алгоритма. Если с выхода 56 блока 19 анализа ветвлений на вход 57 блока 8 управления поступает сигнал "Конец цикла сравнения" и "Равенство текущего адреса микроЭВМ и адреса-копии процессора", свидетельствующий о том, что в результате сбоя ипи отказа на шине адреса микроЭВМ вместо адреса возврата из подпрограммы устанавливается инкрементированный адрес последней команды предыдущего линейного участка, т.е. адрес команды, следующей за командой безусловного возврата из подпрограммы, выполняется переход к шагу 6 алгоритма,.в противном случае — к шагу 23 алгоритма (фиг.12, оператор 21 "Последова" тельный ход?"). .Шаг 22, Завершение линейного уча-. стка программы микроЭВМ командой возврата иэ подпрограммы по условию сопровождается выполнением команды
ВБУ процессора. Выполняется процедура сравнения текущего адреса микроЭВМ и адреса-копии процессора и проверка правильности последовательного хода рабочей программы, описанная в шаге
5 алгоритма. Если с выхода 56 блока
19 анализа ветвлений на вход 57 блока 8 управления поступает сигнал "Конец цикла сравнения" и "Равенство текущего адреса микроЭВМ и адресакопии процессора", свидетельствующий о том, что в результате выполнения . команды возврата из подпрограммы по условию микроЭВМ перешла к выполнению следующей команды, т.е. начальной команды очередного линейного уча5
1О
37 43 стка программы (условие возврата из подпрограммы микроЭВМ не выполнилось), выполняется переход к шагу 2 алгоритма, в противном случае — к шагу 23 алгоритма (фиг.12, оператор
"Последовательный ход?").
Шаг 23. Загрузка состояния процессора из стека предусматривает выполнение следующих операций:, а) инкремент счетчика 11 (указате;ля стека). С информационного выхода 30 блока 8 управления поступает сигнал на счетный вход 34 в режиме сум" мирования счетчика ll и производит инкремент содержимого этого счетчика.
Одновременно производится повторный запуск блока !9 анализа ветвлений в режиме записи текущего адреса в счет.чик 10 адреса-копии и выполняется процедура загрузки адреса возврата
ia этот счетчик, описанная в шаге 14
,алгоритма; б) запись иэ стека младшего байта адреса возврата процессора в блок 4 регистров. С выхода 30 (фиг.1) блока
8 управления на вход 35 управления блока 17 оперативной памяти поступают сигналы обращения и чтения. Одновре менно с информационного выхода 71 ,счетчика 11 (указатель стека) на .адресный вход 72 блока 17 оперативной памяти поступает адрес ячейки памяти, :содержащей информацию о младшем бай те адреса возврата процессора, эта информация поступает с информационного входа-выхода 61 блока 17 оператив ой памяти на информационный вход 24 блока 4 регистров и далее (фиг.3) на
1янфармационный вход параллельной записи регистра 91. Сигнал, поступаюший с информационного выхода 30 (фиг.l) блока 8 управления на вход 37 записи блока 4 регистров и далее (фиг.3) на вход параллельной записи регистра 91„ записывает информацию о младшем байте адреса возврата процессора в этот регистр; в) инкремент счетчика 11 (указателя стека);
r) запись из стека старшего байта адреса возврата процессора в блок 4 регистров. С выхода ЗО (фиг.!) блока
8 управления на вход 35 управления блока 17 оперативной памяти поступает сигналы обращения и чтения, Одновременно с информационного выхода 71 счетчика 11 (указателя стека) на адресный вход 72 блока 17 оперативной
4439 38 памяти поступает адрес ячейки памяти, содержащей информацию о старшем байте адреса возврата процессора, и эта информация поступает с информационнога входа — выхода 6! блока 17 оператинной памяти на информационный вход
24 блока 4 регистров и далее (фиг,3) на информационный вход параллельной записи регистра 92. Сигнал, поступающий с информационного выхода 30 (фиг. 1) блока 8 управления на вход
37 записи, блока 4 регистров и далее (Фиг.3) на вход параллельной записи регистра 92, записывает информацию о старшем байте адреса возврата процессора в этот регистр; д) инкремент счетчика 1! (указа" теля стека); е) запись иэ стека кода команды и количества импульсов синхронизации соответственно в регистр 16 команд и счетчик 1 (эта операция имеет смысл в случае возврата микроЭВМ из подпрограммы обслуживания прерывания, так как в стеке сохраняется количество импульсов синхронизации незавершенного линейного участка). Одновременна сигналом, поступающим с информационного (участка) выхода 30 блока 8 управления на вход 39 записи счетчика
12, производится запись в этот счетчик информации об адресе возвратя процессора, поступающей с инфармацио-. нного выхода 82 блока 4 регистров на информационный вход параллельной записи счетчика 12, и выполняется переход к шагу 24 алгоритма (фиг.12, оператор 23 "Загрузка состояния процессара из стека. Загрузка адреса возврата").
Шаг 24..: Бьптолиение команды вызова подпрограммы микроЭВМ сопровождается загрузкой в стек состояния процессора (см. шаг 20 алгоритма), Причем в результате выполнения первой операции процедуры загрузки в стек записывается нулевое састояние счетчика 1.Выполнение прерывания микроЭВМ сопровождается загрузкой в стек количества импульсов синхронизации незавершенного линейного участка программы (см. шаг 7, операция алгоритма). Выполнение команды возврата иэ подпрограммы (прерывания) сопровождается загрузкой состояния процессора из стека(шаг 23 алгоритма).
В счетчик 1 записывается нулевое (ненулевое) значение количества им14344 пульсов синхронизации. Информация о состоянии счетчика 1 поступает с информационного выхода 26 этого блока соответственно на группу входов эле5 мента ИЛИ 6, с выхода которого на первый адресный вход 27 блока 8 уп— равления поступает нулевой (единич- . ный) сигнал "Возврат из подпрограммы" (" Возврат из подпрограммы обслужива- 1О ния прерывания"). Если на первый адресный вход 27 блока 8 управления по" ступает сигнал "Возврат иэ подпрограммы", выполняется переход к шагу 2 алгоритма. В противном случае — к ша- 15 гу 3 алгоритма (фиг.l2, оператор 24
"Возврат не прерывания").
Шаг 25. Завершение линейного участка программы микроЭВМ процедурой передачи управления по вычисленному адресу (процедурой, реализующей программный переключатель на болс=-, чем два адреса, процедурой возврата из . подпрограммы с предварительной загруз- кой в стек адреса возврата и т.п.) 25 или командой передачи управления в неконтролируемую область памяти сопровождается выполнением команды РДИ процессора ° При этом, а также в случае выполнения микроЭВМ передачи управления программе обслуживания преа рывания, процессор переходит в режим ожидания запросов обмена от микроЭВМ. Переход процессора из режима ожидания в режим контроля выполнения программы из режима ожидания в режим контроля выполнения программы осущеcòHëêåòñÿ путем ввода в процессор адреса перехода, т.е. адреса команды проверки, соответствующей начальной команде очередного линейного участка рабочей программы. Для этого в рабочей программе микроЭВМ предусматрива— ется команда или процедура из нескольких коканд загрузки адреса перехода в процессор. При выполнении микроЭВМ команды или процедуры вывода в процессор двухбайтового адреса перехода с выхода адреса микроЭВМ на информационный вход 22 процессора и далее (фиг. 1) на адресный вход 74 блока 18 ввода-вывода поступает, например, адрес при обращении к процессору как к внешнему устройству (адрес при обращении к процессору как к ячейке памяти). Этот адрес поступает с адресного входа 74 (фиг.10) блока
18 ввода-вывода на группу управляю— щих входов дешифратора 113, с выхода
39
40 кот>poro на первый вход элемента
И 1! 9 поступает сигнал обращения к блоку 18 ввода — вывода, отпирающий этот элемент для прохождения сигнала Вывод" (" Запись" ) микроЭВМ. Одновременно на вход-выход 78 данных процессора поступает информация о младшем байте адреса перехода. С входа 78 (фиг.10) эта информация поступает по
78 — 76 (фиг,l) на второй информационный вход 76 блбка 18 ввода-вывода и устанавливается на информационном входе параллельной записи регистра
115. Сигнал "Запись" (" Вывод" ) поступает с входа-выхода управления микро313N на, вход †вых 79 управления процессора и далее,фпг.l) на входвыход 77 управления блока 18 вводавывода, Этот сигнал поступает по цепи 77 †1-120-77 (фиг,!0), 77.-79 г (фиг. 1) на вход-выход ми,.ро3811 в качестве сигнала "Готовнос гь". Одновременно сигнал "Запист " (" Вывод" ) с входа 77 блока 18 ввода-вывода поступае r по цепи 77-119 †1 (фиг.10) на вход параллельной записи регистра !
15 и в этом регистр записывается м:":адший байт адреса перехода процес— сора. Сигнал "Запись" (" Вывод" ) посгупает также с выхода 77 управления блока 18 ввода вывода по цепи 77-119-73 (фиг. 10), 73-75 (фиг.!) на третий адресный вход блока 8 микро— программного управления в качестве сигнала "Запрос ввода". При этом выполняется переход к шагу 26 алгоритма, в противном случае — к шагу 27 алгоритма (фиг.!21, (оператор 25
"Запрос ввода").
Шаг 26. С информационного выхода
30 (фиг.1) блока 8 управления на вход
36 обращения блока 18 ввода-вывода и далее на вход управления буфера (116, фиг.10) поступает сигнал
"Обращение для ввода", и информация о младшем байте адреса перехода с информационного выхода регистра 115 поступает по цепи 115-116 †(фиг.10), 62-24 (фиг.l) на информационный вход блока 4 регистров и далее (фиг.3) на информационный вход параллельной записи регистра 91. С информационного выхода 30 блока 8 управления по цепи
30-37 (фиг.l), 38-91 (фиг.3) на вход параллельной записи регистра 91 поступает сигнал записи,и информация о младшем байте адреса перехода процессора записывается и регис гр 91, 41 143
На этом первый цикл обмена заканчивается. Во втором цикле на вход-выход
78 данных процессора поступает информация о старшем байте адреса ïåðåõîда. С- входа 78 (фиг.10) эта информация поступает по цепи 78-76, (фиг.1) на второй информационный вход 76 блока 18 ввода-вывода и устанавливается на информационном входе параллельной записи регистра 115. Очеред, ной сигнал "Запись ("Ввод") поступает.по цепи 79-77 (фиг. 1), 77-119120"77 (фиг.10), 77-79 в качестве сигнала "Готовность", а также по цепи
{фиг.10), 79-.77 (фиг.1), ?7-119-115 .(фиг.10 1,на вход параллельной записи регистра 115, и в регистр записывается старший байт адреса перехода процессора. С информационного выхода 30 (фиг.l) блока 8 управления на вход . 36 обращения блока 18 ввода-вывода и далее (фиг.10) на вход управления регистра liб поступает сигнал "Обращение .для ввода", и информация о старшем байте адреса перехода поступает с информационного выхода регистра
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 ошибки:. процессора принимает единичное значение, что соответствует снятию сигнала "Запрос прерывания" на.входе запроса прерывания микроЭВИ H выполняется переход к шагу 2 алгоритма (фиг. 12, оператор 26 "Ввод адреса перехода. Сброс флага ошибки" ).
Шаг 27. Вывод информации о состоянии процессора выполняется под управлением блока 8 управления по инициа4439 42 тине микраЭВМ. Информация о состоянии процессора используется для организации процедур анализа и локализации ошибок и восстановления хода выполнения рабочей программы микроЭВМ путем передачи управления начальной команде некоторого линейного участка программы, Для этого в рабочей программе микроЭВМ предусматривается команда (или процедура из нескольких команд) загрузки адреса программы процессора в микроЭВМ. При выполнении микроЭВМ команды (или процедуры) ввода двухбайтного выхода в режим ожидания (адреса программы процессора, при выполнении которой обнаружена сшибка) с выхода адреса микроЭВМ на информационный вход 22 процессора и далее {фиг.!) на адресный вход 74 блока 18 ввода-вывода поступает, например, адрес FFEI npu обращении к процессору как к внешнему устройству (адрес PFFH при обраще25 нии к процессору как к ячейке памяти). Этот адрес (эпюра 179, см. временную диаграмму цикла вывода, фиг,16) поступает с адресного входа 74 (фиг,1,0) блока 1.8 ввода-вывода
З0 на группу управляющих входов дешифратара 113, с выхода которого на первый вход элемента. И 118 поступает сигнал обращении к блоку 18 ввода-вывода, отпирающий этот элемент для
35 прохождения сигнала "Ввод" (" Чтение" ) микроЭВМ (эпюра 180, фиг.16}. Сигнал
"Ввод" (" Чтение" ) поступает с управляющего!входа-выхода микроЭВМ по цепи
79-77 (фиг.l) на вход-выход 77 управgg ления блока 18 ввода-вывода и далее по цепи 77-1!8-73 (фиг.10) 73-75 (фиг.l) на третий адресный вход 75 блока 8 управления и по тактовому сигналу 181 {эпюра 182, фиг.1 6), поступающему с тактового выхода микроЭВМ на тактовый вход 29 процессора и далее,по цепи 29-28 (фиг.l). на тактовый вход блока 8 управления, с информационного выхода 30 блока 8 управления на вход 40 управления коммута тора 14 поступает сигнал управления (эпюра, 183, фиг.16). Информация о младшем байте адреса процессора с вы хода 84 счетчика 12 по цепи 84-85 < (фиг. 1), 85-109-59 (фиг.8), 59-62 (фиг.l), 62-114 (фиг.10) поступает соответственно ча группу информационных входов регистра 114. По тактовому, сигналу 184 (эпюра 182, фиг.lб) блок
43 14344
8 управления формирует сигнал на информационном выходе 30 (эпюра 185, фиг.16), поступающий на вход 36 обращения блока 18 ввода-вывода. По пе5 реднему фронту сигнала 186 (эпюра
185, фиг. 16), поступающего на вход параллельной записи регистра 114, информация о младшем байте адреса процессора записывается в регистр
114, Одновременно сигнал 186 (эпюра
185, фиг.16) с входа 36 обращения блока 18 ввода-вывода поступает по цепи 36-120-77 (фиг.10), 77-79 (фиг.1) и далее с входа-выхода 79 управления процессора на вход-выход управления микроЭВМ в качестве сигнала. "I oòîâность", а также по цепи 36-I17 (фиг.10) на вход управления регистра 117. Информация о младшем байте 2О адреса процессора с группы выходов регистра !14 по цепи 114-117-76 (фиг.10}, 76-78 (фиг.1) и далее с входа-выхода 78 данных процессора поступает на вход-выход данных микро- 25
ЭВМ (состояние 187, эпюра 188, фиг.16) и записывается в один кз регистров общего назначения микропроцессора. Затем микроЭВМ формирует второй цикл ввода в соответствии с временной диаграммой, приведеной на фиг. 16, и старший байт адреса процессора записывается аналогичным путем в регистр общего назначения микроЭВМ. На этом цикл ввода информации 35 об ошибке заканчивается и выполняется переход к шагу 25 алгоритма (фиг.12, оператор "Вывод информации об ошибке"), Граф-схема алгоритма работы бло-. 40 ка 8 управления (фиг.5) в соответствии с алгоритмом фиг.12 работы процессора представлена на фиг.17-20, где использованы следующие. обозначе- . ния:
45 (в) — содержимое регистра в, СКА — счетчик 10 копии адреса микроЭВМ, ПС вЂ” программный счетчик 12 про- < цессора, 50
УС вЂ” счетчик 11 - указатель стека, ФОШ вЂ” триггер 2 флага ошибки, РК вЂ” регистр 16 команд, БВКИ вЂ” блок 1 выделения количества импульсов, 55 (ПС) — содержимое ячейки блока 9 постоянной памяти, адрес которой определяет содержимое программного счетчика 12, 39 (УС) — содер.кимае ччейки блока 17 оперативной памяти, адрес которой определяет содержимое счетчика 11, (ПС), (ПС),ч — соответственно старший и младший байты информации, хранящейся в программном счетчике 12, БА — блок 19 анализа ветвлений, (ВМД) — информация на внутренней магистрали данных, поступающая на вход схемы 5 сравнения, БРА — блок 4 регистров адреса процессора, (БРА) „, (БРА) — соответственно младший и старший байты информации, хранящейся в блоке 4 регистров, (СКА) „„ <, (СКА) g — соответственно младший и старший байты информации, хранящейся в счетчике 10, БТА — блок 3 регистров текущего адреса микроЭВМ, (БТА) „.ь, — (БТА) . — соответственно млад ш и и старший байты информации .о текущем адресе микроЭВМ, записанной в блоке 3 регистров, (БВВ) — информация, поступающая в процессор из микроЭВМ или .в микроЭВМ из процессора, а„-a — состояния блока 8 управления.
Временная диаграмма сигналов иа информационных выходах блока 8 уирагления представлена на фиг.21. Сиих— ронизация работы блока 8 управления осуществляется тактовыми clil nàëàìö, поступающими на его тактовый вхоц
28 (эпюра 188, фиг.2!). В каждом такте работы блока 8 управления на выходах программируемой логическок матрицы 93 формируются сигналы управления
У< в соответствии со структурной таблицей переходов 4 (эпюра !89, фиг.21).
Сигналы Х,,Х,Х > первой группы выходов программируемой логической матрицы 93 поступают соответственно на управляющие входы первого дешифратора 95, на инверсный вход стробирования которого поступают тактовые сигналы с тактового входа 28 блока 8 управления. Выходы дешифратора 95 являются группой выходов управления приемниками информации информационного выхода 30 (эпюра !90, фиг.21).
Инкремент программного счетчика 12 и изменение состояния счетчика 11 указателя стека — осуществляется сигналами Х и Х > второй группы выходов программируемой логической матрицы
93. Эти сигналы (эпюра 189, фиг.21) 1434439 поступают на управляющие входы второго дешифратора 96, на прямой вход стробирования которого с тактового входа 28 поступают тактовые сигналы (эпюра 188, фиг.21). Сигналы с выходов дешифратара 9б {эпюра 191,фиг.2!) поступают на группу выходов управле, ния счетчиками 10 и 12 информационно,го выхода 90 блока 8 управления. Сиг- 1ð налы К,Х 1, Х третьей группы выходов программируемой логической матрицы 93 поступают соответственно на входы, дешифратора 97, с выходов которого на соответствующие выходы третьей груп, пы выходов управления источниками информации информационного выхода 30 ,поступают сигналы, представленные эпюрой 189, фиг.2 . Сигналы Y<-Y <> четвертой группы выходов программи- 2п руемай логической матрицы 93 (эпюра 189, фиг.21) поступают на соответствующие выходы блокировки и .записи в счетчик 10 обращения блока 17 опера тивной памяти и записи в программный 25 счетчик 12 и входят в состав информа ционного выхода 30 блока 8 управления
1 ния. Сигналы Y u Y t+ {эпюра 189, фиг. 21 ) на выходах соответственно
48 и 49 программируемой логической ч0 матрицы 93 предназначены для управления триггером флага ошибки процес сора, Двухфазная организация управле ния (эпюры !90 и 191, фиг.21) приемриками информации и счетчиками про-! цессора позволяют совместить некото-!
ые операции, предусмотренные в граф, хеме алгоритма работы блока 8 управления, и выполнить их за один такт Работы. 40
Формула изобретения
1. Устройство для контроля выполнения программ, содержащее счетчик количества импульсов синхронизации, триггер, первый и второй блоки регистров, схему сравнения, первый элемент ИЛИ, блок управления и блок постоянной памяти, причем выход первого блока регистров подключен к первому информационному входу схемы
Сравнения,, информационный вход первого блока регистров является инфор" мационным входом устройства, инверс"
Кый выход триггера является выходом ошибки устройства, выход блока постоянной памяти соединен с информаЦионными входами второго блока регистров, счетчика количества импульсовсинхронизации и вторым информационным входом схемы сравнения, группа выходов счетчика количества импульсов синхронизации соединена с группой входов первого элемента ИЛИ, выход которого соединен с первым адресным входом блока управления, тактовый вход которого является тактовым входом устройства, первый выход блока микропрограммного управления соединен с входами записи второго блока регистров и счетчика количества импульсов синхронизации, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности контроля, в него введены первый, второй и третий счетчики, первый, второй и третий коммутаторы, регистр команд, блока оперативной памяти, блок ввода-вывода, блок анализа ветвлений и второй 1элемент ИЛИ, причем вход начальной устапавки устройства подключен к входам начальной установки первого, второго и третьего счетчиков, блока управления ч первому входу второго элемента
ИЛИ, выход которого подключен к входу установки в "0" триггера, вход устаповки в "1" которого соединен с вторым выходом блока управления, третий выход которого соединен с вторым входам второго элемента ИЛИ, синхровход устройства подключен к входу записи первого блока регистров, счетному входу счетчика количества импульсов синхронизации и синхровходу блока анализа ветвлений, тактовый вход которога объединен с тактовым входом блока управления и подключен к тактовому входу устройства, информационный вход и первый выход блока анализа ветвлений подключены соответственно к выходу схемы сравнения и второму адресному входу блока управления, первый выход которого подключен к входу записи первого счетчика, входу блокировки первого коммутатора, входу запуска блока анализа ветвлений, счетному входу второго счетчика, входу разрешения блока оперативной памяти, входам обращения блока ввода-вывода и блока постояннои памяти, счетному входу и входу записи третьего счетчика, входам разрешения второго и третьего коммутаторов и входу параллельной записи регистра команд, выход второго коммутатора подключен к информационным входам регистра ко47
i 434439 48 манд и счетчика количества импульсов синхронизации, первому информационному входу-выходу блока ввода-вывода и информационному входу-выходу блока оперативной памяти, выходы первого и третьего коммутаторов соединены с информационным входом-выходом блока оперативной памяти, второй выход блока анализа ветвлений подключен к входу разрешения первого блока регистров, счетному входу и входу разрешения первого счетчика и входу разрешения первого коммутатора, информационный вход и выход первого счетчика соединены соответственно с информационным входом первого блока регистров и информационным входам первого коммутатора, информационный выход второго счетчика подключен к адресному входу блока оперативной памяти, выход готовности, адресный вход, второй информационный вход-выход и управляющий вход-выход блока ввода-вывода соединены соответственно с третьим адресным входом блока управления, информационным входом данных и входом-выходом управления устройства, вход подтверждения прерывания устройства подключен к четвертому адресному входу блока управления, выход второго блока регистров подключен к информационному входу третьего счетчика, выход которого подключен к адресному входу блока постоянной памяти и информационному входу второго коммутатора, информационный выход регистра команд соединен с пятым адресным входом блока управления и первым информацион:ным входом третьего коммутатора, вто рой информационный вход которого ,подключен к информационному выходу счетчика количества импульсов синхронизации.
2. Устройство по п. 1, о т л и ч а ю щ е е с я тем, что блок анализа ветвлений содержит три триггера, два счетчика, два элемента НЕ, пять элементов И, два элемента И-НЕ, два элемента ИЛИ, причем вход синхронизации блока через первый элемент
НЕ подключен к информационному и ус- тановочному входам первого триггера, синхровход которого объединен с первыми входами первого и второго элементов И-НЕ и является тактовым входом блока, прямой выход первого триггера подключен к второму входу пер30 ко то рого подключен к инфо рмацно ином у входу третьего триггера, третьему входу четвертого элемента И и через второй элемент НŠ— к третьему входу тРетьего элемента И, выходы третьего и четвертого элементов И соединены соответственно со счетным входам и входом сброса второго счетчика, выходы старшего и младшего разрядов которого соединены с первым и вторым входами пятого элемента И, выходы третьего триггера, пятого злеме н та И и в ыход с та рше гc ра з ряда первого счетчика образуют первый
45 выход блока, выход четвертого элемента И и выход младшего разряда первого счетчика образуют второй вход блока.
25 вага элемента И-ПГ, первому входу первого элемента И и единичному входу второго триггера, нулевой вход которого подключен к выходу второго элемента И-НЕ, второй вход которого объединен с первыми входами первого и второго элементов ИЛИ и подключен, к выходу старшего разряда первого счетчика, второй вход первого элемента ИЛИ объединен с синхровходом третьего триггера и подключен к выходу первого элемента И-НЕ, второй вход второго элемента ИЛИ является инфор-, мационным входом блока, выход первого элемента ИЛИ соединен со счетным входом первого счетчика, вход начальной установки объединен с входам сброса третьего триггера и подключен к выходу первого элемента И, второй вход которого является входом запус" ка блока, прямой выход второго триггера подключен к первым входам третьего и четвертого элементов И, вто" рые входы которых объединены и подключены к выходу старшего разряда первого счетчика, выходы второго элемента ИЛИ и третьего триггера соединены соответственно с первым и вторым входами второго элемента И, выход
3. Устройство по и. 1, о т л ич а ю щ е е с я тем, что блок ввода-вывода содержит дешифратор адреса, два регистра, два буферных регистра, два элемента И, элемент ИЛИ, причем вход дешифратора адреса является адресным входом блока, выход дешифратора соединен с первыми входами элементов И, вторые входы koторых и выход элемента ИЛИ образуют управ50
49
1 434439 ляющий вход — выход блока, выходы первого и второго элементов И образуют выход готовности блока, выход второго элемента И подключен к первому входу
5 элемента ИЛИ и входу разрешения записи второго регистра, второй вход элемента ИЛИ, объединенный с управ" ляющим входом второго буферноro регистра и входом разрешения запчси первого регистра, и управляющий вход первого буферного регистра образуют вход обращения блока, выход второго б уфе рно го регистра попключел к информационному входу второго регистра и является вторым информационным входом-в ыходом блока, выход в то ро го ре— гистра соединен с информационным входом первого буферного регистра, выход которого подключен к информа ционному входу первого регистра и является первым информационным вхо-. дом-выходом блока, выход первого регистра соединен с информационным входом второго буферного регистра.
1434439
1434439
1434439
1434439
1434439
l434439
Оюе g ход
Aомаю3а?
2< озган преЬы
lfnv оме g
Мчало.юная фюа юона
z дыборка кояаид ийвие. а
АГЕЛ1 онер а ичупыж
Hem осле ходР
rye
Кета оЮна мага оии ни
Загруэна сосмоя . юрооессо а о ела ослейЮат.
+em омедо
ЯР
Hem
12
Проберка перехоо
ucr ю а еоехооа
hem
Зазрузна адреса пе ехода по еоо ., хоР
any
Ю 5 ewe o хоР
/ ел проЮерка ирехода
Мп7
А< Ю „д„ леото
Юм
Загрузка адреса лерехооа
-20
Загрузка сосать п ессо а о стел
BK @ 2аоиЩ а хаФ. 7 юы
ZJ
Загрузка состоя роцессара ю т ка. Загрузк,@У
Pgu
Лагупс ооод аореса аерахооЬ. Сброс д>вага оши&и
1434439
ПВ0 . 14б
162
l434439 !
О
1 ! !4 5 !
Ф6 1
О !62
О !
О
f52
17б 1 о
f71
1 аа
1434439
82
f79
188
И0
1434439
1434439
1434439
180
Составитель И. Сафронова
Редактор О, Спесивых Техред Л. Олийнык Корректор М. Васильева
Тираж 704.Заказ бб36
Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д. 4/5
Нроизводственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4





































