KR20060103317A - 프로세서 유닛의 적어도 두 개의 운영 모드 간의 절환을위한 방법 및 장치 - Google Patents

프로세서 유닛의 적어도 두 개의 운영 모드 간의 절환을위한 방법 및 장치 Download PDF

Info

Publication number
KR20060103317A
KR20060103317A KR1020067007679A KR20067007679A KR20060103317A KR 20060103317 A KR20060103317 A KR 20060103317A KR 1020067007679 A KR1020067007679 A KR 1020067007679A KR 20067007679 A KR20067007679 A KR 20067007679A KR 20060103317 A KR20060103317 A KR 20060103317A
Authority
KR
South Korea
Prior art keywords
program
identifier
programs
mode
switching
Prior art date
Application number
KR1020067007679A
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 KR20060103317A publication Critical patent/KR20060103317A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Hardware Redundancy (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 프로그램(P1, P2, P3)의 처리를 위해 적어도 두 개의 실시 유닛(ALUA, ALUB)을 갖는 프로세서 유닛(100, 101)의 적어도 두 개의 운영 모드(SM, LM) 간의 절환을 위한 방법 및 장치에 관한 것이다. 적어도 프로그램(P1, P2, P3)에 적어도 하나의 식별자(K2)가 할당되며, 상기 식별자는 적어도 두 개의 운영 모드(SM, LM)로 구별되는 것을 허용하며, 상기 운영 모드들 간의 절환은 식별자(K1 내지 K4, KB)에 따라 수행되어, 프로세서 유닛(100, 101)이 할당된 운영 모드에 상응하게 프로그램(P1, P2, P3)을 처리한다.
실행 프로그램, 실행 유닛, 식별자, 운영 모드, 프로세서 유닛

Description

프로세서 유닛의 적어도 두 개의 운영 모드 간의 절환을 위한 방법 및 장치{METHOD AND DEVICE FOR SWITCHING BETWEEN AT LEAST TWO OPERATING MODES OF A PROCESSOR UNIT}
본 발명은 프로세서 유닛의 적어도 두 개의 운영 모드 간의 절환을 위한 방법 및 장치 및 독립 청구항의 전제부에 따른 프로그램의 실행을 위해, 적어도 두 개의 실시 유닛을 갖는 상응하는 프로세서 유닛에 관한 것이다.
적어도 두 개의 통합된 실시 유닛을 갖는 이러한 프로세서 유닛은 듀얼-코어-아키텍쳐(Dual-Core-Architecture) 또는 멀티-코어-아키텍쳐(multi-Core-Architecture)로써 공지되어 있다. 이러한 듀얼-코어-아키텍쳐 또는 멀티-코어-아키텍쳐는 근본적으로 현재 배경 기술에 따른 두 가지 이유로 인해 제안된다.
첫째, 두 개의 실시 유닛 또는 코어가 두 개의 계산 유닛으로써, 반도체 부품에 적용되고 처리된다면 출력 증가, 즉 성능-증가가 달성될 수 있다. 이러한 구성에서 두 개의 실시 유닛 또는 코어는 상이한 프로그램 또는 태스크(task)를 처리한다. 이를 통해, 성능 증가를 얻을 수 있으며, 이 때문에 이러한 구성이 성능 모드 또는 성능-모드로 표시된다.
두 번째 이유는, 수퍼 스칼라 프로세서(superskalar processor)로서의 사용 에 부가적으로, 듀얼-코어-아키텍쳐 또는 멀티-코어-아키텍쳐를 구현하는 것인데 즉, 두 개의 실시 유닛이 중복적으로 동일한 프로그램을 실행하여 안전을 향상하는 것이다. 두 개의 실시 유닛의 결과는 비교되며, 일치성의 비교를 통해 에러가 인식될 수 있다. 다음에서, 이러한 구성이 안전 모드 또는 세이프티-모드(safety-mode)로 표시된다.
일반적으로, 언급된 두 개의 구성은 듀얼-코어-아키텍쳐 또는 멀티-코어-아키텍쳐에 제한적으로 포함되는데 즉, 적어도 두 개의 실시 유닛을 갖는 계산기는 단지 하나의 모드에서 작동된다: 성능-모드 또는 세이프티-모드.
본 발명의 목적은 적어도 두 개의 운영 방식에 대해, 듀얼- 또는 멀티-코어-프로세서 유닛의 조합된 작동을 가능케 하며, 적어도 두 개의 운영 모드 간의 즉, 특히 안전 모드 및 성능 모드 간의 최적의 절환 방법을 달성하는 것이다.
한편으로는, 안전의 이유로 인해 프로그램 또는 태스크의 중복 실행 즉, 과제 프로그램, 프로그램 일부, 코드 블록(code block) 또는 개별적 명령 등이 바람직하지만, 다른 한편으로는, 비용의 이유로 인해, 비 안전 임계 기능의 실행 시에 완전 중복된 하드웨어의 유지는 바람직하지 않다. 이러한 목적 충돌은 본 발명에 따라 프로세서 유닛의 적어도 두 개의 운영 모드 간의 최적의 절환을 통해 해결된다. 본 발명은 적어도 두 개의 실시 유닛을 갖는 프로세서 유닛의 적어도 두 개의 운영 모드 간의 절환을 위한 방법 및 장치 및 상응하는 프로세서 유닛에 관한 것이다. 프로세스 유닛이 한편으로는, 완전한 코어 즉, 완전한 CPU 일 수도 있거나, 또는 바람직한 실시예에서는 연산 장치만이 복제된다. 연산 장치(ALU)만 복제되는 CPU의 다른 요소들이 다른 에러 감지 메커니즘을 통해 보존된다면, 사전 제공된 절환은 완전 듀얼-코어-아키텍쳐보다 작은 칩(chip) 면적을 필요로 한다는 것이 장점이다. 그럼에도 불구하고, 본 발명에 따른 방법을 통해 즉, 이중-CPU(double- CPU) 또는 이중-ALU에 대해 동일하게, 안전 모드에서 그리고 안전과 관련없는 계산의 경우, 충분한 에러 감지는 성능 모드에서 뚜렷한 성능 향상을 얻을 수 있다. 본 발명은 프로그램의 실행을 위해, 적어도 두 개의 실시 유닛을 갖는 프로세스 유닛의 적어도 두 개의 운영 모드 간의 절환을 위한 방법 및 장치에 관한 것이며, 유리하게는 프로그램에 적어도 하나의 식별자가 할당되며, 이것은 적어도 두 개의 운영 모드에 대한 즉, 특히 안전 모드 및 성능 모드에 대한 구분을 행하며, 이를 통해, 프로세스 유닛이 할당된 운영 모드의 프로그램을 상응하게 실행한다.
이러한 개념은 프로그램 및 프로그램 일부 즉, 코드 블록은 복수의 프로그램을 통해 전체적으로 또는 과제 프로그램을 통해 비례적으로, 코드 블록을 포함하며, 시별자가 각각 할당된 개별 프로그램 명령까지 연장되며, 상기 과제 프로그램은 개별 프로그램에 포함되거나 또는 프로그램에 의해 형성된다.
개별 운영 모드 간의 기능 단계로의(즉, 특히 차량의 경우 작동 프로세스의 제어를 위한) 절환을 위해, 이러한 식별자 할당이 사용될 수 있다. 다른 한편으로는, 바람직하게는 프로그램 또는 상응하는 과제 프로그램, 프로그램 일부, 또는 프로세서 유닛의 운영 시스템에 속하거나, 이러한 운영 시스템을 나타내는 프로그램 명령들이 이러한 식별자를 통해, 운영 모드에 할당될 수 있다.
바람직하게는, 프로그램의 실행시, 발생하는 상태 또는 결과가 적합성(conformance)에 대하여 비교되며, 차이가 발생하는 경우 에러로 인식된다.
프로그램이 동시에 실행되는 것은 특히, 바람직하다.
바람직하게는, 식별자는 적어도 하나의 비트(Bit)로 형성되며, 이러한 식별자는 바람직하게는 프로그램 명령, 예를 들어, 쓰기-명령과 같은 특히, 프로세스 유닛의 명령어 집합(instruction set)에 제공되는 명령을 통해 생성된다.
이러한 식별자가 한편으로는, 프로그램, 프로그램 일부, 실시 프로그램 또는 프로그램 명령에 할당될 수 있거나, 또는 제공된 특수 저장 영역에 기록될 수 있다.
이로써, 식별자에 따라 두 개의 운영 모드 간의 최적의 절환, 특히 듀얼-코어-아키텍쳐 또는 오직 복제된 계산값 만을 갖는 아키텍쳐의 경우, 성능 모드 및 안전-모드 사이 즉, 이중-ALU 사이의 초적의 절환이 실행될 수 있다.
다른 장점 및 바람직한 형태는 청구항의 설명 및 특징으로부터 얻을 수 있다.
본 발명은 이하, 도시된 도면을 참조로 상세히 설명된다.
도1 및 도2는, 본 발명에 따른 절환이 수행될 수 있고, 중복된 계산값을 갖는 각각 하나의 프로세서 유닛을 도시하는 도면이다.
도3은 안전 모드로부터 성능 모드로의 절환을 도시하는 도면이다.
도4는 성능 모드로부터 안전 모드로의 절환을 도시하는 도면이다.
도5는 소정 수의 코드 행(500)을 통해 프로그램, 프로그램 일부, 과제 프로그램 또는 명령들에 대한 부호의 할당을 나타내는 도면이다.
도1 및 도2에는 동일한 또는 동일한 기능의 요소들이 -별다른 설명이 없는 한- 동일한 도면 부호로 표시된다. 본 발명에 따른 프로그램에 의해 제어되는 유닛 및 중앙 처리 장치(CPU), 저장 유닛, 주변 유닛 등과 같은 그의 부품은 더 개선된 개관성의 이유로 인해 도1 및 도2에 직접 도시되지 않는다. 두 개의 산술 논리연산 장치(ALU A, Alu B)는 완전한 코어(Core)와 같이 즉, 본 발명의 범주 내에서 CPU에 상응할 수 있으며, 이를 통해, 본 발명은 완전한 듀얼-코어-아키텍쳐(Dual-Core-Architecture)용으로 사용될 수 있다. 바람직한 것은 특히, 단지 산술 논리연산 장치만이 복제되며 CPU의 다른 부품들은 다른 에러 감지 메커니즘을 통해 안전하게 된다는 것이다.
도1 및 도2에는 각각의 산술 논리 유닛(ALU)이 실행 유닛으로써 도면 부호(1, 2)로 도시된다. 각각의 ALU-유닛(1, 2)은 두 개의 입력부 및 하나의 출력부를 갖는다. 시험 작동에서 실행을 위해 제공되는 피연산자(operand)는 버스(3)로부터 ALU-유닛(1, 2)의 입력부로 직접 연결될 수 있거나, 특히, 이를 위해 미리 제공된 피연산자 레지스터(8, 9)에 저장될 수 있다. 이러한 피연산자 레지스터(8, 9)는 데이터 버스(3)와 직접 연결된다. 두 개의 ALU-유닛(1, 2)은 동일한 피연산자 레지스터(8, 9)로부터 공급받는다. 추가로, 레지스터 영역(8a, 9a)에 저장된 ECC-코딩이, 버스를 통해 이미 각각의 피연산자에 제공된다. 즉, 도1 및 도2의 ECC가 표시된 모든 위치에서, ECC-코드(Error Correction Code; 에러 수정 코드)를 사용함으로써 데이터가 검사될 수 있다. 에러 감지를 위한 이러한 방법은 다양하며, 기본 전제 조건은 에러 감지- 및 에러 수정 코드 즉, 시그너처(signature)를 이용하는 검사를 나타낸다. 가장 간단한 경우, 이러한 시그너처가 단지 시그너처 비트(bit)로, 예를 들면, 패리티-비트(parity-bit)로 구성될 수 있다. 다른 한편으로는, 상응하는 비트 수를 통해, 확실한 에러 감지가 가능하도록, 이러한 검사는 또한, 베르거-코드(Berger-Code) 또는 보세-린-코드(Bose-Lin-Code) 등과 같이, 복잡한 ED-코드(Error Detection; 에러 감지)를 통해, 또는 예를 들어, 해밍-코드(Hamming-Code) 등과 같이, 복잡한 ECC-Code를 통해 구현될 수 있다. 그러나 어드레스(address)의 범주 내에서 비트의 특정한 입력 패턴에 임의의 길이의 소정의 코드 패턴을 할당하기 위해, 코드 생성기 예를 들어, 생성기 표(고정 배선 또는 소프트웨어에서)로 사용될 수 있다. 이로써, 특히, 수정 기능을 통해, 데이터 무결성이 보장된다. 그럼에도 불구하고, 안전 임계 모드에서 즉, 안전 모드(SM)에서 안전 임계 프로그램의 중복 실행이 두 개의 실행 유닛 즉, 여기서는 ALU (1, 2)에서 수행되며, 이를 통해, 에러는 일치성에 대한 비교를 통해 본 발명에 따라 감지된다.
안전과 관련이 없는 또는 비 안전 임계 프로그램 또는 태스크 또는 프로그램 일부 또는 코드 블록 또는 명령들은 출력을 높이기 위해 두 개의 실행 유닛들에 분산되어 계산되며, 이로써, 작업 처리량 및 출력이 증가된다. 이러한 것은 즉, 출력 모드 또는 성능 모드(LM, performance-mode)에서 나타나다.
각각의 피연산자를 ALU-유닛(1, 2)으로 연결할 경우, 특정값이 정확한 데이터 입력으로 주어져야 한다. 예를 들어, 동일한 에러를 포함하는 피연산자가 두 개의 ALU-유닛(1, 2)으로 연결되면, ALU-유닛(1, 2)의 출력부에서 에러가 인식될 수 없다. 이 때문에, ALU-유닛(1, 2)의 적어도 하나는 정확한 데이터 입력값을 포함하거나, 두 개의 ALU-유닛(1, 2)은 상이하지만 정확하지 않은 데이터 입력 값을 포함하는 것이 보장되어야 한다. 이는, ALU-유닛(1, 2)의 적어도 하나의 입력 값으로부터 테스트 합계 즉, 상술된 바와 같은 ECC-코드가 형성됨으로써 보장된다. 특수하게 제공된 비교 유닛(5, 6)에서 추가 데이터 레지스터(10, 11)로부터의 ECC-코딩(10a, 11a)이 원래의 근원 레지스트(8, 9)로부터의 ECC-코딩(8a, 9a)과 비교된다. 선택적으로, 레지스터(10, 11)로부터의 입력 데이터가 근원 레지스터(8, 9)로부터의 입력 데이터와 비교될 수도 있다. ECC-코딩 및 피연산자에서 상이함이 나타나면, 이는 에러로써 기계 번역되어 에러 신호로 출력되며, 경우에 따라서 표시되고, 경우에 따라서 수정된다. 이러한 비교는 유리하게는 피연산자가 처리되는 동안 ALU-유닛(1, 2)에서 실행되므로, 이러한 입력 측 에러 감지 및 에러 수정은 거의 출력 손실 없이 수행된다. 비교 유닛(5, 6) 중의 하나가 에러를 인식하면, 계산은 다음 주기 내에서 반복될 수 있다. 항상 최종 계산의 피연산자를 보존하기 위해 섀도우(shadow) 레지스터가 사용될 수 있으며, 이를 통해, 피연산자가 에러 발생시 신속하게 다시 이용된다. 각각의 피연산자 레지스터(10, 11)가 존재하지 않는 에러로 인하여 릴리이즈 신호를 통해 다시 새롭게 기록된다면, 물론 이러한 섀도우 레지스터의 제공이 생략될 수 있다. 에러 발생시, 비교 유닛(5, 6)은 에러 신호를 공급하며, 이를 통해, 피연산자 레지스터(10, 11)는 새롭게 기록되지 않는다.
ALU-유닛(1, 2)은 출력 측에 각각 하나의 결과를 생성한다. ALU-유닛(1, 2)으로부터 공급된 결과 데이터 및 그의 ECC-코딩은 결과 레지스터(12, 13, 12a, 13a)에 저장된다. 이러한 결과 데이터 및/또는 그의 코딩은 비교 유닛(14)에서 서로 비교된다. 에러가 존재하지 않는 경우, 릴리이즈 신호(16)가 발생된다. 이러한 릴리이즈 신호(16)는, 결과 데이터를 버스(4)에 기록하도록 작용하는 릴리이즈 장치(15)로 연결된다. 버스(4)를 통해, 이러한 결과 데이터들이 다시 처리된다.
레지스터(8 내지 11)를 다시 해제시키기 위해 릴리이즈 신호(16)가 사용될 수 있으며, 이를 통해, 버스(3)로부터 다음 피연산자가 읽혀질 수 있고 ALU-유닛(1, 2)에서 처리될 수 있다.
도1의 할당을 통해서는 결과가 검사되지 않는다. 여기서는 단지, 비교 유닛(14)에서의 결과 데이터만이 서로 비교된다. 결과 데이터의 ECC-코딩의 검사는 단지, 도2의 할당을 통해서만 가능하며, 이 경우, 결과 데이터 및 그의 ECC-코딩은 비교 유닛(14)에서 서로 비교된다.
도1 및 도2에 주어진 에러 감지 할당을 통해, 모든 일시적 에러, 영구적 에러 및 경과 시간 에러가 인식된다. 결과가 비교 유닛(12)에 도달하지 않거나, 너무 늦게 도달하면, ALU-유닛(1, 2) 내에서 경과 시간 에러가 인식되며, 이를 통해, 부분 결과와의 비교가 나타난다. 에러 감지 코드 및 에러 수정 코드 및 최종 결과의 비교를 포함하는 피연산자 레지스터(8, 9, 10, 11)의 보존을 통해, 각각의 에러 위치 및 에러 시점이 정확하게 위치될 수 있다. 이를 통해, 일시적인 장애에 대해 매우 신속히 반응될 수 있다.
에러 위치를 위한 다음과 같은 방법들이 나타난다.
비교 유닛(14)에서 결과 데이터들이 비교되어, 상이하다면, 이는 ALU-유닛(1, 2) 내에서의 에러로 결정될 수 있다.
비교 유닛(5, 6)에서 ECC-코딩이 비교되어, 상이하다면, 이는 버스(3) 또는 상류에 연결된 부품들로부터의 오류성 신호로 결정될 수 있다.
비교 유닛(14)에서 ECC-코딩이 비교되어, 상이하다면, 이는 결과의 오류성 코드로 결정될 수 있다.
중복 실행 및 검사가 실행되는 언급된 안전 모드와 별도의 프로그램 실행을 통해 성능 향상이 달성되는 성능 모드 사이의 절환을 위해 절환 장치(UE 17)가 사용된다. 이러한 절환 장치(17)를 통해, 구성 요소(8, 9 및 1, 2)들은, 안전 모드(SM)에서는 중복된 프로그램 실행, 특히, 동시성 프로그램 실행이 행해지며, 제2 운영 모드 즉, 성능 모드(LM)에서는 상이한 프로그램들의 동시 실행이 행해질 수 있도록 전환된다. 또한, 절환 또는 절환 수단이 제공될 수 있으며, 이들은 한편으로는, 구성 요소(8, 9 또는 1, 2), 또는 절환 장치(17)에 위치될 수 있거나 또는 구성 요소(8, 9, 1, 2 및 17)와는 별돌로 절환에 포함될 수 있다.
절환을 위해 프로그램 또는 과제 프로그램 또는 프로그램 일부에 대한 식별 즉, 코드 블록, 또는 부호를 통한 명령의 실별이 행해지며, 이러한 부호를 통해 식별이 안전과 관련되는지, 즉 안전 모드(SM)에서 실행되어야 하는지 또는 성능 모 드(LM)에서 액세스 가능한지에 대해 인식될 수 있다. 이는 명령에서 하나의 비트를 통해 실행될 수 있거나, 특수한 명령을 통해, 다음 순서가 표시될 수 있다. 이는 도5에서 상이한 식별자 가능성을 참조로 다시 설명된다.
프로그램은 한편으로는 예를 들면 특히, 차량에서 운영 프로세스의 제어를 위해 구비되는 애플리케이션(application) 기능을 포함할 수 있거나, 또는 예를 들어, 전체 운영 시스템 태스크의 할당 같은, 운영 시스템 단계에 대한, 식별이 실행되는 프로그램과 관련하여 절환이 행해진다.
디코딩시 절환 장치(17)는 다음 계산이 안전에 관련이 있는지 즉, 안전 모드에서 실행되어야 하는지 또는 아닌지를 감지할 수 있다. 만일 그렇다면, 데이터가 두 개의 실시 유닛(1, 2)에 전달된다. 만일 그렇지 않다면, 성능 모드에서 추가 처리되어, 실행 유닛이 데이터를 제공받으며, 동시에 이것이 안전에 관련이 없다면, 다음 명령어 집합은, 제2 실시 유닛에 전달될 수 있으므로, 프로그램들은 많은 작업 처리량을 갖고 동시에 실행되는 것, 이는 이 경우에 해당되지 않는다.
첫 번째 경우, 예를 들어 결과의 계산이 두 개의 유닛에서 동시 실행될 때, 동일한 시간이 소요된다. 결과는 안전 모드에서 동시 실행될 때 동시에 제공된다. 이러한 데이터는 상응하는 출력부(12, 13)에서 다시 코딩되어 제공되며, 도1 및 도2에 도시된 것처럼, 데이터 및/또는 이 데이터들의 코딩이 Result a 및 Result b에서 비교된다. 이들이 일치한다면, 데이터가 출력되고, 만약 그렇지 않으면 언급된 에러 반응들 중의 하나가 나타난다. 두 번째 경우 즉, 성능 모드(LM)에서, 데이터가 동시에 처리된다면, 콤퍼레이터(comparator) 또는 비교기(14)가 두 개의 산술 논리 연산 장치의 출력에서 액세스되지 않으며, 결과(Result a, Result b)는 차례대로 다시 레지스터 뱅크로 재기록되며, 슈퍼스칼라 프로세서에서의 경우처럼 차례대로 출력된다.
이러한 본 발명에 따른, 절환 과정은 도3 및 도4에서 다시 설명된다. 여기서, 도3은 안전 모드로부터 성능 모드로의 절환을 도시하고, 도4는 성능 모드로부터 안전 모드로의 절환을 도시한다.
제1 운영 모드로부터 즉, 여기서는, 안전 모드 또는 세이프티 모드(SM)로부터 제2 운영 모드로 즉, 여기서는, 성능 모드 또는 성능 모드(LM)로 도달시키기 위해 식별자 및 적절한 절환이 요구된다. 도3에서 이러한 것들이 다시 명백히 설명된다. 블록(300)에는 실행 유닛(1)이 제2 운영 모드 즉, 성능 모드에 존재한다. 또한, 블록(310)에서도 제2 실행 유닛(2)이 성능 모드에 존재한다. 동일한 방법으로, 예를 들면, 디코더 모듈로써 형성된, 또는 이러한 것들을 포함한 절환 장치(17)를 통해, 요소(8, 9)가 제어 또는 연결된다. 블록(320, 321)에는 각각의 실행 유닛(1 또는 2)의 프로그램 프로세스에 따르는, 적어도 하나의 식별자가 정해지며, 이러한 식별자를 통해 블록(330)에서 두 개의 실행 유닛으로부터 제1 운영 모드 즉, 안전 모드(SM)로의 절환이 실행된다. 따라서, 두 개의 경로는 블록(8, 9) 및 실시 유닛(1, 2)을 통해, 중복 실행되고 특히, 식별자를 통해 표시된 안전과 연관이 있는 프로그램에 대하여 동시에 실행되며, 이를 통해, 안전 모드(SM)가 다시 나타난다. 두 개의 실시 유닛을 안전 모드로 유도하기 위해, 성능 모드에서의 프로그램 프로세스에서 즉, 하나의 경로에서, 이러한 식별자가 절환을 위해 존재하는 것으로 충분하다. 두 개의 실시 유닛을 안전 모드에서 계속 처리될 수 있도록, 경우에 따라서는, 다른 실시 유닛의 이미 시작된 프로그램 코드의 처리가 수행되어야 한다. 다른 한편으로는, 즉시 안전 모드로 전환하는 것과 바로 다음의 성능 모드의 경우, 시작된 프로그램을 중단 위치로부터 시작되도록 계속 처리하는 것도 제공될 수 있다.
제1 운영 모드 즉, 여기서는 안전 모드로부터 제2 운영 모드 즉, 성능 모드로 도달시키기 위해, 도4에 따른 식별자가 또한 사용된다. 블록(200)에는 두 개의 실시 유닛(1, 2) 및 블록(8, 9) 즉, 안전 모드에서의 피연산자 절환, 제1 운영 모드를 포함한, 상응하는 경로가 존재한다. 질문 블록(210)에서는 절환 식별자가 존재하는지, 그리고 주어진 식별자가 성능 모드로 절환할 수 있는지가 검사된다. 만일 그렇지 않다면 즉, 식별자가 존재하지 않거나, 또는 식별자가 계속 안전 모드를 표시한다면, 다시 블록(200)에 도달하고, 프로그램은 계속 안전 모드에서 실행된다. 식별자가 존재하고, 이것이 절환을 표시하면, 블록(220)에서는 절환 및 제2 운영 모드로 즉, 실행- 또는 성능 모드(LM)로의 변경이 나타난다. 안전 모드에서는 동시에 즉, 중복되어, 동일한 프로그램들이 실행되기 때문에, 성능 모드에서 두 개의 경로를 위해 즉, 블록(8) 및 ALU(1) 그리고 블록(9) 및 ALU(2)를 위해 식별자를 기초로 하여 절환이 제공되는 경우에만 절환이 행해진다. 완전 동시 실행 즉, 프로그램이 시간상으로 동일하게 실행되는 경우, 프로그램의 비동시 실행이 나타나면, 빠른 실시 유닛이 뒤따르는 실시 유닛을 기다려야 하므로, 절환 장치(17)는, 두 개의 식별자가 존재하거나 또는 평가된 경우에 비로소 스위치된다. 이러한 동 시성은 결과 비교 및 ECC- 및 블록(12, 13, 14, 12a, 13a)에 따른 결과 비교 시에, 시간 동시성을 통해 강요받거나, 또는 대기를 통해 생성 되어야 한다.
따라서, 블록(230)에는 제1 경로 즉, 블록(8) 및 실시 유닛(1)이 다시 성능 모드에 존재하고, 블록(231)에는 블록(9) 및 실시 유닛(2)을 포함한 제2 경로가 존재하며, 이를 통해, 본 발명에 따른 절환이 실행된다.
이로써 목적에 상응하여, 두 개의 통합된 실시 유닛을 포함하는 프로세서 유닛의 두 개의 운영 모드 간의 최적의 절환이 본 발명에 따라 실행되며, 식별자가 가장 상이한 유형 및 방식으로 도5에 따라, 프로그램- 또는 데이터 행 부분(500)에 대입되거나 위치될 수 있다. 또한, 도5에서의 행은 프로그램 행이며, 여기서 프로그램- 및 데이터 행들은 임의로 조합 가능하다.
도5에는 예를 들어, 행(Z1)에서 행(Z6) 까지의 프로그램(P1), 행(Z7)에서 행(Z15)까지의 프로그램(P2) 및 행(Z16)에서 행(Z19)까지의 프로그램(P3)이 표시된다. AP는 예를 들어, 프로그램(P1)의 일부로써, 과제 프로그램을 표시하며, 복수의 프로그램들 예를 들어, 프로그램들(P1, P2)은 함께 과제 프로그램을 형성할 수 있다. CB는 코드 블록(Code Block) 두 개의 프로그램의 행 즉, 예를 들어, 여기서는 프로그램(P2, P3)의 행(Z14)에서 행(Z19)을 포함하는 프로그램 일부가 표시된다. 이러한 코드 블록 즉, 프로그램 일부는 프로그램의 단지 한 부분일 수도 있다. PB3를 통해 행(Z19)에 상응하는 프로그램 명령이 표시된다. 행(ZS1, ZS2)을 통해, 주어진 저장 영역으로서 하나의 이러한 식별자, 여기서는 KB를 포함할 수 있는 특수한 저장 영역(SSB)이 표시된다. 그 외에 K1, K2, K3, K4 및 KB는 본 발명 에 따른 방법의 상이한 가능성을 제공하는 상이한 식별자를 표시된다. 식별자의 사용에 대해서는, 상이한 가능성들이 존재한다. 한편으로는 기본 처리 모드로써 즉, 안전 모드(SM)의 디폴트-모드(Default-Mode)로써 제공될 수 있다(성능 모드에서도 역시 동일함). 식별자가 존재하는 경우, 성능 모드로 상응하게 절환된다(또는 반대로, 안전 모드로 절환). 다른 한편으로는, 본 발명에 따라, 기본적으로 식별자가 존재해야 하며, 식별자의 내용으로부터 즉, 특히, 식별자의 비트값으로부터 상응하는 모드로 추론된다. 예를 들면, 이진수 값 1 (또는 다른 값, 특히 우세값)이 안전 모드(SM)에 할당되며, 이진수 값 0 (또는 다른 값, 특히 열세값)이 성능 모드(LM)에 할당된다. 우세 및 열세의 고려에 관하여, 이는 에러 또는 결함 시, 통상 우세값 및 안전 모드가 설정되는 결과를 갖는다. 행(Z4)에 상응하여 식별자(K1)를 갖는 이진수 값(B1) 즉, K1/B1이 존재하며, 상기 이진수 값은 예를 들어, 프로그램(P1)이 안전 모드에서 실행되야 하는데도 불구하고, 프로그램(P1)에서의 행(Z4에서 Z6까지)의 과제 프로그램이 성능 모드에서 실행될 수 있는 것을 나타낸다. 식별자(K1, K2 및 K3)에서 알 수 있는 바와 같이, 이들의 길이가 서로 상이할 수 있어서 예를 들면, 행(Z7)에 따른 식별자(K2)에서 B1 내지 B3인 세 개의 비트가 상기 식별자(K2)를 처리하여, 한편으로, 식별자(K2)에서 비트(B1)에 의해 안전 모드(SM) 또는 성능 모드(LM)가 결정되고, 예를 들면, 비트(B2, B3)는 예를 들면, 안전 모드와 같은 모듈이 적용되는 행 수를 제공하므로 전체적인 프로그램(P2) 또는 이의 일부만이 안전 모드에서 처리된다. 또한, 코드 블록 즉, 예를 들면, 전체 과제를 포함하지 않는 프로그램 일부 즉, 과제 프로그램을 표시하지 않으며, 여기서 는 CB를 통해 표시되며, 식별자를 통해, 식별자(K3)처럼 모드에 할당될 수 있다. 식별자(K3)에서 비트(B1)를 갖는 운영 모드 할당에 추가로 예를 들어, 초기 행 또는 식별자(K3)에서 비트(B2, B3)를 갖는 어드레스 및 최종 행 또는 식별자(K3)에서 비트(B4, B5)를 갖는 최종 어드레스가 제공될 수 있으며, 이를 통해, 상응하게 할당된 운영 모드에서 특수 영역이 처리된다. 이러한 식별자 할당은 식별자(K4)에 따라 행(Z19)에서 개별적 명령(PB3)의 경우 또는 각각 명령의 경우에서도 수행될 수 있다. 설명된 바와 같이, 이러한 식별자들은 완전한 프로그램 또는 과제 프로그램(AP) 또는 프로그램 부분(CB), 또는 여기서는 명령(PB3)인 개별적 프로그램 명령(PB)들이 할당되며, 이는 절환 장치(17)를 통한 상응하는 절환을 개시한다. 블록(210)에서, 또는 블록(320 및 321)에서, 질문을 통해 식별자(K1 내지 K4 또는 KB)의 존재가 각각 검사되며, 그의 내용은 절환된다. 설명된 바와 같이, 식별자는 적어도 하나의 비트로 구성될 수 있으나, 복수의 비트를 포함할 수 있으며, 한편으로는 운영 모드의 상이한 수에 따르며, 다른 한편으로는, 행의 수 또는 초기- 또는 최종 어드레스 같은 추가 정보를 통해 형성된다.
특정한 실시예에서, 적어도 하나의 프로그램 명령, 여기서는 PB1, PB2 또는 PB가 제공될 수 있으며, 이 프로그램 명령은 제1 또는 제2 운영 모드에서 처리되는지의 여부를 나타내는 식별자를 생성한다. KB로 행(ZS2)에서 표시된 바와 같이 식별자는 정해진 저장 영역(SSB)에 기록될 수 있다. 이러한 영역(SSB)은 레지스터에, CPU에 통합된 메모리에, 외장 메모리에 위치할 수 있다. 이러한 식별자(KB)를 생성하는 명령으로써, 특수 명령 예를 들면, 명령(PB3)이 제공될 수 있거나, 또는 프로세서 유닛의 명령어 집합에 이미 부여된 명령이 제공될 수 있다. 특수 명령으로써, 예를 들면, 명령, "식별자 생성"이 실시될 수 있거나, 프로세서 명령어 집합에 이미 존재하는 명령, 여기서는, PB1 및 PB2로 표시된 특히, 쓰기-명령으로 재구성될 수 있으므로, 행(Z9)에 쓰기-명령(WR)이 저장 영역(KB)에 이진수 0을 기록하며, 쓰기-명령(WR)(KB:0)을 통해 표시되며, 이를 통한 다음의 모든 행들이, 식별자가 KB0되는 경우에, 예를 들어, 안전 모드에서 처리된다. 동일한 명령으로 명령(PB2)의 행(Z12)에 쓰기-명령(WR)(KB:1)을 통해 저장 영역에 식별자(KB)가 값 1로써 입력되어, 이 시점부터 다음의 행들이 예를 들어, 성능 모드에서 처리될 수 있다. 즉, 간단한 식별자 생성 명령, 특히, 단순한 쓰기-명령(WR)을 통해 규칙적으로 질문되는 예를 들어, 특수한 저장 영역에, 상응하는 절환 식별자(KB)가 생성될 수 있다.
이로써, 두 개의 실시 유닛을 갖는 프로세서 유닛에서, 운영 모드 절환이 식별자를 통해 실행되는, 본 발명에 따른 여러 가능성들이 설명되었다. 이를 통해 언급된 본 발명의 장점들이 달성될 수 있다.

Claims (18)

  1. 프로그램(P1, P2, P3)의 처리를 위해 적어도 두 개의 실시 유닛(ALUA, ALUB)을 갖는 프로세서 유닛(100, 101)의 적어도 두 개의 운영 모드(SM, LM) 간의 절환을 위한 방법에 있어서,
    적어도 프로그램(P1, P2, P3)에 적어도 하나의 식별자(K2)가 할당되며, 상기 식별자는 적어도 두 개의 운영 모드(SM, LM)로 구별되는 것을 허용하며, 상기 운영 모드들 간의 절환은 식별자(K1 내지 K4, KB)에 따라 수행되어, 프로세서 유닛(100, 101)이 할당된 운영 모드에 상응하게 프로그램(P1, P2, P3)을 처리하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 프로그램(P1, P2, P3)이 과제 프로그램(AP)을 포함하거나 또는 과제 프로그램을 형성하며, 개별 과제 프로그램(AP)에 식별자(K1)가 각각 할당되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 프로그램(P1, P2, P3)이 개별 프로그램 부분(CB)으로 형성되거나 또는 이들을 포함하며, 개별 프로그램 부분(CB)에 식별자(K3)가 각각 할당되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 프로그램(P1, P2, P3)이 개별 프로그램 명령(PB)으로 구성 되며, 개별 프로그램 명령(PB)에 식별자(K4)가 각각 할당되는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 프로그램(P1, P2, P3)이 프로세스 유닛(100, 101)의 운영 시스템에 속하거나 또는 운영 시스템을 표시하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 프로그램(P1, P2, P3)이 차량의 작동 프로세스의 제어를 위해 사용되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 안전 모드(SM)에 상응하는 제1 운영 모드가 제공되며, 안전 모드에서 두 개의 실시 유닛(ALUA, ALUB)이 동일한 프로그램(AP, P2)을 중복 처리하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 프로그램(AP, P2)의 처리시 생성되는 상태들 또는 결과들(ResultA, ResultB)이 일치하는지 비교되며(14), 차이가 날 경우에 에러로 인식되는 것을 특징으로 하는 방법.
  9. 제7항에 있어서, 프로그램(AP, P2)이 동시에 처리되는 것을 특징으로 하는 방법.
  10. 제1항에 있어서, 성능 모드(LM)에 상응하는 제2 운영 모드에서, 각각의 실시 유닛(ALUA, ALUB)은 상이한 프로그램(P1, P2, P3)을 처리하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서, 식별자(K1, KB)가 적어도 하나의 비트로 형성되는 것을 특징으로 하는 방법.
  12. 제1항에 있어서, 식별자(KB)를 생성하는 프로그램 명령(PB1, PB2, PB3)이 제공되며, 상기 식별자는 제1 또는 제2 운영 모드에서 처리되는지를 나타내는 것을 특징으로 하는 방법.
  13. 제1항에 있어서, 식별자(KB)가 소정의 저장 영역(SSB)에 기록되는 것을 특징으로 하는 방법.
  14. 제12항 또는 제13항에 있어서, 식별자(KB)가 프로세서 유닛의 명령어 집합 내에 제공되는 명령(PB1, PB2)을 통해 생성되는 것을 특징으로 하는 방법.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서, 식별자(KB)가 쓰기 명령(WR)을 통해 생성되는 것을 특징으로 하는 방법.
  16. 절환을 위한 절환 수단(8, 9)을 포함하며, 적어도 두 개의 실시 유닛((ALUA, ALUB)을 이용하여 프로그램(P1, P2, P3)을 처리하기 위한 프로세서 유닛(100, 101)의 적어도 두 개의 운영 모드(LM, SM) 간의 절환을 위한 장치에 있어서,
    상기 절환 수단(8, 9)은 적어도 프로그램(P1, P2, P3)에 적어도 하나의 식별자(K1 내지 K4, KB)를 할당하며, 상기 식별자는 두 개의 운영 모드(LM, SM)로 구별되는 것을 허용하며, 절환 수단(8, 9)은 운영 모드 간의 식별자에 따라 이를 절환하도록 형성되며, 프로세서 유닛은 할당된 운영 모드에 따라 프로그램을 처리하는 것을 특징으로 하는 프로세서 장치.
  17. 제16항에 있어서, 적어도 두 개의 실시 유닛으로써, 상응하는, 적어도 중복된 산술 논리 연산 장치(ALUA, ALUB)가 제공되는 것을 특징으로 하는 장치.
  18. 적어도 두 개의 실시 유닛(ALUA, ALUB)을 갖는 프로그램(P1, P2, P3)의 처리를 위한 프로세서 유닛(100, 101)이며, 절환 수단(8, 9)을 포함하며, 이 절환 수단을 통해 프로세서 유닛의 적어도 두 개의 운영 모드(LM, SM)가 절환될 수 있는 것을 특징으로 하는 프로세서 유닛에 있어서,
    상기 절환 수단(8, 9)은 적어도 프로그램(P1, P2, P3)에 적어도 하나의 식별자(K1 내지 K4, KB)를 할당하며, 상기 식별자는 두 개의 운영 모드(LM, SM)로 구별되는 것을 허용하며, 절환 수단(8,9)은, 운영 모드 간의 식별자에 따라 이를 절환하도록 형성되며, 프로세서 유닛은 할당된 운영 모드에 따라 프로그램을 처리하는 것을 특징으로 하는 프로세서 유닛.
KR1020067007679A 2003-10-24 2004-08-20 프로세서 유닛의 적어도 두 개의 운영 모드 간의 절환을위한 방법 및 장치 KR20060103317A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10349581A DE10349581A1 (de) 2003-10-24 2003-10-24 Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit
DE10349581.9 2003-10-24

Publications (1)

Publication Number Publication Date
KR20060103317A true KR20060103317A (ko) 2006-09-28

Family

ID=34484989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067007679A KR20060103317A (ko) 2003-10-24 2004-08-20 프로세서 유닛의 적어도 두 개의 운영 모드 간의 절환을위한 방법 및 장치

Country Status (7)

Country Link
US (1) US20070245133A1 (ko)
EP (1) EP1680736A2 (ko)
JP (1) JP2007508626A (ko)
KR (1) KR20060103317A (ko)
CN (1) CN1871581A (ko)
DE (1) DE10349581A1 (ko)
WO (1) WO2005045664A2 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437641B1 (en) * 2004-04-01 2008-10-14 Pmc-Sierra, Inc. Systems and methods for signature circuits
DE102005037223A1 (de) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten
US20080313384A1 (en) * 2004-10-25 2008-12-18 Ralf Angerbauer Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units
US7853819B2 (en) * 2004-10-25 2010-12-14 Robert Bosch Gmbh Method and device for clock changeover in a multi-processor system
KR20070062573A (ko) * 2004-10-25 2007-06-15 로베르트 보쉬 게엠베하 적어도 2개의 실행 유닛을 구비한 컴퓨터 시스템의 전환장치 및 전환 방법
DE502005006899D1 (de) * 2004-10-25 2009-04-30 Bosch Gmbh Robert Verfahren und vorrichtung zur trennung der abarbeitung von programmcode bei einem rechnersystem mit wenigstens zwei ausführungseinheiten
US8161362B2 (en) 2005-06-10 2012-04-17 Hitachi, Ltd. Task management control apparatus and method, having redundant processing comparison
DE102005037244A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und mit wenigstens zwei Gruppen von internen Zuständen
DE102005037260A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten mittels Bitinformationen in einem Register
DE102005037228A1 (de) 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Rechnersystems
DE102005037230A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems
US20070088979A1 (en) * 2005-10-14 2007-04-19 Pomaranski Ken G Hardware configurable CPU with high availability mode
DE102005053681A1 (de) * 2005-11-10 2007-05-16 Bosch Gmbh Robert Verfahren zur Nutzung eines Speichers
DE102005060898A1 (de) * 2005-12-20 2007-06-28 Robert Bosch Gmbh Datenverarbeitungssystem mit mehreren Ausführungseinheiten
DE102006048169A1 (de) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Verfahren zur Überwachung einer Funktionsfähigkeit einer Steuerung
JP2008282178A (ja) * 2007-05-09 2008-11-20 Toshiba Corp 産業用コントローラ
WO2008146091A1 (en) 2007-05-25 2008-12-04 Freescale Semiconductor, Inc. Data processing system, data processing method, and apparatus
US20090183035A1 (en) * 2008-01-10 2009-07-16 Butler Michael G Processor including hybrid redundancy for logic error protection
US7865770B2 (en) 2008-01-10 2011-01-04 Advanced Micro Devices, Inc. Processor including efficient signature generation for logic error protection
US8650440B2 (en) * 2008-01-16 2014-02-11 Freescale Semiconductor, Inc. Processor based system having ECC based check and access validation information means
JP4876093B2 (ja) * 2008-03-31 2012-02-15 株式会社日立製作所 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
US8373435B2 (en) 2008-09-30 2013-02-12 Freescale Semiconductor, Inc. Method and apparatus for handling an output mismatch
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
US8640108B2 (en) * 2009-12-31 2014-01-28 International Business Machines Corporation Method for managing hardware resources within a simultaneous multi-threaded processing system
CN102968354A (zh) * 2012-11-13 2013-03-13 浪潮电子信息产业股份有限公司 一种基于Intel Brickland-EX平台的同频锁步模式的自动切换方法
GB2567190B (en) * 2017-10-05 2020-02-26 Advanced Risc Mach Ltd Error recovery for intra-core lockstep mode

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability 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
US6947047B1 (en) * 2001-09-20 2005-09-20 Nvidia Corporation Method and system for programmable pipelined graphics processing with branching instructions
DE10317650A1 (de) * 2003-04-17 2004-11-04 Robert Bosch Gmbh Programmgesteuerte Einheit und Verfahren
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

Also Published As

Publication number Publication date
EP1680736A2 (de) 2006-07-19
JP2007508626A (ja) 2007-04-05
WO2005045664A3 (de) 2006-02-23
WO2005045664A2 (de) 2005-05-19
DE10349581A1 (de) 2005-05-25
US20070245133A1 (en) 2007-10-18
CN1871581A (zh) 2006-11-29

Similar Documents

Publication Publication Date Title
KR20060103317A (ko) 프로세서 유닛의 적어도 두 개의 운영 모드 간의 절환을위한 방법 및 장치
CA1235816A (en) Error recovery system in a data processor having a control storage
WO2014041596A1 (ja) 安全コントローラ
GB2278697A (en) A majority circuit, a controller and a majority LSI
JP2009505186A (ja) コンピュータシステムの機能監視方法および機能監視装置
JP4443569B2 (ja) プロセッサユニットにおけるオペランド処理方法および装置
US20100017579A1 (en) Program-Controlled Unit and Method for Operating Same
KR20050121729A (ko) 프로그램 제어식 유닛 및 방법
US7159152B2 (en) System with a monitoring device that monitors the proper functioning of the system, and method of operating such a system
JP2001256070A (ja) 冗長化プロセッサ装置
JP4137387B2 (ja) フェールセーフコンピュータシステム
WO2006129356A1 (ja) 情報処理装置、および、その誤演算検出方法
JPH04338825A (ja) 演算処理装置
JPH08137714A (ja) マルチタスクプログラムのデバッグ方法およびデバッグシステム
JPH02103643A (ja) デバッグ用割込発生回路
JP2786215B2 (ja) 再開処理制御方式
JP2690910B2 (ja) 制御記憶装置
JPS63265337A (ja) プロセツサ装置の障害検出回路
KR19980017737A (ko) 프로그램형 제어기의 비트 연산 처리방법 및 그 장치
JPH05158808A (ja) マイクロプログラム制御装置
JPS5935456B2 (ja) 演算処理装置
JPS61100802A (ja) プログラマブルシ−ケンスコントロ−ラの演算処理方式
JPH03142503A (ja) プログラマブルコントローラ
JPH0823849B2 (ja) メモリ読出レジスタ制御装置
JPH0277946A (ja) マイクロプログラムのカバレッジ測定方式

Legal Events

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