RU2461051C2 - Способ обнаружения случайных "блужданий" в микроэвм - Google Patents
Способ обнаружения случайных "блужданий" в микроэвм Download PDFInfo
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Изобретение относится к цифровой вычислительной технике. Техническим результатом является повышение эффективности обнаружения случайных срывов процессора с заданной программы функционирования. Способ обнаружения случайных «блужданий» в микроЭВМ заключается в том, что программу работы процессора в виде блока из его машинных кодов размещают с каких-либо адресов постоянного запоминающего устройства, в котором затем последовательно располагают блоки, содержащие машинные коды данных, необходимые для исполнения программы, и непрерывный блок-ловушку случайных «блужданий» процессора, в ячейки которого для обнаружения случайных «блужданий» и целенаправленной реакции на них записывают самые короткие машинные коды одних и тех же команд, отличающийся тем, что непрерывный блок-ловушку делят на множество локальных блоков-ловушек, которые равномерно размещают внутри блоков машинных кодов программ и кодов данных, при этом размер каждого локального блока-ловушки выбирают в полтора-два раза большим, чем размер машинного кода самой длинной команды микроЭВМ. 1 ил.
Description
Изобретение относится к цифровой вычислительной технике и предназначено для решения задачи обнаружения случайных срывов процессора с заданной программы функционирования, что может быть вызвано действием случайных помех.
Наиболее близким по технической сути является способ обнаружения случайных «блужданий» в микроЭВМ, представленный в [Европейский патент EP 0.359.849 A1, МКИ G11F 11/00], [Шевкопляс Б.В. Микропроцессорные структуры. Инженерные решения: Справочник. М.: Радио и связь, 1993. - 256 с., стр.89].
Данный способ обнаружения случайных «блужданий» в микроЭВМ заключается в том, что программу работы процессора в виде блока из его машинных кодов размещают с каких-либо адресов постоянного запоминающего устройства, в котором затем последовательно располагают блоки, содержащие машинные коды данных, необходимые для исполнения программы, и непрерывный блок-ловушку случайных «блужданий» процессора, в ячейки которого для обнаружения случайных «блужданий» и целенаправленной реакции на них записывают самые короткие машинные коды одних и тех же команд.
Случайные «блуждания» процессора возникают тогда, когда он срывается с заданной программы функционирования, интерпретируя машинные коды данных как коды команд, а коды команд - как операнды или как коды их адресов. Полагается, что при таком блуждании с некоторой вероятностью процессор извлечет данные из непрерывного блока-ловушки и интерпретирует их как код команды. Предлагается заполнять непрерывный блок-ловушку массивами самых коротких машинных кодов одних и тех же команд, например «Сброс» или «Безусловный переход к команде с адресом А», что позволит обнаружить факт наличия случайного блуждания процессора и автоматически вернуть его к началу рабочей программы или некоторой заданной точке А программы.
При правильном функционировании процессора его обращение к непрерывному блоку-ловушке исключается, что обеспечивается в процессе разработки программы работы микроЭВМ.
При случайном срыве процессора с заданной программы функционирования не возможно предсказать точку его входа в постоянное запоминающее устройство. Можно лишь предположить, что такой точкой входа с равной вероятностью может быть любая ячейка постоянного запоминающего устройства. Тогда эффективность данного способа обнаружения случайных «блужданий» процессора микроЭВМ можно оценить величиной Н, определяемой как
где L - количество ячеек непрерывного блока-ловушки;
N - общее количество ячеек постоянного запоминающего устройства.
Очевидно, что
L≤N,
и величина Н изменяется в диапазоне от 0 до 1, причем ее равенство 0 соответствует тому случаю, когда в постоянном запоминающем устройстве размещены только блок из машинных кодов программы работы процессора и блоки кодов данных.
Известно, что в составе команд любой микроЭВМ содержатся команды условных и безусловных переходов, а так же команды организации циклических процессов. Это приводит к тому, что при возникновении срыва процессора с заданной программы функционирования траектория его случайного «блуждания» может длительное время находиться в блоке кодов рабочей программы или в блоках кодов данных. Такие ситуации либо принципиально не могут быть определены данным способом обнаружения случайных «блужданий», либо будут обнаружены через значительные промежутки времени, в течение которых может быть выполнена последовательность команд с непредсказуемыми последствиями.
Недостатком данного способа обнаружения случайных «блужданий» в микроЭВМ является ограниченная оперативность обнаружения факта случайных «блужданий».
Изобретение направлено на расширение функциональных возможностей способа обнаружения случайных «блужданий» за счет повышения оперативности обнаружения факта случайных «блужданий» и адекватной реакции на них.
Это достигается тем, что непрерывный блок-ловушку делят на множество локальных блоков-ловушек, которые равномерно размещают внутри блоков машинных кодов программ и кодов данных, при этом размер каждого локального блока-ловушки выбирают в полтора-два раза большим, чем размер машинного кода самой длинной команды микроЭВМ.
На фиг. представлена предлагаемая схема размещения в постоянном запоминающем устройстве локальных блоков-ловушек в блоках рабочей программы и блоках данных.
Заявляемый способ осуществляется следующим образом. Без разрушения целостности программы работы процессора и данных, необходимых для исполнения программы, в блоки постоянного запоминающего устройства, содержащие их, дополнительно и равномерно размещают локальные блоки-ловушки, размер (R) и количество (К) которых определяют из следующих соотношений:
R=(1,5…2)*c,
K=S/R,
где с - размер самой длинной команды процессора,
S - общий размер свободных областей постоянного запоминающего устройства, используемых как блоки-ловушки.
При одинаковых общих размерах S и L блоков-ловушек способ-прототип и заявляемый способ эквивалентны в смысле соотношения (1). Однако широко известно, что общее количество команд переходов и организации циклических процессов в типовой микроЭВМ значительно меньше, чем количество команд, реализующих линейную последовательность их выполнения. Отсюда логично следует, что при более частом и равномерном распределении локальных блоков-ловушек случайных «блужданий» процессора по всему постоянному запоминающему устройству время обнаружения «блужданий» и, следовательно, время адекватной реакции на них будет уменьшаться. При этом объем локальных «ловушек» должен быть не менее чем в полтора-два раза больше, чем размер машинного кода самой длинной команды микроЭВМ. Выполнение данного условия позволяет обнаружить блуждание процессора даже в том случае, если часть кодов из локальных «ловушек» будет интерпретирована процессором как операнды самой длинной предшествующей команды микроЭВМ.
Техническим результатом от использования заявляемого изобретения является расширение функциональных возможностей способа обнаружения случайных «блужданий» в микроЭВМ и повышение оперативности обнаружения случайных «блужданий», вызванных воздействием случайных помех.
Claims (1)
- Способ обнаружения случайных «блужданий» в микроЭВМ, заключающийся в том, что программу работы процессора в виде блока из его машинных кодов размещают с каких-либо адресов постоянного запоминающего устройства, в котором затем последовательно располагают блоки, содержащие машинные коды данных, необходимые для исполнения программы, и непрерывный блок-ловушку случайных «блужданий» процессора, в ячейки которого для обнаружения случайных «блужданий» и целенаправленной реакции на них записывают самые короткие машинные коды одних и тех же команд, отличающийся тем, что непрерывный блок-ловушку делят на множество локальных блоков-ловушек, которые равномерно размещают внутри блоков машинных кодов программ и кодов данных, при этом размер каждого локального блока-ловушки выбирают в полтора-два раза большим, чем размер машинного кода самой длинной команды микроЭВМ.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2530325C2 (ru) * | 2012-04-19 | 2014-10-10 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Воронежский государственный технический университет" | Способ повышения надежности микроэвм |
Citations (4)
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 |
-
2010
- 2010-07-27 RU RU2010131651/08A patent/RU2461051C2/ru not_active IP Right Cessation
Patent Citations (4)
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 |
---|---|---|
Bhatti et al. | HarvOS: Efficient code instrumentation for transiently-powered embedded sensing | |
Curtsinger et al. | Stabilizer: Statistically sound performance evaluation | |
JP5064134B2 (ja) | メモリ管理方法およびその方法を用いるコンピュータ | |
Lee et al. | Android programming techniques for improving performance | |
KR20120058555A (ko) | 조건부 비-분기 명령들의 비-실행을 예측하기 위한 방법들 및 장치들 | |
JP2014513373A5 (ru) | ||
JP2014500564A5 (ru) | ||
JP2010073127A (ja) | メモリ管理方法およびその方法を用いるコンピュータ | |
CN103440457B (zh) | 基于进程模拟的二进制程序分析系统 | |
US10466988B2 (en) | Systems and methods for automatic computer code parallelization | |
CN102012988A (zh) | 自动二进制恶意代码行为分析方法 | |
EP3308314B1 (en) | Secure mode state data access tracking | |
US9164871B2 (en) | Evaluation of statement-level breakpoints | |
Kästner et al. | Proving the absence of stack overflows | |
CN112136116A (zh) | 调试处理器的方法 | |
RU2461051C2 (ru) | Способ обнаружения случайных "блужданий" в микроэвм | |
CN100573461C (zh) | 在嵌入式系统中分析堆栈使用的方法 | |
Maghsoudloo et al. | Soft error detection technique in multi-threaded architectures using control-flow monitoring | |
Kim et al. | Towards a Resilient Operating System for Wireless Sensor Networks. | |
US10628161B2 (en) | Processor for correlation-based infinite loop detection | |
JP5564540B2 (ja) | メモリ管理方法、コンピュータ及びプログラム | |
US20140075164A1 (en) | Temporal locality aware instruction sampling | |
CN105718326B (zh) | 嵌入式系统的可恢复性测试方法 | |
CN111581099A (zh) | 一种漏洞路径优先级的符号执行调度方法及系统 | |
JP5756549B2 (ja) | 記憶領域管理方法、計算機システム及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20130728 |