JPH0752399B2 - 記憶システム - Google Patents
記憶システムInfo
- Publication number
- JPH0752399B2 JPH0752399B2 JP1099053A JP9905389A JPH0752399B2 JP H0752399 B2 JPH0752399 B2 JP H0752399B2 JP 1099053 A JP1099053 A JP 1099053A JP 9905389 A JP9905389 A JP 9905389A JP H0752399 B2 JPH0752399 B2 JP H0752399B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- storage
- instruction
- data
- checkpoint
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Retry When Errors Occur (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は一般に、エラーを検出し、命令ストリームの以
前の点に戻り、そのエラーをもたらした命令を再実行す
るようになされたデータ処理システムに関し、具体的に
は、単一または複数のプロセッサをもち、ストアイン型
とストアスルー型のどちらかのキャッシュ設計を含むメ
モリ・キャッシュ・システムを使用できる、データ処理
システムに関する。
前の点に戻り、そのエラーをもたらした命令を再実行す
るようになされたデータ処理システムに関し、具体的に
は、単一または複数のプロセッサをもち、ストアイン型
とストアスルー型のどちらかのキャッシュ設計を含むメ
モリ・キャッシュ・システムを使用できる、データ処理
システムに関する。
B.従来技術及びその問題点 本発明を実施するのに使用されるベクトル・プロセッサ
は、1983年9月9日出願の米国特許出願06/530842号、
「高性能ベクトル・プロセッサ(High Performance Vec
tor Processor)」に記載され特許請求されており、そ
の特許出願を引用により本明細書に組み込む。
は、1983年9月9日出願の米国特許出願06/530842号、
「高性能ベクトル・プロセッサ(High Performance Vec
tor Processor)」に記載され特許請求されており、そ
の特許出願を引用により本明細書に組み込む。
本発明を実施するのに使用される浮動小数点プロセッサ
は、1987年9月30日出願の米国特許出願07/102985号、
「浮動小数点単一命令単一ストリーム・データ・アーキ
テクチャのための動的複数命令ストリーム複数データ複
数パイプライン装置(Dynamic Multiple Instruction S
tream Multiple Data Multiple Pipeline Apparatus fo
r Floating Point Single Instruction Single Stream
Data Architecture)」に記載され特許請求されてい
る。その特許出願を引用により本明細書に組み込む。
は、1987年9月30日出願の米国特許出願07/102985号、
「浮動小数点単一命令単一ストリーム・データ・アーキ
テクチャのための動的複数命令ストリーム複数データ複
数パイプライン装置(Dynamic Multiple Instruction S
tream Multiple Data Multiple Pipeline Apparatus fo
r Floating Point Single Instruction Single Stream
Data Architecture)」に記載され特許請求されてい
る。その特許出願を引用により本明細書に組み込む。
本発明を実施するのに使用される2進加算器は、1987年
6月26日出願の米国特許出願07/066580号、「高性能並
列2進バイト加算器(A High Performance Parallel Bi
nary Byte Adder)」に記載され特許請求されている。
その特許出願を引用により本明細書に組み込む。
6月26日出願の米国特許出願07/066580号、「高性能並
列2進バイト加算器(A High Performance Parallel Bi
nary Byte Adder)」に記載され特許請求されている。
その特許出願を引用により本明細書に組み込む。
データ処理システムでのランダム・エラーの発生は、シ
ステムの信頼性に悪影響を及ぼす。ランダム・エラー、
すなわち、システムの継続的な障害によらないエラー
が、長いプログラムの実行の終端付近で発生する場合、
そのプログラムを再起動し始めからもう一度実行する必
要がある。この解決方法は受け入れられない場合が多か
ったので、プログラムを個々の部分に区分して、1つの
部分にエラーが発生したとき、障害が発生した部分の始
めからだけそのプログラムを再実行すればよいようにさ
れた。この方法でも、計算速度が増加し、データ処理シ
ステムがより複雑かつ時間に依存するようになると不十
分になった。
ステムの信頼性に悪影響を及ぼす。ランダム・エラー、
すなわち、システムの継続的な障害によらないエラー
が、長いプログラムの実行の終端付近で発生する場合、
そのプログラムを再起動し始めからもう一度実行する必
要がある。この解決方法は受け入れられない場合が多か
ったので、プログラムを個々の部分に区分して、1つの
部分にエラーが発生したとき、障害が発生した部分の始
めからだけそのプログラムを再実行すればよいようにさ
れた。この方法でも、計算速度が増加し、データ処理シ
ステムがより複雑かつ時間に依存するようになると不十
分になった。
エラー回復技術を複雑にしている要素の1つは、キャッ
シュ・メモリ・システムの使用である。プロセッサの速
度は、経済的に実現可能な主記憶システムが遅くて追い
ついていけないほどにまで上がってきた。すべての記憶
回路をプロセッサの速度に一致させるコストをかけずに
メモリ性能を改善するために、中間の高速記憶システム
が導入された。こうしたシステムはキャッシュと呼ば
れ、プロセッサの速度に近い速度で動作し、記憶容量は
非常に限られている。記憶容量が限られているので、プ
ロセッサが使用する可能性が最も高いデータにその容量
を注意深く割り振ることが必要である。
シュ・メモリ・システムの使用である。プロセッサの速
度は、経済的に実現可能な主記憶システムが遅くて追い
ついていけないほどにまで上がってきた。すべての記憶
回路をプロセッサの速度に一致させるコストをかけずに
メモリ性能を改善するために、中間の高速記憶システム
が導入された。こうしたシステムはキャッシュと呼ば
れ、プロセッサの速度に近い速度で動作し、記憶容量は
非常に限られている。記憶容量が限られているので、プ
ロセッサが使用する可能性が最も高いデータにその容量
を注意深く割り振ることが必要である。
データ処理システムの一般要件に従って、キャッシュを
割り振り、そこに記憶されているデータを制御するため
の様々な技術が開発されてきた。キャッシュ・システム
は、キャッシュに入力された改訂データが主記憶装置に
も入力される、ストアスルー型システムと、キャッシュ
に入力されたデータが、送り出されるまで主記憶装置に
入力されず、キャッシュ・ミスのとき、データを主記憶
装置からキャッシュに読み出し、キャッシュからプロセ
ッサがそれにアクセスする、ストアイン型キャッシュ・
システムと、上記のそれぞれの態様の一部を組み込ん
だ、ハイブリッド・システムとに分類できる。場合によ
っては、より高度のシステムの特定の要件に対処すべ
く、特殊な適合化が行なわれた。具体的には、複数の処
理装置を利用するデータ処理システムの要件に対処する
試みが行なわれてきた。これらの方法は、キャッシュの
効率を向上させる点では効果があったが、それらの方法
はシステムがソフト・エラーから回復する能力を高め
ず、低下させることさえあった。ある領域でのシステム
性能の改善が、他の領域での性能の低下を伴うなら、そ
れは本当の改善にはならないので、複数プロセッサ・シ
ステムのエラー回復技術、具体的には、チェックポイン
ト再試行と呼ばれる種類のエラー回復技術にキャッシュ
の管理及び操作を組み込む必要が引き続き存在する。
割り振り、そこに記憶されているデータを制御するため
の様々な技術が開発されてきた。キャッシュ・システム
は、キャッシュに入力された改訂データが主記憶装置に
も入力される、ストアスルー型システムと、キャッシュ
に入力されたデータが、送り出されるまで主記憶装置に
入力されず、キャッシュ・ミスのとき、データを主記憶
装置からキャッシュに読み出し、キャッシュからプロセ
ッサがそれにアクセスする、ストアイン型キャッシュ・
システムと、上記のそれぞれの態様の一部を組み込ん
だ、ハイブリッド・システムとに分類できる。場合によ
っては、より高度のシステムの特定の要件に対処すべ
く、特殊な適合化が行なわれた。具体的には、複数の処
理装置を利用するデータ処理システムの要件に対処する
試みが行なわれてきた。これらの方法は、キャッシュの
効率を向上させる点では効果があったが、それらの方法
はシステムがソフト・エラーから回復する能力を高め
ず、低下させることさえあった。ある領域でのシステム
性能の改善が、他の領域での性能の低下を伴うなら、そ
れは本当の改善にはならないので、複数プロセッサ・シ
ステムのエラー回復技術、具体的には、チェックポイン
ト再試行と呼ばれる種類のエラー回復技術にキャッシュ
の管理及び操作を組み込む必要が引き続き存在する。
いわゆるマルチプロセッサ・システムは、多重処理能力
をもち、その範囲で離散プロセッサをもち、それが異な
るタスクまたは同じタスクの異なる部分に割り当てられ
て並列処理能力を実現するが、システムのすべての要素
が、各プロセッサごとに重複されることはない。たとえ
ば、異なるプロセッサが共通データに作用することが必
要とされることがあるので、各プロセッサは、共通記憶
装置にアクセスしなければならない。同じ理由で、各プ
ロセッサが、様々な入出力装置にアクセスできなければ
ならない。システムのあまり使用されない機能、あるい
は性能の大幅な損失なしに共用できる機能は、通常各プ
ロセッサごとに重複されない。この種の機能の例は、エ
ラー回復機能である。ランダム・エラーは、同時に複数
のプロセッサで発生することはあまりない。ランダム・
エラーからの回復はあまり時間がかからないので、別の
プロセッサでエラーが発生する前に発生及び回復が完了
することができ、単一エラー回復機能で十分である。
をもち、その範囲で離散プロセッサをもち、それが異な
るタスクまたは同じタスクの異なる部分に割り当てられ
て並列処理能力を実現するが、システムのすべての要素
が、各プロセッサごとに重複されることはない。たとえ
ば、異なるプロセッサが共通データに作用することが必
要とされることがあるので、各プロセッサは、共通記憶
装置にアクセスしなければならない。同じ理由で、各プ
ロセッサが、様々な入出力装置にアクセスできなければ
ならない。システムのあまり使用されない機能、あるい
は性能の大幅な損失なしに共用できる機能は、通常各プ
ロセッサごとに重複されない。この種の機能の例は、エ
ラー回復機能である。ランダム・エラーは、同時に複数
のプロセッサで発生することはあまりない。ランダム・
エラーからの回復はあまり時間がかからないので、別の
プロセッサでエラーが発生する前に発生及び回復が完了
することができ、単一エラー回復機能で十分である。
すべてのプロセッサが同じ形式、特に使用するキャッシ
ュの形式が同じ場合には、これはすべて極めて簡単であ
る。従来のエラー回復技術は、プロセッサがストアイン
型キャッシュを利用するマルチプロセッサ・システムで
はうまく働く。通常、キャッシュ・データは、キャッシ
ュ書込みの動作の前にバックアップ・アレイにセーブさ
れる。チェックポイント再試行動作のとき、再試行点の
キャッシュ・データがバックアップ・アレイから復元さ
れる。この方法の欠点の一つは、キャッシュへの書込み
動作の前にバックアップ・アレイにキャッシュ・データ
を書き込む必要があるため、キャッシュへの書込みが遅
延されることである。さらに、おそらくより重要である
が、マルチプロセッサ・システムでは、チェックポイン
ト期間中にキャッシュ・データの占有状況を確保するた
め、キャッシュ・ロック機構を設けなければならない。
ュの形式が同じ場合には、これはすべて極めて簡単であ
る。従来のエラー回復技術は、プロセッサがストアイン
型キャッシュを利用するマルチプロセッサ・システムで
はうまく働く。通常、キャッシュ・データは、キャッシ
ュ書込みの動作の前にバックアップ・アレイにセーブさ
れる。チェックポイント再試行動作のとき、再試行点の
キャッシュ・データがバックアップ・アレイから復元さ
れる。この方法の欠点の一つは、キャッシュへの書込み
動作の前にバックアップ・アレイにキャッシュ・データ
を書き込む必要があるため、キャッシュへの書込みが遅
延されることである。さらに、おそらくより重要である
が、マルチプロセッサ・システムでは、チェックポイン
ト期間中にキャッシュ・データの占有状況を確保するた
め、キャッシュ・ロック機構を設けなければならない。
従来の別の形のエラー回復技術は、プロセッサがストア
スルー型キャッシュを利用する、マルチプロセッシング
・システムで使用するには十分である。しかし、データ
処理システムは、一般に「ファミリー」として設計さ
れ、様々な形式の記憶装置、入出力装置、さらには異な
る形式のプロセッサで構成されることがある。たとえ
ば、そのファミリーの1つの「メンバー」は、プロセッ
サがストアイン型キャッシュを使用する、マルチプロセ
ッサ・システムを使用し、同じファミリーの他の「メン
バー」は、ストアスルー型キャッシュを組み込んだプロ
セッサを使用するように構成されることがある。コス
ト、製造、互換性、及び保守の観点からは、ストアイン
型キャッシュとストアスルー型キャッシュのどちらを使
用するかにかかわらず、ファミリー全体を通してシステ
ムの他の要素を同じにすることが望ましい。
スルー型キャッシュを利用する、マルチプロセッシング
・システムで使用するには十分である。しかし、データ
処理システムは、一般に「ファミリー」として設計さ
れ、様々な形式の記憶装置、入出力装置、さらには異な
る形式のプロセッサで構成されることがある。たとえ
ば、そのファミリーの1つの「メンバー」は、プロセッ
サがストアイン型キャッシュを使用する、マルチプロセ
ッサ・システムを使用し、同じファミリーの他の「メン
バー」は、ストアスルー型キャッシュを組み込んだプロ
セッサを使用するように構成されることがある。コス
ト、製造、互換性、及び保守の観点からは、ストアイン
型キャッシュとストアスルー型キャッシュのどちらを使
用するかにかかわらず、ファミリー全体を通してシステ
ムの他の要素を同じにすることが望ましい。
ストアイン型キャッシュを備えたプロセッサを含むモデ
ルもストアスルー型キャッシュを利用するプロセッサを
含むモデルも組み込んだデータ処理システムのファミリ
ーを持つことが望ましい。上記の理由から、ファミリー
全体で単一エラー回復機能をもつことが望ましい。
ルもストアスルー型キャッシュを利用するプロセッサを
含むモデルも組み込んだデータ処理システムのファミリ
ーを持つことが望ましい。上記の理由から、ファミリー
全体で単一エラー回復機能をもつことが望ましい。
データ処理システムでエラーから回復するには、システ
ムを命令シーケンスのエラーよりも前の点から再始動
し、したがって、そのエラーの影響を受けないデータを
含むことが必要である。理想的には、これは、エラーが
発生した命令の直前の命令である。それには、システム
が各命令のすべての関連データを記憶し保持する必要が
ある。実際には、複数の命令が隔置される選択した点で
だけデータを保持することにより、オーバーヘッドは減
少する。選択された点でセーブされるデータは、通常、
主に、プログラム状況ワード(PSW)、及び浮動小数点
レジスタ(FPR)、アクセス・レジスタ(AR)、汎用レ
ジスタ(GPR)の内容から構成される。
ムを命令シーケンスのエラーよりも前の点から再始動
し、したがって、そのエラーの影響を受けないデータを
含むことが必要である。理想的には、これは、エラーが
発生した命令の直前の命令である。それには、システム
が各命令のすべての関連データを記憶し保持する必要が
ある。実際には、複数の命令が隔置される選択した点で
だけデータを保持することにより、オーバーヘッドは減
少する。選択された点でセーブされるデータは、通常、
主に、プログラム状況ワード(PSW)、及び浮動小数点
レジスタ(FPR)、アクセス・レジスタ(AR)、汎用レ
ジスタ(GPR)の内容から構成される。
キャッシュ・システムの伴うもう1つの面倒な問題は、
主記憶装置に速度を最終的に一致させることに関するも
のである。高速キャッシュは、処理装置の速度に匹敵す
る速度でデータに対する必要を満足させる。高速キャッ
シュは、比較的低速度でメモリとの間でデータを読み書
きするという問題は解決しない。従来技術の解決法は、
キャッシュと主記憶装置の間に、1行のキャッシュ・デ
ータを保持できる記憶バッファを設けるというものであ
った。行バッファを介してメモリとの間でデータを出し
入れすることにより、キャッシュは解放され、より速い
速度で動作できる。
主記憶装置に速度を最終的に一致させることに関するも
のである。高速キャッシュは、処理装置の速度に匹敵す
る速度でデータに対する必要を満足させる。高速キャッ
シュは、比較的低速度でメモリとの間でデータを読み書
きするという問題は解決しない。従来技術の解決法は、
キャッシュと主記憶装置の間に、1行のキャッシュ・デ
ータを保持できる記憶バッファを設けるというものであ
った。行バッファを介してメモリとの間でデータを出し
入れすることにより、キャッシュは解放され、より速い
速度で動作できる。
C.問題点を解決するための手段 本発明の目的は、ストアイン型またはストアスルー型キ
ャッシュを利用する単一または複数プロセッサ・システ
ムと互換性のある、チェックポイント再試行機能を提供
することにある。
ャッシュを利用する単一または複数プロセッサ・システ
ムと互換性のある、チェックポイント再試行機能を提供
することにある。
本発明の目的には、通常の動作中に記憶バッファを利用
して記憶待ち行列を設定し、再試行動作中にチェックポ
イント再試行に必要なデータを供給する、チェックポイ
ント再試行機能を提供することも含まれる。
して記憶待ち行列を設定し、再試行動作中にチェックポ
イント再試行に必要なデータを供給する、チェックポイ
ント再試行機能を提供することも含まれる。
本発明の目的には、チェックポイント期間中にデータを
記憶しかつプロセッサを主記憶装置の速度に合わせるよ
うな2重の機能をもたらす記憶バッファ・システムを組
み込んだチェックポイント再試行機能を提供することも
含まれる。
記憶しかつプロセッサを主記憶装置の速度に合わせるよ
うな2重の機能をもたらす記憶バッファ・システムを組
み込んだチェックポイント再試行機能を提供することも
含まれる。
このデータがセーブされる命令ストリーム中の点をチェ
ックポイントと呼ぶ。中央演算処理装置(CPU)によっ
て開始されるチェックポイントの後のすべての記憶動作
で、チェックポイントの命令に対する記憶動作が完了す
るまで、変更されたデータ・キャッシュ・ページが記憶
バッファにセーブされる。ストアイン型レベル2(L2)
キャッシュ設計をもつプロセッサの場合、チェックポイ
ントの命令が完了するまで、変更キャッシュ・データは
レベル1(L1)記憶バッファにセーブされる。次いでそ
のデータはL2キャッシュに書き込まれ、他のプロセッサ
に見えるようになる。ストアスルー型キャッシュ設計を
もつプロセッサでは、変更キャッシュ・データはL1記憶
バッファにも緩衝記憶される。チェックポイント期間が
終了すると、セーブされたキャッシュ・データは記憶装
置に記憶される。
ックポイントと呼ぶ。中央演算処理装置(CPU)によっ
て開始されるチェックポイントの後のすべての記憶動作
で、チェックポイントの命令に対する記憶動作が完了す
るまで、変更されたデータ・キャッシュ・ページが記憶
バッファにセーブされる。ストアイン型レベル2(L2)
キャッシュ設計をもつプロセッサの場合、チェックポイ
ントの命令が完了するまで、変更キャッシュ・データは
レベル1(L1)記憶バッファにセーブされる。次いでそ
のデータはL2キャッシュに書き込まれ、他のプロセッサ
に見えるようになる。ストアスルー型キャッシュ設計を
もつプロセッサでは、変更キャッシュ・データはL1記憶
バッファにも緩衝記憶される。チェックポイント期間が
終了すると、セーブされたキャッシュ・データは記憶装
置に記憶される。
D.実施例 第1図を参照すると、本発明に関連するデータ処理シス
テムの部分が示されている。図を簡単にするために、シ
ステムの本発明には属さない部分は示されていない。デ
ータ処理システムは、G.L.ヒックス(Hicks)、D.H.ハ
ウ(Howe)及びF.A.ズルラ2世(Zurla Jr.)に付与さ
れ本願の出願人インターナショナル・ビジネス・マシー
ンズ・コーポレーションに譲渡された米国特許第404433
7号に示されているのと同じ一般的性質のものであるこ
とを了解されたい。上記特許を引用により本明細書に組
み込む。
テムの部分が示されている。図を簡単にするために、シ
ステムの本発明には属さない部分は示されていない。デ
ータ処理システムは、G.L.ヒックス(Hicks)、D.H.ハ
ウ(Howe)及びF.A.ズルラ2世(Zurla Jr.)に付与さ
れ本願の出願人インターナショナル・ビジネス・マシー
ンズ・コーポレーションに譲渡された米国特許第404433
7号に示されているのと同じ一般的性質のものであるこ
とを了解されたい。上記特許を引用により本明細書に組
み込む。
システムの命令処理装置1は、命令事前処理装置(IPP
U)2と固定小数点実行処理装置(EPU)3をもつ。IPPU
2は、制御記憶装置10の起点アドレス・バス(CSOA)11
を介して制御記憶装置10からマイクロワードを取り出す
ためのアドレス情報を供給し、制御記憶装置10、命令キ
ャッシュ装置20及びEPU3に接続された命令バス(IBUS)
15を介して命令を受け取る。IPPU2は、またCBUS31を介
して命令キャッシュ装置20とEXT/FPU30にも接続されて
いる。チャンネル・サブシステム40は、IPCバス41を介
してEXT/FPU30に接続されている。
U)2と固定小数点実行処理装置(EPU)3をもつ。IPPU
2は、制御記憶装置10の起点アドレス・バス(CSOA)11
を介して制御記憶装置10からマイクロワードを取り出す
ためのアドレス情報を供給し、制御記憶装置10、命令キ
ャッシュ装置20及びEPU3に接続された命令バス(IBUS)
15を介して命令を受け取る。IPPU2は、またCBUS31を介
して命令キャッシュ装置20とEXT/FPU30にも接続されて
いる。チャンネル・サブシステム40は、IPCバス41を介
してEXT/FPU30に接続されている。
複数プロセッサを含むデータ処理システムは、3段式記
憶サブシステム100を含み、記憶サブシステム100は主記
憶装置180a、180b、レベル2キャッシュ(L2)170a及び
高性能レベル1キャッシュ(L1)101を含む。単一プロ
セッサを含むシステムの場合、L2キャッシュは省略され
ることがある。したがって、記憶サブシステムは、デー
タ処理システムのファミリーの特定のモデル・バージョ
ンに応じて、140a及び140bで示すような、2つの形をと
ることができる。記憶サブシステム100のストアイン型
キャッシュ(マルチプロセッサ)バージョン140aは、L2
記憶待ち行列150a、書込みバッファ160a、L2キャッシュ
170a及び主記憶装置(L3)180aを含む。ストアスルー型
キャッシュ(単一プロセッサ)バージョン140bは、L2キ
ャッシュを含まず、L3制御装置190b、書込みバッファ/L
3記憶待ち行列195b及び主記憶装置(L3)180bを含む。
憶サブシステム100を含み、記憶サブシステム100は主記
憶装置180a、180b、レベル2キャッシュ(L2)170a及び
高性能レベル1キャッシュ(L1)101を含む。単一プロ
セッサを含むシステムの場合、L2キャッシュは省略され
ることがある。したがって、記憶サブシステムは、デー
タ処理システムのファミリーの特定のモデル・バージョ
ンに応じて、140a及び140bで示すような、2つの形をと
ることができる。記憶サブシステム100のストアイン型
キャッシュ(マルチプロセッサ)バージョン140aは、L2
記憶待ち行列150a、書込みバッファ160a、L2キャッシュ
170a及び主記憶装置(L3)180aを含む。ストアスルー型
キャッシュ(単一プロセッサ)バージョン140bは、L2キ
ャッシュを含まず、L3制御装置190b、書込みバッファ/L
3記憶待ち行列195b及び主記憶装置(L3)180bを含む。
マルチプロセッサ・バージョン140aでは、L2キャッシュ
は、すべてのプロセッサによって共用され、またチャン
ネルから直接アクセスされる。
は、すべてのプロセッサによって共用され、またチャン
ネルから直接アクセスされる。
記憶サブシステム100は、L1キャッシュ制御装置とL1キ
ャッシュ101及びL1記憶バッファ105を含めて、ストアイ
ン型とストアスルー型の両方の実施例に共通の要素をも
つ。
ャッシュ101及びL1記憶バッファ105を含めて、ストアイ
ン型とストアスルー型の両方の実施例に共通の要素をも
つ。
CPU内で、命令キャッシュ及びデータ・キャッシュはレ
ベル1にあり、L1キャッシュ101と総称される。各キャ
ッシュは、関連するCPUのためにデータを維持する。命
令事前処理装置(IPPU)2は、命令バス(IBUS)15を介
して、命令キャッシュから命令を受け取り、また制御記
憶装置10からマイクロワードを受け取る。L1データ・キ
ャッシュ装置は固定小数点実行装置3に接続され、命令
実行のためのオペランド・データを供給する。
ベル1にあり、L1キャッシュ101と総称される。各キャ
ッシュは、関連するCPUのためにデータを維持する。命
令事前処理装置(IPPU)2は、命令バス(IBUS)15を介
して、命令キャッシュから命令を受け取り、また制御記
憶装置10からマイクロワードを受け取る。L1データ・キ
ャッシュ装置は固定小数点実行装置3に接続され、命令
実行のためのオペランド・データを供給する。
L1キャッシュ101の命令キャッシュ部分は、IBMシステム
/370命令を含み、命令取出しのためプロセッサがそれに
アクセスする。命令実行の結果を表わすオペランドは、
命令キャッシュの内容を変更しないが、ページが命令キ
ャッシュ20内に存在する場合それを無効にする。L1キャ
ッシュ101のデータ・キャッシュ部分は、IBMシステム/3
70プログラム・データを含む。データ取出し及び記憶
は、すべてストアスルー型キャッシュであるL1キャッシ
ュ101に対して行なわれる。オペランド取出しの際にキ
ャッシュ・ミスが検出されたときは、望みのキャッシュ
行をL2キャッシュ170aまたはL3主記憶装置180aからイン
ページしなければならない。データ・キャッシュに対し
てデータ記憶要求が行なわれ、データがキャッシュ内に
存在するときは、データが同時にキャッシュと記憶バッ
ファ105に記憶される。データがキャッシュに存在しな
い場合、データは記憶バッファにだけ記憶される。記憶
動作に関連するアドレス、データ及び制御は、記憶バッ
ファ105に入力される。
/370命令を含み、命令取出しのためプロセッサがそれに
アクセスする。命令実行の結果を表わすオペランドは、
命令キャッシュの内容を変更しないが、ページが命令キ
ャッシュ20内に存在する場合それを無効にする。L1キャ
ッシュ101のデータ・キャッシュ部分は、IBMシステム/3
70プログラム・データを含む。データ取出し及び記憶
は、すべてストアスルー型キャッシュであるL1キャッシ
ュ101に対して行なわれる。オペランド取出しの際にキ
ャッシュ・ミスが検出されたときは、望みのキャッシュ
行をL2キャッシュ170aまたはL3主記憶装置180aからイン
ページしなければならない。データ・キャッシュに対し
てデータ記憶要求が行なわれ、データがキャッシュ内に
存在するときは、データが同時にキャッシュと記憶バッ
ファ105に記憶される。データがキャッシュに存在しな
い場合、データは記憶バッファにだけ記憶される。記憶
動作に関連するアドレス、データ及び制御は、記憶バッ
ファ105に入力される。
中央演算処理装置1は、チェックポイント状態に戻って
失敗した命令を再実行することによりエラーから回復す
るためのハードウェアを含む。これは、汎用レジスタ
(GPR)、浮動小数点レジスタ(FPR)及びアクセス・レ
ジスタ(AR)をバックアップするアレイを含む。プログ
ラム状況ワード(PSW)スタックは、チェックポイント
が設定されたときプログラム状況ワードをセーブするの
に使用される。本発明の回復技術は、エラーが検出され
たときに戻ることができるCPUの既知状態を確立するこ
とである。以前の状態に戻りやすくするため、命令処理
が進行するにつれて、CPU内のいくつかの機能(デー
タ、状態、条件など)がバックアップ・アレイに定型通
りにセーブされる。
失敗した命令を再実行することによりエラーから回復す
るためのハードウェアを含む。これは、汎用レジスタ
(GPR)、浮動小数点レジスタ(FPR)及びアクセス・レ
ジスタ(AR)をバックアップするアレイを含む。プログ
ラム状況ワード(PSW)スタックは、チェックポイント
が設定されたときプログラム状況ワードをセーブするの
に使用される。本発明の回復技術は、エラーが検出され
たときに戻ることができるCPUの既知状態を確立するこ
とである。以前の状態に戻りやすくするため、命令処理
が進行するにつれて、CPU内のいくつかの機能(デー
タ、状態、条件など)がバックアップ・アレイに定型通
りにセーブされる。
第2図に移って、L1記憶バッファ105の動作の方式につ
いて説明する。記憶バッファ105は、論理的に、ストア
イン型キャッシュ実施例140aの場合は命令処理装置1と
L2キャッシュ170aの間に、ストアスルー型キャッシュ実
施例140bの場合は命令処理装置1と主記憶装置(L3)18
0bの間に配置されている。L1記憶バッファ105は、シス
テム内の各処理装置ごとに設けられ、主記憶装置へのデ
ータ転送の性能を向上させるのに使用され、他のCPU及
びチャンネルがデータにアクセスできる記憶階層の他の
部分に解放される前に、チェックポイントの終端まで記
憶データを保持する働きをする。これは、一連のチェッ
クポイント命令の終端まで1つのチェックポイントに関
連する任意の記憶データを解放することによってではな
く、どの記憶待ち行列がどのチェックポイントで使用さ
れるかを記録することによって実現される。記憶データ
の解放、命令の終端(EOI)及びチェックポイント終了
(COMP)を制御するために記憶待ち行列の設計に2つの
情報ビットが導入される。記憶バッファ中のデータは、
それに直接関連するプロセッサだけしか利用できず、他
のプロセッサは、それがL2キャッシュ170aまたは主記憶
装置180bに書き込まれるまでそのデータにアクセスでき
ない。
いて説明する。記憶バッファ105は、論理的に、ストア
イン型キャッシュ実施例140aの場合は命令処理装置1と
L2キャッシュ170aの間に、ストアスルー型キャッシュ実
施例140bの場合は命令処理装置1と主記憶装置(L3)18
0bの間に配置されている。L1記憶バッファ105は、シス
テム内の各処理装置ごとに設けられ、主記憶装置へのデ
ータ転送の性能を向上させるのに使用され、他のCPU及
びチャンネルがデータにアクセスできる記憶階層の他の
部分に解放される前に、チェックポイントの終端まで記
憶データを保持する働きをする。これは、一連のチェッ
クポイント命令の終端まで1つのチェックポイントに関
連する任意の記憶データを解放することによってではな
く、どの記憶待ち行列がどのチェックポイントで使用さ
れるかを記録することによって実現される。記憶データ
の解放、命令の終端(EOI)及びチェックポイント終了
(COMP)を制御するために記憶待ち行列の設計に2つの
情報ビットが導入される。記憶バッファ中のデータは、
それに直接関連するプロセッサだけしか利用できず、他
のプロセッサは、それがL2キャッシュ170aまたは主記憶
装置180bに書き込まれるまでそのデータにアクセスでき
ない。
ストアスルー型キャッシュでは、すべての記憶動作は、
それが主記憶装置に書き込まれる前に記憶制御装置に送
られ、各記憶動作は、関連するキャッシュ行がすでにキ
ャッシュ内にある場合に限りキャッシュに書き込まれ
る。L1記憶バッファは、次の点でストアスルー型キャッ
シュと異なっている。
それが主記憶装置に書き込まれる前に記憶制御装置に送
られ、各記憶動作は、関連するキャッシュ行がすでにキ
ャッシュ内にある場合に限りキャッシュに書き込まれ
る。L1記憶バッファは、次の点でストアスルー型キャッ
シュと異なっている。
a.ストアスルー型キャッシュは、主記憶装置から取り出
され、命令処理装置1に渡される予定のデータを保持す
る。記憶バッファ105は、記憶され、主記憶装置180aま
たは180bに入力される予定のデータを保持する。この重
要な特徴により、使用したデータを再試行動作中に再度
呼び出すことが可能である。
され、命令処理装置1に渡される予定のデータを保持す
る。記憶バッファ105は、記憶され、主記憶装置180aま
たは180bに入力される予定のデータを保持する。この重
要な特徴により、使用したデータを再試行動作中に再度
呼び出すことが可能である。
b.本明細書で使用する高性能回路は比較的高価なので、
記憶バッファは普通非常に小さい(1ないし8キャッシ
ュ行)。ストアスルー型キャッシュは、比較的大きく、
どのくらいのデータを保持することが望まれるかに応じ
て、通常256ないし512キャッシュ行の記憶量を収容でき
る。
記憶バッファは普通非常に小さい(1ないし8キャッシ
ュ行)。ストアスルー型キャッシュは、比較的大きく、
どのくらいのデータを保持することが望まれるかに応じ
て、通常256ないし512キャッシュ行の記憶量を収容でき
る。
c.ストアスルー型キャッシュは通常セット連想式であ
る。記憶バッファ105は完全に連想式である。
る。記憶バッファ105は完全に連想式である。
d.ストアスルー型キャッシュは全キャッシュ行を含む。
記憶バッファ105は通常部分キャッシュ行を含む。
記憶バッファ105は通常部分キャッシュ行を含む。
記憶バッファ105は、第3図に示すような8個のスロッ
トを含む。各スロットは、8つのデータ・ダブルワード
を、ダブルワード及び変更された各ダブルワードのバイ
トを示すフラグと共に含む。各スロットは、記憶動作の
状況を示すEOIビット及びCOMPビットを含む。記憶バッ
ファ中のスロットの数は、記憶バッファがその記憶を累
積しているキャッシュ行の数である。記憶バッファが8
つのスロットから構成される場合、記憶バッファ・アド
レス・レジスタによって示される8つの行のどれに対す
る記憶も、記憶バッファ内で行なわれる。各記憶バッフ
ァ・アドレス・レジスタは特定の記憶バッファ・スロッ
トに対応する。各記憶バッファ・スロット内の各バイト
は、第3a図に示すように、その特定のバイトが記憶され
たかどうかを示す対応する1ビットの「マーク」をも
つ。マークが1に設定されたときは、データの対応する
バイトは、記憶されたので有効である。マークが0に設
定されたときは、データの対応バイトは、記憶されなか
ったので無効である。EOIビット及びCOMPビットはどち
らも、ある項目が予定されるときゼロに設定される。EO
Iビットは、命令の終端で1に設定され、COMPビット
は、データがL2キャッシュまたはL3主記憶装置に記憶さ
れるときゼロに設定される。記憶バッファには、連続、
直接、及び非連続の3つの動作モードがある。Sビット
及びIMMビットはそれぞれ連続記憶モード及び直接記憶
モードを示す。連続モードでは、記憶は64バイト・スロ
ット内でダブルワードに対して行なわれる。64バイトの
境界を越えると、次の記憶バッファ・スロットが使用さ
れる。非連続モードでは、すべての記憶動作が、64バイ
ト境界を越えない記憶の場合、記憶バッファの1つのス
ロットを使用する。直接記憶モードでは、記憶バッファ
・データは、命令実行の完了前に、L2キャッシュまたは
主記憶装置に記憶される資格を得る。
トを含む。各スロットは、8つのデータ・ダブルワード
を、ダブルワード及び変更された各ダブルワードのバイ
トを示すフラグと共に含む。各スロットは、記憶動作の
状況を示すEOIビット及びCOMPビットを含む。記憶バッ
ファ中のスロットの数は、記憶バッファがその記憶を累
積しているキャッシュ行の数である。記憶バッファが8
つのスロットから構成される場合、記憶バッファ・アド
レス・レジスタによって示される8つの行のどれに対す
る記憶も、記憶バッファ内で行なわれる。各記憶バッフ
ァ・アドレス・レジスタは特定の記憶バッファ・スロッ
トに対応する。各記憶バッファ・スロット内の各バイト
は、第3a図に示すように、その特定のバイトが記憶され
たかどうかを示す対応する1ビットの「マーク」をも
つ。マークが1に設定されたときは、データの対応する
バイトは、記憶されたので有効である。マークが0に設
定されたときは、データの対応バイトは、記憶されなか
ったので無効である。EOIビット及びCOMPビットはどち
らも、ある項目が予定されるときゼロに設定される。EO
Iビットは、命令の終端で1に設定され、COMPビット
は、データがL2キャッシュまたはL3主記憶装置に記憶さ
れるときゼロに設定される。記憶バッファには、連続、
直接、及び非連続の3つの動作モードがある。Sビット
及びIMMビットはそれぞれ連続記憶モード及び直接記憶
モードを示す。連続モードでは、記憶は64バイト・スロ
ット内でダブルワードに対して行なわれる。64バイトの
境界を越えると、次の記憶バッファ・スロットが使用さ
れる。非連続モードでは、すべての記憶動作が、64バイ
ト境界を越えない記憶の場合、記憶バッファの1つのス
ロットを使用する。直接記憶モードでは、記憶バッファ
・データは、命令実行の完了前に、L2キャッシュまたは
主記憶装置に記憶される資格を得る。
記憶動作が実行されるとき、記憶のデータとアドレス
が、ダブルワード及び変更されたダブルワードのバイト
を示すフラグと共に、記憶バッファの使用可能な最初の
項目に書き込まれる。記憶バッファ項目が書き込まれる
と、記憶バッファ・スロット書込みポインタが最初の使
用可能なスロットを指す。連続モードでは、書込みポイ
ンタは、IBMシステム/370命令が完了するまで、または6
4バイト・ページの最後のバイトが書き込まれるまで増
分されない。非連続モードでは、書込みポインタはあら
ゆる記憶動作で増分される。記憶バッファ・データは、
データ・バスが使用可能なとき、L2キャッシュ制御装置
またはL3制御装置に送られる。CPUからEOI信号を受け取
ると、L2キャッシュ制御装置またはL3制御装置は、記憶
バッファ・データをL2キャッシュまたはL3主記憶装置に
書き込む。記憶が完了すると、L1キャッシュ制御装置に
完了信号が送られる。すなわち、記憶バッファ・スロッ
トは再び使用できるようになる。
が、ダブルワード及び変更されたダブルワードのバイト
を示すフラグと共に、記憶バッファの使用可能な最初の
項目に書き込まれる。記憶バッファ項目が書き込まれる
と、記憶バッファ・スロット書込みポインタが最初の使
用可能なスロットを指す。連続モードでは、書込みポイ
ンタは、IBMシステム/370命令が完了するまで、または6
4バイト・ページの最後のバイトが書き込まれるまで増
分されない。非連続モードでは、書込みポインタはあら
ゆる記憶動作で増分される。記憶バッファ・データは、
データ・バスが使用可能なとき、L2キャッシュ制御装置
またはL3制御装置に送られる。CPUからEOI信号を受け取
ると、L2キャッシュ制御装置またはL3制御装置は、記憶
バッファ・データをL2キャッシュまたはL3主記憶装置に
書き込む。記憶が完了すると、L1キャッシュ制御装置に
完了信号が送られる。すなわち、記憶バッファ・スロッ
トは再び使用できるようになる。
取出し動作の詳細を第4a図、第4b図及び第4c図に示す。
記憶バッファ105に存在する行の取出しは、「取出しヒ
ット」と呼ばれ、記憶バッファ105にない行の取出しは
「取出しミス」と呼ばれる。
記憶バッファ105に存在する行の取出しは、「取出しヒ
ット」と呼ばれ、記憶バッファ105にない行の取出しは
「取出しミス」と呼ばれる。
第4a図に関して、記憶バッファ105に常駐する行の取出
しは「取出しヒット」と呼ばれ、記憶バッファ105にな
い行の取出しは「取出しミス」と呼ばれる。記憶バッフ
ァ105の取出しヒットによって参照される行全体が、L2
キャッシュ170aまたは主記憶装置180bから読み出され、
記憶バッファ105の対応するスロットの内容と組み合わ
される。この組合せは、記憶バッファ105のマークの制
御下で通常のデータ・ゲート回路によって実行される。
次いで、組み合わされたキャッシュ行が要求側命令装置
のキャッシュに転送される。
しは「取出しヒット」と呼ばれ、記憶バッファ105にな
い行の取出しは「取出しミス」と呼ばれる。記憶バッフ
ァ105の取出しヒットによって参照される行全体が、L2
キャッシュ170aまたは主記憶装置180bから読み出され、
記憶バッファ105の対応するスロットの内容と組み合わ
される。この組合せは、記憶バッファ105のマークの制
御下で通常のデータ・ゲート回路によって実行される。
次いで、組み合わされたキャッシュ行が要求側命令装置
のキャッシュに転送される。
取出しミスの結果、参照された行が主記憶装置180aと18
0bから読み出され、要求側命令処理装置のキャッシュに
送られる。記憶バッファは影響を受けない。
0bから読み出され、要求側命令処理装置のキャッシュに
送られる。記憶バッファは影響を受けない。
命令取出し動作もオペランド取出し動作も、L2キャッシ
ュまたは主記憶装置に記憶されない記憶バッファ項目に
対してインターロックされる。これは、IBMシステム/37
0アーキテクチャの1コピー記憶概念との整合性を保つ
ためである。
ュまたは主記憶装置に記憶されない記憶バッファ項目に
対してインターロックされる。これは、IBMシステム/37
0アーキテクチャの1コピー記憶概念との整合性を保つ
ためである。
オペランド・データ取出しインターロック動作を、第4b
図に示す。すべての取出しが、活動記憶バッファ項目
(EOI=1及びCOMP=0)に対してインターロックされ
る。これらの項目は、L2キャッシュまたは主記憶装置に
書き込まれない以前の命令からの保留中の記憶を表わ
す。取出しが可能になるのは、データがL2キャッシュま
たは主記憶装置に記憶され、記憶バッファ項目のCOMPビ
ットが設定されたときである。
図に示す。すべての取出しが、活動記憶バッファ項目
(EOI=1及びCOMP=0)に対してインターロックされ
る。これらの項目は、L2キャッシュまたは主記憶装置に
書き込まれない以前の命令からの保留中の記憶を表わ
す。取出しが可能になるのは、データがL2キャッシュま
たは主記憶装置に記憶され、記憶バッファ項目のCOMPビ
ットが設定されたときである。
現命令によって変更された記憶バッファ項目(EOI=0
及びCOMP=0)または以前に完了した命令からの記憶バ
ッファ項目(EOI=1及びCOMP=1)を参照するデータ
取出し要求では、キャッシュ・ヒットの場合、要求され
たデータがプロセッサに送られる。L1キャッシュ・ミス
の場合、取出し要求は、L2キャッシュまたはL3主記憶装
置からのL1行のインページが完了するまで保持される。
及びCOMP=0)または以前に完了した命令からの記憶バ
ッファ項目(EOI=1及びCOMP=1)を参照するデータ
取出し要求では、キャッシュ・ヒットの場合、要求され
たデータがプロセッサに送られる。L1キャッシュ・ミス
の場合、取出し要求は、L2キャッシュまたはL3主記憶装
置からのL1行のインページが完了するまで保持される。
第4c図を参照すると、命令取出しは、単一プロセッサ構
成またはマルチプロセッサ構成のすべての活動記憶バッ
ファ項目(COMP=0)に対してインターロックされる。
事前に取り出された命令の取出しアドレスが、COMP状況
ビット=1で記憶バファ項目のアドレスと突き合わせて
検査される。比較の結果一致した場合、記憶バッファが
L2キャッシュまたはL3主記憶装置に記憶され、COMPビッ
トがその項目に対して設定されるまで、その取出し要求
は遅延される。次いで、命令キャッシュ行がキャッシュ
内に存在する場合、それは無効にされる。次いで、命令
キャッシュ行は、L2キャッシュまたはL3主記憶装置から
インページされる。
成またはマルチプロセッサ構成のすべての活動記憶バッ
ファ項目(COMP=0)に対してインターロックされる。
事前に取り出された命令の取出しアドレスが、COMP状況
ビット=1で記憶バファ項目のアドレスと突き合わせて
検査される。比較の結果一致した場合、記憶バッファが
L2キャッシュまたはL3主記憶装置に記憶され、COMPビッ
トがその項目に対して設定されるまで、その取出し要求
は遅延される。次いで、命令キャッシュ行がキャッシュ
内に存在する場合、それは無効にされる。次いで、命令
キャッシュ行は、L2キャッシュまたはL3主記憶装置から
インページされる。
汎用レジスタがバックアップされる方式を第5図に示
す。新しいチェックポイントが設定されると、プログラ
ム状況ワード・スタックを含むIPPUは、浮動小数点装置
(FPU)の浮動小数点レジスタ、実行処理装置(EPU)の
汎用レジスタ(GPR)、及びプロセッサ間通信を担当す
る外部装置(EXT)のアドレス・レジスタ(AR)を含む
様々な論理装置にポインタを送る、この3ビットのポイ
ンタは、新しいチェックポイントが開始されたことを合
図するのに使用される。FPU、EPUおよびEXT装置は、チ
ェックポイントを同期させるため、このポインタをそれ
らのバックアップ・アレイの1つに割り当てる。命令の
実行が始まると、各装置はデータが変更される前に、バ
ックアップ・アレイ中のそれらのレジスタの古い内容を
セーブする。バックアップ処理は、新しいチェックポイ
ントが開始されるまで継続して進行する。
す。新しいチェックポイントが設定されると、プログラ
ム状況ワード・スタックを含むIPPUは、浮動小数点装置
(FPU)の浮動小数点レジスタ、実行処理装置(EPU)の
汎用レジスタ(GPR)、及びプロセッサ間通信を担当す
る外部装置(EXT)のアドレス・レジスタ(AR)を含む
様々な論理装置にポインタを送る、この3ビットのポイ
ンタは、新しいチェックポイントが開始されたことを合
図するのに使用される。FPU、EPUおよびEXT装置は、チ
ェックポイントを同期させるため、このポインタをそれ
らのバックアップ・アレイの1つに割り当てる。命令の
実行が始まると、各装置はデータが変更される前に、バ
ックアップ・アレイ中のそれらのレジスタの古い内容を
セーブする。バックアップ処理は、新しいチェックポイ
ントが開始されるまで継続して進行する。
PSWは、関連するレジスタ動作が完了したとき、完了と
示される。次いで、各装置内でPSWポインタが無効にさ
れる。その後、それらのバックアップ・アレイは新しい
チェックポイントで使用できる。
示される。次いで、各装置内でPSWポインタが無効にさ
れる。その後、それらのバックアップ・アレイは新しい
チェックポイントで使用できる。
第5図に示すように、汎用レジスタをバックアップする
ためにGPRバックアップ偶数アレイ200とGPRバックアッ
プ奇数アレイ201の2つのアレイがある。各アレイは16
個のバックアップ・レジスタから構成される。GPR再試
行ビットは、偶数アレイ用装置206と奇数アレイ用装置2
07に記憶され、この2つのアレイのどちらが使用されて
いるかを示す。偶数アレイの変更ビット位置210と奇数
アレイのそれ211は、GPRが変更され、変更前の内容がバ
ックアップ・アレイにあることを示す。復元される項目
は、変更位置に1ビットをもつもの、すなわち、データ
を変更したレジスタである。
ためにGPRバックアップ偶数アレイ200とGPRバックアッ
プ奇数アレイ201の2つのアレイがある。各アレイは16
個のバックアップ・レジスタから構成される。GPR再試
行ビットは、偶数アレイ用装置206と奇数アレイ用装置2
07に記憶され、この2つのアレイのどちらが使用されて
いるかを示す。偶数アレイの変更ビット位置210と奇数
アレイのそれ211は、GPRが変更され、変更前の内容がバ
ックアップ・アレイにあることを示す。復元される項目
は、変更位置に1ビットをもつもの、すなわち、データ
を変更したレジスタである。
各GPRバックアップ・アレイに関連するPSWポインタと有
効ビット222がある。PSWポインタは、そのチェックポイ
ントですべてのGPR書込みが完了し、そのPSW完了ビット
をマークしたかどうか判定する際に使用される。有効ビ
ット222は、アレイが再使用可能なことを示すために使
用される。
効ビット222がある。PSWポインタは、そのチェックポイ
ントですべてのGPR書込みが完了し、そのPSW完了ビット
をマークしたかどうか判定する際に使用される。有効ビ
ット222は、アレイが再使用可能なことを示すために使
用される。
FPRはバックアップするのにも同様なバックアップ・ア
レイが使用される。2つのバックアップ・アレイ(図示
せず)は、それぞれ4つのFPRから構成され、変更前のF
PRデータをセーブするのに使用される。FPR中のデータ
が変更されることになる度にバックアップ動作が実行さ
れる。1つのバックアップ・アレイが、各チェックポイ
ント期間に使用される。FPR再試行グループ・ビット
は、どのアレイが現在使用中であるかを示す。同様に、
ある項目の変更ビットは、FPRデータが変更され、変更
前の内容がFPRバックアップ・アレイにあることを示
す。変更された項目は、命令再試行動作によりバックア
ップ中に復元されなければならないものである。
レイが使用される。2つのバックアップ・アレイ(図示
せず)は、それぞれ4つのFPRから構成され、変更前のF
PRデータをセーブするのに使用される。FPR中のデータ
が変更されることになる度にバックアップ動作が実行さ
れる。1つのバックアップ・アレイが、各チェックポイ
ント期間に使用される。FPR再試行グループ・ビット
は、どのアレイが現在使用中であるかを示す。同様に、
ある項目の変更ビットは、FPRデータが変更され、変更
前の内容がFPRバックアップ・アレイにあることを示
す。変更された項目は、命令再試行動作によりバックア
ップ中に復元されなければならないものである。
前述のGPRバックアップの場合と同様に、FPRバックアッ
プ・アレイもそれぞれ関連するPSWポインタと有効ビッ
トをもつ。PSWポインタは、あるチェックポイントでの
すべてのFPR書込みが完了して、そのPSW完了ビットをマ
ークするかどうか判定する際に使用される。有効ビット
は、アレイが再使用可能なことを示すために使用され
る。
プ・アレイもそれぞれ関連するPSWポインタと有効ビッ
トをもつ。PSWポインタは、あるチェックポイントでの
すべてのFPR書込みが完了して、そのPSW完了ビットをマ
ークするかどうか判定する際に使用される。有効ビット
は、アレイが再使用可能なことを示すために使用され
る。
同様に、アクセス・レジスタ(AR)中のデータは、それ
ぞれ16個のARで構成される2つのアレイでバックアップ
される。このバックアップは、AR中のデータがチェック
ポイント期間中最初に変更されるときに実行される。各
チェックポイント期間に使用される1つのバックアップ
・アレイが、ARの内容を変更する。AR再試行グループ・
ビットは、どちらのアレイが現在使用中であるかを示
す。無変更ビットは、ARが変更され、変更前の内容がAR
バックアップ・アレイにあることを示す。
ぞれ16個のARで構成される2つのアレイでバックアップ
される。このバックアップは、AR中のデータがチェック
ポイント期間中最初に変更されるときに実行される。各
チェックポイント期間に使用される1つのバックアップ
・アレイが、ARの内容を変更する。AR再試行グループ・
ビットは、どちらのアレイが現在使用中であるかを示
す。無変更ビットは、ARが変更され、変更前の内容がAR
バックアップ・アレイにあることを示す。
各ARバックアップ・アレイに関連するPSWポインタもあ
る。PSWポインタがすべて1のとき、ARバックアップ・
アレイが無効であることを示す。PSWポインタは、ある
チェックポイントですべてのAR書込みが完了して、PSW
完了ビットをマークするかどうか判定するのに使用され
る。ARバックアップ・アレイは、アレイが再使用可能な
ことを示す有効状況ビットを含む。
る。PSWポインタがすべて1のとき、ARバックアップ・
アレイが無効であることを示す。PSWポインタは、ある
チェックポイントですべてのAR書込みが完了して、PSW
完了ビットをマークするかどうか判定するのに使用され
る。ARバックアップ・アレイは、アレイが再使用可能な
ことを示す有効状況ビットを含む。
チェックポイントが設定されると、第6図に示すよう
に、全PSWがPSWスタックにセーブされる。PSWスタック3
00は、6つの項目0−5をもち、システム制御装置によ
って順番に更新される。ある項目の状況が完了とマーク
されているとき、その項目が再使用できる。
に、全PSWがPSWスタックにセーブされる。PSWスタック3
00は、6つの項目0−5をもち、システム制御装置によ
って順番に更新される。ある項目の状況が完了とマーク
されているとき、その項目が再使用できる。
PSWスタック制御は、プロセッサによって実行中の命令
から誘導される。その命令が以前のチェックポイントに
使用したものと異なる再試行処理手順を必要とするとき
は、チェックポイントが作成される。チェックポイント
が以下の場合に備えて設定される。
から誘導される。その命令が以前のチェックポイントに
使用したものと異なる再試行処理手順を必要とするとき
は、チェックポイントが作成される。チェックポイント
が以下の場合に備えて設定される。
データが他のプロセッサまたはチャンネル・サブシステ
ムにできるだけ速やかに見えるようにする、IBMシステ
ム/370記憶形式命令の復号。
ムにできるだけ速やかに見えるようにする、IBMシステ
ム/370記憶形式命令の復号。
IBMシステム/370LM(Load Multiple)命令とLAM(Load
Access Multiple)命令の復号。これらの命令が、記憶
ページ境界を越える多くのブロック・データにアクセス
でき、したがってアクセス例外事前検査を実行する必要
はない。
Access Multiple)命令の復号。これらの命令が、記憶
ページ境界を越える多くのブロック・データにアクセス
でき、したがってアクセス例外事前検査を実行する必要
はない。
マイクロコード化IBMシステム/370命令の復号。マイク
ロコード・ルーチンに記憶形式命令を含めることが可能
である。
ロコード・ルーチンに記憶形式命令を含めることが可能
である。
上記の特殊なケースを有効に分離するための上記のいず
れかの命令に続く命令の復号。及び マイクロコード・ルーチン中でL1記憶バッファをあふれ
させずに大きなデータ移動を処理するための、「TAKE C
HECKPOINT」マイクロワードの復号。
れかの命令に続く命令の復号。及び マイクロコード・ルーチン中でL1記憶バッファをあふれ
させずに大きなデータ移動を処理するための、「TAKE C
HECKPOINT」マイクロワードの復号。
チェックポイントは、GPR装置、FPR装置、AR装置または
それらの任意の組合せでの動作に関する命令など複数の
命令からも構成できる。新しいチェックポイントに達す
ると、PSWポインタは、第2図に示すPSWポインタ(PT
R)バスを介してすべての処理装置に同報通信される。
各処理装置は、新しいPSWポインタを使って現在または
今後要求されるすべての動作のラベル付けを担当する。
各処理装置はまた、最後のチェックポイントに関連する
すべての動作が完了したとき、IPPUに通知しなければな
らない。PSWスタックの各項目は、「処理装置完了」ビ
ットを含む。処理装置完了ビットは、関連する装置が完
了と返答したとき、すなわち最後のチェックポイントに
関連するすべての動作が完了したときに設定される。FP
Uは、第2図に示すFPU完了ポインタ・バスを介してチェ
ックポイント完了を合図する。ARは、第2図に示すAR完
了ポインタを介してチェックポイント完了を合図する。
PSWスタックは、EPUに対する大域制御から構成され、GP
Rバックアップ・レジスタがその中にある、IPPU中にあ
る。大域制御は、すべてのGPR動作を記録し、あるチェ
ックポイント内のすべてのEPU動作の完了を検出する。
すなわち、EPUは、その動作の完了を能動的に合図する
必要はない。IPPUは処理完了ビットがすべて設定された
ことを検出すると、そのチェックポイントをクリアし始
める。チェックポイントがクリアされるのは、バックア
ップが無効になり、PSWスタック項目が完了とマークさ
れるときである。IPPUは、処理装置への同報通信により
そのチェックポイントに関連するバックアップを無効に
する。同時に、PSW項目が完了とマークされる。バック
アップの無効化とPSW項目の完了後、そのチェックポイ
ントに関連するすべての情報は無効になり、バックアッ
プ・アレイとPSW項目は新しいチェックポイントに使用
できる。
それらの任意の組合せでの動作に関する命令など複数の
命令からも構成できる。新しいチェックポイントに達す
ると、PSWポインタは、第2図に示すPSWポインタ(PT
R)バスを介してすべての処理装置に同報通信される。
各処理装置は、新しいPSWポインタを使って現在または
今後要求されるすべての動作のラベル付けを担当する。
各処理装置はまた、最後のチェックポイントに関連する
すべての動作が完了したとき、IPPUに通知しなければな
らない。PSWスタックの各項目は、「処理装置完了」ビ
ットを含む。処理装置完了ビットは、関連する装置が完
了と返答したとき、すなわち最後のチェックポイントに
関連するすべての動作が完了したときに設定される。FP
Uは、第2図に示すFPU完了ポインタ・バスを介してチェ
ックポイント完了を合図する。ARは、第2図に示すAR完
了ポインタを介してチェックポイント完了を合図する。
PSWスタックは、EPUに対する大域制御から構成され、GP
Rバックアップ・レジスタがその中にある、IPPU中にあ
る。大域制御は、すべてのGPR動作を記録し、あるチェ
ックポイント内のすべてのEPU動作の完了を検出する。
すなわち、EPUは、その動作の完了を能動的に合図する
必要はない。IPPUは処理完了ビットがすべて設定された
ことを検出すると、そのチェックポイントをクリアし始
める。チェックポイントがクリアされるのは、バックア
ップが無効になり、PSWスタック項目が完了とマークさ
れるときである。IPPUは、処理装置への同報通信により
そのチェックポイントに関連するバックアップを無効に
する。同時に、PSW項目が完了とマークされる。バック
アップの無効化とPSW項目の完了後、そのチェックポイ
ントに関連するすべての情報は無効になり、バックアッ
プ・アレイとPSW項目は新しいチェックポイントに使用
できる。
第1図に戻ると、CPUによって開始されるすべての記憶
動作は、L1記憶バッファ待ち行列に項目を1つ作成す
る。この待ち行列は、前述のように、ストアイン型L2キ
ャッシュを備えたシステムにもストアイン型L2キャッシ
ュのないプロセッサにも共通である。L1記憶バッファ待
ち行列項目は、絶対アドレス、データ、どのダブルワー
ドまたはバイトあるいはその両方が変更されたかを識別
するフィールド、ならびに命令再試行にとって重要な2
つのフラグである、命令終了(EOI)ビット及びチェッ
クポイント終了(COMP)ビットから構成される。EOIビ
ットは、値0のとき、その項目が現命令の記憶に対する
ものであることを示し、値1のときは以前の命令の記憶
に対するものであることを示す。EOI信号は、チェック
ポイントの終りにCPUによってL1記憶バッファ制御装置
に送られる。
動作は、L1記憶バッファ待ち行列に項目を1つ作成す
る。この待ち行列は、前述のように、ストアイン型L2キ
ャッシュを備えたシステムにもストアイン型L2キャッシ
ュのないプロセッサにも共通である。L1記憶バッファ待
ち行列項目は、絶対アドレス、データ、どのダブルワー
ドまたはバイトあるいはその両方が変更されたかを識別
するフィールド、ならびに命令再試行にとって重要な2
つのフラグである、命令終了(EOI)ビット及びチェッ
クポイント終了(COMP)ビットから構成される。EOIビ
ットは、値0のとき、その項目が現命令の記憶に対する
ものであることを示し、値1のときは以前の命令の記憶
に対するものであることを示す。EOI信号は、チェック
ポイントの終りにCPUによってL1記憶バッファ制御装置
に送られる。
チェックポイント完了ビットは、対応するデータが、L2
キャッシュまたはL3メモリにうまく記憶され、CPUまた
はチャンネル・サブシステムにそのデータが見えるよう
になったかどうかを示す。
キャッシュまたはL3メモリにうまく記憶され、CPUまた
はチャンネル・サブシステムにそのデータが見えるよう
になったかどうかを示す。
EOI=1及びCOMP=0である新しい記憶バッファ待ち行
列項目を作成するケースが2つある。IPUが割込みを処
理中で命令を実行していない場合と、記憶の前に記憶待
ち行列解放フラグが送られ、マイクロコード化命令を再
試行不能にする場合である。この2つの場合、記憶バッ
ファ待ち行列項目が、システムの構成に応じて、L2キャ
ッシュまたはL3メモリに直接送られる。これらのケース
の実行中に検出されたエラーは、一般に再試行不能であ
り、チェックポイント状態の復元は不要である。
列項目を作成するケースが2つある。IPUが割込みを処
理中で命令を実行していない場合と、記憶の前に記憶待
ち行列解放フラグが送られ、マイクロコード化命令を再
試行不能にする場合である。この2つの場合、記憶バッ
ファ待ち行列項目が、システムの構成に応じて、L2キャ
ッシュまたはL3メモリに直接送られる。これらのケース
の実行中に検出されたエラーは、一般に再試行不能であ
り、チェックポイント状態の復元は不要である。
プロセッサ内の記憶の一貫性を維持するため、記憶の取
出しが、EOI=1及びCOMP=0である記憶バッファ待ち
行列項目に対してインターロックされる。これらの項目
は、以前の命令から保留中の記憶を表わす。命令取出
し、オペランド取出し、及びプロセッサによって行なわ
れる動的アドレス変更(DATA)テーブル取出しを含め
て、すべての取出しがインターロックされる。オペラン
ド取出し要求が開始されると、取出しの絶対アドレスが
L1記憶バッファ待ち行列項目と比較される。EOI=1及
びCOMP=0である記憶待ち行列項目と一致する場合、場
合に応じて、L2キャッシュまたはL3メモリへの記憶要求
の完了まで取出しが保持される。
出しが、EOI=1及びCOMP=0である記憶バッファ待ち
行列項目に対してインターロックされる。これらの項目
は、以前の命令から保留中の記憶を表わす。命令取出
し、オペランド取出し、及びプロセッサによって行なわ
れる動的アドレス変更(DATA)テーブル取出しを含め
て、すべての取出しがインターロックされる。オペラン
ド取出し要求が開始されると、取出しの絶対アドレスが
L1記憶バッファ待ち行列項目と比較される。EOI=1及
びCOMP=0である記憶待ち行列項目と一致する場合、場
合に応じて、L2キャッシュまたはL3メモリへの記憶要求
の完了まで取出しが保持される。
ストアイン型L2キャッシュを備えたプロセッサでは、EO
I信号は、チェックポイントの終りにL1記憶バッファ制
御装置に送られる。あるチェックポイントのすべての記
憶待ち行列項目のEOIビットは、1に設定され、その記
憶待ち行列項目がL2キャッシュに書き込まれることを示
す。L1記憶バッファ待ち行列項目がL2キャッシュに書き
込まれると、L2キャッシュ制御装置は、L1記憶バッファ
制御装置に、あるチェックポイントのすべてのL1記憶バ
ッファ記憶待ち行列項目で、チェックポイント完了ビト
を設定するように合図する。すなわち、これらの項目
が、次のチェックポイントの記憶動作に利用できるよう
になる。8のL1記憶バッファ待ち項目に加えて、データ
の統合及びL2キャッシュへの転送用の追加バッファがL2
キャッシュ制御装置に設けられている。記憶データがL1
記憶バッファ待ち行列に記憶されると、L1記憶バッファ
制御装置は、それらの項目をL2記憶待ち行列及び関連す
る書込みバッファに移す。L2キャッシュ制御装置は、L1
記憶バッファ制御装置からのEOI信号を受け取ったのに
応答して、L2キャッシュの動作を開始させる。L2キャッ
シュはストアイン型なので、記憶データは、L2キャッシ
ュ制御によってアウトページ動作が開始されるまで、L3
主記憶装置に入力されない。
I信号は、チェックポイントの終りにL1記憶バッファ制
御装置に送られる。あるチェックポイントのすべての記
憶待ち行列項目のEOIビットは、1に設定され、その記
憶待ち行列項目がL2キャッシュに書き込まれることを示
す。L1記憶バッファ待ち行列項目がL2キャッシュに書き
込まれると、L2キャッシュ制御装置は、L1記憶バッファ
制御装置に、あるチェックポイントのすべてのL1記憶バ
ッファ記憶待ち行列項目で、チェックポイント完了ビト
を設定するように合図する。すなわち、これらの項目
が、次のチェックポイントの記憶動作に利用できるよう
になる。8のL1記憶バッファ待ち項目に加えて、データ
の統合及びL2キャッシュへの転送用の追加バッファがL2
キャッシュ制御装置に設けられている。記憶データがL1
記憶バッファ待ち行列に記憶されると、L1記憶バッファ
制御装置は、それらの項目をL2記憶待ち行列及び関連す
る書込みバッファに移す。L2キャッシュ制御装置は、L1
記憶バッファ制御装置からのEOI信号を受け取ったのに
応答して、L2キャッシュの動作を開始させる。L2キャッ
シュはストアイン型なので、記憶データは、L2キャッシ
ュ制御によってアウトページ動作が開始されるまで、L3
主記憶装置に入力されない。
ストアイン型L2キャッシュをもたないプロセッサでは、
CPUによって開始されたすべての動作用の記憶データ
が、L2キャッシュを備えたプロセッサの場合と同様に、
L1記憶バッファ待ち行列に入れられる。L3制御装置はま
た、追加の記憶待ち行列とメモリに移る記憶データを緩
衝記憶するための書込みバッファを備えている。L1記憶
バッファ制御装置から見て、L3制御装置とL2キャッシュ
制御装置へのインターフェースは同じである。あるチェ
ックポイントの終りにEOI信号がL1記憶バファ制御装置
に送られ、あるチェックポイントに対するすべてのL1記
憶バッファ項目のEOIビットが1に設定されて、その項
目がL3主記憶装置に書き込まれることを示す。次いで、
L1記憶バッファ待ち行列項目が、L3主記憶装置記憶待ち
行列に転送され、その後、L3制御装置の書込みバッファ
に送られる。データがL3主記憶装置に書き込まれると、
L3制御装置は、L1記憶バッファ制御装置に、受け取った
記憶待ち行列項目に対するチェックポイント完了ビット
を設定するように合図する。その後、これらの項目は次
のチェックポイントの記憶動作に利用できる。
CPUによって開始されたすべての動作用の記憶データ
が、L2キャッシュを備えたプロセッサの場合と同様に、
L1記憶バッファ待ち行列に入れられる。L3制御装置はま
た、追加の記憶待ち行列とメモリに移る記憶データを緩
衝記憶するための書込みバッファを備えている。L1記憶
バッファ制御装置から見て、L3制御装置とL2キャッシュ
制御装置へのインターフェースは同じである。あるチェ
ックポイントの終りにEOI信号がL1記憶バファ制御装置
に送られ、あるチェックポイントに対するすべてのL1記
憶バッファ項目のEOIビットが1に設定されて、その項
目がL3主記憶装置に書き込まれることを示す。次いで、
L1記憶バッファ待ち行列項目が、L3主記憶装置記憶待ち
行列に転送され、その後、L3制御装置の書込みバッファ
に送られる。データがL3主記憶装置に書き込まれると、
L3制御装置は、L1記憶バッファ制御装置に、受け取った
記憶待ち行列項目に対するチェックポイント完了ビット
を設定するように合図する。その後、これらの項目は次
のチェックポイントの記憶動作に利用できる。
記憶待ち行列の更新が1回だけのハードワイヤ式記憶命
令では、記憶待ち行列データが待ち行列に入れられるの
と同時に、L1記憶バッファ待ち行列項目のEOIビットが
1に設定される。マイクロコード化記憶命令では、ある
チェックポイントに関連するすべての記憶待ち行列項目
のEOIビットがL1記憶バッファ制御装置に送られる。L2
キャッシュ制御装置またはL3制御装置が、場合に応じ
て、L2キャッシュまたはL3主記憶装置への記憶動作をう
まく完了したとき、すべての記憶待ち行列項目に対して
チェックポイント完了ビットが設定される。
令では、記憶待ち行列データが待ち行列に入れられるの
と同時に、L1記憶バッファ待ち行列項目のEOIビットが
1に設定される。マイクロコード化記憶命令では、ある
チェックポイントに関連するすべての記憶待ち行列項目
のEOIビットがL1記憶バッファ制御装置に送られる。L2
キャッシュ制御装置またはL3制御装置が、場合に応じ
て、L2キャッシュまたはL3主記憶装置への記憶動作をう
まく完了したとき、すべての記憶待ち行列項目に対して
チェックポイント完了ビットが設定される。
CPU中でエラーが発生すると、IPUとL1記憶バッファのク
ロックが停止され、L2キャッシュ制御装置またはL3制御
装置は直ちに、現コマンドが完了するまで、IPUに対す
る保留中の記憶コマンドがあれば、そのサービスを停止
する。
ロックが停止され、L2キャッシュ制御装置またはL3制御
装置は直ちに、現コマンドが完了するまで、IPUに対す
る保留中の記憶コマンドがあれば、そのサービスを停止
する。
次いで、プロセッサを以前のチェックポイント状態に復
元するために命令再試行機構が呼び出される。関連する
バックアップ・アレイから様々なレジスタへのデータを
復元することに加えて、EOI=1である記憶待ち行列項
目が、システム構成に応じて、L2キャッシュまたはL3主
記憶装置にフラッシュされ、EOI=0である項目はパー
ジされる。
元するために命令再試行機構が呼び出される。関連する
バックアップ・アレイから様々なレジスタへのデータを
復元することに加えて、EOI=1である記憶待ち行列項
目が、システム構成に応じて、L2キャッシュまたはL3主
記憶装置にフラッシュされ、EOI=0である項目はパー
ジされる。
CPUがエラーを検出すると、CPUのクロックが2サイクル
の間で停止する。CPUクロック停止信号は、通常のエラ
ー検出回路によって生成され、L3記憶バッファ制御装置
に送られる。次いで、L3記憶バッファ制御装置がCPUに
対するサービスを停止する。エラーから回復するには、
CPUを走査リセットする。すなわち、CPUのすべてのラッ
チを再起動状態に設定する。様々なレジスタの復元は、
通常のマイクロコード・ルーチンによって行なわれる。
マイクロコードは、PSWスタックの検査により必要な復
元の程度を決定する。PSWスタック項目は、復元を行な
うため対応するレジスタ・バックアップ・アレイを選択
するのに使用されるPSWポインタを含む。次に、バック
アップ・アレイからAR、FR及びGPRが回復される。レジ
スタの復元後、PSWスタックのPSWが完了状況に設定さ
れ、レジスタ・バックアップ・アレイが無効にされる。
L2キャッシュを備えたプロセッサでは、L1ディレクトリ
の状況とL2キャッシュ制御装置のL1状況がリセットされ
る。L2キャッシュのないプロセッサでは、チャンネル・
ディレクトリとL1ディレクトリがリセットされる。EOI
=1であるL1記憶待ち行列項目が、場合に応じて、L2キ
ャッシュまたはL3主記憶装置にフラッシュされる。記憶
待ち行列と書込みバッファのすべてについて、EOI=0
(チェックポイントが障害の影響を受けたことを表わ
す)である記憶待ち行列項目がパージされる。
の間で停止する。CPUクロック停止信号は、通常のエラ
ー検出回路によって生成され、L3記憶バッファ制御装置
に送られる。次いで、L3記憶バッファ制御装置がCPUに
対するサービスを停止する。エラーから回復するには、
CPUを走査リセットする。すなわち、CPUのすべてのラッ
チを再起動状態に設定する。様々なレジスタの復元は、
通常のマイクロコード・ルーチンによって行なわれる。
マイクロコードは、PSWスタックの検査により必要な復
元の程度を決定する。PSWスタック項目は、復元を行な
うため対応するレジスタ・バックアップ・アレイを選択
するのに使用されるPSWポインタを含む。次に、バック
アップ・アレイからAR、FR及びGPRが回復される。レジ
スタの復元後、PSWスタックのPSWが完了状況に設定さ
れ、レジスタ・バックアップ・アレイが無効にされる。
L2キャッシュを備えたプロセッサでは、L1ディレクトリ
の状況とL2キャッシュ制御装置のL1状況がリセットされ
る。L2キャッシュのないプロセッサでは、チャンネル・
ディレクトリとL1ディレクトリがリセットされる。EOI
=1であるL1記憶待ち行列項目が、場合に応じて、L2キ
ャッシュまたはL3主記憶装置にフラッシュされる。記憶
待ち行列と書込みバッファのすべてについて、EOI=0
(チェックポイントが障害の影響を受けたことを表わ
す)である記憶待ち行列項目がパージされる。
再試行動作中、ハードワイヤ式制御装置が、回復に必要
な未完了チェックポイントの数を示すように設定され
る。PSWは再試行動作の進行を記録する。未完了チェッ
クポイントすべてが再試行されエラーなしで完了し、カ
ウンタがゼロになると、独立のシステム支援プロセッサ
にチェックポイント再試行が首尾より完了したことを合
図する、割込み信号が生成される。
な未完了チェックポイントの数を示すように設定され
る。PSWは再試行動作の進行を記録する。未完了チェッ
クポイントすべてが再試行されエラーなしで完了し、カ
ウンタがゼロになると、独立のシステム支援プロセッサ
にチェックポイント再試行が首尾より完了したことを合
図する、割込み信号が生成される。
第2のエラーが発生する場合、カウントがゼロになって
ないことにより再試行動作中にそれが発生したと判定さ
れる。その場合、命令再試行が再起動されるだけであ
る。マイクロコード制御カウンタは、失敗した回復試行
の回数を記録し、こうした失敗した試行が事前に選択し
た回数に達したとき、再試行動作を停止し、システム損
傷信号を生成する。
ないことにより再試行動作中にそれが発生したと判定さ
れる。その場合、命令再試行が再起動されるだけであ
る。マイクロコード制御カウンタは、失敗した回復試行
の回数を記録し、こうした失敗した試行が事前に選択し
た回数に達したとき、再試行動作を停止し、システム損
傷信号を生成する。
以上、本発明が実施されるデータ処理システムは考慮外
に置いて本発明について説明してきたが、本発明で使用
するデータ処理システムを第7図に示す。単一プロセッ
サまたは単一プロセッサ・システムは、L3主記憶装置51
0を含む。主記憶装置510は記憶制御装置(SCL)512に接
続されている。記憶制御装置512は統合入出力サブシス
テム制御装置514に接続され、制御装置514は統合アダプ
タと単一カード・チャンネル516に接続されている。記
憶制御装置512は、命令とデータの記憶を行なうL1記憶
キャッシュ518にも接続されている。L1キャッシュ518は
命令装置(I装置)、実行装置(E装置)及び制御記憶
装置520に接続されている。L1記憶キャッシュはベクト
ル・プロセッサ522にも接続されている。ベクトル・プ
ロセッサ522は、1983年9月9日に出願され、本特許の
出願人であるインターナショナル・ビジネス・マシーン
ズ・コーポレーションに譲渡された、米国特許出願第06
/530842号「高性能並列ベクトル・プロセッサ(High Pe
rformance Parallel VectorProcessor)」により詳細に
記載されている。特許出願第06/530842号の開示を引用
により本明細書に組み込む。単一プロセッサ・システム
は、他の処理システムとのデータの交換を行なうマルチ
システム・チャンネル通信装置524をも含む。
に置いて本発明について説明してきたが、本発明で使用
するデータ処理システムを第7図に示す。単一プロセッ
サまたは単一プロセッサ・システムは、L3主記憶装置51
0を含む。主記憶装置510は記憶制御装置(SCL)512に接
続されている。記憶制御装置512は統合入出力サブシス
テム制御装置514に接続され、制御装置514は統合アダプ
タと単一カード・チャンネル516に接続されている。記
憶制御装置512は、命令とデータの記憶を行なうL1記憶
キャッシュ518にも接続されている。L1キャッシュ518は
命令装置(I装置)、実行装置(E装置)及び制御記憶
装置520に接続されている。L1記憶キャッシュはベクト
ル・プロセッサ522にも接続されている。ベクトル・プ
ロセッサ522は、1983年9月9日に出願され、本特許の
出願人であるインターナショナル・ビジネス・マシーン
ズ・コーポレーションに譲渡された、米国特許出願第06
/530842号「高性能並列ベクトル・プロセッサ(High Pe
rformance Parallel VectorProcessor)」により詳細に
記載されている。特許出願第06/530842号の開示を引用
により本明細書に組み込む。単一プロセッサ・システム
は、他の処理システムとのデータの交換を行なうマルチ
システム・チャンネル通信装置524をも含む。
L3主記憶装置510は、通常「知能」メモリ・カードから
構成される。「知能」と呼ばれるのは、エラー検査/訂
正、再生アドレス・レジスタ及びカウンタ、ならびに予
備ビット機能を含むからである。L3記憶装置とのインタ
ーフェースは通常、幅8ビットである。L3主記憶装置の
容量は8ないし64メガバイトである。
構成される。「知能」と呼ばれるのは、エラー検査/訂
正、再生アドレス・レジスタ及びカウンタ、ならびに予
備ビット機能を含むからである。L3記憶装置とのインタ
ーフェースは通常、幅8ビットである。L3主記憶装置の
容量は8ないし64メガバイトである。
L3主記憶装置510へのアクセスは、L3主記憶装置510、統
合サブシステム制御装置514及びL1記憶キャッシュ518へ
のアクセスを制御する3つのバス・アービタをもつ、記
憶制御装置512の制御下にある。記憶制御装置512は、要
求されたデータがあるかどうかL1記憶キャッシュ518の
探索を担当するディレクトリも含んでいた。データがL1
記憶キャッシュ518中に存在するか古いものである場
合、L1記憶制御装置512は、L1記憶キャッシュ518中の古
くなったデータを無効にして、入出力サブシステム制御
装置514にL3主記憶装置510のデータを更新させる。その
後、命令/実行装置512は、L3主記憶装置510から更新デ
ータを獲得しなければならない。
合サブシステム制御装置514及びL1記憶キャッシュ518へ
のアクセスを制御する3つのバス・アービタをもつ、記
憶制御装置512の制御下にある。記憶制御装置512は、要
求されたデータがあるかどうかL1記憶キャッシュ518の
探索を担当するディレクトリも含んでいた。データがL1
記憶キャッシュ518中に存在するか古いものである場
合、L1記憶制御装置512は、L1記憶キャッシュ518中の古
くなったデータを無効にして、入出力サブシステム制御
装置514にL3主記憶装置510のデータを更新させる。その
後、命令/実行装置512は、L3主記憶装置510から更新デ
ータを獲得しなければならない。
記憶制御装置512は、入出力サブシステム制御装置514か
らL3主記憶装置510に入力されるデータ、及び命令/実
行装置520からL3主記憶装置510に入力されるデータを緩
衝記憶する複数のバッファも含む。命令/実行装置520
に関連するバッファは、一時に8バイトの項目を作成で
きる、256バイト行バッファであることが望ましい。こ
れは、順次動作などいくつかのタイプの命令に対処でき
ることが望ましい。この行バッファが一杯になると、L3
主記憶装置へのデータのブロック転送が行なわれて、所
定のデータ・ブロックを転送するのに必要な記憶動作の
数が減り、システムの動作の速度が上がる。
らL3主記憶装置510に入力されるデータ、及び命令/実
行装置520からL3主記憶装置510に入力されるデータを緩
衝記憶する複数のバッファも含む。命令/実行装置520
に関連するバッファは、一時に8バイトの項目を作成で
きる、256バイト行バッファであることが望ましい。こ
れは、順次動作などいくつかのタイプの命令に対処でき
ることが望ましい。この行バッファが一杯になると、L3
主記憶装置へのデータのブロック転送が行なわれて、所
定のデータ・ブロックを転送するのに必要な記憶動作の
数が減り、システムの動作の速度が上がる。
L1記憶キャッシュは通常、複数の16Kバイト・キャッシ
ュを含む。L1記憶キャッシュ518から記憶制御装置512へ
のインターフェースは幅8バイトなので、記憶制御装置
512からのインページ動作には8データ転送サイクルが
必要である。L1記憶キャッシュ518はストアスルー型キ
ャッシュである。命令/実行装置520からのデータは、L
3主記憶装置510に記憶され、L1記憶キャッシュ518には
記憶されない。ただし、それに対応する現在では古くな
ったデータがすでにL1記憶キャッシュ518に存在してい
た場合はその限りではない。この動作を援助するため
に、第1図ないし第6図に関連した説明した記憶バッフ
ァがL1記憶キャッシュ518中にある。記憶バッファは最
高8つの記憶動作を緩衝記憶することができる。
ュを含む。L1記憶キャッシュ518から記憶制御装置512へ
のインターフェースは幅8バイトなので、記憶制御装置
512からのインページ動作には8データ転送サイクルが
必要である。L1記憶キャッシュ518はストアスルー型キ
ャッシュである。命令/実行装置520からのデータは、L
3主記憶装置510に記憶され、L1記憶キャッシュ518には
記憶されない。ただし、それに対応する現在では古くな
ったデータがすでにL1記憶キャッシュ518に存在してい
た場合はその限りではない。この動作を援助するため
に、第1図ないし第6図に関連した説明した記憶バッフ
ァがL1記憶キャッシュ518中にある。記憶バッファは最
高8つの記憶動作を緩衝記憶することができる。
ベクトル・プロセッサ522もL1記憶キャッシュ518に接続
されている。ベクトル・プロセッサ522は、命令/実行
装置520の記憶制御装置512へのデータ・フロー経路を共
用するが、記憶動作を実行するとき、ベクトル・プロセ
ッサは、命令/実行装置520がデータを取り出すために
記憶制御装置512にアクセスするのを妨げる。
されている。ベクトル・プロセッサ522は、命令/実行
装置520の記憶制御装置512へのデータ・フロー経路を共
用するが、記憶動作を実行するとき、ベクトル・プロセ
ッサは、命令/実行装置520がデータを取り出すために
記憶制御装置512にアクセスするのを妨げる。
統合入出力サブシステム514は、8バイトのバスを介し
て記憶制御装置512に接続されている。サブシステム514
は、記憶制御装置512を統合入出力サブシステム514から
到来するデータと同期させるのに使用される、3個の64
バイト・バッファを含む。これが必要なのは、命令/実
行装置520と入出力サブシステム514が異なるクロックで
動作するからである。
て記憶制御装置512に接続されている。サブシステム514
は、記憶制御装置512を統合入出力サブシステム514から
到来するデータと同期させるのに使用される、3個の64
バイト・バッファを含む。これが必要なのは、命令/実
行装置520と入出力サブシステム514が異なるクロックで
動作するからである。
マルチシステム・チャンネル通信装置524は、4ポート
式チャンネル間アダプタであり、通常システムの外部に
あるパッケージに含まれる。
式チャンネル間アダプタであり、通常システムの外部に
あるパッケージに含まれる。
L1記憶キャッシュの記憶バッファは、以前に第1図ない
し第6図に関して説明した方式で動作する。
し第6図に関して説明した方式で動作する。
第8図に示すシステムは、バス切替え装置(BSU)526に
接続された1対のL3主記憶装置510aと510bを含む。バス
切替え装置526は、L2キャッシュ526aを含む。BSU526
は、統合入出力サブシステム514a、共用チャンネル・プ
ロセッサ528、及びそれぞれ命令装置/実行装置/制御
記憶装置520a、520b、520cとL1記憶キャッシュ518a、51
8b、518cを備えた3台のプロセッサに接続されている。
接続された1対のL3主記憶装置510aと510bを含む。バス
切替え装置526は、L2キャッシュ526aを含む。BSU526
は、統合入出力サブシステム514a、共用チャンネル・プ
ロセッサ528、及びそれぞれ命令装置/実行装置/制御
記憶装置520a、520b、520cとL1記憶キャッシュ518a、51
8b、518cを備えた3台のプロセッサに接続されている。
BSU526のキャッシュは、L2キャッシュ526aと呼ばれる。
BSU526は、3台のプロセッサ518a/520a、518b/520b、51
8c/520cのポートを2台のL3主記憶装置510aと510b、2
台の共用チャンネル・プロセッサ528、及び統合入出力
サブシステム514aに接続する。BSU526の回路は、その3
台のプロセッサからのL3主記憶装置510aと510bに対する
要求の優先順位を決定する。それらの要求は、入出力サ
ブシステム514、または共用チャンネル・プロセッサの
インターフェースを動作させる回路及びL2キャッシュ52
6aにアクセスする回路からのものである。L2キャッシュ
は「ストアイン型」キャッシュであり、データを変更す
るためにL2キャッシュにアクセスする動作が、L2キャッ
シュ中に存在するデータを変更しなければならないこと
を意味する。この規則に対する唯一の例外として、その
動作が入出力サブシステム514から由来する場合、及び
データがL2キャッシュ526aではなくL3主記憶装置510a/5
10bにだけ存在する場合、データは、L2キャッシュでは
なくL3主記憶装置でだけ変更される。
BSU526は、3台のプロセッサ518a/520a、518b/520b、51
8c/520cのポートを2台のL3主記憶装置510aと510b、2
台の共用チャンネル・プロセッサ528、及び統合入出力
サブシステム514aに接続する。BSU526の回路は、その3
台のプロセッサからのL3主記憶装置510aと510bに対する
要求の優先順位を決定する。それらの要求は、入出力サ
ブシステム514、または共用チャンネル・プロセッサの
インターフェースを動作させる回路及びL2キャッシュ52
6aにアクセスする回路からのものである。L2キャッシュ
は「ストアイン型」キャッシュであり、データを変更す
るためにL2キャッシュにアクセスする動作が、L2キャッ
シュ中に存在するデータを変更しなければならないこと
を意味する。この規則に対する唯一の例外として、その
動作が入出力サブシステム514から由来する場合、及び
データがL2キャッシュ526aではなくL3主記憶装置510a/5
10bにだけ存在する場合、データは、L2キャッシュでは
なくL3主記憶装置でだけ変更される。
BSU526とL3主記憶装置510a/510bの間のインターフェー
スは、第7図の単一8ビット線の代わりに、2本の16バ
イト線を含む。しかし、他のすべての点では、第7図の
記憶装置510は第8図の記憶装置510a/510bと同じであ
る。2つのメモリ装置510a/510bは並列にアクセスされ
る。
スは、第7図の単一8ビット線の代わりに、2本の16バ
イト線を含む。しかし、他のすべての点では、第7図の
記憶装置510は第8図の記憶装置510a/510bと同じであ
る。2つのメモリ装置510a/510bは並列にアクセスされ
る。
共用チャンネル・プロセッサ528は、2つの8バイト・
インターフェースを介してBSU526に接続されている。共
用チャンネル・プロセッサは、BSU526とは独立な周波数
で動作する。BSU526内のクロックは、第7図の記憶制御
装置512と統合入出力サブシステム514の間のクロック同
期と同様な方式で共用チャンネル・プロセッサ528のク
ロックと同期される。
インターフェースを介してBSU526に接続されている。共
用チャンネル・プロセッサは、BSU526とは独立な周波数
で動作する。BSU526内のクロックは、第7図の記憶制御
装置512と統合入出力サブシステム514の間のクロック同
期と同様な方式で共用チャンネル・プロセッサ528のク
ロックと同期される。
第7図を再び参照すると、命令は通常、L1命令キャッシ
ュ518中に存在し、実行されるのを待っている。命令/
実行装置520は、L1キャッシュ518内にあるディレクトリ
を探索して、命令が存在するかどうか判定する。命令が
存在しない場合、命令/実行装置520は、記憶制御装置5
12に対する記憶要求を生成する。その命令のアドレス、
または命令を含むキャッシュ行が、記憶制御装置512に
送られる。記憶制御装置512は、L3主記憶装置510に至る
バスへのアクセスを仲裁する。
ュ518中に存在し、実行されるのを待っている。命令/
実行装置520は、L1キャッシュ518内にあるディレクトリ
を探索して、命令が存在するかどうか判定する。命令が
存在しない場合、命令/実行装置520は、記憶制御装置5
12に対する記憶要求を生成する。その命令のアドレス、
または命令を含むキャッシュ行が、記憶制御装置512に
送られる。記憶制御装置512は、L3主記憶装置510に至る
バスへのアクセスを仲裁する。
命令/実行装置520からの要求は、L3主記憶装置中のあ
る行を命令/実行装置520に転送するため取り出すこと
を指示するコマンドの形で、L3主記憶装置510に渡され
る。L3主記憶装置510は、要求をラッチして復号し、命
令が記憶されるメモリ・カード内の位置を選択し、その
命令を8バイトの増分で記憶制御装置512に渡す。その
命令は次いで記憶制御装置512からL1命令キャッシュ518
に転送され、命令/実行装置520に最終的に転送される
前に一時的に記憶される。命令/実行装置520に到達し
た後、命令が復号される。その結果、L3主記憶装置510
中に存在するオペランドが実行を始めるのに必要である
と指示されることがある。この場合、命令/実行装置52
0はL1データ・キャッシュ518でディレクトリを探索す
る。そのオペランドがディレクトリで見つからない場
合、命令/実行装置520からL3主記憶装置510に対する記
憶アクセスが出される。取り出されたオペランドは、記
憶アクセスの結果としてL1データ・キャッシュに入力さ
れ、命令/実行装置520で利用できるようになる。命令
がマイクロコードの使用を必要とする場合、命令/実行
装置520は、命令/実行装置カードに存在するマイクロ
コードを使用する。入出力(I/O)動作が実行される場
合、命令/実行装置520は、適切な復号を行ない、情報
がL3主記憶装置510の補助部分に記憶されていると統合
入出力サブシステム514に通知することによって実行を
始める。次いで、入出力サブシステム514と関連するプ
ロセッサが、L3主記憶装置510にアクセスして、情報を
取り出し命令の実行を完了する。
る行を命令/実行装置520に転送するため取り出すこと
を指示するコマンドの形で、L3主記憶装置510に渡され
る。L3主記憶装置510は、要求をラッチして復号し、命
令が記憶されるメモリ・カード内の位置を選択し、その
命令を8バイトの増分で記憶制御装置512に渡す。その
命令は次いで記憶制御装置512からL1命令キャッシュ518
に転送され、命令/実行装置520に最終的に転送される
前に一時的に記憶される。命令/実行装置520に到達し
た後、命令が復号される。その結果、L3主記憶装置510
中に存在するオペランドが実行を始めるのに必要である
と指示されることがある。この場合、命令/実行装置52
0はL1データ・キャッシュ518でディレクトリを探索す
る。そのオペランドがディレクトリで見つからない場
合、命令/実行装置520からL3主記憶装置510に対する記
憶アクセスが出される。取り出されたオペランドは、記
憶アクセスの結果としてL1データ・キャッシュに入力さ
れ、命令/実行装置520で利用できるようになる。命令
がマイクロコードの使用を必要とする場合、命令/実行
装置520は、命令/実行装置カードに存在するマイクロ
コードを使用する。入出力(I/O)動作が実行される場
合、命令/実行装置520は、適切な復号を行ない、情報
がL3主記憶装置510の補助部分に記憶されていると統合
入出力サブシステム514に通知することによって実行を
始める。次いで、入出力サブシステム514と関連するプ
ロセッサが、L3主記憶装置510にアクセスして、情報を
取り出し命令の実行を完了する。
第8図のシステムもほぼ同様に動作する。命令/実行装
置520a、520bまたは520cのうちの特定の1つが命令を要
求し、それ自体の専用L1記憶キャッシュを探索する。命
令がキャッシュ中に存在しない場合、命令/実行装置
は、L2キャッシュを探索するため、BSU526に対するアク
セスを要求する。BSU526は、命令/実行装置520a、520b
及び520cのそれぞれ、共用チャンネル・プロセッサ52
8、及び統合入出力サブシステム514から要求を受け取
り、一時にこれらの装置の1つにアクセスを許可するア
ービタを含む。命令/実行装置520a、520b、520cのうち
の特定の1つが、L2キャッシュ526aを探索するためのBS
U526に対するアクセスを許可されると、選択された命令
/実行装置は所望の命令を求めてL2キャッシュ526aのデ
ィレクトリを探索する。所望の命令が見つかると、その
命令が単に前記の選択された命令/実行装置に戻され
る。所望の命令がそのディレクトリになく、L2キャッシ
ュ526a内にないと示された場合、所望の命令を求める要
求がL3主記憶装置510aまたは510bに送られる。所望の命
令はL3主記憶装置で見つかり、一時に16バイトずつ、BS
U526に送られて、選択された命令/実行装置に渡され、
同時にBSU526のL2キャッシュ526aに記憶される。
置520a、520bまたは520cのうちの特定の1つが命令を要
求し、それ自体の専用L1記憶キャッシュを探索する。命
令がキャッシュ中に存在しない場合、命令/実行装置
は、L2キャッシュを探索するため、BSU526に対するアク
セスを要求する。BSU526は、命令/実行装置520a、520b
及び520cのそれぞれ、共用チャンネル・プロセッサ52
8、及び統合入出力サブシステム514から要求を受け取
り、一時にこれらの装置の1つにアクセスを許可するア
ービタを含む。命令/実行装置520a、520b、520cのうち
の特定の1つが、L2キャッシュ526aを探索するためのBS
U526に対するアクセスを許可されると、選択された命令
/実行装置は所望の命令を求めてL2キャッシュ526aのデ
ィレクトリを探索する。所望の命令が見つかると、その
命令が単に前記の選択された命令/実行装置に戻され
る。所望の命令がそのディレクトリになく、L2キャッシ
ュ526a内にないと示された場合、所望の命令を求める要
求がL3主記憶装置510aまたは510bに送られる。所望の命
令はL3主記憶装置で見つかり、一時に16バイトずつ、BS
U526に送られて、選択された命令/実行装置に渡され、
同時にBSU526のL2キャッシュ526aに記憶される。
BSU526内に存在する追加の機能は、マルチプロセッサ・
システム内での記憶の整合性をはかる規則に関するもの
である。たとえば、特定の命令/実行装置520c(プロセ
ッサ)がデータを変更するとき、そのデータは、システ
ム中の他のすべての命令/実行装置に見えるようになら
なければならない。プロセッサ520cがそれ自体のL1キャ
ッシュ518cに記憶されたデータを変更する場合、BSU526
のL2キャッシュ・ディレクトリ526aでその特定のデータ
の探索が行なわれる。そのデータが見つかった場合、そ
れが変更されて、キャッシュ518c内の変更済みデータと
整合性をもつようになる。
システム内での記憶の整合性をはかる規則に関するもの
である。たとえば、特定の命令/実行装置520c(プロセ
ッサ)がデータを変更するとき、そのデータは、システ
ム中の他のすべての命令/実行装置に見えるようになら
なければならない。プロセッサ520cがそれ自体のL1キャ
ッシュ518cに記憶されたデータを変更する場合、BSU526
のL2キャッシュ・ディレクトリ526aでその特定のデータ
の探索が行なわれる。そのデータが見つかった場合、そ
れが変更されて、キャッシュ518c内の変更済みデータと
整合性をもつようになる。
L2キャッシュ526a内の変更済みデータは可用性があるた
め、変更データはシステム内の他のプロセッサ520aと52
0bにとって使用可能であり、それらのプロセッサはそれ
ぞれのL1キャッシュ518aと518b中に存在するデータを訂
正することができる。他のプロセッサ520aと520bがそれ
自体のデータを変更する機会を与えられるまで、プロセ
ッサ520cは特定のデータに再アクセスできない。
め、変更データはシステム内の他のプロセッサ520aと52
0bにとって使用可能であり、それらのプロセッサはそれ
ぞれのL1キャッシュ518aと518b中に存在するデータを訂
正することができる。他のプロセッサ520aと520bがそれ
自体のデータを変更する機会を与えられるまで、プロセ
ッサ520cは特定のデータに再アクセスできない。
第9図を参照して、命令/実行装置520aの詳細について
説明する。この装置は、前述の説明のように「プロセッ
サ」、「命令処理装置」または「命令/実行装置」など
様々な名前で呼ばれることがある。以下の説明では、プ
ロセッサという用語を使用する。
説明する。この装置は、前述の説明のように「プロセッ
サ」、「命令処理装置」または「命令/実行装置」など
様々な名前で呼ばれることがある。以下の説明では、プ
ロセッサという用語を使用する。
プロセッサ520aは、約84Kバイトの高速固定制御記憶装
置520a−1a、8Kバイト、2Kワードの4方向連想式ページ
可能領域520a−1b、ページ可能制御記憶装置520a−1b用
のディレクトリ520a−1c、制御記憶アドレス・レジスタ
(CSAR)520a−1d、及び8要素分岐/連結機能(BAL ST
K)520a−1eをもつ制御記憶サブシステム520a−1を含
む。マシン状態制御装置520a−2は、プロセッサ用の大
域制御装置520a−2a、及び制御記憶起点アドレス・バス
でCSARに接続され、マイクロコード化命令の初期アドレ
スを生成するのに使用される動作分岐テーブル520a−2b
を含む。
置520a−1a、8Kバイト、2Kワードの4方向連想式ページ
可能領域520a−1b、ページ可能制御記憶装置520a−1b用
のディレクトリ520a−1c、制御記憶アドレス・レジスタ
(CSAR)520a−1d、及び8要素分岐/連結機能(BAL ST
K)520a−1eをもつ制御記憶サブシステム520a−1を含
む。マシン状態制御装置520a−2は、プロセッサ用の大
域制御装置520a−2a、及び制御記憶起点アドレス・バス
でCSARに接続され、マイクロコード化命令の初期アドレ
スを生成するのに使用される動作分岐テーブル520a−2b
を含む。
アドレス生成装置520a−3は、命令キャッシュDLAT/デ
ィレクトリ520a−3a、データ・キャッシュDLAT/ディレ
クトリ520a−3b、及びアドレス・バスを介してL1キャッ
シュ518aに接続されたアドレス生成チップ520a−3cの3
つのチップを含む。命令DLAT/ディレクトリ520a−3a
は、4本の命令「ヒット」線を介して、L1キャッシュ51
8aの命令キャッシュ部分518a−1aに接続されている。命
令「ヒット」線は、要求された命令が、L1キャッシュ51
8aの命令キャッシュ部分518a−1aで見つかることを示
す。同様に、要求されたデータがデータ・キャッシュ部
分518a−2b内にあることを示す4本の「ヒット」線が、
データDLAT/ディレクトリ520a−3bをL1キャッシュ518a
のデータ・キャッシュ部分518a−2bに接続する。アドレ
ス生成装置520a−3は、部分520a−3dでアドレスを生成
するのに使用される16個の汎用目的レジスタのコピーを
含む。部分520a−3eは、命令実行のためマイクロコード
にアドレスするのに使用される3つの記憶アドレス・レ
ジスタを含む。
ィレクトリ520a−3a、データ・キャッシュDLAT/ディレ
クトリ520a−3b、及びアドレス・バスを介してL1キャッ
シュ518aに接続されたアドレス生成チップ520a−3cの3
つのチップを含む。命令DLAT/ディレクトリ520a−3a
は、4本の命令「ヒット」線を介して、L1キャッシュ51
8aの命令キャッシュ部分518a−1aに接続されている。命
令「ヒット」線は、要求された命令が、L1キャッシュ51
8aの命令キャッシュ部分518a−1aで見つかることを示
す。同様に、要求されたデータがデータ・キャッシュ部
分518a−2b内にあることを示す4本の「ヒット」線が、
データDLAT/ディレクトリ520a−3bをL1キャッシュ518a
のデータ・キャッシュ部分518a−2bに接続する。アドレ
ス生成装置520a−3は、部分520a−3dでアドレスを生成
するのに使用される16個の汎用目的レジスタのコピーを
含む。部分520a−3eは、命令実行のためマイクロコード
にアドレスするのに使用される3つの記憶アドレス・レ
ジスタを含む。
固定小数点命令装置520a−4は、データ・バス(Dバ
ス)でデータ・キャッシュ518a−2に接続されている。
固定小数点命令装置520a−4は、ローカル記憶スタック
520a−4aを含み、ローカル記憶スタックは、16個の汎用
レジスタとマイクロコードによって作業用レジスタとし
て専用に使用される他のいくつかのレジスタとを含む。
条件レジスタ520a−4bは、数個の算術演算及びシフト動
作の結果、ならびにIBMシステム370型条件コードの結果
を含む。固定小数点命令装置520a−4は、4バイトの演
算論理装置(ALU)520a−4c、8バイトの回転組合せ装
置520a−4d、及び様々のレジスタから分岐動作の方向を
決定するビットを選択することができる分岐ビット選択
ハードウェア520a−4eを含む。それらのビットは、汎用
レジスタ、作業用レジスタ、及び条件レジスタから選択
される。
ス)でデータ・キャッシュ518a−2に接続されている。
固定小数点命令装置520a−4は、ローカル記憶スタック
520a−4aを含み、ローカル記憶スタックは、16個の汎用
レジスタとマイクロコードによって作業用レジスタとし
て専用に使用される他のいくつかのレジスタとを含む。
条件レジスタ520a−4bは、数個の算術演算及びシフト動
作の結果、ならびにIBMシステム370型条件コードの結果
を含む。固定小数点命令装置520a−4は、4バイトの演
算論理装置(ALU)520a−4c、8バイトの回転組合せ装
置520a−4d、及び様々のレジスタから分岐動作の方向を
決定するビットを選択することができる分岐ビット選択
ハードウェア520a−4eを含む。それらのビットは、汎用
レジスタ、作業用レジスタ、及び条件レジスタから選択
される。
浮動小数点プロセッサ520a−5は、浮動小数点レジスタ
と4つのマイクロコード作業用レジスタ520a−5e、コマ
ンド復号/制御機能520a−5a、浮動小数点加算器520a−
5b、固定小数点/浮動小数点乗算アレイ520a−5c、及び
平方根/除算機能520a−5dを含む。浮動小数点プロセッ
サ520a−5は、1987年9月30日出願の関連米国特許出願
第07/102985号「浮動小数点単一命令単一ストリーム・
データ・アーキテクチャ用の動的多重命令ストリーム、
多重データ多重パイプライン装置(Dynamic Multiple I
nstruction Stream,Multiple Data Multiple Pipeline
Apparatus for Floating Point Single Instruction Si
ngle Stream Data Architecture)」により詳細に記載
されている、この開示を引用により本明細書に組み込
む。
と4つのマイクロコード作業用レジスタ520a−5e、コマ
ンド復号/制御機能520a−5a、浮動小数点加算器520a−
5b、固定小数点/浮動小数点乗算アレイ520a−5c、及び
平方根/除算機能520a−5dを含む。浮動小数点プロセッ
サ520a−5は、1987年9月30日出願の関連米国特許出願
第07/102985号「浮動小数点単一命令単一ストリーム・
データ・アーキテクチャ用の動的多重命令ストリーム、
多重データ多重パイプライン装置(Dynamic Multiple I
nstruction Stream,Multiple Data Multiple Pipeline
Apparatus for Floating Point Single Instruction Si
ngle Stream Data Architecture)」により詳細に記載
されている、この開示を引用により本明細書に組み込
む。
ALU520a−4cは、1987年6月26日出願の関連米国特許出
願第07/066580号「高性能並列2進バイト加算器(A Hig
h Performance Parallel Binary Byte Adder)」に記載
される加算器を含む。この開示を引用により本明細書に
組み込む。
願第07/066580号「高性能並列2進バイト加算器(A Hig
h Performance Parallel Binary Byte Adder)」に記載
される加算器を含む。この開示を引用により本明細書に
組み込む。
外部チップ520a−6は、タイマと入出力サブシステム51
4aその他の発生源からの割込みを処理するための割込み
構造とを含む。プロセッサ間通信機能(IPC)520a−7
は、通信バスを介して記憶サブシステムに接続され、し
たがってプロセッサはメッセージを互いに送ることがで
き、時刻クロックにアクセスできる。
4aその他の発生源からの割込みを処理するための割込み
構造とを含む。プロセッサ間通信機能(IPC)520a−7
は、通信バスを介して記憶サブシステムに接続され、し
たがってプロセッサはメッセージを互いに送ることがで
き、時刻クロックにアクセスできる。
第9図に示したシステムのL1キャッシュは、16Kバイト
4方向キャッシュ518a−1aその出力端にある16バイト命
令バッファ518a−1b、及び記憶装置からの入力端にある
8バイト・インページ・レジスタ518a−1cを含む命令キ
ャッシュ518a−1を含む。インページ・レジスタ518a−
1cの所で命令キャッシュ518a−1に接続されている記憶
バスは、幅8バイトである。記憶バスの他端は制御記憶
サブシステム520a−1に接続され、ページ可能制御記憶
装置ミスで新しいデータを制御記憶装置に入れなければ
ならない場合にデータをサブシステムに提供する。
4方向キャッシュ518a−1aその出力端にある16バイト命
令バッファ518a−1b、及び記憶装置からの入力端にある
8バイト・インページ・レジスタ518a−1cを含む命令キ
ャッシュ518a−1を含む。インページ・レジスタ518a−
1cの所で命令キャッシュ518a−1に接続されている記憶
バスは、幅8バイトである。記憶バスの他端は制御記憶
サブシステム520a−1に接続され、ページ可能制御記憶
装置ミスで新しいデータを制御記憶装置に入れなければ
ならない場合にデータをサブシステムに提供する。
データ・キャッシュ518a−2は、やはり記憶バスに接続
されたインページ・バッファ518a−2、16k4方向キャッ
シュであるデータ・キャッシュ518a−2b、複数の入出力
レジスタをもち、8バイトのデータ・バス(Dバス)を
介してプロセッサに接続され、8バイトのベクトル・バ
スを介してベクトル・プロセッサ522aに接続された、キ
ャッシュ・データあふれ機能518a−2c、及び8要素記憶
バッファ(STOR BFR)518a−2dを含む。
されたインページ・バッファ518a−2、16k4方向キャッ
シュであるデータ・キャッシュ518a−2b、複数の入出力
レジスタをもち、8バイトのデータ・バス(Dバス)を
介してプロセッサに接続され、8バイトのベクトル・バ
スを介してベクトル・プロセッサ522aに接続された、キ
ャッシュ・データあふれ機能518a−2c、及び8要素記憶
バッファ(STOR BFR)518a−2dを含む。
システム動作は、命令キャッシュ518a−1a中にある命令
の実行で始まる。その命令は命令キャッシュ518a−1aか
ら取り出され、命令バッファ518a−1bに記憶される。シ
ステムの最終的動作速度は、命令バッファ518a−1b中の
命令が実行の準備ができているかどうかによって決まる
ので、命令バッファを常に一杯にしておくためあらゆる
試みが行なわれている。
の実行で始まる。その命令は命令キャッシュ518a−1aか
ら取り出され、命令バッファ518a−1bに記憶される。シ
ステムの最終的動作速度は、命令バッファ518a−1b中の
命令が実行の準備ができているかどうかによって決まる
ので、命令バッファを常に一杯にしておくためあらゆる
試みが行なわれている。
命令は命令バッファ518a−1bから取り出されて、アドレ
ス生成チップ520a−3の命令レジスタ520a−3f、固定小
数点実行装置520a−4の命令レジスタ520a−4f、及びマ
シン状態制御装置520a−2の命令レジスタ520a−2cに記
憶され、その時点で命令復号が始まる。
ス生成チップ520a−3の命令レジスタ520a−3f、固定小
数点実行装置520a−4の命令レジスタ520a−4f、及びマ
シン状態制御装置520a−2の命令レジスタ520a−2cに記
憶され、その時点で命令復号が始まる。
オペランドが必要な場合、オペランドは、アドレス生成
装置520a−3のGPR COPY装置520a−3dから取り出され
る。通常、GPR COPYは、RX命令の基底レジスタ及び指標
レジスタにオペランドが必要な場合にアクセスされる。
装置520a−3のGPR COPY装置520a−3dから取り出され
る。通常、GPR COPYは、RX命令の基底レジスタ及び指標
レジスタにオペランドが必要な場合にアクセスされる。
次のサイクルでアドレス生成処理が始まる。基底レジス
タ及び指標レジスタの内容が、命令から誘導された変位
フィールドに追加され、その結果有効アドレスが生成さ
れ、データ・キャッシュ518a−2または命令キャッシュ
518a−1あるいはその両方に送られる。オペランドをシ
ークする場合、有効アドレスがデータDLAT/ディレクト
リ・チップ520a−3bに送られる。
タ及び指標レジスタの内容が、命令から誘導された変位
フィールドに追加され、その結果有効アドレスが生成さ
れ、データ・キャッシュ518a−2または命令キャッシュ
518a−1あるいはその両方に送られる。オペランドをシ
ークする場合、有効アドレスがデータDLAT/ディレクト
リ・チップ520a−3bに送られる。
第3サイクルでキャッシュ及びディレクトリへのアクセ
スが始まる。DLAT520a−3bは、そのアドレスが実行アド
レスから絶対アドレスに変換可能であるかどうかを判定
する。変換が実行された後、変換済みアドレスがキャッ
シュ・ディレクトリ520a−3bの出力と比較される。デー
タが以前にキャッシュ518a−2bに取り出されていた場合
は、ディレクトリ出力とDLAT出力が比較され、それらが
同じ場合、データDLAT/ディレクトリ520a−3bから4本
の「ヒット」線のうちの1つが生成される。ヒット線は
データ・キャッシュ518a−2bに接続されているので、生
成されたヒット線は、検索したいデータが4つの連想ク
ラスのどれに含まれるかを示す。次のサイクルで、デー
タ・キャッシュ518a−2bの出力がキャッシュ・データ51
8a−2cの取出し位置合せシフタにゲートされ、適当にシ
フトされ、Dバスを介して固定小数点実行装置520a−4
に転送され、そこでALU520a−4cにラッチされる。これ
が、RX型命令のオペランド2のアクセスである。
スが始まる。DLAT520a−3bは、そのアドレスが実行アド
レスから絶対アドレスに変換可能であるかどうかを判定
する。変換が実行された後、変換済みアドレスがキャッ
シュ・ディレクトリ520a−3bの出力と比較される。デー
タが以前にキャッシュ518a−2bに取り出されていた場合
は、ディレクトリ出力とDLAT出力が比較され、それらが
同じ場合、データDLAT/ディレクトリ520a−3bから4本
の「ヒット」線のうちの1つが生成される。ヒット線は
データ・キャッシュ518a−2bに接続されているので、生
成されたヒット線は、検索したいデータが4つの連想ク
ラスのどれに含まれるかを示す。次のサイクルで、デー
タ・キャッシュ518a−2bの出力がキャッシュ・データ51
8a−2cの取出し位置合せシフタにゲートされ、適当にシ
フトされ、Dバスを介して固定小数点実行装置520a−4
に転送され、そこでALU520a−4cにラッチされる。これ
が、RX型命令のオペランド2のアクセスである。
このシフト処理と同時に、ローカル記憶装置520a−4aの
汎用レジスタからオペランド1がアクセスされる。その
結果、2つのオペランドが、必要な場合、ALU520a−4c
の入力にラッチされる。第5サイクルで、ALU520a−4c
は、命令コードによって指令された通りに2つのオペラ
ンドを処理(加算、減算、乗算、除算など)する。第5
のサイクルの終わりに、ALU520a−4cの出力がラッチさ
れ、条件レジスタ520a−4bがラッチされてゼロまたはあ
ふれ状態を示す。第6サイクルで、ALU520a−4cの出力
が、ローカル記憶装置520a−4aとアドレス生成装置520a
−3のGPR COPY520a−3dに書き戻されて、GPR COPY520a
−3dをローカル記憶装置520a−4aの内容と同期させる。
この命令の復号サイクルが完了すると、次の命令の復号
サイクルが始まり、最高6つの命令でいつでも復号また
は実行処理を行なうことができる。
汎用レジスタからオペランド1がアクセスされる。その
結果、2つのオペランドが、必要な場合、ALU520a−4c
の入力にラッチされる。第5サイクルで、ALU520a−4c
は、命令コードによって指令された通りに2つのオペラ
ンドを処理(加算、減算、乗算、除算など)する。第5
のサイクルの終わりに、ALU520a−4cの出力がラッチさ
れ、条件レジスタ520a−4bがラッチされてゼロまたはあ
ふれ状態を示す。第6サイクルで、ALU520a−4cの出力
が、ローカル記憶装置520a−4aとアドレス生成装置520a
−3のGPR COPY520a−3dに書き戻されて、GPR COPY520a
−3dをローカル記憶装置520a−4aの内容と同期させる。
この命令の復号サイクルが完了すると、次の命令の復号
サイクルが始まり、最高6つの命令でいつでも復号また
は実行処理を行なうことができる。
ある種の命令は、実行を完了するためにマイクロコード
を使用しなければならない。したがって、復号サイクル
中に、命令からの命令コードをアドレスとして使って、
命令分岐テーブル520a−2bが探索される。すなわち、命
令分岐テーブルがアクセスされると、命令を実行するの
に必要なマイクロコード・ルーチンの開始アドレスを供
給する。これらの命令及び他のある種の命令は、完了ま
でに数サイクルを要する。そうした場合、命令分岐テー
ブルの探索中、命令の復号は中断される。マイクロコー
ドの場合、Iバスを使って、マイクロ命令が復号ハード
ウェアに送られる。命令キャッシュ518a−1aが遮断さ
れ、制御記憶装置520a−1aがオンになり、マイクロ命令
がIバスを介して渡される。浮動小数点命令の場合は、
アドレス生成サイクル中に、実行すべき適切な動作を指
示し識別するコマンドが浮動小数点装置520a−5に送ら
れる点以外は、前記と同様に復号が進行する。浮動小数
点命令の実行が開始され、完了すると、その結果が、固
定小数点実行装置520a−4に戻される。この場合の「結
果」は、条件コード、及びあふれなどの割込み条件であ
る。
を使用しなければならない。したがって、復号サイクル
中に、命令からの命令コードをアドレスとして使って、
命令分岐テーブル520a−2bが探索される。すなわち、命
令分岐テーブルがアクセスされると、命令を実行するの
に必要なマイクロコード・ルーチンの開始アドレスを供
給する。これらの命令及び他のある種の命令は、完了ま
でに数サイクルを要する。そうした場合、命令分岐テー
ブルの探索中、命令の復号は中断される。マイクロコー
ドの場合、Iバスを使って、マイクロ命令が復号ハード
ウェアに送られる。命令キャッシュ518a−1aが遮断さ
れ、制御記憶装置520a−1aがオンになり、マイクロ命令
がIバスを介して渡される。浮動小数点命令の場合は、
アドレス生成サイクル中に、実行すべき適切な動作を指
示し識別するコマンドが浮動小数点装置520a−5に送ら
れる点以外は、前記と同様に復号が進行する。浮動小数
点命令の実行が開始され、完了すると、その結果が、固
定小数点実行装置520a−4に戻される。この場合の「結
果」は、条件コード、及びあふれなどの割込み条件であ
る。
第9図のシステムはパイプライン方式で動作する。パイ
プラインのレベル1は命令復号と呼ばれる。RX命令の場
合、1つのオペランドがメモリにあるが、GPR COPY520a
−3dのために基底レジスタ及び指標レジスタの内容を獲
得しなければならない。変位フィールドが基底レジスタ
及び指標レジスタに追加される。次のサイクルの始め
に、基底フィールド、指標フィールド及び変位フィール
ドの追加が完了して、有効アドレスをもたらす。この有
効アドレスがDLAT/ディレクトリ・チップ520a−3a/520a
−3bに送られる。有効アドレスの高位部分は変換しなけ
ればならないが、低位部分は変換されず、キャッシュ51
8a−1a/518a−2bに送られる。第3サイクルで、キャッ
シュは、獲得したビットを用いてアクセス動作を始め
る。絶対アドレスを獲得するため、仮想アドレスを用い
てDLAT/ディレクトリが探索される。この絶対アドレス
が、キャッシュ・ディレクトリに保持されている絶対ア
ドレスと比較される。この比較が一致した場合、「ヒッ
ト」行が生成され、キャッシュ・チップ518a−1a/518a
−2bに送られる。その間に、キャッシュ・チップは4つ
の連想クラスすべてにアクセスして、出力をそれに応じ
てラッチする。第4サイクルで、4つの「スロット」ま
たは連想クラスの1つが選択され、データが位置合せさ
れ、データ・バスを介して固定または浮動小数点プロセ
ッサ520a−4/520a−5に送られる。このようにして、第
4サイクルの終わりに、1つのオペランドがALU520a−4
c入力端にラッチされる。
プラインのレベル1は命令復号と呼ばれる。RX命令の場
合、1つのオペランドがメモリにあるが、GPR COPY520a
−3dのために基底レジスタ及び指標レジスタの内容を獲
得しなければならない。変位フィールドが基底レジスタ
及び指標レジスタに追加される。次のサイクルの始め
に、基底フィールド、指標フィールド及び変位フィール
ドの追加が完了して、有効アドレスをもたらす。この有
効アドレスがDLAT/ディレクトリ・チップ520a−3a/520a
−3bに送られる。有効アドレスの高位部分は変換しなけ
ればならないが、低位部分は変換されず、キャッシュ51
8a−1a/518a−2bに送られる。第3サイクルで、キャッ
シュは、獲得したビットを用いてアクセス動作を始め
る。絶対アドレスを獲得するため、仮想アドレスを用い
てDLAT/ディレクトリが探索される。この絶対アドレス
が、キャッシュ・ディレクトリに保持されている絶対ア
ドレスと比較される。この比較が一致した場合、「ヒッ
ト」行が生成され、キャッシュ・チップ518a−1a/518a
−2bに送られる。その間に、キャッシュ・チップは4つ
の連想クラスすべてにアクセスして、出力をそれに応じ
てラッチする。第4サイクルで、4つの「スロット」ま
たは連想クラスの1つが選択され、データが位置合せさ
れ、データ・バスを介して固定または浮動小数点プロセ
ッサ520a−4/520a−5に送られる。このようにして、第
4サイクルの終わりに、1つのオペランドがALU520a−4
c入力端にラッチされる。
その間、プロセッサでは、他の命令が実行されている。
別のオペランドを獲得するため、GPR COPY520a−3d及び
ローカル記憶装置520a−4aがアクセスされる。この時点
で、両方のオペランドがALU520a−4cの入力端でラッチ
される。計算を行ない、条件レジスタを設定し、最後に
CPR COPY520a−3dの汎用レジスタに結果を書き込むのに
1サイクルかかる。アドレス計算のためにこの結果が、
必要となることがあり、その場合、その結果はAGEN ADD
ER520a−3cに入力される。
別のオペランドを獲得するため、GPR COPY520a−3d及び
ローカル記憶装置520a−4aがアクセスされる。この時点
で、両方のオペランドがALU520a−4cの入力端でラッチ
される。計算を行ない、条件レジスタを設定し、最後に
CPR COPY520a−3dの汎用レジスタに結果を書き込むのに
1サイクルかかる。アドレス計算のためにこの結果が、
必要となることがあり、その場合、その結果はAGEN ADD
ER520a−3cに入力される。
ある種の命令の実行中には、キャッシュ518a−1a/518a
−2bへのアクセスが不要である。そうした場合、命令復
号が完了すると、その結果が実行装置に直接渡され、キ
ャッシュに対するアクセスの追加の遅延はない。したが
って、ある命令が復号され、アドレス生成チップ520a−
3に渡されるとすぐに、別の命令が復号される。
−2bへのアクセスが不要である。そうした場合、命令復
号が完了すると、その結果が実行装置に直接渡され、キ
ャッシュに対するアクセスの追加の遅延はない。したが
って、ある命令が復号され、アドレス生成チップ520a−
3に渡されるとすぐに、別の命令が復号される。
E.発明の効果 本発明により、ストアイン型またはストアスルー型キャ
ッシュを利用する単一または複数プロセッサ・システム
と互換性のあるチェックポイント再試行機能が提供され
る。
ッシュを利用する単一または複数プロセッサ・システム
と互換性のあるチェックポイント再試行機能が提供され
る。
第1図は、本発明の命令再試行によって改良されたデー
タ処理システムの2つの形の概略構成図である。 第2図は、命令再試行サブシステムの構成図である。 第3a図は、記憶バッファの構成を示す説明図である。 第3b図は、記憶バッファの特定の位置の様々な形を示す
説明図である。 第4a図は、記憶バッファによって処理されているとき
の、プロセッサ取出し要求の動作シーケンスの流れ図で
ある。 第4b図は、データ取出し要求の動作シーケンスの流れ図
である。 第4c図は、命令取出し要求の動作シーケンスの流れ図で
ある。 第5図は、本発明による命令再試行システムの汎用レジ
スタのバッファ構成の概略ブロック図である。 第6図は、本発明による命令再試行システムのプログラ
ム状況ワード・スタックの概略ブロック図である。 第7図は、本発明の命令再試行に使用される単一プロセ
ッサ・コンピュータ・システムのシステム構成図であ
る。 第8図は、本発明の命令再試行に使用されるマルチプロ
セッサ(3台のプロセッサ、すなわち、3連式)コンピ
ュータ・システムのシステム構成図である。 第9図は、第8図に示したコンピュータ・システムの詳
細なシステム構成図である。 1……命令処理装置、2……命令事前処理装置(IPP
U)、3……固定小数点実行処理装置(EPU)、20……命
令キャッシュ装置、30……EXT/FRU、40……チャンネル
・サブシステム、100…記憶サブシステム、101……L1キ
ャッシュ、105……L1記憶バッファ、150……L2記憶待ち
行列、160……書込みバッファ、170……L2キャッシュ、
180……主記憶装置(L3)、190……L3制御装置、195…
…書込みバッファ/L3記憶待ち行列。
タ処理システムの2つの形の概略構成図である。 第2図は、命令再試行サブシステムの構成図である。 第3a図は、記憶バッファの構成を示す説明図である。 第3b図は、記憶バッファの特定の位置の様々な形を示す
説明図である。 第4a図は、記憶バッファによって処理されているとき
の、プロセッサ取出し要求の動作シーケンスの流れ図で
ある。 第4b図は、データ取出し要求の動作シーケンスの流れ図
である。 第4c図は、命令取出し要求の動作シーケンスの流れ図で
ある。 第5図は、本発明による命令再試行システムの汎用レジ
スタのバッファ構成の概略ブロック図である。 第6図は、本発明による命令再試行システムのプログラ
ム状況ワード・スタックの概略ブロック図である。 第7図は、本発明の命令再試行に使用される単一プロセ
ッサ・コンピュータ・システムのシステム構成図であ
る。 第8図は、本発明の命令再試行に使用されるマルチプロ
セッサ(3台のプロセッサ、すなわち、3連式)コンピ
ュータ・システムのシステム構成図である。 第9図は、第8図に示したコンピュータ・システムの詳
細なシステム構成図である。 1……命令処理装置、2……命令事前処理装置(IPP
U)、3……固定小数点実行処理装置(EPU)、20……命
令キャッシュ装置、30……EXT/FRU、40……チャンネル
・サブシステム、100…記憶サブシステム、101……L1キ
ャッシュ、105……L1記憶バッファ、150……L2記憶待ち
行列、160……書込みバッファ、170……L2キャッシュ、
180……主記憶装置(L3)、190……L3制御装置、195…
…書込みバッファ/L3記憶待ち行列。
フロントページの続き (72)発明者 アグネス・イー・ウガイ アメリカ合衆国ニユーヨーク州エンドウエ ル、ヒルサイド・テラス311番地 (56)参考文献 特開 昭63−8835(JP,A) 特開 昭50−3553(JP,A)
Claims (2)
- 【請求項1】プログラム状況ワードを有する命令処理装
置と主記憶装置との間にストアイン型キャッシュ又はス
トアスルー型キャッシュを有するデータ処理システムに
おいて利用可能なチェックポイント再試行記憶サブシス
テムであって、 (a)所定のデータを有するチックポイント命令に応答
するチェックポイント信号生成手段と、 (b)プログラム状況ワードを記憶するプログラム状況
ワード記憶手段と、 (c)前記データ処理システム中の所定のレジスタのデ
ータ内容を記憶する汎用レジスタ記憶手段と、 (d)前記命令処理装置と前記キャッシュとの間に設け
られ、複数のデータを保持する記憶バッファ手段と、 (e)前記チェックポイント信号に応答して、現プログ
ラム状況ワードを前記プログラム状況ワード記憶手段に
記憶させ、前記所定のレジスタの内容を前記汎用レジス
タ記憶手段に記憶させ、そして前記チェックポイント命
令に関係するデータを前記記憶バッファ手段に記憶させ
るように、前記プログラム状況ワード記憶手段、前記汎
用レジスタ記憶手段及び前記記憶バッファ手段を制御す
る記憶制御手段と、 (f)前記データ処理システム内のエラー信号に応答し
て再試行信号を生成する手段とを備え、 前記記憶バッファ手段が、各データ毎にチェックポイン
ト命令の終了を表すEOIビット及び前記キャッシュへの
データ転送の完了を表すCOMPビットを保持する、 ことを特徴とする記憶サブシステム。 - 【請求項2】前記記憶制御手段が、前記再試行信号に応
答して、前記チェックポイント命令に関係する前記現プ
ログラム状況ワードを前記プログラム状況ワード記憶手
段からロードし、前記チェックポイント命令に関係する
前記所定のレジスタのデータ内容を前記汎用レジスタ記
憶手段からロードし、前記チェックポイント命令に関連
する前記データを前記記憶バッファ手段からロードする
ことを特徴とする請求項1に記載の記憶サブシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US21353588A | 1988-06-30 | 1988-06-30 | |
| US213535 | 1988-06-30 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0227440A JPH0227440A (ja) | 1990-01-30 |
| JPH0752399B2 true JPH0752399B2 (ja) | 1995-06-05 |
Family
ID=22795477
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1099053A Expired - Lifetime JPH0752399B2 (ja) | 1988-06-30 | 1989-04-20 | 記憶システム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5418916A (ja) |
| EP (1) | EP0348652B1 (ja) |
| JP (1) | JPH0752399B2 (ja) |
| DE (1) | DE68923490T2 (ja) |
Families Citing this family (66)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5832202A (en) * | 1988-12-28 | 1998-11-03 | U.S. Philips Corporation | Exception recovery in a data processing system |
| US5649090A (en) * | 1991-05-31 | 1997-07-15 | Bull Hn Information Systems Inc. | Fault tolerant multiprocessor computer system |
| EP0529303A3 (en) * | 1991-08-29 | 1993-09-22 | International Business Machines Corporation | Checkpoint synchronization with instruction overlap enabled |
| US5398330A (en) * | 1992-03-05 | 1995-03-14 | Seiko Epson Corporation | Register file backup queue |
| US5845329A (en) * | 1993-01-29 | 1998-12-01 | Sanyo Electric Co., Ltd. | Parallel computer |
| JPH06236289A (ja) * | 1993-02-08 | 1994-08-23 | Kofu Nippon Denki Kk | 情報処理装置 |
| US5740398A (en) * | 1993-10-18 | 1998-04-14 | Cyrix Corporation | Program order sequencing of data in a microprocessor with write buffer |
| US5471598A (en) * | 1993-10-18 | 1995-11-28 | Cyrix Corporation | Data dependency detection and handling in a microprocessor with write buffer |
| US6219773B1 (en) | 1993-10-18 | 2001-04-17 | Via-Cyrix, Inc. | System and method of retiring misaligned write operands from a write buffer |
| US5615402A (en) * | 1993-10-18 | 1997-03-25 | Cyrix Corporation | Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch |
| DE69506404T2 (de) * | 1994-06-10 | 1999-05-27 | Texas Micro Inc., Houston, Tex. | Hauptspeichervorrichtung und wiederanlaufkennzeichnungsverfahren für ein fehlertolerantes rechnersystem |
| US5634096A (en) * | 1994-10-31 | 1997-05-27 | International Business Machines Corporation | Using virtual disks for disk system checkpointing |
| JP3085899B2 (ja) | 1995-06-19 | 2000-09-11 | 株式会社東芝 | マルチプロセッサシステム |
| JP3020833B2 (ja) * | 1995-06-19 | 2000-03-15 | 株式会社東芝 | チェックポイント取得システム |
| JP3086779B2 (ja) | 1995-06-19 | 2000-09-11 | 株式会社東芝 | メモリ状態復元装置 |
| US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
| US5751939A (en) * | 1995-11-29 | 1998-05-12 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory |
| US5675768A (en) * | 1996-02-01 | 1997-10-07 | Unisys Corporation | Store software instrumentation package instruction |
| JPH09330237A (ja) | 1996-06-07 | 1997-12-22 | Toshiba Corp | プロセス切り替え装置およびプロセス切り替え方法 |
| JP2916420B2 (ja) * | 1996-09-04 | 1999-07-05 | 株式会社東芝 | チェックポイント処理加速装置およびデータ処理方法 |
| TW379298B (en) * | 1996-09-30 | 2000-01-11 | Toshiba Corp | Memory updating history saving device and memory updating history saving method |
| JP3083786B2 (ja) | 1996-09-30 | 2000-09-04 | 株式会社東芝 | メモリ更新履歴保存装置およびメモリ更新履歴保存方法 |
| JP3836928B2 (ja) * | 1997-02-26 | 2006-10-25 | 株式会社日立製作所 | データベース処理方法 |
| JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
| US6061755A (en) * | 1997-04-14 | 2000-05-09 | International Business Machines Corporation | Method of layering cache and architectural specific functions to promote operation symmetry |
| US6061762A (en) * | 1997-04-14 | 2000-05-09 | International Business Machines Corporation | Apparatus and method for separately layering cache and architectural specific functions in different operational controllers |
| US5961636A (en) * | 1997-09-22 | 1999-10-05 | International Business Machines Corporation | Checkpoint table for selective instruction flushing in a speculative execution unit |
| US6055660A (en) * | 1997-10-02 | 2000-04-25 | International Business Machines Corporation | Method for identifying SMP bus transfer errors |
| US6247118B1 (en) | 1998-06-05 | 2001-06-12 | Mcdonnell Douglas Corporation | Systems and methods for transient error recovery in reduced instruction set computer processors via instruction retry |
| JP3804823B2 (ja) * | 2001-07-03 | 2006-08-02 | 日本電気株式会社 | 障害回復機能を備えたキャッシュシステムとそのキャッシュ制御方法 |
| US7237075B2 (en) * | 2002-01-22 | 2007-06-26 | Columbia Data Products, Inc. | Persistent snapshot methods |
| US20030220948A1 (en) * | 2002-01-22 | 2003-11-27 | Columbia Data Products, Inc. | Managing snapshot/backup collections in finite data storage |
| US7577816B2 (en) * | 2003-08-18 | 2009-08-18 | Cray Inc. | Remote translation mechanism for a multinode system |
| US7493513B2 (en) * | 2003-04-29 | 2009-02-17 | International Business Machines Corporation | Automatically freezing functionality of a computing entity responsive to an error |
| US6973552B2 (en) * | 2003-05-12 | 2005-12-06 | International Business Machines Corporation | System and method to handle page validation with out-of-order fetch |
| US7366873B1 (en) * | 2003-08-18 | 2008-04-29 | Cray, Inc. | Indirectly addressed vector load-operate-store method and apparatus |
| US7743223B2 (en) * | 2003-08-18 | 2010-06-22 | Cray Inc. | Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system |
| US7735088B1 (en) | 2003-08-18 | 2010-06-08 | Cray Inc. | Scheduling synchronization of programs running as streams on multiple processors |
| US7543133B1 (en) | 2003-08-18 | 2009-06-02 | Cray Inc. | Latency tolerant distributed shared memory multiprocessor computer |
| US7503048B1 (en) | 2003-08-18 | 2009-03-10 | Cray Incorporated | Scheduling synchronization of programs running as streams on multiple processors |
| US7437521B1 (en) | 2003-08-18 | 2008-10-14 | Cray Inc. | Multistream processing memory-and barrier-synchronization method and apparatus |
| US8307194B1 (en) | 2003-08-18 | 2012-11-06 | Cray Inc. | Relaxed memory consistency model |
| US7334110B1 (en) | 2003-08-18 | 2008-02-19 | Cray Inc. | Decoupled scalar/vector computer architecture system and method |
| US7421565B1 (en) * | 2003-08-18 | 2008-09-02 | Cray Inc. | Method and apparatus for indirectly addressed vector load-add -store across multi-processors |
| US7519771B1 (en) | 2003-08-18 | 2009-04-14 | Cray Inc. | System and method for processing memory instructions using a forced order queue |
| US7478276B2 (en) * | 2005-02-10 | 2009-01-13 | International Business Machines Corporation | Method for checkpointing instruction groups with out-of-order floating point instructions in a multi-threaded processor |
| US7467325B2 (en) * | 2005-02-10 | 2008-12-16 | International Business Machines Corporation | Processor instruction retry recovery |
| US20060184771A1 (en) * | 2005-02-11 | 2006-08-17 | International Business Machines | Mini-refresh processor recovery as bug workaround method using existing recovery hardware |
| US7478769B1 (en) | 2005-03-09 | 2009-01-20 | Cray Inc. | Method and apparatus for cooling electronic components |
| US7409589B2 (en) * | 2005-05-27 | 2008-08-05 | International Business Machines Corporation | Method and apparatus for reducing number of cycles required to checkpoint instructions in a multi-threaded processor |
| US7734949B2 (en) * | 2006-03-30 | 2010-06-08 | Alcatel Lucent | Information error recovery apparatus and methods |
| US8112751B2 (en) * | 2007-03-01 | 2012-02-07 | Microsoft Corporation | Executing tasks through multiple processors that process different portions of a replicable task |
| JP2008299501A (ja) * | 2007-05-30 | 2008-12-11 | Sanyo Electric Co Ltd | プロセッサ |
| US8250307B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Sourcing differing amounts of prefetch data in response to data prefetch requests |
| US8140771B2 (en) * | 2008-02-01 | 2012-03-20 | International Business Machines Corporation | Partial cache line storage-modifying operation based upon a hint |
| US8255635B2 (en) * | 2008-02-01 | 2012-08-28 | International Business Machines Corporation | Claiming coherency ownership of a partial cache line of data |
| US8266381B2 (en) * | 2008-02-01 | 2012-09-11 | International Business Machines Corporation | Varying an amount of data retrieved from memory based upon an instruction hint |
| US20090198910A1 (en) * | 2008-02-01 | 2009-08-06 | Arimilli Ravi K | Data processing system, processor and method that support a touch of a partial cache line of data |
| US8108619B2 (en) * | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
| US8117401B2 (en) * | 2008-02-01 | 2012-02-14 | International Business Machines Corporation | Interconnect operation indicating acceptability of partial data delivery |
| US8131951B2 (en) * | 2008-05-30 | 2012-03-06 | Freescale Semiconductor, Inc. | Utilization of a store buffer for error recovery on a store allocation cache miss |
| US8117390B2 (en) * | 2009-04-15 | 2012-02-14 | International Business Machines Corporation | Updating partial cache lines in a data processing system |
| US8140759B2 (en) * | 2009-04-16 | 2012-03-20 | International Business Machines Corporation | Specifying an access hint for prefetching partial cache block data in a cache hierarchy |
| CN102521151A (zh) * | 2011-11-28 | 2012-06-27 | 华为技术有限公司 | 数据缓存方法和装置 |
| US9645936B1 (en) * | 2014-03-26 | 2017-05-09 | Marvell International Ltd. | System and method for informing hardware to limit writing in a memory hierarchy |
| KR102312399B1 (ko) * | 2015-09-07 | 2021-10-15 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS503553A (ja) * | 1973-05-14 | 1975-01-14 | ||
| US4020466A (en) * | 1974-07-05 | 1977-04-26 | Ibm Corporation | Memory hierarchy system with journaling and copy back |
| US4044337A (en) * | 1975-12-23 | 1977-08-23 | International Business Machines Corporation | Instruction retry mechanism for a data processing system |
| JPS54146549A (en) * | 1978-05-09 | 1979-11-15 | Hitachi Ltd | Information processor |
| US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
| US4493035A (en) * | 1982-12-07 | 1985-01-08 | Motorola, Inc. | Data processor version validation |
| US4703481A (en) * | 1985-08-16 | 1987-10-27 | Hewlett-Packard Company | Method and apparatus for fault recovery within a computing system |
| US4814971A (en) * | 1985-09-11 | 1989-03-21 | Texas Instruments Incorporated | Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state |
| US4740969A (en) * | 1986-06-27 | 1988-04-26 | Hewlett-Packard Company | Method and apparatus for recovering from hardware faults |
-
1989
- 1989-04-20 JP JP1099053A patent/JPH0752399B2/ja not_active Expired - Lifetime
- 1989-05-17 EP EP89108811A patent/EP0348652B1/en not_active Expired - Lifetime
- 1989-05-17 DE DE68923490T patent/DE68923490T2/de not_active Expired - Fee Related
-
1990
- 1990-10-04 US US07/592,624 patent/US5418916A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0348652A2 (en) | 1990-01-03 |
| EP0348652A3 (en) | 1991-05-08 |
| JPH0227440A (ja) | 1990-01-30 |
| EP0348652B1 (en) | 1995-07-19 |
| DE68923490T2 (de) | 1996-03-07 |
| US5418916A (en) | 1995-05-23 |
| DE68923490D1 (de) | 1995-08-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0752399B2 (ja) | 記憶システム | |
| US5202972A (en) | Store buffer apparatus in a multiprocessor system | |
| US5291586A (en) | Hardware implementation of complex data transfer instructions | |
| US6161208A (en) | Storage subsystem including an error correcting cache and means for performing memory to memory transfers | |
| US5276848A (en) | Shared two level cache including apparatus for maintaining storage consistency | |
| EP0329942B1 (en) | Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage | |
| EP0516126B1 (en) | Fault tolerant multiprocessor computer system | |
| US6651163B1 (en) | Exception handling with reduced overhead in a multithreaded multiprocessing system | |
| US5481685A (en) | RISC microprocessor architecture implementing fast trap and exception state | |
| US6098167A (en) | Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution | |
| US6266759B1 (en) | Register scoreboarding to support overlapped execution of vector memory reference instructions in a vector processor | |
| US5835949A (en) | Method of identifying and self-modifying code | |
| US5751986A (en) | Computer system with self-consistent ordering mechanism | |
| JPH0342745A (ja) | 複数キャッシュ・メモリ・アクセス方法 | |
| US10628320B2 (en) | Modulization of cache structure utilizing independent tag array and data array in microprocessor | |
| JP2004520634A (ja) | ロード命令を処理するための方法および装置 | |
| EP0348616B1 (en) | Storage subsystem including an error correcting cache | |
| JP3170472B2 (ja) | レジスタ・リマップ構造を有する情報処理システム及び方法 | |
| EP0156307A2 (en) | Pipelined processor having dual cache memories | |
| EP0375892B1 (en) | Data processing system | |
| JP3715057B2 (ja) | パニック・トラップ・システム | |
| JPH0133856B2 (ja) | ||
| JPS60108936A (ja) | 情報処理装置 |