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

 

УСТРОЙСТБО ДЛЯ КОНТРОЛЯ ХОДА ПРОГРАММ, содержащее блок микропрограммного управления, первый и второй блоки сравнения, первый и второй регистры нижней границы участка программы, первый и второй регистры верхней границы участка протраммы , блок памяти,входной регистр ядреса команд, регистр адреса текудах команд, счетчик адреса текущих команд, блок коммутации, группу эле .ментов И, первый и второй элементы ИЛИ, причем информационный и первый управляющий входы блока коммутации являются соответственно адресным и управляющим входами устройства, первый выход блока коммутации соединен с информационным входом регистра адреса текущих команд, выходы которо го соединены с входами первого элемента ИЛИ, первыг: входом первого блока сравнения и с первыми входами элементов И группы, второй выход блока коммутации соединен с первыми информационными входами счетчика адреса текущих команд и входного регистра адреса команд, выходы которого соединены с входами второго-элемента ИЛИ и информационным входом первого регистра нижней границы участка программы, выходы элементов И группы соединены с вторыми информационными входами входного регистра адреса команд и счетчика адреса текущих команд, выход которого соединен с вторым входом первого блока сравнения и входом первого регистра верхней границы участка программы, выход второго элемента ИЛИ соединен с вторым управляющим входом блока коммутации, первый, второй, третий и четвертый выходы блока микропрограммного управления соединены со . ответственно с управляющим входом i регистра адреса текущих команд, с вторыми входами элементов И группы, О) с управляющим входом первого блока сравнения и с управляючщм входом второго блока сравнения, пятый выход блока микропрограммного управления соединен с первььми управляющими входами первых регистров верхней и нижней границ участка программы, выходы о ел которых соединены соответственно с информационными входами вторых ре гистров верхней и нижней границ со участка программы и соответственно. с первым и вторым информационными входами второго блока сравнения, щесо стой выход блока микропрограммного управления соединен с первыми управляющими входами вторых регистров верхней и нижней границ участка программы , выходы которых соединены с третьим и четвертым информационными входами блока сравнения, первый выход первого блока сравнения соединен с первым входом блока микропрограммного управления и перпым управляю

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

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

РЕСПУБЛИК

09) (!1) G 06 F 11/26

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 2952139/18-24 (22) 30.06.80 (46) 30.11.83. Бюл. Р 44 (72) Ю.N.Корбашов, К.В.Семин и B.È.Óñêoâ (53) 681.3(088.8) ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (56) 1. Патент США Ф 3935563, кл. 3403172,5, опублик. 1974..

2. Авторское свидетельство СССР по заявке 11 2884793/18-24, кл. G Об F ll/00, 1980 (прототип). (54)(57) УСТРОЙСТБО ДЛЯ КОНТРОЛЯ

ХОДА ПРОГРАММ, содержащее блок микропрограммного управления, первый и второй блоки сравнения, первый и второй регистры нижней границы участка программы, первый и второй регистры верхней границы участка программы, блок памяти,входной регистр адреса команд, регистр адреса текущих команд, счетчик адреса текущих команд, блок коммутации, группу эле.ментов И, первый и второй элементы

