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

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

Info

Publication number
SU1481775A1
SU1481775A1 SU874305638A SU4305638A SU1481775A1 SU 1481775 A1 SU1481775 A1 SU 1481775A1 SU 874305638 A SU874305638 A SU 874305638A SU 4305638 A SU4305638 A SU 4305638A SU 1481775 A1 SU1481775 A1 SU 1481775A1
Authority
SU
USSR - Soviet Union
Prior art keywords
program
group
input
inputs
command
Prior art date
Application number
SU874305638A
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 SU874305638A priority Critical patent/SU1481775A1/ru
Application granted granted Critical
Publication of SU1481775A1 publication Critical patent/SU1481775A1/ru

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

Изобретение относитс  к области вычислительной техники и позвол ет контролировать процесс выполнени  программ в микропроцессорных системах. Цель изобретени  - повышение достоверности контрол . Устройство, содержащее блок 1 посто нной пам ти, накапливающий сумматор 2, схему 3 сравнени , элемент И 4, мультиплексор 5, элемент ИЛИ 6, подключаетс  к шинам контролируемой системы. Изобретение обеспечивает глубокий оперативный контроль хода программы, причем за счет анализа процесса исполнени  команд оно обладает большей достоверностью. 2 ил.

Description

Js V
Ј
Т
1
/
/
3
00
1 ел
Фиг. 7
Изобретение относитс  к вычислительной технике и может быть использовано при построении надежных микропроцессорных систем, нечувствительных к сбо м программы ,
Цель изобретени  - повышение дос- товерности контрол  хода программ.
На фиг. 1 изображена структурна  схема устройства; на фиг. 2 - базовые структуры программировани  контролируемой системы .
Устройство дл  контрол  программ содержит блок 1 посто нной пам ти и накапливающий сумматор 2, схему 3 сравнени  и элемент И 4, мультиплексор 5 и элемент ИЛИ 6.
Устройство работает следующим образом.
Пусть необходимо контролировать ход программы некоторой микропроцессорной системы. Программа представл ет собой совокупность команд и хранитс  в пам ти команд . В качестве последней обычно выступа- ет посто нное запоминающее устройство. Кажда  команда занимает от одной до нескольких соседних  чеек пам ти и информационно характеризуетс  массивом слов (байтов)-.
Процесс воспроизведени  программы заключаетс  в последовательном (шаг за шагом ) извлечени  из пам ти команд слов программы , их декодировании и исполнении прин тых команд. При этом извлечение каждого очередного слова программы сопро- вождаетс  тем, что на шине адреса системы устанавливаетс  адрес указанного слова . Затем генерируетс  сигнал чтени  пам ти команд, по которому адресуемое слово поступает на шину данных системы и принимаетс  микропроцессором. После извлечени  всех слов, составл ющих текущую команду, и их декодировани  микропроцессор исполн ет прин тую команду.
В процессе исполнени  команды микропроцессор может обращатьс  к пам ти и портам ввода-вывода системы, реализу  предписанные командой операции приема или выдачи данных. При этом на шине адреса системы устанавливаетс  соответствующий адрес данных. Затем на шине управлени  генерируетс  сигнал, однозначно идентифицирующий выполн емую операцию. Такими сигналами  вл ютс  «Чтение или «Запись при обращении к пам ти и «Ввод и «Вывод при обращении к портам.
Дл  реализации своих функций предлагаемое устройство подключаетс  к микро- процессорной системе таким образом, что его адресный вход соедин етс  с шиной адреса системы, входы кода команды устройства соединены с шиной данных, входы текущего состо ни  программы устройства соединены с шиной управлени . Нарушение хода программы фиксируетс  путем генерации устройством на своем выходе сигнала ошибки.
5
5
0
0
Q
Q 5
5
0
5
Дл  обеспечени  контрол  в предлагаемом устройстве каждому адресу (каждой точке) программы ставитс  в соответствие некоторое контрольное число. Указанное число  вл етс  суммой (например, по модулю 256) всех сло  программы, извлекаемых из пам ти команд системы к моменту прохождени  программы через соответствующую точку, и всех кодов, по вл ющихс  на шине управлени  системы в процессе исполнени  команд, предшествовавших текущей. При этом контрольные числа вычисл ютс  заранее и еще до работы устройства размещаютс  в блоке 1 посто нной пам ти.
В процессе реализации программы на каждом ее шаге вычисл ютс  текущие суммы , которые в определенные моменты времени сравниваютс  с контрольными числами. В случае корректных вычислений текущие суммы всегда совпадают с контрольными числами и ошибка не фиксируетс . При нарушении же хода программы возникает несоответствие между текущими суммами и контрольными числами, что приводит- к по влению на выходе устройства сигнала ошибки.
Рассмотрим работу предлагаемого устройства в процессе реализации некоторой команды. На этапе выборки команды на адресный вход устройства и, следовательно, на вход блока 1 посто нной пам ти подаетс  адрес, по которому в микропроцессорной системе из пам ти команд извлекаетс  очередное слово программы. Это обеспечивает по вление на выходе блока 1 посто нной пам ти контрольного числа, соответствующего данной точке программы.
Пусть на рассматриваемый момент времени в накапливающем сумматоре 2 накопитель некотора  сумма, характеризующа  работу программы за предыдущее врем . Указанна  сумма и контрольное число с выхода блока 1 поступают на схему 3. Схема 3 сравнивает поступившие числа и в случае их равенства формирует на своем выходе нулевой логический уровень, свидетельствующий о корректности выполн емых вычислений. С выхода схемы 3 указанный сигнал поступает на вход элемента И 4.
Оценка корректности реализуемых программой вычислений осуществл етс  в момент по влени  сигнала чтени  пам ти команд. При корректных вычислени х элемент И 4 в момент по влени  этого сигнала закрыт нулевым уровнем с выхода схемы 3 и сигнал ошибки на выходе устройства не формируетс .
Одновременно с сигналом чтени  пам ти команд на информационный вход устройства подаетс  текущее слово программы. Код указанного слова через мультиплексор 5, управл емый тем же сигналом чтени  пам ти команд, передаетс  на вход накапливающего сумматора 2.
Во врем  действи  сигнала чтени  пам ти команд на шине управлени  системы устанавливаетс  также сигнал «Чтение . Указанный сигнал через вход управл ющих сигналов поступает в устройство и через элемент ИЛИ 6 подаетс  на вход синхронизации накапливающего сумматора 2. В момент окончани  сигнала «Чтение накапливающий сумматор 2 добавл ет к хран щемус  в кем числу поступившее слово и формируе на своем выходе сумму. При этом равенство ходов на входах схемы 3 нарушаетс  и она формирует единичный логический уровень. Однако в этот момент времени элемент И 4 закрыт кулевым уровнем сигнала чтени  пам ти команд и распространение ложного сигнала ошибки блокировано.
При последующем чтении микропроцессором слов программы, составл ющих текущую команду, устройство раоочтает уже описанным образом. После приема и декодировани  команды начинаетс  этап ее исполнени .
Во врем  исполнени  команды на входе опробировани  устройства устанавливаетс  нулевой потенциал (сигнал чтени  пам ти команд отсутствует). Это приводит к переключению мультиплексора 5 и подаче на вход накапливающего сумматора 2 параллельного кода с входа управл ющих сигналов устройства. В процессе обращени  микропроцессора к данным на указанном входе по вл етс  один из управл ющих сигналов «Чтение. «Запись, «Ввод или «Вывод. Это приводит к формированию па входе накапливающего сумматора 2 кода, в котором указанные сигналы представлены различными разр дами (различными весами ). Одновременно срабатывает элемент ИЛИ 6 и формирует сигнал синхронизации накапливающего сумматора 2. По заднему фронту указанного сигнала (задний фронт сБзде-ельствует об окончании операции обращени  к данным) накапливающий сумматор 2 добавл ет к ранее вычисленной сумме параллельный код управл ющих сигналов, который вследствие задержки, вносимой мультиплексором 5, еще сохран етс  на входе накапливающего сумматора 2. В результате этого значение суммы корректируетс , причем ее приращение однозначно определ етс  активным управл ющим сигналом, т. е. типом выполненного обращени  к данным.
Если в процессе исполнени  команды обращение к данным осуществл етс  несколько раз. то устройство соответствующее число раз повтор ет описанные действи  по корректировке текущей суммы. Таким образом, в результате исполнени  команды и выполнени  соответствующих шагов программы на выходе накапливающего сумма0
5
0
5
0
5
0
5
0
5
тора 2 формируетс  обновленное значение текущей суммы. Причем указанна  сумма отличаетс  от предыдущей на вполне определенную величину, завис щую от количества и типа совершенных обращений микропроцессора к данные. В частном случае , когда исполнение ьог.мкд.:,; не св зано с обращением микропроцессора к данным (операции осуществл ютс  внутри микропроцессора ) текуща  сумма остаетс  неизменной .
После исполнен тонущей команды микропроцессор переход:.1 к выборке следующей . В процессе приема первого слова новой команды 3 осуществл ет сравнение полученной в накапливающем сумматоре 2 суммы с контрольным числом . R результате эого анализируетс  правильность исполнени  только что завершенной команды. При этс.ч, сели нарушений хода программы не было (г. е. все опе- пации обращени  к данным выполнены так, как ожидалось), то теклща  сумма совпадает с контрольным числом. В момент поступлени  на вход стробировани  устройства сигнала чтени  пам ти команд элемент И 4 остаетс  закрытым нулевым уровнем с выхода схемы 3 анализа и сигнал ошибки на выходе устройства не по вл етс .
Нарушени  правильного хода программы про вл ютс  на этапах выборки и исполнени  команд. Причем па этапах выборки команд возможны нарушени  последовательности обращений микропроцессора к пам ти команд (к этому приводит, например, сбой программного счетчика микропроцессора или отказ линий шины адреса системы), а также прием ложного слова программы (отказ соответствующей  чейки пам ти команд или линий шины данных системы). В свою очередь, на этапах исполнени  команд возможны пропуски или реализации ложных обращений микропроцессора к данным, которые возникают в случае формировани  некорректных управл ющих сигналов (сбой микропроцессора или отказ линий шины управлени  системы).
Предлагаемое устройство обеспечивает вы вление подобных нарушений нормального хода программы. Действительно, при нарушении последовательности обращени  микропроцессора к пам ти команд на адресном входе устройства по вл етс  недостоверный адрес. При этом из блока 1 посто нной пам ти извлекаетс  контрольное число, не соответствующее текущей сумме накапливающего сумматора 2. При приеме микропроцессором ложного слова программы некорректна  информаци  по вл етс  на информационном входе устройства. Это приводит к вычислению накапливающим сумматором 2 текущей . не соответствующей контрольному чнсл Аналогична  ситуаци  складываетс  и в результате пропуска или реализации ложных обращений микропроцессора к данным. При этом, несоответствие текущей суммы контрольному числу возникает вследствие поступлени  некорректной информации на вход управл ющих сигналов устройства.
Во всех описанных случа х схема 3 фиксирует неравенство кодов и генерирует устойчивый уровень логической елиницы, который поступает на вход элемента 14. В момент чтени  микропроцессором пам ти команд элемент И4 открываетс , в результате чего на выходе устройства формируетс  сигнал ошибки. Полученный сигнал может быть использован в контролируемой системе дл  запуска, например, по прерыванию , программы устранени  ошибки. В процессе обработки прерывани  микропроцессор системы обеспечивает подачу на вход сброса устройства сигнала начальной установки . Указанный сигнал поступает в накапливающий сумматор 2 и производит обнуление (очистку) текущей суммы. После того, как сигнал начальной установки снимаетс , устройство вновь готово к работе. При этом запускаема  программа в первой своей точке должна иметь нулевое контрольное число. Аналогичным образом происходит очистка накапливающего сумматора 2 и в процессе начального запуска (сброса контролируемой системы.
Таким образом, устройство позвол ет контролировать ход программы в микропроцессорной системе с момента начального ее запуска, а также после устранени  ошибок. Однако использование предлагаемого устройства налагает некоторые ограничени  на программирование микропроцессорной системы. Без учета этих ограничений в предложенном устройстве обеспечиваетс  контроль лишь линейных участков программы. Линейный участок программы при широко распространенном в насто щее врем  структурном подходе к программированию называетс  базовой структурой «Следование . Однако этой структуры недостаточно , чтобы представить даже самые простые практические программы. Теори  показывает , что логическа  структура любой сколь угодно сложной программы, может быть выражена комбинацией трех базовых структур: к уже упом нутой структуре «Следование добавл ютс  структуры «Развилка и «Цикл (фиг. 2). При этом последн   может иметь две разновидности. Внутри базовых структур «Развилка и «Цикл осуществл етс  ветвление вычислительного процесса с последующим объединением ветвей. Объединение ветвей программы осуществл ет обращение по одному и тому же адресу после прохода ветвей программы. Суммы кодов команд, наход щихс  в различных ветв х, в общем
случае не совпадают. В результате этого при объединении ветвей программы без прин ти  дополнительных мер предложенное устройство зафиксирует ошибку программы,
хот  таковой и нет. Дл  исключени  этого  вл ени  необходимо искусственно выравнивать текущие суммы программы перед каждым объединением ветвей. Это легко обеспечиваетс  путем размещени  перед каждой точкой объединени  ветвей дополнительных команд (уравнивающих блоков), не имеющих функционального значени  с точки зрени  процесса решени  задачи, реализуемой микропроцессорной системой. Уравнивающие блоки изображены на фиг. 2 заштрихованными пр моугольниками, причем их различна  штриховка подчеркивает различное значение уравнивающих чисел в различных ветв х программы
В простейшем случае уравнивание текущих сумм осуществл тьс  до нулево® го значени . При этом вход в каждую точку сли ни  ветвей прогораммы происходит с нулевым значением текущей, суммы, т. е. нулевым состо нием накапливающего сумматора 2. Наиболее просто обнуление
5 текущих сумм может быть реализовано путем подачи на вход сброса устройства соответствующего сигнала в момент исполнени  программой уравнивающего блока. При подключении устройства к системе, построенной на базе микропроцессора КР 580
0 такое «директивное уравнивание реализуетс  программным блоком, состо щим из двух команд «Запрещение прерывани  и «Разрешение прерывани . В процессе исполнени  этих команд на выходе INTE микропроцессора по вл етс  импульс, кото5 рый поступает на вход сброса устройства и осуществл ет обнуление текущей суммы. Использование «директивного уравнени  снижает достоверность контрол  предлагаемого устройства. Это св зано с тем, что часть ложных переходов программы не обнаружена, поскольку в результате такого уравнивани  возникающие после сбо  некорректные текущие суммы могут принимать нулевые (корректные) значени  еще до момента фиксации ошибки на вы5 ходе устройства.
Дл  устранени  указанного недостатка необходимо примен ть естественное уравнивание путем суммировани  кодов команд уравнивающих блоков (вход сброса устройства не возбуждаетс ). В качестве кон0 трольных сумм точек сли ни  ветвей программы в этом случае рационально принимать не нулевые, а такие суммы, которые получаютс  при естественном прохождении программой одной из сход щихс  ветвей. Это дает возможность исключить из соот5 ветствующих ветвей уравнивающие блоки. В частности, из базовых структур (фиг. 2) исключаютс  блоки, заштрихованные крест- накрест.
0
Оставшиес  уравнивающие блоки (коса  штриховка на фиг. 2) удобно реализовать на основе команд с непосредственной адресацией . В частности, в случае использовани  микропроцессора КР 580 каждый уравнивающий блок может быть реализован одной единственной командой типа «Сравнение содержимого аккумул тора с некоторым числом. Учитыва , что суммирование кодов команд осуществл етс  по модулю, во втором байте такой команды можно всегда разместить число, дополн ющее текущую сумму до заданного значени . Определение же величины уравнивающего числа может осуществл тьс  либо программистом в процессе разработки программы,1 либо автоматически с помощью соответствующего трансл тора в процессе формировани  объектного кода программы.

Claims (1)

  1. Формула изобретени 
    Устройство дл  контрол  хода программ, содержащее блок посто нной пам ти, накапливающий сумматор, схему сравнени  и элемент И, причем группа адресных входов устройства соединена с группой адресных входов блока посто нной пам ти, группа
    Раз&илка
    /
    0
    выходов которого соединена с первой группой входов схемы сравнени , вход начальной установки устройства соединен с входом сброса накапливающего сумматора, группа выходов которого соединена с второй группой входов схемы сравнени , выход схемы сравнени  соединен с первым входом элемента И, вход признака чтени  устройства соединен с вторым входом элемента И, выход которого  вл етс  выходом ошибки хода программы устройства, отличающеес  тем, что, с целью повышени  достоверности контрол  хода программы, в устройство введены мультиплексор и элемент ИЛИ, причем группа входов кода
    5 команды устройства соединена с первой группой информационных входов мультиплексора , группа выходов которого соединена с группой информационных входов накапливающего сумматора, группа входов текущего состо ни  программы устройства
    0 соединена с второй группой информационных входов мультиплексора и с группой входов элемента ИЛИ, выход которого соединен с тактовым входом накапливающего сумматора, вход признака чтени  устройства соединен с управл ющим входом мультиплексора .
    5
    Цикл
SU874305638A 1987-06-16 1987-06-16 Устройство дл контрол хода программ SU1481775A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU874305638A SU1481775A1 (ru) 1987-06-16 1987-06-16 Устройство дл контрол хода программ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU874305638A SU1481775A1 (ru) 1987-06-16 1987-06-16 Устройство дл контрол хода программ

Publications (1)

Publication Number Publication Date
SU1481775A1 true SU1481775A1 (ru) 1989-05-23

Family

ID=21327611

Family Applications (1)

Application Number Title Priority Date Filing Date
SU874305638A SU1481775A1 (ru) 1987-06-16 1987-06-16 Устройство дл контрол хода программ

Country Status (1)

Country Link
SU (1) SU1481775A1 (ru)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Патент GB № 2035633, кл. G 06 F 11/30, 1982. Авторское свидетельство СССР № 1191912. кл. G 06 F 11/28, 1984. *

Similar Documents

Publication Publication Date Title
US4996687A (en) Fault recovery mechanism, transparent to digital system function
US3518413A (en) Apparatus for checking the sequencing of a data processing system
US3984814A (en) Retry method and apparatus for use in a magnetic recording and reproducing system
US4683532A (en) Real-time software monitor and write protect controller
US3539996A (en) Data processing machine function indicator
US3510847A (en) Address manipulation circuitry for a digital computer
US3745316A (en) Computer checking system
JPH0833842B2 (ja) 論理演算装置
SU1481775A1 (ru) Устройство дл контрол хода программ
US3283307A (en) Detection of erroneous data processing transfers
JPH0320776B2 (ru)
US5210758A (en) Means and method for detecting and correcting microinstruction errors
RU2189623C2 (ru) Система для программного управления технологическим оборудованием
KR920006743B1 (ko) 컴퓨터 시스템의 또는 그에 관한 개량
JPS62293441A (ja) デ−タ出力方式
JPS60142747A (ja) 命令再実行制御方式
SU1693610A2 (ru) Устройство дл контрол микропроцессора
JPS59183434A (ja) 命令先取り制御方式
SU1545223A1 (ru) Устройство дл контрол хода программ
SU1649551A1 (ru) Устройство дл контрол хода программ
SU1617442A1 (ru) Устройство дл контрол хода программ
SU1267415A1 (ru) Микропрограммное устройство управлени
SU1005060A2 (ru) Устройство дл контрол информационного тракта "запоминающее устройство команд-процессор
SU1645960A1 (ru) Устройство дл контрол хода программ
SU809404A1 (ru) Устройство дл контрол блоковпОСТО ННОй пАМ Ти