JPS63293639A - 順序正しくないフエツチをモニタするための装置 - Google Patents

順序正しくないフエツチをモニタするための装置

Info

Publication number
JPS63293639A
JPS63293639A JP63093613A JP9361388A JPS63293639A JP S63293639 A JPS63293639 A JP S63293639A JP 63093613 A JP63093613 A JP 63093613A JP 9361388 A JP9361388 A JP 9361388A JP S63293639 A JPS63293639 A JP S63293639A
Authority
JP
Japan
Prior art keywords
address
order
fetch
fetches
stack
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
Application number
JP63093613A
Other languages
English (en)
Other versions
JPH0552968B2 (ja
Inventor
フイリツプ・ジヨージ・エマ
ジユシユワ・ウイリソン・ナイト、サード
ジエームズ・ハーバート・ポマーリン
ルドルフ・ネイザン・リクスチヤーフアン
フランク・ジヨン・スパラシオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS63293639A publication Critical patent/JPS63293639A/ja
Publication of JPH0552968B2 publication Critical patent/JPH0552968B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はプログラム記憶式ディジタル・コンピュータに
関し、更に具体的にいうと、順序正しいオペランド・フ
ェッチを必要とするコンピュータ・アーキテクチャにお
いて、プロセッサに対しては順序正しいフェッチが行な
われていると見せかけながら、順序正しくないオペラン
ド・フェッチを許容するディジタル装置に関する0本発
明は特にパイプライン式マルチプロセッサ・システムで
有用であり、所与のプロセッサ・ハードウェア設計でプ
ロセッサの性能を向上させることができる。
B、従来の技術 成るプロセッサ設計では、順序を変えて動作を行なわせ
ることによって性能上の利点を得ることができる。命令
セットの意味上の制限及び正しい結果を出すためには動
作を勝手に再構成できないようになっている順序上の制
限のため、プログラマはしばしばこのような動作の再構
成を利用することができない。
緊密に結合されたマルチプロセッサ・システムでは、動
作順序が狂うことによってデッドロック又は誤りのある
結果が生じる可能性がかなりある。
例えば、IBM  S/370アーキテクチヤでは。
動作はプログラムの順序どおりに行なわれるか又は順序
どおりに行なわれているように見えることが必要である
。特にオペランドのフェッチは順序正しく行なわれてい
るように見える必要があり、現在のプロセッサは現実に
オペランド・フェッチを順序どおり行なうことによって
この規則に従っている。
パイプライン式プロセッサでは、記憶命令のすぐ後にフ
ェッチが行なわれる場合に生じうる1種の順序外れ状態
をチェックすることが標準的に行なわれている。この場
合は、フェッチが正しくない順序で行なわれるのではな
くて、記憶の完了がパイプラインの中で遅れて生じるた
めのものである。従って、次のフェッチが行なわれる時
に記憶の結果がまだメモリ又はキャッシュに反映されて
いないことが起こりうる。この状態は、開始したがまだ
完了していない記憶動作のアドレスを保管し、次のフェ
ッチ・アドレスをこれらの記憶アドレスと比較すること
によってチェックされるが、これは゛オペランド記憶比
較″と呼ばれる機構である。アドレス一致したフェッチ
は記憶動作が完了するまで実行停止される。オペランド
記憶比較はパイプラインの長さによって決まる成る限ら
れた時間間隔だけ適用される。記憶動作がパイプライン
の完了点に到達すると、その記憶アドレスはオペランド
記憶比較の対象から取り除かれる。
米国特許第4484267号は成るキャッシュのライン
をストア・イン即ちメイン・メモリの更新を遅延させる
ものとして扱い、他のラインをストア・スルー即ちメイ
ン・メモリの更新を直ちに行なうものとして扱うように
したハイブリッド・キャッシュを示している。各ライン
がどのように扱われるかは動的に決められ、キャッシュ
・ディレクトリのフラグ・ビットによって示される。こ
のビットは例えば相互問合せのビットによってリセット
される。
米国特許第4189770号は可変長フィールド・オペ
ランドに対するキャッシュ・ミスの場合にそのライン全
体がメイン・メモリからキャッシュに転送されるのを待
たずにオペランドを直接命令ユニットに送るようにした
バイパス構成を示している。しかしこの米国特許はキャ
ッシュの動作には触れておらず、また順序外れのフェッ
チについても何も教示していない。
米国特許第4435759号はプロセッサの動作中の事
象を捕捉し記録するためのモニタ・システムを示してい
る。捕捉される事象の中には命令のアドレス及びキャッ
シュ・ミスが含まれる。
米国特許第4400770号はキャッシュ・シノニムを
検出し処理するための手段を示している。
キャッシュ・シノニムは、速度及び便宜のためにキャッ
シュのアドレス動作を一部直接的に、一部連想的に行な
っているために生じる。キャッシュは例えば各セット当
り4つのラインを含む複数のライン・セットに分割され
、これらのセットは普通に直接にアドレスされる。セッ
ト内の適正ラインの選択は連想的に、即ち所与のアドレ
スとキャッシュ・ディレクトリに記憶されたライン・ア
ドレスとの一致によって行なわれる。アドレス変換を有
するIBM  S/370では、所与のアドレスのうち
の変換されない下位ビット(12ビツト)はライン・セ
ットを直接選択するために用いられ、変換される上位ビ
ットの一部はセット内のラインを連想的に選択するのに
用いられる。しかしキャッシュ内のセットの数が増える
と、セットを選択するための変換されない下位ビットの
数が不足し、変換される上位ビットの一部を使用するこ
とが必要になる。そこで、シノニム、即ち同一の実メモ
リ・ロケーションをもたらす複数の変換されるアドレス
が生じうる。このようなシノニムは、種々の理由のため
、検出され処理される必要がある。
この米国特許はこれらのシノニムをどのように見つける
かを教示している。キャッシュ・ミスの時。
すべての起りつるシノニムを発生し、即ち変換されるビ
ットのすべての起りうる組合せを調べ、キャッシュ・デ
ィレクトリでシノニムの存在をチェックする方式が取ら
れている。シノニムの検出時には、いくつかの行動のう
ちのどれかが行なわれる。
C0発明が解決しようとする問題点 本発明は目的は順序を変えて動作を実行できるようにす
ることにより性能を向上させるための装置を提供するこ
とである。
他の目的は順序どおりでないオペランド・フェッチと関
連する障害を識別することができる機構を提供すること
である。
他の、そしてより具体的な目的は、正規の概念上の順序
から外れて行なわれるフェッチと関連する障害を効率的
に検出でき、これによってマルチプロセッサ・システム
の性能を向上させることができる機構を提供することで
ある。
D5問題点を解決するための手段 オペランドの実際のフェッチ時点と、オペランドが正規
に順序どおりにフェッチされる場合のフェッチ時点との
間に生じるプロセッサ活動をモニタすることにより、順
序どおりでないオペランド・フェッチと関連する問題を
見つけることができる。
このようなプロセッサ活動としては、プロセッサによっ
て発生される記憶動作、他のプロセッサ及び構成要素に
よって発生される相互問合せ(cross −inte
rrogate)動作、プロセッサ番キャッシュ・ミス
、及びプロセッサ内の直列化事象が含まれる。
本発明は設計者によって与えられるフェッチ・スタック
の寸法によって決まる任意適宜の時間間隔にわたって適
用される。本発明は本当に順序どおりでないフェッチに
適用されるものであり、記憶の効果だけでなく、順序ど
おりでないフェッチを生じつる他のすべての事象を処理
する。フェッチは2通りの方法で順序外れになる。フェ
ッチはプログラムの中の適正な位置よりも早く生じるよ
うにすることもできれば、それよりも遅く生じるように
することもできる。性能上の利点を与え、そして本発明
が扱うのは、早期のフェッチである。
本発明の中心となる要素は正しくない順序で行なわれた
フェッチのアドレスを含むスタックである。これらのア
ドレスは、そのフェッチを生じた命令が適正な順序で処
理されるまでスタックにとどまる。もう1つの要素は、
スタック内のすべての有効なアドレスをテスト・アドレ
スと比較し。
一致又は不一致を示す信号を発生する比較手段である。
すべての記憶形式の命令のアドレス及びマルチプロセッ
サシステムにおける他のプロセッサからのすべての相互
問合せアドレスがテスト・アドレスとして用いられる。
これらのアドレスは、いずれも、順序外れのフェッチが
行なわれた場合にこのフェッチを正しくないものにする
可能性のある動作のアドレスである。これらのアドレス
信号のどれかが一致すれば、対応するフェッチ・アドレ
スが無効として記される。他の2つの事象即ちキャッシ
ュ・ミス及び直列化命令は順序外れのフェッチの多くが
無効になりうる可能性を与える。
これらの事象ではスタック全体が無効と記される。
無効にされたアドレスに対してプロセッサがとる行動は
、プロセッサが順序外れのフェッチを使用する特定の態
様に依存する0本発明の意図するところは、補正作用が
必要な場合プロセッサに警報信号を与えることである。
警報信号がない場合例えば無効と記されたアドレスがな
い場合は、関連するフェッチが順序正しくないフェッチ
にならなかったこと、従って得られる結果が、フェッチ
が順序正しく行なわれた場合と同様に正しいものになる
ことを表わす。
E、実施例 次に図面を参照して本発明の詳細な説明する。
第1図は順序正しくないフェッチを記入しモニタするた
めの機構を示している。正しくない順序で行なわれる各
フェッチ毎に、スタック119にエントリが記入される
。各エントリ101はフェッチが行なわれたアドレス、
そのフェッチと関連する命令のための識別タグ、エント
リの存在を示すだめのフル/エンプティ(F/E)ビッ
ト、及び有効性ビットよりなる。スタックに対してエン
トリがなされると、フル/エンプティ・ビットがフルに
セットされ、有効性ビットが有効にセットされる。スタ
ックは成る数のハードウェア・レジスタよりなる。成る
所与の時間では、いくつかのレジスタがエントリを持た
ないかも知れない。これらのレジスタのフル/エンプテ
ィ・ビットはエンプティにセットされる。一方、スタッ
クにエントリが来たときにすべてのレジスタが既にフル
になっていれば、その時はオーバフロー状態が生じ、オ
ーバフロー線121が活性化され、情報が失われたこと
を合図する。線121のオーバフロー線はORゲート1
09への1つの入力として供給される。
オーバフローの他にも、モニタすべき4種の事象がある
。これらの事象は順序どおりでないフェッチを不正確な
ものにしたり、又は、少なくとも、このようなフェッチ
を不正確にする可能性があるものであり、モニタする・
必要がある。第1の事象は、対応するフェッチよりも論
理的に早い記憶動作である。もしこのような記憶が、順
序どおりでないフェッチが行なわれたアドレスに対して
行なわれるならば、この時は明らかに、そのフェッチに
よって正しい新しい値を得ることができない、即ち、フ
ェッチは論理的には記憶の後に行なわれなければならな
いが記憶の前に行なわれたことになる。このような記憶
動作のアドレスはORゲート107及び分配部105を
介して比較部103に供給され、スタック119の全ア
ドレスと比較される。もしスタック内のアドレスが記憶
アドレスと一致し、関連するフル/エンプティ・ビット
がフルであれば、その時は関連する有効性ビットは無効
にセットされる。後にわかるように、フル及び無効の表
示を有するエントリはその後の補正作用を必要とする。
第2図は対応するフェッチよりも論理的に早く生じる記
憶をチェックする構造を詳細に示している。フェッチ・
アドレスはスタック119を構成する複数のレジスタ1
22に記憶される。各レジスタのアドレスは比較部10
3の対応する比較回路124に供給される。各比較回路
124は分配部105及びORゲート107を介して記
憶アドレスを受取る。もし比較回路124の1つから一
致出力が出れば、即ちレジスタ122のどれかのフェッ
チ・アドレスが記憶アドレスに等しければ、この時はO
Rゲート126を介して無効化出力が供給され、そのレ
ジスタに対する有効性ビット128を無効にセットする
第2の種類の事象は、もう1つのプロセッサからの相互
問合せ(XI)動作であり、これも記憶動作を含みうる
。これらのアドレスもORゲート107、次に分配部1
05に供給される。行なわれる行動は記憶アドレスに対
するものと同じである。
第3の種類の事象は直列化命令であり、この命令の場合
アーキテクチャは、直列化命令が完了する前にすべての
前の命令が完全に完了することを必要とする。この事象
ではスタック119の全エントリが無効にされねばなら
ない。直列化命令の発生はORゲート109(第1図)
に供給され、その出力線123はORゲート126(第
2図)に供給されて、すべての有効性ビット128を無
効にセットする。
第4の種類の事象はキャッシュ・ミスである。
この場合はキャッシュ・ミス表示をORゲート109に
供給して全エントリを無効にする。厳密にいうと、キャ
ッシュ・ミスは順序正しくないフェッチで問題を生じな
い場合もあれば問題を生じる場合もあり、所与のキャッ
シュ・ミスが補正作用を必要とするものである否かを個
別に決めることが可能であろうが、性能上の理由から、
ここではキャッシュ・ミスがまれにしか生じないように
しており、従ってすべてのキャッシュ・ミス時に無効化
しても損失は大きくない。最後に、もしスタック119
がオーバフローを生じた場合はすべてのエントリを無効
にする方法をとっている。
スタックに対するエントリは順序正しくないフェッチが
行なわれる時に行なわれる。エントリは関連する命令が
゛′順序正しい″ものとなる時、即ち関連する命令がそ
の時デコードされている命令になる時、スタックから除
去される。命令がいつ順序正しいものになるかの定義は
プロセッサの組織に依存する。プロセッサは本発明の一
部でないので、ここでは単に″現在の″命令を示すもの
とする。現在の命令(現命令)111のタグは選択及び
エントリ・チェック機能部113に供給される。対応す
るタグを有するエントリが選択され、そのフル/エンプ
ティ・ビット及び有効性ビットが読取られる。エントリ
がフルで且つ有効である場合は順序どおりでないフェッ
チに問題はなく、補正は不要である。この結果は線11
5で知らされる。エントリがフルで且つ無効ならば、こ
の場合は順序どおりでないフェッチに問題があり、プロ
セッサの側では何らかの補正作用が必要である。
この結果は線117で知らされる0行なわれる補正作用
のタイプはプロセッサの設計に依存し、本発明の一部で
はない。
第3図は線115.117の信号がどのように発生され
るかを詳しく示している。ここでもスタック119はフ
ェッチ・アドレスを含む複数のレジスタよりなる。各フ
ェッチ・アドレスには、有効性ビット128、フル/エ
ンプティ(F/E)ビット120及びタグ118が関連
している。勿論フェッチ・アドレス、有効性ビット、フ
ル/エンプティ・ビット及びタグはすべて1つのレジス
タの中に入っている。第3図に示されている各データの
分割表示は各レジスタに記憶されるデータの性質を概念
化する意図で行なわれているだけである。フル/エンプ
ティ・ビット120はその対応するレジスタがフルであ
るか又はエンプティであるかを示す信号を供給し、有効
性ビット128はレジスタ内のフェッチ・アドレスが有
効であるか又は無効であるかを示す信号を供給する。こ
れらの信号はエントリ・チェック論理125に供給され
る。各アドレスのタグは対応する比較回路130に供給
される。すべての比較回路130は現命令のタグ111
を受取り、どの比較回路が出力を発生するかに依存して
、即ち、現命令のタグがスタック119のレジスタ12
2に記憶されたフェッチ・アドレスのどのタグに等しい
かに依存して、対応するエントリ・チェック論理125
が付勢され、線115又は117に出力を発生する。
第4図はANDゲート132〜136及びORゲート1
38よりなるエントリ・チェック論理125を示してい
る。ANDゲート132はアドレスが無効であることを
示す有効性ビット128からの線129の信号、フェッ
チ・アドレス・レジスタがフルであることを示すフル/
エンプティ・ビット120からの線127の信号、及び
タグ一致を示す比較回路130からの線131の付勢信
号を受取り、線117に、フェッチ・アドレス・レジス
タがフルで無効であることを示す出力を発生する。同様
にANDゲート134も線131の信号によって付勢さ
れ、線127のフル信号を受取るが、線129の有効信
号を受取り、フェッチ・アドレス・レジスタがフルで有
効であることを示す出力を発生する。ANDゲート13
6も線131の信号によって付勢されるが、これはフル
/エンプティ・ビット120からの線127のエンプテ
ィ信号を受取り、フェッチ・アドレス・レジスタがエン
プティであることを示す信号を発生する。
ANDゲート134,136からの出力はORゲート1
38で組合され、フェッチ・アドレス・レジスタがエン
プティであるか又はフルで有効であるかを示す信号を線
115に発生する。
勿論、S/370アーキテクチヤでは、レジスタ・ツー
・レジスタ(Register −to −Regis
ter)(RR)命令のような、フェッチを伴わない命
令がある。これらの命令の場合は、ここでは、関連する
命令のタグをつけてスタック119にエントリを記入し
、フル/エンプティ・ビットをエンプティにセットする
ようにしている。この命令が現命令になる場合、選択及
びエントリ・チェック機能部113は線115に、補正
が不要であることを示す信号を発生する。代替的には、
このような命令ではスタック119にエントリを記入し
ないようにし、選択及びエントリ・チェック機能部13
3がスタックの中に一部タグを見つけなかった時に線1
15に信号を発生するようにすることもできる。
要するに、順序外れのフェッチの結果として2種類の障
害が生じうる。1つは、実行されているプログラムの正
しさに関するものであり、もう1つは、別のプロセッサ
が何を見るかに関するものである。実行されているプロ
グラムの正しさを維持するためには、すべての記憶動作
をモニタし、これらの記憶動作が、プリフェッチされた
ものを変えつつあるか、即ち、プリフェッチされたが、
プログラムに従えば、記憶が行なわれた後にフェッチさ
れるべきであったデータを変えつつあるかを調べる必要
がある。
同じメモリに接続された2つ以上のプロセッサを有する
システムでは、1つのプロセッサの取る行動が、もう1
つのプロセッサにとっては、メモリの変化即ち記憶動作
になる場合が生じつる。例えば、プロセッサ1がロケー
ションAに新しい値を記憶する場合、プロセッサ2は、
ロケーションAからフェッチする際に、そのフェッチが
記憶の前に行なわれたか又は後に行なわれたかに依存し
て古い値又は新しい値のいずれかを読取ることになる。
同様に、プロセッサ2がロケーションBに記憶し、プロ
セッサ1がロケーションBからフェッチすることがある
が、もしフェッチ及び記憶が正しい順序に保たれなけれ
ば、いずれかのプロセッサが論理的にありえない状態に
出合うことが起りうる、即ち、例えばBの前にAが生じ
たりAの前にBが生じたりすることが起りうる。この障
害は、このような障害を起こしうる条件、具体的には、
相互問合せ及びキャッシュ・ミスをモニタすることによ
り回避される。
本発明は、順序どおりでないフェッチを許容することに
より、成るプロセッサにおいて性能上の利点を与える。
オペランドの実際のフェッチ時点と、オペランドが正規
に順序正しくフェッチされる場合のフェッチ時点との間
に生じる関連プロセッサの活動をモニタすることにより
1問題のある順序外れのフェッチを見つけ出し、補正行
動を取ることができる。比較手段はスタックのすべての
アドレスをテスト・アドレスと比較し、一致又は不一致
を示す信号を発生する。もしこれらのアドレス信号のど
れかが一致であれば、対応するフェッチ・アドレスが無
効として記される。キャッシュ・ミス又は直列化命令の
場合も、順序どおりでないフェッチが無効となる可能性
があり、そのため、スタック全体が無効として記される
C0発明の効果 本発明によれば、論理的に正しくない順序でフェッチし
ても、そのフェッチが問題を生じるか否かをモニタし識
別し解決できるから、このようなフェッチの利用によっ
てコンピュータ・システムの性能を、誤動作の問題なし
に向上させることができる。
【図面の簡単な説明】
第1図は本発明に従って、順序正しくないフェッチを記
入しモニタする機構のブロック図である。 第2図は第1図の機構の分配部、比較部及びスタック構
造を詳細に示すブロック図である。 第3図は第1図の機構のエントリ・チェック機能部及び
スタック構造を詳細に示すブロック図である。 第4図は第3図のエントリ・チェック部の論理を示すブ
ロック図である。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  山  本  仁  朗(外1名)

Claims (1)

  1. 【特許請求の範囲】 オペランドをフェッチし、それに従つて命令を実行する
    コンピュータにおいて順序正しくないフェッチをモニタ
    するための装置であつて、 M個の順序正しくないフェッチのアドレスであつて、そ
    の各々が関連の有効性ビットを持つようにされたアドレ
    スを保持するためのN個(NはM以上の数)のエントリ
    を有するスタックと、上記スタック内のアドレスと所定
    のテスト・アドレスとを比較するための比較手段と、 上記テスト・アドレスと一致するアドレスの有効性ビッ
    トを無効にセットするための手段と、記憶アドレス及び
    相互問合せアドレスを上記所定のテスト・アドレスとし
    て選択するための手段と、 上記スタック内のアドレスを、これが表わす命令と関連
    させると共に、上記命令がその適正な順序で処理される
    時にそのアドレスを削除するための手段と、 を有することを特徴とする、順序正しくないフェッチを
    モニタするための装置。
JP63093613A 1987-05-18 1988-04-18 順序正しくないフエツチをモニタするための装置 Granted JPS63293639A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/051,792 US4991090A (en) 1987-05-18 1987-05-18 Posting out-of-sequence fetches
US51792 1987-05-18

Publications (2)

Publication Number Publication Date
JPS63293639A true JPS63293639A (ja) 1988-11-30
JPH0552968B2 JPH0552968B2 (ja) 1993-08-06

Family

ID=21973404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63093613A Granted JPS63293639A (ja) 1987-05-18 1988-04-18 順序正しくないフエツチをモニタするための装置

Country Status (4)

Country Link
US (1) US4991090A (ja)
EP (1) EP0302999B1 (ja)
JP (1) JPS63293639A (ja)
DE (1) DE3884101T2 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193205A (en) * 1988-03-01 1993-03-09 Mitsubishi Denki Kabushiki Kaisha Pipeline processor, with return address stack storing only pre-return processed address for judging validity and correction of unprocessed address
JPH0774994B2 (ja) * 1988-09-21 1995-08-09 株式会社日立製作所 バッファ記憶制御装置のosc検出方式
JPH02103656A (ja) * 1988-10-12 1990-04-16 Fujitsu Ltd 主記憶参照の遂次化制御方式
US5125083A (en) * 1989-02-03 1992-06-23 Digital Equipment Corporation Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
US5768575A (en) * 1989-02-24 1998-06-16 Advanced Micro Devices, Inc. Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
CA2016068C (en) * 1989-05-24 2000-04-04 Robert W. Horst Multiple instruction issue computer architecture
US5093777A (en) * 1989-06-12 1992-03-03 Bull Hn Information Systems Inc. Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack
JPH0348951A (ja) * 1989-07-18 1991-03-01 Fujitsu Ltd アドレスモニタ装置
US5185871A (en) * 1989-12-26 1993-02-09 International Business Machines Corporation Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
US5197139A (en) * 1990-04-05 1993-03-23 International Business Machines Corporation Cache management for multi-processor systems utilizing bulk cross-invalidate
US5151981A (en) * 1990-07-13 1992-09-29 International Business Machines Corporation Instruction sampling instrumentation
US5446850A (en) * 1991-01-15 1995-08-29 International Business Machines Corporation Cross-cache-line compounding algorithm for scism processors
US5257354A (en) * 1991-01-16 1993-10-26 International Business Machines Corporation System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results
US5261071A (en) * 1991-03-21 1993-11-09 Control Data System, Inc. Dual pipe cache memory with out-of-order issue capability
US5630157A (en) * 1991-06-13 1997-05-13 International Business Machines Corporation Computer organization for multiple and out-of-order execution of condition code testing and setting instructions
US5317711A (en) * 1991-06-14 1994-05-31 Integrated Device Technology, Inc. Structure and method for monitoring an internal cache
US5636363A (en) * 1991-06-14 1997-06-03 Integrated Device Technology, Inc. Hardware control structure and method for off-chip monitoring entries of an on-chip cache
JP2786574B2 (ja) * 1992-05-06 1998-08-13 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
US5355471A (en) * 1992-08-14 1994-10-11 Pyramid Technology Corporation Multiprocessor cache coherency tester that exercises the coherency logic exhaustively and also detects errors in a processor using an automatic CPU sort
KR100248903B1 (ko) * 1992-09-29 2000-03-15 야스카와 히데아키 수퍼스칼라마이크로프로세서에서의 적재 및 저장연산처리방법 및 시스템
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US5488706A (en) * 1992-12-18 1996-01-30 Amdahl Corporation Retry request system in a pipeline data processing system where each requesting unit preserves the order of requests
US5467473A (en) * 1993-01-08 1995-11-14 International Business Machines Corporation Out of order instruction load and store comparison
US5493669A (en) * 1993-03-03 1996-02-20 Motorola, Inc. Data processor for simultaneously searching two fields of the rename buffer having first and second most recently allogated bits
JP2560988B2 (ja) * 1993-07-16 1996-12-04 日本電気株式会社 情報処理装置および処理方法
US6138230A (en) * 1993-10-18 2000-10-24 Via-Cyrix, Inc. Processor with multiple execution pipelines using pipe stage state information to control independent movement of instructions between pipe stages of an execution pipeline
US5463745A (en) * 1993-12-22 1995-10-31 Intel Corporation Methods and apparatus for determining the next instruction pointer in an out-of-order execution computer system
US5535358A (en) * 1993-12-27 1996-07-09 Matsushita Electric Industrial Co., Ltd. Cache memory control circuit and method for controlling reading and writing requests
US5588126A (en) * 1993-12-30 1996-12-24 Intel Corporation Methods and apparatus for fordwarding buffered store data on an out-of-order execution computer system
US5452426A (en) * 1994-01-04 1995-09-19 Intel Corporation Coordinating speculative and committed state register source data and immediate source data in a processor
US5627985A (en) * 1994-01-04 1997-05-06 Intel Corporation Speculative and committed resource files in an out-of-order processor
US5898854A (en) * 1994-01-04 1999-04-27 Intel Corporation Apparatus for indicating an oldest non-retired load operation in an array
US5577200A (en) * 1994-02-28 1996-11-19 Intel Corporation Method and apparatus for loading and storing misaligned data on an out-of-order execution computer system
US5465336A (en) * 1994-06-30 1995-11-07 International Business Machines Corporation Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system
US5699538A (en) * 1994-12-09 1997-12-16 International Business Machines Corporation Efficient firm consistency support mechanisms in an out-of-order execution superscaler multiprocessor
TW295646B (ja) * 1995-01-25 1997-01-11 Ibm
US5649155A (en) * 1995-03-31 1997-07-15 International Business Machines Corporation Cache memory accessed by continuation requests
US5737636A (en) * 1996-01-18 1998-04-07 International Business Machines Corporation Method and system for detecting bypass errors in a load/store unit of a superscalar processor
US5751946A (en) * 1996-01-18 1998-05-12 International Business Machines Corporation Method and system for detecting bypass error conditions in a load/store unit of a superscalar processor
JP2806359B2 (ja) * 1996-04-30 1998-09-30 日本電気株式会社 命令処理方法及び命令処理装置
JP2783259B2 (ja) * 1996-07-18 1998-08-06 日本電気株式会社 半導体パッケージとその製造方法
US6021261A (en) * 1996-12-05 2000-02-01 International Business Machines Corporation Method and system for testing a multiprocessor data processing system utilizing a plurality of event tracers
US5909698A (en) * 1997-03-17 1999-06-01 International Business Machines Corporation Cache block store instruction operations where cache coherency is achieved without writing all the way back to main memory
US6289437B1 (en) * 1997-08-27 2001-09-11 International Business Machines Corporation Data processing system and method for implementing an efficient out-of-order issue mechanism
JP2004094533A (ja) * 2002-08-30 2004-03-25 Hajime Seki 計算機システム
US9483409B2 (en) 2015-02-05 2016-11-01 International Business Machines Corporation Store forwarding cache

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6077241A (ja) * 1983-10-05 1985-05-01 Hitachi Ltd 情報処理装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3401376A (en) * 1965-11-26 1968-09-10 Burroughs Corp Central processor
US3553655A (en) * 1969-03-28 1971-01-05 Ibm Short forward conditional skip hardware
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4200927A (en) * 1978-01-03 1980-04-29 International Business Machines Corporation Multi-instruction stream branch processing mechanism
US4189772A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Operand alignment controls for VFL instructions
US4197580A (en) * 1978-06-08 1980-04-08 Bell Telephone Laboratories, Incorporated Data processing system including a cache memory
US4228503A (en) * 1978-10-02 1980-10-14 Sperry Corporation Multiplexed directory for dedicated cache memory system
US4279016A (en) * 1979-06-21 1981-07-14 International Business Machines Corporation Instruction pre-fetch microprocessor interrupt system
JPS56149646A (en) * 1980-04-21 1981-11-19 Toshiba Corp Operation controller
US4438492A (en) * 1980-08-01 1984-03-20 Advanced Micro Devices, Inc. Interruptable microprogram controller for microcomputer systems
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
US4484267A (en) * 1981-12-30 1984-11-20 International Business Machines Corporation Cache sharing control in a multiprocessor
US4594659A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Method and apparatus for prefetching instructions for a central execution pipeline unit
US4594660A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Collector
DE3382152D1 (de) * 1982-12-09 1991-03-07 Sequoia Systems Inc Sicherstellungsspeichersystem.
JPS59205605A (ja) * 1983-05-07 1984-11-21 Hitachi Ltd シ−ケンス制御装置
US4648030A (en) * 1983-09-22 1987-03-03 Digital Equipment Corporation Cache invalidation mechanism for multiprocessor systems
EP0159712B1 (en) * 1984-04-27 1991-01-30 Bull HN Information Systems Inc. Control means in a digital computer
US4637024A (en) * 1984-11-02 1987-01-13 International Business Machines Corporation Redundant page identification for a catalogued memory
US4791557A (en) * 1985-07-31 1988-12-13 Wang Laboratories, Inc. Apparatus and method for monitoring and controlling the prefetching of instructions by an information processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6077241A (ja) * 1983-10-05 1985-05-01 Hitachi Ltd 情報処理装置

Also Published As

Publication number Publication date
US4991090A (en) 1991-02-05
EP0302999B1 (en) 1993-09-15
JPH0552968B2 (ja) 1993-08-06
DE3884101D1 (de) 1993-10-21
EP0302999A2 (en) 1989-02-15
DE3884101T2 (de) 1994-04-21
EP0302999A3 (en) 1991-11-06

Similar Documents

Publication Publication Date Title
JPS63293639A (ja) 順序正しくないフエツチをモニタするための装置
US6754856B2 (en) Memory access debug facility
EP0118828B1 (en) Instruction fetch apparatus and method of operating same
US6658554B1 (en) Electronic processor providing direct data transfer between linked data consuming instructions
JP3761614B2 (ja) キャッシュ・メモリ付きコンピュータ装置
US6266768B1 (en) System and method for permitting out-of-order execution of load instructions
CN106897230B (zh) 用于处理原子更新操作的装置和方法
US7971033B2 (en) Limiting entries in load issued premature part of load reorder queue searched to detect invalid retrieved values to between store safe and snoop safe pointers for the congruence class
US6360314B1 (en) Data cache having store queue bypass for out-of-order instruction execution and method for same
US4831622A (en) Apparatus for forcing a reload from main memory upon cache memory error
US5987585A (en) One-chip microprocessor with error detection on the chip
US6148394A (en) Apparatus and method for tracking out of order load instructions to avoid data coherency violations in a processor
US20070011599A1 (en) Method, apparatus, and computer program product for testing ability to recover from cache directory errors
US6519684B1 (en) Low overhead method for selecting and updating an entry in a cache memory
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
US20090292857A1 (en) Cache memory unit
US6898738B2 (en) High integrity cache directory
TWI221961B (en) Early exception detection
US11061810B2 (en) Virtual cache mechanism for program break point register exception handling
GB2037466A (en) Computer with cache memory
US11176042B2 (en) Method and apparatus for architectural cache transaction logging
KR100201671B1 (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 캐시 메모리 이용방법
CN112470134A (zh) 处理保护标签丢失
JP3171639B2 (ja) データ処理装置
JPH0540629A (ja) 情報処理装置