ИЛИ, причем информационный и первый управляющий входы блока коммутации являются соответственно адресным и управляющим входами устройства, первый выход блока коммутации соединен с информационным входом регистра ад- . реса текущих команд, выходы которого соединены с входами первого элемента ИЛИ, первы>": входом первого блока сравнения и с первыми входами элементов И группы, второй выход блока коммутации соединен с первыми информационными входами счетчика адреса текущих команд и входного регистра адреса команд, выходы которого соединены с входами второго элемента ИЛИ и информационным входом первого регистра нижней границы участка программы, выходы элементов И группы соединены с вторыми информационными входами входного регистра адреса команд и счетчика адреса текущих команд, выход которого соединен с вторым входом первого блока сравнения и входом первого регистра верхней границы участка программы, выход второго элемента ИЛИ соединен с вторым управляющим входом блока коммутации, первый, второй, третий и четвертый выходы блока микропрограммного управления соединены соответственно с управляющим входом регистра адреса текущих команд, с вторыми входами элементов И группы, с управляющим входом первого блока сравнения и с управляющим входом второго блока сравнения, пятый выход блока микропрограммного управления соединен с первыми управляющими входами первых регистров верхней и нижней границ участка программы, выходы которых соединены соответственно с информационными входами вторых регистров верхней и нижней границ участка программы и соответственно. с первым и вторым информационными входами второго блока сравнения, шестой выход блока микропрограммного управления соединен с первыми управляющими входами вторых регистров верхней и нижней границ участка про. граммы, выходы которых соединены с третьим и четвертым информационными входами блока сравнения, первый выход первого блока сравнения соединен с первым входом блока микропрограммного управления и первым управляющим входом счетчика адреса текущих команд, выход первого элемента ИЛИ соединен с вторым управляющим входом счетчика адреса текущих команд и с вторым входом блока микропрограммного управления, второй выход первого блока сравнения. и первый выход второго блока сравнения соединены соотвеТственно с третьим и четвертым входами блока микропрограммного управления, второй выход второго блока сравнения соединен с вто- рыми управляющими входами первых регистров верхней и нижней границ участка программы и с пятым входом блока микропрограммного управления-, седьмой выход которого соединен с вторыми управляющими входами вторых регистров верхней и нижней границ участка программы, о т.л и ч аю щ е е с я тем, что, с целью расширения функциональных возможностей устройства путем фиксации границ

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

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

Известно устройство для контроля

О прохождения программ, содержащее зонную память, которая состоит из трех основных .частей: быстродействующего запоминающего блока для хранения адресов, схем селекции и хра- 10 нения адресов, схем считывания и визуального вывода зафиксированных адр.есов (!) .

Недостаток устройства заключается в малой достоверности контроля программ.

Наиболее близким- по технической сущности к предлагаемому является устройство, содержащее блок управления, блоки сравнения, регистры 20 нижней границы участка программы, регистры верхней границы. участка программы, блок памяти, входной регистр, адреса. команд, регистр адреса текущих команд, счетчик адреса текущих 25 команд, блок коммутации, группу элементов И, элементы ИЛИ (2), Однако устройство характеризуется недостаточными функциональными

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

Цель изобретения — расширение функциональных возможностей устройства путем фиксации границ выполнения участков программ с подсчетом циклов. . Поставленная цель достигается тем, что в устройство для контроля хода программ, содержащее блок микропрограммного управления, первый и второй блоки сравнения, первый и второй регистры нижней границы участка программы, первый и второй регистры верхней границы участка программы, блок памяти, входной регистр адреса команд, регистр адреса текущих команд, счетчик адреса текущих команд, блок коммутации, группу элементов И, первый и второй элемент

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

1057949

l0

55 элемента ИЛИ, первым. входом первого блока сравнения и с первыми входами элементов И группы, второй выход блока коммутации соединен с первым информацноонными входами счетчика адреса текущих команд и входного регистра адреса команд, выходы которого соединены с входами второго элемента ИЛИ и информационным входом первого регистра нижней границы участка программы, выходы элементов И группы соединены с вторыми информационными входами входного регистра адреса команд и счетчика адреса текущих команд, выход которого соединен с вторым входом первого блока сравнения и входом первого регистра верхней границы участка программы-, выход второго элемента ИЛИ соединен с вторым управляющим входом (щр-. ка коммутации, первый, второй, тр .-. тий и четвертый выходы блока щщра-. программного управления соеднненй соответственно с управляющим входом регистра адреса текущих команд, с вторыми входами элементов И группы, с управляющим входом первого блока сравнения и с управляющим входом второго блока сравнения, пятый выход блока микропрограммного управления соединен с первыми управляющими входами первых регистров верхней и нижней границ участка программы, выходы которых соединены соответственно с информационными входами вторых регистров верхней и нижней границ участка программы и соответственно с первым и вторым информационными входами второго блока сравнения, ше.стой выход блока микропрограммного управления соединен с первыми управляющими входами вторых регистров . верхней и нижней границ участка программы, выходы которых соединены с третьим и четвертым информационными входами блока сравнения, первый выход первого блока сравнения соединен с первым входом блока микропрограммного управления и первым управляю" щим входом счетчика адреса текущих команд, выход первого элемента ИЛИ соединен с вторым управляющим входом счетчика адреса текущих команд и с вторым входом блока микропрограммного управления, второй выход первого блока сравнения и первый выход второго блока сравнения соединены соответственно с третьим и четвертым входами блока микропрограммного управления, второй выход второго Cirîêà сравнения соединен с вторыми управляющими входами первых регистров верхней и нижней границ участкг программы и с пятым входом блока микропрограммного управления, седьмой выход которого соединен с вторыми управляющими входами вторых регистров верхней и нижней границ участка программы, введены счетчик циклов, третий элемент ИЛИ и блок элементов

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

На фиг. 1 представлена. функциональная схема устройства для контроля хода про1рамм; на фиг. 2 — вариант построения блока управления; на фиг. 3 — -алгоритм работы блока управления.

Устройство состоит из блока l коммутации, счетчика 2 адреса текущих команд, регистра 3 адреса текущих команд, выходного регистра 4 адреса команд, первого регистра 5 нижней границы участка программы, первого регистра 6 верхней границы участка программы, второго регистра 7 нижней границы участка программы, второго регистра 8 вер:.ней границы участка программы, элементов ИЛИ 9 и 10, первого блока 11 сравнения, второго блока 12 сравнения, группы 13 элементов И блока 14 микропрограммного управления, счетчика 15 циклов, блока 16 элементов ИЛИ, третьего элемента HJIH 17, блока 18 памяти, адресного входа !9 и управляющего входа 20.

Блок 14 состоит из блока 21 постоянной памяти, дешифратора 22, регистра 23 адреса микрокоманд, мо5 1 дификатора 24 адреса, входа 25 начальной установки.

Блок 14 работает в соответствии с микропрограммой, записанной в блоке постоянной памяти. Обработка сигналов от других узлов устройства производится модификатором.

Узлы устройства выполняют, следующие функции.

На счетчике 2 устройство формирует адреса выполняемых в ЭВМ команд, на регистре 3 хранятся адреса текущих команд, поступающих из ЭВМ на вход 19. На вход 20 поступает сигнал изменения адреса команды..В регистре

4 хранится адрес нижней границы выполняемого участка программы, поступающий.или с входа 19 (через блок l), или с регистра 3 (через блок 13).

Регистры 5 и 6, 7 н 8 служат для временного хранения содержимых регистра

4 и счетчика 2 соответственно.

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

В исходном состоянии (цепи установки узлов и исходное состояние не показаны, как не существенные) все регистры счетчика 2 и блок памяти не содержат никакой информации, в счетчике 15 записан код 00...01, Блок 14 находится в состоянии ожидания сигнала с выхода элемента 10 (блок алгоритма). Блок 1 подключает вход 19 к входам счетчика 2 и регистра 4, Адрес начальной команды программы по сигналу изменения адреса команды из 3ВМ записывается с входа

19 в счетчик 2 и регистр 4. После записи адреса в регистр 4 сигнал с выхода элемента 9 (появляющиися при ненулевом состоянии регистра) переключает блок l, в результате чего последний отключает вход 19 от регистра 4 и счетчика 2 и подключает его к входу регистра 3. Такое состояние блока 1 сохраняется вплоть до установки устройства в исходное состояние, После записи в регистр

4 и счетчик 2 устройство находится в состоянии ожидания изменения адреса команды на счетчике команд ЭВМ.

Адрес следующей команды по сигналу изменения адреса команды через блок 1 записывается в регистр 3 . B результате (при ненулевом состоянии регистра 3) сигнал с выхода элемен" та 10 увеличивает на единицу содержимое счетчика 2 и поступает на

057949

l0

6 вход блока 14, который в ответ на этот сигнал подает управляющий сиг" нал на вход блока 11, который при этом производит сравнение содержимых регистра 3 и счетчика 2, т.е. сравнение адреса новой команды с увеличенным на единицу адресом предыдущей команды (блок 3 алгоритма).

В зависимости от результата сравнения реализуются два режима работы устройства. Если содержимое регистра 3 и счетчика 2 равно (адреса предыдущей и последующей команд отличаются иа единицу, т.е. в ЭВМ вы— полняются команды с последовательными адресами), то блок 14 по сигналу с соответствующего выхода бло1са проиаеориr гашение регистра 3 (блок

4 алгоритма) и устройство переходит в режим ожидания изменения выполняемой в ЭВИ команды (блок 14 ожидает сигнал с выхода элемента IOI

При поступлении на регистр 3 новой команды производится добавление единицы в счетчик 2 и сравнение содержимого регистра 3 и счетчика 2.

Если оно равно, то вновь производится гашение регистра 3 и переход к о ожиданию изменения команды в ЭВМ.

Работа устройства в данном случае соответствует выполнению в ЭВМ непрерывного набора команд с последоватвпьными адресами. При этом содержимое регистра 4 определяет первую команду (нижний адрес набора адресов команд) набора выполняемых команд, а на счетчике 2 производится расширение верхней границы набора адресов команд.

В том случае, если содержимое счетчика 2 и регистра 3 не равно (т.е. адрес последующей команды отли. чается от адреса предыдущей команды на число отличное от единицы) работа устройства соответствует переходу в программе от одного набора команд другому, т.е. от одного линейного участка программы к другому. В этом случае сигнал с соответствующего выхода блока ll уменьшает содержимое счетчика 2 на единицу (происходит возврат к адресу команды, от которой произошла передача управления) и, кроме того, этот сигнал поступает на вход блока 14, который в ответ подает управляющий сигнал на входы регистров 5 и б, .по которому в эти регистры записывается содержимое регистра 4 и счетчика 2 (блок 6 ал

7 I горитма). После чего блок 14 подает на блок 13 управляющий сигнал, по которому содержимое регистра 3 записывается в регистр 4 и счетчик

2 (блок 6 алгоритма), затем регистр

3 устанавливается в исходное состояние (блок 7 алгоритма) . Устройство переходит в режим ожидания поступления в ЭВИ адреса новой команды, в регистре 4 и счетчике 2 записан нижний адрес нового набора адресов команд.

В дальнейшем производится обработка граничных адресов набора команд. Это вызвано тем, что при выполнении программы отдельные ее участки циклически повторяются большое число раз. Чтобы обеспечить автоматический подсчет количества циклов и сэкономить память (не записывать в нее одни и те же границы при циклическом повторении набора команд) количество повторений набора команд

Фиксируется на счетчике 15. Устройство при этом работает следующим образом, ь ,После передачи содержимых регистра 4 и счетчика 2 в регистры 5 и ,6 блок 14 подает управляющий сигнал на блок 12, который производит сравнение содержимого регистров 5 и 6 соответственно с содержимыми реги-стров 7 и 8. В том случае, когда содержимое регистра 5 равно содержимому регистра 7 и содержимое регистра 6 равно содержимому регистра

057949

8, с соответствующего выхода блока

12 производится гашение регистров

5 и 6 и добавление единицы в счетчик 15. Кроме того, сигнал равен5 ства содержимых указанных регистров поступает в блок 14, который в ответ переходит в режим ожидания изменения выполняемой в ЭВМ команды (блок

9 алгоритма).

t0

В том случае, когда не равно содержимое регистров 5 н 7 или регистров 6 и 8, или имеют место оба неравенства, сигнал с соответствую15 щего выхода блока 12 поступает в блок 14, который в ответ сначала подает управляющий сигнал на регистры 7 и 8 и элемент !7, по которому содержимое этих регистров записыва2О ется в блок 18 (блок 9 алгоритма).

После этого с блока 14 подается управляющий сигнал на счетчик 15 и элемент 17. В результате через блок

16 в блок 18 записывается содержи25 мое счетчика (блок 10 алгоритма).

После этого блок 14 переходит в состояние ожидания смены команд в 3ВМ.

В блоке 18 информация о границах наборов команд и информация о колиgO честве циклов наборов команд записана в той последовательности, в которой эти наборы команд выполнялись °

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

1057949

Z1f От11 ол1д к на1

ВН

Ти

Филиал ППП "Патент", r.Óæãîðîä,óë.Ïðîåêòíàÿ,4

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

 

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

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

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

Изобретение относится к системам управления телевидением и радиовещанием

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

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

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

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

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

Изобретение относится к средствам построения модели состояния технического объекта
Наверх