f Изобретение относится к области вычислительной техники и может найти применение в цифровых вычислительных машинах (ЦВМ), осуществляющих контроль времени выполнения программ. Известно устройство для контроля на цикличность, содержащее блок памяти, внешний блок памяти, устройство ввода, счетчик и блок управления 1. Недостатком известного устройства является низкая надежность при определении времени выполнения программы, та как программа, реагирующая на прерывание по зацикливанию, может не находится в основной памяти, а для передачи управления этой программе ее необходимо ввес ти в основную память, что не всегда уда ется при наличии аациклинивания. Наиболее близким техническим решени к изобретению является устройство для контроля на цикличность, содержащее три гер и счетчик циклов 2. Недостатком известного устройства является низкая достоверность контроля. При обнаружении зацикливания, которое может быть следствием неисправности оборудования, происходит вызов программы, которая должна, осуществить контроль аппаратуры (программы) и проинформировать обслуживающий персонал о случившемся, организовать продолжение решения задачи с определенного места программы. Однако при очень многих неисправностях аппаратуры, вызьюающих зацикливание программы, невозможно организовать прерывание, или сама прерывающая программа зациклится. Целью изобретения является повыше- ние достоверности контроля. Поставленная цель достигается тем, что устройство дополнительно содержит первый, второй и третий элементы И, первый и второй элементы ИЛИ, регистр, блок вычитания, счетчик совпадений, первый и второй блок сравнения, выход первого элемента И соединен со входом регистра, выход регистра соединен с первым входом первого блока сравнения, второй вход которого соединен с выходом блока вычитания, первый выхо первого блока сравнения соединен с первыми входами первого элемента ИЛИ, сче чика циклов и блока вычитаний, первый выход счетчика циклов соединен со вторым входом блока вычитаний и с первым входом второго блока сравнения, выход которого является выходом устройства, второй выход счетчика циклов соединен соответственно с первым входом второго элемента ИЛ{1 и со вторыми входами счетчика циклов и первого элемента ИЛИ выход которого соединен с первым входдом счетчика совпадений, второй выход первого блока сравнения соединен со вто- рыми входами второго элемента ИЛИ и счетчика совпадений, выход которого соединен со вторым входом второго блока сравнения, выход второго элемента ИЛИ соединен с единичным входом триггера, единичный и нулевой выходы которого соединены с первыми входами второго и третьего элементов И, выход второго элемента И соединен с первым входом первого элемента И, с третьим входом блока вычитания и с нулевым входом триггера, та1сто вый вход устройства соединен со вторыми входами второго и третьего элементов И, информационный вход устройства соединен со вторым входом первого элемента И, с третьим входом первого блока сравнения, выход третьего элемента И соединен с четвертым входом блока вычитания. На чертеже представлена структурная схема ycrpoiicTBa. Устройство для контроля на цикличность содержит триггер 1 первый, второй и третий элементы И 2, 3, 4, соответственно первый и второй элементы ИЛИ 5- регистр 7, первый блок сравнения 8, бло вычитания 9, счетчик циклов 1О, счетчик совпадений 11, второй блок сравнения 12 информационный 13 и тактовый 14 входы и выход 15 устройства. Устройство работает следующим образом. На вход устройства 13 подаются данные из ЦВМ, подлежащие запоминанию или сравнению с ранее запомненными, которые поступают на третий вход первого блока сравнения 8 и информационный вход элемента И 2. На тактовый вход устройства 14 подаются из ЦВМ импульсы {по одному на каждую команду), которые поступают на вторые входы элементов И 3-4, первые входы которых соединены соответственно с единичным и нулевым 6 624 выходами триггера 1. Таким образом, в зависимости от состояния триггера 1 импульсы будут проходить по разным каналам. При единичном состоянии триггера 1 тактовый импульс через второй элемент И 3 попадает на управляющий вход первого элемента И 2, по этому сигналу информация со входа 13 запишется в регистр 7и поступит на первый вход первого блока Сравнения 8. Одновременно с этим, с выхода второго элемента И 3 пройдет импульс на .нулевой вход триггера 1 и установит его в нулевое состояние, также поступит на третий вход блока вычитания 9, по сигналу которого через информационный вход в блок вычитания 9 будет считано содержимое счетчика цикла 1О. При нулевом состоянии триггера 1 тактовые импульсы через третий элемент И 4 буаут поступать на счетный вход блока вычитания 9, уменьшая каждый раз содержимое его на единицу. При обнулении с выхода блока вычитания 9 сигнал поступит на управляющий вход первого блока сравнения 8, разрешая сравнение данных по его первому и третьему входам. Таким образом, будут сравниваться данные по командам, отстоящим друг от друга на-величину, записанную в счетчике циклов 1О. С выхода первого блока сравнения 8 сигнал совпадения попадает на счетный вход счетчика совпадений 11, увеличивая его значение на единицу, и через второй вход второго элемента ИЛИ 6 на единичный вход триггера 1, подготавливая его к приему данных следующей команды. При попадании на цикл содержимое счетчика совпадений 11 будет увеличиваться, пока не достигнет значения, записанного в счетчике циклов 10, а это значит, что будут проверены все команды цикла, В этом случае второй блок сравнения 12, первый вход которого связан с информационным выходом счетчика циклов 1О, а второй вход - с выходом счетчика совпадений 11, выработает сигнал обнаружение цикла и выдаст его на выход устройства 15, Сигнал же несовпадения с выхода первого блока сравнения 8попадет на счетный вход счетчика циклов 10, увеличивая его значение на один шаг, на установочный вход блока вычитания 9, присваивая ему значение щага, и через первый вход первого элемента ИЛИ 5 на установочный вход счетчика совпадений 11, присваивая последнему нулевое значение Таким образом, при несовпадениях значение счетчика циклов 1О будет постепенно увеличиваться, по ка не произойдет переполнение, сигнал о котором с выхода счетчика циклов 10 поступит на его установочный вхоп и приведет, счетчик циклов Ю в начальное состояние. Кроме того, сигнал переполнения через первый вход второго элемента ИЛИ 6 поступит на единичный ВХ.ОД триггера 1, подготавливая его к приему новых данных, а через второй вход первого элемента ИЛИ 5 установит счетчик числа совпадений в нулевое положение.
Устройство может быть дополнено установочным входом, который следует соединить с выходом переполнения счетчика циклов 1О. В этом случае, пропуская импульс через установочный вход, можно будет приводить устройство в начальное состояние.
Предлагаемое устрсэйство может быть использовано и в мультипрограммных ЦВМ. В этом случае требуется обеспечить возможность списывания содержимого устройства при прерывании программы и возможность записи нового содержимого при загрузке следующей программы. Для этого достаточно снабдить устройство дополнительными входами и выходами, которые следует соединить, соответственно с информационными входами и выходами триггера 1, регистра 7 блока вычитания 9, счетчика циклов 1О и счетчика совпадений 11.
Если встретится программа с циклическими участками, включающими операции ввода, например с телетайпа, и при анализе такого участка случайно будут вводиться одни и те же данные, устройство выдает сигнал обнаружения цикла. В то же время при вводе других данных произойдет выход из цикла. Для исключения таких специфических случаев между регистром 7 и блоком сравнения 8 можно вставить схему выделения операций ввода, управляющий выход которой сТтедует соединить с выходом переполнения счетчика циклов 1О.
Дополнительные элементы, ввиду очевидности их размещения, на чертеже не показаны.
Поиск цикла можно разделить на два этапа: выход на цикл и проверка достоверности обнаружения цикла по каждой его комаде. Время по второму этапу находится в квадратичной зависимости от
величины цикла, исхоая из чем о с учетом быстродействия ЦВМ ч следует назначить емкость счетчика цикла. Время по первому этапу не зависит от вt,личины цикла и может быть сокращено в соответствующее число раз путем применения в одной ЦВМ сразу нескольких предлагаемых устройств, при этом шаг изменения счетчика цикла должен соответствовать числу примененных устройств, а начальные состояния их должны быть сдвинуты последовательно на единицу. В этом случае устройства будут работать независимо друг от друга, обеспечивая в сумме полный контроль программы.
Таким образом, предлагаемое устройство позволяет без дополнительных затрат машинного времени производить 1ОО-процентный контроль программы на цикличность непосредственно в процессе счета.
Формула изобретения
Устройство для контроля на цикличность, содержащее триггер,счетчик циклов,, .отличающееся тем, что, с целью Повышения достоверности контроля устройство дополнительно содержит первый, второй и третий элементы И, первый и второй элементы ИЛИ,- регистр, блок вычитания, счетчик совпадений, первый н второй блок сравнения, причем выход первого элемента И соединен со входом регистра, выход регистра соединен с первым входом первого блока сравнения, второй вкод которого соединен с выходом блока вычитания, первый выход первого блока сравнения соединен с первыми входами первого элемента ИЛИ, счетчика циклов и блока вычитания, первый выход счетчика циклов соединен со вторым входом блока вычитания и с первым входом второго блока сравнения, выход которого является выходом устройства, второй выход счетчика циклов соединен соответственно с первым входом второго элемента ИЛИ, со вторыми входами счетчика циклов и первого эле- .
мента ИЛИ, выход которого соединен с первым входом счетчика совпадений, второй выход первого блока сравнения соединен со вторыми входами второго элемента ИЛИ -и счетчика совпадений, выход которого соединен со вторым входом второго блока сравнения, выход второго элемента ИЛИ соединен с единичным входом триггера, единичный и нулевой выходы которого соединены с первыми входами второго и третьV vj.i/:-. .- . ..%-.,..,65 его элементов И , выход Btoporo элемента И соединен с первым входом первого эле мента И, с третьим входом блока вычитания и с нулевым входом триггера, тактовый вход устройства соединен со вторыми входами второго и третьего элементов И, информационный вход устройства соединен со вторым входом первого элемента И, с третьим входом первого блока сравнения. 2 выход третьего элемента И соединен с четвертым входом блока вычитания. Источники информации , принятые во вни.мание пои экспертизе 1.Беме Г. и Бори В. Программирование управляющих вычислительных систем М., Энергия , 1975. с. 67-68. 2.Авторское свидетельство СССР № 439813, кл. G 06 F 11/ОО.1975.
название | год | авторы | номер документа |
---|---|---|---|
Устройство для контроля времени выполнения программы | 1983 |
|
SU1140124A1 |
Устройство для контроля хода программы и перезапуска ЭВМ | 1985 |
|
SU1337901A1 |
Устройство для контроля программ | 1983 |
|
SU1149269A1 |
Устройство для контроля правильности выполнения программ при сбоях | 1977 |
|
SU732876A1 |
Устройство для контроля хода программы и перезапуска ЭВМ | 1987 |
|
SU1501066A2 |
Устройство для контроля хода программ | 1983 |
|
SU1101831A1 |
Устройство для контроля хода программ | 1989 |
|
SU1645959A1 |
Устройство для прерывания программ | 1982 |
|
SU1072045A1 |
Устройство для контроля программ | 1987 |
|
SU1418719A1 |
Устройство для контроля программ | 1988 |
|
SU1529226A1 |
IFC
8
о
15
Авторы
Даты
1979-04-25—Публикация
1977-02-09—Подача