JP2011128709A - Information processor and method for processing processor - Google Patents

Information processor and method for processing processor Download PDF

Info

Publication number
JP2011128709A
JP2011128709A JP2009284305A JP2009284305A JP2011128709A JP 2011128709 A JP2011128709 A JP 2011128709A JP 2009284305 A JP2009284305 A JP 2009284305A JP 2009284305 A JP2009284305 A JP 2009284305A JP 2011128709 A JP2011128709 A JP 2011128709A
Authority
JP
Japan
Prior art keywords
instruction
failure
execution
information
flag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009284305A
Other languages
Japanese (ja)
Inventor
Satoshi Tagaya
聡 多賀谷
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009284305A priority Critical patent/JP2011128709A/en
Publication of JP2011128709A publication Critical patent/JP2011128709A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor and a method of processing the processor can achieving a stable operation by reducing the possibility of an intermittent failure. <P>SOLUTION: The information processor includes: an instruction fetch means for fetching an instruction; an instruction decode means for decoding the fetched instruction; a plurality of execution circuits for executing the decoded instruction; and an instruction control means. When an instruction with the high possibility of the occurrence of any failure is decoded, the instruction control means confirms whether the execution circuit is electrically stable, and when the execution circuit is electrically stable, the instruction control means makes the execution circuit execute the pertinent instruction. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、情報処理装置およびプロセッサの処理方法に関し、特に間欠故障の可能性を減らして安定動作を実現することが可能な情報処理装置(プロセッサ等)およびプロセッサの処理方法に関する。   The present invention relates to an information processing apparatus and a processing method for a processor, and more particularly to an information processing apparatus (such as a processor) and a processing method for a processor capable of realizing stable operation by reducing the possibility of intermittent failure.

間欠故障の検出時、擬似的なキャッシュミス等を行うことによりその動作を無効化し、間欠故障の影響を最小化する技術が知られている。   A technique is known in which, when an intermittent failure is detected, a pseudo cache miss is performed to invalidate the operation and minimize the influence of the intermittent failure.

特許文献1は、データプロセッサ2が、命令フローの区間A〜Cに含まれる命令を読み込んで実行しながら命令の異常を検出し、異常検出時にはそれ以降の命令の実行を停止する技術を開示している(図15)。特許文献1のデータプロセッサ142は不正なアタックを検出するための演算回路として減算回路147とアキュムレータ148とを備える。減算回路147は命令レジスタ145が保有する命令コードをアキュムレータ148が保有する値から減算し、減算結果をアキュムレータ148に戻す。減算回路147は減算回路がゼロになったとき、ゼロフラグをセットして制御回路149に供給する。制御回路149は、所定の命令実行区間において、セット状態のゼロフラグを検出すると、命令実行を停止し、或いは特定の無限ループに入って、本来のプログラム実行を停止する。   Patent Document 1 discloses a technology in which the data processor 2 detects an abnormality of an instruction while reading and executing an instruction included in the sections A to C of the instruction flow, and stops execution of the subsequent instructions when the abnormality is detected. (FIG. 15). The data processor 142 of Patent Document 1 includes a subtraction circuit 147 and an accumulator 148 as an arithmetic circuit for detecting an illegal attack. The subtraction circuit 147 subtracts the instruction code held in the instruction register 145 from the value held in the accumulator 148 and returns the subtraction result to the accumulator 148. When the subtraction circuit becomes zero, the subtraction circuit 147 sets a zero flag and supplies it to the control circuit 149. When the control circuit 149 detects a zero flag in the set state in a predetermined instruction execution section, the control circuit 149 stops the instruction execution or enters a specific infinite loop to stop the original program execution.

特開2008−287449JP2008-287449

しかしながら、特許文献1は間欠故障が発生するとプログラムが完全に実行されなくなるという問題がある。また、特許文献1では将来的に発生するだろう同じ間欠故障を発生させる命令を特定できないという問題がある。   However, Patent Document 1 has a problem that a program is not completely executed when an intermittent failure occurs. Further, Patent Document 1 has a problem that it is not possible to specify an instruction that causes the same intermittent failure that will occur in the future.

本発明の目的は、間欠故障の可能性を減らし、安定動作を実現することが可能な情報処理装置およびプロセッサの処理方法を提供することにある。   An object of the present invention is to provide an information processing apparatus and a processor processing method capable of reducing the possibility of intermittent failure and realizing stable operation.

本発明の情報処理装置は、命令をフェッチする命令フェッチ手段と、フェッチされた命令をデコードする命令デコード手段と、デコードされた命令を実行する複数の実行回路と、
故障発生の可能性が高い命令がデコードされた場合、実行回路が電気的に安定しているか否かを確認し、電気的に安定している場合に当該命令を実行回路に実行させる命令制御手段と、を備えることを特徴とする。
An information processing apparatus of the present invention includes an instruction fetch unit that fetches an instruction, an instruction decode unit that decodes a fetched instruction, a plurality of execution circuits that execute the decoded instruction,
Instruction control means for checking whether an execution circuit is electrically stable when an instruction having a high possibility of occurrence of a failure is decoded, and causing the execution circuit to execute the instruction when the instruction is electrically stable And.

本発明のプロセッサの処理方法は、命令をフェッチする命令フェッチステップと、フェッチされた命令をデコードする命令デコードステップと、故障発生の可能性が高い命令がデコードされた場合、実行回路が電気的に安定しているか否かを判断する第1の判断ステップと、電気的に安定している場合に当該命令を実行回路に実行させる命令実行ステップと、を有することを特徴とする。   According to the processor processing method of the present invention, when an instruction fetch step for fetching an instruction, an instruction decode step for decoding the fetched instruction, and an instruction having a high possibility of occurrence of a failure are decoded, the execution circuit is electrically It has a first determination step for determining whether or not it is stable, and an instruction execution step for causing the execution circuit to execute the instruction when it is electrically stable.

本発明は、故障を発生させる可能性が高い命令を実行回路が安定している場合にのみ実行させることにより間欠故障の可能性を減らし、安定動作を実現することができるという効果を有する。   The present invention has an effect that a stable operation can be realized by reducing the possibility of an intermittent failure by executing an instruction that is likely to cause a failure only when the execution circuit is stable.

図1は本発明の第1実施形態のプロセッサ内部を示す図である。FIG. 1 is a diagram showing the inside of a processor according to the first embodiment of the present invention. フェッチデコード部1の動作概要を示すフローチャートである。4 is a flowchart showing an outline of operation of the fetch decoding unit 1. 命令スケジューリング手段21の動作概要を示すフローチャートである。3 is a flowchart showing an outline of the operation of an instruction scheduling unit 21. 非コア部3の動作概要を示すフローチャートである。3 is a flowchart showing an outline of operation of a non-core unit 3. プロセッサ内部について詳細に示した図である。It is the figure which showed the inside of a processor in detail. 実行すべき命令の命令列を示す図である。It is a figure which shows the command sequence of the command which should be performed. 故障部位使用命令DB12のデータを示す図である。It is a figure which shows the data of failure location usage instruction DB12. 命令デコード手段102から命令制御部11に送られる命令情報を示す図である。It is a figure which shows the command information sent to the command control part 11 from the command decoding means 102. 加算器30から故障部位使用命令検出手段37に送られる情報を示す図である。It is a figure which shows the information sent to the failure location use command detection means 37 from the adder 30. FIG. 乗算器31故障部位使用命令検出手段37に送られる情報を示す図である。It is a figure which shows the information sent to the multiplier 31 failure location use command detection means 37. FIG. ADD命令で間欠故障が発生した場合における故障部位使用命令DB12のデータを示す図である。It is a figure which shows the data of failure location use command DB12 when an intermittent failure generate | occur | produces with the ADD command. 故障部位使用命令DB12のデータを示す図である。It is a figure which shows the data of failure location usage instruction DB12. 命令デコード手段102から命令制御部11送られるデータを示す図である。It is a figure which shows the data sent from the instruction decoding means 102 to the instruction control part 11. 本発明の第2の実施の形態を示すブロック図である。It is a block diagram which shows the 2nd Embodiment of this invention. 本発明の関連技術を示すブロック図である。It is a block diagram which shows the related technology of this invention.

まず、本発明の第1実施形態について説明する。本実施形態では、情報処理装置としてプロセッサを例に挙げて説明する。   First, a first embodiment of the present invention will be described. In the present embodiment, a processor will be described as an example of the information processing apparatus.

図1は、本実施形態のプロセッサ内部を示す図である。プロセッサ10はフェッチデコード部1とプロセッサコア部2と非コア部3とを備える。   FIG. 1 is a diagram showing the inside of the processor of this embodiment. The processor 10 includes a fetch decoding unit 1, a processor core unit 2, and a non-core unit 3.

フェッチデコード部1は、命令を保持し、命令をフェッチ、デコードしてプロセッサコア部2に送る機能を有する。一般的には、分岐予測機構なども含まれる。   The fetch decoding unit 1 has a function of holding an instruction, fetching and decoding the instruction, and sending the instruction to the processor core unit 2. In general, a branch prediction mechanism is also included.

フェッチデコード部1は、命令が格納されている命令キャッシュ103と、命令をフェッチする命令フェッチ手段101と、命令をデコードする命令デコード手段102と、命令をプロセッサコア部2に送るか否かを判断する命令制御部11と、過去に発生した故障に関係する命令種別が格納されたデータベースである故障部位使用命令DB(Data Base)12とを備える。   The fetch decode unit 1 determines an instruction cache 103 in which instructions are stored, an instruction fetch unit 101 that fetches instructions, an instruction decode unit 102 that decodes instructions, and whether to send an instruction to the processor core unit 2 An instruction control unit 11 for executing the failure, and a failure part use instruction DB (Data Base) 12 which is a database storing instruction types related to failures that have occurred in the past.

故障部位使用命令DB12に格納されたデータの一例を図11に示す。有効bitフィールド7−1と命令種別のフィールド7−2とを備える。図11では、命令種別のフィールド7−2が「ADD命令」となっており、それに対応する有効bitフィールド7−1が「1」となっている。これは、過去にADD命令で間欠故障が生じたことを意味している。なお、故障部位使用命令DB12の構成はこれに限定されるものではない。
また、命令キャッシュ103は、一般的なプロセッサが持つ命令キャッシュと同様であり、例えば、128B/ライン、2ウェイセットアソシアティブ構成の64KBサイズのキャッシュ等が挙げられる。
An example of data stored in the failure part use instruction DB 12 is shown in FIG. A valid bit field 7-1 and an instruction type field 7-2 are provided. In FIG. 11, the instruction type field 7-2 is "ADD instruction", and the corresponding valid bit field 7-1 is "1". This means that an intermittent failure has occurred in the past due to an ADD instruction. Note that the configuration of the failure part use instruction DB 12 is not limited to this.
The instruction cache 103 is the same as the instruction cache of a general processor, for example, a 128 KB / line, 2-way set associative 64 KB size cache.

プロセッサコア部2は、命令を実行するための前処理(実行スケジュール管理等)を行い、非コア部の実行回路30−35(加算器30と乗算器31と除算器32とアドレス計算手段33とCPU制御回路34とデータキャッシュ35)に命令を送る機能を有する。プロセッサコア部2は、命令スケジューリング手段21と、演算命令RS(Reservation Station)22と、メモリ系命令RS(Reservation Station)22と、制御系命令RS(Reservation Station)24とを備える。   The processor core unit 2 performs preprocessing (execution schedule management, etc.) for executing instructions, and executes non-core unit execution circuits 30-35 (adder 30, multiplier 31, divider 32, address calculation means 33, It has a function of sending instructions to the CPU control circuit 34 and the data cache 35). The processor core unit 2 includes an instruction scheduling unit 21, an operation instruction RS (Reservation Station) 22, a memory system instruction RS (Reservation Station) 22, and a control system instruction RS (Reservation Station) 24.

演算命令RS22は、一般的にリザベーションステーションと呼ばれる、オペランドの待ち合わせを行うためのバッファである。演算命令RS22は、命令スケジューリング手段21から分配された命令を登録し、実行可能な命令を選択し、命令種別に応じて加算器30や乗算器31や除算器32等に送る。演算命令RS22では、主に整数・浮動小数点の演算命令や論理演算などを実施するが、整数・浮動小数点で構成が分割されていてもよいし、それぞれを複数持っていても良い。   The operation instruction RS22 is a buffer for waiting for operands, generally called a reservation station. The arithmetic instruction RS22 registers the instruction distributed from the instruction scheduling means 21, selects an executable instruction, and sends it to the adder 30, the multiplier 31, the divider 32, etc. according to the instruction type. The arithmetic instruction RS22 mainly executes an integer / floating point arithmetic instruction or a logical operation, but the configuration may be divided into an integer / floating point, or a plurality of them may be provided.

メモリ系命令RS23は、一般的にリザベーションステーションと呼ばれる、オペランドの待ち合わせを行うためのバッファである。メモリ系命令RS23は、命令スケジューリング手段21から分配された命令を登録し、実行可能な命令を選択し、アドレス計算手段33に命令を送出する。メモリ系命令RS23では、主にメモリへのロード・ストア命令を処理する。なお、複数個のRSに分割されていてもよい。   The memory command RS23 is a buffer for waiting for operands, generally called a reservation station. The memory system instruction RS23 registers the instruction distributed from the instruction scheduling unit 21, selects an executable instruction, and sends the instruction to the address calculation unit 33. The memory system instruction RS23 mainly processes load / store instructions to the memory. It may be divided into a plurality of RSs.

制御系命令RS24は、一般的にリザベーションステーションと呼ばれる、オペランドの待ち合わせを行うためのバッファであり、命令スケジューリング手段21から分配された命令を登録し、実行可能な命令を選択し、その命令をCPU制御回路34に送出する。制御系命令RS24では、CPU状態フラグ操作命令、動作モード操作命令、CPU性能カウンタ操作命令など、CPU全体の制御を行う命令を主に扱う。なお、複数個のRSに分割されていてもよい。   The control system instruction RS24 is a buffer for waiting for operands, generally called a reservation station, registers the instruction distributed from the instruction scheduling means 21, selects an executable instruction, and sends the instruction to the CPU. The data is sent to the control circuit 34. The control system command RS24 mainly handles commands for controlling the entire CPU, such as a CPU status flag operation command, an operation mode operation command, and a CPU performance counter operation command. It may be divided into a plurality of RSs.

非コア部3は、命令終了検出手段36と故障部位使用命令検出手段37と複数の実行回路30−35とを備えている。非コア部3は、実行回路として、加算器30と乗算器31と除算器32とアドレス計算手段33とCPU制御回路34とデータキャッシュ35とを備える。各実行回路にはフラグが備え付けられており、フラグは過去にその回路で間欠故障が発生したか否かを記憶している。加算器30はフラグ301を備え、乗算器31はフラグ311を備え、アドレス計算手段33はフラグ331を備え、CPU制御回路34はフラグ341を備え、除算器32はフラグ321を備え、データキャッシュ35はフラグ351を備える。   The non-core unit 3 includes an instruction end detection means 36, a failure part use instruction detection means 37, and a plurality of execution circuits 30-35. The non-core unit 3 includes an adder 30, a multiplier 31, a divider 32, an address calculation unit 33, a CPU control circuit 34, and a data cache 35 as execution circuits. Each execution circuit is provided with a flag, and the flag stores whether or not an intermittent failure has occurred in the circuit in the past. The adder 30 includes a flag 301, the multiplier 31 includes a flag 311, the address calculation unit 33 includes a flag 331, the CPU control circuit 34 includes a flag 341, the divider 32 includes a flag 321, and the data cache 35 Includes a flag 351.

命令終了検出手段36は、一般的にはリタイア処理と呼ばれる処理を行い、実行された命令が順番などに矛盾なく終了してもいいかどうかを判断し、完全に終了してもよい場合は命令スケジューリング手段21に命令の終了を知らせる。   The instruction end detection means 36 performs a process generally called retirement processing, determines whether or not the executed instructions can end without contradiction in order, and if it is possible to complete the instruction, Informs the scheduling means 21 of the end of the instruction.

故障部位使用命令検出手段37は、間欠故障検出時に、どの命令がその間欠故障を引き起こしたかを特定する。よって、故障部位使用命令検出手段37は、故障部位使用命令DB12に対して、故障回路を使用する可能性のある命令の種別を通知することが可能となる。   The failure part use command detection means 37 specifies which command caused the intermittent failure when the intermittent failure is detected. Therefore, the failure part use instruction detecting unit 37 can notify the failure part use instruction DB 12 of the type of instruction that may use the failure circuit.

次に、フローチャートを用いて、フェッチデコード部1の動作概要について説明する。図2は、フェッチデコード部の動作概要を示すフローチャートである。   Next, an outline of the operation of the fetch decoding unit 1 will be described using a flowchart. FIG. 2 is a flowchart showing an outline of the operation of the fetch decoding unit.

命令フェッチ手段101は、命令キャッシュ103から命令を取り出し、命令デコード手段102に送る(ステップS201)。命令デコード手段102は、故障部位使用命令DB12を参照し、故障部位使用命令DB12に登録された命令種別であるか否か調べる(ステップS202)。   The instruction fetch unit 101 fetches an instruction from the instruction cache 103 and sends it to the instruction decoding unit 102 (step S201). The instruction decoding unit 102 refers to the failure part use instruction DB 12 and checks whether the instruction type is registered in the failure part use instruction DB 12 (step S202).

そして、命令デコード手段102は、命令制御部11に対して、デコードした命令と故障部位使用命令DB12に登録された命令であるか否か(過去に間欠故障を発生した命令であるか否か)を示す命令情報とを送る(ステップS203)。図8に、命令情報の一例を示す。命令情報は有効bitフィールド8−1と命令フィールド8−2と間欠故障フィールド8−3とから構成される。図8の命令情報は、ADD命令およびMULT命令がともに過去に間欠故障を発生させておらず、かつ、有効な情報であることを意味する。詳細は後述する。   Then, the instruction decoding unit 102 determines whether or not the instruction control unit 11 is a decoded instruction and an instruction registered in the failure part use instruction DB 12 (whether or not the instruction has caused an intermittent failure in the past). Is sent (step S203). FIG. 8 shows an example of instruction information. The command information includes a valid bit field 8-1, a command field 8-2, and an intermittent failure field 8-3. The instruction information in FIG. 8 means that both the ADD instruction and the MULT instruction have not caused an intermittent failure in the past and are valid information. Details will be described later.

なお、本実施形態では、命令デコード手段102は最大4命令を1つのパケットまたは1つのフレームとして命令制御部11に送ることができる構成としているが、これに限定されるものではない。   In this embodiment, the instruction decoding unit 102 is configured to be able to send a maximum of four instructions to the instruction control unit 11 as one packet or one frame, but is not limited to this.

