JPH0758464B2 - パイプライン処理型情報処理装置 - Google Patents
パイプライン処理型情報処理装置Info
- Publication number
- JPH0758464B2 JPH0758464B2 JP62036484A JP3648487A JPH0758464B2 JP H0758464 B2 JPH0758464 B2 JP H0758464B2 JP 62036484 A JP62036484 A JP 62036484A JP 3648487 A JP3648487 A JP 3648487A JP H0758464 B2 JPH0758464 B2 JP H0758464B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- save buffer
- software visible
- type information
- 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
- 230000010365 information processing Effects 0.000 title claims description 8
- 239000000872 buffer Substances 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 12
- 230000003068 static effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
- Retry When Errors Occur (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はパイプライン処理型情報処理装置に関する。
従来のパイプライン処理型情報処理装置では、ソフトウ
ェアビジブルなレジスタの更新を命令カウンタの更新ま
で極力遅らせることにより命令カウンタの更新とソフト
ウェアビジブルな(ソフトウェアが操作可能な)レジス
タ(ベースレジスタ、汎用レジスタ等)の最初の更新ま
での命令リトライ不可期間の短縮を図る方法や、命令リ
トライ不可期間をゼロにするため全ソフトウェアビジブ
ルレジスタをあるチェックポイント毎にレジスタセーブ
バッファにセーブして障害時はチェックポイントまで戻
って前記レジスタセーブバッファから全ソフトウェアビ
ジブルレジスタをリカバーしてチェックポイントリトラ
イする方法があった。
ェアビジブルなレジスタの更新を命令カウンタの更新ま
で極力遅らせることにより命令カウンタの更新とソフト
ウェアビジブルな(ソフトウェアが操作可能な)レジス
タ(ベースレジスタ、汎用レジスタ等)の最初の更新ま
での命令リトライ不可期間の短縮を図る方法や、命令リ
トライ不可期間をゼロにするため全ソフトウェアビジブ
ルレジスタをあるチェックポイント毎にレジスタセーブ
バッファにセーブして障害時はチェックポイントまで戻
って前記レジスタセーブバッファから全ソフトウェアビ
ジブルレジスタをリカバーしてチェックポイントリトラ
イする方法があった。
上述した従来の前者の方式では、ソフトウェアビジブル
レジスタを1命令で複数個更新するケースでは命令リト
ライ不可期間をゼロにすることはできず、また後者の方
式では、全ソフトウェアビジブルレジスタのセーブバッ
ファが必要でハードウェアの増加が著しいという欠点が
ある。
レジスタを1命令で複数個更新するケースでは命令リト
ライ不可期間をゼロにすることはできず、また後者の方
式では、全ソフトウェアビジブルレジスタのセーブバッ
ファが必要でハードウェアの増加が著しいという欠点が
ある。
[問題点を解決するための手段] 本発明のパイプライン処理型情報処理装置は、演算制御
手段により実行された命令によって更新されたソフトウ
ェアビジブルレジスタの更新前データを、そのソフトウ
ェアビジブルレジスタの更新と同時に順次格納するレジ
スタセーブバッファ手段と、演算制御手段からの命令実
行終了通知を受けた場合に、障害検出手段が障害検出信
号を出力していないときはレジスタセーブバッファ手段
の内容を無効化し、障害検出手段が障害検出信号を出力
しているときは命令リトライが行われる時までにレジス
タセーブバッファ手段が保持する情報に基づいて更新さ
れたソフトウェアビジブルレジスタを命令実行前の状態
に復帰させるレジスタセーブバッファ制御手段とを有す
ることを特徴としている。
手段により実行された命令によって更新されたソフトウ
ェアビジブルレジスタの更新前データを、そのソフトウ
ェアビジブルレジスタの更新と同時に順次格納するレジ
スタセーブバッファ手段と、演算制御手段からの命令実
行終了通知を受けた場合に、障害検出手段が障害検出信
号を出力していないときはレジスタセーブバッファ手段
の内容を無効化し、障害検出手段が障害検出信号を出力
しているときは命令リトライが行われる時までにレジス
タセーブバッファ手段が保持する情報に基づいて更新さ
れたソフトウェアビジブルレジスタを命令実行前の状態
に復帰させるレジスタセーブバッファ制御手段とを有す
ることを特徴としている。
各命令単位で更新されるソフトウェアビジブルレジスタ
のみのレジスタセーブ/リカバーを行うことで命令リト
ライを可とすることにより、少ないレジスタセーブ用ハ
ードウェアで高いリトライ率を得ることができる。
のみのレジスタセーブ/リカバーを行うことで命令リト
ライを可とすることにより、少ないレジスタセーブ用ハ
ードウェアで高いリトライ率を得ることができる。
次に、本発明の実施例について図面を参照して説明す
る。
る。
第3図はパイプライン処理の一例を示す図である。ステ
ージIFからステージSTまで6ステージに分割されてい
る。ステージIFは命令を取出す処理、ステージACはオペ
ランドアドレスを生成する処理、ステージATは論理アド
レスを実アドレスに変換する処理、ステージCAはオペラ
ンドを読出す処理、ステージEXは読出されたオペランド
を演算する処理、そしてステージSTは演算結果を格納す
る処理である。
ージIFからステージSTまで6ステージに分割されてい
る。ステージIFは命令を取出す処理、ステージACはオペ
ランドアドレスを生成する処理、ステージATは論理アド
レスを実アドレスに変換する処理、ステージCAはオペラ
ンドを読出す処理、ステージEXは読出されたオペランド
を演算する処理、そしてステージSTは演算結果を格納す
る処理である。
第1図は本発明のパイプライン処理型情報処理装置の一
実施例の要部のブロック図である。
実施例の要部のブロック図である。
演算制御部1からステージEXの動作指示が信号線で101
でソフトウェアビジブルレジスタ2の更新指示PCC、信
号線102でソフトウェアビジブルレジスタ2の種別指示R
ID、信号線103で該レジスタ番号PRNO、信号線104で更新
データRDRがそれぞれレジスタ3,4,5および6へ出力され
る。続いてレジスタ3がオンの場合(更新指示)、レジ
スタ4,5で示されるソフトウェアビジブルレジスタ2へ
レジスタ6の内容を書込むのと同一タイミングでレジス
タ3,4,5の内容がレジスタ7,8,9へセットされ、かつソフ
トウェアビジブルレジスタ2の書込前データがレジスタ
10へ読出される。さらに、レジスタ7がオンであると、
レジスタセーブバッファ/セーブリカバー制御部11に信
号線105から報告され、アドレスレジスタ12で示される
レジスタセーブバッファ13へレジスタ8,9,10の内容をセ
ーブし、信号線106によりアドレスレジスタ12をカウン
タ14により次のセーブアドレスへ移す指示を行う。加え
て、演算制御部1から信号線107を通して命令カウンタ
更新制御部15を起動し、命令開始から命令終了までに、
第3図のIF〜STステージで検出された障害情報を保持す
る障害処理制御部16から信号線108を通して通知される
障害検出通知がない場合は信号線109から命令カウンタ1
7が、カウンタ18によりカウントされて更新される。ま
た、前記障害検出通知がある場合は、命令カウンタ17を
更新しないよう命令カウンタ更新制御部15により命令カ
ウンタ17が制御される。さらに、命令カウンタ更新制御
部15は信号線110からアドレスレジスタ12のクリアを命
令カウンタ17の更新と同様に障害検出通知の有無により
行う。リカバーは障害処理制御部16からリカバー指示が
信号線111を通してレジスタセーブバッファセーブ/リ
カバー制御部11に出されることにより開始する。まず、
アドレスレジスタ12で指示されたアドレスのレジスタセ
ーブバッファ13からの読出しデータが信号線112,113,11
4からレジスタ4,5,6へセットされてソフトウェアビジブ
ルレジスタ2への書戻し動作を、アドレスレジスタ12を
カウンタ14で“−1"しながらゼロになるまで行うことに
よりリカバーが完了し、命令リトライ実行可能状態とな
る。
でソフトウェアビジブルレジスタ2の更新指示PCC、信
号線102でソフトウェアビジブルレジスタ2の種別指示R
ID、信号線103で該レジスタ番号PRNO、信号線104で更新
データRDRがそれぞれレジスタ3,4,5および6へ出力され
る。続いてレジスタ3がオンの場合(更新指示)、レジ
スタ4,5で示されるソフトウェアビジブルレジスタ2へ
レジスタ6の内容を書込むのと同一タイミングでレジス
タ3,4,5の内容がレジスタ7,8,9へセットされ、かつソフ
トウェアビジブルレジスタ2の書込前データがレジスタ
10へ読出される。さらに、レジスタ7がオンであると、
レジスタセーブバッファ/セーブリカバー制御部11に信
号線105から報告され、アドレスレジスタ12で示される
レジスタセーブバッファ13へレジスタ8,9,10の内容をセ
ーブし、信号線106によりアドレスレジスタ12をカウン
タ14により次のセーブアドレスへ移す指示を行う。加え
て、演算制御部1から信号線107を通して命令カウンタ
更新制御部15を起動し、命令開始から命令終了までに、
第3図のIF〜STステージで検出された障害情報を保持す
る障害処理制御部16から信号線108を通して通知される
障害検出通知がない場合は信号線109から命令カウンタ1
7が、カウンタ18によりカウントされて更新される。ま
た、前記障害検出通知がある場合は、命令カウンタ17を
更新しないよう命令カウンタ更新制御部15により命令カ
ウンタ17が制御される。さらに、命令カウンタ更新制御
部15は信号線110からアドレスレジスタ12のクリアを命
令カウンタ17の更新と同様に障害検出通知の有無により
行う。リカバーは障害処理制御部16からリカバー指示が
信号線111を通してレジスタセーブバッファセーブ/リ
カバー制御部11に出されることにより開始する。まず、
アドレスレジスタ12で指示されたアドレスのレジスタセ
ーブバッファ13からの読出しデータが信号線112,113,11
4からレジスタ4,5,6へセットされてソフトウェアビジブ
ルレジスタ2への書戻し動作を、アドレスレジスタ12を
カウンタ14で“−1"しながらゼロになるまで行うことに
よりリカバーが完了し、命令リトライ実行可能状態とな
る。
第2図は本実施例の動作を示すタイミングチャートで、
サイクルIで命令Aが取出されてサイクルVIIで結果が
ソフトウェアビジブルレジスタ2に格納されることを示
している。本タイミングチャートでは命令Cがソフトウ
ェアビジブルレジスタ4個を更新する場合で、かつサイ
クルXのステージEXでの命令Cの第4ステップの演算実
行中に障害が検出された場合の命令リトライ法を示した
もので、障害が検出されるとサイクルXIIで更新される
べき命令のカウンタ17の更新を抑止してリトライ命令の
アドレスを保持する。さらに、命令Cの実行によりサイ
クルIX〜XIIで更新されるソフトウェアビジブルレジス
タ2の内容C−1〜C−4(更新前データ)がサイクル
IX〜XIIでソフトウェアビジブルレジスタ2の更新と同
時にレジスタセーブバファ13にセーブされる。レジスタ
セーブバッファ13へのセーブは、レジスタセーブバッフ
ァアドレスを+1カウントしながら行われるが、命令カ
ウンタ17の更新と同時にクリアされる。これは命令カウ
ンタ17が更新されることによりレジスタセーブバッファ
13の内容が不要になるためアドレスを戻して次命令のセ
ーブに備えるためと、後述するリカバーを容易にするた
めである。障害発生が障害処理制御部16へ報告される
と、命令リトライを開始するためのリカバーがサイクル
XIIIから行われ、レジスタセーブバッファアドレスで示
されたアドレスから−1カウントされてサイクルXIV〜X
VIIにおいてレジスタセーブバッファ13の内容がソフト
ウェアビジブルレジスタ2にリカバーされ、命令リトラ
イが開始される。
サイクルIで命令Aが取出されてサイクルVIIで結果が
ソフトウェアビジブルレジスタ2に格納されることを示
している。本タイミングチャートでは命令Cがソフトウ
ェアビジブルレジスタ4個を更新する場合で、かつサイ
クルXのステージEXでの命令Cの第4ステップの演算実
行中に障害が検出された場合の命令リトライ法を示した
もので、障害が検出されるとサイクルXIIで更新される
べき命令のカウンタ17の更新を抑止してリトライ命令の
アドレスを保持する。さらに、命令Cの実行によりサイ
クルIX〜XIIで更新されるソフトウェアビジブルレジス
タ2の内容C−1〜C−4(更新前データ)がサイクル
IX〜XIIでソフトウェアビジブルレジスタ2の更新と同
時にレジスタセーブバファ13にセーブされる。レジスタ
セーブバッファ13へのセーブは、レジスタセーブバッフ
ァアドレスを+1カウントしながら行われるが、命令カ
ウンタ17の更新と同時にクリアされる。これは命令カウ
ンタ17が更新されることによりレジスタセーブバッファ
13の内容が不要になるためアドレスを戻して次命令のセ
ーブに備えるためと、後述するリカバーを容易にするた
めである。障害発生が障害処理制御部16へ報告される
と、命令リトライを開始するためのリカバーがサイクル
XIIIから行われ、レジスタセーブバッファアドレスで示
されたアドレスから−1カウントされてサイクルXIV〜X
VIIにおいてレジスタセーブバッファ13の内容がソフト
ウェアビジブルレジスタ2にリカバーされ、命令リトラ
イが開始される。
以上説明したように本発明は、各命令単位で更新される
ソフトウェアビジブルレジスタのみのレジスタセーブ/
リカバーを行うことで命令リトライを可とすることによ
り、少ないレジスタセーブ用ハードウェアで高いリトラ
イ率を得ることができる効果がある。
ソフトウェアビジブルレジスタのみのレジスタセーブ/
リカバーを行うことで命令リトライを可とすることによ
り、少ないレジスタセーブ用ハードウェアで高いリトラ
イ率を得ることができる効果がある。
第1図は本発明のパイプライン処理型情報処理装置の一
実施例の要部を示すブロック図、第2図は第1図の実施
例のタイミングチャート、第3図は第1図の実施例を説
明するためのパイプライン例を示す図である。 1……演算制御部、 2……ソフトウェアビジブルレジスタ、 3〜10,12……レジスタ、 11……レジスタセーブバッファセーブ/リカバリー制御
部、 13……レジスタセーブバッファ、 14,18……カウンタ、 15……命令カウンタ更新制御部、 16……障害処理制御部、 17……命令カウンタ、 101〜114……信号線。
実施例の要部を示すブロック図、第2図は第1図の実施
例のタイミングチャート、第3図は第1図の実施例を説
明するためのパイプライン例を示す図である。 1……演算制御部、 2……ソフトウェアビジブルレジスタ、 3〜10,12……レジスタ、 11……レジスタセーブバッファセーブ/リカバリー制御
部、 13……レジスタセーブバッファ、 14,18……カウンタ、 15……命令カウンタ更新制御部、 16……障害処理制御部、 17……命令カウンタ、 101〜114……信号線。
Claims (1)
- 【請求項1】パイプライン処理中に障害が発生した際に
障害検出手段が出力する障害検出信号を受けて命令リト
ライを行うパイプライン処理型情報処理装置において、 演算制御装置により実行された命令によって更新された
ソフトウェアビジブルレジスタの更新前データを、該ソ
フトウェアビジブルレジスタの更新と同時に順次格納す
るレジスタセーブバッファ手段と、 前記演算制御手段からの命令実行終了通知を受けた場合
に、前記障害検出手段が前記障害検出信号を出力してい
ないときは前記レジスタセーブバッファ手段の内容を無
効化し、前記障害検出手段が前記障害検出信号を出力し
ているときは命令リトライが行われる時までに前記レジ
スタセーブバッファ手段が保持する情報に基づいて前記
更新されたソフトウェアビジブルレジスタの内容を命令
実行前の状態に復帰させるレジスタセーブバッファ制御
手段とを有することを特徴とするパイプライン処理型情
報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62036484A JPH0758464B2 (ja) | 1987-02-18 | 1987-02-18 | パイプライン処理型情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62036484A JPH0758464B2 (ja) | 1987-02-18 | 1987-02-18 | パイプライン処理型情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63201832A JPS63201832A (ja) | 1988-08-19 |
| JPH0758464B2 true JPH0758464B2 (ja) | 1995-06-21 |
Family
ID=12471093
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62036484A Expired - Lifetime JPH0758464B2 (ja) | 1987-02-18 | 1987-02-18 | パイプライン処理型情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0758464B2 (ja) |
-
1987
- 1987-02-18 JP JP62036484A patent/JPH0758464B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63201832A (ja) | 1988-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02257219A (ja) | パイプラインプロセッサ装置および方法 | |
| JPH0738161B2 (ja) | 誤り回復装置 | |
| US5003458A (en) | Suspended instruction restart processing system based on a checkpoint microprogram address | |
| US5146569A (en) | System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension | |
| JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
| JPH07141176A (ja) | コマンドリトライ制御方式 | |
| JPH0758464B2 (ja) | パイプライン処理型情報処理装置 | |
| JPH07109592B2 (ja) | Cpu―io並列動作シミュレーション方法 | |
| JPH05165730A (ja) | データ処理装置 | |
| JP2793386B2 (ja) | 電子計算機の演算エラー情報保持装置 | |
| JPH0644238B2 (ja) | 命令再実行制御方法 | |
| JPH05165663A (ja) | データ処理装置 | |
| JP2001005689A (ja) | トレース採取回路 | |
| JPS63214856A (ja) | デ−タ処理装置のデ−タ保護制御方式 | |
| JPS63204329A (ja) | パイプライン処理型情報処理装置 | |
| JP2793396B2 (ja) | 電子計算機の演算ステータス保持装置 | |
| JPH04181331A (ja) | 命令リトライ方式 | |
| JPS58166454A (ja) | デ−タ処理装置 | |
| JPH04106652A (ja) | 例外処理システム | |
| JPS63142449A (ja) | 制御メモリに対するパトロ−ルチエツク方式 | |
| JPS60108936A (ja) | 情報処理装置 | |
| JPS59180759A (ja) | ヒストリメモリの制御方式 | |
| JPH0333940A (ja) | 評価用マイクロプロセッサ | |
| JPH07141226A (ja) | プロセッサエラー情報保持方式 | |
| JPH012146A (ja) | 演算処理装置 |