SU1645960A1 - Устройство дл контрол хода программ - Google Patents

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

Info

Publication number
SU1645960A1
SU1645960A1 SU894652905A SU4652905A SU1645960A1 SU 1645960 A1 SU1645960 A1 SU 1645960A1 SU 894652905 A SU894652905 A SU 894652905A SU 4652905 A SU4652905 A SU 4652905A SU 1645960 A1 SU1645960 A1 SU 1645960A1
Authority
SU
USSR - Soviet Union
Prior art keywords
input
output
elements
group
trigger
Prior art date
Application number
SU894652905A
Other languages
English (en)
Inventor
Леонид Алексеевич Литвин
Валерий Юрьевич Чмутов
Original Assignee
Предприятие П/Я Ю-9420
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Предприятие П/Я Ю-9420 filed Critical Предприятие П/Я Ю-9420
Priority to SU894652905A priority Critical patent/SU1645960A1/ru
Application granted granted Critical
Publication of SU1645960A1 publication Critical patent/SU1645960A1/ru

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

Изобретение относитс  к вычис- лительной технике и может быть использовано дл  контрол  хода выпол- нени  программ ЭВМ, работающих в реальном масштабе времени. Цель изобретени  - упрощение устройства. Устройство содержит два дешифратора, четыре триггера, счетчик адреса, два блока элементов И, блок элементов ИЛИ, накапливающий сумматор, блок сравнени , регистр адреса, элемент ИЛИ, два формировател  импульсов, ключ, элемент НЕ и шесть элементов И. Устройство позвол ет осуществл ть контроль последовательности прохождени  Фрагментов программы с помощью контрольной суммы фрагментов, вычисл емой накапливающим сумматором. 10 ил.

Description

Изобретение относитс  к вычислительной технике и может быть использовано дл  контрол  хода выполнени  программ ЭВМ, работающих в реальном масштабе времени.
Цель изобретени  - упрощение устройства .
На фиг.1 представлена структурна  схема устройства дл  контрол  хода программы; на фиг. 2 - схема формировател  импульсов; на фиг.З - схема ключа; на фиг.4 - диаграммы сигналов ЭВМ с общей шиной: а - диаграмма сигналов информационных шин контролируемого канала, б - диаграмма тактового сигнала СИА, в, г - диаграммы сигналов соответственно ввода и вывода; на фиг.З - таблица команд с разбивкой по операци м; на фиг.6 пример программы; на фиг.7 - один
из фрагментов программы; на фиг.8-10- временные диаграммы работы устройства при выполнении команд соответственно Kl, K2 и КЗ.
Устройство дл  контрол  хода программ содержит первый 1 и второй 2 дешифраторы, первый 3, второй 4, третий 5 и четвертый 6 триггеры, счетчик 7 адреса, первый 8 и второй 9 блоки элементов И, блок 10 элементов ИЛИ, накапливающий сумматор 11, блок 12 сравнени , регистр 13 адреса , элемент ИЛИ 14, первый 15 и второй 16 формирователи импульсов, ключ 17, элемент НЕ 18 и шесть элементов И 19-24. На фиг.1 обозначены также группа информационных входов 25, .тактовый вход 26 устройства СИА, вход 27 признака ввода устройства,
о
сл
CD 0
вход iJH признака вывода устройства и выход 29 сбо  устройства.
Устройство работает следующим образом
Дл  примера рассмотрим работу уст ройства применительно к ЭВМ с общей шиной. Выполн   программу, ЭВМ выполн ет непрерывную последователь ность команд. Выполнение команды начинаетс  с операции по выборке кода команды. Дл  выполнени  любой команды процессору требуетс  дополнить хот  бы одну операцию обращени  к каналу, дл  некоторых команд требуетс  выполнить несколько операций. Первой такой операцией дл  всех команд  вл етс  ввод кода команды из  чейки пам ти ЭВМ, адрес которой определ етс  счетчиком команд ЭВМ. Все операции обращени  к каналу дл  ввода и вывода данных назовем циклами обращени  к каналу. Сигналы, поступающие от процессора в канал, показа ) на фиг.4. После дешифрации команды процессор начинает операцию по выборке операндов, иницииру , если это необходимо, в зависимости от кода команды и метода адресации, один или несколько циклов ввода. Далее производитс  операци  по выполнению действи  команды и при необходимости вывода результатов команды в пам ть или в регистр внешнего устройства (ВУ) начинаетс  цикл ввода. В некоторых случа х после операции выборки текущей команды процессор может перейти к операции ьыбсрки следующей команды. Поскольку ЭВМ с общей шиной могут выполн ть байтовые операции, то при выборке очередного слова из пам ти по адресу счетчика команд его содержимое автоматически увеличиваетс  на 2, при этом увеличение содержимого происходит в первую очередь после выборки слова. Новое содержимое счетчика команд  вл етс  адресом-операции, используемым при выполнении данной команды или адресом следующей команды. При выполнении линейного фрагмента программы , т.е. такого, в котором нет условных или безусловных переходов, содержимое счетчика команд последовательно наращиваетс  на 2, при.этом в канале ЭВМ коды адресов мен ютс  не последовательно, так как при выполнении команд происходит обращение к любым  чейкам пам ти в случае ин
0
5
5
0
5
0
5
0
5
дексной, косвенной, относительной адресации или в случае обращени  к ВУ Аппаратный доступ к счетчику команд ЭВМ отсутствует, доступ возможен только к каналу ЭВМ, а доступ к содержимому счетчика команд возможен только программный.
На фиг.5 в таблице представлены дл  примера некоторые команда с разбивкой по операци м. Команда KI (MOV, CK, СЧ) определ ет вывод значени  счетчика команд (СК) в счетчик 7 адреса (СЧ) устройства и состоит из трех циклов обращени  к каналу: ввод кода команды К1 из пам ти ЭВМ по адресу 002; ввод .адреса счет- чика 7 адреса из пам ти по адресу 004 и вывод значени  счетчика команд ЭВМ в счетчик 7 адреса по адресу XXI, где XX - произвольное значение кода, определ емое присвоенным счетчику 7 адресом. Команда К2 (MOV-KC.Z) определ ет вывод константы (с) в сумматор 11 устройства и состоит из четырех циклов обращени  к каналу: ввод кода команды К2 из пам ти ЭВМ по адресу 006; ввод константы (С) из пам ти по адресу 010; ввод адреса сумматора 11 из пам ти по адресу 012 и вывода значени  константы (С) в сум матор 11 по адресу ХХ2, определ емому присвоенным сумматору 1 1 адресом. Команда КЗ (MOV КС, РГ) определ ет вывод константы контрольной суммы (КС) в регистр 13 устройства и состоит из четырех циклов обращени  к каналу , аналогичных описанным, команда условного перехода (КУП), находитс  в пам ти ЭВМ по адресу П6.
I
В процессе выполнени  ЭВМ программы производитс  выполнение команд, следующих последовательно, или происходит переход по новому адресу по командам условного и безусловного переходов и по прерывани м от ВУ. На фиг.6 показана программа, состо ща  из нескольких фрагментов, нумераци  которых показана в кружках, при этом фрагменты, сход щиес  в одной точке, имеют одинаковые номера. Ромбами показаны команды условного перехода, длинными черточками - команды К1, К2, КЗ, короткими черточками - команды программы. Цифры со знаками + обозначают значение константы (С), которое содержат команды К2. На показан один из фрагментов программы, в кото
ром показаны места расположени  команд К1 , К2, КЗ и КУП.
Способом контрол  хода выполнени  программы  вл етс  контроль в конце каждого фрагмента состо ни  счетчика команд ЭВМ с помощью счетчика 7 устройства, а также контроль номера каждого фрагмента, представл ющего собой контрольную сумму (КС) которую содержит команда КЗ. Дл  получени  ожидаемого значени  КС фрагмента в сумматор 11 устройства вводитс  с помощью команды К1 константа (С), определ ема  заранее дл  каждого фрагмента.
Подготовка устройства к работе заключаетс  в нумерации всех фрагментов программы и в определении значении констант (С) дл  каждого
фрагмента с условием, чтобы предыдущее значение сумматора 11, сложенное со значением константы С, давало в результате номер фрагмента (значение КС). Команда KI записываетс  первой в фрагменте, за ней - команда К2, в конце фрагмента - команда КЗ (фиг.7).
Работа устройства начинаетс  с начальной установки в О триггеров 3-5 и сумматора 11 (цепи установки в О на фиг. 1 не показаны). Сигналом начальной установки может быть, например, сигнал начальной установки всех устройств, подключенных к кана- лу, вырабатываемый процессором при включении питани  ЭВМ. Первой выполн емой командой фрагмента 5 (фиг.6)  вл етс  команда К1, котора  заносит значение счетчика команд ЭВМ в счет- чик 7 устройства. При выполнении цикла 002 (фиг.5) в процессор заноситс  из пам ти код команды, затем выполн етс  цикл 004, во врем  которого в процессор из пам ти ЭВМ зано- ситс  адрес счетчика 7, определенный заранее. По переднему фронту сигнала СИА срабатывает формирователь 16 (фиг.8а) и через элемент И 24, открытый по первому входу высоким уровнем от инверсного выхода триггера 4, подтверждает состо ние О триггера 3 или устанавливает его в О. По переднему фронту сигнала СИА заноситс  также в регистр 13 значение адреса 004, присутствующего в канале. После этого в канале устанавливаетс  адрес XXI счетчика 7 (фиг.86), который дешифруетс  дешифратором 1; по передне5
5
0
0 0 5 0 5
му фронту сигнала СИА триггер 3 устанавливаетс  в 1 в регистр 13 заноситс  адрес XXI. Передним фронтом сигнала вывода адрес 006 счетчика команд ЭВМ заноситс  в счетчик 7. На этом выполнение команды К1 закант чиваетс .
Следующей выполн етс  команда К2. На информационных входах 25 по вл етс  адрес 006 (фиг.вв), передний фронт сигнала СИА сбрасывает триггер 3 в О и заносит в регистр 13 адрес 006, после чего вследствие равенства содержимого счетчика 7 и регистра 13 на выходе блока 12 сравнени  по вл етс  сигнал 1, поступающий на первый вход элемента И 22. Информаци  со счетчика 7 поступает через блок 8 элементов И и через блок 10 элементов ИЛИ на входы блока 12 сравнени . На управл ющем входе блока 8 элемента И присутствует высокий уровень с выхода элемента НЕ 18, поскольку на выходе элемента И 21 - низкий уровень , так как на его первом входе присутствует низкий уровень с пр мого выхода триггера 5. Передним фронтом сигнала СИА триггер 3 сбрасываетс  в О, а передним фронтом сигнал ввода через элемент И 22 в счетчик 7 по счетному входу заноситс  1 и устанавливаетс  в 1 триггер 6, после чего значение счетчика 7 становитс  равным 010. Поскольку учитываютс  только четные значени  счетчика 7, младший разр д в регистр 13 с группы информационных входов 25 не принимаетс , и, следовательно, не сравниваетс  в блоке 12 сравнени . Цикл 010 (фиг.8г) выполн етс  аналогично описанному циклу 006, при этом триггер 6 сбрасываетс  в О импульсом формировател  16 от переднего фронта сигнала СИА, а затем устанавливаетс  в 1 сигналом с выхода элемента И 22, в счетчик 7 также заноситс  1, его содержимое становитс  равным 012. Цикл 012 (фиг.9а) выполн етс  аналогично циклу 010. После выполнени  цикла 012 на группе информационных входах 25 по вл етс  адрес ХХ2 (фиг.96), определ емый адресом сумматора И, дешифруетс  дешифратором 2, после чего по переднему фрон ту сигнала СИА триггер 4 устанавливаетс  в 1, в регистр 13 заносит с  значение ХХ2. Передним фронтом сигнала вывода через открытые эле-
менты И 20 и 23 в сумматор заноситс  значение константы С дл  выполн емо го фрагмента и. суммируетс  с предыдущей КС, в результате чего содержи- мое сумматора 11 равно КС (номеру) выполн емого фрагмента Задний фронт сигнала вывода через открытый элемент И 20 устанавливает по счетно- му входу в 1 триггер 5. На этом
выполнение команды К2 заканчиваетс . При выполнении цикла 014 следующей команды программы (фнг.Зв) триггер 4 сбрасываетс  в О, в регистр 13 заноситс  значение 014, которое срав- ниваетс  с содержимым счетчика 7, и .т.д. аналогично описанному. В дальнейшем производитс  выполнение последовательных команд фрагмента программы , счетчик 7 при этом увеличи- вает последовательно свое содержимое на единицу.
Последней командой выполн емого фрагмента  вл етс  команда КЗ. Циклы ПО, 112, 114 выполн ютс  аналогично описанным циклам 006, 010, 012 дл  команды К2. При сравнении одинаковых (114) значений счетчика 7 и регистра 13 по-переднему фронту сигнала ввода в счетчик 7 заноситс  единица и ус- танавливаетс  в 1 триггер 6. При условии последовательного выполнени  всех команд какого-либо фрагмента счетчик 7, последовательно наращива  свое содержимое, в конце фрагмен- та соответствует счетчику команд ЭВМ по содержимому. В случае пропуска каких-либо команд или перехода программы в результате сбо  на другой фрагмент содержимое счетчика 7 и
счетчика команд ЭВМ различно, сравнени  не происходит и триггер 6 при выполнении команда КЗ (в данном примере цикл 114) в 1 не устаналива- етс .
При по влении на группе информа- ционных входов 25 адреса ХХ2 (фиг.Ю значение адреса заноситс  в регистр 13, кроме того, адрес ХХ2 дешифрует- с  дешифратором 2, поэтому передним фронтом сигнала СИА триггер 4 устанавливаетс  в I. Сигналом с формировател  16 триггер 6 в О не сбрасываетс , так как элемент И 24 закры по второму входу низким уровнем с инверсного выхода триггера 4. Передним фронтом сигнала вывода через открытые Элементы И 20 и 21 и элемент
ИЛИ 14 в регистр 13 заноситс  значение КС выполн емого фрагмента, а также запускаетс  формирователь 15. Сигнал вывода, поступа  через открытые элементы И 20 и 21 на управл ющий вход блока 9 элементов И, подключает выход сумматора I1, содержимым которого  вл етс  значение контрольной суммы выполн емого фрагмента, через блок 10 элементов ИЛИ к второй группе входов блока 12 сравнени . Блок 8 элементов И блокируетс  элементом НЕ 18. В результате сравнени  значений регистра 13 и сумматора 11 на выходе блока 12 сравнени  присутствует высокий уровень, поступающий на первый управл ющий вход ключа на втором управл ющем входе которого присутствует высокий уровень с пр мого выхода триггера 6. Сигнал с выхода формировател  15 через ключ 17 не проходит, и на выходе 29 устройства сигнал ошибки отсутствует. Задним фронтом сигнала вывод через открытый элемент И 20 триггер 5 по счетному входу сбрасываетс  в О. Выполнение команды КЗ и контрол  фрагмента программы заканчиваетс .
Таким образом, в случае пропуска команд или перехода программы с одного фрагмента на другой к моменту сравнени  контрольных сумм регистра 13 и сумматора 11 триггер 6 находитс  в состо нии О, что приводит к открытому состо нию ключа по второму информационному входу. Если фрагмент выполн етс  правильно, но в результате сбо  при выполнении команды условного перехода программы переходит на другой фрагмент неразрешенной последовательности, то происходит не- сравнение контрольных сумм сумматора 11 и регистра 13; ключ 17 открыт по первому информационному входу. Возможен вариант, когда к моменту сравнени  на обоих информационных входах ключа 17 присутствуют низкие уровни. Во всех перечисленных случа х сигнал с выхода формировател  15 через ключ 17 поступает на выход 29 .устройства, сигнализиру  о сбое в ходе выполнени  программы.
Если во врем  выполнени  фрагмент программы происходит прерывание основной программы и ЭВМ начинает выполнение программы обслуживани  прерывани , состо ние устройства не измен етс  и при возврате ЭВМ к прерван-
ному фрагменту продолжаетс  нормальна  работа устройства
Возможен также контроль фрагментов программы обслуживани  прерывани  В этом случае в фрагмент программы необходимо записать команды Kl, К2, КЗ и, кроме того, в начале программы (до команд К1, К2, КЗ) произвести занесение в стек содержимого ЭВМ, счет- чика 7 и сумматора 11, а при выходе из программы восстановить из стека их содержимое.
Таким образом, устройство позвол ет при сравнительно малых аппара- турных затратах эффективно проводить контроль выполнени  программы.

Claims (1)

  1. Формула изобретени 
    Устройство дл  контрол  хода программ , содержащее первый и второй дешифраторы, регистр адреса, блок сравнени , первый и второй блоки элементов И, блок элементов ИЛИ, три триггера, шесть элементов И и элемент ИЛИ, причем группа информационных входов устройства соединена с группами информационных входов первого и второго дешифраторов и труп- пой входов регистра адреса, группа выходов которого соединена с первой группой входов блока сравнени , выходы первого и второго дешифраторов соединены с информационными входами соответственно первого и второго триггеров, пр мые выходы которых соединены с первыми входами соответственно первого и второго элементов И, вход признака вывода устрой- ства соединен с вторыми входами первого и второго элементов И, тактовый вход устройства соединен с тактовыми входами первого и второго триггеров, выход второго элемента И соединен с тактовым входом третьего триггера, пр мой выход которого соединен с первым входом третьего элемента И, группы выходов первого и второго блоков элементов И соединены соответственно с первой и второй группами входом блока элементов ИЛИ, выход четвертого элемента И соединен со счетным входом счетчика адреса , отличающеес  тем,
    10
    5
    0
    5 0 5 0 5 0 5
    что, с целью упрощени , оно содержит накапливающий сумматор, четвертьо триггер, первый и второй формирователи импульсов, элемент НЕ и ключ, причем выход первого элемента И соединен с входом записи счетчика адреса , выход которого соединен с группой информационных входов первого блока элементов И, группа информационных входов устройства соединена с группами информационных входов счетчика адреса и накапливающего сумматора , группа выходов которого соединена с группой информационных входов второго блока элементов И, вход признака ввода устройства соединен с первым входом четвертого элемента И, выход которого соединен с единичным входом четвертого триггера , выход второго элемента И соединен с первым входом п того элемента И с вторым входом третьего элемента И, выход которого соединен непосредственно с управл ющим входом второго блока элементов И, с первым входом элемента ИЛИ и через элемент НЕ и первый формирователь импульсов соответственно с управл ющим входом блока элементов И и управл ющим входом ключа, группа выходов блока элементов ИЛИ соединена с второй группой входов блока сравнени , выход равенства которого соединен с вторым входом четвертого элемента И и первым информационным входом ключа, тактовый вход устройства соединен с вторым входом элемента ИЛИ и через второй формирователь импульсов с первым входом шестого элемента И, выход которого соединен с нулевым входом четвертого триггера, пр мой выход которого соединен с вторым информационным входом ключа, выход которого  вл етс  выходом сбо  устройства, инверсный выход второго триггера соединен с вторым входом шестого элемента И, инверсный выход третьего триггера соединен с информационным входом третьего триггера и с вторым входом п того элемента И, выход которого соединен с входом записи накапливающего сумматора, выход элемента ИЛИ соединен с входом записи регистра адреса.
    28 26
    3feJ
    19
    Ч
    н
    / 7 f
    Ж
    8
    Ы18
    ҐЦ
    WW
    н
    I ie
    С
    П
    У V
    Фаг.1
    Ј
    н
    0tf&2
    Фиг. 5
    Фиг. 6
    ФигЛ
    Фиг. W
SU894652905A 1989-02-20 1989-02-20 Устройство дл контрол хода программ SU1645960A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU894652905A SU1645960A1 (ru) 1989-02-20 1989-02-20 Устройство дл контрол хода программ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU894652905A SU1645960A1 (ru) 1989-02-20 1989-02-20 Устройство дл контрол хода программ

Publications (1)

Publication Number Publication Date
SU1645960A1 true SU1645960A1 (ru) 1991-04-30

Family

ID=21429821

Family Applications (1)

Application Number Title Priority Date Filing Date
SU894652905A SU1645960A1 (ru) 1989-02-20 1989-02-20 Устройство дл контрол хода программ

Country Status (1)

Country Link
SU (1) SU1645960A1 (ru)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Авторское свидетельство СССР 1236487, кл. G 06 F 11/28, 1986. Авторское свидетельство СССР № 1539785, кл. G 06 F 11/28, 1988. *

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
US4241420A (en) Disk data control
US4276595A (en) Microinstruction storage units employing partial address generators
US3931505A (en) Program controlled data processor
US4348721A (en) System for selectively addressing nested link return addresses in a microcontroller
US3992702A (en) Code conversion arrangements for addresses to faulty memory locations
US4047245A (en) Indirect memory addressing
SU1645960A1 (ru) Устройство дл контрол хода программ
US4339795A (en) Microcontroller for controlling byte transfers between two external interfaces
US4339796A (en) System for generating a plurality of different addresses for a working memory of a microcontroller during execution of certain instructions
US5155826A (en) Memory paging method and apparatus
SU615538A1 (ru) Устройство дл выбора информации из блока пам ти
US4339797A (en) Microcontroller with auxiliary register for duplicating storage of data in one memory location
JPH0830971B2 (ja) プログラマブルコントローラ
JPS59112350A (ja) プログラム監視制御方式
US3719815A (en) Memory coding technique
JP2812610B2 (ja) パイプライン制御方式
JPS59183434A (ja) 命令先取り制御方式
SU1091226A1 (ru) Оперативное запоминающее устройство
JPS5829056A (ja) 制御記憶装置
SU1539785A1 (ru) Устройство дл контрол хода программ
SU1439564A1 (ru) Генератор тестовых воздействий
SU970376A1 (ru) Устройство дл контрол магистралей в ЭВМ
JPS6231444A (ja) 擬似障害発生方式
JPS6321276B2 (ru)