KR20100010390A - 마이크로컴퓨터와 마이크로컴퓨터의 제어방법 - Google Patents

마이크로컴퓨터와 마이크로컴퓨터의 제어방법 Download PDF

Info

Publication number
KR20100010390A
KR20100010390A KR1020080071339A KR20080071339A KR20100010390A KR 20100010390 A KR20100010390 A KR 20100010390A KR 1020080071339 A KR1020080071339 A KR 1020080071339A KR 20080071339 A KR20080071339 A KR 20080071339A KR 20100010390 A KR20100010390 A KR 20100010390A
Authority
KR
South Korea
Prior art keywords
watchdog
units
register
counter
unit
Prior art date
Application number
KR1020080071339A
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 KR1020080071339A priority Critical patent/KR20100010390A/ko
Publication of KR20100010390A publication Critical patent/KR20100010390A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 멀티 태스킹을 수행하는 시스템에서 마이크로컴퓨터가 각각의 태스크를 처리함에 있어서, 각각의 태스크에서 발생하는 오류를 모두 감지할 수 있도록 하는 마이크로컴퓨터 및 그 제어방법에 관한 것이다. 본 발명은, 멀티 태스킹 가능한 마이크로 컴퓨터(100)에 있어서, 운영체제가 정한 처리 스케줄에 따라 여러 작업단위를 순차적으로 처리하는 제어부(10)와; 처리단위수를 목표단위수와 비교하여 상기 목표단위수가 상기 처리단위수를 초과하면, 제어부 리셋 명령을 발송하는 워치독 회로(20)를 포함하여 구성된다. 이와 같은 본 발명은 멀티 태스킹 시스템에 보다 적합하게 적용되고, 각각의 작업단위가 모두 정상 동작하는지 여부를 미리 감지함으로써 시스템에 장애가 발생하는 것을 조기 감지함으로써 시스템 안정성을 향상시킬 수 있다는 장점이 있다.
멀티 태스킹, 태스크, 쓰레드, 워치독

Description

