JP2008518313A - 可変のクロックレートを伴うデータ処理システム - Google Patents
可変のクロックレートを伴うデータ処理システム Download PDFInfo
- Publication number
- JP2008518313A JP2008518313A JP2007537306A JP2007537306A JP2008518313A JP 2008518313 A JP2008518313 A JP 2008518313A JP 2007537306 A JP2007537306 A JP 2007537306A JP 2007537306 A JP2007537306 A JP 2007537306A JP 2008518313 A JP2008518313 A JP 2008518313A
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- processing system
- clock rate
- clock
- arithmetic unit
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 58
- 238000012544 monitoring process Methods 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims abstract description 31
- 230000007488 abnormal function Effects 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 25
- 238000012360 testing method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 16
- 238000007689 inspection Methods 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims 1
- 230000002269 spontaneous effect Effects 0.000 description 5
- 230000003936 working memory Effects 0.000 description 5
- 239000003990 capacitor Substances 0.000 description 4
- 230000003071 parasitic effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005865 ionizing radiation Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000007847 structural defect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1695—Error detection or correction of the data by redundancy in hardware which are operating with time diversity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Testing Of Coins (AREA)
- Treatment And Processing Of Natural Fur Or Leather (AREA)
- Information Transfer Systems (AREA)
- Hardware Redundancy (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
データ処理システムは、クロック制御されて機能する演算ユニット(1)と、演算ユニットのためにクロック信号を供給するクロックジェネレータ(5)と、演算ユニット(1)の正常な機能を監視する監視ユニット(3)と、を備える。クロックジェネレータ(5)は、制御可能な周波数を伴うクロック信号を供給するように構成される。監視ユニット(3)は、演算ユニット(1)の異常な機能が検出された場合には、クロック信号の周波数を低下させるために、クロックジェネレータ(5)に機能的に接続される。
【選択図】図1
【選択図】図1
Description
本発明は、例えばマイクロプロセッサのような、クロック制御されて機能する演算ユニットと、演算ユニットのためにクロック信号を供給するクロックジェネレータと、演算ユニットの正常な機能を監視する監視ユニットとを備えるデータ処理システムに関する。
(背景技術)
「ウォッチドッグ」の名称でも知られる、この種の監視ユニットは、従来のように、演算ユニットの未定義の状態もしくはシステム崩壊を認識して、必要な場合には、定義された動作状態を再び形成するために、演算ユニットをリセットするために用いられる。この種のウォッチドッグは、リセットの間の演算ユニットの一時的な動作中断を許容しながら、例えば宇宙線または他の電離放射などの影響による情報損失に基づく、自然発生的な処理エラーから生じる可能性のある障害状態を除去することができる。処理中の再現可能なエラーをもたらす、回路技術的またはプログラム技術的な類のデータ処理システム上の構造欠陥は、いわゆるウォッチドッグによっては認識不能である。というのは、ウォッチドッグは、予測可能な方法でエラーをもたらす状況の発生を回避できないためである。
「ウォッチドッグ」の名称でも知られる、この種の監視ユニットは、従来のように、演算ユニットの未定義の状態もしくはシステム崩壊を認識して、必要な場合には、定義された動作状態を再び形成するために、演算ユニットをリセットするために用いられる。この種のウォッチドッグは、リセットの間の演算ユニットの一時的な動作中断を許容しながら、例えば宇宙線または他の電離放射などの影響による情報損失に基づく、自然発生的な処理エラーから生じる可能性のある障害状態を除去することができる。処理中の再現可能なエラーをもたらす、回路技術的またはプログラム技術的な類のデータ処理システム上の構造欠陥は、いわゆるウォッチドッグによっては認識不能である。というのは、ウォッチドッグは、予測可能な方法でエラーをもたらす状況の発生を回避できないためである。
電子的なデータ処理システムで処理エラーをもたらす他の潜在的な原因は、ランタイム効果(runtime effect, Laufzeiteffekte)である。電子信号は、データ処理システムの半導体チップ上または複数のチップ間で所定の速度でのみ伝達されるので、システムが動作されるクロック周波数が高いほど、信号経路長が短縮され、かつ互いに正確に同調される必要がある。信号線の寄生キャパシタは、信号レベルの変化を遅延させる。この寄生キャパシタは製造によりばらつくので、通常、プロセッサの製造に際して、プロセッサが確実に機能する最大のクロック周波数が検査される。この周波数(安全マージンを差し引いて)では、プロセッサが解放(release, freigegeben)され、かつ解放された最大周波数とそれ以下のクロック周波数では、プロセッサが確実に動作しうることが前提となる。
すでに、ネットワークに依存しないアプリケーションのためのプロセッサを、利用率に応じて、各々に異なるクロック周波数で動作させることが提案されている。この対策の目的は、プロセッサの電力消費を最小限にすることである。この電力消費はクロック周波数に伴って線形的に増加するので、プロセッサの実際のタスク処理に必要とされるクロックレートを超えないクロックレートで、プロセッサを動作させることが望ましい。
電子的な構成素子の劣化現象が、データ処理システムにおける自然発生的な処理エラーの発生確率の増加をもたらすものと判断される。この増加は、例えば、回路が実装される半導体基板の境界面で、回路を損なう寄生キャパシタの変化をもたらす長期変化によって、説明される。回路素子内のドーピング材料の移動も、動作温度が高い際には排除できず、その場合には、その種の移動の影響は、半導体基板上に構成される構造が小さいほど大きくなる。よって、集積密度を向上させるという開発動向を考慮すれば、今後とも重要性が高まる、劣化に基づく信頼性の問題を考慮する必要がある。
(発明の利点)
請求項1に定義される本発明によれば、前述した問題にもかかわらず、長期的に高水準の動作安全性を保証し、それによって、特に、自然発生的な機能障害を可能な限り回避することが重要である安全上クリティカルなアプリケーションに良好に適した、データ処理システムが提供される。
請求項1に定義される本発明によれば、前述した問題にもかかわらず、長期的に高水準の動作安全性を保証し、それによって、特に、自然発生的な機能障害を可能な限り回避することが重要である安全上クリティカルなアプリケーションに良好に適した、データ処理システムが提供される。
この利点は、クロック制御されて機能する演算ユニットと、演算ユニットのためにクロック信号を供給するクロックジェネレータと、演算ユニットの正常な機能を監視する監視ユニットと、を備えるデータ処理システムにおいて、クロックジェネレータが制御可能な周波数を伴うクロック信号を供給するように構成され、監視ユニットは、演算ユニットの異常な機能が検出された場合には、クロック信号の周波数を低下させるために、クロックジェネレータに機能的に接続されることによって達成される。
前述された寄生キャパシタ、または場合によってはドーピング移動によってもたらされる、回路構成部の効率の低下が、データ処理システムで発生する自然発生的エラーの本質的な原因に関与していると推定される。この種のエラーが発生しクロックレートが低下した場合には、最適な条件下でシステムにより達成可能な計算容量の一部が放棄されるが、システムの全般的な信頼性は維持される。
クロックレートを低下させる場合には、データ処理システム上で実行されるアプリケーションであって、少なくとも最初に一時的に特定された高いクロックレートで達成されるシステムの計算出力を全て使用するアプリケーションを実行可能な状態に維持するために、アプリケーションは、望ましくは多数の機能に分割される必要があり、その場合には、異常の場合に省略可能であると判断される、少なくとも1つの機能の実行が、システムの実際のクロックレートに応じて、許可されまたは許可されないようにしてもよい。
監視ユニットは、それ自体が既知のウォッチドッグユニットを備えることができ、それは、予め設定された期間内に演算ユニットからの機能信号が生じなかった場合には、演算ユニットの異常な機能を検出するが、ウォッチドッグユニットは、機能信号が生じなかった場合には、従来方法のようにデータ処理システムをリセットせずに、単にクロック信号の周波数の低下を指示するようにしてもよい。
その代りに、またはそれと組合せて、監視ユニットは、実際のクロックレートと実際のクロックレートから変更されたクロックレートとにより、演算ユニットによるテスト処理を実行させ、実際のクロックレートで実行されたテスト処理の結果と変更されたクロックレートで実行されたテスト処理の結果とが異なる場合には、演算ユニットの正常な機能を検出するように、構成されるようにしてもよい。
変更されたクロックレートが実際のクロックレートより増加されたクロックレートであるようにしてもよい。これにより、それを越えると処理エラーが発生する限界クロック周波数が、実際のクロック周波数の水準まで低下する前に、自然発生的エラーをもたらすデータ処理システムの傾向が検出されうる。
テスト処理の実行を制御する監視ユニットが、簡単かつ安価に、プログラム技術的な方法で演算ユニットに実装されるようにしてもよい。
他の実施形態によれば、第2の演算ユニットおよび監視ユニットを備えるデータ処理システムは、2つの演算ユニットの処理結果を比較する手段を備え、かつ結果が一致しない場合には、異常な機能を検出するように、構成されるようにしてもよい。この場合、データ処理システムの信頼性を評価するためには、テスト処理が一度実施されれば十分である。
この実施形態でも、動作安全性を検査するために、クロック周波数を一時的に実際のクロック周波数より増加させ、増加されたクロック周波数で異常な機能が検出された場合には、クロック周波数を実際のクロック周波数より低下させるようにすれば、効果的である。
データ処理システムは、クロック周波数が下限値より低下した場合には、警告信号を出力する手段を備えるようにしてもよい。
データ処理システムが車両制御装置、特にエンジン制御装置であるようにしてもよい。
本発明の他の対象は、データ処理システム、特に前述した類のデータ処理システムでクロック制御されて機能する演算ユニットを動作させる方法に関するものであって、同方法において、演算ユニットが正常な機能について検査され、演算ユニットの異常な機能が検出された場合には、クロックレートが低下され、その場合に検査が規則的に繰り返される。規則的な検査は、特に、データ処理システムのスイッチオンおよび/またはスイッチオフの各々に際して行われるようにしてもよく、あるいはデータ処理システムの駆動中に周期的に行われるようにしてもよい。
(実施例の説明)
本発明の他の特徴と利点は、添付図面を参照して行う、以下の実施例の説明から明らかにされる。
本発明の他の特徴と利点は、添付図面を参照して行う、以下の実施例の説明から明らかにされる。
図1に概念的に示されるデータ処理システムは、マイクロプロセッサ1、作業メモリ2および監視ユニット3を備えており、それらはデータおよびアドレスバス4を介して互いに、かつ場合によっては不図示の周辺ユニットと通信し、それら周辺ユニットがシステムの適用に応じて様々に異なることができ、例えばエンジン制御装置として適用される場合には、エンジンの動作パラメータを検出する様々なセンサおよびエンジンに関するそれらのまたは他のパラメータを調節するアクターを備えうる。システムは、さらに、クロックジェネレータ5を備えており、そのクロックジェネレータは、特定された周波数を伴うクロック信号を監視ユニット3によって制御線6を介して、マイクロプロセッサ1、作業メモリ2および監視ユニット3に供給する。
作業メモリ2は、マイクロプロセッサ1によって実行すべきアプリケーションおよびテスト処理のプログラム指令を有する。
マイクロプロセッサ1は、製造者によって機能−クロック周波数について特定されている。通常の動作状態では、監視ユニット3は、マイクロプロセッサ1がアプリケーションを実行する間に亘って、この特定されたクロック周波数を発生させるために、クロックジェネレータ5を動作させる。システムがオンにされると(システムがエンジン制御装置として機能する場合には、例えばイグニションキーを回転することによって)、マイクロプロセッサ1は、アプリケーションの開始前に初期化を実行し、そのシーケンスが図2を用いて説明される。第1のステップS1では、監視ユニット3が、クロックジェネレータのクロック周波数fをマイクロプロセッサ1のために特定された周波数fnomに設定する。マイクロプロセッサ1は、このクロック周波数で、すでに説明したテスト処理をステップS2で実行する。このテスト処理は、例えば、算術的または論理的な演算の結果とすることができ、その演算は作業メモリ2から読み出された定数で実行されるので、各実行に際しては、同一の結果が得られるはずである。テスト処理の最後のステップS3は、監視ユニット3に関連づけられたアドレスへの結果の書込みであるので、監視ユニットが結果Rnomを受信して一時的に記憶する。
次に、監視ユニット3がクロック周波数fをfnom+Δに増加させて(S4)、その増加された周波数でマイクロプロセッサ1にテスト処理を繰り返させる(S5)。そして、結果Rincが再び監視ユニット3に書込まれる(S6)。ステップS7では、監視ユニットが受信した2つの結果Rnom、Rincを比較する。2つの結果が一致した場合には、2つのクロック周波数fnomおよびfnom+Δで、プロセッサ1が正常に機能したことが推定される。この場合、ステップS8では、クロック周波数fがfnomにリセットされて、マイクロプロセッサ1がアプリケーションの実行を開始する。
ステップS7で、2つの結果が一致しなかった場合には、それは、増加されたクロック周波数fnom+Δでは、動作が確実ではないことを意味する。この動作が確実でない周波数からの安全マージンを維持するために、ステップS9では、新たに低下された動作周波数f=fnom−Δに調節される。ステップS10では、マイクロプロセッサ1は、システムの製造者によって準備されて作業メモリ2に格納されているリストを用いて、アプリケーションの機能能力をその本質的な特徴部分で維持し、外的事象に対するアプリケーションの許容不能な応答時間の遅延を回避し、その機能を場合によっては遮断するために、低下されたクロックレートでは実行が阻止されるべき機能をアプリケーションが有しているか否か、を検査する。さらに、ステップS10では、以下の条件の少なくとも1つが満たされる場合には、ユーザーへの警告表示が出力される:
a)クロック周波数が再びΔ低下すると、アプリケーションの少なくとも1つの機能の遮断が必要となる;
b)ステップS9でのクロックレートの低下が機能の遮断をもたらす;
c)アプリケーション上でクリティカルとはならない全ての機能がすでに遮断されているので、クロックレートのさらなる低下が他の機能の阻止によって吸収できず、システム全体の動作不能がもたらされる。
a)クロック周波数が再びΔ低下すると、アプリケーションの少なくとも1つの機能の遮断が必要となる;
b)ステップS9でのクロックレートの低下が機能の遮断をもたらす;
c)アプリケーション上でクリティカルとはならない全ての機能がすでに遮断されているので、クロックレートのさらなる低下が他の機能の阻止によって吸収できず、システム全体の動作不能がもたらされる。
ステップS1〜S3と、S4〜S10とは、必ずしも時間的に連続して実行される必要はない。すなわち、例えば、システムの一回目の動作開始の間にステップS1〜S3を一度だけ実行し、その結果Rnomを監視ユニット3に記憶することが考えられるので、システムの動作安全性に関する後続の検査をステップS4〜S10の実行のみに限定しうる。
これは、動作安全性の検査がシステムの実行中に周期的に実行される場合には、特に効果的である。というのは、ステップS4〜S10を実行するためには、図2に示す全てのステップを実行する場合と比べて、約半分の期間のみアプリケーションを中断すればよいためである。
図2に示す動作安全性の検査によって、アプリケーションの開始を遅延させないために、その検査をシステムの動作開始時ではなく、システムをオフする直前に実行することもでき、その場合には、前述した場合と全く同様に、ステップS9で場合によっては、後続のステップを繰り返す際には、新たに設定された動作周波数fが特定された周波数fnomとして使用される。
前述した2つのテスト処理の結果Rnom、Rincを比較する課題の他に、監視ユニット3は、既知の方法により、さらに、マイクロプロセッサ1の未定義の動作状態またはシステム崩壊を検出する課題も処理しうる。この目的のために、アプリケーションは、規則的な時間間隔でデッドマン信号の発生を指示するように、設計されており、それが監視ユニット3によって受信される。このデッドマン信号は、例えばマイクロプロセッサ1がテスト処理の結果を書込む、前述したアドレスへの読取りアクセスとしうる。このデッドマン信号は、監視ユニット3内でタイマーを各々にリセットし、そのタイマーの待ち時間は、2つのデッドマン信号の間の予め設定された時間間隔よりも長い。デッドマン信号が予め設定された時間間隔で受信される限り、タイマーが規則的にリセットされて満了できない。システム崩壊の結果、デッドマン信号が受信されず、タイマーが満了した場合には、監視ユニット3がリセット線8(図1)を介してマイクロプロセッサ1のリセットを作動させ、アプリケーションを新たに起動させるようにマイクロプロセッサに指示する。
図3は、2つのマイクロプロセッサ1、11を備える、本発明に基づくデータ処理システムの第2の実施形態を示しており、それらのプロセッサはデータ/アドレスバス4、14を介して各々に関連づけられた作業メモリ2、12と、そして場合によっては不図示の周辺ユニットと通信する。この種の構造を有するデータ処理システムは、例えば、特に6本または多くのシリンダを有するエンジンのためのエンジン制御装置であり、そのエンジンでは、シリンダが2つのグループに分割され、それらのグループが2つのプロセッサ1、11の一方によって各々に制御される。プロセッサ1、11は、共通のクロックジェネレータ5からクロック線7を介してクロック信号を受信する。クロック信号の周波数は、同様に2つのプロセッサ1、11に共通して関連づけられた監視ユニット3によって制御される。データ線およびアドレス線は、バス4、14の全てのリード線がXORゲート20のバンクに接続され、それらの出力は、同一のゲート20の2つの入力に各々に接続される、バスの2本の相同のリード線の値が異なる場合に、「真」の値となる。XORゲート20の出力は、ORゲート21の入力に各々に接続されており、よって、その出力は、バス4、14の2本の任意の相同のリード線の値が異なる場合には、常に「真」の値となる。
図1の実施形態と同様の機能を満たすリセット線8は、監視ユニット3とプロセッサ1、11との間に設けられうる。
この実施形態により可能となる処理方法を、以下で同様に図2を用いて説明する。
第1の代替案によれば、ステップS4のように、監視ユニット3がクロック信号の周波数fを正常な動作時に実際に使用される周波数fnomより増加させるので、監視ユニット3が動作安全性の検査を開始し、マイクロプロセッサ1、11によるテスト処理(S5)を実行させ、その結果はアプリケーションによって必要とされず、安全検査のために用いられる。この処理の間、図2のステップS7に従って、論理ゲート20、21がマイクロプロセッサ1、11によって発生されるデータおよびアドレスを継続的に比較する。これらのデータおよびアドレスが全てのテスト処理の間で等しい場合には、2つのプロセッサ1、11は確実に機能しており、ステップS8でクロック周波数がfnomにリセットされる。しかし、データ値またはアドレスに相違が生じた場合には、方法はステップS9に分岐し、そこでクロック周波数が低下されて、ステップS10では、すでに前述したように、アプリケーションプログラムの機能が遮断される必要があるか、そして場合によっては、該当する機能が検出され、また、場合によってはユーザーへの警告が出力される。
この実施形態によれば、テスト処理の最終結果のみならず、アクセスされたアドレスを含む全ての中間結果も比較されるので、テスト処理のプログラムステップの数が同一にもかかわらず、第1の実施形態よりも高い確率でエラーが検出される。
付加的に、図3のデータ処理システムは、例えば2つのプロセッサ1、11について同一の初期化が実行される、アプリケーションの開始段階で、プロセッサ1、11が正常なクロック周波数fnomで同時に同一の指令を実行した場合でも、プロセッサ1、11のエラーを検出する可能性を提供する。このことが、全く時間ロスなしに、動作安全性の検査を可能にする。
プロセッサと監視ユニットとは、前述した例では別々のユニットとして説明される。しかし、無論、プロセッサによって読取られたデータ内のECCエラーまたはパリティエラーを認識するために、プロセッサ回路に集積されて固定的に配線されたエラー認識機能を有する、プロセッサも使用可能である。この種のプロセッサは、前述した説明の主旨において、プロセッサと監視ユニットとの組合せとして考えられる。
1、11 演算ユニット
3 監視ユニット
5 クロックジェネレータ
20 XORゲート
21 ORゲート
3 監視ユニット
5 クロックジェネレータ
20 XORゲート
21 ORゲート
Claims (13)
- クロック制御されて機能する演算ユニット(1)と、前記演算ユニット(1)のためにクロック信号を供給するクロックジェネレータ(5)と、前記演算ユニット(1)の正常な機能を監視する監視ユニット(3)と、を備えるデータ処理システムにおいて、
前記クロックジェネレータ(5)が制御可能な周波数を伴う前記クロック信号を供給するように構成され、
前記監視ユニット(3)は、前記演算ユニット(1)の異常な機能が検出された場合には、前記クロック信号の周波数を低下させるために、前記クロックジェネレータ(5)に機能的に接続されることを特徴とするデータ処理システム。 - 前記監視ユニット(3)は、ウォッチドッグユニットを備えており、前記ウォッチドッグユニットが、予め設定された期間内に前記演算ユニットからの機能信号が生じなかった場合には、前記演算ユニットの異常な機能を検出することを特徴とする、請求項1に記載のデータ処理システム。
- 前記監視ユニット(3)は、実際のクロックレート(fnom)と前記実際のクロックレートから変更されたクロックレートとにより、前記演算ユニットによるテスト処理を実行させ、前記実際のクロックレートで実行された前記テスト処理の結果と前記変更されたクロックレートで実行された前記テスト処理の結果とが異なる場合には、前記演算ユニットの異常な機能を検出するように、構成されることを特徴とする、請求項1に記載のデータ処理システム。
- 前記変更されたクロックレート(fnom+Δ)が前記実際のクロックレート(fnom)より増加されたクロックレートであることを特徴とする、請求項3に記載のデータ処理システム。
- 前記監視ユニット(3)がプログラム技術的に前記演算ユニット(1)に実装されることを特徴とする、請求項3または4に記載のデータ処理システム。
- 第2の演算ユニット(11)および前記監視ユニット(3、20、21)を備える前記データ処理システムは、前記2つの演算ユニット(1、11)の前記処理結果を比較する手段(20、21)を備え、かつ前記結果が一致しない場合には、異常な機能を検出するように、構成されることを特徴とする、請求項1に記載のデータ処理システム。
- 前記クロックジェネレータ(5)は、前記クロックレートを一時的に実際のクロックレートより増加させ(S4)、前記増加されたクロックレートで異常な機能が検出された場合には、前記クロックレートを前記実際のクロックレートより低下させる(S9)ように、構成されることを特徴とする、請求項6に記載のデータ処理システム。
- 前記クロックレートが下限値より低下した場合には、警告信号を出力する手段を備えることを特徴とする、請求項1〜7に記載のデータ処理システム。
- 前記演算ユニット(1)は、さらに、多数の機能を有するアプリケーションを実行するように構成されており、前記システムの前記実際のクロックレートに応じて、少なくとも1つの前記機能の実行が許可されまたは許可されないことを特徴とする、請求項1〜8に記載のデータ処理システム。
- 車両制御装置であることを特徴とする、請求項1〜9に記載のデータ処理システム。
- 特に請求項1〜10に記載される、クロック制御されて機能する前記演算ユニット(1)を動作させる方法であって、前記演算ユニット(1)が高いクロックレートで正常な機能について検査され(S4−S7)、前記演算ユニットの異常な機能が検出された場合には、前記クロックレートが低下される(S9)、前記方法において、
前記検査が規則的に繰り返されることを特徴とする、クロック制御されて機能する演算ユニットを動作させる方法。 - 前記データ処理システムのスイッチオンおよび/またはスイッチオフの各々に際して、前記検査が行われることを特徴とする、請求項11に記載の方法。
- 前記データ処理システムの動作中、前記検査が周期的に行われることを特徴とする、請求項11に記載の方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410051992 DE102004051992A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems |
DE200410051950 DE102004051950A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem |
DE200510045399 DE102005045399A1 (de) | 2005-09-23 | 2005-09-23 | Datenverarbeitungssystem mit variabler Taktrate |
PCT/EP2005/055549 WO2006045807A2 (de) | 2004-10-25 | 2005-10-25 | Datenverarbeitungssystem mit variabler taktrate |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008518313A true JP2008518313A (ja) | 2008-05-29 |
Family
ID=36090867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007537306A Pending JP2008518313A (ja) | 2004-10-25 | 2005-10-25 | 可変のクロックレートを伴うデータ処理システム |
Country Status (8)
Country | Link |
---|---|
US (1) | US20090265581A1 (ja) |
EP (1) | EP1807760B1 (ja) |
JP (1) | JP2008518313A (ja) |
KR (1) | KR20070068405A (ja) |
CN (1) | CN101048741A (ja) |
AT (1) | ATE408863T1 (ja) |
DE (1) | DE502005005428D1 (ja) |
WO (1) | WO2006045807A2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1667014A4 (en) * | 2003-09-18 | 2009-04-08 | Panasonic Corp | SEMICONDUCTOR CHIP CARD, SEMICONDUCTOR MEMORY CONTROL APPARATUS, AND SEMICONDUCTOR MEMORY CONTROL METHOD |
US20050198469A1 (en) * | 2003-11-12 | 2005-09-08 | Brian Mitchell | Parallel execution optimization method and system |
US8020038B2 (en) * | 2006-09-28 | 2011-09-13 | Hewlett-Packard Development Company, L.P. | System and method for adjusting operating points of a processor based on detected processor errors |
US8094706B2 (en) * | 2007-04-10 | 2012-01-10 | International Business Machines Corporation | Frequency-based, active monitoring of reliability of a digital system |
JP5796311B2 (ja) | 2011-03-15 | 2015-10-21 | オムロン株式会社 | 制御装置およびシステムプログラム |
CN116108803B (zh) * | 2023-04-12 | 2024-03-22 | 北京紫光青藤微系统有限公司 | 用于生成非常规时钟信号的方法及装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE58906115D1 (de) * | 1989-03-31 | 1993-12-09 | Siemens Ag | Verfahren zum Synchronisieren der Phase von Taktsignalen zweier Taktgeneratoren in Kommunikationsnetzen. |
US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
DE4212069C1 (ja) * | 1992-04-10 | 1993-05-19 | Hella Kg Hueck & Co, 4780 Lippstadt, De | |
DE4231703C2 (de) * | 1992-09-22 | 1996-01-11 | Siemens Ag | Mikroprozessor mit CPU und EEPROM |
JPH09305569A (ja) * | 1996-01-17 | 1997-11-28 | Texas Instr Inc <Ti> | Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置 |
US6020751A (en) * | 1997-01-02 | 2000-02-01 | Intel Corporation | Method and apparatus for stress testing of a circuit board assembly |
DE19712375A1 (de) * | 1997-03-25 | 1998-10-01 | Bosch Gmbh Robert | Watchdog-Schaltung |
JP2000268565A (ja) * | 1999-03-16 | 2000-09-29 | Toshiba Corp | 同期型半導体記憶装置 |
US6985547B2 (en) * | 1999-09-27 | 2006-01-10 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System and method of digital system performance enhancement |
JP3981234B2 (ja) * | 2000-02-21 | 2007-09-26 | 松下電器産業株式会社 | マイクロコンピュータ |
JP2001297039A (ja) * | 2000-04-12 | 2001-10-26 | Matsushita Electric Ind Co Ltd | データ処理装置 |
JP3450814B2 (ja) * | 2000-09-26 | 2003-09-29 | 松下電器産業株式会社 | 情報処理装置 |
US7260741B2 (en) * | 2001-09-18 | 2007-08-21 | Cedar Point Communications, Inc. | Method and system to detect software faults |
JP3485558B1 (ja) * | 2002-05-28 | 2004-01-13 | 沖電気工業株式会社 | 半導体集積回路 |
US7233877B2 (en) * | 2003-08-29 | 2007-06-19 | Sun Microsystems, Inc. | System health monitoring |
US20050240806A1 (en) * | 2004-03-30 | 2005-10-27 | Hewlett-Packard Development Company, L.P. | Diagnostic memory dump method in a redundant processor |
GB0411054D0 (en) * | 2004-05-18 | 2004-06-23 | Ricardo Uk Ltd | Fault tolerant data processing |
JP4393954B2 (ja) * | 2004-09-09 | 2010-01-06 | Okiセミコンダクタ株式会社 | マイクロコンピュータ |
US7356733B2 (en) * | 2004-10-25 | 2008-04-08 | Hewlett-Packard Development Company, L.P. | System and method for system firmware causing an operating system to idle a processor |
US7502958B2 (en) * | 2004-10-25 | 2009-03-10 | Hewlett-Packard Development Company, L.P. | System and method for providing firmware recoverable lockstep protection |
WO2006045806A2 (de) * | 2004-10-25 | 2006-05-04 | Robert Bosch Gmbh | Verfahren und vorrichtung zur steuerung eines rechnersystems |
US7516359B2 (en) * | 2004-10-25 | 2009-04-07 | Hewlett-Packard Development Company, L.P. | System and method for using information relating to a detected loss of lockstep for determining a responsive action |
US7747932B2 (en) * | 2005-06-30 | 2010-06-29 | Intel Corporation | Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system |
US7747897B2 (en) * | 2005-11-18 | 2010-06-29 | Intel Corporation | Method and apparatus for lockstep processing on a fixed-latency interconnect |
-
2005
- 2005-10-25 DE DE502005005428T patent/DE502005005428D1/de active Active
- 2005-10-25 US US11/666,410 patent/US20090265581A1/en not_active Abandoned
- 2005-10-25 JP JP2007537306A patent/JP2008518313A/ja active Pending
- 2005-10-25 AT AT05811130T patent/ATE408863T1/de not_active IP Right Cessation
- 2005-10-25 WO PCT/EP2005/055549 patent/WO2006045807A2/de active Application Filing
- 2005-10-25 EP EP05811130A patent/EP1807760B1/de not_active Not-in-force
- 2005-10-25 KR KR1020077009249A patent/KR20070068405A/ko not_active Application Discontinuation
- 2005-10-25 CN CNA200580036469XA patent/CN101048741A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE502005005428D1 (de) | 2008-10-30 |
WO2006045807A3 (de) | 2006-08-03 |
US20090265581A1 (en) | 2009-10-22 |
ATE408863T1 (de) | 2008-10-15 |
EP1807760B1 (de) | 2008-09-17 |
KR20070068405A (ko) | 2007-06-29 |
WO2006045807A2 (de) | 2006-05-04 |
EP1807760A2 (de) | 2007-07-18 |
CN101048741A (zh) | 2007-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6434591B1 (en) | Thread control system and method in a computer system | |
US20060179358A1 (en) | System and method for recovering from errors in a data processing system | |
JP6647289B2 (ja) | セーフティサブシステムを有するプログラマブルic | |
JP2008518313A (ja) | 可変のクロックレートを伴うデータ処理システム | |
US20060230256A1 (en) | Credit-based activity regulation within a microprocessor | |
US20040225831A1 (en) | Methods and systems for preserving dynamic random access memory contents responsive to hung processor condition | |
KR20190035480A (ko) | 마이크로 컨트롤러 및 마이크로 컨트롤러의 제어방법 | |
JPH07168741A (ja) | ウォッチドッグタイマ装置 | |
JP2014081700A (ja) | プログラマブルコントローラ、プログラマブルコントローラのデータバックアップ方法、プログラマブルコントローラの起動方法 | |
US7437599B2 (en) | System and method for effectively implementing an immunity mode in an electronic device | |
US8726099B2 (en) | Data processing system | |
JP2007034469A (ja) | データエラー検出装置およびデータエラー検出方法 | |
JPH06324914A (ja) | コンピュータの暴走検出方法 | |
US10747611B2 (en) | Safety enhancement for memory controllers | |
US11429481B1 (en) | Restoring memory data integrity | |
US8230286B1 (en) | Processor reliability improvement using automatic hardware disablement | |
US20100308867A1 (en) | Semiconductor device and abnormality prediction method thereof | |
JPH08339308A (ja) | デジタル処理装置 | |
JP2677609B2 (ja) | マイクロコンピュータ | |
JP4647276B2 (ja) | 半導体回路装置 | |
KR102553275B1 (ko) | 전원 오동작시 메모리의 안정적인 동작을 보장하는 반도체 장치 및 그 방법 | |
JP2018112910A (ja) | 電力制御監視装置とこれを用いたコンピュータ及び電力制御監視方法とプログラム | |
JP2018081427A (ja) | 演算器の動作保証方法 | |
JPH06150029A (ja) | リセット制御装置 | |
JP2001188687A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090721 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091215 |