KR20070083776A - 적어도 하나의 외부 신호에 의한 멀티 프로세서 시스템의작동 모드 사이의 스위칭을 위한 방법 및 장치 - Google Patents
적어도 하나의 외부 신호에 의한 멀티 프로세서 시스템의작동 모드 사이의 스위칭을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20070083776A KR20070083776A KR1020077009266A KR20077009266A KR20070083776A KR 20070083776 A KR20070083776 A KR 20070083776A KR 1020077009266 A KR1020077009266 A KR 1020077009266A KR 20077009266 A KR20077009266 A KR 20077009266A KR 20070083776 A KR20070083776 A KR 20070083776A
- Authority
- KR
- South Korea
- Prior art keywords
- switching
- signal
- mode
- computer system
- external
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 235000019169 all-trans-retinol Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- 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
- 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)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Hardware Redundancy (AREA)
- Burglar Alarm Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
본 발명은 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서 스위칭을 위한 방법에 관한 것이고, 적어도 2개의 작동 모드 사이에서 스위칭되며, 제1 작동 모드는 비교 모드에 그리고 제2 작동 모드는 실행 모드에 상응하며, 스위칭은 컴퓨터 시스템의 외부에서 발생되는 적어도 하나의 신호에 의해 트리거링되는 것을 특징으로 한다.
실행 유닛, 작동 모드, 비교 모드, 실행 모드, 컴퓨터 시스템.
Description
본 발명은 독립항들의 전제부에 따른, 적어도 2개의 실행 유닛을 포함하는 멀티 프로세서 시스템의 적어도 2개의 작동 모드 사이의 스위칭을 위한 장치 및 방법 그리고 상응하는 프로세서 시스템에 관한 것이다.
알파 입자 또는 우주 방사선에 의해 야기되는 과도 에러는 집적 반도체 회로에서 점점 더 문제가 되고 있다. 감소하는 구조 폭, 낮아지는 전압 및 더 높은 클록 주파수에 의해, 알파선 또는 우주선에 의해 야기되는 전압 피크가 집적 회로 내 논리 값을 변조하는 확률이 증가한다. 결국 잘못된 계산 결과가 나타날 수 있다. 따라서 특히 자동차 내 안전 관련 시스템에서 이러한 에러는 신뢰할 만하게 검출되어야만 한다.
예컨대 전자 장치의 에러 기능이 확실히 검출되어야 하는 자동차의 ABS-시스템과 같은 안전 관련 시스템의 경우, 이러한 시스템의 상응하는 제어 장치에서 통상적으로 중복성이 에러 검출을 위해 사용된다. 따라서 예컨대 알려진 ABS-시스템에서는 각각 완전한 마이크로 컨트롤러가 중복되며, 전체 ABS-기능은 중복으로 계 산되어 일치하는지 테스트된다. 결과가 불일치하면 ABS-시스템은 차단된다.
마이크로 컨트롤러가 한편으로는 메모리 모듈(예컨대 RAM, ROM, 캐시), 프로세서(CPU, 코어) 및 입/출력 인터페이스, 소위 주변기기(예컨대 A/D-변환기, CAN-인터페이스)로 이루어진다. 메모리 소자가 테스트 코드(패리티 또는 ECC)에 의해 효과적으로 모니터링될 수 있고, 주변기기들이 종종 전용형으로 센서- 또는 액추에이터- 신호 경로의 부분으로서 모니터링되기 때문에, 마이크로 컨트롤러의 코어(CPUs)의 단독 중복시키는 것과 관련하여 추가로 중복성 접근이 제공된다.
적어도 2개의 집적 코어를 포함하는 이러한 마이크로 컨트롤러는 듀얼 코어 또는 멀티 코어 아키텍처로서도 알려져 있다. 양 코어는 중복되어 동기적으로 동일한 프로그램 세그먼트를 실행하고, 양 실행 유닛의 결과가 비교되며, 그리고 에러는 일치성 비교시 검출된다. 하기에서 이러한 멀티 코어 시스템의 구성(configuration)이 비교 모드로서 표시된다.
듀얼 코드 또는 멀티 코어는 다른 용도로서 출력 증가, 즉 퍼포먼스 증가를 위해서도 사용된다. 양 코어는 상이한 프로그램을 실행하고, 이로 인해 출력 증가가 달성될 수 있고, 이 때문에 이러한 멀티 코어 시스템의 구성은 출력 모드 또는 실행 모드로서 표시된다. 이러한 시스템은 대칭형 멀티 프로세서 시스템(SMP)으로도 표시된다.
상기 시스템의 확장은 스위칭에 의해 달성될 수 있고, 즉 멀티 프로세서 시스템의 사용 목적에 따라 상기 멀티 프로세서 시스템이 비교 모드 또는 실행 모드에서 작동될 수 있다. 비교 모드에서 코어의 출력 신호가 서로 비교된다. 차이가 나는 경우 에러 신호가 출력된다. 실행 모드에서 양 코어는 대칭형 멀티 프로세서 시스템(SMP)으로서 작동하며 상이한 프로그램을 실행한다.
무엇보다 자동차 영역에서 알려진 시스템은 외부 사건에 대해 또는 외부 사건에 따라 반응해야 한다. 이러한 시스템에서, 스위칭은 프로세서 외부 조건(예컨대 센서값, 시스템 상태, 차량 상태)에 따라 실행되는 것이 바람직할 수 있다. 앞으로 자동차에서는 시간 제어 통신 시스템이 점점 더 많이 사용된다. 이러한 통신 시스템과 관련하여, 멀티 프로세서 시스템의 작동 모드를 통신 시스템의 글로벌 시간축(global time base) 또는 추가 사건에 따라 스위칭하는 것이 바람직할 수 있다.
별도의 에러 로컬리제이션(error localization) 및 에러 처리를 가능하게 하기 위해, 멀티 프로세서 시스템의 작동 모드 스위칭을 중복 모드(비교 모드)로부터 비중복 모드(실행 모드)로 실행하는 것이 리얼 타임 시스템(real-time system)에서 특히 에러 처리를 위해서도 유리할 수 있다. 상이한 시스템 모드도(예컨대 차량 제어 시스템에서) 최적의 프로세스 모드를 상이하게 요구할 수 있다. 따라서 동일한 프로그램을 시스템 모드 1에서는 프로세서 시스템의 제1 작동 모드로 진행하게 하는 것이 유리할 수 있는 반면, 시스템 모드 2에서는 바람직하게 프로세서 시스템의 제2 작동 모드로 진행한다. 전용 작동 모드로의 의도된 스위칭 또는 외부 신호에 따른 이러한 스위칭의 저지가 종래 기술에서는, 즉 프로그램 지정 아이디(program specific ID) 또는 특정 메모리 어드레스에 대한 액세스에 의해서는 이루어질 수 없다.
본 발명의 목적은 외부 신호에 따라 상이한 작동 모드 사이의 스위칭을 야기하는 데 있다.
바람직하게 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서 스위칭을 위한 방법이 기술되고, 적어도 2개의 작동 모드 사이에서 스위칭되며, 제1 작동 모드가 비교 모드에 그리고 제2 작동 모드가 실행 모드에 상응하며, 스위칭은 컴퓨터 시스템의 외부에서 발생되는 적어도 하나의 신호에 의해 트리거링되는 것을 특징으로 한다. 바람직하게 외부 신호에 아이디가 할당되거나 또는 상기 외부 신호가 이러한 아이디를 포함하며, 스위칭은 아이디가 존재하는 경우에만 이루어진다. 바람직하게 아이디에 의해 어떤 작동 모드로 스위칭 되는지가 결정된다. 바람직하게 아이디는 시간 조건을 포함하며, 상기 시간 조건에 의해 언제 스위칭 되는지가 결정된다. 바람직하게 외부 신호에 의해 작동 모드 사이에서 한 방향으로만 스위칭이 이루어진다. 바람직하게 외부 신호에 의해 실행 모드로부터 비교 모드로의 스위칭만이 이루어진다. 바람직하게 외부 신호에 의해 비교 모드로부터 실행 모드로의 스위칭만이 이루어진다. 바람직하게 신호는 인터럽트 처리의 트리거링을 나타낸다. 바람직하게 아이디는 특히 펄스폭 변조된 신호의 프리세팅된 신호 곡선에 상응한다. 바람직하게 아이디는 프리세팅된 주파수에 상응한다. 바람직하게 아이디는 디지털 신호의 프리세팅된 비트열에 상응한다. 바람직하게 아이디는 통신 시스템의 메시지의 프리세팅된 메시지 아이디에 상응한다. 바람직하게 스위칭은 컴퓨터 시스템의 외부에서 발생된 적어도 하나의 신호와 컴퓨터 시스템의 내부에서 발생된 적어도 하나의 정보의 조합에 의해 트리거링된다. 바람직하게 스위칭은, 적어도 하나의 외부 신호와 적어도 하나의 컴퓨터 시스템 내부 정보가 동시에 존재하는 경우에만 이루어진다. 스위칭을 위한 시간적으로 제한된 인에이블이 적어도 하나의 외부 신호에 따라 이루어지고, 제한된 인에이블 타임 내에서 적어도 하나의 컴퓨터 시스템 내부 정보 또는 컴퓨터 시스템 내부 사건이 스위칭을 위해 존재하는 경우에만 바람직하게 스위칭이 이루어진다. 바람직하게 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서 스위칭을 위한 장치가 포함되고, 적어도 2개의 작동 모드 사이를 스위칭시키도록 설계된 스위칭 수단이 포함되며, 제1 작동 모드는 비교 모드에 그리고 제2 작동 모드는 실행 모드에 상응하고, 컴퓨터 시스템의 외부에서 발생된 적어도 하나의 신호를 수신하는 수신 수단이 포함되는 것을 특징으로 하며, 스위칭은 컴퓨터의 외부에서 발생된 신호에 의해 트리거링된다. 바람직하게 적어도 하나의 외부 신호를 수신하기 위한 수신 수단은 인터럽트 컨트롤러이다. 바람직하게 컴퓨터 시스템의 외부에서 발생된 적어도 하나의 신호를 수신하는 수신 수단이 포함되고, 외부로부터 수신된 신호 또는 그의 아이디를 내부에서 발생된 신호와 조합시키는 수단이 포함되며, 스위칭은 컴퓨터 시스템의 외부에서 발생된 적어도 하나의 신호와 컴퓨터 시스템의 내부에서 발생된 적어도 하나의 정보의 조합에 의해 트리거링된다.
추가 장점 및 바람직한 실시예는 청구항의 특징 및 설명부로부터 제시된다.
도1은 2개의 실행 유닛, 2개의 실행 유닛의 데이터를 비교하기 위한 장치 및 작동 모드의 스위칭을 위한 스위칭 유닛을 포함하는 멀티 프로세서 시스템이다.
도2는 2개의 실행 유닛, 2개의 실행 유닛의 데이터를 비교하기 위한 장치 및 작동 모드의 스위칭을 위한 스위칭 유닛 및 스위칭 신호를 발생시키는 외부 신호 소오스를 포함하는 멀티 프로세서 시스템이다.
도3은 2개의 실행 유닛, 2개의 실행 유닛의 데이터를 비교하기 위한 장치 및 작동 모드의 스위칭을 위한 스위칭 유닛 및 멀티 프로세서 시스템의 인터럽트 컨트롤러에 연결되는 외부 신호 소오스를 포함하는 멀티 프로세서 시스템이다.
도4는 2개의 실행 유닛, 2개의 실행 유닛의 데이터를 비교하기 위한 장치 및 작동 모드의 스위칭을 위한 스위칭 유닛 및 통신 시스템을 통해 멀티 프로세서 시스템에 연결된 외부 신호 소오스를 포함하는 멀티 프로세서 시스템이다.
도5는 일반적인 스위칭- 및 비교 유닛이다.
실행 유닛은 하기에서 프로세서/코어/CPU 뿐만 아니라, 부동 소수점 유닛FPU(Floating Point Unit), 디지털 신호 처리 장치 DSP(Digital Signal Processor), 보조 프로세서(Coprocessor) 또는 산술 논리 연산 장치 ALU(Arithmetic Logic Unit)로도 표시된다.
본 발명은 적어도 2개의 실행 유닛(W110a, W110b), 비교 유닛(W120) 및 스위칭 유닛(W150)을 포함하는 도1에 도시된 멀티 프로세서 시스템(W100)에 관한 것이다. 실행 유닛은 각각 선택적 중간 메모리(W111a, W111b)를 통해 비교 유닛(W120) 및 스위칭 유닛(W150)에 연결된다. 스위칭 유닛(W150)은 2개의 시스템 인터페이 스(W130a, W130b)에 대해 적어도 2개의 출력을 가진다. 상기 인터페이스를 통해, 레지스터, 메모리 또는 디지털 출력, D/A-변환기, 통신 컨트롤러와 같은 주변 기기가 제어될 수 있다.
상기 멀티 프로세서 시스템은 적어도 2개의 작동 모드로 작동될 수 있고, 비교 모드 VM와 실행 모드 PM이다.
실행 모드 PM로 상이한 실행 유닛에서 상이한 명령, 프로그램 세그먼트 또는 프로그램이 동시에 실행된다. 이러한 작동 모드에서 비교 유닛이 비활성화된다. 스위칭 유닛(W150)은 상기 작동 모드에서, 각 실행 유닛이 선택적 중간 메모리를 통해 시스템 인터페이스(W130a, W130b) 중 어느 하나에 연결되도록 구성된다. 시스템 인터페이스를 통해 실행 유닛의 결과가 메모리(W170)에 기록될 수 있거나 또는 주변 기기(W180, W190)로 출력될 수 있다. 주변 기기는 예컨대 아날로그-디지털-변환기 또는 통신 시스템의 통신 컨트롤러(예컨대 SPI, LIN, CAN, 플렉스레이(Flexray))일 수 있다.
비교 유닛의 비활성화를 위해 다수의 가능성이 존재한다. 제1 가능성으로는 비교기에 신호가 안내될 수 있고, 상기 신호에 의해 상기 비교기가 활성화 또는 비활성화된다. 이를 위해 비교기에 추가 로직이 삽입되고, 상기 추가 로직은 상기 비교기를 실행시킬 수 있다. 추가 가능성으로서 비교기에 비교될 데이터가 공급되지 않는다. 제3 가능성으로서 시스템 레벨에서 비교기의 에러 신호는 무시된다. 또한 에러 신호 자체도 인터럽트될 수 있다. 모든 가능성들에서 공통적으로, 잠재적으로 비교되는 2개 또는 다수의 데이터가 상이한 경우에는 아무 역할도 못하는 상태를 시스템에서 발생시킨다. 이러한 상태가 비교기 또는 그의 입력 또는 출력 신호에서 조치에 의해 달성되면, 비교기는 패시브 또는 비활성으로 표시된다.
비교 모드 VM로 양 실행 유닛(W110a, W110b)에서 동일하거나 또는 동일한 종류의 명령, 프로그램 세그먼트 또는 프로그램이 수행된다. 선택적 중간 메모리(W111a, W111b)를 통해 실행 유닛의 출력 신호가 비교 유닛(W120) 및 스위칭 유닛(W150)으로 안내된다. 비교 유닛에서 양 데이터가 일치하는지 테스트된다. 비교가 이루어진 이후에 스위칭 유닛에는 상태 신호(W125)를 통해, 상기 스위칭 유닛이 일치하는 결과들 중 하나를 시스템 인터페이스 중 하나로 출력해도 되는지의 여부 또는 상기 스위칭 유닛이 결과의 검출된 불일치로 인해 신호를 차단해야만 하는지의 여부가 전달된다. 이러한 경우 비교 유닛으로부터 선택적 에러 신호(W155)가 출력될 수 있다. 이러한 에러 신호는 비교 유닛 대신에 스위칭 유닛으로부터도 출력될 수 있다(W156).
이 경우 스위칭은 특수한 스위칭 인스트럭션(instruction), 특수한 인스트럭션 시퀀스, 명시적으로 특성화된 인스트럭션의 실행을 통해 또는 멀티 프로세서 시스템의 코어 중 적어도 하나에 의한 특정 메모리 어드레스에 대한 액세스를 통해 트리거링될 수 있다. 본 발명에서 멀티 프로세서 시스템의 양 작동 모드 사이의 스위칭은 적어도 하나의 신호(W160)에 의해 트리거링되며, 상기 신호는 컴퓨터 시스템 외부에 있는 장치 또는 신호 소오스(W140)에 의해 발생되며 도 2에 도시된다.
제1 실시예에서 스위칭은 정확히 하나의 신호에 따라 이루어진다. 상기 스위칭은, 신호의 정확히 하나의 특성에 의해, 멀티 프로세서 시스템이 신호의 수신 시점에 존재하는 임의의 제1 작동 모드로부터 제2 작동 모드로의 교환이 이루어지도록 일어날 수 있다.
제2 실시예에서 스위칭은, 신호의 정확히 하나의 특성에 의해 작동 모드의 교환이 한 방향으로만, 즉 제1의, 미리 규정된 작동 모드로부터 정확히 하나의 제2 의, 미리 규정된 작동 모드로 이루어지고, 예컨대 실행 모드로부터 비교 모드로 이루어지도록 구성될 수 있다. 멀티 프로세서 시스템이 신호의 수신 시점에서 이미 제2 의, 목표 상태로서 규정된 작동 모드에 있으면, 스위칭 신호는 멀티 프로세서 시스템에 문제없이 작용하면서 유지된다. 각각 다른 방향으로의 스위칭은 다른 방식으로, 알려진 방법을 통해, 예컨대 프로세서 내부 신호 또는 사건, 특정 메모리 어드레스에 대한 액세스에 따라, 특정 프로그램, 프로그램 세그먼트 또는 명령의 실행에 따라 이루어지거나 또는 제2의 외부 신호를 통해 이루어진다.
상기 신호의 특성은 신호의 존재 또는 신호 레벨의 초과 또는 미만일 수 있다.
제3 실시예에서 작동 모드의 스위칭은 적어도 하나의 신호에 따라 이루어지고, 상기 신호는 컴퓨터 시스템의 외부에서 장치 또는 신호 소오스(W140)로부터 발생되며 상기 신호에는 아이디가 할당되거나 또는 이러한 아이디를 포함하고, 아이디가 존재하는 경우에만 스위칭이 이루어진다. 신호의 아이디에 의해 어떤 작동 상태로 멀티 프로세서 시스템이 스위칭되어야 하는지가 결정될 수 있다. 아이디는 시간 조건을 포함할 수 있거나 및/또는 특정의 프리세팅된 신호 곡선에 상응할 수 있으며, 예컨대
신호의 기울기,
펄스폭 변조 신호의 듀티 사이클,
교번 전압 신호, 펄스폭 변조 또는 주파수 변조 신호의 프리세팅된 주파수,
디지털 신호의 프리세팅된 비트열,
통신 시스템의 메시지의 프리세팅된 메시지 아이디에 상응한다.
아이디는 2개 또는 다수의 상기 신호 곡선의 조합에도 상응할 수 있다.
이 경우 신호 소오스(W140)는 하기의 소자 또는 다수의 하기의 소자들의 조합에 상응할 수 있다 :
μC-외부 타이머(예컨대 통신 시스템의 시간축에 의함)
μC-외부 유닛의 에러 신호(예컨대 SG 내 워치독(watchdog))
센서 신호
추가 제어 장치
사용 시스템의 상태 신호(예컨대 자동차 시스템에서 ABS-시스템의 조절 상태, 내연 기관의 배기가스 리미트,...)
신호 소오스(W140)는 제1 변형예에서 단지 스위칭 신호를 발생시키기 위해 존재할 수 있다. 이러한 신호 소오스는, 도 2에 도시된 바와 같이, 점대점(point to point) 연결(W160)을 통해 멀티 프로세서 시스템에 연결될 수 있고, 거기서 특수하게 직접 스위칭 유닛(W150)에 연결된다.
제2의, 도3에 도시된 변형예에서 외부 스위칭 신호(W160)는 인터럽트 신호로서 인터럽트 컨트롤러(W159)를 통해 수신된다. 외부 신호는 상기 변형예에서 인터 럽트 처리의 트리거링을 야기하고, 작동 모드 사이의 스위칭은 이제 인터럽트 컨트롤러에 의해 시작된다.
그러나 또한 신호 소오스로서 추가 변형예에서, 도4에 도시된 바와 같이, 추가 제어 장치 또는 인텔리전트 센서(W145)가 사용될 수 있고, 상기 인텔리전트 센서는 통신 시스템(W165)을 통해 프로세서 시스템에 연결된다. 디지털 신호는 통신 인터페이스(W195) 및 내부 데이터-/어드레스 버스를 통해 스위칭 유닛(W150)으로 안내된다.
또한 상기 신호 소오스(W140, W145), 상기 방식의 신호 연결(W160, W165) 및 인터럽트 컨트롤러(W159)의 임의의 조합도 제시될 수 있다.
시스템의 추가 실시예에서 작동 모드 사이의 스위칭은 단지 외부 신호에 의해서가 아니라, 적어도 하나의 외부 신호와 적어도 하나의 정보, 사건 또는 컴퓨터 시스템의 내부에서 발생되는 신호의 조합에 의해서도 이루어진다. 상기 컴퓨터 내부 사건은 예컨대 프로그램 명령의 실행 또는 특정 메모리 어드레스에 대한 액세스일 수 있다. 스위칭 유닛(W150)은 상기 정보를 도2, 도3 및 도4에 도시된 실행 유닛(W110a, W110b) 또는 선택적 중간 메모리(W111a, W111b), 비교 유닛(W120)과 스위칭 유닛(W150) 사이의 연결부(W112a, W112b)를 통해 얻는다. 신호의 조합은 바람직하게 스위칭 유닛(W150)의 내부에서 이루어진다. 상기 조합이 제1 변형예에서는, 적어도 하나의 외부 신호와 적어도 하나의 내부 정보가 동시에 존재하는 경우에만 작동 모드 사이의 스위칭이 이루어지도록 구현된다. 추가 변형예에서 외부 신호에 의해, 바람직하게 시간적으로 제한된 스위칭의 인에이블만이 발생된다. 스 위칭은 규정된 타임 슬롯 내에서 인에이블 이후에 나타나는 내부 사건에 의해서만 가능하다.
외부 신호는 스위칭을 위한 인에이블 대신에 인에이블의 취소 또는 스위칭의 차단을 발생시킬 수도 있다. 상기 스위칭 인에이블도 바람직하게 시간적으로 제한된다. 따라서 무엇보다 특정 시점에서 또는 특정 시스템 상태에서 스위칭이 저지될 수 있다.
상기 실시예에서 각각 2개의 실행 유닛 및 2개의 작동 모드를 포함하는 멀티 프로세서 시스템이 기술된다. 본 발명의 특성화된 특징은 물론 2개 이상의 실행 유닛을 포함하는 멀티 프로세서 시스템에서도 적용될 수 있다. 이 경우 주로 스위칭 유닛 및 비교 유닛에서는 변경이 필요하다.
2개 이상의 실행 유닛을 포함하는 시스템에서 사용하는 경우에도 적합한 스위칭- 및 비교 소자의 일반적인 경우는 도5에 도시된다. n 개로 추정되는 실행 유닛으로부터 n 개의 신호(N140, ..., N14n)가 스위칭- 및 비교 소자(N100)로 간다. 상기 스위칭- 및 비교 소자는 n 개까지의 출력 신호(N160,..., N16n)를 상기 입력 신호로부터 발생시킬 수 있다. 가장 간단한 경우, "순수한 실행 모드"에서, 모든 신호(N14i)는 상응하는 출력 신호(N16i)로 안내된다. 반대되는 극한의 경우, "순수한 비교 모드" 에서 모든 신호(N140, ..., N14n)는 출력 신호(N16i) 중 정확히 하나로만 감소된다.
n(n>2)개의 실행 유닛을 포함하는 시스템에서는 단 2개의 작동 모드보다 더 많이 가능할 수 있다. 도5에 의해, 어떻게 여러 가지 가능한 모드가 발생할 수 있 는지 설명될 수 있다. 이를 위해 상기 도면에는 스위칭 로직(N110)의 로직 소자가 포함된다. 상기 스위칭 로직은 우선, 얼마나 많은 출력 신호가 주로 존재하는지 결정한다. 또한 스위칭 로직(N110)은 입력 신호에 대한 출력 신호의 종속 관계를 결정한다. 수학식에서 공식화되어, 즉 스위칭 로직에 의해 집합{N140,..., N14n}으로부터 집합{N1601,..., N16n}으로의 함수가 규정된다.
처리 로직(N120)은 어떤 식에서 입력이 상기 출력 신호에 기여하는지를 각 출력(N16i)에서 결정한다. 예컨대 여러 가지 변형예를 기술하기 위해, 일반성을 상실하지 않는다면, 출력(N160)이 신호(N141, ..., N14m)에 의해 발생된다고 가정될 수도 있다. m=1인 경우, 이것은 간단하게 신호의 인터커넥션에 상응하고, m=2인 경우 신호(N141, N142)가 일치하는지 비교된다. 이러한 비교는 동기식 또는 비동기식으로 실행될 수 있고, 상기 비교는 비트 방식으로 또는 시그니피컨트 비트(significant bits)로만 또는 공차 범위(tolerance band)로도 실행될 수 있다.
m>=3 인 경우 다수의 가능성이 존재한다.
제1 가능성으로서, 모든 신호를 비교하여, 적어도 2개의 상이한 값이 존재하는 경우 에러를 검출하고, 이 에러를 선택적으로 신호화할 수 있다.
제2 가능성으로서, m 개로부터 k 개를 선택한다(k>m/2).
상기 제2 가능성은 비교기의 사용에 의해 구현될 수 있다. 신호 중 하나가 상이하다고 검출되면 선택적으로 에러 신호가 발생될 수 있다. 비교될 신호 모두가 상이하다면 선택적으로 추가 에러 신호가 발생될 수 있다.
제3 가능성으로서, 상기 값이 알고리즘으로 공급된다. 상기 알고리즘은 예 컨대 평균값, 중앙값의 형성, 또는 폴트 톨러런트 알고리즘(FTA Fault-Tolerant Algorithm)의 사용을 나타낼 수 있다. 이러한 FTA는, 입력값의 극한값을 삭제하고, 평균치 산정 방법(averaging)을 나머지 값을 통해 실행한다는 사실을 기초로 한다. 상기 평균치 산정 방법은 나머지 값의 전체 집합을 통해, 또는 바람직하게는 HW에서 쉽게 형성되는 부분 집합을 통해 실행될 수 있다. 이러한 경우 항상 값들을 실제로 비교할 필요는 없다. 평균값 형성시 예컨대 가산되거나 나누어져야만 하며, FTM, FTA 또는 중앙값은 부분적인 소팅(sorting)을 요구한다. 경우에 따라 또한 여기서 극한값이 충분히 큰 경우 선택적으로 에러 신호가 출력될 수 있다.
하나의 신호에 대한 다수의 신호 처리를 위한 이러한 상이한 상기 가능성들은 간소함을 위해 비교 연산(comparison operation)으로서 표시된다.
처리 로직의 목적은, 각 출력 신호를 위한- 즉 또한 관련 입력 신호를 위한- 비교 연산의 정확한 형태를 결정하는 데 있다. 스위칭 로직(N110(즉, 상기 함수)) 및 처리 로직(즉, 출력 신호 당, 즉 함수값 당 비교 연산의 결정)의 조합은 모드 정보이고, 이는 모드를 결정한다. 상기 정보는 일반적인 경우에 물론 다가(multivalued)이며, 즉, 로직 비트를 통해 나타낼 수 있는 것만은 아니다. 모든 이론적으로 가능한 모드가 제공된 실시예에서 중요하지 않다면, 바람직하게 허용된 모드의 수는 한정된다. 단 하나의 비교 모드가 존재하는 단 2개의 실행 유닛의 경우, 전체 정보가 단 하나의 로직 비트로 압축될 수 있는 것이 강조될 수 있다.
실행 모드로부터 비교 모드로의 스위칭은 일반적인 경우, 실행 모드에서 상이한 출력으로 나타나는 실행 유닛이 비교 모드에서는 동일한 출력으로 나타나는 것을 특징으로 한다. 바람직하게 이것은 실행 유닛의 부분 시스템이 존재함으로써 구현되고, 상기 부분 시스템에서 실행 모드시, 부분 시스템에서 고려될 수 있는 모든 입력 신호(N14i)가 대응하는 출력 신호(N16i)로 직접 스위칭되는 반면, 비교 모드에서는 모두 출력으로 나타난다. 대안적으로 이러한 스위칭은 3 개 이상의 실행 유닛을 포함하는 시스템에서 페어링(pairing)이 변경됨으로써도 구현될 수 있다. 이것은, 본 발명의 제공된 실시예에서 허용된 모드의 수가 한정되어 이러한 경우가 나타나는데도 불구하고, 일반적인 경우에는 실행 모드 및 비교 모드가 언급될 수 없음으로써 설명된다. 그러나 실행 모드로부터 비교 모드로(반대의 경우도 가능)의 스위칭은 항상 언급될 수 있다.
Claims (18)
- 적어도 2개의 작동 모드 사이에서 스위칭되고, 제1 작동 모드가 비교 모드에 그리고 제2 작동 모드가 실행 모드에 상응하는, 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서 스위칭 방법에 있어서,상기 스위칭이 컴퓨터 시스템의 외부에서 발생되는 적어도 하나의 신호에 의해 트리거링되는 것을 특징으로 하는 스위칭 방법.
- 제1항에 있어서, 외부 신호에 아이디가 할당되거나 또는 상기 외부 신호가 아이디를 포함하며, 아이디가 존재하는 경우에만 스위칭이 이루어지는 것을 특징으로 하는 스위칭 방법.
- 제2항에 있어서, 상기 아이디에 의해 어떤 작동 모드로 스위칭되는지가 결정되는 것을 특징으로 하는 스위칭 방법.
- 제2항에 있어서, 상기 아이디가 시간 조건을 포함하고, 상기 시간 조건에 의해 언제 스위칭되는지가 결정되는 것을 특징으로 하는 스위칭 방법.
- 제1항에 있어서, 상기 외부 신호에 의해 스위칭이 작동 모드 사이에서 한 방향으로만 이루어지는 것을 특징으로 하는 스위칭 방법,
- 제1항에 있어서, 상기 외부 신호에 의해 실행 모드로부터 비교 모드로의 스위칭만이 이루어지는 것을 특징으로 하는 스위칭 방법.
- 제1항에 있어서, 상기 외부 신호에 의해 비교 모드로부터 실행 모드로의 스위칭만이 이루어지는 것을 특징으로 하는 스위칭 방법.
- 제1항에 있어서, 상기 신호가 인터럽트 처리의 트리거링을 나타내는 것을 특징으로 하는 스위칭 방법.
- 제2항에 있어서, 상기 아이디가 특히 펄스폭 변조된 신호의 프리세팅된 신호 곡선에 상응하는 것을 특징으로 하는 스위칭 방법.
- 제2항에 있어서, 상기 아이디가 프리세팅된 주파수에 상응하는 것을 특징으로 하는 스위칭 방법.
- 제2항에 있어서, 상기 아이디가 디지털 신호의 프리세팅된 비트열에 상응하는 것을 특징으로 하는 스위칭 방법.
- 제2항에 있어서, 상기 아이디가 통신 시스템의 메시지의 프리세팅된 메시지 아이디에 상응하는 것을 특징으로 하는 스위칭 방법.
- 제1항에 있어서, 상기 스위칭이 컴퓨터 시스템의 외부에서 발생되는 적어도 하나의 신호와 컴퓨터 시스템의 내부에서 발생되는 적어도 하나의 정보의 조합에 의해 트리거링되는 것을 특징으로 하는 스위칭 방법.
- 제13항에 있어서, 적어도 하나의 외부 신호 및 적어도 하나의 컴퓨터 내부 정보가 동시에 존재하는 경우에만 스위칭이 이루어지는 것을 특징으로 하는 스위칭 방법.
- 제13항에 있어서, 스위칭을 위한 시간적으로 제한된 인에이블이 적어도 하나의 외부 신호에 따라 이루어지고, 제한된 인에이블 타임 내에서 적어도 하나의 컴퓨터 시스템 내부 정보 또는 컴퓨터 시스템 내부 사건이 스위칭을 위해 존재하는 경우에만 스위칭이 이루어지는 것을 특징으로 하는 스위칭 방법.
- 적어도 2개의 작동 모드 사이를 스위칭하도록 형성된 스위칭 수단을 포함하고, 제1 작동 모드가 비교 모드에 그리고 제2 작동 모드가 실행 모드에 상응하는, 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서 스위칭을 위한 장치에 있어서,컴퓨터 시스템의 외부에서 발생된 적어도 하나의 신호를 수신하는 수신 수단 을 포함하고, 스위칭은 컴퓨터의 외부에서 발생되는 신호에 의해 트리거링되는 것을 특징으로 하는 스위칭 장치.
- 제16항에 있어서, 적어도 하나의 외부 신호의 수신을 위한 상기 수신 수단이 인터럽트 컨트롤러인 것을 특징으로 하는 스위칭 장치.
- 제16항에 있어서, 컴퓨터 시스템의 외부에서 발생된 적어도 하나의 신호를 수신하는 수신 수단을 포함하고, 외부로부터 수신된 신호 또는 그의 아이디를 내부에서 발생된 신호와 조합시키는 수단을 포함하며, 스위칭은 컴퓨터 시스템의 외부에서 발생되는 적어도 하나의 신호와 컴퓨터 시스템의 내부에서 발생되는 적어도 하나의 정보의 조합에 의해 트리거링되는 것을 특징으로 하는 스위칭 장치.
Applications Claiming Priority (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004051952.8 | 2004-10-25 | ||
DE200410051950 DE102004051950A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem |
DE200410051952 DE102004051952A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem |
DE102004051937.4 | 2004-10-25 | ||
DE102004051950.1 | 2004-10-25 | ||
DE200410051992 DE102004051992A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems |
DE102004051964.1 | 2004-10-25 | ||
DE200410051937 DE102004051937A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Synchronisierung in einem Mehrprozessorsystem |
DE102004051992.7 | 2004-10-25 | ||
DE200410051964 DE102004051964A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Überwachung einer Speichereinheit in einem Mehrprozessorsystem |
DE102005037213A DE102005037213A1 (de) | 2004-10-25 | 2005-08-08 | Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal |
DE102005037213.9 | 2005-08-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070083776A true KR20070083776A (ko) | 2007-08-24 |
Family
ID=35892251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077009266A KR20070083776A (ko) | 2004-10-25 | 2005-10-25 | 적어도 하나의 외부 신호에 의한 멀티 프로세서 시스템의작동 모드 사이의 스위칭을 위한 방법 및 장치 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20080270747A1 (ko) |
EP (1) | EP1817662B1 (ko) |
JP (1) | JP2008518302A (ko) |
KR (1) | KR20070083776A (ko) |
AT (1) | ATE438138T1 (ko) |
DE (2) | DE102005037213A1 (ko) |
RU (1) | RU2007119321A (ko) |
WO (1) | WO2006045782A2 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006048169A1 (de) * | 2006-10-10 | 2008-04-17 | Robert Bosch Gmbh | Verfahren zur Überwachung einer Funktionsfähigkeit einer Steuerung |
DE102008001806A1 (de) * | 2008-05-15 | 2009-11-19 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Fehlerüberwachung eines Rechnersystems |
JP5796311B2 (ja) | 2011-03-15 | 2015-10-21 | オムロン株式会社 | 制御装置およびシステムプログラム |
DE102012200997A1 (de) * | 2011-08-29 | 2013-02-28 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Prüfung der korrekten Funktion einer seriellen Datenübertragung |
JP2015184953A (ja) * | 2014-03-25 | 2015-10-22 | 株式会社日立製作所 | フェールセーフ制御装置及びフェールセーフ制御方法 |
JP7157709B2 (ja) * | 2019-07-04 | 2022-10-20 | 株式会社日立製作所 | 計算機システム及びプログラム実行方法 |
CN112667450B (zh) * | 2021-01-07 | 2022-05-06 | 浙江大学 | 一种可动态配置的多核处理器容错*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0973436A (ja) * | 1995-09-05 | 1997-03-18 | Mitsubishi Electric Corp | 多重化計算機における動作モード切替方式 |
US6272616B1 (en) * | 1998-06-17 | 2001-08-07 | Agere Systems Guardian Corp. | Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths |
JP2000076089A (ja) * | 1998-09-01 | 2000-03-14 | Hitachi Ltd | 多重系処理装置 |
US6615366B1 (en) * | 1999-12-21 | 2003-09-02 | Intel Corporation | Microprocessor with dual execution core operable in high reliability mode |
US7051329B1 (en) * | 1999-12-28 | 2006-05-23 | Intel Corporation | Method and apparatus for managing resources in a multithreaded processor |
US7055060B2 (en) * | 2002-12-19 | 2006-05-30 | Intel Corporation | On-die mechanism for high-reliability processor |
BRPI0411824A (pt) * | 2003-06-24 | 2006-08-08 | Bosch Gmbh Robert | processo para a comutação entre, pelo menos, dois modos de operação de uma unidade de processamento, bem como, unidade de processamento correspondente |
-
2005
- 2005-08-08 DE DE102005037213A patent/DE102005037213A1/de not_active Withdrawn
- 2005-10-25 AT AT05808034T patent/ATE438138T1/de not_active IP Right Cessation
- 2005-10-25 DE DE502005007806T patent/DE502005007806D1/de active Active
- 2005-10-25 WO PCT/EP2005/055509 patent/WO2006045782A2/de active Application Filing
- 2005-10-25 JP JP2007537294A patent/JP2008518302A/ja active Pending
- 2005-10-25 EP EP05808034A patent/EP1817662B1/de not_active Not-in-force
- 2005-10-25 US US11/666,325 patent/US20080270747A1/en not_active Abandoned
- 2005-10-25 RU RU2007119321/09A patent/RU2007119321A/ru not_active Application Discontinuation
- 2005-10-25 KR KR1020077009266A patent/KR20070083776A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
WO2006045782A2 (de) | 2006-05-04 |
EP1817662B1 (de) | 2009-07-29 |
ATE438138T1 (de) | 2009-08-15 |
JP2008518302A (ja) | 2008-05-29 |
US20080270747A1 (en) | 2008-10-30 |
EP1817662A2 (de) | 2007-08-15 |
DE102005037213A1 (de) | 2007-02-15 |
RU2007119321A (ru) | 2008-12-10 |
WO2006045782A3 (de) | 2007-01-04 |
DE502005007806D1 (de) | 2009-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7669079B2 (en) | Method and device for switching over in a computer system having at least two execution units | |
US8090983B2 (en) | Method and device for performing switchover operations in a computer system having at least two execution units | |
KR20070083776A (ko) | 적어도 하나의 외부 신호에 의한 멀티 프로세서 시스템의작동 모드 사이의 스위칭을 위한 방법 및 장치 | |
KR101067264B1 (ko) | 컴퓨터 시스템의 제어 방법 및 장치 | |
KR101326316B1 (ko) | 내연 기관의 엔진 제어 장치의 기능을 모니터링하기 위한 방법 및 장치 | |
US20090044048A1 (en) | Method and device for generating a signal in a computer system having a plurality of components | |
KR101031181B1 (ko) | 컴퓨터 시스템의 기능을 모니터링하기 위한 방법 및 장치 | |
JP2008518308A (ja) | マルチプロセッサシステム内のデータを分配するための方法およびデータ分配ユニット | |
US20070255875A1 (en) | Method and Device for Switching Over in a Computer System Having at Least Two Execution Units | |
US20080263340A1 (en) | Method and Device for Analyzing a Signal from a Computer System Having at Least Two Execution Units | |
US20090119540A1 (en) | Device and method for performing switchover operations in a computer system having at least two execution units | |
WO2008119756A1 (en) | Delayed lock-step cpu compare | |
US20080288758A1 (en) | Method and Device for Switching Over in a Computer System Having at Least Two Execution Units | |
JP5341928B2 (ja) | 時間的に分離した冗長プロセッサの実行を使用しての周辺機器への読み書き | |
KR20070062576A (ko) | 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서프로그램 코드로부터 처리를 분리하기 위한 방법 및 장치 | |
US20080313384A1 (en) | Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units | |
KR20070062574A (ko) | 적어도 2개의 실행 유닛을 구비한 컴퓨터 시스템의 전환방법 및 그 전환 장치 | |
JP2009505179A (ja) | 少なくとも2つの実行ユニットを有する計算機システムにおいてレジスタのマーキングによってスタート状態を定める方法および装置 | |
JP2009506408A (ja) | 複数の実行ユニットを有する計算機システム内のプロセスを分析する方法および装置 | |
JP2009505187A (ja) | 少なくとも2つの命令実行部を備えたコンピュータシステムにおいてレジスタセットの切り替えにより初期状態を設定する方法および装置 | |
US20090037705A1 (en) | Method and Device for Processing Data Words and/or Instructions | |
US20100268923A1 (en) | Method and device for controlling a computer system having at least two groups of internal states |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |