JP7124670B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP7124670B2 JP7124670B2 JP2018220092A JP2018220092A JP7124670B2 JP 7124670 B2 JP7124670 B2 JP 7124670B2 JP 2018220092 A JP2018220092 A JP 2018220092A JP 2018220092 A JP2018220092 A JP 2018220092A JP 7124670 B2 JP7124670 B2 JP 7124670B2
- Authority
- JP
- Japan
- Prior art keywords
- special processing
- processing
- instruction
- circuit
- retry
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 161
- 230000008569 process Effects 0.000 claims description 67
- 238000001514 detection method Methods 0.000 claims description 32
- 230000007704 transition Effects 0.000 claims description 9
- 238000004325 capillary sieving electrophoresis Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 101100494729 Syncephalastrum racemosum SPSR gene Proteins 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 101000911772 Homo sapiens Hsc70-interacting protein Proteins 0.000 description 4
- 101001139126 Homo sapiens Krueppel-like factor 6 Proteins 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000011084 recovery 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/0793—Remedial or corrective actions
-
- 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/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Retry When Errors Occur (AREA)
- Microcomputers (AREA)
- Advance Control (AREA)
Description
(付記1)
プログラマブル資源に含まれる複数の資源を更新する特殊処理を複数サイクルで実行する演算処理装置であって、
特殊処理中であることを記録すると共に、命令実行中にエラーを検出するとエラー通知を行う命令実行回路と、
特殊処理の開始時点で特殊処理種別を記録すると共に、前記特殊処理中に前記エラー通知を受信した場合、記録されている特殊処理種別から当該特殊処理を再実行することが可能であるか否かを判断し、可能であると判断した場合には当該特殊処理を最初から再実行する特殊処理再実行を指示するリトライ制御回路と、
を備え、
前記命令実行回路は、前記リトライ制御回路からの前記特殊処理再実行の指示に基づき、前記特殊処理を再実行するリトライ処理を行うことを特徴とする、演算処理装置。
(付記2)
前記リトライ制御回路は、
前記リトライ処理が可能なタイミングであるか否かを判断するのに用いるフラグを格納し、命令完了以外のタイミングで資源更新が行われたときにリセットされ、命令完了のタイミングでセットされる第1のレジスタと、
前記リトライ処理を行うことが確定し、且つ、前記リトライ処理が完了していないことを示すフラグを格納し、前記エラーを検出したエラー検出タイミングで前記第1のレジスタがセットされており、且つ、前記第1のレジスタをリセットする条件が成立していない場合にセットされ、命令完了時と特殊処理開始のタイミングとでリセットされ、一命令再実行を前記命令実行回路に指示する第2のレジスタと、
前記特殊処理を再実行可能なタイミングであるか否かの判断に用いるフラグを格納し、前記特殊処理開始のタイミングでセットされ、特殊処理完了のタイミングでリセットされる第3のレジスタと、
前記特殊処理のリトライ処理を行うことが確定し、且つ、前記特殊処理のリトライ処理が完了していないことを示すフラグを格納し、前記エラー検出タイミングで前記第3のレジスタがセットされており、且つ、前記第3のレジスタをリセットする条件が成立していない場合にセットされ、前記特殊処理完了のタイミングでリセットされ、前記特殊処理再実行を前記命令実行回路に指示する第4のレジスタと、
前記特殊処理の開始時点で通知される前記特殊処理種別を記録する第1の記録回路とを有し、
前記第1の記録回路は、前記エラー検出タイミングで記録された特殊処理が再実行可能な処理である場合にのみ、前記第4のレジスタをセットし、前記特殊処理を再実行するときに当該特殊処理の処理種別である再実行特殊処理種別を前記命令実行回路に通知することを特徴とする、付記1記載の演算処理装置。
(付記3)
前記命令実行回路は、
前記特殊処理の開始時点で特殊処理開始と特殊処理種別を前記リトライ制御回路に通知し、
特殊処理完了を特殊処理以外の処理の命令と同じ命令完了で前記リトライ制御回路に通知し、
前記特殊処理再実行に応じて、前記プログラマブル資源の資源更新を行うことを特徴とする、付記1又は2記載の演算処理装置。
(付記4)
前記命令実行回路は、
命令をデコードする命令デコーダと、
特殊処理開始から特殊処理完了までの処理を行うための状態を制御する状態制御回路と、
前記命令デコーダから受信した命令情報が示す、デコードした命令の種別に基づき、前記特殊処理が必要な命令であるか否かを判断し、前記特殊処理が必要な種別の命令であると判断した場合、前記状態制御回路に特殊処理が必要であることを通知する判断回路と、
例外検出の通知、前記判断回路から特殊処理が必要な命令の種別、及び前記リトライ制御回路から再実行特殊処理種別を夫々受信し、特殊処理種別を特殊処理開始から特殊処理完了までの間記録する第2の記録回路と、
前記状態制御回路から特殊処理開始を通知されると、特殊処理手順番号に初期値を設定し、手順完了を通知されると特殊処理手順番号をインクリメントする手順制御回路と、
前記状態制御回路から特殊処理開始を通知されると、特殊処理を実行するのに用いる回路に特殊処理指示を、前記第2の記録回路から通知される特殊処理種別と、前記手順制御回路から通知される特殊処理手順番号に基づいて通知すると共に、特殊処理種別毎に予め決められている最後の特殊処理手順番号まで特殊処理指示を出力し終わると、特殊処理完了を前記状態制御回路と前記リトライ制御回路に通知する指示回路とを有し、
前記状態制御回路は、例外検出が通知された場合、前記判断回路が特殊処理が必要な種別の命令であると判断した場合、及び前記リトライ制御回路から特殊処理再実行の指示がある場合に、特殊処理状態に遷移し、前記特殊処理状態に遷移すると、特殊処理開始を前記手順制御回路、前記指示回路、及び前記リトライ制御回路に通知すると共に、前記指示回路から特殊処理完了の通知があると、特殊処理状態から遷移して、特殊処理以外の命令の処理状態に戻り、
前記判断回路は、前記第2の記録回路に特殊処理種別を通知し、
前記第2の記録回路は、記録されている特殊処理種別を前記指示回路と前記リトライ制御回路に通知し、
前記手順制御回路は、インクリメント後の特殊処理手順番号を前記指示回路に通知することを特徴とする、付記1乃至3のいずれか1項記載の演算処理装置。
(付記5)
前記命令実行回路が実行する前記特殊処理は、例外処理であり、
前記特殊処理の開始時点は、例外発生時の実行状態を前記プログラマブル資源に含まれる第1の特定記憶域に保存し、同時に前記プログラマブル資源に含まれるプログラムカウンタが示す例外の戻り先を前記プログラマブル資源に含まれる第2の特定記憶域に保存する手順が完了した時点であることを特徴とする、付記1乃至4のいずれか1項記載の演算処理装置。
(付記6)
前記命令実行回路が実行する前記特殊処理は、例外復帰処理であり、
前記特殊処理の開始時点は、前記プログラマブル資源に含まれる第1の特定記憶域の値を実行状態に書き込み、同時に前記プログラマブル資源に含まれる第2の特定記憶域の値を前記プログラマブル資源に含まれるプログラムカウンタに書き込む手順が完了した時点であることを特徴とする、付記1乃至4のいずれか1項記載の演算処理装置。
(付記7)
前記命令実行回路が実行する前記特殊処理は、前記プログラマブル資源に含まれるスタックポインタの選択値の更新処理であり、
前記特殊処理の開始時点は、命令指定の値を前記プログラマブル資源に含まれるレジスタに書き込み、同時に後続命令アドレスを前記プログラマブル資源に含まれるプログラムカウンタに書き込む手順が完了した時点であることを特徴とする、付記1乃至4のいずれか1項記載の演算処理装置。
(付記8)
プログラマブル資源に含まれる複数の資源を更新する特殊処理を複数サイクルで実行する演算処理装置の制御方法であって、
命令実行回路が、特殊処理中であることを記録し、
前記命令実行回路が、命令実行中にエラーを検出するとエラー通知を行い、
リトライ制御回路が、特殊処理の開始時点で特殊処理種別を記録すると共に、前記特殊処理中に前記エラー通知を受信した場合、記録されている特殊処理種別から当該特殊処理を再実行することが可能であるか否かを判断し、可能であると判断した場合には当該特殊処理を最初から再実行する特殊処理再実行を指示し、
前記命令実行回路が、前記リトライ制御回路からの前記特殊処理再実行の指示に基づき、前記特殊処理を再実行するリトライ処理を行うことを特徴とする、演算処理装置の制御方法。
(付記9)
前記リトライ制御回路が、
第1のレジスタに、前記リトライ処理が可能なタイミングであるか否かを判断するのに用いるフラグを格納し、前記第1のレジスタを、命令完了以外のタイミングで資源更新が行われたときにリセットし、命令完了のタイミングでセットし、
第2のレジスタに、前記リトライ処理を行うことが確定し、且つ、前記リトライ処理が完了していないことを示すフラグを格納し、前記第2のレジスタを、前記エラーを検出したエラー検出タイミングで前記第1のレジスタがセットされており、且つ、前記第1のレジスタをリセットする条件が成立していない場合にセットし、命令完了時と特殊処理開始のタイミングとでリセットして、一命令再実行を前記命令実行回路に指示し、
第3のレジスタに、前記特殊処理を再実行可能なタイミングであるか否かの判断に用いるフラグを格納し、前記第3のレジスタを、前記特殊処理開始のタイミングでセットし、特殊処理完了のタイミングでリセットし、
第4のレジスタに、特殊処理のリトライ処理を行うことが確定し、且つ、前記特殊処理のリトライ処理が完了していないことを示すフラグを格納し、前記第4のレジスタに、前記エラー検出タイミングで前記第3のレジスタがセットされており、且つ、前記第3のレジスタをリセットする条件が成立していない場合にセットし、前記特殊処理完了のタイミングでリセットして、前記特殊処理再実行を前記命令実行回路に指示し、
第1の記録回路に、前記特殊処理の開始時点で通知される前記特殊処理種別を記録し、
前記第1の記録回路が、前記エラー検出タイミングで記録された特殊処理が再実行可能な処理である場合にのみ、前記第4のレジスタをセットし、前記特殊処理を再実行するときに当該特殊処理の処理種別である再実行特殊処理種別を前記命令実行回路に通知することを特徴とする、付記8記載の演算処理装置の制御方法。
(付記10)
前記命令実行回路が、
前記特殊処理の開始時点で特殊処理開始と特殊処理種別を前記リトライ制御回路に通知し、
特殊処理完了を特殊処理以外の処理の命令と同じ命令完了で前記リトライ制御回路に通知し、
前記特殊処理再実行に応じて、前記プログラマブル資源の資源更新を行うことを特徴とする、付記8又は9記載の演算処理装置の制御方法。
(付記11)
前記命令実行回路が、
命令デコーダに命令をデコードさせ、
状態制御回路に特殊処理開始から特殊処理完了までの処理を行うための状態を制御させ、
判断回路に前記命令デコーダから受信した命令情報が示す、デコードした命令の種別に基づき、前記特殊処理が必要な命令であるか否かを判断し、前記特殊処理が必要な種別の命令であると判断した場合、前記状態制御回路に特殊処理が必要であることを通知させ、
第2の記録回路に例外検出の通知、前記判断回路から特殊処理が必要な命令の種別、及び前記リトライ制御回路から再実行特殊処理種別を夫々受信し、特殊処理種別を特殊処理開始から特殊処理完了までの間記録させ、
手順制御回路に前記状態制御回路から特殊処理開始を通知されると、特殊処理手順番号に初期値を設定し、手順完了を通知されると特殊処理手順番号をインクリメントさせ、
指示回路に前記状態制御回路から特殊処理開始を通知されると、特殊処理を実行するのに用いる回路に特殊処理指示を、前記第2の記録回路から通知される特殊処理種別と、前記手順制御回路から通知される特殊処理手順番号に基づいて通知すると共に、特殊処理種別毎に予め決められている最後の特殊処理手順番号まで特殊処理指示を出力し終わると、特殊処理完了を前記状態制御回路と前記リトライ制御回路に通知させ、
前記状態制御回路が、例外検出が通知された場合、前記判断回路が特殊処理が必要な種別の命令であると判断した場合、及び前記リトライ制御回路から特殊処理再実行の指示がある場合に、特殊処理状態に遷移し、前記特殊処理状態に遷移すると、特殊処理開始を前記手順制御回路、前記指示回路、及び前記リトライ制御回路に通知すると共に、前記指示回路から特殊処理完了の通知があると、特殊処理状態から遷移して、特殊処理以外の命令の処理状態に戻り、
前記判断回路が、前記第2の記録回路に特殊処理種別を通知し、
前記第2の記録回路が、記録されている特殊処理種別を前記指示回路と前記リトライ制御回路に通知し、
前記手順制御回路が、インクリメント後の特殊処理手順番号を前記指示回路に通知することを特徴とする、付記8乃至10のいずれか1項記載の演算処理装置の制御方法。
(付記12)
前記特殊処理は、例外処理、例外復帰処理、及び前記プログラマブル資源に含まれるスタックポインタの選択値の更新処理のいずれかであることを特徴とする、付記8乃至11のいずれか1項記載の演算処理装置の制御方法。
(付記13)
前記特殊処理は、例外処理であり、
前記特殊処理の開始時点は、例外発生時の実行状態を前記プログラマブル資源に含まれる第1の特定記憶域に保存し、同時に前記プログラマブル資源に含まれるプログラムカウンタが示す例外の戻り先を前記プログラマブル資源に含まれる第2の特定記憶域に保存する手順が完了した時点であることを特徴とする、付記8乃至11のいずれか1項記載の演算処理装置の制御方法。
(付記14)
前記特殊処理は、例外復帰処理であり、
前記特殊処理の開始時点は、前記プログラマブル資源に含まれる第1の特定記憶域の値を実行状態に書き込み、同時に前記プログラマブル資源に含まれる第2の特定記憶域の値を前記プログラマブル資源に含まれるプログラムカウンタに書き込む手順が完了した時点であることを特徴とする、付記8乃至11のいずれか1項記載の演算処理装置の制御方法。
(付記15)
前記特殊処理は、前記プログラマブル資源に含まれるスタックポインタの選択値の更新処理であり、
前記特殊処理の開始時点は、命令指定の値を前記プログラマブル資源に含まれるレジスタに書き込み、同時に後続命令アドレスを前記プログラマブル資源に含まれるプログラムカウンタに書き込む手順が完了した時点であることを特徴とする、付記8乃至11のいずれか1項記載の演算処理装置の制御方法。
11 命令実行回路
12 リトライ制御回路
13 実行状態制御回路
14 プログラマブル資源
31 命令フェッチアドレス生成器
32 1次命令キャッシュメモリ
33 命令バッファ
34 命令デコーダ
35 RSA
36 オペランドアドレス生成器
37 1次データキャッシュメモリ
38 RSE
39 固定小数点演算器
40 浮動小数点演算器
41 RSBR
42 CSE
43 特殊処理制御部
44 分岐予測機構
50 演算処理システム
51-1~51-N ノード
52 CPU
53 メモリ
122 RETRY_POINTレジスタ
123 RETRY_TGRレジスタ
127 HARDOP_RETRY_POINTレジスタ
128 HARDOP_RETRY_TGRレジスタ
129 記録回路
141 固定小数点物理レジスタ
142 浮動小数点物理レジスタ
143 システムレジスタ
144 PC
431 判断回路
432 状態制御回路
433 記録回路
434 手順制御回路
435 指示回路
521-1~521-M CPUコア
Claims (10)
- プログラマブル資源に含まれる複数の資源を更新する特殊処理を複数サイクルで実行する演算処理装置であって、
特殊処理中であることを記録すると共に、命令実行中にエラーを検出するとエラー通知を行う命令実行回路と、
特殊処理の開始時点で特殊処理種別を記録すると共に、前記特殊処理中に前記エラー通知を受信した場合、記録されている特殊処理種別から当該特殊処理を再実行することが可能であるか否かを判断し、可能であると判断した場合には当該特殊処理を最初から再実行する特殊処理再実行を指示するリトライ制御回路と、
を備え、
前記命令実行回路は、前記リトライ制御回路からの前記特殊処理再実行の指示に基づき、前記特殊処理を再実行するリトライ処理を行うことを特徴とする、演算処理装置。 - 前記リトライ制御回路は、
前記リトライ処理が可能なタイミングであるか否かを判断するのに用いるフラグを格納し、命令完了以外のタイミングで資源更新が行われたときにリセットされ、命令完了のタイミングでセットされる第1のレジスタと、
前記リトライ処理を行うことが確定し、且つ、前記リトライ処理が完了していないことを示すフラグを格納し、前記エラーを検出したエラー検出タイミングで前記第1のレジスタがセットされており、且つ、前記第1のレジスタをリセットする条件が成立していない場合にセットされ、命令完了時と特殊処理開始のタイミングとでリセットされ、一命令再実行を前記命令実行回路に指示する第2のレジスタと、
前記特殊処理を再実行可能なタイミングであるか否かの判断に用いるフラグを格納し、前記特殊処理開始のタイミングでセットされ、特殊処理完了のタイミングでリセットされる第3のレジスタと、
前記特殊処理のリトライ処理を行うことが確定し、且つ、前記特殊処理のリトライ処理が完了していないことを示すフラグを格納し、前記エラー検出タイミングで前記第3のレジスタがセットされており、且つ、前記第3のレジスタをリセットする条件が成立していない場合にセットされ、前記特殊処理完了のタイミングでリセットされ、前記特殊処理再実行を前記命令実行回路に指示する第4のレジスタと、
前記特殊処理の開始時点で通知される前記特殊処理種別を記録する第1の記録回路とを有し、
前記第1の記録回路は、前記エラー検出タイミングで記録された特殊処理が再実行可能な処理である場合にのみ、前記第4のレジスタをセットし、前記特殊処理を再実行するときに当該特殊処理の処理種別である再実行特殊処理種別を前記命令実行回路に通知することを特徴とする、請求項1記載の演算処理装置。 - 前記命令実行回路は、
前記特殊処理の開始時点で特殊処理開始と特殊処理種別を前記リトライ制御回路に通知し、
特殊処理完了を特殊処理以外の処理の命令と同じ命令完了で前記リトライ制御回路に通知し、
前記特殊処理再実行に応じて、前記プログラマブル資源の資源更新を行うことを特徴とする、請求項1又は2記載の演算処理装置。 - 前記命令実行回路は、
命令をデコードする命令デコーダと、
特殊処理開始から特殊処理完了までの処理を行うための状態を制御する状態制御回路と、
前記命令デコーダから受信した命令情報が示す、デコードした命令の種別に基づき、前記特殊処理が必要な命令であるか否かを判断し、前記特殊処理が必要な種別の命令であると判断した場合、前記状態制御回路に特殊処理が必要であることを通知する判断回路と、
例外検出の通知、前記判断回路から特殊処理が必要な命令の種別、及び前記リトライ制御回路から再実行特殊処理種別を夫々受信し、特殊処理種別を特殊処理開始から特殊処理完了までの間記録する第2の記録回路と、
前記状態制御回路から特殊処理開始を通知されると、特殊処理手順番号に初期値を設定し、手順完了を通知されると特殊処理手順番号をインクリメントする手順制御回路と、
前記状態制御回路から特殊処理開始を通知されると、特殊処理を実行するのに用いる回路に特殊処理指示を、前記第2の記録回路から通知される特殊処理種別と、前記手順制御回路から通知される特殊処理手順番号に基づいて通知すると共に、特殊処理種別毎に予め決められている最後の特殊処理手順番号まで特殊処理指示を出力し終わると、特殊処理完了を前記状態制御回路と前記リトライ制御回路に通知する指示回路とを有し、
前記状態制御回路は、例外検出が通知された場合、前記判断回路が特殊処理が必要な種別の命令であると判断した場合、及び前記リトライ制御回路から特殊処理再実行の指示がある場合に、特殊処理状態に遷移し、前記特殊処理状態に遷移すると、特殊処理開始を前記手順制御回路、前記指示回路、及び前記リトライ制御回路に通知すると共に、前記指示回路から特殊処理完了の通知があると、特殊処理状態から遷移して、特殊処理以外の命令の処理状態に戻り、
前記判断回路は、前記第2の記録回路に特殊処理種別を通知し、
前記第2の記録回路は、記録されている特殊処理種別を前記指示回路と前記リトライ制御回路に通知し、
前記手順制御回路は、インクリメント後の特殊処理手順番号を前記指示回路に通知することを特徴とする、請求項1乃至3のいずれか1項記載の演算処理装置。 - 前記命令実行回路が実行する前記特殊処理は、例外処理であり、
前記特殊処理の開始時点は、例外発生時の実行状態を前記プログラマブル資源に含まれる第1の特定記憶域に保存し、同時に前記プログラマブル資源に含まれるプログラムカウンタが示す例外の戻り先を前記プログラマブル資源に含まれる第2の特定記憶域に保存する手順が完了した時点であることを特徴とする、請求項1乃至4のいずれか1項記載の演算処理装置。 - 前記命令実行回路が実行する前記特殊処理は、例外復帰処理であり、
前記特殊処理の開始時点は、前記プログラマブル資源に含まれる第1の特定記憶域の値を実行状態に書き込み、同時に前記プログラマブル資源に含まれる第2の特定記憶域の値を前記プログラマブル資源に含まれるプログラムカウンタに書き込む手順が完了した時点であることを特徴とする、請求項1乃至4のいずれか1項記載の演算処理装置。 - 前記命令実行回路が実行する前記特殊処理は、前記プログラマブル資源に含まれるスタックポインタの選択値の更新処理であり、
前記特殊処理の開始時点は、命令指定の値を前記プログラマブル資源に含まれるレジスタに書き込み、同時に後続命令アドレスを前記プログラマブル資源に含まれるプログラムカウンタに書き込む手順が完了した時点であることを特徴とする、請求項1乃至4のいずれか1項記載の演算処理装置。 - プログラマブル資源に含まれる複数の資源を更新する特殊処理を複数サイクルで実行する演算処理装置の制御方法であって、
命令実行回路が、特殊処理中であることを記録し、
前記命令実行回路が、命令実行中にエラーを検出するとエラー通知を行い、
リトライ制御回路が、特殊処理の開始時点で特殊処理種別を記録すると共に、前記特殊処理中に前記エラー通知を受信した場合、記録されている特殊処理種別から当該特殊処理を再実行することが可能であるか否かを判断し、可能であると判断した場合には当該特殊処理を最初から再実行する特殊処理再実行を指示し、
前記命令実行回路が、前記リトライ制御回路からの前記特殊処理再実行の指示に基づき、前記特殊処理を再実行するリトライ処理を行うことを特徴とする、演算処理装置の制御方法。 - 前記リトライ制御回路が、
第1のレジスタに、前記リトライ処理が可能なタイミングであるか否かを判断するのに用いるフラグを格納し、前記第1のレジスタを、命令完了以外のタイミングで資源更新が行われたときにリセットし、命令完了のタイミングでセットし、
第2のレジスタに、前記リトライ処理を行うことが確定し、且つ、前記リトライ処理が完了していないことを示すフラグを格納し、前記第2のレジスタを、前記エラーを検出したエラー検出タイミングで前記第1のレジスタがセットされており、且つ、前記第1のレジスタをリセットする条件が成立していない場合にセットし、命令完了時と特殊処理開始のタイミングとでリセットして、一命令再実行を前記命令実行回路に指示し、
第3のレジスタに、前記特殊処理を再実行可能なタイミングであるか否かの判断に用いるフラグを格納し、前記第3のレジスタを、前記特殊処理開始のタイミングでセットし、特殊処理完了のタイミングでリセットし、
第4のレジスタに、特殊処理のリトライ処理を行うことが確定し、且つ、前記特殊処理のリトライ処理が完了していないことを示すフラグを格納し、前記第4のレジスタに、前記エラー検出タイミングで前記第3のレジスタがセットされており、且つ、前記第3のレジスタをリセットする条件が成立していない場合にセットし、前記特殊処理完了のタイミングでリセットして、前記特殊処理再実行を前記命令実行回路に指示し、
記録回路に、前記特殊処理の開始時点で通知される前記特殊処理種別を記録し、
前記記録回路が、前記エラー検出タイミングで記録された特殊処理が再実行可能な処理である場合にのみ、前記第4のレジスタをセットし、前記特殊処理を再実行するときに当該特殊処理の処理種別である再実行特殊処理種別を前記命令実行回路に通知することを特徴とする、請求項8記載の演算処理装置の制御方法。 - 前記特殊処理は、例外処理、例外復帰処理、及び前記プログラマブル資源に含まれるスタックポインタの選択値の更新処理のいずれかであることを特徴とする、請求項8又は9記載の演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018220092A JP7124670B2 (ja) | 2018-11-26 | 2018-11-26 | 演算処理装置及び演算処理装置の制御方法 |
US16/680,572 US11372712B2 (en) | 2018-11-26 | 2019-11-12 | Processing device and method of controlling processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018220092A JP7124670B2 (ja) | 2018-11-26 | 2018-11-26 | 演算処理装置及び演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020086897A JP2020086897A (ja) | 2020-06-04 |
JP7124670B2 true JP7124670B2 (ja) | 2022-08-24 |
Family
ID=70770306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018220092A Active JP7124670B2 (ja) | 2018-11-26 | 2018-11-26 | 演算処理装置及び演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11372712B2 (ja) |
JP (1) | JP7124670B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220206792A1 (en) * | 2020-12-24 | 2022-06-30 | Intel Corporation | Methods, systems, and apparatuses to optimize partial flag updating instructions via dynamic two-pass execution in a processor |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11640335B2 (en) * | 2021-06-15 | 2023-05-02 | Western Digital Technologies, Inc. | Multiple function level reset management |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57164342A (en) * | 1981-03-31 | 1982-10-08 | Fujitsu Ltd | Interruption processing retrial control system |
JP3621477B2 (ja) * | 1995-09-07 | 2005-02-16 | 富士通株式会社 | マイクロプログラムのリトライ方法 |
JPH0991203A (ja) * | 1995-09-25 | 1997-04-04 | Fujitsu Ltd | 割込み制御方法及びログ制御装置 |
JPH11327940A (ja) | 1998-05-20 | 1999-11-30 | Hitachi Ltd | 命令再実行制御方式 |
CN101681285B (zh) | 2007-06-20 | 2012-07-25 | 富士通株式会社 | 同时处理多个线程的运算装置 |
JP6123626B2 (ja) * | 2013-10-08 | 2017-05-10 | 富士通株式会社 | 処理再開方法、処理再開プログラムおよび情報処理システム |
-
2018
- 2018-11-26 JP JP2018220092A patent/JP7124670B2/ja active Active
-
2019
- 2019-11-12 US US16/680,572 patent/US11372712B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220206792A1 (en) * | 2020-12-24 | 2022-06-30 | Intel Corporation | Methods, systems, and apparatuses to optimize partial flag updating instructions via dynamic two-pass execution in a processor |
Also Published As
Publication number | Publication date |
---|---|
US11372712B2 (en) | 2022-06-28 |
US20200167226A1 (en) | 2020-05-28 |
JP2020086897A (ja) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8250349B2 (en) | Branch prediction control device having return address stack and method of branch prediction | |
JP3729087B2 (ja) | マルチプロセッサシステム、データ依存投機実行制御装置およびその方法 | |
JP2009527866A (ja) | アウトオブオーダープロセッサにおけるトランザクショナルメモリ | |
EP2503453A1 (en) | Processor core with data error detection, and method for instruction execution in the same, with error avoidance | |
TW202105176A (zh) | 減少處理系統中的資料快取記憶體存取 | |
JP7124670B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US8151096B2 (en) | Method to improve branch prediction latency | |
JP3800533B2 (ja) | プログラムカウンタ制御方法及びプロセッサ | |
JP4985452B2 (ja) | ベクトル処理装置 | |
CN114341804A (zh) | 最小化用于处理器中的中断指令恢复的寄存器重命名映射表(rmt)状态恢复的处理器重排序缓冲器(rob)的遍历 | |
US20100100709A1 (en) | Instruction control apparatus and instruction control method | |
US7603545B2 (en) | Instruction control method and processor to process instructions by out-of-order processing using delay instructions for branching | |
JP2020091751A (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP7480595B2 (ja) | 半導体装置 | |
JP7409208B2 (ja) | 演算処理装置 | |
KR20230084140A (ko) | 제어 독립성 기술을 채용한 프로세서에서 처리되는 명령어에 대한 추론성 예측을 행하는 데 사용된 추론성 이력의 복원 | |
US10929137B2 (en) | Arithmetic processing device and control method for arithmetic processing device | |
JP2013210853A (ja) | 情報処理装置、同期処理実行管理方法、及びプログラム | |
US20100106945A1 (en) | Instruction processing apparatus | |
US11663014B2 (en) | Speculatively executing instructions that follow a status updating instruction | |
JP2019215694A (ja) | 演算処理装置および演算処理装置の制御方法 | |
US11314505B2 (en) | Arithmetic processing device | |
JP2022094507A (ja) | 演算処理回路及び演算処理方法 | |
KR20240038497A (ko) | 프로세서 및 프로세서에서의 소프트 에러 검출 방법 | |
CN115269011A (zh) | 指令执行单元、处理单元及相关装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220628 |
|
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: 20220712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220725 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7124670 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |