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

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

Info

Publication number
SU1649551A1
SU1649551A1 SU884429772A SU4429772A SU1649551A1 SU 1649551 A1 SU1649551 A1 SU 1649551A1 SU 884429772 A SU884429772 A SU 884429772A SU 4429772 A SU4429772 A SU 4429772A SU 1649551 A1 SU1649551 A1 SU 1649551A1
Authority
SU
USSR - Soviet Union
Prior art keywords
input
program
output
block
adder
Prior art date
Application number
SU884429772A
Other languages
English (en)
Inventor
Николай Алексеевич Шубин
Original Assignee
Рыбинский Авиационный Технологический Институт
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 Рыбинский Авиационный Технологический Институт filed Critical Рыбинский Авиационный Технологический Институт
Priority to SU884429772A priority Critical patent/SU1649551A1/ru
Application granted granted Critical
Publication of SU1649551A1 publication Critical patent/SU1649551A1/ru

Links

Landscapes

  • Detection And Correction Of Errors (AREA)

Abstract

Изобретение относитс  к вычислительной технике и может быть использовано при построении надежных микропроцессорных систем. Цель изобретени  - повышение достоверности контрол . Устройство позвол ет осуществить глубокий контроль хода программы сложной структуры за счет применени  механизма коррекции и за счет снижени  частоты повтор емости значений текуших сумм (контрольных чис ел) . 1 ил.

Description

Изобретение относител к вычислительной технике и может .быть испопь- зовано при построении нацежлых микропроцессорных систем,.нечувствительных к сбо м программы.
Цель изобретени  - повышение достоверности контрол .
На чертеже изображена структурна  схема устройства.
Устройство дл  контрол  хода программ содержит первый блок 1 посто нной пам ти, накапливающий сумматор 2. схему 3 сравнени , элемент И 4, дешифратор 5, комбинационный сумматор 6 и второй блок 7 посто нной пам ти.
Устройство работает следующим образом .
Пусть необходимо контролировать ход программы некоторой микропроцессорной системы, Программа представл ет собой совокупность команд и хранитс  в пам ти команд. В качестве
последней обычно используетс  посто нное запоминающее устройство. Кажда  команда занимает от одной до нескольких соседних  чеек пам ти и информационно характеризуетс  массивом слов (байтов).
Процесс воспроизведени  программы заключаетс  в последовательном (шаг за шагом) извлечении из пам ти команд слов программы, их декодировании и реализации- предписанных операций . При этом на каждом шаге программы извлечение очередного слова сопровождаетс  тем, что на шине адреса системы устанавливаетс  адрес указанного слова. Затем генерируетс  сигнал чтени , по которому адресуемое слово поступает на шину данных системы и принимаетс  микропроцессором на декодирование.
Дл  реализации своих функций устройство подключаетс  к микропроцессорной системе таким образом, что его
адресный вход соедин етс  с шиной адреса системы, информационный вход - с шиной данных, а на управл ющий вход устройства подаетс  сигнал чтени , Нарушение хода программы фиксируетс  путем генерации устройством на своем выходе сигнала ошибки.
Дл  обеспечени  контрол  в предлагаемом устройстве каждому адресу (каждой точке) программы ставитс  в соответствие некоторое контрольное число. Указанное число фактически  вл етс  суммой (например, по модулю 256) всех слов программы, которые в, процессе корректных вычислений извле- каютс  из пам ти команд системы к моменту прохождени  программы через
гг
соответствующую точку. При этом контрольные числа вычисл ютс  заранее и еще до начала работы устройства размещаютс  в первом блоке 1 посто нной пам  ти.
В процессе реализации программы накапливающий сумматор 2 осуществл - ет суммирование всех извлекаемых микропроцессором.слов программы. Б результате этого в каждой точке программы вычисл ютс  текущие суммы, которые сравниваютс  с контрольны- ми числами. Дл  обеспечени  корректности операций сравнени  необходимо , чтобы текущие суммы каждой точки программы не зависели от того, по какой траектории воспроизводилась программа к моменту прохождени  через указанную точку. Это достигаетс  тем, что в отдельных точках программы , наход щихс  в различных ее ветв х и, следовательно, принадлежа- щих различным траектори м, в устройстве осуществл етс  необходима  коррекци  текущих сумм, Корректирующие коды так же, как и контрольные числа вычисл ютс  заранее и размещаютс  во втором блоке 7 посто нной пам ти,
Таким образом, при правильном исполнении программы текущие суммы (с учетом коррекции) всегда совпадают с контрольными числами и ошибка не фиксируетс . При нарушении хода программы возникает несоответствие между текущими суммами и контрольными числами. Это приводит к по влению на выходе устройства сигнала ошибки,
Рассмотрим работу предлагаемого устройства на некотором шаге программы . В процессе реализации указанного шага на адресный вход устройства и, следовательно, на вход первого блока 1 посто нной пам ти подаетс  адрес, по которому в микропроцессорной системе из пам ти команд извлекаетс  очередное слово программы. Это обеспечивает по вление на выходе первого блока 1 посто нной пам ти контрольного числа, соответствующего данной точке программы .
Пусть на рассматриваемый момент времени в накапливающем сумматоре 2 накопилась некотора  сумма, характеризующа  работу программы за предыдущее врем . Указанна  сумма и контрольное число с выхода первого блока 1 посто нной пам ти поступают на схему 3. Схема 3 сравнивает поступившие числа и в случае их равенства формирует на своем выходе нулевой логический уровень, свидетельствующий о корректности выполн емых вычислений . С выхода схемы 3 указанный i сигнал поступает на вход элемента И 4.
Оценка корректности реализуемых программой вычислений осуществл етс  в процессе обращени  микропроцессора , к пам ти команд. Факт такого обращени  устанавливаетс  путем декодировани  дешифратором 5 адресной информации системы. При этом на вход стробировани  дешифратора 5 подаетс  сигнал чтени , генерируемый.микропроцессором . Если на шине адреса системы установлен адрес пам ти команд , то указанный сигнал вызывает срабатывание дешифратора 5. Сигнал с выхода дешифратора 5 стробирует элемент И 4, в результате чего на выход устройства передаетс  информаци  с выхода схемы 3, При корректных вычислени х схема 3 фиксирует совпадение текущей суммы с контрольным числом и сигнал ошибки на выходе устройства не формируетс .
В процессе обращени  микропроцессора к пам ти команд на информационный вход устройства подаетс  текущее слово программы, Код указанного слова поступает на вход первого операнда комбинационного сумматора 6, На вход второго операнда комбинационного сумматора 6 поступает код с выхода второго блока 7 посто нной пам ти. В обычных услови х, когда коррекци  текущей суммы не требуетс , указанный код  вл етс  нулевым.
51
В результате сложени  нулевого кода со словом программы последнее без изменений передаетс  на выход комбинационного сумматора 6, откуда поступает на вход накапливающего сумматора 2.
После приема микропроцессором текущего слова программы с управл ющего входа устройства снимаетс  сиг- нал чтени . Это вызывает переключение дешифратора 5 в исходное состо ние и сн тие сигнала стробирова- ни  элемента И 4. По заднему фронт-у указанного сигнала накапливающий сум матор 2 добавл ет к хран щемус  в нем числу код с выхода комбинационного сумматора 6 (слово программы) и формирует на своем выходе новую сумму. При этом равенство кодов на входах схемы 3 нарушаетс  и она формирует единичный логический уровень. Однако в этот момент времени элемент И 4 закрыт нулевым уровнем сигнала стробировани  и распространение лож- ного сигнала ошибки блокировано.
На следующем шаге программы устройство выполн ет аналогичные действи  и т.д. В результате при правильной реализации программы на вы- ходе устройства никогда не по вл етс  сигнал ошибки,
Нарушение нормального хоца программы может быть вызвано, например, сбоем счетчика команд в микропроцес- соре или отказом адресных линий в шине адреса. Это приводит к искажению информации на шине адреса и наруше- - нию последовательности выбора слов программы (ложный переход). Кроме того, возможны отказы  чеек пам ти команд и отказы линии св зи в шине данных. Это приводит к чтению некорректных слов программы из пам ти команд системы (ложный код команды). Предлагаемое устройство обеспечивает вы вление подобных нарушений нормального хода программы с высокой степенью достоверности.
Действительно, при искажении ин- формации на адресной шине микропроцессорной системы (ложный переход) и бпока 1 посто нной пам ти будет извлечено контрольное число, не соответствующее верному состо нию накап- ливающего сумматора 2. При искажении информации на шине данных микропроцессорной системы (ложный код команды ) состо ние накапливающего сумматоМ6
pa 2 не будет соответствовать верному контрольному числу на выходе блока 1 посто нной пам ти. В обоих случа х схема 3 зафиксирует неравенство чисел на входах путем установки на своем выходе единичного логического уровн . В результате в процессе обращени  микропроцессора к пам ти команд и по влени  сигнала стробнрова- ни  на выходе дешифратора 5 открываетс  элемент И 4 и на выходе устройства формируетс  сигнал ошибки, который свидетельствует о нарушении нормального хода программы.
Однако таким образом устройство функционирует только при воспроизведении линейных участков программ, не содержащих точек сли ни  ветвей, В этом случае каждому слову-из пам ти команд микропроцессорной систем может быть поставлено в соответствие только одно контрольное число. Указанное обсто тельство и дает возможность вычислить и разместить заранее в первом блоке 1 посто нной пам ти устройства массив контрольных чисел, а затем использовать их.
Однако реальные программы, как правило, имеют более сложные структуры и содержат точки сли ни  ветвей . В указанных точках значени  текущих сумм завис т от того, по какой траектории была реализована программа , В общем случае такие суммы, полученные при прохождении различных траекторий, не совпадают. Это приводит к тому, что каждой точке сли ни  должно быть поставлено в соответствие несколько контрольных чисел Эти числа должны выбиратьс  в конце реализации соответствующих ветвей и размещатьс  по одному адресу первого блока 1 посто нной пам ти, что невозможно .
Устранение указанного противоречи  в предлагаемом устройстве обеспечиваетс  за счет использовани  корректирующих кодов, генерируемых вторым блоком 7 посто нной пам ти, При этом в различных ветв х контролируемой программы выдел ютс  специальные точки, например такие, через которые программа проходит непосредственно перед сли нием ветвей, Каждой специальной точке, помимо контрольного числа, ставитс  в соответствие некоторый ненулевой код, уравнивающий между собой текущие
суммы, получаемые в процессе реализации различных сход щихс  ветвей программы. Во втором блоке 7 посто нной пам ти указанные коды размещены по соответствующим адресам (по адресам специальных точек). Остальным точкам программы при этом став тс  в соответствие нулевые коды.
В процессе реализации программы на вход второго блока 7 посто нной пам ти через адресный вход устройства поступают адреса текущих точек. При этом при прохождении программы через обычные точки на выходе вто- рого блока 7 посто нной пам ти навливаютс  нулевые коды п устройство работает обычным образом, т.е. аналогично описанному. При возбуждении специальной точки на выходе второго блока 7 посто нной пам ти устанавливаетс  корректирующий код. Указанный код посредством комбинационного сумматора 6 и накапливающего сумматора 2 складываетс  с теку- щим словом программы и со старой суммой . В результате на выходе накапливающегос  сумматора 2 формируетс  нова  сумма. При этом, поскольку сложение реализуетс  по модулю, то путем подбора корректирующего кода всегда можно получить нужное значе- ние суммы. Это дает возможность заранее установить и разместить во втором блоке 7 посто нной пам ти такие корректирующие коды, при которых значени  текущих сумм в точках сли ни  ветвей и, следовательно, во всех других точках программы не завис т от реализуемых программой траекторий При этом контрольные числа первого блока 1 посто нной пам ти подбираютс  соответствующим образом, т.е. с учетом коррекции текущих сумм. Аналогичным образом устройство функцио- нирует и в процессе реализации программ , содержащих подпрограммы. При этом уравнивающие коды выбираютс  и расставл ютс  с таким расчетом, чтобы обеспечить соблюдение следующих условий. Во-первых, в точках вызова каждой подпрограммы контрольные суммы (и, соответственно, контрольные числа в первом блоке 1 посто нной пам ти ) должны быть посто нными, напри мер нулевыми. Это дает возможность ; поставить в соответствие первой точке каждой подпрограммы фиксированное контрольное число, не завис щее от,
предыстории корректного хода программы , путем размещени  в точке вызова подпрограммы соответствующего уравнивающего кода во втором блоке посто нной пам ти 7. Во-вторых, в самих подпрограммах уравнивающие коды располагаютс  таким образом, чтобы контрольные суммы подпрограмм не зависели от траекторий их реализации (уравнивающие коды размещаютс  перед точками сли ни  ветвей) и имели фиксированные , например нулевые, значени . Это дает возможность заранее вычислить контрольные числа дл  точе возврата из подпрограмм.
Описанный механизм коррекции в предлагаемом устройстве используетс  также дл  снижени  частоты повтор емости значений текущих сумм (контрольных чисел) различных точек программы , что позвол ет еще больше повысить достоверность реализуемого контрол ,
Дл  снижени  частоты повтор емости значений текущих сумм в предлагаемом устройстве достаточно перед активацией соответствующих точек программы выполнить коррекцию текущих сумм. С этой целью по адресам предшествующих точек программы во втором блоке 7 посто нной пам ти размещаютс  необходимые корректирующие коды. При достаточной разр дности накапливающего сумматора 2 это позвол ет практически дл  всех точек программы установить уникальные значени  текущих сумм (контрольных чисел) и исключить реализацию в системе необнаруживаемых ложных переходов программы .
Таким образом, в устройстве реализована возможность коррекции теку- щих сумм. При этом значени  контрольных чисел и корректирующих кодов могут быть вычислены программистом в процессе разработки программы или получены автоматически с помощью трансл тора.
В случае обнаружени  ошибки в ходе программы на выходе предлагаемого устройства генерируетс  сигнал ошибки . Данный сигнал может быть использован в контролируемой системе дл  запуска, например„ по прерыванию программы устранени  ошибок. В процессе обработки прерывани  микропроцессор системы обеспечивает подачу на вход сброса устройства сигнала
начальной установки. Указанный сигнал поступает на вход сброса накапливающего сумматора 2 и производит обнуление (очистку) текущей суммы. После того, как сигнал начальной установки снимаетс , устройство вновь готово к работе. При этом запускае- 1 ма  программа в первой своей точке должна иметь нулевую текущую сумму, Аналогичным образом происходит обнуление текущей суммы и в процессе начального запуска (сброса) контролируемой системы.

Claims (1)

  1. Формула изобретени  Устройство дл  контрол  хода про-, грамм, содержащее первый блок посто нной пам ти, дешифратор, схему сравнени , элемент И и накапливающий сум- матор, причем выход дешифратора соединен с входом синхронизации накапливающего сумматора и первым входом элемента И, выход которого  вл етс  выходом ошибки устройства, адресный вход устройства соединен с адресным
    5
    Q 5
    входом первого блока пам ти и информационным входом дешифратора, тактовый вход устройства соединен с входом синхронизации дешифратора, вход начальной установки устройства соединен с входом сброса накапливающего сумматора, выход которого соединен с первым входом схемы сравнени , выход неравенства которой соединен с вторым входом элемента И, выход первого блока пам ти соединен с вторым входом схемы сравнени , отличающеес  тем, что, с целью повышени  достоверности контрол , в устройстве введены комбинационный сумматор и второй блок пам ти, причем адресный вход устройства соединен с адресным входом- второго блока пам ти, выход которого соединен с входом первого операнда комбинационного сумматора, выход которого соединен с входом накапливающего сумматора, вход кода текущего слова программы устройства соединен с входом второго операнда комбинационного сумматора.
SU884429772A 1988-05-23 1988-05-23 Устройство дл контрол хода программ SU1649551A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU884429772A SU1649551A1 (ru) 1988-05-23 1988-05-23 Устройство дл контрол хода программ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU884429772A SU1649551A1 (ru) 1988-05-23 1988-05-23 Устройство дл контрол хода программ

Publications (1)

Publication Number Publication Date
SU1649551A1 true SU1649551A1 (ru) 1991-05-15

Family

ID=21376863

Family Applications (1)

Application Number Title Priority Date Filing Date
SU884429772A SU1649551A1 (ru) 1988-05-23 1988-05-23 Устройство дл контрол хода программ

Country Status (1)

Country Link
SU (1) SU1649551A1 (ru)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Авторское свидетельство СССР № 1191904, кл. G 06 F 11/28, 1983. Авторское свидетельство СССР № I300479, кл. G 06 F П//8. , *

Similar Documents

Publication Publication Date Title
US7340574B2 (en) Method and apparatus for synchronizing an industrial controller with a redundant controller
US4313200A (en) Logic test system permitting test pattern changes without dummy cycles
US3518413A (en) Apparatus for checking the sequencing of a data processing system
US4683532A (en) Real-time software monitor and write protect controller
CA1081853A (en) Control store checking system and method
GB1274830A (en) Data processing system
US5155829A (en) Memory system and method for protecting the contents of a ROM type memory
EP0048825A2 (en) Microprocessor controlled machine
US3911261A (en) Parity prediction and checking network
US4866713A (en) Operational function checking method and device for microprocessors
US4462072A (en) Clock system having a stall capability to enable processing of errors
JPS641815B2 (ru)
US4410984A (en) Diagnostic testing of the data path in a microprogrammed data processor
US3533078A (en) Keyboard entry control apparatus
SU1649551A1 (ru) Устройство дл контрол хода программ
US5440604A (en) Counter malfunction detection using prior, current and predicted parity
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
US4410988A (en) Out of cycle error correction apparatus
US5210758A (en) Means and method for detecting and correcting microinstruction errors
CA1149068A (en) Tri-state bussing system
JPS6146864B2 (ru)
EP0383260B1 (en) Elastic buffer circuit
SU1645960A1 (ru) Устройство дл контрол хода программ
JPS6049937B2 (ja) マイクロプログラム制御のデ−タ処理装置
RU2029986C1 (ru) Устройство для контроля