JP5362856B2 - エラー発生指示回路、記憶装置、情報処理装置及びエラー発生指示回路の制御方法 - Google Patents
エラー発生指示回路、記憶装置、情報処理装置及びエラー発生指示回路の制御方法 Download PDFInfo
- Publication number
- JP5362856B2 JP5362856B2 JP2011552631A JP2011552631A JP5362856B2 JP 5362856 B2 JP5362856 B2 JP 5362856B2 JP 2011552631 A JP2011552631 A JP 2011552631A JP 2011552631 A JP2011552631 A JP 2011552631A JP 5362856 B2 JP5362856 B2 JP 5362856B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- error
- unit
- circuit
- satisfied
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 69
- 230000010365 information processing Effects 0.000 title claims description 8
- 238000012545 processing Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 16
- 238000003780 insertion Methods 0.000 description 13
- 230000037431 insertion Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 102220475756 Probable ATP-dependent RNA helicase DDX6_S30A_mutation Human genes 0.000 description 2
- 102220474389 Retinoic acid receptor RXR-alpha_S27A_mutation Human genes 0.000 description 2
- 102220471545 Single-stranded DNA cytosine deaminase_S26A_mutation Human genes 0.000 description 2
- 102220070930 rs794728599 Human genes 0.000 description 2
- 101001115218 Homo sapiens Ubiquitin-40S ribosomal protein S27a Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
Images
Classifications
-
- 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/0766—Error or fault reporting or storing
- G06F11/0781—Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
-
- 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/0706—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 the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—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 the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Retry When Errors Occur (AREA)
Description
本発明は、エラー発生指示回路、記憶装置、情報処理装置及びエラー発生指示回路の制御方法に関する。
プロセッサの論理装置に擬似的な障害を発生させる擬似障害発生方式が知られている。擬似障害発生方式によれば、プロセッサの状態を示すプロセッサ状態情報と擬似障害を発生させるタイミングの条件を示す障害タイミング条件とを比較し、比較結果に対し、擬似障害挿入タイミングマスクによりマスクをかける。このようにして、擬似障害挿入タイミングマスクは障害挿入タイミング条件のうち設定対象とする条件のみを選択する。その結果擬似障害挿入タイミングが決定され、指定条件が整ったとき、論理装置内の指定された位置に擬似的な障害が挿入される。
又、異なるアーキテクチャを持つ異種計算機の命令を擬似的に実行する異種計算機命令の擬似実行方法が知られている。当該方法によれば、ある計算機において、第1の計算機とは異なるアーキテクチャの第2の計算機の命令(対象命令)を、エラー発生時の動作や、エラー発生時得られるエラー情報を含め、第1の計算機上で忠実に実現することができる。その結果、異なるアーキテクチャを持つ異種計算機の命令を擬似的に実行する場合に、演算エラー割り込み発生時のエラー情報として、本来必要な異種計算機のエラー情報相当の情報を得ることができる。
演算処理装置の命令を実行する命令実行部においてエラーを発生させる場合に、エラー発生条件を満たし、かつエラー発生条件を満たすようになったタイミング以外のタイミングでもエラーを発生させることは困難であった。
エラー発生指示回路は、エラー設定指示が入力されたときに演算処理装置からの命令を実行する命令実行部がエラー発生条件を満たすか否かを判定する。そしてエラー設定指示が入力されたときにエラー発生条件が満たされない場合には所定時間経過後に再度命令実行部がエラー発生条件を満たすか否かを判定し、エラー発生条件が満たされる場合には命令実行部にエラー発生指示を出力する。
本発明によれば命令実行部がエラー発生条件を満たし、かつエラー発生条件を満たすようになったタイミング以外のタイミングでもエラー発生指示を出力することができる。よってエラー発生条件が満たされない場合にエラーが生ずることがなくなるとともに、エラー発生条件を満たすようになった時点以降に時間が経過したタイミングで生ずるエラーに対するシステムの動作を検証することができる。
実施例によれば、演算処理装置としてのCPU(Central Processing Unit)からの命令を処理する命令実行部で擬似障害(以降「エラー」と称する)を発生させる際に、CPUの動作と非同期に動作する待ち合わせ回路(タイマ回路、以下同様)を設ける。ここでエラーは、命令実行部が命令を正常に実行することができなくなるエラーとする(以下同様)。命令実行部においてエラーを発生させることにより、命令実行部及びCPUを含むコンピュータにおける、エラーに応じたシステムの動作を検証する。
命令実行部にエラーを発生させる際、命令実行部は要求される条件のエラーを発生させることが可能か否か、言い換えると所定の条件が満たされるか否かを判定する。所定の条件が満たされれば命令実行部はエラーを発生させるが、所定の条件が満たされない場合、命令実行部は以下の動作を行う。すなわち命令実行部は、待ち合わせ回路を使用して、所定条件を満たすか否かを判定してから一定時間待ち合わせた後に、再度所定の条件が満たされるか否かを判定する。判定の結果、依然として所定の条件が満たされない場合、命令実行部はさらに一定時間待ち合わせた後に再度所定の条件が満たされるか否かを判定する動作を、所定の条件が満たされるまで繰り返す。
命令実行部にエラーを発生させる際、命令実行部は要求される条件のエラーを発生させることが可能か否か、言い換えると所定の条件が満たされるか否かを判定する。所定の条件が満たされれば命令実行部はエラーを発生させるが、所定の条件が満たされない場合、命令実行部は以下の動作を行う。すなわち命令実行部は、待ち合わせ回路を使用して、所定条件を満たすか否かを判定してから一定時間待ち合わせた後に、再度所定の条件が満たされるか否かを判定する。判定の結果、依然として所定の条件が満たされない場合、命令実行部はさらに一定時間待ち合わせた後に再度所定の条件が満たされるか否かを判定する動作を、所定の条件が満たされるまで繰り返す。
命令実行部がエラーを発生させる方法として、オペレータの指示に応じてCPUの動作と非同期にエラーを発生させる方法が考えられる(第1の方法)。又、所定の条件が満たされた時点で、CPUの動作と同期させて命令実行部にエラーを発生させる方法も考えられる(第2の方法)。
第1の方法につき、以下に図1乃至図3とともに述べる。図1はCPU50と記憶装置100とを含む情報処理装置としてのコンピュータの構成を示す。CPU50は記憶装置100に対し命令Aの実行を指示する(S1)。記憶装置100の命令実行部(図示「EXU」)110が命令Aを実行し、命令Aの実行を完了する(S4)。ここで、命令Aがデータの読み書き命令であるものとする。又、命令実行部110が大容量記憶に書き込み対象のデータを書き込むのに要する時間より、受信した書き込み対象のデータをバッファに格納するのに要する時間の方が短く、命令実行部110はCPU50から受け取ったデータを一旦バッファに格納し、バッファ経由で大容量記憶に書き込むものとする。
このような場合、図2に示す如く、命令実行部110は、CPU50から命令Aの実行が指示(S1)された後、命令Aの実行が完了(S4)する前に、命令Aの実行完了を示す完了報告をCPU50に行う、いわゆる突き放し制御を行う(S2)。すなわち、命令実行部110は命令Aに係る書込対象のデータをCPU50から全て受け取りバッファに格納した時点で、命令Aの完了報告をCPU50に対し行う。命令実行部110は、CPU50からデータを受け取ると、受け取ったデータをバッファに格納するとともに、大容量記憶へのデータ書き込み動作を開始する。そしてCPU50への完了報告(S2)後も、バッファ経由で大容量記憶へのデータ書き込み動作を続行する(図9〜図11とともに後述)。
ここで、命令実行部110が命令Aの実行を開始した時点(S1)からCPU50に対し命令Aの完了報告を行なう(S2)までの動作を、命令の実行過程の前半と称する。又、命令実行部110が命令Aの完了報告(S2)を行った時点から大容量記憶へのデータ書き込み動作を完了する(S4)までの動作を、命令の実行過程の後半と称する。上記の如く、この例では命令実行部110が大容量記憶にデータを書き込むのに要する時間より、バッファにデータを格納するのに要する時間の方が短い。このため、突き放し制御により、CPU50は早い段階で命令実行部からの命令Aに関する完了報告を受け取って命令Aの実行を終了し、次の命令Bの実行を開始し得る。よってCPU50の動作を高速化することができる。
ここで図2に示される如く、オペレータが命令Aの実行過程の後半でのエラー発生指示を行ったとする。その場合、命令Aの実行過程の後半に命令実行部110でエラーが生じ、当該エラーの報告がCPU50になされる。ところが、命令Aの実行過程の後半では上記の如く、既にCPU50は命令実行部からの命令Aの完了報告を受け、命令Aの実行を終了している。したがって、CPU50は命令実行部からのエラーの報告を命令Aに係るエラーに関する報告として認識できず、一命令に閉じたエラー(PD: Processing Damage)として処理することができない。その結果CPU50は、当該エラーをコンピュータのシステムのエラー(SD: System Damage)として処理する。この点につき図3とともに以下に説明する。
図3中、命令実行部110に対しエラー発生指示がなされる(ステップS11)。エラー発生指示が行なわれたのが命令前半部の実行中であった場合(ステップS12のYES)、命令実行部110では、CPU50が実行している命令に閉じたエラーとして処理し得るエラーが生ずる(ステップS13)。他方、エラー発生指示が命令後半部の実行中に行われた場合(ステップS12のNO,ステップS14のYES),CPU50は命令実行部から報告されたエラーを、CPU50が実行していた一命令に閉じたエラーとして処理できず、システム全体に係る重大なエラーとして処理するエラーが生ずる(ステップS13)。又、エラー発生指示の行なわれたのが命令の実行過程の前半及び後半のいずれでもなかった場合(ステップS12のNO,ステップS14のNO),エラーの対象が存在しないため、命令実行部110にエラーは生じない(ステップS16)。
このように第1の方法によれば、オペレータによるエラー発生指示(ステップS11)のタイミングに依存して、発生するエラーの種類が異なる。すなわち、エラー発生指示のタイミングに応じて、一命令に閉じるものとして処理される比較的軽度のエラー、あるいはシステム全体に係るものとして処理される比較的重大なエラーが生ずる。又、オペレータが命令の実行過程の前半あるいは後半のタイミングで確実にエラー発生指示を行うことは困難と考えられる。したがって、オペレータは一命令に閉じたものとして処理されるべきエラーを発生させる目的でエラー発生指示を行っても、実際にはシステム全体に係るものとして処理されるエラーが生ずることが想定される。システム全体に係るものとして処理されるエラーが生ずると、場合によってはコンピュータのリセット、OS(Operating System)の再度立ち上げ等が必要となり、コンピュータの復帰に比較的長時間を要し、作業効率が低下する場合が想定される。
次に、第2の方法の場合について説明する。第2の方法では、所定の条件が満たされることを条件として、CPUの動作と同期させて命令実行部にエラーを発生させる。この場合、所定の条件が満たされたタイミングでエラーを発生させるが、所定の条件が満たされたタイミング以降にエラーを発生させることはできない。例えば、所定の条件が満たされたそのタイミングでエラーが発生しても特に問題無いが、所定条件が満たされたタイミングから所定の期間、例えば2クロックサイクル経過後にエラーが発生すると問題が生ずる場合を想定する。このような場合、所定の条件が満たされたタイミングでエラーを発生させることによっては、エラー発生の結果生じる可能性のある問題を発見できない。
本発明の実施例によれば、命令実行部において所定の条件が満たされたと判断され、かつ、所定条件が満たされた時点から更にある時間が経過したタイミングにおいても、命令実行部にエラーを発生させることができる。その結果、確実に一命令に閉じたものとして扱われるエラーを発生させることができるとともに、所定の条件が満たされた状態で様々なタイミングで、CPUの動作と非同期にエラーを発生させることができる。その結果、エラー発生時のシステムの動作の検証を効率的かつ効果的に行える。
図4は実施例による、演算処理装置としてのCPU50と、記憶装置(SU: Storage Unit)200とを含む、情報処理装置としてのコンピュータのブロック図である。図4に示す如く、記憶装置200は、命令実行部(EXU: EXecution Unit))210と、エラー発生指示回路としてのエラー発生指示部(EGU: Error Generation Unit)220とを有する。命令実行部210は、命令の実行の状況をエラー発生指示部220に通知する命令状況通知回路211を有する。命令実行部210はCPU50から命令の実行指示を受け、指示された命令を実行し、実行した命令の完了報告をCPU50に対し行う。エラー発生指示部220はオペレータからエラー設定指示を受け、命令実行部210に対しエラー発生指示を行う。命令実行部210は、エラー発生指示部220からのエラー発生指示を受けると指示されたエラーを発生し、エラー発生をCPU50に報告する。CPU50は命令実行部210からエラー発生の報告を受けると、エラー発生報告のタイミングに応じ、一命令に閉じたエラーとして、あるいはシステム全体のエラーとしてエラーを処理する。
図5とともに、図4に示される記憶装置200の動作例につき説明する。CPU50から記憶装置200に対して、命令Aの実行指示が行われる(ステップS21)。命令Aの実行指示を受け、記憶装置200の命令実行部210は命令Aの実行を開始する(ステップS22)。ここで、命令Aが記憶装置200に対するデータの書き込み指示であるものとする。命令実行部210は、命令Aの実行過程の前半を終了すると、命令Aの完了報告をCPU50に対し行う(ステップS23)。命令実行部からの完了報告を受けて、CPU50は命令Bの実行指示を命令実行部210に対し行う(ステップS25)。ここで、命令Bも命令A同様、記憶装置200に対するデータの書き込み指示であるものとする。一方、命令実行部210は、CPU50への命令Aの完了報告(ステップS23)後、引き続き命令Aの実行過程の後半を実行する。
命令実行部210は、命令Aが完了すると(ステップS26)、命令Bの実行過程の前半の実行を開始する(ステップS27)。命令実行部210は命令Bの実行過程の前半を終了すると、CPU50に対し命令Bの完了報告を行う(ステップS29)。命令実行部210は命令Bの完了報告(ステップS29)後、引き続き命令Bの実行過程の後半を実行し、命令Bの処理を終了する(ステップS30)。
命令実行部210は、命令Aが完了すると(ステップS26)、命令Bの実行過程の前半の実行を開始する(ステップS27)。命令実行部210は命令Bの実行過程の前半を終了すると、CPU50に対し命令Bの完了報告を行う(ステップS29)。命令実行部210は命令Bの完了報告(ステップS29)後、引き続き命令Bの実行過程の後半を実行し、命令Bの処理を終了する(ステップS30)。
ここで、オペレータが記憶装置200の命令発生指示部220に対し、一命令に閉じたものとして扱われるべきエラーを発生させる目的で、エラー設定指示を入力したとする(ステップS24)。図5の例では、エラー設定指示のタイミング(ステップS24)は、命令実行部210が命令Aの後半を実行中のタイミングである。上記の如く、このタイミングでは既に命令実行部210は命令Aの完了報告をCPU50に対し行っている(ステップS23)。したがって、仮にS24のタイミングでエラー発生指示部220が命令実行部210にエラー発生指示を行ったとしても、システム全体に係る重大なエラーとしてエラーが処理されるエラーが生じてしまい、望ましくない。実施例はこのような事態を防止する機能を有する。
図4に示すように、エラー発生指示部220は、命令実行部210の命令状況通知回路211からFIRST信号及びSECOND信号を受信する。そしてこれらのFIRST信号とSECOND信号とに基づいて、命令実行部210が所定の条件を満たすか否かをエラー発生指示部220が判定する。ここでFIRST信号は命令実行部210がある命令の実行過程の前半を実行中であることを示し、SECOND信号は命令実行部210がある命令の実行過程の後半を実行中であることを示す。
図6は、命令状況通知回路211の回路例を示す。図6の命令状況通知回路211は、RS(Reset Set)フリップフロップ回路FF1,FF2(以下単に夫々フリップフロップ回路FF1,FF2と称する)を有する。フリップフロップ回路FF1はFIRST信号を出力し、フリップフロップ回路FF2はSECOND信号を出力する。フリップフロップ回路FF1のセット端子Sには、命令実行部210が命令の実行を開始した際、つまり上記ステップS22あるいはS27のタイミングでアサートされる信号が入力する。信号のアサートとは信号をH(ハイ)レベルにすることを言い、信号のネゲートとは信号をL(ロー)レベルにすることを言う。又、Hレベルは"1"を示し、Lレベルは"0"を示すものとする。フリップフロップ回路FF1のリセット端子Rには、命令実行部210がCPU50に対し完了報告を行った際、つまりステップS23またはS29のタイミングでアサートされる信号が入力する。フリップフロップ回路FF2のセット端子Sにも同様に、命令実行部210がCPU50に対し完了報告を行った際にアサートされる信号が入力する。フリップフロップ回路FF2のリセット端子Rには、命令実行部210が命令の実行を終了した際、つまりステップS26またはS30のタイミングでアサートされる信号が入力する。
以下に図6の命令状況通知回路211の動作につき説明する。当初フリップフロップ回路FF1は、命令実行部210が直近に実行した命令の完了報告を行った時点でリセットされており、FIRST信号はネゲートされている。その後フリップフロップ回路FF1は、命令実行部による命令実行の開始に応じて(S22,S27)セットされ、FIRST信号をアサートする。次に、命令実行部210が実行中の命令の完了報告をCPUに行うと(ステップS23,S29)、フリップフロップ回路FF1はFIRST信号をネゲートする。したがってFIRST信号は、命令実行部210が命令の実行過程の前半を実行中アサートされており、命令の実行過程の後半を実行中ネゲートされ、命令実行部210が命令を実行していない間もネゲートされている。
一方、当初フリップフロップ回路FF2は、命令実行部210が直近に実行した命令の実行を完了した時点でリセットされており、SECOND信号はネゲートされている。その後、命令実行部210が命令の完了報告を行うと(ステップS23,S29)、フリップフロップ回路FF2はセットされ、SECOND信号をアサートする。したがってSECOND信号は、命令実行部210が命令の実行過程の前半を実行中はネゲートされており、命令の実行過程の後半を実行中はアサートされており、命令実行部210が命令を実行していない間ネゲートされている。
したがって、FIRST信号がアサートされており("1")、SECOND信号がネゲートされている("0")ことを検出することにより、エラー発生指示部220は命令実行部210が命令の実行過程の前半を実行中であることを検出できる。すなわちFIRST信号が"1"、SECOND信号が "0"である場合には、命令実行部210が命令の実行過程の前半を実行中であることを示し、それ以外の場合には、命令実行部210が命令の実行過程の前半を実行中ではないことを示す。
逆に、FIRST信号がネゲートされており("0")、SECOND信号がアサートされている("1")ことを検出することにより、エラー発生指示部220は命令実行部210が命令の実行過程の後半を実行中であることを検出できる。すなわちFIRST信号が "0"、SECOND信号が "1"である場合には、命令実行部210が命令の実行過程の後半を実行中であり、それ以外の場合には、命令実行部210が命令の実行過程の後半を実行中ではないことを示す。
逆に、FIRST信号がネゲートされており("0")、SECOND信号がアサートされている("1")ことを検出することにより、エラー発生指示部220は命令実行部210が命令の実行過程の後半を実行中であることを検出できる。すなわちFIRST信号が "0"、SECOND信号が "1"である場合には、命令実行部210が命令の実行過程の後半を実行中であり、それ以外の場合には、命令実行部210が命令の実行過程の後半を実行中ではないことを示す。
図7は、図4に示すエラー発生指示部220の動作の流れの一例を示すフローチャートである。ステップS41でオペレータからエラー設定指示が入力されると、処理をステップS42に移行する。ステップS42でエラー発生指示部220は、命令実行部210の命令状況通知回路211からのFIRST信号が "1"、且つSECOND信号が "0"であるか否かを判定する。FIRST信号が"1"でSECOND信号が"0"である場合(S42のYES)、すなわち命令実行部210が命令前半を実行中でありエラー発生の条件を満たすとき、エラー発生指示部220は命令実行部210に対しエラー発生指示を出力する(ステップS44)。命令実行部210は、エラー発生指示部からエラー発生指示を受けると(図5参照)、現在実行中の命令Bに係るエラーを発生し、その後は発生したエラーに応じた動作を実行する。そして命令実行部210は命令Bに対する報告として、発生したエラーをCPU50に報告する。
他方、FIRST信号が"1"ではなく、SECOND信号が"0"ではない場合(S42のNO)、すなわち命令実行部210が命令の実行過程の前半を実行中ではなくエラー発生の条件を満たさないとき、エラー発生指示部はステップS43に処理を移行する。ステップS43でエラー発生指示部220は、一定時間の待ち合わせを行い、待ち合わせ期間が終了すると、再びステップS42に処理を移行して、命令実行部210が命令の実行過程の前半を実行中か否かの判定を、命令実行部210が命令の実行過程の前半を実行中と判定できるまで繰り返す。
他方、FIRST信号が"1"ではなく、SECOND信号が"0"ではない場合(S42のNO)、すなわち命令実行部210が命令の実行過程の前半を実行中ではなくエラー発生の条件を満たさないとき、エラー発生指示部はステップS43に処理を移行する。ステップS43でエラー発生指示部220は、一定時間の待ち合わせを行い、待ち合わせ期間が終了すると、再びステップS42に処理を移行して、命令実行部210が命令の実行過程の前半を実行中か否かの判定を、命令実行部210が命令の実行過程の前半を実行中と判定できるまで繰り返す。
このようにエラー発生指示部220は、オペレータが一命令に閉じたエラーとして処理することができるエラーを発生させる目的でエラー設定指示を入力した場合、以下の動作を行う。すなわちエラー設定指示入力の時点で命令実行部210が命令の実行過程の前半を実行中であれば、その時点で命令実行部210にエラー発生指示を出力する。他方、エラー設定指示入力の時点で命令実行部210が命令の実行過程の前半を実行中でなければ、命令実行部210が命令の実行過程の前半を実行中と判定できるまで一定時間待ち合わせ、一定時間の経過後に判定を繰り返す。すなわち一定時間の待ち合わせ期間が終了するたびに、命令実行部210が命令の実行過程の前半を実行中か否かをエラー発生指示部20は判定し、命令実行部210が命令の実行過程の前半を実行中であれば命令実行部210にエラー発生指示を出力する。
したがって、エラー発生指示部220はオペレータが一命令に閉じたエラーとして処理することができるエラーを発生させる目的でエラー設定指示を入力した場合、命令実行部210が命令の実行過程の前半を実行中と判定できる場合にのみエラー発生指示を命令実行部210に出力する。したがって、エラー発生指示部220は、オペレータがエラー設定指示をエラー発生指示部220に入力するタイミングにかかわらず、常に一命令に閉じたエラーとして処理することができるエラーを命令実行部210に発生させることができる。
又、エラー発生指示部220は上記の如く、命令実行部210が命令の実行過程の前半を実行中にオペレータからエラー設定指示が入力されれば、その時点でエラー発生指示を命令実行部210に出力する。他方、それ以外の場合、一定時間の待ち合わせ期間の終了ごとにエラー発生条件の判定を行い(ステップS42)、エラー発生条件が満たされれば(S42のYES)、エラー発生指示を命令実行部210に出力する。したがって、エラー発生指示部220は必ずしも命令実行部210が命令の実行過程の前半の実行を開始したタイミングでエラー発生指示を出力するのではない。すなわち、エラー発生指示部220は結果的に、オペレータがエラー設定指示を入力するタイミングに応じ、命令実行部210が命令前半を実行する過程における様々なタイミングでエラー発生指示を出力する。エラー発生指示部220は、CPU50の動作とは非同期に命令実行部210にエラー発生指示を行うことができる。したがって様々な条件において、命令実行部210中のエラー発生時のコンピュータのシステムの動作を検証することができる。すなわち、エラー発生条件が満たされるようになったタイミングとは異なるタイミングでエラーを発生した場合にのみ問題が生ずるような場合であっても、問題を発見することができる可能性がある。
尚、エラー発生指示部220は、システム全体に係る重大なエラーとして処理されるエラーを発生させる目的のエラー設定指示をオペレータが入力した場合には、図7のステップS42で、FIRST信号が "0"、SECOND信号が "1"か否か、つまり当該エラー発生条件を満たすか否かを判定するように動作する。他の動作は上述した図7の動作と同様である。図8は、図4に示すCPU50の構成例を示すブロック図である。図8に示す如く、CPU50は命令制御部51,主記憶制御部52及び内部演算実行部53を有する。命令制御部51は、主記憶制御部52を介し主記憶(メモリ、図8では図示を省略)から命令を読み込み、命令の実行を開始する。命令は、命令制御部51内のレジスタの読み書き、主記憶の読み書き、内部演算の実行、及び記憶装置200の読み書きの各種命令を含む。記憶装置200の読み書きを行う場合、図4とともに上述の如く、CPU50の命令制御部51は、記憶装置200に対し命令の実行指示を行い(ステップS21,S25),記憶装置200から命令の完了報告を受け取る(ステップS23,S29)。
例えば、CPU50が主記憶から読み出したデータを記憶装置200に格納する命令の場合、CPU50は主記憶から読み出したデータを記憶装置200に送信する。そしてCPU50はデータ全ての記憶装置200への送信完了後、記憶装置200から命令実行の完了報告を受けることにより、命令の実行を完了し、次の命令の実行を開始する。このように、記憶装置200がCPU50からデータを全て受信した時点でCPUに完了報告を行うことにより、早い段階でのCPU50による次の命令の実行を可能とし、コンピュータのシステムの動作の高速化を図ることができる。
又、命令制御部51は内部演算実行部53に対し内部演算実行指示を行い、内部演算実行部53から対応する内部演算完了報告を受ける。
図9は、図4に示す命令実行部210の構成を示すブロック図である。図9に示す如く、命令実行部210は、大容量記憶制御部212と、一時バッファ部213と、エラー挿入部214と、大容量記憶215とを有する。又、命令実行部210は、図9では図示を省略しているが、上記の如く、命令状況通知回路211を含む(図4参照)。
図10,図11は、図9に示す命令実行部210の動作を説明するタイムチャートである。以下に図9,図10,図11とともに、命令実行部210の各要素の基本的な動作及び具体的な動作例について説明する。CPU50からの命令は一時バッファ部213に一時的に格納される。大容量記憶制御部212が使用可能な状態である場合、一時バッファ部213は大容量記憶制御部212に命令実行の開始を指示する(ステップS22A,S27A)。命令は、大容量記憶215からの情報読み出し及び大容量記憶215に対する情報書き込みを含む。
図10は、CPU50からの命令A,命令Bが、大容量記憶215からの情報読み出し命令である場合の動作例を示す。この場合、一時バッファ部213がCPU50から命令Aの実行指示を受け(ステップS21),大容量記憶制御部212が大容量記憶215へ読み出しの指示を送る(ステップS22B)。大容量記憶215は大容量記憶制御部からの読み出しの指示に応じてデータの読み出しを行い、読み出したデータを一時バッファ部213へ送る。大容量記憶215はデータの読み出しを完了する(ステップS26)と、読み出し完了報告を大容量記憶制御部212へ送る(ステップS26A)。大容量記憶制御部212は読み出し完了報告を受けて、一時バッファ部213に対し、完了報告を行う(ステップS26B)。一時バッファ部213は大容量記憶制御部からの完了報告を受け、CPU50に対し完了報告を行う(ステップS23)。
CPU50は一次バッファ部213からの完了報告を受け、次の命令Bの実行指示を命令実行部210に送る。一時バッファ部213はCPU50から命令Bの実行指示を受け(ステップS25),大容量記憶制御部212が大容量記憶215へ読み出しの指示を送る(ステップS27B)。大容量記憶215は大容量記憶制御部212からの読み出しの指示に応じてデータの読み出しを行い、読み出したデータを一時バッファ部213へ送る。大容量記憶215はデータの読み出しを完了する(ステップS30)と、読み出し完了報告を大容量記憶制御部212へ送る(ステップS30A)。大容量記憶制御部212は大容量記憶215からの読み出し完了報告を受けて、一時バッファ部213に対し、完了報告を行う(ステップS30B)。一時バッファ部213は大容量記憶制御部からの完了報告を受け、CPU50に対し完了報告を行う(ステップS29)。
このように、CPU50からの命令が大容量記憶215からの読み出し命令である場合、命令実行部210において読み出し命令の実行が完了した時点で(ステップS26,S30)、CPU50に対し完了報告が行われる(ステップS23,S29)。すなわちこの場合、命令の実行過程において、命令実行部210がCPU50に対し完了報告を行う時点(ステップS23,S29)と、命令実行部210において実際に命令の実行が完了する時点(ステップS26,S30)とが一致している。
図11は、CPU50からの命令A,命令Bが、大容量記憶215に対する書込命令である場合の動作例を示す。尚、この場合、一時バッファ部213がCPU50からの書き込みデータの受信を完了するのに要する時間に比し、大容量記憶215に書き込みデータを書き込むのに要する時間の方が長いものとする。
一時バッファ部213がCPU50から命令Aの実行指示を受け(ステップS21),大容量記憶制御部212に書き込み指示を出す(ステップS22A)。大容量記憶制御部212は書き込み指示を受け、大容量記憶215に対し書き込み指示を送る(ステップS22B)。大容量記憶215は大容量記憶制御部212からの書き込み指示に応じ、CPU50から一時バッファ部213及びエラー挿入部214を経由して受信する書き込みデータを書き込む。又、この場合、一時バッファ部213は、CPU50からの命令Aに係る書き込みデータの受信を完了した時点で、CPU50に対し完了報告を行う(ステップS23)。CPU50は一時バッファ部213からの完了報告を受け、命令Bの実行指示を一時バッファ部213に出す(ステップS25)。一時バッファ部213は命令Bの実行指示を受けるが、この場合大容量記憶制御部212から未だ命令Aの完了報告を受信していないため、一次バッファ部は大容量記憶制御部212に対する命令Bの実行指示を出さない。
大容量記憶215は一時バッファ部213がCPU50への完了報告(ステップS23)を行った後も書き込みデータの書き込みを継続し、書き込みが完了する(ステップS26)と大容量記憶制御部212に書き込み完了報告を行う(ステップS26A)。大容量記憶制御部212は大容量記憶からの書き込み完了報告を受け、一時バッファ部213に対し完了報告を行う(ステップS26B)。一時バッファ部213は大容量記憶制御部212からの完了報告を受け、命令Bの実行指示を大容量記憶制御部212へ出す(ステップS27A)。
大容量記憶制御部212は命令Bの実行指示を受け、大容量記憶215に対し書き込み指示を行う(ステップS27B)。大容量記憶215は大容量記憶制御部212からの書き込み指示に応じ、CPU50から一時バッファ部213及びエラー挿入部214を経由して受信する書き込みデータを書き込む。一時バッファ部213は上記同様、CPU50からの命令Bに係る書き込みデータの受信を完了した時点で、CPU50に対し完了報告を行う(ステップS29)。大容量記憶215は、書き込みデータの書き込みを完了する(ステップS30)と大容量記憶制御部212に完了報告を行う(ステップS30A)。大容量記憶制御部212は大容量記憶215からの書き込み完了報告を受け、一時バッファ部213に対し完了報告を行う(ステップS30B)。
図11の場合、このように、比較的短時間で済む一時バッファ部213による書き込みデータの受信の完了の時点で一次バッファ部からCPU50に対し完了報告を行うことにより、CPU50は早い段階で命令を完了することができる。すなわち図11中、仮に大容量記憶215が書き込みを完了した時点でCPU50へ完了報告を行うとした場合には、CPU50は一次バッファ部からの完了報告を受けるまで命令を完了できず、次の命令の実行を開始できない。これに対し、上記の如く一時バッファ部213が書き込みデータの受信を完了した時点でCPU50に完了報告を行うことにより、CPU50は、より早い段階で命令を完了でき、次の命令の実行を開始できるようになる。その結果、コンピュータのシステムの動作の高速化を図ることができる。
次に図9に示すエラー挿入部214の動作について説明する。エラー挿入部214は、エラー発生指示部220からエラー発生指示(ステップS28)を受信すると、一時バッファ部213から大容量記憶215へ送られる書き込みデータを壊すことによって書き込みデータをエラーデータに変換する。例えば、書き込みデータに1ビットエラーを訂正し2ビットエラーを検出する機能を有するECC(Error Correction Code)が設定され、大容量記憶215がECCを使用して書き込みデータのエラーを検出し訂正する機能を有するものとする。このような場合、エラー挿入部214には、例えば書き込みデータに含まれる2ビットを反転することによって書き込みデータをエラーデータに変換する排他的論理和回路を設けることができる。この場合、エラー挿入部214で2ビットが反転されエラーデータに変換された書き込みデータが大容量記憶215に送られると、大容量記憶215はECCによってエラーを検出する。この場合、2ビットエラーを検出することはできるが訂正することはできない。そして大容量記憶215は大容量記憶制御部212にエラーを検出した旨を報告する。大容量記憶制御部212は一時バッファ部213を介し、エラーを検出した旨を書き込み命令に対する報告としてCPU50に報告する。コンピュータのシステムは大容量記憶制御部212からのエラーを検出した旨の報告を受け、所定の動作を行う。すなわちエラーが一命令に係るエラーとして処理することができるエラーの場合、例えばエラーを検出した旨を内部レジスタに記録し、更にオペレータに対しエラーを検出した旨を表示出力する。オペレータはコンピュータのシステムのこのような動作を検証することにより、コンピュータのシステムがエラー発生時の動作を正常に実行することを検証することができる。
図12は、図4に示すエラー発生指示部220の回路構成例を示す。図12に示す回路構成例の場合、エラー発生指示部220は、2ビットのD(ディレイ)−フリップフロップ回路FF11(以下単にフリップフロップ回路FF11と称する)、及び2ビットのD−フリップフロップ回路FF12(以下単にフリップフロップ回路FF12と称する)を有する。エラー発生指示部220は更に、2ビットのD−フリップフロップ回路FF13(以下単にフリップフロップ回路FF13と称する)、及び1ビットのD−フリップフロップ回路FF14(以下単にフリップフロップ回路FF14と称する)を有する。フリップフロップ回路FF11には、FIRST信号とSECOND信号とのうち、両方の信号をチェックするか、何れか一方の信号のみをチェックするかを指定するためのTIMING_MASK<1:0>(2ビット)信号が入力する。両方の信号をチェックする場合、フリップフロップ回路FF11には(1,1)の信号が入力し、何れか一方の信号のみをチェックする場合、フリップフロップ回路FF11には(1,0)あるいは(0,1)の信号が入力する。
フリップフロップ回路FF12には、FIRST信号及びSECOND信号が2ビットのSTATUS<1:0>信号として入力する。両方の信号が"1"の場合フリップフロップ回路FF12には信号(1,1)が入力し、一方が"1"の場合、フリップフロップ回路FF12には(1,0)あるいは(0,1)の信号が入力する。
フリップフロップ回路FF13には、FIRST信号及びSECOND信号がどのような値の場合にエラー発生指示を行うか(エラー発生条件)を指定する2ビットのTIMING_COND<1:0>信号が入力する。図7のステップS42に示す如く、FIRST信号、SECOND信号が夫々(1,0)の場合、つまり命令の実行過程の前半を実行中にエラー発生指示を出す場合には、フリップフロップ回路FF13に(1,0)の信号が入力する。
フリップフロップ回路FF14には、エラー発生を許可する信号EG_ENABLEが入力する。エラー発生を許可する場合、"1"の信号が入力する。
又、フリップフロップ回路FF11、FF13、FF14の夫々のクロック端子には、図4のエラー設定指示(S24)を示すSET_EG信号が入力する。オペレータがエラー設定指示(S24)を行った場合、各フリップフロップFF11、FF13、FF14のクロック端子には"1"の信号が入力する。したがってフリップフロップ回路FF11、FF13、FF14の各々は、SET_EG信号が"1"となった際に入力信号の値を取り込み、以降、当該取り込んだ値を保持して出力する。
エラー発生指示部220は更に、フリップフロップ回路FF12、FF13の出力を入力とするエラー発生条件判定部としての排他的論理和回路E11を有する。排他的論理和回路E11は、フリップフロップ回路FF12、FF13の夫々2ビットの出力値が、ビットごとに両フリップフロップ回路間で一致する場合に"0"を出力し、不一致の場合に"1"を出力する。したがって排他論理和回路E11は、FIRST信号、SECOND信号の値が夫々TIMING_COND<1:0>信号で指定される値と夫々一致する場合に(0,0)を出力する。それ以外の場合、排他的論理和回路E11は(1,0)(SECOND信号についてのみ一致)、(0.1)(FIRST信号についてのみ一致)あるいは(1,1)(両信号とも不一致)を出力する。
エラー発生指示部220は更に、AND回路A11を有する。AND回路A11は、フリップフロップ回路FF11が出力するTIMING_MASK<1:0>信号が(1,1)の場合、排他的論理和回路E11の2ビット出力値の2ビットをそのまま出力する。他方、フリップフロップ回路FF11が出力するTIMING_MASK<1:0>信号が(1,0)の場合、AND回路A11は排他的論理和回路E11の1番目の出力値をそのまま出力し、排他的論理和回路E11の2番目の出力値に対して元の値と無関係に"0"を出力する。同様にフリップフロップ回路FF11が出力するTIMING_MASK<1:0>信号が(0,1)の場合、AND回路A11は排他的論理和回路E11の1番目の出力値に対して元の値と無関係に"0"を出力し、排他的論理和回路E11の2番目の出力値をそのまま出力する。上記の如く、排他的論理和回路E11はFIRST信号、SECOND信号の値が夫々TIMING_COND<1:0>信号で指定される条件と一致する場合に(0,0)を出力する。したがってフリップフロップ回路FF11が出力するTIMING_MASK<1:0>信号が(1,1)の場合、上記条件が満たされればAND回路A11は(0,0)を出力し、そうでなければ(1,0)、(0.1)あるいは(1,1)を出力する。
図12のエラー発生指示部220は更に、全ビット論理0検出回路D11を有する。全ビット論理0検出回路D11は、AND回路A11の出力が(0,0)の場合に"1"を出力し、それ以外の場合に"0"を出力する。したがって全ビット論理0検出回路D11は、FIRST信号、SECOND信号の値が夫々TIMING_COND<1:0>で指定される条件を満たす場合に"1"を出力し、それ以外の場合"0"を出力する。
図12のエラー発生指示部220は更に、AND回路A12を有する。AND回路A12は、全ビット論理0検出回路D11の出力、フリップフロップ回路FF14の出力及び後述するCHECK_EG信号を入力し、後述するEXECUTE_EG信号を出力する。CHECK_EG信号は後述する図13のタイマ回路の出力であり、FIRST信号、SECOND信号が条件を満たすか否かを判定するタイミングを指定する信号である。EXECUTE_EG信号は、エラー発生指示部220が命令実行回路210に出力するエラー発生指示(S28)を示す信号である。AND回路A12は、全ビット論理0検出回路D11の出力が"1"であり、フリップフロップ回路FF14の出力が"1"であり、CHECK_EG信号が"1"の場合に"1"(EXECUTE_EG=1)を出力する。それ以外の場合にはAND回路A12は"0" (EXECUTE_EG=0)を出力する。したがって、オペレータからエラー設定指示がなされ(S24)、上記条件を判定するタイミングが到来し(CHECK_EG=1)、かつ上記条件が満たされた際に、EXECUTE_EG信号がアサートされエラー発生指示がなされる(S28)。図12のエラー発生指示部220において、AND回路A11,A12、及び全ビット論理0検出回路D11は、エラー発生指示出力部に対応する。
次に図13とともに判定指示部としてのタイマ回路の構成例につき説明する。図13の構成例において、タイマ回路は、SET_EG信号と後述するD−フリップフロップ回路FF21の出力値とを入力とするOR回路O21を有する。タイマ回路は更に、OR回路O21の出力とEXECUTE_EG信号の反転信号とを入力とするAND回路A21を有する。タイマ回路は更に、AND回路A21の出力を保持しEG_COUNTER_V信号として出力するD−フリップフロップ回路FF21(以下単にフリップフロップ回路FF21と称する)を有する。タイマ回路は更に、フリップフロップ回路FF21の出力EG_COUNTER_V信号と後述するカウンタ0検出回路D21の出力とを入力とし、CHECK_EG信号を出力するAND回路23を有する。AND回路A23は、EG_COUNTER_V信号が"1"である間、カウンタ0検出回路D21の出力が"1"となるたび、CHECK_EG=1を出力する。
タイマ回路は更に、SET_EG信号及びEXECUTE_EG信号を入力するNOR回路N21と、NOR回路N21の出力と後述する加算回路AD21の出力とを入力するn+1ビットのAND回路A22とを有する。AND回路A22の出力のn+1ビットは、ビットごとに、加算回路AD21の出力のn+1ビットとNOR回路N21の出力のn+1ビットとの双方が"1"の場合 "1"となり、加算回路AD21の出力のn+1ビットとNOR回路N21の出力のn+1ビットとの少なくとも一方が"0"の場合に夫々"0"となる。したがってNOR回路N21の出力が"0"になると、AND回路A22の出力のn+1ビットは全て"0"となる(リセットされる)。
タイマ回路は更に、AND回路A22の出力を保持し、n+1ビットの計数値EG_COUNTER<n:0>として出力するn+1ビットのD−フリップフロップ回路FF22(以下単にフリップフロップ回路FF22と称する)を有する。尚、計数値EG_COUNTER<n:0>の全ビットが"1"となった後に更に加算がなされ計数値が2n+1になると、自動的に全ビットが"0"にリセットされる、いわゆるラップアラウンド機能がタイマ回路に設けられている。
タイマ回路は更に、コンピュータのクロック周期ごとにフリップフロップ回路FF22の出力値に"1"を加算する加算回路AD21を有する。加算回路AD21は、クロック周期を計数する機能をなす。タイマ回路は更に、フリップフロップ回路FF22の出力(計数値)の全ビットが"0"、すなわち出力値が"0"であることを検出するカウンタ0検出回路D21を有する。
タイマ回路は更に、コンピュータのクロック周期ごとにフリップフロップ回路FF22の出力値に"1"を加算する加算回路AD21を有する。加算回路AD21は、クロック周期を計数する機能をなす。タイマ回路は更に、フリップフロップ回路FF22の出力(計数値)の全ビットが"0"、すなわち出力値が"0"であることを検出するカウンタ0検出回路D21を有する。
図13のタイマ回路中、NOR回路N21,AND回路A22,フリップフロップ回路FF22、及び加算回路AD21は、計数部に対応する。又、OR回路O21,AND回路A21、及びフリップフロップ回路FF21は、出力ゲート部に対応する。又、カウンタ0検出回路D21及びAND回路A23は、指示出力部に対応する。
次にタイマ回路の動作を説明する。OR回路O21は、SET_EG信号が"1"であるか、あるいはフリップフロップ回路FF21の出力(EG_COUNTER_V信号)が"1"であれば"1"を出力する。AND回路21は、OR回路O21の出力が"1"であり、かつEXECUTE_EG信号が"0"であれば"1"を出力する。よって、オペレータのエラー設定指示によりSET_EG信号がアサートされると、OR回路O21が"1"を出力する。この時点でEXECUTE_EG信号は未だアサートされていない("0")。したがってAND回路A21は"1"を出力し、フリップフロップ回路FF21が "1"を保持し(EG_COUNTER_V=1)、EG_COUNTER_V=1がOR回路O21に入力する。したがってOR回路O21はSET_EG信号がネゲートされても"1"を出力し続け、以降、EXECUTE_EG信号がアサートされるまでAND回路A21は"1"を出力する。その結果、フリップフロップ回路FF21の出力値であるEG_COUNTER_V信号は以降、"EXECUTE_EG信号がアサートされるまで"1"を保持する(後述する図14参照)。その間、AND回路A23にはEG_COUNTER_V=1が入力し、カウンタ0検出回路D21の出力が"1"となるたびに、CHECK_EG信号=1を出力する。
又、タイマ回路において、NOR回路N21は、SET_EG信号及びEXECUTE_EG信号のいずれも"0"の場合に"1"を出力し、少なくとも何れかが"1"の場合には"0"を出力する。上記の如く、NOR回路N21が"0"を出力すると、AND回路A22の出力のn+1ビットは全て"0"にリセットされる。AND回路A22の出力のn+1ビットの全て"0"にリセットされると、フリップフロップ回路FF22を介し、計数値EG_COUNTER<n:0>がゼロにリセットされ、計数値EG_COUNTER<n:0>のゼロリセットがカウンタ0検出回路D21に検出される。その結果、EG_COUNTER_V信号が"1"であることを条件として、AND回路A23はCHECK_EG=1を出力する。
このように、SET_EG=1あるいはEXECUTE_EG=1により、NOR回路N21及びAND回路A22によって、計数値EG_COUNTER<n:0>がゼロにリセットされる。したがって計数値EG_COUNTER<n:0>はオペレータがエラー設定指示(S24)を行うとSET_EG=1により一旦ゼロにリセットされ、以降、コンピュータのクロック周期の2n+1回ごとにラップアラウンド機能によりゼロにリセットされる。そして計数値EG_COUNTER<n:0>がゼロにリセットされるたびに、カウンタ0検出回路D21がゼロリセットを検出し、EG_COUNTER_V=1を条件として、AND回路A23がCHECK_EG=1を出力する。
そしてこのようにしてAND回路A23がCHECK_EG=1を出力するタイミングでエラー発生条件が満たされれば、図12のAND回路A12はEXECUTE_EG=1を出力する。その結果、エラー設定指示部220は命令実行部210にエラー発生指示を出す。又、図13のタイマ回路では、EXECUTE_EG=1の信号により、AND回路A21の出力が"0"となり、フリップフロップ回路FF21の出力EG_COUNTER_Vが"0"となり、AND回路A23の出力は"0"となる。その結果、以降、オペレータが再度エラー設定指示を行ってSET_EG信号が"1"となるまで、カウンタ0検出回路D21の出力と無関係に、AND回路A23はCHECK_EG=0を出力し続ける。その結果、AND回路A23がCHECK_EG=0を出力し続ける間は、図12のエラー発生指示部220はEXECUTE_EG=0を出力し、エラー発生指示を出さない。尚、以下の説明では便宜上、エラー発生条件を、図7のステップS42の如く、FIRST信号、SECOND信号が(1,0)であること、すなわち命令実行部210が命令の実行過程の前半を実行中であることとする。
オペレータがエラー設定指示(S24)を行うと、SET_EG=1の信号によってEG_COUNTER_V=1となる。そして同時にNOR回路N21の出力が"0"となり、AND回路A22のn+1ビットは全て"0"となり、フリップフロップ回路FF22を介し、計数値EG_COUNTER<n:0>=0となる(リセットされる)。計数値EG_COUNTER<n:0>のリセットがカウンタ0検出回路D21で検出され、EG_COUNTER_V=1と相まって、AND回路A23がCHECK_EG=1を出力する。したがって、オペレータがエラー設定指示を行った際、AND回路A23がCHECK_EG=1を出力し、その時点でFIRST信号、SECOND信号が(1,0)であれば、つまりエラー発生条件が満たされれば、図12のAND回路A12はEXECUTE_EG=1を出力する。その結果、エラー設定指示部220は命令実行部210にエラー発生指示を出す。
他方、オペレータがエラー設定指示(SET_EG=1)を行い、AND回路A23がCHECK_EG=1を出力する。その時点でFIRST信号、SECOND信号が(1,0)でなかった場合、つまりエラー発生条件が満たされない場合、図12のAND回路A12はEXECUTE_EG=1を出力しない。その結果、エラー設定指示部220は命令実行部210にエラー発生指示を出さない。この場合、EXECUTE_EG=1が出力されないため、AND回路A21は"1"を出力し続け、EG_COUNTER_V=1が維持される。又、SET_EG=1の結果NOR回路N21により計数値EG_COUNTER<n:0>がゼロにリセットされた後に、フリップフロップ回路FF22と加算回路AD21とによる計数が実行される。その結果上記の如く、クロック周期の2n+1回ごとに、計数値EG_COUNTER<n:0>がゼロにリセットされ、その都度、FIRST信号、SECOND信号の条件の判定が行われ、そこで条件が満たされれば、図12のAND回路A12がEXECUTE_EG=1を出力する。その結果、エラー設定指示部220は命令実行部210にエラー発生指示を出す。
図14は、図12,図13とともに説明したエラー発生指示部220の動作例を説明するタイムチャートである。尚、ここでは図12とともに上述したTIMING_MASK<1:0>信号は(1,1)、TIMING_COND<1:0>信号は(1,0)、EG_ENABLE信号は"1"であるとする。図14中、CPU50から命令Aの実行指示が出されると(ステップS21)、命令Aの実行を開始する(図5参照)。その結果FIRST信号は"1"となり、SECOND信号は"0"のまま維持される。その後命令Aの実行過程の前半が完了すると、記憶装置200の命令実行部210はCPU50に対し完了報告を行う(ステップS23)。その時点でFIRST信号は"0"となり、SECOND信号は"1"となる。CPU50は完了報告を受け、命令Bの実行指示を行う(ステップS25)。命令実行部210は命令Bの実行指示を受け、命令Aの実行過程の後半が完了した後に命令Bの実行を開始する(ステップS27、図5参照)。その結果、FIRST信号は"1"となり、SECOND信号は"0"となる。
ここで図14に示される如く、命令Aの完了報告(ステップS23)がなされた後であって、命令Bの実行指示(ステップS25)がなされる前に、オペレータからエラー設定指示(ステップS24)が入力されたとする。その結果、SET_EG=1となり、図13のタイマ回路ではEG_COUNTER_V=1となり、計数値EG_COUNTER<n:0>がゼロリセットされるため、AND回路23はCHECK_EG=1を出力する。又、図12のエラー発生指示部220のフリップフロップ回路FF14の出力は"1"となる。よってAND回路12の3入力のうち、全ビット論理0検出回路D11の出力以外の2入力が"1"となり、その結果全ビット論理0検出回路D11の出力がそのままEXECUTE_EG信号として出力される。ここで、この時点でFIRST信号=0,SECOND信号=1であるため、排他的論理和回路E11の出力は(1,1)となり、その結果AND回路A11の出力は(1,1)となり、全ビット論理0検出回路D11の出力は"0"となる。その結果、AND回路A12はEXECUTE_EG=0を出力し、エラー発生指示部220からエラー発生指示は出されない。すなわちエラー発生条件が満たされず、この時点ではエラー発生指示は出されない。
その結果、図13のタイマ回路の計数値EG_COUNTER<n:0>は一旦ゼロにリセットされた後、クロック周期ごとにインクリメントされる。すなわち一定時間(クロック周期の2n+1回分)の待ち合わせが実行される。又、EG_COUNTER_V信号も"1"が維持される。そして計数値EG_COUNTER<n:0>が2n+1に達すると、ラップアラウンド機能により計数値はゼロにリセットされ、AND回路23がCHECK_EG=1を出力する。又、図12のエラー発生指示部220のフリップフロップ回路FF14の出力は"1"が維持されている。よってAND回路12の3入力のうち、全ビット論理0検出回路D11の出力以外の2入力が"1"となり、AND回路12は全ビット論理0検出回路D11の出力をそのままEXECUTE_EG信号として出力する。よって、この時点でFIRST信号=1,SECOND信号=0であれば、排他的論理和回路E11の出力は(0,0)となり、その結果AND回路A11の出力は(0,0)となり、全ビット論理0検出回路D11の出力が"1"となる。その結果、AND回路A12はEXECUTE_EG=1を出力し、エラー発生指示部220からエラー発生指示が出力される(ステップS28)。すなわちエラー発生条件が満たされ、エラー発生指示が出される。
他方、上記の如く計数値EG_COUNTER<n:0>が2n+1に達しラップアラウンド機能によりゼロにリセットされCHECK_EG=1となった時点でも依然としてFIRST信号=0,SECOND信号=1であれば、つまりエラー発生条件が満たされなければ、図12のエラー発生指示部220の排他的論理和回路E11の出力は(1,1)となり、その結果AND回路A11の出力は(1,1)となり、全ビット論理0検出回路D11の出力は"0"となる。その結果、AND回路A12はEXECUTE_EG=0を出力し、エラー発生指示部220からエラー発生指示は出されない。
その結果、再び図13のタイマ回路の計数値EG_COUNTER<n:0>はラップアラウンド機能によって一旦ゼロリセットされた後、クロック周期ごとにインクリメントされる。すなわち一定時間の待ち合わせが再び実行される。又、EG_COUNTER_V信号も"1"が維持される。そして計数値EG_COUNTER<n:0>が2n+1に達すると、ラップアラウンド機能により計数値はゼロにリセットされ、CHECK_EG=1となる。又、図12のエラー発生指示部220のフリップフロップ回路FF14の出力は"1"が維持されている。よってAND回路12の3入力のうち、全ビット論理0検出回路D11の出力以外の2入力が"1"となり、AND回路A12は全ビット論理0検出回路D11の出力をそのままEXECUTE_EG信号として出力する。よってこの時点でFIRST信号=1,SECOND信号=0であれば、つまりエラー発生条件が満たされれば、排他的論理和回路E11の出力は(0,0)となり、その結果AND回路A11の出力は(0,0)となり、全ビット論理0検出回路D11の出力は"1"となる。その結果、AND回路A12はEXECUTE_EG=1を出力し、エラー発生指示部220からエラー発生指示が出力される(ステップS28)。
図14の動作例では、上記の如く、オペレータによるエラー設定指示(ステップS24)の時点(SET_EGのパルス及びCHECK_EG信号の1回目のパルス)では命令実行部210が命令Aの実行過程の後半を実行中である。このためFIRST=0、SECOND=1であり、エラー発生条件が満たされず、EXECUTE_EG信号は"0"が維持される。次に一定時間の待ち合わせの一回目の終了時点(CHECK_EG信号の2回目のパルス)においても、依然として命令実行部210が命令Aの実行過程の後半を実行中である。このためFIRST=0、SECOND=1であり、エラー発生条件が満たされず、EXECUTE_EG信号は"0"が維持される。次に一定時間の待ち合わせの2回目の終了時点(CHECK_EG信号の3回目のパルス)の前に命令実行部210が命令Bの実行過程の前半の実行中となり、このためFIRST=1、SECOND=0であり、エラー発生条件が満たされ、EXECUTE_EG信号が"1"となる(EXECUTE_EG信号のパルス)。よってエラー発生指示部220はエラー発生指示を出力する(ステップS28)。その結果命令実行部210において、一命令に係るエラーとして処理されるエラー(一命令に閉じたエラー)が発生する。
このようにして一旦エラー発生指示が出されると、EXECUTE_EG=1の信号によって図13のタイマ回路のEG_COUNTER_V信号が"0"となる。その結果、以降、再びオペレータのエラー設定指示(ステップS24)によってSET_EG=1となるまでカウンタ0検出回路D21の出力と無関係に、AND回路A23はCHECK_EG=0を出力する。したがって、再びオペレータのエラー設定指示(ステップS24)によってSET_EG=1となるまで、図12のエラー発生指示部220のAND回路A12はEXECUTE_EG=0を出力し、エラー発生指示部220はエラー発生指示を出力しない。
このように実施例のエラー発生指示部220によれば、オペレータからエラー設定指示(ステップS24、図7のステップS41)が入力すると、FIRST信号、SECOND信号に基づいて命令実行部210における条件を判定する(ステップS42)。条件が満たされていれば、エラー発生指示部220は命令実行部210にエラー発生指示を出力する(ステップS28、S44)。他方、条件が満たされていない場合エラー発生指示部220はエラー発生指示は出さず、一定時間の待ち合わせを行った後(ステップS43)、再び上記判定を行う(ステップS42)。その結果、条件が満たされていれば、エラー発生指示部220は命令実行部210にエラー発生指示を出力する(ステップS28、S44)。他方、条件が満たされていなければ、エラー発生指示部220はエラー発生指示を出さず、再び一定時間の待ち合わせを行った後(S43)、再び上記判定を行う(S42)、という動作を、条件が満たされた状態となるまで繰り返す。その結果、エラー発生指示部220は、命令実行部210における条件が満たされる場合にのみエラー発生指示を出力する。更に、エラー発生指示を出力するタイミングは、オペレータによるエラー設定指示の入力のタイミングか、あるいは、その後の一定時間の待ち合わせの完了のタイミングである。したがってエラー発生指示はCPU50の動作(命令の完了報告の受信等)、及び命令実行部210の動作(命令の実行過程の前半の終了、命令の完了報告、命令の実行過程の後半の終了等)とは非同期になされる。その結果、CPU50,命令実行部210における様々な状況に対する、エラーが発生した際のシステムの動作の検証を行える。
図15は、図13とともに上述した実施例におけるタイマ回路の第1の変形例の回路図である。図13のタイマ回路と異なる点は、n+1ビットのD−フリップフロップ回路FF23(以下単にフリップフロップ回路FF23と称する)、n+1ビットの排他的論理和回路E21(以下単に排他的論理和回路E21と称する)、及び全ビット論理0検出回路D22を設けた点である。フリップフロップ回路FF23には、CHECK_CYCLE<n:0>信号が入力する。CHECK_CYCLE<n:0>信号は、オペレータによって設定される数値を示す信号である。オペレータはCHECK_CYCLE<n:0>信号を設定することによって計数値EG_COUNTER<n:0>がゼロにリセットされる際の計数値を、2n+1以下の任意の値に設定することができる。
図13のタイマ回路の計数値EG_COUNTER<n:0>は、SET_EG=1あるいはEXECUTE_EG=1によってゼロにリセットされる場合を除くと、ラップアラウンド機能により、クロック周期の2n+1回ごとにゼロにリセットされる。これに対し図15のタイマ回路では、計数値EG_COUNTER<n:0>がフリップフロップ回路FF23に設定された設定値と比較される。比較の結果両者が全ビットにおいて一致すると、排他的論理和回路E21の出力の全ビットが"0"となる。これを全ビット論理0検出回路D22が検出し、NOR回路N21に"1"を出力する。NOR回路N21は全ビット論理0検出回路D22の出力を受けて"0"を出力し、その結果、計数値EG_COUNTER<n:0>がゼロにリセットされる。したがって図15のタイマ回路の計数値EG_COUNTER<n:0>は、SET_EG=1あるいはEXECUTE_EG=1による場合を除き、計数値EG_COUNTER<n:0>がCHECK_CYCLE<n:0>の設定値に達した際にゼロにリセットされる。よって、オペレータは、CHECK_CYCLE<n:0>の設定によって、エラー設定指示(S24)の時点で命令実行部210が条件を満たさないためエラー発生指示部220が一定時間の待ち合わせを行う際の待ち合わせ時間を任意に設定することができる。
図15の第1の変形例のタイマ回路によれば、オペレータが待ち合わせ時間を自由に設定することができる。このため待ち合わせ時間が固定の図13のタイマ回路に比し、エラー発生時のCPU50及び命令実行部210を含むコンピュータのシステムの動作の検証を、様々な状況において行うことができる。
図16は、図13とともに上述した実施例におけるタイマ回路の第2の変形例の回路図である。図15の第1の変形例のタイマ回路と異なる点は、フリップフロップ回路FF23の入力が、CHECK_CYCLE<n:0>ではなく、新たに設けるn+1ビットの乱数発生回路R21(以下単に乱数発生回路R21と称する)の出力である点である。この場合、計数値EG_COUNTER<n:0>がゼロにリセットされる際の計数値は、乱数発生回路R21により、2n+1以下の値にランダムに設定される。
すなわち、図16のタイマ回路では図15のタイマ回路同様、計数値EG_COUNTER<n:0>がフリップフロップ回路FF23に設定された設定値と比較される。比較の結果両者が全ビットにおいて一致すると、排他的論理和回路E21の出力の全ビットが"0"となる。これを全ビット論理0検出回路D22が検出し、NOR回路N21に"1"を出力する。NOR回路N21は全ビット論理0検出回路D22の出力を受けて"0"を出力し、その結果、計数値EG_COUNTER<n:0>がゼロにリセットされる。したがって図16のタイマ回路の計数値EG_COUNTER<n:0>は、SET_EG=1あるいはEXECUTE_EG=1による場合を除き、計数値EG_COUNTER<n:0>が乱数発生回路R21の出力値に達した際にゼロにリセットされる。よって、エラー設定指示(S24)の時点で命令実行部210が条件を満たさないためエラー発生指示部220が一定時間の待ち合わせを行う際の待ち合わせ時間が、乱数発生回路R21によって設定される。
図16の第2の変形例のタイマ回路によれば、待ち合わせ時間が乱数発生回路R21によってその都度、ランダムに設定される。このため待ち合わせ時間が固定の図13のタイマ回路に比し、エラー発生時のCPU50及び命令実行部210を含むコンピュータのシステムの動作の検証を、容易に様々な状況において行うことができる。
図17は、実施例による、情報処理装置としてのコンピュータの構成例を示すブロック図である。図17の構成例では、コンピュータ500はCPU50と、主記憶300と、記憶装置200とを有し、これらCPU50,主記憶300及び記憶装置200は互いにバス400によって接続される。主記憶300は命令等を格納する。CPU50は図4及び図8に示されるCPU50に対応する。CPU50は主記憶300から命令を読み込み、読み込んだ命令が記憶装置200に対するデータの読み書き命令であった場合、記憶装置200に対し当該命令の実行指示を行う。記憶装置200は図4に示されている記憶装置200に対応し、図9に示される命令実行部210、及び図12,図13とともに上述したエラー発生指示部220を備える。命令実行部210及びエラー発生指示部220の構成及び動作の詳細は、図4乃至図16とともに上述したものと同様である。
50 CPU
51 命令制御部
52 主記憶制御部
53 内部演算実行部
200 記憶装置
210 命令実行部
211 命令状況通知回路
212 大容量記憶制御部
213 一次バッファ部
214 エラー挿入部
215 大容量記憶
220 エラー発生指示部
300 主記憶
FF1,FF2,FF11,FF12,Ff13,FF14,FF21,FF22,FF23 フリップフロップ回路
A11,A12,A21,A22,A23 論理積回路
AD21 加算回路
D11,D22 全ビット論理0検出回路
D21 カウンタ0検出回路
E11,E21 排他的論理和回路
O21 論理和回路
N21 NOR回路
R21 乱数発生回路
51 命令制御部
52 主記憶制御部
53 内部演算実行部
200 記憶装置
210 命令実行部
211 命令状況通知回路
212 大容量記憶制御部
213 一次バッファ部
214 エラー挿入部
215 大容量記憶
220 エラー発生指示部
300 主記憶
FF1,FF2,FF11,FF12,Ff13,FF14,FF21,FF22,FF23 フリップフロップ回路
A11,A12,A21,A22,A23 論理積回路
AD21 加算回路
D11,D22 全ビット論理0検出回路
D21 カウンタ0検出回路
E11,E21 排他的論理和回路
O21 論理和回路
N21 NOR回路
R21 乱数発生回路
Claims (8)
- 演算処理装置からの命令を実行する命令実行部がエラー発生条件を満たすか否かを判定するエラー発生条件判定部と、
エラーの設定を指示するエラー設定指示が入力されたときに前記命令実行部が前記エラー発生条件を満たすか否かを前記エラー発生条件判定部に判定させる判定指示を出力し、前記エラー設定指示が入力されたときに前記エラー発生条件が満たされない場合には前記判定指示の出力から所定時間経過後に再度前記エラー発生条件判定部に前記判定指示を出力する判定指示部と、
前記エラー発生条件判定部の判定により前記命令実行部が前記エラー発生条件を満たす場合には、前記命令実行部にエラー発生指示を出力するエラー発生指示出力部と
を有するエラー発生指示回路。 - 前記エラー発生条件判定部は、前記演算処理装置から各命令の実行指示を受けてから前記演算処理装置に対し当該命令の完了報告を行うまでの間は前記エラー発生条件を満たすと判定し、前記完了報告を前記演算処理装置に行った後更に当該命令の実行を続行する間は前記エラー発生条件を満たさないと判定することを特徴とする、請求項1に記載のエラー発生指示回路。
- 情報を記憶する記憶部と、
演算処理装置からの命令に従って前記記憶部への情報の書込及び前記記憶部からの情報の読み出しのうちの少なくともいずれか一方の処理を実行する命令実行部と、
前記命令実行部がエラー発生条件を満たすか否かを判定するエラー発生条件判定部と、
エラー設定指示が入力されたときに、前記エラー発生条件が満たされるか否かを前記エラー発生条件判定部に判定させる判定指示を出力し、前記エラー設定指示が入力されたときに前記エラー発生条件が満たされない場合には所定時間経過後に再度前記エラー発生条件判定部に前記判定指示を出力する判定指示部と、
前記エラー発生条件判定部の判定により前記エラー発生条件が満たされる場合には前記命令実行部にエラー発生指示を出力するエラー発生指示出力部と
を有する記憶装置。 - 前記エラー発生条件判定部は、前記演算処理装置から各命令の実行指示を受けてから前記演算処理装置に対し当該命令の完了報告を行うまでの間は前記エラー発生条件を満たすと判定し、前記完了報告を行った後、更に当該命令の実行を続行する間は前記エラー発生条件を満たさないと判定することを特徴とする、請求項3に記載の記憶装置。
- 演算処理装置と、
情報を記憶する記憶部と、
前記演算処理装置からの命令に従って前記記憶部への情報の書込及び前記記憶部からの情報の読み出しのうちの少なくともいずれか一方の処理を実行する命令実行部と、
前記命令実行部がエラー発生条件を満たすか否かを判定するエラー発生条件判定部と、
エラー設定指示が入力されたときに前記エラー発生条件判定部に前記エラー発生条件が満たされるか否かを判定させる判定指示を出力し、前記エラー設定指示が入力されたときに前記エラー発生条件が満たされない場合には所定時間経過後に再度前記エラー発生条件判定部に前記判定指示を出力する判定指示部と、
前記エラー発生条件判定部の判定により前記エラー発生条件が満たされる場合には前記命令実行部にエラー発生指示を出力するエラー発生指示出力部とを有する記憶装置と
を有する情報処理装置。 - 前記エラー発生条件判定部は、前記演算処理装置から各命令の実行指示を受けてから前記演算処理装置に対し当該命令の完了報告を行うまでの間は前記エラー発生条件を満たすと判定し、前記完了報告を行った後、更に当該命令の実行を続行する間は前記エラー発生条件を満たさないと判定することを特徴とする、請求項5に記載の情報処理装置。
- 判定指示部、エラー発生条件判定部、及びエラー発生指示出力部を有するエラー発生指示回路であって、演算処理装置からの命令を実行する命令実行部に対し、エラー発生指示を行うエラー発生指示回路の制御方法であって、
前記判定指示部が、エラーの設定を指示するエラー設定指示が入力されたときに前記エラー発生条件判定部に前記命令実行部がエラー発生条件を満たすか否かを判定させる判定指示を出力するステップと、
前記エラー発生条件判定部が、前記判定指示に応じて、前記演算処理装置からの命令を実行する前記命令実行部が前記エラー発生条件を満たすか否かを判定するステップと、
前記判定指示部が、前記エラー設定指示が入力されたときに、前記エラー発生条件が満たされないと判定した場合には、所定時間経過後に再度前記エラー発生条件判定部に前記判定指示を出力するステップと、
前記エラー発生指示出力部が、前記エラー発生条件判定部の判定により前記エラー発生条件が満たされる場合には、前記命令実行部にエラー発生指示を出力するステップと
を有するエラー発生指示回路の制御方法。 - 前記エラー発生条件判定部が実行するステップでは、前記演算処理装置から各命令の実行指示を受けてから前記演算処理装置に対し当該命令の完了報告を行うまでの間は前記エラー発生条件を満たすと判定し、前記完了報告を行った後、更に当該命令の実行を続行する間は前記エラー発生条件を満たさないと判定することを特徴とする、請求項7に記載のエラー発生指示回路の制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/051811 WO2011096083A1 (ja) | 2010-02-08 | 2010-02-08 | エラー発生指示回路、記憶装置、情報処理装置及びエラー発生指示回路の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011096083A1 JPWO2011096083A1 (ja) | 2013-06-10 |
JP5362856B2 true JP5362856B2 (ja) | 2013-12-11 |
Family
ID=44355110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011552631A Expired - Fee Related JP5362856B2 (ja) | 2010-02-08 | 2010-02-08 | エラー発生指示回路、記憶装置、情報処理装置及びエラー発生指示回路の制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120290904A1 (ja) |
EP (1) | EP2535818A1 (ja) |
JP (1) | JP5362856B2 (ja) |
WO (1) | WO2011096083A1 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02113345A (ja) * | 1988-10-22 | 1990-04-25 | Nec Corp | 擬障発生方式 |
JPH03255543A (ja) * | 1990-03-05 | 1991-11-14 | Nec Corp | 擬似障害発生方式 |
JPH05346872A (ja) * | 1992-06-15 | 1993-12-27 | Toshiba Corp | 異種計算機命令の疑似実行方法および装置 |
JPH0675813A (ja) * | 1992-08-26 | 1994-03-18 | Fujitsu Ltd | 外部記憶装置の疑似障害発生方法 |
JPH11234212A (ja) * | 1998-02-16 | 1999-08-27 | Fujitsu Ltd | 波長多重光伝送システム |
WO2004046975A1 (ja) * | 2002-11-18 | 2004-06-03 | Fujitsu Limited | 電子回路設計のタイミング改善方法、プログラム及び装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4198741B2 (ja) * | 2005-01-28 | 2008-12-17 | シャープ株式会社 | 通信機器、通信システム、通信方法、通信プログラム、通信回路 |
JP4930251B2 (ja) * | 2007-07-31 | 2012-05-16 | 富士通セミコンダクター株式会社 | 誤り訂正装置及びデスクランブル回路 |
US8296628B2 (en) * | 2009-03-06 | 2012-10-23 | Texas Instruments Incorporated | Data path read/write sequencing for reduced power consumption |
KR101212759B1 (ko) * | 2010-10-29 | 2012-12-14 | 에스케이하이닉스 주식회사 | 데이터 오류 검사 기능을 이용한 데이터 전송 방법, 데이터 오류 검사 기능을 이용한 반도체 메모리 및 메모리 시스템 |
US8429482B1 (en) * | 2012-03-22 | 2013-04-23 | Xilinx, Inc. | Multi-stage forward error correction decoding |
-
2010
- 2010-02-08 WO PCT/JP2010/051811 patent/WO2011096083A1/ja active Application Filing
- 2010-02-08 EP EP10845216A patent/EP2535818A1/en not_active Withdrawn
- 2010-02-08 JP JP2011552631A patent/JP5362856B2/ja not_active Expired - Fee Related
-
2012
- 2012-07-26 US US13/558,610 patent/US20120290904A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02113345A (ja) * | 1988-10-22 | 1990-04-25 | Nec Corp | 擬障発生方式 |
JPH03255543A (ja) * | 1990-03-05 | 1991-11-14 | Nec Corp | 擬似障害発生方式 |
JPH05346872A (ja) * | 1992-06-15 | 1993-12-27 | Toshiba Corp | 異種計算機命令の疑似実行方法および装置 |
JPH0675813A (ja) * | 1992-08-26 | 1994-03-18 | Fujitsu Ltd | 外部記憶装置の疑似障害発生方法 |
JPH11234212A (ja) * | 1998-02-16 | 1999-08-27 | Fujitsu Ltd | 波長多重光伝送システム |
WO2004046975A1 (ja) * | 2002-11-18 | 2004-06-03 | Fujitsu Limited | 電子回路設計のタイミング改善方法、プログラム及び装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2535818A1 (en) | 2012-12-19 |
WO2011096083A1 (ja) | 2011-08-11 |
US20120290904A1 (en) | 2012-11-15 |
JPWO2011096083A1 (ja) | 2013-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263081B2 (en) | Checkpointing | |
JP4393954B2 (ja) | マイクロコンピュータ | |
US6968410B2 (en) | Multi-threaded processing of system management interrupts | |
US8423834B2 (en) | Computer system and memory system | |
JP5362856B2 (ja) | エラー発生指示回路、記憶装置、情報処理装置及びエラー発生指示回路の制御方法 | |
JP2010181990A (ja) | データプロセッサ | |
CN107423029B (zh) | 计算单元 | |
CN110716823A (zh) | 用于连续验证器件状态完整性的系统和方法 | |
US8954794B2 (en) | Method and system for detection of latent faults in microcontrollers | |
JP6813513B2 (ja) | プロセッサシステムのプログラムカウンタ構造を保護する方法及び装置並びに中断要求の処理を監視する方法及び装置 | |
JP5549627B2 (ja) | マイクロコンピュータ | |
JP2004038541A (ja) | メモリチェックシステムおよびメモリチェック方法、信号処理装置および信号処理装置のメモリチェック方法、ならびに、メモリチェックプログラム | |
US20220415405A1 (en) | Memory-control circuit and method for controlling erasing operation of flash memory | |
JPH1115661A (ja) | Cpuの自己診断方法 | |
WO2023022035A1 (ja) | プロセッサ | |
JP2009289119A (ja) | ウォッチドッグ・タイマ及びマイクロコンピュータ | |
JP2009093393A (ja) | データ処理装置及びデータ処理装置の自己診断方法 | |
JP2009251700A (ja) | 制御装置及び割り込み信号発生方法 | |
JPH04109340A (ja) | 擬似障害発生回路 | |
JPH0135369B2 (ja) | ||
JP2000347880A (ja) | 割り込みコントローラおよびマイクロコンピュータ | |
JP2006119982A (ja) | コンピュータシステム | |
JPH06332736A (ja) | メモリ障害処理システム | |
JPH0477854A (ja) | マイクロコンピュータ回路 | |
JP2002351696A (ja) | デバッグ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130814 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130904 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |