JP2006040174A - 命令リトライ検証機能付き情報処理装置および命令リトライ検証方法 - Google Patents

命令リトライ検証機能付き情報処理装置および命令リトライ検証方法 Download PDF

Info

Publication number
JP2006040174A
JP2006040174A JP2004222400A JP2004222400A JP2006040174A JP 2006040174 A JP2006040174 A JP 2006040174A JP 2004222400 A JP2004222400 A JP 2004222400A JP 2004222400 A JP2004222400 A JP 2004222400A JP 2006040174 A JP2006040174 A JP 2006040174A
Authority
JP
Japan
Prior art keywords
instruction
entry
information processing
processing apparatus
parity
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.)
Granted
Application number
JP2004222400A
Other languages
English (en)
Other versions
JP4486434B2 (ja
Inventor
Yasunobu Akizuki
康伸 秋月
Norihito Gomyo
則人 五明
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004222400A priority Critical patent/JP4486434B2/ja
Priority to US10/986,152 priority patent/US7383467B2/en
Publication of JP2006040174A publication Critical patent/JP2006040174A/ja
Application granted granted Critical
Publication of JP4486434B2 publication Critical patent/JP4486434B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Retry When Errors Occur (AREA)
  • Advance Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】命令リトライ機能を何度でも繰り返して実行して動作検証をおこなうこと。
【解決手段】パリティ生成回路202は、生成したパリティデータを反転させることで完了判定時に意図的にCSEエントリのパリティエラーを検出させ、命令リトライを実行させる。パリティエラーの検出をおこなうパリティチェック回路205は、命令リトライの実行を依頼すると命令リトライ機構によりプログラムが停止し、検証が中止されてしまう場合にはパリティエラーを検出しなかったものとし、命令リトライの実行を抑制する。
【選択図】 図4

Description

この発明は、異常発生時に命令を再実行する命令リトライ機構を備えた情報処理装置およびその情報処理装置における命令リトライ検証方法に関し、特に命令リトライを繰り返して実行させて動作を検証することができ、もって命令リトライ機能の品質を向上させることができる情報処理装置および命令リトライ検証方法に関するものである。
従来より、情報処理装置は、Reliability(信頼性)、Availability(可用性)およびServiceability(保守性)を確保するためのRAS機能と呼ばれる機能を備えている。
RAS機能の一つである命令リトライ機能は、情報処理装置の動作中に回路の一部が故障する等の障害が発生した場合に、命令を再実行してプログラムを停止させることなく、正常に動作させる機能である(例えば、特許文献1)。
特開昭58−39351号公報
しかしながら、命令リトライ機能は、これまで十分な動作の検証をおこなうことができていなかった。これは、命令の再実行が不可能なタイミングが存在し、命令リトライ機能を何回も繰り返して動作させることができないためである。命令の再実行が不可能なタイミングで命令リトライ機能が動作すると、プログラムが停止し、それ以降の動作検証ができなくなってしまう。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、命令リトライ機能を何度も繰り返し動作させて検証することができ、もって高い品質をもった命令リトライ機能を実現させることができる情報処理装置および命令リトライ検証方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、異常発生時に命令を再実行する命令リトライ機構と、アウトオブオーダで実行される命令に係る情報を本来のインオーダの順序で保持し、命令の完了順序を制御するコミットスタックエントリとを備えた情報処理装置であって、当該の情報処理装置の状態を通常動作のための通常状態もしくは動作検証のための検証状態に設定する状態設定手段と、前記コミットスタックエントリへ命令に係る情報を登録する際に、当該の情報処理装置が検証状態にある場合には、前記情報の内容を改竄し、パリティエラーが検出される状態で登録するエントリ登録手段と、前記コミットスタックエントリのエントリのうち当該のサイクルで命令が完了する可能性のあるエントリの完了判定とパリティチェックをおこない、いずれかのエントリにパリティエラーを検出した場合には前記命令リトライ機構に対して前記コミットスタックエントリに登録されている最も古い命令からの再実行を依頼する完了判定手段とを備えたことを特徴とする。
また、本発明は、命令の実行中に異常が発覚した場合に実行中の命令を再実行する命令リトライ機構と、アウトオブオーダで実行される命令を本来のインオーダの順序で保持し、命令の完了順序を制御するコミットスタックエントリとを備えた情報処理装置における命令リトライ検証方法であって、前記コミットスタックエントリへ命令に係る情報を登録する際に、当該の情報処理装置が検証状態にある場合には、前記情報の内容を改竄し、パリティエラーが検出される状態で登録するエントリ登録工程と、当該の情報処理装置が検証状態にある場合には、前記コミットスタックエントリへパリティエラーとなるデータを登録するエントリ登録工程と、前記コミットスタックエントリのエントリのうち当該のサイクルで命令が完了する可能性のあるエントリの完了判定とパリティチェックをおこない、いずれかのエントリにパリティエラーを検出した場合には前記命令リトライ機構に対して前記コミットスタックエントリに登録されている最も古い命令からの再実行を依頼する完了判定工程とを含んだことを特徴とする。
この発明によれば、情報処理装置が検証状態にある場合には意図的にコミットスタックエントリのパリティエラーを発生させ、これにより命令リトライが実行されるように構成したので、情報処理装置を検証状態にすることで命令リトライを繰り返し実行させて動作検証をおこなうことができる。
また、本発明は、上記の発明において、前記エントリ登録手段は、当該の情報処理装置が検証状態にある場合には、前記コミットスタックエントリへ登録するデータのパリティビットを反転させ、パリティエラーが検出される状態で登録することを特徴とする。
この発明によれば、パリティビットを反転させることによってパリティエラーを発生させるように構成したので、情報処理装置が正常動作するのに必要な情報を変更することなく命令リトライを実行させることができる。
また、本発明は、上記の発明において、前記完了判定手段は、当該の情報処理装置が検証状態にあるときにパリティエラーを検出した場合、前記コミットスタックエントリに再実行の依頼をおこなうと前期命令リトライ機構によりプログラムが停止する命令が含まれていることを検出したならば、前記命令リトライ機構に対して命令の再実行の依頼をおこなわずに、パリティエラーがなかったものとして完了判定処理を継続することを特徴とする。
この発明によれば、情報処理装置が検証状態にある場合、命令リトライの実行が不可能なタイミングでは命令リトライをおこなわせないように構成したので、命令リトライの実行が不可能なタイミングが発生してもプログラムを停止させることなく動作検証を継続させることができる。
本発明によれば、情報処理装置が検証状態にある場合には意図的にコミットスタックエントリのパリティエラーを発生させ、これにより命令リトライが実行されるように構成したので、情報処理装置を検証状態にすることで命令リトライを繰り返し実行させて動作検証をおこなうことができるという効果を奏する。
また、本発明によれば、パリティビットを反転させることによってパリティエラーを発生させるように構成したので、情報処理装置が正常動作するのに必要な情報を変更することなく命令リトライを実行させることができるという効果を奏する。
また、本発明によれば、情報処理装置が検証状態にある場合、命令リトライの実行が不可能なタイミングでは命令リトライをおこなわせないように構成したので、命令リトライの実行が不可能なタイミングが発生してもプログラムを停止させることなく動作検証を継続させることができるという効果を奏する。
以下に添付図面を参照して、この発明に係る情報処理装置および命令リトライ検証方法の好適な実施の形態を詳細に説明する。
まず、本実施例に係る情報処理装置の概要について説明する。図1は、本実施例に係る情報処理装置全体の概要を示すブロック図である。同図に示すように、本実施例に係る情報処理装置においては、命令フェッチアドレス生成器100もしくはブランチヒストリ101の指示により1次命令フェッチキャッシュ102から読取られた命令は、命令バッファ103に一時保持され、命令デコーダ104によりインオーダでデコードされる。
デコードされた命令は、命令の種類に応じてアドレス生成リザベーションステーション(RSA)105、整数演算リザベーションステーション(RSE)106、浮動小数演算リザベーションステーション(RSF)107または分岐リザベーションステーション(RSBR)108に振り分けられ、アウトオブオーダで実行される。
デコードされた命令に関する情報はコミットスタックエントリ(以下、「CSE(Commit Stack Entry)」と言う。)210にも送られる。CSE210は、各リザベーションステーションで実行される命令の実行状況等に関する情報をインオーダの順序で保持し、命令の完了を制御する装置である。
図2は、CSE210の構成を説明するための説明図である。同図に示すように、CSE210は、命令デコーダ104でデコードされた命令ごとにエントリを作成する。各エントリは、命令デコーダ104から送信された信号とデータ誤り検出のためのパリティビットで構成される。
図3は、CSE210をもちいた完了判定動作を説明するための説明図である。同図に示すように、CSE210は、次サイクルで完了する可能性のある命令のエントリを選択して完了対象エントリ211へ登録する。完了対象エントリ211の各エントリは、別項で説明する完了判定回路204によって完了判定され、完了した命令については、プログラムカウンタやレジスタ等の資源の更新とCSE210のエントリの解放とがおこなわれる。
この完了判定時にいずれかのエントリでパリティエラーが検出された場合には、当該のサイクルで完了対象となった最も古い命令からフェッチ動作をやり直す命令リトライが命令リトライ機構206によっておこなわれる。本実施例に係る情報処理装置および命令リトライ検証方法は、このCSE21の命令リトライの仕組みを利用して命令リトライの検証をおこなう。
次に、本実施例に係る命令リトライ検証方式に関連する装置の構成について説明する。図4は、本実施例に係る命令リトライ検証方式に関連する装置の構成を示すブロック図である。
命令デコーダ104は、既に説明した通り、1次命令フェッチキャッシュ102から読取られた命令をインオーダでデコードし、デコードした命令を命令の種類に応じてレザベーションステーションに振り分ける装置である。また、命令デコーダ104は、デコードした命令の完了制御をおこなうために、デコードした命令に係る情報をエントリ登録回路201へ送出する。
エントリ登録回路201は、命令デコーダ104から送出された情報をCSE290のエントリへ登録する回路である。エントリ登録回路201は、CSE290のエントリへ情報を登録するに際して、データ誤りを検出するためのパリティデータを情報に付加する。
パリティ生成回路202は、エントリ登録回路201が付加するパリティデータを生成する回路である。パリティ生成回路202は、JTAG機構208からのERROR_INJECTION信号の状態により、生成するパリティデータを変化させる。
図5は、パリティ生成回路202の構成を示すブロック図である。同図に示すように、命令デコーダ104から送出されたDx_TAG_1〜Dx_TAG_nの信号から生成された1ビットのパリティデータは、ERROR_INJECTION信号がオフの場合は、Dx_REL_CSEm信号がオンになったタイミングでこの信号に対応するCSEのエントリにそのまま送出される。
一方、ERROR_INJECTION信号がオンの場合は、Dx_TAG_1〜Dx_TAG_nの信号から生成された1ビットのパリティデータは、EOR回路によって反転されて送出される。反転されたパリティデータは、命令の完了判定の際にパリティエラーを検出させ、命令リトライを発生させることになる。
このように、本実施例に係る命令リトライ検証方式においては、命令リトライの動作検証をおこなう際は、パリティ生成回路202に反転したパリティデータを生成させ、これにより意図的にパリティエラーを検出させて命令リトライを発生させる。命令リトライを発生させるためにパリティエラーを検出させることだけが目的であれば、パリティデータ以外を化けさせてもよいが、パリティデータ以外を化けさせると情報処理装置の動作に影響がでるおそれがあるため、パリティデータのみを反転させる。
完了対象エントリ選択回路203は、次のサイクルで完了する可能性のある命令の情報を格納したエントリをCSE210より選択し、完了対象エントリ211へ転記する回路である。完了対象エントリ211へ転記されたエントリは、完了判定回路204による完了判定の対象となる。
完了判定回路204は、完了対象エントリ211の各エントリに対応する命令が完了したものとしてよいか否かを判定する回路である。完了判定回路204は、完了判定をおこなうに際して、エントリに設定された情報のパリティチェックをおこなう。そして、いずれかのエントリでパリティエラーを検出した場合は、完了判定を中止し、CSE210においてパリティエラーが発生した旨を命令リトライ機構206に通知する。
パリティチェック回路205は、完了対象エントリ211の各エントリのパリティをチェックする回路である。このパリティチェック回路205がパリティエラーを検出すると、完了判定回路204が命令リトライ機構206へエラーの発生を通知し、命令リトライがおこなわれることになる。
命令リトライの動作検証をおこなう場合、前述のように、完了対象エントリ211にパリティデータを反転させたデータが登録される。このため、命令リトライの動作検証中はCSE210のエントリが有効なときにどのサイクルにおいてもパリティエラーを検出させることが可能となり、命令リトライがおこなわれることになるが、これには問題がある。
命令リトライは常におこなうことができるものではなく、命令リトライ不能なタイミングが存在する。そのようなタイミングで命令リトライをおこなおうとすると、命令リトライ機構206によりプログラムが停止してしまい、命令リトライの動作検証を継続することができなくなってしまう。
ここでは、命令リトライ不能なタイミングとして2つ例を挙げる。一つ目の例は、マルチフロー命令が完了対象エントリ211の最も古い命令の場合である。マルチフロー命令とは、1命令を複数のフローに分けた命令で、それぞれのフロー毎にCSE210のエントリを必要とし、一つのサイクルで一つのフローしか完了させることができない。完了対象エントリ211の最も古い命令がマルチフロー命令である場合、マルチフロー命令の途中のフローである可能性があり、ここで命令リトライをおこなうと最初のフローからやり直してしまうために、同じフローを何回も完了してしまい、プログラムに異常が起きるために、命令リトライをおこなうことができない。
二つ目の例は、CSE210のエントリにノンキャッシュアクセス中の命令が存在している場合である。ノンキャッシュアクセス中に命令リトライをおこない、再度同じ命令でノンキャッシュアクセスをおこなうとロードされるデータが異なる場合があるため、この場合も、命令リトライをおこなうことができない。
本実施例に係る命令リトライ検証方式においては、命令リトライの動作検証中にこのような命令リトライをおこなうことができないタイミングになった場合は、パリティチェック回路205がパリティエラーを検出しないようにないようにしている。パリティエラーを検出しなければ、完了判定や完了した命令の解放等が通常通りおこなわれ、プログラムが停止することはない。
このように、命令リトライをおこなうことができないタイミングの場合は、パリティエラーを検出しないようにすることにより、プログラムの停止による検証作業の中断を回避することができる。
なお、命令リトライの動作検証中以外は、命令リトライをおこなうことができないタイミングであっても、パリティチェック回路205にパリティエラーを検出させ、命令リトライ機構に再実行の依頼をおこない、命令リトライ機構が命令リトライをおこなうかを判断する。実際に何らかの障害が発生しパリティエラーされている場合に、障害が発生したまま処理を継続することは危険だからである。
図6は、完了対象エントリ211のTOQエントリのパリティチェックをおこなう回路の構成を示すブロック図である。同図に示すように、この回路は当該のエントリに有効なデータが設定されていることを示すTOQ_CSE_VALID信号がオンであり、かつ、エントリに登録されているデータにパリティエラーが存在している場合にパリティエラーを検出する。他の完了対象エントリ211のエントリにも同様な回路が存在する。
図7は、完了対象エントリ211のパリティチェックをおこなう回路の構成を示すブロック図である。同図に示すように、この回路は、完了対象エントリ211のエントリのいずれかにおいてパリティエラーが発生していた場合にパリティエラーを検出する。
図8は、パリティチェック回路205の構成を示すブロック図である。同図に示すように、命令リトライの動作検証中であることを示すOPSR_ENB_RETRY_MODE信号がオンである場合は、完了対象エントリ211の最も古い命令がマルチフロー命令であることを示すTOQ_CSE_MULTIFLOW信号もしくはCSE210のエントリにノンキャッシュアクセス中の命令が存在していることを示すNONCACHE_ACCESS_PEND信号のいずれかがオンである場合には、パリティエラーが検出されないようになっている。
なお、命令リトライ不能なタイミングは、ここに示した例に限定されるものではなく、情報処理装置の仕様により、これ以外のタイミングが存在する場合もある。ここに示した以外に命令リトライ不能なタイミングが存在する情報処理装置であっても、上記のようにそのタイミングをパリティチェック回路205へ通知する仕組みを設けることにより、本実施例に係る命令リトライ検証方式を適用することができる。
命令リトライ機構206は、命令の再実行をおこなう機構である。情報処理装置に何らかの障害が発生した場合であっても、命令リトライ機構206が命令を再実行することにより、プログラムを停止させることなく処理を正常に継続することができる。
資源更新回路207は、完了判定回路204によって実行が完了したと判定された命令の各種資源とCSE210のエントリを解放する回路である。
JTAG機構208は、情報処理装置の挙動を検査するための機構であり、検査用の入出力インターフェースを備える。本実施例に係る命令リトライ検証方式においては、このJTAG機構208をもちいて命令リトライの動作検証をおこなうモードと通常動作のモードの切り替えをおこなう。具体的には、命令リトライの動作検証をおこなう場合は、JTAG機構208から発信されるERROR_INJECTION信号およびOPSR_ENB_RETRY_MODE信号をオンにし、通常動作させる場合は、これらをオフにする。
CSE210は、命令デコーダ104から送出された命令に係る情報をエントリに保持する装置である。CSE210の各エントリは、データ誤りを検出するためのパリティビットを備える。完了エントリ211は、完了対象エントリ選択回路203によって、次サイクルで完了する可能性のある命令の情報がCSE201から転記される装置である。
次に、図4に示した装置の通常時と命令リトライ検証時の処理手順について説明する。図9は、図4に示した装置の通常時の処理手順を示すフローチャートである。
同図に示すように、命令デコーダ104が、命令のデコードをおこない、この命令に係る情報をエントリ登録回路201へ送出したならば(ステップS101)、パリティ生成回路202が送出された情報に応じたパリティデータを生成する(ステップS102)。そして、エントリ登録回路201は、送出された情報にパリティデータを付加してCSE210のエントリへ書き込む(ステップS103)。
完了対象エントリ選択回路203は、CSE210のエントリから次サイクルで命令の実行が完了する可能性のあるエントリを選択して、完了対象エントリ211へ転記する(ステップS104)。サイクルが完了すると、完了判定回路204が完了対象エントリ211の各エントリの命令について実行が完了したものとしてよいか否かの完了判定をおこなう(ステップS105)。
完了対象エントリ選択回路203が完了判定をおこなう際に、パリティチェック回路205がエントリのパリティチェックをおこなう。いずれのエントリにおいてもパリティエラーが検出されなければ(ステップS106否定)、資源更新回路207は、実行が完了したとされた命令の各種資源の更新とCSEのエントリの解放をおこなう(ステップS107)。
いずれかのエントリにおいてパリティエラーが検出された場合(ステップS106肯定)、完了判定回路204は、完了判定を中止し、パリティエラーが検出されたことを命令リトライ機構206に通知する(ステップS108)。
命令リトライ機構206は、完了対象の最も古い命令から再実行をおこなう。このとき、命令リトライが可能なタイミングであれば(ステップS109肯定)、命令の再実行は成功し(ステップS110)、命令リトライが不可能なタイミングであれば(ステップS109否定)、プログラムが停止する。
図10は、図4に示した装置の命令リトライ検証時の処理手順を示すフローチャートである。
同図に示すように、命令デコーダ104が、命令のデコードをおこない、この命令に係る情報をエントリ登録回路201へ送出したならば(ステップS201)、パリティ生成回路202が送出された情報に応じたパリティデータを生成した後(ステップS202)、パリティエラーを意図的に検出させるためにこのパリティデータを反転させる(ステップS203)。そして、エントリ登録回路201は、送出された情報にパリティデータを付加してCSE210のエントリへ書き込む(ステップS204)。
完了対象エントリ選択回路203は、CSE210のエントリから次サイクルで命令の実行が完了する可能性のあるエントリを選択して、完了対象エントリ211へ転記する(ステップS205)。サイクルが完了すると、完了判定回路204が完了対象エントリ211の各エントリの命令について実行が完了したものとしてよいか否かの完了判定をおこなう(ステップS206)。
完了対象エントリ選択回路203が完了判定をおこなう際に、パリティチェック回路205がエントリのパリティチェックをおこなう。ステップS203でパリティデータを反転させているため、ここではパリティエラーが検出されることになる(ステップS207)。
このとき、命令リトライが可能なタイミングであれば(ステップS208肯定)、パリティエラーはそのまま検出され、完了判定回路204は、完了判定を中止し、パリティエラーが検出されたことを命令リトライ機構206に通知する(ステップS209)。そして、命令リトライ機構206は、完了対象の最も古い命令から再実行をおこなう。
命令リトライが不可能なタイミングの場合は(ステップS208否定)、パリティエラーが検出されなかったものとされて完了判定が継続され(ステップS211)、資源更新回路207は、実行が完了したとされた命令の各種資源とCSEのエントリの解放をおこなう(ステップS212)。
上述してきたように、本実施例では、意図的にCSE210のパリティエラーを発生させて命令リトライを実行させ、命令リトライが失敗し動作検証が失敗する場合にはパリティエラーが検出されないように構成したので、命令リトライを何度でも繰り返して実行させることができ、命令リトライの検証を十分におこなうことができる。
(付記1)異常発生時に命令を再実行する命令リトライ機構と、アウトオブオーダで実行される命令に係る情報を本来のインオーダの順序で保持し、命令の完了順序を制御するコミットスタックエントリとを備えた情報処理装置であって、
当該の情報処理装置の状態を通常動作のための通常状態もしくは動作検証のための検証状態に設定する状態設定手段と、
前記コミットスタックエントリへ命令に係る情報を登録する際に、当該の情報処理装置が検証状態にある場合には、前記情報の内容を改竄し、パリティエラーが検出される状態で登録するエントリ登録手段と、
前記コミットスタックエントリのエントリのうち当該のサイクルで命令が完了する可能性のあるエントリの完了判定とパリティチェックをおこない、いずれかのエントリにパリティエラーを検出した場合には前記命令リトライ機構に対して前記コミットスタックエントリに登録されている最も古い命令からの再実行を依頼する完了判定手段と
を備えたことを特徴とする情報処理装置。
(付記2)前記エントリ登録手段は、当該の情報処理装置が検証状態にある場合には、前記コミットスタックエントリへ登録するデータのパリティビットを反転させ、パリティエラーが検出される状態で登録することを特徴とする付記1に記載の情報処理装置。
(付記3)前記完了判定手段は、当該の情報処理装置が検証状態にあるときにパリティエラーを検出した場合、前記コミットスタックエントリに再実行の依頼をおこなうと前期命令リトライ機構によりプログラムが停止する命令が含まれていることを検出したならば、前記命令リトライ機構に対して命令の再実行の依頼をおこなわずに、パリティエラーがなかったものとして完了判定処理を継続することを特徴とする付記1または2に記載の情報処理装置。
(付記4)前記完了判定手段は、当該の情報処理装置が通常状態にあるときにパリティエラーを検出した場合、前記コミットスタックエントリに再実行の依頼をおこなうと前期命令リトライ機構によりプログラムが停止する命令が含まれていることを検出したならば、前記命令リトライ機構に対して命令の再実行の依頼をおこない、前記命令リトライ機構が命令リトライをおこなうか否かを判定することを特徴とする付記3に記載の情報処理装置。
(付記5)命令の実行中に異常が発覚した場合に実行中の命令を再実行する命令リトライ機構と、アウトオブオーダで実行される命令を本来のインオーダの順序で保持し、命令の完了順序を制御するコミットスタックエントリとを備えた情報処理装置における命令リトライ検証方法であって、
前記コミットスタックエントリへ命令に係る情報を登録する際に、当該の情報処理装置が検証状態にある場合には、前記情報の内容を改竄し、パリティエラーが検出される状態で登録するエントリ登録工程と、
当該の情報処理装置が検証状態にある場合には、前記コミットスタックエントリへパリティエラーとなるデータを登録するエントリ登録工程と、
前記コミットスタックエントリのエントリのうち当該のサイクルで命令が完了する可能性のあるエントリの完了判定とパリティチェックをおこない、いずれかのエントリにパリティエラーを検出した場合には前記命令リトライ機構に対して前記コミットスタックエントリに登録されている最も古い命令からの再実行を依頼する完了判定工程と
を含んだことを特徴とする命令リトライ検証方法。
(付記6)前記エントリ登録工程は、当該の情報処理装置が検証状態にある場合には、前記コミットスタックエントリへ登録するデータのパリティビットを反転させ、パリティエラーが検出される状態で登録することを特徴とする付記5に記載の命令リトライ検証方法。
(付記7)前記完了判定工程は、当該の情報処理装置が検証状態にあるときにパリティエラーを検出した場合、前記コミットスタックエントリに再実行の依頼をおこなうと前期命令リトライ機構によりプログラムが停止する命令が含まれていることを検出したならば、前記命令リトライ機構に対して命令の再実行の依頼をおこなわずに、パリティエラーがなかったものとして完了判定処理を継続することを特徴とする付記5または6に記載の命令リトライ検証方法。
(付記8)前記完了判定工程は、当該の情報処理装置が通常状態にあるときにパリティエラーを検出した場合、前記コミットスタックエントリに再実行の依頼をおこなうと前記命令リトライ機構によりプログラムが停止する命令が含まれていることを検出したならば、前記命令リトライ機構に対して命令の再実行の依頼をおこない、前記命令リトライ機構が命令リトライをおこなうか否かを判定することを特徴とする付記7に記載の命令リトライ検証方法。
以上のように、本発明にかかる情報処理装置および命令リトライ検証方法は、命令リトライ機能の検証に有用であり、特に、命令リトライを何度でも繰り返して実行させて動作検証をおこないたい場合に適している。
本実施例に係る情報処理装置全体の概要を示すブロック図である。 CSEの構成を説明するための説明図である。 CSEをもちいた完了判定動作を説明するための説明図である。 本実施例に係る命令リトライ検証方式に関連する装置の構成を示すブロック図である。 パリティ生成回路の構成を示すブロック図である。 完了対象エントリのTOQエントリのパリティチェックをおこなう回路の構成を示すブロック図である。 完了対象エントリのパリティチェックをおこなう回路の構成を示すブロック図である。 パリティチェック回路の構成を示すブロック図である。 図4に示した装置の通常時の処理手順を示すフローチャートである。 図4に示した装置の命令リトライ検証時の処理手順を示すフローチャートである。
符号の説明
100 命令フェッチアドレス生成器
101 ブランチヒストリ
102 1次命令フェッチキャッシュ
103 命令バッファ
104 命令デコーダ
105 アドレス生成リザベーションステーション(RSA)
106 整数演算リザベーションステーション(RSE)
107 浮動小数演算リザベーションステーション(RSF)
108 分岐リザベーションステーション(RSBR)
201 エントリ登録回路
202 パリティ生成回路
203 完了対象エントリ選択回路
204 完了判定回路
205 パリティチェック回路
206 命令リトライ機構
207 資源更新回路
208 JTAG機構
210 コミットスタックエントリ(CSE)
211 完了対象エントリ

Claims (5)

  1. 異常発生時に命令を再実行する命令リトライ機構と、アウトオブオーダで実行される命令に係る情報を本来のインオーダの順序で保持し、命令の完了順序を制御するコミットスタックエントリとを備えた情報処理装置であって、
    当該の情報処理装置の状態を通常動作のための通常状態もしくは動作検証のための検証状態に設定する状態設定手段と、
    前記コミットスタックエントリへ命令に係る情報を登録する際に、当該の情報処理装置が検証状態にある場合には、前記情報の内容を改竄し、パリティエラーが検出される状態で登録するエントリ登録手段と、
    前記コミットスタックエントリのエントリのうち当該のサイクルで命令が完了する可能性のあるエントリの完了判定とパリティチェックをおこない、いずれかのエントリにパリティエラーを検出した場合には前記命令リトライ機構に対して前記コミットスタックエントリに登録されている最も古い命令からの再実行を依頼する完了判定手段と
    を備えたことを特徴とする情報処理装置。
  2. 前記エントリ登録手段は、当該の情報処理装置が検証状態にある場合には、前記コミットスタックエントリへ登録するデータのパリティビットを反転させ、パリティエラーが検出される状態で登録することを特徴とする請求項1に記載の情報処理装置。
  3. 前記完了判定手段は、当該の情報処理装置が検証状態にあるときにパリティエラーを検出した場合、前記コミットスタックエントリに再実行の依頼をおこなうと前期命令リトライ機構によりプログラムが停止する命令が含まれていることを検出したならば、前記命令リトライ機構に対して命令の再実行の依頼をおこなわずに、パリティエラーがなかったものとして完了判定処理を継続することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記完了判定手段は、当該の情報処理装置が通常状態にあるときにパリティエラーを検出した場合、前記コミットスタックエントリに再実行の依頼をおこなうと前期命令リトライ機構によりプログラムが停止する命令が含まれていることを検出したならば、前記命令リトライ機構に対して命令の再実行の依頼をおこない、前記命令リトライ機構が命令リトライをおこなうか否かを判定することを特徴とする請求項3に記載の情報処理装置。
  5. 命令の実行中に異常が発覚した場合に実行中の命令を再実行する命令リトライ機構と、アウトオブオーダで実行される命令を本来のインオーダの順序で保持し、命令の完了順序を制御するコミットスタックエントリとを備えた情報処理装置における命令リトライ検証方法であって、
    前記コミットスタックエントリへ命令に係る情報を登録する際に、当該の情報処理装置が検証状態にある場合には、前記情報の内容を改竄し、パリティエラーが検出される状態で登録するエントリ登録工程と、
    当該の情報処理装置が検証状態にある場合には、前記コミットスタックエントリへパリティエラーとなるデータを登録するエントリ登録工程と、
    前記コミットスタックエントリのエントリのうち当該のサイクルで命令が完了する可能性のあるエントリの完了判定とパリティチェックをおこない、いずれかのエントリにパリティエラーを検出した場合には前記命令リトライ機構に対して前記コミットスタックエントリに登録されている最も古い命令からの再実行を依頼する完了判定工程と
    を含んだことを特徴とする命令リトライ検証方法。
JP2004222400A 2004-07-29 2004-07-29 命令リトライ検証機能付き情報処理装置および命令リトライ検証方法 Expired - Fee Related JP4486434B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004222400A JP4486434B2 (ja) 2004-07-29 2004-07-29 命令リトライ検証機能付き情報処理装置および命令リトライ検証方法
US10/986,152 US7383467B2 (en) 2004-07-29 2004-11-12 Information processing apparatus having command-retry verification function, and command retry method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004222400A JP4486434B2 (ja) 2004-07-29 2004-07-29 命令リトライ検証機能付き情報処理装置および命令リトライ検証方法

Publications (2)

Publication Number Publication Date
JP2006040174A true JP2006040174A (ja) 2006-02-09
JP4486434B2 JP4486434B2 (ja) 2010-06-23

Family

ID=35733791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004222400A Expired - Fee Related JP4486434B2 (ja) 2004-07-29 2004-07-29 命令リトライ検証機能付き情報処理装置および命令リトライ検証方法

Country Status (2)

Country Link
US (1) US7383467B2 (ja)
JP (1) JP4486434B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155845A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited 演算処理装置
JP2012198803A (ja) * 2011-03-22 2012-10-18 Fujitsu Ltd 演算処理装置及び演算処理方法
US8516303B2 (en) 2007-06-20 2013-08-20 Fujitsu Limited Arithmetic device for concurrently processing a plurality of threads

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053515A1 (en) * 2006-10-30 2008-05-08 Thomson Licensing Editing device and editing method using metadata

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01169640A (ja) * 1987-12-25 1989-07-04 Hitachi Ltd 情報処理装置の擬似障害発生方式
JPH08314721A (ja) * 1995-05-10 1996-11-29 Internatl Business Mach Corp <Ibm> スーパースカラまたはvliwプロセッサにおけるメモリ操作の順序替えのための方法及び装置
JP2001060153A (ja) * 1999-08-24 2001-03-06 Fujitsu Ltd 情報処理装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5235586B2 (ja) 1972-10-23 1977-09-09
JPS5733496A (en) 1980-08-01 1982-02-23 Nec Corp Data processor
JPS5839351A (ja) 1981-08-31 1983-03-08 Fujitsu Ltd 擬似障害発生回路
JPS5922147A (ja) 1982-07-28 1984-02-04 Fujitsu Ltd 再試行処理のチエツク方式
JPS626353A (ja) 1985-07-02 1987-01-13 Nippon Denki Kanji Syst Kk 記憶装置
JPS6292042A (ja) 1985-10-18 1987-04-27 Nec Corp 記憶装置
JPS6482140A (en) 1987-09-24 1989-03-28 Shikoku Nippon Denki Software Pseudo fault generating system
JPH05151104A (ja) 1991-11-29 1993-06-18 Toshiba Corp データ処理装置
US5321698A (en) * 1991-12-27 1994-06-14 Amdahl Corporation Method and apparatus for providing retry coverage in multi-process computer environment
US5386549A (en) * 1992-11-19 1995-01-31 Amdahl Corporation Error recovery system for recovering errors that occur in control store in a computer system employing pipeline architecture
US6201732B1 (en) * 1997-01-02 2001-03-13 John M. Caywood Low voltage single CMOS electrically erasable read-only memory
US6147903A (en) * 1997-12-12 2000-11-14 Matsushita Electronics Corporation Non-volatile semiconductor memory device and method for driving the same
US6247118B1 (en) * 1998-06-05 2001-06-12 Mcdonnell Douglas Corporation Systems and methods for transient error recovery in reduced instruction set computer processors via instruction retry
US6451652B1 (en) * 1999-09-15 2002-09-17 The John Millard And Pamela Ann Caywood 1989 Revocable Living Trust Method for forming an EEPROM cell together with transistor for peripheral circuits
US6198658B1 (en) * 1999-10-08 2001-03-06 Hyundai Electronics America, Inc. High density flash memory architecture with columnar substrate coding
JP3775963B2 (ja) * 2000-02-02 2006-05-17 シャープ株式会社 不揮発性半導体メモリ装置の消去方式
US6438030B1 (en) * 2000-08-15 2002-08-20 Motorola, Inc. Non-volatile memory, method of manufacture, and method of programming
US6606265B2 (en) * 2000-10-30 2003-08-12 Virtual Silicon Technology, Inc. Common source EEPROM and flash memory
JP3808013B2 (ja) * 2002-07-05 2006-08-09 富士通株式会社 命令実行装置
US6649453B1 (en) * 2002-08-29 2003-11-18 Micron Technology, Inc. Contactless uniform-tunneling separate p-well (CUSP) non-volatile memory array architecture, fabrication and operation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01169640A (ja) * 1987-12-25 1989-07-04 Hitachi Ltd 情報処理装置の擬似障害発生方式
JPH08314721A (ja) * 1995-05-10 1996-11-29 Internatl Business Mach Corp <Ibm> スーパースカラまたはvliwプロセッサにおけるメモリ操作の順序替えのための方法及び装置
JP2001060153A (ja) * 1999-08-24 2001-03-06 Fujitsu Ltd 情報処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155845A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited 演算処理装置
US8001362B2 (en) 2007-06-20 2011-08-16 Fujitsu Limited Processing unit
JP5136553B2 (ja) * 2007-06-20 2013-02-06 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US8516303B2 (en) 2007-06-20 2013-08-20 Fujitsu Limited Arithmetic device for concurrently processing a plurality of threads
JP2012198803A (ja) * 2011-03-22 2012-10-18 Fujitsu Ltd 演算処理装置及び演算処理方法

Also Published As

Publication number Publication date
US7383467B2 (en) 2008-06-03
JP4486434B2 (ja) 2010-06-23
US20060026461A1 (en) 2006-02-02

Similar Documents

Publication Publication Date Title
US6772368B2 (en) Multiprocessor with pair-wise high reliability mode, and method therefore
EP2159709B1 (en) Error correcting method and computing element
US9052909B2 (en) Recovering from exceptions and timing errors
US20080301420A1 (en) Branch prediction control device having return address stack and method of branch prediction
US20080148022A1 (en) Marking registers as available for register renaming
JP2012198803A (ja) 演算処理装置及び演算処理方法
US9740557B2 (en) Pipelined ECC-protected memory access
CN114730294A (zh) 用于执行存储到加载转发的技术
CN106663471B (zh) 用于反向存储器备份的方法和装置
US9928128B2 (en) In-pipe error scrubbing within a processor core
US9594648B2 (en) Controlling non-redundant execution in a redundant multithreading (RMT) processor
US7376820B2 (en) Information processing unit, and exception processing method for specific application-purpose operation instruction
US20080244244A1 (en) Parallel instruction processing and operand integrity verification
KR20190020036A (ko) 레지스터 복구 분기 명령
JP4486434B2 (ja) 命令リトライ検証機能付き情報処理装置および命令リトライ検証方法
JP7124670B2 (ja) 演算処理装置及び演算処理装置の制御方法
JP5099132B2 (ja) 複数のスレッドを同時に処理する演算装置
JP5215655B2 (ja) データ処理装置及びデータ処理装置におけるバスアクセス制御方法
JP7403541B2 (ja) メモリ順序付け違反チェックバッファの排出遅延を許容するための投機的命令ウェイクアップ
JP2013210853A (ja) 情報処理装置、同期処理実行管理方法、及びプログラム
JP6726136B2 (ja) データアクセス装置及びアクセスエラーの通知方法
JP2894438B2 (ja) パイプライン処理装置
US11188334B2 (en) Obsoleting values stored in registers in a processor based on processing obsolescent register-encoded instructions
US20220012179A1 (en) Cache control apparatus and cache system control method
JP3933679B2 (ja) 命令処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061218

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: 20100323

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100326

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees