KR20080032168A - 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법 및 장치 - Google Patents

컴퓨터 시스템의 기능을 모니터링 하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20080032168A
KR20080032168A KR1020087003210A KR20087003210A KR20080032168A KR 20080032168 A KR20080032168 A KR 20080032168A KR 1020087003210 A KR1020087003210 A KR 1020087003210A KR 20087003210 A KR20087003210 A KR 20087003210A KR 20080032168 A KR20080032168 A KR 20080032168A
Authority
KR
South Korea
Prior art keywords
function
monitoring
mode
execution units
comparison
Prior art date
Application number
KR1020087003210A
Other languages
English (en)
Other versions
KR101031181B1 (ko
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 로베르트 보쉬 게엠베하
Publication of KR20080032168A publication Critical patent/KR20080032168A/ko
Application granted granted Critical
Publication of KR101031181B1 publication Critical patent/KR101031181B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명은 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법 및 장치에 관한 것으로, 전환 수단을 포함하고, 적어도 2개의 작동 모드 사이에서 전환이 이루어지고, 비교 수단을 포함하고, 제 1 작동 모드는 비교 모드에 해당하고 제 2 작동 모드는 실행 모드에 해당하고, 제 2 기능에 의해 제 1 기능이 모니터링 된다. 비교 모드에서 제 2 기능은 적어도 2개의 실행 유닛에서 처리되고, 적어도 2개의 실행 유닛에서 가공된 각각의 상기 제 2 기능은 동일한 제 1 기능을 모니터링 한다.
실행 유닛, 컴퓨터 시스템, 작동 모드, 비교 모드

Description

컴퓨터 시스템의 기능을 모니터링 하기 위한 방법 및 장치{Method and device for monitoring operations of computer system}
예컨대 자동차 기술 또는 자동화 기술과 같은 임베디드 시스템 분야에서, μC-하드웨어 내의 에러가 안전 관련 결과를 야기할 수 있는 적용 분야가 있다. 상기 결과를 방지하거나 또는 심각한 부작용을 줄이기 위해, 에러를 검출하는 모니터링 조치가 사용된다. 어떤 적용 분야에서는 상기 모니터링이 거의 영구적으로 필요하고, 다른 적용 분야에서는 규칙적으로(예컨대 주기적으로) 또는 특정 요구 조건에 따라 컴퓨터 또는 다른 소자들이 적절하게 작동하는지 여부를 체크하는 모니터링 기능이 있다. 본 발명은 상기 적용 분야들과 관련된다.
상기 용도에서 상기 모니터링 기능의 일부로서 예컨대 체크 루틴(Check routine)이 실시되고, 상기 체크 루틴은 특수한 소자들이 작동하는지 여부를 체크한다. 이는, 예컨대 실제 함수 알고리즘의 일부가 디폴트-입력-값과 계산된 후, 공지된 결과는 저장된 기준값과 비교된다. 상기 저장된 기준값은 이전에 산출될 수 있는데, 그 이유는 디폴트-입력-값과 알고리즘은 이미 소프트웨어를 만드는 시점에 이미 공지되어 있기 때문이다.
모니터링 기능의 다른 유형은, 출력 채널이 의도대로 로딩됨으로써 구현된 다. 이는, 센서값의 재판독과 조합되는데, 이 경우 상기 센서값은 특정 범위에 있어야 한다. 다수의 다른 변형예도 있다.
이러한 모든 모티터링 방법은 공통적으로, 소프트웨어로 실행되고 제어되고(가능한 μC-외부 하드웨어-모듈을 이용하여) 시스템의 기능을 체크한다.
고려된 테스트 조치에서는 소프트웨어 전체에 영향을 미치는 μC 코어 내의 에러가 모니터링 루틴 자체가 기능하지 않는 것을 야기하지 않도록 하는 것에 대해 더 많은 주의가 필요하다. 조치의 평가시 입증 가능성과 관련하여, 코어 자체 및 거기에서 실행되는 체크-소프트웨어가 정확하게 실행되는 것이 보장되어야 한다. 이러한 전제 하에서 체크 루틴이 정확하게 실행되는 것이 확실하게 보장될 수 있다. 이로 인해, 전체적으로 코어의 체크시 매우 많은 비용이 들며 다른 체크 루틴이 코어 에러와 무관함이 유지되어야 한다.
자동화 기술에서 일반적으로 소위 안전 기능에 관해 언급된다. 이는 전체적인 적용 분야에서 개별적으로 식별되고 문서화되며, 일반적으로 표준(예컨대 IEC 61508)의 조건에 부합해야 한다. 표준이 적용되지 않으면, 상기 안전 기능에서 에러 인식에 대한 매우 까다로운 요구 조건이 제시되고, 모니터링될 대상에서 모니터링 기능을 작동하는 것이 불가능하다.
또한, 공지된 체크 조치에서 기능 체크시 상기 체크는 특정 콘텍스트(context)에서 기능과 관련되는 경우가 종종 있다. 즉, 흔히 모든 또는 실제 유효한 콘텍스트에서 기능이 모니터링되는 것이 아니라, 디폴트 콘텍스트에서만 기능이 체크된다.
본 발명의 목적은, 콘텍스트에 따른 기능 체크가 가능해지고 이로써 모니터링 기능의 품질이 개선됨으로써 임베디드 시스템의 안전성을 개선하는 것이다. 또한, 제어 컴퓨터에서 안전 기능이 작동될 수 있어야 하고, 안전 기능을 위한 바람직한 실행 가능성이 제시되어야 한다. 다른 목적은, 소프트웨어에서 실행되는 모니터링 기능의 개발 및 작동시 비용을 감소시키는 것이다.
따라서, 본 발명의 장점은 모니터링 기능의 실행시 그것이 정확하고 에러없이(하드웨어 에러와 관련하여) 작동하는지가 함께 체크되는 것이다. 즉, 모니터링 기능에서 에러가 검출될 수 있다. 이로써, 현저히 간단해진 안전 구상이 가능하다. 이 경우, 소프트웨어 내의 모니터링은 기능에서 일반적으로 나타나는 실행 유닛의 에러에 대해서 100 % 커버율을 갖는다. 콘텍스트를 포함하는 기능 체크도 가능해진다. 안전 구상을 위한 개발 비용도 감소된다. 전체적인 시스템 복잡성도 감소된다. 따라서 상기 구상은 다른 안전 관련 기능도 비교 모듈에서 실행될 수 있도록 간단하게 확장될 수 있다. 이러한 구상은, 안전 기능이 더 간단하게 실행되고 특수 모드에서 제어 컴퓨터에서 함께 실행되는 것을 가능하게 한다.
적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템의 기능을 모니터링하기 위한 방법으로서, 적어도 2개의 작동 모드 사이에서 전환이 이루어지고, 제 1 작동 모드는 비교 모드에 해당하고, 제 2 작동 모드는 실행 모드에 해당하고, 제 1 기능은 제 2 기능에 의해 모니터링되는, 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법에 있어서, 상기 제 2 기능은 비교 모드에서 적어도 2개의 실행 유닛에서 처리되고, 적어도 2개의 실행 유닛에서 처리된 각각의 제 2 기능들은 동일한 제 1 기능을 모니터링하는 것을 특징으로 하는 방법이 바람직하다.
제 2 기능이 제 1 기능을 주기적으로 모니터링 하는 것을 특징으로 하는 방법이 바람직하다.
제 1 기능이 실행 모드에서 처리되는 것을 특징으로 하는 방법이 바람직하다.
제 2 기능 처리시 적어도 2개의 실행 유닛에 나타나는 결과들이 서로 비교되어 제 2 기능이 모니터링되는 것을 특징으로 하는 방법이 바람직하다.
제 2 기능은 적어도 2개의 실행 유닛에서 콘텍스트에 따른 값을 기초로 처리되고 이 경우 나타나는 결과가 비교되는 것을 특징으로 하는 방법이 바람직하다.
제 2 기능 외에도 다른 기능을 모니터링하는 추가 기능이 제공되고, 상기 추가 기능의 일부만이 비교 모드에서 적어도 2개의 실행 유닛에서 실행됨으로써 자체적으로 체크되는 것을 특징으로 하는 방법이 바람직하다.
적어도 2개의 실행 유닛을 가진 컴퓨터 시스템의 기능을 모니터링하기 위한 장치로서, 전환 수단을 포함하고, 적어도 2개의 작동 모드 사이에서 전환이 이루어지고, 비교 수단을 포함하고, 제 1 작동 모드는 비교 모드에 해당하고 제 2 작동 모드는 실행 모드에 해당하고, 제 1 기능은 제 2 기능에 의해 모니터링되는, 컴퓨터 시스템의 기능을 모니터링하기 위한 장치에 있어서, 제 2 기능이 비교 모드에서 적어도 2개의 실행 유닛에서 처리되고, 적어도 2개의 실행 유닛에서 처리된 상기 각각의 제 2 기능은 동일한 제 1 기능을 모니터링하도록 형성되는 것을 특징으로 하는 장치가 바람직하다.
제 2 기능의 처리시 적어도 2개의 실행 유닛에서 나타나는 결과가 비교 수단에 의해 서로 비교됨으로써 제 2 기능이 모니터링 되도록 형성되는 것을 특징으로 하는 장치가 바람직하다.
제 2 기능이 적어도 2개의 실행 유닛에서 콘텍스트에 따른 값을 기초로 처리되고 이 경우 나타나는 결과가 비교되도록 형성되는 것을 특징으로 하는 장치가 바람직하다.
제 2 기능 외에도 다른 기능을 모니터링하는 추가 기능이 제공되고, 상기 추가 기능의 일부만 비교 모드에서 적어도 2개의 실행 유닛에서 실행됨으로써 자체적으로 체크 되도록 형성되는 것을 특징으로 하는 장치가 바람직하다.
전환 수단과 비교 수단이 하나의 전환- 및 비교 유닛에 포함되는 것을 특징으로 하는 장치가 바람직하다.
전환- 및 비교 유닛이 제 2 기능의 모니터링을 실행하는 것을 특징으로 하는 장치가 바람직하다.
다른 장점들 및 바람직한 실시예들은 청구범위 및 상세한 설명에 제시된다.
도 1은 전환- 및 비교 유닛의 일반도.
도 2는 본 발명에 따른 시스템의 컴퓨터 유닛 내의 소자들을 도시한 도면.
도 3은 기능 집합의 분포를 도시한 도면.
도 4는 기능 집합의 대안적인 분포를 도시한 도면.
도 5는 결정 프로세스의 순서도.
도 6은 2개의 실행 유닛을 가진 멀티프로세서 시스템을 도시한 도면.
실행 유닛은 하기에서 프로세서/코어(core)/CPU 및 FPU(Floating Point Unit), DSP(Digital Signal processor), 코프로세서(coprocessor) 또는 ALU(Arithmetic logical Unit)라고 할 수 있다.
본 발명은 적어도 2개의 실행 유닛(W110a, W110b), 비교 유닛(W120), 및 전환 유닛(W150)을 가진, 도 6에 도시된 멀티프로세서 시스템(W100)에 관한 것이다. 상기 도면에서 전환 가능한 멀티프로세서 시스템의 원리가 2개의 프로세서 시스템에 의해 설명된다. 따라서, 도 1에 2개 이상의 실행 유닛을 위한 전환- 및 비교 유닛의 일반적인 경우가 도시된다. 제안된 본 발명은 2개 이상의 실행 유닛을 가진 일반적인 경우에 관한 것이다. 도 6의 실행 유닛들은 선택적 중간 메모리(W111a, W111b)를 통해 비교 유닛(W120)과 전환 유닛(W150)에 연결된다. 전환 유닛(W150a)은 2개의 시스템 인터페이스(W130a, W130b)에 대해 적어도 2개의 출력부를 포함한다. 상기 인터페이스를 통해 레지스터, 메모리 또는 디지털 출력부, D/A-변환기, 통신 조절기와 같은 주변 장치가 제어될 수 있다. 상기 멀티프로세서 시스템은 적어도 2개의 작동 모드, 즉 비교 모드(VM)와 실행 모드(PM)로 작동될 수 있다. 실행 모드(PM)에서, 상이한 실행 유닛에서 상이한 명령, 프로그램 세그먼트 또는 프로그램이 동시에 실행된다. 이러한 작동 모드에서 비교 유닛은 비활성화된다. 전환 유닛(W150)은 상기 작동 모드에서, 각각의 실행 유닛이 선택적 중간 메 모리를 통해 시스템 인터페이스들(W130a, W130b) 중 하나에 연결되도록 구성된다. 시스템 인터페이스를 통해 실행 유닛의 결과가 메모리(W170) 에 기록될 수 있거나 또는 주변 장치(W180, W190)에 출력될 수 있다. 주변 장치는 예컨대 아날로그-디지털 변환기 또는 통신 시스템(예컨대 SPI, LIN, CAN, FlexRay)의 통신 조절기일 수 있다. 비교 유닛의 비활성화를 위해 여러 가능성이 있다. 첫 번째는 비교기에 상기 비교기를 활성화하거나 또는 비활성화할 수 있는 신호가 안내된다. 이를 위해, 비교기 내에 이를 실행할 수 있는 추가 로직이 삽입된다. 제 2 가능성은 비교기에 비교될 데이터를 제공하는 것이다. 제 3 가능성은 시스템 계층(system level)에서 비교기의 에러 신호를 무시하는 것이다. 또한, 에러 신호 자체가 차단될 수 있다. 모든 가능성들은 공통적으로, 시스템 내에서, 잠재적으로 비교되는 2개 이상의 데이터들이 상이할 때 관여하지 않는 상태를 발생시킨다. 이러한 상태가 비교기 내의 조치 또는 그 입력- 또는 출력 신호에 의해 달성되면, 비교기는 패시브 또는 비활성화라로 표시된다. 비교 모드(VM)에서 2개의 실행 유닛들(W110a, W110b)에서 동일거나 또는 동일한 종류의 명령, 프로그램 세그먼트 또는 프로그램이 처리된다. 선택적 중간 메모리(W111a, W111b)를 통해 실행 유닛의 출력 신호가 비교 유닛(W120)과 전환 유닛(W150)에 제공된다. 비교 유닛에서 2개의 데이터들이 일치하는지 여부가 체크된다. 후속 비교 후에 전환 유닛에 상태 신호(W125)에 의해, 상기 전환 유닛이 일치하는 결과중 하나를 시스템 인터페이스에 전달해도 되는지 여부 또는 결과의 검출된 불일치로 인해 신호가 차단되어야 하는지 여부가 알려진다. 이러한 경우에 비교 유닛에 의해 선택적 에러 신호가 송출될 수 있다. 상 기 에러 신호는 비교 유닛 대신에 전환 유닛에 의해 출력될 수 있다(W156). 전환은 특수한 전환 인스트럭션, 특수한 인스트럭션시퀀스, 명백하게 특징화된 인스트럭션의 실행을 통해 또는 멀티프로세스 시스템의 실행 유닛들 중 적어도 하나에 의한 특정 메모리어드레스에 대한 액세스를 통해 야기될 수 있다.
또한, 도 1에는 어떻게 전환- 및 비교 유닛이 바람직하게 이용되어야 하는지 전환- 및 비교 유닛이 일반적으로 도시된다. 고려되는 n개의 실행 유닛들로부터 n개의 신호들(N140,...,N14n)이 전환- 및 비교 소자들(N100)에 제공된다. 상기 소자들은 상기 입력 신호들로부터 n개까지의 출력 신호들(N160,...N16n)을 발생시킬 수 있다. 가장 간단한 경우에, "순수 실행 모드"에서, 모든 신호들(N14i)은 상응하는 출력 신호들(N16i)에 전달된다. 반대의 경우에, 즉 "순수 비교 모드"에서 모든 신호들(N140,...,N14n)은 출력 신호들(N16i) 중 정확히 하나에만 전달된다.
이 도면에 가능한 여러 모드들이 어떻게 형성될 수 있는지가 나타난다. 이를 위해, 이 도면에서 스위칭 로직(N110)은 논리 소자들을 포함한다. 상기 스위칭 로직은 먼저 얼마나 많은 출력 신호들이 있는지 결정한다. 또한, 스위칭 로직(N110)은 입력 신호들이 출력 신호들 중 어떤 것에 기여하는지 결정한다. 수학적 형태로 다르게 표현하면 스위칭 로직에 의해 집합{N140,...,N14n}의 각각의 원소에 집합{N160,...,N16n}의 원소를 할당하는 함수가 규정된다.
처리 로직(N120)은 각각의 출력부(N16i)에 대해, 어떤 형태로 입력부가 상기 출력 신호에 대해 기여하는지를 결정한다. 예를 들어 다양한 변형 가능성을 설명하기 위해, 보편성을 제한하지 않으면서 출력부(N160)는 신호들(N141,...N14m)에 의해 형성되는 것이 가정된다. m = 1인 경우, 간단하게 신호가 연결되고, m = 2인 경우에 신호들(N141, N142)이 비교된다. 이러한 비교는 동기식 또는 비동기식으로 실행될 수 있고, 비트마다, 또는 상위 비트에 대해서만, 또는 허용 대역으로 실행될 수 있다.
m >=3인 경우 여러 가능성이 있다. 첫 번째는 모든 신호들이 비교되고, 적어도 2개의 상이한 값들이 존재할 경우 선택적으로 신호화 할 수 있는 하나의 에러를 검출하는 것이다. 두 번째는 m으로부터 k를 선택하는 것이다(k > m/2). 이는 비교기를 사용함으로써 이루어질 수 있다. 신호들 중 하나가 다른 것으로 검출되면, 선택적으로 에러 신호가 발생될 수 있다. 총 3개의 신호들이 상이하면, 가능한 상이한 에러 신호가 발생될 수 있다. 세 번째는 상기 값들을 알고리즘에 제공하는 것이다. 이는 예컨대 평균값, 중간값의 형성 또는 에러 허용 알고리즘(FTA)의 이용일 수 있다. 상기 FTA는, 입력값들의 극값들을 삭제하고 나머지 값들에 대한 평균을 구하는 방식을 실시하는 것에 기초한다. 이러한 평균화는 나머지 값들의 전체 집합에 의해 또는 바람직하게 하드웨어로 간단하게 형성되는 부분 집합에 의해 이루어질 수 있다. 이러한 경우에, 값들을 실제로 비교하는 것이 항상 필요하지는 않다. 평균값 형성시 예컨대 단지 더하고 나누면 되고, FTM, FTA 또는 중간값은 부분적인 분류를 필요로 한다. 경우에 따라서, 본 실시예에서 극값들이 충분히 큰 경우에도 선택적으로 에러 신호가 출력될 수 있다.
다수의 신호들을 하나의 신호로 처리하는 상기 여러 가능성은 간단하게 비교 연산이라고 한다.
처리 로직의 과제는, 각각의 출력 신호 그리고 이로써 관련 입력 신호를 위한 비교 연산의 정확한 형태를 결정하는 것이다. 스위칭 로직(N110, 즉 상기 기능)과 처리 로직(즉 출력 신호, 즉 함수값 당 비교 연산의 결정)의 정보의 조합은 모드 정보이고, 이것은 모드를 결정한다. 상기 정보는 일반적인 경우에 물론 다치적(multivalued )인데, 즉 하나의 논리 비트에 대해서만 나타낼 수 없다. 이론적으로 고려할 수 있는 모든 모드들이 주어진 실행시 바람직하지 않고, 바람직하게 허용된 모드의 개수는 제한된다. 하나의 비교 모드만 주어진 2개의 실행 유닛만 있는 경우에, 전체 정보는 하나의 논리 비트만으로 압축될 수 있다.
일반적인 경우에 실행 모드로부터 비교 모드로의 전환은, 실행 유닛들이 실행 모드에서 상이한 출력부들에 나타나고, 비교 모드에서는 동일한 출력부로 나타나는 것을 특징으로 한다. 바람직하게 이는, 실행 모드에서 부분 시스템에서 고려되는 모든 입력 신호들(N14i)이 해당 출력 신호(N16i)로 직접 전환되는 한편, 비교 모드에서는 상기 모든 입력 신호들이 모두 하나의 출력부로 나타나는 실행 유닛들의 부분 시스템이 제공됨으로써 달성될 수 있다. 대안으로서, 상기 전환은 페어링(pairing)이 변경됨으로써 이루어질 수 있다. 따라서, 본 발명의 주어진 특징에서 허용된 모드들의 개수가 실행 모드 및 비교 모드의 경우가 되게 제한될 수 있더라도, 일반적인 경우에 실행 모드 및 비교 모드라고 할 수 없다. 그러나 항상, 실행 모드로부터 비교 모드(및 그 반대로)로의 전환이라고는 할 수 있다.
작동시 상기 모드들 사이에서 소프트웨어에 의한 제어식으로 다이내믹하게 전환될 수 있다. 예컨대 특수한 전환 인스트럭션, 특수한 인스트럭션시퀀스, 명백 하게 특징화된 인스트럭션의 실행을 통해 또는 멀티프로세서 시스템의 실행 유닛들 중 적어도 하나에 의한 특정 어드레스에 대한 액세스를 통해 전환이 야기된다.
비교 모드에서 모니터링 기능을 실행하는 것이 제안된다. 이 경우 모니터링 기능은 소자, 부분 시스템 또는 대상의 기능 또는 기능성을 체크하는 기능이다.
상기 개념은 하기에에서 상세히 설명된다.
도 2에는 어떤 소자가 본 발명에 따른 시스템의 컴퓨터 유닛에 제공되는지 도시된다. 컴퓨터 유닛(O200)은 다수의 실행 유닛들(O210,...O21n)을 포함한다. 또한, 하나의 전환- 및 비교 유닛(O220)을 포함한다. 상기 유닛은 바람직하게 소자으로서 컴퓨터 유닛에 제공되지만, 컴퓨터 유닛 외부에 제공될 수 있는 다양한 소자들로 분할될 수 있다. 예컨대 도 2에 대한 설명에서와 같이, 컴퓨터 유닛은 전환- 및 비교 유닛이 필요로 하는 기능을 제공할 수 있는 것이 중요하다. 또한, 상기 컴퓨터 유닛에서 바람직하게 소프트웨어에서 구현되는 기능이 실행된다. 상기 기능은 블록 O230으로서 도면에서 컴퓨터 유닛 O200 옆에 도시되는데, 그 이유는 이것은 개념적으로 다른 관점이기 때문이다.
도 3에 기능(O230)의 분할이 도시된다. 기능의 전체 집합(O300)은 O230이다. 상기 전체 집합은 모니터링 기능(O320) 및 다른 기능(O310)으로 분할된다. 기본 개념의 가장 간단한 형태에서 모니터링 기능은 비교 모드에서 산출되거나 또는 실행되는 한편, 다른 기능은 실행 모드에서 실행된다.
이 경우 주요 장점은, 모니터링 기능의 실행시 그것의 적절하고 에러없는(하드웨어 에러에 대해서) 기능이 함께 체크되는 것이다. 또한, 모니터링 기능 내의 에러가 자체적으로 검출될 수 있다. 이로써, 현저히 간단해진 안전 구상이 가능하다. 이 경우, 소프트웨어 내의 모니터링은 주로 기능에서 나타나는 실행 유닛의 에러에 대해서 100 % 커버율을 갖는다. 이 경우 전술한 모니터링 기능이 소프트웨어로 실행되기 때문에, 상기 모니터링 기능이 그 적절한 기능을 실행하기 위한 대전제, 즉 상기 모니터링 기능이 실행되는 "브레인"(실행 유닛)이 적절하게 작동된다는 것이 충족된다. 이로써 상기 실행 유닛이 함께 모니터링 되는 것 외에도 모니터링 기능의 품질이 자체적으로 개선된다. 안전 구성 개발시 이러한 문제점(실행 유닛이 함께 모니터링되어야 함)은 항상 해결되어야 하기 때문에, 일반적으로 실행 유닛의 에러 검출시 많은 비용이 들고 모니터링 기능에서 이와 관련된 에러가 발생된다. 개발시 상기 비용이 감수된다. 그러나 이는 추가의 또는 복잡한 소자들을 필요로 하고 시스템 복잡성이 증가된 시스템에도 자동적으로 반영된다. 이로써, 시스템의 안정성 및 안전에 부정적인 영향을 미친다. 여기에 설명된 본 발명을 이용함으로써, 안전- 또는 모니터링 구상을 위한 개발 비용이 감소되고 전체 시스템 복잡성이 감소된다. 이로써 간접적으로는 비용 절감 외에도 시스템의 안정성 및 안전이 개선된다.
또한, 안전의 더욱 확실한 개선은 많은 분야에서 본 발명을 이용함으로써 실제 콘텍스트로 상기 모니터링 기능을 산출하는 것이 가능하다. 하나의 실행 유닛에서만 모니터링 기능을 실행할 경우 모니터링 기능의 정확도를 결정하기 위해 일반적으로 여기에서 관련된 소자들 외에 공지된 기준값과의 비교가 필요하다. 여러 적용예에서 이는, 비소멸성 메모리 소자에 저장된 디폴트값이 산출됨으로써 이루어 질 수 있다. 상기 값은 개발 시점에, 즉 비작동시 산출되고, 따라서 여기서 가정되었던 특수한 콘텍스트에 대해서만 적용된다. 그러나 에러가 특정 콘텍스트에서만 언급되는 경우가 종종 있다. 예컨대 2개의 특정 정수를 곱하여 결과를 저장되어 공지된 값과 비교함으로써, 증배 소자 내의 에러가 항상 검출될 수 있는 것은 아니다. 흔히, 상기 에러는 입력값들의 특수한 조합시 잘못된 결과가 얻어짐으로써 야기된다. 즉, 상기 디폴트값으로 제한된 모니터링 기능은 감소된 에러 검출을 포함한다. 본 발명을 적용함으로써 모니터링 기능에 콘텍스트에 따른 값을 제공하는 것이 가능한데, 그 이유는 실행 유닛 내의 에러를 검출하는데 필요한 비교는 전환- 및 비교 유닛에 의해 이루어지기 때문이다.
대부분의 적용시 실행 모드에서 다른 기능 O310을 산출하는 것이 바람직한데, 그 이유는 시스템 출력이 최적화되기 때문이다.
이러한 개념의 변형은 도 4에 도시된다. 부분 집합(O031, O311, O321)은 도 3의 (O300, O310, O320)에 상응한다. 부분 집합(O311, O321)은 다시(O350, O360 또는 O330, O340)으로 2분 된다. 추구하는 개념은, 비교 모드에서 모든 모니터링 기능이 실행되어야 한다는 것이 아니라 실행 유닛의 모니터링에 중요한 모니터링 기능만 실행되어야 한다는 것이다. 이는 O330으로 도시되는 한편, 실행 유닛의 모니터링이 실행 모드에서는 중요하지 않은 모니터링 기능의 다른(바람직하게 매우 작은) 부분 집합은 O340으로 도시된다. 따라서 O311의 분할이 이해된다. 즉 O350은 예컨대 주요 작용기를 직접 제어하는 기능일 수 있다. 즉, 모니터링 기능이 아닌 기능의 일부는 비교 모드에서 실행될 수 있다. 이는 O350에 포함된다. 기존의 기능 O360은 실행 모드에서 실행된다.
도 5는 O340이 비어 있고, 실행- 또는 비교 모드만 있는 바람직한 경우를 위한 기본적인 결정 과정을 도시한다.
대전제는 모니터링 기능의 집합이 O311로 공지되어 있다는 것이다. 이는, 태크/프로세스/쓰레드(task/process/therad) 영역(하기에서서는 프로세스라고 함)에서 프로세스를 모니터링 기능을 처리하는 V-프로세스와 하기에서 P-프로세스라고 하는 다른 프로세스로 구분할 수 있다. P-프로세스 아래에 모니터링 기능과 무관하지만 비교 모드에서 고려되어야 하는 프로세스가 있다(부분 집합 O350의 기능에 해당함). 이는 하기에서 PV-프로세스라고 한다.
단계 O400에 스케줄러의 "휴지 상태"가 포함된다. 스케줄러가 단계 O400에서 프로세스를 스케줄링시키자마자, 단계 O420에서 P-프로세스 또는 V-프로세스인지 여부가 결정된다. V-프로세스이면 이것은(단계 O400에서) 비교 모드에서 처리되고, 스케줄러는 그 휴지 상태로 돌아간다(단계 O400 이후). P-프로세스인 경우, 다음 단계 O430에서 PV-프로세스인지 여부가 체크된다. 그러한 경우이면, 프로세스(단계 O460에서)는 비교 모드에서 처리되고, 스케줄러는 그 휴지 상태로 돌아간다(단계 O400 후). 그렇지 않은 경우이면, 프로세스(단계 O440에서)는 실행 모드에서 처리된다. 이러한 경우에 단계 O450에서 실행 유닛에 대한 할당이 이루어져야 한다. 그리고 나서 스케줄러는 다시 휴지 상태로 돌아간다(O400).

Claims (12)

  1. 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법으로서, 적어도 2개의 작동 모드 사이에서 전환이 이루어지고, 제 1 작동 모드는 비교 모드에 해당하고, 제 2 작동 모드는 실행 모드에 해당하고, 제 1 기능은 제 2 기능에 의해 모티터링되는, 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법에 있어서,
    상기 제 2 기능은 비교 모드에서 적어도 2개의 실행 유닛에서 처리되고, 적어도 2개의 실행 유닛에서 처리된 상기 각각의 제 2 기능은 동일한 제 1 기능을 모니터링 하는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법.
  2. 제 1 항에 있어서, 상기 제 2 기능은 상기 제 1 기능을 주기적으로 모니터링 하는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법.
  3. 제 1 항에 있어서, 상기 제 1 기능은 실행 모드에서 처리되는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법.
  4. 제 1 항에 있어서, 적어도 2개의 실행 유닛에서 상기 제 2 기능의 처리시 나타나는 결과들이 서로 비교됨으로써, 제 2 기능이 모니터링되는 것을 특징으로 하 는 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법.
  5. 제 1 항에 있어서, 상기 제 2 기능은 적어도 2개의 실행 유닛에서 콘텍스트에 따른 값을 기초로 처리되고, 이때 나타나는 결과들이 비교되는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법.
  6. 제 1 항에 있어서, 상기 제 2 기능 외에도, 다른 기능을 모니터링 하는 추가 기능이 제공되고, 상기 추가 기능의 일부만이 비교 모드에서 적어도 2개의 실행 유닛에서 실행됨으로써 자체적으로 체크되는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 방법.
  7. 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 장치로서, 전환 수단을 포함하고, 적어도 2개의 작동 모드 사이에서 전환이 이루어지고, 비교 수단을 포함하고, 제 1 작동 모드는 비교 모드에 해당하고, 제 2 작동 모드는 실행 모드에 해당하고, 제 1 기능은 제 2 기능에 의해 모니터링 되는, 컴퓨터 시스템의 기능을 모니터링 하기 위한 장치에 있어서,
    상기 장치는, 제 2 기능이 비교 모드에서 적어도 2개의 실행 모드에서 처리되고, 적어도 2개의 실행 유닛에서 처리되는 상기 각각의 제 2 기능들은 동일한 제 1 기능을 모니터링하도록 형성되는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 장치.
  8. 제 7 항에 있어서, 상기 장치는 적어도 2개의 실행 유닛에서 상기 제 2 기능의 처리시 나타나는 결과들이 비교 수단에 의해 서로 비교됨으로써 상기 제 2 기능이 모니터링되도록 형성되는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 장치.
  9. 제 7 항에 있어서, 상기 제 2 기능은 적어도 2개의 실행 유닛에서 콘텍스트에 따른 값을 기초로 처리되고, 이때 나타나는 결과들이 비교되도록 형성되는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 장치.
  10. 제 7 항에 있어서, 상기 제 2 기능 외에도 다른 기능을 모니터링하는 추가 기능이 제공되고, 상기 추가 기능의 일부만 비교 모드에서 적어도 2개의 실행 유닛에서 실행됨으로써 자체적으로 체크되는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 장치.
  11. 제 7 항에 있어서, 상기 전환 수단 및 상기 비교 수단은 하나의 전환- 및 비교 유닛에 포함되는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 장치.
  12. 제 7 항에 있어서, 상기 전환- 및 비교 유닛은 상기 제 2 기능을 모니터링을 실행하는 것을 특징으로 하는 컴퓨터 시스템의 기능을 모니터링 하기 위한 장치.
KR1020087003210A 2005-08-08 2006-07-27 컴퓨터 시스템의 기능을 모니터링하기 위한 방법 및 장치 KR101031181B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005037230.9 2005-08-08
DE102005037230A DE102005037230A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems

Publications (2)

Publication Number Publication Date
KR20080032168A true KR20080032168A (ko) 2008-04-14
KR101031181B1 KR101031181B1 (ko) 2011-04-26

Family

ID=37680924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087003210A KR101031181B1 (ko) 2005-08-08 2006-07-27 컴퓨터 시스템의 기능을 모니터링하기 위한 방법 및 장치

Country Status (9)

Country Link
US (1) US8108716B2 (ko)
EP (1) EP1915690A2 (ko)
JP (1) JP2009505186A (ko)
KR (1) KR101031181B1 (ko)
CN (1) CN101243403A (ko)
DE (1) DE102005037230A1 (ko)
RU (1) RU2008108475A (ko)
TW (1) TW200736901A (ko)
WO (1) WO2007017396A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005037230A1 (de) 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems
DE102011086530A1 (de) * 2010-11-19 2012-05-24 Continental Teves Ag & Co. Ohg Mikroprozessorsystem mit fehlertoleranter Architektur
US9754115B2 (en) * 2011-03-21 2017-09-05 Irdeto B.V. System and method for securely binding and node-locking program execution to a trusted signature authority
JP5541246B2 (ja) * 2011-07-21 2014-07-09 株式会社デンソー 電子制御ユニット
DE102012207215A1 (de) 2012-04-30 2013-10-31 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems, vorzugsweise eines Motorsteuersystems eines Kraftfahrzeuges
KR101558280B1 (ko) 2013-09-02 2015-10-12 주식회사 팀스톤 계측 윈도우 제어 방법 및 이를 수행하는 사용자 단말
DE102013224702A1 (de) 2013-12-03 2015-06-03 Robert Bosch Gmbh Steuergerät für ein Kraftfahrzeug
DE102013227165A1 (de) * 2013-12-27 2015-07-16 Siemens Aktiengesellschaft Überwachungsvorrichtung zur Überwachung eines Schaltkreises
DE102016125240A1 (de) * 2016-12-21 2018-06-21 Endress+Hauser SE+Co. KG Elektronische Schaltung für ein Feldgerät der Automatisierungstechnik
DE102018120344A1 (de) * 2018-08-21 2020-02-27 Pilz Gmbh & Co. Kg Automatisierungssystem zur Überwachung eines sicherheitskritischen Prozesses
DE102020001561A1 (de) 2020-03-10 2021-09-16 Drägerwerk AG & Co. KGaA Medizingeräteanordnung mit einem Prüfmodul
DE102020119297A1 (de) 2020-07-22 2022-01-27 Endress+Hauser SE+Co. KG Verfahren zum Überwachen eines ersten Prozessors eines Sensormoduls durch einen zweiten Prozessor

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233615A (en) 1991-06-06 1993-08-03 Honeywell Inc. Interrupt driven, separately clocked, fault tolerant processor synchronization
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
JPH08297588A (ja) * 1995-04-25 1996-11-12 Fujitsu Ltd 二重照合装置
US5875195A (en) * 1997-03-31 1999-02-23 International Business Machines Corporation Method and apparatus for error injection techniques
US6615366B1 (en) 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
US6772368B2 (en) 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
DE10136335B4 (de) * 2001-07-26 2007-03-22 Infineon Technologies Ag Prozessor mit mehreren Rechenwerken
US7085959B2 (en) * 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
JP2004259137A (ja) * 2003-02-27 2004-09-16 Denso Corp 電子制御装置
US20070277023A1 (en) * 2003-06-24 2007-11-29 Reinhard Weiberle Method For Switching Over Between At Least Two Operating Modes Of A Processor Unit, As Well Corresponding Processor Unit
DE10349581A1 (de) * 2003-10-24 2005-05-25 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit
GB0325553D0 (en) * 2003-11-01 2003-12-03 Ibm Method and apparatus for activating/deactivating run-time determined software routines in Java compiled bytecode applications
KR20070083759A (ko) * 2004-10-25 2007-08-24 로베르트 보쉬 게엠베하 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서모드 전환을 위한 방법 및 장치
US20070255875A1 (en) * 2004-10-25 2007-11-01 Reinhard Weiberle Method and Device for Switching Over in a Computer System Having at Least Two Execution Units
KR100663864B1 (ko) * 2005-06-16 2007-01-03 엘지전자 주식회사 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법
DE102005037230A1 (de) 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems

Also Published As

Publication number Publication date
US8108716B2 (en) 2012-01-31
EP1915690A2 (de) 2008-04-30
US20100192021A1 (en) 2010-07-29
RU2008108475A (ru) 2009-09-20
KR101031181B1 (ko) 2011-04-26
WO2007017396A3 (de) 2007-10-25
DE102005037230A1 (de) 2007-02-15
JP2009505186A (ja) 2009-02-05
TW200736901A (en) 2007-10-01
CN101243403A (zh) 2008-08-13
WO2007017396A2 (de) 2007-02-15

Similar Documents

Publication Publication Date Title
KR101031181B1 (ko) 컴퓨터 시스템의 기능을 모니터링하기 위한 방법 및 장치
KR101067264B1 (ko) 컴퓨터 시스템의 제어 방법 및 장치
US8826288B2 (en) Computing with both lock-step and free-step processor modes
JP5053854B2 (ja) 少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置
US20060085677A1 (en) Method and apparatus for seeding differences in lock-stepped processors
JP2008518339A (ja) 少なくとも2つの実施ユニットを有する計算機において切り替える装置および方法
CN102741818A (zh) 故障诊断系统、用于车辆的电子控制单元、故障诊断方法
US9164799B2 (en) Multiprocessor system
KR20090077773A (ko) 내연 기관의 엔진 제어 장치의 기능을 모니터링하기 위한 방법 및 장치
KR20070062573A (ko) 적어도 2개의 실행 유닛을 구비한 컴퓨터 시스템의 전환장치 및 전환 방법
US8533517B2 (en) Clock switching circuits and methods to select from multiple clock sources
KR20070083776A (ko) 적어도 하나의 외부 신호에 의한 멀티 프로세서 시스템의작동 모드 사이의 스위칭을 위한 방법 및 장치
JP5699896B2 (ja) 情報処理装置、異常判定方法
US10423421B2 (en) Opportunistic utilization of redundant ALU
CN101243397B (zh) 用于控制计算机系统的方法和设备
JP2008518340A (ja) 少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法および装置
US11327853B2 (en) Multicore system for determining processor state abnormality based on a comparison with a separate checker processor
US20080222336A1 (en) Data processing system
JP7236811B2 (ja) 情報処理装置
JP7169081B2 (ja) 情報処理装置
WO2019188171A1 (ja) コード生成方法、コード生成装置
US8782294B1 (en) Intra-processor resource control
US20090037705A1 (en) Method and Device for Processing Data Words and/or Instructions
US20100268923A1 (en) Method and device for controlling a computer system having at least two groups of internal states

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee