JP3416159B2 - Dynamic hierarchical associative memory - Google Patents

Dynamic hierarchical associative memory

Info

Publication number
JP3416159B2
JP3416159B2 JP15607391A JP15607391A JP3416159B2 JP 3416159 B2 JP3416159 B2 JP 3416159B2 JP 15607391 A JP15607391 A JP 15607391A JP 15607391 A JP15607391 A JP 15607391A JP 3416159 B2 JP3416159 B2 JP 3416159B2
Authority
JP
Japan
Prior art keywords
ring
packet
data
descriptor
directory
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.)
Expired - Fee Related
Application number
JP15607391A
Other languages
Japanese (ja)
Other versions
JPH0619784A (en
Inventor
スティーブン・ジェイ・フランク
ポール・エイ・ビンダ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/531,506 external-priority patent/US5341483A/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH0619784A publication Critical patent/JPH0619784A/en
Application granted granted Critical
Publication of JP3416159B2 publication Critical patent/JP3416159B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

An associative memory having an associativity of 2q, where (q) is an integer greater than or equal to one, is provided for storing information relating to data. The memory includes (n) tables, each having a plurality of entries for storing signals associated with data descriptors having a common set portion and common other portions. The entries of table (k), where (k) represents successive integers between (1) and (n-1), store pointers to respective entries of table (k+1). The entries of table (1) are arranged for access as a function of the common set portion and the common portion (1) with which they are respectively associated. The entries of the other tables are arranged for access as a function of (i) a value of the common set portion, (ii) a value of a pointer-representative signal of the respective table (m-1) entry means, and (iii) the value of the common portion(m) with which such table(m) entry means is respectively associated. The entries of table(n) store information relating to one or more data having a common portion(n).

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ディジタルデータ通信
回路網に関し、特定すると、例えば高速分散多重処理シ
ステムと使用するためのパケット切替え回路網に関す
る。
FIELD OF THE INVENTION This invention relates to digital data communication circuitry and, more particularly, to packet switching circuitry for use with, for example, high speed distributed multiprocessing systems.

【0002】[0002]

【従来技術】多重命令/多重データ(MIMD)並列処
理コンピュータは、アドレススペース、メモリシステム
及びメモリ階層に従って分類出来る。前者に関しては、
システムは、単一又は多重のアドレススペースを利用す
るものとして特徴づけられよう。単一アドレススペース
は、一般に共有メモリと称され、任意のメモリアクセス
の一部として暗示通信を含む。多重の専用アドレススペ
ースは、例えばメセージ受渡しによる明示的通信を含
む。
Multiple instruction / multiple data (MIMD) parallel processing computers can be classified according to address space, memory system and memory hierarchy. Regarding the former,
The system will be characterized as utilizing a single or multiple address spaces. The single address space is commonly referred to as shared memory and includes implicit communication as part of any memory access. Dedicated address space multiplexing includes explicit communication eg by menu Tsu message delivery.

【0003】メモリシステムは、集中化又は分散化とし
て特徴づけられる。集中化メモリに基づくシステムにお
いては、共通のメモリ要素は中央に位置づけられ、任意
の物理的メモリ位置へのアクセスタイムがてのプロセ
ッサに対して同じになるようにされる。他方、分散型メ
モリシステムにおいては、システムメモリはモジュール
に分割され、若干のものが各プロセッサの近傍に位置づ
けられる。
Memory systems are characterized as centralized or decentralized. In a system based on centralized memory, a common memory element is positioned in the center, the access time to any physical memory location is to be the same for the processor of all hands. On the other hand, in a distributed memory system, the system memory is divided into modules, some located near each processor.

【0004】メモリ階層は、スタティック型、混合型又
はダイナミック型として特徴づけられる。1つの階層が
スタティックとして分類されるが、この型にあっては、
システムデータは、局部的及び/又は広帯域的メモリユ
ニット間で分割され、各データは、少なくとも一部はそ
れが記憶されるユニットの場所に基づいて明示的に割り
当てられたアドレスを有する。他方、完全にダイナミッ
ク型のシステムにおいては、個々のデータは、データに
アクセスするための物理的メモリ位置に基づくアドレス
は割り当てられない。混合型メモリ階層は、スタティ
クの局部的及び/又は広帯域的メモリを含が、この型
では、メモリ階層がダイナミック(例えばキャッシュメ
モリ)であり、他の部分がスタティックである。
The memory hierarchy is static tee click type, characterized as a mixed or dynamic. Although one hierarchy is classified as <br/> static tee click, in this type,
System data is divided between local and / or broadband memory units, each data having an address explicitly assigned based at least in part on the location of the unit in which it is stored. On the other hand, in a fully dynamic system, individual data are not assigned an address based on physical memory location to access the data. Mixed memory hierarchy, local and / or broadband manner memory including a static tee Tsu <br/> click is in this type, a memory hierarchy is dynamic (e.g., cache memory), the other part is static tee It is.

【0005】従来技術に依ると、単一のアドレススペー
スすなわち共有メモリが集中化態様で組織化された多数
のアーキテクチャが提供されている。かかるシステムの
プロセッシングユニットは、高帯域共有バス又はスイッ
チング回路網を介して通信する。この種のアーキテクチ
ャでの1つの問題は、共有メモリがボトルネックを形成
し、比較的少数のプロセッサしか存在しない例を除いて
システムの特性を阻害することである。
The prior art provides a number of architectures in which a single address space or shared memory is organized in a centralized manner. The processing units of such systems communicate via a high bandwidth shared bus or switching network. One problem with this type of architecture is that shared memory forms a bottleneck that hinders system performance except in cases where there are relatively few processors.

【0006】この問題を避けるため、フランク等の米国
特許第4,622,631号は、各々関連するプライベートのメ
モリすなわちキャッシュを有する複数のプロセッサが、
主メモリ要素に含まれるデータを共有するマルチプロセ
ッシングシステムを開示している。その共通メモリ内の
データはブロックに仕切られ、その各々が、主メモリ及
び複数のプロセッサのいずれか1つによって所有出来
る。データブロックの現在の所有者は、そのブロックに
対する正しいデータを有するといわれる。
To avoid this problem, Frank et al., US Pat. No. 4,622,631, discloses a plurality of processors, each with an associated private memory or cache.
A multi-processing system for sharing data contained in a main memory element is disclosed. The data in the common memory is partitioned into blocks, each of which can be owned by main memory and any one of a plurality of processors. The current owner of a data block is said to have the correct data for that block.

【0007】上述の特許に示唆される解決法は、ボトル
ネックなしに支持出来るプロセッサの数の増大を許容す
るが、集中化メモリシステムは増減可能でない。
The solution suggested in the above patent allows an increase in the number of processors that can be supported without a bottleneck, but a centralized memory system cannot scale.

【0008】増減可能性を達成するためにには、分散型
メモリシステムを使用しなければならない。これは、プ
ロセッサ及びメモリモジュールの数に比例してメモリへ
の並列高帯域アクセスを理論的に大きくすることが出来
るからである。従来技術に依ると、この種のシステム
対して2つの代替的プログラミングモデルが提供され
る。すなわち、多重アドレススペース形式と単一アドレ
ススペースモデルである。両形式とも、コンピュータシ
ステムデザイナ及びプログラマに対してジレンマを与え
る。
In order to achieve scalability, a distributed memory system must be used. This is because parallel high bandwidth access to memory can theoretically be increased in proportion to the number of processors and memory modules. The prior art provides two alternative programming models for this type of system . A multiple address space format and a single address space model. Both forms present a dilemma for computer system designers and programmers.

【0009】プログラマの観点から見ると、単一アドレ
スアーキテクチャは、データの移動がメモリ動作におい
て暗示的であるから、簡単なプログラミングモデルであ
る。他方、多重アドレスアーキテクチャにおいては、1
つの多重アドレスアーキテクチャに対して明示的メッセ
ージ受渡しが必要とされる。更に、多重アドレスアーキ
テクチャは、正しい並列プログラムを生成するために、
明示的データ局所化、明示的メモリ割当て及び割当て解
除、明示的複写及び明示的コヒーレンシを必要とす
る。これらの側面は、単一アドレスアーキテクチャで理
論的に暗示的に処理される。
From the programmer's point of view, the single address architecture is a simple programming model because the movement of data is implicit in memory operations. On the other hand, in a multiple address architecture, 1
Explicit message passing is required for one multiple address architecture. In addition, the multi-address architecture allows the correct parallel program to be generated by
Explicit data localization, explicit memory allocation and deallocation, require explicit replication and explicit coherency over. These aspects are theoretically implicitly addressed by the single address architecture.

【0010】ハードウェア透視図から従来技術において
設計者により見出されるように、単一アドレススペース
すなわち論理的に共有されるメモリへの同時的アクセス
は、極度に高価である。これは、スイッチング回路網の
複雑性、並びにメモリコヒーレンシーに対する一般的な
高い性能での解決法の欠如及びその潜在的複雑性に起因
する。従って、Intel/IPSCのような大抵の増減可能な分
散型メモリシステムは、歴史的に多重アドレスアーキテ
クチャで実施した。
Simultaneous access to a single address space or logically shared memory, as found by designers in the prior art from a hardware perspective, is extremely expensive. This is due to the lack and potential complexity of the solution of a general high performance against complexity of the switching network, and the memory coherency over. Therefore, most scalable distributed memory systems such as Intel / IPSC have historically implemented with multiple address architecture.

【0011】単一アドレスアーキテクチャの性能は、
モリ階層に依存する。スタティックメモリ階層は、プロ
ラマが、多重アドレスアーキテクチャに類似の態様で
最適の性能を得るようにデータの移動を明示的に管理す
ることを必要とする。スタティックメモリ階層を使用し
て単一アドレスアーキテクチャを実施する分散型メモリ
システムの2つの例は、BBNバタフライ及びIBM
RP3である。この種の実施は、プログラマがコヒーレ
ンシを明示的に管理することを必要とする。
[0011] of a single address architecture performance, main
Depends on Mori hierarchy. Static memory hierarchy, pro <br/> grayed Lama, requires the explicitly manage the movement of data to obtain optimum performance in a manner similar to the multiple address architecture. Distributed memory that implements a single address architecture using a static memory hierarchy
Two examples of systems are BBN Butterfly and IBM
It is RP3. This type of implementation, a programmer is required to explicitly manage coherence <br/> Nshi over.

【0012】混合型階層は、必然的に増減可能性を制限
する通信ボトルネックを含が、なおプログラマがデー
タの移動を部分的に管理することを必要とする。1つの
この種の階層的手法は、Wilson Jr.等の英国
特許第2,178,205号に開示されているが、この特許にあ
っては、マルチプロセッシングシステムは、第1のバス
を介して相互に結合された分散型キャッシュメモリ要素
を備えるといわれる。第1バス及び更に高レベルのキャ
ッシュ又は主システムメモリのいずれかに取り付けられ
る第2のより高レベルのキャッシュメモリが、もしあれ
ばキャッシュ内の各メモリ位置のコピーを維持し、シス
テム主メモリの方は、それ以下のキャッシュの各メモリ
位置のコピーを維持する。Wilson Jr.等のプ
ロセッサは、データの変更されたコピーをそれ自身の専
用のキャッシュから関連するより高レベルのキャッシュ
及びシステム主メモリに伝送し、同時に、その新たに変
更されたデータのそれ自身のコピーを無効化するように
他のキャッシュに報知する。
[0012] Mixed hierarchy, communication bottlenecks that limit inevitably decrease possibilities including still programmer needs to be partially manage data movement. One such hierarchical approach is described by Wilson Jr. U.S. Pat. No. 2,178,205, et al., In which the multiprocessing system is said to comprise distributed cache memory elements coupled to each other via a first bus. A second higher level cache memory, attached to either the first bus and higher level cache or main system memory, maintains a copy of each memory location in the cache, if any, in the system main memory. Maintains a copy of each memory location below the cache. Wilson Jr. Processor, etc., transmits the modified copy of the data from its own dedicated cache to the associated higher level cache and system main memory, while at the same time invalidating its own copy of the newly modified data. Notify other caches so that they will change.

【0013】従来技術により提供される解決法に拘わら
ず、どれも、高性能、完全ダイナミック型で、一貫した
共有メモリプログラミング環境を制限されない増減可能
性とともに達成したものはない。
Despite the solutions provided by the prior art, none have achieved a high performance, fully dynamic, consistent shared memory programming environment with unlimited scalability.

【0014】本発明の一般的な目的は、この種のシステ
ムを提供するものであり、更に特定すると共有メモリア
ドレッシングモデル及び分散型システムを使用し且つ
コヒーレンシが改善された多重命令/多重データ並列
処理システムを提供することである。
[0014] A general object of the present invention is to provide such a system were further using a shared memory addressing model and a distributed system and to identify and <br/> coherency over improvement multiplexing It is to provide an instruction / multiple data parallel processing system.

【0015】本発明の他の特定の目的は、共有メモリア
ドレスモデルを利用する分散型システム内において高性
能を達成する完全にダイナミックなメモリ階層を提供す
ることである。
Another particular object of the present invention is to provide a fully dynamic memory hierarchy that achieves high performance in a distributed system utilizing a shared memory address model.

【0016】本発明の更に他の特定の目的は、改善され
たディジタルデータ通信回路網を提供することである。
Yet another particular object of the present invention is to provide improved digital data communication circuitry.

【0017】本発明の更に他の目的は、例えば高速度分
散型マルチプロセッシングシステムで使用するためのパ
ケットスイッチ回路網を提供することである。
Yet another object of the present invention is to provide a packet switch network for use in, for example, a high speed distributed multiprocessing system.

【0018】本発明の更に他の特定の目的は、ディジタ
ル通信回路網を介してデータ及びデータ要求をルート設
定するのに使用するための改良されたスイッチング機構
を提供することである。
Yet another particular object of the present invention is to provide an improved switching mechanism for use in routing data and data requests through digital communication circuitry.

【0019】[0019]

【発明の概要】本発明のこれら及びその他の目的は、例
えば多重処理コンピュータシステムとともに使用するた
めの改善されたディジタルデータ通信回路網、パケット
スイッチ及び連想ディレクトリを提供することにより達
成される。
SUMMARY OF THE INVENTION These and other objects of the invention are accomplished by providing improved digital data communication circuitry, packet switches and associative directories, for use with, for example, multiprocessing computer systems.

【0020】本発明の1側面に依ると、本発明のシステ
ムは、2群(グループ)のプロセッシングセル、及びパ
ケット内において参照されるデータ及び前記プロセッシ
ンググループの第1のものにより要求されるデータ又は
該第1のものに割当てられるデータ、あるいは前記プロ
セッシンググループ間においてルート設定されるデータ
の識別に基づいてこれらグループ間においてディジタル
データ情報パケットを転送するルート設定セルとを備え
る。
According to one aspect of the invention, the system of the invention comprises two groups of processing cells, and the data referred to in a packet and the data required by the first of said processing groups or A routing cell that transfers digital data information packets between the groups based on the identification of the data assigned to the first one or the data routed between the processing groups.

【0021】各プロセッシンググループは、関連するグ
ループバスを介してデータパケット及び要求パケットを
転送することにより通信する複数のプロセッシングセ
ル、例えば中央プロセッシングユニット及び関連する局
部キャッシュメモリを備える。個々のセルは、それと関
連して、独特のディスクリプタにより識別可能なデータ
又はデータコピーを有する。プロセッシングセル内のキ
ャッシュ制御ユニットは、データ要求パケット並びにか
かる要求に応答してデータ又はデータコピーを提供する
パケットを発生する。各パケットは、要求又は供給され
るデータに対応するディスクリプタを含む。
Each processing group comprises a plurality of processing cells, for example a central processing unit and an associated local cache memory, which communicate by transferring data packets and request packets via an associated group bus. Each cell has associated with it data or data copies identifiable by a unique descriptor. The cache control unit in the processing cell generates data request packets as well as packets that provide data or data copies in response to such requests. Each packet contains a descriptor corresponding to the requested or supplied data.

【0022】ルー設定要素は、第1プロセッシンググ
ループのバスに接続された第1及び第2の入力及び出力
部並びに第2プロセッシンググループのバスに接続され
た第2の入力及び出力部とを備えるが、これらの入力及
び出力部はそれらのプロセッシンググループのセルに対
してパケットを送受するものである。第1及び第2入力
に受信される要求及びレスポンスパケットは、それらの
パケットにおけるディスクリプタにより識別されるデー
タが第1プロセッシンググループのセルに割り当てられ
ているかどうかに従って出力の一方又は両者にルート設
定される。
The route setting element, and a second input and an output unit connected to the bus of the first and second input and output unit and the second processing group are connected to the bus of the first processing group However, these inputs and outputs send and receive packets to and from cells in their processing groups. The request and response packets received on the first and second inputs are
It is routed to one or both outputs depending on whether the data identified by the descriptor in the packet is assigned to a cell of the first processing group.

【0023】ルート設定セルにより受信されるパケット
をどこへルート設定すべきかの決定を容易にするため、
連想メモリベースのディレクトリが、第1プロセッシン
グセルグループのセルに割当てられたデータに対応する
ディスクリプタのリストを記憶する。ディレクトリは、
更に、それらのセルにより要求され処理のため第2プロ
セッシンググループにルート設定されるディスクリプタ
のリスト、並びに第2のプロセッシンググループのセル
により要求され、処理のため第1プロセッシンググルー
プにルート設定されるディスクリプタのリストを記憶す
る。ディレクトリは、これらのディスクリプタととも
に、データのアクセス状態についての情報を維持する。
これは、例えば、ペンディング状態に加えて、無効、リ
ードオンリー、非排他的所有権、排他的所有権、及びア
トミック状態を含む。
To facilitate the determination of where to route the packet received by the routing cell,
An associative memory-based directory stores a list of descriptors corresponding to the data assigned to the cells of the first processing cell group. The directory is
Furthermore, a list of descriptors required by those cells and routed to the second processing group for processing, as well as descriptors required by cells of the second processing group and routed to the first processing group for processing. Remember the list. Together with these descriptors, the directory maintains information about the access status of data.
This includes, for example, invalid, read-only, non-exclusive ownership, exclusive ownership, and atomic status in addition to pending status.

【0024】本発明の関係する側面に従うと、上述の第
2プロセッシンググループそれ自体が、複数の他のプロ
セッシンググループを含むが、該グループは、それ自
体、ルート設定セル及び回路網バスを介して相互接続さ
れており、各々、グループ内バスにより相互接続される
複数のプロセッシングセルを備えている。例示として、
2レベルシステムにおいて、各他のグループは、個々の
グループバスに対して情報パケットを選択的に送受する
ルート設定セルと関連づけられている。以下においてレ
ベル:1バスとして言及されるより高レベルのバスが、
これらの他のルート設定セルを、第1プロセッシンググ
ループと関連するルート設定セルと接続する。
According to a related aspect of the invention, the above-mentioned second processing group itself comprises a plurality of other processing groups, which groups themselves are interconnected via a routing cell and a network bus. They are connected and each comprises a plurality of processing cells interconnected by an intra-group bus. As an example,
In a two-level system, each other group is associated with a routing cell that selectively sends and receives information packets to and from the individual group buses. A higher level bus, referred to below as the Level 1 bus,
These other routing cells are connected with the routing cells associated with the first processing group.

【0025】本発明に依れば、他の関連する側面とし
て、各々、相互接続プロセッシングセルより成る複数の
転送セグメントを含む複数のパケット転送レベルを有す
る階層的ディジタルデータ通信回路網が提供される。セ
ルは、各々独自のディスクリプタにより識別可能なデー
タ又はデータコピーが割当てられている。セルは又、そ
れぞれのディスクリプタによりデータを参照する要求パ
ケット及び応答パケットを発生し得るキャッシュ制御ユ
ニットを備える。転送セグメントの数は、各々のより高
位の転送レベルにおいて減じ、最高レベルにては1つの
セグメントしかない。
In accordance with another aspect of the present invention, there is provided a hierarchical digital data communication network having a plurality of packet transfer levels each including a plurality of transfer segments of interconnect processing cells. Data or data copy identifiable by a unique descriptor is assigned to each cell. The cell also comprises a cache control unit that can generate request and response packets referencing the data by their respective descriptors. The number of transfer segments is reduced at each higher transfer level, with only one segment at the highest level.

【0026】回路網内において、ルート設定セルは、各
レベルのプロセッシングセルとより高レベルのプロセッ
シングセルとの通信を可能にする。転送レベルセグメン
ト間において情報パケットを転送するルート設定セル
は、当該パケットにおいて要求されるデータと下位の転
送セグメントのセルとの関連に基づいて要求パケットを
選択的にルート設定する。詳しくいうと、これらのルー
ト設定セルは、より高レベルの転送セグメントに、派生
セグメントと関連しないデータを要求するパケットをル
ート設定し、他方低位のセグメントに、下位セグメント
と関連するデータを要求するパケットをルート設定す
る。
Within the network, the routing cells enable communication between each level of processing cells and higher level processing cells. The routing cell that transfers the information packet between the transfer level segments selectively routes the request packet based on the association between the data requested in the packet and the cells of the lower transfer segment. In particular, these routing cells route packets requesting data that is not associated with a derived segment to higher level transport segments, while packets requesting data associated with lower segments to lower segments. Route.

【0027】本発明の他の側面に従うと、要求パケット
は、要求を発生したプロセッシングセルを識別する要求
者(リクエスタ)IDフィールドを含んでよい。その要
求に応答を発生するセルが、リクエスタIDを応答パケ
ットにコピーする。ルート設定セルは、リクエスタID
フィールドの値に従ってリクエスタにかかる応答パケッ
トを帰還ルート設定する。
According to another aspect of the invention, the request packet may include a requester (requester) ID field that identifies the processing cell that made the request. The cell that generates the response to the request copies the requester ID into the response packet. The routing cell is the requester ID
According to the value of the field, the response packet for the requester is set as the return route.

【0028】加えて、ルート設定は、先行の非関連のパ
ケット、すなわち他のセルにより発生される要求パケッ
トにおいて要求されるデータを含む応答パケットを、1
つの要求中のプロセッシングセルにルート設定出来る。
かくして、例えば、2つのプロセッシングセルにより独
立的に要求されるデータのリードオンリーコピーを含む
応答パケットが、それらの一方のみのリクエスタIDが
応答パケットに含まれていることに拘りなく、両者にル
ート設定され得る。
In addition, the routing sets the response packet containing the requested data in the preceding unrelated packet, ie the request packet generated by another cell.
You can route to one requesting processing cell.
Thus, for example, a response packet containing a read-only copy of the data independently requested by two processing cells may be routed to both regardless of the requester ID of only one of them being included in the response packet. Can be done.

【0029】本発明のこれら及びその他の目的及び利点
は以下の図面を参照して行なった説明から明らかとなろ
う。
These and other objects and advantages of the present invention will be apparent from the description given below with reference to the drawings.

【0030】[0030]

【実施例】梗概 本発明に従って構成されたスイッチング回路網を利用す
る好ましいディジタルデータ処理システムは、リング状
バスにより0、1又は複数のプロセッシングセルに結合
される1又は複数のルート設定相互接続部を各々含むリ
ング階層に配置された複数のプロセッシングセルを備え
る。相互接続部をリンクするルート設定セルは、リング
間において情報パケットを選択的に転送する伝送路を提
供する。ルート設定セル内のディレクトリが、関連する
セルを介して転送されるデータ(及び要求)を追跡し、
それにより後続のパケットの後続のルート設定のためル
ート設定路を決定する。
EXAMPLES Preferred digital data processing system utilizing a switching network constructed in accordance with the synopsis invention, one or more Routing interconnect is coupled to 0, 1 or more processing cells by ring bus It comprises a plurality of processing cells arranged in a respective ring hierarchy. Routing cells that link the interconnects provide a transmission path that selectively transfers information packets between the rings. A directory in the routing cell keeps track of the data (and requests) transferred through the associated cell,
Thereby, a routing path is determined for subsequent routing of subsequent packets.

【0031】1つの好まし実施例において、プロセッ
シングセルは、各々物理的データ及び制御信号ストア、
ディレクトリ及び制御要素を有する局部メモリ要素、す
なわちキャッシュと結合された中央処理ユニットを備え
る。セル群は、単一方向セル間バスリングに沿って結合
され、セグメントと称されるユニットを形成する。これ
らのセグメントは、一緒に、「情報転送レベル:0」と
称されるより大きなユニットを形成する。
[0031] In one preferred not examples, processing cell, each physical data and control signals store,
It comprises a central processing unit coupled with a local memory element having a directory and control elements, i.e. a cache. Cells are joined along a unidirectional inter-cell bus ring to form units called segments. These segments together form a larger unit called "Information Transfer Level: 0".

【0032】異なるレベル:0セグメントのセル間の通
信は、より高位の情報転送レベル、例えば情報転送レベ
ル:1及び情報転送レベル:2を介して実施される。こ
れらのより高位のレベルそれ自体は、単一方向バスリン
グを介して結合される複数のルート設定セルより各々成
る1又は複数のセグメントより構成される。各ルート設
定セルは、次の低位の情報転送レベルの関連するセグメ
ントと結合される。これらの結合されたより低位のセグ
メントは、「下位」と称される。
Communication between cells of different level: 0 segments is carried out via higher information transfer levels, eg information transfer level: 1 and information transfer level: 2. These higher levels themselves consist of one or more segments, each consisting of a plurality of routing cells coupled via a unidirectional bus ring. Each routing cell is associated with an associated segment of the next lower information transfer level. These combined lower segments are referred to as "lower".

【0033】各情報転送レベルは、次のより低位のレベ
ルより少ないセグメントを含むシステムの最高位のレ
ベルの単一のセグメントは別として、信号は、各情報転
送レベルのセグメント間においてより高位のレベルのセ
グメントを介して転送される。
Each information transfer level contains fewer segments than the next lower level . Aside from a single segment at the highest level of the system, the signal is transferred through the higher level segments between each information transfer level segment.

【0034】ルート設定は、各々、下位セグメントのメ
モリ要素に割り当てられたデータに対応するディスクリ
プタのディレクトリを含む。一例として、レベル:0セ
グメントをレベル:1セグメントに接続するルート設定
セルは、そのレベル:0セグメントのセルに割り当てら
れたてのデータのディレクトリを含み、他方レベル:
1セグメントをレベル:2セグメントに接続するルート
設定は、そのレベル:1セグメントに接続されるレベ
ル:0セグメントのてのセルに割り当てられたデータ
のディレクトリを含む。
The route settings each include a directory of descriptors corresponding to the data assigned to the memory elements of the lower segment. As an example, level: 0 segments Level: 1 route connecting the segment set cell, the level of: include 0 segment directory data of all the hand assigned to the cells of the other levels:
1 segment level: Routing connecting two segments, that level: including 0 directory of data allocated to the cells of the entire hand segments: one segment connected to the level.

【0035】ディレクトリは、ディスクリプタととも
に、下位のセグメントに割り当てられたデータのアクセ
ス状態を記憶する。これらの状態としては、例えば、所
有権状態、リードオンリー状態、及び無効状態等があ
る。所有権状態は、アトミック状態と同様に、局部的プ
ロセッサによってのみ変更され得るデータと関連づけら
れる。他方、所有権状態は、アトミック状態データと異
なり、他のプロセッシングセルにより--例えば、リード
オンリーコピーを発生するために--アクセスし得る。リ
ードオンリー状態は、局部中央プロセッシングユニット
により、変更出来ないが、読み取ることが出来るデータ
と関連づけられる。無効状態は、無効データコピーと関
連づけられる。
The directory stores, together with the descriptor, the access state of the data assigned to the lower segment. These states include, for example, an ownership state, a read-only state, and an invalid state. The ownership state, like the atomic state, is associated with data that can only be modified by the local processor. On the other hand, the ownership state, unlike the atomic state data, can be accessed by other processing cells-for example, to generate a read-only copy. The read-only state is associated with data that cannot be changed but can be read by the local central processing unit. The invalid state is associated with the invalid data copy.

【0036】この点で、本発明に従って構成される好ま
しいディジタルデータ処理システムは、主メモリ要素、
すなわち多重プロセッシングセルに結合されそれにより
共有されるメモリ要素を利用しないことが認められよ
う。どちらかというと、データは、排他的バス及び共有
バス上において、これらのプロセッサの各々と関連する
局部メモリ要素間に分配される。任意の1つのプロセッ
シングセルに排他的に記憶されるデータに対する変更
は、回路網を介して他のプロセッシングセルに通信され
るを要しない。この結果、セルが動的に共有するデータ
のみが回路網上において、すなわちリングバス及びルー
ト設定セルに沿って伝送され、それによりバスの競合及
びボトルネックを低減する。
In this regard, the preferred digital data processing system constructed in accordance with the present invention includes a main memory element,
That is, it will be appreciated that it does not utilize memory elements that are coupled to and shared by multiple processing cells. Rather, data is distributed on the exclusive and shared buses between the local memory elements associated with each of these processors. Changes to data stored exclusively in any one processing cell need not be communicated to other processing cells via circuitry. As a result, only the data that the cells dynamically share is transmitted on the network, ie along the ring bus and routing cells, thereby reducing bus contention and bottlenecks.

【0037】ルート設定セルディレクトリは又、関連す
るルート設定セルによりルート設定されるパケットにお
いて要求されるデータに対応するディスクリプタを記憶
する。上述のように、ディレクトリは、これらのディス
クリプタとともに、データの要求されたアクセス状態を
指示する継続中の情報データを記憶する。
The routing cell directory also stores descriptors corresponding to the data required in the packets routed by the associated routing cell. As mentioned above, the directory, along with these descriptors, stores ongoing information data that indicates the requested access state of the data.

【0038】上述の点に鑑みて、ルート設定セルディレ
クトリの内容--すなわち、割り当てられたデータ及び継
続中の要求リスト--は、プロセッシンググループ間にお
いてルート設定されたデータ及びデータ要求のルート設
定の従来の履歴を反映する。
In view of the above, the contents of the routing cell directory--ie, the allocated data and the ongoing request list--are the routes of the data and data requests routed between the processing groups. Reflect the conventional history.

【0039】ルート設定セルは、ディスクリプタ及び状
態のディレクトリを使用して、レベルセグメントに沿っ
て移動しつつある特定の情報パケットが、パケットが発
せられたセグメント内の他のプロセッシングセルに前方
に通されるべきか、代わりに他のセグメントに向かって
上向き又は下向きにルート設定されるべきかを決定す
る。
A routing cell uses descriptors and a directory of states to allow a particular packet of information traveling along a level segment to be forwarded to other processing cells in the segment from which the packet was issued. It should be routed upwards or downwards towards other segments instead.

【0040】このルート設定機能を更に理解するため
に、本発明に従って構成された好ましい多重処理システ
ムにおいては、データアクセス要求が、可能な時にそれ
らを発したプロセッシングセル内で処理されることが認
められよう。詳述すると、各モニタと結合されるコント
ローラは、セルの内部バスを監視し、要求を局部キャッ
シュディレクトリにリストされるディスクリプタと比較
することによって、局部プロセッサ要求に応答する。も
しも、キャッシュそれ自体から整合するデータが見出さ
れると、該データは内部バスに沿って要求中のプロセッ
サに帰還伝送される。
To further understand this routing function, it will be appreciated that in the preferred multiprocessing system constructed in accordance with the present invention, data access requests are processed in the processing cell which originated them whenever possible. See. Specifically, the controller associated with each monitor responds to local processor requests by monitoring the cell's internal bus and comparing the requests with descriptors listed in the local cache directory. If matching data is found from the cache itself, the data is sent back along the internal bus to the requesting processor.

【0041】データ要求が局部的に解決出来ない場合、
プロセッシングセルは情報要求パケットを発生し、そし
てこれは局部キャッシュ制御ユニットを介して局部リン
グバスに転送される。そのパケットがリングに沿って移
動する時、リクエスタに隣接するプロセッシングユニッ
トの制御要素がそれ自身のディレクトリをチェックし、
要求されるデータを(もしあれば)応答パケットに通
す。
If the data request cannot be resolved locally,
Processing cell generates an information request packet, and this is forwarded to the local ring bus through a local cache control unit. As the packet travels along the ring, the control element of the processing unit adjacent to the requester checks its own directory,
Pass the requested data (if any) in the response packet.

【0042】未解決の要求が、要求中のプロセッシング
セルが属するセグメントのルート設定要素を通過する
時、その要素もそのディレクトリをチェックする。もし
も、そのディレクトリが、要求されるデータが適正なア
クセス状態で局部リングに存在することを示すと、ルー
ト設定セルは、要求パケットを局部リングバスに沿って
継続せしめる。もしも存在しないと、ルート設定セル
は、パケットを抽出し、それを関連するレベル:1セグ
メントに通す。未解決の要求パケットは同様な態様でレ
ベル:1セグメントに沿って移動する、すなわち、関連
するレベル:1ルート設定セルのディレクトリと比較さ
れる。これらのディレクトリの1つが、下位のレベル:
0セグメントにある適正なアクセス状態での要求される
データをリストしていれば、要求はそのセグメントに通
される。他方。要求が階層のより高レベル(もしあれ
ば)に通してもよいし、未解決のリクエスタに戻しても
よい。
When an outstanding request passes through the routing element of the segment to which the requesting processing cell belongs, that element also checks its directory. If the directory indicates that the requested data is on the local ring with the proper access conditions, the routing cell causes the request packet to continue along the local ring bus. If not present, the routing cell extracts the packet and passes it on the associated Level: 1 segment. Unresolved request packets travel along the Level: 1 segment in a similar manner, ie, compared to the directory of the associated Level: 1 routing cell. One of these directories is at a lower level:
If you have listed the requested data in the correct access state in the 0 segment, the request is passed to that segment. On the other hand. The request may be passed to a higher level of the hierarchy (if any) or returned to the outstanding requestor.

【0043】要求されるデータを含むパケットとは、異
なる機構により要求中のセルに戻るようにルート設定さ
れる。第1の機構は、要求中のセルのアドレス又はID
に依存する。ここで、各要求中のセルは、その要求パケ
ット内にそのセルを独自的に識別するIDを含んでい
る。そのパケットが応答セルに到達すると、そのセル
は、リクエスタIDをデータ及び対応するディスクリプ
タとともに応答パケット中にコピーする。応答パケット
がセグメントリングに沿って移動する時、ルート設定セ
ルは、リクエスタIDを試験し、要求中のセルが下位又
は親セグメントにあるかどうかを決定し、パケットを相
応にルート設定する。
Packets containing the requested data are routed back to the requesting cell by a different mechanism. The first mechanism is the address or ID of the requesting cell.
Depends on. Here, each requesting cell includes an ID uniquely identifying the cell in its request packet. When the packet arrives at the response cell, the cell copies the requester ID along with the data and corresponding descriptor into the response packet. As the reply packet travels along the segment ring, the routing cell tests the requester ID to determine if the requesting cell is in a lower or parent segment and routes the packet accordingly.

【0044】プロセッシングセルにより要求されるがそ
れらの要求に応答して詳細には発生されないデータを含
む応答パケットと関連して、第2の機構が使用される。
一例として、この機構は、2又はそれ以上の要求中のセ
ルが、遠隔のセル内に保持される特定のデータに対して
リードオンリーコピー要求を発生する場合に適用され
る。
A second mechanism is used in connection with response packets containing data required by processing cells but not specifically generated in response to those requests.
As an example, this mechanism is applied when two or more requesting cells issue read-only copy requests for particular data held in remote cells.

【0045】本発明の好ましい実施例に従い、これらの
要求の全部ではないが少なくとも若干のものがそのデー
タのコピーを有するプロセッシングセルに達することを
回路網が阻止するものと仮定すると、応答セルは、それ
に達した要求パケットのリクエスタIDのみを担持する
応答パケットを発生する。
In accordance with the preferred embodiment of the present invention, assuming that the circuitry prevents at least some, but not all, of these requirements from reaching the processing cell that has a copy of the data, the responding cell is A response packet carrying only the requester ID of the request packet that reached it is generated.

【0046】応答パケットが回路網に沿ってルート設定
される時、ルート設定セルは、パケットのディスクリプ
タ及びアクセス情報状態をそれらのディレクトリ内の継
続中の要求エントリと比較する。その比較により、ルー
ト設定セルが、パケット内の形式のデータ要求をに受
信したことが明らかになると、そのパケット(又はその
コピー)が要求中のセルの1つにルート設定され得る。
このようにして、例えばデータのリードオンリーコピー
を含む単一のパケットが、複数の未決のリードオンリー
要求に対する応答として有効に作用し得る。
[0046] When a response packet is routed set along the network, routing cells compare the descriptor and access information status of the packet and the request entry ongoing in those directories. By comparison, Routing cell and receives the format data request in the packet to already have the kite becomes apparent, that packet (or a copy thereof) may be Routing to one of the cells in the request.
In this way, a single packet, including, for example, a read-only copy of the data, can effectively act as a response to multiple outstanding read-only requests.

【0047】システム構造 第1図は、本発明に従って構成された通信回路網を利用
する好ましい多重処理システムを描くものである。例示
のシステム10は、3つの情報転送レベル、すなわち
レベル:0、レベル:1及びレベル:2を含む。各情報
転送レベルは、バス要素及び複数のインターフェース要
素をその特徴として有する1又は複数のセグメントを備
える。詳述すると、例示のシステム10のレベル:0
は、6の12A、12B、12C、12D、12及び
12Fでそれぞれ指示される6つのセグメントを含む。
同様に、レベル:1はセグメント14A及び14Bを備
え、他方レベル:2はセグメント16を備える。
System Architecture FIG. 1 depicts a preferred multiprocessing system utilizing communication networks constructed in accordance with the present invention. The exemplary system 10 has three levels of information transfer:
Includes level: 0, level: 1 and level: 2. Each information transfer level comprises one or more segments, characterized by a bus element and a plurality of interface elements. Specifically, the level of the exemplary system 10: 0
Includes 6 12A, 12B, 12C, six segments indicated respectively 12D, 12 E and 12F.
Similarly, level: 1 comprises segments 14A and 14B, while level: 2 comprises segment 16.

【0048】レベル:0の各セグメント、すなわち12
A、12B、----12Fは、複数のプロセッシングセル
を備える。例えば、セグメント12Aはセル18A、1
8B及び18Cを備え、セグメント12Bはセル18
D、18E及び18Fを備える。これらの各セルは、セ
ル内プロセッサバス(図示せず)により相互に接続され
た中央プロセッシングユニット及びメモリ要素を備え
る。本発明の好ましい実施例においては、各セル内に含
まれるメモリ要素は、その関連する中央プロセッシング
ユニットにより使用される全ての制御及びデータ信号を
記憶する。
Level: Each segment of 0, that is, 12
Each of A, 12B, and 12F includes a plurality of processing cells. For example, segment 12A has cells 18A, 1
8B and 18C with segment 12B being cell 18
D, 18E and 18F. Each of these cells comprises a central processing unit and a memory element interconnected by an in-cell processor bus (not shown). In the preferred embodiment of the invention, the memory element contained within each cell stores all control and data signals used by its associated central processing unit.

【0049】更に例示されるように、各レベル:0セグ
メントは、セグメントのセル間において情報パケットを
転送するための通信路を提供するバス要素を有するもの
として特徴づけられよう。かくして、例示のセグメント
12Aはバス20Aをその特徴として有し、セグメント
12Bは20Bを、セグメント12Cは20C以下同
をその特徴として有する。以下に詳細に記述される
ように、ディジタル情報パケットは、これらのセルの各
々と関連するメモリ要素を経て例示のセグメント12A
のセル18A、18B及び18C間を通される。これら
のメモリ要素及びバス20A間の特定のインターフェー
スは、図示のようにセルインターフェースユニット22
により提供される。類似の直接通信路が、例示されるよ
うに、セグメント12B、12C及び12Dにおいてそ
れぞれのセル18D、18E、---18R間においてセ
ルインターフェース22D、22E、---22Rにより
設定される。
[0049] As further illustrated, each level: 0 segment in the art will characterized as having a bus element providing a communication path for <br/> transferring information packets between the cells of the segment. Thus, the exemplary segment 12A has a bus 20A as its feature, segment 12B has 20B, segment 12C has 20C (and so on ) . As described in detail below, the digital information packet is passed through the memory elements associated with each of these cells to the exemplary segment 12A.
Cells 18A, 18B, and 18C. The particular interface between these memory elements and the bus 20A is the cell interface unit 22 as shown.
Provided by. Similar direct channels are set up by the cell interfaces 22D, 22E, --22R between the respective cells 18D, 18E, --- 18R in the segments 12B, 12C and 12D as illustrated.

【0050】上に例示され言及されるように、残りの情
報転送レベル、すなわちレベル: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
を含む。
As illustrated and referred to above, the remaining information transfer levels, namely level: 1 and level: 2, are:
Each includes one or more corresponding levels: segments.
The number of segments in each sequential segment is less than the number of segments of the previous one. That is, level: 1 of 2
One segment 14A and 14B has less than six segments 12A, 12B--12F of level: 0, while level: 2 having only one segment 16 has the smallest number of all. Level: 1 and level: 2, that is, more segments of the higher level, a bus element for transferring packets within the respective segments. In the example, the level: 1 segments 14A and 14B are respectively buses 24A and 24B.
, On the other level : 2 segments 16 are bus elements 26
including.

【0051】ルート設定それ自体は、逐次のレベルの関
連するセグメント間において情報を転送する機構を提供
する。例えば、ルート設定セル28A、28B及び28
Cは、レベル:1セグメント14A及びレベル:0セグ
メント12A、12B及び12Cの各々間において情報
を転送するための手段を提供する。同様に、ルート設定
セル28D、28及び28Fは、レベル:1セグメン
ト14B及びレベル:0セグメント12D、12E、及
び12Fの各々間において情報を伝送するための手段を
提供する。更に、ルート設定セル30A及び30Bは、
図示のように、レベル:2セグメント及びレベル:1セ
グメント14A及び14B間における情報転送路を提供
する。追って詳細に論述されるように、ルート設定セル
は、各々2つのプロセッシング部を含んでいる。
Routing itself provides a mechanism to transfer information between successive levels of related segments. For example, the routing cells 28A, 28B and 28
C provides a means for transferring information between each of the level: 1 segment 14A and level: 0 segments 12A, 12B and 12C. Similarly, route settings
Cell 28D, 28 E and 28F, the level: 1 segment 14B and level: 0 segments 12D, provides a means for transmitting 12E, and 12F of information between each. Further, the routing cells 30A and 30B are
As shown, an information transfer path is provided between the level: 2 segment and the level: 1 segment 14A and 14B. As will be discussed in detail below, the routing cells each include two processing units.

【0052】ルート設定セルは、バス要素にある相互接
続部を介してそれらのセグメントをインターフェース接
続する。すなわち、ルート設定セル28Aは、それぞれ
リング相互接続部32A及び34Aにてバス要素20A
及び24Aをインターフェース接続し、要素28Bは、
それぞれリング相互接続部32B及び34Bにてバス要
素20B及び(24)Bをインターフェース接続し、以
下同様となる。同様に、ルート設定セル30A及び30
Bは、図示のように、それぞれリング相互接続部36
A、36B,38A及び38Bにてそれぞれのバス、す
なわち24A,24B及び26をインターフェース接続
する。
The routing cells interface those segments through the interconnections on the bus elements. That is, the routing cell 28A includes bus elements 20A at ring interconnects 32A and 34A, respectively.
And 24A, and element 28B is
The bus elements 20B and (24) B are interfaced with ring interconnects 32B and 34B, respectively, and so on. Similarly, the routing cells 30A and 30
B are respectively ring interconnects 36 as shown.
A, 36B, 38A and 38B interface with respective buses, ie, 24A, 24B and 26.

【0053】第1図は更に、本発明に従って構成された
ディジタルデータ処理システムにおける遠隔のレベル及
びセルを相互接続する好ましい機構を例示している。バ
スセグメント20Fから物理的に遠隔の点にあるセル1
8Rは、点線により指示される光ファイバ伝送線を介し
てそのセグメントのバス及びその関連するセル(18P
及び18Q)と結合される。遠隔インターフェースユニ
ット19は、セルインターフェース22R及び遠隔セル
18R間の物理的インターフェースを提供する。遠隔セ
ル18Rは、他の例示のセルと同様に構成され、同様に
動作し、光ファイバリンクを結合するための遠隔インタ
ーフェースユニットを備える。
FIG. 1 further illustrates a preferred mechanism for interconnecting remote levels and cells in a digital data processing system constructed in accordance with the present invention. Cell 1 at a point physically remote from bus segment 20F
8R is the bus of its segment and its associated cell (18P) via the fiber optic transmission line indicated by the dotted line.
And 18Q). The remote interface unit 19 provides a physical interface between the cell interface 22R and the remote cell 18R. Remote cell 18R is configured and operates similarly to other exemplary cells and includes a remote interface unit for coupling fiber optic links.

【0054】同様に、レベルセグメント12F及び14
Bは、それらの親セグメントから光ファイバリンクを介
して相互接続される。点線により指示されるように、ル
ート設定セル28F及び30Bのそれぞれの部分は、物
理的に分離されているが、他の光ファイバリンクにより
結合されている。例えば、ルート設定ユニット28Fに
関してみると、第1の部分は、標準バス相互接続部を介
してセグメント14Bのルート設定インターフェース3
4Fと直接的にリンクされており、他方第2の部分がセ
グメント12Fのルート設定インターフェース32Fと
直接リンクされている。上述のように、ルート設定ユニ
ット部分と光ファイバ媒体間の物理的インターフェース
は、遠隔インターフェースユニット(図示せず)により
提供されている。
Similarly, level segments 12F and 14
Bs are interconnected from their parent segments via fiber optic links. As indicated by the dotted lines, the respective portions of the routing cells 28F and 30B are physically separated but joined by another fiber optic link. For example, looking at the routing unit 28F, the first part is the routing interface 3 of the segment 14B via the standard bus interconnect.
4F, while the second portion is directly linked to the routing interface 32F of segment 12F. As mentioned above, the physical interface between the routing unit portion and the fiber optic medium is provided by a remote interface unit (not shown).

【0055】第2A図は上述の形式の多重処理システム
においてデータのコヒーレンシを維持するための好ま
形式を例示するものである。例示されるシステム
は、関連するメモリ要素42A、42B及び42Cにそ
れぞれ接続された複数の中央プロセッシング(処理)ユ
ニット40A、40B及び40Cを備える。各対のプロ
セッシングユニット及びメモリユニット間の通信は、図
示のようにバス44A、44B及び44Cに沿って実施
される。上述のレベルセグメント及びルート設定を表わ
す回路網46が、例示されるプロセッシングセル42A
〜42C間において情報パケット(バス48A、48B
及び48Cを経て回路網46に通される)を転送する。
[0055] Figure 2A illustrate the good or format has to <br/> for maintaining coherency over data in a multi-processing system of the type described above. The illustrated system comprises a plurality of central processing units 40A, 40B and 40C connected to associated memory elements 42A, 42B and 42C, respectively. Communication between each pair of processing and memory units is carried out along buses 44A, 44B and 44C as shown. The circuitry 46 representing the level segments and routing described above is an exemplary processing cell 42A.
Information packet (bus 48A, 48B)
And passed through network 46) via 48C).

【0056】例示の実施例において、中央プロセッシン
グユニット40A、40B及び40Cは、各々、それぞ
れラベル50A、50B及び50Cを付したアクセス要
求要素を備える。これらのアクセス要求要素は、メモリ
要素42A、42B及び42Cに記憶されるデータへの
アクセス要求を発生する。要素50A、50B及び50
Cにより発生されるアクセス要求信号の中には、メモリ
要素に記憶されるデータへの排他的変更アクセス要求を
表わす所有権要求信号がある。好ましい実施例におい
て、アクセス要求要素50A、50B及び50Cは、中
央プロセッシングユニット40A、40B及び40C上
で実行される命令サブセットを含む。この命令サブセッ
トについては追って説明する。
In the illustrated embodiment, the central processing units 40A, 40B and 40C each include an access request element labeled 50A, 50B and 50C, respectively. These access request elements generate access requests to the data stored in memory elements 42A, 42B and 42C. Elements 50A, 50B and 50
Among the access request signals generated by C is the ownership request signal, which represents an exclusive modification access request to the data stored in the memory element. In the preferred embodiment, the access request elements 50A, 50B and 50C include a subset of instructions that are executed on the central processing units 40A, 40B and 40C. This instruction subset will be described later.

【0057】メモリ要素42A、42B及び42Cは、
それぞれ制御要素52A、52B及び52Cを具備す
る。これらの制御要素は、各々、図示のように、対応す
るディレクトリ要素56A、56B及び56Cを介して
データ記憶領域54A、54B及び54Cに接続され
る。ストア54A、54B及び54Cは、それぞれの中
央プロセッシングユニットにより必要とされるデータ及
び命令信号に対して物理的記憶スペ−スを提供するよう
に、例示されるシステムにより利用される。かくして、
ストア54Aは、CPU40Aにより使用されるデータ
及び制御情報を維持し、ストア54A及び54Cは、そ
れぞれ中央プロセッシングユニット40B及び40Cに
より使用される情報を維持する。各ストアに維持される
データは、システムアドレスに対応する独自のデスク
リプタにより識別される。これらのディスクリプタは、
対応するディレクトリのアドレス記憶位置に記憶され
る。ディスクリプタは独自的と考えられるが、若干のデ
スクリプタの複数のコピーは、メモリ要素42A、4
2B及び42C間に存在し得る。この場合、これらの複
数のコピーそれ自体は、同じデータ要素のコピーを識別
する。
The memory elements 42A, 42B and 42C are
Each has control elements 52A, 52B and 52C. These control elements are each connected to data storage areas 54A, 54B and 54C via corresponding directory elements 56A, 56B and 56C as shown. Stores 54A, 54B and 54C are utilized by the illustrated system to provide physical storage space for data and command signals required by their respective central processing units. Thus,
Store 54A maintains the data and control information used by CPU 40A, and stores 54A and 54C maintain the information used by central processing units 40B and 40C, respectively. Data maintained in each store is identified by its own to Disk <br/> descriptor corresponding to the system address. These descriptors are
It is stored in the address storage location of the corresponding directory. Descriptors are considered unique, but some descriptors
Multiple copies of I descriptors, the memory elements 42A, 4
It may be between 2B and 42C. In this case, these multiple copies themselves identify copies of the same data element.

【0058】中央プロセッシングユニット40A、40
B及び40Cにより発生されるアクセス要求信号は、他
の制御情報とともに、要求されるデータのディスクリプ
タ又はSVA(システム仮想アドレス)に整合するディ
スクリプタ又はSVA要求部分を含む。制御要素52
A、52B及び52Cは、それぞれの中央プロセッシン
グユニット40A、40B及び40Cにより発生される
アクセス要求に応答して、要求されるデータが対応する
記憶要素54A、54B及び54Cに記憶されているか
否かを決定する。もしもそうならば、情報のそのアイテ
ムは、要求しているプロセッサによ使用のため転送さ
れる。もしそうでなければ、制御ユニット52A,52
B及び52Cは、要求を含むパケットをバス48A、4
8B及び48Cに沿って回路網46に伝送する。
Central processing units 40A, 40
The access request signal generated by B and 40C includes, along with other control information, a descriptor or SVA request portion that matches the descriptor or SVA (system virtual address) of the requested data. Control element 52
A, 52B and 52C determine whether the requested data is stored in the corresponding storage elements 54A, 54B and 54C in response to an access request generated by the respective central processing units 40A, 40B and 40C. decide. If If so, the item of information is transferred for requesting use that by the processor. If not, the control units 52A, 52
B and 52C send the packet containing the request to the bus 48A, 4
Transmission to network 46 along 8B and 48C.

【0059】制御ユニット52A〜52Cは又、回路網
46を監視し、それらが遠隔アクセス要求(すなわち他
のプロセッシングセルから受信される要求)を満足し得
るかどうかを決定する。上述のように、路網46上に
受信されるアクセス要求のディスクリプタ及び状態をそ
れらのディレクトリに記憶されているディスクリプタと
比較する。要求されるデータが要求される状態で見出さ
れると、それは、要求中のユニットにルート設定のため
応答パケットで回路網46に帰還転送される。要求され
るデータがシステムのプロセッシングセルのいずれにも
存在しないと、オペレティングシステムはシステムの
周辺デバイスをサーチ出来る。
The control units 52A-52C also monitor the circuitry 46 to determine if they can satisfy remote access requests (ie, requests received from other processing cells). As described above, compared with the descriptors of the descriptor and state of the access request received on circuits network 46 stored in their directories. When the required data is found in the required state, it is transferred back to the network 46 in a response packet for routing to the requesting unit. When required data is not present in any of the processing cell system, operating system can search the peripheral devices in the system.

【0060】データコヒーレンシは、データ要求及び
転送に応答してのプロセッシングセルの協働動作により
維持される。更に詳しく言うと、第1のプロセッシング
セルにより所有権−アクセス要求パケットの発生と同時
に、関連するメモリは、そのストアに物理的スペースを
割り当て、要求されるデータを保持する。同様に、先に
データが記憶されたプロセッシングセルからの要求され
たデータの転送と同時に、関連するメモリは、要求され
たデータの記憶のため先に割り当てられた物理的記憶ス
ペースの割当てを解除する。
[0060] Data coherency over is maintained by cooperative働動operation of the processing cells in response to the data request and transfer. More specifically, upon generation of the ownership-access request packet by the first processing cell, the associated memory allocates physical space for its store and holds the requested data. Similarly, upon transfer of the requested data from the previously stored processing cell, the associated memory deallocates the previously allocated physical storage space for storage of the requested data. .

【0061】これらの協働的動作は、第2A図及び第2
B図に例示されている。これらの図の第1のものすなわ
ち第2A図には、DATUM(0),DATUM(1)及びDATUM(2)が、
CPU40Aと対のメモリ要素42Aのストアに保持さ
れている。ディレクトリ56Aに保持されるディスクリ
プタfoo,bar及びbasは、ストア54Aに記憶されるそれ
らのデータに対応している。このディスクリプタは、各
々、ストア42Aの関連する情報信号の位置を支持する
ポインタを含んでいる。
These collaborative operations are illustrated in FIGS. 2A and 2A.
This is illustrated in Figure B. In the first of these figures, namely Figure 2A, DATUM (0), DATUM (1) and DATUM (2) are
It is held in the store of the memory element 42A paired with the CPU 40A. The descriptors foo, bar and bas held in the directory 56A correspond to those data stored in the store 54A. The descriptors each include a pointer that supports the location of the associated information signal in store 42A.

【0062】CPU40Bと対のメモリ要素42Bは、
DATUM(3)及びDATUM(2)を記憶する。これらのデータ要素
の各々には、ディレクトリ56Bに保持されるディスク
リプタcar及びbasが対応している。DATUM(2)及びそのデ
ィスクリプタbasは、ストア42Aからコピーされ、従
って同じラベルを保持している。
The memory element 42B paired with the CPU 40B is
Store DATUM (3) and DATUM (2). The descriptors car and bas held in the directory 56B correspond to each of these data elements. DATUM (2) and its descriptor bas have been copied from store 42A and thus retain the same label.

【0063】第2A図に例示されるシステムは、CPU
40Cと対のメモリ要素54Cにデータを記憶していな
い。
The system illustrated in FIG. 2A has a CPU
No data is stored in the memory element 54C paired with 40C.

【0064】第2B図は、当該データににアクセスし
ていないプロセッシングセルによりデータがそれに対す
る所有権と関連してどのように移動するかを例示するも
のである。詳述すると、例示は、CPU40C及びメモ
リ42Cより成るプロセッシングセルによるDATUM(0)に
対する未解決の所有権要求の発行に続くそのDATUM(0)の
移動を描いている。はじめに、制御ユニット52Cは、
要求と同時に、メモリ要素42Cのストア54Cに物理
的記憶スペースを割り当てる。メモリ42Aにより発生
される応答パケットは、要求されるデータ、すなわちDA
TUM(0)を、ストア54A(該データは先にここに記憶さ
れている)からリクエスタストア54Cに転送する。同
時に、制御ユニット52Aは、要求されるデータを先に
保持したストア54Aのスペースの割当てを解除する。
同時に、制御ユニット52Aは、ディレクトリ56A内
のディスクリプタfoo(ストア54A内のDATUM(0)を識
別するために先に使用されていた)の無効化を行ない、
他方制御ユニット52Cは、その同じディスクリプタを
ディレクトリ56Cに再割当てする。而して、そのディ
スクリプタは、その後ストア54C内における信号を識
別するのに使用される。
[0064] Figure 2B is for data by processing cell which does not already accessed to the data illustrate how it will move in conjunction with the ownership for it. In particular, the illustration depicts the movement of a DATUM (0) following the issuance of an outstanding ownership request to DATUM (0) by a processing cell consisting of CPU 40C and memory 42C. First, the control unit 52C
Simultaneously with the request, allocate physical storage space to store 54C of memory element 42C. The response packet generated by the memory 42A is the requested data, ie DA
Transfer TUM (0) from store 54A (where the data was previously stored here) to requester store 54C. At the same time, the control unit 52A deallocates the space of the store 54A that previously held the requested data.
At the same time, the control unit 52A invalidates the descriptor foo in the directory 56A (which was previously used to identify DATUM (0) in store 54A),
Control unit 52C, on the other hand, reassigns that same descriptor to directory 56C. Thus, the descriptor is then used to identify the signal in store 54C.

【0065】メモリ要素42A〜42Cは、ディスクリ
プタに加えて、データ及び制御信号に対するアクセス状
態情報をそれぞれのストアに割り当てる。無効、リード
オンリー、所有権及びアトミック状態を含むこれらのア
クセス状態は、特定のプロセッサによりデータにアクセ
スしる態様を支配する。関連するCPUがそのデータ
に関して変更アクセスを維持するメモリ要素に記憶され
るデータには、所有権状態が割り当てられる。他方、そ
の関連するCPUがそのデータに関して優先アクセスを
維持しないメモリ要素に記憶されるデータには、リード
オンリー状態が割り当てられる。更に、「不良」データ
と関連するデータには無効状態が割り当てられる。
In addition to descriptors, memory elements 42A-42C assign access state information for data and control signals to their respective stores. Disable, read-only, these access conditions including ownership and atomic states, govern the manner that give access to the data by a particular processor. Data stored in a memory element whose associated CPU maintains modified access for that data is assigned an ownership state. On the other hand, data stored in a memory element whose associated CPU does not maintain priority access for that data is assigned a read-only state. In addition, data associated with "bad" data is assigned an invalid state.

【0066】本発明に従って構成されるディジタルデー
タ処理システム内のメモリのコヒーレンシを維持する
ための好ましい構造については、上述の関連特許例えば
USSN136,930号及びUSSN370287号の参照により理解され
よう。
[0066] The preferred structure for maintaining coherency over memory configured digital data processing system according to the present invention, the aforementioned related patents e.g.
It will be understood by reference to USSN 136,930 and USSN 370287.

【0067】第3図は、第1図の例示のレベル:0セグ
メント12に対する好ましい形態を描いたものである。
セグメント12Aは、バスセグメント20Aに沿ってセ
ル相互接続部22A、22B及び22Cにより相互接続
されるプロセッシングセル18、18B及び18Cを備
える。ルート設定ユニット28Aは、レベル:0セグメ
ント12Aと第1図のレベル:1のセグメント14A
(もし親ならば)間の相互接続部を提供するものであ
る。このルート設定ユニット28Aは、図示のように、
セル相互接続部32Aを経てバス20Aに結合される。
例示されるバスセグメント20Aの構造並びにそれとセ
ル相互接続部22A、22B、22C及び32Aとの関
係は、上述の関連特許例えば1990年4月13日付米国特許
出願第509480号の参照により一層よく理解されよう。
FIG. 3 depicts a preferred form for the exemplary level: 0 segment 12 of FIG.
Segment 12A comprises processing cells 18, 18B and 18C interconnected by cell interconnects 22A, 22B and 22C along bus segment 20A. The routing unit 28A includes a level-0 segment 12A and a level-1 segment 14A in FIG.
It provides an interconnection between (if a parent). This routing unit 28A, as shown,
It is coupled to bus 20A via cell interconnect 32A.
The structure of the illustrated bus segment 20A and its relationship to the cell interconnects 22A, 22B, 22C and 32A is better understood by reference to the above-referenced patents, eg, U.S. patent application Ser. See.

【0068】第4図は実施例の例示のプロセッシングユ
ニット18Aに対する好まし構造を描くものである。
例示のプロセッシングセル18Aは、プロセッサバス6
6及び命令バス68を介して外部デバイスインターフェ
ース60、データサブキャッシュ62及び命令サブキャ
ッシュ64と結合された中央プロセッシングユニット5
8を備えている。この図に例示される回路のより完全な
理解は、上述の関連特許、例えば1987年12月22日付米国
特許出願第136,930号及び1990年4月13日付米国特許出
願第509,480号、1989年6月22日付米国特許出願第370,3
25号及び1990年3月26日付米国特許出願第499,182号の
参照により達成出来よう。
[0068] Figure 4 is intended to draw a preferred have structure for an exemplary processing units 18A embodiment.
The exemplary processing cell 18A is a processor bus 6
Central processing unit 5 coupled to external device interface 60, data sub-cache 62 and instruction sub-cache 64 via 6 and instruction bus 68.
Eight. A more complete understanding of the circuit illustrated in this figure can be found in the related patents mentioned above, such as U.S. Patent Application No. 136,930 dated December 22, 1987 and U.S. Patent Application No. 509,480 dated April 13, 1990, June 1989. US Patent Application No. 370,3 dated 22
No. 25, and U.S. Patent Application No. 499,182 dated 26 March 1990.

【0069】メモリシステム 上に論述されるように、本発明に従って構成された多重
処理システム10は、システム仮想アドレス(SVA)に
基づき各データと関連する独自のディスクリプタを参照
することによって、プロセッシングセル18A,18
B,---,18Rに割当てられた個々のデータ要素への
アクセスを可能にする。例示のシステム10において、
この能力の実施は、プロセッシングセルメモリユニット
と、これらメモリユニット間における回路網46を介し
ての要求及び応答パケットの転送動作により提供され
る。以下の論述において、これは集合的にメモリシステ
ムと称される。
Memory System As discussed above, the multiprocessing system 10 constructed in accordance with the present invention references the unique descriptor associated with each datum based on the system virtual address (SVA) to process cell 18A. , 18
Allows access to individual data elements assigned to B, ---, 18R. In the exemplary system 10,
The implementation of this capability is provided by the processing cell memory units and the operation of transferring request and response packets through the circuitry 46 between these memory units. In the discussion that follows, this is collectively referred to as the memory system.

【0070】メモリシステムの構造及び動作の完全な理
解は、以下に列挙されるそのアーキテクチャの確認を通
じて達成されよう。 (1)データ記憶−−各キャッシュのメモリはページに
分割され、その各ページはSVAスペースのあるページ
に動的に割当てることが出来る。メモリシステムは、各
キャッシュ内のデータについての用途及び状態情報を維
持し、二次メモリへ及び二次メモリからの効率的な移動
を容易にする。 (2)データ局所性−−メモリシステムは、あるプロセ
ッサにより最近参照されたデータをそのプロセッサの同
じセルのサブキャッシュ又はキャッシュに保持する。 (3)データ移動−−メモリシステムは、それを参照す
るプロセッサのキャッシュにデータを移動する。 (4)データ共有−−メモリシステムは、SVAデータ
のコピーを1以上のキャッシュに保持し、並列プログラ
ムによる効率的なデータの共有を容易にする。 (5)データコヒーレンシ−−メモリシステムは、強
く命令されたコヒレントなメモリモデル及びトランザ
クションモデルを実施する。 技術に精通したものであれば、てのプロセッサの動作
がある逐次の順序で実行されたかのように任意の実行の
結果が同じであればシステムが「逐次的に一貫性」であ
り、各個々のプロセッサの動作がそのプログラムにより
特定される順序でこの順に現われることが認められよ
う。
A complete understanding of the structure and operation of a memory system may be achieved through a review of its architecture, listed below. (1) Data storage--The memory of each cache is divided into pages, and each page can be dynamically allocated to a page having SVA space. The memory system maintains application and state information about the data in each cache, facilitating efficient movement to and from secondary memory. (2) Data Locality--The memory system keeps data recently referenced by a processor in a sub-cache or cache of the same cell of that processor. (3) Data movement--The memory system moves data to the cache of the processor that refers to it. (4) Data Sharing--The memory system holds a copy of the SVA data in one or more caches, facilitating efficient data sharing by parallel programs. (5) Data coherency over - the memory system implements the strongly ordered Kohi over rent memory model and the transaction model. If those skilled in the art, an if the result of any execution as if it was performed in the sequential order is the operation of the processor of all hand the same system "sequentially consistent" each individual It will be appreciated that the behavior of the processors in this order will appear in this order, in the order specified by the program.

【0071】更に、もし任意の1つのプロセッサによる
データへのアクセスがプログラムの順序で開始され、発
行され、遂行され、そしてもしプロセッサIによるスト
アがプロセッサKにより観察される時点において、スト
アの発行前にIに関して遂行されるデータへのてのア
クセスがKに関して遂行されねばならないならば、メモ
リアクセスは「強く命令された」と考えられる。これに
比し、もしも同期している変数へのアクセスが強く命令
され、もしもての選考のデータアクセスが遂行されて
しまう前に、プロセッサにおいて同期している変数への
アクセスが発行されず、もしも同期している変数への先
行のアクセスが遂行されてしまう前にプロセッサにより
データへのアクセスが発行されないならば、メモリアク
セスは弱く整理されている。
Further, if access to data by any one processor is initiated, issued, and performed in program order, and if store by processor I is observed by processor K, before issue of store. to if all hand access to data that is carried out with respect to I is not must be carried out with respect to K, memory access is considered "strongly was ordered." Comparison, is if the instruction accesses strongly to variables that are synchronized, if before the data access selection of all the hand from being performed, not issued access to variables that are synchronized in the processor, If no access to the data is issued by the processor before the previous access to the synchronized variable has been performed, then the memory access is weakly ordered.

【0072】事象の強い命令を持ったコヒレントなシ
ステムは、逐次的に一貫性である。
[0072] Kohi over rent system with a strong command of the event is a sequentially consistent.

【0073】例示のシステム内におけるSVAスペース
の組織化は、普通の仮想メモリ方式からの大きな離脱で
ある。従来のアーキテクチャは、システムアドレスを物
理的メモリアドレサに対応づけ(マッピングし)、欠如
ページの例外を発生するソフトウェア制御ページレベル
変換を含む。これらのシステムにおいては、ソフトウェ
アが、使用下にある全セグメント間でページテーブルを
多重化することを司る。例示のシステムのアーキテクチ
ャにおいては、ソフトウェア制御ページレベル変換機構
は存在しない。メモリシステムは、従来のアーキテクチ
ャにおいてソフトウェアにより通常遂行されるアドレス
スペース管理の相当な部分を処理出来る。これらの管理
の責務として下記のものが含まれる。
The organization of SVA space within the exemplary system is a major departure from the usual virtual memory scheme. Conventional architectures include software controlled page level translations that map system addresses to physical memory addressers and generate missing page exceptions. In these systems, software is responsible for multiplexing the page table among all the segments in use. In the exemplary system architecture, there is no software controlled page level translation mechanism. The memory system can handle a significant portion of the address space management normally performed by software in conventional architectures. Responsibilities for managing these include:

【0074】(1)ページ用途及び状態情報を維持する
こと。 (2)古いページを再使用すること。 (3)複数プロセッサ間において共有データアクセスを
同期させコヒーレンシを保証すること。 (4)システム内においてデータ及びデータのコピーを
サブページベースで場所から場所へ移動し、それを最も
頻繁に使用しているプロセッサ近くにデータを保持する
こと。 (5)データのSVAをデータともに移動することによ
り、全SVAスペースのまばらな表示を直接的に実施す
ること。 (6)参照セル間でページを移動すること(ページに対
する固定の原点はない)。
(1) Maintain page usage and status information. (2) Reuse old pages. (3) ensuring coherency over to synchronize the shared data access between multiple processors. (4) a copy of the data and data in the system to move from the location in the sub-page basis to the location, to hold the most frequently used and data near the processor Ru Tei it possible. (5) Directly implement sparse display of the entire SVA space by moving the SVA of the data together with the data. (6) Move the page between reference cells (there is no fixed origin for the page).

【0075】例示のシステムのプロセッサ、例えばプロ
セッサ40A、40B、40Cは2つの主論理インター
フェースを介してメモリシステムと通信する。第1のイ
ンターフェースはデータアクセスインターフェースであ
り、そしてこれはロード及びストア命令により実施され
る。データアクセスモードにおいては、プロセッサは、
メモリシステムにSVA及びアクセスモード情報を与
え、メモリシステムは、データを含サブページを見つ
けそれを戻すことによって、そのアクセスを満足させよ
うとする。
The processors of the exemplary system, eg, processors 40A, 40B, 40C, communicate with the memory system via two main logical interfaces. The first interface is the data access interface, which is implemented by load and store instructions. In data access mode, the processor
Giving SVA and access mode information in the memory system, the memory system by returning it finds the including subpage data, an attempt to satisfy that access.

【0076】第2の論理インターフェースモードは制御
アクセスであり、そしてこれはメモリシステム制御命令
により実施される。制御アクセスにおいて、プロセッサ
は、メモリシステムに命令して、ある側面的作用を遂行
し、実データ以外のある情報をあるページから戻す。シ
ステムソフトウェアは、主インターフェースに加えて、
形態化、保守、障害復旧及び診断のためSPAスペース
内の制御位置を使用する。
The second logical interface mode is control access, and this is implemented by memory system control instructions. In a control access, the processor commands the memory system to perform some side effect and return some information other than the actual data from a page. System software, in addition to the main interface,
Use control locations in SPA space for configuration, maintenance, fault recovery and diagnostics.

【0077】階層 メモリシステムは、階層の記憶(メモリ)を実施する。
例示の好ましい実施例において、各プロセッシングセル
は、0.5メガバイトのデータを記憶するサブキャッシ
ュを有する中央プロセッシングユニット(すなわちCE
U)を含む。これらのプロセッシングセルは又、32メ
ガバイトのデータを記憶するキャッシュを含む。更に、
例えば15のプロセッシングセルを有する好ましいレベ
ル:0は、総計480メガバイトを記憶する。他方、例
えば32のレベル:0を有する好ましいレベル:1は、
総計15360メガバイトを有する。キャッシュ構造 メモリシステムは、ページ及びサブページの単位でデー
タを記憶する。各個々のキャッシュは、2048ページ
に細分割された32バイトのSVAスペースを記述す
る。ページは、27(128)バイトのサブページ分割
された214(16348)バイトを含む。メモリシステ
ムは、ページ基準でキャッシュ内のメモリを割り当て、
SVAスペースの各ページは、システムに完全に表わさ
れるか全然表わされないかのいずれかである。メモリシ
ステムは、サブキャッシュの単位でキャッシュ間でデー
タを共有する。
A hierarchical memory system implements hierarchical storage.
In the preferred embodiment illustrated, each processing cell has a central processing unit (ie, CE) with a sub-cache storing 0.5 megabytes of data.
U) is included. These processing cells also include caches that store 32 megabytes of data. Furthermore,
A preferred level: 0 with, for example, 15 processing cells stores a total of 480 megabytes. On the other hand, the preferred level: 1 with, for example, 32 levels: 0 is
It has a total of 15360 megabytes. The cache structure memory system stores data in units of pages and subpages. Each individual cache describes the SVA space subdivided 32 bytes to 2048 pages. A page contains 2 14 (16348) bytes that are sub-page divided into 2 7 (128) bytes. The memory system allocates memory in cache on a page basis,
Each page of SVA space is either completely represented in the system or not at all. The memory system shares data between caches in units of sub-cache.

【0078】SVAスペースのページがシステム内に存
在する場合は、次ことが言える。 (1)1又は複数のキャッシュは、ページにメモリの1
ページを割り当てる。ページの各サブページは、割り当
てられたスペースを持つキャッシュの1又は複数に記憶
されるが、 (2)1ページに対して割り当てられたスペースを持つ
各キャッシュは、ページのサブページのてについての
コピーを含んでもよいし含まなくてもよい。
[0078] If a page of SVA space is present in the system, the following can be said. (1) One or more caches have one page of memory
Allocate pages. Each sub-page of the page, but is 1 or more in the storage of the cache with the assigned space for each cache, all hands subpages of a page with a space allotted (2) with respect to one page May or may not include a copy of.

【0079】キャッシュページ及びSVAページ間の関
連は、そのキャッシュディレクトリ内の各キャッシュに
記録される。各キャッシュディレクトリは、デスクリ
プタにより構成される。キャッシュ内のメモリの各ペー
ジに対して1つのデスクリプタが存在する。特定の時
点において、各デスクリプタは有効又は無効といわれ
る。デスクリプタが有効であれば、対応するキャッシ
ュメモリページがSVAスペースの1ページと関連せし
められ、デスクリプタは関連するSVAページアドレ
ス及び状態情報を記憶する。デスクリプタが無効であ
れば、対応するキャッシュメモリページは、論理的に使
用状態にない。デスクリプタと関連する明示的有効フ
ラグはなく、係留及び保持フィールドが両方ともクリ
であればデスクリプタは無効と考えることが出来、そ
してSVAページに対して有効サブページは存在しな
い。
The association between the cache page and the SVA page is recorded in each cache in that cache directory. Each cache directory is composed of a de I subscription <br/> descriptor. 1 Tsunode I descriptor exists for each page of memory in the cache. At a particular point in time, the de I descriptor is said to be valid or invalid. If de I descriptor is valid, the corresponding cache memory page is made to associated with a page of SVA space, de I descriptor stores SVA page address and state information related to. If de I descriptor is invalid, the corresponding cache memory page is not logically use state. No explicit validity flag associated with de I descriptor, if clear the A <br/> mooring and held fields are both de I descriptor can be considered as invalid, and effective subpages for the SVA page not exist.

【0080】各キャッシュディレクトリは、内容アドレ
ス可能メモリとして働く。これによりキャッシュは、そ
のディスクリプタのてを通じて対話型サーチをなすこ
となくSVAスペースの特定のページに対してディスク
リプタを見つけることが可能となる。各キャッシュディ
レクトリは、128セットを持つ16ウェイ・セット・
アソシエイティブメモリとして実施される。SVAスペ
ースの全ページは、各々キャッシュディレクトリセット
と関連する128の等価クラスに分割される。1ページ
に対して1つのディスクリプタのみが、ページの等価ク
ラスに対応するキャッシュディレクトリのセットに記憶
される。等価クラスはSVA[20:14]により選択され
る。所与の時点に、キャッシュは、SVA[20:14]に対
して同じ値を持つ16より多くないページを記述出来
る。これは、各セットに16要素が存在するからであ
る。
Each cache directory acts as a content addressable memory. This cache is able to find the descriptor for a particular page of SVA space without forming the interactive search throughout the hand of the descriptor. Each cache directory is a 16- way set with 128 sets
It is implemented as an associative memory . All pages of SVA space are divided into 128 equivalence classes, each associated with a cache directory set. Only one descriptor per page is stored in the set of cache directories corresponding to the page's equivalence class. The equivalence class is selected by SVA [20:14]. At any given time, the cache can describe no more than 16 pages with the same value for SVA [20:14]. This is because there are 16 elements in each set.

【0081】サブページ及びデータ共有 メモリシステム内にページが存在する時、そのサブペー
ジの各々は、1又は複数のキャッシュに存在する。サブ
ページがキャッシュ内に存在する場合、包含するSVA
ページに対するディスクリプタ(そのキャッシュにおけ
る)は、そのサブページの存在を数種の状態で記録す
る。キャッシュにおけるサブページの状態は、2つのこ
とを決定する。すなわち (1)そのキャッシュの局部プロセッサは、サブページ
に存するデータに関しどんな動作を遂行し得るか。 (2)必要ならば、そのキャッシュは、他のキャッシュ
からレベルを介して受信されるそのサブページに対する
要求に対してどんな応答をなすか。
Subpages and Data Sharing When a page exists in the memory system, each of the subpages resides in one or more caches. The containing SVA if the subpage is in cache
The descriptor for a page (in its cache) records the existence of that subpage in several states. The state of subpages in the cache determines two things. : (1) whether the local processor's cache may perform any action relates to a data that exists in the sub-page. (2) If so, what response does the cache make to requests for that subpage received from another cache via the level?

【0082】キャッシュ内のサブキャッシュの状態は、
プログラムが特定の状態を必要とする動作を要求する
時間とともに変化する。1組の転換ルールが、プロ
セッサ要求及びキャッシュ間レベル通信から生ずるサブ
ページ状態の変化を特定する。
The state of the sub-cache in the cache is
Changes over time when a program requires an action that requires a particular state. A set of diversion rules specifies changes in subpage state that result from processor requests and inter-cache level communication.

【0083】プロセッサが命令又はデータの参照を完成
するためには、数種の条件が同時に満足されねばならな
い。すなわち、 (1)命令の参照の場合、データを含むサブブロック
は、命令サブキャッシュに存在しなければならない。大
抵のデータ動作の場合、データを含むサブブロックは、
データサブキャッシュ内に適当な状態で存在しなければ
ならない。 (2)データを含むサブページは、局部キャッシュに存
在しなければならない。 (3)局部キャッシュは、サブページを適当な状態で保
持しなければならない。
In order for the processor to complete the instruction or data reference, several conditions must be met at the same time. That is, in the case of (1) instruction reference, the sub-block containing data must exist in the instruction sub-cache. For most data operations, the subblock containing the data is
It must be present in the data subcache in its proper state. (2) The subpage containing the data must be in the local cache. (3) The local cache must hold the subpage in an appropriate state.

【0084】もしもデータがサブキャッシュに必要とさ
れる状態で存在しないが、正しい状態で局部キャッシュ
に存在すると、CPUはキャッシュからデータを得る。
もしも局部キャッシュがデータを正しい状態で有さない
と、キャッシュはレベルを介して通信し、サブページの
コピーを取得するか、そのサブページに対して必要な状
態を取得するか、あるいはその両方を行う。もしもキャ
ッシュが要求を満足しないと、キャッシュは、プロセッ
サに適当な例外を報知するエラー信号を戻す。
If the data is not in the required state in the subcache, but is in the local cache in the correct state, the CPU gets the data from the cache.
If the local cache does not have the data in the correct state, the cache will communicate through the levels to get a copy of the subpage, get the required state for that subpage, or both. To do. If the cache does not satisfy the request, the cache returns an error signal signaling the processor of the appropriate exception.

【0085】命令セットは、数種の異なる形式のロード
及び記憶命令を含が、この命令は、プログラムに、現
在の制御スレッドの予想される将来のデータ参照パター
ンに適当なサブページ状態、並びに並列の応用における
異なる制御スレッド間のプロトコルを要求せしめる。こ
のセクションは、先ず、状態及びそれらの転換をプロセ
ッサ命令及びそれらのキャッシュへの影響に関して記述
する。
[0085] The set of instructions, including several different types of load and store instructions, this instruction, the program, the future data reference pattern expected for the current control thread suitable subpage state, and Forces protocols between different threads of control in parallel applications. This section first describes the states and their transformations in terms of processor instructions and their impact on caches.

【0086】サブページ状態 サブページ状態及びそれらの転換ルールは、プログラム
に対して2つの一般的な機構を提供する。すなわち、 (1)機構は、システムのプロセッサによる普通のロー
ド及びストアアクセスに対して強く命令された逐次的に
一貫的なメモリアクセスモデルを透過的に実施する。 (2)機構は、並列計算を同期するためにプログラムに
より使用される1組のトランザクション プミティブ
を提供する。これらのプリミティブは、種々の従来形式
及び非従来形式の同期機構に適用され得る。
Subpage States Subpage states and their transformation rules provide two general mechanisms for programs. (1) The mechanism transparently implements a strongly ordered, sequentially consistent memory access model for normal load and store accesses by the system's processors. (2) mechanism provides a set of transaction Prin primitive used by the program to synchronize the parallel computation. These primitives can be applied to various conventional and non-traditional synchronization mechanisms.

【0087】データ共有の基本的モデルは、無効、リー
ドオンリー及び所有者の3つのクラスのサブページ状態
によって定義される。これらの3つのクラスは、それら
が許容するアクセスに従う強さで命令される。無効状態
は、アクセスを許容しない。リードオンリー状態は、ロ
ード及び命令フェッチアクセスを許容する。数種の所有
者状態が存在するが、これらはてロードアクセスを許
容し、キャッシュをして相互接続部からのデータ要求に
応答せしめ、又あるものはストアアクセスを許容する。
1つのキャッシュのみが、任意の所与の時点において特
定のサブページを所有者状態で保持し得る。サブページ
を所有者状態で保持するキャッシュは、サブページの所
有者と称される。各サブページの所有権は、プロセッサ
が、所有権を要求するストア命令及び特別のロード命令
により所有権を要求する時、キャッシュからキャッシュ
に移動する。
The basic model of data sharing is defined by three classes of subpage state: invalid, read-only and owner. These three classes are dictated by the strength according to the access they allow. The disabled state does not allow access. The read only state allows load and instruction fetch access. Several owner state is present, but they allow full and load access, allowed in response to a data request from the interconnect by the cache, or is intended to permit store access.
Only one cache may hold a particular subpage in the owner state at any given time. The cache that holds the subpage in the owner state is called the subpage owner. Ownership of each subpage moves from cache to cache when the processor requests ownership through store and special load instructions that request ownership.

【0088】以下のセクションは、状態クラス、及びそ
れらが強く命令される逐次的に一貫的なメモリアクセス
モデルを実施するためにどのように相互作用するかにつ
いて記述する。
The following sections describe state classes and how they interact to implement a strongly ordered sequential and consistent memory access model.

【0089】無効状態 サブページがキャッシュ内に存在しないと、それはその
キャッシュに関して無効状態にあるといわれる。プロセ
ッサが、その局部キャッシュにおいて無効状態にあるサ
ブページへのロード又はストアを要求すると、そのキャ
ッシュは、データアクセスを満足するためにそのサブペ
ージのコピーをある他の状態で要求しなければならな
い。2つの無効状態すなわち無効ディスクリプタと無効
が存在する。
Invalid State If a subpage is not in the cache, it is said to be invalid for that cache. When a processor requests a load or store to a subpage that is in an invalid state in its local cache, that cache must request a copy of that subpage in some other state to satisfy the data access. There are two invalid states: invalid descriptor and invalid.

【0090】特定のキャッシュが特定のページに対して
スクリプタをもたなければ、そのページの全サブペ
ージは、そのキャッシュにおいて無効デスクリプタ状
態にあるといわれる。かくして、無効デスクリプタ状
態にあるサブページは、そのキャッシュに明示的に表わ
されない。
[0090] If no <br/> de I descriptor for a particular cache specific page, all subpages of that page are said to be in invalid de I descriptor state in that cache. Thus, subpages in invalid de I descriptor state are not explicitly represented in the cache.

【0091】CEUが無効ディスクリプタにあるサブペ
ージを参照する時、局部キャッシュはディスクリプタの
1つ(正しいセットにある)をSVAに割り当てる。デ
スクリプタ割当てが完成した後、そのページの全サブ
ページは無効状態を有する。
When the CEU references a subpage in an invalid descriptor, the local cache assigns one of the descriptors (in the correct set) to the SVA. De
After I descriptor allocation is complete, all the sub-page of the page has an invalid state.

【0092】局部キャッシュが特定のページに対してデ
ィスクリプタを有するが、特定のサブページがそのキャ
ッシュに存在しないと、そのサブページは無効状態にあ
る。局部キャッシュは、他のキャッシュと通信すること
によってサブページデータを得ようとする。
If the local cache has a descriptor for a particular page, but the particular subpage does not exist in that cache, then that subpage is in the invalid state. The local cache attempts to obtain subpage data by communicating with other caches.

【0093】リードオンリー状態 1つのみのリードオンリー状態、すなわちリードオンリ
ーが存在する。サブページの所有者がサブページを非排
他的状態に保持することを条件として、任意数のキャッ
シュが特定のサブページをリードオンリー状態に保持す
ることがあり得る。サブページの所有者が、任意の他の
状態(すなわち排他的所有権状態、すなわち排他的、ア
トミック又はトランジェントアトミックの1つ)を有す
ると、リードオンリーコピーはどのセルにも存在し得な
い。CEUは、リードオンリー状態にあるサブページを
変更出来ない。
Read-Only State There is only one read-only state, that is, read-only state. Any number of caches may hold a particular subpage in a read-only state, provided that the subpage owner holds the subpage in a non-exclusive state. If the owner of the subpage has any other state (ie exclusive ownership state, ie one of exclusive, atomic, or transient atomic), the read-only copy cannot exist in any cell. The CEU cannot change a subpage that is in the read-only state.

【0094】所有者状態 2つの基本的所有者状態形式、すなわち非排他的及び排
他的所有権が存在する。特定のキャッシュが特定のサブ
ページを非排他的状態に保持する時、ある他のキャッシ
ュはそのサブページをリードオンリー状態で保持してい
ることが出来る。プログラム上は、非排他的状態は、リ
ードオンリー状態と同じである。CEUは、非排他的状
態にあるサブページを変更出来ない。非排他的状態は、
基本的にはメモリシステムにより使用されるブックキー
ピング状態であり、そしてそれはサブページの所有権を
定める。
Owner State There are two basic owner state types: non-exclusive and exclusive-ownership. When a particular cache holds a particular subpage in a non-exclusive state, some other cache may hold that subpage in a read-only state. Programmatically, the non-exclusive state is the same as the read-only state. CEUs cannot modify subpages that are in a non-exclusive state. The non-exclusive state is
It is basically a bookkeeping state used by the memory system, which defines subpage ownership.

【0095】排他的所有権状態は、排他的、アトミック
及びトランジェントアトミックである。特定のキャッシ
ュが特定のサブページを排他的所有権状態で保持する
と、他のキャッシュは、サブページのリードオンリー又
は非排他的コピーを保持し得ない。局部キャッシュがサ
ブページを排他的所有権状態で保持すると、STTがセ
グメントへの書込みアクセスを許容し、且つディスクリ
プタ書込みなしフラグがクリ状態にあることを条件
としてCEUはサブページデータを変更出来る。
Exclusive ownership states are exclusive, atomic and transient atomic. When a particular cache holds a particular subpage in exclusive ownership state, other caches may not hold a read-only or non-exclusive copy of the subpage. If the local cache holds the subpage in exclusive ownership state, the STT allows write access to the segment and the descriptor . CEU on the condition that no write flag is in the clear state can change the sub-page data.

【0096】アトミック状態 アトミック状態は、排他的状態よりも強い所有権形式で
ある。サブページのみが、プログラムによる明示的要求
の結果としてアトミック状態に出入り出来る。
Atomic State Atomic state is a stronger form of ownership than exclusive state. Only subpages can enter and leave the atomic state as a result of explicit requests by the program.

【0097】基本的には、アトミック状態は、SVAス
ペースの任意のサブページへのシングル−スレッドアク
セスに使用出来る。プロセッサがサブページがアトミッ
ク状態に入ることを要求すべくgsp.nwt(サブペ
ージ取得、待ちなし)を実行すると、命令は、通常、サ
ブページがにアトミック状態にない場合のみ完了す
る。かくして、サブページ上のアトミック状態は、単一
のロックとして使用出来る。ロックは、gsp.nwt
命令が、通常、最初にサブページを排他的状態で得て、
状態を排他的からアトミックに変更することによって、
完了する時に行われる。ロックは、rsp(サブページ
解放)命令を実行することによってロックを解除され
る。rsp命令は、サブページがアトミック又はトラン
ジェントアトミック状態であるキャッシュに存在するこ
とを必要とする。局部キャッシュは、サブページを取得
し、次いでサブページをアトミック又はトランジェント
アトミック状態から排他的状態に変える。(もしもサブ
ページがトランジェントアトミック状態を有するなら
ば、動作は一層複雑となるが、結果はプログラム上同じ
である。)
Basically, atomic state can be used for single-threaded access to any subpage of SVA space. The processor requests that the subpage enter the atomic state by gsp. NWT (subpage acquisition, without waiting) When executing the instruction is usually complete only if subpage is not in atomic state in already. Thus, the atomic state on a subpage can be used as a single lock. The lock is gsp. nwt
The instruction usually gets the subpage in exclusive state first,
By changing the state from exclusive to atomic,
Will be done upon completion. The lock is unlocked by executing the rsp (release subpage) instruction. The rsp instruction requires the subpage to reside in a cache that is in the atomic or transient atomic state. The local cache gets the subpage and then changes the subpage from the atomic or transient atomic state to the exclusive state. (If the subpage has transient atomic state, the behavior is more complicated, but the result is the same programmatically.)

【0098】アトミック状態はサブページとのみ関連し
ていることに留意することが重要である。特定の動作中
システムプロセス(代表的には使用者プログラム)又は
特定のセルとの関連はない。プロセスがgsp命令を実
行して、アトミック状態にあるサブページを取得し、続
いてシステムソフトウェアにより切り替えられて、他の
セル上での実行を継続するようにすることが重要であ
る。そのプロセスが第2のセル上における実行を継続
し、究極的にサブページを解放すべくrsp命令を実行
する。これらの2つの命令間においては、全メモリシス
テムにはそのサブページの単一のコピーしかなく、そし
てそれはアトミック又はトランジェントアトミック状態
にあるであろう。種々のプロセッサがサブページを参照
する命令を実行すると、その単一の有効コピーは、セル
からセルへ移動する。特定のプロセスがアトミック状態
を取得し、他のプロセスがアトミックを解放することも
可能である。
It is important to note that atomic state is only associated with subpages. It is not associated with a particular running system process (typically a user program) or a particular cell. It is important that the process execute the gsp instruction to get the subpage in atomic state and then be switched by the system software to continue execution on other cells. The process continues execution on the second cell, eventually executing the rsp instruction to free the subpage. Between these two instructions, the entire memory system has only a single copy of its subpage, and it will be in atomic or transient atomic state. When various processors execute instructions that reference subpages, their single valid copy moves from cell to cell. It is also possible that one process gets the atomic state and another process releases the atomic state.

【0099】アトミック状態は、単にサブページと関連
する追加のフラグであり、サブページのデータ状態に加
えてアトミック状態を使用するプロトコルを実施するこ
とが出来る。データのみを使用して実施されるプロトコ
ルがエラーを有することがあるのと同様に、アトミック
状態プロトコルが欠陥である可能性がある。ハードウェ
アは、STT及びディスクリプタアトミックなしによ
り課されるアクセス制御以上にアトミック状態の使用に
何らチェックを課さない。
Atomic state is simply an additional flag associated with a subpage that allows protocols to be implemented that use the atomic state in addition to the subpage's data state. Atomic state protocols can be flawed, just as protocols implemented using only data can have errors. The hardware is STT and descriptor . No checks are placed on the use of atomic state beyond the access controls imposed by no atomics.

【0100】トランジェントアトミック状態 gsp.nwt命令は、常にその限定された実行時間内
に完了するが、(メモリシステム内のサブページの現在
の状態に依存して)持続する場合もあるし持続しない場
合もある。命令の第2の形式は、gsp.wt(サブペ
ージ取得、待ちあり)であるが、これは、サブページが
排他的状態で得られアトミック状態に変わるまで完了し
ない。gsp.wt命令は、gsp命令が成功したかし
なかったかを決定する負担を、プログラマから解放す
る。プロセッサがgsp.wtを実行する時、サブペー
ジがにアトミック又はトランジェントアトミック状態
にあれば、サブページが解放され、局部キャッシュで得
られ、排他的状態からアトミック又はトランジェントア
トミック状態に変化するまでプロセッサは停止する。g
sp.wt命令の使用は、セルがロックをロックする機
会を待つから、キャッシュ間において送られるメッセー
ジの数を減ずることが出来る。
Transient atomic state gsp. The nwt instruction always completes within its limited execution time, but may or may not (depending on the current state of the subpage in the memory system). The second form of instruction is gsp. wt (get subpage, wait), but this does not complete until the subpage is acquired in the exclusive state and changes to the atomic state. gsp. The wt instruction relieves the programmer from the burden of determining whether the gsp instruction succeeded or not. If the processor is gsp. When executing the wt, if subpage atomic or transient atomic state to already, subpage is released, obtained by the local cache, the processor exclusively from state to change to the atomic or transient atomic state stops. g
sp. The use of the wt instruction can reduce the number of messages sent between caches as the cell waits for an opportunity to lock.

【0101】トランジェントアトミック状態は、gs
p.wtを効率的に機能せしめるようにメモリシステム
により自動的に使用される。その使用は、プログラマに
は全く透過的である。サブページがアトミック状態にあ
り他のキャッシュがそのサブページ上のgsp.wtを
実行するならば、そのサブページは、保持しつつあるキ
ャッシュにおいてトランジェントアトミック状態に入
る。サブページが後でrsp命令で解放されると、トラ
ンジェントアトミック状態は、サブページをして特別の
解放状態にある相互接続部に駆逐せしめる。解放してい
るキャッシュは、サブページに対するそれ自身の状態を
無効に変える。gspを実行しているどのキャッシュ
も、サブページに遭遇しそれを受け入れる。受入れ中の
キャッシュは、次いでそのgsp命令を完了することが
出来、サブページはそのキャッシュにおいてトランジェ
ントアトミック状態に入る。この動作は、各後続のgs
p及びrspに対して起こり、駆逐されるサブページが
どの他のキャッシュによっても受け入れられなくなるよ
うな時点まで続く。その時、解放を遂行するキャッシュ
は、そのサブページを無効状態(サブページが解放され
た時にセットされた)から排他的状態に変える。
The transient atomic state is gs
p. Used automatically by the memory system to allow wt to function efficiently. Its use is completely transparent to the programmer. The subpage is in the atomic state and another cache has gsp. If executing wt, the subpage goes into transient atomic state in the holding cache. If the subpage is later released with the rsp instruction, the transient atomic state causes the subpage to be driven to an interconnect that is in a special released state. The freeing cache invalidates its own state for the subpage. Any cache running gsp will encounter the subpage and accept it. The accepting cache can then complete its gsp instruction and the subpage enters the transient atomic state in its cache. This action is done for each subsequent gs
It happens for p and rsp and continues until such time as the subpages being destroyed are no longer accepted by any other cache. The cache performing the release then changes the subpage from the invalid state (set when the subpage was released) to the exclusive state.

【0102】解放状態を持つパケットを、CEUがロー
ド又はストア命令を遂行しつつあるキャッシュにより受
け入られることも可能である。元のキャッシュは、サブ
ページが受け入れられたのを見て、そのサブページを無
効状態のままにおく。受入れ中のキャッシュは、そのC
EUをして、サブページを撤回する前に単一の命令を実
行せしめ、それ自身のサブページ状態を無効にセット
し、サブページを解放状態で送出する。ロード又はスト
アを実行していたキャッシュは、ここで、この解放の目
的のためページの所有者である。前と同様、他のキャッ
シュがデータを受け入れなければ、このキャッシュは、
サブページ状態を排他的状態に変え、所有権を保持す
る。
It is also possible for a packet with a release status to be accepted by the cache where the CEU is performing a load or store instruction. The original cache sees the subpage accepted and leaves the subpage in an invalid state. The accepting cache is C
The EU is allowed to execute a single instruction before withdrawing the subpage, set its own subpage state to invalid, and send the subpage in the released state. The cache that was doing the load or store is now the owner of the page for the purpose of this release. As before, if no other cache accepts the data, this cache will
Change subpage state to exclusive state and retain ownership.

【0103】好ましくは、gsp.wt命令が待ち得る
時間に制限がないのがよい。命令を発したプロセスは、
サブページが解放されるまで待機する。命令は、種々の
XIU信号により中断される得る。かかる事象が起こる
と、CCUは、アトミックアクセスを得ようとする試み
を放棄する。サブページがその間に解放され、そして他
の要求者がないと、サブページは、トランジェントアト
ミック状態から解放状態に、そして最終的に排他的状態
に変わる。代表的システムソフトウェア動作では、割込
みが処理され中断された命令が再スタートされるから、
CCUは再度要求を発する。前と同様に、それが進行す
る場合もあり、待機せしめられる場合もある。
Preferably, gsp. There should be no limit to how long a wt command can wait. The process that issued the order is
Wait until the subpage is freed. Instructions may be interrupted by various XIU signals. When such an event occurs, the CCU abandons its attempt to gain atomic access. If the subpage is released in the meantime and there are no other requesters, the subpage changes from the transient atomic state to the released state and finally to the exclusive state. In a typical system software operation, interrupts are processed and interrupted instructions are restarted,
The CCU will issue the request again. As before, it may go on or be put on hold.

【0104】状態転換 このセクションは、サブページデータ及び状態流れのあ
る例を提示する。データがある所有しているキャッシュ
から他のキャッシュに移動する基本的機構は、命令引出
し、及びそれらの他のキャッシュに対して局部的なプロ
セッサによるロード及びストア命令の実行である。異な
るロード及びプリフェッチ命令は、プログラムに、それ
らの局部キャッシュがリードオンリー又は排他的所有権
状態を取得することを要求せしめ、又ストア命令は、常
に、サブページが排他的所有権状態を有することを必要
とする。ある状況においては、キャッシュは、相互接続
部上にそれが通過するサブページのリードオンリーコピ
ーを得ることがある。サブページポスト−ストア(ps
tst)命令は、サブページのリードオンリーコピーを
ての関係するキャッシュに通信する。最後に、所有中
のキャッシュは、ページを再結合する部分として相互接
続部上に所有権状態を送出し得る(後述)。
State Transition This section presents some examples of subpage data and state flow. The basic mechanism for moving data from one's owning cache to another cache is instruction fetching and execution of load and store instructions by the processor local to those other caches. Different load and prefetch instructions require programs to have their local caches get read-only or exclusive-ownership state, and store instructions always ensure that subpages have exclusive-ownership state. I need. In some situations, a cache may get a read-only copy of the subpage it passes through on the interconnect. Subpage Post-Store (ps
tst) instruction makes a read-only copy of the subpage.
To communicate to the relevant cache of all hands. Finally, the owning cache may send an ownership state on the interconnect as part of recombining pages (discussed below).

【0105】命令フェッチ及びロード命令により、局部
キャッシュはサブページのリードオンリーコピーを要求
する結果となり得る。この要求は、サブページを所有す
るキャッシュにより応答される。所有中のキャッシュ
は、非排他的状態でサブページを有するならば、要求中
のキャッシュにリードオンリーコピーを供給するが、そ
れ自身の状態を変えない。所有中のキャッシュは、排他
的状態でサブページを有するならば、それ自身のサブペ
ージ状態を非排他的状態に変え、次いでリードオンリー
コピーを要求者(リクエスタ)に供給する。所有中のキ
ャッシュは、アトミック又はトランジェントアトミック
状態でサブページを有するならば、その状態でサブペー
ジを供給し、そしてそれ自身のコピーを無効化する。
Instruction fetch and load instructions can result in the local cache requesting a read-only copy of a subpage. This request is answered by the cache that owns the subpage. If the owning cache has subpages in the non-exclusive state, it supplies the requesting cache with a read-only copy, but does not change its own state. If the owning cache has a subpage in the exclusive state, it changes its own subpage state to the non-exclusive state and then supplies a read-only copy to the requestor (requestor). If the owning cache has a subpage in atomic or transient atomic state, it serves the subpage in that state and invalidates its own copy.

【0106】キャッシュが排他的所有権を要求すると、
所有中のキャッシュは、サブページのそのコピーを生ず
る。サブページが非排他的状態で所有されると、他のキ
ャッシュにおいてはリードオンリーコピーが存在する可
能性がある。てのかかるキャッシュは排他的所有権要
求に応答して、それらのリードオンリーコピーを無効化
する。
When the cache requires exclusive ownership,
The owning cache yields its copy of the subpage. If a subpage is owned non-exclusively, there may be read-only copies in other caches. Cache consuming all hands in response to the exclusive ownership request to invalidate their read-only copies.

【0107】キャッシュが、ストア命令を満足するため
に、排他的所有権状態でサブページを取得する場合は、
ストア命令が完了するまで、所有権又はリードオンリー
コピーを他のキャッシュに授けない。このルールは、メ
モリ位置のリーダーが変更がなされる順序で変更に遭遇
することを保証するがゆえに、メモリシステムにおける
強く命令された性質である。
If the cache acquires a subpage in exclusive ownership state to satisfy a store instruction,
Do not give ownership or read-only copy to other caches until the store instruction is completed. This rule is a strongly commanded property in memory systems because it guarantees that the leader of a memory location will encounter changes in the order in which they are made.

【0108】サブページがアトミック状態にある時、こ
の状態はトランジェントアトミック状態に変わり得る
が、何らかのロード又はストア命令の結果として、それ
が他の状態に変わることは決してない。ある他のキャッ
シュがサブページを要求する時、そのキャッシュは常に
アトミック又はトランジェントアトミック状態でサブペ
ージを得る。サブページが排他的状態に解放された後、
排他的及び非排他的状態間の転換は、再び起こり得、サ
ブページが非排他的に所有される場合にはリードオンリ
ーコピーが存在し得る。
When a subpage is in the atomic state, this state can change to the transient atomic state, but it never changes to another state as a result of some load or store instruction. Whenever some other cache requests a subpage, that cache gets the subpage in atomic or transient atomic state. After the subpage is released to exclusive state,
The transition between exclusive and non-exclusive states may occur again and there may be a read-only copy if the subpage is non-exclusively owned.

【0109】特定のサブページが特定のキャッシュにお
いて無効状態にあり(すなわち、ディスクリプタが
割り当てられているが、特定のサブページが存在しな
い)、そのサブページのコピーが、ある他のキャッシュ
からの要求に起因して情報転送レベル相互接続部で入手
可能であると、無効状態を持つキャッシュはそのサブペ
ージのリードオンリーコピーを取得する。この機構の効
果は、並列計算を加速することである。何故ならば、こ
れは他のキャッシュからのサブページのコピーの要求と
関連する潜伏期間を除去し得るからである。
[0109] in an invalid state particular subpage in a particular cache (i.e., a descriptor is assigned to already, there is no particular subpage), a copy of the subpage, from some other cache A cache with an invalid state obtains a read-only copy of its subpage if it is available at the information transfer level interconnect due to the request of. The effect of this mechanism is to accelerate parallel computing. This is because it can eliminate the latency associated with requesting a copy of a subpage from another cache.

【0110】基本的機構は、単純なロード及びストア命
令を使用するプログラムに、強く命令されたメモリアク
セスモデルを提供することに注目することが重要であ
る。プログラムは、その性能を改善するために特定の状
態を要求するロード、ストア及びプリフェッチの形式を
使用し得、そして多くの場合はコンパイラが必要な分析
を遂行することが予測される。しかしながら、この分析
は任意である。
It is important to note that the underlying mechanism provides a strongly ordered memory access model for programs that use simple load and store instructions. Programs can use the forms of load, store and prefetch that require specific states to improve their performance, and in many cases it is expected that the compiler will perform the necessary analysis. However, this analysis is optional.

【0111】簡単なトランザクションにおいては、サブ
ページアトミック状態は、純粋にロックとして使用され
る。サブページのデータは関係しない。もっと技巧的な
形式の同期機構のあるものでは、アトミック状態に保持
されたサブページのデータを利用する。1つの技術で
は、サブページ上のアトミック状態をそのサブページ内
のデータ上のロックとして使用する。プログラムは、1
又は複数のサブページをアトミック状態にし、それらの
内容を操作し、そしてそれらを解放する。
In simple transactions, subpage atomic state is used purely as a lock. Subpage data is not relevant. Some of the more sophisticated forms of synchronization make use of subpage data held atomically. One technique uses atomic state on a subpage as a lock on the data within the subpage. Program is 1
Or put multiple subpages into atomic state, manipulate their contents, and release them.

【0112】データコピー作成戦略 状態間の相互作用は、ロード命令が他のキャッシュから
のコピーを待つ時に費やされる時間、キャッシュスペー
ス及び情報転送レベル帯域幅と、ストア又はgsp命令
が実行される時に費やされる他のキャッシュにおけるコ
ピーを無効化するのに費やされる時間及び帯域幅との間
の妥協である。システム内にサブページの多くのリード
オンリーコピーがあると、読取りで局部キャッシュ内に
に存在するデータを見出すチャンスは増大する。しか
しながら、システム内に何らかのリードオンリーコピー
があると、所有者は、サブページを変更する時、先ずそ
れらのコピーを(単一メッセージを送ることにより)無
効化しなければならない。下記の発見的教授法は、単一
のリード/ライタアクセスから複式のリード/ライト共
用を短期間ベースで動的に区別することを試みる。
The interaction between data copy creation strategy states is the time spent by load instructions waiting for a copy from another cache, the cache space and information transfer level bandwidth, and the time a store or gsp instruction is executed. It is a compromise between the time and bandwidth spent invalidating the copy in the other caches. If there are many read-only copies of subpages in the system, reads will be in the local cache.
Chance to find the data that exists in already is increased. However, if there are any read-only copies in the system, the owner must first invalidate them (by sending a single message) when modifying subpages. The heuristics described below attempt to dynamically distinguish dual read / write sharing from single read / writer access on a short term basis.

【0113】複式のリード/ライト共用は、高い一次的
局所性を有する複数のリードオンリーコピーと、低い一
次的局所性を持つ書込み更新をもたらす。複数のコピー
は更新間で複数回読み取られるから、リードオンリーコ
ピーを保持することは最も効率的である。変更中のCE
Uは、単一の情報転送レベル動作を有する排他的−所有
権状態を得ることが出来る。CEUは、pstsp命令
を使用して変更されたデータを報知し、データを関与す
るキャッシュに分配する。
Duplex read / write sharing results in multiple read-only copies with high primary locality and write updates with low primary locality. Retaining a read-only copy is most efficient because multiple copies are read multiple times between updates. CE under change
U can get an exclusive-ownership state with a single information transfer level behavior. The CEU uses the pstsp instruction to announce changed data and distributes the data to the participating caches.

【0114】単一リード/ライトアクセスは、低い一次
的局所性を有する複数のリードオンリーコピーと、ずっ
と高い局所性を有する書込み更新をもたらす。コピーは
リード間に複数回更新されるから、リードオンリーコピ
ーを保持することは余り効率的でない。単一のリード/
ライトコピー(排他的−所有権状態)は、書込みに対し
て情報転送レベル動作を必要としない。
Single read / write access results in multiple read-only copies with low primary locality and write updates with much higher locality. Retaining a read-only copy is not very efficient because the copy is updated multiple times between reads. Single lead /
Write copy (exclusive-ownership state) does not require any information transfer level operation for writing.

【0115】これらの考察を平衡させるための戦略は次
の如くである。 (1)サブページのコピーが要求を満足させるために情
報転送レベルを横切って送られると、そのページに対す
るディスクリプタを有するがサブページに対するコピー
を有さないキャッシュは、いずれも、メッセージからリ
ードオンリーコピーをピックアップする。この機構は、
高局所性の参照で適用を加速する。 (2)被排他的又はリードオンリー状態を有するキャッ
シュがサブページの更新を必要とする時、サブページの
コピーを有する各他のキャッシュは、そのコピーを無効
化し、排他的所有権は変更中のセルに移動する。変更中
のセルはpstspを使用して、変化を報知する。他の
キャッシュがサブページを読もうとする試みは、コピー
が関与するキャッシュに分配されない結果となり得る。
The strategy for balancing these considerations is as follows. (1) When a copy of a subpage is sent across the information transfer level to satisfy a request, any cache that has a descriptor for that page but no copy for the subpage will be read-only copied from the message. To pick up. This mechanism
Accelerate application with high locality references. (2) When a cache that has an exclusive or read-only state needs to update a subpage, each other cache that has a copy of the subpage invalidates that copy and exclusive ownership is changing. Move to a cell. The cell being changed uses pstsp to announce the change. Attempts by other caches to read the subpage may result in copies not being distributed to the involved caches.

【0116】キャッシュレイアウト キャッシュディレクトリの好ましい組織が第5図に示さ
れている。SVAへの参照がなされると、キャッシュ
は、それが必要とする情報を有しているか否かについて
決定しなければならない。これは、キャッシュ内の1セ
ットを選択し、その1セットの全ディスクリプタを試験
することによって遂行される。SVA[20:14]は1セッ
トを選択する。一般のアーキテクチャにおいて、選択さ
れたセット内の各ディスクリプタは、同時にSVA[63:
21]に比較される。240メガバイトを有する好ましい
実施例において、これはSVA[39:21]との比較を意味
する。セットの要素の1つが所望されるページに対する
ディスクリプタであれば、対応するコンパレータは整合
を指示するであろう。セット番号と連結される整合する
ディスクリプタのセット内のインデックスは、キャッシ
ュ内の1ページを識別する。
Cache Layout The preferred organization of the cache directory is shown in FIG. When a reference is made to the SVA, the cache must decide whether it has the information it needs. This is accomplished by selecting a set in the cache and testing all descriptors in that set. SVA [20:14] selects one set. In a typical architecture, each descriptor in the selected set is SVA [63:
21]. In the preferred embodiment having 240 megabytes, this means comparison with SVA [39:21]. If one of the elements of the set is a descriptor for the desired page, the corresponding comparator will indicate a match. The index in the set of matching descriptors concatenated with the set number identifies a page in the cache.

【0117】1以上のディスクリプタが整合すれば、キ
ャッシュは複数デスクリプタ整合例外を報知する。デ
ィスクリプタが整合しなければ、キャッシュは、デ
クリプタを割り当て、相互接続部からデータを要求す
る。割当て又はデータ要求のいずれかが欠けることがあ
り得るが、キャッシュはCEUにエラーを指示する。
[0117] If one or more of the descriptor is a match, the cache to notify the multiple de I descriptor matching exception. If the descriptor is aligned, the cache allocates a de office <br/> descriptor and requests data from the interconnect. Either the allocation or the data request may be missed, but the cache indicates an error to the CEU.

【0118】セットを選択するためにSVA[20:14]を
使用することは、事実上SVAアドレスに関するハッシ
ュ機能である。システムソフトウェアは、このハッシュ
機能が一般的場合において良好な性能を与えるようにS
VAアドレスを割り当てねばならない。分配に関して2
つの重要な場合がある。単一のセグメントの多数のペー
ジを参照する場合と、多くセグメントの第1のページ
を参照する場合とである。このセットセレクタは、連続
するページ群に対して良好なキャッシュの挙動をもたら
す。何故ならば、128の連続ページが、128の別個
のセットに存在するからである。しかしながら、このセ
レクタは、SVA[20:40]に同じ値を持つ多くのページ
に対しては、ハッシュの挙動が十分でない。システムソ
フトウェアは、セグメント内における局部的データ源を
変えることによって後者の状態を避けることが出来る。
例えば、各プロセス毎のユーザスタックは、異なるセグ
メントオフセットでスタート出来る。
Using SVA [20:14] to select a set is effectively a hash function on SVA addresses. The system software uses S so that this hash function will give good performance in the general case.
You must assign a VA address. Regarding distribution 2
There are two important cases. And when referring to a number of pages of a single segment, is the case of referring to the first page of many segments. This set selector provides good cache behavior for consecutive pages. Because there are 128 consecutive pages in 128 distinct sets. However, this selector does not have sufficient hashing behavior for many pages having the same value in SVA [20:40]. System software can avoid the latter situation by changing the local source of data within the segment.
For example, the user stack for each process can start with a different segment offset.

【0119】ディスクリプタの内容 セルは、サブページ要求に応答する時、サブページデー
タ及びあるディスクリプタフィールドの値を局部キャッ
シュに供給する。応答がリクエスタに戻る時、リクエス
タはこれらのフィールドをディスクリプタフィールドに
コピーするか(もしもそれが他の有効サブページを有さ
なければ)、これらのフィールドをディスクリプタフィ
ールドに論理的にオアする。若干のディスクリプタフィ
ールドはレスポンダによって供給されることもなく、リ
クエスタによって更新もされない。
Descriptor Content When a cell responds to a subpage request, it supplies the subpage data and the value of some descriptor field to the local cache. When the response returns to the requester, the requester either copies these fields into the descriptor field (if it has no other valid subpages) or logically ORs these fields into the descriptor field. Some descriptor fields are neither supplied by the responder nor updated by the requester.

【0120】好ましい実施例において、デスクリプタ
フィールドはのように定義されるスクリプタ
タグ(19ビット)。SVAのビット[39:21]。このフィー
ルドは、対応するデスクリプタにより特定されるSV
Aスペースの特定のページを識別する。所与のセルにお
ける所与のセットに対して、このフィールドはての1
6のデスクリプタの間で独自でなければならない。ソ
フトウェアは、SVAページを創成する時にこのフィー
ルドを「セット」する。(これは又、キャッシュイニシ
ャライズ中にセットされる。)
[0120] In a preferred embodiment, the de I descriptor fields are defined as follows: de I descriptor.
Tag (19 bits). Bits of SVA [39:21]. This field, SV identified by the corresponding de I descriptor
Identifies a particular page in the A space. For a given set in a given cell, 1 of this field is all hands
It must be unique among 6 of de I descriptor. The software "sets" this field when creating the SVA page. (This is also set during cache initialization.)

【0121】デスクリプタアトミック 変更(1ビ
ット) このページの任意のサブページがアトミック状態への又
はアトミック状態からの転換を経験する時、キャッシュ
がこのビットフラグを1にセットする。何故ならば、g
sp又はsp命令がうまく実行されたからである。これは
又、サブページがアトミック状態からトランジェント−
アトミック状態に変わる時にもセットされる。このフラ
グは、gspが欠ける場合又はrspが欠ける場合には
セットされない。何故ならば、前者においてはサブペー
ジがにアトミック状態にあり、後者においてはサブペ
ージがアトミック状態になかったからである。このフラ
グは、gsp又はrspが欠ける場合にはセットされな
い。何故ならばデスクリプタアトミックなしがセッ
トされるからである。システムソフトウェアは、アトミ
ック状態変化を認めたことを指示するために、このフラ
グをゼロにセットする。このフィールドはキャッシュか
らキャッシュへ伝搬される。
[0121] de I descriptor. atomic Change (1 bit) The cache sets this bit flag to 1 when any subpage of this page experiences a transition to or from the atomic state. Because g
This is because the sp or sp instruction was successfully executed. This also means that the subpage is transient from the atomic state.
It is also set when changing to the atomic state. This flag is not set if gsp is missing or rsp is missing. Because is in atomic state subpage in already in the former, because the subpage was not in atomic state in the latter. This flag is not set if gsp or rsp is missing. This is because de I descriptor. This is because no atomic is set. System software sets this flag to zero to indicate that it has acknowledged an atomic state change. This field is propagated from cache to cache.

【0122】デスクリプタ変更(1ビット) ページにおいて何らかのデータが変更される時、キャッ
シュがこのビットフラグを1にセットする。システムソ
フトウェアは、ページの変更を認めたことを指示するた
めに、デスクリプタ変更をゼロにセットする。この
フラグは、データを変更しようとする試みがない時には
セットされない。何故ならばデスクリプタ書込みな
しがセットされるからである。このフィールドはキャッ
シュからキャッシュへ伝搬される。
[0122] de I descriptor. Change (1 bit) The cache sets this bit flag to 1 when any data is changed in the page. System software, to indicate that it has recognized the change of page, de I descriptor. Set changes to zero. This flag is not set when there is no attempt to change the data. This is because de I descriptor. This is because no writing is set. This field is propagated from cache to cache.

【0123】ディスクリプタLRU位置(4ビット) そのセットにおけるデスクリプタの現在位置がMost R
ecently Used(0)からLeast Resently Used(15)に移行す
る時、キャッシュはこのフィールドを維持する。
Descriptor . LRU position (4 bits) current location Most R de I descriptor in the set
The cache maintains this field when transitioning from ecently Used (0) to Least Resently Used (15).

【0124】ディスクリプタアンカー(1ビット) 他のキャッシュからのデータ要求が有効とも認められ得
ず又、デスクリプタが無効化され得ないこと指示する
ため、ソフトウェアがこのフィールドをセットする。他
のキャッシュからの読取り又は取得要求がリクエスタに
応答せずに戻り、ページがなかったように処理される。
このフィールドは、SVAページを創成又は破壊する部
分として、又、ページディスクリプタを変更する部分と
してシステムソフトウェアによりセットされる。
Descriptor . Anchor (1 bit) The not obtained also recognized as valid data requests from other caches, for instructing that the de I descriptor can not be disabled, the software sets this field. Read or get requests from other caches return without responding to the requester and are treated as if there were no pages.
This field is set by the system software as part of creating or destroying an SVA page and as part of modifying the page descriptor.

【0125】ディスクリプタ保持(1ビット) サブページがキャッシュに存在しない場合においてさ
え、ディスクリプタがキャッシュにより無効にされ得な
いことを指示するため、ソフトウェアがこのフィールド
をセットする。
Descriptor . Hold (1 bit) Software sets this field to indicate that the descriptor cannot be invalidated by the cache even if the subpage is not in the cache.

【0126】ディスクリプタアトミックなし(1ビッ
ト) キャッシュがこのページのページのアトミック状態を変
えるのを阻止するため、ソフトウェアがこのフィールド
をセットする。gsp又はrspを実行使用とする試み
はなく、プロセッサに報知される。プロセッサは、ペー
ジアトミックなし例外を報知する。ディスクリプタ
トミックなしは、若干のサブページがアトミック状態を
有する場合においてさえ、変更され得る。このフラグ
は、ディスクリプタ書込みなしがデータ状態を変更し
ようとする試みを簡単に阻止する場合と同じ方法で、ア
トミック状態を変更しようとする試みを簡単に阻止す
る。このフィールドはキャッシュからキャッシュへ伝搬
される。
Descriptor . No Atomic (1 bit) Software sets this field to prevent the cache from changing the atomic state of the page for this page. There is no attempt to use gsp or rsp for active use and the processor is notified. The processor signals a no page atomic exception. Descriptor . No atomic can be modified even if some subpages have atomic state. This flag indicates that the descriptor . Easily prevent attempts to change atomic state in the same way that no writes simply prevent attempts to change data state. This field is propagated from cache to cache.

【0127】ディスクリプター・書込みなし(1ビッ
ト) 局部プロセッサによるページの変更を阻止するため、ソ
フトウェアがこのフィールドをセットする。ページを変
更しよとする試みはなく、プロセッサに報知される。
プロセッサは、ページ書込みなし例外を報知する。この
フラグは、排他的又はアトミック/トランジェント−ア
トミック状態にあるサブページを取得するためにキャッ
シュの能力に影響を及ぼさない。このフィールドは、キ
ャッシュからキャッシュへ伝搬される。
Descriptor No Write (1 bit) Software sets this field to prevent the page from being modified by the local processor. Rather than attempt to change the page, it is reported to the processor.
The processor signals a no page write exception. This flag does not affect the ability of the cache to get a subpage in exclusive or atomic / transient-atomic state. This field is propagated from cache to cache.

【0128】ディスクリプタサマリー(3ビット) 1組のサブページのサブページ状態フィールドを集約す
る。各1組のサブページに対して、1つの3ビットサマ
リーフィールドが存在する。サマリーは、時々、サマリ
ーセット内のサブページに対して個々のサブページ
態フィールドの内容を無視(オーバーライド)する。
Descriptor . Summary (3 bits) Aggregates the subpage status field of a set of subpages. There is one 3-bit summary field for each set of sub-pages. Summaries are sometimes divided into individual subpages for subpages in the summary set. Ignore (override) the contents of the status field.

【0129】ディスクリプタサブページ 状態(4ビ
ット) サブページ状態は、3ビット状態フィールド及び単一ビ
ットサブキャッシュ化状態フィールドよりなる。これ
は、各サブページの状態を記録するため、且つサブペー
ジのいずれかの部分がCEUサブキャッシュに存在する
か否かを指示するために、キャッシュによりセットされ
る。
Descriptor . Sub page Status (4 bits) The subpage status consists of a 3-bit status field and a single-bit sub-cached status field. It is set by the cache to record the state of each subpage and to indicate if any part of the subpage is in the CEU subcache.

【0130】デスクリプタ内のフラグは正しくなかっ
たり古くなっている場合があり得る。これには2つの理
由がある。すなわち、CEU及びその局部的CCU間の
潜伏、及び異なるセルのCCU間の潜伏である。前者
は、先に変更されなかったページがCPUによって変更
される時に起こり得る。変更されたサブブロックがサブ
キャッシュを離れるまで、局部的CCUは、変更が起こ
ったことを知らない。後者は、多くのキャッシュが各々
特定のSVAページに対するデスクリプタを含む時に
起こことがあり、1つのキャッシュにより影響される
状態変化がての他のキャッシュに自動的に報知されな
い。
[0130] flag in the de I descriptors may be the case that out-of-date or incorrect. There are two reasons for this. That is, the latency between a CEU and its local CCU and the latency between CCUs of different cells. The former can occur when a page that was not previously modified is modified by the CPU. The local CCU does not know that a change has occurred until the changed subblock leaves the subcache. The latter may that to put <br/> when many cache containing a de I descriptor for each particular SVA page, state change affected by one cache is automatically notified to other caches of all hands Not done.

【0131】デスクリプタと関連する有効ビットがな
いから、デスクリプタは、常にあるSVAページのタ
グを有する。しかしながら、特定のSVAページを指示
するタグを有するてのキャッシュデスクリプタは、
それらのデスクリプタ内に有効サブページを有さなけ
れば、SVAページはメモリシステムに存在しない。同
様に、キャッシュデスクリプタが特定のSVAページ
を指示するタグを有しなければ、そのページはメモリシ
ステムに存在しない。かかるページに対するデスクリ
プタフィールドを読み取ることが出来るが、SVAペー
ジは論理的に破壊されてしまっているから、フィールド
値は有効でない。
[0131] Since the valid bit is not associated with de I descriptor, de I descriptor has a tag of always SVA page. However, cache de I descriptor of all the hand with a tag to indicate a particular SVA page,
If not have a valid sub-page to their de-I in the descriptor, SVA page does not exist in the memory system. In the same way, if you do not have a tag cache de I descriptor to indicate a particular SVA page, that page does not exist in the memory system. Although it is possible to read the de I subscription <br/> descriptor fields for such a page, SVA page since been destroyed logically, field values are not valid.

【0132】例えば、あるページに対するデスクリプ
タを有する2つのキャッシュを考える。キャッシュA
は、て排他的状態にあるサブページを有し、そしてデ
スクリプタ変更はクリ状態であり、他のキャッシ
ュはそのページに対するデスクリプタを全然有してい
ないとする。セルBのCEUは、サブページデータを変
更すべくストア命令を実行する。CEU Bは、その局
部的キャッシュから排他的所有権状態を持つサブページ
を要求する。キャッシュは、そのページに対してデ
クリプタを割り当て、次いでリングを使用してサブペー
ジを要求する。所有者(A)は応答して、セルBに排他
的所有権を与える。サブページが到着した後、セルB
は、応答からデスクリプタ変更(クリ状態にあ
る)をコピーする。次いで、BのCEUは、サブページ
からサブブロックをそのデータサブキャッシュにロード
し、そのサブブロックを変更する。この点にて、CEU
サブキャッシュは、サブブロックが変更されてしまった
ことを指示するが、局部的キャッシュはなおサブページ
を無変更として示す。若干後の時点に、CEU Bは、
そのサブキャッシュからのサブブロックデータを局部的
キャッシュに送る。これは、CEU Bが他のページに
対するサブキャッシュブロックを必要とするか、CPU
が変更されたサブブロックを戻し書込みするためにアイ
ドルサイクルを使用しているか、ある他のセルがサブペ
ージを要求したがために起こり得る。次いで、セルBの
キャッシュがデスクリプタ変更フラグをセットす
る。この時間中ずっと、デスクリプタ変更は、セル
A上でクリ状態にある。
[0132] For example, consider two caches with de I script <br/> data for a page. Cash A
Has a sub-page on the full and exclusive state, and de
I descriptor. Change is a clear state, other cache and does not have at all a de I descriptor for the page. The CEU in cell B executes a store instruction to change the subpage data. CEU B requests a subpage with exclusive ownership state from its local cache. Cache allocates de office <br/> descriptor for the page, and then requests the subpage using the ring. Owner (A) responds by giving cell B exclusive ownership. After subpage arrives, cell B
The response Karade I descriptor. To copy the changes (chestnut is in the A state). B's CEU then loads the subblock from the subpage into its data subcache and modifies that subblock. In this respect, CEU
The subcache indicates that the subblock has been modified, but the local cache still marks the subpage as unchanged. At some later time, CEU B
Send subblock data from that subcache to the local cache. This means that CEU B needs subcache blocks for other pages, or CPU
May be using an idle cycle to write back the modified subblock or some other cell has requested the subpage. Subsequently, the cell B cache de I descriptor. Set the change flag. Throughout this time, de I descriptor. Modifications are cleared state on cell A.

【0133】第2の例として、セルA上で進行するシス
テムソフトウェアがここでSVAページを破壊すると仮
定する。ページは、キャッシュAにおいて排他的状態に
あるてのサブページを集め上げ、次いでSVAページ
がもはや有効なサブページをもたないようにAのデ
クリプタを変更することによって破壊される。しかしな
がら、キャッシュBは、なおそのページに対するデ
クリプタを有する。デスクリプタ変更のようなフィ
ールドは意味がない。ある他のキャッシュが続いてSV
Aページを再創成してさえ、キャッシュBのデスクリ
プタは、第1サブページが到着するまで元のままであろ
う。
As a second example, assume that system software running on cell A now destroys an SVA page. Page by changing the de office <br/> descriptor of raising collect subpages of all hands in the exclusive state in cache A, then to have no SVA page no longer valid subpages A Destroyed. However, cache B is still has a de office <br/> descriptor for the page. De I descriptor. Fields like change don't make sense. SV followed by some other cache
Even re-creating the A page de I subscription <br/> descriptor cache B will remain unchanged until the first subpage arrives.

【0134】システムソフトウェアは、デスクリプタ
情報を使用しようとする時には、SVAページが真にメ
モリシステム存在することを保証しなければならない。
これを遂行する1つの方法は、ページアンカーを常にセ
ットし、局部キャッシュに少なくとも1つのの有効サブ
ページを得ることである。変更及びアトミック変更フィ
ールドが設定されていないことを絶対に確実にするため
には、ソフトウアは最初排他的状態で各サブページを
得なければならない。アンカーは、いずれかの他のキャ
ッシュがに得られた他のサブページを非同期的に取得
することを阻止する。動作が完全であると、システムソ
フトウェアは局部的キャッシュにおけるデスクリプ
アンカーをクリする。その時、そのページのサブ
ページに対する他のキャッシュ要求が、再び所有される
ことになろう
[0134] The system software is, when you try to use the de I descriptor information must ensure that the SVA page exists truly memory system.
One way to accomplish this is to always set the page anchor and get at least one valid subpage in the local cache. To ensure that changes and atomic change field is not set to absolute, the software must obtain each subpage in the first exclusive state. Anchor is prevented from obtaining any other cache other subpage obtained already asynchronously. When the operation is complete, system software de I script <br/> data in local cache. An anchor to clear. At that time, the other cache request for subpages of that page, would be owned again.

【0135】システムソフトウェア又、ページを創成
する前に、SVAページがメモリシステムに真に存在し
ていないことを保証することが必要となる。上述のよう
に、正しいタグ値を持つデスクリプタの単なる存在
は、SVAページが実際にメモリシステムに存在するこ
とを指示しない。ソフトウェアは、ページアンカーを設
定し、次いで排他的状態を持つサブページを引き出すこ
とを試みることによって非存在を確認し得る。引出に成
功すると、ソフトウェアは競争に負け、ページはメモリ
システム内に存在している。そうでない場合には、ソフ
トウェアはmpdw命令を使用してページを創成出来、
排他的に所有される全ページに関してSVAページアド
レスを設定する。この目的のためにmpdwの同時使用
に対してソフトウェアによるインタロックが存在するこ
とがなお必要であることに留意されたい。
[0135] The system software is also, prior to creating the page, SVA page is it necessary to ensure that does not exist truly in the memory system. As described above, the mere presence of de I descriptor with the correct tag value does not indicate that there actually memory system SVA pages. The software may confirm the non-existence by setting the page anchor and then attempting to pull out the subpage that has the exclusive state. If the draw is successful, the software loses the competition and the page resides in the memory system. Otherwise, the software can use the mpdw instruction to create the page,
Set the SVA page address for all exclusively owned pages. Note that it is still necessary for a software interlock to exist for concurrent use of mpdw for this purpose.

【0136】キャッシュディスクリプタ使用法及び交換 例示のシステム10のキャッシュは、多レベル記憶シス
テムの一部としてシステムソフトウェアにより使用出来
る。この種のシステムにおいて、物理的メモリは、要求
時ページングにより大規模なアドレススペースにわたり
多重化される。キャッシュは、ソフトウェアがSVAペ
ージの単位でキャッシュ及び二次メモリ間でデータを移
動させる多レベルメモリシステムの実施を加速する特徴
を有する。
Cache Descriptor Usage and Exchange The cache of the exemplary system 10 can be used by system software as part of a multi-level storage system. In this type of system, physical memory is multiplexed over large address spaces by demand paging. The cache has features that accelerate the implementation of a multi-level memory system in which software moves data between the cache and secondary memory in units of SVA pages.

【0137】てのキャッシュは、一緒にシステムの一
次メモリを構成する。しかしながら、ある目的のために
は各個々のキャッシュを独立の一次ストアとして考える
ことが必要である。これは、各キャッシュが限定数のS
VAページしか保持出来ないからである。すなわち、各
キャッシュに2048ページ、任意の特定のセットで1
6である。キャッシュの利用を平衡させるのに数種の自
動的及び手動的機構がある。
[0137] of all hand cache, constitute the primary memory of the system together. However, for some purposes it is necessary to consider each individual cache as an independent primary store. This is because each cache has a limited number of S
This is because only VA pages can be held. That is, 2048 pages for each cache, 1 for any particular set
It is 6. There are several automatic and manual mechanisms to balance cache utilization.

【0138】各キャッシュは、ての存在ページに対し
てLRU状態を維持する。LRUデータは、ディスクリ
プタ連想メモリの128セットの各々に対して別個に維
持され、それらの概の最後の参照時間にって1セット
に16ページを整える。
[0138] Each cache maintains the LRU state for the presence page of all hands. LRU data is separately maintained for each of the 128 sets of the descriptor associative memory, in their set I follow the last reference time GENERAL prepare the 16 pages.

【0139】各キャッシュは、各セット内にディスクリ
プタのLRU−MRU順序設定を維持する。順序設定
は、ディスクリプタ.LRU 優先で維持される。1セ
ット内の各ディスクリプタは、ディスクリプタ.LRU
優先で0(MUR)〜15(LRU)の値を有する。
概念的には、1ページが参照される時、それはMRUに
移動し、MRUから参照されるページの古いLRU 優
先に至る全ページは、その時LRUに向かって1ステッ
プ移動する。ディスクリプタが、次の動作でMRUにな
される。すなわち、 (1)サブキャッシュ状態強度の増大を含め、局部CE
Uからの任意のロードで。 (2)局部CEUからの任意のストアで。 (3)サブキャッシュ記憶しない任意の局部的CEUラ
イトバック(戻し書込み)で。 (4)XCACHE動作(キャッシュが、局部CEUが
サブキャッシュ状態を変えることを要求する)に続い
て。 (5)局部CEUサブキャッシュからの割当て解除後。
Each cache maintains the LRU-MRU ordering of descriptors within each set. The order setting is descriptor. LRU Maintained with priority. Each descriptor in one set is a descriptor. LRU
It has a value of 0 (MUR) to 15 (LRU) in priority.
Conceptually, when a page is referenced, it moves to the MRU, and all pages from the MRU that go to the old LRU priority of the referenced page then move one step towards the LRU. The descriptor is made the MRU in the next operation. That is, (1) including the increase of the sub-cache state strength, the local CE
On any load from U. (2) At any store from the local CEU. (3) By any local CEU writeback (back write) that does not store sub-cache. (4) Following the XCACHE operation (the cache requires the local CEU to change the sub-cache state). (5) After deallocation from the local CEU subcache.

【0140】CEU命令は、局部キャッシュに存在しな
い(無効−ディスクリプタ状態にある)SVAページを
参照し得る。キャッシュは、下記のようにデスクリプ
タを割り当てなければならず、次いで、CEUにより要
求される特定のサブページに対して相互接続部に要求を
発する。対応するページがシステムのどこかに存在する
と、要求中のキャッシュは、応答するキャッシュからあ
るディスクリプタフィールド及び参照されるサブページ
データをコピーする。最後には、ディスクリプタを割り
当てるこのプロセスは、特定のキャッシュセットの諸要
素を充たす。
A CEU instruction may reference an SVA page that is not in local cache (invalid-descriptor state). Cache must be assigned a de I script <br/> data as described below, then issues a request to the interconnect for the particular subpage which is required by the CEU. If the corresponding page exists somewhere in the system, the requesting cache copies certain descriptor fields and referenced subpage data from the responding cache. Finally, this process of assigning descriptors fills the elements of a particular cache set.

【0141】各キャッシュは、そのキャッシュにおいて
SVAページを無効−ディスクリプタ状態に変えること
により特定のディスクリプタを自動的に再使用する能力
を有する。バックグラウンドの活動として、キャッシュ
は又、所有されたサブページを他のキャッシュに自動的
に移動させる。これらの自動動作は、て、システムソ
フトウェアにより同調又は不能化され、そしてディスク
リプタ.保持及び/又はディスクリプタ.アンカーがセ
ットされる時抑止される。以下の説は、キャッシュの
ディスクリプタの矯正及びバックグラウンドデータの移
動の活動について記述する。
Each cache has the ability to automatically reuse a particular descriptor by changing the SVA page in that cache to the invalid-descriptor state. As a background activity, the cache also automatically moves owned subpages to other caches. These automatic operation, the total and is tuned or disabled by system software, and the descriptor. Holding and / or descriptor. When the anchor is set, it is inhibited. The following theory describes the activities of cache descriptor correction and background data movement.

【0142】時折、有効サブページを有さないキャッシ
ュセット内に1又は複数のディスクリプタが存在するこ
とがある。この状況は、他のキャッシュにより発生され
る要求の結果として、あるいは再結合活動(追って説明
する)の結果として生じ得る。例えば、キャッシュディ
スクリプタが唯一の有効サブページしか有さないと仮定
する。この場合、キャッシュディスクリプタは排他的状
態を有する。ある他のキャッシュがサブページの所有権
を要求すると、このキャッシュは、ページの有効サブペ
ージをもはや有さない。もしもディスクリプタ.保持及
びディスクリプタ.アンカーがこのキャッシュにおいて
クリ状態にあると、このディスクリプタは、CEUが
このキャッシュの同じセットに無効−ディスクリプタ状
態を有するある他のページを参照する時、再使用され得
る。
Occasionally there may be one or more descriptors in the cache set that do not have valid subpages. This situation can occur as a result of requests issued by other caches or as a result of recombination activity (discussed below). For example, assume that a cache descriptor has only one valid subpage. In this case, the cache descriptor has an exclusive state. When some other cache requests ownership of a subpage, this cache no longer has a valid subpage for the page. What if the descriptor. Retention and descriptor. When the anchor is in <br/> cleared state in this cache, this descriptor, CEU invalid on the same set of this cache - when referring to some other page having a descriptor state can be reused.

【0143】サブキャッシュがサブキャッシュ記憶され
ていないことを条件として、キャッシュは、リードオン
リー又は無効状態で全ページを有するページ(リードオ
ンリーページ)を自動的に落す。これは、メモリシステ
ムがリードオンリーコピーを破壊する時情報がメモリ
システムにより失われないから可能となる。キャッシュ
は、LRUの順番設定に従って、コピーの脱落を全体的
に不能化するか、それをある部分的範囲のディスクリプ
タに制限するという形態の選択を有する。
On condition that the sub-cache is not stored in the sub-cache, the cache automatically drops a page having all pages in the read-only or invalid state (read-only page). This is possible because when the memory system destroys the read-only copy , no information is lost by the memory system. The cache has the option of either completely disabling dropouts of the copy or limiting it to a partial range of descriptors, according to the ordering of the LRUs.

【0144】キャッシュは、ある排他的所有権状態で全
頁を有し且つディスクリプタ.変更及びディスクリプ
タ.アトミック 変更をクリ状態で有するページを自
動的に落す。キャッシュが全サブページの排他的所有権
を有するという事実は、他のキャッシュが所有権すなわ
ちデータ状態のあるページのコピーを有さず、このキャ
ッシュに、他のいずれのキャッシュと通信することなく
データ状態を破壊させることを保証する。ディスクリプ
タ.変更及びディスクリプタ.アトミック 変更が両方
ともクリ状態であるという事実は、データ又はアトミ
ック状態変化(gsp.wt命令の結果としてアトミッ
ク状態からトランジェントアトミック状態への転換を含
め)が起こったことを指示する。これは、SVAページ
がシステムソフトウェアにより創成されたか最後にポー
リングされたから起こる。メモリシステムは、二次メモ
リ上にアトミック状態及びページデータのコピーを有す
ることを仮定しており、そしてこれはSVAページを再
創成し、そのページを破壊するのに使用出来る。キャッ
シュはLRU番設定に従って、純粋なページの脱落を
全体的に不能化するか、それをディスクリプタの部分的
範囲に制限するかの形態の選択を有する。システムソフ
トウェアは、いずれかのサブページがトランジェントア
トミック状態にあれば、ディスクリプタ.アトミック
変更を決して非同期的にクリしてはならないことに留
意された
The cache has all pages in an exclusive ownership state , and the descriptor. Modifications and descriptors. atomic Automatically drop the page with a change in the clear state. The fact that a cache has exclusive ownership of all subpages means that the other cache does not have a copy of the page with ownership or data state, and this cache has no data to communicate with it. Guaranteed to destroy state. descriptor. Modifications and descriptors. atomic The fact that both changes are cleared state indicates that the data or atomic state change (including transition from atomic state to transient atomic state as a result of gsp.wt instruction) has occurred. This occurs because the SVA page was created by system software or last polled. The memory system is assumed to have a copy of the atomic state and page data on secondary memory, and this can be used to recreate the SVA page and destroy it. Cache according LRU order number setting, either totally disable the shedding of pure pages, with a selection of some form to limit it to a partial range of descriptors. If any of the sub-pages are in the transient atomic state, the system software will use the descriptor. atomic
Never had that has been noted that should not be asynchronously clears the change.

【0145】ディスクリプタ.保持の設定は、個々のサ
ブページが局部キャッシュに存在することを保証しない
ことに留意されたい。更に、あるページに対してディス
クリプタ.保持を単に設定することは、他のキャッシュ
がそのページを破壊するのを防がない。システムソフト
ウェアは、ハードウェアが純粋ページを自動的に落すの
を防ぐように明示的動作を取らねばならぬ(例えばディ
スクリプタ.変更を設定)。
Descriptor. Note that the hold settings do not guarantee that the individual subpages are in the local cache. In addition, the descriptor. Simply setting a hold does not prevent other caches from destroying the page. The system software must take explicit action to prevent the hardware from dropping pure pages automatically (eg descriptor. Set changes).

【0146】再結合は、所有されたサブページがキャッ
シュから相互接続部に駆逐され、他のキャッシュに所有
権状態を受け入れる機会が与えられるような動作であ
る。受入中のキャッシュは、包含しているページに対し
て割り当てられたディスクリプタをに有しているはず
であり、キャッシュは、再結合されつつあるサブページ
の所有権を受け入れるためにディスクリプタを割り当て
ない。ページ再結合の目的は、特定のSVAに割り当て
られるデスクリプタの総数を減ずることである。
Rejoin is an operation in which owned subpages are expelled from the cache to the interconnect, giving other caches the opportunity to accept the ownership state. Cache in the acceptance is supposed have descriptors assigned to pages that include the already, the cache does not assign a descriptor to accept ownership of subpages is being recombined . Desired page recombination is to reduce the total number of de I descriptor assigned to a particular SVA.

【0147】キャッシュは、サブページを再結合するた
めに再結合メッセージを発行する。再結合メッセージ
が、そのページを引き継ぐ他のキャッシュを見い出さな
いと、再結合中のキャッシュはデータを保持する。実際
には、それ自体が再結合の目標であることが分かった。
ある他のキャッシュが所有権(これは非排他的、排他
的、アトミック又はトランジェントアトミック状態のい
ずれでもよい)を受け入れると、発行中のキャッシュ
は、そのサブページ状態を無効に変える。
The cache issues a rejoin message to rejoin the subpages. If the rejoin message does not find another cache that takes over the page, the rejoining cache retains the data. In fact, it turned out to be the goal of recombination in itself.
When some other cache accepts ownership (which can be non-exclusive, exclusive, atomic, or transient-atomic state), the issuing cache changes its subpage state to invalid.

【0148】キャッシュは、メモリリフレッシュが行な
われている間、サブページをバックグラウンド活動とし
て自動的に再結合しようとする。各リフレッシュ間隔
中、キャッシュは特定のセットを試験し、受入れ可能な
ディスクリプタをサーチする。ディスクリプタは、サブ
キャッシュ記憶されたサブページを有してはならず、あ
るサブページを有さねばならず、全サブページを排他的
所有権状態で有してはならない。このようなページが見
い出されると、キャッシュはある所有されたサブページ
に対して再結合メッセージを発行する。キャッシュは、
LRU順番設定に従い、バックグラウンド再結合を全体
的に不能化するか、部分的範囲のディスクリプタにそれ
を制限するかの構造の選択を有する。バックグラウンド
再結合は、キャッシュが、ライン全体エラーを引き起こ
す代わりに、新たに参照されたSVAページに対してデ
ィスクリプタを割り当てることが出来る見込をより高め
る。
The cache attempts to automatically rejoin subpages as background activity while a memory refresh is occurring. During each refresh interval, the cache tests a particular set and searches for an acceptable descriptor. Descriptors must not have subcached subpages, must have some subpages, and must not have all subpages in exclusive ownership state. When such a page is found, the cache issues a rejoin message for some owned subpage. The cache is
Depending on the LRU ordering, we have a structural choice to either disable background recombination entirely or limit it to a partial range descriptor. Background rejoins give the cache a greater chance of being able to allocate descriptors for newly referenced SVA pages, instead of causing an entire line error.

【0149】CEUは又、システムソフトウェアが、所
有されるサブページの駆逐を試みることが出来るような
命令を提供する。サブページはサブキャッシュ記憶され
てはならないが、キャッシュが所有権の駆逐を試みる前
に他の制約は賦課されない。
The CEU also provides instructions that allow system software to attempt to destroy owned subpages. Subpages must not be subcached, but no other constraints are imposed before the cache attempts to evict ownership.

【0150】ワーキングセットポイント以下のページは
参照される見込が薄いから、実際にデータを動かす再結
合の殆どは、データを参照していないセルからデータを
参照しているセルにそれを移動させる。
Since the pages below the working set point are unlikely to be referenced, most of the recombination that actually moves the data moves it from the cells that are not referencing the data to the cells that are referring to the data.

【0151】セット内の新しいデスクリプタが必要と
される時、キャッシュは、有用なデスクリプタを見出
すに必要とされるだけの数の下記の動作を通って順に進
行する。すなわち, (1)無効のデスクリプタを見つける。 (2)リードオンリーコピーを無効化する。 (3)純粋のSVAページを破壊する。 (4)上述の手段によりデスクリプタを割り当てるこ
とが出来なければ、ラインフルの例外を報知する。
[0151] When the new de I descriptor in the set is required, cash proceeds in the order through a number of only the following operations are required to find a useful de I descriptor. In other words, find a de I descriptor of the disabled (1). (2) Disable read-only copy. (3) Destroy a pure SVA page. (4) to be able to assign de I descriptor by the aforementioned means, for notifying the exception of line fill.

【0152】個々の段階は以下に説明する。The individual steps are described below.

【0153】無効ディスクリプタを見出す。もしも無効
スクリプタが存在すれば、それは即座に使用出来
る。これは次の条件を必要とする。すなわち、 −てのサブページが無効状態にあり、且つ −デスクリプタ保持及びデスクリプタアンカー
が両方ともクリ状態にある。 −ページのサブページがPRTエントリにより記述され
ていない。
Find the invalid descriptor. If there is if invalid <br/> de I descriptor, it can be used immediately. This requires the following conditions. In other words, - sub-pages of all the hand is in the disabled state, and - de I descriptor. Retention and de I descriptor. Both the anchor is in the cleared state. -The sub-page of the page is not described by the PRT entry.

【0154】リードオンリーコピーを無効化する。もし
もctl$ccu lru configu.cdeが1であれば、キャッシュ
はサブページのリードオンリーコピーのみを含むデ
クリプタを識別しようとする。キャッシュは、下記の条
件を有するページを待ちながらLRUないしMRUを
ーチする。すなわち、 −全ページがリードオンリー又は無効状態にある。 −サブキャッシュ化サブページがない。 −ctl$ccu lru configu.cdlに等しいかそれより大きい
LRU値 −デスクリプタ保持及びデスクリプタアンカー
が両方ともクリ状態。 −ページのサブページがPRTエントリにより記述され
ていない。
Read-only copy is invalidated. Hello ctl $ ccu lru If configu.cde is 1, the cache will attempt to identify the de office <br/> descriptor that contains only read-only copy of the sub-page. The cache supports LRU or MRU while waiting for a page with the following conditions :
Reach . All pages are read-only or invalid. -There are no subcached subpages. −ctl $ ccu lru LRU value greater than or equal to configu.cdl . - de I descriptor. Retention and de I descriptor. Cleared state anchors are both. -The sub-page of the page is not described by the PRT entry.

【0155】もしも容認出来るデスクリプタが見出さ
れると、てのサブページは無効状態に変えられ、その
スクリプタが使用される。
[0155] and is found if accepted can de I descriptor, sub-pages of all the hand is changed to invalid state, the <br/> de I descriptor is used.

【0156】純粋のSVAを落す。もしもctl$ccu lru
config.pdeが1であれば、キャッシュは、破壊され得る
(メモリシステムから完全に除去される)SVAページ
を識別しようとする。キャッシュは、下記の条件を有す
るページを待ちながら、LRUないしMRUをサーチ
る。 −全ページが(種々の)排他的所有権状態にある。 −サブキャッシュ記憶されるサブページがない。 −デスクリプタ変更及びデスクリプタアトミック
変更が両方ともクリア状態にある。 −ctl$ccu lru configu.cdlに等しいかそれより大きい
LRU値 −デスクリプタ保持及びデスクリプタアンカー
が両方ともクリ状態。 −ページのサブページがPRTエントリにより記述され
ていない。
Drop pure SVA. Hello ctl $ ccu lru
If config.pde is 1, the cache will try to identify SVA pages that may be corrupted (completely removed from the memory system). The cache searches for LRU or MRU while waiting for a page with the following conditions: -All pages are in (various) exclusive ownership states. -No subpages are stored in the subcache. - de I descriptor. Both changes and de I descriptor atomic changes in clear state. −ctl $ ccu lru LRU value greater than or equal to configu.cdl . - de I descriptor. Retention and de I descriptor. Cleared state anchors are both. -The sub-page of the page is not described by the PRT entry.

【0157】もしも容認可能なデスクリプタが見出さ
れると、てのサブページは無効状態に変えられ(それ
によりSVAページを破壊する)、そしてそのデスク
リプタが使用される。
[0157] Once found if acceptable de I descriptor, subpages of all hand changed to invalid state (thereby destroying the SVA page), and its to Disk <br/> descriptor is used .

【0158】ライン フル例外(全ライン例外)が起こ
る可能性を減ずるために、キャッシュは最近余り使用さ
れないページ内のサブページのその所有権を減じようと
する。これらの動作は、ディスクリプタ割当て動作と無
関係であり、RAMリフレッシュ中に起こる。
Line To reduce the chances of a full exception (all line exceptions) occurring, the cache attempts to reduce its ownership of subpages within recently unused pages. These operations are independent of descriptor allocation operations and occur during RAM refresh.

【0159】もしもctl$ccu lru configu.breがセット
されると、CCUは、次の条件を有するページを待ちな
がらLRUからサーチする。 −所有権状態にある、あるサブページ。 −排他的所有権状態にないあるサブページ。 −サブキャッシュ記憶されるサブページがない。 −ctl$cculruconfig,bleに等しいかそれより大きいLR
U値。 −ディスクリプタ.保持及びディスクリプタ.アンカー
が両方ともクリ状態。 −ページのサブページがPRTエントリにより記述され
ない。
Hello ctl $ ccu lru When configu.bre is set, the CCU searches from the LRU while waiting for a page with the following conditions. -A subpage that is in the ownership state. -A subpage that is not in exclusive ownership state. -No subpages are stored in the subcache. -LR greater than or equal to ctl $ cculruconfig, ble
U value. -Descriptor. Retention and descriptor. Cleared state anchors are both. - sub-page of the page can not be more descriptive to the PRT entry.

【0160】容認可能なディスクリプタが見い出される
と、キャッシュは相互接続部に再結合メッセージを発行
する。
When an acceptable descriptor is found, the cache issues a rejoin message to the interconnect.

【0161】システムソフトウェアは、個々のキャッシ
ュ内のページのLRUの挙動を監視して、各キャッシュ
ラインにワーキングセットポイントを設定出来る。低い
LRU値を有するデスクリプタはワーキンッグセット
内にあり、高いLRUを有するディスクリプタはワーキ
ングセト内にない。ワーキングセットポイントを決定
するため、ディスクリプタタグ、LRU値及びサブペー
ジ状態の反復試験を利用出来る。
The system software can monitor the LRU behavior of pages in individual caches and set a working set point for each cache line. Low de I descriptor with the LRU value is located in the Working Tsu in the grayed set, descriptor with a high LRU is not in the working cell Tsu in the door. Repeated tests of descriptor tags, LRU values and subpage state can be used to determine the working setpoint.

【0162】変更(又はアトミック 変更)ページが論
理的ワーキングセットを離れると、システムソフトウェ
アは、ディスクリプタが近い将来再割当て可能になるよ
うに、ページを純粋化するような動作を取り得る。
Change (or Atomic) When a (modified) page leaves the logical working set, system software may act to purify the page so that the descriptor may be reallocated in the near future.

【0163】ディスクリプタが所有権状態にある比較的
少数のサブページを保持すると、ソフトウェアは、mr
csp(サブページ再結合)命令を使用して、これらの
サブページを他のキャッシュに再結合しようとする。そ
うでなければ、全SVAページを得て、それを純粋化又
は破壊すことが出来よう。
If the descriptor holds a relatively small number of subpages in ownership, the software will
Try to rejoin these subpages to other caches using the csp (subpage rejoin) instruction. If not, you could get the entire SVA page and purify or destroy it.

【0164】ワーキングセットが変化すると、システム
ソフトウェアは、キャッシュを制御する形態パラメータ
を変更し得る。純粋ページ脱落、コピー脱落及びバック
グラウンド再結合のためのパラメータは、ハードウェア
動作がソフトウェアワーキングセットポリシーと一貫性
があることを保証するように変更出来る。
When the working set changes, system software may change the morphological parameters that control the cache. The parameters for pure page loss, copy loss and background recombination can be modified to ensure that the hardware operation is consistent with the software working set policy.

【0165】二次メモリの代表的な使用は、各SVAが
二次メモリに割り当てられる対応するページを有し、ハ
ードウェアにより提供されるキャッシュ記憶モデルを拡
張する。あるページは、最初二次メモリにのみ存在し、
それがプログラムにより参照される時メモリにキャッ
シュ記憶される。そのページがメモリにある間に変更さ
れるならば(データ状態又はアトミック状態)、二次メ
モリ上におけるそのページのコピーは、包含するメモリ
システムのページがある他のSVAのために再使用され
得る前に更新されねばならない。かかる変更は、ディス
クリプタ.変更及びディスクリプタ.アトミック 変更
フィールドにより検出し得る。二次メモリを更新する動
作は、SVAページを「純粋化する」と称される。シス
テムソフトウェアは、普通、ワーキングセットポイント
以下にあるSVAを純粋化するから、キャッシュスペー
スは他のSVAページに対して迅速に利用可能となる。
A typical use of secondary memory is to extend the cache storage model provided by the hardware, with each SVA having a corresponding page assigned to it. A page initially exists only in secondary memory,
It is time referenced by the program, it is cached in memory. If the page is modified while in memory (data state or atomic state), a copy of the page on secondary memory can be reused for another SVA with the page of the containing memory system. Must be updated before. Such changes are made to the descriptor. Modifications and descriptors. atomic It can be detected by the change field. The act of updating secondary memory is referred to as "purifying" the SVA page. System software typically purifies SVAs that are below the working set point so that cache space is quickly available for other SVA pages.

【0166】システム内のセルのあるもののみが、SV
Aページに対して二次メモリを提供するディスクドライ
ブへの物理的接続を有する。適当な入出力可能なセル
は、入出力動作中ページデータを得ることが出来なけれ
ばならない。システムソフトウェアは、I/O命令を発
行する前に、I/Oセル上にディスクリプタを割り当て
て保持することによってこれを保証し得る。純粋化が完
了した後、システムソフトウェアは、ディスクリプタ.
変更及びディスクリプタ.アトミック 変更フラグをク
し、あるいはSVAページを破壊することが出来
る。使用される実際のプロトコルは、システムがプログ
ラムにより純粋化の試み中ページにアクセスすることを
可能にするか否かに依存して一層複雑となることがあ
る。
Only some of the cells in the system are SV
It has a physical connection to a disk drive that provides secondary memory for A pages. A suitable I / O-capable cell must be able to obtain page data during I / O operations. System software may ensure this by allocating and holding descriptors on I / O cells before issuing I / O instructions. After the purification is complete, the system software will run the descriptor.
Modifications and descriptors. atomic The change flag click to <br/> Li A, or can destroy the SVA page. The actual protocol used may be more complicated depending on whether the system allows the program to access the page during the attempting purification.

【0167】一般に、システムソフトウェアは、メモリ
システムがページを破壊することを阻止されない限り、
いずれかのサブページがトランジェントアトミック状態
を有するならばディスクリプタ.アトミック 変更をク
してはならない。例えば、全ディスクリプタが保持
されたフラグセットを有するならば、あるいはディスク
リプタ.変更がセットされるならば、メモリシステムは
ページを破壊することはない。
In general, the system software will use the unless the memory system prevents pages from being corrupted.
Descriptor if any subpage has transient atomic state. atomic You should not click <br/> re-A changes. For example, if all descriptors have a retained flag set, or descriptor. If the change is set, the memory system will not corrupt the page.

【0168】特定のキャッシュの特定のセットがフル状
態である時、ソフトウェアにとって、全メモリシステム
が相応にフル状態であることを仮定する理由はない。か
くして、ソフトウェアは、あるページをそのセットから
他のキャッシュの対応するセットに移動することにより
フルセットに応答することが望ましい。
When a particular set of a particular cache is full, software has no reason to assume that the entire memory system is correspondingly full. Thus, it is desirable for software to respond to a full set by moving a page from that set to a corresponding set in another cache.

【0169】メモリを効率的に使用するために、ソフト
ウェアは、フルセットから除去すべき適当なページと、
そのページに対する適当な目標キャッシュ(もしあれ
ば)を識別するためのある戦略を使用しなければならな
い。キャッシュは、このページ交換のためのある種の戦
略を促進する用意を備える。セット内における交換のた
めのページのソフトウェアによる選択を促進するため、
各キャッシュは、ページを最近最も使用されたもの(M
RU)から最近最も少なく使用されたもの(LRU)へお
おむね整える。あるページが参照される時、それはMR
Uに移動される。その後他のページが参照される時、そ
れはLRUへ向って古くなる。LRU情報は、最近最も
使用されるページを置き換える戦略を加速する。
In order to use memory efficiently, the software should use the appropriate pages to remove from the full set,
Some strategy must be used to identify the appropriate target cache (if any) for that page. The cache is equipped to facilitate certain strategies for this page exchange. To facilitate software selection of pages for exchange within the set,
Each cache is the most recently used page (M
RU) to the least recently used one (LRU). When a page is referenced, it is MR
Moved to U. Then when another page is referenced, it becomes stale towards the LRU. LRU information accelerates the strategy of replacing the most recently used pages.

【0170】プロセッサデータアクセス プロセッサが、ロード及びストア命令及び共実行ユニッ
ト動作を満足させるため、その局部キャッシュにデータ
要求をなす。キャッシュがその局部プロセッサに要求し
て、プロセッサに、サブキャッシュ内のサブページのそ
のコピーを無効化させる。
Processor Data Access The processor makes data requests to its local cache to satisfy load and store instructions and co-execution unit operations. The cache requests its local processor to cause the processor to invalidate its copy of the subpage in the subcache.

【0171】ロード及びストア命令 参照されるアドレスを包含するサブブロックが要求され
る状態でサブキャッシュに存在しない時、プロセッサ
が、ロード及びストア命令を要求として局部キャッシュ
に通す。異なる形式のロード及びストア命令は、下記の
命令のアクセスパターンについて局部キャッシュに情報
を通す。例えば、命令の順序がロード及びそれに続くス
トアであり、データアイテムを含むサブページが局部キ
ャッシュ内に未だ存在しないと、ロード命令に対するリ
ードオンリーを得るよりも、ロードに対する所有権を取
得し、次いで他の時点で情報転送レベルを介して通信し
てストアに対する所有権を取得するのがより効率的であ
る。
Load and Store Instructions When the subblock containing the referenced address is not in the required subcache in the required state, the processor will pass load and store instructions to the local cache as a request. The different types of load and store instructions pass information to the local cache about the access patterns of the instructions below. For example, if the order of instructions is a load followed by a store and the subpage containing the data item is not already in the local cache, then take ownership of the load rather than get read-only for the load instruction, then It is more efficient to communicate through the information transfer level to take ownership of the store at.

【0172】サブキャッシュにおけるサブブロックの状
態は、キャッシュ内における対応するサブページの状態
を必ずしも反映しない。命令サブキャッシュは、常にデ
ータのリードオンリーコピーを得る。データサブキャッ
シュは、リードオンリー又は排他的状態でサブブロック
を保持し得る。サブキャッシュは、排他的所有権状態を
有し且つディスクリプタ.書込みなしがセットされな
い時のみ、排他的状態を有し得る。サブキャッシュは、
排他的、アトミック及びトランジェントアトミックサブ
ページ状態間を区別しない。サブキャッシュがサブブロ
ックを排他的状態で有すると、CEUは、単に新データ
をサブキャッシュに入れるだけでストア命令を実行し得
る。st64.nscを除くてのストア命令に対し
て、もしもサブブロックがサブキャッシュにより記述さ
れないと、あるいは無効又はリードオンリー状態を有さ
ないと、CEUは、ストア命令を完成する前に排他的状
態を要求しなければならない。もしもディスクリプタ.
書込みなしがセットされ、あるいはサブページがメモリ
システムに存在しないと、障害が起こる。
The state of the sub-block in the sub-cache does not necessarily reflect the state of the corresponding sub-page in the cache. The instruction sub-cache always gets a read-only copy of the data. The data sub-cache may hold sub-blocks in read-only or exclusive state. Subcache has exclusive ownership state, and the descriptor. It may have an exclusive state only when no write is set. The sub cache is
No distinction is made between exclusive, atomic and transient atomic subpage states. If the sub-cache has the sub-block in the exclusive state, the CEU may simply store the new data in the sub-cache to execute the store instruction. st64. to the store instruction of all hands except nsc, when if the subblock is not described by the subcache, or invalid or if no read-only state, CEU is requesting an exclusive state before completing the store instruction Must. What if the descriptor.
If no write is set, or the subpage does not exist in the memory system, then a fault occurs.

【0173】サブページ要求が他のキャッシュから到着
すると、所有中のキャッシュは応答せねばならない。も
しもサブページのいずれかの部分がデータサブキャッシ
ュにあると、局部キャッシュは、サブキャッシュにのみ
存在することがるかもしれない変更を得ることを保証
しなければならない。キャッシュは又、CEUに、要求
に依存して、サブブロックに対するサブキャッシュ状態
をリードオンリー又は無効に変更せしめる。ある場合に
は、キャッシュは又、命令サブキャッシュがサブページ
のそのリードオンリーコピーを無効化することを保証す
る。
When a subpage request arrives from another cache, the owning cache must respond. If the any portion of the subpage is in the data subcache, the local cache must ensure that obtain changes that may have Oh Rukamo be present only in the sub-cache. The cache also causes the CEU to change the sub-cache state for a sub-block to read-only or invalid, depending on the request. In some cases, the cache also ensures that the instruction subcache invalidates its read-only copy of the subpage.

【0174】又、サブキャッシュ管理のユニット(ブロ
ック及びサブブロック)とキャッシュ管理のユニット
(ページ及びサブページ)間を区別することが重要であ
る。データは、サブブロックでCEU及びその局部キャ
ッシュ間を移動する。データは又、サブページでキャッ
シュ間を移動する。単位のサブページ当り2つのサブブ
ロックが存在する。
It is also important to distinguish between sub-cache management units (blocks and sub-blocks) and cache management units (pages and sub-pages). Data travels between the CEU and its local cache in sub-blocks. Data also moves between caches in subpages. There are two subblocks per unit subpage.

【0175】異なる形式のロード及びストア命令につい
ては下記に記述される。各記述は、命令の意味の要約で
始まり、サブキャッシュ及びキャッシュ動作の概観が続
く。
The different types of load and store instructions are described below. Each description begins with a summary of the semantics of the instruction, followed by an overview of sub-cache and cache behavior.

【0176】ロード(リードオンリー)[1d.ro] ロード 64(リードオンリー,サブキャッシュ記憶)
[ld64.ro.sc] プログラムはデータ読取りのパターンを続ける。仕事の
最少量はデータを得るようになされる。もしも包含して
いるサブブロックがサブキャッシュ記憶されると、それ
は直接使用される。もしも局部キャッシュがサブページ
を有さないと、局部キャッシュはコピーを得る。局部キ
ャッシュは、適宜、排他的又はリードオンリー状態でサ
ブブロックをサブキャッシュに供給する。
Road (Read Only) [1d.ro] Road 64 (read only, sub cache memory)
[Ld64.ro.sc] The program continues the pattern of reading data. The least amount of work is done to get the data. If the containing subblock is subcached, it is used directly. If the local cache has no subpages, the local cache gets a copy. The local cache supplies sub-blocks to the sub-cache in an exclusive or read-only state, as appropriate.

【0177】ロード(排他的)[ld.ex] ロード 64(排他的,サブキャッシュ化)[ld64.ex.s
c] プログラムは、下記の命令でサブブロックを書き込み、
そして排他的状態は任意の他の状態に好ましい。データ
が僅かの共有を有することが予期される時、又は一連の
書込みが生じつつあった時に、プログラムがこれを使用
する。これは、CEUがデータを変更し得る前に必要と
される相互接続のメッセージの数を減ずる。ロード(排
他的)の使用の特定の例はスタックのようなプログラム
毎データである。一般的には、かかるデータのリードオ
ンリーコピーはない。何故ならば、唯一のコピーは、プ
ログラムによる使用におけるものであるからである。し
かしながら、もしもプログラムが一つのプロセッサから
他のプロセッサに移動すると、新しいプロセッサの局部
キャッシュはコピーを持たず、古いプロセッサの局部キ
ャッシュは、サブページを排他的所有権状態で保持し続
ける。プログラムが(リードオンリー)ロードを使用し
た場合、局部キャッシュは、サブページをリードオンリ
ー状態で取得する(サブページがその状態が得られるア
トミック又はトランジェントアトミック状態にない限
り)。後続のストアは、何らかのCEUデータ変更が起
こることがある前に、キャッシュが他の相互接続要求を
なすことを必要とする(排他的所有権状態を得るため
に)。ld.roの場合と同様に、仕事の最小量はデータを
得るためになされる。もしも、サブブロックがサブキャ
ッシュにに存在すれば、それは直接的に使用される。
もしも局部キャッシュがサブページを有さなければ、局
部キャッシュはサブページを排他的所有権状態で要求す
る。局部キャッシュがサブページを有すれば、サブブロ
ックは、適宜、リードオンリー又は排他的状態でCEU
に供給される。
Load (exclusive) [ld.ex] Load 64 (exclusive, sub-cached) [ld64.ex.s
c] The program writes the sub-block with the following command,
And the exclusive state is preferred to any other state. It is used by the program when the data is expected to have little sharing, or when a series of writes is occurring. This reduces the number of interconnect messages required before the CEU can modify the data. A specific example of the use of load (exclusive) is per program data such as a stack. Generally, there is no read-only copy of such data. Because the only copy is in use by the program. However, if the program moves from one processor to another, the local cache of the new processor is not been lifting the copy, local cache of old processor continues to hold the subpage in exclusive ownership state. If the program uses a (read only) load, the local cache gets the subpage in read-only state (unless the subpage is in the atomic or transient atomic state in which it was obtained). Subsequent stores require the cache to make another interconnect request (to obtain exclusive ownership state) before any CEU data changes can occur. As with ld.ro, a minimal amount of work is done to get the data. If the sub-blocks if present already in the subcache, it is used directly.
If the local cache does not have a subpage, the local cache requests the subpage in exclusive ownership state. If the local cache has sub-pages, the sub-block will be CEU in read-only or exclusive state as appropriate.
Is supplied to.

【0178】ストア[st] ストア 64(サブキャッシュ化)[st64.sc] もしもサブブロックがに排他的状態でサブキャッシュ
に存在すれば、サブキャッシュ状態は変更されず、デー
タはサブキャッシュに書き込まれる。サブキャッシュ
は、排他的状態でサブブロックを有さなければならな
い。必要な時、サブキャッシュは局部キャッシュから排
他的状態を要求し、そして局部キャッシュは、相互接続
部から排他的所有権状態を要求する。もしもデスクリ
タ書込みなしフラグがセットされれば、エラーがCE
Uに報知され、CEUがページ書込みなしの例外を発生
する。そうでなければ、サブキャッシュは、排他的状態
でサブブロックを得、データがサブキャッシュに書き込
まれる。
Store [st] Store 64 (sub-cached) [st64. if present subcache sc] If the sub-block in an exclusive state already, the subcache state is unchanged and data is written to the subcache. The sub-cache must have the sub-block in exclusive state. When needed, the sub-cache requests the exclusive state from the local cache, and the local cache requests the exclusive ownership state from the interconnect. If if de I subscription <br/> no-flops data document included flag is set and the error is CE
U is notified and CEU raises exception without page write. Otherwise, the subcache gets the subblock in an exclusive state and the data is written to the subcache.

【0179】ロード 64(リードオンリー,非サブキ
ャッシュ化)[ld64.ro.nsc] ロード 64(排他的,非サブキャッシュ化)[ld64.ex.n
sc] プログラマーは、ldに対して記述されたように、予測
される参照パターンに従い排他的及びリードオンリー指
示を使用する。しかしながら、サブブロックへの参照の
回数は少ないと予測され、そしてサブキャッシュはこの
データの引出中擾乱されてはならない。データがサブキ
ャッシュに存在すれば、それは直接的に使用される。
局部キャッシュがサブページを有さなければ、局部キャ
ッシュはコピーを得る。CEUは、データのコピーを
得、指示レジスタをロードする。
Load 64 (read only, non-subcached) [ld64.ro.nsc] load 64 (exclusive, non-subcached) [ld64.ex.n
sc] The programmer uses exclusive and read-only instructions according to the expected reference pattern, as described for ld. However, the number of references to sub-blocks is expected to be low, and the sub-cache must not be disturbed during the fetching of this data. If the data is in the sub-cache , it will be used directly.
If the local cache has no subpages, the local cache gets a copy. The CEU gets a copy of the data and loads the instruction register.

【0180】ストア 64(非サブキャッシュ化)[s
t64.nsc] サブブロックへの参照の回数は少ないことが予測され
(代表的には1)、そしてサブキャッシュは、このデー
タを記憶中擾乱されてはならない。もしもサブブロック
が排他的状態でサブキャッシュに記憶されていれば、サ
ブキャッシュ状態は変更されず、データはサブキャッシ
ュに書き込まれる。もしもサブページがリードオンリー
状態でサブキャッシュに記憶されていれば、サブページ
は即座に無効化される。CPUは、データを局部キャッ
シュに供給する。キャッシュが排他的所有権状態でサブ
ページを有さなければ、相互接続部からそれを要求す
る。デスクリプタ書込みなしフラグがセットされる
と、エラーがCEUに報知され、CEUはページ書込み
なしの例外を発生する。そうでない場合、CEUデータ
はキャッシュのサブページに直接的に書き込まれる。
Store 64 (non-subcache) [s
t64. The number of references to the nsc] sub-block is expected to be low (typically 1), and the sub-cache must not be disturbed while storing this data. If the subblock is stored in the subcache in an exclusive state, the subcache state is unchanged and the data is written to the subcache. If the subpage is read-only and stored in the subcache, the subpage is immediately invalidated. The CPU supplies the data to the local cache. If the cache does not have a subpage in exclusive ownership state, request it from the interconnect. When no de I descriptor write flag is set, an error is reported to the CEU, CEU generates an exception of no page write. Otherwise, the CEU data is written directly to the cache subpage.

【0181】命令フェッチ 命令フェッチは、常にリードオンリー状態を特定するサ
ブページを引き出す。
Instruction Fetch Instruction fetch always pulls out a subpage that identifies the read-only state.

【0182】サブページアトミック状態命令 サブページアトミック状態命令は、上述の取得及び解放
動作に対するプログラムインターフェースである。これ
らの命令は、並列プログラムの精密な調整を可能にする
ため数種の形式で存在する。
Subpage Atomic State Instructions Subpage atomic state instructions are the program interface to the get and release operations described above. These instructions exist in several forms to allow precise coordination of parallel programs.

【0183】サブページ取得[gsp.nwt] サブページ取得・待ちあり[gsp・wt] サブページ取得は、サブページがアトミック状態でセッ
トされるべきことを要求する。サブページ取得命令の両
形式に対して、もしもサブキャッシュがどのキャッシュ
にもアトミック状態で存在しなければ、局部キャッシュ
はそれをアトミック状態で取得する。gsp.nwtの
場合、@MEM状態コードが試行の成功又は失敗を指示
し、命令は、トラップオプションが命令に存在し且つ
サブページがにアトミックであれば@MEMを変えず
にトラップされる。gsp.wt命令は、サブページが
アトミック状態で得られることが出来るまで、キャッシ
ュにCEUを停動せしめる。これは、プログラムが進行
し得る前にアトミック状態を得なければならない場合、
相互接続トラフィックの量を減ずる。サブページがいず
れかのキャッシュ(局部キャッシュを含め)において
にアトミックであれば、命令は、サブページが解放され
るまで待つ。局部キャッシュは、次いでサブページをア
トミック状態で取得する。@MEM状態は、常に成功を
指示するように変化される。
Subpage acquisition [gsp.nwt] Subpage acquisition / waiting [gsp.wt] Subpage acquisition requests that the subpage should be set in the atomic state. For both forms of the get subpage instruction, if the subcache does not exist atomically in any cache, the local cache acquires it atomically. gsp. In the case of nwt, @ MEM status code indicates the success or failure of the attempt, the instruction, the trap option is present in the instruction, and a sub-page are trapped without changing the @MEM if atomic in already. gsp. The wt instruction causes the cache to stall the CEU until the subpage can be obtained atomically. This is the case if the atomic state must be obtained before the program can proceed.
Reduce the amount of interconnect traffic. If the subpage is already atomic in any cache (including local cache), the instruction waits until the subpage is freed. The local cache then gets the subpage atomically. The @MEM state is constantly changed to indicate success.

【0184】サブページ解放[rsp] サブページ解放は、サブページをアトミック状態から除
去するのに使用される。もしもサブページが局部キャッ
シュに存在しなければ、それが、まず、相互接続部を介
して要求される。一度局部キャッシュが排他的所有権を
有すれば、rspが進行する。もしもサブページがアト
ミック状態になければ、サブページ解放はサブページ状
態を変えない。この状況において、もしもトラップ変更
子がこの命令に対して存在すれば、CRUはトラップさ
れる。もしもサブページがアトミック状態にあれば、そ
れは排他的状態に変えられる。もしもサブページトラン
ジェントアトミック状態にあれば、それは排他的状態に
変えられ、待ち中のセルがアトミック状態を取得出来る
ように相互接続部に駆逐される。
Subpage Release [rsp] Subpage release is used to remove a subpage from atomic state. If the subpage is not in the local cache, it is first requested via the interconnect. Once the local cache has exclusive ownership, rsp proceeds. If the subpage is not in atomic state, releasing the subpage does not change the subpage state. In this situation, the CRU will be trapped if a trap modifier is present for this instruction. If the subpage is in atomic state, it can be turned into exclusive state. If in sub-page transient atomic state, it is turned into an exclusive state and driven to the interconnect so that the waiting cell can get the atomic state.

【0185】他のサブページ命令 サブページポストストア[pstsp] サブページポストストアは、プログラムに、サブページ
のリードオンリーコピーを相互接続部に駆逐させる。そ
のページに対するデスクリプタをてのキャッシ
ュは、データのコピーを取る。この命令は、ある動作を
完成する一部としてデータを送信するのに使用出来る
が、これは、ある他のキャッシュが、データを使用する
ことを必要とする時、相互接続部に読取り要求をなさね
ばならぬ可能性を減ずる。
Other Sub-Page Instructions Sub-Page Post Store [pstsp] The Sub-Page Post Store causes the program to drive a read-only copy of the sub-page to the interconnect. All the hands of the cache one di de I descriptor for the page, take a copy of the data. This instruction can be used to send data as part of completing an operation, but it makes a read request to the interconnect when some other cache needs to use the data. Reduce the likelihood of having to do it.

【0186】サブページプリフェッチ[pcsp] サブページプリフェッチは、サブページのコピーが特定
の状態において局部キャッシュで取得されるべきことを
要求する。命令は、リードオンリー又は排他的状態を要
求し得る。サブページへの続いての参照は、サブページ
プリフェッチが完了するまでブロックされる。
Subpage Prefetch [pcsp] Subpage prefetch requires that a copy of a subpage be retrieved in the local cache in a particular state. The instruction may require a read only or exclusive state. Subsequent references to the subpage will block until the subpage prefetch is complete.

【0187】メモリシステムの「マニュアル」制御 上述のように、メモリシステムは、自動的なデータの共
有及びLRU保守で仮想メモリシステムを指示するよう
に設計されている。しかしながら、ソフトウェアは、特
定の応用に対してはメモリシステムの明示制御を取り得
る。
"Manual" Control of the Memory System As mentioned above, the memory system is designed to direct the virtual memory system with automatic data sharing and LRU maintenance. However, software may take explicit control of the memory system for a particular application.

【0188】通常の動作において、全プロセッサはSV
Aスペースを共有し、データは、命令(及び制御動作)
に応答してキャッシュからキャッシュへ自動的に移動す
る。ソフトウェアは、キャッシュ上のメモリの一部又は
全部をその局部的非共有の使用に専用出来る。この種の
システムは、キャッシュ間でSVAスペースを仕切り、
かかるデータをキャッシュからキャッシュに移動させる
のに明示制御操作を使用しなければならない。システム
ソフトウェアは、各デスクリプタにデスクリプタ
保持をセットすることによって、キャッシュがページを
移動ないし破壊して他のページに対して場所を開けるの
を防ぐことが出来る。その時、システムソフトウェア
は、各キャッシュメモリを多重化するに必要とされると
ころに従って、例外を処理しあるいは明示的破壊を遂行
出来る。
In normal operation, all processors are SV
A space is shared, data is command (and control operation)
Automatically move from cache to cache in response to. Software may dedicate some or all of the memory on the cache to its local non-shared use. This type of system partitions the SVA space between caches,
Explicit control operations must be used to move such data from cache to cache. System software, de I descriptor to each de I descriptor.
By setting a hold, you can prevent the cache from moving or destroying a page to make room for another page. The system software can then handle the exception or perform explicit destruction, as required to multiplex each cache memory.

【0189】自動モードにおいては、メモリシステム
は、共有メモリマルチプロセッサとして構成され得る。
種々の自動の特徴が不能化される時、メモリシステム
は、より粗結合のメッセージ指向アーキテクチャを擬似
するように構成出来る。メッセージは、特別SVA範囲
の参照によりパス出来る。メモリシステムの手動制御
は、特定のメモリモデルをより綿密に実施するのに使用
出来る。
In the automatic mode, the memory system can be configured as a shared memory multiprocessor.
When various automatic features are disabled, the memory system can be configured to emulate a more loosely coupled message-oriented architecture. Messages can be passed by reference to a special SVA range. Manual control of the memory system can be used to more closely implement a particular memory model.

【0190】メモリシステム制御命令 制御動作は、プロセッサ例えば40Aが、メモリシステ
ムを直接的に操作することを可能にする。2つのクラス
の制御命令がある。すなわち、データ移動及びページ状
態制御である。データ移動制御命令は、システムにおい
てデータのページ及びサブページを階層においてキャッ
シュからキャッシュに移動する。ページ状態制御命令
は、ページデスクリプタを操作する。
Memory System Control Instructions Control operations allow the processor, eg 40A, to directly manipulate the memory system. There are two classes of control commands. That is, data movement and page state control. Data movement control instructions move pages and subpages of data in a system from cache to cache in a hierarchy. Page state control instructions operate on Pejide I descriptor.

【0191】CEU命令は、指令に依存して同期的又は
非同期的に実行されるキャッシュ指令をもたらす。CE
Uキャッシュ命令は、進行中、キャッシュPRT(ハー
ドウェアテーブル)の1つのエントリを占める。PRT
は4つのエントリを有するから、最大4つのキャッシュ
命令が平行に実行され得る。大抵のCEU命令は、要求
が満足されるまで使用状態に留まり同期的態様を提供す
る1つのPRTエントリの割当てを受ける。例えば、ロ
ード/ストア命令は同期的に実行されるから、特定のソ
フトウェア制御の例外(脱落ページや書込み不能なペー
ジのような)は、予測可能な態様で解くことが出来る。
pcsp(キャッシュサブページプリフェッチ)及びp
stsp(サブページポスト−ストア)命令は、以下の
セクションに記述されるように、非同期的に動作する。
The CEU instruction results in a cache instruction that is executed synchronously or asynchronously depending on the instruction. CE
U-cache instructions, while in progress, occupy one entry in the cache PRT (hardware table). PRT
Since has 4 entries, a maximum of 4 cache instructions can be executed in parallel. Most CEU instructions receive an allocation of one PRT entry that remains in use and provides a synchronous aspect until the request is satisfied. For example, because load / store instructions are executed synchronously, certain software controlled exceptions (such as lost pages and unwritable pages) can be resolved in a predictable manner.
pcsp (cache subpage prefetch) and p
The stsp (subpage post-store) instruction operates asynchronously, as described in the section below.

【0192】同期的エラーは、普通、CEUがトラップ
シーケンスを実行する結果となる。
Synchronous errors usually result in the CEU executing a trap sequence.

【0193】非同期的エラーは、実際のハードウェアか
らもたらされ、あるいはある他のキャッシュからの要求
によって惹起される。この種のエラーは、メモリシステ
ム割込みにより報告される。
Asynchronous errors can come from real hardware or can be caused by requests from some other cache. Errors of this kind are reported by memory system interrupts.

【0194】プリフェッチ命令 プリフェッチ命令は、サブページのコピーが特定の状態
において局部キャッシュ上に取得されるべきことを要求
する。pcspはサブページをプリフェッチする。キャ
ッシュは、この命令が検出された時1つのPRTエン
トリを割り当てる。サブページがに存在していれば、
PRTエントリは解放され、pcspは完了する。そう
でない場合、キャッシュは要求を発し、次いでCEUに
命令の完成を指示する。これは非同期的に進む。メッセ
ージが要求又は応答として戻ると、キャッシュはデータ
を受け入れ(もし存在すれば)、そしてPRTエントリ
を開放する。CEUに対してデータが到着したという指
示はない。
Prefetch Instructions Prefetch instructions require that a copy of a subpage be retrieved on a local cache in a particular state. pcsp prefetches subpages. Cache, when this instruction is detected, assign one PRT entry. If sub-pages long present in already,
PRT entry is released, PCSP is completed. If not, the cache makes a request and then directs the CEU to complete the instruction. This goes asynchronously. When the message returns as a request or response, the cache accepts the data (if any) and releases the PRT entry. There is no indication to the CEU that the data has arrived.

【0195】サブページポスト−ストア命令 pstsp命令は、サブページのコピーが相互接続部上
で循環され、それにより包含するページに対するデ
クリプタを有するキャッシュがサブページのリードオン
リーコピーを取得し得るようになるべきことを要求す
る。pstspは、サブページ内のサブブロックを参照
する。サブブロックが排他的状態でサブキャッシュに記
憶されており、サブキャッシュにおいて変更されると、
CEUは局部キャッシュからポストストア動作を要求す
る。そうでない場合は、pstsp命令は影響を有さな
い。キャッシュは、PRTエントリを割り当て、CEU
からサブページデータを要求する。次いで、キャッシュ
は、ポスト−ストアメッセージを相互接続部に提示し、
PRTエントリを解放し、CEUに対して命令の完了を
指示する。CEUは、非同期的に進む。メッセージは、
発行しているキャッシュに戻ると、廃棄される。
[0195] subpage Post - store instruction pstsp instruction is circulated on the copy interconnections subpages, read only copy of the cache sub-page with a de office <br/> descriptor for it by including page Request that you be able to get. pstsp refers to a subblock within a subpage. If a subblock is stored exclusively in the subcache and is modified in the subcache,
The CEU requests a post store operation from the local cache. Otherwise, the pstsp instruction has no effect. Cache allocates PRT entry and CEU
Request subpage data from. The cache then presents the post-store message to the interconnect,
To release the PRT entry, to indicate the completion of the instruction to the CEU. CEU proceeds asynchronously. The message is
When it returns to the issuing cache, it is discarded.

【0196】サブページフェッチ命令 mfsva命令は、システムソフトウェアに、サブペー
ジをリードオンリー又は排他的所有権状態で取り込み込
ませ、サブページのSVA位置を特定させる。これによ
り、ソフトウェアは、pcspに要求されるようなDS
TT変換を設定するという努力を節減出来る。
The subpage fetch instruction mfsva instruction causes the system software to fetch the subpage in a read-only or exclusive-ownership state and specify the SVA position of the subpage. This allows the software to use the DS as required by pcsp.
You can save the effort of setting TT conversion.

【0197】サブキャッシュ化サブページフラッシュ命
mflsp命令は、特定されたサブページが局部CEU
にサブキャッシュ記憶されていないことを、キャッシュ
に保証せしめる。もしもサブページが無効−デスクリ
プタ状態又は無効状態にあると、デスクリプタは割り
当てられず、サブページは相互接続部を介して要求され
ない。
Sub-cached sub-page flush order
The mflsp command specifies that the specified subpage is the local CEU.
Causes the cache to guarantee that no sub-cache is stored in. If invalid subpage - to be in de I subscription <br/> descriptor state or invalid state, de I descriptor are not assigned, subpage is not requested via the interconnect.

【0198】サブページ再結合命令 mrcsp命令により、システムソフトウェアは、所有
権を他のキャッシュに移動せしめることによって、ペー
ジに対する活動ディスクリプタの数を減ずることが出来
る。キャッシュのバックグラウンド再結合活動状態と異
なり、この命令はキャッシュ形態パラメータにより制御
されない。
The subpage rejoin instruction mrcsp instruction allows system software to reduce the number of active descriptors for a page by moving ownership to another cache. Unlike the cache background recombination activity, this instruction is not controlled by the cache configuration parameter.

【0199】ページ状態制御命令は、SVAスペースの
個々のページで動作する。
Page state control instructions operate on individual pages of SVA space.

【0200】ディスクリプタアンカー命令 mpsa命令は、SVAページに対する局部キャッシュ
に係留されたでデスクリプタを提供する。もしもデ
スクリプタがmpsa前にに存在したならば、そのア
ンカーフラグがセットされる。そうでないならば、キャ
ッシュはデスクリプタを分配し、次いでアンカーフラ
グをセットする。ページ状態制御動作は、SVAページ
に対して係留されたデスクリプタが、局部キャッシュ
上に存在すべきことを要求する。
[0200] descriptor anchor instruction mpsa instruction provides a de I descriptor in which is anchored to the local cache for the SVA page. If if de I <br/> descriptor was present already before mpsa, its anchor flag is set. If not, the cache distributes de I descriptor, then sets the anchor flag. Page state control operations, de I descriptors anchored against SVA page requests that should be present on the local cache.

【0201】ディスクリプタ書込み命令 mpdw命令は、SVAページを創成、破壊し、且つ既
存のSVAページのデスクリプタフラグを変えるのに
使用される。mpdwは、システムソフトウェアが、m
psaを使用して、先ずそのページに対する係留された
スクリプタを得ることを必要とする。下記の論述
は、係留されたデスクリプタが局部キャッシュ上に存
在することを仮定する。
[0201] descriptor writing instruction mpdw instruction, creating an SVA page, and destruction, and is used to change the de I descriptor flags of existing SVA page. mpdw is the system software
Use psa, first requires to obtain <br/> de I descriptor moored for the page. The following discussion is tethered de I descriptor is assumed to be present on the local cache.

【0202】SVAページの創成 mpsaに続いて、デスクリプタが存在するが、全ペ
ージは無効状態にある。システムソフトウェアは、全サ
ブページ状態が排他的にセットされるべきことを特定す
るmpdwを実行する。これにより、メッセージが、相
互接続部に送られ、それにより関係するリングのメンバ
が、ページの創成に気づくことが出来るようにする。
[0202] Following the creation mpsa of SVA page, but de I descriptor is present, all of the pages are in a disabled state. The system software executes mpdw which specifies that all subpage states should be set exclusively. This causes a message to be sent to the interconnect, thereby allowing the members of the ring concerned to be aware of the creation of the page.

【0203】ここでSVAページが存在するが、そのデ
ータ値は限定されない。ソフトウェアは、使用者にペー
ジを参照せしめる前に、ストア命令又はI/Oを使用し
てそのページをイニシャライズしなければならない。こ
の理由のため、ソフトウェアは、普通、使用者プログラ
ムにアクセス不可能なSVA位置にてページを創成し、
ページデータをイニシャライズし、次いで追って説明さ
れるようにSVAページのアドレスを変更する。ページ
は、アンカーをクリするmpdw命令を実行すること
によって、一般的使用のために解放される。
Although there is an SVA page here, its data value is not limited. The software must use store instructions or I / O to initialize the page before letting the user reference the page. For this reason, software normally creates pages at SVA locations that are inaccessible to user programs,
The page data is initialized and then the address of the SVA page is changed as will be explained later. Page by executing the mpdw instruction to clear the anchor is released for general use.

【0204】SVAページ破壊 mpsa後、システムソフトウェアは、全サブページを
排他的状態で得なければならない。これはmfsva命
令を使用してなされる。次いで、ソフトウェアは、全サ
ブページが無効状態に変化されるべきことを指定するm
pdw命令を実行する。この命令により、メッセージが
相互接続部に送られ、関係のあるリングのメンバがペー
ジの破壊に気づくようにする。SVAページは、この動
作により破壊される。ソフトウェアは、アンカーをクリ
する第2のmpdwを実行することによってデスク
リプタを再使用のために解放する。
After SVA page corruption mpsa, system software must get all subpages in an exclusive state. This is done using the mfsva instruction. The software then specifies that all subpages should be changed to the invalid state.
Execute the pdw instruction. This instruction sends a message to the interconnect so that members of the ring concerned are aware of page corruption. The SVA page is destroyed by this action. Software clear anchor
Release for re-use to Disk <br/> descriptor by performing a second mpdw which A.

【0205】ディスクリプタフィールド変更 mpdw命令は、局部ディスクリプタの種々のフィール
ドを変えるのに使用される。これは、変更、アトミック
変更、書込みなし、アトミックなし及び保持フィールド
をセット又はクリし得、そしてアンカーフィールドを
クリし得る。mpdwは又、タグ、従ってデスクリ
プタと関連するSVAスペースアドレスを変化し得る。
(ディスクリプタのインデックスは、SVAの一部を形
成するから、新タグは定義により同じキャッシュセット
にある。)
Change Descriptor Field The mpdw instruction is used to change various fields of the local descriptor. This change, atomic changes, without writing, Atomic No and set the holding field or cleared to obtain, and may <br/> clear the anchor field. mpdw can also tag may thus vary the SVA space address associated with de I subscription <br/> descriptor.
(The descriptor's index forms part of the SVA, so the new tag is by definition in the same cache set.)

【0206】メモリシステムの一貫性を保証するため
に、システムソフトウェアは、デスクリプタのフィー
ルド又はタグを変える時、特定のルールに従わねばなら
ぬ。mpdwは、ディスクリプタアンカーがセットさ
れるべきことを要求する(命令それ自体はディスクリプ
アンカーのクリをもたらすことがあるかもしれな
いが)。種々のシーケンスは、全サブページが排他的所
有権状態で局部キャッシュに存すべきことを要求する。
これは、各サブページに対してデスクリプタアンカー
をセットし、mfsva.exをセットすることによっ
て遂行される。種々のシーケンスは、全サブページが局
部キャッシュにおいてサブキャッシュ記憶されていない
ことを必要とする。これは、局部CPUにサブキャッシ
ュ記憶されているかもしれない各サブページに対してm
flspを実行することによって遂行される。(mfs
va.exを実行することは、サブページがどの他のセ
ルのCEUによってもサブキャッシュ記憶されていない
ことを保証する。)
[0206] In order to ensure memory system consistency, system software, when you change the field or tag of de I descriptor, unexpected must comply with specific rules. mpdw is a descriptor . Anchor requests that should be set (although the instruction itself may sometimes result in a descriptor. Anchor clear). The various sequences require that all subpages be in exclusive cache with exclusive ownership.
This is, to set the de I descriptor anchor for each sub-page, mfsva. It is accomplished by cell Tsu door the ex. The various sequences require that all subpages are not subcached in the local cache. This is m for each sub-page that may be sub-cached in the local CPU.
This is accomplished by running flsp. (Mfs
va. Executing ex ensures that the subpage is not subcached by the CEU of any other cell. )

【0207】下記のリストは、各フラグ及びタグに対し
て有効に働く制約を与える。
The following list gives valid constraints for each flag and tag.

【0208】(1)アンカーがセットされ、(普通)任
意のデスクリプタタグ又はフラグ変更の一部としてク
される。これは、任意の継続時間セット状態に留ま
ることが出来るが、共有メモリシステムにおいては出来
るだけ早くクリされる。
[0208] (1) anchor is set, it is click <br/> Li A as part of the (usually) any de I descriptor tag or flag changes. This is can stay in any duration set state is soon clear as possible in a shared memory system.

【0209】(2)保持は、制約なしに特定のセル上で
スクリプタを保持又は保持解放するために変更出来
る。
[0209] (2) held, on a particular cell without restriction <br/> de I descriptor the possible changes in order to release the holding or holding.

【0210】(3)アトミック変更及びアトミックなし
を変えることは、全サブページが局部キャッシュ内にお
いて排他的所有権状態にあるべきことを必要とす
[0210] (3) changing the no atomic changes and atomically, all the sub-pages that require it should be in exclusive ownership state in the local cache.

【0211】(4)変更をクリ書込みなしをセッ
トすることは、全サブページが局部キャッシュにおいて
サブキャッシュ記憶されていないことを必要とする。こ
れは、局部サブキャッシュが如何なるサブブロックをも
排他的状態で有さず、又、如何なる変更されたサブブロ
ックをも有さないことを保証する。被変更書込みなしを
変化させる時は、システムソフトウェアは、その変化が
そのページを参照するてのセルにより認識されるべき
か否かを決定し得る。広域的な変化を行うには、全サブ
ページが局部キャッシュにおいて排他的所有権状態にあ
るべきことを必要とする。システムソフトウェアは、普
通、被変更フラグをクリする時広域的な変化をな
す。局部的変化を行うには、どのサブページも排他的所
有権状態にあるべきことを必要としない。しかしなが
ら、これは、新状態の認識の遅延をもたらす。
[0211] (4) clear the changes, to set the no write require that all subpages is not subcached in the local cache. This ensures that the local sub-cache does not have any sub-blocks in an exclusive state, nor does it have any modified sub-blocks. When changing the no-be-modify-write, the system software may determine whether to be recognized by all the hands of the cells to which the change refers to the page. Global changes require that all subpages be in exclusive ownership of the local cache. System software, usually, when clear the target change flag, form a wide-area changes. To make local changes, no subpage needs to be in exclusive ownership state. However, this results in a delay in recognizing the new state.

【0212】(5)タグを変えることによりSVAペー
ジ数を変化させるには、全サブページが排他的所有権状
態にあり、実行中セルでサブキャッシュ記憶されないこ
とを必要とする。
(5) In order to change the number of SVA pages by changing the tag, it is necessary that all subpages are in the exclusive ownership state and are not stored in the subcache in the executing cell.

【0213】単一ビットフィールドの変更は、単一のm
pdw.desc命令で遂行される。この命令は、変化
されたフラグの新値、他のフラグに対する旧値及びタグ
を含む。システムソフトウェアは、ページを係留状態に
維持するため特別の理由を有さなければ、アンカーフラ
グをクリする。
Modifying a single bit field requires a single m
pdw. It is performed by the desc command. This instruction contains the new value of the changed flag, the old value for the other flags, and the tag. System software, unless have special reason to keep the page anchored state, to clear the anchor flag.

【0214】ディスクリプタのSVAページ数を変更す
ることは、旧ページを破壊し次いで同じデータを有する
ことがある新ページを創成することと論理的に同じであ
る。シーケンスは次の如くである。
Changing the number of SVA pages in a descriptor is logically the same as destroying the old page and then creating a new page that may have the same data. The sequence is as follows:

【0215】(1)旧SVAページに対してデスクリ
プタを係留し、排他的所有権状態で各サブページを得
る。どれかのサブページがアトミック又はトランジェン
ト−アトミック状態を有すれば、それは実行中のセルで
取得される。一度全サブページが取得されたら、旧SV
Aへのアクセスは、脱落ページ障害をもたらす。
[0215] (1) anchored to de I subscription <br/> descriptor against the old SVA page, obtaining the subpage in exclusive ownership state. If any subpage has an atomic or transient-atomic state, it will be retrieved in the executing cell. Once all sub-pages have been acquired, the old SV
Accessing A results in a missing page fault.

【0216】(2)各サブページのアトミック状態の決
定。これは各サブページについてgsp.nwtを実行
し、得られた@MEMインジケータを試験することによ
って最も迅速に遂行される。旧SVAのサブページに対
するgsp.wtをに実行しているセルは、究極的に
タイマー中断をもたらし、そしてgsp.wtが再開さ
れる時、脱落ページ障害をもたらす。
(2) Determination of atomic state of each subpage. This is for each subpage gsp. Most quickly accomplished by running nwt and testing the resulting @MEM indicator. The gsp. cells running wt to already leads to ultimately timer interruption, and gsp. When wt is restarted, it results in lost page faults.

【0217】(3)全サブページを無効状態に変えるた
めmpdw.alliを使用。この命令は、局部CCU
に、SVAページが破壊されつつあることを局部CIU
及びRRC(もし要すれば)へ報知せしめる。全サブペ
ージが無効状態に変更されてさえ、データは局部CCU
に留まる。
(3) In order to change all subpages to the invalid state, mpdw. Use alli. This command is for the local CCU
The local CIU that the SVA page is being destroyed.
And RRC (if required). Even if all sub-pages are changed to invalid state, the data will not
Stay in.

【0218】(4)タグ及びセットフラグを所望の状態
に変えるためmpdw.descを使用。新アンカーフ
ラグがセットされねばならない。
(4) In order to change the tag and set flag to a desired state, mpdw. Use desc. The new anchor flag must be set.

【0219】(5)全サブページを排他的状態に変える
ためmpdw.allxを使用。この命令は、局部CC
Uに、SVAページが創成されつつあることを局部CI
U及びRRC(もし要すれば)へ報知せしめる。旧デー
タは、ここで排他的状態にあると認識される。
(5) In order to change all subpages to an exclusive state, mpdw. Use allx. This command is a local CC
In U, local CI that SVA page is being created
Notify U and RRC (if required). The old data is now considered to be in an exclusive state.

【0220】(6)各サブページの保存されたアトミッ
ク状態の復旧。保存状態にあった各サブページに対し
て、gsp.nwtを発行。
(6) Restoring the saved atomic state of each subpage. For each subpage in the saved state, gsp. Issue nwt.

【0221】(7)アンカーフラグをクリするためm
pdw.descを使用。
[0221] (7) for the anchor flag cleared m
pdw. Use desc.

【0222】ディスクリプタ.書込みなしの使用は、次
のことを含む。すなわち特定のデータの不注意な変更の
防止、書込み時コピー/アクセス時コピープロトコルの
支持、デバッガ監視点である。第1の場合、書込みなし
がセットされ、セット状態に留まる。第2の場合、プロ
グラムがページを変更しようとすると、システムソフト
ウェアは、他のユーザに利用可能なページのコピーを作
り、次いで書込みなしをクリすることによって応答出
来る。ソフトウェアは、この変化を局部的又は広域的に
なし得る。前者の場合、そのページを参照する他のセル
上で書込みなし障害が起こり続けよう。最後に、デバッ
ガ監視点は、コンテキストアドレススペースの特定の領
域の変更を検出する、例えば、広域変数が破壊されつつ
あるところを見出すことが意図される。システムソフト
ウェアは、そのページに対して書込みなしを設定し、各
変更試行をトラップすることによってこれを実施する。
監視範囲以外の変更に対して、ソフトウェアは、そのペ
ージを係留し、書込みなしをクリし、データを変更
し、データをサブキャッシュから放出し、書込みなしを
セットし、そして進行する。書込みなしに対して広域的
変更をなすことによって、監視点サポートを実施するこ
とが出来る。
Descriptor. Uses without writing include: That is, prevention of inadvertent modification of specific data, support of copy-on-write / copy-on-access protocol, and debugger monitoring point. In the first case, no write is set and remains set. In the second case, when the program tries to change the page, system software, make a copy of the pages available to other users, then can respond by clear the no writing. Software can make this change locally or globally. In the former case, no write failures will continue to occur on other cells referencing the page. Finally, the debugger watchpoint is intended to detect changes in specific areas of the context address space, for example to find where global variables are being destroyed. The system software does this by setting no writes for the page and trapping each modification attempt.
To changes in other than the monitoring range, software, anchored to the page, the no write clear and A, change the data, to release data from the sub-cache sets without writing, and proceeds. Watchpoint support can be implemented by making global changes to no writes.

【0223】ページローカル発見−LRUルックアップ
命令 mfpl命令は、キャッシュのLRUスペース内の特定
の1組をサーチして、特定の1組の基準に適合するディ
スクリプタを求める。サーチは、LRU位置15におけ
るディスクリプタで始まり、基準に合格するまで上昇進
行する。
Page Local Discovery-LRU Lookup
The instruction mfpl instruction searches a particular set in the LRU space of the cache for descriptors that meet the particular set of criteria. The search begins with the descriptor at LRU position 15 and progresses up until the criteria is met.

【0224】命令及びデータシステムアドレススペース
分割 正しい動作を保証するためには、キャッシュは、いつサ
ブページもCEUに存在するかを知らなければならな
い。これにより、キャッシュは、相互接続部(又は更に
は局部CEU)からのある要求がサブページ状態変化を
要求する時サブキャッシュ無効化を要求することが出
来る。
Instruction and data system address space
Split To ensure correct operation, the cache must know when subpages are also in the CEU. Thus, cache, when the interconnect (or even the local CEU) is from request to request subpage state change may require the sub-cache invalidation.

【0225】この機構の一部として、CEUは、サブキ
ャッシュ記憶状態を変化させる時、キャッシュと通信す
る。しかしながら、キャッシュは、サブキャッシュ毎の
情報を維持しない。その結果、SVAスペースの同じサ
ブページは、両サブキャッシュに同時に現われてないは
ずである。一般に、これは、同じSVA領域が命令及び
データの両者として使用出来ないというシステムソフト
ウェアをもたらす。自己修正プログラムすなわちコード
及びデータが同じコンテキストアドレスセグメントの一
部であるプログラムは、支持されない。
As part of this mechanism, the CEU communicates with the cache when changing the subcache storage state. However, the cache does not maintain per sub-cache information. As a result, the same subpage of SVA space should not appear in both subcaches at the same time. In general, this results in system software in which the same SVA area cannot be used as both instruction and data. Self-modifying programs, i.e. programs whose code and data are part of the same context address segment, are not supported.

【0226】システムソフトウェアは、下記の場合特別
の注意を払わねばならない。 (1)ブレークポイントを挿入又は除去する場合のよう
に、命令を変更する場合。 (2)デバッガによるトラップ分析又はプログラム分解
操作の一部としての命令の読み取り。 (3)命令ページとなるI/Oデバイスからのページの
読取り。
System software must take special care in the following cases: (1) When changing an instruction, such as when inserting or removing a breakpoint. (2) Reading instructions as part of a trap analysis or program decomposition operation by a debugger. (3) Read the page from the I / O device that will be the instruction page.

【0227】命令をデータとして読むために、システム
ソフトウェアは、次の動作を行わなければならない。 (1)SVAを書き込むDSTTエントリを構成する。 (2)サブページが命令サブキャッシュにないことを保
証する(mflspを使用)。 (3)データとして命令を読み取る(1d64.nsc
を使用)。 (4)DSTTエントリ無効化。 命令サブページをデータとして書き込むためには、シス
テムソフトウェアは次の動作を行わなければならない。 (1)SVAを書き込むDSTTエントリを構成する。 (2)サブページがどの命令サブキャッシュにも存在し
ないことを保証する(ページを係留するためにmpsa
を使用し、ての他のキャッシュ及びサブキャッシュ内
のサブページを無効化するためmfsva.exを使用
する)。 (3)包含するサブブロックを引き出す(1d64.n
scを使用)。 (4)サブブロックを変更し、命令をデータとして書き
込む(st64.nsc)。 (5)ページ係留を解放。 (6)DSTTエントリを無効化。
In order to read the instruction as data, the system software must perform the following operations. (1) Configure a DSTT entry to write SVA. (2) Ensure that the subpage is not in the instruction subcache (using mflsp). (3) Read the command as data (1d64.nsc
use). (4) Invalidate the DSTT entry. To write the instruction subpage as data, the system software must do the following: (1) Configure a DSTT entry to write SVA. (2) Ensure that the subpage does not exist in any instruction subcache (mpsa to moor pages)
Using, Mfsva to invalidate subpages other caches and sub cache of all hands. use ex). (3) Extract the sub-block to be included (1d64.n
sc)). (4) Change the sub-block and write the instruction as data (st64.nsc). (5) Release page mooring. (6) Invalidate the DSTT entry.

【0228】命令ページは普通純粋であり、システムS
VAスペース管理の一部として、SVAスペースからI
/Oデバイスに書き込まれることを必要としない。命令
ページを書き込む前に、システムソフトウェアは下記の
動作をしなければならない。 (1)サブページがどのサブキャッシュにも存在しない
ことを保証する(ページを係留するためにmpsaを使
用し、ての他のキャッシュ及びサブキャッシュのサブ
ページを無効化するためにmfsva.exを使用)。
このセルがこのページを実行することが決してなけれ
ば、このステップは必要としない。 (2)I/Oを遂行する。 (3)ページがデータキャッシュに存在しないことを保
証する(mflspを使用)。このセルがこの命令ペー
ジを実行することがけっしてなければ、このステップは
必要とされない。 (4)ページの係留を解放する。
The instruction page is normally pure and the system S
As part of VA space management
/ O device does not need to be written. Before writing the instruction page, the system software must: (1) mfsva.ex to also ensure that does not exist in the subpage which subcache (use the mpsa to anchor the page, invalidating the subpage other caches and subcaches all hands use).
If this cell never executes this page, this step is not needed. (2) Perform I / O. (3) Guarantee the page does not exist in the data cache (using mflsp). If this cell never executes this instruction page, then this step is not required. (4) Release page moorings.

【0229】I/Oデバイスからの命令ページをSVA
スペースに読み取る時、システムソフトウェアは次の動
作を行わなければならない。 (1)ページを創成する(ページを割り当て係留するた
めmpsaを使用し、ページの創成を完了するためmp
dwを使用する)。 (2)I/Oを遂行する。 (3)ページがデータサブキャッシュ内に存在しないこ
とを保証する(mflspを使用して)。このセルがこ
の命令ページを実行することが決してなければ、このス
テップは必要とされない。 (4)ディスクリプタ変更フラグをクリし、サブペー
ジアトミック状態のような他のディスクリプタの属性及
びディスクリプタ書込みなしをセットする。 (5)ページの係留を解放する。
SVA the instruction page from the I / O device
When reading into space, the system software must do the following: (1) Creating a page (using mpsa to allocate and moor pages, mp to complete page creation)
dw). (2) Perform I / O. (3) Ensure that the page is not in the data subcache (using mflsp). If this cell never executes this instruction page, this step is not needed. (4) a descriptor change flag clear and A, other descriptor attributes and descriptors, such as subpage atomic state. Set No write. (5) Release the mooring of the page.

【0230】RRC組織及びデータ構造 本発明に従って構成される好ましいRRCは、各々単一
のサブリングに接続される2つの独立のバンクに組織化
される。1〜4のRRCのバンクが低順序ページアドレ
ス及び交互配置の構成程度に基づいて交互配置される
(インタリーフされる)。交互配置(インリービン
グ)は、システム構成中スタティックに構成される。リ
ング:0に接続されるRRCはRRC:0と称され、リ
ング:1に接続されるRRCは、RRC:1と称され
る。
RRC Organization and Data Structures The preferred RRCs constructed in accordance with the present invention are organized into two independent banks, each connected to a single sub-ring. Banks of 1-4 RRCs are interleaved based on the low order page address and the degree of interleaved configuration. Interleaved (in data Ribin <br/> grayed) is configured in the system configuration in Sutate I click. The RRC connected to Ring: 0 is referred to as RRC: 0 and the RRC connected to Ring: 1 is referred to as RRC: 1.

【0231】単一リング:1形態の場合、RRC:0及
びRRC:1の両者が、SVA[14]に基づいてインタリ
ーフされている。第19図は、1つのかかる好ましい
形態を描いている。
In the case of the single ring: 1 form, both RRC: 0 and RRC: 1 are interleaved based on SVA [14]. The Figure 19 A, depicts one such preferred embodiment.

【0232】1つのRRC:0を持つ二重リング:1形
態(TwoRing:1/1)の場合、単一のRRC:0がSVA[1
4]に基づいてインタリーフされ、2つのリング:1RR
CがSVA[15:14]に基づいてインタリーフされる。第
19図Bは1つの好ましいかかる形態を描いている。
In the case of a dual ring: 1 type (TwoRing: 1/1) having one RRC: 0, a single RRC: 0 is SVA [1
4] interleaved, 2 rings: 1RR
C is interleaved based on SVA [15:14]. FIG. 19B depicts one preferred such configuration.

【0233】2つのRRC:0を有する二重リング:1
形態(TwoRing:1/2)の場合、RRC:0がSVA[15:14]
に基づいてインタリーフされ、2つのRRC:1がSV
A[15:14]に基づいてインタリーフされる。第19C図
は、1つのかかる好ましい形態を描いている。
Duplex ring with two RRC: 0:
In the case of form (Two Ring: 1/2), RRC: 0 is SVA [15:14]
Based on the two RRC: 1 SV
Interleaf based on A [15:14]. FIG. 19C depicts one such preferred form.

【0234】4リング:1形態の場合、2つのRRC:
0がSVA[15:14]に基づいてインタリーフされ、4つ
のリング:1RRCがSVA[15:14]に基づいてインタ
リーフされる。第19D図は好ましいかかる形態を描い
ている。
In case of 4-ring: 1 form, two RRCs:
0 is interleaved based on SVA [15:14] and four rings: 1 RRC are interleaved based on SVA [15:14]. FIG. 19D depicts such a preferred form.

【0235】多重RRC:0は、TwoRing:1/2及びFourR
ing:1形態に対しては単一のリング:0上にある。多重
RRC:1は、Tworing:1/1,TwoRing1/2及びfourRing:1
形態の場合別個のリング:1上に構成される。
Multiple RRC: 0 is TwoRing: 1/2 and FourR
For the ing: 1 form it is on a single ring: 0. Multiple RRC: 1 is Tworing: 1/1, TwoRing1 / 2 and fourRing: 1
In the case of a form, it is constructed on a separate ring: 1.

【0236】第6図は、本発明にって構成された好ま
しいリングルート設定セル対(RRC対又はRRCP)を示し
ている。対は、単一の通信線、例えばバス、光伝送接続
(以下においてリング間リンクと称す)により接続され
たRRC:0及びRRC:1を含む。ダウンリンクRR
Cは、RRC対の反対のRRCである。同じリング:0
に接続されたRRC対は、RRCアレイと称される。セ
ルすなわちリング:0について論述する時、局部RRC
又はRRC対は、同じリング:0上に共存するRRC又
はRRC対である。遠隔RRC又はRRC対は、局部的
でないこれらのてのRRCである。
[0236] FIG. 6 shows a preferred ring routing cell pair to the present invention configured I slave the (RRC pair or RRCP). The pair comprises RRC: 0 and RRC: 1 connected by a single communication line, eg a bus, an optical transmission connection (hereinafter referred to as an inter-ring link). Downlink RR
C is the opposite RRC of the RRC pair. Same ring: 0
The RRC pair connected to is called the RRC array. When discussing cell or ring: 0, the local RRC
Or an RRC pair is an RRC or RRC pair that co-exists on the same ring: 0. Remote RRC or RRC pair are those of the whole hand RRC not localized.

【0237】各RRCバンクは、3つのセクション、す
なわち、ルート設定相互接続部、ルート設定ディレクト
リ及びリング間バッファより成る。ルート設定相互接続
部は、リング相互接続部のRRC部分を実施し、ルート
設定ディレクトリに対してインターフェースを提供し、
挿入及び抽出バッファによりRRC内部ルート設定バス
にリングをインターフェース接続する。ルート設定バス
は、2つの32ビット路より成る。抽出バッファからの
パケットは、リンクへのルート設定バスを経てリング間
ドラムバッファに転送される。パケットは、リングへの
ルート設定バスを経てIBUからRI挿入バッファへ転
送される。IBUは又、パケットを、リンクへのルート
設定バスを経てエラー記録のためリング間ドラムバッフ
ァに転送する。
Each RRC bank consists of three sections: a routing interconnect, a routing directory and an inter-ring buffer. The Routing Interconnect implements the RRC part of the Ring Interconnect and provides an interface to the Routing Directory,
The insert and extract buffers interface the ring to the RRC internal routing bus. The routing bus consists of two 32-bit paths. Packets from the extract buffer are transferred to the inter-ring drum buffer via the routing bus to the link. The packet is transferred from the IBU to the RI insertion buffer via the routing bus to the ring. The IBU also transfers the packet to the inter-ring drum buffer for error recording via the routing bus to the link.

【0238】ルート設定ディレクトリは、RRC対が接
続されるリング:0内のての割り当てられたページに
対するエントリを含む。ルート設定ディレクトリは、ル
ート設定ディレクトリユニット(RDU)及び実際のラ
ムベースのディレクトリより成る。RDUは、ディレク
トリアクセスシーケンスを制御し、ルート設定ルールを
含む。各パッケージに対して、ルート設定相互接続部
は、pkt.addr、pkt.コマンド、及びfif
o状態をルート設定ディレクトリに通す。ルート設定デ
ィレクトリは、ルート設定コマンド及びパケットコマン
ドを更新するための命令をルート設定相互接続部に帰
す。リングに関連する交互配置は、RdMasterC
onfig位置により特定される。
[0238] Routing directory, ring RRC pair is connected: including an entry for all hands of allocated pages in the 0. The Routing Directory consists of a Routing Directory Unit (RDU) and the actual ram-based directory. The RDU controls the directory access sequence and contains routing rules. For each package, the routing interconnect is called pkt. addr, pkt. Command, and fif
Pass the o state to the routing directory. The routing directory returns instructions for updating routing commands and packet commands to the routing interconnect. The interleaved arrangement associated with the ring is RdMasterC.
Identified by the onfig position.

【0239】リング間バッファは、リング相互接続部抽
出バッファからの到来パケットに緩衝作用し、リング間
リンクにインターフェース接続する。リング間バッファ
は、リング間バッファユニット(IBU)、リング間ドラム
バッファ(IDB)及びリング間リンクインターフェースよ
り成る。IDBは、パケットがリング間リンクを介して
ダウンリンクRRCに伝送されてしまい、そして確認が
帰されるまで、ルート設定相互接続部からのてのパケ
ットに緩衝作用する。IDBは又、RRCエラーキュー
を含む。IBUは、出リング間リンクパケットに緩衝作
用してフォーマット化し、リング間リンク到来パケット
に対してエラーチェック及びバッファ作用を提供し、I
DBを制御する。リング間リンクインターフェースは、
32ビットワイドIBU出パケット及び到来パケットを
物理的リンクフォーマットに、又はその逆に変換する。
The inter-ring buffer buffers incoming packets from the ring interconnect extraction buffer and interfaces with the inter-ring link. The inter-ring buffer consists of an inter-ring buffer unit (IBU), an inter-ring drum buffer (IDB) and an inter-ring link interface. IDB, the packet will be transmitted to downlink RRC via the link between rings, and until confirmation is attributed to the buffering action into packets of all the hands from Routing interconnects. The IDB also contains the RRC error queue. The IBU buffers and formats outgoing inter-ring link packets and provides error checking and buffering for incoming inter-ring link packets.
Control the DB. The inter-ring link interface is
Converts 32-bit wide IBU outgoing and incoming packets to physical link format and vice versa.

【0240】RRCバンクは、別個のリング間リンクに
接続するように、あるいは単一のリング間リンクを共有
するように構成出来る。二重リング間リンク構成におい
ては、リング間リンクは完全に独立的である。単一のリ
ング間リンク構成において、両RRCバンクは単一のリ
ング間リンクを共有する。リング間リンクは、RRCバ
ンクのIBUに接続される。RRCは、リング間リンク
を共有するように調停される。IBUインタリーフ構成
及びパケットアドレスで、到来パケットがどのバンクに
ルート設定されるかを決定する。
RRC banks can be configured to connect to separate inter-ring links or to share a single inter-ring link. In a dual inter-ring link configuration, the inter-ring links are completely independent. In a single inter-ring link configuration, both RRC banks share a single inter-ring link. The inter-ring link is connected to the IBU of the RRC bank. RRC is arbitrated to share the inter-ring link. The IBU interleaf structure and packet address determine which bank an incoming packet is routed to.

【0241】RRCは、UCSシステム障害検出戦略に
合致している。てのバスは、パリティ及びEEC保護
されている。パリティ又はECCは、可能な時に再生さ
れるのではなく、チップを通される。てのdram及
び大型sramデータ構成は、EEC保護される。単一
ビットソフト又はハードエラーは、致命的システムエラ
ー(システムリブートを必要とする)を引き起こすこと
なく、且つ可能ならばソフトウェア透過性態様で修正さ
れる。高エラー率を予測するデータリンク(リング間リ
ンク)は、ソフトウェア透過性フレームレベル動作を行
なう。フレームレベル動作は、エラーが検出される再伝
送を含め、フレームのエラーのない伝送を保証する。
RRC is consistent with the UCS system failure detection strategy. Bus of all hands, are parity and EEC protection. Parity or ECC is passed through the chip rather than regenerated when possible. Dram and large sram data structure of the entire hand, are EEC protected. Single bit soft or hard errors are corrected without causing a fatal system error (requiring a system reboot) and possibly in a software transparent manner. Data links that predict high error rates (inter-ring links) perform software transparent frame level operations. Frame level operation ensures error free transmission of frames, including retransmissions where errors are detected.

【0242】ルート設定相互接続部 構成 各ルート設定相互接続部(RI)は、RRCバンクを、サブ
リング、RRC内部ルート設定バス及びルート設定ディ
レクトリにインターフェース接続する。RIは、2つの
ルート設定相互接続部ユニット(RIU)として実施され
る。本発明に従って構成された好ましいRIUが第7図
に例示されている。各RIUは、16バイトワイドリン
グの半分及び8バイトワイドルート設定バスの半分にイ
ンターフェース接続される。2つのRIUは、パケット
のアドレス及びコマンドフィールドをルート設定ディレ
クトリにパスし、ルート設定ディレクトリは、パケット
ルート設定コマンド、新パケットコマンド及びエラー状
態を戻す。
Routing Interconnection Configuration Each Routing Interconnection (RI) interfaces the RRC bank to the sub-ring, RRC internal routing bus and routing directory. The RI is implemented as two Routing Interconnect Units (RIUs). A preferred RIU constructed in accordance with the present invention is illustrated in FIG. Each RIU is interfaced to half a 16-byte wide ring and half an 8-byte wide routing bus. The two RIUs pass the address and command fields of the packet to the routing directory, which returns the packet routing command, new packet command and error status.

【0243】各パケットは、リング上にある間10の1
6バイト二重ワード(20ワード)より成る。各長いパ
ケット(データを含む)は、各RIU抽出バッファに9
ワードで、挿入バッファに10ワードで記憶される。各
短いパケット(データなし)は、各RIU抽出バッファ
に1ワードで、そして挿入バッファに2ワードで記憶さ
れる。RIU0及びRIU1は、リングデータ[63:0]及
びリングデータ[127:64]にそれぞれインターフェース接
続する。RIU0及びRIU1抽出バッファは、リンク
へのルート設定バス[15:0]及びリンクへのルート設定バ
ス[31:16]にそれぞれインターフェース接続される。R
IU1及びRIU1挿入バッファは、リングへのルート
設定バス[15:0]及びリングへのルート設定バス[31:16]
にそれぞれインターフェース接続される。
Each packet is a 1 of 10 while on the ring.
It consists of 6-byte double words (20 words). Each long packet (including data) is 9 in each RIU extraction buffer.
In words, 10 words are stored in the insert buffer. Each short packet (no data) is stored one word in each RIU extract buffer and two words in the insert buffer. RIU0 and RIU1 interface with ring data [63: 0] and ring data [127: 64], respectively. The RIU0 and RIU1 extract buffers are interfaced to the routed bus to the link [15: 0] and the routed bus to the link [31:16], respectively. R
The IU1 and RIU1 insertion buffers are routed to the ring [15: 0] and routed to the ring [31:16]
Interfaced to each.

【0244】RIUのリングイン−リングアウト部分
は、6段階シフトレジスタより成る。パケットは、シフ
トレジスタから抽出バッファにコピー又は抽出出来、挿
入バッファからのパケットは、シフトレジスタに挿入出
来る。挿入及び抽出バッファはFIFO規則で管理され
る。
The ring-in-ring-out part of the RIU consists of a 6-stage shift register. Packets can be copied or extracted from the shift register into the extraction buffer, and packets from the insertion buffer can be inserted into the shift register. The insert and extract buffers are managed by FIFO rules.

【0245】RI動作 リング相互接続部は、2つのソースから2つのデスティ
ネーションにルート設定される。ソースは、先行のリン
グ相互接続部及び挿入バッファである。先行のリング相
互接続部からのパケットは、リングパケットと称され、
挿入バッファからのパケットは挿入パケットと称され
る。デスティネーションは、次のリング相互接続部及び
抽出バッファである。次のリング相互接続部に出るパケ
ットは、リングパケットと称され、抽出バッファへ出る
パケットは抽出パケットと称される。挿入パケットは挿
入バッファに供給され、抽出パケットはリング間バッフ
ァユニット(IBU)により抽出バッファから取り出され
る。
RI Operation Ring interconnects are routed from two sources to two destinations. The sources are the preceding ring interconnect and the insert buffer. Packets from the preceding ring interconnect are called ring packets,
Packets from the insert buffer are called insert packets. The destination is the next ring interconnect and extract buffer. The packet that exits the next ring interconnect is called a ring packet and the packet that exits the extraction buffer is called an extraction packet. The insertion packet is supplied to the insertion buffer, and the extraction packet is extracted from the extraction buffer by the inter-ring buffer unit (IBU).

【0246】パケットのアドレス及びコマンドフィール
ドは、ルート設定ディレクトリに通され、ルート設定デ
ィレクトリはパケットルート設定コマンドを戻す。RI
は、パケットルート設定コマンドが得られるまで全ての
パケットを緩衝記憶する。リングエンプティフィールド
の表明は、リングパケットが空(エンプティ)であるこ
とを指示する。ノンエンプティリングパケットは、常に
挿入パケットに代わって処理される。リングパケットが
空であり、挿入パケットが空でないと、次の挿入バッフ
ァパケットは、リング相互接続部により処理される。
The address and command fields of the packet are passed through the routing directory, which returns the packet routing command. RI
Buffers all packets until a packet routing command is obtained. The assertion of the ring empty field indicates that the ring packet is empty. Non-empty packets are always processed instead of insert packets. If the ring packet is empty and the insert packet is not empty, the next insert buffer packet is processed by the ring interconnect.

【0247】ルート設定ディレクトリからのコマンド
は、パケットルート設定、パケットフィールド、抽出バ
ッファ、及び挿入バッファコマンドより成る。
The commands from the route setting directory consist of packet route setting, packet field, extract buffer, and insert buffer commands.

【0248】全パケットに対するパケットルート設定コ
マンドは、パス及び空である。パケットパスコマンド
は、リング相互接続部が全パケットを無変更で次のリン
グ相互接続部に通すべきことを特定する。パケット空コ
マンドは、リング相互接続部が、リングエンプティ信号
及びパケット命令CmdEmptyフィールドをセット
することによりパケットを空にすることを特定する。C
mdRequestIdフィールドがリング相互接続部
CellNumberフィールドと整合する全パケット
は、無条件で空にされ、ルート設定ディレクトリ命令は
必要とされない。これにより、リングエンプティ信号
は、ルート設定ディレクトリからのコマンドを待つ時に
可能なよりも速くセット可能となる。
The packet route setting commands for all packets are path and empty. The packet path command specifies that the ring interconnect should pass all packets unchanged to the next ring interconnect. The empty packet command specifies that the ring interconnect should empty the packet by setting the ring empty signal and the packet command CmdEmpty field. C
All packets whose mdRequestId field matches the ring interconnect CellNumber field are unconditionally emptied and no routing directory instruction is required. This allows the ring empty signal to be set faster than is possible when waiting for a command from the routing directory.

【0249】抽出バッファコマンドは、ノープッシュ及
びプッシュである。ノープッシュコマンドは、抽出バッ
ファが現在パケットを記憶しないことを特定する。プッ
シュコマンドは、現在リングパケットが抽出バッファに
コピーされるべきことを特定する。
Extract buffer commands are no push and push. No push command extraction buffer identifies that does not store the current packet. The push command specifies that the current ring packet should be copied to the extraction buffer.

【0250】挿入バッファコマンドは、ノーポップ及び
ポップである。ノーポップコマンドは、挿入バッファト
ップパケットが挿入されなかったことを特定する。ポッ
プコマンドは、挿入バッファトップパケットが処理され
てしまい、ポップされていることを特定する。
Insert buffer commands are no-pop and pop. The no-pop command specifies that the insert buffer top packet was not inserted. The pop command specifies that the insert buffer top packet has been processed and has been popped.

【0251】パケットフィールドコマンドは、どの出パ
ケットコマンドフィールドが変更されるかを特定する。
変更出来るパケットコマンドフィールドは、下記の表に
示される。pkt.Freezeを除く全フィールド
は、pkt命令[31:0]内にある。
The packet field command specifies which outgoing packet command field is changed.
The packet command fields that can be modified are shown in the table below. pkt. All fields except Freeze are in the pkt instruction [31: 0].

【0252】[0252]

【表1】 [Table 1]

【0253】パケットは、エンプティパケットルート設
定コマンド及びプッシュ抽出バッファコマンドにより抽
出される。パケットは、パスパケットルート設定命令及
びプッシュ抽出バッファ命令によりコピーされる。
The packet is extracted by the empty packet route setting command and the push extraction buffer command. The packet is copied by the path packet route setting instruction and the push extraction buffer instruction.

【0254】抽出バッファ管理 抽出バッファは、短(2ワード)及び長(18ワード)パ
ケットの組合せを保持する。これ512ワードに等し
い。これは、最大、長いもので18、短いもので256
のパケット、又は長/短パケットの組合せを生ずる。ピ
ークサブリングパケットレートは、IBMが抽出アルゴ
リズムを空にし得るレートを越すから、抽出バッファ管
理フロー制御アルゴリズムが必要とされる。制御アルゴ
リズムは、システムのロードの低減との関連における順
方向の進行の最大化の原理に基づく。進行における完成
要求へ向けてシステムの資源の割当を優先すると、これ
らの両目標が達成される。なぜならば、1つの要求を完
成することは、同時にシステムのロードを減じ、最も効
率的な順方向の進行を達成する。制御アルゴリズムは、
パケットの類別及びリングフロー制御機構の使用に基づ
く。
Extraction Buffer Management The extraction buffer holds a combination of short (2 words) and long (18 words) packets. This is equal to 512 words. It has a maximum of 18 for long and 256 for short.
, Or a combination of long / short packets. The extraction buffer management flow control algorithm is required because the peak sub-ring packet rate exceeds the rate at which IBM can empty the extraction algorithm. The control algorithm is based on the principle of maximizing forward progression in the context of reducing system load. Both of these goals are achieved by prioritizing the allocation of system resources towards completion requirements in the process. Because completing one request simultaneously reduces the load on the system and achieves the most efficient forward progression. The control algorithm is
Based on packet classification and the use of ring flow control mechanisms.

【0255】リング抽出バッファ内の空スペースは、2
つの形態化可能なポインタ、ExtractAllThreshold及びE
xtractRspThresholdにより4つの領域に分割される。現
在領域は、抽出バッファに残る空ワードの数によって選
択される。空からフル状態に向かう領域は、ExtBuf:Al
l,ExtBuf.NonOpt,ExtBuf:PendReq及びExtBuf:Fullであ
る。抽出バッファ状態はRRCバンク当りの単位ベース
で維持される。これらの領域の境界は、ソフトウェアに
より形態化可能である。リングパケットは、抽出バッフ
ァ管理のため、3つの相互に排他的なカテゴリーに群別
される。
The empty space in the ring extraction buffer is 2
Two configurable pointers, ExtractAllThreshold and E
It is divided into four regions by xtractRspThreshold. The current region is selected by the number of empty words remaining in the extraction buffer. The area from the sky to the full state is ExtBuf: Al
l, ExtBuf.NonOpt, ExtBuf: PendReq and ExtBuf: Full. The extract buffer state is maintained on a per RRC bank basis. The boundaries of these regions are software configurable. Ring packets are grouped into three mutually exclusive categories for extraction buffer management.

【0256】(1)オプショナルパケット 下記の遠隔的に発せられたパケットはコヒーレンシ
観点からオプショナルである。すなわち、 −Pendle:None及びSpState:{Inv|Ro}と再結合。 −局部リング:0内にサブページのリードオンリーコピ
ーなしに関するDuplicate.data。 −局部リング:0内のサブページのリードオンリーコピ
ーなしに関するsva read ro.data。 (2)ノンプショナルパケット 遠隔的に発された要求を完成するために、SpStateに基
づいて抽出されねばならない。オプショナルパケットを
含まない。 (3)局部的に発せられるパケット、又はRRCペンデ
ィング要求(RRC:0Pend{1,2,3},RRC:1Pend{1,2,3,4,5})
を満足するパケット。
(1) Optional packet The following remotely emitted packets are coherency-of
It is optional from the point of view. That is, -Rejoin with Pendle: None and SpState: {Inv | Ro}. -Local ring: Read-only copy of subpage in 0
-Duplicate.data regarding nothing. -Local ring: Read-only copy of subpage in 0
-No sva read ro.data. (2) Non-optional packet Based on SpState to complete a remotely issued request.
Must be extracted first. Optional packet
Not included. (3) Locally originated packet or RRC pende
Request (RRC: 0Pend {1,2,3}, RRC: 1Pend {1,2,3,4,5})
Satisfy the packet.

【0257】これらのパケットのカテゴリーは、下記の
ように4つの抽出バッファ領域で処理される。すなわ
ち、
These packet categories are processed in the four extraction buffer areas as follows: That is,

【表2】 [Table 2]

【0258】ExtBuf:All領域において、Enpty及びExtra
ctAllThreshold間で、通常抽出バッファにコピーされる
全パケットがコピーされる。ExtBuf:NonOpt領域におい
て、ExtractAllThreshold及びExtractRspThreshold間
で、通常抽出バッファにコピーされるであろうてのノ
ンオプショナルパケット及び応答パケットがコピーされ
る。全オプショナルパケットはパスされる。抽出バッフ
ァ及びRRCは、オプショナルロードが更に到来するに
つれ、それを放棄する。ExtBuf:PendReg領域において、
ExtractRspThreshold及びFull間で、RRCペンディン
グ要求に関するパケットのみが受け入れられる。ての
オプショナルパケット及びノンオプショナルパケット
(新しい到来要求を含む)は、レスポンダビジー(rsp b
usy)又はインバリデイタービジー(inv busy)の表明によ
ビジーとなる。RRCは、過負荷状態を解放するた
め、オプショナルロード及び新要求の両者を放棄する。
In the ExtBuf: All area, Enpty and Extra
Between ctAllThreshold, all packets normally copied to the extraction buffer are copied. Extbuf: In NonOpt region, between ExtractAllThreshold and ExtractRspThreshold, non optional packets and response packets of all would be copied manually is copied in the normal extraction buffer. All optional packets are passed. The extraction buffer and RRC discard it as more optional loads arrive. In the ExtBuf: PendReg area,
Between ExtractRspThreshold and Full, only packets for RRC pending request are accepted. Optional packets and non-optional packets of all the hand (including the new incoming requests) is responder busy chromatography (rsp b
usy) or in Bali Day Tha busy over (inv It is busy over by the assertion of the busy). The RRC gives up both the optional load and the new request to release the overload condition.

【0259】抽出バッファがフル状態であると、RIU
はオプショナルパケットをパスし、ノンオプショナル要
求にレスポンダビジー又はインバリデイタービジーを表
明する。もしもパケットがこのRRCにより発せられる
要求に対する応答であると、パケットはリング上に残
り、pkt.cmd.timestampフィールドはクリされる。R
RCペンディング要求に関するパケットのみが第3領域
において受け入れられるから、パッケージは、リングを
回る後続の移動の際にコピーされることになる。パケッ
トがその二度目の回転途上にあるという事実は、リング
内のてのセルに透過性(明らか)である。もしも、ペ
ンディング要求(snarf)を満足するパケットを除き、パ
ケットがこのRRCにより発せられる要求に対する応答
でないと、ペンディング要求状態は、Pend4:Reissue状
態に転換される。
When the extraction buffer is full, the RIU
It will pass optional packets, assert responder busy over or Invaritar Day coater busy over to non optional request. If If the packet is a reply to a request issued by the RRC, packet remains on the ring, Pkt.Cmd.Timestamp field is cleared. R
Since only packets for RC pending requests will be accepted in the third region, the package will be copied on subsequent moves around the ring. The fact that a packet is in its second time of the rotation developing is transparent to the cells of the entire hand in the ring (apparent). If the packet is not a response to a request issued by this RRC, except for packets that satisfy the pending request (snarf), the pending request state is converted to Pend4: Reissue state.

【0260】ルート設定ディレクトリ ルート設定ディレクトリ組織 ルート設定ディレクトリは、ルート設定ディレクトリユ
ニット(RDU)及び実際のramベースのディレクトリ
より成る。RUDは、ディレクトリアクセスシーケンス
を制御し、ルート設定ルールを含む。ルールの好ましい
実施は、SPAルールをハードコード化し、SVAルー
ルをRRCイニシャライズ中ロードされることを可能に
する。
Rooting Directory Rooting Directory Organization The rooting directory consists of a rooting directory unit (RDU) and the actual ram- based directory. The RUD controls the directory access sequence and contains routing rules. The preferred implementation of the rules hardcodes the SPA rules and allows the SVA rules to be loaded during RRC initialization.

【0261】第8図は、本発明の好ましい実施例である
ルート設定ディレクトリの組織を描いてある。ルート設
定ディレクトリは、RRC対が接続されるリング:0内
ての割り当てられたページに対するエントリを
む。単一の局部キャッシュ以上に割当てられたSVAペ
ージに対しては、単一のルート設定ディレクトリエント
リが必要とされる。ルート設定ディレクトリは、128
のサブディレクトリの各々に対して3レベルbtree
として組織化される。サブディレクトリは、SVA[20:
14]により特定されるように、単一の局部キャッシュセ
ット内のての割り当てられたページに対するエントリ
を含む。サブディレクトリは、最大64のリング:0セ
ルを支持する最大210のページを記述し得る。各セルの
局部サブキャッシュは、各々16ページを含む128セ
ットを包含する。リング:0サブリングは、キャッシュ
セットlsb,SVA[14]に基づきサブページの転送
をインタリーブするように構成される。かくして、ルー
ト設定ディレクトリの半分は、各リング:0サブリング
(リング:0A,リング:0B)と関連され得る。
FIG. 8 depicts the organization of the routing directory which is the preferred embodiment of the present invention. Routing Directory, ring RRC pair is connected: 0 all hands of assigned including <br/> No entries for pages in. For SVA pages allocated above a single local cache, a single routing directory entry is required. The root setting directory is 128
3 level btree for each of the subdirectories
Be organized as. The subdirectory is SVA [20:
As specified by the 14], including an entry for the page's assigned all hands in a single local cache set. A subdirectory may describe up to 2 10 pages supporting up to 64 ring: 0 cells. The local sub-cache of each cell contains 128 sets, each containing 16 pages. The Ring: 0 subring is configured to interleave the transfer of subpages based on the cache set lsb, SVA [14]. Thus, half of the Routing Directory, each ring: 0 subring (Ring: 0 A, Ring: 0 B) and may be related.

【0262】L1エントリ(Entry)は、SVA[39:25]に
より索引付けされる。L1エントリは、1セット内の各
4ページに静的に割り当てられる。各有効L1エント
リは、動的に割当てられるL2エントリにポインタを特
定する。最大210のL1エントリが利用可能である。未
割当てのL2エントリは、単一的にリンクされたフリー
リストに組織化される。IndexiL2Free List Pointer
は、第1のL2フリーリストエントリを指す。フリーリ
スト内の各L2Enryは、次のL2フリーリストエントリに
対するポインタを含む。最後のL2フリーリストエント
リは、ゼロポインタを含む。各L2エントリは、16の
サブエントリを含む。各有効L2サブエントリは、動的
に割り当てられたL3エントリに対するポインタを含
む。最大で210のL3エントリが利用可能である。各L
3エントリは単一のページを記述する。未割当てのl3
エントリは、単一にリンクされたフリーリストに組織化
される。IndexiL3Free List Pointerは、第1のL3フ
リーリストエントリを指す。フリーリスト内の各L3エ
ントリは、次のL3フリーリストエントリに対するポイ
ンタを含む。最後のL3フリーリストエントリは、ゼロ
ポインタを含む。各L3エントリは、16のL3サブエ
ントリよりなり、そしてその各々は8のサブページに対
するサブページ状態を記述する。
[0262] L1 entry (Entry) is, Ru is indexed by SVA [39:25]. L1 entries are statically assigned to each 2 4 pages in a set. Each valid L1 entry specifies a pointer to a dynamically allocated L2 entry. Up to 2 10 L1 entries are available. Unassigned L2 entries are organized into a single linked free list. Index i L2Free List Pointer
Points to the first L2 free list entry. Each L2Enry in the free list contains a pointer to the next L2 free list entry. The last L2 free list entry contains a zero pointer. Each L2 entry contains 16 sub-entries. Each valid L2 subentry contains a pointer to a dynamically allocated L3 entry. Up to 2 10 L3 entries are available. Each L
Three entries describe a single page. Unallocated l3
The entries are organized into a single linked free list. Index i L3Free List Pointer points to the first L3 free list entry. Each L3 entry in the free list contains a pointer against a next L3 free list entry. The end of the L3 free list entry, including a zero pointer. Each L3 entry consists of 16 L3 subentries, each of which describes a subpage state for 8 subpages.

【0263】ルート設定ディレクトリの構成 第9図は、本発明の好ましい実施例であるルート設定デ
ィレクトリの構造を描いたものである。ルート設定ディ
レクトリは、各サブリングに対してL1,L2及びL3
テーブルに物理的に組織化される。L1テーブルは、S
VA[20:14](セット番号)及びSVA[39:25](index1)
の連結によりアドレスされる。SVA[39:25:,20:14]
は、index1と称される。各L2エントリは、L2サブエ
ントリ及びL2Vより成る。L2サブエントリは、SV
A[20:14],L1Table[indexl].12ptr及びSVA[24:21](i
ndex2)の連結によりアドレスされる。L2Vは、SVA
[20:14]及びL1Table[index1].12ptrの連結によりアドレ
スされる。L2Vフィールドは、もしもL2エントリが
有効であればレベル2サブエントリ有効フィールドとし
て解釈され、L2エントリが無効であればレベル2ネク
ストフリーリストエントリポインタとして解釈される。
各L3エントリは、L3サブエントリ及びL3有効より
成る。L3サブエントリは、SVA[20:14],L2Table.12
sub[index2].ptr及びSVA[13:10](index3)の連結によ
りアドレスされる。個々のサブページ状態は、SVA[2
0:14],L2Entry.12sub[index2].ptr,SVA[13:10]及び
SVA[9:7](indexsp)の連結によりアドレスされる。L
3Vフィールドは、もしもL3エントリが有効であれば
レベル3サブエントリ有効フィールドとして解釈され、
又、もしもL2エントリが無効であればレベルネクスト
フリーリストエントリポインタとして解釈される。
Structure of Route Setting Directory FIG. 9 is a diagram showing the structure of the route setting directory which is the preferred embodiment of the present invention. The routing directory is L1, L2 and L3 for each sub-ring.
Physically organized into tables. L1 table is S
VA [20:14] (set number) and SVA [39:25] (index1)
Are addressed by concatenation of. SVA [39: 25:, 20: 14]
Is called index1. Each L2 entry consists of an L2 subentry and an L2V. L2 subentry is SV
A [20:14], L1Table [indexl] .12ptr and SVA [24:21] (i
Addressed by the concatenation of ndex2). L2V is SVA
Addressed by concatenation of [20:14] and L1Table [index1] .12ptr. The L2V field is interpreted as a level 2 subentry valid field if the L2 entry is valid, and as a level 2 next free list entry pointer if the L2 entry is invalid.
Each L3 entry consists of an L3 subentry and an L3 valid. L3 subentry is SVA [20:14], L2Table.12
Addressed by the concatenation of sub [index2] .ptr and SVA [13:10] (index3). The individual subpage status is SVA [2
0:14], L2Entry.12sub [index2] .ptr, SVA [13:10] and SVA [9: 7] (indexsp) are addressed. L
The 3V field is interpreted as a level 3 subentry valid field if the L3 entry is valid,
If the L2 entry is invalid, it is interpreted as a level next free list entry pointer.

【0264】1つのバンクの表構成のC状記述を以下に
示す。
A C-like description of the table structure of one bank is shown below.

【表3】 [Table 3]

【表4】 [Table 4]

【0265】第10図は、本発明に従って構成された好
ましいリングルート設定セルにおけるルート設定ディレ
クトリエントリのフォーマットを描くものである。
FIG. 10 depicts the format of the routing directory entry in a preferred ring routing cell constructed in accordance with the present invention.

【0266】L1Entry L1Entryは、L2エントリポインタ(12ptr)、L2ポイ
ンタ有効ビット(11有効)及びL1チェックビット(11
チェック)を含む。12ptrは、後述のようにL2エ
ントリをアドレスするのに使用される。L1Validセット
は有効12ptrを指示し、clearは無効12pt
rを指示する。L1チェックは、5ビット単一ビットコ
レクト及びダブルビット検出ECCコードより成る。
L1Entry L1Entry is an L2 entry pointer (12ptr), an L2 pointer valid bit (11 valid) and an L1 check bit (11
Check) is included. 12ptr is used to address the L2 entry as described below. L1Valid set indicates valid 12ptr, clear is invalid 12pt
Indicate r. The L1 check consists of a 5 bit single bit collect and a double bit detect ECC code.

【0267】L2Subentry L2Subentryは、L3エントリポインタ(13ptr)及びL2
チェックビット(11チェック)を含む。13ptrは、上
述のようにL3エントリをアドレスするのに使用され
る。L2チェックは、5ビット単一ビットコレクト及び
ダブルビット検出EECコードより成る。
L2Subentry L2Subentry is L3 entry pointer (13ptr) and L2
Includes check bit (11 checks). 13ptr is used to address the L3 entry as described above. The L2 check consists of a 5 bit single bit collect and a double bit detect EEC code.

【0268】L2VEntry L2VEntryは2つのフォーマットを有しており、1つはL
2Vエントリ(L2V.Valid)として使用のためのものであ
り、L2フリーリスト(L2V.Invalid)の一部ならば第2
のものである。L2V.validは、16有効ビット及び5E
CCチェックビットのアレイより成る。L2V.valid.12va
lid[n]setは、有効L2サブエントリ[n]を指示し、cl
earは、無効L2サブエントリ[n]を指示する。
L2VEntry L2VEntry has two formats, one of which is L
It is for use as a 2V entry (L2V.Valid) and is the second if it is part of the L2 free list (L2V.Invalid).
belongs to. L2V.valid is 16 valid bits and 5E
It consists of an array of CC check bits. L2V.valid.12va
lid [n] set indicates a valid L2 subentry [n], and cl
ear indicates an invalid L2 subentry [n].

【0269】L2V.invalidは、ネクストフリーL2エン
トリ、未使用フィールド及びECCチェックフィールド
より成る。L2V.invalid.NextFreeは、ネクストL2フリ
ーリストエントリをアドレスするのに使用される。Next
Freehighorderbitclearは、ゼロポインタを指示する。
L2V.invalid consists of a next free L2 entry, an unused field and an ECC check field. L2V.invalid.NextFree is used to address the next-strike L2 free list entry. Next
Freehighorderbitclear points to a zero pointer.

【0270】L3Subentry L3Subentryは、8サブページ状態フィールドポインタ
(L3Subentry.SpState)及びチェックビット(L3Subentr
y.check)を含む。L3Subentry.checkは、8ビット単一ビ
ットコレクト及びダブルビット検出EECコードより成
る。
L3Subentry L3Subentry is an 8-subpage state field pointer (L3Subentry.SpState) and a check bit (L3Subentr).
y.check) is included. L3Subentry.check consists of 8-bit single-bit collect and double-bit detect EEC code.

【0271】L3VEntry L3VEntryは2つのフォーマットを有し、第1のものはL3
VEntry(L3V.Valid)として使用のためであり、L3freelis
t(L3V.Invalid)の一部ならば第2のものである。L3V.va
lidは、16ビットの生成されたOwnerLimit,PagePend及
びeccチェックフィールドのアレイより成る。L3V.va
lid.13valid[n]はL3Subentry[n]に対応し、L3V.生
成の関数である。
L3VEntry L3VEntry has two formats, the first is L3VEntry.
For use as VEntry (L3V.Valid), L3freelis
If it is a part of t (L3V.Invalid), it is the second one. L3V.va
The lid consists of an array of 16-bit generated OwnerLimit, PagePend and ecc check fields. L3V.va
lid.13valid [n] corresponds to L3Subentry [n], and L3V. It is a function of generation.

【0272】[0272]

【表5】 [Table 5]

【0273】L3V.valid.OwnerLimitは、ページ内のサブ
ページの所有権を局部リング:0に制限するように、ソ
フトウェアによりセット又はクリされる。クリされ
る時、いずれのリング:0もサブページを所有し得ない
ことを特定する。セットされる時、局部リング:0内の
セルのみがサブページを、非排他的、アトミック又はト
ランジェントアトミック状態を所有し得ることを特定す
る。遠隔リング:0は、リードオンリーコピーを受領出
来る。ページ障害は、OwnerLimitがセットされる時
RCにより所有権要求に報知される。再結合要求は、Ow
nerLimitがセットされる時局部リング:0を越えて伝
搬されない。RRCディスクリプタ割当中クリされ
る。
[0273] L3V.valid.OwnerLimit is local ownership of subpages in the page ring: 0 to to limit, is set or cleared by software. When it is clear that any Ring: 0 also specifies that not own the subpages. When set, specifies that only cells in the local ring: 0 may own subpages, non-exclusive, atomic or transient atomic states. Remote Ring: 0 can receive read-only copy. Page faults, when OwnerLimit is set , R
The RC notifies the ownership request. The rejoin request is Ow
When nerLimit is set , local ring: No propagation beyond 0. During RRC descriptor allocation is clear.

【0274】L3V.valid.PagePendは、セットされる時、
RRCページが割当て解除シーケンスが進行中であるこ
とを指示する。
When L3V.valid.PagePend is set,
The RRC page indicates that the deallocation sequence is in progress.

【0275】L3V.invalidは、ネクストフリーL3エン
トリ、不使用フィールド及びECCチェックフィールド
より成る。
L3V.invalid is composed of a next free L3 entry, an unused field and an ECC check field.

【0276】L2invalid.Nextfreeは、次のL3フリーリ
ストエントリをアドレスするのに使用される。NextFree
highorderbitclearは、ゼロポインタを指示する。
L2invalid.Nextfree is used to address the next L3 free list entry. NextFree
highorderbitclear points to a zero pointer.

【0277】ルート設定ディレクトリ動作 可能な8つのルート設定セル(RRC)ディレクトリ動
作がある。これらの動作は単一パケット時間内に生ず
る。てのパケットタイプで単一の動作が実行するよう
にする。 レベル1ミスルックアップ動作 レベル2ミスルックアップ動作 通常のルックアップ動作 レベル3サブエントリ割り当て解除 レベル2サブエントリ割り当て解除 SPAアクセス 再生ないしリフレッシュ
Routing Directory There are eight Routing Cell (RRC) directory operations that are operational. These operations occur within a single packet time. Single operation in packet type for all hands to be executed. Level 1 miss lookup operation Level 2 miss lookup operation Normal lookup operation Level 3 subentry deallocation Level 2 subentry deallocation SPA access playback or refresh

【0278】システム仮想アドレス(SVA)ルックア
ップ動作 てのルックアップ動作は、サブディレクトリの選択、
レベル1テーブルルックアップ、レベル2テーブルルッ
クアップ、レベル3テーブルルックアップ及びレベル3
サブページ状態の修正という5つの段階を通じて進行す
る。レベル2エントリ及びレベル3エントリは、ルック
アップ動作を完了するために割り当てが必要とされるで
あろう。
System Virtual Address (SVA) Looka
Tsu look-up operation of the flop operation all hand, the selection of sub-directory,
Level 1 table lookup, Level 2 table lookup, Level 3 table lookup and Level 3
The process proceeds through five steps of correcting the subpage state. Level 2 and Level 3 entries will need allocations to complete the lookup operation.

【0279】通常のルックアップ動作 通常のルックアップ動作は、レベル2エントリが有効で
あることをレベル1テーブルが指示し且つレベル3エン
トリが有効であることをレベル2テーブルが指示する時
に生ずる。
Normal Lookup Operation Normal lookup operation occurs when the level 1 table indicates that the level 2 entry is valid and the level 2 table indicates that the level 3 entry is valid.

【0280】L1EntryAddr、L2EntryAddr及びL3EntryAdd
rが、ルート設定ディレクトリ構造の項で叙述したよう
にして計算される。設定されつつあるL1EntryAddr→11v
alidはレベル2ポインタが有効であることを指示する。
SVA[20:14]及びL1Entry[index1].ptrの連結は、サブ
ディレクトリが10ビットポインタにより暗示ないし含
意されるので、L2Entryを特定する。レベル2サブエン
トリ(L2EntryAdrr→12sub[index2])はSVA[24:21]に
より割り出しないし指標付けられる。設定されつつある
L2Entry.12v[index2]はレベル3ポインタ(L2EntryAdrr
→12sub[index2].ptr)が有効であることを指示する。S
VA[20:14]及びL2Entry[index2].ptrの連結は、サブデ
ィレクトリが10ビットポインタにより暗示されるの
で、L3Entryを特定する。レベル3サブエントリ(L3Ent
ryAdrr→13sub[index3])はSVA[13:10]により指標付
けられる。それぞれのレベル3サブエントリは、8つの
サブページについてのサブページ状態を包含し、SVA
[9:7]により指標付けられる。Index3はSVA[13:10]を
指示し、そしてIndexesはSVA[9:7]を指示する。L3En
try.valid[index3]及びL3Entry.createdは、対応するサ
ブエントリが有効かどうかを、そしてもし無効であれば
デフォルトサブページ状態を特定する。
L1EntryAddr, L2EntryAddr and L3EntryAdd
r is calculated as described in the Routing Directory Structure section. L1 Entry Addr → 11v being set
alid indicates that the level 2 pointer is valid.
The concatenation of SVA [20:14] and L1Entry [index1] .ptr identifies the L2Entry because the subdirectory is implied or implied by the 10-bit pointer. The level 2 subentry (L2EntryAdrr → 12sub [index2]) is indexed or indexed by SVA [24:21]. Is being set
L2Entry.12v [index2] is the level 3 pointer (L2EntryAdrr
→ Indicate that 12sub [index2] .ptr) is valid. S
The concatenation of VA [20:14] and L2Entry [index2] .ptr specifies L3Entry because the subdirectory is implied by the 10-bit pointer. Level 3 subentry (L3Ent
ryAdrr → 13sub [index3]) is indexed by SVA [13:10]. Each level 3 sub-entry contains sub-page state for 8 sub-pages and contains SVA
Indexed by [9: 7]. Index3 points to SVA [13:10], and Indexes points to SVA [9: 7]. L3En
try.valid [index3] and L3Entry.created specify whether the corresponding subentry is valid, and if invalid, the default subpage state.

【0281】サブページ状態は順次、L3EntryAdrr→13s
ub[index3].SpState[indexes]に格納されるべき新規な
サブページ状態を発生するルート設定ディレクトリ規則
(RoutingDirectoryRules)へ呈示される。
Sub-page status is L3EntryAdrr → 13s
Presented to the RoutingDirectoryRules that generate new subpage states to be stored in ub [index3] .SpState [indexes].

【0282】レベル1ミス動作 レベル1ミスルックアップ動作が、レベル1テーブルル
ックアップがレベル2エントリポインタが無効であるこ
とを指示する時に生ずる。レベル1ミスルックアップ動
作は、ルート設定ディレクトリが要求システム仮想アド
レスのページ及びサブページ状態を記述するのが許容さ
れるよう、レベル2エントリ及びレベル3エントリを割
り当てる。レベル1ミスが、SVA[39:25]により表示
されるアドレス帯域のページへのリング:0(Ring:0)
内の最初の参照によって引き起こされる。もし、パケッ
ト命令がciu ex summaryであれば、要求はページ発生動
作の一部である。
Level 1 Miss Operation A Level 1 miss lookup operation occurs when a Level 1 table lookup indicates that the Level 2 entry pointer is invalid. The level 1 miss lookup operation allocates level 2 and level 3 entries to allow the routing directory to describe the page and subpage state of the requesting system virtual address. Level 1 miss is displayed by SVA [39:25] Address band page ring: 0 (Ring: 0)
Caused by the first reference in. If the packet command is ciu ex If summary, the request is part of a page generation operation.

【0283】レベル2フリーリストヘッドはレベル2フ
リーリストポインタにより指示される。フリーリストヘ
ッドL2Entry.NextFreeは、次のフリーレベル2エントリ
へポインタを特定する。レベル2フリーリストヘッド
は、LevelEntry.pointerをレベル2フリーリストポイン
タで書き込み且つL1Entry.validを設定することにより
レベル2エントリとして割り当てられる。レベル2フリ
ーリストポインタが、レベル2フリーリストポインタを
レベル2フリーリストヘッド、L2Entry.NextFreeで書き
込むことによって更新される。L2Entry.12v.12valid[S
VA[24:21]]が設定され、そして残りの有効ビットがク
リアされる。
The level 2 free list head is pointed to by the level 2 free list pointer. The free list head L2Entry.NextFree specifies the pointer to the next free level 2 entry. The level 2 free list head is assigned as a level 2 entry by writing LevelEntry.pointer with the level 2 free list pointer and setting L1Entry.valid. The level 2 free list pointer is updated by writing the level 2 free list pointer with the level 2 free list head, L2Entry.NextFree. L2Entry.12v.12valid [S
VA [24:21]] is set and the remaining valid bits are cleared.

【0284】[0284]

【表6】 [Table 6]

【0285】もし、L2Free List Pointerがヌル(空白)
であれば、ルート設定ディレクトリフォールトが合図さ
れる。対応するリング:0が単一のサブディレクトリ内
で210個以上の独自のページを割り当てるかルート設定
セルがレベル2エントリを正しく割り当て又は割り当て
解除するのに失敗した場合だけ、この誤りが生ずる。2
10個という独自のページは64個のプロセッサセルに対
応する(一個のセル当り210ページ/24ページ)。
[0285] If L2Free List Pointer is null (blank)
If so, a routing directory fault is signaled. Corresponding ring: 0 only if a route setting cell 2 allocates 10 or more unique page fails to correctly assign or unassign a level 2 entries within a single subdirectory, the error occurs. Two
Own pages that 10 corresponds to 64 processor cells (one per cell 2 10 pages / 2 page 4).

【0286】レベル2ミス動作 レベル2ミスルックアップ動作が、レベル2テーブルル
ックアップがレベル2エントリポインタが無効であるこ
とを指示する時に生ずる。レベル2ミスルックアップ動
作は、ルート設定ディレクトリが要求システム仮想アド
レスのページ及びサブページ状態を記述するのが許容さ
れるよう、レベル3エントリを割り当てる。レベル2ミ
スが、SVA[39:21]により表示されるアドレス帯域の
ページへのリング:0(Ring:0)内の最初の参照によっ
て引き起こされる。もし、パケット命令がciu ex summa
ryであれば、要求はページ発生動作の一部である。
Level 2 Miss Operation A Level 2 miss lookup operation occurs when a Level 2 table lookup indicates that the Level 2 entry pointer is invalid. The level 2 miss lookup operation allocates a level 3 entry to allow the routing directory to describe the page and subpage state of the requesting system virtual address. A Level 2 miss is caused by the first reference in the Ring: 0 to the page in the address band indicated by SVA [39:21]. If the packet command is ciu ex summa
If ry, the request is part of a page generation operation.

【0287】レベル3フリーリストヘッドはレベル3フ
リーリストポインタにより指示される。フリーリストヘ
ッドL3Entry.NextFreeは、次のフリーレベル2エントリ
へとポインタを特定する。レベル3フリーリストヘッド
は、Level2Entry.12sub[index2].13ptrをレベル3フリ
ーリストポインタで書き込むことによって割り当てられ
る。レベル3フリーリストポインタが、レベル3フリー
リストポイントをレベルフリーリストヘッドL3Entry.Ne
xtFreeで書き込むことにより更新される。L3Entry.13v.
13valid[SVA[13:10]]が設定され、そして残りの有効ビ
ットがクリアされる。L3Entry.13sub([SVA[13:10])].Sp
State[SVA[9:7]]が設定され、適当なsubpage state及び
残りの7つのsub stateが無効へと設定される。もしパ
ケット命令がciu ex summaryであれば、L3Entry.13v.Va
lid.createdが設定される。
The level 3 free list head is pointed to by the level 3 free list pointer. The free list head L3Entry.NextFree specifies the pointer to the next free level 2 entry. The level 3 freelist head is assigned by writing Level2Entry.12sub [index2] .13ptr with the level 3 freelist pointer. Level 3 Freelist Pointer Level 3 Freelist Point to Level Freelist Head L3Entry.Ne
Updated by writing with xtFree. L3Entry.13v.
13valid [SVA [13:10]] is set and the remaining valid bits are cleared. L3Entry.13sub ([SVA [13:10])]. Sp
State [SVA [9: 7]] is set and appropriate subpage state and the remaining 7 subs state is set to disabled. If the packet command is ciu ex If summary, L3Entry.13v.Va
lid.created is set.

【0288】[0288]

【表7】 [Table 7]

【0289】システム仮想アドレス割当て解除動作 システム仮想アドレス割当て解除動作はパケット命令ci
u inv sum alloc、ciu pure inv sum alloc及びRrcDeall
ocDescにより開始される。ての割当て解除動作は、サ
ブディレクトリの選択、レベル1テーブルルックアッ
プ、レベル2テーブルルックアップ、レベル2エントリ
を更新してレベル3エントリを割当て解除するという5
つの段階を通じて進行する。もしてのレベル2サブエ
ントリが無効であれば、順次レベル2エントリも又、割
当て解除が行われる。
[0289]System virtual address allocation release operation The system virtual address deallocation operation uses the packet command ci.
u inv sum alloc, ciu pure inv sum alloc and RrcDeall
Started by ocDesc.allAll allocation release operations are
Directory selection, level 1 table lookup
Level, level 2 table lookup, level 2 entry
To update and deallocate level 3 entries
It progresses through two stages. ifallLevel 2 Sube
If the entry is invalid, sequential level 2 entries are also
The patch is released.

【0290】レベル3エントリ割当て解除動作 レベル3エントリの割当て解除後てのレベル2サブエ
ントリが無効でなければ、レベル3エントリ割当て解除
動作が実行される。以下の動作は、パケット命令がciu
inv summaryであれば実行される。
[0290] If the level 2 sub-entry level 3 entry deallocation operation level 3 entry deallocation after all hands is invalid, the level 3 entry deallocation operation is performed. In the following operation, the packet command is ciu
inv If summary is executed.

【0291】[0291]

【表8】 [Table 8]

【0292】以下の動作は、パケット命令がciu wr des
cripto.data又はciu inv sum allocate.dataであれば実
行される。
In the following operation, the packet command is ciu wr des
cripto.data or ciu inv sum If allocate.data is executed.

【表9】 [Table 9]

【0293】レベル2エントリ割当て解除動作 レベル3エントリの割当て解除後てのレベル2サブエ
ントリが無効でなければ、レベル2エントリ割当て解除
動作が実行される。
[0293] If an invalid level 2 Entry Level 2 subentry deallocation after all hand deallocation operation level 3 entry, level 2 entry deallocation operation is performed.

【0294】[0294]

【表10】 [Table 10]

【0295】SPA動作 SPA動作は、spa read requestとspa write request
という2つのパケット命令により開始される。SpaDirec
tとSpaLookupという2種類のspa動作がある。
SPA operation SPA operation is read request and spa write request
Is started by two packet instructions. SpaDirec
There are two types of spa operations, t and SpaLookup.

【0296】SpaDirect動作は、パケットアドレスにお
いて特定されるspa位置に対するディレクトリをベース
にしたspa読取り又は書込みを遂行する。Spa write
requestデータがPkt.DataWord0に供給される。Spa read
request応答データがPkt.DataWord0に供給される。
The SpaDirect operation performs a directory-based spa read or write to the spa location specified in the packet address. Spa write
Request data is supplied to Pkt.DataWord0. Spa read
The request response data is supplied to Pkt.DataWord0.

【0297】SpaLookup動作は、spaアドレス空間か
らの被制御条件の下で、RDUルックアップ動作をエミ
ュレートし動作の割当て解除を行うのに使用される。Pk
t.Address位置オフセット及びctl$RiuLookupCommand.Su
bAddrはエミュレートされたSVAを形成し、そしてctl
$RiuLookupCommandの残余はエミュレートされたパケッ
ト命令を形成する。RDUは、エミュレートされたパケ
ット命令を使用し、そしてエミュレートを行い、正常な
ルックアップ動作又は割当解除動作を遂行する。SpaLoo
kup動作の結果は、L2Free List Pointer、L3Free List
Pointer及びSpaDirect位置へのアクセスによって調べら
れる。
The SpaLookup operation is used to emulate and deallocate an RDU lookup operation under controlled conditions from the spa address space. Pk
t.Address position offset and ctl $ RiuLookupCommand.Su
bAddr forms an emulated SVA and ctl
The remainder of $ RiuLookupCommand forms an emulated packet command. The RDU uses emulated packet instructions and performs emulation to perform normal lookup or deallocation operations. SpaLoo
The result of kup operation is L2Free List Pointer, L3Free List
Checked by accessing Pointer and SpaDirect locations.

【0298】リフレッシュ動作 リフレッシュは、それぞれのRRCが個々にそれをリフ
レッシュ制御することにより分散した態様で達成され
る。単一のリフレッシュは一パケットプロセッシング時
間を必要とする。こうして、リフレッシュは、空の又は
凍結されたパケット中にのみ遂行出来る。なぜならば、
これらのパケットは何らのプロセッシングも必要としな
いからである。RRCは、リフレッシュを行うために、
ての空のそして凍結されたそして隠れたパケット時間
の使用によって、バックグラウンドにおいてリフレッシ
ュを行おうとする。
Refresh Operation Refresh is accomplished in a distributed fashion by each RRC individually refresh controlling it. A single refresh requires one packet processing time. Thus, refresh can only be performed during empty or frozen packets. because,
These packets do not require any processing. RRC has to refresh
The use of empty and that frozen and hidden packet time of all hand and tries to refresh in the background.

【0299】L1Table、L2Table及びL3SubpageStateとい
う3つのダイナミックRAMをベースにしたデータ構造
はリフレッシュを必要とする。リフレッシュ動作の間、
512列のうちの一列がそれぞれのデータ構造でリフレ
ッシュされる。
The three dynamic RAM based data structures L1Table, L2Table and L3SubpageState require refreshing. During the refresh operation
One of the 512 columns is refreshed with its respective data structure.

【0300】ECC修正動作 ルート設定セルが修正可能なECC誤りを検出した時、
追加のパケット時間がデータ構造を修正するのに必要で
ある。リング凍結動作が、修正及び再度のルックアップ
に複数のパケット時間を見込むのに使用される。
ECC Correcting Operation When a routing cell detects a correctable ECC error,
Additional packet time is needed to modify the data structure. The freeze ring operation is used to allow for multiple packet times for modification and re-lookup.

【0301】修正可能なECC誤りが検出された時、E
CC誤りはパケットプロセッシングで始めから知られて
いなかったので、RRCはFull-1 Ring Freeze方法を開
始する。最初のパケットは、抽出バッファフルセクショ
ンの項で叙述したようにして取扱われ、そして残余のパ
ケットは、一回転の間、凍結とマーク付けされる。再書
込みが行われた被修正データ構造はRDUでセーブさ
れ、そして順次一リング転回後にECC誤りを招くパケ
ットを再処理するのに使用される。ルート設定セルが生
じたパケットだけが処理され、非発生パケットはリング
内の別のセルによって抽出される。修正パケットのセー
ブ動作は、ルート設定セルにより発せられたパケット
が、単一のビット(修正可能)ハード誤りについて正し
く処理されるようにする。
When a correctable ECC error is detected, E
Since the CC error was unknown from the beginning in packet processing, RRC initiates the Full-1 Ring Freeze method. The first packet is treated as described in the Extract Buffer Full Section section, and the remaining packets are marked frozen for one revolution. The modified data structure that has been rewritten is saved in the RDU and is used to reprocess the packet that causes the ECC error after a sequential ring turn. Only the packets that originated the routing cell are processed, the non-occurring packets are extracted by another cell in the ring. The save correct packet operation ensures that the packet emitted by the routing cell is correctly processed for a single bit (correctable) hard error.

【0302】ルート設定ディレクトリの初期化 ルート設定セルハードウエアはルート設定ディレクトリ
を自動的には初期化しない。てのLevel1Entries(レ
ベル1エントリ)、Level2Subentries(レベル2エント
リ)及びLevel3Subentries(レベル3エントリ)は無効
へと初期化されねばならない。レベル2及びレベル3フ
リーリストポインタ及びフリーリストが、てのエント
リ及びサブエントリがフリーであることを指示するため
に初期化されなければならない。
Initialization of Routing Directory The Routing Cell Hardware does not automatically initialize the Routing Directory. All hand Level1Entries (Level 1 entry), Level2Subentries (Level 2 entries) and Level3Subentries (Level 3 entries) must be initialized to invalid. Level 2 and Level 3 free list pointer and the free list, must be initialized to indicate that the entry and subentries all hands are free.

【0303】リング間バッファ(InterRing Buffer) リング間バッファは、リング相互接続抽出バッファから
の入力パケットをバッファし、そしてリング間リンクと
のインターフェースを行う。リング間バッファは更にル
ート設定セルバンクバッファの管理を制御する。リング
間バッファはリング間バッファユニット(InterRing Bu
fferUnit、IBU)、リング間ダイナミックRAMバッファ
(InterRing Dram Buffer、IDB)及びリング間リンクイ
ンターフェース(InterRingLink Interface)からな
る。
InterRing Buffer The InterRing Buffer buffers incoming packets from the Ring Interconnect Extraction Buffer and interfaces with the InterRing Link. The inter-ring buffer also controls the management of the routing cell bank buffer. The inter-ring buffer is an inter-ring buffer unit (InterRing Bu
fferUnit, IBU), inter-ring dynamic RAM buffer (InterRing Dram Buffer, IDB), and inter-ring link interface (InterRingLink Interface).

【0304】リング間バッファ構造リング間バッファユニット(IBU) IBUはリング間リンク出パケットをバッファし、そし
てフォーマット化し、リング間リンク入りパケットにつ
いて誤り検査とバッファ動作を行い、そしてリング間ダ
イナミックRAMバッファを制御する。出バッファは7
2ワードを包含しており、最大が4の長さのパケットを
保持し、入バッファは最大が4の長さのパケットについ
て72ワードを保持する。入バッファのサイジング(定
寸)動作はリング間リンクレートと絶対遅れ(長さ及び
切替遅れ)に依存する。72ワード入バッファは、1gb
it/secリンク部に直接接続され、10kmの最大長につ
いて定寸が行われる。短いパケットは2ワードを費や
し、そして長いパケットは出又は入りバッファの18ワ
ードを費やす。出及び入りバッファはfifo方式で管
理される。
Inter-Ring Buffer Structure Inter-Ring Buffer Unit (IBU) The IBU buffers and formats inter-ring link outgoing packets, performs error checking and buffering on inter-ring link incoming packets, and inter-ring dynamic RAM buffers. Control. Out buffer is 7
It contains 2 words and holds packets up to 4 lengths, and the ingress buffer holds 72 words for packets up to 4 lengths. The sizing operation of the incoming buffer depends on the inter-ring link rate and the absolute delay (length and switching delay). 72 word buffer is 1gb
It is directly connected to the it / sec link part and sizing is performed for a maximum length of 10 km. A short packet consumes 2 words, and a long packet consumes 18 words in the out or in buffer. The outgoing and incoming buffers are managed by the fifo method.

【0305】リング間ダイナミックRAMバッファ(I
DB) リング間ダイナミックRAMバッファ(InterRing Dram
Buffer、IDB)は、リングパケットキュー(RPQ、Ring Pa
cket Queue)及びルート設定セル誤りキュー(RRC Erro
rQueue)を包含している。本発明に従って構成された好
ましいルート設定セル(RRC)におけるリング間ドラ
ムキューについての構成が第11B図に図示されてい
る。リングパケットキューは、パケットがリング間リン
クを通じダウンリンクルート設定セルへ伝送され且つ確
認ないし応答(acknowledge)が戻されるまで、ルート
設定相互接続ユニットからのてのパケットをバッファ
する。抽出バッファ及び出バッファが一杯である時、抽
出バッファパケットは、出バッファがそれらを受容出来
るまでIDBへ注入される。リングパケットキューは循
環キューとして組織されている。リングパケットキュー
プッシュポインタ(RPQ PushPointer)は、抽出バッフ
ァからの次のパケットについてキュー動作を行うため
に、最初のフリーワードを指示する。リングパケットキ
ューポップポインタ(RPQ PopPointer)は、リング間リ
ンクを通じて伝送される次のパケットの最初のワードを
指示する。PRQコミットポインタは、ダウンリンクル
ート設定セルにより応答されなかった最も古いパケット
の最初のワードを指示する。リングパケットキュープッ
シュポインタ及びリングパケットキューポップポインタ
間のパケットはリング間リンクを通じて伝送されるよう
キューイングないし待ち合わせ動作が行われる。RPQ
ポップポインタ及びリングパケットキューコミットポイ
ンタ間のパケットはダウンリンクルート設定セルからの
応答を待っている。もし、リングパケットキュープッシ
ュポインタがリングパケットキューポップポインタに等
しければ、リング間リンクでの伝送のための何らのキュ
ーパケットもリングパケットキューにはない。もし、リ
ングパケットキューポップポインタがPRQコミットポ
インタに等しければ、伝送されたパケットはて応答を
受けている。もしリングパケットキューがオーバーフロ
ーすれば、致命的誤りがIbuMasterConfig.RPQFullによ
り指示される。
Dynamic RAM buffer between rings (I
DB) Dynamic RAM buffer between rings (InterRing Dram)
Buffer, IDB) are ring packet queues (RPQ, Ring Pa)
cket Queue) and routing cell error queue (RRC Erro
rQueue) is included. The configuration for an inter-ring drum cue in a preferred routing cell (RRC) constructed in accordance with the present invention is shown in FIG. 11B. Ring packet queue until the packet transmitted and confirmed to respond to the downlink routing cells through the link between the rings (acknowledge) is returned to buffer the packets of all the hands from Routing Interconnect unit. When the Extract and Out buffers are full, Extract Buffer packets are injected into the IDB until the Out buffer can accept them. Ring packet queues are organized as circular queues. The Ring Packet Queue Push Pointer (RPQ PushPointer) points to the first freeword to queue for the next packet from the Extract Buffer. The Ring Packet Queue Pop Pointer (RPQ PopPointer) points to the first word of the next packet transmitted over the inter-ring link. The PRQ commit pointer points to the first word of the oldest packet not answered by the downlink routing cell. Packets between the ring packet queue push pointer and the ring packet queue pop pointer are queued or queued for transmission through the inter-ring link. RPQ
The packet between the pop pointer and the ring packet queue commit pointer is waiting for a response from the downlink routing cell. If the ring packet queue push pointer is equal to the ring packet queue pop pointer, then there are no queue packets in the ring packet queue for transmission on the inter-ring link. If the ring packet queue pop pointer equal to the PRQ commit pointer, transmitted packets are received all with response. If the ring packet queue overflows, a fatal error is indicated by IbuMasterConfig.RPQFull.

【0306】リング間ダイナミックRAMバッファは更
にルート設定セル誤りキューをも包含している。ルート
設定セルはルート設定セルにより検出されたそれぞれの
誤りごとに、誤りキュー(ErrorQueue)にエントリを置
く。各誤りキューエントリは、誤り(もしあれば)に対
応するパケット及び誤り情報の一ワードからなる。誤り
キュープッシュポインタ(EQ PushPointer)は次の誤りエ
ントリのキュー動作を行うために、最初のフリーワード
を指示する。誤りキューポップポインタは最小最近キュ
ー誤り(least recent queuederror)の最初のワードを指
示する。もし、誤りキューポップポインタが誤りキュー
プッシュポインタに等しければ、ルート設定セル誤りキ
ューは空である。誤りキューポップポインタはルート設
定セルによっては修正されず、SPAアクセスによって
のみ修正される。IbuMasterConfig.EQFullはルート設定
セル誤りキューがオーバーフローした時設定される。
ルート設定セルは、通常の動作を継続し、新規な誤りは
記録されない。
The inter-ring dynamic RAM buffer also contains the routing cell error queue. The routing cell puts an entry in the ErrorQueue for each error detected by the routing cell. Each error queue entry consists of a packet of error (if any) and a word of error information. The Error Queue Push Pointer (EQ Push Pointer) points to the first freeword for queuing the next error entry. The error cue pop pointer points to the first word of the least recent queued error. If the error queue pop pointer is equal to the error queue push pointer, the routing cell error queue is empty. The error queue pop pointer is not modified by the routing cell, only by SPA access. IbuMasterConfig.EQFull When Routing cell error queue has overflowed, is set.
The routing cell continues normal operation and no new error is recorded.

【0307】リング間リンクインターフェース リング間リンクインターフェースは、32ビット幅のリ
ング間バッファユニット出力パケット・入力パケットイ
ンターフェースを、物理的なリンクフォーマットへ又は
物理的なリンクフォーマットから変換する。
Inter-Ring Link Interface The Inter-Ring Link Interface converts the 32-bit wide Inter-Ring Buffer Unit output packet / input packet interface to or from the physical link format.

【0308】ルート設定セルバッファ管理 それぞれのルート設定セルペアは、fifo方式で、リ
ング:0及びリング:1間のそれぞれの方向のうちの一
つで、一対のバッファを論理的に管理する(第11B
図)。ルート設定セルバンクは5つのバッファ、リング
及び出リング間リンク間の3つのバッファ、入リング間
リンク及びリング間の2つのバッファを管理する。アッ
プリンクルート設定セルバンクのリングからコピーされ
たパケットは抽出バッファを、そして随意にリングパケ
ットバッファを、そしてリング間リンク出バッファを通
じ順次、リング間リンクにわたって伝送される。パケッ
トは順次リング間リンク入バッファ及びダウンリンクル
ート設定セルバンクの挿入バッファを通ずる。反対の方
向へ移動するパケットがダウンリンクルート設定セルバ
ンクのリングからコピーされ、抽出バッファ、リングパ
ケットバッファ及びリング間リンク出バッファを通ず
る。パケットは順次リング間リンク入バッファ及びアッ
プリンクルート設定セルバンクの挿入バッファを通ず
る。
Routing Cell Buffer Management Each routing cell pair logically manages a pair of buffers in one of the respective directions between ring: 0 and ring: 1 by the fifo method (11th B).
Figure). The routing cell bank manages 5 buffers, 3 buffers between the ring and the outgoing inter-ring links, and 2 buffers between the incoming inter-ring link and the inter-ring links. Packets copied from the ring of the uplink routing cell bank are transmitted sequentially across the inter-ring link through the extraction buffer, and optionally the ring packet buffer, and the inter-ring link output buffer. Packets are sequentially passed through the inter-ring link input buffer and the downlink routing cell bank insertion buffer. Packets traveling in the opposite direction are copied from the ring of the downlink routing cell bank and pass through the extract buffer, ring packet buffer and inter-ring link out buffer. Packets sequentially pass through the inter-ring link input buffer and the uplink routing cell bank insertion buffer.

【0309】抽出及び挿入バッファは、リング及びルー
ト設定セルのルート設定バス間の速度ないしレートの調
整を行う。入及び出バッファは、リング間リンク及びル
ート設定セルのルート設定バス間の速度調整を行う。リ
ングパケットキューは、未決状態のないし引っかかって
いるパケットの最大数を格納出来るようにすることによ
って、これらバッファのあり得るオーバーフローを処理
し、そしてルート設定セルペア間のデッドロックを阻止
する。バッファは、抽出及びリング間リンク出バッファ
間でバッファ動作を行うために、時折使用されるようサ
イズが定められる。リングパケットキューは更に、リン
ク誤りが原因で再伝送が必要とされる場合に、リング間
リンクを伝送されるてのパケットを記録するのにも使
用される。
The extract and insert buffers adjust the speed or rate between the ring and the routing bus of the routing cell. The input and output buffers provide speed regulation between the inter-ring links and the routing buses of the routing cells. The ring packet queue handles possible overflow of these buffers by allowing the maximum number of outstanding or stuck packets to be stored, and prevents deadlock between routing cell pairs. The buffer is sized for occasional use to perform buffering between the extract and inter-ring link out buffers. Furthermore Ring packet queue, when a link error is required retransmission due are also used to record the packets of all the hands to be transmitted on the link between the rings.

【0310】好ましいルート設定セルバンクの実施で
は、抽出バッファ及びリング間リンク出バッファ間及び
リング間リンク出バッファ及び挿入バッファ間に独立し
たパスを提供する。リング間リンク入バッファが空でな
く、そして挿入バッファが一杯ではない時に、リング間
バッファユニットは入バッファからのパケットを挿入バ
ッファへ伝送する。
The preferred routing cell bank implementation provides independent paths between the extraction buffer and the inter-ring link output buffer and between the inter-ring link output buffer and the insertion buffer. The inter-ring buffer unit forwards packets from the incoming buffer to the insert buffer when the inter-ring link incoming buffer is not empty and the insert buffer is not full.

【0311】抽出バッファが空でなく、リング間ドラム
キューが空であり、そしてリング間リンク出バッファは
一杯ではない時に、リング間バッファユニットは抽出バ
ッファからのパケットを出バッファへ伝送する。もし出
バッファが一杯であれば、パケットは抽出バッファから
リング間ドラムキューへ伝送される。リング間ドラムキ
ューに包含されるパケットは常に、抽出バッファからの
いずれのパケットの前にも、出バッファへ伝送される。
The Inter-Ring Buffer Unit transmits packets from the Extract Buffer to the Out Buffer when the Extract Buffer is not empty, the Inter Ring Drum Queue is empty, and the Inter Ring Link Out buffer is not full. If the output buffer is full, the packet is transferred from the extraction buffer to the inter-ring drum queue. The packets contained in the inter-ring drum queue are always transmitted to the output buffer before any packets from the extraction buffer.

【0312】リング間リンクパケットプロトコル及びフ
ォーマット リング間リンクパケットプロトコル及びフォーマットは
複数の世代のUCSコンピュータについてある範囲のリ
ンク速度にわたり応用可能とされるのに必要とされる。
プロトコル及びフォーマットは、単一ルーム内の25メ
ートルから料金体系化された遠距離通信網にわたる1
0、000kmにいたる範囲の相互接続距離をカバーす
べきである。フォーマットはSONET等出ている遠距
離通信網の標準と相溶性であるべきである。それはSD
LCプロトコルから取り入れられた簡単な概念に大幅に
基く。1978年、Addison-Wesley Publishing Company社発
行の、R.J.Cypserによる「Communication Architecture
for Distributed Systems」、又は、1987年、Addison W
esley社発行の、Mischa Schwartzによる「Telecommunic
ations Networks: Protocols、Modeling and Analysis」
を参照されたい。第12図は、本発明により構成したリ
ングルート設定セルで使用される好ましいリング間リン
クフレームフォーマットを図示している。
Inter-Ring Link Packet Protocol and Format The Inter-Ring Link Packet Protocol and Format are needed to be applicable over a range of link speeds for multiple generations of UCS computers.
Protocols and formats range from 25 meters in a single room to tariffed telecommunication networks1
It should cover interconnect distances in the range of up to 000 km. The format should be compatible with emerging telecommunications network standards such as SONET. That is SD
It is largely based on a simple concept introduced from the LC protocol. In 1978, "Communication Architecture" by RJ Cypser, published by Addison-Wesley Publishing Company.
for Distributed Systems, "or 1987, Addison W
"Telecommunic" by Mischa Schwartz, published by esley.
ations Networks: Protocols, Modeling and Analysis "
Please refer to. FIG. 12 illustrates a preferred inter-ring link frame format used in a ring routing cell constructed in accordance with the present invention.

【0313】確認及び再伝送 ルート設定セルペア間の接続は完全な2重性であり、2
つの単一方向性のリング間リンクから構成される。リン
グ間リンクの不確定な信頼性により、非常に確実で且つ
明確な確認がリンクレベルで必要とされる。送信ルート
設定セルは、出リング間リンクを通じて伝送されるそれ
ぞれのパケットごとに入リング間リンクを通じて確実な
いし肯定的な確認を受容する。次のパケットを伝送する
前に確認を待つことは非常な低効率を招く。リング間バ
ッファユニットは順番数をそれぞれの伝送パケットへ付
し、216個までパケットは最初の確認の前に未決定状態
とされる。2重性の能力により、2つの独立した組の順
番数が、パケットの流れの各方向ごとに一つ使用され
る。これは、一つのリング間リンクの回復がルート設定
セルペア間の他のリング間リンクの順番数とは独立に進
行するのを可能にし、且つ、ありるタイミング曖昧さ
を避ける。データパケットだけが逐次に検査される。
Confirmation and Retransmission The connection between the routing cell pair is fully duplex and
It consists of two unidirectional inter-ring links. Due to the uncertain reliability of the inter-ring links, very certain and unambiguous confirmation is needed at the link level. The transmitting routing cell accepts a positive or positive confirmation over the incoming inter-ring link for each packet transmitted over the outgoing inter-ring link. Waiting for confirmation before transmitting the next packet results in very low efficiency. The inter-ring buffer unit attaches a sequential number to each transmitted packet, and up to 2 16 packets are left pending before the first confirmation. Due to the duality capability, two independent sets of ordinal numbers are used, one for each direction of packet flow. This recovery between one ring link is enabled to proceed independently of the order number of links between other rings between Routing cell pair, and there avoid the resulting Ru timing ambiguity. Only data packets are examined sequentially.

【0314】2つの順番数がそれぞれのリング間バッフ
ァユニットにより維持される。モジュロ216で動作せら
れるIbuXmitSeqNumは、リング間バッファ
ユニットから伝送されたそれぞれのデータ移送パケット
ごとにカウントを与える。モジュロ216であるIbuR
cvSeqNumが、このリング間バッファユニットに
より受信されたそれぞれの有効な順番になっている誤り
解除データパケットごとに一つインクリメントされる。
一つのリング間バッファユニットがそのIbuRcvS
egNumをダウンリンクリング間バッファユニットへ
送信する時、それは、予想される次のデータパケットを
指示し且つパケット受信順序数によって指示される値ま
で(この値を含まず)受信されるてのデータパケット
の確認を行うのに供される。引き続くそれぞれの伝送さ
れたIbuRcvSeqNumはての先行するメッセ
ージが受容されたことを再度確認する。複数のデータパ
ケットが単一のパケットで確認されることが出来る。
Two ordinal numbers are maintained by each inter-ring buffer unit. The IbuXmitSeqNum operated modulo 2 16 provides a count for each data transfer packet transmitted from the inter-ring buffer unit. Modulo 2 16 IbuR
cvSeqNum is incremented by 1 for each valid in-order error relief data packet received by this inter-ring buffer unit.
One inter-ring buffer unit is the IbuRcvS
When the transmission to the downlink inter-ring buffer unit EgNum, it expected to a value indicated by the following directs the data packet and the packet reception order number (not including this value) all hand data received It is used to confirm packets. Each transmitted IbuRcvSeqNum subsequent confirms that the message preceding the whole hand is received again. Multiple data packets can be identified in a single packet.

【0315】パケットフォーマット リング間リンクパケットフォーマットは、フレーム開始
(FrameStart)、プリアンブル(Preamble)、リングパ
ケット(RingPacket)、CRC及びフレーム終了(Fram
eEnd)という5つのフィールドからなる。フレーム開始
及びフレーム終了フィールドはリンクに特有のフレーム
指示フィールドであり、そしてリング間リンクインター
フェースにより、リング間パケットへ付加ないし除去さ
れる。
Packet format The inter-ring link packet format is the frame start (FrameStart), preamble (Preamble), ring packet (RingPacket), CRC and frame end (Fram).
eEnd) consists of 5 fields. The start-frame and end-frame fields are link-specific framing fields and are added to or removed from the inter-ring packet by the inter-ring link interface.

【0316】フレーム開始及びフレーム終了フィールド
は物理的なリンクの種別に依存する。
The frame start and frame end fields depend on the type of physical link.

【0317】プリアンブルは、リンク制御命令、順番確
認フィールド、伝送フレーム順番数(TFSN)及び受
信フレーム順番数(RFSN)を特定する。制御命令が
ワード数及びリングパケットサブフィールドの内容を明
確にする。
The preamble specifies a link control command, a sequence confirmation field, a transmission frame sequence number (TFSN) and a reception frame sequence number (RFSN). A control command clarifies the number of words and the contents of the ring packet subfield.

【0318】[0318]

【表11】 [Table 11]

【0319】命令は、順番付けられた命令及び順番付け
られない命令に分けられる。リンクについての順番数
は、順番付けられたフレームについてルート設定セルペ
アによりインクリメントされる。リンクについての順番
数は順番付けられないフレームについてインクリメント
されない。
Instructions are divided into ordered and unordered instructions. The ordinal number for a link is incremented by the routing cell pair for ordered frames. The ordinal number for a link is not incremented for unordered frames.

【0320】伝送フレーム順番数(TFSN)はフレー
ムの順番数を表す。それぞれの連続した順番付けられた
フレームは1だけインクリメントされるその順番数を有
する。リング間リンクはモュロ216の順番番号付けを
使用した。送信器がその最大順番数に到達した時、送信
器は、反対方向のフレームが受容されるまで送信と未決
定パケットの確認を強制的に停止せられる。受信フレー
ム順番数(RFSN)はRFSN−1の受信を確認し、
そしてその数に先行するいずれのフレームもまだ確認さ
れていない。RFSNは、受信器が順番付けられた数R
FSNを予想していることを指示する。伝送リング間バ
ッファユニットは、まだ明確に通知されてはいない
のフレームをバッファする。ひとたび確実に通知されれ
ば、フレームは一掃ないしパージ出来且つその順番数
は再使用される。
The transmission frame sequence number (TFSN) represents the frame sequence number. Each consecutive ordered frame has its ordinal number incremented by one. Inter-ring link was used as the order number with the model di Interview Russia 2 16. When the sender reaches its maximum turn number, it is forced to stop sending and checking for pending packets until a frame in the opposite direction is accepted. The reception frame sequence number (RFSN) confirms the reception of RFSN-1,
And none of the frames preceding that number have been identified. RFSN is the number R in which the receivers are ordered.
Indicate that you are expecting an FSN. Transmission ring between the buffer unit buffers the entire hand frame not yet been clearly notified. Once securely notified, the frame can be wiped out or purge, and the order number is reused.

【0321】リング間リンクは、HDLCのように、通
知機能が反対方向に伝送されるフレームに埋め込まれる
「ピギーバック」性を与える。複数のフレームが単一フ
レームにおいて通知出来る。3つの可能な通知は以下の
通りである。
Inter-ring links, like HDLC, provide a "piggyback" nature in which the notification function is embedded in frames transmitted in the opposite direction. Multiple frames can be reported in a single frame. The three possible notifications are:

【0322】[0322]

【表12】 [Table 12]

【0323】アイドル命令は、リングパケットフィール
ドがヌルであり、プリアンブル及びチェックサムないし
検査合計の残余が有効であることを指示する。初期化要
求、初期化シーケンス及び初期化確認命令は、リング間
リンクの各端部でIBU間の順番数プロトコルを初期化
し且つ同期化するのに使用される。初期化シーケンス
が、送信リング間バッファユニットがその順番数をリセ
ットしたことを指示する。受信ルート設定セルは、シー
ケンス数をリセットし、リングパケットキュー、IbuMas
terConfig.RPQFullをクリアし、リセット確認制御命令
パケットを送信すべきである。初期化要求はダウンリン
クリング間バッファユニットが、シーケンス数をリセッ
トし、リングパケットキュー、IbuMasterConfig.RPQFul
lをクリアし、初期化シーケンスパケットを送信するよ
うにする。短パケット及び長パケット命令は、リングパ
ケットフィールドはそれぞれ短又は長パケットを包含す
ることを指示する。
The idle command indicates that the ring packet field is null and the preamble and checksum or checksum residue is valid. The initialization request, initialization sequence and initialization confirmation command are used to initialize and synchronize the sequence protocol between IBUs at each end of the inter-ring link. The initialization sequence indicates that the inter-transmit ring buffer unit has reset its ordinal number. Receive routing cell resets sequence number, ring packet queue, IbuMas
It should clear terConfig.RPQFull and send a reset confirmation control command packet. Initialization request: downlink inter-ring buffer unit resets sequence number, ring packet queue, IbuMasterConfig.RPQFul
Clear l and send the initialization sequence packet. The short packet and long packet instructions indicate that the ring packet field contains a short or long packet, respectively.

【0324】リング間リンクは誤り回復のために2つの
機構を使用する。 1− 回復拒否。これは、リング間リンク回復速度を高
めることが可能である場合に常に必要とされると考えら
れる。しかし、それは所与のフレームについて一回しか
使用出来ない。それは、そのフレームの繰り返しに対し
て呼び出すことが出来ない。 2− 時間切れ回復。これは、拒否回復に加えて常に使
用されねばならない。時間切れ回復なしには、アイソレ
ートされ順番付けられたフレーム又は一連のフレームの
うちの最後のものが誤伝送されれば回復されないであろ
う。加えて、回復拒否がシーケンスフレーム当り一度し
か使用出来ないので、所与のフレームの複数の損失が時
間切れを介して処理されねばならない。
Inter-ring links use two mechanisms for error recovery. 1- Refusal to recover. This would be needed whenever it is possible to increase the inter-ring link recovery rate. However, it can only be used once for a given frame. It cannot be called for a repeat of that frame. 2-Time out recovery. It must always be used in addition to reject recovery. Without time-out recovery, it would not be recovered if the last of the isolated, ordered frame or series of frames was mistransmitted. In addition, multiple rejections of a given frame have to be dealt with via the time out, since recovery rejection can only be used once per sequence frame.

【0325】リンクパケット誤りには、 正しくない検査合計 シーケンス伝送パケット番号範囲外 クロック回復誤り リンクフレーム誤りFor link packet error, Incorrect checksum Sequence transmission packet number out of range Clock recovery error Link frame error

【0326】RNR確認は、入バッファが一杯である時
にフロー制御を与える。リング間リンク帯域幅の最適な
使用を行うためには、出来るだけ最小限の入りバッファ
サイズは、周回(ラウンドトリップ)リング間リンク遅
れ中、受信されるフレームの数である。
The RNR confirmation gives flow control when the incoming buffer is full. In order to make optimal use of inter-ring link bandwidth, the smallest possible incoming buffer size is the number of frames received during a round trip inter-ring link delay.

【0327】巡回冗長フィールド(CRC)はプリアン
ブル及びリングパケットフィールドから計算される。
The Cyclic Redundancy Field (CRC) is calculated from the preamble and ring packet fields.

【0328】IB動作リング間バッファユニットバッフ
ァ管理制御は、以下のIB動作を実行し、5個のルート
設定セルバッファ間でパケットを転送する。
IB operation Inter-ring buffer unit The buffer management control performs the following IB operation and transfers packets between the five routing cell buffers.

【0329】リング相互接続パケット 抽出バッファからのパケットが、ルート設定バスを通じ
て、リングパケットキュープッシュポインタにより特定
される場所の被記憶始動とリングパケットキューの両方
へ転送される。ポインタは短パケット及び長パケットの
両方について18ワードだけインクリメントされる。リ
ングパケットが空いており(RPQプッシュポインタがRPQ
ポップポインタと等しい)且つ出バッファが一杯でなけ
れば、パケットは更に出バッファへ押し入れられ、そし
てRPQポップポインタがインクリメントされる。IbuXmit
SeqNumがリング間リンクで伝送される各データパケット
ごとに1だけインクリメントされる。
Packets from the Ring Interconnect Packet Extraction Buffer are forwarded through the Routing Bus to both the Stored Start and the Ring Packet Queue at the location specified by the Ring Packet Queue Push Pointer. The pointer is incremented by 18 words for both short and long packets. Ring packet is empty (RPQ push pointer is RPQ
(Equal to pop pointer) and the output buffer is not full, the packet is pushed further into the output buffer and the RPQ pop pointer is incremented. IbuXmit
SeqNum is incremented by 1 for each data packet transmitted on the inter-ring link.

【0330】ダイナミックRAMバッファからのリング
相互接続パケット リングパケットキューが空いておらず且つ出バッファが
一杯でない時に、パケットがリングパケットキューから
出バッファへ転送される。リングパケットキューポップ
ポインタは32ワードだけインクリメントされる。
Ring from dynamic RAM buffer
Interconnect Packets Packets are transferred from the Ring Packet Queue to the Egress Buffer when the Ring Packet Queue is not empty and the Out Buffer is not full. The ring packet queue pop pointer is incremented by 32 words.

【0331】リング間リンクパケット パケットが入バッファから挿入バッファへ転送される。
カウントIbuRcvSeqNumは1だけインクリメントされる。
Inter-Ring Link Packet The packet is transferred from the ingress buffer to the insertion buffer.
The count IbuRcvSeqNum is incremented by 1.

【0332】リング間ダイナミックRAMバッファのリ
フレッシュ リフレッシュシーケンスが、IRBリフレッシュカウン
トがオーバーフローした時、リング間ドラムで遂行され
る。リフレッシュは、それ以外の他のルート設定動作に
優る高い優先権を取る。
Reloading of dynamic RAM buffer between rings
A fresh refresh sequence is performed on the inter-ring drum when the IRB refresh count overflows. Refresh takes higher priority over all other routing operations.

【0333】リング間リンク再試行 リング間リンクを通じて受信される各パケットは最後の
受信誤り解除パケットと誤りが検出されたかどうかを特
定する。もし確認が何らの誤りも指示しなければ、リン
グパケットキューコミットポインタ及びCommitPktNumbe
r場所は以下の態様で更新される。 1−RPQCommitPointer=RPQcommitpointer+ (RcvPktSeqNum−CommitPktNum)*32 2−CommitPktNum=RcbPktSeqNum
Inter-Ring Link Retry Each packet received over the Inter-Ring link specifies the last received error clearing packet and whether an error was detected. If the confirmation does not indicate any error, the ring packet queue commit pointer and CommitPktNumbe
The r location is updated in the following manner. 1-RPQCommitPointer = RPQcommitpointer + (RcvPktSeqNum-CommitPktNum) * 32 2-CommitPktNum = RcbPktSeqNum

【0334】拒否パケットが受信された時、IBUは、
リングパケットキュープッシュポインタを通じリングパ
ケットキューコミットポインタ後の順番数とともに全て
のパケットを再送信しなければならない。Ibisがリング
パケットキューポップポインタの調整により実行され
る。 1−RPQCommitPointer=RPQcommitpointer+ (RcvPktSeqNum−CommitPktNum)*32 2−CommitPktNum=PktRcvSeqNum 3−RPQPopPointer=PktRcvSeqNum 4−Store received error packet in Errorqueue (誤りキューに受信された誤りパケットを格納する)
When a reject packet is received, the IBU
All packets must be retransmitted through the Ring Packet Queue Push Pointer with a sequence number after the Ring Packet Queue Commit Pointer. Ibis is performed by adjusting the ring packet queue pop pointer. 1-RPQCommitPointer = RPQcommitpointer + (RcvPktSeqNum-CommitPktNum) * 32 2-CommitPktNum = PktRcvSeqNum 3-RPQPopPointer = PktRcvSeqNum 4-Store received error packet in Error queue

【0335】誤り記録 RIにより検出されたいずれの誤りについても、ルート
設定セル内のIB及びRDU、対応するパケット及び誤
り状態の2ワードがルート設定セル誤りキューに記録さ
れる。パケットは、もしそれがダウンリンクルート設定
セルへ伝送されつつあればリングパケットキューで更に
キューイングが行われるべきである。
For any error detected by the error record RI, the IB and RDU in the routing cell, the corresponding packet and the two words of the error state are recorded in the routing cell error queue. The packet should be further queued in the ring packet queue if it is being transmitted to the downlink routing cell.

【0336】SPA読み取り/書込みリング間ダイナミ
ックRAM リング間ダイナミックRAM位置を通じて読み出し又は
書込みが行われる。もし出バッファが一杯かルート設定
セルが誤りを検出すれば、リング間ダイナミックRAM
は修正される。
Dynamics between SPA Read / Write Rings
A read or write is performed through the dynamic RAM location between the check RAM rings. If the output buffer is full or the routing cell detects an error, the dynamic RAM between rings
Is fixed.

【0337】リング:1動作 以下の説明では、上述の多重レベル形メモリシステム階
層構造の関係において好ましいルート設定セルの動作を
叙述する。ルート設定セルは、パケットの種別及びルー
ト設定セルディレクトリをベースにしたサブぺージ状態
の機能ないし関数である規則に基づきパケットのルート
設定を行うパケットスイッチと見なすことが出来る。ま
ず、サブページ状態、ページ状態及びルート設定セルを
ベースにした状態並びに未決定状態について説明する。
次に、鍵となる規則の概念及びシーケンスの説明が行わ
れる。次に、完全なサブページ規則が与えられる。ペー
ジ動作及び特殊な動作を順次説明する。ページ動作及び
特殊な動作並びにサブページ動作を成就する完全な規則
を説明する。
Ring: 1 Operation The following description outlines the preferred operation of the routing cell in the context of the multi-level memory system hierarchy described above. The routing cell can be regarded as a packet switch that routes a packet based on a rule that is a function or function of a subpage state based on a packet type and a routing cell directory. First, the subpage state, the page state, the state based on the routing cell, and the undecided state will be described.
Next, a description of key rule concepts and sequences is provided. Then the full subpage rules are given. The page operation and the special operation will be sequentially described. The complete rules for accomplishing page behaviors and special behaviors as well as sub-page behaviors are described.

【0338】発信規則 第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)。
Outbound Rules FIG. 13 illustrates a standard request sequence,
It also defines the location terms used in this section. The originating or parent ring: 0 is the ring containing the requesting cell: 0 and issued the original request packet (step 1). If the requested subpage is not valid on the originating (or local) ring: 0, the routing cell: 0 extracts the packet and sends it to the local routing cell: 1 (step 2). Locally originated requests are sequentially routed by local routing cell: 1 ring: 1
(Step 3). The Routing Cell: 1 is connected to the remote Ring: 0 and holds a valid copy of the requested sub-page and in turn extracts requests originating from a distance (step 4). Requests originated from distant places are sequentially inserted into the remote ring: 0 by the routing cell: 0 (step 5). The response cell extracts the request and inserts the response (step 6). The request originated from a distance is extracted by the routing cell: 1 (step 7) and sent to the partner's routing cell: 1. This routing cell: 1 is calling the responding routing cell: 1 and inserts the response packet into ring: 1 (step 8). The packet travels around Ring: 1 to the Outgoing Routing Cell: 1 and the packet is extracted (step 9). The packet is sent to the routing cell: 0 of the originating ring: 0 and is inserted on the ring: 0 (step 10). The request sequence is sequentially completed by the originating (requesting) cell extracting the packet (step 11).

【0339】パケットはルート設定セルによりこの標準
的なシーケンス中に8回処理される。2つのルート設定
セル:0及び2つのルート設定セル:1は、下記の表に
図示されるように、パケット供給源及びパケット発生源
に基づく8つの独自の方法でパケットを解釈する。ルー
ト設定セル動作及び規則は、ルート設定セル、パケット
供給源及びパケット発生源のこれら8つの組合せに基づ
いて構成される。
The packet is processed by the routing cell eight times during this standard sequence. Two Routing Cells: 0 and two Routing Cells: 1 interpret the packet in eight unique ways based on packet source and packet source, as illustrated in the table below. Routing cell operations and rules are configured based on these eight combinations of routing cell, packet source and packet source.

【0340】どの部分について、ルート設定セル:1
により局部的に発信されたパケット規則はルート設定セ
ル:1により遠隔発信されたパケット規則と類似してい
る。局部リング:0の観点から、局部ルート設定セル:
0は、遠隔発信された要求について、局部リング:0が
単一のセルとして論理的に現れるようにする。
[0340] for which part, Routing cell: 1
The locally originated packet rule by is similar to the remotely originated packet rule by the routing cell: 1. From the perspective of the local ring: 0, the local routing cell:
0, for requests that are remotely originated, local Ring: 0 to appear logically as a single cell.

【0341】pkt.RequestorId及びRiuCellAddressは、
要求が局部的に発信されたかどうかを決定するために比
較が行われる。
Pkt.RequestorId and RiuCellAddress are
A comparison is made to determine if the request originated locally.

【0342】ルート設定セルサブページ状態記述−好ま
しい実施例 サブページ及び未決定の(pending)要求状態は、リン
グ:0内のいずれのキャッシュにも存在しており且つそ
れについて非局部リング:0へ又は非局部リングから要
求が引っかかっている(pending)ところの全てのサブペ
ージについて、ルート設定セルペアに格納される。ルー
ト設定セル:0は、遠隔のリング:0からの要求につい
て未決定の状態を記憶する。ルート設定セル:1は、遠
隔のリング:0へ引っかかっている局部要求について未
決定状態を記憶する。ルート設定セル:0及びルート設
定セル:1は両方ともサブページ状態を記憶する。ルー
ト設定セル:0及びルート設定セル:1サブページ状態
は、サブページ状態が更新されつつある期間を除いて一
定不変である。規則及び未決定状態は適宜にての窓枠
(window case)を処理する。本発明の好ましい実施につ
いてサブページ状態は以下で説明する。
Routing Cell Subpage State Description-Preferred
A preferred embodiment subpage and pending request state exists in any cache in ring: 0 and for which a request is stuck to or from nonlocal ring: 0 ( pending) All subpages are stored in the route setting cell pair. Routing cell: 0 stores the pending state for requests from remote ring: 0. Routing cell: 1 stores the pending state for local requests stuck on remote ring: 0. Both Routing Cell: 0 and Routing Cell: 1 store the sub-page state. Routing cell: 0 and routing cell: 1 subpage states are constant, except during periods when the subpage state is being updated. Rules and undetermined state processes the window frame of the whole hand (window Case) appropriately. Subpage states are described below for a preferred implementation of the invention.

【0343】RDU:0(RduState0)列挙 RDU:0状態は、2つの独立したフィールド及び保存
フィールドとからる。サブページ状態フィールドが、
局部リング:0に存在するてのサブページの集合状態
を記述する。未決定フィールドが、このリング:0に対
する遠隔発信されたいずれの要求が未決定であるかどう
かを記述する。個々の状態は、次のサブセクションで記
述される。
[0343] RDU: 0 (RduState0) listed RDU: 0 state, Ru consists of two independent field and save field. If the subpage status field is
Local ring: 0 to describe the set state of the sub-pages of all the hands that are present. The Pending field describes whether any remotely originated requests for this Ring: 0 are pending. The individual states are described in the following subsections.

【0344】[0344]

【表13】 [Table 13]

【0345】SubPageState:Inv リング:0内に何らのサブページの有効なコピーも
ことを指示する。
[0345] SubPageState: Inv ring: also to indicate the non-Ikoto valid copy of any of the sub-pages within the 0.

【0346】SpState:Ro SpState:Roは、リング:0内の一つ又はそれ以上のキャ
ッシュがサブぺージのリードオンリーコピーを包含し得
るがどれも所有者状態を包含しないことを指示する。一
定の状況の下で、ルート設定セルペアはサブぺージにつ
いてリードオンリー状態(SpState:Ro)を記録している
がサブぺージはリング:0で無効である(SpState:In
v)。なぜなら、何らのリードオンリーコピーもいずれの
セルにも存在しないからである。
SpState: Ro SpState: Ro indicates that one or more caches in Ring: 0 may contain a read-only copy of the subpage, but none contain an owner state. Under certain circumstances, the routing cell pair records a read-only state (SpState: Ro) for the subpage, but the subpage is invalid at Ring: 0 (SpState: In).
v). This is because there is no read-only copy in any cell.

【0347】SpState:Nex SpState:Nexはサブぺージ所有者を指示し、そしてゼロ
又はそれ以上のサブぺージのリードオンリーコピーが局
部リング:0に存在する。ゼロ又はそれ以上のリードオ
ンリーコピーが遠隔のリング:0に存在し得る。もし、
何らのリードオンリーコピーも局部リング:0の外側に
存在しなければ、何らの遠隔のリードオンリーコピーも
存在しないことを指示する再結合又は最初の無効化動作
で、排他性へのサブページ状態転換ないし遷移を招く。
遠隔のルート設定セルは、それらがディスクリプタを割
り当て解除する時に合図しなかった。
SpState: Nex SpState: Nex indicates the subpage owner, and zero or more readonly copies of the subpage are present on the local ring: 0. There may be zero or more read-only copies in the remote ring: 0. if,
A recombination or first invalidation operation indicating that there are no remote read-only copies, if no read-only copies are outside the local ring: 0, does not change the subpage state to exclusivity. Invite a transition.
Remote routing cells did not signal when they deallocate descriptors .

【0348】SpState:Ex SubpageState:Exは、局部リング:0の外側には何らの
サブぺージの有効なコピーもいことを指示する。局部
リング:0は、何らのリードオンリーコピーもない排他
的所有者又はゼロ又はそれ以上のリードオンリーコピー
を持つ非排他的な所有者を包含する。ルート設定セル:
0は、局部セルの排他的所有権状態の排他的、アトミッ
ク及びトランジェント(過渡的な)アトミックをて排
他的なものとして記録する。
[0348] SpState: Ex SubpageState: Ex is a local ring: also to indicate the non-Ikoto 0 any of the valid copy of the Sabupeji on the outside of. Local Ring: 0 encompasses an exclusive owner with no read-only copy or a non-exclusive owner with zero or more read-only copies. Routing cell:
0, exclusive of exclusive ownership state of the local cell, (transient) atomic and transient recording the atomic as total and exclusive.

【0349】Pending:None PendingNone要求状態は、対応するサブページに関係す
る局部リング:0へ、遠隔発信されたペンディングアク
ティビティが何らいことを指示する。
[0349] Pending: None PendingNone request state, the corresponding local ring related to the sub-page: to 0, pending activities that are remote caller to instruct any non-Ikoto.

【0350】Pend1:Ro Pendl:Roは、局部リング:0に対する一つの遠隔より発
信されたsva read ro要求が未決であることを指示す
る。追加の遠隔より発信されたsva read ro要求が、要
求が終結されるまで、RspBsyセットを持つパートナーの
ルート設定セル:1へ戻される。
Pend1: Ro Pendl: Ro is one remotely originated sva for Local Ring: 0. read ro Indicates that the request is pending. Additional remotely originated sva read The ro request is returned to the partner's Routing Cell: 1 with the RspBsy set until the request is closed.

【0351】Pend1:Owner Pend1:Ownerは、局部リング:0に対する一つ又はそれ
以上の無効化要求又は遠隔発信された所有権要求がペン
ディングであることを指示する。加えて、一つ又はそれ
以上の遠隔発信されたsva read ro要求も又、ペンディ
ングとし得る。ての遠隔発信された所有権要求、リー
ドオンリー要求及び無効化要求は、この状態の時に、リ
ング:0へ送られる。所有権要求は、sva read ex、sva
get及びsva getwである。無効化要求はwrite inv及び
ルックアヘッド無効化である。
Pend1: Owner Pend1: Owner indicates that one or more invalidation requests or remotely originated ownership requests for Local Ring: 0 are pending. In addition, one or more remotely originated sva read The ro request can also be pending. Remote originating ownership request all hand, read-only request and invalidate request, when in this state, the ring: is sent to 0. The ownership claim is sva read ex, sva
get and sva It's getw. Invalidation request is write inv and lookahead invalidation.

【0352】RDU:1(RduState1)列挙 RDU:1状態は、3つの独立したフィールド及び保存フ
ィールドとからなる。サブページ状態フィールドが、局
部リング:0に存在するてのサブページの集合状態を
記述する。未決フィールドが、リング:1に対する局部
発信されたいずれの要求が未決であるかどうかを記述す
る。未決1フィールドが、未決要求を満足するために抽
出されなかった遠隔発信された所有権パケットをルート
設定セル:1が失っていること及びミッシングページに
起因して、未決要求が再発行される必要があるかどうか
を記述する(スナーフ、snarf)。
RDU: 1 (RduState1) Enumeration The RDU: 1 state consists of three independent fields and a storage field. Subpage state field, the local Ring: 0 to describe the state of aggregation of the sub-pages of all the hands are present. The Pending field describes whether any locally originated request for Ring: 1 is pending. Pending1 field needs to be reissued due to missing routing pages: 1 and missing pages for remotely originated ownership packets not extracted to satisfy pending request Describe if there is (snarf, snarf).

【0353】[0353]

【表14】 [Table 14]

【0354】SubPageState:Inv リング:0内に何らのサブページの有効なコピーも
ことを指示する。
[0354] SubPageState: Inv ring: also to indicate the non-Ikoto valid copy of any of the sub-pages within the 0.

【0355】SpState:Ro SpState:Roは、リング:0内の一つ又はそれ以上のキャ
ッシュがサブぺージのリードオンリーコピーを包含し得
るがどれも所有者状態を包含しないことを指示する。一
定の状況の下で、ルート設定セルペアはサブぺージにつ
いてリードオンリー状態(SpState:Ro)を記録していた
がサブぺージはリング:0内で無効である(SpState:In
v)。なぜなら、何らのリードオンリーコピーもいずれの
セルにも存在しないからである。
SpState: Ro SpState: Ro indicates that one or more caches in Ring: 0 may contain a read-only copy of the subpage, but none contain an owner state. Under certain circumstances, the routing cell pair recorded a read-only state (SpState: Ro) for the subpage, but the subpage is invalid within Ring: 0 (SpState: In).
v). This is because there is no read-only copy in any cell.

【0356】SubpageState:Owner SubpageState:Ownerは、サブぺージが局部リング:0内
で排他的に(Ex)又は非排他的に(Nex)所有されること
を指示する。局部リング:0は何らのリードオンリーコ
ピーもない排他的所有者又はゼロ又はそれ以上のリード
オンリーコピーを持つ非排他的な所有者を包含する。ル
ート設定セル:1は、局部セルの排他的所有権状態の非
排他的、排他的、アトミック及びトランジェントアトミ
ックをて所有者として記録する。
SubpageState: Owner SubpageState: Owner indicates that the subpage is owned exclusively (Ex) or nonexclusively (Nex) in the local ring: 0. Local Ring: 0 encompasses an exclusive owner with no read-only copy or a non-exclusive owner with zero or more read-only copies. Routing Cell: 1, non-exclusive exclusive ownership state of the local cell, exclusively, to record the atomic and transient atomic as owner whole.

【0357】Pending:None PendingNone要求状態は、未決フィールド及び対応する
サブページに関係するリング:1へ、局部発信された未
決アクティビティが何らいことを指示する。
[0357] Pending: None PendingNone request state, pending field and corresponding ring related to the sub-page: to 1, the local oscillator has been pending activity to indicate any non Ikoto.

【0358】Pend:Ro Pend:Roは、局部リング:1への一つの局部発信されたs
va read ro要求が未決であることを指示する。追加の局
部発信されたsva read ro要求が、要求が終結されるま
で、RspBsyセットを持つパートナーのルート設定セル:
1へ戻される。
Pend: Ro Pend: Ro is one locally originated s to local ring: 1
va read ro Indicates that the request is pending. Additional locally originated sva read The ro request is the routing cell of the partner with the RspBsy set until the request is closed:
Returned to 1.

【0359】Pend:Owner Pend:Ownerは、リング:1に対する一つ又はそれ以上の
無効化要求又は局部発信された所有権要求が未決である
ことを指示する。加えて、一つ又はそれ以上の局部発信
されたsva read ro要求も又、ペンディングとし得る。
ての局部発信された所有権要求、リードオンリー要求
及び無効化要求は、この状態の時に、リング:0へ送ら
れる。所有権要求は、sva read ex、sva get及びsva ge
twである。無効化要求はwrite inv及びルックアヘッド
無効化である。
Pend: Owner Pend: Owner indicates that one or more invalidation requests or locally originated ownership requests for Ring: 1 are pending. In addition, one or more locally originated sva read The ro request can also be pending.
Local originating ownership request all hand, read-only request and invalidate request, when in this state, the ring: is sent to 0. The ownership claim is sva read ex, sva get and sva ge
tw. Invalidation request is write inv and lookahead invalidation.

【0360】Pend1:ReIssue Pend1:ReIssueは、ルート設定セル:1発信要求に対す
る潜在的な非ルート設定セル:1発信応答パケットをル
ート設定セル:1が失ない得ることを指示する。Pend1:
ReIssue状態は、未決要求を満足するために抽出されな
かった遠隔発信された所有権パケットとミッシングペー
ジの場合との区別によって、擬似的な(スプリアス)mi
ssing page誤り(ページフォールト)を阻止するために
ルート設定セル:1により使用される(snarf)。もしル
ート設定セル:1により発信された要求が何らの応答及
びPendl:Reissueもなく復帰すれば、復帰要求はルート
設定セルにより使用され、要求プロセッサセル又はルー
ト設定セルが要求を再発行するようにし、擬似的なペー
ジ誤りが回避される。Pend1:Reissueは、何らの局部的
に発生された要求も未決である時、又は最初の所有権
(データを持った)応答時間中、クリアされる。
Pend1: ReIssue Pend1: ReIssue indicates that the routing cell: 1 may not lose a potential non-routing cell: 1 origination response packet for the routing cell: 1 origination request. Pend1:
The ReIssue state is a pseudo (spurious) mimic due to the distinction between remotely originated ownership packets that were not extracted to satisfy pending requests and missing page cases.
ssing Used by routing cell: 1 to prevent page errors (page faults) (snarf). If the request originated by the Routing Cell: 1 returns without any response and Pendl: Reissue, the revert request is used by the Routing Cell to cause the Request Processor Cell or Routing Cell to reissue the request. , Pseudo page errors are avoided. Pend1: Reissue is cleared when any locally generated request is pending or during the initial ownership (with data) response time.

【0361】ルート設定セルサブページ状態記述−代替
実施例 以下に述べることは、本発明の第1の代替実施例で使用
されるサブページ状態である。
Routing Cell Subpage State Description-Alternative
Embodiments Described below are the sub-page states used in the first alternative embodiment of the present invention.

【0362】RDU:0(RduState0)列挙 RDU:0状態は、4つの独立したフィールド及び保存
フィールドとからる。サブページ状態フィールドが、
局部リング:0に存在するてのサブページの集合状態
を記述する。未決1フィールドが、このリング:0に対
する遠隔発信されたいずれのsva read ro、sva read e
x、又はwrite invalidate要求が未決であるかどうかを
記述する。未決2フィールドが遠隔発信されたsva get
要求が未決かどうかを記述する。未決3フィールドが遠
隔発信されたsva getw(gate and wait、獲得及び待ち)
要求が未決であるかどうか、そして追加のgetw要求が、
この要求が未決であった時に発行されたかどうかを記述
する。複数のsva getw要求が記録され、トランジェント
アトミック状態を要求しているキャッシュへ知らせる。
[0362] RDU: 0 (RduState0) listed RDU: 0 state, Ru consists of four independent field and save field. If the subpage status field is
Local ring: 0 to describe the set state of the sub-pages of all the hands that are present. Pending 1 field is any remotely originated sva for this ring: 0 read ro, sva read e
x, or write Describe whether the invalidate request is pending. Undecided 2 fields sent remotely by sva get
Describe whether the request is pending. Undecided 3 fields sent remotely by sva getw (gate and wait, acquisition and wait)
Whether the request is pending, and an additional getw request
Describe whether this request was issued when it was pending. Multiple sva A getw request is recorded, signaling a transient atomic state to the requesting cache.

【0363】3つの未決フィールドは、サブページ当り
各種別の一つの遠隔発信された未決要求の最大数を個別
に記録した。同じサブページに対する同様の種別の複数
の要求が、未決要求が終結されるまでには、パートナー
のルート設定セル:1へ戻される。個々の状態は、次の
サブセクションで記述される。
The three pending fields individually recorded the maximum number of one remotely originated pending request of each type per subpage. Multiple requests of the same type for the same subpage are returned to the partner's routing cell: 1 by the time the pending request is closed. The individual states are described in the following subsections.

【0364】[0364]

【表15】 [Table 15]

【0365】SubPageState:Inv リング:0内にサブページの有効なコピーが何らいこ
とを指示する。
[0365] SubPageState: Inv ring: a valid copy of the sub-pages to indicate any non-Ikoto in the 0.

【0366】SpState:Ro SpState:Roは、リング:0内の一つ又はそれ以上のキャ
ッシュがサブぺージのリードオンリーコピーを包含し得
るがどれも所有者状態を包含しないことを指示する。一
定の状況の下で、ルート設定セルペアはサブぺージにつ
いてリードオンリー状態(SpState:Ro)を記録していた
がサブぺージはリング:0内で無効である(SpState:In
v)。なぜなら、何らのリードオンリーコピーもいずれの
セルにも存在しないからである。何らのリードオンリー
コピーも存在しない時、第1の局部発信された要求、遠
隔発信された無効又は遠隔発信されたリードオンリー要
求によって、リードオンリーサブぺージ状態が無効サブ
ぺージ状態へ調整される。
SpState: Ro SpState: Ro indicates that one or more caches in Ring: 0 may contain a read-only copy of a subpage, but none contain an owner state. Under certain circumstances, the routing cell pair recorded a read-only state (SpState: Ro) for the subpage, but the subpage is invalid within Ring: 0 (SpState: In).
v). This is because there is no read-only copy in any cell. The first locally originated request, remotely originated invalid or remotely originated read only request adjusts the read only subpage state to the invalid subpage state when there is no read only copy. .

【0367】SpState:Nex SpState:Nexは、サブぺージ所有者を指示し、そしてゼ
ロ又はそれ以上のサブぺージのリードオンリーコピーが
局部リング:0に存在する。ゼロ又はそれ以上のリード
オンリーコピーが遠隔のリング:0に存在し得る。も
し、何らのリードオンリーコピーも局部リング:0の外
側に存在しなければ、何らの遠隔のリードオンリーコピ
ーも存在しないことを指示する再結合又は最初の無効化
で、排他性へ向かうサブページ状態遷移を招く。遠隔の
ルート設定セルは、それらがディスクリプタを割り当て
解除する時に合図しない。
SpState: Nex SpState: Nex indicates the subpage owner, and zero or more readonly copies of the subpage are present on the local ring: 0. There may be zero or more read-only copies in the remote ring: 0. Subpage state transition towards exclusivity with recombination or first invalidation indicating that there are no remote read-only copies if no read-only copies are outside the local ring: 0. Invite. Remote routing cells do not signal when they deallocate descriptors .

【0368】SpState:Ex SubpageState:Exは、局部リング:0の外側には何らの
サブぺージの有効なコピーもいことを指示する。局部
リング:0は、何らのリードオンリーコピーもい排他
的所有者又はゼロ又はそれ以上のリードオンリーコピー
を持つ非排他的な所有者を包含する。ルート設定セル:
0は、局部セルの排他的所有権状態の排他的、アトミッ
ク及びトランジェントアトミックをて排他的なものと
して記録する。
[0368] SpState: Ex SubpageState: Ex is a local ring: also to indicate the non-Ikoto 0 any of the valid copy of the Sabupeji on the outside of. Local Ring: 0 includes a non-exclusive owner with any exclusive owner or zero or more read only copies read-only copies is also insignificant. Routing cell:
0, exclusive of exclusive ownership state of the local cell, records the atomic and transient atomic as total and exclusive.

【0369】Pending[1、2、3]:None PendingNone要求状態は、未決フィールド及び対応する
サブページに関係する局部リング:0へ、何らの遠隔発
信された未決アクティビティがいことを指示する。
[0369] Pending [1,2,3]: None PendingNone request state, local ring related to the pending field and the corresponding subpage: to 0, outstanding activity is any of the remote caller instructs the non Ikoto.

【0370】Pend1:Ro Pendl:Roは、局部リング:0に対する遠隔発信されたsv
a read ro要求が未決であることを指示する。追加の遠
隔発信されたsva read ro要求が、要求が終結されるま
で、RspBsyセットを持つパートナーのルート設定セル:
1へ戻される。
Pend1: Ro Pendl: Ro is a remotely originated sv for Local Ring: 0
a read ro Indicates that the request is pending. Additional remotely originated sva read The ro request is the routing cell of the partner with the RspBsy set until the request is closed:
Returned to 1.

【0371】Pend1:Ex Pend1:Exは、局部リング:0に対する遠隔発信されたsv
a read ex要求が未決であることを指示する。先行する
遠隔発信されたsva read ro要求が未決であり得る。追
加の遠隔発信されたsva read ex要求が、要求が終結さ
れるまで、RspBsyセットを持つパートナーのルート設定
セル:1へ戻される。
Pend1: Ex Pend1: Ex is a remotely originated sv for Local Ring: 0.
a read ex Indicates that the request is pending. Preceding remotely originated sva read The ro request can be pending. Additional remotely originated sva read The ex request is returned to the partner's Routing Cell: 1 with the RspBsy set until the request is closed.

【0372】Pend1:OwnerInv Pend1:OwnerInvは、局部リング:0に対する遠隔発信さ
れたwrite invalidate要求又はルックアヘッド無効化(w
rite invalidate.lookahead、sva read ex.lookahead、
sva get.lookahead又はsva getw.lookahead)要求が未決
であることを指示する。先行する遠隔発信されたsva re
ad ro要求が未決であり得る。リング:1からの引き続
くルックアヘッド無効化が空にされる。引き続く遠隔発
信されたsva read ex、write inv要求が使用される。そ
れぞれのサブぺージは単一の所有者を有し、そして所有
者のみがwrite invalidate要求を発行出来るので、この
状態での追加の書込み無効化が誤り状態を指示する。引
き続くsva read ro要求がRspBsyとマーク付けされ、そ
して重複データパケットが空にされる。
Pend1: OwnerInv Pend1: OwnerInv is a remote originated write to Local Ring: 0. invalidate request or lookahead invalidate (w
rite invalidate.lookahead, sva read ex.lookahead,
sva get.lookahead or sva getw.lookahead) Indicates that the request is pending. Preceding remotely originated sva re
ad The ro request can be pending. Subsequent lookahead invalidation from ring: 1 is emptied. Subsequent remote-transmitted sva read ex, write The inv request is used. Since each subpage has a single owner, and only the owner can issue a write invalidate request, additional write invalidations in this state indicate an error condition. Sva continues read The ro request is marked RspBsy and the duplicate data packet is emptied.

【0373】Pend2:Get Pend2:Getは、局部リング:0に対する遠隔発信されたs
va get要求が未決であることを指示する。引き続く遠隔
発信されたsva get要求が、要求が終結されるまで、pk
t.dataセットを持つ発信セルへ戻され、サブぺージが
にアトミックであることを指示する。サブぺージはまだ
アトミックではないかもしれないが、引き続く要求が完
了される前にはアトミックになる。
Pend2: Get Pend2: Get is a remotely originated s for Local Ring: 0.
va Indicates that the get request is pending. Subsequent remote-transmitted sva get request is pk until the request is closed
Returned to the originating cell that has the t.data set, indicating that the subpage is already atomic. The subpage may not yet be atomic, but will be atomic before subsequent requests are completed.

【0374】Pend3:Getw Pend3:Getwは、局部リング:0に対する一つ又はそれ以
上の遠隔発信されたsva getw要求が未決であることを指
示する。ての読み込み要求とは異なり、てのge
tw要求が、次の要求がビジーとされるのではなく、この
状態の時に送られる。リング:0からのgetw応答が、ペ
ージがにアトミックであることを指示する時(getw.d
ata.RspBsy)、Pend3:Atomic状態が記録される。
Pend3: Getw Pend3: Getw is one or more remotely originated sva for Local Ring: 0. Indicates that the getw request is pending. Unlike all other hand read request, of all hand ge
A tw request is sent during this state rather than the next request being busy. Ring: 0 getw response from is, when indicating that the page is atomic in already (getw.d
ata.RspBsy), Pend3: Atomic state is recorded.

【0375】Pend3:Atomic 所有権パケットが、アトミック所有権についての未決ge
tw要求を満足することが必要とされることを指示する。
所有しているキャッシュは、トランジェントアトミック
状態(tat)にあることが保証される。引き続く遠隔発信
されたgetw又はget要求は戻され、サブぺージがにア
トミックであることが指示される。引き続くリング:0
所有権パケット(release.data又はsva readex.data)が
抽出され、未決アトミックである他のリング:0へ送る
ためにリング:1へ送られる(RRC:1Pend3:Atomic)。
Pend3: Atomic ownership packet is pending ge for atomic ownership.
tw indicates that it is required to satisfy the request.
The owning cache is guaranteed to be in a transient atomic state (tat). Subsequent remotely originated the getw or get request is returned, the instruction that Sabupeji is atomic on already. Subsequent ring: 0
Ownership packet (release.data or sva readex.data) is extracted and sent to Ring: 1 to send to other Ring: 0 that is atomic pending (RRC: 1Pend3: Atomic).

【0376】Pend3:Atomicは、2つの条件の下で設定さ
れる。第1に、getw応答がページがにアトミックであ
ることを指示する時である。第2に、遠隔起動されたre
leas.dataがリング:0に入り、Pend3:Atomicが設定さ
れ、ルート設定セル:0が、未決アトミックである他の
リング:0へ送るために、引き続くrelease.dataを抽出
出来る時である。release.dataは、もしリング:0のセ
ルが遠隔発信される開放でアトミック所有権を獲得した
ならば、局部発信されよう。
Pend3: Atomic is set under two conditions. First, it is time to getw response indicates that the page is atomic on already. Second, remotely activated re
It is when leas.data enters ring: 0, Pend3: Atomic is set, and the routing cell: 0 can extract subsequent release.data to send to another ring: 0 that is pending atomic. release.data will be locally originated if the ring: 0 cell gains atomic ownership with the remote originated release.

【0377】RDU:1(RduState1)列挙 RDU:1状態は、6つの独立したフィールドからなる。
サブページ状態フィールドが、局部リング:0に存在す
てのサブページの集合状態及び所有者無効化が進行
中であるかどうかを記述する。Pend1aフィールドが、局
部発信されたsva read ro要求がリング:1で未決かど
うかを記述する。Pend1bフィールドが、局部発信された
sva read ex要求がリング:1で未決であるかどうかを
記述する。Pend2フィールドが、局部発信されたsva get
要求が未決であるかどうかを記述する。Pend3フィール
ドが、一つの局部発信されたsva getw要求が未決である
かどうかを、そして追加のgetw要求がこの要求が未決で
ある間に発行されたかどうかを記述する。複数のsva ge
tw要求が記録され、要求キャッシュへトランジェントア
トミック状態を適宜合図する。Pend5フィールドが、未
決要求を満足するために抽出されなかった遠隔発信され
た所有権パケットをルート設定セル:1が失っているこ
と及びミッシングページに起因して、未決要求が再発行
される必要があるかどうかを記述する(スナーフ、snar
f)。
RDU: 1 (RduState1) Enumeration The RDU: 1 state consists of 6 independent fields.
Subpage state field, the local Ring: describes whether 0 the set state and the owner invalidate the subpage in all hand there is in progress. Pend1a field is locally originated sva read Describes whether the ro request is pending in Ring: 1. Pend1b field was locally originated
sva read Describes whether the ex request is pending in Ring: 1. Pend2 field is locally originated sva get
Describe whether the request is pending. Pend3 field is one locally originated sva Describes whether the getw request is pending, and whether additional getw requests were issued while this request was pending. Multiple sva ge
The tw request is recorded, signaling the transient atomic state to the request cache accordingly. The Pend5 field needs to be reissued due to missing routing pages: 1 and the missing cells originating remotely originated ownership packets that were not extracted to satisfy the pending request. Describe if there is (snarf, snar
f).

【0378】5つの未決フィールドは独立して、サブぺ
ージ当り一つの各種別の局部発信された未決要求の最大
数を記録した。同様の種別の複数の要求がビジー状態
で、未決要求が終了されるまでにはパートナーのルート
設定セルへ戻される。
The five pending fields independently recorded the maximum number of locally originated pending requests of each type, one per subpage. Multiple requests of the same type are busy and returned to the partner's routing cell by the time the pending requests are completed.

【0379】[0379]

【表16】 [Table 16]

【0380】SubPageState:Inv リング:0内に何らのサブページの有効なコピーも
ことを指示する。
[0380] SubPageState: Inv ring: also to indicate the non-Ikoto valid copy of any of the sub-pages within the 0.

【0381】SpState:Ro SpState:Roは、リング:0内の一つ又はそれ以上のキャ
ッシュがサブぺージのリードオンリーコピーを包含し得
るがどれも所有者状態を包含しないことを指示する。一
定の状況の下で、ルート設定セルペアはサブぺージにつ
いてリードオンリー状態(SpState:Ro)を記録していた
がサブぺージはリング:0内で無効である(SpState:In
v)。なぜなら、何らのリードオンリーコピーもいずれの
セルにも存在しないからである。何らのリードオンリー
コピーも存在しない時、第1の局部発信された要求、遠
隔発信された無効又は遠隔発信されたリードオンリー要
求によって、リードオンリーサブぺージ状態が無効サブ
ぺージ状態へ調整される。
SpState: Ro SpState: Ro indicates that one or more caches in Ring: 0 may contain a read-only copy of the subpage, but none contain an owner state. Under certain circumstances, the routing cell pair recorded a read-only state (SpState: Ro) for the subpage, but the subpage is invalid within Ring: 0 (SpState: In).
v). This is because there is no read-only copy in any cell. The first locally originated request, remotely originated invalid or remotely originated read only request adjusts the read only subpage state to the invalid subpage state when there is no read only copy. .

【0382】SubpageState:Owner SubpageState:Ownerは、サブぺージが局部リング:0内
で排他的に(Ex)又は非排他的に(Nex)所有されること
を指示する。局部リング:0は何らのリードオンリーコ
ピーもない排他的所有者又はゼロ又はそれ以上のリード
オンリーコピーを持つ非排他的な所有者を包含する。ル
ート設定セル:1は、局部セルの所有権状態である非排
他的、排他的、アトミック及びトランジェントアトミッ
クをて所有者として記録する。
SubpageState: Owner SubpageState: Owner indicates that the subpage is exclusively (Ex) or nonexclusively (Nex) owned within the local ring: 0. Local Ring: 0 encompasses an exclusive owner with no read-only copy or a non-exclusive owner with zero or more read-only copies. Routing Cell: 1, non-exclusive are ownership status of the local cell, exclusively, to record the atomic and transient atomic as owner whole.

【0383】SubpageState:OwnerInvalidating Pend1:OwnerInvは、局部リング:1に対する遠隔発信さ
れたwrite invalidate要求が未決であることを指示す
る。各サブぺージが単一の所有者を有し、そして所有者
だけがwrite invalidate要求を発行出来るので、この状
態での追加のwrite invalidatesが誤り状態を指示す
る。sva read ex、sva read get又はsva read getwによ
り暗示される無効化は、それぞれ、Pend1b:Ex、Pend2:G
et又はPend3:Getw状態として記録される。引き続き、局
部発信されたsva read ro要求がRspBsyとマーク付けさ
れ、そして重複データパケットが空にされる。
[0383]SubpageState: OwnerInvalidating Pend1: OwnerInv is a remote call to Local Ring: 1.
Write Indicates that the invalidate request is pending
It Each subpage has a single owner, and the owner
Only write Since you can issue invalidate request,
Additional write in state invalidates indicate an error condition
It sva read ex, sva read get or sva read by getw
The invalidations implied are Pend1b: Ex and Pend2: G, respectively.
Recorded as et or Pend3: Getw status. Continue to the station
Department sent sva read ro request marked RspBsy
And the duplicate data packet is emptied.

【0384】Pending[1a、1b、2,3]:None Pending:None要求状態は、未決フィールド及び対応する
サブページに関係するリング:1へ、局部発信された未
決アクティビティが何らいことを指示する。
[0384] Pending [1a, 1b, 2,3] : None Pending: None request state, pending field and corresponding ring related to the sub-page: to 1, instructs the local oscillator has been pending activities any free Ikoto To do.

【0385】Pend1a:Ro Pendl:Roは、リング:1に対する局部発信されたsva re
ad ro要求が未決であることを指示する。追加の局部発
信されたsva read ro要求が、要求が終結されるまで
に、RspBsyセットを持つパートナーのルート設定セル:
1へ戻される。
Pend1a: Ro Pendl: Ro is a locally originated sva for Ring: 1. re
ad ro Indicates that the request is pending. Additional locally originated sva read The ro request is the routing cell of the partner with the RspBsy set by the time the request is closed:
Returned to 1.

【0386】Pend1b:Ex Pend1:Exは、リング:1に対する局部発信されたsva re
ad ex要求が未決であることを指示する。追加の遠隔発
信されたsva read ex要求が、要求が終結されるまで
に、RspBsyセットを持つパートナーのルート設定セル:
0へ戻される。
Pend1b: Ex Pend1: Ex is a locally originated sva for Ring: 1. re
ad ex Indicates that the request is pending. Additional remotely originated sva The read ex request is the partner's routing cell with the RspBsy set by the time the request is closed:
Returned to 0.

【0387】Pend2:Get Pend2:Getは、リング:1に対する局部発信されたsva g
et要求が未決であることを指示する。引き続く遠隔発信
されたsva get要求が、要求が終結されるまでに、pkt.d
ataセットを持つ局部発信セルへ戻され、サブぺージが
にアトミックであることを指示する。サブぺージはま
だアトミックではないかもしれないが、引き続く要求が
完了される前にはアトミックになる。
Pend2: Get Pend2: Get is a locally originated sva for Ring: 1. g
Indicates that the et request is pending. Subsequent remote-transmitted sva The get request is pkt.d by the time the request is closed.
It is returned to the local cell that has the ata set and the subpage
To indicate that it is atomic in already. The subpage may not yet be atomic, but will be atomic before subsequent requests are completed.

【0388】Pend3:Getw Pend3:Getwは、局部リング:0に対する一つ又はそれ以
上の局部発信されたsva getw要求が未決であることを指
示する。他のての読み取り要求とは異なり、てのge
tw要求が、次の要求がビジーとされるのではなく、この
状態の時に送られる。リング:1からのgetw応答が、ペ
ージがにアトミックであることを指示する時(getw.d
ata.RspBsy)、Pend3:Atomic状態が記録される。
Pend3: Getw Pend3: Getw is one or more locally originated sva for Local Ring: 0. Indicates that the getw request is pending. Unlike all other hands read request, the whole hand ge
A tw request is sent during this state rather than the next request being busy. Ring: When getw response from the 1, page to indicate that it is atomic in already (getw.d
ata.RspBsy), Pend3: Atomic state is recorded.

【0389】Pend3:Atomic 所有権パケットが、アトミック所有権についての未決ge
tw要求を満足することが必要とされることを指示する。
所有しているキャッシュは、トランジェントアトミック
状態(tat)にあることが保証される。引き続く遠隔発信
されたgetw又はget要求は戻され、サブぺージがにア
トミックであることが指示される。引き続くリング:0
所有権パケット(release.data又はsva read ex.data)
が抽出され、未決アトミックである他のリング:0へ送
るためにリング:1へ送られる(RRC:1Pend3:Atomic)。
Pend3:Atomicは一つ又はそれ以上のgetw要求が依然とし
て未決であることを保証しない。
Pend3: Atomic ownership packet is pending ge for atomic ownership.
tw indicates that it is required to satisfy the request.
The owning cache is guaranteed to be in a transient atomic state (tat). Subsequent remotely originated the getw or get request is returned, the instruction that Sabupeji is atomic on already. Subsequent ring: 0
Ownership packet (release.data or sva read ex.data)
Is extracted and sent to Ring: 1 to send to another Ring: 0 that is pending atomic (RRC: 1Pend3: Atomic).
Pend3: Atomic does not guarantee that one or more getw requests are still pending.

【0390】Pend3:Atomicは、2つの条件の下で設定さ
れる。第1に、getw応答がページがにアトミックであ
ることを指示する時である。第2に、遠隔起動されたre
leas.dataがリング:0に入り、Pend3:Atomicが設定さ
れ、ルート設定セル:0が、未決アトミックである他の
リング:0へ送るために、引き続くrelease.dataを抽出
出来る時である(RRC:1Pend3:Atomic)。release.data
は、もしリング:0のセルが遠隔発信される開放でアト
ミック所有権を獲得したならば、局部発信されよう。
Pend3: Atomic is set under two conditions. First, it is time to getw response indicates that the page is atomic on already. Second, remotely activated re
When leas.data enters ring: 0, Pend3: Atomic is set, and the routing cell: 0 can extract subsequent release.data to send to another ring: 0 that is pending atomic (RRC. : 1Pend3: Atomic). release.data
Would be locally originated if the ring: 0 cell gained atomic ownership with the remote originated release.

【0391】Pend4:ReIssue Pend4:ReIssueは、ルート設定セル:1発信要求に対す
る潜在的な非ルート設定セル:1発信応答パケットをル
ート設定セル:1が失ない得ることを指示する。Pend4:
ReIssue状態は、未決要求を満足するために抽出されな
かった遠隔発信された所有権パケットとミッシングペー
ジの場合との区別によって、擬似的な(スプリアス)mi
ssing page誤り(ページフォールト)を回避するために
ルート設定セル:1により使用される(snarf)。もしル
ート設定セル:1により発信された要求が何らの応答及
びPend4:Reissueもなく戻れば、戻り要求はルート設定
セルによりビジーとされ、要求プロセッサセル又はルー
ト設定セルが要求を再発行するようにし、擬似的なペー
ジ誤りが回避される。Pend4:Reissueは、何らの局部的
に発生された要求も未決である時又は最初の所有権(デ
ータを持った)応答時間中クリアされる。
Pend4: ReIssue Pend4: ReIssue indicates that the routing cell: 1 may not lose a potential non-routing cell: 1 origination response packet for a routing cell: 1 origination request. Pend4:
The ReIssue state is a pseudo (spurious) mimic due to the distinction between remotely originated ownership packets that were not extracted to satisfy pending requests and missing page cases.
ssing Used by the routing cell: 1 to avoid page errors (page faults) (snarf). If the request originated by the Routing Cell: 1 returns without any response and Pend4: Reissue, the return request is made busy by the Routing Cell and the requesting processor cell or the Routing Cell reissues the request. , Pseudo page errors are avoided. Pend4: Reissue is cleared when no locally generated request is pending or during the initial ownership (with data) response time.

【0392】ルート設定セルサブページ状態記述−代替
実施例2 以下に述べることは、本発明の第2の代替実施例で使用
されるサブページ状態である。
Routing Cell Subpage State Description-Alternative
Example 2 The following is the subpage state used in the second alternative embodiment of the present invention.

【0393】Subpage State サブぺージ状態についてのルート設定セルに関係せられ
た情報について述べる。
Subpage State Describes the information associated with the routing cell about the subpage state.

【0394】Invalid:Inv 無効サブぺージ状態はリング:0内にサブページの有効
なコピーが何らいことを指示する。
[0394] Invalid: Inv invalid Sabupeji state ring: a valid copy of the sub-pages to indicate any non-Ikoto in the 0.

【0395】リードオンリー(Ro) リードオンリー状態は、リング:0内の一つ又はそれ以
上のキャッシュがサブぺージのリードオンリーコピーを
包含し得ることを指示する。ルート設定セルが記録され
るリードオンリー状態を有する時に、何らの局部キャッ
シュがサブぺージのリードオンリーコピーを包含するこ
とが可能である。特定のサブぺージを保持した最後のキ
ャッシュがディスクリプタを割り当て解除するが、リン
グ:0の別のキャッシュが割り当てられる同様のシステ
ム仮想アドレスページについてディスクリプタを有すれ
ば、ルート設定セルは即座には通知されず、そして一時
的にリードオンリー状態を保持する。別の場合が、reco
mbine.nex.dataがリング:0から出発する時に、稀な状
況下(例えば、未決リードオンリー要求、PlRo)のルー
ト設定セルが、リードオンリーコピーがリング:0内に
存在し得ることを考えなければならないことである。通
常は、recombine.nex.inv busyの主張は、サブぺージの
リードオンリーコピーが存在することを指示する。何ら
のリードオンリーコピーも存在しない時、第1の無効化
要求又は遠隔リードオンリー要求によって、リードオン
リーサブぺージ状態が無効サブぺージ状態へ調整され
る。
Read Only (Ro) The Read Only state indicates that one or more caches in Ring: 0 may contain a read only copy of the subpage. When the routing cell has a read-only state recorded, it is possible that any local cache contains a read-only copy of the subpage. Although the end of the cache that holds the specific Sabupeji to deallocated the descriptor, ring: If you have 0 different descriptors for similar SVA page cache is allocated for, the Routing cells immediately notice Not held, and temporarily holds the read-only state. In another case, reco
When mbine.nex.data departs from Ring: 0, consider that in rare circumstances (eg Pending Read Only Request, PlRo) the routing cell may have a Read Only copy in Ring: 0. That is something that must be done. Usually recombine.nex.inv Busy's claim indicates that a read-only copy of the subpage exists. The first invalidation request or the remote read-only request adjusts the read-only subpage state to the invalid subpage state when there is no read-only copy.

【0396】非排他的(Nex) 非排他的状態は、サブぺージ所有者を指示し、ゼロ又は
それ以上のサブぺージのリードオンリーコピーが局部リ
ング:0に存在する。ゼロ又はそれ以上のリードオンリ
ーコピーが遠隔のリング:0に存在し得る。もし、何ら
のリードオンリーコピーも局部リング:0の外側に存在
しなければ、遠くないリードオンリーコピーが存在する
ことを指示する再結合又は最初の無効化で、排他性への
サブぺージ状態転換を生ずる。遠隔のルート設定セル
は、それらがディスクリプタを割り当て解除する時に合
図しなかった。
Non-Exclusive (Nex) The non-exclusive state indicates to the subpage owner that zero or more readonly copies of the subpage are present on the local ring: 0. There may be zero or more read-only copies in the remote ring: 0. If no read-only copy exists outside the local ring: 0, a recombination or first invalidation indicating that there is a read-only copy that is not far away will cause a subpage state transition to exclusivity. Occurs. Remote routing cells did not signal when they deallocate descriptors .

【0397】排他的(Ex) 排他的状態は、局部リング:0の外側には何らのサブぺ
ージの有効なコピーもいことを指示する。局部リン
グ:0は、排他的又は非排他的所有者及びゼロ又はそれ
以上のリードオンリーコピーを包含する。ルート設定セ
ルは、局部セルの排他的所有権状態である排他的、アト
ミック及びトランジェントアトミックをて排他的なも
のとして記録する。
[0397] Exclusive (Ex) Exclusive state, local Ring: 0 no valid copy of Sabupeji the outside also instructs the non Ikoto. Local Ring: 0 contains an exclusive or non-exclusive owner and zero or more read-only copies. Routing cells, exclusively an exclusive ownership state of the local cell, records the atomic and transient atomic as total and exclusive.

【0398】未決要求サブぺージ状態 未決要求状態は、未決要求の種別、追加の要求が消去さ
れたかどうか、要求は再発行される必要があるかどうか
又は要求は完了されたかどうか、そしてルート設定セル
が戻されるべきオリジナル要求を待っているかどうかを
指示する。#についての値0又は1がそれぞれ、未決リ
ング:0又はリング:1をそれぞれ指示する。
Pending Requests Subpage Status Pending Requests status is the type of pending request, whether additional requests have been deleted, whether the request needs to be reissued or whether the request has been completed, and routing. Indicates whether the cell is waiting for the original request to be returned. A value of 0 or 1 for # indicates pending ring: 0 or ring: 1, respectively.

【0399】Pend:None(P#None) PendingNone要求状態は、対応するサブページに関係す
る何らの未決アクティビティもいことを指示する。
[0399] Pend: None (P # None) PendingNone request state is, what these pending activities related to the corresponding sub-page also indicates the non-Ikoto.

【0400】PendWait(P#Wait) PendingWaitは、読み取り要求(sva read {ro,nex,ex},
get,getw)が依然として未決であるが、応答又は被消去
応答がに発行されていることを指示する。戻り要求パ
ケットが受信される時、パケットは空きとされ、そして
未決要求は終結される。もし戻り要求パケットがデータ
及び所有権を包含すれば、誤りが合図されるべきであ
る。
PendWait (P # Wait) PendingWait is a read request (sva read {ro, nex, ex},
The get, getw) but is still pending, indicating that the response or the erase response is issued to the already. When a return request packet is received, the packet is emptied and pending requests are closed. If the return request packet contains data and ownership, an error should be signaled.

【0401】PendWaitMergeRo(P#WaitMrgRo) PendWaitMergeRoは、読み取り要求が依然として未決で
あり、そして一つ又はそれ以上のsva readro.nodatapac
ket(s)が、戻り要求を待っている間に消去されているこ
を指示する。第2の要求が、第1の要求が終結される
までは発行出来ない。戻り要求パケットが受信される時
に、パケットは空きとされ、未決要求は終結され、そし
てsva read ro要求が通常発行される。もし戻り要求パ
ケットがデータ及び所有権を包含すれば、誤りが合図さ
れるべきである。
PendWaitMergeRo (P # WaitMrgRo) PendWaitMergeRo indicates that the read request is still pending and one or more sva readro.nodatapac
ket (s) has been deleted while waiting for a return request.
And instruct. The second request cannot be issued until the first request is closed. When a return request packet is received, the packet is emptied, pending requests are closed, and sva read A ro request is normally issued. If the return request packet contains data and ownership, an error should be signaled.

【0402】PendWaitMergeEx(P#WaitMrgEx) PendWaitMergeExは、読み取り要求が依然として未決で
あり、そして一つ又はそれ以上のsva readex.nodatapac
ket(s)が、戻り要求を待っている間に消去されているこ
とを指示する。未決状態は常に、消去される最も強い要
求を認めるので、この状態は更にゼロ又はそれ以上の被
消去sva read roパケットを含む。第2の要求が、第1
の要求が終結されるまでは発行出来ない。戻り要求パケ
ットが受信される時に、パケットは空きとされ、未決要
求は終結され、そしてsva read ex要求が通常発行され
る。もし戻り要求パケットがデータ及び所有権を包含す
れば、誤りが合図されるべきである。
PendWaitMergeEx (P # WaitMrgEx) PendWaitMergeEx indicates that a read request is still pending and one or more sva readex.nodatapac
Indicates that ket (s) has been erased while waiting for a return request. The pending state always admits the strongest request to be erased, so this state also has zero or more erased sva. read Includes ro packets. The second request is the first
Can not be issued until the request of is closed. When a return request packet is received, the packet is emptied, pending requests are closed, and sva read ex requests are normally issued. If the return request packet contains data and ownership, an error should be signaled.

【0403】PendWaitMergeAt(P#WaitMrgAt) PendWaitMergeAtは、読み取り要求が依然として未決で
あり、そして一つ又はそれ以上の{get,getw}.nodatapac
ket(s)が、戻り要求を待っている間に消去されているこ
とを指示する。未決状態は常に、消去される最も強い要
求を認めるので、この状態は更にゼロ又はそれ以上の被
消去sva read{ro,ex}パケットを含む。第2の要求が、
第1の要求が終結されるまでは発行出来ない。戻り要求
パケットが受信される時に、パケットは空きとされ、未
決要求は終結され、そしてgetw要求が通常発行される。
もし戻り要求パケットがデータ及び所有権を包含すれ
ば、誤りが合図されるべきである。
PendWaitMergeAt (P # WaitMrgAt) PendWaitMergeAt indicates that a read request is still pending and one or more {get, getw} .nodatapac
Indicates that ket (s) has been erased while waiting for a return request. The pending state always admits the strongest request to be erased, so this state also has zero or more erased sva. Includes read {ro, ex} packets. The second request is
It cannot be issued until the first request is closed. When a return request packet is received, the packet is emptied, pending requests are closed, and getw requests are normally issued.
If the return request packet contains data and ownership, an error should be signaled.

【0404】PendReIssue(P#Rei) PendReIssueは、読み取り要求が未決であり、そして要
求はそれが戻る時に再発行されるべきことを指示する。
この状態は通常、要求が未決である間の事象検出で要求
が応答なしに戻されること又は応答は古くさいデータと
一緒に戻ることを指示する時に装入せられる。例えばも
しsva read ro未決であり、そして無効化が検出されれ
ば、戻りデータは古くさいであろう。時々pendreissue
状態が装入されて、局所リング:0のトランザクション
が、遠隔リング:0への所有権の移転の前に完了せられ
る。
PendReIssue (P # Rei) PendReIssue indicates that the read request is pending and that the request should be reissued when it returns.
This state is usually populated when an event detection while a request is pending indicates that the request is returned without a response or the response is returned with stale data. For example if sva read If the ro is pending and invalidation is detected, the returned data will be stale. Sometimes pendreissue
State is populated and local ring: 0 transactions are completed prior to transfer of ownership to remote ring: 0.

【0405】PendReissueMergeRo(P#ReiMrgRo) PendReissueMergeRoは、読み取り要求が未決であり、そ
して要求はそれが戻る時に再発行されるべきであり、そ
して一つ又はそれ以上のsva read ro.nodatapacket(s)
が、戻り要求を待っている間に消去されていることを指
示する。未決状態は常に、消去される最も強い要求を認
めるので、この状態は更にゼロ又はそれ以上の被消去sv
a read roパケットを含む。第2の要求、第1の要求
が終結されるまでは発行出来ない。戻り要求パケットが
受信される時に、パケットは空きとされ、より強力な被
消去sva read ro又は未決要求が再発行される。
PendReissueMergeRo (P # ReiMrgRo) PendReissueMergeRo is a read request pending, and the request should be reissued when it returns, and one or more sva read ro.nodatapacket (s)
Indicates that it has been erased while waiting for a return request. The pending state always admits the strongest requirement to be erased, so this state also has zero or more erased svs.
a read Includes ro packets. The second request can not be issued until the first request is closed. When the return request packet is received, the packet is emptied and the stronger svad read ro or pending request is reissued.

【0406】PendReissueMergeEx(P#ReiMrgEx) PendReissueMergeExは、読み取り要求が未決であり、そ
して要求はそれが戻る時に再発行されるべきであり、そ
して一つ又はそれ以上のsva read ex.nodata packet(s)
が、戻り要求を待っている間に消去されていることを指
示する。未決状態は常に、消去される最も強い要求を認
めるので、この状態は更にゼロ又はそれ以上の被消去sv
a read roパケットを含む。第2の要求が、第1の要求
が終結されるまでは発行出来ない。戻り要求パケットが
受信される時に、パケットは空きとされ、より強力な被
消去sva read ex又は未決要求が再発行される。
PendReissueMergeEx (P # ReiMrgEx) PendReissueMergeEx indicates that a read request is pending and the request should be reissued when it returns, and one or more sva read ex.nodata packet (s)
Indicates that it has been erased while waiting for a return request. The pending state always admits the strongest requirement to be erased, so this state also has zero or more erased svs.
a read Includes ro packets. The second request cannot be issued until the first request is closed. When the return request packet is received, the packet is emptied and the stronger svad read ex or pending request is reissued.

【0407】PendReissueMergeAt(P#ReiMrgAt) PendReissueMergeAtは、読み取り要求が未決であり、そ
して要求はそれが戻る時に再発行されるべきであり、そ
して一つ又はそれ以上の{get,getw}.nodata packet(s)
が、戻り要求を待っている間に消去されていることを指
示する。未決状態は常に、消去される最も強い要求を認
めるので、この状態は更にゼロ又はそれ以上の被消去sv
a read {ro、ex}パケットを含む。第2の要求が、第1
の要求が終結されるまでは発行出来ない。戻り要求パケ
ットが受信される時に、パケットは空きとされ、getw要
求が再発行される。
PendReissueMergeAt (P # ReiMrgAt) PendReissueMergeAt indicates that a read request is pending and the request should be reissued when it returns, and one or more {get, getw} .nodata packet ( s)
Indicates that it has been erased while waiting for a return request. The pending state always admits the strongest requirement to be erased, so this state also has zero or more erased svs.
a read Includes {ro, ex} packets. The second request is the first
Can not be issued until the request of is closed. When a return request packet is received, the packet is emptied and the getw request is reissued.

【0408】PendRo(P#Ro) PendRoは、sva read ro要求が未決であることを指示す
る。いずれの未決ro状態の際にも受信されるsva read
ex要求がReissueMergeEx未決状態への転換を招く。
PendRo (P # Ro) PendRo is sva read ro Indicates that the request is pending. Sva received in any pending ro state read
ex request causes conversion to ReissueMergeEx pending status.

【0409】PendRoMergeRo(P#RoMrgRo) PendRoMergeRoは、sva read ro要求が未決であり、そし
て一つ又はそれ以上のsva read ro.nodata packet(s)
が、戻り要求を待っている間に消去されていることを指
示する。
PendRoMergeRo (P # RoMrgRo) PendRoMergeRo is sva read ro request is pending and one or more sva read ro.nodata packet (s)
Indicates that it has been erased while waiting for a return request.

【0410】戻り要求が受信される時に、パケットは消
去とマーク付けされる。いずれの未決ro状態の際にも
受信されるsva read ex要求がReissueMergeEx未決状態
への転換を招く。
When a return request is received, the packet is marked for erasure. Sva received in any pending ro state read ex request causes conversion to ReissueMergeEx pending status.

【0411】PendEx(P#Ex) PendExは、sva read ex要求が未決であることを指示す
る。
PendEx (P # Ex) PendEx is sva read ex Indicates that the request is pending.

【0412】PendExMerge(P#ExMrg) PendExMergeは、sva read ex要求が未決であり、そして
sva read {ro,ex}要求が消去されていることを指示す
る。戻り要求が受信される時に、パケットは消去とマー
ク付けされる。
PendExMerge (P # ExMrg) PendExMerge is sva read ex request is pending, and
sva read {ro, ex} Indicates that the request has been deleted. When the return request is received, the packet is marked as erased.

【0413】PendExMergeAt(P#ExMrgAt) PendExMergeは、sva read ex要求が未決であり、そして
get又はgetw要求が消去されていることを指示する。戻
り要求が受信される時に、パケットは消去とマーク付け
される。
PendExMergeAt (P # ExMrgAt) PendExMerge is sva read ex request is pending, and
Indicates that the get or getw request has been cleared. When the return request is received, the packet is marked as erased.

【0414】PendAtomic(P#At) PendAtomicは、get又はgetw要求が未決であり又はgetw.
nodata応答が戻されていることを指示する。
PendAtomic (P # At) PendAtomic indicates that a get or getw request is pending or getw.
Indicates that a nodata response is being returned.

【0415】PendAtomic(P#AtMrg) PendAtomicは、get又はgetw要求が未決であること又はg
etw.nodata応答が戻されていること及びget、getw又はs
va read {ro,ex}要求が消去されていることを指示す
る。戻り要求が受信される時に、パケットは消去とマー
ク付けされる。
PendAtomic (P # AtMrg) PendAtomic indicates that the get or getw request is pending or g
The etw.nodata response is returned and get, getw or s
va read {ro, ex} Indicates that the request has been deleted. When the return request is received, the packet is marked as erased.

【0416】PendRecombine(P#Rec) PendRecombineは、recombine.data.{tat,at,ex,nex}が
局所リング:0から未決定ないしペンディング状態であ
ることを指示する。PendRecombineはRDU:1で使用さ
れるのみである。
PendRecombine (P # Rec) PendRecombine indicates that recombine.data. {Tat, at, ex, nex} is in a pending or pending state from the local ring: 0. PendRecombine is only used with RDU: 1.

【0417】PendMrsp(P1Mrsp) PendMrspは、このリング:0からの被消去要求を包含す
る応答がリング:0で現在流通していることを指示す
る。このリング:0からの被消去要求が、Rdu:1未決状
態であるP0RoMrg*、P0ExMrg*又はP0AtMrgにより指示さ
れるであろう。PendMrspの間に、セルトランザクション
完了基準を満足するために、追加のsva read要求が空き
とされる。
PendMrsp (P1Mrsp) PendMrsp indicates that the response including the erased request from this ring: 0 is currently circulating in ring: 0. The erased request from this ring: 0 will be indicated by P0RoMrg * , P0ExMrg * or P0AtMrg which is Rdu: 1 pending. During PendMrsp, additional sva to meet cell transaction completion criteria The read request is free.

【0418】PendMrspMrgRo(P#MrspMrgRo) PendMrspMrgRoは、このリング:0からの被消去要求を
包含する応答がリング:0で現在流通しており、そして
この期間中、遠隔のsva read ro要求が消去されている
ことを指示する。
PendMrspMrgRo (P # MrspMrgRo) PendMrspMrgRo is currently responding on Ring: 0, including responses to be erased from this Ring: 0, and during this period, the remote sva read ro Indicates that the request has been deleted.

【0419】PendMrspMrgEx(P#MrspMrgEx) PendMrspMrgExは、このリング:0からの被消去要求を
包含する応答がリング:0で現在流通しており、そして
この期間中、遠隔のsva read ex要求及びsva read ro要
求が消去されていることを指示する。
PendMrspMrgEx (P # MrspMrgEx) PendMrspMrgEx is currently sending a response containing an erased request from this ring: 0 on ring: 0, and during this period the remote sva read ex request & sva read ro Indicates that the request has been deleted.

【0420】PendMrspMrgAt(P#MrspMrgAt) PendMrspMrgAtは、このリング:0からの被消去要求を
包含する応答がリング:0で現在流通しており、そして
この期間中、遠隔のget又はgetw及びsva read ex又はsva
read ro要求が消去されていることを指示する。
[0420]PendMrspMrgAt (P # MrspMrgAt) PendMrspMrgAt receives erasure requests from this ring: 0
Inclusive response is currently circulating on Ring: 0, and
Remote get or getw and sva during this period read ex or sva
read ro Indicates that the request has been deleted.

【0421】PendInvalidate(PInv) PendInvalidateは、未決write invalidate、write inva
lidate.lookaheadが未決であることを指示する。sva re
ad{ro,ex}、get又はgetwにより暗示される無効化がPend
Ro、PendEx、又はPendAt状態として記録される。
PendInvalidate (PInv) PendInvalidate is pending write invalidate, write inva
Indicates that lidate.lookahead is pending. sva re
Invalidation implied by ad {ro, ex}, get or getw is Pend
Recorded as Ro, PendEx, or PendAt state.

【0422】RDU:0状態(RduState 0 )列挙 RduState0はリング:0サブぺージ状態及びリング:1
未決要求(遠隔のリング0からの)状態を記憶する。リ
ング:0サブぺージ状態及びリング:1未決状態のイリ
ーガルな組合せが破線として図示されている。それぞれ
のRduState1が、リング:1未決状態名をリング:0サ
ブぺージ状態の後に接尾辞として付加することにより名
称が与えられる。
RDU: 0 state (RduState 0 ) enumeration RduState 0 is ring: 0 subpage state and ring: 1
Store pending request (from remote ring 0) state. Illegal combinations of ring: 0 subpage states and ring: 1 pending states are shown as dashed lines. Each RduState 1 is given a name by appending the ring: 1 pending state name as a suffix after the ring: 0 subpage state.

【0423】この代替え実施例で使用されるRDU:0
未決状態を示す表が第17図に図示されている。
RDU: 0 used in this alternative embodiment
A table showing pending states is shown in FIG.

【0424】RDU:1状態(RduState1)列挙 RduState1はリング:1サブぺージ状態及びリング:0
未決要求(遠隔のリング0からの)状態を記憶する。リ
ング:0サブぺージ状態及びリング:0未決状態のイリ
ーガルな組合せが破線として図示されている。それぞれ
のRduState1が、リング:1未決状態名をリング:0サ
ブぺージ状態に接尾辞として付加することにより名称が
与えられる。この代替え実施例で使用されるRDU:1状
態を示す表が第18図に図示されている。
RDU: 1 state (RduState 1) enumeration RduState 1 is ring: 1 subpage state and ring: 0
Store pending request (from remote ring 0) state. Illegal combinations of ring: 0 subpage state and ring: 0 pending state are shown as dashed lines. Each RduState 1 is given a name by appending the ring: 1 pending state name to the ring: 0 subpage state as a suffix. A table showing the RDU: 1 states used in this alternative embodiment is illustrated in FIG.

【0425】ページ状態 以下に続く項の説明では(代替え実施例に対して)好ま
しいサブぺージ状態の使用を想定している。
Page States The discussion in the following sections assumes the use of the preferred subpage states (for alternative embodiments).

【0426】オーナーリミット(所有者限界、OwnerLim
it) OwnerLimitがソフトウエアにより設定又はクリアされ、
ページ内のサブぺージの所有権を局部リング:0へ制限
する。それは、ルート設定セル:0及びルート設定セ
ル:1の両方に格納される。クリアの際に、OwnerLimit
は、いずれのリング:0もサブぺージを所有出来ること
を特定する。設定の際に、それは、局部リング:0のセ
ルだけが、非排他的、排他的、アトミック又はトランジ
ェントアトミック状態のサブぺージを所有出来ることを
特定する。遠隔のリング:0はリードオンリーコピーを
受信出来る。OwnerLimitが設定される時、ページフォー
ルトが、InvBsy及びRspBsyクリアと一緒に要求を戻すル
ート設定セルにより、所有権要求へ合図される。OwnerL
imitが設定されている時に、再結合要求は局部リング:
0を越えては伝搬しない。ルート設定セルディスクリプ
割り当てについてのデフォルト状態がクリアされる。
Owner limit (owner limit, OwnerLim
it) OwnerLimit is set or cleared by software,
Restrict ownership of subpages within a page to local ring: 0. It is stored in both Routing Cell: 0 and Routing Cell: 1. When clearing, OwnerLimit
Specifies that any ring: 0 can own a subpage. Upon configuration, it specifies that only local ring: 0 cells can own subpages in non-exclusive, exclusive, atomic or transient-atomic state. Remote Ring: 0 can receive read-only copy. When the OwnerLimit is set, a page fault is signaled to the ownership request by the routing cell returning the request with InvBsy and RspBsy clear. OwnerL
When imit is set, the recombination request is a local ring:
It does not propagate beyond 0. Routing cell descriptor
The default state is cleared for other assignments.

【0427】[0427]

【表17】 [Table 17]

【0428】 DupLimit DupLimitは、duplicate.dataが局部リング:0からリン
グ:1へ送られるようにする条件を特定する。DupLimit
はルート設定セル:0により格納される。
DupLimit DupLimit specifies the conditions that cause duplicate.data to be sent from local ring: 0 to ring: 1. DupLimit
Is stored by the routing cell: 0.

【表18】 [Table 18]

【0429】Dup:CondForward ページ内のDuplicate.dataパケットが、もしページが局
部リング:0により排他的に所有されていなければ、ル
ート設定セル:0によりリング1へ条件付で送られる。
Dup:CondForwardはルート設定セルディスクリプタ割り
当てについてデフォルト状態である。
Dup: CondForward The Duplicate.data packet in the page is conditionally sent to ring 1 by the routing cell: 0 if the page is not exclusively owned by the local ring: 0.
Dup: CondForward is default state for routing the cell descriptor allocation <br/> hit.

【0430】Dup:AllForward Duplicate.dataが常にルート設定セル:0によりリン
グ:1へ送られる。
Dup: AllForward Duplicate.data is always sent to Ring: 1 by Routing Cell: 0.

【0431】未決要求ぺージ状態 ある未決ルート設定セル動作が、どのようにしてルート
設定セルがページ内のどのサブぺージへのSVA要求を
処理するかを決定する。対応するLevel3VEntryの未決要
求ページ状態フィールドはこの未決情報を特定する。
Pending Request Page State An pending routing cell operation determines how the routing cell processes an SVA request to which subpage in a page. The pending request page status field of the corresponding Level 3 VEntry identifies this pending information.

【0432】Page:None 何らの未決ページレベルルート設定セル動作も対応する
ディスクリプタについて進行中ではない。Page:Noneは
ルート設定セルディスクリプタ割り当てについてデフ
ト状態である。
Page: None Any pending page-level route setting cell operation is also supported
Not in progress for descriptors . Page: None is def for the route setting cell descriptor assignment O
A Le door state.

【0433】Page:PendDeallocate ルート設定セル:0内で、ルート設定セルペアが、ディ
スクリプタが割り当て解除されるべきかどうか又はその
ルート設定セル:1がディスクリプタを割り当て解除す
るよう合図されつつあるかを決定するプロセスにあるこ
とを指示する。ルート設定セル:1内で、ルート設定セ
ルペアはディスクリプタを割り当て解除するプロセスに
あることを指示する。
[0433] Page: PendDeallocate Routing cell: 0 inside, the route setting cell pair is, di
Indicates that the process is in the process of determining whether the scripter should be deallocated or its routing cell: 1 is being signaled to deallocate the descriptor . Routing cell: Within 1, the routing cell pair indicates that it is in the process of deallocating the descriptor .

【0434】ルート設定セルディスクリプタは、この
ィスクリプタを割り当て解除していることを指示してい
る単一のセルに応答して、Page:PendDeallocateへ転換
する。もし、ディスクリプタがリング:0内のどのセル
にも存在しなければ、ルート設定セル:0及びルート設
定セル:1はディスクリプタを割り当て解除する。Ciu
inv sum.no data、ciu inv sum allocate.no data及びc
iuex sum.nodata等の他のページレベルパケットがこの
状態の間ビジーとされる。遠隔発信されるサブぺージ要
求がルート設定セル:0及びルート設定セル:1により
ビジーとされる。局部発信されるサブぺージ要求がルー
ト設定セル:0において実行されない。なぜなら、要求
している局部キャッシュは割り当てディスクリプタを有
し、ルート設定セルペアがそのディスクリプタを割り当
て解除するのを回避するからである。局部発信されるサ
ブぺージ要求がルート設定セル:1によりビジーとされ
る。なぜならルート設定セルペアはディスクリプタを割
り当て解除するのに傾倒しているからである。ディスク
リプタは、ページが割り当て解除された後、次の要求で
引き続き再割当てが行われる。
[0434] Routing cell descriptor, this de
Switch to Page: PendDeallocate in response to a single cell indicating that the descriptor has been deallocated. If the descriptor does not exist in any cell in ring: 0, then routing cell: 0 and routing cell: 1 deallocate the descriptor . Ciu
inv sum.no data, ciu inv sum allocate.no data and c
iuex Other page level packets such as sum.nodata are busy during this state. Remotely originated subpage requests are made busy by Routing Cell: 0 and Routing Cell: 1. Locally originated subpage requests are not fulfilled in Routing Cell: 0. This is because the requesting local cache has an allocation descriptor to avoid the routing cell pair deallocating that descriptor . Locally originated subpage requests are made busy by the routing cell: 1. This is because the routing cell pair is willing to deallocate the descriptor . disk
After the page has been deallocated, the descriptor will continue to be reallocated on the next request.

【0435】他のルート設定セル状態 続く状態フィールドは、ルート設定セル又はルート設定
セルバンクをベースに記憶される。これらの状態フィー
ルドは、他の方法で宣言ないし言及されないかぎり、
てのサブぺージ及びページに広範囲に適用される。
Other Routing Cell States The following state fields are stored based on the Routing Cell or Routing Cell Bank. These status fields apply extensively to all subpages and pages unless otherwise stated or mentioned.

【0436】抽出バッファ状態 リング抽出バッファの空きスペースは、2つの構成可能
なポインタExtractAllThreshold及びExtractRspThresho
ldにより4つの帯域に分割される。現在帯域は抽出バッ
ファに残っている空きワードの数により選択される。空
きから一杯へ行く帯域は、ExtBuf.All、ExtBuf:NonOp
t、ExtBuf:PendReq及びExtBuf:Fullである。抽出バッフ
ァ状態はルート設定セルバンクをベースにして維持され
る。これらの帯域の境界はソフトウエアにより構成可能
である。リングパケットが、抽出バッファの管理のため
に、3つの相互に排他的なカテゴリにグループ分けされ
る。
Extract Buffer Status The free space in the ring extract buffer is represented by two configurable pointers, ExtractAllThreshold and ExtractRspThresho.
It is divided into four bands by ld. The current band is selected by the number of free words remaining in the extraction buffer. ExtBuf.All, ExtBuf: NonOp are the bands that go from empty to full
t, ExtBuf: PendReq and ExtBuf: Full. The extraction buffer state is maintained based on the routing cell bank. The boundaries of these bands are software configurable. Ring packets are grouped into three mutually exclusive categories for management of the extraction buffer.

【0437】 1)オプショナルパケット 続く遠隔発信されるパケ
ットは、コヒーレンシーの観点からオプショナルであ
る: −RecombinewithSpState:(Inv|Ro) −Duplicate.dataSpState:Inv −sva read ro.datawithSpState:Inv 2)非オプショナルパケット 遠隔発信される要求を完
了するためにSpStateをベースに抽出されねばならな
い。オプショナルパケットを包含しない。 3)応答パケット 局部発信されるパケット
又はルート設定セル未決要求(RRC:0Pend(1,2,3)、RRC:
1Pend(1,2,3,4,5))を満足するパケット
1) Optional Packet The following remotely originated packet is optional from the coherency perspective: -RecombinewithSpState: (Inv | Ro) -Duplicate.dataSpState: Inv-sva read ro.datawithSpState: Inv 2) Non-optional packet Must be extracted based on SpState to complete the remotely originated request. Does not include optional packets. 3) Response packet Locally transmitted packet or route setting cell undecided request (RRC: 0Pend (1,2,3), RRC:
Packets that satisfy 1Pend (1,2,3,4,5))

【0438】これらのパケットカテゴリーは以下のよう
に4つの抽出バッファ帯域で処理される。
These packet categories are processed in the four extraction buffer bands as follows.

【0439】[0439]

【表19】 [Table 19]

【0440】ExtBuf:All ExtBuf:All帯域は空き及びExtractAllThresholdとの間
である。てのパケットがExBuf.All帯域に受容され
る。
ExtBuf: All The ExtBuf: All band is between the free space and ExtractAllThreshold. Packets of all the hand is received in ExBuf.All band.

【0441】ExtBuf:NonOpt ExtBuf:NonOpt帯域はExtractAllThresholdとExtractRes
ponseThresholdの間である。非オプショナルパケット及
び応答パケットがこの帯域に受容される。オプショナル
パケットが受容されない時は、パケットで何らの合図も
必要とされない。
ExtBuf: NonOpt ExtBuf: NonOpt Band is ExtractAllThreshold and ExtractRes
It is between ponseThreshold. Non-optional packets and response packets are accepted in this band. If the optional packet is not accepted, no signal is required in the packet.

【0442】ExtBuf:PendReq ExtBuf:PendReq帯域はExtractResponseThresholdとextr
act buffer fullの間である。応答パケットだけがこの
帯域に受容される。非オプショナルパケットはRspBsy及
びInvBsyの主張によって拒否される。オプショナルパケ
ットが受容されない時は、パケットで何らの合図も必要
とされない。
ExtBuf: PendReq ExtBuf: PendReq Band is ExtractResponseThreshold and extr
It is between act buffer full. Only response packets are accepted in this band. Non-optional packets are rejected by RspBsy and InvBsy claims. If the optional packet is not accepted, no signal is required in the packet.

【0443】ExtBuf:Full ExtBuf:Full帯域は抽出バッファが一杯である時であ
る。何らのパケットもこの帯域に受け入れられない。非
オプショナルパケットはRspBsy及びInvBsyの主張によっ
て拒否される。オプショナルパケットが受容されない時
は、パケットでの何らの合図も必要とされない。局部発
信されるパケットがpkt.TimeStampclearとともに通過せ
られる。パケットは、次のリング転回でこのルート設定
セルにより抽出される。データを運ばない遠隔発信され
る応答パケットについてRspBsy及びInvBsyの両方が設定
される。リードオンリーデータを持つ遠隔発信される応
答パケットが通過される。遠隔発信される所有権応答パ
ケットが通過され、そしてルート設定セル:1はPend1:
ReIssueへ転換する。
ExtBuf: Full ExtBuf: Full bandwidth is when the extraction buffer is full. No packets are accepted in this band. Non-optional packets are rejected by RspBsy and InvBsy claims. When the optional packet is not accepted, no signaling in the packet is needed. Locally originated packets are passed along with pkt.TimeStampclear. Packets are extracted by this routing cell at the next ring turn. Both RspBsy and InvBsy are set for remotely originated response packets that carry no data. A remotely originated response packet with read-only data is passed. A remotely originated ownership response packet is passed, and the routing cell: 1 is Pend1:
Switch to ReIssue.

【0444】Pend1:ReIssue状態は、未決要求を満足す
るために抽出されなかった遠隔発信された所有権パケッ
トとミッシングページの場合との区別によって、擬似的
な(スプリアス)missing page誤り(ページフォール
ト)を回避するためにルート設定セル:1により使用さ
れる。設定の際に、Pend1:Reissueが、ルート設定セ
ル:1がルート設定セル発信要求に対する潜在的な非ル
ート設定セル発信応答パケットを失い得ることを指示す
る。もしルート設定セル:1により発信された要求が何
らの応答及びPend1:Reissueもなく戻れば、戻り要求は
ルート設定セルによりビジーとされ、要求プロセッサセ
ル又はルート設定セルが要求を再発行するようにし、擬
似的なページフォールトが回避される。ルート設定セ
ル:0はSpStateフィールドを使用し、missing page er
rorが回避される。ルート設定セル:0SpStateフィール
ドは、要求を満足するためにリードオンリーコピー又は
所有権がリング:0にあるかどうかを記録する。もしル
ート設定セル:0により発信された要求が応答なく戻
り、そしてリング:0に十分なコピー又は所有権が存在
すれば、要求は再発行される。
The Pend1: ReIssue state is a pseudo (spurious) missing due to the distinction between a remotely originated ownership packet that was not extracted to satisfy a pending request and a missing page case. Used by Routing Cell: 1 to avoid page errors (page faults). Upon configuration, Pend1: Reissue indicates that Routing Cell: 1 may lose a potential non-routing cell origination response packet to the Routing Cell Origination Request. If the request originated by the Routing Cell: 1 returns without any response and Pend1: Reissue, the return request is made busy by the Routing Cell and the Request Processor Cell or Routing Cell reissues the request. , Pseudo page faults are avoided. Routing cell: 0 uses SpState field, missing page er
ror is avoided. Routing cell: 0 SpState field records whether there is read-only copy or ownership in ring: 0 to satisfy the request. If the request originated by the Routing Cell: 0 returns without a response and there is sufficient copy or ownership on Ring: 0, the request is reissued.

【0445】リング凍結状態 続く言及に加えて、ルート設定セルは凍結とマーク付け
された最初と最後のパケットの追跡を維持しなければな
らない。
Ring Frozen State In addition to the references that follow, the routing cell must keep track of the first and last packets marked as frozen.

【0446】Fz:None Fz:Noneはルート設定セルはリング凍結シーケンスにな
いことを指示する。
Fz: None Fz: None indicates that the routing cell is not in the ring freeze sequence.

【0447】Fz:SingleEccErr このパケット時間に対応するルックアップシーケンス
中、修正可能なEcc誤りが検出されていることを指示す
る。リング:1凍結シーケンスの始まり。常に、次のパ
ケット時間中Fz:Freezeへの転換。対応するパケット
は、抽出バッファ一杯の項で叙述されるように処理され
る。
Fz: SingleEccErr Indicates that a correctable Ecc error has been detected in the lookup sequence corresponding to this packet time. Ring: The beginning of the freeze sequence. Always switch to Fz: Freeze during the next packet time. The corresponding packet is processed as described in the Extract Buffer Full section.

【0448】Fz:Freeze ルート設定セルはリング凍結シーケンスにあることを指
示する。以前に凍結とマーク付けされなかったてのパ
ケットが凍結とマーク付けされる。
Fz: Freeze Routing Cell indicates that it is in a ring freeze sequence. All hand of packets that were not frozen marked is frozen and marked earlier.

【0449】Fz:Unfreeze ルート設定セルはリング凍結シーケンスを終了したこと
を指示する。以前に凍結とマーク付けされたてのパケ
ットが非凍結とマーク付けされ、そして通常ルート設定
セルにより処理される。リング凍結シーケンスを起動す
るどの条件も、Fz:SingleEccErr又はFz:Freeze状態への
転換であろう。
The Fz: Unfreeze Routing Cell indicates that the ring freeze sequence is complete. Previous packet of all hand frozen marked on is unfrozen marked and treated by the usual route setting cell. Any condition that triggers the ring freeze sequence will be a transition to the Fz: SingleEccErr or Fz: Freeze state.

【0450】ルール表の基礎Rule table basics

【0451】所有権 強い順序付けの基礎は規則所有権の概念に基づく。メモ
リ装置のそれぞれのサブぺージは単一の所有者を有す
る。修正されるべきサブぺージの値について、所有者
は、サブぺージのてのコピーが無効化されていること
を意味する排他性でなければならない。サブぺージのリ
ードオンリーコピーが存在する時、所有者は非排他的で
あり、そしてサブぺージを修正出来ない。サブぺージ所
有権は、所有キャッシュがサブぺージについてのダイナ
ミックなホームないし退避場所である状況で、キャッシ
ュ間でダイナミックに転送出来る。メモリ装置及びルー
ト設定セルは詳細には包含の性質に基づく。ルート設定
セルディレクトリは、リング:0のてのサブぺージの
状態及びリング:0に装入ないしリング:0から出る
ての未決要求の状態の追跡を維持する。
Ownership The strong ordering basis is based on the concept of rule ownership. Each sub-page of memory device has a single owner. For values of Sabupeji to be modified, the owner must be exclusive property which means that a copy of all hand Sabupeji is disabled. When a read-only copy of a subpage exists, the owner is non-exclusive and the subpage cannot be modified. Subpage ownership can be transferred dynamically between caches, where the owning cache is a dynamic home or save location for subpages. Memory devices and routing cells are based in particular on the nature of inclusion. Routing cells directory, Ring: All hand Sabupeji state and Ring 0: 0 to charging to the ring: to keep track of pending requests in the state of all <br/> Te exiting 0.

【0452】他の概念 所有者及び無効化要求 ての所有者要求及び書込み無効化要求は、他のどの要
求が未決であるかどうかに拘わらず、全面的に所有して
いるセルへ行く。ての所有者要求及び無効化は、パケ
ットがリングに挿入される時、ルート設定セルがPend:O
wnerへ行くようにする。すなわち、ルート設定セル:1
は、パケットがリング:1に挿入される時、Pend:Owner
へ行き、そしてルート設定セル:0は、それがパケット
をリング:0に挿入する時、Pend:Ownerへ行く。ルート
設定セルは、以下の場合にPend:OwnerからPend:Noneへ
の転換する。 1−所有者が担持するパケットがルート設定セルにより
抽出される。 2−SpState:(Inv|Ro)を持つルート設定セルが、pkt.!I
nvBsyを持つ無効化又は遠隔所有者要求を抽出する。 3−SpState:Ownerを持つルート設定セルが、pkt.!InvB
syを持つ遠隔発信される無効化を抽出する。 4−ページ破壊が常に、割り当てられるページと一緒
に、局部ルート設定セル:0及びルート設定セル:1及
ての遠隔ルート設定セル:1のページのてのサブ
ぺージについて、SpState:Inv及びPend:Noneを設定す
る。全ての未決状態が、ページフォールトが他の未決要
求へ合図されるよう、クリアされる(要求はそうでなけ
ればビジー状態で引っかかるか時間切れとされよう)。
Other Concepts Owner and Invalidate Requests All owner requests and write invalidate requests go to the wholly-owning cell, regardless of which other requests are pending. The owner requests and invalidates all hand, when the packet is inserted into the ring, the route setting cell Pend: O
Try to go to wner. That is, the routing cell: 1
Pend: Owner when the packet is inserted on Ring: 1
Go to Pend: Owner, and the Routing Cell: 0 goes to Pend: Owner when it inserts the packet into Ring: 0. The routing cell switches from Pend: Owner to Pend: None if: 1-The packet carried by the owner is extracted by the routing cell. The routing cell with 2-SpState: (Inv | Ro) is pkt.! I.
Extract invalidation or remote owner request with nvBsy. The routing cell with 3-SpState: Owner is pkt.! InvB
Extracts the remotely sent invalidation with sy. Always 4 pages breakdown, together with allocated page, the local Routing cells: 0 and Routing cells: for all hands Sabupeji of 1 page, SpState:: 1 and the total hand remote Routing cells Inv And set Pend: None. All pending states are cleared so that page faults are signaled to other pending requests (requests would otherwise be caught busy or timed out).

【0453】リードオンリー要求 局部発信されるリードオンリー要求が、もしRC:1がPen
d:Roでなければ、局部ルート設定セル:1により挿入さ
れるのみである。これは、リング:1へのそして結果的
に応答者への非常に多くの同様の要求の溢れを回避する
ための最適手段である。このような要求を挿入する代わ
りに、ルート設定セル:1はそれを抽出し、そしてpkt.
RspBsyを設定する。ところで、応答者でのルート設定セ
ル:0は、この方法でリードオンリー要求をはね返さな
い。その代わり、リードオンリー要求はリング:0で挿
入される。
[0453] read-only requests that are read-only request the local oscillator is, if RC: 1 is Pen
If it is not d: Ro, it is only inserted by the local routing cell: 1. This is an optimal way to avoid flooding the Ring: 1 and consequently too many similar requests to responders. Instead of inserting such a request, the routing cell: 1 extracts it, and pkt.
Set RspBsy. By the way, the routing cell: 0 at the responder does not bounce the read-only request in this way. Instead, read-only requests are inserted at ring: 0.

【0454】ルート設定セルは、パケットを担持する所
有者又はパケットを担持するリードオンリーデータがル
ート設定セルにより抽出される時、Pend:RoからPend:No
neへ転換する。
[0454] The Routing Cell may change from Pend: Ro to Pend: No when the packet-carrying owner or packet-carrying read-only data is extracted by the Routing Cell.
Switch to ne.

【0455】リードオンリーデータを担持するパケット
が、それがPend:Owner状態のルート設定セルを通過する
時に「抹殺」される。sva read roパケットが、pkt.Rsp
Bsyを設定することにより「抹殺」され、そしてデュプ
リケート(複製)が空きとされる。
A packet carrying read-only data is "erased" as it passes through a routing cell in the Pend: Owner state. sva read ro packet is pkt.Rsp
It is "erased" by setting Bsy, and the duplicate is made empty.

【0456】クリア動作及びパケットビジービットの解
RspBsyは、要求パケットへのデータを伴っての応答動作
の時に常にクリア出来る。
Clear operation and packet busy bit solution
Interpretation RspBsy can always clear at the time of the response operation of with the data to the request packet.

【0457】InvBsyは、発信リング:0からの出発の際
に、常にクリアである。なぜなら、ルート設定セル:0
は、もしpkt.InvBsyであれば、パケットを抽出しないか
らである。ルート設定セルはパケットを通し、そしてpk
t.InvBsy、RspBsyを設定し、要求が再発行されるように
する。InvBsyは、遠隔の所有権要求又は無効化が遠隔の
リング:0に装入する時、常にクリアである。なぜな
ら、ルート設定セル:1は、もしpkt.InvBsyであれば、
要求を抽出しないからである。ルート設定セル:1はパ
ケットを通し、そしてpkt.InvBsy.RspBsyを設定し、要
求が再発行されるようにする。ルックアヘッドが実際上
継続し、そしてSpState:Roを持つ残りのリング:0で無
効化を開始する。
InvBsy is always clear on departure from Originating Ring: 0. Because the routing cell: 0
, If it is pkt.InvBsy, it will not extract the packet. The routing cell passes the packet, and pk
Set t.InvBsy, RspBsy so that the request is reissued. InvBsy is always clear when a remote ownership request or revocation inserts into the remote ring: 0. Because the routing cell: 1 is pkt.InvBsy,
This is because the request is not extracted. Routing cell: 1 passes the packet and sets pkt.InvBsy.RspBsy to allow the request to be reissued. The lookahead actually continues, and begins invalidation with the remaining ring: 0 with SpState: Ro.

【0458】パケットルート設定セルビットの使用 sva read roによる使用で、もし要求が完了されなけれ
ば発信しているセル又はルート設定セルによりパケット
が再発行されるべきことを指示するために再結合及び開
放が行われる。Pkt.rrcは2つの態様で使用される。
Packet Routing Use Cell Bits sva read For use by ro, reassociation and release is done to indicate that the packet should be reissued by the originating cell or the routing cell if the request is not completed. Pkt.rrc is used in two ways.

【0459】Pkt.rrcは、ルート設定セル:0が早まっ
てパケットを抽出するのではなく、sva read ro.nodata
又はrecombine.dataの要求が全リング:0を横切るのを
可能にし、要求が局部的に完了されるようにするために
使用される。Pkt.rrcは、局部発信されたsva read ro.n
odata又はrecombine.dataがルート設定セル:0を通過
する時に設定される。もし要求が、発信セルへ戻る前に
完了していなければ(sva read ro.data又はrecombine.
no data)、発信セルはパケットを通す。ルート設定セ
ル:0は、rccのセットとともにパケットを抽出し、要
求を普通に処理する。
[0459] Pkt.rrc uses sva instead of prematurely extracting packets by the routing cell: 0. read ro.nodata
Or used to allow a request in recombine.data to traverse the whole ring: 0, so that the request is completed locally. Pkt.rrc is a locally originated sva read ro.n
It is set when odata or recombine.data passes through the routing cell: 0. If the request is not completed before returning to the originating cell (sva read ro.data or recombine.
no data), the source cell passes the packet. ROUTING CELL: 0 extracts the packet with the set rcc and handles the request normally.

【0460】ルート設定セル:0又はルート設定セル:
1が、未決要求を満足するために(snarfと呼ばれる)、
non-originatedrecombine.data(非被発信再結合デー
タ)又はrelease.data(開放データ)を抽出出来ない時
は、パケットが再循環出来るよう、rrcビットを設定す
る。もしrelease.dataが発信セルへ戻れば、それは再発
行されねばならない。もしrelease.dataが別のセルによ
り抽出されれば、何らのアクションも必要とされない。
なぜなら、トランジェントアトミックサブぺージ状態が
保存されるので別の開放が発行されるからである(ta
t)。recombine.dataはどのセルによっても抽出されるべ
きでなく、そして発信CIUにより通過され、再発行を
行う。
Route setting cell: 0 or route setting cell:
In order for 1 to satisfy the pending request (called snarf),
When non-originated recombine.data (non-originating recombination data) or release.data (release data) cannot be extracted, the rrc bit is set so that the packet can be recirculated. If release.data returns to the originating cell, it must be reissued. If release.data is extracted by another cell, no action is needed.
This is because the transient atomic subpage state is saved and another release is issued (ta
t). recombine.data should not be extracted by any cell and is passed by the originating CIU to reissue.

【0461】Pkt.rrcはクリアへと常に初期化され、そ
してCCU及びCIUにより通される。それは、局部発
信パケットが抽出される時、ルート設定セル:0により
クリアされる。
Pkt.rrc is always initialized to clear and passed by CCU and CIU. It is cleared by the routing cell: 0 when the locally originated packet is extracted.

【0462】無効化法 複数種のパケットがリードオンリーコピーの無効化を起
こさせる。ライト−インバリデートは明示の無効化を生
じ、sva−read−ex、get及びgetwパケ
ットは読み取り要求に加えて内在的な無効化を生じる。
てのインバリデートは二つの方法によって全てのリー
ドオンリーコピーを無効化する。第1の方法ではインバ
リデートパケットはそれが通過する全てのリードオンリ
ーコピーを無効化する。第2の方法ではsva−rea
d−roがインバリデートパケットと共に要求を送る
と、リクエスタがrsp−busyを主張してパケット
内のデータが無効化されたことを指示し、そして偽ペー
ジ欠陥を防止する。duplicate−dataが未
処理インバリデートと共に要求を送ると、パケットは空
にされる。第1の方法は全てのセル又はRRCを無効化
し、第2の方法は旧リードオンリーデータが、既に無効
にされているセルに伝達するのを防止する。
Invalidation Method Multiple types of packets cause invalidation of read-only copy. Write-invalidate causes explicit invalidation, and sva-read-ex, get and getw packets cause implicit invalidation in addition to read requests.
Invalidate of all hands to disable all of the read-only copy in two ways. In the first method, an invalidate packet invalidates all read-only copies it passes through. In the second method, sva-rea
When d-ro sends a request with an invalidate packet, the requester asserts rsp-busy to indicate that the data in the packet has been invalidated and prevents spurious page defects. When duplicate-data sends a request with outstanding invalidate, the packet is emptied. The first method invalidates all cells or RRCs and the second method prevents old read-only data from being propagated to already invalidated cells.

【0463】事象の強い順序的な一体性及び強い秩序を
保持するために、全てのサブページはインバリデータが
サブページBを更新し、そして分配する前に無効にされ
ていなければならない。もしもインバリデートパケット
が各リング:0によって直列に処理されるならば、無効
化時間はサブページのコピーを有する全てのリング:0
のリング遷移時間の総和となろう。もしもインバリデー
トが各RRC:1によって丁度コピーされたら、サブペ
ージAのインバリデートは、元のインバリデータがサブ
ページBを更新しそれを未だサブページAを無効にして
いないプロセッサに分配する以前に、完成することは保
証されない。全てのプロセッサが同じ順序でサブページ
A、Bに対する変化を見ないので、強い秩序は侵され
る。
In order to maintain a strong ordered integrity of events and a strong order, all subpages must be invalidated before the validator updates and distributes subpage B. If the invalidate packet is processed serially by each ring: 0, then the invalidation time is all rings with subpage copies: 0
Will be the sum of the ring transition times. If the invalidate was copied exactly by each RRC: 1, the invalidate of subpage A will be before the original invalidator updates subpage B and distributes it to processors that have not yet invalidated subpage A. , Not guaranteed to be completed. Strong order is violated because all processors do not see changes to subpages A, B in the same order.

【0464】インバリデート−ルックアヘッドと呼ばれ
る技術が並列の全てのリング:0を無効にするが、事象
の強い秩序は維持する。インバリデートパケットが、こ
のパケットを引き出す第1のRRC:1に達した時、こ
のパケットはコピーされてリング:1へ送られ、そして
ルックアヘッドパケットはリング:1パケットにルック
アヘッドモードを設定することによりリング:1上に生
成される。ルックアヘッドパケットはSpState:
Roで各RRC:1によりコピーされて、真のリクエス
トパケットがそこに到着する前にリードオンリーコピー
を無効にする。元のリクエストパケットが後続のRR
C:1に到達すると、パケットはリング:1速度で通過
でせしめられる、これはインバリデートがルックアヘッ
ドパケットにより事前に完了しているからである。ルッ
クアヘッドパケットは常に短いパケットと考えられる。
A technique called invalidate-lookahead invalidates all rings: 0 in parallel, but maintains a strong order of events. When an invalidate packet reaches the first RRC: 1 that pulls out this packet, this packet is copied and sent to Ring: 1, and the lookahead packet sets the lookahead mode to Ring: 1 packet. Produced on Ring: 1. The look-ahead packet has a SpState:
Copied by each RRC: 1 in Ro, invalidating read-only copy before the true request packet arrives there. Original request packet is followed by RR
When C: 1 is reached, the packet is forced to pass at a ring: 1 rate, because the invalidate was completed previously by the look ahead packet. Look-ahead packets are always considered short packets.

【0465】図14A及び図14Bは好ましいリング:
1インバリデート順序を示す。ライト−インバリデート
は、RDU:0 SpStateがNexである場合
に、リング:から抽出され(ステップ2)、又sv
a−(read−ex,get,getw)は、RD
U:0 SpStateがNexでない場合に、リン
グ:から抽出される。パケットはRRC:1に送られ
て、リング:1に挿入される(ステップ3)。サブペー
ジのリードオンリーコピーを有する第1のRRC:1は
パケットをコピーし、ルックアヘッドモードを非ルック
アヘッドモードにし、そのパケットをリング:0に送る
(ステップ5)。通過したリング:1のパケット生成モ
ードは無変化である。リードオンリー状態を持つ後続の
RRC:1はインバリデート−ルックアヘッドパケット
をコピーする(ステップ6、7、8、9)。インバリデ
ート−ルックアヘッドはリング:0に送られ、挿入さ
れ、そしてPendStateはOwnInvへの遷移
である。リング:0の無効化が終ると、SpState
はinvへの遷移及びPendStateはnoneへ
の遷移であり、パケットはRRC:1へ戻り、RDU:
1SpStateはinvに更新され、ルックアヘッド
パケットは空になる(ステップ13、14、15、1
6)。
14A and 14B show the preferred ring:
1 shows the order of invalidation. The write-invalidate is extracted from the ring: 0 if RDU: 0 SpState is Nex (step 2), and sv
a- (read-ex, get, getw) is RD
U: 0 Extracted from Ring: 0 if SpState is not Nex. The packet is sent to RRC: 1 and inserted on ring: 1 (step 3). The first RRC: 1 with read-only copy of the subpage copies the packet, puts the lookahead mode into the non-lookahead mode and sends the packet to ring: 0 (step 5). The packet generation mode of the passed ring: 1 is unchanged. Subsequent RRC: 1 with read-only state copies the invalidate-lookahead packet (steps 6, 7, 8, 9). Invalidate-LookAhead is sent to Ring: 0, inserted, and PendState is a transition to OwnInv. Ring: After invalidating 0, SpState
Is a transition to inv and PendState is a transition to none, the packet returns to RRC: 1, and RDU:
1SpState is updated to inv and the look-ahead packet is empty (steps 13, 14, 15, 1).
6).

【0466】一方、第1のRCC:1及びそれに対応す
るリング:1が無効化又は所有応答を終ると、パケット
は非ルックアヘッド状態でリング:1に挿入される(ス
テップ12)。この非ルックアヘッドパケットが、以前
にルックアヘッドパケットにより無効化を完了していた
後続のRRC:1(及び対応するリング:1)に遭遇す
ると、このパケットは完全なリング:1の速度で送られ
る(ステップ17、18、19、20)。もしも実際の
インバリデート−ルックアヘッドが完了する前に実際の
インバリデートが到着すると、実際のインバリデートは
リング:0も通る。ルックアヘッドパケットが、要
求しているRRC:1にRRCiに到達すると、パケッ
トは空にされる(ステップ11)。非ルックアヘッド又
は生成ルックアヘッドパケットが要求するRRC:1に
到達すると、それは抽出されて要求するリング:0に送
られ(ステップ22)リクエスタに戻される(ス
テップ24)。
On the other hand, when the first RCC: 1 and the corresponding ring: 1 complete their invalidation or ownership response, the packet is inserted into ring: 1 in a non-lookahead state (step 12). When this non-lookahead packet encounters a subsequent RRC: 1 (and corresponding ring: 1) that had previously been invalidated by the lookahead packet, the packet is sent at the full ring: 1 rate. (Steps 17, 18, 19, 20). Actual Invalidate-If the actual invalidate arrives before the lookahead is complete, the actual invalidate will also pass the ring: 0. When the look-ahead packet reaches RRCi at the requesting RRC: 1, the packet is emptied (step 11). Upon reaching the 1, it rings requests are extracted:: Non-lookahead or generate lookahead packet RRC request 0 is sent (step 22), and is returned to the requester (step 24).

【0467】偽RRCSpState:Ro ある場合には、RRC対がサブページのためにリードオ
ンリー状態(SpState:Ro)を記録している
が、どのセルにもリードオンリーコピーが存在しないの
でサブページはリング:0内で無効である(SpSta
te:inv)。RRC対は、リング:0内の最後のキ
ャッシュが対応するディスクプタを割付けを外す時にの
みディスクプタの指定を外す(deallocat
e)。キャッシュがディスクプタの割付けを外す時、キ
ャッシュ内のサブページの状態は.無効化又はリードオ
ンリーである。キャッシュがディスクプタの割付けを
外す時、リードオンリーコピーは単に消去されるが、R
RCは関係した個々のリードオンリーサブページを通知
されない。こうして、リング:0内の他のキャッシュが
割付けられたディスクプタを有する状態でキャッシュが
ディスクプタの割付けを外し、又リング:0内のサブペ
ージのリードオンリーコピーのみが消去されると、RR
Cはサブぺーのためのリードオンリー状態を依然として
間違って記憶する。他の例は、非排他的パケット再結合
状態がリング:0を去り、又リング:0内にリードオ
ンリーコピーが存在する場合にRRC:0及びRRC:
1がSpState:Roを記録しなければならない場
合である。偽リードオンリー状態はSpState:
(Inv|Ro)の時にリードオンリーデータパケット
のコピーを取るRRC:1により訂正される。
If there is a false RRCSpState: Ro , the RRC pair records the read-only state (SpState: Ro) for the subpage, but since there is no readonly copy in any cell, the subpage is ringed. : Invalid within 0 (SpSta
te: inv). The RRC pair deallocates the descriptor only when the last cache in ring: 0 deallocates the corresponding descriptor (deallocat).
e). When the cache deallocates a descriptor, the state of the subpages in the cache is. Invalidation or read-only. When the cache misses the allocation of disk descriptor, read-only copy is simply erased, R
The RC is not notified of the individual read-only subpages involved. Thus, if the cache deallocates a descriptor with another cache in ring: 0 having an allocated descriptor, and only the read-only copy of the subpage in ring: 0 is erased, RR
C still incorrectly stores the read-only state for the subpa. Other examples are non-exclusive packet recombination state Ring: 0 left, also, the ring: 0 in the RRC when the read-only copy exists: 0 and RRC:
This is the case where 1 must record SpState: Ro. The false read-only state is SpState:
It is corrected by RRC: 1 which takes a copy of the read-only data packet when (Inv | Ro).

【0468】デュプリケート分配 サブページのリードオンリーコピーは2つの方法で多数
のキャッシュに分配される。コピーは、ディスクプタが
局所に割り付けられている時及びSpState:(I
nv|Ro)の時に、任意のRRC:1又はリードオン
リーデータを持つ遠隔より出発したパケットをコピーす
るキャッシュにより内在的に分配される。従って、コピ
ーがRRC:1(リードオンリーデータを担持するパケ
ットがそれをリング:1に送る)へ結合された全てのリ
ング:0に分配されるため、リードオンリーリクエスト
の数は減じられる。
Duplicate Distribution Read-only copies of subpages are distributed to multiple caches in two ways. Copy is performed when the descriptor is locally allocated and SpState: (I
nv | Ro), it is distributed internally by a cache that copies remotely initiated packets with any RRC: 1 or read-only data. Thus, the number of read-only requests is reduced because the copy is distributed to all Rings: 0 bound to RRC: 1 (packets carrying read-only data send it to Ring: 1).

【0469】デュプリケートデータパケットはDupL
imitに基づいて送られる。もしもDup:Cond
Forwardならば、ページが局所リング:0により
排他的に所有されていないならばという条件で、デュプ
リケートパケットはRRC:0によりリング:1に送ら
れる。もしもDup:AllForwardならば、デ
ュプリケートパケットは常にRRC:0によりリング:
1に送られる。リング:1のデュプリケートデータパケ
ットは、それが局所リング:0の内部に対応するページ
に対して割付けられたディスクプタを有する時に又
ExtractBafferがExtBuf:All領
域にある時に、遠隔のRRC:1によりコピーされる。
The duplicate data packet is DupL.
Sent based on imit. Momo Dup: Cond
For Forward, the duplicate packet is sent by RRC: 0 to Ring: 1 provided the page is not exclusively owned by Local Ring: 0. If Dup: AllForward, duplicate packets are always ringed with RRC: 0:
Sent to 1. Ring: 1 the duplicate data packet, it local ring: Also when having 0 a descriptor allocated for the page corresponding to the inside of,
Copied by the remote RRC: 1 when the ExtractBuffer is in the ExtBuf: All region.

【0470】Pkt.pcopyがRRC:1によりセ
ットされてリング:1からパケットがコピーされたこと
を示す。pcopyのセットでリング:1によりコピー
されたパケットはRRC:1又はリング:1に戻される
必要はなく、リングR:1を上首尾に通過した後にRR
C:0により空にされる。
Pkt. pcopy is set by RRC: 1 to indicate that the packet was copied from ring: 1. Packets copied by Ring: 1 in the set of pcopy do not need to be returned to RRC: 1 or Ring: 1, after successfully passing RingR: 1 and then RR
It is emptied by C: 0.

【0471】リコンバイン(再結合) リコンバインデータパケットは、もしもリング:0内の
他のどのセルもリコンバインを受け入れないならば、出
発リング:0から送られる。RRC:1は、パケットが
偽RRCSpState:Roで、出発Roリクエスト
に対すると同様な仕方で出発リングリング:0から送ら
れなければならないことを決定する。リコンバインデー
タの最初のパスで、RRC:0はpkt.RRCをセッ
トする。もしもリコンバイン・ノーデータrrcが出発
セルに戻ると、リコンバインが抽出されて打切られる。
もしもリコンバインデータrrcが出発セルに戻ると、
セルはパケットを送る。RRC:0は次いでリコンバイ
ンデータrrcを抽出し、それをリング:1へ挿入する
ためにRRC:1に送る。
[0471] Li Combine (recombination) Li combine data packet, if the ring: If any other cells in 0. not accept the re combine, starting ring: sent from zero. RRC: 1 determines that the packet should be sent from the Departing Ring Ring: 0 with a false RRCSpState: Ro in the same manner as for the Departing Ro request. In the first pass of the recombined data, RRC: 0 is pkt. Set RRC. If the combine combine no data rrc returns to the starting cell, the combine combine is extracted and aborted.
If the recombine data rrc returns to the departure cell,
The cell sends a packet. RRC: 0 then extracts the recombined data rrc and sends it to RRC: 1 for insertion into Ring: 1.

【0472】リング:1のリコンバインデータパケット
は、遠隔のRRC:1が局所リング:0内の対応するペ
ージに対して割付けられたディスクプタを有し、且つ
EtractBufferがExtbuf:All領域
にあれば、遠隔のRRC:1により抽出される。リコン
バインデータは又任意の未処理リクエストを満足させる
ために使用出来る。
[0472] Ring: 1 the re Combine data packet, a remote RRC: 1 local Ring: 0 has a corresponding a descriptor allocated for the page in, and EtractBuffer is extbuf: All it is in region For example, extracted by remote RRC: 1. Recombined data can also be used to satisfy any outstanding request.

【0473】リリース 局所的に発生されたリリースがリングに挿入されると、
Pend:Owner状態が記録され、それにより後続
のリリースが出発リング:0に戻されて、先行する既に
アトミックな応答で、可能な未処理getwリクエスト
を満足させることが出来る。遠隔で発生されるリリース
がリング:0に挿入されると、Pend:Owner状
態が記録され、その結果後続のリリースがリング:1に
戻され得る。
Release When a locally generated release is inserted into the ring,
The Pend: Owner state is recorded so that subsequent releases can be returned to the departure ring: 0 to satisfy possible outstanding getw requests with preceding, already atomic responses. When a remotely generated release is inserted in Ring: 0, the Pend: Owner state is recorded so that subsequent releases can be returned to Ring: 1.

【0474】ページフォールト ページフォールトは、どのRRCもディスクタマ
チを検出しないで、リング:1を完全に通過するリクエ
ストによりリング:1のシステムで検出される。パケッ
ト・ノーデータはRspBsyクリア及びInvBsy
クリアによりページフォールトを指示する。パケットは
次に出発RRC:1により抽出されて、リング:1に戻
され、そして要求しているセルに送られる。
[0474] Page Fault A page fault, which RRC also does not detect the discriminator flop ball Tsu <br/> Ji, Ring: 1 ring on request passing completely through the: detected in 1 of the system. Packet no data is RspBsy clear and InvBsy
Clear to indicate page fault. The packet is then extracted by the departure RRC: 1, returned to ring: 1 and sent to the requesting cell.

【0475】ページフォールトが起きると、局所RR
C:1がPend:Owner又はPend:Roの状
態に置かれる。この状態はページの創製に先立ってしシ
ステムのソフトウエアによりクリアされなければならな
い。フォールト中の(ページが固定されてからであるこ
とはもちろんである)任意のセルからのmpdw・in
vsum指令の実行はCiuInvSumパケットを生
じさせる。次の表20ないし表30はこの順の一続きの
規則説明書である。
When a page fault occurs, the local RR
C: 1 is placed in the Pend: Owner or Pend: Ro state. This condition must be cleared by system software prior to page creation. Mpdw.in from any cell in the fault (not to mention that the page is fixed)
Execution of the vsum command results in a CiuInvSum packet. The following Tables 20 to 30 are a series of rule explanations in this order.

【0476】[0476]

【表20】 [Table 20]

【0477】[0477]

【表21】 [Table 21]

【0478】[0478]

【表22】 [Table 22]

【0479】[0479]

【表23】 [Table 23]

【0480】[0480]

【表24】 [Table 24]

【0481】[0481]

【表25】 [Table 25]

【0482】[0482]

【表26】 [Table 26]

【0483】[0483]

【表27】 [Table 27]

【0484】[0484]

【表28】 [Table 28]

【0485】[0485]

【表29】 [Table 29]

【0486】[0486]

【表30】 [Table 30]

【0487】ページ操作ぺージ割付け ディスクプタは任意のセルSVAリクエストに先立っ
て局所セルにより割付けられる。RRC対は第1の局所
由来のリクエストパケット(常にノーデータ)を局所リ
ング:0から受け取るとディスクリプタを割付ける。も
しもページフォールトがリクエストに対して発せられる
と、ディスクリプタはセルとRRC対に割付けられた状
態に留まる。一つ以上のディスクリプタが、メモリシス
テムに存在しないページに対して割付けることが出来
る。ディスクリプタは生成すべきページに対して割付け
られなければならない。次表は割付けられたディスクリ
プタのデフォルト状態を具体的に示す。ディスクリプタ デフォルト状態 DescriptorTag Pktpageaddress SubpageState Invalid OwnerLimit OL:All DupLimit Dup:CondForward PendingPageState Page:None
[0487] page operation page allocation disk descriptor is assigned by the local cell prior to any cell SVA request. The RRC pair allocates the descriptor when it receives the first locally-sourced request packet (always no data) from the local ring: 0. If a page fault is issued for the request, the descriptor remains assigned to the cell and RRC pair. One or more descriptors can be allocated for pages that do not exist in the memory system. The descriptor must be assigned to the page to be created. The following table specifically shows the default state of the descriptor assigned. Descriptor Default State DescriptorTag Pktpageaddress SubpageState Invalid OwnerLimit OL: All DupLimit Dup: CondForward PendingPageState Page: None

【0488】ページ割付解除(Deallocate) 局所キャッシュ及び局所RRC対のディスクリプタはCi
uInvSumAlloc.nodata、CiuPureInvSumAlloc.nodata、又
はRrcDeallocDesc.nodataパケットによってのみ割付解
除される。これらの3つのパケットは割付解除(deallo
cate)パケットと呼ばれる。もしも割付解除パケットが
リング:0内の他のキャッシュが割り付けられたページ
を持たないことを指示すれば、局所RRC対はそのペー
ジに対応したディスクリプタの割付を外す。ディスクリ
プタが複数の割付解除パケットと他のページ向けのパケ
ットの間の競合状態を防ぐために割付解除をすべきかど
うかを決定している間に、RRC:0はPage:Pe
ndDeallocへ遷移する。もしも他のセルがペー
ジに対して割り付けられたディスクリプタを持たなけれ
ば、ああるついはディスクリプタの割付を解除する。R
RC対の両方はいずれかのRRCがディスクリプタを割
付解除する前にはPage:PendDealloc状
態になければならない。局所RRC対は遠隔のRRCに
ディスクリプタが割付解除されたことを知らせない。先
ず、割付解除シーケンスが記載され、次いでサブページ
及びページ動作が検討される。
Deallocate the local cache and the descriptor of the local RRC pair are Ci
Only deallocated by uInvSumAlloc.nodata, CiuPureInvSumAlloc.nodata, or RrcDeallocDesc.nodata packets. These three packets are deallocated (deallo
cate) packet. If the deallocation packet indicates that no other cache in Ring: 0 has a page allocated, the local RRC pair deallocates the descriptor corresponding to that page. While the descriptor is deciding whether to deallocate to prevent a race condition between multiple de-allocation packets and packets destined for other pages, RRC: 0 is Page: Pe
Transition to ndDealloc. If the other cell does not have a descriptor assigned to the page, the descriptor will be deallocated for some time. R
Both RC pairs must be in the Page: PendDealloc state before either RRC deallocates the descriptor. The local RRC pair does not inform the remote RRC that the descriptor has been deallocated. First, the deallocation sequence is described, and then subpages and page behaviors are considered.

【0489】割付解除(ディアロケート)シーケンスは
CCUがCiuLoadDopRegをCIUに送るこ
とにより開始される。パケットのアドレス及びCCU
prt entryは割り付け解除されるべきページに
対応する。CIUはアドレスをそのドロッピングレジス
タヘロードし、パケットを抽出してそれをCCUへ戻
す。正当なアドレスでロードした時、CIUのドロッピ
ングレジスタは所有するサブページに対するリクエスト
に対してCIUにRspBsyを主張させ、他の全ての
ページ又はサブページアドレスであってドロッピングレ
ジスターにマッチするものを無視する。ドロッピングレ
ジスタマッチはキャッシュグループマッチに優先する。
The deallocation (dialocate) sequence is initiated by the CCU sending CiuLoadDopReg to the CIU. Address of packet and CCU
The prt entry corresponds to the page to be deallocated. The CIU loads the address into its dropping register, extracts the packet and returns it to the CCU. When loaded at a legal address, the CIU's dropping register causes the CIU to assert RspBsy for requests for its own subpages, ignoring all other page or subpage addresses that match the dropping register. . Dropping register match takes precedence over cache group match.

【0490】CCUが戻されたCiuLoadDopR
egパケットを受け取ると、その場所に新しいディスク
リプタを書き込むことにより旧ディスクリプタの割付け
を解除し、prt entryの割付けを外して、もし
も割付け解除されたページが純粋(pure)でなけれ
ばCiuInvSumAllocパケットを出す。もし
も割付け解除されたページが純粋(pure)ならばC
iuPureInvSumAllocパケットを出す。
割付け解除パケットは割付けを解除すべきページのアド
レスであり(pkt.address[5:5]はCCUディスクリプタ
グループを含む)、又、datawors0は割付けら
れるページアドレスを含む。未処理のCEUリクエスト
は新たに割付けられたアドレスでも処理出来る。なぜな
らprtは割付け解除(ディアロケート)パケットに対
して必要がないからである。mrdd(RRC割付け解
除ディスクリプタ)命令はCCUをして、prtを割付
けることなくRrcDeallocDescパケットを
出させる。
CiuLoadDopR with CCU returned
When it receives an eg packet, it deallocates the old descriptor by writing a new descriptor in its place, deallocates the prt entry and issues a CiuInvSumAlloc packet if the de-allocated page is not pure. C if the deallocated page is pure
Issue the iuPureInvSumAlloc packet.
The deallocation packet is the address of the page to be deallocated (pkt.address [5: 5] contains the CCU descriptor group), and dataworks0 contains the page address to be allocated. Unprocessed CEU requests can be processed even with the newly assigned address. This is because prt is not needed for deallocate packets. The mrdd (RRC deallocate descriptor) instruction causes the CCU to issue a RrcDeallocDesc packet without allocating prt.

【0491】図15は本発明のシステムに使用される好
ましい割付け解除シーケンスを示す。CIUは、新たに
割付けれれたディスクリプタを旧ディスクリプタの場所
に書き込むことにより旧ディスクリプタの割付けを解除
し、ドロッピングレジスタを無効(invalid)に
し、そしてパケットを挿入することにより、CiuIn
vSumAlloc又はCiuPureInvSumA
llocパケットを処理する(ステップ1)。CIUは
CIUのディレクトリに何らの修正もしないでパケット
を挿入することによりRrcDeallocDescパ
ケットを処理する。
FIG. 15 illustrates the preferred deallocation sequence used in the system of the present invention. The CIU deallocates the old descriptor by writing the newly allocated descriptor to the location of the old descriptor, invalidates the dropping register, and inserts the packet to the CiuIn.
vSumAlloc or CiuPureInvSumA
Process the lloc packet (step 1). The CIU processes the RrcDeallocDesc packet by inserting the packet into the CIU's directory without any modification.

【0492】割付け解除(ディアロケート)パケットは
リング:0を通るから、RsyBsyが割付けられたデ
ィスクリプタを有するCIUにより主張される(ステッ
プ2、3、6)。
Since the deallocation (dialocate) packet traverses ring: 0, it is claimed by the CIU with the descriptor assigned RsyBsy (steps 2, 3, 6).

【0493】RRC:0は、もしもRsyBsyが主張
されたら、CiuInvSumAlloc又はRrcD
eallocDescを空にし、ディスクリプタがリン
グ:0内の他のキャッシュに割付けられたことを指示す
る(ステップ3)。もしもRspBsyが主張されなか
ったら、RRC:0の割付け解除パケットはこの割付け
られたページに対する全ての局所キャッシュを調べるた
めにリング:0を完全に通過しなければならない。なぜ
なら、このパケットは割付け解除キャッシュとRRC:
0の間でリング:0の一部しか通過していないからであ
る。リング0がパケットを通過させ、RRCビットをセ
ットし、RspBsyををクリアし、そしてPage:
PendDeallocateに遷移する。RRCビッ
トはパケットがRRC:0を通過したことを表示するた
めに使用される。もしもRRCが更新(refres
h)又はecc.errorのためにパケットを処理出
来ない時は、RRCはIndBsyをセットし、そして
割付け解除パケットを次の回転(revolutio
n)の際に処理する。後続の割付け(ディアロケー
ト).!RCCパケットはPagePendDeall
ocateが空にされている間に受け取られる。なぜな
ら、これらの割付け解除パケットを出したセルは第1の
割付け解除パケットの現在の回転の際にRspBsyを
主張しないからである。RRC:0がRspBsyを第
1の割付け解除パケットの際に否認する理由は、後続の
割付け解除パケットを出したセルが第1の割付け解除パ
ケットの第1の部分回転の際にRspBsyを主張した
ウインドーを処理するためである。
RRC: 0 is CiuInvSumAlloc or RrcD if RsyBsy is asserted.
Empty eallocDesc to indicate that the descriptor has been allocated to another cache in Ring: 0 (step 3). If RspBsy is not asserted, the RRC: 0 deallocation packet must traverse Ring: 0 completely to probe all local caches for this allocated page. Because this packet is deallocated cache and RRC:
This is because only part of the ring: 0 passes between 0. Ring 0 passes the packet, sets the RRC bit, clears RspBsy, and Page:
Transition to PendDeallocate. The RRC bit is used to indicate that the packet has passed RRC: 0. If RRC is updated (refres
h) or ecc. When the packet cannot be processed due to the error, the RRC sets IndBsy and then deallocates the de-allocated packet to the next revolution
Process n). Subsequent allocation (dialocate). !! RCC packet is PagePendDeall
Received while the ocate is emptied. This is because the cells that issued these deallocation packets do not claim RspBsy during the current rotation of the first deallocation packet. The reason why RRC: 0 rejects RspBsy during the first deallocation packet is that the cell issuing the subsequent deallocation packet asserted RspBsy during the first partial rotation of the first deallocation packet. For processing.

【0494】もしも割付け解除パケットがCiuPur
eInvSumAllocならば、RRC:0はパケッ
トを抽出し、pkt.cmd-pend-deallocをセットし、パケッ
トを局所RRC:1に送り、ステップ8に飛ぶ(RR
C:1処理)。CiuPureInvSumAlloc
がページ内に全てのサブページを保持するセルによって
の見出され、他の任意の割付けられたディスクリプタは
全ページ無効(インバリッド)を有することを保証す
る。従って、RRC:0はスキップしてCiuPure
InvSumAllocパケットをリングの周りに送っ
て、どれかのセルが割付けられたページを有するかどう
かを決定する。ページはRRCによって割付けられ、リ
ング:0内のセルの一つが次にページ内部のサブページ
を要求する。
[0494] If the deallocation packet is CiuPur
If it is eInvSumAlloc, RRC: 0 extracts the packet, sets pkt.cmd-pend-dealloc, sends the packet to local RRC: 1 and jumps to step 8 (RR
C: 1 treatment). CiuPureInvSumAlloc
Is found by the cell holding all subpages within the page, and any other allocated descriptors guarantee that they have all page invalidations. Therefore, RRC: 0 is skipped and CiuPure is skipped.
InvSumAlloc packets are sent around the ring to determine if any cells have pages allocated. Pages allocated by the RRC, the ring: one cell in the 0 next requests a page inside the subpages.

【0495】Page:PendDealloc状態で
リング:1から受領した全ての遠隔由来のパケットはそ
のままリング:1に戻される。もしもsva-read-roパケ
ットが戻されると(リング:0状態はSPState:
Ro)他のリング:0がサブページのコピーを供給する
であろう。セルとRRC対のディスクリプタはまさに割
り付け解除されようとしているからreconbin
e.detaが戻される。ページデストロイシーケンス
は常に割り付け解除に先立って全ページを無効にセット
するから、SpState:{Nex,Ex}は存在し
ないであろう。
All remote-origin packets received from Ring: 1 in the Page: PendDealloc state are returned to Ring: 1. Hello sva-read-ro package
When the state is returned (ring: 0 state is SPState:
Ro) Other rings: 0 will supply a copy of the subpage. The descriptor of the cell and RRC pair is about to be deallocated, so reconbin
e. data is returned. Since the page destroy sequence always sets all pages invalid prior to deallocation, SpState: {Nex, Ex} will not be present.

【0496】もしもコンフィグレーションがRRCを含
んでいなければ、InvBsy及びRRCの両者が否認
される。元のリクエスタは、もしもpacket.re
quest−idがcell−address、!In
vBsy及び!RRCにマッチした時、割り付け解除パ
ケットを空にする(ステップ5)。
If the configuration does not include RRC, both InvBsy and RRC are denied. The original requester is the packet. re
The quest-id is cell-address ,! In
vBsy and! When the RRC is matched, the deallocation packet is emptied (step 5).

【0497】もしもキャッシュがページがRspBsy
を主張することにより割り付けられるこをと指示したな
らば、RRC:0は、リング:0の完全な通過の後に割
り付け解除RRCパケットを空にする(ステップ7)。
RspBsyの否認はリング:0内のどのキャッシュも
割り付けられたページを有しないことを指示する。RR
C:0は割り付け解除パケットを抽出し、pkt.cmd-pend
-deallocをセットし、そしてこのパケットを局所RR
C:1に送る。RRC:0及びある1は競合を避けるた
めにディスクリプタが割り付け解除される前にいずれも
Page:PenDealloc内になければならな
い。
If the cache page is RspBsy
, Then RRC: 0 empties the deallocation RRC packet after a complete ring: 0 pass (step 7).
A denial of RspBsy indicates that no cache in Ring: 0 has any page allocated. RR
C: 0 extracts the deallocation packet and pkt.cmd-pend
-Set dealloc and set this packet to local RR
Send to C: 1. Both RRC: 0 and some 1 must be in Page: PenDealloc before the descriptor is deallocated to avoid contention.

【0498】RRC:1はこのパケットをPage:P
endDeallocに遷移させ、pkt.cmd-dealloc-pa
geをセットし、パケットを抽出し、そしてこれをRR
C:0に戻す(ステップ8)。Page:PendDe
alloc状態でリング:1から受領した全ての遠隔由
来のパケットはそのままリング:1に戻される。
RRC: 1 sends this packet to Page: P
Transition to endDealloc, pkt.cmd-dealloc-pa
set ge, extract packet, and RR this
Return to C: 0 (step 8). Page: PendDe
All remotely sourced packets received from Ring: 1 in the alloc state are returned to Ring: 1.

【0499】RRC:0はディスクリプタを割付け解除
することによりパケットを処理して、Page:Non
eに遷移し、パケットを抽出してそれをRRC:1に戻
す(ステップ9)。RRC:1は帰ってくるパケットを
同様に割付け解除して、Page:Noneに遷移し、
パケットを空ける。
RRC: 0 processes the packet by deallocating the descriptor, and returns Page: Non.
transition to e, extract the packet and return it to RRC: 1 (step 9). RRC: 1 also deallocates the returning packet and transitions to Page: None,
Open a packet.

【0500】ページ及びサブページ向けのパケットはP
age:PenDeallocate状態の時に特別に
処理される。CiuInvSum.nodata、CiuInvzSumAlocate.nod
ata及びCiuExSum.nodataのような他のページレベルのパ
ケットはビジーにされる。遠隔由来のサブページリクエ
ストはRRC:0及びRRC:1によりビジーにされ
る。局所由来のサブページリクエストはRRC:0では
影響を受けない。何となれば、リクエストしている局所
キャッシュは割り付けられたディスクリプタを有し、R
RC対がそのディスクリプタを割付け解除することを防
ぐからである。局所由来のサブページリクエストはRR
C:1によりビジーにされる。何となれば、RRC対は
ディスクリプタを割り付け解除しているからである。デ
ィスクリプタはページが割り付けを解除された後では次
のリクエストの際に引き続いて再割り付される。RR
C:0によりステップ7から9の間に送られる局所由来
のパケットも又RRC:1によりビジーにされる。ステ
ップ9の後にRRC:0により処理された局所由来のリ
クエストは、ステップ10の後にRRC:1により処理
されることが保証され、そしてディスクリプタは再割り
付される。
Packets for pages and subpages are P
age: specially processed in the PenDeallocate state. CiuInvSum.nodata, CiuInvzSumAlocate.nod
Other page-level packets like ata and CiuExSum.nodata are busy. Remote-sourced subpage requests are made busy by RRC: 0 and RRC: 1. Locally derived subpage requests are not affected by RRC: 0. What happens is that the requesting local cache has an allocated descriptor, R
This is because it prevents the RC pair from deallocating the descriptor. RR for locally-sourced subpage requests
C: 1 made busy. This is because the RRC pair deallocates the descriptor. Descriptors are subsequently reallocated on the next request after the page has been deallocated. RR
Locally derived packets sent by C: 0 during steps 7-9 are also made busy by RRC: 1. Locally derived requests processed by RRC: 0 after step 9 are guaranteed to be processed by RRC: 1 after step 10, and the descriptors are reallocated.

【0501】ページ生成(criate)メモリシステ
ムは、システムのソフトウエアがメモリ内の現存ページ
が再生されたものではないことを保証しているもの、と
想定する。システムソフトウエアは又ページが一つ以上
のキャッシュによって同時に生成されたものでないこと
を保証しなければならない。メモリシステムのハードウ
エアはこれらの状態をただちには検出しない。
Page create memory systems assume that the system's software ensures that the existing page in memory is not reclaimed. The system software must also ensure that the page was not generated by more than one cache at the same time. The memory system hardware does not immediately detect these conditions.

【0502】mpsa命令はSVAページに対して局所
キャッシュ内のアンカーしたディスクリプタを提供す
る。もしもディスクリプタがmpsaの前に既に存在し
ていれば、そのアンカーフラッグはセットされる。その
他の場合には、局所キャッシュはディスクリプタを上記
のページ割付/割付け解除の項で説明したようにディス
クリプタを割付ける。
The mpsa instruction provides an anchored descriptor in the local cache for SVA pages. If the descriptor already exists before mpsa, its anchor flag is set. Otherwise, the local cache allocates descriptors as described above in the page allocation / deallocation section.

【0503】局所キャッシュは次にmpdw.alle
x命令の結果ciu-ex-sum.nodataパケットを出し、そし
てページ内の全てのサブページを所有状態に遷移する。
RRC:0はciu-ex-sum.nodataパケットを抽出し、必
要ならディスクリプタを割付け、そしてリクエストをR
RC:1に送る。もしもPage:PendDeall
ocならば、RRC:0はリクエストを出してpkt.
InvBsyをセットする。RRC:1はパケットを抽
出し、必要ならばディスクリプタを割付け、全てのサブ
ページをSpState:Ownerに遷移させ、そし
てリクエストをRRC:0に戻す。RRC:0はパケッ
トを挿入し、ページ内の全てのサブページをSpSta
te:Exに遷移させる。出発元のCIUはパケットを
抽出し、それをCCUに戻し、CCUは完了状態を局所
プロセッサに返す。mpdw命令が次に出されてアンカ
ービットをクリアする。
The local cache is then mpdw. alle
Issue the ciu-ex-sum.nodata packet as a result of the x instruction and transition all owned subpages in the page to the owned state.
RRC: 0 extracts ciu-ex-sum.nodata packet, allocates descriptor if necessary, and R request
RC: Send to 1. Momo Page: PendDeall
If it is oc, RRC: 0 issues a request and pkt.
Set InvBsy. RRC: 1 extracts the packet, allocates descriptors if necessary, transitions all subpages to SpState: Owner, and returns the request to RRC: 0. RRC: 0 inserts a packet and spstas all subpages within the page.
te: Transition to Ex. The originating CIU extracts the packet and returns it to the CCU, which returns a completion status to the local processor. The mpdw instruction is then issued to clear the anchor bit.

【0504】ページ破壊問題 ページは3つの方法で破壊出来る。ページが破壊される
時はいつでも、そのページ内の全てのサブページは局所
キャッシュにより排他的に所有されなければならない。
第1の方法では、ピュア(純)ページが割り付け解除さ
れる時には、これらのページは破壊される。CiuPu
reInvSumAllocパケットはピュアページが
割付け解除されていることを指示する。第2の方法で
は、ディスクリプタのアドレスが変更される場合には、
旧ページが破壊され、新しいページにその内容が存在す
る。RrcDeallocDescパケット局所RRC
がページを割り付け解除すべきことを指示する。第3の
方法では、ページ及びその内容が明示的に破壊される。
CiuInvSumパケットは局所RRCが全てのサブ
ページを無効状態にセットすべきことを指示する。
Page Destruction Problem Pages can be destroyed in three ways. Whenever a page is destroyed, all subpages within that page must be exclusively owned by the local cache.
In the first method, when pure pages are deallocated, they are destroyed. CiuPu
The reInvSumAlloc packet indicates that the pure page has been deallocated. In the second method, if the descriptor address is changed,
The old page is destroyed and the new page has its contents. RrcDeallocDesc Packet Local RRC
Indicates that the page should be deallocated. In the third method, the page and its contents are explicitly destroyed.
CiuInvSum packet fingers view the possible local RRC should set to an invalid state for all subpages.

【0505】ページが破壊される場合には、CiuPu
reInvSumDealloc、RrcDeallo
cDesc及びCiuInvSumパケットがリング:
1を通過して、ページに対する遠隔の未処理又はRei
ssue(再発行)状態をクリアする。3つの場合に対
する局所キャッシュ及びRRCの作用が違うので、3種
の異なったパケット形式が必要である。
When the page is destroyed, CiuPu
reInvSumDearloc, RrcDeallo
cDesc and CiuInvSum packets ring:
1 through remote unprocessed or Rei for page
Clear the sue (reissue) status. Due to the different behavior of the local cache and RRC for the three cases, three different packet types are needed.

【0506】ページ破壊 mpsa命令はSVAページに対して局所キャッシュの
アンカー(固定)されたディスクリプタを提供する。も
しもmpsaの前にディスクリプタが既に存在すると、
そのアンカーフラッグがセットされる。その他の場合に
は、局所キャッシュはディスクリプタを前記の割付け解
除/再割付けの項で述べたようにしてディスクリプタを
割付ける。
Page Destruction The mpsa instruction provides a local cache anchored descriptor for an SVA page. If a descriptor already exists before mpsa,
The anchor flag is set. Otherwise, the local cache allocates descriptors as described in the deallocation / reallocation section above.

【0507】mfsva命令は局所キャッシュが全ての
サブページの排他的な所有を得るために使用される。
The mfsva instruction is used by the local cache to gain exclusive ownership of all subpages.

【0508】次に局所キャッシュはciu-inv-sum.nodata
パケットをmpdw.allinv命令の結果発生し、
ページ内の全てのサブページを無効(インバリッド)状
態に遷移する。RRC:0はciu-inv-sum.nodataパケッ
トを抽出して、リクエストをRRC:1に送る。もしも
Page:PendDeallcならば、RRC:0は
リクエストを通過させpkt.InvBsyをセットす
る。RRC:1はパケットを抽出し、全てのサブページ
をSpState:Invへ遷移させ、リクエストをR
RC:0に送り返す。RRC:0はパケットを挿入し、
そしてページ内の全てのサブページをSpState:
Invに遷移させる。出発(originating)
CIUはパケットを抽出して、それをCCUへ戻し、C
CUは完了状態を局所プロセッサへ戻す。
[0508] Next, the local cache is ciu-inv-sum.nodata.
Mpdw.packet. occurs as a result of the allinv instruction,
All subpages in the page are transited to invalid (invalid) state. RRC: 0 extracts the ciu-inv-sum.nodata packet and sends the request to RRC: 1. If Page: PendDeallc, RRC: 0 passes the request and pkt. Set InvBsy. RRC: 1 extracts the packet, transitions all subpages to SpState: Inv, and sends the request to
Return to RC: 0. RRC: 0 inserts the packet,
And SpState:
Transition to Inv. Departure
The CIU extracts the packet and returns it to the CCU, C
The CU returns a completion status to the local processor.

【0509】ページ破壊シーケンス及び特にciu-inv-su
m.nodataは局所キャッシュ又はRRC対ディスクリプタ
を割付け解除しない。局所キャッシュ及びRRC対ディ
スクリプタはディスクリプタが再使用されるまで割付け
解除されない。
Page destruction sequence and especially ciu-inv-su
m.nodata does not deallocate local cache or RRC to descriptor. The local cache and RRC-to-descriptor are not deallocated until the descriptor is reused.

【0510】チェンジ(変更)ディスクリプタ チェンジディスクリプタページアドレスは論理的には旧
ページを破壊し、次いで同じデータの新しいページを生
成することである。メモリシステムは、システムのソフ
トウエアがメモリ内に現存するページが創成されないこ
とを保証している、と仮定する。システムのソフトウエ
アは、ページが2つ以上のキャッシュにより同時に創生
されないことを保証しなければならない。メモリシステ
ムのハードウエアはこれらの状態をすぐには検出しな
い。
Change Descriptor A change descriptor page address is logically to destroy the old page and then create a new page of the same data. The memory system assumes that the software of the system guarantees that no existing page in memory will be created. The system software must ensure that pages are not created by more than one cache at the same time. Note Rishi stearyl <br/> hardware of the beam is not detected immediately these states.

【0511】チェンジディスクリプタは3種の命令を使
用する。すなわち、mpdw,mrdd,及びmrwd
である。mpdw命令は局所セル(CCU及びCIU)
のみに影響し、リング:0には挿入されない。
The change descriptor uses three types of instructions. That is, mpdw, mrdd, and mrwd
Is. mpdw instruction is a local cell (CCU and CIU)
Affects only, not inserted in ring: 0.

【0512】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が構成(configur
e)されていなければ,戻りパケットRrcDeall
ocDesc.nodata.!RspBsyは元のリ
クエストと同じであり、CCUに成功裏の完了状況をC
EUに戻させる。この命令はCCU又はCIUのデータ
構造には影響しない。この命令の追加はCEUに対して
透明である。
The RRC Deallocate Descriptor (mrdd) instruction from the CCU Reserved Memory System is opcoded. When the CCU codes this instruction from the CEU, the RCUDeallocDsk. Send out the nodata packet. !! m0 supplies the page address to be deallocated in the same manner as other memory system instructions.
The CIU inserts this packet on Ring: 0. RRC
Initiates the deallocation sequence by copying the packet. If the RRC cannot copy or process this packet, it sets the packet RspBsy (responder busy). CIU returns with RrcDa
llocDesc. Extract the nodata packet and send it to the CCU. If RspBsy is issued,
The request is reissued by the CCU. What if Rsp
If Bsy is clear, CCU indicates successful completion CEU
Return to. If RRC: 0 is configured (configure
e) If not, return packet RrcDeall
ocDesc. nodata. !! RspBsy is the same as the original request and the CCU reports the successful completion status to C
Send it back to the EU. This instruction does not affect the CCU or CIU data structure. The addition of this command is transparent to the CEU.

【0513】CCU留保メモリシステムからのRRC書
き込み(ライト)ディスクリプタ(mrwd)命令は操
作コード化する。CCUはCEUからのこの命令をでコ
ードする際にRrcWrDesc.nodataパケッ
トを出す。!m0は割付けるべきページアドレスを他の
メモリシステムの命令と同様にして供給する。CIUは
このパケットをリング:0に挿入する。RRC:0はパ
ケットを抽出する。局所RRC:1は必要ならばディス
クリプタを割付け、ディスクリプタを全排他にセット
し、RRCレジデントディスクリプタビット(owne
rlimit)を書き込み、パケットを抽出し、それを
リング:0に送り返す。もしもRRCがパケットを処理
出来なければ、paket.RspBsyをセットす
る。CIUは戻りRrcWrDesc,nodataパ
ケットを抽出し、それをCCUに送る。RspBsyが
セットされていれば、CCUはリクエストを再発行す
る。もしもRspBsyがクリアならば、CCUはCE
Uに上首尾の完了状況を戻す。もしもRRC:0が構成
されていなければ、戻りパケットRrcWrDesc,
nodata.RspBsyは元のリクエストと同一で
あり、CCUに上首尾の完了をCEUに戻させる。この
命令はCCU及びCIUのデータ構造に影響を与えな
い。この命令の追加はCEUに対して透明である。
The RRC write (write) descriptor (mrwd) instruction from the CCU reserved memory system is operation coded. When the CCU codes this instruction from the CEU with RrcWrDesc. Send out the nodata packet. !! m0 supplies the page address to be allocated in the same manner as other memory system instructions. The CIU inserts this packet on Ring: 0. RRC: 0 extracts the packet. Local RRC: 1 allocates descriptors if necessary, sets descriptors to all exclusive, RRC resident descriptor bit (own
rlimit), extract the packet and send it back to ring: 0. If RRC cannot process the packet, packet. Set RspBsy. The CIU extracts the return RrcWrDesc, nodata packet and sends it to the CCU. If RspBsy is set, the CCU reissues the request. If RspBsy is clear, CCU is CE
Returns the successful completion status to U. If RRC: 0 is not configured, return packet RrcWrDesc,
nodata. RspBsy is identical to the original request and causes the CCU to return a successful completion to the CEU. This instruction does not affect the CCU and CIU data structures. The addition of this command is transparent to the CEU.

【0514】チェンジディスクリプタシーケンスは次の
通りである。 1−旧ページをアンカー(固定)する(mpsa)。 2−排他的所有の旧ページの全てのサブページを集め
る。 3−RRCディスクリプタを割付け解除する(mrd
d)(旧ぺージ)。 4−新しいRRCディスクリプタを書き込む(mrw
d)(新ページ) 5−セルに新ディスクリプタを書き込み、アンカービッ
トをクリアする(mpdw)。
The change descriptor sequence is as follows. 1-Anchor (fix) the old page (mpsa). 2-Collect all sub-pages of the old page that are exclusively owned. 3-Deallocate RRC descriptor (mrd
d) (Old page). 4-Write a new RRC descriptor (mrw
d) (New page) 5-Write a new descriptor in the cell and clear the anchor bit (mpdw).

【0515】mrdd及びmrwd命令はディスクリプ
タのタグ部分が変更されないのなら必要でない。更に、
排他的所有の旧ページの全てのサブページを集めること
は上記のように或るディスクリプタビットを変更するに
は必要でないこともある。アトミック及び過渡アトミッ
ク状態はセル内に保持される。RRCサブページ状態
は、アトミック及び化とアトミックが後者のカテゴリー
にある場合に非排他的及び排他的所有のみを記録する。
RRCはチェンジディスクリプタシーケンスで失われる
未処理のgetw状態を保持する。getwリクエスタ
はタイムアウトとなる。
The mrdd and mrwd instructions are not needed if the tag portion of the descriptor is unchanged. Furthermore,
Collecting all sub-pages of an exclusively owned old page may not be necessary to change certain descriptor bits as described above. Atomic and transient atomic states are maintained within the cell. The RRC subpage state only records non-exclusive and exclusive ownership when atomic and atomic and atomic are in the latter category.
RRC retains the outstanding getw state that is lost in the change descriptor sequence. The getw requester times out.

【0516】ページオペレーション規則 割付け規則は表31の通りである。Page operation rule Table 31 shows the allocation rule.

【表31】 [Table 31]

【0517】[0517]

【表32】 [Table 32]

【0518】[0518]

【表33】 [Table 33]

【0519】[0519]

【表34】 [Table 34]

【0520】[0520]

【表35】 [Table 35]

【0521】特殊操作 RRC抽出バッファ.フル(Extract Buffer Full) ピークパケット速度はRRCがバッファを空けることが
出来る速度よりも速いので、RRC抽出バッファのフロ
ー制御アルゴリズムが必要である。制御アルゴリズムは
システム負荷を減少させながら、前進を最大にする原理
に基づく。進行中のリクエストの完了にシステム資源を
優先割付けすると、これらの両目的を達成出来る。なぜ
なら、リクエストの完了はシステム負荷の減少と、最大
効率の前進を達成するからである。
Special operation RRC extraction buffer. Extract Buffer Full Since the peak packet rate is faster than the rate at which RRC can free the buffer, a flow control algorithm for the RRC extract buffer is needed. The control algorithm is based on the principle of maximizing forward while reducing system load. Prioritizing system resources to complete ongoing requests can accomplish both of these goals. This is because the completion of the request achieves the reduction of the system load and the advance of the maximum efficiency.

【0522】抽出バッファに抽出又はコピーして来られ
ないパケットは、そのパケットがこのRRCから発せら
れたどうかに基づいて処理される。もしもパケットはこ
のRRCより発せられたものでなければ、パケットがデ
ータを有しない、リードオンリーデータを有する、又は
所有権を有するかどうかにより処理される。パケットビ
ジービットRspBsy及びInvBsy(便利にはパ
ケットに遅く位置付けられる)、及びSpState及
びPendlサブページ状態フィールドが、標準のプロ
トコールに正当な作業をさせるために使用される。
Packets that cannot be extracted or copied to the extraction buffer are processed based on whether the packet originated from this RRC. If the packet does not originate from this RRC, it is processed depending on whether the packet has no data, has read-only data, or has ownership. The packet busy bits RspBsy and InvBsy (conveniently positioned late in the packet), and the SpState and Pendl subpage state fields are used to make standard protocols do the right thing.

【0523】RRCにより発せられるてのパケットに
対して、pkt.TimeStampがクリアされ、そ
の結果パケットがリングを再度回ることが出来るように
する。
[0523] the total hand of packets emitted by the RRC, pkt. TimeStamp is cleared, thus allowing the packet to go around the ring again.

【0524】RRC由来でない全てのパケットに対して
も、pkt.TimeStampがクリアされ、その結
果必要ならパケットがリングを再度回ることが出来るよ
うにする。全ページ操作はノーデータリクエストパケッ
トと考えられる。データを持たないパケットに対して
は、RspBsy及びInvBsyがセットされる。R
spBsy及びノーデータはsva-read-ro0.data応答に
対してセットされ、デュプリケートは空けられる。オー
ナシップ(所有)パケットが送られ、RRC:1がPe
ndl:Reissue状態に遷移する。Pendl:
Reissue状態はRRC:1において、未処理のリ
クエストを満足させるために抽出されなかった遠隔由来
のオーナシップパケットの場合と失われたページとを区
別することにより、偽missing-page-error(ページフォ
ールト)を防止するために使用される。Pendl:R
eissueはセットされると、RRC:1がRRC由
来のリクエストに対してRRC由来でない潜在的な応答
パケットを失ったかもしれないことを指示する。もしも
RRC:1由来のリクエストが応答なしに帰り且つPe
ndl:Reissueであると、戻りリクエストはR
RCによりビジーにされ、リクエストを出しているプロ
セッサセル又はRRCにリクエストを再発行させ、それ
により、偽ページフォールトを防止する。RRC:0は
SpStateフィールドを使用してmissing-page-err
orを防ぐ。RRC:0のSpStateフィールドは、
リードオンリーコピー又はオーナシップがリング:0内
にあってリクエストを満足させるかどうかを記録する。
もしも、RRC:0由来のリクエストが応答なしに戻
り、又充分なコピー又はオーナシップがリング:0に
存在すれば、リクエストは再発行される。
For all packets not derived from RRC, pkt. The TimeStamp is cleared, thus allowing the packet to go around the ring again if needed. All page operations are considered no data request packets. RspBsy and InvBsy are set for packets that have no data. R
spBsy and nodata are set for the sva-read-ro0.data response and duplicates are cleared. Ownership packet sent, RRC: 1 Pe
ndl: Transition to Reissue state. Pendl:
The Reissue state is a false missing-page-error (page fault) in RRC: 1, which distinguishes lost pages from cases of remotely-owned ownership packets that were not extracted to satisfy outstanding requests. ) Is used to prevent Pendl: R
eissue, when set, indicates that RRC: 1 may have lost a potential non-RRC-based response packet to an RRC-derived request. If RRC: 1 request comes back with no response and Pe
If it is ndl: Reissue, the return request is R
It is busy by the RC and causes the requesting processor cell or RRC to reissue the request, thereby preventing false page faults. RRC: 0 is missing-page-err using SpState field
prevent or. The SpState field of RRC: 0 is
Record whether the read-only copy or ownership is within Ring: 0 to satisfy the request.
If, RRC: 0 from request returns without response, also sufficient copy or ownership ring: if present 0, the request is reissued.

【0525】次に全てのケースの挙動を分析する。リング:1からRRC:0、リング:0からRRC:1 RRC:0(1)からRRC:1(0)に受け取られた
パケットは通常リング:1(0)にある場合にはパケッ
トは他のRRCに再ルートで戻される。これは挿入され
たパケットを直ちに抽出することにより行なわれる。一
例は、未処理リクエスト(Pendl:Ro状態でのsv
a-read-ex)と同じ型のローカル発のリクエストがRR
C:1において処理される場合である。RspBsyが
主張され、リクエストはローカルリング:0に戻され
る。
Next, the behavior of all cases is analyzed. Ring: 1 to RRC: 0, Ring: 0 to RRC: 1 RRC: 0 (1) to RRC: 1 (0) The packet received is usually on the ring: 1 (0), the packet is Rerouted back to RRC. This is done by immediately extracting the inserted packet. One example is unprocessed request (Pendl: sv in Ro state)
a-read-ex) is a local request of the same type as RR
This is the case when processed at C: 1. RspBsy is asserted and the request is returned to local ring: 0.

【0526】もしも抽出バッファが再ルートされたパケ
ットを受け取ることが出来ない場合には、抽出バッファ
が満席でなくなるまで、そして空のパケットが手に入る
まで挿入(インサート)バッファに保持される。規則の
表記insert.extractはこの挙動に従う再
ルートされたパケットを示す。リング:0からRRC:0、ローカルリング:0により
発せられたパケット リクエストパケット −発信箇所に戻り(多分道に沿って満足される)、必要
なら再発行を得る。 リードオンリーデータ担持パケット −発信箇所に戻り(多分道に沿って満足される)、必要
なら再発行を得る。 オーナシップデータ担持パケット −発信箇所に戻り(多分道に沿って満足される)、必要
なら再発行を得る。しかし、もしも他のリング:0から
のリクエストがあったら、このパケットは満足されなか
ったはずである。そのパケットがRRC:1に戻ると、
RRC:1はオーナーシップが未だリング:0に含まれ
ていることを通知し、リクエストをリング:0に戻すで
あろう。
If the extract buffer cannot receive the rerouted packet, it is held in the insert buffer until the extract buffer is not full and empty packets are available. Rule notation insert. extract indicates a rerouted packet that follows this behavior. From Ring: 0 to RRC: 0, Local Ring: 0
The emitted packet request packet - returns to the originating location (perhaps be satisfied along the way), obtaining a reissue if necessary. Read Only Data Carrying Packets-Return to origin (maybe satisfied along path) and get reissues if necessary. Ownership Data Carrying Packets-Return to origin (maybe satisfied along path) and get reissues if necessary. But if there was a request from another ring: 0, this packet would not have been satisfied. When the packet returns to RRC: 1,
RRC: 1 will inform that ownership is still contained in Ring: 0 and will return the request to Ring: 0.

【0527】リング:0からRRC:0、遠隔リング:
0から発せられたパケット リクエストパケット −リング:0を回り(多分道に沿って満足される)、R
RC:0との次の遭遇で抽出されるであろう。 リードオンリーデータ担持パケット −リング:0を回り(多分道に沿って満足される)、R
RC:0との次の遭遇で抽出されるであろう。 オーナシップデータ担持パケット −リング:0を回り(多分道に沿って満足されない)、
RRC:0との次の遭遇で抽出されるであろう。
Ring: 0 to RRC: 0, remote ring:
Packets originating from 0 Request packet-ring: go around 0 (maybe satisfied along the way), R
Will be extracted on the next encounter with RC: 0. Read Only Data Carrying Packet-Ring: Go around 0 (maybe satisfied along the way), R
Will be extracted on the next encounter with RC: 0. Ownership Data Carrying Packet-Ring: Go around 0 (maybe not along the way),
Will be extracted on the next encounter with RRC: 0.

【0528】リング:1からRRC:1、ローカルリン
グ:0より発せられたパケット リクエストパケット −リング:0を回り(多分道に沿って満足される)、R
RC:0との次の遭遇で抽出されるであろう。 リードオンリーデータ担持パケット −リング:0を回り(多分道に沿って満足される)、R
RC:0との次の遭遇で抽出されるであろう。 オーナシップデータ担持パケット −リング:0を回り(多分道に沿って満足されない)、
RRC:0との次の遭遇で抽出されるであろう。
Ring: 1 to RRC: 1, local phosphorus
Packets originating from 0: Request packet-Ring: go around 0 (maybe satisfied along the way), R
Will be extracted on the next encounter with RC: 0. Read Only Data Carrying Packet-Ring: Go around 0 (maybe satisfied along the way), R
Will be extracted on the next encounter with RC: 0. Ownership Data Carrying Packet-Ring: Go around 0 (maybe not along the way),
Will be extracted on the next encounter with RRC: 0.

【0529】リング:1からRRC:1、遠隔リング:
0より発せられたパケット リクエストパケット −発信箇所に戻り(多分道に沿って満足される)、必要
なら再発行を得る。 リードオンリーデータ担持パケット −発信箇所に戻り(多分道に沿って満足される)、必要
なら再発行を得る。 オーナシップデータ担持パケット −発信箇所に戻りリクエストを満足させるであろう。し
かし、このRRCに結合されたリング:0からの未処理
リクエストがあったら、このパケットは満足されなかっ
たはずである。このパケットがRRC:1に戻ると、R
RC:1はオーナシップが未だリング:0に含まれてい
ることを通知し、リクエストをリング:0に戻す。
Ring: 1 to RRC: 1, remote ring:
Packets originated from 0 Request packet-return to origin (maybe satisfied along path) and get reissue if necessary. Read Only Data Carrying Packets-Return to origin (maybe satisfied along path) and get reissues if necessary. Ownership Data Carrying Packet-Will return to the origin and satisfy the request. However, if there were outstanding requests from ring: 0 bound to this RRC, this packet would not have been satisfied. When this packet returns to RRC: 1, R
RC: 1 notifies that ownership is still contained in Ring: 0 and returns the request to Ring: 0.

【0530】リング凍結(フリージング) 凍結(フーズ)ビットは一回の回転に対してリング上
のパケットを全て凍結するためにセルにより使用され
る。リング凍結は、リング上の全てのパケットが、リン
グ上のいかなるメンバーもパケット内の情報を変化又は
コピー出来ない状態にあることを意味する。セルは、リ
ング上の全てのパケットが凍結されるまで、そこを通過
する全てのパケット中の凍結ビットを組織的に主張する
ことにより、リングを凍結する。凍結時間中、各セルは
リングパケットの処理を要しないで任意の動作を自由に
実行する。一旦各リングがパケットが凍結されたら、セ
ルはそれが最初に凍結したものから各パケットを凍結解
除し、全ての凍結したパケットを凍結解除する。リング
凍結シーケンスを開始する条件が凍結解除期間に検出さ
れたら、リング凍結シーケンスが直ちに開始される。R
RCはそれが前に凍結したパケットであって再凍結され
ているパケットを記憶しなければならない。第16図は
完全リング凍結(フルリングフリーズ)を示す。薄く陰
を付けた領域は凍結とマークしてないパケットスロット
を示し、一方濃く陰を付けた領域は凍結とマークしたス
ロットを示す。
[0530] Ring freezing (freezing) Frozen (full rie's) bit is used by the cell to freeze all packets on the ring relative to the rotation of one. Ring freeze means that every packet on the ring is in a state where no member on the ring can change or copy the information in the packet. The cell freezes the ring by systematically asserting the freeze bit in all packets passing through it until all packets on the ring are frozen. During the freezing time, each cell is free to perform any operation without the need to process ring packets. Once each ring freezes a packet, the cell unfreezes each packet from the one that it first frozen, and unfreezes all frozen packets. The ring freezing sequence is started immediately if the condition to start the ring freezing sequence is detected during the defreeze period. R
The RC must remember the packet that was previously frozen and re-frozen. FIG. 16 shows a complete ring freeze (full ring freeze). Lightly shaded areas indicate packet slots that are not marked as frozen, while darkly shaded areas indicate slots that are marked as frozen.

【0531】リングを凍結せんとする複数のセルを処理
するために、各セルはどリングを凍結しようとする一
つのセルのみがあるかのように挙動する。しかし、セル
はそれが凍結と表示したパケットのみを凍結解除しなけ
ればならない。従って、各セルはそれが凍結とマークし
たパケットを常に記憶していなければならない。セルは
それが凍結とマークした第1及び最後のパケットを知る
ことによりマークしたパケットを常に記憶する。この単
純化が可能なのは、凍結機構が任意のセル凍結シーケン
スがパケットの一つの隣接したストリングを凍結するこ
とを保証するからである。従って、シフトレジスタによ
らないでカウンタを使用して初めと最後の凍結パケット
を維持することが出来る。
[0531] To process a plurality of cells to freeze cents ring, behaves as if each cell has only one cell to be frozen etc. ring. However, the cell must only unfreeze the packets it has marked as frozen. Therefore, each cell must always store the packets it marks as frozen. The cell always stores the marked packet by knowing the first and last packet it marked as frozen. This simplification is possible because the freeze mechanism ensures that any cell freeze sequence freezes one adjacent string of packets. Therefore, it is possible to maintain the first and last frozen packets using the counter without following the shift register.

【0532】リング凍結は2つの方法、すなわち、フル
リング凍結及びフル−1リング凍結で開始出来る。cm
dFreezeがパケット命令の最初の部分にあるか
ら、リング凍結に導く状況はパケット処理の初期に知ら
れなければならない。全リング凍結はフリーズビットが
凍結すべき第1のパケットに対して使用される時であ
る。リング凍結に必要な状況がパケット処理の充分初期
に入手出来なければ、フル−1リング凍結法が使用出来
る。
Ring freezing can be initiated in two ways: full ring freezing and full-1 ring freezing. cm
Since dFreeze is in the first part of the packet command, the situation leading to ring freeze must be known early in packet processing. Full ring freeze is when the freeze bit is used for the first packet to be frozen. If the conditions needed for ring freezing are not available early enough for packet processing, the Full-1 ring freezing method can be used.

【0533】フル−1リング凍結法は凍結すべき最初の
パケットを凍結しない。その代わりにパケットビジービ
ットつまり、RspBsy及びInvBsy(便利には
パケットに遅く位置付けられる)、及びSpState
及びPendlサブページ状態フィールドが、標準プロ
トコールに正しいこと(Fz:SingleEccEr
r状態)をさせるために使用される。残りのパケットは
フルリング凍結と同様にして凍結及び未凍結と表示され
る。最初のパケットは抽出バッファフル(Extrac
tBufferFull)の項で、抽出バッファへ抽出
又はコピー出来ないパケットに関して説明したと同じ方
法で処理される。
The Full-1 Ring Freeze method does not freeze the first packet to be frozen. Instead, the packet busy bits, namely RspBsy and InvBsy (conveniently placed late in the packet), and SpState.
And the Pendl subpage status field is correct for standard protocols (Fz: SingleEccEr
r state). The remaining packets are labeled frozen and unfrozen, similar to full ring freezing. The first packet is the extraction buffer full (Extrac
In the section of tBufferFull), it is processed in the same way as described for packets that cannot be extracted or copied to the extraction buffer.

【0534】更新(リフレッシュ) 更新はRiuMasterConfig.Rfresh
Enableにより可能にされる時に、独立に更新する
各RRCによって分散的に成される。各8m秒毎に51
2回の更新がされなければならない。更新の間隔は1
5.6秒であり、RiuRefreshIntervc
alによりリングクロック内で指示される。
Update (Refresh) Update is performed by RiuMasterConfig. Rfresh
It is distributed by each independently updating RRC when enabled by Enable. 51 every 8 ms
It has to be updated twice. Update interval is 1
5.6 seconds, and RiuRefreshIntervc
Instructed in the ring clock by al.

【0535】1更新は1パケット処理時間を必要とす
る。従って、更新は空白期間又は凍結したパケットに対
して行なわれ得る。なぜならこれらのパケットは処理を
要求しないからである。RRCは全ての更新時に空白、
凍結、又は不可視のパケットの全てを使用して更新を行
なおうとする。RRCは、各更新に対してRiuRef
reshiCount.NumRefを増やすことによ
り31までの更新数を記憶する。各更新期間の終に、N
umRefが1だけ減じられる。NumRefが0なら
ば、更新は直ちにフルリング凍結法を使用してRRCに
より強制される(NumRefは第1の凍結されたパケ
ットに対しては増加されない)全てのRRCはリング内
のフォーマットされたパケットの数に等しい数の更新を
記憶出来る。フルリング凍結更新法は、リングが長期に
亙りフルに利用された場合にのみ必要になる。更新間隔
は0.94μ秒(15.6*31/512)ないし1
4.7μ秒に調整されて31更新までの節約の効果を出
す。
One update requires one packet processing time. Therefore, the update can be done for blank periods or frozen packets. This is because these packets do not require any processing. RRC is blank on every update,
Attempts to update using all frozen or invisible packets. RRC uses RiuRef for each update
reshCount. The number of updates up to 31 is stored by increasing NumRef. N at the end of each renewal period
umRef is reduced by 1. If NumRef is 0, the update is immediately forced by the RRC using the full ring freeze method (NumRef is not incremented for the first frozen packet) All RRCs are formatted packets in the ring Can store a number of updates equal to the number of. The full ring freeze renewal method is only required if the ring has been fully utilized for a long period of time. Update interval is 0.94 μsec (15.6 * 31/512) to 1
It has been adjusted to 4.7 μs to give the effect of saving up to 31 updates.

【0536】ECC補正可能エラー(correctable erro
r) RRCが補正可能なECCエラーを検出すると、追加の
パケット時間がデータ構造の補正に必要となる。リング
凍結は補正及び再ルッリアップのための複数のパケット
時間を可能にするために使用される。
ECC correctable error (correctable erro
r) When the RRC detects a correctable ECC error, additional packet time is needed to correct the data structure. Ring freeze is used to allow multiple packet times for correction and re-rulyup.

【0537】補正EECエラーが検出されると、RRC
はフル−1リング凍結法を開始する。これはECCエラ
ーがパケット処理の初期に知られていないからである。
第1パケットは抽出バッファフルの項で述べたようにし
て処理され、残りのパケットは1回転に対して凍結とマ
ークされる。補正されたデータ構造は再書き込みされ、
RDU内にセーブされ、次いでリングの1回転の後にE
CCエラーを起こすパケットを再処理する。RRC由来
のパケットのみ処理され、他のパケットはリング内の他
のセルにより抽出される。補正パケットをセーブする
と、RRC由来のパケットは単一ビット(補正可能)ハ
ードエラーに対して正しく処理される。
When a corrected EEC error is detected, RRC
Starts the full-1 ring freezing method. This is because ECC errors are not known early in packet processing.
The first packet is processed as described in the Extract Buffer Full section, and the remaining packets are marked frozen for one revolution. The corrected data structure is rewritten,
Saved in RDU, then E after one revolution of the ring
Reprocess packets that cause CC errors. Only packets originating from RRC are processed, other packets are extracted by other cells in the ring. Saving the correction packet ensures that RRC-derived packets are correctly processed for single-bit (correctable) hard errors.

【0538】RRCはpkt.RrcFaultを補正
可能ECCエラーに対応したパケット内にセットする。
RRCパケットは又、補正不能ECCエラーが検出され
た時にpkt.UnmarkedFaultをRRC由
来パケット上に主張する。
RRC is pkt. RrcFault is set in the packet corresponding to the correctable ECC error.
The RRC packet also contains the pkt.txt when an uncorrectable ECC error is detected. Claim UnmarkedFault on RRC-derived packets.

【0539】リクエストを出しているプロセッサセルは
次のようにしてRrcFaultビットを解釈する。R
rcFaultビットはRRCフォールトが検出されR
RCにより記憶されることを指示する。もしも残りのフ
ォールトビット(MarkedFault,Local
Fault,DescFault,及びUnmarke
dFault)がクリアならば、パケットリクエストは
上首尾に終る。もしも戻りパケットがビジーなら、出発
セルはRrcAtt状況でフォールトを送り、リクエス
トは再び試みるべきではない。他のCIU及びCCUが
通常このパケットを処理する。もしも追加のフォールト
ビットがセットされたら、これらのビットにより指示さ
れる作用はRrcFaultビットの作用を無視する。
The requesting processor cell interprets the RrcFault bit as follows. R
rcFault bit is R when an RRC fault is detected
Indicates to be stored by RC. If the remaining fault bits (MarkedFault, Local)
Fault, DescFault, and Unmarke
If dFault) is clear, then the packet request ends successfully. If the return packet is busy, the originating cell sends a fault in RrcAtt status and the request should not try again. Other CIUs and CCUs usually handle this packet. If the additional fault bits are set, the actions indicated by these bits ignore the actions of the RrcFault bit.

【0540】RDU:0 規則 前に定義したRDU:0サブページ及びページ規則はこ
この規則で参照される。
RDU: 0 Rule The RDU: 0 subpage and page rules defined previously are referenced in this rule.

【0541】[0541]

【表36】 [Table 36]

【0542】[0542]

【表37】 [Table 37]

【0543】RDU:1規則 前に定義したRDU:0サブページ及びページ規則はこ
この規則で参照される。
RDU: 1 Rule The RDU: 0 subpage and page rules defined earlier are referenced in this rule.

【0544】[0544]

【表38】 [Table 38]

【0545】[0545]

【表39】 [Table 39]

【0546】[0546]

【表40】 [Table 40]

【0547】リング:0 規則仮定 リング:N動作のためには、パケット明細、リング明
細、CCU規則、及びCIU規則に対して次の変更が必
要である。
Ring: 0 Rule Assumption Ring: N The following changes are needed for packet detail, ring detail, CCU rule, and CIU rule for operation.

【0548】セルディスクリプタ割付け解除 セルディスクリプタ割付けは変更した。書込み(ライト)ディスクリプタ RCCは書込みディスクリプタ動作を行なうのに2つの
動作が必要である。RRCは旧SVAのディスクリプタ
の割付けを解除し、同じディスクリプタを新アドレスに
割付ける。これらの2つの動作は、パケットアドレスフ
ィールドの割付け解除アドレスと、パケットデータワー
ド0における割付けアドレスに対して2つのパケット時
間を必要とする。チェンジディスクリプタの項に説明し
た新しいシーケンスは書込みディスクリプタ(mpd
w)に対して必要な2つのRRC動作が如何にして2つ
の別個の命令及びCCUリクエストに分割されるかを記
述する。
Canceling Cell Descriptor Allocation Cell descriptor allocation has been changed. The write descriptor RCC requires two operations to perform the write descriptor operation. The RRC deallocates the descriptor of the old SVA and allocates the same descriptor to the new address. These two operations require two packet times for the deallocation address in the packet address field and the deallocation address in packet data word 0. The new sequence described in the Change Descriptor section is the write descriptor (mpd
w) describes how the two required RRC operations are split into two separate instructions and CCU requests.

【0549】CiuUpdateState CiuUpdateStateは、その唯一の使用がc
iu.pending状態を無効に変更するためである
と仮定すれば、リングに送る必要がない。
CiuUpdateState CiuUpdateState has its only use c
iu. Assuming it is to change the pending state to disabled, there is no need to send it to the ring.

【0550】パケット動作 3つのRRC関連動作、つまり、RrcDeallocDesc,RrcWr
Desc及びCiuPureInvSumAllocが追加された。page
^fault動作は、Rrc動作には必要がないので削
除された。次の表は改定した符合化を示す。
Packet operation Three RRC related operations, that is, RrcDeallocDesc, RrcWr
Added Desc and CiuPureInvSumAlloc. page
The ^ fault operation has been deleted because it is not needed for the Rrc operation. The following table shows the revised encoding.

【0551】[0551]

【表41】 [Table 41]

【0552】インバリデータ及びレスポンダービジー 各パケット動作の関数たるインバリデータビジー、レス
ポンダのビジーの定義は次の表に記載される。ある動作
に関しては、これらのビットは又セル又はリング:0が
割付けられたページを有する(ディスクリプタのマッ
チ)ことを表示するためにセットされる。この情報はR
RC:0により使用されて、ページがセル割付け解除シ
ーケンスの間にリング:0内でどれかの追加のセル内に
割付けられるかどうかを指示する。
Invalidator and Responder Busy The definitions of the invalidator busy and the responder busy, which are functions of each packet operation, are described in the following table. For certain operations, these bits are also set to indicate that cell or ring: 0 has a page allocated (descriptor match). This information is R
Used by RC: 0 to indicate whether the page is to be allocated in any additional cells in Ring: 0 during the cell deallocation sequence.

【0553】[0553]

【表42】 [Table 42]

【0554】[0554]

【表43】 [Table 43]

【0555】パケットサブページ状態フィールド 次の表はパケット動作の関数としての有効な(vali
d)サブページを挙げている。
Packet Subpage State Fields The following table shows the valid (vali as a function of packet behavior.
d) Lists subpages.

【0556】[0556]

【表44】 [Table 44]

【0557】リング凍結 リング凍結はEEC単一ビットエラーとフォアグラウン
ド更新を処理するために使用される。パケットpcop
CIU、RIU、RRCの使用のためのpcopビット
としてpkt.cmd[33]を割り当てる。常にCI
Uを挿入することにより初期化される。pcopyセッ
トでリング:1からコピーされるパケットはRRC:1
又はリング:1に戻す必要がなく、リング:0を首尾よ
く通過した時にRRC:0により空けられる。
Ring Freeze Ring Freeze is used to handle EEC single bit errors and foreground updates. Packet pcop
y pkt. as pcop bits for use of CIU, RIU, RRC. Assign cmd [33]. Always CI
Initialized by inserting U. Packets copied from Ring: 1 in the pcopy set are RRC: 1
Or it does not need to be returned to Ring: 1 and is cleared by RRC: 0 when successfully passing Ring: 0.

【0558】パケット凍結 CIU、RIUの使用のために凍結ビットとしてpk
t.cmd[32]が割り当てられる。常にCIU又は
RIUを挿入することにより初期化される。セットされ
ると、パケットの内容は全てのセルにより無視される。
それをセットする同じセルによりクリアされなければな
らない。クリアされると、パケットは正常と解釈され
る。空の及び空でないパケットに対して有効である。
Packet freeze pk as freeze bit for use of CIU, RIU
t. cmd [32] is assigned. It is always initialized by inserting a CIU or RIU. If set, the packet contents are ignored by all cells.
It must be cleared by the same cell that sets it. If cleared, the packet is interpreted as normal. Valid for empty and non-empty packets.

【0559】パケットインバリデート(無効) ルックアヘッド paket.cmd[13]を保留に変える。次のコー
ド化によりpaket.cmd[28]をcmd-lookahea
d[0]と名付ける。 paket.cmd[28] 記述 0 NoLookahead 1 Lookahead Pkt.Lookaheadは常にデータを無視してパ
ケットが短いと表示する。
Packet invalidate (invalid) look ahead packet . Change cmd [13] to hold. The following encoding resulted in packet. cmd-lookahea cmd [28]
Name it d [0]. packet. cmd [28] Description 0 NoLookahead 1 Lookahead Pkt. Lookahead always ignores the data and indicates that the packet is short.

【0560】パケットRRCビット RRCビットとしてpaket.cmd[8]を割り当
てる。常にCCU及びCIUにより初期化され又通過さ
せられる。sva-read-roにより使用され、再結合し、釈
放して、もしもリング:0内のセルがサブページを取り
出さなければ、パケットが再発行されるべきであること
を指示する。
Packet RRC bit packet . Assign cmd [8]. Always initialized and passed by CCU and CIU. Used by sva-read-ro to rejoin, release, and indicate that the packet should be reissued if the cell in ring: 0 does not fetch the subpage.

【0561】パケットRrcFaultビット RrcFaultビットはRRCにより変更されてい
る。RrcFaultビットはRRCフォールトが検出
され、RRCにより記憶されたことを指示する。もしも
残りのフォールトビット(MarkedFault,LocalFault,Des
cFault及びUnmarkedFault)がクリアなら、パケットリ
クエストは上首尾に終了した。もしも戻ってくるリクエ
ストがビジーなら出発セルはRrcAtt状況でフォー
ルトを通報し、リクエストは入れさせない。もしも追加
のフォールトビットがセットされたら、これらのビット
で指示される動作はRrcFaultビットの作用を無
視する。
Packet RrcFault Bit The RrcFault bit has been modified by RRC. The RrcFault bit indicates that an RRC fault has been detected and stored by the RRC. If the remaining fault bits (MarkedFault, LocalFault, Des
If cFault and UnmarkedFault) are clear, the packet request was successfully completed. If the returning request is busy, the departure cell reports a fault in the RrcAtt situation and does not allow the request to enter. If additional fault bits are set, the actions indicated by these bits ignore the effect of the RrcFault bit.

【0562】パケットRrcCmd RRC及びRICの使用のためpkt.cmd[23:
16]の名称をRmcCmdに変える。RrcCmdは
割付け解除シーケンスのためにRRC:0とRRC:1
の間で状態を送るために使用される。
Packet RrcCmd For the use of RRC and RIC pkt. cmd [23:
16] is changed to RmcCmd. RrcCmd uses RRC: 0 and RRC: 1 for the deallocation sequence.
Used to send status between.

【0563】[0563]

【表45】 [Table 45]

【0564】CEUの失敗した(aborted)リク
エストのセル処理 CEUが失敗したCCUリクエストに対応する、ビジー
として戻されたパケットはCCUにより再発行されるべ
きでない。システムエラー状態はローカルキャッシュに
通報され、ローカルキャッシュはハングアップないで
ローカルプロセッサに通報し、失敗したリクエストがロ
ーカルプロセッサとローカルキャッシュにより処理され
ることが保証される。
CEU aborted request
Packets returned as busy corresponding to a CCU request where the est cell handling CEU has failed should not be reissued by the CCU. System error conditions are reported to the local cache, which does not hang up, but reports to the local processor, ensuring that failed requests are serviced by the local processor and the local cache.

【0565】制御箇所 SPAスペースアドレスは64ビットであり、セルアド
レスとセルアドレスオフセットに2分割される。セルア
ドレスは特にリングの階層中の特定のセルを特定する。
又セルアドレスオフセットはセル内の特定の箇所を特定
する。
The control location SPA space address is 64 bits and is divided into two parts, a cell address and a cell address offset. The cell address specifically identifies a particular cell in the hierarchy of the ring.
The cell address offset also identifies a particular location within the cell.

【0566】セルアドレス構造 セルアドレスはリング相互結合階層の3つの水準、リン
グ:2、リング:1及びリング:0の内部のセルの位置
を特定する。リーフセルアドレスハリング:2アドレ
ス、リング:1アドレスリング:0アドレスから階層的
に構成される。3つのリング:nアドレスフィールドは
リーフ又は非リーフセルへの絶対的又は相対的なアドレ
スを構成するために使用される。
Cell Address Structure The cell address specifies the location of cells within the three levels of the ring interconnection hierarchy, Ring: 2, Ring: 1 and Ring: 0. Leaf cell address Haring: 2 addresses, ring: 1 address Ring: 0 address is hierarchically configured. The three ring: n address fields are used to construct absolute or relative addresses to leaf or non-leaf cells.

【0567】次表を参照すると、3つのタイプのリン
グ:nアドレス、ノーマルアドレス、ローカルアドレ
ス、及びルーティングアドレスが示されている。ノーマ
ルアドレスはリング階層のレベル内の128セルの一つ
対する絶対的な基準である。ccccccフィールド
が絶対セル数を特定する。ローカルアドレスはリング階
層のレベルn−1の内部の相対基準である。ルーティン
グインアドレスは階層内の非リーフセルをアドレスする
ために使用される。ルーティングアドレス内のrrrr
rrフィールドはリング数又は非リーフセルに接近する
ためのリング:n+1へのルートを特定する。ローカル
アドレス及びルーティングのコード化は同義である。 リング:nアドレス 記述 0ccccccc ノーマルアドレス 1xxxxxxx ローカルアドレス 1xrrrrrr ルーティングリング:n+1
Referring to the following table, three types of rings are shown: n address, normal address, local address, and routing address. Normal address is an absolute reference against the one <br/> 128 cells within the level of ring hierarchy. The cccccc field specifies the absolute cell number. The local address is a relative reference inside level n-1 of the ring hierarchy. Routing-in addresses are used to address non-leaf cells in the hierarchy. Rrrr in routing address
The rr field specifies the number of rings or the route to ring: n + 1 to approach a non-leaf cell. Local address and routing coding are synonymous. Ring: n Address description 0cccccccc Normal address 1xxxxxxxxxx Local address 1xrrrrrrrr Routing ring: n + 1

【0568】セルアドレスモードはリーフセルアドレス
と、非リーフ(RRC)セルアドレスモードに分類され
る。セルアドレスモードはセルアドレス内のアドレスの
型の組合わせで決まる。
Cell address modes are classified into leaf cell addresses and non-leaf (RRC) cell address modes. The cell address mode is determined by a combination of address types within the cell address.

【0569】ーフセルの相対モードはセルが実際の全
セルアドレスを知らなくてもみずからをアドレスするこ
とを可能にする。リング:2アドレス、リング:1アド
レス及びリング:0アドレスはローカルアドレスを特定
する。ローカルリング:0にモードに相対的なリーフセ
ルは、リング:1アドレス及びリング:2アドレスの知
識がなくても、セルがそのローカルリング:0内の他の
セルをアドレスすることを可能にする。リング:0アド
レスフィールドはアドレスされたリーフセルを特定す
る。ローカルリング:1に相対的なリーフセルは、実際
のリング:2アドレスの知識なしにセルがそのローカル
リング:1内にある他のセルをアドレスすることを可能
にする。リング:1アドレスはローカルリング:2内の
リング:0の数を特定する。リング:0アドレスはリン
グ:0内のセル数を特定する。リング:2モード内のシ
ステム内の特定リーフセルがフル(全)セルアドレスで
アクセスされることを可能にする。リング:2アドレ
ス、リング:1アドレス、及びリング:0アドレスはフ
ィールドは階層的にリング:1、リング:0及びアクセ
スされるリーフセルの数を特定する。
[0569] The relative mode of Li Fuseru makes it possible to address their own without knowing the whole cell address cell is actual. Ring: 2 address, ring: 1 address and ring: 0 address specify local addresses. The leaf cells relative to the local ring: 0 mode allow the cell to address other cells within its local ring: 0 without knowledge of the ring: 1 and ring: 2 addresses. The Ring: 0 Address field identifies the leaf cell that was addressed. A leaf cell relative to a local ring: 1 allows the cell to address other cells within that local ring: 1 without knowledge of the actual ring: 2 address. Ring: 1 address specifies the number of rings: 0 in local ring: 2. The ring: 0 address specifies the number of cells in ring: 0. Ring: Allows a particular leaf cell within the system in bi-mode to be accessed with a full cell address. The Ring: 2 Address, Ring: 1 Address, and Ring: 0 Address fields hierarchically specify Ring: 1, Ring: 0, and the number of leaf cells accessed.

【0570】ローカルリング:1モードに対して相対的
なRRC:1(非リーフ)対は、非ローカルRRC:1
対がリング2アドレスの知識なしにアドレスされること
を可能にする。リング:2アドレスの型はローカルであ
り、リング:1のアドレスの型はノーマルであってリン
グ:1内の非リーフセルを特定し、又リング:0アドレ
スの型はルーティングであってルーティングを特定す
る。RRC:0インターリーブ構成(configur
ation)及びリング:0アドレスフィールドはパケ
ットを特定されたリング:1に送るために使用される。
RRC:1対モードは、RRC:1対がリング:2アド
レス及びリング:1アドレスを特定することによりアド
レスされることを可能にする。RRC:2対モードは、
RRC:2対がリング:2アドレス、リング:1アドレ
スのルーティング及びリング:0アドレスのルーティン
グを特定することによりアドレスされることを可能にす
る。次表で1、2、3はリングを示し、lはローカル、
nはノーマル、rはルーティングを示す。
Local Ring: RRC: 1 (non-leaf) pair relative to 1 mode is non-local RRC: 1
Allows pairs to be addressed without knowledge of Ring 2 addresses. Ring: 2 address type is local, ring: 1 address type is normal and identifies non-leaf cells in ring: 1, and ring: 0 address type is routing and identifies routing. . RRC: 0 interleaved configuration (configur
and ring: 0 address fields are used to send packets to the specified ring: 1.
The RRC: 1 pair mode allows the RRC: 1 pair to be addressed by identifying the Ring: 2 address and the Ring: 1 address. RRC: 2 pair mode,
Allows RRC: 2 pairs to be addressed by specifying Ring: 2 address, Ring: 1 address routing and Ring: 0 address routing. In the table below, 1, 2, and 3 indicate rings, l indicates local,
n indicates normal and r indicates routing.

【0571】[0571]

【表46】 SPA[39]はアドレスされたRRC又はその相手方
がアクセスされたかどうかを制御する。
[Table 46] SPA [39] controls whether the addressed RRC or its counterpart has been accessed.

【0572】相互結合パケットのルーティング(SV
A、SPA) SVAリクエストパケットはRRCディレクトリルック
アップ、パケットコマンド、pkt.RequstorID,CellAddre
ss,RRC規則、及びインターリーブ構成(configurat
ion)に基づいてルート設定される。SPAリクエスト
パケットはパケットコマンド、pkt.Addle[6
3:40]のマッチ、セルアドレス、pkt.Requ
storID,CellAddress及びインターリ
ーブ構成に基づいてルート設定される。もしもpkt.
RequstorID及びCellAddressがマ
ッチすると、パケットは戻り応答をし、リクエストして
いるリーフセルに戻される。その他の場合は、Requ
storID及びCellAddressがマッチする
と、パケットはCellAddressモードに依存し
て、非リーフ又はチャイルドリーフセルに対するリクエ
ストとなる。パケットRequestorIDマッチ及
びSPAアドレスでコードはRRCが結合されているリ
ングレベルの関数である。
Mutually coupled packet routing (SV
A, SPA) SVA request packet is RRC directory lookup, packet command, pkt.RequstorID, CellAddre
ss, RRC rules, and interleaved configuration (configurat
Ion). The SPA request packet is a packet command, pkt. Addle [6
3:40], cell address, pkt. Requ
StorID, are Routing based on CellAddres s及 beauty interleaved configuration. What if pkt.
If the RequesterID and the CellAddress match, the packet responds back and is returned to the requesting leaf cell. Otherwise, Requ
If the storeID and CellAddress match, the packet will be a request for a non-leaf or child leaf cell depending on the CellAddress mode. The code in the Packet RequesterID match and SPA address is a ring level function to which the RRC is bound.

【0573】[0573]

【表47】 [Table 47]

【0574】インターリーブ構成パラメータはRduMaste
rConfig.RingInterleave,RduMasterConfig.RingValue及
びIbuMasterConfig.LinkInterleaveである。
[0574] Interleave configuration parameter is RduMaste
rConfig.RingInterleave, RduMasterConfig.RingValue and IbuMasterConfig.LinkInterleave.

【0575】リーフセル及び非リーフセルへのSPAパ
ケットリクエストは同じルートを取る。SPAパケット
リクエストはセルアドレスのインターリーブマッチング
リング:nアドレスフィールド(nはルートを付けるR
RCのレベルに対応する)に基づいてRRCバンクによ
りルート付けされる。RingInterleave構
成はリング:nドレス[3:0]からのどのビットがマ
ッチしているかを決定する。非リーフセルのアクセスに
対しては、Ringアドレス[3:0]が正確な経路を
特定する。リーフセルのアクセスに対しては、リクエス
トしているリング:0及びアクセスされるリング:0の
正確な経路は必要でない。ルート付けはアドレスされる
セルに基づく。非リーフリング:2装置へのアクセス
は、セルアドレスの両リング:0及びリング:1フィー
ルドが特定されることを必要とする。
SPA packet requests to leaf cells and non-leaf cells take the same route. The SPA packet request is a cell address interleaved matching ring: n address field (n is the root R
(Corresponding to the level of RC) based on the RRC bank. The RingInterleave configuration determines which bits from the Ring: n dress [3: 0] match. For non-leaf cell access, the Ring address [3: 0] specifies the correct route. For leaf cell access, the exact path of requesting ring: 0 and accessed ring: 0 is not required. Routing is based on the cell being addressed. Access to a non-leaf ring: 2 device requires that both ring: 0 and ring: 1 fields of the cell address be specified.

【0576】[0576]

【表48】 [Table 48]

【0577】両RRCバンクが単一のInterRin
gLinkgに結合する構成では、入ってくるパケット
はIbuMasterConfig.LinkInterleaveと単一ビットアドレ
スに基づいて一つのバンクにルート付けされる。
Both RRC Banks Have Single InterRin
In the gLink bound configuration, the incoming packet is routed to a bank based on IbuMasterConfig.LinkInterleave and a single bit address.

【0578】[0578]

【表49】 [Table 49]

【0579】オフセット構造 SPAのオフセット部分はRRC対の中の特定の制御レ
ジスタを選択し、SPA[39]がアドレスされたRR
C又はその相手方がアクセスされたかどうかを特定す
る。 SPA[39] 記述 0 アドレスされたRRC 1 アドレスされたRRCの相手方 各ユニットにある時は、制御場所は種類及び場所のオフ
セットにより括られる。各種類に対する場所オフセット
の範囲はその各記述により特定される。
Offset Structure The offset portion of SPA selects a particular control register in the RRC pair, and SPA [39] is addressed to the RR.
Identify whether C or the other party has been accessed. SPA [39] Description 0 Addressed RRC 1 Addressed RRC counterpart When in each unit, control location is bounded by type and location offset. The range of location offsets for each type is specified by each description.

【0580】セルアドレス[38:32]−ユニット数 バンクA、BのユニットはサブリングA(奇数リング
数)及びB(偶数リング数)とそれぞれ関連している。
ユニットはセルアドレスリング:nアドレスフィールド
により特定されるものとしてユニットが関連付けられて
いるサブリングを介してアクセスされる時にのみアクセ
ス可能である。
Cell Address [38:32] -Number of Units Units in banks A and B are associated with subrings A (number of odd rings) and B (number of even rings) respectively.
Unit cell address Ring: is accessible only when the unit as specified by n address field is accessed through the associated et been in <br/> are subrings.

【表50】 [Table 50]

【0581】セルアドレス[31:28]−場所の種類 RDUをアドレスするユニット番号0x0及び0x2の
場所の種類は次の通りである。
Cell Address [31:28] -Place Type The place types for unit numbers 0x0 and 0x2 that address the RDU are as follows.

【0582】[0582]

【表51】 [Table 51]

【0583】RIUをアドレスするユニット番号0x1
0から0x13の場所の種類は次の通りである。
Unit number 0x1 to address RIU
The types of places from 0 to 0x13 are as follows.

【0584】[0584]

【表52】 [Table 52]

【0585】RBUをアドレスする0x1及び0x3に
対する場所の種類は次の通りである。
The location types for 0x1 and 0x3 addressing the RBU are as follows:

【0586】[0586]

【表53】 [Table 53]

【表54】 [Table 54]

【0587】RIUをアドレスするユニット番号0×1
0ないし0×13に対する場所の形式は次の通りであ
る。
Unit number 0x1 to address RIU
The location format for 0 to 0x13 is as follows:

【表55】 [Table 55]

【0588】IBUをアドレスするユニット番号0×1
及び0×3に対する場所の形式は次の通りである。
Unit number 0x1 to address IBU
And the location type for 0x3 is as follows.

【表56】 [Table 56]

【0589】ルート設定ディレクトリ 第9A図は、第9図に示される形式のルート設定ディレ
クトリを実施するために本発明に従って構成されたダイ
ナミックランダムアクセスメモリ(DRAM)のアレイ
を描いたものである。アレイは、それぞれL1テーブ
ル、L2テーブル及びL3テーブルとして働く3つのD
RAMを備える。DRAMは、従来設計より成り、各
々、行(row)アドレス入力、列(column)アド
レス入力、行アドレスストローブ(RAS)、列アドレ
スストローブ(CAS)データ入力及び出力を備える。
各DRAMは、RAS及びCASの表明と同時に、行ア
ドレス入力及び列アドレス入力上にアドレスが印加され
ることに応答して、その出力に、特定される行/列アド
レスに対応するエントリに記憶されるデータを表す信号
を供給するか、そのデータ入力に受診される信号をその
エントリに記憶する。
Routing Directory FIG. 9A depicts an array of dynamic random access memory (DRAM) configured in accordance with the present invention to implement a routing directory of the type shown in FIG. The array has three D's that serve as L1 table, L2 table and L3 table respectively.
It has a RAM. The DRAM has a conventional design, and has a row address input, a column address input, a row address strobe (RAS), and a column address strobe (CAS) data input and output, respectively.
Each DRAM is stored at its output in the entry corresponding to the specified row / column address in response to an address being applied on the row and column address inputs simultaneously with the assertion of RAS and CAS. A signal representing the data to be stored or the signal received at the data input is stored in that entry.

【0590】例示されるDRAMアレイにおいて、L1
テーブルDRAMは、行アドレス入力へのディスクリプ
タのセットフィールドの供給及び列アドレス入力へのイ
ンデックス1フィールドの供給により参照されるレベル
1エントリを含む。L2テーブルDRAMは、行アドレ
ス入力へのディスクリプタの連結されたセット及びイン
デックス2フィールドの供給及び列アドレス入力へのL
2エントリポインタ(L1テーブルにより出力される)
の供給によって参照される。L3テーブルDRAMは、
行アドレス入力へのディスクリプタの連結されたセッ
ト、インデックス3及びインデックスspフィールドの
供給及び列アドレス入力へのL3エントリポインタ(L
2テーブルにより出力される)の供給によって参照され
る。
In the illustrated DRAM array, L1
The table DRAM contains level 1 entries referenced by the supply of the descriptor's set field to the row address input and the supply of the index 1 field to the column address input. The L2 table DRAM provides a concatenated set of descriptors for row address inputs and an index 2 field supply and L for column address inputs.
2-entry pointer (output by L1 table)
Referenced by the supply of. L3 table DRAM is
Concatenated set of descriptors for row address inputs, supply of index 3 and index sp fields and L3 entry pointer (L
2 output by the table).

【0591】第9A図に示される態様で構成されたルー
ト設定ディレクトリは、固定時間周期でディスクリプタ
に関係する情報にアクセスしこれを更新し得る(割付
け及び割付け解除を含む)。而して、該時間周期は、テ
ーブル数(すなわち3つ)に依存して変わり、ディレク
トリの結合性の程度及びアクセスされつつあるディスク
リプタの値の両者に無関係である。
Routing directory configured in the manner shown in [0591] Figure 9A, (including allocation and deallocation) fixed to access information relating a time period in the descriptor may update it. Thus, the time period varies depending on the number of tables (ie three) and is independent of both the degree of directory connectivity and the value of the descriptor being accessed.

【0592】これは、ルート設定ディレクトリにより受
信される候補ディスクリプタ上に遂行される例示のルッ
クアップ操作と関連して理解されよう。例えば、時間間
隔#1において、ディスクリプタセットフィールドは、
表明されるRASとともにL1テーブルDRAMの行ア
ドレス入力に供給される。時間間隔#2において、その
ディスクリプタのインデックス部分が、表明されるCA
SとともにL1テーブルDRAMの列アドレス入力に供
給される。同じ時間間隔に(すなわち間隔#2に)、連
結されたディスクリプタセット及びインデックス2フィ
ールドが、表明されるRASとともに、L2テーブルD
RAMの行アドレス入力に供給される。
This will be understood in connection with the exemplary lookup operation performed on the candidate descriptor received by the routing directory. For example, in time interval # 1, the descriptor set field is
It is supplied to the row address input of the L1 table DRAM along with the asserted RAS. In time interval # 2, the index part of that descriptor is asserted CA
It is supplied to the column address input of the L1 table DRAM together with S. At the same time interval (ie, at interval # 2), the concatenated descriptor set and index 2 fields, along with the asserted RAS, are in the L2 table
It is supplied to the row address input of the RAM.

【0593】時間間隔#3において、L1テーブルDR
AMは、L2エントリポインタを出力するが、このL
(2)エントリポインタは、表明されるCASとともにL
2テーブルDRAMの列アドレス入力に供給される。同
時に、連結されたディスクリプタセット、インデックス
3及びインデックスspフィールドが、表明されるRA
SとともにL3テーブルDRAMの行アドレス入力に供
給される。
At time interval # 3, the L1 table DR
The AM outputs the L2 entry pointer.
(2) The entry pointer is L with the asserted CAS
It is supplied to the column address input of the two-table DRAM. At the same time, the concatenated descriptor set, index 3 and index sp fields are asserted RA
It is supplied to the row address input of the L3 table DRAM together with S.

【0594】時間間隔#4において、L2テーブルDR
AMはL3エントリポインタを出力するが、このエント
リポインタは、表明されるCASとともにL3テーブル
DRAMの列アドレス入力に供給される。ディスクリプ
タに関係する情報が、続いて、L3テーブルDRAMに
より、時間間隔#5において出力される。
At time interval # 4, the L2 table DR
The AM outputs the L3 entry pointer which is supplied to the column address input of the L3 table DRAM along with the asserted CAS. Information relating to descriptors is then output by the L3 table DRAM at time interval # 5.

【0595】例示のルート設定ディレクトリは、ルック
アッププロセス中、必要に応じて、更新情報をDRAM
のデータ入力に供給することによって、ディレクトリの
内容について迅速な固定間隔更新動作を同様に遂行し得
る。
The example root directory will update information as needed in the DRAM during the lookup process.
By providing a data input for the same, a rapid fixed interval update operation on the contents of the directory can be performed as well.

【0596】技術に精通したものであれば、上に記述さ
れた実施例が単なる例示に過ぎず、変更、追加及び省略
を含むその他の装置方法も本発明の技術思想内にあるこ
とが認められよう。例えば、例示の実施例のプロセッシ
ングセル内に含まれる中央プロセッシングユニット及び
サブキャッシュは、それらのセルに割付けされるデータ
に、又は該データと共に作用し得る他の回路で置き換え
ることが出来ることが認められよう。
Those skilled in the art will appreciate that the embodiments described above are merely exemplary and that other apparatus methods, including modifications, additions and omissions, are within the spirit of the invention. See. For example, it will be appreciated that the central processing units and sub-caches contained within the processing cells of the illustrated embodiment may be replaced with data allocated to those cells, or with other circuitry that may operate with the data. See.

【図面の簡単な説明】[Brief description of drawings]

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

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

【図2B】本発明に従って構成された好ましい多重処理
システムにおいてデータへアクセスしていないプロセッ
シングセルによる所有権要求と関連してのデータの移動
を示す線図である。
FIG. 2B is a diagrammatic representation of data movement in connection with ownership requests by processing cells 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 exemplary level: 0 segment of FIG.

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

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

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

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

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

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

【図9A】本発明に従って構成されたダイナミックラン
ダムアクセスメモリのアレイを示す線図である。
FIG. 9A is a diagram illustrating an array of dynamic random access memory constructed in accordance with the present invention.

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

【図11A】本発明に従って構成されたリングルート設
定セルのリング間バッファの好ましい構成を示す線図で
ある。
FIG. 11A is a diagram showing 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 showing a preferred placement of inter-link dealers in a ring routing cell constructed in accordance with the present invention.

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

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

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

【図14B】本発明に従って構成されたシステムにおけ
る好ましい無効化シーケンスを示す線図である。
FIG. 14B is a diagram showing a preferred invalidation sequence in a system constructed 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 showing full ring freezing in a system constructed in accordance with the present invention.

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

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

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

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

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

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

【符号の説明】[Explanation of symbols]

10 システム 12A〜12F,14A,14B,16 セグメント 18A〜18R セル 20A〜20F,24A,24B,26 バス 28A〜28F,30A、30B ルート設定セル 40A,40B,40C 中央プロセッシングユニット
(CPU) 48A,48B,48C バス 42A,42B,42C メモリ要素 50A,50B,50C アクセス要求要素 52A,52B,52C 制御要素 54A,54B、54C ストア 56A,56B,56C ディレクトリ要素
10 System 12A-12F, 14A, 14B, 16 Segment 18A-18R Cell 20A-20F, 24A, 24B, 26 Bus 28A-28F, 30A, 30B Routing cell 40A, 40B, 40C Central processing unit (CPU) 48A, 48B , 48C bus 42A, 42B, 42C memory element 50A, 50B, 50C access request element 52A, 52B, 52C control element 54A, 54B, 54C store 56A, 56B, 56C directory element

フロントページの続き (72)発明者 ポール・エイ・ビンダ 米国マサチューセッツ州ホリス、メンデ ルソン・ドライブ20 (56)参考文献 特開 平1−281555(JP,A) 特開 平4−230146(JP,A) D.Comer著、上田和紀訳,広く ゆきわたったB木,bit別冊1980年11 月号,日本,共立出版株式会社,1980年 11月15日,p.21−39 (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 - 15/177 G06F 12/00 - 12/00 549 G06F 12/08 - 12/12 H04L 12/00 - 12/66 G06F 12/00 550 - 12/06 G06F 13/16 - 13/18 Front Page Continuation (72) Inventor Paul A. Binda Mendelson Drive, Hollis, Massachusetts, USA 20 (56) References JP-A-1-281555 (JP, A) JP-A-4-230146 (JP, A) ) D. Commer, Kazue Ueda, Widely B-tree, bit extra volume, November 1980, Japan, Kyoritsu Shuppan Co., Ltd., November 15, 1980, p. 21-39 (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 15/16-15/177 G06F 12/00-12/00 549 G06F 12/08-12/12 H04L 12/00-12 / 66 G06F 12/00 550-12/06 G06F 13/16-13/18

Claims (27)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 マルチプロセッサコンピュータシステム
のためのルート設定ディレクトリであって、複数のディ
スクリプタがそれぞれのデータを各々参照し、前記各デ
ィスクリプタがセット識別子部分と複数の他の部分とを
含み、 A.候補ディスクリプタを受信するように構成された入
力と、 B.複数のエントリを各々有する一連のテーブルを含む
ディレクトリであって、前記一連のテーブルの最後のテ
ーブルの各エントリが前記1つ又は複数のデータに関係
する情報を記憶するように構成され、前記一連のテーブ
ルの前記最後のテーブル以外の他のテーブルの各エント
リが前記一連のテーブル内の次のテーブル内の少なくと
も1つのエントリに対するポインタを記憶するように構
成されて成る、ディレクトリと、 C.ディレクトリを構成する一連のテーブルを使用し
て、前記ディレクトリが前記候補ディスクリプタにより
参照される前記データに関係する情報を記憶しているか
否かを決定するように構成され、前記セット識別子部分
と前記複数の他の部分の対応するものとの両方を使用し
て各テーブルにアクセスするディレクトリルックアップ
要素と、 D.ディレクトリルックアップ要素からの決定を利用す
るように構成された利用要素とを備えるルート設定ディ
レクトリ。
1. A routing directory for a multiprocessor computer system, wherein a plurality of descriptors each reference respective data, each said descriptor including a set identifier portion and a plurality of other portions. An input configured to receive a candidate descriptor; B. A directory comprising a series of tables each having a plurality of entries, each entry of the last table of the series of tables being configured to store information related to the one or more data, A directory, wherein each entry in a table other than the last table in the table is configured to store a pointer to at least one entry in the next table in the series of tables; A set of tables that make up a directory is used to determine whether the directory stores information related to the data referenced by the candidate descriptor, the set identifier portion and the plurality of A directory lookup element that accesses each table using both the corresponding ones of the other parts of D. And a utilization directory configured to utilize the decisions from the directory lookup element.
【請求項2】 更新要素を更に含み、前記更新要素が前
記候補ディスクリプタにより参照される前記データに関
係する情報が前記ディレクトリに記憶されていないとの
決定に応答して、前記候補ディレクトリにより参照され
る前記データに関係づけられる情報を含むように前記テ
ーブルの少なくとも1つのエントリを更新する、請求項
1記載のルート設定ディレクトリ。
2. An update element is further referenced by said candidate directory in response to a determination that said update element does not store information related to said data referenced by said candidate descriptor in said directory. The routing directory of claim 1, wherein at least one entry in the table is updated to include information associated with the data.
【請求項3】 前記コンピュータシステムが2の正の累
乗個の連想度を有する連想メモリを含む、請求項1記載
のルート設定ディレクトリ。
3. The routing directory of claim 1, wherein the computer system includes an associative memory having a positive power of 2 associative degree.
【請求項4】 前記一連のテーブルには第rのテーブル
(rは1以上n以下の整数)を含み、前記一連のテーブ
ルの前記最後のテーブルが第nのテーブルであり、第j
(jは1以上(n−1)以下の整数のいずれか)の各テ
ーブルの複数のエントリがqビット(qは整数)から成
るポインタを記憶するように構成され、前記ポインタは
第(j+1)のテーブルの前記複数のエントリの少なく
とも1つを指し、前記第nのテーブルの複数の各エント
リが前記データの少なくとも1つに関係する情報を記憶
するように構成される、請求項1記載のルート設定ディ
レクトリ。
4. The r-th table in the series of tables
(R is an integer of 1 or more and n or less), and the series of tables
The last table is the nth table and the jth table
(J is any integer of 1 or more and (n-1) or less)
Entries of the table are configured to store a pointer of q bits (q is an integer), the pointer pointing to at least one of the plurality of entries of the (j + 1) th table, and the nth table. The routing directory of claim 1, wherein each of the plurality of entries is configured to store information related to at least one of the data.
【請求項5】 A.第1のテーブル(j=1)が、 i)前記候補ディスクリプタの前記セット識別子部分及
び前記複数の他の部分の第1の部分を含むアドレスを受
信するように構成されたアドレス入力と、 ii)ポインタを記憶するように構成された記憶要素
と、 iii)前記アドレス入力により受信される前記アドレ
スにより識別される前記記憶要素からポインタを出力す
るように構成された出力とを含むメモリ要素から成り、 B.j=2からj=(n−1)の整数のいずれかに対し
て、各第jのテーブルのメモリが、 i)ポインタ出力を受信するために第(j−1)のテー
ブルの出力に結合された列アドレス入力と、 ii)前記候補ディスクリプタの前記セット識別子部分
と前記候補ディスクリプタの前記複数の他の部分のう
第jの部分の値を表わす行アドレスを受信するための
行アドレス入力と、 iii)前記列アドレス入力により受信される前記ポイ
ンタと前記行アドレス入力により受信される前記行アド
レスにより識別される前記第jのテーブルの前記エント
リに記憶される値を提供するためのストアと、 iv)前記ストアにより提供される前記値を出力するた
めの出力とを含むメモリ要素を包含する、請求項4記載
のルート設定ディレクトリ。
5. A. A first table (j = 1) has: i) an address input configured to receive an address including the set identifier portion of the candidate descriptor and a first portion of the plurality of other portions; ii) A memory element comprising a storage element configured to store a pointer, and iii) an output configured to output a pointer from the storage element identified by the address received by the address input, B. For any integer from j = 2 to j = (n-1), the memory of each jth table is combined with i) the output of the (j-1) th table to receive the pointer output. Column address input, ii) the set identifier portion of the candidate descriptor
The Chi caries said plurality of other portions of the candidate descriptor and
A row address input for receiving a row address representing the value of each j-th part, and iii) the pointer identified by the column address input and the row address identified by the row address input 5. The memory element of claim 4, including a memory element including a store for providing a value stored in the entry of the jth table, and iv) an output for outputting the value provided by the store. Root configuration directory.
【請求項6】 A.前記ディレクトリルックアップ要素
が、前記第nのテーブルが前記候補ディスクリプタによ
り参照される前記データに関係する情報を記憶している
との決定に応答して、その情報にアクセスするためのア
クセス要素を含み、そして更に、 B.前記のアクセスされた情報を発生するための被アク
セス情報ジェネレータ要素を備える、請求項4又は
いずれかに記載のルート設定ディレクトリ。
6. A. The directory lookup element includes an access element for accessing the information in response to determining that the nth table stores information related to the data referenced by the candidate descriptor. , And further, B. 6. The routing directory according to claim 4 or 5 , comprising a accessed information generator element for generating said accessed information.
【請求項7】 前記第nのテーブルの少なくとも1つの
エントリがもしあれば、該エントリは1又は複数のデー
タに関連する情報を示すサブデータを記憶するためのサ
ブデータストアを含むものであり、前記1又は複数のデ
ータは前記セット識別子の値と前記複数の他の部分のう
ち第1の部分から第nの部分までの全ての値が共通であ
るディスクリプタに対応するものであり、 前記サブデータが i)前記セット識別子の値、 ii)前記第nのテーブルの該サブデータを含むエント
リに対応する前記第(n−1)のテーブルのエントリに
記憶されたポインタの値、 iii)前記第nのテーブルの該サブデータを含むエン
トリが関連するディスクリプタの前記複数の他の部分の
うち第nの部分の値、及び iv)もしあれば、該サブデータが関連するディスクリ
プタの前記複数の他の部分のうち第(n+1)の部分の
値の関数としてアクセスされるものである、請求項4又
は5のいずれかに記載のルート設定ディレクトリ。
If 7. At least one entry in the table of the n-th If the entry is service for storing sub-data indicating information relating to one or more data
A data store , and the one or more data is a descriptor in which the value of the set identifier and all the values from the first part to the n-th part of the other parts are common. Corresponding to the sub-data, i) the value of the set identifier, ii) stored in the entry of the (n-1) th table corresponding to the entry containing the sub-data of the nth table. pointer value, iii) the value of the portion of the first n among the plurality of other portions of a descriptor entry associated including the sub data of the n-th table, and iv), if any, said sub-data is associated among the plurality of other portions of the descriptor which is intended to be accessed as a function of the value of the portion of the (n + 1), Routing di according to claim 4 or 5 Directory.
【請求項8】 前記ディレクトリルックアップ要素が、
前記第jのテーブル(jは1以上n以下である少なくと
も1つの整数)が前記候補ディスクリプタの前記複数の
他の部分のうち第jの部分及びセット識別子部分と関連
するエントリを含むか否かを決定するためのエントリ決
定要素を含む、請求項4又はのいずれかに記載のルー
ト設定ディレクトリ。
8. The directory lookup element comprises:
The j-th table (j is at least one integer greater than or equal to 1 and less than or equal to n) is assigned to the plurality of candidate descriptors
The routing directory according to claim 4 or 5 , including an entry determining element for determining whether to include an entry associated with the j-th portion and the set identifier portion of the other portions .
【請求項9】 前記ディレクトリルックアップ要素が、
第kのテーブル(kは1以上(n−1)以下である1つ
の整数)が前記候補ディスクリプタのセット識別子部分
及び前記複数の他の部分のうち第kの部分と関連するエ
ントリを含むとの決定に応答して、そのエントリに記憶
されるポインタを発生するためのポインタジェネレータ
を含む、請求項記載のルート設定ディレクトリ。
9. The directory lookup element comprises:
The kth table (k is one integer that is greater than or equal to 1 and less than or equal to (n-1)) includes an entry associated with the kth portion of the set identifier portion of the candidate descriptor and the plurality of other portions . 9. The routing directory of claim 8 including a pointer generator for generating a pointer stored in that entry in response to the determination.
【請求項10】 前記ディレクトリルックアップ要素
が、第kのテーブル(kは1以上(n−1)以下である
少なくとも1つの整数)が前記候補ディスクリプタのセ
ット識別子部分及び前記複数の他の部分のうち第kの部
分と関連するエントリを含まないとの決定に応答して、
かかる決定を指示するレベルkミス指示を発生するため
のミス指示ジェネレータを含む、請求項記載のルート
設定ディレクトリ。
10. The directory lookup element is configured such that a k-th table (k is at least one integer greater than or equal to 1 and less than or equal to (n-1)) represents a set identifier portion of the candidate descriptor and the other portions. In response to the decision not to include an entry associated with the k-th part,
9. The routing directory of claim 8 including a miss indication generator for generating a level k miss indication indicating such a decision.
【請求項11】 前記ディレクトリが、前記レベルkミ
ス指示に応答して、前記候補ディスクリプタに関係する
情報を含むように前記一連のテーブルの少なくとも1つ
のエントリを更新するための更新要素を含む、請求項1
記載のルート設定ディレクトリ。
11. The directory includes an update element for updating at least one entry of the series of tables to include information related to the candidate descriptor in response to the level-k miss indication. Item 1
The root setting directory described in 0 .
【請求項12】 A.記憶スペースを含むフリーリスト
を備え、 B.前記更新要素が、前記レベルkミス指示に応答し
て、前記第kのテーブル(kは2以上n以下である少な
くとも1つの整数)に対する1又は複数のエントリに対
して前記フリーリストに記憶スペースを割り当てるため
の割当て要素を含み、 C.前記更新要素が更に、その割り当てられた記憶スペ
ースに対するポインタを発生し、且つそのポインタを前
記第(k−1)のテーブルの対応するエントリに記憶す
るためのポインタ発生及び記憶要素を含む、請求項1
記載のルート設定ディレクトリ。
12. A. With a free list including storage space, B. The update element is responsive to the level k miss indication to allocate storage space in the free list for one or more entries for the kth table (k is at least one integer between 2 and n). An allocation element for allocating, C. The update element further comprises a pointer generation and storage element for generating a pointer to the allocated storage space and storing the pointer in a corresponding entry of the (k-1) th table. 1 1
The listed root directory.
【請求項13】 割当て解除指示に選択的に応答して、
前記第kのテーブル(kは2以上n以下である少なくと
も1つの整数)のエントリを割当て解除するための割当
て解除要素を含む、請求項1記載のルート設定ディレ
クトリ。
13. Responsive to the deallocation instruction selectively,
Wherein the k (where k is 2 or more and n or less at least one integer) of the table containing the deallocation elements to deallocate entries in claim 1 2 Routing Directory description.
【請求項14】 n=3である、請求項4又はのいず
れかに記載のルート設定ディレクトリ。
14. is a n = 3, Routing directory according to any one of claims 4 or 5.
【請求項15】 前記各ディスクリプタが、セット識別
子部分と前記複数の他の部分とを含み、前記複数の他の
部分が、第1の部分であるINDEX1部分、第2の部
分であるINDEX2部分、及び第3の部分であるIN
DEX3部分を含み、前記各部分が値を表わす情報であ
り、前記一連のテーブルが、 A.少なくとも1つのL2エントリに対するポインタを
各々記憶するための複数のL1エントリであって、前記
各L1エントリがセット識別子部分の値及びINDE
X1部分の値が共通であ1又は複数の前記ディスクリ
プタと関連づけられ、且つそれらのセット識別子部分及
びINDEX1部分の値の関数としてアクセス出来るよ
うに構成されている複数のL1エントリを含むL1テー
ブルと、 B.少なくとも1つのL3エントリに対するポインタを
各々記憶するための複数のL2エントリであって、前記
各L2エントリがセット識別子部分の値、INDEX1
部分の値、及びINDEX2部分の値が共通であ1又
は複数の前記ディスクリプタと関連づけられ、且つ次の
関数として、すなわち、 i)該L2エントリに対応するL1エントリのポイン
タ、 ii)L2エントリが関連する前記セット識別子部分及
び前記INDEX2部分の値の関数としてアクセス出来
るように配置されている複数のL2エントリを含むL2
テーブルと、 C.各L3エントリが、セット識別子部分の値、IND
EX1部分の値、INDEX2部分の値、及びINDE
X3部分の値が共通であ1又は複数の前記ディスクリ
プタにより参照されるデータに関係する情報を記憶する
である複数のL3エントリであって、前記各L3エ
ントリが次の関数として、すなわち、 i)該L3エントリに対応するL2エントリのポイン
タ、及び ii)L3エントリが関連する前記セット識別子部分及
び前記INDEX3部分の値の関数としてアクセス出来
るように構成されている複数のL3エントリを含むL3
テーブルから成る、請求項1記載のルート設定ディレ
クトリ。
15. Each of the descriptors includes a set identifier part and a plurality of other parts, and the plurality of other parts are a first part, an INDEX1 part and a second part.
Minute, INDEX2 part, and third part, IN
The DEX3 part is included, and each part is information representing a value. A plurality of L1 entries for respectively storing pointers to at least one L2 entry, each L1 entry being a value of a set identifier part and an INDE.
The value of X1 moiety associated with one or more of the descriptors Ru common der related, and includes a plurality of L1 entries that are configured to be accessed as a function of their set identifier portion and INDEX1 part of the value L1 A table, and B. A plurality of L2 entries for respectively storing pointers to at least one L3 entry, each L2 entry being a value of a set identifier portion , INDEX1
Part of the value, and INDEX2 portion value Ru common der 1 also
It is associated with a plurality of the descriptor, and the following functions, namely, i) of the L1 entry corresponding to the L2 entry pointer, ii) L2 entry of the value of the set identifier portion and said INDEX2 portion associated L2 including a plurality of L2 entries arranged so as to be accessible as a function
A table; Each L3 entry is the value of the set identifier part , IND
Value of EX1 part, value of INDEX2 part, and INDE
Information relating to data values of X3 moieties are referred to by common der Ru 1 or more of said descriptors to memorize
A plurality of L3 entries is also of a, as the respective L3 entries for the next function, namely, i) the set identifier portion pointer L2 entry corresponding to the L3 entry, and ii) L3 entries associated and L3 including a plurality of L3 entries configured to be accessible as a function of the value of the INDEX3 part
Made from the table, according to claim 1 4 Routing Directory description.
【請求項16】 少なくとも1つの前記L3エントリ
が、セット識別子の値、INDEX1部分の値、IND
EX2部分の値及びINDEX3部分の値が共通し、且
つ、前記複数の他の部分のうち第4の部分であるIND
EXSP部分を有する1又は複数のディスクリプタによ
り参照されるデータに関係する情報を表わすサブページ
インジケータを記憶し、前記サブページインジケータ
が、次の関数として、すなわち i)該サブページインジケータを記憶するL3エントリ
に対応するL2エントリのポインタの値、 ii)L3エントリが関連する前記セット識別子部分及
び前記INDEX3部分の値、及び iii)サブページインジケータが関連する前記IND
EXSP部分の値の関数としてアクセス出来るように構
成される、請求項1記載のルート設定ディレクトリ。
16. At least one of the L3 entries comprises a set identifier value, an INDEX1 part value, IND
The value of EX2 part and the value of INDEX3 part are common, and
The fourth part of the plurality of other parts, IND
Storing subpage indicator representing information related to data referenced by one or more descriptors that have a EXSP portion, the sub-page indicator is stored as the next function, ie i) the subpage indicator L3 entry
The value of the pointer of the L2 entry corresponding to , ii) the value of the set identifier part and the INDEX3 part with which the L3 entry is associated, and iii) the IND with which the subpage indicator is associated
Configured to be accessed as a function of EXSP part of the value, according to claim 1 5 Routing Directory description.
【請求項17】 前記ディレクトリルックアップ要素
が、前記L1テーブルが前記候補ディスクリプタの前記
セット識別子部分及び前記INDEX1部分に対応し、
且つ有効L2ポインタを含むか否かを決定するためのL
1テーブル決定要素を含む、請求項1記載のルート設
定ディレクトリ。
17. The directory lookup element is such that the L1 table corresponds to the set identifier portion and the INDEX1 portion of the candidate descriptor,
And L for determining whether to include a valid L2 pointer
Including 1 table determinant, claim 1 5 Routing Directory description.
【請求項18】 前記ディレクトリルックアップ要素
が、前記L1テーブルが前記候補ディスクリプタの前記
セット識別子部分及び前記INDEX1部分に対応し、
且つ有効L2ポインタを含むことの決定に応答して、ポ
インタを発生するためのL2ポインタジェネレータを含
む、請求項17記載のルート設定ディレクトリ。
18. The method of claim 17, wherein the directory lookup element, wherein the L1 table corresponding to the set identifier portion and the INDEX1 part before Symbol candidate descriptor,
18. The routing directory of claim 17, further comprising an L2 pointer generator for generating a pointer in response to determining to include a valid L2 pointer.
【請求項19】 前記ディレクトリルックアップ要素
、L1テーブルルックアップがL2エントリポインタ
が無効であることを指示するときにL1ミス指示を発生
するためのミス指示ジェネレータを含む、請求項1
載のルート設定ディレクトリ。
19. The directory lookup element is an L1 table lookup and is an L2 entry pointer.
The routing directory of claim 17 , including a miss indication generator for generating an L 1 miss indication when indicating that is invalid .
【請求項20】 A.記憶スペースを含むフリーリスト
を含み、 B.前記ディレクトリが前記L1ミス指示に応答して前
記ディレクトリを更新するための更新要素を含み、該更
新要素が i)前記候補ディスクリプタの前記セット識別子部分及
びINDEX2部分に対応するL2エントリに対して前
記フリーリストに記憶スペースを選択的に割り当て、且
つ前記候補ディスクリプタの前記セット識別子部分及び
INDEX1部分に対応するL1エントリにそのL2エ
ントリに対するポインタを記憶するためのL2エントリ
割当て要素と、 ii)前記候補ディスクリプタの前記セット識別子部分
及びINDEX3部分に対応するL3エントリに対して
前記フリーリストに記憶スペースを選択的に割り当て、
且つ前記候補ディスクリプタの前記セット識別子部分及
びINDEX2部分に対応するL2エントリにそのL3
エントリに対するポインタを記憶するためのL3エント
リ割当て要素と、 iii)前記候補ディスクリプタの前記セット識別子部
分及びINDEX3部分に対応する前記L3エントリに
その候補ディスクリプタにより参照されるデータに関係
する情報を記憶するための候補ディスクリプタ情報記憶
要素を含む、請求項19記載のルート設定ディレクト
リ。
20. A. A free list containing storage space, B. The directory includes an update element for updating the directory in response to the L1 miss indication, and the update element is i) free for an L2 entry corresponding to the set identifier part and the INDEX2 part of the candidate descriptor. An L2 entry allocation element for selectively allocating storage space to the list and storing a pointer to the L2 entry in the L1 entry corresponding to the set identifier part and the INDEX1 part of the candidate descriptor; and ii) of the candidate descriptor. Storage space is selectively allocated to the free list for L3 entries corresponding to the set identifier part and the INDEX3 part,
In addition, the L2 entry corresponding to the set identifier part and the INDEX2 part of the candidate descriptor has its L3
An L3 entry allocation element for storing a pointer to the entry, and iii) for storing information related to the data referenced by the candidate descriptor in the L3 entry corresponding to the set identifier part and the INDEX3 part of the candidate descriptor 20. The routing directory according to claim 19 , including the candidate descriptor information storage element of.
【請求項21】 割当て解除指示に選択的に応答して、
前記L2テーブル及び前記L3テーブルの少なくとも1
つのエントリの割当てを解除するための割当て解除要素
を含む、請求項2記載のルート設定ディレクトリ。
21. Responsive to a deallocation instruction selectively,
At least one of the L2 table and the L3 table
One of including deallocation elements to deallocate entries, claim 2 0 Routing Directory description.
【請求項22】 前記ディレクトリルックアップ要素
が、前記L2テーブルが前記候補ディスクリプタの前記
セット識別子部分及びINDEX2部分に対応するL2
エントリを含むか否かを決定するためのL2テーブル決
定要素を含む、請求項1記載のルート設定ディレクト
リ。
22. The directory lookup element is an L2 whose L2 table corresponds to the set identifier portion and the INDEX2 portion of the candidate descriptor.
The routing directory of claim 18 including an L2 table determinant for determining whether to include an entry.
【請求項23】 前記ディレクトリルックアップ要素
が、前記L2テーブルが前記候補ディスクリプタの前記
セット識別子部分及びINDEX2部分に対応するL2
エントリを含むことの決定に応答してポインタを発生す
るためのL3ポインタジェネレータを含む、請求項2
記載のルート設定ディレクトリ。
23. The directory lookup element is an L2 whose L2 table corresponds to the set identifier portion and the INDEX2 portion of the candidate descriptor.
Including L3 pointer generator for generating the pointer in response to determining that containing entries, claim 2 2
The listed root directory.
【請求項24】 前記ディレクトリルックアップ要素
が、前記L2テーブルが前記候補ディスクリプタの前記
セット識別子部分及びINDEX2部分に対応するL2
エントリを含まないことの決定に応答して、L2ミス指
示を発生するためのL2ミスジェネレータを含む、請求
項2記載のルート設定ディレクトリ。
24. The directory lookup element is an L2 whose L2 table corresponds to the set identifier portion and the INDEX2 portion of the candidate descriptor.
In response to determining that no entries are included, including L2 miss generator for generating an L2 miss instruction, claim 2 2 Routing Directory description.
【請求項25】 A.前記L3テーブルに、前記候補デ
ィスクリプタのセット識別子部分及びINDEX3部分
に対応するL3エントリを割り当て、且つ前記候補ディ
スクリプタのセット識別子部分及びINDEX2部分に
対応する前記L2エントリにそのL3エントリに対する
ポインタを記憶するためのL3エントリ割当て要素と、 B.前記候補ディスクリプタの前記セット識別子部分及
び前記INDEX3部分に対応する前記L3エントリに
そのディスクリプタにより参照されるデータに関係する
少なくとも1つのデフォルト情報を記憶する候補ディス
クリプタ情報記憶要素を備える、請求項2記載のルー
ト設定ディレクトリ。
25. A. To assign the L3 entry corresponding to the set identifier part and the INDEX3 part of the candidate descriptor to the L3 table, and to store the pointer to the L3 entry in the L2 entry corresponding to the set identifier part and the INDEX2 part of the candidate descriptor L3 entry allocation element of B. Comprises the set identifier portion and a candidate descriptor information storage element for storing at least one default information relating to data referenced by the descriptor to the L3 entry corresponding to said INDEX3 portion of said candidate descriptor, claims 2 to 4, wherein Root configuration directory.
【請求項26】 前記ディレクトリルックアップ要素
が、前記L3テーブルに前記候補ディスクリプタの前記
セット識別子部分及び前記INDEX3部分に対応する
L3エントリを記憶し、且つそのエントリに記憶される
前記情報を発生するためのL3テーブルエントリ識別要
素を含む、請求項2記載のルート設定ディレクトリ。
26. The directory lookup element stores in the L3 table an L3 entry corresponding to the set identifier portion and the INDEX3 portion of the candidate descriptor and generates the information stored in that entry. L3 table entries including identification element, according to claim 2 2 Routing directory description.
【請求項27】 一連のテーブルから成るディレクトリ
を含み、前記各テーブルは複数のエントリを有し、前記
一連のテーブルの最後のテーブルの前記各エントリは1
つ又は複数のデータに関連する情報を記憶し、前記一連
のテーブルの前記最後のテーブル以外の他のテーブルの
前記各エントリは前記一連のテーブル内の次のテーブル
内の少なくとも1つのエントリに対するポインタを記憶
し、前記各データは複数のディスクリプタのうち少なく
とも1つの前記ディスクリプタにより参照され、前記各
ディスクリプタはセット識別子部分と複数の他の部分を
含むものである、マルチプロセッサコンピュータシステ
ムのためのルート設定ディレクトリを操作する方法であ
って、 候補ディスクリプタを受信するステップと、 前記ディレクトリを構成する前記一連のテーブルを使用
して、前記候補ディスクリプタにより参照される前記デ
ータに関係する情報を記憶しているか否かを決定するス
テップと、 前記決定するステップによる決定を利用するステップと
から成り、 前記決定するステップは、前記一連のテーブルの各テー
ブルをアクセスする毎に、前記候補ディスクリプタの前
記セット識別子部分と前記複数の他の部分の対応するも
のとの両方を使用するものであることを特徴とする、ル
ート設定ディレクトリを操作する方法。
27. A directory consisting of a series of tables
And each table has a plurality of entries,
Each of the above entries in the last table of the series is 1
Storing information related to one or more data,
Other than the last table
Each entry is the next table in the series of tables.
Store pointer to at least one entry in
However, each of the above data is less than the number of descriptors.
Both are referenced by one of the descriptors,
The descriptor contains a set identifier part and several other parts.
Including, a multiprocessor computer system
Is a way to manipulate the rooting directory for
I, using the steps of: receiving a candidate descriptor, the series of tables constituting the directory
The candidate descriptor referenced by the candidate descriptor.
The system determines whether to store information related to the data.
And the step of utilizing the decision made by said step of making a decision.
And the step of determining comprises each table in the series of tables.
Each time the bull is accessed, before the candidate descriptor
The corresponding set identifier part and the plurality of other parts.
Characterized by the use of both
How to manipulate the directory settings directory.
JP15607391A 1990-05-31 1991-05-31 Dynamic hierarchical associative memory Expired - Fee Related JP3416159B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US531506 1990-05-31
US07/531,506 US5341483A (en) 1987-12-22 1990-05-31 Dynamic hierarchial associative memory

Publications (2)

Publication Number Publication Date
JPH0619784A JPH0619784A (en) 1994-01-28
JP3416159B2 true JP3416159B2 (en) 2003-06-16

Family

ID=24117906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15607391A Expired - Fee Related JP3416159B2 (en) 1990-05-31 1991-05-31 Dynamic hierarchical associative memory

Country Status (2)

Country Link
JP (1) JP3416159B2 (en)
CA (1) CA2042291C (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049422B (en) * 2012-12-17 2013-11-27 浪潮电子信息产业股份有限公司 Method for building multi-processor node system with multiple cache consistency domains

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
D.Comer著、上田和紀訳,広くゆきわたったB木,bit別冊1980年11月号,日本,共立出版株式会社,1980年11月15日,p.21−39

Also Published As

Publication number Publication date
CA2042291A1 (en) 1991-12-01
JPH0619784A (en) 1994-01-28
CA2042291C (en) 2000-11-21

Similar Documents

Publication Publication Date Title
US5341483A (en) Dynamic hierarchial associative memory
EP0458553B1 (en) Packet routing switch and method for networks
US5282201A (en) Dynamic packet routing network
JP2780032B2 (en) Multiprocessor digital data processing system
US5251308A (en) Shared memory multiprocessor with data hiding and post-store
US5809527A (en) Outboard file cache system
JPH05501041A (en) High speed packet switching device and method
EP0539012A2 (en) Improved digital processor with distributed memory system
KR19990013405A (en) Cache Coherence Network Adapter for Shared Memory Processing Systems
JPH086854A (en) Outboard-file-cache external processing complex
EP0404560B1 (en) multiprocessor system and method
JPH07152647A (en) Shared memory multiprocessor
JP3416159B2 (en) Dynamic hierarchical associative memory
EP0458552B1 (en) Dynamic hierarchical routing directory organization associative memory
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
CA2042610C (en) Dynamic packet routing network
CA1341154C (en) Multiprocessor digital data processing system
EP0890904A2 (en) Cache coherent network adapter for scalable shared memory processing systems
CA2078311A1 (en) Fault containment system for multiprocessor with shared memory
JPH04357541A (en) Hierarchy memory control system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030225

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees