KR20170106820A - 프로세서 시스템 및 그것의 고장 검출 방법 - Google Patents

프로세서 시스템 및 그것의 고장 검출 방법 Download PDF

Info

Publication number
KR20170106820A
KR20170106820A KR1020160030450A KR20160030450A KR20170106820A KR 20170106820 A KR20170106820 A KR 20170106820A KR 1020160030450 A KR1020160030450 A KR 1020160030450A KR 20160030450 A KR20160030450 A KR 20160030450A KR 20170106820 A KR20170106820 A KR 20170106820A
Authority
KR
South Korea
Prior art keywords
output signal
clock
processor
drive
voltage
Prior art date
Application number
KR1020160030450A
Other languages
English (en)
Other versions
KR102162321B1 (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 한국전자통신연구원
Priority to KR1020160030450A priority Critical patent/KR102162321B1/ko
Priority to US15/432,588 priority patent/US10430301B2/en
Publication of KR20170106820A publication Critical patent/KR20170106820A/ko
Application granted granted Critical
Publication of KR102162321B1 publication Critical patent/KR102162321B1/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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • 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
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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

Landscapes

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

Abstract

본 발명의 실시 예에 따른 프로세서 시스템은, 제 1 구동 전압 및 제 1 구동 클록에 의해서 구동되는 제 1 프로세서, 제 2 구동 전압 및 제 2 구동 클록에 의해서 구동되며, 상기 제 1 프로세서와 동일한 작업을 수행하는 제 2 프로세서, 그리고 상기 제 1 프로세서로부터의 제 1 출력 신호와 상기 제 2 프로세서로부터의 제 2 출력 신호에 대한 레벨 동기화 또는 클록 도메인 동기화를 수행하여 비교하는 결함 검출기를 포함하되, 상기 제 1 구동 전압과 상기 제 2 구동 전압 각각은 상호 독립적인 전원 소스들로부터 공급되고, 상기 제 1 구동 클록과 상기 제 2 구동 클록 각각은 상호 독립적인 클록 발생기들로부터 제공된다.

Description

프로세서 시스템 및 그것의 고장 검출 방법{PROCESSOR SYSTEM AND FAULT DETECTION METHOD THEREOF}
본 발명은 전자 장치에 관한 것으로, 좀 더 상세하게는 복수의 프로세서들을 포함하는 프로세서 시스템 및 그것의 고장을 감지하는 방법에 관한 것이다.
중앙처리장치(Central Processing Unit: 이하, CPU)의 응용 영역은 시스템 반도체 전분야에 걸쳐서 광대하게 적용되고 있다. CPU 코어(CPU Core; Processor Core)의 응용 영역은 데이터의 처리가 필요한 다양한 응용 영역으로 확대되고 있다. 최근에는 자동차 시스템 등에서는 ADAS(Advanced Driver Assistance System)와 같은 고도의 지능과 정밀성을 요구하는 운전자 보조 시스템의 개발이 활발히 이루어지면서 전장 시스템의 중요성이 높아지고 있다. 특히, 운전자 대신 차량 외부의 환경을 인식하기 위해 500MHz 이상의 구동 클록을 갖는 고성능 CPU 코어가 자동차 시스템에 응용되는 추세이다.
외부 환경의 인식 및 인식된 영상, 음성 또는 센서의 입력을 분석하여 자동차를 직간접적으로 제어하기 위해서는 대량의 데이터를 실시간으로 분석하고 처리하기 위한 성능이 요구된다. 특히, 차선인식 기반 운행 보조의 경우 인식한 결과를 바탕으로 자동차 운행시 조향 장치 등에 직접적인 영향을 제공할 수 있다. 따라서, CPU 코어의 신뢰성(Reliability)은 차량 외부의 데이터를 인식하여 자동차 조향 장치에 직접적인 영향을 줄 수 있는 애플리케이션의 경우에 특히 중요하다. CPU 코어가 전압, 전류, 온도 동의 요인에 의하여 오동작할 경우 운전자의 생명에 직접적인 영향을 줄 수 있기 때문이다.
이러한 고성능의 CPU 코어에서도 CPU 코어의 연산 결과가 조향에 영향을 줄 경우에는 그 신뢰성(Reliability), 즉, CPU 코어가 의도한 기능에 따라서 동작하고 있음을 보장하는 것이 매우 중요하다고 할 수 있다.
본 발명은 상술한 기술적 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 멀티-코어 시스템의 영구 고장(Permanent Fault) 및 일시 고장(Transient Fault)을 동시에 감지할 수 있는 프로세서 시스템 및 그것의 고장 검출 방법을 제공하는데 있다.
본 발명의 다른 목적은 고장 감지율을 향상시키기 위하여 내고장 멀티-코어 시스템에서 코어들 간의 상호 의존성(Dependency)을 제거하기 위한 프로세서 시스템 및 그것의 고장 검출 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 프로세서 시스템은, 제 1 구동 전압 및 제 1 구동 클록에 의해서 구동되는 제 1 프로세서, 제 2 구동 전압 및 제 2 구동 클록에 의해서 구동되며, 상기 제 1 프로세서와 동일한 작업을 수행하는 제 2 프로세서, 그리고 상기 제 1 프로세서로부터의 제 1 출력 신호와 상기 제 2 프로세서로부터의 제 2 출력 신호에 대한 레벨 동기화 또는 클록 도메인 동기화를 수행하여 비교하는 결함 검출기를 포함하되, 상기 제 1 구동 전압과 상기 제 2 구동 전압 각각은 상호 독립적인 전원 소스들로부터 공급되고, 상기 제 1 구동 클록과 상기 제 2 구동 클록 각각은 상호 독립적인 클록 발생기들로부터 제공된다.
본 발명의 실시 예에 따른 복수의 프로세서를 포함하는 프로세서 시스템의 고장 검출 방법은, 제 1 구동 전압 및 제 1 구동 클록에 의해서 구동되는 제 1 프로세서로부터 제 1 출력 신호를 수신하는 단계, 제 2 구동 전압 및 제 2 구동 클록에 의해서 구동되며, 상기 제 1 프로세서와 동일한 작업을 수행하는 제 2 프로세서로부터 제 2 출력 신호를 수신하는 단계, 상기 제 2 출력 신호를 상기 제 1 구동 전압과 동일한 전압 레벨로 변환하는 레벨 동기화 단계, 상기 레벨 동기화 단계에서 생성된 레벨 동기화된 상기 제 2 출력 신호의 클록 도메인을 상기 제 1 구동 클록과 동일하게 변환하는 클록 동기화 단계, 그리고 상기 클록 동기화된 상기 제 2 출력 신호를 상기 제 1 출력 신호와 비교하는 단계를 포함하되, 상기 제 1 구동 전압과 상기 제 2 구동 전압 각각은 상호 독립적인 전원 소스들로부터 공급되고, 상기 제 1 구동 클록과 상기 제 2 구동 클록 각각은 상호 독립적인 클록 발생기들로부터 제공된다.
본 발명의 실시 예에 따른 프로세서 시스템은 코어들 간에 상호 독립성이 보장되고, 효율적인 고장 감지가 가능하여 높은 신뢰성을 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 전장 시스템을 보여주는 블록도이다.
도 2는 도 1의 프로세서 시스템(100)을 좀더 구체적으로 보여주는 블록도이다.
도 3은 도 2의 버스플로우 고장 감지기(132)를 구체적으로 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 버스플로우 고장 감지기(132)의 동작을 간략히 보여주는 순서도이다.
도 5는 본 발명의 다른 실시 예에 다른 멀티-코어 프로세서 시스템을 보여주는 블록도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 전장 시스템을 보여주는 블록도이다. 도 1을 참조하면, 본 발명의 전장 시스템은 프로세서 시스템(100)과 엑츄에이터(200)를 포함할 수 있다. 그리고, 전장 시스템은 프로세서들 각각에 상호 독립적인 구동 클록 및 구동 전압을 제공하기 위한 제 1 및 제 2 클록 발생기들(10, 30)과 제 1 및 제 2 전원 공급기들(20, 40)을 포함할 수 있다.
제 1 클록 발생기(10)와 제 2 클록 발생기(30)는 상호 분리된 클록 생성 회로로 제공된다. 제 1 클록 발생기(10)는 제 1 구동 클록(CLK1)을 생성하여 제 1 프로세서(110)와 결함 검출기(130)에 제공할 수 있다. 제 2 클록 발생기(30)는 제 2 구동 클록(CLK2)을 생성하여 제 2 프로세서(120)와 결함 검출기(130)에 제공할 수 있다. 제 1 클록 발생기(10)와 제 2 클록 발생기(30)는 프로세서 시스템(100)의 외부에 위치할 수 있다. 제 1 및 제 2 구동 클록들(CLK1, CLK2) 각각은 상호 간섭이나 영향이 차단된 독립된 소스로부터 제공되는 클록 신호들이다. 예를 들면, 제 1 및 제 2 구동 클록들(CLK1, CLK2) 각각은 독립적으로 구동되는 위상 고정 루프(PLL)로부터 생성되거나 지연 고정 루프(DLL)로부터 생성될 수 있을 것이다. 따라서, 제 1 구동 클록(CLK1)이 노이즈나 간섭에 노출되더라도 제 2 구동 클록(CLK2)은 정상적인 주파수 또는 위상을 유지할 수 있을 것이다.
제 1 전원 공급기(20) 및 제 2 전원 공급기(40)는 상호 독립적인 전원 공급 회로로 제공될 수 있다. 제 1 전원 공급기(20)는 제 1 구동 전압(V1)을 생성하여 제 1 프로세서(110)와 결함 검출기(130)에 제공한다. 제 2 전원 공급기(40)는 제 2 구동 전압(V2)을 생성하여 제 2 프로세서(120)와 결함 검출기(130)에 제공한다. 따라서, 제 1 및 제 2 구동 전압들(V1, V2)은 상호 간섭이나 영향이 차단된 독립된 전압이다. 예를 들면, 제 1 전원 공급기(20) 및 제 2 전원 공급기(40) 각각은 서로 독립적으로 동작하는 전압 레귤레이터들로 제공될 수 있다. 또는, 제 1 전원 공급기(20) 및 제 2 전원 공급기(40) 각각은 서로 독립적으로 동작하는 파워 매니저먼트 집적 회로(PMIC)로 제공될 수도 있을 것이다. 따라서, 제 1 구동 전압(V1)이 노이즈나 간섭에 의해서 변동하더라도 제 2 구동 전압(V2)은 정상적인 레벨을 유지할 수 있다. 여기서, 제 1 및 제 2 구동 전압들(V1, V2) 각각은 동일한 레벨이거나 다른 레벨의 전압으로 제공될 수 있음은 잘 이해될 것이다.
프로세서 시스템(100)은 엑츄에이터(200)를 제어하기 위한 엑츄에이터 구동 신호(A_DRV)를 생성한다. 프로세서 시스템(100)은 제 1 프로세서(110), 제 2 프로세서(120), 그리고 결함 검출기(130)를 포함할 수 있다.
제 1 프로세서(110) 및 제 2 프로세서(120)는 사용자의 지시 또는 다양한 감지 결과에 따라 구동 신호(DRV1, DRV2)를 각각 생성한다. 제 1 프로세서(110)는 사용자나 다양한 소스로부터의 지시에 따라 엑츄에이터(200)를 제어하기 위한 제 1 출력 신호(DRV1)를 생성할 것이다. 동시에, 제 2 프로세서(120)도 사용자나 다양한 소스로부터의 지시에 따라 엑츄에이터(200)를 제어하기 위한 제 2 출력 신호(DRV2)를 생성할 것이다. 여기서, 제 1 출력 신호(DRV1) 및 제 2 출력 신호(DRV2)는 엑츄에이터(200)에 제공되는 동일한 동작을 지시하는 제어 신호이다. 다만, 제 1 출력 신호(DRV1) 및 제 2 출력 신호(DRV2)는 서로 다른 전압 레벨이나 클록에 의해서 전달될 수 있다.
제 1 프로세서(110) 및 제 2 프로세서(120) 각각은 독립적인 전원을 제공받는다. 예를 들면, 제 1 프로세서(110)는 제 1 구동 전압(V1)에 의해서 구동될 수 있다. 반면, 제 2 프로세서(120)는 제 2 구동 전압(V2)에 의해서 구동될 수 있다. 제 1 및 제 2 구동 전압들(V1, V2)은 상호 간섭이나 영향이 차단된 독립된 소스로부터 제공되는 전원들이다. 예를 들면, 제 1 및 제 2 구동 전압들(V1, V2) 각각은 서로 독립적으로 동작하는 전압 레귤레이터들로부터 제공되는 전원 전압일 수 있다. 따라서, 제 1 구동 전압(V1)이 노이즈나 간섭에 의해서 변동하더라도 제 2 구동 전압(V2)은 정상적인 레벨을 유지할 수 있다. 여기서, 제 1 및 제 2 구동 전압들(V1, V2) 각각은 동일한 레벨이거나 다른 레벨의 전압으로 제공될 수 있음은 잘 이해될 것이다.
더불어, 제 1 프로세서(110) 및 제 2 프로세서(120) 각각은 독립적인 클록에 의해서 구동될 수 있다. 예를 들면, 제 1 프로세서(110)는 제 1 구동 클록(CLK1)에 의해서 구동될 수 있다. 반면, 제 2 프로세서(120)는 제 2 구동 클록(CLK2)에 의해서 구동될 수 있다. 제 1 및 제 2 구동 클록들(CLK1, CLK2) 각각은 상호 간섭이나 영향이 차단된 독립된 소스로부터 제공되는 클록 신호들이다. 예를 들면, 제 1 및 제 2 구동 클록들(CLK1, CLK2) 각각은 독립적으로 구동되는 위상 고정 루프(PLL)로부터 생성되거나 지연 고정 루프(DLL)로부터 생성될 수 있을 것이다. 따라서, 제 1 구동 클록(CLK1)이 노이즈나 간섭에 노출되더라도 제 2 구동 클록(CLK2)은 정상적인 주파수 또는 위상을 유지할 수 있을 것이다.
결함 검출기(130)는 제 1 출력 신호(DRV1) 및 제 2 출력 신호(DRV2)를 수신하여 비교한다. 그리고 결함 검출기(130)는 제 1 출력 신호(DRV1) 및 제 2 출력 신호(DRV2)의 비교 결과에 따라 제 1 프로세서(110) 또는 제 2 프로세서(120)의 고장을 판단한다. 서로 독립적인 전원 및 클록 신호에 의해서 생성되는 제 1 출력 신호(DRV1) 및 제 2 출력 신호(DRV2)를 비교하기 위해, 결함 검출기(130)는 레벨 동기 또는 클록 동기를 우선적으로 수행할 것이다. 결함 검출기(130)는 제 1 프로세서(110)와 제 2 프로세서(120)에 공급되는 구동 전압들(V1, V2), 구동 클록들(CLK1, CLK2)을 참조하여 제 1 출력 신호(DRV1) 및 제 2 출력 신호(DRV2)를 동기화할 수 있다. 이때, 동기화는 동일한 레벨 또는 동일한 주파수, 동일한 위상이나 지연을 갖는 신호로의 동기화를 의미한다.
결함 검출기(130)는 동기화된 제 1 출력 신호(DRV1) 및 제 2 출력 신호(DRV2)를 비교하여, 동일하지 않은 경우에는 고장으로 판단할 것이다. 이때, 결함 검출기(130)는 엑츄에이터(200)로의 제어 신호를 차단하고 고장 검출 신호(F_DET)를 출력할 것이다. 반면, 동기화된 제 1 출력 신호(DRV1) 및 제 2 출력 신호(DRV2)가 동일한 것으로 검출되면, 결함 검출기(130)는 엑츄에이터 구동 신호(A_DRV)를 엑츄에이터(200)에 전달할 것이다.
엑츄에이터(200)는 엑츄에이터 구동 신호(A_DRV)에 응답하여 다양한 동력을 생성한다. 예를 들면, 엑츄에이터(200)는 엑츄에이터 구동 신호(A_DRV)에 따라 회전 운동, 왕복 운동을 수행하는 다양한 전기 장치 또는 유압식 장치일 수 있다.
이상에서 본 발명의 실시 예에 따른 프로세서 시스템(100)과 엑츄에이터(200)의 동작이 간략히 설명되었다. 프로세서 시스템(100)은 각각 독립적으로 전원과 클록이 공급되는 제 1 및 제 2 프로세서(110, 120)를 포함한다. 특히, 결함 검출기(130)에 의해서 동일한 동작 지시를 수행하는 프로세서들 중 어느 하나에서 발생하는 고장이 검출될 수 있다. 제 1 및 제 2 프로세서(110, 120)와 결함 검출기(130)의 상세한 구성은 후술하는 도 2에서 설명하기로 한다.
상술한 구성을 통해서 전압, 전류, 온도 등 외부의 여하한 요인에 의하여 프로세서들(110, 120) 중 어느 하나에 고장(Fault)이 발생했을 때, 다른 하나의 프로세서는 정상적으로 동작 가능하다. 더불어, 어느 하나의 고장을 감지하면, 고장 감지 결과를 참조하여 다양한 고장 복구 동작의 수행이 가능하다.
상술한 바와 같이 프로세서 또는 CPU 코어의 신뢰성(Reliability), 또는 CPU 코어의 고장 검출 능력은 차량 외부의 데이터를 인식하여 자동차 조향 장치에 직접적인 영향을 줄 수 있는 애플리케이션의 경우에 특히 더 중요하다. 인식 결과가 자동차의 조향 장치에 직접적인 영향을 줄 수 있기 때문에, 전압, 전류, 온도 동의 요인에 의하여 프로세서가 오동작할 경우 운전자의 생명에 직접적인 영향을 줄 수 있기 때문이다. 이러한 CPU 코어의 연산 결과가 자동차 조향에 영향을 줄 경우에는 CPU 코어의 안정성의 보장이 매우 중요하다.
반도체 회로의 기능 안전성(Functional Safety)을 지원한다는 것은, 다양한 요인에 의하여 회로에 의도하지 않은 오류(Fault)가 발생했을 경우 고장을 감지(Detection)하고, 기능 복구(Recovery)가 가능하다는 것을 의미한다. ISO 26262는 ISO TC22/SC3/WG16는 자동차 전장 시스템의 기능 안전성 설계를 위한 표준으로서 자동차용 반도체 회로에서 발생하는 고장을 관리할 수 있는 회로 특성에 따라서 ASIL(Automotive Safety Integrity Level) 등급을 부여한다.
회로의 동작 중 의도하지 않은 오류(Fault)는 예를 들면 우주선(Cosmic ray), 뉴트론(Newtron), 뮤온(Muon)과 같은 입자(Particle)가 반도체 회로 내에 누적됨으로써 불특정한 시간에 비트 플립(Bit-Flip)을 일으키는 현상을 포함한다. 비트 플립(Bit-Flip)의 유지 시간(Lifetime)은 일반적으로 100ps~5ns 수준으로 알려져 있어서 일정 시간이 지나면 정상 상태로 돌아오는 것으로 알려져 있다. 하지만, 결함이 저장 소자에서 발생하면 오류는 지속적으로 유지될 가능성이 크다. 따라서 이러한 고장은 회로의 특성과 발생한 부위에 따라서 시스템 전체의 고장으로 이어져 인명 사고를 일으키는 위험 요인으로 작용할 수 있다.
본 발명에서는 CPU 코어 동작 시 전압, 전류, 온도 등의 요인에 의하여 CPU 코어 내부에 고장(Fault)이 발생했을 때, 코어들 간의 상호 의존성을 완전히 제거한 프로세서 시스템이 제공된다. 더불어, 본 발명의 프로세서 시스템은 내고장 멀티-코어 시스템에서 영구 고장 및 일시 고장을 동시에 감지할 수 있다.
도 2는 도 1의 프로세서 시스템(100)을 좀더 구체적으로 보여주는 블록도이다. 도 2를 참조하면, 프로세서 시스템(100)은 각각 독립적인 전원과 클록에 의해서 구동되는 프로세서들(110, 120)과 결함 검출기(130)를 포함할 수 있다.
제 1 프로세서(110)는 센서 인터페이스(111), 버스(113), 캐시(115), 명령어 실행기(117), 그리고 메모리(119)를 포함할 수 있다. 센서 인터페이스(111)는 제 1 프로세서(110)의 외부에 장착된 센서(미도시)와의 통신을 위한 구성이다. 센서로부터 제공되는 감지 신호는 센서 인터페이스(111)에 의해서 제 1 프로세서(110)가 인지하고 처리할 수 있는 신호로 변환될 것이다.
버스(113)는 제 1 프로세서(110) 내부의 제반 구성들 간의 데이터 또는 제어 신호의 전달 경로를 제공한다. 버스(113)는 센서 인터페이스(111)로부터 제공되는 센싱 신호를 메모리(119)나 캐시(115)에 전달할 것이다. 버스(113)는 고속의 프로세서 동작을 위해서 높은 전송 속도나 대역폭을 제공할 수 있어야 한다. 버스(113)를 통해서 명령어 실행기(117)는 메모리(119)에 접근할 수 있다. 버스(113)는 복수의 채널을 통해서 데이터, 주소, 제어 신호의 경로를 제공한다. 캐시(115)는 명령어 실행기(117)에 대한 캐시 메모리를 제공한다. 캐시(115)는 명령어 실행기(117)에서 수행되는 다양한 테스크들에 사용되는 데이터나 제어 정보들을 일시 저장한다. 명령어 실행기(117)는 사용자나 외부 장치로부터 제공되는 명령어를 실행한다. 명령어 실행기(117)는 명령어의 실행 결과로 제 1 출력 신호(DRV1)를 생성하여 버스(113)를 통해서 결함 검출기(130)에 제공할 수 있다.
메모리(119)에는 다양한 데이터가 로드될 수 있다. 예를 들면, 운영 체제나 하드웨어를 구동하기 위한 장치 드라이버(Device driver)들이 로드될 수 있다.
제 2 프로세서(120)는 센서 인터페이스(121), 버스(123), 캐시(125), 명령어 실행기(127), 그리고 메모리(129)를 포함할 수 있다. 센서 인터페이스(121), 버스(123), 캐시(125), 명령어 실행기(127), 그리고 메모리(129)는 제 1 프로세서(110)의 그것들과 실질적으로 동일하므로 이것들에 대한 설명은 생략하기로 한다.
제 1 프로세서(110) 및 제 2 프로세서(120)는 동종 멀티-코어 프로세서(Homogeneous Multi-Core Processor) 또는 이종 멀티-코어 프로세서(Heterogeneous Multi-Core Processor)로 구성될 수 있다. 하지만, 제 1 프로세서(110)는 제 1 구동 전압(V1)과 제 1 구동 클록(CLK1)에 의해서 동작한다. 그리고 제 2 프로세서(120)는 제 2 구동 전압(V2)과 제 2 구동 클록(CLK2)에 의해서 동작한다. 제 1 구동 전압(V1)과 제 1 구동 클록(CLK1)은 제 2 구동 전압(V2)과 제 2 구동 클록(CLK2)과 분리되어 제공된다.
결함 검출기(130)는 버스플로우 고장 감지기(132)와 엑츄에이터 인터페이스(134)를 포함한다. 버스플로우 고장 감지기(132)는 제 1 프로세서(110) 및 제 2 프로세서(120) 각각의 구동 신호들(DRV1, DRV2)을 비교하여 제 1 프로세서(110) 및 제 2 프로세서(120)의 고장을 검출할 수 있다. 버스플로우 고장 감지기(132)는 제 1 프로세서(110) 및 제 2 프로세서(120)가 정상으로 판단되면, 엑츄에이터 구동 신호(A_DRV)를 출력할 것이다. 그리고 버스플로우 고장 감지기(132)는 제 1 프로세서(110) 및 제 2 프로세서(120) 중 적어도 하나가 고장으로 판단되면, 엑츄에이터 구동 신호(A_DRV)의 생성을 차단한다. 그리고 버스플로우 고장 감지기(132)는 고장 검출 신호(F_DET)를 출력할 것이다. 고장 검출 신호(F_DET)는 프로세서 시스템(100)을 제어하는 구성에 전달될 것이다. 고장 검출 신호(F_DET)에 포함된 정보에 따라 프로세서들(110, 120)에 대한 고장 복구 동작이 수행될 수 있을 것이다.
엑츄에이터 인터페이스(134)는 엑츄에이터 구동 신호(A_DRV)를 엑츄에이터(200)에 전달하기 위한 인터페이싱을 제공한다. 예를 들면, 자동차 전장 시스템에서 스로틀 제어기(Throttle ECU) 또는 모터 제어기(Motor ECU)에 제어 신호를 전달하기 위한 인터페이스인 CAN(Controller Area Network) 컨트롤러일 수 있다. 따라서, 엑츄에이터 인터페이스(134)에 전달되는 엑츄에이터 구동 신호(A_DRV)는 실제로 자동차의 구동을 제어하는 신호이기 때문에 내고장 신호(Fault-Tolerant Signal)이어야 한다.
도 3은 도 2의 버스플로우 고장 감지기(132)를 구체적으로 보여주는 블록도이다. 도 3을 참조하면, 버스플로우 고장 감지기(132)는 제 1 TFIFO(131), 제 2 TFIFO(133), 레벨 쉬프터(135), 클록 도메인 신호 전달기(137), 그리고 비교기(139)를 포함한다.
제 1 TFIFO(131), 제 2 TFIFO(133) 각각은 제 1 및 제 2 프로세서들(110, 120)로부터 제공되는 구동 신호들(DRV1, DRV2)을 순차적으로 저장한다. 제 1 TFIFO(131)는 제 1 구동 전압(V1)과 제 1 구동 클록(CLK1)을 사용하여 제 1 출력 신호(DRV1)를 순차적으로 저장한다. 제 2 TFIFO(133)는 제 3 구동 전압(V3)과 제 3 구동 클록(CLK3)을 사용하여 제 2 출력 신호(DRV2)를 순차적으로 저장한다.
레벨 쉬프터(135)는 제 2 TFIFO(133)로부터 출력되는 제 2 출력 신호(DRV2)의 전압 레벨을 변환한다. 제 2 TFIFO(133)로부터 출력되는 제 2 출력 신호(DRV2)의 전압 레벨은 제 2 구동 전압(V2)을 기준으로 생성된다. 따라서, 제 2 출력 신호(DRV2)의 레벨을 제 1 출력 신호(DRV1)와 비교하기 위해서는 전압 레벨 동기화가 필요하다. 제 2 구동 전압(V2)에 대응하는 레벨의 제 2 출력 신호(DRV2)를 제 1 출력 신호(DRV1)와 레벨 동기시키기 위해서, 레벨 쉬프터(135)는 제 1 구동 전압(V1), 제 2 구동 전압(V2), 그리고 제 2 구동 클록(CLK2)을 사용할 것이다. 따라서, 레벨 쉬프터(135)에서 출력되는 제 2 출력 신호(DRV2')는 제 1 구동 전압(V1) 레벨로 레벨이 변경될 것이다.
클록 도메인 신호 전달기(137)는 레벨 쉬프터(135)로부터 제공되는 제 2 출력 신호(DRV2')의 클록을 제 1 구동 클록(CLK1)에 동기시킨다. 즉, 클록 도메인 신호 전달기(137)는 제 2 출력 신호(DRV2')의 클록 도메인을 제 1 구동 클록(CLK1)으로 전환시킨다. 예를 들면, 클록 도메인 신호 전달기(137)는 제 2 출력 신호(DRV2')의 지연 또는 주파수 등을 제 1 구동 클록(CLK1)에 동기시킬 수 있다. 클록 도메인 신호 전달기(137)에 의해서 제 1 구동 클록(CLK1) 도메인의 제 2 출력 신호(DRV2")가 출력될 것이다. 제 2 출력 신호(DRV2")는 제 1 출력 신호(DRV1)와 동일한 전압 레벨과 클록 도메인을 갖는다.
비교기(139)는 제 1 출력 신호(DRV1)와 전압 및 클록이 동기된 제 2 출력 신호(DRV2")를 비교한다. 비교기(139)는 제 1 구동 클록(CLK1) 및 제 1 구동 전압(V1)에 의해서 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2")를 비교할 것이다. 이미 제 2 출력 신호(DRV2")의 레벨과 클록 도메인이 제 1 구동 클록(CLK1) 및 제 1 구동 전압(V1)으로 동기되었기 때문이다.
비교기(139)는 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2")가 동일한 신호로 판단되면, 검출된 동일한 신호를 엑츄에이터 구동 신호(A_DRV)로 출력할 것이다. 반면, 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2")가 동일하지 않은 신호로 판단되면, 비교기(139)는 고장 감지 신호(F_DET)를 출력할 것이다.
여기서, 제 2 출력 신호(DRV2)의 전압 레벨과 클록 도메인을 제 1 출력 신호(DRV1)에 동기시키는 것으로 설명되었다. 하지만, 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2) 중 어느 하나를 다른 하나의 전압 레벨과 클록 도메인으로 조정할 수 있음은 잘 이해될 것이다.
도 4는 본 발명의 실시 예에 따른 버스플로우 고장 감지기(132)의 동작을 간략히 보여주는 순서도이다. 도 4를 참조하면, 버스플로우 고장 감지기(132)는 서로 다른 클록 도메인과 전압 레벨을 갖는 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2)를 비교하여 고장을 검출할 수 있다.
S110 단계에서, 버스플로우 고장 감지기(132)는 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2)를 수신한다. 버스플로우 고장 감지기(132)는 제 1 구동 클록(CLK1)과 제 1 구동 전압(V1)에 의해서 동작하는 제 1 프로세서(110)로부터 출력되는 제 1 출력 신호(DRV1)를 저장한다. 버스플로우 고장 감지기(132)는 제 2 구동 클록(CLK2)과 제 2 구동 전압(V2)에 의해서 동작하는 제 2 프로세서(120)로부터 출력되는 제 2 출력 신호(DRV2)를 저장한다.
S120 단계에서, 버스플로우 고장 감지기(132)는 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2)의 레벨 동기화 및 클록 도메인 동기화를 수행한다. 버스플로우 고장 감지기(132)는 예를 들면, 제 2 출력 신호(DRV2)의 전압 레벨과 클록 도메인을 제 1 출력 신호(DRV1)에 동기화할 수 있다.
S130 단계에서, 버스플로우 고장 감지기(132)는 전압 레벨 및 클록 도메인이 동기화된 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2")의 일치 여부를 검출한다. 즉, 버스플로우 고장 감지기(132)는 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2")를 비교하여 일치하는지 검출할 것이다.
S140 단계에서, 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2")의 일치 여부에 따라 동작 분기가 수행된다. 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2")가 동일한 경우(Yes 방향), 절차는 S150 단계로 이동한다. 반면, 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2")가 다른 경우(No 방향), 절차는 S160 단계로 이동한다.
S150 단계에서, 버스플로우 고장 감지기(132)는 동일한 것으로 검출된 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2") 중 적어도 하나를 엑츄에이터 구동 신호(A_DRV)로 출력할 것이다.
S160 단계에서, 버스플로우 고장 감지기(132)는 제 1 출력 신호(DRV1)와 제 2 출력 신호(DRV2")가 서로 상이한 신호로 검출됨에 따라, 고장 검출 신호(F_DET)를 출력할 것이다. 도시되지는 않았지만, 고장 검출 신호(F_DET)의 출력에 따른 고장의 복구 동작이 이어질 수 있을 것이다.
이상에서는 본 발명의 버스플로우 고장 감지기(132)의 고장 검출 신호(F_DET) 및 엑츄에이터 구동 신호(A_DRV)의 생성 방법이 설명되었다. 하지만, 상술한 고장 검출 신호(F_DET) 및 엑츄에이터 구동 신호(A_DRV)의 생성 방법은 예시에 지나지 않으며, 다양한 변경이 가능함은 잘 이해될 것이다.
도 5는 본 발명의 다른 실시 예에 다른 멀티-코어 프로세서 시스템을 보여주는 블록도이다. 도 5를 참조하면, 멀티-코어 프로세서 시스템은 복수의 클러스터들을 포함할 수 있다. 제 1 클러스터(300)에는 제 1 프로세서(310), 제 2 프로세서(320), 그리고 제 1 결함 검출기(330)가 포함될 수 있다. 제 2 클러스터(400)에는 제 3 프로세서(410), 제 4 프로세서(420), 그리고 제 2 결함 검출기(430)가 포함될 수 있다. 그리고 엑츄에이터들(미도시) 각각에 대한 스케줄링 및 클러스터 관리를 수행하는 테스크 스케줄러(500)가 포함될 수 있다.
제 1 클러스터(300) 및 제 2 클러스터(400) 각각의 엑츄에이터 구동 동작은 앞서 설명된 도 1의 프로세서 시스템(100)과 실질적으로 동일하다. 제 1 클러스터(300) 및 제 2 클러스터(400) 각각이 제공하는 엑츄에이터 구동 신호들(A_DRV1, A_DRV2)에 의해서 서로 다른 엑츄에이터들 또는 동일한 엑츄에이터에 대한 동작 제어가 가능하다.
제 1 클러스터(300)를 구성하는 제 1 프로세서(310), 제 2 프로세서(320)는 실질적으로 동일한 명령어를 수행한다. 하지만, 제 1 프로세서(310)와 제 2 프로세서(320)는 상호 독립적으로 제공되는 구동 전압과 구동 클록에 의해서 구동될 것이다. 제 1 결함 검출기(330)는 제 1 프로세서(310)와 제 2 프로세서(320)의 출력에 대한 클록 도메인 및 전압 레벨 동기를 수행한다. 그리고 동기화된 출력 신호를 비교하여 제 1 클러스터(300)의 고장을 검출한다. 고장이 검출되면 제 1 결함 검출기(330)는 제 1 고장 검출 신호(F_DET1)를 생성하여 테스크 스케줄러(500)에 제공할 수 있다. 테스크 스케줄러(500)는 제 1 고장 검출 신호(F_DET1)에 응답하여 고장 복구 동작이나 테스크 재할당 동작을 수행할 수 있을 것이다.
제 2 클러스터(400)를 구성하는 제 3 프로세서(410), 제 4 프로세서(420) 또한 동일한 명령어를 실행할 수 있다. 제 3 프로세서(410)와 제 4 프로세서(420)는 상호 독립적으로 제공되는 구동 전압과 구동 클록에 의해서 구동될 것이다. 제 2 결함 검출기(430)는 제 3 프로세서(410)와 제 4 프로세서(420)의 출력에 대한 클록 도메인 및 전압 레벨 동기를 수행한다. 그리고 제 2 결함 검출기(430)는 동기화된 출력 신호를 비교하여 제 2 클러스터(400)의 고장을 검출한다. 고장이 검출되면 제 2 결함 검출기(430)는 제 2 고장 검출 신호(F_DET2)를 생성하여 테스크 스케줄러(500)에 제공할 수 있다. 테스크 스케줄러(500)는 제 2 고장 검출 신호(F_DET2)에 응답하여 고장 복구 동작이나 테스크 재할당 동작을 수행할 수 있을 것이다.
테스크 스케줄러(500)는 제 1 클러스터(300) 및 제 2 클러스터(400)에 대한 제어 동작을 수행할 수 있다. 특히, 제 1 클러스터(300) 및 제 2 클러스터(400) 각각의 코어들에 대한 활성화 및 비활성화를 제어할 수 있으며, 클러스터 단위를 재구성할 수도 있다. 만일, 제 1 클러스터(300)로부터 제 1 고장 검출 신호(F_DET1)가 제공되면, 테스크 스케줄러(500)는 동일한 작업을 제 2 클러스터(400)에 재배정할 수 있을 것이다. 더불어, 테스크 스케줄러(500)는 제 1 클러스터(300) 및 제 2 클러스터(400) 각각으로부터 제 1 프로세서(310)의 고장을 나타내는 제 1 고장 검출 신호(F_DET1)와, 제 4 프로세서(420)의 고장을 지시하는 제 2 고장 검출 신호(F_DET2)를 동시에 수신하는 경우를 가정할 수 있다. 이때, 테스크 스케줄러(500)는 정상적으로 동작하는 제 2 프로세서(320) 및 제 3 프로세서(410)를 새로운 클러스터로 할당할 수도 있을 것이다.
이상에서는 복수의 클러스터들 각각이 상호 독립적인 구동 전압과 구동 클록에 의해서 동작하는 적어도 2개의 프로세서들을 포함하는 실시 예가 설명되었다. 각각의 클러스터들은 적어도 2개의 프로세서들의 출력을 클록 도메인 동기 및 전압 레벨 동기를 수행하여 비교하고, 그 결과에 따라 고장을 판단할 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (14)

  1. 제 1 구동 전압 및 제 1 구동 클록에 의해서 구동되는 제 1 프로세서;
    제 2 구동 전압 및 제 2 구동 클록에 의해서 구동되며, 상기 제 1 프로세서와 동일한 작업을 수행하는 제 2 프로세서; 그리고
    상기 제 1 프로세서로부터 제공되는 제 1 출력 신호와, 상기 제 2 프로세서로부터 출력되는 제 2 출력 신호에 대한 레벨 동기화 또는 클록 도메인 동기화를 수행하여 비교하는 결함 검출기를 포함하되,
    상기 제 1 구동 전압과 상기 제 2 구동 전압 각각은 상호 독립적인 전원 소스들로부터 공급되고, 상기 제 1 구동 클록과 상기 제 2 구동 클록 각각은 상호 독립적인 클록 발생기들로부터 제공되는 프로세서 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 구동 전압과 상기 제 2 구동 전압 각각은 서로 다른 전압 레귤레이터들로부터 제공되는 프로세서 시스템.
  3. 제 1 항에 있어서,
    상기 제 1 구동 클록과 상기 제 2 구동 클록 각각은 서로 다른 위상 고정 루프(PLL) 또는 지연 고정 루프(DLL)들로부터 제공되는 프로세서 시스템.
  4. 제 1 항에 있어서,
    상기 고장 검출기는 상기 제 1 출력 신호와 상기 제 2 출력 신호가 동일한 신호로 판단되면, 상기 제 1 출력 신호와 상기 제 2 출력 신호 중 어느 하나의 신호를 엑츄에이터 구동 신호로 출력하는 프로세서 시스템.
  5. 제 4 항에 있어서,
    상기 고장 검출기는 상기 제 1 출력 신호와 상기 제 2 출력 신호가 상이한 신호로 판단되면, 고장 검출 신호를 출력하는 프로세서 시스템.
  6. 제 1 항에 있어서,
    상기 고장 검출기는:
    상기 제 1 출력 신호와 상기 제 2 출력 신호를 수신하여 상기 레벨 동기화 또는 상기 클록 도메인 동기화를 수행하고, 동기화된 상기 제 1 출력 신호와 상기 제 2 출력 신호를 비교하여 고장 검출 신호 또는 엑츄에이터 구동 신호를 생성하는 고장 감지기; 그리고
    상기 엑츄에이터 구동 신호를 엑츄에이터에 제공하기 위한 엑츄에이터 인터페이스를 포함하는 프로세서 시스템.
  7. 제 6 항에 있어서,
    상기 고장 감지기는:
    상기 제 1 출력 신호를 상기 제 1 구동 전압 및 상기 제 1 구동 클록에 동기하여 수신 및 저장하는 제 1 선입선출 버퍼; 그리고
    상기 제 2 출력 신호를 상기 제 2 구동 전압 및 상기 제 2 구동 클록에 동기하여 수신 및 저장하는 제 2 선입선출 버퍼를 포함하는 프로세서 시스템.
  8. 제 7 항에 있어서,
    상기 고장 감지기는, 상기 제 2 구동 클록에 동기하여 상기 제 2 선입선출 버퍼의 출력을 상기 제 1 구동 전압의 레벨로 쉬프팅하는 레벨 쉬프터를 포함하는 프로세서 시스템.
  9. 제 8 항에 있어서,
    고장 감지기는, 상기 레벨 쉬프터의 출력을 상기 제 1 구동 클록의 클록 도메인으로 변환하는 클록 도메인 신호 전달기를 포함하는 프로세서 시스템.
  10. 제 9 항에 있어서,
    상기 고장 감지기는, 상기 제 1 선입선출 버퍼의 출력과 상기 클록 도메인 신호 전달기의 출력을 비교하는 비교기를 포함하는 프로세서 시스템.
  11. 제 10 항에 있어서,
    상기 비교기는 상기 제 1 구동 클록과 상기 제 1 구동 전압을 사용하여 상기 제 1 선입선출 버퍼의 출력과 상기 클록 도메인 신호 전달기의 출력을 비교하는 프로세서 시스템.
  12. 제 1 항에 있어서,
    상기 제 1 출력 신호와 제 2 출력 신호의 비교 결과를 참조하여 적어도 하나의 엑츄에이터를 구동하는 자동차 전장 시스템을 포함하는 프로세서 시스템.
  13. 복수의 프로세서를 포함하는 프로세서 시스템의 고장 검출 방법에 있어서:
    제 1 구동 전압 및 제 1 구동 클록에 의해서 구동되는 제 1 프로세서로부터 제 1 출력 신호를 수신하는 단계;
    제 2 구동 전압 및 제 2 구동 클록에 의해서 구동되며, 상기 제 1 프로세서와 동일한 작업을 수행하는 제 2 프로세서로부터 제 2 출력 신호를 수신하는 단계;
    상기 제 2 출력 신호를 상기 제 1 구동 전압과 동일한 전압 레벨로 변환하는 레벨 동기화 단계;
    상기 레벨 동기화 단계에서 생성된 레벨 동기화된 상기 제 2 출력 신호의 클록 도메인을 상기 제 1 구동 클록과 동일하게 변환하는 클록 동기화 단계; 그리고
    상기 클록 동기화된 상기 제 2 출력 신호를 상기 제 1 출력 신호와 비교하는 단계를 포함하되,
    상기 제 1 구동 전압과 상기 제 2 구동 전압 각각은 상호 독립적인 전원 소스들로부터 공급되고, 상기 제 1 구동 클록과 상기 제 2 구동 클록 각각은 상호 독립적인 클록 발생기들로부터 제공되는 고장 검출 방법.
  14. 제 13 항에 있어서,
    상기 제 1 출력 신호와 상기 전압 레벨 및 상기 클록 도메인이 동기화된 상기 제 2 출력 신호가 상이한 경우에는 고장 검출 신호를 생성하는 단계를 더 포함하는 고장 검출 방법.
KR1020160030450A 2016-03-14 2016-03-14 프로세서 시스템 및 그것의 고장 검출 방법 KR102162321B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160030450A KR102162321B1 (ko) 2016-03-14 2016-03-14 프로세서 시스템 및 그것의 고장 검출 방법
US15/432,588 US10430301B2 (en) 2016-03-14 2017-02-14 Processor system and fault detection method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160030450A KR102162321B1 (ko) 2016-03-14 2016-03-14 프로세서 시스템 및 그것의 고장 검출 방법

Publications (2)

Publication Number Publication Date
KR20170106820A true KR20170106820A (ko) 2017-09-22
KR102162321B1 KR102162321B1 (ko) 2020-10-06

Family

ID=59786512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160030450A KR102162321B1 (ko) 2016-03-14 2016-03-14 프로세서 시스템 및 그것의 고장 검출 방법

Country Status (2)

Country Link
US (1) US10430301B2 (ko)
KR (1) KR102162321B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200066124A (ko) * 2018-11-30 2020-06-09 한국전자통신연구원 기능 안전 프로세서 코어를 포함하는 영상 인식 프로세서 및 그것의 동작 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11214273B2 (en) * 2017-06-23 2022-01-04 Nvidia Corporation Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system
US11475723B2 (en) * 2017-12-29 2022-10-18 Robert Bosch Gmbh Determining a fault in an electronic controller
KR20210099346A (ko) 2020-02-04 2021-08-12 한국전자통신연구원 제조 설비의 이상 감지 방법 및 장치
DE102020114844A1 (de) 2020-06-04 2021-12-09 Infineon Technologies Ag Systeme, vorrichtungen und verfahren für steuerungsvorrichtungen, die fehlerereignisse behandeln
US11334110B1 (en) * 2021-02-01 2022-05-17 Cadence Design Systems, Inc. Systems and methods for communicating clock signals
DE102021205826A1 (de) * 2021-06-09 2022-12-15 Volkswagen Aktiengesellschaft Elektronisches System eines Kraftfahrzeuges mit mindestens zwei Steuergeräten, die jeweils einen eigenen Taktgeber aufweisen und Verfahren zur Steuerung eines solchen Systems
US11799714B2 (en) * 2022-02-24 2023-10-24 Hewlett Packard Enterprise Development Lp Device management using baseboard management controllers and management processors

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113388A (ja) * 2008-11-04 2010-05-20 Renesas Technology Corp 処理結果を照合する比較器を有するマルチコアマイコン
JP2011123545A (ja) * 2009-12-08 2011-06-23 Toshiba Corp 比較冗長型情報処理装置
JP2014106874A (ja) * 2012-11-29 2014-06-09 Toyota Motor Corp 同軸二輪移動体及びその制御方法
JP2015214212A (ja) * 2014-05-09 2015-12-03 Ntn株式会社 車両転舵制御装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5880945A (en) * 1997-06-30 1999-03-09 Intel Corporation Power conversion and load circuit on same integrated circuit
US6172538B1 (en) * 1999-01-06 2001-01-09 Chips & Technologies, L.L.C. Universal pulse synchronizer
US7146530B2 (en) 2003-07-18 2006-12-05 Hewlett-Packard Development Company, L.P. Targeted fault tolerance by special CPU instructions
US7206966B2 (en) 2003-10-22 2007-04-17 Hewlett-Packard Development Company, L.P. Fault-tolerant multi-core microprocessing
WO2006030904A1 (ja) * 2004-09-16 2006-03-23 Nec Corporation 半導体装置、及び通信制御方法
US7437582B1 (en) * 2005-08-10 2008-10-14 Xilinx, Inc. Power control in a data flow processing architecture
JP4709268B2 (ja) 2008-11-28 2011-06-22 日立オートモティブシステムズ株式会社 車両制御用マルチコアシステムまたは内燃機関の制御装置
US8762603B2 (en) * 2009-11-25 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Addressable FIFO
US8935569B2 (en) * 2010-03-23 2015-01-13 Continental Teves Ag & Co. Ohg Control computer system, method for controlling a control computer system, and use of a control computer system
US8058916B2 (en) * 2010-04-15 2011-11-15 Xilinx, Inc. Lockstep synchronization and maintenance
JP2014096943A (ja) 2012-11-09 2014-05-22 Toyota Motor Corp コア異常監視装置
KR101457557B1 (ko) 2013-01-18 2014-11-04 연세대학교 산학협력단 멀티코어 장치, 테스트 장치 및 고장 진단 방법
US9116531B2 (en) * 2013-02-27 2015-08-25 General Electric Company Methods and systems for current output mode configuration of universal input-output modules
US10234893B2 (en) * 2013-05-13 2019-03-19 Nvidia Corporation Dual-domain dynamic multiplexer and method of transitioning between asynchronous voltage and frequency domains
KR101761737B1 (ko) 2014-05-20 2017-07-26 한국전자통신연구원 제어 시스템의 이상행위 탐지 시스템 및 방법
KR102175403B1 (ko) 2014-07-21 2020-11-06 한국전자통신연구원 디지털 연산 회로의 기능 복구 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113388A (ja) * 2008-11-04 2010-05-20 Renesas Technology Corp 処理結果を照合する比較器を有するマルチコアマイコン
JP2011123545A (ja) * 2009-12-08 2011-06-23 Toshiba Corp 比較冗長型情報処理装置
JP2014106874A (ja) * 2012-11-29 2014-06-09 Toyota Motor Corp 同軸二輪移動体及びその制御方法
JP2015214212A (ja) * 2014-05-09 2015-12-03 Ntn株式会社 車両転舵制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200066124A (ko) * 2018-11-30 2020-06-09 한국전자통신연구원 기능 안전 프로세서 코어를 포함하는 영상 인식 프로세서 및 그것의 동작 방법

Also Published As

Publication number Publication date
US10430301B2 (en) 2019-10-01
US20170262011A1 (en) 2017-09-14
KR102162321B1 (ko) 2020-10-06

Similar Documents

Publication Publication Date Title
KR102162321B1 (ko) 프로세서 시스템 및 그것의 고장 검출 방법
KR100566339B1 (ko) 폴트 톨러런트 컴퓨터 시스템, 그 재동기화 방법, 및 그 재동기화 프로그램을 갖는 컴퓨터 판독가능 저장매체
US8214668B2 (en) Synchronizing circuit
US10073800B2 (en) Coupling controller, information processing apparatus and coupling control method
EP3273353B1 (en) Data processing device
US20200183391A1 (en) Configuration of a control system for an at least partially autonomous transportation vehicle
JP4061273B2 (ja) シームレス・クロック
US20160139625A1 (en) Distributed timer subsystem across multiple devices
JP2009237849A (ja) マイクロコントローラ、制御システム及びマイクロコントローラの設計方法
JP2001016234A (ja) Canコントローラおよびcanコントローラを内蔵したワンチップ・コンピュータ
EP2247992B1 (en) Clock switching circuits and methods
US20140258573A1 (en) Systems and methods for master arbitration
US8156371B2 (en) Clock and reset synchronization of high-integrity lockstep self-checking pairs
US20130266053A1 (en) Signal selecting circuit and signal selecting method
US20150270944A1 (en) Clock generation apparatus, server system and clock control method
CN103003772B (zh) 电子电路、安全关键系统以及用于提供重置信号的方法
US10769038B2 (en) Counter circuitry and methods including a master counter providing initialization data and fault detection data and wherein a threshold count difference of a fault detection count is dependent upon the fault detection data
KR20150104251A (ko) 항공기 시스템 및 그것의 제어 방법
CN111143122A (zh) 一种可靠的交换芯片复位结构及其复位方法
US10985765B2 (en) Apparatus including safety logic
US20190356313A1 (en) Reducing glitches that occur when multiplexing of asynchronous clocks using flip-flops and logic gates
US20200167223A1 (en) Apparatus including safety logic
CN113924539B (zh) 用于硬件初始化的系统和方法
US11169892B1 (en) Detecting and reporting random reset faults for functional safety and other high reliability applications
US11474584B2 (en) Semiconductor device having clock control circuit of adjusting speed of increasing clock frequency

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant