KR20060026884A - 프로세서 유닛의 적어도 2개의 작동 모드 사이의 전환 방법및 상응하는 프로세서 유닛 - Google Patents
프로세서 유닛의 적어도 2개의 작동 모드 사이의 전환 방법및 상응하는 프로세서 유닛 Download PDFInfo
- Publication number
- KR20060026884A KR20060026884A KR1020057024653A KR20057024653A KR20060026884A KR 20060026884 A KR20060026884 A KR 20060026884A KR 1020057024653 A KR1020057024653 A KR 1020057024653A KR 20057024653 A KR20057024653 A KR 20057024653A KR 20060026884 A KR20060026884 A KR 20060026884A
- Authority
- KR
- South Korea
- Prior art keywords
- mode
- processor unit
- execution units
- memory
- memory area
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000007704 transition Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 238000012806 monitoring device Methods 0.000 claims 1
- 230000001960 triggered effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 230000009977 dual effect Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 2
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 2
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 2
- 101150046378 RAM1 gene Proteins 0.000 description 2
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101001106432 Homo sapiens Rod outer segment membrane protein 1 Proteins 0.000 description 1
- 101150065817 ROM2 gene Proteins 0.000 description 1
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 1
- 101100524639 Toxoplasma gondii ROM3 gene Proteins 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/165—Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/845—Systems 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)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
- Information Transfer Systems (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 적어도 2개의 실행 유닛을 갖는 프로세서 유닛의 적어도 2개의 작동 모드들 사이의 전환 방법에 관한 것이며, 제1 작동 모드로부터 제2 작동 모드로의 전환이, 프로세서가 사전 설정된 메모리 어드레스에 액세스할 때 시작되는 것을 특징으로 한다.
메모리 어드레스, 비교 수단, 실행 유닛, 전환 수단, 인터럽트 수단
Description
본 발명은 독립항의 전제부에 따른, 프로세서 유닛의 적어도 2개의 작동 모드 사이의 전환 방법 및 적어도 2개의 통합된 실행 유닛들을 갖는 상응하는 프로세서 유닛에 관한 것이다.
이와 같이 적어도 2개의 통합된 실행 유닛들을 갖는 프로세서 유닛들은 듀얼 코어 구조 또는 멀티 코어 구조로서도 공지되어 있다. 이와 같은 듀얼 코어 구조 또는 멀티 코어 구조들은 오늘날의 종래 기술에 따라 주로 2가지 근거로 제안된다:
제1 이유는, 2개의 실행 유닛 또는 코어들이 반도체 모듈 상에서 2개의 계산 유닛으로서 고려되고 처리됨으로써, 출력 상승, 즉 실행-상승에 이를 수 있는 점이다. 이런 구성에서 2개의 실행 유닛들 또는 코어들은 각각의 태스크의 상이한 프로그램을 처리한다. 따라서 출력 상승이 실현될 수 있으므로, 이런 구성은 출력 모드 또는 실행-모드로서 표현된다.
제2 이유로, 듀얼 코어 구조 또는 멀티 코어 구조를 실현하는 것은 2개의 실행 유닛들이 동일한 프로그램을 중복되게 처리함으로써 안전성을 상승시킨다는 점 이다. 2개의 실행 유닛들 또는 CPU들, 즉 코어들의 결과가 비교되고 비교 시에 일치에 대해서 에러가 인식될 수 있다. 그 결과 이 구성은 안전성 모드 또는 안전-모드(safety-mode)로서 표현된다.
일반적으로, 언급된 2개의 구성들은 독점적으로 듀얼 코어 구조 또는 멀티 코어 구조를 포함하며, 즉 적어도 2개의 실행 유닛들을 구비한 컴퓨터가 원칙적으로는 단지 하나의 모드 즉, 실행-모드 또는 안전-모드로 작동된다.
본 발명의 과제는 적어도 2개의 작동 방식과 관련해서, 듀얼 코어 프로세서 유닛 또는 멀티 코어 프로세서 유닛의 통합된 작동을 가능하게 하고, 특히 안전성 상승을 위한 안전성 모드와 출력 상승을 위한 출력 모드 사이에서 최적의 전환 전술을 실현하는 것이다.
한편으로 안전성의 이유로, 각각의 태스크의 프로그램들을 중복 실행하는 것이 바람직하며, 다른 한편으로 비용의 이유로, 안전 임계적이지 않은 기능들을 실행할 때 중복된 하드웨어의 준비는 바람직하지 않다. 이와 같이 목적이 상충되는 것은, 본 발명에 따라 적어도 2개의 작동 모드들과 하나의 프로세서 유닛 사이가 최적으로 전환됨으로써 해결된다. 따라서 본 발명은 적어도 2개의 실행 유닛들을 갖는 하나의 프로세서 유닛의 적어도 2개의 작동 모드들 사이의 전환 방법 및, 상응하는 프로세서 유닛에 관한 것이다.
바람직하게, 제1 작동 모드로부터 제2 작동 모드로의 전환은 전환 트리거로서 작용하는 메모리 어드레스로 액세스됨으로써 구현된다. 즉 전환 수단(모드 셀렉터) 또는 비교 수단과 같은 하드웨어 성분 및 상응하는 방법이 제시되며, 이는 작동 시, 안전성 모드로 중복 실행되는 안전 임계적인 프로그램과 출력 모드에서 서로 독립적인 2개의 실행 유닛들로 실행되는 안전 임계적이지 않은 프로그램 사이에서 최적으로 전환될 수 있는 바이다.
제1 작동 모드 내의 동일한 프로그램들은 적어도 2개의 실행 유닛들에 의해서 동기화 처리되며, 동일한 프로그램을 처리할 때 발생하는 실행 유닛들의 상태들이 일치하는지에 대해서는 제공된 비교 수단에 의해 조사된다. 이에 대해 편차가 있을 경우, 에러가 있는 유닛을 스위치 오프할 때까지의 비상 작동 동안 에러 지시기로부터의 다양한 에러 반응들이 고려된다.
특수한 실시예에서, 제1 작동 모드에 안전성 모드가 상응하며 제2 작동 모드에 출력 모드가 상응한다. 제2 작동 모드로부터 제1 작동 모드로의 전환은 바람직하게 인터럽트 리퀘스트(interrupt request)에 의해, 특히 인터럽트 수단에 의해 시작되며, 인터럽트 리퀘스트는 한편으로 시간 조건에 의해 시작될 수 있거나 상태 조건에 의해서도 시작될 수 있으며, 즉 2개의 실행 유닛들 중 적어도 하나의 특정 상태에, 또는 특정 이벤트의 발생에 상응한다.
바람직하게, 적어도 3개의 분리된 메모리 영역들로의 특수한 분할이 이루어지며, 실행 유닛들은 각각의 작동 모드에 따라 제1 메모리 영역 또는 제2 메모리 영역으로 접근해서 이들과 각각 접속한다. 바람직하게 하나의 특수한 실시예에서, 적어도 2개의 실행 유닛들 각각에는 프로세서 유닛 상의 각각 하나의 제1 메모리 영역이 할당되며, 실행 유닛은 제1 작동 모드, 특히 안전성 모드일 때 상기 제1 메모리 영역에 접속되거나 액세스된다. 제2 작동 모드일 때, 2개의 실행 유닛들은 2개의 실행 유닛들에 할당된 하나의 제2 메모리 영역에만 액세스되거나 접속된다.
바람직하게 모니터링 수단, 특히 전환 수단은, 각각의 작동 모드일 때 상응하는 메모리 영역만이 액세스되고 또는 메모리 영역에 대한 상응된 접속이 이뤄지는지를 모니터링하도록 제공된다. 즉 제2 작동 모드일 때 평가 수단은 제2 메모리 영역으로만 액세스하며 제1 메모리 영역으로는 액세스되지 않고, 제1 작동 모드일 때 각각의 제1 메모리 영역만으로 액세스가 이루어지며 제2 메모리 영역으로는 이루어지지 않는다. 이는 언급한 모니터링 수단에 의해서 조사되며 경우에 따라 에러 메시지, 비상 작동 또는 스위치 오프와 같은 상응하는 에러 반응들로 제재된다.
언급한 3개의 메모리 영역들 각각에는 적어도 2개의 제1 메모리 영역 및 제2 메모리 영역이 분할된 메모리 모듈로 제공되므로, 적어도 3개의 메모리 모듈들이 프로세서 유닛 상에 제공된다. 바람직하게 안전 임계적인 프로그램이 각각 하나의 제1 메모리 영역에 기억되고 안전 임계적이지 않은 프로그램이 제2 메모리 영역에 기억되며, 전환과 관련하여 언급한 트리거 기능을 포함하는 사전 설정된 메모리 어드레스가 제2 메모리 영역에 포함된다.
제1 작동 모드일 때 실행 유닛들의 상태들을 비교하기 위한 명시적인 비교 수단이 프로세서 유닛에 제공되고 상기 비교 수단이 제1 작동 모드일 때만 기능하며, 제2 작동 모드로 전환될 때 기능하지 않으므로, 안전 임계적이지 않으며 중복되지 않은 작동 시 비교가 이루어지지 않고 이로써 어떤 경우에도 에러 반응이 이뤄지지 않을 때 추가의 장점이 생긴다.
또 다른 장점들과 바람직한 실시예들은 청구 범위의 특징부 및 상세한 설명과 도면의 내용으로부터 제시된다.
이하에서 본 발명은, 도면에 의해 더 자세히 설명된다.
도1은 적어도 2개의 실행 유닛들과 본 발명에 따른 하드웨어 성분들을 갖는 본 발명에 따른 프로세서 유닛을 도시한 도면이다.
도2는 안전성 모드로부터 출력 모드로의 전환을 도시한 도면이다.
도3은 출력 모드로부터 안전성 모드로의 전환을 도시한 도면이다.
제어 적용 분야, 특히 엔진 제어, 브레이크 제어 또는 조향 및 변속기 등과 같은 차량 제어 분야, 또한 자동화 또는 공작 기계 영역과 같은 산업 적용 분야에는, 일반적으로 에러의 발생을 검출하기 위해 안전성의 이유로 중복 실행을 요구하는 소프트웨어 태스크 또는 프로그램이 있다. 그러나 이와 같은 안전 임계적인 적용 분야는 안전 임계적인 프로그램 외에도, 안전 임계적인 기능을 야기하기 위해서 필요하지 않거나 이와는 관련이 없으며 추가의 기능, 특히 쾌적성 기능만을 야기하기 때문에 에러가 있을 수도 있는 소프트웨어 부품 또는 프로그램을 포함한다. 안전성의 이유로, 중복 실행이 바람직하며, 비용의 이유로, 중복된 하드웨어의 준비는 바람직하지 않다. 본 발명에 따르면, 이런 문제는 이미 상세한 설명에서 설명했던, 이하에서 더 자세히 설명될, 적어도 2개의 작동 모드와 프로세스 유닛 사이의 최적의 전환에 의해 해결된다.
이로써 이하에서는 안전 임계적인 시스템, 예컨대 브레이크, 조향, 변속기 또는 엔진 등과 같은 차량 내부 시스템 내에 본 발명이 사용되는 것이 제시된다. 본 발명에 따른 시스템의 프로세서 유닛은 도1에 따라 듀얼 코어 구조로 구성되는데, 즉 적어도 2개의 실행 유닛들(101, 102)(CPU1, CPU2)을 구비한 프로세서 유닛(100)으로 구성된다. 상기 실시예에서 2개의 실행 유닛(101, 102), 즉 CPU1과 CPU2에 각각 하나의 주기억 장치(110, 111)(RAM1, RAM2)가 할당된다. 2개의 실행 유닛들(101, 102)은 하나의 비교 수단인 비교기(170)에 접속된다. 각 실행 유닛은 또한 전환 수단인 모드 셀렉터(130 또는 131)에 접속되며, 비교 모듈, 즉 비교 수단(170)도 모드 셀렉터에 접속된다. 각각 하나의 버스(140 또는 141)에 의해, 각각의 휘발성 주기억 장치(110 또는 111) 및 전환 수단(130, 131)은 각각 하나의 제1 롬(150 또는 151) 및 제2 롬(180)에 접속된다.
상기 실시예에서 안전 임계적인 프로그램 또는 태스크의 2개의 작동 시스템 및 안전 임계적이지 않은 프로그램 또는 태스크의 2개의 작동 시스템이 사용된다. 안전 임계적인 프로그램을 위한 작동 시스템으로서 예컨대 OSEK 타임 OS가 사용되며, 안전 임계적이지 않은 태스크를 위한 작동 시스템으로서 예컨대 OSEK OS가 사용된다.
이미 언급한 바와 같이, 응용 소프트웨어는 안전 임계적인 프로그램 및 안전 임계적이지 않은 프로그램으로 분할된다. 안전 임계적이지 않은 것으로 분류된 모든 프로그램 또는 태스크들은 에러가 있는 채 실행되거나 아예 실행되지 않는 것을 막을 수 있다. 따라서 전체 시스템 또는 주변의 위험은 방지된다. 전체 시스템의 안전한 작동은 일반적으로, 안전 임계적인 것으로 분류된 각각의 태스크의 프로그램을 통해서 가능하다. 물론 안전 임계적인 태스크 또는 프로그램에 의해서만 작동이 실행되는 한, 전체 기능의 성능 저하가 일어날 수 있으나 이는 물론 사전 설정된 공차 내에서 허용될 수 있는 것으로 분류된다.
안전성과 관련된, 즉 안전 임계적인 태스크 또는 프로그램들은 2개의 실행 유닛들(101, 102), 즉 2개의 CPU들, CPU1 및 CPU2 상에서 중복적으로 실행된다. 상기 프로그램들은 제1 작동 시스템, 여기서는 OSEK 타임 OS의 통제 하에 처리된다. 이를 위해 도1에 도시된 비휘발성 메모리 영역(150 또는 151)이 2개의 부분으로 2중(double)이 되므로, 상응하는 2개의 실행 유닛들에 2개의 제1 메모리 영역들(150, 151)이 제공된다. 상기 제1 메모리 영역에서, 각각의 태스크의 안전 임계적인 프로그램이 2중(double)이 되므로, 즉 중복이 된다. 즉 안전 임계적인 태스크 각각이 한편으로 메모리 영역(150)에, 다른 한편으로 메모리 영역(151)에 국한된다. 특히 제1 작동 시스템 자체가 안전 임계적인 것으로서 분류될 수 있으므로, 마찬가지로 2개의 메모리 영역들에 저장된다. 즉 작동 시스템 OSEK 타임 OS는 한편으로 메모리 영역(150)에, 다른 한편으로 메모리 영역(151)에 각각 저장된다. 특수한 실시예에서, 2개의 제1 메모리 영역 내에서 각각 고유의 비휘발성 메모리 모듈 롬1 또는 롬2이 실행되며, 이는 롬, 피롬, 이피롬, 이이피롬, 플래시-이피롬 등으로서 실행될 수 있다.
이 경우 안전 임계적인 프로그램 또는 태스크의 2중 저장이 꼭 필요한 것은 아니다. 이는 ECC-코드(에러 코드 및 보정)의 사용에 의해서도 보장될 수 있다. 메모리 장치에서의 에러를 검출하기 위한 이와 같은 방법들은 다양하며, 근본적인 전제 조건은 에러 검출 코드 또는 에러 보정 코드를 갖는, 즉 서명(signature)을 갖는 보호를 의미한다. 가장 단순한 경우 상기 서명은 단 하나의 서명 비트, 예컨대 패리티 비트(parity bit)로 구성될 수 있다. 다른 한편으로 상기 보호는 상응하는 비트 수를 통해 더 확실한 에러 검출을 할 수 있도록, 예컨대 버저 코드(berger code) 또는 보스 린 코드(Bose-Lin-Code) 등과 같은 복합(complex) ED-코드(에러 검출)에 의해서도 구현될 수 있거나, 해밍 코드(Hamming code) 등과 같은 복합 ECC-코드에 의해서도 구현될 수 있다. 그러나 예컨대 제너레이터 테이블(고정 배선되거나 또는 소프트 웨어 내에 있음)이 코드 제너레이터로서도 사용될 수 있는데, 이는 어드레스의 범위 내의 비트의 특정 입력 샘플에 임의의 길이의 소정의 코드 샘플을 할당하기 위해서이다. 이로써, 특히 보정 기능에 의해 메모리 장치 내에서의 데이터 안전성이 보장될 수 있으며 2중 저장이 방지될 수 있다. 그럼에도 불구하고, 2개의 실행 유닛들에서 안전 임계적인 프로그램의 중복 처리가 이루어지므로, 코어 내의 에러, 즉 실행 유닛들 내의 에러들이 일치에 대한 비교에 의해 본 발명에 따라 검출될 수 있으며, 도1의 본 발명의 경우 단지 하나의 제1 메모리 영역만이 필요하다.
안전성과 관련되지 않은, 또는 안전 임계적인 프로그램 또는 태스크들은 출력 상승을 위해 2개의 실행 유닛들, 즉 CPU들 상에서 분할되어 계산되며, 각각의 서브 작동 시스템, 즉 OSEK 서브 시스템의 통제 하에 실행된다. 특히 2개의 실행 유닛들의 각각에서는 하나의 독립된 작동 시스템, 여기서는 독립된 OSEK 시스템이 실행된다. 안전 임계적이지 않은 프로그램 또는 태스크가 존재하는 제2 메모리 영역(180)은 단순하게 제공된다. 상기 제2 메모리 영역(180)은 2개의 실행 유닛들(101 또는 102)에 의해 사용되거나, 상기 실행 유닛들이 제2 메모리 영역에 액세스한다. 상기 제2 메모리 영역은 특수한 실시예에서 고유의 비휘발성 메모리 모듈 롬3으로서 형성될 수 있으며, 롬, 피롬, 이피롬, 이이피롬, 플래시-이피롬 등으로서 구성될 수 있다.
상기 메모리 영역, 즉 제1 및 제2 메모리 영역은, 제1 메모리 영역들 또는 제1 메모리 영역(ECC 보호일 때)이 어드레스에 대해서 예컨대 0과 X 사이에 형성되고, 제2 메모리 영역이 마찬가지로 어드레스에 대해서 X+1로부터 Y까지 형성되도록 구성될 수 있다. 또한 2중이 된 제1 메모리 영역으로부터는, 앞서 설명한 바와 같이 보호된 개별의 제1 메모리 영역만이 사용될 수 있는 것이 제시될 수 있다. 그 후 앞서 말한 바와 같이, 0에서부터 X까지의 제1 메모리 영역은 2중이 되며 각각 하나의 제1 메모리 영역에 존재한다. 하나의 실행 유닛에는 각각의 제1 메모리 영역이 할당된다.
제1 작동 모드일 때, 여기서는 예컨대 안전성 모드일 때 2개의 실행 유닛들에서는, 즉 2개의 CPU들(101, 102)에서는 안전 임계적인 프로그램 또는 태스크들이 중복되게, 특히 동기화로 실행된다. 비교 수단, 즉 비교기(170)에서는 각각의 CPU 상태들이 서로 비교된다. 이 경우 특정의 프로그램 상에는 특정의 상태들이 할당될 수 있으며, 상기 상태들은 중간 저장되어 예컨대 인식에 의해 명백히 귀속 가능하게 비교될 수 있는 한, 시간에 상관 없이, 즉 임의의 시점에 비교될 수 있다. 그러나 바람직한 경우 각각의 태스크의 안전 임계적인 프로그램은 중복적일 뿐만 아니라 동기화로 처리되므로, 작동 시 실행 유닛들의 각각의 상태들의 비교가 바로 실행될 수 있다. 새로운 명령 및/또는 데이터들은 할당된 각각의 제1 메모리 영역(150, 151)으로부터 상응되게 충전되어 처리된다. 비교기(170)에서는 CPU 상태들의 일치에 대해서 조사되며, 일치해야 하는 상태들의 편차가 있을 경우 에러가 검출된다. 에러 반응으로서, 한편으로 프로세서 유닛이 구성된 각 시스템에 대한 에러 표시가 가능하며, 다른 한편으로는 프로세서 유닛이 내장된 시스템의 작동, 즉 이를 위해 별도로 제공된 프로그램 및/또는 데이터들을 갖는, 보호된 비상 작동과 같은 에러 반응들이 가능하다. 예컨대 n 부터 m 테스트 또는 1부터 k 코드와 같이 계속된 에러 평가가 가능하며, 이 경우 n과 m은 자연수이며 n≥2 및 m>n>m/2이고, k는 자연수>1이다. 이와 같은 테스트에 의해, 하나의 실행 유닛이 명백하게 에러가 있는 것으로서 검출되면, 추가의 에러 반응으로서 상기 실행 유닛의 스위치 오프, 지속된 유닛의 비상 작동 또는 에러가 있는 실행 유닛의 비상 작동으로의 전환이 이루어질 수 있다.
안전-모드, 즉 안전성 모드 또는 일반적인 제1 작동 모드일 때, 제1 메모리 영역들에 있는 어드레스 또는 데이터들로의 실행 유닛의 액세스가 허용된다. 즉 각각의 실행 유닛은 제1 작동 모드일 때, 특히 상기 실행 유닛에 할당된, 제1 메모리 영역으로만 액세스할 수 있다. 이는 모니터링 수단, 특히 전환 수단 또는 모드 셀렉터들(130, 131) 또는 모드 셀렉터들(130, 131)에 있는 모니터링 수단에 의해서 조사된다. 에러가 발생되면 비교 가능한 에러 반응이, 앞서 설명한 바와 같이 비 교에 대해서 CPU 상태들이 일치할 때, 고려되고 제공될 수 있다. 즉 전환 수단인 모드 셀렉터들(130, 131)은 제1 작동 모드를 위해 버스(140, 141)를 통해 각각의 해당 제1 메모리 영역(150, 151)에 연결되거나, 액세스 바이얼레이션을 모니터링한다.
상기 실시예의 제2 작동 모드일 때, 각각의 태스크의 안전 임계적이지 않은 프로그램이 처리된다. 2개의 실행 유닛들에서, 즉 CPU1, 2(101, 102)에서 안전 임계적이지 않은 다양한 프로그램들이 실행된다. 여기에는 예컨대 제2 작동 모드를 위한, 즉 OSEK 서브 시스템을 위한 작동 시스템도 속한다. 2개의 실행 유닛들 또는 CPU들은 앞서 설명한 바와 같이 형성될 수 있는 제2의 비휘발성 메모리 영역으로 분할된다. 물론 각각의 CPU에는 고유의 휘발성 주기억 장치(RAM1, RAM2)(110, 111)가 할당된다. 이와 같이 안전 임계적이지 않은 프로그램들이 2중이 되지 않거나 아예 2중으로 실행되지 않기 때문에, 적어도 이론적으로는 리소스의 릴리스를 기다림으로써 2개의 실행 유닛들을 상호간에 블로킹할 수 있다. 이는 예컨대 실행 유닛들(101, 102)에 대한 스케줄에 따라 태스크 또는 프로그램을 적절하게 분할함으로써 저지된다. 교대되는 액세스 또는 각각의 프로그램에 따라 우선되는 액세스와 같은 추가의 조치들도 가능하다. 제2 작동 모드, 즉 출력 모드일 때, 제1 메모리 영역 내의 어드레스로의 액세스는 허용되지 않는다.
또한 검사 수단에 의해, 특히 전환 수단, 모드 셀렉터들에 의해, 모드 셀렉터들에서 검사가 별도로 실행된다. 제2 작동 모드일 때 에러가 검출된 액세스의 경우, 상응하는 에러 반응이 도입될 수 있다. 이때 한편으로 제1 작동 모드에 상 응하게 에러 반응이 고려되고 사전 설정될 수 있다. 이는 에러가 있는 액세스의 경우 경우에 따라 안전 임계적인 메모리 영역으로 액세스되기 때문에 특히 중요하다. 한편으로 이는 제2 메모리 영역으로의 접속이 제2 작동 모드에서만 형성되고 제1 메모리 영역으로의 접속은 상기 작동 모드일 때 차단되거나, 제1 메모리 영역으로의 액세스가 다른 방법으로 방지되어 제2 메모리 영역으로의 액세스만이 허용됨으로써 구현될 수 있다.
작동 모드 사이의 전환은 이제 도2, 도3에서 재차 설명된다.
제1 작동 모드, 즉 안전성 모드 또는 안전-모드로부터 제2 작동 모드, 즉 출력 모드 또는 실행-모드로의 전환을 이루기 위해, 사전 설정된 또는 분류된 어드레스로의 액세스가 필요하므로, 제2 작동 모드로의 전환이 이루어진다. 분류된 어드레스는 프로그램 처리 시 제1 메모리 영역에서 발생할 수 있으며, 또는 상응하게 외부로부터 제공될 수 있다. 즉 제1 작동 모드 또는 안전성 모드일 때 제1 메모리 영역 내의 어드레스 또는 프로그램으로만 액세스될 수 있으며, 안전성 모드일 때 예컨대 제2 메모리 영역의 다른 어드레스가 액세스되면, 앞서 설명한 바와 같이 상응하는 에러 반응을 갖는 에러가 제공된다. 이는 도2에 재차 도시된다. 블록(200)에는 제1 작동 모드, 즉 안전성 모드에 있는 2개의 실행 유닛들(101, 102)이 있다. 다음 번 명령의 어드레스가, 상응하게 분류된 전환 어드레스의 트리거 어드레스와 동일한지의 여부가 질의 210에서 조사된다. 동일하지 않다면, 2개의 처리 유닛들이 제1 작동 모드에 있으므로 각각 제1 메모리 영역(150, 151)으로 액세스된다. 물론 다음 번 명령 및/또는 데이터의 어드레스가 트리거 어드레스에 상응하 면, 블록(220)에서는 제2 작동 모드, 출력 또는 실행-모드로의 전환이 이루어진다. 각각의 실행 유닛은 제2 작동 모드일 때 처리가 재개되는 제2 메모리 영역 내의 어드레스를 받는다. 비교 유닛 또는 비교 수단(170)이 차단되며, 즉 외부 기능이 세팅된다(disabled). 따라서 블록(230)에는 제2 작동 모드일 때 처리 유닛(101)이, 블록(231)에는 마찬가지로 제2 작동 모드, 즉 실행-모드일 때 제2 실행 유닛(102)이 있다. 즉 안전성 모드, 안전-모드로부터 실행-모드로의 가능성을 이루기 위해, 구체적인 실시예에서 예컨대 OSEK 타임 작동 시스템의 ttidle 태스크와 같은 특수한 OSEK 타임 태스크 T트리거의 호출, 각각 트리거 어드레스로서 분류된 어드레스의 호출, 특히 상기 프로그램 부분 또는 태스크의 시작 어드레스의 호출이 이루어진다. 특히 2개의 실행 유닛들이 동기화로 처리되면, 이 호출은 2개의 CPU들에서 필수적으로 동시에 일어난다. ttidle와 마찬가지로 T트리거-태스크는 제2 메모리 영역(180)에 위치하는 OSEK-스케줄러의 호출이다. 예컨대 전환 장치, 즉 모드-셀렉터들(130, 131)에서는 상응하는 어드레스가 트리거 어드레스로서 조정되며, 이는 출력 모드로 전환하기 위해서이다. 이는 언급한 바와 같이, 블록(210)에서, 즉 모드-셀렉터들, 전환 수단에서 조사된다. 안전성 모드로 새롭게 전환될 때까지 미래의 어드레스 액세스는 롬-영역(180), 즉 비휘발성 제2 메모리 영역에서만 이루어질 수 있다.
도3에는 출력 모드, 즉 실행-모드가 특히 다시 제2 작동 모드, 즉 안전성 모드 또는 안전-모드로 전환되는 것이 도시된다. 블록(300)에서 실행 유닛(101), 즉 CPU1은 제2 작동 모드, 실행-모드에 있다. 마찬가지로 블록(310)에서 제2 실행 유닛(102)은 상기 실시예의 출력 모드, 제2 작동 모드에 있다. 블록(320) 또는 (321)에서는, 이제 각각의 실행 유닛을 위해 인터럽트 리퀘스트, 인터럽트가 개시되며, 이를 통해 블록(330)에서 2개의 실행 유닛(101, 102)의, 제1 작동 모드, 안전성 모드로의 전환이 이루어진다. 비교 수단인 비교기(170)가 다시 접속되며, 블록(340)에서는 2개의 실행 유닛들이 다시 안전성 모드, 제1 작동 모드로 실행된다. 인터럽트 리퀘스트는 한편으로 시간 조건, 즉 타임 인터럽트에 의해서 개시될 수 있으며 또는 상태 조건 또는 이벤트 조건에 의해 개시될 수 있다. 이는 출력 모드를 안전성 모드로 전환하기 위해, 제1 작동 시스템 OSEK 타임의 인터럽트 리퀘스트가 발생되는 것을 의미한다. OSEK 작동 시스템에 비해 더 우선되는 OSEK 타임 작동 시스템의 타임 인터럽트가 2개의 CPU들에서 동일하게 프로그래밍되는데, 이는 2개의 CPU들에서 동일한 OSEK 타임 시스템이 실행되기 때문이다. 특히 동기화로 실행되는 OSEK 타임 시스템의 경우, 인터럽트, 즉 인터럽트 리퀘스트가 2개의 CPU들에서 동시에 등록된다. 언급한 바와 같이, 규정에 따라 OSEK 타임 스케줄러 인터럽트는 매우 높은, 특히 최우선권을 갖는다. 2개의 인터럽트 리퀘스트는 동기화의 경우 상응하게 동시에 실행된다. 이미 언급한 바와 같이, 상기 인터럽트 리퀘스트의 실행에 의해 마찬가지로 비교 수단(170)도 기능하며, 제1 작동 상태, 안전성 모드로 전환되고 실행 유닛들이 특히 새롭게 중복 실행된다.
이미 언급한 타이머-인터럽트 외에, 상태 인터럽트 또는 이벤트 인터럽트가 사용될 수 있으며, 이는 제2 작동 모드로부터 제1 작동 모드로의 언급한 작동 모드 전환을 실행하기 위해서이다. 이 경우 실행 유닛들의 특정 상태는 예컨대 2개의 실행 유닛들에 대해 유효한, 최우선되는 인터럽트를 개시할 수 있다. 이는 예컨대 롬(180) 내의 프로그램 처리에 의해 발생된, 하나의 CPU 내의 상태일 수 있으며 상기 상태는 제2 CPU에 대해서도 유효한 최우선의 인터럽트 리퀘스트를 개시한다. 마찬가지로, 하나의 이벤트 특히 프로세서 유닛의 외부로부터 제공된 이벤트도 이와 같은 인터럽트 및 작동 모드 전환을 개시할 수 있다. 바람직하게는, 설명한 바와 같이 타이머 인터럽트를 갖는 제1 변형예, 상태 인터럽트 또는 이벤트 인터럽트가 마찬가지로 고려될 수 있으며 공지되어 있다.
이로써 통합된 2개의 실행 유닛들을 갖는 하나의 프로세서 유닛의 2개의 작동 모드들 사이를 최적으로 전환하는 과제가 본 발명에 따라 제시되며, 구체적인 실시예는 본 발명의 대상의 기본 개념에 대해서 제한 없이 작용할 수 있다.
Claims (28)
- 적어도 2개의 실행 유닛들을 갖는 프로세서 유닛으로서, 상기 프로세서 유닛의 적어도 2개의 작동 모드 사이를 전환할 수 있는 전환 수단이 포함되는 프로세서 유닛에 있어서,상기 전환 수단은, 제1 작동 모드로부터 제2 작동 모드로의 전환이 시작되도록, 사전 설정된 메모리 어드레스로 프로세서 유닛을 통해 액세스하도록 형성되는 것을 특징으로 하는 프로세서 유닛.
- 제1항에 있어서, 상기 제1 작동 모드는, 2개의 실행 유닛이 동일한 프로그램들을 처리하며 비교 수단이 제공된 안전성 모드에 상응하고, 비교 수단은 동일한 프로그램들을 처리할 때 발생하는 실행 유닛들의 상태들을 일치에 대해서 비교하는 것을 특징으로 하는 프로세서 유닛.
- 제2항에 있어서, 상기 실행 유닛들은 제1 작동 모드에서 동일한 프로그램들을 동기화로 처리하도록 형성되는 것을 특징으로 하는 프로세서 유닛.
- 제1항에 있어서, 적어도 3개의 분할된 메모리 영역을 가지며, 제1 작동 모드에서 각각의 실행 유닛이 각 실행 유닛에 할당된 하나의 제1 메모리 영역에 접속되는 프로세서 유닛.
- 제1항에 있어서, 적어도 2개의 분할된 메모리 영역을 가지며, 제2 작동 모드에서 2개의 실행 유닛들이 2개의 실행 유닛들에 할당된 제2 메모리 영역에만 접속되는 프로세서 유닛.
- 제1항 및 제5항에 있어서, 액세스되어야 하는 사전 설정된 메모리 어드레스가 제2 메모리 영역 내에 국한되는 것을 특징으로 하는 프로세서 유닛.
- 제1항에 있어서, 적어도 2개의 분할된 메모리 영역을 가지며, 제1 작동 모드에서 2개의 실행 유닛들이 2개의 실행 유닛들에 할당된 제1 메모리 영역에만 접속되는 프로세서 유닛.
- 제1항 및 제7항에 있어서, 사전 설정된 메모리 어드레스가 트리거 어드레스로서 제1 메모리 영역 내에 포함되며, 액세스되어야 하는 후속 어드레스는 제2 메모리 영역에 포함되는 것을 특징으로 하는 프로세서 유닛.
- 제1항 및 제5항에 있어서, 모니터링 수단, 특히 전환 수단이 제공되며, 상기 전환 수단은 평가 수단이 제2 작동 모드에서 각각 제2 메모리 영역에만 접속되도록, 모니터링을 위해 형성되는 것을 특징으로 하는 프로세서 유닛.
- 제1항 및 제4항에 있어서, 모니터링 수단, 특히 전환 수단이 제공되며, 상기 전환 수단은 평가 수단이 제1 작동 모드에서 각각 제1 메모리 영역에만 접속되도록, 모니터링을 위해 형성되는 것을 특징으로 하는 프로세서 유닛.
- 제4항 또는 제5항에 있어서, 상기 메모리 영역 각각에는 하나의 분할된 메모리 모듈이 제공되는 것을 특징으로 하는 프로세서 유닛.
- 제2항에 있어서, 상기 비교 수단은 출력 모드에 상응하는 제2 작동 모드로의 전환 시 작동하지 않으며, 상태들의 비교가 제1 작동 모드에서만 이루어지는 것을 특징으로 하는 프로세서 유닛.
- 제1항에 있어서, 인터럽트 수단이 포함되며, 상기 인터럽트 수단은 인터럽트 리퀘스트를 통해서 제1 작동 모드로의 복귀가 가능하도록 형성되는 것을 특징으로 하는 프로세서 유닛.
- 제13항에 있어서, 상기 인터럽트 리퀘스트가 시간 조건에 의해서 개시되는 것을 특징으로 하는 프로세서 유닛.
- 제13항에 있어서, 상기 인터럽트 리퀘스트가 상태 조건에 의해서 개시되는 것을 특징으로 하는 프로세서 유닛.
- 적어도 2개의 실행 유닛들을 갖는 프로세서 유닛의 적어도 2개의 작동 모드들 사이의 전환 방법에 있어서,제1 작동 모드로부터 제2 작동 모드로의 전환은, 사전 설정된 메모리 어드레스로 상기 프로세서 유닛에 의해 액세스됨으로써 개시되는 것을 특징으로 하는 방법.
- 제16항에 있어서, 상기 실행 유닛들은 제1 작동 모드일 때 동일한 프로그램들을 동기화로 처리하는 것을 특징으로 하는 방법.
- 제16항에 있어서, 2개의 작동 모드들에서 다양한 프로그램들이 처리되며, 제1 작동 모드에서는 안전 임계적인 프로그램이 2개의 실행 유닛들에 의해서 중복적으로 처리되며, 제2 작동 모드에서는 임계적이지 않은 프로그램이 처리되는 것을 특징으로 하는 방법.
- 제18항에 있어서, 안전 임계적인 프로그램이, 상기 실행 유닛들에 각각 할당된 제1 메모리 영역 내에 중복 저장되는 것을 특징으로 하는 방법.
- 제18항에 있어서, 임계적이지 않은 프로그램이 단독의 제2 메모리 영역 내에 저장되며, 2개의 실행 유닛들이 제2 작동 모드에서 제2 메모리 영역에만 액세스하 는 것을 특징으로 하는 방법.
- 제16항에 있어서, 제1 작동 모드에서 안전 임계적인 프로그램들이 중복적으로 처리되며, 발생된 상태들이 일치에 대해서 비교되는 것을 특징으로 하는 방법.
- 제16항에 있어서, 제1 작동 모드에서는 상기 실행 유닛들에 의해, 각각 하나의 실행 유닛에 할당된 제1 메모리 영역만이 액세스되는 것을 특징으로 하는 방법.
- 제16항에 있어서, 적어도 2개의 분할된 메모리 영역들을 가지며, 제1 작동 모드에서 2개의 실행 유닛들이 2개의 실행 유닛들에 할당된 제1 메모리 영역에만 액세스되는 방법.
- 제16항 및 제23항에 있어서, 사전 설정된 메모리 어드레스가 트리거 어드레스로서 제1 메모리 영역 내에 포함되며, 액세스되어야 하는 후속 어드레스가 제2 메모리 영역 내에 포함되는 것을 특징으로 하는 방법.
- 제16항에 있어서, 제2 작동 모드에서 2개의 실행 유닛들에 의해, 2개의 실행 유닛들에 할당된 하나의 제2 메모리 영역만이 액세스되는 것을 특징으로 하는 방법.
- 제16항 및 제25항에 있어서, 평가 수단이 제2 작동 모드에서 제2 메모리 영역에만 액세스하는지가 모니터링되는 것을 특징으로 하는 방법.
- 제16항 및 제22항 또는 제23항에 있어서, 상기 평가 수단이 제1 작동 모드에서 제1 메모리 영역에만 액세스하는지가 모니터링되는 것을 특징으로 하는 방법.
- 제16항에 있어서, 제2 작동 모드로부터 제1 작동 모드로의 전환이 인터럽트 리퀘스트에 의해서 이루어지며, 상기 인터럽트 리퀘스트가 시간 조건 또는 상태 조건에 의해서 개시되는 것을 특징으로 하는 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10328208 | 2003-06-24 | ||
DE10328208.4 | 2003-06-24 | ||
DE10332700.2 | 2003-07-18 | ||
DE10332700A DE10332700A1 (de) | 2003-06-24 | 2003-07-18 | Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060026884A true KR20060026884A (ko) | 2006-03-24 |
Family
ID=33566007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057024653A KR20060026884A (ko) | 2003-06-24 | 2004-06-22 | 프로세서 유닛의 적어도 2개의 작동 모드 사이의 전환 방법및 상응하는 프로세서 유닛 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20070277023A1 (ko) |
EP (1) | EP1639454A2 (ko) |
JP (1) | JP4232987B2 (ko) |
KR (1) | KR20060026884A (ko) |
BR (1) | BRPI0411824A (ko) |
RU (1) | RU2006101719A (ko) |
WO (1) | WO2005003962A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100878917B1 (ko) * | 2006-06-06 | 2009-01-15 | 각코호진 와세다다이가쿠 | 헤테로지니어스 멀티프로세서용 글로벌 컴파일러 |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10349581A1 (de) * | 2003-10-24 | 2005-05-25 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit |
WO2006045798A1 (de) * | 2004-10-25 | 2006-05-04 | Robert Bosch Gmbh | Verfahren und vorrichtung zur datenverteilung aus wenigstens einer datenquelle in einem mehrprozessorsystem |
JP5053854B2 (ja) * | 2004-10-25 | 2012-10-24 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置 |
DE102005037213A1 (de) * | 2004-10-25 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal |
US20070011513A1 (en) * | 2005-06-13 | 2007-01-11 | Intel Corporation | Selective activation of error mitigation based on bit level error count |
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 |
DE102005037230A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems |
DE102005037233A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Datenverarbeitung |
DE102005037217A1 (de) | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Vergleich von Daten bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten |
DE102005037215A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle |
DE102005037248A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigsterns zwei Ausführungseinheiten |
DE102005037226A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Festlegung eines Startzustandes bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten durch markieren von Registern |
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 |
DE102006048172A1 (de) * | 2006-10-10 | 2008-04-17 | Robert Bosch Gmbh | Elektronisches System |
DE102006048173A1 (de) * | 2006-10-10 | 2008-04-17 | Robert Bosch Gmbh | Verfahren zum Umschalten eines Systems mit mehreren Ausführungseinheiten |
DE102006048174A1 (de) | 2006-10-10 | 2008-04-17 | Robert Bosch Gmbh | Einspritzsystem und Verfahren zum Betreiben eines Einspritzsystems |
US7941698B1 (en) * | 2008-04-30 | 2011-05-10 | Hewlett-Packard Development Company, L.P. | Selective availability in processor systems |
DE102008062594A1 (de) * | 2008-12-16 | 2010-07-01 | Diehl Aerospace Gmbh | Mehrkanal-Kontrollermodul |
US9594648B2 (en) * | 2008-12-30 | 2017-03-14 | Intel Corporation | Controlling non-redundant execution in a redundant multithreading (RMT) processor |
US9081688B2 (en) * | 2008-12-30 | 2015-07-14 | Intel Corporation | Obtaining data for redundant multithreading (RMT) execution |
JP2010198131A (ja) * | 2009-02-23 | 2010-09-09 | Renesas Electronics Corp | プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法 |
US8375250B2 (en) * | 2009-03-04 | 2013-02-12 | Infineon Technologies Ag | System and method for testing a module |
EP2537091A4 (en) * | 2010-02-16 | 2014-08-06 | Freescale Semiconductor Inc | DATA PROCESSING METHOD, DATA PROCESSOR, AND APPARATUS COMPRISING DATA PROCESSOR |
US9405637B2 (en) | 2011-01-18 | 2016-08-02 | Texas Instruments Incorporated | Locking/unlocking CPUs to operate in safety mode or performance mode without rebooting |
JP5693712B2 (ja) * | 2011-04-21 | 2015-04-01 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
WO2014080245A1 (en) | 2012-11-22 | 2014-05-30 | Freescale Semiconductor, Inc. | Data processing device, method of execution error detection and integrated circuit |
DE102013218814A1 (de) | 2013-09-19 | 2015-03-19 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines sicherheitskritischen Systems |
JP6090094B2 (ja) * | 2013-10-02 | 2017-03-08 | トヨタ自動車株式会社 | 情報処理装置 |
US9760446B2 (en) * | 2014-06-11 | 2017-09-12 | Micron Technology, Inc. | Conveying value of implementing an integrated data management and protection system |
US9823983B2 (en) | 2014-09-25 | 2017-11-21 | Nxp Usa, Inc. | Electronic fault detection unit |
US9858201B2 (en) | 2015-02-20 | 2018-01-02 | Qualcomm Incorporated | Selective translation lookaside buffer search and page fault |
US9658793B2 (en) * | 2015-02-20 | 2017-05-23 | Qualcomm Incorporated | Adaptive mode translation lookaside buffer search and access fault |
JP6378119B2 (ja) * | 2015-03-16 | 2018-08-22 | 日立建機株式会社 | 制御コントローラ、ステアバイワイヤシステムおよび機械 |
US10063569B2 (en) * | 2015-03-24 | 2018-08-28 | Intel Corporation | Custom protection against side channel attacks |
US10002056B2 (en) | 2015-09-15 | 2018-06-19 | Texas Instruments Incorporated | Integrated circuit chip with cores asymmetrically oriented with respect to each other |
US9734006B2 (en) * | 2015-09-18 | 2017-08-15 | Nxp Usa, Inc. | System and method for error detection in a critical system |
RU2623883C1 (ru) * | 2016-02-18 | 2017-06-29 | Акционерное общество "Лаборатория Касперского" | Способ выполнения инструкций в системной памяти |
RU2634172C1 (ru) * | 2016-06-02 | 2017-10-24 | Акционерное общество "Лаборатория Касперского" | Способ передачи управления между адресными пространствами |
JP6356736B2 (ja) * | 2016-06-29 | 2018-07-11 | ファナック株式会社 | コントローラシステムおよび制御方法 |
US11535266B2 (en) * | 2017-07-13 | 2022-12-27 | Danfoss Power Solutions Ii Technology A/S | Electromechanical controller for vehicles having a main processing module and a safety processing module |
GB2579591B (en) | 2018-12-04 | 2022-10-26 | Imagination Tech Ltd | Buffer checker |
GB2579590B (en) * | 2018-12-04 | 2021-10-13 | Imagination Tech Ltd | Workload repetition redundancy |
US20240118901A1 (en) * | 2022-10-07 | 2024-04-11 | Xilinx, Inc. | Switching between redundant and non-redundant modes of software execution |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754762A (en) * | 1997-01-13 | 1998-05-19 | Kuo; Chih-Cheng | Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU |
DE19713192C2 (de) * | 1997-03-27 | 2000-02-24 | Rheinmetall Ind Ag | Trägerfahrzeug für eine Rohrwaffe mit einer Abstützvorrichtung |
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 |
-
2004
- 2004-06-22 EP EP04738748A patent/EP1639454A2/de not_active Ceased
- 2004-06-22 BR BRPI0411824-3A patent/BRPI0411824A/pt not_active IP Right Cessation
- 2004-06-22 JP JP2006515276A patent/JP4232987B2/ja not_active Expired - Fee Related
- 2004-06-22 RU RU2006101719/09A patent/RU2006101719A/ru not_active Application Discontinuation
- 2004-06-22 KR KR1020057024653A patent/KR20060026884A/ko not_active Application Discontinuation
- 2004-06-22 WO PCT/DE2004/001299 patent/WO2005003962A2/de active Application Filing
- 2004-06-22 US US10/560,962 patent/US20070277023A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100878917B1 (ko) * | 2006-06-06 | 2009-01-15 | 각코호진 와세다다이가쿠 | 헤테로지니어스 멀티프로세서용 글로벌 컴파일러 |
Also Published As
Publication number | Publication date |
---|---|
JP4232987B2 (ja) | 2009-03-04 |
WO2005003962A2 (de) | 2005-01-13 |
WO2005003962A3 (de) | 2006-01-26 |
RU2006101719A (ru) | 2007-07-27 |
BRPI0411824A (pt) | 2006-08-08 |
US20070277023A1 (en) | 2007-11-29 |
JP2007507015A (ja) | 2007-03-22 |
EP1639454A2 (de) | 2006-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20060026884A (ko) | 프로세서 유닛의 적어도 2개의 작동 모드 사이의 전환 방법및 상응하는 프로세서 유닛 | |
US8549352B2 (en) | Integrated microprocessor system for safety-critical control systems including a main program and a monitoring program stored in a memory device | |
US10489332B2 (en) | System and method for per-task memory protection for a non-programmable bus master | |
US20130268798A1 (en) | Microprocessor System Having Fault-Tolerant Architecture | |
US8984245B2 (en) | Memory protection unit and method for controlling an access to memory device | |
JP5512383B2 (ja) | 計算機システム | |
KR101326316B1 (ko) | 내연 기관의 엔진 제어 장치의 기능을 모니터링하기 위한 방법 및 장치 | |
EP3022653B1 (en) | Fault detection apparatus and method | |
JP2008242593A (ja) | マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法 | |
JP6007677B2 (ja) | 安全制御システム、及び安全制御システムのプロセッサ | |
JP6955858B2 (ja) | 制御装置 | |
US20100281485A1 (en) | Method For Changing Over A System Having Multiple Execution Units | |
US9128838B2 (en) | System and method of high integrity DMA operation | |
CN113993752A (zh) | 电子控制单元和程序 | |
CN107179980B (zh) | 用于监视计算***的方法和相应的计算*** | |
CN116494893A (zh) | 基于功能安全机制和中央计算架构的车辆控制方法及装置 | |
US11875065B2 (en) | Control device | |
EP1505608B1 (en) | Memory system with error detection device | |
CN108700861B (zh) | 用于运行用于机动车的控制设备的方法 | |
JP2001306348A (ja) | 冗長系情報処理システム | |
JP7295780B2 (ja) | 半導体装置及びその動作方法 | |
JP7310521B2 (ja) | マイクロコンピュータ | |
JP5712907B2 (ja) | 制御装置、情報処理装置およびメモリ管理装置の動作確認方法 | |
JP2014056396A (ja) | 電子制御装置 | |
JP2013164873A (ja) | マルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |