JPH03118649A - メモリーサブシステム入力キュー - Google Patents

メモリーサブシステム入力キュー

Info

Publication number
JPH03118649A
JPH03118649A JP2178500A JP17850090A JPH03118649A JP H03118649 A JPH03118649 A JP H03118649A JP 2178500 A JP2178500 A JP 2178500A JP 17850090 A JP17850090 A JP 17850090A JP H03118649 A JPH03118649 A JP H03118649A
Authority
JP
Japan
Prior art keywords
state
instruction
instructions
write
address
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
JP2178500A
Other languages
English (en)
Other versions
JPH0652519B2 (ja
Inventor
Lawrence A P Chisvin
ローレンス アンドリュー ポール チスヴィン
John K Grooms
ジョン ケーラー グルームス
Joseph F Rantala
ジョセフ フランクリン ランタラ
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH03118649A publication Critical patent/JPH03118649A/ja
Publication of JPH0652519B2 publication Critical patent/JPH0652519B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 灸匪旦分1 本発明は、複数のノードによって共有されるメモリー資
源を有するデータ処理システムに於けるメモリー記憶管
理に関係し、特に、共有されるメモリー資源からのデー
タに対する読出し及書込み命令を管理するための方法及
び回路に関する。この様な命令は、同じデータバス上に
「書き戻しく write−back )Jキャッシュ
、「書き通しくwrite−through) Jキャ
ッシュの組み合わせを有するノード又はキャッシュを有
さないノードから発生される。
R1Uど1景 −つ以上のメモリー資源からのデータの共用のための複
数のノード及び共通データを含むデータ処理システムが
、共用されるメモリーからのデータを記憶及び処理する
ためのそれ自身のメモリー「キャッシュ」を有するノー
ドを含む。データ処理システム内の「ノード」とは、中
央処理ユニット(CPU)及び入力/出力装置の様な同
じメモリー資源に結合する一義的に識別可能な構成要素
である。共用メモリーは共通データバスを介してノード
と一般的にインターフェースを介して接続される。この
様なキャッシュを有するノードは共用メモリーとインタ
ーフェースを介して接続されて、ノードがアクセスして
取得するデータブロックが如何なるノードでも利用可能
とならばならない。このために、ノードは「書き通し」
又は「書き戻し」キャシュの何れかを有することができ
る。
書き通しキャッシュを有するノードは、データの成るブ
ロックを利用する必要があることを決める時、このノー
ドは、共用メモリー内のブロック位置に対して読出し命
令を実行する。これは、共用メモリー内のそのブロック
の「ブロック状態」を変化しない。データブロックの「
ブロック状態」とはデータブロックの「解放」又は「所
有」の様ななスティタスを示す。
データがノードキャッシュ内にある場合、そのノードか
らのそのデータブロックの読出しはキャッシュコピーを
参照するが、データブロックに対する書込みは共用メモ
リー内の元のデータプロ・ツクを更新する。書込み命令
はメモリー内の共用データブロックを更新するが、デー
タのブロック状態は変更しない。その名が示唆する様に
、ノードはキャッシュを通して、共用メモリーへ書込み
を行う。
2つ以上のノードが同時にデータの同じブロックをキャ
シュする場合がある。全てのキャシュ動作するノードは
、対応するキャシュ内にコピーを有するブロックに向け
られた書込み命令に関してバスをモニターする。キャシ
ュされたデータブロックに対する書込み命令が検出され
ると、それらのキャシュ内にコピーを有する全ノードが
、そのコピー上で無効操作を達成して、そのコピーはも
はや使用出来ない。全てのノードが、それらのキャシュ
コピーがもはや使用できなくなった後、データを読み出
す必要がある場合、それらノードは、共用メモリー内の
データブロックに読出し命令を送って、「クリーン」コ
ピーを受信する。書き通し」キャッシュ手法に於いて、
キャシュ及び共用メモリー間のデータ転送は、共用メモ
リーデータブロックのブロック状態を変化する。
書き戻しキャシュを有するノードが、データの成るブロ
ックを利用する必要がある時、共用メモリー内のブロッ
ク位置上で所有権読出しを行うことのできる一つの方法
は、データがノードキャシュ内にある場合、共用メモリ
ー内のブロックのブロック状態を「所有」に設定する。
データがCPUキャシュ内にある場合、データブロック
に対する読出し及び書込みの両方が、キャシュコピーを
使用する。書込みはデータのキャシュコピーを更新する
が、共用メモリーコピーは更新しない。他のノードが共
用メモリーのそのブロックを所有することを欲するので
、ノードがブロックの「所有否定」を行わなければなら
ない時、又は所有を行うノードがそのブロックにアクセ
スすることを終了する時に、共用メモリーコピーが更新
される。
書き戻しキャシュ動作手法に於いて、キャシュ及び共用
メモリー間のデータ転送が、共用メモリーブロックのブ
ロック状態に影響を及ぼす。ブロック状態は、ノードが
データブロックを「借りる」場合に「所有」に設定され
、ノードがデータブロックを「戻す」場合ブロック状態
は「解放」に設定される。
書き戻しキャシュを有するノードがデータブロックを「
借り」、ブロック状態を「所有」に設定する時、ノード
がデータブロックの公認のコピーのみを有することをノ
ードは想定する。書き通しキャシュを有するノードは同
じデータブロックをそのキャシュ内に引き込もうと試み
る場合、2つのキャシュ手法の前の記述から、データブ
ロックの完全性が失われていることが明らかである。
如何なる種類のメモリーキャシュも有さないノードは共
有メモリー内に記憶されるデータ上で直接作動する。こ
の様なノードは、書き戻しキヤ、ソシュを有するノード
を含むシステム内で使用される共用データの「所有権」
を認めなく、従ってこれらノードは、要求されたデータ
が他の一つのノードによって更新される時を識別出来な
い。
発明の要約 本発明は、共用メモリー資源を、共用データバスを有す
るデータ処理システム内の上述された全てのノード形態
で使用できるようにすることにある。共用メモリーに対
する特定の入力キュー(待ち)行列は、書き通しキャシ
ュを採用するノードからの、書き戻しキャシュを採用す
るノードからの、及びキャシュを全(有さない両ノード
からの命令を認識する。入力キューは受信された各読出
し又は書込み命令に対する命令アドレス及び対立解決状
態を指定して、この命令、状態を別々に記憶し、書込み
命令の場合は、書込み及び関連するマスクデータを記憶
する。「書き戻し」キャシュを有するシステム内のノー
ドからの後で潜在的に対立する「所有権」命令に「所有
否定」命令が続くまで、記憶された命令が、読出し及び
書込み命令を記憶するために順番に配置される。しかし
ながら、命令が処理され、対応するデータがメモリー内
に書き込まれ、この様に書き込まれたメモリーのマスキ
ングデータがマスクバッファーに記憶される。「所有否
定」命令が実行される時、マスクバッファー内に記憶さ
れた位置内に書き込まれたデータは、所有否定書込み操
作中に再書込みされず、互換性が保証される。「所有権
」読出し命令と競合する命令アドレスを有する読出し命
令は、「所有権」読出し命令が処理されるまで、延期さ
れる。
及皿■ 第1図は、本発明に従うメモリー人カキューシステム2
の一般ブロック図である。入力キューシステム2は、こ
れに関連する共用メモリー資源(図示せず)に対するデ
ータ処理システム(図示せず)からの読出し及び書込み
命令を受信するための命令/アドレスキュー4を有する
命令/アドレスキュー4は、複数の命令/アドレススロ
ット8を有する命令/アドレスを有している。各スロッ
トの一つは、一つの完全な読出し又は書込み命令に関係
する情報を保持することができる。第1図に於いて、命
令/アドレスバッファー4は12個のスロット8を有し
て示されているが、如何なる数のスロット8を使用する
ことができ、これは設計事項である。各スロット8内の
情報は、命令の形態、命令の長さ、命令の識別、命令ア
ドレス、入力データ記憶ポインター情報、及び命令ステ
ィタスを示す。表1はこの目的のために好適なフィール
ドの構成の一つを示す。
表1 命令識別(ID) 適当な命令の識別 入力キューシステム2はまた入力データマスクキュー1
0を含む。入力データマスクキュー10は複数のマスク
スロット14を有する入力データマスクバッファ−12
を有する。各スロット14は、命令/アドレスキュー1
4内の命令/アドレスバッファー6のスロット8の一つ
内の対応する書込みコマンドによって修正されるべきメ
モリー語に関する情報に対して予約される。入力データ
マスクバッファ−12が、第1図内12個のスロットを
有するとして示され、命令/アドレスバッファー6内の
スロット8の各々に、入力データマスクバッファ−12
内のスロット14の対応する一つが供給されるが、入力
データマスクバッファ−12は、命令/アドレスバッフ
ァー6内により多くの又は少ない数のスロット8を有す
ることに応じて、より多(の又は少ないスロット14を
もつことができる。これは設計事項である。
入力キューシステム2はまた書込みデータキュー16を
含む。書込みデータキュー16は複数のデータスロット
20を有する書込みデータバッファー18を有する。デ
ータバッファー18内のスロット20が、メモリーに書
き込まれるべき書込みデータに割り当てられ、対応する
書込み命令が命令/アドレスキュー4内にある。第1図
では24個のスロット20を有しているが、データバッ
ファー18は、設計によってより多く又はより少ない数
にすることができる。
第2図は、命令/アドレスキュー4が入力データマスク
キュー10及び書込みデータキュー16とどの様にして
インターフェースを介して結合するかの例を示している
。命令/アドレスバッファースロット8の各々はマスク
スロット14の対応する一つに対するマスクポインター
22を有する。
命令/アドレススロット8の一つ内の命令が書込み命令
である場合、命令/アドレススロット8と関連するマス
クスロット14は、命令に従属するメモリー語のどのバ
イトが修正されるかを正確に決める対応マスクデータを
含む。命令/アドレススロット8内の命令が読出しの形
態である場合、命令/スロット8に関連するマスクスロ
ット14の一つの内のデータは意味を有さず、第2図内
のマスクポインター22の一つに各々関連する点線の矢
印によって表現される。
書込み命令を含む命令/アドレスキュー4の命令アドレ
スバッファー6内の命令/アドレススロット8は、書込
みデータキュー16の書込みデータバッファー18内の
書込みデータスロット2゜の対応する一つを指し示す書
込みデータポインター24に関連する。データポインタ
ー24の対応する一つが指し示す書込みデータスロット
2oの一つカ、命令/アドレススロット8の一つ内の対
応する命令に対する連続する書込みデータスロット20
の可能な配列の第1のものを表現する。命令/アドレス
スロット8内の読出し命令はデータポインター24の対
応するものを有さない。これは、読出し命令に関連する
書込みデータを有さないからである。
第2図は、命令アドレスバッファーキュー4内の命令/
アドレスバッファー6のスロット8内ヘロードされる種
々の命令を示す。「スロット0」として示されるスロッ
ト8の第1のものは、[DWMASKJと示される命令
形態フィールド内の「所有否定」命令を有する。この命
令に対するメモリーアドレスは命令アドレスフィールド
内にro020AJとして示される。書き込まれるべき
データの長さは、命令長フィールド内でrHEXAJと
して示される16進数として示される。
CPUの様な命令を作り出すエントリーの識別は命令I
Dフィールド内で「OA」として示される。
「スロット0」として示されるスロット8のスティタス
は、命令スロットスティタスフィールド内でrNEWJ
として示される。このデータが書き込まれるべき書込み
データキュー16の書込みデータバッファー18内の書
込みデータスロット20の指示されたものは、第1デー
タ語ポインターフィールド内で「2」として示される。
これは、「スロット2」としてラベルされた書込みデー
タスロット20の一つを意味する。
この場合、「スロット0」と指定されたスロット8はマ
スクポインター22の一つを有し、これは入力データマ
スクキュー10の入力データマスクバッファ−12内の
入力データマスクスロット14の対応する一つを指し示
している。「スロット0」と指定されたスロット14は
一つの6語に対して32ビツトのマスクデータ、即ち3
2バイトの書込みデータ長を有し、書込みデータバッフ
ァー18内のスロット2oの指定されたものから始まる
書込みデータによって修正されるべき指定「スロットO
」であるべきスロット8内でアドレスされたメモリー語
のバイトを指定する。マスクデータの各ビットは書込み
データの1バイトを表している。書込みデータが「スロ
ット2」と指定されるスロット2oで始まり、書込みデ
ータ長が16語、即ち32バイトであるので、書込みデ
ータは、このデータと関連する「スロット2」と指定さ
れたスロット2oがらの連続スロットの数に渡って広が
る。第2図において、書込みデータスロット20の各々
は、8バイト長を有するとして示されている。従って、
「スロット0」と指定されるスロット8内の書込み命令
に対する書込みデータは、「スロット2」と指定される
スロット20から「スロット5」と指定されるスロット
2゜までにまたがる。
「スロット0」と指定されるスロット8内の命令に対す
る「所有否定」指示は、その命令が、識別されたアドレ
スから出発する「チエツクされた」データを有するシス
テム内の書き戻しキャシュを有するノードからのもので
あり、「チエツクされたJデータを修正することを含む
この書込み命令を伴うそれの所有を否定することを示す
。rNEW」スティタスは、この命令が入力キューシス
テム2にロードされ、共用メモリー(図示せず)がもは
や前の命令でビジーにされない時、先入れ、先出しくF
IFO)で処理されるのに準備されていることを意味す
る。
命令/アドレスバッファー6内の「スロット1」として
識別されるスロット8の第2のものが、rOREAD」
として指定される命令形態フィールド内に「所有権読出
し」命令を有する。この命令に対するメモリーアドレス
は命令アドレスフィールド内にrolcO4Jとして示
される。読み出されるべきデータ長は命令長フィールド
内で6語として示される。この命令を作り出すエントリ
の識別子が命令IDフィールド内に「11」として示さ
れる。「スロット1」として指定されるスロット8のス
ティタスが、命令スロットスティタスフィールド内に「
NEW」として示される。これは、読出し命令であるの
で、第1のデータワードポインターフィールド内に書込
みデータポインターの指定はない。読出し命令であるの
で、「スロット1」と指定された入力データマスクバッ
ファ−12の入力データマスクスロット14に対するマ
スクポインター22が点線矢印で示されており、マスク
データは「スロットl」として指定されるスロット14
内には示されない。
「スロットl」として示されるスロット8内の命令に対
する「所有権読出し」の指示は、その命令が、指定され
たアドレスから始まる指示されたデータ長のデータをチ
エツクするシステム内に書き戻しキャッシュを有するノ
ードからのものであることを意味する。また、「NEW
」スティタスは、命令が入力キューシステム2にロード
され、処理されるのに準備されていることを意味する。
命令/アドレスバッファー6内の「スロット2」として
識別される第3のスロット8は、命令形態フィールド内
にrWMAsK」として指定される「書込み」命令を有
する。この命令に対するメモリーアドレスは命令アドレ
スフィールド内に「20000Jとして示される。書き
込まれるべきデータ長は、命令長フィールド内に8語即
ち16バイトとして示される。命令を作り出すエントリ
ーの識別は、命令IDフィールド内で「10」として示
される。「スロット2」と示されるスロット8のスティ
タスは、命令スロットスティタスフィールド内でrNE
W」として示される。書き込まれるべきデータを有する
データスロット20の指定された一つが、第1データ語
ポインターフィールド内で「6」として示される。これ
は、関連するポインター24が「スロット6」とラベル
される書込みデータスロット20の一つを指し示すこと
を意味する。
この場合、「スロット2」と示されるスロット8はマス
クポインター22を有している。このポインターは、入
力マスクキュー10の入力データマスクハラファー内の
入力データマスクスロット14の対応する一つを指し示
している。「スロット2」と示されるスロット14は、
6語長の書込みデータに対する32ビツトのマスクデー
タを有している。この6語長の書込みデータは、書込み
データバッファー18内のスロット20の指定された一
つで始まる書込みデータによって修正されるべきスロッ
ト8内で呼び出されるメモリー語のバイトを示している
。書込みデータは、「スロット6」と示されるスロット
20で始まり、書込みデータ長が8語即ち16バイドで
あるので、書込みデータが、各スロットが8バイト長で
あるので、「スロット6」と示されるスロット20から
「スロット7」と示されるスロット20までわたる。
「スロット2」と示されるスロット8内の命令に対する
「書込み」指示は、この命令がノードの一つからの命令
であることを示す。rNEW」スティタスは、命令が入
力キューシステム2内にロードされ、処理されるのに準
備されていることを意味する。
命令/アドレスバッファー6内で「スロット3」と示さ
れる第4のスロット8は、rREADJとし示される命
令形態フィールド内の「読出し」命令を有する。この命
令に対するメモリーアドレスは、命令アドレスフィール
ド内にrABcDE」として示される。読み出されるべ
きデータ長が、rQUAD」として示される命令長フィ
ールド内で4語として示される。命令を作り出すエント
リの識別子は、命令IDフィールド内で「2F」として
示される。「スロット3」と示されるスロット8のステ
ィタスが命令スロットスティタスフィールド内でrWA
ITJと示される。第1語ポインターフィールド内に書
込みデータポインターの指示はない。これは、読出し命
令であるからである。読出し命令であるので、「スロッ
ト3」と示される入力データマスクバッファ−12の入
力データマスクスロット14に対するマスクポインター
22が、破線矢印で示され、「スロット3」と示される
スロット14内には、マスクデータが示されない。
「スロット3」と示されるスロット8内の命令に対する
「読出し」指示は、その命令がノードの一つからの読出
し命令であることを意味している。
rWAI TJスティタスは、「NEW」状態にある間
にこの命令がすでに処理され、成る理由でまだ継続して
いることを意味する。この命令のスティタスは、「スロ
ット3」と示されるスロット8が終了する準備ができて
いる時に、一致状態に変化する。
命令/アドレスバッファー6内の「スロット4」として
示される第5のスッロト8は、命令形態フィールド内に
、rWMASKlと略称される「書込み」命令を有する
。この命令のメモリーアドレスは命令アドレスフィール
ド内でrABcDE」と示される。書き込まれるべきデ
ータ長が命令長フィールド内で4語で示される。命令を
作り出すエントリーの識別子が、命令IDフィールド内
に「3A」として示される。「スロット4」と示される
スロット8のスティタスは、命令スロットスティタスフ
ィールド内にrWAITJと示される。
第1のデータ語ポインターフィールド内には書込みデー
タポインターフィールドが無いが、これはこの命令が「
WAIT」スティタスによって示される様にすでに処理
されているからである。
「スロット4」として示されるスロット8は、入力デー
タマスクキュー10の入力データマスクバッファ−12
内の入力データマスクスロット14の対応する一つを指
し示す一つのマスクポインター22を有する。「スロッ
ト4」として示されるスロット14はスロット8内でア
ドレスされたてメモリー語のバイトを識別する6語長の
マスクデータを有している。このデータは「スロット4
」と示されるスロット8内の書込み命令に対応する書込
みデータによって修正されてる。勿論、この命令はすで
に処理されていて、データは修正されている。従って、
「スロット4」と示されるスロット14内のこの命令に
対するマスク情報は、アドレスメモリーの何れのバイト
がこの命令の処理によって修正されたかを示す。
命令/アドレスバッファー6内で「スロット5」と示さ
れる6番目のスロット8は、rREADJと示される命
令形態フィールド内の「読出し」命令を有している。こ
の命令に対するメモリーアドレスが、命令アドレスフィ
ールド内にro l OIE」として示される。読み出
されるべきデータ長は、rOcTAJと示される8語で
示される。命令を作り出すエンテイテイーの識別子が、
命令IDフィールド内で「34」として示される。「ス
ロット5」と示されるスロット8の状態は、命令スロッ
トスティタスフィールド内にrNEWJと示される。第
1のデータ語ポインターフィールド内に書込みデータポ
インター識別子がないが、これは、読出し命令のためで
ある。読出し命令であるので、「スロット5」として示
される入力データマスクバッファ−12の入力データマ
スクスロット14に対するマスクポインター22が破線
矢印として示され、マスクデータは、「スロット5」と
して示されるスロット14内に示されない。
命令/アドレスバッファー6内の「スロット6」から「
スロット11」として示されるスロット8の残りの6個
の全てが、対応する命令スロットスティタスフィールド
内でrFREE」として示される状態を有する。他のフ
ィールドは空である。
rFREE」状態は、これらスロット8がFIFOの順
序で新たな命令を受けるのに準備できていることを意味
する。新たな命令が入力キューシステム2にロードされ
る野で「スロット6」として示されるスロット8が命令
を記憶し、状態が「NEWJに変化する。同様にして、
次の命令が入力キューシステム2にロードされる時、「
スロット7」と示されるスロット8がこの次の命令を記
憶し、この状態が「NEW」に変化する。「スロット7
」と示されるスロット8内に記憶される命令が処理され
る。同様に、「スロット8」から「スロット11」とし
て示されるスロット8が、入力キューシステム2内にロ
ードされる付加的な命令を記憶し、処理する。
第3図は、入力キューシステム2の簡単化されたブロッ
ク図であり、主要な要素だけが示されている。要素間で
データフィールドを接続するラインが、全データフィー
ルドに適合する複数のラインからなる。各命令は、入力
記憶バッファーシステム28の特定の命令記憶スロット
26内にロードされる。各命令は、命令ヘッドポインタ
ーキュー32の対応する入力ポインタースロット30内
の識別子によって参照される。命令ヘッドポインターキ
ュー32の出力上のポインター識別フィールドが、ライ
ン36上の決定マルチプレクサ−34の入力に送られる
。決定マルチプレクサ34の出力からの命令選択フィー
ルドが、ライン40上の命令選択マルチプレクサ38の
選択入力に送られる。選択マルチプレクサ38が、入力
記憶バッファー28内のスロット26の各々に結合する
複数の入力記憶スロットライン42を選択する。入力記
憶バッファー28は、ライン40上の命令選択フィール
ドに対応する命令アドレスフィールドを有する。選択マ
ルチプレクサ38は、出力フィールドを、キューライン
44のヘッド上に選択されたスロット26に記憶された
命令で生成する。
ライン44上に出力される命令が次に処理されるスロッ
ト26の各々がそれに関連する命令アドレスを有してい
る。一つの命令を含むスロット26の全てのアドレスが
、スロット26の各々からの複数の比較ライン48を介
して、ライン44に結合される命令出力信号ライン51
を介して比較回路46内のキューラインのヘッド上の命
令のアドレスと比較される。入力記憶バッファー28の
スロット26内の命令アドレスの何れかが、ライン51
を介してキューライン44のヘッド上の命令アドレスの
アドレスと一致する時、比較器回路46の出力が、一致
を、ライン50を介して入力ポインター決定マルチプレ
クサ−34に示す。この点で、不一致が入力キューシス
テム2上で結果されると、マルチプレクサ−34は新た
な入力ポインターキュー32を外し、代わりにライン5
4を介してマルチプレクサ−34に結合する不一致解消
回路52を選択する。不一致解消回路52が、キューラ
イン44のヘッド上の命令フィールド上のアドレスに一
致する命令アドレスの各々を、スロット26のスロット
アドレスの順番で、最低のアドレスを最初にして選択す
る。一致する命令アドレスの各々が、関連する読出し命
令が達成されると直ぐにクリアーされ、従って、全ての
アドレスが一致する再に比較回路46がマルチプレクサ
−34が不一致解消回路52を外して新たな入力ポイン
ターキュー32を再び選択するように選択する。
第4図は、命令が入力キューシステム2にロードされ、
これから処理される仕方を示している。
命令は、第3図内に示される回路命令ヘッドポインター
キュー32の複数のスロット3o内に順次ロードされる
。12個のスロット3oが第4図に示されるが、より多
い又はより少ない数のスロット30が使用できる。命令
が、スロット3oの最低の自由端に対する各命令を順次
示すティルポインター60の指示に従ってロードされる
。それぞれ値「5」及び「1」を含むポインター60及
び62のティル端上のボックスは、ポインターが示すス
ロット30のアドレスを単に表現する。新たな命令が、
ヘッドポインター62の指示に従って順次処理される。
このヘッドポインター62は命令エントリーを有するス
ロットの最低のものに各命令を順次指示する。解決され
た命令は、新たな命令の間に介在できる。
入力キューシステム2は、複数の命令ノ<・ソファ−ス
ロット66を有する命令バッファーアレイ64を有して
いる。12個の命令バッファースロット66をか示され
るが、より多くの又はより少ないスロット66を使用で
きる。スロット30と同様により多くまたはより少ない
数のスロ・ソト66を使用することができる。各ポイン
ター68が指し示す命令バッファースロット66が命令
アドレス、命令形態、スティタス、長さ、ノードID及
び命令ヘッドポインターキュー32内に記憶された同じ
スロットアドレスを有する命令に対するマスク情報を含
む。命令バッファーアレイ64は、機能的に、入力命令
/アドレスキュー4、入力データマスクキュー10と同
等である。
第5図は、主要な要素が相互結合する仕方を示す第1図
内の好適な実施例のプロ・ツク図である。
要素間でデータフィールドを接続するラインは、実際は
複数のラインからなり、全データフィールドと適合する
。第3図に示される命令へ・ソドポインターキュー32
は、命令/アドレスキュー4ζこ含まれる。命令が入力
キューシステム4によって受信される時、この命令は、
第1図に関連して記述される様に、命令/アドレスノく
・ソファ−6、入力データマスクバツファ−12及び入
力データノくソファ−18にロードされる。同時に、命
令/アドレスバッファー6のスロット内の各命令のスロ
ットアドレスが、命令へ・ソドポインターキュー32の
スロット30の対応する一つに導入される。
命令ヘッドポインターキュー32のへ・ソドのスロット
アドレスフィールドは、ライン36を介して2つの入力
マルチプレクサ−34の一人力に送られる。マルチプレ
クサ−34は通常はライン36を選択し、ライン40上
の出力上を介してライン36上にスロットアドレスフィ
ールドを通過する。
ライン40上のスロットアドレスフィールドが、複数の
マルチプレクサ入力を有する命令/アドレスマルチプレ
クサ38の選択入力に送られる。第5図に於いて、命令
/アドレスマルチプレクサ−38は、12個のマルチプ
レクサ−人力を有しており、命令/アドレスバッファー
6内の各スロット8に対して個別の入力を提供している
。命令/アドレスマルチプレクサ−38が各スロット8
に対して最小−つの入力を有する限り、命令/アドレス
バッファー6内のスロットの数に応じ、より多くの又は
より少ない数の入力を使用することができる。スロット
8の各々は、複数のライン42を介してマルチプレクサ
−38の入力の一つに結合される。マルチプレクサ−3
8は、マルチプレクサ−34からのライン40からのフ
ィールドと付き合わされるスロットアドレスフィールド
を有するスロット8の一つを選択する。マルチプレクサ
38は、ライン44上にスロット8の選択された一つの
命令の命令形態、アドレス、長さ、ノードID及びステ
ィタスデータを通過する。こ0命令及びアドレスデータ
は、命令/アドレスキュー4のヘッドに対する出力であ
る。
同時に、ライン44上の命令及びアドレスデータはライ
ン51を介して比較器回路44の参照入力に転送される
。比較器回路46は複数の比較器入力及び出力を有し、
命令アドレスバッファー6内のスロットの数と少なくと
も同数の比較入力及び出力がある。第5図に於いて、比
較器回路46は12個の比較人力及び12個の比較出力
、及び一つの参照人力を有している。スロット8の各々
は、複数のライン48の一つを介して比較器回路46の
比較器入力の一つに結合されている。比較器回路46は
、ライン51を介して参照人力に送られた命令アドレス
を、スロット8内の命令の各々の命令アドレスと比較す
る。一致する場合は、一致する命令アドレスに対するス
ロット8のスロットアドレスは、比較出力の対応する一
つを通し、複数のライン89を介して一致バッファー内
の複数の一致スロット86の対応するものに送られる。
一致バッファ−88は、命令/アドレスバッファー6内
のスロットの数と少なくとも同数のスロット86を有す
る。第5図に於いては、12個のスロット86が示され
る。
スロット88の各々は、命令/アドレスキューのヘッド
の命令のアドレスと一致する対応する命令の形態を記憶
する。この結果、一致が、読出し一致、書込み一致、所
有否定書込み一致であるか識別できる。一致するスロッ
トアドレスは、一致バッファ−88のスロット8°6の
最低スロットアドレスから連続的に読み出される。各ス
ロットアドレスは、ライン54を介してマルチプレクサ
34の第2人力に送られる。一致バッファ−88は複数
のライン92の対応する一つを介してスロット86の各
々から読み出された命令の形態を識別する。この命令形
態のデータは、データバス100を介して読出し一致ゲ
ート回路94、書込みゲート回路96及び所有否定書込
みデート回路98へ転送される。また、比較器回路46
は、一致するアドレスを有するスロット8からの各々か
らの命令を、直接スロット8からデータバス100へ転
送するように構成される。
読出し一致があるところで、読出し一致ゲート回路94
はその出力に選択信号を供給する。この出力は、ライン
50を介してマルチプレクサ34上の選択入力に結合し
ている。ライン50上の信号は、新たな命令ヘッドポイ
ンターキュー32からのライン36上のスロットアドレ
スの代わりに、マルチプレクサ34に、ライン54上の
一致バッファー88からスロットアドレスを選ばせる。
マルチプレクサ−34は次にライン54上のスロットア
ドレスを、ライン40を介して命令/アドレスマルチプ
レクサ−38の選択入力に通過する。
マルチプレクサ−38は次に対応するスロットアドレス
により、命令/アドレスバッファー6のスロット8を選
択する。この様にして、読出し一致の検出は、命令の処
理の順番を、命令ヘッドポインターキュー32によって
構成される順番から、一致バッファ−88のスロット内
の一致の順番に変更する。
書込み命令は入力キューシステム2から適当なマスクデ
ータ及び入力データの選択を含む。これは、処理の順番
を変更しない。ライン40上のスロットアドレスが、ラ
イン106を介して、複数のマルチプレクサ−人力を有
する第1のマスクマルチプレクサ−104の選択入力へ
送られる。マルチプレクサ−104は、入力データマス
クバッファ−12内のスロットの数と少なくとも同数の
マルチプレクサ−人力を育する。第5図において、マル
チプレクサ−104は、12個の入力を有し、人力デー
タマスクバッファ−12のスロット14の各々は、複数
のライン108の対応する一つを介してマルチプレクサ
−104のマルチプレクサ−人力の一つと結合している
。マルチプレクサ−104は、ライン106上のアドレ
スと一致するスロットアドレスを有するスロット14の
一つを選択し、その出力を通してライン110へ選択さ
れたスロット14に対するマスクデータを通過する。従
って、ライン110上のマスクデータはライン114上
の命令/アドレスデータに対応する。
ライン40上のスロットアドレスは、複数のマルチプレ
クサ−人力を有するデータポインターマルチプレクサ−
114の選択入力へ送られる。マルチプレクサ−114
は、命令/アドレスバッファー6内のスロット8の数と
少なくとも同数のマルチプレクサ−人力を有する。第5
図に於いては、マルチプレクサ−114は12個の入力
を有している。各マルチプレクサ−人力は、複数のライ
ン118の対応する一つを介してスロット8からの情報
を受信する。マルチプレクサ−114は、ライン116
上のスロットアドレスと一致するスロットアドレスを有
するスロット8の一つを選択し、選択されたスロットか
らのデータポインターデータをライン122を介して公
知のロード/増分論理回路120の入力へ通過する。ロ
ード/増分論理回路120は、先ずライン126上の論
理入力に送られた増分論理制御フィールドに応答して、
ライン124上の出力を通してライン122上にデータ
ポインターデータをロードする。増分論理制御フィール
ドが公知の増分論理制御回路(図示せず)によって供給
される。
ライン124上のデータポインターが、複数のマルチプ
レクサ−人力を有する入力データマルチプレクサ−12
8の選択入力へ送られる。マルチプレクサ−128は書
込みデータバッファー18内のスロットの数と少なくと
も同数のマルチプレクサ入力を有している。第5図にお
いて、マルチプレクサ−128は24個のマルチプレク
サ−を有しており、各マルチプレクサ−人力は複数のラ
イン130の対応する一つを介してスロット20の一つ
と結合している。マルチプレクサ−128は、ライン1
24上のデータポインターデータと一致するデータポイ
ンターデータでスロット20の一つを選択する。マルチ
プレクサ−128は、選択されたスロット20からの入
力データをライン132上の出力に通過させ、ライン1
32は書込みキュー16のヘッドとして機能する。増分
論理回路120は、ライン124上のデータポインター
データの値を、スロット毎に循環シーフェンスで増分し
、スロット20のスロットアドレスがデータとして循環
され、スロット20の各々からライン132へ転送され
る。これはライン126上の増分論理制御フィールドに
よって達成される。
一致バッファ−88がスロットの86の一つから書込み
命令を識別し、ライン44上のキューヘッド命令は書込
み命令である時、書込み一致ゲート回路96は、命令/
アドレスバッファー6のスロット8対応する一つ内の書
込み命令のスロットアドレスに対応するライン134上
にスロットアドレスフィールドを発生する。ライン13
4上のスロットアドレスは、単一のマルチプレクサ−人
力及び複数の出力を有するマスクデータデマルチプレク
サ−の選択入力に送られる。デマルチプレクサ−136
は入力データマスクバッファ−12内のスロット14の
数と少なくとも同数の出力を有している。デマルチプレ
クサ−136の出力の各々は、複数のライン138の対
応する一つを介してスロット14の異なる一つと結合す
る。ライン110上のマスクデータが、ライン140を
介してデマルチプレクサ−人力に送られる。デマルチプ
レクサ−136は、ライン134上のスロットアドレス
と一致するスロットアドレスを有するスロット14の一
つを選択する。この様にして、ライン140上のマスク
データが、スロット14の選択された一つに記憶された
マスクデータと併合する。
一致バッファー88は、スロット86の−っがらの所有
否定書込み命令を識別する時、所有否定書込み一致ゲー
ト回路98が、ライン142上にスロットアドレスフィ
ールドを発生する。ライン142上のスロットアドレス
フィールドが、複数のマルチプレクサ−人力を有する第
2のデータマスクマルチプレクサ−152の選択入力に
送られる。マルチプレクサ−152は、入力データマス
クバッファ−12内のスロットの数と少なくとも同数の
マルチプレクサ−人力を有する。第5図に於いて、マル
チプレクサ−152は12個の入力を有しており、各入
力には、複数のライン154の対応するーっを介してス
ロット14の一つが接続される。
マルチプレクサ−152がライン142上のスロットア
ドレスと一致するスロットアドレスを有するスロット1
4の一つを選択する。マルチプレクサ−152は、選択
されたスロット14がらノマスクデータをその出力を介
してライン156へ送る。ライン156上のマスクデー
タは禁止ゲート回路158の第1人力に送られる。ライ
ン142上の所有否定書込みゲート回路98がらのイネ
ーブル信号が、ライン160を介してゲート回路158
の第2の入力に送られる。このイネーブル信号がライン
160に現れると、禁止ゲート回路158が、その出力
を介してライン162上にライン156上のマスクデー
タ禁止フィールドを発生する。
ライン110上のマスクデータフィールドは、フィルタ
ーゲート回路164の第1人力に送られる。ライン16
2上のマスクデータ禁止フィールドがフィルターゲート
回路164の第2人力へ送られる。所有否定ゲート回路
98がらの信号がない場合、ライン162上にマスクデ
ータ禁止フィールドがなく、ゲート回路164が、その
出力を介してライン166上にマスクデータを発生する
しかしながら、イネーブル信号がライン142上に出現
すると、ライン156上のマスクデータは、ゲート15
8内にマスクデータ禁止フィールドを発生する。ライン
110上のマスクデータに対応するライン162上にマ
スクデータ禁止フィールドが存在すると、フィルターゲ
ート回路164はすでに書き込まれたマスクデータが、
所有書込み命令期間ライン166へ転送されることを防
ぐ。
これは、所有否定書込み命令が、他の書込み命令で書き
込まれたデータ上に重ね書きすることを禁止する。これ
は、先ず、所有否定命令を達成し、次いで突き合わせ書
込み命令を達成することを仮装する。
ライン44上の命令/アドレスフィールドのより低いア
ドレスが、ライン170を介して公知のロード/増分ロ
ジック回路168の入力に送られる。ロード/増分論理
回路168が、ライン174上の増分論理回路168の
論理制御入力に送られるロード論理制御信号に応答して
、ライン172上に命令/アドレスデータフィールドの
より低いアドレスビットを通過する。増分論理制御信号
が、公知の増分論理回路(図示せず)によって発展され
る。ライン172上のアドレスデータは4対1マルチプ
レクサ−176の選択入力へ送られる。ライン166は
マルチプレクサ−176の入力に接続される。マルチプ
レクサ−176はライン166上のマスクデータのバイ
トを選択する。
このバイト内の各ビットは、ライン172上のアドレス
データに対応する4語バイトを表す。マルチプレクサ−
176はその出力を通して選択されたマスクデータをラ
イン178上に送る。このライン178は入力データマ
スクキュー10のヘッドとして機能する。増分論理回路
168は、ライン174上の増分論理信号に応答して、
ライン172上のアドレスを順次増大し、入力データマ
スクバッファー12の選択されたスロット14内のマス
クデータのバイトの各々を順次出力する。
データ処理システムが書き戻しキャシュ、書く通しキャ
シュ及びキャシュ無しノードの混合を含む場合であって
も、上述された本発明に従がうメモリーサブシステム入
力キューが、データ処理システム内の異なるCPUから
の共用メモリー資源によって受信される読出し及び書込
み命令を分類する。入力キューが受信されたキューを記
憶し、所有否定書込み命令が処理されるまでFIFO手
法内で順次それらを処理する。
読出し命令が処理された時、位置が所有され、読出し命
令が一次的な「待ち」スティタスを与え、その実行が延
期される。書込み命令が処理された時、位置が所有され
、書込みが進行し、書込み処理、書込み情報及びマスク
データが、現在スロット内の入力キューにセーブされる
。書込みコマンドが一次的な「待ち」スティタスを与え
る。同じアドレスに対する前の書込み命令がすでに「待
ち」スティタスに有る場合、現在書込み命令のマスクデ
ータが前の書込み命令のマスクデータと併合される。「
待ち」状態内の一つの書込み命令のみがそのアドレスに
対して残される。
所有否定命令が処理される時、入力キューが、記憶され
ており、同じ命令アドレスを有する他の受信された命令
の何れかを見出す。書込み形態の一致されたアドレス命
令のマスクデータが、所有否定書込み命令のマスクデー
タが、待ち状態を有する書込み形態の一致されたアドレ
ス命令によって書き込まれたデータに重ね書きすること
を禁止する。
この様にして、書き戻しキャシュを有さず、データブロ
ックの所有権を認識しないノードによって発行される書
込み命令が書き戻しキャシュを有するノードの所有否定
書込み命令によっては破壊されない。読出し形態の一致
されるアドレス命令は、一致ステイタスを含み、次いで
処理される。
この様にして、書き戻しキャシュを有さす、データブロ
ックの所有権を認めるノードからの読出し命令は、所有
否定書込み命令がデータブロックを解放するまで、処理
されない。
従って、書き戻しキャシュを有するノード、書き通しキ
ャシュ、及びキャシュを有さないノードからのメモリー
資源に対する読出し及び書込み命令を管理すくための方
法論及び回路が記述されたが、本発明の詳細な説明する
ために上述された部分及びシステムの詳細、構成及び構
造の種々の変更が、特許請求の範囲に表現された本発明
の思想及び範囲内で当業者によって可能であることが理
解できる。
【図面の簡単な説明】
第1図は好適な実施例に従うメモリー人カキューシステ
ムに対する一般的な構成のブロック図、第2図は第1図
に示される入力キューシステム内の命令/アドレスキュ
ー、マスクキュー及びデータキューの関係を示す図、 第3図は第1図に示される入力キューシステムの機能ブ
ロック図、 第4図は第1図に示される人力キューシステムに対する
命令ローディング及び処理システム図、第5図は第1図
内に示される好適な実施例の詳細図。 2・・・入力キューシステム、4・・・命令アドレスキ
ュー 6・・・命令/アドレスバッファー 8・・・ス
ロット、IO・・・入力データマスクキュー 12・・
・入力データマスクバッファ−14・・・スロット、1
6・・・書込みデータキュー 18・・・データバッフ
ァー20・・・スロット、22・・・マスクポインター
 24・・・データポインタ、26・・・命令記憶スロ
ット、28・・・入力記憶バッファーシステム、3o・
・・入力ポインタースロット、32・・・命令ヘッドポ
インターキュー 34・・・決定マルチプレクサ−13
8川選択マルチプレクサー 46・・・比較器回路、5
2・・・不一致解消回路。

Claims (5)

    【特許請求の範囲】
  1. (1)複数のノードから共用メモリー資源への命令を分
    類する方法であり、前記命令が、書き戻しキャシュを有
    する前記ノードからの「所有権読出し」形態及び「所有
    否定書込み」形態命令、前記ノードの他の形態からの「
    読出し」形態及び「書込み」形態命令からなり、前記方
    法が、前記命令の一つを記憶する複数の記憶位置の各々
    の状態を第1の状態から第2の状態へ変化し、 前記記憶される命令の各々を選択し、 前記選択された命令が「読出し」又は「書込み」形態命
    令である場合、「所有権読出し」又は「所有否定」の前
    記記憶された命令の一つと同じ命令アドレスを有する前
    記選択された命令を記憶する前記記憶位置の状態を、前
    記第2の状態から第3の状態へ変化し、 前記選択された命令が「所有否定書込み」形態命令であ
    る場合、前記選択された命令と同じ命令アドレスを有す
    る命令を記憶する前記記憶位置の状態を前記第3の状態
    から前記第4の状態に変化する工程を含む命令を分類す
    る方法。
  2. (2)複数のノードから共用メモリー資源への命令を分
    類する方法であり、前記命令が、書き戻しキャシュを有
    する前記ノードからの「所有権読出し」形態及び「所有
    否定書込み」形態命令、前記ノードの他の形態からの「
    読出し」形態及び「書込み」形態命令からなり、前記方
    法が、前記命令の一つを記憶する複数の記憶位置の各々
    の状態を第1の状態から第2の状態へ変化し、 前記記憶される命令の各々を選択し、 前記選択された命令が「読出し」又は「書込み」形態命
    令である場合、「所有権読出し」又は「所有否定」の前
    記記憶された命令の一つと同じ命令アドレスを有する前
    記選択された命令を記憶する前記記憶位置の状態を、前
    記第2の状態から第3の状態へ変化し、 前記選択された命令が「所有否定書込み」形態命令であ
    る場合、前記選択された命令と同じ命令アドレスを有す
    る命令を記憶する前記記憶位置の状態を前記第3の状態
    から前記第4の状態に変化し、 前記選択された命令をホールドする前記記憶位置の一つ
    の状態を前記第2の状態から前記第1の状態へ変化し、 前記選択された命令と同じ命令アドレスを有する前記命
    令をホールドする前記記憶位置の状態を前記第4の状態
    から前記第1の状態へ変化する工程を含む命令を分類す
    る方法。
  3. (3)複数のノードから共用メモリー資源への命令を分
    類する方法であって、前記命令が書き戻しキャシュを有
    する前記ノードからの「所有権読出し」及び「所有否定
    書込み」形態命令から成り、この方法が、 複数の前記命令を受信し、前記メモリーの記憶位置内の
    前記受信された命令の各々を分離して記憶し、 前記命令の一つを記憶する前記記憶位置の各々の状態を
    第1の状態から第2の状態へ変化し、前記記憶された命
    令の各々をその記憶アドレス順に選択し、 「所有権読出し」又は「所有権否定書込み」形態の前記
    記憶された命令の一つと同じ命令アドレスを有する「読
    出し」又は「書込み」形態の前記選択された命令を記憶
    する前記記憶位置の状態を、前記第2の状態から第3の
    状態に変化し、 前記選択された命令が「所有否定書込み」形態命令であ
    る場合、前記選択された命令と同じ命令アドレスを有す
    る前記アドレス命令を記憶する前記記憶位置の状態を前
    記第3の状態から前記第4の状態に変化し、 前記選択された命令に対する前記記憶位置の一つの状態
    を前記第2の状態から前記第1の状態に変化し、 同じ命令アドレスを有する前記命令を記憶する前記記憶
    位置の状態を前記第4の状態から前記第1の状態へ変化
    する工程を含む命令を分類する方法。
  4. (4)複数のノードから共用メモリー資源への命令を分
    類する回路であり、前記命令が、書き戻しキャシュを有
    するノードからの「所有権読出し」及び「所有否定」形
    態命令、前記ノードの他の形態からの「読出し」形態及
    び「書込み」形態から成り、前記回路が、 前記命令の一つを記憶する複数の記憶位置の各々の状態
    を、第1の状態から第2の状態へ変化する手段、 前記記憶された命令の各々を選択するための手段、 「所有権読出し」又は「所有否定書込み」形態の前記記
    憶された命令の一つと同じ命令アドレスを有する「読出
    し」又は「書込み」形態の前記選択された命令を記憶す
    る前記記憶位置の状態を前記第2の状態から第3の状態
    へ変化する手段、 選択された命令が「所有否定書込み」形態命令である場
    合、前記選択された命令と同じ命令アドレスを有する前
    記命令を記憶する前記記憶位置の状態を前記第3の状態
    から前記第4の状態へ変化する手段から成る命令を分類
    する回路。
  5. (5)複数のノードから共用メモリー資源への命令を分
    類する回路であり、前記命令が、書き戻しキャシュを有
    するノードからの「所有権読出し」及び「所有否定書込
    み」形態命令、前記ノードの他の形態からの「読出し」
    形態及び「書込み」形態から成り、前記回路が、 前記命令を記憶する複数の記憶位置の状態を、第1の状
    態から第2の状態へ変化する手段、前記記憶された命令
    の各々を選択するための手段、 「所有権読出し」及び「所有否定書込み」形態の前記記
    憶された命令の一つと同じ命令アドレスを有する「読出
    し」又は「書込み」形態の前記選択された命令を記憶す
    る前記記憶位置の状態を前記第2の状態から第3の状態
    へ変化する手段、 前記選択された命令が「所有否定書込み」形態命令であ
    る場合、前記選択された命令と同じ命令アドレスを有す
    る前記命令を記憶する前記記憶位置の状態を前記第3の
    状態から前記第4の状態へ変化する手段、 前記選択された命令をホールドする前記記憶位置の一つ
    の状態を前記第2の状態から前記第1の状態へ変化する
    手段、 前記選択された命令と同じ命令アドレスを有する前記命
    令をホールドする前記記憶位置の状態を前記第4の状態
    から前記第1の状態へ変化する手段から成る命令を分類
    する回路。(6)複数のノードから共用メモリー資源へ
    の命令を記憶するための回路であり、前記命令が書き戻
    しキャシュを有する前記ノードからの「所有権読出し」
    形態又は「所有否定書込み」形態命令、前記ノードの他
    の形態からの「読出し」形態又は「書込み」形態命令か
    ら成り、前記回路が、 複数の前記命令を受信し、前記メモリー内の記憶位置内
    の前記受信された命令の各々を分離して記憶する手段、 前記命令の一つを記憶する前記記憶位置の各々の状態を
    第1の状態から第2の状態へ変化する手段、 前記記憶された命令の各々を選択する手段、「所有権読
    出し」又は「所有否定書込み」形態の前記記憶された命
    令の一つと同じ命令アドレスを有する「読出し」又は「
    書込み」形態の前記選択された命令の前記記憶位置の状
    態を前記第2の状態から第3の状態へ変化する手段、前
    記選択された命令が「所有否定書込み」形態命令の場合
    、前記選択された命令と同じ命令アドレスを有する前記
    命令を記憶する前記記憶位置の状態を前記第3の状態か
    ら前記第4の状態へ変化する手段、 前記選択された命令をホールドする前記記憶位置の一つ
    の状態を前記第2の状態から前記第1の状態へ変化する
    手段、及び 前記選択された命令と同じ命令アドレスを有する前記命
    令を記憶する前記記憶位置の状態を前記第4の状態から
    前記第1の状態へ変化する手段から成る命令を分類する
    ための回路。
JP2178500A 1989-07-06 1990-07-05 メモリーサブシステム入力キュー Expired - Lifetime JPH0652519B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37630089A 1989-07-06 1989-07-06
US376300 1989-07-06

Publications (2)

Publication Number Publication Date
JPH03118649A true JPH03118649A (ja) 1991-05-21
JPH0652519B2 JPH0652519B2 (ja) 1994-07-06

Family

ID=23484443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2178500A Expired - Lifetime JPH0652519B2 (ja) 1989-07-06 1990-07-05 メモリーサブシステム入力キュー

Country Status (6)

Country Link
US (1) US5388222A (ja)
EP (1) EP0407087B1 (ja)
JP (1) JPH0652519B2 (ja)
AT (1) ATE157183T1 (ja)
CA (1) CA2020385C (ja)
DE (1) DE69031297T2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4423559A1 (de) * 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
US5630075A (en) * 1993-12-30 1997-05-13 Intel Corporation Write combining buffer for sequentially addressed partial line operations originating from a single instruction
US5751986A (en) * 1994-03-01 1998-05-12 Intel Corporation Computer system with self-consistent ordering mechanism
US5761731A (en) * 1995-01-13 1998-06-02 Digital Equipment Corporation Method and apparatus for performing atomic transactions in a shared memory multi processor system
US5751983A (en) * 1995-10-03 1998-05-12 Abramson; Jeffrey M. Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations
US6401167B1 (en) * 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
AU9604698A (en) * 1997-10-10 1999-05-03 Rambus Incorporated Method and apparatus for two step memory write operations
US6356485B1 (en) 1999-02-13 2002-03-12 Integrated Device Technology, Inc. Merging write cycles by comparing at least a portion of the respective write cycle addresses
US7543100B2 (en) * 2001-06-18 2009-06-02 3Par, Inc. Node controller for a data storage system
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
JP4208895B2 (ja) * 2006-05-30 2009-01-14 株式会社東芝 キャッシュメモリ装置および処理方法
US8275972B2 (en) 2006-08-23 2012-09-25 Ati Technologies, Inc. Write data mask method and system
US20080151765A1 (en) * 2006-12-20 2008-06-26 Sanal Chandran Cheruvathery Enhanced Jitter Buffer
US20110238870A1 (en) * 2008-12-03 2011-09-29 Rambus Inc. Memory System With Command Filtering
US8239635B2 (en) * 2009-09-30 2012-08-07 Oracle America, Inc. System and method for performing visible and semi-visible read operations in a software transactional memory
CN102129662B (zh) * 2010-01-18 2013-02-27 环旭电子股份有限公司 提升显示操作效能的显示控制系统、电脑系统及控制方法
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US11709623B2 (en) * 2018-08-03 2023-07-25 Sk Hynix Nand Product Solutions Corp. NAND-based storage device with partitioned nonvolatile write buffer
US10891227B2 (en) * 2018-11-29 2021-01-12 International Business Machines Corporation Determining modified tracks to destage during a cache scan
US11113213B2 (en) * 2019-12-30 2021-09-07 Micron Technology, Inc. Determining write commands for deletion in a host interface

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS547252A (en) * 1977-06-20 1979-01-19 Hitachi Ltd Program control system
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
US4731740A (en) * 1984-06-30 1988-03-15 Kabushiki Kaisha Toshiba Translation lookaside buffer control system in computer or virtual memory control scheme
US4885680A (en) * 1986-07-25 1989-12-05 International Business Machines Corporation Method and apparatus for efficiently handling temporarily cacheable data
US4914570A (en) * 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system

Also Published As

Publication number Publication date
US5388222A (en) 1995-02-07
DE69031297T2 (de) 1998-04-02
ATE157183T1 (de) 1997-09-15
JPH0652519B2 (ja) 1994-07-06
DE69031297D1 (de) 1997-09-25
EP0407087A2 (en) 1991-01-09
CA2020385C (en) 1996-05-28
EP0407087B1 (en) 1997-08-20
EP0407087A3 (en) 1992-05-20
CA2020385A1 (en) 1991-01-07

Similar Documents

Publication Publication Date Title
JPH03118649A (ja) メモリーサブシステム入力キュー
US6105085A (en) Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion
US5761734A (en) Token-based serialisation of instructions in a multiprocessor system
US5721870A (en) Lock control for a shared main storage data processing system
US7533197B2 (en) System and method for remote direct memory access without page locking by the operating system
US5588132A (en) Method and apparatus for synchronizing data queues in asymmetric reflective memories
JP3871305B2 (ja) マルチプロセッサ・システムにおけるメモリ・アクセスの動的直列化
JP2977688B2 (ja) マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ
US5317749A (en) Method and apparatus for controlling access by a plurality of processors to a shared resource
JP4660064B2 (ja) 分散処理システムにおけるロックの実行
US11119781B2 (en) Synchronized access to data in shared memory by protecting the load target address of a fronting load
JPH04306748A (ja) 情報処理装置
JPH0950400A (ja) マルチプロセッサシステム
EP0533427A1 (en) Computer memory control system
US10705957B1 (en) Selectively updating a coherence state in response to a storage update
EP0730237A1 (en) Multi-processor system with virtually addressable communication registers and controlling method thereof
US6862646B2 (en) Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain
DE3650782T2 (de) Anordnung von Cachespeicherverwaltungseinheiten
US10733102B2 (en) Selectively updating a coherence state in response to a storage update
US20200034146A1 (en) Synchronized access to data in shared memory by protecting the load target address of a fronting load
CN114430819B (zh) 数据处理系统及其处理单元和处理方法
US10691599B1 (en) Selectively updating a coherence state in response to a storage update
JP3381079B2 (ja) キャッシュメモリを用いた排他制御システム
JPH0773035A (ja) 複数プロセツサ・システム
JPH08320828A (ja) マルチプロセッサシステム