JPH0227440A - 記憶システム - Google Patents
記憶システムInfo
- Publication number
- JPH0227440A JPH0227440A JP1099053A JP9905389A JPH0227440A JP H0227440 A JPH0227440 A JP H0227440A JP 1099053 A JP1099053 A JP 1099053A JP 9905389 A JP9905389 A JP 9905389A JP H0227440 A JPH0227440 A JP H0227440A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- storage
- instruction
- data
- store
- 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.)
- Granted
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は一般に、エラーを検出し、命令ストリームの以
前の点に戻り、そのエラーをもたらした命令を再実行す
るようになされたデータ処理システムに関し、具体的に
は、単一または複数のプロセッサをもち、ストアイン型
とストアスルー型のどちらかのキャッシュ設計を含むメ
モリ・キャッシュ・システムを使用できる、データ処理
システムに関する。
前の点に戻り、そのエラーをもたらした命令を再実行す
るようになされたデータ処理システムに関し、具体的に
は、単一または複数のプロセッサをもち、ストアイン型
とストアスルー型のどちらかのキャッシュ設計を含むメ
モリ・キャッシュ・システムを使用できる、データ処理
システムに関する。
B、従来技術及びその問題点
本発明を実施するのに使用されるベクトル・プロセッサ
は、1983年9月9日出願の米国特許出願08153
0842号、「高性能ベクトル・プロセッサ(Ilig
h Performance VectorProce
ssor) Jに記載され特許請求されており、その特
許出願を引用により本明細書に組み込む。
は、1983年9月9日出願の米国特許出願08153
0842号、「高性能ベクトル・プロセッサ(Ilig
h Performance VectorProce
ssor) Jに記載され特許請求されており、その特
許出願を引用により本明細書に組み込む。
本発明を実施するのに使用される浮動小数点プロセッサ
は、1987年9月30日出願の米国特許出願07/1
02985号、「浮動小数点単一命令単一スドリーム・
データ・アーキテクチャのための動的複数命令ス) I
J−ム複数データ複数パイプライン装置(Dynami
c Multiple InstructionStr
eam Multiple Data Multipl
e PipelineApparatus for F
loating Po1nt SingleInstr
uction Single Stream D
ata Architecture)Jに記載され特
許請求されている。その特許出願を引用により本明細書
に組み込む。
は、1987年9月30日出願の米国特許出願07/1
02985号、「浮動小数点単一命令単一スドリーム・
データ・アーキテクチャのための動的複数命令ス) I
J−ム複数データ複数パイプライン装置(Dynami
c Multiple InstructionStr
eam Multiple Data Multipl
e PipelineApparatus for F
loating Po1nt SingleInstr
uction Single Stream D
ata Architecture)Jに記載され特
許請求されている。その特許出願を引用により本明細書
に組み込む。
本発明を実施するのに使用される2進加算器は、198
7年6月26日出願の米国特許出願071088580
号、r高性能並列2進バイト加算器(A I(igh
Performance Parallel Bina
ryByte Adder) Jに記載され特許請求さ
れている。
7年6月26日出願の米国特許出願071088580
号、r高性能並列2進バイト加算器(A I(igh
Performance Parallel Bina
ryByte Adder) Jに記載され特許請求さ
れている。
その特許出願を引用により本明細書に組み込む。
データ処理システムでのランダム・エラーの発生は、シ
ステムの信頼性に悪影響を及ぼす。ランダム・エラー、
すなわち、システムの継続的な障害によらないエラーが
、長いプログラムの実行の終端付近で発生する場合、そ
のプログラムを再起動し始めからもう一度実行する必要
がある。この解決方法は受は入れられない場合が多かっ
たので、プログラムを個々の部分に区分して、1つの部
分にエラーが発生したとき、障害が発生した部分の始め
からだけそのプログラムを再実行すればよいようにされ
た。この方法でも、計算速度が増加し、データ処理シス
テムがより複雑かつ時間に依存するようになると不十分
になった。
ステムの信頼性に悪影響を及ぼす。ランダム・エラー、
すなわち、システムの継続的な障害によらないエラーが
、長いプログラムの実行の終端付近で発生する場合、そ
のプログラムを再起動し始めからもう一度実行する必要
がある。この解決方法は受は入れられない場合が多かっ
たので、プログラムを個々の部分に区分して、1つの部
分にエラーが発生したとき、障害が発生した部分の始め
からだけそのプログラムを再実行すればよいようにされ
た。この方法でも、計算速度が増加し、データ処理シス
テムがより複雑かつ時間に依存するようになると不十分
になった。
エラー回復技術を複雑にしている要素の1つは、キャッ
シュ・メモリ・システムの使用である。プロセッサの速
度は、経済的に実現可能な主記憶システムが遅くて追い
ついていけないほどにまで上がってきた。すべての記憶
回路をプロセッサの速度に一致させるコストをかけずに
メモリ性能を改善するために、中間の高速記憶システム
が導入された。こうしたシステムはキャッシュと呼ばれ
、プロセッサの速度に近い速度で動作し、記憶容量は非
常に限られている。記憶容量が限られているので、プロ
セッサが使用する可能性が最も高いデータにその容量を
注意深く割り振ることが必要である。
シュ・メモリ・システムの使用である。プロセッサの速
度は、経済的に実現可能な主記憶システムが遅くて追い
ついていけないほどにまで上がってきた。すべての記憶
回路をプロセッサの速度に一致させるコストをかけずに
メモリ性能を改善するために、中間の高速記憶システム
が導入された。こうしたシステムはキャッシュと呼ばれ
、プロセッサの速度に近い速度で動作し、記憶容量は非
常に限られている。記憶容量が限られているので、プロ
セッサが使用する可能性が最も高いデータにその容量を
注意深く割り振ることが必要である。
データ処理システムの一般要件に従って、キヤ。
シュを割り振り、そこに記憶されているデータを制御す
るための様々な技術が開発されてきた。
るための様々な技術が開発されてきた。
キャッシュ・システムは、キャッシュに入力された改訂
データが主記憶装置にも入力される、ストアスルー型シ
ステムと、キャッシュに入力されたデータが、送り出さ
れるまで主記憶装置に入力されず、キャッシュ・ミスの
とき、データを主記憶装置からキャッシュに読み出′シ
、キャッシュからプロセッサがそれにアクセスする、ス
トアイン型キャッシュ・システムと、上記のそれぞれの
態様の一部を組み込んだ、ハイブリッド・システムとに
分類できる。場合によっては、より高度のシステムの特
定の要件に対処すべく、特殊な適合化が行なわれた。具
体的には、複数の処理装置を利用するデータ処理システ
ムの要件に対処する試みが行なわれてきた。これらの方
法は、キャッシュの効率を向上させる点では効果があっ
たが、それらの方法はシステムがソフト・エラーから回
復する能力を高めず、低下させることさえあった。ある
領域でのシステム性能の改善が、他の領域での性能の低
下を伴うなら、それは本当の改善にはならないので、複
数プロセッサ・システムのエラー回復技術、具体的には
、チェックポイント再試行と呼ばれる種類のエラー回復
技術にキャッシュの管理及び操作を組み込む必要が引き
続き存在する。
データが主記憶装置にも入力される、ストアスルー型シ
ステムと、キャッシュに入力されたデータが、送り出さ
れるまで主記憶装置に入力されず、キャッシュ・ミスの
とき、データを主記憶装置からキャッシュに読み出′シ
、キャッシュからプロセッサがそれにアクセスする、ス
トアイン型キャッシュ・システムと、上記のそれぞれの
態様の一部を組み込んだ、ハイブリッド・システムとに
分類できる。場合によっては、より高度のシステムの特
定の要件に対処すべく、特殊な適合化が行なわれた。具
体的には、複数の処理装置を利用するデータ処理システ
ムの要件に対処する試みが行なわれてきた。これらの方
法は、キャッシュの効率を向上させる点では効果があっ
たが、それらの方法はシステムがソフト・エラーから回
復する能力を高めず、低下させることさえあった。ある
領域でのシステム性能の改善が、他の領域での性能の低
下を伴うなら、それは本当の改善にはならないので、複
数プロセッサ・システムのエラー回復技術、具体的には
、チェックポイント再試行と呼ばれる種類のエラー回復
技術にキャッシュの管理及び操作を組み込む必要が引き
続き存在する。
いわゆるマルチプロセッサ・システムは、多重処理能力
をもち、その範囲で離散プロセッサをもち、それが異な
るタスクまたは同じタスクの異なる部分に割り当てられ
て並列処理能力を実現するが、システムのすべての要素
が、各プロセッサごとに重複されることはない。たとえ
ば、異なるプロセッサが共通データに作用することが必
要とされることがあるので、各プロセッサは、共通記憶
装置にアクセスしなければならない。同じ理由で、各プ
ロセッサが、様々な入出力装置にアクセスできなければ
ならない。システムのあまり使用されない機能、あるい
は性能の大幅な損失なしに共用できる機能は、通常各プ
ロセッサごとに重複されない。この種の機能の例は、エ
ラー回復機能である。ランダム・エラーは、同時に複数
のプロセッサで発生することはあまりない。ランダム・
エラーからの回復はあまり時間がかからないので、別の
プロセッサでエラーが発生する前に発生及び回復が完了
することができ、単一エラー回復機能で十分である。
をもち、その範囲で離散プロセッサをもち、それが異な
るタスクまたは同じタスクの異なる部分に割り当てられ
て並列処理能力を実現するが、システムのすべての要素
が、各プロセッサごとに重複されることはない。たとえ
ば、異なるプロセッサが共通データに作用することが必
要とされることがあるので、各プロセッサは、共通記憶
装置にアクセスしなければならない。同じ理由で、各プ
ロセッサが、様々な入出力装置にアクセスできなければ
ならない。システムのあまり使用されない機能、あるい
は性能の大幅な損失なしに共用できる機能は、通常各プ
ロセッサごとに重複されない。この種の機能の例は、エ
ラー回復機能である。ランダム・エラーは、同時に複数
のプロセッサで発生することはあまりない。ランダム・
エラーからの回復はあまり時間がかからないので、別の
プロセッサでエラーが発生する前に発生及び回復が完了
することができ、単一エラー回復機能で十分である。
すべてのプロセッサが同じ形式、特に使用するキャッシ
ュの形式が同じ場合には、これはすべて極めて簡単であ
る。従来のエラー回復技術は、プロセッサがストアイン
型キャッシュを利用するマルチプロセッサ・システムで
はうまく働く。通常、キャッシュ・データは、キャッシ
ュ書込み動作の前にバックアップ・アレイにセーブされ
る。チェックポイント再試行動作のとき、再試行点のキ
ャッシュ・データがバックアップ・アレイから復元され
る。この方法の欠点の一つは、キャッシュへの書込み動
作の前にバックアップ・アレイにキャッシュ・データを
書き込む必要があるため、キャッシュへの書込みが遅延
されることである。さらに、おそらくより重要であるが
、マルチプロセッサ・システムでは、チェックポイント
期間中にキャッシュ・データの占有状況を確保するため
、キャッシュ・ロック機構を設けなければならない。
ュの形式が同じ場合には、これはすべて極めて簡単であ
る。従来のエラー回復技術は、プロセッサがストアイン
型キャッシュを利用するマルチプロセッサ・システムで
はうまく働く。通常、キャッシュ・データは、キャッシ
ュ書込み動作の前にバックアップ・アレイにセーブされ
る。チェックポイント再試行動作のとき、再試行点のキ
ャッシュ・データがバックアップ・アレイから復元され
る。この方法の欠点の一つは、キャッシュへの書込み動
作の前にバックアップ・アレイにキャッシュ・データを
書き込む必要があるため、キャッシュへの書込みが遅延
されることである。さらに、おそらくより重要であるが
、マルチプロセッサ・システムでは、チェックポイント
期間中にキャッシュ・データの占有状況を確保するため
、キャッシュ・ロック機構を設けなければならない。
従来の別の形のエラー回復技術は、プロセッサがストア
スルー型キャッシュを利用する、マルチプロセッシング
・システムで使用するには十分である。しかし、データ
処理システムは、一般に「ファミリー」として設計され
、様々な形式の記憶装置、入出力装置、さらには異なる
形式のプロセッサで構成されることがある。たとえば、
そのファミリーの1つの「メンバー」は、プロセッサが
ストアイン型キャッシュを使用する、マルチプロセッサ
・システムを使用し、同じファミリーの他の「メンバー
」は、ストアスルー型キャッシュを組み込んだプロセッ
サを使用するように構成されることがある。コスト、製
造、互換性、及び保守の観点からは、ストアイン型キャ
ッシュとストアスルー型キャッシュのどちらを使用する
かにかかわらず、ファミリー全体を通してシステムの他
の要素を同じにすることが望ましい。
スルー型キャッシュを利用する、マルチプロセッシング
・システムで使用するには十分である。しかし、データ
処理システムは、一般に「ファミリー」として設計され
、様々な形式の記憶装置、入出力装置、さらには異なる
形式のプロセッサで構成されることがある。たとえば、
そのファミリーの1つの「メンバー」は、プロセッサが
ストアイン型キャッシュを使用する、マルチプロセッサ
・システムを使用し、同じファミリーの他の「メンバー
」は、ストアスルー型キャッシュを組み込んだプロセッ
サを使用するように構成されることがある。コスト、製
造、互換性、及び保守の観点からは、ストアイン型キャ
ッシュとストアスルー型キャッシュのどちらを使用する
かにかかわらず、ファミリー全体を通してシステムの他
の要素を同じにすることが望ましい。
ストアイン型キャッシュを備えたプロセッサを含むモデ
ルもストアスルー型キャッシュを利用するプロセッサを
含むモデルも組み込んだデータ処理システムのファミリ
ーを持つことが望ましい。
ルもストアスルー型キャッシュを利用するプロセッサを
含むモデルも組み込んだデータ処理システムのファミリ
ーを持つことが望ましい。
上記の理由から、ファミリー全体で単一エラー回復機能
をもつことが望ましい。
をもつことが望ましい。
データ処理システムでエラーから回復するには、システ
ムを命令シーケンスのエラーよりも前の点から再始動し
、したがって、そのエラーの影響を受けないデータを含
むことが必要である。理想的には、これは、エラーが発
生した命令の直前の命令である。それには、システムが
各命令のすべての関連データを記憶し保持する必要があ
る。実際には、複数の命令が隔置される選択した点でだ
けデータを保持することにより、オーバーヘッドは減少
する。選択された点でセーブされるデータは、通常、主
に、プログラム状況ワード(PSW)、及び浮動小数点
レジスタ(FPR)、アクセス・レジスタ(AR) 、
汎用レジスタ(GPR)の内容から構成される。
ムを命令シーケンスのエラーよりも前の点から再始動し
、したがって、そのエラーの影響を受けないデータを含
むことが必要である。理想的には、これは、エラーが発
生した命令の直前の命令である。それには、システムが
各命令のすべての関連データを記憶し保持する必要があ
る。実際には、複数の命令が隔置される選択した点でだ
けデータを保持することにより、オーバーヘッドは減少
する。選択された点でセーブされるデータは、通常、主
に、プログラム状況ワード(PSW)、及び浮動小数点
レジスタ(FPR)、アクセス・レジスタ(AR) 、
汎用レジスタ(GPR)の内容から構成される。
キャッシュ・システムの伴うもう1つの面倒な問題は、
主記憶装置に速度を最終的に一致させることに関するも
のである。高速キャッシュは、処理装置の速度に匹敵す
る速度でデータに対する必要を滴定させる。高速キャッ
シュは、比較的低速度でメモリとの間でデータを読み書
きするという問題は解決しない。従来技術の解決法は、
キャッシュと主記憶装置の間に、1行のキャッシュ・デ
ータを保持できる記憶バッファを設けるというものであ
った。行バッファを介してメモリとの間でデータを出し
入れすることにより、キャッシユは解放され、より速い
速度で動作できる。
主記憶装置に速度を最終的に一致させることに関するも
のである。高速キャッシュは、処理装置の速度に匹敵す
る速度でデータに対する必要を滴定させる。高速キャッ
シュは、比較的低速度でメモリとの間でデータを読み書
きするという問題は解決しない。従来技術の解決法は、
キャッシュと主記憶装置の間に、1行のキャッシュ・デ
ータを保持できる記憶バッファを設けるというものであ
った。行バッファを介してメモリとの間でデータを出し
入れすることにより、キャッシユは解放され、より速い
速度で動作できる。
C0問題点を解決するための手段
本発明の目的は、ストアイン型またはストアスルー型キ
ャッシュを利用する単一または複数プロセッサ・システ
ムと互換性のある、チェックポイント再試行機能を提供
することにある。
ャッシュを利用する単一または複数プロセッサ・システ
ムと互換性のある、チェックポイント再試行機能を提供
することにある。
本発明の目的には、通常の動作中に記憶バッファを利用
して記憶待ち行列を設定し、再試行動作中にチェックポ
イント再試行に必要なデータを供給する、チェックポイ
ント再試行機能を提供することも含まれる。
して記憶待ち行列を設定し、再試行動作中にチェックポ
イント再試行に必要なデータを供給する、チェックポイ
ント再試行機能を提供することも含まれる。
本発明の目的には、チェックポイント期間中に7’−9
を記憶しかつプロセッサを主記憶装置の速度に合わせる
ような2重の機能をもたらす記憶バッファ・システムを
組み込んだチェックポイント再試行機能を提供すること
も含まれる。
を記憶しかつプロセッサを主記憶装置の速度に合わせる
ような2重の機能をもたらす記憶バッファ・システムを
組み込んだチェックポイント再試行機能を提供すること
も含まれる。
このデータがセーブされる命令ストリーム中の点をチェ
ックポイントと呼ぶ。中央演算処理装置(CPU)によ
って開始されるチェックポイントの後のすべての記憶動
作で、チェックポイントの命令に対する記憶動作が完了
するまで、変更されたデータ・キャッシュ・ページが記
憶バッファにセーブされる。ストアイン型レベル2 (
L2)キャッシュ設計をもつプロセッサの場合、チェッ
クポイントの命令が完了するまで、変更キャッシュ・デ
ータはレベル1(Ll)記憶バッファにセーブされる。
ックポイントと呼ぶ。中央演算処理装置(CPU)によ
って開始されるチェックポイントの後のすべての記憶動
作で、チェックポイントの命令に対する記憶動作が完了
するまで、変更されたデータ・キャッシュ・ページが記
憶バッファにセーブされる。ストアイン型レベル2 (
L2)キャッシュ設計をもつプロセッサの場合、チェッ
クポイントの命令が完了するまで、変更キャッシュ・デ
ータはレベル1(Ll)記憶バッファにセーブされる。
次いでそのデータはL2キャッシュに書き込まれ、他の
プロセッサに見えるようになる。ストアスルー型キャッ
シュ設計をもつプロセッサでは、変更キャッシュ・デー
タはL1記憶バッファにも緩衝記憶される。チェックポ
イント期間が終了すると、セーブされたキャッシュ・デ
ータは記憶装置に記憶される。
プロセッサに見えるようになる。ストアスルー型キャッ
シュ設計をもつプロセッサでは、変更キャッシュ・デー
タはL1記憶バッファにも緩衝記憶される。チェックポ
イント期間が終了すると、セーブされたキャッシュ・デ
ータは記憶装置に記憶される。
D、実施例
第1図を参照すると、本発明に関連するデータ処理シス
テムの部分が示されている。図を簡単にするために、シ
ステムの本発明には属さない部分は示されていない。デ
ータ処理システムは、G。
テムの部分が示されている。図を簡単にするために、シ
ステムの本発明には属さない部分は示されていない。デ
ータ処理システムは、G。
L、ヒックス(flicks) 、D、 H,ハウ(H
ove)及びF、A、ズルラ2世(Zurla Jr、
)に付与され本願の出願人インターナシロナル拳ビジ
ネス・マシーンズ・コーポレーシロンに譲渡された米国
特許第4044337号に示されているのと同じ一般的
性質のものであることを了解されたい。上記特許を引用
により本明細書に組み込む。
ove)及びF、A、ズルラ2世(Zurla Jr、
)に付与され本願の出願人インターナシロナル拳ビジ
ネス・マシーンズ・コーポレーシロンに譲渡された米国
特許第4044337号に示されているのと同じ一般的
性質のものであることを了解されたい。上記特許を引用
により本明細書に組み込む。
システムの命令処理装置1は、命令事前処理装置(IP
PU)2と固定小数点実行処理装置(EPU)3をもつ
。I EPU2は、制御記憶装置10の起点アドレス・
バス(C8OA)11を介して制御記憶装置10からマ
イクロワードを取り出すためのアドレス情報を供給し、
制御記憶装置10、命令キャッシュ装置20及びEPU
3に接続された命令バス(IBUS)15を介して命令
を受は取る。IPPU2は、またCBUS31を介して
命令キャッシュ装置20とEXT/FPU30にも接続
されている。チャンネル、・サブシステム40は、IP
Cバス41を介してEXT/FPU30に接続されてい
る。
PU)2と固定小数点実行処理装置(EPU)3をもつ
。I EPU2は、制御記憶装置10の起点アドレス・
バス(C8OA)11を介して制御記憶装置10からマ
イクロワードを取り出すためのアドレス情報を供給し、
制御記憶装置10、命令キャッシュ装置20及びEPU
3に接続された命令バス(IBUS)15を介して命令
を受は取る。IPPU2は、またCBUS31を介して
命令キャッシュ装置20とEXT/FPU30にも接続
されている。チャンネル、・サブシステム40は、IP
Cバス41を介してEXT/FPU30に接続されてい
る。
複数プロセッサを含むデータ処理システムは、3段式記
憶サブシステム100を含み、記憶サブシステム100
は主記憶装置180a1180b。
憶サブシステム100を含み、記憶サブシステム100
は主記憶装置180a1180b。
レベル2キヤツシユ(L2)170a及び高性能レベル
1キヤツシユ(LL)101を含む。単一プロセッサを
含むシステムの場合、L2キャッシュは省略されること
がある。したがって、記憶サブシステムは、データ処理
システムのファミリーの特定のモデル・バージロンに応
じて、140a及び140bで示すような、2つの形を
とることができる。記憶サブシステム100のストアイ
ン型キャッシュ(マルチプロセッサ)バージロン140
aは、L2記憶待ち行列150 a %書込みバッファ
180a1L2キヤツシユ170a及び主記憶装置(L
3)180aを含む。ストアスルー型キャッシュ(単一
プロセッサ)バージョン140bは、L2キャッシュを
含まず、L3制御装置190 b N 3込みバッファ
/L3記憶待ち行列195b及び主記憶装置(L3)1
80bを含む。
1キヤツシユ(LL)101を含む。単一プロセッサを
含むシステムの場合、L2キャッシュは省略されること
がある。したがって、記憶サブシステムは、データ処理
システムのファミリーの特定のモデル・バージロンに応
じて、140a及び140bで示すような、2つの形を
とることができる。記憶サブシステム100のストアイ
ン型キャッシュ(マルチプロセッサ)バージロン140
aは、L2記憶待ち行列150 a %書込みバッファ
180a1L2キヤツシユ170a及び主記憶装置(L
3)180aを含む。ストアスルー型キャッシュ(単一
プロセッサ)バージョン140bは、L2キャッシュを
含まず、L3制御装置190 b N 3込みバッファ
/L3記憶待ち行列195b及び主記憶装置(L3)1
80bを含む。
マルチプロセッサ・バージョン140aでは、L2キャ
ッシュは、すべてのプロセッサによって共用され、また
チャンネルから直接アクセスされる。
ッシュは、すべてのプロセッサによって共用され、また
チャンネルから直接アクセスされる。
記憶サブシステム100は、L1キャッシュ制御装置と
L1キャッシュ101及びL1記憶バッファ105を含
めて、ストアイン型とストアスルー型の両方の実施例に
共通の要素をもつ。
L1キャッシュ101及びL1記憶バッファ105を含
めて、ストアイン型とストアスルー型の両方の実施例に
共通の要素をもつ。
CPU内で、命令キャッシュ及びデータ・キャッシュは
レベル1にあり、L1キャッシュ101と総称される。
レベル1にあり、L1キャッシュ101と総称される。
各キャッシュは、関連するCPUのためにデータを維持
する。命令事前処理装置(IPPU)2は、命令バス(
IBUS)15を介して、命令キャッシュから命令を受
は取り、また制御記憶装置10からマイクロワードを受
は取る。
する。命令事前処理装置(IPPU)2は、命令バス(
IBUS)15を介して、命令キャッシュから命令を受
は取り、また制御記憶装置10からマイクロワードを受
は取る。
L1データ・、キャッシュ装置は固定小数点実行装置3
に接続され、命令実行のためのオペランド・データを供
給する。
に接続され、命令実行のためのオペランド・データを供
給する。
L1キャッシュ101の命令キャッシュ部分は、IBM
システム/370命令を含み、命令取出しのためプロセ
ッサがそれにアクセスする。命令実行の結果を表わすオ
ペランドは、命令キャッシュの内容を変更しないが、ペ
ージが命令キャッシュ20内に存在する場合それを無効
にする。L1キャッジ:Llolのデータ・キャッシュ
部分は、18Mシステム/370プログラム・データを
含む。データ取出し及び記憶は、すべてストアスルー型
キャッシュであるし1キヤツシユ101に対して行なわ
れる。オペランド取出しの際にキャッシュ・ミスが検出
されたときは、望みのキャッシュ行をL2キャッシュ1
70aまたはL3主記憶装置180aからインページし
なければならない。
システム/370命令を含み、命令取出しのためプロセ
ッサがそれにアクセスする。命令実行の結果を表わすオ
ペランドは、命令キャッシュの内容を変更しないが、ペ
ージが命令キャッシュ20内に存在する場合それを無効
にする。L1キャッジ:Llolのデータ・キャッシュ
部分は、18Mシステム/370プログラム・データを
含む。データ取出し及び記憶は、すべてストアスルー型
キャッシュであるし1キヤツシユ101に対して行なわ
れる。オペランド取出しの際にキャッシュ・ミスが検出
されたときは、望みのキャッシュ行をL2キャッシュ1
70aまたはL3主記憶装置180aからインページし
なければならない。
データ・キャッシュに対してデータ記憶要求が行なわれ
、データがキャッシュ内に存在するときは、データが同
時にキャッシュと記憶バッファ105に記憶される。デ
ータがキャッシュに存在しない場合、データは記憶バッ
フ1にだけ記憶される。
、データがキャッシュ内に存在するときは、データが同
時にキャッシュと記憶バッファ105に記憶される。デ
ータがキャッシュに存在しない場合、データは記憶バッ
フ1にだけ記憶される。
記憶動作に関連するアドレス、データ及び制御は、記憶
バッファ105に入力される。
バッファ105に入力される。
中央演算処理装置!11は、チェックポイント状態に戻
って失敗した命令を再実行することによりエラーから回
復するためのハードウェアを含む。これは、汎用レジス
タ(GPR) 、浮動小数点レジスタ(FPR)及びア
クセス・レジスタ(AR)をバックアップするアレイを
含む。プログラム状況ワード(PSW)スタックは、チ
ェックポイントが設定されたときプログラム状況ワード
をセーブするのに使用される。本発明の回復技術は、エ
ラーが検出されたときに戻ることができるCPUの既知
状態を確立することである。以前の状態に戻りやすくす
るため、命令処理が進行するにつれて、CPU内のいく
つかの機能(データ、状態、条件など)がバックアップ
・アレイに定型通りにセーブされる。
って失敗した命令を再実行することによりエラーから回
復するためのハードウェアを含む。これは、汎用レジス
タ(GPR) 、浮動小数点レジスタ(FPR)及びア
クセス・レジスタ(AR)をバックアップするアレイを
含む。プログラム状況ワード(PSW)スタックは、チ
ェックポイントが設定されたときプログラム状況ワード
をセーブするのに使用される。本発明の回復技術は、エ
ラーが検出されたときに戻ることができるCPUの既知
状態を確立することである。以前の状態に戻りやすくす
るため、命令処理が進行するにつれて、CPU内のいく
つかの機能(データ、状態、条件など)がバックアップ
・アレイに定型通りにセーブされる。
第2図に移って、L1記憶バッファ105の動作の方式
について説明する。記憶バッフ1105は、論理的に、
ストアイン型キャッシュ実施例140aの場合は命令処
理装置1とL2キャッシュ170aの間に、ストアスル
ー型キャッシュ実施例140bの場合は命令処理装置1
と主記憶装置(L3)180bの間に配置されている。
について説明する。記憶バッフ1105は、論理的に、
ストアイン型キャッシュ実施例140aの場合は命令処
理装置1とL2キャッシュ170aの間に、ストアスル
ー型キャッシュ実施例140bの場合は命令処理装置1
と主記憶装置(L3)180bの間に配置されている。
L1記憶バッファ105は、システム内の各処理装置ご
とに設けられ、主記憶装置へのデータ転送の性能を向上
させるのに使用され、他のCPU及びチャンネルがデー
タにアクセスできる記憶階層の他の部分に解放される前
に、チェックポイントの終端まで記憶データを保持する
働きをする。これは、一連のチェックポイント命令の終
端まで1つのチェックポイントに関連する任意の記憶デ
ータを解放することによってではなく、どの記憶待ち行
列がどのチェックポイントで使用されるかを記録するこ
とによって実現される。記憶データの解放、命令の終端
(EOI)及びチェックポイント終了(COMP)を制
御するために記憶待ち行列の設計に2つの情報ビットが
導入される。記憶バッファ中のデータは、それに直接関
連するプロセッサだけしか利用できず、他のプロセッサ
は、それがL2キャッシュ170aまたは主記憶装置1
80bに書き込まれるまでそのデータにアクセスできな
い。
とに設けられ、主記憶装置へのデータ転送の性能を向上
させるのに使用され、他のCPU及びチャンネルがデー
タにアクセスできる記憶階層の他の部分に解放される前
に、チェックポイントの終端まで記憶データを保持する
働きをする。これは、一連のチェックポイント命令の終
端まで1つのチェックポイントに関連する任意の記憶デ
ータを解放することによってではなく、どの記憶待ち行
列がどのチェックポイントで使用されるかを記録するこ
とによって実現される。記憶データの解放、命令の終端
(EOI)及びチェックポイント終了(COMP)を制
御するために記憶待ち行列の設計に2つの情報ビットが
導入される。記憶バッファ中のデータは、それに直接関
連するプロセッサだけしか利用できず、他のプロセッサ
は、それがL2キャッシュ170aまたは主記憶装置1
80bに書き込まれるまでそのデータにアクセスできな
い。
ストアスルー型キャッシュでは、すべての記憶動作は、
それが主記憶装置に書き込まれる前に記憶制御装置に送
られ、各記憶動作は、関連するキャッシュ行がすでにキ
ャッシュ内にある場合に限りキャッシュに書き込まれる
。L1記憶バッファは、次の点でストアスルー型キャッ
シニと異なっている。
それが主記憶装置に書き込まれる前に記憶制御装置に送
られ、各記憶動作は、関連するキャッシュ行がすでにキ
ャッシュ内にある場合に限りキャッシュに書き込まれる
。L1記憶バッファは、次の点でストアスルー型キャッ
シニと異なっている。
a、ストアスルー型キャッシュは、主記憶装置から取り
出され、命令処理装置1に渡される予定のデータを保持
する。記憶バッファ105は、記憶され、主記憶装置1
80aまたは180bに入力される予定のデータを保持
する。この重要な特徴により、使用したデータを再試行
動作中に再度呼び出すことが可能である。
出され、命令処理装置1に渡される予定のデータを保持
する。記憶バッファ105は、記憶され、主記憶装置1
80aまたは180bに入力される予定のデータを保持
する。この重要な特徴により、使用したデータを再試行
動作中に再度呼び出すことが可能である。
56本明細書で使用する高性能回路は比較的高価なので
、記憶バッフ1は普通非常に小さい(1ないし8キャッ
シュ行)。ストアスルー型キャッシュは、比較的大きく
、どのくらいのデータを保持することが望まれるかに応
じて、通常256ないし512キャッシュ行の記憶量を
収容できる。
、記憶バッフ1は普通非常に小さい(1ないし8キャッ
シュ行)。ストアスルー型キャッシュは、比較的大きく
、どのくらいのデータを保持することが望まれるかに応
じて、通常256ないし512キャッシュ行の記憶量を
収容できる。
C,ストアスルー型キャッシュは通常セット連想式であ
る。記憶バッフ1105は完全に連想式である。
る。記憶バッフ1105は完全に連想式である。
d、ストアスルー型キャッシュは全キャッシュ行を含む
。記憶バッファ105は通常部分キャッシュ行を含む。
。記憶バッファ105は通常部分キャッシュ行を含む。
記憶バッフT105は、第3図に示すような8個のスロ
ットを含む。各スロットは、8つのデータ・ダブルワー
ドを、ダブルワード及び変更された各ダブルワードのバ
イトを示すフラグと共に含む。各スロットは、記憶動作
の状況を示すEOIビット及びCOMPビットを含む。
ットを含む。各スロットは、8つのデータ・ダブルワー
ドを、ダブルワード及び変更された各ダブルワードのバ
イトを示すフラグと共に含む。各スロットは、記憶動作
の状況を示すEOIビット及びCOMPビットを含む。
記憶バッファ中のスロットの数は、記憶バッファがその
記憶を累積しているキャッシュ行の数である。記憶バッ
フ1が8つのスロットから構成される場合、記憶バッフ
ァ・アドレス・レジスタによって示される8つの行のど
れに対する記憶も、記憶バッファ内で行なわれる。各記
憶バッファ・アドレス・レジスタは特定の記憶バッファ
・スロットに対応する。
記憶を累積しているキャッシュ行の数である。記憶バッ
フ1が8つのスロットから構成される場合、記憶バッフ
ァ・アドレス・レジスタによって示される8つの行のど
れに対する記憶も、記憶バッファ内で行なわれる。各記
憶バッファ・アドレス・レジスタは特定の記憶バッファ
・スロットに対応する。
各記憶バッファ・スロット内の各バイトは、第3a図に
示すように、その特定のバイトが記憶されたかどうかを
示す対応する1ビツトの「マーク」をもつ。マークが1
に設定されたときは、データの対応するバイトは、記憶
されたので有効である。
示すように、その特定のバイトが記憶されたかどうかを
示す対応する1ビツトの「マーク」をもつ。マークが1
に設定されたときは、データの対応するバイトは、記憶
されたので有効である。
マークが0に設定されたときは、データの対応バイトは
、記憶されなかったので無効である。EOIビット及び
COMPビットはどちらも、ある項目が予定されるとき
ゼロに設定さレル。EOI?yトは、命令の終端で1に
設定され、COM P K 。
、記憶されなかったので無効である。EOIビット及び
COMPビットはどちらも、ある項目が予定されるとき
ゼロに設定さレル。EOI?yトは、命令の終端で1に
設定され、COM P K 。
トは、データがL2キャッシュまたはL3主記憶装置に
記憶されるときゼロに設定される。記憶、、。
記憶されるときゼロに設定される。記憶、、。
ファには、連続、直接、及び非連続の3つの動作モード
がある。Sビット及びIMMビットはそれぞれ連続記憶
モード及び直接記憶モードを示す。
がある。Sビット及びIMMビットはそれぞれ連続記憶
モード及び直接記憶モードを示す。
連続モードでは、記憶は64バイト・スロット内でダブ
ルワードに対して行なわれる。64バイトの境界を越え
ると、次の記憶バッファ・スロットが使用される。非連
続モードでは、すべての記憶動作が、64バイト境界を
越えない記憶の場合、記fflバッファの1つのスロッ
トを使用する。直接記憶モードでは、記憶バッファ・デ
ータは、命令実行の完了前に、L2キャッシュまたは主
記憶装置に記憶される資格を得る。
ルワードに対して行なわれる。64バイトの境界を越え
ると、次の記憶バッファ・スロットが使用される。非連
続モードでは、すべての記憶動作が、64バイト境界を
越えない記憶の場合、記fflバッファの1つのスロッ
トを使用する。直接記憶モードでは、記憶バッファ・デ
ータは、命令実行の完了前に、L2キャッシュまたは主
記憶装置に記憶される資格を得る。
記憶動作が実行されるとき、記憶のデータとアドレスが
、ダブルワード及び変更されたダブルワードのバイトを
示すフラグと共に、記憶バッファの使用可能な最初の項
目に書き込まれる。記憶バッファ項目がυき込まれると
、記憶バッファ・スロット書込みポインタが最初の使用
可能なスロットを指す。連続モードでは、書込みポイン
タは、18Mシステム/370命令が完了するまで、ま
たは64バイト・ページの最後のバイトが書き込まれる
まで増分されない。非連続モードでは、書込みポインタ
はあらゆる記憶動作で増分される。記憶バッファ・デー
タは、データ・バスが使用可能なとき、L2キャッシュ
制御装置またはL3制御装置に送られる。CPUからE
OI信号を受は取ると、L2キャッシュ制御装置または
L3制御装置は、記憶バッファ・データをL2キャッシ
ュまたはL3主記憶装置に書き込む。記憶が完了すると
、L1キャッシュ制御装置に完了信号が送られる。
、ダブルワード及び変更されたダブルワードのバイトを
示すフラグと共に、記憶バッファの使用可能な最初の項
目に書き込まれる。記憶バッファ項目がυき込まれると
、記憶バッファ・スロット書込みポインタが最初の使用
可能なスロットを指す。連続モードでは、書込みポイン
タは、18Mシステム/370命令が完了するまで、ま
たは64バイト・ページの最後のバイトが書き込まれる
まで増分されない。非連続モードでは、書込みポインタ
はあらゆる記憶動作で増分される。記憶バッファ・デー
タは、データ・バスが使用可能なとき、L2キャッシュ
制御装置またはL3制御装置に送られる。CPUからE
OI信号を受は取ると、L2キャッシュ制御装置または
L3制御装置は、記憶バッファ・データをL2キャッシ
ュまたはL3主記憶装置に書き込む。記憶が完了すると
、L1キャッシュ制御装置に完了信号が送られる。
すなわち、記憶バッファ・スロットは再び使用できるよ
うになる。
うになる。
取出し動作の詳細を第4a図、第4b図及び第4c図に
示す。記憶バッファ105に存在する行の取出しは、「
取出しヒツト」と呼ばれ、記憶バッファ105にない行
の取出しは「取出しミス」と呼ばれる。
示す。記憶バッファ105に存在する行の取出しは、「
取出しヒツト」と呼ばれ、記憶バッファ105にない行
の取出しは「取出しミス」と呼ばれる。
第4a図に関して、記憶バッファ105に常駐する行の
取出しは「取出しヒツト」と呼ばれ、記憶バッファ10
5にない行の取出しは「取出しミス」と呼ばれる。記憶
バッファ105の取出しヒツトによって参照される行全
体が、L2キャッシュ170aまたは主記憶装置180
bから読み出され、記憶バッフ1105の対応するスフ
0ツトの内容と組み合わされる。この組合せは、記憶バ
ッファ105のマークの制御下で通常のデータ・ゲート
回路によって実行される。次いで、組み合わされたキャ
ッシュ行が要求側命令装置のキャッシユに転送される。
取出しは「取出しヒツト」と呼ばれ、記憶バッファ10
5にない行の取出しは「取出しミス」と呼ばれる。記憶
バッファ105の取出しヒツトによって参照される行全
体が、L2キャッシュ170aまたは主記憶装置180
bから読み出され、記憶バッフ1105の対応するスフ
0ツトの内容と組み合わされる。この組合せは、記憶バ
ッファ105のマークの制御下で通常のデータ・ゲート
回路によって実行される。次いで、組み合わされたキャ
ッシュ行が要求側命令装置のキャッシユに転送される。
取出しミスの結果、参照された行が主記憶装置180a
と180bから読み出され、要求側命令処理装置のキャ
ッシュに送られる。記憶バッファは影響を受けない。
と180bから読み出され、要求側命令処理装置のキャ
ッシュに送られる。記憶バッファは影響を受けない。
命令取出し動作もオペランド取出し動作も、L2キャッ
シュまたは主記憶装置に記憶されない記憶バッフ1項目
に対してインターロックされる。
シュまたは主記憶装置に記憶されない記憶バッフ1項目
に対してインターロックされる。
これは、IBMシステム/370アーキテクチャの1コ
ピー記憶概念との整合性を保っためである。
ピー記憶概念との整合性を保っためである。
オペランド・データ取出しインターロック動作を、第4
b図に示すtすべての取出しが、活動記憶バッファ項目
(EOI=1及びCOMP=O)に対してインターロッ
クされる。これらの項目は、L2キャッシュまたは主記
憶装置に書き込まれない以前の命令からの保留中の記憶
を表わす。取出しが可能になるのは、データがL2キャ
ッシュまたは主記憶装置に記憶され、記憶バッファ項目
のGOMPビットが設定されたときである。
b図に示すtすべての取出しが、活動記憶バッファ項目
(EOI=1及びCOMP=O)に対してインターロッ
クされる。これらの項目は、L2キャッシュまたは主記
憶装置に書き込まれない以前の命令からの保留中の記憶
を表わす。取出しが可能になるのは、データがL2キャ
ッシュまたは主記憶装置に記憶され、記憶バッファ項目
のGOMPビットが設定されたときである。
現命令によって変更された記憶バッファ項目(EOI=
O及びGOMP=O)または以前に完了した命令からの
記憶バッファ項目(EOI=1及びGOMP=1)を参
照するデータ取出し要求では、キャッシュ・ヒツトの場
合、要求されたデータがプロセッサに送られる。L1キ
ャブシニ・ミスの場合、取出し要求は、L2キャッシュ
またはL3主記憶装置からのL1行のインページが完了
するまで保持される。
O及びGOMP=O)または以前に完了した命令からの
記憶バッファ項目(EOI=1及びGOMP=1)を参
照するデータ取出し要求では、キャッシュ・ヒツトの場
合、要求されたデータがプロセッサに送られる。L1キ
ャブシニ・ミスの場合、取出し要求は、L2キャッシュ
またはL3主記憶装置からのL1行のインページが完了
するまで保持される。
第4c図を参照すると、命令取出しは、単一プロセッサ
構成またはマルチプロセッサ構成のスヘての活動記憶バ
ブファ項目(COMP=O)に対してインターロックさ
れる。事前に取り出された命令の取出しアドレスが、C
OMP状況ビット=1で記憶バッフ1項目のアドレスと
突き合わせて検査される。比較の結果−攻した場合、記
憶バ。
構成またはマルチプロセッサ構成のスヘての活動記憶バ
ブファ項目(COMP=O)に対してインターロックさ
れる。事前に取り出された命令の取出しアドレスが、C
OMP状況ビット=1で記憶バッフ1項目のアドレスと
突き合わせて検査される。比較の結果−攻した場合、記
憶バ。
ファがL2キャッシュまたはL3主記憶装置に記憶され
、GOMPビットがその項目に対して設定されるまで、
その取出し要求は遅延される。次いで、命令キャッシュ
行がキャッシュ内に存在する場合、それは無効にされる
。次いで、命令キャッシュ行は、L2キャッシュまたは
L3主記憶装置からインベージされる。
、GOMPビットがその項目に対して設定されるまで、
その取出し要求は遅延される。次いで、命令キャッシュ
行がキャッシュ内に存在する場合、それは無効にされる
。次いで、命令キャッシュ行は、L2キャッシュまたは
L3主記憶装置からインベージされる。
汎用レジスタがバックアップされる方式を第5図に示す
。新しいチェックポイントが設定されると、プログラム
状況ワード・スタックを含むIPPUは、浮動小数点装
置(FPU)の浮動小数点レジスタ、実行処理装置(E
PU)の汎用レジスタ(GPR)、及びプロセッサ間通
信を担当する外部装置(EXT)のアドレス・レジスタ
(AR)を含む様々な論理装置にポインタを送る。この
3ビツトのポインタは、新しいチェックポイントが開始
されたことを合図するのに使用される。FPU、EPU
およびEXT装置は、チェックポイントを同期させるた
め、このポインタをそれらのバックアップ・アレイの1
つに割り当てる。命令の実行が始まると、各装置はデー
タが変更される前に、バックアップ・アレイ中のそれら
のレジスタの古い内容をセーブする。バックアップ処理
は、新しいチェックポイントが開始されるまで継続して
進行する。
。新しいチェックポイントが設定されると、プログラム
状況ワード・スタックを含むIPPUは、浮動小数点装
置(FPU)の浮動小数点レジスタ、実行処理装置(E
PU)の汎用レジスタ(GPR)、及びプロセッサ間通
信を担当する外部装置(EXT)のアドレス・レジスタ
(AR)を含む様々な論理装置にポインタを送る。この
3ビツトのポインタは、新しいチェックポイントが開始
されたことを合図するのに使用される。FPU、EPU
およびEXT装置は、チェックポイントを同期させるた
め、このポインタをそれらのバックアップ・アレイの1
つに割り当てる。命令の実行が始まると、各装置はデー
タが変更される前に、バックアップ・アレイ中のそれら
のレジスタの古い内容をセーブする。バックアップ処理
は、新しいチェックポイントが開始されるまで継続して
進行する。
PSWは、関連するレジスタ動作が完了したとき、完了
と示される。次いで、各装置内でPSWポインタが無効
にされる。その後、それらのバックアップ・アレイは新
しいチェックポイントで使用できる。
と示される。次いで、各装置内でPSWポインタが無効
にされる。その後、それらのバックアップ・アレイは新
しいチェックポイントで使用できる。
第5図に示すように、汎用レジスタをバックアップする
ためにGPRバックアップ偶数アレイ200とGPRバ
ックアップ奇数アレイ201の2つのアレイがある。各
アレイは16個のバックアップ・レジスタから構成され
る。GPR再試行ビットは、偶数アレイ用装置206と
奇数7レイ用1置207に記憶され、この2つの7レイ
のトチラが使用されているかを示す。偶数アレイの変更
ビット位置210(!:奇数アレイのそれ211は、G
PRが変更され、変更前の内容がバックアップ・アレイ
にあることを示す。復元される項目は、変更位置に1ビ
ツトをもつもの、すなわち、データを変更したレジスタ
である。
ためにGPRバックアップ偶数アレイ200とGPRバ
ックアップ奇数アレイ201の2つのアレイがある。各
アレイは16個のバックアップ・レジスタから構成され
る。GPR再試行ビットは、偶数アレイ用装置206と
奇数7レイ用1置207に記憶され、この2つの7レイ
のトチラが使用されているかを示す。偶数アレイの変更
ビット位置210(!:奇数アレイのそれ211は、G
PRが変更され、変更前の内容がバックアップ・アレイ
にあることを示す。復元される項目は、変更位置に1ビ
ツトをもつもの、すなわち、データを変更したレジスタ
である。
各GPRバックアップ・アレイに関連するPSWポイン
タと有効ビット222がある。PSWポインタは、その
チェックポイントですべてのGPR書込みが完了し、そ
のPSW完了ビットをマークしたかどうか判定する際に
使用される。有効ビット22は、アレイが再使用可能な
ことを示すために使用される。
タと有効ビット222がある。PSWポインタは、その
チェックポイントですべてのGPR書込みが完了し、そ
のPSW完了ビットをマークしたかどうか判定する際に
使用される。有効ビット22は、アレイが再使用可能な
ことを示すために使用される。
FPRをバックアップするのにも同様なバックアップ・
アレイが使用される。2つのバックアップ・アレイ(図
示せず)は、それぞれ4つのFPRから構成され、変更
前のFPRデータをセーブするのに使用される。FPR
中のデータが変更されることになる度にバックアップ動
作が実行される。1つのバックアップ・アレイが、各チ
ェックポイント期間に使用される。FPR再試行グルー
プ・ビットは、どのアレイが現在使用中であるかを示す
。同様に、ある項目の変更ビットは、FPRデータが変
更され、変更前の内容がF−P Rバックアップ・アレ
イにあることを示す。変更された項目は、命令再試行動
作によりバックアップ中に復元されなければならないも
のである。
アレイが使用される。2つのバックアップ・アレイ(図
示せず)は、それぞれ4つのFPRから構成され、変更
前のFPRデータをセーブするのに使用される。FPR
中のデータが変更されることになる度にバックアップ動
作が実行される。1つのバックアップ・アレイが、各チ
ェックポイント期間に使用される。FPR再試行グルー
プ・ビットは、どのアレイが現在使用中であるかを示す
。同様に、ある項目の変更ビットは、FPRデータが変
更され、変更前の内容がF−P Rバックアップ・アレ
イにあることを示す。変更された項目は、命令再試行動
作によりバックアップ中に復元されなければならないも
のである。
前述のGPRバックアップの場合と同様に、FPRバッ
クアップ・アレイもそれぞれ関連するPSWポインタと
有効ビットをもつ。PSWポインタは、あるチェックポ
イントでのすべてのFPR古込みが完了して、そのPS
W完了ビットをマークするかどうか判定する際に使用さ
れる。有効ビットは、アレイが再使用可能なことを示す
ために使用される。
クアップ・アレイもそれぞれ関連するPSWポインタと
有効ビットをもつ。PSWポインタは、あるチェックポ
イントでのすべてのFPR古込みが完了して、そのPS
W完了ビットをマークするかどうか判定する際に使用さ
れる。有効ビットは、アレイが再使用可能なことを示す
ために使用される。
同様に、アクセス・レジスタ(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ス
タック300は、6つの項目〇−5をもち、システム制
御装置によって順番に更新される。ある項目の状況が完
了とマークされているとき、その項目が再使用できる。
、全PSWがPSWスタックにセーブされる。PSWス
タック300は、6つの項目〇−5をもち、システム制
御装置によって順番に更新される。ある項目の状況が完
了とマークされているとき、その項目が再使用できる。
PSWスタック制御は、プロセッサによって実行中の命
令から誘導される。その命令が以前のチェックポイント
に使用したものと異なる再試行処理手順を必要とすると
きは、チェックポイントが作成される。チェックポイン
トが以下の場合に備えて設定される。
令から誘導される。その命令が以前のチェックポイント
に使用したものと異なる再試行処理手順を必要とすると
きは、チェックポイントが作成される。チェックポイン
トが以下の場合に備えて設定される。
データが他のプロセッサまたはチャンネル・サブシステ
ムにできるだけ速やかに見えるようにする、IBMシス
テム/370記憶形式命令の復号。
ムにできるだけ速やかに見えるようにする、IBMシス
テム/370記憶形式命令の復号。
IBMシステム/ 370 L M (Load Mu
ltiple)命令とL AM (Load Acce
ss Multiple)命令の復号。これらの命令が
、記憶ページ境界を越える多くのブロック・データにア
クセスでき、したがってアクセス例外事前検査を実行す
る必要はない。
ltiple)命令とL AM (Load Acce
ss Multiple)命令の復号。これらの命令が
、記憶ページ境界を越える多くのブロック・データにア
クセスでき、したがってアクセス例外事前検査を実行す
る必要はない。
マイクロコード化IBMシステム/370命令の復号。
マイクロコード・ルーチンに記憶形式命令を含めること
が可能である。
が可能である。
上記の特殊なケースを有効に分離するための上記のいず
れかの命令に続く命令の復号。及びマイクロコード−ル
ーチン中でL1記憶バッファをあふれさせずに大きなデ
ータ移動を処理するための、rTAKE CHECK
POINTJマイクロワードの復号。
れかの命令に続く命令の復号。及びマイクロコード−ル
ーチン中でL1記憶バッファをあふれさせずに大きなデ
ータ移動を処理するための、rTAKE CHECK
POINTJマイクロワードの復号。
チェックポイントは、GPR装置、FPR装置、AR装
置またはそれらの任意の組合せでの動作に関する命令な
ど複数の命令からも構成できる。新しいチェックポイン
トに達すると、PSWポインタは、第2図に示すPSW
ポインタ(PTR)バスを介してすべての処理装置に同
報通信される。
置またはそれらの任意の組合せでの動作に関する命令な
ど複数の命令からも構成できる。新しいチェックポイン
トに達すると、PSWポインタは、第2図に示すPSW
ポインタ(PTR)バスを介してすべての処理装置に同
報通信される。
各処理装置は、新しいPSWポインタを使って現在また
は今後要求されるすべての動作のラベル付けを担当する
。各処理装置はまた、最後のチェックポイントに関連す
るすべての動作が完了したとき、IPPUに通知しなけ
ればならない。PSWスタックの各項目は、「処理装置
完了」ビットを含む。処理装置完了ビットは、関連する
装置が完了と返答したとき、すなわち最後のチェックポ
イントに関連するすべての動作が完了したときに設定さ
れる。FPUは、第2図に示すFPU完了ポインタ・バ
スを介してチェックポイント完了を合図する。ARは、
第2図に示すAR完了ポインタを介してチェックポイン
ト完了を合図する。PSWスタックは、EPUに対する
大域制御から構成され、GPRバックアップ・レジスタ
がその中にある、IPPU中にある。大域制御は、すべ
ての、G P R動作を記録し、あるチェックポイント
内のすべてのEPU動作の完了を検出する。すなわち、
EPUは、その動作の完了を能動的に合図する必要はな
い。IPPUは処理完了ビットがすべて設定されたこと
を検出すると、そのチェックポイントをクリアし始める
。チェックポイントがクリアされるのは、バックアップ
が無効になり、PSWスタック項目が完了とマークされ
るときである。
は今後要求されるすべての動作のラベル付けを担当する
。各処理装置はまた、最後のチェックポイントに関連す
るすべての動作が完了したとき、IPPUに通知しなけ
ればならない。PSWスタックの各項目は、「処理装置
完了」ビットを含む。処理装置完了ビットは、関連する
装置が完了と返答したとき、すなわち最後のチェックポ
イントに関連するすべての動作が完了したときに設定さ
れる。FPUは、第2図に示すFPU完了ポインタ・バ
スを介してチェックポイント完了を合図する。ARは、
第2図に示すAR完了ポインタを介してチェックポイン
ト完了を合図する。PSWスタックは、EPUに対する
大域制御から構成され、GPRバックアップ・レジスタ
がその中にある、IPPU中にある。大域制御は、すべ
ての、G P R動作を記録し、あるチェックポイント
内のすべてのEPU動作の完了を検出する。すなわち、
EPUは、その動作の完了を能動的に合図する必要はな
い。IPPUは処理完了ビットがすべて設定されたこと
を検出すると、そのチェックポイントをクリアし始める
。チェックポイントがクリアされるのは、バックアップ
が無効になり、PSWスタック項目が完了とマークされ
るときである。
IPPUは、処理装置への同報通信によりそのチェック
ポイントに関連するバックアップを無効にする。同時に
、PSW項目が完了とマークされる。バックアップの無
効化とPSW項目の完了後、そのチェックポイントに関
連するすべての情報は無効になり、バックアップ・アレ
イとPSW項目は新しいチェックポイントに使用できる
。
ポイントに関連するバックアップを無効にする。同時に
、PSW項目が完了とマークされる。バックアップの無
効化とPSW項目の完了後、そのチェックポイントに関
連するすべての情報は無効になり、バックアップ・アレ
イとPSW項目は新しいチェックポイントに使用できる
。
第1図に戻ると、CPUによって開始されるすべての記
憶動作は、Lll記憶バッフ特待行列に項目を1つ作成
する。この待ち行列は、前述のように、ストアイン型L
2キャッシュを備えたシステムにもストアイン型L2キ
ャッシュのないプロセッサにも共通である。L1記憶バ
ッファ待ち行列項目は、絶対アドレス、データ、どのダ
ブルワードまたはバイトあるいはその両方が変更された
かを識別するフィールド、ならびに命令再試行にとって
重要な2つのフラグである、命令終了(EOI)ビット
及びチェックポイント終了(GOMP)ビットから構成
される。EOIビットは、値Oのとき、その項目が現命
令の記憶に対するものであることを示し、値1のときは
以前の命令の記憶に対するものであることを示す。EO
I信号は、チェックポイントの終りにCPUによってL
1記憶バッフ1制御装置に送られる。
憶動作は、Lll記憶バッフ特待行列に項目を1つ作成
する。この待ち行列は、前述のように、ストアイン型L
2キャッシュを備えたシステムにもストアイン型L2キ
ャッシュのないプロセッサにも共通である。L1記憶バ
ッファ待ち行列項目は、絶対アドレス、データ、どのダ
ブルワードまたはバイトあるいはその両方が変更された
かを識別するフィールド、ならびに命令再試行にとって
重要な2つのフラグである、命令終了(EOI)ビット
及びチェックポイント終了(GOMP)ビットから構成
される。EOIビットは、値Oのとき、その項目が現命
令の記憶に対するものであることを示し、値1のときは
以前の命令の記憶に対するものであることを示す。EO
I信号は、チェックポイントの終りにCPUによってL
1記憶バッフ1制御装置に送られる。
チェックポイント完了ビットは、対応するデータが、L
2キャッシュまたはL3メモリにうまく記憶され、CP
Uまたはチャンネル・サブシステムにそのデータが見え
るようになったかどうかを示す。
2キャッシュまたはL3メモリにうまく記憶され、CP
Uまたはチャンネル・サブシステムにそのデータが見え
るようになったかどうかを示す。
EOI=1及びGOMP=Oである新しい記憶バッフ1
待ち行列項目を作成するケースが2つある。IPUが割
込みを処理中で命令を実行していない場合と、記憶の前
に記憶待ち行列解放フラグが送られ、マイクロコード化
命令を再試行不能にする場合である。この2つの場合、
記憶バッファ待ち行列項目が、システムの構成に応じて
、L2キャッシュまたはL3メモリに直接送られる。こ
れらのケースの実行中に検出されたエラーは、−般に再
試行不能であり、チェックポイント状態の復元は不要で
ある。
待ち行列項目を作成するケースが2つある。IPUが割
込みを処理中で命令を実行していない場合と、記憶の前
に記憶待ち行列解放フラグが送られ、マイクロコード化
命令を再試行不能にする場合である。この2つの場合、
記憶バッファ待ち行列項目が、システムの構成に応じて
、L2キャッシュまたはL3メモリに直接送られる。こ
れらのケースの実行中に検出されたエラーは、−般に再
試行不能であり、チェックポイント状態の復元は不要で
ある。
プロセッサ内の記憶の一貫性を維持するため、記憶の取
出しが、EOI=1及びGOMP=Oである記憶バッフ
ァ待ち行列項目に対してインターロックされる。これら
の項目は、以前の命令から保留中の記憶を表わす。命令
取出し、オペランド取出し、及びプロセッサによって行
なわれる動的アドレス変換(DATA)テーブル取出し
を含めて、すべての取出しがインターロックされる。オ
ペランド取出し要求が開始されると、取出しの絶対アド
レスがL1記憶バッファ待ち行列項目と比較される。E
OI=1及びGOMP=Oである記憶待ち行列項目と一
致する場合、場合に応じて、L2キャッシュまたはL3
メモリへの記憶要求の完了まで取出しが保持され4゜ ストアイン型L2キャッシュを備えたプロセッサでは、
EOI信号は、チェックポイントの終りにL1記憶バッ
ファ制御装置に送られる。あるチェックポイントのすべ
ての記憶待ち行列項目のEOIビットは、1に設定され
、その記憶待ち行列項目がL2キャッシュに書き込まれ
ることを示す。L1記憶バッファ待ち行列項目がL2キ
ャッシュに書き込まれると、L2キャッシュ制御装置は
、L1記憶バッファ制御装置に、あるチェックポイント
のすべてのL1記憶バッファ記記憶待行列項目で、チェ
ックポイント完了ビットを設定スるように合図する。す
なわち、これらの項目が、次のチェックポイントの記憶
動作に利用できるようになる。8つのL1記憶バッファ
待ち項目に加えて、データの統合及びL2キャッシュへ
の転送用の追加バッファがL2キャッシュ制御装置に設
けられている。記憶データがL1記憶バッファ待ち行列
に記憶されると、Ll記憶バッファ制御装置は、それら
の項目をL2記憶待ち行列及び関連する書込みバッファ
に移す。L2キャッシュ制御装置は、L1記憶バッファ
制御装置からのEOI信号を受は取ったのに応答して、
L2キャッシュの動作を開始させる。L2キャッシュは
ストアイン型なので、記憶データは、L2キャッシュ制
御によってアウトページ動作が開始されるまで、L3主
記憶装置に入力されない。
出しが、EOI=1及びGOMP=Oである記憶バッフ
ァ待ち行列項目に対してインターロックされる。これら
の項目は、以前の命令から保留中の記憶を表わす。命令
取出し、オペランド取出し、及びプロセッサによって行
なわれる動的アドレス変換(DATA)テーブル取出し
を含めて、すべての取出しがインターロックされる。オ
ペランド取出し要求が開始されると、取出しの絶対アド
レスがL1記憶バッファ待ち行列項目と比較される。E
OI=1及びGOMP=Oである記憶待ち行列項目と一
致する場合、場合に応じて、L2キャッシュまたはL3
メモリへの記憶要求の完了まで取出しが保持され4゜ ストアイン型L2キャッシュを備えたプロセッサでは、
EOI信号は、チェックポイントの終りにL1記憶バッ
ファ制御装置に送られる。あるチェックポイントのすべ
ての記憶待ち行列項目のEOIビットは、1に設定され
、その記憶待ち行列項目がL2キャッシュに書き込まれ
ることを示す。L1記憶バッファ待ち行列項目がL2キ
ャッシュに書き込まれると、L2キャッシュ制御装置は
、L1記憶バッファ制御装置に、あるチェックポイント
のすべてのL1記憶バッファ記記憶待行列項目で、チェ
ックポイント完了ビットを設定スるように合図する。す
なわち、これらの項目が、次のチェックポイントの記憶
動作に利用できるようになる。8つのL1記憶バッファ
待ち項目に加えて、データの統合及びL2キャッシュへ
の転送用の追加バッファがL2キャッシュ制御装置に設
けられている。記憶データがL1記憶バッファ待ち行列
に記憶されると、Ll記憶バッファ制御装置は、それら
の項目をL2記憶待ち行列及び関連する書込みバッファ
に移す。L2キャッシュ制御装置は、L1記憶バッファ
制御装置からのEOI信号を受は取ったのに応答して、
L2キャッシュの動作を開始させる。L2キャッシュは
ストアイン型なので、記憶データは、L2キャッシュ制
御によってアウトページ動作が開始されるまで、L3主
記憶装置に入力されない。
ストアイン型L2キャッシュをもたないプロセッサでは
、CPUによって開始されたすべての動作用の記憶デー
タが、L2キャッシュを備えたプロセッサの場合と同様
に、Ll記憶バッファ待ち行列に入れられる。L3制御
装置はまた、追加の記憶待ち行列とメモリに移る記憶デ
ータをa街記憶するための書込みバッファを備えている
。L1記憶バッファ制御装置から見て、L3制御装置と
L2キャッシュ制御装置へのインターフェースは同じで
ある。あるチェックポイントの終りにEOI信号がL1
記憶バッファ制御装置に送られ、あるチェックポイント
に対するすべてのL1記憶バッファ項目のEOIビット
が1に設定されて、その項目がL3主記憶装置に書き込
まれることを示す。
、CPUによって開始されたすべての動作用の記憶デー
タが、L2キャッシュを備えたプロセッサの場合と同様
に、Ll記憶バッファ待ち行列に入れられる。L3制御
装置はまた、追加の記憶待ち行列とメモリに移る記憶デ
ータをa街記憶するための書込みバッファを備えている
。L1記憶バッファ制御装置から見て、L3制御装置と
L2キャッシュ制御装置へのインターフェースは同じで
ある。あるチェックポイントの終りにEOI信号がL1
記憶バッファ制御装置に送られ、あるチェックポイント
に対するすべてのL1記憶バッファ項目のEOIビット
が1に設定されて、その項目がL3主記憶装置に書き込
まれることを示す。
次いで、L1記憶バッファ待ち行列項目が、L3主記憶
装置記憶待ち行列に転送され、その後、L3制御装置の
書込みバッファに送られる。データがL3主記憶装置に
書き込まれると、L3制御装置は、L1記憶バッファ制
御装置に、受は取った記憶待ち行列項目に対するチェッ
クポイント完了ビットを設定するように合図する。その
後、これらの項目は次のチェックポイントの記憶動作に
利用できる。
装置記憶待ち行列に転送され、その後、L3制御装置の
書込みバッファに送られる。データがL3主記憶装置に
書き込まれると、L3制御装置は、L1記憶バッファ制
御装置に、受は取った記憶待ち行列項目に対するチェッ
クポイント完了ビットを設定するように合図する。その
後、これらの項目は次のチェックポイントの記憶動作に
利用できる。
記憶待ち行列の更新が1回だけのハードワイヤ式記憶命
令では、記憶待ち行列データが待ち行列に入れられるの
と同時に、Ll記憶バッファ待ち行列項目のEOIビッ
トが1に設定される。マイクロコード化記憶命令では、
あるチェックポイントに関連するすべての記憶待ち行列
項目のEOIビットがL1記憶バッファ制御装置に送ら
れる。
令では、記憶待ち行列データが待ち行列に入れられるの
と同時に、Ll記憶バッファ待ち行列項目のEOIビッ
トが1に設定される。マイクロコード化記憶命令では、
あるチェックポイントに関連するすべての記憶待ち行列
項目のEOIビットがL1記憶バッファ制御装置に送ら
れる。
L2キャッシュ制御装置またはL3制御装置が、場合に
応じて、L2キャッシュまたはL3主記憶装置への記憶
動作をうまく完了したとき、すべての記憶待ち行列項目
に対してチェックポイント完了ビットが設定される。
応じて、L2キャッシュまたはL3主記憶装置への記憶
動作をうまく完了したとき、すべての記憶待ち行列項目
に対してチェックポイント完了ビットが設定される。
CPU中でエラーが発生すると、IPUとL1記憶バッ
ファのクロックが停止され、L2キャッシュ制御装置ま
たはL3制御装置は直ちに、現コマンドが完了するまで
、IPUに対する保留中の記憶コマンドがあれば、その
サービスを停止する。
ファのクロックが停止され、L2キャッシュ制御装置ま
たはL3制御装置は直ちに、現コマンドが完了するまで
、IPUに対する保留中の記憶コマンドがあれば、その
サービスを停止する。
次いで、プロセッサを以前のチェックポイント状態に復
元するために命令再試行機構が呼び出される。関連する
バックアップ・アレイから様々なレジスタへのデータを
復元することに加えて、EO■=1である記憶待ち行列
項目が、システム構成に応じて、L2キャッシュまたは
L3主記憶装置にフラッシュされ、EOI=Oである項
目はパージされる。
元するために命令再試行機構が呼び出される。関連する
バックアップ・アレイから様々なレジスタへのデータを
復元することに加えて、EO■=1である記憶待ち行列
項目が、システム構成に応じて、L2キャッシュまたは
L3主記憶装置にフラッシュされ、EOI=Oである項
目はパージされる。
CPUがエラーを検出すると、CPUのクロックが2サ
イクルの間で停止する。CPUクロック停止信号は、通
常のエラー検出回路によって生成され、L3記憶バッツ
ァ制御装置に送られる。次いで、L3記憶バッファ制御
装置がCPUに対するサービスを停止する。エラーから
回復するには、CPUを走査リセットする。すなわち、
CPUのすべてのラッチを再起動杖態に設定する。様々
なレジスタの復元は、通常のマイクロコード・ルーチン
によって行なわれる。マイクロコードは、PSWスタッ
クの検査により必要な復元の程度を決定する。PSWス
タック項目は、復元を行なうため対応するレジスタ・バ
ックアップ・アレイを選択するのに使用されるPSWポ
インタを含む。次に、バックアップ・アレイからAR,
FR及びGPRが回復される。レジスタの復元後、PS
WスタックのPSWが完了状況に設定され、レジスタ・
バックアップ・アレイが無効にされる。L2キャッシュ
を備えたプロセッサでは、LLディレクトリの状況とL
2キャッシュ制御装置のL1状況がリセットされる。L
2キャッシュのないプロセッサでは、チャンネJし・デ
ィレクトリとL1ディレクトリがリセットされる。EO
I=1であるL1記憶待ち行列項目が、場合に応じて、
L2キャッシュまたはL3主記憶装置にフラッシュされ
る。記憶待ち行列と書込みパブフ1のすべてについて、
EOI=O(チェックポイントが障害の影響を受けたこ
とを表わす)である記憶待ち行列項目がパージされる。
イクルの間で停止する。CPUクロック停止信号は、通
常のエラー検出回路によって生成され、L3記憶バッツ
ァ制御装置に送られる。次いで、L3記憶バッファ制御
装置がCPUに対するサービスを停止する。エラーから
回復するには、CPUを走査リセットする。すなわち、
CPUのすべてのラッチを再起動杖態に設定する。様々
なレジスタの復元は、通常のマイクロコード・ルーチン
によって行なわれる。マイクロコードは、PSWスタッ
クの検査により必要な復元の程度を決定する。PSWス
タック項目は、復元を行なうため対応するレジスタ・バ
ックアップ・アレイを選択するのに使用されるPSWポ
インタを含む。次に、バックアップ・アレイからAR,
FR及びGPRが回復される。レジスタの復元後、PS
WスタックのPSWが完了状況に設定され、レジスタ・
バックアップ・アレイが無効にされる。L2キャッシュ
を備えたプロセッサでは、LLディレクトリの状況とL
2キャッシュ制御装置のL1状況がリセットされる。L
2キャッシュのないプロセッサでは、チャンネJし・デ
ィレクトリとL1ディレクトリがリセットされる。EO
I=1であるL1記憶待ち行列項目が、場合に応じて、
L2キャッシュまたはL3主記憶装置にフラッシュされ
る。記憶待ち行列と書込みパブフ1のすべてについて、
EOI=O(チェックポイントが障害の影響を受けたこ
とを表わす)である記憶待ち行列項目がパージされる。
再試行動作中、ハードワイヤ式制御装置が、回復に必要
な未完了チェックポイントの数を示すように設定される
。PSWは再試行動作の進行を記録する。未完了チェッ
クポイントすべてが再試行されエラーなしで完了し、カ
ウンタがゼロになると、独立のシステム支援プロセッサ
にチェックポイント再試行が首尾よく完了したことを合
図する、割込み信号が生成される。
な未完了チェックポイントの数を示すように設定される
。PSWは再試行動作の進行を記録する。未完了チェッ
クポイントすべてが再試行されエラーなしで完了し、カ
ウンタがゼロになると、独立のシステム支援プロセッサ
にチェックポイント再試行が首尾よく完了したことを合
図する、割込み信号が生成される。
第2のエラーが発生する場合、カウンタがゼロになって
ないことにより再試行動作中にそれが発生したと判定さ
れる。その場合、命令再試行が再起動されるだけである
。マイクロコード制御カウンタは、失敗した回復試行の
回数を記録し、こうした失敗した試行が事前に選択した
回数に達したとき、再試行動作を停止し、システム損傷
信号を生成する。
ないことにより再試行動作中にそれが発生したと判定さ
れる。その場合、命令再試行が再起動されるだけである
。マイクロコード制御カウンタは、失敗した回復試行の
回数を記録し、こうした失敗した試行が事前に選択した
回数に達したとき、再試行動作を停止し、システム損傷
信号を生成する。
以上、本発明が実施されるデータ処理システムは考慮外
に置いて本発明について説明してきたが、本発明で使用
するデータ処理システムを第7図に示す。亀−プロセッ
サまたは単一プロセッサ・システムは、L3主記憶装置
510を含む。主記憶袋!1if510Gt記憶制御装
wt(SCL)5124;l:接続されている。記憶制
御装置512は統合入出方サブシステム制御装置t51
4に接続され、制御装置514は統合アダプタと単一カ
ード・チャンネル516に接続されている。記憶制御装
置512は、命令とデータの記憶を行なうL1記憶キャ
ッシュ518にも接続されている。L1キャッシュ51
8は命令袋ra(IHtlり、実行装置(E装置)及び
制御記憶装置520に接続されている。L1記憶キャッ
シュはベクトル・プロセッサ522にも接続されている
。ベクトル・プロセッサ522は、1983年9月9日
に出願され、本特許の出願人であるインターナシロナル
・ビジネス・マシーンズ・コーポレーシロンに譲渡され
た、米国特許出願第087530842号「高性能並列
ベクトル−プロセッサ(旧gh Performanc
e ParallelVectorProcessor
) Jにより詳細に記載されている。特許出願第0E3
1530842号の開示を引用により本明細書に組み込
む。単一プロセッサ・システムは、他の処理システムと
のデータの交換を行なうマルチシステム・チャンネル通
信装置524をも含む。
に置いて本発明について説明してきたが、本発明で使用
するデータ処理システムを第7図に示す。亀−プロセッ
サまたは単一プロセッサ・システムは、L3主記憶装置
510を含む。主記憶袋!1if510Gt記憶制御装
wt(SCL)5124;l:接続されている。記憶制
御装置512は統合入出方サブシステム制御装置t51
4に接続され、制御装置514は統合アダプタと単一カ
ード・チャンネル516に接続されている。記憶制御装
置512は、命令とデータの記憶を行なうL1記憶キャ
ッシュ518にも接続されている。L1キャッシュ51
8は命令袋ra(IHtlり、実行装置(E装置)及び
制御記憶装置520に接続されている。L1記憶キャッ
シュはベクトル・プロセッサ522にも接続されている
。ベクトル・プロセッサ522は、1983年9月9日
に出願され、本特許の出願人であるインターナシロナル
・ビジネス・マシーンズ・コーポレーシロンに譲渡され
た、米国特許出願第087530842号「高性能並列
ベクトル−プロセッサ(旧gh Performanc
e ParallelVectorProcessor
) Jにより詳細に記載されている。特許出願第0E3
1530842号の開示を引用により本明細書に組み込
む。単一プロセッサ・システムは、他の処理システムと
のデータの交換を行なうマルチシステム・チャンネル通
信装置524をも含む。
L3主記憶装置510は、通常「知能」メモリ・カード
から構成される。「知能」と呼ばれるのは、エラー検査
/訂正、再生アドレス・レジスタ及びカウンタ、ならび
に予備ビット機能を含むからである。L3記憶装置との
インターフェースは通常、幅8ビットである。L3主記
憶装置の容量は8ないし64メガバイトである。
から構成される。「知能」と呼ばれるのは、エラー検査
/訂正、再生アドレス・レジスタ及びカウンタ、ならび
に予備ビット機能を含むからである。L3記憶装置との
インターフェースは通常、幅8ビットである。L3主記
憶装置の容量は8ないし64メガバイトである。
L3主記憶装置510へのアクセスは、L3主記憶装置
510、統合サブシステム制御装置5工4及びL1記憶
キャッシュ518へのアクセスを制御 する3つのバス
・アービタをもつ、記憶制御装置512の制御下にある
。記憶制御装置512は、要求されたデータがあるかど
うかL1記憶キャッシュ518の探索を担当するディレ
クトリも含んでいた。データがL1記憶キャッシュ51
8中に存在するが古いものである場合、Ll記憶制御装
置512は、LL記憶キャッシュ518中の古くなった
データを無効にして、入出力サブシステム制御装置51
4にL3主記憶装置510のデータを更新させる。その
後、命令/実行装置512は、L3主記憶装置510か
ら更新データを獲得しなければならない。
510、統合サブシステム制御装置5工4及びL1記憶
キャッシュ518へのアクセスを制御 する3つのバス
・アービタをもつ、記憶制御装置512の制御下にある
。記憶制御装置512は、要求されたデータがあるかど
うかL1記憶キャッシュ518の探索を担当するディレ
クトリも含んでいた。データがL1記憶キャッシュ51
8中に存在するが古いものである場合、Ll記憶制御装
置512は、LL記憶キャッシュ518中の古くなった
データを無効にして、入出力サブシステム制御装置51
4にL3主記憶装置510のデータを更新させる。その
後、命令/実行装置512は、L3主記憶装置510か
ら更新データを獲得しなければならない。
記憶制御装置512は、入出力サブシステム制御装置5
14からL3主記憶装置510に入力されるデーラダ、
及び命令/実行装置520からL3主記憶装置510に
入力されるデータを緩衝記憶する複数のバッファも含む
。命令/実行装置520に関連するバッファは、−時に
8バイトの項目を作成できる、256バイト行バッファ
であることが望ましい。これは、順次動作などいくつか
のタイプの命令に対処できることが望ましい。この行バ
ッファが一杯になると、L3主記憶装置へのデータのブ
ロック転送が行なわれて、所定のデータ・ブロックを転
送するのに必要な記憶動作の数が減り、システム動作の
速度が上がる。
14からL3主記憶装置510に入力されるデーラダ、
及び命令/実行装置520からL3主記憶装置510に
入力されるデータを緩衝記憶する複数のバッファも含む
。命令/実行装置520に関連するバッファは、−時に
8バイトの項目を作成できる、256バイト行バッファ
であることが望ましい。これは、順次動作などいくつか
のタイプの命令に対処できることが望ましい。この行バ
ッファが一杯になると、L3主記憶装置へのデータのブ
ロック転送が行なわれて、所定のデータ・ブロックを転
送するのに必要な記憶動作の数が減り、システム動作の
速度が上がる。
L1記憶キャッシュは通常、複数の18にバイト・キャ
ッシュを含む。L1記憶キャッシュ518から記憶制御
装置512へのインターフェースは幅8バイトなので、
記憶制御装置512からのインページ動作には8データ
転送サイクルが必要である。L1記憶キャッシュ518
はストアスルー型キャッシュである。命令/実行装置5
20からのデータは、L3主記憶装置510に記憶され
、L1記憶キャッシュ518には記憶されない。ただし
、それに対応する現在では古くなったデータがすでにL
1記憶キャッシュ518に存在していた場合はその限り
ではない。この動作を援助するために、第1図ないし第
6図に関連して説明した記憶バッファがL1記憶キャッ
シュ618中にある。記憶バブ71は最高8つの記憶動
作を緩衝記憶することができる。
ッシュを含む。L1記憶キャッシュ518から記憶制御
装置512へのインターフェースは幅8バイトなので、
記憶制御装置512からのインページ動作には8データ
転送サイクルが必要である。L1記憶キャッシュ518
はストアスルー型キャッシュである。命令/実行装置5
20からのデータは、L3主記憶装置510に記憶され
、L1記憶キャッシュ518には記憶されない。ただし
、それに対応する現在では古くなったデータがすでにL
1記憶キャッシュ518に存在していた場合はその限り
ではない。この動作を援助するために、第1図ないし第
6図に関連して説明した記憶バッファがL1記憶キャッ
シュ618中にある。記憶バブ71は最高8つの記憶動
作を緩衝記憶することができる。
ベクトル・プロセッサ522もL1記憶キャッシュ51
8に接続されている。ベクトル・プロセッサ522は、
命令/実行装置520の記憶制御装置512へのデータ
・フロー経路を共用するが、記憶動作を実行するとき、
ベクトル・プロセッサは、命令/実行装置520がデー
タを取り出すために記憶制御装置512にアクセスする
のを妨げる。
8に接続されている。ベクトル・プロセッサ522は、
命令/実行装置520の記憶制御装置512へのデータ
・フロー経路を共用するが、記憶動作を実行するとき、
ベクトル・プロセッサは、命令/実行装置520がデー
タを取り出すために記憶制御装置512にアクセスする
のを妨げる。
統合入出力サブシステム514は、8バイトのバスを介
して記憶制御装置512に接続されている。サブシステ
ム514は、記憶制御装置512を統合入出力サブシス
テム514から到来するデータと同期させるのに使用さ
れる、3個の64バイト・バッファを含む。これが必要
なのは、命令/実行装置520と入出力サブシステム5
14が異なるクロックで動作するからである。
して記憶制御装置512に接続されている。サブシステ
ム514は、記憶制御装置512を統合入出力サブシス
テム514から到来するデータと同期させるのに使用さ
れる、3個の64バイト・バッファを含む。これが必要
なのは、命令/実行装置520と入出力サブシステム5
14が異なるクロックで動作するからである。
マルチシステム・チャンネル通信装置524は、4ポ一
ト式チャンネル間アダプタであり、通常システムの外部
にあるパッケージに含まれる。
ト式チャンネル間アダプタであり、通常システムの外部
にあるパッケージに含まれる。
L1記憶キャッシュの記憶バッファは、以前に第1図な
いし第6図に関して説明した方式で動作する。
いし第6図に関して説明した方式で動作する。
第8図に示すシステムは、バス切替え装置(BSU)5
213に接続された1対のし3主記憶装置510aと5
10bを含む。バス切替え装置526は、L2キ+ッシ
ュ528aを含む、B5U328は、統合入出力サブシ
ステム514 a 1共用チヤンネル・プロセッサ52
8、及びそれぞれ命令装置/実行装置/制御記憶装置5
20a1520b、520cとLL記憶キャッシュ51
8as518b1518cを備えた3台のプロセッサに
接続されている。
213に接続された1対のし3主記憶装置510aと5
10bを含む。バス切替え装置526は、L2キ+ッシ
ュ528aを含む、B5U328は、統合入出力サブシ
ステム514 a 1共用チヤンネル・プロセッサ52
8、及びそれぞれ命令装置/実行装置/制御記憶装置5
20a1520b、520cとLL記憶キャッシュ51
8as518b1518cを備えた3台のプロセッサに
接続されている。
B5U328のキャッシュは、L2キャッシュ526a
と呼ばれる。B5U32Bは、3台のプロセッサ518
a1520a1518b1520b1518c1520
cのポートを2台のL3主記憶装置510aと510b
、2台の共用チャンネル・プロセッサ528、及び統合
入出力サブシステム514aに接続する。B5U328
の回路は、その3台のプロセッサからのし3主記憶装置
510aと510bに対する要求の優先順位を決定する
。それらの要求は、入出力サブシステム514、または
共用チャンネル・プロセッサのインターフェースを動作
させる回路及びL2キャッシュ526aにアクセスする
回路からのものである。
と呼ばれる。B5U32Bは、3台のプロセッサ518
a1520a1518b1520b1518c1520
cのポートを2台のL3主記憶装置510aと510b
、2台の共用チャンネル・プロセッサ528、及び統合
入出力サブシステム514aに接続する。B5U328
の回路は、その3台のプロセッサからのし3主記憶装置
510aと510bに対する要求の優先順位を決定する
。それらの要求は、入出力サブシステム514、または
共用チャンネル・プロセッサのインターフェースを動作
させる回路及びL2キャッシュ526aにアクセスする
回路からのものである。
L2キャッシュは「ストアイン型」キャッシュであり、
データを変更するためにL2キャッシュにアクセスする
動作が、L2キャッシュ中に存在するデータを変更しな
ければならないことを意味する。この規則に対する唯一
の例外として、その動作が入出力サブシステム514か
ら由来する場合、及びデータがL2キャッシュ528a
ではなくL3主記憶装置510a1510bにだけ存在
する場合、データは、L2キャッシュではなくL3主記
憶装置でだけ変更される。
データを変更するためにL2キャッシュにアクセスする
動作が、L2キャッシュ中に存在するデータを変更しな
ければならないことを意味する。この規則に対する唯一
の例外として、その動作が入出力サブシステム514か
ら由来する場合、及びデータがL2キャッシュ528a
ではなくL3主記憶装置510a1510bにだけ存在
する場合、データは、L2キャッシュではなくL3主記
憶装置でだけ変更される。
B5U32E3とL3主記憶装置610a1510bの
間のインターフェースは、第7図の単一8ビツト線の代
わりに、2本の16バイト線を含む。
間のインターフェースは、第7図の単一8ビツト線の代
わりに、2本の16バイト線を含む。
しかし、他のすべての点では、第7図の記憶装置510
は第8図の記憶装置510a1510bと同じである。
は第8図の記憶装置510a1510bと同じである。
2つのメモリ装置510a1510bは並列にアクセス
される。
される。
共用チャンネル・プロセッサ528は、2つの8バイト
・インターフェースを介してB5U326に接続されて
いる。共用チャンネル・プロセッサは、B5U328と
は独立な周波数で動作する。
・インターフェースを介してB5U326に接続されて
いる。共用チャンネル・プロセッサは、B5U328と
は独立な周波数で動作する。
B5U32e内のクロックは、第7図の記憶制御装置5
12と統合入出力サブシステム514の間のクロック同
期と同様な方式で共用チャンネル・プロセッサ528の
クロックと同期される。
12と統合入出力サブシステム514の間のクロック同
期と同様な方式で共用チャンネル・プロセッサ528の
クロックと同期される。
第7図を再び参照すると、命令は通常、L1命令キャッ
シュ518中に存在し、実行されるのを待っている。命
令/実行袋r11520は、Llキャッシュ518内に
あるディレクトリを探索して、命令が存在するかどうか
判定する。命令が存在しない場合、命令/実行装置52
0は、記憶制御装置512に対する記憶要求を生成する
。その命令のアドレス、または命令を含むキヤ、シュ行
が、記憶制御装置512に送られる。記憶制御装置51
2は、L3主記憶装置510に至るバスへのアクセスを
仲裁する。
シュ518中に存在し、実行されるのを待っている。命
令/実行袋r11520は、Llキャッシュ518内に
あるディレクトリを探索して、命令が存在するかどうか
判定する。命令が存在しない場合、命令/実行装置52
0は、記憶制御装置512に対する記憶要求を生成する
。その命令のアドレス、または命令を含むキヤ、シュ行
が、記憶制御装置512に送られる。記憶制御装置51
2は、L3主記憶装置510に至るバスへのアクセスを
仲裁する。
命令/実行装置520からの要求は、L3主記憶装置中
のある行を命令/実行装置520に転送するため取り出
すことを指示するコマンドの形で、L3主記憶装置51
0に渡される。L3主記憶装置1510は、要求をラッ
チして復号し、命令が記憶されるメモリ・カード内の位
置を選択し、その命令を8バイトの増分で記憶制御装置
512に渡す。その命令は次いで記憶制御装置512か
らL1命令キャッジ、518に転送され、命令/実行装
置520に最終的に転送される前に一時的に記憶される
。命令/実行装置520に到達した後、命令が復号され
る。その結果、L3主記憶装置510中に存在するオペ
ランドが実行を始めるのに必要であると指示されること
がある。この場合、命令/実行装置520はL1データ
・キャッシュ518でディレクトリを探索する。そのオ
ペランドがディレクトリで見つからない場合、命令/実
行装置520からL3主記憶装置610に対する記憶ア
クセスが出される。取り出されたオペランドは、記憶ア
クセスの結果としてL1データ・キャッシュに入力され
、命令/実行装置520で利用できるようになる。命令
がマイクロコードの使用を必要とする場合、命令/実行
装置520は、命令/実行装置カードに存在するマイク
ロコードを使用する。入出力(Ilo)動作が実行され
る場合、命令/実行装置520は、適切な復号を行ない
、情報がL3主記憶装置510の補助部分に記憶されて
いると統合入出力サブシステム514に通知することに
よって実行を始める。次いで、入出力サブシステム51
4と関連するプロセッサが、L3主記憶装置510にア
クセスして、情報を取り出し命令の実行を完了する。
のある行を命令/実行装置520に転送するため取り出
すことを指示するコマンドの形で、L3主記憶装置51
0に渡される。L3主記憶装置1510は、要求をラッ
チして復号し、命令が記憶されるメモリ・カード内の位
置を選択し、その命令を8バイトの増分で記憶制御装置
512に渡す。その命令は次いで記憶制御装置512か
らL1命令キャッジ、518に転送され、命令/実行装
置520に最終的に転送される前に一時的に記憶される
。命令/実行装置520に到達した後、命令が復号され
る。その結果、L3主記憶装置510中に存在するオペ
ランドが実行を始めるのに必要であると指示されること
がある。この場合、命令/実行装置520はL1データ
・キャッシュ518でディレクトリを探索する。そのオ
ペランドがディレクトリで見つからない場合、命令/実
行装置520からL3主記憶装置610に対する記憶ア
クセスが出される。取り出されたオペランドは、記憶ア
クセスの結果としてL1データ・キャッシュに入力され
、命令/実行装置520で利用できるようになる。命令
がマイクロコードの使用を必要とする場合、命令/実行
装置520は、命令/実行装置カードに存在するマイク
ロコードを使用する。入出力(Ilo)動作が実行され
る場合、命令/実行装置520は、適切な復号を行ない
、情報がL3主記憶装置510の補助部分に記憶されて
いると統合入出力サブシステム514に通知することに
よって実行を始める。次いで、入出力サブシステム51
4と関連するプロセッサが、L3主記憶装置510にア
クセスして、情報を取り出し命令の実行を完了する。
第8図のシステムもほぼ同様に動作する。命令/実行装
置520a、520bまたは520cのうちの特定の1
つが命令を要求し、それ自体の専用し1記憶キヤツシユ
を探索する。命令がキャッシュ中に存在しない場合、命
令/実行装置は、L2キャッシュを探索するため、B5
U326に対するアクセスを要求する。B5U328は
、命令/実行装置520a1520b及び520cのそ
れぞれ、共用チャンネル・プロセッサ528、及び統合
入出力サブシステム514から要求を受は取り、−時に
これらの装置の1つにアクセスを許可するアービタを含
む。命令/実行装置520 a1520b、520cの
うちの特定の1つが、L2キャッシュ526aを探索す
るためのB5U326に対するアクセスを許可されると
、選択された命令/実行装置は所望の命令を求めてL2
キャッシュ528aのディレクトリを探索する。所望の
命令が見つかると、その命令が単に前記の選択された命
令/実行装置に戻される。所望の命令がそのディレクト
リになく、L2キャッシュ526a内にないと示された
場合、所望の命令を求める要求がL3主記憶装置510
aまたは510bに送られる。所望の命令はL3主記憶
装置で見つかり、−時に16バイトずつ、B5U32B
に送られて、選択された命令/実行装置に渡され、同時
にB5U326のL2キャッシュ526aに記憶される
。
置520a、520bまたは520cのうちの特定の1
つが命令を要求し、それ自体の専用し1記憶キヤツシユ
を探索する。命令がキャッシュ中に存在しない場合、命
令/実行装置は、L2キャッシュを探索するため、B5
U326に対するアクセスを要求する。B5U328は
、命令/実行装置520a1520b及び520cのそ
れぞれ、共用チャンネル・プロセッサ528、及び統合
入出力サブシステム514から要求を受は取り、−時に
これらの装置の1つにアクセスを許可するアービタを含
む。命令/実行装置520 a1520b、520cの
うちの特定の1つが、L2キャッシュ526aを探索す
るためのB5U326に対するアクセスを許可されると
、選択された命令/実行装置は所望の命令を求めてL2
キャッシュ528aのディレクトリを探索する。所望の
命令が見つかると、その命令が単に前記の選択された命
令/実行装置に戻される。所望の命令がそのディレクト
リになく、L2キャッシュ526a内にないと示された
場合、所望の命令を求める要求がL3主記憶装置510
aまたは510bに送られる。所望の命令はL3主記憶
装置で見つかり、−時に16バイトずつ、B5U32B
に送られて、選択された命令/実行装置に渡され、同時
にB5U326のL2キャッシュ526aに記憶される
。
B5U326内に存在する追加の機能は、マルチプロセ
ッサ・システム内での記憶の整合性をはかる規則に関す
るものである。たとえば、特定の命令/実行装置520
c (プロセッサ)がデータを変更するとき、そのデー
タは、システム中の他のすべての命令/実行装置に見え
るようにならなければならない。プロセッサ520cが
それ自体のL1キャッシュ518cに記憶されたデータ
を変更する場合、B5U32BのL2キャッシュ・ディ
レクトリ526aでその特定のデータの探索が行なわれ
る。そのデータが見つかった場合、それが変更されて、
キャッシュ518c内の変更済みデータと整合性をもつ
ようになる。
ッサ・システム内での記憶の整合性をはかる規則に関す
るものである。たとえば、特定の命令/実行装置520
c (プロセッサ)がデータを変更するとき、そのデー
タは、システム中の他のすべての命令/実行装置に見え
るようにならなければならない。プロセッサ520cが
それ自体のL1キャッシュ518cに記憶されたデータ
を変更する場合、B5U32BのL2キャッシュ・ディ
レクトリ526aでその特定のデータの探索が行なわれ
る。そのデータが見つかった場合、それが変更されて、
キャッシュ518c内の変更済みデータと整合性をもつ
ようになる。
L2キャッシュ526a内の変更済みデータは可用性が
あるため、変更データはシステム内の他のプロセッサ5
20aと520bにとって使用可能であり、それらのプ
ロセッサはそれぞれそのL1キャッシュ518aと51
8b中に存在するデータを訂正することができる。他の
プロセッサ520aと520bがそれ自体のデータを変
更する機会を与えられるまで、プロセッサ520Cは特
定のデータに再アクセスできない。
あるため、変更データはシステム内の他のプロセッサ5
20aと520bにとって使用可能であり、それらのプ
ロセッサはそれぞれそのL1キャッシュ518aと51
8b中に存在するデータを訂正することができる。他の
プロセッサ520aと520bがそれ自体のデータを変
更する機会を与えられるまで、プロセッサ520Cは特
定のデータに再アクセスできない。
第9図を参照して、命令/実行装置520aの詳細につ
いて説明する。この装置は、前述の説明のように「プロ
セッサJ1 「命令処理装置」または「命令/実行装置
」など様々な名前で呼ばれることがある。以下の説明で
は、プロセッサという用語を使用する。
いて説明する。この装置は、前述の説明のように「プロ
セッサJ1 「命令処理装置」または「命令/実行装置
」など様々な名前で呼ばれることがある。以下の説明で
は、プロセッサという用語を使用する。
プロセッサ520aは、約84にバイトの高速固定制御
記憶装fiE520a−1a、8にバイト、2にワード
の4方向連想式ページ可能領域520a −1b 1ペ
ージ可能制御記憶装置520a−1b用のディレクトリ
520a−1c1制御記憶アドレス・レジスタ(C8A
R)520a−1d1及び8要素分岐/連結機能(BA
L 5TK)520a−1eをもつ制御記憶サブシス
テム520a−1を含む。マシン状態制御装置520a
−2は、プロセッサ用の大域制御装置520 a −2
81及び制御記憶起点アドレス・バスでC8ARに接続
され、マイクロコード化命令の初期アドレスを生成する
のに使用される動作分岐テーブル520a−2bを含む
。
記憶装fiE520a−1a、8にバイト、2にワード
の4方向連想式ページ可能領域520a −1b 1ペ
ージ可能制御記憶装置520a−1b用のディレクトリ
520a−1c1制御記憶アドレス・レジスタ(C8A
R)520a−1d1及び8要素分岐/連結機能(BA
L 5TK)520a−1eをもつ制御記憶サブシス
テム520a−1を含む。マシン状態制御装置520a
−2は、プロセッサ用の大域制御装置520 a −2
81及び制御記憶起点アドレス・バスでC8ARに接続
され、マイクロコード化命令の初期アドレスを生成する
のに使用される動作分岐テーブル520a−2bを含む
。
アドレス生成装置520a−3は、命令キャッジ、DL
AT/ディレクトリ520 a 38 %データ・キ
ャッシュDLAT/デイレクト’J 520 a −3
b1及びアドレス・バスを介してL1キャッシュ518
aに接続されたアドレス生成チップ520a−3cの3
つのチップを含む。命令DLAT/ディレクトリ520
a−3aは、4本の命令「ヒツト」線を介して、L1キ
ャッシュ518aの命令キャッシュ部分518a−1a
に接続されている。
AT/ディレクトリ520 a 38 %データ・キ
ャッシュDLAT/デイレクト’J 520 a −3
b1及びアドレス・バスを介してL1キャッシュ518
aに接続されたアドレス生成チップ520a−3cの3
つのチップを含む。命令DLAT/ディレクトリ520
a−3aは、4本の命令「ヒツト」線を介して、L1キ
ャッシュ518aの命令キャッシュ部分518a−1a
に接続されている。
命令「ヒツト」線は、要求された命令が、L1キャッシ
ュ518aの命令キャッシュ部分518a−1aで見つ
かることを示す。同様に、要求されたデータがデータ・
キャッシュ部分518a−2b内にあることを示す4本
の「ヒツト」線が、データDLAT/ディレクトリ62
0a−3bをL1キャッシュ518aのデータ・キャッ
シュ部分518a−2bに接続する。アドレス生成装置
520a−3は、部分520a−3dでアトL/Xを生
成するのに使用される16個の汎用目的レジスタのコピ
ーを含む。部分520a−3eは、命令実行のためマイ
クロコードにアドレスするのに使用される3つの記憶ア
ドレス・レジスタを含む。
ュ518aの命令キャッシュ部分518a−1aで見つ
かることを示す。同様に、要求されたデータがデータ・
キャッシュ部分518a−2b内にあることを示す4本
の「ヒツト」線が、データDLAT/ディレクトリ62
0a−3bをL1キャッシュ518aのデータ・キャッ
シュ部分518a−2bに接続する。アドレス生成装置
520a−3は、部分520a−3dでアトL/Xを生
成するのに使用される16個の汎用目的レジスタのコピ
ーを含む。部分520a−3eは、命令実行のためマイ
クロコードにアドレスするのに使用される3つの記憶ア
ドレス・レジスタを含む。
固定小数点命令装置520a−4は、データ・バス(D
バス)でデータ・キャッシュ518a−2に接続されて
いる。固定小数点命令alf520a−4は、ローカル
記憶スタック520a−4aを含み、ローカル記憶スタ
ックは、18個の汎用レジスタとマイクロコードによっ
て作業用レジスタとして専用に使用される他のい(つか
のレジスタとを含む。条件レジスタ520a−4bは、
数個の算術演算及びシフト動作の結果、ならびにIBM
システム370型条件コードの結果を含む。
バス)でデータ・キャッシュ518a−2に接続されて
いる。固定小数点命令alf520a−4は、ローカル
記憶スタック520a−4aを含み、ローカル記憶スタ
ックは、18個の汎用レジスタとマイクロコードによっ
て作業用レジスタとして専用に使用される他のい(つか
のレジスタとを含む。条件レジスタ520a−4bは、
数個の算術演算及びシフト動作の結果、ならびにIBM
システム370型条件コードの結果を含む。
固定小数点命令装置520a−4は、4バイトの演算論
理袋a (ALU)520a−4c、8バイトの回転組
合せ装置520a−4d、及び様々のレジスタから分岐
動作の方向を決定するビットを選択することができる分
岐ビット選択ハードウェア520a−4eを含む。それ
らのビットは、汎用レジスタ、作業用レジスタ、及び条
件レジスタから選択される。
理袋a (ALU)520a−4c、8バイトの回転組
合せ装置520a−4d、及び様々のレジスタから分岐
動作の方向を決定するビットを選択することができる分
岐ビット選択ハードウェア520a−4eを含む。それ
らのビットは、汎用レジスタ、作業用レジスタ、及び条
件レジスタから選択される。
浮動小数点プロセッサ520a−5は、浮動小数点レジ
スタと4つのマイクロコード作業用レジスタ520a−
5e1コマンド復号/制御機能520a−5a1浮動小
数点加算器520a−5b。
スタと4つのマイクロコード作業用レジスタ520a−
5e1コマンド復号/制御機能520a−5a1浮動小
数点加算器520a−5b。
固定小数点/浮動小数点乗算アレイ520a−5c1及
び平方根/除算機能520a−5dを含む。
び平方根/除算機能520a−5dを含む。
浮動小数点プロセッサ520a−5は、1987年9月
30日出願の関連米国特許出願第077102985号
「浮動小数点単一命令単一ストリーム・データ・アーキ
テクチャ用の動的多重命令ストリーム、多重データ多重
パイプライン装置(Dynamic Multipl
e In5truction StreamsMu
ltiple Data Multiple Pipe
ltne Apparatusfor Floatin
g Po1nt Single In5tructi
on SingleStream Data Arch
itecture) Jにより詳細に記載されている。
30日出願の関連米国特許出願第077102985号
「浮動小数点単一命令単一ストリーム・データ・アーキ
テクチャ用の動的多重命令ストリーム、多重データ多重
パイプライン装置(Dynamic Multipl
e In5truction StreamsMu
ltiple Data Multiple Pipe
ltne Apparatusfor Floatin
g Po1nt Single In5tructi
on SingleStream Data Arch
itecture) Jにより詳細に記載されている。
この開示を引用により本明細書に組み込む。
ALU520a−4cは、1987年8月28日出願の
関連米国特許出願第071088580号「高性能並列
2進バイト加算器(A旧ghPerformance
Parallel Binary Byte
Adder) J に記載される加算器を含む。こ
の開示を引用により本明細書に組み込む。
関連米国特許出願第071088580号「高性能並列
2進バイト加算器(A旧ghPerformance
Parallel Binary Byte
Adder) J に記載される加算器を含む。こ
の開示を引用により本明細書に組み込む。
外部チップ520a−8は、タイマと入出力サブシステ
ム614aその他の発生源からの割込みを処理するため
の割込み構造とを含む。プロセッサ間通信機能(IPC
)520a−7は、通信バスを介して記憶サブシステム
に接続され、したがってプロセッサはメツセージを互い
に送ることができ、時刻クロックにアクセスできる。
ム614aその他の発生源からの割込みを処理するため
の割込み構造とを含む。プロセッサ間通信機能(IPC
)520a−7は、通信バスを介して記憶サブシステム
に接続され、したがってプロセッサはメツセージを互い
に送ることができ、時刻クロックにアクセスできる。
第9図に示したシステムのL1キャッシュは、18にバ
イト4方向キャッシュ518a−1aその出力端にある
16バイト命令バッファ518a−1b1及び記憶装置
からの入力端にある8バイト・インページ・レジスタ5
18a−1cを含む命令キャッシュ518a−1を含む
。インページ・レジスタ518a−1cの所で命令キャ
ッシュ518a−1に接続されている記憶バスは、幅8
バイトである。記憶バスの他端は、制御記憶サブシステ
ム520a−1に接続され、ページ可能制御記憶装置ミ
スで新しいデータを制御記憶装置に入れなければならな
い場合にデータをサブシステムに提供する。
イト4方向キャッシュ518a−1aその出力端にある
16バイト命令バッファ518a−1b1及び記憶装置
からの入力端にある8バイト・インページ・レジスタ5
18a−1cを含む命令キャッシュ518a−1を含む
。インページ・レジスタ518a−1cの所で命令キャ
ッシュ518a−1に接続されている記憶バスは、幅8
バイトである。記憶バスの他端は、制御記憶サブシステ
ム520a−1に接続され、ページ可能制御記憶装置ミ
スで新しいデータを制御記憶装置に入れなければならな
い場合にデータをサブシステムに提供する。
データ・キャッジ5518a−2は、やはり記憶バスに
接続されたインページ・バッファ518a−2,16に
4方向キヤツシユであるデータ・キャッシュ518a−
2b、複数の入出力レジスタをもち、8バイトのデータ
・バス(Dパス)を介してプロセッサに接続され、8バ
イトのベクトル・バスを介してベクトル・プロセッサ5
22aに接続された、キャッシュ・データあふれ機能5
18a−2ct及び8要素記憶バツフy(STORBF
R)518a−2dを含む。
接続されたインページ・バッファ518a−2,16に
4方向キヤツシユであるデータ・キャッシュ518a−
2b、複数の入出力レジスタをもち、8バイトのデータ
・バス(Dパス)を介してプロセッサに接続され、8バ
イトのベクトル・バスを介してベクトル・プロセッサ5
22aに接続された、キャッシュ・データあふれ機能5
18a−2ct及び8要素記憶バツフy(STORBF
R)518a−2dを含む。
システム動作は、命令キャッシュ518a−1a中にあ
る命令の実行で始まる。その命令は命令キャッシュ51
8a−1aから取り出され、命令バッファ518a−1
bに記憶される。システムの最終的動作速度は、命令バ
ッフy518a−1b中の命令が実行の準備ができてい
るかどうかによって決まるので、命令バッファを常に一
杯にしておくためあらゆる試みが行なわれている。
る命令の実行で始まる。その命令は命令キャッシュ51
8a−1aから取り出され、命令バッファ518a−1
bに記憶される。システムの最終的動作速度は、命令バ
ッフy518a−1b中の命令が実行の準備ができてい
るかどうかによって決まるので、命令バッファを常に一
杯にしておくためあらゆる試みが行なわれている。
命令は命令バッファ518a−1bから取り出されて、
アドレス生成チップ520a−3の命令レジスタ520
a−3f、固定小数点実行装置520a−4の命令レジ
スタ520a−4f、及びマシン状態制御装置520a
−2の命令レジスタ520a−2cに記憶され、その時
点で命令復号が始まる。
アドレス生成チップ520a−3の命令レジスタ520
a−3f、固定小数点実行装置520a−4の命令レジ
スタ520a−4f、及びマシン状態制御装置520a
−2の命令レジスタ520a−2cに記憶され、その時
点で命令復号が始まる。
オペランドが必要な場合、オペランドは、アドレス生成
装置520a−3のGPRC0PY装置520a−3d
から取り出される。通常、GPRC0PYは、RX命令
の基底レジスタ及び指標レジスタにオペランドが必要な
場合にアクセスされる。
装置520a−3のGPRC0PY装置520a−3d
から取り出される。通常、GPRC0PYは、RX命令
の基底レジスタ及び指標レジスタにオペランドが必要な
場合にアクセスされる。
次のサイクルでアドレス生成処理が始まる。基底レジス
タ及び指標レジスタの内容が、命令から誘導された変位
フィールドに追加され、その結果有効アドレスが生成さ
れ、データ・キャッシュ518a−2または命令キャッ
シュ518a−1あるいはその両方に送られる。オペラ
ンドをシークする場合、有効アドレスがデータDLAT
/ディレクトリ・チップ520a−3bに送られる。
タ及び指標レジスタの内容が、命令から誘導された変位
フィールドに追加され、その結果有効アドレスが生成さ
れ、データ・キャッシュ518a−2または命令キャッ
シュ518a−1あるいはその両方に送られる。オペラ
ンドをシークする場合、有効アドレスがデータDLAT
/ディレクトリ・チップ520a−3bに送られる。
第3サイクルでキャッシュ及びディレクトリへのアクセ
スが始まる。DLAT520a−3bは、そのアドレス
が実行アドレスから絶対アドレスに変換可能であるかど
うかを判定する。変換が実行された後、変換済みアドレ
スがキャッシュ・ディレクトリ520a−3bの出力と
比較される。データが以前にキャッシュ518a−2b
に取り出されていた場合は、ディレクトリ出力とDLA
T出力が比較され、それらが同じ場合、データDLAT
/ディレクトリ520a−3bから4本の「ヒツト」線
のうちの1つが生成される。ヒツト線はデータ・キャッ
シュ518a−2bに接続されているので、生成された
ヒツト線は、検索したいデータが4つの連想クラスのど
れに含まれるかを示す。
スが始まる。DLAT520a−3bは、そのアドレス
が実行アドレスから絶対アドレスに変換可能であるかど
うかを判定する。変換が実行された後、変換済みアドレ
スがキャッシュ・ディレクトリ520a−3bの出力と
比較される。データが以前にキャッシュ518a−2b
に取り出されていた場合は、ディレクトリ出力とDLA
T出力が比較され、それらが同じ場合、データDLAT
/ディレクトリ520a−3bから4本の「ヒツト」線
のうちの1つが生成される。ヒツト線はデータ・キャッ
シュ518a−2bに接続されているので、生成された
ヒツト線は、検索したいデータが4つの連想クラスのど
れに含まれるかを示す。
次のサイクルで、データ・キャッシユ518a−2bの
出力がキャッシュ・データ518a−2cの取出し位置
合せシックにゲートされ、適当にシフトされ、Dバスを
介して固定小数点実行装置520a−4に転送され、そ
こでALU520a−4Cにラッチされる。これが、R
X型命令のオペランド2のアクセスである。
出力がキャッシュ・データ518a−2cの取出し位置
合せシックにゲートされ、適当にシフトされ、Dバスを
介して固定小数点実行装置520a−4に転送され、そ
こでALU520a−4Cにラッチされる。これが、R
X型命令のオペランド2のアクセスである。
このシフト処理と同時に、ローカル記憶装置520a−
4aの汎用レジスタからオペランド1がアクセスされる
。その結果、2つのオペランドが、必要な場合、ALU
520a−4cの入力にラッチされる。第5サイクルで
、ALU520a−40は、命令コードによって指令さ
れた通りに2つのオペランドを処理(加算、減算、乗算
、除算など)する。第5のサイクルの終わりに、ALU
520a−4cの出力がラッチされ、条件レジスタ52
0a−4bがラッチされてゼロまたはあふれ状態を示す
。第6サイクルで、ALU520a−4cの出力が、ロ
ーカル記憶装置520a−4aとアドレス生成装置52
0a−3のGPRC0PY520a−3dに書き戻され
て、GPRCOPY520a−3dをローカル記憶装置
520a−4aの内容と同期させる。この命令の復号サ
イクルが完了すると、次の命令の復号サイクルが始まり
、最高6つの命令でいつでも復号または実行処理を行な
うことができる。
4aの汎用レジスタからオペランド1がアクセスされる
。その結果、2つのオペランドが、必要な場合、ALU
520a−4cの入力にラッチされる。第5サイクルで
、ALU520a−40は、命令コードによって指令さ
れた通りに2つのオペランドを処理(加算、減算、乗算
、除算など)する。第5のサイクルの終わりに、ALU
520a−4cの出力がラッチされ、条件レジスタ52
0a−4bがラッチされてゼロまたはあふれ状態を示す
。第6サイクルで、ALU520a−4cの出力が、ロ
ーカル記憶装置520a−4aとアドレス生成装置52
0a−3のGPRC0PY520a−3dに書き戻され
て、GPRCOPY520a−3dをローカル記憶装置
520a−4aの内容と同期させる。この命令の復号サ
イクルが完了すると、次の命令の復号サイクルが始まり
、最高6つの命令でいつでも復号または実行処理を行な
うことができる。
ある種の命令は、実行を完了するためにマイクロコード
を使用しなければならない。したがって、復号サイクル
中に、命令からの命令コードをアドレスとして使って、
命令分岐テーブル520a−2bが探索される。すなわ
ち、命令分岐テーブルがアクセスされると、命令を実行
するのに必要なマイクロコード・ルーチンの開始アドレ
スを供給する。これらの命令及び他のある種の命令は、
完了までに数サイクルを要する。そうした場合、命令分
岐テーブルの探索中、命令の復号は中断される。マイク
ロコードの場合、■パスを使って、マイクロ命令が復号
ハードウェアに送られる。命令キャッシュ518a−1
aが遮断され、制御記憶装置520a−1aがオンにな
り、マイクロ命令が■バスを介して渡される。浮動小数
点命令の場合は、アドレス生成サイクル中に、実行すべ
き適切な動作を指示し識別するコマンドが浮動小数点装
置520a−5に送られる魚具外は、前記と同様に復号
が進行する。浮動小数点命令の実行が開始され、完了す
ると、その結果が、固定小数点実行装置520a−4に
戻される。この場合の「結果」は、条件コード、及びあ
ふれなどの割込み条件である。
を使用しなければならない。したがって、復号サイクル
中に、命令からの命令コードをアドレスとして使って、
命令分岐テーブル520a−2bが探索される。すなわ
ち、命令分岐テーブルがアクセスされると、命令を実行
するのに必要なマイクロコード・ルーチンの開始アドレ
スを供給する。これらの命令及び他のある種の命令は、
完了までに数サイクルを要する。そうした場合、命令分
岐テーブルの探索中、命令の復号は中断される。マイク
ロコードの場合、■パスを使って、マイクロ命令が復号
ハードウェアに送られる。命令キャッシュ518a−1
aが遮断され、制御記憶装置520a−1aがオンにな
り、マイクロ命令が■バスを介して渡される。浮動小数
点命令の場合は、アドレス生成サイクル中に、実行すべ
き適切な動作を指示し識別するコマンドが浮動小数点装
置520a−5に送られる魚具外は、前記と同様に復号
が進行する。浮動小数点命令の実行が開始され、完了す
ると、その結果が、固定小数点実行装置520a−4に
戻される。この場合の「結果」は、条件コード、及びあ
ふれなどの割込み条件である。
第9図のシステムはパイプライン方式で動作する。パイ
プラインのレベル1は命令復号と呼ばれる。RX命令の
場合、1つのオペランドがメモリにあるが、GPRC0
PY520a−3dのために基底レジスタ及び指標レジ
スタの内容を獲得しなければならない。変位フィールド
が基底レジスタ及び指標レジスタに追加される。次のサ
イクルの始めに、基底フィールド、指標フィールド及び
変位フィールドの追加が完了して、有効アドレスをもた
らす。この有効アドレスがDLAT/ディレクトリ・チ
ップ520a−3a1520a−3bに送られる。有効
アドレスの高位部分は変換しなければならないが、低位
部分は変換されず、キャッシュ518a−1a1518
a−2bに送られる。第3サイクルで、キャッシュは、
獲得したビットを用いてアクセス動作を始める。絶対ア
ドレスを獲得するため、仮想アドレスを用いてDLAT
/ディレクトリが探索される。この絶対アドレスが、キ
ャッシュ・ディレクトリに保持されている絶対アドレス
と比較される。この比較が一致した場合、「ヒツト」行
が生成され、キャッシュ・チップ518a−1a151
8a−2bに送られる。その間に、キャッシュ・チップ
は4つの連想クラスすべてにアクセスして、出力をそれ
に応じてラッチする。第4サイクルで、4つの「スロッ
ト」または連想クラスの1つが選択され、データが位置
合せされ、データ・バスを介して固定または浮動小数点
プロセッサ520a−41520a−5に送られる。こ
のようにして、第4サイクルの終わりに、1つのオペラ
ンドがALU520a−4c入力端にラッチされる。
プラインのレベル1は命令復号と呼ばれる。RX命令の
場合、1つのオペランドがメモリにあるが、GPRC0
PY520a−3dのために基底レジスタ及び指標レジ
スタの内容を獲得しなければならない。変位フィールド
が基底レジスタ及び指標レジスタに追加される。次のサ
イクルの始めに、基底フィールド、指標フィールド及び
変位フィールドの追加が完了して、有効アドレスをもた
らす。この有効アドレスがDLAT/ディレクトリ・チ
ップ520a−3a1520a−3bに送られる。有効
アドレスの高位部分は変換しなければならないが、低位
部分は変換されず、キャッシュ518a−1a1518
a−2bに送られる。第3サイクルで、キャッシュは、
獲得したビットを用いてアクセス動作を始める。絶対ア
ドレスを獲得するため、仮想アドレスを用いてDLAT
/ディレクトリが探索される。この絶対アドレスが、キ
ャッシュ・ディレクトリに保持されている絶対アドレス
と比較される。この比較が一致した場合、「ヒツト」行
が生成され、キャッシュ・チップ518a−1a151
8a−2bに送られる。その間に、キャッシュ・チップ
は4つの連想クラスすべてにアクセスして、出力をそれ
に応じてラッチする。第4サイクルで、4つの「スロッ
ト」または連想クラスの1つが選択され、データが位置
合せされ、データ・バスを介して固定または浮動小数点
プロセッサ520a−41520a−5に送られる。こ
のようにして、第4サイクルの終わりに、1つのオペラ
ンドがALU520a−4c入力端にラッチされる。
その間、プロセッサでは、他の命令が実行されている。
別のオペランドを獲得するため、GPRCOPY520
a−3d及びローカル記憶装置520a−4aがアクセ
スされる。この時点で、両方のオペランドがALU52
0a−4cの入力端でラッチされる。計算を行ない、条
件レジスタを設定し、最後にCPRC0PY520a−
3dの汎用レジスタに結果を書き込むのに1サイクルか
かる。アドレス計算のためにこの結果が、必要となるこ
とがあり、その場合、その結果はAGEN ADDE
R520a−3cに入力される。
a−3d及びローカル記憶装置520a−4aがアクセ
スされる。この時点で、両方のオペランドがALU52
0a−4cの入力端でラッチされる。計算を行ない、条
件レジスタを設定し、最後にCPRC0PY520a−
3dの汎用レジスタに結果を書き込むのに1サイクルか
かる。アドレス計算のためにこの結果が、必要となるこ
とがあり、その場合、その結果はAGEN ADDE
R520a−3cに入力される。
ある種の命令の実行中には、キャッジ、518a−1a
1518a−2bへのアクセスが不要である。そうした
場合、命令復号が完了すると、その結果が実行装置に直
接波され、キャッシュに対するアクセスの追加の遅延は
ない。したがって、ある命令が復号され、アドレス生成
チップ520a−3に渡されるとすぐに、別の命令が復
号される。
1518a−2bへのアクセスが不要である。そうした
場合、命令復号が完了すると、その結果が実行装置に直
接波され、キャッシュに対するアクセスの追加の遅延は
ない。したがって、ある命令が復号され、アドレス生成
チップ520a−3に渡されるとすぐに、別の命令が復
号される。
E0発明の効果
本発明により、ストアイン型またはストアスルー型キャ
ッシュを利用する単一または複数プロセッサ・システム
と互換性のあるチェックポイント再試行機能が提供され
る。
ッシュを利用する単一または複数プロセッサ・システム
と互換性のあるチェックポイント再試行機能が提供され
る。
第1図は、本発明の命令再試行によって改良されたデー
タ処理システムの2つの形の概略構成図である。 第2図は、命令再試行サブシステムの構成図である。 第3a図は、記憶バッファの構成を示す説明図である。 第3b図は、記憶バッフ1の特定の位置の様々な形を示
す説明図である。 第4a図は、記憶バッファによって処理されているとき
の、プロセッサ取出し要求の動作シーケンスの流れ図で
ある。 第4b図は、データ取出し要求の動作シーケンスのπれ
図である。 第4c図は、命令取出し要求の動作シーケンスの流れ図
である。 第5図は、本発明による命令再試行システムの汎用レジ
スタのバッファ構成の概略ブロック図である。 第6図は、本発明による命令再試行システムのプログラ
ム状況ワード・スタックの概略ブロック図である。 第7図は、本発明の命令再試行に使用される単一プロセ
ッサ・コンピュータ・システムのシステム構成図である
。 第8図は、本発明の命令再試行に使用されるマルチプロ
セッサ(3台のプロセッサ、すなわち、3 連成)コン
ピュータ・システムのシステム構成図である。 第9図は、第8図に示したコンピュータ・システムの詳
細なシステム構成図である。 1・・・・命令処理装置、2・・・・命令事前処理装置
(IPPU)、3・・・・固定小数点実行処理装置(E
PU)、20・・・・命令キャッシュ装置、30・・・
・EXT/FRU、40・・・・チャンネル・サブシス
テム、100・・・・記憶サブシステム、101・・・
・L1キャッシュ、105・・・・L1記憶バッファ、
150・・・・L2記憶待ち行列、160・・・・書込
みバッファ、170・・・・L2キャッシュ、180・
・・・主記憶装置(L3)、190・・・・L3制御装
置、195・・・・書込みバッファ/L3記憶待ち行列
。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーシーン 代理人 弁理士 頓 宮 孝 −(外1名) 第21i11 L−−−−−J GPR完了ポインタ 第6a図 第5bIilI! 記V□(フファ拳スロフト データ−2つの16m数字はとれもデータ値である。
タ処理システムの2つの形の概略構成図である。 第2図は、命令再試行サブシステムの構成図である。 第3a図は、記憶バッファの構成を示す説明図である。 第3b図は、記憶バッフ1の特定の位置の様々な形を示
す説明図である。 第4a図は、記憶バッファによって処理されているとき
の、プロセッサ取出し要求の動作シーケンスの流れ図で
ある。 第4b図は、データ取出し要求の動作シーケンスのπれ
図である。 第4c図は、命令取出し要求の動作シーケンスの流れ図
である。 第5図は、本発明による命令再試行システムの汎用レジ
スタのバッファ構成の概略ブロック図である。 第6図は、本発明による命令再試行システムのプログラ
ム状況ワード・スタックの概略ブロック図である。 第7図は、本発明の命令再試行に使用される単一プロセ
ッサ・コンピュータ・システムのシステム構成図である
。 第8図は、本発明の命令再試行に使用されるマルチプロ
セッサ(3台のプロセッサ、すなわち、3 連成)コン
ピュータ・システムのシステム構成図である。 第9図は、第8図に示したコンピュータ・システムの詳
細なシステム構成図である。 1・・・・命令処理装置、2・・・・命令事前処理装置
(IPPU)、3・・・・固定小数点実行処理装置(E
PU)、20・・・・命令キャッシュ装置、30・・・
・EXT/FRU、40・・・・チャンネル・サブシス
テム、100・・・・記憶サブシステム、101・・・
・L1キャッシュ、105・・・・L1記憶バッファ、
150・・・・L2記憶待ち行列、160・・・・書込
みバッファ、170・・・・L2キャッシュ、180・
・・・主記憶装置(L3)、190・・・・L3制御装
置、195・・・・書込みバッファ/L3記憶待ち行列
。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーシーン 代理人 弁理士 頓 宮 孝 −(外1名) 第21i11 L−−−−−J GPR完了ポインタ 第6a図 第5bIilI! 記V□(フファ拳スロフト データ−2つの16m数字はとれもデータ値である。
Claims (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 true JPH0227440A (ja) | 1990-01-30 |
| JPH0752399B2 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) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
| JP2003015956A (ja) * | 2001-07-03 | 2003-01-17 | Nec Corp | 障害回復機能を備えたキャッシュシステムとそのキャッシュ制御方法 |
Families Citing this family (64)
| 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 | 情報処理装置 |
| 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 |
| US5740398A (en) * | 1993-10-18 | 1998-04-14 | Cyrix Corporation | Program order sequencing of data in a microprocessor with 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 |
| WO1995034860A1 (en) * | 1994-06-10 | 1995-12-21 | Sequoia Systems, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
| 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 | 株式会社東芝 | メモリ状態復元装置 |
| 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 |
| US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
| 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 | 株式会社日立製作所 | データベース処理方法 |
| 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 |
| US6061755A (en) * | 1997-04-14 | 2000-05-09 | International Business Machines Corporation | Method of layering cache and architectural specific functions to promote operation symmetry |
| 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 |
| US20030220929A1 (en) * | 2002-01-22 | 2003-11-27 | Columbia Data Products, Inc. | Managing finite data storage utilizing preservation weights |
| US7237075B2 (en) * | 2002-01-22 | 2007-06-26 | Columbia Data Products, Inc. | Persistent snapshot methods |
| 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 |
| US7735088B1 (en) | 2003-08-18 | 2010-06-08 | Cray Inc. | Scheduling synchronization of programs running as streams on multiple processors |
| US7503048B1 (en) | 2003-08-18 | 2009-03-10 | Cray Incorporated | Scheduling synchronization of programs running as streams on multiple processors |
| US8307194B1 (en) | 2003-08-18 | 2012-11-06 | Cray Inc. | Relaxed memory consistency model |
| US7437521B1 (en) | 2003-08-18 | 2008-10-14 | Cray Inc. | Multistream processing memory-and barrier-synchronization 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 |
| US7543133B1 (en) | 2003-08-18 | 2009-06-02 | Cray Inc. | Latency tolerant distributed shared memory multiprocessor computer |
| 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 |
| US7366873B1 (en) * | 2003-08-18 | 2008-04-29 | Cray, Inc. | Indirectly addressed vector load-operate-store method and apparatus |
| 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 |
| WO2008118613A1 (en) * | 2007-03-01 | 2008-10-02 | Microsoft Corporation | Executing tasks through multiple processors consistently with dynamic assignments |
| JP2008299501A (ja) * | 2007-05-30 | 2008-12-11 | Sanyo Electric Co Ltd | プロセッサ |
| 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 |
| US8108619B2 (en) * | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
| 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 |
| 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 |
| US8250307B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Sourcing differing amounts of prefetch data in response to data prefetch requests |
| 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 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS503553A (ja) * | 1973-05-14 | 1975-01-14 | ||
| JPS638835A (ja) * | 1986-06-27 | 1988-01-14 | Yokogawa Hewlett Packard Ltd | 障害回復方法 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
-
1989
- 1989-04-20 JP JP1099053A patent/JPH0752399B2/ja not_active Expired - Lifetime
- 1989-05-17 DE DE68923490T patent/DE68923490T2/de not_active Expired - Fee Related
- 1989-05-17 EP EP89108811A patent/EP0348652B1/en not_active Expired - Lifetime
-
1990
- 1990-10-04 US US07/592,624 patent/US5418916A/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS503553A (ja) * | 1973-05-14 | 1975-01-14 | ||
| JPS638835A (ja) * | 1986-06-27 | 1988-01-14 | Yokogawa Hewlett Packard Ltd | 障害回復方法 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
| JP2003015956A (ja) * | 2001-07-03 | 2003-01-17 | Nec Corp | 障害回復機能を備えたキャッシュシステムとそのキャッシュ制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0348652A2 (en) | 1990-01-03 |
| US5418916A (en) | 1995-05-23 |
| DE68923490T2 (de) | 1996-03-07 |
| EP0348652A3 (en) | 1991-05-08 |
| EP0348652B1 (en) | 1995-07-19 |
| DE68923490D1 (de) | 1995-08-24 |
| JPH0752399B2 (ja) | 1995-06-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0227440A (ja) | 記憶システム | |
| US5202972A (en) | Store buffer apparatus in a multiprocessor system | |
| US5291586A (en) | Hardware implementation of complex data transfer instructions | |
| EP0329942B1 (en) | Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage | |
| 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 | |
| KR100204741B1 (ko) | 제1및 제2캐시 메모리 사용방법 | |
| US6651163B1 (en) | Exception handling with reduced overhead in a multithreaded multiprocessing system | |
| US5699551A (en) | Software invalidation in a multiple level, multiple cache system | |
| US5649090A (en) | Fault tolerant multiprocessor computer system | |
| CA1325290C (en) | Write back buffer with error correcting capabilities | |
| JP2557174B2 (ja) | データのセット位置の予測装置 | |
| US5590309A (en) | Storage protection cache and backing storage having system control element data cache pipeline and storage protection bits in a stack array with a stack directory for the stack array | |
| JPS6353571B2 (ja) | ||
| CA2240616C (en) | Cache address generation | |
| GB2378278A (en) | Memory snapshot as a background process allowing write requests | |
| US6282635B1 (en) | Method and apparatus for controlling an instruction pipeline in a data processing system | |
| EP0348616B1 (en) | Storage subsystem including an error correcting cache | |
| JP3170472B2 (ja) | レジスタ・リマップ構造を有する情報処理システム及び方法 | |
| EP0375892B1 (en) | Data processing system | |
| JPH05165663A (ja) | データ処理装置 | |
| JP3804823B2 (ja) | 障害回復機能を備えたキャッシュシステムとそのキャッシュ制御方法 | |
| JPH0133856B2 (ja) | ||
| EP0407053B1 (en) | Small, fast, look-aside data cache memory | |
| IE901529A1 (en) | Write back buffer with error correcting capabilities |