JPH096633A - データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム - Google Patents

データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム

Info

Publication number
JPH096633A
JPH096633A JP8128030A JP12803096A JPH096633A JP H096633 A JPH096633 A JP H096633A JP 8128030 A JP8128030 A JP 8128030A JP 12803096 A JP12803096 A JP 12803096A JP H096633 A JPH096633 A JP H096633A
Authority
JP
Japan
Prior art keywords
logical path
processing system
data processing
logical
level
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.)
Pending
Application number
JP8128030A
Other languages
English (en)
Inventor
Richard James Eickemeyer
リチャード・ジェームス・エイックメイヤー
Ross Evan Johnson
ロス・エバン・ジョンソン
Harold F Kossman
ハロルド・エフ・コスマン
Steven Raymond Kunkel
スティーブン・レイモンド・クンケル
Timothy John Mullins
ティモシー・ジョン・ミュリィンス
James Allen Rose
ジェームス・アレン・ローズ
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 JPH096633A publication Critical patent/JPH096633A/ja
Pending 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • 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 or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 多重論理経路データ処理システムにおいて、
マルチレベル・キャッシュ・システムのメモリに対する
待ち時間による遅れを削減する。 【解決手段】 最初の論理経路内で少なくとも1つの命
令を実行し、その後第1論理経路内の選択された点に於
けるプロセッサの状態を格納し、上記の第1論理経路の
実行を終了し、第2論理経路を選択してレベル2または
これより高いキャッシュの失敗にのみ応答してこれを実
行し、これによってメモリに対する待ち時間に起因する
プロセッサの遅れを最小にする。各論理経路の有効性の
状態は、キャッシュの失敗が補正される前に以前の論理
経路に戻ってこれが実行される可能性を最小にするた
め、保持しておくのが好ましい。残りの全ての論理経路
と関連して無効の指示が行われた場合には、直前に実行
した論理経路の有効状態が全ての他の論理経路に先だっ
て変化することを期待して当該直前に実行した論理経路
を選択して実行するのが好ましい。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的に改良した
データ処理システムに関し、特に、改良した高性能多重
論理経路のデータ処理システムに関する。更に詳しく
は、本発明は特に多重論理経路のデータ処理システムに
於けるメモリに対する待ち時間時間の影響を削減する方
法とシステムに関する。
【0002】
【従来の技術】コンピュータ・システムでは、単一タス
ク・オペレーティング・システムを長年に渡って利用す
ることができた。このようなシステムでは、コンピュー
タのプロセッサはコンピュータのプログラムまたはプロ
グラムのサブルーチンを直列に実行する、即ち、以前の
コンピュータのプログラムまたはプログラムのサブルー
チンが終了する迄、いずれのコンピュータのプログラム
またはプログラムのサブルーチンの実行も開始すること
ができない。この種のオペレーティング・システムで
は、実行中のコンピュータのプログラムまたはサブルー
チンが外部事象(データまたは資源の使用可能性)の発
生を待機しなければならない場合には、コンピュータの
プロセッサの時間が浪費されるので、このプロセッサの
使用を最適化することはできない。
【0003】この問題が、種々のオペレーティング・シ
ステムの出現を導いている。プログラムの論理経路の各
々は、特定のタスクを実行する。コンピュータのプロセ
ッサは、同時に1つのプログラムの論理経路しか実行す
ることができないが、もし実行中の論理経路が外部事象
の発生を待機しなければならないなら、即ち論理経路が
処理不能になれば、処理不能な論理経路の実行を中断
し、コンピュータのプロセッサは同一または異なったコ
ンピュータのプログラムの他の論理経路を実行してプロ
セッサの資源の利用を最適化する。マルチタスク・オペ
レーティング・システムは、またマルチプロセッサ環境
に拡張され、ここでは同一または異なったプログラムの
論理経路が異なったコンピュータのプロセッサ上で並列
に実行される。
【0004】このようなマルチタスク・オペレーティン
グ・システムは、1つ以上のプロセッサの使用を最適化
するが、これらのシステムではアプリケーション・プロ
グラムの開発者は論理経路の実行のスケジューリングに
適切な影響を与えることができない。異なったプログラ
ムの多重状態を保持し、これらの状態を速やかに切り替
える能力を可能する以前に開発されたハードウェアの多
重論理経路のプロセッサでは、一般的に各メモリの参
照、キャッシュの失敗または機能停止の時点で論理経路
を切り替える。最近のマイクロプロセッサではメモリに
対する待ち時間が非常に長く、第1レベルのオンチップ
・キャッシュのサイズは一般的に非常に小さい。例え
ば、目的指向型プログラミング環境のプログラムの局所
性は伝統的な環境よりも一層劣悪である。このような状
況の結果、メモリに対するアクセスの増加によって遅れ
が増加し、このためデータ処理システムのコスト効率が
一層悪化している。
【0005】既存の多重論理経路技術では、キャッシュ
の失敗またはメモリに対する参照に基づいて論理経路を
切り替えている。このような技術の初歩的な例は、「ス
パークル著:大規模マルチプロセッサの設計の展開」("
Sparcle: An Evolutionary Design for Large-Scale Mu
ltiprocessors")IEEE マイクロ・ボリューム(Micro Vol
ume) 13, No. 3 48-60頁、1993年6月によって参照
することができる。いわゆる「RISC」(縮小命令セット
演算)アーキテクチャに適用されているように、通常は
機能の呼び出しをサポートするために使用されている多
重レジスタのセットは、多重論理経路を保持するように
変形されている。8個の重なり合ったレジスタの窓は4
個の重なり合わないレジスタのセットになるように変形
され、ここで各レジスタのセットはトラップとメッセー
ジを処理するための予備である。このシステムは、遠隔
地からのメモリに対して要求を行う結果発生する各第1
レベルのキャッシュの失敗によって発生する論理経路の
切り替えを開示している。
【0006】このシステムは技術上の進歩を示している
が、最近のプロセッサの設計では、しばしばプロセッサ
に取り付けた多重レベルのキャッシュまたは高速メモリ
を使用している。このプロセッサ・システムは、ある周
知のアルゴリズムを使用してその主記憶装置のいずれの
部分が各レベルのキャッシュにロードされるかを判定
し、従って、第1レベルのキャッシュ内に存在していな
いメモリに対して参照の行われる度にプロセッサは第2
またはより高いレベルのキャッシュからそのメモリに対
する参照を得ようとしなければならない。
【0007】
【発明が解決しようとする課題】従って、多重論理経路
のデータ処理システムと組み合わせて使用されているマ
ルチレベル・キャッシュ・システムに於いてメモリに対
する待ち時間に起因する遅れを削減することのできる改
良されたデータ処理システムに対する必要性の存在する
ことは、明らかである。従って、本発明の1つの目的
は、改良されたデータ処理システムを提供することであ
る。
【0008】本発明の他の目的は、改良された高性能多
重論理経路のデータ処理システムを提供することであ
る。
【0009】本発明の更に他の目的は、多重論理経路の
データ処理システムに於けるメモリに対する待ち時間に
起因する遅れを削減する改良された方法とシステムを提
供することである。
【0010】
【課題を解決するための手段】上述した目的は、ここで
説明するように達成される。プロセッサ、主記憶装置及
び少なくとも2つのレベルのキャッシュ・メモリを有す
るデータ処理システムに於いて高性能の多重論理経路の
動作を実行するための方法とシステムが開示される。最
初の論理経路内で少なくとも1つの命令を実行する。そ
の後、第1論理経路内の選択された点に於けるプロセッ
サの状態を格納し、上記の第1論理経路の実行を終了
し、第2論理経路を選択してレベル2またはこれより高
いキャッシュの失敗にのみ応答してこれを実行し、これ
によってメモリに対する待ち時間に起因するプロセッサ
の遅れを最小にする。各論理経路の有効性の状態は、キ
ャッシュの失敗が補正される前に以前の論理経路に戻っ
てこれが実行される可能性を最小にするため、保持して
おくのが好ましい。残りの全ての論理経路と関連して無
効の指示が行われた場合には、直前に実行した論理経路
の有効状態が全ての他の論理経路に先だって変化するこ
とを期待して当該直前に実行した論理経路を選択して実
行するのが好ましい。特定の論理経路の実行が必要であ
ると考えられる場合には、論理経路の切り替えビットを
また使用して論理経路の切り替えを選択的に禁止しても
よい。
【0011】
【発明の実施の形態】図面を参照して、特に図1を参照
してこれは本発明の方法とシステムを実行するために使
用することのできるデータ処理システム10の高レベルの
ブロック図を示す。好適な実施例では、システム10のプ
ロセッサ12は単一集積回路のスーパースケーラ・マルチ
プロッセサであり、これは、ニューヨーク州、アーモン
ク所在のインターナショナル・ビジネス・マシーン社の
製造するパワーPC多重プロッセサのようないずれの周
知のスーパースケーラ・マイクロプロッセサを使用して
実行することができる。以下で論じるようにデータ処理
システム10は、全て集積回路によって形成するのが好ま
しい種々のユニット、レジスタ、バッファ、メモリ及び
その他のセクションを有するのが好ましい。当業者が理
解するように、データ処理システム10は縮小命令セット
演算(RISC)技術に従って動作するのが好ましい。
【0012】図示のように、データ処理システム10は主
記憶装置14、データ・キャッシュ16と命令キャッシュ18
を有するのが好ましく、これらは種々のバス接続を使用
して相互に接続されている。命令キャッシュ18からの命
令は命令フロー・ユニット34に出力するのが好ましく、
この命令フロー・ユニット34は、本発明の方法とシステ
ムに従って、データ処理システム10内の種々のサブプロ
セッサ・ユニットによって多重論理経路の実行を制御す
る。命令フロー・ユニット34は、ブランチ・ユニット2
6、固定点ユニト28、ロード/ストア・ユニット30と浮
動点ユニット32を含むデータ処理システム10内の種々の
実行回路に対して選択的に命令を出力する。
【0013】図1に示す種々の実行ユニット以外に、最
近のスーパースケーラ・マイクロプロッセサ・システム
はこのような各実行ユニットの多重バージョンをしばし
ば有していることを、当業者は理解する。これらの実行
ユニットの各々は、汎用レジスタ36と浮動点レジスタ40
のような種々のレジスタからのオペランド情報を入力ソ
ースとして有している。更に、本発明の方法とシステム
に従って多重特別目的レジスタ38を使用し、論理経路の
切り替えに応答してプロセッサの状態情報を格納するこ
とができる。
【0014】当業者に周知の方法で、ロード命令に応答
して、ロード/ストア・ユニット30は、データ・キャッ
シュ16から情報を入力し、この情報を選択したバッファ
にコピーして複数の実行ユニットの1つによって使用す
る。データ・キャッシュ16は小型のメモリであるのが好
ましく、これは高速メモリ装置を使用し、近い将来デー
タ処理システムがしばしば使用すると考えられるデータ
を格納する。本発明の重要な特徴によれば、第2レベル
のキャッシュ20をまた設け、これは、包括的なシステム
に於いてデータ・キャッシュ16に格納されている全ての
データと主記憶装置14からコピーしたより大量のデータ
を有している。レベル2のキャッシュ20は主記憶装置14
よりも高速の記憶システムであるのが好ましく、種々の
周知の技術に従ってレベル2のキャッシュ20内に選択し
たデータを格納することによって、主記憶装置14を参照
する結果発生するメモリに対する待ち時間を最小にする
ことができる。
【0015】本発明の方法とシステムに従って、レベル
2のキャッシュ/メモリ・インタフェース22をまた設け
る。図示のようにレベル2のキャッシュ/メモリ・イン
タフェース22と命令フロー・ユニット34の間にバス42を
設け、レベル2のキャッシュ20内の失敗を命令フロー・
ユニット34に指示する。即ち、これは、レベル2のキャ
ッシュ20内に存在しないシステム内のデータにアクセス
しようとする試みである。更に、いわゆる「変換索引バ
ッファ」(TLB)24を設け、これは仮想対現実アドレスの
マッピングを有している。本発明では図示していない
が、変換索引バッファ24について説明した方法と同様の
方法で動作するセグメント索引バッファ(SLB)のような
種々の別の高レベルメモリ・マッピング・バッファを設
けてもよい。
【0016】従って、本発明の重要な特徴によれば、デ
ータ処理システム10内のメモリに対する待ち時間に起因
する遅れは、長時間に渡るメモリに対する待ち時間が発
生することを示す事象の発生に応答して多重論理経路を
切り替えることによって減少させることができる。図1
に示すシステムの1つの実施例では、論理経路の切り替
えは、もしこれが可能であれば、データを取り出す場合
に発生するレベル2の失敗に応答して行われる。即ち、
これは、レベル2のキャッシュにアクセスしてメモリに
対する要求を満足することができるか否かを判定しよう
とするプロセッサの試みと所望のデータまたは命令がレ
ベル2のキャッシュ内に存在しないことを示すものであ
る。主記憶装置14からメモリに対する要求を検索し、こ
の期間に発生するメモリに対する待ち時間によって、本
発明の方法とシステムに従って、論理経路のスイッチを
トリガすることによって、このような事象の発生を一般
的に処理する。本発明の他の実施例では、命令パイプラ
インを充足するのに必要とされるよりもより長い期間
(一般的に5または6サイクル)を必要としなければ完
了しないような事象の発生した場合には、これらの事象
の発生に応答するだけで論理経路のスイッチをトリガす
る。従って、論理経路のスイッチは、変換索引バッファ
(TLB)の失敗または無効化、セグメント索引バッファ(SL
B)の失敗または無効化、条件付き格納動作の失敗または
平均的に論理経路のスイッチに対して要求されている時
間よりも長い期間を必要とするその他の動作に応答して
トリガすることができる。このような事象に応答しての
み論理経路を切り替えることによって、パイプラインの
ラッチの複雑性と反復を増加する必要性とパイプライン
の状態を追加する必要性が回避される。
【0017】ここで説明するように、論理経路は、専用
の特別目的レジスタ38に論理経路状態レジスタを設ける
ことによって完成する。この論理経路状態レジスタは、
現行の論理経路の番号、単一論理経路動作または多重論
理経路動作が可能とされているか否かの指示及び各論理
経路に対する有効性指示ビットを有することが好まし
い。従って、もしデータ処理システム10内に4つの論理
経路が許可されているなら、この情報を指示するため
に、7ビットが必要である。更に、2つの既存の特別目
的レジスタを保存/復元レジスタとして使用し、レベル
2のキャッシュを失敗させた命令のアドレスを格納する
と共にマシン状態レジスタを格納する。
【0018】本発明の方法とシステムに従って、レベル
2のキャッシュ/メモリ・インタフェース22は、重要な
多重メモリに対する要求を許可するのが好ましい。即
ち、1つの論理経路について1つの重要なメモリに対す
る要求を許可するのが好ましい。従って、レベル2のキ
ャッシュの失敗の発生に応答して第1論理経路を中断す
ると、第2論理経路がその中に存在するデータを求めて
レベル2のキャッシュにアクセスすることができる。も
しこの第2論理経路のアクセスの結果またレベル2のキ
ャッシュに失敗が発生すれば、他のメモリに対する要求
を発生し、従って、多重のメモリに対する要求をレベル
2のキャッシュ/メモリ・インタフェース22に保持しな
ければならない。更に、いわゆる「スラッシング」を最
小にするため、本発明の方法とシステムは、各論理経路
内の少なくとも第1命令を完了しなければならないこと
を要求する。従って、もしシステム内の全ての論理経路
がレベル2のキャッシュの失敗を待機し、第1論理経路
が再開されると、これは要求されたデータを見つけない
が、しかし少なくとも第1命令を完了しなければならな
いという要求に応答して、この論理経路は、このキャッ
シュの失敗が満足される迄、単純に待機を行う。
【0019】従って、多重の独立した論理経路を実行し
ている本開示で定義しているように、「多重論理経路」
は本発明の方法とシステムに従って、ハードウェア内で
遂行することのできるものであるが、この多重論理経路
を使用し、多重論理経路の状態を保持し(最近の設計に
従って、好ましくは2個または3個)第2レベルまたは
より高レベルのキャッシュの失敗にのみ応答してこれら
の論理経路を選択的に切り替えることによって、メモリ
に対する待ち時間に起因する遅れを大幅に削減すること
ができることを、当業者は理解しなければならない。
【0020】さて図2を参照して、これは本発明の方法
とシステムによる基本的な動作を示す図1のデータ処理
システム内で実行することのできるプロセスの高レベル
論理のフローチャートを示す。図示のように、このプロ
セスは、ブロック60で開始され、その後ブロック62に進
む。ブロック62は、全ての論理経路のロードを示す。こ
のプロセスは次にブロック64に進み、このブロックは現
行の論理経路をi=0に設定することを示す。次に、ブ
ロック66はこのプロセスがブロック68に進む時刻まで論
理経路iを実行することを示す。ブロック68は、レベル
2のキャッシュまたは変換検索バッファ(TLB)の失敗の
発生を示す。このような失敗の発生していない場合に
は、プロセスは反復態様でブロック66に戻り、論理経路
iの実行を継続する。
【0021】再びブロック68を参照して、レベル2のキ
ャッシュまたは変換検索バッファの失敗の発生した場合
には、プロセスはブロック70に進む。本発明の重要な特
徴によれば、ブロック70は、システム内の論理経路の切
り替えが可能になったか否かの判定を示す。当業者は選
択した事例では、特定の論理経路の実行が望ましいこと
を理解し、従って、本発明の方法とシステムは、多重論
理経路の間の切り替えを不能にする技術を提供する。論
理経路の切り替えが可能になっていない場合には、プロ
セスは反復態様でブロック70からブロック66に戻り、レ
ベル2のキャッシュの失敗の満足されるのを待つ。
【0022】再びブロック70を参照して、論理経路の切
り替えが可能になった場合には、プロセスはブロック72
に進む。ブロック72は、特別目的のレジスタ(図1参
照)を使用して行う論理経路iに対する命令レジスタと
マシン状態レジスタの状態の保存を示し、次にプロセス
はブロック74に進む。ブロック74は、適当なレジスタを
アクセスすることによってiをインクリメントすること
による現行の論理経路の次の論理経路への変更を示し、
次にプロセスはブロック76に進む。ブロック76は、この
新しい現行の論理経路に対する論理経路の状態の設定を
示し、次にプロセスは反復態様でブロック66に戻る。
【0023】さて図3を参照して、これは本発明の方法
とシステムによる簡単な優先論理経路管理システムを示
す図1のデータ処理システム内で実行することのできる
プロセスを示す高レベル論理のフローチャートを示す。
図示のように、このプロセスはブロック80で開始され、
その後ブロック82に進む。ブロック82は、全ての論理経
路(0, n - 1)のロードと各論理経路に対して行う関連す
る優先度の割り当てを示す。次に、プロセスはブロック
84に進み、これは最高の優先度を有する論理経路と等し
い現行の論理経路iの設定を示す。その後、プロセスは
ブロック86に進む。
【0024】ブロック86は論理経路iの実行を示し、次
にプロセスはブロック88に進む。ブロック88はレベル2
のキャッシュまたは変換検索バッファの失敗が発生した
か否かの判定を示し、もしこれが発生していなければ、
上述したようにプロセスは反復態様でブロック86に戻
り、論理経路iの実行を継続する。
【0025】更にブロック88を参照して、レベル2のキ
ャッシュまたは変換検索バッファの失敗が発生した場合
には、プロセスはブロック90に進む。ブロック90は、上
述したように、論理経路の切り替えが可能になったか否
かの判定を示し、もし可能になっていなければ、プロセ
スは反復態様でブロック86に戻る。しかし、論理経路の
切り替えが可能になっている場合には、プロセスはブロ
ック92に進む。
【0026】ブロック92は論理経路iの状態の保存とこ
の論理経路に「NOT READY」という符号を付けることを
示す。その後プロセスはブロック94に進む。ブロック94
は切り替え事象の処理とこの切り替え事象が解決した場
合にこの論理経路に「READY」という符号を付けること
を同時に行うことを示す。即ち、これは主記憶装置から
所望のデータを得ることによって、レベル2の失敗が満
足された場合である。引き続いて、プロセスは、上述し
たように切り替え事象を処理しながら、ブロック96に進
み、他の論理経路の実行が準備されているか否かを判定
する。もしこれが準備されていればプロセスはブロック
98に進み、このブロック98は現行の論理経路を最高の優
先度と「READY」の指示を有する論理経路に変更するこ
とを示している。ブロック102に示すように、その論理
経路の論理経路の状態を次に設定し、プロセスは上述し
たように反復態様でブロック86に戻る。
【0027】再びブロック96を参照して、本発明の重要
な特徴に従って、システム内の他の論理経路が「READ
Y」と指示されていない場合には、プロセスはブロック1
00に進む。ブロック100は、現行の論理経路を直前に動
作した論理経路に変更することを示す。このことは、直
前に動作した論理経路が後続の論理経路の前にその切り
替え辞書を最も解消する可能性のある論理経路であると
いう判断の結果として行われるものであり、従って、こ
の論理経路を現行の論理経路として選択することにより
メモリに対する待ち時間に起因する遅れを最小にするこ
とができる。次に、プロセスはブロック102に進み、こ
のブロック102は、この選択した論理経路に対するその
論理経路の状態の設定を示し、次にプロセスは反復態様
でブロック86に戻る。
【0028】さて図4を参照して、これは、本発明の方
法とシステムによる強制排除優先論理経路管理システム
を示す図1のデータ処理システム内で実行することので
きるプロセスの高レベル論理のフローチャートを示す。
図示のように、このプロセスはブロック110で開始さ
れ、その後ブロック112に進む。ブロック112は、全ての
論理経路(0, n - 1)と各論理経路に対する関連する優先
度の割り当てを示す。その後、プロセスはブロック114
に進む。ブロック114は、現行の論理経路iを最高の優
先度を有する論理経路と等しく設定することを示す。プ
ロセスは、次にブロック116に進み、このブロック116は
論理経路iの実行を示す。
【0029】次に、プロセスはブロック118に進む。ブ
ロック118はレベル2のキャッシュまたは変換検索バッ
ファの失敗が発生したか否かの判定を示し、もし失敗し
ていなければ、プロセスはブロック120に進む。ブロッ
ク120はより高い優先度の論理経路が「READY」として現
在指示されているか否かの判定を示し、もし指示されて
いなければ、プロセスは反復態様でブロック116に戻り
論理経路iの実行を継続する。
【0030】再びブロック118を参照して、レベル2の
キャッシュまたは変換検索バッファの失敗が発生した場
合には、プロセスはブロック122に進む。上で説明した
ように、ブロック122は論理経路の切り替えが可能にな
ったか否かの判定を示し、もし可能になっていなけれ
ば、プロセスは反復態様でブロック116に戻る。再びブ
ロック118を参照して、レベル2のキャッシュまたは変
換検索バッファの失敗は発生していないが、しかし、ブ
ロック120で判定したように現行の論理経路よりもより
優先度の高い論理経路が「READY」を示していれば、プ
ロセスはまたブロック122に進む。ブロック122は次に論
理経路の切り替えが可能になったか否かを判定し、もし
可能になっていなければプロセスは反復態様でブロック
116に戻る。
【0031】尚ブロック122を参照して、論理経路の切
り替えが可能である場合、及びレベル2のキャッシュま
たは変換検索バッファの失敗が発生しているか、または
現行の論理経路よりもより優先度の高い論理経路が「RE
ADY」を示し且つ論理経路の切り替えが可能である場合
には、プロセスはブロック124に進む。ブロック124は論
理経路iの状態の保存とこの論理経路に「NOT READY」
という符号を付けることを示す。次に、プロセスはブロ
ック126に進む。ブロック126は、もしいずれかの切り替
え事象が存在すればその切り替え事象の処理とその切り
替え事象の完了した場合に以前の現行論理経路に「READ
Y」の符号を付けることを同時に行うことを示す。勿
論、以前の現行論理経路が「READY」状態を示すより高
い優先度の論理経路に応答して中断された場合には切り
替え事象は処理されず、この以前の現行論理経路には
「READY」の符号が付けられることを当業者は理解す
る。次にプロセスはブロック128に進む。ブロック128は
他の論理経路が準備されているか否かの判定を示し、も
しこのプロセスがレベル2のキャッシュまたは変換検索
バッファの失敗の結果として発生したものであれば、各
論理経路の準備状態の判定が要求される。しかし、論理
経路の切り替えが「READY」状態を示すより優先度の高
い論理経路の結果として発生した場合には、ブロック12
8で判定したように、このより優先度の高い論理経路は
明らかに利用可能になる。その後プロセスはブロック13
0に進み、このブロック130は現行の論理経路の最も高い
優先度と「READY」の指示を有する論理経路への変更を
示す。
【0032】または、尚ブロック128を参照して、論理
経路の切り替えがレベル2のキャッシュまたは変換検索
バッファの失敗の結果として発生した場合にはプロセス
はブロック132に進む。上で説明したようにブロック132
は現行の論理経路の直前に動作した論理経路への変更を
示すが、これは、この論理経路は「READY」状態を達成
すべき最初の論理経路であるという理論によるものであ
る。その後、プロセスは再びブロック134に進み、この
ブロック134は新しい現行の論理経路に対するその論理
経路の状態の設定を示し、次にプロセスは、上で説明し
たように反復態様でブロック116に戻る。
【0033】さて図5を参照して、これは本発明の方法
とシステムによる第1論理経路管理システムを示す図1
のデータ処理システム内で実行することのできるプロセ
スを示す高レベル論理のフローチャートである。図示の
ように、このプロセスはブロック140で開始され、その
後ブロック142に進む。ブロック142は各論理経路(0, n-
1)に対するアイドル・ループのロードを示す。次に、
ブロック144に示すように、現行の論理経路をi = 0に設
定する。
【0034】プロセスは次にブロック146に進み、この
ブロック146は論理経路iの実行を示し、次にプロセス
はブロック148に進む。ブロック148は論理経路の切り替
えが可能である間に行われる切り替え事象の発生の判定
を示す。もしこれが発生すれば、プロセスはブロック15
0に進み、このブロック150は論理経路の切り替えと新し
い現行論理経路の設定を示す。プロセスは、次に反復態
様でブロック146に戻る。
【0035】再びブロック148を参照して、いずれの切
り替え事象も発生していないと判定した場合には、プロ
セスはブロック152に進む。ブロック152は現行論理経路
内のタスクが終了したか否かの判定を示し、もし終了し
ていなければ、プロセスは反復態様でブロック146に戻
って実行を継続する。しかし、タスクの終了している場
合には、プロセスはブロック154に進む。ブロック154は
現行の論理経路に於いて他のタスクの実行が準備されて
いるか否かの判定を示し、もし準備されていれば、プロ
セスはブロック156に進む。ブロック156は現行論理経路
に対する新しいタスクのロードを示し、次にこのプロセ
スは反復態様でブロック146に戻って現行論理経路の実
行を継続する。
【0036】尚ブロック154を参照して現在実行中の論
理経路に更にタスクが準備されていない場合にはプロセ
スはブロック158に進む。ブロック158は論理経路iに対
するアイドル・ループの開始を示し、次にプロセスは反
復態様でブロック146に戻り、列挙されている事象の内
の1つの発生を待機する。
【0037】最後に、図6を参照して、これは本発明の
方法とシステムによる第2論理経路管理システムを示す
図1のデータ処理システム内で実行することのできるプ
ロセスを示すプロセスの高レベル論理のフローチャート
を示す。図示のように、このプロセスはブロック170で
開始され、その後ブロック172に進む。ブロック172は、
各論理経路(0, n - 1)に対するアイドル・ループのロー
ドを示す。その後ブロック174に示すように、現行論理
経路iをi = 0に設定する。次にプロセスはブロック17
6に進む。ブロック176は現行論理経路に「VALID」の符
号を付けこれ以外の全ての論理経路に「NOT VALID」の
符号を付けることを示す。プロセスは次にブロック178
に進む。ブロック178は論理経路iの実行を示す。
【0038】その後、ブロック180に示すように、切り
替えが可能になっている状態で切り替え事象が発生した
か否かの判定を行う。もしこれが発生していれば、プロ
セスはブロック182に進む。ブロック182はシステム内の
他の論理経路が「VALID」であるか否かの判定を示す。
もし「VALID」でなければ、プロセスは反復態様でブロ
ック178に戻り、論理経路iの実行を継続する。また
は、他の論理経路が「VALID」であると判定されればプ
ロセスはブロック184に進む。ブロック184は、現行の論
理経路の「VALID」状態を示す論理経路から選択した新
しい論理経路への切り替えを示す。プロセスは次にブロ
ック178に戻り、上で説明した方法で新しい現行の論理
経路を実行する。
【0039】再びブロック180を参照して切り替え事象
が発生していないかまたは切り替えが可能になっていな
いと判定された場合には、プロセスはブロック186に進
む。ブロック186は現行のタスクが終了したか否かの判
定を示し、もし終了していればプロセスはブロック188
に進む。ブロック188は現行の論理経路内で他のタスク
の実行が準備されているか否かの判定を示し、もし準備
されていれば、プロセスはブロック190に進む。ブロッ
ク190は現行の論理経路に対する新しいタスクのロード
を示し、次にプロセスは反復態様でブロック178に戻
り、現行論理経路の実行を継続する。
【0040】再びブロック188を参照して、ブロック186
で判定したように現行のタスクが終了し、後続のタスク
が準備されていない場合には、プロセスはブロック194
に進む。ブロック194はシステム内の何れかの他の論理
経路が「VALID」を示しているか否かの判定を示す。も
しこれを示していなければ、プロセスはブロック196に
進み、ブロック196は論理経路iに対するアイドル・ル
ープの開始を示し、プロセスは次に反復態様でブロック
178に戻る。しかし、システム内の他の論理経路が「VAL
ID」を示している場合には、プロセスはブロック194か
らブロック200に進む。ブロック200は現行の論理経路に
「NOT VALID」の符号を付けることを示し、プロセスは
次にブロック184に戻り、現行論理経路を有効な論理経
路から選択した新しい論理経路に変更する。
【0041】再びブロック186を参照して、現行のタス
クが終了していない場合には、プロセスはブロック192
に進む。ブロック192は新しいタスクが準備されている
か否かの判定を示し、もし準備されていなければ、プロ
セスは反復態様でブロック178に戻り、上で説明した方
法で論理経路iの実行を継続する。しかし、ブロック19
2で判定したように、新しいタスクが準備されている場
合には、プロセスはブロック198に進む。ブロック198は
いずれかの「NOT VALID」の論理経路がシステム内の論
理経路に存在するか否かの判定を示し、もし存在しなけ
れば、プロセスは反復態様でブロック178に戻り、論理
経路iの実行を継続する。しかし、「NOT VALID」の論
理経路がシステム内に存在する場合には、プロセスはブ
ロック202に進む。ブロック202は、1個の「NOT VALI
D」の論理経路の選択、その論理経路に「VALID」の符号
を付けること及びその論理経路に対して準備の整ってい
るタスクをロードすることを示す。プロセスは次に反復
態様でブロック178に戻り、論理経路iの実行を継続す
る。その後、論理経路の切り替え事象が発生した場合に
はその中に存在している新しいタスクを有する「VALI
D」の論理経路の実行が準備される。
【0042】本発明を1つの好適な実施例を参照して特
に図示して説明したがこの実施例の態様と詳細には本発
明の精神と範囲から逸脱することなく種々の変更の行わ
れることを当業者は理解する。
【0043】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)プロセッサ、主記憶装置及び少なくとも2つのレ
ベルのキャッシュ・メモリを有するデータ処理システム
に於いて高性能の多重論理経路の動作を行う方法に於い
て、上記の方法は、第1論理経路内で少なくとも1つの
命令を実行するステップと、その後上記の第1論理経路
内の選択した点に於ける上記のプロセッサの状態を格納
し、上記の第1論理経路の実行を終了し、識別した事象
が発生し上記の識別した事象が論理経路の切り替えに必
要な時間の長さを超える上記の事象と関連する遅れを有
する場合に、上記の識別した事象に応答してのみ第2論
理経路に実行を切り替えるステップと、上記の第2論理
経路内で少なくとも1つの命令を実行するステップであ
って、この場合メモリに対するアクセスの待ち時間に起
因する処理遅れが最小になる上記のステップと、を含む
ことを特徴とする方法。 (2)上記の識別した事象の上記の発生に応答して上記
の第1論理経路と関連する非有効性の指示を格納するス
テップを更に含むことを特徴とする上記(1)に記載の
方法。 (3)上記の識別した事象の完了に続いて上記の第1論
理経路と関連する上記の非有効性の指示を除去するステ
ップを更に含むことを特徴とする上記(2)に記載の方
法。 (4)上記のデータ処理システムは複数のレジスタを有
し、上記の第1論理経路内の選択した点に於ける上記の
プロセッサの状態を格納する上記のステップは、上記の
第1論理経路と連動するレジスタ内の上記の第1論理経
路内の選択した点に於ける上記のプロセッサの状態を格
納するステップを含むことを特徴とする上記(1)に記
載の方法。 (5)上記のデータ処理システム内の各論理経路に対す
る有効性の状態を判定し、上記の判定に応答して実行す
る第2論理経路を選択するステップを更に含むことを特
徴とする上記(3)に記載の方法。 (6)上記の識別した事象の上記の発生に続いて、上記
のデータ処理システム内に残っている全ての論理経路と
関連する非有効性の指示に応答して直前に実行した論理
経路を選択して実行するステップを更に含むことを特徴
とする上記(5)に記載の方法。 (7)切り替え可能ビットの状態に応答して上記のデー
タ処理システム内で後続の論理経路の実行を選択的に禁
止するステップを更に含むことを特徴とする上記1)に
記載の方法。 (8)上記のデータ処理システム内の各論理経路と関連
する優先度の指示に応答して上記の識別した事象の上記
の発生に続いて上記の第2論理経路を選択して実行する
ステップを更に有することを特徴とする上記(1)に記
載の方法。 (9)プロセッサ、主記憶装置及び少なくとも2つのレ
ベルのキャッシュ・メモリを有するデータ処理システム
に於いて高性能の多重論理経路の動作を行う方法に於い
て、上記の方法は、第1論理経路内で少なくとも1つの
命令を実行するステップと、その後上記の第1論理経路
内の選択した点に於ける上記のプロセッサの状態を格納
し、上記の第1論理経路の実行を終了し、レベル2また
はこれより高いキャッシュの失敗に応答してのみ第2論
理経路に実行を切り替えるステップと、上記のレベル2
またはこれより高いキャッシュの失敗に対するアドレス
の指示を保持するステップと、上記の第2論理経路内で
少なくとも1つの命令を実行するステップであって、こ
の場合メモリに対するアクセスの待ち時間に起因する処
理遅れが最小になる上記のステップと、を含むことを特
徴とする方法。 (10)上記のレベル2またはこれより高いの失敗に応
答して上記の第1論理経路と関連する非有効性の指示を
格納するステップを更に含むことを特徴とする上記
(9)に記載の方法。 (11)上記のレベル2またはこれより高いキャッシュ
の失敗に対して保持した上記のアドレスの指示に於ける
データまたは命令を上記の主記憶装置から検索するのに
続いて、上記の第1論理経路と関連する上記の非有効性
の指示を除去するステップを更に含むことを特徴とする
上記(10)に記載の方法。 (12)上記のデータ処理システムは複数のレジスタを
有し、上記の第1論理経路内の選択した点に於ける上記
のプロセッサの状態を格納する上記のステップは、上記
の第1論理経路と連動するレジスタ内の上記の第1論理
経路内の選択した点に於ける上記のプロセッサの状態を
格納するステップを含むことを特徴とする上記(9)に
記載の方法。 (13)上記のデータ処理システム内の各論理経路に対
する有効性の状態を判定し、上記の判定に応答して実行
する第2論理経路を選択するステップを更に含むことを
特徴とする上記(11)に記載の方法。 (14)上記のレベル2またはこれより高いキャッシュ
の失敗に続いて、上記のデータ処理システム内に残って
いる全ての論理経路と関連する非有効性の指示に応答し
て直前に実行した論理経路を選択して実行するステップ
を更に含むことを特徴とする上記(13)に記載の方
法。 (15)切り替え可能ビットの状態に応答して上記のデ
ータ処理システム内で後続の論理経路の実行を選択的に
禁止するステップを更に含むことを特徴とする上記
(9)に記載の方法。 (16)上記のデータ処理システム内の各論理経路と関
連する優先度の指示に応答して上記のレベル2またはこ
れより高いキャッシュの失敗に続いて、上記の第2論理
経路を選択して実行するステップを更に含むことを特徴
とする上記(9)に記載の方法。 (17)プロセッサ、主記憶装置及び少なくとも2つの
レベルのキャッシュ・メモリを有するデータ処理システ
ムに於いて高性能の多重論理経路の動作を行うシステム
に於いて、上記のシステムは、第1論理経路内で少なく
とも1つの命令を実行する手段と、その後上記の第1論
理経路内の選択した点に於ける上記のプロセッサの状態
を格納し、上記の第1論理経路の実行を終了し、レベル
2またはこれより高いキャッシュの失敗に応答してのみ
第2論理経路に実行を切り替える手段と、上記のレベル
2またはこれより高いキャッシュの失敗に対するアドレ
スの指示を保持する手段と、上記の第2論理経路内で少
なくとも1つの命令を実行する手段であって、この場合
メモリに対するアクセスの待ち時間に起因する処理遅れ
が最小になる上記の手段と、を有することを特徴とする
方法。 (18)上記のレベル2またはこれより高いキャッシュ
の失敗に応答して上記の第1論理経路と関連する非有効
性の指示を格納する手段を更に有することを特徴とする
上記(17)に記載のシステム。 (19)上記のレベル2またはこれより高いキャッシュ
の失敗に対して保持した上記のアドレスの指示に於ける
データまたは命令を上記の主記憶装置から検索するのに
続いて、上記の第1論理経路と関連する上記の非有効性
の指示を除去する手段を更に有することを特徴とする上
記(18)に記載のシステム。 (20)上記のデータ処理システムは複数のレジスタを
有し、上記の第1論理経路内の選択した点に於ける上記
のプロセッサの状態を格納する上記の手段は、上記の第
1論理経路と連動するレジスタ内の上記の第1論理経路
内の選択した点に於ける上記のプロセッサの状態を格納
するステップを有することを特徴とする上記(17)に
記載のシステム。 (21)上記のデータ処理システム内の各論理経路に対
する有効性の状態を判定し、上記の判定に応答して第2
論理経路を選択して実行する手段を更に有することを特
徴とする上記(17)に記載のシステム。 (22)上記のレベル2またはこれより高いキャッシュ
の失敗に続いて、上記のデータ処理システム内に残って
いる全ての論理経路と関連する非有効性の指示に応答し
て直前に実行した論理経路を選択して実行する手段を更
に有することを特徴とする上記(21)に記載のシステ
ム。 (23)切り替え可能ビットの状態に応答して上記のデ
ータ処理システム内で後続の論理経路の実行を選択的に
禁止する手段を更に有することを特徴とする上記(1
7)に記載のシステム。 (24)上記のデータ処理システム内の各論理経路と関
連する優先度の指示に応答して上記のレベル2またはこ
れより高いキャッシュの失敗に続いて、上記の第2論理
経路を選択して実行する手段を更に有することを特徴と
する上記(17)に記載のシステム。 (25)プロセッサ、主記憶装置及び少なくとも2つの
レベルのキャッシュ・メモリを有するデータ処理システ
ムに於いて高性能の多重論理経路の動作を行うためのコ
ンピュータ・プログラム製品であって、上記のデータ処
理システムに挿入した記憶媒体内に設けた上記のコンピ
ュータ・プログラム製品に於いて、上記のコンピュータ
・プログラム製品は、上記の記憶媒体に格納され、第1
論理経路内で少なくとも1つの命令を実行する命令手段
と、上記の記憶媒体内に格納され、上記のプロセッサの
上記の第1論理経路内の選択された点に於ける状態をそ
の後格納し、上記の第1論理経路の実行を終了し、レベ
ル2またはこれより高いキャッシュの失敗にのみ応答し
て実行を第2論理経路に切り替える命令手段と、上記の
記憶媒体内に格納され、上記のレベル2またはこれより
高いキャッシュの失敗に対するアドレスの指示を保持す
る命令手段と、上記の記憶媒体内に格納され、上記の第
2論理経路内で少なくとも1つの命令を実行する命令手
段であって、この場合メモリに対するアクセスの待ち時
間に起因する処理遅れが最小になる上記の命令手段と、
によって構成されることを特徴とするコンピュータ・プ
ログラム製品。
【図面の簡単な説明】
【図1】本発明の方法とシステムを実行するために使用
することのできるデータ処理システムの高レベルのブロ
ック図である。
【図2】図1のデータ処理システム内で実行することの
できるプロセスの高レベル論理フローチャートであり、
本発明の方法とシステムによる基本動作を示す。
【図3】図1のデータ処理システム内で実行することの
できるプロセスの高レベル論理フローチャートであり、
本発明の方法とシステムによる簡単な優先論理経路管理
システムを示す。
【図4】図1のデータ処理システム内で実行することの
できるプロセスの高レベル論理フローチャートであり、
本発明の方法とシステムによる強制排除優先論理経路管
理システムを示す。
【図5】図1のデータ処理システム内で実行することの
できるプロセスの高レベル論理フローチャートであり、
本発明の方法とシステムによる第1論理経路管理システ
ムを示す。
【図6】図1のデータ処理システム内で実行することの
できるプロセスの高レベル論理フローチャートであり、
本発明の方法とシステムによる第2論理経路管理システ
ムを示す。
【符号の説明】 10 データ処理システム 12 プロセッサ 14 主記憶装置 16 データ・キャッシュ 18 命令キャッシュ 20 レベル2のキャッシュ 22 レベル2のキャッシュ/メモリ・インタフ
ェース 24 変換検索バッファ 26 ブランチ・ユニット 28 固定点ユニット 30 ロード/ストア・ユニット 32 浮動点ユニット 34 命令フロー・ユニット 36 一般用抵抗 38 特別目的用抵抗 40 浮動点抵抗 42 バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リチャード・ジェームス・エイックメイヤ ー アメリカ合衆国55901、ミネソタ州ローチ ェスター エヌダブル ハワード・ストリ ート 5277 (72)発明者 ロス・エバン・ジョンソン アメリカ合衆国55906、ミネソタ州ローチ ェスター サーテイセカンド・ストリート エヌイー 504 (72)発明者 ハロルド・エフ・コスマン アメリカ合衆国55906、ミネソタ州ローチ ェスター シティビュー・コート 1437 (72)発明者 スティーブン・レイモンド・クンケル アメリカ合衆国55901、ミネソタ州ローチ ェスター エヌダブル ランキャスター・ プレイス 5803 (72)発明者 ティモシー・ジョン・ミュリィンス アメリカ合衆国55901、ミネソタ州ローチ ェスター エヌダブル トウェンティシッ クス・アベヌュー 5608 (72)発明者 ジェームス・アレン・ローズ アメリカ合衆国55901、ミネソタ州ローチ ェスター エヌダブル サード・ストリー ト 4037

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】プロセッサ、主記憶装置及び少なくとも2
    つのレベルのキャッシュ・メモリを有するデータ処理シ
    ステムに於いて高性能の多重論理経路の動作を行う方法
    に於いて、上記の方法は、 第1論理経路内で少なくとも1つの命令を実行するステ
    ップと、 その後上記の第1論理経路内の選択した点に於ける上記
    のプロセッサの状態を格納し、上記の第1論理経路の実
    行を終了し、識別した事象が発生し上記の識別した事象
    が論理経路の切り替えに必要な時間の長さを超える上記
    の事象と関連する遅れを有する場合に、上記の識別した
    事象に応答してのみ第2論理経路に実行を切り替えるス
    テップと、 上記の第2論理経路内で少なくとも1つの命令を実行す
    るステップであって、この場合メモリに対するアクセス
    の待ち時間に起因する処理遅れが最小になる上記のステ
    ップと、 を含むことを特徴とする方法。
  2. 【請求項2】上記の識別した事象の上記の発生に応答し
    て上記の第1論理経路と関連する非有効性の指示を格納
    するステップを更に含むことを特徴とする請求項1記載
    の方法。
  3. 【請求項3】上記の識別した事象の完了に続いて上記の
    第1論理経路と関連する上記の非有効性の指示を除去す
    るステップを更に含むことを特徴とする請求項2記載の
    方法。
  4. 【請求項4】上記のデータ処理システムは複数のレジス
    タを有し、上記の第1論理経路内の選択した点に於ける
    上記のプロセッサの状態を格納する上記のステップは、
    上記の第1論理経路と連動するレジスタ内の上記の第1
    論理経路内の選択した点に於ける上記のプロセッサの状
    態を格納するステップを含むことを特徴とする請求項1
    記載の方法。
  5. 【請求項5】上記のデータ処理システム内の各論理経路
    に対する有効性の状態を判定し、上記の判定に応答して
    実行する第2論理経路を選択するステップを更に含むこ
    とを特徴とする請求項3記載の方法。
  6. 【請求項6】上記の識別した事象の上記の発生に続い
    て、上記のデータ処理システム内に残っている全ての論
    理経路と関連する非有効性の指示に応答して直前に実行
    した論理経路を選択して実行するステップを更に含むこ
    とを特徴とする請求項5記載の方法。
  7. 【請求項7】切り替え可能ビットの状態に応答して上記
    のデータ処理システム内で後続の論理経路の実行を選択
    的に禁止するステップを更に含むことを特徴とする請求
    項1記載の方法。
  8. 【請求項8】上記のデータ処理システム内の各論理経路
    と関連する優先度の指示に応答して上記の識別した事象
    の上記の発生に続いて上記の第2論理経路を選択して実
    行するステップを更に有することを特徴とする請求項1
    記載の方法。
  9. 【請求項9】プロセッサ、主記憶装置及び少なくとも2
    つのレベルのキャッシュ・メモリを有するデータ処理シ
    ステムに於いて高性能の多重論理経路の動作を行う方法
    に於いて、上記の方法は、 第1論理経路内で少なくとも1つの命令を実行するステ
    ップと、 その後上記の第1論理経路内の選択した点に於ける上記
    のプロセッサの状態を格納し、上記の第1論理経路の実
    行を終了し、レベル2またはこれより高いキャッシュの
    失敗に応答してのみ第2論理経路に実行を切り替えるス
    テップと、 上記のレベル2またはこれより高いキャッシュの失敗に
    対するアドレスの指示を保持するステップと、 上記の第2論理経路内で少なくとも1つの命令を実行す
    るステップであって、この場合メモリに対するアクセス
    の待ち時間に起因する処理遅れが最小になる上記のステ
    ップと、 を含むことを特徴とする方法。
  10. 【請求項10】上記のレベル2またはこれより高いの失
    敗に応答して上記の第1論理経路と関連する非有効性の
    指示を格納するステップを更に含むことを特徴とする請
    求項9記載の方法。
  11. 【請求項11】上記のレベル2またはこれより高いキャ
    ッシュの失敗に対して保持した上記のアドレスの指示に
    於けるデータまたは命令を上記の主記憶装置から検索す
    るのに続いて、上記の第1論理経路と関連する上記の非
    有効性の指示を除去するステップを更に含むことを特徴
    とする請求項10記載の方法。
  12. 【請求項12】上記のデータ処理システムは複数のレジ
    スタを有し、上記の第1論理経路内の選択した点に於け
    る上記のプロセッサの状態を格納する上記のステップ
    は、上記の第1論理経路と連動するレジスタ内の上記の
    第1論理経路内の選択した点に於ける上記のプロセッサ
    の状態を格納するステップを含むことを特徴とする請求
    項9記載の方法。
  13. 【請求項13】上記のデータ処理システム内の各論理経
    路に対する有効性の状態を判定し、上記の判定に応答し
    て実行する第2論理経路を選択するステップを更に含む
    ことを特徴とする請求項11記載の方法。
  14. 【請求項14】上記のレベル2またはこれより高いキャ
    ッシュの失敗に続いて、上記のデータ処理システム内に
    残っている全ての論理経路と関連する非有効性の指示に
    応答して直前に実行した論理経路を選択して実行するス
    テップを更に含むことを特徴とする請求項13記載の方
    法。
  15. 【請求項15】切り替え可能ビットの状態に応答して上
    記のデータ処理システム内で後続の論理経路の実行を選
    択的に禁止するステップを更に含むことを特徴とする請
    求項9記載の方法。
  16. 【請求項16】上記のデータ処理システム内の各論理経
    路と関連する優先度の指示に応答して上記のレベル2ま
    たはこれより高いキャッシュの失敗に続いて、上記の第
    2論理経路を選択して実行するステップを更に含むこと
    を特徴とする請求項9記載の方法。
  17. 【請求項17】プロセッサ、主記憶装置及び少なくとも
    2つのレベルのキャッシュ・メモリを有するデータ処理
    システムに於いて高性能の多重論理経路の動作を行うシ
    ステムに於いて、上記のシステムは、 第1論理経路内で少なくとも1つの命令を実行する手段
    と、 その後上記の第1論理経路内の選択した点に於ける上記
    のプロセッサの状態を格納し、上記の第1論理経路の実
    行を終了し、レベル2またはこれより高いキャッシュの
    失敗に応答してのみ第2論理経路に実行を切り替える手
    段と、 上記のレベル2またはこれより高いキャッシュの失敗に
    対するアドレスの指示を保持する手段と、 上記の第2論理経路内で少なくとも1つの命令を実行す
    る手段であって、この場合メモリに対するアクセスの待
    ち時間に起因する処理遅れが最小になる上記の手段と、 を有することを特徴とする方法。
  18. 【請求項18】上記のレベル2またはこれより高いキャ
    ッシュの失敗に応答して上記の第1論理経路と関連する
    非有効性の指示を格納する手段を更に有することを特徴
    とする請求項17記載のシステム。
  19. 【請求項19】上記のレベル2またはこれより高いキャ
    ッシュの失敗に対して保持した上記のアドレスの指示に
    於けるデータまたは命令を上記の主記憶装置から検索す
    るのに続いて、上記の第1論理経路と関連する上記の非
    有効性の指示を除去する手段を更に有することを特徴と
    する請求項18記載のシステム。
  20. 【請求項20】上記のデータ処理システムは複数のレジ
    スタを有し、上記の第1論理経路内の選択した点に於け
    る上記のプロセッサの状態を格納する上記の手段は、上
    記の第1論理経路と連動するレジスタ内の上記の第1論
    理経路内の選択した点に於ける上記のプロセッサの状態
    を格納するステップを有することを特徴とする請求項1
    7記載のシステム。
  21. 【請求項21】上記のデータ処理システム内の各論理経
    路に対する有効性の状態を判定し、上記の判定に応答し
    て第2論理経路を選択して実行する手段を更に有するこ
    とを特徴とする請求項17記載のシステム。
  22. 【請求項22】上記のレベル2またはこれより高いキャ
    ッシュの失敗に続いて、上記のデータ処理システム内に
    残っている全ての論理経路と関連する非有効性の指示に
    応答して直前に実行した論理経路を選択して実行する手
    段を更に有することを特徴とする請求項21記載のシス
    テム。
  23. 【請求項23】切り替え可能ビットの状態に応答して上
    記のデータ処理システム内で後続の論理経路の実行を選
    択的に禁止する手段を更に有することを特徴とする請求
    項17記載のシステム。
  24. 【請求項24】上記のデータ処理システム内の各論理経
    路と関連する優先度の指示に応答して上記のレベル2ま
    たはこれより高いキャッシュの失敗に続いて、上記の第
    2論理経路を選択して実行する手段を更に有することを
    特徴とする請求項17記載のシステム。
  25. 【請求項25】プロセッサ、主記憶装置及び少なくとも
    2つのレベルのキャッシュ・メモリを有するデータ処理
    システムに於いて高性能の多重論理経路の動作を行うた
    めのコンピュータ・プログラム製品であって、上記のデ
    ータ処理システムに挿入した記憶媒体内に設けた上記の
    コンピュータ・プログラム製品に於いて、上記のコンピ
    ュータ・プログラム製品は、 上記の記憶媒体に格納され、第1論理経路内で少なくと
    も1つの命令を実行する命令手段と、 上記の記憶媒体内に格納され、上記のプロセッサの上記
    の第1論理経路内の選択された点に於ける状態をその後
    格納し、上記の第1論理経路の実行を終了し、レベル2
    またはこれより高いキャッシュの失敗にのみ応答して実
    行を第2論理経路に切り替える命令手段と、 上記の記憶媒体内に格納され、上記のレベル2またはこ
    れより高いキャッシュの失敗に対するアドレスの指示を
    保持する命令手段と、 上記の記憶媒体内に格納され、上記の第2論理経路内で
    少なくとも1つの命令を実行する命令手段であって、こ
    の場合メモリに対するアクセスの待ち時間に起因する処
    理遅れが最小になる上記の命令手段と、 によって構成されることを特徴とするコンピュータ・プ
    ログラム製品。
JP8128030A 1995-06-07 1996-05-23 データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム Pending JPH096633A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47369295A 1995-06-07 1995-06-07
US473692 1995-06-07

Publications (1)

Publication Number Publication Date
JPH096633A true JPH096633A (ja) 1997-01-10

Family

ID=23880605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8128030A Pending JPH096633A (ja) 1995-06-07 1996-05-23 データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム

Country Status (4)

Country Link
US (1) US6049867A (ja)
EP (1) EP0747816B1 (ja)
JP (1) JPH096633A (ja)
DE (1) DE69637851D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040141A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd マルチスレッドプロセッサ

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088788A (en) * 1996-12-27 2000-07-11 International Business Machines Corporation Background completion of instruction and associated fetch request in a multithread processor
US5835705A (en) * 1997-03-11 1998-11-10 International Business Machines Corporation Method and system for performance per-thread monitoring in a multithreaded processor
UA55489C2 (uk) * 1997-10-07 2003-04-15 Каналь+ Сосьєте Анонім Пристрій для багатопотокової обробки даних (варіанти)
EP0909094A1 (en) * 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor
US6697935B1 (en) 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6076157A (en) * 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6105051A (en) * 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6212544B1 (en) 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6263404B1 (en) 1997-11-21 2001-07-17 International Business Machines Corporation Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system
US6016542A (en) * 1997-12-31 2000-01-18 Intel Corporation Detecting long latency pipeline stalls for thread switching
US6308261B1 (en) * 1998-01-30 2001-10-23 Hewlett-Packard Company Computer system having an instruction for probing memory latency
US6205519B1 (en) 1998-05-27 2001-03-20 Hewlett Packard Company Cache management for a multi-threaded processor
US6535905B1 (en) 1999-04-29 2003-03-18 Intel Corporation Method and apparatus for thread switching within a multithreaded processor
US6341347B1 (en) * 1999-05-11 2002-01-22 Sun Microsystems, Inc. Thread switch logic in a multiple-thread processor
US6338128B1 (en) * 1999-05-20 2002-01-08 International Business Machines Corp. System and method for invalidating an entry in a translation unit
US6542921B1 (en) 1999-07-08 2003-04-01 Intel Corporation Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
US6606704B1 (en) * 1999-08-31 2003-08-12 Intel Corporation Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6889319B1 (en) 1999-12-09 2005-05-03 Intel Corporation Method and apparatus for entering and exiting multiple threads within a multithreaded processor
US6496925B1 (en) 1999-12-09 2002-12-17 Intel Corporation Method and apparatus for processing an event occurrence within a multithreaded processor
US6357016B1 (en) 1999-12-09 2002-03-12 Intel Corporation Method and apparatus for disabling a clock signal within a multithreaded processor
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) * 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US7051329B1 (en) 1999-12-28 2006-05-23 Intel Corporation Method and apparatus for managing resources in a multithreaded processor
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US7856633B1 (en) 2000-03-24 2010-12-21 Intel Corporation LRU cache replacement for a partitioned set associative cache
US6931641B1 (en) 2000-04-04 2005-08-16 International Business Machines Corporation Controller for multiple instruction thread processors
US20030005252A1 (en) * 2001-06-28 2003-01-02 Wilson Kenneth M. Managing latencies in accessing memory of computer systems
US6944736B2 (en) * 2001-06-28 2005-09-13 Hewlett-Packard Development Company, L.P. Managing latencies in accessing memory of computer systems
JP3702814B2 (ja) * 2001-07-12 2005-10-05 日本電気株式会社 マルチスレッド実行方法及び並列プロセッサシステム
US7209996B2 (en) 2001-10-22 2007-04-24 Sun Microsystems, Inc. Multi-core multi-thread processor
US7363474B2 (en) 2001-12-31 2008-04-22 Intel Corporation Method and apparatus for suspending execution of a thread until a specified memory access occurs
US7127561B2 (en) 2001-12-31 2006-10-24 Intel Corporation Coherency techniques for suspending execution of a thread until a specified memory access occurs
JP2003271551A (ja) * 2002-03-18 2003-09-26 Fujitsu Ltd マイクロコンピュータ、バス制御回路およびマイクロコンピュータにおけるデータアクセス方法
WO2003102758A1 (en) * 2002-05-31 2003-12-11 University Of Delaware Method and apparatus for real-time multithreading
US8024735B2 (en) 2002-06-14 2011-09-20 Intel Corporation Method and apparatus for ensuring fairness and forward progress when executing multiple threads of execution
US7471688B2 (en) * 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US20040034759A1 (en) * 2002-08-16 2004-02-19 Lexra, Inc. Multi-threaded pipeline with context issue rules
US7096470B2 (en) * 2002-09-19 2006-08-22 International Business Machines Corporation Method and apparatus for implementing thread replacement for optimal performance in a two-tiered multithreading structure
US20050033889A1 (en) * 2002-10-08 2005-02-10 Hass David T. Advanced processor with interrupt delivery mechanism for multi-threaded multi-CPU system on a chip
US7984268B2 (en) * 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US7924828B2 (en) * 2002-10-08 2011-04-12 Netlogic Microsystems, Inc. Advanced processor with mechanism for fast packet queuing operations
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7627721B2 (en) 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US8176298B2 (en) * 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
US7346757B2 (en) * 2002-10-08 2008-03-18 Rmi Corporation Advanced processor translation lookaside buffer management in a multithreaded system
US9088474B2 (en) * 2002-10-08 2015-07-21 Broadcom Corporation Advanced processor with interfacing messaging network to a CPU
US8015567B2 (en) 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
US7334086B2 (en) 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US7961723B2 (en) * 2002-10-08 2011-06-14 Netlogic Microsystems, Inc. Advanced processor with mechanism for enforcing ordering between information sent on two independent networks
US8478811B2 (en) * 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US7433307B2 (en) * 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US20040128476A1 (en) * 2002-12-26 2004-07-01 Robert Nuckolls Scheme to simplify instruction buffer logic supporting multiple strands
US20040128488A1 (en) * 2002-12-26 2004-07-01 Thimmannagari Chandra M. R. Strand switching algorithm to avoid strand starvation
US7337443B2 (en) * 2003-06-30 2008-02-26 Microsoft Corporation Method and apparatus for processing program threads
US20050047439A1 (en) * 2003-08-26 2005-03-03 Madajczak Tomasz Bogdan System to process packets according to an assigned sequence number
US20050060517A1 (en) * 2003-09-12 2005-03-17 Morrow Michael W. Switching processor threads during long latencies
US7536692B2 (en) * 2003-11-06 2009-05-19 Intel Corporation Thread-based engine cache partitioning
US20050102474A1 (en) * 2003-11-06 2005-05-12 Sridhar Lakshmanamurthy Dynamically caching engine instructions
US20050108479A1 (en) * 2003-11-06 2005-05-19 Sridhar Lakshmanamurthy Servicing engine cache requests
DE10353267B3 (de) * 2003-11-14 2005-07-28 Infineon Technologies Ag Multithread-Prozessorarchitektur zum getriggerten Thread-Umschalten ohne Zykluszeitverlust und ohne Umschalt-Programmbefehl
US20060037017A1 (en) * 2004-08-12 2006-02-16 International Business Machines Corporation System, apparatus and method of reducing adverse performance impact due to migration of processes from one CPU to another
US20060036810A1 (en) * 2004-08-12 2006-02-16 International Business Machines Corporation System, application and method of reducing cache thrashing in a multi-processor with a shared cache on which a disruptive process is executing
EP1811375B1 (en) * 2004-09-17 2010-05-12 Panasonic Corporation Processor
US7506325B2 (en) * 2004-10-07 2009-03-17 International Business Machines Corporation Partitioning processor resources based on memory usage
US7398371B2 (en) * 2005-06-23 2008-07-08 Qualcomm Incorporated Shared translation look-aside buffer and method
US7823158B2 (en) * 2005-08-18 2010-10-26 International Business Machines Corporation Adaptive scheduling and management of work processing in a target context in resource contention
US7617380B2 (en) * 2005-08-25 2009-11-10 Broadcom Corporation System and method for synchronizing translation lookaside buffer access in a multithread processor
US8225327B2 (en) * 2005-09-15 2012-07-17 International Business Machines Corporation Synchronizing access to a shared resource utilizing selective locking
US7818747B1 (en) * 2005-11-03 2010-10-19 Oracle America, Inc. Cache-aware scheduling for a chip multithreading processor
US8032737B2 (en) * 2006-08-14 2011-10-04 Marvell World Trade Ltd. Methods and apparatus for handling switching among threads within a multithread processor
US20080313652A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Notifying user mode scheduler of blocking events
GB2451845B (en) * 2007-08-14 2010-03-17 Imagination Tech Ltd Compound instructions in a multi-threaded processor
US9596324B2 (en) * 2008-02-08 2017-03-14 Broadcom Corporation System and method for parsing and allocating a plurality of packets to processor core threads
US9256465B2 (en) 2010-12-13 2016-02-09 Advanced Micro Devices, Inc. Process device context switching
US9734033B2 (en) 2014-12-08 2017-08-15 International Business Machines Corporation Implementing processor functional verification by generating and running constrained random irritator tests for multiple processor system and processor core with multiple threads
US11068274B2 (en) * 2017-12-15 2021-07-20 International Business Machines Corporation Prioritized instructions in an instruction completion table of a simultaneous multithreading processor
CN113626348A (zh) * 2021-07-22 2021-11-09 支付宝(杭州)信息技术有限公司 业务执行方法、装置和电子设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3913070A (en) * 1973-02-20 1975-10-14 Memorex Corp Multi-processor data processing system
US4229790A (en) * 1978-10-16 1980-10-21 Denelcor, Inc. Concurrent task and instruction processor and method
US4434461A (en) * 1980-09-15 1984-02-28 Motorola, Inc. Microprocessor with duplicate registers for processing interrupts
US5694603A (en) * 1982-09-28 1997-12-02 Reiffin; Martin G. Computer memory product with preemptive multithreading software
US4816989A (en) * 1987-04-15 1989-03-28 Allied-Signal Inc. Synchronizer for a fault tolerant multiple node processing system
US5142677A (en) * 1989-05-04 1992-08-25 Texas Instruments Incorporated Context switching devices, systems and methods
DE68909426T2 (de) * 1988-01-15 1994-01-27 Quantel Ltd Datenverarbeitung und -übertragung.
US5012409A (en) * 1988-03-10 1991-04-30 Fletcher Mitchell S Operating system for a multi-tasking operating environment
US5003462A (en) * 1988-05-31 1991-03-26 International Business Machines Corporation Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US5210871A (en) * 1988-07-15 1993-05-11 The Charles Stark Draper Labroatory, Inc. Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system
KR0136594B1 (ko) * 1988-09-30 1998-10-01 미다 가쓰시게 단일칩 마이크로 컴퓨터
GB2234613B (en) * 1989-08-03 1993-07-07 Sun Microsystems Inc Method and apparatus for switching context of state elements in a microprocessor
US5261099A (en) * 1989-08-24 1993-11-09 International Business Machines Corp. Synchronous communications scheduler allowing transient computing overloads using a request buffer
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5109512A (en) * 1990-05-31 1992-04-28 International Business Machines Corporation Process for dispatching tasks among multiple information processors
US5220653A (en) * 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
JP2908598B2 (ja) * 1991-06-06 1999-06-21 松下電器産業株式会社 情報処理装置
US5247675A (en) * 1991-08-09 1993-09-21 International Business Machines Corporation Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system
US5357617A (en) * 1991-11-22 1994-10-18 International Business Machines Corporation Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor
US5457793A (en) * 1992-03-30 1995-10-10 International Business Machines Corporation Software cache management of a shared electronic store in a supplex
US5287508A (en) * 1992-04-07 1994-02-15 Sun Microsystems, Inc. Method and apparatus for efficient scheduling in a multiprocessor system
US5247677A (en) * 1992-05-22 1993-09-21 Apple Computer, Inc. Stochastic priority-based task scheduler
JP2561801B2 (ja) * 1993-02-24 1996-12-11 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセス・スケジューリングの管理方法およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040141A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd マルチスレッドプロセッサ

Also Published As

Publication number Publication date
EP0747816A3 (en) 2005-11-30
DE69637851D1 (de) 2009-04-16
EP0747816B1 (en) 2009-03-04
US6049867A (en) 2000-04-11
EP0747816A2 (en) 1996-12-11

Similar Documents

Publication Publication Date Title
JPH096633A (ja) データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US6065103A (en) Speculative store buffer
US6061710A (en) Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
US5613083A (en) Translation lookaside buffer that is non-blocking in response to a miss for use within a microprocessor capable of processing speculative instructions
US6157993A (en) Prefetching data using profile of cache misses from earlier code executions
US6151662A (en) Data transaction typing for improved caching and prefetching characteristics
US8255670B2 (en) Replay reduction for power saving
US6272520B1 (en) Method for detecting thread switch events
US6018759A (en) Thread switch tuning tool for optimal performance in a computer processor
US9003169B2 (en) Systems and methods for indirect register access using status-checking and status-setting instructions
US5694568A (en) Prefetch system applicable to complex memory access schemes
US5611063A (en) Method for executing speculative load instructions in high-performance processors
JP3412575B2 (ja) 命令履歴キャッシングを使用して推測的に命令を実行する回路、データ処理システム、およびそのための方法
US8447959B2 (en) Multithread processor and method of controlling multithread processor
JP3533294B2 (ja) プロセッサ・システム
EP0933698B1 (en) Probing computer memory latency
JP2937485B2 (ja) スーパースカラプロセッサにおけるトラップを検出して実行する方法及び装置
JP3540743B2 (ja) 1次発行キューと2次発行キューを持つマイクロプロセッサ
US5564111A (en) Method and apparatus for implementing a non-blocking translation lookaside buffer
US20190171453A1 (en) Method for managing software threads dependent on condition variables
US5596735A (en) Circuit and method for addressing segment descriptor tables
WO1999021088A1 (en) An apparatus and method to guarantee forward progress in a multithreaded processor
US10067875B2 (en) Processor with instruction cache that performs zero clock retires
KR100242403B1 (ko) 데이타 처리 시스템의 조건 레지스터 데이타 임시 저장 방법 및 시스템