[go: up one dir, main page]

JPH04230146A - Dynamic packet route setting circuit network - Google Patents

Dynamic packet route setting circuit network

Info

Publication number
JPH04230146A
JPH04230146A JP3135983A JP13598391A JPH04230146A JP H04230146 A JPH04230146 A JP H04230146A JP 3135983 A JP3135983 A JP 3135983A JP 13598391 A JP13598391 A JP 13598391A JP H04230146 A JPH04230146 A JP H04230146A
Authority
JP
Japan
Prior art keywords
data
packet
processing
ring
cell
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.)
Withdrawn
Application number
JP3135983A
Other languages
Japanese (ja)
Inventor
Steven J Frank
スティーブン・ジェイ・フランク
Iii Henry Burkhardt
ヘンリ・バークハート・ザ・サード
James B Rothnie
ジェイムズ・ビー・ロスニ
David I Epstein
デイビッド・アイ・エプスタイン
Stephen W Morss
スティーブン・ダブリュー・モース
Dana R Kelly
デイナ・アール・ケリー
Paul A Binder
ポール・エイ・ビンダ
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.)
Kendall Square Research Corp
Original Assignee
Kendall Square Research 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
Priority claimed from US07/521,798 external-priority patent/US5282201A/en
Application filed by Kendall Square Research Corp filed Critical Kendall Square Research Corp
Publication of JPH04230146A publication Critical patent/JPH04230146A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

PURPOSE: To efficiently and rapidly set a dynamic route in a digital data communication system. CONSTITUTION: A digital data communication system includes first and second processing groups constituted of plural processing cells, mutually connected by a relating bus. A ring route setting cell (RRC) is provided, and an information packet generated by the processing cell is transferred. The RRC is provided with input for receiving the packet from the bus of a first processing group and first and second output for outputting the packet to the bus of the first and second processing groups. A control element sets the route of the packet received by the input, based on the preceding route setting history of data (or a request to the data) referred in the information packet between the first and second processing groups.

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、ディジタルデータ通信
回路網に関し、特定すると、例えば高速分散多重処理シ
ステムと使用するためのパケット切替え回路網に関する
。 【従来技術】多重命令/多重データ(MIMD)並列処
理コンピュータは、アドレススペース、メモリ組織およ
びメモリ階層に従って分類できる。前者に関しては、シ
ステムは、単一または多重のアドレススペースを利用す
るものとして特徴づけられよう。単一アドレススペース
は、一般に共有メモリと称され、任意のメモリアクセス
の一部として暗示通信を含む。多重の専用アドレススペ
ースは、例えばメセージパッシングによる明示的通信を
含む。 【0002】メモリ組織は、集中化または分散化として
特徴づけられる。集中化メモリに基づくシステムにおい
ては、共通のメモリ要素は中央に位置づけられ、任意の
物理的メモリ位置へのアクセスタイムがすべてのプロセ
ッサに対して同じになるようにされる。他方、分散型メ
モリシステムにおいては、システムメモリはモジュール
に分割され、若干のものが各プロセッサの近傍に位置づ
けられる。 【0003】メモリ階層は、スタチック型、混合型また
はダイナミック型として特徴づけられる。1つの階層が
スタチックとして分類されるが、この型にあっては、シ
ステムデータは、局部的および/または広帯域的メモリ
ユニット間で分割され、各データは、少なくとも一部は
それが記憶されるユニットの場所に基づいて明示的に割
り当てられたアドレスを有する。他方、完全にダイナミ
ック型のシステムにおいては、個々のデータは、データ
にアクセスするための物理的メモリ位置に基づくアドレ
スは割り当てられない。混合型メモリ階層は、スタチッ
クの局部的および/または広帯域的メモリを含が、この
型では、メモリ階層がダイナミック(例えばキャッシュ
メモリ)であり、他の部分がスタチックである。 【0004】従来技術に依ると、単一のアドレススペー
スすなわち共有メモリが集中化態様で組織化された多数
のアーキテクチャが提供されている。かかるシステムの
プロセッシングユニットは、高帯域共有バスまたはスイ
ッチング回路網を介して通信する。この種のアーキテク
チャでの1つの問題は、共有メモリがボトルネックを形
成し、比較的少数のプロセッサしか存在しない例を除い
てシステムの特性を阻害することである。 【0005】この問題を避けるため、フランク等の米国
特許第4,622,631 号は、各々関連するプライ
ベートのメモリすなわちキャッシュを有する複数のプロ
セッサが、主メモリ要素に含まれるデータを共有するマ
ルチプロセッシングシステムを開示している。その共通
メモリ内のデータはブロックに仕切られ、その各々が、
主メモリおよび複数のプロセッサのいずれか1つによっ
て所有できる。データブロックの現在の所有者は、その
ブロックに対する正しいデータを有するといわれる。 【0006】上述の特許に示唆される解決法は、ボトル
ネックなしに支持できるプロセッサの数の増大を許容す
るが、集中化メモリシステムは増減可能でない。 【0007】増減可能性を達成するためにには、分散型
メモリ組織を使用しなければならない。これは、プロセ
ッサおよびメモリモジュールの数に比例してメモリへの
並列高帯域アクセスを理論的に大きくすることができる
からである。従来技術に依ると、この種の組織に対して
2つの代替的プログラミングモデルが提供される。すな
わち、多重アドレススペース形式と単一アドレススペー
スモデルである。両形式とも、コンピュータシステムデ
ザイナおよびプログラマに対してジレンマを与える。 【0008】プログラマの観点から見ると、単一アドレ
スアーキテクチャは、データの移動がメモリ動作におい
て暗示的であるから、簡単なプログラミングモデルであ
る。他方、多重アドレスアーキテクチャにおいては、1
つの多重アドレスアーキテクチャに対して明示的メッセ
ージパッシングが必要とされる。さらに、多重アドレス
アーキテクチャは、正しい並列プログラムを生成するた
めに、明示的データ局所化、明示的メモリ割当ておよび
割当て解除、明示的複写および明示的コヒーレンシを必
要とする。これらの側面は、単一アドレスアーキテクチ
ャで理論的に暗示的に処理される。 【0009】ハードウェア透視図から従来技術において
設計者により見出されるように、単一アドレススペース
すなわち論理的に共有されるメモリへの同時的アクセス
は、極度に高価である。これは、スイッチング回路網の
複雑性、ならびにメモリコヒーレンシー  に対する一
般的な高い性能での解決法の欠如およびその潜在的複雑
性に起因する。したがって、Intel/IPSCのよ
うなたいていの増減可能な分散型メモリシステムは、歴
史的に多重アドレスアーキテクチャで実施した。 【0010】単一アドレスアーキテクチャの性能は、メ
モリメモリ階層に依存する。スタティックメモリ階層は
、プログララマが、多重アドレスアーキテクチャに類似
の態様で最適の性能を得るようにデータの移動を明示的
に管理することを必要とする。スタティックメモリ階層
を使用して単一アドレスアーキテクチャを実施する分散
型メモリ組織の2つの例は、BBN バタフライおよび
IBM RP3 である。この種の実施は、プログラマ
がコヒーレンシを明示的に管理することを必要とする。 【0011】混合型階層は、必然的に増減可能性を制限
する通信ボトルネックを含が、なおプログラマがデータ
の移動を部分的に管理することを必要とする。1つのこ
の種の階層的手法は、Wilson Jr.等の英国特
許第2,178,205 号に開示されているが、この
特許にあっては、マルチプロセッシングシステムは、第
1のバスを介して相互に結合された分散型キャッシュメ
モリ要素を備えるといわれる。第1バスおよびさらに高
レベルのキャッシュまたは主システムメモリのいずれか
に取り付けられる第2のより高レベルのキャッシュメモ
リが、もしあればキャッシュ内の各メモリ位置のコピー
を維持し、システム主メモリの方は、それ以下のキャッ
シュの各メモリ位置のコピーを維持する。Wilson
 Jr.等のプロセッサは、データの変更されたコピー
をそれ自身の専用のキャッシュから関連するより高レベ
ルのキャッシュおよびシステム主メモリに伝送し、同時
に、その新たに変更されたデータのそれ自身のコピーを
無効化するように他のキャッシュに報知する。 【0012】従来技術により提供される解決法に拘らず
、どれも、高性能、完全ダイナミック型で、一貫した共
有メモリプログラミング環境を制限されない増減可能性
とともに達成したものはない。 【0013】本発明の一般的な目的は、この種のシステ
ムを提供するものであり、さらに特定すると共有メモリ
アドレッシングモデルおよび分散型組織を使用しかつコ
ヒーレンシが改善された多重命令/多重データ並列処理
システムを提供することである。 【0014】本発明の他の特定の目的は、共有メモリア
ドレスモデルを利用する分散型システム内において高性
能を達成する完全にダイナミックなメモリ階層を提供す
ることである。 【0015】本発明のさらに他の特定の目的は、改善さ
れたディジタルデータ通信回路網を提供することである
。 【0016】本発明のさらに他の目的は、例えば高速度
分散型マルチプロセッシングシステムで使用するための
パケットスイッチ回路網を提供することである。 【0017】本発明のさらに他の特定の目的は、ディジ
タル通信回路網を介してデータおよびデータ要求をルー
ト設定するのに使用するための改良されたスイッチング
機構を提供することである。 【0018】 【発明の概要】本発明のこれらおよびその他の目的は、
例えば多重処理コンピュータシステムとともに使用する
ための改善されたディジタルデータ通信回路網、パケッ
トスイッチおよび連想ディレクトリを提供することによ
り達成される。 【0019】本発明の1側面に依ると、本発明のシステ
ムは、2群(グループ)のプロセッシングセル、および
パケット内において参照されるデータおよび前記プロセ
ッシンググループの第1のものにより要求されるデータ
または該第1のものに割当てられるデータ、あるいは前
記プロセッシンググループ間においてルート設定される
データの識別に基づいてこれらグループ間においてディ
ジタルデータ情報パケットを転送するルート設定セルと
を備える。 【0020】各プロセッシンググループは、関連するグ
ループバスを介してデータパケットおよび要求パケット
を転送することにより通信する複数のプロセッシングセ
ル、例えば中央プロセッシングユニットおよび関連する
局部キャッシュメモリを備える。個々のセルは、それと
関連して、独特のディスクリプタにより識別可能なデー
タまたはデータコピーを有する。プロセッシングセル内
のキャッシュ制御ユニットは、データ要求パケットなら
びにかかる要求に応答してデータまたはデータコピーを
提供するパケットを発生する。各パケットは、要求また
は供給されるデータに対応するディスクリプタを含む。 【0021】ルーと設定要素は、第1プロセッシンググ
ループのバスに接続された第1および第2の入力および
出力部ならびに第2プロセッシンググループのバスに接
続された第2の入力および出力部とを備えるが、これら
の入力および出力部はそれらのプロセッシンググループ
のセルに対してパケットを送受するものである。第1お
よび第2入力に受信される要求およびレスポンスパケッ
トは、それらのバケットにおけるディスクリプタにより
識別されるデータが第1プロセッシンググループのセル
に割り当てられているかどうかにしたがって出力の一方
または両者にルート設定される。 【0022】ルート設定セルにより受信されるパケット
をどこへルート設定すべきかの決定を容易にするため、
連想メモリベースのディレクトリが、第1プロセッシン
グセルグループのセルに割当てられたデータに対応する
ディスクリプタのリストを記憶する。ディレクトリは、
さらに、それらのセルにより要求され処理のため第2プ
ロセッシンググループにルート設定されるディスクリプ
タのリスト、ならびに第2のプロセッシンググループの
セルにより要求され、処理のため第1プロセッシンググ
ループにルート設定されるディスクリプタのリストを記
憶する。ディレクトリは、これらのディスクリプタとと
もに、データのアクセス状態についての情報を維持する
。これは、例えば、ペンディング状態に加えて、無効、
リードオンリー、非排他的所有権、排他的所有権、およ
びアトミック状態を含む。 【0023】本発明の関係する側面に従うと、上述の第
2プロセッシンググループそれ自体が、複数の他のプロ
セッシンググループを含むが、該グループは、それ自体
、ルート設定セルおよび回路網バスを介して相互接続さ
れており、各々、グループ内バスにより相互接続される
複数のプロセッシングセルを備えている。例示として、
2レベルシステムにおいて、各他のグループは、個々の
グループバスに対して情報パケットを選択的に送受する
ルート設定セルと関連づけられている。以下においてレ
ベル:1バスとして言及されるより高レベルのバスが、
これらの他のルート設定セルを、第1プロセッシンググ
ループと関連するルート設定セルと接続する。 【0024】本発明に依れば、他の関連する側面として
、各々、相互接続プロセッシングセルより成る複数の転
送セグメントを含む複数のパケット転送レベルを有する
階層的ディジタルデータ通信回路網が提供される。セル
は、各々独自のディスクリプタにより識別可能なデータ
またはデータコピーが割当てられている。セルはまた、
それぞれのディスクリプタによりデータを参照する要求
パケットおよび応答パケットを発生し得るキャッシュ制
御ユニットを備える。転送セグメントの数は、各より高
位の転送レベルにおいて減じ、最高レベルにては1つの
セグメントしかない。 【0025】回路網内において、ルート設定セルは、各
レベルのプロセッシングセルとより高レベルのプロセッ
シングセルとの通信を可能にする。転送レベルセグメン
ト間において情報パケットを転送するルート設定セルは
、当該パケットにおいて要求されるデータと下位の転送
セグメントのセルとの関連に基づいて要求パケットを選
択的にルート設定する。詳しくいうと、これらのルート
設定セルは、より高レベルの転送セグメントに、派生セ
グメントと関連しないデータを要求するパケットをルー
ト設定し、他方低位のセグメントに、下位セグメントと
関連するデータを要求するパケットをルート設定する。 【0026】本発明の他の側面に従うと、要求パケット
は、要求を発生したプロセッシングセルを識別する要求
者(リクエスタ)IDフィールドを含んでよい。その要
求に応答を発生するセルが、リクエスタIDを応答パケ
ットにコピーする。ルート設定セルは、リクエスタID
フィールドの値にしたがってリクエスタにかかる応答パ
ケットを帰還ルート設定する。 【0027】加えて、ルート設定は、先行の非関連のパ
ケット、すなわち他のセルにより発生される要求パケッ
トにおいて要求されるデータを含む応答パケットを、1
つの要求中のプロセッシングセルにルート設定できる。 かくして、例えば、2つのプロセッシングセルにより独
立的に要求されるデータのリードオンリーコピーを含む
応答パケットが、それらの一方のみのリクエスタIDが
応答パケットに含まれていることに拘りなく、両者にル
ート設定され得る。 【0028】本発明のこれらおよびその他の目的および
利点は以下の図面を参照して行なった説明から明らかと
なろう。 【0029】 【実施例】 【梗概】本発明に従って構成されたスイッチング回路網
を利用する好ましいディジタルデータ処理システムは、
リング状バスにより0、1または複数のプロセッシング
セルに結合される1または複数のルート設定相互接続部
を各々含むリング階層に配置された複数のプロセッシン
グセルを備える。相互接続部をリンクするルート設定セ
ルは、リング間において情報パケットを選択的に転送す
る伝送路を提供する。ルート設定セル内のディレクトリ
が、関連するセルを介して転送されるデータ(および要
求)を追跡し、それにより後続のパケットの後続のルー
ト設定のためルート設定路を決定する。 【0030】1つの好まし実施例において、プロセッシ
ングセルは、各々物理的データおよび制御信号ストア、
ディレクトリおよび制御要素を有する局部メモリ要素、
すなわちキャッシュと結合された中央処理ユニットを備
える。セル群は、単一方向セル間バスリングに沿って結
合され、セグメントと称されるユニットを形成する。こ
れらのセグメントは、一緒に、「情報転送レベル:0」
と称されるより大きなユニットを形成する。 【0031】異なるレベル:0セグメントのセル間の通
信は、より高位の情報転送レベル、例えば情報転送レベ
ル:1および情報転送レベル:2を介して実施される。 これらのより高位のレベルそれ自体は、単一方向バスリ
ングを介して結合される複数のルート設定セルより各々
成る1または複数のセグメントより構成される。各ルー
ト設定セルは、次の低位の情報転送レベルの関連するセ
グメントと結合される。これらの結合されたより低位の
セグメントは、「下位」と称される。 【0032】各情報転送レベルは、次のより低位のレベ
ルより少ないセグメントを含む、。システムの最高位の
レベルの単一のセグメントは別として、信号は、各情報
転送レベルのセグメント間においてより高位のレベルの
セグメントを介して転送される。 【0033】ルート設定は、各々、下位セグメントのメ
モリ要素に割り当てられたデータに対応するディスクリ
プタのディレクトリを含む。一例として、レベル:0セ
グメントをレベル:1セグメントに接続するルート設定
セルは、そのレベル:0セグメントのセルに割り当てら
れたすべてのデータのディレクトリを含み、他方レベル
:1セグメントをレベル:2セグメントに接続するルー
ト設定は、そのレベル:1セグメントに接続されるレベ
ル:0セグメントのすべてのセルに割り当てられたデー
タのディレクトリを含む。 【0034】ディレクトリは、ディスクリプタとともに
、下位のセグメントに割り当てられたデータのアクセス
状態を記憶する。これらの状態としては、例えば、所有
権状態、リードオンリー状態、および無効状態などがあ
る。所有権状態は、アトミック状態と同様に、局部的プ
ロセッサによってのみ変更され得るデータと関連づけら
れる。他方、所有権状態は、アトミック状態データと異
なり、他のプロセッシングセルにより−−例えば、リー
ドオンリーコピーを発生するために−−アクセスし得る
。 リードオンリー状態は、局部中央プロセッシングユニッ
トにより、変更できないが、読み取ることができるデー
タと関連づけられる。無効状態は、無効データコピーと
関連づけられる。 【0035】この点で、本発明に従って構成される好ま
しいディジタルデータ処理システムは、主メモリ要素、
すなわち多重プロセッシングセルに結合されそれにより
共有されるメモリ要素を利用しないことが認められよう
。どちらかというと、データは、排他的バスおよび共有
バス上において、これらのプロセッサの各々と関連する
局部メモリ要素間に分配される。任意の1つのプロセッ
シングセルに排他的に記憶されるデータに対する変更は
、回路網を介して他のプロセッシングセルに通信される
を要しない。この結果、セルが動的に共有するデータの
みが回路網上において、すなわちリングバスおよびルー
ト設定セルに沿って伝送され、それによりバスの競合お
よびボトルネックを低減する。 【0036】ルート設定セルディレクトリはまた、関連
するルート設定セルによりルート設定されるパケットに
おいて要求されるデータに対応するディスクリプタを記
憶する。上述のように、ディレクトリは、これらのディ
スクリプタとともに、データの要求されたアクセス状態
を指示する継続中の情報データを記憶する。 【0037】上述の点にかんがみて、ルート設定セルデ
ィレクトリの内容−−すなわち、割り当てられたデータ
および継続中の要求リスト−−は、プロセッシンググル
ープ間においてルート設定されたデータおよびデータ要
求のルート設定の従来の履歴を反映する。 【0038】ルート設定セルは、ディスクリプタおよび
状態のディレクトリを使用して、レベルセグメントに沿
って移動しつつある特定の情報パケットが、パケットが
発せられたセグメント内の他のプロセッシングセルに前
方に通されるべきか、代わりに他のセグメントに向かっ
て上向きまたは下向きにルート設定されるべきかを決定
する。 【0039】このルート設定機能をさらに理解するため
に、本発明にしたがって構成された好ましい多重処理シ
ステムにおいては、データアクセス要求が、可能なとき
にそれらを発したプロセッシングセル内で処理されるこ
とが認められよう。詳述すると、各モニタと結合される
コントローラは、セルの内部バスを監視し、要求を局部
キャッシュディレクトリにリストされるディスクリプタ
と比較することによって、局部プロセッサ要求に応答す
る。もしも、キャッシュそれ自体から整合するデータが
見出されると、該データは内部バスに沿って要求中のプ
ロセッサに帰還伝送される。 【0040】データ要求が局部的に解決できない場合、
プロセッシングセルは情報要求パケットとを発生し、そ
してこれは局部キャッシュ制御ユニットを介して局部リ
ングバスに転送される。そのパケットがリングに沿って
移動するとき、リクエスタに隣接するプロセッシングユ
ニットの制御要素がそれ自身のディレクトリをチェック
し、要求されるデータを(もしあれば)応答パケットに
通す。 【0041】未解決の要求が、要求中のプロセッシング
セルが属するセグメントのルート設定要素を通過すると
き、その要素もそのディレクトリをチェックする。もし
も、そのディレクトリが、要求されるデータが適正なア
クセス状態で局部リングに存在することを示すと、ルー
ト設定セルは、要求パケットを局部リングバスに沿って
継続せしめる。もしも存在しないと、ルート設定セルは
、パケットを抽出し、それを関連するレベル:1セグメ
ントに通す。未解決の要求パケットは同様な態様でレベ
ル:1セグメントに沿って移動する、すなわち、関連す
るレベル:1ルート設定セルのディレクトリと比較され
る。これらのディレクトリの1つが、下位のレベル:0
セグメントにある適正なアクセス状態での要求されるデ
ータをリストしていれば、要求はそのセグメントに通さ
れる。他方。要求が階層のより高レベル(もしあれば)
に通してもよいし、未解決のリクエスタに戻してもよい
。 【0042】要求されるデータを含むパケットとは、異
なる機構により要求中のセルに戻るようにルート設定さ
れる。第1の機構は、要求中のセルのアドレスまたはI
Dに依存する。ここで、各要求中のセルは、その要求パ
ケット内にそのセルを独自的に識別するIDを含んでい
る。そのパケットが応答セルに到達すると、そのセルは
、リクエスタIDをデータおよび対応するディスクリプ
タとともに応答パケット中にコピーする。応答パケット
がセグメントリングに沿って移動するとき、ルート設定
セルは、リクエスタIDを試験し、要求中のセルが下位
または親セグメントにあるかどうかを決定し、パケット
を相応にルート設定する。 【0043】プロセッシングセルにより要求されるがそ
れらの要求に応答して詳細には発生されないデータを含
む応答パケットと関連して、第2の機構が使用される。 一例として、この機構は、2またはそれ以上の要求中の
セルが、遠隔のセル内に保持される特定のデータに対し
てリードオンリーコピー要求を発生する場合に適用され
る。 【0044】本発明の好ましい実施例に従い、これらの
要求の全部ではないが少なくとも若干のものがそのデー
タのコピーを有するプロセッシングセルに達することを
回路網が阻止するものと仮定すると、応答セルは、それ
に達した要求パケットのリクエスタIDのみを担持する
応答パケットを発生する。 【0045】応答パケットが回路網に沿ってルート設定
されるとき、ルート設定セルは、パケットのディスクリ
プタおよびアクセス情報状態をそれらのディレクトリ内
の継続中の要求エントリーと比較する。その比較により
、ルート設定セルが、パケット内の形式のデータ要求を
すでに受信したことことが明らかになると、そのパケッ
ト(またはそのコピー)が要求中のセルの1つにルート
設定され得る。このようにして、例えばデータのリード
オンリーコピーを含む単一のパケットが、複数の未決の
リードオンリー要求に対する応答として有効に作用し得
る。 【0046】 【システム構造】第1図は、本発明に従って構成された
通信回路網を利用する好ましい多重処理システムを描く
ものである。例示のシステム10は、3つの情報転送レ
ベル、すなわち  レベル:0、レベル:1およびレベ
ル:2を含む。各情報転送レベルは、バス要素および複
数のインターフェース要素をその特徴として有する1ま
たは複数のセグメントを備える。詳述すると、例示のシ
ステム10のレベル:0は、6の12A、  12B、
12C、12D、12Fおよび12Fでそれぞれ指示さ
れる6つのセグメントを含む。同様に、レベル:1はセ
グメント14Aおよび14Bを備え、他方レベル:2は
セグメント16を備える。 【0047】レベル:0の各セグメント、すなわち12
A、12B、−−−−12Fは、複数のプロセッシング
セルを備える。例えば、セグメント12Aはセル18A
、18Bおよび18Cを備え、セグメント12Bはセル
18D、18Eおよび18Fを備える。これらの各セル
は、セル内プロセッサバス(図示せず)により相互に接
続された中央プロセッシングユニットおよびメモリ要素
を備える。本発明の好ましい実施例においては、各セル
内に含まれるメモリ要素は、その関連する中央プロセッ
シングユニットにより使用される全ての制御およびデー
タ信号を記憶する。 【0048】さらに例示されるように、各レベル:0セ
グメントは、セグメントのセル間において情報パケット
とを転送するための通信路を提供するバス要素を有する
ものとして特徴付けられよう。かくして、例示のセグメ
ント12Aはバス20Aをその特徴として有し、セグメ
ント12Bは20Bを、セグメント12Cは20Cを、
以下同様、をその特徴として有する。以下に詳細に記述
されるように、ディジタル情報パケットは、これらのセ
ルの各々と関連するメモリ要素を経て例示のセグメント
12Aのセル18A、18Bおよび18C間を通される
。これらのメモリ要素およびバス20A間の特定のイン
ターフェースは、図示のようにセルインターフェースユ
ニット22により提供される。類似の直接通信路が、例
示されるように、セグメント12B、12Cおよび12
Dにおいてそれぞれのセル18D、18E、−−− 1
8R間においてセルインターフェース22D、22E、
−−− 22Rにより設定される。 【0049】例に示され上に言及されるように、残りの
情報転送レベル、すなわちレベル:1およびレベル:2
は、各々1または複数の対応するレベル:セグメントを
含む。各逐次のセグメント内のセグメントの数は、前の
もののセグメントの数より小さい。すなわち、レベル:
1の2つのセグメント14Aおよび14Bは、レベル:
0の6つのセグメント12A、12B−−− 12Fよ
り少なく、他方1つのみのセグメント16を有するレベ
ル:2は、全ての中で最小数のセグメントを有する。レ
ベル:1およびレベル:2、すなわちより高位のレベル
の各セグメントは、それぞれのセグメント内においてパ
ケットとを転送するバス要素を含む。例示において、レ
ベル:1セグメント14Aおよび14Bは、それぞれバ
ス24Aおよび24Bを含み、他方レベル::2セグメ
ント16はバス要素26を含む。 【0050】ルート設定それ自体は、逐次のレベルの関
連するセグメント間において情報を転送する機構を提供
する。例えば、ルート設定セル28A、28Bおよび2
8Cは、レベル:1セグメント14Aおよびレベル:0
セグメント12A、12Bおよび12Cの各々間におい
て情報を転送するための手段を提供する。同様に、ルー
ト設定28D、28Bおよび28Fは、レベル:1セグ
メント14Bおよびレベル:0セグメント12D、12
E、および12Fの各々間において情報を伝送するため
の手段を提供する。さらに、ルート設定セル30Aおよ
び30Bは、図示のように、レベル:2セグメントおよ
びレベル:1セグメント14Aおよび14B間における
情報転送路を提供する。追って詳細に論述されるように
、ルート設定セルは、各々2つのプロセッシング部を含
んでいる。 【0051】ルート設定セルは、バス要素にある相互接
続部を介してそれらのセグメントをインターフェース接
続する。すなわち、ルート設定セル28Aは、それぞれ
リング相互接続部32Aおよび34Aにてバス要素20
Aおよび24Aをインターフェース接続し、要素28B
は、それぞれリング相互接続部32Bおよび34Bにて
バス要素20Bおよび(24)Bをインターフェース接
続し、以下同様となる。同様に、ルート設定セル30A
および30Bは、図示のように、それぞれリング相互接
続部36A、36B,38Aおよび38Bにてそれぞれ
のバス、すなわち24A,24Bおよび26をインター
フェース接続する。 【0052】第1図はさらに、本発明に従って構成され
たディジタルデータ処理システムにおける遠隔のレベル
およびセルを相互接続する好ましい機構を例示している
。バスセグメント20Fから物理的に遠隔の点にあるセ
ル18Rは、点線により指示される光ファイバ伝送線を
介してそのセグメントのバスおよびその関連するセル(
18Pおよび18Q)と結合される。遠隔インターフェ
ースユニット19は、セルインターフェース22Rおよ
び遠隔セル18R間の物理的インターフェースを提供す
る。遠隔セル18Rは、他の例示のセルと同様に構成さ
れ、同様に動作し、光ファイバリンクを結合するための
遠隔インターフェースユニットを備える。 【0053】同様に、レベルセグメント12Fおよび1
4Bは、それらの親セグメントから光ファイバリンクを
介して相互接続される。点線により指示されるように、
ルート設定セル28Fおよび30Bのそれぞれの部分は
、物理的に分離されているが、他の光ファイバリンクに
より結合されている。例えば、ルート設定ユニット28
Fに関してみると、第1の部分は、標準バス相互接続部
を介してセグメント14Bのルート設定インターフェー
ス34Fと直接的にリンクされており、他方第2の部分
がセグメント12Fのルート設定インターフェース32
Fと直接リンクされている。上述のように、ルート設定
ユニット部分と光ファイバ媒体間の物理的インターフェ
ースは、遠隔インターフェースユニット(図示せず)に
より提供されている。 【0054】第2A図は上述の形式の多重処理システム
においてデータのコヒーレンシを維持するための好まし
形式を例示するものである。例示されるシステムは、関
連するメモリ要素42A、42Bおよび42Cにそれぞ
れ接続された複数の中央プロセッシング(処理)ユニッ
ト40A、40Bおよび40Cを備える。各対のプロセ
ッシングユニットおよびメモリユニット間の通信は、図
示のようにバス44A、44Bおよび44Cに沿って実
施される。上述のレベルセグメントおよびルート設定を
表わす回路網46が、例示されるプロセッシングセル4
2A〜42C間において情報パケット(バス48A、4
8Bおよび48Cを経て回路網46に通される)を転送
する 【0055】例示の実施例において、中央プロセッシン
グユニット40A、40Bおよび40Cは、各々、それ
ぞれラベル50A、50Bおよび50Cを付したアクセ
ス要求要素を備える。これらのアクセス要求要素は、メ
モリ要素42A、42Bおよび42Cに記憶されるデー
タへのアクセス要求を発生する。要素50A、50Bお
よび50Cにより発生されるアクセス要求信号の中には
、メモリ要素に記憶されるデータへの排他的変更アクセ
ス要求を表わす所有権要求信号がある。好ましい実施例
において、アクセス要求要素50A、50Bおよび50
Cは、中央プロセッシングユニット40A、40Bおお
お40C上で実行される命令サブセットを含む。この命
令サブセットについては追って説明する。 【0056】メモリ要素42A、42Bおよび42Cは
、それぞれ制御要素52A、52Bおよび52Cを具備
する。これらの制御要素は、各々、図示のように、対応
するディレクトリ要素56A、56Bおよび56Cを介
してデータ記憶領域54A、54Bおよび54Cに接続
される。ストア54A、54Bおよび54Cは、それぞ
れの中央プロセッシングユニットにより必要とされるデ
ータおよび命令信号に対して物理的記憶スペ−スを提供
するように、例示されるシステムにより利用される。 かくして、ストア54Aは、CPU40Aにより使用さ
れるデータおよび制御情報を維持し、ストア54Aおよ
び54Cは、それぞれ中央プロセッシングユニット40
Bおよび40Cにより使用される情報を維持する。各ス
トアに維持されるデータは、システムアドレスに対応す
る独自のデスクリプタにより識別される。これらのディ
スクリプタは、対応するディレクトリのアドレス記憶位
置に記憶される。ディスクリプタは独自的と考えられる
が、若干のデスクリプタの複数のコピーは、メモリ要素
42A、42Bおおお42C間に存在し得る。この場合
、これらの複数のコピーそれ自体は、同じデータ要素の
コピーを識別する。 【0057】中央プロセッシングユニット40A、40
Bおよび40Cにより発生されるアクセス要求信号は、
他の制御情報とともに、要求されるデータのディスクリ
プタまたはSVA (システム仮想アドレス)に整合す
るディスクリプタまたはSVA 要求部分を含む。制御
要素52A、52Bおよび52Cは、それぞれの中央プ
ロセッシングユニット40A、40Bおよび40Cによ
り発生されるアクセス要求に応答して、要求されるデー
タが対応する記憶要素54A、54Bおよび54Cに記
憶されているか否かを決定する。もしもそうならば、情
報のそのアイテムは、要求しているプロセッサにより使
用のため転送される。もしそうでなければ、制御ユニッ
ト52A,52Bおよび52Cは、要求を含むパケット
を線48A、48Bおよび48Cに沿って回路網46に
伝送する。 【0058】制御ユニット52A〜52Cはまた、回路
網46を監視し、それらが遠隔アクセス要求(すなわち
他のプロセッシングセルから受信される要求)を満足し
得るかどうかを決定する。上述のように、帰路網46上
に受信されるアクセス要求のディスクリプタおよび状態
をそれらのディレクトリに記憶されているディスクリプ
タと比較する。要求されるデータが要求される状態で見
出されると、それは、要求中のユニットにルート設定の
ため応答パケットで回路網46に帰還転送される。要求
されるデータがシステムのプロセッシングセルのいずれ
にも存在しないと、オペレイティングシステムはシステ
ムの周辺デバイスを捜索できる。 【0059】データコヒーレンシは、データ要求および
転送に応答してのプロセッシングセルの協働動作により
維持される。さらに詳しく言うと、第1のプロセッシン
グセルにより所有権−アクセス要求パケットの発生と同
時に、関連するメモリは、そのストアに物理的スペース
を割り当て、要求されるデータを保持する。同様に、先
にデータが記憶されたプロセッシングセルからの要求さ
れたデータの転送と同時に、関連するメモリは、要求さ
れたデータの記憶のため先に割り当てられた物理的記憶
スペースの割当てを解除する。 【0060】これらの協働的動作は、第2A図および第
2B図に例示されている。これらの図の第1のものすな
わち第2A図には、DATUM(0),DATUM(1
) およびDATUM(2)が、CPU40Aと対のメ
モリ要素42Aのストアに保持されている。ディレクト
リ56Aに保持されるディスクリプタfoo,bar 
およびbas は、ストア54Aに記憶されるそれらの
データに対応している。このディスクリプタは、各々、
ストア42Aの関連する情報信号の位置を支持するポイ
ンタを含んでいる。 【0061】CPU40Bと対のメモリ要素42Bは、
DATUM(3)およびDATUM(2)を記憶する。 これらのデータ要素の各々には、ディレクトリ56Bに
保持されるディスクリプタcar およびbas が対
応している。DATUM(2)およびそのディスクリプ
タbas は、ストア42Aからコピーされ、したがっ
て同じラベルを保持している。 【0062】第2A図に例示されるシステムは、CPU
40Cと対のメモリ要素54Cにデータを記憶していな
い。 【0063】第2B図は、当該データにすでにアクセス
していないプロセッシングセルによりデータがそれに対
する所有権と関連してどのように移動するかを例示する
ものである。詳述すると、例示は、CPU40Cおよび
メモリ42Cより成るプロセッシングセルによるDAT
UM(0)に対する未解決の所有権要求の発行に続くそ
のDATUM(0)の移動を描いている。はじめに、制
御ユニット52Cは、要求と同時に、メモリ要素42C
のストア54Cに物理的記憶スペースを割り当てる。メ
モリ42Aにより発生される応答パケットは、要求され
るデータ、すなわちDATUM(0)を、ストア54A
(該データは先にここに記憶されている)からリクエス
タストア54Cに転送する。同時に、制御ユニット52
Aは、要求されるデータを先に保持したストア54Aの
スペースの割当てを解除する。同時に、制御ユニット5
2Aは、ディレクトリ56A内のディスクリプタfoo
 (ストア54A内のDATUM(0)を識別するため
に先に使用されていた)の無効化を行ない、他方制御ユ
ニット52Cは、その同じディスクリプタをディレクト
リ56Cに再割当てする。しかして、そのディスクリプ
タは、その後ストア54C内における信号を識別するの
に使用される。 【0064】メモリ要素42A〜42Cは、ディスクリ
プタに加えて、データおよび制御信号に対するアクセス
状態情報をそれぞれのストアに割り当てる。無効、リー
ドオンリー、所有権およびアトミック状態を含むこれら
のアクセス状態は、特定のプロセッサによりデータにア
クセスしえる態様を支配する。関連するCPUがそのデ
ータに関して変更アクセスを維持するメモリ要素に記憶
されるデータには、所有権状態が割り当てられる。他方
、その関連するCPUがそのデータに関して優先アクセ
スを維持しないメモリ要素に記憶されるデータには、リ
ードオンリー状態が割り当てられる。さらに、「不良」
データと関連するデータには無効状態が割り当てられる
。 【0065】本発明にしたがって構成されるディジタル
データ処理システム内のメモリのコヒーレンシを維持す
るための好ましい構造については、上述の関連特許例え
ばUSSN136,930 号およびUSSN3702
87号の参照により理解されよう。   【0066】第3図は、第1図の例示のレベル:0セグ
メント12に対する好ましい形態を描いたものである。 セグメント12Aは、バスセグメント20Aに沿ってセ
ル相互接続部22A、22Bおよび22Cにより相互接
続されるプロセッシングセル18、18Bおよび18C
を備える。ルート設定ユニット28Aは、レベル:0セ
グメント12Aと第1図のレベル:1のセグメント14
A(もし親ならば)間の相互接続部を提供するものであ
る。このルート設定ユニット28Aは、図示のように、
セル相互接続部32Aを経てバス20Aに結合される。 例示されるバスセグメント20Aの構造ならびにそれと
セル相互接続部22A、22B、22Cおよび32Aと
の関係は、上述の関連特許例えば1990年4月13日
付米国特許出願第509480号の参照により一層よく
理解されよう。 【0067】第4図は実施例の例示のプロセッシングユ
ニット18Aに対する好まし構造を描くものである。例
示のプロセッシングセル18Aは、プロセッサバス66
および命令バス68を介して外部デバイスインターフェ
ース60、データサブキャッシュ62および命令サブキ
ャッシュ64と結合された中央プロセッシングユニット
58を備えている。この図に例示される回路のより完全
な理解は、上述の関連特許、例えば1987年12月2
2日付米国特許出願第136,930 号および199
0年4月13日付米国特許出願第509,480 号、
1989年6月22日付米国特許出願第370,325
 号および1990年3月26日付米国特許出願第49
9,182 号の参照により達成できよう。 【0068】 【メモリシステム】上に論述されるように、本発明にし
たがって構成された多重処理システム10は、システム
仮想アドレス(SVA) に基づき各データと関連する
独自のディスクリプタを参照することによって、プロセ
ッシングセル18A,18B,−−− ,18Rに割当
てられた個々のデータ要素へのアクセスを可能にする。 例示のシステム10において、この能力の実施は、プロ
セッシングセルメモリユニットと、これらメモリユニッ
ト間における回路網46を介しての要求および応答パケ
ットの転送動作により提供される。以下の論述において
、これは集合的にメモリシステムと称される。 【0069】メモリシステムの構造および動作の完全な
理解は、以下に列挙されるそのアーキテクチャの確認を
通じて達成されよう。 (1) データ記憶−−各キャッシュのメモリはページ
に分割され、その各ページはSVA スペースのあるペ
ージに動的に割当てることができる。メモリシステムは
、各キャッシュ内のデータについての用途および状態情
報を維持し、二次メモリへおよび二次メモリからの効率
的な移動を容易にする。 (2) データ局所性−−メモリシステムは、あるプロ
セッサにより最近参照されたデータをそのプロセッサの
同じセルのサブキャッシュまたはキャッシュに保持する
。 (3) データ移動−−メモリシステムは、それを参照
するプロセッサのキャッシュにデータを移動する。 (4) データ共有−−メモリシステムは、SVA デ
ータのコピーを1以上のキャッシュに保持し、並列プロ
グラムによる効率的なデータの共有を容易にする。 (5) データコヒーレンシ−−メモリシステムは、強
く命令されたコヒレントなメモリモデルおよびトランザ
クションモデルを実施する。技術に精通したものであれ
ば、すべてのプロセッサの動作がある逐次の順序で実行
されたかのように任意の実行の結果が同じであればシス
テムが「逐次的に一貫性」であり、各個々のプロセッサ
の動作がそのプログラムにより特定される順序でこの順
に現われることが認められよう。 【0070】さらに、もし任意の1つのプロセッサによ
るデータへのアクセスがプログラムの順序で開始され、
発行され、遂行され、そしてもしプロセッサIによるス
トアがプロセッサKにより観察される時点において、ス
トアの発行前にIに関して遂行されるデータへのすべて
のアクセスがKに関して遂行されねばならないならば、
メモリアクセスは「強く命令された」と考えられる。こ
れに比し、もしも同期している変数へのアクセスが強く
命令され、もしもすべての選考のデータアクセスが遂行
されてしまう前に、プロセッサにおいて同期している変
数へのアクセスが発行されず、もしも同期している変数
への先行のアクセスが遂行されてしまう前にプロセッサ
によりデータへのアクセスが発行されないならば、メモ
リアクセスは弱く整理されている。 【0071】事象の強い命令をもったコヒレントなシス
テムは、逐次的に一貫性である。 【0072】例示のシステム内におけるSVA スペー
スの組織化は、普通の仮想メモリ方式からの大きな離脱
である。従来のアーキテクチャは、システムアドレスを
物理的メモリアドレサに対応づけ(マッピングし)、欠
如ページの例外を発生するソフトウェア制御ページレベ
ル変換を含む。これらのシステムにおいては、ソフトウ
ェアが、使用下にある全セグメント間でページテーブル
を多重化することを司る。例示のシステムのアーキテク
チャにおいては、ソフトウェア制御ページレベル変換機
構は存在しない。メモリシステムは、従来のアーキテク
チャにおいてソフトウェアにより通常遂行されるアドレ
ススペース管理の相当な部分を処理できる。これらの管
理の責務として下記のものが含まれる。 【0073】(1) ページ用途および状態情報を維持
すること。 (2) 古いページを再使用すること。       
                          (3) 複数プロセッサ間において共有データアクセス
を同期させコヒーレンシを保証すること。 (4) システム内においてデータおよびデータのコピ
ーをサブページベースで場所から場所へ移動し、それを
最も頻繁に使用していいるプロセッサ近くにデータを保
持すること。 (5) データのSVA をデータともに移動すること
により、全SVA スペースのまばらな表示を直接的に
実施すること。                  
(6) 参照セル間でページを移動すること(ページに
対する固定の原点はない) 【0074】例示のシステムのプロセッサ、例えばプロ
セッサ40A、40B、40Cは2つの主論理インター
フェースを介してメモリシステムと通信する。第1のイ
ンターフェースはデータアクセスインターフェースであ
り、そしてこれはロードおよびストア命令により実施さ
れる。データアクセスモードにおいては、プロセッサは
、メモリシステムにSVA およびアクセスモード情報
を与え、メモリシステムは、データを含サブページを見
つけそれを戻すことによって、そのアクセスを満足させ
ようとする。 【0075】第2の論理インターフェースモードは制御
アクセスであり、そしてこれはメモリシステム制御命令
により実施される。制御アクセスにおいて、プロセッサ
は、メモリシステムに命令して、ある側面的作用を遂行
し、実データ以外のある情報をあるページから戻す。シ
ステムソフトウェアは、主インターフェースに加えて、
形態化、保守、障害復旧および診断のためSPA スペ
ース内の制御位置を使用する。 【0076】 【階層】メモリシステムは、階層の記憶(メモリ)を実
施する。例示の好ましい実施例において、各プロセッシ
ングセルは、0.5 メガバイトのデータを記憶するサ
ブキャッシュを有する中央プロセッシングユニット(す
なわちCEU)を含む。これらのプロセッシングセルは
また、32メガバイトのデータを記憶するキャッシュを
含む。さらに、例えば15のプロセッシングセルを有す
る好ましいレベル:0は、総計480メガバイトを記憶
する。他方、例えば32のレベル:0を有する好ましい
レベル:1は、総計15360 メガバイトを有する。 【キャッシュ構造】メモリシステムは、ページおよびサ
ブページの単位でデータを記憶する。各個々のキャッシ
ュ2048ページに細分割された32バイトのSVA 
スペースを記述する。ページは、27(128) バイ
トのサブページ分割された214(16348)バイト
を含む。メモリシステムは、ページ基準でキャッシュ内
のメモリを割り当て、SVAスペースの各ページは、シ
ステムに完全に表わされるか全然表わされないかのいず
れかである。メモリシステムは、サブキャッシュの単位
でキャッシュ間でデータを共有する。 【0077】SVA スペースのページがシステム内に
存在する場合は、次がことが言える。(1)1または複
数のキャッシュは、ページにメモリの1ページを割り当
てる。ページの各サブページは、割り当てられたスペー
スをもつキャッシュの1または複数に記憶されるが、(
2)1ページに対して割り当てられたスペースをもつ各
キャッシュは、ページのサブページのすべてについての
コピーを含んでもよいし含まなくてもよい。 【0078】キャッシュページおよびSVA ページ間
の関連は、そのキャッシュディレクトリ内の各キャッシ
ュに記録される。各キャッシュディレクトリは、デスク
リプタにより構成される。キャッシュ内のメモリの各ペ
ージに対して1つのデスクリプタが存在する。特定の時
点において、各デスクリプタは有効または無効といわれ
る。 デスクリプタが有効であれば、対応するキャッシュメモ
リページがSVA スペースの1ページと関連せしめら
れ、デスクリプタは関連するSVA ページアドレスお
よび状態情報を記憶する。デスクリプタが無効であれば
、対応するキャッシュメモリページは、論理的に使用状
態にない。デスクリプタと関連する明示的有効フラグは
なく、係留および保持フィールドが両方ともクリヤであ
ればデスクリプタは無効と考えることができ、そしてS
VA ページに対して有効サブページは存在しない。 【0079】各キャッシュディレクトリは、内容アドレ
ス可能メモリとして働く。これによりキャッシュは、そ
のディスクリプタのすべてを通じて対話型捜索をなすこ
となくSVA スペースの特定のページに対してディス
クリプタを見つけることが可能となる。各キャッシュデ
ィレクトリは、128 セットをもつ16ウエイセット
−連想メモリとして実施される。SVA スペースの全
ページは、各々キャッシュディレクトリセットと関連す
る128 の等価クラスに分割される。1ページに対し
て1つのディスクリプタのみが、ページの等価クラスに
対応するキャッシュディレクトリのセットに記憶される
。等価クラスはSVA[20:14]により選択される
。所与の時点に、キャッシュは、SVA[20:14]
に対して同じ値をもつ16より多くないページを記述で
きる。これは、各セットに16要素が存在するからであ
る。 【0080】 【サブページおよびデータ共有】メモリシステム内にペ
ージが存在するとき、そのサブページの各々は、1また
は複数のキャッシュに存在する。サブページがキャッシ
ュ内に存在する場合、包含するSVA ページに対する
ディスクリプタ(そのキャッシュにおける)は、そのサ
ブページの存在を数種の状態で記録する。キャッシュに
おけるサブページの状態は、2つのことを決定する。す
なわち (1)そのキャッシュの局部プロセッサは、サブペ  
ージに存するデータに関しどんな動作を遂行し得るか。 (2)必要ならば、そのキャッシュは、他のキャッシュ
からレベルを介して受信されるそのサブページに対する
要求に対してどんな応答をなすか。 【0081】キャッシュ内のサブキャッシュの状態は、
プログラムが特定の状態を必要とする動作を要求すると
き時間とともに変化する。1組の転換ルールが、プロセ
ッサ要求およびキャッシュ間レベル通信から生ずるサブ
ページ状態の変化を特定する。 【0082】プロセッサが命令またはデータの参照を完
成するためには、数種の条件が同時に満足されねばなら
ない。すなわち、 (1)命令の参照の場合、データを含むサブブロックは
、命令サブキャッシュに存在しなければならない。たい
ていのデータ動作の場合、データを含むサブブロックは
、データサブキャッシュ内に適当な状態で存在しなけれ
ばならない。 (2)データを含むサブページは、局部キャッシュに存
在しなければならない。 (3)局部キャッシュは、サブページを適当な状態で保
持しなければならない。 【0083】もしもデータがサブキャッシュに必要とさ
れる状態で存在しないが、正しい状態で局部キャッシュ
に存在すると、CPU はキャッシュからデータを得る
。もしも局部キャッシュがデータを正しい状態で有さな
いと、キャッシュはレベルを介して通信し、サブページ
のコピーを取得するか、そのサブページに対して必要な
状態を取得するか、あるいはその両方を行う。もしもキ
ャッシュが要求を満足しないと、キャッシュは、プロセ
ッサに適当な例外を報知するエラー信号を戻す。 【0084】命令セットは、数種の異なる形式のロード
および記憶命令を含が、この命令は、プログラムに、現
在の制御スレッドの予想される将来のデータ参照パター
ンに適当なサブページ状態、ならびに並列の応用におけ
る異なる制御スレッド間のプロトコルを要求せしめる。 このセクションは、先ず、状態およびそれらの転換をプ
ロセッサ命令およびそれらのキャッシュへの影響に関し
て記述する。 【0085】 【サブページ状態】サブページ状態およびそれらの転換
ルールは、プログラムに対して2つの一般的な機構を提
供する。すなわち、 (1)機構は、システムのプロセッサによる普通のロー
ドおよびストアアクセスに対して強く命令された逐次的
に一貫的なメモリアクセスモデルを透過的に実施する。 (2)機構は、並列計算を同期するためにプログラムに
より使用される1組のトランザクション  プロミティ
ブを提供する。これらのプリミティブは、種々の従来形
式および非従来形式の同期機構に適用され得る。 【0086】データ共有の基本的モデルは、無効、リー
ドオンリーおよび所有者の3つのクラスのサブページ状
態によって定義される。これらの3つのクラスは、それ
らが許容するアクセスに従う強さで命令される。無効状
態は、アクセスを許容しない。リードオンリー状態は、
ロードおよび命令フェッチアクセスを許容する。数種の
所有者状態が存在するが、これらはすべてロードアクセ
スを許容し、キャッシュをして相互接続部からのデータ
要求に応答せしめ、またあるものはストアアクセスを許
容する。1つのキャッシュのみが、任意の所与の時点に
おいて特定のサブページを所有者状態で保持し得る。サ
ブページを所有者状態で保持するキャッシュは、サブペ
ージの所有者と称される。各サブページの所有権は、プ
ロセッサが、所有権を要求するストア命令および特別の
ロード命令により所有権を要求するとき、キャッシュか
らキャッシュに移動する。 【0087】以下のセクションは、状態クラス、および
それらが強く命令される逐次的に一貫的なメモリアクセ
スモデルを実施するためにどのように相互作用するかに
ついて記述する。 【0088】 【無効状態】サブページがキャッシュ内に存在しないと
、それはそのキャッシュに関して無効状態にあるといわ
れる。プロセッサが、その局部キャッシュにおいて無効
状態にあるサブページへのロードまたはストアを要求す
ると、そのキャッシュは、データアクセスを満足するた
めにそのサブページのコピーをある他の状態で要求しな
ければならない。2つの無効状態すなわち無効ディスク
リプタと無効が存在する。 【0089】特定のキャッシュが特定のページに対して
デスクリプタをもたなければ、そのページの全サブペー
ジは、そのキャッシュにおいて無効デスクリプタ状態に
あるといわれる。かくして、無効デスクリプタ状態にあ
るサブページは、そのキャッシュに明示的に表わされな
い。 【0090】CEUが無効ディスクリプタにあるサブペ
ージを参照するとき、局部キャッシュはディスクリプタ
の1つ(正しいセットにある)をSVA に割り当てる
。デスクリプタ割当てが完成した後、そのページの全サ
ブページは無効状態を有する。 【0091】局部キャッシュが特定のページに対してデ
ィスクリプタを有するが、特定のサブページがそのキャ
ッシュに存在しないと、そのサブページは無効状態にあ
る。局部キャッシュは、他のキャッシュと通信すること
によってサブページデータを得ようとする。 【0092】 【リードオンリー状態】1つのみのリードオンリー状態
、すなわちリードオンリーが存在する。サブページの所
有者がサブページを非排他的状態に保持することを条件
として、任意数のキャッシュが特定のサブページをリー
ドオンリー状態に保持することがあり得る。サブページ
の所有者が、任意の他の状態(すなわち排他的所有権状
態、すなわち排他的、アトミックまたはトランジェント
アトミックの1つ)を有すると、リードオンリーコピー
はどのセルにも存在し得ない。CEUは、リードオンリ
ー状態にあるサブページを変更できない。 【0093】 【所有者状態】2つの基本的所有者状態形式、すなわち
非排他的および排他的所有権が存在する。特定のキャッ
シュが特定のサブページを非排他的状態に保持するとき
、ある他のキャッシュはそのサブページをリードオンリ
ー状態で保持していることができる。プログラム上は、
非排他的状態は、リードオンリー状態と同じである。C
EUは、非排他的状態にあるサブページを変更できない
。非排他的状態は、基本的にはメモリシステムにより使
用されるブックキーピング状態であり、そしてそれはサ
ブページの所有権を定める。 【0094】排他的所有権状態は、排他的、アトミック
およびトランジェントアトミックである。特定のキャッ
シュが特定のサブページを排他的所有権状態で保持する
と、他のキャッシュは、サブページのリードオンリーま
たは非排他的コピーを保持し得ない。局部キャッシュが
サブページを排他的所有権状態で保持すると、STTが
セグメントへの書込みアクセスを許容しかつディスクリ
プタ・書込みなしフラグがクリヤ状態にあることを条件
としてCEUはサブページデータを変更できる。 【0095】 【アトミック状態】アトミック状態は、排他的状態より
も強い所有権形式である。サブページのみが、プログラ
ムによる明示的要求の結果としてアトミック状態に出入
りできる。 【0096】基本的には、アトミック状態は、SVA 
スペースの任意のサブページへのシングル−スレッドア
クセスに使用できる。プロセッサがサブページがアトミ
ック状態に入ることを要求すべくgsp.nwt ( 
サブページ取得、待ちなし)を実行すると、命令は、通
常、サブページがすでにアトミック状態にない場合のみ
完了する。かくして、サブページ上のアトミック状態は
、単一のロックとして使用できる。ロックは、gsp.
nwt 命令が、通常、最初にサブページを排他的状態
で得て、状態を排他的からアトミックに変更することに
よって、完了するときに行われる。ロックは、rsp(
サブページ解放) 命令を実行することによってロック
を解除される。rsp 命令は、サブページがアトミッ
クまたはトランジェントアトミック状態であるキャッシ
ュに存在することを必要とする。局部キャッシュは、サ
ブページを取得し、ついでサブページをアトミックまた
はトランジェントアトミック状態から排他的状態に変え
る。(もしもサブページがトランジェントアトミック状
態を有するならば、動作は一層複雑となるが、結果はプ
ログラム上同じである。)【0097】アトミック状態
はサブページとのみ関連していることに留意することが
重要である。特定の動作中システムプロセス(代表的に
は使用者プログラム)または特定のセルとの関連はない
。プロセスがgsp 命令を実行して、アトミック状態
にあるサブページを取得し、続いてシステムソフトウェ
アにより切り替えられて、他のセル上での実行を継続す
るようにすることが重要である。そのプロセスが第2の
セル上における実行を継続し、究極的にサブページを解
放すべくrsp 命令を実行する。これらの2つの命令
間においては、全メモリシステムにはそのサブページの
単一のコピーしかなく、そしてそれはアトミックまたは
トランジェントアトミック状態にあるであろう。種々の
プロセッサがサブページを参照する命令を実行すると、
その単一の有効コピーは、セルからセルへ移動する。特
定のプロセスがアトミック状態を取得し、他のプロセス
がアトミックを解放することも可能である。 【0098】アトミック状態は、単にサブページと関連
する追加のフラグであり、サブページのデータ状態に加
えてアトミック状態を使用するプロトコルを実施するこ
とができる。データのみを使用して実施されるプロトコ
ルがエラーを有することがあるのと同様に、アトミック
状態プロトコルが欠陥である可能性がある。ハードウェ
アは、STTおよびディスクリプタ・アトミックなしに
より課されるアクセス制御以上にアトミック状態の使用
に何らチェックを課さない。 【0099】 【トランジェントアトミック状態】gsp.nwt 命
令は、つねにその限定された実行時間内に完了するが、
(メモリシステム内のサブページの現在の状態に依存し
て)持続する場合もあるし持続しない場合もある。命令
の第2の形式は、gsp.wt(サブページ取得、待ち
あり)であるが、これは、サブページが排他的状態で得
られアトミック状態に変わるまで完了しない。gsp.
wt命令は、gsp 命令が成功したかしなかったかを
決定する負担を、プログラマから解放する。プロセッサ
がgsp.wtを実行するとき、サブページがすでにア
トミックまたはトランジェントアトミック状態にあれば
、サブページが解放され、局部キャッシュで得られ、排
他的状態からアトミックまたはトランジェントアトミッ
ク状態に変化するまでプロセッサは停止する。gsp.
wt命令の使用は、セルがロックをロックする機会を待
つから、キャッシュ間において送られるメッセージの数
を減ずることができる。 【0100】トランジェントアトミック状態は、gsp
.wtを効率的に機能せしめるようにメモリシステムに
より自動的に使用される。その使用は、プログラマには
全く透過的である。サブページがアトミック状態にあり
他のキャッシュがそのサブページ上のgsp.wtを実
行するならば、そのサブページは、保持しつつあるキャ
ッシュにおいてトランジェントアトミック状態に入る。 サブページが後でrsp 命令で解放されると、トラン
ジェントアトミック状態は、サブページをして特別の解
放状態にある相互接続部に駆逐せしめる。解放している
キャッシュは、サブページに対するそれ自身の状態を無
効に変える。gsp を実行しているどのキャッシュも
、サブページに遭遇しそれを受け入れる。受入れ中のキ
ャッシュは、ついでそのgsp 命令を完了することが
でき、サブページはそのキャッシュにおいてトランジェ
ントアトミック状態に入る。この動作は、各後続のgs
p およびrsp に対して起こり、駆逐されるサブペ
ージがどの他のキャッシュによっても受け入れられなく
なるような時点まで続く。そのとき、解放を遂行するキ
ャッシュは、そのサブページを無効状態(サブページが
解放されたときにセットされた)から排他的状態に変え
る。 【0101】解放状態をもつパケットを、CEUがロー
ドまたはストア命令を遂行しつつあるキャッシュにより
受け入られることも可能である。原キャッシュは、サブ
ページが受け入れられたのを見て、そのサブページを無
効状態のままにおく。受入れ中のキャッシュは、そのC
EUをして、サブページを撤回する前に単一の命令を実
行せしめ、それ自身のサブページ状態を無効にセットし
、サブページを解放状態で送出する。ロードまたはスト
アを実行していたキャッシュは、ここで、この解放の目
的のためページの所有者である。前と同様、他のキャッ
シュがデータを受け入れなければ、このキャッシュは、
サブページ状態を排他的状態に変え、所有権を保持する
。 【0102】好ましくは、gsp.wt命令が待ち得る
時間に制限がないのがよい。命令を発したプロセスは、
サブページが解放されるまで待機する。命令は、種々の
XIU信号により中断される得る。かかる事象が起こる
と、CCUは、アトミックアクセスを得ようとする試み
を放棄する。サブページがその間に解放されそして他の
要求者がないと、サブページは、トランジェントアトミ
ック状態から解放状態に、そして最終的に排他的状態に
変わる。代表的システムソフトウェア動作では、割込み
が処理され中断された命令が再スタートされるから、C
CUは再度要求を発する。前と同様に、それが進行する
場合もあり、待機せしめられる場合もある。 【0103】 【状態転換】このセクションは、サブページデータおよ
び状態流れのある例を提示する。データがある所有して
いるキャッシュから他のキャッシュに移動する基本的機
構は、命令引出し、およびそれらの他のキャッシュに対
して局部的なプロセッサによるロードおよびストア命令
の実行である。異なるロードおよびプリフェッチ命令は
、プログラムに、それらの局部キャッシュがリードオン
リーまたは排他的所有権状態を取得することを要求せし
め、またストア命令は、つねに、サブページが排他的所
有権状態を有することを必要とする。ある状況において
は、キャッシュは、相互接続部上にそれが通過するサブ
ページのリードオンリーコピーを得ることがある。サブ
ページポスト−ストア(pstst) 命令は、サブペ
ージのリードオンリーコピーをすべての関係するキャッ
シュに通信する。最後に、所有中のキャッシュは、ペー
ジを再結合する部分として相互接続部上に所有権状態を
送出し得る(後述)。 【0104】命令フェッチおよびロード命令により、局
部キャッシュはサブページのリードオンリーコピーを要
求する結果となり得る。この要求は、サブページを所有
するキャッシュにより応答される。所有中のキャッシュ
は、非排他的状態でサブページを有するならば、要求中
のキャッシュにリードオンリーコピーを供給するが、そ
れ自身の状態を変えない。所有中のキャッシュは、排他
的状態でサブページを有するならば、それ自身のサブペ
ージ状態を非排他的状態に変え、ついでリードオンリー
コピーを要求者(リクエスタ)に供給する。所有中のキ
ャッシュは、アトミックまたはトランジェントアトミッ
ク状態でサブページを有するならば、その状態でサブペ
ージを供給し、そしてそれ自身のコピーを無効化する。 【0105】キャッシュが排他的所有権を要求すると、
所有中のキャッシュは、サブページのそのコピーを生ず
る。サブページが非排他的状態で所有されると、他のキ
ャッシュにおいてはリードオンリーコピーが存在する可
能性がある。すべてのかかるキャッシュは排他的所有権
要求に応答して、それらのリードオンリーコピーを無効
化する。 【0106】キャッシュが、ストア命令を満足するため
に、排他的所有権状態でサブページを取得する場合は、
ストア命令が完了するまで、所有権またはリードオンリ
ーコピーを他のキャッシュに授けない。このルールは、
メモリ位置のリーダーが変更がなされる順序で変更に遭
遇することを保証するがゆえに、メモリシステムにおけ
る強く命令された性質である。 【0107】サブページがアトミック状態にあるとき、
この状態はトランジェントアトミック状態に変わり得る
が、何らかのロードまたはストア命令の結果として、そ
れが他の状態に変わることは決してない。ある他のキャ
ッシュがサブページを要求するとき、そのキャッシュは
つねにアトミックまたはトランジェントアトミック状態
でサブページを得る。サブページが排他的状態に解放さ
れた後、排他的および非排他的状態間の転換は、再び起
こり得、サブページが非排他的に所有される場合にはリ
ードオンリーコピーが存在し得る。 【0108】特定のサブページが特定のキャッシュにお
いて無効状態にあり(すなわち、ディスクリプタがすで
に割り当てられているが、特定のサブページが存在しな
い)、そのサブページのコピーが、ある他のキャッシュ
からの要求に起因して情報転送レベル相互接続部で入手
可能であると、無効状態をもつキャッシュはそのサブペ
ージのリードオンリーコピーを取得する。この機構の効
果は、並列計算を加速することである。何故ならば、こ
れは他のキャッシュからのサブページのコピーの要求と
関連する潜伏期間を除去し得るからである。 【0109】基本的機構は、単純なロードおよびストア
命令を使用するプログラムに、強く命令されたメモリア
クセスモデルを提供することに注目することが重要であ
る。プログラムは、その性能を改善するために特定の状
態を要求するロード、ストアおよびプリフェッチの形式
を使用し得、そして多くの場合はコンパイラが必要な分
析を遂行することが予測される。しかしながら、この分
析は任意である。 【0110】簡単なトランザクションにおいては、サブ
ページアトミック状態は、純粋にロックとして使用され
る。サブページのデータは関係しない。もっと技巧的な
形式の同期機構のあるものでは、アトミック状態に保持
されたサブページのデータを利用する。1つの技術では
、サブページ上のアトミック状態をそのサブページ内の
データ上のロックとして使用する。プログラムは、1ま
たは複数のサブページをアトミック状態にし、それらの
内容を操作し、そしてそれらを解放する。 【0111】[データコピー作成戦略]状態間の相互作
用は、ロード命令が他のキャッシュからのコピーを待つ
ときに費やされる時間、キャッシュスペースおよび情報
転送レベル帯域幅と、ストアまたはgsp 命令が実行
されるときに費やされる他のキャッシュにおけるコピー
を無効化するのに費やされる時間および帯域幅との間の
妥協である。システム内にサブページの多くのリードオ
ンリーコピーがあると、読取りで局部キャッシュ内にす
でに存在するデータを見出すチャンスは増大する。しか
しながら、システム内に何らかのリードオンリーコピー
があると、所有者は、サブページを変更するとき、先ず
それらのコピーを(単一メッセージを送ることにより)
無効化しなければならない。下記の発見的教授法は、単
一のリード/ライタアクセスから複式のリード/ライト
共用を短期間ベースで動的に区別することを試みる。 【0112】複式のリード/ライト共用は、高い一次的
局所性を有する複数のリードオンリーコピーと、低い一
次的局所性をもつ書込み更新をもたらす。複数のコピー
は更新間で複数回読み取られるから、リードオンリーコ
ピーを保持することはもっとも効率的である。変更中の
CEUは、単一の情報転送レベル動作を有する排他的−
所有権状態を得ることができる。CEUは、pstsp
 命令を使用して変更されたデータを報知し、データを
関与するキャッシュに分配する。 【0113】単一リード/ライトアクセスは、低い一次
的局所性を有する複数のリードオンリーコピーと、ずっ
と高い局所性を有する書込み更新をもたらす。コピーは
リード間に複数回更新されるから、リードオンリーコピ
ーを保持することは余り効率的でない。単一のリード/
ライトコピー(排他的−所有権状態)は、書込みに対し
て情報転送レベル動作を必要としない。 【0114】これらの考察を平衡させるための戦略は次
の如くである。 (1)サブページのコピーが要求を満足させるために情
報転送レベルを横切って送られると、そのページに対す
るディスクリプタを有するがサブページに対するコピー
を有さないキャッシュは、いずれも、メッセージからリ
ードオンリーコピーをピックアップする。この機構は、
高局所性の参照で適用を加速する。 (2)被排他的またはリードオンリー状態を有するキャ
ッシュがサブページの更新を必要とするとき、サブペー
ジのコピーを有する各他のキャッシュは、そのコピーを
無効化し、排他的所有権は変更中のセルに移動する。変
更中のセルはpstsp を使用して、変化を報知する
。他のキャッシュがサブページを読もうとする試みは、
コピーが関与するキャッシュに分配されない結果となり
得る。 【0115】 【キャッシュレイアウト】キャッシュディレクトリの好
ましい組織が第5図に示されている。SVA への参照
がなされると、キャッシュは、それが必要とする情報を
有しているか否かについて決定しなければならない。こ
れは、キャッシュ内の1セットを選択し、その1セット
の全ディスクリプタを試験することによって遂行される
。 SVA[20:14]は1セットを選択する。一般のア
ーキテクチャにおいて、選択されたセット内の各ディス
クリプタは、同時にSVA[63:21]に比較される
。240 メガバイトを有する好ましい実施例において
、これはSVA [39:21] との比較を意味する
。セットの要素の1つが所望されるページに対するディ
スクリプタであれば、対応するコンパレータは整合を指
示するであろう。セット番号と連結される整合するディ
スクリプタのセット内のインデックスは、キャッシュ内
の1ページを識別する。 【0116】1以上のディスクリプタが整合すれば、キ
ャッシュは複数デスクリプタ整合例外を報知する。ディ
スクリプタが整合しなければ、キャッシュは、デスクリ
プタを割り当て、相互接続部からデータを要求する。割
当てまたはデータ要求のいずれかが欠けることがあり得
るが、キャッシュはCEUにエラーを指示する。 【0117】セットを選択するためにSVA[20:1
4]を使用することは、事実上SVA アドレスに関す
るハッシュ機能である。システムソフトウェアは、この
ハッシュ機能が一般的場合において良好な性能を与える
ようにSVA アドレスを割り当てねばならない。分配
に関して2つの重要な場合がある。単一のセグメントの
多数のページを参照する場合と、多くセグメントの第1
のページを参照する場合とである。このセットセレクタ
は、連続するページ群に対して良好なキャッシュの挙動
をもたらす。何故ならば、128 の連続ページが、1
28 の別個のセットに存在するからである。しかしな
がら、このセレクタは、SVA[20:40 ] に同
じ値をもつ多くのページに対しては、ハッシュの挙動が
十分でない。システムソフトウェアは、セグメント内に
おける局部的データ源を変えることによって後者の状態
を避けることができる。例えば、各プロセス毎のユーザ
スタックは、異なるセグメントオフセットでスタートで
きる。 【0118】 【ディスクリプタの内容】セルは、サブページ要求に応
答するとき、サブページデータおよびあるディスクリプ
タフィールドの値を局部キャッシュに供給する。応答が
リクエスタに戻るとき、リクエスタはこれらのフィール
ドをディスクリプタフィールドにコピーするか(もしも
それが他の有効サブページを有さなければ)、これらの
フィールドをディスクリプタフィールドに論理的にオア
する。若干のディスクリプタフィールドはレスポンダに
よって供給されることもなく、リクエスタによって更新
もされない。 【0119】好ましい実施例において、デスクリプタフ
ィールドは下記のように定義されるデスクリプタ・タグ
(19 ビット) SVA のビット[39:21]。 このフィールドは、対応するデスクリプタにより特定さ
れるSVA スペースの特定のページを識別する。所与
のセルにおける所与のセットに対して、このフィールド
はすべての16のデスクリプタの間で独自でなければな
らない。ソフトウェアは、SVA ページを創成すると
きにこのフィールドを「セット」する。(これはまた、
キャッシュイニシャライズ中にセットされる。 【0120】デスクリプタ・アトミック  変更(1ビ
ット)このページの任意のサブページがアトミック状態
へのまたはアトミック状態からの転換を経験するとき、
キャッシュがこのビットフラグを1にセットする。何故
ならば、gsp またはsp命令がうまく実行されたか
らである。これはまた、サブページがアトミック状態か
らトランジェント−アトミック状態に変わるときにもセ
ットされる。このフラグは、gsp が欠ける場合また
はrsp が欠ける場合にはセットされない。何故なら
ば、前者においてはサブページがすでにアトミック状態
にあり、後者においてはサブページがアトミック状態に
なかったからである。このフラグは、gsp またはr
sp が欠ける場合にはセットされない。何故ならばデ
スクリプタ・アトミックなしがセットされるからである
。システムソフトウェアは、アトミック状態変化を認め
たことを指示するために、このフラグをゼロにセットす
る。このフィールドはキャッシュからキャッシュへ伝搬
される。 【0121】デスクリプタ・変更(1ビット)ページに
おいて何らかのデータが変更されるとき、キャッシュが
このビットフラグを1にセットする。システムソフトウ
ェアは、ページの変更を認めたことを指示するために、
デスクリプタ・変更をゼロにセットする。このフラグは
、データを変更しようとする試みがないときにはセット
されない。何故ならばデスクリプタ・書込みなしがセッ
トされるからである。このフィールドはキャッシュから
キャッシュへ伝搬される。 【0122】ディスクリプタ・LRU 位置 (4ビッ
ト) そのセットにおけるデスクリプタの現在位置がM
ost Recently Used(0) からLe
ast Resently Used(15) に移行
するとき、キャッシュはこのフィールドを維持する。 【0123】ディスクリプタ・アンカー(1ビット)他
のキャッシュからのデータ要求が有効とも認められ得ず
またデスクリプタが無効化され得ないこと指示するため
、ソフトウェアがこのフィールドをセットする。他のキ
ャッシュからの読取りまたは取得要求がリクエスタに応
答せずに戻り、ページがなかったように処理される。 このフィールドは、SVA ページを創成または破壊す
る部分として、またページディスクリプタを変更する部
分としてシステムソフトウェアによりセットされる。 【0124】ディスクリプタ・保持(1ビット)サブペ
ージがキャッシュに存在しない場合においてさえ、ディ
スクリプタがキャッシュにより無効にされ得ないことを
指示するため、ソフトウェアがこのフィールドをセット
する。 【0125】ディスクリプタ・アトミックなし(1ビッ
ト)キャッシュがこのページのページのアトミック状態
を変えるのを阻止するため、ソフトウェアがこのフィー
ルドをセットする。gsp またはrsp を実行使用
とする試みはなく、プロセッサに報知される。プロセッ
サは、ページアトミックなし例外を報知する。ディスク
リプタ・アトミックなしは、若干のサブページがアトミ
ック状態を有する場合においてさえ、変更され得る。こ
のフラグは、ディスクリプタ・書込みなしがデータ状態
を変更しようとする試みを簡単に阻止する場合と同じ方
法で、アトミック状態を変更しようとする試みを簡単に
阻止する。このフィールドはキャッシュからキャッシュ
へ伝搬される。 【0126】ディスクリプター・書込みなし(1ビット
)局部プロセッサによるページの変更を阻止するため、
ソフトウェアがこのフィールドをセットする。ページを
変更しよとする試みはなく、プロセッサに報知される。 プロセッサは、ページ書込みなし例外を報知する。 このフラグは、排他的またはアトミック/トランジェン
ト−アトミック状態にあるサブページを取得するために
キャッシュの能力に影響を及ぼさない。このフィールド
は、キャッシュからキャッシュへ伝搬される。 【0127】ディスクリプタ・サマリー(3ビット)1
組のサブページのサブページ状態フィールドを集約する
。各1組のサブページに対して、1つの3ビットサマリ
ーフィールドが存在する。サマリーは、ときどき、サマ
リーセット内のサブページに対して個々のサブページ 
 状態フィールドの内容を無視(オーバーライド)する
。 【0128】ディスクリプタ・サブページ  状態(4
ビット)サブページ状態は、3ビット状態フィールドお
よび単一ビットサブキャッシュ化状態フィールドよりな
る。これは、各サブページの状態を記録するため、かつ
サブページのいずれかの部分がCEUサブキャッシュに
存在するか否かを指示するために、キャッシュによりセ
ットされる。 【0129】デスクリプタ内のフラグは正しくなかった
り古くなっている場合があり得る。これには2つの理由
がある。すなわち、CEU およびその局部的CCU 
間の潜伏、および異なるセルのCCU 間の潜伏である
。前者は、先に変更されなかったページがCPU によ
って変更されるときに起こり得る。変更されたサブブロ
ックがサブキャッシュを離れるまで、局部的CCU は
、変更が起こったことを知らない。後者は、多くのキャ
ッシュが各々特定のSVA ページに対するデスクリプ
タを含むときに起こりことがあり、1つのキャッシュに
より影響される状態変化がすべての他のキャッシュに自
動的に報知されない。 【0130】デスクリプタと関連する有効ビットがない
から、デスクリプタは、つねにあるSVA ページのタ
グを有する。しかしながら、特定のSVAページを指示
するタグを有するすべてのキャッシュデスクリプタは、
それらのデスクリプタ内に有効サブページを有さなけれ
ば、SVA ページはメモリシステムに存在しない。同
様に、キャッシュデスクリプタが特定のSVA ページ
を指示するタグを有しなければ、そのページはメモリシ
ステムに存在しない。かかるページに対するデスクリプ
タフィールドを読み取ることができるが、SVA ペー
ジは論理的に破壊されてしまっているから、フィールド
値は有効でない。 【0131】例えば、あるページに対するデスクリプタ
を有する2つのキャッシュを考える。キャッシュAは、
すべて排他的状態にあるサブページを有し、そしてデス
クリプタ・変更はクリヤ状態であり、他のキャッシュは
そのページに対するデスクリプタを全然有していないと
する。セルBのCEU は、サブページデータを変更す
べくストア命令を実行する。CEU Bは、その局部的
キャッシュから排他的所有権状態をもつサブページを要
求する。 キャッシュは、そのページに対してデスクリプタを割り
当て、ついでリングを使用してサブページを要求する。 所有者(A)は応答して、セルBに排他的所有権を与え
る。サブページが到着した後、セルBは、応答からデス
クリプタ・変更(クリヤ状態にある)をコピーする。つ
いで、BのCEU は、サブページからサブブロックを
そのデータサブキャッシュにロードし、そのサブブロッ
クを変更する。この点にて、CEU サブキャッシュは
、サブブロックが変更されてしまったことを指示するが
、局部的キャッシュはなおサブページを無変更として示
す。若干後の時点に、CEU Bは、そのサブキャッシ
ュからのサブブロックデータを局部的キャッシュに送る
。これは、CEU Bが他のページに対するサブキャッ
シュブロックを必要とするか、CPU が変更されたサ
ブブロックを戻し書込みするためにアイドルサイクルを
使用しているか、ある他のセルがサブページを要求した
がために起こり得る。 ついで、セルBのキャッシュがデスクリプタ・変更フラ
グをセットする。この時間中ずっと、デスクリプタ・変
更は、セルA上でクリヤ状態にある。 【0132】第2の例として、セルA上で進行するシス
テムソフトウェアがここでSVA ページを破壊すると
仮定する。ページは、キャッシュAにおいて排他的状態
にあるすべてのサブページを集め上げ、ついでSVA 
ページがもはや有効なサブページをもたないようにAの
デスクリプタを変更することによって破壊される。しか
しながら、キャッシュBは、なおそのページに対するデ
スクリプタを有する。デスクリプタ・変更のようなフィ
ールドは意味がない。ある他のキャッシュが続いてSV
A ページを再創成してさえ、キャッシュBのデスクリ
プタは、第1サブページが到着するまで元のままであろ
う。 【0133】システムソフトウェアは、デスクリプタ情
報を使用しようとするときには、SVA ページが真に
メモリシステム存在することを保証しなければならない
。これを遂行する1つの方法は、ページアンカーをつね
にセットし、局部キャッシュに少なくとも1つのの有効
サブページを得ることである。変更およびアトミック変
更フィールドが設定されていないことを絶対に確実にす
るためには、ソフトウエアは最初排他的状態で各サブペ
ージを得なければならない。アンカーは、いずれかの他
のキャッシュがすでに得られた他のサブページを非同期
的に取得することを阻止する。動作が完全であると、シ
ステムソフトウェアは局部的キャッシュにおけるデスク
リプタ・アンカーをクリヤする。そのとき、そのページ
のサブページに対する他のキャッシュ要求が、再び所有
されることになう。 【0134】システムソフトウェアまた、ページを創成
する前に、SVA ページがメモリシステムに真に存在
していないことを保証することが必要となる。上述のよ
うに、正しいタグ値をもつデスクリプタの単なる存在は
、SVA ページが実際にメモリシステムに存在するこ
とを指示しない。ソフトウェアは、ページアンカーを設
定し、ついで排他的状態をもつサブページを引き出すこ
とを試みることによって非存在を確認し得る。引出に成
功すると、ソフトウェアは競争に負け、ページはメモリ
システム内に存在している。そうでない場合には、ソフ
トウェアはmpdw命令を使用してページを創成でき、
排他的に所有される全ページに関してSVA ページア
ドレスを設定する。この目的のためにmpdwの同時使
用に対してソフトウェアによるインタロックが存在する
ことがなお必要であることに留意されたい。 【0135】 【キャッシュディスクリプタ使用法および交換】例示の
システム10のキャッシュは、多レベル記憶システムの
一部としてシステムソフトウェアにより使用できる。こ
の種のシステムにおいて、物理的メモリは、要求時ペー
ジングにより大規模なアドレススペースにわたり多重化
される。キャッシュは、ソフトウェアがSVA ページ
の単位でキャッシュおよび二次メモリ間でデータを移動
させる多レベルメモリシステムの実施を加速する特徴を
有する。 【0136】すべてのキャッシュは、一緒にシステムの
一次メモリを構成する。しかしながら、ある目的のため
には各個々のキャッシュを独立の一次ストアとして考え
ることが必要である。これは、各キャッシュが限定数の
SVA ページしか保持できないからである。すなわち
、各キャッシュに2048ページ、任意の特定のセット
で16である。キャッシュの利用を平衡させるのに数種
の自動的および手動的機構がある。 【0137】各キャッシュは、すべての存在ページに対
してLRU 状態を維持する。LRU データは、ディ
スクリプタ連想メモリの128 セットの各々に対して
別個に維持され、それらの概の最後の参照時間にしたが
って1セットに16ページを整える。 【0138】各キャッシュは、各セット内にディスクリ
プタのLRU−MRU順序設定を維持する。順序設定は
、ディスクリプタ.LRU 優先で維持される。1セッ
ト内の各ディスクリプタは、ディスクリプタ.LRU 
優先で0(MUR) 〜15(LRU) の値を有する
。概念的には、1ページが参照されるとき、それはMR
U に移動し、MRU から参照されるページの古いL
RU 優先に至る全ページは、そのときLRU に向か
って1ステップ移動する。ディスクリプタが、次の動作
でMRUになされる。すなわち、(1)サブキャッシュ
状態強度の増大を含め、局部CEU からの任意のロー
ドで。 (2)局部CEU からの任意のストアで。 (3)サブキャッシュ記憶しない任意の局部的CEU 
ライトバック(戻し書込み)で、 (4)XCACHE動作(キャッシュが、局部CEU 
がサブキャッシュ状態を変えることを要求する)に続い
て。 (5)局部CEU サブキャッシュからの割当て解除後
。 【0139】CEU 命令は、局部キャッシュに存在し
ない(無効−ディスクリプタ状態にある)SVA ペー
ジを参照し得る。キャッシュは、下記のようにデスクリ
プタを割り当てなければならず、ついで、CEU によ
り要求される特定のサブページに対して相互接続部に要
求を発する。 対応するページがシステムのどこかに存在すると、要求
中のキャッシュは、応答するキャッシュからあるディス
クリプタフィールドおよび参照されるサブページデータ
をコピーする。最後には、ディスクリプタを割り当てる
このプロセスは、特定のキャッシュセットの諸要素を充
たす。 【0140】各キャッシュは、そのキャッシュにおいて
SVA ページを無効−ディスクリプタ状態に変えるこ
とにより特定のディスクリプタを自動的に再使用する能
力を有する。バックグラウンドの活動として、キャッシ
ュはまた、所有されたサブページを他のキャッシュに自
動的に移動させる。これらの自動動作は、すべて、シス
テムソフトウェアにより同調または不能化され、そして
ディスクリプタ.保持および/またはディスクリプタ.
アンカーがセットされるとき抑止される。以下の説は、
キャッシュのディスクリプタの矯正およびバックグラウ
ンドデータの移動の活動について記述する。 【0141】時折、有効サブページを有さないキャッシ
ュセット内に1または複数のディスクリプタが存在する
ことがある。この状況は、他のキャッシュにより発生さ
れる要求の結果として、あるいは再結合活動(追って説
明する)の結果として生じ得る。例えば、キャッシュデ
ィスクリプタが唯一の有効サブページしか有さないと仮
定する。この場合、キャッシュディスクリプタは排他的
状態を有する。ある他のキャッシュがサブページの所有
権を要求すると、このキャッシュは、ページの有効サブ
ページをもはや有さない。もしもディスクリプタ.保持
およびディスクリプタ.アンカーがこのキャッシュにお
いてクリヤ状態にあると、このディスクリプタは、CE
U がこのキャッシュの同じセットに無効−ディスクリ
プタ状態を有するある他のページを参照するとき再使用
され得る。 【0142】サブキャッシュがサブキャッシュ記憶され
ていないことを条件として、キャッシュは、リードオン
リーまたは無効状態で全ページを有するページ(リード
オンリーページ)を自動的に落す。これは、メモリシス
テムがリードオンリーコピーを破壊するとき情報がメモ
リシステムにより失われないから可能となる。キャッシ
ュは、LRU の順番設定に従って、コピーの脱落を全
体的に不能化するか、それをある部分的範囲のディスク
リプタに制限するという形態の選択を有する。 【0143】キャッシュは、ある排他的所有権状態で全
頁を有しかつディスクリプタ.変更およびディスクリプ
タ.アトミック  変更をクリヤ状態で有するページを
自動的に落す。キャッシュが全サブページの排他的所有
権を有するという事実は、他のキャッシュが所有権すな
わちデータ状態のあるページのコピーを有さず、このキ
ャッシュに、他のいずれのキャッシュと通信することな
くデータ状態を破壊させることを保証する。ディスクリ
プタ.変更およびディスクリプタ.アトミック  変更
が両方ともクリヤ状態であるという事実は、データまた
はアトミック状態変化(gsp.wt命令の結果として
アトミック状態からトランジェントアトミック状態への
転換を含め)が起こったことを指示する。これは、SV
A ページがシステムソフトウェアにより創成されたか
最後にポーリングされたから起こる。メモリシステムは
、二次メモリ上にアトミック状態およびページデータの
コピーを有することを仮定しており、そしてこれはSV
A ページを再創成し、そのページを破壊するのに使用
できる。キャッシュはLRU ジュン順番設定にしたが
って、純粋なページの脱落を全体的に不能化するか、そ
れをディスクリプタの部分的範囲に制限するかの形態の
選択を有する。システムソフトウェアは、いずれかのサ
ブページがトランジェントアトミック状態にあれば、デ
ィスクリプタ.アトミック  変更を決して非同期的に
クリヤしてはならないことに留意された。 【0144】ディスクリプタ.保持の設定は、個々のサ
ブページが局部キャッシュに存在することを保証しない
ことに留意されたい。さらに、あるページに対してディ
スクリプタ.保持を単に設定することは、他のキャッシ
ュがそのページを破壊するのを防がない。システムソフ
トウェアは、ハードウェアが純粋ページを自動的に落す
のを防ぐように明示的動作を取らねばならぬ(例えばデ
ィスクリプタ.変更を設定)。 【0145】再結合は、所有されたサブページがキャッ
シュから相互接続部に駆逐され、他のキャッシュに所有
権状態を受け入れる機会が与えられるような動作である
。受入中のキャッシュは、包含しているページに対して
割り当てられたディスクリプタをすでに有しているはず
であり、キャッシュは、再結合されつつあるサブページ
の所有権を受け入れるためにディスクリプタを割り当て
ない。ページ再結合の目的は、特定のSVA に割り当
てられるデスクリプタの総数を減ずることである。 【0146】キャッシュは、サブページを再結合するた
めに再結合メッセージを発行する。再結合メッセージが
、そのページを引き継ぐ他のキャッシュを見い出さない
と、再結合中のキャッシュはデータを保持する。実際に
は、それ自体が再結合の目標であることが分かった。 ある他のキャッシュが所有権(これは非排他的、排他的
、アトミックまたはトランジェントアトミック状態のい
ずれでもよい)を受け入れると、発行中のキャッシュは
、そのサブページ状態を無効に変える。 【0147】キャッシュは、メモリリフレッシュが行な
われている間、サブページをバックグラウンド活動とし
て自動的に再結合しようとする。各リフレッシュ間隔中
、キャッシュは特定のセットを試験し、受入れ可能なデ
ィスクリプタを捜索する。ディスクリプタは、サブキャ
ッシュ記憶されたサブページを有してはならず、あるサ
ブページを有さねばならず、全サブページを排他的所有
権状態で有してはならない。このようなページが見い出
されると、キャッシュはある所有されたサブページに対
して再結合メッセージを発行する。キャッシュは、LR
U 順番設定に従い、バックグラウンド再結合を全体的
に不能化するか、部分的範囲のディスクリプタにそれを
制限するかの構造の選択を有する。バックグラウンド再
結合は、キャッシュが、ライン全体エラーを引き起こす
代わりに、新たに参照されたSVA ページに対してデ
ィスクリプタを割り当てることができる見込をより高め
る。 【0148】CEU はまた、システムソフトウェアが
、所有されるサブページの駆逐を試みることができるよ
うな命令を提供する。サブページはサブキャッシュ記憶
されてはならないが、キャッシュが所有権の駆逐を試み
る前に他の制約は賦課されない。 【0149】ワーキングセットポイント以下のページは
参照される見込が薄いから、実際にデータを動かす再結
合の殆どは、データを参照していないセルからデータを
参照しているセルにそれを移動させる。 【0150】セット内の新しいデスクリプタが必要とさ
れるとき、キャッシュは、有用なデスクリプタを見出す
に必要とされるだけの数の下記の動作を通って順に進行
する。すなわち, (1)無効のデスクリプタを見つける。 (2)リードオンリーコピーを無効化する。 (3)純粋のSVA ページを破壊する。 (4)上述の手段によりデスクリプタを割り当てること
ができなければ、ラインフルの例外を報知する。 【0151】個々の段階は以下に説明する。 【0152】無効ディスクリプタを見出す。もしも無効
デスクリプタが存在すれば、それは即座に使用できる。 これは次の条件を必要とする。すなわち、−すべてのサ
ブページが無効状態にあり、かつ−デスクリプタ・保持
およびデスクリプタ・アンカーが両方ともクリヤ状態に
ある。 −ページのサブページがPRT エントリにより記述さ
れていない。 【0153】リードオンリーコピーを無効化する。もし
もctl$cculru  configu.cde 
が1であれば、キャッシュはサブページのリードオンリ
ーコピーのみを含むデスクリプタを識別使用とする。キ
ャッシュは、下記の条件を有するページを待ちながらL
RU ないしMRU を捜索する。 すなわち、 −全ページがリードオンリーまたは無効状態にある。 −サブキャッシュ化サブページがない。 −ctl$ccu lru configu.cdl 
に等しいかそれより大きいLRU 値.  −デスクリプタ・保持およびデスクリプタ・アンカーが
両方ともクリヤ状態。 −ページのサブページがPRT エントリにより記述さ
れていない。 【0154】もしも容認できるデスクリプタが見出され
ると、すべてのサブページは無効状態に変えられ、その
デスクリプタが使用される。 【0155】純粋のSVA を落す もしもctl$ccu lru config.pde
が1であれば、キャッシュは、破壊され得る(メモリシ
ステムから完全に除去される)SVA ページを識別し
ようとする。キャッシュは、下記の条件を有するページ
を待ちながら、LRU ないしMRU を捜索する。−
全ページが(種々の)排他的所有権状態にある。 −サブキャッシュ記憶されるサブページがない。 −デスクリプタ・変更およびデスクリプタアトミック変
更が両方ともクリヤ状−態にある。 −ctl$ccu lru configu.cdl 
に等しいかそれより大きいLRU 値.  −デスクリプタ・保持およびデスクリプタ・アンカーが
両方ともクリヤ状態。 −ページのサブページがPRT エントリにより記述さ
れていない。 【0156】もしも容認可能なデスクリプタが見出され
ると、すべてのサブページは無効状態に変えられ(それ
によりSVA ページを破壊する)、そしてそのデスク
リプタが使用される。 【0157】ライン  フル例外(全ライン例外)が起
こる可能性を減ずるために、キャッシュは最近余り使用
されないページ内のサブページのその所有権を減じよう
とする。これらの動作は、ディスクリプタ割当て動作と
無関係であり、RAM リフレッシュ中に起こる。 【0158】もしもctl$ccu lru conf
igu.bre がセットされると、CCU は、次の
条件を有するページを待ちながらLRU から捜索する
。 −所有権状態にある、あるサブページ。 −排他的所有権状態にないあるサブページ。 −サブキャッシュ記憶されるサブページがない。 −ctl$ccu lru config,bleに等
しいかそれより大きいLRU 値。 −ディスクリプタ.保持およびディスクリプタ.アンカ
ーが両方ともクリヤ状態。 −ページのサブページがPRT エントリーにより記述
されない。 【0159】容認可能なディスクリプタが見い出される
と、キャッシュは相互接続部に再結合メッセージを発行
する。 【0160】システムソフトウェアは、個々のキャッシ
ュ内のページのLRUの挙動を監視して、各キャッシュ
ラインにワーキングセットポイントを設定できる。低い
LRU 値を有するデスクリプタはワーキンッグセット
内にあり、高いLRU を有するディスクリプタはワー
キングセト内にない。ワーキングセットポイントを決定
するため、ディスクリプタタグ、LRU 値およびサブ
ページ状態の反復試験を利用できる。 【0161】変更(またはアトミック  変更)ページ
が論理的ワーキングセットを離れると、システムソフト
ウェアは、ディスクリプタが近い将来再割当て可能にな
るように、ページを純粋化するような動作を取り得る。 【0162】ディスクリプタが所有権状態にある比較的
少数のサブページを保持すると、ソフトウェアは、mr
csp (サブページ再結合)命令を使用して、これら
のサブページを他のキャッシュに再結合しようとする。 そうでなければ、全SVA ページを得て、それを純粋
化または破壊すことができよう。 【0163】ワーキングセットが変化すると、システム
ソフトウェアは、キャッシュを制御する形態パラメータ
を変更し得る。純粋ページ脱落、コピー脱落およびバッ
クグラウンド再結合のためのパラメータは、ハードウェ
ア動作がソフトウェアワーキングセットポリシーと一貫
性があることを保証するように変更できる。 【0164】二次メモリの代表的な使用は、各SVA 
が二次メモリに割り当てられる対応するページを有し、
ハードウェアにより提供されるキャッシュ記憶モデルを
拡張する。あるページは、最初二次メモリにのみ存在し
、それがプログラムにより参照されるときメモリにキャ
ッシュ記憶される。そのページがメモリにある間に変更
されるならば(データ状態またはアトミック状態)、二
次メモリ上におけるそのページのコピーは、包含するメ
モリシステムのページがある他のSVA のために再使
用され得る前に更新されねばならない。かかる変更は、
ディスクリプタ.変更およびディスクリプタ.アトミッ
ク  変更フィールドにより検出し得る。二次メモリを
更新する動作は、SVA ページを「純粋化する」と称
される。システムソフトウェアは、普通、ワーキングセ
ットポイント以下にあるSVA を純粋化するから、キ
ャッシュスペースは他のSVA ページに対して迅速に
利用可能となる。 【0165】システム内のセルのあるもののみが、SV
A ページに対して二次メモリを提供するディスクドラ
イブへの物理的接続を有する。適当な入出力可能なセル
は、入出力動作中ページデータを得ることができなけれ
ばならない。システムソフトウェアは、I/O 命令を
発行する前に、I/O セル上にディスクリプタを割り
当てて保持することによってこれを保証し得る。純粋化
が完了した後、システムソフトウェアは、ディスクリプ
タ.変更およびディスクリプタ.アトミック  変更フ
ラグをクリヤし、あるいはSVA ページを破壊するこ
とができる。使用される実際のプロトコルは、システム
がプログラムにより純粋化の試み中ページにアクセスす
ることを可能にするか否かに依存して一層複雑となるこ
とがある。 【0166】一般に、システムソフトウェアは、メモリ
システムがページを破壊することを阻止されない限り、
いずれかのサブページがトランジェントアトミック状態
を有するならばディスクリプタ.アトミック  変更を
クリヤしてはならない。例えば、全ディスクリプタが保
持されたフラグセットを有するならば、あるいはディス
クリプタ.変更がセットされるならば、メモリシステム
はページを破壊することはない。 【0167】特定のキャッシュの特定のセットがフル状
態であるとき、ソフトウェアにとって、全メモリシステ
ムが相応にフル状態であることを仮定する理由はない。 かくして、ソフトウェアは、あるページをそのセットか
ら他のキャッシュの対応するセットに移動することによ
りフルセットに応答することが望ましい。 【0168】メモリを効率的に使用するために、ソフト
ウェアは、フルセットから除去すべき適当なページと、
そのページに対する適当な目標キャッシュ(もしあれば
)を識別するためのある戦略を使用しなければならない
。キャッシュは、このページ交換のためのある種の戦略
を促進する用意を備える。セット内における交換のため
のページのソフトウェアによる選択を促進するため、各
キャッシュは、ページを最近もっとも使用されたもの(
MRU) から最近もっとも少なく使用されたもの(L
RU) へおおむね整える。あるページが参照されると
き、それはMRU に移動される。その後他のページが
参照されるとき、それはLRU へ向って古くなる。L
RU 情報は、最近もっとも使用されるページを置き換
える戦略を加速する。 【0169】 【プロセッサデータアクセス】プロセッサが、ロードお
よびストア命令および共実行ユニット動作を満足させる
ため、その局部キャッシュにデータ要求をなす。キャッ
シュがその局部プロセッサに要求して、プロセッサに、
サブキャッシュ内のサブページのそのコピーを無効化さ
せる。 【0170】 【ロードおよびストア命令】参照されるアドレスを包含
するサブブロックが要求される状態でサブキャッシュに
存在しないとき、プロセッサが、ロードおよびストア命
令を要求として局部キャッシュに通す。異なる形式のロ
ードおよびストア命令は、下記の命令のアクセスパター
ンについて局部キャッシュに情報を通す。例えば、命令
の順序がロードおよびそれに続くストアであり、データ
アイテムを含むサブページが局部キャッシュ内に未だ存
在しないと、ロード命令に対するリードオンリーを得る
よりも、ロードに対する所有権を取得し、ついで他の時
点で情報転送レベルを介して通信してストアに対する所
有権を取得するのがより効率的である。 【0171】サブキャッシュにおけるサブブロックの状
態は、キャッシュ内における対応するサブページの状態
を必ずしも反映しない。命令サブキャッシュは、つねに
データのリードオンリーコピーを得る。データサブキャ
ッシュは、リードオンリーまたは排他的状態でサブブロ
ックを保持し得る。サブキャッシュは、排他的所有権状
態を有しかつディスクリプタ.書込みなしがセットされ
ないときのみ、排他的状態を有し得る。サブキャッシュ
は、排他的、アトミックおよびトランジェントアトミッ
クサブページ状態間を区別しない。サブキャッシュがサ
ブブロックを排他的状態で有すると、CEU は、単に
新データをサブキャッシュに入れるだけでストア命令を
実行し得る。st64.nscを除くすべてのストア命
令に対して、もしもサブブロックがサブキャッシュによ
り記述されないと、あるいは無効またはリードオンリー
状態を有さないと、CEU は、ストア命令を完成する
前に排他的状態を要求しなければならない。もしもディ
スクリプタ.書込みなしがセットされ、あるいはサブペ
ージがメモリシステムに存在しないと、障害が起こる。 【0172】サブページ要求が他のキャッシュから到着
すると、所有中のキャッシュは応答せねばならない。も
しもサブページのいずれかの部分がデータサブキャッシ
ュにあると、局部キャッシュは、サブキャッシュにのみ
存在することがるかもしれない変更を得ることを保証し
なければならない。キャッシュはまた、CEU に、要
求に依存して、サブブロックに対するサブキャッシュ状
態をリードオンリーまたは無効に変更せしめる。ある場
合には、キャッシュはまた、命令サブキャッシュがサブ
ページのそのリードオンリーコピーを無効化することを
保証する。 【0173】また、サブキャッシュ管理のユニット(ブ
ロックおよびサブブロック)とキャッシュ管理のユニッ
ト(ページおよびサブページ)間を区別することが重要
である。データは、サブブロックでCEU およびその
局部キャッシュ間を移動する。データはまた、サブペー
ジでキャッシュ間を移動する。単位のサブページ当り2
つのサブブロックが存在する。 【0174】異なる形式のロードおよびストア命令につ
いては下記に記述される。各記述は、命令の意味の要約
で始まり、サブキャッシュおよびキャッシュ動作の概観
が続く。 【0175】ロード(リードオンリー)[1d.ro 
]ロード  64(リードオンリー,サブキャッシュ記
憶)[ld64.ro.sc]プログラムはデータ読取
りのパターンを続ける。仕事の最少量はデータを得るよ
うになされる。 もしも包含しているサブブロックがサブキャッシュ記憶
されると、それは直接使用される。もしも局部キャッシ
ュがサブページを有さないと、局部キャッシュはコピー
を得る。局部キャッシュは、適宜、排他的またはリード
オンリー状態でサブブロックをサブキャッシュに供給す
る。 【0176】ロード(排他的)[ld.ex]ロード 
 64(排他的,サブキャッシュ化)[ld64.ex
.sc]プログラムは、下記の命令でサブブロックを書
き込み、そして排他的状態は任意の他の状態に好ましい
。データが僅かの共有を有することが予期されるとき、
または一連の書込みが生じつつあったときに、プログラ
ムがこれを使用する。これは、CEU がデータを変更
し得る前に必要とされる相互接続のメッセージの数を減
ずる。ロード(排他的)の使用の特定の例はスタックの
ようなプログラム毎データである。一般的には、かかる
データのリードオンリーコピーはない。何故ならば、唯
一のコピーは、プログラムによる使用におけるものであ
るからである。しかしながら、もしもプログラムが一つ
のプロセッサから他のプロセッサに移動すると、新しい
プロセッサの局部キャッシュはコピーを持たなず、古い
プロセッサの局部キャッシュは、サブページを排他的所
有権状態で保持し続ける。プログラムが(リードオンリ
ー)ロードを使用した場合、局部キャッシュは、サブペ
ージをリードオンリー状態で取得する(サブページがそ
の状態が得られるアトミックまたはトランジェントアト
ミック状態にない限り)。後続のストアは、何らかのC
EU データ変更が起こることがある前に、キャッシュ
が他の相互接続要求をなすことを必要とする(排他的所
有権状態を得るために)。ld.ro の場合と同様に
、仕事の最小量はデータを得るためになされる。もしも
、サブブロックがサブキャッシュにすでに存在すれば、
それは直接的に使用される。もしも局部キャッシュがサ
ブページを有さなければ、局部キャッシュはサブページ
を排他的所有権状態で要求する。局部キャッシュがサブ
ページを有すれば、サブブロックは、適宜、リードオン
リーまたは排他的状態でCEU に供給される。 【0177】ストア[st] ストア  64(サブキャッシュ化)[st64.sc
] もしもサブブロックがすでに排他的状態でサブキャ
ッシュに存在すれば、サブキャッシュ状態は変更されず
、データはサブキャッシュに書き込まれる。サブキャッ
シュは、排他的状態でサブブロックを有さなければなら
ない。必要なとき、サブキャッシュは局部キャッシュか
ら排他的状態を要求し、そして局部キャッシュは、相互
接続部から排他的所有権状態を要求する。もしもデスク
リプター書込みなしフラグがセットされれば、エラーが
CEU に報知され、CEU がページ書込みなしの例
外を発生する。そうでなければ、サブキャッシュは、排
他的状態でサブブロックを得、データがサブキャッシュ
に書き込まれる。 【0178】ロード  64(リードオンリー,非サブ
キャッシュ化)[ld64.ro.nsc]ロード  
64 (排他的, 非サブキャッシュ化) [ld64
.ex.nsc] プログラマーは、ldに対して記述
されたように、予測される参照パターンに従い排他的お
よびリードオンリー指示を使用する。しかしながら、サ
ブブロックへの参照の回数は少ないと予測され、そして
サブキャッシュはこのデータの引出中擾乱されてはなら
ない。データがサブキャッシュないに存在すれば、それ
は直接的に使用される。局部キャッシュがサブページを
有さなければ、局部キャッシュはコピーを得る。CEU
 は、データのコピーを得、指示レジスタをロードする
。 【0179】ストア  64(非サブキャッシュ化) 
[st64.nsc]  サブブロックへの参照の回数は少ないことが予測され(
代表的には1)、そしてサブキャッシュは、このデータ
を記憶中擾乱されてはならない。もしもサブブロックが
排他的状態でサブキャッシュに記憶されていれば、サブ
キャッシュ状態は変更されず、データはサブキャッシュ
に書き込まれる。もしもサブページがリードオンリー状
態でサブキャッシュに記憶されていれば、サブページは
即座に無効化される。CPU は、データを局部キャッ
シュに供給する。キャッシュが排他的所有権状態でサブ
ページを有さなければ、相互接続部からそれを要求する
。 デスクリプタ書込みなしフラグがセットされると、エラ
ーがCEU に報知され、CEU はページ書込みなし
の例外を発生する。そうでない場合、CEU データは
キャッシュのサブページに直接的に書き込まれる。 【0180】 【命令フェッチ】命令フェッチは、つねにリードオンリ
ー状態を特定するサブページを引き出す。 【0181】 【サブページアトミック状態命令】サブページアトミッ
ク状態命令は、上述の取得および解放動作に対するプロ
グラムインターフェースである。これらの命令は、並列
プログラムの精密な調整を可能にするため数種の形式で
存在する。 【0182】サブページ取得[gsp.nwt] サブ
ページ取得・待ちあり[gsp・wt]サブページ取得
は、サブページがアトミック状態でセットされるべきこ
とを要求する。サブページ取得命令の両形式に対して、
もしもサブキャッシュがどのキャッシュにもアトミック
状態で存在しなければ、局部キャッシュはそれをアトミ
ック状態で取得する。gsp.nwt の場合、@ME
M状態コードが試行の成功または失敗を指示し、命令は
、トラップオプションが命令に存在しかつサブページが
すでにアトミックであれば@MEMを変えずにトラップ
される。gsp.wt命令は、サブページがアトミック
状態で得られることができるまで、キャッシュにCEU
 を停動せしめる。これは、プログラムが進行し得る前
にアトミック状態を得なければならない場合、相互接続
トラフィックの量を減ずる。サブページがいずれかのキ
ャッシュ(局部キャッシュを含め)においてすでにアト
ミックであれば、命令は、サブページが解放されるまで
待つ。局部キャッシュは、ついでサブページをアトミッ
ク状態で取得する。@MEM状態は、つねに成功を指示
するように変化される。 【0183】サブページ解放[rsp] サブページ解
放は、サブページをアトミック状態から除去するのに使
用される。もしもサブページが局部キャッシュに存在し
なければ、それが、まず、相互接続部を介して要求され
る。一度局部キャッシュが排他的所有権を有すれば、r
sp が進行する。もしもサブページがアトミック状態
になければ、サブページ解放はサブページ状態を変えな
い。この状況において、もしもトラップ変更子がこの命
令に対して存在すれば、CRU はトラップされる。も
しもサブページがアトミック状態にあれば、それは排他
的状態に変えられる。もしもサブページトランジェント
アトミック状態にあれば、それは排他的状態に変えられ
、待ち中のセルがアトミック状態を取得できるように相
互接続部に駆逐される。 【0184】 【他のサブページ命令】サブページポストストア[ps
tsp] サブページポストストアは、プログラムに、
サブページのリードオンリーコピーを相互接続部に駆逐
させる。そのページに対するデスクリプタをもつすべて
のキャッシュは、データのコピーを取る。この命令は、
ある動作を完成する一部としてデータを送信するのに使
用できるが、これは、ある他のキャッシュが、データを
使用することを必要とするとき、相互接続部に読取り要
求をなさねばならぬ可能性を減ずる。 【0185】サブページプリフェッチ[pcsp]サブ
ページプリフェッチは、サブページのコピーが特定の状
態において局部キャッシュで取得されるべきことを要求
する。 命令は、リードオンリーまたは排他的状態を要求し得る
。サブページへの続いての参照は、サブページプリフェ
ッチが完了するまでブロックされる。 【0186】 【メモリシステムの「マニュアル」制御】上述のように
、メモリシステムは、自動的なデータの共有およびLR
U 保守で仮想メモリシステムを指示するように設計さ
れている。しかしながら、ソフトウェアは、特定の応用
に対してはメモリシステムの明示制御を取り得る。 【0187】通常の動作において、全プロセッサはSV
A スペースを共有し、データは、命令(および制御動
作)に応答してキャッシュからキャッシュへ自動的に移
動する。ソフトウェアは、キャッシュ上のメモリの一部
または全部をその局部的非共有の使用に専用できる。こ
の種のシステムは、キャッシュ間でSVA スペースを
仕切り、かかるデータをキャッシュからキャッシュに移
動させるのに明示制御操作を使用しなければならない。 システムソフトウェアは、各デスクリプタにデスクリプ
タ・保持をセットすることによって、キャッシュがペー
ジを移動ないし破壊して他のページに対して場所を開け
るのを防ぐことができる。そのとき、システムソフトウ
ェアは、各キャッシュメモリを多重化するに必要とされ
るところに従って、例外を処理しあるいは明示的破壊を
遂行できる。 【0188】自動モードにおいては、メモリシステムは
、共有メモリマルチプロセッサとして構成され得る。 種々の自動の特徴が不能化されるとき、メモリシステム
は、より粗結合のメッセージ指向アーキテクチャを擬似
するように構成できる。メッセージは、特別SVA 範
囲の参照によりパスできる。メモリシステムの手動制御
は、特定のメモリモデルをより綿密に実施するのに使用
できる。 【0189】 【メモリシステム制御命令】制御動作は、プロセッサ例
えば40Aが、メモリシステムを直接的に操作すること
を可能にする。2つのクラスの制御命令がある。すなわ
ち、データ移動およびページ状態制御である。データ移
動制御命令は、システムにおいてデータのページおよび
サブページを階層においてキャッシュからキャッシュに
移動する。ページ状態制御命令は、ページデスクリプタ
を操作する。 【0190】CEU 命令は、指令に依存して同期的ま
たは非同期的に実行されるキャッシュ指令をもたらす。 CEU キャッシュ命令は、進行中、キャッシュPRT
 (ハードウェアテーブル)の1つのエントリを占める
。PRT は4つのエントリを有するから、最大4つの
キャッシュ命令が平行に実行され得る。たいていのCE
U 命令は、要求が満足されるまで使用状態に留まり同
期的態様を提供する1つのPRT エントリの割当てを
受ける。例えば、ロード/ストア命令は同期的に実行さ
れるから、特定のソフトウェア制御の例外(脱落ページ
や書込み不能なページのような)は、予測可能な態様で
解くことができる。pcsp(キャッシュサブページプ
リフェッチ)およびpstsp ( サブページポスト
−ストア)命令は、以下のセクションに記述されるよう
に、非同期的に動作する。 【0191】同期的エラーは、普通、CEU がトラッ
プシーケンスを実行する結果となる。 【0192】非同期的エラーは、実際のハードウェアか
らもたらされ、あるいはある他のキャッシュからの要求
によって惹起される。この種のエラーは、メモリシステ
ム割込みにより報告される。 【0193】 【プリフェッチ命令】プリフェッチ命令は、サブページ
のコピーが特定の状態において局部キャッシュ上に取得
されるべきことを要求する。pcspはサブページをプ
リフェッチする。キャッシュは、この命令が検出された
とき1つのPRT エントリを割り当てる。サブページ
がすでに存在していれば、PRT エントリーは解放さ
れ、pcspは完了する。そうでない場合、キャッシュ
は要求を発し、ついでCEU に命令の完成を指示する
。これは非同期的に進む。メッセージが要求または応答
として戻ると、キャッシュはデータを受け入れ(もし存
在すれば)、そしてPRT エントリを開放する。CE
U に対してデータが到着したという指示はない。 【0194】 【サブページポスト−ストア命令】pstsp 命令は
、サブページのコピーが相互接続部上で循環され、それ
により包含するページに対するデスクリプタを有するキ
ャッシュがサブページのリードオンリーコピーを取得し
得るようになるべきことを要求する。pstsp は、
サブページ内のサブブロックを参照する。サブブロック
が排他的状態でサブキャッシュに記憶されており、サブ
キャッシュにおいて変更されると、CEU は局部キャ
ッシュからポストストア動作を要求する。そうでない場
合は、pstsp 命令は影響を有さない。キャッシュ
は、PRT エントリを割り当て、CEU からサブペ
ージデータを要求する。ついで、キャッシュは、ポスト
−ストアメッセージを相互接続部に提示し、PRT エ
ントリーを解放し、CEU に対して命令の完了を指示
する。CEU は、非同期的に進む。メッセージは、発
行しているキャッシュに戻ると、廃棄される。 【0195】 【サブページフェッチ命令】mfsva 命令は、シス
テムソフトウェアに、サブページをリードオンリーまた
は排他的所有権状態で取り込み込ませ、サブページのS
VA 位置を特定させる。これにより、ソフトウェアは
、pcsp  に要求されるようなDSTT変換を設定
するという努力を節減できる。 【0196】 【サブキャッシュ化サブページフラッシュ命令】mfl
sp 命令は、特定されたサブページが局部CEU に
サブキャッシュ記憶されていないことを、キャッシュに
保証せしめる。もしもサブページが無効−デスクリプタ
状態または無効状態にあると、デスクリプタは割り当て
られず、サブページは相互接続部を介して要求されない
。 【0197】 【サブページ再結合命令】mrcsp 命令により、シ
ステムソフトウェアは、所有権を他のキャッシュに移動
せしめることによって、ページに対する活動ディスクリ
プタの数を減ずることができる。キャッシュのバックグ
ラウンド再結合活動状態と異なり、この命令はキャッシ
ュ形態パラメータにより制御されない。 【0198】ページ状態制御命令は、SVA スペース
の個々のページで動作する。 【0199】 【デスクリプタアンカー命令】mpsa命令は、SVA
 ページに対する局部キャッシュに係留されたでデスク
リプタを提供する。もしもデスクリプタがmpsa前に
すでに存在したならば、そのアンカーフラグがセットさ
れる。そうでないならば、キャッシュはデスクリプタを
分配し、ついでアンカーフラグをセットする。ページ状
態制御動作は、SVA ページに対して係留されたデス
クリプタが、局部キャッシュ上に存在すべきことを要求
する。 【0200】 【デスクリプタ書込み命令】mpdw命令は、SVA 
ページを創成、破壊し、かつ既存のSVA ページのデ
スクリプタフラグを変えるのに使用される。mpdwは
、システムソフトウェアが、mpsaを使用して、先ず
そのページに対する係留されたデスクリプタを得ること
を必要とする。下記の論述は、係留されたデスクリプタ
が局部キャッシュ上に存在することを仮定する。 【0201】 【SVA ページの創成】mpsaに続いて、デスクリ
プタが存在するが、全ページは無効状態にある。システ
ムソフトウェアは、全サブページ状態が排他的にセット
されるべきことを特定するmpdwを実行する。これに
より、メッセージが、相互接続部に送られ、それにより
関係するリングのメンバが、ページの創成に気づくこと
ができるようにする。 【0202】ここでSVA ページが存在するが、その
データ値は限定されない。ソフトウェアは、使用者にペ
ージを参照せしめる前に、ストア命令またはI/O を
使用してそのページをイニシャライズしなければならな
い。この理由のため、ソフトウェアは、普通、使用者プ
ログラムにアクセス不可能なSVA 位置にてページを
創成し、ページデータをイニシャライズし、ついで追っ
て説明されるようにSVA ページのアドレスを変更す
る。ページは、アンカーをクリヤするmpdw命令を実
行することによって、一般的使用のために解放される。 【0203】 【SVA ページ破壊】mpsa 後、システムソフト
ウェアは、全サブページを排他的状態で得なければなら
ない。 これはmfsva 命令を使用してなされる。ついで、
ソフトウェアは、全サブページが無効状態に変化される
べきことを指定するmpdw命令を実行する。この命令
により、メッセージが相互接続部に送られ、関係のある
リングのメンバがページの破壊に気づくようにする。S
VA ページは、この動作により破壊される。ソフトウ
ェアは、アンカーをクリヤする第2のmpdwを実行す
ることによってデスクリプタを再使用のために解放する
。 【0204】 【ディスクリプタフィールド変更】mpdw命令は、局
部ディスクリプタの種々のフィールドを変えるのに使用
される。これは、変更、アトミック変更、書込みなし、
アトミックなしおよび保持フィールドをセットまたはク
リヤし得、そしてアンカーフィールドをクリヤし得る。 mpdwはまた、タグ、したがってデスクリプタと関連
するSVA スペースアドレスを変化し得る。(ディス
クリプタのインデックスは、SVA の一部を形成する
から、新タグは定義により同じキャッシュセットにある
。)【0205】メモリシステムの一貫性を保証するた
めに、システムソフトウェアは、デスクリプタのフィー
ルドまたはタグを変えるとき特定のルールに従わねばな
らぬ。mpdwは、ディスクリプタ・アンカーがセット
されるべきことを要求する(命令それ自体はディスクリ
プタ・アンカーのクリヤをもたらすことがあるかもしれ
ないが)。種々のシーケンスは、全サブページが排他的
所有権状態で局部キャッシュに存すべきことを要求する
。これは、各サブページに対してデスクリプタアンカー
をセットし、mfsva.exををセットすることによ
って遂行される。種々のシーケンスは、全サブページが
局部キャッシュにおいてサブキャッシュ記憶されていな
いことを必要とする。これは、局部CPU にサブキャ
ッシュ記憶されているかもしれない各サブページに対し
てmflsp を実行することによって遂行される。(
mfsva.exを実行することは、サブページがどの
他のセルのCEU によってもサブキャッシュ記憶され
ていないことを保証する。)【0206】下記のリスト
は、各フラグおよびタグに対して有効に働く制約を与え
る。 【0207】(1)アンカーがセットされ、(普通)任
意のデスクリプタタグまたはフラグ変更の一部としてク
リヤされる。これは、任意の継続時間セット状態に留ま
ることができるが、共有メモリシステムにおいてはでき
るだけ早くクリヤされる。 【0208】(2)保持は、制約なしに特定のセル上で
デスクリプタを保持または保持解放するために変更でき
る。 【0209】(3)アトミック変更およびアトミックな
しを変えることは、全サブページが局部キャッシュ内に
おいて排他的所有権状態にあるべきことを必要とす  
。 【0210】(4)変更をクリヤし書込みなしをセット
することは、全サブページが局部キャッシュにおいてサ
ブキャッシュ記憶されていないことを必要とする。これ
は、局部サブキャッシュが如何なるサブブロックをも排
他的状態で有さず、また如何なる変更されたサブブロッ
クをも有さないことを保証する。被変更書込みなしを変
化させるときは、システムソフトウェアは、その変化が
そのページを参照するすべてのセルにより認識されるべ
きか否かを決定し得る。広域的な変化を行うには、全サ
ブページが局部キャッシュにおいて排他的所有権状態に
あるべきことを必要とする。システムソフトウェアは、
普通、被変更フラグをクリヤするとき広域的な変化をな
す。局部的変化を行うには、どのサブページも排他的所
有権状態にあるべきことを必要としない。しかしながら
、これは、新状態の認識の遅延をもたらす。 【0211】(5)タグを変えることによりSVA ペ
ージ数を変化させるには、全サブページが排他的所有権
状態にあり、実行中セルでサブキャッシュ記憶されない
ことを必要とする。 【0212】単一ビットフィールドの変更は、単一のm
pdw.desc 命令で遂行される。この命令は、変
化されたフラグの新値、他のフラグに対する旧値および
タグを含む。システムソフトウェアは、ページを係留状
態に維持するため特別の理由を有さなければ、アンカー
フラグをクリヤする。 【0213】ディスクリプタのSVA ページ数を変更
することは、旧ページを破壊しついで同じデータを有す
ることがある新ページを創成することと論理的に同じで
ある。シーケンスは次の如くである。 【0214】(1)旧SVA ページに対してデスクリ
プタを係留し、排他的所有権状態で各サブページを得る
。どれかのサブページがアトミックまたはトランジェン
ト−アトミック状態を有すれば、それは実行中のセルで
取得される。一度全サブページが取得されたら、旧SV
A へのアクセスは、脱落ページ障害をもたらす。 【0215】(2)各サブページのアトミック状態の決
定。これは各サブページについてgsp.nwt を実
行し、得られた@MEMインジケータを試験することに
よって最も迅速に遂行される。旧SVA のサブページ
に対するgsp.wtをすでに実行しているセルは、究
極的にタイマー中断をもたらし、そしてgsp.wtが
再開されるとき、脱落ページ障害をもたらす。 【0216】(3)全サブページを無効状態に変えるた
めmpdw.alliを使用。この命令は、局部CCU
 に、SVA ページが破壊されつつあることを局部C
IU およびRRC (もし要すれば)へ報知せしめる
。全サブページが無効状態に変更されてさえ、データは
局部CCU に留まる。 【0217】(4)タグおよびセットフラグを所望の状
態に変えるためmpdw.desc を使用。新アンカ
ーフラグがセットされねばならない。 【0218】(5)全サブページを排他的状態に変える
ため  mpdw.allx を使用。この命令は、局
部CCU に、SVA ページが創成されつつあること
を局部CIU およびRRC (もし要すれば)へ報知
せしめる。旧データは、ここで排他的状態にあると認識
される。 【0219】(6)各サブページの保存されたアトミッ
ク状態の復旧。保存状態にあった各サブページに対して
、gsp.nwt を発行。 【0220】(7)アンカーフラグをクリヤするためm
pdw.desc を使用。 【0221】ディスクリプタ.書込みなしの使用は、次
のことを含む。すなわち特定のデータの不注意な変更の
防止、書込み時コピー/アクセス時コピープロトコルの
支持、デバッガ監視点である。第1の場合、書込みなし
がセットされ、セット状態に留まる。第2の場合、プロ
グラムがページを変更しようとすると、システムソフト
ウェアは、他のユーザに利用可能なページのコピーを作
り、ついで書込みなしをクリヤすることによって応答で
きる。ソフトウェアは、この変化を局部的または広域的
になし得る。前者の場合、そのページを参照する他のセ
ル上で書込みなし障害が起こり続けよう。最後に、デバ
ッガ監視点は、コンテキストアドレススペースの特定の
領域の変更を検出する、例えば、広域変数が破壊されつ
つあるところを見出すことが意図される。システムソフ
トウェアは、そのページに対して書込みなしを設定し、
各変更試行をトラップすることによってこれを実施する
。監視範囲以外の変更に対して、ソフトウェアは、その
ページを係留し、書込みなしをクリヤし、データを変更
し、データをサブキャッシュから放出し、書込みなしを
セットし、そして進行する。書込みなしに対して広域的
変更をなすことによって、監視点サポートを実施するこ
とができる。 【0222】 【ページローカル発見−LRU ルックアップ命令】m
fpl命令は、キャッシュのLRU スペース内の特定
の1組を捜索して、特定の1組の基準に適合するディス
クリプタを求める。捜索は、LRU 位置15における
ディスクリプタで始まり、基準に合格するまで上昇進行
する。 【0223】 【命令およびデータシステムアドレススペース分割】正
しい動作を保証するためには、キャッシュは、いつサブ
ページもCEU に存在するかを知らなければならない
。これにより、キャッシュは、相互接続部(またはさら
には局部DEU )からのある要求がサブページ状態変
化を要求するときサブキャッシュ無効化を要求すること
ができる。 【0224】この機構の一部として、CEU は、サブ
キャッシュ記憶状態を変化させるとき、キャッシュと通
信する。しかしながら、キャッシュは、サブキャッシュ
毎の情報を維持しない。その結果、SVA スペースの
同じサブページは、両サブキャッシュに同時に現われて
ないはずである。一般に、これは、同じSVA 領域が
命令およびデータの両者として使用できないというシス
テムソフトウェアをもたらす。自己修正プログラムすな
わちコードおよびデータが同じコンテキストアドレスセ
グメントの一部であるプログラムは、支持されない。 【0225】システムソフトウェアは、下記の場合特別
の注意を払わねばならない。(1)ブレークポイントを
挿入または除去する場合のように、命令を変更する場合
。(2)デバッガによるトラップ分析またはプログラム
分解操作の一部としての命令の読み取り。  (3)命
令ページとなるI/O デバイスからのページの読取り
。 【0226】命令をデータとして読むために、システム
ソフトウェアは、次の動作を行わなければならない。 (1)SVA を書き込むDSTTエントリを構成する
。(2)サブページが命令サブキャッシュにないことを
保証する(mflsp を使用) 。(3)データとし
て命令を読み取る(1d64.nscを使用) 。(4
)DSTTエントリ無効化。命令サブページをデータと
して書き込むためには、システムソフトウェアは次の動
作を行わなければならない。 (1)SVA を書き込むDSTTエントリを構成する
。(2)サブページがどの命令サブキャッシュにも存在
しないことを保証する(ページを係留するためにmps
aを使用し、すべての他のキャッシュおよびサブキャッ
シュ内のサブページを無効化するためmfsva.ex
を使用する)。(3)包含するサブブロックを引き出す
(1d64.nscを使用)。 (4)サブブロックを変更し、命令をデータとして書き
込む(st64.nsc) 。(5)ページ係留を解放
。(6)DSTTエントリを無効化。 【0227】命令ページは普通純粋であり、システムS
VA スペース管理の一部として、SVA スペースか
らI/O デバイスに書き込まれることを必要としない
。命令ページを書き込む前に、システムソフトウェアは
下記の動作をしなければならない。(1)サブページが
どのサブキャッシュにも存在しないことを保証する(ペ
ージを係留するためにmpsaを使用し、すべての他の
キャッシュおよびサブキャッシュのサブページを無効化
するためにmfsva.exを使用)。このセルがこの
ページを実行することが決してなければ、このステップ
は必要としない。(2)I/O を遂行する。(3)ペ
ージがデータキャッシュに存在しないことを保証する(
mflsp を使用) 。このセルがこの命令ページを
実行することがけっしてなければ、このステップは必要
とされない。(4)ページの係留を解放する。 【0228】I/O デバイスからの命令ページをSV
A スペースに読み取るとき、システムソフトウェアは
次の動作を行わなければならない。(1)ページを創成
する(ページを割り当て係留するためmpsaを使用し
、ページの創成を完了するためmpdwを使用する) 
。(2)I/O を遂行する。(3)ページがデータサ
ブキャッシュ内に存在しないことを保証する(mfls
p を使用して)。このセルがこの命令ページを実行す
ることが決してなければ、このステップは必要とされな
い。(4)ディスクリプタ変更フラグをクリヤし、サブ
ページアトミック状態のような他のディスクリプタの属
性およびディスクリプタ・書込みなしをセットする。(
5)ページの係留を解放する。 【0229】 【RRC組織およびデータ構造】本発明にしたがって構
成される好ましいRRC は、各々単一のサブリングに
接続される2つの独立のバンクに組織化される。1〜4
のRRC のバンクが低順序ページアドレスおよび交互
配置の構成程度に基づいて交互配置される(インタリー
フされる)。交互配置(インラリービング)は、システ
ム構成中スタティチックに構成される。リング:0に接
続されるRRC はRRC:0と称され、リング:1に
接続されるRRC は、RRC:1と称される。 【0230】単一リング:1形態の場合、RRC:0お
よびRRC:1の両者が、SVA[14] に基づいて
インタリーフされている。第19図aは、1つのかかる
好ましい形態を描いている。 【0231】1つのRRC:0をもつ二重リング:1形
態(TwoRing:1/1)の場合、単一のRRC:
0がSVA [14] に基づいてインタリーフされ、
2つのリング:1RRC がSVA[15:14]に基
づいてインタリーフされる。第19図Bは1つの好まし
いかかる形態を描いている。  【0232】2つのR
RC:0を有する二重リング:1形態(TwoRing
:1/2) の場合、RRC:0がSVA[15:14
]に基づいてインタリーフされ、2つのRRC:1がS
VA[15:14]に基づいてインタリーフされる。第
19C図は、1つのかかる好ましい形態を描いている。 【0233】4リング:1形態の場合、2つのRRC:
0がSVA[15:14]に基づいてインタリーフされ
、4つのリング:1RRC が  SVA[15:14
]に基づいてインタリーフされる。第19D図は好まし
いかかる形態を描いている。 【0234】多重RRC:0は、TwoRing:1/
2 およびFourRing:1形態に対しては単一の
リング:0上にある。多重RRC:1は、Tworin
g:1/1,TwoRing1/2およびfourRi
ng:1形態の場合別個のリング:1上に構成される。 【0235】第6図は、本発明にしたがって構成された
好ましいリングルート設定セル対(RRC 対またはR
RCP)を示している。対は、単一の通信線、例えばバ
ス、光伝送接続(以下においてリング間リンクと称す)
により接続されたRRC:0およびRRC:1を含む。 ダウンリンクRRC は、RRC 対の反対のRRC 
である。同じリング:0に接続されたRRC 対は、R
RC アレイと称される。セルすなわちリング:0につ
いて論述するとき、局部RRCまたはRRC対は、同じ
リング:0上に共存するRRC またはRRC 対であ
る。遠隔RRC またはRRC 対は、局部的でないこ
れらのすべてのRRC である。  【0236】各R
RC バンクは、3つのセクション、すなわち、ルート
設定相互接続部、ルート設定ディレクトリおよびリング
間バッファより成る。ルート設定相互接続部は、リング
相互接続部のRRC 部分を実施し、ルート設定ディレ
クトリに対してインターフェースを提供し、挿入および
抽出バッファによりRRC 内部ルート設定バスにリン
グをインターフェース接続する。ルート設定バスは、2
つの32ビット路より成る。抽出バッファからのパケッ
トは、リンクへのルート設定バスを経てリング間ドラム
バッファに転送される。パケットは、リングへのルート
設定バスを経てIBU からRI挿入バッファへ転送さ
れる。IBU はまた、パケットを、リンクへのルート
設定バスを経てエラー記録のためリング間ドラムバッフ
ァに転送する。 【0237】ルート設定ディレクトリは、RRC 対が
接続されるリング:0内のすべての割り当てられたペー
ジに対するエントリーを含む。ルート設定ディレクトリ
は、ルート設定ディレクトリユニット(RDU)および
実際のラムベースのディレクトリより成る。RDU は
、ディレクトリアクセスシーケンスを制御し、ルート設
定ルールを含む。各パッケージに対して、ルート設定相
互接続部は、pkt.addr、pkt.  コマンド
、およびfifo状態をルート設定ディレクトリに通す
。ルート設定ディレクトリは、ルート設定コマンドおよ
びパケットコマンドを更新するための命令をルート設定
相互接続部に帰す。リングに関連する交互配置は、Rd
MasterConfig  位置により特定される。 【0238】リング間バッファは、リング相互接続部抽
出バッファからの到来パケットに緩衝作用し、リング間
リンクにインターフェース接続する。リング間バッファ
は、リング間バッファユニット(IBU) 、リング間
ドラムバッファ(IDB) およびリング間リンクイン
ターフェースより成る。IDBは、パケットがリング間
リンクを介してダウンリンクRRC に伝送されてしま
い、そして確認が帰されるまで、ルート設定相互接続部
からのすべてのパケットに緩衝作用する。IDB はま
た、RRC エラーキューを含む。IBU は、出リン
グ間リンクパケットに緩衝作用してフォーマット化し、
リング間リンク到来パケットに対してエラーチェックお
よびバッファ作用を提供し、IDB を制御する。リン
グ間リンクインターフェースは、32ビットワイドIB
U 出パケットおよび到来パケットを物理的リンクフォ
ーマットに、またはその逆に変換する。 【0239】RRC バンクは、別個のリング間リンク
に接続するように、あるいは単一のリング間リンクを共
有するように構成できる。二重リング間リンク構成にお
いては、リング間リンクは完全に独立的である。単一の
リング間リンク構成において、両RRC バンクは単一
のリング間リンクを共有する。リング間リンクは、RR
C バンクのIBU に接続される。RRC は、リン
グ間リンクを共有するように調停される。IBU イン
タリーフ構成およびパケットアドレスで、到来パケット
がどのバンクにルート設定されるかを決定する。 【0240】RRC は、UCS システム障害検出戦
略に合致している。すべてのバスは、パリティおよびE
EC 保護されている。パリティまたはECC は、可
能なときに再生されるのではなく、チップを通される。 すべてのdramおよび大型sramデータ構成は、E
EC 保護される。単一ビットソフトまたはハードエラ
ーは、フェイタルシステムエラー(システムリブートを
必要とする)を引き起こすことなくかつ可能ならばソフ
トウェア透過性態様で修正される。高エラー率を予測す
るデータリンク(リング間リンク)は、ソフトウェア透
過性フレームレベル動作を行なう。フレームレベル動作
は、エラーが検出される再伝送を含め、フレームのエラ
ーのない伝送を保証する。    【0241】 【ルート設定相互接続部】 【構成】各ルート設定相互接続部(RI)は、RRC 
バンクを、サブリング、RRC 内部ルート設定バスお
よびルート設定ディレクトリにインターフェース接続す
る。RIは、2つのルート設定相互接続部ユニット(R
IU) として実施される。本発明にしたがって構成さ
れた好ましいRIU が第7図に例示されている。各R
IU は、16バイトワイドリングの半分および8バイ
トワイドルート設定バスの半分にインターフェース接続
される。2つのRIU は、パケットのアドレスおよび
コマンドフィールドをルート設定ディレクトリにパスし
、ルート設定ディレクトリは、パケットルート設定コマ
ンド、新パケットコマンドおよびエラー状態を戻す。 【0242】各パケットは、リング上にある間10の1
6バイト二重ワード(20ワード)より成る。各長いパ
ケット(データを含む)は、各RIU 抽出バッファに
9ワードで、挿入バッファに10ワードで記憶される。 各短いパケット(データなし)は、各RIU 抽出バッ
ファに1ワードで、そして挿入バッファに2ワードで記
憶される。RIU0およびRIU1は、リングデータ[
63:0]およびリングデータ[127:64]にそれ
ぞれインターフェース接続する。RIU0およびRIU
1抽出バッファは、リンクへのルート設定バス[15:
0]およびリンクへのルート設定バス[31:16] 
にそれぞれインターフェース接続される。RIU1およ
びRIU1挿入バッファは、リングへのルート設定バス
[15:0]およびリングへのルート設定バス[31:
16] にそれぞれインターフェース接続される。 【0243】RIU のリングイン−リングアウト部分
は、6段階シフトレジスタより成る。パケットは、シフ
トレジスタから抽出バッファにコピーまたは抽出でき、
挿入バッファからのパケットは、シフトレジスタに挿入
できる。挿入および抽出バッファはFIFO規則で管理
される。 【0244】 【RI動作】リング相互接続部は、2つのソースから2
つのデスティネーションにルート設定される。ソースは
、先行のリング相互接続部および挿入バッファである。 先行のリング相互接続部からのパケットは、リングパケ
ットと称され、挿入バッファからのパケットは挿入パケ
ットと称される。デスティネーションは、次のリング相
互接続部および抽出バッファである。次のリング相互接
続部に出るパケットは、リングパケットと称され、抽出
バッファへ出るパケットは抽出パケットと称される。挿
入パケットは挿入バッファに供給され、抽出パケットは
リング間バッファユニット(IBU) により抽出バッ
ファから取り出される。 【0245】パケットのアドレスおよびコマンドフィー
ルドは、ルート設定ディレクトリに通され、ルート設定
ディレクトリはパケットルート設定コマンドを戻す。R
Iは、パケットルート設定コマンドが得られるまで全て
のパケットを緩衝記憶する。リングエンプティフィール
ドの表明は、リングパケットが空(エンプティ)である
ことを指示する。ノンエンプティリングパケットは、つ
ねに挿入パケットに代わって処理される。リングパケッ
トが空であり、挿入パケットが空でないと、次の挿入バ
ッファパケットは、リング相互接続部により処理される
。 【0246】ルート設定ディレクトリからのコマンドは
、パケットルート設定、パケットフィールド、抽出バッ
ファ、および挿入バッファコマンドより成る。 【0247】全パケットに対するパケットルート設定コ
マンドは、パスおよび空である。パケットパスコマンド
は、リング相互接続部が全パケットを無変更で次のリン
グ相互接続部に通すべきことを特定する。パケット空コ
マンドは、リング相互接続部が、リングエンプティ信号
およびパケット命令CmdEmptyフィールドをセッ
トすることによりパケットを空にすることを特定する。 CmdRequestIdフィールドがリング相互接続
部CellNumberフィールドと整合する全パケッ
トは、無条件で空にされ、ルート設定ディレクトリ命令
は必要とされない。これにより、リングエンプティ信号
は、ルート設定ディレクトリからのコマンドを待つとき
に可能なよりも速くセット可能となる。 【0248】抽出バッファコマンドは、ノープッシュお
よびプッシュである。ノープッシュコマンドは、抽出バ
ッファが現在パケットとを記憶しないことを特定する。 プッシュコマンドは、現在リングパケットが抽出バッフ
ァにコピーされるべきことを特定する。 【0249】挿入バッファコマンドは、ノーポップおよ
びポップである。ノーポップコマンドは、挿入バッファ
トップパケットが挿入されなかったことを特定する。ポ
ップコマンドは、挿入バッファトップパケットが処理さ
れてしまい、ポップされていることを特定する。 【0250】パケットフィールドコマンドは、どの出パ
ケットコマンドフィールドが変更されるかを特定する。 変更できるパケットコマンドフィールドは、下記の表に
示される。pkt.Freezeを除く全フィールドは
、pkt 命令[31:0]内にある。 【0251】   パケットコマンドフィールド        命令
の記述  Freeze              
              パス、クリア、またはセ
ット  Invalid              
             パス、クリヤ、またはセッ
ト  Pcopy                 
            パス、クリヤ、または  セ
ット  Timestamp            
             パス、またはルールからク
リヤ                       
             RingMasterなら
ばセット  InvalidatorBusy    
               パス、クリヤ、または
セット  ResponderBusy       
              パス、クリヤ、またはセ
ット  InvalidateLookahead  
             パス、クリヤ、またはセッ
ト  rrc                   
            パス、クリヤ、またはセット
  RRCFault               
           パス、またはセット  Spa
AddrError                
      パス、またはセット  MarkedFa
ult                      
 パス、またはセット  UnMarkedFault
                     パス、ま
たはセット【0252】パケットは、エンプティパケッ
トルート設定コマンドおよびプッシュ抽出バッファコマ
ンドにより抽出される。パケットは、パスパケットルー
ト設定命令およびプッシュ抽出バッファ命令によりコピ
ーされる。 【0253】 【抽出バッファ管理】抽出バッファは、短(2ワード)
および長(18 ワード) パケットの組合せを保持す
る。これ512 ワードに等しい。これは、最大、長い
もので18、短いもので256 のパケット、または長
/短パケットの組合せを生ずる。ピークサブリングパケ
ットレートは、IBM が抽出アルゴリズムを空にし得
るレートを越すから、抽出バッファ管理フロー制御アル
ゴリズムが必要とされる。制御アルゴリズムは、システ
ムのロードの低減との関連における順方向の進行の最大
化の原理に基づく。進行における完成要求へ向けてシス
テムの資源の割当を優先すると、これらの両目標が達成
される。なぜならば、1つの要求を完成することは、同
時にシステムのロードを減じ、もっとも効率的な順方向
の進行を達成する。制御アルゴリズムは、パケットの類
別およびリングフロー制御機構の使用に基づく。 【0254】リング抽出バッファ内の空スペースは、2
つの形態化可能なポインタ、ExtractAllTh
reshold およびExtractRspThre
shold により4つの領域に分割される。現在領域
は、抽出バッファに残る空ワードの数によって選択され
る。空からフル状態に向かう領域は、ExtBuf:A
ll, ExtBuf.NonOpt, ExtBuf
:PendReq およびExtBuf:Full で
ある。抽出バッファ状態はRRC バンク当りの単位ベ
ースで維持される。これらの領域の境界は、ソフトウェ
アにより形態化可能である。リングパケットは、抽出バ
ッファ管理のため、3つの相互に排他的なカテゴリーに
群別される。 【0255】(1)オプショナルパケット下記の遠隔的
に発せられたパケットはコヒーレンシの観点からオプシ
ョナルである。すなわち、−Pendle:None 
およびSpState:{Inv|Ro}と再結合。 −局部リング:0内にサブページのリードオンリーコピ
ーなしに関するDuplicate.data。 −局部リング:0内のサブページのリードオンリーコピ
ーなしに関するsva readro.data。 (2)ノンプショナルパケット 遠隔的に発された要求を完成するために、SpStat
e に基づいて抽出されねばならない。オプショナルパ
ケットを含まない。 (3)局部的に発せられるパケット、またはRRC ペ
ンディング要求(RRC:0Pend{1,2,3},
RRC:1Pend{1,2,3,4,5}) を満足
するパケット。 【0256】これらのパケットのカテゴリーは、下記の
ように4つの抽出バッファ領域で処理される。すなわち
、 領域            オプショナル  ノンオ
プショナル      応答パケット        
        パケット      パケット   
                       Ex
tBuf:all      受入れ        
受入れ                受入れExt
Buf:NonOpt   パス          
受入れ                受入れExt
Buf:Pending  パス          
パスおよび                    
          RspBsy,InvBsy を
表明  パスExtBuf:Full     パス 
         パスおよびRspBsy,    
 パス                      
        InvBsyを表明        
  テクスト参照【0257】ExtBuf: All
 領域において、Enpty およびExtractA
llThreshold 間で、通常抽出バッファにコ
ピーされる全パケットがコピーされる。ExtBuf:
NonOpt 領域において、ExtractAllT
hreshold およびExtractRspThr
eshold 間で、通常抽出バッファにコピーされる
であろうすべてのノンオプショナルパケットおよび応答
パケットがコピーされる。全オプショナルパケットはパ
スされる。抽出バッファおよびRRC は、オプショナ
ルロードがさらに到来するにつれ、それを放棄する。E
xtBuf:PendReg領域において、Extra
ctRspThreshold およびFull間で、
RRC ペンディング要求に関するパケットのみが受け
入れられる。すべてのオプショナルパケットおよびノン
オプショナルパケット(新しい到来要求を含む)は、レ
スポンダビージー( rsp busy )またはイン
バリデイター  ビージー( inv busy )の
表明によりビージーとなる。 RRC は、過負荷状態を解放するため、オプショナル
ロードおよび新要求の両者を放棄する。 【0258】抽出バッファがフル状態であると、RIU
 はオプショナルパケットをパスし、ノンオプショナル
要求にレスポンダビージーまたはインバリデイター  
ビージーを表明する。もしもパケットがこのRRC に
より発せられる要求に対する応答であると、パケットは
リング上に残り、pkt.cmd.timestamp
 フィールドはクリヤされる。 RRC ペンディング要求に関するパケットのみが第3
領域において受け入れられるから、パッケージは、リン
グを回る後続の移動の際にコピーされることになる。パ
ケットがその二度目の回転途上にあるという事実は、リ
ング内のすべてのセルに透過性(明らか)である。もし
も、ペンディング要求(snarf) を満足するパケ
ットを除き、パケットがこのRRC により発せられる
要求に対する応答でないと、ペンディング要求状態は、
Pend4:Reissue 状態に転換される。 【0259】 【ルート設定ディレクトリ】 【ルート設定ディレクトリ組織】ルート設定ディレクト
リは、ルート設定ディレクトリユニット(RDU) お
よび実際のラムにベースのディレクトリより成る。RU
D は、ディレクトリアクセスシーケンスを制御し、ル
ート設定ルールを含む。ルールの好ましい実施は、SP
A ルールをハードコード化し、SVA ルールをRR
C イニシャライズ中ロードされることを可能にする。 【0260】第8図は、本発明の好ましい実施例である
ルート設定ディレクトリの組織を描いてある。ルート設
定ディレクトリは、RRC 対が接続されるリング:0
内のすべての割り当てられたページに対するエントリー
を含む。単一の局部キャッシュ以上に割当てられたSV
A ページに対しては、単一のルート設定ディレクトリ
エントリが必要とされる。ルート設定ディレクトリは、
128 のサブディレクトリの各々に対して3レベルb
tree として組織化される。サブディレクトリは、
SVA[20:14]により特定されるように、単一の
局部キャッシュセット内のすべての割り当てられたペー
ジに対するエントリを含む。サブディレクトリは、最大
64のリング:0セルを支持する最大210 のページ
を記述し得る。各セルの局部サブキャッシュは、各々1
6ページを含む128 セットを包含する。リング:0
サブリングは、キャッシュセットlsb,SVA[14
] に基づきサブページの転送をインタリーブするよう
に構成される。かくして、ルート設定ディレクトリの半
分は、各リング:0サブリング(リング:0A , リ
ング:0B )と関連され得る。 【0261】L1エントリ(Entry) は、SVA
[39:25]により索引付けさはれる。L1エントリ
は、1セット内の各24ページに静的に割り当てられる
。各有効L1エントリは、動的に割当てられるL2エン
トリにポインタを特定する。最大210 のL1エント
リが利用可能である。未割当てのL2エントリは、単一
的にリンクされたフリーリストに組織化される。Ind
exi L2Free List Pointerは、
第1のL2フリーリストエントリを指す。フリーリスト
内の各L2Enryは、次のL2フリーリストエントリ
に対するポインタを含む。最後のL2フリーリストエン
トリは、ゼロポインタを含む。各L2エントリは、16
のサブエントリを含む。各有効L2サブエントリは、動
的に割り当てられたL3エントリに対するポインタを含
む。最大で210 のL3エントリが利用可能である。 各L3エントリは単一のページを記述する。未割当ての
l3エントリは、単一にリンクされたフリーリストに組
織化される。IndexiL3Free List P
ointer は、第1のL3フリーリストエントリを
指す。フリーリスト内の各L3エントリは、次のL3フ
リーリストエントリーに対するポインタを含む。最後の
L3フリーリストエントリーは、ゼロポインタを含む。 各L3エントリは、16のL3サブエントリよりなり、
そしてその各々は8のサブページに対するサブページ状
態を記述する。 【0262】 【ルート設定ディレクトリの構成】第9図は、本発明の
好ましい実施例であるルート設定ディレクトリの構造を
描いたものである。ルート設定ディレクトリは、各サブ
リングに対してL1,L2 およびL3テーブルに物理
的に組織化される。L1テーブルは、SVA[20:1
4](セット番号)およびSVA[39:25](in
dex1)の連結によりアドレスされる。 SVA[39:25:,20:14] は、index
1と称される。各L2エントリは、L2サブエントリお
よびL2V より成る。L2サブエントリは、SVA[
20:14],L1Table[indexl].12
ptrおよびSVA[24:21](index2)の
連結によりアドレスされる。L2V は、SVA[20
:14]およびL1Table[index1].12
ptr の連結によりアドレスされる。L2V フィー
ルドは、もしもL2エントリが有効であればレベル2サ
ブエントリ有効フィールドとして解釈され、L2エント
リが無効であればレベル2ネクストフリーリストエント
リポインタとして解釈される。各L3エントリは、L3
  サブエントリおよびL3有効より成る。L3サブエ
ントリは、SVA[20:14],L2Table.1
2sub[index2].ptrおよびSVA[13
:10](index3)の連結によりアドレスされる
。個々のサブページ状態は、SVA[20:14],L
2Entry.12sub[index2].ptr,
SVA[13:10] およびSVA[9:7](in
dexsp) の連結によりアドレスされる。L3V 
フィールドは、もしもL3エントリが有効であればレベ
ル3 サブエントリ有効フィールドとして解釈され、ま
たもしもL2エントリが無効であればレベルネクストフ
リーリストエントリポインタとして解釈される。 【0263】1つのバンクの表構成のC状記述を以下に
示す。             }L3V; 【0264】第
10図は、本発明に従って構成された好ましいリングル
ート設定セルにおけるルート設定ディレクトリエントリ
のフォーマットを描くものである。 【0265】 【L1Entry 】L1Entry は、L2エント
リポインタ(12ptr)、L2ポインタ有効ビット(
11 有効)およびL1チェックビット(11 チェッ
ク)を含む。  12ptr は、後述のようにL2エ
ントリをアドレスするのに使用される。L1Valid
 セットは有効12ptr を指示し、clear は
無効12ptr を指示する。L1チェックは、5ビッ
ト単一ビットコレクトおよびダブルビット検出ECC 
コードより成る。 【0266】 【L2Subentry】L2Subentryは、L
3エントリポインタ(13ptr) およびL2チェッ
クビット(11 チェック) を含む。13ptr は
、上述のようにL3エントリをアドレスするのに使用さ
れる。L2チェックは、5ビット単一ビットコレクトお
よびダブルビット検出EEC コードより成る。 【0267】 【L2 VEntry 】L2V Entry は2つ
のフォーマットを有しており、1つはL2V エントリ
(L2V.Valid) として使用のためのものであ
り、L2フリーリスト(L2V.Invalid)の一
部ならば第2のものである。L2V.valid は、
16有効ビットおよび5ECC チェックビットのアレ
イより成る。L2V.valid.12valid[n
]set は、有効L2サブエントリ[n] を指示し
、clear は、無効L2サブエントリ[n] を指
示する。 【0268】L2V.invalid は、ネクストフ
リーL2エントリ、未使用フィールドおよびECC チ
ェックフィールドより成る。L2V.invalid.
NextFreeは、ネックストL2フリーリストエン
トリをアドレスするのに使用される。NextFree
 high order bit clear は、ゼ
ロポインタを指示する。 【0269】 【L3Subentry】L3Subentryは、8
サブページ状態フィールドポインタ(L3Subent
ry.SpState) およびチェックビット(L3
Subentry.check)を含む。L3Sube
ntry.checkは、8ビット単一ビットコレクト
およびダブルビット検出EEC コードより成る。 【0270】 【L3VEntry】L3VEntryは2つのフォー
マットを有し、第1のものはL3VEntry(L3V
.Valid) として使用のためであり、L3 fr
ee list (L3V.Invalid)の一部な
らば第2のものである。L3V.valid は、16
ビットの生成されたOwnerLimit, Page
Pend  およびecc チェックフィールドのアレ
イより成る。L3V.valid.13valid[n
]はL3Subentry[n] に対応し、L3V.
生成の関数である。 【0271】   13valid[n]      生成     
   L3Subentry[n]       0 
           0          全サブ
ページ無効      1            0
          実際のサブページ状態     
 0            1          
すべてのサブページ排他的             
           1            1
          実際のサブページ状態【0272
】L3V.valid.OwnerLimitは、ペー
ジ内のサブページの所有権を局部リング:0に制限する
ように、ソフトウェアによりセットまたはクリヤされる
。クリヤされるとき、いずれのリング:0もサブページ
を所有し得ないことを特定する。セットされるとき、局
部リング:0内のセルのみがサブページを、非排他的、
アトミックまたはトランジェントアトミック状態を所有
し得ることを特定する。遠隔リング:0は、リードオン
リーコピーを受領できる。ページ障害は、OwnerL
imitがセットされるときRRC により所有権要求
に報知される。再結合要求は、OwnerLimitが
セットされるとき局部リング:0を越えて伝搬されない
。RRC ディスクリプタ割当中クリヤされる。 【0273】L3V.valid.PagePendは
、セットされるとき、RRC ページが割当て解除シー
ケンスが進行中であることを指示する。 【0274】L3V.invalid は、ネクストフ
リーL3エントリ、不使用フィールドおよびECC チ
ェックフィールドより成る。 【0275】L2invalid.Nextfreeは
、次のL3フリーリストエントリをアドレスするのに使
用される。NextFree high order 
bit clear は、ゼロポインタを指示する。 【0276】ルート設定ディレクトリ動作可能な8つの
ルート設定セル(RRC)ディレクトリ動作がある。こ
れらの動作は単一パケット時間内に生ずる。すべてのパ
ケットタイプで単一の動作が実行するようにする。 レベル1ミスルックアップ動作 レベル2ミスルックアップ動作 通常のルックアップ動作 レベル3サブエントリ割り当て解除 レベル2サブエントリ割り当て解除 SPA アクセス 再生ないしリフレッシュ 【0277】システム仮想アドレス(SVA)ルックア
ップ動作 すべてのルックアップ動作は、サブディレクトリの選択
、レベル1テーブルルックアップ、レベル2テーブルル
ックアップ、レベル3テーブルルックアップおよびレベ
ル3サブページ状態の修正という5つの段階を通じて進
行する。レベル2エントリおよびレベル3エントリは、
ルックアップ動作を完了するために割り当てが必要とさ
れるであろう。 【0278】通常のルックアップ動作 通常のルックアップ動作は、レベル2エントリが有効で
あることをレベル1テーブルが指示し且つレベル3エン
トリが有効であることをレベル2テーブルが指示すると
きに生ずる。 【0279】L1EntryAddr 、L2Entr
yAddr およびL3EntryAddr が、ルー
ト設定ディレクトリ構造の項で叙述したようにして計算
される。設定されつつあるL1EntryAddr →
11valid はレベル2ポインタが有効であること
を指示する。SVA[20:14]およびL1Entr
y[index 1].ptrの連結は、サブディレク
トリが10ビットポインタにより暗示ないし含意される
ので、L2Entry を特定する。レベル2サブエン
トリ(L2EntryAdrr →12sub[ind
ex2])はSVA[24:21]により割り出しない
し指標付けられる。設定されつつあるL2Entry.
12v [index2]はレベル3ポインタ(L2E
ntryAdrr →12sub[index2].p
tr)が有効であることを指示する。SVA[20:1
4]およびL2Entry[index2].ptr 
の連結は、サブディレクトリが10ビットポインタによ
り暗示されるので、L3Entry を特定する。レベ
ル3サブエントリ(L3EntryAdrr →13s
ub[index3])はSVA[13:10]により
指標付けられる。それぞれのレベル3サブエントリは、
8つのサブページについてのサブページ状態を包含し、
SVA[9:7]により指標付けられる。Index3
はSVA[13:10]を指示しそしてIndexes
 はSVA[9:7]を指示する。L3Entry.v
alid[index3] およびL3Entry.c
reated は、対応するサブエントリが有効かどう
かをそしてもし無効であればデフォルトサブページ状態
を特定する。 【0280】サブページ状態は順次、L3EntryA
drr →13sub[index3].SpStat
e[indexes]に格納されるべき新規なサブペー
ジ状態を発生するルート設定ディレクトリ規則(Rou
ting Directory Rules)へ呈示さ
れる。 【0281】レベル1ミス動作レベル1ミスルックアッ
プ動作が、レベル1テーブルルックアップがレベル2エ
ントリポインタが無効であることを指示するときに生ず
る。レベル1ミスルックアップ動作は、ルート設定ディ
レクトリが要求システム仮想アドレスのページおよびサ
ブページ状態を記述するのが許容されるよう、レベル2
エントリおよびレベル3エントリを割り当てる。レベル
1ミスが、 SVA[39:25]により表示されるア
ドレス帯域のページへのリング:0(Ring: 0)
 内の最初の参照によって引き起こされる。もし、パケ
ット命令がciu ex summaryであれば、要
求はページ発生動作の一部である。 【0282】レベル2フリーリストヘッドはレベル2フ
リーリストポインタにより指示される。フリーリストヘ
ッドL2Entry.NextFreeは、次のフリー
レベル2エントリへポインタを特定する。レベル2フリ
ーリストヘッドは、LevelEntry.point
erをレベル2フリーリストポインタで書き込み且つL
1Entry.valid を設定することによりレベ
ル2エントリとして割り当てられる。レベル2フリーリ
ストポインタが、レベル2フリーリストポインタをレベ
ル2フリーリストヘッド、L2Entry.NextF
reeで書き込むことによって更新される。L2Ent
ry.12v.12valid[SVA[24:21]
] が設定されそして残りの有効ビットがクリアされる
。 【0283】 ステップ                     
 動  作1        L1EntryAddr
 →12ptr =  L2FreeListPoin
ter2        L1EntryAddr →
valid =  set3        temp
 =  L2FreeListPointer →12
v.Invalid.NextFree4      
  L2FreeListPointer →12v.
Valid.12valid[15:0] = cle
ar 5        L2FreeListPoi
nter →12v.Valid.12valid[(
SVA[24:21])] = set 6     
   L2FreeListPointer = te
mp【0284】もし、L2FreeListPoin
ter がヌル(空白) であれば、ルート設定ディレ
クトリフォールトが合図される。対応するリング:0が
単一のサブディレクトリ内で210個以上の独自のペー
ジを割り当てるかルート設定セルがレベル2エントリを
正しく割り当てまたは割り当て解除するのに失敗した場
合だけ、この誤りが生ずる。 210個という独自のページは64個のプロセッサセル
に対応する(一個のセル当り210ページ/24 ペー
ジ)。 【0285】レベル2ミス動作 レベル2ミスルックアップ動作が、レベル2テーブルル
ックアップがレベル2エントリポインタが無効であるこ
とを指示するときに生ずる。レベル2ミスルックアップ
動作は、ルート設定ディレクトリが要求システム仮想ア
ドレスのページおよびサブページ状態を記述するのが許
容されるよう、レベル3エントリを割り当てる。レベル
2ミスが、 SVA[39:21]により表示されるア
ドレス帯域のページへのリング:0(Ring: 0)
 内の最初の参照によって引き起こされる。もし、パケ
ット命令がciu ex summaryであれば、要
求はページ発生動作の一部である。 【0286】レベル3フリーリストヘッドはレベル3フ
リーリストポインタにより指示される。フリーリストヘ
ッドL3Entry.NextFreeは、次のフリー
レベル2エントリへとポインタを特定する。レベル3フ
リーリストヘッドは、Level2Entry.12s
ub[index2].13ptrをレベル3フリーリ
ストポインタで書き込むことによって割り当てられる。 レベル3フリーリストポインタが、レベル3フリーリス
トポイントをレベルフリーリストヘッドL3Entry
.NextFreeで書き込むことにより更新される。 L3Entry.13v.13valid[SVA[1
3:10]]が設定されそして残りの有効ビットがクリ
アされる。L3Entry.13sub([SVA[1
3:10])].SpState[SVA[9:7]]
 が設定され、適当なsubpage state お
よび残りの7つのsub state が無効へと設定
される。もしパケット命令がciu ex summa
ryであれば、L3Entry.13v.Valid.
created が設定される。 【0287】 ステップ                     
 動  作7        L1EntryAddr
 →12sub.13ptr =  L3FreeLi
stPointer8        temp = 
 L3FreeListPointer →13v.I
nvalid.NextFree9        L
3FreeListPointer →13v.Val
id.13valid[15:0] = clear 
10        L3FreeListPoint
er →13v.Valid.13valid[(SV
A13:10])] = set11        
L3FreeListPointer →13sub[
(SVA13:10])].           S
pstate[7:0]= invalid 12  
      L3FreeListPointer →
13sub[(SVA13:10])].Spstat
e[(SVA[9:7])] =          
new−sp−state13        L3F
reeListPointer →13v.Valid
.Created = clear 14      
  L3FreeListPointer = tem
p【0288】システム仮想アドレス割当て解除動作シ
ステム仮想アドレス割当て解除動作はパケット命令ci
u inv sum alloc 、ciu pure
 inv sum allocおよびRrcDeall
ocDescにより開始される。すべての割当て解除動
作は、サブディレクトリの選択、レベル1テーブルルッ
クアップ、レベル2テーブルルックアップ、レベル2エ
ントリを更新してレベル3エントリを割当て解除すると
いう5つの段階を通じて進行する。もしすべてのレベル
2サブエントリが無効であれば、順次レベル2エントリ
もまた割当て解除が行われる。 【0289】レベル3エントリ割当て解除動作レベル3
エントリの割当て解除後すべてのレベル2サブエントリ
が無効でなければ、レベル3エントリ割当て解除動作が
実行される。以下の動作は、パケット命令がciu i
nv summary であれば実行される。 【0290】 ステップ                     
 動  作1        L2EntryAddr
 →12v.Valid.12valid[(SVA[
24:21])] = clear 2       
 L3EntryAddr →13v.Invalid
.1NextFree = L3FreeListPo
inter 3        L3FreeList
Pointer = L2EntryAddr →12
sub[(SVA[24:21])].13ptr 【
0291】以下の動作は、パケット命令がciu wr
 descripto.data またはciu in
v sum allocate.data であれば実
行される。 ステップ                     
 動  作1        L2EntryAddr
 →12v.Valid.12valid[(SVA[
24:21])] = clear 2       
 Packet.DataWord2[9:0] = 
L2EntryAddr →12sub[(SVA[2
4:21])].          13ptr  【0292】レベル2エントリ割当て解除動作レベル3
エントリの割当て解除後すべてのレベル2サブエントリ
が無効でなければ、レベル2エントリ割当て解除動作が
実行される。 【0293】 ステップ                     
 動  作1        Execute dea
llocate Level3 Entry Oper
ation(レベル3エントリ割り当て解除動作を実行
せよ) 2        L1EntryAddr →11V
alid = clear 3        L2E
ntryAddr →12v.Invalid.Nex
tFree = L2FreeListPointer
4        L2FreeListPointe
r = L2EntryAddr →12ptr 【0
294】SPA動作SPA 動作は、spa read
 requestとspa write reques
t という2つのパケット命令により開始される。Sp
aDirect とSpaLookup という2種類
のspa 動作がある。 【0295】SpaDirect 動作は、パケットア
ドレスにおいて特定されるspa 位置に対するディレ
クトリをベースにしたspa 読取りまたは書込みを遂
行する。Spa write request データ
がPkt.DataWord0 に供給される。Spa
 read  request 応答データがPkt.
DataWord0 に供給される。 【0296】SpaLookup 動作は、spa ア
ドレス空間からの被制御条件の下で、RDU ルックア
ップ動作をエミュレートし動作の割当て解除を行うのに
使用される。Pkt.Address 位置オフセット
およびctl$RiuLookupCommand. 
SubAddr はエミュレートされたSVA を形成
しそしてctl$RiuLookupCommandの
残余はエミュレートされたパケット命令を形成する。R
DU は、エミュレートされたパケット命令を使用しそ
してエミュレートを行い、正常なルックアップ動作また
は割当解除動作を遂行する。SpaLookup 動作
の結果は、L2FreeListPointer、 L
3FreeListPointerおよびSpaDir
ect 位置へのアクセスによって調べられる。 【0297】リフレッシュ動作 リフレッシュは、それぞれのRRC が個々にそれをリ
フレッシュ制御することにより分散した態様で達成され
る。 単一のリフレッシュは一パケットプロセッシング時間を
必要とする。こうして、リフレッシュは、空のまたは凍
結されたパケット中にのみ遂行できる。なぜならば、こ
れらのパケットは何らのプロセッシングも必要としない
からである。RRC は、リフレッシュを行うために、
すべての空のそして凍結されたそして隠れたパケット時
間の使用によって、バックグラウンドにおいてリフレッ
シュを行おうとする。 【0298】L1Table、 L2Tableおよび
L3SubpageStateという3つのダイナミッ
クRAMをベースにしたデータ構造はリフレッシュを必
要とする。リフレッシュ動作の間、512列のうちの一
列がそれぞれのデータ構造でリフレッシュされる。 【0299】ECC 修正動作 ルート設定セルが修正可能なECC 誤りを検出したと
き、追加のパケット時間がデータ構造を修正するのに必
要である。リング凍結動作が、修正および再度のルック
アップに複数のパケット時間を見込むのに使用される。 【0300】修正可能なECC 誤りが検出されたとき
、ECC 誤りはパケットプロセッシングで始めから知
られていなかったので、RRC はFull−1 Ri
ng Freeze方法を開始する。最初のパケットは
、抽出バッファフルセクションの項で叙述したようにし
て取扱われ、そして残余のパケットは、一回転の間、凍
結とマーク付けされる。再書込みが行われた被修正デー
タ構造はRDU でセーブされそして順次一リング転回
後にECC 誤りを招くパケットを再処理するのに使用
される。ルート設定セルが生じたパケットだけが処理さ
れ、非発生パケットはリング内の別のセルによって抽出
される。修正パケットのセーブ動作は、ルート設定セル
により発せられたパケットが、単一のビット(修正可能
)ハード誤りについて正しく処理されるようにする。 【0301】ルート設定ディレクトリの初期化ルート設
定セルハードウエアはルート設定ディレクトリを自動的
には初期化しない。すべてのLevel1Entrie
s (レベル1エントリ)、Level2Subent
ries(レベル2エントリ)およびLevel3Su
bentries(レベル3エントリ)は無効へと初期
化されねばならない。レベル2およびレベル3フリーリ
ストポインタおよびフリーリストが、すべてのエントリ
およびサブエントリがフリーであることを指示するため
に初期化されなければならない。 【0302】リング間バッファ(InterRing 
Buffer) リング間バッファは、リング相互接続
抽出バッファからの入力パケットをバッファしそしてリ
ング間リンクとのインターフェースを行う。リング間バ
ッファはさらにルート設定セルバンクバッファの管理を
制御する。リング間バッファはリング間バッファユニッ
ト(InterRing BufferUnit、IB
U) 、リング間ダイナミックRAMバッファ(Int
erRing Dram Buffer、IDB)およ
びリング間リンクインターフェース(InterRin
gLink Interface) からなる。 【0303】リング間バッファ構造 リング間バッファユニット(IBU) IBU はリング間リンク出パケットをバッファしそし
てフォーマット化し、リング間リンク入りパケットにつ
いて誤り検査とバッファ動作を行いそしてリング間ダイ
ナミックRAMバッファを制御する。出バッファは72
ワードを包含しており、最大が4の長さのパケットを保
持し、入バッファは最大が4の長さのパケットについて
72ワードを保持する。入バッファのサイジング(定寸
)動作はリング間リンクレートと絶対遅れ(長さおよび
切替遅れ)に依存する。72ワード入バッファは、1 
gbit/secリンク部に直接接続され、10kmの
最大長について定寸が行われる。短いパケットは2ワー
ドを費やしそして長いパケットは出または入りバッファ
の18ワードを費やす。出および入りバッファはfif
o方式で管理される。 【0304】リング間ダイナミックRAMバッファ(I
DB) リング間ダイナミックRAMバッファ(InterRi
ng Dram Buffer、IDB)は、リングパ
ケットキュー(RPQ、 Ring Packet Q
ueue) およびルート設定セル誤りキュー(RRC
 ErrorQueue) を包含している。本発明に
従って構成された好ましいルート設定セル(RRC)に
おけるリング間ドラムキューについての構成が第11B
図に図示されている。 リングパケットキューは、パケットがリング間リンクを
通じダウンリンクルート設定セルへ伝送され且つ確認な
いし応答(acknowledge)が戻されるまで、
ルート設定相互接続ユニットからのすべてのパケットを
バッファする。抽出バッファおよび出バッファが一杯で
あるとき、抽出バッファパケットは、出バッファがそれ
らを受容できるまでIDBへ注入される。リングパケッ
トキューは循環キューとして組織されている。リングパ
ケットキュープッシュポインタ(RPQPushPoi
nter) は、抽出バッファからの次のパケットにつ
いてキュー動作を行うために、最初のフリーワードを指
示する。リングパケットキューポップポインタ(RPQ
 PopPointer) は、リング間リンクを通じ
て伝送される次のパケットの最初のワードを指示する。 PRQ コミットポインタは、ダウンリンクルート設定
セルにより応答されなかった最も古いパケットの最初の
ワードを指示する。リングパケットキュープッシュポイ
ンタおよびリングパケットキューポップポインタ間のパ
ケットはリング間リンクを通じて伝送されるようキュー
イングないし待ち合わせ動作が行われる。RPQ ポッ
プポインタおよびリングパケットキューコミットポイン
タ間のパケットはダウンリンクルート設定セルからの応
答を待っている。もし、リングパケットキュープッシュ
ポインタがリングパケットキューポップポインタに等し
ければ、リング間リンクでの伝送のための何らのキュー
パケットもリングパケットキューにはない。もし、リン
グパケットキューポップポインタがPRQ コミットポ
インタに等しければ、伝送されたパケットはすべて応答
を受けている。もしリングパケットキューがオーバーフ
ローすれば、致命的誤りがIbuMasterConf
ig.RPQFull により指示される。 【0305】リング間ダイナミックRAMバッファはさ
らにルート設定セル誤りキューをも包含している。ルー
ト設定セルはルート設定セルにより検出されたそれぞれ
の誤りごとに、誤りキュー(ErrorQueue)に
エントリを置く。各誤りキューエントリは、誤り(もし
あれば)に対応するパケットおよび誤り情報の一ワード
からなる。 誤りキュープッシュポインタ(EQPushPoint
er) は次の誤りエントリのキュー動作を行うために
、最初のフリーワードを指示する。誤りキューポップポ
インタは最小最近キュー誤り(least recen
t queuederror)の最初のワードを指示す
る。もし、誤りキューポップポインタが誤りキュープッ
シュポインタに等しければ、ルート設定セル誤りキュー
は空である。誤りキューポップポインタはルート設定セ
ルによっては修正されず、SPA アクセスによっての
み修正される。IbuMasterConfig.EQ
Fullはルート設定セル誤りキューがオーバーフロー
したとき設定される。ルート設定セルは、通常の動作を
継続し、新規な誤りは記録されない。 【0306】リング間リンクインターフェースリング間
リンクインターフェースは、32ビット幅のリング間バ
ッファユニット出力パケット・入力パケットインターフ
ェースを、物理的なリンクフォーマットへまたは物理的
なリンクフォーマットから変換する。 【0307】ルート設定セルバッファ管理それぞれのル
ート設定セルペアは、fifo方式で、リング:0およ
びリング:1間のそれぞれの方向のうちの一つで、一対
のバッファを論理的に管理する(第11B図)。ルート
設定セルバンクは5つのバッファ、リングおよび出リン
グ間リンク間の3つのバッファ、入リング間リンクおよ
びリング間の2つのバッファを管理する。 アップリンクルート設定セルバンクのリングからコピー
されたパケットは抽出バッファを、そして随意にリング
パケットバッファをそしてリング間リンク出バッファを
通じ順次、リング間リンクにわたって伝送される。パケ
ットは順次リング間リンク入バッファおよびダウンリン
クルート設定セルバンクの挿入バッファを通ずる。反対
の方向へ移動するパケットがダウンリンクルート設定セ
ルバンクのリングからコピーされ、抽出バッファ、リン
グパケットバッファおよびリング間リンク出バッファを
通ずる。パケットは順次リング間リンク入バッファおよ
びアップリンクルート設定セルバンクの挿入バッファを
通ずる。 【0308】抽出および挿入バッファは、リングおよび
ルート設定セルのルート設定バス間の速度ないしレート
の調整を行う。入および出バッファは、リング間リンク
およびルート設定セルのルート設定バス間の速度調整を
行う。リングパケットキューは、未決状態のないし引っ
かかっているパケットの最大数を格納できるようにする
ことによって、これらバッファのあり得るオーバーフロ
ーを処理しそしてルート設定セルペア間のデッドロック
を阻止する。バッファは、抽出およびリング間リンク出
バッファ間でバッファ動作を行うために、時折使用され
るようサイズが定められる。リングパケットキューはさ
らに、リンク誤りが原因で再伝送が必要とされる場合に
、リング間リンクを伝送されるすべてのパケットを記録
するのにも使用される。 【0309】好ましいルート設定セルバンクの実施では
、抽出バッファおよびリング間リンク出バッファ間およ
びリング間リンク出バッファおよび挿入バッファ間に独
立したパスを提供する。リング間リンク入バッファが空
でなくそして挿入バッファが一杯ではないときに、リン
グ間バッファユニットは入バッファからのパケットを挿
入バッファへ伝送する。 【0310】抽出バッファが空でなく、リング間ドラム
キューが空でありそしてリング間リンク出バッファは一
杯ではないときに、リング間バッファユニットは抽出バ
ッファからのパケットを出バッファへ伝送する。もし出
バッファが一杯であれば、パケットは抽出バッファから
リング間ドラムキューへ伝送される。リング間ドラムキ
ューに包含されるパケットは常に、抽出バッファからの
いずれのパケットの前にも、出バッファへ伝送される。 【0311】リング間リンクパケットプロトコルおよび
フォーマットリング間リンクパケットプロトコルおよび
フォーマットは複数の世代のUCSコンピュータについ
てある範囲のリンク速度にわたり応用可能とされるのに
必要とされる。プロトコルおよびフォーマットは、単一
ルーム内の25メートルから料金体系化された遠距離通
信網にわたる10、000kmにいたる範囲の相互接続
距離をカバーすべきである。フォーマットはSONET
 など出ている遠距離通信網の標準と相溶性であるべき
である。それはSDLCプロトコルから取り入れられた
簡単な概念に大幅に基く。1978年、Addison
−Wesley Publishing Compan
y 社発行の、R.J. Cypser による「Co
mmunication Architecturef
or Distributed Systems」、ま
たは、1987年、Addison Wesley社発
行の、Mischa Schwartz による「Te
lecommunications Networks
: Protocols、 Modeling and
 Analysis 」を参照されたい。第12図は、
本発明により構成したリングルート設定セルで使用され
る好ましいリング間リンクフレームフォーマットを図示
している。 【0312】確認および再伝送 ルート設定セルペア間の接続は完全な2重性であり、2
つの単一方向性のリング間リンクから構成される。リン
グ間リンクの不確定な信頼性により、非常に確実で且つ
明確な確認がリンクレベルで必要とされる。送信ルート
設定セルは、出リング間リンクを通じて伝送されるそれ
ぞれのパケットごとに入リング間リンクを通じて確実な
いし肯定的な確認を受容する。次のパケットを伝送する
前に確認を待つことは非常な低効率を招く。リング間バ
ッファユニットは順番数をそれぞれの伝送パケットへ付
し、216個までパケットは最初の確認の前に未決定状
態とされる。2重性の能力により、2つの独立した組の
順番数が、パケットの流れの各方向ごとに一つ使用され
る。これは、一つのリング間リンクの回復がルート設定
セルペア間の他のリング間リンクの順番数とは独立に進
行するのを可能にし、且つ、ありうるタイミング曖昧さ
を避ける。データパケットだけが逐次に検査される。 【0313】2つの順番数がそれぞれのリング間バッフ
ァユニットにより維持される。モジュロ216で動作せ
られるIbuXmitSeqNumは、リング間バッフ
ァユニットから伝送されたそれぞれのデータ移送パケッ
トごとにカウントを与える。モジュロ216であるIb
uRcvSeqNumが、このリング間バッファユニッ
トにより受信されたそれぞれの有効な順番になっている
誤り解除データパケットごとに一つインクリメントされ
る。一つのリング間バッファユニットがそのIbuRc
vSegNumをダウンリンクリング間バッファユニッ
トへ送信するとき、それは、予想される次のデータパケ
ットを指示し且つパケット受信順序数によって指示され
る値まで(この値を含まず)受信されるすべてのデータ
パケットの確認を行うのに供される。引き続くそれぞれ
の伝送されたIbuRcvSeqNumはすべての先行
するメッセージが受容されたことを再度確認する。複数
のデータパケットが単一のパケットで確認されることが
できる。 【0314】パケットフォーマット リング間リンクパケットフォーマットは、フレーム開始
(Frame Start )、プリアンブル(Pre
amble)、 リングパケット(Ring Pack
et )、 CRC およびフレーム終了(Frame
 End )という5つのフィールドからなる。フレー
ム開始およびフレーム終了フィールドはリンクに特有の
フレーム指示フィールドでありそしてリング間リンクイ
ンターフェースにより、リング間パケットへ付加ないし
除去される。 【0315】フレーム開始およびフレーム終了フィール
ドは物理的なリンクの種別に依存する。 【0316】プリアンブルは、リンク制御命令、順番確
認フィールド、伝送フレーム順番数(TFSN) およ
び受信フレーム順番数(RFSN) を特定する。制御
命令がワード数およびリングパケットサブフィールドの
内容を明確にする。 【0317】 制御Cmd                    
   リングパケットサイズ    順  番アイドル
(idle)              0 ワード
                順番付けられず初期
化要求(initialize        0 ワ
ード                順番付けられず
 request) 初期化シーケンス(initialize  0 ワー
ド                順番付けられず 
sequence ) 初期化確認(initialize        0
 ワード                順番付けら
れず acknowledge) 短パケット(short packet)    2 
ワード                順番付けられ
る長パケット(long packet )    1
8ワード                順番付けら
れる【0318】命令は、順番付けられた命令および順
番付けられない命令に分けられる。リンクについての順
番数は、順番付けられたフレームについてルート設定セ
ルペアによりインクリメントされる。リンクについての
順番数は順番付けられないフレームについてインクリメ
ントされない。 【0319】伝送フレーム順番数(TFSN) はフレ
ームの順番数を表す。それぞれの連続した順番付けられ
たフレームは1だけインクリメントされるその順番数を
有する。リング間リンクはモデュロ216の順番番号付
けを使用した。送信器がその最大順番数に到達したとき
、送信器は、反対方向のフレームが受容されるまで送信
と未決定パケットの確認を強制的に停止せられる。受信
フレーム順番数(RFSN) はRFSN−1の受信を
確認しそしてその数に先行するいずれのフレームもまだ
確認されていない。 RFSNは、受信器が順番付けられた数RFSNを予想
していることを指示する。伝送リング間バッファユニッ
トは、まだ明確に通知されてはいないすべてのフレーム
をバッファする。ひとたび確実に通知されれば、フレー
ムは一掃ないしパージでき且つその順番数は再使用され
る。 【0320】リング間リンクは、HDLCのように、通
知機能が反対方向に伝送されるフレームに埋め込まれる
「ピギーバック」性を与える。複数のフレームが単一フ
レームにおいて通知できる。3つの可能な通知は以下の
とおりである。 【0321】   通  知                   
             機  能  受信用意完了
                         
     受信されたフレーム順番数(RF  (RR
)                        
        SN) −1を含む順番数まですべて
                         
                 のフレームが受信
されたことを確                  
                        認
する。   受信用意不完了                
            一時的に混雑した状態につい
て  (RNR)                 
             フロー制御を与える。フレ
ーム順                      
                    番数(RF
SN) −1を含む順番数ま            
                         
     でのすべてのフレームを確認する     
                         
            。   拒否(REJ)                
            パケット順番数(RPSN)
 のすべ                     
                     てのフレ
ームの受信を拒否する。                          
                 受信フレーム順番
数(RFSN) −1               
                         
  を含む順番数までのすべてのフレ        
                         
         ームを確認する。 【0322】アイドル命令は、リングパケットフィール
ドがヌルであり、プリアンブルおよびチェックサムない
し検査合計の残余が有効であることを指示する。初期化
要求、初期化シーケンスおよび初期化確認命令は、リン
グ間リンクの各端部でIBU 間の順番数プロトコルを
初期化し且つ同期化するのに使用される。初期化シーケ
ンスが、送信リング間バッファユニットがその順番数を
リセットしたことを指示する。受信ルート設定セルは、
シーケンス数をリセットし、リングパケットキュー、I
buMasterConfig.RPQFull をク
リアし、リセット確認制御命令パケットを送信すべきで
ある。初期化要求はダウンリンクリング間バッファユニ
ットが、シーケンス数をリセットし、リングパケットキ
ュー、IbuMasterConfig.RPQFul
l をクリアし、初期化シーケンスパケットを送信する
ようにする。短パケットおよび長パケット命令は、リン
グパケットフィールドはそれぞれ短または長パケットを
包含することを指示する。 【0323】リング間リンクは誤り回復のために2つの
機構を使用する。1−  回復拒否。これは、リング間
リンク回復速度を高めることが可能である場合に常に必
要とされると考えられる。しかし、それは所与のフレー
ムについて一回しか使用できない。それは、そのフレー
ムの繰り返しに対して呼び出すことができない。2− 
 時間切れ回復。これは、拒否回復に加えて常に使用さ
れねばならない。時間切れ回復なしには、アイソレート
され順番付けられたフレームまたは一連のフレームのう
ちの最後のものが誤伝送されれば回復されないであろう
。くわえて、回復拒否がシーケンスフレーム当り一度し
か使用できないので、所与のフレームの複数の損失が時
間切れを介して処理されねばならない。 【0324】リンクパケット誤りには、正しくない検査
合計 シーケンス伝送パケット番号範囲外 クロック回復誤り リンクフレーム誤り 【0325】RNR 確認は、入バッファが一杯である
ときにフロー制御を与える。リング間リンク帯域幅の最
適な使用を行うためには、できるだけ最小限の入りバッ
ファサイズは、周回(ラウンドトリップ)リング間リン
ク遅れ中、受信されるフレームの数である。 【0326】巡回冗長フィールド(CRC)はプリアン
ブルおよびリングパケットフィールドから計算される。 【0327】IB動作 リング間バッファユニットバッファ管理制御は、以下の
IB動作を実行し、5個のルート設定セルバッファ間で
パケットを転送する。 【0328】リング相互接続パケット 抽出バッファからのパケットが、ルート設定バスを通じ
て、リングパケットキュープッシュポインタにより特定
される場所の被記憶始動とリングパケットキューの両方
へ転送される。ポインタは短パケットおよび長パケット
の両方について18ワードだけインクリメントされる。 リングパケットが空いており(RPQ プッシュポイン
タがRPQ ポップポインタと等しい)且つ出バッファ
が一杯でなければ、パケットはさらに出バッファへ押し
入れられそしてRPQ ポップポインタがインクリメン
トされる。IbuXmitSeqNum がリング間リ
ンクで伝送される各データパケットごとに1だけインク
リメントされる。 【0329】ダイナミックRAMバッファからのリング
相互接続パケット リングパケットキューが空いておらず且つ出バッファが
一杯でないときに、パケットがリングパケットキューか
ら出バッファへ転送される。リングパケットキューポッ
プポインタは32ワードだけインクリメントされる。 【0330】リング間リンクパケット パケットが入バッファから挿入バッファへ転送される。 カウントIbuRcvSeqNumは1だけインクリメ
ントされる。 【0331】リング間ダイナミックRAMバッファのリ
フレッシュ リフレッシュシーケンスが、IRB リフレッシュカウ
ントがオーバーフローしたとき、リング間ドラムで遂行
される。リフレッシュは、それ以外の他のルート設定動
作に優る高い優先権を取る。 【0332】リング間リンク再試行 リング間リンクを通じて受信される各パケットは最後の
受信誤り解除パケットと誤りが検出されたかどうかを特
定する。もし確認が何らの誤りも指示しなければ、リン
グパケットキューコミットポインタおよびCommit
PktNumber 場所は以下の態様で更新される。 1 −RPQCommitPointer=RPQco
mmitpointer+(RcvPktSeqNum
 − CommitPktNum) * 32 2 −
CommitPktNum = RcbPktSeqN
um 【0333】拒否パケットが受信されたとき、I
BU は、リングパケットキュープッシュポインタを通
じリングパケットキューコミットポインタ後の順番数と
ともに全てのパケットを再送信しなければならない。I
bisがリングパケットキューポップポインタの調整に
より実行される。 1 −RPQCommitPointer=RPQco
mmitpointer+(RcvPktSeqNum
 − CommitPktNum) * 32 2 −
CommitPktNum = PktRcvSeqN
um 3 −RPQPopPointer=PktRc
vSeqNum4 −Store received 
error packet in Errorqueu
e ( 誤りキューに受信された誤りパケットを格納す
る)【0334】誤り記録 RIにより検出されたいずれの誤りについても、ルート
設定セル内のIBおよび RDU、対応するパケットお
よび誤り状態の2ワードがルート設定セル誤りキューに
記録される。パケットは、もしそれがダウンリンクルー
ト設定セルへ伝送されつつあればリングパケットキュー
でさらにキューイングが行われるべきである。 【0335】SPA 読み取り/書込みリング間ダイナ
ミックRAM リング間ダイナミックRAM位置を通じて読み出しまた
は書込みが行われる。もし出バッファが一杯かルート設
定セルが誤りを検出すれば、リング間ダイナミックRA
Mは修正される。 【0336】リング:1動作 以下の説明では、上述の多重レベル形メモリシステム階
層構造の関係において好ましいルート設定セルの動作を
叙述する。ルート設定セルは、パケットの種別およびル
ート設定セルディレクトリをベースにしたサブページ状
態の機能ないし関数である規則に基づきパケットのルー
ト設定を行うパケットスイッチと見なすことができる。 まず、サブページ状態、ページ状態およびルート設定セ
ルをベースにした状態ならびに未決定状態について説明
する。次に、鍵となる規則の概念およびシーケンスの説
明が行われる。次に、完全なサブページ規則が与えられ
る。ページ動作および特殊な動作を順次説明する。ペー
ジ動作および特殊な動作ならびにサブページ動作を成就
する完全な規則を説明する。 【0337】発信規則 第13図は、標準的な要求シーケンスを図示しておりま
たこのセクションで使用される位置用語を定義している
。発信ないし親のリング:0は、要求セルを包含してい
るリング:0であり、オリジナル要求パケットを発行し
た(ステップ1)。もし要求されたサブページが発信(
または局部)リング:0で有効でなければ、ルート設定
セル:0はパケットを抽出しそしてこれを局部ルート設
定セル:1へ送る(ステップ2)。局部的に発信された
要求は順次局部ルート設定セル:1によりリング:1へ
挿入される(ステップ3)。ルート設定セル:1が遠隔
のリング:0に接続され、要求されたサブページの有効
なコピーを保持し順次遠方から発信された要求を抽出す
る(ステップ4)。遠方より発信された要求は順次ルー
ト設定セル:0により遠隔のリング:0へ挿入される(
ステップ5)。応答セルは要求を抽出しそして応答を挿
入する(ステップ6)。遠方より発信された要求はルー
ト設定セル:1により抽出され(ステップ7)そしてパ
ートナーのルート設定セル:1へ送られる。このルート
設定セル:1は応答するルート設定セル:1を呼び出し
ており、応答パケットをリング:1へ挿入する(ステッ
プ8)。パケットはリング:1の周囲を発信ルート設定
セル:1へと移動しそしてパケットは抽出される(ステ
ップ9)。パケットは、発信リング:0のルート設定セ
ル:0へ送られそしてリング:0で挿入される(ステッ
プ10)。要求シーケンスはパケットを抽出する発信(
要求)セルにより順次完了せられる(ステップ11)。 【0338】パケットはルート設定セルによりこの標準
的なシーケンス中に8回処理される。2つのルート設定
セル:0および2つのルート設定セル:1は、下記の表
に図示されるように、パケット供給源およびパケット発
生源に基づく8つの独自の方法でパケットを解釈する。 ルート設定セル動作および規則は、ルート設定セル、パ
ケット供給源およびパケット発生源のこれら8つの組合
せに基づいて構成される。 【0339】ほとんどの部分について、ルート設定セル
:1により局部的に発信されたパケット規則はルート設
定セル:1により遠隔発信されたパケット規則と類似し
ている。局部リング:0の観点から、局部ルート設定セ
ル:0は、遠隔発信された要求について、局部リング:
0が単一のセルととして論理的に現れるようにする。 【0340】pkt.RequestorId および
RiuCellAddressは、要求が局部的に発信
されたかどうかを決定するために比較が行われる。 【0341】ルート設定セルサブページ状態記述−好ま
しい実施例 サブページおよび未決定の(pending ) 要求
状態は、リング:0内のいずれのキャッシュにも存在し
ており且つそれについて非局部リング:0へまたは非局
部リングから要求が引っかかっている(pending
)ところの全てのサブページについて、ルート設定セル
ペアに格納される。 ルート設定セル:0は、遠隔のリング:0からの要求に
ついて未決定の状態を記憶する。ルート設定セル:1は
、遠隔のリング:0へ引っかかっている局部要求につい
て未決定状態を記憶する。ルート設定セル:0およびル
ート設定セル:1は両方ともサブページ状態を記憶する
。ルート設定セル:0およびルート設定セル:1サブペ
ージ状態は、サブページ状態が更新されつつある期間を
除いて一定不変である。規則および未決定状態は適宜に
すべての窓枠(window case)を処理する。 本発明の好ましい実施についてサブページ状態は以下で
説明する。 【0342】RDU:0(RduState0)列挙R
DU:0 状態は、2つの独立したフィールドおよび保
存フィールドとからなる。サブページ状態フィールドが
、局部リング:0に存在するすべてのサブページの集合
状態を記述する。未決定フィールドが、このリング:0
に対する遠隔発信されたいずれの要求が未決定であるか
どうかを記述する。個々の状態は、次のサブセクション
で記述される。 【0343】                          
     RDU:0状態フィールド名       
 状態      ビットの数           
         説  明      Subpag
eState        Invalid    
        2            リング:
0サブページ                   
 Ro                      
          状態             
                     Nex 
                         
                         
                  Ex     
                         
                    Pend 
               None      
         2            遠隔未
決定                       
       Ro                
                         
                         
    Owner                
                         
      【0344】SubPageState:
Inv リング:0内に何らのサブページの有効なコピ
ーもないことを指示する。 【0345】SpState:Ro  SpState
:Roは、リング:0内の一つまたはそれ以上のキャッ
シュがサブページのリードオンリーコピーを包含し得る
がどれも所有者状態を包含しないことを指示する。 一定の状況の下で、ルート設定セルペアはサブページに
ついてリードオンリー状態(SpState:Ro) 
を記録しているがサブページはリング:0で無効である
(SpState:Inv)。なぜなら、何らのリード
オンリーコピーもいずれのセルにも存在しないからであ
る。 【0346】SpState:Nex SpState
:Nex は、サブページ所有者を指示しそしてゼロま
たはそれ以上のサブページのリードオンリーコピーが局
部リング:0に存在する。ゼロまたはそれ以上のリード
オンリーコピーが遠隔のリング:0に存在し得る。もし
、何らのリードオンリーコピーも局部リング:0の外側
に存在しなければ、何らの遠隔のリードオンリーコピー
も存在しないことを指示する再結合または最初の無効化
動作で、排他性へのサブページ状態転換ないし遷移を招
く。遠隔のルート設定セルは、それらが記述子を割り当
て解除するときに合図しなかった。 【0347】SpState:Ex SubpageState:Ex は、局部リング:0
の外側には何らのサブページの有効なコピーもないこと
を指示する。局部リング:0は、何らのリードオンリー
コピーもない排他的所有者またはゼロまたはそれ以上の
リードオンリーコピーを持つ非排他的な所有者を包含す
る。ルート設定セル:0は、局部セルの排他的所有権状
態の排他的、アトミックおよびトランジェント(過渡的
な)アトミックをすべて排他的なものとして記録する。 【0348】Pending:NonePending
None 要求状態は、対応するサブページに関係する
局部リング:0へ、遠隔発信されたペンディングアクテ
ィビティが何らないことを指示する。 【0349】Pend1:Ro Pendl:Roは、局部リング:0に対する一つの遠
隔より発信されたsva read ro 要求が未決
であることを指示する。追加の遠隔より発信されたsv
a read  ro要求が、要求が終結されるまで、
RspBsyセットを持つパートナーのルート設定セル
:1へ戻される。 【0350】Pend1:Owner Pend1:O
wner は、局部リング:0に対する一つまたはそれ
以上の無効化要求または遠隔発信された所有権要求がペ
ンディングであることを指示する。加えて、一つまたは
それ以上の遠隔発信されたsva readro 要求
もまたペンディングとしうる。すべての遠隔発信された
所有権要求、リードオンリー要求および無効化要求は、
この状態のときに、リング:0へ送られる。所有権要求
は、sva read ex、sva get および
sva getwである。無効化要求はwrite i
nv およびルックアヘッド無効化である。 【0351】RDU:1(RduState1)列挙R
DU:1 状態は、3つの独立したフィールドおよび保
存フィールドとからなる。サブページ状態フィールドが
、局部リング:0に存在するすべてのサブページの集合
状態を記述する。未決フィールドが、リング:1に対す
る局部発信されたいずれの要求が未決であるかどうかを
記述する。未決1フィールドが、未決要求を満足するた
めに抽出されなかった遠隔発信された所有権パケットを
ルート設定セル:1が失っていることおよびミッシング
ページに起因して、未決要求が再発行される必要がある
かどうかを記述する( スナーフ、snarf)。 【0352】                          
     RDU:1状態フィールド名       
 状態      ビットの数           
         説  明      Subpag
eState        Invalid    
        2            リング:
0サブページ                   
 Ro                      
          状態             
                     Owne
r                        
                       Pe
nd                None   
            2            
リング:0未決                  
        Ro               
                         
                         
     Owner               
                         
       Pend 1            
  None               1   
         リング:0未決         
                 ReIssue 
                         
                   【0353】
SubPageState:Inv リング:0内に何
らのサブページの有効なコピーもないことを指示する。 【0354】SpState:Ro  SpState
:Roは、リング:0内の一つまたはそれ以上のキャッ
シュがサブページのリードオンリーコピーを包含し得る
がどれも所有者状態を包含しないことを指示する。 一定の状況の下で、ルート設定セルペアはサブページに
ついてリードオンリー状態(SpState:Ro) 
を記録していたがサブページはリング:0内で無効であ
る(SpState:Inv)。なぜなら、何らのリー
ドオンリーコピーもいずれのセルにも存在しないからで
ある。 【0355】SubpageState:OwnerS
ubpageState:Ownerは、サブページが
局部リング:0内で排他的に(Ex) または非排他的
に(Nex)所有されることを指示する。局部リング:
0は何らのリードオンリーコピーもない排他的所有者ま
たはゼロまたはそれ以上のリードオンリーコピーを持つ
非排他的な所有者を包含する。ルート設定セル:1は、
局部セルの排他的所有権状態の非排他的、排他的、アト
ミックおよびトランジェントアトミックをすべて所有者
として記録する。 【0356】Pending:NonePending
None 要求状態は、未決フィールドおよび対応する
サブページに関係するリング:1へ、局部発信された未
決アクティビティが何らないことを指示する。 【0357】Pend:Ro  Pend:Ro は、局部リング:1への一つの局部発
信されたsvaread ro 要求が未決であること
を指示する。追加の局部発信されたsva read 
 ro要求が、要求が終結されるまで、RspBsyセ
ットを持つパートナーのルート設定セル:1へ戻される
。 【0358】Pend:Owner Pend:Ownerは、リング:1に対する一つまた
はそれ以上の無効化要求または局部発信された所有権要
求が未決であることを指示する。加えて、一つまたはそ
れ以上の局部発信されたsva read ro 要求
もまたペンディングとし得る。すべての局部発信された
所有権要求、リードオンリー要求および無効化要求は、
この状態のときに、リング:0へ送られる。所有権要求
は、sva read ex、sva get および
sva getwである。無効化要求はwrite i
nvおよびルックアヘッド無効化である。 【0359】Pend1:ReIssue      
                   Pend1:
ReIssue は、ルート設定セル:1発信要求に対
する潜在的な非ルート設定セル:1発信応答パケットを
ルート設定セル:1が失ない得ることを指示する。Pe
nd1:ReIssue 状態は、未決要求を満足する
ために抽出されなかった遠隔発信された所有権パケット
とミッシングページの場合との区別によって、擬似的な
(スプリアス)missing page誤り(ページ
フォールト)を阻止するためにルート設定セル:1によ
り使用される(snarf)。もしルート設定セル:1
により発信された要求が何らの応答およびPendl:
Reissue もなく復帰すれば、復帰要求はルート
設定セルにより使用され、要求プロセッサセルまたはル
ート設定セルが要求を再発行するようにし、擬似的なペ
ージ誤りが回避される。Pend1:Reissue 
は、何らの局部的に発生された要求も未決であるときま
たは最初の所有権(データを持った)応答時間中、クリ
アされる。 【0360】ルート設定セルサブページ状態記述−代替
実施例 以下に述べることは、本発明の第1の代替実施例で使用
されるサブページ状態である。 【0361】RDU:0(RduState0)列挙R
DU:0 状態は、4つの独立したフィールドおよび保
存フィールドとからなる。サブページ状態フィールドが
、局部リング:0に存在するすべてのサブページの集合
状態を記述する。未決1フィールドが、このリング:0
に対する遠隔発信されたいずれのsva read r
o、sva read ex、またはwrite in
validate要求が未決であるかどうかを記述する
。未決2フィールドが遠隔発信されたsva get 
要求が未決かどうかを記述する。未決3フィールドが、
遠隔発信されたsva getw( gate and
wait、 獲得および待ち)要求が未決であるかどう
かそして追加のgetw要求が、この要求が未決であっ
たときに発行されたかどうかを記述する。複数のsva
 getw要求が記録され、トランジェントアトミック
状態を要求しているキャッシュへ知らせる。 【0362】3つの未決フィールドは、サブページ当り
各種別の一つの遠隔発信された未決要求の最大数を個別
に記録した。同じサブページに対する同様の種別の複数
の要求が、未決要求が終結されるまでには、パートナー
のルート設定セル:1へ戻される。個々の状態は、次の
サブセクションで記述される。 【0363】 フィールド名        状態      ビット
の数                    説  
明      SubpageState      
  Invalid            2   
         リング:0サブページ      
              Ro         
                       状態
                         
         Nex             
                         
                         
      Ex                 
                         
        Pend 1           
   None               2  
          遠隔未決           
                     Ro  
                         
                         
                  Ex     
                         
                         
               OwnerInv  
                         
                 Pend 2  
            None         
      1            遠隔未決  
                         
     Get                 
                         
       Pend 3            
  None               2   
         遠隔未決            
                    Getw 
                         
                         
                 Atomic  
                         
                   【0364】
SubPageState:Inv リング:0内にサ
ブページの有効なコピーが何らないことを指示する。 【0365】SpState:Ro  SpState
:Roは、リング:0内の一つまたはそれ以上のキャッ
シュがサブページのリードオンリーコピーを包含し得る
がどれも所有者状態を包含しないことを指示する。 一定の状況の下で、ルート設定セルペアはサブページに
ついてリードオンリー状態(SpState:Ro) 
を記録していたがサブページはリング:0内で無効であ
る(SpState:Inv)。なぜなら、何らのリー
ドオンリーコピーもいずれのセルにも存在しないからで
ある。何らのリードオンリーコピーも存在しないとき、
第1の局部発信された要求、遠隔発信された無効または
遠隔発信されたリードオンリー要求によって、リードオ
ンリーサブページ状態が無効サブページ状態へ調整され
る。 【0366】SpState:Nex SpState
:Nex は、サブページ所有者を指示しそしてゼロま
たはそれ以上のサブページのリードオンリーコピーが局
部リング:0に存在する。ゼロまたはそれ以上のリード
オンリーコピーが遠隔のリング:0に存在し得る。もし
、何らのリードオンリーコピーも局部リング:0の外側
に存在しなければ、何らの遠隔のリードオンリーコピー
も存在しないことを指示する再結合または最初の無効化
で、排他性へ向かうサブページ状態遷移を招く。遠隔の
ルート設定セルは、それらが記述子を割り当て解除する
ときに合図しない。 【0367】SpState:Ex SubpageState:Ex は、局部リング:0
の外側には何らのサブページの有効なコピーもないこと
を指示する。局部リング:0は、何らのリードオンリー
コピーもない排他的所有者またはゼロまたはそれ以上の
リードオンリーコピーを持つ非排他的な所有者を包含す
る。ルート設定セル:0は、局部セルの排他的所有権状
態の排他的、アトミックおよびトランジェントアトミッ
クをすべて排他的なものとして記録する。 【0368】Pending[1、2、3]:None
 PendingNone 要求状態は、未決フィール
ドおよび対応するサブページに関係する局部リング:0
へ、何らの遠隔発信された未決アクティビティがないこ
とを指示する。 【0369】Pend1:Ro Pendl:Roは、局部リング:0に対する遠隔発信
されたsva read ro 要求が未決であること
を指示する。追加の遠隔発信されたsva read 
 ro要求が、要求が終結されるまで、RspBsyセ
ットを持つパートナーのルート設定セル:1へ戻される
。 【0370】Pend1:Ex Pend1:Exは、局部リング:0に対する遠隔発信
されたsva read ex 要求が未決であること
を指示する。先行する遠隔発信されたsva read
 ro 要求が未決であり得る。追加の遠隔発信された
sva read  ex要求が、要求が終結されるま
で、RspBsyセットを持つパートナーのルート設定
セル:1へ戻される。 【0371】Pend1:OwnerInv     
                   Pend1:
OwnerInvは、局部リング:0に対する遠隔発信
されたwrite invalidate要求またはル
ックアヘッド無効化(write invalidat
e.lookahead、 sva read ex.
lookahead、sva get.lookahe
adまたはsva getw.lookahead) 
要求が未決であることを指示する。先行する遠隔発信さ
れたsva read ro 要求が未決であり得る。 リング:1からの引き続くルックアヘッド無効化が空に
される。引き続く遠隔発信された sva read 
ex、 write inv 要求が使用される。それ
ぞれのサブページは単一の所有者を有しそして所有者の
みがwrite invalidate要求を発行でき
るので、この状態での追加の書込み無効化が誤り状態を
指示する。引き続く sva read ro要求がR
spBsyとマーク付けされそして重複データパケット
が空にされる。 【0372】Pend2:Get  Pend2:Get は、局部リング:0に対する遠隔
発信されたsva get 要求が未決であることを指
示する。引き続く遠隔発信されたsva get要求が
、要求が終結されるまで、pkt.dataセットを持
つ発信セルへ戻され、サブページがすでにアトミックで
あることを指示する。サブページはまだアトミックでは
ないかもしれないが、引き続く要求が完了される前には
アトミックになる。 【0373】Pend3:Getw Pend3:Getwは、局部リング:0に対する一つ
またはそれ以上の遠隔発信されたsva getw要求
が未決であることを指示する。たのすべての読み込み要
求とは異なり、すべてのgetw要求が、次の要求がビ
ジーとされるのではなく、この状態のときに送られる。 リング:0からのgetw応答が、ページがすでにアト
ミックであることを指示するとき(getw.data
.RspBsy) 、Pend3:Atomic状態が
記録される。 【0374】Pend3:Atomic  所有権パケ
ットが、アトミック所有権についての未決getw要求
を満足することが必要とされることを指示する。 所有しているキャッシュは、トランジェントアトミック
状態(tat)にあることが保証される。引き続く遠隔
発信されたgetwまたはget 要求は戻され、サブ
ページがすでにアトミックであることが指示される。引
き続くリング:0所有権パケット(release.d
ataまたはsva readex.data)が抽出
され、未決アトミックである他のリング:0へ送るため
にリング:1へ送られる(RRC:1 Pend3: 
Atomic)。 【0375】Pend3:Atomicは、2つの条件
の下で設定される。第1に、getw応答がページがす
でにアトミックであることを指示するときである。第2
に、遠隔起動されたreleas.data がリング
:0に入り、Pend3:Atomicが設定され、ル
ート設定セル:0が、未決アトミックである他のリング
:0へ送るために、引き続くrelease.data
を抽出できるときである。release.dataは
、もしリング:0のセルが遠隔発信される開放でアトミ
ック所有権を獲得したならば、局部発信されよう。 【0376】RDU:1(RduState1)列挙R
DU:1 状態は、6つの独立したフィールドからなる
。サブページ状態フィール ドが、局部リング:0に存在するすべてのサブページの
集合状態および所有者無効化が進行中であるかどうかを
記述する。Pend1aフィールドが、局部発信された
sva read ro 要求がリング:1で未決かど
うかを記述する。Pend1bフィールドが、局部発信
されたsva read ex 要求がリング:1で未
決であるかどうかを記述する。Pend2 フィールド
が、局部発信されたsva get 要求が未決である
かどうかを記述する。Pend3 フィールドが、一つ
の局部発信されたsva getw要求が未決であるか
どうかをそして追加のgetw要求がこの要求が未決で
ある間に発行されたかどうかを記述する。複数のsva
 getw要求が記録され、要求キャッシュへトランジ
ェントアトミック状態を適宜合図する。Pend5 フ
ィールドが、未決要求を満足するために抽出されなかっ
た遠隔発信された所有権パケットをルート設定セル:1
が失っていることおよびミッシングページに起因して、
未決要求が再発行される必要があるかどうかを記述する
( スナーフ、snarf)。 【0377】5つの未決フィールドは独立して、サブペ
ージ当り一つの各種別の局部発信された未決要求の最大
数を記録した。同様の種別の複数の要求がビジー状態で
、未決要求が終了されるまでにはパートナーのルート設
定セルへ戻される。 【0378】 フィールド名        状態      ビット
の数                    説  
明      SubpageState      
  Invalid            2   
         リング:0サブページ      
              Ro         
                       状態
                         
         Owner           
                         
                         
      OwnerInvalidtg     
                         
        Pend1a           
   None               1  
          リング:0未決        
                  Ro     
                         
                    Pend1
b              None      
         1            リング
:0未決                     
     Ex                  
                         
       Pend2             
  None               1   
         リング:0未決         
                 Get     
                         
                   Pend3 
              None       
        2            リング:
0未決                      
    Getw                 
                         
                         
 Atomic                  
                         
   Pend4               No
ne               1       
     リング:0未決             
             ReIssue     
                         
               【0379】SubP
ageState:Inv リング:0内に何らのサブ
ページの有効なコピーもないことを指示する。 【0380】SpState:Ro  SpState
:Roは、リング:0内の一つまたはそれ以上のキャッ
シュがサブページのリードオンリーコピーを包含し得る
がどれも所有者状態を包含しないことを指示する。 一定の状況の下で、ルート設定セルペアはサブページに
ついてリードオンリー状態(SpState:Ro) 
を記録していたがサブページはリング:0内で無効であ
る(SpState:Inv)。なぜなら、何らのリー
ドオンリーコピーもいずれのセルにも存在しないからで
ある。何らのリードオンリーコピーも存在しないとき、
第1の局部発信された要求、遠隔発信された無効または
遠隔発信されたリードオンリー要求によって、リードオ
ンリーサブページ状態が無効サブページ状態へ調整され
る。 【0381】SubpageState:OwnerS
ubpageState:Ownerは、サブページが
局部リング:0内で排他的に(Ex) または非排他的
に(Nex)所有されることを指示する。局部リング:
0は何らのリードオンリーコピーもない排他的所有者ま
たはゼロまたはそれ以上のリードオンリーコピーを持つ
非排他的な所有者を包含する。ルート設定セル:1は、
局部セルの所有権状態である非排他的、排他的、アトミ
ックおよびトランジェントアトミックをすべて所有者と
して記録する。 【0382】SubpageState:OwnerI
nvalidatingPend1:OwnerInv
は、局部リング:1に対する遠隔発信されたwrite
 invalidate要求が未決であることを指示す
る。各サブページが単一の所有者を有しそして所有者だ
けがwrite invalidate要求を発行でき
るので、この状態での追加のwrite invali
dates が誤り状態を指示する。 sva read ex、 sva read get
 またはsva read getw により暗示され
る無効化は、それぞれ、Pend1b:Ex、Pend
2:Get またはPend3:Getw状態として記
録される。引き続き、局部発信された sva rea
d ro要求がRspBsyとマーク付けされそして重
複データパケットが空にされる。 【0383】Pending[1a、1b、2,3]:
None Pending:None要求状態は、未決
フィールドおよび対応するサブページに関係するリング
:1へ、局部発信された未決アクティビティが何らない
ことを指示する。 【0384】Pend1a:Ro  Pendl:Roは、リング:1に対する局部発信され
たsva read ro 要求が未決であることを指
示する。追加の局部発信されたsva read  r
o要求が、要求が終結されるまでに、RspBsyセッ
トを持つパートナーのルート設定セル:1へ戻される。 【0385】Pend1b:Ex  Pend1:Exは、リング:1に対する局部発信され
たsva read ex 要求が未決であることを指
示する。追加の遠隔発信されたsva read  e
x要求が、要求が終結されるまでに、RspBsyセッ
トを持つパートナーのルート設定セル:0へ戻される。 【0386】Pend2:Get  Pend2:Get は、リング:1に対する局部発信
されたsva get 要求が未決であることを指示す
る。引き続く遠隔発信された sva get要求が、
要求が終結されるまでに、pkt.dataセットを持
つ局部発信セルへ戻され、サブページがすでにアトミッ
クであることを指示する。サブページはまだアトミック
ではないかもしれないが、引き続く要求が完了される前
にはアトミックになる。 【0387】Pend3:Getw Pend3:Getwは、局部リング:0に対する一つ
またはそれ以上の局部発信されたsva getw要求
が未決であることを指示する。他のすべての読み取り要
求とは異なり、すべてのgetw要求が、次の要求がビ
ジーとされるのではなく、この状態のときに送られる。 リング:1からのgetw応答が、ページがすでにアト
ミックであることを指示するとき(getw.data
.RspBsy) 、Pend3:Atomic状態が
記録される。 【0388】Pend3:Atomic所有権パケット
が、アトミック所有権についての未決getw要求を満
足することが必要とされることを指示する。 所有しているキャッシュは、トランジェントアトミック
状態(tat)にあることが保証される。引き続く遠隔
発信されたgetwまたはget 要求は戻され、サブ
ページがすでにアトミックであることが指示される。引
き続くリング:0所有権パケット(release.d
ataまたはsva readex.data)が抽出
され、未決アトミックである他のリング:0へ送るため
にリング:1へ送られる(RRC:1 Pend3: 
Atomic)。Pend3:Atomicは一つまた
はそれ以上のgetw要求が依然として未決であること
を保証しない。 【0389】Pend3:Atomicは、2つの条件
の下で設定される。第1に、getw応答がページがす
でにアトミックであることを指示するときである。第2
に、遠隔起動されたreleas.data がリング
:0に入り、Pend3:Atomicが設定され、ル
ート設定セル:0が、未決アトミックである他のリング
:0へ送るために、引き続くrelease.data
を抽出できるときである(RRC:1 Pend3:A
tomic)。release.dataは、もしリン
グ:0のセルが遠隔発信される開放でアトミック所有権
を獲得したならば、局部発信されよう。 【0390】Pend4:ReIssue Pend4
:ReIssue は、ルート設定セル:1発信要求に
対する潜在的な非ルート設定セル:1発信応答パケット
をルート設定セル:1が失ない得ることを指示する。P
end4:ReIssue 状態は、未決要求を満足す
るために抽出されなかった遠隔発信された所有権パケッ
トとミッシングページの場合との区別によって、擬似的
な(スプリアス)missing page誤り(ペー
ジフォールト)を回避するためにルート設定セル:1に
より使用される(snarf)。もしルート設定セル:
1により発信された要求が何らの応答およびPend4
:Reissue もなく戻れば、戻り要求はルート設
定セルによりビジーとされ、要求プロセッサセルまたは
ルート設定セルが要求を再発行するようにし、擬似的な
ページ誤りが回避される。Pend4:Reissue
 は、何らの局部的に発生された要求も未決であるとき
または最初の所有権(データを持った)応答時間中クリ
アされる。 【0391】ルート設定セルサブページ状態記述−代替
実施例2 以下に述べることは、本発明の第2の代替実施例で使用
されるサブページ状態である。 【0392】Subpage State サブページ
状態についてのルート設定セルに関係せられた情報につ
いて述べる。 【0393】Invalid: Inv無効サブページ
状態はリング:0内にサブページの有効なコピーが何ら
ないことを指示する。 【0394】リードオンリー(Ro) リードオンリー状態は、リング:0内の一つまたはそれ
以上のキャッシュがサブページのリードオンリーコピー
を包含し得ることを指示する。ルート設定セルが記録さ
れるリードオンリー状態を有するときに、何らの局部キ
ャッシュがサブページのリードオンリーコピーを包含す
ることが可能である。特定のサブページを保持した最後
のキャッシュが記述子(デスクリプタ)を割り当て解除
するが、リング:0の別のキャッシュが割り当てられる
同様のシステム仮想アドレスページについて記述子を有
すれば、ルート設定セルは即座には通知されずそして一
時的にリードオンリー状態を保持する。別の場合が、r
ecombine.nex.dataがリング:0から
出発するときに、稀な状況下(たとえば、未決リードオ
ンリー要求、PlRo) のルート設定セルが、リード
オンリーコピーがリング:0内に存在し得ることを考え
なければならないことである。通常は、recombi
ne.nex.inv busyの主張は、サブページ
のリードオンリーコピーが存在することを指示する。何
らのリードオンリーコピーも存在しないとき、第1の無
効化要求または遠隔リードオンリー要求によって、リー
ドオンリーサブページ状態が無効サブページ状態へ調整
される。 【0395】非排他的(Nex) 非排他的状態は、サブページ所有者を指示し、ゼロまた
はそれ以上のサブページのリードオンリーコピーが局部
リング:0に存在する。ゼロまたはそれ以上のリードオ
ンリーコピーが遠隔のリング:0に存在し得る。もし、
何らのリードオンリーコピーも局部リング:0の外側に
存在しなければ、遠くないリードオンリーコピーが存在
することを指示する再結合または最初の無効化で、排他
性へのサブページ状態転換を生ずる。遠隔のルート設定
セルは、それらが記述子を割り当て解除するときに合図
しなかった。 【0396】排他的(Ex) 排他的状態は、局部リング:0の外側には何らのサブペ
ージの有効なコピーもないことを指示する。局部リング
:0は、排他的または非排他的所有者およびゼロまたは
それ以上のリードオンリーコピーを包含する。ルート設
定セルは、局部セルの排他的所有権状態である排他的、
アトミックおよびトランジェントアトミックをすべて排
他的なものとして記録する。 【0397】未決要求サブページ状態 未決要求状態は、未決要求の種別、追加の要求が消去さ
れたかどうか、要求は再発行される必要があるかどうか
または要求は完了されたかどうかそしてルート設定セル
が戻されるべきオリジナル要求を待っているかどうかを
指示する。#についての値0または1がそれぞれ、未決
リング:0またはリング:1をそれぞれ指示する。 【0398】Pend:None(P#None) P
endingNone 要求状態は、対応するサブペー
ジに関係する何らの未決アクティビティもないことを指
示する。 【0399】 PendWait(P#Wait)PendingWa
it は、読み取り要求(sva read {ro,
nex,ex},get,getw)が依然として未決
であるが、応答または被消去応答がすでに発行されてい
ることを指示する。戻り要求パケットが受信されるとき
、パケットは空きとされそして未決要求は終結される。 もし戻り要求パケットがデータおよび所有権を包含すれ
ば、誤りが合図されるべきである。 【0400】PendWaitMergeRo(P#W
aitMrgRo)PendWaitMergeRo 
は、読み取り要求が依然として未決でありそして一つま
たはそれ以上のsva readro.nodata 
packet(s) が、戻り要求を待っている間に消
去されているこを指示する。第2の要求が、第1の要求
が終結されるまでは発行できない。戻り要求パケットが
受信されるときに、パケットは空きとされ、未決要求は
終結されそしてsva read ro 要求が通常発
行される。もし戻り要求パケットがデータおよび所有権
を包含すれば、誤りが合図されるべきである。 【0401】PendWaitMergeEx(P#W
aitMrgEx)PendWaitMergeEx 
は、読み取り要求が依然として未決でありそして一つま
たはそれ以上のsva readex.nodata 
packet(s) が、戻り要求を待っている間に消
去されていることを指示する。未決状態は常に、消去さ
れる最も強い要求を認めるので、この状態はさらにゼロ
またはそれ以上の被消去sva read ro パケ
ットを含む。第2の要求が、第1の要求が終結されるま
では発行できない。戻り要求パケットが受信されるとき
に、パケットは空きとされ、未決要求は終結されそして
sva read ex 要求が通常発行される。もし
戻り要求パケットがデータおよび所有権を包含すれば、
誤りが合図されるべきである。 【0402】PendWaitMergeAt(P#W
aitMrgAt)PendWaitMergeAt 
は、読み取り要求が依然として未決でありそして一つま
たはそれ以上の{get,getw}.nodata 
packet(s) が、戻り要求を待っている間に消
去されていることを指示する。未決状態は常に、消去さ
れる最も強い要求を認めるので、この状態はさらにゼロ
またはそれ以上の被消去sva read{ro,ex
} パケットを含む。第2の要求が、第1の要求が終結
されるまでは発行できない。戻り要求パケットが受信さ
れるときに、パケットは空きとされ、未決要求は終結さ
れそしてgetw要求が通常発行される。もし戻り要求
パケットがデータおよび所有権を包含すれば、誤りが合
図されるべきである。 【0403】PendReIssue(P#Rei) 
             PendReIssue 
は、読み取り要求が未決でありそして要求はそれが戻る
ときに再発行されるべきことを指示する。 この状態は通常、要求が未決である間の事象検出で要求
が応答なしに戻されることまたは応答は古くさいデータ
と一緒に戻ることを指示するときに装入せられる。たと
えば、もしsva read ro 未決でありそして
無効化が検出されれば、戻りデータは古くさいであろう
。ときどきpendreissue 状態が装入されて
、局所リング:0のトランザクションが、遠隔リング:
0への所有権の移転の前に完了せられる。 【0404】PendReissueMergeRo(
P#ReiMrgRo)PendReissueMer
geRoは、読み取り要求が未決でありそして要求はそ
れが戻るときに再発行されるべきでありそして一つまた
はそれ以上のsva read ro.nodata 
packet(s)が、戻り要求を待っている間に消去
されていることを指示する。未決状態は常に、消去され
る最も強い要求を認めるので、この状態はさらにゼロま
たはそれ以上の被消去sva read ro パケッ
トを含む。第2の要求が、第1の要求が終結されるまで
は発行できない。戻り要求パケットが受信されるときに
、パケットは空きとされ、より強力な被消去sva r
ead ro または未決要求が再発行される。 【0405】PendReissueMergeEx(
P#ReiMrgEx)PendReissueMer
geExは、読み取り要求が未決でありそして要求はそ
れが戻るときに再発行されるべきでありそして一つまた
はそれ以上のsva read ex.nodata 
packet(s)が、戻り要求を待っている間に消去
されていることを指示する。未決状態は常に、消去され
る最も強い要求を認めるので、この状態はさらにゼロま
たはそれ以上の被消去sva read ro パケッ
トを含む。第2の要求が、第1の要求が終結されるまで
は発行できない。戻り要求パケットが受信されるときに
、パケットは空きとされ、より強力な被消去sva r
ead ex または未決要求が再発行される。 【0406】PendReissueMergeAt(
P#ReiMrgAt)PendReissueMer
geAtは、読み取り要求が未決でありそして要求はそ
れが戻るときに再発行されるべきでありそして一つまた
はそれ以上の{get,getw}.nodata p
acket(s) が、戻り要求を待っている間に消去
されていることを指示する。未決状態は常に、消去され
る最も強い要求を認めるので、この状態はさらにゼロま
たはそれ以上の被消去sva read {ro、ex
}パケットを含む。第2の要求が、第1の要求が終結さ
れるまでは発行できない。戻り要求パケットが受信され
るときに、パケットは空きとされ、getw要求が再発
行される。 【0407】PendRo(P#Ro)PendRoは
、sva read ro 要求が未決であることを指
示する。いずれの未決ro状態の際にも受信されるsv
a read ex 要求がReissueMerge
Ex未決状態への転換を招く。 【0408】PendRoMergeRo(P#RoM
rgRo)PendRoMergeRo は、sva 
read ro 要求が未決でありそして一つまたはそ
れ以上のsva read ro.nodata pa
cket(s)が、戻り要求を待っている間に消去され
ていることを指示する。 【0409】戻り要求が受信されるときに、パケットは
消去とマーク付けされる。いずれの未決ro状態の際に
も受信されるsva read ex 要求がReis
sueMergeEx未決状態への転換を招く。 【0410】PendEx(P#Ex)PendExは
、sva read ex 要求が未決であることを指
示する。 【0411】PendExMerge(P#ExMrg
)PendExMerge は、sva read e
x 要求が未決でありそしてsva read {ro
,ex}要求が消去されていることを指示する。戻り要
求が受信されるときに、パケットは消去とマーク付けさ
れる。 【0412】PendExMergeAt(P#ExM
rgAt)PendExMerge は、sva re
ad ex 要求が未決でありそしてget またはg
etw要求が消去されていることを指示する。 戻り要求が受信されるときに、パケットは消去とマーク
付けされる。 【0413】PendAtomic(P#At)Pen
dAtomicは、get またはgetw要求が未決
でありまたはgetw.nodata 応答が戻されて
いることを指示する。 【0414】PendAtomic(P#AtMrg)
 PendAtomicは、get またはgetw要
求が未決であることまたはgetw.nodata 応
答が戻されていることおよびget、 getw また
はsva read {ro,ex}要求が消去されて
いることを指示する。戻り要求が受信されるときに、パ
ケットは消去とマーク付けされる。 【0415】PendRecombine(P#Rec
)PendRecombine は、recombin
e.data.{tat,at,ex,nex}が局所
リング:0から未決定ないしペンディング状態であるこ
とを指示する。PendRecombine はRDU
:1で使用されるのみである。 【0416】PendMrsp(P1Mrsp)Pen
dMrspは、このリング:0からの被消去要求を包含
する応答がリング:0で現在流通していることを指示す
る。このリング:0からの被消去要求が、Rdu:1 
未決状態であるP0RoMrg*、P0ExMrg*ま
たはP0AtMrg により指示されるであろう。Pe
ndMrspの間に、セルトランザクション完了基準を
満足するために、追加のsva read要求が空きと
される。 【0417】PendMrspMrgRo(P#Mrs
pMrgRo)PendMrspMrgRo は、この
リング:0からの被消去要求を包含する応答がリング:
0で現在流通しておりそしてこの期間中、遠隔のsva
read ro 要求が消去されていることを指示する
。 【0418】PendMrspMrgEx(P#Mrs
pMrgEx)PendMrspMrgEx は、この
リング:0からの被消去要求を包含する応答がリング:
0で現在流通しておりそしてこの期間中、遠隔のsva
read ex 要求および svaread ro要
求が消去されていることを指示する。 【0419】PendMrspMrgAt(P#Mrs
pMrgAt)PendMrspMrgAt は、この
リング:0からの被消去要求を包含する応答がリング:
0で現在流通しておりそしてこの期間中、遠隔のget
 またはgetwおよびsva read ex また
は sva read ro要求が消去されていること
を指示する。 【0420】PendInvalidate(PInv
)PendInvalidateは、未決write 
invalidate、write invalida
te.lookahead が未決であることを指示す
る。sva read {ro,ex}、getまたは
getwにより暗示される無効化がPendRo、Pe
ndEx、またはPendAt状態として記録される。 【0421】RDU:0状態(RduState0)列
挙        RduState0はリング:0サ
ブページ状態およびリング:1未決要求(遠隔のリング
0からの)状態を記憶する。 リング:0サブページ状態およびリング:1未決状態の
イリーガルな組合せが破線として図示されている。それ
ぞれのRduState1 が、リング:1未決状態名
をリング:0サブページ状態の後に接尾辞として付加す
ることにより名称が与えられる。 【0422】この代替え実施例で使用されるRDU:0
 未決状態を示す表が第17図に図示されている。 【0423】RDU:1状態(RduState1)列
挙RduState1はリング:1サブページ状態およ
びリング:0未決要求(遠隔のリング0からの)状態を
記憶する。 リング:0サブページ状態およびリング:0未決状態の
イリーガルな組合せが破線として図示されている。それ
ぞれのRduState1 が、リング:1未決状態名
をリング:0サブページ状態に接尾辞として付加するこ
とにより名称が与えられる。この代替え実施例で使用さ
れるRDU:1 状態を示す表が第18図に図示されて
いる。 【0424】ページ状態 以下に続く項の説明では(代替え実施例に対して)好ま
しいサブページ状態の使用を想定している。 【0425】オーナーリミット(所有者限界、Owne
rLimit)  OwnerLimitがソフトウエアにより設定または
クリアされ、ページ内のサブページの所有権を局部リン
グ:0へ制限する。それは、ルート設定セル:0および
ルート設定セル:1の両方に格納される。クリアの際に
、OwnerLimitは、いずれのリング:0もサブ
ページを所有できることを特定する。設定の際に、それ
は、局部リング:0のセルだけが、非排他的、排他的、
アトミックまたはトランジェントアトミック状態のサブ
ページを所有できることを特定する。遠隔のリング:0
はリードオンリーコピーを受信できる。OwnerLi
mitが設定されるとき、ページフォールトが、Inv
BsyおよびRspBsyクリアと一緒に要求を戻すル
ート設定セルにより、所有権要求へ合図される。Own
erLimitが設定されているときに、再結合要求は
局部リング:0を越えては伝搬しない。ルート設定セル
記述子割り当てについてのデフォールト状態がクリアさ
れる。 【0426】 Ownerlimit            ニーモ
ニック                説明    
0                 OL:All 
                     局部リン
グ:0へ制限さ                  
                         
       れない所有権            
  1                 OL:Lo
cal                    局部
リング:0へ制限さ                
                         
         れる所有権           
 【0427】DupLimit DupLimitは、duplicate.dataが
局部リング:0からリング:1へ送られるようにする条
件を特定する。DupLimitはルート設定セル:0
により格納される。    DupLimit    
          ニーモニック         
       説明    0           
      Dup:CondForward    
         条件付送り動作         
   1                 Dup:
AllForward              常
に送る              【0428】Du
p:CondForward ページ内のDuplic
ate.dataパケットが、もしページが局部リング
:0により排他的に所有されていなければ、ルート設定
セル:0によりリング1へ条件付で送られる。Dup:
CondForward はルート設定セル記述子割り
当てについてデフォールト状態である。 【0429】Dup:AllForwardDupli
cate.dataが常にルート設定セル:0によりリ
ング:1へ送られる。 【0430】未決要求ページ状態 ある未決ルート設定セル動作が、どのようにしてルート
設定セルがページ内のどのサブページへのSVA 要求
を処理するかを決定する。対応するLevel3VEn
tryの未決要求ページ状態フィールドはこの未決情報
を特定する。 【0431】Page:None  何らの未決ページレベルルート設定セル動作も対応する
記述子について進行中ではない。Page:None 
はルート設定セル記述子割り当てについてデフォールト
状態である。 【0432】Page:PendDeallocate
 ルート設定セル:0内で、ルート設定セルペアが、記
述子が割り当て解除されるべきかどうかまたはそのルー
ト設定セル:1が記述子を割り当て解除するよう合図さ
れつつあるかを決定するプロセスにあることを指示する
。 ルート設定セル:1内で、ルート設定セルペアは記述子
を割り当て解除するプロセスにあることを指示する。 【0433】ルート設定セル記述子は、この記述子を割
り当て解除していることを指示している単一のセルに応
答して、Page:PendDeallocate へ
転換する。もし、記述子がリング:0内のどのセルにも
存在しなければ、ルート設定セル:0およびルート設定
セル:1は記述子を割り当て解除する。ciu inv
 sum.nodata、 ciu invsum a
llocate.no data および ciuex
 sum.nodata などの他のページレベルパケ
ットがこの状態の間ビジーとされる。遠隔発信されるサ
ブページ要求がルート設定セル:0およびルート設定セ
ル:1によりビジーとされる。局部発信されるサブペー
ジ要求がルート設定セル:0において実行されない。な
ぜなら、要求している局部キャッシュは割り当て記述子
を有し、ルート設定セルペアがその記述子を割り当て解
除するのを回避するからである。局部発信されるサブペ
ージ要求がルート設定セル:1によりビジーとされる。 なぜならルート設定セルペアは記述子を割り当て解除す
るのに傾倒しているからである。記述子は、ページが割
り当て解除された後、次の要求で引き続き再割当てが行
われる。 【0434】他のルート設定セル状態 続く状態フィールドは、ルート設定セルまたはルート設
定セルバンクをベースに記憶される。これらの状態フィ
ールドは、他の方法で宣言ないし言及されないかぎり、
すべてのサブページおよびページに広範囲に適用される
。 【0435】抽出バッファ状態 リング抽出バッファの空きスペースは、2つの構成可能
なポインタExtractAllThreshold 
およびExtractRspThreshold によ
り4つの帯域に分割される。現在帯域は抽出バッファに
残っている空きワードの数により選択される。空きから
一杯へ行く帯域は、ExtBuf.All、 ExtB
uf:NonOpt、 ExtBuf:PendReq
および ExtBuf:Fullである。抽出バッファ
状態はルート設定セルバンクをベースにして維持される
。これらの帯域の境界はソフトウエアにより構成可能で
ある。リングパケットが、抽出バッファの管理のために
、3つの相互に排他的なカテゴリにグループ分けされる
。 【0436】1)オプショナルパケット      続
く遠隔発信されるパケットは、コヒーレンシーの観点か
らオプショナルである: −Recombine with SpState:(
Inv|Ro) −Duplicate.data S
pState:Inv−sva read ro.da
ta with SpState:Inv 2)非オプ
ショナルパケット    遠隔発信される要求を完了す
るためにSpState をベースに抽出されねばなら
ない。オプショナルパケットを包含しない。 3)応答パケット              局部発
信されるパケットまたはルート設定セル未決要求(RR
C:0 Pend(1,2,3)、RRC:1 Pen
d(1,2,3,4,5))を満足するパケット【04
37】これらのパケットカテゴリーは以下のように4つ
の抽出バッファ帯域で処理される。 【0438】帯域      オプショナル     
     非オプショナル             
 応答          パケット        
      パケット               
       パケット  ExtBuf    受容
                  受容     
                     受容  
    :All                 
                         
                         
                         
                         
                       Ex
tBuf:N  通過               
   受容                    
      受容      onOpt      
                         
                         
                         
                         
                         
        ExtBuf:P  通過     
             通過および主張     
           受容      endReq
                         
                         
                         
                         
                         
             ExtBuf:F  通過
                  通過および主張
                通過      u
ll                       
      RspBsy、InvBsy      
           テキスト参         
                         
                         
   照        【0439】ExtBuf:
All ExtBuf:All帯域は空きおよびExtract
AllThreshold との間である。すべてのパ
ケットがExBuf.All 帯域に受容される。 【0440】ExtBuf:NonOpt ExtBu
f:NonOpt 帯域はExtractAllThr
eshold とExtractResponseTh
resholdの間である。非オプショナルパケットお
よび応答パケットがこの帯域に受容される。オプショナ
ルパケットが受容されないときは、パケットで何らの合
図も必要とされない。 【0441】ExtBuf:PendReqExtBu
f:PendReq帯域はExtractRespon
seThresholdとextract buffe
r full の間である。応答パケットだけがこの帯
域に受容される。非オプショナルパケットはRspBs
yおよびInvBsyの主張によって拒否される。オプ
ショナルパケットが受容されないときは、パケットで何
らの合図も必要とされない。 【0442】ExtBuf:Full ExtBuf:
Full 帯域は抽出バッファが一杯であるときである
。何らのパケットもこの帯域に受け入れられない。非オ
プショナルパケットはRspBsyおよびInvBsy
の主張によって拒否される。オプショナルパケットが受
容されないときは、パケットでの何らの合図も必要とさ
れない。局部発信されるパケットがpkt.TimeS
tampclear とともに通過せられる。パケット
は、次のリング転回でこのルート設定セルにより抽出さ
れる。データを運ばない遠隔発信される応答パケットに
ついてRspBsyおよびInvBsyの両方が設定さ
れる。リードオンリーデータを持つ遠隔発信される応答
パケットが通過される。遠隔発信される所有権応答パケ
ットが通過されそしてルート設定セル:1はPend1
:ReIssue へ転換する。 【0443】Pend1:ReIssue 状態は、未
決要求を満足するために抽出されなかった遠隔発信され
た所有権パケットとミッシングページの場合との区別に
よって、擬似的な(スプリアス)missing pa
ge誤り(ページフォールト)を回避するためにルート
設定セル:1により使用される。設定の際に、Pend
1:Reissue が、ルート設定セル:1がルート
設定セル発信要求に対する潜在的な非ルート設定セル発
信応答パケットを失い得ることを指示する。もしルート
設定セル:1により発信された要求が何らの応答および
Pend1:Reissue もなく戻れば、戻り要求
はルート設定セルによりビジーとされ、要求プロセッサ
セルまたはルート設定セルが要求を再発行するようにし
、擬似的なページフォールトが回避される。ルート設定
セル:0はSpState フィールドを使用し、mi
ssing page errorが回避される。ルー
ト設定セル:0SpState フィールドは、要求を
満足するためにリードオンリーコピーまたは所有権がリ
ング:0にあるかどうかを記録する。もしルート設定セ
ル:0により発信された要求が応答なく戻りそしてリン
グ:0に十分なコピーまたは所有権が存在すれば、要求
は再発行される。 【0444】リング凍結状態 続く言及に加えて、ルート設定セルは凍結とマーク付け
された最初と最後のパケットの追跡を維持しなければな
らない。 【0445】Fz:None  Fz:None はルート設定セルはリング凍結シーケ
ンスにないことを指示する。 【0446】Fz:SingleEccErr このパ
ケット時間に対応するルックアップシーケンス中、修正
可能なEcc 誤りが検出されていることを指示する。 リング:1凍結シーケンスの始まり。常に、次のパケッ
ト時間中Fz:Freeze への転換。対応するパケ
ットは、抽出バッファ一杯の項で叙述されるように処理
される。 【0447】Fz:Freeze  ルート設定セルはリング凍結シーケンスにあることを指
示する。以前に凍結とマーク付けされなかったすべての
パケットが凍結とマーク付けされる。 【0448】Fz:Unfreeze ルート設定セル
はリング凍結シーケンスを終了したことを指示する。以
前に凍結とマーク付けされたすべてのパケットが非凍結
とマーク付けされそして通常ルート設定セルにより処理
される。リング凍結シーケンスを起動するどの条件も、
Fz:SingleEccErr またはFz:Fre
eze 状態への転換であろう。 【0449】ルール表の基礎 【0450】所有権 強い順序付けの基礎は規則所有権の概念に基づく。メモ
リ装置のそれぞれのサブページは単一の所有者を有する
。修正されるべきサブページの値について、所有者は、
サブページのすべてのコピーが無効化されていることを
意味する排他性でなければならない。サブページのリー
ドオンリーコピーが存在するとき、所有者は非排他的で
ありそしてサブページを修正できない。サブページ所有
権は、所有キャッシュがサブページについてのダイナミ
ックなホームないし退避場所である状況で、キャッシュ
間でダイナミックに転送できる。メモリ装置およびルー
ト設定セルは詳細には包含の性質に基づく。ルート設定
セルディレクトリは、リング:0のすべてのサブページ
の状態およびリング:0に装入ないしリング:0から出
るすべての未決要求の状態の追跡を維持する。 【0451】他の概念 所有者および無効化要求すべての所有者要求および書込
み無効化要求は、他のどの要求が未決であるかどうかに
かかわらず、全面的に所有しているセルへ行く。すべて
の所有者要求および無効化は、パケットがリングに挿入
されるとき、ルート設定セルがPend:Ownerへ
行くようにする。すなわち、ルート設定セル:1は、パ
ケットがリング:1に挿入されるとき、Pend:Ow
nerへ行き、そして、ルート設定セル:0は、それが
パケットをリング:0に挿入するとき、Pend:Ow
nerへ行く。ルート設定セルは、以下の場合にPen
d:OwnerからPend:None への転換する
。 1−所有者が担持するパケットがルート設定セルにより
抽出される。2−SpState:(Inv|Ro)を
持つルート設定セルが、pkt.!InvBsy を持
つ無効化または遠隔所有者要求を抽出する。 3−SpState:Owner を持つルート設定セ
ルが、pkt.!InvBsy を持つ遠隔発信される
無効化を抽出する。 4−ページ破壊が常に、割り当てられるページと一緒に
、局部ルート設定セル:0およびルート設定セル:1お
よびすべての遠隔ルート設定セル:1のページのすべて
のサブページについて、SpState:Inv およ
びPend:None を設定する。全ての未決状態が
、ページフォールトが他の未決要求へ合図されるよう、
クリアされる(要求はそうでなければビジー状態で引っ
かかるか時間切れとされよう)。 【0452】リードオンリー要求 局部発信されるリードオンリー要求が、もしRC:1が
Pend:Ro でなければ、局部ルート設定セル:1
により挿入されるのみである。これは、リング:1への
そして結果的に応答者への非常に多くの同様の要求の溢
れを回避するための最適手段である。このような要求を
挿入する代わりに、ルート設定セル:1はそれを抽出し
そしてpkt.RspBsyを設定する。ところで、応
答者でのルート設定セル:0は、この方法でリードオン
リー要求をはね返さない。その代わり、リードオンリー
要求はリング:0で挿入される。 【0453】ルート設定セルは、パケットを担持する所
有者またはパケットを担持するリードオンリーデータが
ルート設定セルにより抽出されるとき、Pend:Ro
 からPend:None へ転換する。 【0454】リードオンリーデータを担持するパケット
が、それがPend:Owner状態のルート設定セル
を通過するときに「抹殺」される。sva read 
ro パケットが、pkt.RspBsyを設定するこ
とにより「抹殺」されそしてデュプリケート(複製)が
空きとされる。 【0455】クリア動作およびパケットビジービットの
解釈 RspBsyは、要求パケットへのデータを伴っての応
答動作のときに常にクリアできる。 【0456】InvBsyは、発信リング:0からの出
発の際に、常にクリアである。なぜなら、ルート設定セ
ル:0は、もしpkt.InvBsyであれば、パケッ
トを抽出しないからである。ルート設定セルはパケット
を通しそしてpkt.InvBsy、RspBsy を
設定し、要求が再発行されるようにする。InvBsy
は、遠隔の所有権要求または無効化が遠隔のリング:0
に装入するとき、常にクリアである。なぜなら、ルート
設定セル:1は、もしpkt.InvBsyであれば、
要求を抽出しないからである。ルート設定セル:1はパ
ケットを通しそしてpkt.InvBsy.RspBs
y を設定し、要求が再発行されるようにする。ルック
アヘッドが実際上継続しそしてSpState:Roを
持つ残りのリング:0で無効化を開始する。 【0457】パケットルート設定セルビットの使用sv
a read ro による使用で、もし要求が完了さ
れなければ発信しているセルまたはルート設定セルによ
りパケットが再発行されるべきことを指示するために再
結合および開放が行われる。Pkt.rrc は2つの
態様で使用される。 【0458】Pkt.rrc は、ルート設定セル:0
が早まってパケットを抽出するのではなく、sva r
ead ro.no data またはrecombi
ne.dataの要求が全リング:0を横切るのを可能
にし、要求が局部的に完了されるようにするために使用
される。Pkt.rrc は、局部発信されたsva 
read ro.nodata またはrecombi
ne.dataがルート設定セル:0を通過するときに
設定される。もし要求が、発信セルへ戻る前に完了して
いなければ(sva read ro.dataまたは
recombine.no data )、発信セルは
パケットを通す。 ルート設定セル:0は、rcc のセットとともにパケ
ットを抽出し、要求を普通に処理する。 【0459】ルート設定セル:0またはルート設定セル
:1が、未決要求を満足するために(snarfと呼ば
れる)、 non−originatedrecomb
ine.data( 非被発信再結合データ)またはr
elease.data(開放データ)を抽出できない
ときは、パケットが再循環できるよう、rrc ビット
を設定する。もしrelease.dataが発信セル
へ戻れば、それは再発行されねばならない。もしrel
ease.dataが別のセルにより抽出されれば、何
らのアクションも必要とされない。なぜなら、トランジ
ェントアトミックサブページ状態が保存されるので別の
開放が発行されるからである(tat) 。recom
bine.dataはどのセルによっても抽出されるべ
きでなく、そして発信CIUにより通過され、再発行を
行う。 【0460】Pkt.rrcはクリアへと常に初期化さ
れそしてCCUおよびCIUにより通される。それは、
局部発信パケットが抽出されるとき、ルート設定セル:
0によりクリアされる。 【0461】無効化法 複数種のパケットがリードオンリーコピーの無効化を起
こさせる。ライト−インバリデートは明示の無効化を生
じ、sva−read−ex、get及びgetwパケ
ットは読み取り要求に加えて内在的な無効化を生じる。 すべてのインバリデートは二つの方法によって全てのリ
ードオンリーコピーを無効化する。第1の方法ではイン
バリデートパケットはそれが通過する全てのリードオン
リーコピーを無効化する。第2の方法ではsva−re
ad−roがインバリデートパケットと共に要求を送る
と、リクエスタがrsp−busyを主張してパケット
内のデータが無効化されたことを指示し、そして偽ペー
ジ欠陥を防止する。duplicate−dataが未
処理インバリデートと共に要求を送ると、パケットは空
にされる。第1の方法は全てのセル又はRRCを無効化
し、第2の方法は旧リードオンリーデータが、既に無効
にされているセルに伝達するのを防止する。 【0462】事象の強い順序的な一体性及び強い秩序を
保持するために、全てのサブページはインバリデータが
サブページBを更新しそして分配する前に無効にされて
いなければならない。もしもインバリデートパケットが
各リング:0によって直列に処理されるならば、無効化
時間はサブページのコピーを有する全てのリング:0の
リング遷移時間の総和となろう。もしもインバリデート
が各RRC:1によって丁度コピーされたら、サブペー
ジAのインバリデートは、元のインバリデータがサブペ
ージBを更新しそれを未だサブページAを無効にしてい
ないプロセッサに分配する以前に、完成することは保証
されない。全てのプロセッサが同じ順序でサブページA
、Bに対する変化を見ないので、強い秩序は侵される。 【0463】インバリデート−ルックアヘッドと呼ばれ
る技術が並列の全てのリング:0を無効にするが、事象
の強い秩序は維持する。インバリデートパケットが、こ
のパケットを引き出す第1のRRC:1に達したとき、
このパケットはコピーされてリング:1へ送られ、そし
てルックアヘッドパケットはリング:1パケットにルッ
クアヘッドモードを設定することによりリング:1上に
生成される。ルックアヘッドパケットはSpState
:Roで各RRC:1によりコピーされて、真のリクエ
ストパケットがそこに到着する前にリードオンリーコピ
ーを無効にする。元のリクエストパケットが後続のRR
C:1に到達すると、パケットはリング:1速度で通過
でせしめられる、これはインバリデートがルックアヘッ
ドパケットにより事前に完了しているからである。ルッ
クアヘッドぱけっとは常に短いパケットと考えられる。 【0464】図14A及び図14Bは好ましいリング:
1インバリデート順序を示す。ライト−インバリデート
は、RDU:0  SpStateがNexである場合
に、リング:oから抽出され(ステップ2)、又sva
−(read−ex,get,getw)は、RDU:
0  SpStateがNexでない場合に、リング:
oから抽出される。パケットはRRC:1に送られて、
リング:1に挿入される(ステップ3)。サブページの
リードオンリーコピーを有する第1のRRC:1はパケ
ットをコピーし、ルックアヘッドモードを非ルックアヘ
ッドモードにし、そのパケットをリング:0に送る(ス
テップ5)。通過したリング:1のパケット生成モード
は無変化である。リードオンリー状態を持つ後続のRR
C:1はインバリデート−ルックアヘッドパケットをコ
ピーする(ステップ6、7、8、9)。インバリデート
−ルックアヘッドはリング:0に送られ、挿入され、そ
してPendStateはOwnInvへの遷移である
。リング:0の無効化が終ると、SpStateはin
vへの遷移及びPendStateはnoneへの遷移
であり、パケットはRRC:1へ戻り、RDU:1Sp
Stateはinvに更新され、ルックアヘッドパケッ
トは空になる(ステップ13、14、15、16)。 【0465】一方、第1のRCC:1及びそれに対応す
るリング:1が無効化又は所有応答を終ると、パケット
は非ルックアヘッド状態でリング:1に挿入される(ス
テップ12)。この非ルックアヘッドパケットが、以前
にルックアヘッドパケットにより無効化を完了していた
後続のRRC:1(及び対応するリング:1)に遭遇す
ると、このパケットは完全なリング:1の速度で送られ
る(ステップ17、18、19、20)。もしも実際の
インバリデート−ルックアヘッドが完了する前に実際の
インバリデートが到着すると、実際のインバリデートは
又リング:0も通る。ルックアヘッドパケットが、要求
しているRRC:1にRRCiに到達すると、パケット
は空にされる(ステップ11)。非ルックアヘッド又は
生成ルックアヘッドパケットが要求するRRC:1に到
達すると、それは抽出されて要求するリング:0に送ら
れ(ステップ22)又リクエスタに戻される(ステップ
24)。 【0466】偽RRCSpState:Roある場合に
は、RRC対がサブページのためにリードオンリー状態
(SpState:Ro)を記録しているが、どのセル
にもリードオンリーコピーが存在しないのでサブページ
はリング:0内で無効である(SpState:inv
)。RRC対は、リング:0内の最後のキャッシュが対
応するディスクプタを割付けを外すときにのみディスク
プタの指定を外す(deallocate)。キャッシ
ュがディスクプタの割付けを外すとき、キャッシュ内の
サブページの状態は.無効化又はリードオンリーである
。キャッシュがディスクプタの割付けを外すとき、リー
ドオンリーコピーは単に消去されるが、RRCは関係し
た個々のリードオンリーサブページを通知されない。こ
うして、リング:0内の他のキャッシュが割付けられた
ディスクプタを有する状態でキャッシュがディスクプタ
の割付けを外し、又リング:0内のサブページのリード
オンリーコピーのみが消去されると、RRCはサブぺー
のためのリードオンリー状態を依然として間違って記憶
する。他の例は、非排他的パケット再結合状態がリング
:0を去り、又リング:0内にリードオンリーコピーが
存在する場合にRRC:0及びRRC:1がSpSta
te:Roを記録しなければならない場合である。偽リ
ードオンリー状態はSpState:(Inv|Ro)
のときにリードオンリーデータパケットのコピーを取る
RRC:1により訂正される。 【0467】デユプリケート分配 サブページのリードオンリーコピーは2つの方法で多数
のキャッシュに分配される。コピーは、ディスクプタが
局所に割り付けられているとき及びSpState:(
Inv|Ro)のときに、任意のRRC:1又はリード
オンリーデータを持つ遠隔より出発したパケットをコピ
ーするキャッシュにより内在的に分配される。従って、
コピーがRRC:1(リードオンリーデータを担持する
パケットがそれをリング:1に送る)へ結合された全て
のリング:0に分配されるため、リードオンリーリクエ
ストの数は減じられる。 【0468】デユプリケートデータパケットはDupL
imitに基づいて送られる。もしもDup:Cond
Forwardならば、ページが局所リング:0により
排他的に所有されていないならばという条件で、デユプ
リケートパケットはRRC:0によりリング:1に送ら
れる。もしもDup:AllForwardならば、デ
ユプリケートパケットは常にRRC:0によりリング:
1に送られる。リング:1のデユプリケートデータパケ
ットは、それが局所リング:0の内部に対応するページ
に対して割付けられたディスクプタを有するときに又E
xtractBafferがExtBuf:All領域
にあるときに、遠隔のRRC:1によりコピーされる。 【0469】Pkt.pcopyがRRC:1によりセ
ットされてリング:1からパケットがコピーされたこと
を示す。pcopyのセットでリング:1によりコピー
されたパケットはRRC:1又はリング:1に戻される
必要はなく、リングR:1を上首尾に通過した後にRR
C:0により空にされる。 【0470】リコンバイン(再結合) リコンバインデータパケットは、もしもリング:0内の
他のどのセルもリコンバインを受け入れないならば、出
発リング:0から送られる。RRC:1は、パケットが
偽RRCSpState:Roで、出発Roリクエスト
に対すると同様な仕方で出発リングリング:0から送ら
れなければならないことを決定する。リコンバインデー
タの最初のパスで、RRC:0はpkt.RRCをセッ
トする。もしもリコンバイン・ノーデータrrcが出発
セルに戻ると、リコンバインが抽出されて打切られる。 もしもリコンバインデータrrcが出発セルに戻ると、
セルはパケットを送る。RRC:0はついでリコンバイ
ンデータrrcを抽出し、それをリング:1へ挿入する
ためにRRC:1に送る。 【0471】リング:1のリコンバインデータパケット
は、遠隔のRRC:1が局所リング:0内の対応するペ
ージに対して割付けられたディスクプタを有し且つEt
ractBufferがExtbuf:All領域にあ
れば、遠隔のRRC:1により抽出される。リコンバイ
ンデータは又任意の未処理リクエストを満足させるため
に使用出来る。 【0472】リリース 局所的に発生されたリリースがリングに挿入されると、
Pend:Owner状態が記録され、それにより後続
のリリースが出発リング:0に戻されて、先行する既に
アトミックな応答で、可能な未処理getwリクエスト
を満足させることが出来る。遠隔で発生されるリリース
がリング:0に挿入されると、Pend:Owner状
態が記録され、その結果後続のリリースがリング:1に
戻されうる。 【0473】ページフォールト ページフォールトは、どのRRCもディスクプターマッ
チを検出しないで、リング:1を完全に通過するリクエ
ストによりリング:1のシステムで検出される。パケッ
ト・ノーデータはRspBsyクリア及びInvBsy
クリアーによりページフォールトを指示する。パケット
は次に出発RRC:1により抽出されて、リング:1に
戻され、そして要求しているセルに送られる。 【0474】ページフォールトが起きると、局所RRC
:1がPend:Owner又はPend:Roの状態
に置かれる。この状態はページの創製に先立ってしシス
テムのソフトウエアによりクリアされなければならない
。フォールト中の(ページが固定されてからであること
はもちろんである)任意のセルからのmpdw・inv
sum指令の実行はCiuInvSumパケットを生じ
させる。次の表1ないし表11はこの順の一続きの規則
説明書である。 【0475】 【表1】 【0476】 【表2】 【0477】 【表3】 【0478】 【表4】 【0479】 【表5】 【0480】 【表6】 【0481】 【表7】 【0482】 【表8】 【0483】 【表9】 【0484】 【表10】 【0485】 【表11】 【0486】ページ操作ページ割付けディスクプタは任
意のセルSVAリクエストに先立って局所セルにより割
付けられる。RRC対は第1の局所由来のリクエストパ
ケット(常にノーデータ)を局所リング:0から受け取
るとディスクリプタを割付ける。もしもページフォール
トがリクエストに対して発せられると、ディスクリプタ
はセルとRRC対に割付けられた状態に留まる。一つ以
上のディスクリプタが、メモリシステムに存在しないペ
ージに対して割付けることが出来る。ディスクリプタは
生成すべきページに対して割付けられなければならない
。次表は割付けられたディスクリプタのデフォールト状
態を具体的に示す。 【0487】ページ割付解除(Deallocate)
局所キャッシュ及び局所RRC対のディスクリプタはC
iuInvSumAlloc.nodata、CiuP
ureInvSumAlloc.nodata、又はR
rcDeallocDesc.nodataパケットに
よってのみ割付解除される。これらの3つのパケットは
割付解除(deallocate)パケットと呼ばれる
。もしも割付解除パケットがリング:0内の他のキャッ
シュが割り付けられたページを持たないことを指示すれ
ば、局所RRC対はそのページに対応したディスクリプ
タの割付を外す。ディスクリプタが複数の割付解除パケ
ットと他のページ向けのパケットの間の競合状態を防ぐ
ために割付解除をすべきかどうかを決定している間に、
RRC:0はPage:PendDeallocへ遷移
する。もしも他のセルがページに対して割り付けられた
ディスクリプタを持たなければ、ああるついはディスク
リプタの割付を解除する。RRC対の両方はいずれかの
RRCがディスクリプタを割付解除する前にはPage
:PendDealloc状態になければならない。局
所RRC対は遠隔のRRCにディスクリプタが割付解除
されたことを知らせない。先ず、割付解除シーケンスが
記載され、ついでサブページ及びページ動作が検討され
る。 【0488】割付解除(ディアロケート)シーケンスは
CCUがCiuLoadDopRegをCIUに送るこ
とにより開始される。パケットのアドレス及びCCU 
 prt  entryは割り付け解除されるべきペー
ジに対応する。CIUはアドレスをそのドロッピングレ
ジスタヘロードし、パケットを抽出してそれをCCUへ
戻す。正当なアドレスでロードしたとき、CIUのドロ
ッピングレジスタは所有するサブページに対するリクエ
ストに対してCIUにRspBsyを主張させ、他の全
てのページ又はサブページアドレスであってドロッピン
グレジスターにマッチするものを無視する。ドロッピン
グレジスタマッチはキャッシュグループマッチに優先す
る。 【0489】CCUが戻されたCiuLoadDopR
egパケットを受け取ると、その場所に新しいディスク
リプタを書き込むことにより旧ディスクリプタの割付け
を解除し、prt  entryの割付けを外して、も
しも割付け解除されたページが純粋(pure)でなけ
ればCiuInvSumAllocパケットを出す。も
しも割付け解除されたページが純粋(pure)ならば
CiuPureInvSumAllocパケットを出す
。 割付け解除パケットは割付けを解除すべきページのアド
レスであり(pkt.address[5:5]はCC
Uデスクリプタグループを含む)、又datawors
0は割付けられるページアドレスを含む。未処理のCE
Uリクエストは新たに割付けられたアドレスでも処理出
来る。なぜならprtは割付け解除(ディアロケート)
パケットに対して必要がないからである。mrdd(R
RC割付け解除ディスクリプタ)命令はCCUをして、
prtを割付けることなくRrcDeallocDes
cパケットを出させる。 【0490】図15は本発明のシステムに使用される好
ましい割付け解除シーケンスを示す。CIUは、新たに
割付けれれたディスクリプタを旧ディスクリプタの場所
に書き込むことにより旧ディスクリプタの割付けを解除
し、ドロッピングレジスタを無効(invalid)に
し、そしてパケットを挿入することにより、CiuIn
vSumAlloc又はCiuPureInvSumA
llocパケットを処理する(ステップ1)。CIUは
CIUのディレクトリに何らの修正もしないでパケット
を挿入することによりRrcDeallocDescパ
ケットを処理する。 【0491】割付け解除(ディアロケート)パケットは
リング:0を通るから、RsyBsyが割付けられたデ
ィスクリプタを有するCIUにより主張される(ステッ
プ2、3、6)。 【0492】RRC:0は、もしもRsyBsyが主張
されたら、CiuInvSumAlloc又はRrcD
eallocDescを空にし、ディスクリプタがリン
グ:0内の他のキャッシュに割付けられたことを指示す
る(ステップ3)。もしもRspBsyが主張されなか
ったら、RRC:0の割付け解除パケットはこの割付け
られたページに対する全ての局所キャッシュを調べるた
めにリング:0を完全に通過しなければならない。なぜ
なら、このパケットは割付け解除キャッシュとRRC:
0の間でリング:0の一部しか通過していないからであ
る。リング0がパケットを通過させ、RRCビットをセ
ットし、RspBsyををクリアし、そしてPage:
PendDeallocateに遷移する。RRCビッ
トはパケットがRRC:0を通過したことを表示するた
めに使用される。もしもRRCが更新(refresh
)又はecc.errorのためにパケットを処理出来
ないときは、RRCはIndBsyをセットし、そして
割付け解除パケットを次の回転(revolution
)の際に処理する。後続の割付け(ディアロケート).
!RCCパケットはPagePendDealloca
teが空にされている間に受け取られる。なぜなら、こ
れらの割付け解除パケットを出したセルは第1の割付け
解除パケットの現在の回転の際にRspBsyを主張し
ないからである。RRC:0がRspBsyを第1の割
付け解除パケットの際に否認する理由は、後続の割付け
解除パケットを出したセルが第1の割付け解除パケット
の第1の部分回転の際にRspBsyを主張したウイン
ドーを処理するためである。 【0493】もしも割付け解除パケットがCiuPur
eInvSumAllocならば、RRC:0はパケッ
トを抽出し、pkt.cmd−pend−deallo
cをセットし、パケットを局所RRC:1に送り、ステ
ップ8に飛ぶ(RRC:1処理)。CiuPureIn
vSumAllocがページ内に全てのサブページを保
持するセルによっての見出され、他の任意の割付けられ
たディスクリプタは全ページ無効(インバリッド)を有
することを保証する。従って、RRC:0はスキップし
てCiuPureInvSumAllocパケットをリ
ングの周りに送って、どれかのセルが割付けられたペー
ジを有するかどうかを決定する。ページはRRCによっ
て割付けられ、リング:0内のセルの一つが次にページ
兄のサブページを要求する。 【0494】Page:PendDealloc状態で
リング:1から受領した全ての遠隔由来のパケットはそ
のままリング:1に戻される。もしもsva−read
−roぱけっとが戻されると(リング:0状態はSPS
tate:Ro)他のリング:0がサブページのコピー
を供給するであろう。セルとRRC対のディスクリプタ
はまさに割り付け解除されようとしているからreco
nbine.detaが戻される。ページデストロイシ
ーケンスは常に割り付け解除に先立って全ページを無効
にセットするから、SpState:{Nex,Ex}
は存在しないであろう。 【0495】もしもコンフィグレーションがRRCを含
んでいなければ、InvBsy及びRRCの両者が否認
される。元のリクエスタは、もしもpacket.re
quest−idがcell−address、!In
vBsy及び!RRCにマッチしたとき割り付け解除パ
ケットを空にする(ステップ5)。 【0496】もしもキャッシュがページがRspBsy
を主張することにより割り付けられるこをと指示したな
らば、RRC:0は、リング:0の完全な通過の後に割
り付け解除RRCパケットを空にする(ステップ7)。 RspBsyの否認はリング:0内にのどのキャッシュ
も割り付けられたページを有しないことを指示する。R
RC:0は割り付け解除パケットを抽出し、pkt.c
md−pend−deallocをセットし、そしてこ
のパケットを局所RRC:1に送る。RRC:0および
ある1は競合を避けるためにディスクリプタが割り付け
解除される前にいずれもPage:PenDeallo
c内になければならない。 【0497】RRC:1はこのパケットをPage:P
endDeallocに遷移させ、pkt.cmd−d
ealloc−pageをセットし、パケットを抽出し
、そしてこれをRRC:0に戻す(ステップ8)。Pa
ge:PendDealloc状態でリング:1から受
領した全ての遠隔由来のパケットはそのままリング:1
に戻される。 【0498】RRC:0はディスクリプタを割付け解除
することによりパケットを処理して、Page:Non
eに遷移し、パケットを抽出してそれをRRC:1に戻
す(ステップ9)。RRC:1は帰ってくるパケットを
同様に割付け解除して、Page:Noneに遷移し、
パケットを空ける。 【0499】ページ及びサブページ向けのパケットはP
age:PenDeallocate状態の時に特別に
処理される。CiuInvSum.nodata、Ci
uInvzSumAlocate.nodata及びC
iuExSum.nodataのような他のページレベ
ルのパケットはビジーにされる。遠隔由来のサブページ
リクエストはRRC:0及びRRC:1によりビジーに
される。局所由来のサブページリクエストはRRC:0
では影響を受けない。何となれば、リクエストしている
局所キャッシュは割り付けられたディスクリプタを有し
、RRC対がそのディスクリプタを割付け解除すること
を防ぐからである。局所由来のサブページリクエストは
RRC:1によりビジーにされる。何となれば、RRC
対はディスクリプタを割り付け解除しているからである
。ディスクリプタはページが割り付けを解除された後で
は次のリクエストの際に引き続いて再割り付される。 RRC:0によりステップ7から9の間に送られる局所
由来のパケットも又RRC:1によりビジーにされる。 ステップ9の後にRRC:0により処理された局所由来
のリクエストは、ステップ10の後にRRC:1により
処理されることが保証され、そしてディスクリプタは再
割り付される。 【0500】ページ生成(criate)メモリシステ
ムは、システムのソフトウエアがメモリ内の現存ページ
が再生されたものではないことを保証しているもの、と
想定する。システムソフトウエアは又ページが一つ以上
のキャッシュによって同時に生成されたものでないこと
を保証しなければならない。メモリシステムのハードウ
エアはこれらの状態をただちには検出しない。 【0501】mpsa命令はSVAページに対して局所
キャッシュ内のアンカーしたディスクリプタを提供する
。もしもディスクリプタがmpsaの前に既に存在して
いれば、そのアンカーフラッグはセットされる。その他
の場合には、局所キャッシュはディスクリプタを上記の
ページ割付/割付け解除の項で説明したようにディスク
リプタを割付ける。 【0502】局所キャッシュは次にmpdw.alle
x命令の結果ciu−ex−sum.nodataパケ
ットを出し、そしてページ内の全てのサブページを所有
状態に遷移する。RRC:0はciu−ex−sum.
nodataパケットを抽出し、必要ならディスクリプ
タを割付け、そしてリクエストをRRC:1に送る。も
しもPage:PendDeallocならば、RRC
:0はリクエストを出してpkt.InvBsyをセッ
トする。RRC:1はパケットを抽出し、必要ならばデ
ィスクリプタを割付け、全てのサブページをSpSta
te:Ownerに遷移させ、そしてリクエストをRR
C:0に戻す。RRC:0はパケットを挿入し、ページ
内の全てのサブページをSpState:Exに遷移さ
せる。出発元のCIUはパケットを抽出し、それをCC
Uに戻し、CCUは完了状態を局所プロセッサに返す。 mpdw命令が次に出されてアンカービットをクリアす
る。 【0503】ページ破壊問題 ページは3つの方法で破壊出来る。ページが破壊される
ときはいつでも、そのページ内の全てのサブページは局
所キャッシュにより排他的に所有されなければならない
。第1の方法では、ピュア(純)ページが割り付け解除
されるときには、これらのページは破壊される。Ciu
PureInvSumAllocパケットはピュアペー
ジが割付け解除されていることを指示する。第2の方法
では、ディスクリプタのアドレスが変更される場合には
、旧ページが破壊され、新しいページにその内容が存在
する。RrcDeallocDescパケット局所RR
Cがページを割り付け解除すべきことを指示する。第3
の方法では、ページ及びその内容が明示的に破壊される
。CiuInvSumパケットは局所RRCが全てのサ
ブページを無効状態にセットすべきことをし指示する。 【0504】ページが破壊される場合には、CiuPu
reInvSumDealloc、RrcDeallo
cDesc及びCiuInvSumパケットがリング:
1を通過して、ページに対する遠隔の未処理又はRei
ssue(再発行)状態をクリアする。3つの場合に対
する局所キャッシュ及びRRCの作用が違うので、3種
の異なったパケット形式が必要である。 【0505】ページ破壊 mpsa命令はSVAページに対して局所キャッシュの
アンカー(固定)されたディスクリプタを提供する。も
しもmpsaの前にディスクリプタが既に存在すると、
そのアンカーフラッグがセットされる。その他の場合に
は、局所キャッシュはディスクリプタを前記の割付け解
除/再割付けの項で述べたようにしてディスクリプタを
割付ける。 【0506】mfsva命令は局所キャッシュが全ての
サブページの排他的な所有を得るために使用される。 【0507】次に局所キャッシュはciu−inv−s
um.nodataパケットをmpdw.allinv
命令の結果発生し、ページ内の全てのサブページを無効
(インバリッド)状態に遷移する。RRC:0はciu
−inv−sum.nodataパケットを抽出して、
リクエストをRRC:1に送る。もしもPage:Pe
ndDeallcならば、RRC:0はリクエストを通
過させpkt.InvBsyをセットする。RRC:1
はパケットを抽出し、全てのサブページをSpStat
e:Invへ遷移させ、リクエストをRRC:0に送り
返す。RRC:0はパケットを挿入し、そしてページ内
の全てのサブページをSpState:Invに遷移さ
せる。出発(originating)CIUはパケッ
トを抽出して、それをCCUへ戻し、CCUは完了状態
を局所プロセッサへ戻す。 【0508】ページ破壊シーケンス及び特にciu−i
nv−sum.nodataは局所キャッシュ又はRR
C対ディスクリプタを割付け解除しない。局所キャッシ
ュ及びRRC対ディスクリプタはディスクリプタが再使
用されるまで割付け解除されない。 【0509】チェンジ(変更)ディスクリプタチェンジ
ディスクリプタページアドレスは論理的には旧ページを
破壊し、ついで同じデータの新しいページを生成するこ
とである。メモリシステムは、システムのソフトウエア
がメモリ内に現存するページが創成されないことを保証
している、と仮定する。システムのソフトウエアは、ペ
ージが2つ以上のキャッシュにより同時に創生されない
ことを保証しなければならない。メモリーシステムのハ
ードウエアはこれらの状態をすぐには検出しない。 【0510】チェンジディスクリプタは3種の命令を使
用する。すなわち、mpdw,mrdd,及びmrwd
である。mpdw命令は局所セル(CCU及びCIU)
のみに影響し、リング:0には挿入されない。 【0511】CCU留保メモリシステムからのRRC割
り付け解除ディスクリプタ(mrdd)命令は操作コー
ド化する。CCUは、CEUからのこの命令をコードす
る際にRrcDeallocDsk.nodataパケ
ットを出す。!m0は他のメモリシステムの命令と同様
にして、割付け解除すべきページアドレスを供給する。 CIUはこのパケットをリング:0に挿入する。RRC
はパケットをコピーして割付け解除シーケンスを開始す
る。もしもRRCがこのパケットをコピー又は処理出来
なかったら、それはパケットRspBsy(レスポンダ
ビジー)をセットする。CIUは戻ってくるRrcDa
llocDesc.nodataパケットを抽出し、そ
れをCCUに送る。もしもRspBsyが出されると、
リクエストがCCUにより再発行される。もしもRsp
Bsyがクリアならば、CCUは成功裏の完了をCEU
に戻す。もしもRRC:0が構成(configure
)されていなければ,戻りパケットRrcDeallo
cDesc.nodata.!RspBsyは元のリク
エストと同じであり、CCUに成功裏の完了状況をCE
Uに戻させる。この命令はCCU又はCIUのデータ構
造には影響しない。この命令の追加はCEUに対して透
明である。 【0512】CCU留保メモリシステムからのRRC書
き込み(ライト)ディスクリプタ(mrwd)命令は操
作コード化する。CCUはCEUからのこの命令をでコ
ードする際にRrcWrDesc.nodataパケッ
トを出す。!m0は割付けるべきページアドレスを他の
メモリシステムの命令と同様にして供給する。CIUは
このパケットをリング:0に挿入する。RRC:0はパ
ケットを抽出する。局所RRC:1は必要ならばディス
クリプタを割付け、ディスクリプタを全排他にセットし
、RRCレジデントディスクリプタビット(owner
limit)を書き込み、パケットを抽出し、それをリ
ング:0に送り返す。もしもRRCがパケットを処理出
来なければ、paket.RspBsyをセットする。 CIUは戻りRrcWrDesc,nodataパケッ
トを抽出し、それをCCUに送る。RspBsyがセッ
トされていれば、CCUはリクエストを再発行する。も
しもRspBsyがクリアならば、CCUはCEUに上
首尾の完了状況を戻す。もしもRRC:0が構成されて
いなければ、戻りパケットRrcWrDesc,nod
ata.RspBsyは元のリクエストと同一であり、
CCUに上首尾の完了をCEUに戻させる。この命令は
CCU及びCIUのデータ構造に影響を与えない。この
命令の追加はCEUに対して透明である。 【0513】チェンジディスクリプタシーケンスは次の
通りである。 1−旧ページをアンカー(固定)する(mpsa)。 2−排他的所有の旧ページの全てのサブページを集める
。 3−RRCディスクリプタを割付け解除する(mrdd
)(旧ページ)。 4−新しいRRCディスクリプタを書き込む(mrwd
)(新ページ) 5−セルに新ディスクリプタを書き込み、アンカービッ
トをクリアする(mpdw)。 【0514】mrdd及びmrwd命令はディスクリプ
タのタグ部分が変更されないのなら必要でない。更に、
排他的所有の旧ページの全てのサブページを集めること
は上記のように或るディスクリプタビットを変更するに
は必要でないこともある。アトミック及び過渡アトミッ
ク状態はセル内に保持される。RRCサブページ状態は
、アトミックおよび化とアトミックが後者のカテゴリー
にある場合に非排他的及び排他的所有のみを記録する。 RRCはチェンジディスクリプタシーケンスで失われる
未処理のgetw状態を保持する。getwリクエスタ
はタイムアウトとなる。 【0515】ページオペレーション規則割付け規則は表
12の通りである。 【表12】 【0516】 【表13】 【0517】 【表14】 【0518】 【表15】 【0519】 【表16】 【0520】 【0521】特殊操作 RRC抽出バッファ.フル(Extract  Buf
fer  Full)ピークパケット速度はRRCがバ
ッファを空けることが出来る速度よりも速いので、RR
C抽出バッファのフロー制御アルゴリズムが必要である
。制御アルゴリズムはシステム負荷を減少させながら、
前進を最大にする原理に基づく。進行中のリクエストの
完了にシステム資源を優先割付けすると、これらの両目
的を達成出来る。なぜなら、リクエストの完了はシステ
ム負荷の減少と、最大効率の前進を達成するからである
。 【0522】抽出バッファに抽出又はコピーして来られ
ないパケットは、そのパケットがこのRRCから発せら
れたどうかに基づいて処理される。もしもパケットはこ
のRRCより発せられたものでなければ、パケットがデ
ータを有しない、リードオンリーデータを有する、又は
所有権を有するかどうかにより処理される。パケットビ
ジービットRspBsy及びInvBsy(便利にはパ
ケットに遅く位置付けられる)、及びSpState及
びPendlサブページ状態フィールドが、標準のプロ
トコールに正当な作業をさせるために使用される。 【0523】RRCにより発せられるすべてのパケット
に対して、pkt.TimeStampがクリアされ、
その結果パケットがリングを再度回ることが出来るよう
にする。 【0524】RRC由来でない全てのパケットに対して
も、pkt.TimeStampがクリアされ、その結
果必要ならパケットがリングを再度回ることが出来るよ
うにする。全ページ操作はノーデータリクエストパケッ
トと考えられる。データを持たないパケットに対しては
、RspBsy及びInvBsyがセットされる。Rs
pBsy及びノーデータはsva−read−ro0.
data応答に対してセットされ、デュプリケートは空
けられる。オーナシップ(所有)パケットが送られ、R
RC:1がPendl:Reissue状態に遷移する
。Pendl:Reissue状態はRRC:1におい
て、未処理のリクエストを満足させるために抽出されな
かった遠隔由来のオーナシップパケットの場合と失われ
たページとを区別することにより、偽missing−
page−error(ページフォールト)を防止する
ために使用される。Pendl:Reissueはセッ
トされると、RRC:1がRRC由来のリクエストに対
してRRC由来でない潜在的な応答パケットを失ったか
もしれないことを指示する。もしもRRC:1由来のリ
クエストが応答なしに帰り且つPendl:Reiss
ueであると、戻りリクエストはRRCによりビジーに
され、リクエストを出しているプロセッサセル又はRR
Cにリクエストを再発行させ、それにより、偽ページフ
ォールトを防止する。RRC:0はSpStateフィ
ールドを使用してmissing−page−  er
rorを防ぐ。RRC:0のSpStateフィールド
は、リードオンリーコピー又はオーナシップがリング:
0内にあってリクエストを満足させるかどうかを記録す
る。もしも、RRC:0由来のリクエストが応答なしに
戻り、又充分なコピー又はオーナシップがリング:0に
存在すれば、リクエストは再発行される。 【0525】次に全てのケースの挙動を分析する。 リング:1からRRC:0、リング:0からRRC:1
RRC:0(1)からRRC:1(0)に受け取られた
パケットは通常リング:1(0)にある場合にはパケッ
トは他のRRCに再ルートで戻される。これは挿入され
たパケットを直ちに抽出することにより行なわれる。一
例は、未処理リクエスト(Pendl:Ro状態でのs
va−read−ex)と同じ型のローカル発のリクエ
ストがRRC:1において処理される場合である。Rs
pBsyが主張され、リクエストはローカルリング:0
に戻される。 【0526】もしも抽出バッファが再ルートされたパケ
ットを受け取ることが出来ない場合には、抽出バッファ
が満席でなくなるまで、そして空のパケットが手に入る
まで挿入(インサート)バッファに保持される。規則の
表記insert.extractはこの挙動に従う再
ルートされたパケットを示す。 リング:0からRRC:0、ローカルリング:0により
発せられたパケット リクエストパケット −発信箇所に戻り(多分道に沿って満足される)、必要
なら再発行を得る。リードオンリーデータ担持パケット
−発信箇所に戻り(多分道に沿って満足される)、必要
なら再発行を得る。オーナシップデータ担持パケット−
発信箇所に戻り(多分道に沿って満足される)、必要な
ら再発行を得る。しかし、もしも他のリング:0からの
リクエストがあったら、このパケットは満足されなかっ
たはずである。そのパケットがRRC:1に戻ると、R
RC:1はオーナーシップが未だリング:0に含まれて
いることを通知し、リクエストをリング:0に戻すであ
ろう。 【0527】リング:0からRRC:0、遠隔リング:
0から発せられたパケット リクエストパケット −リング:0を回り(多分道に沿って満足される)、R
RC:0との次の遭遇で抽出されるであろう。 リードオンリーデータ担持パケット −リング:0を回り(多分道に沿って満足される)、R
RC:0との次の遭遇で抽出されるであろう。 オーナシップデータ担持パケット −リング:0を回り(多分道に沿って満足されない)、
RRC:0との次の遭遇で抽出されるであろう。 【0528】リング:1からRRC:1、ローカルリン
グ:0より発せられたパケット リクエストパケット −リング:0を回り(多分道に沿って満足される)、R
RC:0との次の遭遇で抽出されるであろう。 リードオンリーデータ担持パケット −リング:0を回り(多分道に沿って満足される)、R
RC:0との次の遭遇で抽出されるであろう。 オーナシップデータ担持パケット −リング:0を回り(多分道に沿って満足されない)、
RRC:0との次の遭遇で抽出されるであろう。 【0529】リング:1からRRC:1、遠隔リング:
0より発せられたパケット リクエストパケット −発信箇所に戻り(多分道に沿って満足される)、必要
なら再発行を得る。リードオンリーデータ担持パケット
−発信箇所に戻り(多分道に沿って満足される)、必要
なら再発行を得る。オーナシップデータ担持パケット−
発信箇所に戻りリクエストを満足させるであろう。しか
し、このRRCに結合されたリング:0からの未処理リ
クエストがあったら、このパケットは満足されなかった
はずである。このパケットがRRC:1に戻ると、RR
C:1はオーナシップが未だリング:0に含まれている
ことを通知し、リクエストをリング:0に戻す。 【0530】リング凍結(フリージング)凍結(フィロ
ーズ)ビットは一回の回転に対してリング上のパケット
を全て凍結するためにセルにより使用される。リング凍
結は、リング上の全てのパケットが、リング上のいかな
るメンバーもパケット内の情報を変化又はコピー出来な
い状態にあることを意味する。セルは、リング上の全て
のパケットが凍結されるまで、そこを通過する全てのパ
ケット中の凍結ビットを組織的に主張することにより、
リングを凍結する。凍結時間中、各セルはリングパケッ
トの処理を要しないで任意の動作を自由に実行する。一
旦各リングがパケットが凍結されたら、セルはそれが最
初に凍結したものから各パケットを凍結解除し、全ての
凍結したパケットを凍結解除する。リング凍結シーケン
スを開始する条件が凍結解除期間に検出されたら、リン
グ凍結シーケンスが直ちに開始される。RRCはそれが
前に凍結したパケットであって再凍結されているパケッ
トを記憶しなければならない。第16図は完全リング凍
結(フルリングフリーズ)を示す。薄く陰を付けた領域
は凍結とマークしてないパケットスロットを示し、一方
濃く陰を付けた領域は凍結とマークしたスロットを示す
。 【0531】リングを凍結せんとする複数のセルを処理
するために、各セルはほとんどリングを凍結しようとす
る一つのセルのみがあるかのように挙動する。しかし、
セルはそれが凍結と表示したパケットのみを凍結解除し
なければならない。従って、各セルはそれが凍結とマー
クしたパケットを常に記憶していなければならない。セ
ルはそれが凍結とマークした第1及び最後のパケットを
知ることによりマークしたパケットを常に記憶する。こ
の単純化が可能なのは、凍結機構が任意のセル凍結シー
ケンスがパケットの一つの隣接したストリングを凍結す
ることを保証するからである。従って、シフトレジ巣他
によらないでかうん他を使用して初めと最後の凍結パケ
ットを維持することが出来る。 【0532】リング凍結は2つの方法、すなわち、フル
リング凍結及びフル−1リング凍結で開始出来る。cm
dFreezeがパケット命令の最初の部分にあるから
、リング凍結に導く状況はパケット処理の初期に知られ
なければならない。全リング凍結はフリーズビットが凍
結すべき第1のパケットに対して使用されるときである
。リング凍結に必要な状況がパケット処理の充分初期に
入手出来なければ、フル−1リング凍結法が使用出来る
。 【0533】フル−1リング凍結法は凍結すべき最初の
パケットを凍結しない。その代わりにパケットビジービ
ットつまり、RspBsy及びInvBsy(便利には
パケットに遅く位置付けられる)、及びSpState
及びPendlサブページ状態フィールドが、標準プロ
トコールに正しいこと(Fz:SingleEccEr
r状態)をさせるために使用される。残りのパケットは
フルリング凍結と同様にして凍結及び未凍結と表示され
る。最初のパケットは抽出バッファフル(Extrac
tBufferFull)の項で、抽出バッファへ抽出
またはコピー出来ないパケットに関して説明したと同じ
方法で処理される。 【0534】更新(リフレッシュ) 更新はRiuMasterConfig.Rfresh
Enableにより可能にされるときに、独立に更新す
る各RRCによって分散的に成される。各8m秒毎に5
12回の更新がされなければならない。更新の間隔は1
5.6秒であり、RiuRefreshIntervc
alによりリングクロック内で指示される。 【0535】1更新は1パケット処理時間を必要とする
。従って、更新は空白期間又は凍結したパケットに対し
て行なわれうる。なぜならこれらのパケットは処理を要
求しないからである。RRCは全ての更新時に空白、凍
結、又は不可視のパケットの全てを使用して更新を行な
おうとする。RRCは、各更新に対してRiuRefr
eshiCount.NumRefを増やすことにより
31までの更新数を記憶する。各更新期間の終に、Nu
mRefが1だけ減じられる。NumRefが0ならば
、更新は直ちにフルリング凍結法を使用してRRCによ
り強制される(NumRefは第1の凍結されたパケッ
トに対しては増加されない)全てのRRCはリング内の
フォーマットされたパケットの数に等しい数の更新を記
憶出来る。フルリング凍結更新法は、リングが長期に亙
りフルに利用された場合にのみ必要になる。更新間隔は
0.94μ秒(15.6*31/512)ないし14.
7μ秒に調整されて31更新までの節約の効果を出す。 【0536】ECC補正可能エラー(correcta
ble  error) RRCが補正可能なECCエラーを検出すると、追加の
パケット時間がデータ構造の補正に必要となる。リング
凍結は補正及び再ルッリアップのための複数のパケット
時間を可能にするために使用される。 【0537】補正EECエラーが検出されると、RRC
はフル−1リング凍結法を開始する。これはECCエラ
ーがパケット処理の初期に知られていないからである。 第1パケットは抽出バッファフルの項で述べたようにし
て処理され、残りのパケットは1回転に対して凍結とマ
ークされる。補正されたデータ構造は再書き込みされ、
RDU内にセーブされ、ついでリングの1回転の後にE
CCエラーを起こすパケットを再処理する。RRC由来
のパケットのみ処理され、他のパケットはリング内の他
のセルにより抽出される。補正パケットをセーブすると
、RRC由来のパケットは単一ビット(補正可能)ハー
ドエラーに対して正しく処理される。 【0538】RRCはpkt.RrcFaultを補正
可能ECCエラーに対応したパケット内にセットする。 RRCパケットは又、補正不能ECCエラーが検出され
たときにpkt.UnmarkedFaultをRRC
由来パケット上に主張する。 【0539】リクエストを出しているプロセッサセルは
次のようにしてRrcFaultビットを解釈する。R
rcFaultビットはRRCフォールトが検出されR
RCにより記憶されることを指示する。もしも残りのフ
ォールトビット(MarkedFault,Local
Fault,DescFault,及びUnmarke
dFault)がクリアならば、パケットリクエストは
上首尾に終る。もしも戻りパケットがビジーなら、出発
セルはRrcAtt状況でフォールトを送り、リクエス
トは再び試みるべきではない。他のCIU及びCCUが
通常このパケットを処理する。もしも追加のフォールト
ビットがセットされたら、これらのビットにより指示さ
れる作用はRrcFaultビットの作用を無視する。 【0540】RDU:0  規則 前に定義したRDU:0サブページ及びページ規則はこ
この規則で参照される。 【0541】 【表17】 【0542】表17の続き 【表18】 【0543】RDU:1規則 前に定義したRDU:0サブページ及びページ規則はこ
この規則で参照される。 【0544】 【表19】 【0545】表19の続き 【表20】 【0546】表20の続き 【表21】 【0547】リング:0  規則仮定 リング:N動作のためには、パケット明細、リング明細
、CCU規則、及びCIU規則に対して次の変更が必要
である。 【0548】セルディスクリプタ割付け解除セルディス
クリプタ割付けは変更した。 書込み(ライト)ディスクリプタ RCCは書込みディスクリプタ動作を行なうのに2つの
動作が必要である。RRCは旧SVAのディスクリプタ
の割付けを解除し、同じディスクリプタを新アドレスに
割付ける。これらの2つの動作は、パケットアドレスフ
ィールドの割付け解除アドレスと、パケットデータワー
ド0における割付けアドレスに対して2つのパケット時
間を必要とする。チェンジディスクリプタの項に説明し
た新しいシーケンスは書込みディスクリプタ(mpdw
)に対して必要な2つのRRC動作が以下にして2つの
別個の命令及びCCUリクエストに分割されるかを記述
する。 【0549】CiuUpdateStateCiuUp
dateStateは、その唯一の使用がciu.pe
nding状態を無効に変更するためであると仮定すれ
ば、リングに送る必要がない。 【0550】パケット動作 3つのRRC関連動作、つまり、RrcDealloc
Desc,RrcWrDesc及びCiuPureIn
vSumAllocが追加された。page^faul
t動作は、Rrc動作には必要がないので削除された。 次の表は改定した符合化を示す。 【0551】 【表22】 【0552】インバリデータ及びレスポンダービジー各
パケット動作の関数たるインバリデータビジー、レスポ
ンダのビジーの定義は次の表に記載される。ある動作に
関しては、これらのビットは又セル又はリング:0が割
付けられたページを有する(ディスクリプタのマッチ)
ことを表示するためにセットされる。この情報はRRC
:0により使用されて、ページがセル割付け解除シーケ
ンスの間にリング:0内でどれかの追加のセル内に割付
けられるかどうかを指示する。 【0553】 【表23】 【0554】表23の続き 【表24】 【0555】パケットサブページ状態フィールド次の表
はパケット動作の関数としての有効な(valid)サ
ブページを挙げている。 【0556】 【表25】 【0557】リング凍結 リング凍結はEEC単一ビットエラーとフォアグラウン
ド更新を処理するために使用される。パケットpcop
y CIU、RIU、RRCの使用のためのpcopビット
としてpkt.cmd[33]を割り当てる。常にCI
Uを挿入することにより初期化される。pcopyセッ
トでリング:1からコピーされるパケットはRRC:1
又はリング:1に戻す必要がなく、リング:0を首尾よ
く通過したときにRRC:0により空けられる。 【0558】パケット凍結 CIU、RIUの使用のために凍結ビットとしてpkt
.cmd[32]が割り当てられる。常にCIU又はR
IUを挿入することにより初期化される。セットされる
と、パケットの内容は全てのセルにより無視される。 それをセットする同じセルによりクリアされなければな
らない。クリアされると、パケットは正常と解釈される
。空の及び空でないパケットに対して有効である。 【0559】パケットインバリデート(無効)ルックア
ヘッド paket.cmd[13]を保留に変える。次のコー
ド化によりpaket.cmd[28]をcmd−lo
okahead[0]と名付ける。paket.cmd
[28]    記述   0                  NoLook
ahead1                  L
ookaheadPkt.Lookaheadは常にデ
ータを無視してパケットが短いと表示する。 【0560】パケットRRCビット RRCビットとしてpaket.cmd[8]を割り当
てる。常にCCU及びCIUにより初期化され又通過さ
せられる。sva−read−roにより使用され、再
結合し、釈放して、もしもリング:0内のセルがサブペ
ージを取り出さなければ、パケットが再発行されるべき
であることを指示する。 【0561】パケットRrcFaultビットRrcF
aultビットはRRCにより変更されている。Rrc
FaultビットはRRCフォールトが検出され、RR
Cにより記憶されたことを指示する。もしも残りのフォ
ールトビット(MarkedFault,LocalF
ault,DescFault,及びUnmarked
Fault)がクリアなら、パケットリクエストは上首
尾に終了した。もしも戻ってくるリクエストがビジーな
ら出発セルはRrcAtt状況でフォールトを通報し、
リクエストは入れさせない。もしも追加のフォールトビ
ットがセットされたら、これらのビットで指示される動
作はRrcFaultビットの作用を無視する。 【0562】パケットRrcCmd RRC及びRICの使用のためpkt.cmd[23:
16]の名称をRmcCmdに変える。RrcCmdは
割付け解除シーケンスのためにRRC:0とRRC:1
の間で状態を送るために使用される。 【0563】 【表26】 【0564】CEUの失敗した(aborted)リク
エストのセル処理 CEUが失敗したCCUリクエストに対応する、ビジー
として戻されたパケットはCCUにより再発行されるべ
きでない。システムエラー状態はローカルキャッシュに
通報され、ローカルキャッシュはハングアップにないで
ローカルプロセッサに通報し、失敗したリクエストがロ
ーカルプロセッサとローカルキャッシュにより処理され
ることが保証される。 【0565】制御箇所 SPAスペースアドレスは64ビットであり、セルアド
レスとセルアドレスオフセットに2分割される。セルア
ドレスは特にリングの階層中の特定のセルを特定する。 又セルアドレスオフセットはセル内の特定の箇所を特定
する。 【0566】セルアドレス構造 セルアドレスはリング相互結合階層の3つの水準、リン
グ:2、リング:1及びリング:0の内部のセルの位置
を特定する。リーフセルアドレスハリング:2アドレス
、リング:1アドレスリング:0アドレスから階層的に
構成される。3つのリング:nアドレスフィールドはリ
ーフ又は非リーフセルへの絶対的又は相対的なアドレス
を構成するために使用される。 【0567】次表を参照すると、3つのタイプのリング
:nアドレス、ノーマルアドレス、ローカルアドレス、
及びルーティングアドレスが示されている。ノーマルア
ドレスはリング階層のレベル内の128セルの一つに対
しする絶対的な基準である。ccccccフィールドが
絶対セル数を特定する。ローカルアドレスはリング階層
のレベルn−1の内部の相対基準である。ルーティング
インアドレスは階層内の非リーフセルをアドレスするた
めに使用される。ルーティングアドレス内のrrrrr
rフィールドはリング数又は非リーフセルに接近するた
めのリング:n+1へのルートを特定する。ローカルア
ドレス及びルーティングのコード化は同義である。   リング:nアドレス          記述  
  0ccccccc        ノーマルアドレ
ス  1xxxxxxx        ローカルアド
レス  1xrrrrrr        ルーティン
グリング:n+1【0568】セルアドレスモードはリ
ーフセルアドレスと、非リーフ(RRC)セルアドレス
モードに分類される。セルアドレスモードはセルアドレ
ス内のアドレスの型の組合わせで決まる。 【0569】フィーフセルの相対モードはセルが実際の
全セルアドレスを知らなくてもみずからをアドレスする
ことを可能にする。リング:2アドレス、リング:1ア
ドレス及びリング:0アドレスはローカルアドレスを特
定する。ローカルリング:0にモードに相対的なリーフ
セルは、リング:1アドレス及びリング:2アドレスの
知識がなくても、セルがそのローカルリング:0内の他
のセルをアドレスすることを可能にする。リング:0ア
ドレスフィールドはアドレスされたリーフセルを特定す
る。ローカルリング:1に相対的なリーフセルは、実際
のリング:2アドレスの知識なしにセルがそのローカル
リング:1内にある他のセルをアドレスすることを可能
にする。リング:1アドレスはローカルリング:2内の
リング:0の数を特定する。リング:0アドレスはリン
グ:0内のセル数を特定する。リング:2モード内のシ
ステム内の特定リーフセルがフル(全)セルアドレスで
アクセスされることを可能にする。リング:2アドレス
、リング:1アドレス、及びリング:0アドレスはフィ
ールドは階層的にリング:1、リング:0及びアクセス
されるリーフセルの数を特定する。 【0570】ローカルリング:1モードに対して相対的
なRRC:1(非リーフ)対は、非ローカルRRC:1
対がリング2アドレスの知識なしにアドレスされること
を可能にする。リング:2アドレスの型はローカルであ
り、リング:1のアドレスの型はノーマルであってリン
グ:1内の非リーフセルを特定し、又リング:0アドレ
スの型はルーティングであってルーティングを特定する
。RRC:0インターリーブ構成(configura
tion)及びリング:0アドレスフィールドはパケッ
トを特定されたリング:1に送るために使用される。 RRC:1対モードは、RRC:1対がリング:2アド
レス及びリング:1アドレスを特定することによりアド
レスされることを可能にする。RRC:2対モードは、
RRC:2対がリング:2アドレス、リング:1アドレ
スのルーティング及びリング:0アドレスのルーティン
グを特定することによりアドレスされることを可能にす
る。次表で1、2、3はリングを示し、lはローカル、
nはノーマル、rはルーティングを示す。 【0571】 SPA[39]はアドレスされたRRC又はその相手方
がアクセスされたかどうかを制御する。 【0572】相互結合パケットのルーティング(SVA
、SPA) SVAリクエストパケットはRRCディレクトリルック
アップ、パケットコマンド、pkt.Requstor
ID,CellAddress,RRC規則、及びイン
ターリーブ構成(configuration)に基づ
いてルート設定される。SPAリクエストパケットはパ
ケットコマンド、pkt.Addle[63:40]の
マッチ、セルアドレス、pkt.RequstorID
,CellAddress,及びインターリーブ構成に
基づいてルート設定される。もしもpkt.Requs
torID及びCellAddressがマッチすると
、パケットは戻り応答をし、リクエストしているリーフ
セルに戻される。その他の場合は、RequstorI
D及びCellAddressがマッチすると、パケッ
トはCellAddressモードに依存して、非リー
フ又はチャイルドリーフセルに対するリクエストとなる
。パケットRequestorIDマッチ及びSPAア
ドレスでコードはRRCが結合されているリングレベル
の関数である。 【0573】 【表27】 【0574】インターリーブ構成パラメータはRduM
asterConfig.RingInterleav
e,RduMasterConfig.RingVal
ue,及びIbuMasterConfig.Link
Interleaveである。 【0575】リーフセル及び非リーフセルへのSPAパ
ケットリクエストは同じルートを取る。SPAパケット
リクエストはセルアドレスのインターリーブマッチング
リング:nアドレスフィールド(nはルートを付けるR
RCのレベルに対応する)に基づいてRRCバンクによ
りルート付けされる。RingInterleave構
成はリング:nドレス[3:0]からのどのビットがマ
ッチしているかを決定する。非リーフセルのアクセスに
対しては、Ringアドレス[3:0]が正確な経路を
特定する。リーフセルのアクセスに対しては、リクエス
トしているリング:0及びアクセスされるリング:0の
正確な経路は必要でない。ルート付けはアドレスされる
セルに基づく。非リーフリング:2装置へのアクセスは
、セルアドレスの両リング:0及びリング:1フィール
ドが特定されることを必要とする。 【0576】 【表28】 【0577】両RRCバンクが単一のInterRin
gLinkgに結合する構成では、入ってくるパケット
はIbuMasterConfig.LinkInte
rleaveと単一ビットアドレスに基づいて一つのバ
ンクにルート付けされる。 【0578】 【表29】 【0579】オフセット構造 SPAのオフセット部分はRRC対の中の特定の制御レ
ジスタを選択し、SPA[39]がアドレスされたRR
C又はその相手方がアクセスされたかどうかを特定する
。   各ユニットにあるときは、制御場所は種類及び場所
のオフセットにより括られる。各種類に対する場所オフ
セットの範囲はその各記述により特定される。 【0580】セルアドレス[38:32]−ユニット数
バンクA、BのユニットはサブリングA(奇数リング数
)及びB(偶数リング数)とそれぞれ関連している。 ユニットはセルアドレスリング:nアドレスフィールド
により特定されるものとしてユニットが関連付けられる
ているサブリングを介してアクセスされるときにのみア
クセス可能である。 【0581】セルアドレス[31:28]−場所の種類
RDUをアドレスするユニット番号0x0及び0x2の
場所の種類は次の通りである。 【0582】 【表30】 【0583】RIUをアドレスするユニット番号0x1
0から0x13の場所の種類は次の通りである。 【0584】 【表31】 【0585】RBUをアドレスする0x1及び0x3に
対する場所の種類は次のとおりである。 【0586】 【表32】 .
Detailed Description of the Invention [0001] [Industrial Application Field] The present invention is directed to digital data communication.
Regarding circuit networks, for example, high-speed distributed multiprocessing systems
Concerning a Packet Switching Network for Use with a System
. [Prior art] Multiple instruction/multiple data (MIMD) parallel processing
A physical computer has an address space, memory organization and
can be classified according to memory hierarchy. Regarding the former,
The system can utilize single or multiple address spaces.
It can be characterized as something that single address space
is generally called shared memory, and any memory access
Includes implied communication as part of. Multiple dedicated address space
e.g. through message passing.
include. Memory organization can be either centralized or decentralized.
characterized. In systems based on centralized memory
In this case, common memory elements are centrally located and any
Access times to physical memory locations are
It is made to be the same for all users. On the other hand, decentralized
In a memory system, system memory is a module.
and some are located near each processor.
I get kicked. Memory hierarchies can be static, mixed or
is characterized as dynamic. One layer is
Although classified as static, this type
Stem data can be stored in local and/or broadband memory.
Split between units, each data is at least partially
explicitly assigned based on the unit location where it is stored.
has an assigned address. On the other hand, completely dynamic
In a block-type system, each piece of data is
Address based on physical memory location to access
No space is assigned. Mixed memory hierarchies are
This may include local and/or broadband memory for
types, the memory hierarchy is dynamic (e.g. cache
(memory), and other parts are static. According to the prior art, a single address space
i.e. a large number of shared memories organized in a centralized manner.
architecture is provided. of such a system
The processing unit is a high-bandwidth shared bus or
Communicate via switching circuitry. This kind of architecture
One problem with servers is that shared memory forms a bottleneck.
except in cases where there are only a relatively small number of processors.
This means that the characteristics of the system are hindered. [0005] To avoid this problem, Frank et al.
Patent No. 4,622,631 each
multiple processors with base memory or cache.
Processors share data contained in main memory elements.
A multi-processing system is disclosed. that common
Data in memory is partitioned into blocks, each of which
Main memory and any one of multiple processors
can be owned. The current owner of a data block is its
It is said to have the correct data for the block. The solution suggested in the above-mentioned patent is that the bottle
Allows for an increase in the number of processors that can be supported without bottlenecks.
However, centralized memory systems are not scalable. [0007] In order to achieve increase/decrease potential, decentralized
Memory organization must be used. This is a process
memory is proportional to the number of processors and memory modules.
Parallel high-bandwidth access can be theoretically increased
It is from. According to the prior art, for this type of tissue
Two alternative programming models are provided. sand
That is, multiple address space formats and single address space
It is a model. Both formats are computer system data
presents a dilemma for designers and programmers. From a programmer's perspective, a single address
A architecture that allows data movement to occur in memory operations.
is implicit, so it is a simple programming model.
Ru. On the other hand, in a multiple address architecture, one
explicit messages for multiple address architectures.
page passing is required. Additionally, multiple addresses
The architecture is designed to generate correct parallel programs.
Explicit data localization, explicit memory allocation and
Requires deallocation, explicit replication, and explicit coherency.
Essential. These aspects are unique to single-address architectures.
theoretically and implicitly in the In the prior art from the hardware perspective view
A single address space, as found by the designer
i.e. concurrent access to logically shared memory
is extremely expensive. This is the switching network
complexity and memory coherency
Lack of a general high-performance solution and its potential complexity
Due to gender. Therefore, Intel/IPSC-like
Distributed memory systems that can increase and decrease their size have been
Historically implemented with multiple address architecture. [0010] The performance of single address architecture
Depends on memory hierarchy. The static memory hierarchy is
, similar to a multiple address architecture for programmers
Explicitly move data for optimal performance in terms of
management is required. static memory hierarchy
Distributed to implement a single address architecture using
Two examples of type memory organizations are BBN butterfly and
It is IBM RP3. This kind of implementation is useful for programmers
requires explicit management of coherency. [0011] Mixed hierarchies necessarily limit the possibilities of increase and decrease.
This includes communication bottlenecks, but still requires the programmer to
requires partial control over the movement of one thing
The hierarchical method of species is described by Wilson Jr. British specials such as
No. 2,178,205, but this
In the patent, the multiprocessing system
Distributed cache memory interconnected via one bus
It is said to have a mori element. 1st bus and higher
Either level cache or main system memory
A second higher level cache note attached to
copy of each memory location in the cache, if any.
system main memory, and caches below it.
maintain a copy of each memory location in the cache. Wilson
Jr. Processors such as
from its own dedicated cache
to the main memory of the system and to the
, its own copy of that newly modified data.
Notify other caches to invalidate. Despite the solutions provided by the prior art
, all high-performance, fully dynamic, and consistent
Unlimited scaling possibilities for memory-based programming environments
There is nothing we have achieved together. [0013] The general object of the invention is to
more specifically, shared memory.
using an addressing model and decentralized organization and
Multiple instruction/multiple data parallel processing with improved herency
The goal is to provide a system. Another particular object of the invention is to provide a shared memory
High performance in distributed systems that utilize dress models
provides a fully dynamic memory hierarchy that achieves
Is Rukoto. Still another specific object of the invention is to provide improved
The objective is to provide a digital data communication network that
. [0016] Still another object of the invention is, for example, to
for use in distributed multiprocessing systems
The purpose of the present invention is to provide a packet switch network. Still another specific object of the invention is to
Routes data and data requests through the digital communication network.
Improved switching for use in setting
It is to provide a mechanism. SUMMARY OF THE INVENTION These and other objects of the invention are:
e.g. for use with multiprocessing computer systems
Improved digital data communications network, packet
by providing switch and associative directories.
will be achieved. According to one aspect of the invention, the system of the invention
The system consists of two groups of processing cells, and
Data referenced within the packet and the process
Data required by the first of the processing groups
or the data assigned to said first, or the previous
routed between processing groups.
Distribute data between these groups based on data identification.
A routing cell that transfers digital data information packets and
Equipped with [0020] Each processing group has an associated
Data packets and request packets via loop bus
Multiple processing centers that communicate by transferring
e.g. central processing unit and associated
Equipped with local cache memory. Individual cells are
Relatedly, data that can be identified by a unique descriptor
data or data copies. Inside the processing cell
If the data request packet is
data or data copies in response to such requests.
Generate a packet to serve. Each packet is
contains descriptors corresponding to the data supplied. [0021] The rules and configuration elements are
first and second inputs connected to the bus of the loop and
Connected to the output section and the bus of the second processing group.
a second input and an output section connected to each other;
The input and output parts of
It sends and receives packets to and from cells. 1st o
and request and response packets received on the second input.
descriptors in those buckets.
The data to be identified is a cell of the first processing group.
one of the outputs depending on whether it is assigned to
Or routed to both. Packets received by the routing cell
To make it easier to decide where to route the
The associative memory-based directory is
corresponds to the data assigned to cells in the cell group
Store a list of descriptors. The directory is
In addition, a second processor is required for processing by those cells.
Descriptors routed to a processing group
list of data, as well as the list of data for the second processing group.
requested by the cell and sent to the first processing group for processing.
Write down the list of descriptors routed to the loop.
I remember. The directory contains these descriptors and
also maintains information about the access state of the data.
. This can be done, for example, in addition to pending state, disabled,
read-only, non-exclusive ownership, exclusive ownership, and
and atomic states. According to related aspects of the invention, the above-mentioned
2 A processing group itself has multiple other
processing group, which group itself
, interconnected via routed cells and network buses.
each interconnected by an intragroup bus.
It has multiple processing cells. As an example,
In a two-level system, each other group has an individual
Selectively send and receive information packets to and from the group bus
Associated with a routing cell. Review below
Bell: 1 A higher level bus referred to as a bus is
These other routing cells are routed to the first processing group.
Connect with loops and associated routing cells. According to the invention, other related aspects include
, each consisting of multiple interconnected processing cells.
Has multiple packet forwarding levels including forwarding segments
A hierarchical digital data communication network is provided. cell
are data that can each be identified by a unique descriptor.
Or a data copy is assigned. The cell also
Request to reference data by each descriptor
Cache control that can generate packets and response packets
equipped with a control unit. The number of transferred segments is higher than each
at the highest transfer level, and one at the highest level.
There are only segments. [0025] Within the network, each routing cell
level processing cells and higher level processing cells.
Enables communication with single cells. Transfer level segment
The route setting cell that transfers information packets between
, the data and underlying transfers required in the packet.
Select request packets based on their association with the segment's cells.
Route selectively. Specifically, these routes
A configuration cell is a derived cell in a higher-level transfer segment.
packets requesting data unrelated to the
and set the lower segment to the lower segment.
Route packets requesting relevant data. According to another aspect of the invention, the request packet
is a request that identifies the processing cell that generated the request.
The requester ID field may be included. The essence
A cell that generates a response to a request sends the requester ID to the response packet.
Copy to cut. The route setting cell is the requester ID
The response pattern is sent to the requester according to the value of the field.
Set the return route for the ket. [0027] In addition, the route setting
packets, i.e. request packets generated by other cells.
1 response packet containing the data requested at the client.
can be routed to one requesting processing cell. Thus, for example, two processing cells can
Contains read-only copies of legally required data
If the response packet has only one of the requester IDs
Regardless of what is included in the response packet, both parties
can be set. These and other objects of the invention and
The advantages are clear from the explanation given with reference to the drawings below.
Become. EXAMPLE [Summary] Switching network constructed according to the present invention
A preferred digital data processing system that utilizes
0, 1 or multiple processing via ring bus
one or more routing interconnects coupled to a cell
multiple processes arranged in a ring hierarchy, each containing
Equipped with goosels. Route configuration links linking interconnects
The ring selectively transfers information packets between rings.
provide a transmission path for Directory within the route configuration cell
The data transferred through the associated cells (and the required
requests) and thereby track subsequent routes for subsequent packets.
Determine the route setting route for the route setting. In one preferred embodiment, the process
Each processing cell has a physical data and control signal store;
a local memory element with directory and control elements;
i.e. equipped with a central processing unit coupled with a cache.
I can do it. Cells are connected along a unidirectional intercell bus ring.
are combined to form units called segments. child
These segments together have "information transfer level: 0"
form a larger unit called. Different levels: Communication between cells of 0 segment
communication at a higher information transfer level, e.g.
Implemented via Level: 1 and Information Transfer Level: 2. These higher levels are themselves unidirectional bus
each from multiple routing cells joined via
It consists of one or more segments. Each roux
The default setting cell is the associated cell at the next lower information transfer level.
is combined with the component. These combined lower
Segments are referred to as "subordinates." [0032] Each information transfer level is connected to the next lower level.
contains fewer segments than the file. the highest level of the system
Apart from a single segment of the level, the signal contains each information
Transfer-level segments between higher-level
Transferred via segment. [0033] The route settings are for each sub-segment member.
The disk corresponding to the data allocated to the memory element.
Contains a directory of files. As an example, level: 0 se
Route settings to connect segment to level:1 segment
The cell is assigned to a cell in its level:0 segment.
Contains a directory of all the data that was
:1 segment to level :2 segment
The level: 1 segment is connected to the segment.
: Data assigned to all cells of 0 segment
Contains the data directory. [0034] The directory, along with the descriptor
, accessing data allocated to lower segments
Remember the state. These states include, for example, possessed
status, read-only status, and disabled status.
Ru. Ownership state, like atomic state,
associated with data that can only be modified by the processor.
It will be done. On the other hand, ownership state is different from atomic state data.
and by other processing cells--e.g.
- can be accessed to generate a do-only copy
. A read-only state is a local central processing unit.
data that cannot be changed but can be read.
associated with ta. An invalid state is an invalid data copy.
be related. [0035] In this regard, preferred embodiments constructed in accordance with the present invention
New digital data processing systems require main memory elements,
i.e. coupled to a multi-processing cell, thereby
It would be acceptable not to make use of shared memory elements.
. Rather, data is stored on an exclusive bus and shared
associated with each of these processors on the bus.
Distributed among local memory elements. any one process
Changes to data stored exclusively in single cells are
, communicated to other processing cells via a circuitry
does not require This results in data that cells dynamically share.
only on the network, i.e. ring bus and route
is transmitted along the set cell, thereby reducing bus contention and
and reduce bottlenecks. [0036] The routed cell directory is also associated with
packets routed by a routing cell that
Write down the descriptor corresponding to the data required in the
I remember. As mentioned above, the directories are
Along with the scripter, the requested access state of the data
Stores ongoing information data that directs. In view of the above points, the route setting cell
contents of the directory -- i.e. the allocated data
and ongoing request list--are processed by the processing group.
Routed data and data requirements between
Reflects the legacy history of request routing. [0038] The route setting cell includes a descriptor and
Use state directories to navigate along level segments.
A particular packet of information that is moving
before other processing cells in the emitted segment.
Should I be routed to another segment instead?
determine whether the route should be routed upward or downward.
do. To further understand this route setting function
In a preferred multiprocessing system constructed in accordance with the present invention,
In the system, data access requests are
to be processed within the processing cell that emitted them.
It would be recognized that Details are combined with each monitor
The controller monitors the cell's internal bus and routes requests locally.
Descriptors listed in cache directory
to respond to local processor requests by comparing
Ru. If consistent data from the cache itself is
Once found, the data is sent along the internal bus to the requesting program.
It is transmitted back to the processor. [0040] If the data request cannot be resolved locally,
The processing cell generates information request packets and
This is done locally via the local cache control unit.
transferred to the processing bus. That packet is sent along the ring
When moving, processing units adjacent to the requester
Knit control element checks its own directory
and put the requested data (if any) into the response packet.
Pass. [0041] Unresolved requests are
When passing through the routing element of the segment to which the cell belongs
and that element also checks that directory. if
The directory also has the required data on the correct address.
indicates that it exists in the local ring in access state.
The configured cell sends the request packet along the local ring bus.
Let it continue. If not present, the routing cell will be
, extract the packet and put it into the relevant level: 1 segment
Pass it through the port. Outstanding request packets are leveled in a similar manner.
Move along one segment, i.e. move along one segment, i.e.
level: 1 compared to the directory of the root setting cell.
Ru. One of these directories is at the lower level: 0
Requested data with proper access to the segment
If you list the data, the request is routed to that segment.
It will be done. On the other hand. The request is at a higher level in the hierarchy (if any)
or return it to the unresolved requester.
. [0042] The packet containing the requested data is
routed back to the requesting cell by some mechanism.
It will be done. The first mechanism is the requesting cell's address or I
Depends on D. Here, each requesting cell is
The packet contains an ID that uniquely identifies that cell.
Ru. When that packet reaches the responding cell, that cell
, requester ID as data and corresponding descriptor
data into the response packet. response packet
When moves along the segment ring, the route setting
The cell tests the requester ID and the requesting cell
or determine whether the packet is in the parent segment
Route accordingly. [0043] As required by the processing cell,
Contains data that is not generated in detail in response to these requests.
A second mechanism is used in conjunction with response packets that include: As an example, this mechanism may
cell for certain data held within a remote cell.
This applies when a read-only copy request is generated.
Ru. According to a preferred embodiment of the invention, these
At least some, but not all, of the requests are
to reach a processing cell that has a copy of the data.
Assuming that the circuitry blocks, the responding cell
Holds only the requester ID of the request packet that reached
Generates a response packet. [0045] The response packet is routed along the network.
When the routing cell is
folders and access information state within those directories.
Compare with the ongoing request entry. By that comparison
, the routing cell sends a data request in the form of a packet.
When it becomes clear that the packet has already been received,
(or a copy of it) is routed to one of the requesting cells.
Can be set. In this way, e.g. reading data
A single packet containing only-copy may have multiple outstanding
It can effectively act as a response to a read-only request.
Ru. [System Structure] FIG. 1 shows a system configured according to the present invention.
Delineate a preferred multiprocessing system that utilizes communication networks.
It is something. The example system 10 includes three information transfer levels.
Bell, i.e. Level: 0, Level: 1 and Level
Including: 2. Each information transfer level is
one or more interface elements having as its characteristics
or multiple segments. To elaborate, an example scenario
Stem 10 level: 0, 6 12A, 12B,
12C, 12D, 12F and 12F respectively.
Contains six segments. Similarly, level: 1 is
14A and 14B, and the other level: 2 is
A segment 16 is provided. Each segment of level: 0, ie 12
A, 12B, ---12F are multiple processing
Equipped with a cell. For example, segment 12A is cell 18A
, 18B and 18C, segment 12B is a cell
18D, 18E and 18F. each of these cells
are connected to each other by an intra-cell processor bus (not shown).
connected central processing unit and memory elements
Equipped with In a preferred embodiment of the invention, each cell
The memory elements contained within the
All control and data used by the
memorize the data signal. As further illustrated, each level: 0 se
A segment is a packet of information between cells in a segment.
has a bus element that provides a communication path for transferring
It can be characterized as a thing. Thus, the example segment
Component 12A has bus 20A as its characteristic and has segment
segment 12B has 20B, segment 12C has 20C,
The same applies below as its characteristics. Detailed below
The digital information packets are
example segment through the memory elements associated with each of the files.
Passed between cells 18A, 18B and 18C of 12A
. Certain interfaces between these memory elements and bus 20A
the cell interface unit as shown.
Provided by Knit 22. A similar direct communication channel, e.g.
As shown, segments 12B, 12C and 12
In D, each cell 18D, 18E, --- 1
Between 8R, cell interfaces 22D, 22E,
--- Set by 22R. As shown in the example and mentioned above, the remaining
Information transfer levels, i.e. Level: 1 and Level: 2
segment, each with one or more corresponding levels:
include. The number of segments in each successive segment is
smaller than the number of segments of things. i.e. level:
The two segments 14A and 14B of 1 level:
0's six segments 12A, 12B --- 12F.
The other level has only one segment 16.
2 has the least number of segments among all. Re
Bell: 1 and Level: 2, i.e. higher level
Each segment of
Contains bus elements that transfer packets. In the example,
Bell: 1 segment 14A and 14B each
24A and 24B, and the other level::2 segment.
Component 16 includes bus element 26 . Routing itself involves successive levels of
Provides a mechanism to transfer information between connected segments
do. For example, routing cells 28A, 28B and 2
8C is level: 1 segment 14A and level: 0
Between each of segments 12A, 12B and 12C
and provide a means for transferring information. Similarly, the rule
Settings 28D, 28B and 28F are level: 1 segment.
ment 14B and level: 0 segment 12D, 12
To transmit information between each of E and 12F
provide the means for Furthermore, route setting cell 30A and
and 30B are level 2 segments and 30B as shown.
and level: between 1 segment 14A and 14B
Provide information transfer path. To be discussed in detail later
, each routing cell includes two processing units.
I'm reading. Routing cells are interconnects on bus elements.
interface those segments through connections.
Continue. That is, the route setting cells 28A each have
Bus element 20 at ring interconnects 32A and 34A
A and 24A are interfaced and element 28B
at ring interconnects 32B and 34B, respectively.
Interface connection of bus elements 20B and (24)B.
The same applies hereafter. Similarly, route setting cell 30A
and 30B are ring interconnections, respectively, as shown.
At the continuation parts 36A, 36B, 38A and 38B respectively.
buses, namely 24A, 24B and 26, are
Connect face to face. FIG. 1 is further constructed in accordance with the present invention.
level of remoteness in digital data processing systems
and illustrates a preferred mechanism for interconnecting cells.
. A server located at a physically remote point from bus segment 20F
18R indicates the fiber optic transmission line indicated by the dotted line.
via that segment's bus and its associated cells (
18P and 18Q). remote interface
The base unit 19 has a cell interface 22R and
provides a physical interface between the remote cell 18R and remote cell 18R.
Ru. Remote cell 18R is configured similarly to other exemplary cells.
and works similarly, for joining fiber optic links.
A remote interface unit is provided. Similarly, level segments 12F and 1
4Bs connect fiber optic links from their parent segments.
interconnected through. As indicated by the dotted line,
The respective portions of routing cells 28F and 30B are
, physically separated but connected to other fiber optic links.
More connected. For example, the route configuration unit 28
Regarding F, the first part is a standard bus interconnect.
Route configuration interface for segment 14B via
34F, while the second part
is the route setting interface 32 of segment 12F.
Directly linked to F. As mentioned above, route settings
Physical interface between unit parts and fiber optic media
The base is connected to a remote interface unit (not shown).
provided by. FIG. 2A shows a multiprocessing system of the type described above.
The preferred method for maintaining data coherency in
This is an example of the format. The illustrated system is
associated memory elements 42A, 42B and 42C, respectively.
multiple central processing units connected together
40A, 40B and 40C. Each pair of processes
Communication between the processing unit and the memory unit is shown in figure
along buses 44A, 44B and 44C as shown.
administered. The level segment and route settings mentioned above
The circuitry 46 represented is an exemplary processing cell 4
Information packets (buses 48A, 4
8B and 48C to network 46)
In an exemplary embodiment, the central processing
The monitoring units 40A, 40B and 40C each have their own
Accessories labeled 50A, 50B and 50C respectively.
A service request element is provided. These access request elements
Data stored in memory elements 42A, 42B and 42C
Generates an access request to the data. Elements 50A, 50B
Among the access request signals generated by and 50C are
, exclusive modification access to the data stored in the memory element.
There is an ownership request signal that represents a request for access. Preferred embodiment
In the access request elements 50A, 50B and 50
C is the central processing unit 40A, 40B and
Contains a subset of instructions that are executed on the 40C. this life
The command subset will be explained later. Memory elements 42A, 42B and 42C are
, each comprising control elements 52A, 52B and 52C.
do. Each of these control elements has a corresponding
through directory elements 56A, 56B and 56C.
and connect to data storage areas 54A, 54B and 54C.
be done. Stores 54A, 54B and 54C are
The data required by the central processing unit
Provides physical storage space for data and command signals
as utilized by the illustrated system. Thus, store 54A is used by CPU 40A.
store 54A and control information.
and 54C are each central processing unit 40.
Maintains information used by B and 40C. Each space
The data maintained in the store corresponds to the system address.
Identified by a unique descriptor. These di
The scripter will write the address storage location of the corresponding directory.
stored in the location. Descriptor is considered unique
However, multiple copies of some descriptors are stored in memory elements
It can exist between 42A, 42B and 42C. in this case
, these multiple copies of the same data element are themselves
Identify copies. Central processing unit 40A, 40
The access request signal generated by B and 40C is
A description of the requested data, along with other control information.
or SVA (System Virtual Address).
Contains the descriptor or SVA request part. control
Elements 52A, 52B and 52C
Processing units 40A, 40B and 40C
In response to access requests generated by
data is recorded in the corresponding storage elements 54A, 54B and 54C.
Determine whether it is remembered or not. If so, please
That item of information is used by the requesting processor.
Transferred for use. If not, the control unit
Ports 52A, 52B and 52C are packets containing requests.
to network 46 along lines 48A, 48B and 48C.
Transmit. Control units 52A-52C also include circuits
network 46 and whether they receive remote access requests (i.e.
requests received from other processing cells).
Decide whether to get it or not. As mentioned above, on the return route network 46
Descriptor and status of access requests received by
descriptors stored in those directories.
Compare with ta. The requested data is visible in the requested state.
When issued, it directs the requesting unit to the
Therefore, the response packet is returned to the network 46 and transferred. request
The data being processed is stored in any of the system's processing cells.
is not present in the system, the operating system
You can search for peripheral devices on the computer. Data coherency refers to data requests and
Due to the cooperative action of processing cells in response to transfers
maintained. More specifically, the first process
Ownership--same as the generation of access request packets
When the memory associated with it is stored in physical space
allocate and hold the requested data. Similarly,
Requests from processing cells where data is stored in
At the same time as the requested data is transferred, the associated memory is
Physical storage previously allocated for storage of stored data
Deallocate space. These cooperative operations are illustrated in FIGS. 2A and 2A.
Illustrated in Figure 2B. The first of these figures
In other words, in Figure 2A, DATUM(0), DATUM(1
) and DATUM (2) are paired with CPU40A.
It is held in the store of memory element 42A. direct
Descriptors foo and bar held in the library 56A
and bas are their
Compatible with data. This descriptor is
A point supporting the location of the relevant information signal in store 42A.
Contains data. The memory element 42B paired with the CPU 40B is
Store DATUM(3) and DATUM(2). Each of these data elements is located in directory 56B.
The retained descriptors car and bas are paired
I am responding. DATUM(2) and its descriptor
The tab bas is copied from store 42A and therefore
have the same label. The system illustrated in FIG. 2A has a CPU
No data is stored in memory element 54C paired with 40C.
stomach. FIG. 2B shows that the data has already been accessed.
Processing cells that are not
exemplify how to move in relation to ownership
It is something. To be more specific, examples include CPU 40C and
DAT by processing cell consisting of memory 42C
Following the issuance of an outstanding ownership claim against UM(0)
It depicts the movement of DATUM (0). First, the system
The control unit 52C, upon request, controls the memory element 42C.
physical storage space is allocated to the store 54C. Mail
The response packet generated by memory 42A is
The data, that is, DATUM(0), is stored in the store 54A.
Request from (the data was previously stored here)
The data is transferred to the data store 54C. At the same time, the control unit 52
A of the store 54A that previously held the requested data.
Deallocate space. At the same time, control unit 5
2A is the descriptor foo in the directory 56A
(To identify DATUM(0) in store 54A
(previously used) and the other control unit
Knit 52C directs the same descriptor
56C. However, the descriptor
The controller then identifies the signal in store 54C.
used for. Memory elements 42A to 42C are disk drives.
access to data and control signals in addition to
Assign state information to each store. disabled, lee
These include do-only, ownership and atomic state.
The access state of data is accessed by a particular processor.
control the manner in which it can be accessed. The associated CPU
stored in a memory element that maintains modified access to the data
An ownership status is assigned to the data that is created. on the other hand
, its associated CPU has priority access for that data.
Data stored in memory elements that do not maintain a
A code-only status is assigned. Furthermore, “bad”
Data and related data are assigned an invalid state
. A digital device constructed in accordance with the present invention
Maintaining memory coherency within a data processing system
For the preferred structure for
USSN 136,930 and USSN 3702
No. 87 may be understood by reference to No. 87. FIG. 3 shows the level of the example shown in FIG. 1: 0 segment.
2 depicts a preferred configuration for the ment 12. Segment 12A is segmented along bus segment 20A.
interconnections 22A, 22B and 22C.
connected processing cells 18, 18B and 18C
Equipped with The route setting unit 28A is set to level 0
segment 12A and segment 14 of level 1 in Figure 1.
It provides an interconnect between A (if it is a parent).
Ru. This route setting unit 28A, as shown in the figure,
It is coupled to bus 20A via cell interconnect 32A. The structure of the illustrated bus segment 20A and its
cell interconnects 22A, 22B, 22C and 32A;
The relationship between the above-mentioned related patents, e.g.
Better seen by reference to U.S. Patent Application No. 509,480.
be understood. FIG. 4 shows an exemplary processing unit of the embodiment.
1 depicts a preferred structure for knit 18A. example
The illustrated processing cell 18A is connected to the processor bus 66.
and external device interface via instruction bus 68.
cache 60, data subcache 62, and instruction subcache 62.
Central processing unit combined with cache 64
It is equipped with 58. A more complete version of the circuit illustrated in this figure
A further understanding is that the related patents mentioned above, e.g.
U.S. Patent Application Nos. 136,930 and 199, dated 2
U.S. Patent Application No. 509,480, dated April 13, 2013;
U.S. Patent Application No. 370,325, dated June 22, 1989
No. 49 and U.S. Patent Application No. 49, dated March 26, 1990.
This can be achieved by referring to No. 9,182. Memory System: As discussed above, the present invention
Therefore, the configured multiprocessing system 10 is a system
Associated with each data based on virtual address (SVA)
By referencing its own descriptor,
Assigned to single cells 18A, 18B, ---, 18R
Allows access to individual data elements that have been created. In the example system 10, the implementation of this capability is
processing cell memory units and these memory units.
request and response packets via network 46 between
provided by the cut transfer operation. In the following discussion
, which are collectively referred to as a memory system. A complete explanation of the structure and operation of the memory system.
Understand its architecture review listed below
It will be achieved through (1) Data storage--the memory of each cache is a page
each page is divided into pages with SVA spaces.
can be dynamically assigned to a page. memory system
, usage and state information about the data in each cache.
maintains information and efficiently transfers information to and from secondary memory.
make it easier to move around. (2) Data locality--The memory system
Data recently referenced by a processor
Keep in subcache or cache in the same cell
. (3) Data movement--memory system refers to it
Move data to the processor's cache. (4) Data sharing--The memory system
maintains a copy of the data in one or more caches and
gram facilitates efficient data sharing. (5) Data coherency - Memory systems are
A well-ordered coherent memory model and
implementation model. Be tech savvy
For example, all processor operations execute in some sequential order.
If the result of any run is the same as if the system
system is "sequentially consistent" and each individual processor
in the order in which the behavior of the program is specified by the program.
It is recognized that it appears in Furthermore, if any one processor
access to data starts in program order,
issued, executed, and if executed by processor I.
At the time the store is observed by processor K, the store is
All to the data carried out regarding I prior to issuance of the Toa
If the access of has to be performed with respect to K, then
Memory accesses are considered "strongly ordered." child
In contrast, if access to synchronized variables is
If commanded, all selection data access is carried out.
synchronized changes in the processor before
Access to the number is not issued and if the variable is synchronized
the processor before the previous access to the
If access to the data is not issued by
Reaccess is weakly organized. A coherent system with a strong command of events
The system is sequentially consistent. SVA space in the example system
The organization of memory is a major departure from ordinary virtual memory schemes.
It is. Traditional architectures set the system address to
It is mapped to a physical memory addresser and
Software control page level that generates page exceptions
Contains file conversion. In these systems, software
page tables across all segments in use.
Controls multiplexing. Example system architecture
software-controlled page-level converter
There is no structure. Memory systems are based on traditional architectures.
address normally performed by software in the
can handle a significant portion of space management. these tubes
Management responsibilities include: (1) Maintain page usage and status information
to do. (2) Reusing old pages.
(3) Shared data access between multiple processors
synchronize and ensure coherency. (4) Data and data copy within the system
- move from place to place on a subpage basis and
Keep your data close to the processors you use most often.
to hold (5) Moving the data SVA together with the data
directly displays the sparse representation of the entire SVA space.
To be implemented.
(6) Moving pages between reference cells (page
There is no fixed origin for the example system's processors, e.g.
The processors 40A, 40B, 40C are the two main logic interfaces.
communicates with the memory system through the interface. 1st i
interface is a data access interface.
and this is accomplished by load and store instructions.
It will be done. In data access mode, the processor
, SVA and access mode information in the memory system
and the memory system sees the subpage containing the data
Satisfy its access by putting it back on
try The second logical interface mode is control
access, and this is a memory system control instruction
Implemented by In control access, the processor
instructs the memory system to perform some lateral action.
and return some information other than the actual data from a page. S
In addition to the main interface, the system software also provides
SPA space for configuration, maintenance, fault recovery and diagnostics
control position within the base. [Hierarchy] The memory system implements hierarchical storage (memory).
give In the illustrative preferred embodiment, each process
A processing cell is a cell that stores 0.5 megabytes of data.
A central processing unit (all
In other words, CEU). These processing cells are
It also has a cache that stores 32 megabytes of data.
include. Furthermore, it has, for example, 15 processing cells.
Preferred level: 0 stores a total of 480 MB
do. On the other hand, it is preferable to have, for example, a level of 32:0
Level: 1 has a total of 15360 megabytes. [Cache structure] The memory system has pages and
Data is stored in units of pages. each individual cache
32-byte SVA subdivided into 2048 pages
Describe a space. Pages are 27 (128) by
214 (16348) bytes divided into subpages
including. The memory system is cached on a page-by-page basis.
memory, and each page of SVA space is
Either completely or not at all represented on the stem
It is. Memory system is a unit of subcache
to share data between caches. [0077] SVA space pages are in the system.
If it exists, the following can be said. (1) One or more
A number cache allocates one page of memory to a page.
Teru. Each subpage of a page has an allocated space.
(
2) Each with space allocated for one page
The cache caches information about all of a page's subpages.
It may or may not include copies. Between cache pages and SVA pages
The association is for each cache in that cache directory.
recorded in the file. Each cache directory is
Constructed by Lipta. Each page of memory in the cache
There is one descriptor for each page. specific time
At that point, each descriptor is said to be valid or invalid.
Ru. If the descriptor is valid, the corresponding cache memo
Repage is related to one page of SVA space
and the descriptor contains the associated SVA page address and
and status information. If the descriptor is invalid
, the corresponding cache memory page is logically
Not in a good condition. Explicit enable flags associated with descriptors are
mooring and holding fields are both clear.
The descriptor can be considered invalid if S
There are no valid subpages for VA pages. Each cache directory has a content address.
Acts as memory that can be accessed. This will cause the cache to
You can perform an interactive search through all of the descriptors of
Disk for a specific page in the SVA space instead of
Cryptocurrency can be found. Each cache de
Directory contains 16 way sets with 128 sets
- Implemented as an associative memory. All of SVA space
Each page has an associated set of cache directories.
It is divided into 128 equivalence classes. for 1 page
only one descriptor is included in the page's equivalence class.
stored in a corresponding set of cache directories
. Equivalence class is selected by SVA[20:14]
. At a given point in time, the cache uses SVA[20:14]
Describe no more than 16 pages with the same value for
Wear. This is because there are 16 elements in each set.
Ru. [Subpages and data sharing] Subpages and data sharing
page exists, each of its subpages may contain one or more
exists in multiple caches. Subpages are cached
for the containing SVA page, if present in the
The descriptor (in its cache)
Records the existence of a page in several states. to cache
The state of a subpage in determines two things. vinegar
(1) The local processor of the cache is
What operations can be performed on the data residing on the page? (2) If necessary, the cache can be used by other caches.
for that subpage that is received through the level from
What response do you make to the request? [0081] The status of the subcache within the cache is as follows:
When a program requests an action that requires a certain state
change over time. One set of conversion rules
sub-processors resulting from processor requests and inter-cache level communication.
Identify changes in page state. [0082] When the processor completes an instruction or data reference,
In order to achieve this, several conditions must be met simultaneously.
do not have. That is, (1) In the case of instruction reference, the subblock containing data is
, must be present in the instruction subcache. sea bream
For most data operations, the subblock containing the data is
, must exist in a suitable state in the data subcache.
Must be. (2) The subpage containing the data resides in the local cache.
must exist. (3) Local cache maintains subpages in an appropriate state.
Must have. [0083] If the data is needed in the subcache
does not exist in the correct state, but the local cache does exist in the correct state.
exists, the CPU gets the data from the cache
. If the local cache does not have the data in the correct state.
, the cache communicates through levels and subpages
or as needed for that subpage.
Get the state, or both. Moshiki
If the cache does not satisfy the request, the cache
returns an error signal to notify the processor of the appropriate exception. The instruction set supports several different types of loading.
and store instructions, which are stored in the program
Expected future data reference pattern for the current thread of control
subpage state appropriate for
requires a protocol between different control threads. This section first describes states and their transformations.
Regarding processor instructions and their impact on cache.
Describe it as follows. [Subpage status] Subpage status and their conversion
Rules offer two general mechanisms to programs.
offer In other words, (1) the mechanism performs normal load processing by the system's processor;
strongly ordered sequential for read and store accesses
Transparently enforce a consistent memory access model. (2) Mechanisms are used in programs to synchronize parallel computations.
A set of transaction properties used by
provide the following information. These primitives come in a variety of conventional forms.
It can be applied to conventional and non-conventional types of synchronization mechanisms. The basic model for data sharing is
Three classes of subpages: do-only and owner
Defined by status. These three classes are
They are ordered with the strength to follow the access they allow. letter of invalidity
status does not allow access. The read-only state is
Allows load and instruction fetch accesses. several kinds
There is an owner state, but these are all loaded access
cache and access data from the interconnect.
respond to requests, and some allow store access.
To tolerate. Only one cache can exist at any given time
A specific subpage can be maintained in an owner state. sa
The cache that holds subpages in the owner state is
owner of the page. Ownership of each subpage is
The processor has store instructions and special requests that require ownership.
When requesting ownership with a load instruction, the cache
and move it to cache. The following sections describe state classes, and
Sequentially consistent memory accesses where they are strongly ordered
how they interact to implement the model.
I will write about it. [Invalid state] If the subpage does not exist in the cache
, it is said to be in an invalid state with respect to its cache.
It will be done. Processor is invalidated in its local cache
Request a load or store to a subpage in the state
Then, the cache is used to satisfy data accesses.
request a copy of that subpage in some other state.
Must be. Two invalid states or invalid disks
There are lipta and invalid. A specific cache for a specific page
If it does not have a descriptor, all subpages of the page are
The descriptor is in an invalid descriptor state in its cache.
It is said that there is. Thus, if you are in an invalid descriptor state,
subpages that are not explicitly represented in that cache.
stomach. [0090] If CEU is an invalid descriptor,
When referencing a page, the local cache uses the descriptor
(in the correct set) to the SVA
. After the descriptor assignment is complete, all pages for that page
The page has an invalid state. [0091] If the local cache is
scriptor, but certain subpages
subpage is in an invalid state.
Ru. Local caches can communicate with other caches
Attempt to obtain subpage data by [Read-only state] Only one read-only state
, that is, read-only exists. subpage place
provided that the owner keeps the subpages non-exclusive.
, any number of caches can read a particular subpage.
It may be possible to keep it in a "do-only" state. subpage
owner of any other state (i.e. exclusive ownership letter)
i.e. exclusive, atomic or transient
atomic one), read-only copy
cannot exist in any cell. CEU is read only
You cannot change a subpage that is in the - state. Owner State: There are two basic owner state forms:
There are non-exclusive and exclusive ownership rights. specific cap
When the browser keeps certain subpages in a non-exclusive state
, some other cache read-only that subpage.
- can be held in the -state. On the program,
Non-exclusive state is the same as read-only state. C
The EU cannot modify subpages that are in a non-exclusive state
. Non-exclusive state is basically used by the memory system.
is the bookkeeping state used, and it is supported
Establish ownership of webpages. Exclusive ownership states are exclusive, atomic,
and transient atomic. specific cap
holds exclusive ownership of certain subpages
and other caches are read-only or subpage
or hold a non-exclusive copy. local cache
Keeping subpages under exclusive ownership allows STT to
Allows write access to the segment and
The condition is that the write/no write flag is cleared.
CEU can change subpage data. [Atomic state] Atomic state is better than exclusive state.
is also a strong form of ownership. Only subpages can be programmed
entering or exiting atomic state as a result of an explicit request by a system
You can do it. Basically, the atomic state is SVA
Single-threaded access to any subpage of a space
can be used for access. If the processor has subpages atomically
gsp. nwt (
When executing the subpage acquisition, no waiting), the instruction is
Always, only if the subpage is not already in an atomic state
Complete. Thus, the atomic state on the subpage is
, can be used as a single lock. The lock is gsp.
The nwt instruction typically first places a subpage in an exclusive state.
and change the state from exclusive to atomic
Therefore, it will be done when it is completed. The lock is rsp(
Locked by executing subpage release) instruction
will be canceled. The rsp instruction indicates that a subpage is atomic.
A cache that is in a dark or transient atomic state
must be present in the queue. Local cache is
subpage, then atomically or
changes from a transient atomic state to an exclusive state
Ru. (If the subpage is transient atomic
operation becomes more complex, but the result is
It is the same on the program. )0097 Atomic state
It should be noted that is only associated with subpages.
is important. A specific running system process (typically
(user program) or has no relation to a specific cell.
. A process executes a gsp instruction and enters an atomic state.
Get the subpage located in the system software, followed by
is switched by the cell and continues execution on other cells.
It is important to ensure that That process is the second
Continue execution on the cell and ultimately resolve the subpage.
Execute the rsp command to release it. these two instructions
In between, the entire memory system has access to that subpage.
There is only a single copy, and it is either atomic or
It will be in a transient atomic state. various
When a processor executes an instruction that references a subpage,
That single valid copy moves from cell to cell. Special
A given process obtains atomic state and other processes
It is also possible to release an atomic. Atomic state is simply associated with a subpage.
additional flags that add to the data state of the subpage.
to implement protocols that use atomic state.
I can do that. Protocols implemented using only data
Just as a file can have errors, atomic
The state protocol may be defective. hardware
without STT and descriptor atomics
Using atomic state over access control imposed by
No checks are imposed on [Transient Atomic State] gsp. nwt life
An order is always completed within its limited execution time, but
(depending on the current state of the subpage in the memory system)
) may or may not persist. order
The second form of gsp. wt (subpage acquisition, waiting
Yes), but this means that subpages can be obtained in an exclusive state.
It will not complete until it changes to atomic state. gsp.
The wt instruction indicates whether the gsp instruction was successful or not.
Relieve the burden of decision-making from the programmer. processor
is gsp. When running wt, the subpage is already active.
atomic or transient atomic state.
, subpages are freed, available in local cache, and evicted.
Atomic or transient atomic
The processor will halt until the state changes to the active state. gsp.
Using the wt instruction causes the cell to wait for an opportunity to lock the lock.
Number of messages sent between caches since
can be reduced. [0100] The transient atomic state is gsp
.. to the memory system to make wt function efficiently.
more automatically used. Its use requires programmers to
It's completely transparent. Subpage is in atomic state
If another cache has gsp.gsp on that subpage. Realize wt
If the subpage is
enters a transient atomic state in the flash. If the subpage is later freed with an rsp instruction, the transaction
gent-atomic state allows you to create subpages with special solutions.
Displace interconnects that are in the open state. is releasing
The cache ignores its own state for subpages.
change it into effect. Any cache running gsp
, encounters a subpage and accepts it. Currently accepting
The cache can then complete the gsp instruction.
subpages can have transients in their cache.
enters atomic state. This behavior applies to each subsequent gs
The subpep that occurs and is evicted for p and rsp
page is not accepted by any other cache.
It continues until the point where it becomes. At that time, the key to carrying out the liberation is
The cache keeps its subpages in the disabled state (the subpages are
set when released) to exclusive state
Ru. [0101] If the CEU loads a packet with a released state,
The cache is executing a read or store instruction.
It is also possible to be accepted. The original cache is
Seeing the page accepted, delete its subpages
Leave it enabled. The cache being accepted is its C
EU and execute a single instruction before withdrawing the subpage.
row and set its own subpage state to disabled.
, sends out the subpage in a free state. load or strike
The cache that was running the release is now
is the owner of the page. As before, other caps
If the cache does not accept the data, this cache
Change subpage state to exclusive state and retain ownership
. Preferably, gsp. wt command can wait
It is good that there is no time limit. The process that issued the command is
Wait until the subpage is freed. The instructions are various
It can be interrupted by the XIU signal. such an event occurs
and the CCU attempts to obtain atomic access.
abandon. subpages are released in the meantime and other
Without a requester, the subpage is transiently atomic.
from the locked state to the free state and finally to the exclusive state
change. In typical system software operation, interrupts
is processed and the interrupted instruction is restarted, so C
The CU issues the request again. As before, it proceeds
In some cases, you may be made to wait. [State Change] This section is used to change subpage data and
We present an example with state flow. The data is owned by
The basic mechanism for moving from one cache to another
structure for instruction drawers and their other caches.
load and store instructions by the local processor
This is the execution of Different load and prefetch instructions are
, those local caches are read-on to the program.
or request to obtain exclusive ownership status.
In addition, store instructions always ensure that subpages are
Requires having an entitled status. in a certain situation
The cache is placed on the interconnection sub
You may get a read-only copy of your page. sub
The page post-store (pstst) instruction
A read-only copy of the cache in all related caches.
Communicate to Finally, the owned cache is
ownership state on the interconnect as part of recombining the
can be sent (described later). [0104] Instruction fetch and load instructions cause the station to
The partial cache requires read-only copies of subpages.
This can lead to the desired result. This request owns the subpage
The cache is responded to by the cache. Owned cache
has subpages in non-exclusive state, then requesting
provides a read-only copy to the cache of
does not change its own state. Owned caches are exclusive
If it has a subpage in the
change the page state to non-exclusive state and then read-only state.
Provide a copy to the requester. keys you own
Caches can be atomic or transient atomic.
If you have a subpage in the current state, the subpage in that state
source and invalidate its own copy. [0105] When a cache requests exclusive ownership,
The owning cache does not produce that copy of the subpage.
Ru. Once a subpage is owned non-exclusively, other keys
A read-only copy may exist in the cache.
There is a potential. All such caches are exclusive property.
Disable those read-only copies in response to a request
become [0106] Because the cache satisfies the store instruction
, if you want to get a subpage with exclusive ownership status, use
Ownership or read-only until the store order is completed.
- Do not give copies to other caches. This rule is
Readers of memory locations encounter changes in the order in which they occur.
In the memory system,
It is a strongly ordered nature. [0107] When a subpage is in an atomic state,
This state can change to a transient atomic state
but as a result of some load or store instruction,
It never changes to any other state. Some other characters
When a cache requests a subpage, its cache
Always atomic or transient atomic state
to get subpages. Subpage released to exclusive state
After the conversion between exclusive and non-exclusive states occurs again.
This is possible, but if subpages are non-exclusively owned,
A code-only copy may exist. [0108] A specific subpage is stored in a specific cache.
and is in an invalid state (i.e., the descriptor is already
, but the specific subpage does not exist.
), a copy of that subpage is available in some other cache.
Obtained at Information Transfer Level Interconnection due to request from
If possible, a cache with an invalid state will
Get a read-only copy of the page. The effectiveness of this mechanism
The result is to accelerate parallel computation. Because this
This is a request to copy a subpage from another cache.
This is because the associated latency period can be removed. The basic mechanism is simple loads and stores.
A program that uses instructions has a strongly ordered memoria
It is important to note that
Ru. The program uses certain conditions to improve its performance.
Forms of load, store, and prefetch that require state
can be used, and in many cases the compiler can
It is expected that the analysis will be carried out. However, this minute
Analysis is optional. [0110] In a simple transaction, the sub
Page atomic state is used purely as a lock.
Ru. Subpage data is not relevant. more technical
For those with a synchronization mechanism of the form, it is maintained in an atomic state.
Use the data of subpages that have been created. In one technique
, the atomic state on a subpage is
Use as a lock on data. The program is 1 or
or put multiple subpages into an atomic state and
Manipulate contents and release them. [Data copy creation strategy] Interaction between states
For example, the load instruction waits for a copy from another cache.
Time, cache space and information spent when
Transfer level bandwidth and store or gsp instructions executed
copies in other caches that are spent when
between the time and bandwidth spent disabling the
It's a compromise. There are many lead options for subpages in the system.
With a clean copy, a read can fill the local cache.
The chances of finding data that already exists increases. deer
while there is some read-only copy in the system
If the owner modifies a subpage, the owner must first
copies of them (by sending a single message)
Must be disabled. The heuristics below are simple
Multiple read/write from one read/writer access
Attempt to dynamically differentiate shares on a short-term basis. [0112] Dual read/write sharing has a high
Multiple read-only copies with locality and low
This results in write updates with sublocality. multiple copies
read-only because it is read multiple times between updates.
It is most efficient to hold peas. being changed
CEU is an exclusive-
Ownership status can be obtained. CEU is pstsp
Use instructions to signal changed data and
Distribute to participating caches. [0113] A single read/write access has a low primary
Multiple read-only copies with locality and
and write updates with high locality. The copy is
Read-only copy because it is updated multiple times between leads
It is not very efficient to maintain single lead/
Write copy (exclusive-ownership state)
does not require information transfer level operation. The strategy for balancing these considerations is as follows.
It's like this. (1) A copy of a subpage must contain information to satisfy the request.
When sent across the forwarding level, the
Copying to a subpage with a descriptor of
Any cache that does not have
Pick up a code-only copy. This mechanism is
Accelerate application with high locality references. (2) A cache with exclusive or read-only status
When a page needs to update a subpage, the subpage
Each other cache that has a copy of the
Invalidate and exclusive ownership moves to the cell being modified. strange
Cells in progress use pstsp to announce changes.
. Attempts by other caches to read the subpage are
This results in copies not being distributed to the involved caches.
obtain. [Cache Layout] Cache directory preferences
A desirable structure is shown in FIG. Reference to SVA
is done, the cache stores the information it needs.
A decision must be made as to whether or not it has. child
This selects one set in the cache and
This is accomplished by testing all descriptors of
. SVA[20:14] selects one set. general a
architecture, each disk in the selected set
Cryptor is also compared to SVA[63:21]
. In a preferred embodiment having 240 MB
, which means comparison with SVA [39:21]
. One of the elements of the set is the index for the desired page.
If it is a script, the corresponding comparator indicates alignment.
will show. Matching diary concatenated with set number
The index within the set of scripters is
1 page of the page. [0116] If one or more descriptors match, the key
The cache signals a multiple descriptor matching exception. Di
If the scripts are inconsistent, the cache
request data from the interconnect. Discount
It is possible that either the guess or the data request will be missed.
However, the cache indicates an error to CEU. SVA[20:1
4] is effectively a
This is a hash function. The system software
Hash functions give good performance in general cases
SVA addresses must be assigned accordingly. distribution
There are two important cases regarding. of a single segment
When referring to many pages, the first of many segments
This is when referring to the page. This set selector
has good caching behavior for consecutive pages
bring about. This is because 128 consecutive pages are 1
28 distinct sets. However,
However, this selector is the same as SVA[20:40].
For many pages with the same value, the hashing behavior is
not enough. The system software is
the latter state by changing the local data source in
can be avoided. For example, users for each process
Stacks can start at different segment offsets.
Wear. [Descriptor contents] The cell responds to a subpage request.
subpage data and certain descriptors.
supply the value of the data field to the local cache. response is
When returning to the requester, the requester returns these fields.
copy the code into the descriptor field (if
If it has no other valid subpages), these
Logically OR fields to descriptor fields
do. Some descriptor fields are passed to the responder.
Therefore, it is not supplied and updated by the requester.
Not even done. In a preferred embodiment, descriptor
The field is a descriptor tag defined as below.
(19 bits) Bits [39:21] of SVA. This field is specified by the corresponding descriptor.
Identifies the specific page of the SVA space that will be displayed. given
For a given set of cells in this field
must be unique among all 16 descriptors.
No. When the software creates an SVA page,
"Set" this field. (This is also
Set during cache initialization. [0120] Descriptor atomic change (1 bit
) Any subpage of this page is in atomic state.
When experiencing a conversion to or from an atomic state,
The cache sets this bit flag to 1. why
If so, was the gsp or sp instruction executed successfully?
It is et al. This also indicates whether the subpage is in an atomic state.
It is also set when changing from transient to atomic state.
will be cut. This flag is also used when gsp is missing.
is not set if rsp is missing. Because
For example, in the former case, the subpage is already in an atomic state.
, and in the latter the subpage is in an atomic state.
That's because there wasn't. This flag can be set to gsp or r
It is not set if sp is missing. Because de
This is because no scripter atomic is set.
. System software recognizes atomic state changes.
Set this flag to zero to indicate that
Ru. This field is propagated from cache to cache
be done. [0121] To the descriptor/change (1 bit) page
When some data is changed in the cache,
Set this bit flag to 1. system software
To indicate that the software has approved the changes to the page,
Set descriptor change to zero. This flag is
, set when there is no attempt to change the data
Not done. This is because descriptor/no writing is set.
This is because This field is from cache
Propagated to cache. [0122] Descriptor LRU position (4 bits)
g) The current position of the descriptor in the set is M
ost Recently Used (0) to Le
Transition to ast Recently Used (15)
The cache maintains this field when [0123] Descriptor anchor (1 bit) etc.
A request for data from the cache cannot be recognized as valid.
Also to indicate that the descriptor cannot be disabled.
, software sets this field. other keys
A read or get request from the cache is served by the requester.
It returns without answering and is treated as if the page never existed. This field allows you to create or destroy SVA pages.
The part that changes the page descriptor and the part that changes the page descriptor.
Set by system software as minutes. [0124] Descriptor/hold (1 bit) subpep
even if the page is not in the cache.
that the scripter cannot be invalidated by the cache
The software sets this field to indicate
do. No descriptor atomic (1 bit
) The cache is cached for this page's atomic state
software to prevent you from changing this field.
Set the mode. Use gsp or rsp to run
There is no attempt to do so, and the processor is notified. Processor
The server broadcasts a page atomic no exception. disk
Without Lipta Atomic, some subpages are atomic.
can be changed even if it has a lock state. child
The flag indicates that the descriptor/no write is in the data state.
The same is true for easily blocking attempts to change the
The method simplifies attempts to modify atomic state.
prevent. This field is cached from cache.
is propagated to. [0126] Descriptor/No writing (1 bit
) to prevent the local processor from modifying the page.
Software sets this field. page
There is no attempt to change it and the processor is notified. The processor signals a no page write exception. This flag can be used for exclusive or atomic/transient
To get subpages in atomic state
Does not affect caching capacity. this field
is propagated from cache to cache. Descriptor summary (3 bits) 1
Aggregate subpage state fields of a set of subpages
. One 3-bit summary for each set of subpages
- field exists. The summary is sometimes
Individual subpages for subpages within a resource set
Ignore (override) the contents of the state field
. [0128] Descriptor subpage status (4
bit) The subpage state is set in the 3-bit state field and
and the single-bit subcached state field.
Ru. This is used to record the state of each subpage, and
Any part of the subpage is placed in the CEU subcache
set by the cache to indicate whether it exists or not.
will be cut. Flags in descriptor were incorrect
may be outdated. There are two reasons for this
There is. i.e. CEU and its local CCU
and the latency between CCUs of different cells.
. In the former case, pages that have not been modified first are processed by the CPU.
This can happen when changes are made. modified sub blog
The local CCU is
, not knowing that the change happened. The latter is used by many
Each page has a description for a particular SVA page.
This can happen when you include data in one cache.
state changes that are affected by the
Not dynamically notified. [0130] There are no valid bits associated with the descriptor.
Therefore, the descriptor is always the name of the SVA page.
has a However, pointing to a specific SVA page
All cache descriptors that have the tag
must have valid subpages within their descriptors.
For example, SVA pages do not exist in the memory system. same
, the cache descriptor is set to a specific SVA page.
If the page does not have a tag that indicates
Not present in stem. Description for such page
field, but the SVA page
field has been logically destroyed.
Value is not valid. For example, a descriptor for a certain page
Consider two caches with . Cash A is
All have subpages in exclusive state, and
Cryptor/change is in clear state, other caches are
If you have no descriptor for that page
do. CEU in cell B changes subpage data.
Execute the store instruction as desired. CEU B is the local
Requires a subpage with exclusive ownership state from the cache
seek The cache allocates a descriptor for the page.
guess, then use the ring to request the subpage. Owner (A) responds by granting exclusive ownership to cell B.
Ru. After the subpage arrives, cell B
Copy cryptor changes (in cleared state). One
Then, B's CEU extracts the subblock from the subpage.
Load that data sub-cache and load that sub-block
change the In this regard, the CEU subcache is
, which indicates that the subblock has been modified.
, the local cache still shows the subpage as unchanged.
vinegar. At some later point, CEU B
sends sub-block data from the cache to the local cache
. This means that CEU B can use subcache for other pages.
If the CPU requires block blocking or the CPU has been changed
An idle cycle is used to write back the block.
using or some other cell requested a subpage
It can happen because of this. Next, the cell B cache contains the descriptor/change flag.
setting. During this time, the descriptor
Furthermore, it is in a clear state on cell A. As a second example, a system running on cell A
If the system software destroys the SVA page here
Assume. Page is exclusive in cache A
Collect all subpages in , and then create SVA
of A so that the page no longer has valid subpages.
Destroyed by changing the descriptor. deer
However, cache B still has the data for that page.
Has a scripter. Files like descriptors and changes
is meaningless. Some other caches followed by SV
Even after re-creating the A page, the cache B cache
The page should remain the same until the first subpage arrives.
cormorant. [0133] The system software uses descriptor information.
When trying to use information, the SVA page is
Must ensure that the memory system exists
. One way to accomplish this is to always set the page anchor to
and enable at least one local cache.
is to get subpages. Changes and atomic changes
be absolutely sure that no change fields are set.
In order to
You have to get the page. The anchor is either
Asynchronously cache other subpages that have already been obtained
prevent them from being acquired. When operation is complete, the system
The system software is a desk in local cache.
Clear Ripta Anchor. At that time, the page
Another cache request for a subpage of
It will be done. [0134] System software also creates a page
Make sure the SVA page truly exists in the memory system before
It is necessary to ensure that this is not the case. As mentioned above
, the mere existence of a descriptor with the correct tag value is
, SVA pages actually exist in the memory system.
Do not instruct. The software sets page anchors.
and then retrieve subpages with exclusive status.
The non-existence can be confirmed by trying. in the drawer
If successful, the software will lose the competition and the page will be left in memory.
exists within the system. If not, the software
software can create pages using the mpdw command,
SVA pager for all pages that are exclusively owned
Set the dress. The simultaneous use of mpdw for this purpose
There is a software interlock for
Note that this is still necessary. Cache Descriptor Usage and Replacement: Example
The system 10 cache is a multi-level storage system.
Can be used as part of system software. child
In some types of systems, physical memory is
multiplexing across large address spaces with
be done. Caching is done by software using SVA pages
Moves data between cache and secondary memory in units of
Features that accelerate the implementation of multilevel memory systems
have [0136] All caches are stored together in the system.
Configure primary memory. However, for a certain purpose
consider each individual cache as an independent primary store.
It is necessary to This means that each cache has a limited number of
This is because only SVA pages can be held. i.e.
, 2048 pages in each cache, any particular set
That's 16. Several ways to balance cache usage
There are automatic and manual mechanisms. [0137] Each cache has access to all existing pages.
to maintain LRU status. LRU data is
For each of the 128 sets of scripter associative memories
are maintained separately and their approximate last reference time is
There are 16 pages in one set. Each cache has disk drives within each set.
Maintain the LRU-MRU ordering of the printer. The order setting is
,descriptor. Maintained with LRU priority. 1 set
Each descriptor in the list is a descriptor. LRU
Priority has a value of 0 (MUR) to 15 (LRU)
. Conceptually, when a page is referenced, it is MR
U and old L of the page referenced from MRU
All pages leading to RU priority are then directed to LRU
Move one step. The descriptor has the following behavior:
It is made into MRU. That is, (1) subcache
Any load from the local CEU, including an increase in state strength.
In de. (2) With any store from the local CEU. (3) Any local CEU that does not store subcache
(4) XCACH operation (cache is local CEU
requests to change the subcache state) followed by
hand. (5) After local CEU allocation from subcache
. [0139] The CEU instruction resides in the local cache.
SVA page not present (in invalid-descriptor state)
may be referred to. The cache is descriptorized as shown below.
must be allocated and then assigned by CEU.
the interconnect for the specific subpage requested.
issue a request. If the corresponding page exists somewhere in the system, the request
The cache in
Cryptor fields and referenced subpage data
Copy. Finally, assign the descriptor
This process fills the elements of a particular cache set.
Tasu. [0140] Each cache has
Changing an SVA page to invalid-descriptor state
The ability to automatically reuse certain descriptors by
have power. As a background activity, cash
The cache also automatically sends owned subpages to other caches.
Move dynamically. All of these automatic actions are
entrained or disabled by system software, and
descriptor. Retention and/or descriptor.
Suppressed when the anchor is set. The following theory is
Cache descriptor correction and background
Describes the activities of movement of managed data. [0141] Occasionally a cache with no valid subpages
one or more descriptors exist in the set
Sometimes. This situation is caused by other caches.
or as a result of recombination activities (discussed later).
can occur as a result of For example, cache data
Suppose the scriptor has only one valid subpage.
Set. In this case, the cache descriptor is exclusive
Has a state. Some other cache owns the subpage
When you request the right, this cache
You no longer have the page. Moshi descriptor. Retention
and descriptor. Anchor is attached to this cache.
When the descriptor is in the clear state, the CE
U is invalid for the same set of caches in this cache.
Reuse when referencing some other page with state
can be done. [0142] The subcache is stored in the subcache.
Provided that the cache is not read-on
Pages with all pages in a read or disabled state (lead
Only Page) will be automatically dropped. This is a memory system
When a system destroys a read-only copy, the information is memorized.
This is possible because it will not be lost due to the resystem. Cash
All copies are removed according to the LRU order setting.
Physically disable or disable a partial range of disks.
It has the option of limiting it to lipta. [0143] A cache is fully owned in some exclusive ownership state.
It has a page and a descriptor. Changes and descriptions
Ta. Atomic A page with changes cleared
drop automatically. Cache has exclusive ownership of all subpages
The fact that other caches have ownership
That is, if you do not have a copy of the page with data state,
The cache is not allowed to communicate with any other cache.
guarantees that the data state will not be destroyed. discreet
Puta. Changes and descriptors. atomic change
The fact that both are in the clear state indicates that the data or
is an atomic state change (as a result of the gsp.wt instruction
From atomic state to transient atomic state
(including conversion) has occurred. This is S.V.
A: Was the page created by system software?
It happens because it was polled last. memory system
, atomic state and page data on secondary memory
Assuming you have a copy, and this is the SV
A Used to recreate a page and destroy it
can. I set the cache to LRU Jun order.
Is it possible to completely disable pure page shedding?
in the form of restricting this to a subrange of the descriptor.
Have a choice. The system software is
If the page is in a transient atomic state, the
Scripter. Atomic Changes are never made asynchronously
It was noted that it should not be cleared. [0144] Descriptor. Retention settings are individual
does not guarantee that a page exists in the local cache
Please note that. In addition, you can also
Scripter. Simply setting the retention
does not prevent users from destroying the page. system software
The hardware automatically drops pure pages.
Explicit action must be taken to prevent
Scripter. set changes). [0145] Reassociation means that owned subpages are cached.
cache to the interconnect and owned by other caches.
It is a movement that gives an opportunity to accept the state of authority.
. The receiving cache is
Should already have a descriptor assigned
and the cache contains the subpages that are being recombined
Assign a descriptor to accept ownership of
do not have. The purpose of page recombination is to assign pages to a specific SVA.
The goal is to reduce the total number of descriptors that can be used. [0146] The cache uses
A rejoin message is issued for this purpose. Reunion message
, does not find any other cache to take over that page
, the rejoining cache retains the data. actually
turns out to be itself the goal of recombination. ownership by some other cache (this is non-exclusive, exclusive)
, atomic or transient atomic state.
), the issuing cache will be
, changes its subpage state to disabled. [0147] The cache is memory refreshed.
Make the subpage a background activity while
automatically tries to rejoin. During each refresh interval
, the cache tests a particular set and finds an acceptable data
search for a scripter. The descriptor is
must not have any subpages stored in the
must have a subpage and exclusive ownership of all subpages
shall not be held in a state of entitlement. A page like this is the headline
cache for some owned subpage.
and issue a rejoin message. Cache is LR
U Perform background recombination globally according to order settings.
or add it to a partial range descriptor.
You have a choice of restricting or constructing. background re
Join causes cache but entire line error
Instead, the newly referenced SVA page is
increase the likelihood of being able to assign
Ru. [0148] CEU also requires that the system software
, you can try to eliminate owned subpages.
provide an instruction. Subpages are stored in subcache
should not be done, but the cache attempts to drive out ownership.
No other constraints are imposed before the [0149] The pages below the working set point are
Since there is little chance that it will be referenced, it is necessary to reconnect the data to actually move it.
In most cases, data is retrieved from a cell that does not refer to data.
Move it to the referencing cell. [0150] If a new descriptor in the set is needed.
When the cache finds a useful descriptor
Step through as many of the operations below as needed to
do. That is, (1) Find an invalid descriptor. (2) Disable read-only copy. (3) Destroy the pure SVA page. (4) Allocating a descriptor by the means described above.
If this is not possible, a lineful exception will be signaled. The individual steps are explained below. Find invalid descriptors. If invalid
If a descriptor exists, it can be used immediately. This requires the following conditions: i.e. - all the
If the page is in an invalid state and the descriptor is
and descriptor anchor are both cleared
be. - A subpage of a page is described by a PRT entry.
Not yet. [0153] Disable read-only copy. if
Also ctl$cculru config. cde
If is 1, the cache is read-only for subpages.
A descriptor containing only a copy is considered to be an identifying use. tree
The cache is waiting for a page with the following conditions:
Search for RU or MRU. - All pages are in read-only or invalid state. - There are no subcached subpages. -ctl$ccu lru config. cdl
LRU value equal to or greater than . −Descriptor retention and descriptor anchor
Both are in clear condition. - A subpage of a page is described by a PRT entry.
Not yet. If an acceptable descriptor is found
, all subpages are changed to an invalid state and their
descriptor is used. Drop pure SVA ctl$ccu lru config. pde
is 1, the cache can be destroyed (memory system
SVA pages (to be completely removed from the system)
try Caching is performed on pages with the following conditions:
Search for LRU or MRU while waiting. −
All pages are in (various) exclusive ownership states. - There are no subpages stored in the subcache. - Descriptor changes and descriptor atomic changes
Both changes are in clear condition. -ctl$ccu lru config. cdl
LRU value equal to or greater than . −Descriptor retention and descriptor anchor
Both are in clear condition. - A subpage of a page is described by a PRT entry.
Not yet. If an acceptable descriptor is found
, all subpages are changed to disabled state (it
), and that desk
Lipta is used. [0157] Line full exception (all line exception) occurs.
In order to reduce the possibility of
Try to reduce its ownership of subpages within the page that are not
shall be. These operations are similar to descriptor allocation operations.
Unrelated, occurs during RAM refresh. [0158] Moshi ctl$ccu lru conf
igu. When bre is set, the CCU
Search from LRU while waiting for a page that meets the conditions
. - A subpage that is in ownership status. - Certain subpages that are not in exclusive ownership status. - There are no subpages stored in the subcache. -ctl$ccu lru config, ble etc.
LRU value greater than or equal to . -Descriptor. Retention and descriptors. anchor
Both are in clear condition. - A subpage of a page is described by a PRT entry.
Not done. An acceptable descriptor is found
, the cache issues a reassociation message to the interconnect
do. [0160] The system software can
monitor the LRU behavior of pages within the cache and
A working setpoint can be set on the line. low
Descriptors with LRU values are in the working set.
descriptors with high LRU are
Not in Kingset. Determine working set point
descriptor tag, LRU value and sub
Iterative testing of page states is available. Change (or Atomic Change) Page
leaves the logical working set, the system software
descriptors will be reassignable in the near future.
It is possible to take actions such as purifying the page so that the [0162] Comparatives where the descriptor is in ownership state
Keeping a small number of subpages allows the software to
Using the csp (subpage recombination) instruction, these
attempt to rejoin subpages of to other caches. Otherwise, get the whole SVA page and pure
could be transformed or destroyed. [0163] When the working set changes, the system
The software controls the cache configuration parameters
can be changed. Pure page drop, copy drop and backlog
The parameters for background recombination are
software behavior consistent with software working set policy.
can be modified to ensure that the A typical use of secondary memory is for each SVA
has a corresponding page allocated in secondary memory,
The cache storage model provided by the hardware
Expand. A page initially exists only in secondary memory
, cached in memory when it is referenced by a program.
is memorized. changes while the page is in memory
(data state or atomic state), the second
A copy of the page in next memory is
memory system pages for other SVAs.
It must be updated before it can be used. Such changes shall
descriptor. Changes and descriptors. Atomy
Can be detected by change field. secondary memory
The act of updating is called "purifying" the SVA page.
be done. System software is usually a working
Since the SVA below the cut point is purified, the cut point is
Cache space is quickly allocated to other SVA pages.
Becomes available. [0165] Only some cells in the system have SV
A disk drive that provides secondary memory for pages
have a physical connection to Eve. Appropriate input/output cells
must be able to obtain page data during I/O operations.
Must be. System software issues I/O instructions.
Allocate a descriptor on the I/O cell before issuing it.
This can be ensured by applying and holding. Purification
After the system software completes, the system software
Ta. Changes and descriptors. atomic change
Clearing lag or destroying SVA pages
I can do that. The actual protocol used is the system
programmatically accesses the page during the purification attempt.
further complexity depends on whether it is possible to
There is. [0166] In general, system software
Unless the system is prevented from destroying the page.
One of the subpages is in a transient atomic state
descriptor if it has. atomic change
Do not clear it. For example, all descriptors are
or if the disk has the flag set
Crypter. If the change is set, the memory system
will not destroy the page. [0167] A particular set of a particular cache is in a full state.
When the software is in a
There is no reason to assume that the system is reasonably full. Thus, the software can select a page from the set.
to the corresponding set in the other cache.
It is desirable to respond with a full set. [0168] In order to use memory efficiently, software
The appropriate pages to be removed from the full set,
An appropriate target cache for that page (if any)
) must use some strategy to identify
. Caching is some kind of strategy for this page replacement
be prepared to promote For exchange within a set
To facilitate selection by the software of the pages of
The cache stores pages in the most recently used (
MRU) to the least recently used (L
RU). When a page is referenced
, it is moved to the MRU. Then other pages
When referenced, it ages towards the LRU. L
RU information replaces the most recently used pages
Accelerate strategies to increase growth. [Processor data access] The processor accesses the
and store instructions and co-execution unit operations.
Therefore, a data request is made to that local cache. Cat
request from its local processor, and the processor:
invalidates that copy of the subpage in the subcache
let [Load and store instructions] Including the referenced address
sub-cache with requested sub-blocks.
When not present, the processor executes load and store instructions.
Pass the command as a request to the local cache. different formats
The read and store instructions follow the instruction access pattern below.
Passes information about the event to the local cache. For example, the command
is a load followed by a store, and the data
The subpage containing the item is still in the local cache.
If not present, you will get read-only for load commands.
Take ownership of the load and then use it at other times.
The point communicates through the information transfer level to the store.
It is more efficient to obtain voting rights. [0171] Status of subblock in subcache
The state is the state of the corresponding subpage in the cache.
does not necessarily reflect the The instruction subcache is always
Get a read-only copy of your data. data sub-cabin
A sub-brochure can be read-only or exclusive.
can hold the lock. A subcache is an exclusive ownership letter.
and a descriptor. No write is set
It can have exclusive status only when it does not. sub cache
is exclusive, atomic and transient atomic.
does not differentiate between subpage states. subcache is supported
With the block in exclusive state, CEU is simply
Store commands can be executed simply by putting new data into the subcache.
It can be executed. st64. All store life except nsc
If a subblock is stored in a subcache,
If not specified, or invalid or read-only.
Having no state, CEU completes the store instruction.
must request exclusive status before. Hello
Scripter. No write is set or subpage
A failure occurs if the page is not present in the memory system. [0172] Subpage request arrives from another cache
The owning cache must then respond. too
If any part of the subpage is stored in the data subcache
local cache only exists in subcaches.
Guaranteed to get any changes that may exist
There must be. Cache also requires CEU
Depending on the request, the sub-cache state for the sub-block is
Change the status to read-only or disabled. a certain place
If the instruction subcache is
to disable that read-only copy of the page.
Guarantee. [0173] In addition, the subcache management unit (block
(locks and subblocks) and cache management unit.
It is important to distinguish between pages and subpages.
It is. Data is stored in sub-blocks in CEU and its
Move between local caches. The data is also
to move between caches. 2 per unit subpage
There are two sub-blocks. [0174] About the different forms of load and store instructions
The details are described below. Each description summarizes the meaning of the instruction
An overview of subcaches and cache behavior, starting with
continues. Load (Read Only) [1d. ro
] Load 64 (read only, subcache recording
memory) [ld64. ro. sc] Program reads data
Continue the pattern. The least amount of work is getting the data.
It will be done. If the containing subblock is subcache storage
then it is used directly. Local cache
If the page has no subpages, the local cache will copy
get. Local caches can be exclusive or read-only, as appropriate.
Supplying subblocks to the subcache in the only state
Ru. Load (exclusive) [ld. ex] load
64 (exclusive, subcaching) [ld64. ex
.. sc] The program writes a subblock using the following command.
imbedded, and the exclusive state is preferable to any other state
. When the data is expected to have few shares,
or when a series of writes was occurring.
system uses this. This means that CEU has changed the data.
Reduces the number of interconnect messages required before
Cheating. A specific example of the use of load (exclusive) is the stack
This is data for each program. Generally, it takes
There is no read-only copy of data. Because, Yui
One copy is for use by the program.
This is because that. However, if one program
If you move from one processor to another, the new
The processor's local cache has no copy and is stale.
The processor's local cache exclusively stores subpages.
Keep it in a vested state. If the program is (read-only)
) When using a load, the local cache
page in read-only state (subpages are
An atomic or transient atomic state that results in
(unless it's in a mic state). Subsequent stores are some C
Caching before EU data changes can occur
make other interconnection requests (exclusively
to gain voting status). ld. As in the case of ro
, the minimum amount of work is done to obtain the data. If
, if the subblock already exists in the subcache,
It is used directly. If the local cache is
If the local cache does not have a subpage, the local cache
to request exclusive ownership of. Local cache is sub
If it has a page, the sub-block can be read-on as appropriate.
supplied to CEU in exclusive or exclusive state. Store [st] Store 64 (Sub-cache) [st64. sc
] If the subblock is already in the exclusive state and the subblock
cache, the subcache state remains unchanged.
, the data is written to the subcache. sub cap
The block must have subblocks in exclusive state.
do not have. Is the subcache a local cache when needed?
requests exclusive status from the local cache, and the local cache
Request exclusive ownership status from a connection. Moshi Desk
If the repter no write flag is set, an error will occur.
Example where CEU is notified and CEU does not write a page
Generate outside. Otherwise, the subcache is
Obtain subblock in other state, data is subcache
will be written to. 0178] Load 64 (read only, non-sub
caching) [ld64. ro. nsc] load
64 (exclusive, non-subcache) [ld64
.. ex. nsc] Programmer writes for ld
Exclusive and exclusive according to the expected reference pattern, as
and use read-only instructions. However,
The number of references to the block is expected to be small, and
The subcache must not be disturbed during this data retrieval.
do not have. If the data exists in the subcache, it
is used directly. Local cache stores subpages
If not, the local cache gets a copy. CEU
gets a copy of the data and loads the instruction register
. Store 64 (non-sub-cache)
[st64. nsc] The number of references to the subblock is predicted to be small (
Typically 1), and the subcache stores this data.
must not be disturbed during memory. If the sub-block
If it is stored in the sub cache in an exclusive state, the sub
Cache state remains unchanged, data remains in subcache
will be written to. If the subpage is read-only
If the subpage is stored in the subcache in
Deactivated immediately. The CPU stores data in a local cache.
supply to Shu. The cache is subdivided with exclusive ownership.
If you don't have the page, request it from the interconnect
. If the descriptor no write flag is set, an error occurs.
is notified to CEU, and CEU does not write the page.
throws an exception. If not, the CEU data is
Written directly to a subpage of the cache. [Instruction fetch] Instruction fetch is always read-only.
– Pull out a subpage that specifies the state. [Subpage atomic state instruction] Subpage atomic state instruction
The lock state instructions are the protocols for the acquire and release operations described above.
gram interface. These instructions are parallel
Available in several formats to allow precise adjustment of the program.
exist. [0182] Subpage acquisition [gsp. nwt] sub
Page acquisition/waiting [gsp/wt] Subpage acquisition
indicates that the subpage should be set in an atomic state.
and request. For both forms of subpage acquisition commands,
If a subcache is atomic to any cache
If it does not exist in the state, the local cache will atomically remove it.
Acquire in the locked state. gsp. For nwt, @ME
The M status code indicates the success or failure of the attempt, and the instruction
, the trap option is present in the instruction and the subpage is
If it is already atomic, trap without changing @MEM
be done. gsp. The wt instruction makes subpages atomic.
CEUs in cache until can be earned in state
stop it. This is before the program can proceed.
If you have to obtain atomic state in the interconnect
Reduce the amount of traffic. If the subpage is one of the keys
cache (including local cache)
If the subpage is freed, the instruction is
wait. The local cache then atomicizes the subpage.
Acquired in a closed state. @MEM state always indicates success
will be changed so that [0183] Subpage release [rsp] Subpage solution
release is used to remove a subpage from atomic state.
used. If the subpage exists in the local cache
If not, it is first requested via the interconnect.
Ru. Once the local cache has exclusive ownership, r
sp progresses. If the subpage is in atomic state
If not, subpage release does not change the subpage state.
stomach. In this situation, if the trap modifier
If present for the command, the CRU is trapped. too
If a subpage is in an atomic state, it is exclusive
can be changed to a certain state. Moshi subpage transient
If it is in an atomic state, it can be changed to an exclusive state.
, so that waiting cells can acquire atomic state.
Driven to the interconnect. [Other subpage instructions] Subpage poststore [ps
tsp] Subpage poststore is in the program,
Drive read-only copies of subpages to interconnects
let everything that has a descriptor for that page
The cache takes a copy of the data. This command is
Used to send data as part of completing an action.
This means that some other cache may store the data.
When you need to use it, there is a read requirement on the interconnect.
reduce the possibility of having to make demands. [0185] Subpage prefetch [pcsp] sub
Page prefetching allows copies of subpages to be
request to be retrieved in local cache in state
do. Instructions may require read-only or exclusive status
. Subsequent references to subpages are
blocked until the patch is completed. [“Manual” control of the memory system] As mentioned above
, the memory system automatically shares data and LR
U Designed to direct maintenance to the virtual memory system.
It is. However, the software is
can take explicit control of the memory system. [0187] In normal operation, all processors
A. Space is shared and data is shared between instructions (and control operations).
automatically move from cache to cache in response to
move. The software uses a portion of memory on cache
or all can be dedicated to its local non-shared use. child
This type of system allocates SVA space between caches.
partition, moving such data from cache to cache.
Explicit control operations must be used to activate the The system software writes a descriptor to each descriptor.
By setting the data retention, the cache
Move or destroy pages to make room for other pages.
You can prevent this from happening. At that time, the system software
hardware is required to multiplex each cache memory.
handle the exception or explicitly destroy it according to
Can be carried out. In automatic mode, the memory system
, may be configured as a shared memory multiprocessor. Memory system when various automatic features are disabled
simulates a more loosely coupled message-oriented architecture
It can be configured to: The message is sent to a special SVA range.
It can be passed by referencing the enclosure. Manual control of the memory system
is used to more closely enforce a particular memory model.
can. [Memory system control instruction] The control operation is performed by an example of a processor.
For example, 40A can directly manipulate the memory system.
enable. There are two classes of control instructions. Sunawa
These are data movement and page state control. data transfer
Dynamic control instructions are used to control pages and pages of data in the system.
Cache to cache in subpage hierarchy
Moving. Page state control instructions are page descriptors
operate. CEU commands can be synchronous or
or cause cache directives to be executed asynchronously. CEU cache instruction in progress, cache PRT
occupies one entry in (hardware table)
. PRT has 4 entries, so up to 4
Cache instructions may be executed in parallel. Most CE
U Instructions remain in use until their requirements are satisfied
Assignment of one PRT entry to provide periodic aspects
receive. For example, load/store instructions are executed synchronously.
Exceptions to certain software controls (missing pages)
or unwritable pages) in a predictable manner.
I can solve it. pcsp (cache subpage
refetch) and pstsp (subpage post
−store) instructions as described in the following sections.
It works asynchronously. Synchronous errors are usually tracked by the CEU.
result in executing the push sequence. Is the asynchronous error due to actual hardware?
or requests from some other cache.
caused by This type of error occurs when the memory system
Reported by system interrupt. [Prefetch instruction] The prefetch instruction is a subpage
A copy of is retrieved on the local cache in a specific state.
request what should be done. pcsp prints subpage
Refetch. The cache is
Allocate one PRT entry. subpage
If already exists, the PRT entry is freed.
pcsp is completed. If not, cache
issues a request and then instructs CEU to complete the order.
. This proceeds asynchronously. Message is a request or response
, the cache accepts the data (if it exists)
) and frees the PRT entry. C.E.
There is no indication to U that the data has arrived. [Subpage post-store instruction] The pstsp instruction is
, copies of the subpages are circulated on the interconnect, and
A key with a descriptor for the page contained by
cache gets read-only copies of subpages
Request what you should get. pstsp is
Reference subblocks within subpages. sub block
is stored in the subcache in an exclusive state, and the
When modified in the cache, the CEU is
request poststore operations from the host. If not
If so, the pstsp instruction has no effect. cache
allocates PRT entries and removes subpenetrations from CEU.
request page data. Then the cache is posted
- Present the store message to the interconnect and the PRT
release the entry and instruct CEU to complete the command.
do. CEU proceeds asynchronously. The message is
When the cache is returned to, it is discarded. [Subpage fetch instruction] The mfsva instruction is
system software to make subpages read-only or read-only.
is imported with exclusive ownership, and the subpage's S
VA Specify the location. This allows the software to
, configure the DSTT conversion as required by pcsp
This will save you the effort of doing so. [Sub-cached subpage flush instruction] mfl
The sp instruction specifies that the specified subpage is in the local CEU.
The subcache is not stored in the cache.
Guarantee. If subpage is invalid - descriptor
state or disabled state, the descriptor is assigned
the subpage is not requested via the interconnect
. [Subpage recombination instruction] The mrcsp instruction
Stem software moves ownership to other caches
activity disk for a page by
The number of ports can be reduced. cache background
Unlike the round reassociation active state, this instruction
not controlled by shape parameters. [0198] The page state control instruction is the SVA space
works on individual pages. [Descriptor anchor instruction] The mpsa instruction is an SVA
Desk with moored to local cache for pages
Provide lipta. If the descriptor is before mpsa
If it already exists, its anchor flag will be set.
It will be done. If not, the cache uses the descriptor
Distribute and then set the anchor flag. page form
The state control behavior is
Requires that the cipher should reside on the local cache
do. [Descriptor write instruction] The mpdw instruction is an SVA
Create and destroy pages, and decrypt existing SVA pages.
Used to change scripter flags. mpdw is
, the system software first uses mpsa to
Get the tethered descriptor for that page
Requires. The discussion below is based on the tethered descriptor
Assume that the file exists on the local cache. [Creating an SVA page] Following mpsa, create a desk script.
page exists, but all pages are in an invalid state. system
The system software ensures that all subpage states are set exclusively.
Run mpdw which specifies what should be done. to this
, a message is sent to the interconnect, which causes
Members of the ring involved become aware of the creation of the page
be able to do so. [0202] There is an SVA page here, but its
Data values are not limited. The software allows the user to
Perform a store instruction or I/O before referencing the page.
You must initialize the page using
stomach. For this reason, software is usually
The page at the SVA location where the program cannot be accessed.
create, initialize the page data, and then
Change the address of the SVA page as described in
Ru. The page executes an mpdw command that clears the anchor.
be released for general use. [SVA page destruction] After mpsa, system software
software must obtain all subpages in an exclusive state.
do not have. This is done using the mfsva instruction. Then,
The software changes all subpages to an invalid state.
Execute the mpdw instruction that specifies what to do. this command
The message is sent to the interconnect and the related
Make ring members aware of page destruction. S
The VA page is destroyed by this operation. software
The software runs a second mpdw that clears the anchor.
free the descriptor for reuse by
. [Descriptor field change] The mpdw command
used to change various fields of the part descriptor
be done. This means no changes, no atomic changes, no writes,
No atomic and set or clear retained fields
and clear the anchor field. mpdw is also associated with tags and therefore descriptors
The SVA space address can be changed. (Dis
Cryptor index forms part of SVA
, the new tag is by definition in the same cache set
. ) [0205] To guarantee the consistency of the memory system,
In order to
Certain rules must be followed when changing a field or tag.
Ranu. mpdw has descriptor anchor set
(The command itself is a discreet
May bring Kriya of Ptah Ankar
Although not). Various sequences have all subpages exclusive
Requires ownership state to be in local cache
. This creates a descriptor anchor for each subpage.
and mfsva. By setting ex
It is carried out. The various sequences show that all subpages
The subcache is not stored in the local cache.
need something good. This provides a subcabinet to the local CPU.
for each subpage that may be stored
This is accomplished by running mflsp. (
mfsva. Executing the ex will tell you which subpages
It is also stored in subcache by CEU of other cells.
We guarantee that you have not. )0206] List below
gives valid constraints for each flag and tag.
Ru. (1) Anchor is set and (usually) assigned
as part of the desired descriptor tag or flag change.
Reared. It stays in the set state for an arbitrary duration.
However, this is not possible in shared memory systems.
It will be cleared as soon as possible. (2) Retention is performed on a specific cell without any constraints.
A descriptor can be modified to hold or release a hold.
Ru. (3) Atomic changes and atomic
The change is that all subpages are in the local cache.
requires that it be in exclusive ownership status in
. (4) Clear changes and set no writing
This means that all subpages are supported in the local cache.
Requires that the book is not cached. this
If the local subcache evicts any subblock,
does not have any other status and does not have any modified sub-blocks.
We guarantee that the Change no modified write
When the change occurs, the system software
Must be recognized by all cells that refer to that page.
You can decide whether or not to do so. To make a wide-scale change, you need to
page is in exclusive ownership state in the local cache.
Need what should be. The system software is
Normally, when clearing a changed flag, you do not make a global change.
vinegar. To make local changes, make sure that no subpage has an exclusive location.
Does not require being in an entitled state. however
, which results in a delay in the recognition of the new state. (5) Change the SVA page by changing the tag.
To change the number of pages, all subpages must have exclusive ownership.
state and are not stored in the subcache in the executing cell
It requires that. [0212] Modification of a single bit field can be performed using a single m
pdw. Performed by the desc command. This command
new values for flags, old values for other flags, and
Contains tags. System software mooring page
unless there is a special reason to maintain the anchor
Clear the flag. [0213] Change the number of SVA pages of the descriptor
What to do is destroy the old page and then restore it with the same data
This is logically the same as creating a new page that may
be. The sequence is as follows. (1) Disk script for old SVA page
moor the page and get each subpage in exclusive ownership status
. Any subpage is atomic or transient
If it has an atomic state, it is a running cell.
be obtained. Once all subpages are retrieved, the old SV
Accessing A results in a dropped page failure. (2) Determining the atomic state of each subpage
Fixed. This is gsp.for each subpage. Realize nwt
and test the @MEM indicator obtained.
Therefore, it is carried out most quickly. Old SVA subpage
gsp. Cells that are already running wt are
extremely resulting in a timer interruption and gsp. wt is
When resumed, results in a dropped page failure. (3) To change all subpages to invalid state
Mempdw. Use alli. This instruction is executed by the local CCU
local C that the SVA page is being destroyed.
Notify IU and RRC (if required)
. Even if all subpages are changed to invalid state, the data is
Stays in local CCU. (4) Set the tag and set flag to the desired state.
mpdw. Use desc. New anchor
– flag must be set. (5) Change all subpages to exclusive status
Because mpdw. Use allx. This instruction
An SVA page is being created in the CCU.
to local CIU and RRC (if required)
urge The old data is now recognized as being in an exclusive state.
be done. (6) Saved atomicity of each subpage
recovery from a locked state. For each subpage that was saved
, gsp. Published nwt. (7) m to clear the anchor flag
pdw. Use desc. [0221] Descriptor. For use without writing,
Including. i.e. of inadvertent modification of certain data.
Prevention, copy-on-write/copy-on-access protocols
Support, debugger monitoring point. In the first case, no writing
is set and remains set. In the second case, the pro
When Gram tries to change the page, the system software
The software makes copies of pages available to other users.
and then clear the no write flag to respond.
Wear. The software can handle this change locally or globally.
It can be done. In the former case, other pages that refer to the page
No write failures will continue to occur on the file. Finally, Deva
A guard point is a specific point in the context address space.
Detect changes in space, e.g. when a global variable is destroyed
The intention is to find out where there is. system software
software sets no writes for the page,
Enforce this by trapping each modification attempt
. For changes outside the scope of monitoring, the software
Moor pages, clear no writes, change data
and ejects the data from the subcache and writes no writes.
Set and proceed. Global for no write
Implement watchpoint support by making changes.
I can do that. [Page Local Discovery - LRU Lookup Instruction] m
The fpl instruction specifies the cache's LRU space.
search for a set of discs that meet a specific set of criteria.
Seek Crypta. The search began at LRU location 15.
Starts with a descriptor and progresses upward until it passes the criteria
do. [Instruction and data system address space division] Correct
To ensure correct behavior, the cache should be
We also need to know if the page exists in CEU.
. This allows the cache to
A request from a local DEU causes a subpage state change.
requesting subcache invalidation when requesting
I can do it. [0224] As part of this mechanism, the CEU
When changing the cache storage state, the cache and communication
believe However, the cache is subcache
Do not maintain per-time information. As a result, the SVA space
The same subpage appears in both subcaches at the same time.
There shouldn't be any. Generally, this means that the same SVA region
A system that cannot be used as both instructions and data.
system software. Self-modifying program
That is, the code and data are in the same context address set.
Programs that are part of a program are not supported. [0225] The system software is special in the following cases.
care must be taken. (1) Breakpoint
When modifying an instruction, such as when inserting or removing
. (2) Trap analysis or program using a debugger
Reading instructions as part of a disassembly operation. (3) Life
Reading a page from an I/O device that is a command page
. [0226] To read instructions as data, the system
The software must perform the following actions: (1) Configure DSTT entry to write SVA
. (2) Check that the subpage is not in the instruction subcache
Guaranteed (using mflsp). (3) As data
(using 1d64.nsc). (4
) DSTT entry invalidation. Instruction subpage with data
In order to write the
work must be done. (1) Configure DSTT entry to write SVA
. (2) Subpage exists in every instruction subcache
(mps to moor the page)
a and all other caches and subcaches.
mfsva.mfsva. ex
). (3) Extract the containing subblock
(Using 1d64.nsc). (4) Change the subblock and write the instruction as data
Enter (st64.nsc). (5) Release page mooring
. (6) Invalidate DSTT entry. [0227] Instruction pages are usually pure and system S
As part of VA space management, SVA space?
does not need to be written to the I/O device from
. Before writing the instruction page, the system software
You must perform the following actions. (1) The subpage
Guarantees that it is not present in any subcache (page
use mpsa to moor the cage and all other
Disable subpages in caches and subcaches
mfsva. (using ex). This cell is this
If the page never runs, this step
is not required. (2) Perform I/O. (3) Pe
ensure that the page is not present in the data cache (
mflsp). This cell has this instruction page
This step is necessary if you never perform
Not considered. (4) Unmoor the page. [0228] SV the instruction page from the I/O device.
A. When reading into a space, the system software
The following actions must be taken. (1) Create a page
(use mpsa to allocate and anchor pages)
, use mpdw to complete page creation)
. (2) Perform I/O. (3) The page is a data server.
ensure that it does not exist in the bookcache (mfls
using p). This cell executes this page of instructions.
If this is never the case, this step is not needed.
stomach. (4) Clear the descriptor change flag and sub
Other descriptor attributes like page atomic state
Set the property and descriptor/no write. (
5) Unmoor the page. [0229] RRC Organization and Data Structure: Structured according to the present invention
The preferred RRCs performed are each on a single sub-ring.
Organized into two independent banks that are connected. 1-4
Banks of RRC have low-order page addresses and alternating
Interleaved placement based on the degree of configuration of the placement
). Interleaving is a system
statically configured during system configuration. Ring: Connected to 0
The connected RRC is called RRC:0 and is connected to Ring:1.
The connected RRC is called RRC:1. [0230] Single ring: For 1 form, RRC: 0 or
and RRC:1 based on SVA [14]
It has been interleafed. Figure 19a shows one cost
It depicts the preferred form. [0231] Double ring with one RRC:0: type 1
(TwoRing: 1/1), a single RRC:
0 is interleaved based on SVA [14],
Two rings: 1 RRC based on SVA[15:14]
It is then interleafed. Figure 19B is one preferred
It depicts the form it takes. [0232] Two Rs
Two Ring with RC: 0: One form (TwoRing
:1/2), RRC:0 is SVA[15:14
] and the two RRC:1 are interleaved based on S
Interleaved based on VA[15:14]. No.
Figure 19C depicts one such preferred form. [0233] For 4-ring:1 configuration, 2 RRCs:
0 is interleaved based on SVA[15:14]
, 4 rings: 1RRC is SVA[15:14
] is interleaved based on Figure 19D is preferred.
It depicts the form it takes. [0234] Multiple RRC:0 is TwoRing:1/
2 and FourRing: single for one form.
Ring: Located on 0. Multiple RRC: 1 is Tworin
g:1/1, TwoRing1/2 and fourRi
The ng:1 configuration is configured on a separate ring:1. [0235] FIG. 6 shows a
Preferred Ring Routing Cell Pair (RRC Pair or R
RCP). pair is connected to a single communication line, e.g.
optical transmission connection (hereinafter referred to as inter-ring link)
includes RRC:0 and RRC:1 connected by RRC:0 and RRC:1. Downlink RRC is the opposite RRC of the RRC pair.
It is. RRC pairs connected to the same ring:0 are R
It is called an RC array. Cell or ring: 0
When discussing local RRC or RRC pairs,
Ring: RRC or RRC pair coexisting on 0
Ru. A remote RRC or RRC pair is a non-local
These are all RRCs. [0236] Each R
The RC bank is divided into three sections: root
Configuration interconnects, root configuration directories and rings
It consists of an intermediate buffer. The routing interconnect is a ring
Implement the RRC portion of the interconnect and route configuration directories.
provides an interface to the insert and
Extract buffer links to RRC internal route configuration bus.
interface. The route setting bus is 2
It consists of two 32-bit paths. Packets from extraction buffer
inter-ring drums via the link routing bus.
transferred to the buffer. The packet is routed to the ring
Transferred from the IBU to the RI insertion buffer via the configuration bus.
It will be done. The IBU also routes the packet to the link.
Inter-ring drum buff for error recording via configuration bus
Transfer to [0237] The root setting directory is
Connected Ring: All allocated pages in 0
Contains entries for the page. root configuration directory
The Root Configuration Directory Unit (RDU) and
Consists of actual ram-based directories. RDU is
, control directory access sequence and route configuration.
Contains fixed rules. For each package, the root configuration phase
The interconnect is pkt. addr, pkt. command
, and pass the fifo state to the root configuration directory
. The root configuration directory is used for root configuration commands and
and route instructions for updating packet commands.
Attribute to interconnect. The interleaving associated with the rings is Rd
MasterConfig Identified by location. [0238] The inter-ring buffer
It buffers incoming packets from the outgoing buffer, and
Interface to the link. interring buffer
is an inter-ring buffer unit (IBU), an inter-ring buffer unit (IBU),
Drum buffer (IDB) and inter-ring link-in
It consists of a surface. IDB allows packets to be sent between rings.
transmitted to the downlink RRC via the link.
and the route configuration interconnect until confirmation is returned.
buffers all packets from IDB Hama
Also includes an RRC error queue. IBU is a
buffers and formats inter-link packets,
Error checking is performed on packets arriving at inter-ring links.
provides buffering and control of the IDB. Rin
The inter-group link interface is a 32-bit wide IB
U sends outgoing and incoming packets to a physical link
- convert to matte or vice versa. RRC banks are separate inter-ring links.
or share a single interring link.
It can be configured to have Dual ring-to-ring link configuration
In this case, the inter-ring links are completely independent. single
In an inter-ring link configuration, both RRC banks are
share inter-ring links. The inter-ring link is RR
Connected to IBU of C bank. RRC is phosphorus
The two groups are arbitrated to share links between groups. IBU In
Incoming packets with tariff configuration and packet address
determines which bank is routed to. [0240] RRC is a UCS system failure detection battle.
It matches the abbreviation. All buses are parity and E
EC protected. Parity or ECC is possible
Instead of being played when possible, the chip is passed through. All DRAM and large SRAM data configurations are
EC protected. Single bit soft or hard error
is a fatal system error (system reboot required).
(required) and if possible soft
modified in a software-transparent manner. Predict high error rates
The data link (inter-ring link) is software transparent.
Perform transient frame-level operations. Frame level operation
errors in frames, including retransmissions where errors are detected.
guarantees free transmission. [Route Setting Interconnect] [Configuration] Each Route Setting Interconnect (RI)
Bank, subring, RRC internal route setting bus and
and the root configuration directory.
Ru. The RI consists of two routing interconnect units (R
IU). constructed in accordance with the present invention
A preferred RIU is illustrated in FIG. Each R
IU is half of a 16-byte wide ring and 8-byte
Interface to half of the twin route configuration bus
be done. The two RIUs store the packet's address and
Pass the command field to your root configuration directory
, the route configuration directory is the packet route configuration command
command, new packet command, and error status. [0242] Each packet has 1 in 10 while on the ring.
Consists of 6-byte double words (20 words). each long pa
packets (containing data) are stored in each RIU extraction buffer.
9 words are stored in the insert buffer as 10 words. Each short packet (no data) is stored in each RIU extraction buffer.
write one word to the file and two words to the insert buffer.
be remembered. RIU0 and RIU1 are ring data [
63:0] and ring data [127:64].
Connect each interface. RIU0 and RIU
1 extraction buffer is the route configuration bus to the link [15:
0] and route setting bus to link [31:16]
interfaces are connected to each. RIU1 and
and the RIU1 insert buffer is the route configuration bus to the ring.
[15:0] and the route configuration bus to the ring [31:
16] respectively. [0243] Ring-in-ring-out part of RIU
consists of a 6-stage shift register. The packet is shifted
can be copied or extracted from the storage register to the extraction buffer,
Packets from insert buffer are inserted into shift register
can. Insert and extract buffers are managed using FIFO rules
be done. RI Operation: The ring interconnect connects two sources to two
routed to one destination. The source is
, the preceding ring interconnect and the insertion buffer. Packets from the preceding ring interconnect are
Packets from the insert buffer are called insert packets.
It is called a cut. The destination is the next ring phase.
interconnect and extraction buffer. next ring mutual contact
The packets that appear in the continuation part are called ring packets and are extracted.
Packets that go into the buffer are called extracted packets. Insert
Incoming packets are fed into the insertion buffer, and extraction packets are
Inter-ring buffer unit (IBU)
removed from the fa. [0245] Packet address and command field
The file is passed to the root configuration directory and the root configuration
Directory returns packet route configuration commands. R
I do everything until I get the packet route configuration command
buffer stores the packets. ring empty feel
assertion that the ring packet is empty
give instructions. A non-empty ring packet is
are processed instead of insert packets. ring packet
If the insert packet is empty and the insert packet is not empty, the next insert packet is
buffer packets are processed by the ring interconnect
. [0246] The command from the root setting directory is
, packet route settings, packet fields, extracted buffer
It consists of a file, an insert buffer command, and an insert buffer command. [0247] Packet route setting code for all packets
command is path and empty. packet path command
The ring interconnect passes all packets unchanged to the next link.
identify what should go through the interconnect. packet empty
The command indicates that the ring interconnect has a ring empty signal.
and set the packet instruction CmdEmpty field.
Specify that the packet is to be emptied by CmdRequestId field is ring interconnect
All packets that match the CellNumber field
The directory is unconditionally emptied and the root configuration directory command
is not required. This causes the ring empty signal
When waiting for a command from the root configuration directory
can be set faster than possible. [0248] Extract buffer command can be used with no push or
and push. The no-push command
Specifies that the buffer does not currently store packets. The push command currently indicates that the ring packet is in the extraction buffer.
specifies what should be copied to the [0249] The insert buffer command is a no-pop and
and pop. No-pop commands insert buffer
Identify that the top packet was not inserted. Po
The insert buffer top packet is processed.
identify that it is being popped. [0250] The packet field command specifies which output
Specifies whether the command field is changed. The packet command fields that can be modified are shown in the table below.
shown. pkt. All fields except Freeze are
, pkt in instruction [31:0]. Packet Command Field Instruction
Description of Freeze
pass, clear, or set
Invalid
Pass, clear, or set
Pcopy
pass, clear, or set
Timestamp
Click from path or rule.
rear
With RingMaster
InvalidatorBusy
pass, kriya, or
Set Responder Busy
pass, clear, or set
InvalidateLookahead
Pass, clear, or set
rrc
pass, clear, or set
RRC Fault
Pass or set Spa
AddrError
Pass or set MarkedFa
ultimate
Pass or set UnMarkedFault
pass, ma
or set 0252 The packet is an empty packet.
Trouble configuration command and push extraction buffer command
extracted by the command. The packet is routed through the path packet route.
Copy by setting set command and push extract buffer command.
- will be done. [Extraction buffer management] The extraction buffer is short (2 words)
and length (18 words) to hold the packet combination.
Ru. This is equal to 512 words. This is the largest, longest
18 packets, 256 short packets, or long
/ produces a combination of short packets. peak sub ring package
The rate at which IBM can empty the extraction algorithm is
Extract buffer management flow control algorithm
algorithm is required. The control algorithm
Maximum forward progress in relation to reduced system load
Based on the principle of system towards completion requirements in progress.
Prioritizing system resource allocation achieves both of these goals.
be done. Because completing one requirement is the same
The most efficient forward direction, reducing system load when
Achieve progress. The control algorithm
Based on the use of separate and ring flow control mechanisms. [0254] The empty space in the ring extraction buffer is 2
one configurable pointer, ExtractAllTh
reshold and ExtractRspThre
It is divided into four areas by shold. current area
is selected by the number of empty words remaining in the extraction buffer.
Ru. The area going from empty to full is ExtBuf:A
ll, ExtBuf. NonOpt, ExtBuf
:PendReq and ExtBuf:Full
be. The extraction buffer status is a unit base per RRC bank.
maintained at the source. The boundaries of these areas are determined by the software.
It can be morphed by a. Ring packets are
for buffer management purposes, into three mutually exclusive categories:
classified into groups. (1) Optional packet The following remote
Packets issued at
It is local. That is, -Pendle:None
and SpState: Recombine with {Inv|Ro}. -Local ring: read-only copy of subpages within 0
- Duplicate for None. data. -Local ring: read-only copy of subpages within 0
sva readro. data. (2) Non-optional packets SpStat
must be extracted based on e. Optional pa
Does not include ket. (3) Locally emitted packets or RRC packets
Ending request (RRC:0Pend{1,2,3},
RRC:1Pend{1,2,3,4,5}) is satisfied
packet. [0256] The categories of these packets are as follows:
Processing is performed using four extraction buffer areas. i.e.
, Area Optional Non-O
optional response packet
packet packet
Ex
tBuf: all acceptance
Acceptance Acceptance Ext
Buf:NonOpt Pass
Acceptance Acceptance Ext
Buf:Pending Pass
path and
RspBsy, InvBsy
Assertion path ExtBuf:Full path
path and RspBsy,
path
Express InvBsy
Text reference 0257 ExtBuf: All
In the region, Empty and ExtractA
llThreshold, normally the extraction buffer is
All packets copied are copied. ExtBuf:
In the NonOpt region, ExtractAllT
hreshold and ExtractRspThr
between eshold and are normally copied to the extract buffer.
All non-optional packets and responses that would
The packet is copied. All optional packets
will be missed. Extraction buffer and RRC are optional
Abandon it as more lelords arrive. E
xtBuf: In the PendReg area, Extra
Between ctRspThreshold and Full,
Only packets related to RRC pending requests are accepted.
Can be put in. All optional packets and
Optional packets (including new incoming requests) are
Sponda busy (rsp busy) or in
Validator Busy (inv busy)
Becomes Bee Gee due to the announcement. RRC uses optional
Abandon both the load and the new request. [0258] When the extraction buffer is full, the RIU
passes optional packets and passes non-optional packets.
Responder busy or invalidator to request
Express Bee Gee. If the packet is in this RRC
If the packet is a response to a request issued by
Remain on the ring, pkt. cmd. timestamp
The field is cleared. Only packets related to RRC pending requests are
Since the package is accepted in the
will be copied on subsequent moves around the group. pa
The fact that the ket is in the middle of its second rotation
transparent (obvious) to all cells within the cell. if
Also, packets that satisfy pending requests (snarf)
packets originated by this RRC
If there is no response to the request, the pending request state is
Pend4: Converted to Reissue state. [Root Setting Directory] [Root Setting Directory Organization] Root Setting Directory
The root configuration directory unit (RDU)
and the actual ram-based directory. R.U.
D controls the directory access sequence and
Contains root configuration rules. The preferred implementation of the rule is SP
A Hardcode the rules and RR the SVA rules
C Allows to be loaded during initialization. FIG. 8 is a preferred embodiment of the invention.
The organization of the root setting directory is depicted. Route setting
The fixed directory is the ring to which the RRC pair is connected: 0
Entries for all assigned pages in
including. SVs allocated over a single local cache
A single root configuration directory for pages
Entry required. The root configuration directory is
3 levels b for each of the 128 subdirectories
organized as a tree. The subdirectory is
A single
All allocated pages in the local cache set
Contains entries for the page. subdirectories up to
64 rings: up to 210 pages supporting 0 cells
can be described. The local subcache of each cell is 1
Contains 128 sets containing 6 pages. Ring: 0
The sub-ring has cache set lsb, SVA[14
] to interleave subpage transfers based on
It is composed of Thus, half of the root configuration directory
Each ring: 0 subring (ring: 0A, ring: 0 subring)
(0B). [0261] L1 entry (Entry) is SVA
Indexed by [39:25]. L1 entry
are statically allocated to each of the 24 pages in a set.
. Each valid L1 entry is a dynamically allocated L2 entry.
Identify the pointer to the bird. Up to 210 L1 entries
is available. An unallocated L2 entry is a single
organized into linked freelists. Ind
exi L2Free List Pointer is
Points to the first L2 free list entry. free list
Each L2Enry in the next L2 free list entry
Contains a pointer to. Last L2 free list entry
The bird contains a zero pointer. Each L2 entry has 16
Contains subentries. Each valid L2 subentry
Contains a pointer to the L3 entry allocated
nothing. A maximum of 210 L3 entries are available. Each L3 entry describes a single page. unassigned
l3 entries are assembled into a single linked free list.
woven. IndexiL3Free List P
ointer sets the first L3 freelist entry to
Point. Each L3 entry in the free list is linked to the next L3 file.
Contains a pointer to a list entry. Last
L3 freelist entries contain zero pointers. Each L3 entry consists of 16 L3 subentries,
And each of them has a subpage shape for 8 subpages.
Describe the situation. [Configuration of root setting directory] FIG. 9 shows the configuration of the root setting directory of the present invention.
The structure of the preferred embodiment root configuration directory is
This is what I drew. The root configuration directory is
Physical data in L1, L2 and L3 tables for the ring
organized. The L1 table is SVA[20:1
4] (set number) and SVA[39:25] (in
dex1). SVA[39:25:,20:14] is index
It is called 1. Each L2 entry has L2 subentries and
and L2V. The L2 subentry is SVA[
20:14], L1Table[indexl]. 12
ptr and SVA[24:21] (index2)
Addressed by concatenation. L2V is SVA[20
:14] and L1Table[index1]. 12
Addressed by concatenation of ptr. L2V fee
If the L2 entry is valid, the
L2 entry valid field.
If the list is invalid, level 2 next free list entry
Interpreted as a repointer. Each L3 entry is an L3
Consists of sub-entries and L3 valid. L3 subue
The entry is SVA[20:14], L2Table. 1
2sub[index2]. ptr and SVA [13
:10] (index3)
. Individual subpage status is SVA[20:14],L
2Entry. 12sub[index2]. ptr,
SVA[13:10] and SVA[9:7] (in
dexsp). L3V
The field is level if the L3 entry is valid.
field 3 is interpreted as a subentry valid field and
If the L2 entry is invalid, level next
interpreted as a list entry pointer. [0263] The C-shaped description of the table structure of one bank is shown below.
show. }L3V; 0264th
Figure 10 shows a preferred ringle constructed in accordance with the present invention.
Root configuration directory entry in root configuration cell
It depicts the format of [L1Entry] L1Entry is the L2 entry.
Repointer (12ptr), L2 pointer valid bit (
11 Enable) and L1 check bit (11 Check
(h)). 12ptr is L2E as described below.
used to address entries. L1 Valid
Set indicates valid 12ptr, clear indicates
Indicates invalid 12ptr. L1 check is 5 bits
Single bit correct and double bit detect ECC
Consists of code. [L2Suventry] L2Suventry is L
3 entry pointer (13ptr) and L2 check
Includes qubits (11 checks). 13ptr is
, used to address L3 entries as described above.
It will be done. L2 check is a 5-bit single bit correct or
and double-bit detection EEC code. [L2 VENtry] There are two L2V Entries.
format, one is L2V entry
(L2V.Valid) for use as
, one of the L2 free list (L2V.Invalid)
If it is a section, it is the second one. L2V. valid is
Array of 16 valid bits and 5 ECC check bits
Consists of A. L2V. valid. 12valid[n
]set indicates valid L2 subentries [n]
, clear indicates invalid L2 subentry [n]
Show. [0268] L2V. invalid is nextoff
Lee L2 entries, unused fields and ECC channels
It consists of a check field. L2V. invalid.
NextFree is a NEXT L2 free list entry.
used to address birds. NextFree
high order bit clear
pointer. [L3Subentry]L3Subentry is 8
Subpage status field pointer (L3Subent
ry. SpState) and check bit (L3
Subentry. check). L3 Sube
ntry. check is an 8-bit single bit correct
and double-bit detection EEC code. [L3VENtry] L3VEntry has two formats.
mat, the first one is L3VEntry (L3V
.. Valid) for use as L3 fr
Part of ee list (L3V.Invalid)
This is the second one. L3V. valid is 16
Bit generated OwnerLimit, Page
Array of Pend and ecc check fields
Consists of A. L3V. valid. 13valid[n
] corresponds to L3Subentry[n] and L3V.
It is a function of generation. 13valid[n] generation
L3Subentry [n] 0
0 all subs
Page invalid 1 0
Actual subpage state
0 1
All subpages exclusive
1 1
Actual subpage status 0272
]L3V. valid. OwnerLimit is a page
Restrict ownership of subpages within the page to local ring: 0
set or cleared by software, such as
. When cleared, any ring: 0 is a subpage
Specify that you cannot own. When set, the station
Division ring: Only cells within 0 have subpages, non-exclusive,
Owns atomic or transient atomic state
Identify what you can do. Remote ring: 0 is lead on
You can receive a copy. Page failure is caused by OwnerL
Ownership is requested by RRC when imit is set.
will be notified. A recombination request is made when OwnerLimit is
Local ring when set: not propagated beyond 0
. Cleared during RRC descriptor allocation. [0273]L3V. valid. PagePend is
, when set, the RRC page is set to deallocate
Indicates that Kens is in progress. [0274]L3V. invalid is nextoff
Lee L3 entries, unused fields and ECC channels
It consists of a check field. [0275]L2invalid. Nextfree is
, used to address the next L3 freelist entry.
used. NextFree high order
bit clear points to the zero pointer. [0276] Eight operable root setting directories
There is a Route Setting Cell (RRC) directory operation. child
These operations occur within a single packet time. all pa
Allow a single action to be performed on a packet type. Level 1 Miss Lookup Operation Level 2 Miss Lookup Operation Normal Lookup Operation Level 3 Subentry Deallocation Level 2 Subentry Deallocation SPA Access Reclamation or Refresh 0277 System Virtual Address (SVA) Lookup
All lookup operations are performed by subdirectory selection.
, level 1 table lookup, level 2 table lookup
lookup, level 3 table lookup and level
Proceed through the five stages of modifying the subpage status.
go Level 2 entries and level 3 entries are
No allocation is required to complete the lookup operation.
It will be. Normal lookup operation Normal lookup operation is performed when level 2 entries are enabled.
If the level 1 table indicates something and the level 3 en
When the level 2 table indicates that the bird is valid,
Occurs when [0279] L1EntryAddr, L2Entr
yAddr and L3EntryAddr are
Calculated as described in the section on configuration directory structure.
be done. L1EntryAddr being set →
11valid means the level 2 pointer is valid
instruct. SVA[20:14] and L1Entr
y[index 1]. ptr concatenation is a subdirectory
is implied or implied by a 10-bit pointer.
Therefore, specify L2Entry. level 2 suben
Tori (L2EntryAdrr →12sub[ind
ex2]) is not determined by SVA[24:21]
and indexed. L2Entry being set.
12v [index2] is a level 3 pointer (L2E
ntryAdrr →12sub[index2]. p
tr) is valid. SVA[20:1
4] and L2Entry[index2]. ptr
The concatenation of subdirectories is done by 10-bit pointers.
Since this is implied, specify the L3Entry. level
L3 subentry (L3EntryAdrr →13s
ub[index3]) by SVA[13:10]
Indexed. Each level 3 subentry is
Contains subpage states for eight subpages,
Indexed by SVA[9:7]. Index3
points to SVA[13:10] and Indexes
indicates SVA[9:7]. L3Entry. v
alid[index3] and L3Entry. c.
reated indicates whether the corresponding subentry is valid or not.
and if invalid the default subpage state
Identify. [0280] The subpage status is sequentially changed to L3EntryA.
drr →13sub[index3]. SpStat
New subpage to be stored in e[indexes]
The root configuration directory rule (Rou
ting Directory Rules)
It will be done. Level 1 miss operation Level 1 miss lookup
a level 1 table lookup is a level 2 table lookup.
Occurs when indicating that the entry pointer is invalid.
Ru. Level 1 miss lookup behavior is
The request system virtual address page and support
level 2 to allow for describing page states.
Assign entries and level 3 entries. level
1 mistake, the address indicated by SVA[39:25]
Ring to address band page: 0 (Ring: 0)
Triggered by the first reference within. If, Pake
If the cut command is ciu ex summary, the required
request is part of the page generation operation. [0282] Level 2 free list head is level 2 free list head.
indicated by the list pointer. Go to free list
L2Entry. NextFree is the next free
Identify a pointer to a level 2 entry. level 2 free
- The list head is LevelEntry. point
Write er with a level 2 free list pointer and write L
1Entry. The level is set by setting valid.
2 entries. level 2 freeli
The stop pointer levels the level 2 free list pointer.
L2 free list head, L2Entry. NextF
It is updated by writing with ree. L2Ent
ry. 12v. 12valid[SVA[24:21]
] is set and the remaining valid bits are cleared.
. [0283] Step
Operation 1 L1EntryAddr
→12ptr = L2FreeListPoint
ter2 L1EntryAddr →
valid = set3 temp
= L2FreeListPointer →12
v. Invalid. NextFree4
L2FreeListPointer →12v.
Valid. 12valid[15:0] = cle
ar 5 L2FreeListPoi
nter →12v. Valid. 12valid [(
SVA[24:21])] = set 6
L2FreeListPointer=te
mp0284] If L2FreeListPoint
If ter is null (blank), the route configuration directory
A cultri fault is signaled. Corresponding ring: 0
Over 210 unique pages within a single subdirectory
level 2 entry or the routing cell assigns a level 2 entry.
If you fail to allocate or deallocate correctly,
This error only occurs if 210 unique pages require 64 processor cells
(210 pages/24 pages per cell)
J). [0285] Level 2 miss operation Level 2 miss lookup operation
Backup indicates that the level 2 entry pointer is invalid.
Occurs when giving instructions. Level 2 miss lookup
The behavior is that the root configuration directory is
It is permissible to describe the page and subpage state of the address.
Assign a level 3 entry so that level
2 miss is indicated by SVA[39:21].
Ring to address band page: 0 (Ring: 0)
Triggered by the first reference within. If, Pake
If the cut command is ciu ex summary, the required
request is part of the page generation operation. [0286] Level 3 free list head is level 3 free list head.
indicated by the list pointer. Go to free list
L3Entry. NextFree is the next free
Identify a pointer to a level 2 entry. level 3 fu
The list head is Level2Entry. 12s
ub[index2]. 13ptr level 3 freeri
allocated by writing with a stop pointer. The level 3 free list pointer is the level 3 free list pointer.
level free list head L3Entry
.. It is updated by writing with NextFree. L3Entry. 13v. 13valid[SVA[1
3:10]] is set and the remaining valid bits are cleared.
will be ascribed. L3Entry. 13sub([SVA[1
3:10])]. SpState[SVA[9:7]]
is set and an appropriate subpage state is set.
and the remaining 7 sub states are set to invalid.
be done. If the packet command is ciu ex summa
ry, L3Entry.ry. 13v. Valid.
created is set. [0287] Step
Operation 7 L1EntryAddr
→12sub. 13ptr = L3FreeLi
stPointer8 temp =
L3FreeListPointer →13v. I
invalid. NextFree9 L
3FreeListPointer →13v. Val
id. 13valid[15:0] = clear
10 L3FreeListPoint
er →13v. Valid. 13valid [(SV
A13:10])] = set11
L3FreeListPointer →13sub[
(SVA13:10])]. S
pstate[7:0] = invalid 12
L3FreeListPointer →
13sub[(SVA13:10])]. Spstat
e[(SVA[9:7])] =
new-sp-state13 L3F
reeListPointer →13v. Valid
.. Created = clear 14
L3FreeListPointer = tem
p0288 System virtual address deallocation operation system
The stem virtual address deallocation operation is performed using the packet instruction ci.
u inv sum alloc, ciu pure
inv sum alloc and RrcDeall
Initiated by ocDesc. All deallocation activities
The process includes subdirectory selection, level 1 table lookup,
lookup, level 2 table lookup, level 2
If you update the entry and unassign the level 3 entry,
It progresses through five stages. If all levels
If 2 sub-entries are invalid, level 2 entries in sequence
is also deallocated. Level 3 Entry Deallocation Operation Level 3
All level 2 subentries after entry deallocation
is not invalid, the level 3 entry deallocation behavior is
executed. The following operation is performed when the packet instruction is ciu i
If it is nv summary, it is executed. [0290] Step
Operation 1 L2EntryAddr
→12v. Valid. 12valid[(SVA[
24:21])] = clear 2
L3EntryAddr →13v. Invalid
.. 1NextFree = L3FreeListPo
inter 3 L3FreeList
Pointer = L2EntryAddr →12
sub[(SVA[24:21])]. 13ptr [
[0291] The following operation is performed when the packet instruction is ciu wr
description. data or ciu in
v sum allocate. If it is data, it is true.
will be carried out. step
Operation 1 L2EntryAddr
→12v. Valid. 12valid[(SVA[
24:21])] = clear 2
Packet. DataWord2[9:0] =
L2EntryAddr →12sub[(SVA[2
4:21])]. 13ptr 0292 Level 2 entry deallocation operation Level 3
All level 2 subentries after entry deallocation
is not invalid, the level 2 entry deallocation behavior is
executed. Step
Operation 1 Execute dea
locate Level3 Entry Opera
ation (performs level 3 entry deallocation operation)
) 2 L1EntryAddr →11V
alid = clear 3 L2E
ntryAddr →12v. Invalid. Next
tFree = L2FreeListPointer
4 L2FreeListPoint
r = L2EntryAddr →12ptr 0
294] SPA operation SPA operation is spa read
requests and spa write requests
It is started by two packet instructions, t. Sp
There are two types: aDirect and SpaLookup.
There is a spa operation. [0295] SpaDirect operation is based on packet access.
Delay for spa location specified in dress
read or write
go Spa write request data
is Pkt. Provided to DataWord0. Spa
read request response data is Pkt.
Provided to DataWord0. [0296] SpaLookup operation
Under controlled conditions from the address space, the RDU looker
to emulate the pop-up behavior and deallocate the behavior.
used. Pkt. Address position offset
and ctl$RiuLookupCommand.
SubAddr forms an emulated SVA
and ctl$RiuLookupCommand
The remainder forms emulated packet instructions. R
DU uses emulated packet instructions.
to emulate normal lookup behavior and
performs a deallocation operation. SpaLookup operation
The result is L2FreeListPointer, L
3FreeListPointer and SpaDir
ect location. Refresh Operation Refresh is performed by each RRC individually.
achieved in a decentralized manner by fresh control
Ru. A single refresh takes one packet processing time
I need. In this way, refresh
It can only be performed during connected packets. Because this
These packets do not require any processing
It is from. RRC performs refresh,
When all empty and frozen and hidden packets
refresh in the background.
Trying to do the same thing. [0298] L1Table, L2Table and
There are three dynamics called L3SubpageState.
RAM-based data structures require refreshing.
Essential. During a refresh operation, one of the 512 columns
Columns are refreshed with their respective data structures. ECC Corrective Action When a route setting cell detects a correctable ECC error.
the additional packet time required to modify the data structure.
It is essential. Ring freeze behavior fixed and re-look
Used to allow multiple packets up time. [0300] When a correctable ECC error is detected
, ECC errors are known from the beginning in packet processing.
Therefore, RRC is Full-1 Ri
Start the ng Freeze method. the first packet is
, as described in the Extract Buffer Full Section section.
and the remaining packets are frozen for one rotation.
Marked as a conclusion. Modified data that has been rewritten
The data structure is saved in RDU and sequentially rotated one ring.
later used to reprocess packets that lead to ECC errors
be done. Only packets for which a routing cell occurred are processed.
and non-occurring packets are extracted by another cell in the ring.
be done. The saving operation of modified packets is based on the route setting cell.
packets emitted by a single bit (modifiable
) to ensure that hard errors are handled correctly. [0301] Initialize root setting directory Root setting
The default cell hardware will automatically change the root configuration directory.
It is not initialized to . All Level 1 Entries
s (Level 1 Entry), Level 2 Subent
ries (Level 2 entry) and Level3Su
ventries (level 3 entries) are initialized to invalid
must be made into Level 2 and Level 3 Freeli
pointers and freelists for all entries.
and to indicate that the subentries are free.
must be initialized to . [0302] InterRing Buffer (InterRing
Buffer) An inter-ring buffer is a ring interconnect buffer.
Buffers and reloads input packets from the extraction buffer.
Provides an interface with the inter-engineering link. Inter-ring bus
The buffer also manages the route configuration cell bank buffer.
Control. The interring buffer is an interring buffer unit.
(InterRing BufferUnit, IB
U), inter-ring dynamic RAM buffer (Int
erRing Dram Buffer, IDB) and
and inter-ring link interface (InterRin).
gLink Interface). Inter-Ring Buffer Structure Inter-Ring Buffer Unit (IBU) The IBU buffers inter-ring link outgoing packets and
packets entering the interring link.
performs error checking and buffer operations, and performs inter-ring diversion.
Controls the dynamic RAM buffer. Output buffer is 72
Contains words and stores packets with a maximum length of 4.
The input buffer is for packets with a maximum length of 4.
Holds 72 words. Input buffer sizing (fixed size)
) behavior depends on the interring link rate and absolute delay (length and
switching delay). 72 word buffer is 1
Directly connected to gbit/sec link, 10km
Sizing is done for maximum length. A short packet takes 2 words
and long packets are sent to the outgoing or incoming buffers.
spend 18 words. Output and inbound buffers are fif
o method. [0304] Inter-ring dynamic RAM buffer (I
DB) Inter-ring dynamic RAM buffer (InterRi
ng Dram Buffer, IDB) is the ring buffer.
Ring Packet Q (RPQ, Ring Packet Q
UEUE) and Routed Cell Error Queue (RRC
ErrorQueue). To the present invention
Therefore configured Preferred Routing Cell (RRC)
The configuration for inter-ring drum cues in
Illustrated in the figure. Ring packet queues allow packets to pass through interring links.
is transmitted to the downlink route setting cell and confirmed.
until an acknowledgment is returned.
All packets from the routing interconnect unit
Buffer. The extract and output buffers are full.
When an extraction buffer packet is
are injected into the IDB until it can receive the ring packet
Queues are organized as circular queues. Ringpa
packet queue push pointer (RPQPushPoi
nter) is about the next packet from the extraction buffer.
point to the first free word to perform the cue action.
Show. Ring Packet Queue Pop Pointer (RPQ)
PopPointer) is
indicates the first word of the next packet to be transmitted. PRQ commit pointer is the downlink route setting
The first of the oldest packets not answered by the cell.
Indicate the word. ring packet queue push point
and the ring packet queue pop pointer.
packets are queued for transmission over the interring link.
ing or waiting operations are performed. RPQ pop
pointer and ring packet queue commit point
Packets between nodes receive responses from downlink route configuration cells.
I'm waiting for the answer. If ring packet queue push
pointer equals ring packet queue pop pointer
If so, there is no queue for transmission on the interring link.
The packet is also not in the ring packet queue. If phosphorus
packet queue pop pointer is set to PRQ commit point.
If equal to the interface, all transmitted packets will be answered
Is receiving. If the ring packet queue overflows
If you load it, a fatal error will occur in IbuMasterConf.
ig. Indicated by RPQFull. [0305] The inter-ring dynamic RAM buffer is
It also includes a routed cell error queue. Roux
The routed cell is each detected by the routed cell.
for each error in the error queue (ErrorQueue).
Place entry. Each error queue entry has an error (if
(if any) corresponding to the packet and one word of error information
Consisting of Error queue push pointer (EQPushPoint
er) to perform the next error entry queue operation.
, indicate the first free word. Error cue poppo
Inter is the least recent queue error (least recent queue error)
tqueuederror)
Ru. If the error cue pop pointer
If equal to the pointer, the routed cell error queue
is empty. The error cue pop pointer is set to
Some files are not modified by SPA access.
will be corrected. IbuMasterConfig. EQ
Full means the route setting cell error queue has overflowed.
It is set when Routing cells operate normally.
It will continue and no new errors will be recorded. Inter-ring link interface Inter-ring
The link interface is a 32-bit wide inter-ring buffer.
Buffer unit output packet/input packet interface
interface to a physical link format or
Convert from different link formats. [0307] Routing cell buffer management rules
The root setting cell pair is fifo type, ring: 0 and
Ring: One of the directions between the pair.
(FIG. 11B). root
The configured cell bank consists of 5 buffers, a ring and an outgoing link.
Three buffers between inter-ring links, incoming inter-ring links and
and manages two buffers between the rings. Copy from ring in uplink route configuration cell bank
packets sent to the extraction buffer and optionally to the ring
packet buffer and inter-ring link out buffer
is transmitted sequentially across the inter-ring link. Pake
The output is sequentially transferred to the interring link input buffer and downlink.
Pass through the insertion buffer of the Clute setting cell bank. Opposition
Packets traveling in the direction of
Extract buffer, link
link packet buffer and inter-ring link output buffer.
It goes through. Packets are sequentially transferred to the interring link input buffer and
and uplink route configuration cell bank insertion buffers.
It goes through. [0308] Extract and insert buffers are ring and insert buffers.
The speed or rate between the routing cells' routing buses.
Make adjustments. Input and output buffers are inter-ring links
and speed adjustment between the routed buses in the routed cell.
conduct. The ring packet queue is filled with pending and
Enable to store the maximum number of packets involved
This reduces possible overflow of these buffers.
and deadlocks between routing cell pairs.
to prevent Buffers are used for extraction and interring link output.
Occasionally used to perform buffer operations between buffers.
The size is determined so that ring packet queue
Additionally, if retransmission is required due to link errors,
, records all packets transmitted on the inter-ring link
It is also used to. In the preferred routing cell bank implementation:
, between the extraction buffer and the inter-ring link output buffer and
and inter-ring links between the out buffer and insert buffer.
Provide a set path. Interring link input buffer empty
and the insert buffer is not full.
The inter-program buffer unit inserts packets from the input buffer.
Transmit to input buffer. [0310] The extraction buffer is not empty and the inter-ring drum
The queue is empty and the interring link out buffer is full.
When the interring buffer unit is not full, the
Transmit packets from the buffer to the output buffer. If it comes out
If the buffer is full, the packet is removed from the extraction buffer.
Transmitted to inter-ring drum cue. drum key between rings
Packets included in the queue are always extracted from the extraction buffer.
It is transmitted to the outgoing buffer before any packet. [0311] Inter-ring link packet protocol and
Formatting inter-ring link packet protocol and
The format supports multiple generations of UCS computers.
is applicable over a range of link speeds.
Needed. Single protocol and format
Long-distance communication with fee structure from 25 meters inside the room
Interconnection range up to 10,000km over the network
distance should be covered. The format is SONET
It should be compatible with emerging telecommunications network standards such as
It is. It was adopted from the SDLC protocol
Based largely on simple concepts. 1978, Addison
-Wesley Publishing Company
Published by R.Y. J. “Co” by Cypser
communication architecture
or Distributed Systems”,
Published by Addison Wesley in 1987
"Te" by Mischa Schwartz,
communications networks
: Protocols, Modeling and
Please refer to "Analysis". Figure 12 shows
used in a ring route setting cell configured according to the present invention.
Illustrating the preferred inter-ring link frame format
are doing. [0312] The connection between confirmation and retransmission routing cell pairs is fully duplex;
Consists of two unidirectional interring links. Rin
Due to the uncertain reliability of inter-group links, very reliable and
Explicit confirmation is required at link level. sending route
Configuration cells are those transmitted over the outgoing inter-ring link.
For each packet, a reliable
Yes, accept positive confirmation. Transmit next packet
Waiting for confirmation beforehand leads to very low efficiency. Inter-ring bus
The buffer unit attaches an ordinal number to each transmitted packet.
However, up to 216 packets are marked as pending before the first check.
It is considered to be a state. The ability of duality allows two independent sets of
A sequence number is used, one for each direction of packet flow.
Ru. This is one inter-ring link recovery route setup.
Proceeds independently of the order of other interring links between cell pairs.
and possible timing ambiguity
Avoid. Only data packets are examined sequentially. [0313] The two ordinal numbers are each inter-ring buffer.
maintained by the support unit. Works with modulo 216
IbuXmitSeqNum is the inter-ring buffer
Each data transport packet transmitted from the
Give a count for each hit. Ib which is modulo 216
uRcvSeqNum is the value of this inter-ring buffer unit.
are in the valid order of each received by the client.
Incremented by one for each error-cleared data packet.
Ru. One interring buffer unit has its IbuRc
Set vSegNum to downlink inter-ring buffer unit.
When sending to
and is indicated by the packet reception order number.
All data received up to (and including) the value
Used to confirm packets. each successive
The transmitted IbuRcvSeqNum of all
Double check that your message was accepted. multiple
data packets can be seen in a single packet
can. Packet Format The inter-ring link packet format is
(Frame Start), Preamble (Pre
amble), Ring Pack
et ), CRC and end of frame (Frame
It consists of five fields: End). Fray
The frame start and frame end fields are link-specific.
Frame indication field and inter-ring link
Added to or added to inter-ring packets depending on the interface.
removed. Frame start and frame end fields
Depends on the type of physical link. [0316] The preamble contains link control commands and order confirmation.
identification field, transmission frame sequence number (TFSN) and
and the received frame order number (RFSN). control
Instructions for word count and ring packet subfields
Clarify the content. Control Cmd
Ring Packet Size Order Idle
(idle) 0 words
unordered initial
initialize request (initialize 0
code unordered
request) Initialization sequence (initialize 0
Do out of order
sequence ) Initialization confirmation (initialize 0
word ordering
(not acknowledged) short packet (short packet) 2
words ordered
long packet 1
8 words ordered
[0318] Instructions are ordered instructions and
Divided into unnumbered instructions. Order of links
The number is set in the route setting for ordered frames.
incremented by pair. About the link
The order number is incremented for unordered frames.
is not printed. [0319] The transmission frame order number (TFSN) is
represents the ordinal number of the system. each consecutive ordered
The frames that were added have their ordinal number incremented by 1.
have Inter-ring links are numbered modulo 216
I used it. When the transmitter reaches its maximum order number
, the transmitter transmits until a frame in the opposite direction is accepted.
and checking for undecided packets is forcibly stopped. reception
Frame order number (RFSN) is the reception of RFSN-1.
and any frames preceding that number are still
Not confirmed. RFSN is the number the receiver expects the ordered number RFSN to be.
Instruct what you are doing. Transmission ring buffer unit
All frames that have not yet been explicitly advertised
buffer. Once securely notified, frame
The system can be wiped out or purged and its order number can be reused.
Ru. [0320] The inter-ring link is a communication link such as HDLC.
The intelligence function is embedded in the frame transmitted in the opposite direction.
Gives "piggyback" nature. Multiple frames can be combined into a single frame.
Notification can be made in the frame. The three possible notifications are:
That's right. [0321] Notification
Function Ready to receive
                         
Received frame order number (RF (RR
)
SN) All up to ordinal numbers including -1
                         
frames received
make sure that
Approval
do. Not ready to receive
Regarding temporary congestion
Te (RNR)
Gives flow control. Friends
Sort by group
Number (RF
SN) Ordinal numbers including -1
                         
Check all frames in
                         
. Rejection (REJ)
Packet order number (RPSN)
Snobe
Tenofure
refuse to receive messages.
Received frame order
Number (RFSN) -1
                         
All frames up to the ordinal number including
                         
Check the system. [0322] The idle command is a ring packet field.
is null and there is no preamble and checksum
indicates that the remainder of the checksum is valid. Initialization
Requests, initialization sequences, and initialization confirmation instructions are
The inter-IBU ordering protocol is implemented at each end of the inter-group link.
Used to initialize and synchronize. Initialization sequence
The transmission inter-ring buffer unit has its order number.
Indicates that it has been reset. The incoming route setting cell is
Reset sequence number, ring packet queue, I
buMasterConfig. Click RPQFull
should be reset and send a reset confirmation control command packet.
be. Initialization requests are sent to the downlink inter-ring buffer unit.
resets the sequence number and sets the ring packet key.
IbuMasterConfig. RPQFul
Clear l and send initialization sequence packet
do it like this. Short packet and long packet instructions are
The packet fields indicate short or long packets, respectively.
Indicates inclusion. [0323] The inter-ring link has two links for error recovery.
Use mechanisms. 1- Refusal to recover. This is between rings
Required whenever possible to increase link recovery speed.
It is considered necessary. But it's a given frame
Can only be used once per program. It's that frame.
Cannot be called for repeated programs. 2-
Time-out recovery. This is always used in addition to denial recovery.
Must be. Isolate without time-out recovery
of an ordered frame or series of frames.
If the last one is transmitted incorrectly, it will not be recovered.
. In addition, recovery rejection occurs once per sequence frame.
Multiple losses of a given frame can sometimes occur because
Must be processed through an interval. [0324] Incorrect check for link packet errors
Total Sequence Transmission Packet Number Out of Range Clock Recovery Error Link Frame Error 0325 RNR Confirmation Input Buffer Full
When giving flow control. Maximum interring link bandwidth
For proper use, use the smallest possible amount of the bag.
The phase size is a round-trip inter-ring link.
is the number of frames received during the delay. [0326] The cyclic redundancy field (CRC)
Calculated from the bull and ring packet fields. [0327] IB operation inter-ring buffer unit buffer management control is as follows.
Performs IB operations and transfers data between five route configuration cell buffers.
Forward the packet. [0328] Packets from the ring interconnect packet extraction buffer are routed through the route bus.
specified by the ring packet queue push pointer.
Both stored start and ring packet queues where
will be forwarded to. Pointer is short packet and long packet
is incremented by 18 words for both. Ring packet is free (RPQ push point
equal to the RPQ pop pointer) and the out buffer
is not full, the packet is pushed further to the outgoing buffer.
and the RPQ pop pointer increments.
will be played. IbuXmitSeqNum is an inter-ring link.
one ink for each data packet transmitted on the link.
Remented. Ring from Dynamic RAM Buffer
The interconnect packet ring packet queue is not empty and the outgoing buffer is empty.
Is the packet in the ring packet queue when it is not full?
is transferred to the output buffer. ring packet cuepot
The pointer is incremented by 32 words. Inter-Ring Link Packet Packets are transferred from the input buffer to the insertion buffer. The count IbuRcvSeqNum is incremented by 1.
is recorded. [0331] Inter-ring dynamic RAM buffer reloading
The fresh refresh sequence is
Performed by inter-ring drum when the component overflows.
be done. Refreshing is not the same as any other route configuration activity.
take a high priority over the work. Inter-Ring Link Retry Each packet received over an inter-ring link is
Specifies the received error clearing packet and whether an error was detected.
Set. If verification does not indicate any errors, link
Packet queue commit pointer and Commit
The PktNumber location is updated in the following manner. 1-RPQCommitPointer=RPQco
mmitpointer+(RcvPktSeqNum
- CommitPktNum) * 32 2 -
CommitPktNum = RcbPktSeqN
um When a reject packet is received, I
BU passes the ring packet queue push pointer.
The order number after the same ring packet queue commit pointer and
Both must retransmit all packets. I
bis to adjust ring packet queue pop pointer
It is executed more. 1-RPQCommitPointer=RPQco
mmitpointer+(RcvPktSeqNum
- CommitPktNum) * 32 2 -
CommitPktNum = PktRcvSeqN
um3-RPQPopPointer=PktRc
vSeqNum4 -Store received
error packet in error queue
e (stores received error packets in error queue)
[0334] For any error detected by the error record RI, the root
IBs and RDUs in configured cells, corresponding packets and
and two words in error are placed in the routed cell error queue.
recorded. If the packet is routed to the downlink
ring packet queue if it is being transmitted to a set cell.
Further queuing should take place. SPA Read/Write Interring Dyna
Dynamic RAM Read or read through inter-ring dynamic RAM locations.
is written. If the output buffer is full or the route
If the fixed cell detects an error, inter-ring dynamic RA
M is modified. Ring: 1 Operation In the following description, the multilevel memory system hierarchy described above will be described.
Preferred routing cell behavior in relation to layer structure
Describe. The route setting cell determines the type and route of the packet.
sub-page format based on root setting cell directory
packets are routed based on rules that are functions of
It can be regarded as a packet switch that performs default settings. First, subpage state, page state and route settings
Describes the state based on the file and the undetermined state.
do. Next, we introduce key rule concepts and sequence explanations.
dawn will be held. Then the complete subpage rule is given
Ru. Page operations and special operations will be explained one by one. page
Achieve page operations, special operations, and subpage operations
Explain the complete rules. Outgoing Rules Figure 13 illustrates the standard request sequence.
Defines positional terms used in the Octopus section
. Originating or parent ring: 0 contains the requesting cell.
ring: 0 and issues the original request packet.
(Step 1). If the requested subpage originates (
or local) Ring: If not enabled with 0, route setting
Cell:0 extracts the packet and routes it locally.
Fixed cell: Send to 1 (step 2). locally transmitted
Requests are sent sequentially to ring:1 by local routing cell:1
is inserted (step 3). Route setting cell: 1 is remote
ring: connected to 0 and valid for the requested subpage
It retains a copy of the data and sequentially extracts requests sent from far away.
(Step 4). Requests sent from far away are routed sequentially.
Inserted into remote ring:0 by set cell:0 (
Step 5). The response cell extracts the request and inserts the response.
(Step 6). Requests sent from far away are routed.
Extracted by set cell: 1 (step 7) and
route setting cell:1 of the toner. this route
Setting cell: 1 calls responding route setting cell: 1
and inserts the response packet into Ring:1 (step
8). Set the packet's outgoing route around Ring:1
cell:1 and the packet is extracted (step
9). The packet is routed to the outgoing ring: 0.
sent to ring:0 and inserted at ring:0 (step
10). The request sequence is an outgoing (
requests) are completed sequentially by the cells (step 11). [0338] Packets are routed according to this standard by the routing cell.
Processed 8 times during a typical sequence. Two route settings
Cell: 0 and 2 routed cells: 1 as shown in the table below
The packet source and packet origin, as illustrated in
Interpret packets in eight unique ways based on their source. Routing cell behavior and rules are
These eight combinations of packet sources and packet sources
It is constructed based on For the most part, the route setting cell
:1 locally originated packet rules are route configured.
Fixed cell: Similar to the remotely transmitted packet rule according to 1.
ing. Local ring: From the point of view of 0, the local route configuration set
local ring: 0 for remotely originated requests;
Allows 0 to logically appear as a single cell. pkt. RequestorId and
RiuCellAddress is the address where the request originates locally.
A comparison is made to determine whether the [0341] Routing Cell Subpage State Description - Preferred
New Example Subpages and Pending Requests
The state does not exist in any cache in Ring:0.
and for that non-local ring: to 0 or non-local
There is a pending request from the ring.
) However, for all subpages, the root setting cell
Stored in pairs. Routing cell: 0 responds to requests from remote ring: 0
The undetermined state is memorized. Route setting cell: 1 is
, remote ring: for local requests stuck to 0.
to store the undetermined state. Routing cells: 0 and ru
Gate setting cell: 1 both remember the subpage state
. Route setting cell: 0 and route setting cell: 1 subpeg
The page state indicates the period during which the subpage state is being updated.
It remains constant except for Rules and pending status as appropriate
Process all window cases. For the preferred implementation of the invention, the subpage status is as follows:
explain. RDU:0 (RduState0) enumeration R
DU:0 state is divided into two separate fields and
It consists of an existing field. The subpage status field is
, local ring: set of all subpages existing in 0
Describe the condition. Undetermined field is this ring: 0
Which remotely originated requests for
Describe whether. Individual states are listed in the following subsections
It is described in 0343]
RDU: 0 status field name
State Number of bits
Description Subpag
eState Invalid
2 rings:
0 subpages
Ro
situation
Next
                         
                         
Ex
                         
Pend
None
2 remote
decision
Ro
                         
                         
Owner
                         
[0344]SubPageState:
Inv Ring: Valid copy of any subpage in 0
– indicates that there is no such thing. [0345] SpState:Ro SpState
:Ro is one or more caps in ring:0.
pages may contain read-only copies of subpages
indicates that none of them contain owner state. Under certain circumstances, routed cell pairs can become subpages.
Read-only state (SpState:Ro)
is recorded, but the subpage is invalid with ring: 0
(SpState:Inv). Because no lead
This is because only copies do not exist in any cells.
Ru. [0346] SpState:Nex SpState
:Nex indicates the subpage owner and zero or
Read-only copies of subpages or more subpages are
Part ring: Exists in 0. zero or more leads
An only copy may exist on remote ring:0. if
, any read-only copy is outside the local ring:0
If there is no remote read-only copy
Recombination or first invalidation to indicate that there is also no
The action causes a subpage state change or transition to exclusivity.
Ku. Remote routing cells are assigned descriptors by
and did not give a signal when canceling. [0347] SpState:Ex SubpageState:Ex is local ring: 0
There are no valid copies of any subpages outside of
instruct. Local ring: 0 is any read-only
No copies or exclusive owners or zero or more
Contains a non-exclusive owner with a read-only copy
Ru. Routing cell: 0 is exclusive ownership of local cell
exclusive, atomic and transient
) Records all atomics as exclusive. Pending: NonePending
None request state pertains to the corresponding subpage
Local ring: to 0, remotely originated pending act
Indicates that there is no activity. Pend1:Ro Pendl:Ro is one far ring for local ring:0.
An sva read ro request originating from the server is pending.
Indicates that Additional remotely transmitted sv
A read ro request is executed until the request is terminated.
Partner Routing Cell with RspBsy Set
: Returned to 1. [0350] Pend1:Owner Pend1:O
wner is one or more for local ring:0.
If more than one invalidation request or remotely originated ownership request
Indicates that the In addition, one or
Further remotely originated sva readro requests
can also be considered pending. all remotely originated
Ownership requests, read-only requests, and invalidation requests are
In this state, it is sent to ring:0. ownership claim
are sva read ex, sva get and
sva getw. Invalidation request is write i
nv and lookahead invalidation. RDU:1 (RduState1) enumeration R
DU:1 state consists of three independent fields and
It consists of an existing field. The subpage status field is
, local ring: set of all subpages existing in 0
Describe the condition. Undecided field is against Ring:1
determines whether any locally originated requests are pending.
Describe. Pending 1 field satisfies the pending request.
remote originating ownership packets that were not extracted for
Routing cells: 1 missing and missing
Pending requests need to be resubmitted due to page
Describe whether (snarf, snarf). 0352]
RDU:1 state field name
State Number of bits
Description Subpag
eState Invalid
2 rings:
0 subpages
Ro
situation
Own
r
Pe
nd None
2
Ring: 0 pending
Ro
                         
                         
Owner
                         
Pend 1
None 1
Ring: 0 pending
ReIssue
                         
0353]
SubPageState: Inv Ring: What is in 0?
indicates that there is no valid copy of those subpages. [0354] SpState:Ro SpState
:Ro is one or more caps in ring:0.
pages may contain read-only copies of subpages
indicates that none of them contain owner state. Under certain circumstances, routed cell pairs can become subpages.
Read-only state (SpState:Ro)
was recorded, but the subpage was invalid within ring:0.
(SpState:Inv). Because no lead
This is because the only copy does not exist in any cell.
be. [0355]SubpageState:OwnerS
ubpageState:Owner is the subpage
Local ring: Exclusively (Ex) or non-exclusively within 0
Indicates that it is owned by (Nex). Local ring:
0 is an exclusive owner with no read-only copies or
or have zero or more read-only copies
Includes non-exclusive owners. Route setting cell: 1 is
Local Cell Exclusive Ownership Status Non-Exclusive, Exclusive, Attribute
Owner of all mics and transient atomics
Record as. 0356 Pending: NonePending
None request state indicates pending field and corresponding
Rings related to subpages: To 1, local origination
Indicates that there is no determining activity. Pend:Ro Pend:Ro is one local source to local ring:1.
a trusted svaread ro request is pending
instruct. Additional locally sourced sva reads
The ro request is sent to the RspBsy server until the request is terminated.
Routing cell of partner with: Returned to 1
. Pend:Owner Pend:Owner is one or more for Ring:1.
will not respond to any further invalidation requests or locally originated ownership requests.
indicates that the request is pending. In addition, one or more
Locally originated sva read ro requests
may also be pending. all locally transmitted
Ownership requests, read-only requests, and invalidation requests are
In this state, it is sent to ring:0. ownership claim
are sva read ex, sva get and
sva getw. Invalidation request is write i
nv and lookahead invalidation. [0359] Pend1: ReIssue
Pend1:
ReIssue responds to route setting cell: 1 outgoing request.
Potential non-routed cell to: 1 outgoing response packet
Route Setting Cell: Indicates that 1 can not be lost. Pe
nd1: ReIssue state satisfies pending requests
Remotely originated ownership packets not extracted for
By distinguishing between the case of a missing page and the case of a missing page, pseudo
(Spurious) Missing page error (Page
route setting cell:1 to prevent
(snarf). If route setting cell: 1
Request sent by Pendl with no response:
If it returns without reissue, the return request is routed.
Used by the configuration cell and request processor cell or rule
Causes the cell to reissue the request and creates a pseudo-penetration cell.
page errors are avoided. Pend1: Reissue
, when no locally generated requests are pending.
or first ownership (with data) response time.
will be ascribed. [0360] Routing Cell Subpage State Description - Alternative
EXAMPLE The following describes the use of a first alternative embodiment of the invention.
This is the state of the subpage to be displayed. RDU:0 (RduState0) enumeration R
The DU:0 state consists of four separate fields and
It consists of an existing field. The subpage status field is
, local ring: set of all subpages existing in 0
Describe the condition. 1 undecided field is this ring: 0
Any remotely originated sva read r
o, sva read ex, or write in
Describes whether a validate request is pending
. sva get with 2 pending fields sent remotely
Describes whether the request is pending. 3 undecided fields are
Remotely transmitted sva getw (gate and
wait, acquire and wait) whether the request is pending or not.
or an additional getw request if this request is pending.
Describe whether it was issued at the time. multiple sva
getw requests are logged and transient atomic
Inform the requesting cache of the status. [0362] The three pending fields are per subpage.
Maximum number of remotely originated pending requests for each type separately
recorded. Multiple similar types for the same subpage
requests are closed to the partner by the time the pending requests are closed.
Routing cell: Returned to 1. The individual states are:
Described in subsections. 0363 Field Name Status Bit
number theory
Ming SubpageState
Invalid 2
Ring: 0 subpage
Ro
situation
                         
Next
                         
                         
Ex
                         
Pend 1
None 2
remote pending
Ro
                         
                         
Ex
                         
                         
OwnerInv
                         
Pend 2
None
1 Remote pending
                         
Get
                         
Pend 3
None 2
remote pending
Getw
                         
                         
Atomic
                         
0364
SubPageState:Inv Ring:0
indicates that there is no valid copy of the page. [0365] SpState:Ro SpState
:Ro is one or more caps in ring:0.
pages may contain read-only copies of subpages
indicates that none of them contain owner state. Under certain circumstances, routed cell pairs can become subpages.
Read-only state (SpState:Ro)
was recorded, but the subpage was invalid within ring:0.
(SpState:Inv). Because no lead
This is because the only copy does not exist in any cell.
be. When there are no read-only copies,
First locally originated request, remotely originated invalid or
Read-only requests can be made remotely.
The invalid subpage state is adjusted to the invalid subpage state.
Ru. [0366] SpState:Nex SpState
:Nex indicates the subpage owner and zero or
Read-only copies of subpages or more subpages are
Part ring: Exists in 0. zero or more leads
An only copy may exist on remote ring:0. if
, any read-only copy is outside the local ring:0
If there is no remote read-only copy
Recombination or first invalidation to indicate that there is also no
, leading to a subpage state transition toward exclusivity. remote
Routing cells are used when they deallocate descriptors.
Sometimes they don't signal. [0367] SpState: Ex SubpageState: Ex is local ring: 0
There are no valid copies of any subpages outside of
instruct. Local ring: 0 is any read-only
No copies or exclusive owners or zero or more
Contains a non-exclusive owner with a read-only copy
Ru. Routing cell: 0 is exclusive ownership of local cell
exclusive, atomic and transient atomic
record all links as exclusive. [0368] Pending [1, 2, 3]: None
PendingNone Request status is pending field
local ring related to the code and corresponding subpage: 0
to ensure that there is no remotely originated pending activity.
Instruct. Pend1:Ro Pendl:Ro is a remote call to local ring:0.
sva read ro request is pending
instruct. Additional remotely originated sva reads
The ro request is sent to the RspBsy server until the request is terminated.
Routing cell of partner with: Returned to 1
. [0370] Pend1:Ex Pend1:Ex is a remote call to local ring:0.
sva read ex request is pending
instruct. Preceding remotely originated sva read
ro Request may be pending. additional remotely originated
An sva read ex request is executed until the request is terminated.
And route configuration of partner with RspBsy set
Cell: Returned to 1. [0371]Pend1:OwnerInv
Pend1:
OwnerInv is a remote call for local ring: 0.
write invalidate request or rule
write-ahead invalidation
e. lookahead, sva read ex.
lookahead, sva get. lookahe
ad or sva getw. lookahead)
Indicates that the request is pending. Preceding remote transmission
There may be pending sva read ro requests. Ring: Consecutive lookahead invalidation from 1 is empty
be done. Subsequent remotely transmitted sva reads
ex, write inv requests are used. that
Each subpage has a single owner and the owner's
only can issue a write invalidate request.
additional write disabling in this condition will cause an error condition.
Instruct. Subsequent sva read ro request is R
spBsy and duplicate data packets
is emptied. Pend2:Get Pend2:Get is the remote ring for local ring:0.
Indicates that the originated sva get request is pending.
Show. A subsequent remotely originated sva get request
, pkt. until the request is terminated. has a data set
is returned to the originating cell and the subpage is already atomic.
instruct something. Subpages are still atomic
may not exist, but before subsequent requests are completed
Become atomic. Pend3:Getw Pend3:Getw is one for local ring:0
or more remotely originated sva getw requests
indicates that it is pending. All loading required
Unlike requests, every getw request
It is not sent when it is in this state, but when it is in this state. ring: getw response from 0 if page is already attached
When specifying that it is a microphone (getw.data
.. RspBsy), Pend3: Atomic state is
recorded. [0374] Pend3: Atomic ownership package
has a pending getw request for atomic ownership.
Instructs that it is required to satisfy the requirements. Owned caches are transient atomic
It is guaranteed to be in the state (tat). continued remoteness
The originated getw or get request is returned and the sub
Indicates that the page is already atomic. Pull
Continued ring: 0 ownership packets (release.d
ata or sva readex. data) is extracted
and send to the other ring that is pending atomic:0
sent to Ring:1 (RRC:1 Pend3:
Atomic). [0375] Pend3: Atomic has two conditions.
is set under. First, the getw response
This is the time to specify that it is atomic. Second
, remotely activated releases. data is the ring
:0, Pend3:Atomic is set, and the rule is set.
Other rings where 0 is pending atomic
:0, followed by release. data
It is time to extract the release. data is
, if the ring:0 cell is atomized by a remote originating release.
Once ownership of the network has been acquired, a local transmission will be made. RDU:1 (RduState1) enumeration R
DU:1 state consists of 6 independent fields
. The subpage state field is set for all subpages present in local ring:0.
Collective state and whether owner invalidation is in progress
Describe. Pend1a field is locally transmitted
sva read ro request is pending on ring:1
Describe the meaning. Pend1b field indicates local transmission
sva read ex request is pending on ring:1
Describe whether or not the decision is made. Pend2 field
but a locally originated sva get request is pending
Describe whether or not. Pend3 field is one
Are locally originated sva getw requests pending?
Is there any additional getw request if this request is pending?
Describe whether it was issued during a certain period of time. multiple sva
getw requests are logged and transferred to the request cache
signals an atomic state accordingly. Pend5 Fu
field is not extracted to satisfy a pending request.
Cells that route remotely originated ownership packets: 1
Due to missing and missing pages,
Describes whether a pending request should be resubmitted
(Snarf, snarf). [0377] The five pending fields are independently
Maximum of locally originated pending requests of each type, one per page
The number was recorded. Multiple requests of similar type are busy
, the partner's route configuration will take place before the pending request is closed.
returned to the fixed cell. 0378 Field Name Status Bit
number theory
Ming SubpageState
Invalid 2
Ring: 0 subpage
Ro
situation
                         
Owner
                         
                         
OwnerInvalidtg
                         
Pend1a
None 1
Ring: 0 pending
Ro
                         
Pend1
b None
1 ring
:0 undecided
Ex
                         
Pend2
None 1
Ring: 0 pending
Get
                         
Pend3
None
2 rings:
0 undecided
Getw
                         
                         
Atomic
                         
Pend4 No.
ne 1
Ring: 0 pending
ReIssue
                         
[0379]SubP
ageState:Inv Ring:No sub in 0
Indicates that there is also no valid copy of the page. [0380] SpState:Ro SpState
:Ro is one or more caps in ring:0.
pages may contain read-only copies of subpages
indicates that none of them contain owner state. Under certain circumstances, routed cell pairs can become subpages.
Read-only state (SpState:Ro)
was recorded, but the subpage was invalid within ring:0.
(SpState:Inv). Because no lead
This is because the only copy does not exist in any cell.
be. When there are no read-only copies,
First locally originated request, remotely originated invalid or
Read-only requests can be made remotely.
The invalid subpage state is adjusted to the invalid subpage state.
Ru. [0381]SubpageState:OwnerS
ubpageState:Owner is the subpage
Local ring: Exclusively (Ex) or non-exclusively within 0
Indicates that it is owned by (Nex). Local ring:
0 is an exclusive owner with no read-only copies or
or have zero or more read-only copies
Includes non-exclusive owners. Route setting cell: 1 is
Local cell ownership status: non-exclusive, exclusive, atomic
all locks and transient atomics with their owners.
and record it. [0382]SubpageState:OwnerI
nvalidatingPend1:OwnerInv
is a remotely originated write to local ring:1
Indicates that an invalidate request is pending.
Ru. Each subpage has a single owner and
Cannot issue a write invalidate request.
Therefore, additional write invalid in this state
dates indicates an error condition. sva read ex, sva read get
or implied by sva read getw
The invalidations are Pend1b:Ex and Pend1b:Ex, respectively.
2: Get or Pend 3: Recorded as Getw state.
will be recorded. Continued locally transmitted sva rea
The d ro request is marked RspBsy and
Duplicate data packets are emptied. [0383] Pending [1a, 1b, 2, 3]:
None Pending: None request status is pending.
Rings related to fields and corresponding subpages
: To 1, there are no locally originated pending activities.
to instruct. [0384] Pend1a:Ro Pendl:Ro is the locally transmitted signal for Ring:1.
sva read ro Indicates that the request is pending.
Show. Additional locally sourced sva read r
o The request is terminated by the RspBsy set.
partner's routing cell with: Returned to 1. Pend1b:Ex Pend1:Ex is the locally transmitted signal for Ring:1.
sva read ex request is pending.
Show. Additional remotely originated sva read e
x request is terminated by the RspBsy set.
Routing cell of partner with: Returned to 0. [0386] Pend2:Get Pend2:Get is the local transmission for ring:1.
sva get request is pending.
Ru. A subsequent remotely originated sva get request
By the time the request is terminated, pkt. has a data set
is returned to the local originating cell and the subpage is already atomic.
Indicates that the Subpages are still atomic
may not be completed, but before subsequent requests are completed.
becomes atomic. Pend3:Getw Pend3:Getw is one for local ring:0.
or more locally originated sva getw requests
indicates that it is pending. All other reading requirements
Unlike requests, every getw request
It is not sent when it is in this state, but when it is in this state. ring: getw response from 1 indicates page is already attached
When specifying that it is a microphone (getw.data
.. RspBsy), Pend3: Atomic state is
recorded. [0388] Pend3: Atomic ownership packet
satisfies the pending getw request for atomic ownership.
Indicates what is required to be added. Owned caches are transient atomic
It is guaranteed to be in the state (tat). continued remoteness
The originated getw or get request is returned and the sub
Indicates that the page is already atomic. Pull
Continued ring: 0 ownership packets (release.d
ata or sva readex. data) is extracted
and send to the other ring that is pending atomic:0
sent to Ring:1 (RRC:1 Pend3:
Atomic). Pend3: Atomic is one more
is that further getw requests are still pending
is not guaranteed. [0389] Pend3: Atomic has two conditions.
is set under. First, the getw response
This is the time to specify that it is atomic. Second
, remotely activated releases. data is the ring
:0, Pend3:Atomic is set, and the rule is set.
Other rings where 0 is pending atomic
:0, followed by release. data
(RRC:1 Pend3:A
tomic). release. data is
G: Atomic ownership with the release of 0 cells being remotely transmitted
If it is obtained, it will be transmitted locally. 0390] Pend4: ReIssue Pend4
:ReIssue is route setting cell:1 for outgoing request.
Potential non-routed cells for: 1 outgoing response packet
Route the cell: 1 to indicate that you will not lose or gain. P
end4: ReIssue state satisfies pending requests.
Remotely originated ownership packets that were not extracted to
By distinguishing between missing pages and missing pages, pseudo
(spurious) missing page error (page error)
route setting cell: 1 to avoid
(snarf). If the routed cell:
If the request issued by Pend 1 has no response and
:If it returns without Reissue, the return request will be routed.
The requested processor cell or
Causes the routing cell to reissue the request and creates a pseudo
Page errors are avoided. Pend4: Reissue
when no locally generated requests are pending.
or click during the first ownership (with data) response time.
will be ascribed. [0391] Routing Cell Subpage State Description - Alternative
Example 2 What follows is used in a second alternative embodiment of the invention.
This is the state of the subpage to be displayed. 0392] Subpage State Subpage
Information related to the routing cell about the state
I will explain it. [0393] Invalid: Inv invalid subpage
The state is: There is no valid copy of the subpage in the ring:0
Indicate that there is no such thing. Read Only (Ro) The read only state is one or more of Ring:0.
Read-only copy of subpage with more cache
Indicates that it may include. Routing cells are recorded
When the read-only state is read-only, the
cache contains read-only copies of subpages
It is possible to Last retained specific subpage
cache deallocates descriptors
but another cache with ring:0 is allocated
Contains descriptors for similar system virtual address pages.
In this case, the routing cell is not notified immediately and
Temporarily maintains a read-only state. Another case is r
ecombine. nex. data is ring: from 0
Under rare circumstances (e.g., pending lead orders)
The route setting cell for the request (PlRo) is the lead
Considering that only copy can exist in ring:0
It is a must. Usually recombi
ne. nex. inv busy claim is subpage
Indicates that a read-only copy of the file exists. what
If there are no read-only copies of the first
A read-only request or a remote read-only request
Adjust subpage state to invalid subpage state
be done. Non-exclusive (Nex) The non-exclusive state indicates the subpage owner and has zero or
read-only copy of further subpages is local
Ring: Exists at 0. Zero or more lead-offs
A free copy may exist in a remote ring:0. if,
Any read-only copies will be outside of the local ring:0.
If it does not exist, there is a read-only copy that is not far away.
At recombination or first invalidation, which tells you to
Causes a subpage state transition to sex. remote routing
Cells signal when they deallocate descriptors
I didn't. Exclusive (Ex) The exclusive state means that there are no subpenets outside the local ring:0.
indicates that there is also no valid copy of the page. local ring
:0 means exclusive or non-exclusive owner and zero or
Contains further read-only copies. Route setting
The local cell is exclusive, which is the exclusive ownership state of the local cell.
Eliminate all atomics and transient atomics.
Record it as something else. [0397] Pending request subpage state The pending request state indicates the type of pending request and whether additional requests have been deleted.
whether the request needs to be reissued
or whether the request was completed and the routing cell
is waiting for the original request to be returned.
Instruct. A value of 0 or 1 for # is pending, respectively.
Indicate ring:0 or ring:1, respectively. 0398] Pend: None (P#None) P
endingNone The request status is the corresponding subpage.
indicates that there is no pending activity related to the
Show. PendWait(P#Wait)PendingWa
it is a read request (sva read {ro,
nex, ex}, get, getw) is still pending.
, but a response or a response to be erased has already been issued.
Instruct the person to do the following. When a return request packet is received
, the packet is freed and pending requests are terminated. If the return request packet contains data and ownership
If so, the error should be signaled. [0400]PendWaitMergeRo(P#W
aitMrgRo) PendWaitMergeRo
If the read request is still pending and one
or more sva readro. nodata
packet(s) is deleted while waiting for a return request.
Indicate what is being left out. The second request is the first request
cannot be issued until it is finalized. return request packet
When received, the packet is considered free and any pending requests are
terminated and an sva read ro request is normally issued.
will be carried out. If the return request packet is data and ownership
an error should be signaled. [0401]PendWaitMergeEx(P#W
aitMrgEx)PendWaitMergeEx
If the read request is still pending and one
or higher sva readex. nodata
packet(s) is deleted while waiting for a return request.
indicates that it has been removed. Pending states are always cleared.
This condition is further reduced to zero as we acknowledge the strongest request
or more sva read ro packets to be erased
Including cuts. The second request is terminated until the first request is terminated.
It cannot be issued. When a return request packet is received
, the packet is freed, pending requests are terminated, and
A sva read ex request is typically issued. if
If the return request packet contains data and ownership,
Errors should be signaled. [0402]PendWaitMergeAt(P#W
aitMrgAt)PendWaitMergeAt
If the read request is still pending and one
or more {get, getw}. nodata
packet(s) is deleted while waiting for a return request.
indicates that it has been removed. Pending states are always cleared.
This condition is further reduced to zero as we acknowledge the strongest request
or more to be erased sva read{ro, ex
} Contains packets. The second request ends, the first request ends.
It cannot be published until it is done. A return request packet is received.
the packet is freed and pending requests are terminated.
and a getw request is normally issued. If you request a return
If the packet contains data and ownership, errors will be
should be illustrated. 0403] PendReIssue (P#Rei)
PendReIssue
The read request is pending and the request returns
Indicates when it should be reissued. This state is typically requested on event detection while a request is pending.
is returned with no response or the response is stale data.
Charged when indicating to return with. and
For example, if sva read ro is pending and
If invalidation is detected, the returned data will be stale.
. Sometimes pendreissue status is charged
, local ring: 0 transactions, remote ring:
completed before the transfer of ownership to 0. [0404]PendReissueMergeRo(
P#ReiMrgRo) PendReissueMer
geRo indicates that a read request is pending and the request is
should be reissued when it returns and one too
is more than sva read ro. nodata
packet(s) erased while waiting for return request
Indicate what is being done. Pending states are always cleared.
This condition is further reduced to zero by granting the strongest request.
or more sva read ro packets to be erased.
Including. the second request until the first request is terminated.
cannot be issued. when a return request packet is received
, the packet is empty and the stronger erased svar
ead ro or pending request is reissued. [0405]PendReissueMergeEx(
P#ReiMrgEx) PendReissueMer
geEx indicates that a read request is pending and the request is
should be reissued when it returns and one too
is a further sva read ex. nodata
packet(s) erased while waiting for return request
Indicate what is being done. Pending states are always cleared.
This condition is further reduced to zero by granting the strongest request.
or more sva read ro packets to be erased.
Including. the second request until the first request is terminated.
cannot be issued. when a return request packet is received
, the packet is empty and the stronger erased svar
The ead ex or pending request is reissued. [0406]PendReissueMergeAt(
P#ReiMrgAt)PendReissueMer
geAt indicates that a read request is pending and the request is
should be reissued when it returns and one too
is more than {get, getw}. nodatap
acket(s) cleared while waiting for return request
Indicate what is being done. Pending states are always cleared.
This condition is further reduced to zero by granting the strongest request.
or more erased sva read {ro, ex
}Contains packets. The second request is completed when the first request is completed.
It cannot be issued until it is completed. Return request packet is received
When the packet is empty, the getw request recurs.
will be carried out. [0407] PendRo (P#Ro) PendRo is
, sva read ro indicates that the request is pending.
Show. sv received during any pending ro state
A read ex request is ReissueMerge
Invites conversion to Ex pending state. [0408] PendRoMergeRo(P#RoM
rgRo) PendRoMergeRo is sva
read ro request is pending and one or more
sva read ro. nodata pa
cket(s) is cleared while waiting for a return request.
Indicate what is being done. [0409] When a return request is received, the packet is
Marked as erased. In any pending ro state
An sva read ex request that is also received is
sueMergeEx Causes conversion to pending state. [0410] PendEx (P#Ex) PendEx is
, sva read ex indicates that the request is pending.
Show. [0411]PendExMerge(P#ExMrg
) PendExMerge is sva read e
x request is pending and sva read {ro
, ex} indicates that the request is deleted. Need to return
When a request is received, the packet is marked as erased.
It will be done. [0412]PendExMergeAt(P#ExM
rgAt) PendExMerge is sva re
ad ex request is pending and get or g
Indicates that the etw request is being deleted. When a return request is received, the packet is marked erased
be attached. 0413]PendAtomic(P#At)Pen
dAtomic has a pending get or getw request.
or getw. nodata response returned
Instruct that there is. [0414]PendAtomic(P#AtMrg)
PendAtomic requires get or getw
pending request or getw. nodata response
The answer is returned and get, getw and
The sva read {ro, ex} request is cleared.
Instruct that there is. When a return request is received, the
mark as erased. [0415]PendRecombine(P#Rec
) PendRecombine
e. data. {tat, at, ex, nex} is local
Ring: From 0 to undetermined or pending status.
Instruct. PendRecombine is an RDU
:1 is only used. 0416]PendMrsp(P1Mrsp)Pen
dMrsp contains the request to be erased from this ring:0
indicates that a response is currently circulating on Ring:0.
Ru. This request to be erased from ring:0 is Rdu:1
P0RoMrg*, P0ExMrg* or
or P0AtMrg. Pe
Set the cell transaction completion criteria during ndMrsp.
Additional sva read requests become free to satisfy
be done. [0417]PendMrspMrgRo(P#Mrs
pMrgRo)PendMrspMrgRo
Ring: The response containing the request to be erased from 0 is Ring:
0 currently in circulation and during this period remote sva
read ro Indicates that the request is being erased
. [0418]PendMrspMrgEx(P#Mrs
pMrgEx)PendMrspMrgEx
Ring: The response containing the request to be erased from 0 is Ring:
0 currently in circulation and during this period remote sva
read ex request and svaread ro required
Indicates that the requested request has been deleted. [0419]PendMrspMrgAt(P#Mrs
pMrgAt)PendMrspMrgAt
Ring: The response containing the request to be erased from 0 is Ring:
Currently in circulation at 0 and during this period, remote get
or getw and sva read ex also
means that the sva read ro request has been deleted
instruct. PendInvalidate(PInv
) PendInvalidate is a pending write.
invalidate, write invalida
te. Indicates that lookahead is pending.
Ru. sva read {ro, ex}, get or
The invalidation implied by getw is PendRo, Pe
Recorded as ndEx or PendAt state. [0421] RDU:0 state (RduState0) column
RduState0 is ring:0 service.
page state and ring: 1 pending request (remote ring
(starting from 0). Ring:0 subpage state and Ring:1 pending state
Illegal combinations are shown as dashed lines. that
Each RduState1 is a ring:1 pending state name.
as a suffix after the Ring:0 subpage state.
The name is given by RDU used in this alternative embodiment: 0
A table showing the pending status is illustrated in FIG. [0423] RDU:1 state (RduState1) column
RduState1 is the ring:1 subpage state and
ring: 0 status of pending requests (from remote ring 0)
Remember. Ring:0 subpage state and Ring:0 pending state
Illegal combinations are shown as dashed lines. that
Each RduState1 is a ring:1 pending state name.
as a suffix to the Ring:0 subpage state.
The name is given by used in this alternative embodiment.
RDU: 1 A table showing the status is illustrated in Figure 18.
There is. Page Status The descriptions in the sections that follow describe the preferred (as opposed to alternative embodiment)
Assumes the use of new subpage states. 0425] Owner limit (Owner limit, Own
rLimit) OwnerLimit is set by software or
Cleared and locally linked ownership of subpages within the page
G: Limit to 0. It is routed cell: 0 and
Route setting cell: Stored in both 1. when clearing
, OwnerLimit is both ring: 0 and sub
Identify that you can own the page. When configuring it,
is local ring: only cells in 0 are non-exclusive, exclusive,
Atomic or Transient Atomic State Sub
Identify that you can own the page. Remote ring: 0
can receive read-only copies. OwnerLi
When mit is set, a page fault is
Return request with Bsy and RspBsy clear
The ownership request is signaled by the root setup cell. Own
When erLimit is set, the rejoin request is
Local ring: does not propagate beyond 0. route setting cell
The default state for descriptor allocation is cleared.
It will be done. 0426 Ownerlimit Nemo
nick description
0 OL: All
local phosphorus
G: limited to 0
                         
ownership rights
1 OL: Lo
cal local
Ring: limited to 0
                         
ownership rights
[0427] DupLimit DupLimit is the duplicate. data is
A provision that allows the data to be sent from local ring: 0 to ring: 1.
Identify the issue. DupLimit is route setting cell: 0
Stored by DupLimit
mnemonic
Description 0
Dup:CondForward
Conditional feed motion
1 Dup:
AllForward always
Send to [0428]Du
p: Duplic in CondForward page
ate. data packet, if the page is local ring
:root configuration, unless owned exclusively by 0
Conditionally sent to ring 1 by cell:0. Dup:
CondForward assigns the route configuration cell descriptor
This is the default state for guessing. [0429]Dup:AllForwardDupli
cate. data is always reset by route setting cell: 0
ng: Sent to 1. Pending Request Page Status How does a pending route setting cell operation
SVA request to which subpage within the page is the setting cell
Decide what to do with it. Corresponding Level3VEN
The pending request page state field of the try contains this pending information.
Identify. Page: None Any pending page-level route setting cell operations are also supported.
No progress on descriptors. Page: None
is the default for routing cell descriptor allocation.
state. 0432]Page:PendDeallocate
In route setting cell:0, the route setting cell pair is
Whether the descriptor should be deallocated or its rules
Set cell: 1 signals to deallocate the descriptor.
indicates that they are in the process of determining whether
. Route setting cell: Within 1, the route setting cell pair is a descriptor
is in the process of deallocating. [0433] The route setting cell descriptor is
in response to a single cell indicating that it is being unassigned.
Answer and go to Page:PendDeallocate
Convert. If the descriptor is in any cell in Ring:0
If not present, route setting cell: 0 and route setting
Cell:1 deallocates the descriptor. ciu inv
sum. no data, ciu invsum a
locate. no data and ciuex
sum. Other page-level packages such as nodata
The port is said to be busy during this state. Remotely transmitted services
If the page request is routed to routed cell: 0 and routed
1: Busy. Locally transmitted subpage
request is not executed in the rooting cell:0. Na
If the local cache you are requesting is an allocation descriptor
and the routing cell pair assigns its descriptor.
This is because it avoids removing the data. Locally transmitted subpe
The route request is busy by route setting cell:1. Because routed cell pairs deallocate descriptors.
This is because they are inclined to The descriptor is
After being unassigned, the next request will continue to cause reallocation.
be exposed. [0434] Other RRC Status The following status fields are
Stored based on a fixed cell bank. These state files
unless otherwise declared or mentioned.
Applies broadly to all subpages and pages
. Extract Buffer Status Ring Extract buffer free space can be configured in two ways.
Pointer ExtractAllThreshold
and ExtractRspThreshold
It is divided into four bands. The current band is in the extraction buffer
The selection is based on the number of free words remaining. from vacancy
The band going full is ExtBuf. All, ExtB
uf:NonOpt, ExtBuf:PendReq
and ExtBuf:Full. extraction buffer
State is maintained based on the routed cell bank
. These band boundaries are software configurable.
be. Ring packets are used to manage extraction buffers.
, grouped into three mutually exclusive categories
. 0436]1) Optional packet continuation
Packets that are transmitted over a long distance are
is optional: -Recombine with SpState: (
Inv | Ro) -Duplicate. data S
pState: Inv-sva read ro. da
ta with SpState:Inv 2) Non-op
packet A packet that completes a remotely originated request.
must be extracted based on SpState in order to
do not have. Does not include optional packets. 3) Response packet locally sourced
Packets to be transmitted or Route Setting Cell Pending Requests (RR)
C: 0 Pend (1, 2, 3), RRC: 1 Pen
Packet satisfying d (1, 2, 3, 4, 5)) 04
37] There are four packet categories as follows:
Processed with extraction buffer bandwidth of 0438 Bandwidth Optional
non-optional
response packet
packet
Packet ExtBuf reception
acceptance
acceptance
:All
                         
                         
                         
                         
Ex
tBuf:N passing
acceptance
Acceptance onOpt
                         
                         
                         
                         
                         
ExtBuf: P passing
passing and claiming
Acceptance endReq
                         
                         
                         
                         
                         
ExtBuf:F pass
passing and claiming
Passing u
ll
RspBsy, InvBsy
Text reference
                         
                         
0439] ExtBuf:
All ExtBuf: All bands are free and Extract
It is between AllThreshold. all pa
Kate is ExBuf. Accepted in All band. [0440] ExtBuf: NonOpt ExtBu
f: NonOpt band is ExtractAllThr
eshold and ExtractResponseTh
during reshold. Non-optional packet
and response packets are accepted in this band. optioner
If the packet is not accepted, the packet is not accepted.
No diagrams are required either. [0441]ExtBuf:PendReqExtBu
f: PendReq band is ExtractRespon
seThreshold and extract buffer
r full . Only response packets are sent to this band.
accepted by the community. Non-optional packets are RspBs
Rejected by the arguments of y and InvBsy. Op
If the packet is not accepted, what should the packet do?
Signals from them are also not required. [0442] ExtBuf:Full ExtBuf:
Full band is when the extraction buffer is full
. No packets are accepted into this band. Non-O
The optional packets are RspBsy and InvBsy.
rejected by the argument. Optional packets received
If not, no signal in the packet is required.
Not possible. A locally transmitted packet is pkt. TimeS
It is passed along with tampclear. packet
will be extracted by this routing cell at the next ring turn.
It will be done. to remotely transmitted response packets that carry no data.
Both RspBsy and InvBsy are set for
It will be done. Remotely originated responses with read-only data
The packet is passed. Ownership response packet sent remotely
routed cell: 1 is Pend1
:Convert to ReIssue. [0443] Pend1: ReIssue status is
remote-originated data that was not extracted to satisfy the resolution request.
Distinguish between lost ownership packets and missing page cases.
Therefore, spurious missing pa
route to avoid ge errors (page faults)
Setting cell: Used by 1. When setting, Pend
1: Reissue is the root setting cell: 1 is the root
A potential non-routed cell origination request for a configured cell origination request.
Indicates that transmission response packets may be lost. if root
Config Cell: If a request issued by 1 does not result in any response and
Pend1: If it returns without Reissue, return request
is said to be busy by the routing cell and the request processor
Causes the cell or routing cell to reissue the request.
, pseudo page faults are avoided. Route settings
Cell: 0 uses SpState field, mi
ssing page error is avoided. Roux
Setting cell: 0SpState field specifies the request.
Read-only copy or ownership removed to satisfy
Record whether it is at 0. If the route settings
If a request originated by: 0 returns unanswered and
If there are sufficient copies or ownership of 0, then the request
will be reissued. Ring Frozen State In addition to the following mention, the route setting cell is marked as frozen.
must maintain track of the first and last packets sent.
No. [0445] Fz:None Fz:None indicates that the route setting cell is a ring freeze sequence.
to indicate that something is not in the context. 0446]Fz:SingleEccErr This parameter
During the lookup sequence corresponding to the packet time, the modification
Indicates that a possible Ecc error has been detected. Ring: 1 Beginning of freezing sequence. Always the next packet
Conversion to Fz:Freeze during freezing time. Corresponding package
The cut is processed as described in the extract buffer full section.
be done. Fz:Freeze Indicates that the route setting cell is in a ring freeze sequence.
Show. All not previously marked as frozen
Packets are marked frozen. [0448] Fz: Unfreeze route setting cell
indicates that the ring freezing sequence has ended. Below
All packets previously marked frozen are now unfrozen
and is normally handled by the route setting cell.
be done. Any condition that triggers a ring freezing sequence
Fz:SingleEccErr or Fz:Fre
It would be a transition to an eze state. Fundamentals of Rule Tables Ownership The basis of strong ordering is based on the concept of rule ownership. memo
Each subpage of a resource has a single owner
. For subpage values to be modified, the owner
All copies of subpages are disabled
It must be exclusive. subpage lee
When a do-only copy exists, the owner is non-exclusive.
Yes, and subpages cannot be modified. Subpage ownership
rights are the owning cache's dynamics about subpages.
cache in a safe home or retreat.
can be dynamically transferred between Memory devices and routes
The settings for cells are based in detail on the nature of the inclusion. Route settings
Cell directory contains all subpages of ring:0
status and ring: charged at 0 or ring: removed from 0
Maintains track of the status of all pending requests. Other Concept Owners and Invalidation Requests All Owner Requests and Writes
The only invalidation request depends on whether any other requests are pending.
Regardless, go to the cell that you own completely. all
The owner requests and invalidates the packet when it is inserted into the ring.
When the route setting cell is sent to Pend:Owner
Let's go. That is, route setting cell:1 is
When the ket is inserted into Ring:1, Pend:Ow
go to ner, and route setting cell:0 is it
When inserting a packet into Ring:0, Pend:Ow
Go to ner. A route setting cell is a Pen in the following cases:
Convert from d:Owner to Pend:None
. 1 - The packet carried by the owner is sent by the routing cell.
Extracted. 2-SpState: (Inv|Ro)
The route setting cell with pkt. ! Have InvBsy
Extract invalidation or remote owner requests. 3-SpState: Route configuration set with Owner
pkt. ! Remotely originated with InvBsy
Extract invalidations. 4 - Page destruction always occurs along with allocated pages
, Local Routing Cell: 0 and Routing Cell: 1 or
and all remote routed cells: all in one page
For the subpages of SpState:Inv and
and Pend: None. all pending states
, so that page faults are signaled to other pending requests.
Cleared (request is otherwise busy and pulled)
(or time will run out). Read-Only Request A read-only request that is locally transmitted is if RC:1 is
Pend: If not Ro, local route setting cell: 1
It is only inserted by . This is the link to ring:1
and the result is a flood of numerous similar requests to responders.
This is the best way to avoid this. Such a request
Instead of inserting the route setting cell:1 extract it
and pkt. Set RspBsy. By the way, response
Route setting cell in answerer: 0 leads on in this way
Do not reject Lee's requests. Instead, read-only
Requests are inserted at ring:0. [0453] A route setting cell is a place that carries packets.
The read-only data carrying the owner or packet is
When extracted by the routing cell, Pend:Ro
to Pend:None. [0454] Packet carrying read-only data
However, it is a route setting cell in Pend:Owner state.
It is "erased" when passing through. sva read
ro packet is sent to pkt. Setting RspBsy
is "erased" and duplicated by
It is considered vacant. Clear operation and packet busy bit
Interpretation RspBsy is the response to the request packet with data.
It can always be cleared when answering. [0456] InvBsy is the output from the outgoing ring:0.
Always clear when starting. Because the route settings
le:0, if pkt. If InvBsy, the packet
This is because it does not extract the Routing cells are packets
and pkt. InvBsy, RspBsy
Set to cause the request to be reissued. InvBsy
is remote ownership claim or invalidation remote ring: 0
Always clear when charging. Because root
Setting cell: 1 if pkt. If InvBsy,
This is because the requirements are not extracted. Route setting cell: 1 is pa
through the pkt. InvBsy. RspBs
Set y to cause the request to be reissued. look
Ahead effectively continues and SpState:Ro
Remaining rings held: Start invalidating with 0. Packet route setting cell bit usage sv
Use with a read ro if the request is completed.
If not, the calling or routing cell
reissue to indicate that the packet should be reissued.
Coupling and uncoupling are performed. Pkt. rrc has two
used in a manner. [0458]Pkt. rrc is the route setting cell: 0
Rather than prematurely extracting the packet, svar
ead ro. no data or recombi
ne. Allow requests for data to cross all rings:0
and used to ensure that requests are completed locally
be done. Pkt. rrc is the locally transmitted sva
read ro. nodata or recombi
ne. When data passes through route setting cell: 0
Set. If the request completes before returning to the originating cell,
If not (sva read ro.data or
recombine. no data), the originating cell is
Pass the packet. Route configuration cell: 0 is the packet with set rcc.
extract the cut and process the request normally. 0459 Route setting cell: 0 or route setting cell
:1 makes a request (called snarf) to satisfy a pending request.
(recombined), non-originated recomb
ine. data (non-originated recombined data) or r
release. Unable to extract data (open data)
When the rrc bit is set so that the packet can be recirculated
Set. If release. data is the originating cell
If it returns, it must be reissued. If rel
ease. If data is extracted by another cell, what
No further action is required. Because transition
The atomic subpage state is saved so another
This is because a release is issued (tat). recom
Bine. data should be extracted by any cell.
and passed by the originating CIU for reissue.
conduct. [0460] Pkt. rrc is always initialized to clear
and passed by the CCU and CIU. it is,
When a locally originated packet is extracted, the routing cell:
Cleared by 0. [0461] Invalidation method Multiple types of packets cause invalidation of read-only copy.
Strain. Write-invalidate produces an explicit invalidation.
Same, sva-read-ex, get and getw package
A cut results in an implicit invalidation in addition to a read request. All invalidations are performed in two ways:
Disable mode-only copy. In the first method,
Validate packets contain all lead-ons that they pass through.
Disable copying. In the second method sva-re
ad-ro sends a request with an invalidate packet
, the requester claims rsp-busy and sends the packet.
indicates that the data in the page has been invalidated, and the fake page
Prevent damage defects. duplicate-data is not yet
If you send a request with processing invalidation, the packet will be empty.
be made into The first method is to disable all cells or RRC
However, in the second method, the old read-only data is already invalid.
prevent transmission to cells that are set to 0462 Strong sequential unity and strong order of events
In order to maintain all subpages, the invalidator
Subpage B is invalidated before updating and distributing
I have to be there. If invalidate packet
Each ring: invalidated if processed serially by 0
Time all rings with subpage copies: 0
This will be the sum of the ring transition times. Moshi Invalidate
is just copied by each RRC:1, the subpage
The invalidation of page A means that the original invalidator is
page B and it still has subpage A disabled.
Not guaranteed to be completed before distribution to processors
Not done. All processors access subpage A in the same order
, we see no change to B, so strong order is violated. [0463] Invalidate - called lookahead
The technique is to disable all rings in parallel: 0, but the event
maintain a strong order. The invalidate packet is
When reaching the first RRC:1,
This packet is copied and sent to Ring:1, and then
The lookahead packets are ring: 1 packet.
Ring by setting Quarhead mode: 1 on
generated. Lookahead packet is SpState
:Ro is copied by each RRC:1 and the true request
read-only copy before the strike packet gets there
- Disable. The original request packet is the subsequent RR
Once C:1 is reached, the packet passes through at Ring:1 speed.
, this means invalidating the lookahead
This is because it has been completed in advance by the de-packet. Rutsu
Quahead packets are always considered short packets. FIGS. 14A and 14B show preferred rings:
1 Indicates the invalidation order. Write-Invalidate
If RDU:0 SpState is Nex
is extracted from ring:o (step 2), and sva
-(read-ex, get, getw) is RDU:
0 Ring if SpState is not Nex:
extracted from o. The packet is sent to RRC:1,
Ring: 1 is inserted (step 3). of subpages
First RRC with read-only copy: 1 is packet
Copy the cut and set the lookahead mode to non-lookahead.
mode and sends the packet to ring:0 (send
Step 5). Passed ring: Packet generation mode of 1
remains unchanged. Subsequent RRs with read-only status
C:1 commands the invalidate-lookahead packet.
(steps 6, 7, 8, 9). Invalidate
- Lookahead is sent to ring:0, inserted and its
and PendState is a transition to OwnInv
. When the ring:0 is invalidated, SpState is in
Transition to v and PendState transition to none
, the packet returns to RRC:1 and RDU:1Sp
State is updated to inv and lookahead packet
empty (steps 13, 14, 15, 16). [0465] On the other hand, the first RCC:1 and its corresponding
ring: When 1 completes the invalidation or ownership response, the packet is
is inserted into Ring:1 in a non-lookahead state (step
Step 12). This non-lookahead packet was
Invalidation was completed by lookahead packet in
If subsequent RRC:1 (and corresponding Ring:1) is encountered
then this packet is sent at full ring:1 rate.
(Steps 17, 18, 19, 20). If the actual
Invalidate - the actual value before the lookahead is completed
When the invalidate arrives, the actual invalidate is
Ring: 0 also passes through. The lookahead packet is
When RRCi reaches RRC:1, the packet
is emptied (step 11). non-lookahead or
The generated lookahead packet reaches the required RRC:1.
Once reached, it is extracted and sent to the requesting ring:0
(step 22) and returned to the requester (step 22).
24). [0466] False RRCSpState: If there is Ro
The RRC pair is in read-only state for subpages.
(SpState:Ro) is recorded, but which cell
Since there is no read-only copy in subpage
is invalid in ring:0 (SpState:inv
). The RRC pair is the last cache in ring:0.
disk only when unassigning the corresponding descriptor.
deallocate. Cash
When a descriptor is deallocated by a descriptor, the
What is the status of the subpage? Disabled or read-only
. When the cache allocates a descriptor, it
Do-only copies are simply erased, but RRC is not involved.
Not notified of individual read-only subpages. child
Then, other caches in ring:0 were allocated.
If the cache has a descriptor
Remove the allocation and read the subpage within ring:0.
If only copies are erased, RRC will
Still incorrectly remembering read-only state for
do. Another example is when the non-exclusive packet recombination state is
Leaving :0, there is also a read-only copy inside ring :0.
If present, RRC:0 and RRC:1 are SpSta
This is the case when te:Ro must be recorded. fake ri
The code-only state is SpState: (Inv | Ro)
Take a copy of a read-only data packet when
Corrected by RRC:1. [0467] Read-only copies of duplicate distribution subpages can be created in two ways.
cache. The copy is
When locally allocated and SpState: (
Inv | Ro), any RRC: 1 or read
Copy packets originating remotely that have only data
distributed internally by the cache that Therefore,
The copy has RRC:1 (carries read-only data)
all the packets are bound to (send it to ring:1)
Ring: 0, so read-only requests
The number of strikes will be reduced. [0468] Duplicate data packet is DupL
Sent based on imit. Moshi Dup: Cond
Forward, the page is local ring: 0
Duplicate, provided that it is not exclusively owned.
The request packet is sent to Ring:1 by RRC:0.
It will be done. If Dup:AllForward,
Uplicate packets are always ringed by RRC:0:
Sent to 1. Ring: 1 duplicate data packet
The cut is the page it corresponds to inside the local ring:0
Also when you have a descriptor assigned to E
xtractBuffer is ExtBuf: All area
is copied by the remote RRC:1 when [0469]Pkt. pcopy is set by RRC:1
The packet was copied from Ring:1.
shows. Copy by ring:1 with pcopy set
packets are returned to RRC:1 or Ring:1
No need, RR after successfully passing ring R:1
Empty by C:0. [0470] Recombining (Recombining) The recombining data packet is
If no other cells accept recombining,
Outgoing ring: Sent from 0. RRC:1 means that the packet
Departure Ro request with false RRCSpState:Ro
The starting ring in a similar manner as for: sent from 0
decide what needs to be done. recombiner day
On the first pass of the data, RRC:0 is pkt. Set RRC
to Moshi recombine no data rrc departs
Upon returning to the cell, the recombining is extracted and aborted. If the recombined data rrc returns to the starting cell,
Cells send packets. RRC: 0 is then recombined
Extract the link data rrc and insert it into ring:1
For this purpose, send to RRC:1. 0471 Ring:1 Recombined Data Packet
indicates that remote RRC:1 has a corresponding peer in local ring:0.
has a descriptor assigned to the page and has an Et
ractBuffer is in the Extbuf:All area.
If so, it is extracted by remote RRC:1. recombiner
Data is also used to satisfy any outstanding requests.
It can be used for Release Once the locally generated release is inserted into the ring,
Pend: The Owner state is recorded so that subsequent
The release of the starting ring: is returned to 0 and the preceding already
Possible outstanding getw requests with atomic responses
can be satisfied. Releases that occur remotely
When inserted into ring:0, Pend:Owner state
state is recorded so that subsequent releases are in Ring:1.
Can be returned. Page Fault A page fault occurs when any RRC
Requests that completely pass through ring:1 without detecting any
Detected by Ring:1 system due to strike. packet
Clear RspBsy and InvBsy for no data.
Clearing indicates a page fault. packet
is then extracted by the starting RRC:1 to ring:1.
returned and sent to the requesting cell. [0474] When a page fault occurs, local RRC
:1 is Pend:Owner or Pend:Ro status
placed in This state is set in the system prior to page creation.
must be cleared by system software.
. Faulting (after the page has been pinned)
(of course) mpdw・inv from any cell
Execution of the sum command results in a CiuInvSum packet.
let The following Tables 1 to 11 are a series of rules in this order.
It is an instruction manual. [Table 1] [0476] [Table 2] [0477] [Table 3] [0478] [Table 4] [0479] [Table 5] [0480] [Table 6] [0481] [Table 7] [Table 8] [Table 9] [Table 9] [Table 10] [Table 11] [0486] Page operation The page allocation descriptor is optional.
allocated by the local cell prior to the desired cell SVA request.
Can be attached. The RRC pair is a request packet originating from the first locality.
Receive packet (always no data) from local ring: 0
and assigns a descriptor. Moshi page fall
When a request is issued for a request, the descriptor
remains assigned to the cell and RRC pair. More than one
If the above descriptor is not present in the memory system.
can be assigned to a page. The descriptor is
Must be allocated for the page to be generated
. The following table shows the default status of allocated descriptors.
Specifically indicate the situation. [0487] Page deallocation (Deallocate)
The local cache and local RRC pair descriptor is C
iuInvSumAlloc. nodata, CiuP
ureInvSumAlloc. nodata, or R
rcDeallocDesc. to nodata packet
Therefore, it is only deallocated. These three packets are
called a deallocate packet.
. If the deallocation packet is sent to another cache in Ring:0.
indicates that the page has no allocated pages.
For example, a local RRC pair is a descriptor corresponding to the page.
Remove the data assignment. Deallocation packet with multiple descriptors
prevent race conditions between packets destined for other pages
While deciding whether to deallocate for
RRC:0 transitions to Page:PendDealloc
do. If other cells are assigned to the page
If you don't have a descriptor, you'll end up with a disk.
deallocate the printer. Both of the RRC pairs are either
Before RRC deallocates a descriptor, Page
: Must be in PendDealloc state. station
For local RRC pairs, the descriptor is deallocated to the remote RRC.
Don't let them know what happened. First, the deallocation sequence is
described, and then subpages and page behavior are considered.
Ru. [0488] The deallocation sequence is
The CCU may send CiuLoadDopReg to the CIU.
It is started by. Packet address and CCU
prt entry is the page to be deallocated.
corresponds to The CIU sets the address to its dropping level.
Load to register, extract packet and send it to CCU
return. When loaded with a legitimate address, the CIU dropout
The ping register is used to register requests for owned subpages.
Let the CIU claim RspBsy against the strike and all other
droppin page or subpage address
Ignore matches for Gregister. droppin
Group register matches take precedence over cache group matches.
Ru. [0489] CiuLoadDopR with CCU returned
When the eg packet is received, a new disk is installed at that location.
Allocation of old descriptor by writing descriptor
, remove the prt entry assignment, and
The deallocated page must be pure.
If so, a CiuInvSumAlloc packet is sent. too
If the deallocated page is pure
Issue CiuPureInvSumAlloc packet
. The deallocation packet contains the address of the page to be deallocated.
(pkt.address [5:5] is CC
U descriptor group), and datawords
0 contains the page address to be allocated. Unprocessed CE
U requests are processed even with newly allocated addresses.
come. Because prt is deallocated
This is because there is no need for packets. mrdd(R
The RC deallocation descriptor) command causes the CCU to
RrcDeallocDes without allocating prt
c packet is sent. FIG. 15 shows a preferred embodiment used in the system of the present invention.
The preferred deallocation sequence is shown below. CIU is newly
The allocated descriptor is moved to the old descriptor location.
Unallocate the old descriptor by writing to
and invalidate the dropping register.
CiuIn
vSumAlloc or CiuPureInvSumA
Process the lloc packet (step 1). CIU is
Packet without any modification to the CIU directory
RrcDeallocDesc parameter by inserting
process the packet. [0491] The deallocate packet is
Ring: Since it passes through 0, the device to which RsyBsy is assigned
claimed by the CIU with the scriptor (step
2, 3, 6). 0492 RRC:0 is if RsyBsy claims
CiuInvSumAlloc or RrcD
Empty eallocDesc and unlink the descriptor.
Log: Indicates that the cache is allocated to another cache within 0.
(Step 3). If RspBsy is not claimed
If so, the RRC:0 deallocation packet will be assigned this allocation.
to examine all local caches for the page
To complete the ring: 0 must be passed. why
If so, this packet is deallocated cache and RRC:
This is because only a part of the ring:0 has passed between 0 and 0.
Ru. Ring 0 passes the packet and sets the RRC bit.
, clear RspBsy, and Page:
Transition to PendDeallocate. RRC bit
to indicate that the packet has passed RRC:0.
used for If RRC is updated (refresh
) or ecc. Unable to process packet due to error
If not, RRC sets IndBsy and
Transferring the deallocated packet to the next rotation
). Subsequent allocation.
! RCC packet is PagePendDealloca
Received while te is empty. Because this
The cells that issued these deallocation packets are
Assert RspBsy during the current rotation of release packets
That's because there isn't. RRC:0 sets RspBsy to the first
The reason for denial at the time of an unassignment packet is the subsequent
The cell that issued the deallocation packet is the first deallocation packet
Win asserted RspBsy during the first partial rotation of
This is to process the dough. [0493] If the deallocation packet is CiuPur
If eInvSumAlloc, RRC:0 is
pkt. cmd-pend-deallo
c, send the packet to local RRC:1, and
Jump to step 8 (RRC: 1 processing). CiuPureIn
vSumAlloc keeps all subpages within a page.
and any other allocated
The descriptor has all pages invalid.
We guarantee that you will. Therefore, RRC:0 is skipped.
and reloads the CiuPureInvSumAlloc packet.
around the page to which any cell is allocated.
Determine whether you have a The page is provided by RRC.
and one of the cells in Ring:0 is assigned to the next page.
Request my brother's subpage. 0494]Page:PendDealloc state
Ring: All remotely-originated packets received from 1 are sent to it.
Ring as it is: Returned to 1. Moshi sva-read
- When the ro packet is returned (Ring: 0 state is SPS
tate: Ro) Other rings: 0 is a copy of the subpage
will supply. Cell and RRC pair descriptor
is about to be deallocated, so reco
nbine. data is returned. page destroyer
always invalidates all pages before deallocation
Since it is set to SpState: {Nex, Ex}
would not exist. [0495] If the configuration includes RRC,
If not, both InvBsy and RRC will deny the
be done. The original requester may send packet. re
quest-id is cell-address,! In
vBsy and! Deallocation pattern when matching RRC
Empty the container (step 5). [0496] If the cache page is RspBsy
You instructed that the assignment be made by asserting the
RRC:0 is assigned after a complete passage of Ring:0.
Empty the attachment release RRC packet (step 7). The denial of RspBsy is in Ring:0 which cache
also has no allocated pages. R
RC:0 extracts the deallocation packet and pkt. c.
Set md-pend-dealloc and do this
packet to local RRC:1. RRC:0 and
A certain 1 is allocated by a descriptor to avoid conflicts.
Page:PenDeallo before being canceled
Must be within c. [0497] RRC:1 sends this packet to Page:P
Transition to endDealloc, pkt. cmd-d
Set ealloc-page and extract the packet
, and returns it to RRC:0 (step 8). Pa
ge: Receive from ring:1 in PendDealloc state.
All received remotely originating packets remain in the ring: 1
will be returned to. 0498 RRC:0 deallocates descriptor
Process the packet by
e, extracts the packet and returns it to RRC:1.
(Step 9). RRC:1 is for returning packets.
Similarly, deallocate and transition to Page: None,
Empty the packet. [0499] Packets for pages and subpages are P.
age: Specially when in PenDeallocate state
It is processed. CiuInvSum. nodata, Ci
uInvzSumAlocate. nodata and C
iuExSum. Other page levels like nodata
packets in the file are busy. Remotely derived subpages
Request is busy with RRC:0 and RRC:1
be done. Subpage requests originating locally are RRC: 0
It won't be affected. After all, I am requesting
A local cache has an allocated descriptor.
, the RRC pair deallocates its descriptor.
This is because it prevents Locally derived subpage requests are
Busy by RRC:1. After all, RRC
This is because the pair deallocates the descriptor.
. The descriptor is created after the page is deallocated.
will be subsequently reallocated on the next request. Local sent between steps 7 to 9 by RRC:0
The originating packet is also kept busy by RRC:1. Local origin processed by RRC:0 after step 9
The request is made by RRC:1 after step 10.
is guaranteed to be processed, and the descriptor is
Allocated. 0500 Create page memory system
When the system's software updates the current page in memory,
certify that it has not been refurbished, and
Suppose. System software also has one or more pages.
are not simultaneously generated by the cache of
must be guaranteed. memory system hardware
Air does not detect these conditions immediately. [0501] The mpsa instruction is local to an SVA page.
Provide an anchored descriptor in the cache
. If the descriptor already exists before the mpsa
If so, its anchor flag is set. others
, the local cache stores the descriptor above
disk as described in the page allocation/deallocation section.
Assign a printer. [0502] The local cache then mpdw. alle
x instruction result ciu-ex-sum. nodata package
and owns all subpages within the page.
Transition to state. RRC:0 is ciu-ex-sum.
Extract the nodata packet and write the descriptor if necessary.
allocate the data and send the request to RRC:1. too
If Page:PendDealloc, then RRC
:0 makes a request and pkt. Set InvBsy
to RRC:1 extracts the packet and decrypts it if necessary.
Allocate a scriptor and set all subpages to SpSta.
Transition to te:Owner and RR the request
C: Return to 0. RRC:0 inserts packets and pages
Transition all subpages within to SpState:Ex.
let The originating CIU extracts the packet and sends it to the CC
The CCU returns completion status to the local processor. The mpdw instruction is issued next to clear the anchor bit.
Ru. Page Destruction Problem A page can be destroyed in three ways. the page is destroyed
At any time, all subpages within that page are
must be owned exclusively by the cache
. In the first method, pure pages are deallocated
When the page is deleted, these pages are destroyed. Ciu
The PureInvSumAlloc packet is
indicates that the page is deallocated. Second method
Now, if the address of the descriptor is changed,
, the old page is destroyed and the new page has its contents
do. RrcDeallocDesc Packet Local RR
C indicates that the page should be deallocated. Third
In this method, the page and its contents are explicitly destroyed.
. The CiuInvSum packet is sent by the local RRC to all
Instructs the page to be set to an invalid state. [0504] If the page is destroyed, CiuPu
reInvSumDealloc, RrcDeallo
cDesc and CiuInvSum packets ring:
1 to the remote outstanding or Rei
Clears the ssue (reissue) status. For three cases
The local cache and RRC functions are different, so there are three types.
different packet formats are required. [0505] The page destruction mpsa instruction destroys the local cache for SVA pages.
Provides an anchored descriptor. too
If a descriptor already exists before mpsa,
Its anchor flag is set. in other cases
, the local cache stores descriptors using the above allocation solution.
Remove the descriptor as described in the Remove/Reassign section.
Assign. [0506] The mfsva instruction uses local cache for all
Used to gain exclusive ownership of a subpage. Next, the local cache is ciu-inv-s
um. nodata packet to mpdw. allinv
Occurs as a result of an instruction that invalidates all subpages within the page.
(invalid) state. RRC: 0 is ciu
-inv-sum. Extract the nodata packet and
Send the request to RRC:1. Moshi Page: Pe
If ndDeallc, RRC:0 passes the request.
pkt. Set InvBsy. RRC: 1
extracts the packet and all subpages with SpStat
Transition to e:Inv and send request to RRC:0
return. RRC:0 inserts the packet and in the page
Transition all subpages to SpState:Inv.
let The originating CIU
and returns it to the CCU, and the CCU is in a completed state.
to the local processor. [0508] Page destruction sequences and especially ciu-i
nv-sum. nodata is local cache or RR
Do not deallocate C pair descriptors. local cache
descriptors are reused.
It is not deallocated until it is used. 0509] Change (Change) Descriptor Change
The descriptor page address logically points to the old page.
destroy and then generate a new page with the same data.
That is. Memory system is system software
guarantees that pages currently in memory will not be created
Assume that you are doing so. The system software is
page is not created by two or more caches at the same time
must be guaranteed. Memory system hardware
The hardware does not detect these conditions immediately. [0510] Change descriptor uses three types of instructions.
use i.e. mpdw, mrdd, and mrwd
It is. mpdw instruction is local cell (CCU and CIU)
It is not inserted into Ring:0. RRC allocation from CCU reserved memory system
The attach release descriptor (mrdd) instruction is an operation code.
to become a computer. The CCU codes this instruction from the CEU.
RrcDeallocDsk. nodata package
issue a cut. ! m0 is similar to instructions in other memory systems
and supplies the page address to be deallocated. The CIU inserts this packet into Ring:0. R.R.C.
copies the packet and starts the deallocation sequence.
Ru. If RRC is able to copy or process this packet,
If not, it is packet RspBsy (responder
Busy). CIU returns RrcDa
llocDesc. Extract the nodata packet and
Send this to the CCU. If RspBsy is issued,
The request is reissued by the CCU. If Rsp
If Bsy is clear, CCU marks successful completion as CEU.
Return to If RRC:0 is configured
), the return packet RrcDeallo
cDesc. nodata. ! RspBsy is the original Riku
Same as est and CE of successful completion status in CCU.
Bring it back to U. This instruction is used in the CCU or CIU data structure.
It does not affect the structure. The addition of this instruction is transparent to CEU.
It is clear. [0512] RRC write from CCU reserved memory system
The write descriptor (mrwd) command is
code. The CCU receives this command from the CEU.
RrcWrDesc. nodata packet
give out ! m0 is the page address to be allocated to other
It is supplied in the same way as a memory system instruction. CIU is
Insert this packet into ring:0. RRC: 0 is Pa
Extract the ket. Local RRC: 1 is disabled if necessary.
Allocate the descriptor and set the descriptor to exclusive.
, RRC resident descriptor bit (owner
limit), extract the packet, and retry it.
NG: Send back to 0. If RRC processes the packet
If you don't come, paket. Set RspBsy. CIU returns RrcWrDesc, nodata packet.
and send it to the CCU. RspBsy is set
If so, the CCU reissues the request. too
If RspBsy is clear, CCU will rise above CEU.
Returns successful completion status. If RRC:0 is configured
If not, return packet RrcWrDesc,nod
ata. RspBsy is the same as the original request,
Have the CCU return successful completion to the CEU. This command is
It does not affect the data structure of CCU and CIU. this
Adding instructions is transparent to the CEU. [0513] The change descriptor sequence is as follows:
That's right. 1-Anchor the old page (mpsa). 2- Collect all subpages of the old page in exclusive ownership
. 3-Deallocate RRC descriptor (mrdd
) (old page). 4-Write new RRC descriptor (mrwd
) (new page) 5-Write a new descriptor to the cell and set the anchor bit.
clear (mpdw). [0514] The mrdd and mrwd instructions are descriptors.
It is not necessary if the tag part of the data is not changed. Furthermore,
Gathering all subpages of an old page in exclusive ownership
to change some descriptor bit as above
may not be necessary. Atomic and transient atomic
state is maintained within the cell. RRC subpage status is
, atomic and ization and atomic are in the latter category
Only record non-exclusive and exclusive ownership if the RRC is lost in change descriptor sequence
Holds unprocessed getw state. getw requester
will time out. [0515] Page operation rules allocation rules are shown in the table.
12. [Table 12] [0516] [Table 13] [0517] [Table 14] [0518] [Table 15] [0519] [Table 16] [0520] 0521] Special operation RRC extraction buffer. Full (Extract Buf
fer Full) peak packet rate is
This is faster than the buffer can be freed, so RR
C extraction buffer flow control algorithm is required
. The control algorithm reduces system load while
Based on the principle of maximizing progress. of an ongoing request
By prioritizing system resources for completion, you can achieve both of these goals.
I can achieve my goal. This is because request completion is
This is because it achieves a reduction in system load and advances in maximum efficiency.
. 0522 Extract or copy to extraction buffer
packets that do not originate from this RRC.
Processed based on whether the If the packet is
If the packet did not originate from the RRC of
have no data, have read-only data, or
It will be processed depending on whether you have ownership rights or not. Packet Bi
Gbit RspBsy and InvBsy (conveniently
), and SpState and
and Pendl subpage state fields are
It is used to force the robot to perform legitimate tasks. [0523] All packets issued by RRC
For pkt. TimeStamp is cleared,
As a result, the packet can go around the ring again.
Make it. [0524] For all packets that are not of RRC origin
Also, pkt. The TimeStamp is cleared and the result
The packet can go around the ring again if necessary.
I'll do it. All page operations are performed using no data request packets.
It is considered that For packets with no data
, RspBsy and InvBsy are set. Rs.
pBsy and no data is sva-read-ro0.
set for data response, duplicate is empty
I get kicked. An ownership packet is sent and R
RC:1 transitions to Pendl:Reissue state
. Pendl:Reissue status is RRC:1
and are not extracted to satisfy outstanding requests.
In the case of remote-originated ownership packets that are
By distinguishing between fake and missing pages,
Prevent page-errors
used for. Pendl: Reissue is set
RRC:1 responds to requests originating from RRC.
and lost potential response packets that were not of RRC origin?
Indicate what might happen. If the link derived from RRC:1
Quest returns without response and Pendl: Reiss
ue, the return request is busy due to RRC.
and the requesting processor cell or RR
C to reissue the request, thereby creating a fake page
prevent faults. RRC:0 is SpState
Missing-page-er using field
Prevent ror. RRC:0 SpState field
Read-only copy or ownership ring:
Records whether it is within 0 and satisfies the request.
Ru. What if a request originating from RRC:0 gets no response?
Go back and have enough copies or ownership for Ring: 0
If it exists, the request will be reissued. Next, we analyze the behavior of all cases. Ring: 1 to RRC: 0, Ring: 0 to RRC: 1
Received from RRC:0(1) to RRC:1(0)
If the packet is on ring:1 (0), the packet is
is rerouted back to the other RRC. this is inserted
This is done by immediately extracting the received packet. one
An example is an outstanding request (s in Pendl:Ro state).
local requests of the same type as va-read-ex)
This is the case when the strike is processed in RRC:1. Rs.
pBsy is claimed and the request is local ring:0
will be returned to. [0526] If the extraction buffer is rerouted packet
If the extraction buffer cannot be received,
until it is no longer full and you get an empty packet.
It is held in the insert buffer until of rules
Notation insert. extract follows this behavior.
Indicates routed packets. Ring: 0 to RRC: 0, local ring: 0
Packets issued request packets - returned to point of origin (possibly satisfied along the way), required
If so, get a reissue. Read-only data-carrying packets
- Return to the originating point (maybe satisfied along the way) and as needed
If so, get a reissue. Ownership data carrying packet
Return to the point of origin (probably satisfied along the way) and make the necessary
Get reissued. But if the other ring: from 0
If requested, this packet will not be satisfied.
It should have been. When that packet returns to RRC:1, R
Ownership of RC:1 is still included in Ring:0
The request is sent back to ring:0.
Dew. 0527 Ring: 0 to RRC: 0, Remote Ring:
packet request packet originating from 0 - ring: around 0 (possibly satisfied along the way), R
It will be extracted on the next encounter with RC:0. Read-only data-carrying packets - ring: around 0 (maybe filled along the way), R
It will be extracted on the next encounter with RC:0. Ownership data carrying packet - ring: around 0 (maybe not satisfied along the way);
It will be extracted on the next encounter with RRC:0. 0528 Ring: 1 to RRC: 1, Local Ring
Packet request packet originating from Ring: 0 - around Ring: 0 (possibly satisfied along the way), R
It will be extracted on the next encounter with RC:0. Read-only data-carrying packets - ring: around 0 (maybe filled along the way), R
It will be extracted on the next encounter with RC:0. Ownership data carrying packet - ring: around 0 (maybe not satisfied along the way);
It will be extracted on the next encounter with RRC:0. 0529 Ring: 1 to RRC: 1, Remote Ring:
Packets originating from 0 Request packets - Return to point of origin (possibly satisfied along the way)
If so, get a reissue. Read-only data-carrying packets
- Return to the originating point (maybe satisfied along the way) and as needed
If so, get a reissue. Ownership data carrying packet
It will return to the point of origin and fulfill the request. deer
and unprocessed requests from ring:0 connected to this RRC.
If there was a quest, this packet was not satisfied
It should be. When this packet returns to RRC:1, RR
Ownership of C:1 is still included in Ring:0.
Notify the request and return the request to ring:0. 0530 Ring freezing (freezing) Freezing (phyllo
bits) are packets on the ring for one rotation.
used by the cell to freeze all ring freezing
The result is that all packets on the ring
members cannot change or copy the information in the packet.
It means being in a bad state. Cells are all on the ring
all packets passing through it are frozen.
By systematically claiming frozen bits in the
Freeze the ring. During the freezing period, each cell receives a ring packet.
Freely execute any action without requiring any additional processing. one
Once each ring has frozen a packet, the cell
Unfreeze each packet starting with the first frozen one, and then
Unfreeze frozen packets. ring freezing sequence
If conditions are detected during the unfreeze period to initiate the
The freezing sequence will begin immediately. RRC is that
Packets that were previously frozen and are being refrozen
must be memorized. Figure 16 shows complete ring freezing.
Indicates a full ring freeze. lightly shaded area
indicates a packet slot that is not marked frozen, while
Darkly shaded areas indicate slots marked as frozen
. Processing multiple cells whose rings are to be frozen
In order for each cell to try to freeze the ring most
It behaves as if there is only one cell. but,
The cell will only unfreeze packets that it marks as frozen.
There must be. Therefore, each cell marks it as frozen.
must always remember the packets it has checked. Se
the first and last packets it marked as frozen.
Always remember marked packets by knowing. child
This simplification is possible because the freezing mechanism can be
freezes one contiguous string of packets.
This is because it guarantees that Therefore, shift register nests et al.
Do not use large tubes to freeze the beginning and end of the package.
It is possible to maintain the [0532] Ring freezing can be done in two ways: full
You can start with ring freezing and full-1 ring freezing. cm
Because dFreeze is in the first part of the packet instruction
, the conditions leading to ring freezing are known early in packet processing.
There must be. Freeze the whole ring when the freeze bit freezes.
when used for the first packet to be connected
. The conditions necessary to freeze the ring occur early enough in packet processing.
If it is not available, the full-1 ring freezing method can be used.
. [0533] The full-1 ring freezing method uses the first ring to be frozen.
Do not freeze packets. Instead, packet busy
That is, RspBsy and InvBsy (conveniently
), and SpState
and Pendl subpage status fields are
The correct thing to do to call (Fz:SingleEccEr
r state). The remaining packets are
Frozen and unfrozen are displayed in the same way as full ring freezing.
Ru. The first packet is the extraction buffer full (Extrac
tBufferFull), extract to the extraction buffer.
Or the same as explained regarding packets that cannot be copied.
processed in a manner. [0534] Update (refresh) Update is performed in RiuMasterConfig. Rfresh
Update independently when enabled by Enable.
This is done in a distributed manner by each RRC. 5 every 8ms
Must be updated 12 times. The update interval is 1
5.6 seconds and RiuRefreshIntervc
Indicated in the ring clock by al. [0535] One update requires one packet processing time.
. Therefore, updates are required for blank periods or frozen packets.
It can be done. because these packets require processing.
Because they don't ask for it. RRC is blank and frozen at every update.
update using all invisible packets.
try to RRC sends RiuRefr for each update.
eshiCount. By increasing NumRef
The number of updates up to 31 is stored. At the end of each renewal period, Nu
mRef is decremented by 1. If NumRef is 0
, the update is immediately sent to RRC using the full-ring freeze method.
(NumRef is the first frozen packet)
all RRCs in the ring (not incremented for
Records a number of updates equal to the number of formatted packets.
I can remember. The full ring freeze renewal method
will only be needed if it is fully utilized. The update interval is
0.94 microseconds (15.6*31/512) to 14.
It is adjusted to 7 microseconds and has the effect of saving up to 31 updates. [0536] ECC correctable error (correcta
ble error) When RRC detects a correctable ECC error, additional
Packet time is required to correct the data structure. ring
Freeze multiple packets for correction and relulling
Used to allow time. [0537] When a corrected EEC error is detected, the RRC
begins the full-1 ring freezing procedure. This is ECC error
This is because the information is not known at the beginning of packet processing. The first packet is as described in the extraction buffer full section.
The remaining packets are frozen and mapped for one rotation.
will be tracked. The corrected data structure is rewritten and
Saved in RDU, then E after one rotation of the ring.
Reprocess packets that cause CC errors. Derived from RRC
packets are processed; other packets are processed by other packets in the ring.
is extracted by the cell. When you save the correction packet
, RRC-derived packets are single-bit (correctable)
error is handled correctly. [0538] RRC is pkt. Correct RrcFault
Set in the packet corresponding to possible ECC errors. RRC packets also have uncorrectable ECC errors detected.
When pkt. RRC Unmarked Fault
Claim on provenance packet. [0539] The processor cell issuing the request is
Interpret the RrcFault bit as follows. R
The rcFault bit indicates that an RRC fault has been detected.
Instructs to be stored by RC. If the remaining frames
Marked Fault, Local
Fault, DescFault, and Unmark
dFault) is clear, the packet request is
It ends successfully. If the return packet is busy, leave
The cell sends a fault in the RrcAtt situation and requests
should not be attempted again. Other CIUs and CCUs
Normally process this packet. additional fault
Once the bits are set, the
The effect of the RrcFault bit is ignored. [0540] RDU:0 Rule The RDU:0 subpage and page rule defined earlier is here.
Referenced in this rule. [Table 17] [0542] Table 17 continued [Table 18] [0543] RDU:1 rule The previously defined RDU:0 subpage and page rules are as follows:
Referenced in this rule. [Table 19] [Table 19 continued] [Table 20] [0546] Table 20 continued [Table 21] [0547] Ring: 0 Rule assumption Ring: N For operation, packet details, ring detail
The following changes are required to , CCU Rules, and CIU Rules:
It is. 0548 Cell descriptor deallocation cell descriptor
Cryptor allocation has been changed. The write descriptor RCC has two write descriptor operations.
Action is required. RRC is the old SVA descriptor
deallocate the same descriptor to a new address.
Assign. These two operations affect the packet address field.
field deallocation address and packet data
When two packets are sent to the assigned address in code 0
It requires time. As explained in the change descriptor section
The new sequence is a write descriptor (mpdw).
), the two RRC operations required for
Describes whether it is split into separate instructions and CCU requests
do. 0549]CiuUpdateStateCiuUp
dateState whose only use is ciu. pe
Assuming it is to change the nding state to invalid.
If so, there is no need to send it to the ring. Packet Operations Three RRC-related operations: RrcDealloc
Desc, RrcWrDesc and CiuPureIn
Added vSumAlloc. page^foul
The t operation was removed as it is not needed for the Rrc operation. The following table shows the revised encoding. [Table 22] 0552 Invalidator and Responder Busy
Invalidator busy, response as a function of packet behavior
The definition of ``busy'' for ``busy'' is listed in the following table. to a certain action
For cell or ring: these bits are also assigned by 0.
has a page named (descriptor match)
This is set to indicate that the This information is RRC
:0 is used to set the page to the cell deallocation sequence.
Assigned to any additional cell within ring:0 during the
Indicate whether or not you can be kicked. [Table 23] [0554] Table 23 continued [Table 24] [0555] Packet Subpage Status Field Next Table
is the valid service as a function of packet behavior.
It lists the page. [Table 25] Ring Freeze Ring Freeze EEC Single Bit Error and Foreground
used to handle code updates. packet pcop
y pcop bit for CIU, RIU, RRC usage
as pkt. Assign cmd[33]. Always CI
It is initialized by inserting U. pcopy set
Packets copied from Ring:1 at RRC:1
Or, there is no need to return to Ring: 1, and Ring: 0 is successfully set.
It is vacated by RRC:0 when it passes through. Packet Freeze CIU, pkt as freeze bit for use in RIU
.. cmd[32] is assigned. Always CIU or R
It is initialized by inserting an IU. set
, the contents of the packet are ignored by all cells. Must be cleared by the same cell that sets it.
No. If cleared, the packet is interpreted as normal
. Valid for empty and non-empty packets. 0559 Packet invalidate looker
Head paget. Change cmd[13] to hold. Next code
paket. cmd[28] cmd-lo
Name it okahead[0]. paget. cmd
[28] Description 0 NoLook
ahead1 L
ookaheadPkt. Lookahead is always
It ignores the data and displays that the packet is short. [0560] Packet RRC bit As the RRC bit, packet. Assign cmd[8]
Teru. Always initialized and passed by CCU and CIU
be given Used by sva-read-ro and read
Combine, release, and if cells in ring:0 become subpepe
If the page is not removed, the packet should be reissued.
Indicates that Packet RrcFault bit RrcF
The fault bit has been changed by RRC. Rrc
The Fault bit indicates that an RRC fault has been detected and the RR
Indicates that it has been stored by C. If the rest of the
Marked Fault, LocalF
fault, DescFault, and Unmarked
Fault) is cleared, the packet request is
Finished in the tail. If the request to return is busy
The departing cell reports a fault in the RrcAtt situation,
Requests are not allowed. Additional faults
Once the bits are set, the actions dictated by these bits
The program ignores the effect of the RrcFault bit. Packet RrcCmd pkt. for RRC and RIC use. cmd[23:
16] to RmcCmd. RrcCmd is
RRC:0 and RRC:1 for deallocation sequence
Used to send status between. [Table 26] CEU aborted requests
EST's cell processing CEU is busy responding to a failed CCU request.
Packets returned as
It's not possible. System error status is stored in local cache
Reported and local cache not hanging
The local processor is notified and the failed request is logged.
processed by the local processor and local cache.
guaranteed. [0565] The control point SPA space address is 64 bits, and the cell address
It is divided into two parts: address and cell address offset. Serua
A dress specifically identifies a particular cell in the ring hierarchy. Also, the cell address offset specifies a specific location within the cell.
do. Cell Address Structure Cell addresses are divided into three levels of the ring interconnection hierarchy:
Cell location inside ring:2, ring:1 and ring:0
Identify. Leaf cell address halling: 2 addresses
, Ring: 1 address Ring: Hierarchically from 0 address
configured. 3 rings: n address field is ring
absolute or relative address to a leaf or non-leaf cell
used to configure. Referring to the table below, there are three types of rings:
:n address, normal address, local address,
and the routing address are shown. Normal a
The address is for one of the 128 cells within a level of the ring hierarchy.
This is an absolute standard. The cccccc field is
Determine the absolute number of cells. Local address is ring hierarchy
is the internal relative standard of level n-1 of . routing
In-addresses are used to address non-leaf cells in the hierarchy.
used for rrrrr in the routing address
The r field is determined by the number of rings or due to proximity to non-leaf cells.
Second ring: Identify the route to n+1. locala
Address and routing encodings are synonymous. Ring: n address description
0cccccccc Normal address
1xxxxxxxxx Local address
Response 1xrrrrrr routine
Ringing: n+1 0568 Cell address mode is
– cell address and non-leaf (RRC) cell address
classified into modes. Cell address mode is cell address
Determined by the combination of address types within the address. [0569] The relative mode of a fief cell is that the cell is
Address yourself without knowing all cell addresses
make it possible. Ring: 2 addresses, Ring: 1 address
Address and Ring: 0 address specifies local address.
Set. Local ring: leaf relative to mode 0
The cell has a Ring:1 address and a Ring:2 address.
Without knowledge, a cell can
allows cells to be addressed. Ring: 0a
The address field identifies the addressed leaf cell.
Ru. Local ring: Leaf cells relative to 1 are actually
Ring: 2 A cell without knowledge of its local address
Ring: Able to address other cells within 1
Make it. Ring:1 address is within local ring:2
Ring: Identify the number of zeros. Ring: 0 address is Ring
Specify the number of cells in 0. Ring: Symbol in 2 modes
A specific leaf cell in the stem has a full (all) cell address.
allow access. Ring: 2 addresses
, Ring:1 address, and Ring:0 address are
The field is hierarchically ring:1, ring:0 and access.
Determine the number of leaf cells that will be 0570 Local ring: relative to one mode
RRC:1 (non-leaf) pairs are non-local RRC:1
that the pair is addressed without knowledge of the Ring 2 address
enable. Ring: 2 address type is local
The address type of Ring:1 is normal and Ring:1 is normal.
Identify the non-leaf cells in Ring:1 and also identify the non-leaf cells in Ring:0 address.
The type of the route is a route and specifies the route.
. RRC:0 interleave configuration (configura
tion) and Ring:0 address fields are
used to send a message to a specified ring:1. RRC:1 pair mode is RRC:1 pair is ring:2 add
address and ring: address by specifying one address.
allow you to be answered. RRC: 2 pair mode is
RRC: 2 pairs ring: 2 addresses, ring: 1 address
Address Routing and Ring: 0 Address Routing
address by specifying the
Ru. In the following table, 1, 2, 3 indicate ring, l is local,
n indicates normal and r indicates routing. [0571] SPA[39] is the addressed RRC or its counterpart.
control whether it is accessed. [0572] Routing of mutually coupled packets (SVA
, SPA) SVA request packets are RRC directory look
up, packet command, pkt. Requestor
ID, CellAddress, RRC rule, and input
Based on the taleave configuration
route is set. The SPA request packet is
ket command, pkt. Addle [63:40]
match, cell address, pkt. RequestorID
, CellAddress, and interleaved configuration.
routed based on. If pkt. Requs
If torID and CellAddress match
, the packet returns a response and the requesting leaf
returned to the cell. In other cases, RequestorI
If D and CellAddress match, the packet is
Depending on the CellAddress mode, the
Requests for child or child leaf cells
. Packet RequestorID match and SPA address
The code at the dress is the ring level where the RRC is connected.
is a function of [0573] [Table 27] [0574] Interleave configuration parameters are RduM
asterConfig. RingInterleav
e, RduMasterConfig. RingVal
ue, and IbuMasterConfig. Link
Interleave. [0575] SPA parameters to leaf cells and non-leaf cells
ket requests take the same route. SPA packet
Request is interleaved matching of cell address
Ring: n address field (n is R for root)
(corresponding to the level of RC) by the RRC bank.
routed. RingInterleave structure
The configuration is ring:n Which bits from address [3:0] are mapped?
Determine if it is connected. For non-leaf cell access
For example, the Ring address [3:0] indicates the exact route.
Identify. For leaf cell access, request
accessing ring: 0 and accessed ring: 0.
An exact route is not required. Routing is addressed
Based on cells. Non-leafling: Access to 2 devices is
, both ring:0 and ring:1 fields of cell address
requires that the code be specified. [Table 28] [0577] Both RRC banks have a single InterRin
In a configuration that binds to gLink, incoming packets
is IbuMasterConfig. LinkInte
One buffer based on rleave and single bit address.
routed to the link. [0578] Offset structure The offset part of SPA is
Select register and select RR where SPA[39] is addressed.
Identify whether C or its counterparty has been accessed
. If it is in each unit, the control location is the type and location.
bounded by the offset. Location off for each type
The scope of a set is specified by its respective description. 0580 Cell address [38:32] - Number of units
The units of banks A and B are sub-ring A (odd number of rings).
) and B (even ring number), respectively. Unit is cell addressing: n address field
The unit is associated as identified by
accessed only when accessed through a subring that
accessible. 0581 Cell address [31:28] - Location type
Unit numbers 0x0 and 0x2 that address the RDU
The types of locations are as follows. [Table 30] 0583 Unit number 0x1 addressing RIU
The types of locations from 0 to 0x13 are as follows. [Table 31] 0585] 0x1 and 0x3 that address RBU
The types of locations are as follows. [Table 32].

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】本発明に従って構成された好ましい多重処理シ
ステムの構造を示す線図である。
FIG. 1 is a diagram illustrating the structure of a preferred multiprocessing system constructed in accordance with the present invention.

【図2A】第1図に示される形式の多重処理システムに
おけるデータコヒーレンシを提供する好ましいメモリ形
態を示す線図である。
2A is a diagram illustrating a preferred memory configuration for providing data coherency in a multiprocessing system of the type shown in FIG. 1; FIG.

【図2B】本発明に従って構成された好ましい多重処理
システムにおいてデータへアクセスしていないプロセッ
シングセルによる所有権要求と関連してのデータの移動
を示す線図である。
FIG. 2B is a diagram illustrating the movement of data in conjunction with ownership claims by processing cells that are not accessing the data in a preferred multiprocessing system constructed in accordance with the present invention.

【図3】図1の例示のレベル:0セグメントの好ましい
形態を示すブロック図である。
FIG. 3 is a block diagram illustrating a preferred form of the example level:0 segment of FIG. 1;

【図4】図4は本発明の実施に使用されるプロセッシン
グセルの好ましい構成を示すブロック図である。
FIG. 4 is a block diagram illustrating a preferred configuration of a processing cell used to implement the present invention.

【図5】図5は本発明にしたがって構成されたプロセッ
シングセルにおけるキャッシュディレクトリの好まし構
造を示すブロック図である。
FIG. 5 is a block diagram illustrating a preferred structure of a cache directory in a processing cell constructed in accordance with the present invention.

【図6】図6は本発明にしたがって構成された好ましい
リングルート設定セルを示す線図である。
FIG. 6 is a diagram illustrating a preferred ring routing cell constructed in accordance with the present invention.

【図7】図7は本発明の実施例に使用されるリングルー
ト設定セルに対する好ましいリング相互接続部ユニット
を示す線図である。
FIG. 7 is a diagram illustrating a preferred ring interconnect unit for a ring routing cell used in embodiments of the present invention.

【図8】本発明に従って構成されたルート設定ディレク
トリの組織を示す線図である。
FIG. 8 is a diagram illustrating the organization of a routing directory constructed in accordance with the present invention.

【図9】本発明に従って構成されたルート設定ディレク
トリの組織を示す線図である。
FIG. 9 is a diagram illustrating the organization of a routing directory constructed in accordance with the present invention.

【図10】本発明の実施において使用されるルート設定
ディレクトリエントリのフォーマットを示す線図である
FIG. 10 is a diagram illustrating the format of a routing directory entry used in the implementation of the present invention.

【図11A】本発明にしたがって構成されたリングルー
ト設定セルのリング間バッファの好ましい構成を示す線
図である。
FIG. 11A is a diagram illustrating a preferred configuration of an inter-ring buffer of a ring routing cell constructed in accordance with the present invention.

【図11B】本発明にしたがって構成されたリングルー
ト設定セルにおけるリンク間ディーラムの好ましい配置
を示す線図である。
FIG. 11B is a diagram illustrating a preferred arrangement of inter-link deal rams in a ring routing cell constructed in accordance with the present invention.

【図12】本発明にしたがって構成されたシステムに使
用される好ましいリング間リンクフレイムを示す線図で
ある。
FIG. 12 is a diagram illustrating a preferred inter-ring link frame for use in a system constructed in accordance with the present invention.

【図13】本発明にしたがって構成されたシステムにお
ける好ましい要求ルート設定シーケンスを示す線図であ
る。
FIG. 13 is a diagram illustrating a preferred request routing sequence in a system configured in accordance with the present invention.

【図14A】本発明にしたがって構成されたシステムに
おける好ましい無効化シーケンスを示す線図である。
FIG. 14A is a diagram illustrating a preferred invalidation sequence in a system configured in accordance with the present invention.

【図14B】本発明にしたがって構成されたシステムに
おける好ましい無効化シーケンスを示す線図である。
FIG. 14B is a diagram illustrating a preferred invalidation sequence in a system configured in accordance with the present invention.

【図15】本発明にしたがって構成されたシステムにお
いて使用される好ましい割当て解除シーケンスを示す線
図である。
FIG. 15 is a diagram illustrating a preferred deallocation sequence used in a system constructed in accordance with the present invention.

【図16】本発明にしたがって構成されたシステムにお
ける全リング凍結を示す線図である。
FIG. 16 is a diagram illustrating full ring freezing in a system constructed in accordance with the present invention.

【図17】本発明の他の実施例におけるRUD:0 状
態を示す図である。
FIG. 17 is a diagram showing the RUD:0 state in another embodiment of the present invention.

【図18】本発明の他の実施例におけるRUD:1 状
態を示す図である。
FIG. 18 is a diagram showing an RUD:1 state in another embodiment of the present invention.

【図19A】本発明の好ましい代りのリングインタリー
ブの実施例を示す線図である。
FIG. 19A is a diagram illustrating a preferred alternative ring interleaving embodiment of the present invention.

【図19B】本発明の好ましい代りのリングインタリー
ブの実施例を示す線図である。
FIG. 19B is a diagram illustrating a preferred alternative ring interleaving embodiment of the present invention.

【図19C】本発明の好ましい代りのリングインタリー
ブの実施例を示す線図である。
FIG. 19C is a diagram illustrating a preferred alternative ring interleaving embodiment of the present invention.

【図19D】本発明の好ましい代りのリングインタリー
ブの実施例を示す線図である。
FIG. 19D is a diagram illustrating a preferred alternative ring interleaving embodiment of the present invention.

【符合の説明】10  システム 12A〜12F,14A,14B,16  セグメント
18A〜18R  セル 20A〜20F,24A,24B,26  バス28A
〜28F,30A、30B  ルート設定セル40A,
40B,40C  中央プロセッシングユニット(CP
U) 48A,48B,48C  バス 42A,42B,42C  メモリ要素50A,50B
,50C  アクセス要求要素52A,52B,52C
  制御要素 54A,54B、54C  ストア 56A,56B,56C  ディレクトリ要素
[Explanation of symbols] 10 System 12A to 12F, 14A, 14B, 16 Segment 18A to 18R Cell 20A to 20F, 24A, 24B, 26 Bus 28A
~28F, 30A, 30B Route setting cell 40A,
40B, 40C Central processing unit (CP
U) 48A, 48B, 48C Bus 42A, 42B, 42C Memory element 50A, 50B
, 50C Access request elements 52A, 52B, 52C
Control elements 54A, 54B, 54C Stores 56A, 56B, 56C Directory elements

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】A.プロセッシングセル間において情報パ
ケットを表す信号を転送するための関連するバス手段に
より接続される複数のプロセッシングセルを各々備える
プロセッシンググループであって、各プロセッシングセ
ルが、(1)データまたはコピーを参照するための独自
のディスクリプタに各々対応する、該セルに割り当てら
れた0、1または複数のデータまたはそのコピーを有し
、(2)参照を受けるデータのディスクリプタを含む情
報パケットを表す信号の発生および受信の少なくとも一
方を行うCCU手段を備える第1および第2のプロセッ
シンググループと、 B.第1および第2のプロセッシンググループ間におい
て情報パケットを転送するためのRRC手段であって、
(1)前記第1プロセッシンググループのバス手段に結
合され、該バス手段から情報パケット受信するための第
1の入力手段と、(2)前記第1プロセッシンググルー
プのバス手段に結合され、該バスに情報パケットを選択
的に出力するための第1の出力手段と,(3)前記第2
プロセッシンググループのバス手段に結合され、該バス
に情報パケットを選択的に出力するための第2の出力手
段とを備えるRRC手段(第1RRC手段)とを備え、
C.該第1RRC手段が、前記第1入力手段および前記
第1および第2出力手段に接続されたルート設定手段で
あって、前記第1入力手段上に受信される情報パケット
とを、前記第1および第2プロセッシンググループ間に
おいて、その情報パケットまたはそれに対する要求にお
いて参照されるデータ(またはそれに対する要求)の先
行のルート設定履歴に基づいて、前記第1および第2出
力手段の選択されたものにルート設定するためのルート
設定制御手段を備えることを特徴とするディジタルデー
タ通信装置。
[Claim 1] A. A processing group each comprising a plurality of processing cells each connected by an associated bus means for transferring signals representing packets of information between the processing cells, wherein each processing cell is configured to: (1) refer to data or copies; (2) generating and receiving a signal representing an information packet containing a descriptor of the data to be referenced; B. first and second processing groups comprising CCU means for performing at least one of the following; RRC means for transferring information packets between the first and second processing groups, comprising:
(1) first input means coupled to said first processing group bus means for receiving information packets from said bus means; and (2) first input means coupled to said first processing group bus means for receiving information packets from said bus means; (3) a first output means for selectively outputting information packets; and (3) the second output means.
RRC means (first RRC means) coupled to the bus means of the processing group and comprising second output means for selectively outputting information packets to the bus;
C. The first RRC means is a routing means connected to the first input means and the first and second output means, wherein the first RRC means routes information packets received on the first input means to the first and second output means. between a second processing group and route the data referenced in the information packet or request thereto (or requests thereto) to selected ones of said first and second output means based on a previous routing history of the data referenced in said information packet or request thereto; A digital data communication device comprising a route setting control means for setting a route.
【請求項2】  A.プロセッシングセル間において情
報パケットを表す信号を転送するための関連するバス手
段により接続される複数のプロセッシングセルを各々備
えるプロセッシンググループであって、各プロセッシン
グセルが、(1)データまたはコピーを参照するための
独自のディスクリプタに各々対応する、該セルに割り当
てられた0、1または複数のデータまたはそのコピーを
有し、(2)参照を受けるデータのディスクリプタを含
む情報パケットを表す信号の発生および受信の少なくと
も一方を行うCCU手段を備え、(3)前記各ディスク
リプタが、対応するデータが割り当てられるプロセッシ
ングセルと独立でありかつその同じプロセッシングセル
に割り当てられる他のデータ(もしあれば)に関しては
その対応するデータの割当てと独立の値を有する第1お
よび第2のプロセッシンググループと、 B.第1および第2のプロセッシンググループ間におい
て情報パケットを転送するためのRRC手段であって、
(1)前記第1プロセッシンググループのバス手段に結
合され、該バス手段から情報パケット受信するための第
1の入力手段と、(2)前記第1プロセッシンググルー
プのバス手段に結合され、該バス手段に情報パケットを
選択的に出力するための第1の出力手段と,(3)前記
第2プロセッシンググループのバス手段に結合され、該
バスに情報パケットを選択的に出力するための第2の出
力手段とを備えるRRC手段(第1RRC手段)とを備
え、 C.該第1RRC手段が、前記第1入力手段および前記
第1および第2出力手段に接続されたルート設定制御手
段であって、該入力手段により受信される情報パケット
を、その情報パケット内のディスクリプタおよび前記第
1プロセッサに割り当てられるデータ間の対応に基づい
て、それらの出力手段の選択されたものにルート設定す
るためのルート設定制御手段を備えることを特徴とする
ディジタルデータ通信装置。
[Claim 2] A. A processing group each comprising a plurality of processing cells each connected by an associated bus means for transferring signals representing packets of information between the processing cells, wherein each processing cell is configured to: (1) refer to data or copies; (2) generating and receiving a signal representing an information packet containing a descriptor of the data to be referenced; (3) each said descriptor is independent of the processing cell to which the corresponding data is assigned, and with respect to other data (if any) assigned to the same processing cell; B. first and second processing groups having values independent of data allocation; B. RRC means for transferring information packets between the first and second processing groups, comprising:
(1) a first input means coupled to the bus means of the first processing group for receiving information packets from the bus means; and (2) a first input means coupled to the bus means of the first processing group; (3) a second output coupled to bus means of said second processing group for selectively outputting information packets to said bus; C. RRC means (first RRC means) comprising: C. The first RRC means is a route setting control means connected to the first input means and the first and second output means, and the first RRC means is a route setting control means connected to the first input means and the first and second output means, and the first RRC means is a route setting control means connected to the first input means and the first and second output means. A digital data communication device comprising a route setting control means for setting a route to a selected one of the output means based on a correspondence between data assigned to the first processor.
【請求項3】  A.第1プロセッシンググループから
情報パケットを受信するための第1の入力手段と、B.
前記第1プロセッシンググループおよび第2のプロセッ
シンググループの対応する1つに前記情報パケットを転
送するための第1および第2の出力手段とを備え、前記
各プロセッシンググループが、関連するバス手段により
結合された複数のプロセッシングセルを備え、前記第1
入力および出力手段が、前記第2第1プロセッシンググ
ループと関連するバス手段に結合され、前記第2出力手
段が前記プロセッシンググループと関連するバス手段に
結合されており、各プロセッシングセルが、(1)デー
タまたはコピーを参照するための独自のディスクリプタ
に各々対応する、該セルに割り当てられた0、1または
複数のデータを有し、(2)参照を受けるデータのディ
スクリプタを含む情報パケットを表す信号の発生および
受信の少なくとも一方を行うCCU手段を備え、(3)
前記各ディスクリプタが、対応するデータが割り当てら
れるプロセッシングセルと独立でありかつそのプロセッ
シングセルに割り当てられる他のデータ(もしあれば)
に関してはその対応するデータの割当てと独立の値を有
しており、、そしてさらに、 C.第1および第2のプロセッシンググループ間におい
て情報パケットを転送するためのRRC手段であって、
前記第1入力手段および前記第1および第2出力手段に
接続され、その入力手段により受信される情報パケット
を、その情報パケット内のディスクリプタおよび前記第
1プロセッシンググループに割り当てられるデータ間の
対応に基づいて、それらの出力手段の選択されたものに
ルート設定するためのルート設定制御手段を有する第1
のRRC手段とを備えることを特徴とするディジタル情
報パケットルート設定スイッチ装置。
[Claim 3] A. B. first input means for receiving information packets from a first processing group;
first and second output means for transferring said information packets to a corresponding one of said first and second processing groups, each said processing group being coupled by associated bus means; a plurality of processing cells;
input and output means are coupled to bus means associated with said second first processing group, said second output means coupled to bus means associated with said processing group, and each processing cell is configured to: (1) (2) a signal representing an information packet having zero, one, or more data assigned to the cell, each corresponding to a unique descriptor for referencing data or copies; (3) comprising CCU means for performing at least one of generation and reception;
Each said descriptor is independent of the processing cell to which the corresponding data is assigned and other data (if any) assigned to that processing cell.
has a value independent of its corresponding data assignment, and furthermore, C. RRC means for transferring information packets between the first and second processing groups, comprising:
is connected to said first input means and said first and second output means, said information packet received by said input means being based on a correspondence between a descriptor in said information packet and data assigned to said first processing group; a first route control means for routing selected ones of the output means;
A digital information packet route setting switch device comprising: RRC means.
【請求項4】  A.各々レベル(k)としてそれぞれ
指示される(n)のパケット転送レベルを有し、ここで
、(k)は(0)ないし(n−1)間の逐次の整数を表
わす、 B.各パケット転送レベルが複数のセグメントを有し、
ここで、各パケット転送レベル内のセグメントの数は、
パケット転送レベル(0)を除き、パケット転送レベル
(k−1)内のセグメントの数より少なく,パケット転
送レベル(n−1)が1つのかかるセグメントしか有せ
ず、そして各セグメントが、(1)0、1または複数の
プロセッシングセルと、(2)そのレベル(k)セグメ
ント内において情報パケットを搬送するためのバス手段
とを有し、前記各プロセッシングセルが、(1)データ
またはコピーを参照するための独自のディスクリプタに
対応する、該セルに割り当てられた0、1または複数の
データまたはそのコピーを有し、(2)参照を受けるデ
ータのディスクリプタを含む情報パケットを表す信号の
発生および受信の少なくとも一方を行うCCU手段を備
え、(3)前記各ディスクリプタが、対応するデータが
割り当てられるプロセッシングセルと独立でありかつそ
のプロセッシングセルに割り当てられる他のデータ(も
しあれば)に関してはその対応するデータの割当てと独
立の値を有し、 D.(1)および(n−1)間の(k)に対する各レベ
ル(k)のセグメントが、それらのセグメント間におい
て情報パケットを選択的に転送するための複数のRRC
手段であって、そのレベル(k)のセグメントのバス手
段に結合され、該バス手段から情報パケットを受信する
ための第1の入力手段と、そのレベル(k)のセグメン
トのバス手段に結合され、該バスに情報パケットを選択
的に出力するための第1の出力手段と,関連するレベル
(k−1)セグメントのバス手段に結合され、該バス手
段から情報パケットを受信するための第2入力手段と、
その関連するレベル(k−1)セグメントのバス手段に
結合され、該バス手段に情報パケットを選択的に出力す
るための第2入力手段とを備える複数の第1のRRC手
段を備え、ここで、この各関連するレベル(k−1)セ
グメントならびにその各下位のセグメントは(もしあれ
ば)そのレベル(k)セグメントの下位セグメントと称
され、そしてあるレベル(k)セグメントの下位セグメ
ントと関連するプロセッシングセルが第1グループのプ
ロセッシングセルと称され、あるレベル(k)セグメン
トの下位セグメントと関連するもの以外の前記プロセッ
シングセルが第2グループのプロセッシングセルと称さ
れるものとする、 E、前記第1RRC手段の少なくとも1つのが、前記第
1入力手段、および第1および第2出力手段に接続され
、その情報により受信される情報パケットを、その情報
パケット内のディスクリプタおよび前記第1プロセッサ
グループに割り当てられるデータ間の対応に基づいて、
それらの出力手段の選択されたものにルート設定するた
めのルート設定制御手段を備えることを特徴とするディ
ジタルデータ通信回路網。
[Claim 4] A. B. each having (n) packet forwarding levels, each designated as level (k), where (k) represents a sequential integer between (0) and (n-1); B. Each packet forwarding level has multiple segments,
where the number of segments within each packet forwarding level is
With the exception of packet forwarding level (0), which is less than the number of segments in packet forwarding level (k-1), packet forwarding level (n-1) has only one such segment, and each segment has (1 ) zero, one or more processing cells, and (2) bus means for conveying information packets within its level (k) segments, each said processing cell having: (1) reference data or copies; (2) generating and receiving a signal representing an information packet containing a descriptor of the data to be referenced; (3) each said descriptor is independent of the processing cell to which the corresponding data is assigned, and with respect to other data (if any) assigned to that processing cell; D. has a value that is independent of the data assignment;D. Each level (k) segment for (k) between (1) and (n-1) has multiple RRCs for selectively forwarding information packets between those segments.
means coupled to the bus means of the segment of the level (k), first input means for receiving information packets from the bus means; , a first output means for selectively outputting information packets onto the bus, and a second output means coupled to the bus means of an associated level (k-1) segment for receiving information packets from the bus means. input means;
a plurality of first RRC means coupled to the bus means of its associated level (k-1) segment and comprising second input means for selectively outputting information packets to the bus means; , each associated level (k-1) segment and each sub-segment thereof (if any) is referred to as a sub-segment of that level (k) segment and is associated with a sub-segment of a certain level (k) segment. E, the processing cells other than those associated with the lower segments of a certain level (k) segment shall be referred to as the second group of processing cells; At least one of the 1RRC means is connected to the first input means and the first and second output means, and assigns the received information packet to a descriptor in the information packet and to the first processor group. Based on the correspondence between the data
A digital data communications network, characterized in that it comprises routing control means for routing to selected ones of those output means.
【請求項5】  A.各々レベル(k)としてそれぞれ
指示される(n)のパケット転送レベルを有し、ここで
、(k)は(0)ないし(n−1)間の逐次の整数を表
わす、 B.各パケット転送レベルが複数のセグメントを有し、
ここで、各パケット転送レベル内のセグメントの数は、
パケット転送レベル(0)を除き、パケット転送レベル
(k−1)のセグメントの数より少なく,パケット転送
レベル(n−1)は1つのかかるセグメントしか有せず
、そして各セグメントが、(1)0、1または複数のプ
ロセッシングセルと、(2)レベル(k)セグメント内
において情報パケットを搬送するためのバス手段を有し
、前記各プロセッシングセルが、データまたはコピーを
参照するための独自のディスクリプタに各々対応する、
該セルに割り当てられた0、1または複数のデータまた
はそのコピーを有し、各プロセッシングセルがさらに、
情報パケットを表す信号を発生する手段を有し、前記情
報パケットが、データに対応するディスクリプタが割り
当てられた少なくとも1つのの要求パケットおよび要求
パケットに対する応答を構成する応答パケットの一方を
含み、 C.前記プロセッシングセルに結合されていて、第1の
セルに割り当てられるデータを選択的にに割当て解除し
、同時にそのデータを第2のセルに排他的に割り当てる
ためのCCU手段を有し、 D.(1)ないし(n−1)間の(k)に対する各レベ
ル(k)のセグメントが、各々そのセグメントのバス手
段および関連するレベル(k−1)セグメントのバス手
段に接続されていて、それらのセグメント間において選
択的に情報を転送するための複数のルート設定セルを備
え、ここで、この関連する各レベル(k−1)セグメン
トならびにその各下位セグメントは、そのレベル(k)
下位のセグメントと称されるものとする、E、前記ルー
ト設定セルの各々が、その要求パケット内のディスクリ
プタおよびそのレベル(k)下位のセグメントのプロセ
ッシングセルに割り当てられたデータの対応に基づいて
、関連するレベル(k)およびレベル(k−1)セグメ
ント間において転送のため要求パケットを選択するため
の手段を備えることを特徴とするディジタルデータ通信
回路網。
[Claim 5] A. B. each having (n) packet forwarding levels, each designated as level (k), where (k) represents a sequential integer between (0) and (n-1); B. Each packet forwarding level has multiple segments,
where the number of segments within each packet forwarding level is
With the exception of packet forwarding level (0), which is less than the number of segments in packet forwarding level (k-1), packet forwarding level (n-1) has only one such segment, and each segment has (1) (2) bus means for conveying information packets within the level (k) segment, each processing cell having its own descriptor for referencing data or copies; corresponding to each,
having zero, one or more data or copies thereof assigned to said cell, each processing cell further comprising:
B. means for generating a signal representing an information packet, said information packet comprising at least one request packet to which a descriptor corresponding to data is assigned and one of a response packet constituting a response to the request packet; D. CCU means coupled to said processing cell for selectively deallocating data assigned to a first cell and simultaneously assigning the data exclusively to a second cell; The segments of each level (k) for (k) between (1) and (n-1) are each connected to the bus means of that segment and the bus means of the associated level (k-1) segment, and a plurality of routing cells for selectively transferring information between segments of the level (k-1), where each associated level (k-1) segment and each sub-segment thereof
Each of said routing cells, E, shall be referred to as a lower segment, based on the correspondence between the descriptor in its request packet and the data assigned to the processing cells of its level (k) lower segment. A digital data communication network comprising means for selecting request packets for transfer between associated level (k) and level (k-1) segments.
【請求項6】  A.情報パケット表示信号を搬送する
ための関連するバス手段により相互接続されるプロセッ
シングセルであって、データまたはコピーを参照するた
めの独自のディスクリプタに各々対応する0、1または
複数のデータまたはそのコピーが各々割り当てられた複
数のプロセッシングセルを有する第1および第2のプロ
セッシンググループを提供すること、ここで、前記各デ
ィスクリプタは、対応するデータが割り当てられるプロ
セッシングセルと独立でありかつその同じプロセッシン
グセルに割り当てられる他のデータ(もしあれば)に関
してはその対応するデータの割当てと独立の値を有する
ものとする、 B.前記プロセッシングセルの1または複数のもの内に
、参照を受けるデータのディスクリプタを各々含む情報
パケットを表す信号を発生し、それらの情報パケット表
示信号の1または複数のものを、該信号を発生した前記
1または複数のプロセッシングセルと関連するバス手段
に選択的に転送することと、 C.前記情報パケットを、前記第1および第2プロセッ
シンググループ間において、それらのパケット内のディ
スクリプタにより参照されるデータまたはそのコピーの
先行のルート設定履歴に基づいて、前記第1および第2
プロセッシンググループの各々と関連するバス手段間に
おいて選択的にルート設定することとを含むことを特徴
とするディジタルデータ通信方法。
[Claim 6] A. Processing cells interconnected by associated bus means for conveying information packet representation signals, wherein zero, one or more data or copies thereof each correspond to a unique descriptor for referencing the data or copies; providing first and second processing groups each having a plurality of processing cells assigned thereto, wherein each descriptor is independent of and assigned to the same processing cell to which corresponding data is assigned; B. Other data (if any) assigned shall have a value independent of the assignment of its corresponding data. generating in one or more of said processing cells signals representative of information packets each including a descriptor of data to be referenced; selectively transferring to bus means associated with one or more processing cells; B. The information packets are routed between the first and second processing groups based on the prior routing history of data or copies thereof referenced by descriptors within those packets.
selectively routing between bus means associated with each of the processing groups.
【請求項7】  A.情報パケット表示信号を搬送する
ための関連するバス手段により相互接続されるプロセッ
シングセルであって、データまたはコピーを参照するた
めの独自のディスクリプタに各々対応する0、1または
複数のデータまたはそのコピーが各々割り当てられた複
数のプロセッシングセルを有する第1および第2のプロ
セッシンググループを提供すること、ここで、前記各デ
ィスクリプタは、対応するデータが割り当てられるプロ
セッシングセルと独立でありかつその同じプロセッシン
グセルに割り当てられる他のデータ(もしあれば)に関
してはその対応するデータの割当てと独立の値を有する
ものとする、 B.前記プロセッシングセルの1または複数のもの内に
、参照を受けるデータのディスクリプタを各々含む情報
パケットを表す信号を発生し、それらの情報パケット表
示信号の1または複数のものを、該信号を発生した前記
1または複数のプロセッシングセルと関連するバス手段
に選択的に転送することと、 C.前記情報パケットを、前記第1および第2プロセッ
シンググループ間において、それらの情報パケット内の
ディスクリプタおよび前記第1プロセッシンググループ
に割り当てられるデータ間の対応にに基づいて、前記第
1および第2プロセッシンググループの各々と関連する
バス手段間において選択的にルート設定することとを含
むことを特徴とするディジタルデータ通信方法。
[Claim 7] A. Processing cells interconnected by associated bus means for conveying information packet representation signals, wherein zero, one or more data or copies thereof each correspond to a unique descriptor for referencing the data or copies; providing first and second processing groups each having a plurality of processing cells assigned thereto, wherein each descriptor is independent of and assigned to the same processing cell to which corresponding data is assigned; B. Other data (if any) assigned shall have a value independent of the assignment of its corresponding data. generating in one or more of said processing cells signals representative of information packets each including a descriptor of data to be referenced; selectively transferring to bus means associated with one or more processing cells; B. The information packets are transmitted between the first and second processing groups based on the correspondence between descriptors in the information packets and data assigned to the first processing group. selectively routing between each associated bus means.
【請求項8】  A.情報パケット表示信号を搬送する
ための関連するバス手段により相互接続されたプロセッ
シングセルであって、データまたはそのコピーを参照す
るための独自のディスクリプタに各々対応する0,1ま
たは複数のデータまたはそのコピーが各々割り当てられ
た複数のプロセッシングセルを有する第1のプロセッシ
ンググループから情報パケットを受信すること、ここで
、前記各ディスクリプタは、対応するデータが割り当て
られるプロセッシングセルと独立でありかつ同じプロセ
ッシングセルに割り当てられる他のデータ(もしあれば
)に関してはその対応するデータの割当てと独立の値を
有するものとする、 B.前記情報パケットを、その情報パケット内のディス
クリプタおよび前記第1プロセッシンググループに割り
当てられたデータ間の対応に基づいて、前記第1および
第2プロセッシンググループの対応する1つに選択的に
ルート設定することとを含み、前記各第2プロセッシン
ググループは、当該セル間において情報パケット表示信
号を搬送するための関連するバス手段により相互接続さ
れたプロセッシングセルであって、データまたはコピー
を参照するための独自のディスクリプタに各々対応する
0,1または複数のデータまたはそのコピーが各々割り
当てられた複数のプロセッシングセルを有し、そして前
記各ディスクリプタが、対応するデータが割り当てられ
るプロセッシングセルと独立でありかつ同じプロセッシ
ングセルに割り当てられる他のデータ(もしあれば)に
関してはその対応するデータの割当てと独立の値を有す
ることを特徴とするディジタル情報パケットスイッチン
グ方法。
[Claim 8] A. zero, one or more processing cells interconnected by associated bus means for conveying information packet representation signals, each corresponding to a unique descriptor for referencing the data or copies thereof; receiving information packets from a first processing group having a plurality of processing cells each assigned thereto, wherein each said descriptor is independent of and assigned to the same processing cell to which corresponding data is assigned; B. Other data (if any) assigned shall have a value independent of the assignment of its corresponding data. selectively routing the information packet to a corresponding one of the first and second processing groups based on a correspondence between a descriptor in the information packet and data assigned to the first processing group; and each second processing group includes processing cells interconnected by associated bus means for conveying information packet indicating signals between the cells, each second processing group having a unique a plurality of processing cells to which zero, one, or a plurality of data or copies thereof each corresponding to a descriptor are allocated, and each descriptor is independent of and the same processing cell as the processing cell to which the corresponding data is allocated; A method for switching digital information packets, characterized in that, with respect to other data (if any) assigned to the data, the value is independent of the assignment of its corresponding data.
【請求項9】  A.複数のプロセッシングセルを備え
、各プロセッシングセルが、情報パケットを表す信号を
転送するための関連するバス手段により接続されるプロ
セッシンググループであって、各プロセッシングセルが
、(1)データまたはコピーを参照するための独自のデ
ィスクリプタに各々対応する、該セルに割り当てられた
0、1または複数のデータまたはそのコピーを有し、(
2)参照を受けるデータまたはコピーのディスクリプタ
を含む情報パケットを表す信号の発生および受信の少な
くとも一方を行うCCU手段を備える第1および第2の
プロセッシンググループと、 B.前記第1および第2プロセッシンググループ間にお
いて情報を転送するためのRRC手段であって、前記第
1プロセッシンググループのバス手段に結合され、該バ
ス手段から情報パケットを受信するための第1の入力手
段と、(2)前記第1プロセッシンググループのバス手
段に結合され、該バス手段に情報パケットを選択的に出
力するための第1の出力手段と,(3)前記第2プロセ
ッシンググループのバス手段に結合され、該バス手段に
情報パケットを選択的に出力するための第2の出力手段
とを備える第1のRRC手段を有し、 C.該第1RRC手段が、前記第1入力手段および前記
第1入力手段、および前記第1および第2出力手段に接
続され、前記第1プロセッシンググループに割り当てら
れる少なくとも選択されたデータまたはコピーと対応す
るディスクリプタを表す信号を記憶するためのディレク
トリ手段を備え、前記第1入力手段上に受信されるパケ
ット情報を、その情報パケット内の参照されるディスク
リプタおよび前記ディレクトリ手段内のそのディレクト
リを表す信号間の対応に基づいて、前記第1および第2
出力手段の選択されたものにルート設定するルート設定
手段を備えることを特徴とするディジタルデータ通信回
路網。
[Claim 9] A. A processing group comprising a plurality of processing cells, each processing cell connected by an associated bus means for transferring signals representing packets of information, wherein each processing cell refers to (1) data or copies; having zero, one or more data or copies thereof assigned to said cell, each corresponding to a unique descriptor for (
2) first and second processing groups comprising CCU means for at least one of generating and receiving signals representative of information packets containing data or copy descriptors to which reference is made; B. RRC means for transferring information between said first and second processing groups, said first input means being coupled to said first processing group bus means for receiving information packets from said bus means; (2) first output means coupled to the bus means of the first processing group for selectively outputting information packets to the bus means; and (3) first output means coupled to the bus means of the second processing group. B. a first RRC means coupled to a second output means for selectively outputting information packets to the bus means; The first RRC means is connected to the first input means and the first input means and the first and second output means, and a descriptor corresponding to at least selected data or copies assigned to the first processing group. a correspondence between a referenced descriptor in the information packet and a signal representing the directory in the directory means; Based on the first and second
1. A digital data communications network comprising: route setting means for setting a route to a selected one of the output means.
JP3135983A 1990-05-10 1991-05-10 Dynamic packet route setting circuit network Withdrawn JPH04230146A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US521798 1990-05-10
US07/521,798 US5282201A (en) 1987-12-22 1990-05-10 Dynamic packet routing network

Publications (1)

Publication Number Publication Date
JPH04230146A true JPH04230146A (en) 1992-08-19

Family

ID=24078211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3135983A Withdrawn JPH04230146A (en) 1990-05-10 1991-05-10 Dynamic packet route setting circuit network

Country Status (2)

Country Link
JP (1) JPH04230146A (en)
CA (1) CA2042610C (en)

Also Published As

Publication number Publication date
CA2042610C (en) 2002-07-30
CA2042610A1 (en) 1991-11-11

Similar Documents

Publication Publication Date Title
US5341483A (en) Dynamic hierarchial associative memory
US5282201A (en) Dynamic packet routing network
US5226039A (en) Packet routing switch
EP0593100B1 (en) Multiprocessor digital data processing system and method of operating said system
US5809527A (en) Outboard file cache system
EP0539012B1 (en) Improved digital processor with distributed memory system
US5251308A (en) Shared memory multiprocessor with data hiding and post-store
US5918248A (en) Shared memory control algorithm for mutual exclusion and rollback
JPH05501041A (en) High speed packet switching device and method
EP0130349A2 (en) A method for the replacement of blocks of information and its use in a data processing system
EP0864982A1 (en) Digital data processor with improved checkpointing and forking
US20030200394A1 (en) Cache memory arrangement and methods for use in a cache memory system
JPH086854A (en) Outboard-file-cache external processing complex
CN106021147A (en) Storage device for presenting direct access under logical drive model
EP0533447B1 (en) Digital data processor with improved paging
EP0404560B1 (en) multiprocessor system and method
JPH04230146A (en) Dynamic packet route setting circuit network
JP3416159B2 (en) Dynamic hierarchical associative memory
EP0458552B1 (en) Dynamic hierarchical routing directory organization associative memory
JPH05298190A (en) Defect Containment System for Multiprocessor with Shared Memory

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980806