JP5732933B2 - 演算装置及びエラー検出方法 - Google Patents
演算装置及びエラー検出方法 Download PDFInfo
- Publication number
- JP5732933B2 JP5732933B2 JP2011055853A JP2011055853A JP5732933B2 JP 5732933 B2 JP5732933 B2 JP 5732933B2 JP 2011055853 A JP2011055853 A JP 2011055853A JP 2011055853 A JP2011055853 A JP 2011055853A JP 5732933 B2 JP5732933 B2 JP 5732933B2
- Authority
- JP
- Japan
- Prior art keywords
- operand
- nop
- signal
- unit
- detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 title description 171
- 238000000034 method Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
Images
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出部と、
前記NOP検出部が出力した前記制御信号に従って、試験演算用の被演算データであるオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御部と、
前記NOP検出部が出力した前記制御信号に従って、前記被演算データとペアの演算命令であるOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御部と、
前記命令制御部が出力した前記OPコード信号である演算命令に従って、前記オペランド制御部が出力した前記オペランド信号である被演算データに対する演算処理を実行し、
求めた演算結果データを出力する演算部と、
前記演算部が出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出部と、を備え、
前記命令制御部は、前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記OPコード信号を前記演算部に出力し、
前記オペランド制御部は、前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記オペランド信号を前記演算部に出力し、
前記エラー検出部は、前記演算部が直前に求めた前記演算結果データと前記NOP状態を検出した際に求めた前記演算結果データとを比較し、それぞれが異なる場合にエラーが発生したと判別し、
前記オペランド制御部は、第1オペランド制御部と、第2オペランド制御部と、を備え、
前記第1オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第1オペランド信号を前記第2オペランド制御部に出力し、前記第2オペランド制御部が出力した第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記第2オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、前記第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第2オペランド信号を前記第1オペランド制御部に出力し、前記第1オペランド制御部が出力した前記第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力する、
ことを特徴とする。
上記目的を達成するため、本発明の第2の観点に係る演算装置は、
演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出部と、
前記NOP検出部が出力した前記制御信号に従って、試験演算用の被演算データであるオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御部と、
前記NOP検出部が出力した前記制御信号に従って、前記被演算データとペアの演算命令であるOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御部と、
前記命令制御部が出力した前記OPコード信号である演算命令に従って、前記オペランド制御部が出力した前記オペランド信号である被演算データに対する演算処理を実行し、求めた演算結果データを出力する演算部と、
前記演算部が出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出部と、を備え、
前記オペランド制御部は、第1オペランド制御部と、第2オペランド制御部と、を備え、
前記第1オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第1オペランド信号を前記第2オペランド制御部に出力し、前記第2オペランド制御部が出力した第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記第2オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、前記第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第2オペランド信号を前記第1オペランド制御部に出力し、前記第1オペランド制御部が出力した前記第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力し、
前記命令制御部は、受信した前記OPコード信号を記憶するOPコード記憶部を備え、
前記第1オペランド制御部は、受信した前記オペランド信号を記憶する第1オペランド記憶部を備え、
前記第2オペランド制御部は、受信した前記オペランド信号を記憶する第2オペランド記憶部を備え、
前記NOP検出部は、前記NOP状態を検出したことを示すNOP検出信号を記憶する第1NOP記憶部を備え、
前記演算部は、前記演算結果データを記憶する第1演算結果記憶部を備え、
前記NOP検出部が前記NOP状態を検出した第1のクロックサイクルにおいて、
前記NOP検出部は、前記第1NOP記憶部に前記NOP検出信号を記憶し、前記制御信号を前記命令制御部と前記第1オペランド制御部及び前記第2オペランド制御部に出力し、
前記命令制御部は、直前に受信した前記OPコード信号を前記OPコード記憶部に記憶し、前記OPコード記憶部に記憶された前記OPコード信号を前記演算部に出力し、
前記第1オペランド制御部は、前記第2オペランド制御部から受信した前記第2オペランド信号を前記第1オペランド記憶部に記憶し、前記第1オペランド記憶部に記憶された前記第2オペランド信号を前記演算部に出力し、
前記第2オペランド制御部は、前記第1オペランド制御部から受信した前記第1オペランド信号を前記第2オペランド記憶部に記憶し、前記第2オペランド記憶部に記憶された前記第1オペランド信号を前記演算部に出力し、
前記演算部は、求めた前記演算結果データを前記第1演算結果記憶部に記憶する、
ことを特徴とする。
演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、試験演算用の被演算データであるオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、前記被演算データとペアの演算命令であるOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御ステップと、
前記命令制御ステップで出力した前記OPコード信号である演算命令に従って、前記オペランド制御ステップで出力した前記オペランド信号である被演算データに対する演算処理を実行し、求めた演算結果データを出力する演算ステップと、
前記演算ステップで出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出ステップと、を備え、
前記演算ステップでは、前記NOP検出ステップで前記NOP状態を検出した場合、前記命令制御ステップで直前に受信した前記OPコード信号と前記オペランド制御ステップで直前に受信した前記オペランド信号とに基づいて前記演算処理を実行し、
前記エラー検出ステップでは、前記演算ステップで直前に求めた前記演算結果データと前記NOP状態を検出した際に求めた前記演算結果データとを比較し、それぞれが異なる場合にエラーが発生したと判別し、
前記オペランド制御ステップは、第1オペランド制御ステップと、第2オペランド制御ステップと、を含み、
前記第1オペランド制御ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、第1オペランド信号を受信し、
前記NOP検出ステップで前記NOP状態を検出した場合、直前に受信した前記第1オペランド信号を出力し、前記第2オペランド制御ステップで出力した第2オペランド信号を受信し、
前記第2オペランド制御ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、前記第2オペランド信号を受信し、
前記NOP検出ステップで前記NOP状態を検出した場合、直前に受信した前記第2オペランド信号を出力し、前記第1オペランド制御ステップで出力した前記第1オペランド信号を受信し、
前記演算ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、前記第1オペランド制御ステップで受信した前記第1オペランド信号と、前記第2オペランド制御ステップで受信した前記第2オペランド信号と、に基づいて前記演算処理を実行し、
前記NOP検出ステップで前記NOP状態を検出した場合、前記第1オペランド制御ステップで受信した前記第2オペランド信号と、前記第2オペランド制御ステップで受信した前記第1オペランド信号と、に基づいて前記演算処理を実行する、
ことを特徴とする。
上記目的を達成するため、本発明の第4の観点に係るエラー検出方法は、
演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、試験演算用の被演算データであるオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、前記被演算データとペアの演算命令であるOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御ステップと、
前記命令制御ステップで出力した前記OPコード信号である演算命令に従って、前記オペランド制御ステップで出力した前記オペランド信号である被演算データに対する演算処理を実行し、求めた演算結果データを出力する演算ステップと、
前記演算ステップで出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出ステップと、を備え、
前記オペランド制御ステップは、第1オペランド制御ステップと、第2オペランド制御ステップと、を含み、
前記第1オペランド制御ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、第1オペランド信号を受信し、
前記NOP検出ステップで前記NOP状態を検出した場合、直前に受信した前記第1オペランド信号を出力し、前記第2オペランド制御ステップで出力した第2オペランド信号を受信し、
前記第2オペランド制御ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、前記第2オペランド信号を受信し、
前記NOP検出ステップで前記NOP状態を検出した場合、直前に受信した前記第2オペランド信号を出力し、前記第1オペランド制御ステップで出力した前記第1オペランド信号を受信し、
前記演算ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、前記第1オペランド制御ステップで受信した前記第1オペランド信号と、前記第2オペランド制御ステップで受信した前記第2オペランド信号と、に基づいて前記演算処理を実行し、
前記NOP検出ステップで前記NOP状態を検出した場合、前記第1オペランド制御ステップで受信した前記第2オペランド信号と、前記第2オペランド制御ステップで受信した前記第1オペランド信号と、に基づいて前記演算処理を実行し、
前記NOP検出ステップで前記NOP状態を検出した第1のクロックサイクルにおいて、
前記NOP検出ステップでは、前記NOP状態を検出したことを示すNOP検出信号を記憶し、前記制御信号を出力し、
前記命令制御ステップでは、前記NOP検出ステップで出力した前記制御信号に従って直前に受信した前記OPコード信号を記憶し、
前記第1オペランド制御ステップでは、前記NOP検出ステップで出力した前記制御信号に従って前記第2オペランド制御ステップで受信した前記第2オペランド信号を記憶し、
前記第2オペランド制御ステップでは、前記NOP検出ステップで出力した前記制御信号に従って前記第1オペランド制御ステップで受信した前記第1オペランド信号を記憶し、
前記演算ステップでは、前記命令制御ステップで記憶した前記OPコード信号と、前記第2オペランド制御ステップで記憶した前記第1オペランド信号と、前記第1オペランド制御ステップで記憶した前記第2オペランド信号と、に基づいて求めた前記演算結果データを記憶する、
ことを特徴とする。
本実施形態に係る演算装置1は、図1に示すように、命令制御部100と、第1オペランド制御部200と、第2オペランド制御部300と、演算部400と、NOP(No Operation)検出部500と、エラー検出部600と、を備える。
Yn+Zn=Zn+Yn
又は
Yn×Zn=Zn×Yn
なお、Yn、Znは、NOP状態を検出する直前のクロックサイクルにおけるオペランドである。
本実施形態に係る演算装置2は、図4に示すように、第1実施形態に係る演算装置1の構成に加え、減算検出部700と、符号反転部800と、否定部900と、を更に備える。演算装置2は、第1実施形態に係る演算装置1が検出できるエラーに加え、整数減算や浮動小数点減算等の演算処理に対してもエラーを検出することができ、さらに試験演算結果のデータをマスクすることができる。なお、第1実施形態に係る演算装置1と同様の機能を実現する要素については、同一の符号を付し、説明を省略する。
Yn−Zn=Zn−Yn
なお、Yn、Znは、NOP状態を検出する直前のクロックサイクルにおけるオペランドである。
本実施形態に係る演算装置3は、図7に示すように、第1実施形態に係る演算装置1の構成と同様であるが、詳細な構成が異なり、算術演算器410が3Tのパイプライン構造となっている。なお、第1実施形態に係る演算装置1と同様の機能を実現する要素については、同一の符号を付し、説明を省略する。
本発明は、上記実施形態に限定されず、種々の変形例及び応用が可能である。上記実施形態では、デジタル回路で構成される演算装置について説明したが、これに限られず、コンピュータで構成することも可能である。
演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出部と、
前記NOP検出部が出力した前記制御信号に従って、演算命令を示すOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御部と、
前記NOP検出部が出力した前記制御信号に従って、被演算データを示すオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御部と、
前記命令制御部が出力した前記OPコード信号が示す演算命令に従って、前記オペランド制御部が出力した前記オペランド信号が示す被演算データに対する演算処理を実行し、求めた演算結果データを出力する演算部と、
前記演算部が出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出部と、を備える、
ことを特徴とする演算装置。
前記命令制御部は、前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記OPコード信号を前記演算部に出力し、
前記オペランド制御部は、前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記オペランド信号を前記演算部に出力し、
前記エラー検出部は、前記演算部が直前に求めた前記演算結果データと前記NOP状態を検出した際に求めた前記演算結果データとを比較し、それぞれが異なる場合にエラーが発生したと判断する、
ことを特徴とする付記1に記載の演算装置。
前記オペランド制御部は、第1オペランド制御部と、第2オペランド制御部と、を備え、
前記第1オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第1オペランド信号を前記第2オペランド制御部に出力し、前記第2オペランド制御部が出力した第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記第2オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、前記第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第2オペランド信号を前記第1オペランド制御部に出力し、前記第1オペランド制御部が出力した前記第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力する、
ことを特徴とする付記1又は2に記載の演算装置。
前記NOP検出部は、前記NOP状態を検出したことを示すNOP検出信号を前記エラー検出部に出力し、
前記エラー検出部は、前記NOP検出信号を受信し、前記NOP検出信号が前記NOP状態を示している場合、かつ、エラーが発生したと判別した場合、エラーが発生したことを示すエラー検出信号を出力する、
ことを特徴とする付記1乃至3のいずれか1つに記載の演算装置。
前記OPコード信号が減算命令を示しているか否かを検出する減算検出部と、
前記演算部が求めた前記演算結果データの符号を反転させる符号反転部と、を更に備え、
前記符号反転部は、前記減算検出部が前記減算命令を検出した場合、前記演算部が求めた前記演算結果データの符号を反転し、
前記エラー検出部は、前記演算部が求めた前記演算結果データと、前記符号反転部が符号を反転した前記演算結果データとを比較する、
ことを特徴とする付記1乃至4のいずれか1つに記載の演算装置。
前記NOP検出部が出力した前記NOP検出信号を否定する否定部をさらに備え、
前記否定部は、否定した前記NOP検出信号を前記エラー検出部に出力し、
前記エラー検出部は、前記演算部が求めた前記演算結果データと前記否定部が否定して出力した前記NOP検出信号が示す値との論理積を求め、求めた前記論理積を前記演算結果データとして出力する、
ことを特徴とする付記1乃至5のいずれか1つに記載に演算装置。
前記演算部は、パイプライン構成であり、
前記NOP検出部は、前記NOP検出信号が示す値を記憶する記憶部を前記パイプラインの段数に従った数備える、
ことを特徴とする付記1乃至6のいずれか1つに記載の演算装置。
前記命令制御部は、受信した前記OPコード信号を記憶するOPコード記憶部を備え、
前記第1オペランド制御部は、受信した前記オペランド信号を記憶する第1オペランド記憶部を備え、
前記第2オペランド制御部は、受信した前記オペランド信号を記憶する第2オペランド記憶部を備え、
前記NOP検出部は、前記NOP検出信号を記憶する第1NOP記憶部と、前記第1NOP記憶部が記憶している前記NOP検出信号を記憶する第2NOP記憶部と、を備え、
前記演算部は、前記演算結果データを記憶する第1演算結果記憶部と、前記第1演算結果記憶部が記憶している前記演算結果データを記憶する第2演算結果記憶部と、を備え、
前記NOP検出部が前記NOP状態を検出した第1のクロックサイクルにおいて、
前記NOP検出部は、前記第1NOP記憶部に前記NOP検出信号を記憶し、前記制御信号を前記命令制御部と前記第1オペランド制御部及び前記第2オペランド制御部に出力し、
前記命令制御部は、直前に受信した前記OPコード信号を前記OPコード記憶部に記憶し、前記OPコード記憶部に記憶された前記OPコード信号を前記演算部に出力し、
前記第1オペランド制御部は、前記第2オペランド制御部から受信した前記第2オペランド信号を前記第1オペランド記憶部に記憶し、前記第1オペランド記憶部に記憶された前記第2オペランド信号を前記演算部に出力し、
前記第2オペランド制御部は、前記第1オペランド制御部から受信した前記第1オペランド信号を前記第2オペランド記憶部に記憶し、前記第2オペランド記憶部に記憶された前記第1オペランド信号を前記演算部に出力し、
前記演算部は、求めた前記演算結果データを前記第1演算結果記憶部に記憶する、
ことを特徴とする付記3に記載の演算装置。
前記第1のクロックサイクルの次の第2のクロックサイクルにおいて、
前記NOP検出部は、前記第1NOP記憶部に記憶された前記NOP検出信号を前記第2NOP記憶部に記憶し、前記第2NOP記憶部に記憶された前記NOP検出信号を前記エラー検出部に出力し、
前記演算部は、前記第1演算結果記憶部に記憶された前記演算結果データを前記第2演算結果記憶部に記憶し、前記命令制御部と前記第1オペランド制御部及び前記第2オペランド制御部の出力信号に従って試験演算結果データを求め、求めた前記試験演算結果データを前記第1演算結果記憶部に記憶し、前記第1演算結果記憶部に記憶された前記試験演算結果データと前記第2演算結果記憶部に記憶された前記演算結果データを前記エラー検出部に出力し、
前記エラー検出部は、前記演算部が出力した前記試験演算結果データと前記演算結果データとを比較し、両者が異なる値である場合、かつ、前記NOP検出部が出力した前記NOP検出信号が前記NOP状態を示している場合、前記エラー検出信号を出力する、
ことを特徴とする付記8に記載の演算装置。
演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、演算命令を示すOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、被演算データを示すオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御ステップと、
前記命令制御ステップで出力した前記OPコード信号が示す演算命令に従って、前記オペランド制御ステップで出力した前記オペランド信号が示す被演算データに対する演算処理を実行し、求めた演算結果データを出力する演算ステップと、
前記演算ステップで出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出ステップと、を備える、
ことを特徴とするエラー検出方法。
100 命令制御部
200 第1オペランド制御部
300 第2オペランド制御部
400 演算部
500 NOP検出部
600 エラー検出部
700 減算検出部
800 符号反転部
900 否定部
110、210、310 2入力セレクタ
120 OPコードレジスタ
220 第1オペランドレジスタ
320 第2オペランドレジスタ
410 算術演算器
420 第1演算結果レジスタ
430 第2演算結果レジスタ
440 第1パイプラインレジスタ
450 第2パイプラインレジスタ
510 NOP検出器
520 第1NOPレジスタ
530 第2NOPレジスタ
540 第3NOPレジスタ
550 第4NOPレジスタ
610 比較器
620、630 論理積回路
710 減算検出器
720 減算レジスタ
810 符号反転器
910 NOTゲート
10 内部バス
11 制御部
12 主記憶部
13 外部記憶部
14 操作部
15 表示部
16 送受信部
19 プログラム
Claims (9)
- 演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出部と、
前記NOP検出部が出力した前記制御信号に従って、試験演算用の被演算データであるオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御部と、
前記NOP検出部が出力した前記制御信号に従って、前記被演算データとペアの演算命令であるOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御部と、
前記命令制御部が出力した前記OPコード信号である演算命令に従って、前記オペランド制御部が出力した前記オペランド信号である被演算データに対する演算処理を実行し、求めた演算結果データを出力する演算部と、
前記演算部が出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出部と、を備え、
前記命令制御部は、前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記OPコード信号を前記演算部に出力し、
前記オペランド制御部は、前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記オペランド信号を前記演算部に出力し、
前記エラー検出部は、前記演算部が直前に求めた前記演算結果データと前記NOP状態を検出した際に求めた前記演算結果データとを比較し、それぞれが異なる場合にエラーが発生したと判別し、
前記オペランド制御部は、第1オペランド制御部と、第2オペランド制御部と、を備え、
前記第1オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第1オペランド信号を前記第2オペランド制御部に出力し、前記第2オペランド制御部が出力した第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記第2オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、前記第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第2オペランド信号を前記第1オペランド制御部に出力し、前記第1オペランド制御部が出力した前記第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力する、
ことを特徴とする演算装置。 - 前記NOP検出部は、前記NOP状態を検出したことを示すNOP検出信号を前記エラー検出部に出力し、
前記エラー検出部は、前記NOP検出信号を受信し、前記NOP検出信号が前記NOP状態を示している場合、かつ、エラーが発生したと判別した場合、エラーが発生したことを示すエラー検出信号を出力する、
ことを特徴とする請求項1に記載の演算装置。 - 前記OPコード信号が減算命令を示しているか否かを検出する減算検出部と、
前記演算部が求めた前記演算結果データの符号を反転させる符号反転部と、を更に備え、
前記符号反転部は、前記減算検出部が前記減算命令を検出した場合、前記演算部が求めた前記演算結果データの符号を反転し、
前記エラー検出部は、前記演算部が求めた前記演算結果データと、前記符号反転部が符号を反転した前記演算結果データとを比較する、
ことを特徴とする請求項1又は2に記載の演算装置。 - 前記NOP検出部が出力した前記NOP検出信号を否定する否定部をさらに備え、
前記否定部は、否定した前記NOP検出信号を前記エラー検出部に出力し、
前記エラー検出部は、前記演算部が求めた前記演算結果データと前記否定部が否定して出力した前記NOP検出信号が示す値との論理積を求め、求めた前記論理積をマスク済み演算結果データとして出力する、
ことを特徴とする請求項2に記載の演算装置。 - 前記演算部は、パイプライン構成であり、
前記NOP検出部は、前記NOP検出信号が示す値を記憶する記憶部を前記パイプラインの段数に従った数備える、
ことを特徴とする請求項2に記載の演算装置。 - 演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出部と、
前記NOP検出部が出力した前記制御信号に従って、試験演算用の被演算データであるオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御部と、
前記NOP検出部が出力した前記制御信号に従って、前記被演算データとペアの演算命令であるOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御部と、
前記命令制御部が出力した前記OPコード信号である演算命令に従って、前記オペランド制御部が出力した前記オペランド信号である被演算データに対する演算処理を実行し、求めた演算結果データを出力する演算部と、
前記演算部が出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出部と、を備え、
前記オペランド制御部は、第1オペランド制御部と、第2オペランド制御部と、を備え、
前記第1オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第1オペランド信号を前記第2オペランド制御部に出力し、前記第2オペランド制御部が出力した第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記第2オペランド制御部は、
前記NOP検出部が前記NOP状態を検出していない場合、前記第2オペランド信号を受信し、受信した前記第2オペランド信号を前記演算部に出力し、
前記NOP検出部が前記NOP状態を検出した場合、直前に受信した前記第2オペランド信号を前記第1オペランド制御部に出力し、前記第1オペランド制御部が出力した前記第1オペランド信号を受信し、受信した前記第1オペランド信号を前記演算部に出力し、
前記命令制御部は、受信した前記OPコード信号を記憶するOPコード記憶部を備え、
前記第1オペランド制御部は、受信した前記オペランド信号を記憶する第1オペランド記憶部を備え、
前記第2オペランド制御部は、受信した前記オペランド信号を記憶する第2オペランド記憶部を備え、
前記NOP検出部は、前記NOP状態を検出したことを示すNOP検出信号を記憶する第1NOP記憶部を備え、
前記演算部は、前記演算結果データを記憶する第1演算結果記憶部を備え、
前記NOP検出部が前記NOP状態を検出した第1のクロックサイクルにおいて、
前記NOP検出部は、前記第1NOP記憶部に前記NOP検出信号を記憶し、前記制御信号を前記命令制御部と前記第1オペランド制御部及び前記第2オペランド制御部に出力し、
前記命令制御部は、直前に受信した前記OPコード信号を前記OPコード記憶部に記憶し、前記OPコード記憶部に記憶された前記OPコード信号を前記演算部に出力し、
前記第1オペランド制御部は、前記第2オペランド制御部から受信した前記第2オペランド信号を前記第1オペランド記憶部に記憶し、前記第1オペランド記憶部に記憶された前記第2オペランド信号を前記演算部に出力し、
前記第2オペランド制御部は、前記第1オペランド制御部から受信した前記第1オペランド信号を前記第2オペランド記憶部に記憶し、前記第2オペランド記憶部に記憶された前記第1オペランド信号を前記演算部に出力し、
前記演算部は、求めた前記演算結果データを前記第1演算結果記憶部に記憶する、
ことを特徴とする演算装置。 - 前記NOP検出部は、前記第1NOP記憶部が記憶している前記NOP検出信号を記憶する第2NOP記憶部を備え、
前記演算部は、前記第1演算結果記憶部が記憶している前記演算結果データを記憶する第2演算結果記憶部を備え、
前記第1のクロックサイクルの次の第2のクロックサイクルにおいて、
前記NOP検出部は、前記第1NOP記憶部に記憶された前記NOP検出信号を前記第2NOP記憶部に記憶し、前記第2NOP記憶部に記憶された前記NOP検出信号を前記エラー検出部に出力し、
前記演算部は、前記第1演算結果記憶部に記憶された前記演算結果データを前記第2演算結果記憶部に記憶し、前記命令制御部と前記第1オペランド制御部及び前記第2オペランド制御部の出力信号に従って試験演算結果データを求め、求めた前記試験演算結果データを前記第1演算結果記憶部に記憶し、前記第1演算結果記憶部に記憶された前記試験演算結果データと前記第2演算結果記憶部に記憶された前記演算結果データを前記エラー検出部に出力し、
前記エラー検出部は、前記演算部が出力した前記試験演算結果データと前記演算結果データとを比較し、両者が異なる値である場合、かつ、前記NOP検出部が出力した前記NOP検出信号が前記NOP状態を示している場合、エラーが発生したことを示すエラー検出信号を出力する、
ことを特徴とする請求項6に記載の演算装置。 - 演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、試験演算用の被演算データであるオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、前記被演算データとペアの演算命令であるOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御ステップと、
前記命令制御ステップで出力した前記OPコード信号である演算命令に従って、前記オペランド制御ステップで出力した前記オペランド信号である被演算データに対する演算処理を実行し、求めた演算結果データを出力する演算ステップと、
前記演算ステップで出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出ステップと、を備え、
前記演算ステップでは、前記NOP検出ステップで前記NOP状態を検出した場合、前記命令制御ステップで直前に受信した前記OPコード信号と前記オペランド制御ステップで直前に受信した前記オペランド信号とに基づいて前記演算処理を実行し、
前記エラー検出ステップでは、前記演算ステップで直前に求めた前記演算結果データと前記NOP状態を検出した際に求めた前記演算結果データとを比較し、それぞれが異なる場合にエラーが発生したと判別し、
前記オペランド制御ステップは、第1オペランド制御ステップと、第2オペランド制御ステップと、を含み、
前記第1オペランド制御ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、第1オペランド信号を受信し、
前記NOP検出ステップで前記NOP状態を検出した場合、直前に受信した前記第1オペランド信号を出力し、前記第2オペランド制御ステップで出力した第2オペランド信号を受信し、
前記第2オペランド制御ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、前記第2オペランド信号を受信し、
前記NOP検出ステップで前記NOP状態を検出した場合、直前に受信した前記第2オペランド信号を出力し、前記第1オペランド制御ステップで出力した前記第1オペランド信号を受信し、
前記演算ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、前記第1オペランド制御ステップで受信した前記第1オペランド信号と、前記第2オペランド制御ステップで受信した前記第2オペランド信号と、に基づいて前記演算処理を実行し、
前記NOP検出ステップで前記NOP状態を検出した場合、前記第1オペランド制御ステップで受信した前記第2オペランド信号と、前記第2オペランド制御ステップで受信した前記第1オペランド信号と、に基づいて前記演算処理を実行する、
ことを特徴とするエラー検出方法。 - 演算装置に有効な演算命令が入力されていないNOP状態の検出に従って、受信する入力信号を制御する制御信号を出力するNOP検出ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、試験演算用の被演算データであるオペランド信号を受信し、受信した前記オペランド信号を出力するオペランド制御ステップと、
前記NOP検出ステップで出力した前記制御信号に従って、前記被演算データとペアの演算命令であるOPコード信号を受信し、受信した前記OPコード信号を出力する命令制御ステップと、
前記命令制御ステップで出力した前記OPコード信号である演算命令に従って、前記オペランド制御ステップで出力した前記オペランド信号である被演算データに対する演算処理を実行し、求めた演算結果データを出力する演算ステップと、
前記演算ステップで出力した前記演算結果データに基づいて、エラーが発生したか否かを判別するエラー検出ステップと、を備え、
前記オペランド制御ステップは、第1オペランド制御ステップと、第2オペランド制御ステップと、を含み、
前記第1オペランド制御ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、第1オペランド信号を受信し、
前記NOP検出ステップで前記NOP状態を検出した場合、直前に受信した前記第1オペランド信号を出力し、前記第2オペランド制御ステップで出力した第2オペランド信号を受信し、
前記第2オペランド制御ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、前記第2オペランド信号を受信し、
前記NOP検出ステップで前記NOP状態を検出した場合、直前に受信した前記第2オペランド信号を出力し、前記第1オペランド制御ステップで出力した前記第1オペランド信号を受信し、
前記演算ステップでは、
前記NOP検出ステップで前記NOP状態を検出していない場合、前記第1オペランド制御ステップで受信した前記第1オペランド信号と、前記第2オペランド制御ステップで受信した前記第2オペランド信号と、に基づいて前記演算処理を実行し、
前記NOP検出ステップで前記NOP状態を検出した場合、前記第1オペランド制御ステップで受信した前記第2オペランド信号と、前記第2オペランド制御ステップで受信した前記第1オペランド信号と、に基づいて前記演算処理を実行し、
前記NOP検出ステップで前記NOP状態を検出した第1のクロックサイクルにおいて、
前記NOP検出ステップでは、前記NOP状態を検出したことを示すNOP検出信号を記憶し、前記制御信号を出力し、
前記命令制御ステップでは、前記NOP検出ステップで出力した前記制御信号に従って直前に受信した前記OPコード信号を記憶し、
前記第1オペランド制御ステップでは、前記NOP検出ステップで出力した前記制御信号に従って前記第2オペランド制御ステップで受信した前記第2オペランド信号を記憶し、
前記第2オペランド制御ステップでは、前記NOP検出ステップで出力した前記制御信号に従って前記第1オペランド制御ステップで受信した前記第1オペランド信号を記憶し、
前記演算ステップでは、前記命令制御ステップで記憶した前記OPコード信号と、前記第2オペランド制御ステップで記憶した前記第1オペランド信号と、前記第1オペランド制御ステップで記憶した前記第2オペランド信号と、に基づいて求めた前記演算結果データを記憶する、
ことを特徴とするエラー検出方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011055853A JP5732933B2 (ja) | 2011-03-14 | 2011-03-14 | 演算装置及びエラー検出方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011055853A JP5732933B2 (ja) | 2011-03-14 | 2011-03-14 | 演算装置及びエラー検出方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012194599A JP2012194599A (ja) | 2012-10-11 |
| JP5732933B2 true JP5732933B2 (ja) | 2015-06-10 |
Family
ID=47086477
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011055853A Expired - Fee Related JP5732933B2 (ja) | 2011-03-14 | 2011-03-14 | 演算装置及びエラー検出方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5732933B2 (ja) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57212539A (en) * | 1981-06-24 | 1982-12-27 | Nec Corp | Arithmetic device |
| JPH09305423A (ja) * | 1996-05-20 | 1997-11-28 | Nec Corp | 演算処理装置 |
| JPH10161875A (ja) * | 1996-12-03 | 1998-06-19 | Toshiba Corp | 命令並列実行型データ処理装置 |
| JP4357429B2 (ja) * | 2005-01-27 | 2009-11-04 | 株式会社ルネサステクノロジ | 半導体集積回路装置及びコンパイラ |
| JP3897356B2 (ja) * | 2006-06-07 | 2007-03-22 | 富士通株式会社 | 演算処理装置及びその自己診断方法 |
-
2011
- 2011-03-14 JP JP2011055853A patent/JP5732933B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2012194599A (ja) | 2012-10-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5607832B2 (ja) | 汎用論理演算の方法および装置 | |
| JP2015505998A (ja) | 大きな浮動小数点値と小さな浮動小数点値の両方を使用した算術演算の実行 | |
| JP2010271818A (ja) | 命令融合演算装置および命令融合演算方法 | |
| US8205097B2 (en) | Microprocessor in a security-sensitive system | |
| Smith | Speedup of self-timed digital systems using early completion | |
| JP2009230338A (ja) | プロセサおよび情報処理装置 | |
| JP4883251B1 (ja) | 半導体集積回路及び指数算出方法 | |
| US7376890B2 (en) | Method and system for checking rotate, shift and sign extension functions using a modulo function | |
| Kelly et al. | Arithmetic data value speculation | |
| JP5732933B2 (ja) | 演算装置及びエラー検出方法 | |
| US7356553B2 (en) | Data processing apparatus and method for determining a processing path to perform a data processing operation on input data elements | |
| US9244653B2 (en) | Method and device for handling data values | |
| US9268527B2 (en) | Method and device for generating an exception | |
| US6112291A (en) | Method and apparatus for performing a shift instruction with saturate by examination of an operand prior to shifting | |
| Zulkifli et al. | Reduced stall MIPS architecture using pre-fetching accelerator | |
| TWI423125B (zh) | 微處理器以及相關指令執行方法 | |
| CN109977701B (zh) | 一种定浮点运算装置 | |
| JP4382128B2 (ja) | 情報処理装置、および、その誤演算検出方法 | |
| US7386580B2 (en) | Data processing apparatus and method for computing an absolute difference between first and second data elements | |
| US11080054B2 (en) | Data processing apparatus and method for generating a status flag using predicate indicators | |
| JP3541005B2 (ja) | データ処理装置およびその方法 | |
| Didier et al. | RISC-V word-size modular instructions for Residue Number Systems | |
| Andorno | Design of the frontend for LEN5, a RISC-V Out-of-Order processor | |
| US6820109B2 (en) | System and method for predictive comparator following addition | |
| US11036503B2 (en) | Predicate indicator generation for vector processing operations |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140207 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141024 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141111 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150109 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150127 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150226 |
|
| 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: 20150317 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150330 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5732933 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |