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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к цифровой вычислительной технике и может быть использовано при тестировании и отладке в реальном масштабе времени программного обеспечения цифровых вычислительных машин. Цель изобретения - расширение области применения устройства за счет обеспечения контроля хода программы с произвольной :структурой. Устройство для контроля за ходом выполнения программь содержит регистр 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 первого, второго, третьего и четвертого коммутаторов, вход установки режима устройства соединен с информационным входом регистра обмена, третий выход которого является информационным выходом устройства, выход равенства первого блока сравнения соединен с первым входом блока равнозначности и первым управляющим входом пятого коммутатора, выход равенства второго блока сравнения соединен с вторым входом блока равнозначности и вторым управляющим входом пятого коммутатора, пятый выход распределителя им-пульсов соединен с третьим входом блока равнозначности, выход которого является выходом ошибки хода вычислительного процесса устройства.