JP2007188379A - エラー訂正方法 - Google Patents

エラー訂正方法 Download PDF

Info

Publication number
JP2007188379A
JP2007188379A JP2006006921A JP2006006921A JP2007188379A JP 2007188379 A JP2007188379 A JP 2007188379A JP 2006006921 A JP2006006921 A JP 2006006921A JP 2006006921 A JP2006006921 A JP 2006006921A JP 2007188379 A JP2007188379 A JP 2007188379A
Authority
JP
Japan
Prior art keywords
instruction
error
cpu
correction method
write
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
JP2006006921A
Other languages
English (en)
Other versions
JP5129450B2 (ja
Inventor
Teppei Hirotsu
鉄平 広津
Hiromichi Yamada
弘道 山田
Teruaki Sakata
輝昭 酒田
Kesami Hagiwara
今朝巳 萩原
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2006006921A priority Critical patent/JP5129450B2/ja
Priority to US11/623,441 priority patent/US8095825B2/en
Publication of JP2007188379A publication Critical patent/JP2007188379A/ja
Application granted granted Critical
Publication of JP5129450B2 publication Critical patent/JP5129450B2/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/1407Checkpointing the instruction stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Advance Control (AREA)

Abstract

【課題】簡素、かつ、訂正可能な範囲が広い、リトライを用いたCPUのエラー訂正方法を提供する。
【解決手段】パイプライン動作を行うCPUにおいて、エラーを検出すると、このエラー以前の正しく実行された「命令N」の実行完了状態を保持する遅延レジスタファイル2007よりレジスタファイルの内容を復帰し、「命令N」の次命令である「命令N+1」から命令を再実行するリトライ制御を行うエラー訂正方法であって、CPU内にある任意のフリップフロップのパリティーチェック結果を集約してエラーを検出する。これにより、エラーにより誤動作する可能性がある命令範囲より以前の命令実行完了状態に復帰させ、エラーにより誤動作した可能性がある命令範囲の先頭から命令をリトライする。
【選択図】図2

Description

本発明は、リトライ制御を行うエラー訂正技術に関し、特に、パイプライン動作を行うCPUにおいて、命令リトライによるCPUのエラー訂正方法に適用して有効な技術に関する。
例えば、CPUは宇宙線等の影響で、フリップフロップ等の記憶素子のビットデータが一時的に反転するエラーにより誤動作することがある。このエラーを訂正するために、エラーを検出すると、このエラー以前の正しく実行された「命令N」の実行完了状態を保持する遅延レジスタファイルよりレジスタファイルの内容を復帰し、「命令N」の次命令「命令N+1」から命令を再実行するリトライ制御が行われる。
例えば、特許文献1には、エラーを含む不当命令を検出すると、不当命令の前の命令からリトライする方式が開示されている。
特開2004−62309号公報
ところで、前記特許文献1に開示されている技術では、エラーの検出範囲が命令読み込み部に限定され、CPUの他の部分でエラーが発生した場合、これをリトライにより訂正することが出来ない問題がある。また、CPUのエラーがリトライの制御部に伝播した場合、リトライ処理自体が誤動作する問題もある。さらに、CPUのエラーにより、内蔵RAMやDMAコントローラ等の周辺モジュール制御レジスタに誤った値が書き込まれた場合、リトライによる訂正が不可能になる問題や、周辺モジュールが誤動作する問題がある。
そこで、本発明の目的は、これらの問題を解決し、簡素、かつ、訂正可能な範囲が広い、リトライを用いたCPUのエラー訂正方法を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明は、パイプライン動作を行うCPUにおいて、エラーを検出すると、このエラー以前の正しく実行された「命令N」の実行完了状態を保持する遅延レジスタファイルよりレジスタファイルの内容を復帰し、「命令N」の次命令である「命令N+1」から命令を再実行するリトライ制御を行うエラー訂正方法に適用され、以下のような特徴を有するものである。
(1)CPU内にある任意のフリップフロップのパリティーチェック結果を集約してエラーを検出することを特徴とする。さらに、「命令N+1」は、エラーが発生したタイミングにて実行中である少なくとも一つ以上の命令の内で最初にCPUに解読された命令であることを特徴とする。
(2)リトライ制御を行うリトライ制御部へ入力するCPU信号は、CPU信号をエラー検出信号のレイテンシ分遅延させたものをエラー検出信号で無効化し、エラー検出信号の出力ディレイはCPU信号の出力ディレイの最小値以下になるようにディレイが調整されていることを特徴とする。
(3)エラー発生以降の命令実行に伴うCPUバスライトにエラーがある場合、それを検出して取り消すことを特徴とする。さらに、CPUバスライトまでに、そのCPUバスライトを伴う命令のソースオペランドが遅延レジスタファイルに反映されるように、ソースオペランドの内容を生成する命令をCPUバスライトを伴う命令の前に配置し、遅延レジスタファイルの読み出し値を用いてCPUバスライトのエラーを検出し、それを取り消すことを特徴とする。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明によれば、前記課題を解決するための手段(1)(2)(3)に対応して、それぞれ以下の(1)(2)(3)のような効果を得ることができる。
(1)簡素な制御で、CPU内の任意のエラーを検出し、レジスタの内容をエラーにより誤動作する可能性がある命令範囲より以前の命令実行完了状態に復帰させ、エラーにより誤動作した可能性がある命令範囲の先頭から命令をリトライすることが可能となる。
(2)CPUのエラーがリトライ制御部に伝播し、リトライが誤動作することを抑止することができる。
(3)簡素な制御で、CPUのエラーによるCPUバス上の誤ったライトを抑止することができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
まず、図1により、本発明の一実施の形態である、エラー訂正機能を有する情報処理装置の一例を説明する。図1は、エラー訂正機能を有する情報処理装置を示す全体図である。
本実施の形態の情報処理装置は、パイプライン動作を行うCPU(1)と、リトライ制御を行うリトライ制御部(2)と、CPUバスターゲットモジュール(11)等から構成され、これらはCPUバス(9)を介して相互に接続されている。
CPU(1)は、CPUバス(9)を介して命令のリード、およびデータのリード、ライトを行い、プログラムを実行する。なお、本実施の形態におけるCPU(1)は、命令を読み込むIFステージ、命令を解読するDステージ、命令の実行、およびCPUバス上にアドレス出力を行うEXステージ、CPUバスへのライトデータ出力、およびCPUバスからのリードデータ入力を行うMAステージ、命令実行結果をレジスタへ書き戻すWBステージの5段パイプライン処理を行う。
リトライ制御部(2)は、CPU内のエラー発生を示すエラー検出(3)、IFステージにある命令のアドレスを示すPC(4)、IFステージにある命令の命令コード(5)、WBステージで書き戻し対象となるレジスタを指定するライト制御(6)、WBステージでレジスタに書き戻すライトデータ(7)、リトライ例外ルーチンへの分岐を要求するためのリトライ例外(8)をCPU(1)から入出力し、CPUバスライトを取り消すためのライトキャンセル(10)をCPUバス(9)に繋がるCPUバスターゲットモジュール(11)へ出力し、リトライ制御、およびCPUバスライトのキャンセルを行う。
特に、この情報処理装置では、詳細は後述するが、CPU(1)において、エラーを検出すると、このエラー以前の正しく実行された「命令N」の実行完了状態を保持する遅延レジスタファイルよりレジスタファイルの内容を復帰し、「命令N」の次命令である「命令N+1」から命令を再実行するリトライ制御を行うエラー訂正機能を有する。
続いて、図2により、リトライ制御部(2)の詳細を説明する。図2は、リトライ制御部(2)を示す詳細図である。
リトライ制御部(2)は、エラーマスク回路(2001)、リトライステートマシン(2002)、命令キュー(2003)、ライトキュー(2004)、CPUバスエラー検出器(2006)、遅延レジスタファイル(2007)、CPUバスIF(2008)等から構成される。
エラーマスク回路(2001)は、命令コード(5)、PC(4)、ライト制御(6)、ライトデータ(7)のエラーをエラー検出(3)を用いてマスクし、命令コード1(2010)、PC1(2011)、ライト制御1(2014)、ライトデータ1(2015)にそれぞれ出力する。
命令キュー(2003)は、命令コード1(2010)を遅延させ、命令コード2(2012)、命令コード3(2022)を出力する。また、命令キュー(2003)は、PC1(2011)を遅延させ、PC2(2013)を出力する。
ライトキュー(2004)は、ライト制御1(2014)、ライトデータ1(2015)を遅延させ、ライト制御2(2016)、ライトデータ2(2017)にそれぞれ出力する。
CPUバスエラー検出器(2006)は、命令コード2(2012)を解読し、リード制御1(2018)を用いて遅延レジスタファイル(2007)の内容をリードデータ1(2019)より読み出し、その読み出した内容と、CPUバス(9)に出力されるアドレス、およびデータとを比較して、不一致がある場合、ライトキャンセル(10)をアサートする。
遅延レジスタファイル(2007)は、CPUの汎用レジスタや制御レジスタ、フラグレジスタ等を含むレジスタファイルのレプリカであり、リトライに備え、過去のレジスタファイルの内容を保持する。遅延レジスタファイル(2007)へは、ライト制御2(2016)が示すレジスタに、ライトデータ2(2017)のデータがライトされる。また、遅延レジスタファイル(2007)からは、リード制御1(2018)が示すレジスタの内容がリードデータ1(2019)に、リード制御2(2020)が示すレジスタの内容がリードデータ1(2021)にそれぞれ読み出される。
リトライステートマシン(2002)は、リトライ制御に必要なステートを保持し、各ステート間の遷移は、エラー検出(3)、命令コード3(2022)によって決定される。また、リトライステートマシンのステートに対応して、リトライ例外(8)がアサートされる。
命令キュー(2003)、遅延レジスタファイル(2007)は、特定のアドレスにマッピングされ、CPUバス(9)とCPUバスIF(2008)を介してCPUからアクセス出来る。命令キュー(2003)からはPC2(2013)を、遅延レジスタファイル(2007)からは任意のレジスタの内容を読み出すことが出来る。
続いて、図3により、CPU(1)の出力部とエラーマスク回路(2001)の詳細を説明する。図3は、CPU(1)の出力部とエラーマスク回路(2001)を示す詳細図である。
CPU(1)の出力部は、FF(3001〜3005)、組み合わせ回路CL1〜4(3021〜3024)、パリティーチェック回路PCK(3025)、FF(3026)等から構成される。また、エラーマスク回路(2001)は、FF(3031〜3034)、マスク論理M1〜4(3051〜3054)等から構成される。CPU(1)の出力部から、PC(4)、命令コード(5)、ライト制御(6)、ライトデータ(7)、エラー検出(3)がエラーマスク回路(2001)に入力される。
CPU(1)の出力部において、FF(3001)、FF(3002)、FF(3003)、FF(3004)からそれぞれ出力された信号1(3011)、信号2(3012)、信号3(3013)、信号4(3014)は、それぞれ、組み合わせ回路CL1(3021)、CL2(3022)、CL3(3023)、CL4(3024)を経由して、それぞれ、PC(4)、命令コード(5)、ライト制御(6)、ライトデータ(7)となる。
パリティーチェック回路PCK(3025)は、FF(3001)、FF(3002)、FF(3003)、FF(3004)、およびCPU内の任意のFF(3005)の出力である信号1(3011)、信号2(3012)、信号3(3013)、信号4(3014)、信号n(3015)をそれぞれ入力し、各信号のパリティーチェック結果(1:エラー有り、0:エラー無し)を論理和により集約したものをエラー検出0(2027)に出力する。この構成より、エラー検出0(2027)は、CPU内の任意のFFのどれかにひとつでもエラーが発生した時に1になる。FF(3026)は、エラー検出0(2027)を入力し、エラー検出(3)を出力する。
ここで、CL1(3021)、CL2(3022)、CL3(3023)、CL4(3024)のディレイの最小値をDCL_MIN、PCK(3025)のディレイをDPCKとすると、DPCKはDCL_MIN以下となるように、ディレイが調整されている。
エラーマスク回路(2001)において、FF(3031)、FF(3032)、FF(3033)、FF(3034)は、それぞれ、PC(4)、命令コード(5)、ライト制御(6)、ライトデータ(7)を入力し、それぞれ、PC0(3041)、命令コード0(3042)、ライト制御0(3043)、ライトデータ0(3044)を出力する。PC0(3041)、命令コード0(3042)、ライト制御0(3043)、ライトデータ0(3044)は、それぞれ、マスク論理M1(3051)、M2(3052)、M3(3053)、M4(3054)を経由して、PC1(2011)、命令コード1(2010)、ライト制御1(2014)、ライトデータ1(2015)となる。
マスク論理M1(3051)、M2(3052)、M3(3053)、M4(3054)は、エラー検出(3)が1の時、PC1(2011)、命令コード1(2010)、ライト制御1(2014)、ライトデータ1(2015)をそれぞれ無効な値にする。例えば、命令コード1(2010)は、エラー検出(3)が1の時、何も処理を行わないNOP(No Operetion)命令に対応するコードに変換される。
以上の構成にて、CPU(1)からリトライ制御部(2)へのエラー伝播を抑止し、リトライ制御部(2)の誤動作を防ぐことが出来る。
続いて、図4および図5により、図3の構成において、DPCKがDCL_MIN以下となる条件を満たす場合と、満たさない場合の動作例を説明する。図4は、参考のために、DPCKがDCL_MIN以下となる条件を満たさない場合の動作例を示すタイミングチャートである。図5は、DPCKがDCL_MIN以下となる条件を満たす場合の動作例を示すタイミングチャートである。ここでは、CL2(3022)のディレイが最小となる場合を示す。
図4(参考)において、サイクル1にてFF(3002)にエラーが発生すると(エラーが発生している状態をハッチングで示す)、そのエラーは、信号2(3012)、命令コード(5)を経由して、命令コード0(3042)に伝播する。ここで、エラー検出(3)を用いて、命令コード0(3042)のエラーをマスクし、無効化したものを命令コード1(2010)に出力するが、DPCKはDCL_MIN以下でないため、エラー検出(3)アサートがサイクル3になる場合があり、その時は、サイクル2にて命令コード1(2010)にエラーが伝播する。
図5において、サイクル1にてFF(3002)にエラーが発生すると、そのエラーは、信号2(3012)、命令コード(5)を経由して、命令コード0(3042)に伝播する。ここで、エラー検出(3)を用いて、命令コード0(3042)のエラーをマスクし、無効化したものを命令コード1(2010)に出力するが、DPCKはDCL_MIN以下の場合、エラー検出(3)アサートタイミングが命令コード0(3042)にエラーが伝播するタイミングと一致することが保証され、その結果、サイクル2−3における命令コード1(2010)へのエラー伝播を抑止することが出来る。
続いて、図6により、リトライステートマシン(2002)のステート遷移を説明する。図6は、リトライステートマシン(2002)のステート遷移を示す図である。
リトライステートマシン(2002)は、CPUが通常の命令を実行中であること示すNORMALステート(6001)、CPUがリトライ例外ルーチン処理中であることを示すRETRYステート(6002)の2ステートからなる。リトライステートマシンの出力であるリトライ例外(8)は、NORMALステート(6001)では“0”、RETRYステート(6002)では“1”となる。
各ステート間の遷移条件は、エラー検出(3)=1の時、NORMALステート(6001)から、RETRYステート(6002)へ遷移し、命令コード3(2022)がRTE命令(例外ルーチンからの復帰命令)の時、RETRYステート(6002)からNORMALステート(6001)へ遷移する。なお、リトライステートマシン(2002)の初期ステートはNORMALステート(6001)とする。
続いて、図7により、命令キュー(2003)の詳細を説明する。図7は、命令キュー(2003)を示す詳細図である。
命令キュー(2003)は、1段のFIFO(7001,7002)、4段のFIFO(7003)等から構成される。
命令コード1(2010)は1段のFIFO(7001)によって遅延され、命令コード2(2012)に出力される。また、命令コード1(2010)は1段のFIFO(7002)によって遅延され、リトライステートマシン(2002)のステート遷移用の命令コード3(2022)に出力される。また、PC1(2011)は4段のFIFO(7003)によって遅延され、PC2(2013)に出力される。FIFO(7001)、FIFO(7003)はリトライ例外(8)のアサートによって更新が抑止され、ネゲートによって全ての内容がクリアされる。
続いて、図8により、ライトキュー(2004)の詳細を説明する。図8は、ライトキュー(2004)を示す詳細図である。
ライトキュー(2004)は、1段のFIFO(8001,8002)等から構成される。
ライト制御1(2014)、ライトデータ1(2015)はそれぞれ1段のFIFO(8001)、FIFO(8002)によって遅延され、ライト制御2(2016)、ライトデータ2(2017)にそれぞれ出力される。FIFO(8001)、FIFO(8002)はリトライ例外(8)のアサートによって内容が無効化される。
続いて、図9により、CPUバスエラー検出器(2006)の詳細を説明する。図9は、CPUバスエラー検出器(2006)を示す詳細図である。
CPUバスエラー検出器(2006)は、命令デコーダ(9001)、FF(9002)、比較器a,b(9003,9004)等から構成される。
命令デコーダ(9001)は、命令コード2(2012)を解読して、CPUバスへライトを発生する命令かどうかを判定する。さらに、命令デコーダ(9001)は、命令コード2(2012)を解読した結果、CPUバスへのライトを発生する命令であった場合は、ライト先アドレスを格納する汎用レジスタ番号をリード制御1a(2018a)に、ライトデータを格納するレジスタ番号をリード制御1b0(9005)に出力する。リード制御1b0(9005)はFF(9002)によって遅延され、リード制御1b(2018b)に出力される。なお、図2では、リード制御1a(2018a)とリード制御1b(2018b)を集約して、リード制御1(2018)と表記している。
遅延レジスタファイル(2007)から、リード制御1a(2018a)が示すレジスタの内容がリードデータ1a(2019a)に読み出され、比較器a(9003)によって、CPUバス(アドレス)(9a)と比較される。比較の結果、不一致があった場合、ライトキャンセルa(10a)がアサートされる。
同様に、遅延レジスタファイル(2007)から、リード制御1b(2018b)が示すレジスタの内容がリードデータ1b(2019b)に読み出され、比較器b(9004)によって、CPUバス(データ)(9b)と比較される。比較の結果、不一致があった場合、ライトキャンセルb(10b)がアサートされる。
なお、図2では、リードデータ1a(2019a)とリードデータ1b(2019b)を集約して、リードデータ1(2019)と表記している。また、ライトキャンセルa(10a)とライトキャンセルb(10b)を集約してライトキャンセル(10)と表記している。
続いて、図10により、リトライ例外ルーチンのフローを説明する。図10は、リトライ例外ルーチンを示すフローチャートである。
最初に、ステップ(1001)にて、PC2を読み出し、スタックにプッシュする。次に、ステップ(1002)にて遅延レジスタファイルの内容をCPU内レジスタファイルに転送する。最後に、ステップ(1003)にてRTE命令にて例外処理から復帰する。ステップ(1001)にて、PC2をスタックにプッシュしていることから、RTE命令による戻り先はPC2が示すアドレスとなる。
続いて、図11により、本実施の形態におけるリトライ動作例を説明する。図11は、リトライ動作例を示すタイミングチャートである。図11の上段にCPUのパイプライン、下段にリトライ制御部の信号、および状態を示す。
まず、サイクル1〜6まで正常に命令が進み、命令コード、命令コード1、命令コード3、PC、PC1、PC2、ライト制御、ライト制御1、ライト制御2、ライトデータ、ライトデータ1、ライトデータ2、遅延レジスタファイルの各内容が更新されていく。
なお、図11中、これらの信号、および状態の表記は、命令番号に対応させている。命令コード、命令コード1、命令コード3では、“1”は命令1の命令コードを示している。また、PC、PC1、PC2では、“1”は命令1に対応したPC、すなわち命令1のアドレスを示している。また、ライト制御、ライト制御1、ライト制御2では、“1”は命令1のライトバック対象のレジスタ番号を示している。また、ライトデータ、ライトデータ1、ライトデータ2では、“1”は命令のレジスタへのライトバックデータを示す。また、遅延レジスタファイルでは、“1”は命令1の実行完了後のレジスタ内容が格納されていることを示す。
次に、サイクル7にて、CPUのあるFFにエラーが発生する。ここで、エラーにより誤動作の可能性があるパイプラインステージをハッチングで示している。
次に、サイクル8にて、エラー検出がアサートされる。同サイクルで、リトライステートが“NORMAL”から“RETRY”に遷移し、これに対応して、リトライ例外がアサートされる。また、CPUはリトライ例外のアサートを受け、命令7を中止し、リトライ例外ルーチンへと分岐する。なお、本実施の形態におけるCPUは、リトライ例外がアサートされた時にパイプラインのDステージにある命令を中止し、例外ルーチンに分岐する。さらに、リトライ例外は最優先例外とし、リトライ例外処理中は、リトライ例外を含むすべての例外を受け付けない。
次に、サイクルmよりリトライ例外ルーチンが開始され、図10にて説明した処理を実行する。リトライ例外ルーチンでは、PC2から命令3のアドレスを読み出し、それをスタックにプッシュし、CPU内レジスタファイルには、遅延レジスタファイルに格納されている命令2の実行完了状態の内容が転送される。
次に、サイクルnにて、例外処理ルーチンから復帰する命令であるRTE命令が読み出される。続くサイクルn+2にて、命令コード3にRTEの命令コードが出力され、リトライステートが“RETRY”から“NORMAL”に遷移する。
次に、RTE命令の実行を受け、サイクルlより、命令3から命令を再実行する。
以上に説明した通り、本実施の形態により、簡素な制御で、CPU内の任意のエラーを検出し、レジスタの内容をエラーにより誤動作する可能性がある命令範囲より以前の命令実行完了状態に復帰させ、エラーにより誤動作した可能性がある命令範囲の先頭から命令をリトライすることが出来る。
続いて、図12により、本実施の形態における誤ったCPUバスライトを抑止する動作例を説明する。図12は、誤ったCPUバスライトを抑止する動作例を示すタイミングチャートである。図12の上段にCPUのパイプライン、下段にリトライ制御部の信号、および状態を示す。
なお、図12中の命令コード、命令コード1、命令コード2、ライト制御、ライト制御1、ライト制御2、ライトデータ、ライトデータ1、ライトデータ2、遅延レジスタファイルの表記は図11と同様とする。また、図12中のリード制御1a、リード制御1b、リードデータ1a、リードデータ1b、CPUバス(アドレス)、CPUバス(データ)の表記は、対応する汎用レジスタの内容が出力されていることを示す。
ここでは、命令6のCPUバスライト命令“MOV R4、@R2”の誤りを抑止する例を示す。なお、“MOV R4、@R2”は汎用レジスタR2が示すアドレスに、汎用レジスタR4の値をライトする命令である。本実施の形態による誤ったCPUバスライトを抑止する機能を使用するために、命令6のソースオペランドであるR2、R4の内容を、命令1、命令2にてそれぞれ生成しておく。
まず、サイクル1〜7まで命令が進み、命令コード、命令コード1、命令コード2、ライト制御、ライト制御1、ライト制御2、ライトデータ、ライトデータ1、ライトデータ2、遅延レジスタファイルの各内容が更新される。
次に、サイクル8にて命令6実行により誤ったライトアドレスが出力される。ここで、命令6の5命令前の命令1にてR2の内容を生成していることから、遅延レジスタファイルは命令1の実行完了状態を保持しており、遅延レジスタファイルからR2の内容を読み出すことが出来る。図9で説明したCPUバスエラー検出器(2006)は、読み出したR2の内容とCPUバス(アドレス)の内容との不一致を検出し、ライトキャンセルaをアサートする。
次に、サイクル9にて命令6実行により誤ったライトデータが出力される。ここで、命令6の4命令前の命令2にてR4の内容を生成していることから、遅延レジスタファイルは命令2の実行完了状態を保持しており、遅延レジスタファイルからR4の内容を読み出すことが出来る。図9で説明したCPUバスエラー検出器(2006)は、読み出したR4の内容とCPUバス(データ)の内容との不一致を検出し、ライトキャンセルbをアサートする。
内蔵RAM等のCPUバスターゲットモジュール(11)は、ライトキャンセルがアサートされた場合、そのライトを抑止する機能が必要である。上記説明の動作の通り、CPUバスに誤ったアドレス、およびデータが出力されるタイミングで、そのキャンセルがアサートされることから、CPUバスターゲットモジュール(11)において、このキャンセル信号を用いたライト抑止は簡素な制御で実装可能である。
以上に説明した通り、本実施の形態により、簡素な制御で、CPUのエラーによるCPUバス上の誤ったライトを抑止することが出来る。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、リトライ制御を行うエラー訂正技術に関し、特に、パイプライン動作を行うCPUにおいて、命令リトライによるCPUのエラー訂正方法に適用して有効である。
本発明の一実施の形態である、エラー訂正機能を有する情報処理装置を示す全体図である。 本発明の一実施の形態において、リトライ制御部を示す詳細図である。 本発明の一実施の形態において、CPUの出力部とエラーマスク回路を示す詳細図である。 本発明の一実施の形態において、参考のために、DPCKがDCL_MIN以下となる条件を満たさない場合の動作例を示すタイミングチャートである。 本発明の一実施の形態において、DPCKがDCL_MIN以下となる条件を満たす場合の動作例を示すタイミングチャートである。 本発明の一実施の形態において、リトライステートマシンのステート遷移を示す図である。 本発明の一実施の形態において、命令キューを示す詳細図である。 本発明の一実施の形態において、ライトキューを示す詳細図である。 本発明の一実施の形態において、CPUバスエラー検出器を示す詳細図である。 本発明の一実施の形態において、リトライ例外ルーチンを示すフローチャートである。 本発明の一実施の形態において、リトライ動作例を示すタイミングチャートである。 本発明の一実施の形態において、誤ったCPUバスライトを抑止する動作例を示すタイミングチャートである。
符号の説明
1…CPU、2…リトライ制御部、3…エラー検出、4…PC、5…命令コード、6…ライト制御、7…ライトデータ、8…リトライ例外、9…CPUバス、10…ライトキャンセル、11…CPUバスターゲットモジュール、2001…エラーマスク回路、2002…リトライステートマシン、2003…命令キュー、2004…ライトキュー、2006…CPUバスエラー検出器、2007…遅延レジスタファイル、2008…CPUバスIF、3001〜3005…FF、3021〜3024…組み合わせ回路(CL1〜4)、3025…パリティーチェック回路(PCK)、3026…FF、3031〜3034…FF、3051〜3054…マスク論理(M1〜4)、7001〜7003…FIFO、8001,8002…FIFO、9001…命令デコーダ、9002…FF、9003,9004…比較器a,b。

Claims (5)

  1. パイプライン動作を行うCPUにおいて、エラーを検出すると、このエラー以前の正しく実行された「命令N」の実行完了状態を保持する遅延レジスタファイルよりレジスタファイルの内容を復帰し、前記「命令N」の次命令である「命令N+1」から命令を再実行するリトライ制御を行うエラー訂正方法であって、
    前記CPU内にある任意のフリップフロップのパリティーチェック結果を集約して前記エラーを検出すること、を特徴とするエラー訂正方法。
  2. 請求項1に記載のエラー訂正方法において、
    前記「命令N+1」は、前記エラーが発生したタイミングにて実行中である少なくとも一つ以上の命令の内で最初に前記CPUに解読された命令であること、を特徴とするエラー訂正方法。
  3. 請求項1に記載のエラー訂正方法において、
    前記リトライ制御を行うリトライ制御部へ入力するCPU信号は、前記CPU信号をエラー検出信号のレイテンシ分遅延させたものをエラー検出信号で無効化し、
    前記エラー検出信号の出力ディレイは前記CPU信号の出力ディレイの最小値以下になるようにディレイが調整されていること、を特徴とするエラー訂正方法。
  4. パイプライン動作を行うCPUにおいて、エラーを検出すると、このエラー以前の正しく実行された「命令N」の実行完了状態を保持する遅延レジスタファイルよりレジスタファイルの内容を復帰し、前記「命令N」の次命令である「命令N+1」から命令を再実行するリトライ制御を行うエラー訂正方法であって、
    前記エラー発生以降の命令実行に伴うCPUバスライトにエラーがある場合、それを検出して取り消すこと、を特徴とするエラー訂正方法。
  5. 請求項4に記載のエラー訂正方法において、
    前記CPUバスライトまでに、そのCPUバスライトを伴う命令のソースオペランドが前記遅延レジスタファイルに反映されるように、前記ソースオペランドの内容を生成する命令を前記CPUバスライトを伴う命令の前に配置し、
    前記遅延レジスタファイルの読み出し値を用いて前記CPUバスライトのエラーを検出し、それを取り消すこと、を特徴とするエラー訂正方法。
JP2006006921A 2006-01-16 2006-01-16 情報処理装置 Expired - Fee Related JP5129450B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006006921A JP5129450B2 (ja) 2006-01-16 2006-01-16 情報処理装置
US11/623,441 US8095825B2 (en) 2006-01-16 2007-01-16 Error correction method with instruction level rollback

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006006921A JP5129450B2 (ja) 2006-01-16 2006-01-16 情報処理装置

Publications (2)

Publication Number Publication Date
JP2007188379A true JP2007188379A (ja) 2007-07-26
JP5129450B2 JP5129450B2 (ja) 2013-01-30

Family

ID=38323570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006006921A Expired - Fee Related JP5129450B2 (ja) 2006-01-16 2006-01-16 情報処理装置

Country Status (2)

Country Link
US (1) US8095825B2 (ja)
JP (1) JP5129450B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169515A (ja) * 2008-01-11 2009-07-30 Denso Corp コンピュータシステム及びシステム回復装置
JP2011044114A (ja) * 2009-08-24 2011-03-03 Nec Corp マイクロプロセッサ及びマイクロプロセッサのデバッグ方法

Families Citing this family (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996716B2 (en) * 2008-06-12 2011-08-09 International Business Machines Corporation Containment and recovery of software exceptions in interacting, replicated-state-machine-based fault-tolerant components
US8364844B2 (en) * 2009-11-13 2013-01-29 International Business Machines Corporation Deadlock-free class routes for collective communications embedded in a multi-dimensional torus network
JP5373659B2 (ja) * 2010-02-18 2013-12-18 株式会社日立製作所 電子機器
FR2977340B1 (fr) * 2011-06-28 2013-07-12 St Microelectronics Rousset Procede de traitement de defaillances dans un microcontroleur
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
WO2016126474A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for parallel writing to multiple memory device locations
WO2016126478A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for memory device as a store for program instructions
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
CN107408408B (zh) 2015-03-10 2021-03-05 美光科技公司 用于移位决定的装置及方法
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
EP3268965A4 (en) 2015-03-12 2018-10-03 Micron Technology, INC. Apparatuses and methods for data movement
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
CN207637499U (zh) 2016-11-08 2018-07-20 美光科技公司 用于形成在存储器单元阵列上方的计算组件的设备
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US11409597B2 (en) 2017-10-03 2022-08-09 Nvidia Corp. System and methods for hardware-software cooperative pipeline error detection
US10621022B2 (en) 2017-10-03 2020-04-14 Nvidia Corp. System and methods for hardware-software cooperative pipeline error detection
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58121457A (ja) * 1982-01-14 1983-07-19 Nec Corp 情報処理装置
JPS59174952A (ja) * 1983-03-24 1984-10-03 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン パリテイエラ−回復方法
JPH06161797A (ja) * 1992-11-24 1994-06-10 Mitsubishi Electric Corp データ処理装置
JPH06195235A (ja) * 1992-12-22 1994-07-15 Hitachi Ltd 制御装置およびプロセッサ
JPH11327940A (ja) * 1998-05-20 1999-11-30 Hitachi Ltd 命令再実行制御方式

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
US4253183A (en) * 1979-05-02 1981-02-24 Ncr Corporation Method and apparatus for diagnosing faults in a processor having a pipeline architecture
JPS6226580A (ja) * 1985-07-29 1987-02-04 Hitachi Ltd 障害処理方式
US5321698A (en) * 1991-12-27 1994-06-14 Amdahl Corporation Method and apparatus for providing retry coverage in multi-process computer environment
US6625756B1 (en) * 1997-12-19 2003-09-23 Intel Corporation Replay mechanism for soft error recovery
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
US7100027B1 (en) * 1999-12-13 2006-08-29 Intel Corporation System and method for reproducing system executions using a replay handler
US6718494B1 (en) * 2000-12-22 2004-04-06 Intel Corporation Method and apparatus for preventing and recovering from TLB corruption by soft error
US7085955B2 (en) * 2001-09-14 2006-08-01 Hewlett-Packard Development Company, L.P. Checkpointing with a write back controller
JP2004062309A (ja) 2002-07-25 2004-02-26 Fujitsu Ltd 不当命令処理方法及びプロセッサ
EP1604281B1 (en) * 2003-03-20 2006-08-09 ARM Limited Systematic and random error detection and recovery within processing stages of an integrated circuit
US7308607B2 (en) * 2003-08-29 2007-12-11 Intel Corporation Periodic checkpointing in a redundantly multi-threaded architecture
US7478276B2 (en) * 2005-02-10 2009-01-13 International Business Machines Corporation Method for checkpointing instruction groups with out-of-order floating point instructions in a multi-threaded processor
US7409589B2 (en) * 2005-05-27 2008-08-05 International Business Machines Corporation Method and apparatus for reducing number of cycles required to checkpoint instructions in a multi-threaded processor
US7831882B2 (en) * 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US7607042B2 (en) * 2005-08-29 2009-10-20 Searete, Llc Adjusting a processor operating parameter based on a performance criterion

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58121457A (ja) * 1982-01-14 1983-07-19 Nec Corp 情報処理装置
JPS59174952A (ja) * 1983-03-24 1984-10-03 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン パリテイエラ−回復方法
JPH06161797A (ja) * 1992-11-24 1994-06-10 Mitsubishi Electric Corp データ処理装置
JPH06195235A (ja) * 1992-12-22 1994-07-15 Hitachi Ltd 制御装置およびプロセッサ
JPH11327940A (ja) * 1998-05-20 1999-11-30 Hitachi Ltd 命令再実行制御方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169515A (ja) * 2008-01-11 2009-07-30 Denso Corp コンピュータシステム及びシステム回復装置
JP2011044114A (ja) * 2009-08-24 2011-03-03 Nec Corp マイクロプロセッサ及びマイクロプロセッサのデバッグ方法

Also Published As

Publication number Publication date
JP5129450B2 (ja) 2013-01-30
US20070180317A1 (en) 2007-08-02
US8095825B2 (en) 2012-01-10

Similar Documents

Publication Publication Date Title
JP5129450B2 (ja) 情報処理装置
CN111164578B (zh) 核内锁步模式的错误恢复
JP5212369B2 (ja) 演算器及び演算器の制御方法
US8589763B2 (en) Cache memory system
US10296312B2 (en) Methods, apparatuses, and systems for zero silent data corruption (ZDC) compiler technique
WO2006007147A1 (en) Method and apparatus for reducing false error detection in a microprocessor
US20090063899A1 (en) Register Error Correction of Speculative Data in an Out-of-Order Processor
US9348681B2 (en) Apparatus and method for detecting fault of processor
JP5245237B2 (ja) エラー処理方法
EP1770507A2 (en) Pipeline processing based on RISC architecture
US8423834B2 (en) Computer system and memory system
US8176406B2 (en) Hard error detection
US10289332B2 (en) Apparatus and method for increasing resilience to faults
US6401195B1 (en) Method and apparatus for replacing data in an operand latch of a pipeline stage in a processor during a stall
JP5843804B2 (ja) 演算装置およびエラー処理方法
US20240095113A1 (en) Processor and method of detecting soft error from processor
TW202418068A (zh) 處理器及自處理器偵測軟錯誤的方法
JP2009238168A (ja) マイクロプロセッサ
US11263017B2 (en) Exception register delay
US11403108B2 (en) Exception handling
JP2008146188A (ja) 集積回路
JP2011044114A (ja) マイクロプロセッサ及びマイクロプロセッサのデバッグ方法
JPH01145732A (ja) パリティビット生成方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080220

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111027

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120910

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120918

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

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

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

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees