JP2009238168A - マイクロプロセッサ - Google Patents
マイクロプロセッサ Download PDFInfo
- Publication number
- JP2009238168A JP2009238168A JP2008086783A JP2008086783A JP2009238168A JP 2009238168 A JP2009238168 A JP 2009238168A JP 2008086783 A JP2008086783 A JP 2008086783A JP 2008086783 A JP2008086783 A JP 2008086783A JP 2009238168 A JP2009238168 A JP 2009238168A
- Authority
- JP
- Japan
- Prior art keywords
- microinstruction
- error
- microprocessor
- error correction
- microprogram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】マイクロプログラムの読出し時にSEUを生じた場合においても対処できるマイクプロセッサを得る。
【解決手段】マイクロプログラム格納ROM1に格納されるマイクロ命令にパリティを付加する。パリティチェック回路5は、マイクロ命令レジスタ4に格納されたマイクロ命令のパリティチェックを行い、エラー検出時はパリティエラー検出信号を送出する。マイクロ命令実行部6は、パリティチェック回路5からパリティエラー検出信号が送出された場合は、例えば、マイクロプロセッサの実行を停止させる。
【選択図】図1
【解決手段】マイクロプログラム格納ROM1に格納されるマイクロ命令にパリティを付加する。パリティチェック回路5は、マイクロ命令レジスタ4に格納されたマイクロ命令のパリティチェックを行い、エラー検出時はパリティエラー検出信号を送出する。マイクロ命令実行部6は、パリティチェック回路5からパリティエラー検出信号が送出された場合は、例えば、マイクロプロセッサの実行を停止させる。
【選択図】図1
Description
この発明は、放射線等の外来ノイズに対する耐性を備えた、マイクロプログラム方式のマイクロプロセッサに関するものである。
人工衛星などの航空宇宙環境で使用される半導体には通常より強い放射線にさらされることが知られている。このような環境下では入射した放射線により半導体上の回路にノイズが生じ、これが内部メモリやフリップフロップの反転を引き起こすことが知られている。このような現象をSEU(Single Event Upset)と呼ぶ。このような現象がマイクロプロセッサを用いたシステムで発生すると、マイクロプロセッサの暴走などの実行異常を引き起こす。このような問題に対して、従来では、例えば特許文献1に示されるようなメモリに誤り検出符号を付加する方法を用い、誤り検出時にはメモリの再読出しを行うことで外来ノイズの影響を減らしていた。
しかしながら、このような放射線によるSEUはマイクロプロセッサの内部でも発生するため、内部回路においても対策が必要になるが、従来では、特に、マイクロプログラムの読み出し時SEUが発生した場合に対処できるような内部回路での対策は行われていなかった。
この発明は上記のような課題を解決するためになされたもので、マイクロプログラムの読出し時にSEUを生じた場合においても対処できるマイクプロセッサを得ることを目的とする。
この発明に係るマイクロプロセッサは、マイクロ命令に誤り検出符号を付加すると共に、誤り検出符号に基づいてマイクロ命令の誤り検出を行う誤り検出部と、誤り検出結果に基づいて、マイクロ命令を実行するマイクロ命令実行部とを備えたものである。
この発明のマイクロプロセッサは、マイクロ命令に誤り検出符号を付加し、マイクロ命令の誤り検出結果に基づいてマイクロ命令を実行するようにしたので、マイクロプログラムの読出し時にSEUを生じた場合であっても対処することができる。
実施の形態1.
図1は、この発明の実施の形態1によるマイクロプロセッサを示す構成図である。
図において、マイクロプロセッサは、マイクロプログラム格納ROM(マイクロプログラム格納部)1、マイクロプログラムカウンタ2、インクリメント回路3、マイクロ命令レジスタ4、パリティチェック回路(誤り検出回路)5、マイクロ命令実行部6を備えている。
図1は、この発明の実施の形態1によるマイクロプロセッサを示す構成図である。
図において、マイクロプロセッサは、マイクロプログラム格納ROM(マイクロプログラム格納部)1、マイクロプログラムカウンタ2、インクリメント回路3、マイクロ命令レジスタ4、パリティチェック回路(誤り検出回路)5、マイクロ命令実行部6を備えている。
マイクロプログラムはマイクロプログラム格納ROM1に格納されている。マイクロプログラム格納ROM1には、マイクロプログラムカウンタ2の出力がマイクロプログラム格納ROM1のアドレスとして接続されており、マイクロ命令がマイクロプログラム格納ROM1から一つずつ読み出されて出力される。マイクロプログラムカウンタ2にはインクリメント回路3が接続されており、このインクリメント回路3により、実行対象となるマイクロプログラムのアドレスを順次インクリメントしてゆく。
マイクロプログラム格納ROM1の出力はマイクロ命令レジスタ4の入力に接続されており、読み出されたマイクロ命令は、マイクロ命令レジスタ4に一時的に記憶される。マイクロ命令レジスタ4に格納されたマイクロ命令はマイクロ命令実行部6に接続されると共に、パリティチェック回路5にも接続される。マイクロ命令実行部6ではマイクロ命令の解析と実行を行い、パリティチェック回路5ではマイクロ命令のパリティチェックを行う。
本実施の形態のマイクロ命令にはパリティが付加されており、パリティチェック回路5がマイクロ命令レジスタ4のパリティを計算する。パリティチェック回路5でパリティエラーを検出した場合は、パリティエラー検出信号をマイクロ命令実行部6に送出する。こうすることで、マイクロプログラム格納ROM1からの読出し時に放射線などの外来ノイズの影響によるビット反転を検出することができる。マイクロ命令実行部6がパリティチェック回路5からのパリティエラー検出信号をどう使用するかは実装依存であるが、最も簡単な対応はマイクロプロセッサの実行を停止させ、外部に異常の検知を通知することである。尚、実施の形態1および後述する実施の形態2,3では、誤り訂正としてパリティチェックの例を説明しているが、マイクロ命令の誤り検出が行えるものであれば、どのような誤り検出符号を付加するようにしてもよい。
以上のように、実施の形態1のマイクロプロセッサによれば、マイクロプログラムを使用したマイクロプロセッサにおいて、マイクロ命令に誤り検出符号を付加すると共に、誤り検出符号に基づいてマイクロ命令の誤り検出を行う誤り検出部と、誤り検出結果に基づいて、マイクロ命令を実行するマイクロ命令実行部とを備えたので、誤りを含んだマイクロ命令の実行を防止でき、マイクロ命令の読出し時にSEUを生じた場合であっても対処可能なマイクロプロセッサを得ることができる。
実施の形態2.
実施の形態2は、パリティエラーが発生した場合は、そのマイクロ命令を再度読み出すようにしたものである。
図2は、本発明の実施の形態2によるマイクロプロセッサの構成図である。
本実施の形態では、パリティチェック回路5の出力が、実施の形態1と同様にマイクロ命令実行部6に接続されると共に、マイクロプログラムカウンタ2に接続されたセレクタ7に接続されている。このセレクタ7は、パリティチェック回路5からのパリティエラー検出信号に基づいて、インクリメント回路3の出力か、マイクロプログラムカウンタ2の出力かを選択してマイクロプログラムカウンタ2に入力するためのセレクタである。即ち、マイクロプログラムカウンタ2の出力は、インクリメント回路3を経たものと経ていないものがセレクタ7を経てマイクロプログラムカウンタ2の入力に接続されるよう構成され、セレクタ7の選択結果に応じて、マイクロプログラムカウンタ2のインクリメントを行うか、現在の値を保持するかが選択される。その他の構成は、図1に示した実施の形態1の構成と同様であるため、対応する部分に同一符号を付してその説明を省略する。
実施の形態2は、パリティエラーが発生した場合は、そのマイクロ命令を再度読み出すようにしたものである。
図2は、本発明の実施の形態2によるマイクロプロセッサの構成図である。
本実施の形態では、パリティチェック回路5の出力が、実施の形態1と同様にマイクロ命令実行部6に接続されると共に、マイクロプログラムカウンタ2に接続されたセレクタ7に接続されている。このセレクタ7は、パリティチェック回路5からのパリティエラー検出信号に基づいて、インクリメント回路3の出力か、マイクロプログラムカウンタ2の出力かを選択してマイクロプログラムカウンタ2に入力するためのセレクタである。即ち、マイクロプログラムカウンタ2の出力は、インクリメント回路3を経たものと経ていないものがセレクタ7を経てマイクロプログラムカウンタ2の入力に接続されるよう構成され、セレクタ7の選択結果に応じて、マイクロプログラムカウンタ2のインクリメントを行うか、現在の値を保持するかが選択される。その他の構成は、図1に示した実施の形態1の構成と同様であるため、対応する部分に同一符号を付してその説明を省略する。
次に、実施の形態2の動作について説明する。
先ず、パリティチェック回路5におけるチェック結果、パリティエラーが検出されなかった場合は、セレクタ7は、マイクロプログラムカウンタ2をインクリメントするよう選択する。即ち、インクリメント回路3によってインクリメントされた出力をマイクロプログラムカウンタ2に与える。
実施の形態1では、パリティエラー検出時にマイクロプロセッサを停止させていたが、パリティエラーの原因がSEUによるビット反転の場合、マイクロプログラム格納ROM1から命令を再読出しすることで、正しい命令を読み出せる可能性がある。そこで、パリティエラー検出信号でセレクタ7を切替えてマイクロプログラムカウンタ2のインクリメントを停止することで、次の命令サイクルで同じマイクロ命令の再読出しと再実行を行う。再実行中の命令で再びパリティエラーが検出されなければセレクタ7が再び切替わり、マイクロプログラムカウンタ2がインクリメントされ、マイクロプログラム命令の実行を継続することができる。
先ず、パリティチェック回路5におけるチェック結果、パリティエラーが検出されなかった場合は、セレクタ7は、マイクロプログラムカウンタ2をインクリメントするよう選択する。即ち、インクリメント回路3によってインクリメントされた出力をマイクロプログラムカウンタ2に与える。
実施の形態1では、パリティエラー検出時にマイクロプロセッサを停止させていたが、パリティエラーの原因がSEUによるビット反転の場合、マイクロプログラム格納ROM1から命令を再読出しすることで、正しい命令を読み出せる可能性がある。そこで、パリティエラー検出信号でセレクタ7を切替えてマイクロプログラムカウンタ2のインクリメントを停止することで、次の命令サイクルで同じマイクロ命令の再読出しと再実行を行う。再実行中の命令で再びパリティエラーが検出されなければセレクタ7が再び切替わり、マイクロプログラムカウンタ2がインクリメントされ、マイクロプログラム命令の実行を継続することができる。
以上のように、実施の形態2のマイクロプロセッサによれば、マイクロプログラム格納部から読み出すマイクロ命令を、インクリメントされるカウント値に基づいて指定するカウンタを備え、誤り検出部で誤りを検出した場合、カウント値のインクリメントを停止させるようにしたので、マイクロ命令の誤り検出時にも正しいマイクロ命令を実行することができる。
実施の形態3.
実施の形態2を実現するには、パリティチェックを行って、エラーのないマイクロ命令のみを実行する必要がある。しかし、この方式ではマイクロプロセッサの実行性能が低下する。この理由は、[マイクロ命令実行時間+パリティチェック時間]が1マイクロ命令実行時間となるため、パリティチェック時間の分、マイクロプロセッサの処理クロックが低下するためである。稀にしか発生しないパリティエラーのためにマイクロプロセッサの処理性能が低下することは望ましくない。そこで、実施の形態3では、マイクロ命令の実行をパリティチェックと並行して行い、パリティエラーが検出された場合、マイクロ命令の実行を無効とすることにより、同様の効果を性能低下無く得ることができるようにしている。
実施の形態2を実現するには、パリティチェックを行って、エラーのないマイクロ命令のみを実行する必要がある。しかし、この方式ではマイクロプロセッサの実行性能が低下する。この理由は、[マイクロ命令実行時間+パリティチェック時間]が1マイクロ命令実行時間となるため、パリティチェック時間の分、マイクロプロセッサの処理クロックが低下するためである。稀にしか発生しないパリティエラーのためにマイクロプロセッサの処理性能が低下することは望ましくない。そこで、実施の形態3では、マイクロ命令の実行をパリティチェックと並行して行い、パリティエラーが検出された場合、マイクロ命令の実行を無効とすることにより、同様の効果を性能低下無く得ることができるようにしている。
図3は、実施の形態3のマイクロプロセッサの構成図である。
図示のマイクロプロセッサは、マイクロプログラム格納ROM1、マイクロプログラムカウンタ2、インクリメント回路3、マイクロ命令レジスタ4、パリティチェック回路5、セレクタ7,8,9,10、演算器11、バスインタフェース部12、レジスタファイル13を備えている。ここで、マイクロプログラム格納ROM1〜セレクタ7は、実施の形態2の構成と同様である。セレクタ8は、マイクロ命令レジスタ4からの書き込み制御信号と、マイクロ命令の実行結果を無効化するための書き込み禁止信号のいずれかを選択して、レジスタファイル13に対して書き込み制御信号として出力するセレクタである。セレクタ9は、マイクロ命令レジスタ4からの定数フィールドかバスインタフェース部12のデータ出力のいずれかを選択して演算器11の入力1に出力するためのセレクタである。セレクタ10は、マイクロ命令レジスタ4からの定数フィールドかレジスタファイル13のデータ出力のいずれかを選択して演算器11の入力2に出力するセレクタである。
図示のマイクロプロセッサは、マイクロプログラム格納ROM1、マイクロプログラムカウンタ2、インクリメント回路3、マイクロ命令レジスタ4、パリティチェック回路5、セレクタ7,8,9,10、演算器11、バスインタフェース部12、レジスタファイル13を備えている。ここで、マイクロプログラム格納ROM1〜セレクタ7は、実施の形態2の構成と同様である。セレクタ8は、マイクロ命令レジスタ4からの書き込み制御信号と、マイクロ命令の実行結果を無効化するための書き込み禁止信号のいずれかを選択して、レジスタファイル13に対して書き込み制御信号として出力するセレクタである。セレクタ9は、マイクロ命令レジスタ4からの定数フィールドかバスインタフェース部12のデータ出力のいずれかを選択して演算器11の入力1に出力するためのセレクタである。セレクタ10は、マイクロ命令レジスタ4からの定数フィールドかレジスタファイル13のデータ出力のいずれかを選択して演算器11の入力2に出力するセレクタである。
演算器11は、マイクロ命令レジスタ4からの演算器指令値と、セレクタ9,10からの入力値に基づいてマイクロ命令を実行し、その出力をバスインタフェース部12とレジスタファイル13とに接続する実施の形態1,2におけるマイクロ命令実行部6に対応する構成である。バスインタフェース部12は、マイクロプロセッサと外部のバスとのインタフェースである。レジスタファイル13は、マイクロプロセッサの内部レジスタであり、セレクタ8を介して与えられる書き込み制御信号に基づいて、演算器11の演算結果の書き込みが行われるようになっている。また、レジスタファイル13における出力アドレスおよび入力アドレスは、マイクロ命令レジスタ4からのレジスタアドレス1およびレジスタアドレス2によって指定される出力レジスタ、入力レジスタを指定するための入力部である。
このように構成されたマイクロプロセッサでは、パリティチェック回路5でパリティエラーを検出した場合は、パリティエラー検出信号をセレクタ7とセレクタ8とに送出する。これにより、実施の形態2と同様にマイクロプログラム格納ROM1からのマイクロ命令の再読み出しが行われると共に、セレクタ8が書き込み禁止信号を選択することで、演算器11からのレジスタファイル13へのデータ書き込みが禁止される。即ち、実行されたマイクロ命令は無効化される。これ以外の動作は、実施の形態2と同様である。
尚、図3に示した例は、非パイプライン型マイクロプロセッサの例であるが、パイプライン型マイクロプロセッサにおいても、実行パイプラインで結果の書き戻し処理を行う前に書き戻し処理を禁止し、パイプラインに投入されている命令全てを破棄することで同様に無効化処理が可能である。本実施の形態の構成をより効果的に実装するためには、パイプラインのできるだけ後段で書き戻し処理を実行することが望ましい。
以上のように、実施の形態3のマイクロプロセッサによれば、マイクロ命令実行部によるマイクロ命令の実行と、誤り検出部による誤り検出を並行して行うと共に、誤り検出時は誤りの発生したマイクロ命令の実行を無効化するようにしたので、誤り検出によるマイクロプロセッサの性能低下を抑えることができる。
実施の形態4.
実施の形態1〜3では、マイクロ命令の誤り検出にパリティを使用していたが、パリティの代わりに誤り訂正符号(ECC:Error Correction Code)を用いることで、マイクロ命令を再読出しすることなく、誤りを含まないマイクロ命令を実行することができる。以下、誤り訂正を行うようにした例を実施の形態4として説明する。
実施の形態1〜3では、マイクロ命令の誤り検出にパリティを使用していたが、パリティの代わりに誤り訂正符号(ECC:Error Correction Code)を用いることで、マイクロ命令を再読出しすることなく、誤りを含まないマイクロ命令を実行することができる。以下、誤り訂正を行うようにした例を実施の形態4として説明する。
図4は、実施の形態4のマイクロプロセッサの構成図である。
図示のマイクロプロセッサは、マイクロプログラム格納メモリ(マイクロプログラム格納部)1a、マイクロプログラムカウンタ2、インクリメント回路3、マイクロ命令レジスタ4、マイクロ命令実行部6、誤り訂正回路14を備えている。誤り訂正回路14は、マイクロ命令レジスタ4に格納されたマイクロ命令に対して、含まれるECCに基づいて誤り訂正を行う回路である。また、マイクロプログラム格納メモリ1aは、実施の形態1〜3のマイクロプログラム格納ROM1と同様に、マイクロプログラムを格納するメモリであるが、ROMだけでなくRAMであっても良い点が異なっている。その他の構成は実施の形態1と同様である。尚、実施の形態4および後述する実施の形態5における誤り訂正符号としては、例えばハミング符号といった誤り訂正符号を用いるが、どのようなものであってもよい。
図示のマイクロプロセッサは、マイクロプログラム格納メモリ(マイクロプログラム格納部)1a、マイクロプログラムカウンタ2、インクリメント回路3、マイクロ命令レジスタ4、マイクロ命令実行部6、誤り訂正回路14を備えている。誤り訂正回路14は、マイクロ命令レジスタ4に格納されたマイクロ命令に対して、含まれるECCに基づいて誤り訂正を行う回路である。また、マイクロプログラム格納メモリ1aは、実施の形態1〜3のマイクロプログラム格納ROM1と同様に、マイクロプログラムを格納するメモリであるが、ROMだけでなくRAMであっても良い点が異なっている。その他の構成は実施の形態1と同様である。尚、実施の形態4および後述する実施の形態5における誤り訂正符号としては、例えばハミング符号といった誤り訂正符号を用いるが、どのようなものであってもよい。
本実施の形態では、マイクロプログラムに誤り訂正符号が含まれている。誤り訂正回路14は、マイクロ命令レジスタ4に格納されたマイクロ命令に対して、誤りがあるかを判定し、誤りがあった場合は、その誤り訂正符号に基づいて誤り訂正を行う。誤り訂正済みマイクロ命令はマイクロ命令実行部6に出力され、マイクロ命令実行部6は、誤り訂正回路14から出力された訂正済みマイクロ命令を実行する。
このように、誤り訂正済みマイクロ命令をマイクロ命令実行部6に供給することで常に正常なマイクロ命令を実行することができる。もし、ECCで誤り訂正できないような多ビット誤りが発生した場合は、実施の形態1と同様に異常停止するか、実施の形態2と同様にマイクロ命令の再読出しを行う。
パリティを用いた方式ではマイクロ命令を再読出しする際のSEUによる影響のみに対処できるのに対して、誤り訂正回路14を用いた方式ではマイクロプログラム格納メモリ1a上のデータが反転した場合にも有効である。従って、パリティを用いた方式と異なり、マイクロプログラム格納メモリ1aとしてRAMの使用も可能である。
以上のように、実施の形態4のマイクロプロセッサによれば、マイクロプログラムを使用したマイクロプロセッサにおいて、マイクロ命令に誤り訂正符号を付加すると共に、誤り訂正符号に基づいて、マイクロ命令が誤りであった場合の誤り訂正を行う誤り訂正回路と、誤り訂正回路から出力されたマイクロ命令を実行するマイクロ命令実行部とを備えたので、マイクロ命令が誤りを含んだ状態を訂正し、正しいマイクロ命令で実行することができる。
実施の形態5.
実施の形態4では、誤り訂正回路14を通ったマイクロ命令を直接実行しているため誤り訂正回路14の出力が確定するまでマイクロ命令の実行ができない。そこで、実施の形態5では、実施の形態3と同様に、誤り訂正回路14の誤り訂正処理と並行して誤り訂正前のマイクロ命令の実行を行う。
実施の形態4では、誤り訂正回路14を通ったマイクロ命令を直接実行しているため誤り訂正回路14の出力が確定するまでマイクロ命令の実行ができない。そこで、実施の形態5では、実施の形態3と同様に、誤り訂正回路14の誤り訂正処理と並行して誤り訂正前のマイクロ命令の実行を行う。
図5は、実施の形態5のマイクロプロセッサの構成図である。
実施の形態5のマイクロプロセッサが実施の形態4と異なる点は、セレクタ7とセレクタ15を設け、セレクタ15によって誤り訂正前のマイクロ命令と誤り訂正済みマイクロ命令を選択してマイクロ命令実行部6に与えるようにし、また、誤り訂正回路14から誤り検出信号が出力された場合は、実施の形態3と同様にセレクタ7によってマイクロプログラムカウンタ2のインクリメントを停止させるようにした点である。更に、実施の形態5では、誤り訂正回路14から誤り検出信号が出力された場合は、マイクロ命令実行部6におけるマイクロ命令の実行結果を無効化するようにしている。尚、無効化の手段としては、例えば、実施の形態3で示した構成を用いる。
実施の形態5のマイクロプロセッサが実施の形態4と異なる点は、セレクタ7とセレクタ15を設け、セレクタ15によって誤り訂正前のマイクロ命令と誤り訂正済みマイクロ命令を選択してマイクロ命令実行部6に与えるようにし、また、誤り訂正回路14から誤り検出信号が出力された場合は、実施の形態3と同様にセレクタ7によってマイクロプログラムカウンタ2のインクリメントを停止させるようにした点である。更に、実施の形態5では、誤り訂正回路14から誤り検出信号が出力された場合は、マイクロ命令実行部6におけるマイクロ命令の実行結果を無効化するようにしている。尚、無効化の手段としては、例えば、実施の形態3で示した構成を用いる。
このように構成された実施の形態5のマイクロプロセッサでは、マイクロ命令レジスタ4に格納されたマイクロ命令に誤りがなく、誤り訂正回路14から誤り検出信号が出力されない場合、セレクタ15はマイクロ命令レジスタ4側の出力を選択しており、マイクロ命令実行部6は、誤り訂正前のマイクロ命令を実行する。即ち、マイクロ命令実行部6におけるマイクロ命令の実行は、誤り訂正回路14の誤り訂正処理と並行して行われる。
一方、誤り訂正回路14で、マイクロ命令実行部6が実行しているマイクロ命令の誤り訂正を行った場合、マイクロ命令実行部6の実行結果を無効化すると共に、次のサイクルで、セレクタ15が誤り訂正回路14の出力を選択することで、マイクロ命令実行部6が誤り訂正済みマイクロ命令を実行する。また、誤り訂正回路14から出力される誤り検出信号により、セレクタ7はマイクロプログラムカウンタ2の出力を選択する。これにより、誤り訂正済みマイクロ命令の実行時は、マイクロプログラムカウンタ2におけるカウント値のインクリメントが停止される。
このように、実施の形態5では、誤り訂正回路14の出力が確定した時点で、誤りが検出されれば、マイクロ命令実行部6で実行中の命令を無効化し、次のサイクルで誤り訂正済みのマイクロ命令を用いて再実行することで、誤り訂正回路14を組み込んだことによる性能低下を防止している。
以上のように、実施の形態5のマイクロプロセッサによれば、マイクロプログラム格納部から読み出すマイクロ命令を、インクリメントされるカウント値に基づいて指定するカウンタと、読み出されたマイクロ命令を、直接マイクロ命令実行部に入力させるか、誤り訂正回路を介して入力させるかを選択するセレクタとを備え、マイクロ命令実行部によるマイクロ命令の実行と、誤り訂正回路による誤り訂正とを並行して行うと共に、誤り訂正回路で、マイクロ命令実行部が実行しているマイクロ命令の誤り訂正を行った場合、マイクロ命令実行部の実行結果を無効化すると共に、次のサイクルで、セレクタが誤り訂正回路の出力を選択することで、マイクロ命令実行部が誤り訂正済みマイクロ命令を実行し、かつ、誤り訂正済みマイクロ命令の実行時はカウンタのカウント値のインクリメントを停止させるようにしたので、誤り訂正によるマイクロプロセッサの性能低下を抑えることができる。
1 マイクロプログラム格納ROM、1a マイクロプログラム格納メモリ、2 マイクロプログラムカウンタ、3 インクリメント回路、4 マイクロ命令レジスタ、5 パリティチェック回路、6 マイクロ命令実行部、7,8,9,10,15 セレクタ、11 演算器、12 バスインタフェース部、13 レジスタファイル、14 誤り訂正回路。
Claims (5)
- マイクロプログラムを使用したマイクロプロセッサにおいて、
マイクロ命令に誤り検出符号を付加すると共に、
前記誤り検出符号に基づいて前記マイクロ命令の誤り検出を行う誤り検出部と、
前記誤り検出結果に基づいて、前記マイクロ命令を実行するマイクロ命令実行部とを備えたマイクロプロセッサ。 - マイクロプログラム格納部から読み出すマイクロ命令を、インクリメントされるカウント値に基づいて指定するカウンタを備え、
誤り検出部で誤りを検出した場合、前記カウント値のインクリメントを停止させることを特徴とする請求項1記載のマイクロプロセッサ。 - マイクロ命令実行部によるマイクロ命令の実行と、誤り検出部による誤り検出を並行して行うと共に、誤り検出時は誤りの発生したマイクロ命令の実行を無効化することを特徴とする請求項2記載のマイクロプロセッサ。
- マイクロプログラムを使用したマイクロプロセッサにおいて、
マイクロ命令に誤り訂正符号を付加すると共に、
前記誤り訂正符号に基づいて、前記マイクロ命令が誤りであった場合の誤り訂正を行う誤り訂正回路と、
前記誤り訂正回路から出力されたマイクロ命令を実行するマイクロ命令実行部とを備えたマイクロプロセッサ。 - マイクロプログラム格納部から読み出すマイクロ命令を、インクリメントされるカウント値に基づいて指定するカウンタと、
前記読み出されたマイクロ命令を、直接マイクロ命令実行部に入力させるか、誤り訂正回路を介して入力させるかを選択するセレクタとを備え、
前記マイクロ命令実行部によるマイクロ命令の実行と、前記誤り訂正回路による誤り訂正とを並行して行うと共に、
前記誤り訂正回路で、前記マイクロ命令実行部が実行しているマイクロ命令の誤り訂正を行った場合、前記マイクロ命令実行部の実行結果を無効化すると共に、次のサイクルで、前記セレクタが前記誤り訂正回路の出力を選択することで、前記マイクロ命令実行部が誤り訂正済みマイクロ命令を実行し、かつ、当該誤り訂正済みマイクロ命令の実行時は前記カウンタのカウント値のインクリメントを停止させることを特徴とする請求項4記載のマイクロプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008086783A JP2009238168A (ja) | 2008-03-28 | 2008-03-28 | マイクロプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008086783A JP2009238168A (ja) | 2008-03-28 | 2008-03-28 | マイクロプロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009238168A true JP2009238168A (ja) | 2009-10-15 |
Family
ID=41251978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008086783A Pending JP2009238168A (ja) | 2008-03-28 | 2008-03-28 | マイクロプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009238168A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104062978A (zh) * | 2014-06-26 | 2014-09-24 | 北京控制工程研究所 | 一种消除空间单粒子打翻cpu寄存器对姿态影响的方法 |
CN109313594A (zh) * | 2016-06-24 | 2019-02-05 | 高通股份有限公司 | 用于指令包的奇偶校验 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60214043A (ja) * | 1984-04-09 | 1985-10-26 | Fujitsu Ltd | パイプライン制御回路 |
JPS62107338A (ja) * | 1985-11-06 | 1987-05-18 | Nec Corp | 制御メモリ誤り訂正制御方式 |
JPH03228140A (ja) * | 1990-02-01 | 1991-10-09 | Koufu Nippon Denki Kk | マイクロプログラム制御装置 |
-
2008
- 2008-03-28 JP JP2008086783A patent/JP2009238168A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60214043A (ja) * | 1984-04-09 | 1985-10-26 | Fujitsu Ltd | パイプライン制御回路 |
JPS62107338A (ja) * | 1985-11-06 | 1987-05-18 | Nec Corp | 制御メモリ誤り訂正制御方式 |
JPH03228140A (ja) * | 1990-02-01 | 1991-10-09 | Koufu Nippon Denki Kk | マイクロプログラム制御装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104062978A (zh) * | 2014-06-26 | 2014-09-24 | 北京控制工程研究所 | 一种消除空间单粒子打翻cpu寄存器对姿态影响的方法 |
CN109313594A (zh) * | 2016-06-24 | 2019-02-05 | 高通股份有限公司 | 用于指令包的奇偶校验 |
KR20190021247A (ko) * | 2016-06-24 | 2019-03-05 | 퀄컴 인코포레이티드 | 명령 패킷들을 위한 패리티 |
KR102433782B1 (ko) * | 2016-06-24 | 2022-08-17 | 퀄컴 인코포레이티드 | 명령 패킷들을 위한 패리티 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8095825B2 (en) | Error correction method with instruction level rollback | |
JP5212369B2 (ja) | 演算器及び演算器の制御方法 | |
US8589763B2 (en) | Cache memory system | |
JP5010271B2 (ja) | エラー訂正コード生成方法、およびメモリ制御装置 | |
US9348681B2 (en) | Apparatus and method for detecting fault of processor | |
US10817369B2 (en) | Apparatus and method for increasing resilience to faults | |
US8423834B2 (en) | Computer system and memory system | |
EP2159710A1 (en) | Information processor and its control method | |
US10185635B2 (en) | Targeted recovery process | |
JP2011257966A (ja) | キャッシュ装置及び情報処理装置 | |
JP2009238168A (ja) | マイクロプロセッサ | |
US10289332B2 (en) | Apparatus and method for increasing resilience to faults | |
JP5215655B2 (ja) | データ処理装置及びデータ処理装置におけるバスアクセス制御方法 | |
US9256495B2 (en) | Processing unit and error processing method | |
JP2008262437A (ja) | プロセッサシステムおよび例外処理方法 | |
JP6332134B2 (ja) | メモリ診断回路 | |
EP2352092B1 (en) | Processor, information processing apparatus, and method of controlling processor | |
JP2004062309A (ja) | 不当命令処理方法及びプロセッサ | |
JP2008146188A (ja) | 集積回路 | |
JP2021144426A (ja) | プロセッサ及びエラー検出方法 | |
TW202418068A (zh) | 處理器及自處理器偵測軟錯誤的方法 | |
WO2023235419A1 (en) | System for error detection and correction in a multi-thread processor | |
JP2014225110A (ja) | 安全コントローラ | |
JP2019106042A (ja) | 演算装置 | |
JPS6282436A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120814 |