命令制御部11は、命令情報に基づいて、命令デコード手段102から受け取った命令が過去に発生した故障に関係する命令か否かを判断する(ステップS204)。過去に発生した故障に関係する命令の場合、命令制御部11は、命令スケジューリング手段21に対して実行回路の問い合わせを行う。そして、命令制御部11は、命令スケジューリング手段21から送られてくる実行回路の情報を参照し(ステップS205)、使用する実行回路が電気的に安定であることが確認できるまで、命令を保持する(ステップS206、ステップS207)。実行回路が電気的に安定であることが確認されると、命令制御部11は、その命令を命令スケジューリング手段に送る(ステップS208)。   The instruction control unit 11 determines whether or not the instruction received from the instruction decoding unit 102 is an instruction related to a failure that has occurred in the past based on the instruction information (step S204). In the case of an instruction related to a failure that has occurred in the past, the instruction control unit 11 inquires the instruction scheduling unit 21 about the execution circuit. Then, the instruction control unit 11 refers to the execution circuit information sent from the instruction scheduling unit 21 (step S205), and holds the instruction until it can be confirmed that the execution circuit to be used is electrically stable. (Step S206, Step S207). When it is confirmed that the execution circuit is electrically stable, the instruction control unit 11 sends the instruction to the instruction scheduling means (step S208).

本実施形態では、「電気的に安定である」とは、ステップS204において「過去に発生した故障に関係する」と判断された命令の先行命令が全て終了している状態を意味するが、これに限定されるものではない。   In this embodiment, “electrically stable” means a state in which all preceding instructions of the instruction determined to be “related to a failure that occurred in the past” in step S204 have been completed. It is not limited to.

一方、命令デコード手段102から受け取った命令が過去に発生した故障に関係する命令でない場合、命令制御部11は命令を保持せずに命令スケジューリング手段21へ送る(ステップS204、ステップS208)。   On the other hand, if the instruction received from the instruction decoding unit 102 is not an instruction related to a failure that has occurred in the past, the instruction control unit 11 does not hold the instruction and sends it to the instruction scheduling unit 21 (steps S204 and S208).

次に、フローチャートを用いて、命令スケジューリング手段21の動作概要について説明する。図3は、命令スケジューリング手段21の動作概要を示すフローチャートである。   Next, an operation outline of the instruction scheduling unit 21 will be described using a flowchart. FIG. 3 is a flowchart showing an outline of the operation of the instruction scheduling means 21.

命令スケジューリング手段21は、一般的なプロセッサで行われている命令キューやリオーダバッファと呼ばれる、命令におけるオペランドの依存性解析や終了の順序保障動作を行う。   The instruction scheduling unit 21 performs an operand dependency analysis and an end order guarantee operation called an instruction queue or a reorder buffer, which is performed in a general processor.

命令スケジューリング手段21は、命令制御部11から実行回路の情報について問い合わせを受けると(ステップS300)、先行命令が全て終了しているか否かを調べる(ステップS301)。先行命令が全て終了していた場合、命令スケジューリング手段21は命令制御部11に対して回路が安定している旨を知らせる(ステップS302、ステップS303)。   When the instruction scheduling unit 21 receives an inquiry about the information of the execution circuit from the instruction control unit 11 (step S300), the instruction scheduling unit 21 checks whether all the preceding instructions have been completed (step S301). When all the preceding instructions have been completed, the instruction scheduling means 21 notifies the instruction control unit 11 that the circuit is stable (steps S302 and S303).

そして、命令スケジューリング手段21は、命令制御部11から命令を受け取ると、その命令を実行パイプラインに送出する(ステップS305)。具体的には、命令スケジューリング手段21は、命令種別毎に、演算命令RS22、メモリ系命令RS23、制御系命令RS24と分類して送出する。そして、演算命令RS22、メモリ系命令RS23、制御系命令RS24はそれぞれ、実行可能な命令を選択し、その命令を非コア部3の実行回路30−35に送出する(ステップS306)。   Then, when receiving an instruction from the instruction control unit 11, the instruction scheduling unit 21 sends the instruction to the execution pipeline (step S305). Specifically, the instruction scheduling means 21 classifies and sends out the operation instruction RS22, the memory system instruction RS23, and the control system instruction RS24 for each instruction type. The arithmetic instruction RS22, the memory system instruction RS23, and the control system instruction RS24 each select an executable instruction and send the instruction to the execution circuit 30-35 of the non-core unit 3 (step S306).

一方、命令スケジューリング手段21は、命令制御部11から実行回路の情報について問い合わせを受けない状態で命令を受け取った場合(ステップS300、ステップS304)、その命令を実行パイプラインに送出する(ステップS305)。具体的には、命令スケジューリング手段21は、命令種別毎に、演算命令RS22、メモリ系命令RS23、制御系命令RS24と分類して送出する。そして、演算命令RS22、メモリ系命令RS23、制御系命令RS24はそれぞれ、実行可能な命令を選択し、その命令を非コア部3の実行回路30−35に送出する(ステップS306)。   On the other hand, when the instruction scheduling unit 21 receives an instruction without receiving an inquiry about the information of the execution circuit from the instruction control unit 11 (steps S300 and S304), the instruction scheduling unit 21 sends the instruction to the execution pipeline (step S305). . Specifically, the instruction scheduling means 21 classifies and sends out the operation instruction RS22, the memory system instruction RS23, and the control system instruction RS24 for each instruction type. The arithmetic instruction RS22, the memory system instruction RS23, and the control system instruction RS24 each select an executable instruction and send the instruction to the execution circuit 30-35 of the non-core unit 3 (step S306).

なお、本実施形態では、命令スケジューリング手段21は命令が終了したか否かの情報を保持するとするが、これに限定されるものではない。   In the present embodiment, the instruction scheduling unit 21 holds information indicating whether or not the instruction has been completed, but the present invention is not limited to this.

次に、フローチャートを用いて、非コア部3の動作概要について説明する。図4は非コア部の動作概要を示すフローチャートである。特に、ステップS400〜ステップS405は各実行回路の動作概要である。   Next, the operation | movement outline | summary of the non-core part 3 is demonstrated using a flowchart. FIG. 4 is a flowchart showing an outline of the operation of the non-core unit. In particular, steps S400 to S405 are an outline of the operation of each execution circuit.

まず、各実行回路の動作概要について説明する。各実行回路において演算処理内容は異なるが、その他の動作は同様である。   First, an outline of the operation of each execution circuit will be described. Although the contents of arithmetic processing are different in each execution circuit, other operations are the same.

加算機30の場合について説明する。   The case of the adder 30 will be described.

加算器30は、浮動小数点・固定小数点の加算動作を行う。内部的には、パリティチェックや二重化等の故障検出回路が含まれている。   The adder 30 performs a floating point / fixed point addition operation. Internally, failure detection circuits such as parity check and duplication are included.

故障発生時(ステップS400)、加算器30はフラグ301が点灯しているか否かを調べる(ステップS401)。フラグ301がすでに点灯していた場合、加算器30は、固定故障が発生していると判断し、故障発生時に実行中だった命令の種別情報(すなわち加算命令種別情報)と固定故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS402)。そして、故障部位使用命令検出手段37は、システム停止などの障害処理を行う(ステップS410)。   When a failure occurs (step S400), the adder 30 checks whether the flag 301 is lit (step S401). If the flag 301 has already been lit, the adder 30 determines that a fixed failure has occurred, and indicates that the instruction type information (that is, the added instruction type information) being executed at the time of the failure is a fixed failure. Is sent to the failure part use command detection means 37 (step S402). Then, the failure part use instruction detection unit 37 performs failure processing such as system stop (step S410).

一方、故障発生時にフラグ301が点灯していなかった場合、最初の故障であることを意味しているので、加算器30は、間欠故障が発生していると判断し、フラグ301を点灯させるとともに、故障発生時に実行中だった命令の種別情報(すなわち加算命令種別情報)と間欠故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS403、ステップS404)。そして、故障部位使用命令検出手段37は、故障部位使用命令DB12に間欠故障が発生した旨を登録し(ステップS409)、加算器30は、命令の実行が終了した旨を命令終了検出手段36に送る(ステップS405)。   On the other hand, if the flag 301 is not lit when a failure occurs, it means that the failure is the first, so the adder 30 determines that an intermittent failure has occurred and turns on the flag 301. Then, the type information of the command that was being executed when the failure occurred (that is, the added command type information) and the information indicating that there is an intermittent failure are sent to the failure part use command detection means 37 (steps S403 and S404). Then, the failure part use instruction detection unit 37 registers that an intermittent failure has occurred in the failure part use instruction DB 12 (step S409), and the adder 30 notifies the instruction end detection unit 36 that the execution of the instruction has ended. Send (step S405).

図9に、固定故障が発生した場合に加算器30が故障部位使用命令検出手段37に送る情報の一例を示す。図9の情報は、有効bitフィールド9−1と命令種別フィールド9−2と固定故障フィールド9−3とから構成される。図9では、有効bitフィールドが「1」であり、これは有効情報であることを意味している。また、固定故障フィールド9−3が「0」であり、これは固定故障が発生していないことを意味している。   FIG. 9 shows an example of information that the adder 30 sends to the failure part use command detection means 37 when a fixed failure occurs. The information in FIG. 9 includes a valid bit field 9-1, an instruction type field 9-2, and a fixed fault field 9-3. In FIG. 9, the valid bit field is “1”, which means that it is valid information. Further, the fixed failure field 9-3 is “0”, which means that no fixed failure has occurred.

次に、乗算器31の場合(ステップS400〜ステップS405、ステップS409、ステップS410)について説明する。   Next, the case of the multiplier 31 (step S400 to step S405, step S409, step S410) will be described.

乗算器31は、浮動小数点・固定小数点の乗算動作を行う。内部的には、パリティチェックや二重化等の故障検出回路が含まれている。   The multiplier 31 performs a floating point / fixed point multiplication operation. Internally, failure detection circuits such as parity check and duplication are included.

故障発生時(ステップS400)、乗算器31はすでにフラグ311が点灯しているか否かを調べる(ステップS401)。すでにフラグ311が点灯していた場合、乗算器31は、固定故障が発生していると判断し、故障発生時に実行中だった命令の種別情報(すなわち乗算命令種別情報)と固定故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS402)。そして、故障部位使用命令検出手段37は、システム停止などの障害処理を行う(ステップS410)。   When a failure occurs (step S400), the multiplier 31 checks whether or not the flag 311 is already lit (step S401). If the flag 311 has already been lit, the multiplier 31 determines that a fixed failure has occurred, and indicates that the instruction type information (that is, the multiplication instruction type information) being executed at the time of the failure and the fixed failure are present. Is sent to the failure part use command detection means 37 (step S402). Then, the failure part use instruction detection unit 37 performs failure processing such as system stop (step S410).

一方、故障発生時にフラグ311が点灯していなかった場合、最初の故障であることを意味しているので、乗算器31は、間欠故障が発生していると判断し、フラグ311を点灯させるとともに、故障発生時に実行中だった命令の種別情報(すなわち乗算命令種別情報)と間欠故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS403、ステップS404)。そして、故障部位使用命令検出手段37は、故障部位使用命令DB12に間欠故障が発生した旨を登録し(ステップS409)、乗算器31は、命令の実行が終了した旨を命令終了検出手段36に送る(ステップS405)。   On the other hand, if the flag 311 is not lit when a failure occurs, it means that the failure is the first, so the multiplier 31 determines that an intermittent failure has occurred and turns on the flag 311. Then, the type information of the instruction that was being executed when the failure occurred (that is, the multiplication command type information) and the information indicating that there is an intermittent failure are sent to the failure part use command detection means 37 (steps S403 and S404). Then, the failure part use instruction detection unit 37 registers that an intermittent failure has occurred in the failure part use instruction DB 12 (step S409), and the multiplier 31 notifies the instruction end detection unit 36 that the execution of the instruction has ended. Send (step S405).

なお、固定故障が発生した場合に乗算器31が故障部位使用命令検出手段37に送る情報は、加算器30の場合と同様であるため、詳細な説明は省略する。   Note that the information that the multiplier 31 sends to the failure part use command detection means 37 when a fixed failure occurs is the same as that in the case of the adder 30, and a detailed description thereof will be omitted.

次に 除算器32の場合(ステップS400〜ステップS405、ステップS409、ステップS410)について説明する。   Next, the case of the divider 32 (step S400 to step S405, step S409, step S410) will be described.

除算器32は、浮動小数点・固定小数点の除算動作を行う。内部的には、パリティチェックや二重化等の故障検出回路が含まれている。   The divider 32 performs a floating point / fixed point division operation. Internally, failure detection circuits such as parity check and duplication are included.

故障発生時(ステップS400)、除算器32はすでにフラグ321が点灯しているか否かを調べる(ステップS401)。すでにフラグ321が点灯していた場合、除算器32は、固定故障が発生していると判断し、故障発生時に実行中だった命令の種別情報(すなわち除算命令種別情報)と固定故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS402)。そして、故障部位使用命令検出手段37は、システム停止などの障害処理を行う(ステップS410)。   When a failure occurs (step S400), the divider 32 checks whether the flag 321 is already lit (step S401). When the flag 321 has already been lit, the divider 32 determines that a fixed failure has occurred, and indicates that the instruction type information (that is, division instruction type information) being executed at the time of the failure and the fixed failure are present. Is sent to the failure part use command detection means 37 (step S402). Then, the failure part use instruction detection unit 37 performs failure processing such as system stop (step S410).

一方、故障発生時にフラグ321が点灯していなかった場合、最初の故障であることを意味しているので、除算器32は、間欠故障が発生していると判断し、フラグ321を点灯させるとともに、故障発生時に実行中だった命令の種別情報(すなわち除算命令種別)と間欠故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS403、ステップS404)。そして、故障部位使用命令検出手段37は、故障部位使用命令DB12に間欠故障が発生した旨を登録し(ステップS409)、除算器32は、命令の実行が終了した旨を命令終了検出手段36に送る(ステップS405)。   On the other hand, if the flag 321 is not lit when the failure occurs, it means that the failure is the first, so the divider 32 determines that an intermittent failure has occurred and turns on the flag 321. Then, the type information (that is, the division command type) of the instruction being executed at the time of the failure and the information indicating that there is an intermittent failure are sent to the failure part use command detection means 37 (steps S403 and S404). Then, the failure part use instruction detection unit 37 registers that an intermittent failure has occurred in the failure part use instruction DB 12 (step S409), and the divider 32 notifies the instruction end detection unit 36 that the execution of the instruction has ended. Send (step S405).

なお、固定故障が発生した場合に除算器32が故障部位使用命令検出手段37に送る情報は、加算器30の場合と同様であるため、詳細な説明は省略する。   Note that the information that the divider 32 sends to the failure part use command detection means 37 when a fixed failure occurs is the same as that in the case of the adder 30, and therefore detailed description thereof is omitted.

次に、アドレス計算手段33の場合(ステップS400〜ステップS405、ステップS409、ステップS410)について説明する。   Next, the case of the address calculation means 33 (step S400 to step S405, step S409, step S410) will be described.

アドレス計算手段33は、メモリアクセス用のアドレス計算を行う。内部的には、パリティチェックや二重化等の故障検出回路が含まれている。   The address calculation means 33 performs address calculation for memory access. Internally, failure detection circuits such as parity check and duplication are included.

故障検出時(ステップS400)、アドレス計算手段33はすでにフラグ331が点灯しているか否かを調べる(ステップS401)。すでにフラグ331が点灯していた場合、アドレス計算手段33は、固定故障が発生していると判断し、故障発生時に実行中だった命令の種別情報(すなわちメモリ系命令種別情報)と固定故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS402)。ここで、アドレス計算が実行されると、データキャッシュ35に対して命令を移送し、実際のメモリアクセス操作が行われる。   When a failure is detected (step S400), the address calculation means 33 checks whether the flag 331 has already been lit (step S401). If the flag 331 has already been lit, the address calculation means 33 determines that a fixed fault has occurred, and the instruction type information (that is, the memory system instruction type information) that was being executed at the time of the fault and the fixed fault. Information indicating the presence is sent to the failure part use command detection means 37 (step S402). Here, when the address calculation is executed, an instruction is transferred to the data cache 35, and an actual memory access operation is performed.

一方、故障発生時にフラグ331が点灯していなかった場合、最初の故障であることを意味しているので、アドレス計算手段33は、間欠故障が発生していると判断し、フラグ331を点灯させるとともに、故障発生時に実行中だった命令の種別情報(すなわちメモリ系命令種別情報)と間欠故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS403、ステップS404)。そして、故障部位使用命令検出手段37は、故障部位使用命令DB12に間欠故障が発生した旨を登録し(ステップS409)、アドレス計算手段33は、命令の実行が終了した旨を命令終了検出手段36に送る(ステップS405)。   On the other hand, if the flag 331 is not lit when the failure occurs, it means that the failure is the first, so the address calculation means 33 determines that an intermittent failure has occurred and turns on the flag 331. At the same time, the type information (that is, the memory type command type information) of the instruction being executed at the time of the failure and the information indicating the intermittent failure are sent to the failure part use command detection means 37 (steps S403 and S404). Then, the failure part use instruction detection unit 37 registers that an intermittent failure has occurred in the failure part use instruction DB 12 (step S409), and the address calculation unit 33 indicates that the execution of the instruction has been completed. (Step S405).

なお、固定故障が発生した場合に乗算器31が故障部位使用命令検出手段37に送る情報は、加算器30の場合と同様であるため、詳細な説明は省略する。   Note that the information that the multiplier 31 sends to the failure part use command detection means 37 when a fixed failure occurs is the same as that in the case of the adder 30, and a detailed description thereof will be omitted.

次に、データキャッシュ35の場合(ステップS400〜ステップS405、ステップS409、ステップS410)について説明する。   Next, the case of the data cache 35 (step S400 to step S405, step S409, step S410) will be described.

データキャッシュ35は、一般的なプロセッサにおけるデータキャッシュと同様のものであり、データのロード・ストア動作が主に行われる。内部的にはパリティチェックや二重化等の故障検出回路が含まれている。   The data cache 35 is the same as a data cache in a general processor, and mainly performs data load / store operations. Internally, failure detection circuits such as parity check and duplexing are included.

故障発生時(ステップS400)、データキャッシュ35はすでにフラグ351が点灯しているか否かを調べる(ステップS401)。すでにフラグ351が点灯していた場合、データキャッシュ35は、固定故障が発生していると判断し、故障発生時に実行中だった命令の種別情報(すなわちメモリ系命令種別情報)と固定故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS402)。   When a failure occurs (step S400), the data cache 35 checks whether the flag 351 is already lit (step S401). If the flag 351 has already been lit, the data cache 35 determines that a fixed failure has occurred, and the type information of the instruction being executed at the time of the failure (that is, the memory system instruction type information) and the fixed failure. Information indicating this is sent to the failure part use command detection means 37 (step S402).

一方、故障発生時にフラグ351が点灯していなかった場合、最初の故障であることを意味しているので、データキャッシュ35は、間欠故障が発生していると判断し、フラグ351を点灯させるとともに、故障発生時に実行中だった命令の種別情報(すなわちメモリ系命令種別情報)と間欠故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS403、ステップS404)。そして、故障部位使用命令検出手段37は、故障部位使用命令DB12に間欠故障が発生した旨を登録し(ステップS409)、除算器35は、命令の実行が終了した旨を命令終了検出手段36に送る(ステップS405)。   On the other hand, if the flag 351 is not lit when a failure occurs, it means that the failure is the first, so the data cache 35 determines that an intermittent failure has occurred and turns on the flag 351. Then, the type information of the instruction that was being executed when the failure occurred (that is, the memory type command type information) and the information indicating that there is an intermittent failure are sent to the failure part use command detection means 37 (steps S403 and S404). The failure part use instruction detection unit 37 registers that an intermittent failure has occurred in the failure part use instruction DB 12 (step S409), and the divider 35 notifies the instruction end detection unit 36 that the execution of the instruction has been completed. Send (step S405).

なお、固定故障が発生した場合にデータキャッシュ35が故障部位使用命令検出手段37に送る情報は、加算器30の場合と同様であるため、詳細な説明は省略する。   Note that the information that the data cache 35 sends to the faulty part use command detection means 37 when a fixed fault occurs is the same as that of the adder 30, and a detailed description thereof will be omitted.

次に、CPU制御回路34の場合(ステップS400〜ステップS405、ステップS409、ステップS410)について説明する。   Next, the case of the CPU control circuit 34 (step S400 to step S405, step S409, step S410) will be described.

CPU制御回路34は、主にCPU状態フラグ操作命令、動作モード操作命令、CPU性能カウンタ操作命令など、CPU全体の制御を行う命令を主に実行する。内部的にはパリティチェックや二重化等の故障検出回路が含まれている。   The CPU control circuit 34 mainly executes instructions for controlling the entire CPU, such as a CPU status flag operation instruction, an operation mode operation instruction, and a CPU performance counter operation instruction. Internally, failure detection circuits such as parity check and duplexing are included.

故障発生時(ステップS400)、CPU制御回路34はすでにフラグ341が点灯しているか否かを調べる(ステップS401)。すでにフラグ341が点灯していた場合、CPU制御回路34は、固定故障が発生していると判断し、故障発生時に実行中だった命令の種別情報(すなわちCPU制御系命令種別情報)と固定故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS402)。   When a failure occurs (step S400), the CPU control circuit 34 checks whether the flag 341 has already been lit (step S401). If the flag 341 has already been lit, the CPU control circuit 34 determines that a fixed failure has occurred, and the type information (that is, CPU control system command type information) of the instruction being executed at the time of the failure and the fixed failure. Is sent to the failure part use command detection means 37 (step S402).

一方、フラグ341が点灯していなかった場合、最初の故障であることを意味しているので、CPU制御回路34は、間欠故障が発生していると判断し、フラグ341を点灯させるとともに、故障発生時に実行中だった命令の種別情報(すなわちCPU制御系命令種別情報)と間欠故障である旨を示す情報とを故障部位使用命令検出手段37に送る(ステップS403、ステップS404)。そして、故障部位使用命令検出手段37は、故障部位使用命令DB12に間欠故障が発生した旨を登録し(ステップS409)、CPU制御回路34は、命令の実行が終了した旨を命令終了検出手段36に送る(ステップS405)。   On the other hand, if the flag 341 is not lit, it means that the failure is the first, so the CPU control circuit 34 determines that an intermittent failure has occurred, turns on the flag 341, Information on the type of instruction being executed at the time of occurrence (ie, CPU control type instruction type information) and information indicating an intermittent failure are sent to the failure part use instruction detection means 37 (steps S403 and S404). Then, the failure part use instruction detection unit 37 registers that an intermittent failure has occurred in the failure part use instruction DB 12 (step S409), and the CPU control circuit 34 indicates that the execution of the instruction has been completed. (Step S405).

なお、固定故障が発生した場合にCPU制御回路34が故障部位使用命令検出手段37に送る情報は、加算器30の場合と同様であるため、詳細な説明は省略する。   Note that the information that the CPU control circuit 34 sends to the failure part use command detection means 37 when a fixed failure occurs is the same as that in the case of the adder 30, and therefore detailed description thereof is omitted.

次に、ステップS406〜ステップS408の動作について説明する。   Next, the operation from step S406 to step S408 will be described.

各実行回路30−35が命令実行を終了した旨を命令終了検出手段36へ送ると(ステップS405)、命令終了検出手段36は、一般的にリタイア処理と呼ばれる処理を行う(ステップS406)。リタイア処理では、「実行された命令の順番などに矛盾がないか」「このまま終了してしまって良いか」を判断する。完全に終了してもよい場合、命令終了検出手段36は命令スケジューリング手段21に対して命令の終了を知らせる(ステップS407、ステップS408)。   When each execution circuit 30-35 sends an instruction completion instruction execution to the instruction end detection means 36 (step S405), the instruction end detection means 36 performs a process generally called retirement processing (step S406). In the retirement processing, it is determined whether “there is no contradiction in the order of executed instructions” or “it may be terminated as it is”. If the instruction may be completed completely, the instruction end detection unit 36 notifies the instruction scheduling unit 21 of the end of the instruction (steps S407 and S408).

なお、本実施形態では、S410において障害処理を行う構成としたが、これに限定されるものではなく、そのまま継続して使用することも可能である。   In the present embodiment, the failure processing is performed in S410. However, the present invention is not limited to this, and can be used as it is.

次に、図2乃至図4に示すフローチャートと図5を用いてプロセッサ全体の動作についてより詳細に説明する。図5は、図1に示されたプロセッサの内部をさらに詳細に示した図である。本実施形態では、図6に示された命令を実行するものとして説明する。以下では、過去に間欠故障を発生させていない図6の命令を実行した結果、加算器30において障害が発生する例について説明する。   Next, the operation of the entire processor will be described in detail with reference to the flowcharts shown in FIGS. 2 to 4 and FIG. FIG. 5 is a diagram showing the inside of the processor shown in FIG. 1 in more detail. In the present embodiment, description will be made assuming that the instruction shown in FIG. 6 is executed. Hereinafter, an example in which a failure occurs in the adder 30 as a result of executing the command of FIG. 6 in which no intermittent failure has occurred in the past will be described.

命令フェッチ手段101は、図6に示されたADD命令およびMULT命令をパス130を介してフェッチする。命令フェッチ手段101は、パス131を介してフェッチされた命令を命令デコード手段102へ送る(ステップS201)。   The instruction fetch unit 101 fetches the ADD instruction and the MULT instruction shown in FIG. The instruction fetch unit 101 sends the instruction fetched via the path 131 to the instruction decoding unit 102 (step S201).

命令デコード手段102は、パス132を介して故障部位使用命令DB12を参照する(ステップS202)。本実施形態では過去に間欠故障は発生していないため、故障部位使用命令DB12から読み出されるデータは図7で示されるように空の状態である(有効bitフィールド7−1が点灯していない状態である)。   The instruction decoding unit 102 refers to the failure part use instruction DB 12 via the path 132 (step S202). In the present embodiment, since no intermittent failure has occurred in the past, the data read from the failure part use instruction DB 12 is empty as shown in FIG. 7 (the valid bit field 7-1 is not lit). Is).

そのため、命令デコード手段102は、命令を停止させることなく、図8に示される命令情報をパス143を介して命令制御部11に渡す(ステップS203)。   Therefore, the instruction decoding unit 102 passes the instruction information shown in FIG. 8 to the instruction control unit 11 via the path 143 without stopping the instruction (step S203).

命令情報において、有効bitを示す有効bitフィールド8−1は命令が有効か否かを示し、有効bitが「1」のとき命令が有効であることを示す。命令フィールド8−2は命令種別を示す。命令情報フィールド8−3は命令フィールドに示された命令が過去に間欠故障を引き起こしたか否かを示す。「1」のとき間欠故障を引き起こしていることを意味し、「0」のとき間欠故障を引き起こしていないことを意味する。   In the command information, a valid bit field 8-1 indicating a valid bit indicates whether or not the command is valid. When the valid bit is “1”, it indicates that the command is valid. An instruction field 8-2 indicates an instruction type. The command information field 8-3 indicates whether or not the command indicated in the command field has caused an intermittent failure in the past. “1” means that an intermittent failure is caused, and “0” means that an intermittent failure is not caused.

本実施形態では、図8の命令情報に過去の故障履歴が格納されていないため(間欠故障フィールド8−3がいずれも「0」であるため)、命令制御部11は、フェッチされた命令をそのまま命令スケジューリング手段21に送る(ステップS208)。   In the present embodiment, since the past failure history is not stored in the instruction information of FIG. 8 (because all the intermittent failure fields 8-3 are “0”), the instruction control unit 11 stores the fetched instruction. The data is sent as it is to the instruction scheduling means 21 (step S208).

命令スケジューリング手段21は、命令制御部11から実行回路の情報の問い合わせを受けずに命令を受け取ったため(ステップS304)、送られてきた命令の種別に応じて演算命令RS22、メモリ系命令RS23、制御系命令RS24のいずれかに命令を分配する(ステップS305)。本実施形態では、ADD命令およびMULT命令は両方とも演算命令であるため、命令スケジューリング手段21は、両命令ともパス250を介して演算命令RS22に送出する。   Since the instruction scheduling unit 21 receives the instruction without receiving an inquiry about the information of the execution circuit from the instruction control unit 11 (step S304), the operation instruction RS22, the memory system instruction RS23, and the control are controlled according to the type of the transmitted instruction The instruction is distributed to any of the system instructions RS24 (step S305). In this embodiment, since both the ADD instruction and the MULT instruction are operation instructions, the instruction scheduling unit 21 sends both instructions to the operation instruction RS22 via the path 250.

そして、演算命令RS22は、ADD命令を加算器30に送り、MULT命令を乗算器31に送る(ステップS306)。   Then, the operation instruction RS22 sends an ADD instruction to the adder 30 and sends a MULT instruction to the multiplier 31 (step S306).

次に、加算器30において演算処理が行われる。   Next, arithmetic processing is performed in the adder 30.

二重化チェック等で結果不正が検出された場合(ステップS400)、加算器30はフラグ301の値をチェックする(ステップS401)。フラグ301の値が0であり(フラグが点灯しておらず)、これは「過去にこの回路で障害が発生していない」ことを示している。よって、加算器30は最初の障害(間欠故障)であると判断する。そして、加算器30は、命令種別情報(加算命令種別情報)と間欠故障である旨を示す情報とを故障部位使用命令検出手段37に送るとともに、フラグ301を「1」にする(フラグ301を点灯させる)(ステップS403、ステップS404)。   When an illegal result is detected by the duplication check or the like (step S400), the adder 30 checks the value of the flag 301 (step S401). The value of the flag 301 is 0 (the flag is not lit), which indicates that “a fault has not occurred in this circuit in the past”. Therefore, the adder 30 determines that this is the first failure (intermittent failure). Then, the adder 30 sends the command type information (added command type information) and information indicating that there is an intermittent failure to the failure part use command detection means 37 and sets the flag 301 to “1” (set the flag 301 to (Step S403, step S404).

S404において加算器30から故障部位使用命令検出手段37に送られる情報を図9に示す。有効bitフィールド9−1は情報の有効性を示しており、「1」は有効情報であることを意味する。命令種別フィールド9−2は、障害を発生させた命令種別(今回はADD命令)を示している。固定故障フィールド9−3は固定故障か否かを示しており固定障害の場合「0」となり、間欠故障の場合「1」となる。   FIG. 9 shows information sent from the adder 30 to the failure part use command detection means 37 in S404. The valid bit field 9-1 indicates the validity of the information, and “1” means that it is valid information. The instruction type field 9-2 indicates the instruction type (in this case, the ADD instruction) that caused the failure. The fixed failure field 9-3 indicates whether or not there is a fixed failure, and is “0” for a fixed failure and “1” for an intermittent failure.

一方、乗算器31で実行しているMULT命令では障害が発生しなかったとすると、乗算器31は図10に示される情報を故障部位使用命令検出手段37に送出する(ステップS410)。図10では、有効bitフィールド9−1が「0」であるため、故障部位使用命令検出手段4はこの情報を無視する。   On the other hand, assuming that no failure has occurred in the MULT instruction executed by the multiplier 31, the multiplier 31 sends the information shown in FIG. 10 to the failure part use instruction detecting means 37 (step S410). In FIG. 10, since the valid bit field 9-1 is “0”, the failure part use command detection means 4 ignores this information.

ステップS404の後、故障部位使用命令検出手段37は、図9に示される情報をパス41を介して故障部位使用命令DB12に登録するとともに(ステップS409)、命令が終了した旨を命令終了検出手段36に知らせる(ステップS405)。S409において、故障部位使用命令検出手段DB12には、図11に示されるように「ADD命令で過去に間欠故障が生じた」という情報が登録される。   After step S404, the failure part use instruction detection unit 37 registers the information shown in FIG. 9 in the failure part use instruction DB 12 via the path 41 (step S409), and also indicates that the instruction has been completed. 36 is notified (step S405). In S409, information indicating that “the intermittent failure has occurred in the past with the ADD command” is registered in the failure part use command detection means DB12 as shown in FIG.

その後、命令終了検出手段36は、リタイア処理を行い(ステップS406)、終了して良い場合には、命令終了検出手段36は命令スケジュール手段21に対して命令の終了を知らせる(ステップS407、ステップS408)。   Thereafter, the instruction end detection unit 36 performs retirement processing (step S406), and if it can be completed, the instruction end detection unit 36 notifies the instruction scheduling unit 21 of the end of the instruction (steps S407 and S408). ).

本実施形態では、JOBはアボートさせるかチェックポイントリスタートによる再開を行うこととするが、これに限定されず、JOBのハードウェア的な巻き戻しによる再開・再実行などの機構を取り入れることも可能である。   In this embodiment, the job is aborted or restarted by checkpoint restart. However, the present invention is not limited to this, and a mechanism such as restart / reexecution by hardware rewinding of the job can be incorporated. It is.

次に、上述した図6の命令実行に続いて図12に示される命令列を実行する場合の動作について説明する。動作開始時における故障部位使用命令DB12の命令情報を図11に示す。   Next, the operation when the instruction sequence shown in FIG. 12 is executed following the above-described instruction execution of FIG. 6 will be described. FIG. 11 shows command information in the failure part use command DB 12 at the start of operation.

図12に示される命令のうち、最初の2つのDIV命令は除算器32で行われるため、加算器30での過去の故障は影響しないが、3つ目の命令であるADD命令に関しては、間欠故障を防ぐための間欠故障予防動作が行われる。   Of the instructions shown in FIG. 12, since the first two DIV instructions are executed by the divider 32, the past failure in the adder 30 is not affected, but the third instruction ADD instruction is intermittent. An intermittent failure prevention operation for preventing failure is performed.

まず、命令フェッチ手段101は、命令キャッシュ103からパス130を介して命令をフェッチし、その命令をパス133を介して命令デコード手段102に送る(ステップS201)。   First, the instruction fetch means 101 fetches an instruction from the instruction cache 103 via the path 130, and sends the instruction to the instruction decoding means 102 via the path 133 (step S201).

命令デコード手段102は最大4命令をデコードすることができる。命令デコード手段102は、まず、図12に示される命令列の最初の4命令をデコードする。故障部位使用命令DB12にはすでに図11に示されるように「ADD命令の故障動作可能性を示す情報」が登録されているため(ステップS202)、命令デコード手段102は、図13に示された情報(ADD命令で間欠故障が発生しているという情報)とデコードした命令とを命令制御部11に送る(ステップS203)。なお、図13の各フィールドの情報は図8の各フィールドの情報と同一であるため詳細な説明は省略する。   The instruction decoding unit 102 can decode a maximum of four instructions. The instruction decoding means 102 first decodes the first four instructions in the instruction sequence shown in FIG. As shown in FIG. 11, “information indicating the possibility of failure operation of the ADD instruction” is already registered in the failure part use instruction DB 12 (step S202). Therefore, the instruction decoding means 102 is shown in FIG. Information (information indicating that an intermittent failure has occurred in the ADD instruction) and the decoded instruction are sent to the instruction control unit 11 (step S203). Note that the information in each field in FIG. 13 is the same as the information in each field in FIG.

命令制御部11は、受け取った情報(図13に示された情報)に基づいて、命令情報の間欠故障フィールド8−3が「0」である最初の2命令(DIV命令2つ)をパス134を介して命令スケジューリング手段21に送る(ステップS204、ステップS208)。一方、3番目の命令であるADD命令に対応する間欠故障フィールド8−3が「1」であるため、命令制御部11は、過去に発生した故障に関係する命令と判断し、命令スケジューリング手段21に問い合わせて実行回路の情報を取得する(ステップS205)。   Based on the received information (information shown in FIG. 13), the instruction control unit 11 passes the first two instructions (two DIV instructions) in which the intermittent failure field 8-3 of the instruction information is “0” to the path 134. To the instruction scheduling means 21 (step S204, step S208). On the other hand, since the intermittent failure field 8-3 corresponding to the ADD instruction that is the third instruction is “1”, the instruction control unit 11 determines that the instruction is related to a failure that has occurred in the past, and the instruction scheduling means 21 To obtain information on the execution circuit (step S205).

命令制御部11は、使用する実行回路が電気的に安定しているか否かを判断し(ステップS206)、電気的に安定するまでの間、ADD命令とそれ以降の命令(MULT命令)とを命令制御部11内で待機させる(ステップS207)。   The instruction control unit 11 determines whether or not the execution circuit to be used is electrically stable (step S206), and outputs an ADD instruction and subsequent instructions (MULT instruction) until it is electrically stable. The instruction control unit 11 is made to wait (step S207).

なお、本実施形態では、ADD命令より前の命令が全て終わった状態を電気的に安定した状態とする。   In the present embodiment, the state where all the instructions prior to the ADD instruction are finished is regarded as an electrically stable state.

電気的に安定した状態になった後、命令制御部11はADD命令を命令スケジューリング手段21に送る。命令情報におけるMULT命令に対応する間欠故障フィールド8−3が「0」となっているため、命令制御部11は、ADD命令に続いてMULT命令も命令スケジューリング手段21に送る(ステップS208)。   After becoming electrically stable, the instruction control unit 11 sends an ADD instruction to the instruction scheduling means 21. Since the intermittent failure field 8-3 corresponding to the MULT instruction in the instruction information is “0”, the instruction control unit 11 also sends the MULT instruction to the instruction scheduling means 21 following the ADD instruction (step S208).

最初の2命令であるDIV命令の場合、命令スケジューリング手段21は、命令制御部11から実行回路の情報の問い合わせを受けない状態でDIV命令を受け取る(ステップS300、ステップS304)。命令スケジューリング手段21は、2つのDIV命令を受け取ると、それを演算命令RS22に送り、演算命令RS22は2つのDIV命令を非コア部3の実行回路に送る(ステップS306)
そして、3番目の命令であるADD命令を受け取る前に、命令スケジューリング手段21は実行回路の情報の問い合わせ受ける(ステップS300)。そして、命令スケジューリング手段21は、命令制御部11からADD命令およびMULT命令をADD命令→MULT命令の順で受け取る(ステップS304)。
In the case of the DIV instruction which is the first two instructions, the instruction scheduling unit 21 receives the DIV instruction without receiving an inquiry about the information of the execution circuit from the instruction control unit 11 (steps S300 and S304). Upon receiving the two DIV instructions, the instruction scheduling means 21 sends them to the operation instruction RS22, and the operation instruction RS22 sends the two DIV instructions to the execution circuit of the non-core unit 3 (step S306).
Then, before receiving the ADD instruction which is the third instruction, the instruction scheduling means 21 receives an inquiry about the information of the execution circuit (step S300). The instruction scheduling unit 21 receives the ADD instruction and the MULT instruction from the instruction control unit 11 in the order of the ADD instruction → the MULT instruction (step S304).

命令スケジュール手段21は、ADD命令およびMULT命令を演算命令RS22に送る(ステップS305)。演算命令RS22は、ADD命令を加算器30に送り、MULT命令を乗算器31に送る(ステップS306)。   The instruction schedule means 21 sends the ADD instruction and the MULT instruction to the operation instruction RS22 (step S305). The operation instruction RS22 sends an ADD instruction to the adder 30 and sends a MULT instruction to the multiplier 31 (step S306).

障害が発生せずに、各実行回路(除算器32、加算器30、乗算器31)で演算処理が行われると、各実行回路は命令種別の情報(2つの除算命令種別、加算命令種別、乗算命令種別)と障害が発生していない旨の情報とを故障部位使用命令検出手段37に送る(ステップS400、ステップS410)。   When the execution process is performed in each execution circuit (divider 32, adder 30, multiplier 31) without any failure, each execution circuit receives instruction type information (two division instruction types, addition instruction type, (Multiplication instruction type) and information indicating that no failure has occurred are sent to the failure part use instruction detection means 37 (steps S400 and S410).

そして、各実行回路は命令が終了した旨を命令終了検出手段36に知らせる(ステップS405)。その後、命令終了検出手段36はリタイア処理を行う(ステップS406)。処理を終了して良い場合、命令終了検出手段36は命令スケジュール手段21に対して命令の終了を知らせる(ステップS407、ステップS408)。   Then, each execution circuit notifies the instruction end detection means 36 that the instruction has ended (step S405). Thereafter, the instruction end detection means 36 performs retirement processing (step S406). If the process can be terminated, the command end detection unit 36 notifies the command scheduling unit 21 of the end of the command (steps S407 and S408).

このように、本実施形態では、間欠故障を起こす可能性のある命令(本実施形態の場合はADD命令)は、その先行命令が全て終了して電気的に安定した状態の場合に実行される。その結果、間欠故障のリスクを大幅に減らすことが可能となり、安定動作を実現することができるという効果を有する。   As described above, in this embodiment, an instruction that may cause an intermittent failure (ADD instruction in the case of this embodiment) is executed when all the preceding instructions are finished and are in an electrically stable state. . As a result, the risk of intermittent failure can be greatly reduced, and stable operation can be realized.

また、間欠故障を発生させた命令に関する履歴をもつ回路、すなわち、過去に故障を発生させた命令種別の情報が格納された記憶手段(故障部位使用命令DB12)を備え、命令制御部11は、その命令種別の情報に基づいて、故障発生の可能性が高い命令がデコードされたか否かを判断する。この結果、将来的に発生するだろう同じ間欠故障を発生させる命令を特定してそのリスクを減らし、安定動作を実現することができるという効果を有する。   In addition, a circuit having a history regarding an instruction that has caused an intermittent failure, that is, a storage unit (failure part use instruction DB 12) that stores information on an instruction type that has caused a failure in the past, the instruction control unit 11 includes: Based on the instruction type information, it is determined whether or not an instruction having a high possibility of failure has been decoded. As a result, it is possible to identify an instruction that causes the same intermittent failure that will occur in the future, reduce its risk, and achieve stable operation.

図14は、本発明の第2の実施形態を示すブロック図である。   FIG. 14 is a block diagram showing a second embodiment of the present invention.

第2の実施形態による情報処理装置50は、命令をフェッチする命令フェッチ手段51と、フェッチされた命令をデコードする命令デコード手段52と、複数の実行回路53―1〜53−4と、命令制御回路54とを備える。図14には、複数の実行回路として4つの実行回路を記載しているがこれに限定されるものではない。   The information processing apparatus 50 according to the second embodiment includes an instruction fetch unit 51 that fetches an instruction, an instruction decode unit 52 that decodes a fetched instruction, a plurality of execution circuits 53-1 to 53-4, and instruction control. Circuit 54. Although FIG. 14 shows four execution circuits as a plurality of execution circuits, the present invention is not limited to this.

各実行回路53は、命令デコード手段52でデコードされた命令を実行する。命令制御回路54は、命令デコード手段52と複数の実行回路53とに接続される。   Each execution circuit 53 executes the instruction decoded by the instruction decoding means 52. The instruction control circuit 54 is connected to the instruction decoding means 52 and the plurality of execution circuits 53.

故障発生の可能性が高い命令が命令デコード手段52でデコードされた場合、命令制御回路54は、デコードされた命令を実行する実行回路53が電気的に安定しているか否かを確認し、電気的に安定している場合に当該命令を実行回路に実行させる。   When an instruction having a high possibility of failure is decoded by the instruction decoding means 52, the instruction control circuit 54 checks whether or not the execution circuit 53 that executes the decoded instruction is electrically stable. If the instruction is stable, the instruction is executed by the execution circuit.

ここで、電気的に安定している場合とは、たとえば、故障発生の可能性が高い命令に対する先行命令が全て実行完了している場合であるが、これに限定されない。   Here, the case of being electrically stable is, for example, a case where execution of all preceding instructions for an instruction with a high possibility of occurrence of a failure is not limited to this.

本発明の第2の実施形態では、間欠故障を起こす可能性のある命令は、電気的に安定した状態の場合に実行される。その結果、間欠故障のリスクを大幅に減らすことが可能となり、安定動作を実現することができるという効果を有する。   In the second embodiment of the present invention, an instruction that may cause an intermittent failure is executed in an electrically stable state. As a result, the risk of intermittent failure can be greatly reduced, and stable operation can be realized.

本発明の実施形態は、以下の付記記載のプロセッサの処理方法であっても良い。   The embodiment of the present invention may be a processor processing method described in the following supplementary notes.

(付記1)命令をフェッチする命令フェッチステップと、フェッチされた命令をデコードする命令デコードステップと、故障発生の可能性が高い命令がデコードされた場合、当該実行回路が電気的に安定しているか否かを判断する第1の判断ステップと、電気的に安定している場合に当該命令を実行回路に実行させる命令実行ステップと、故障が発生するとフラグを点灯させるフラグ点灯ステップと、当該フラグが点灯していない状態で故障が発生した場合、間欠故障が発生したと判断する第3の判断ステップと、第3の判断ステップにおいて間欠故障が発生したと判断された場合に、当該間欠故障を発生させた命令種別の情報を記憶手段に登録する登録ステップと、を有することを特徴とするプロセッサの処理方法。   (Supplementary Note 1) When an instruction fetch step for fetching an instruction, an instruction decode step for decoding the fetched instruction, and an instruction having a high possibility of occurrence of a failure, is the execution circuit electrically stable? A first determination step for determining whether or not, an instruction execution step for causing the execution circuit to execute the instruction when electrically stable, a flag lighting step for lighting a flag when a failure occurs, and the flag When a failure occurs in a state where the light is not lit, a third determination step for determining that an intermittent failure has occurred, and when it is determined that an intermittent failure has occurred in the third determination step, the intermittent failure occurs. And a registering step of registering the information of the instruction type that has been made in the storage means.

(付記2)フラグの点灯時に故障が発生した場合には固定故障が発生したと判断する第4の判断ステップを有することを特徴とする付記1に記載のプロセッサの処理方法。   (Supplementary note 2) The processor processing method according to supplementary note 1, further comprising a fourth determination step of determining that a fixed failure has occurred when a failure occurs when the flag is turned on.

(付記3)命令ケジューリング手段が各実行回路における命令実行状態を管理する管理ステップと、故障発生の可能性が高い命令がデコードされた場合、実行回路が電気的に安定しているか否かを命令スケジューリング手段に問い合わせる問い合わせステップと、
を備えることを特徴とする付記1または2に記載のプロセッサの処理方法。
(Supplementary note 3) When an instruction scheduling means manages an instruction execution state in each execution circuit and an instruction having a high possibility of occurrence of a failure is decoded, whether or not the execution circuit is electrically stable An inquiry step for querying the instruction scheduling means,
The processing method of the processor according to appendix 1 or 2, characterized by comprising:

(付記4)命令をフェッチする命令フェッチステップと、フェッチされた命令をデコードする命令デコードステップと、故障発生の可能性が高い命令がデコードされた場合、実行回路が電気的に安定しているか否かを判断する第1の判断ステップと、電気的に安定している場合に当該命令を実行回路に実行させる命令実行ステップと、命令ケジューリング手段が各実行回路における命令実行状態を管理する管理ステップと、故障発生の可能性が高い命令がデコードされた場合、実行回路が電気的に安定しているか否かを命令スケジューリング手段に問い合わせる問い合わせステップと、を備えることを特徴とするプロセッサの処理方法。   (Supplementary Note 4) Whether or not an execution circuit is electrically stable when an instruction fetch step for fetching an instruction, an instruction decode step for decoding the fetched instruction, and an instruction with a high possibility of occurrence of a failure are decoded A first determination step for determining whether or not the instruction execution step for causing the execution circuit to execute the instruction when it is electrically stable, and management for managing instruction execution states in the execution circuits by the instruction scheduling means And an inquiry step for inquiring of the instruction scheduling means whether or not the execution circuit is electrically stable when an instruction having a high possibility of occurrence of a failure is decoded. .

1 フェッチコード部
10 プロセッサ
101 命令フェッチ手段
102 命令デコード手段
103 命令キャッシュ
11 命令制御部
12 故障部位使用命令DB
2 プロセッサ部
21 命令スケジューリング手段
22 演算命令RS
23 メモリ系命令RS
24 制御系命令RS
3 非コア部
30 加算器
301 フラグ
31 乗算器
311 フラグ
32 除算器
321 フラグ
33 アドレス計算手段
331 フラグ
332 パス
34 CPU制御回路
341 フラグ
35 データキャッシュ
351 フラグ
36 命令終了検出手段
37 故障部位使用命令検出手段
371〜383 パス
130〜134 パス
211 パス
250〜257 パス
142 データプロセッサ
143 データバス
144 データバッファレジスタ
145 命令レジスタ
146 命令デコーダ
147 減算回路
148 アキュムレータ
149 制御回路
1411 プログラムカウンタ
1412 汎用レジスタ回路
1413 演算回路
51 命令フェッチ手段
52 命令デコード手段
53−1〜53−4 実行回路
54 命令制御回路
DESCRIPTION OF SYMBOLS 1 Fetch code part 10 Processor 101 Instruction fetch means 102 Instruction decode means 103 Instruction cache 11 Instruction control part 12 Fault location use instruction DB
2 Processor Unit 21 Instruction Scheduling Means 22 Arithmetic Instruction RS
23 Memory system instruction RS
24 Control system command RS
3 Non-core part 30 Adder 301 Flag 31 Multiplier 311 Flag 32 Divider 321 Flag 33 Address calculation means 331 Flag 332 Path 34 CPU control circuit 341 Flag 35 Data cache 351 Flag 36 Instruction end use instruction detection means 37 371-383 path 130-134 path 211 path 250-257 path 142 data processor 143 data bus 144 data buffer register 145 instruction register 146 instruction decoder 147 subtractor 148 accumulator 149 control circuit 1411 program counter 1412 general-purpose register circuit 1413 arithmetic circuit 51 instruction Fetch means 52 Instruction decode means 53-1 to 53-4 Execution circuit 54 Instruction control circuit

Claims (10)

命令をフェッチする命令フェッチ手段と、
前記フェッチされた命令をデコードする命令デコード手段と、
前記デコードされた命令を実行する複数の実行回路と、
故障発生の可能性が高い命令がデコードされた場合、前記実行回路が電気的に安定しているか否かを確認し、電気的に安定している場合に当該命令を前記実行回路に実行させる命令制御手段と、
を備えることを特徴とする情報処理装置。
Instruction fetch means for fetching instructions;
Instruction decoding means for decoding the fetched instruction;
A plurality of execution circuits for executing the decoded instructions;
When an instruction having a high possibility of occurrence of a failure is decoded, it is confirmed whether or not the execution circuit is electrically stable. If the instruction is electrically stable, the instruction is executed by the execution circuit. Control means;
An information processing apparatus comprising:
前記命令制御手段は、故障発生の可能性が高い命令に対する先行命令が全て実行完了している場合に電気的に安定していると判断することを特徴とする請求項1記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the instruction control unit determines that the instruction is electrically stable when execution of all preceding instructions for an instruction having a high possibility of occurrence of a failure is completed. 過去に故障を発生させた命令種別の情報が格納された記憶手段を備え、
前記命令制御手段は、前記命令種別の情報に基づいて、故障発生の可能性が高い命令がデコードされたか否かを判断することを特徴とする請求項1または2記載の情報処理装置。
Comprising storage means for storing information on the instruction type that caused the failure in the past,
3. The information processing apparatus according to claim 1, wherein the instruction control unit determines whether or not an instruction having a high possibility of a failure has been decoded based on the instruction type information.
各実行回路はフラグを備えており、
前記各実行回路は、故障が発生すると前記フラグを点灯させ、前記フラグが点灯していない状態で故障が発生した場合に間欠故障が発生したと判断することを特徴とする請求項1ないし3のいずれかに記載の情報処理装置。
Each execution circuit has a flag,
4. Each of the execution circuits turns on the flag when a failure occurs, and determines that an intermittent failure has occurred when a failure occurs when the flag is not lit. The information processing apparatus according to any one of the above.
前記各実行回路において前記間欠故障が発生したと判断された場合に、当該間欠故障を発生させた命令種別の情報を前記記憶手段に登録する手段を備えることを特徴とする請求項4記載の情報処理装置。 5. The information according to claim 4, further comprising means for registering, in the storage means, information on an instruction type that caused the intermittent failure when it is determined that the intermittent failure has occurred in each of the execution circuits. Processing equipment. 前記フラグの点灯時に故障が発生した場合に、前記各実行回路は、固定故障が発生したと判断することを特徴とする請求項4または5のいずれかに記載の情報処理装置。 6. The information processing apparatus according to claim 4, wherein, when a failure occurs when the flag is lit, each execution circuit determines that a fixed failure has occurred. 前記各実行回路における命令実行状態を管理するスケジューリング手段を備え、
前記命令制御手段は、故障発生の可能性が高い命令がデコードされた場合、前記実行回路が電気的に安定しているか否かを前記スケジューリング手段に問い合わせることを特徴とする請求項1ないし6のいずれかに記載の情報処理装置。
Scheduling means for managing an instruction execution state in each execution circuit;
7. The instruction control unit according to claim 1, wherein when an instruction having a high possibility of occurrence of a failure is decoded, the instruction control unit inquires of the scheduling unit whether or not the execution circuit is electrically stable. The information processing apparatus according to any one of the above.
命令をフェッチする命令フェッチステップと、
前記フェッチされた命令をデコードする命令デコードステップと、
故障発生の可能性が高い命令がデコードされた場合、前記実行回路が電気的に安定しているか否かを判断する第1の判断ステップと、
電気的に安定している場合に当該命令を実行回路に実行させる命令実行ステップと、
を有することを特徴とするプロセッサの処理方法。
An instruction fetch step for fetching instructions;
An instruction decoding step for decoding the fetched instruction;
A first determination step of determining whether or not the execution circuit is electrically stable when an instruction having a high possibility of occurrence of a failure is decoded;
An instruction execution step for causing the execution circuit to execute the instruction when it is electrically stable;
A processor processing method characterized by comprising:
前記第1の判断ステップにおいて、故障発生の可能性が高い命令に対する先行命令が全て実行完了している場合に、電気的に安定していると判断することを特徴とする請求項8記載のプロセッサの処理方法。 9. The processor according to claim 8, wherein in the first determination step, it is determined that the operation is electrically stable when execution of all preceding instructions with respect to an instruction having a high possibility of occurrence of failure is completed. Processing method. 過去に故障を発生させた命令種別の情報を記憶手段に格納する格納ステップと、
前記命令種別の情報に基づいて、故障発生の可能性が高い命令がデコードされたか否かを判断する第2の判断ステップと、
を有することを特徴とする請求項8または9記載のプロセッサの処理方法。
A storage step of storing in the storage means information on the instruction type that caused the failure in the past;
A second determination step of determining whether or not an instruction having a high possibility of occurrence of a failure has been decoded based on the information of the instruction type;
10. The processing method of a processor according to claim 8 or 9, characterized by comprising:
JP2009284305A 2009-12-15 2009-12-15 Information processor and method for processing processor Pending JP2011128709A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009284305A JP2011128709A (en) 2009-12-15 2009-12-15 Information processor and method for processing processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009284305A JP2011128709A (en) 2009-12-15 2009-12-15 Information processor and method for processing processor

Publications (1)

Publication Number Publication Date
JP2011128709A true JP2011128709A (en) 2011-06-30

Family

ID=44291277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009284305A Pending JP2011128709A (en) 2009-12-15 2009-12-15 Information processor and method for processing processor

Country Status (1)

Country Link
JP (1) JP2011128709A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240634A (en) * 1987-03-27 1988-10-06 Nec Corp Information processor
JPH0325626A (en) * 1989-06-23 1991-02-04 Hitachi Ltd Information processor
JPH0520132A (en) * 1991-07-17 1993-01-29 Nec Corp Display method for intermittent fault
JPH05197636A (en) * 1992-01-22 1993-08-06 Nec Corp Memory access controller
JP2001297010A (en) * 2000-03-16 2001-10-26 Fujitsu Ltd Computer and its error recovering method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240634A (en) * 1987-03-27 1988-10-06 Nec Corp Information processor
JPH0325626A (en) * 1989-06-23 1991-02-04 Hitachi Ltd Information processor
JPH0520132A (en) * 1991-07-17 1993-01-29 Nec Corp Display method for intermittent fault
JPH05197636A (en) * 1992-01-22 1993-08-06 Nec Corp Memory access controller
JP2001297010A (en) * 2000-03-16 2001-10-26 Fujitsu Ltd Computer and its error recovering method

Similar Documents

Publication Publication Date Title
JP5917616B2 (en) Method and apparatus for changing the sequential flow of a program using prior notification technology
US8082430B2 (en) Representing a plurality of instructions with a fewer number of micro-operations
US9361111B2 (en) Tracking speculative execution of instructions for a register renaming data store
US9329868B2 (en) Reducing register read ports for register pairs
JP7118984B2 (en) Computer-implemented method, system, and computer program for avoiding memory access of load instructions
US20110035564A1 (en) Technique to perform memory disambiguation
JP2009053861A (en) Program execution control device
TW201737066A (en) Program loop control
US20130262830A1 (en) Decode time instruction optimization for load reserve and store conditional sequences
US10853072B2 (en) Arithmetic processing apparatus and method of controlling arithmetic processing apparatus
TW201737060A (en) Program loop control
US11861365B2 (en) Macro-op fusion
TW201734768A (en) Branch instruction
WO2013147879A1 (en) Dynamic branch hints using branches-to-nowhere conditional branch
WO2022187014A1 (en) Loop buffering employing loop characteristic prediction in a processor for optimizing loop buffer performance
CN114008587A (en) Limiting replay of load-based Control Independent (CI) instructions in speculative misprediction recovery in a processor
JP2000322257A (en) Speculative execution control method for conditional branch instruction
US20080244244A1 (en) Parallel instruction processing and operand integrity verification
EP2972791A1 (en) Method and apparatus for forwarding literal generated data to dependent instructions more efficiently using a constant cache
US9063855B2 (en) Fault handling at a transaction level by employing a token and a source-to-destination paradigm in a processor-based system
JP3683439B2 (en) Information processing apparatus and method for suppressing branch prediction
US20230168927A1 (en) Method and apparatus for adjusting instruction pipeline, memory and storage medium
US9323532B2 (en) Predicting register pairs
JP2011128709A (en) Information processor and method for processing processor
US10929137B2 (en) Arithmetic processing device and control method for arithmetic processing device

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140401