Устройство для контроля за ходом выполнения программы

 

Изобретение относится к цифровой вычислительной технике и может быть использовано при тестировании и отладке в реальном масштабе времени программного обеспечения цифровых вычислительных машин. Цель изобретения - расширение области применения устройства за счет обеспечения контроля хода программы с произвольной :структурой. Устройство для контроля за ходом выполнения программь содержит регистр 1 адресов команд переходов , дешифратор 2 кода операций, блоки 3 и 4 сравнения, буферные регистры 5 и 6, блоки 7 и 8 памяти прямых адресов , распределитель 9, коммутаторы 10 и 11, блоки 12 и 13 памяти косвенных адресов, коммутаторы 14, 15 и 16, регистр 17 текущего адреса, регистр 18 адреса данных, регистр 19 адреса, регистр 20 обмена и блок 21 равнозначности . Данное изобретение обеспечивает контроль хода по каждой ветви., программы и выявление всех ошибок переходов к незапланированным ветвям программы. 1 шт. Вх Икодне п п/хIffOffffS Ш (Л N9 00 sl Од Од

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК

ÄÄSUÄÄ 1287166

А1 (51) 4 G 06 Р 11/28

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К ABTOPCHOMV СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3954248/24-24 (22) 01.07.85 (46) 30.01.87. Бюл. Р 4 (72) А.Ф. Кирьяков, А. В. Королев, В.С.Пушкин, И.В.Лукашин и В.А.Горбатов (53) 681.3 (088. 8) (56) Авторское свидетельство СССР

Ф 807289, кл. G 06 F 11/00, 1978.

Авторское свидетельство СССР

У 1103238, кл. G 06 F 11/00, 1983 ° (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ЗА ХОДОМ

ВЫПОЛНЕНИЯ ПРОГРАММЫ (57) Изобретение относится к цифровой вычислительной технике и может быть использовано при тестировании и отладке в реальном масштабе времени программного обеспечения цифровых вы1 числительных машин. Цель изобрете- ния — расширение области применения

Вх устройства за счет обеспечения контроля хода программы с произвольной

; структурой. Устройство для контроля за ходом выполнения программы содержит регистр 1 адресов команд переходов, дешифратор 2 кода операций, блоки 3 и 4 сравнения, буферные регистры

5 и 6, блоки 7 и 8 памяти прямых адресов, распределитель 9, коммутаторы

10 и 11, блоки 12 и 13 памяти косвенных адресов, коммутаторы 14, 15 и 16 регистр 17 текуцего адреса, регистр

18 адреса данных, регистр 19 адреса, регистр 20 обмена и блок 21 равнозначности. Данное изобретение обеспечивает контроль хода по каждой ветви . программы и выявление всех ошибок пе- реходов к незапланированным ветвям программы. 1 ил.

25

1 12871

Изобретение относится к цифровой вычислительной технике и может быть использовано при тестировании и отладке в реальном масштабе времени программного обеспечения цифровых вы- 5 числительных машин.

Цель изобретения — расширение области применения устройства за счет обеспечения контроля хода выполнения программы с произвольной структурой.

На чертеже приведена блок-схема предлагаемого устройства для контроля за ходом выполнения программы.

Устройство содержит регистр 1 арресов команд переходов, дешифратор 2. 15 кода операций, блоки.3 и 4 сравнения, буферные регистры 5 и 6, блоки 7 и 8 памяти прямых адресов (БПА), распределитель 9 (импульсов), коммутаторы

10 и 11, блоки 12 и 13 памяти косвен- 20 ных адресов, коммутаторы 14-16, регистр 17 текущего адреса, регистр 18 данных, регистр 19 адреса, регистр 20 рбмена и блок 21 равнозначности.

Устройство работает следующим образом.

В режиме загрузки блоков 7 и 8, 12 и 13 памяти в управляющие разряды регистра 20 от технологической ЗВИ заносится код 10. При этом коммутаторы 10 и 11, 14 и 15 подключают выходы регистра 19 адреса к адресным входам блоков 7 и 8, 12 и 13, на информационные входы блоков 7 и 8, 12 и 13 поступают данные с выхода регистра 18 данных. Загрузка осуществляется с помощью технологической ЭВИ, от которой адреса и данные поступают на входы регистров 18 и 19. После окончания процесса загрузки содержимое управляющих разрядов регистра 20 по директиве от технологической ЭВМ изменяется на код 01, переключая уст" ройство посредством коммутаторов 10 и 11, 14 и 15 в режим "Работа".

Таким образом, после анализа испытываемой программы и построения ее модели в виде ориентированного графа данный граф может быть задан двумя матрицами: матрицей А,. = //А. //, где А . физический адрес i-й команды перехода

i = 1,2,...,n; n — число команд- перехода в испытываемой программе; матрицей В структурных последова- тельностей А;, описывающей все возможные передачи управления в структуре rpaAa

Для графа дан пример вложения данных матриц в блоки 7 и 8, 12 и 13 памяти.

При исполнении, в ходе тестирования программ адреса команд запоминаются в регистре 1 адресов команд переходов. В случае выборки одной из команд, перехода на выходе дешифратора

2 будет сформирован сигнал чтения, по которому запускается распределитель 9 импульсов, представляющий из себя группу элементов задержки. В свою очередь на выходе распределителя 9 будут формироваться сигналы

"Чтения/Запись" в следующей последовательности: "Чтение" блоков 12 и 13;

"Чтение" блоков 7 и 8; "Запись" в регистры 5 и 6; "Запись" в регистры

17 и 20.

При этом алгоритм записи информации в регистры 5 и 6 о физических адресах последующих команд перехода будет следующим: по адресу, записанному в регистре

17 адреса (начальный адрес — 0000}, читается содержимое блоков 12 и 13 и блоков 7 и 8, по косвенным адресам (где косвенные адреса — индексы адресов команд переходов А, выбираемое из блоков 12 и

13) читается содержимое блоков 7 и 8; выбранная из блоков 7 и 8, информация записывается в регистры 5 и 6.

После записи информации о возможных направлениях ветвления программы в регистры 5 и 6, т.е. физических адресов А;, А . последующих команд перехода, на блоках 3 и 4 сравнения будет сравниваться содержимое регистра 1 с содержимым регистров 5 и 6. При этом на выходе блоков 3 и 4 будут формироваться сигналы или "0", "1" или

"1", "О",, т.е. будет определено одно из двух возможных направлений ветвления программы. С выходов блоков 3 и 4 информация "1", "О" или "0", "1" в зависимости от выбранного направления ветвления программы, поступит на вход коммутатора 16, подключая входы регистра 17 к выходам блока 12. После чего в регистры 17 и 20 будет записан

i-й индекс идентифицированной вершины А„ . После чего из регистра 20 информация об индексе ицентифицирован1287166 ной вершины будет переписана в память технологической ЭВМ.

Таким образом, каждый раз после записи в регистр 1 адреса текущей

KoMBHpbl перехода и определения напра- r вления ветвления программы в память технологической ЭВМ будет записан индекс очередной вершины графа. В результате в ходе выполнения программы в памяти технологической ЭВМ будет 10 записана последовательность индексов вершин rpaha, соответствующая входным значениям, поданным на управляющую

ЭВМ.

Таким .образом, основным состояни- 15 ем, фиксирующим уход программы по той или иной ветви, являются состояния выходов блоков 3 и 4 сравнения "0","1" или "1", "0", Очевидно, что при уходе программы в непредсказуемую разработ-2Р чиком область вычислений на выходах блоков 3 и 4 сравнения будет состояние несравнения "0", "0".

В случае, если переход будет произведен в область, которая не запланирована, то ни на одном из блоков 3 и 4 не будет единичного сигнала. Блок

21 равнозначности при появлении нулевых сигналов на его входах вырабатывает единичный сигнал, который поступит на выход устройства и укажет на неверный ход программ.

Формула изобретения

Устройство для контроля за ходом ,выполнения программы, содержащее регистр адресов команд переходов, дешифратор кода операций, первый и второй блоки сравнения, первый и вто- др рой буферные регистры, первый и второй блоки памяти прямых адресов, распределитель импульсов, причем входы адресов команд переходов и кодов операций устройства соединены соответственно с информационными входами регистра адресов команд переходов и дешифратора кода операций, выход которого соединен с входом записи регистра команд переходов и входом запуска распределителя импульсов, информационный выход регистра адресов команд переходов соединен с первыми входами первого и второго блоков сравнения, информационные выходы пер-55 вого и второго блоков памяти прямых адресов соединены с информационными входами соответственно первого и вто- рого буферных регистров, первый и второй выходы распределителя импульсов соединены соответственно с входом записи первого и второго буферных регистров и входом чтения первого и второго блоков памяти прямых адресов, о т л и ч а ю щ е е с я тем, что, с целью расширения области применения за счет обеспечения контроля хода выполнения программы с произвольной структурой, в устройство введены пять коммутаторов, первый и второй блоки памяти косвенных адресов, регистр адреса и регистр данных, регистр обмена, регистр текущего адреса и блок равнозначности, причем информационный вход и вход адресов модели хода программы соединены с информационными входами соответственно регистра данных и регистра адреса, первый выход которого соединен с первыми информационными входами первого и второго. коммутаторов, второй выход регистра адреса соединен с первыми информационными входами третьего и четвертого коммутаторов, выходы которых соединены с адресными входами соответственно первого и второго блоков памяти косвенных адресов, первый информационный выход регистра данных соединен с информационными входами первого и второго блоков памяти прямых адресов, второй информационный выход регистра данных соединен с информационными входами первого и второго блоков памяти косвенных адресов, третий выход распределителя импульсов соединен с входами чтения первого и второго блоков памяти косвенных адресов, информационный выход первого блока памяти косвенных адресов соединен с вторым информационным входом первого коммутатора и с пер-. вым информационным входом пятого коммутатора, информацибнный выход второго блока памяти косвенных адресов соединен с вторым информационным входом второго коммутатора и вторым информационным входом пятого коммутатора, выход которого соединен с информационными входами регистра текущего адреса и регистра обмена, четвертый. выход распределителя импульсов соединен с входом записи регистра обмена и регистра текущего адреса, выход которого соединен с вторыми информационными входами третьего и четвертого коммутаторов, первый и второй выходы регистра обмена соединены соответственно с первыми и вторыми входами

1287166

Составитель И.Сигалов

Техред А.Кравчук Корректор Е.СиРохман

Редактор IO.Ñåðåäà

Заказ 7719/53

Тираж 694 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-полиграфическое предприятие, r. Ужгород, ул. Проектная, 4 первого, второго, третьего и четвертого коммутаторов, вход установки режима устройства соединен с информационным входом регистра обмена, третий выход которого является информационным выходом устройства, выход равенства первого блока сравнения соединен с первым входом блока равнозначности и первым управляющим входом пятого коммутатора, выход равенства второго блока сравнения соединен с вторым входом блока равнозначности и вторым управляющим входом пятого коммутатора, пятый выход распределителя им-пульсов соединен с третьим входом блока равнозначности, выход которого является выходом ошибки хода вычислительного процесса устройства.

Устройство для контроля за ходом выполнения программы Устройство для контроля за ходом выполнения программы Устройство для контроля за ходом выполнения программы Устройство для контроля за ходом выполнения программы 

 

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

Изобретение относится к области вычислительной техники и может быть использовано для определения временных характеристик программ

Изобретение относится к вычислительной технике, предназначено для формирования синхросигналов и может быть использовано в ЭВМ, многомашинных комплексах и многопроцессорных вычислительных системах

Изобретение относится к области цифровой вычислительной техники и может быть использовано при отладке программ специализированных вычислительных систем

Изобретение относится к оЬла стй вычислительной техники и может быть использовано при создании микроЭВМ, микроконтроллеров и других устройств на основе микропроцессоров

Изобретение относится к области :цифровой вычислительной техники и может быть использовано при отладке программ ЭВМ, в состав которых входят штатные блоки постоянной памяти с рабочими программами

Изобретение относится к вычислительной технике и может быть использовано В устройствах управления ЭВМ для отладки программ в режиме реального времени

Изобретение относится к вычислительной технике и предназначено для запоминания и подсчета состояний процессора

Изобретение относится к области вычислительйой техники и предназначено для отладки программ и сбора статистических данных о динамических параметрах структур программ, выполняемых на электронных вычислительных машинах

Изобретение относится к вычислительной технике и позволяет повысить быстродействие за счет исключения специальных команд контроля перехода

Изобретение относится к вычислительной технике, а именно к устройствам для контроля и отладки цифровых управляющих систем, и может быть использовано для имитации функционирования объекта управления, в частности корабельного оружия

Изобретение относится к компьютерным технологиям, в частности к системам и способам формирования дамп файла при возникновении сбоя в работе программы (аварийном завершении программы) в вычислительных системах с ограниченными ресурсами

Изобретение относится к системе с многоядерным центральным процессором, в частности к способу устранения исключительной ситуации в многоядерной системе

Изобретение относится к вычислительной технике и может быть использовано при построении управляющих вычислительных машин (УВМ), нечувствительных к сбоям программ

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ), например в системах управления газотурбинного двигателя

Изобретение относится к вычислительной технике и предназначено для автоматизированной отладки программного обеспечения мультимашинных систем, работающих в реальном масштабе времени и имеющих общую память

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ)

Изобретение относится к вычислительной технике и может быть использовано для выявления циклических процессов анализируемой программы, регистрации их параметров и хранения регистрируемой информации в блоке памяти с последующей выдачей по запросу
Наверх