KR20080067663A - 프로그램 제어식 유닛과, 이 프로그램 제어식 유닛의 동작방법 - Google Patents

프로그램 제어식 유닛과, 이 프로그램 제어식 유닛의 동작방법 Download PDF

Info

Publication number
KR20080067663A
KR20080067663A KR1020087011611A KR20087011611A KR20080067663A KR 20080067663 A KR20080067663 A KR 20080067663A KR 1020087011611 A KR1020087011611 A KR 1020087011611A KR 20087011611 A KR20087011611 A KR 20087011611A KR 20080067663 A KR20080067663 A KR 20080067663A
Authority
KR
South Korea
Prior art keywords
contents
registers
comparison unit
different
register
Prior art date
Application number
KR1020087011611A
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 로베르트 보쉬 게엠베하
Publication of KR20080067663A publication Critical patent/KR20080067663A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명은 중복 동작이 가능한 2개의 마이크로 프로세서 코어(110, 210; 120, 220)와, 그리고 흐름 방향에서 상기 두 마이크로 프로세서 코어의 후방에 배치되는 비교 유닛(130, 230)을 포함하는 프로그램 제어식 유닛을 동작시키기 위한 동작 방법에 관한 것이다. 본 발명에 따라 중복 동작을 위해 상기 두 마이크로 프로세서 코어 내에는 서로 다른 내용을 갖는 작업 레지스터(112, 212; 122, 222)가 각각 제공되며, 그리고 상기 비교 유닛이 차이를 신호화 하는지 여부를 검사할 수 있도록, 상기 작업 레지스터의 내용이 후방에 배치되는 비교 유닛(130, 230)에 공급된다.
레지스터, 비교 유닛, 프로세서, 비교기

Description

프로그램 제어식 유닛과, 이 프로그램 제어식 유닛의 동작 방법{PROGRAM-CONTROLLED UNIT AND METHOD FOR THE OPERATION THEREOF}
본 발명은 중복 동작이 가능한 2개의 마이크로 프로세서 코어를 포함하는 프로그램 제어식 유닛과 이런 유닛을 동작시키기 위한 동작 방법에 관한 것이다.
상기와 같은 프로그램 제어식 유닛은 예컨대 마이크로 프로세서, 마이크로 컨트롤러, 신호 프로세서 등으로서 형성된다. 마이크로 컨트롤러 또는 마이크로 프로세서는, 이른바 Core라고 불리는 마이크로 컨트롤러 코어 또는 마이크로 프로세서 코어, 하나 혹은 그 이상의 메모리(프로그램 메모리, 데이터 메모리 등), 주변 컴포넌트(발진기, I/O 포트, 타이머, AD 변환기, DA 변환기, 통신 인터페이스), 그리고 인터럽트 시스템을 포함한다. 상기 마이크로 컨트롤러 또는 마이크로 프로세서의 전술한 구성 요소들은 공동으로 칩 상에 집적화되고, 하나 또는 다수의 버스(내부 및 외부 데이터 버스 및 주소 버스)를 통해 상호 간에 연결된다. 상기 프로그램 제어식 유닛의 구성 및 동작 방식은 다양하게 공지되었으며, 따라서 본원에서는 그에 대해 더욱 상세하게 다루어지지 않는다.
마이크로 컨트롤러 코어는 모듈러 마이크로 컨트롤러 개념의 의미에서 칩 상에 집적화된 중앙 제어 유닛(CPU)이다. 마이크로 컨트롤러 코어는 본질적으로 다소 복합형인 제어 유닛, 다수의 레지스터(데이터 레지스터, 주소 레지스터), 버스 제어 유닛을 포함할 뿐 아니라, 그리고 본질적인 데이터를 처리하는 기능을 수행하는 계산 유닛도 포함한다. 계산 유닛에 공급되는 입력 데이터(연산수 =Operand)뿐 아니라, 계산 유닛에 의한 계산 결과는 처리 전에 또는 그 후에 이와 관련하여 제공되는 레지스터 또는 저장 위치에 저장될 수 있다. 연산수를 처리할 때뿐 아니라, 연산수를 적용할 시에도, 결과에 부정적으로 작용할 수 있는 오류가 발생할 수 있다. 입력 측에서 도입된 연산수의 왜곡은 예컨대 각각의 입력 데이터를 나타내는 전위가 사전 설정된 전위보다 더욱 높거나 더욱 낮음으로 해서 발생할 수 있다. 그런 다음 지정된 임계값을 초과하거나, 또는 그에 미치지 못했을 시에 논리 상태를 나타내는 전위는 원래 사전 지정된 상태와 다른 논리 상태를 나타낼 수 있다. 따라서 예를 들면 논리 "1"이 "논리 "0"으로 변경될 수 있고, 그럼으로써 생성되는 계산 결과는 상당히 왜곡될 수 있게 된다. 다른 측면에서 자명한 사실로서 계산 유닛에 의한 잘못된 계산은 상기와 같은 결과 왜곡을 초래할 수 있다.
상기와 같은 이유에서 현대의 마이크로 프로세서 시스템은, 오류 검출 또는 오류 제거를 위한 시스템을 구비하고 있으면서, 오류의 발생을 식별하고 표시할 수 있거나(오류 식별), 또는 시스템의 기능성에 따라 발생한 오류의 사례에 대한 예방 조치를 취할 수 있다. 오류 검출은 중복 하드웨어의 이용을 통해 달성되는데, 이와 관련하여 하나의 마이크로 프로세서 코어 대신에, 2개의 마이크로 프로세서 코어와 두 코어의 후방에 배치되는 비교 유닛이 이용된다. 상기와 같이 이중 프로세서 시스템(듀얼 코어)을 이용한다고 할 때, 입력 데이터가 동일하고 전술한 비교 유닛을 이용한 중복 동작 시에, 두 코어의 결과가 일치하지 않으면, 비교 유닛에 의해 오류 신호가 생성될 수 있다. 이런 컴퓨터 시스템은 예컨대 WO 01/46806으로부터 개시되었다.
본 출원인의 DE 103 17 650 A1로부터는 오류 검출 시스템을 구비한 마이크로 컨트롤러와 이 마이크로 컨트롤러를 동작시키기 위한 동작 방법이 개시되었다. 이 경우 마이크로 컨트롤러는 단 하나의 마이크로 컨트롤러 코어(Core)를 포함하며, 그리고 그 마이크로 컨트롤러 코어는 자체적으로 데이터 처리를 위한 2개의 계산 유닛(ALU = 산술 논리 유닛)을 포함한다. 따라서 본 공보의 경우 모든 마이크로 컨트롤러 코어가 중복 방식으로 형성되지 않는다. 그렇게 함으로써 필요한 칩 표면은 상당히 절감될 수 있다. 오류 검출은 시험 동작에서 동일한 명령어 또는 데이터가 병행하여 두 계산 유닛에 공급되면서 이루어진다. 입력 측에서, 두 계산 유닛에 공급된 데이터의 체크섬이 구해진다. 각각의 체크섬은 대응하는 레지스터 내에 저장된 체크섬과 비교되며, 그리고 왜곡이 있을 시에 해당 데이터는 수정되어 다시 공급된다. 마이크로 컨트롤러의 두 실행 유닛 또는 계산 유닛은 각각 공급된 데이터가 동일할 시에 그에 일치해야만 하는 결과를 생성한다. 결과 데이터 및/또는 그 결과 데이터의 코딩(ECC 체크섬)은 비교 유닛 내에서 서로 비교된다. 일치할 시에 활성화 신호(enabling signal)가 생성되고, 일치하지 않으면 실행 유닛들 중 일측의 실행 유닛 내부의 오류가 추론되거나, 또는 결과의 오류 있는 코딩이 추론될 수 있다. 이와 관련하여 일시적 오류, 영구적 오류 및 실행 시간 오류가 검출될 수 있다.
본 출원인의 DE 103 17 651 A1로부터는 ABS, ESP, 조향 제어장치, 및 구동장치용 제어장치와 같은 안전 관련 차량 시스템을 위한 이진 데이터 단어를 비교하기 위한 방법 및 장치가 공지되었다. 본 공보는 모든 기능이 중복 방식으로 계산되고 각각의 출력값은 서로 비교되는 그런 듀얼 코어 컴퓨터로부터, 다시 말해 2개의 CPU(중앙 계산 유닛)를 탑재한 마이크로 컨트롤러로부터 출발한다. 출력값들이 서로 일치하지 않으면, 시스템의 작동 중지를 포함할 수 있는, 오류에 대응하는 시스템 반응이 이루어진다. 상황에 적합한 오류 처리를 실현하기 위해, 본 공보에서는 출력값들의 데이터 단어의 비트 중 더욱 높은 상위 비트들이 하위 비트들과 분리되어 서로 비교되는 점이 제안된다. 그렇게 함으로써 중요성이 낮은 하위 비트들이 서로 일치하지 않을 시에, 대응하는 오류 처리가 이루어질 수 있다. 이런 오류 처리의 경우, 예컨대 음수의 비교 결과 대신에, 데이터 단어의 더욱 높은 상위 비트들이 서로 일치할 시에 전체적으로 양수의 총 결과를 가져오는 치환값이 전달된다.
따라서 비록 상기 발명이 2개의 프로세서 시스템(듀얼 코어)에서 출발하기는 하지만, 2개의 계산 유닛을 포함하는 단 하나의 마이크로 컨트롤러 코어를 탑재한 프로세서 시스템들도 포함되어야 한다(DE 103 17 650 A1 참조).
전술한 모든 이중 프로세서 시스템에서 보이는 공통적인 문제는, 출력 데이터의 비교 유닛을 단일 장애 지점으로서 나타낸다. 비교 유닛에 오류가 있으면, 코어 또는 계산 유닛들이 규정에 따라 동작하더라도 오류가 표시된다. 만약 오류가 있는 비교 유닛을 바탕으로 오류 상태로 동작하는 코어 또는 계산 유닛들이 검출되지 못한다면, 상황은 더욱 악화 된다. 왜냐하면, 비교 유닛은 신호들의 차이 를 신호화 하지 않기 때문이다.
지금까지 데이터 경로는 비교 유닛들의 입력단에서 차단되고 외부 데이터들이 적용되면서 그 비교 유닛들의 검사가 이루어졌다. 대체되는 방법에 따라 비교 유닛은 자가 검사 방식으로 설계될 수 있다(TSC 체커 = 완전 자가 검사 체커(Totally Self-Checker)). 그러나 그로 인해 하드웨어 비용은 더욱 상승하게 된다. 단지 검사 목적으로만 서로 다른 데이터를 삽입하는 비교기 전방의 전환기 자체도 또한 단일 장애 지점이 될 수 있고, 그에 따라서 배제되어야 한다. 이런 경우 예를 들면 복귀가 정확하게 동작하는 점을 보장해야 하는 문제가 발생하게 된다.
결과적으로 프로세서의 데이터 경로를 전환하지 않고도 전술한 비교 유닛들을 용이하게 검사해야 하는 필요성이 발생하게 된다.
발명의 장점.
청구항 제1항에 따라 중복 동작이 가능한 2개의 마이크로 프로세서 코어를 탑재한 프로그램 제어식 유닛을 동작시키기 위한 본 발명의 동작 방법과 청구항 제8항에 따르는 대응하는 프로그램 제어식 유닛은 공지된 해결 방법과 비교하여 침 표면 소요를 증가시키지 않으면서도 비교 검사가 간소화된다는 장점을 갖는다.
본 발명은 중복 동작이 가능한 2개의 마이크로 프로세서 코어와, 그리고 이 두 코어(Core) 후방에 배치되는 비교 유닛을 포함하는 프로그램 제어식 유닛으로부터 출발한다. 본 발명에 따라 중복 동작을 위해 두 코어에는 서로 다른 내용을 갖는 작업 레지스터가 각각 제공된다. 이 점이 상기 이중 프로세서 시스템에서 유일한 차이이다. 레지스터 내용은, 비교 유닛이 차이를 신호화 하는지 여부를 검사할 수 있도록 비교 유닛에 공급된다. 실제로 레지스터 내용은 부하-저장(load-store) 동작을 통해 데이터 버스에 공급된다. 레지스터 내용들은 서로 다르기 때문에, 비교 유닛은, 자체가 오류 없이 동작하는 점에 한해서, 늦어도 메모리에 값을 지연 쓰기(write back)할 때에 차이를 신호화 해야 한다.
본 발명에 따라, 칩 내의 공간 소요를 증가시키지 않고도, 단일 장애 지점일 수 있는 비교 유닛을 간단하게 검사할 수 있다.
바람직하게는 두 마이크로 프로세서 코어에 서로 다른 내용을 갖는 레지스터가 각각 제공되며, 그리고 각각의 작업 레지스터의 내용은 서로 다른 레지스터의 내용의 처리 또는 복사에 의해 형성된다. 이런 경우 2개의 서로 다른 레지스터가 마이크로 프로세서 코어들에 제공되며, 그리고 비교 유닛의 검사를 위해 두 프로세서는 예컨대 록크(lock) 모드에서 프로그램을 실행한다. 이와 관련하여 상기 프로그램은 우선적으로 서로 다른 레지스터의 내용을 각각의 작업 레지스터들에 복사한다. 이어서 각각의 작업 레지스터의 내용은 비교 유닛을 통해 예컨대 메모리에 기록된다. 비교 유닛이 정확하게 동작한다면, 그 비교 유닛은 오류 신호를 생성한다. 왜냐하면, 작업 레지스터의 내용과 레지스터의 내용이 서로 다르기 때문이다. 전술한 복사 과정 대신에, 각각의 작업 레지스터의 내용은 서로 다른 레지스터들의 내용에 대한 또 다른 방식의 처리에 의해 형성될 수도 있다.
표준 프로세서에서 어떠한 수정도 실행되어서는 안 된다고 하면, 바람직하게는 마이크로 프로세서들이 주소 공간 내 정의된 주소에 액세스할 때, 서로 다른 값의 데이터가 마이크로 프로세서 코어들에 공급된다. 이런 경우, 결과적으로 각각의 작업 레지스터의 내용은 서로 다른 내용을 갖는 정의된 주소들에 대한 각각의 액세스에 의해 공급된다. 이때 상기 정의된 주소들은 예컨대 비교 유닛 내에 위치하는 레지스터들에 포함되는 것일 수 있다.
바람직하게는 중복 동작이 가능한 마이크로 프로세서 코어들에 이미 존재하는 레지스터들이 본원의 발명을 위해 이용될 수 있다. 제1 동작 모드에서는 서로에게 의존하지 않으면서, 제2 동작 모드에서는 중복 방식으로 동작될 수 있는 듀얼 코어 프로세서들(듀얼 코어/분할/로그 프로세서)의 경우, 대개 분할된 동작 모드에서 소프트웨어로 하여금 그 소프트웨어가 어떤 CPU(Core)에서 실행되는지를 검출할 수 있도록 하는 레지스터가 존재한다. 중복 동작 모드로 전환될 시에, 레지스터 내용들은 그대로 유지되며, 그에 따라 서로 다르다.
가능한 한 완벽한 오류 검출을 보증할 수 있도록 하기 위해, 바람직하게는 두 작업 레지스터의 내용들이 변경되며, 그리고 그 변경 후에 내용들은 서로 다른 상태로 유지된다. 이를 위해, 작업 레지스터들의 내용들은 특히 두 레지스터에 대한 동일한 논리 연산의 적용에 의해 변경될 수 있다. 임의의 서로 다른 값들이지만, 두 프로세서에서는 동일한 그런 값들을 이용한 상기와 같은 연산은, 두 마이크로 프로세서 코어에 각각의 비트 패턴과 각각의 비트 패턴 차이를 생성하게 하는 것을 가능케 한다. 따라서 비교 유닛의 완전한 검사가 가능해진다. 발생하는 오류 중에는 기능 상실 오류(Stuck-At Fault) 및 커플링 오류도 있다. 기능 상실 오류의 경우, 비록 전압 레벨이 이미 감소했거나 또는 증가했어야 함에도 불구하고, 라인은 높거나 또는 낮은 전압 레벨에 있다. 이와 같은 오류는 영구적으로, 또는 (소정의 시간 동안) 일시적으로 발생할 수 있다. 그리고 커플링 오류는 병렬 라인에서 전압 레벨이 점프하는 것을 의미한다. 모든 오류를 신뢰성 있게 검사할 수 있도록 하기 위해서는, ("1" 및 "0"의 서로 다른 수를 갖는) 순열(permutaiton)이 필요하다. 만일 코어 1의 레지스터 내용이 예컨대 "0001"이고, 코어 2의 레지스터 내용은 "0010"이라고 하면, 논리 연산 "AND 0001"에 의해 코어 1의 레지스터 내용은 "0001"로 설정되고, 코어 2의 레지스터 내용은 "0000"으로 설정될 수 있으며, 그에 반해 그렇게 설정된 레지스터 내용들을 연산자 "NOT"를 이용하여 논리 연산을 실행하게 되면, 코어 1에 대해 레지스터 내용 "1110"이 생성되고, 코어 2에 대해서는 레지스터 내용 "1111"이 생성된다.
따라서 당업자라면 임의의 레지스터 내용들이 생성될 수 있음을 알 수 있을 것이다.
바람직하게는 명령어 또는 데이터의 판독 액세스를 위해 추가의 비교 유닛이 제공되며, 그리고 상기 비교 유닛은 또다시 단일 장애 지점을 나타낸다. 그 비교 유닛을 검사하기 위해서, 비교 유닛이 판독 액세스를 위해 차이를 신호화 하는지 여부를 검사할 수 있도록, 두 마이크로 프로세서 코어로 안내되는 명령어 또는 데이터는 프로그램 분기에 의해 변경된다. 이런 점프 연산에 의해, 예컨대 코어 1로 안내되는 명령어는 코어 2를 위해 또 다른 위치에 설정되고, 그럼으로써 비교 유닛은 판독 액세스를 위해 오류 없는 동작 모드에서 두 코어에 서로 다른 명령어들이 안내되는지를 분명히 확인하게 된다.
발명을 위한 전술한 실시예들은, 중복 동작이 가능한 2개의 마이크로 프로세서 코어와, 그리고 이 두 마이크로 프로세서 코어 후방에 배치되는 비교 유닛을 구비하여 청구되는 프로그램 제어식 유닛에 대해 동일한 방식으로 적용된다. 반복을 피하기 위해, 전술한 내용이 상호 참조될 수 있다. 또한, 본원의 발명의 특징들은 명시된 조합 방식으로만 적용될 수 있을 뿐 아니라, 또 다른 조합 방식 또는 단독으로 적용될 수 있다는 점도 주지해야 한다.
다음에서 본 발명의 실시예와 그 장점은 첨부한 도면에 따라 더욱 상세하게 설명된다.
도 1은 본 발명의 제1 실시예를 나타내는 개략도이다.
도 2는 본 발명의 대체되는 실시예를 나타내는 개략도이다.
도 1은 본 발명의 가능한 실시예를 도시하고 있다. 전체 시스템(100)은 서로 다른 내용을 가지는 레지스터(111, 121)를 각각 포함하는 2개의 프로세서(Core)(110 및 120)를 탑재하고 있다. 두 프로세서는 비교 유닛(130)과 연결된다. 비교 유닛은 다시 자체적으로 인터페이스(140)를 통해, 메모리 또는 주변장치(미도시)와 같은 나머지 계산 유닛과 연결된다. 매번 실행될 때마다, 비교 유닛은 동일성 여부와 관련하여 프로세서들의 기록 연산만을, 또는 기록 및 판독 연산들을 비교한다.
비교 유닛(130)을 검사하기 위해, 두 프로세서는 록크 모드에서 프로그램을 실행하고, 이 프로그램은 우선 레지스터(111 또는 121)를 작업 레지스터(112 또는 122)에 복사한다. 이어서 상기 작업 레지스터의 내용은 비교 유닛(130) 및 인터페이스(140)를 통해 메모리에 기록된다. 비교 유닛(130)이 정확하게 동작하고 있다면, 그 비교기는 오류 신호를 생성하게 된다. 왜냐하면, 레지스터들(112 및 122)의 내용이 서로 다르기 때문이며, 물론 레지스터들(111 및 121)의 내용 역시도 서로 다르기 때문이다. 비교 유닛(130)의 완전한 검사를 위해, 레지스터들(111 또는 121)의 값은 앞서 설명한 바와 같이 작업 레지스터에 복사된 후에 예컨대 논리 연산의 적용에 의해 조작될 수 있다. 만일 판독 연산이 비교기(130)에 의해 비교된다면, 검사는 프로그램 제어 흐름의 분기에 의해 개시된다.
도 2는 본 발명의 대체되는 실시예를 설명하고 있다. 전체 시스템(200)은 각각 작업 레지스터(212 또는 222)를 포함하는 2개의 프로세서(Core)(210 및 220)를 탑재하고 있다. 시스템(100)과 비교하여, 프로세서들은 동일하게 구성되고, 서로 다른 내용을 갖는 레지스터를 포함하지 않는다. 두 프로세서는 비교 유닛(230)과 연결되며, 그 비교 유닛은 다시 자체적으로 인터페이스(240)를 통해 메모리 또는 주변장치(미도시)와 같은 나머지 계산 유닛과 연결된다. 비교 유닛(230)은 2개의 레지스터(231 및 232)를 포함한다. 이 레지스터들의 내용은 서로 다르다. 프로세서들은 주소 공간 내 정의된 주소에 액세스하면서 상기 레지스터들의 내용을 작업 레지스터에 복사(로딩)할 수 있다. 비교 유닛은 상기 주소에 대한 액세스를 검출하고, 프로세서(210)를 위해 레지스터(231)의 내용을 공급하고, 프로세서(220) 를 위해서는 레지스터(232)의 내용을 공급한다. 이런 경우 액세스는 인터페이스(240)로 전달되지 않는다. 매번 실행될 때마다, 비교 유닛은 동일성 여부와 관련하여 프로세서들의 기록 연산만을, 또는 기록 및 판독 연산을 비교한다. 그리고 나머지 검사 절차는 앞서 설명한 바와 동일하게 이루어진다.

Claims (12)

  1. 중복 동작이 가능한 2개의 마이크로 프로세서 코어(110, 210; 120, 220)와, 그리고 그 두 마이크로 프로세서 코어 후방에 배치되는 비교 유닛(130, 230)을 포함하는 프로그램 제어식 유닛을 동작시키기 위한 동작 방법에 있어서,
    중복 동작을 위해 상기 두 마이크로 프로세서 코어에는 서로 다른 내용을 갖는 작업 레지스터(112, 212; 122, 222)가 각각 제공되며, 그리고 상기 비교 유닛이 차이를 신호화 하는지 여부를 검사할 수 있도록, 상기 작업 레지스터의 내용이 상기 후방에 배치되는 비교 유닛(130, 230)에 공급되는 동작 방법.
  2. 제1항에 있어서, 상기 두 마이크로 프로세서 코어에는 서로 다른 내용을 갖는 레지스터(111, 121)가 각각 제공되며, 그리고 상기 각각의 작업 레지스터(112, 122)의 내용은 상기 서로 다른 레지스터(111, 121)의 내용의 처리 또는 복사에 의해 형성되는 것을 특징으로 하는 동작 방법.
  3. 제1항에 있어서, 상기 각각의 작업 레지스터(212, 222)의 내용은 서로 다른 내용을 갖는 정의된 주소에 대한 각각의 액세스에 의해 공급되는 것을 특징으로 하는 동작 방법.
  4. 제3항에 있어서, 서로 다른 내용을 갖는 주소들은 비교 유닛(230) 내에 위치 하는 레지스터(231, 232)에 포함되는 것을 특징으로 하는 동작 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 두 작업 레지스터의 내용은, 변경 후에 상기 작업 레지스터의 내용들이 서로 다르게 유지되는 방식으로 변경되는 것을 특징으로 하는 동작 방법.
  6. 제5항에 있어서, 상기 작업 레지스터의 내용들은 그 작업 레지스터들에 대한 동일한 논리 연산의 적용에 의해 변경되는 것을 특징으로 하는 동작 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 명령어 또는 데이터의 판독 액세스를 위해 추가의 비교 유닛이 제공되며, 그리고 상기 두 마이크로 프로세서 코어에 유도되는 명령어 또는 데이터는, 상기 비교 유닛이 판독 액세스를 위해 차이를 신호화 하는지 여부를 검사할 수 있도록 프로그램 분기에 의해 변경되는 것을 특징으로 하는 동작 방법.
  8. 중복 동작이 가능한 2개의 마이크로 프로세서 코어(110, 210; 120 220)와, 그리고 그 두 마이크로 프로세서 코어의 후방에 배치되는 비교 유닛(130, 230)을 포함하는 프로그램 제어식 유닛에 있어서,
    중복 동작을 위해 상기 두 마이크로 프로세서 코어에는 서로 다른 내용을 갖는 작업 레지스터(112, 212; 122, 222)가 각각 제공되며, 그리고 상기 비교 유닛이 차이를 신호화 하는지 여부를 검사할 수 있도록 상기 후방에 배치되는 비교 유닛(130, 230)에 상기 작업 레지스터의 내용을 공급하기 위한 수단이 제공되는 프로그램 제어식 유닛.
  9. 제8항에 있어서, 상기 두 마이크로 프로세서 코어(110, 120)에는 서로 다른 내용을 갖는 레지스터(111, 121)가 제공되고, 그에 따라 상기 서로 다른 레지스터(111, 121)의 내용들의 처리에 의해 상기 각각의 작업 레지스터(112, 122)의 내용이 형성될 수 있도록 하는 것을 특징으로 하는 프로그램 제어식 유닛.
  10. 제8항에 있어서, 비교 유닛(230)에는 서로 다른 내용을 갖는 2개의 레지스터(231, 232)가 제공되며, 그리고 그 레지스터의 내용은 그에 상응하게 정의된 주소에 대한 액세스에 의해 상기 마이크로 프로세서 코어(210, 220)의 작업 레지스터(212, 222)에 로딩되는 것을 특징으로 하는 프로그램 제어식 유닛.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서, 상기 두 작업 레지스터의 각각의 내용을 변경할 수 있도록 하는 수단이 제공되며, 그리고 상기와 같은 변경 후에 레지스터 내용들은 서로 다르게 유지되는 것을 특징으로 하는 프로그램 제어식 유닛.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서, 명령어 또는 데이터의 판독 액 세스를 위한 추가의 비교 유닛이 제공되며, 그리고 비교 유닛이 판독 액세스를 위해 차이를 신호화 하는지 여부를 검사할 수 있도록 하기 위해, 프로그램 분기에 의해 상기 명령어 또는 데이터를 변경될 수 있도록 하는 수단이 제공되는 것을 특징으로 하는 프로그램 제어식 유닛.
KR1020087011611A 2005-11-16 2006-10-18 프로그램 제어식 유닛과, 이 프로그램 제어식 유닛의 동작방법 KR20080067663A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005054587.4 2005-11-16
DE102005054587A DE102005054587A1 (de) 2005-11-16 2005-11-16 Programmgesteuerte Einheit und Verfahren zum Betreiben derselbigen

Publications (1)

Publication Number Publication Date
KR20080067663A true KR20080067663A (ko) 2008-07-21

Family

ID=37727090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087011611A KR20080067663A (ko) 2005-11-16 2006-10-18 프로그램 제어식 유닛과, 이 프로그램 제어식 유닛의 동작방법

Country Status (6)

Country Link
US (1) US20100017579A1 (ko)
EP (1) EP1955164A1 (ko)
JP (1) JP2009516276A (ko)
KR (1) KR20080067663A (ko)
DE (1) DE102005054587A1 (ko)
WO (1) WO2007057270A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140134371A (ko) * 2013-05-14 2014-11-24 한국전자통신연구원 프로세서의 오류를 검출하는 장치 및 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005055067A1 (de) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Vorrichtung und Verfahren zum Beheben von Fehlern bei einem wenigstens zwei Ausführungseinheiten mit Registern aufweisenden System
EP2266010A2 (en) * 2008-04-09 2010-12-29 Nxp B.V. A method and system for power management
KR101600951B1 (ko) 2009-05-18 2016-03-08 삼성전자주식회사 고체 상태 드라이브 장치
JP6274947B2 (ja) * 2014-03-31 2018-02-07 日立オートモティブシステムズ株式会社 車載制御装置のマイクロプロセッサの異常診断方法
DE202016007417U1 (de) * 2016-12-03 2018-03-06 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Steuerung Redundanter Verarbeitungseinheiten
CN111190774B (zh) * 2019-12-26 2023-04-14 北京时代民芯科技有限公司 一种多核处理器可配置双模冗余结构
DE102020104595B3 (de) * 2020-02-21 2021-05-12 Infineon Technologies Ag Integrierter Schaltkreis mit Selbsttestschaltung, Verfahren zum Betreiben eines integrierten Schaltkreises mit Selbsttestschaltung, Mehrkernprozessoreinrichtung und Verfahren zum Betreiben einer Mehrkernprozessoreinrichtung

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4438494A (en) * 1981-08-25 1984-03-20 Intel Corporation Apparatus of fault-handling in a multiprocessing system
US4967347A (en) * 1986-04-03 1990-10-30 Bh-F (Triplex) Inc. Multiple-redundant fault detection system and related method for its use
US4835459A (en) * 1986-05-16 1989-05-30 Hughes Aircraft Company Automatic fault insertion system (AFIS)
IT1213344B (it) * 1986-09-17 1989-12-20 Honoywell Information Systems Architettura di calcolatore a tolleranza di guasto.
US5276690A (en) * 1992-01-30 1994-01-04 Intel Corporation Apparatus utilizing dual compare logic for self checking of functional redundancy check (FRC) logic
US6408402B1 (en) * 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
US7490237B1 (en) * 2003-06-27 2009-02-10 Microsoft Corporation Systems and methods for caching in authentication systems
DE102005055067A1 (de) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Vorrichtung und Verfahren zum Beheben von Fehlern bei einem wenigstens zwei Ausführungseinheiten mit Registern aufweisenden System

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140134371A (ko) * 2013-05-14 2014-11-24 한국전자통신연구원 프로세서의 오류를 검출하는 장치 및 방법

Also Published As

Publication number Publication date
EP1955164A1 (de) 2008-08-13
US20100017579A1 (en) 2010-01-21
JP2009516276A (ja) 2009-04-16
DE102005054587A1 (de) 2007-05-24
WO2007057270A1 (de) 2007-05-24

Similar Documents

Publication Publication Date Title
KR20080067663A (ko) 프로그램 제어식 유닛과, 이 프로그램 제어식 유닛의 동작방법
US7028213B2 (en) Error indication in a raid memory system
JP4532561B2 (ja) マルチプロセッサシステムにおける同期化のための方法および装置
US8650440B2 (en) Processor based system having ECC based check and access validation information means
US5640508A (en) Fault detecting apparatus for a microprocessor system
JP3229070B2 (ja) 多数決回路及び制御ユニット及び多数決用半導体集積回路
KR20130119452A (ko) 오류 허용 아키텍쳐를 갖는 마이크로프로세서 시스템
US20070245133A1 (en) Method and Device for Switching Between at Least Two Operating Modes of a Processor Unit
US7308566B2 (en) System and method for configuring lockstep mode of a processor module
US20070283061A1 (en) Method for Delaying Accesses to Date and/or Instructions of a Two-Computer System, and Corresponding Delay Unit
US20070067677A1 (en) Program-controlled unit and method
US20090024908A1 (en) Method for error registration and corresponding register
Fruehling Delphi secured microcontroller architecture
JP2009505179A (ja) 少なくとも2つの実行ユニットを有する計算機システムにおいてレジスタのマーキングによってスタート状態を定める方法および装置
Szurman et al. Run-Time Reconfigurable Fault Tolerant Architecture for Soft-Core Processor NEO430
JPS63193237A (ja) 半導体集積回路装置
Baumeister Using Decoupled Parallel Mode for Safety Applications
Schneider et al. Basic single-microcontroller monitoring concept for safety critical systems
JP5632804B2 (ja) バス診断機能を備えた制御装置
Kottke et al. A Fail-Silent Reconfigurable Superscalar Processor
JP2008146188A (ja) 集積回路
JPH0498326A (ja) マイクロプロセッサ
JPS58199499A (ja) デ−タ処理装置
JPH02301836A (ja) データ処理システム
JPH03228189A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application