JP2008518340A - Method and apparatus for switching in a computer system having at least two implementation units - Google Patents

Method and apparatus for switching in a computer system having at least two implementation units Download PDF

Info

Publication number
JP2008518340A
JP2008518340A JP2007538400A JP2007538400A JP2008518340A JP 2008518340 A JP2008518340 A JP 2008518340A JP 2007538400 A JP2007538400 A JP 2007538400A JP 2007538400 A JP2007538400 A JP 2007538400A JP 2008518340 A JP2008518340 A JP 2008518340A
Authority
JP
Japan
Prior art keywords
switching
unit
mode
comparison
bit
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2007538400A
Other languages
Japanese (ja)
Inventor
ヴァイベルレ、ラインハルト
ミュラー、ベルント
アンゲルバウアー、ラルフ
コラーニ、ヨルク
グメーリッヒ、ライナー
ベール、エーベルハルト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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
Priority claimed from DE200410051952 external-priority patent/DE102004051952A1/en
Priority claimed from DE200410051950 external-priority patent/DE102004051950A1/en
Priority claimed from DE200410051992 external-priority patent/DE102004051992A1/en
Priority claimed from DE200410051964 external-priority patent/DE102004051964A1/en
Priority claimed from DE200410051937 external-priority patent/DE102004051937A1/en
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2008518340A publication Critical patent/JP2008518340A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • 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/78Architectures of general purpose stored program computers comprising a single central processing unit
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Hardware Redundancy (AREA)

Abstract

少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法および装置であって、その場合に少なくとも2つの駆動モードの間で切り替えられ、第1の駆動モードが比較モードに、第2の駆動モードがパフォーマンスモードに相当し、その場合に実施ユニットのために少なくとも1セットの定義されたビットコンビネーションが設けられている、この方法および装置は、切替えが、少なくとも1つのセットの中に定義されていない少なくとも1つのビットコンビネーションによって作動されることを、特徴としている。Method and apparatus for switching in a computer system having at least two implementation units, in which case switching is made between at least two drive modes, the first drive mode being in comparison mode and the second drive mode being in performance mode In which case at least one set of defined bit combinations is provided for the implementation unit, the method and the apparatus comprising at least one switch whose switching is not defined in at least one set It is characterized by being actuated by a bit combination.

Description

本発明は、少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法および装置に関する。   The present invention relates to a method and apparatus for switching in a computer system having at least two implementation units.

アルファ粒子または宇宙線によって引き起こされる、過渡的エラーは、集積された半導体回路にとってますます問題となっている。減少する構造幅、低下する電圧および高くなるクロック周波数によって、アルファ粒子または宇宙線によってもたらされる電圧ピークが集積回路内の論理値を歪曲する確率が増大する。結果として、誤った計算結果がもたらされるおそれがある。従って、安全上重要なシステム内、特に自動車内では、この種のエラーが確実に検出されなければならない。たとえば自動車内のABS制御システムのような、エレクトロニクスのエラー機能が確実に検出されなければならない、安全上重要なシステムにおいて、この種のシステムの該当する制御装置においては、通常、エラーを認識するために、冗長性が使用される。すなわち、たとえば既知のABSシステムにおいては、それぞれ完全なマイクロコントローラが二重にされており、その場合にABS機能全体が冗長に計算されて、一致について検査される。結果の矛盾が発生した場合に、ABSシステムはオフにされる。
マイクロコントローラの重要なコンポーネントは、一方では、メモリモジュール(たとえばRAM、ROM、キャッシュ)、コアおよび入出力インターフェイス、いわゆる周辺機器(たとえばA/D変換器、CANインターフェイス)である。メモリ素子は検査コード(パリティまたはECC)によって効果的に監視することができ、かつ周辺機器はしばしばアプリケーション固有にセンサまたはアクターの信号路の一部として監視されるので、他の冗長性の考えは、マイクロコントローラのコアをただ二重にすることにある。
2つの内蔵されたコアを有するこの種のマイクロコントローラは、デュアルコアアーキテクチャとして知られている。2つのコアは、冗長かつクロック同期で(ロックステップモード)同一のプログラムセグメントを実施し、2つのコアの結果が比較されて、その場合に一致について比較する際に、エラーが認識される。デュアルコアシステムのこのコンフィグレーションは、比較モードと称することができる。
デュアルコアアーキテクチャは、他の適用においては、パワー向上のため、従ってパフォーマンス向上のためにも使用される。2つのコアは、異なるプログラム、プログラムセグメントおよび指令を実施し、それによってパワー向上が達成され、従ってデュアルコアアーキテクチャのこの設定は、パフォーマンスモードと称することもできる。このシステムは、シンメトリックなマルチプロセッサシステム(SMP)とも称される。
このシステムの拡張が、ソフトウェアによって特殊なアドレスへのアクセスと特殊化されたハードウェア装置を用いてこれら2つのモードの間で切り替えることである。比較モードにおいては、コアの出力信号が互いに比較される。パフォーマンスモードにおいては、2つのコアはシンメトリックなマルチプロセッサシステム(SMP)として作業し、異なるプログラム、プログラムセグメントまたは指令を実施する。
Transient errors caused by alpha particles or cosmic rays are becoming increasingly problematic for integrated semiconductor circuits. The decreasing structure width, decreasing voltage, and increasing clock frequency increase the probability that voltage peaks caused by alpha particles or cosmic rays will distort logic values in the integrated circuit. As a result, an erroneous calculation result may be brought about. Therefore, this type of error must be reliably detected in safety critical systems, particularly in automobiles. In safety-critical systems where the electronic error function must be reliably detected, for example in an automotive ABS control system, the corresponding control unit of this type of system usually recognizes the error. Redundancy is used. That is, for example, in known ABS systems, each complete microcontroller is duplicated, in which case the entire ABS function is calculated redundantly and checked for a match. The ABS system is turned off when a result conflict occurs.
The important components of the microcontroller are on the one hand memory modules (eg RAM, ROM, cache), cores and input / output interfaces, so-called peripherals (eg A / D converters, CAN interfaces). Since memory elements can be effectively monitored by check code (parity or ECC) and peripherals are often monitored as part of the sensor or actor signal path, which is application specific, other redundancy considerations are The microcontroller core is just to double.
This type of microcontroller with two embedded cores is known as a dual core architecture. The two cores execute the same program segment in a redundant and clock synchronous (lockstep mode) and the results of the two cores are compared, in which case an error is recognized when comparing for a match. This configuration of the dual core system can be referred to as a comparison mode.
Dual core architectures are also used in other applications to improve power and hence performance. The two cores implement different programs, program segments and instructions, thereby achieving a power boost, so this setting of the dual core architecture can also be referred to as a performance mode. This system is also referred to as a symmetric multiprocessor system (SMP).
An extension of this system is to switch between these two modes using software access to special addresses and specialized hardware devices. In the comparison mode, the core output signals are compared with each other. In performance mode, the two cores work as a symmetric multiprocessor system (SMP) to implement different programs, program segments or instructions.

この種の切替えは、通常、ハードウェア内においても、ハードウェア近傍のソフトウェア内でも比較的大きい介入を必要とする。従って標準コアを使用することは、容易には可能でなく、同様にコアを、1つのコアのために記述された、早い時期の適用のコードを使用することも困難である。従って本発明の課題は、マルチコアシステム内にすでに存在しているコアを利用する場合に、ハードウェアおよびハードウェア近傍のソフトの最小限の変更しか必要としない、手段を提供することである。 This type of switching usually requires relatively large intervention both in hardware and in software near the hardware. Therefore, using a standard core is not easily possible, and it is also difficult to use early-applied code written for a single core as well. Accordingly, it is an object of the present invention to provide a means that requires minimal changes to hardware and software in the vicinity of the hardware when utilizing a core that already exists in a multi-core system.

請求項1または請求項14に示されるような、少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法および装置は、既知の解決策に比較して、すでに存在しているビットコンビネーションを使用することができる利点を有しており、従ってマルチコアシステム内にすでに存在しているコアを利用する場合にハードウェアおよびハードウェア近傍のソフトの最小限の変更しか必要としない手段を提供する。
好ましくはそのために、選択的に、請求項2に記載されるような、インストラクション、請求項3に記載されるような、オペランドあるいは、請求項4に記載されるような、操作を使用することができる。従って請求項2〜4に記載された方法を使用することが、使用可能性の柔軟性を効果的に向上させる。
請求項5、請求項9あるいは請求項11に記載されるような、方法の使用が効果的である。とういのは、それが実装を容易にするからである。
請求項6に記載されるような、ビットコンビネーションが、特にアッセンブラからなる、機械向きのビットコンビネーションに相当する、方法を使用することが効果的である。というのは、それによってハードウェアへのより簡単な適合が可能となるからである。
請求項7または請求項8に記載されるような方法を使用すると効果的である。というのは、それによって実施ユニットの種々のバージョンが利用できるからである。
請求項10に記載されるような方法を使用すると、効果的である。というのは、それがすでに知られている実施ユニットの使用を容易にするからである。
請求項12に記載されているような方法を使用すると、効果的である。というのは、それによって配置内のコストおよび費用の増加が回避されるからである。
請求項13〜請求項15に記載されるような方法を使用すると、効果的である。というのは、それによって同期化の手間とコストが最小限に抑えられるからである。
A method and apparatus for switching in a computer system having at least two implementation units as indicated in claim 1 or claim 14 may use an already existing bit combination compared to known solutions. It has the advantages that it can provide and thus provides a means that requires minimal changes to the hardware and the software in the vicinity of the hardware when utilizing a core that already exists in a multi-core system.
Preferably, for this purpose, it is optionally possible to use instructions as described in claim 2, operands as described in claim 3, or operations as described in claim 4. it can. Therefore, using the method as claimed in claims 2 to 4 effectively improves the flexibility of usability.
Use of the method as claimed in claim 5, claim 9 or claim 11 is effective. This is because it facilitates implementation.
It is advantageous to use a method in which the bit combination as claimed in claim 6 corresponds to a machine-oriented bit combination, in particular consisting of an assembler. This is because it allows easier adaptation to the hardware.
It is advantageous to use a method as claimed in claim 7 or claim 8. This is because various versions of the implementation unit are thereby available.
Use of the method as claimed in claim 10 is effective. This is because it facilitates the use of already known implementation units.
It is advantageous to use a method as claimed in claim 12. This is because it avoids an increase in cost and expense within the arrangement.
It is effective to use a method as claimed in claims 13-15. This minimizes synchronization effort and costs.

他の利点と好ましい形態が、請求項の特徴および明細書から明らかにされる。   Other advantages and preferred forms will become apparent from the claims and the description.

以上説明したように本発明によれば、マルチコアシステム内にすでに存在しているコアを利用する場合に、ハードウェアおよびハードウェア近傍のソフトの最小限の変更しか必要としない、手段を提供することができる。   As described above, according to the present invention, when using a core that already exists in a multi-core system, a means for requiring only a minimum change of hardware and software in the vicinity of the hardware is provided. Can do.

以下においては、プロセッサ、コア、CPU、FPU(Floating Point Unit)、DSP(Digitaler Signalprozessor)、コプロセッサまたはALU(Arithmetic Logical Unit)も、実施ユニットと称することができる。
図1には、2つの実施ユニットG10a、G10b、比較ユニットG20、切替えユニットG50および切替え意図認識ユニットG40を有するマルチプロセッサシステムG60が示されている。
Hereinafter, a processor, a core, a CPU, an FPU (Floating Point Unit), a DSP (Digitaler Signalprozessor), a coprocessor, or an ALU (Arithmetic Logical Unit) can also be referred to as an implementation unit.
FIG. 1 shows a multiprocessor system G60 having two execution units G10a, G10b, a comparison unit G20, a switching unit G50, and a switching intention recognition unit G40.

本発明は、少なくとも2つの実施ユニットG10a、G10b、比較ユニットG20、切替えユニットG50および切替え意図認識ユニットG40を有する、図1、図2および図3に示すマルチプロセッサシステムG60に関する。切替えユニットG50は、少なくとも2つのシステムインターフェイスG30a、G30bへの少なくとも2つの出力を有している。これらのインターフェイスを介してレジスタ、メモリまたはデジタル出力、D/A変換器、通信コントローラのような周辺機器を駆動することができる。このマルチプロセッサシステムは、少なくとも2つの駆動モード、比較モード(VM)およびパフォーマンスモード(PM)で駆動することができる。   The present invention relates to a multiprocessor system G60 shown in FIGS. 1, 2 and 3 having at least two implementation units G10a, G10b, a comparison unit G20, a switching unit G50 and a switching intention recognition unit G40. The switching unit G50 has at least two outputs to at least two system interfaces G30a, G30b. Peripheral devices such as registers, memories or digital outputs, D / A converters, and communication controllers can be driven through these interfaces. The multiprocessor system can be driven in at least two drive modes, a comparison mode (VM) and a performance mode (PM).

パフォーマンスモードにおいては、異なる実施ユニット内で異なる指令、プログラムセグメントまたはプログラムが並列に実施される。この駆動モードにおいては、比較ユニットG20は非アクティブにされている。切替えユニットG50は、この駆動モードにおいては、各実施ユニットG10a、G10bがシステムインターフェイスG30a、G30bと接続されているように、構成されている。その場合に実施ユニットG10aがシステムインターフェイスG30aと、そして実施ユニットG10bがシステムインターフェイスG30bと接続されている。   In the performance mode, different commands, program segments or programs are executed in parallel in different execution units. In this drive mode, the comparison unit G20 is inactive. In this drive mode, the switching unit G50 is configured such that each of the implementation units G10a and G10b is connected to the system interfaces G30a and G30b. In this case, the execution unit G10a is connected to the system interface G30a, and the execution unit G10b is connected to the system interface G30b.

比較モードにおいては、2つの実施ユニットG10a、G10b内で同一または同種の指令、プログラムセグメントまたはプログラムが処理される。これらの指令はクロック同期で処理されることが望ましいが、非同期性または定められたクロックオフセットをもって処理することも考えられる。実施ユニットG10a、G10bの出力信号が比較ユニットG20内で比較される。異なる場合には、エラーが認識されて、それに応じた措置をとることができる。この措置は、エラー信号を作動させ、エラー処理を導入し、スイッチを操作し、あるいはこれらと他の考えられる措置との組み合わせであることができる。切替えユニットG50は、この変形例においては、1つの信号のみがシステムインターフェイスG30a、G30bに接続されるように、構成されている。他のコンフィグレーションにおいては、切替えユニットが比較され、従って同一の信号がシステムインターフェイスG30a、G30bと接続されることのみをもたらす。   In the comparison mode, the same or similar commands, program segments or programs are processed in the two execution units G10a and G10b. These commands are preferably processed synchronously with the clock, but may be processed with asynchrony or with a defined clock offset. The output signals of the execution units G10a, G10b are compared in the comparison unit G20. If they are different, the error is recognized and action can be taken accordingly. This measure can activate an error signal, introduce error handling, operate a switch, or a combination of these and other possible measures. In this modification, the switching unit G50 is configured such that only one signal is connected to the system interfaces G30a and G30b. In other configurations, the switching units are compared, thus only resulting in the same signal being connected to the system interfaces G30a, G30b.

切替え意図認識ユニットG40は、その時アクティブなモードに関係なく、他のモードへの切替え意図を検出する。   The switching intention recognition unit G40 detects the switching intention to another mode regardless of the active mode at that time.

図2には、2つの実施ユニットG10a、G10b、比較ユニットG20と切替えユニットG50からなる、組み合わされた比較・切替えユニットG70および切替え意図認識ユニットG40を有するマルチプロセッサシステムG60が示されている。   FIG. 2 shows a multiprocessor system G60 having two execution units G10a, G10b, a comparison unit G20 and a switching unit G50, and a combined comparison / switching unit G70 and switching intention recognition unit G40.

上述した状況の実施形態において、切替えユニットG50と比較ユニットG20を、図2に示すように、共通の切替え・比較ユニット(UVE)G70にまとめることができる。その場合にこの共通のコンポーネントG70は、個別コンポーネントG50、G20の課題を引き受ける。図15、図16、図17、図18および図19に、UVEG70の実施変形例が示されている。   In the embodiment of the situation described above, the switching unit G50 and the comparison unit G20 can be combined into a common switching / comparison unit (UVE) G70 as shown in FIG. In this case, the common component G70 takes on the tasks of the individual components G50 and G20. 15, 16, 17, 18, and 19 show a modified example of the UVEG 70.

図3に示すような、他の実施形態において、切替え意図認識ユニットG40、比較ユニットG20および切替えユニットG50を共通のコンポーネントG80にまとめることができる。図には示されていない、他の実施形態においては、切替え意図認識ユニットG40と比較器G20を共通のコンポーネントにまとめることができる。同様に、切替え意図認識ユニットG40を切替えユニットG50と共通のコンポーネントにまとめることが考えられる。   In another embodiment as shown in FIG. 3, the switching intention recognition unit G40, the comparison unit G20, and the switching unit G50 can be combined into a common component G80. In other embodiments not shown in the figure, the switching intention recognition unit G40 and the comparator G20 can be combined into a common component. Similarly, it is conceivable to combine the switching intention recognition unit G40 into a common component with the switching unit G50.

以下の文章においては、異なる記載がない限り、切替え意図認識ユニットG40と、組み合わされた切替え・比較ユニットG70が存在するものとする。   In the following text, unless there is a different description, it is assumed that there is a switching intention recognition unit G40 and a combined switching / comparison unit G70.

2つより多い実施ユニットのために使用する場合でも、切替え・比較コンポーネントの一般的な場合が、図20に示されている。n個の考慮すべき実施ユニットから、n個の信号N140、…、N14nが切替え・比較コンポーネントN100へ供給される。このコンポーネントは、これらの入力信号からn個までの出力信号N160、…、N16nを生成することができる。最も簡単な場合、「純粋なパフォーマンスモード」において、すべての信号N14iが、対応する出力信号N16iへ導かれる。逆の限界の場合、「純粋な比較モード」においては、すべての信号N140、…、N14nは、出力信号の正確に1つのN16iへ案内される。   The general case of a switch and compare component, even when used for more than two implementation units, is shown in FIG. From the n implementation units to be considered, n signals N140,..., N14n are supplied to the switching and comparison component N100. This component can generate up to n output signals N160,..., N16n from these input signals. In the simplest case, in the “pure performance mode” all signals N14i are routed to corresponding output signals N16i. In the opposite limit, in the “pure comparison mode” all signals N140,..., N14n are routed to exactly one N16i of the output signal.

この図においては、どのようにして種々の考えられるモードが生じることができるか、が示される。そのために、この図には、切替え論理N110の論理的コンポーネントが含まれている。このコンポーネントは、専用のコンポーネントとして設けられる必要はない。重要なことは、上述した機能がシステム内で実現されていることである。切替え論理N110は、まず、そもそもいくつの出力信号があるか、を検出する。さらに、切替え論理は、どの入力信号がどの出力信号に寄与するか、を検出する。その場合に、1つの入力信号が正確に1つの出力信号に寄与することができる。従って、数学的な形式で異なるように表現すると、切替え論理によって、量{N140、…、N14n}の各エレメントに量{N160、…、N16n}のエレメントを対応づける関数が定められる。   In this figure it is shown how the various possible modes can occur. To that end, this figure includes the logical components of switching logic N110. This component need not be provided as a dedicated component. What is important is that the above-described functions are realized in the system. The switching logic N110 first detects how many output signals are present. Further, the switching logic detects which input signal contributes to which output signal. In that case, one input signal can contribute to exactly one output signal. Accordingly, when expressed differently in mathematical form, the switching logic defines a function for associating each element of quantity {N140,..., N14n} with an element of quantity {N160,.

その場合に処理論理N120は、出力N16iの各々について、どのような形式で入力がこの出力信号に寄与するか、を決定する。このコンポーネントも、専用のコンポーネントとして設けられる必要はない。ここでも重要なことは、記載された機能がシステム内で実現されていることである。たとえば、種々の変形可能性を記述するために、普遍性を制限することなしに、出力N160が信号N141、…、N14mによって生成される、と仮定する。m=1である場合に、これは単純に信号のスルー接続に相当し、m=2の場合には、たとえば図13、図14内の比較器内に記載されているように、信号N141、N142が比較される。この比較は、同期または非同期で実施することができ、ビット単位で、あるいは有意のビットについてのみ、あるいはまた許容帯域をもって実施することができる。
m>=3の場合には、複数の可能性がある。
第1の可能性は、すべての信号を比較し、少なくとも2つの異なる値が存在する場合に、エラーを検出することにあり、そのエラーを選択的に信号で知らせることができる。
第2の可能性は、mからkの選択を行うことにある(k>m/2)。これは、比較器の使用によって実現することができる。選択的に、信号の1つがずれていると認識された場合に、エラー信号を生成することができる。3つの信号すべてが異なっている場合に、場合によってはそれとは異なる信号を生成することができる。
第3の可能性は、これらの値をアルゴリズムへ供給することにある。これは、たとえば平均値、中央値の形成あるいはエラー許容するアルゴリズム(FTA)を使用することである。この種のFTAは、入力値の極値を捨て去って、残りの値にわたってある種の平均を行うことに基づいている。この平均は、残りの値の全量にわたって、あるいは好ましくはHW内で容易に形成すべき部分量にわたって行うことができる。この場合において、値を実際に比較することは、必ずしも必要ではない。平均値形成の場合には、たとえば加算と割り算のみを行えばよく、FTM、FTAまたはメディアンは部分的な分類を必要とする。場合によっては、ここで極値が十分に大きい場合には、選択的にエラー信号を出力することができる。
In that case, processing logic N120 determines, for each of the outputs N16i, in what form the input contributes to this output signal. This component also need not be provided as a dedicated component. Again, what is important is that the described functions are implemented in the system. For example, to describe various deformability, assume that output N160 is generated by signals N141,..., N14m without limiting universality. When m = 1, this simply corresponds to a signal through connection, and when m = 2, for example, as described in the comparator in FIGS. 13 and 14, the signal N141, N142 is compared. This comparison can be performed synchronously or asynchronously and can be performed on a bit-by-bit basis, only for significant bits, or also with an acceptable bandwidth.
If m> = 3, there are multiple possibilities.
The first possibility is to compare all signals and detect an error if there are at least two different values, and the error can be selectively signaled.
The second possibility is to select k from m (k> m / 2). This can be achieved by the use of a comparator. Alternatively, an error signal can be generated when one of the signals is recognized as being shifted. If all three signals are different, in some cases a different signal can be generated.
A third possibility is to supply these values to the algorithm. This may be, for example, using a mean, median or error tolerant algorithm (FTA). This type of FTA is based on discarding the extreme values of the input values and performing some kind of averaging over the remaining values. This averaging can be performed over the entire amount of remaining values, or preferably over a partial amount that should be easily formed in the HW. In this case, it is not always necessary to actually compare the values. In the case of average value formation, for example, only addition and division need be performed, and FTM, FTA, or median requires partial classification. In some cases, if the extreme value is sufficiently large here, an error signal can be selectively output.

複数の信号を1つの信号に処理する、上述した種々の可能性は、短くするために、比較操作と称する。
従って処理論理の課題は、各出力信号について−それに伴って付属の入力信号についても−、比較操作の正確な形態を定めることである。切替え論理N110(すなわち、上述した機能)と処理論理(すなわち出力信号当たり、すなわち機能値当たりの比較操作の決定)の情報の組み合わせが、モード情報であって、それがモードを決定する。この情報は、一般的な場合において、もちろん多値であり、すなわち1つの論理値を示すだけではない。与えられた実装内で、必ずしもすべての理論的に考えられるモードが有意義ではなく、好ましくは許されるモードの数が制限される。強調すべきことは、比較モードのみが存在する、実施ユニットが2つだけの場合に、全情報を1つの論理値に凝集できることである。
パフォーマンスモードから比較モードへの切替えは、一般的な場合において、パフォーマンスモードにおいては種々の出力へマッピングされる実施ユニットが、比較モードにおいては同一の出力にマッピングされることによって、特徴づけられる。好ましくは、これは、実施ユニットの部分システムが存在し、その部分システムにおいてパフォーマンスモード内で、部分システム内で考慮される、すべての入力信号N14iが直接関連する出力信号N16iに接続され、比較モードにおいてはすべてが1つの出力にマッピングされることによって、実現される。代替的にこの種の切替えを、ペアリングを変化させることによって、実現することもできる。これは、一般的な場合において、本発明の与えられた例において、許されるモードの量がそのように制限できるにもかかわらず、1つのパフォーマンスモードと1つの比較モードを話題にできないことによって、説明される。しかし常に、パフォーマンスモードから比較モード(そしてその逆)への切替えを話題にすることができる。
これらのモードの間で、ソフトウェアを介して制御することにより、動的に駆動を切り替えることができる。その場合に切替えは、特殊な切替えインストラクション、特殊なインストラクションシーケンス、明確に特徴づけられたインストラクションの実施を介して、あるいはマルチプロセッサシステムの実施ユニットの少なくとも1つによる所定のアドレスへのアクセスによって、作動される。
The various possibilities described above for processing a plurality of signals into one signal are referred to as comparison operations in order to shorten.
The problem with processing logic is therefore to determine the exact form of the comparison operation for each output signal-along with the accompanying input signal. The combination of information of the switching logic N110 (that is, the function described above) and the processing logic (that is, determination of the comparison operation per output signal, that is, per function value) is mode information, which determines the mode. This information is of course multivalued in the general case, i.e. it does not only indicate one logical value. Within a given implementation, not all theoretically possible modes are meaningful and preferably the number of modes allowed is limited. It should be emphasized that all information can be aggregated into one logical value when there is only two execution units, where only the comparison mode exists.
The switching from performance mode to comparison mode is characterized in the general case by the implementation units being mapped to different outputs in performance mode being mapped to the same output in comparison mode. Preferably, this is the case where there is a partial system of execution units, in which performance mode, all input signals N14i considered in the partial system are connected directly to the associated output signal N16i, and in comparison mode Is realized by mapping everything to one output. Alternatively, this kind of switching can also be realized by changing the pairing. This is because, in the general case, in a given example of the present invention, one performance mode and one comparison mode cannot be discussed, even though the amount of modes allowed can be so limited. Explained. But you can always talk about switching from performance mode to comparison mode (and vice versa).
The drive can be dynamically switched between these modes by controlling via software. In that case, the switching is activated via a special switching instruction, a special instruction sequence, the execution of a well-characterized instruction or by access to a predetermined address by at least one of the execution units of the multiprocessor system. Is done.

エラー回路論理N130は、たとえば比較器によって生成されたエラー信号を収集し、かつ選択的に、たとえばスイッチを介して遮断することによって、出力N16iをパッシブに切り替えることができる。   The error circuit logic N130 can passively switch the output N16i, for example, by collecting the error signal generated by the comparator and selectively shutting it off, for example via a switch.

しかし、以下の例は少なくとも、多くのコンセプトが単純に表示される、2つの実施ユニットの場合に向けられている。   However, the following example is directed at least to the case of two implementation units where many concepts are simply displayed.

モード間の切替えは、種々の方法によってコード化することができる。ある可能な方法においては、特殊な切替え指令が使用され、それが切替え意図認識ユニットG40によって検出される。切替えをコード化する他の可能な方法は、特殊なメモリ領域へのアクセスによって定義され、ここでも切替え意図認識ユニットG40がそれを検出する。他の方法は、切替え意図認識ユニットG40内で、切替えを知らせる、外部の信号を評価することである。以下においては、プロセッサのすでにある指令セット内の利用されないビットコンビネーションを使用する方法が説明される。この方法の特別な利点は、すでにある開発環境(アッセンブラ、コンパイラ、リンカー、デバッガ)をさらに使用できることである。   Switching between modes can be coded in various ways. In one possible method, a special switching command is used, which is detected by the switching intention recognition unit G40. Another possible way of coding the switching is defined by access to a special memory area, which again is detected by the switching intention recognition unit G40. Another method is to evaluate an external signal informing the switching within the switching intention recognition unit G40. In the following, a method is described for using unused bit combinations in the processor's existing command set. A special advantage of this method is that it can further use the existing development environment (assembler, compiler, linker, debugger).

図4には、2つの実施ユニットG210a、G210bと切替え・比較ユニットG260を有するマルチプロセッサシステムG200が示されている。比較モードとパフォーマンスモード(およびその逆)の間で切り替えるために、少なくとも2つの実施ユニットG210a、G210bの、アッセンブラ内で定義されないビットコンビネーションが利用される。この意味における定義されない、あるいは未定義のビットコンビネーションとは、指令セットの記述内で未定義またはイリーガルとして記述される、すべてのビットコンビネーションである。これらは、たとえば、イリーガルオペランド、イリーガルインストラクション、イリーガルオペレーションである。これら未定義のビットコンビネーションの一般的な特徴は、ノーマルな実施ユニットはこの種のビットコンビネーションが実施された場合にエラー信号を発生するか、あるいは定義されない行動を示すことである。従ってこれらのビットコンビネーションは、通常のプログラムのセマンティクスを表すために必要とされない。   FIG. 4 shows a multiprocessor system G200 having two execution units G210a and G210b and a switching / comparison unit G260. In order to switch between the comparison mode and the performance mode (and vice versa), a bit combination of at least two implementation units G210a, G210b that is not defined in the assembler is used. An undefined or undefined bit combination in this sense is any bit combination that is described as undefined or illegal in the instruction set description. These are, for example, illegal operands, illegal instructions, illegal operations. A general feature of these undefined bit combinations is that a normal implementation unit generates an error signal or exhibits undefined behavior when such a bit combination is implemented. These bit combinations are therefore not required to represent normal program semantics.

従ってソフトウェア開発のために、シングルプロセッサシステムのために存在するような、従来の開発環境を利用することができる。これは、たとえば、マクロ「SWITCH MODE TO PM」とマクロ「SWITCH MODE TO VM」を定義し、それをコード内の適切な箇所で上述した主旨において未定義のビットコンビネーション内へ挿入することによって、実現することができる。   Thus, a conventional development environment, such as exists for a single processor system, can be used for software development. This is achieved, for example, by defining the macro “SWITCH MODE TO PM” and the macro “SWITCH MODE TO VM” and inserting it into an undefined bit combination at the appropriate point in the code as described above. can do.

その場合に、このコンビネーションの使用は、一般的な「SWITCH」マクロとして定義される。その場合にこれは、その時のモードに従ってそれぞれ他のモードへの切り替えをもたらす。システム内に2つより多い異なるモードが存在する場合には、この方法を使用するためにはもっと多くのこの種のビットコンビネーションが存在していなければならず、好ましくはその場合に切り替えるためにモード当たり1つを使用することができる。   In that case, the use of this combination is defined as a generic “SWITCH” macro. In this case, this results in switching to each other mode according to the current mode. If there are more than two different modes in the system, there must be more of this kind of bit combination in order to use this method, preferably the mode to switch in that case One per can be used.

本発明によれば、切替え意図は、指令セット内の未定義のビットコンビネーションによってコード化される。これらは、実施ユニットG210a、G210bの内部では通常の方法で処理されてはならない。この理由から、それに応じたビットコンビネーションを認識して、それを以降の処理のためにニュートラルなビットコンビネーションに代える、付加的なパイプライン段階(REPLACE段階)G230a、G230bが提案される。好ましくはそのために、NOP(No Operation)指令が利用される。NOP指令は、実施ユニットの内部の状態を、インストラクションポインタに至るまで、変化させないことを特徴としている。その場合にREPLACE段階G230a、G230bは、通常第1段階、FETCH段階G220a、G220bの後ろで、かつ残りのパイプライン段階G240a、G240b、ここではユニットにまとめられている、アッセンブラ内で未定義のビットコンビネーションの前に挿入される。   According to the present invention, the switching intention is encoded by an undefined bit combination in the command set. These must not be processed in the usual way inside the implementation units G210a, G210b. For this reason, additional pipeline stages (REPLACE stages) G230a, G230b are proposed that recognize the corresponding bit combination and replace it with a neutral bit combination for further processing. For this purpose, a NOP (No Operation) command is preferably used. The NOP command is characterized in that the internal state of the execution unit is not changed until reaching the instruction pointer. In that case, the REPLACE stage G230a, G230b is usually the first stage, after the FETCH stages G220a, G220b, and the remaining pipeline stages G240a, G240b, in this case united into undefined bits in the assembler. Inserted before the combination.

本発明によれば、切替え意図を認識するユニットG40は、パイプラインユニットG215a、G215b内の特殊なパイプライン段階G230a、G230bとして実装され、それは、切り替えるための該当するビットコンビネーションが認識された場合に、処理モードの切替えが実施されることを別体の切替え・比較ユニットG260へ知らせる、付加的な信号G250a、G250bを発生させる。   According to the invention, the unit G40 for recognizing the switching intention is implemented as a special pipeline stage G230a, G230b in the pipeline units G215a, G215b, when the relevant bit combination for switching is recognized. Then, additional signals G250a and G250b are generated to inform the separate switching / comparison unit G260 that the processing mode is to be switched.

REP段階G230a、G230bは、好ましくは、実施ユニットG210a、G210bのパイプライン段階G215a、G215b内でFET段階G220a、G220bと残りのパイプライン段階G240a、G240bの間に配置されている。その場合にREP段階G230a、G230bは然るべきビットコンビネーションを認識して、その場合にNOP指令を残りの段階G240a、G240bへさらに案内する。同時に、それぞれの信号G250aまたはG250bが能動化される。他のすべての場合において、REP段階G230a、G230bはニュートラルに行動し、すなわち他のすべての指令は変更されずに残りの段G240a、G240bへ伝達される。   The REP stages G230a, G230b are preferably arranged between the FET stages G220a, G220b and the remaining pipeline stages G240a, G240b in the pipeline stages G215a, G215b of the execution units G210a, G210b. In that case, the REP stages G230a, G230b recognize the appropriate bit combination and in that case, further guide the NOP command to the remaining stages G240a, G240b. At the same time, the respective signal G250a or G250b is activated. In all other cases, the REP stages G230a, G230b act neutral, i.e. all other commands are transmitted unchanged to the remaining stages G240a, G240b.

図5には、特殊なパイプライン段階G230a、G230bの内部で特殊な未定義のビットコンビネーションをNOPまたは他のニュートラルのビットコンビネーションと交換する方法がフローチャートで示されている。FETCH段階G300内で、指令すなわちビットコンビネーションがメモリから取り出される。その後ブロックG310において、取り出したビットコンビネーションが、切替えをコード化する特殊な未定義のビットコンビネーションに相当するか、が判断される。否定の場合には、次のステップG320においてビットコンビネーションが変更されずに残りのパイプライン段階G340へさらに処理するために引き渡される。ステップG310において、切替えをコード化する特殊なビットコンビネーションが認識された場合に、ステップG330においてそれがNOPビットコンビネーションで置き換えられて、それがその後さらに処理するために他のパイプライン段階G340へ引き渡される。好ましい実施形態においては、ブロックG310、G320、G330が本発明に基づくREPLACE段階G230a、G230bの機能を表し、その場合にこれらは他の機能も含むことができる。   FIG. 5 is a flowchart illustrating a method for exchanging special undefined bit combinations with NOP or other neutral bit combinations within special pipeline stages G230a, G230b. Within the FETCH stage G300, the command or bit combination is retrieved from memory. Thereafter, in block G310, it is determined whether the retrieved bit combination corresponds to a special undefined bit combination that codes the switch. If not, in the next step G320, the bit combination is left unchanged for further processing to the remaining pipeline stage G340. If a special bit combination encoding the switch is recognized in step G310, it is replaced with a NOP bit combination in step G330, which is then handed off to another pipeline stage G340 for further processing. . In a preferred embodiment, blocks G310, G320, G330 represent the functions of the REPLACE stage G230a, G230b according to the present invention, in which case they can also include other functions.

図6には、2つの実施ユニットH210a、H210bと切替え・比較ユニットH260を有するマルチプロセッサシステムH200が示されている。コンポーネントH220a、H220b、H240a、H240bは、G220a、G220b、G240a、G240bと同じ意味を有している。ここに特殊なパイプライン段階H230a、H230bによって記述される、切替え意図認識ユニットG40の代替的形態において、これは、切替えを知らせる信号H250a、H250bの他に、他の信号を有している。パフォーマンスモードから比較モードへ交替する場合に実施ユニットH210a、H210bを同期させることができるようにするために、実施ユニットH210a、H210bのパイプラインユニットH215a、H215bはそれぞれ信号入力H280a、H280bを有しており、その信号入力によって処理を停止させることができる。この信号は、切替え・比較ユニットH260によって、最初に切替え指令を認識して、それに伴って信号H250a、H250bを能動化したパイプラインユニットH215aまたはH215bのためにセットされる。実施ユニットH210a、H210bの2つのパイプラインユニットH215a、H215bが切替え指令を認識して、ソフトウェアまたは他のハードウェア措置によってその内部の状態を同期化した場合に初めて、この信号H280a、H280bが再び撤回される。比較モードからパフォーマンスモードへ交替する場合には、同期化が必要とされないので、H280a、H280bは不要である。   FIG. 6 shows a multiprocessor system H200 having two execution units H210a and H210b and a switching / comparison unit H260. The components H220a, H220b, H240a, and H240b have the same meaning as G220a, G220b, G240a, and G240b. In an alternative form of the switching intent recognition unit G40, described here by special pipeline stages H230a, H230b, it has other signals in addition to the signals H250a, H250b informing the switching. In order to be able to synchronize the execution units H210a, H210b when switching from performance mode to comparison mode, the pipeline units H215a, H215b of the execution units H210a, H210b have signal inputs H280a, H280b, respectively. Therefore, the processing can be stopped by the signal input. This signal is set by the switching / comparison unit H260 for the pipeline unit H215a or H215b that first recognized the switching command and activated the signals H250a, H250b accordingly. Only when the two pipeline units H215a, H215b of the execution units H210a, H210b recognize the switching command and synchronize their internal state by software or other hardware measures, the signals H280a, H280b are withdrawn again. Is done. When switching from the comparison mode to the performance mode, since synchronization is not required, H280a and H280b are unnecessary.

ここに記載された提案のための前提は、各実施ユニットがその個別のナンバーまたはユニットIDを求めることができる、ユニット(IDユニットと称される)または方法である。2つの実施ユニットを有するシステムにおいては、たとえば、一方の実施ユニットは自らのためにナンバー0を、他の実施ユニットはナンバー1を求めることができる。2つより多い実施ユニットを有するシステムにおいては、ナンバーがそれに応じて与えられ、あるいは求められる。このIDは、比較モードとパフォーマンスモードを区別せず、実施ユニットを一義的に表す。IDユニットは、それぞれの実施ユニット内に含めることができ、たとえばプロセッサステータスレジスタ内にビットまたはビットコンビネーションとして、あるいは専用のレジスタとして、あるいはまた個々のビットとして、または実施ユニットに対して外部のユニットとして実装され、照会に応じて該当するIDを供給する。   The premise for the proposal described here is a unit (referred to as an ID unit) or method in which each implementing unit can determine its individual number or unit ID. In a system with two execution units, for example, one execution unit can determine the number 0 for itself and the other execution unit can determine the number 1. In systems with more than two implementation units, a number is given or determined accordingly. This ID uniquely represents the execution unit without distinguishing between the comparison mode and the performance mode. The ID unit can be included in each enforcement unit, for example as a bit or bit combination in the processor status register, or as a dedicated register, or as individual bits, or as a unit external to the enforcement unit Implemented and supplies the appropriate ID in response to a query.

実施ユニットが切替え意図に従ってパフォーマンスモードへの切替えを実施した後に、比較ユニットはもはやアクティブではないが、実施ユニットはまだ同一の指令を実施する。これは、プログラム内で実施作業が次のステップにおいて作業し、ないしは目下作業している箇所を示す、インストラクションポインタが、切替えに影響を受けないことによるものである。実施ユニットが次に異なるSWモジュールを実施することができるようにするために、実施ユニットのプログラムシーケンスが分離されなければならない。従ってこの事柄に応じて、インストラクションポインタはパフォーマンスモードにおいては、通常、様々な値を有する。というのは、それぞれ本発明に従って独立した指令、プログラムセグメントまたはプログラムが処理されるからである。プログラムフローの分離は、ここに説明する提案においては、それぞれの実施ユニットナンバーを求めることによって行われる。それぞれ実施ユニットがどのIDを有するかに従って、実施ユニットは所定のソフトウェアモジュールを実施する。各実施ユニットは個別のナンバーまたはIDを有しているので、それによって関与する実施ユニットのプログラムフローを確実に分離することができる。   After the execution unit has switched to the performance mode according to the switching intention, the comparison unit is no longer active, but the execution unit still executes the same command. This is due to the fact that the execution pointer in the program is the next step, or the instruction pointer that indicates the location where the work is currently being performed is not affected by the switching. In order for the execution unit to be able to implement the next different SW module, the program sequence of the execution unit must be separated. Therefore, depending on this matter, the instruction pointer usually has various values in the performance mode. This is because independent commands, program segments or programs are each processed according to the present invention. In the proposal described here, the program flow is separated by determining the respective execution unit numbers. Depending on which ID each implementation unit has, the implementation unit implements a predetermined software module. Since each execution unit has an individual number or ID, it can be ensured that the program flow of the execution units involved is separated.

図7には、2つの実施ユニットを有するマルチプロセッサシステム内で比較モードからパフォーマンスモードへ交替する場合にユニットIDを用いて、どのようにプログラムフローを分離することができるかを示す方法が、フローチャートで示されている。比較モードからパフォーマンスモードへの切替えG500を実施した後に、2つの実施ユニットによるユニットIDまたは実施ユニットナンバーの照会が行われる。その場合に本発明によれば、実施ユニット0は実施ユニットナンバー0を得て、実施ユニット1は実施ユニットナンバー1を得る。G510において、求められた実施ユニットナンバーとナンバー0との比較が行われる。それらが等しい場合には、ステップG520においてこの比較ついて肯定された実施ユニットが、実施ユニット0のためのコードで続行する。この比較について肯定されなかった実施ユニットは、G530においてナンバー1との比較を続行する。この比較が肯定された場合には、G540において実施ユニット1のためのコードで続行される。従って、この比較が肯定されなかった場合には、該当する実施ユニットのために0および1に等しくない実施ユニットナンバーが求められた。これは、エラーである場合を示し、G550へ進む。   FIG. 7 is a flowchart showing how a program flow can be separated using a unit ID when switching from comparison mode to performance mode in a multiprocessor system having two implementation units. It is shown in After performing the switching G500 from the comparison mode to the performance mode, the inquiry of the unit ID or the execution unit number by the two execution units is performed. In that case, according to the present invention, the implementation unit 0 obtains the implementation unit number 0 and the implementation unit 1 obtains the implementation unit number 1. In G510, the obtained execution unit number is compared with the number 0. If they are equal, the enforcement unit affirmed for this comparison in step G520 continues with the code for enforcement unit 0. Execution units that have not been affirmed for this comparison will continue to compare with number 1 at G530. If this comparison is affirmed, continue with the code for enforcement unit 1 at G540. Therefore, if this comparison was not affirmed, an implementation unit number not equal to 0 and 1 was determined for that implementation unit. This indicates a case of an error, and the process proceeds to G550.

図8には、3つの実施ユニットのための可能な方法が記載されている。H500で比較モードからパフォーマンスモードへの切替えを実施した後に、実施ユニットによりユニットIDまたは実施ユニットナンバーの照会H510が行われる。その場合に本発明によれば、たとえば、実施ユニット0は実施ユニットナンバー0を得て、実施ユニット1は実施ユニットナンバー1を得て、そして実施ユニット2は実施ユニットナンバー2を得る。H510において、求められた実施ユニットナンバーとナンバー0との比較が行われる。それらが等しい場合には、ステップH520において、この比較が肯定された実施ユニットが、実施ユニット0のためのコードを続行する。この比較が肯定されなかった実施ユニットは、H530においてナンバー1との比較を実施する。この比較が肯定された実施ユニット内では、H540において実施ユニット1のためのコードが実施される。この比較が肯定されなかった実施ユニットは、H535でナンバー2との比較を続行する。この比較が肯定された実施ユニットは、H536で実施ユニット2のためのコードを続行する。従って、この比較が肯定されない場合には、それに応じた実施ユニットについては、0、1および2に等しくない実施ユニットナンバーが求められる。これは、エラーである場合を示し、H550へ進む。ナンバーと比較する代りに、求められた実施ユニットナンバーを、直接ジャンプテーブルへのインデックスとして使用することもできる。   FIG. 8 describes a possible method for three implementation units. After switching from the comparison mode to the performance mode in H500, the execution unit performs a unit ID or execution unit number inquiry H510. In that case, according to the present invention, for example, implementation unit 0 gets implementation unit number 0, implementation unit 1 gets implementation unit number 1, and implementation unit 2 gets implementation unit number 2. In H510, the obtained execution unit number is compared with the number 0. If they are equal, in step H520, the enforcement unit for which this comparison was affirmed continues the code for enforcement unit 0. The enforcement unit for which this comparison was not positive performs a comparison with number 1 at H530. Within the enforcement unit for which this comparison is positive, the code for enforcement unit 1 is implemented at H540. Execution units for which this comparison was not affirmed continue comparison with number 2 at H535. The enforcement unit for which this comparison is positive continues the code for enforcement unit 2 at H536. Therefore, if this comparison is not affirmed, implementation unit numbers not equal to 0, 1 and 2 are determined for the corresponding implementation units. This indicates a case of an error, and the process proceeds to H550. Instead of comparing with the number, the determined implementation unit number can also be used directly as an index into the jump table.

この説明に応じて、この方法は、3つより多い実施ユニットを有するマルチプロセッサシステムにも適用することができる。   Depending on this description, the method can also be applied to multiprocessor systems having more than three implementation units.

パフォーマンスモードから比較モードへ切り替える場合には、複数の事柄に注意しなければならない。パフォーマンスモードから比較モードへ切り替える場合には、切替え後に実施ユニットの内部の状態が同種であることが保証されなければならならず、そうでない場合には、異なるスタート状態が異なる出力をもたらした場合に、比較モードにおいては場合によってエラーが認識されてしまう。これは、ハードウェアを介して、ソフトウェアを介して、ファームウェアを介して、あるいは3つすべての組み合わせにおいて、実施することができる。そのための前提は、比較モードへの切替え後にすべての実施ユニットが同一または同種の指令、プログラムまたはプログラムセグメントを実施することである。以下において、比較モードが同一の指令が処理されて、ビット正しく比較が行われることを特徴とする場合に適用することができる、同期化方法を説明する。   When switching from performance mode to comparison mode, there are several things to be aware of. When switching from performance mode to comparison mode, it must be ensured that the internal state of the execution unit is the same after switching, otherwise if different start conditions result in different outputs. In the comparison mode, an error is recognized depending on the case. This can be done through hardware, through software, through firmware, or in a combination of all three. The premise for this is that all execution units execute the same or similar commands, programs or program segments after switching to the comparison mode. In the following, a synchronization method that can be applied to a case where a command with the same comparison mode is processed and a bit is correctly compared will be described.

図9には、パフォーマンスモードから比較モードへ切り替える場合に実施ユニットを同期させる方法がフローチャートで示されている。ステップG600において、好ましくはすべてのインターラプトが阻止される。これは、比較モードのためにインターラプトコントローラがそれに応じて再プログラミングされなければならないために重要なだけではない。ソフトウェアによっても、実施ユニットの内部の状態が一致されなければならない。しかし比較モードへ切り替えるための準備の間に、インターラプトが作動された場合には、一致はもはや容易には可能でなくなる。   FIG. 9 is a flowchart showing a method for synchronizing the execution units when switching from the performance mode to the comparison mode. In step G600, all interrupts are preferably blocked. This is not only important because for the comparison mode the interrupt controller has to be reprogrammed accordingly. The software must also match the internal state of the enforcement unit. However, if interrupts are activated during preparation for switching to comparison mode, matching is no longer possible.

ステップG610:2つの実施ユニットが別々のキャッシュを有している場合には、比較モードにおいてあるアドレスについて、一方の実施ユニットについてキャッシュヒットが生じ、他方の実施ユニットについてはキャッシュミスが生じるのを防止するために、切替え前にキャッシュの内容も一致されなければならない。これが、キャッシュハードウェアによって自動的に実施されない場合には、これは、たとえば、すべてのキャッシュラインを無効とマーキングすることによってもたらされる。1つまたは複数のキャッシュが完全に無効になるまでの間、待機しなければならない。これは、必要な場合には、プログラムコード内の待機ループによって保証される。これは、他の手段によって達成することも可能であって、重要なことは、このステップ後にキャッシュが同一の状態にあることである。   Step G610: If two execution units have separate caches, prevent a cache hit for one execution unit and a cache miss for the other execution unit for an address in compare mode In order to do this, the contents of the cache must also be matched before switching. If this is not done automatically by the cache hardware, this is caused, for example, by marking all cache lines invalid. You must wait until one or more caches are completely invalidated. This is guaranteed by a wait loop in the program code if necessary. This can be accomplished by other means, and importantly, the cache is in the same state after this step.

ステップG620において、実施ユニットの書込みバッファが空にされ、それによって切替え後に、さらにパフォーマンスモードからもたらされる、実施ユニットの能動化が行われないようにする。   In step G620, the execution unit's write buffer is emptied so that, after switching, the execution unit is not activated further resulting from the performance mode.

ステップG630において、実施ユニットのパイプライン段階の状態が同期化される。そのために、たとえば切替えシーケンス/切替え指令の前に、適当な数のNOP(No Operation)指令が実施される。NOP指令の数は、パイプライン段階の数に従って定められ、従ってそれぞれのアーキテクチャに依存する。どの指令がNOP指令として適しているかも、同様にアーキテクチャに依存している。その場合に実施ユニットがインストラクションキャッシュを有している場合には、この指令シーケンスがキャッシュラインの境界に整合されていること(アライメント)が、保証されなければならない。インストラクションキャッシュは、これらのNOPの実施前に無効としてマークされているので、これらのNOPは最初にキャッシュへロードされなければならない。この指令シーケンスがキャッシュライン境界で開始される場合には、メモリ(たとえばRAM/ROM/フラッシュ)からキャッシュへのデータ転送は、切替えのための指令が行われる前に、終了している。これも、NOPの必要な数を定める際に考慮されなければならない。   In step G630, the state of the pipeline stage of the execution unit is synchronized. For this purpose, for example, an appropriate number of NOP (No Operation) commands are executed before the switching sequence / switching command. The number of NOP directives is determined according to the number of pipeline stages and is therefore dependent on the respective architecture. Which command is suitable as a NOP command also depends on the architecture. If the execution unit then has an instruction cache, it must be ensured that this command sequence is aligned to the boundary of the cache line (alignment). Since the instruction cache is marked as invalid before performing these NOPs, these NOPs must first be loaded into the cache. When this command sequence is started at the cache line boundary, the data transfer from the memory (for example, RAM / ROM / flash) to the cache is completed before the command for switching is issued. This must also be taken into account when determining the required number of NOPs.

ステップG640において、比較モードへ切り替えるための指令ステップが、実際に実施される。   In step G640, a command step for switching to the comparison mode is actually performed.

ステップG650において、各実施ユニットのそれぞれのレジスタファイルの内容が一致される。そのために、レジスタは切替え前またはその後に、同一の内容をロードされる。その場合に重要なことは、切替え後に実施ユニット内のレジスタの内容が、レジスタ内容が外部へ転送されて、それによって比較ユニットにより比較される前に、同一であることである。   In step G650, the contents of each register file of each execution unit are matched. For this purpose, the registers are loaded with the same contents before or after switching. What is important in that case is that the contents of the registers in the implementation unit after switching are identical before the register contents are transferred to the outside and thereby compared by the comparison unit.

ステップG660において、インターラプトコントローラが再プログラミングされるので、互いに接続されているすべての実施ユニットにおいて外部のインターラプト信号が同一のインターラプトを作動させる。   In step G660, the interrupt controller is reprogrammed so that the external interrupt signal activates the same interrupt in all implementation units connected to each other.

ステップG670において、インターラプト再び許可される。   In step G670, the interrupt is permitted again.

プログラムシーケンスによって、いつ比較モードへ切り替えられるべきかが一義的でない場合に、関与する実施ユニットは意図される切替えについて知らされなければならない。そのために好ましくは、それぞれの実施ユニットに属するインターラプトコントローラ内で、たとえばSWを介してインターラプトが開始される。その場合にインターラプト処理は、互いに接続するための上述したシーケンスの実施を促す。   If the program sequence makes it unclear when to switch to comparison mode, the participating enforcement units must be informed about the intended switch. For this purpose, an interrupt is preferably started, for example via SW, in the interrupt controller belonging to the respective implementation unit. In that case, the interrupt processing prompts the execution of the above-described sequence for connecting to each other.

図10には、パフォーマンスモードと比較モード(およびその逆)の間の切替えを表す、状態オートマトンが示されている。「パワーオン」またはリセット(ソフトウェアまたはハードウェア)によってもたらされる、システムスタートの際に、システムは遷移G800を介して状態G700へ遷移される。一般的に言えることは、システムは、リセットを作動させることができる、未定義の事象の後に、常に状態G700で作動し始めることである。リセットを作動させることができる事象の例は、外部の信号、電圧供給における問題、あるいはそれ以降の処理をもはや無意味なものにする、内部のエラー事象である。従って、パフォーマンスモードにおいて処理される、切替え・比較ユニットG70とそしてまたマルチプロセッサシステムG60の状態G700は、システムのデフォルト状態である。この種の未定義の状態をとる、すべての場合において、デフォルト状態G700が取られる。その場合に状態G700のこのデフォルト位置は、ハードウェア措置によって保証される。たとえば、システム状態ないし切替え・比較ユニットG60の状態は、レジスタ内、レジスタ内のビット内、レジスタ内のビットコンビネーションによって、あるいはフリップフロップによってコード化することができる。
その場合にハードウェアを介して、リセットまたはパワーオン後に常に状態G700がとられることが保証される。これは、たとえばリセット信号ないし「パワーオン」信号がフリップフロップまたはレジスタのリセット入力またはセット入力に供給されることによって保証される。
FIG. 10 shows a state automaton that represents switching between performance mode and comparison mode (and vice versa). Upon system start, caused by "power on" or reset (software or hardware), the system transitions to state G700 via transition G800. In general, the system always starts to operate in state G700 after an undefined event that can trigger a reset. Examples of events that can trigger a reset are an external error, a problem with the voltage supply, or an internal error event that makes further processing no longer meaningful. Therefore, the switching and comparing unit G70 and also the state G700 of the multiprocessor system G60, which are processed in the performance mode, are the default state of the system. In all cases that take this kind of undefined state, the default state G700 is taken. In that case, this default position of state G700 is guaranteed by a hardware measure. For example, the system state or the state of the switching and comparing unit G60 can be encoded in a register, in a bit in a register, by a bit combination in a register, or by a flip-flop.
In that case, it is guaranteed via hardware that the state G700 is always taken after reset or power-on. This is ensured, for example, by supplying a reset signal or “power-on” signal to the reset input or set input of the flip-flop or register.

状態G700において、システムはパフォーマンスモードで作動する。従って実施ユニットG10a、G10bは、異なる指令、プログラムまたはプログラムセグメントを処理する。切替え意図は、たとえば、実施ユニットG10a、G10bが特殊な切替え指令を実施することによって、認識することができる。他の可能性は、特殊なメモリアドレスへのアクセスによって、内部の信号によって、あるいはまた外部の信号によって、認識することである。切替え意図が存在しない間、マルチプロセッサシステムG60とそれに伴って切替え・比較ユニットG70も状態G700に留まる。以下においては、この特殊なシステムにおいて切替え意図を特徴づけるような特徴を有する切替え条件の認識を、切替え意図と称する。
状態G700に留まることは、遷移G810によって示される。実施ユニットG10aによって切替え意図が認識された場合に、遷移G820を介して切替え・比較ユニットG70が状態G710へ遷移される。従って状態G710は、実施ユニットG10aが切替え意図を認識して、実施ユニットG10bが同様に切替え意図を認識するまで待機する状況を表している。そうならない間、切替え・比較ユニットG70は状態G710に留まり、それが遷移G830で示されている。
遷移G840は、状態G710において実施ユニットG10bが同様に切替え意図を認識した場合に、行われる。従って切替え・比較ユニットG70は、状態G730をとる。この状態は、2つの実施ユニットG10a、G10bが切替え意図を認識した状況を示している。状態G730において、同期化方法が行われ、それによって2つの実施ユニットG10a、G10bが互いに対して同期され、それによってその後比較モードで作動することができる。このプロセスの間、切替え・比較ユニットG70は状態G730内に留まり、それが遷移G890によって示されている。
状態G700において、まず実施ユニットG10bによって切替え意図が認識された場合には、遷移G860を介して状態G720へ切り替えられる。従って状態G720は、実施ユニットG10bが切替え意図を認識して、実施ユニットG10aが同様に切替え意図を認識するまで待機する状況を表している。これが起こらない間、切替え・実施ユニットG70は状態G720に留まり、それが遷移G870で示されている。遷移G880は、状態G720において実施ユニットG10aが同様に切替え意図を認識した場合に行われる。従って切替え・比較ユニットG70は、状態G730をとる。
状態G700において、2つの実施ユニットG10a、G10bが同時に切替え意図を認識した場合には、即座に状態G730へ遷移する。この場合が、遷移G850を表している。
切替え・比較ユニットG70が状態G730にある場合に、2つの実施ユニットG10a、G01bは切替え意図を認識している。この状態において、実施ユニットG10a、G10bの内部状態は、この同期化プロセスの終了後に比較モードで作動するために、同期化される。この同期化作業の終了後に、遷移G900が行われる。この遷移は、同期化の終了を表している。状態G740において、実施ユニットG10a、G10bは比較モードで作動する。同期化作業の終了は、実施ユニットG10a、G10b自体によって信号化することができる。これは、2つの実施ユニットG10a、G10bが、比較モードで作業する準備ができていることを、信号化した場合に遷移G900が行われることを意味している。終了は、固定的に調節された時間を介して知らせることもできる。これは、切替え・比較ユニットG70内で、状態G730内にどのくらいの間滞在するか、が固定的にコード化されていることを意味している。この時間は、2つの実施ユニットG10a、G10bがその同期化作業を確実に終了しているように調節される。その場合に、この時間の経過後に、遷移G900が開始される。他の変形例においては、切替え・比較ユニットG70が実施ユニットG10a、G10bの状態を監視して、2つの実施ユニットG10a、G01bがその同期化作業を終了した場合に、自ら認識することができる。その場合に、認識した後に、遷移G900が導入される。
In state G700, the system operates in performance mode. The execution units G10a, G10b therefore process different commands, programs or program segments. The switching intention can be recognized, for example, when the execution units G10a and G10b execute a special switching command. Another possibility is to recognize by accessing special memory addresses, by internal signals, or also by external signals. While there is no switching intention, the multiprocessor system G60 and the switching / comparison unit G70 stay in the state G700 accordingly. In the following, the recognition of a switching condition having characteristics that characterize the switching intention in this special system is referred to as switching intention.
Staying in state G700 is indicated by transition G810. When the execution unit G10a recognizes the intention of switching, the switching / comparison unit G70 is transitioned to the state G710 via the transition G820. Therefore, the state G710 represents a situation in which the execution unit G10a recognizes the intention to switch and waits until the execution unit G10b similarly recognizes the switching intention. Otherwise, the switching and comparing unit G70 remains in state G710, which is indicated by transition G830.
Transition G840 is performed when execution unit G10b similarly recognizes the intention to switch in state G710. Therefore, the switching / comparison unit G70 takes the state G730. This state shows a situation where the two execution units G10a and G10b have recognized the intention to switch. In state G730, a synchronization method is performed, whereby the two execution units G10a, G10b are synchronized with respect to each other so that they can then operate in comparison mode. During this process, the switch and compare unit G70 remains in state G730, which is indicated by transition G890.
In the state G700, first, when the intention of switching is recognized by the execution unit G10b, the state is switched to the state G720 via the transition G860. Therefore, the state G720 represents a situation in which the execution unit G10b recognizes the intention to switch and waits until the execution unit G10a similarly recognizes the switching intention. While this does not occur, the switching and enforcement unit G70 remains in state G720, which is indicated by transition G870. The transition G880 is performed when the execution unit G10a similarly recognizes the switching intention in the state G720. Therefore, the switching / comparison unit G70 takes the state G730.
In the state G700, when the two execution units G10a and G10b recognize the intention to switch at the same time, the state immediately transitions to the state G730. This case represents the transition G850.
When the switching / comparison unit G70 is in the state G730, the two execution units G10a and G01b recognize the switching intention. In this state, the internal states of the execution units G10a, G10b are synchronized in order to operate in comparison mode after the end of this synchronization process. After this synchronization operation is completed, transition G900 is performed. This transition represents the end of synchronization. In state G740, execution units G10a, G10b operate in a comparison mode. The end of the synchronization operation can be signaled by the execution units G10a, G10b itself. This means that the transition G900 is performed when the two execution units G10a, G10b signal that the two preparation units G10a are ready to work in the comparison mode. The end can also be signaled via a fixed time. This means that in the switching / comparison unit G70, how long the user stays in the state G730 is fixedly coded. This time is adjusted to ensure that the two execution units G10a, G10b have finished their synchronization work. In that case, after the elapse of this time, the transition G900 is started. In another modification, the switching / comparison unit G70 monitors the status of the execution units G10a and G10b, and can recognize itself when the two execution units G10a and G01b have finished their synchronization operations. In that case, after recognition, transition G900 is introduced.

切替え意図が認識されない間、マルチプロセッサシステムG60は、遷移G910によって示される、比較モードに留まる。状態G740において、切替え意図が認識された場合に、切替え・比較ユニットは遷移G920を介して状態G700へ遷移される。すでに説明したように、状態G700においてシステムはパフォーマンスモードで作業する。その場合に、状態G740から状態G700へ遷移する際のプログラムフローの分離は、説明した方法におけるように実施することができる。   While the switching intent is not recognized, the multiprocessor system G60 remains in the comparison mode, indicated by transition G910. When the switching intention is recognized in the state G740, the switching / comparison unit transitions to the state G700 via the transition G920. As already explained, in state G700 the system works in performance mode. In that case, the separation of the program flow when transitioning from state G740 to state G700 can be implemented as in the described method.

図11には、2つの実施ユニットG410a、G410bと内部に設けられたインターラプトマスキングレジスタG430a、G430bを含む2つのインターラプトコントローラG420a、G420bおよび種々のインターラプト源G440aからG440nを有するマルチプロセッサシステムG400が示されている。さらに、特殊なインターラプトマスキングレジスタG460を有する切替え・比較ユニットG450が示されている。   FIG. 11 shows a multiprocessor system G400 having two interrupt controllers G420a and G420b including two execution units G410a and G410b and interrupt masking registers G430a and G430b provided therein and various interrupt sources G440a to G440n. It is shown. Furthermore, a switching and comparing unit G450 having a special interrupt masking register G460 is shown.

好ましくは、各実施ユニットG410a、G410bは、パフォーマンスモードにおいて同時に2つのインターラプトを処理することができるようにするために、専用のインターラプトコントローラG420a、G420bを有している。これは特に、システムパフォーマンスにおいてインターラプト処理がボトルネックとなるようなシステムにおいて効果的である。その場合にインターラプト源G440aからG440nは、好ましくは2つのインターラプトコントローラG420a、G420bにそれぞれ等しく接続されている。この接続方法は、他の措置なしで2つの実施ユニットG410a、G410bにおいて同じインターラプトが作動されることをもたらす。パフォーマンスモードにおいては、インターラプトコントローラG420a、G420bは、該当するインターラプト源G440aからG440nがそれぞれ適用に応じて異なる実施ユニットG410a、G410bへ適切に分配されるように、プログラミングされる。これは、インターラプトマスキングレジスタG430a、G430bの適切なプログラミングによって行われる。マスキングレジスタは、各インターラプト源G440aからG440nのために、レジスタ内に1ビットを設けている。このビットがセットされている場合に、インターラプトは阻止され、従って接続されている実施ユニットG410a、G410bへは伝えられない。好ましくは、パフォーマンスモードにおいて、与えられているインターラプト源G440aからG440nが正確に1つの実施ユニットG410aまたはG410bによって処理される。好ましくは、これは、インターラプト源の少なくとも幾つかについて当てはまる。それによって、インターラプトネスティング(第1のインターラプト処理が第2のインターラプト処理によって中断される)またはインターラプトペンディング(第2の処理は、第1の処理が終了するまで、保留される)が行われることなしに、複数のインターラプト源G440aからG440nを同時に処理することができる。   Preferably, each execution unit G410a, G410b has a dedicated interrupt controller G420a, G420b in order to be able to process two interrupts simultaneously in the performance mode. This is particularly effective in a system in which interrupt processing becomes a bottleneck in system performance. In that case, the interrupt sources G440a to G440n are preferably connected equally to the two interrupt controllers G420a and G420b, respectively. This connection method results in the same interrupt being activated in the two execution units G410a, G410b without any other measures. In the performance mode, the interrupt controllers G420a and G420b are programmed so that the corresponding interrupt sources G440a to G440n are appropriately distributed to different execution units G410a and G410b depending on the application. This is done by appropriate programming of interrupt masking registers G430a, G430b. The masking register provides one bit in the register for each interrupt source G440a to G440n. When this bit is set, interrupts are blocked and are therefore not transmitted to the connected execution units G410a, G410b. Preferably, in the performance mode, a given interrupt source G440a to G440n is processed by exactly one implementation unit G410a or G410b. Preferably this is the case for at least some of the interrupt sources. Thereby, interrupt nesting (the first interrupt process is interrupted by the second interrupt process) or interrupt pending (the second process is suspended until the first process ends). Without being done, multiple interrupt sources G440a-G440n can be processed simultaneously.

比較モードにおいては、インターラプトコントローラG420a、G420bがすべての実施ユニットG410a、G410bにおいて同時に同一のインターラプトを作動させることが、保証されなければならず、そうでない場合には比較モードにおいて、それに応じてエラーが認識されてしまう。これは、パフォーマンスモードから比較モードへ切り替える際の同期化相において、インターラプトマスキングレジスタG430a、G430bが同一であることが保証されなければならないことを意味している。この同期化が、図9にステップG660に記載されている。この同期化は、2つのインターラプトマスキングレジスタG430a、G430bが然るべく同一の値でプログラミングされることにより、ソフトウェアを介して実施することができる。切替えプロセスを促進するために、特殊なレジスタG460を使用することが提案される。ある実施形態においては、このレジスタG460は切替え・比較ユニットG460内に配置されているが、切替え意図認識G40内、組み合わされた切替え意図認識内、比較器内、切替えユニットG80内およびすべての組み合わせ内に含めることもできる。同様に、このレジスタをこれら3つのコンポーネントの外部の他の適当な箇所に配置することも、考えられる。レジスタG460は、比較モードにおいて有効になる、インターラプトマスキングを有している。切替え・比較ユニットG450は、切替え意図認識G40から、パフォーマンスモードから比較モードへ切り替えるための信号を受け取る。ステップG600においてインターラプトを阻止することができた後に、インターラプトコントローラG420a、G420bのインターラプトマスキングレジスタG430a、G430bが再プログラミングされる。これは、切替え信号が得られ、かつインターラプトコントローラG420a、G420bが遮断された後に、ハードウェアを介して切替え・比較ユニットG450によって残りの同期化ステップに対して並列に実施される。好ましくはインターラプトマスキングレジスタG430a、G430bは比較モードにおいて個々に再プログラミングされるのではなく、常に中央のレジスタG460が再プログラミングされる。これが、その後ハードウェアを介して同期されて2つのインターラプトマスキングレジスタG430a、G430bへ伝達される。ここでインターラプトマスキングレジスタについて説明された方法は、同様に、インターラプトコントローラ内に配置されているすべてのインターラプトステータスレジスタへ移し替えることができる。もちろん、レジスタG460の代りに他のメモリ媒体を使用することも考えられ、そのメモリ媒体からできるだけ迅速にインターラプトマスキングレジスタG430a、G430bへ伝達することができる。   In the comparison mode, it must be ensured that the interrupt controllers G420a, G420b simultaneously activate the same interrupt in all implementation units G410a, G410b, otherwise in the comparison mode, accordingly. An error is recognized. This means that the interrupt masking registers G430a and G430b must be guaranteed to be the same in the synchronization phase when switching from the performance mode to the comparison mode. This synchronization is described in step G660 in FIG. This synchronization can be implemented via software by programming the two interrupt masking registers G430a, G430b with the same values accordingly. To facilitate the switching process, it is proposed to use a special register G460. In one embodiment, this register G460 is located in the switching and comparison unit G460, but in the switching intention recognition G40, in the combined switching intention recognition, in the comparator, in the switching unit G80 and in all combinations. Can also be included. Similarly, it is conceivable to place this register in any other suitable location outside these three components. Register G460 has interrupt masking that is enabled in compare mode. The switching / comparison unit G450 receives a signal for switching from the performance mode to the comparison mode from the switching intention recognition G40. After interrupts can be blocked in step G600, the interrupt masking registers G430a and G430b of the interrupt controllers G420a and G420b are reprogrammed. This is performed in parallel with the rest of the synchronization steps by the switching and comparison unit G450 via hardware after the switching signal is obtained and the interrupt controllers G420a, G420b are shut off. Preferably the interrupt masking registers G430a, G430b are not reprogrammed individually in the comparison mode, but the central register G460 is always reprogrammed. This is then synchronized via the hardware and transmitted to the two interrupt masking registers G430a and G430b. The method described here for the interrupt masking register can similarly be transferred to all interrupt status registers located in the interrupt controller. Of course, it is conceivable to use another memory medium instead of the register G460, and transmission from the memory medium to the interrupt masking registers G430a and G430b can be performed as quickly as possible.

図12には、2つの実施ユニットG1010a、G1010b、切替え・比較ユニットG1020および3つの異なるレジスタセットG1040a、G1040b、G1050を備えたインターラプトコントローラG1030を有するマルチプロセッサシステムG1000が示されている。上述した解決の代替案として、図12に示すような、特殊なインターラプトコントローラG1030が提案される。これは、2つの実施ユニットG1010a、G1010bと、比較モードとパフォーマンスモードとの間で切り替えることができる切替え・比較ユニットG1020を有する例で示されている、マルチプロセッサシステムG1000内で使用される。その場合にパフォーマンスモードにおいては、レジスタセットG1040a、G1040bが使用される。この場合において、インターラプトコントローラG1030が、2つのインターラプトコントローラG420a、G420bと全く同様に作動する。この行動が、図11に示され、かつ説明されている。その場合にレジスタセットG1040aは実施ユニットG1010aに対応づけられ、レジスタセットG1040bが実施ユニットG1010bに対応づけられている。インターラプト源G1060aからG1060nは、マスキングを介して実施ユニットG1010a、G1010bに適切に分配される。パフォーマンスモードから比較モードへ切り替える場合に、切替え・比較ユニットG1020は信号G1070を発生する。この信号がインターラプトコントローラG1030に、比較モードへ切り替えること、ないしはこの時点からシステムが比較モードで作動することを伝える。その後、インターラプトコントローラG1030は、レジスタセットG1050を使用する。それによって、2つの実施ユニットG1010a、G1010bにおいて同一のインターラプト信号が発生することが保証される。切替え・比較ユニットG1020が再び信号G1070を介してインターラプトコントローラG1030へ伝達する、比較モードからパフォーマンスモードへの切替えによって、再びレジスタセットG1040a、G1040bへ切り替えられる。好ましくはそれによって、パフォーマンスモードにおいてはレジスタセットG1040a、G1040bへの書込みのみが許されており、比較モードのために留保されているレジスタG1050への書込みはハードウェアを介して禁止されることによって、該当するレジスタセットの保護も達成することができる。同じことが他の方向についても可能であって、比較モードにおいてはレジスタセットG1050への書込みのみが許されており、レジスタセットG1040a、G1040bへの書込みは禁止される。   FIG. 12 shows a multiprocessor system G1000 having two execution units G1010a, G1010b, a switching and comparing unit G1020 and an interrupt controller G1030 with three different register sets G1040a, G1040b, G1050. As an alternative to the above-described solution, a special interrupt controller G1030 as shown in FIG. 12 is proposed. This is used in a multiprocessor system G1000, which is shown in the example with two implementation units G1010a, G1010b and a switching and comparing unit G1020 that can be switched between a comparison mode and a performance mode. In this case, in the performance mode, the register sets G1040a and G1040b are used. In this case, the interrupt controller G1030 operates in exactly the same manner as the two interrupt controllers G420a and G420b. This behavior is shown and described in FIG. In this case, the register set G1040a is associated with the execution unit G1010a, and the register set G1040b is associated with the execution unit G1010b. Interrupt sources G1060a to G1060n are appropriately distributed to execution units G1010a and G1010b via masking. When switching from the performance mode to the comparison mode, the switching / comparison unit G1020 generates a signal G1070. This signal tells interrupt controller G1030 to switch to comparison mode or that the system will operate in comparison mode from this point. Thereafter, the interrupt controller G1030 uses the register set G1050. This ensures that the same interrupt signal is generated in the two execution units G1010a, G1010b. By switching from the comparison mode to the performance mode, the switching / comparison unit G1020 transmits again to the interrupt controller G1030 via the signal G1070, the register sets G1040a and G1040b are switched again. Preferably, thereby, only writing to the register sets G1040a, G1040b is allowed in the performance mode, and writing to the register G1050 reserved for the comparison mode is prohibited through the hardware. The protection of the corresponding register set can also be achieved. The same is possible for the other directions, and in the comparison mode, only writing to the register set G1050 is allowed, and writing to the register sets G1040a and G1040b is prohibited.

図13には、比較器M500、G20の最も簡単な形式が示されている。パフォーマンスモードと比較モードの間の切替えを行う、少なくとも2つの実施ユニットG10a、G10bを備えたマルチプロセッサシステムG60内の主要なコンポーネントは、比較器M500である。その比較器の最も簡単な形式が、図13に示されている。比較器M500は、2つの入力信号M510とM511を受け取ることができる。比較器は、それらを同一性について、ここに示す文脈においては、好ましくはビット単位の同一性の意味において、比較する。同一である場合には、入力信号M510、M511の値が出力信号M520へ与えられ、エラー信号M530はアクティブではなく、すなわち「良好」状態が知らされる。比較器が非同一性を検出した場合には、エラー信号M530が能動化される。その場合に信号M520は、選択的に非能動化することができる。それが、エラーが該当するシステムから出て行かない("fault containment")、という利点を有している。すなわち、実施ユニットの外部にある他のコンポーネントは、潜在的にエラーのある信号によって損なわれない。しかし、信号M520を非能動化する必要のないシステムもある。これは、たとえば、システム平面上でフェイルサイレンス(Fail-silence)のみが要求される場合である。その場合に、エラー信号は、たとえば外部へ案内することができる。   FIG. 13 shows the simplest form of the comparators M500 and G20. The main component in the multiprocessor system G60 with at least two execution units G10a, G10b that switches between the performance mode and the comparison mode is a comparator M500. The simplest form of the comparator is shown in FIG. The comparator M500 can receive two input signals M510 and M511. The comparator compares them for identity, preferably in the sense of bitwise identity, in the context shown here. If they are the same, the values of the input signals M510, M511 are provided to the output signal M520, and the error signal M530 is not active, ie a “good” condition is signaled. If the comparator detects non-identity, error signal M530 is activated. In that case, signal M520 can be selectively deactivated. It has the advantage that the error does not leave the affected system ("fault containment"). That is, other components that are external to the enforcement unit are not compromised by potentially erroneous signals. However, there are systems that do not require the signal M520 to be deactivated. This is the case, for example, when only fail-silence is required on the system plane. In that case, the error signal can be guided outside, for example.

この基本システムに基づいて、多数の実施形態が考えられる。まず、コンポーネントM500を、いわゆるTSCコンポーネント(totally self checking)として形成することができる。この場合においてエラー信号M530は、少なくとも2本の導線("dual
rail")上で外部へ案内され、内部のデザインおよびエラー発見措置によって、比較コンポーネントの各可能なエラー場合においてこの信号が正しく、あるいは認識可能に正しくなく存在することが、保証される。その場合にデュアルレール信号は、2本の導線を介してバイナリ信号を、好ましくは2本の導線がエラーのない場合に互いに反転されているように、提供する。本発明に基づくシステムの利用における好ましい変形例は、この種のTSC比較器を使用することである。
それに対して実施形態の第2のクラスは、2つの入力M510、M511(ないしM610、M611)がどの程度の同期性を持たなければならないかについて、区別することができる。可能な実施形態は、クロック単位の同期性を特徴としており、すなわちデータの比較はクロックにおいて実施することができる。
Many embodiments are possible based on this basic system. First, the component M500 can be formed as a so-called TSC component (totally self checking). In this case, the error signal M530 has at least two conductors ("dual
rail "), and the internal design and error detection measures ensure that this signal is present correctly or recognizable incorrectly in each possible error case of the comparison component. The dual rail signal provides a binary signal via two conductors, preferably such that the two conductors are inverted with respect to each other in the absence of errors.Preferred variants in the use of the system according to the invention An example is the use of this type of TSC comparator.
On the other hand, the second class of the embodiment can distinguish how much synchrony the two inputs M510, M511 (or M610, M611) should have. A possible embodiment features clock-wise synchrony, i.e. data comparison can be performed in the clock.

簡単な変更は、入力間の位相オフセットが固定されている場合に、該当する信号をたとえば半整数または整数のクロック周期だけ遅延させる、同期した遅延素子が使用されることによって生じる。この種の位相オフセットは、コモンコーズエラー、すなわち複数の処理ユニットに同時かつ同種に影響を与えることのできるエラー原因を回避するために有用である。   A simple change is caused by the use of synchronized delay elements that delay the relevant signal, for example by a half or integer clock period, when the phase offset between the inputs is fixed. This type of phase offset is useful to avoid common cause errors, that is, error sources that can affect multiple processing units simultaneously and in the same manner.

従って図14は、他の実施形態を示している。コンポーネントと信号M600、M610、M611、M620、M630は、図13の該当するコンポーネントおよび信号M500、M510、M511、M520、M530と同一の意味を有している。従って図14においては、これらのコンポーネントの他に、時間的に早い入力を位相オフセットだけ遅延させる、コンポーネントM640が挿入されている。好ましくはこの遅延素子は、それを比較モードにおいてだけ使用するために、比較機内に収容されている。その代りに、あるいはそれに加えて、純粋なクロックオフセットまたは位相オフセットとしては現れない、この種の非同期性を同様に許容することができるようにするために、中間バッファM650、M651を入力チェーン内へ挿入することができる。好ましくはこれらの中間バッファは、FIFOメモリ(first-in, first-out)として設計される。この種のメモリは、入力と出力とを有し、複数のメモリワードを記憶することができる。入ってくるメモリワードは、新しいメモリワードが入ってきた場合にその位置をシフトされる。最後の位置(バッファの深さ)の後に、それが「メモリから」押し出される。この種のバッファが存在する場合には、バッファの最大の深さまで非同期性を許容することができる。この場合において、バッファがオーバーフローした場合にも、エラー信号が出力されなければならない。   FIG. 14 thus shows another embodiment. Components and signals M600, M610, M611, M620, and M630 have the same meaning as the corresponding components and signals M500, M510, M511, M520, and M530 in FIG. Accordingly, in FIG. 14, in addition to these components, a component M640 is inserted which delays the earlier input in time by the phase offset. Preferably, this delay element is housed in the comparator in order to use it only in the comparison mode. Alternatively, or in addition, intermediate buffers M650, M651 are introduced into the input chain to be able to tolerate this kind of asynchrony as well, which does not appear as a pure clock offset or phase offset. Can be inserted. Preferably these intermediate buffers are designed as FIFO memories (first-in, first-out). This type of memory has inputs and outputs and can store a plurality of memory words. An incoming memory word is shifted in position when a new memory word comes in. After the last position (buffer depth) it is pushed “out of memory”. If this kind of buffer exists, asynchrony can be allowed up to the maximum depth of the buffer. In this case, an error signal must also be output when the buffer overflows.

さらに、比較器の実施形態において、どのように信号M520(またはM620)が生成されるかに従って区別することができる。好ましい実施形態は、入力信号M510、M511(ないしM610、M611)を出力へ送り、接続をスイッチによって中断可能に形成することである。この実施形態の特別な利点は、パフォーマンスモードと可能な種々の比較モードとの間を切り替えるために、同一のスイッチを使用できることである。代替的に、信号を比較器内部の中間メモリから生成することもできる。   Further, in the comparator embodiment, a distinction can be made according to how the signal M520 (or M620) is generated. The preferred embodiment is to send the input signals M510, M511 (or M610, M611) to the output and make the connection interruptible by a switch. A special advantage of this embodiment is that the same switch can be used to switch between the performance mode and the various possible comparison modes. Alternatively, the signal can be generated from an intermediate memory inside the comparator.

実施形態の最後のクラスは、比較器に幾つの入力が存在しているか、および比較器がどのように反応すべきか、に従って区別することができる。入力が3つの場合には、多数決、3つの信号すべての比較あるいは2つの信号のみの比較を行うことができる。入力が4つまたはそれより多い場合には、それに応じた数の実施形態が考えられる。可能な実施形態の詳細な説明は、図20の説明に含まれている。   The last class of embodiments can be distinguished according to how many inputs are present in the comparator and how the comparator should react. If there are three inputs, a majority vote, comparison of all three signals, or comparison of only two signals can be performed. If there are four or more inputs, a corresponding number of embodiments are possible. A detailed description of possible embodiments is included in the description of FIG.

実施形態の正確な選択は、好ましくはシステム全体の種々の駆動モードと結合される。すなわち、複数の異なるパフォーマンスモードまたは比較モードが存在する場合に、これらが好ましくは比較器の該当するモードと結合される。   The exact choice of embodiment is preferably combined with various drive modes of the entire system. That is, if there are multiple different performance modes or comparison modes, these are preferably combined with the corresponding mode of the comparator.

本発明の幾つかの箇所において、比較器またはより一般的な評価/処理/分類素子を非作動あるいはパッシブにすることが必要であり、あるいは好ましい(以下においては簡単にするために、常に比較器と称する)。そのために多数の可能性がある。1つには、比較器に、比較器を能動化し、あるいは非能動化する信号を案内することができる。そのために比較器内に、それを実施することができる、付加的な論理が挿入される。第2の可能性は、比較器に比較すべきデータを供給しないことである。第3の可能性は、システム平面上で比較器のエラー信号を無視することである。さらに、エラー信号自体を遮断することもできる。すべての可能性に共通なのは、潜在的に比較される2つまたはそれより多いデータが異なっていることが、システム内で役割を果たさないことである。そうなった場合に、比較器はパッシブであり、あるいは非能動化されたとみなされる。   In some places of the invention, it is necessary or preferred that the comparator or more general evaluation / processing / classification element be deactivated or passive (in the following, for simplicity, the comparator is always Called). There are many possibilities for this. For one, the comparator can be guided with a signal that activates or deactivates the comparator. To that end, additional logic is inserted in the comparator that can implement it. A second possibility is not to supply data to be compared to the comparator. A third possibility is to ignore the error signal of the comparator on the system plane. Further, the error signal itself can be blocked. Common to all possibilities is that the difference between two or more potentially compared data does not play a role in the system. If so, the comparator is considered passive or deactivated.

以下において、比較器と組み合わされた切替え器、従って切替え・比較ユニットG70の実装を考察する。この実装は、それが実施ユニットG10a、G10bと共にチップ内部で実施される場合に、特に効果的である。   In the following, an implementation of a switching device combined with a comparator and thus a switching and comparing unit G70 will be considered. This implementation is particularly effective when it is implemented inside the chip together with the implementation units G10a, G10b.

コンポーネントである比較器と切替え器をまとめることによって、チップ内部に実装する場合に極めて小さいハードウェアオーバーヘッドしか生じない。従って実装の好ましい変形例は、これら2つのコンポーネントを1つのコンポーネントにまとめることである。これは、少なくとも入力信号(出力実施ユニット1、出力実施ユニット2)、少なくとも出力信号(出力1、出力2)、論理出力信号「出力全体」(物理的に出力1または出力2と一致することができる)および比較器を有するコンポーネントである。このコンポーネントは、モードを切り替え、パフォーマンスモードにおいてすべての信号を通過させ、比較モードにおいては複数の信号を比較し、場合によっては通過させる能力を有している。付加的に、さらに他の入力および出力信号も効果的である:検出されたエラーを知らせるためのエラー信号、このコンポーネントが存在するモードを知らせるためのモード信号、およびコンポーネントから、あるいはコンポーネントへの制御信号。   By combining the comparator and the switch, which are components, only a very small hardware overhead occurs when mounted inside the chip. A preferred variant of implementation is therefore to combine these two components into one component. This is at least an input signal (output execution unit 1, output execution unit 2), at least an output signal (output 1, output 2), and a logical output signal “whole output” (physically corresponding to output 1 or output 2). And a component having a comparator. This component has the ability to switch modes, pass all signals in performance mode, compare multiple signals in compare mode, and possibly pass. In addition, other input and output signals are also effective: an error signal to signal a detected error, a mode signal to signal the mode this component is in, and control from or to the component signal.

好ましい実施例において、パフォーマンスモードにおいて2つまたはそれより多い実施ユニットがマスターとしてプロセッサ内部のバスに接続されている。比較ユニットは非作動にされており、あるいはまた、考えられる比較モードの1つにおいて実施ユニットの行動が異なっている場合に発生するエラー信号がマスキングされている。これは、切替え・比較ユニットがソフトウェアにとって透明であることを意味している。考えられる比較モードにおいて、比較すべき物理的な実施ユニットは論理的な実施ユニットとしてバスで処理され、すなわちマスターのみがバスに現れる。比較器のエラー信号は、能動化されている。そのために切替え・比較ユニットは、1つの実施ユニットを除いてすべての実施ユニットをスイッチを介してプロセッサ内部のバスから分離し、1つの論理的実施ユニットの入力を複製し、それを比較モードに関与するすべての実施ユニットに提供する。バスへ書き込む場合には、出力が比較ユニット内で比較されて、等しい場合にこのデータが存在しているアクセスを介してバスへ書き込まれる。   In the preferred embodiment, in performance mode, two or more execution units are connected as masters to a bus within the processor. The comparison unit is deactivated, or alternatively, the error signal that occurs when the behavior of the performing unit is different in one of the possible comparison modes is masked. This means that the switching and comparing unit is transparent to the software. In a possible comparison mode, the physical execution unit to be compared is processed on the bus as a logical execution unit, ie only the master appears on the bus. The error signal of the comparator is activated. For this purpose, the switching / comparison unit separates all execution units except for one execution unit from the bus inside the processor via a switch, duplicates the input of one logical execution unit and participates in the comparison mode. To all implementation units. When writing to the bus, the outputs are compared in the comparison unit and if equal, this data is written to the bus via the existing access.

図15と図16には、好ましいコンポーネントM700(切替え・比較ユニットG70に相当)の原理的な行動が記載されている。簡単にするために、この図は、2つの実施ユニットについてだけ示されている。その場合に図15はコンポーネントのステータスを比較モードにおいて、図16はパフォーマンスモードにおいて示している。これらのモードにおける種々のスイッチ位置が、M700によって駆動M760により実現される。2つの実施ユニットM730、M731は、まず、パフォーマンスモードにおいて、図16に示すように、スイッチM750、M751が閉成されている場合に、データおよびアドレスバスM710へ書き込むことができる。万一、書込み競合が起きた場合は、バスプロトコルを介して、あるいは他の記入されていないコンポーネントによって解決されることが、前提である。比較モードにおいては、少なくとも論理的な視点から、行動が異なる。図15に示すように、その場合にスイッチM750、M751は開放されており、従って直接のアクセス可能性は遮断されている。図16とは異なり、その場合に図15においては、もちろんスイッチM752、M753は閉成されている。実施ユニットM730、M731の信号M740、M741が、比較コンポーネントM720へ案内される。この比較コンポーネントは、少なくとも図13に示すように構成されているが、図14に示すような拡張を有することもできる。しかし、図15と図16においては、比較コンポーネントM720のエラー信号または他の信号の表示は省かれている。2つの信号が一致する場合には、スイッチM754が閉成され、その場合に2つの一致した信号の1つがアドレス/データバスM710へ伝えられる。そのためには、全体として、切替え・比較ユニットM700がスイッチM750−M754を調節できることが必要である。それぞれのスイッチ位置は、モードに依存し、かつエラー認識に依存する。スイッチM754が常に閉成されており、エラー信号によって適切なシステムリアクションが生成される変形例も、これをもってカバーされる。   FIGS. 15 and 16 describe the principle behavior of the preferred component M700 (corresponding to the switching / comparison unit G70). For simplicity, this figure is shown for only two implementation units. In this case, FIG. 15 shows the component status in the comparison mode, and FIG. 16 shows the performance mode. Various switch positions in these modes are realized by the drive M760 by the M700. The two execution units M730 and M731 can first write to the data and address bus M710 in the performance mode when the switches M750 and M751 are closed as shown in FIG. In the unlikely event that a write conflict occurs, it is assumed that it will be resolved via the bus protocol or by other unfilled components. In the comparison mode, the behavior is different from at least a logical viewpoint. As shown in FIG. 15, in that case, the switches M750 and M751 are opened, and thus the direct accessibility is blocked. Unlike FIG. 16, in that case, in FIG. 15, the switches M752 and M753 are of course closed. The signals M740, M741 of the execution units M730, M731 are guided to the comparison component M720. The comparison component is configured at least as shown in FIG. 13, but may have an extension as shown in FIG. However, in FIGS. 15 and 16, the display of the error signal or other signal of the comparison component M720 is omitted. If the two signals match, switch M754 is closed, in which case one of the two matched signals is passed to address / data bus M710. To that end, it is necessary that the switching / comparison unit M700 can adjust the switches M750-M754 as a whole. Each switch position depends on the mode and on error recognition. A modification in which the switch M754 is always closed and an appropriate system reaction is generated by the error signal is also covered with this.

図17には、切替え・比較ユニットの変形例が図示されている。2つだけの実施ユニットG10a、G10bを有する単純なシステムについてもすでに、切替え・比較ユニットの実装の多数の変形例が存在する。比較器内でバッファが使用されない場合に特に好ましい他の変形例が、図17に示されている。図15、図16におけるものと同様に、実施ユニットの信号M840、M841がある。実施ユニットは、この図には示されていない。本発明に基づくコンポーネントM800内には、コンポーネントのモードを設定するモード論理M810が設けられている。パフォーマンスモードにおいてモード論理がスイッチM831を閉成し、比較モードにおいてはそれを開放する。さらに、モード論理はモード信号を比較器M820へ与える。この比較器は、この実装において常に比較するが、スイッチM830を駆動するために、比較の結果とモード信号とを利用する。パフォーマンスモードにおいては、スイッチは常に閉成されているが、比較モードにおいては、エラーが存在しない場合に常に閉成されている。もちろん、一度エラーが検出された場合に、該当するリセットが来るまで、スイッチをさらに開放したままにすることができる。   FIG. 17 shows a modification of the switching / comparison unit. Already for a simple system with only two implementation units G10a, G10b, there are already numerous variants of the implementation of the switching and comparison unit. Another variation which is particularly preferred when no buffer is used in the comparator is shown in FIG. Similar to those in FIGS. 15 and 16, there are signals M840 and M841 of the execution unit. The implementation unit is not shown in this figure. In the component M800 according to the present invention, a mode logic M810 for setting the mode of the component is provided. Mode logic closes switch M831 in performance mode and opens it in comparison mode. In addition, the mode logic provides a mode signal to the comparator M820. This comparator always compares in this implementation, but uses the result of the comparison and the mode signal to drive switch M830. In the performance mode, the switch is always closed, but in the comparison mode, it is always closed when there is no error. Of course, once an error is detected, the switch can be left open until the appropriate reset is received.

図18には、切替え・比較ユニットの他の実施形態が示されている。この代替案は、より多くのスイッチを使用するが、その代わりにパフォーマンスモードにおいては比較器をインアクティブにし、従ってより簡単に非同期を扱うことができる。ここでも実施ユニットの2つの信号M940、M941がある。実施ユニットは、この例においても示されていない。本発明に基づくコンポーネントM900内には、コンポーネントのモードを設定するモード論理M910が設けられている。モード論理は、パフォーマンスモードにおいてスイッチM931を閉成し、スイッチM932、M933を開放する。それによってこのモードにおいては比較コンポーネントM920にデータが供給されない。これが、非同期の場合に比較的長いバッファ時間を許し、ないし実装においてより小さいバッファ深さを許す。パフォーマンスモードにおいて、スイッチM930は常に閉成されている。比較モードにおいて、コンポーネントM910がスイッチM932、M933を閉成し、スイッチM931の開放によりバスへの直接的なアクセスを遮断する。選択的に、モード論理M910が比較器M920にさらにモードを伝えることができる。比較モードにおいて、エラーがない場合にはスイッチM930は閉成されている。エラーの場合には、比較コンポーネントM920がスイッチM930の開放によってバスへの信号M940の伝達を遮断する。   FIG. 18 shows another embodiment of the switching / comparison unit. This alternative uses more switches, but instead inactivates the comparator in performance mode, thus making it easier to handle asynchronous. Again, there are two signals M940, M941 of the implementation unit. The implementation unit is not shown in this example either. In the component M900 according to the present invention, a mode logic M910 for setting the mode of the component is provided. The mode logic closes the switch M931 and opens the switches M932 and M933 in the performance mode. Thereby, no data is supplied to the comparison component M920 in this mode. This allows a relatively long buffer time when asynchronous or a smaller buffer depth in the implementation. In the performance mode, the switch M930 is always closed. In the comparison mode, the component M910 closes the switches M932 and M933, and the direct access to the bus is blocked by opening the switch M931. Optionally, mode logic M910 can further communicate modes to comparator M920. In the comparison mode, when there is no error, the switch M930 is closed. In the case of an error, the comparison component M920 blocks the transmission of the signal M940 to the bus by opening the switch M930.

上述した図面においては、モードまたはエラー信号を外部へ案内することが、容易に可能である。さらに、特に内部のモード状態を生成するために、他の信号をコンポーネントへ導くことが、問題なく可能である。   In the above-described drawings, it is possible to easily guide the mode or error signal to the outside. Furthermore, it is possible without problems to direct other signals to the component, in particular to generate an internal mode state.

従って要約すると、これらのコンポーネントの好ましい実装は、出力信号をバス(たとえばアドレス/データバス)へ書き込むことができる、複数の処理ユニットが存在することによっても特徴づけられる。重要なことは、コンポーネントが処理ユニットの出力信号の少なくとも2つを処理することができ(たとえば比較し、あるいは場合によっては評価または分類する)、かつコンポーネントが、直接的なバスアクセスの少なくとも1つを遮断する、少なくとも1つのスイッチを調節することができることである。これは、実施ユニットが計算機コアである場合に、特に有用である。さらに、調節可能なスイッチの状態が、計算ユニットの駆動モードを特徴づけると、効果的である。   In summary, therefore, the preferred implementation of these components is also characterized by the presence of multiple processing units that can write output signals to a bus (eg, address / data bus). Importantly, the component is capable of processing at least two of the output signals of the processing unit (eg, comparing or possibly evaluating or classifying) and the component is at least one of the direct bus accesses It is possible to adjust at least one switch to shut off. This is particularly useful when the implementation unit is a computer core. Furthermore, it is advantageous if the state of the adjustable switch characterizes the driving mode of the computing unit.

システム特性、特に可能な比較モードは、コンポーネントが信号をアドレス−データバスへ印加することができる場合に、特に良好に変換される。好ましくは、これは実施ユニットの1つのものの出力信号の1つを通過接続することである。代替的に、これは、種々の実施ユニットの種々の出力信号の処理から生じることも可能である。   System characteristics, particularly possible comparison modes, are particularly well translated when the component can apply signals to the address-data bus. Preferably this is to pass through one of the output signals of one of the implementation units. Alternatively, this can result from the processing of different output signals of different implementation units.

例えば、既に図17、図18についての説明で明らかにされたように、システム内で、かつ−それぞれコンポーネントへの分割に応じて−コンポーネントのいずれかにおいて、モード情報を識別することができる。このモード情報は、それぞれ実装に従って、部分コンポーネント内に明確に存在することができる。好ましい実装において、この信号をコンポーネントから導出して、システムの他の部分へ提供することもできる。   For example, mode information can be identified either in the system and in each of the components--depending on the division into components--as already revealed in the description of FIGS. This mode information can be clearly present in the subcomponent according to each implementation. In a preferred implementation, this signal can also be derived from the component and provided to other parts of the system.

一般的な場合において、本発明に基づく行動を、図21において説明する。信号およびコンポーネントN100、N110、N120、N130、N140、N141、N142、N143、N14n、N160、N161、N162、N163、N16nは、図20におけるものと同一の意味を有している。さらにこの図には、モード信号N150とエラー信号N170が記入されている。選択的なエラー信号は、エラー信号を収集するエラー回路論理N130によって生成されて、個別エラー信号を直接伝えるか、あるいはその中に含まれるエラー情報を束ねる。モード信号M150は選択的であって、これらのコンポーネントの外部でそれを使用することは、多くの箇所で効果的である。切替え論理N110(すなわち図20の説明に記載された機能)と処理論理(すなわち出力信号当たり、すなわち機能値当たりの比較操作の決定)の情報の組み合わせがモード情報であって、それがモードを定める。この情報は、一般的な場合において、もちろん多値であり、すなわち1つの論理ビットを介しては表示できない。すべての論理的に考えられるモードが、与えられた実装において重要ではなく、好ましくは許されるモードの数を制限することができる。その場合にモード信号は、重要なモード情報を外部へもたらす。HW実装は、好ましくは、外部の可視のモード信号が構成できるように、表される。好ましくは同様に、処理論理と切替え論理も構成可能に形成することができる。好ましくはこれらのコンフィグレーションが互いに調整されている。代替的に、モード信号の変化のみを、あるいは付加的に、外部へ与えることもできる。これは特に、ダブルコンフィグレーションにおいて効果的である。   In the general case, the behavior according to the invention is illustrated in FIG. Signals and components N100, N110, N120, N130, N140, N141, N142, N143, N14n, N160, N161, N162, N163, and N16n have the same meaning as in FIG. Further, in this figure, a mode signal N150 and an error signal N170 are entered. The selective error signal is generated by error circuit logic N130 that collects the error signal and either communicates the individual error signal directly or bundles the error information contained therein. Mode signal M150 is optional and its use outside these components is effective in many places. A combination of information of the switching logic N110 (that is, the function described in the description of FIG. 20) and the processing logic (that is, determination of the comparison operation per output signal, that is, per function value) is mode information, which defines the mode. . This information is of course multi-valued in the general case, i.e. cannot be displayed via one logical bit. All logically considered modes are not important in a given implementation and can preferably limit the number of modes allowed. In that case, the mode signal brings important mode information to the outside. The HW implementation is preferably represented so that an external visible mode signal can be configured. Preferably, similarly, the processing logic and switching logic can also be configured. Preferably these configurations are coordinated with each other. Alternatively, only the change of the mode signal can be applied to the outside. This is particularly effective in double configuration.

好ましくは、このモード信号は安全確保される。たとえば、図17に示す実装に基づく、ダブルシステム内の実装が、図19に示されている。そこでは、信号M850が切替え・比較ユニットから導出される。この情報は、ダブルシステム内で、論理的に1ビットを介して表示可能である。その場合に安全確保は、好ましくはデュアルレール信号を介して表すことができる。同様に、一般的な場合において信号を、選択的に反転される二重化を介して安全確保することができる。代替的にパリティを生成することができ、それは好ましくは内部で固有安全に生成され、あるいはCRC(cyclic redundancy check)またはECC(error correcting code)を使用することができる。   Preferably, this mode signal is secured. For example, an implementation in a double system based on the implementation shown in FIG. 17 is shown in FIG. There, a signal M850 is derived from the switching and comparison unit. This information can be logically displayed via one bit in the double system. In that case, the safety assurance can preferably be expressed via a dual rail signal. Similarly, in the general case, the signal can be secured through duplexing that is selectively inverted. Alternatively, parity can be generated, which is preferably generated internally and securely or can use cyclic redundancy check (CRC) or error correcting code (ECC).

モード信号は、コンポーネントの外部で使用することもできる。まず、それを駆動システムの固有監視に使用することができる。これは、SWの視点から切替えに責任を持ち、常に、システムがどのモードにあるかを常に認識し、かつシステムをこのモードへ移行もさせる。従ってこの信号の検査を、安全確保のために使用することができる。これは、まず、直接行われる。しかし、代替的な可能性は、タイマーまたは他の「独立した」ユニットを介して、駆動システムにおける照会をこの信号によって蓋然化することである。   The mode signal can also be used outside the component. First, it can be used for inherent monitoring of the drive system. This is responsible for switching from the SW point of view and always recognizes which mode the system is in and also causes the system to transition to this mode. Therefore, this signal inspection can be used to ensure safety. This is first done directly. However, an alternative possibility is to validate the inquiry in the drive system with this signal via a timer or other “independent” unit.

一般的に、この信号は、選択的に、μC(あるいはより一般的な計算ユニット)の他のデータシンク内で使用することができる。たとえば、MPU(memory protection unit)を、所定のモードにおいてだけ所定のメモリアクセス(所定の実施ユニットからの)を許すようにプログラミングすることができる。その場合にMPUは、たとえば所定のプログラム部分について所定のアドレス空間へのアクセスを禁止することによって、データ/アドレスバスへの許されたアクセスのみが実施されることを保証することができるユニットである。MPUにモード信号を供給し、このMPUを然るべく構成かつプログラミングし、このコンフィグレーションデータおよびモード信号を評価することによって、付加的な安全確保を行うことができる。場合によってはそれが、モード信号がすでにチェックするための十分な情報である場合に、プログラミングを簡略化する。その場合には、μCの初期化時間のための準静的なプログラミングで十分である。同様なことが、周辺ユニットについても当てはまる。ここでも、所定のモードにおいてだけ該当する周辺ユニットへのアクセスが許されるアプリケーションがある。周辺素子にモード信号を供給し、周辺素子を然るべく構成かつプログラミングし、このコンフィグレーションデータとモード信号を評価することによって、付加的な安全確保を行うことができる。場合によっては、それが、モード信号がすでにチェックのための十分な情報である場合に、プログラミングを簡略化する。その場合には、μCの初期化時間のための準静的なプログラミングで十分である。同様に、この信号の評価を、インターラプトコントローラにおいて利用することもできる。その場合にこの種の監視は、安全コンセプトの基本または重要な構成部分を形成する。適切な実施形態とSW構造化によって、考察されるアプリケーションにおけるすべてのエラークラスについて安全コンセプトをこのモード信号上に構築することが可能である。これは特に、モード信号が適切な形式で、たとえば上述したように、自己安全である場合に、効果的である。この場合においては、考察されるコンポーネントが、モード信号と自らへのアクセスとの間の不一致を検出した場合に、エラー信号を送信し、あるいは遮断パスを操作する能力を有している場合に、さらに効果的である。   In general, this signal can optionally be used in other data sinks of the μC (or more general computing unit). For example, a memory protection unit (MPU) can be programmed to allow a given memory access (from a given enforcement unit) only in a given mode. In this case, the MPU is a unit that can ensure that only permitted access to the data / address bus is performed, for example, by prohibiting access to a predetermined address space for a predetermined program portion. . Additional safety can be ensured by supplying a mode signal to the MPU, configuring and programming the MPU accordingly, and evaluating the configuration data and mode signal. In some cases it simplifies programming if the mode signal is already enough information to check. In that case, quasi-static programming for μC initialization time is sufficient. The same is true for peripheral units. Again, there are applications that allow access to the relevant peripheral units only in a predetermined mode. Additional safety can be ensured by supplying mode signals to the peripheral elements, configuring and programming the peripheral elements accordingly, and evaluating the configuration data and mode signals. In some cases, it simplifies programming when the mode signal is already sufficient information for checking. In that case, quasi-static programming for μC initialization time is sufficient. Similarly, the evaluation of this signal can be utilized in an interrupt controller. This kind of monitoring then forms the basic or important component of the safety concept. With appropriate embodiments and SW structuring, it is possible to build a safety concept on this mode signal for all error classes in the considered application. This is particularly effective when the mode signal is in a proper format, for example as described above, self-safe. In this case, if the component under consideration detects the discrepancy between the mode signal and access to itself, it has the ability to send an error signal or manipulate the blocking path, It is even more effective.

他の主要な使用目的は、計算ユニットの外部でモード信号を評価することである。直接的な適用は、デクリメントするウォッチドッグにおける評価である。この種の「ウォッチドッグ」は、少なくとも1つの(カウンタ)レジスタからなり、それをマイクロプロセッサによって整数値にセットすることができる。このレジスタのセット後に、「ウォッチドッグ」はレジスタの値を自立的に固定の周期でデクリメントする。レジスタの値がゼロになり、あるいはオーバーフローが生じた場合に、「ウォッチドッグ」がエラー信号を生成する。エラー信号が生成されないようにする場合には、マイクロプロセッサがレジスタの値を正しい時期に再びリセットしなければならない。それによって(限界内で)、マイクロプロセッサがソフトウェアを正しく実施しているか、を検査することができる。マイクロプロセッサがソフトウェアをもはや正しく実施しない場合には、この場合において「ウォッチドッグ」ももはや正しく操作されず、従って「ウォッチドッグ」からエラー信号が生成された、と見なされる。ハードウェアとデータ構造の完全性は、比較モードにおいて確実に認識することができるが、そのためには、マイクロプロセッサが規則的に再びこの比較モードへ戻されることが保証されなければならない。従って、ここに記載された「ウォッチドッグ」の課題は、定められた期間内にもはやリセットされなかった場合にだけでなく、マイクロプロセッサが定められた期間内にもはや定められた比較モードへ戻されない場合にも、エラー信号を発生させることである。たとえば、「ウォッチドッグ」は、モード信号が計算ユニットの定められた比較モードを表示した場合にのみ、リセットすることができる。それによって、計算ユニットが規則的にこのモードへ戻されることが保証される。その代りに、あるいはそれに加えて、「ウォッチドッグ」のレジスタ内の値は、マイクロプロセッサにおいて所定のインターラプト信号が作動された場合に初めて、デクリメントされる。そのためには、μCの外部のインターラプト信号がウォッチドッグにも結合されなければならない。ウォッチドッグ内には、どのインターラプトがμCを定められた比較モードへ切り替えたかが記憶されている。ウォッチドッグは、この種のインターラプトが来るとすぐに、「引き上げられ」て、正しいモード信号の存在によってリセットされる。   Another primary use is to evaluate the mode signal outside the calculation unit. Direct application is evaluation in a decrementing watchdog. This type of “watchdog” consists of at least one (counter) register, which can be set to an integer value by the microprocessor. After this register is set, the “watchdog” decrements the register value autonomously at a fixed period. A “watchdog” generates an error signal when the register value goes to zero or overflow occurs. If an error signal is not generated, the microprocessor must reset the register value again at the correct time. Thereby (within limits) it is possible to check that the microprocessor is executing the software correctly. If the microprocessor no longer implements the software correctly, in this case it is assumed that the “watchdog” is no longer correctly operated and therefore an error signal has been generated from the “watchdog”. The integrity of the hardware and data structure can be reliably recognized in the comparison mode, but for that purpose it must be ensured that the microprocessor is regularly returned to this comparison mode again. Thus, the "watchdog" problem described here is no longer reverted to a defined comparison mode within a defined period of time, not only when it is no longer reset within a defined period. In some cases, an error signal is generated. For example, the “watchdog” can only be reset if the mode signal indicates a defined comparison mode of the computing unit. Thereby it is guaranteed that the computing unit is regularly returned to this mode. Instead, or in addition, the value in the “watchdog” register is decremented only when a predetermined interrupt signal is activated in the microprocessor. For this purpose, an interrupt signal external to the μC must also be coupled to the watchdog. In the watch dog, which interrupt has switched μC to the predetermined comparison mode is stored. As soon as this type of interrupt comes, the watchdog is “pulled up” and reset by the presence of the correct mode signal.

極めて一般的に、特に安全コンセプトへ適用する場合に、モード信号をμC外部のソース内で評価することが、有用である。本発明に記載されているような、計算機上でソフトウェアの正しい遂行を安全確保することにおける重要な点は、種々の許されるモード間の正しい交替である。まず、交替能力自体が検査されなければならず、好ましくはさらに正しい交替も検査される。上述したように、特殊なモードが規則的にとられるかどうかに注目することもできる。この種の方法は、モード信号自体が自己安全に形成されている場合に、特に効果的である。
1つの可能性は、モード信号をASICあるいは他のμCへ導くことである。これはタイマーと簡単な論理を介してこの信号を使用しながら少なくとも以下の点を検査することができる:
Very generally, it is useful to evaluate the mode signal in a source external to the μC, especially when applied to safety concepts. An important point in ensuring the correct execution of software on a computer, as described in the present invention, is the correct alternation between the various allowed modes. First, the alternation ability itself must be inspected, and preferably the correct alternation is also inspected. As mentioned above, it can also be noted whether a special mode is taken regularly. This type of method is particularly effective when the mode signal itself is formed in a self-safe manner.
One possibility is to direct the mode signal to an ASIC or other μC. It can test at least the following points using this signal via a timer and simple logic:

・計算ユニットが十分頻繁に(たとえば遅くとも1000μs毎に)1つまたは複数の定められたモードに来るか?
・あるモードへ変化する場合に、常に所定の信号が出力されるか?
・計算ユニットが規則的にモードから出るか?
・モードの順序の所定の単純なパターンが有効か?
・一般的な時間的パターンが有効か(たとえば平均でモード1内に<70%およびモード2内に<50%)。
・場合によっては付加的な信号の使用により補足された、モード信号の論理的、時間的特性の何らかの組み合わせ。
Does the compute unit come to one or more defined modes frequently enough (eg every 1000 μs at the latest)?
• Is the predetermined signal always output when changing to a certain mode?
・ Does the calculation unit leave the mode regularly?
• Is a given simple pattern of mode order valid?
Is the general temporal pattern valid (eg <70% in mode 1 and <50% in mode 2 on average)
Any combination of logical and temporal characteristics of the mode signal, possibly supplemented by the use of additional signals.

その場合に、図22に、さらに進んだ提案のための基礎構成が記載されている。この種のパートナーASICまたはμCと、本発明を使用する、考察される計算ユニットとの間で、特殊な質問−応答−プレイが実施される。N300は、この種のモード信号を送信することができる計算ユニットである。これはたとえば、複数の実施ユニットと、このモード信号を生成することのできる他のコンポーネントとを有するμCであることができる。たとえば、この他のコンポーネントは、図19〜図21に示すように実現することができる。N300は、この信号N310をパートナー(たとえば他の計算ユニット、他のμCまたはASIC)N330へ与える。このパートナーは、信号N320を介してN300へ質問をし、N300はN321を介してそれに応答しなければならない。この種の質問は、計算課題であることができ、その正しい結果が定められたタイムインターバル内でN300からN321を介して供給される。N330は、N300から独立して、この結果の正しさを検査することができる。たとえば、結果がN330内に記憶され、あるいはN330がそれを自ら十分に計算して解くことができる。正しくない値が検出された場合には、エラーが認識される。提案された質問−応答通信の特殊性は、応答に対して並列にモード信号が観察されることである。質問はN330による応答のために、これが所定のモードをとらなければならないように、設定される。それによって、すべてのモード交替が機能し得ること、およびプログラムシーケンス内に設けられているモード交替も実施されることを、確実に検査することができる。これは、特にシステムの初期化においても、また駆動中においても、安全コンセプトの重要なモジュールとして用いることができる。   In that case, FIG. 22 describes a basic configuration for a further advanced proposal. A special question-response-play is performed between this type of partner ASIC or μC and the considered calculation unit using the present invention. N300 is a calculation unit capable of transmitting this kind of mode signal. This can be, for example, a μC with multiple implementation units and other components that can generate this mode signal. For example, this other component can be implemented as shown in FIGS. N300 provides this signal N310 to a partner (eg, other computing unit, other μC or ASIC) N330. This partner will ask N300 via signal N320 and N300 must respond to it via N321. This type of question can be a computational task and its correct result is fed from N300 through N321 within a defined time interval. N330 can check the correctness of this result independent of N300. For example, the result can be stored in N330 or it can be calculated and solved by N330 itself. If an incorrect value is detected, an error is recognized. The particularity of the proposed question-response communication is that the mode signal is observed in parallel with the response. The query is set so that it must take a predetermined mode for the response by N330. Thereby, it can be reliably checked that all the mode changes can work and that the mode change provided in the program sequence is also implemented. This can be used as an important module of the safety concept, especially during system initialization and during operation.

このアイデアの他の適用は、アクター駆動においてモード信号を評価することである。自動車領域内の多くの適用において、今日では、いわゆるインテリジェントアクターへの傾向がある。これは、アクター操作コマンドを受信して、この操作コマンドが実施されるようにアクターを駆動するのに十分な、最小限のエレクトロニクス範囲を有するアクターである。   Another application of this idea is to evaluate the mode signal in actor drive. In many applications within the automotive domain today there is a trend towards so-called intelligent actors. This is the actor with the minimum electronics range that is sufficient to receive an actor operation command and drive the actor to be executed.

基本アイデアが図23に示されている。本発明を使用する計算ユニットN400が、(インテリジェントな)アクターまたはアクター駆動N430へ接続N420を介して操作コマンドを与える。計算ユニットは、並行して接続N410を介してこのアクターにモード信号を与える。アクターN430はモード信号を用いて、駆動が許されているかどうかを検査して、選択的に信号N440を介してエラーステータスを返す。駆動にエラーがある場合には、アクターはシステム内でアンクリティカルなフェイルサイレンス状態をとる。   The basic idea is shown in FIG. A computing unit N400 using the present invention provides operational commands via connection N420 to an (intelligent) actor or actor drive N430. The computing unit provides a mode signal to this actor in parallel via connection N410. Actor N430 uses the mode signal to check if driving is allowed and optionally returns an error status via signal N440. If there is an error in the drive, the actor takes an uncritical fail silence state in the system.

2つの実施ユニットG10a、G10b、比較ユニットG20、切替えユニットG50および切替え意図を認識するユニットG40を有するマルチプロセッサシステムG60が示されている。A multiprocessor system G60 is shown having two implementation units G10a, G10b, a comparison unit G20, a switching unit G50 and a unit G40 that recognizes the switching intent. 2つの実施ユニットG10a、G10b、比較ユニットG20と切替えユニットG50からなる、組み合わされた比較および切替えユニットG70および切替え意図を認識するユニットG40を有するマルチプロセッサシステムG60が示されている。Shown is a multiprocessor system G60 having two execution units G10a, G10b, a comparison unit G20 and a switching unit G50, and a combined comparison and switching unit G70 and a unit G40 for recognizing switching intent. 2つの実施ユニットG10a、G10b、比較ユニットG20と切替えユニットG50および切替え意図を認識するユニットG40からなる、組み合わされた切替え意図認識、比較および切替えユニットG80を有するマルチプロセッサシステムG60が示されている。Shown is a multiprocessor system G60 having a combined switching intention recognition, comparison and switching unit G80 consisting of two implementation units G10a, G10b, a comparison unit G20 and a switching unit G50 and a unit G40 which recognizes the switching intention. 2つの実施ユニットG210a、G210b、切替え・比較ユニットG260を有するマルチプロセッサシステムG200が示されている。A multiprocessor system G200 having two implementation units G210a, G210b and a switching and comparing unit G260 is shown. 特殊なパイプライン段G230a、G230bの内部で特殊な未定義のビットコンビネーションをNOPまたは他のニュートラルなビットコンビネーションと交換する方法がフローチャートで示されている。A flowchart shows how to exchange special undefined bit combinations for NOP or other neutral bit combinations within special pipeline stages G230a, G230b. 2つの実施ユニットH210a、H210bと切替え・比較ユニットH260を有するマルチプロセッサシステムH200が示されている。A multiprocessor system H200 having two implementation units H210a, H210b and a switching and comparing unit H260 is shown. 2つの実施ユニットを有するマルチプロセッサシステム内で比較モードからパフォーマンスモードへ変化する場合に、プログラムフローがユニットIDを用いてどのように分離できるか、を示す方法が、フローチャートで示されている。A flowchart shows how the program flow can be separated using unit IDs when changing from comparison mode to performance mode in a multiprocessor system having two implementation units. 3つの実施ユニットを有するマルチプロセッサシステムにおいて比較モードからパフォーマンスモードへ変化する場合に、プログラムフローがユニットIDを用いてどのように分離できるか、という可能な方法が示されている。A possible way of how program flow can be separated using unit IDs when changing from comparison mode to performance mode in a multiprocessor system with three implementation units is shown. パフォーマンスモードから比較モードへ切り替える場合に実施ユニットを同期させる方法がフローチャートで示されている。A method for synchronizing implementation units when switching from performance mode to comparison mode is shown in the flowchart. パフォーマンスと比較モードの間の切替えをあらわす、状態自動機が示されている。An automatic state machine is shown that represents a switch between performance and comparison modes. 2つの実施ユニットと、内部にあるインターラプトマスキングレジスタG430a、G430bを含めたインターラプトコントローラG420a、G420bおよび種々のインターラプト源G440aからG440nを有するマルチプロセッサシステムG400が示されている。A multiprocessor system G400 is shown having two implementation units, interrupt controllers G420a, G420b including interrupt masking registers G430a, G430b therein, and various interrupt sources G440a-G440n. 2つの実施ユニット、切替え・比較ユニットおよび3つのレジスタセットを備えたインターラプトコントローラを有するマルチプロセッサシステムが示されている。A multiprocessor system is shown having an interrupt controller with two implementation units, a switch and compare unit and three register sets. 比較器の最も単純な形式が示されている。The simplest form of comparator is shown. 位相オフセットを補償するためのユニットを有する比較器を示している。Fig. 2 shows a comparator having a unit for compensating for phase offset. 比較モードにおける好ましいコンポーネントM700(切替え・比較ユニット)の原理的行動が記載されている。The principle behavior of the preferred component M700 (switch and compare unit) in the comparison mode is described. パフォーマンスモードにおける好ましいコンポーネントM700(切替え・比較ユニット)の原理的行動が記載されている。The principle behavior of the preferred component M700 (switch and compare unit) in performance mode is described. 切替え・比較ユニットの実施形態が示されている。An embodiment of a switching and comparing unit is shown. 切替え・比較ユニットの他の実施形態が示されている。Another embodiment of the switching and comparing unit is shown. モード信号を生成する、切替え・比較ユニットが示されている。A switch and compare unit is shown that generates a mode signal. 切替え・比較ユニットの一般的な表示である。This is a general display of the switching / comparison unit. 一般的なモードと一般的なエラー信号を生成する、切替え・比較ユニットの一般的な表示である。A general display of a switching and comparing unit that generates a general mode and a general error signal. 外部のユニットとの質問応答通信が示されている。Question answering communication with an external unit is shown. インテリジェントアクターとの通信が示されている。Communication with intelligent actors is shown.

Claims (15)

少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法であって、その場合に少なくとも2つの駆動モードの間で切り替えられ、第1の駆動モードが比較モードに、第2の駆動モードがパフォーマンスモードに相当し、その場合に実施ユニットのために少なくとも1セットの定義されたビットコンビネーションが設けられている、前記方法において、
切替えが、少なくとも1セット内に定義されていない、少なくとも1つのビットコンビネーションによって作動されることを特徴とする、計算機システムにおいて切り替える方法。
A method of switching in a computer system having at least two implementation units, in which case switching is made between at least two drive modes, the first drive mode corresponding to the comparison mode and the second drive mode corresponding to the performance mode. In which case at least one set of defined bit combinations is provided for the execution unit,
A method for switching in a computer system, characterized in that the switching is activated by at least one bit combination not defined in at least one set.
定義されたビットコンビネーションのセットが、定義されたビットコンビネーションの指令セットを有し、あるいは前記指令セットに相当し、切替えが、指令セット内に定義されていない、少なくとも1つのビットコンビネーション(イリーガルインストラクション)によって作動されることを特徴とする、請求項1に記載の方法。   At least one bit combination (Illegal instruction) in which the set of defined bit combinations has or corresponds to the defined set of bit combinations and the switching is not defined in the command set The method according to claim 1, wherein the method is activated by: 定義されたビットコンビネーションのセットが、定義されたビットコンビネーションのオペランドセットを有し、あるいは前記オペランドセットに相当し、切替えが、オペランドセット内に定義されていない、少なくとも1つのビットコンビネーション(イリーガルオペランド)によって作動されることを特徴とする、請求項1に記載の方法。   At least one bit combination (illegal operand) in which the set of defined bit combinations has an operand set of defined bit combinations or corresponds to said operand set, and the switch is not defined in the operand set The method according to claim 1, wherein the method is activated by: 定義されたビットコンビネーションのセットが、定義されたビットコンビネーションのオペレーションセットを有し、あるいは前記オペレーションセットに相当し、切替えが、オペレーションセット内に定義されていない、少なくとも1つのビットコンビネーション(イリーガルオペレーション)によって作動されることを特徴とする、請求項1に記載の方法。   At least one bit combination (Illegal operation) in which the set of defined bit combinations has or corresponds to an operation set of defined bit combinations and the switching is not defined in the operation set The method according to claim 1, wherein the method is activated by: 切替えが、定義されたビットコンビネーションのセット内に定義されていないビットコンビネーションの認識後に行われ、その場合に前記認識が別体のパイプライン段階内で行われることを特徴とする、請求項1に記載の方法。   Switching according to claim 1, characterized in that the switching takes place after the recognition of a bit combination not defined in the defined set of bit combinations, in which case the recognition takes place in a separate pipeline stage. The method described. ビットコンビネーションが、特にアッセンブラからなる、機械向きのビットコンビネーションに相当することを特徴とする、請求項1に記載の方法。   2. Method according to claim 1, characterized in that the bit combination corresponds to a machine-oriented bit combination, in particular consisting of an assembler. 第1の実施ユニットのために、定義されたビットコンビネーションの第1のセットが設けられており、少なくとも1つの第2の実施ユニットのために、定義されたビットコンビネーションの少なくとも1つの第2のセットが設けられていることを特徴とする、請求項1に記載の方法。   A first set of defined bit combinations is provided for the first implementation unit, and at least one second set of defined bit combinations for the at least one second implementation unit. The method according to claim 1, wherein: is provided. 各前記実施ユニットのために、定義されたビットコンビネーションの専用のセットが設けられていることを特徴とする、請求項1に記載の方法。   The method according to claim 1, characterized in that a dedicated set of defined bit combinations is provided for each said execution unit. 切替えが、1つの実施ユニットによってのみ作動され、かつ切替えが、切替えを作動させる実施ユニットに対応づけられているビットコンビネーションのセット内に定義されていない、少なくとも1つのビットコンビネーションによって作動されることを特徴とする、請求項6または7に記載の方法。   The switching is operated by only one execution unit, and the switching is operated by at least one bit combination that is not defined in the set of bit combinations associated with the execution unit that operates the switching. 8. A method according to claim 6 or 7, characterized. 切替えを作動させる、少なくとも1つの定義されていないビットコンビネーションが、予め定めることのできるビットコンビネーションによって代用されることを特徴とする、請求項1に記載の方法。   The method according to claim 1, characterized in that at least one undefined bit combination that activates the switching is replaced by a pre-determinable bit combination. 前記代用が、別体のパイプライン段階内で行われることを特徴とする、請求項10に記載の方法。   11. A method according to claim 10, characterized in that the substitution takes place in a separate pipeline stage. 前記別体のパイプライン段階が、ビットコンビネーションの解釈あるいは実施を表す他のパイプライン段階の前のパイプライン内に配置されていることを特徴とする、請求項5または11に記載の方法。   12. A method according to claim 5 or 11, characterized in that the separate pipeline stage is arranged in a pipeline before another pipeline stage representing the interpretation or implementation of a bit combination. 予め定めることのできるビットコンビネーションが、ニュートラルビットコンビネーションに従って、特にNOP指令に従って操作が行われない指令に相当することを特徴とする、請求項9に記載の方法。   10. The method according to claim 9, characterized in that the bit combination that can be predetermined corresponds to a command that is not operated according to the neutral bit combination, in particular according to the NOP command. 少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える装置であって、その場合に少なくとも2つの駆動モードの間で切り替えられ、第1の駆動モードが比較モードに、第2の駆動モードがパフォーマンスモードに相当し、その場合に実施ユニットのために少なくとも1セットの定義されたビットコンビネーションが設けられている、前記装置において、
装置が、少なくとも1セット内に定義されていない少なくとも1つのビットコンビネーションによって切替えが作動されるように、形成されていることを特徴とする、計算機システムにおいて切り替える装置。
An apparatus for switching in a computer system having at least two implementation units, in which case switching is made between at least two drive modes, the first drive mode corresponding to the comparison mode and the second drive mode corresponding to the performance mode Wherein in said device, at least one set of defined bit combinations is provided for the execution unit,
Switching device in a computer system, characterized in that the device is configured such that switching is activated by at least one bit combination not defined in at least one set.
請求項14に記載の装置を有することを特徴とする、計算機システム。   A computer system comprising the apparatus according to claim 14.
JP2007538400A 2004-10-25 2005-10-25 Method and apparatus for switching in a computer system having at least two implementation units Pending JP2008518340A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
DE200410051952 DE102004051952A1 (en) 2004-10-25 2004-10-25 Data allocation method for multiprocessor system involves performing data allocation according to operating mode to which mode switch is shifted
DE200410051950 DE102004051950A1 (en) 2004-10-25 2004-10-25 Clock switching unit for microprocessor system, has switching unit by which switching can be done between two operating modes, where unit is formed so that clock switching takes place with one processor during switching of modes
DE200410051992 DE102004051992A1 (en) 2004-10-25 2004-10-25 Access delay method for multiprocessor system involves clocking processors differently to enable both processors to access memory at different times
DE200410051964 DE102004051964A1 (en) 2004-10-25 2004-10-25 Memory unit monitoring device for use in multiprocessor system, has switching unit, though which system is switched between two operating modes such that device is arranged in such a manner that contents of unit are simultaneously logged
DE200410051937 DE102004051937A1 (en) 2004-10-25 2004-10-25 Data distributing method for multiprocessor system, involves switching between operating modes e.g. safety and performance modes, of computer units, where data distribution and/or selection of data source is dependent upon one mode
DE102005037223A DE102005037223A1 (en) 2004-10-25 2005-08-08 Access mode units switching method for motor vehicle, involves providing set of defined bit combinations for execution units, and triggering switching by combination that is not defined in set
PCT/EP2005/055506 WO2006045779A1 (en) 2004-10-25 2005-10-25 Method and device for switching in a computer system comprising at least two execution units

Publications (1)

Publication Number Publication Date
JP2008518340A true JP2008518340A (en) 2008-05-29

Family

ID=35871022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007538400A Pending JP2008518340A (en) 2004-10-25 2005-10-25 Method and apparatus for switching in a computer system having at least two implementation units

Country Status (6)

Country Link
EP (1) EP1807762A1 (en)
JP (1) JP2008518340A (en)
KR (1) KR20070062574A (en)
CN (1) CN101048743A (en)
DE (1) DE102005037223A1 (en)
WO (1) WO2006045779A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012151599A (en) * 2011-01-18 2012-08-09 Yokogawa Electric Corp Communication device and control device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006048169A1 (en) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Method for monitoring the functionality of a controller
US8543860B2 (en) 2008-08-26 2013-09-24 Freescale Semiconductor, Inc. Multi-core clocking system with interlocked ‘anti-freeze’ mechanism
CN102073565B (en) * 2010-12-31 2014-02-19 华为技术有限公司 Action triggering method, multi-core packet debugging method, device and system thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8308149D0 (en) * 1983-03-24 1983-05-05 Int Computers Ltd Computer system
EP0978784A1 (en) * 1998-08-04 2000-02-09 Motorola, Inc. Method for coding computer programs and method for debugging coded computer programs
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
DE10349581A1 (en) * 2003-10-24 2005-05-25 Robert Bosch Gmbh Method and device for switching between at least two operating modes of a processor unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012151599A (en) * 2011-01-18 2012-08-09 Yokogawa Electric Corp Communication device and control device

Also Published As

Publication number Publication date
CN101048743A (en) 2007-10-03
EP1807762A1 (en) 2007-07-18
DE102005037223A1 (en) 2007-02-15
KR20070062574A (en) 2007-06-15
WO2006045779A1 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
JP5053854B2 (en) Method and apparatus for switching in a computer system having at least two implementation units
JP2008518339A (en) Apparatus and method for switching in a computer having at least two implementation units
KR100994039B1 (en) Method and device for generating a mode signal in a computer system comprising a plurality of components
JP2008518296A (en) Method and apparatus for switching in a computer system comprising at least two execution units
CN100520730C (en) Method and device for separating program code in a computer system having at least two execution units
KR20070062573A (en) Device and method for switching over in a computer system having at least two execution units
KR20070062577A (en) Method and device for evaluating a signal of a computer system comprising at least two execution units
KR101031181B1 (en) Method and device for monitoring operations of computer system
US11593241B2 (en) Processor with debug pipeline
KR20070085278A (en) Method and device for switching in a computer system comprising at least two execution units
JP2008518300A (en) Method and apparatus for dividing program code in a computer system having at least two execution units
JP2008518340A (en) Method and apparatus for switching in a computer system having at least two implementation units
US20080313384A1 (en) Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units
CN101048746A (en) Method and device for switching over in a computer system having at least two execution units
RU2384877C2 (en) Method and device for signal generation in computer system comprising several components
JP2009506408A (en) Method and apparatus for analyzing a process in a computer system having a plurality of execution units
JP2002312163A (en) Information processor and information processing method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091027