마이크로컴퓨터와 마이크로컴퓨터의 제어방법{Microcomputer and Method for controlling thereof}
본 발명은 마이크로컴퓨터와 마이크로컴퓨터의 제어방법에 관한 것으로 보다 구체적으로는 멀티 태스킹을 수행하는 시스템에서 마이크로컴퓨터가 각각의 태스크를 처리함에 있어서, 각각의 태스크에서 발생하는 오류를 모두 감지할 수 있도록 하는 마이크로컴퓨터 및 그 제어방법에 관한 것이다.
일반적인 전자장치는 시스템의 전반적인 제어를 담당하는 마이크로 컴퓨터를 구비하는데, 시스템이 고장으로 중단 상태가 되거나 구동되는 프로그램의 오류로 인해 무제한 반복 루프(loop)와 같은 작동 상의 오동작이 발생하는 경우, 이를 감지하여 시스템을 초기화시키는 것에 의해 전자장치를 정상 상태로 복원하도록 하는 워치독(Watchdog) 회로를 구비한다.
이와 같은 워치독회로는 마이크로 컴퓨터 내에 함께 구비되어 마이크로 컴퓨터가 정상 구동될 때 주기적으로 발생하는 신호를 수신한다. 이때 상기 워치독 회로는 카운터를 구비함으로써 마이크로 컴퓨터 내에서 발생하는 신호의 주기에 동기하여 수신되어야 할 신호가 수신되지 않을 때마다 신호 미수신 카운트를 증가시킨 다.
그리고 신호 미수신 횟수가 일정시간 내에 기 설정 회수 이상인 경우, 상기 마이크로 컴퓨터의 리셋 신호를 출력함으로써 전자장치의 하드웨어 또는 소프트웨어가 리셋되어 재기동되도록 함으로써 시스템 장애를 정상화 시킨다.
이와 같은 워치독회로는 하나의 태스크(task) 또는 쓰레드(thread)를 수행하는 시스템 내에서는 효율적으로 동작한다. 그러나 최근에는 이와 같은 단일 작업을 수행하는 시스템은 찾아보기 어렵다.
단순한 제어동작을 반복하는 전자장치 내에 구비되는 마이크로 컴퓨터에서도, 적어도 수 개의 작업이 동시에 수행되는 멀티 태스킹(Multi-tasking)을 지원한다.
상기 멀티 태스킹은 한 개의 프로세서로 2가지 이상의 작업을 동시에 처리하거나, 2가지 이상의 프로그램들을 동시에 실행시키는 것을 말한다.
이와 같은 멀티 태스킹 시스템에서는 단일의 태스크 또는 쓰레드만의 이상 동작만을 감시해서는 효율적인 장애 복구가 어렵다.
복수의 태스크를 동시에 수행하는 경우, 실질적으로 상기 마이크로 컴퓨터는 사용자가 인지하기 어려운 매우 짧은 시간 내에 복수의 태스크를 순차적으로 조금씩 나누어 수행하게 되는데, 이와 같이 태스크를 순차적으로 수행하는 시간은 불규칙하기 때문에, 상술한 바와 같은 워치독 회로에서와 같이 상기 워치독 회로가 마이크로 컴퓨터로부터 신호를 수신하는 주기가 일정하면 모든 태스크의 정상 실행 여부를 판단하기 어렵다.
따라서 복수의 태스크 중 어느 하나에 오류가 발생하여도 이를 조기에 발견하기 어려우므로 시스템에 치명적인 오류가 발생할 수 있고, 제때에 시스템 리셋 동작을 수행할 수 없다는 문제점이 있었다.
따라서 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 멀티 태스킹 시스템에 적합하게 적용되는 워치독 회로를 구비한 마이크로 컴퓨터와 그 제어방법을 제공하는 것이다.
본 발명의 다른 목적은, 각각의 작업단위가 모두 정상 동작하는지 여부를 미리 감지함으로써 시스템에 장애가 발생하는 것을 조기 감지할 수 있는 워치독 회로를 구비한 마이크로 컴퓨터와 그 제어방법을 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명은 멀티 태스킹 가능한 마이크로 컴퓨터에 있어서, 운영체제가 정한 처리 스케줄에 따라 여러 작업단위를 순차적으로 처리하는 제어부와; 처리단위수를 목표단위수와 비교하여 상기 목표단위수가 상기 처리단위수를 초과하면, 제어부 리셋 명령을 발송하는 워치독 회로를 포함하여 구성된다.
이때 상기 처리단위수는 정해진 주기 내에 실제 처리된 작업단위의 개수이고, 상기 목표단위수는 상기 운영체제가 정한 처리 스케줄에 따라 정해진 주기 내에 처리될 작업단위의 개수가 된다.
상기 주기는, 상기 운영체제에 의해 결정된 작업단위 처리 스케줄에 따라 변경될 수 있다.
여기서 상기 워치독 회로는, 상기 주기가 경과하는 동안 처리단위수를 카운 트하는 워치독 카운터와 상기 워치독 카운터에 의해 카운트된 처리단위수가 기록되는 워치독 레지스터를 더 포함하여 구성될 수 있다.
그리고 상기 워치독 회로는, 상기 목표단위수가 상기 처리단위수 이하이면, 상기 워치독 레지스터 리셋 명령을 발송할 수 있다.
또한 상기 워치독 카운터는, 매 주기의 시작 시점으로부터 경과되는 시간을 카운트하여 기록하는 제1카운터와; 상기 처리단위수를 카운트하여 기록하는 제2카운터를 포함하여 구성될 수 있다.
상기 워치독 레지스터는, 상기 주기가 기록되는 제1마스크레지스터와; 상기 제1카운터에 의하여 카운트된 경과 시간이 기록되는 제1카운터레지스터와; 상기 목표단위수가 기록되는 제2마스크레지스터; 그리고 상기 제2카운터에 의하여 카운트된 상기 처리단위수가 기록되는 제2카운터레지스터를 포함하여 구성될 수도 있다.
그리고 상기 워치독 회로는, 상기 주기가 경과할 때마다, 상기 제어부의 리셋 명령 또는 상기 워치독 레지스터의 리셋 명령 중 어느 하나를 발송하는 워치독 컨트롤러를 포함하여 구성될 수 있다.
상기 워치독 컨트롤러는, 상기 제1마스크레지스터와 상기 제1카운터레지스터를 비교하여 상기 주기 경과여부를 판단할 수 있고, 상기 제2마스크레지스터와 상기 제2카운터레지스터를 읽어 상기 처리단위수와 상기 목표단위수를 비교할 수 있으며, 또한 상기 제1마스크레지스터와 상기 제1카운터레지스터에 기록된 값이 서로 일치하면 상기 제1마스크레지스터와 상기 제1카운터레지스터에 기록된 값을 삭제하며, 상기 제2마스크레지스터와 상기 제2카운터레지스터 값을 비교하여, 상기 목표 단위수가 상기 처리단위수를 초과하면, 제어부 리셋 명령을 발송하고; 상기 목표단위수가 상기 처리단위수 이하이면, 상기 제2마스크레지스터와 상기 제2카운터레지스터에 기록된 값을 삭제할 수 있다.
한편 본 발명은, 오류 발생 여부를 판단하는 워치독 회로를 포함하는 멀티 태스킹 가능한 마이크로 컴퓨터에 있어서, (A) 상기 워치독 회로의 동작 주기와 목표단위수를 결정하는 단계와; (B) 경과된 단위시간의 개수와 처리단위수를 누적하는 단계와; (C) 상기 주기의 경과 여부를 판단하는 단계와; (D) 상기 (C)단계에서 상기 주기가 경과한 것으로 판단되면, 상기 목표단위수와 상기 처리단위수를 비교하는 단계; 그리고 (E) 상기 처리단위수가 상기 목표단위수 미만이면 상기 마이크로 컴퓨터를 리셋시키는 단계를 포함하여 수행될 수 있다.
이때 상기 처리단위수는 정해진 주기 내에 실제 처리된 작업단위의 개수이고, 상기 목표단위수는 상기 운영체제가 정한 처리 스케줄에 따라 정해진 주기 내에 처리될 작업단위의 개수가 된다.
그리고 상기 제어방법은, (F) 상기 처리단위수가 상기 목표단위수 이상이면 상기 (B)단계에서 누적된 단위시간의 개수와 상기 처리단위수를 0으로 설정하는 단계 또는 상기 (F)단계의 수행 후 상기 (A)단계 내지 상기 (F)단계를 반복수행 하는 단계를 더 포함할 수 있다.
이때 상기 (A)단계의 상기 워치독 회로의 동작 주기와 목표단위수는, 상기 마이크로 컴퓨터의 운영체제에 의해 결정된 작업단위 처리 스케줄에 따라 가변될 수 있다.
그리고 상기 제어방법은, (B') 상기 (B)단계에서 상기 경과된 단위시간의 개수와 처리단위수가 누적될 때마다 누적된 수를 레지스터에 기록하는 단계 및/ 또는 (A') 상기 (A)단계에서 결정된 상기 워치독 회로의 동작 주기와 상기 목표단위수를 레지스터에 기록하는 단계를 더 포함하여 수행될 수 있다.
또한 상기 (C)단계는, 상기 (A')단계에서 기록된 상기 워치독 회로의 동작 주기와 상기 (B')단계에서 기록된 상기 경과된 단위시간의 개수가 서로 일치하는지 여부를 비교함으로써 수행될 수 있다.
이상에서 상세히 설명한 바와 같이 본 발명에 의한 마이크로 컴퓨터 및 마이크로 컴퓨터의 제어방법에 의하면 다음과 같은 효과를 기대할 수 있다.
즉, 멀티 태스킹 시스템에 적합하게 적용된다는 이점이 있다.
또한 본 발명에 의한 마이크로 컴퓨터 및 마이크로 컴퓨터의 제어방법에 의하면 각각의 작업단위가 모두 정상 동작하는지 여부를 미리 감지함으로써 시스템에 장애가 발생하는 것을 조기 감지함으로써 시스템 안정성을 향상시킬 수 있다는 장점이 있다.
이하에서는 상기한 바와 같은 본 발명에 의한 마이크로컴퓨터와 마이크로컴퓨터의 오류감시방법의 구체적인 실시예를 첨부한 도면을 참고하여 상세하게 설명한다.
도 1은 본 발명의 구체적인 실시예에 의한 마이크로컴퓨터의 개략적인 구성 을 도시한 블럭도이고, 도 2는 본 발명의 구체적인 실시예에 의한 마이크로컴퓨터의 워치독 회로 내에 구비되는 워치독 레지스터의 구성을 도시한 블럭도이며, 도 3은 본 발명의 구체적인 실시예에 의한 마이크로컴퓨터에서 워치독 주기 동안에 워치독 레지스터의 각 비트 내에 카운트된 수에 따른 시스템 제어방법을 나타낸 예시도이고, 도 4는 본 발명의 구체적인 실시예에 의한 마이크로컴퓨터를 이용한 시스템 리셋 방법을 단계적으로 도시한 흐름도이다.
도 1에 도시된 바와 같이, 본 발명의 구체적인 실시예에 의한 마이크로컴퓨터(100)에는 우선 제어부(10)가 구성된다.
여기서 상기 마이크로컴퓨터(100)는 이동통신 단말기, 휴대용 게임기, 네비게이션 단말기, PDA(Personal Digital Assistants), 전자책, 디지털 카메라, PMP(Portable Multi-media Player), TV, 오디오, 세탁기, 냉장고, 정밀장비 등 각종 전자제품에 구비되는 제어수단이다.
그리고 상기 제어부(10)는 상기 마이크로컴퓨터(100)의 주된 기능을 수행하는 유닛으로써 명령어의 해석과 수행, 자료의 연산, 비교 등의 처리를 제어수행한다.
상기 제어부(10)는 운영체제(Operating system)에 따라 동작하는데 이때 상기 운영체제는 상기 제어부(10)의 멀티 태스킹(Multi-tasking)을 가능하게 한다. 상기 제어부(10)는 동시에 여러 작업의 수행이 가능한데, 동시에 둘 이상의 다른 응용프로그램을 실행하거나, 동일한 응용프로그램이라도 둘 이상 실행하거나, 동일한 응용프로그램 내에서 복수의 작업을 수행하는 등의 동작이 가능하다.
여기서 상기 제어부(10)가 수행하는 각각의 작업은 태스크(Task) 또는 쓰레드(Thread) 단위가 될 수 있으며, 이하에서는 이를 작업단위라고 한다.
상기 제어부(10)가 이와 같이 복수의 작업단위를 동시에 수행할 수 있는 것은 상기 운영체제가 상기 제어부(10)의 작업 스케줄을 결정해주기 때문이다. 즉, 상기 제어부(10)는 실질적으로 복수의 작업단위를 동시에 실행하는 것은 아니고, 상기 운영체제가 스케줄링한 시간 및 순서에 따라 짧은 시간 내에 순차적으로 복수의 작업단위를 돌아가면서 수행하게 된다.
한편 상기 제어부(10)의 작업 수행 중 오류가 발생하는지 여부를 감지하여 상기 제어부(10)를 재기동(Reset) 시키기 위해 상기 마이크로컴퓨터(100)에는 워치독회로(20)가 구비된다.
상기 워치독회로(20)는 상기 제어부(10)로부터 신호를 카운트하여 상기 제어부(10)가 정상동작하는지 여부를 판단하고, 그에 따라 상기 제어부(10)로 리셋 신호를 발송하는 회로이다.
상기 워치독회로(20)는 이를 위하여 워치독 카운터(22)를 구비한다. 상기 워치독 카운터(20)는 상기 제어부(10)로부터 신호를 받을 때마다 이를 카운트한다.
상기 제어부(10) 일정한 시간마다 신호를 발생시켜 상기 워치독 카운터(22)로 전송할 수도 있고, 특히 본 발명에서 상기 제어부(10)는 하나의 작업단위의 실행할 때마다 신호를 발생시킬 수 있다.
즉, 상기 제어부(10)운영체제가 결정한 스케줄에 따라 하나의 작업단위를 수행한 후 이를 기억장치에 저장하고, 기억장치로부터 다음 순위의 작업단위를 읽어 올 때마다 신호를 발생하고, 상기 워치독 카운터(22)는 이를 수신하여 상기 제어부(10)가 처리한 작업단위의 수를 카운트할 수 있다.
또한 상기 워치독 카운터(22)는 단순히 시간의 경과를 카운트할 수도 있다. 즉, 단위시간을 설정하고, 경과된 단위시간의 개수를 카운트하여 일정시간의 경과 여부를 판단할 수 있도록 한다.
상기 워치독회로(20)는 정해진 워치독 주기에 따라 동작하게 되는데, 워치독 주기로 정해진 시간이 경과하는지 여부를 판단하기 위해 상기 워치독 카운터(22)는 상기 제어부(10)로부터의 신호 수신 없이도 상기 마이크로컴퓨터(100) 내에 구비되는 클럭에 동기하여 설정된 단위 시간 경과마다 카운트를 증가시킬 수 있다.
예를 들어, 상기 워치독 주기가 50msec인 경우, 상기 워치독 카운터(22)가 상기 워치독 주기의 시작 시점으로부터 매 1msec마다 카운트를 증가시키면, 카운트된 시간이 50msec가 된 순간 상기 워치독 주기가 종료하였음을 알 수 있게 된다.
설명한 바와 같이 상기 워치독 카운터(22)가 우선 상기 제어부(10)가 처리한 작업단위의 개수를 카운트함과 동시에, 상기 워치독 주기 경과 여부 판단을 위해 시간 경과를 카운트하도록 하기 위하여 상기 워치독 카운터(22)는 두 개 이상의 카운터(제1카운터와 제2카운터)로 구성될 수도 있다.
이하에서는 제1카운터는 경과된 시간을 카운팅하고, 제2카운터는 상기 제어부(10)에서 처리된 작업단위의 개수를 카운팅하는 것으로 설명하도록 한다.
그리고 상기 워치독회로(20)에는 워치독레지스터(24)가 구비된다. 상기 워치독레지스터(24)는 하나 이상의 소규모 데이터 기억장치로 구성된다.
상기 워치독레지스터(24)에는 상기 워치독카운터(22)에 의해 카운트된 결과가 기록된다. 따라서 상기 제1카운터에 의하여 카운트된 경과 시간이 기록되거나, 상기 제2카운터에 의하여 카운트된 상기 제어부(10)가 처리한 작업단위 개수가 기록될 수도 있다.
즉, 상기 제1카운터가 경과한 단위시간의 개수를 카운트하여 상기 워치독레지스터(24)에 기록하거나, 상기 제어부(10)가 새로운 작업단위가 기억장치에서 독출되어 상기 제어부(10)에 로드될 때마다 신호를 발생하면 상기 제2카운터가 이를 수신하여 신호 발생 횟수를 카운트하여 상기 워치독레지스터(24)에 기록할 수 있다.
이때 이하에서는 경과한 단위시간의 개수가 기록되는 레지스터를 제1카운터레지스터, 상기 제어부(10)로부터의 신호 발생 횟수가 기록되는 레지스터를 제2카운터레지스터로 하여 설명한다.
또한 본 발명의 구체적인 실시예에 따른 상기 마이크로컴퓨터(100) 내에 구비되는 상기 워치독회로(20)에는 워치독컨트롤러(26)가 구비될 수 있다.
상기 워치독컨트롤러(26)는 반드시 상기 워치독회로(20)에 구비되어야 하는 것은 아니고 별도의 제어수단으로 구비될 수도 있다.
그리고 상기 워치독컨트롤러(26)는 상기 워치독카운터(22)의 카운팅 결과에 따라 상기 제어부(10)의 리셋 명령을 발생하여 전달하는 역할을 한다. 즉, 상기 워치독컨트롤러(26)는 상기 워치독레지스터(24)에 기록된 상기 워치독카운터(22)의 카운팅 결과를 읽어 상기 제어부(10)가 오류의 발생 없이 정상동작하고 있는지 여 부를 판단한다.
상기 제어부(10)가 정상 동작중인 것으로 판단되지 않으면, 상기 워치독컨트롤러(26)는 리셋부(30)로 상기 제어부(10)의 재기동 명령을 발송하고, 이를 수신한 상기 리셋부(30)는 상기 제어부(10)를 하드웨어적으로 리셋한다.
여기서 상기 워치독컨트롤러(26)는 워치독 주기의 경과 여부를 감지하여, 워치독 주기 하나가 경과한 것으로 판단될 때마다 상기 워치독레지스터(24)에 기록된 내용을 독출하여 상기 제어부(10)를 리셋할지 여부를 결정한다.
이때 상기 워치독 주기는 상기 제어부(10)에 의해 실행되는 운영체제에 의하여 결정된다. 상기 운영체제는 수행되어야할 복수의 작업단위를 한 차례씩 순차적으로 수행하는데 소요되는 시간과 순서를 결정하고, 그에 따라 상기 제어부(10)가 정해진 시간, 정해진 순서에 따라 각각의 작업단위를 수행하도록 한다.
여기서 실행할 복수의 작업단위를 한 차례씩 순차적으로 수행하는데 소요되는 시간을 작업수행주기라고 하고, 상기 작업수행주기 내에 각각의 작업단위가 수행되는 순서를 작업수행순서라고 하면, 상기 작업수행주기와 상기 작업수행순서는 상기 마이크로컴퓨터(100)가 수행할 기능이나 사용자의 명령 등에 따라 적응적으로 변경된다. 그러나 이미 정해져서 현재 진행중인 작업수행주기와 그 작업수행주기 내의 작업수행순서는 그대로 실행되고, 변동사항은 추후의 작업수행주기에 반영된다.
이때 상기 워치독 주기는 상기 작업수행주기와 같거나 더 크게 설정된다. 즉, 상기 운영체제는 상기 작업수행주기에 따라 상기 워치독 주기를 결정하여 워치 독 주기가 한번 수행되는 동안 수행되어야할 모든 작업단위가 원활하게 수행되는지를 판단할 수 있도록 한다.
그리고 한편 상기 운영체제는 상기 워치독 주기 내에 수행될 작업단위의 개수를 결정한다. 이 또한 상기 운영체제가 정하는 작업 처리 스케줄에 따라 결정된다. 즉, 상기 운영체제는 각각의 작업단위가 수행될 순서와 시간을 미리 결정하므로 그에 따르면 상기 워치독 주기 내에 수행될 작업단위의 개수를 알 수 있다.
여기서 상기 운영체제가 결정한 상기 워치독 주기 내에 수행될 작업단위의 개수는 상기 워치독카운터(22)가 카운팅한 상기 워치독 주기 내에 상기 제어부(10)가 실제로 처리한 작업단위의 개수(상기 워치독 주기 내에 상기 제어부(10)가 신호 발생한 횟수)와 비교된다.
이때 상기 운영체제는 설명한 바와 같이 결정한 상기 워치독 주기와 상기 워치독 주기 내에 상기 제어부(10)에서 수행될 작업단위의 개수를 상기 워치독 레지스터(24) 내에 기록함으로써 상기 워치독 컨트롤러(26)가 이들을 상기 제1카운터레지스터에 저장된 경과한 단위시간의 개수와 상기 제2카운터레지스터에 저장된 상기 제어부(10)의 신호 발생 횟수와 용이하게 비교가능하도록 할 수 있다.
도 2를 참조하면, 상기 워치독레지스터(24)는 제1마스크레지스터(24a)와, 제1카운터레지스터(24b), 제2마스크레지스터(24c), 제2카운터레지스터(24d)를 포함하여 구성될 수 있다. 상기 제1카운터레지스터(24b)와 상기 제2카운터레지스터(24d)는 상술한 바와 같이 각각 경과한 단위시간의 개수와, 상기 제어부(10)로부터 수신된 신호의 개수가 누적되어 기록된다.
그리고 상기 제1마스크레지스터(24a)에는 상기 워치독 주기가 저장되고, 상기 제2마스크레지스터(24c)에는 상기 워치독 주기 내에 상기 제어부(10)에서 수행될 작업단위의 개수가 저장될 수 있다.
그에 따라 상기 워치독컨트롤러(24)는 상기 제1마스크레지스터(24a)와 상기 제1카운터레지스터(24b)의 값을 서로 비교하여 상기 워치독 주기의 경과여부를 판단하게 되고, 상기 제2마스크레지스터(24c)와 상기 제2카운터레지스터(24d)에 저장된 값을 서로 비교하여 상기 제어부(10)의 정상동작 여부를 판단하게 된다.
이를 도 3을 참조하여 구체적으로 살펴보겠다.
우선, 상기 운영체제는 상기 워치독 주기와 상기 워치독 주기 내에 상기 제어부(10)에서 처리될 작업단위의 개수를 결정한다. 이때 상기 워치독 주기 내에 상기 제어부(10)에서 처리될 작업단위의 개수를 이하에서는 목표단위수라고 한다.
상기 워치독 주기와 상기 목표단위수는 이미 설명한 바와 같이 고정된 값이 아니고, 상기 운영체제에 의하여 적응적으로 변경된다. 상기 운영체제가 상기 워치독 주기와 상기 목표단위수를 결정함에 있어서 상기 제어부(10)의 작업 처리 스케줄을 이용함은 앞서 설명한 바와 같다.
본 실시예에서 상기 워치독 주기가 50msec이고, 경과된 단위시간의 개수를 카운트 하는 상기 제1카운터는 1ms마다 카운트를 증가시킨다고 가정한다. 또한 상기 50msec의 워치독 주기 내에 상기 제어부(10)에서 처리될 작업단위의 개수, 즉 목표단위수는 7이라고 가정한다.
우선 상기 제1마스크레지스터(24a)에 50msec가 기록된다. 1msec를 단위시간 으로하면 50이 기록되어야하므로 이진수로 변환하면 110010이 되고, 이는 상기 제1마스크레지스터의 0번째 비트부터 순차적으로 채워져 기록된다.
그리고 상기 목표단위수 7이 상기 제2마스크레지스터(24b)에 기록된다. 이때 상기 7은 이진수로 변환하여 기록되어도 되지만, 여기서는 단순히 상기 제2마스크레지스터(24b)의 0번째 비트부터 7개의 비트가 1로 채워져 기록되는 것으로 예시한다.
한편 상기 제1카운터는 상기 워치독 주기의 시작 시점에서부터 단위시간인 1msec가 경과할 때마다 카운트를 증가시킨다. 즉, 상기 워치독 주기의 시작 시점에서 1msec가 경과하면, 1이 누적되고, 10msec가 경과하면 10이 누적된다.
49msec이 경과하였다고 가정하면, 49가 누적되어야 하고, 이를 이진수로 변환하면 110001이므로 이 값은 상기 제1마스크레지스터(24a)의 0번째 비트에서부터 순차적으로 채워진다.
한편 49msec이 경과하는 동안에, 새로운 작업단위의 상기 제어부(10)로의 로드가 5회 발생하였고, 그때마다 상기 제어부(10)가 상기 제2카운터로 신호를 보냈다고 가정하면, 상기 제2카운터레지스터(24d)에는 실제 처리된 작업단위의 개수(이하에서는 '처리단위수'라고 한다)가 5회 누적된다.
상기 제2카운터레지스터(24d)로 카운트된 수를 기록함에 있어서도 이진수 변환한 후 기록하여도 되지만, 상기 제2마스크레지스터(24c)와의 용이한 비교를 위하여 상기 제2마스크레지스터(24c)와 통일하여, 0번째 비트부터 5개의 비트를 1로 채우는 방식으로 상기 처리단위수를 기록할 수 있다.
그리고 이때 상기 제1마스크레지스터(24a)와 상기 제1카운터레지스터(24b)에 기록된 상기 워치독 주기와, 경과된 시간과의 일치여부 즉, 상기 워치독 주기가 경과하였는지 여부의 판단은 상기 제1마스크레지스터(24a)의 각 비트와 동일한 자리수의 상기 제1카운터레지스터(24b)의 각 비트를 서로 XOR연산하여 각각의 연산 결과 중 어느 하나라도 1이 산출되는 경우에는 상기 워치독 주기가 아직 진행중인 것으로 판단하고, 모든 자리의 비트의 XOR연산의 산출결과가 0인 때에 상기 워치독 주기가 한 주기 경과한 것으로 판단한다.
한편 도 3의 상단에 도시된 바와 같은 상태에서 1msec가 더 경과하여 위에서 설명한 바와 같이 상기 제1마스크레지스터(24a)와 상기 제1카운터레지스터(24b)에 동일한 값이 기록되면 XOR연산으로 이를 감지한다.
그리고 상기 제1마스크레지스터(24a)와 상기 제1카운터레지스터(24b)에 기록된 값이 일치한 것으로 감지된 순간, 즉 하나의 상기 워치독 주기가 막 경과하는 순간에 상기 제2마스크레지스터(24c)와 상기 제2카운터레지스터(24d)를 비교한다.
상기 제2카운터레지스터(24d)에 기록된 상기 처리단위수가 상기 제1카운터레지스터(24c)에 기록된 상기 목표단위수에 미치지 못하는 경우, 즉 도 3의 좌측과 같은 경우, 상기 워치독컨트롤러(26)는 이를 판단하여 상기 제어부(10)를 리셋시킨다.
그러나 상기 도 3의 우측에서와 같이, 상기 제2마스크레지스터(24c)와 상기 제2카운터레지스터(24d)에 기록된 상기 목표단위수와 상기 처리단위수가 서로 일치하는 경우에는 상기 워치독컨트롤러(26)는 상기 워치독레지스터(24)에 기록된 모든 수를 0으로 리셋한 후 다음 워치독 주기를 진행한다.
한편 도 4에 도시된 바와 같이 본 발명에 의한 상기 마이크로 컴퓨터(100)의 제어방법은 상기 제어부(10)에서 실행되는 상기 운영체제에서 상기 제어부(10)의 작업단위 처리 스케줄을 결정하는 단계로부터 시작된다(S100).
여기서 상기 작업단위는 태스크 또는 쓰레드가 될 수 있다.
상기 제100단계에서 상기 운영체제는 각각의 작업단위가 처리될 순서와, 처리될 시간을 결정한다. 이때 상기 운영체제의 스케줄링 결과에 의하면, 처리되어야할 작업단위를 모두 한 차례씩 순차적으로 수행하는데 소요되는 시간과 처리할 작업단위의 수 등을 알 수 있다.
한편 상기 제100단계에서 이와 같이 상기 제어부(10)의 작업 처리 스케줄이 결정되면 상기 제어부(10)는 상기 운영체제가 정한 바에 따라 각각의 작업단위를 순차적으로 수행한다.
예를 들어 처리할 작업단위가 A, B, C 세 개인 경우, 상기 운영체제는 각각의 작업단위를 처리할 순서를 각각의 작업단위에 설정된 우선순위 클래스 정보에 따라 결정하고 처리해야할 데이터의 양 등을 고려하여 상기 A, B, C 각각의 작업단위를 처리하는데 소비할 시간을 결정한다.
예를 들면, 상기 제어부(10)가 A, B, C 작업단위를 처리함에 있어서, A를 우선적으로 20msec처리하고, C를 20msec처리한 후, B를 10msec 처리하는 것으로 상기 운영체제가 작업 스케줄을 결정한 경우, 각각의 작업단위를 한 차례씩 모두 수행하는데 소요되는 시간(이하에서는 운영체제의 동작 주기라고 한다)은 50msec이고, 처 리할 작업단위의 수는 3이 된다.
즉, 상술한 바와 같이 운영체제의 작업 처리 스케줄을 결정하면 그 처리 스케줄에 따라 운영체제가 처리할 작업단위의 수와, 처리할 작업단위 각각을 한 번씩 수행하는데 소요되는 운영체제의 동작 주기가 결정되는 단계(S200)가 수행된다.
그리고 상기 제200단계에서 상기 운영체제가 동작 주기 내에 수행할 작업단위의 수와 운영체제의 동작 주기가 결정되면, 그에 따라 워치독 회로가 감시동작을 수행할 워치독 주기와 상기 워치독 주기 내에 수행될 작업단위의 수(목표단위수, N)가 결정된다(S300).
여기서 상기 워치독 주기는 상기 운영체제의 동작 주기와 같거나 크게 설정되어 모든 작업단위의 정상 실행 여부를 판단할 수 있도록 한다. 그리고 상기 목표단위수는 상기 워치독 주기 내에 상기 운영체제의 작업 처리 스케줄을 참조하여 결정될 수 있다. 이때 상기 제300단계는 상기 운영체제에 의하여 수행될 수 있다.
한편 상기 제300단계에서 상기 워치독 주기와 상기 목표단위수가 결정되면, 상기 워치독 주기가 진행된다. 여기서 상기 워치독 주기의 진행이 시작되면, 상기 워치독 회로(20) 내에 구비되는 카운터는 시간의 경과를 카운트하여 상기 워치독 주기의 경과를 감지하도록 한다.
즉 기설정된 워치독 주기와 경과된 시간을 비교하여 양자가 서로 일치하면 해당 워치독 주기가 종료되는 것으로 판단하게 된다.
상기 제어부(10)는 상기 운영체제의 스케줄링 결과에 따라 순차적으로 작업단위를 실행한다. 위에서 예시한 바와 같이 A를 우선적으로 20msec처리하고, C를 20msec처리한 후, B를 10msec 처리하는 것으로 상기 운영체제가 작업 스케줄을 결정한 경우라면, 상기 마이크로 컴퓨터가 구성된 시스템 내에 구비되는 기억수단으로부터 우선 상기 A 작업단위의 데이터를 상기 제어부(10)로 로드하여 수행한다. 그리고 A 작업단위에 대하여 처리한 결과를 다시 상기 기억수단에 저장한 후, C 작업단위를 로드하여 20msec 동안 상기 제어부(10)에서 처리한다.
이때 상기 제어부(10)는 각각의 작업단위가 상기 제어부(10)에 로드되어 수행될 때마다 일정한 신호를 발생하여 상기 워치독회로(20)로 전송한다.
그리고 상기 워치독회로(20)에서는 이와 같은 신호를 수신하여 신호가 수신되는 횟수를 카운트한다(S400). 즉 상기 제400단계에서 카운트되는 수는 상기 워치독 주기 내에 상기 제어부(10)에서 실제 수행되는 작업단위의 개수(처리단위수, n)가 된다.
그리고 경과되는 시간을 지속적으로 상기 워치독 주기와 비교하여, 상기 워치독 주기의 시작 시점에서부터 경과된 시간이 상기 워치독 주기와 일치하는 순간 상기 제400단계에서 누적된 상기 처리단위수(n)를 상기 제300단계에서 결정된 상기 목표단위수(N)와 비교한다(S500).
상기 제500단계에서의 비교 결과 상기 처리단위수(n)가 상기 목표단위수(N) 이상인 것으로 판단되면, 상기 마이크로 컴퓨터(100)의 워치독회로(20)에 저장된 모든 수가 0으로 리셋되고, 상기 제100단계 내지 제500단계가 반복 수행된다. 그에 따라 새로운 워치독 주기와 목표단위수가 설정되고, 새로운 워치독 주기가 진행된다.
반면에 상기 제500단계에서의 비교 결과 상기 처리단위수(n)가 상기 목표단위수(N) 미만인 것으로 판단된 경우, 상기 워치독회로(20)는 상기 제어부(10)를 하드웨어 리셋하는 신호를 전송한다. 그리고 그에 따라 상기 제어부(10)가 재기동된다(S700).
그리고 상기 제어부(10)가 재기동되면, 상기 워치독회로(20)의 새로운 워치독 주기가 반복하여 진행된다.
본 발명의 권리는 위에서 설명된 실시예에 한정되지 않고 청구범위에 기재된 바에 의해 정의되며, 본 발명의 분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.
도 1은 본 발명의 구체적인 실시예에 의한 마이크로컴퓨터의 개략적인 구성을 도시한 블럭도.
도 2는 본 발명의 구체적인 실시예에 의한 마이크로컴퓨터의 워치독 회로 내에 구비되는 워치독 레지스터의 구성을 도시한 블럭도.
도 3은 본 발명의 구체적인 실시예에 의한 마이크로컴퓨터에서 워치독 주기 동안에 워치독 레지스터의 각 비트 내에 카운트된 수에 따른 마이크로컴퓨터 제어방법을 나타낸 예시도.
도 4는 본 발명의 구체적인 실시예에 의한 마이크로컴퓨터를 이용한 마이크로컴퓨터 리셋 방법을 단계적으로 도시한 흐름도.
**도면의 주요 부분에 대한 부호의 설명**
100: 마이크로컴퓨터 10: 제어부
20: 워치독 회로 22: 워치독 카운터
24: 워치독 레지스터 24a: 제1마스크 레지스터
24b: 제1카운트 레지스터 24c: 제2마스크 레지스터
24d: 제2카운트 레지스터 26: 워치독 컨트롤러
30: 리셋부

Claims (21)

  1. 멀티 태스킹 가능한 마이크로 컴퓨터에 있어서,
    운영체제가 정한 처리 스케줄에 따라 여러 작업단위를 순차적으로 처리하는 제어부와;
    처리단위수를 목표단위수와 비교하여
    상기 목표단위수가 상기 처리단위수를 초과하면, 제어부 리셋 명령을 발송하는 워치독 회로를 포함하여 구성됨을 특징으로 하는 마이크로 컴퓨터.
  2. 제1항에 있어서,
    상기 처리단위수는 정해진 주기 내에 실제 처리된 작업단위의 개수이고,
    상기 목표단위수는 상기 운영체제가 정한 처리 스케줄에 따라 정해진 주기 내에 처리될 작업단위의 개수임을 특징으로 하는 마이크로 컴퓨터.
  3. 제2항에 있어서,
    상기 주기는,
    상기 운영체제에 의해 결정된 작업단위 처리 스케줄에 따라 변경됨을 특징으로 하는 마이크로 컴퓨터.
  4. 제3항에 있어서,
    상기 워치독 회로는,
    상기 주기가 경과하는 동안 처리단위수를 카운트하는 워치독 카운터를 포함하여 구성됨을 특징으로 하는 마이크로 컴퓨터.
  5. 제4항에 있어서,
    상기 워치독 회로는,
    상기 워치독 카운터에 의해 카운트된 처리단위수가 기록되는 워치독 레지스터를 더 포함하여 구성됨을 특징으로 하는 마이크로 컴퓨터.
  6. 제5항에 있어서,
    상기 워치독 회로는,
    상기 목표단위수가 상기 처리단위수 이하이면, 상기 워치독 레지스터 리셋 명령을 발송하는 것을 특징으로 하는 마이크로 컴퓨터.
  7. 제6항에 있어서,
    상기 워치독 카운터는,
    매 주기의 시작 시점으로부터 경과되는 시간을 카운트하여 기록하는 제1카운터와;
    상기 처리단위수를 카운트하여 기록하는 제2카운터를 포함하여 구성됨을 특징으로 하는 마이크로 컴퓨터.
  8. 제7항에 있어서,
    상기 워치독 레지스터는,
    상기 주기가 기록되는 제1마스크레지스터와;
    상기 제1카운터에 의하여 카운트된 경과 시간이 기록되는 제1카운터레지스터와;
    상기 목표단위수가 기록되는 제2마스크레지스터; 그리고
    상기 제2카운터에 의하여 카운트된 상기 처리단위수가 기록되는 제2카운터레지스터를 포함하여 구성됨을 특징으로 하는 마이크로 컴퓨터.
  9. 제8항에 있어서,
    상기 워치독 회로는,
    상기 주기가 경과할 때마다,
    상기 제어부의 리셋 명령 또는 상기 워치독 레지스터의 리셋 명령 중 어느 하나를 발송하는 워치독 컨트롤러를 포함하여 구성됨을 특징으로 하는 마이크로 컴퓨터.
  10. 제9항에 있어서,
    상기 워치독 컨트롤러는,
    상기 제1마스크레지스터와 상기 제1카운터레지스터를 비교하여 상기 주기 경 과여부를 판단함을 특징으로 하는 마이크로 컴퓨터.
  11. 제9항 또는 제10항에 있어서,
    상기 워치독 컨트롤러는,
    상기 제2마스크레지스터와 상기 제2카운터레지스터를 읽어 상기 처리단위수와 상기 목표단위수를 비교함을 특징으로 하는 마이크로 컴퓨터.
  12. 제11항에 있어서,
    상기 워치독 컨트롤러는,
    상기 제1마스크레지스터와 상기 제1카운터레지스터에 기록된 값이 서로 일치하면 상기 제1마스크레지스터와 상기 제1카운터레지스터에 기록된 값을 삭제하는 것을 특징으로 하는 마이크로 컴퓨터.
  13. 제12항에 있어서,
    상기 워치독 컨트롤러는,
    상기 제1마스크레지스터와 상기 제1카운터레지스터에 기록된 값이 서로 일치할 때의 상기 제2마스크레지스터와 상기 제2카운터레지스터 값을 비교하여,
    상기 목표단위수가 상기 처리단위수를 초과하면, 제어부 리셋 명령을 발송하고;
    상기 목표단위수가 상기 처리단위수 이하이면, 상기 제2마스크레지스터와 상 기 제2카운터레지스터에 기록된 값을 삭제하는 것을 특징으로 하는 마이크로 컴퓨터.
  14. 오류 발생 여부를 판단하는 워치독 회로를 포함하는 멀티 태스킹 가능한 마이크로 컴퓨터에 있어서,
    (A) 상기 워치독 회로의 동작 주기와 목표단위수를 결정하는 단계와;
    (B) 경과된 단위시간의 개수와 처리단위수를 누적하는 단계와;
    (C) 상기 주기의 경과 여부를 판단하는 단계와;
    (D) 상기 (C)단계에서 상기 주기가 경과한 것으로 판단되면, 상기 목표단위수와 상기 처리단위수를 비교하는 단계; 그리고
    (E) 상기 처리단위수가 상기 목표단위수 미만이면 상기 마이크로 컴퓨터를 리셋시키는 단계를 포함하여 수행됨을 특징으로 하는 마이크로 컴퓨터의 제어방법.
  15. 제14항에 있어서,
    상기 처리단위수는 정해진 주기 내에 실제 처리된 작업단위의 개수이고,
    상기 목표단위수는 상기 운영체제가 정한 처리 스케줄에 따라 정해진 주기 내에 처리될 작업단위의 개수임을 특징으로 하는 마이크로 컴퓨터 제어방법.
  16. 제15항에 있어서,
    상기 제어방법은,
    (F) 상기 처리단위수가 상기 목표단위수 이상이면 상기 (B)단계에서 누적된 단위시간의 개수와 상기 처리단위수를 0으로 설정하는 단계를 더 포함하여 수행됨을 특징으로 하는 마이크로 컴퓨터 제어방법.
  17. 제16항에 있어서,
    상기 제어방법은,
    상기 (F)단계의 수행 후 상기 (A)단계 내지 상기 (F)단계를 반복수행함을 특징으로 하는 마이크로 컴퓨터 제어방법.
  18. 제16항에 있어서,
    상기 (A)단계의 상기 워치독 회로의 동작 주기와 목표단위수는,
    상기 마이크로 컴퓨터의 운영체제에 의해 결정된 작업단위 처리 스케줄에 따라 가변됨을 특징으로 하는 마이크로 컴퓨터 제어방법.
  19. 제16항에 있어서,
    상기 제어방법은,
    (B') 상기 (B)단계에서 상기 경과된 단위시간의 개수와 처리단위수가 누적될 때마다 누적된 수를 레지스터에 기록하는 단계를 더 포함하여 수행됨을 특징으로 하는 마이크로 컴퓨터 제어방법.
  20. 제19항에 있어서,
    상기 제어방법은,
    (A') 상기 (A)단계에서 결정된 상기 워치독 회로의 동작 주기와 상기 목표단위수를 레지스터에 기록하는 단계를 더 포함하여 수행됨을 특징으로 하는 마이크로 컴퓨터 제어방법.
  21. 제20항에 있어서,
    상기 (C)단계는,
    상기 (A')단계에서 기록된 상기 워치독 회로의 동작 주기와 상기 (B')단계에서 기록된 상기 경과된 단위시간의 개수가 서로 일치하는지 여부를 비교함으로써 수행됨을 특징으로 하는 마이크로 컴퓨터 제어방법.
KR1020080071339A 2008-07-22 2008-07-22 마이크로컴퓨터와 마이크로컴퓨터의 제어방법 KR20100010390A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080071339A KR20100010390A (ko) 2008-07-22 2008-07-22 마이크로컴퓨터와 마이크로컴퓨터의 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080071339A KR20100010390A (ko) 2008-07-22 2008-07-22 마이크로컴퓨터와 마이크로컴퓨터의 제어방법

Publications (1)

Publication Number Publication Date
KR20100010390A true KR20100010390A (ko) 2010-02-01

Family

ID=42085080

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080071339A KR20100010390A (ko) 2008-07-22 2008-07-22 마이크로컴퓨터와 마이크로컴퓨터의 제어방법

Country Status (1)

Country Link
KR (1) KR20100010390A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679601A (zh) * 2013-11-28 2015-06-03 中国航空工业集团公司第六三一研究所 防干扰系统启动看门狗的方法
KR20160013607A (ko) 2014-07-28 2016-02-05 한국원자력연구원 에프피지에이 기반 3중화 제어 장치의 동작 건전성 감시 장치 및 방법
CN105677497A (zh) * 2015-12-10 2016-06-15 中国航空工业集团公司西安航空计算技术研究所 一种高可用性看门狗电路
CN107894949A (zh) * 2017-10-11 2018-04-10 五八有限公司 异常处理的方法、装置及设备
CN112437960A (zh) * 2018-06-18 2021-03-02 美光科技公司 存储器装置中的自适应看门狗
WO2022037014A1 (zh) * 2020-08-21 2022-02-24 苏州浪潮智能科技有限公司 一种arm服务器的启动修复方法及相关装置
KR20220084814A (ko) * 2020-12-14 2022-06-21 현대오토에버 주식회사 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679601A (zh) * 2013-11-28 2015-06-03 中国航空工业集团公司第六三一研究所 防干扰系统启动看门狗的方法
KR20160013607A (ko) 2014-07-28 2016-02-05 한국원자력연구원 에프피지에이 기반 3중화 제어 장치의 동작 건전성 감시 장치 및 방법
CN105677497A (zh) * 2015-12-10 2016-06-15 中国航空工业集团公司西安航空计算技术研究所 一种高可用性看门狗电路
CN107894949A (zh) * 2017-10-11 2018-04-10 五八有限公司 异常处理的方法、装置及设备
CN112437960A (zh) * 2018-06-18 2021-03-02 美光科技公司 存储器装置中的自适应看门狗
WO2022037014A1 (zh) * 2020-08-21 2022-02-24 苏州浪潮智能科技有限公司 一种arm服务器的启动修复方法及相关装置
KR20220084814A (ko) * 2020-12-14 2022-06-21 현대오토에버 주식회사 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치
KR20220151146A (ko) * 2020-12-14 2022-11-14 현대오토에버 주식회사 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치

Similar Documents

Publication Publication Date Title
KR20100010390A (ko) 마이크로컴퓨터와 마이크로컴퓨터의 제어방법
US8250543B2 (en) Software tracing
US11263081B2 (en) Checkpointing
US7890800B2 (en) Method, operating system and computing hardware for running a computer program
WO2014200551A1 (en) Identifying the introduction of a software failure
US20160357623A1 (en) Abnormality detection method and information processing apparatus
CA2292991C (en) Watch dog timer system
CN100538645C (zh) 用于执行计算机程序的方法和计算设备
JP2010122790A (ja) 診断装置及びコンピュータプログラム及び診断方法
JP2011008460A (ja) ダンプ出力制御装置、ダンプ出力制御プログラム、ダンプ出力制御方法
JP4992740B2 (ja) マルチプロセッサシステム、障害検出方法および障害検出プログラム
CN100451950C (zh) 信息处理装置、例外控制电路
JP4983142B2 (ja) プログラム監視方法、コンピュータ、および異常監視用プログラム
CN111400087A (zh) 一种操作系统的控制方法、终端以及存储介质
JP5133649B2 (ja) 電子機器およびメモリ管理プログラム
US20110107072A1 (en) Method for self-diagnosing system management interrupt handler
JP5627414B2 (ja) 動作ログ収集システム及びプログラム
US8271981B2 (en) Detecting an extraordinary behavior
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
JP5018140B2 (ja) マルチプロセッサシステム、タスクスケジューリング方法およびタスクスケジューリングプログラム
KR102300712B1 (ko) 스택 결함 원인을 진단하는 방법 및 장치
JP5534466B2 (ja) プログラム異常検出装置及びプログラム異常検出方法
CN115061842A (zh) 一种数据处理方法、装置、设备和存储介质
JP6558098B2 (ja) 情報処理装置、およびプログラム
CN101546280B (zh) 一种时序逻辑电路状态的监控装置和方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination