JP3240660B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP3240660B2
JP3240660B2 JP02096792A JP2096792A JP3240660B2 JP 3240660 B2 JP3240660 B2 JP 3240660B2 JP 02096792 A JP02096792 A JP 02096792A JP 2096792 A JP2096792 A JP 2096792A JP 3240660 B2 JP3240660 B2 JP 3240660B2
Authority
JP
Japan
Prior art keywords
instruction
execution control
control unit
instruction execution
parallel
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
Application number
JP02096792A
Other languages
English (en)
Other versions
JPH05216852A (ja
Inventor
パラシオス・アルベルト
誠 花輪
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP02096792A priority Critical patent/JP3240660B2/ja
Publication of JPH05216852A publication Critical patent/JPH05216852A/ja
Application granted granted Critical
Publication of JP3240660B2 publication Critical patent/JP3240660B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Advance Control (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理装置に関し、
特に命令を並列に実行する複数の命令実行制御部を有す
るデータ処理装置に関する。
【0002】
【従来の技術】データ処理装置の処理性能を向上するた
めに、米国特許第3,346,851号に開示されてい
るように2個の論理演算部(ALU)を同期的に用いる
アプローチや、米国特許第3,969,702号に開示
されているように対象の処理を分割して同じデータに幾
つかの操作を並列に実行するアプローチや、米国特許第
4,766,566号に開示されているように命令を二
つに分類して各種類の命令集合を特別の命令実行制御部
で並列に実行する等のアプローチがある。
【0003】命令を並列に実行するため複数の命令実行
制御部を有するデータ処理装置に関連のある上記米国特
許第4,766,566号には、実行負荷を均一にする
ために各命令実行制御部に論理演算部(ALU)を設置
することも提案されている。
【0004】一方、従来の技術は命令の並列実行の効率
を向上することを目的にしているが、命令実行制御部及
びその周辺の故障に対する対策について全く触れていな
い。
【0005】ところで、このような並列に命令を実行す
るシステムを耐故障化するための従来例が、フォールト
トレラントコンピュティングの第11回 国際学会(1
980年)第3頁から8頁(Proceedings 11th. Interna
tional Symposium on FaultTolerant Computing(1980)p
p.3-8.)に記載されている。この方法においては、命令
実行制御部に対応するインストラクションプロセッサが
二つのサブプロセッサにより構成され、両方のサブプロ
セッサが二重化され、1マイクロサイクルには一方のサ
ブプロセッサだけがデータバスを駆動し、他方のサブプ
ロセッサは二重化された残りのバスを駆動して、結果は
マイクロサイクルの終了時に比較され、不一致が検出さ
れた場合には割込みが発生し、故障の原因と推定された
サブプロセッサが切り離され、残りのサブプロセッサで
処理を続けるものである。
【0006】しかしながら、この方法では処理性能を向
上するために2重化した構成要素を持つデータ処理装置
を耐故障化するため、データ処理装置の構成要素自身を
利用する耐故障化アプローチはまだ提案されていなかっ
た。
【0007】一方、データ処理装置の故障検出に関する
従来例が、電子情報通信学会誌、第73巻、第9号(1
990年)第991頁から999頁に記載されている。
このアプローチは、データ処理装置を構成する基本的な
機能ブロックを強故障安全(SFS)論理回路として実
現し、各ブロックの入力インタフェイスに現われた誤り
はそのまま出力インタフェイスへ検出可能誤りとして伝
播できるようにし、特に、レジスタ、バス、マルチプレ
クサなど、制御信号線上の誤りが必ずデータ線上へ伝播
するような構成とする方法である。
【0008】しかし、このアプローチでは命令実行制御
部のレジスタ及び論理演算部の回路規模は非冗長な場合
に比べて2倍になり、内部検査回路の遅延のため速度は
クロックレベルで40%低下する。これらの問題を避け
るためデータ処理装置及び処理方式自身を利用して非周
期的な検査を施す方法もまだ提案されていなかった。
【0009】
【発明が解決しようとする課題】複数の命令実行制御部
によって命令を並列に実行するデータ処理装置では、特
に2個の命令実行制御部が有り、通常はリソース衝突を
避けるため命令の種類別に命令を実行する処理方法を採
用している。しかし、このデータ処理装置においては、
故障により一方の命令実行制御部が使用不可能になった
時、データ処理装置全体が無効になるという問題があ
る。
【0010】また、データ処理装置を稼働時に故障検出
するためには上記に示したように2重化する方法が一般
に用いられているが、そのため高性能なデータ処理装置
を構成する際、冗長な回路の増加及び処理速度の低下が
主な問題である。
【0011】そこで本発明の第1の目的とするところ
は、複数の命令実行制御部の幾つかが故障により使用不
可能になった場合でも、低下した性能で稼働可能なデー
タ処理装置を提供することにある。
【0012】本発明の第2の目的とするところは、複数
の命令実行制御部の全体あるいは各処理段階の故障検出
に際して重大な処理速度の低下を伴わず、また小規模な
冗長回路で故障検出が可能なデータ処理装置を提供する
ことにある。
【0013】本発明の他の目的とするところは、複数の
論理演算部の故障検出に際して重大な処理速度の低下を
伴わず、また小規模な冗長回路で故障検出が可能なデー
タ処理装置を提供することにある。
【0014】
【課題を解決するための手段】上記第1の目的は、命令
を並列に実行するデータ処理装置において、命令の並列
実行制御回路と命令の処理機能が互いに均一な複数の命
令実行制御部とを設け、故障によって幾つかの命令実行
制御部が使用不可能になった時、残りの命令実行制御部
ですべての命令が実行できるようにさせることにより達
成される。
【0015】具体的には、データ処理装置内に均一な命
令実行能力を持つn個の命令実行制御部を設け、f個の
命令実行制御部が故障した時には、並列実行制御回路に
よって、残りの(n−f)個の命令実行制御部で全命令
を実行し、もしも、故障のない命令実行制御部が一つし
か残らない時には全命令を逐次、実行するように制御す
る。
【0016】すなわち、かかる第1の目的を達成するた
めの本発明の具体的な実施形態は、メモリからフェッチ
した複数の命令を並列に出力する並列実行制御回路
(2)と、上記並列実行制御回路(2)から上記複数の
命令が並列に供給され、命令解読(ID)、命令実行制
御(EX)および実行結果の書き込み(ST)のパイプ
ラインステージを少なくとも有する複数の命令実行制御
部(3、4)と、上記複数の命令実行制御部(3、4)
によって制御される複数の論理演算部(5、6)と、上
記複数の命令実行制御部(3、4)の複数の制御信号も
しくは上記複数の論理演算部(5、6)の複数の出力が
供給される故障検出回路(20)とを具備してなり、上
記複数の制御信号もしくは上記複数の出力から上記故障
検出回路(20)が上記複数の命令実行制御部(3、
4)の一方(3)もしくは上記複数の論理演算部(5、
6)の一方(5)の故障を検出した場合に、上記並列実
行制御回路(2)は上記フェッチした複数の命令を順次
に上記複数の命令実行制御部の正常な他方(4)に供給
し、実行すべき命令を上記複数の命令実行制御部の正常
な他方(4)もしくは上記複数の論理演算部の正常な他
方(6)によって順次、実行せしめることを特徴とす
る。
【0017】上記第2の目的は、命令を並列に実行する
データ処理装置において、幾つかの命令実行制御部でし
か実行できない同種類の命令を同時に実行しようとした
時、すなわち、命令並列実行におけるリソース衝突が発
生した時、第1の目的を達成するために採用した複数の
命令実行制御部および並列実行制御回路を利用して、通
常ノーオペレーション命令によってウエイトサイクルに
なる方の命令実行制御部へ他方の命令実行制御部の命令
を複写して、複数の命令実行制御部が同時に命令実行す
る如く並列実行制御回路によって複数の命令実行制御部
を制御せしめ、前記一方の命令実行制御部の各パイプラ
インステージの出力を前記他方の命令実行制御部の各パ
イプラインステージの出力と比較することによって命令
実行制御部の故障を検出する回路をデータ処理装置に設
けることによって達成される。
【0018】すなわち、かかる第2の目的を達成するた
めの本発明の具体的な実施形態は、上記複数の命令実行
制御部による命令の並列実行によって衝突を生じる第1
の命令と第2の命令とを上記複数の命令実行制御部の一
方もしくは上記複数の論理演算部の一方によって順次実
行せしめ、上記一方による上記第1の命令の実行と並行
して上記第1の命令を上記複数の命令実行制御部の他方
もしくは上記複数の論理演算部の他方によって実行せし
め、かかる第1の命令の並列実行より上記故障検出回路
は故障を検出することを特徴とする。
【0019】また、上記第2の目的は、更に、命令を並
列に実行するデータ処理装置方式において、条件分岐命
令の条件が真である時、つまり、分岐が行われる時、上
記の構成の並列実行制御回路および故障検出回路を利用
し、通常ノーオペレーション命令によってウエイトサイ
クルになる方の命令実行制御部において条件分岐命令の
次に配置されていた命令を実行できる如く並列実行制御
回路によって通常ウエイトサイクルになる方の命令実行
制御部を制御せしめ、前記分岐命令の次に配置されてい
た命令を並列実行する両命令実行制御部の各パイプライ
ンステージの結果を前記故障検出回路で比較できるよう
にすることにより達成される。
【0020】すなわち、かかる第2の目的を達成するた
めの本発明の具体的な実施形態は、遅延分岐の手法によ
る分岐命令に続く次命令を上記複数の命令実行制御部の
一方もしくは上記複数の論理演算部の一方によって実行
せしめ、上記一方による上記次命令の実行と並行して上
記次命令を上記複数の命令実行制御部の他方もしくは上
記複数の論理演算部の他方によって実行せしめ、かかる
次命令の並列実行より上記故障検出回路は故障を検出す
ることを特徴とする。
【0021】上記他の目的は、上記の第2の目的を達成
するために用いた構成および並列実行制御回路を利用
し、上記の同一の命令を実行する命令実行制御部に対応
する演算部の各パイプラインステージの結果を上記の故
障検出回路で比較できるようにすることによって達成さ
れる。
【0022】
【作用】複数の命令実行制御部の均一化されたデータ処
理装置において、故障により幾つかの命令実行制御部が
使用不可能になった場合は、命令実行制御部が均一な命
令実行能力を有しているため、正常な他方の命令実行制
御部によってすべての命令を実行できるように並列実行
制御回路は複数の命令実行制御部を制御する。すなわ
ち、最悪の場合、つまり故障のない命令実行制御部が一
つしか残っていない時には、データ処理装置の処理性能
は、命令を逐次的に実行する普通のデータ処理装置に縮
退する。一方故障のない状態では、命令並列実行におけ
るリソース衝突が発生した時、並列実行制御回路によ
り、通常ウエイトサイクルになる命令実行制御部に他方
の命令実行制御部の命令を複写して実行することによっ
て、同一命令を実行する両命令実行制御部の各パイプラ
インステージの結果を比較でき、これらの命令実行制御
部の故障検出を行うことができる。更にまた、複数の演
算部を用いるデータ処理装置に適用する時は、前記の場
合および分岐命令の条件が真である時、分岐命令の次に
配置されていた命令を通常ウエイトサイクルになる命令
実行制御部で実行することにより、これらの命令実行制
御部およびこの命令実行制御部に対応する演算部の出力
結果の比較でこれらの命令実行制御部および演算部の故
障検出も可能である。
【0023】
【実施例】以下、本発明の一実施例を図面を用いて説明
する。図1は、本発明の一実施例によるデータ処理装置
を示すブロック図である。
【0024】図1の本実施例のデータ処理装置は、二つ
の命令を並列に実行することが可能である。図示してい
ないが、通常のデータ処理装置と同様に外部のメインメ
モリ(以下、単にメモリと言う)とのインターフェイス
ユニットはひとつのみであるので、二つの命令実行制御
部3、4からメインメモリへ同時にアクセスすることは
できない。従って、メモリへのアクセス衝突、所謂リソ
ース衝突を防止するために、基本的には、左側の命令実
行制御部3がメモリアクセスすなわちメモリ操作命令を
実行しないようにし、右側の命令実行制御部4がメモリ
操作命令を実行するように、並列実行制御回路2は二つ
の命令実行制御部3、4を制御する。すなわち、左側の
命令実行制御部3で分岐命令と論理演算命令(あるいは
整数演算命令とも呼ぶ)とを実行し、右側の命令実行制
御部4でメモリ操作命令と論理演算命令とを実行する如
く図1のデータ処理装置が構成されている。この基本原
則に従って、図1のデータ処理装置は2個の命令の並列
処理方式を実行するものとして実施例を説明する。
【0025】まず、図1のデータ処理装置の動作あるい
は機能を、簡単に説明する。メモリ(図示せず)もしくは
キャッシュ(図示せず)から命令レジスタ1にフェッチさ
れた二つの命令は、並行して並列実行制御回路2へ供給
される。並列実行制御回路2は、上記の基本原則に従っ
て命令レジスタ1からの命令を分類して、命令実行制御
部3と4とに分配する。命令の種類の識別は命令のオペ
コードから識別することが可能であり、この識別結果か
ら命令を分類することが可能である。しかし、命令実行
制御部3、4の一方、例えば3が故障によって使用でき
ない場合、上記の基本原則に従わず、並列実行制御回路
2は残りの命令実行制御部4のみで命令レジスタ1から
の全ての命令を逐次的に実行できるように命令実行制御
部3、4を制御する。従って、左側の命令実行制御部3
はメモリ操作命令も同様に実行できるように構成され、
右側の命令実行制御部4は分岐命令も同様に実行できる
ように構成されているので、この意味において左右の命
令実行制御部3、4の命令実行機能は互いに均一であ
る。
【0026】命令実行制御部3、4は命令実行のための
制御信号を生成するパイプラインであり、それぞれ命令
の解読ステージ(7、8)、命令実行制御ステージ(9、
10)、命令実行結果の書き込み制御ステージ(11、1
2)から構成されている。
【0027】故障検出の動作の理解を助けるために、レ
ジスタファイル13から供給されるオペランドのデータ
に対して論理演算あるいは算術演算を行う論理演算部
(ALU)5、6を命令実行制御部3、4とは別に図示
する。論理演算部5、6は、命令実行制御部3、4のパ
イプラインステージの命令実行制御ステージ9、10で
指定された演算を行い、その実行結果はレジスタファイ
ル13に格納される。
【0028】複数のレジスタから構成されたレジスタフ
ァイル13は命令の実行に用いられるオペランドデータ
を格納するとともに、命令実行制御部3、4の制御のも
とにアクセスされる。さらに、図1のデータ処理装置
は、このレジスタファイル13と論理演算部5、6、メ
モリ(図示せず)もしくはキャッシュ(図示せず)、プログ
ラムカウンターもしくはアドレス計算器(図示せず)との
間でデータを転送するためのパスを持つ。
【0029】並列実行制御回路2によって指示された
時、故障検出回路20はの観測点の命令実行制御部
3、4からレジスタファイル13への制御信号16、1
7を相互に比較して、命令実行制御部3、4からレジス
タファイル13への制御出力の故障検出を行い、の観
測点の命令実行制御部3、4から論理演算部5、6への
制御信号14、15を相互に比較して、命令実行制御部
3、4から論理演算部5、6への制御出力の故障検出を
行い、の観測点の論理演算部5、6の出力信号18、
19を相互に比較して、論理演算部5、6の故障検出を
行う。故障検出回路20は、比較データが一致する時は
正常信号を出力するのに対し、比較データが異なった時
は故障があると判定して故障信号を出力する。これらの
信号を、故障ブロックの検出、命令の再試行、処理の回
復、再起動、データ処理装置の再構成等を行う例外処理
装置(図示せず)へ送られて処理されることができる。特
に、検出された故障が永久故障の時は、故障に起因する
と推定された構成ブロックや回路素子が他から切り離さ
れるとともに、この切り離しの程度に従って例外処理装
置は並列実行制御回路2に命令を漸次、縮退状態で実行
するように指示する。極限の縮退状態では、例えば上述
のように右側の命令実行制御部4のみで命令レジスタ1
からの全ての命令を逐次的に実行できるように並列実行
制御回路2が命令実行制御部3、4を制御する。
【0030】以下の説明では、左側の命令実行制御部3
は分岐命令と論理演算命令とを実行し、右側の命令実行
制御部4はメモリ操作命令と論理演算命令とを実行する
ように並列実行制御回路2の初期状態が設定されている
と仮定する。
【0031】このようなデータ処理装置に、図2のプロ
グラムを構成する複数の命令A、B、C、Dの実行順序
に従って命令レジスタ1から二つの命令が順次、並列実
行制御回路2に送られる。並列実行制御回路2が命令の
種類別に命令を命令実行制御部3、命令実行制御部4に
分配する。
【0032】図2に示すような命令順序の場合は、命令
Aと命令Bとは同種のメモリ操作命令であるため、メモ
リアクセスの実行時のアクセス衝突を回避する必要が有
る。そこで、一般的に考えられるアプローチでは、図4
に示すように右側の命令実行制御部4で命令Aの実行し
た後に次の命令Bを同じ右側の命令実行制御部4で実行
する一方、図3に示すように左側の命令実行制御部3に
ノーオペレーション命令(すなわち、なにも実行しない
命令(NOP))を挿入して、右側の命令実行制御部4
での命令Aの実行と同時に左側の命令実行制御部3でこ
のノーオペレーション命令を実行することにより、上述
のアクセス衝突を回避することができる。しかし、この
アプローチでは二つの命令実行制御部3、4の故障検出
を行うことは不可能である。
【0033】これに対して図1の実施例のデータ処理装
置では、図6に示すように右側の命令実行制御部4は図
4と全く同様に命令Aの実行した後に次の命令Bを実行
する一方、並列実行制御回路2の制御によって、図5に
示すように上述の図3のノーオペレーション命令(NO
P)の場所は命令Aの複写によって置き換えられ、両方
の命令実行制御部3、4で同時に命令Aが実行される。
ただし、この場合は一般的なアプローチではノーオペレ
ーション命令(NOP)を実行する左側の命令実行制御
部3(図5)の実際の命令Aの命令実行結果は無効化され
て、検査状態に設定される。すなわち、ふたつの命令実
行制御部3、4の出力14、15、16、17を故障検
出回路20によって比較することよって命令実行制御部
3、4の故障検出が可能である。本実施例では、レジス
タファイルへの出力と論理演算部への出力とによっ
て命令実行制御部3、4の故障検出しかできないが、命
令実行制御部3、4の各パイプラインステージの出力に
観測点を設けることによって各パイプラインステージの
故障検出が可能である。
【0034】一方、分岐命令において、遅延分岐の手法
がよく使われる。この手法ではRISC(Reduced Instructi
on Set Computer)プロセッサの分岐命令の処理のとき、
分岐命令の直後にディレイスロットを導入したり(delay
ed branch:遅延分岐)、分岐命令の直前の命令を分岐命
令の直後に実行したり(optimized delay branch:改良遅
延分岐)することによって分岐先の計算が間にあわせ
る。遅延分岐およびディレイスロットに関しては、技術
文献「Reduced Instruction Set Computers;DavidA.Pate
rson; Communications of the ACM, Vol.28,No.1,pp.8-
21, Jan. 1985」に詳細に説明されているため、以下で
は、RISCプロセッサの形式に構成された図1のデー
タ処理装置で、2つの命令の同時実行を行う場合の遅延
分岐のディレイスロットの基本的な扱いだけについて説
明する。
【0035】まず、分岐命令が条件分岐命令であり、そ
の後に2つの命令をフェッチした場合には、(1)条件
分岐命令の条件が成立し、かつ、改良遅延分岐が採用し
た場合は、第1の命令だけを右側の命令実行制御部4に
よって実行する。(2)もし条件分岐命令の条件が不成
立の場合は、第2の命令も第1の命令と同時に実行でき
るものであるならば、第1の命令を右側の命令実行制御
部4によって実行し、同時に第2の命令を左側の命令実
行制御部3によって実行する。
【0036】また本実施例では、図7に示すような命令
A、B、C、D…T、Uの順序にコンパイルされたRI
SCプロセッサ用のプログラムが使用される。命令Aは
メモリ操作命令であり、命令Bは条件分岐命令であり、
命令Cは論理演算命令であり、命令Tは条件分岐命令B
の分岐条件が成立した場合の分岐先の命令であり、命令
Uは分岐先の命令Tの次の命令である。また、一般にR
ISCプロセッサのためにコンパイルされたプログラム
の分岐命令の直後の命令は、CISC(Complex Instru
ction Set Computer)プロセッサの如き通常のデータ・
プロセッサのためにコンパイルされたプログラムの分岐
命令の直前の命令に対応しているので、図7のRISC
プロセッサ用のプログラムでは、分岐命令Bの直後の命
令Cは、CISCプロセッサの如き通常のデータ・プロ
セッサのためにコンパイルされたプログラムの分岐命令
の直前の命令に対応している。従って、RISCプロセ
ッサにおいては、分岐命令の直後の命令(通常の場合の
分岐命令の直前の命令)を先に実行して、しかる後、実
際の分岐を実行する。
【0037】図9に示すようにメモリ操作命令Aが右側
の命令実行制御部4のパイプラインステージによって命
令解読(ID)、命令実行制御(EX)、命令実行結果の書
き込み制御(ST)のパイプライン処理を次々と受けるの
と並行して、図8に示すように条件分岐命令Bが左側の
命令実行制御部3のパイプラインステージによって命令
解読(ID)、命令実行制御(EX)のパイプライン処理を
次々と受ける。図9に示すように、RISCプロセッサ
の遅延分岐の原則に従って、命令Aのパイプライン処理
から1サイクル遅れて、条件分岐命令Bの次の命令の論
理演算命令Cが右側の命令実行制御部4のパイプライン
ステージによって命令解読(ID)、命令実行制御(E
X)のパイプライン処理を次々と受ける。一方、図8に
示すように命令Cの複写が左側の命令実行制御部3へ取
り込まれて命令解読(ID)、命令実行制御(EX)のパ
イプライン処理を次々と受ける点に本実施例の大きな特
徴がある。通常は、分岐命令Bの次の1サイクルである
ディレイスロットでは分岐命令Bの直後の命令Cが右側
の命令実行制御部4だけで実行され、この間左の命令実
行制御部3はノーオペレション命令の命令解読(ID)、
命令実行制御(EX)のパイプライン処理を実行する。
しかし、本実施例では、通常のディレイスロットのノー
オペレーション命令が図8に示すように命令Cの複写に
置き換えられ、この命令Cの複写が左側の命令実行制御
部3へ取り込まれて命令解読(ID)、命令実行制御(E
X)のパイプライン処理を次々と受ける。この様に命令
Cが両方の命令実行制御部3、4で同時に実行される。
ただし、この場合は一般的なアプローチではノーオペレ
ーション命令(NOP)を実行する左側の命令実行制御
部3の実際の命令Cの命令実行結果は無効化されて、検
査状態に設定される。すなわち、ふたつの命令実行制御
部3、4の出力18、19を故障検出回路20によって
比較することよって論理演算部5、6の故障検出が可能
である。
【0038】この様なディレイスロットでの検査の後、
分岐命令Bによる分岐が行われ、分岐先の命令Tと次の
命令Uとがメモリもしくはキャッシュから読み出された
後、命令レジスタ1と並列実行制御回路2とを介して図
9および図8に示すように右側の命令実行制御部4と左
側の命令実行制御部3へ転送され、それぞれ命令解読
(ID)、命令実行制御(EX)のパイプライン処理を受
ける。
【0039】故障の発生によって一つの命令実行制御部
が使用不可能になった場合は、並列実行制御回路2によ
りすべての命令が一つづつ、故障のない命令実行制御部
3又は4で実行される。この場合の実行方式は、逐次実
行方式となる。図10は、命令実行制御部3が故障で使
用不可能の状況で命令実行制御部4で図2で示した命令
列を実行した時の実行状態を示す。
【0040】以上説明したように、本実施例では、二つ
の命令実行制御回路によって並列実行された場合はメモ
リアクセス時にアクセス衝突を生じる可能性のある連続
した第1の命令と第2の命令とを処理する際に、二つの
命令実行制御回路の一方で第1の命令と第2の命令とを
順次実行し、一般に他方の命令実行制御部へ挿入される
ノーオペレーション命令を第1の命令の複写によって置
き換えるものであるため、第1の命令は二つの命令実行
制御部によって同時に処理され、この同時処理結果を故
障検出回路20で比較することにより故障の検出を可能
とすることができる。
【0041】また本実施例では、分岐命令によるディレ
イスロットにおいて二つの命令実行制御回路の一方で分
岐命令に続く次命令を実行し、一般にディレイスロット
にこの他方の命令実行制御部へ挿入されるノーオペレー
ション命令を次命令の複写によって置き換えるものであ
るため、この次命令は二つの命令実行制御部と論理演算
部とによって同時に処理され、この同時処理結果を故障
検出回路20で比較することにより故障の検出を可能と
することができる。
【0042】また本実施例では、上述のノーオペレーシ
ョン命令を本来実行すべき命令実行制御部による命令の
複写の命令実行結果は最終的に無効化され、命令の並列
処理に矛盾が生じることはない。
【0043】本発明は上記の如き実施例に限定されるも
のではなく、その技術思想の範囲内で種々の変形が可能
であることは言うまでもない。例えば、連続した第1の
命令と第2の命令とがレジスタファイルをアクセスする
場合、第1の命令のディスティネーションのレジスタと
第2の命令のソースのレジスタとが一致する場合もリソ
ース衝突が生じるので、このような場合にも二つの命令
実行制御回路の一方で第1の命令と第2の命令とを順次
実行し、一般に他方の命令実行制御部へ挿入されるノー
オペレーション命令を第1の命令の複写によって置き換
えて、第1の命令を二つの命令実行制御部によって同時
に処理と、この同時処理結果を故障検出回路20で比較
しても良い。
【0044】
【発明の効果】本発明によれば、複数の命令実行制御部
で命令を並列に実行するデータ処理装置の処理性能を低
下することなく、命令実行制御部及び演算部の非周期的
な故障検出が可能になり、しかも一部の命令実行制御部
が故障によって使用不可能になった場合はデータ処理装
置が漸次、縮退した性能で稼働させることができる。
【図面の簡単な説明】
【図1】故障検出回路を含む本発明の基本的な一実施例
によるデータ処理装置を示すブロック図である。
【図2】図1のデータ処理装置の故障を検出することの
可能なプログラムの例を示す図である。
【図3】一般的に考えられるアプローチによって図2の
プログラムの命令Cを図1のデータ処理装置の左側の命
令実行制御部3で実行する時、時刻毎の命令実行制御部
3の各パイプラインステージの状況を示す図である。
【図4】一般的に考えられるアプローチによって図2の
プログラムのメモリ操作命令A、Bを図1のデータ処理
装置の右側の命令実行制御部4で実行する時、時刻毎の
命令実行制御部4の各パイプラインステージの状況を示
す図である。
【図5】本発明の実施例によるアプローチによって図2
のプログラムの命令Cを図1のデータ処理装置の左側の
命令実行制御部3で実行する時、時刻毎の命令実行制御
部3の各パイプラインステージの状況を示す図である。
【図6】本発明の実施例によるアプローチによって図2
のプログラムのメモリ操作命令A、Bを図1のデータ処
理装置の右側の命令実行制御部4で実行する時、時刻毎
の命令実行制御部4の各パイプラインステージの状況を
示す図である。
【図7】図1のデータ処理装置の故障を検出することの
可能な他のプログラムの例を示す図である。
【図8】本発明の実施例によるアプローチによって図7
のプログラムの命令B、Uを図1のデータ処理装置の左
側の命令実行制御部3で実行する時、時刻毎の命令実行
制御部3の各パイプラインステージの状況を示す図であ
る。
【図9】本発明の実施例によるアプローチによって図7
のプログラムの命令A、C、Tを図1のデータ処理装置
の右側の命令実行制御部4で実行する時、時刻毎の命令
実行制御部4の各パイプラインステージの状況を示す図
である。
【図10】図1のデータ処理装置の左側の命令実行制御
部3が故障の時、図2のプログラムの命令を右側の命令
実行制御部4のみで実行する際に、右側の命令実行制御
部4の時刻毎の各パイプラインステージの状況を示す図
である。
【符号の説明】
1…命令レジスタ、2…命令の分類及び分配、実行の衝
突時命令の保持及び複写、命令実行制御部を検査の状態
に設定、命令実行制御部が一つしか使用できない時命令
の並列実行制御回路、3、4…命令実行制御部、5、6
…演算部、7、8…命令の解読ステージ、9、10…命
令実行ステージ、11、12…記憶装置への書き込みス
テージ、13…レジスタファイル、14…命令実行制御
部3から演算部5へのパス上の観測点、15…命令実行
制御部4から演算部6へのパス上の観測点、16…命令
実行制御部3からレジスタファイル13へのパス上の観
測点、17…命令実行制御部4からレジスタファイル1
3へのパス上の観測点、18…演算部5の出力上の観測
点、19…演算部6の出力上の観測点、20…観測点の
データによってデータ処理装置の状態を診断する故障検
出回路。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−132524(JP,A) 「マイクロコンピュータ・アーキテク チャシンポジウム論文集」社団法人情報 処理学会(1991−11)P.4−6 (58)調査した分野(Int.Cl.7,DB名) G06F 15/177,9/38

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】メモリからフェッチした複数の命令を並列
    に出力する並列実行制御回路と、 上記並列実行制御回路から上記複数の命令が並列に供給
    され、命令解読、命令実行制御および実行結果の書き込
    みのパイプラインステージを少なくとも有する複数の命
    令実行制御部と、 上記複数の命令実行制御部によって制御される複数の論
    理演算部と、 上記複数の命令実行制御部の複数の制御信号が供給され
    る故障検出回路とを具備してなり、 上記複数の制御信号から上記故障検出回路が上記複数の
    命令実行制御部の一方の故障を検出した場合に、上記並
    列実行制御回路は上記フェッチした複数の命令を順次に
    上記複数の命令実行制御部の正常な他方に供給し、実行
    すべき命令を上記複数の命令実行制御部の正常な他方に
    よって順次、実行せしめることをことを特徴とするデー
    タ処理装置。
  2. 【請求項2】上記複数の命令実行制御部による命令の並
    列実行によって衝突を生じる第1の命令と第2の命令と
    を上記複数の命令実行制御部の一方によって順次実行せ
    しめ、上記一方による上記第1の命令の実行と並行して
    上記第1の命令を上記複数の命令実行制御部の他方に
    って実行せしめ、かかる第1の命令の並列実行より上記
    故障検出回路は故障を検出することを特徴とする請求項
    1記載のデータ処理装置。
  3. 【請求項3】遅延分岐の手法による分岐命令に続く次命
    令を上記複数の命令実行制御部の一方によって実行せし
    め、上記一方による上記次命令の実行と並行して上記次
    命令を上記複数の命令実行制御部の他方によって実行せ
    しめ、かかる次命令の並列実行より上記故障検出回路は
    故障を検出することを特徴とする請求項1記載のデータ
    処理装置。
JP02096792A 1992-02-06 1992-02-06 データ処理装置 Expired - Fee Related JP3240660B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02096792A JP3240660B2 (ja) 1992-02-06 1992-02-06 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02096792A JP3240660B2 (ja) 1992-02-06 1992-02-06 データ処理装置

Publications (2)

Publication Number Publication Date
JPH05216852A JPH05216852A (ja) 1993-08-27
JP3240660B2 true JP3240660B2 (ja) 2001-12-17

Family

ID=12041944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02096792A Expired - Fee Related JP3240660B2 (ja) 1992-02-06 1992-02-06 データ処理装置

Country Status (1)

Country Link
JP (1) JP3240660B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2793526B2 (ja) * 1995-08-29 1998-09-03 茨城日本電気株式会社 スーパースカラープロセッサ
US6021511A (en) * 1996-02-29 2000-02-01 Matsushita Electric Industrial Co., Ltd. Processor
CN113608914B (zh) * 2021-08-10 2024-04-26 安谋科技(中国)有限公司 一种芯片、芯片的功能安全检测方法、介质和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「マイクロコンピュータ・アーキテクチャシンポジウム論文集」社団法人情報処理学会(1991−11)P.4−6

Also Published As

Publication number Publication date
JPH05216852A (ja) 1993-08-27

Similar Documents

Publication Publication Date Title
JP2597811B2 (ja) データ処理システム
US6615366B1 (en) Microprocessor with dual execution core operable in high reliability mode
US6772368B2 (en) Multiprocessor with pair-wise high reliability mode, and method therefore
US6058491A (en) Method and system for fault-handling to improve reliability of a data-processing system
CN111164578B (zh) 核内锁步模式的错误恢复
US7409589B2 (en) Method and apparatus for reducing number of cycles required to checkpoint instructions in a multi-threaded processor
US6640313B1 (en) Microprocessor with high-reliability operating mode
KR101546033B1 (ko) Smt 기계에서 비교 및 전달 명령어를 사용한 안정적 실행
US6301655B1 (en) Exception processing in asynchronous processor
US20090044044A1 (en) Device and method for correcting errors in a system having at least two execution units having registers
JPH02232737A (ja) パイプライン方式コンピューターシステムにおいてエラーを検出し訂正する方法及び装置
JPS6231379B2 (ja)
JPH07302200A (ja) 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
US20050108509A1 (en) Error detection method and system for processors that employs lockstepped concurrent threads
US5440703A (en) System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified
US7353365B2 (en) Implementing check instructions in each thread within a redundant multithreading environments
JPH11353179A (ja) パイプライン制御デ―タ処理装置における例外の処理
EP0770241A2 (en) Automated safestore stack generation and move in a fault tolerant central processor
JPS6218057B2 (ja)
US5408651A (en) Store "undo" for cache store error recovery
JP3240660B2 (ja) データ処理装置
US6125443A (en) Interrupt processing system and method for information processing system of pipeline control type
EP0212132A1 (en) Method and digital computer for recovering from errors
Tamir et al. The UCLA mirror processor: A building block for self-checking self-repairing computing nodes

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071019

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091019

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees