Устройство для контроля хода программы
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано для контроля хода программ цифровых ЭВМ. Устройство позволяет повысить оперативность контроля по обнаружению ощибок хода программы . Это достигается введением в устройство сумматора, дополнительной схемы сравнения, счетчика начальной установки.и элементов логики. Введение дополнительных элементов позволяет уменьшить аппаратурные затраты за счет сокращения объемов дополнительной памяти и сократить время обнаружения ошибок хода программы с точностью до выполняемой команды. 1 ил. Ш СП
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
yg q G 06 F 11/28
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К A ВТОРСНОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЬЙ НОМИТЕТ
l1O 3O PETEH RM H OTHPblTHRM
ПРИ ГКНТ СССР (21) 4261494/24-24 (22) 15.06.87 (46) 15 ° 01.89. Бюл, М- 2 (72) В,Н,Куценко, Е.В.Ананский, И.И.Петров, С.Г.Колесник, А.В.Беглый, В,И.Ярусевич и Н.П.Наконечный (53) 681.3 (088.8) (56) Авторское свидетельство СССР
Р 1242967, кл. G 06 F 11/28, 1986.
Авторское свидетельство СССР
11 1019451, кл, G 06 F 11/00, 1983.
„„Я0„„1451703 А1 (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА
ПРОГРАММ 1М (57) Изобретение относится к вычислительной технике и может быть использовано для контроля хода программ цифровых ЭВМ, Устройство позволяет повысить оперативность контроля по обнаружению ощибок хода программы. Это достигается введением в устй ройство сумматора, дополнительнои схемы сравнения, счетчика начальной установки и элементов логики. Введение дополнительных элементов позволяет уменьшить аппаратурные затраты за счет сокращения объемов дополнительной памяти и сократить время обнаружения ошибок хода программы с точностью до выполняемой команды.
1 ил.
1451 103
Изобретение относится к вычислительной технике и может быть использовано для контроля хода программы цифровых ЗВМ.
Целью изобретения является новышение оперативности контроля.
Устройство для контроля хода программ представлено на чертеже.
Устройство .содержит регистр 1 1Р кода команды для хранения кода выполняемой команды, регистр 2 адреса команды для хранения адреса выполняемой команды, регистр 3 адреса перехода для .хранения адреса перехода, 15 счетчик 4 слов адреса, счетчик 5 начальной установки, элемент ИЛИ 6, дешифратор 7, сумматор 8, первую схему 9 сравнения, вторую схему 10 сравнения, элементы И 11-13, элемент 20
ИЛИ-НЕ 14, триггер 1 5 ошибки, информационный вход (шину данных) 16 уст" ройства, адресный вход (адресную шину) 17 устройства, вход 18 чтения устройства, вход 19 признака первого 25 байта команды устройства, вход 20 начальной установки в исходное состояние устройства, вход 21 подтверждения прерывания, выход 22 запроса
1 прерывания устройства, шину 23 управ- 30 ления, Устройство работает следующим образом, В основу работы устройства контроля положен тот факт, что по ходу выполняемой команды определяется адрес следующей команды.
Все команды разделены на две группы: линейные команды, после выполне-.: 40 ния которых выполняется следующая команда; команды перехода, после выполнения которых, в зависимости от усло- вий, выполняется следующая команда,s или же команда, адрес которой указан
45 в команде перехода.
При выполнении очередной команды сравнивается ее адрес с ранее рассчитанными адресами. Положительный результат сравнения свидетельствует о 50 том, что программа выполняется но адресам правильно, Отрицательный результат сравнения свидетельствует о нарушении хода выполнения программы.
Запись информации в регистр 1..кода .:команды и регистр 2 адреса команды выполняется по заднему фронту сигнала чтения первого слова команды, а запись информации в регистр 3 адре.— са перехода выполняется по заднему фронту сигнала чтения.
Счетчик 4 слов адреса предназначен для формирования сигнала запрещения счета, поступающего на вход запрещения счета регистра 3 адреса перехода. После записи адреса перехода в регистр 3 сигнал с выхода счетчика 4 слов адреса запрещает запись информации в регистр 3 адреса перехода. После этого счетчик 4 слов адреса устанавливается в исходное состояние, разрешая запись в регистр 3 адреса перехода по чтению первого байта команды или же по сигналу
"Сброс". Переключение счетчика 4 слов адреса происходит по заднему фронту.
Счетчик 5 начальной установки предназначен для установки в исход ное состояние триггера 15 ошибки.
Счетчик 5 начальной установки блокирует запись в триггер 15 ошибки сигнала ошибки, который возникает при выполнении первой команды программы, а также первой команды подпрограммы обработки прерывания, поскольку в этих случаях адрес выполняемой команды нельзя рассчитать заранее °
Счетчик 5 начальной установки устанавливается в исходное состояние по сигналу "C6poc" или "Подтверждение прерывания", после чего по заднему фронту сигнала "Чтение" первого байта команды он переключается и самоблокируется, 1
Счетчик 4 слов адреса, счетчик 5 начальной установки являются счетчиками-делителями, т.е, с дешифратором на выходе, и поэтому в текущий момент времени может быть возбужден лишь один из выходов каждого счетчика, Дешифратор 7 предназначен для определения длины выполняемой команды, информация о которой поступает на вход сумматора 8, и выдачи сигналов разрешения на входы второго и третьего элементов И 11 и 13. Например, при выполнении линейной команды сигнал разрешения с выхода дешифратора 7 поступает только на второй элемент И 11, при выполнении команды условного перехода на второй и третий элементы И 11 и 13, а в случае выполнения команды безусловного перехода или вызова подпрограммы " на вход третьего элемента И 13.
14Р
Сумматор 8, на один вход которого поступает адрес выполняемой команды, а на другой (с выхода дешифратора) код длины этой команды, определяет адрес следующей команды.
Схемы 9 и 10 сравнения выполняют сравнение адреса выполняемой команды с ранее рассчитанными адресами. В случае совпадения адресов на выходах схем 9 и 10 сравнения появляются уровни "1", которые через элементы И
11 и 13 и элемент ИЛИ-НЕ 14 поступают на информационный вход триггера 15 ошибки.
Триггер 15 ошибки предназначен для фиксации результата сравнения выполняемой команды с ранее рассчитанными адресами, Начальная установка триггера 15 ошибки выполняется по сигналу с выхода счетчика 5 начальной установки. Запись сигнала с информационного входа выполняется по переднему фронту сигнала "Чтение первого байта команды". При обнаружении устройством контроля ошибки хо. да выполнения программы на выходе триггера 15 ошибки появляется уровень "1", который формирует сигнал
"Запрос прерывания".
Рассмотрим работу устройства на примере использования контроля в микроЭВИ на основе микропроцессора типа К 580, По сигналу "Сброс", который возбуждается по системной управляющей магистрали 23, счетчик 5 начальной установки через вход 20 и элемент
ИЛИ 6 устанавливается в исходное состояние. Установка в "0" счетчика
5 начальной установки вызывает появление уровня "1" на входе установки в ноль триггера 15,ошибки, при этом на выходе триггера ошибки 15 устанавливается ноль.
После снятия сигнала "Сброс" процессор формирует сигналы "Чтение", "Признак первого байта команды" и обращается за командой. Процессор выставляет на адресных шинах 17 адрес нулевой ячейки, а по шине 23 управления — сигнал 18 чтения, Содержимое нулевой ячейки ПЗУ устанавливается на шине 16 данных °
Сигналы на входах 18 и 19 устройства для контроля формируют на выходе элемента И 12 ."1", передний фронт которой не изменяет состояния триггера 15 ошибки, поскольку на его входе
1703 4 может выдать более одного сигнала чтения, например, для считывания последующих байтов команды из ПЗУ или же считывания операндов из ОЗУ.
При этом содержимое ячейки памяти устанавливается на шине 16 данных.
По задним фронтам второго и треть.
его сигналов "Чтение" информация с шины данных заносится в регистр 3
35 адреса перехода. По заднему фронту третьего.:сигнала "Чтение" на выходе счетчика 4 слов адреса устанавливается уровень "1", по которому запрещается запись в регистр 3 адреса перехода, и счетчик 4 слов адреса самоблокируется.
На один вход сумматора 8 поступает код длины выполняемой команды, на другой — адрес выполняемой команды, На выходе сумматора 8 появляется
45 адрес следующей команды.
При появлении переднего фронта сигнала "Чтение первого байта команды" с выхода элемента И 12 в триггер
15 ошибки записывается результат сравнения текущего адреса команды. с ранее рассчитанными адресами. Если программа движется по адресам правильно, то на выходе элемента ИЛИ55
НŠ— уровень нуля и на выходе триггера 15 ошибки также сохраняется зна- чение "0".
Цикл работы устройства повторяется.
25 установки в ноль сохраняется "1", а счетчик 4 слов адреса по сигналу
"Чтение первого байта команды" (с вы-, хода элемента И 12) устанавливается в ноль.
По заднему фронту сигнала с входа
18 выполняется запись информации с шины 16 данных в регистр 3 адреса перехода, при этом счетчик 4 слов адреса не изменяет своего состояния, так как сигнал на его входе установки в ноль еще не принял значения "0" иэ-за задержки на элементе И 12. По заднему фронту сигнала с выхода элемента И 12 выполняется запись кода команды в регистр 1 кода команды, запоминание адреса выполняемой команды в регистре 2 адреса команды и переключение счетчика 5 начальной установки, который переходит в режим самоблокировки,снимая уровень "1 с входа установки в ноль триггера 15 ошибки.
При выполнении команды процессор
1451703
Если при выполнении программы обнаруживаются нарушения хода программы, то на выходе элемента ИЛИ-НЕ 14 появляется уровень "1" и триггер 15
5 ошибки формирует сигнал запрос прерывания, который через выход 22 и шину 23 поступает на устройство приоритетноro прерывания.
Сигнал "Запрос прерывания" с выхо- 1О да триггера 15 поступает в процессор.
В ответ на этот сигнал процессор формирует сигнал "Подтверждение прерывания", который поступает на вход
21 подтверждения прерывания и вызывает установку в исходное состояние счетчика 5 начальной установки, а на входе установки в ноль триггера
15 ошибки появляется уровень "0", и сигнал "Запрос прерывания" снимается 20 .При появлении в процессоре прерываний от других устройств сигнал
"Подтверждение прерывания, поступающий на вход 21 подтверждения прерывания устройства, вызывает установку 2В в исходное состояние счетчика 5 начальной установки, предотвращая формирование триггером 15 ошибки сигнала ".Запрос прерывания", который должен быть сформирован, поскольку ад рес первой команды подпрограммы обработки прерывания не совпадает с теми адресами, которые устройство контроля рассчитывает при выполнении предыдущей команды, и на выходе элемента ИЛИ-НЕ 14 . устанавливается уровень "1"..
Формула изобретения
Устройство для контроля хода программы, содержащее регистр хода ко-. манды, регистр адреса команды, регистр адреса перехода, дешифратор, первую схему сравнения, два элемента.
И, триггер ошибки, причем вход признака чтения устройства соединен с входом записи регистра адреса пере- 4В хода и первым входом первого элемента И, вход признака перврго байта команды устройства соединен с вторым входом первого элемента И, выход которого соединен с входом записи 50 регистров кода команды и адреса команды и с входом синхронизации триггера ошибки, выход которого является выходом запроса прерывания устрой" ства> информационные входы устройст- 55 ва соединены с информационными входа. ми регистров кода команды и адреса перехода, адресные входы устройства соединены с информационными входами регистра адреса команды и первой группой входов первой схемы сравнения, выходы регистра кода команды соединены с входами дешифратора, выход признака линейного хода программы которого соединен с первым входом второго элемента И, выход равенства первой схемы сравнения соединен с вторым входом, второго элемента И, о т л и ч а ю щ е е с я тем, что, с целью повышения оперативности конт. роля, в устройстве введены сумматор, вторая схема сравнения, счетчик начальной установки, счетчик слов адреса, третий элемент И, элемент ИЛИНЕ. элемент ИЛИ, причем выходы регистра адреса команды соединены с входами первого операнда сумматора, выход кода длины команды дешифратора соединен с входами второго операнда сумматора, выходы которого соединены с второй группой входов первой схемы сравнения, адресные входы устройства и выхопы регистра адреса перехода соединены соответственно с первой и второй группами входов второй схемы сравнения, выход равенства которой соединен с первым входом третьего элемента И, выход признака безусловного перехода .дешифратора соединен с вторым входом третьего элемента И, выходы третьего и второго элементов
И соединены соответственно с первым и вторым входами элемента ИЛИ-НЕ, выход элемента ИЛИ-НЕ соединен с информационным входом триггера ошибки, входы начальной установки и подтверждения прерывания устройства соединены соответственно с первым и.вторым входами элемента ИЛИ, выход которого соединен с входом установки в исходное состояние счетчика начальной установки, первый разрядный выход которого соединен с входом установки нуля триггера ошибки, выход первого элемента И соединен с входом исходной установки счетчика слов адреса и с входом синхронизации счетчика начальной установки, второй разряд-."* ный выход которого соединен со счетным входом счетчика начальной установки, вход чтения устройства соединен с синхронизирующим входом счет.-.. чика слов адреса, выход которого соединен с входом блокировки записи регистра адреса перехода и со счетным входом счетчика слов адреса, 14517 О3
Составитель А.Сигалов
Редактор И.Рыбченко Техред А.Кравчук Корректор о М. емчик
Заказ 7081/47 Тираж 667 Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д . 4/5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4