JPS6019016B2 - 命令再試行方式 - Google Patents
命令再試行方式Info
- Publication number
- JPS6019016B2 JPS6019016B2 JP751283A JP128375A JPS6019016B2 JP S6019016 B2 JPS6019016 B2 JP S6019016B2 JP 751283 A JP751283 A JP 751283A JP 128375 A JP128375 A JP 128375A JP S6019016 B2 JPS6019016 B2 JP S6019016B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- retry
- checkpoint
- retrying
- 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
Links
Landscapes
- Retry When Errors Occur (AREA)
Description
【発明の詳細な説明】
この発明はマイクロプログラム制御方式計算機における
命令再試行方式に関するものである。
命令再試行方式に関するものである。
従来の障害検出回路を有する計算機等において、プログ
ラムの実行中に障害を検出した場合には、機械割込を発
生させ、監理プログラムにその原因を知らせるのが一般
である。この場合実行していたプログラムだけを再ロー
ドし再実行したり、すべてのプログラムを再ロードし、
はじめから再実行せねばならない。この発明の目的は計
算機等に命令再試行の機能を付加することにより、障害
が発生した場合、命令再試行を行い、成功した場合には
、その時実行中のプログラムには何ら影響を与えないよ
うにすることにある。
ラムの実行中に障害を検出した場合には、機械割込を発
生させ、監理プログラムにその原因を知らせるのが一般
である。この場合実行していたプログラムだけを再ロー
ドし再実行したり、すべてのプログラムを再ロードし、
はじめから再実行せねばならない。この発明の目的は計
算機等に命令再試行の機能を付加することにより、障害
が発生した場合、命令再試行を行い、成功した場合には
、その時実行中のプログラムには何ら影響を与えないよ
うにすることにある。
さらにもう一つの目的は、比較的規則的な論理回路で構
成されるマイクロプログラム制御方式計算機に、マイク
ロプ。グラム制御方式の特徴を生かした命令再試行方式
を適用することにより命令再試行のための不規則論理回
路を技少限にとどめることにある。次に本発明の一実施
例によって、その特徴を説明する。
成されるマイクロプログラム制御方式計算機に、マイク
ロプ。グラム制御方式の特徴を生かした命令再試行方式
を適用することにより命令再試行のための不規則論理回
路を技少限にとどめることにある。次に本発明の一実施
例によって、その特徴を説明する。
第1図は命令再試行可能な計算機の中央処理袋鷹のブロ
ック図であり、1,2,3,4は共に命令アドレス、命
令オペランドアドレス、オペランド、中間結果等の情報
が入れうれるワーキングレジスタであり、それぞれAR
,BR,TR,MDレジスタと呼ぶ。5は演算器ALU
であり、加減算、およびAND,OR等の論理演算を行
う。
ック図であり、1,2,3,4は共に命令アドレス、命
令オペランドアドレス、オペランド、中間結果等の情報
が入れうれるワーキングレジスタであり、それぞれAR
,BR,TR,MDレジスタと呼ぶ。5は演算器ALU
であり、加減算、およびAND,OR等の論理演算を行
う。
6はシフタSで、ALU5の演算結果のシフトを行う。
7はスクラツチメモリSMであり、汎用レジスタ、プロ
グラムステイタスレジスタ等が入れられる。8は主メモ
リMM、9はメモリアドレスレジスタMAである。
グラムステイタスレジスタ等が入れられる。8は主メモ
リMM、9はメモリアドレスレジスタMAである。
1 0は条件コードレジスタCCであり命令の実行結果
の条件によってセットされる。
の条件によってセットされる。
11はカウンタCTで可変長オペランド命令のオペラン
ドの長さ等が入れられる。
ドの長さ等が入れられる。
17は制御メモリCMでマイクロプログラムが格納され
、16は制御メモリアドレスレジスタRAで、18はマ
イクロィンストラクションが読み出される制御メモリデ
ータレジスタRDである。
、16は制御メモリアドレスレジスタRAで、18はマ
イクロィンストラクションが読み出される制御メモリデ
ータレジスタRDである。
12は命令アドレス待避レジスタPBであり、命令アド
レス、第1オペランドァドレスが待避される。
レス、第1オペランドァドレスが待避される。
13はオペランドアドレス待避レジスタPDで第2オペ
ランドァドレスが待避される。
ランドァドレスが待避される。
14は条件コード待避レジスタCBであり、条件コード
CCが待避され、15はカウンタ待避レジスタCTBで
ありカウンタCTが待避される。
CCが待避され、15はカウンタ待避レジスタCTBで
ありカウンタCTが待避される。
19はリトライレジスタRTEでチェックポイントの個
所の識別用に使用される。
所の識別用に使用される。
20はリトラィカウンタRCで再試行の回数を記録する
。
。
第2図にマイクロィンストラクションの一部を示す。
これは第1図のRDレジスタ18に読み出される内容で
ある。21,22は命令再試行を制御するフィールドで
それぞれRV,RTフィールドと呼ばれる。
ある。21,22は命令再試行を制御するフィールドで
それぞれRV,RTフィールドと呼ばれる。
RVフィールドは、このマイクロインストラクションを
含む命令が再試行が可か不可かを示すものである。命令
再試行可とするのは、再試行するための情報が残ってい
る場合、不可とするのは再試行のための情報が失われて
いる場合である。RTフィールド22は、命令再試行の
チェックポイントで再試行用の情報を待避するための制
御を行う。マイクロインストラクションの他のフィール
ドの説明は通常の使用方法なので省略する。第3図は命
令実行のためのマイクロプログラムの概略フローチャー
トである。
含む命令が再試行が可か不可かを示すものである。命令
再試行可とするのは、再試行するための情報が残ってい
る場合、不可とするのは再試行のための情報が失われて
いる場合である。RTフィールド22は、命令再試行の
チェックポイントで再試行用の情報を待避するための制
御を行う。マイクロインストラクションの他のフィール
ドの説明は通常の使用方法なので省略する。第3図は命
令実行のためのマイクロプログラムの概略フローチャー
トである。
23は命令再試行のチェックポイントで、命令フェツチ
の直前に実行され、すべての命令に共通である。
の直前に実行され、すべての命令に共通である。
ここではARレジスタ1に入れられている命令アドレス
が命令アドレス待避レジスタPB12に待避され、コン
ディションコードレジスタCCIOの内容がコンディシ
ョンコード待避レジスタCB14に待避され、さらにチ
ェックポイントの場所を示すために、リトライレジスタ
RTFI9に定数の0がセットされる。これらはマイク
ロインストラクションのRTフィールド22で制御され
る。24では命令フェツチを、25では命令のデコード
を行い、固定長オペランド命令か、可変長オペランド命
令かを判断する。
が命令アドレス待避レジスタPB12に待避され、コン
ディションコードレジスタCCIOの内容がコンディシ
ョンコード待避レジスタCB14に待避され、さらにチ
ェックポイントの場所を示すために、リトライレジスタ
RTFI9に定数の0がセットされる。これらはマイク
ロインストラクションのRTフィールド22で制御され
る。24では命令フェツチを、25では命令のデコード
を行い、固定長オペランド命令か、可変長オペランド命
令かを判断する。
固定長オペランド命令の場合には26でオペランドアド
レス計算を、27で命令の実行を行う。可変長オペラン
ド命令の場合には、28でオペランドアドレス計算を、
29は命令再試行のためのチェックポイントで、再試行
のための情報を待避する。すなわちARレジスタ1に入
れられた第1オペランドアドレスを命令アドレス待避レ
ジスタPB12に、BRレジスタ2に入れられた第2オ
ペランドアドレスをオペランドアドレス待避レジスタP
D13に待避し、チェックポイントを示すために定数の
1がリトライレジスタRTFI9にセットされる。30
では単位の命令実行を行い、31で命令の未処理オペラ
ンド数を示すカウントが0でなければチェックポイント
29に戻る。
レス計算を、27で命令の実行を行う。可変長オペラン
ド命令の場合には、28でオペランドアドレス計算を、
29は命令再試行のためのチェックポイントで、再試行
のための情報を待避する。すなわちARレジスタ1に入
れられた第1オペランドアドレスを命令アドレス待避レ
ジスタPB12に、BRレジスタ2に入れられた第2オ
ペランドアドレスをオペランドアドレス待避レジスタP
D13に待避し、チェックポイントを示すために定数の
1がリトライレジスタRTFI9にセットされる。30
では単位の命令実行を行い、31で命令の未処理オペラ
ンド数を示すカウントが0でなければチェックポイント
29に戻る。
1単位の命令実行とは、一つのチェックポイントから次
のチェックポイントまでに行う命令実行の処理単位であ
る。
のチェックポイントまでに行う命令実行の処理単位であ
る。
第4図は命令形式の例である。
32は固定長オペランド命令であり、OPは命令コード
で、第1オペランドはR・で示される汎用レジスタの内
容であり、第2オペランドX2で示される汎用レジスタ
の内容に、B2で示される汎用レジスタの内容を加算し
、さらにD2の内容を加算してその結果をアドレスとす
るメモリの内容である。
で、第1オペランドはR・で示される汎用レジスタの内
容であり、第2オペランドX2で示される汎用レジスタ
の内容に、B2で示される汎用レジスタの内容を加算し
、さらにD2の内容を加算してその結果をアドレスとす
るメモリの内容である。
33は可変長オペランド命令であり、OPは命令コード
、Crはオペランドの長さを示すカウント指定であり、
第1オペランドB,で示される汎用レジスタの内容とD
,の内容を加算し、その結果をアドレスとするメモリの
内容であり、第2オペランドはB2で示される汎用レジ
スタの内容とD2の内客を加算し、その結果をアドレス
とするメモリの内容である。
、Crはオペランドの長さを示すカウント指定であり、
第1オペランドB,で示される汎用レジスタの内容とD
,の内容を加算し、その結果をアドレスとするメモリの
内容であり、第2オペランドはB2で示される汎用レジ
スタの内容とD2の内客を加算し、その結果をアドレス
とするメモリの内容である。
第5図は障害が発生した時の命令の再試行と障害情報の
記録を行うマシンチェックマイクロプログラムルーチン
の概略フローチャートである。
記録を行うマシンチェックマイクロプログラムルーチン
の概略フローチャートである。
隙タ書が発生するとマイクロプログラムトラツブを発生
させて、マイクロプログラムのアドレスを、マシンチェ
ックマイクロプログラムルーチンの先頭にセットする。
34では故障情報をスクラッチメモリSM7に待避する
。
させて、マイクロプログラムのアドレスを、マシンチェ
ックマイクロプログラムルーチンの先頭にセットする。
34では故障情報をスクラッチメモリSM7に待避する
。
35では障害が発生したZマイクロインストラクシヨン
のRVフイールド21を参照し、命令の再試行が可能の
場合には36に、不可能の場合は40に飛ぶ。
のRVフイールド21を参照し、命令の再試行が可能の
場合には36に、不可能の場合は40に飛ぶ。
36iでは命令再試行の回数を記録するりトライカウン
タ20の内容を調べ、規定回数再試行を行っていれば、
再試Z行不可とし40‘こ、そうでなければ再試行可と
して37に進む。
タ20の内容を調べ、規定回数再試行を行っていれば、
再試Z行不可とし40‘こ、そうでなければ再試行可と
して37に進む。
37ではリトライレジスタRTFI9の内容によってブ
ランチを行い、0の場合には38に、1の場合は39に
飛ぶ。
ランチを行い、0の場合には38に、1の場合は39に
飛ぶ。
38では第3図の23のチェックポイント1で待避され
た命令2アドレス、条件コードを命令アドレス待避レジ
スタPB12、コンディションコード待避レジスタCB
14からARレジスタ1、条件コ‐−ドレジスタCCI
O‘こ回復し、第3図の24に戻って命令の再試行を行
う。
た命令2アドレス、条件コードを命令アドレス待避レジ
スタPB12、コンディションコード待避レジスタCB
14からARレジスタ1、条件コ‐−ドレジスタCCI
O‘こ回復し、第3図の24に戻って命令の再試行を行
う。
39では第3図の29のチェック2ポイント2で待避さ
れた第1オペランドアドレス、第2オペランドアドレス
、未処理オペランドカウントを、命令アドレス待避レジ
スタPB12、オペランドアドレス待避レジスタPD1
3、カウンタ待避レジスタCTB15からARレジスタ
1、BRレジスタ2、CTレジスタ11に回復し、30
1こ戻って命令の再試行を行う。
れた第1オペランドアドレス、第2オペランドアドレス
、未処理オペランドカウントを、命令アドレス待避レジ
スタPB12、オペランドアドレス待避レジスタPD1
3、カウンタ待避レジスタCTB15からARレジスタ
1、BRレジスタ2、CTレジスタ11に回復し、30
1こ戻って命令の再試行を行う。
40は命令再試行が不可能の場合に実行し、34でスク
ラッチメモリSM7に待避された障害情報を主メモリM
M8に格納し、次に機械チェックの割込を発生させる。
ラッチメモリSM7に待避された障害情報を主メモリM
M8に格納し、次に機械チェックの割込を発生させる。
第3図、第5図の例ではチェックポイントを2ケ所しか
設けなかったが、実際的には、命令の種類に応じて、さ
らに幾つかの」チェックポイントを設けてよい。以上の
ようにこの発明の一実施例で説明したように、この発明
を実施することにより、故障が発生した場合においても
、命令再試行を行い、成功すれば、その時実行中であっ
たプログラムには何ら影響を与えることはない。
設けなかったが、実際的には、命令の種類に応じて、さ
らに幾つかの」チェックポイントを設けてよい。以上の
ようにこの発明の一実施例で説明したように、この発明
を実施することにより、故障が発生した場合においても
、命令再試行を行い、成功すれば、その時実行中であっ
たプログラムには何ら影響を与えることはない。
一方故障は、素子の性質にもよるが、はじめは間欠的に
故障し、次第にその間隔が短かくなりついに固定故障と
なることが多い。このような故障では、命令の再試行は
有効となる。またこの発明の特徴はマイクロィンストラ
クションのフィールドに命令再試行のためのフィールド
を設け、命令再試行の制御とチェックポイントの制御を
行なわせるようにしたことである。
故障し、次第にその間隔が短かくなりついに固定故障と
なることが多い。このような故障では、命令の再試行は
有効となる。またこの発明の特徴はマイクロィンストラ
クションのフィールドに命令再試行のためのフィールド
を設け、命令再試行の制御とチェックポイントの制御を
行なわせるようにしたことである。
従来の命令再試行方式ではこの種の制御は内部状態とし
てレジスタ等に記憶され複雑な論理回路を構成していた
が、この発明の方式ではこれらのほとんどがマイクロプ
ログラムに吸収され、不規則論理回路が減少する。
てレジスタ等に記憶され複雑な論理回路を構成していた
が、この発明の方式ではこれらのほとんどがマイクロプ
ログラムに吸収され、不規則論理回路が減少する。
0 第1図は本発明を実施したマイクロプログラム制御
計算機の中央処理装置のブロック図の例である。 第2図はマイクロィンストラクションの一部分であり、
21,22は本発明の特徴である命令再試行のためのフ
ィールドである。第3図は命令タ実行のためのマイクロ
プログラムの概略フローチャートである。第4図は固定
長オペランド命令と、可変長オペランド命令の形式の例
である。第5図は障害が発生した場合に障害の記録と、
命令再試行の制御を行うマシンチェックマイクロプロo
グラムルーチンの概略フローチャートである。図中、1
,2はワーキングレジスタ、5は演算器、7はスクラツ
チメモリ、8は主メモリ、10は条件コードレジスタ、
11はカウソタ、12は命令アドレス待避レジスタ、1
3はオペランドア3タドレス待避レジスタ、14は条件
コード待避レジスタ、15はカウンタ待避レジスタ、1
7はマイクロプログラムが格納された制御メモリ、18
は制御メモリデータレジスタ、19はリトラィレジスタ
、20はリトライカウンタである。第1図 第2図 第4図 第3図 第5図
計算機の中央処理装置のブロック図の例である。 第2図はマイクロィンストラクションの一部分であり、
21,22は本発明の特徴である命令再試行のためのフ
ィールドである。第3図は命令タ実行のためのマイクロ
プログラムの概略フローチャートである。第4図は固定
長オペランド命令と、可変長オペランド命令の形式の例
である。第5図は障害が発生した場合に障害の記録と、
命令再試行の制御を行うマシンチェックマイクロプロo
グラムルーチンの概略フローチャートである。図中、1
,2はワーキングレジスタ、5は演算器、7はスクラツ
チメモリ、8は主メモリ、10は条件コードレジスタ、
11はカウソタ、12は命令アドレス待避レジスタ、1
3はオペランドア3タドレス待避レジスタ、14は条件
コード待避レジスタ、15はカウンタ待避レジスタ、1
7はマイクロプログラムが格納された制御メモリ、18
は制御メモリデータレジスタ、19はリトラィレジスタ
、20はリトライカウンタである。第1図 第2図 第4図 第3図 第5図
Claims (1)
- 1 マイクロプログラム制御計算機の命令再試行方式に
おいて、マイクロインストラクシヨン中に、命令再試行
が可か不可かを制御する第1フイールドと命令再試行の
チエツクポイントで再試行用の情報を待避すると共にチ
エツクポイントの個所の識別をするための制御を行なう
第2フイールドとからなるリトライフイールドを設け、
命令再試行に必要な情報を待避するための待避レジスタ
と、再試行に戻るためのチエツクポイント個所を識別す
るためのリトライレジスタを設け、さらにマイクロプロ
グラム−チン中に命令再試行のためのチエツクポイント
を設けて、マイクロインストラクシヨン中の上記第2フ
イールドの制御により命令再試行に必要な情報をワーキ
ングレジスタから待避レジスタに待避し、チエツクポイ
ントを識別するための情報をリトライレジスタにセツト
し、故障が発生した場合には、マイクロインストラクシ
ヨン中の上記第1フイールドの制御で命令再試行を行う
かどうかの判断を行い、命令再試行可能の場合には、リ
トライレジスタによりチエツクポイントを識別し、待避
レジスタから命令再試行に必要な情報をワーキングレジ
スタに回復し、チエツクポイントに戻つて命令再試行を
行うことを特徴とする命令再試行方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP751283A JPS6019016B2 (ja) | 1974-12-28 | 1974-12-28 | 命令再試行方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP751283A JPS6019016B2 (ja) | 1974-12-28 | 1974-12-28 | 命令再試行方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5178149A JPS5178149A (ja) | 1976-07-07 |
| JPS6019016B2 true JPS6019016B2 (ja) | 1985-05-14 |
Family
ID=11497114
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP751283A Expired JPS6019016B2 (ja) | 1974-12-28 | 1974-12-28 | 命令再試行方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6019016B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62143708U (ja) * | 1986-02-28 | 1987-09-10 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62121648U (ja) * | 1986-12-18 | 1987-08-01 |
-
1974
- 1974-12-28 JP JP751283A patent/JPS6019016B2/ja not_active Expired
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62143708U (ja) * | 1986-02-28 | 1987-09-10 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5178149A (ja) | 1976-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4584666A (en) | Method and apparatus for signed and unsigned bounds check | |
| US5146586A (en) | Arrangement for storing an execution history in an information processing unit | |
| CN111133418A (zh) | 在例外屏蔽更新指令之后允许未中止的事务处理 | |
| US3618042A (en) | Error detection and instruction reexecution device in a data-processing apparatus | |
| KR890003322B1 (ko) | 데이타처리 시스템 | |
| US7200742B2 (en) | System and method for creating precise exceptions | |
| JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
| EP0655686B1 (en) | Retry control method and device for control processor | |
| JPH04332055A (ja) | プログラム暴走検知方法 | |
| JP2793386B2 (ja) | 電子計算機の演算エラー情報保持装置 | |
| JPS59172044A (ja) | 命令制御方式 | |
| JPH0373008B2 (ja) | ||
| JPH0287237A (ja) | Execute命令制御方式 | |
| JPS6020769B2 (ja) | マイクロプログラム制御方式 | |
| JP2793396B2 (ja) | 電子計算機の演算ステータス保持装置 | |
| JP2780484B2 (ja) | 情報処理装置 | |
| JPS63214856A (ja) | デ−タ処理装置のデ−タ保護制御方式 | |
| JP2786215B2 (ja) | 再開処理制御方式 | |
| EP1217519A2 (en) | Computer and control method of the computer | |
| JPH02242335A (ja) | 電子計算機 | |
| JPH0756632B2 (ja) | アセンブラ命令境界エラ−検出処理方式 | |
| JPS61161557A (ja) | プログラム・デバツグ方法および装置 | |
| JPS6240550A (ja) | プログラムデバツク装置 | |
| JPH012146A (ja) | 演算処理装置 | |
| JPH04337847A (ja) | プログラムチェック方法 |