RU2461051C2 - Способ обнаружения случайных "блужданий" в микроэвм - Google Patents

Способ обнаружения случайных "блужданий" в микроэвм Download PDF

Info

Publication number
RU2461051C2
RU2461051C2 RU2010131651/08A RU2010131651A RU2461051C2 RU 2461051 C2 RU2461051 C2 RU 2461051C2 RU 2010131651/08 A RU2010131651/08 A RU 2010131651/08A RU 2010131651 A RU2010131651 A RU 2010131651A RU 2461051 C2 RU2461051 C2 RU 2461051C2
Authority
RU
Russia
Prior art keywords
codes
random
machine
processor
microcomputer
Prior art date
Application number
RU2010131651/08A
Other languages
English (en)
Other versions
RU2010131651A (ru
Inventor
Сергей Владимирович Тюрин (RU)
Сергей Владимирович Тюрин
Максим Владимирович Рожков (RU)
Максим Владимирович Рожков
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 RU2010131651/08A priority Critical patent/RU2461051C2/ru
Publication of RU2010131651A publication Critical patent/RU2010131651A/ru
Application granted granted Critical
Publication of RU2461051C2 publication Critical patent/RU2461051C2/ru

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

Изобретение относится к цифровой вычислительной технике. Техническим результатом является повышение эффективности обнаружения случайных срывов процессора с заданной программы функционирования. Способ обнаружения случайных «блужданий» в микроЭВМ заключается в том, что программу работы процессора в виде блока из его машинных кодов размещают с каких-либо адресов постоянного запоминающего устройства, в котором затем последовательно располагают блоки, содержащие машинные коды данных, необходимые для исполнения программы, и непрерывный блок-ловушку случайных «блужданий» процессора, в ячейки которого для обнаружения случайных «блужданий» и целенаправленной реакции на них записывают самые короткие машинные коды одних и тех же команд, отличающийся тем, что непрерывный блок-ловушку делят на множество локальных блоков-ловушек, которые равномерно размещают внутри блоков машинных кодов программ и кодов данных, при этом размер каждого локального блока-ловушки выбирают в полтора-два раза большим, чем размер машинного кода самой длинной команды микроЭВМ. 1 ил.

Description

Изобретение относится к цифровой вычислительной технике и предназначено для решения задачи обнаружения случайных срывов процессора с заданной программы функционирования, что может быть вызвано действием случайных помех.
Наиболее близким по технической сути является способ обнаружения случайных «блужданий» в микроЭВМ, представленный в [Европейский патент EP 0.359.849 A1, МКИ G11F 11/00], [Шевкопляс Б.В. Микропроцессорные структуры. Инженерные решения: Справочник. М.: Радио и связь, 1993. - 256 с., стр.89].
Данный способ обнаружения случайных «блужданий» в микроЭВМ заключается в том, что программу работы процессора в виде блока из его машинных кодов размещают с каких-либо адресов постоянного запоминающего устройства, в котором затем последовательно располагают блоки, содержащие машинные коды данных, необходимые для исполнения программы, и непрерывный блок-ловушку случайных «блужданий» процессора, в ячейки которого для обнаружения случайных «блужданий» и целенаправленной реакции на них записывают самые короткие машинные коды одних и тех же команд.
Случайные «блуждания» процессора возникают тогда, когда он срывается с заданной программы функционирования, интерпретируя машинные коды данных как коды команд, а коды команд - как операнды или как коды их адресов. Полагается, что при таком блуждании с некоторой вероятностью процессор извлечет данные из непрерывного блока-ловушки и интерпретирует их как код команды. Предлагается заполнять непрерывный блок-ловушку массивами самых коротких машинных кодов одних и тех же команд, например «Сброс» или «Безусловный переход к команде с адресом А», что позволит обнаружить факт наличия случайного блуждания процессора и автоматически вернуть его к началу рабочей программы или некоторой заданной точке А программы.
При правильном функционировании процессора его обращение к непрерывному блоку-ловушке исключается, что обеспечивается в процессе разработки программы работы микроЭВМ.
При случайном срыве процессора с заданной программы функционирования не возможно предсказать точку его входа в постоянное запоминающее устройство. Можно лишь предположить, что такой точкой входа с равной вероятностью может быть любая ячейка постоянного запоминающего устройства. Тогда эффективность данного способа обнаружения случайных «блужданий» процессора микроЭВМ можно оценить величиной Н, определяемой как
Figure 00000001
,
где L - количество ячеек непрерывного блока-ловушки;
N - общее количество ячеек постоянного запоминающего устройства.
Очевидно, что
L≤N,
и величина Н изменяется в диапазоне от 0 до 1, причем ее равенство 0 соответствует тому случаю, когда в постоянном запоминающем устройстве размещены только блок из машинных кодов программы работы процессора и блоки кодов данных.
Известно, что в составе команд любой микроЭВМ содержатся команды условных и безусловных переходов, а так же команды организации циклических процессов. Это приводит к тому, что при возникновении срыва процессора с заданной программы функционирования траектория его случайного «блуждания» может длительное время находиться в блоке кодов рабочей программы или в блоках кодов данных. Такие ситуации либо принципиально не могут быть определены данным способом обнаружения случайных «блужданий», либо будут обнаружены через значительные промежутки времени, в течение которых может быть выполнена последовательность команд с непредсказуемыми последствиями.
Недостатком данного способа обнаружения случайных «блужданий» в микроЭВМ является ограниченная оперативность обнаружения факта случайных «блужданий».
Изобретение направлено на расширение функциональных возможностей способа обнаружения случайных «блужданий» за счет повышения оперативности обнаружения факта случайных «блужданий» и адекватной реакции на них.
Это достигается тем, что непрерывный блок-ловушку делят на множество локальных блоков-ловушек, которые равномерно размещают внутри блоков машинных кодов программ и кодов данных, при этом размер каждого локального блока-ловушки выбирают в полтора-два раза большим, чем размер машинного кода самой длинной команды микроЭВМ.
На фиг. представлена предлагаемая схема размещения в постоянном запоминающем устройстве локальных блоков-ловушек в блоках рабочей программы и блоках данных.
Заявляемый способ осуществляется следующим образом. Без разрушения целостности программы работы процессора и данных, необходимых для исполнения программы, в блоки постоянного запоминающего устройства, содержащие их, дополнительно и равномерно размещают локальные блоки-ловушки, размер (R) и количество (К) которых определяют из следующих соотношений:
R=(1,5…2)*c,
K=S/R,
где с - размер самой длинной команды процессора,
S - общий размер свободных областей постоянного запоминающего устройства, используемых как блоки-ловушки.
При одинаковых общих размерах S и L блоков-ловушек способ-прототип и заявляемый способ эквивалентны в смысле соотношения (1). Однако широко известно, что общее количество команд переходов и организации циклических процессов в типовой микроЭВМ значительно меньше, чем количество команд, реализующих линейную последовательность их выполнения. Отсюда логично следует, что при более частом и равномерном распределении локальных блоков-ловушек случайных «блужданий» процессора по всему постоянному запоминающему устройству время обнаружения «блужданий» и, следовательно, время адекватной реакции на них будет уменьшаться. При этом объем локальных «ловушек» должен быть не менее чем в полтора-два раза больше, чем размер машинного кода самой длинной команды микроЭВМ. Выполнение данного условия позволяет обнаружить блуждание процессора даже в том случае, если часть кодов из локальных «ловушек» будет интерпретирована процессором как операнды самой длинной предшествующей команды микроЭВМ.
Техническим результатом от использования заявляемого изобретения является расширение функциональных возможностей способа обнаружения случайных «блужданий» в микроЭВМ и повышение оперативности обнаружения случайных «блужданий», вызванных воздействием случайных помех.

Claims (1)

  1. Способ обнаружения случайных «блужданий» в микроЭВМ, заключающийся в том, что программу работы процессора в виде блока из его машинных кодов размещают с каких-либо адресов постоянного запоминающего устройства, в котором затем последовательно располагают блоки, содержащие машинные коды данных, необходимые для исполнения программы, и непрерывный блок-ловушку случайных «блужданий» процессора, в ячейки которого для обнаружения случайных «блужданий» и целенаправленной реакции на них записывают самые короткие машинные коды одних и тех же команд, отличающийся тем, что непрерывный блок-ловушку делят на множество локальных блоков-ловушек, которые равномерно размещают внутри блоков машинных кодов программ и кодов данных, при этом размер каждого локального блока-ловушки выбирают в полтора-два раза большим, чем размер машинного кода самой длинной команды микроЭВМ.
RU2010131651/08A 2010-07-27 2010-07-27 Способ обнаружения случайных "блужданий" в микроэвм RU2461051C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2010131651/08A RU2461051C2 (ru) 2010-07-27 2010-07-27 Способ обнаружения случайных "блужданий" в микроэвм

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2010131651/08A RU2461051C2 (ru) 2010-07-27 2010-07-27 Способ обнаружения случайных "блужданий" в микроэвм

Publications (2)

Publication Number Publication Date
RU2010131651A RU2010131651A (ru) 2012-02-10
RU2461051C2 true RU2461051C2 (ru) 2012-09-10

Family

ID=45853052

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010131651/08A RU2461051C2 (ru) 2010-07-27 2010-07-27 Способ обнаружения случайных "блужданий" в микроэвм

Country Status (1)

Country Link
RU (1) RU2461051C2 (ru)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2530325C2 (ru) * 2012-04-19 2014-10-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Воронежский государственный технический университет" Способ повышения надежности микроэвм

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU94028467A (ru) * 1994-07-27 1996-05-20 Серпуховское высшее военное командно-инжереное училище ракетных войск им. Ленинского комсомола Способ проверки правильности выполнения переходов в программе и устройство на его основе
RU2129300C1 (ru) * 1993-09-25 1999-04-20 Роберт Бош Гмбх Микроэвм
US20050022073A1 (en) * 2003-05-26 2005-01-27 Kabushiki Kaisha Toshiba Microcomputer system
US20090055635A1 (en) * 2007-08-24 2009-02-26 Matsushita Electric Industrial Co., Ltd. Program execution control device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2129300C1 (ru) * 1993-09-25 1999-04-20 Роберт Бош Гмбх Микроэвм
RU94028467A (ru) * 1994-07-27 1996-05-20 Серпуховское высшее военное командно-инжереное училище ракетных войск им. Ленинского комсомола Способ проверки правильности выполнения переходов в программе и устройство на его основе
US20050022073A1 (en) * 2003-05-26 2005-01-27 Kabushiki Kaisha Toshiba Microcomputer system
US20090055635A1 (en) * 2007-08-24 2009-02-26 Matsushita Electric Industrial Co., Ltd. Program execution control device

Also Published As

Publication number Publication date
RU2010131651A (ru) 2012-02-10

Similar Documents

Publication Publication Date Title
Yim et al. Hauberk: Lightweight silent data corruption error detector for gpgpu
JP5153539B2 (ja) メモリ管理方法およびその方法を用いるコンピュータ
Lee et al. Android programming techniques for improving performance
KR20120058555A (ko) 조건부 비-분기 명령들의 비-실행을 예측하기 위한 방법들 및 장치들
JP2014500564A5 (ru)
WO2007045920A3 (en) System and method for the backward debugging of computer programs
EP3474144A3 (en) Method and system for self-optimizing, path-based object allocation tracking
CN102012988A (zh) 自动二进制恶意代码行为分析方法
US9164871B2 (en) Evaluation of statement-level breakpoints
IL256164A (en) Tracking data access in guaranteed mode
Artho et al. JNuke: Efficient dynamic analysis for Java
Kästner et al. Proving the absence of stack overflows
RU2461051C2 (ru) Способ обнаружения случайных "блужданий" в микроэвм
CN100573461C (zh) 在嵌入式系统中分析堆栈使用的方法
CN105912416A (zh) 一种在终端中监测处理器的方法及终端
CN105701004B (zh) 一种应用测试方法和装置
Kim et al. Towards a Resilient Operating System for Wireless Sensor Networks.
US10628161B2 (en) Processor for correlation-based infinite loop detection
JP5564540B2 (ja) メモリ管理方法、コンピュータ及びプログラム
CN105718326B (zh) 嵌入式系统的可恢复性测试方法
CN111581099A (zh) 一种漏洞路径优先级的符号执行调度方法及系统
JP5756549B2 (ja) 記憶領域管理方法、計算機システム及びプログラム
CN105718375A (zh) 嵌入式系统的可恢复性度量方法
CN111026526A (zh) 程序的定时器配置方法、装置、存储介质及终端设备
Zhang et al. Frequency estimation of virtual call targets for object-oriented programs

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20130728