JP2001522092A - データを転送するための推論的アービトレーション(SpeculativeArbitration)を提供するシステムと方法 - Google Patents

データを転送するための推論的アービトレーション(SpeculativeArbitration)を提供するシステムと方法

Info

Publication number
JP2001522092A
JP2001522092A JP2000519362A JP2000519362A JP2001522092A JP 2001522092 A JP2001522092 A JP 2001522092A JP 2000519362 A JP2000519362 A JP 2000519362A JP 2000519362 A JP2000519362 A JP 2000519362A JP 2001522092 A JP2001522092 A JP 2001522092A
Authority
JP
Japan
Prior art keywords
bus
data
early warning
signal
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
JP2000519362A
Other languages
English (en)
Other versions
JP3635634B2 (ja
Inventor
ミッチェル エイ. バウマン
ジョーゼフ エス. シュバイナー
ドナルド アール. カルベストランド
ダグラス イー. モリシー
Original Assignee
ユニシス コーポレーション
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 ユニシス コーポレーション filed Critical ユニシス コーポレーション
Publication of JP2001522092A publication Critical patent/JP2001522092A/ja
Application granted granted Critical
Publication of JP3635634B2 publication Critical patent/JP3635634B2/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 マルチリクエスタバス環境でリクエスタ(装置)(540、320)がメモリ記憶ユニット(110)からデータ(230)を受け取るのに要する時間を最適化するシステムと方法。本発明は、ときに装置(540、320)がデータ(230)のフェッチ要求を実行した後に、データ(230)がまもなく来るということを装置(540、320)に警告するためメモリ記憶ユニット(110)からその装置(540、320)に送信される、早期警告信号(740)と呼ばれる単方向応答信号(740)を提供する。この早期警告信号(740)により、装置(540、320)はデータバス(520、340)のアービトレーションを行うことができるため、データ(230)が到着したときに、装置側(540、320)はデータバス(520、340)の排他的所有権を持ち、データ(230)を即座に受け付ける。本発明は、メインメモリ(110)、キャッシュメモリ(510)、1つまたは2つ以上のプロセッサモジュール(120)、1つまたは2つ以上のI/Oモジュール(320)、および早期警告バス(710)を備える。キャッシュメモリ(510)は、インタフェースバス(130)を介してメインメモリ(110)に接続されている。プロセッサモジュール(120)は、プロセッサインタフェースバス(520)を介してキャッシュメモリ(510)に接続されている。I/Oモジュール(320)は、I/Oインタフェースバス(340)を介してメインメモリ(110)に接続されている。プロセッサモジュール(120)とI/Oモジュール(320)は両方とも、データ単位をメインメモリに要求する手段を備える。早期警告バス(710)は、メインメモリ(110)、キャッシュメモリ(510)、およびI/Oモジュール(320)の間に接続されている。

Description

【発明の詳細な説明】
【0001】 (発明の背景) (発明の分野) 本発明は、一般に、多重プロセッサシステムに関するものであり、より詳しく
は、メモリ記憶ユニットから多重プロセッサシステム内の装置へデータを転送す
る動作を加速する手法に関する。
【0002】 (関連技術) 多重プロセッサシステムにおいて、マイクロプロセッサ、メモリバンク(memo
ry bank)、および周辺制御装置などの装置は複数のバスにより相互接続されて いる。このようなシステムでは、メモリやデータバスなどのマシンリソース(ma
chine resources)を割り当てる、アービトレーション(arbitration)と呼ばれ
る規則を採用している。複数の装置がデータ転送のためバスアクセスに関して競
合する多重プロセッサバス環境では、それぞれの装置はバスの所有権を得るため
にアービトレーションを必要とする。たとえば、プロセッサが1単位のデータを
メモリに対し要求した場合、しばらくしてから、そのデータはプロセッサに配信
される。メモリ装置(memory unit)がデータの要求を受信すると、そのメモリ 装置はデータロケーション(data location)を読み込み、物理データにアクセ スし、そのデータをプロセッサに配信しなければならない。データの要求を受信
してからデータが送信されるまでのメモリの待ち時間は長くなる場合がある。
【0003】 データをメモリ(またはキャッシュ)からプロセッサに配信する前に、データ
を配信するバスエージェント(bus agent)はデータバスの所有権を獲得するた めにアービトレーションを行わなければならない。アービトレーションは時間の
かかる作業である。メモリコントローラがディレクトリ情報をデータ自体と同じ
媒体に格納するディレクトリベースのシステムでは、メモリコントローラは要求
元プロセッサへの転送のため関連データを取得するのと同時にディレクトリ情報
も取得する。ディレクトリ状態が適切でなければ、読み込まれたデータは転送さ
れず、ディレクトリを要求を満たす適切な状態にする処置が講じられる。しかし
、時間の大半はデータがプロセッサへ転送することが可能である。メモリコント
ローラがディレクトリ情報を観察するまで待ち、それからアービトレーションを
開始する場合、要求を満たすためにアービトレーションの時間を無駄にすること
になる。メモリコントローラがアービトレーションの直接制御を行ったとすれば
、データが記憶媒体から使用可能となったときにデータバスを使用可能とするア
ービトレーションを開始し、およびアービトレーションの時間を失わずにバス上
にデータを配信するか、またはディレクトリ状態が適切でない場合にデータ転送
せずにバスを解放することができる。大規模なマルチプロセッサシステムでは、
メモリコントローラはバスの介在でプロセッサバスから分離され、データ配信の
ためプロセッサバスに対し推論的にアービトレーションを行う方法とシステムが
必要である。
【0004】 (発明の概要) 簡単に説明すると、本発明は、マルチリクエスタバス(multi-requestor bus )環境でリクエスタ(requestor)(装置)がメモリ記憶ユニットからデータを 受け取るのに要する時間を最適化するシステムと方法を対象とするものである。
本発明は、早期警告信号と呼ばれ、プロセッサバス上のバスエージェントがプロ
セッサの代わりにMSUにデータを要求した後にメモリ記憶ユニットからそのエ
ージェントに送信される単方向信号を提供する。この信号は、データがまもなく
来ることを知らせるバスエージェントへの警告である。この早期警告信号により
、エージェントはデータバスのアービトレーションを行うことができるため、デ
ータが到着したときに、エージェント側でデータバスの所有権に関するアービト
レーションを実施していることになり、データを即座に配信できる。
【0005】 好ましい実施形態において、本発明は、メインメモリ、キャッシュメモリ、1
つまたは2つ以上のプロセッサモジュール、1つまたは2つ以上のI/Oモジュ
ール、および早期警告バスを備える。キャッシュメモリは、インタフェースバス
を介してメインメモリに接続されている。プロセッサモジュールは、プロセッサ
インタフェースバスを介してキャッシュメモリに接続されている。I/Oモジュ
ールは、I/Oインタフェースバスを介してメインメモリに接続されている。プ
ロセッサモジュールとI/Oモジュールは両方とも、データ単位をメインメモリ
に要求する手段を含む。早期警告バスは、メインメモリとキャッシュメモリとの
間に接続されている。
【0006】 早期警告バスは、転送先バスエージェントを識別する第1のフィールドと、「
1」に設定されたときに有効な早期警告信号であることを示す有効ビットを含む
【0007】 要求されたデータ単位は、早期警告信号が早期警告バス上で転送された後要求
元インタフェースバスを介して転送される。早期警告信号を使用することにより
、バスエージェントは要求されたデータ単位を受信する前にデータバスのアービ
トレーションを行うことができる。
【0008】 早期警告信号の推測的性質を考慮するために、本発明はさらに、早期警告信号
を受信したときに設定されるエージェントのアービトレーション・ロジック内に
タイマがさらに備えられ、これにより、エージェントは、要求されたデータがま
だ届いていない場合にタイマが期限切れになると、バスを解放するかまたはアー
ビトレーションの試行を中止する。本発明では、警告信号なしでメインメモリか
らデータを受信したときに、エージェントがバスのアービトレーションを実行し
、そのデータを配信できることも必要である。
【0009】 本発明の他の特長と利点について、本発明のさまざまな実施形態の構造と動作
とともに、添付図面を参照しながら以下の段で詳述する。図面では、類似の参照
番号は一般に、同一の要素、機能上類似している要素、および/または構造上類
似している要素を示す。最初にある要素が示されている図面は、対応する参照番
号の一番右の2つの桁の左側にある。
【0010】 (好ましい実施形態の詳細な説明) 本発明の好ましい実施形態を以下で詳細に解説する。特定の構成を解説してい
るが、これは例示を目的としてのみ行うものであることを理解すべきである。当
業者は、本発明の趣旨および範囲から逸脱することなく、他の部品および構成を
用いてもよいことを理解するであろう。
【0011】 本発明は、マルチリクエスタバス環境でリクエスタ(装置)がメモリ記憶ユニ
ットからデータを受け取るのに要する時間を最適化するシステムと方法を対象と
するものである。本発明は、ときに装置がデータのフェッチ要求を実行した後に
、データがまもなく来るということを装置に警告するためメモリ記憶ユニットか
らその装置に送信される、早期警告信号と呼ばれる単方向応答信号を提供する。
この早期警告信号により、装置はデータバスのアービトレーションを行うことが
できるため、データが到着したときに、装置側はデータバスの排他的所有権を持
ち、データを即座に受け付ける。
【0012】 本発明を詳細に説明する前に、システム処理プラットフォームの例の説明を行
う。図1は、本発明が使用されているシステム処理プラットフォーム100のブ
ロック図である。システム処理プラットフォーム100は、多数の処理システム
および多数のメモリ記憶システム間でのデータフローを管理するのに有用である
。システム処理プラットフォーム100は、1つまたは2つ以上のメモリ記憶ユ
ニット(MSU)110(MSU110AおよびMSU110Bとして図示)お
よび1つまたは2つ以上の処理モジュール(POD)120(POD120Aお
よびPOD120Bとして図示)を含む。顧客は、追加のMSU110やPOD
120を付加することにより、システム処理プラットフォーム100を拡張する
ことができる。
【0013】 各MSU110はMSUインタフェース(MI)バス130(MIバス130
A、130B、130C、および130Dとして図示)を介して各POD120
に接続されている。MIバス130は、個別のアドレス/機能およびデータバス
を有するポイント−ツー−ポイントのインタフェースである。MIバス130は
単方向制御バス、双方向要求バスおよび双方向データバスを含む。要求バスはシ
ステムクロック周波数(SYSCLK)で動作し、データバスはシステムクロッ
ク周波数の2倍のソース同期で動作する。好ましい実施形態では、システム処理
プラットフォーム100で、システムクロック周波数は100メガヘルツ(MH
Z)である。
【0014】 POD120はMIバス130の1つを介して、あらゆるMSU110のデー
タに直接的なアクセス権を有している。例えば、MIバス130AはPOD12
0AのMSU110Aへの直接アクセスを可能にし、MIバス130CはPOD
120AのMSU110Bへの直接アクセスを可能にする。
【0015】 図2に、メモリ記憶ユニット(MSU)110を更に詳細に示す。MSU11
0はメモリコントローラ210とメモリ220とを含む。メモリ220は複数の
データライン230を備える。各データライン230は、システムプラットフォ
ーム100においてMSU110とPOD120との間で転送されるデータの最
小量である。システム処理プラットフォーム100において、データライン23
0は64バイトの情報と同等である。
【0016】 メモリコントローラ210はメモリ220のメモリマネージャとして動作する
。メモリコントローラ210はMIバス130を介して、POD120から制御
およびアドレスラインを受信する。メモリコントローラ210は、以下で詳細に
解説する方法で各データライン230のステータスを制御し監視する。
【0017】 POD120の詳細なブロック図は図3に示されている。POD120は、ク
ロスバー350、1つまたは2つ以上のサブ処理モジュール(サブPOD)(サ
ブPOD310AおよびサブPOD310Bとして図示)および1つまたは2つ
以上の入出力(I/O)モジュール320(I/Oモジュール320AおよびI
/Oモジュール320Bとして図示)を備える。システム処理プラットフォーム
100において、各POD120は2つのサブPOD310および2つのI/O
モジュール320を備える。
【0018】 クロスバー350は、MIバス130を介してサブPOD310およびI/O
モジュール320をMSU110に接続している。サブPOD310(サブPO
D310AおよびサブPOD310Bとして図示)は、インタフェース330(
インタフェース330Aおよびインタフェース330Bとして図示)を介してク
ロスバー350に接続されている。クロスバー350は、インタフェース340
(インタフェース340Aおよびインタフェース340Bとして図示)を介して
I/Oモジュール320(I/Oモジュール320AおよびI/Oモジュール3
20Bとして図示)にインタフェースしている。システム処理プラットフォーム
100において、MIバス130およびインタフェース330は同等の転送レー
トでデータを転送する。I/Oモジュール320とクロスバー350との間のイ
ンタフェース340は、MIバス130およびインタフェース330と同様の構
成を有しているが、半分の転送レートで動作する。
【0019】 I/Oモジュール320は図4に示されている。I/Oモジュール320は、
POD120と、I/O320に接続された1つまたは2つ以上のI/O装置(
図示されていない)との間のインタフェースとして機能する。I/Oモジュール
320は、バス430(バス430A、バス430Bおよびバス430Cとして
図示)を介して、1つまたは2つ以上のペリフェラル・コンポーネント・インタ
ーコネクト(PCI)(PCI420A、PCI420BおよびPCI420C
として図示)を相互接続するブリッジ410を含む。ブリッジ410は、図3に
示されているようにバス340を介してPOD120のクロスバー350にも接
続されている。ブリッジ410は、POD120が各PCI420にアクセスす
ることを可能にする、バス340とバス330との間のスイッチとして機能する
【0020】 ペリフェラル・コンポーネント・インターコネクト(PCI)420は、各種
I/O装置(図示されていない)をI/Oモジュール320に接続するI/Oバ
スである。システム処理プラットフォーム100において、各PCI420は4
つまでの装置を支援できる。これらの装置は、モニタ、キーボード、プリンタ、
ディスクまたはテープドライブなどを含むが、これらに限定されない。
【0021】 サブPOD310のブロック図は図5に示されている。サブPOD310は、
第3レベルキャッシュ(TLC)510および1つまたは2つ以上のコヒーレン
トドメイン530(コヒーレントドメイン530Aおよびコヒーレントドメイン
530Bとして図示)を含む。TLC510はバス520(バス520Aおよび
バス520Bとして図示)を介して各コヒーレントドメイン530に接続されて
いる。TLC510は、各コヒーレントドメイン530間のコヒーレンシを維持
する。各コヒーレントドメイン530は、2つまたは3つ以上の第2レベルキャ
ッシュ(SLC)550(コヒーレントドメイン530AにおけるSLC550
AおよびSLC550Bならびにコヒーレントドメイン530BにおけるSLC
550CおよびSLC550Dとして図示)および、バス560(コヒーレント
ドメイン530Aにおけるバス560Aおよびバス560Bならびにコヒーレン
トドメイン530Bにおけるバス560Cおよびバス560Dとして図示)を介
して各SLC550に接続されたプロセッサ540(コヒーレントドメイン53
0Aにおけるプロセッサ540Aおよびプロセッサ540Bならびにコヒーレン
トドメイン530Bにおけるプロセッサ540Cおよびプロセッサ540Dとし
て図示)を備える。各バスインタフェース520は、コヒーレントドメイン53
0における2つまでのプロセッサ/SLC(540/550)の構成を支援する
。プロセッサモジュール540は、例えば、デシュート(Deshutes)ス
タイルP6、メルセド(Merced)スタイルP7、ボイジャー(Voyag
er)スタイル2200またはカプリコーン(Capricorn)スタイルA
シリーズの命令処理装置のうち1つを含むことができる。これら4種類の命令処
理装置の全てが当業者にはよく知られている。
【0022】 各コヒーレントドメイン530のSLC550は、それらの間ならびにそれら
独自のコヒーレントドメイン内においてコヒーレンスを維持する。これは、バス
520を共有し、スヌーピーベースのコヒーレンスに従うことによって達成され
る。スヌーピーベースのコヒーレンスによれば、各SLC550は要求バス52
0を「覗いて(スヌープ)」データライン230の状態を確認して、必要であれ
ば、そこに記憶されたデータラインの状態を更新する。スヌーピープロトコルに
関する更に詳細な解説は、参照によって本明細書中にその全体を含めた、本願と
同時に出願した「ディレクトリ・ベースのキャッシュ・コヒーレンシ・システム
」という名称の並行して係属中である出願(代理人整理番号TN050;152
1.0080000)に含まれている。
【0023】 POD120およびMSU110は協同してコヒーレントメモリシステムを作
り出す。システム処理プラットフォーム100のコヒーレンシスキームはディレ
クトリベースの所有権プロトコルである。図6は、システム処理プラットフォー
ム100に使用されたディレクトリベースの所有権プロトコルを示している。メ
モリ220および各レベルのキャッシュ(すなわち、TLC510、SLC55
0など)がコヒーレンスを維持するためのディレクトリプロトコルを許容してい
る。図6に示したように、メモリ220はメモリディレクトリ610を有し、T
LC510はTLCディレクトリ640を有し、SLC550はMESI(Modi
fied Exclusive Shared Invalid)というSLCディレクトリ650を有してい る。
【0024】 好ましい実施形態では、各キャッシュ510および550は、キャッシュライ
ン(TLC510ではキャッシュライン620、SLC550ではキャッシュラ
イン630として図示)と呼ばれるデータライン記憶用のメモリを含む。キャッ
シュラインは、1つまたは2つ以上のキャッシュ510、550に存在するデー
タラインのコピーである。
【0025】 ディレクトリ610において、各データライン230についての情報は監視さ
れて、状態612とベクトル614とを使って更新される。状態612は、デー
タライン230に関してリクエスタに与えられたアクセス権のステータスについ
ての情報を維持する。かかるステータスは現在のステータス、共有ステータスお
よび独占ステータスを含むことができる。現在のステータスは、データライン2
30がメモリ220にのみ存在することを示している。共有ステータスは、デー
タライン230のリードオンリーのコピーが1つまたは2つ以上のPOD120
に存在することを示している。これは、これら1つまたは2つ以上のPOD12
0がデータライン230のコピーを自由に読むことができることを示している。
独占ステータスは、単一のリクエスタのみがデータライン230への書き込みア
クセス権を与えられていることを示している。これは、単一のリクエスタのみが
データライン230を修正する権利を有することを示している。ベクトル614
は、メモリ状態612が独占ステータスを示しているときに、書き込みアクセス
権が与えられているサブPOD310へのポインタである。ベクトル614は、
メモリステータス612が共有ステータスを示しているときに、どのサブPOD
310がリードオンリーコピーを有するかを示すビットのマスクである。
【0026】 TLCディレクトリ640では、各キャッシュライン620に関する情報が監
視されており、状態642とベクトル644を使用して更新される。状態642
は、キャッシュライン620のステータスに関する3つの情報を保持している。
この情報には、所有権、データステータス、およびバスの権利が含まれる。ベク
トル644は、キャッシュライン620が存在している1つまたは2つ以上のロ
ケーションを指している。
【0027】 所有権は、独占権、共有権および未知の権利を含むことができる。独占権は、
TLC510がキャッシュライン620への独占権(すなわち、書き込みアクセ
ス権)を有することを示しており、この独占権はメモリ220におけるデータラ
イン230の対応するステータスと一致する。共有権は、メモリ220がキャッ
シュライン620を共有されたもの(すなわち、リードオンリーアクセス)とし
て関連づけていることを示している。未知の権利は、キャッシュライン620に
関する所有権が未知であることを示している。
【0028】 TLCディレクトリ640のデータステータスは、データなし、修正データま
たはクリーンデータを含むことができる。データなしは、キャッシュライン62
0ロケーションにデータが存在しないことを示している。修正データは、キャッ
シュライン620上のデータが修正されたことを意味している。修正データはメ
モリ220に書き戻されなければならない。クリーンデータは、キャッシュライ
ン620上のデータが修正されていないことを示している。
【0029】 バスの権利は、バス520Aまたは520Bのどちらに権利が与えられたかを
示している。バスの権利も状態とベクトル(状態およびベクトルとも図示されて
いない)を含む。バスの権利は、独占状態、共有状態または未知の状態を含むこ
とができる。独占権は、バス520Aまたは520Bのどちらかに関連づけられ
たSLC550に独占的所有権が属することを示している。共有権は、バス52
0Aと520Bの両方に権利が与えられていることを示している。未知の権利は
、どちらのバスが権利を有しているか分からないことを示している。
【0030】 SLCディレクトリ650において、キャッシュライン630の状態のみが維
持されている。状態は、修正されたステータス、独占ステータス、共有ステータ
スまたは無効なステータスを含むことができる。修正されたステータスは、キャ
ッシュライン630上のデータが修正されていることを示している。独占ステー
タスは、キャッシュライン630上のデータを修正することができ、関連づけら
れたSLC550はデータが含まれる唯一の装置であることを示している。共有
ステータスは、キャッシュライン630上のデータが装置間で共有されているこ
とを示している。無効なステータスは、SLC550のキャッシュライン630
にあるデータライン230のコピーは、別の装置のデータライン230で行われ
た書き込みのために、もはや有効ではないことを示している。
【0031】 プロセッサ540などのプロセッサによって必要とされる時間を削減し、メモ
リ220のデータライン230を読み取るために、キャッシュスキームが開発さ
れた。システム処理プラットフォーム100で使用されているようなキャッシュ
システムは、システム処理プラットフォーム100が適切かつ効率的に処理を遂
行できるように、メモリ220、TLC510およびSLC550の各々の中で
コヒーレントなデータを維持しなければならない。
【0032】 コヒーレンシは当該事業分野ではよく知られた用語であり、多数のメモリと処
理装置を備えたシステムにおいてデータのアクセスを管理する。コヒーレントシ
ステムは、データラインの読み取りは最近書き込まれたそのデータラインの値を
戻し、データラインの書き込みは、読み取りアクセス権を有する全てのエージェ
ントが所有するそのデータラインの全てのコピーを無効にすることを要求する。
処理システムプラットフォーム100に関しては、コヒーレンシは、POD12
0がそのリクエスタの1つにキャッシュ510および550のいずれかの中でキ
ャッシュライン620または630を修正することを許可する前に、このデータ
についてMSU110から所有権許可(特に、独占的または書き込み所有権)を
得なければならないことを意味する。独占的所有権が与えられると、POD12
0のリクエスタは、MSU110と対話することなくキャッシュライン620を
変更することを許可される。POD120がキャッシュライン620との関係が
断たれたとき、キャッシュライン620はMSU110に書き戻される。
【0033】 MSU110は、TLC510およびI/Oバスインタフェース340でキャ
ッシュライン620状態情報を追跡する。MSU110はディレクトリ構造61
0を使ってこれを行う。ディレクトリ610は、MSU110、特定のTLC5
10または特定のI/Oバスインタフェース340のいずれがデータライン23
0を所有しているかに関する情報を維持する。ディレクトリ610は、もしある
とすれば、どのTLC510がデータライン230の未処理のコピーを有してい
るか、あるいは、特定のI/Oが未処理のコヒーレントコピーを有しているかに
関する情報を維持する。ディレクトリ610は、特定のデータライン230が修
正不可能なエラーを含んでいるかどうかも示す。
【0034】 システム処理プラットフォーム100のコヒーレンシスキームは、一度に1つ
の所有者しか許容せず、コヒーレンシはキャッシュラインベースで実行される。
したがって、別のTLC510またはI/Oバスインタフェース340が修正さ
れたキャッシュライン620または630へのアクセス権を有する必要がある場
合には、新たなデータをリクエスタに送るために、所有者に対してキャッシュラ
イン620または630をMSU110に戻すように要求することはMSU11
0の責任である。リクエスタがキャッシュライン620または630を修正した
いのであれば、元の所有者は対応するキャッシュライン620または630をそ
のキャッシュから削除する(無効にする)。次に、その特定のキャッシュライン
620または630に再びアクセスする必要があれば、最新のコピーを求めてM
SU110に行かされるであろう。リクエスタがデータライン230を読みたい
のであれば、元の所有者は対応するキャッシュライン620または630のコピ
ーを保持することを許可される。いずれの場合にも、元の所有者は、対応するキ
ャッシュライン620または630においてデータのいずれをも修正する特権を
失っており、そうするためには、MSU110に独占的所有権を再び要求しなけ
ればならない。
【0035】 システム処理プラットフォーム100のコヒーレンシスキームは、本願と同時
に出願された「ディレクトリ・ベースのキャッシュ・コヒーレンシ・システム」
という名称の並行して係属中の出願(代理人整理番号TN050;1521.0
080000)で更に説明している。
【0036】 本発明については、上記の例の環境で説明している。これらの用語の説明は利
便性ためにのみ行っている。本発明をこの例の環境における応用に限定すること
は意図していない。事実、以下の説明を読んだ後に、当業者には他のメモリ記憶
ユニットや処理モジュールの構成で本発明をどのように実施するのかが明らかに
なるであろう。例えば、本発明は、複数のプロセッサに接続されたバス階層を利
用した如何なるシステムにも適用性を有する。複数レベルのキャッシングは本発
明を実施するためには要求されない。
【0037】 図7に本発明の好ましい実施形態の図を示す。前記のように、本発明はデータ
をMSU110からフェッチしなければならないときにMSU110からPOD
120へのデータライン230の転送を加速するシステムと方法である。本発明
は、データライン230の要求を行ったときに早期警告(E_W)信号を送信す
ることによって、MSU110からPOD120へのデータ転送を加速する。早
期警告信号によって、要求元装置(たとえば、プロセッサ540やI/Oモジュ
ール320)は、データバスのアービトレーションによりデータライン230の
到着を準備し、したがって、データライン230が使用可能となったときに、デ
ータライン230を要求した装置は即座にそれを受け入れることができる。
【0038】 プロセッサ540またはI/Oモジュール320のような要求元装置は、MS
U110に対するデータフェッチ要求を実行する。データがMSU110から要
求元装置に戻る前に、要求元装置はデータバスのアービトレーションを実行しな
ければならない。本発明では、要求データの転送前に早期警告バス上でMSU1
10から要求元装置に転送する早期警告信号を提供する。早期警告信号により、
要求元装置は要求データを受信する前にデータバスのアービトレーションを行う
ことができる。要求データの受信前にアービトレーションを行うと、要求元装置
はデータの到着後直ちにデータにアクセスできる。
【0039】 好ましい実施形態において、本発明は、MIバス130のサブセットである(
図1に示されている)。それとは別に、本発明の他の実施形態ではバスを別にす
ることができる。本発明は、MSU110からPOD120への早期警告単方向
バス(E_W[2:0])710を提供する。早期警告単方向バス710は、R
_bus信号720、P_bus信号730、およびValid信号740を含
む。
【0040】 R_bus信号720は、どのインタフェースバスがデータを要求しているか
を示す。より詳しく述べると、R_bus信号720はデータの要求がどのリク
エスタバス(I/Oモジュール320に対してはバス340およびバス340B
、サブPOD310に対してはバス330Aおよびバス330B)から出たかを
示す。P_bus信号730は、要求元装置を識別する。より詳しく述べると、
R_bus720がI/Oモジュール320からデータ要求が発行されたという
ことを示している場合に、P_bus730はI/Oモジュール320のどれが
要求を出したかを示す。R_bus720がTLCインタフェースバス330か
らデータ要求が来たということを示している場合に、P_bus730はプロセ
ッサ540のどれが要求を出したかを示す。Valid信号740は、1に設定
され、信号が有効であることを示し、データがまもなく来るという早期警告を出
す。
【0041】 本発明の好ましい実施形態では、タイマ(図示されていない)は、データが指
定時間範囲内に要求元装置に到着していない場合にアービトレーションを解放す
るために使用される。タイマは、E_Wバス710上の有効な情報を指示するV
alid信号740の0から1への遷移を受け取ると、それを合図に起動する。
指定された時間内にデータが転送できない理由はいくつかある。たとえば、デー
タライン230のコピーが要求されても、他のリクエスタがデータライン230
を所有していれば、必ずしも更新されたコピーではないため現在MSU110内
にあるデータライン230は第1のリクエスタに配信されない。更新されたコピ
ーは現在所有者側にある。しかし、E_Wバス710はそのまま、MSU110
が単独でデータライン230を保有したのと同時にリクエスタに送られる。さら
に、データライン230を要求元POD120に配信するのを妨げるが、E_W
バス710の送信は禁止しないMI130の双方向的性質と関連するタイミング
の時間枠もある。このような場合、要求データライン230はすぐには到着しな
い。したがって、タイマを使って、アービトレーションを解放し、データバスの
利用率を最大にする。
【0042】 Valid信号740を実行するMSU110からプロセッサ540へのデー
タ転送のタイミング図を図8に示す。REQ信号810によって、POD120
からMSU110への要求トランザクションが開始する。REQ信号810は、
任意のクロックサイクルでアサートできる。好ましい実施形態では、REQ信号
810は1クロックサイクル長である。MIバス130上のアドレスおよびファ
ンクション(ADR_FNC)信号820は、2クロックサイクルを要する。好
ましい実施形態では、REQ信号810はADR_FNC信号820の第1のサ
イクルでアサートされる。R_bus720およびP_bus730は、ADR
_FNC信号820に含まれる。MSU110は、E_W[2:0]バス710
、R_bus720、およびP_bus730に、ADR_FNC信号820か
ら得られた値を出し、E_W[2:0]バス710を介してPOD120に早期
警告を送る。Valid信号740は、データライン230の到着の2クロック
サイクル前に出現する。MSU110は、MSU110がデータライン230を
所有しているという仮定を使用してすべての内部データパス経路制御優先度(ro
uting priorities)が解決された後に有効な信号740を送信する。これは、M
SU110が、データライン230を所有しているかどうかを知る前である。P
OD120に転送された有効なデータ230の開始は、MSU110からPOD
120へのResponse信号840によって示される。MSU110が後に
なって、データライン230を所有していないことを検出した場合、Respo
nse信号840は禁止される。Response信号840は、MIインタフ
ェース130の一部である。Valid信号740がトリガとなって、要求元装
置はバスアービトレーション信号830を発生する。バスアービトレーション信
号830は、要求元装置への要求であって、これによりデータバス(たとえば、
プロセッサバス520)のアービトレーションが行われる。データバスはこれで
データライン230の到着後、直ちにそのデータラインを受け付ける用意ができ
た。Response信号840が有効な信号740に関して2クロックのタイ
ミング時間枠内で到着しない場合、他の転送のためにデータバスは解放される。
【0043】 これまで本発明のさまざまな実施形態について説明してきたが、例示のための
みに提示されており、制限していないことが理解されるであろう。したがって、
本発明の範囲は上述の実施形態の例によって制限されず、前記の特許請求の範囲
およびその均等物によってのみ定義されるべきであろう。
【図面の簡単な説明】
添付図面を参照しながら本発明について説明する。
【図1】 本発明の好ましい実施形態によるシステムプラットフォーム環境のブロック図
である。
【図2】 メモリ記憶ユニットの実施形態を示す図である。
【図3】 処理モジュールの実施形態を示す図である。
【図4】 I/Oモジュールの実施形態を示す図である。
【図5】 サブ処理モジュールの実施形態を示す図である。
【図6】 ディレクトリベースのメモリおよびキャッシュシステムの実施形態を示す図で
ある。
【図7】 本発明の好ましい実施形態を示す図である。
【図8】 本発明の好ましい実施形態を使用してデータ転送を加速するためのタイミング
図である。
【手続補正書】
【提出日】平成12年5月23日(2000.5.23)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0002
【補正方法】変更
【補正内容】
【0002】 (関連技術) 多重プロセッサシステムにおいて、マイクロプロセッサ、メモリバンク(memo
ry bank)、および周辺制御装置などの装置は複数のバスにより相互接続されて いる。このようなシステムでは、メモリやデータバスなどのマシンリソース(ma
chine resources)を割り当てる、アービトレーション(arbitration)と呼ばれ
る規則を採用している。複数の装置がデータ転送のためバスアクセスに関して競
合する多重プロセッサバス環境では、それぞれの装置はバスの所有権を得るため
にアービトレーションを必要とする。たとえば、プロセッサが1単位のデータを
メモリに対し要求した場合、しばらくしてから、そのデータはプロセッサに配信
される。メモリ装置(memory unit)がデータの要求を受信すると、そのメモリ 装置はデータロケーション(data location)を読み込み、物理データにアクセ スし、そのデータをプロセッサに配信しなければならない。データの要求を受信
してからデータが送信されるまでのメモリの待ち時間は長くなる場合がある。 この例は、アップルコンピュータ社(Apple Computer, Inc)の国際出願番号 WO96/35172の出願に見出すことができる。この出願は、システムバス
に結合された要求元エージェントを有するシステム内のグラフィック・コントロ
ーラについて開示している。このシステムでは、コントローラはアービトレーシ
ョンを初期化して要求元エージェントがメモリ内のフレーム・バッファをアクセ
スすることを可能にしている。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GE,GH,GM,HR ,HU,ID,IL,IS,JP,KE,KG,KP, KR,KZ,LC,LK,LR,LS,LT,LU,L V,MD,MG,MK,MN,MW,MX,NO,NZ ,PL,PT,RO,RU,SD,SE,SG,SI, SK,SL,TJ,TM,TR,TT,UA,UG,U Z,VN,YU,ZW (72)発明者 シュバイナー ジョーゼフ エス. アメリカ合衆国 19460 ペンシルベニア 州 フェニックスビル シルバー スプリ ングス ロード 156 (72)発明者 カルベストランド ドナルド アール. アメリカ合衆国 19446 ペンシルベニア 州 ランズデイル ノールブルック ドラ イブ 1204 (72)発明者 モリシー ダグラス イー. アメリカ合衆国 18104 ペンシルベニア 州 アレンタウン ショート ヒル ドラ イブ 3923 Fターム(参考) 5B060 CD08 CD11 KA02 【要約の続き】 キャッシュメモリ(510)は、インタフェースバス (130)を介してメインメモリ(110)に接続され ている。プロセッサモジュール(120)は、プロセッ サインタフェースバス(520)を介してキャッシュメ モリ(510)に接続されている。I/Oモジュール (320)は、I/Oインタフェースバス(340)を 介してメインメモリ(110)に接続されている。プロ セッサモジュール(120)とI/Oモジュール(32 0)は両方とも、データ単位をメインメモリに要求する 手段を備える。早期警告バス(710)は、メインメモ リ(110)、キャッシュメモリ(510)、およびI /Oモジュール(320)の間に接続されている。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 多重プロセッサシステム(100)において、 少なくとも1つのメモリ記憶装置(110)と インタフェースバス(130)を介して前記少なくとも1つのメモリ記憶装置
    (110)のそれぞれに接続されている少なくとも1つのキャッシュメモリ(5
    10)と、 前記少なくとも1つのキャッシュメモリ(510)を複数のプロセッサ(54
    0)に接続し、前記複数のプロセッサ(540)のそれぞれは前記少なくとも1
    つのメモリ記憶装置(110)にデータを要求する手段(540)を含む少なく
    とも1つのプロセッサインタフェースバス(520)と、 前記複数のプロセッサ(540)の1つによって要求されたデータはまもなく
    使用可能となること、および前記複数のプロセッサ(540)の前記1つは接続
    先の前記プロセッサインタフェースバス(520)の使用に対するアービトレー
    ションを開始することを前記複数のプロセッサ(540)の1つに通知する早期
    警告信号(740)を生成する手段(210)と、 前記少なくとも1つのメモリ記憶装置(110)の1つを前記少なくとも1つ
    のキャッシュメモリ(510)の1つに接続し、該接続されたキャッシュメモリ
    によって前記警告信号(740)が送信される少なくとも1つの早期警告バス(
    710)と を備えたことを特徴とするシステム。
  2. 【請求項2】 I/Oインタフェースバスを介して前記少なくとも1つのメ
    モリ記憶装置に接続されている複数のI/Oモジュールをさらに備え、該複数の
    I/Oモジュールのそれぞれは前記少なくとも1つのメモリ記憶装置のそれぞれ
    にデータを要求する手段を有し、前記早期警告信号が前記早期警告バス上で転送
    された後に前記要求されたデータを前記I/Oインタフェースバスに転送し、前
    記早期警告バスによって前記早期警告信号は、前記I/Oモジュールが前記要求
    されたデータの受信前に前記I/Oインタフェースバスに対するアービトレーシ
    ョンを行うことを可能にすることを特徴とする請求項1に記載のシステム。
  3. 【請求項3】 前記早期警告バスは、 要求元バスを識別するためのデータラインと、 要求元装置を識別するためのデータラインと、 前記要求されたデータが前記少なくとも1つのメモリ記憶装置の1つから転送
    されることを指示する少なくとも1つのデータラインと を備え、前記メモリ記憶装置によって前記早期警告信号が前記要求元装置に送ら
    れることを特徴とする請求項1に記載のシステム。
  4. 【請求項4】 前記プロセッサインタフェースバスの使用に対するアービト
    レーションが開始したときに計数を開始するタイマをさらに備え、および前記タ
    イマが前記要求されたデータの到着前に期限切れになった場合に前記アービトレ
    ーションは終了することを特徴とする請求項3に記載のシステム。
  5. 【請求項5】 前記早期警告バスは、前記少なくとも1つのメモリ記憶装置
    の1つと前記少なくとも1つのキャッシュメモリの1つの間の前記インタフェー
    スバスの一部であることを特徴とする請求項1に記載のシステム。
  6. 【請求項6】 多重プロセッサ処理システム(100)においてメモリ記憶
    装置(110)から装置(540、320)へのデータ転送に関する早期警告を
    提供する方法であって、 (1)装置(540、320)によって、メモリ記憶装置(110)にデータ
    (230)を要求するステップと、 (2)前記要求されたデータ(230)がまもなく来るということ、および前
    記要求元装置(540、320)がバスアービトレーションを開始することを前
    記要求元装置(540、320)に指示するためにメモリ記憶装置(110)か
    ら早期警告信号(740)を送信するステップであって、 第1の信号(720)を早期警告バス(710)に送信するステップであっ
    て、前記第1の信号(720)は前記データ(230)の要求先インタフェース
    バス(330、340)を識別するステップと、 第2の信号(730)を前記早期警告バス(710)に送信するステップで
    あって、前記第2の信号(730)は前記要求元装置(540、320)を識別
    するステップと、 第3の信号(740)を早期警告バス(710)に送信するステップであっ
    て、前記第3の信号(740)は、有効な早期警告が実際に与えられたこと、お
    よび前記要求元装置(540、320)によって前記バスアービトレーションが
    開始されることを指示するステップと を含むステップと、 (3)前記要求元装置(540、320)によって、バスインタフェース(5
    20、340)の使用に関するアービトレーションを行うステップと、 (4)前記要求されたデータ(230)を前記要求元装置(540、320)
    に送信するステップと を備えることを特徴とする方法。
  7. 【請求項7】 ステップ(3)は 前記バスアービトレーションが開始したときにタイマを設定するステップと、 ステップ(4)で前記要求されたデータが送信される前に前記タイマが期限切
    れになった場合に前記バスアービトレーションを解放するステップと を備えることを特徴とする請求項6に記載の方法。
  8. 【請求項8】 多重プロセッサ処理システム(100)においてメモリ記憶
    装置(110)から装置(540、320)へのデータ転送に関する早期警告を
    提供するシステムであって、 装置(540、320)によって、メモリ記憶装置(110)からのデータ(
    230)を要求する手段(330、340)と、 前記要求されたデータ(230)がまもなく来るということ、および前記要求
    元装置(540、320)がバスアービトレーションを開始することを前記要求
    元装置(540、320)に指示するためにメモリ記憶装置(110)から早期
    警告信号(740)を送信する手段(710)であって、 第1の信号(720)を早期警告バス(740)に送信する手段であって、
    前記第1の信号(720)は前記データ(230)の要求先インタフェースバス
    (330、340)を識別する手段と、 第2の信号(730)を前記早期警告バス(740)に送信する手段であっ
    て、前記第2の信号(730)は前記要求元装置(540、320)を識別する
    手段と、 第3の信号(740)を早期警告バスに送信する手段であって、前記第3の
    信号(740)は、有効な早期警告が実際に送られたこと、および前記要求元装
    置(540、320)によって前記バスアービトレーションが開始されることを
    指示する手段と を含む手段と、 前記要求元装置(540、320)によって、バスインタフェース(520、
    340)の使用に関するアービトレーションを行う手段(540、320)と、 前記要求データ(230)を前記要求元装置(540、320)に送信する手
    段(110)と を備えたことを特徴とするシステム。
  9. 【請求項9】 前記アービトレーションを行う手段は、 前記バスアービトレーションが開始したときにタイマを設定する手段と、 前記送信手段により前記要求データが送信される前に前記タイマが期限切れに
    なった場合に、前記バスアービトレーションを解放する手段と を備えたことを特徴とする請求項8に記載のシステム。
JP2000519362A 1997-11-05 1998-11-04 データを転送するための推論的アービトレーション(Speculative Arbitration)を提供するシステムと方法 Expired - Fee Related JP3635634B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/964,630 US6049845A (en) 1997-11-05 1997-11-05 System and method for providing speculative arbitration for transferring data
US08/964,630 1997-11-05
PCT/US1998/023459 WO1999023570A1 (en) 1997-11-05 1998-11-04 System and method for providing speculative arbitration for transferring data

Publications (2)

Publication Number Publication Date
JP2001522092A true JP2001522092A (ja) 2001-11-13
JP3635634B2 JP3635634B2 (ja) 2005-04-06

Family

ID=25508789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000519362A Expired - Fee Related JP3635634B2 (ja) 1997-11-05 1998-11-04 データを転送するための推論的アービトレーション(Speculative Arbitration)を提供するシステムと方法

Country Status (9)

Country Link
US (1) US6049845A (ja)
EP (1) EP1029283B1 (ja)
JP (1) JP3635634B2 (ja)
KR (1) KR100381619B1 (ja)
AT (1) ATE235713T1 (ja)
AU (1) AU1305199A (ja)
BR (1) BR9814844A (ja)
DE (1) DE69812685T2 (ja)
WO (1) WO1999023570A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005529407A (ja) * 2002-06-07 2005-09-29 マイクロン テクノロジー,インコーポレイティド 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
JP2010049674A (ja) * 2008-05-23 2010-03-04 Intel Corp リンク相互接続の電源管理方法、システム、および装置
JP2013532325A (ja) * 2010-06-01 2013-08-15 アップル インコーポレイテッド 適応予測によるクリティカルワードの転送

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199135B1 (en) * 1998-06-12 2001-03-06 Unisys Corporation Source synchronous transfer scheme for a high speed memory interface
US6263409B1 (en) * 1998-12-22 2001-07-17 Unisys Corporation Data processing system and method for substituting one type of request for another for increased performance when processing back-to-back requests of certain types
US6304945B1 (en) * 1999-05-13 2001-10-16 Compaq Computer Corporation Method and apparatus for maintaining cache coherency in a computer system having multiple processor buses
JP2001184295A (ja) * 1999-12-27 2001-07-06 Toshiba Corp 周辺装置および計算機システム
US7058750B1 (en) * 2000-05-10 2006-06-06 Intel Corporation Scalable distributed memory and I/O multiprocessor system
US6826619B1 (en) 2000-08-21 2004-11-30 Intel Corporation Method and apparatus for preventing starvation in a multi-node architecture
US6487643B1 (en) 2000-09-29 2002-11-26 Intel Corporation Method and apparatus for preventing starvation in a multi-node architecture
US6772298B2 (en) 2000-12-20 2004-08-03 Intel Corporation Method and apparatus for invalidating a cache line without data return in a multi-node architecture
US7234029B2 (en) * 2000-12-28 2007-06-19 Intel Corporation Method and apparatus for reducing memory latency in a cache coherent multi-node architecture
US6791412B2 (en) * 2000-12-28 2004-09-14 Intel Corporation Differential amplifier output stage
US6721918B2 (en) 2000-12-29 2004-04-13 Intel Corporation Method and apparatus for encoding a bus to minimize simultaneous switching outputs effect
US20020087766A1 (en) * 2000-12-29 2002-07-04 Akhilesh Kumar Method and apparatus to implement a locked-bus transaction
US20020087775A1 (en) * 2000-12-29 2002-07-04 Looi Lily P. Apparatus and method for interrupt delivery
US6662277B2 (en) * 2001-07-31 2003-12-09 Hewlett-Packard Development Company, L.P. Cache system with groups of lines and with coherency for both single lines and groups of lines
CN100445973C (zh) * 2002-04-17 2008-12-24 威盛电子股份有限公司 总线控制权仲裁方法与仲裁器
US6862665B2 (en) * 2002-07-19 2005-03-01 Intel Corporation Method, system, and apparatus for space efficient cache coherency
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US6820181B2 (en) 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7966439B1 (en) * 2004-11-24 2011-06-21 Nvidia Corporation Apparatus, system, and method for a fast data return memory controller
US20080059674A1 (en) * 2006-09-01 2008-03-06 Jiaxiang Shi Apparatus and method for chained arbitration of a plurality of inputs
JP2009026136A (ja) * 2007-07-20 2009-02-05 Nec Electronics Corp マルチプロセッサ装置
JP2009026135A (ja) * 2007-07-20 2009-02-05 Nec Electronics Corp マルチプロセッサ装置
US20090164689A1 (en) * 2007-12-21 2009-06-25 Unisys Corporation Early response indication for data retrieval in a multi-processor computing system

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3641505A (en) * 1969-06-25 1972-02-08 Bell Telephone Labor Inc Multiprocessor computer adapted for partitioning into a plurality of independently operating systems
US3812469A (en) * 1972-05-12 1974-05-21 Burroughs Corp Multiprocessing system having means for partitioning into independent processing subsystems
US4000485A (en) * 1975-06-30 1976-12-28 Honeywell Information Systems, Inc. Data processing system providing locked operation of shared resources
US4253146A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Module for coupling computer-processors
US4245306A (en) * 1978-12-21 1981-01-13 Burroughs Corporation Selection of addressed processor in a multi-processor network
US4253144A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Multi-processor communication network
US4240143A (en) * 1978-12-22 1980-12-16 Burroughs Corporation Hierarchical multi-processor network for memory sharing
US4488217A (en) * 1979-03-12 1984-12-11 Digital Equipment Corporation Data processing system with lock-unlock instruction facility
US4392196A (en) * 1980-08-11 1983-07-05 Harris Corporation Multi-processor time alignment control system
US4466059A (en) * 1981-10-15 1984-08-14 International Business Machines Corporation Method and apparatus for limiting data occupancy in a cache
US4441155A (en) * 1981-11-23 1984-04-03 International Business Machines Corporation Page controlled cache directory addressing
US4464717A (en) * 1982-03-31 1984-08-07 Honeywell Information Systems Inc. Multilevel cache system with graceful degradation capability
US4586133A (en) * 1983-04-05 1986-04-29 Burroughs Corporation Multilevel controller for a cache memory interface in a multiprocessing system
US4562536A (en) * 1983-06-30 1985-12-31 Honeywell Information Systems Inc. Directory test error mode control apparatus
US4686621A (en) * 1983-06-30 1987-08-11 Honeywell Information Systems Inc. Test apparatus for testing a multilevel cache system with graceful degradation capability
US4667288A (en) * 1983-06-30 1987-05-19 Honeywell Information Systems Inc. Enable/disable control checking apparatus
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
JPS62194563A (ja) * 1986-02-21 1987-08-27 Hitachi Ltd バツフア記憶装置
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5016167A (en) * 1987-12-21 1991-05-14 Amdahl Corporation Resource contention deadlock detection and prevention
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
DE68923829T2 (de) * 1988-06-21 1996-03-21 Amdahl Corp Startsteuerung von logischen Systemen in einem Datenverarbeitungssystem mit logischer Prozessormöglichkeit.
US5142676A (en) * 1988-12-28 1992-08-25 Gte Laboratories Incorporated Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory
US4967414A (en) * 1989-01-06 1990-10-30 International Business Machines Corp. LRU error detection using the collection of read and written LRU bits
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
US5237670A (en) * 1989-01-30 1993-08-17 Alantec, Inc. Method and apparatus for data transfer between source and destination modules
JP2833062B2 (ja) * 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JP2826857B2 (ja) * 1989-12-13 1998-11-18 株式会社日立製作所 キャッシュ制御方法および制御装置
JPH0470946A (ja) * 1990-07-04 1992-03-05 Mitsubishi Electric Corp Dmaコントローラを内蔵した処理装置
JPH04119445A (ja) * 1990-09-11 1992-04-20 Canon Inc 計算機システム
US5408629A (en) * 1992-08-13 1995-04-18 Unisys Corporation Apparatus and method for controlling exclusive access to portions of addressable memory in a multiprocessor system
US5434976A (en) * 1992-09-28 1995-07-18 Standard Microsystems Corporation Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers
JPH06110781A (ja) * 1992-09-30 1994-04-22 Nec Corp キャッシュメモリ装置
JP2809961B2 (ja) * 1993-03-02 1998-10-15 株式会社東芝 マルチプロセッサ
US5499354A (en) * 1993-05-19 1996-03-12 International Business Machines Corporation Method and means for dynamic cache management by variable space and time binding and rebinding of cache extents to DASD cylinders
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
FR2707774B1 (fr) * 1993-07-15 1995-08-18 Bull Sa Procédé de gestion cohérente des échanges entre des niveaux d'une hiérarchie de mémoires à au moins trois niveaux.
US5504874A (en) * 1993-09-29 1996-04-02 Silicon Graphics, Inc. System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions
WO1995025306A2 (en) * 1994-03-14 1995-09-21 Stanford University Distributed shared-cache for multi-processors
US5490280A (en) * 1994-03-31 1996-02-06 Intel Corporation Apparatus and method for entry allocation for a resource buffer
US5465336A (en) * 1994-06-30 1995-11-07 International Business Machines Corporation Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system
KR100357338B1 (ko) * 1994-08-02 2003-02-11 가부시끼가이샤 히다치 세이사꾸쇼 데이타처리시스템
JP3531074B2 (ja) * 1994-11-28 2004-05-24 富士通株式会社 記憶装置制御システム
US5717942A (en) * 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
US5838955A (en) * 1995-05-03 1998-11-17 Apple Computer, Inc. Controller for providing access to a video frame buffer in split-bus transaction environment
US5852718A (en) * 1995-07-06 1998-12-22 Sun Microsystems, Inc. Method and apparatus for hybrid packet-switched and circuit-switched flow control in a computer system
US5787265A (en) * 1995-09-28 1998-07-28 Emc Corporation Bus arbitration system having a pair of logic networks to control data transfer between a memory and a pair of buses
US5793992A (en) * 1996-06-13 1998-08-11 Vlsi Technology, Inc. Method and apparatus for arbitrating access to main memory of a computer system
US5717897A (en) * 1996-09-09 1998-02-10 Unisys Corporation System for coordinating coherency of cache memories of multiple host computers of a distributed information system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005529407A (ja) * 2002-06-07 2005-09-29 マイクロン テクノロジー,インコーポレイティド 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
JP4677630B2 (ja) * 2002-06-07 2011-04-27 ラウンド ロック リサーチ、エルエルシー 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
JP2010049674A (ja) * 2008-05-23 2010-03-04 Intel Corp リンク相互接続の電源管理方法、システム、および装置
JP2013532325A (ja) * 2010-06-01 2013-08-15 アップル インコーポレイテッド 適応予測によるクリティカルワードの転送

Also Published As

Publication number Publication date
EP1029283A1 (en) 2000-08-23
WO1999023570A1 (en) 1999-05-14
US6049845A (en) 2000-04-11
EP1029283B1 (en) 2003-03-26
AU1305199A (en) 1999-05-24
DE69812685D1 (de) 2003-04-30
JP3635634B2 (ja) 2005-04-06
KR20010031690A (ko) 2001-04-16
KR100381619B1 (ko) 2003-04-26
BR9814844A (pt) 2000-10-03
ATE235713T1 (de) 2003-04-15
DE69812685T2 (de) 2003-11-06

Similar Documents

Publication Publication Date Title
JP3635634B2 (ja) データを転送するための推論的アービトレーション(Speculative Arbitration)を提供するシステムと方法
US6092156A (en) System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
JP2001522091A (ja) メモリ最適化状態
US5778438A (en) Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US6189078B1 (en) System and method for increasing data transfer throughput for cache purge transactions using multiple data response indicators to maintain processor consistency
JP2501375B2 (ja) マルチプロセッサシステム
US5991819A (en) Dual-ported memory controller which maintains cache coherency using a memory line status table
JP3999821B2 (ja) データ処理システム内でバス仲裁プロトコルを実行する方法および装置
US6088771A (en) Mechanism for reducing latency of memory barrier operations on a multiprocessor system
EP0777184B1 (en) Cache coherency method and system
US5909699A (en) Method and apparatus for supporting read, write, and invalidation operations to memory which maintain cache consistency
US8037253B2 (en) Method and apparatus for global ordering to insure latency independent coherence
US6438660B1 (en) Method and apparatus for collapsing writebacks to a memory for resource efficiency
JPH0786849B2 (ja) 共有メモリ及び私用キャッシュメモリを有するマルチプロセッサコンピュータシステム
JPH02141845A (ja) マルチプロセッサシステムにおいて中央処理ユニットにより主メモリからデータブロックを読み取る方法
JP3550092B2 (ja) キャッシュ装置及び制御方法
US6567896B1 (en) System and method for deleting read-only head entries in multi-processor computer systems supporting cache coherence with mixed protocols
JPH05100952A (ja) データ処理装置
JPH06282528A (ja) データ転送方法及びそのシステム
KR100277446B1 (ko) 데이타 처리 시스템 내의 캐쉬 메모리 데이타를 추론적으로공급하기 위한 방법 및 장치
JPH0962577A (ja) 情報処理システム及び情報処理方法
CaoHuu et al. Universal read/write buffer for multiprocessor cache coherency schemes

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040527

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041203

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041224

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120114

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130114

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130114

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees