JPH08272686A - インストラクションの実行順序の一貫性を照合する方法及びシステム - Google Patents

インストラクションの実行順序の一貫性を照合する方法及びシステム

Info

Publication number
JPH08272686A
JPH08272686A JP8049954A JP4995496A JPH08272686A JP H08272686 A JPH08272686 A JP H08272686A JP 8049954 A JP8049954 A JP 8049954A JP 4995496 A JP4995496 A JP 4995496A JP H08272686 A JPH08272686 A JP H08272686A
Authority
JP
Japan
Prior art keywords
instruction
processors
instructions
unique
consistency
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
JP8049954A
Other languages
English (en)
Other versions
JP3382080B2 (ja
Inventor
Nadeem Malik
ナディーム・マリク
Brian O'krafka
ブリアン・オクラフカ
Avijit Saha
アビジィット・サハ
Saramian Shahram
シャーラム・サラミアン
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 JPH08272686A publication Critical patent/JPH08272686A/ja
Application granted granted Critical
Publication of JP3382080B2 publication Critical patent/JP3382080B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Abstract

(57)【要約】 【課題】 特定のメモリ一貫性モデルを含む複数プロセ
ッサのデータ処理システムのインストラクションの実行
順序の一貫性を照合すること。 【解決手段】 本発明のデータ処理システム中の各プロ
セッサは、複数のプロセッサから、メモリ内の選択され
た単一のアドレスへ、複数の特別値をストアするインス
トラクションを含む複数のインストラクション・ストリ
ームの関連ストリームからのインストラクションを実行
する。特別値の内の1つは、選択されたアドレスから、
データ処理システム内の特定のプロセッサへロードされ
る。ロード処理によって戻された有効値の組は、特定の
メモリ一貫性モデルに従って決定される。特別値と有効
値の組のメンバーとを比較することにより、データ処理
システムのインストラクションの実行順序が照合され
る。ロード・インストラクションによって戻された特別
値を用いて有効値の組が更新される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理システ
ムの正しい動作を照合する方法及びシステム、より具体
的に言えば、複数のプロセッサを含むデータ処理システ
ムの正しい動作を照合する方法及びシステムに関する。
より詳細に言えば、本発明は複数のプロセッサを含むデ
ータ処理システムにおいて、インストラクションの実行
順序を照合するための方法及びシステムに関する。
【0002】
【従来の技術】メモリ階層及び大域的にアクセス可能な
主記憶装置を有し、複数のプロセッサを含むデータ処理
システム中において、メモリの整合性(memory coheren
cy)を維持することは、コンピュータ・システムを設計
する際の重要な事項である。複数のプロセッサの内の夫
々のプロセッサが、単一の主記憶装置のメモリ・アドレ
スと関連したデータのローカル・コピーを同時に修正す
る場合、アーキテクチャ的な禁止手段がなければ、メモ
リの整合性の競合が生じる。データ修正をメモリ階層を
介して主記憶装置へ転送する相対的なタイミング動作は
正確には行なわれないから、複数のプロセッサを含むデ
ータ処理システムにおいては、一貫性を持ったデータが
すべてのプロセッサによって検出されることを保証する
一定の方法が必要である。
【0003】複数のプロセッサを含むデータ処理システ
ム中のメモリの整合性を維持する従来の方法は、各プロ
セッサのインストラクション及び複数のプロセッサ間の
インストラクションの実行順序を指定した一組の規則を
履行するものであり、これはメモリ一貫性モデル(memo
ry consistency model)と呼ばれている。従って、複数
のプロセッサの内の各プロセッサがメモリ・アドレスと
関連したデータを修正するインストラクションを発生し
た時、データ処理システムのメモリ一貫性モデルは、各
プロセッサによって実行される幾つかのインストラクシ
ョンを順序付けることによって縦方向のメモリの整合性
を維持し、そして、複数のプロセッサによって発生され
たインストラクションの実行順序を指定することによっ
て横方向のメモリの整合性を維持する。複数のプロセッ
サを含むデータ処理システムにおいて用いられるメモリ
一貫性モデルのタイプには、ソフトウェア・プログラム
によって規定された厳格な順序でインストラクションの
実行を必要とする実行順序の強い一貫性モデルのタイプ
と、インストラクションの規定された実行順序から逸脱
した順序の実行を可能にする実行順序の弱い一貫性モデ
ルのタイプとがある。
【0004】複数のプロセッサを含むデータ処理システ
ムの設計及びテストの両方に対して重要な要件は、選択
されたメモリ一貫性モデルの正しい履行を照合すること
である。図1を参照すると、データ処理システム中にお
けるメモリ一貫性モデルの正しい履行を照合するために
用いられる従来の照合方法の高レベルの流れ図が示され
ている。図示されているように、プロセッサによって実
行されるインストラクションの流れを表わしたインスト
ラクション・ストリームは、データ処理システムF(x)
と、単純化されて示されているメモリ一貫性モデルf'
(x)とに同時に入力される。次に、データ処理システ
ムF(x)の出力データと、単純化して示されたメモリ一
貫性モデルf'(x)の出力データとを比較することに
よって、メモリ一貫性モデルにより有効データであると
して選択されたデータがデータ処理システムF(x)に
よって発生されたか否かを決定する。若しF(x)が、
簡略化して示されたメモリ一貫性モデルf'(x)によ
って表示されたデータを発生しなければ、そのデータ処
理システムにおいて選択されたメモリ一貫性モデルを履
行した時に生じたアーキテクチャ的なエラーが検出され
る。
【0005】複数のプロセッサを含むデータ処理システ
ムに対して図1に示した照合方法を適用する場合、図1
の照合方法は、通常「誤り割当て方法(false sharin
g)」と呼ばれている照合方法を用いて実施される。誤
り割当て方法を実施した場合、複数のプロセッサは、ア
ドレス可能メモリ中の同じメモリ・セグメント(例え
ば、同じキャッシュ・ライン)にアクセスすることがで
きるけれども、メモリ・セグメント中の同じデータ・バ
イトにアクセスすることはできない。誤り割当て方法に
おいては、複数のプロセッサによって発生された複数の
インストラクションの実行順序の照合は、小単位のメモ
リ・エレメントに対して行なうことができないから、こ
の誤り割当て方法においては、メモリ一貫性モデルを履
行した時に発生する実行順序違反データの検出につい
て、インストラクションの実行順序の配列には制限があ
る。
【0006】複数のプロセッサで構成されたデータ処理
システムの環境において、図1に示した照合方法を通常
の方法で実施したときの第2の問題は、照合技術が、通
常、低レベルのシステム事象を監視することによって観
測されるデータに依存していることにより生じる問題で
ある。横方向のメモリの一貫性(整合性)を照合するた
めに、つまり、複数のプロセッサに亙って、インストラ
クションの正しい実行を照合するために、図1に示した
照合モデルに従った通常の照合方法は、単一のメモリ・
アドレスと関連したデータを修正する複数のプロセッサ
によって発生されたインストラクションをストアの正確
な実行完了時間が必要である。然しながら、ストア・イ
ンストラクションの実行完了時間のような低レベルの細
部の情報を、複数のプロセッサの各プロセッサから入手
することは、実際問題としてしばしば不可能である。
【0007】その結果、複数のプロセッサを含むデータ
処理システムにおいて、インストラクションの実行順序
を照合するための新規な方法及びシステムを与えること
が必要である。
【0008】
【発明が解決しようとする課題】従って、本発明の目的
は、データ処理システムの正しい動作を照合するための
方法及びシステムを提供することにある。
【0009】本発明の他の目的は、複数のプロセッサを
含むデータ処理システムの正しい動作を照合するための
方法及びシステムを提供することにある。
【0010】本発明の他の目的は、複数のプロセッサを
含むデータ処理システムにおいて、インストラクション
の実行順序を照合するための方法及びシステムを提供す
ることにある。
【0011】
【課題を解決するための手段】本発明は、特定のメモリ
一貫性モデルを有し、複数のプロセッサを含むデータ処
理システムのインストラクションの実行順序を照合する
方法及びシステムを開示するものである。複数のプロセ
ッサを含むデータ処理システム中の各プロセッサは、複
数のプロセッサから、主記憶装置内の選択されたただ1
つのメモリ・アドレスへ、複数個の独特な値をストアす
るインストラクションを含んだ複数のインストラクショ
ン・ストリームの関連ストリームからのインストラクシ
ョンを実行する。複数個の独特な値の内の1つの独特な
値が、選択されたメモリ・アドレスから、データ処理シ
ステム中の特定のプロセッサへロードされる。ロード処
理の結果により戻された有効値の組が、特定されたメモ
リ一貫性モデルに従って決定される。1つの独特な値
と、有効値の組のメンバーとを比較することによって、
複数のプロセッサを含むデータ処理システムのインスト
ラクションの実行順序が照合される。ロード・インスト
ラクションによって戻された独特な値を使用して、有効
値の組が更新される。
【0012】
【発明の実施の形態】図2を参照すると、本発明の方法
及びシステムを使用するに適した複数のプロセッサを含
むデータ処理システムの良好な実施例が示されている。
図示されているように、データ処理システム10には、
複数個の中央処理装置(CPU)12が設けられてお
り、各CPU12は基板レベル1(L1)のキャッシュ
14を含んでいる。各L1キャッシュ14は、そのキャ
ッシュに関連したCPU12によって用いられるデータ
のローカル・コピーをストアするための小容量の高速度
メモリで構成されている。CPU12によって要求され
たデータが、そのCPUに関連したL1キャッシュ14
中に常駐していなければ、CPU12は、メモリ階層の
第2レベルに含まれている関連したL2キャッシュ16
から、要求されたデータをロードするよう試行する。図
2に示されているように、各L2キャッシュ16は複数
のCPU12によって共有することができる。CPU1
2によって要求されたデータがそのCPUに関連したL
1キャッシュ14か、またはL2キャッシュ16中に常
駐していない場合、L2キャッシュ16は、その要求
を、相互接続ライン20を通して、L2キャッシュ16
の各々に接続されている主記憶装置18へ差し向ける。
【0013】CPU12が、そのCPUに関連したL1
キャッシュ14中に常駐するデータのローカル・コピー
を修正した後、CPU12は修正されたデータをL1キ
ャッシュ14にストアし戻す。データ処理システム10
の中で実行されるメモリ管理プロトコル(例えば、書き
込み及び読み取り管理プロトコル)に従って、修正され
たデータは、同時か、あるいは後で、主記憶装置18に
コピーし戻す動作が行なわれる時に書き込まれる。各C
PU12は、ストア・インストラクションを発生するこ
とによって主記憶装置18のメモリ・アドレスに関連し
たデータのローカル・コピーを修正することができるか
ら、データ処理システム10は、主記憶装置18内の単
一のメモリ・アドレスと関連したデータを修正するイン
ストラクションの実行順序を特定するメモリ一貫性モデ
ルを用いなければならない。既に説明したように、メモ
リ一貫性モデルは、独立した各CPU12のメモリの縦
方向の一貫性(整合性)と、複数個のCPU12の間の
メモリの横方向の一貫性との両方を規定している。デー
タ処理システム10においてアーキテクチャ的に決めら
れているメモリ一貫性モデルを実施することによって、
メモリ階層を介して転送するデータを修正する処理のタ
イミングの変化から生じるメモリの整合性エラーが除去
される。
【0014】図3及び図4を参照すると、特定のメモリ
一貫性モデルを持ち、複数のプロセッサを含むデータ処
理システムのインストラクションの実行順序の一貫性を
照合する本発明の方法を説明するための2つの流れ図が
示されている。当業者ならば容易に理解できるように、
図3及び図4に示された方法は、モデル化されたデータ
処理システムの動作を分析するための設計用ツールとし
ても、または、図2に示したデータ処理システム10の
ような実際のデータ処理システムの設計をテストするた
めのツールとしても用いることができる。例えば、図3
及び図4中に示された処理は、コンピュータでモデル化
された複数のプロセッサを含むデータ処理システム中の
インストラクションの正しい実行順序を照合するために
使用されるコンピュータ支援設計(CAD)ソフトウェ
アのツールとして実施することができる。図3及び図4
中に図示された処理は、他の実施例として、複数のプロ
セッサを含む実際のデータ処理システムの正しい動作を
照合するために用いられる診断ツールとして実施するこ
とができる。
【0015】先ず、図3を参照すると、処理は、ブロッ
ク30で開始し、その後、各CPU12のためのインス
トラクション・ストリームを形成する、テスト中のデー
タ処理システム(例えば、データ処理システム10)を
示すブロック32に進む。各インストラクション・スト
リームは、種々のインストラクション・タイプを含むこ
とができるけれども、主記憶装置18のメモリ・アドレ
スへデータをストアし、そして、主記憶装置18のアド
レスからデータをロードするための少なくとも幾つかの
インストラクションを含んでいなければならない。これ
らのインストラクションのタイプは、「ストア」インス
トラクション及び「ロード」インストラクションとして
以下に記載されているけれども、これらのインストラク
ションのタイプは、主記憶装置18のメモリ・アドレス
からデータをロードし、または、主記憶装置18のメモ
リ・アドレスへデータをストアするためのCPU12の
インストラクションの組の中の種々のインストラクショ
ンを表わすものであることは、当業者であれば容易に理
解できるであろう。本発明は、誤り割当て方法の照合方
法とは異なって、ブロック32において発生されたイン
ストラクションによって、複数個のCPU12から、同
じメモリ・アドレスに向けて発生されたロード・インス
トラクション、またはストア・インストラクションを含
ませることができる。複数個のCPU12から単一のメ
モリ・アドレスに向けて発生されたストア・インストラ
クションの実行順序を決定するために、本発明は、未解
決のすべてのストア・インストラクションのオペランド
が独特な値でなければならないと言う制限を課すことに
よって、オペランドをストアするためのデータを任意に
使用することを可能にする。オペランドをストアするた
めに独特なデータ値が使用されるから、本発明は、複数
個のCPU12が単一のメモリ・アドレスに向けてスト
ア・インストラクションを発生した時、選択されたメモ
リ・アドレスの内容を単にロードすることによって、イ
ンストラクションの実行順序の照合を行なうことができ
る。従って、本発明は、通常のメモリ一貫性モデルの照
合方法において必要とされるような処理完了時間の監視
の必要性、つまり、各CPU12のためのストア・イン
ストラクションの実行完了時間を監視する必要性を除去
する。然しながら、以下に説明されるように、若しCP
U12によって発生されたストア・インストラクション
の実行完了時間が入手可能ならば、本発明は、与えられ
た照合の正確さを強化するために付加的なデータを使用
する。
【0016】図5を参照すると、本発明と関連して使用
される独特な値を表わすデータ・バイトの良好な実施例
が示されている。データ・バイト58は8ビットで構成
されており、その8ビットの内のlog2N個のビット
は、N個のCPU12の内のどのCPUがデータ・バイ
ト58をストア・インストラクションのオペランドとし
て発生したかを特定するCPU ID(CPUの識別
子)により「着色」されている。残りのビットは、単純
に増加する数のような独特なデータを含んでいる。デー
タ・バイト58は、特定のデータ処理システムによって
必要とされるオペランドの長さを満足させるために、必
要な数だけ複製することができる。図5に示した着色さ
れたデータ・バイト58は、ブロック32において発生
された独特なデータ値の良好な実施例であるけれども、
待機中のストア・インストラクションのオペランドが照
合動作時にCPU12の間で複製されない限り、任意の
データを用いることができるのは当業者であれば容易に
理解できるであろう。
【0017】図3に戻って説明を続けると、データ処理
システム10内の各CPU12の処理は、ブロック32
からブロック34に進み、そして、ブロック34におい
て、CPU12が関連したインストラクション・ストリ
ームを実行する。CPU12によるインストラクション
の実行は、インストラクションの実行が開始された時、
そしてインストラクションの実行が完了した時に発生す
るステップを含む複数個のステップで構成された処理で
あることは当業者であれば容易に理解できるであろう。
CPU12によって、異なったアドレスに向けて発生さ
れたロード・インストラクション及びストア・インスト
ラクションは、プロセッサを通るインストラクションの
実行順序に違反する処理を行なう可能性がないから、下
記に述べる説明は、主記憶装置18内の単一のメモリ・
アドレスに向けて発生された複数のインストラクション
についての説明である。処理は、図3に示したブロック
34からブロック36へ移動し、ブロック36におい
て、各CPU12は図4に示した監視処理へメッセージ
を転送する。図4は、ブロック34においてどのような
インストラクションが実行されるかを決定する処理を説
明するための図である。既に説明したように、複数のC
PU12によって発生されたインストラクションの相対
的な実行完了時間は、実行完了時間の情報の入手可能性
が実行完了時間を監視する手段に依存しているので、入
手できない可能性がある。然しながら、ロード・インス
トラクション及びストア・インストラクションの発生及
び実行完了は、各CPU12と、そのCPUに関連した
キャッシュとの間の通信を傍受することによって容易に
監視することができる。その後、ブロック36の処理は
ブロック34の処理に戻つて、インストラクション・ス
トリームの実行を続行する。
【0018】次に、図4を参照すると、選択されたメモ
リ一貫性モデルを有するデータ処理システムにおけるイ
ンストラクションの実行順序の正しい履行を照合するた
めに、図3に示された処理と同時に動作する処理を説明
するための流れ図が示されている。図4の処理は、図3
に示した処理からのメッセージが受け取られた時にブロ
ック40において開始し、ブロック40において、特定
のCPU12によってどのインストラクションが発生さ
れたか、あるいは、どのインストラクションの実行が完
了されたかを表示し、更に、若しあればそのインストラ
クションのオペランド値を表示する。各CPU12によ
って転送されたメッセージ中の情報を用いて、ブロック
42の処理は、各インストラクション・ストリーム中の
インストラクション(及び関連したオペランド)の実行
順序を記録したインストラクションの待ち行列を作成す
る。次に、処理は、ストア・インストラクションが実行
されたことを特定するメッセージがブロック40におい
て受け取られたか否かを決定するブロック44に進む。
ブロック44において、若しインストラクションがスト
ア・インストラクションであることを、そのメッセージ
が表示したならば、処理はブロック44からブロック4
6に進む。
【0019】ブロック46は、主記憶装置18中の選択
されたメモリ・アドレスのための有効なデータ値(有効
値)の組を更新するために、データ処理システム10に
おいて実施されたメモリ一貫性モデルを、ブロック42
において作成されたインストラクションの待ち行列に対
して適用する処理を示している。順次処理式の一貫性モ
デルを用いたデータ処理システムにおいて、強い一貫性
モデルを使用したシステムは厳密な経時的順序でインス
トラクションを実行するから、有効値の組は単数である
ことは当業者であれば容易に理解できるであろう。従っ
て、若し現在のストア・インストラクションの実行が完
了したならば、そのメモリ・アドレスの有効値は、現在
のストア・インストラクションのオペランドである。然
しながら、インストラクションの実行順序から逸脱する
ことのできる弱い一貫性モデルを実行するデータ処理シ
ステムにおいては、インストラクションの実行完了順序
がメモリ一貫性モデルによって予め決められていないか
ら、多くの有効値を持つことができる。特定のCPU1
2に対して、ブロック46において決定された有効値の
組は、そのCPU12によって完了された最後のストア
・インストラクション(即ち現在のストア・インストラ
クション)と、その特定のCPU12に対するロードに
よって照合された他のCPU12によって完了された最
後のストア・インストラクションと、他のCPU12か
らの待機中のストア・インストラクションとを含んでい
る。特定のCPU12によって完了された前のストア・
インストラクションのオペランドの値は、有効値の組か
ら除去することができる。何故ならば、これらのオペラ
ンドの値は、現在のストア・インストラクションのオペ
ランドの値によって書き重ねられているからである。そ
の後、処理はブロック54において終了する。
【0020】ブロック44に戻って説明を続けると、若
しブロック40において受け取ったメッセージがストア
・インストラクションでなければ、処理は、ブロック4
7に進んで、メッセージに含まれたインストラクション
がロード・インストラクションであるか否かを決定す
る。若しロード・インストラクションを含んでいなけれ
ば、処理はブロック54において終了する。然しなが
ら、ブロック40のメッセージによって特定されたイン
ストラクションがロード・インストラクションであれ
ば、処理は、ブロック48に進み、ブロック48におい
て、ロード・インストラクションによって、ロード・イ
ンストラクションを実行したCPU12に戻された値
が、そのCPU12のためにブロック46において作成
された有効値の組の中に含まれているか否かが決定され
る。若しロード・インストラクションによって戻された
値が有効値の組の中に存在しなければ、ブロック50に
おいて、インストラクションの実行順序からの逸脱を示
すエラーが通知される。例えば、若し本発明がCADツ
ールにおいて実施されたならば、ブロック50におい
て、そのCADプログラムは、モデル化されたデータ処
理システム中の特定のエラーが検出されたことをユーザ
に通知する。然しながら、若しロード・インストラクシ
ョンによって戻された値が有効値の組の中に存在すれ
ば、処理はブロック52に進み、ブロック52におい
て、選択されたメモリ・アドレスからロードされたオペ
ランドを持つインストラクションの以前に完了している
ことが知られているストア・インストラクションのオペ
ランドを除去することによって、選択されたメモリ・ア
ドレスの有効値の組を更新する。従って、選択されたメ
モリ・アドレスへ有効値の組をロードすることが、待機
中の複数のインストラクションの内のどのインストラク
ションを最後に完了したかを表わすので、図5に示した
データ・バイト58のようなストア・インストラクショ
ンのオペランドの独特な値を用いることによって、有効
値の組のメンバーを選出することができるのは当業者で
あれば容易に理解できるであろう。各CPU12によっ
て発生されたすべてのストア・インストラクションの相
対的な完了時間が、例えばコンピュータでモデル化され
た複数のプロセッサを含むデータ処理システムにおいて
入手可能である場合、関連したストア・インストラクシ
ョンがロード・インストラクションの前に完了した他の
インストラクションの前に完了したことを知っているス
トア・インストラクションの有効値の組からすべてのメ
ンバーを除去することによって、有効値の組の寸法は、
更に縮小することが可能である。次に、処理は、ブロッ
ク52からブロック54に進んで終了する。
【0021】次に、図6に示された3つのプロセッサを
有するデータ処理システムのインストラクションの実行
順序が照合される例を参照して、図3及び図4に示した
本発明の方法を以下に説明する。図示されているよう
に、図3のブロック32において発生されたインストラ
クション・ストリーム60、62及び64は、CPU
0、CPU1及びCPU2によって夫々実行される。各
インストラクション・ストリーム中のインストラクショ
ンを表わす記号には、インストラクション・ストリーム
番号を表わす第1の添字と、インストラクション・スト
リーム内のインストラクションの位置を判別する第2の
添字とが添付されている。次に、ストア・インストラク
ションSTt02、ロード・インストラクションLDt14
ストア・インストラクションSTt12、STt13及びST
t23は発生されているが、未だ完了されておらず、そし
て、ロード・インストラクションLDt03は、図3のブ
ロックにおいてCPU0によって完了された時に照合ポ
イントとして選択されたものと仮定する。既に説明した
ように、ロード・インストラクションLDt03の実行
は、図4で示された処理を開始するメッセージの転送を
発生する。
【0022】図4のブロック42において、ロード・イ
ンストラクションLDt03はインストラクション・スト
リーム60に対応するインストラクションの待ち行列に
加えられる。次に、処理は、ブロック42からブロック
44に進み、ブロック44において、ロード・インスト
ラクションLDt03はストア・インストラクションであ
るか否かが決定される。LDt03はロード・インストラ
クションなので、処理は、ブロック44からブロック4
7を経てブロック48に進み、ブロック48において、
ロード・インストラクションLDt03によって戻された
値は、ブロック46において前に作成されたCPU0の
有効値の組のメンバーであるか否かが決定される。
【0023】図示された実施例において、テスト中の複
数のプロセッサを含むデータ処理システムは、下記の規
則によって規定された弱い一貫性モデルを用いている。 (1) 同じCPUから、異なったメモリ・アドレスへ
向けられたロード・インストラクション及びストア・イ
ンストラクションは、任意の順序で実行できる。 (2) CPUから特定のアドレスへ向けられたロード
・インストラクションは、同じCPUから同じメモリ・
アドレスへ向けられたストア・インストラクションが完
了するまで待機する。 (3) 異なったCPUからのロード・インストラクシ
ョン及びストア・インストラクションは、小単位のロー
ド動作またはストア動作のような同期ポイントが存在し
なければ、任意の順序で実行することができる。
【0024】従って、前のストア・インストラクション
の完了時間が未知の場合、各プロセッサの有効値の組を
作成する一般法則は、下記の論理式で示される。
【0025】V(LDit)=STitLast∪(∀(j≠
i))[STjNV∪STjL
【0026】上記の数式において、LDit = 時間t
におけるCPUiからのロード・インストラクションで
あり、V(LDit) = ロード・インストラクション
LDitによって戻された値であり、STitLast = 時
間t以前の、CPUiからの最後のストア・インストラ
クションであり、STjNV = 時間t以前の、CPUj
から発生されたすべてのストア・インストラクションで
あるが、しかしCPUiにおいて照合されていないスト
ア・インストラクションであり、STjL = CPUi
によって発生されたロード・インストラクションによっ
て完了された時、照合されたCPUjからの最後のスト
ア・インストラクションである。
【0027】図6に示したインストラクション・ストリ
ーム60乃至64に関する有効値の組を作成するため
に、若しV(LDt03)=STt02∪(∀(j≠0))
[STjN V∪STjL]が与えられれば、上記の論理式で
表わした規則を適用して有効値の組が決定できる。従っ
て、インストラクション・ストリーム60乃至64を検
査することによって、ロード・インストラクションLD
t03の有効値の組はストア・インストラクション{ST
t13;STt12;STt23;STt02}であることは明らか
である。然しながら、若しストア・インストラクション
の完了時間が入手可能ならば、有効値の組の基数(card
inality)を減少することができる。例えば、若しスト
ア・インストラクションSTt02及びSTt23の両方がロ
ード・インストラクションLDt03の前に完了され、そ
してSTt23がSTt02の前に完了されたならば、LD
t03の有効値の組はSTt13及びSTt12で構成される。
【0028】図4のブロック48において、選択された
メモリ・アドレスからロードされた値は、ブロック46
においてCPU0のために作成された有効値の組と比較
される。若しロードされた値が有効値の組の中になけれ
ば、テスト中のデータ処理システムのインストラクショ
ンの実行順序のエラーが検出され、処理はブロック50
において終了する。然しながら、若しデータ処理システ
ムのインストラクションの実行順序が照合されたなら
ば、処理は、ブロック52における有効値の組を更新す
るために、ロード・インストラクションによって戻され
た値を使用する。若しロード・インストラクションによ
って戻された値がCPUi(即ち、CPU0)によって
発生された最後のストア・インストラクションであれ
ば、有効値の組は、最後のストア・インストラクション
(STitLast)の値を除外し、CPUiから発生された
ストア・インストラクションのオペランドであった有効
値の組からの値を除去することによって、ブロック52
において更新される。若しロード・インストラクション
によって戻された値がCPUiからの最後のストア・イ
ンストラクションでなければ、有効値の組は、ロード・
インストラクションの前にCPUiからのストア・イン
ストラクションであった有効値の組からすべての値を除
去することによって更新される。従って、図6に示され
た実施例において、若しロード・インストラクションL
t03によって戻された値がストア・インストラクショ
ンSTt02であれば、この処理によって、ストア・イン
ストラクションSTt02は完了しているが、しかしスト
ア・インストラクションSTt13、STt12及びSTt23
の状態は未知であることが決定される。従って、有効値
の組は、CPU0によって発生されたストア・インスト
ラクションのすべてのオペランドを無視することによっ
て更新される(但しSTt02を除く)。図示の実施例に
おいて、この場合に無視される値はなく、そして、CP
0からの、後続するロード・インストラクションLD
t04の検知し得る有効値の組はストア・インストラクシ
ョン{STt13、STt12、STt23、STt02}を残す。
他方、若しロード・インストラクションLDt03によっ
て戻された値がSTt13であれば、処理は、ストア・イ
ンストラクションSTt13がSTt12及びSTt02の後で
完了したことを決定する。従って、CPU0のための有
効値の組は、ストア・インストラクションSTt02及び
STt12を削除することによって更新され、有効値の組
はストア・インストラクション{STt13、STt23}を
残す。
【0029】以上説明してきたように、本発明は複数の
プロセッサを含むデータ処理システムにおけるインスト
ラクションの実行順序を照合するための方法及びシステ
ムを与える。本発明は、ストア・インストラクションの
完了時間を監視するためのデータ処理システムを必要と
することなく、選択されたメモリ一貫性モデルの履行を
照合することができるという利点を持っている。然しな
がら、若しストア・インストラクションの完了時間が入
手可能ならば、本発明は、データ処理システムにおける
正しい実行順序の決定結果をより正確に描くために付加
的な情報を利用する。
【0030】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0031】(1)主記憶装置と、複数個のプロセッサ
とを含み、上記複数個のプロセッサの各々が関連インス
トラクション・ストリームからのインストラクションを
実行するマルチプロセッサ・データ処理システムにおい
て、特定のメモリ一貫性モデルによってインストラクシ
ョンの実行順序の一貫性を照合するための方法であっ
て、上記複数個のプロセッサから、上記主記憶装置内の
選択された単一のメモリ・アドレスに複数個の独特な値
をストアするステップと、上記選択された単一のメモリ
・アドレスから、上記複数個のプロセッサの内の特定の
プロセッサに上記複数個の独特な値の内の1つの独特な
値をロードするステップと、上記特定のメモリ一貫性モ
デルに従って上記ロードするステップによって戻される
有効値の組を決定するステップと、上記インストラクシ
ョンの実行順序が照合されるように、上記複数個の独特
な値の内の上記1つの独特な値と、上記有効値の組のメ
ンバーとを比較するステップとを含むインストラクショ
ンの実行順序の一貫性を照合する方法。 (2)上記複数個の独特な値の内の上記1つの独特な値
が上記有効値の組のメンバーではないことを、上記比較
するステップで決定したことに応答して、上記インスト
ラクションの実行順序が不適切であることを表示するス
テップを含む(1)に記載のインストラクションの実行
順序の一貫性を照合する方法。 (3)上記有効値の組中の他の独特な値に対応するスト
ア・インストラクションの前に完了したことが知られて
いるストア・インストラクションに対応する各独特な値
を、上記有効値の組から除去するステップを含む(1)
に記載のインストラクションの実行順序の一貫性を照合
する方法。 (4)上記複数個のプロセッサの内のどのプロセッサが
上記1つの独特な値を上記選択されたメモリ・アドレス
にストアしたかを特定する識別子によってエンコードさ
れたデータを、上記複数個の独特な値の内の1つの独特
な値が含んでいることを特徴とする(1)に記載のイン
ストラクションの実行順序の一貫性を照合する方法。 (5)複数個のプロセッサを含む上記データ処理システ
ムはインストラクションの実行順序の弱い一貫性モデル
を用いることを特徴とする(1)に記載のインストラク
ションの実行順序の一貫性を照合する方法。 (6)上記有効値の組は、上記特定のプロセッサによっ
て発生された最も近くに発生されたストア・インストラ
クションに関連した独特な値と、上記特定のプロセッサ
以外の、上記複数個のプロセッサの内のプロセッサによ
って発生された、完了するよう照合されていないストア
・インストラクションに関連したすべての独特な値と、
上記特定のプロセッサによって発生されたロード・イン
ストラクションによって完了した時に照合された上記特
定のプロセッサ以外の、上記複数個のプロセッサの内の
各プロセッサによって発生された最後のストア・インス
トラクションに関連した独特な値とを含んでいることを
特徴とする(5)に記載のインストラクションの実行順
序の一貫性を照合する方法。 (7)主記憶装置と、複数個のプロセッサとを含み、特
定のメモリ一貫性モデルによってインストラクションの
実行順序の一貫性を照合するためのデータ処理システム
であって、上記複数個のプロセッサの各々が関連インス
トラクション・ストリームからのインストラクションを
実行するデータ処理システムにおいて、上記複数個のプ
ロセッサから、上記主記憶装置内の選択された単一のメ
モリ・アドレスに複数個の独特な値をストアする手段
と、上記選択された単一のメモリ・アドレスから、上記
複数個のプロセッサの内の特定のプロセッサに上記複数
個の独特な値の内の1つの独特な値をロードする手段
と、上記特定のメモリ一貫性モデルに従って上記ロード
する手段によって戻される有効値の組を決定する手段
と、上記インストラクションの実行順序が照合されるよ
うに、上記複数個の独特な値の内の上記1つの独特な値
と、上記有効値の組のメンバーとを比較する手段とを含
むインストラクションの実行順序の一貫性を照合するシ
ステム。 (8)上記複数個の独特な値の内の上記1つの独特な値
が上記有効値の組のメンバーではないことを、上記比較
する手段により決定したことに応答して、上記インスト
ラクションの実行順序が不適切であることを表示する手
段を含む(7)に記載のインストラクションの実行順序
の一貫性を照合するシステム。 (9)上記有効値の組中の他の独特な値に対応するスト
ア・インストラクションの前に完了したことが知られて
いるストア・インストラクションに対応する各独特な値
を、上記有効値の組から除去する手段を含む(7)に記
載のインストラクションの実行順序の一貫性を照合する
システム。 (10)上記複数個のプロセッサの内のどのプロセッサ
が上記1つの独特な値を上記選択されたメモリ・アドレ
スにストアしたかを特定する識別子によってエンコード
されたデータを、上記複数個の独特な値の内の上記1つ
の独特な値が含んでいることを特徴とする(7)に記載
のインストラクションの実行順序の一貫性を照合するシ
ステム。 (11)複数個のプロセッサを含む上記データ処理シス
テムはインストラクションの実行順序の弱い一貫性モデ
ルを用いることを特徴とする(7)に記載のインストラ
クションの実行順序の一貫性を照合するシステム。 (12)上記有効値の組は、上記特定のプロセッサによ
って発生された最も近くに発生されたストア・インスト
ラクションに関連した独特な値と、上記特定のプロセッ
サ以外の、上記複数個のプロセッサの内のプロセッサに
よって発生された、完了するよう照合されていないスト
ア・インストラクションに関連したすべての独特な値
と、上記特定のプロセッサによって発生されたロード・
インストラクションによって完了した時に照合された上
記特定のプロセッサ以外の、上記複数個のプロセッサの
内の各プロセッサによって発生された最後のストア・イ
ンストラクションに関連した独特な値とを含んでいるこ
とを特徴とする(11)に記載のインストラクションの
実行順序の一貫性を照合するシステム。
【図面の簡単な説明】
【図1】1つのプロセッサしか含んでいないデータ処理
システムにおいてインストラクションの実行順序を照合
する従来の方法を説明するための高レベルの流れ図であ
る。
【図2】本発明の方法及びシステムを適用した本発明の
良好な実施例を説明するためのブロック図である。
【図3】複数のプロセッサを含むデータ処理システムに
おいてインストラクションの実行順序を照合するための
本発明の方法を説明するための流れ図である。
【図4】複数のプロセッサを含むデータ処理システムに
おいてインストラクションの実行順序を照合するための
本発明の方法を説明するための流れ図である。
【図5】図3及び図4に示した本発明の方法に利用する
ための特別データの例を説明するための図である。
【図6】本発明の方法及びシステムに従った複数のプロ
セッサを含むデータ処理システムにおいてインストラク
ションの正しい実行順序を照合するために用いられる3
つのインストラクション・ストリームを例示した図であ
る。
【符号の説明】
10 データ処理システム 12 中央処理装置(CPU) 14 レベル1(L1)キャッシュ 16 レベル2(L2)キャッシュ 18 主記憶装置 20 相互接続ライン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブリアン・オクラフカ アメリカ合衆国 78759 テキサス州、オ ースチン、ハンギング・クリフ・コーブ 5421 (72)発明者 アビジィット・サハ アメリカ合衆国 78731 テキサス州、オ ースチン、ノースヒルズ・ドライブ、ナン バー・スリーハンドレッド・フォーティ・ ワン3456 (72)発明者 シャーラム・サラミアン アメリカ合衆国 78759 テキサス州、オ ースチン、スパイスウッド・メサ 10219

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 主記憶装置と、複数個のプロセッサとを
    含み、上記複数個のプロセッサの各々が関連インストラ
    クション・ストリームからのインストラクションを実行
    するマルチプロセッサ・データ処理システムにおいて、
    特定のメモリ一貫性モデルによってインストラクション
    の実行順序の一貫性を照合するための方法であって、 上記複数個のプロセッサから、上記主記憶装置内の選択
    された単一のメモリ・アドレスに複数個の独特な値をス
    トアするステップと、 上記選択された単一のメモリ・アドレスから、上記複数
    個のプロセッサの内の特定のプロセッサに上記複数個の
    独特な値の内の1つの独特な値をロードするステップ
    と、 上記特定のメモリ一貫性モデルに従って上記ロードする
    ステップによって戻される有効値の組を決定するステッ
    プと、 上記インストラクションの実行順序が照合されるよう
    に、上記複数個の独特な値の内の上記1つの独特な値
    と、上記有効値の組のメンバーとを比較するステップと
    を含むインストラクションの実行順序の一貫性を照合す
    る方法。
  2. 【請求項2】 上記複数個の独特な値の内の上記1つの
    独特な値が上記有効値の組のメンバーではないことを、
    上記比較するステップで決定したことに応答して、上記
    インストラクションの実行順序が不適切であることを表
    示するステップを含む請求項1に記載のインストラクシ
    ョンの実行順序の一貫性を照合する方法。
  3. 【請求項3】 上記有効値の組中の他の独特な値に対応
    するストア・インストラクションの前に完了したことが
    知られているストア・インストラクションに対応する各
    独特な値を、上記有効値の組から除去するステップを含
    む請求項1に記載のインストラクションの実行順序の一
    貫性を照合する方法。
  4. 【請求項4】 上記複数個のプロセッサの内のどのプロ
    セッサが上記1つの独特な値を上記選択されたメモリ・
    アドレスにストアしたかを特定する識別子によってエン
    コードされたデータを、上記複数個の独特な値の内の1
    つの独特な値が含んでいることを特徴とする請求項1に
    記載のインストラクションの実行順序の一貫性を照合す
    る方法。
  5. 【請求項5】 複数個のプロセッサを含む上記データ処
    理システムはインストラクションの実行順序の弱い一貫
    性モデルを用いることを特徴とする請求項1に記載のイ
    ンストラクションの実行順序の一貫性を照合する方法。
  6. 【請求項6】 上記有効値の組は、上記特定のプロセッ
    サによって発生された最も近くに発生されたストア・イ
    ンストラクションに関連した独特な値と、上記特定のプ
    ロセッサ以外の、上記複数個のプロセッサの内のプロセ
    ッサによって発生された、完了するよう照合されていな
    いストア・インストラクションに関連したすべての独特
    な値と、上記特定のプロセッサによって発生されたロー
    ド・インストラクションによって完了した時に照合され
    た上記特定のプロセッサ以外の、上記複数個のプロセッ
    サの内の各プロセッサによって発生された最後のストア
    ・インストラクションに関連した独特な値とを含んでい
    ることを特徴とする請求項5に記載のインストラクショ
    ンの実行順序の一貫性を照合する方法。
  7. 【請求項7】 主記憶装置と、複数個のプロセッサとを
    含み、特定のメモリ一貫性モデルによってインストラク
    ションの実行順序の一貫性を照合するためのデータ処理
    システムであって、上記複数個のプロセッサの各々が関
    連インストラクション・ストリームからのインストラク
    ションを実行するデータ処理システムにおいて、 上記複数個のプロセッサから、上記主記憶装置内の選択
    された単一のメモリ・アドレスに複数個の独特な値をス
    トアする手段と、 上記選択された単一のメモリ・アドレスから、上記複数
    個のプロセッサの内の特定のプロセッサに上記複数個の
    独特な値の内の1つの独特な値をロードする手段と、 上記特定のメモリ一貫性モデルに従って上記ロードする
    手段によって戻される有効値の組を決定する手段と、 上記インストラクションの実行順序が照合されるよう
    に、上記複数個の独特な値の内の上記1つの独特な値
    と、上記有効値の組のメンバーとを比較する手段とを含
    むインストラクションの実行順序の一貫性を照合するシ
    ステム。
  8. 【請求項8】 上記複数個の独特な値の内の上記1つの
    独特な値が上記有効値の組のメンバーではないことを、
    上記比較する手段により決定したことに応答して、上記
    インストラクションの実行順序が不適切であることを表
    示する手段を含む請求項7に記載のインストラクション
    の実行順序の一貫性を照合するシステム。
  9. 【請求項9】 上記有効値の組中の他の独特な値に対応
    するストア・インストラクションの前に完了したことが
    知られているストア・インストラクションに対応する各
    独特な値を、上記有効値の組から除去する手段を含む請
    求項7に記載のインストラクションの実行順序の一貫性
    を照合するシステム。
  10. 【請求項10】 上記複数個のプロセッサの内のどのプ
    ロセッサが上記1つの独特な値を上記選択されたメモリ
    ・アドレスにストアしたかを特定する識別子によってエ
    ンコードされたデータを、上記複数個の独特な値の内の
    上記1つの独特な値が含んでいることを特徴とする請求
    項7に記載のインストラクションの実行順序の一貫性を
    照合するシステム。
  11. 【請求項11】 複数個のプロセッサを含む上記データ
    処理システムはインストラクションの実行順序の弱い一
    貫性モデルを用いることを特徴とする請求項7に記載の
    インストラクションの実行順序の一貫性を照合するシス
    テム。
  12. 【請求項12】 上記有効値の組は、上記特定のプロセ
    ッサによって発生された最も近くに発生されたストア・
    インストラクションに関連した独特な値と、上記特定の
    プロセッサ以外の、上記複数個のプロセッサの内のプロ
    セッサによって発生された、完了するよう照合されてい
    ないストア・インストラクションに関連したすべての独
    特な値と、上記特定のプロセッサによって発生されたロ
    ード・インストラクションによって完了した時に照合さ
    れた上記特定のプロセッサ以外の、上記複数個のプロセ
    ッサの内の各プロセッサによって発生された最後のスト
    ア・インストラクションに関連した独特な値とを含んで
    いることを特徴とする請求項11に記載のインストラク
    ションの実行順序の一貫性を照合するシステム。
JP04995496A 1995-03-16 1996-03-07 命令実行順序の一貫性を照合する方法及びシステム Expired - Fee Related JP3382080B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US405058 1995-03-16
US08/405,058 US5692153A (en) 1995-03-16 1995-03-16 Method and system for verifying execution order within a multiprocessor data processing system

Publications (2)

Publication Number Publication Date
JPH08272686A true JPH08272686A (ja) 1996-10-18
JP3382080B2 JP3382080B2 (ja) 2003-03-04

Family

ID=23602115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04995496A Expired - Fee Related JP3382080B2 (ja) 1995-03-16 1996-03-07 命令実行順序の一貫性を照合する方法及びシステム

Country Status (4)

Country Link
US (1) US5692153A (ja)
EP (1) EP0732652B1 (ja)
JP (1) JP3382080B2 (ja)
DE (1) DE69622301T2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146607B2 (en) 2002-09-17 2006-12-05 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
JP2007042134A (ja) * 2002-09-17 2007-02-15 Internatl Business Mach Corp <Ibm> マルチプロセッサ・メモリ整合性の効率のよいエミュレーションのための方法
US7496494B2 (en) 2002-09-17 2009-02-24 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US7953588B2 (en) 2002-09-17 2011-05-31 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US8108843B2 (en) 2002-09-17 2012-01-31 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893152A (en) * 1996-03-08 1999-04-06 Sun Microsystems, Inc. Method and apparatus that detects and tolerates inconsistencies between the cache and main memory, and the translation lookaside buffer and the virtual memory page table in main memory
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
US6240490B1 (en) 1998-07-20 2001-05-29 International Business Machines Corporation Comprehensive multilevel cache preloading mechanism in a multiprocessing simulation environment
US6681320B1 (en) * 1999-12-29 2004-01-20 Intel Corporation Causality-based memory ordering in a multiprocessing environment
US8055492B2 (en) * 2002-01-10 2011-11-08 International Business Machines Corporation Non-unique results in design verification by test programs
US6892286B2 (en) * 2002-09-30 2005-05-10 Sun Microsystems, Inc. Shared memory multiprocessor memory model verification system and method
US7779393B1 (en) * 2005-05-25 2010-08-17 Oracle America, Inc. System and method for efficient verification of memory consistency model compliance
GB0623276D0 (en) * 2006-11-22 2007-01-03 Transitive Ltd Memory consistency protection in a multiprocessor computing system
US7814378B2 (en) * 2007-05-18 2010-10-12 Oracle America, Inc. Verification of memory consistency and transactional memory
EP3491521A4 (en) * 2016-07-27 2020-04-01 Intel Corporation CODE OPTIMIZATION SUPPORT APPARATUS AND METHOD

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5148533A (en) * 1989-01-05 1992-09-15 Bull Hn Information Systems Inc. Apparatus and method for data group coherency in a tightly coupled data processing system with plural execution and data cache units
US5247648A (en) * 1990-04-12 1993-09-21 Sun Microsystems, Inc. Maintaining data coherency between a central cache, an I/O cache and a memory
US5347648A (en) * 1990-06-29 1994-09-13 Digital Equipment Corporation Ensuring write ordering under writeback cache error conditions
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
JP2743608B2 (ja) * 1991-03-27 1998-04-22 日本電気株式会社 共有レジスタ制御方式
US5265232A (en) * 1991-04-03 1993-11-23 International Business Machines Corporation Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data
US5265233A (en) * 1991-05-17 1993-11-23 Sun Microsystems, Inc. Method and apparatus for providing total and partial store ordering for a memory in multi-processor system
US5301298A (en) * 1991-10-11 1994-04-05 Intel Corporation Processor for multiple cache coherent protocols
US5379396A (en) * 1991-10-11 1995-01-03 Intel Corporation Write ordering for microprocessor depending on cache hit and write buffer content
US5398325A (en) * 1992-05-07 1995-03-14 Sun Microsystems, Inc. Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146607B2 (en) 2002-09-17 2006-12-05 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
JP2007042134A (ja) * 2002-09-17 2007-02-15 Internatl Business Mach Corp <Ibm> マルチプロセッサ・メモリ整合性の効率のよいエミュレーションのための方法
US7496494B2 (en) 2002-09-17 2009-02-24 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
JP2010182331A (ja) * 2002-09-17 2010-08-19 Internatl Business Mach Corp <Ibm> マルチプロセッサ・メモリ整合性の効率のよいエミュレーションのための方法
US7844446B2 (en) 2002-09-17 2010-11-30 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US7953588B2 (en) 2002-09-17 2011-05-31 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US8108843B2 (en) 2002-09-17 2012-01-31 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US8578351B2 (en) 2002-09-17 2013-11-05 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US8719548B2 (en) 2002-09-17 2014-05-06 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor
US9043194B2 (en) 2002-09-17 2015-05-26 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency

Also Published As

Publication number Publication date
DE69622301T2 (de) 2003-02-20
DE69622301D1 (de) 2002-08-22
JP3382080B2 (ja) 2003-03-04
US5692153A (en) 1997-11-25
EP0732652A1 (en) 1996-09-18
EP0732652B1 (en) 2002-07-17

Similar Documents

Publication Publication Date Title
US8650442B2 (en) Programming in a simultaneous multi-threaded processor environment
US6021261A (en) Method and system for testing a multiprocessor data processing system utilizing a plurality of event tracers
US5276828A (en) Methods of maintaining cache coherence and processor synchronization in a multiprocessor system using send and receive instructions
JP3382080B2 (ja) 命令実行順序の一貫性を照合する方法及びシステム
US7844802B2 (en) Instructions for ordering execution in pipelined processes
US8457943B2 (en) System and method for simulating a multiprocessor system
JPH0683679A (ja) データのバックアップ・コピー中の同時アクセスの方法及びシステム
US7725620B2 (en) Handling DMA requests in a virtual memory environment
JP2005332387A (ja) メモリ命令をグループ化及び管理する方法及びシステム
KR100335744B1 (ko) 로드/로드 검출 및 재정렬 방법
US8548966B2 (en) Asynchronous assertions
JP3448689B2 (ja) Io制御方法および情報処理装置
US7536694B2 (en) Exception handling in a multiprocessor system
JP3090641B2 (ja) 並列データ処理システムおよびその制御方法
JP2000227872A (ja) 複数メモリ要求の動的スロット割当および追跡
US20100017183A1 (en) Multiprocessor Development Environment
US7934067B2 (en) Data update history storage apparatus and data update history storage method
JPS6049352B2 (ja) デ−タ処理装置
JPH07306795A (ja) 二重系計算機のデータベース等価処理装置
US8688662B2 (en) Copy on access to locked objects
JP4297744B2 (ja) Lsi内部論理設計システム
JP2755646B2 (ja) データ駆動型データ処理装置
CN111736945A (zh) 基于智能网卡的虚拟机热迁移方法、装置、设备及介质
Wong et al. RTE-IV: The Megaword-Array Operating System
Denning The Science of Computing: Mutual Exclusion

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees