JP2007509399A - プロセッサユニットにおけるオペランド処理方法および装置 - Google Patents

プロセッサユニットにおけるオペランド処理方法および装置 Download PDF

Info

Publication number
JP2007509399A
JP2007509399A JP2006535934A JP2006535934A JP2007509399A JP 2007509399 A JP2007509399 A JP 2007509399A JP 2006535934 A JP2006535934 A JP 2006535934A JP 2006535934 A JP2006535934 A JP 2006535934A JP 2007509399 A JP2007509399 A JP 2007509399A
Authority
JP
Japan
Prior art keywords
operand
operation mode
operands
unit
clock
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.)
Granted
Application number
JP2006535934A
Other languages
English (en)
Other versions
JP4443569B2 (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
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2007509399A publication Critical patent/JP2007509399A/ja
Application granted granted Critical
Publication of JP4443569B2 publication Critical patent/JP4443569B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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/3824Operand accessing
    • G06F9/383Operand prefetching
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

ここに記載されているのは、あらかじめ設定可能なクロックで作動可能な少なくとも2つの実行ユニットを有するプロセッサユニットにおけるオペランド処理方法および装置である。ここで上記の実行ユニットは、制御信号によって駆動制御されてオペランドを処理し、また第1動作モードと第2動作モードとの間で切り換えを行うことができる。本発明の特徴は、第1動作モードでは2つの実行ユニットに同じオペランドを供給し、第2動作モードでは2つの実行ユニットに別個のオペランドを供給し、第1動作モードでは同じ制御信号によって2つの実行ユニットを駆動制御してオペランドを処理し、第2動作モードでは相異なる制御信号によって2つの実行ユニットを駆動制御してオペランドを処理することである。

Description

従来の技術
本発明は、請求項1、請求項11および請求項23の上位概念に記載された、少なくとも2つの実行ユニットおよび少なくとも2つの動作モード間の切り換えを有するプロセッサユニットにおけるオペランド処理方法および装置と、相応するプロセッサユニットとを出発点とする。
少なくとも2つの組み込み実行ユニットを有する上記のようなプロセッサユニットは、デュアルコアまたはマルチコアアーキテクチャとしても知られている。このようなデュアルコアまたはマルチコアアーキテクチャは、今日の従来技術によれば主につぎのよう2つの理由から提案される。すなわち、
1つにはこのアーキテクチャによって性能向上、すなわちパフォーマンスの向上を達成することができ、これは2つの実行ユニットまたはコアを1半導体素子上の2つの計算ユニットと見なして操作することによって達成されるのである。この構成において2つの実行ユニットまたはコアは、相異なるプログラムないしはタスクを処理する。これによって性能向上を達成することが可能である。このためにこの構成は性能モードまたはパフォーマンスモードと称される。
スーパースカラプロセッサとしての使用に加えて、デュアルコアまたはマルチコアアーキテクチャを実現する2つの目の理由は安全性を高めることである。ここでこれは2つの実行ユニットによって同じプログラムを冗長に処理することによって行われる。2つの実行ユニットの結果は比較され、一致するか否かを比較する際にエラーを識別することができる。以下ではこの構成を安全モードまたはセーフティモードと称する。
上に挙げた2つの構成は一般にデュアルまたはマルチコアアーキテクチャにおいて排他的に含まれている。すなわち、少なくとも2つの実行ユニットを有する計算機は、基本的にはただ1つのモードでしか作動されないのである。つまりパフォーマンスモードか、セーフティモードのいずれかでしか作動されないのである。
本発明の課題は、このようなデュアルまたはマルチコアプロセッサユニットが少なくとも2つの動作モードという点において組み合わされて動作できるようにし、この際に少なくとも2つの動作モード間、すなわち殊にセーフティモードおよびパフォーマンスモードの間で最適な切り換えができるようにすることである。
発明の利点
一方では安全上の理由から、オペランドの冗長な処理ないしはプログラムまたはタスクの冗長な実行、すなわち、タスクプログラム、プログラム部分、コードブロックまたは個々の命令の冗長な実行も所望されるのであるが、他方ではコスト上の理由から、安全上クリティカルでない機能の実行に際して、まったく冗長なハードウェアを用意しておくことも得策ではない。このような矛盾する目標は、本発明により、プロセッサユニットにおいて少なくとも2つの動作モードの間で最適に切り換えを行うことによって解決される。
本発明は、あらかじめ設定可能なクロックによって作動可能な少なくとも2つの実行ユニットを有するプロセッサユニットにおけるオペランド処理方法および装置を出発点とする。これらの実行ユニットは、制御信号によって駆動制御されてオペランドを処理し、第1動作モードと第2動作モードとの間で切り換え可能であり、ここで有利には第1動作モードでは2つの実行ユニットに同じオペランドが供給され、第2動作モードでは2つの実行ユニットに別個のオペランドが供給され、第1動作モードでは2つの実行ユニットは、同じ制御信号によって駆動制御されてオペランドを処理し、第2動作モードでは2つの実行ユニットは別個の制御信号に駆動制御されてオペランドを処理する。
この際に有利には第1動作モードにおいて、フルクロック(Volltakt)である実行ユニットのクロックに依存して実行ユニットにオペランドが供給され、また第2動作モードにおいて、上記のフルクロックよりも一層高速な第2クロックでオペランドが供給されて処理が行われる。
この際に有利には2つの実行ユニットのクロックとフルクロックとを等しく選択する。1実施形態では上記の一層高速な第2クロックを、フルクロックと比較して2倍に高速なハーフクロックとして構成する。
有利には上記のオペランドを2つの動作モードにおいて同期して処理する。ここでは第1動作モードにおいてオペランドを同期処理して、第2動作モードでオペランドを非同期処理することも考えられる。
安全上の理由から、オペランドまたはオペランドから導出したデータ、例えばオペランドから形成したECC符号が一致するか否かを比較器ないしはコンパレータによって比較し、異なっている場合にはエラーを識別することが可能である。同様にオペランドを処理した際に発生した状態、例えばECC符号の形態の導出データ、または結果が一致するか否かを比較器によって比較することができ、異なる場合にはここでもエラーを識別する。いずれのケースにおいても比較を行う際に動作モードに依存して、このような比較を行うか否か、またはどのオペランド、データ、状態または結果を比較するかを決定することができる。
つぎに上記の状態または結果は、バスへの書き込みの前にリリース信号によってリリースされる。ここでこれは動作モードおよび比較結果に依存して行われて、これらの状態または結果は、同時または順次のいずれかでリリースすることができる。
本発明の装置ないしはこのような装置を有するプロセッサユニットは、あらかじめ設定可能なクロックで作動可能な少なくとも2つの実行ユニットの他に、制御装置、例えば切換装置を有する。ここでこの制御装置により、制御信号によって上記の実行ユニットが駆動制御されてオペランドが処理され、また第1動作モードと第2動作モードとの間で切り換えが行われる。またこの制御装置は上記の実行ユニットおよび別の供給ユニットに接続されている。この制御装置は、供給ユニットと協働して、第1動作モードでは2つ実行ユニットに同じオペランドが供給され、第2動作モードでは2つの実行ユニットに別個のオペランドが供給されるようにする。またここではこの制御装置を構成して、第1動作モードでは同じ制御信号によって2つの実行ユニットが駆動制御されて前記オペランドが処理され、また第2動作モードでは相異なる制御信号によって2つの実行ユニットが駆動制御されて前記オペランドが処理されるようにする。
ここでは有利には上記の制御装置および供給ユニットを構成して、第1動作モードでは、フルクロックである実行ユニットのクロックに依存して実行ユニットにオペランドが供給され、また第2動作モードでは、フルクロックよりも一層高速な第2クロックでオペランドが供給されて処理されるようにする。
上記の2つの実行ユニットは、単に演算装置(ALU)として構成することができ、または完全な演算コアまたは処理ユニット(CPU)として構成することも可能である。これにより、本発明は有利にも、少なくとも2重に実施されてオペランドを処理し、プロセッサユニットの実行ユニットであるすべてのコンポーネントに適用可能である。
上記の供給ユニットをレジスタ装置として構成して、少なくとも1つのオペランドレジスタが設けられ、またオペランドレジスタおよび各実行ユニット間に少なくとも1つの中間レジスタが設けられるようにする。ここでは上記の供給ユニットおよび実行ユニットを構成して、これらが第2動作モード、すなわち性能モードLMにおいて別個のクロックで動作するか、または作動されるようにする。例えば、供給ユニットを構成して、これが第2動作モードにおいて実行ユニットより一層高速な、例えば2倍のクロックで動作するか、または作動されるようにする。
ここでは有利には切換条件を識別するデコーダが設けられている。ここでこのデコーダは供給ユニットと同じクロックで動作するか作動される。
有利にはオプションで第1の切換手段が設けられており、これを構成ないしは駆動制御して、第1の切換手段により、上記の供給ユニットが第1または第2動作モードに依存して切り換えられるようにする。または第2の切換手段が設けられており、これを構成ないしは駆動制御して、第2の切換手段により、上記の実行ユニットが第1または第2動作モードに依存して切り換えられるようにする。
有利には上記の供給ユニットおよび実行ユニットを構成して、これらの供給ユニットおよび実行ユニットが第1動作モード、すなわち安全モードにおいて同じクロックで殊に同期して動作するないしは作動されるようにする。
他の利点および有利な実施形態は、以下の説明ないしは請求項の特徴部分に記載されている。
図面
以下では図面に示して図に基づいて本発明を詳しく説明する。
ここで図1および図2には、2重の演算装置およびオペランドレジスタ装置を有するプロセッサユニットが1つずつ示されており、ここでこのオペランドレジスタ装置は、1つずつのオペランドレジスタと1つずつの中間レジスタとを有する。
図3にも2重の実行ユニットを有するプロセッサユニットが示されており、またこれは図1および2とは異なるオペランドレジスタ装置とを有する。このオペランドレジスタ装置はオペランドレジスタの2つずつペアと、相応する数の中間レジスタとを有する。
図4には、オペランドを供給して処理する相異なるクロック、例えばハーフクロックおよびフルクロックが示されている。
図5にも図3と同等の2重の実行ユニットを有するプロセッサユニットが示されており、ここでは実行ユニットは1つのオペランド入力側だけを利用でき、またオペランドレジスタ装置には1つのオペランドレジスタだけが設けられている。
実施例の説明
図面の図1,2,3および5において、同じおよび/または機能的に同じ要素には特に断らない限り同じ参照符号が付されている。
直接的に本発明によるものではないプロセッサユニットのコンポーネント、例えば記憶ユニット、周辺ユニット、演算装置の図におけるコアまたはCPUの残りの部分などは、見やすくするために図1および2において直接的に示していない。しかしながら本発明の枠内において2つの演算装置ALU AおよびALU Bは、FPUまたは完全なコアないしはCPU全体に相応し得るため、本発明は、完全なデュアルコアアーキテクチャにも使用可能である。このことは図3および5にさらに示されている通りである。しかしながら図1および2において有利には演算装置だけを2重にして、CPUの他のコンポーネントは別のエラー検出メカニズムによって保証する。
図1および2において参照符号1および2によりそれぞれ、実行ユニットである算術論理ユニット(ALU Arithmetic Logic Unit)または浮動小数点ユニット(FPU Floating Point Unit)を示す。この実施例では演算装置(ALU)は冗長に設けられている。各ALUユニット1,2は2つの入力側および1つの出力側を有する。テスト動作において、実行のために設けられるオペランドは、バス3から直接、ALUユニット1,2の入力側に入力結合されるか、または特にこのために設けられたオペランドレジスタ8,9に前もってメモリされている。これらのオペランドレジスタ8,9はデータバス3に直接結合されている。すなわち2つのALUユニット1,2は、同じオペランドレジスタ8,9からまかなわれるのである。付加的にはバスを介して、各オペランドにすでにECCコーディングが付されているようにすることが可能であり、これらはレジスタ領域8A,9Aにメモリされる。すなわち、ECCが示されている図1および2(ならびに後で説明するように図3および5において)のすべての箇所において、ECC符号(Error Correction Code)を使用することによってデータを保証することができる。
このようなエラー識別法は多様であり、基本的な前提は、エラー識別符号ないしはエラー訂正符号による、すなわちシグネチャ(Signatur)による保証である。最も簡単なケースではこのシグネチャは、ただ1つのシグネチャビット、例えば1パリティビットだけからなる。他方では上記の保証を複雑なED(Error Detection)符号、例えばベルガー(Berger)符号またはボーズ−リン(Bose-Lin)符号などにより、または複雑なECC符号、例えばハミング符号などによって実現して、相応するビット数により、一層確実なエラー識別ができるようにすることが可能である。しかしながら符号発生器として、例えば(ハードワイヤまたはソフトウェアの)生成テーブルを使用して、アドレスの枠においてビットの所定の入力パターンに、任意長さの所望の符号パターンを対応づけることも可能である。これにより、例えば訂正機能によってデータの確実性を保証することができる。その上さらに安全上クリティカルなモードでは、すなわち安全モードSMでは安全上クリティカルなプログラムの冗長な処理が、2つの実行ユニットにおいて、すなわちここでは2つのALU1および2において行われ、これによって本発明ではこれらの実行ユニットにおけるエラーが、一致するか否かを比較することによって明らかにされるのである。以下では、考えられるエラー符号化の例の間の違いは区別せず、一般的に参照符号ECCを使用する。
安全に関連しない、ないしは安全上クリティカルでないプログラムまたはタスクないしはプログラム部分またはコードブロックまたは命令は、性能向上のために2つの実行ユニット上で分散して計算することができ、これによってスループットひいては性能が向上する。これはいわゆる性能モードまたはパフォーマンスモードLMにおいて行われる。
各オペランドをALUユニット1,2に入力結合する際には、正しくデータ入力することを殊に重視しなければならない。例えば、同じ誤ったオペランドが2つのALUユニット1,2に入力結合される場合、ALUユニット1,2の出力側におけるエラーは識別できないのである。したがって保証しなければならないのは、ALUユニット1または2のうちの少なくとも1つが正しいデータ入力値を受け取るか、ないしは2つのALUユニット1,2が、相異なっているが、いずれも誤ったデータ入力値を受け取るようにすることである。これは、ALUユニット1,2の少なくとも1つの入力値から上記のようにチェックサム、すなわちECC符号を形成することによって保証される。専用に設けられた比較ユニット5C,6Cにおいて、付加的なデータレジスタまたは中間レジスタ10,11から得られるECCコーディング10A,11Aと、元々のソースレジスタ8,9から得られるECCコーディング8A,9Aとが比較される。オプションではレジスタ10,11から得られる入力データと、ソースレジスタ8,9から得られる入力データとを比較することも可能である。ECCコーディングないしはオペランドにおいて違いが発生した場合、このことはエラーと解釈され、エラー信号が出力され、場合によっては表示され、また場合によって訂正される。この比較は有利にはALUユニット1,2におけるオペランドの処理中に行われるため、このような入力側でのエラー識別およびエラー訂正はほとんど性能の損失なしに行われる。比較ユニット5C,6Cのうちの1つによってエラーが検出される場合、この計算をつぎのサイクル内で繰り返すことができる。この際にはシャドーレジスタが使用されて、最後の計算のオペランドがつねに確保される。これによってエラーの場合にこれらのオペランドが迅速に再度利用できるようにすることが可能である。しかしながらエラーが存在しなかったことに基づいてはじめて、イネーブル信号により、中間レジスタ10,11が新たに書き込まれる場合には、このようなシャドーレジスタを準備しなくてもよい。エラーの場合、比較ユニット5C,6Cはエラー信号を供給する。これにより、中間レジスタ10,11には新たな書き込みが行われない。
ALUユニット1,2により、出力側に1つずつの結果が形成される。ALUユニット1,2によって供給される結果データおよび/またはそのECCコーディングは、結果レジスタ12,13,12A,13Aにメモリされる。これらの結果データおよび/またはそれらのコーディングは、比較ユニット14C,24Cにおいて互いに比較される。エラーがない場合にはリリース信号16が形成される。このリリース信号16はリリース装置15に入力結合され、このリリース装置は、結果データをバス4に書き込むために起動される。つぎにこれらの結果データはバス4を介して引き続き処理することができる。
リリース信号16はさらに、レジスタ8〜11を再度リリースするために利用することができ、これによってつぎのオペランドをバス3から読み出して、ALUユニット1,2で処理することができる。
図1の装置によって結果そのものはチェックされない。ここでは単に結果データが比較ユニット14Cで互いに比較されるだけである。結果データのECCコーディングのチェックは、図2の装置によってはじめて可能になり、ここでは結果データが互いに比較されると共に、それらのECCコーディングも比較ユニット24Cにおいて互いに比較される。
図1および2に示したエラー識別装置により、すべての過渡的なエラー、持続的なエラーならびに実行時エラーも識別される。結果が相応する比較ユニットおよび/または相応する結果レジスタに到達しないか、またはあまりに遅く到達して、比較が一部の結果によって行われる場合、ALUユニット1,2内の実行時エラーが識別される。エラー識別符号およびエラー訂正符号ならびに最終結果の比較により、オペランドレジスタおよび中間レジスタ8,9,10,11を保証することによって、都度のエラー箇所およびエラー時点を精確に特定することができる。これによって過渡的な障害に極めて迅速に対応することができる。
これにより、エラーの特定のために以下のような可能性が得られる。すなわち、
比較ユニット14Cまたは24Cにおける結果データの比較によって違いが発生した場合、ALUユニット1,2内のエラーを推定することができる。
比較ユニット5C,6Cのうちの1つにおけるECCコーディングの比較によって違いが発生した場合、バス3ないしは前置接続されたコンポーネントから得られた信号に誤りがあることを推定することができる。
比較ユニット24CにおけるECCコーディングの比較によって違いが発生した場合、結果のコーディングが誤りを有すると推定することができる。
冗長な処理およびチェックが行われる上記の安全モードSMと、別個のプログラム処理によって性能向上が達成される性能モードLMとの間を切り換えるため、制御装置(Steuerwerk)17が使用され、これは例えば切換装置の機能を実行する。この切換装置17によって少なくとも素子8,9および1,2が切り換えられて、一方のケースにおいて、すなわち安全モードSMにおいて冗長なプログラム処理、例えば同期のプログラム処理を行い、また第2動作モード、すなわち性能モードLMにおいて別個のプログラムないしはオペランドの並列処理を実行することができる。このためのオプションのスイッチまたはスイッチ手段を設けることができる。これらのスイッチ手段は、1つには素子8,9ないしは1,2に、または上記の切換装置ないしは制御装置17に配置することができるか、素子8,9,1,2ないしは17とは別個に付加的に回路に含まれる。
切り換えのため、例えばプログラムまたはタスクプログラムまたはプログラム部分、すなわちコードブロックまたは命令またはオペランドそのもののマーキング(Kennzeichnung)が、識別子によって行われる。この識別子によって識別できるのは、これが安全に関連するか否か、すなわち安全モードSMで処理しなければならない否か、または性能モードLMで受け入れられてよいか否かである。これは少なくとも1つのビットによって行うことができるか、または特別な命令によってそれに続くシーケンスをマーキングすることも可能である。またあらかじめ定めた所定の記憶装置アドレスにアクセスし、つぎにこのアドレスによって性能モードLMまたは安全モードSMを起動することによって切り換えを行うことも可能である。
この際にこれらのプログラムは、アプリケーション機能を含むことができる。すなわち例えば車両における動作の過程を制御するアプリケーション機能を含むことができる。しかしながら上記の切り換えは、マーキングがオペレーションシステムレベルで行われるプログラムについても行われる。すなわち完全なオペレーションシステムタスクの割り当てである。
復号化の際に切換装置としての制御装置17が識別できるのは、後続の計算が安全関連のものであるか否か、すなわち安全モードSMで実行すべきであるか否かである。安全モードSMで実行すべきである場合、データは2つの実行ユニット1および2にわたされる。そうでない場合、すなわち性能モードLMで処理する場合、一方の実行ユニットは、準備されたデータを受け取り、またつぎのインストラクションも同様に安全関連のものでない場合には同時にこのインストラクションを第2の実行ユニットにもわたすことができる。これによってこれらのプログラムないしはオペランドは高いスループットで並列に処理される。
例えば第1のケース(SM)では、2つのユニット上で同時に処理する際、結果の計算には同じ長さの時間がかかる。したがって安全モードにおいて、同時に処理される場合、結果は同時に得られる。相応の出力側12および13においてこれらのデータにコーディングが付され、これらのデータおよび/またはデータのコーディングが、図1および2に示したように、ResultAおよびResultBにおいて比較される。これらが一致する場合、これらのデータはリリースされる。そうでない場合、要求されたエラーレスポンスのうちの1つが行われる。第2のケース、すなわち性能モード(LM)では、データが並列処理される場合、2つの演算装置の出力側におけるコンパレータまたは比較器14Cないしは24Cは駆動制御されず、結果ResultAおよびResultBは順次にレジスタバンクに再び書き戻され、順次に出力することもできる。これはスーパースカラプロセッサの場合と同じである。
安全モードSMでは並列にすなわち冗長に同じプログラムが処理されるため、切り換えが行われるのはつぎの場合だけである。すなわち性能モードLMにおいて、2つの分岐に対して、すなわちレジスタ8およびALU1ならびにレジスタ9およびALU12に対して、例えば識別子に基づいて切り換えが行われる場合だけである。完全に同期した処理が行われる場合、すなわちプログラムが同時に処理される場合、これはいずれにせよ得られる。プログラムの同期していない処理または非同期処理が行われる場合、速い方の実行ユニットは、遅れている方の実行ユニットを待って、2つの識別子が存在するかないしは評価される場合に制御装置17がはじめて切り換えられるようにしなければならない。このような同期性は、ブロック12,13および14C,24Cならびに12Aおよび13Aによって結果比較を行うため、ないしはECC比較および結果比較のためにも、強制的に同時にすることによって、または待機することによって形成しなければならない。
図3には本発明の別の実施例において、2つの実行ユニットを有する回路装置が示されている。これらの実行ユニットはここではそれぞれ参照符号300および301を有するコンポーネントK1およびK2として示されている。これらの2つのコンポーネントは、上の図1および図2で使用した演算装置(ALU)とは異なり、例えば完全な計算機の核部、いわゆるコアまたはCPUである。これらのコンポーネントK1およびK2も同様に2つの入力側と1つの出力側とを有する。ここでも実行のために設けられるオペランドをバス3から、これらのコンポーネントの入力側に入力結合するか、またはこのために設けられたオペランドレジスタ8および9にあらかじめメモリすることができる。オペランドレジスタ8および9ならびに相応するECCコーディングについてのさらなる説明は、図1および2の説明と同等であり、ここでも有効である。基本的には同じことが、図3においてオプションのECC部分を有し後置接続される参照符号110,111,210,211で示されたデータレジスタと、110A,111A,210A,211Aにおける相応のECCコーディングとにも当てはまる。しかしながらここではさらなる実施形態として、図1および2とは異なり、中間レジスタの2つずつのペアが各コンポーネントに前置接続されている。図1および2に対してすでに説明したように、オペランド供給時すなわちデータ入力値におけるエラーはチェックサム形成(ECC)によって監視される。エラー識別のためここでも図1および2の場合と同様に、比較すべきレジスタの数に相応して、比較ユニットまたはコンパレータ15C,16C,25Cおよび26Cが比較手段として設けられている。これによってECCコーディングないしはオペランドにおいて違いが生じた場合、このことはエラーとして解釈され、エラー信号を出力し、このエラーを記憶し、このエラーを表示し、このエラーに依存するエラー応答、例えば非常時動作の記録またはエラー訂正を開始することができる。ここでも図1および2と同様にエラーが発生した場合、つぎのクロックサイクルにおいて計算を繰り返すことができ、またここでもシャドーレジスタを使用可能である。
オペランド処理の結果または状態ResultAまたはResultBはつぎに図2と同様に比較され(ここでもECC符号はオプションである)、エラーの有無がチェックされる。図2と同様にこのためにECC部分12Aおよび13Aを有するレジスタ12および13が、ならびに比較手段として比較器ないしはコンパレータ24Cが使用される。図2とは異なり、ここでは2つの結果リリースブロック15Aおよび15Bが使用され、これらのブロックを介し、リリース信号16によってバス4に結果がリリースされる。
図3では本発明によるプロセッサユニット102の素子が示されているが、ここでは参照符号302で示される制御装置の機能を詳しく説明する。この図ではわかりやすくするため、制御装置302において矢印によって示される出力側は詳しく図示していない。それはこの出力側により、第1の切換手段308〜315、駆動回路部37ないしはそれに含まれている素子、オプションでオペランドレジスタ8および9、ならびに同様にオプションで中間レジスタ110,111および210,211が駆動制御されるからである。
またここでも制御装置302はある種の切換機能を有しており、これによって1つの動作モードから別の動作モードに変わる。すなわち、例えば安全モードSMから性能モードLMに、またこの逆に変わるのであり、これは例えば、各動作モードに相応して、あらかじめ設定可能な制御信号を使用することによって行われる。
すでに図1および2において説明したように切換条件に依存して、ひいては識別した動作モードに応じて上記の素子が相応に駆動制御される。ここで駆動制御回路部37は、デコーダ303と、第2の切換手段304と、オプションの2つのレジスタまたはラッチ307および306とを有する。またここでも安全上の理由から、デコーダに割り当てられた領域303Aおよびレジスタ306に割り当てられた領域306Aから得られたECCコーディングを比較器305Cによって比較することができる。この駆動制御回路部37は、またはその部分も、制御装置302に収容するか、ないしはこれと同等のものとすることも可能である。
図1および2で説明したようにマーキングまたは識別子またはあらかじめ設定可能な記憶装置アドレスを切換条件として使用する際には上記の制御装置により、後続の計算が安全に関連するか否かをデコード時に識別することができる。これが安全に関連する場合、オペランドの処理は安全モードSMで行われて、同じオペランド、すなわちここではOperand1およびOperand2が相応に2つの実行ユニット300および301にわたされる。この際には2つの実行ユニットは同じ制御信号で駆動制御されてオペランドを処理する。実行ユニットへのオペランドの供給およびオペランドを処理するための実行ユニットのクロックはここでは互いに調整される。有利な実施形態では供給ユニット(すなわち少なくともオペランドレジスタ8および9)および実行ユニットならびにデコーダ303はそれぞれ同じクロック周波数で、すなわち同じクロックで動作する。例えば2つの側、すなわちオペランドレジスタ8を有する供給ユニットと実行ユニット300とは同じクロックで、また同様にオペランドレジスタ9を有する供給ユニットと実行ユニット301とは同じクロックで動作する。有利な実施形態ではこれらの2つの側は同期しているため、これらのオペランドは安全モードSMにおいて同期して処理されて、2つの側の結果ないしは相応する処理状態ResultAないしはResultBはレジスタ12ないしは13において同時に得られるのである。
したがって相応する供給ユニットは、少なくとも相応するオペランドレジスタ8および9を有する。さらに供給ユニットには実施形態に応じて図1または2の少なくとも1つの中間レジスタ10または11、ないしは図3の110,111または210,211が考えられる。同様に供給ユニットには第1の切換手段を含むことができ、これによってクロック周波数に相応してオペランドが切り換え接続される。これらの第1の切換手段308,310,312,314は図3に示したように別個に設けるか、または相応するレジスタ(オペランドレジスタ8または9,相応する中間レジスタ10または11,110,111,210,211)のうちの少なくとも1つに組み込むことができる。ECCコーディングが使用されているか否かに依存して、各レジスタ区分(図1および2の10A,11Aまたは図3の110A,111A,210A,211A)ならびに対応するコンパレータ(図1および2の5C,6Cならびに図3の15C,16C,25C,26C)は、各供給ユニットのオプション部分である。ECCコーディングの枠内の第1切換手段(図3の309,311,313,315)についても同じことが当てはまる。すなわちこれらも各供給ユニットのオプション部分であり、同様に別個にまたは相応するレジスタのうちの少なくとも1つ(ECCオペランドレジスタ8Aまたは9Aないしは相応する中間レジスタ10Aまたは11A,110A,111A,210A,211A)に組み込むことができる。したがって個々の供給ユニットは、実行ユニットに至る相応の供給パスにおける各素子に相応し、ここでは図1,2,3または5のような分け方またはすべてないしは一部を1コンポーネントにまとめることも可能である。
安全モード、すなわち第1動作モードにおいてオペランド処理の結果または状態が同時に得られる場合、ここでもこれらには各実行ユニットの出力側において、相応する12Aを有するレジスタ12および13Aを有するレジスタ13に再度コーディング(ECC)が付与され、結果ないしは処理状態ResultA,ResultBおよび/またはこの結果のコーディング(ECC)が比較される。このために比較器またはコンパレータ24Cが使用される。これらが一致する場合、データはここでもリリース信号16によってリリースされて、ユニット15Aおよび/または15Bによってバス4に書き込まれる。このリリース信号は有利には比較器によって形成されるが、上記の制御装置によって形成することも可能である。安全モードSMではリリース時の結果は同じであるため、これはバス4に一度だけ書き込まれる。等しくない場合、結果はリリースされず、バスではなく、例えばエラーレジスタに書き込まれるか、またはフラグないしはエラー信号が形成されて、表示または相応のエラー応答が開始される。ここではすでに図1,2および3においてオペランドレジスタについて説明したように、例えばシャドーレジスタを使用して再書き込みすることができる。特別なケースでは安全モードSMにおけるオペランドをまず実行ユニットに供給し、引き続いてエラー識別符号ECCをチェックして、つぎに第2の実行ユニットに供給することができる。これらはすべて、フルクロックである同じクロック区間において行われる。
切換条件に相応して、オペランドの処理が、第2動作モード、すなわち性能モードLMにおいて行われる場合、一方の実行ユニットだけに一つまたは複数の相応のオペランドが供給される。ここではほぼ同時(同じフルクロック)に、つまりつぎのハーフクロック区間に、1つまたは複数のつぎのオペランドが(これらが同様に安全に関連しないものとして処理されるかぎり)第2の実行ユニットに供給される。ここで上記の供給ユニットは、より高速な、例えば2つの実行ユニットの2倍のクロック周波数、つまりいわゆるハーフクロックで動作する。安全上クリティカルでないこのオペランド処理では結果の比較は行われず、また都度の結果または状態は相応に、例えば交互にバス4に書き込まれる。この場合にはリリースは不要である。殊にこの第2動作モード、すなわち性能モードLMにおいては、2つ側、例えば2つの実行ユニットは同期しておらず、つまり非同期に動作することが考えられる。バスに書き込む際の衝突は、タイムスロット、イベント制御などの時間条件によって、または仲裁によって防止することができる。
図4ではTS1でフルクロックが、またTS2でハーフクロックが図示されている。これにより、安全モードSMでは各フルクロックTS1においてオペランドが冗長に2つの実行ユニットに供給され、例えば同じフルクロックでこれらの実行ユニットにおいて処理される。この場合にオペランドが完全に同時に処理終了すると、結果を直ちに比較することができる。そうでない場合には遅くとも結果を比較するまでに同期化を行わなければならない。第2動作モードである性能モードLMでは供給ユニットはハーフクロックで動作するため、例えばT1において1つまたは複数の第1のオペランドは、一方の実行ユニットに供給され、T1/2において1つまたは複数のつぎのオペランドが、他方の実行ユニットに供給され、これによって最初およびつぎのオペランドがこれらの実行ユニットにおいてフルクロックサイクルで処理される。このように性能モードLMでは各供給ユニット、つまり例えばオペランドレジスタ8および9は、実行ユニットよりも一層高速なクロック、例えば2倍の速さで動作するのである。これらの実行ユニットに相応の制御信号を供給する第2の切換手段304に供給するデコーダ303も同様に一層高速なこのクロック、例えば2倍の速さで動作する。
本発明の基本的な考え方は、図1,2および3に示したように少なくとも2つのオペランド入力側を有する実行ユニットに使用可能である。つまり複数のオペランドを処理するかないしは必要とする実行ユニットにおいて使用可能であるが、図5に示したように1つのオペランド入力側だけを有する実行ユニットにも使用可能である。
図5には実質的にすでに図3に示したのと同じ素子が示されているが、その違いは、実行ユニット500および501はただ1つのオペランド入力側しか有しないことである。これに相応してただ1つのオペランドレジスタ8だけが設けられており、また相応して中間レジスタ110および210が設けられている。同じことがエラー識別コードECCに関係する所属の素子、すなわち相応するコンパレータ15Cおよび25Cを有する素子110A,210Aについても当てはまる。第1の切換手段508および510は図3の切換手段308および310に相応し、また第1の切換手段509および511は切換手段309および311に相応する。ECC素子がオプションであることはここでも有効である。第1の切換手段は別個にすることも、相応するレジスタに含めることも可能である。ここではオペランドは順次に供給され、第2動作モードである性能モードにおいてハーフクロックで交互に供給される。安全モードSMではオペランドはフルクロックで2つの実行ユニットに供給されて、それぞれに同じオペランドが供給され、これらの実行ユニットにおいて冗長に処理される。このような機能の枠において、駆動制御回路57は、単に1入力オペランド方式された図3の駆動制御回路37なのであり、また同様に制御装置502は、1入力オペランド方式にされ、さらにこれに伴う適合化がなされた図3の制御装置302なのである。
安全モードSMでは図3に説明したように、出力側において結果および/または状態が互いに比較される(オプションではECCも比較される。これはエラー識別符号化ユニットもテストしなければならない場合だけである)。有利にはこの結果から、結果を比較した後はじめてエラー識別符号ECCが形成される。これによってこのコーディングが正しい結果から形成されたことが保証される。性能モードLMではオペランドが2つの実行ユニットに供給された順序で、これらの実行ユニットの結果が順次にバスに供給される。このコンセプトの一貫性を最適化して、上述のすべてのECCコーディングを形成し、チェックを行い、またバスに供給することができる。ここではこの一貫性ないしは安全上の重要性についてさまざまな段階付けが可能である。
説明したすべての実施例は、本発明において基本的に同等であり、これに相応して任意に組み合わせたり、結合することが可能である。本発明の基本的な考え方の枠内では別の複数の実施形態が可能であるため、上記の具体的な実施形態は、制限的なものと捉えてはならない。すなわち、本発明の基本的な考え方の枠内において、個々の実施例について述べたことは一般的に別の実施例にも当てはまり、また適用可能なのである。
1つずつのオペランドレジスタおよび1つずつの中間レジスタを備えるオペランドレジスタ装置と、2重の演算装置とを有するプロセッサユニットの図である。 1つずつのオペランドレジスタおよび1つずつの中間レジスタを備えるオペランドレジスタ装置と、2重の演算装置とを有する別のプロセッサユニットの図である。 図1および2とは異なるオペランドレジスタ装置を有する、2重の実行ユニットを備えるプロセッサユニットの図である。 オペランドを供給して処理する相異なるクロックを示す図である。 実行ユニットには1つのオペランド入力側だけが利用でき、またオペランドレジスタ装置にただ1つのオペランドレジスタだけが設けられている、図3と同等の2重の実行ユニットを有するプロセッサユニットを示す図である。

Claims (24)

  1. あらかじめ設定可能なクロックで作動可能な少なくとも2つの実行ユニットを有するプロセッサユニットにおけるオペランド処理方法であって、
    前記実行ユニットは、制御信号によって駆動制御されてオペランドを処理し、また第1動作モードと第2動作モードとの間で切り換えを行うことができる形式の、オペランド処理方法において、
    第1動作モードでは2つの実行ユニットに同じオペランドを供給し、
    第2動作モードでは2つの実行ユニットに別個のオペランドを供給し、
    第1動作モードでは2つの実行ユニットを同じ制御信号によって駆動制御して前記オペランドを処理し、
    第2動作モードでは2つの実行ユニットを相異なる制御信号によって駆動制御して前記ペランドを処理することを特徴とする
    オペランド処理方法。
  2. フルクロックであるクロックに依存して実行ユニットにオペランドを供給して実行ユニットのオペランドを処理し、
    第2動作モードでは前記フルクロックよりも一層高速な第2クロックでオペランドを供給して当該オペランドを処理する、
    請求項1に記載の方法。
  3. 前記の第1動作モードでは、フルクロックである実行ユニットのクロックでオペランドを供給する、
    請求項2に記載の方法。
  4. 前記の一層高速な第2クロックを、前記のフルクロックと比較して2倍に高速なハーフクロックとして構成する、
    請求項2に記載の方法。
  5. 前記の2つの動作モードでオペランドを動作ユニットによって同期して処理する、
    請求項1に記載の方法。
  6. 前記のオペランドを第1動作モードでは同期処理し、第2動作モードでは非同期処理する、
    請求項1に記載の方法。
  7. 前記のオペランドまたは当該オペランドから導出したデータが一致するか否かを比較し、異なっている場合にはエラーと識別する、
    請求項1に記載の方法。
  8. オペランドを処理した際に発生した状態または結果(ResultA,ResultB)が一致するか否かを比較し、異なっている場合にはエラーと識別し、ここで当該比較を都度の動作モードに依存して行う、
    請求項1に記載の方法。
  9. 前記の動作モードおよび前記の比較に依存し、リリース信号によって前記の状態または結果をリリースする、
    請求項8に記載の方法。
  10. 前記の動作モードに依存し、リリース信号によって前記の状態または結果を、同時または順次にリリースする、
    請求項9に記載の方法。
  11. あらかじめ設定可能なクロックで作動可能な少なくとも2つの実行ユニットを有するプロセッサユニットにおけるオペランド処理装置であって、
    ここでは制御装置が含まれており、
    該制御装置により、制御信号によって前記実行ユニットが駆動制御されてオペランドが処理され、また第1動作モードと第2動作モードとの間で切り換えが行われる形式の、オペランド処理装置において、
    前記の制御装置は、実行ユニットおよび別の供給ユニットに接続されており、
    また前記の制御装置は供給ユニットと協働して、第1動作モードでは2つ実行ユニットに同じオペランドが供給され、第2動作モードでは2つの実行ユニットに別個のオペランドが供給されるようにし、
    ここで前記制御装置を構成して、第1動作モードでは同じ制御信号によって2つの実行ユニットが駆動制御されて前記オペランドが処理され、また第2動作モードでは相異なる制御信号によって2つの実行ユニットが駆動制御されて前記オペランドが処理されようにしたことを特徴とする
    オペランド処理装置。
  12. 前記の制御装置および供給装置を構成して、第1動作モードでは、フルクロックである実行ユニットのクロックに依存して実行ユニットにオペランドが供給され、また第2動作モードでは、フルクロックよりも一層高速な第2クロックでオペランドが供給されて処理されるようにした、
    請求項11に記載の装置。
  13. 前記の少なくとも2つの実行ユニットは演算装置(ALUA,ALUB)として構成されている、
    請求項11に記載の装置。
  14. 前記の供給ユニットおよび実行ユニットを構成して、当該の供給ユニットおよび実行ユニットが第1動作モードにおいて同期して同じクロックで動作するないしは作動されるようにした、
    請求項11に記載の装置。
  15. 前記供給ユニットをレジスタ装置として構成して、少なくとも1つのオペランドレジスタが設けられており、またオペランドレジスタおよび各実行ユニット間に少なくとも1つの中間レジスタが設けられているようにした、
    請求項11に記載の装置。
  16. 前記の供給ユニットおよび実行ユニットを構成して、当該の供給ユニットおよび実行ユニットが第2動作モードで別個のクロックで動作するか、または作動されるようにした、
    請求項11に記載の装置。
  17. 前記の供給ユニットを構成して、当該供給ユニットが第2動作モードにて実行ユニットの2倍のクロックで動作するか、または作動されるようにした、
    請求項11に記載の装置。
  18. 切換条件が識別するデコーダが設けられており、ここで該デコーダは供給ユニットと同じクロックで動作するか作動される、
    請求項11に記載の装置。
  19. 比較手段が設けられており、
    該比較手段を構成して、前記のオペランドまたは当該オペランドから導出したデータが一致するか否かが比較され、異なる場合にはエラーと識別されるようにした、
    請求項11に記載の装置。
  20. 比較手段が設けられており、
    該比較手段を構成して、前記のオペランドを処理した際に発生した状態または結果(ResultA,ResultB)が一致するか否かが比較され、異なる場合にはエラーと識別されるようにした、
    請求項11に記載の装置。
  21. 第1の切換手段が設けられており、
    当該の第1の切換手段を構成するかないしは作動させて、当該の第1の切換手段により、供給ユニットからのオペランドが、第1または第2動作モードに依存して切り換えられて接続されるようにした、
    請求項11に記載の装置。
  22. 第2の切換手段が設けられており、
    当該の第2の切換手段を構成するかないしは作動させて、当該の第2の切換手段により、前記実行ユニットが第1または第2動作モードに依存して作動されるようにした、
    請求項11に記載の装置。
  23. あらかじめ設定可能なクロックで作動可能な少なくとも2つの実行ユニットを有し、オペランド処理装置を有するプロセッサユニットであって、
    ここでは制御装置が含まれており、
    該制御装置により、制御信号によって前記実行ユニットが駆動制御されてオペランドが処理され、また第1動作モードと第2動作モードとの間で切り換えが行われる形式の、オペランド処理装置を有するプロセッサユニットにおいて、
    前記の制御装置は、実行ユニットおよび別の供給ユニットに接続されており、
    また前記制御装置は当該供給ユニットと協働して、第1動作モードでは2つ実行ユニットに同じオペランドが供給され、第2動作モードでは2つの実行ユニットに別個のオペランドが供給されるようにし、
    ここで前記制御装置を構成して、第1動作モードでは同じ制御信号によって2つの実行ユニットが駆動制御されて前記オペランドが処理され、また第2動作モードでは相異なる制御信号によって2つの実行ユニットが駆動制御されて前記オペランドが処理されようにしたことを特徴とする、
    オペランド処理装置を有するプロセッサユニット。
  24. 請求項12から22までのいずれか1項に記載の装置を有する、
    請求項23に記載のプロセッサユニット。
JP2006535934A 2003-10-24 2004-08-07 プロセッサユニットにおけるオペランド処理方法および装置 Expired - Fee Related JP4443569B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10349580A DE10349580A1 (de) 2003-10-24 2003-10-24 Verfahren und Vorrichtung zur Operandenverarbeitung in einer Prozessoreinheit
PCT/DE2004/001779 WO2005045665A1 (de) 2003-10-24 2004-08-07 Verfahren und vorrichtung zur operandenverarbeitung in einer prozessoreinheit

Publications (2)

Publication Number Publication Date
JP2007509399A true JP2007509399A (ja) 2007-04-12
JP4443569B2 JP4443569B2 (ja) 2010-03-31

Family

ID=34484988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006535934A Expired - Fee Related JP4443569B2 (ja) 2003-10-24 2004-08-07 プロセッサユニットにおけるオペランド処理方法および装置

Country Status (9)

Country Link
US (1) US20080052494A1 (ja)
EP (2) EP1895405A1 (ja)
JP (1) JP4443569B2 (ja)
KR (1) KR20060098372A (ja)
CN (1) CN1871582A (ja)
AT (1) ATE384993T1 (ja)
DE (2) DE10349580A1 (ja)
RU (1) RU2360280C2 (ja)
WO (1) WO2005045665A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505187A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの命令実行部を備えたコンピュータシステムにおいてレジスタセットの切り替えにより初期状態を設定する方法および装置
JP2015146072A (ja) * 2014-01-31 2015-08-13 大日本印刷株式会社 情報処理装置、icカード、コマンド処理方法、及びコマンド処理プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006050715A1 (de) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Verfahren und System zum Erzeugen eines gültigen Signals
EP2153328B1 (en) * 2007-05-25 2011-08-10 Freescale Semiconductor, Inc. Data processing system, data processing method, and apparatus
US8650440B2 (en) 2008-01-16 2014-02-11 Freescale Semiconductor, Inc. Processor based system having ECC based check and access validation information means
US9623817B2 (en) * 2010-02-12 2017-04-18 GM Global Technology Operations LLC Method and system for controlling electrical systems of vehicles
RU2558613C2 (ru) * 2013-06-19 2015-08-10 Федеральное государственное бюджетное образовательное учреждение высшего образования "Вятский государственный университет" (ВятГУ) Способ организации параллельно-конвейерных вычислений в однородной вычислительной среде с коммутационно-потоковым управлением
GB2537942B (en) * 2015-05-01 2017-06-14 Imagination Tech Ltd Fault tolerant processor for real-time systems
US9680653B1 (en) * 2016-10-13 2017-06-13 International Business Machines Corporation Cipher message with authentication instruction
US10520928B2 (en) * 2017-05-15 2019-12-31 Rockwell Automation Technologies, Inc. Safety industrial controller providing diversity in single multicore processor
RU186547U1 (ru) * 2018-10-16 2019-01-23 Межрегиональное общественное учреждение "Институт инженерной физики" Процессор повышенной достоверности функционирования
CN113342528A (zh) * 2021-06-15 2021-09-03 鹏城实验室 指令处理方法及处理器
GB2620134A (en) * 2022-06-28 2024-01-03 Advanced Risc Mach Ltd Integrity checking

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828868A (en) * 1996-11-13 1998-10-27 Intel Corporation Processor having execution core sections operating at different clock rates
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6665818B1 (en) * 2000-04-27 2003-12-16 Hewlett-Packard Development Company, L.P. Apparatus and method for detecting, diagnosing, and handling deadlock errors
US6772368B2 (en) * 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
DE10136335B4 (de) * 2001-07-26 2007-03-22 Infineon Technologies Ag Prozessor mit mehreren Rechenwerken
US7055060B2 (en) * 2002-12-19 2006-05-30 Intel Corporation On-die mechanism for high-reliability processor
US7287185B2 (en) * 2004-04-06 2007-10-23 Hewlett-Packard Development Company, L.P. Architectural support for selective use of high-reliability mode in a computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505187A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの命令実行部を備えたコンピュータシステムにおいてレジスタセットの切り替えにより初期状態を設定する方法および装置
JP2015146072A (ja) * 2014-01-31 2015-08-13 大日本印刷株式会社 情報処理装置、icカード、コマンド処理方法、及びコマンド処理プログラム

Also Published As

Publication number Publication date
KR20060098372A (ko) 2006-09-18
DE10349580A1 (de) 2005-05-25
WO2005045665A1 (de) 2005-05-19
US20080052494A1 (en) 2008-02-28
EP1680737A1 (de) 2006-07-19
ATE384993T1 (de) 2008-02-15
CN1871582A (zh) 2006-11-29
RU2006117642A (ru) 2007-12-10
JP4443569B2 (ja) 2010-03-31
RU2360280C2 (ru) 2009-06-27
EP1895405A1 (de) 2008-03-05
EP1680737B1 (de) 2008-01-23
DE502004006070D1 (de) 2008-03-13

Similar Documents

Publication Publication Date Title
US20070245133A1 (en) Method and Device for Switching Between at Least Two Operating Modes of a Processor Unit
JP4443569B2 (ja) プロセッサユニットにおけるオペランド処理方法および装置
KR900002604B1 (ko) 제어기억장치를 갖는 정보처리장치내의 에러회복 장치 및 방법.
US7287185B2 (en) Architectural support for selective use of high-reliability mode in a computer system
EP1324190B1 (en) Data processing system having a read-modify-write unit
US11263081B2 (en) Checkpointing
US9063907B2 (en) Comparison for redundant threads
GB2567190A (en) Error recovery for intra-core lockstep mode
JP2005129053A (ja) フォールトトレラント・マルチコア・マイクロプロセッシング
JPH07302200A (ja) 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。
JP2005166057A (ja) 障害検出コンピュータシステム
JP2008518298A (ja) 複数のコンポーネントを有する計算機システムで信号を生成するための方法および装置
JP2008518299A (ja) 少なくとも2つの実行ユニットを有する計算機システムの信号を評価するための方法および装置
US7146530B2 (en) Targeted fault tolerance by special CPU instructions
JP2008518297A (ja) 少なくとも2つの実行ユニットを有する計算機システムで切替を行うための装置および方法
JP2008518301A (ja) 少なくとも2つの実行ユニットを有する計算機システムで切替を行うための方法および装置
US7159152B2 (en) System with a monitoring device that monitors the proper functioning of the system, and method of operating such a system
CN107423029B (zh) 计算单元
US8954794B2 (en) Method and system for detection of latent faults in microcontrollers
US7392432B2 (en) Synchronizing cross checked processors during initialization by miscompare
US20220164255A1 (en) Checkpointing
KR101923778B1 (ko) 듀얼 모듈러 리던던시 및 오류 예측을 이용한 고성능 컴퓨팅 장치 및 그 방법
JP2024076683A (ja) 電子制御装置
JP2007213415A (ja) メモリ装置
JPH11327940A (ja) 命令再実行制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080919

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081217

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091211

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100112

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140122

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees