JP3621477B2 - How to retry a microprogram - Google Patents
How to retry a microprogram Download PDFInfo
- Publication number
- JP3621477B2 JP3621477B2 JP22993795A JP22993795A JP3621477B2 JP 3621477 B2 JP3621477 B2 JP 3621477B2 JP 22993795 A JP22993795 A JP 22993795A JP 22993795 A JP22993795 A JP 22993795A JP 3621477 B2 JP3621477 B2 JP 3621477B2
- Authority
- JP
- Japan
- Prior art keywords
- retry
- microprogram
- state
- process state
- event
- 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 - Lifetime
Links
Images
Landscapes
- Advance Control (AREA)
- Retry When Errors Occur (AREA)
- Executing Machine-Instructions (AREA)
Description
【0001】
【発明の属する技術分野】
情報処理装置のシステムダウンは社会的に大きな影響を及ぼすため、その信頼性の向上がより重要となっている。このため、マシーンチェック条件が発生した時、メモリやレジスタ等が更新されてない限りリトライさせること(命令の再実行)により、システムを間欠エラーから救済し、後続する一連の処理を行えるようにする必要がある。
本発明は、一般命令の実行を行うステート(プロセス・ステート)でプログラム割込みやマシーンチェック割込み等の各種割込み、あるいはその他の事象が発生した時、該プロセス・ステートから該事象を処理するためのマイクロプログラムの実行ステート(エンド・プロセス・ステート)に遷移する処理装置におけるマイクロプログラムのリトライ方法であり、特に、マイクロプログラム実行中にマシーンチェック条件が発生しても、マイクロプログラムのリトライが可能となるようにし、マイクロプログラム実行時に発生した間欠エラーから情報処理装置を救済し、信頼性を向上させるようにしたマイクロプログラムのリトライ方法に関する。
【0002】
【従来の技術】
従来、パイプラインを用いた情報処理装置(ステートマシーン)では、命令実行等の一般の処理は、通常プロセス・ステートと呼ばれるステートで行われる。かかるプロセス・ステートで命令実行中に、システムに対して直接の損傷を与え、かつ、処理の継続を不可能とするようなマシーンチェック条件が発生すると、情報処理装置の信頼性向上のために、メモリやレジスタ等の更新が行われない限り該情報処理装置のリトライを複数回行うことによって間欠エラーによるシステムダウンやマシーンチェック割込みから、該情報処理装置の救済を図っている。図6はステートマシーンの遷移状態図であり、ステートとしては、▲1▼一般命令を実行するプロセス・ステートS1、▲2▼パイプラインを初期化するクリアパイプラインステート(リストア・ステート)S2、▲3▼各種割込み、その他の事象に応じた処理をマイクロプログラムに従って実行するエンド・プロセス・ステートS3、▲4▼プロセッサCPUによる処理を開始させるためのスタート・ステートS4、▲5▼プロセッサCPUの処理を停止するためのストップ・ステートS5、▲6▼チェック・ストップ・ステートS6がある。
【0003】
図7はパイプライン処理における命令実行の処理単位(ステージ)の説明図である。パイプラインはたとえば10ステージで構成され、主記憶装置あるいはキャッシュメモリより命令を読み出すまでの命令フェッチパイプラインと、命令を解読して実行するまでのメインパイプラインに大別される。命令フェッチパイプラインは、▲1▼命令フェッチアドレス計算ステージIと、▲2▼命令アドレス変換ステージITと、▲3▼バッファ読み出しステージIBと、▲4▼命令のメインパイプラインへの投入ステージIRから成っている。メインパイプラインは、▲1▼命令の解読ステージDと、▲2▼主記憶装置におけるオペランドのアドレス計算ステージAと、▲3▼オペランドアドレス変換ステージTと、▲4▼オペランドの読み出しステージBと、▲5▼演算の実行ステージEと、▲6▼演算結果の格納ステージWとから成っている。
【0004】
図8はパイプライン処理の説明図である。命令列が図8(a)に示すようになっていると、各命令は図8(b)に示すように1つの命令の実行の終了を待たず次々と1ステージ毎に順次メインパイプラインに投入されて実行される。
かかるステートマシーンにおいては、例えば、プロセス・ステートS1で命令を実行中に割込みその他の事象が発生するとクリアパイプラインステートS2に移行し、該ステートS2においてパイプライン上で実行中の命令あるいは後続命令をキャンセルして初期化する。しかる後、エンド・プロセス・ステートS3に移行し、各種割込みあるいはステートの遷移を引き起こした事象に応じた所定のマイクロプログラムが起動し、該マイクロプログラムにより割込み処理等を行なう。マイクロプログラムによる処理終了後、スタート・ステートS4を介してプロセス・ステートS1に戻り、後続の命令がパイプライン処理により実行される。
【0005】
【発明が解決しようとする課題】
ところで、従来の情報処理装置(ステートマシーン)ではエンド・プロセス・ステートにおいてマシーンチェック条件が発生した時に、割込み点の保障がなされていなかった。このため、エンド・プロセス・ステートでマシーンチェック条件が発生すると、リトライを行うことができず、チェックストップとなり、後続する一連の処理の続行ができなかった。すなわち、従来はプロセス・ステートでしかリトライさせていなかったため、情報処理装置の信頼性が低いという問題があった。
【0006】
以上から本発明の目的は、エンド・プロセス・ステートでマシーンチェック条件が発生してもリトライを可能にして情報処理装置の信頼性を向上できるマイクロプログラムのリトライ方法を提供することである。
本発明の別の目的は、リトライが成功しない場合には、予め設定されている回数になるまでリトライを継続することにより情報処理装置の信頼性を向上できるマイクロプログラムのリトライ方法を提供することである。
本発明の更に別の目的は、割込みや各事象に応じたマイクロプログラムの先頭アドレスを記憶しておき、発生した事象に応じたマイクロプログラムを制御記憶装置より読み出してリトライできるマイクロプログラムのリトライ方法を提供することである。
【0007】
【課題を解決するための手段】
図1は本発明の原理説明図である。図中、1は発生事象保持部であり、プロセス・ステートからエンド・プロセス・ステートに遷移させてマイクロプログラムを実行させる契機となった事象(各種割込み等)を保持するもの、2はエンド・プロセス・ステートにおいてマシーンチェック条件が発生してもリトライが可能であるか、不可能であるかを監視するリトライ可能・不可能監視部、3は発生事象に応じたマイクロプログラムの先頭アドレスを出力するマイクロプログラムアドレス発生部、4はマイクロプログラムの実行中にマシーンチェック条件が発生した時、リトライ可能であれば、前記保持してある事象に応じたマイクロプログラムの先頭アドレスを出力するリトライ制御部、21は各種マイクロプログラムを記憶する制御記憶部(CS)、31は制御記憶部の読み出しアドレスを記憶するCSアドレスレジスタ、51はマイクロ命令の制御フィールドをデコードするデコーダである。
【0008】
プロセス・ステートにおいて一般命令の実行中に、プログラム割込みやマシーンチェック割込み等の各種割込み、あるいはその他の事象が発生した時、該事象を発生事象保持部1に記憶する。しかる後、プロセスステートからエンド・プロセス・ステートに移行し、該発生事象に応じたマイクロプログラムを制御記憶部21より読み出して処理を実行する。かかるエンド・プロセス・ステート中において、リトライ可能・不可能監視部2は、現時点においてマシーンチェック条件が発生してもリトライが可能であるか否かを監視する。そして、エンド・プロセス・ステート(マイクロプログラムの実行中)にマシーンチェック条件が発生すれば、リトライ制御部4はリトライ可能であるか否かを確認し、リトライ可能であれば、発生事象保持部1に保持してある事象に応じたマイクロプログラムの先頭アドレスをマイクロプログラムアドレス発生部3より求めてCSアドレスレジスタ31にセットして該マイクロプログラムを最初から再実行する(リトライ)。以上のようにすれば、エンド・プロセス・ステートでマシーンチェック条件が発生してもリトライが可能となり、情報処理装置の信頼性を向上できる。又、リトライが成功しない場合には、予め設定されている回数になるまでリトライを継続することにより情報処理装置の信頼性を向上できる。
【0009】
【発明の実施の形態】
(a)本発明の全体の構成
図2は本発明の全体構成図である。図中、11は本発明のマイクロプログラムリトライ制御を実行するマイクロプログラムリトライ制御回路、21は各種マイクロプログラムを記憶する制御記憶部(CS)である。マイクロプログラムを構成する各マイクロ命令は制御フィールドCFと次アドレスを示すシーケンス制御フィールドSFを有している。31は制御記憶部の読み出しアドレスを記憶するCSアドレスレジスタ、41は制御記憶部より読み出したマイクロ命令を記憶するマイクロ命令記憶レジスタ、51はマイクロ命令の制御フィールドCFをデコードして各種制御信号c1〜cmを図示しないデータ処理部に送出するデコーダ、61はリトライ制御回路より出力されるマイクロプログラムの先頭アドレスNEXT CS ADRS 及びマイクロ命令の次アドレスを適宜選択してCSアドレスレジスタ31にセットするセレクタである。セレクタ61はマイクロプログラム実行(ハードオペ実行)に際して、リトライ制御回路11より出力されるアドレスNEXT CS ADRS をCSアドレスレジスタ31にセットし、以後はマイクロ命令記憶レジスタ41に読み出されたマイクロ命令のシーケンス制御フィールドSFにおける次アドレスをCSアドレスレジスタ31にセットする。
【0010】
(b)マイクロプログラムのリトライ制御
図3はマイクロプログラムのリトライ制御のシーケンスであり、上段には情報処理装置のプロセッサのステート(状態)を示し、中断にリトライ制御回路11内の各種制御信号を示し、下段にプロセッサの処理内容を示している。
プロセス・ステートにおいて一般命令の実行中にプログラム例外(PROGRAM EXCEPTION)によりプログラム割込みが発生すると、該プログラム割込みはラッチされ、該割込みが解消するまで信号PX LCHが出力される。一方、プログラム例外(プログラムエラー)の検出によりリストア・ステートに移行し、信号PIPELINE CLEAR が”1”になる。リストア・ステートにおいてパイプラインの初期化が終了すると、ハードオペトリガHARD OP TGRが”1”になり、以後、プログラム割込みに応じたマイクロプログラムが制御記憶部21より読み出されてプログラム割込み処理が実行される。
【0011】
このプログラム割込み実行中に、マシーンチェック条件(ハードエラー)ERRが発生すると、ラッチされ(ERROR LCH=”1”)、所定時間遅延してハードマシーンチェックディテクト信号HMDが”1”になる。これにより、ハードオペトリガHARD OP TGRがローレベルになり、プログラム割込み処理が中断する。又、後述するリトライ可能・不可能監視部は、マシーンチェック条件が発生してもリトライが可能であるか、不可能であるかを監視しており、上記ハードマシーンチェックディテクト信号HMDが”1”になった時、リトライ可能であれば、ハードオペリトライラッチHARD OP RETRY LCHをハイレベルにする。又、ハードマシーンチェックディテクト信号HMDが”1”になると、リストア・ステートに移行し、信号PIPELINE CLEAR が”1”になる。
【0012】
リストア・ステートにおいてパイプラインの初期化が終了すると、ハードオペトリガHARD OP TGRが”1”になり、前記保持されているプログラム割込みPX LCHに応じたマイクロプログラムを制御記憶部21より読み出してプログラム割込み処理(ハードオペ)を再実行する(リトライ)。そして、この際、マシーンチェック条件が発生せず、プログラム割込み処理が終了すれば、エンドオペレーションEND OPがハイレベルになる。この結果、ハードオペトリガHARD OP TGR及びハードオペリトライラッチHARD OP RETRY LCHがローレベルになり、しかる後、スタート・ステートに移行して、スタート処理が行われ、この時点でラッチされているプログラム割込みPX LCHがローレベルになり、以後、プロセス・ステートに移行して、後続の命令がパイプライン処理される。
【0013】
(c)マイクロプログラムリトライ制御回路
図4及び図5はマイクロプログラムリトライ制御回路の構成図である。
図4はリトライ可能・不可能監視部の構成図、図5は発生事象保持部、マイクロプログラムアドレス発生部、リトライ制御部等のハードウェア部である。
図4のリトライ可能・不可能監視部2において、2aはフリップフロップ、2b,2cはオアゲート、2d,2eはアンドゲートである。
【0014】
フリップフロップ2aは、命令の実行が終了した時(エンドオペレーションEND OP=”1”)、あるいは、リストア・ステートにおいてパイプラインが初期化された時(CLEAR PIPELINE=”1”)にそれぞれセットされ、ハイレベルのリトライポイント信号RETRY POINTを出力する。又、フリップフロップ2aは、一般命令などハードウェアにより検出されるリトライ不可能点信号RESET RETRY HWにより、あるいは、マイクロにより検出されるリトライ不可能点信号RESET RETRY MICROによりリセットされ、リトライポイント信号RETRY POINTを”0”にする。アンドゲート2dはリトライポイント信号RETRY POINTがハイレベルの時にリトライ回数が設定回数に満たない場合(RETRY COUNT LESS THAN n=”1”)、ハイレベルの信号ENB RETRYを出力する。アンドゲート2eはエンド・プロセス・ステートにおいて、信号ENB RETRYがハイレベルの時にリトライ可能信号ENB RETRY HOPを出力する。
【0015】
すなわち、エンド・プロセス・ステートにおいて、リトライ可能であり、しかも、リトライ回数が設定回数に満たない場合には、アンドゲート2eよりハイレベルのリトライ可能信号ENB RETRY HOPが出力する。従って、この状態において、マシーンチェック条件が発生すると、後述するようにリトライが行われる。しかし、エンド・プロセス・ステートにおけるマイクロプログラムの実行(ハードオペの実行)によりレジスタ、メモリ等にデータが書き込まれてリトライ不可能になると、あるいはリトライ可能であってもリトライ回数が設定回数以上になると、リトライ可能信号ENB RETRY HOPはローレベルになり、リトライが不可能になる。
【0016】
図5において、1は発生事象保持部であり、プロセス・ステートからエンド・プロセス・ステートに遷移させてマイクロプログラムを実行させる契機となった事象(各種割込み等)を保持するもの、3は発生事象に応じたマイクロプログラムの先頭アドレスを出力するマイクロプログラムアドレス発生部、4はマイクロプログラムの実行中にマシーンチェック条件が発生した時、リトライ可能であれば、前記保持してある事象に応じたマイクロプログラムの先頭アドレスを出力してリトライを実行させるリトライ制御部である。
【0017】
発生事象保持部1において、1a〜1nはプロセス・ステートからエンド・プロセス・ステートに遷移させてマイクロプログラムを実行させる契機となる事象(各種割込み等)を保持するフリップフロップ、1sはオアゲートで、割込み処理等の終了によりスタート・ステートになった時(START STATE=”1”)、あるいは、プロセッサが停止してストップ・ステートになった時(STOP STATE=”1”)、フリップフロップ1a〜1nをリセットする。すなわち、各フリップフロップ1a〜1nはプロセス・ステートにおいてマイクロプログラムを実行させる契機となる事象が発生したときセットされ、該事象に対する処理が終了するまで、あるいは、プロセッサが停止状態になるまで該事象を保持する。
マイクロプログラムアドレス発生部3は、アンドゲート3a〜3nと、エンコーダ3sを備えている。リトライ可能状態において(ENB RETRY HOP=”1”)、所定の事象が発生してフリップフロップ1a〜1nがセットされると、該フリップフロップに応じたアンドゲート3a〜3nの出力がハイレベルになり、エンコーダ3sは発生事象に応じたマイクロプログラムの先頭アドレスSW HOP CODE(0:n)を出力する。
【0018】
リトライ制御部4において、4aはオアゲート、4bはアンドゲート、4cはフリップフロップ、4dはアンド・ノットアンドゲート、4e,4fはアドレスセレクタである。プロセス・ステートにおいて割込み等の事象が発生してフリップフロップ1a〜1nのいずれかがセットされると、オアゲート4aの出力がハイレベルになる。しかる後、リストア・ステートに移行してパイプラインの初期化が終了すると、クリアパイプラインエンド信号CLEAR PIPELINE ENDが発生する。フリップフロップ4cはこの信号CLEAR PIPELINE ENDによりセットされ、ハードオペにスイッチするための引き金となるハードオペトリガ信号HARD OP TGRを出力する。アドレスセレクタ4eはハードオペトリガ信号HARD OP TGRがハイレベルになり、マイクロプログラムの最初のフローである事を示す+ACNT0がハイレベルになった時に、マイクロプログラムアドレス発生部3から出力されているマイクロプログラムの先頭アドレスを次読出アドレスNEXT CS ADRSとして選択し、図2のCSアドレスレジスタ31にセットする。これにより、以後、発生事象に応じたマイクロプログラム処理が開始する。尚、ハードオペトリガ信号HARD OP TGRがローレベル、あるいはマイクロプログラムの次のフローからは、アドレスセレクタ4fが図示しない他の回路から出力されるアドレスをCSアドレス記憶部31にセットする。
尚、フリップフロップ4cは命令の実行が終了した時(エンドオペレーションEND OP=”1”)、あるいは、リストア・ステートにおいてパイプラインが初期化された時(CLEAR PIPELINE=”1”)にそれぞれセットされる。
【0019】
4g,4hはアンドゲート、4i,4jはフリップフロップ、4kはステートの遷移を制御するステータス制御回路である。
リトライ可能状態において(ENB RETRY HOP=”1”)、マシーンチェック条件が発生すると(HMD=”1”)、アンドゲート4gはハイレベルの信号SET HOP RTRY TGRを出力してフリップフロップ4iをセットする。フリップフロップ4iは、セットされると、ハードオペリトライラッチ信号HARD OP RETRY LCHを出力する。又、リトライ不可能状態において(ENB RETRY HOP=”0”)、マシーンチェック条件が発生すると(HMD=”1”)、アンドゲート4hはハイレベルの信号SET HK LCHを出力してフリップフロップ4jをセットする。フリップフロップ4jは、セットされると、ハード・マシーンチェック・ラッチHK LCHを出力する。
【0020】
ステータス制御回路4kは、リトライ可能状態においてマシーンチェック条件が発生してハードオペリトライラッチ信号HARD OP RETRY LCHがハイレベルになると、リストア・ステートに遷移させ、リストア・ステートの終了後(パイプラインクリア終了後)にエンド・プロセス・ステートに遷移するように制御し、更に、リトライ成功によりスタート・ステートに遷移するように制御する。
リトライ不可能状態においてマシーンチェック条件が発生してハード・マシーンチェック・ラッチHK LCHが”1”になると(否定信号*HK LCHは”0”)アンドゲート3a〜3nの全出力がローレベルになるため、マイクロプログラムの再実行(リトライ)はできない。
【0021】
(d)全体の制御
プロセス・ステートにおいて一般命令の実行中にプログラム例外(PROGRAM EXCEPTION)によりプログラム割込みが発生すると、フリップフロップ1a〜1n(図5)のいずれかがセットされる。これにより、マイクロプログラムアドレス発生部3は発生事象に応じたマイクロプログラムの先頭アドレスHARD OP CODE(0:n)を出力する。
一方、プログラム割込みによりステータス制御回路4kの制御でリストア・ステートに移行してパイプラインの初期化が終了すると、信号CLEAR PIPELINE ENDがハイレベルになる。この結果、フリップフロップ4cがセットされ、ハードオペトリガ信号HARD OP TGRがハイレベルになる。ハードオペトリガ信号HARD OP TGRがハイレベルになり、マイクロプログラムの最初のフローである事を示す+ACNT0がハイレベルとなった時に、アドレスセレクタ4eはマイクロプログラムアドレス発生部3から出力されているマイクロプログラムの先頭アドレスHARD OP CODE(0:n)をCSアドレスレジスタ31(図2)にセットする。以上により、発生事象に応じたマイクロプログラム処理が開始する。
【0022】
マイクロプログラム実行時(ハードオペ実行時)において、リトライ可能・不可能監視部2(図4)は、マシーンチェック条件が発生してもリトライが可能か否かを監視し、リトライ可能であれば、ハイレベルのリトライ可能信号ENB RETRY HOPを出力する。かかるリトライ可能状態において、マシーンチェック条件が発生すると(ハードマシーンチェックディテクト信号HMD=”1”)、フリップフロップ4cがリセットされると共に、フリップフロップ4iがセットされてハードオペリトライラッチ信号HARD OP RETRY LCHを出力する。これにより、ステータス制御回路4kは、エンド・プロセス・ステートからリストア・ステートに遷移させる。リストア・ステートにおいてパイプラインの初期化が終了すると、再びフリップフロップ4cがセットされ、ハードオペトリガ信号HARD OP TGRがハイレベルになる。この時、マイクロプログラムアドレス発生部3はフリップフロップ1a〜1nに保持されているプログラム割込みに応じたマイクロプログラムの先頭アドレスHARD OP CODE(0:n)を出力している。
【0023】
従って、アドレスセレクタ4eはハードオペトリガ信号HARD OP TGRがハイレベルになると、プログラム割込みに応じたマイクロプログラムの先頭アドレスHARD OP CODE(0:n)を再びCSアドレスレジスタ31にセットする。これにより、発生事象(プログラム割込み)に応じたマイクロプログラム処理の再実行(リトライ)が開始する。リトライが成功すれば、すなわち、マシーンチェック条件が発生せず、プログラム割込み処理が終了すれば、エンドオペレーション信号END OPが発生する。これにより、ステータス制御回路4kはステートをスタート・ステートに遷移し、各フリップフロップはリセットされ、以後、プロセス・ステートに移行して後続の命令がパイプライン処理される。
【0024】
一方、エンド・プロセス・ステートのリトライ不可能状態においてマシーンチェック条件が発生した場合は、フリップフロップ4jがセットされてハード・マシーンチェック・ラッチHK LCHが”1”になる(否定信号*HK LCHは”0”)。このため、アンドゲート3a〜3nの全出力がローレベルになり、フリップフロップ4cはセットされなくなり、マイクロプログラムの再実行(リトライ)は行われない。
以上、本発明を実施例により説明したが、本発明は請求の範囲に記載した本発明の主旨に従い種々の変形が可能であり、本発明はこれらを排除するものではない。
【0025】
【発明の効果】
以上本発明によれば、プロセス・ステートからエンド・プロセス・ステートに遷移させて、マイクロプログラムを実行させる契機となった事象を保持し、又、前記事象に応じたマイクロプログラムの実行中において、マシーンチェック条件が発生してもリトライが可能であるか、不可能であるかを監視し、マイクロプログラムの実行中にマシーンチェック条件が発生した時、リトライ可能状態であれば、前記保持してある事象に応じたマイクロプログラムを最初から実行するように構成したから、エンド・プロセス・ステートでマシーンチェック条件が発生してもリトライが可能となり、情報処理装置の信頼性を向上できる。
又、本発明によれば、リトライが成功しない場合、予め設定されている回数になるまでリトライを継続することができ、信頼性を更に向上することができる。
更に、本発明によれば、割込みや各事象に応じたマイクロプログラムの先頭アドレスを出力する手段を設け、発生事象に応じたマイクロプログラムを該先頭アドレスより読み出して処理することができるため、ハードオペ時にマシーンチェック条件が発生しても、又、リトライが失敗しても設定回数まで何回も該事象に応じたマイクロプログラムのリトライができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の全体構成図である。
【図3】本発明のリトライ制御のシーケンス説明図である。
【図4】本発明のリトライ可能・不可能監視部の構成図である。
【図5】本発明のマイクロプログラムリトライ制御回路の構成図である。
【図6】ステートマシーンにおける遷移状態図である。
【図7】命令実行の処理単位の説明図である。
【図8】パイプライン処理の説明図である。
【符号の説明】
1・・発生事象保持部
2・・リトライ可能・不可能監視部
3・・マイクロプログラムアドレス発生部
4・・リトライ制御部
21・・制御記憶部(CS)
31・・CSアドレスレジスタ
51・・デコーダ[0001]
BACKGROUND OF THE INVENTION
Since the system down of the information processing apparatus has a great social impact, it is more important to improve its reliability. For this reason, when a machine check condition occurs, the system is retried (re-execution of an instruction) by retrying unless the memory, registers, etc. are updated, so that a series of subsequent processes can be performed. There is a need.
In the present invention, when various interrupts such as a program interrupt and a machine check interrupt or other events occur in a state (process state) in which a general instruction is executed, a micro process for processing the event from the process state is performed. This is a microprogram retry method in a processor that transitions to the program execution state (end process state). In particular, even if a machine check condition occurs during microprogram execution, the microprogram can be retried. In addition, the present invention relates to a microprogram retry method that relieves an information processing apparatus from intermittent errors that occur during execution of a microprogram and improves reliability.
[0002]
[Prior art]
Conventionally, in an information processing apparatus (state machine) using a pipeline, general processing such as instruction execution is normally performed in a state called a process state. When a machine check condition occurs that directly damages the system and makes it impossible to continue processing during instruction execution in such a process state, in order to improve the reliability of the information processing apparatus, As long as the memory and registers are not updated, the information processing apparatus is retried a plurality of times to recover the information processing apparatus from a system down or machine check interrupt due to an intermittent error. FIG. 6 is a state machine transition state diagram: (1) a process state S1 for executing a general instruction, (2) a clear pipeline state (restore state) S2 for initializing a pipeline, 3) End process state S3 for executing processing according to various interrupts and other events in accordance with the microprogram, (4) Start state S4 for starting processing by the processor CPU, and (5) Processing of the processor CPU There are a stop state S5 for stopping, and a check stop state S6.
[0003]
FIG. 7 is an explanatory diagram of processing units (stages) of instruction execution in pipeline processing. The pipeline is composed of, for example, 10 stages, and is roughly divided into an instruction fetch pipeline until an instruction is read from the main memory or cache memory, and a main pipeline until the instruction is decoded and executed. The instruction fetch pipeline includes (1) instruction fetch address calculation stage I, (2) instruction address conversion stage IT, (3) buffer read stage IB, and (4) instruction input stage IR to the main pipeline. It is made up. The main pipeline includes (1) instruction decode stage D, (2) operand address calculation stage A in the main memory, (3) operand address conversion stage T, and (4) operand read stage B. (5) Computation execution stage E and (6) Computation result storage stage W.
[0004]
FIG. 8 is an explanatory diagram of pipeline processing. If the instruction sequence is as shown in FIG. 8A, each instruction sequentially enters the main pipeline for each stage without waiting for the end of execution of one instruction as shown in FIG. 8B. It is submitted and executed.
In such a state machine, for example, when an interrupt or other event occurs during execution of an instruction in the process state S1, the process proceeds to the clear pipeline state S2, and an instruction being executed on the pipeline in the state S2 or a subsequent instruction is transferred. Cancel and initialize. Thereafter, the process proceeds to the end process state S3, and a predetermined microprogram corresponding to the event that caused various interrupts or state transitions is started, and interrupt processing or the like is performed by the microprogram. After completion of the processing by the microprogram, the process returns to the process state S1 via the start state S4, and the subsequent instruction is executed by pipeline processing.
[0005]
[Problems to be solved by the invention]
By the way, in the conventional information processing apparatus (state machine), when a machine check condition occurs in the end process state, the interrupt point is not guaranteed. For this reason, when a machine check condition occurs in the end process state, the retry cannot be performed, the check is stopped, and the subsequent series of processes cannot be continued. In other words, conventionally, retry has been performed only in the process state, and there has been a problem that the reliability of the information processing apparatus is low.
[0006]
Accordingly, an object of the present invention is to provide a microprogram retry method capable of retrying even if a machine check condition occurs in an end process state and improving the reliability of the information processing apparatus.
Another object of the present invention is to provide a microprogram retry method capable of improving the reliability of the information processing apparatus by continuing the retry until a predetermined number of times is reached if the retry is not successful. is there.
Still another object of the present invention is to provide a microprogram retry method in which the start address of a microprogram corresponding to an interrupt or each event is stored, and the microprogram corresponding to the generated event can be read from the control storage device and retried. Is to provide.
[0007]
[Means for Solving the Problems]
FIG. 1 is a diagram illustrating the principle of the present invention. In the figure, 1 is an occurrence event holding unit, which holds events (various interrupts, etc.) that trigger the execution of a microprogram by transitioning from a process state to an end process state, and 2 is an end process Retry is possible to monitor whether a retry is possible or not possible even if a machine check condition occurs in the state. Impossible monitoring unit 3 is a micro that outputs the start address of the microprogram according to the occurrence event. A program
[0008]
When various interrupts such as a program interrupt and a machine check interrupt or other events occur during execution of a general instruction in the process state, the event is stored in the generated
[0009]
DETAILED DESCRIPTION OF THE INVENTION
(A) Overall configuration of the present invention
FIG. 2 is an overall configuration diagram of the present invention. In the figure, 11 is a microprogram retry control circuit for executing the microprogram retry control of the present invention, and 21 is a control storage unit (CS) for storing various microprograms. Each microinstruction constituting the microprogram has a control field CF and a sequence control field SF indicating the next address. 31 is a CS address register for storing the read address of the control storage unit, 41 is a microinstruction storage register for storing the microinstruction read from the control storage unit, and 51 is a control signal c for decoding the control field CF of the microinstruction. 1
[0010]
(B) Microprogram retry control
FIG. 3 shows a retry sequence of the microprogram. The upper stage shows the state of the processor of the information processing apparatus, the interruption shows various control signals in the retry control circuit 11, and the lower stage shows the processing contents of the processor. Show.
When a program interrupt occurs due to a program exception (PROGRAM EXCEPTION) during execution of a general instruction in the process state, the program interrupt is latched, and the signal PX LCH is output until the interrupt is cleared. On the other hand, when a program exception (program error) is detected, the state shifts to the restore state, and the signal PIPELINE CLEAR becomes “1”. When the pipeline initialization is completed in the restore state, the hard operation trigger HARD OP TGR is set to “1”. Thereafter, the microprogram corresponding to the program interrupt is read from the
[0011]
If a machine check condition (hard error) ERR occurs during execution of this program interrupt, it is latched (ERROR LCH = “1”), and the hard machine check detect signal HMD becomes “1” after a predetermined time delay. As a result, the hard operation trigger HARD OP TGR becomes low level, and the program interrupt processing is interrupted. A retry possible / impossible monitoring unit described later monitors whether a retry is possible or not even if a machine check condition occurs, and the hard machine check detect signal HMD is "1". If retry is possible, the hard operation retry latch HARD OP RETRY LCH is set to high level. Further, when the hard machine check detect signal HMD becomes “1”, the state shifts to the restore state and the signal PIPELINE CLEAR becomes “1”.
[0012]
When the initialization of the pipeline is completed in the restore state, the hard operation trigger HARD OP TGR becomes “1”, and the microprogram corresponding to the held program interrupt PX LCH is read from the
[0013]
(C) Microprogram retry control circuit
4 and 5 are configuration diagrams of the microprogram retry control circuit.
FIG. 4 is a configuration diagram of the retry possible / impossible monitoring unit, and FIG. 5 is a hardware unit such as an occurrence event holding unit, a microprogram address generation unit, a retry control unit, and the like.
In the retry possible /
[0014]
The flip-flop 2a is set when the execution of the instruction ends (end operation END OP = “1”) or when the pipeline is initialized in the restore state (CLEAR PIPELINE = “1”), respectively. A high-level retry point signal RETRY POINT is output. Further, the flip-flop 2a is reset by a non-retry point signal RESET RETRY HW detected by hardware such as a general instruction or by a non-retry point signal RESET RETRY MICRO detected by a micro and a retry point signal RETRY POINT Set to “0”. The AND
[0015]
That is, in the end process state, when retry is possible, and when the number of retries is less than the set number, the AND
[0016]
In FIG. 5, 1 is an occurrence event holding unit that holds an event (various interrupts, etc.) that triggers execution of a microprogram by transitioning from a process state to an end process state, and 3 is an occurrence event. A microprogram address generator for outputting the start address of a microprogram according to the above, 4 is a microprogram corresponding to the held event if a machine check condition occurs during execution of the microprogram and if a retry is possible This is a retry control unit that outputs the head address of and executes a retry.
[0017]
In the generated
The microprogram address generating unit 3 includes AND gates 3a to 3n and an encoder 3s. In a retryable state (ENB RETRY HOP = "1"), when a predetermined event occurs and the flip-flops 1a to 1n are set, the outputs of the AND gates 3a to 3n corresponding to the flip-flops become high level. The encoder 3s outputs the start address SW HOP CODE (0: n) of the microprogram corresponding to the generated event.
[0018]
In the retry
The flip-
[0019]
4g and 4h are AND gates, 4i and 4j are flip-flops, and 4k is a status control circuit for controlling state transition.
When a machine check condition occurs (ENB RETRY HOP = "1") in the retry enabled state (HMD = "1"), the AND gate 4g outputs a high level signal SET HOP RTRY TGR to set the flip-flop 4i. . When set, the flip-flop 4i outputs a hard operation retry latch signal HARD OP RETRY LCH. In a state where retry is not possible (ENB RETRY HOP = “0”), when a machine check condition occurs (HMD = “1”), the AND gate 4h outputs a high level signal SET HK LCH and outputs the flip-
[0020]
The
When a machine check condition occurs in the retry impossible state and the hard machine check latch HK LCH becomes "1" (negative signal * HK LCH is "0"), all outputs of the AND gates 3a to 3n become low level. Therefore, re-execution (retry) of the microprogram is not possible.
[0021]
(D) Overall control
If a program interrupt occurs due to a program exception (PROGRAM EXCEPTION) during execution of a general instruction in the process state, one of the flip-flops 1a to 1n (FIG. 5) is set. As a result, the microprogram address generator 3 outputs the start address HARD OP CODE (0: n) of the microprogram corresponding to the generated event.
On the other hand, when the transition to the restore state is completed under the control of the
[0022]
When executing a microprogram (when executing a hardware operation), the retry possible / impossible monitoring unit 2 (FIG. 4) monitors whether a retry is possible even if a machine check condition occurs. A level retry enable signal ENB RETRY HOP is output. In such a retryable state, when a machine check condition occurs (hard machine check detect signal HMD = "1"), the flip-
[0023]
Therefore, the
[0024]
On the other hand, when the machine check condition occurs in the end process state where retry is not possible, the flip-
The present invention has been described with reference to the embodiments. However, the present invention can be variously modified in accordance with the gist of the present invention described in the claims, and the present invention does not exclude these.
[0025]
【The invention's effect】
As described above, according to the present invention, the process state is changed to the end process state, the event that triggers the execution of the microprogram is held, and during the execution of the microprogram corresponding to the event, Whether or not a retry is possible even if a machine check condition occurs is monitored, and if a machine check condition occurs during execution of a microprogram, if it is in a retryable state, it is retained Since the microprogram corresponding to the event is executed from the beginning, it is possible to retry even if a machine check condition occurs in the end process state, and the reliability of the information processing apparatus can be improved.
Further, according to the present invention, when the retry is not successful, the retry can be continued until the preset number of times is reached, and the reliability can be further improved.
Furthermore, according to the present invention, means for outputting the start address of the microprogram corresponding to the interrupt or each event is provided, and the microprogram corresponding to the generated event can be read and processed from the start address. Even if a machine check condition occurs or a retry fails, the microprogram can be retried as many times as the set number of times.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating the principle of the present invention.
FIG. 2 is an overall configuration diagram of the present invention.
FIG. 3 is a sequence explanatory diagram of retry control according to the present invention.
FIG. 4 is a configuration diagram of a retry enable / disable monitoring unit according to the present invention.
FIG. 5 is a configuration diagram of a microprogram retry control circuit of the present invention.
FIG. 6 is a transition state diagram in the state machine.
FIG. 7 is an explanatory diagram of a processing unit of instruction execution.
FIG. 8 is an explanatory diagram of pipeline processing.
[Explanation of symbols]
1 .. Occurrence holding section
2. ・ Retry possible / impossible monitoring part
3. Microprogram address generator
4. Retry control unit
21 .. Control memory (CS)
31. CS address register
51 .. Decoder
Claims (3)
プロセス・ステートからエンド・プロセス・ステートに遷移させて、マイクロプログラムを実行させる契機となった事象を保持し、
前記事象に応じたマイクロプログラムの実行中において、マシーンチェック条件が発生してもリトライが可能であるか否かを監視し、該マイクロプログラムの実行によりレジスタ、メモリにデータが書込まれた時、リトライ不可能とし、
マイクロプログラムの実行中にマシーンチェック条件が発生した時、リトライ可能状態であれば、前記保持してある事象に応じたマイクロプログラムを最初から実行する、
ことを特徴とするマイクロプログラムのリトライ方法。When various interrupts or other events occur in the general instruction execution state (process state), the microprogram execution state (end process state) is processed from the process state to the event. In the retry method of the microprogram in the end process state of the processing device to which transition is made,
Holds the event that caused the microprogram to run by transitioning from the process state to the end process state,
When the microprogram corresponding to the event is executed, it is monitored whether a retry is possible even if a machine check condition occurs, and when data is written to a register or memory by executing the microprogram , Retry impossible,
When a machine check condition occurs during execution of a microprogram, if the retry is possible, the microprogram corresponding to the held event is executed from the beginning .
A microprogram retry method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22993795A JP3621477B2 (en) | 1995-09-07 | 1995-09-07 | How to retry a microprogram |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22993795A JP3621477B2 (en) | 1995-09-07 | 1995-09-07 | How to retry a microprogram |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0973391A JPH0973391A (en) | 1997-03-18 |
JP3621477B2 true JP3621477B2 (en) | 2005-02-16 |
Family
ID=16900067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22993795A Expired - Lifetime JP3621477B2 (en) | 1995-09-07 | 1995-09-07 | How to retry a microprogram |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3621477B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7124670B2 (en) * | 2018-11-26 | 2022-08-24 | 富士通株式会社 | Arithmetic processing device and method of controlling arithmetic processing device |
-
1995
- 1995-09-07 JP JP22993795A patent/JP3621477B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0973391A (en) | 1997-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4701915A (en) | Error recovery system in a data processor having a control storage | |
US4710866A (en) | Method and apparatus for validating prefetched instruction | |
JPH02257219A (en) | Pipeline processing apparatus and method | |
JPH1021074A (en) | Interruption control system, processor, and computer system | |
JP2513417B2 (en) | Information processing device | |
US7370230B1 (en) | Methods and structure for error correction in a processor pipeline | |
JPH0760388B2 (en) | Pipeline control circuit | |
JPS6218057B2 (en) | ||
JP3338488B2 (en) | Data processing device verification method and device | |
JP3621477B2 (en) | How to retry a microprogram | |
US5283891A (en) | Error information saving apparatus of computer | |
EP0212132A1 (en) | Method and digital computer for recovering from errors | |
JPH1196006A (en) | Information processor | |
US5673391A (en) | Hardware retry trap for millicoded processor | |
JPS5868162A (en) | Retry processing system | |
JP2793386B2 (en) | Computer error information storage device for computer | |
JP2793396B2 (en) | Computer status holding device | |
JPS6161412B2 (en) | ||
JPH04181331A (en) | Instruction retry system | |
JPS60214043A (en) | Pipeline control circuit | |
JP2545594B2 (en) | Operand data prefetching method | |
JPS6155744A (en) | Recovery processing of errors | |
JPH0797326B2 (en) | Information processing equipment | |
JPH0581175A (en) | Retry control system of data transfer | |
JPH0752402B2 (en) | Data processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040831 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041018 |
|
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: 20041116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041118 |
|
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: 20081126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091126 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101126 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101126 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131126 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |