JPH04271452A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム

Info

Publication number
JPH04271452A
JPH04271452A JP3144145A JP14414591A JPH04271452A JP H04271452 A JPH04271452 A JP H04271452A JP 3144145 A JP3144145 A JP 3144145A JP 14414591 A JP14414591 A JP 14414591A JP H04271452 A JPH04271452 A JP H04271452A
Authority
JP
Japan
Prior art keywords
bus
data
processor
address
memory
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
JP3144145A
Other languages
English (en)
Other versions
JP2501375B2 (ja
Inventor
Subhasis Laha
サバシス ラハ
Dennis J Thompson
デニス ジョセフ トンプソン
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
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 American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of JPH04271452A publication Critical patent/JPH04271452A/ja
Application granted granted Critical
Publication of JP2501375B2 publication Critical patent/JP2501375B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • 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/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサデー
タ処理、すなわち、通信システムまたはコンピュータシ
ステムにおけるバス構成に関する。
【0002】
【従来技術】最近のデータ処理システムにおいては、小
さなシステムから出発して、この小さなシステムに、プ
ロセッサモジュールおよびメモリモジュールを付加する
ことにより、さらに大きいシステムに拡大する構成が一
般的に普及している。このような構成により、少数のプ
ロセッサと少数のメモリモジュールでビジネスを開始で
きる。
【0003】そして、ビジネスの要求が拡大するにつれ
、追加データ処理ロードを取扱うためにプロセッサとメ
モリモジュールを付け加えていく。追加プロセッサと追
加メモリモジュールを付け加えた場合、(システムの最
も高価な部分であることが多い)ソフトウェアを維持し
たままで、システムのプログラムをやり直すことなく、
追加容量を得ることができる。
【0004】このようなシステムにおいては、メモリを
アクセスするのにプロセッサにより用いられるバス構成
がボトルネックとなる場合が多い。従来技術の代表的バ
ス構成は、時にはテナードバス構成と呼ばれるが、この
ようなバス構成においては、単一メモリコントローラを
用いてすべての主メモリを制御する。この単一メモリコ
ントローラはいずれかのプロセッサによって1度に1つ
ずつアクセスされる。
【0005】このようなプロセッサの1つがメモリコン
トローラを(そしてメモリを)アクセスすると、その他
のプロセッサは主メモリアクセス動作を行うことはでき
ない。この全期間中他のプロセッサは、それら自身の内
部キャッシュメモリを用い他のプロセスにおいて動作す
ることはできるが、主メモリアクセスが必要となるとそ
れらの動作を停止しなければならない。
【0006】このような構成は、安価ではあるが、次の
点から有効とはいえない。すなわち、メモリアクセスで
きないようにロックされたプロセッサはそれらの動作を
停止しなければならないことが多いため、それらのデー
タ処理容量の一部のみが用いられるに過ぎないこととな
る。コンピュータシミュレーションによると、このよう
な構成においては、一般に、およそ5個分のプロセッサ
の処理容量を越えて処理容量を増大させることはできず
、たとえ各プロセッサが比較的大きいキャッシュを有す
る場合でも、6個のプロセッサによる処理容量は、5個
のプロセッサの処理容量と比べてもほとんど変わらず、
処理容量を有効に追加することはできない。
【0007】他に提案されている構成として、分割トラ
ンザクションバス構成が存在する。多数のプロセッサが
このバスをアクセスすることができ、さらにこのバス構
成は多数のメモリコントローラをアクセスすることがで
きる。プロセッサは、このバスをアクセスしてメモリコ
ントローラにアドレスを送り、次に他のプロセッサによ
る使用に供するためにこのバスを解放する。
【0008】メモリコントローラは、次にメモリをアク
セスし、メモリアクセスが完了すると、同一バスまたは
独立の応答バスのいずれかが占有的に使用されて、要求
するプロセッサの識別のタグがつけられたデータがプロ
セッサに戻される。この構成は、プロセッサ動作がメモ
リ動作に比べて格段に速かった時には望ましいものであ
った。
【0009】しかし、60ナノ秒のオーダーの読取り時
間を提供する現在の主メモリでは、このような構成の有
効性は殆どない。というのは、他のプロセッサによりバ
スが使用可能となる時間がメモリの読取り時間に匹敵す
るからである。次に説明するようなパイプライン処理を
用いることによって、分割トランザクションバスをもっ
と有効にすることができる。
【0010】すなわち、パイプライン処理において、プ
ロセッサは、1つのインターバルでバスをアクセスし、
メモリコントローラからの応答に対し、第2のインター
バルの間そのバスにおけるアクセスを確保する。分割ト
ランザクション構成およびパイプラインバスの両者とも
テナードバスよりかなり高価であり、しかも、バスのト
ータルスループットに関して実質的な制限を継続して有
するため、プロセッサ数が約10個を越えるとシステム
性能にボトルネックを生ずる。
【0011】それ自身が内部キャッシュメモリをそれぞ
れ有するようなプロセッサを使用した場合に生じる問題
は、次のとおりである。すなわち、1つのプロセッサが
それ自身のキャッシュにおける特定のメモリブロックに
対して動作しており、それと同時に第2のプロセッサが
主メモリからそのメモリブロックをアクセスしていると
いった動作の衝突状況を生じることがある。このような
場合には、要求側のプロセッサにはこの動作の衝突を知
らせることが必要である。従って、主メモリの何らかの
読取りが開始される前に、使用するメモリアドレスをす
べてのプロセッサに送らなければならない。
【0012】そうすることにより、これらのプロセッサ
は、その特定のアドレスがこれらプロセッサのいずれか
のキャッシュにおいて現在修正中のデータのアドレスで
あるかどうかをチェックすることができる。特定のアド
レスが現在修正中のデータのアドレスでない場合、メモ
リを通常の方法でアクセスすることができる。特定のア
ドレスが現在修正中のデータのアドレスである場合、要
求側のプロセッサにこのことを通知し、そのメモリブロ
ックを有するキャッシュに、その修正内容をメモリに書
込むよう要求する。要求側のプロセッサは次に主メモリ
をアクセスしてその情報を得ることができる。
【0013】メモリブロックが2つ以上のプロセッサの
キャッシュで共用され、1つのプロセッサがそのブロッ
クを修正する場合、他のプロセッサには、このメモリブ
ロックの内容のコピーがもはや有効ではないことを通知
しなければならない。このようなチェックを行い、そし
て無効化信号をプロセッサに送り、メモリセグメントの
そのキャッシュコピーの内容の使用に対して警告するこ
との必要性は、共用主メモリマルチプロセッサシステム
における本質的な要件である。
【0014】ある非常に高性能のマルチプロセッサシス
テムでは、複数のバスを用いて複数のプロセッサと複数
のメモリコントローラとを相互接続する。このような構
成は非常に高価なものとなる傾向がある。その理由は、
次の通りである。すなわち、各プロセッサおよび各メモ
リコントローラが多重バスを取扱わなければならない上
、各メモリコントローラおよび各プロセッサが適切なキ
ューイング装置およびロッキング装置を備え、各種バス
に対する並列アクセスができるように配慮されなければ
ならないからである。
【0015】
【発明が解決しようとする課題】従来技術では次のよう
な経済的で効率の良いバス構成の実現が要求されている
。すなわち、実質上複数のプロセッサモジュールから実
質上複数の主メモリモジュールに対するアクセスを提供
可能であり、かつ、プロセッサの間でキャッシュ無効デ
ータを通信可能であるような、経済的で効率の良いバス
構成の実現が要求されている。
【0016】
【課題を解決するための手段】上記課題は本発明により
解決され、技術的進歩が達成される。すなわち、本発明
において、複数のプロセッサは、複数のメモリモジュー
ルのすべてに接続された単一のアドレスバスにアクセス
し、これらのメモリモジュールは複数のデータバスによ
って応答する。データバスのどれも、すべてのメモリモ
ジュールに接続されることはない。
【0017】特定の一実施例では、メモリモジュールは
偶数モジュールと奇数モジュールに分けられ、偶数モジ
ュールは偶数データバスによって応答し、奇数モジュー
ルは奇数データバスによって応答する。この場合、デー
タバスはまたメモリモジュールに書込みを行うために用
いられる。
【0018】本発明の1つの特徴において、アドレスは
メモリモジュールに送られるのみならずまたプロセッサ
にも送られ、これにより、これらのプロセッサは、アド
レスに対応するデータがすでにそのプロセッサのキャッ
シュに記憶されているかどうかをチェックすることがで
きる。アドレスに対応するデータがすでにキャッシュに
記憶されている場合、そのプロセッサは、一定の信号、
すなわち、その情報が別のプロセッサのキャッシュに存
在することを表すと共に、その情報の状態を示す信号に
よって、独立のスヌープバスに応答する。もしその情報
が、事実上修正されていた場合、要求側のプロセッサに
より要求されたデータは、主メモリではなく、そのキャ
ッシュにこのデータが見出されたプロセッサにより提供
される。
【0019】このような各アドレスは、アドレスバスに
よって単一クロックサイクルの間に送られ、そのアドレ
スに対する応答はデータバスの1つによって4クロック
サイクルの間に戻される。データワードはアドレスワー
ドより長いので、単一のデータバスを用いて、このデー
タバスより長いデータワードを、アドレスバスにおける
クロックサイクルの損失なしにプロセッサに戻すことが
できる。複数のデータバスは、広範囲のシステムパラメ
ータに対してバス資源をさらに十分に活用する機会を提
供する。
【0020】アービトレーションバスを用いて、アドレ
スバスにアクセス可能なプロセッサの選択を援助する。 クロックの各奇数フェーズの間に、アービトレーション
バスを用いて、偶数アドレスを伝送するための次のプロ
セッサの選択を援助し、また各偶数フェーズの間に、ア
ービトレーションバスを用いて、次の奇数アドレスを伝
送するためのプロセッサの選択を援助する。
【0021】アービトレーション機能は、集中化される
と共に分散化される。各プロセッサは、その他のすべて
のプロセッサからの要求信号に対してアクセスできる。 各プロセッサのローカルアービタ(分散アービタ)は、
そのプロセッサがその次の利用可能なクロックパルスを
使用できるか否かを判断する。集中アービタ(グローバ
ルアービタ)は、次のような機能を許容するためにアー
ビトレーションバスで追加許可情報を与える。
【0022】すなわち、アクセスを許可したり、またア
ドレス指定バスに対してアクセスできないように一時的
に選択したプロセッサをロックしたりする機能である。 その一方で、先に選択したプロセッサは割込みを受けな
い多重アクセス動作を完了する。アービトレーション構
成は次のような機能を許容する。すなわち、アービトレ
ーションサイクルの始めに偶数フェーズまたは奇数フェ
ーズの1つに対しアクセスを要求したすべてのプロセッ
サは、次のアービトレーションサイクルの開始の前に一
度処理される。
【0023】バス周波数は、個別プロセッサの基本クロ
ック周波数の2分の1である。より速いプロセッサが開
発されるのにともない、これらのプロセッサはこれら新
プロセッサのクロック速度の3分の1または4分の1の
速度を用いてバスにアクセスし、適応できるようになっ
た。さらに、これらの新しいプロセッサは、クロックが
ある共通のソースから得られている場合、古いクロック
速度で動作する古いプロセッサと組合わせることができ
る。
【0024】MESI(修正、排他的、共用、無効)の
プロトコルが、キャッシュコヒーレンシーのために用い
られる。Mは、キャッシュにおける情報が修正されたこ
とを示す状態である。Eは、キャッシュにおけるコピー
が排他的(すなわち、このメモリブロックの情報を含む
キャッシュは他にはない)であることを表わす状態であ
る。Sは、このキャッシュにおける情報が別のキャッシ
ュにおける情報と共有できることを示す共用状態である
。Iは、無効情報、すなわちこのキャッシュブロックに
おける情報が、メモリからの更新なしには使用できない
ことを示す状態である。
【0025】このプロトコルは、データ処理システムに
おいては周知の一般的なプロトコルであり、特に、本発
明のタイプのバス構成に適合する。これらの状態の知識
は、次のような動作を行うために必要である。すなわち
、他のプロセッサに無効を報告し、アドレスがアドレス
バスで検出された場合には、キャッシュエントリを無効
にし、別のプロセッサが対応データをフェッチした場合
には、状態を排他的または修正から共用に変え、さらに
、キャッシュにおけるデータが修正されたかどうかを追
跡する動作である。
【0026】ディスクコントローラまたは他の周辺装置
は、1つのプロセッサのように取扱うことができる。主
メモリがディスクから更新される度に、このプロセッサ
は主メモリで更新中のすべてのアドレスに関する無効信
号を送る。このタイプの構成は、安価な高性能バス相互
接続スキームを有する産業用標準キャッシュコヒーレン
シースキームの使用を可能にする。このスキームは複数
のプロセッサと複数のメモリコントローラを相互接続す
るものである。
【0027】アドレスバスを用いてメモリ読取り要求と
無効要求の両方に関するアドレスを伝送する。メモリ要
求は、応答を伝送するのにデータバス上で4バスサイク
ルを占有する。アドレスは1バスサイクルを用いて伝送
される。データバスは2つあるので、メモリ読取り/書
込み要求は2バスサイクル毎にのみ行うことができる。 メモリアドレス指定に使用されないバスサイクルはいず
れも無効アドレスの伝送に利用可能である。
【0028】
【実施例】図1は8つのプロセッサと4つのメモリモジ
ュールを相互接続するバス相互接続スキームを示すブロ
ック図である。各メモリモジュールはそれ自身のコント
ローラを有している。8つのプロセッサ100−1,・
・・,100−8はまた、P1,・・・,P8で示され
るが、これらのプロセッサは、それぞれ、メモリアクセ
スバス、すなわち共通アドレスバス120、奇数データ
バス131、および偶数データバス133に接続されて
いる。メモリモジュールは、それぞれ、アドレスバス1
20に接続されると共に、2つのデータバス131,1
33のうちの1つだけに接続されている。この場合、メ
モリ111,113は奇数データバス131に接続され
、メモリ112,114は偶数データバス133に接続
されている。
【0029】アドレスバスは、両メモリモジュールをア
ドレス指定するのに用いられ、また主メモリでアクセス
されるアドレスを各プロセッサのキャッシュ147に通
報するのに用いられる。もしメモリアドレスが主メモリ
に伝送され、このメモリアドレスが1つの他のプロセッ
サのキャッシュに記憶されたアドレスに一致すると、次
の動作が行われる。
【0030】すなわち、もしキャッシュエントリが“M
”(修正)状態として識別されると、その修正データは
、そのプロセッサのキャッシュから、適当な奇数データ
バスまたは偶数データバスによって要求側のプロセッサ
に戻され、主メモリはまた同時に更新される。もし、キ
ャッシュエントリがE(排他的)状態としてマークされ
ると、このE状態はS(共用)状態に変換され、情報を
得るためにメモリがアクセスされる。
【0031】本実施例において、他のキャッシュの代り
にメモリをアクセスすることは好ましく、それによって
他のプロセッサの動作の割込みの可能性を回避できる。 もしキャッシュエントリが共用(“S”)状態にあると
、要求側のプロセッサは、通知を受け、共用状態におい
てのそれ自身のキャッシュで被アクセスメモリのそれ自
身のバージョンをマークする。もしデータの現在有効な
キャッシュコピーがない場合、このような動作は要求さ
れない。
【0032】主メモリをアクセスするプロセッサが、修
正信号の読取り要求を用いてアクセスを行い、その上、
そのキャッシュにおけるそのメモリの別のコピーを有す
るプロセッサが修正状態にあるような場合、そのプロセ
ッサは要求側のプロセッサにそのデータを供給し、その
データ無効のそれ自身のキャッシュコピーをマークする
。また、その他のプロセッサがE(排他的)またはS(
共用)状態にあるそれ自身のキャッシュにおいてそのメ
モリのコピーを有する場合、そのキャッシュエントリは
無効とマークされる。
【0033】プロセッサがそれ自身のキャッシュに存在
しないデータをアクセスする場合、そのプロセッサは、
前記のように、主メモリから、またはその他のキャッシ
ュの1つからこのデータを得なければならない。主メモ
リに保存されるデータおよび1つ以上のプロセッサのキ
ャッシュに保存されうるデータを、MESIプロトコル
を用いて処理するプロセスは、従来周知であり、例えば
、次の文献に記載されている。
【0034】ジェイ・アーチボールド(J.Archi
bald)、ジェイ・ベア(J.Baer)、“キャッ
シュコヒーレンスプロトコル:マルチプロセッサシミュ
レーションモデルを用いる評価”、ACM  Tran
s.on  Comp.Systems、第4巻、第4
号、1986年、273〜298頁;  エム・エス・
パパマルコス(M.S.Papamarcos)、ジェ
イ・エイチ・パテル(J.H.Patel)、“プライ
ベートキャッシュメモリを有するマルチプロセッサに対
する低オーバヘッドコヒーレンス解法”、Proc. 
 11th  Annual  Int´l.Symp
.on  Computer  Architectu
re、1984年、348〜354頁;  ピー・スウ
ィジー(P.Sweazy)、エイ・ジェイ・スミス(
A.J.Smith)、“コンパチブルキャッシュコン
システンシープロトコルのクラスおよびIEEEフュー
チァバスによるそれらのサポート”、Proc.13t
h  Annual  Int´l.Symp.on 
 Computer  Architecture、1
986年、414〜423頁。
【0035】アービトレーションスキームは、アドレス
バスに対しアクセスを要求する幾つかのプロセッサの中
から、そのようなアクセスを行うことのできるプロセッ
サを選択するのに必要である。このアービトレーション
スキームは、バス120の奇数クロックサイクルと偶数
クロックサイクルに対するアービトレーションを制御す
るための出力143,144をそれぞれ有する1対の集
中アービタ141,142、および各プロセッサ内にお
ける2個のアービタ145の分散セットを必要とする。
【0036】より詳細には、各集中アービタ(図3)は
2つの出力を有する。すなわち、バスをアクセスするた
めにその内部分散アービタによりどのプロセッサが選択
され、実際にバスをアクセスできるかということを示す
グラント出力、および、他のプロセッサによるどのよう
な介入動作もなく、同じメモリモジュールに、もしくは
異なるモジュールに対してさえ、そのプロセッサが2つ
以上の連続アクセスを行うことを可能にするため、その
プロセッサが追加メモリアクセスサイクルにおけるアク
セスを予め許可されているかのように、そのプロセッサ
にアクセスを許可するロック出力である。
【0037】各集中アービタへの入力信号としては次の
ような信号がある。すなわち、プロセッサのいずれかが
バスへのアクセスを要求している場合、ロー(オープン
コレクタ“OR”回路)である共通要求信号と、先の動
作が、プロセッサが他のプロセッサをロックアウトする
ことにより別のサイクルにおいてバスの制御の保持を望
む種類の動作であったことを示すアドレス指定バス12
0からのロック信号と、そのバス動作が、主メモリをア
クセスするため、または1つのプロセッサのキャッシュ
から要求側のプロセッサにデータを転送するための動作
であることを示す読取り/書込み信号と、アドレスバス
でのアドレスに関する他のキャッシュにおける情報は無
効とマークされなければならないことを示す無効信号で
ある。
【0038】キャッシュライン境界をクロスするデータ
の修正も時には必要である。その場合、他のプロセッサ
がこのデータのいずれか一部をアクセスしないように偶
数バスおよび奇数バスの両者をロックすることが必要で
ある。これらのバスはトランザクションが完了するまで
ロックされる。無効信号は両キャッシュラインに対し送
られる。
【0039】1対の分散アービタ145(図4)は、偶
数サイクルおよび奇数サイクルにおいてアドレスバスを
アクセスするために、各プロセッサに設けられている。 入力信号としては次のような信号がある。すなわち、内
部読取り/書込み要求信号と、バスにアクセスできるよ
うに許可されうる次のプロセッサを示すコード化プライ
オリティ信号と、このプロセッサのプライオリティレベ
ルを示すプライオリティレベル信号と、集中アービタか
らのグラント信号とロック信号である。また、出力信号
は、プロセッサのアドレスバスへのアクセスを可能にす
る、すなわちそのバストランザクションを開始させるイ
ネーブル信号である。
【0040】幾つかのリード線の各々において、長さ1
,2,4,8の、交互に接続および非接続とされたセグ
メントを有するバス構成を用いて、プロセッサを相互接
続する。このような構成は、米国特許第4,597,0
84に示されている。図3の構成を用いて各プロセッサ
からの抑止信号の伝送・非伝送により、次のような条件
の下でアドレスバスを捕らえる試行を行う。すなわち、
バスを捕らえるための試行は、最高ランクのプロセッサ
のみが行うことができ、低ランクのその他すべてのプロ
セッサはバスを捕らえることを抑止されるという条件で
ある。
【0041】メモリ要求は、応答を伝送するのにデータ
バスにおける4バスサイクルを占有する。アドレスは1
バスサイクルを用いて伝送される。2つのデータバスが
あるので、メモリ読取り/書込み要求は2バスサイクル
毎にのみ行うことができる。残りのバスサイクルは無効
要求に対しアドレスを送るのに利用可能である。好都合
に、このような構成はアドレスバスをさらに効率よく利
用できるものである。
【0042】本実施例では、アドレスバスは、32ビッ
トであり、60.6ナノ秒の、16.5メガヘルツのク
ロックに等しいバスサイクルで動作する。各キャッシュ
ラインは、32バイトであり、1つのアドレスに対する
主メモリからのエンティティ読取り量に一致する。各デ
ータバスは64ビットであり、4バスサイクルで32バ
イトの読取り量を伝送することができる。メモリモジュ
ールは、各アクセス動作に対し128ビット(16バイ
ト)を読取れるように編成され、受取られた各アドレス
に応答して2つのアクセスを行う。要求側のプロセッサ
の待ち時間を最小にするために、アドレスされた特定バ
イトの内容は、全キャッシュラインの内容を送るのに要
する4バスサイクルのうちの第1のバスサイクルによっ
て送られる。
【0043】図2は、各種のバスで使用のタイミングダ
イヤグラムの説明例である。タイミング信号は、集中ア
ービタ141,142からの信号によりきめられ、奇数
と偶数が交互になっている。奇数メモリモジュールに対
するアドレスは奇数サイクルでのみ伝送され、偶数メモ
リモジュールに対するアドレスは、偶数アドレスサイク
ルでのみ生成される。
【0044】タイミングチャートの上の2つのラインは
、偶数アービタが奇数クロックインターバルの間にその
出力を生成すること、および奇数集中アビータが偶数ク
ロックインターバルの間にその出力を生成することを示
し、そして集中アービタからのグラント信号に応答して
それらの内部アービタにより選択されたプロセッサの識
別を示す。このタイミングチャートによりこれらアービ
タ出力が間に合うように受取られ、次のクロックパルス
でアドレス信号を制御する。
【0045】タイミングダイヤグラムの第3のラインは
、いずれか1つのインターバルにおいて、ローカルアー
ビタにより決められるプライオリティを有するところの
各種プロセッサによるアドレスバス上の信号を示す。 第1のインターバルの間に、P1はアドレスバスによっ
てアドレスを送り、奇数メモリモジュールをアドレス指
定する。第2のインターバルで、P6はアドレスバスに
よってアドレスを送り、偶数メモリモジュールをアドレ
ス指定する。また第2のインターバル2の間に、P1以
外の他の各プロセッサは次のことをチェックする。
【0046】すなわち、第1のインターバル1の間に奇
数アドレスバスに送られたアドレスが、そのキャッシュ
におけるどのタグに一致するかということをチェックす
る。一致した場合には、キャッシュエントリの状態が“
M”であれば、インターバル5〜8の間にそのキャッシ
ュメモリからのデータに応答するようにそのプロセッサ
は準備される。この動作が生じる信号は、第3のインタ
ーバルの間にスヌープバスによって送られ、アドレス指
定されたメモリモジュールによって用いられ、このメモ
リモジュールがクロックサイクル5〜8の間にデータを
送ることを抑制すると共に、バスにデータを送るときに
その内容を更新させる。そして、メモリは読取り信号に
対しその内容を更新し、読取りを止め信号を修正する。
【0047】インターバル3の間に、P3は、一定の機
能を先に行って、“共用”とマークされたキャッシュの
エントリを修正すべきことを確認し、そのメモリアドレ
スに対する無効信号を、奇数バスによって、他のプロセ
ッサに送る。これにより、その他のプロセッサは、この
アドレスのそれらのキャッシュにおけるそれらのコピー
を、無効とマークする。もしこれらのプロセッサが次に
そのメモリをアドレス指定しようとする場合、メインメ
モリをアドレス指定することによりそれを行う。
【0048】クロックピリオド4の間に、P4は、偶数
バスによって、同様のタイプの無効アドレスをすべての
他のプロセッサに送る。インターバル5とインターバル
6で、P5とP2は、先にP1とP6に対し説明したの
と同様の方法で、奇数メモリモジュールと偶数メモリモ
ジュールをそれぞれアドレス指定する。P5およびP2
は、アドレスバスにアクセスできるようにそれらの分散
アービタにより選択され、奇数モジュールアドレスおよ
び偶数モジュールアドレスをそれぞれ送る。
【0049】インターバル7とインターバル8で、P8
およびP7は、プロセッサ3,4に対しインターバル3
,4について先に説明したのと同様に、無効アドレスを
送る。インターバル9とインターバル10で、P4およ
びP3は、インターバル1,2について先に説明したの
と実質上同様にしてアドレスバスをアクセスし、奇数メ
モリモジュールと偶数メモリモジュールをアクセスする
【0050】これらのアドレス信号に応答して、図2の
第4のラインと第5のラインに示されるように、メモリ
は奇数データバスおよび偶数データバスで応答する。イ
ンターバル5〜8においては、第1のインターバルでP
1により生成されたアドレスに対する応答が、奇数デー
タバス131によりP1に送られる。インターバル9〜
12においては、インターバル5でP5により生成され
たアドレスに対する応答が、奇数データバス131によ
り戻される。インターバル13〜16においては、イン
ターバル9でP4により生成されたアドレスに対する応
答が、奇数データバス131により戻される。
【0051】同様に、偶数データバス133においては
、インターバル6〜9の間に、インターバル2でP6に
より生成された要求に対する応答が戻される。クロック
サイクル10〜13の間に、インターバル6でP2によ
り生成されたアドレスに対する応答が戻される。またイ
ンターバル14〜17では、インターバル10でP3に
より生成されたアドレスに対する応答が戻される。本実
施例では、プロセッサP3は、プロセッサP1からクロ
ックインターバル14〜17の間にデータを受取ってい
るが、ここでP1はM(修正)状態としてマークされた
それ自身のキャッシュでこのデータを有するものである
【0052】図2の第6のラインの信号は、アドレスバ
ス120より送られたアドレスに応答するプロセッサ信
号を示すスヌープ信号である。第1インターバルでP1
によりアドレスバス120を介して送られたアドレス信
号は、その他のすべてのプロセッサにより受取られ、第
2インターバルでそれらのプロセッサの各々のキャッシ
ュにおけるタグフィールドと比較される。第3インター
バルで、もしプロセッサのいずれかが一致を見出した場
合、そのプロセッサは、スヌープバスで4つの信号のう
ちの1つを送ることができる。
【0053】共用信号は、その伝送側のプロセッサが、
要求されたメモリのコピーをそのキャッシュ内に有し、
“S”状態としてマークされ、そのコピーを保持するこ
とを示す。読取りを要求されたプロセッサは、共用信号
の受信に応答して、共用状態にそのキャッシュエントリ
をマークする。アドレスを受取ったプロセッサは、その
キャッシュエントリがE(排他的)状態にある場合、こ
の状態を共用に変え、共用信号を発信する。
【0054】スヌープバスにおいて伝送可能な第2の信
号は、データ介入(信号)である。この信号は、アドレ
スを受取ったプロセッサが、対応するキャッシュエント
リをM状態で有する場合に生成される。その場合、その
プロセッサは、メモリモジュールに代わってデータを供
給する。アドレス指定されたメモリモジュールは、この
データ介入信号の受信に応答し、読取り出力を生成する
ことなく、信号を修正する指令が発せられない限りにお
いて、その内容を更新する。
【0055】第3の信号は、アボート信号である。この
信号は、受信側のプロセッサが対応するメモリエントリ
を変更する過程にあるか、もしくは先の要求を処理する
ためにビジーであり、従って、読取りを実行するのによ
いタイミングではないことを示すものである。読取り側
のプロセッサは、アボート信号に応答して、再度読取り
を試み、そして通常は成功する。
【0056】最後に、第4の信号はエラー信号である。 この信号は、そのメモリに対する読取り要求とエラー信
号を生成するプロセッサに付随するキャッシュの状態と
の不一致を示す。例えば、もし第1のプロセッサが、第
2のプロセッサにおけるキャッシュメモリ内容を無効に
しようと試みる場合であって、かつ、この第2のプロセ
ッサにおいて、そのキャッシュメモリ内容が修正状態に
マークされている場合、その無効にされる内容が共用状
態である場合のみその内容は無効にされる。
【0057】図2の例では、スヌープ状態に対し示され
たエントリは、その信号が応答しているプロセッサを表
わす。本実施例では、インターバル3,4,5,6,お
よびインターバル8,9,10,11で、スヌープバス
において信号が生成されることはない。インターバル7
においては、プロセッサP1によって共用信号が生成さ
れる。それは、クロックサイクル5でプロセッサP5に
より生成されたアドレスが、実際にプロセッサP1によ
り共用されるからである。この場合、P5はそれが共用
状態において受取るメモリ読取り要求をマークし、P1
はそのアドレスに対しそのキャッシュエントリに“共用
”をマークする。
【0058】インターバル12において、スヌープバス
はインターバル10でプロセッサP3により生成された
アドレスに対する応答を有する。本実施例では、P6は
そのキャッシュにおいてこのメモリのコピーを有し、そ
のコピーは修正とマークされる。したがって、P6はイ
ンターバル12でスヌープバスにおいてデータ介入信号
を生成し、インターバル14〜17で偶数データバスに
そのキャッシュの内容を送る。
【0059】以上の説明は、本発明の一実施例に関する
もので、この技術分野の当業者であれば、本発明の種々
の変形構成例が考え得るが、それらはいずれも本発明の
技術的範囲に包含される。
【0060】
【発明の効果】以上述べたごとく、本発明により、複数
のプロセッサモジュールから複数の主メモリモジュール
に対するアクセスを提供可能であり、かつ、プロセッサ
の間でキャッシュ無効データを通信可能であるような、
経済的に安価でシステム効率のよい、優れたバス構成を
提供することができる。
【図面の簡単な説明】
【図1】本発明のバス構成を用いるマルチプロセッサシ
ステム例を示すブロック図である。
【図2】この構成の時分割バスでのインターバルの使用
を説明する図である。
【図3】アドレスバスをアクセスするプロセッサを選択
するために集中アービタで処理される信号を説明する図
である。
【図4】アドレスバスをアクセスするプロセッサを選択
するために分散アービタで処理される信号を説明する図
である。
【符号の説明】
100−1  プロセッサ 100−2  プロセッサ 100−3  プロセッサ 100−4  プロセッサ 100−5  プロセッサ 100−6  プロセッサ 100−7  プロセッサ 100−8  プロセッサ 111  メモリモジュール 112  メモリモジュール 113  メモリモジュール 114  メモリモジュール 120  アドレスバス 122  スヌープバス 131  奇数データバス 133  偶数データバス 141  集中アービタ(CA) 142  集中アービタ(CA) 143  出力 144  出力 145  分散アービタ(DA) 147  キャッシュ

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】  データを処理する複数のプロセッサ手
    段と、複数の主メモリモジュールと、前記プロセッサと
    前記メモリモジュールを相互接続するバス手段とを含む
    マルチプロセッサシステムにおいて、前記バス手段が、
    複数の時間インターバルで複数のアドレスを伝送するた
    めに、すべての前記プロセッサ手段およびすべての前記
    メモリモジュールに接続された時分割アドレスバスと、
    データバスの各々が、前記メモリモジュールのうちの一
    部のサブセットおよび前記プロセッサ手段のすべてに接
    続された複数のデータバスを有し、さらに、第1の前記
    データバスに接続された第1のメモリモジュールおよび
    第2の前記データバスに接続された第2のメモリモジュ
    ールは、前記時分割アドレスバスから異なるタイムイン
    ターバルの間にアドレスを受取り、かつ、この第1と第
    2のメモリモジュールの各々は、受取ったアドレスに応
    答して、このアドレスの1つに記憶されたデータを、前
    記第1のデータバスと前記第2のデータバスにより、時
    間的に重複する形で伝送することを特徴とするマルチプ
    ロセッサシステム。
  2. 【請求項2】  前記プロセッサ手段の各々は、キャッ
    シュメモリ手段を有し、このキャッシュメモリ手段は、
    データおよび対応するアドレスを記憶する手段であり、
    かつ、前記プロセッサのキャッシュメモリ手段に記憶さ
    れたデータの前記対応するアドレスと照合するために、
    前記アドレスバスによりアドレスが前記プロセッサに伝
    送されることを特徴とする請求項1に記載のシステム。
  3. 【請求項3】  前記プロセッサの1つが、前記アドレ
    スバス上のアドレスと前記1つのプロセッサのキャッシ
    ュメモリ手段に記憶されたデータの前記アドレスとの一
    致を検出したことを表す信号を送るために、前記プロセ
    ッサの各々に接続されたスヌープバスをさらに有するこ
    とを特徴とする請求項2に記載のシステム。
  4. 【請求項4】  前記信号は、前記1つのプロセッサの
    キャッシュメモリ手段に記憶されたデータの前記アドレ
    スに付随するデータの状態を特徴づけるデータを送る信
    号であることを特徴とする請求項3に記載のシステム。
  5. 【請求項5】  前記状態のうちの1つの状態に対し、
    前記1つのプロセッサは、前記メモリモジュールの1つ
    からのデータの代わりに、前記データバスの1つにその
    キャッシュメモリ手段のデータを与えることを特徴とす
    る請求項4に記載のシステム。
  6. 【請求項6】  前記状態のうちの前記1つの状態に対
    し、前記1つのプロセッサは、前記メモリモジュールの
    前記1つにそのキャッシュメモリ手段のデータを与える
    ことを特徴とする請求項5に記載のシステム。
  7. 【請求項7】  MESI(修正、排他的、共用、無効
    )のプロトコルが、前記キャッシュメモリ手段の間でキ
    ャッシュコヒーレンシーのために用いられ、かつ、前記
    アドレスバスは、前記プロセッサに無効アドレスを送る
    ことを特徴とする請求項2に記載のシステム。
  8. 【請求項8】  前記データバスのうちの異なるデータ
    バスは、前記メモリモジュールの互いに分離したサブセ
    ットに接続されることを特徴とする請求項1のシステム
  9. 【請求項9】  前記データバスの各々は、前記メモリ
    モジュールのサブセットのいずれか1つから前記複数の
    プロセッサのいずれか1つに読出し(読取り)信号を送
    り、かつ、前記複数のプロセッサのいずれか1つから前
    記メモリモジュールの前記サブセットのいずれか1つに
    書込み信号を送ることを特徴とする請求項1に記載のシ
    ステム。
  10. 【請求項10】  前記アドレスバスに対するアクセス
    は、アービトレーション手段により割当てられることを
    特徴とする請求項1に記載のシステム。
  11. 【請求項11】  前記アービトレーション手段は、グ
    ローバルアービタおよび複数の分散アービタを有するこ
    とを特徴とする請求項10に記載のシステム。
  12. 【請求項12】  1つのアービトレーションサイクル
    の間に前記アドレスバスに対するアクセスを要求するす
    べてのプロセッサは、前記サイクルの間に一度処理され
    ることを特徴とする請求項11に記載のシステム。
  13. 【請求項13】  プロセッサの間にアービトレーショ
    ン情報を分散するためのアービトレーションバスをさら
    に有することを特徴とする請求項10に記載のシステム
  14. 【請求項14】  前記アービトレーション手段は、グ
    ローバルアービタおよび複数のローカルアービタを有し
    、各ローカルアービタは、それぞれプロセッサに付属的
    に設けられ、かつ、前記アービトレーションバスは、前
    記グローバルアービタと前記ローカルアービタの間で信
    号を伝送することを特徴とする請求項13に記載のシス
    テム。
  15. 【請求項15】  各ローカルアービタは、それを付属
    的に有するプロセッサが次の時間インターバルにアドレ
    スを伝送することができるか否かを判断するために、前
    記グローバルアービタおよび他のローカルアービタから
    信号を受信することを特徴とする請求項14に記載のシ
    ステム。
  16. 【請求項16】  前記時分割アドレスバスは、前記プ
    ロセッサの間で無効アドレスを送ることを特徴とする請
    求項1に記載のシステム。
  17. 【請求項17】  前記時分割アドレスバスは、タイム
    スロットの間に1つのアドレスを伝送可能であり、かつ
    、このアドレスバスは、タイムスロットの幾つかの固定
    部分の間に前記メモリモジュールに関するアドレスを伝
    送するために利用可能であり、さらに、メモリモジュー
    ルアドレスが伝送されていない場合には常に、無効アド
    レスを伝送するために利用可能であることを特徴とする
    請求項16に記載のシステム。
  18. 【請求項18】  前記プロセッサの1つは、周辺メモ
    リモジュールを制御する周辺メモリコントローラを有し
    、かつ、前記1つのプロセッサは、主メモリモジュール
    が前記周辺メモリモジュールから更新される場合に無効
    信号を伝送することを特徴とする請求項1に記載のシス
    テム。
  19. 【請求項19】  前記アドレスバスとデータバスの各
    々は、これらのバスの各々の連続するタイムスロットで
    信号を伝送できるように時分割され、かつ、前記メモリ
    モジュールの各々は、1つのタイムスロットにおいて前
    記アドレスバスで受け取られたアドレスに対応して、前
    記1つのテータバスの4つの連続するタイムスロットに
    おいて前記第1のデータバスと前記第2のデータバスの
    1つによってデータを伝送し、さらに、前記第1のデー
    タバスと前記第2のデータバスは、対応するタイムスロ
    ットにおいて同時にデータを伝送可能であることを特徴
    とする請求項1に記載のシステム。
  20. 【請求項20】  各プロセッサはクロックにより制御
    され、また前記バスの1つの各タイムスロットは、前記
    クロックのサイクルタイムの倍数であることを特徴とす
    る請求項19に記載のシステム。
  21. 【請求項21】  前記アドレスバスは、前記メモリモ
    ジュールの1つから各データ転送サイクルの間に複数の
    時多重化アドレスを送り、前記データ転送サイクルは、
    前記複数の時多重化アドレスの1つに関するデータの伝
    送に対応することを特徴とする請求項1に記載のシステ
    ム。
  22. 【請求項22】  組み合わせとして、第1の複数のデ
    ータを処理するプロセッサ手段と、第2の複数の主メモ
    リモジュールと、前記プロセッサと前記メモリモジュー
    ルを相互接続するバス手段とを含むマルチプロセッサシ
    ステムにおいて、前記バス手段が、すべての前記プロセ
    ッサ手段およびすべての前記メモリモジュールに接続さ
    れた時分割アドレスバスと、データバスの各々が、前記
    メモリモジュールの適切なサブセットおよび前記プロセ
    ッサ手段のすべてに接続された複数のデータバスとを有
    し、前記時分割アドレスバスは、前記プロセッサの間で
    無効アドレスを送り、この時分割アドレスバスは、タイ
    ムスロットの間に1つのアドレスを伝送可能であり、か
    つ、このアドレスバスは、タイムスロットの第1ハーフ
    の幾つかの間に前記メモリモジュールをアドレス指定し
    、さらに、アドレスバスは、前記タイムスロットの第2
    ハーフの幾つかの間に前記無効アドレスを送り、前記プ
    ロセッサ手段の各々は、データおよび対応するアドレス
    を記憶するためのキャッシュメモリ手段を有し、前記ア
    ドレスバスは、前記プロセッサの各キャッシュメモリ手
    段に記憶されたデータの前記対応するアドレスと照合す
    るために、前記プロセッサにアドレスを伝送し、前記プ
    ロセッサの各々には、信号を送るためのスヌープバスが
    接続され、前記信号は、前記プロセッサの1つのキャッ
    シュメモリ手段に記憶されたデータの対応するアドレス
    に付随するデータの状態を特徴づけるデータを送り、か
    つ、前記アドレスバス上のアドレスと前記1つのプロセ
    ッサのキャッシュメモリ手段に記憶されたデータのアド
    レスとの間の一致を前記1つのプロセッサが検出したこ
    とを表す信号であり、前記状態のうちの1つの状態に対
    し、前記1つのプロセッサは、前記メモリモジュールの
    1つからのデータの代わりに、前記データバスの1つお
    よび前記メモリモジュールの1つにそのキャッシュメモ
    リ手段のデータを与え、前記アドレスバスは、前記メモ
    リモジュールの1つから各データ転送サイクルの間に複
    数の時多重化アドレスを送り、前記データ転送サイクル
    は、前記複数の時多重化アドレスの1つに関するデータ
    の伝送に対応し、前記アドレス指定バスに対するアクセ
    スは、アービトレーション手段により割当てられ、この
    アービトレーション手段は、グローバルアービタおよび
    複数の分散アービタを有し、1つのアービトレーション
    サイクルの間に前記アドレスバスに対するアクセスを要
    求するすべてのプロセッサは、いずれかのプロセッサが
    第2の要求に関して処理される前に第1の要求に関して
    処理され、前記プロセッサの1つは、周辺メモリモジュ
    ールを制御する周辺メモリコントローラを有し、かつ、
    前記1つのプロセッサは、主メモリモジュールが前記周
    辺メモリモジュールから更新される場合に無効信号を伝
    送することを特徴とするマルチプロセッサシステム。
JP3144145A 1990-05-25 1991-05-21 マルチプロセッサシステム Expired - Fee Related JP2501375B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US52905190A 1990-05-25 1990-05-25
US529051 1990-05-25

Publications (2)

Publication Number Publication Date
JPH04271452A true JPH04271452A (ja) 1992-09-28
JP2501375B2 JP2501375B2 (ja) 1996-05-29

Family

ID=24108302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3144145A Expired - Fee Related JP2501375B2 (ja) 1990-05-25 1991-05-21 マルチプロセッサシステム

Country Status (5)

Country Link
US (1) US5490253A (ja)
EP (1) EP0458516B1 (ja)
JP (1) JP2501375B2 (ja)
DE (1) DE69128107T2 (ja)
ES (1) ES2109256T3 (ja)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0575651A1 (en) * 1992-06-24 1993-12-29 International Business Machines Corporation Multiprocessor system
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
JP3168552B2 (ja) * 1993-12-17 2001-05-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション メモリ・アクセス制御システム及びその方法
EP0690382B1 (en) * 1994-07-01 2003-01-02 Sun Microsystems, Inc. Computer system with a multiplexed address bus and pipelined write operations
US5608878A (en) * 1994-10-03 1997-03-04 International Business Machines Corporation Dual latency status and coherency reporting for a multiprocessing system
US5669003A (en) * 1994-12-23 1997-09-16 Intel Corporation Method of monitoring system bus traffic by a CPU operating with reduced power
US5799207A (en) * 1995-03-28 1998-08-25 Industrial Technology Research Institute Non-blocking peripheral access architecture having a register configure to indicate a path selection for data transfer between a master, memory, and an I/O device
US5790892A (en) * 1995-09-29 1998-08-04 International Business Machines Corporation Information handling system for modifying coherency response set to allow intervention of a read command so that the intervention is not allowed by the system memory
US5911052A (en) * 1996-07-01 1999-06-08 Sun Microsystems, Inc. Split transaction snooping bus protocol
US5845130A (en) * 1996-09-11 1998-12-01 Vlsi Technology, Inc. Mailbox traffic controller
US5901298A (en) * 1996-10-07 1999-05-04 Intel Corporation Method for utilizing a single multiplex address bus between DRAM, SRAM and ROM
US5923276A (en) * 1996-12-19 1999-07-13 International Business Machines Corporation Current source based multilevel bus driver and converter
US5815107A (en) * 1996-12-19 1998-09-29 International Business Machines Corporation Current source referenced high speed analog to digitial converter
US5983303A (en) * 1997-05-27 1999-11-09 Fusion Micromedia Corporation Bus arrangements for interconnection of discrete and/or integrated modules in a digital system and associated method
US6493407B1 (en) * 1997-05-27 2002-12-10 Fusion Micromedia Corporation Synchronous latching bus arrangement for interfacing discrete and/or integrated modules in a digital system and associated method
US5915126A (en) * 1997-08-12 1999-06-22 International Business Machines Corporation Computer system memory controller and method of burst data ordering translation
US6101561A (en) * 1998-02-06 2000-08-08 International Business Machines Corporation System for providing an increase in digital data transmission rate over a parallel bus by converting binary format voltages to encoded analog format currents
US6138200A (en) * 1998-06-09 2000-10-24 International Business Machines Corporation System for allocating bus bandwidth by assigning priority for each bus duration time slot to application using bus frame and bus duration
US6393506B1 (en) * 1999-06-15 2002-05-21 National Semiconductor Corporation Virtual channel bus and system architecture
US6628607B1 (en) 1999-07-09 2003-09-30 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
US6691096B1 (en) 1999-10-28 2004-02-10 Apple Computer, Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US6671768B1 (en) 1999-11-01 2003-12-30 Apple Computer, Inc. System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices
US6959343B1 (en) 1999-11-01 2005-10-25 Apple Computer, Inc. Method and apparatus for dynamic link driver configuration
US6813663B1 (en) 1999-11-02 2004-11-02 Apple Computer, Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US6631426B1 (en) 1999-11-02 2003-10-07 Apple Computer, Inc. Automatic ID allocation for AV/C entities
US8762446B1 (en) 1999-11-02 2014-06-24 Apple Inc. Bridged distributed device control over multiple transports method and apparatus
US6618750B1 (en) 1999-11-02 2003-09-09 Apple Computer, Inc. Method and apparatus for determining communication paths
US6587904B1 (en) * 1999-11-05 2003-07-01 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
US6636914B1 (en) 1999-11-05 2003-10-21 Apple Computer, Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
US6457086B1 (en) * 1999-11-16 2002-09-24 Apple Computers, Inc. Method and apparatus for accelerating detection of serial bus device speed signals
US7266617B1 (en) 2000-01-18 2007-09-04 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US6639918B1 (en) 2000-01-18 2003-10-28 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
US7421507B2 (en) * 2000-02-16 2008-09-02 Apple Inc. Transmission of AV/C transactions over multiple transports method and apparatus
US6831928B1 (en) 2000-02-17 2004-12-14 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US7050453B1 (en) 2000-02-17 2006-05-23 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US6529984B1 (en) * 2000-03-29 2003-03-04 Compaq Information Technologies Group, L.P. Dual phase arbitration on a bus
US6718497B1 (en) 2000-04-21 2004-04-06 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US6618785B1 (en) 2000-04-21 2003-09-09 Apple Computer, Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
DE10030380A1 (de) * 2000-06-21 2002-01-03 Infineon Technologies Ag Mehrere CPUs enthaltendes System
KR100335504B1 (ko) 2000-06-30 2002-05-09 윤종용 제어 및 어드레스 버스를 공유하는 2채널 메모리 시스템및 이에 채용되는 메모리 모듈
US6823441B1 (en) 2001-04-20 2004-11-23 Daimlerchrysler Corporation Method of multiplexed address and data bus
US6907503B2 (en) * 2001-09-27 2005-06-14 Daimlerchrysler Corporation Dual port RAM communication protocol
US7020809B2 (en) * 2002-09-25 2006-03-28 International Business Machines Corporation System and method for utilizing spare bandwidth to provide data integrity over a bus
US7417973B1 (en) 2002-12-31 2008-08-26 Apple Inc. Method, apparatus and computer program product for ensuring node participation in a network bus
US7457302B1 (en) 2002-12-31 2008-11-25 Apple Inc. Enhancement to loop healing for malconfigured bus prevention
WO2004100155A1 (en) * 2003-05-09 2004-11-18 Lg Electronics Inc. Recording medium having data structure for managing at least a data area of the recording medium and recording and reproducing methods and apparatuses
US7353284B2 (en) * 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US20040255338A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc. Interface for sending synchronized audio and video data
US7668099B2 (en) * 2003-06-13 2010-02-23 Apple Inc. Synthesis of vertical blanking signal
US8275910B1 (en) 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
US7788567B1 (en) 2003-11-18 2010-08-31 Apple Inc. Symbol encoding for tolerance to single byte errors
US7995606B1 (en) 2003-12-03 2011-08-09 Apple Inc. Fly-by and ack-accelerated arbitration for broadcast packets
US7502338B1 (en) 2003-12-19 2009-03-10 Apple Inc. De-emphasis training on a point-to-point connection
US7237135B1 (en) * 2003-12-29 2007-06-26 Apple Inc. Cyclemaster synchronization in a distributed bridge
US7308517B1 (en) 2003-12-29 2007-12-11 Apple Inc. Gap count analysis for a high speed serialized bus
US20050231358A1 (en) * 2004-04-19 2005-10-20 Company Steven L Search engine for singles with (GPS) position data
US7283418B2 (en) * 2005-07-26 2007-10-16 Micron Technology, Inc. Memory device and method having multiple address, data and command buses
FR2900017B1 (fr) * 2006-04-12 2008-10-31 Arteris Sa Systeme d'interconnexions de blocs fonctionnels externes sur puce muni d'un unique protocole parametrable de communication
US8483108B2 (en) * 2006-07-24 2013-07-09 Apple Inc. Apparatus and methods for de-emphasis training on a point-to-point connection
US9588914B2 (en) 2014-04-09 2017-03-07 International Business Machines Corporation Broadcast and unicast communication between non-coherent processors using coherent address operations
US9563594B2 (en) 2014-05-30 2017-02-07 International Business Machines Corporation Intercomponent data communication between multiple time zones
US9582442B2 (en) * 2014-05-30 2017-02-28 International Business Machines Corporation Intercomponent data communication between different processors
US10275379B2 (en) 2017-02-06 2019-04-30 International Business Machines Corporation Managing starvation in a distributed arbitration scheme
US11176038B2 (en) 2019-09-30 2021-11-16 International Business Machines Corporation Cache-inhibited write operations

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445172A (en) * 1980-12-31 1984-04-24 Honeywell Information Systems Inc. Data steering logic for the output of a cache memory having an odd/even bank structure
US4597084A (en) * 1981-10-01 1986-06-24 Stratus Computer, Inc. Computer memory apparatus
US4481572A (en) * 1981-10-13 1984-11-06 Teledyne Industries, Inc. Multiconfigural computers utilizing a time-shared bus
US4594682A (en) * 1982-12-22 1986-06-10 Ibm Corporation Vector processing
US4888682A (en) * 1983-09-09 1989-12-19 International Business Machines Corp. Parallel vector processor using multiple dedicated processors and vector registers divided into smaller registers
DE3338341A1 (de) * 1983-10-21 1985-05-09 Siemens AG, 1000 Berlin und 8000 München Mehrfachbusanordnung fuer die verbindung von prozessoren und speichern in einem mehrprozessorsystem
US4622631B1 (en) * 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
US4620275A (en) * 1984-06-20 1986-10-28 Wallach Steven J Computer system
US4799152A (en) * 1984-10-12 1989-01-17 University Of Pittsburgh Pipeline feedback array sorter with multi-string sort array and merge tree array
CA1233260A (en) * 1985-03-13 1988-02-23 Chuck H. Ngai High performance parallel vector processor having a modified vector register/element processor configuration
US4740894A (en) * 1985-09-27 1988-04-26 Schlumberger Systems And Services, Inc. Computing processor with memoryless function units each connected to different part of a multiported memory
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods

Also Published As

Publication number Publication date
US5490253A (en) 1996-02-06
EP0458516A2 (en) 1991-11-27
JP2501375B2 (ja) 1996-05-29
EP0458516A3 (en) 1992-04-08
EP0458516B1 (en) 1997-11-05
ES2109256T3 (es) 1998-01-16
DE69128107T2 (de) 1998-02-26
DE69128107D1 (de) 1997-12-11

Similar Documents

Publication Publication Date Title
JP2501375B2 (ja) マルチプロセッサシステム
JP3722415B2 (ja) 効率的なバス機構及びコヒーレンス制御を有する繰り返しチップ構造を有するスケーラブル共用メモリ・マルチプロセッサ・コンピュータ・システム
US6070231A (en) Method and apparatus for processing memory requests that require coherency transactions
CA1306312C (en) Write-shared cache circuit for multiprocessor system
EP0777184B1 (en) Cache coherency method and system
US6615319B2 (en) Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture
EP0667578B1 (en) Apparatus and method for checking cache coherency with double snoop mechanism
JP3872118B2 (ja) キャッシュコヒーレンス装置
KR100491435B1 (ko) 다수의 시스템 버스를 가지는 컴퓨터 시스템 내의 메모리 일관성을 유지하기 위한 시스템 및 방법
US6189078B1 (en) System and method for increasing data transfer throughput for cache purge transactions using multiple data response indicators to maintain processor consistency
JP3470951B2 (ja) 非一様メモリ・アクセス・コンピュータ・システム及びその操作方法
US6587931B1 (en) Directory-based cache coherency system supporting multiple instruction processor and input/output caches
JP2004005657A (ja) 情報処理方法および装置
JPH11272557A (ja) キャッシュ・コヒ―レンシを維持する方法及びシステム
US7149852B2 (en) System and method for blocking data responses
EP0512685B1 (en) Quadrature bus protocol for carrying out transactions in a computer system
JP2746530B2 (ja) 共有メモリマルチプロセッサ
US6226718B1 (en) Method and system for avoiding livelocks due to stale exclusive/modified directory entries within a non-uniform access system
US6714994B1 (en) Host bridge translating non-coherent packets from non-coherent link to coherent packets on conherent link and vice versa
KR19990085485A (ko) 분산 공유 메모리 시스템에서 미세 통신과 대단위 통신의 병합을 위한 적응형 입도 방법
US20050021910A1 (en) Accessing memory and processor caches of nodes in multi-node configurations
US6021466A (en) Transferring data between caches in a multiple processor environment
JPH0511337B2 (ja)
JP4361909B2 (ja) キャッシュコヒーレンス装置
JP4424619B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080313

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090313

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090313

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100313

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110313

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees