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

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

Info

Publication number
JPH03129454A
JPH03129454A JP2163026A JP16302690A JPH03129454A JP H03129454 A JPH03129454 A JP H03129454A JP 2163026 A JP2163026 A JP 2163026A JP 16302690 A JP16302690 A JP 16302690A JP H03129454 A JPH03129454 A JP H03129454A
Authority
JP
Japan
Prior art keywords
central processing
processing unit
cache
information display
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2163026A
Other languages
English (en)
Other versions
JP3103581B2 (ja
Inventor
Steven J Frank
スティーブン・ジェイ・フランク
Linda Q Lee
リンダ・キュー・リー
Iii Henry Burkhardt
ヘンリー・バークハート・ザ・サード
Dudeck Glen
グレン・デュデク
Jr James B Rothnie
ジェイムズ・ビー・ロスニー
William F Mann
ウィリアム・エフ・マン
I Margulies Benson
ベンソン・アイ・マーギューリズ
N Kittlitz Edward
エドワード・エヌ・キットリッツ
Frederick D Weber
フレデリック・ディー・ウェーバー
Ruth Shelley
ルース・シェリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kendall Square Research Corp
Original Assignee
Kendall Square Research Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/370,287 external-priority patent/US5251308A/en
Application filed by Kendall Square Research Corp filed Critical Kendall Square Research Corp
Publication of JPH03129454A publication Critical patent/JPH03129454A/ja
Application granted granted Critical
Publication of JP3103581B2 publication Critical patent/JP3103581B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ディジタルデータ処理システムに関し、特定
すると分散形階層メモリアーキテクチャを備える多重処
理システムに関する。
[従来技術9発明の課題] 従来技術によると、多重処理システムの処理ユニットを
結合するための多数の形態が提供されている。従来の設
計の中には、システムメモリバンクに記憶されたデータ
を共有する処理ユニットが、高帯域幅共有バスまたはス
イッチング回路網を介してそれらのバンクに結合された
ものがある。激しい使用期間中、複数の処理ユニットが
共有データに対するアクセスを同時に追及するときに、
障害が生ずるようであった。
伝送の障害の形成の危険を最小にするため、個々の処理
ユニットを局部的メモリ要素に結合して、半自動処理セ
ルを形成する分散形メモリシステムが開発された。多重
処理の利益を得るために、より最近設計されたシステム
は、階層的アーキテクチャ−の利用によりセル通信を確
立した。
従来形式の分散形メモリシステムは、単一のデータアイ
テムの複数のコピーを複数の処理セルに存在せしめる。
それゆえ、すべての処理セルが同一のデータ要素のアッ
プトウーディトのコピーを維持することを保証すること
が難しい、この問題を解決しようとする、すなわちデー
タの同一性を持続しようとする従来の努力は、複雑な信
号機構を利用するソフトウェア指向技術に依存する。
これらのソフトウェア指向の解決法と関連する処理およ
び信号のオーバーヘッドを避けるために、Frank等
の米国特許筒4.622.631号は、関連するプライ
ベートメモリすなわちキャッシュを各々有する複数のプ
ロセッサが、メインメモリ要素に含まれるデータを共有
する多重処理システムを開示している。その共有メモリ
内のデータはブロックに仕切られ、その各々が、メイン
メモリおよび複数のプロセッサのいずれか1つにより所
有され得る。定義により、データブロックの現在の所有
者、マ、そのブロックに対する「正しい」すなわチモっ
ともアップトウーデートなデータを維持す6、 1つ(
7)階層的手法が、Wilson Jr、等の英国特許
出願第2.178.205号により開示されているが、
この特許出願においては、多重処理システムは、第1の
バスを介して相互に結合された分散配されたキャッシュ
メモリ要素を含むといわれる。第1バスに取り付けられ
た第2のより高レベルのキャッシュメモリが、それ以下
のキャッシュ内の各メモリ位置のコピーを保持する。第
2レベルキヤツシユの上には、第3のさらに高レベルの
キャッシュおよびメインシステムメモリが存在している
。第3レベルキヤツシユおよびシステムメインメモリは
、それ以下のキャッシュの各メモリ位置のコピーを維持
する。システム内のプロセッサは、データの変更された
コピーをそれら自身の専用のキャッシュから、関連する
より高レベルのキャッシュならびにシステムメインメモ
リに伝送し、他方同時に他のキャッシュに報知して、新
しく変更されたデータのそれら自身のコピーを無効化す
るものと理解される。
Frank等およびWilson Jr、等により提案
される解決法に拘らず、多重処理システムの設計者およ
び使用者は、データの同一性およびバスの競合の問題に
遭遇する0例えば、Wilson Jr、等に関してい
うと、バスおよびメモリの競合は、システムプロセッサ
がメインメモリを各変更データで継続的に更新状態に維
持しようとするから増大される。
さらに、上述の従来設計は、いずれも、制限された数組
上の処理ユニットを支持できない、このr段階的拡張可
能性(スケーラビリティ)」の制約は、Wilson 
Jr、等およびFrank等の両方式とも、メインメモ
リの記憶容量が各追加のプロセッサに順応するように増
大されることを必要とするから増大する。
それゆえ、本発明の目的は、データの同一性の改善なら
びに待ち時間およびバス競合の低減を伴う改良された多
重処理システムを提供することである。
本発明の他の特徴は、スケーラビリティが制限されない
多重処理システムを提供することである。
本発明の他の目的は、データの同一性を維持するために
ソフトウェアのオーバーヘッドを全熱または少ししか必
要とせず、バス帯域幅が改善されかつ同期が改善された
、物理的に分散されたメモリを備える多重処理システム
を提供することである。
[課題を解決するための手段] 上述の目的は、本発明の一側面においては、「メモリ管
理要素(または手段)」と称されるインターフェースを
介して共通メモリを共有しそれにアクセスする複数の中
央処理ユニットを具備するディジタルデータ処理システ
ムを提供することによって達成される。
メモリ管理要素は、とりわけ、共通メモリ内のデータに
少なくとも2つのモードでアクセスすることを可能にす
る。第1のモードにおいて、メモリに存在する所与のデ
ータへのアクセスを要求するすべての中央処理ユニット
は、データの存在について報知される(必ずしもそれに
アクセスされないが)、第2のモードにおいては、存在
するデータへのアクセスを要求する唯一の選択された中
央処理ユニットが、それが存在することについて報知さ
れ、データへのアクセスを要求する他の処理装置は、そ
れが存在しないことについて(それがメモリに存在しな
いかのように)報知される。
第1のアクセスモードにおいては、例えば、第1の処理
ユニットが選択されたデータ要素への読取り/書込みア
クセスを要求し、同時に、第2の処理ユニットがその同
じデータ要素へのリードオンリーアクセスを要求すると
、メモリ管理要素は、要求される要素がメモリ内に記憶
されていることを両ユニットに報知し、両ユニットがデ
ータに要求される態様でアクセスすることを可能にし得
る。他方、この同じデータ要素が、要求されたとき第2
のアクセスモードがあれば、メモリ管理要素は、例えば
、第1中央処理ユニットにのみ、データの存在について
報知し、第2中央処理ユニットによるそれに対する要求
を無視する(代わりに、要求されるデータがメモリに存
在しないことを第2中央処理装置にすぐさま報知する)
この第2モード下におけるアクセスに対して利用可能な
データは、「アンカード(係留)」と称される。以下に
記述される本発明の好ましい実施例において、データは
、普通第1モードにおいてアクセスされ、第2モード下
におけるアクセスは、例えばデスクリプタの創成および
破壊中により少なくしか起こらない。
本発明の1側面に従うと、中央処理ユニットは、共有デ
ータ要素に対してアクセスモードを設定し得る。かくし
て、例えば、もしも第1中央処理ユニットが共有データ
に対して排他的アクセスを維持すると、そのユニットは
、例えばその「アンカービット」を設定することによっ
て、そのデータ要素を係留でき、そしてそれにより、少
なくともそのビットがターンオフされるときまで、メモ
リ管理システムをして他の中央処理ユニットによるその
データへのアクセスの要求を無視せしめる。
本発明の他の側面においては、共通メモリは、各々中央
処理ユニットの対応するものに結合されかつそれと関連
する複数の独立のメモリ要素を備えることができる。各
処理ユニット/メモリ要素対は、「処理セル」または単
に「セル」と称される。メモリ管理システムは、メモリ
を選択的に割り当て、セルにより発生されるアクセス要
求に応答してデータ要素のコピーを、若干排他的に、セ
ルからセルに移動させる。
本発明の他の側面にしたがうと、処理セルは、それぞれ
のメモリ要素に記憶される各データの属性を名づけ記述
するデスクリプタのディレクトリを維持する。各デスク
リプタの一部は、「アンカービット」を含む、しかして
このアンカービットは、上に論述したように、処理セル
内のデータの特定のアイテムに対して他の中央処理ユニ
ットにより発生されるアクセス要求に応答するためどの
アクセスモード(例えば「通常」または「係留」〉が行
使されるべきかを決定するように局部中央処理ユニット
によりセットされ得る。
本発明は、他の側面において、複数の処理セルおよびメ
モリ管理要素を備えるディジタルデータ処理システムで
あって、少なくとも第1の中央処理ユニットが所有権要
求信号を発生し得、第2の中央処理ユニットがリードオ
ンリ要求信号を発生し得るディジタルデータ処理システ
ムを提供する。所有権要求信号は、情報代表信号への優
先アクセス要求を表わし、他方リードオンリー要求信号
は、処理セルの他のものにおいて優先アクセスに対して
記憶される情報表示信号への二次的アクセス要求を表わ
す。
メモリ管理要素は、第1プロセツサからの所有権要求信
号に応答して、関連するメモリ内に要求される情報表示
信号に対して物理的記憶スペースを排他的に割り当てる
。メモリ管理要素は、さらに、第2中央処理ユニットに
よるその同じ情報表示信号に対するリードオンリー要求
に応答し、データのリードオンリーコピーを対応する処
理セルに転送する。
第1 CPU内における後記憶(ボスト−ストア)要素
により要求の開始の際、メモリ管理要素は、第1情報表
示信号のコピーを、それ自身のメモリから第2中央処理
ユニットと関連するメモリへ転送する。
上述の形式のシステムは、バスおよびメモリの競合が低
減された改良された多重処理能力を提供する。排他的デ
ータコピーをかかるアクセスを必要とするプロセッサに
動的に割当てること、ならびに複数のプロセッサにより
同時に必要とされるデータコピーの共有によって、シス
テムは、バスのトラフィックおよびデータのアクセス遅
延を減することができる。データ要素を係留しかつ「ボ
スト−ストア更新を強制するような追加の能力を提供す
ることによって、システムは、データの移動についてよ
り大きなプログラム制御能力を与えることができる0本
発明のこれらおよびその他の側面は、以下に続く説明で
明らかである。
[実施例] 〔システムの構造および動作〕 第1A図は本発明に従って構成されたマルチプロセッサ
ディジタルデータ処理システムを描く概略線図である1
例示されるシステムは、関連するメモリ要素(すなわち
キャッシュ)42A、42Bおよび42Gにそれぞれ接
続された複数の中央処理ユニット40A、40Bおよび
40Cを備える。各対の中央処理ユニットおよびメモリ
ユニット間の通信は、図示のようにバス44A、44B
および44Cに沿って実施される0例示されたシステム
はさらに、バス48A、48Bおよび48Cを介して、
メモリ要素42A、42Bおよび42Cに記憶された情
報表示信号にアクセスするためのメモリ管理要素46を
備える。
例示のシステム10において、中央処理ユニッ)40A
、40Bおよび40Cは、各々、それぞれラベル50A
、50Bおよび50Cを付したアクセス要求要素ならび
に51A、51Bおよび51Cを付したボスト−ストア
要素を備える。アクセス要求要素は、メモリ要素42A
、42Bおよび42Gに記憶される情報へのアクセス要
求を表わす信号を発生する。要素50A、50Bおよび
50Cにより発生されるアクセス要求信号の諸形式の中
には、情報表示信号への優先アクセス要求を表わす所有
権要求信号がある。ボスト−ストア要素51A、51B
および51Cは、データ、例えば、関連する処理セルで
排他的に所有され、他の処理セルにおいて無効デスクリ
プタが割り当てられるもののコピーの他のキャッシュへ
の転送要求を表わす信号要求を発生する。好ましい実施
例において、アクセス要求要素50A、50Bおよび5
0Cならびにボスト−ストア要素51A、51Bおよび
51Cは、中央処理ユニット40A、40Bおおお40
C上で実施され後刻説明される命令サブセットを含む。
メモリ要素42A、42Bおよび42Cは、それぞれ制
御要素52A、52Bおよび52Gを具備する。これら
の制御要素は、各々、図示のように、対応するディレク
トリ要素56A、56Bおよび56Cを介してデータ記
憶領域54Δ、54Bおよび54Cに接続される。スト
ア54A、54Bおよび54Cは、それぞれの中央処理
ユニットにより必要とされるデータおよび命令信号に対
して物理的記憶スペースを提供するように、例示される
システムにより利用される。かくして、ストア54Aは
、CPU40Aにより使用されるデータおよび制御情報
を維持し、ストア54Aおよび54Gは、それぞれ中央
処理ユニット40Bおよび40Gにより使用される情報
を維持する。
各ストアに維持される情報信号は、好ましくは信号のシ
ステムアドレスに対応する独特のデスクリプタにより識
別される。これらのデスクリプタは、対応するディレク
トリのアドレス記憶位置に記憶される。デスクリプタは
独特と考えられるが、若干のデスクリプタの複数のコピ
ーは、メモリ要素42A、42Bおおお42C間に存在
し得る。ここで、これらの複数のコピーは、同じデータ
要素のコピーを識別する。
中央処理ユニット40A、40Bおよび40Cにより発
生されるアクセス要求信号は、他の制御情報とともに、
要求される情報信号のSv^アドレスに匹敵するSVA
要求部分を含む、制御要素52A、52Bおよび52C
は、それぞれの中央処理ユニット40A、40Bおよび
40Cにより発生されるアクセス要求信号に応答して、
要求される情報代表信号が対応する記憶要素54A、5
4Bおよび54Gに記憶されているか否かを決定する。
もしもそうならば、情報のそのアイテムは、要求してい
るプロセッサにより使用のため転送される。もしそうで
なければ、制御ユニット52A、52Bおよび52Cは
、アクセス要求信号を線48A、48Bおよび48Cに
沿って前記のメモリ管理要素に伝送する。
各キャッシュディレクトリ例えば56Aは、内容アドレ
ス可能メモリとして働く、これは、キャッシュ例えば4
2Aをして、そのデスクリプタのずべてを反復的に捜索
することなく: SVAスペースの特定のページに対す
るデスクリプタな見つけることを可能にする。各キャッ
シュディレクトリは、128セツトをもつ16ウエイセ
ツトアソシエイテイブメモリとして実施される。 SV
Aスペースの全ページは、キャシュデイレクトリセット
と各々関連する12おの等価なりラスに分割される。あ
るページに対するデスクリプタは、ページの等価クラス
に対応するキャッシュディレクトリのセットにのみ記憶
できる8等価クラスは、追って詳述されるように、SV
A 120 :14]により選択される。任意の所与の
時間にて、キャッシュは、SVA [20: 14]に
対して同じ値で16ペ一ジ以上を書き込むことができな
い、何故ならば、各セットには16の要素があるからで
ある。
処理セルは、サブページに対する要求に応答するとき、
要求するユニットに、サブページデータを局部キャッシ
ュからの特定のデスクリプタフィールドとともに供給す
る。要求者は、それらのフィールドをそれ自身のデスク
リプタ領域に複写するか(もしもそれが他の有効サブペ
ージを有しなければ)、あるいはこれらのフィールドを
デスクリプタフィールド中に論理的にOR入力する。あ
るデスクリプタフィールドは、応答者によって供給され
ることも要求者によって更新されることも決してない。
第2図は、本発明を実施するのに使用するための例示の
処理セル18Aに対する好まし構造を描くものである9
例示される処理セル18Aは、中央処理ユニット(プロ
セッサ)58を備えており、そして該中央処理ユニット
58は、それぞれプロセッサバス66および命令バス6
8を介して外部デバイスインターフェース60、データ
サブキャッシュ62および命令サブキャッシュ64に結
合されている。
プロセッサ58は、数種の商業的に入手し得るプロセッ
サの任意のもの例えばMotorola 68000C
Puで、データおよびアドレス制御線69Aおよび69
Bを介して動作するサブキャッシュ同時実行ユニットの
制御下でインターフェースサブキャッシュ62および6
4に適合され、かつ後述のようにメモリ命令を実行する
ように適合されたものより成る。
処理セル18Aは、さらにキャッシュ制御ユニット74
.Aおよび74Bを介してキャッシュバス76に結合さ
れたデータメモリユニット72Aおよび72Bを備える
。キャッシュ制御ユニット74Gおよび74Dは、キャ
ッシュバス76と処理およびデータバス66および68
との間の結合を提供する1図面に指示されるように、バ
ス78は、キャッシュバス76と例示されるセルと関連
するドメイン(0)バスセグメント2OAとの間の相互
接続を提供する。
好ましい実施例において、データキャッシュ72Aおよ
び72Bは、16Mバイトまでのデータを各々記憶し得
るダイナミックランダムアクセスメモリデバイスである
。サブキャッシュ62および64は、スタチックランダ
ムアクセスメモリデバイスであり、前者は256にバイ
トまでのデータを、後者は256にバイトまでの命令情
報を記憶し得る0図示されるように、キャッシュおよび
プロセッサバス76および66は64ビツトの伝送路を
提供し、命令バス68は64ビツトの伝送路を提供する
本発明を実施するのに使用するように構成された好まし
いマルチプロセッサシステムにおいては、メモリの階層
が提供される。詳述すると、各処理セルは、0.5Mバ
イトを含むサブキャッシュ、および32Mバイトを含む
キャッシュ、例えば要素74Aおよび74B(第2図)
を備える。
各セルは、例えば全部で480 Mバイトのメモリを提
供する15のセルを有するドメイン(0)セグメントの
一部を形成し得る。さらに、各ドメイン(0)は、全部
で15360 Mバイトのメモリを提供する32のドメ
イン(0)セグメントを有するドメイン(1)の一部を
形成し得る。
例示の処理セル18AおよびドメインWINの構造およ
び動作を一層理解するには、「複数命令ソースを有する
マルチプロセッサシステム」と題して本出願と同日に出
願された特許出願(1989年6月22日付けで出願さ
れた米国特許出願筒370.325号に対応)、ならび
に特願昭63−322254号および63−32253
号)を参照することによって達成されよう、したがって
、これらの出願も参照されたい。
第3図は、単一方向セル間バスリングに沿って処理セル
群(グループ)を相互接続するための好ましい形態を描
くものである。ドメイン(0)セグメントと称する例示
のグループ12は、バスセグメント2OAに沿ってセル
相互接続22A、22Bおよび22Gを介して相互接続
された処理セル18A、18Bおよび18Cを備える。
例示のセグメント内に存在するセルは、バス20Aを介
して相互に直接通信する。しかしながら、関連する中心
処理ユニットは直接相互接続されないや代わりに、メモ
リ要素に記憶されるデータおよび制御信号の交換により
、プロセッサ間通信が実施される。メモリ管理要素46
は、この情報の転送を容易にする。
ドメイン(0)セグメント12Aの処理セル18A、1
8Bおよび18C間の通信および同様の他のセグメント
の通信は、ドメインルート指定ユニット28Aを介して
ルート指定される。
ドメイン(0)セグメント12Aならびにドメインルー
ト指定ユニット28Aおよびドメイン間通信を提供する
機構の構造および動作の一層の理解は、上述の米国特許
出願筒136.930号を参照することによって得られ
る6例示されるバスセグメント20Aの構造および動作
およびそれとセル相互接続22A、22Bおよび32A
との相互関係については、関連する米国特許出願筒13
6.701号に一層詳しく論述されている。
[メモリ管理システム] 本発明の好ましい実施例と使用するための多重処理シス
テム10は、各データと関連する独特のシステム仮想ア
ドレス(SVAI を参照することによって、処理セル
18A、18Bおよび18C内に記憶される個々のデー
タ要素へのアクセスを可能にする。この能力の実施は、
メモリ管理システム46、サブキャッシュ62.64お
よびキャッシュ72A、74Bの組合せ動作により提供
される。これと関連して、メモリ管理システム46は、
キャッシュ制御ユニット74A、74874Cおよび7
4Dを、それらの関連するインターフェース回路ととも
に備えることが認められよう。
さらに、上述の要素は集合的に「メモリシステム」と称
されることも認められよう。
[プロセッサデータアクセス要求] プロセッサ例えば40A (第1A図)により発生され
るデータアクセス要求は、局部的メモリ要素例えば42
Aにより処理される(可能なときには)、詳述すると、
各メモリと結合されるコントローラ例えば74A、74
B、74Gおよび74Dは、セルの内部バス例えば66
を監視し、局部プロセッサ要求に応答して、要求を対応
するディレクトリにリストされているデスクリプタと比
較する。整合が見出されると、整合データは内部バスに
沿って要求するプロセッサに帰還伝送される。懸案の情
報アクセス要求を満足させようとして、メモリ管理要素
は、要求している中央処理ユニットから受信されるアク
セス要求信号を、他の中央処理ユニットと関連するメモ
リ要素に放送する。メモリ管理要素は、子連のように、
セルインターフェースを介して、アクセス要求信号のS
v^をメモリ要素の各々のディレクトリ56A、56B
および56Cに記憶されるデスクリプタと比較し、要求
される信号がこれらの要素のいずれかに記憶されている
か否かを決定する。もしあれば、要求信号またはそのコ
ピーは、要求している中央処理ユニットと関連するメモ
リ要素にメモリ管理要素46を介して転送される。要求
される情報信号がメモリ要素42A、42Bおよび42
C中に見出されなければ、動作中のシステムは、下記の
態様でシステムの周辺装置(図示せず)間の捜索を行な
うことができる。
処理セル間のデータの移動は、各アクセス要求と、要求
されるアイテムと関連するアクセス状態との比較評価を
含むプロトコルにより支配される。メモリ管理システム
は、データの排他的所有権要求に応答して、そのデータ
を要求しているセルのメモリ要素へ移動させる。同時に
、メモリ管理要素は、要求しているセルデータ記憶領域
内に要求されるアイテムに対して物理的記憶スペースを
割り当てる。メモリ管理要素はまた、遠隔セルのデータ
ストア内の要求されるアイテムと関連するデスクリプタ
を無効化し、それにより要求するセルへの転送前に要求
されたアイテムを保持した物理的記憶スペースの続いて
の割当て解除を行なう。
上述の動作は、要求しているセルにおける要求されるデ
ータの排他的記憶をもたらすが、他のセルは、続いて、
例えばリードオンリー態様で、そのデータへの同時のア
クセスを得ることができる。詳述すると、メモリ管理要
素は、第2のセルにより排他的に所有されるデータへの
リードオンリーアクセスのための第1のセルによる要求
に応答して、そのデータのコピーを第1セルに伝送し、
他方第2セルに記憶されるそのデータの原コピーを「非
排他的所有」と指示する。
システムは、「アトミック」状態と称される他の所有権
状態を提供することによって、所有しているセルがその
データをコピーすることを不能化せしめる。メモリ管理
システムは、その状態におけるデータ要求に応答して、
待ちすなわち「トランジェント」信号を要求者に伝送し
、そしてアトミック所有権が断念されれば要求されたデ
ータを階層機構を介して放送する。
[データ記憶割当ておよびコヒーレンシー]例示される
マルチプロセッサシステム内において、データのコヒー
レンジは、メモリストア54A、54Bおよび54Gお
よびそれらの関連するディレクトリ56A、56Bおよ
び56Cへのメモリ管理要素の作用を通じて維持される
。詳述すルト、第1 (7)CPU /;l−11−り
対(例えばCPIJ 40 Cとその関連するメモリ要
素42C)による所有権アクセス要求の発生に続いて、
メモリ管理要素46は、その対のメモリ要素のストア(
例えばメモリ要素42Cのデータストア54C)に要求
されるデータを保持するためスペースの割当てを行う、
要求される情報表示信号が先に記憶されていたメモリ要
素から(例えばメモリ要素42A)その信号の転送と同
時に、メモリ管理要素は、要求される信号の記憶のため
先に割り当てられていた物理的記憶スペースの割当てを
解除する。
メモリ管理要素、詳しく言うとデータコヒーレンス要素
の上述の動作は、第1A図および第1B図に例示されて
いる。これらの図の最初のものにおいて、情報信号DA
TUM (0) 、 DATUM (1)およびDAT
UM (2)ハ、CPU40.l:提携スルメモリ要素
42Aのデータストアに記憶されるものとして示されて
いる。デスクリプタ’foo」、 ’bar」および’
bas」は、それぞれそれらのデータ信号に対応してお
り、ディレクトリ56Aに記憶されている。
各デスクリプタは、ストア42Aにおける関連する情報
信号の位置を指示するポインタを含む。
CPO40Bと提携されるメモリ要素42Bにおいて、
システムはDATUM (2)およびDATUM (3
)を記憶する。これらのデータ要素に対応して、デスク
リプタ’CarJおよび’bas」がディレクトリ56
Bに保持されている。 DATUM(2)およびそのデ
スクリプタ’bas)は、キャッシュ42Aからの対応
する要素のコピーである。
通常の動作中、例示されるデータ要素すなわちDATU
M (0)ないしDATUM (3) ハ、各中央処理
ユニットによる要求に対してアクセス可能である(少な
くともキャッシュ42A、42B、42Cにおけるそれ
らの存在が関係する限り)0例えば、デスクリプタ’b
asJ と関連して、DATtlM (2) ヘのアク
セスに対するCPU (2)からの要求を受信すると、
メモリ管理要素46は、要求しているプロセッサに、要
求されているデータがメモリに存在することを報知する
。さらに、要求がリードオンリーアクセスに対するもの
であり、そしてそのDATUM (2)がアトミック状
態で保持されていないと仮定すると、メモリ管理要素は
、そのデータのコピーをCPII (2)と関連するキ
ャッシュ42Cに転送する。
しかしながら、ディレクトリ56Bのディスクリブタ’
CarJを取り囲む括弧により指示されるように、DA
TtlM (3)は係留されている。かくして、キャッ
シュ42Bがそのデータの唯一のコピーを1己憶するC
PIJ (1)以外の中央処理ユニットは5いずれもD
ATUM (3)にアクセスできない、詳述すると、メ
モリ管理要素46は、デスクリプタ’CarJ と関連
するアンカービットがセットされていることを認めて、
CPU40A、40CのいずれかによるDATUM (
3)に対するアクセス要求に応答して、それらのプロセ
ッサに、データがメモリに存在しないことを報知する。
 CPU(1)は、そのCPUがデータに直接アクセラ
するとき、メモリ管理システム46の介入なしにDAT
UM (3)への完全なアクセスを保持する。
第1B図は、非係留データに対する所有権アクセス要求
の発行に続くメモリ管理システム46の応答を例示する
。特に、例示のものは、CPU (2)によるそのデー
タに対する所有権アクセス要求の発行に続く非係留情報
信号DATUM (0)の動きを描写している。
最初に、メモリ管理要素46は、CPU 40Cと提携
するメモリ要素のストア54Cに物理的記憶スペースを
割り当てる。メモリ管理要素46は、ついで、要求され
る情報信号DATUM (0)を、先に記憶されている
ストア54Aから、要求された信号を先に保持したスト
ア54A内のスペースの割当てを同時に解除しながら、
要求者のストア54Cに移動させる。要求された情報信
号を移動させることに加えて、メモリ管理要素46はま
た、ストア54A内のDATUM (0)を識別するの
に先に使用されたディレクトリ56A内のデスクリプタ
を無効化するとともに、ストア54C内の信号を識別す
るために続いて使用されるであろうディレクトリ56C
内に同じデスクリプタな再割当てする。
第1B図はまた、それぞれのキャッシュ42B、42C
内に記憶されるデータの係留状態の変化を例示している
。特に、対応するディレクトリのエントリにおける括弧
の不存在により指示されるように、DATUM (31
は係留されておらず、したがって他の中央処理ユニット
によりアクセスのため利用可能である。逆に、キャッシ
ュ42C内のデスクリプタ’foo」を囲む括弧は、関
連するデータDATUM (0)が係留されており、し
たがって、他のCPuに利用不可能であることを示して
いる。上述のように、CPt140Cそれ自体は、その
アンカービットがセットされていることに拘りなく、D
ATU)4 (0)に直接的にアクセスできる。
本発明の好まし実施例においては、各デスクリプタに含
まれるアンカービットは、そのデスクリプタならびに対
応する情報表示信号が記憶されているキャッシュと関連
する中央処理ユニットによりセットされる。すなわち、
CPU40Aは、キャッシュ42A内のデータと関連す
るアンカービットをセットし、CPu40Bは、キャッ
シュ42B内のデータと関連するアンカービットをセッ
トし、CPO42Cはキャッシュ42内のデータと関連
するアンカービットをセットする0例に示されるヨウニ
、コノ係留機能は、CPU 40A、40B。
40Cの各々におけるr ANC)IJと符合を付した
機能部により実施される。
好ましい実施例において、メモリ管理要素46は、メモ
リ要素42A、42B、42Cに記憶されるデータおよ
び制御信号にアクセス状態情報を割り当てるための機構
を含む、無効、リードオンリー、所有者およびアトミッ
ク状態を含むこれらのアクセス状態は、データが特定の
プロセッサによりアクセスされ得る態様を支配する。関
連するCPUが当該データに対して優先アクセスを維持
するメモリ要素内に記憶されるデータについては、所有
権状態が割り当てられる。他方、関連するCPUが当該
データに関して優先アクセスを維持しないメモリ要素に
記憶されるデータについては、リードオンリー状態が割
り当てられる。さらに、「バッド」データと関連するデ
ータには、無効状態が割り当てられる。
[キャッシュ構造] メモリシステムは、ページおよびサブページの単位でデ
ータを記憶する。各個々のキャッシュ2048ページに
細分割された32バイトのSVAスペースを記述する。
ページは、2’ (1281バイトのサブページ分割さ
れた2 ” (16348)バイトを含む、メモリシス
テムは、ページ基準でキャッシュ例えば72A、72B
(第2図)内のメモリを割り当て、SVAスペースの各
ページは、システムに完全に表わされるか全熱表わされ
ないかのいずれかである。メモリシステムは、サブキャ
ッシュの単位でキャッシュ間でデータを共有する。
SVAスペースのページがシステム内に存在する場合は
、次がことが言える。
lまたは複数のキャッシュ例えば72A、72Bは、ペ
ージにメモリの1ページを割り当てる。各サブページは
、割り当てられたスペースをもつキャッシュの1または
複数に記憶されるが、1ページに対して割り当てられた
スペースをもつ各キャッシュは、ページのサブページの
すべてについてのコピーを含んでもよいし含まなくても
よい。
上述のように、キャッシュページおよびSVAベージ間
の関連は、そのキャッシュディレクトリ例えば56A内
の各キャッシュに記録される。各キャッシュディレクト
リは、デスクリプタにより構成される。キャッシュ内の
メモリの各ページに対して1つのデスクリプタが存在す
る。特定の時点において、各デスクリプタは有効または
無効といわれる。デスクリプタが有効であれば、対応す
るキャッシュメモリページがSVAスペースの1ページ
と関連せしめられ、デスクリプタは関連するSVAベー
ジアドレスおよび状態情報を記憶する。
デスクリプタが無効であれば、対応するキャッシュメモ
リベージは、論理的に使用状態にない、デスクリプタと
関連する明白なlaミツラグなく、係留および保持フィ
ールドが両方ともクリヤであればデスクリプタは無効と
考えることができ、そしてSVAベージに対して有効サ
ブページは存在しない。
[キャッシュレイアウト] キャッシュディレクトリの機構は、第4図に示されてい
る。 SVAへの参照がなされると、キャッシュは、そ
れが必要とする情報を有しているか否かについて決定し
なければならない、これは、キャッシュ内の1セツトを
選択し、その1セツトのデスクリプタの全部を試験する
ことによって遂行される。 SVA[20:141は1
セツトを選択する。一般のアーキテクチャにおいて、選
択されたセット内の各デスクリプタは、同時にSVA[
63:211に比較される3本明細書に開示されるこの
教示は、SVA[39:211 との比較を意味する2
40バイトSVAスペースについて記述する。セットの
要素の1つが所望されるページに対するデスクリプタで
あれば、対応するコンパレークは整合を指示するであろ
う、セット番号と連結される整合するデスクリプタのセ
ット内のインデックスは、キャッシュ内の1ページを識
別する。
1以上のデスクリプタが整合すれば、キャッシュは複数
デスクリプタ整合特例を報知する。デスクリプタが整合
しなければ、キャッシュは、デスクリプタを割り当て、
相互接続からデータを要求する9割り当てまたはデータ
要求のいずれかが欠けることがあり得るが、キャッシュ
はCPuにエラーを指示する。
セットを選択するために5VA(20:14]を使用す
ることは、事実上SVAアドレスに関するハツシュ機能
ある。システムソフトウェアは、このハツシュ機能が一
般的場合において良好な性能を与えるようにSVAアド
レスを割り当てねばならない8分配に関して2つの重要
な場合がある。単一のセグメントの多数のページを参照
する場合と、多くセグメントの第1のページを参照する
場合とである。
このセットセレクタは、連続するページ群に対して良好
なキャッシュの挙動をもたらす、何故ならば、128の
連続ページが、12Bの別個セットに存在するからであ
る。しかしながら、このセレクタは、SVA[20:4
01に同じ値をもつ多くのページに対しては、ハツシュ
(吟味)の挙動が貧弱でない、システムは、セグメント
内における局部的データ源を変えることによって後者の
状態を避けることができる。
デスクリプタフィールドは下記のように定義される。
デスクリプタ・タグ(19) SVAのビット[39:211.このフィールドは5対
応するデスクリプタにより特定されるSVAスペースの
特定のページを識別する。所与のセルにおける所与のセ
ットに対して、このフィールドはすべての16のデスク
リプタの間で独特でなければならない、ソフトウェアは
、SVAベージを創成するときにこのフィールドを「セ
ット」する、これはまた、キャッシュイニシャライズ集
にセットされる。
デスクリプタ・アトミック 変更(1)このページの任
意のサブページがアトミック状態へのまたはアトミック
状態からの転換を経験するとき、キャッシュがこのビッ
トフラグを1にセットする。何故ならば、gspまたは
sp命令がうまく実行されるからである。これはまた、
サブページがアトミック状態から都うンジェントーアト
ミック状態に変わるときにもセットされる。このフラグ
は、gspが欠ける場合又はrspが欠ける場合にはセ
ットされない、何故ならば、前者においてはサブページ
が既にアトミック状態にあり、後者においてはサブペー
ジがアトミック状態になかったからである。
このフラグは、gspまたはrapが欠ける場合にはセ
ットされない、何故ならばデスクリプタ・アトミックな
しがセットされるからである。システムソフトウェアは
、アトミック状態変化を認めたことを指示するために、
このフラグをゼロにセットする。このフィールドはキャ
ッシュからキャッシュへ伝搬される。
デスクリプタ・変更(1) ページにおいて何らかのデータが変更されるとき、キャ
ッシュがこのビットフラグを1にセットする。システム
ソフトウェアは、ページの変更を認めたことを指示する
ために、デスクリプタ・変更をゼロにセットする。この
フラグは、データを変更しようとする試みがないときに
はセットされない、何故ならばデスクリプタ・書込みな
しがセットされるからである。このフィールドはキャッ
シュからキャッシュへ伝搬される。
デスクリプタ・LRU (1)  (4)そのセットに
おけるデスクリプタの現在位置がMo5t Recen
tly Used(0)からLeast Re5ent
lytlsed (15)に移行するとき、キャッシュ
はこのフィールドを維持する。
デスクリプタ・アンカー(1) 他のキャッシュからのデータ要求が有効とも認められ得
ずまたデスクリプタが無効化され得ないこと指示するた
め、ソフトウェアがこのフィールドをセットする。他の
キャッシュからの読取りまたは取得要求が要求者に応答
せずに戻り、ページがなかったように処理される。この
フィールドは%SVAベージを創成または破壊する部分
として、またページデスクリプタを変更する部分として
システムソフトウェアによりセットされる。
デスクリプタ・保持(1) サブページがキャッシュに存在しない場合においてさえ
、デスクリプタがキャッシュにより無効にされ得ないこ
とを指示するため、ソフトウェアがこのフィールドをセ
ットする。
デスクリプタ・アトミックなしく1) キャッシュがこのページのページのアトミック状態を変
えるのを阻止するため、ソフトウェアがこのフィールド
をセットする* gspまたはrspを実行使用とする
試みはなく、プロセッサに報知される。プロセッサは、
ページアトミックなし特例を報知する。デスクリプタ・
アトミックなしは、若干のサブページがアトミック状態
を有する場合においてさえ、変更され得る。
このフラグは、デスクリプタ・書込みなしがデータ状態
を変更しようとする試みを阻止する場合と同じ方法で、
アトミック状態を変更しようとする試みを阻止する。こ
のフィールドはキャッシュからキャッシュへ伝搬される
ディスクリブタ−・書込みなしく1) 局部プロセッサによるページの変更を阻止するため、ソ
フトウェアがこのフィールドをセットする。ページを変
更しよとする試みはなく、プロセッサに報知される。プ
ロセッサは、ページ書込みなし特例を報知する。このフ
ラグは、排他的またはアトミック/トランジェント−ア
トミック状態にあるサブページを取得するためにキャッ
シュの能力に影響を及ぼさない、このフィールドは、キ
ャッシュからキャッシュへ伝搬される。
デスクリプタ・サマリー(3) 1組のサブページのサブページ状態フィールドを集約す
る。各1組のサブページに対して、1つの3ビツトサマ
リーフイールドが存在する。サマリーは、ときどき、サ
マリーセット内のサブページに対して個々のサブページ
 状態フィールドの内容を無視(オーバーライド)する
デスクリプタ・サブページ 状態(4)サブページ状態
は、3ビツト状態フイールドおよび単一ビットサブキャ
ッシュ化状態フィールドよりなる。これは、各サブペー
ジの状態を記録するため、かつサブページのいずれかの
部分がCPUサブキャッシュに存在するか否かを指示す
るために、キャッシュによりセットされる。
デスクリプタ・書込みなしは、アクセス時コピ一方式を
実施するために使用でき、そして該アクセス時コピ一方
式は、書込み時コピーに近似するものとして使用できる
。プロセスが分岐するとき、分岐するプロセスのアドレ
ススペースは、ページ書込みなし特例を取るようにセッ
トされる。
子供プロセスアドレススペースセグメントは、散在状態
に残される。子供プロセスが、親によって未だ書き込ま
れていないページを参照すると、ページの欠点は、親プ
ロセスの対応するページのコピーを作ることによって満
足され、デスクリプタ・書込みなしは、そのページに対
してクリヤされる。もしも親が、子供が当該ページをコ
ピーしてしまう前にそのべえじを書き込むと、ページ書
込みなしハンドラは、そのページを子供アドレススペー
スに書込み、ついでデスクリプタ・書込みなしをクリヤ
する。
追って以下に論述されるように、所与のキャッシュにお
けるデスクリプタは、退廃した状態情報を含むことがで
きる。加えて、セツティングデスクリプタ・保持は、個
々のサブページが局部キャッシュ内に存在すること、お
よびSVAページが存在することを保証しないことに留
意されるべきである。システムソフトウェアは、ページ
のテープルをトラップし続け、それらに対するSv^サ
ブページを創成することを拒否することによって、ペー
ジの読取りをトラップすることができる。そのとき、脱
落ページ特例をソフトウェアにより生成されるページ読
取りなし特例に変換することができる。
[デスクリプタフィールド有効性] 先に論述したように、デスクリプタ内のフラグは正しく
なかったり古くなっている場合があり得る。これには2
つの理由がある。すなわち、CPUおよびその局部的C
08間の潜伏、および異なるセルのC00間の潜伏であ
る。前者は、先に変更されなかったページがCPUによ
って変更されるときに起こり得る。変更されたサブブロ
ックがサブキャッシュを離れるまで、局部的CCtlは
、変更が起こったことを知らない、後者は、多くのキャ
ッシュが各々特定のSVAページに対するデスクリプタ
な含むときに起こりことがあり、1つのキャッシュによ
り影響される状態変化がすべての他のキャッシュに自動
的に通信されない、デスクリプタと関連するlビットが
ないから、デスクリプタは、つねにあるSVAページの
タグを有する。しかしながら、特定のSVAページを指
示するタグを有するすべてのキャッシュデスクリプタは
、それらのデスクリプタ内に有効サブページを有さなけ
れば、SVAベージはメモリシステムに存在しない、同
様に、キャッシュデスクリプタが特定のSVAベージを
指示するタグを有しなければ、そのページはメモリシス
テムに存在しない、かかるページに対するデスクリプタ
フィールドを読み取ることができるが、SVAベージは
論理的に破壊されてしまっているから、フィールド値は
有効でない。
例えば、あるページに対するデスクリプタを有する2つ
のキャッシュを考える。キャッシュAは、すべて排他的
状態にあるサブページを有し、そしてデスクリプタ・変
更はクリヤ状態であり、他のキャッシュはそのページに
対するデスクリプタを全熱有していないとする。セルB
のCPIIは、サブページデータを変更すべくストア命
令を実行する。 CPU Bは、その局部的キャッシュ
から排他的所有権状態をもつサブページを要求する。キ
ャッシュは、そのページに対してデスクリプタを割り当
て、ついでリングを使用してサブページを要求する。所
有者(A)は応答して、セルBに排他的所有権を与える
。サブページが到着した後、セルBは、応答からデスク
リプタ・変更(クリヤ状態にある)をコピーする。つい
で、BのCPUは、サブページからサブブロックをその
データサブキャッシュにロードし、そのサブブロックを
変更する。この点にて、CPUサブキャッシュは、サブ
ブロックが変更されてしまったことを指示するが、局部
的キャッシュはなおサブページを無変更として示す、若
干後の時点に、CPt1 Bは、そのサブキャッシュか
らのサブブロックデータを局部的キャッシュに送る。こ
れは、CPt1 Bが他のページに対するサブキャッシ
ュブロックを必要とするか、CPUが変更されたサブブ
ロックを戻し書込みするためにアイドルサイクルを使用
しているか、ある他のセルがサブページを要求したがた
めに起こり得る。ついで、セルBのキャッシュがデスク
リプタ・変更フラグをセットする。この時間中ずつと、
デスクリプタ・変更は、セルA上でクリヤ状態にある。
第2の例として、セルA上で進行するシステムソフトウ
ェアがここでSVAベージを破壊すると仮定する。ペー
ジは、キャッシュAにおいて排他的状態にあるすべての
サブページを集め上げ、ついでSVAページがもはや有
効なサブページをもたないようにAのデスクリプタを変
更することによって破壊される。しかしながら、キャッ
シュBは、なおそのページに対するデスクリプタを有す
る。デスクリプタ・変更のようなフィールドは意味がな
い、ある他のキャッシュが続いてSVAベージを再創成
してさえ、キャッシュBのデスクリプタは、第1サブペ
ージが到着するまで元のままであろう、  システムソ
フトウェアは、デスクリプタ情報を使用しようとすると
きには、SVAページが真にメモリシステム存在するこ
とを保証しなければならない、これを遂行する1つの方
法は、ページアンカーをつねにセットし、局部キャッシ
ュに少なくとも1つのの有効サブページを得ることであ
る。変更およびアトミック変更フィールドが設定されて
いないことを絶対に確実にするためには、ソフトウェア
は最初排他的状態で各サブページを得なければならない
、アンカーは、いずれかの他のキャッシュがすでに得ら
れた他のサブページを非同期的に取得することを阻止す
る。
動作が完全であると、システムソフトウェアは局部的キ
ャッシュにおけるデスクリプタ・アンカーをクリヤする
。そのとき、そのページのサブページに対する他のキャ
ッシュ要求が、再び所有されることになう。
システムソフトウェアまた、ページを創成する前に、S
VAベージがメモリシステムに真に存在していないこと
を保証することが必要となる。上述のように、正しいタ
グ値をもつデスクリプタの単なる存在は、S■^ページ
が実際にメモリシステムに存在することを指示しない、
ソフトウェアは、ページアンカーを設定し、ついで排他
的状態をもつサブページを引き出すことを試みることに
よって非存在を確認し得る。引出に成功すると、ソフト
ウェアは競争に負け、ページはメモリシステム内に存在
している。そうでない場合には、ソフトウェアはmpd
w命令を使用してページを創成でき、排他的に所有され
る全ページに関してSVAページアドレスを設定する。
この目的のためにmpdwの同時使用に対してソフトウ
ェアによるインクロックが存在することがなお必要であ
ることに留意されたい。
[サブキャッシュの考察J 第2図に示されるように、各プロセッサ例えば18Aは
、命令サブキャッシュ62およびデータサブキャッシュ
64を含む、これらのキャッシュはサブキャッシュと称
される。命令サブキャッシュ62がイネーブルされると
、すべてのCPU命令が命令サブキャッシュから得られ
る。たいていのCPUロード/ストアクラス命令は、サ
ブキャッシュのデータで動作するが、若干のものは局部
キャッシュのデータで直接的に動作する。データは、C
PUが命令を引き出すときまたはCPUが(はとんどの
)ロードまたはストアを実行するとき、局部的キャッシ
ュからCPUに移動する。データは、ある他のセルから
の要求に応答して局部キャッシュがデータを要求すると
きまたはCPUがサブキャッシュスペースを再使用しな
ければならないとき、CPUからキャッシュに移動する
[サブキャッシュ構造] 第2図を参照して説明すると、各サブキャッシュ62.
64は256にバイトのSVAスペースを記述する。サ
ブキャッシュは、キャッシュ同様に64ビツトワードに
基づく、サブキャッシュの両側は、構造がキャッシュに
類似であるが、ユニットサイズが異なる。サブキャッシ
ュは、ブロックおよびサブキャッシュの単位でデータを
記憶する。
サブキャッシュは、2ウエイセツトアソシエイテイブで
あり、64セツトを有する。ブロックは、2” f20
48)バイトを含み、これが2’ (64)バイトの2
’ (32)サブブロックに分割される。 cpuは、
ブロック基準でサブキャッシュスペースを配分し、そし
て各ブロック内においては、特定のサブキャッシュ内に
各サブブロックが存在する場合もあり、存在しない場合
もある。
サブキャッシュブロックおよびSVAページ間の関連は
、各サブキャッシュによりそのサブキャッシュディレク
トリに記録される。各サブキャッシュディレクトリは、
サブキャッシュデスクリプタより構成される。サブキャ
ッシュ内の各メモリブロックに対して1つのデスクリプ
タが存在する。
サブキャッシュデスクリプタは、有効または無効のいず
れかであるということができる。ブロック内のいずれの
サブブロックも有効であれば、それは有効である0局部
キャッシュも同じSVAページに対して有効デスクリプ
タを有する場合のみ、サブキャッシュデスクリプタは有
効とし得る。さらに、ブロック内の各サブブロックの状
態は、局部キャッシュ内の対応するサブページの状態よ
り強くてはいけない。
[サブページおよびデータ共有1 メモリシステム内にページが存在するとき、そのサブペ
ージの各々は、1または複数のキャッシュ例えば27A
、72Bに存在する。サブページがキャッシュ内に存在
する場合、包含するSVAページに対するデスクリプタ
(そのキャッシュにおける)は、そのサブページの存在
を数種の状態で記録する。キャッシュにおけるサブペー
ジの状態は、2つのことを決定する。すなわち そのキャッシュの局部プロセッサは、サブページに存す
るデータに関しどんな動作を遂行し得るか。
必要ならば、そのキャッシュは、他のキャッシュからド
メインを介して受信されるそのサブページに対する要求
に対してどんな応答をなすか。
キャッシュ例えば72A、72B内のサブキャッシュの
状態は、プログラムが特定の状態を必要とする動作を要
求するとき時間とともに変化する。1組の転換ルールが
、プロセッサ要求およびキャッシュ内ドメイン通信から
生ずるサブページ状態の変化を特定する。
プロセッサ例えば40Aが命令またはデータの参照を完
成するためには、数種の条件が同時に満足されねばなら
ない。
命令の参照の場合、データを含むサブブロックは、命令
サブキャッシュに存在しなければならない、たいていの
データ動作の場合、データを含むサブブロックは、デー
タサブキャッシュ内に適当な状態で存在しなければなら
ない。
データを含むサブページは、局部キャッシュに存在しな
ければならない。
局部キャッシュは、サブページを適当な状態で保持しな
ければならない。
もしもデータがサブキャッシュに必要とされる状態で存
在しないが、正しい状態で局部キャッシュに存在すると
、CPUはキャッシュからデータを得る。もしも局部キ
ャッシュがデータを正しい状態で有さないと、キャッシ
ュはドメインを介して通信し、サブページのコピーを得
るか、そのサブページに対して必要な状態を得るか、そ
の両方を行う、もしもキャッシュが要求を満足しないと
、キャッシュは、プロセッサに適当な例外を報知するエ
ラー信号を戻す。
命令セットは、数種の異なる形式のロードおよび記憶命
令を含が、この命令は、プログラムに、現在の制御スレ
ッドの予想される将来のデータ参照パターンに適当なサ
ブページ状態、ならびに並列の応用における異なる制御
スレッド間のプロトコルを要求せしめる。このセクショ
ンは、先ず、状態およびそれらの転換をプロセッサ命令
およびそれらのキャッシュへの影響に関して記述する。
[サブページ状態〕 サブページ状態およびそれらの転換ルールは、プログラ
ムに対して2つの一般的な機構を提供する。すなわち、 機構は、システムのプロセッサによる普通のロードおよ
びストアアクセスに対して強く命令された逐次的に一貫
的なメモリアクセスモデルを透過的に実施する。
機構は、並列計算を同期するためにプログラムにより使
用される1組のトランザクションブロミティブを提供す
る。これらのプリミティブは、種々の従来形式および非
従来形式の同期機構に適用され得る。
データ共有の基本的モデルは、無効、リードオンリーお
よび所有者の3つのクラスのサブページ状態番こよって
定義される。これらの3つのクラスは、それらが許容す
るアクセスに従う強さで命令される。無効状態は、アク
セスを許容しない、リードオンリー状態は、ロードおよ
び命令フェッチアクセスを許容する。数種の所有者状態
が存在するが、これらはすべてロードアクセスを許容し
、キャッシュをして相互接続部からのデータ要求に応答
せしめ、またあるものはストアアクセスを許容する。1
つのキャッシュのみが、任意の所与の時点において特定
のサブページを所有者状態で保持し得る。サブページを
所有者状態で保持するキャッシュは、サブページの所有
者と称される。各サブページの所有権は、プロセッサが
、所有権を要求するストア命令および特別のロード命令
により所有権を要求するとき、キャッシュからキャッシ
ュに移動する。
[基本状態] 以下のセクションは、状態クラス、およびそれらが強く
命令される逐次的に一貫的なメモリアクセスモデルを実
施するためにどのように相互作用するかについて記述す
る。
[無効状態] サブページがキャッシュ内に存在しないと、それはその
キャッシュに関して無効状態にあるといわれる。プロセ
ッサ例えば40Aが、その局部キャッシュにおいて無効
状態にあるサブページへのロードまたはストアを要求す
ると、そのキャッシュは、データアクセスを満足するた
めにそのサブページのコピーをある他の状態で要求しな
ければならない、2つの無効状態すなわち無効デスクリ
プタヒ無効が存在する。
特定のキャッシュが特定のページに対してデスクリプタ
をもたなければ、そのページの全サブページは、そのキ
ャッシュにおいて無効デスクリプタ状態にあるといわれ
る。かくして、無効デスクリプタ状態にあるサブページ
は、そのキャッシュに明白に表わされない。
CPUが無効デスクリプタにあるサブページを参照する
とき、局部キャッシュはデスクリプタの1つ(正しいセ
ットにある)をSVAに割り当てる。
デスクリプタ割当てが完成した後、そのページの全サブ
ページは無効状態を有する1局部キャッシュが特定のペ
ージに対してデスクリプタを有するが、特定のサブペー
ジがそのキャッシュに存在しないと、そのサブページは
無効状態にある0局部キャッシュは、他のキャッシュと
通信することによってサブページデータを得ようとする
[リードオンリー状態〕 1つのみのリードオンリー状態、すなわちリードオンリ
ーが存在する。サブページの所有者がサブページを非排
他的状態に保持することを条件として、任意数のキャッ
シュ例えば72A、72Bが特定のサブページをリード
オンリーに保持することがあり得る。サブページの所有
者が、任意の他の状態(すなわち排他的所有権状態、排
他的、アトミックまたはトランジェントアトミック)を
有すると、リードオンリーコピーはどのセルにも存在し
得ない、 CPUは、リードオンリー状態にあるサブペ
ージを変更できない。
[所有者状態] 2つの基本的所有者状態形式、すなわち非排他的および
排他的所有権が存在する。特定のキャッシュが特定のサ
ブページを非排他的状態に保持するとき、ある他のキャ
ッシュはそのサブページをリードオンリー状態で保持し
ていることができる。
プログラム上は、非排他的状態は、リードオンリー状態
と同じである。 cpuは、非排他的状態にあるサブペ
ージを変更できない、非排他的状態は、基本的にはメモ
リシステムにより使用されるブックキーピング状態であ
り、そしてそれはサブページの所有権を定める。
排他的所有権状態は、排他的、アトミックおよびトラン
ジェントアトミックである。特定のキャッシュが特定の
サブページを排他的所有権状態で保持すると、他のキャ
ッシュは、サブページのリードオンリーまたは非排他的
コピーを保持し得ない0局部キャッシュがサブページを
排他的所有権状態で保持すると、STTがセグメントへ
の書込みアクセスを許容しかつディスクリブタ・書込み
なしフラグがクリヤ状態にあることを条件としてすブベ
ージデータを変更できる。
[アトミック状態] アトミック状態は、排他的状態よりも強い所有権形式で
ある。サブベージのみが、プログラムによる明白な要求
の結果としてアトミック状態に出入りできる。
基本的には、アトミック状態は、SVAスペースの任意
のサブページへのシングル−スレッドアクセスに使用で
きる。プロセッサがサブページがアトミック状態に入る
ことを要求すべ(gsp、nwt(サブベージ取得、待
ちなし)を実行すると、命令は、通常、サブページがす
でにアトミック状態に欠幻場合のみ完了する。かくして
、サブページ上のアトミック状態は、単一のロックとし
て使用できる。ロックは、gsp、 nwt命令が、通
常、最初にサブページを排他的状態で得て、状態を排他
的からアトミックに変更することによって、完了すると
きに行われる。ロックは、rsp (サブベージ解放)
命令を実行することによってロックを解除される。 r
sp命令は、サブページがアトミックまたはトランジェ
ントアトミック状態であるキャッシュに存在することを
必要とする1局部キャッシュは、サブページを取得し、
ついでサブページをアトミックまたはトランジェントア
トミック状態から排他的状態に変える。(もしもサブペ
ージがトランジェントアトミック状態を有するならば、
動作は一層複雑となるが、結果はプログラム上同じであ
る。) アトミック状態はサブページとのみ関連していることに
留意することが重要である。特定の動作中システムプロ
セス(代表的には使用者プログラム)または特定のセル
との関連はない。
プロセスがgspを実行して、アトミック状態にあるサ
ブページを取得し、続いてシステムソフトウェアにより
切り替えられて、他のセル上での実行を継続するように
することが重要である。そのプロセスが第2のセル上に
おける実行を継続し、究極的にサブページを解放すべ(
rsp命令を実行する。これらの2つの命令間において
は、全メモリシステムにはそのサブページの単一のコピ
ーしかなく、そしてそれはアトミックまたはトランジェ
ントアトミック状態にあるであろう0種々のプロセッサ
がサブページを参照する命令を実行すると、その単一の
有効コピーは、セルからセルへ移動する。特定のプロセ
スがアトミック状態を取得し、他のプロセスがアトミッ
クを解放することも可能である。
アトミック状態は、サブページと関連する追加のフラグ
であり、サブページのデータ状態に加えてアトミック状
態を使用するプロトコルを実施することができる。デー
タのみをを使用して実施されるプロトコルがエラーを有
することがあるのと同様に、アトミック状態プロトコル
が欠陥である可能性がある。ハードウェアは、アトミッ
ク状態の使用に何らチエツクを課さない(STTおよび
デスクリプタ・アトミックなしにより課されるアクセス
制御以上に)。
[トランジェントアトミック状態] gsp、 nwt命令は、つねにその限定された実行時
間内に完了するが、(メモリシステム内のサブページの
現在の状態に依存して)持続する場合もあるし持続しな
い場合もある。命令の第2の形式は、gsp、wt (
サブベージ取得、待ちあり)であるが、これは、サブペ
ージが排他的状態で得られアトミック状態に変わるまで
完了しない、 gsp、wt命令は、gsp命令が成功
したかしなかったかを決定する負担を、プログラマから
解放する。プロセッサ例えば40Aがgsp、 wtを
実行するとき、サブページがすでにアトミックまたはト
ランジェントアトミック状態にあれば、サブページが解
放され、局部キャッシュで得られ、排他的状態からアト
ミックまたはトランジェントアトミック状態に変化する
までプロセッサは停止する。 gsp、wt命令の使用
は、セルがロックをロックする機会を待つから、キャッ
シュ間において送られるメツセージの数を減することが
できる。
トランジェントアトミック状態は、 gsp、wtを効
率的に機能せしめるようにメモリシステムにより自動的
に使用される。その使用は、プログラマには全く透過的
である。サブページがアトミック状態にあり他のキャッ
シュがそのサブページ上のgsp、 wtを実行するな
らば、そのサブページは、保持しつつあるキャッシュに
おいてトランジェントアトミック状態に入る。サブペー
ジが後でrsp命令で解放されると、トランジェントア
トミック状態は、サブページをして特別の解放状態にあ
る相互接続部に駆逐せしめる。解放しているキャッシュ
例えば72A、72Bは、サブページに対するそれ自身
の状態を無効に変えるm gspを実行しているどのキ
ャッシュも、サブページに遭遇しそれを受は入れる。受
入れ中のキャッシュは、ついでそのgsp命令を完了す
ることができ、サブページはそのキャッシュにおいてト
ランジェントアトミック状態に入る。この動作は、各後
続のgspおよびrspに対して起こり、駆逐されるサ
ブページがどの他のキャッシュによっても受は入れられ
なくなるような時点まで続く、そのとき、解放を遂行す
るキャッシュは、そのサブページを無効状態(サブペー
ジが解放されたときにセットされた)から排他的状態に
変える。
解放状態をもつパケットを、CPUがロードまたはスト
ア命令を遂行しつつあるキャッシュにより受は入られる
ことも可能である。原キャッシュは、サブページが受は
入れられたのを見て、そのサブページを無効状態のまま
におく、受入れ中のキャッシュは、そのCPUをして、
サブページを撤回する前に単一の命令を実行せしめ、そ
れ自身のサブページ状態を無効にセットし、サブページ
を解放状態で送出する。ロードまたはストアを実行して
いたキャッシュは、ここで、この解放の目的のためペー
ジの所有者である。前と同様、他のキャッシュがデータ
を受は入れなければ、このキャッシュは、サブページ状
態を排他的状態に変え、所有権を保持する。
gsp、 wt命令が待ち得る時間に制限はない、命令
を発したプロセスは、サブページが解放されるまで待機
する。命令は、種々の周囲コントローラインターフェー
ス(’XIUj)信号により中断される得る。かかる事
象が起こると、CCUは、アトミックアクセスを得よう
とする試みを放棄する。サブページがその間に解放され
そして他の要求者がないと、サブページは、トランジェ
ントアトミック状態から解放状態に、そして最終的に排
他的状態に変わる0代表的システムソフトウェア動作で
は、割込みが処理され中断された命令が再スタートされ
るから、CCUは再度要求を発する。前と同様に、それ
が進行する場合もあり、待機せしめられる場合もある。
[状態転換] データがある所有しているキャッシュから他のキャッシ
ュに移動する基本的機構は、命令引出し、およびそれら
の他のキャッシュに対して局部的なプロセッサによるロ
ードおよびストア命令の実行である。異なるロードおよ
びブリフェッチ命令は、プログラムに、それらの局部キ
ャッシュがJ−ドオンリーまたは排他的所有権状態を取
得することを要求せしめ、またストア命令は、つねに、
サブページが排他的所有権状態を有することを必要とす
る。ある状況においては、キャッシュは、相互接続上に
それが通過するサブページのリードオンリーコピーを得
ることがある。サブページボスト−ストア(pstst
)命令は、サブページのリードオンリーコピーをすべて
の関係するに通信する。最後に、所有中のキャッシュは
、後で再結合する部分として相互接続上に所有権状態を
送出し得る。命令フェッチおよびロード命令により、局
部キャッシュはサブページのリードオンリーコピーを要
求する結果となり得る。この要求は、サブページを所有
するキャッシュにより応答される。所有中のキャッシュ
は、非排他的状態でサブページを有するならば、要求中
のキャッシュにリードオンリーコピーを供給するが、そ
れ自身の状態を変えない、所有中のキャッシュは、排他
的状態でサブページを有するならば、それ自身のサブペ
ージ状態を非排他的状態に変え、ついでリードオンリー
コピーを要求者に供給する。所有中のキャッシュは、ア
トミックまたはトランジェントアトミック状態でサブペ
ージを有するならば、その状態でサブページを供給し、
そしてそれ自身のコピーを無効化する。
キャッシュが排他的所有権を要求すると、所有中のキャ
ッシュは、サブページのそのコピーを生ずる。サブペー
ジが非排他的状態で所有されると、他のキャッシュにお
いてはリードオンリーコピーが存在する可能性がある。
すべてのかかるキャッシュは排他的所有権要求に応答し
て、それらのリードオンリーコピーを無効化する。
キャッシュが、ストア命令を満足するために、排他的所
有権状態でサブページを取得する場合は、ストア命令が
完了するまで、所有権またはリードオンリーコピーを他
のキャッシュに授けない、このルールは、メモリ位置の
リーダーが変更がなされる順序で変更に遭遇することを
保証するがゆえに、メモリシステムにおける強く命令さ
れた性質である。
サブページがアトミック状態にあるとき、この状態はト
ランジェントアトミック状態に変わり得るが、何らかの
ロードまたはストア命令の結果として、それが他の状態
に変わることは決してない、ある他のキャッシュがサブ
ページを要求するとき、そのキャッシュはつねにアトミ
ックまたはトランジェントアトミック状態でサブページ
を得る。サブページが排他的状態に解放された後、排他
的および非排他的状態間の転換は、再び起こり得、サブ
ページが非排他的に所有される場合にはリードオンリー
コピーが存在し得る。
特定のサブページが特定のキャッシュにおいて無効状態
にあり(すなわち、デスクリプタがすでに割り当てられ
ているが、特定のサブページが存在しない)、そのサブ
ページのコピーが、ある他のキャッシュからの要求に起
因してドメイン相互接続部で入手可能であると、無効状
態をもつキャッシュはそのサブページのリードオンリー
コピーを取得する。この機構の効果は、並列計算を加速
することである。何故ならば、これは他のキャッシュか
らのサブページのコピーの要求と関連する潜伏期間を除
去し得るからである。
[状態転換透過伝送機構] 基本的機構は、単純なロードおよびストア命令を使用す
るプログラムに、強く命令されたメモリアクセスモデル
ないし基準を提供することに注目することが重要である
。プログラムは、その性能を改善するために特定の状態
を要求するロード、ストアおよびブリフェッチの形式を
使用し得、そして多くの場合はコンパイラが必要な分析
を遂行することが予測される。しかしながら、この分析
は任意である。
[データおよび同期の統合] 簡単なトランザクションにおいては、サブページアトミ
ック状態は、純粋にロックとして使用される。サブペー
ジのデータは関係しない、もっと技巧的な形式の同期機
構のあるものでは、アトミック状態に保持されたサブペ
ージのデータを利用する。1つの技術では、サブページ
上のアトミック状態をそのサブページ内のデータ上のロ
ックとして使用する。プログラムは、1または複数のサ
ブページをアトミック状態にし、それらの内容を操作し
、そしてそれらを解放する。
[キャッシュの使用法および交換機能]各キャッシュは
、存在するすべてのページに対してLRtl状態を維持
する。 LFIUデータは、デスクリプタ連想メモリの
128セツトの各々に対して別個に維持され、それらの
最後の参照の概略の時間にしたがってセット内に16ペ
ージを整理する。
[基本的LRU保守〕 各キャッシュは、各セットのデスクリプタのLRUから
MRIJに至る順序設定を維持する。順序設定は、デス
クリプタ・LRu優先で維持される。各セット内の各デ
スクリプタは、デスクリプタ・LRU優先で0(MRu
)から15(LRU)までの値を有する。概念的には、
1ページが参照されるとき、MRUに移り、MRUから
参照ページの古いLR1l優先に至る全ページが、LR
IIに向ってlステップずつ移動する。
[デスクリプタ割当て動作] セット内の新しいデスクリプタが必要とされるとき、キ
ャッシュは、有用なデスクリプタを見出すに必要とされ
るだけの数の下記の動作を通って順に進行する。すなわ
ち。
無効のデスクリプタを見つける。
リードオンリーコピーを無効化する。
純粋のSV^ベージを破壊する。
上述の手段によりデスクリプタを割り当てることができ
なければ、ラインフルの例外を報知する。
個々の段階は以下に説明する。もしも無効デスクリプタ
が存在すれば、それは即座に使用できる。これは次の条
件を必要とする。すなわち、すべてのサブページが無効
状態にあり、かつデスクリプタ・保持およびデスクリプ
タ・アンカーが両方ともクリヤ状態にある。
ページのサブページがPRTエントリにより記述されて
いない。
リードオンリーコピーを無効化するためには、もしもc
tl$cculru  configu、cdeが1で
あれば、キャッシュはサブページのリードオンリーコピ
ーのみを含むデスクリプタを識別使用とする。キャッシ
ュは、下記の条件を有するページを待ちながらLRII
ないしMRUを捜索する。すなわち、全ページがリード
オンリーまたは無効状態にある。
サブキャッシュ化サブページがない。
ctl$ccu lru configu、cdlに等
しいかそれより大きいLRU値。
デスクリプタ・保持およびデスクリプタ・アンカーが両
方ともクリヤ状態。
ページのサブページがPRTエントリにより記述されて
いない。
容認できるデスクリプタが見出されると、すべてのサブ
ページは無効状態に変えられ、そのデスクリプタが使用
される。
純粋のSVAを落すために、もしもctl$ccu−1
ruconfig、 pdeが1であれば、キャッシュ
は、破壊され得る(メモリシステムから完全に除去され
る)SVAベージを識別しようとする。キャッシュは、
下記の条件を有するページを待ちながら、LRUないし
MRUを捜索する。
全ページが(種々の)排他的所有権状態にある。
サブキャッシュ化サブページがない。
デスクリプタ・変更およびデスクリプタアトミック変更
が両方ともクリヤ状態にある。
ctl$ccu lru configu、cdlに等
しいかそれより大きいLRU (直。
デスクリプタ・保持およびデスクリプタ・アンカーが両
方ともクリヤ状態。
ページのサブページがPRTエントリにより記述されて
いない。
もしも容認可能なデスクリプタが見出されると、すべて
のサブページは無効状態に変えられ(それによりSVA
ベージを破壊する)、そしてそのデスクリプタが使用さ
れる。
[ロードおよびストア命令コ 参照されるアドレスを含むサブブロックが必要とされる
状態のサブキャッシュに存在しないとき、プロセッサ例
えば40Aは、要求としてロードおよびストア命令をそ
の局部キャッシュに通す、異なる形式のロードおよびス
トア命令は、下記の命令のアクセスパターンに関する情
報を局部キャッシュに通す0例えば、命令の順序が、ロ
ードおよびそれに続くストアであり、データアイテムを
含むサブページがまだ局部キャッシュに存在していない
と、ロード命令に対するリードオンリーコピーを得るよ
りも、ロードに対する所有権を取得し、ついで二度目に
ドメインを介して通信し、ストア命令に対する所有権を
取得するのが一層有効である。
サブキャッシュのサブブロックの状態は、キャッシュ内
の対応するサブページの状態をつねには反映しない、命
令サブキャッシュは、つねにデータのリードオンリーコ
ピーを得る。データサブキャッシュは、サブブロックを
リードオンリーまたは排他的状態に保持し得る。サブキ
ャッシュは。
キャッシュが排他的所有権状態を有しそしてデスクリプ
タ書込みなしがセットされない場合のみ排他的状態を有
し得る。(サブキャッシュは、排他的、7トミツク、お
よびトランジェントアトミックサブページ状態間を識別
しない、) サブキャッシュが排他的状態でサブブロッ
クを有すると、CPUは、新データをサブキャッシュに
入れることによりストア命令を実行する。 5t64.
nscを除くすべてのストア命令に対して、もしもサブ
ブロックがサブキャッシュにより記述されずあるいは無
効またはリードオンリー状態を有するならば、CPuは
ストア命令を完了する前に局部キャッシュから排他的状
態を要求しなければならない、もしもデスクリプタ・書
込みなしがセットされるかサブページがメモリシステム
に存在しないと、障害が生ずる。
サブページに対する要求が他のキャッシュから到着する
と、所有中のキャッシュが応答しなければならない、も
しもサブページの一部がデータキャッシュ内に存在する
れば、局部キャッシュは、サブキャッシュにしか存在し
ないかもしれない変更を得ることを保証しなければなら
ない、キャッシュはまた、CPuに、要求に依存して、
サブブロックに対するサブキャッシュ状態をリードオン
リーまたは無効に変化させる。特定の場合には、キャッ
シュはまた、命令サブキャッシュがサブページについて
のそのリードオンリーコピーを無効化することを保証す
ることになろう。
サブキャッシュ管理の単位(ブロックおよびサブブロッ
ク)とキャッシュ管理の単位(ページおよびサブページ
)間を識別することが重要である。データは、CPuお
よびその局部キャッシュ間をサブブロックで移動する。
データは、キャッシュ間をサブページで移動する。各サ
ブページに対して2つのサブブロックが存在する。
異なる形式のロードおよびストア命令について以下に記
述する。各記述は、命令の意味論の簡単な集約で始まり
、サブキャッシュおよびキャッシュ動作の概説に続く。
(リードオンリー)ロード[Id、ro ](リードオ
ンリー、サブキャッシュ化)ロード64 [1d64.
 ro、 sc] プログラムはデータ読取りのパターンを続ける。仕事の
最少量はデータを得るようになされる。もしも包含して
いるサブブロックがサブキャッシュ化されると、それは
直接使用される。もしも局部キャッシュがサブページを
有さないと、局部キャッシュはコピーを得る0局部キャ
ッシュは、適宜、排他的またはリードオンリー状態でサ
ブブロックをサブキャッシュに供給する。
(排他的)ロード[ld、 ex] (排他的、サブキャッシュ化)ロード 64[1d64
. ax、 scl プログラムは、下記の命令でサブブロックを書き込み、
そして排他的状態は任意の他の状態に好ましい、データ
が僅かの共有を有することが予期されるとき、または一
連の書込みが生じつつあったときに、プログラムがこれ
を使用する。これは、CPUがデータを変更し得る前に
必要とされる相互接続のメツセージの数を減する。
(排他的)ロード の使用の特定の例はスタックのよう
なプログラム毎データである。
−船釣には、かかるデータのリードオンリーコピーはな
い、何故ならば、唯一のコピーは、プログラムによる使
用におけるものであるからである。しかしながら、もし
もプログラムが一つのプロセッサから他のプロセッサに
移動すると、新しいプロセッサの局部キャッシュはコピ
ーを持たなず、古いプロセッサの局部キャッシュは、サ
ブページを排他的所有権状態で保持し続ける。プログラ
ムが(リードオンリー)ロードを使用した場合、局部キ
ャッシュは、サブページをリードオンリー状態で取得す
る(サブページがその状態が得られるアトミックまたは
トランジェントアトミック状態にない限り)、後続のス
トアは、何らかのCPuデータ変更が起こることがある
前に、キャッシュが他の相互接続要求をなすことを必要
とする(排他的所有権状態を得るために)。
Id、 roの場合と同様に5仕事の最小両はデータを
得るためになされる6もしも、サブブロックがサブキャ
ッシュにすでに存在すれば、それは直接的に使用される
。もしも局部キャッシュがサブページを有さなければ、
局部キャッシュはサブベージを排他的所有権状態で要求
する0局部キャッシュがサブページを有すれば、サブブ
ロックは、適宜、リードオンリーまたは排他的状態でC
PUに供給される。
ストア[st] (サブキャッシュ化)ストアー64 [5t64. s
clもしもサブブロックがすでに排他的状態でサブキャ
ッシュに存在すれば、サブキャ・ンシュ状態は変更され
ず、データはサブキャッシュに書き込まれる。
サブキャッシュは、排他的状態でサブブロックを有さな
ければならない、必要なとき、サブキャッシュは局部キ
ャッシュから排他的状態を要求し、そして局部キャッシ
ュは、相互接続部から排他的所有権状態を要求する。
もしもデスクリブター書込みなしフラグがセットされれ
ば、エラーがCPt1に報知され、CPUがページ書込
みなしの例外を発生する。
そうでなければ、サブキャッシュは、排他的状態でサブ
ブロックを得、データがサブキャッシュに書き込まれる
(リードオンリー、非サブキャッシュ化)ロード64 
[1d64. ro、 nsc](排他的、非サブキャ
ッシュ化)ロード 64[1d64. ex、 n5c
l プログラマ−は、1dに対して記述されたように、予測
される参照パターンに従い排他的およびリードオンリー
指示を使用する。しかしながら、サブブロックへの参照
の回数は少ないと予測され、そしてサブキャッシュはこ
のデータの引出中擾乱されてはならない。
データがサブキャッシュないに存在すれば、それは直接
的に使用される0局部キャッシュがサブページを有さな
ければ、局部キャッシュはコピーを得る。 cpuは、
データのコピーを得、指示レジスタをロードする。
(非サブキャッシュ化)ストア 64 [5t64. n5cl サブブロックへの参照の回数は少ないことが予測され(
代表的には1〉、そしてサブキャッシュは、データを記
憶中擾乱されてはならない。
もしもサブブロックが排他的状態でサブキャッシュに記
憶されていれば、サブキャッシュ状態は変更されず、デ
ータはサブキャッシュに書き込まれる。もしもサブペー
ジがリードオンリー状態でサブキャッシュに記憶されて
いれば、サブページは即座に無効化される。 CPt1
は、データを局部キャッシュに供給する。キャッシュが
排他的所有権状態でサブページを有さなければ、相互接
続部からそれを要求する。
デスクリプタ書込みなしフラグがセットされると、エラ
ーがCPUに報知され、Crtlはページ書込みなしの
例外を発生する。そつでない場合、CPUデータはキャ
ッシュのサブページに直接的に書き込まれる。
[命令フェッチ] 命令フェッチは、つねにリードオンリー状態を特定する
サブページを引き出す。
[サブベージアトミック状態命令] サブページアトミック状態命令は、上述の取得および解
放動作に対するプログラムインターフェースである。こ
れらの命令は、並列プログラムの精密な調整を可能にす
るため数種の形式で存在する。
サブベージ取得[gsp、 nwt] サブページ取得・待ちあり[gsp−wtlサブページ
取得は、サブページがアトミック状態でセットされるべ
きことを要求する。
サブベージ取得命令の画形式に対して、もしもサブキャ
ッシュがどのキャッシュにもアトミック状態で存在しな
ければ、局部キャッシュはそれをアトミック状態で取得
する。
gsp、 nwtの場合、 @MEM状態コードが試行
の成功または失敗を指示し、命令は、トラップオプショ
ンが命令に存在しかつサブページがすでにアトミックで
あれば@MEMを変えずにトラップされる。
gsp、 wt命令は、サブベージがアトミック状態で
得られることができるまで、キャッシュにCPUを停動
せしめる。これは、プログラムが進行し得る前にアトミ
ック状態を得なければならない場合、相互接続トラフィ
ックの量を減する。サブページがいずれかのキャッシュ
(局部キャッシュを含め)においてすでにアトミックで
あれば、命令は、サブページが解放されるまで待つ0局
部キャッシュは、ついでサブページをアトミック状態で
取得する。 @MEM状態は、つねに成功を指示するよ
うに変化される。
サブベージ解放[rspl サブベージ解放は、サブページをアトミック状態から除
去するのに使用される。もしもサブページが局部キャッ
シュに存在しなければ、それが、まず、相互接続部を介
して要求される。−置局部キャッシュが排他的所有権を
有すれば、rspが進行する。もしもサブページがアト
ミック状態になければ、サブベージ解放はサブベージ状
態を変えない、この状況において、もしもトラップ変更
子がこの命令に対して存在すれば、CPUはトラップさ
れる。もしもサブページがアトミック状態にあれば、そ
れは排他的状態に変えられる。もしもサブベージトラン
ジェントアトミック状態にあれば、それは排他的状態に
変えられ、待ち中のセルがアトミック状態を取得できる
ように相互接続部に駆逐される。
[他のサブベージ命令] サブベージボストストア[pstsp]サブベージボス
トストアは、プログラムに、サブページのリードオンリ
ーコピーを相互接続部に駆逐させる。そのベージに対す
るデスクリプタをもつすべてのキャッシュは、データの
コピーを取る。この命令は、ある動作を完成する一部と
してデータを送信するのに使用できるが、これは、ある
他のキャッシュが、データを使用することを必要とする
とき、相互接続部に読取り要求をなさねばならぬ可能性
を減する。
サブベージブリフェッチ[pcsp] サブベージブリフェッチは、サブページのコピーが特定
の状態において局部キャッシュで取得されるべきことを
要求する。命令は、リードオンリーまたは排他的状態を
要求し得る。サブページへの続いての参照は、サブベー
ジブリフェッチが完了するまでブロックされる。
[サブキャッシュからキャッシュへの更新]もしも局部
キャッシュがサブページを排他的状態で保持するならば
、プロセッサは、次の条件のとき変更をキャッシュに伝
搬する。すなわち、サブページがサブキャッシュから除
去されるか、あるいは 局部キャッシュが、サブページのコピー要求を受信する
。この場合、局部キャッシュは、変更されたコピーを明
白に要求する。
CPIJは停動して、ある要求に対するCCU応答を待
つ、これは、CCUがCPUに必要とされる状態でサブ
ページをもたないときに起こる。
CPUは、停動すると、排他的状態にある変更されたサ
ブページをその局部キャッシュに更新伝搬する(バック
グラウンド戻し書込み)。
キャッシュは、他のキャッシュからの要求に応答してサ
ブページを無効化するため、局部プロセッサをしてサブ
キャッシュからサブページを除去せしめる。
[プロセッサ側−サブキャッシュ動作]第1表は、プロ
セッサロード/ストアクラス命令およびサブキャッシュ
におけるアドレスされたサブブロックの状態の詳細を示
すものである。詳述すると、第1表は本発明にしたがっ
て構成されたディジタルデータ処理システムにおける局
部キャッシュに記憶されるデータに向けられるプロセッ
サアクセス要求の処理を描く状態テーブルである。もし
もヒツトが指示されれば、プロセッサは、ロードまたは
記憶のためサブキャッシュを直接的に使用する。ミスが
指示されれば、プロセッサは局部キャッシュと通信する
[メモリシステムの「マニュアル」制御]上述のように
、メモリシステムは、自動的なデータの共有およびLR
II保守で仮想メモリシステムを指示するように設計さ
れている。しかしながら、ソフトウェアは、特定の応用
に対してはメモリシステムの明示制御を取り得る。
通常の動作において、全プロセッサはSVAスペースを
共有し、データは、命令(および制御動作)に応答して
キャッシュからキャッシュへ自動的に移動する。ソフト
ウェアは、キャッシュ上のメモリの一部または全部をそ
の局部的非共有の使用に専用できる。この種のシステム
は、キャッシュ間でSv^スペースを仕切り、かかるデ
ータをキャッシュからキャッシュに移動させるのに明示
制御操作を使用しなければならない。
システムソフトウェアは、各デスクリプタにデスクリプ
タ・保持をセットすることによって、キャッシュがペー
ジを移動ないし破壊して他のページに対して場所を開け
るのを防ぐことができる。
そのとき、システムソフトウェアは、各キャッシュメモ
リを多重化するに必要とされるところに従って、例外を
処理しあるいは明示的破壊を遂行できる。
自動モードにおいては、メモリシステムは、共有メモリ
マルチプロセッサとして構成され得る。
種々の自動の特徴が不能化されるとき、メモリシステム
は、より粗結合のメツセージ指向アーキテクチャを擬似
するように構成できる。メツセージは、特別SVA範囲
の参照によりバスできる。メモリシステムの手動制御は
、特定のメモリモデルを強制的により綿密にするのに使
用できる。
[メモリシステム制御命令コ 制御動作は、プロセッサ例えば40Aが、メモリシステ
ムを直接的に操作することを可能にする。2つのクラス
の制御命令がある。すなわち、データ移動およびページ
状態制御である。データ移動制御命令は、システムにお
いてデータのページおよびサブページをキャッシュから
キャッシュに移動する。ページ状態制御命令は、ページ
デスクリプタを操作する。
[命令実行モデル] CPu命令は、指令に依存して同期的または非同期的に
実行されるキャッシュ指令をもたらす。
CPUキャッシュ命令は、進行中、キャッシュPRT(
ハードウェアテーブル)の1つのエントリを占める。 
PRTは4つのエントリな有するから、最大4つのキャ
ッシュ命令が平行に実行され得る。たいていのCPIJ
命令は、要求が満足されるまで使用状態に留まり同期的
態様を提供する1つのPRTエントリの割当てを受ける
0例えば、ロード/ストア命令は同期的に実行されるか
ら、特定のソフトウェア制御の例外(脱落ページや書込
み不能なページのような)は、予測可能な態様で解(こ
とができる* pcsp (キャッシュサブページブリ
フェッチ)およびpstsp (サブページボスト−ス
トア)命令は、以下のセクションに記述されるように、
非同期的に動作する。同期的エラーは、普通、CPUが
トラップシーケンスを実行する結果となる。
この場合、「制御ロケーション」のチャプタに記述され
るように、他の情報がCCP制御ロケーションから得ら
れる。
非同期的エラーは、実際のハードソフトウェアからもた
らされ、あるいはある他のキャッシュからの要求によっ
て惹起される。この種のエラーは、メモリシステム割込
みにより報告される。
[ブリフェッチ命令] ブリフェッチ命令は、サブページのコピーが特定の状態
において局部キャッシュ上に取得されるべきことを要求
する。 pCFipはサブページをブリフェッチする。
キャッシュは、この命令が検出されたとき1つのPRT
エントリを割り当てる。サブページがすでに存在してい
れば、PRTエントリーは解放され、pcspは完了す
る。そうでない場合、キャッシュは要求を発し、ついで
CPt1に命令の完成を指示する。これは非同期的に進
む、メツセージが要求またはレスポンスとして戻ると、
キャッシュはデータを受は入れ(もし存在すれば)、そ
してPRTエントリを開放する。CPUに対してデータ
が到着したという指示はない。
[サブページボスト−ストア命令] pstsp命令は、サブページのコピーが相互接続部上
で循環され、それにより包含するページに対するデスク
リプタを有するキャッシュがサブページのリードオンリ
ーコピーを取得し得るようになるべきことを要求する。
 pstspは、サブページ内のサブブロックを参照す
る。サブブロックが排他的状態でサブキャッシュに記憶
されており、サブキャッシュにおいて変更されると、C
PUは局部キャッシュからボストストア動作を要求する
。そうでない場合は、pstsp命令番よ影響を有さな
い、キャッシュは、PRTエントリを割り当て、CPU
からサブページデータを要求する。ついで、キャッシュ
は、ボスト−ストアメツセージを相互接続部に提示し、
PRTエントリーを解放し、CPt1に対して命令の完
了を指示する。 CP[Iは、非同期的に進む、メツセ
ージは、発行しているキャッシュに戻ると、廃棄される
[サブページフェッチ命令] mfsva命令は、システムソフトウェアに、サブペー
ジをリードオンリーまたは排他的所有権状態で取り込み
込ませ、サブページのSVA位置を特定させる。これに
より、ソフトウェアは、pcsp  に要求されるよう
なりSTT変換を設定するという努力を節減できる。
[サブキャッシュ化すブベージフラッシュ命令]mfl
sp命令は、特定されたサブページが局部CPUにサブ
キャッシュ記憶されていないことを、キャッシュに保証
せしめる。もしもサブページが無効−デスクリブタ状態
または無効状態にあると、デスクリプタは割り当てられ
ず、サブページは相互接続部を介して要求されない。
[サブページ再結合命令] mrcsp命令により、システムソフトウェアは、所有
権を他のキャッシュに移動せしめることによって、ペー
ジに対する活動ディスクリブタの数を減することができ
る。
キャッシュのバックグラウンド再結合活動状態と異なり
、この命令はキャッシュ形態パラメータにより制御され
ない。
Eページ状態制御命令J ページ状態制御命令は、SVAスペースの個々のページ
で動作する。
[デスクリプタアンカー命令] mpsa命令は、SVAベージに対する局部キャッシュ
に係留されたでデスクリプタを提供する。もしもデスク
リプタがmpsa前にすでに存在したならば、そのアン
カーフラグがセットされる。そうでないならば、キャッ
シュはデスクリプタを分配し、ついでアンカーフラグを
セットする。ページ状態制御動作は、SVAベージに対
して係留されたデスクリプタが、局部キャッシュ上に存
在すべきことを要求するや [デスクリプタ書込み命令] mpdw命令は、SVAページを創成、破壊し、かつ既
存のSVAベージのデスクリプタフラグを変えるのに使
用される。 mpdwは、システムソフトウェアが、n
’1psaを使用して、先ずそのページに対する係留さ
れたデスクリプタを得ることを必要とする。
下記の論述は、係留されたデスクリプタが局部キャッシ
ュ上に存在することを仮定する。
[SVAベージの創成] mpsaに続いて、デスクリプタが存在するが、全ペー
ジは無効状態にある。システムソフトウェアは、全サブ
ページ状態が排他的にセットされるべきことを特定する
mpdwを実行する。これにより、メツセージが、相互
接続部に送られ、それにより関係するリングのメンバが
、ページの創成に気づくことができるようにする。
ここでSVAページが存在するが、そのデータ値は限定
されない、ソフトウェアは、使用者にページを参照せし
める前に、ストア命令またはIloを使用してそのペー
ジをイニシャライズしなければならない、この理由のた
め、ソフトウェアは、普通、使用者プログラムにアクセ
ス不可能なSVA位置にてページを創成し、ページデー
タをイニシャライズし、ついで追って説明されるように
SVAベージのアドレスを変更する。ページは、7ンカ
ーをクリヤするmpdv命令を実行することによって、
−膜内使用のために解放される。
[SVAベージ破壊] mpsa後、システムソフトウェアは、全サブページを
排他的状態で得なければならない、これはmfSVa命
令を使用してなされる。ついで、ソフトウェアは、全サ
ブページが無効状態に変化されるべきことを指定するm
pdw命令を実行する。この命令により、メツセージが
相互接続部に送られ、関係のあるリングのメンバがペー
ジの破壊に気づくようにする。 SVAベージは、この
動作により破壊される。ソフトウェアは、7ンカーをク
リヤする第2のmpdwを実行することによってデスク
リプタを再使用のために解放する。
[デスクリプタフィールド変更] mpdw命令は、局部デスクリプタの種々のフィールド
を変えるのに使用される。これは、変更、アトミック変
更、書込みなし、アトミックなしおよび保持フィールド
をセットまたはクリヤし得、そしてアンカーフィールド
をクリヤし得る。 mp+Jvはまた、タグ、したがっ
てデスクリプタと関連するSVAスペースアドレスを変
化し得る。(デスクリプタのインデックスは、SVAの
一部を形成するから、新タグは定義により同じキャッシ
ュセットにある。) メモリシステムの一貫性を保証するために、システムソ
フトウェアは、デスクリプタのフィールドまたはタグを
変えるとき特定のルールに従わねばならぬ、 mpdw
は、デスクリプタ・アンカーがセットされるべきことを
要求する(命令それ自体はデスクリプタ・アンカーのク
リヤをもたらすことがあるかもしれないが)9種々のシ
ーケンスは、全サブページが排他的所有権状態で局部キ
ャッシュに存すべきことを要求する。これは、各サブペ
ージに対してデスクリプタアンカーをセットし、mfs
va、 exををセットすることによって遂行される0
種々のシーケンスは、全サブページが局部キャッシュに
おいてサブキャッシュ記憶されていないことを必要とす
る。これは、局部CPUにサブキャッシュ記憶されてい
るかもしれない各サブベージに対して+mf Ispを
実行することによって遂行される。  (mfsva、
 exを実行することは、サブベージがどの他のセルの
C10によってもサブキャッシュ記憶されていないこと
を保証する。) 下記のリストは、各フラグおよびタグに対して有効に働
く制約を与える。
アンカーがセットされ、(普通)任意のデスクリプタタ
グまたはフラグ変更の一部としてクリヤされる。これは
、任意の継続時間セット状態に留まることができるが、
共有メモリシステムにおいてはできるだけ早くクリヤさ
れる。
保持は、制約なしに特定のセル上でデスクリプタな保持
または保持解放するために変更できる。
アトミック変更およびアトミックなしを変えることは、
全ページが局部キャッシュ内において排他的所有権状態
にあるべきことを必要とする。
変更をクリヤし書込みなしをセットすることは、全サブ
ページが局部キャッシュにおいてサブキャッシュ記憶さ
れていないことを必要とする。これは、局部サブキャッ
シュが如何なるサブブロックをも排他的状態で有さず、
また如何なる変更されたサブブロックをも有さないこと
を保証する。被変更書込みなしを変化させるときは、シ
ステムソフトウェアは、その変化がそのページを参照す
るすべてのセルにより認識されるべきか否かを決定し得
る。広域的な変化を行うには、全サブページが局部キャ
ッシュにおいて排他的所有権状態にあるべきことを必要
とする。(システムソフトウェアは、普通、被変更フラ
グをクリヤするとき広域的な変化をなす、) 局部的変
化を行うには、どのサブページも排他的所有権状態にあ
るべきことを必要としない、しかしながら、これは、断
状態の認識の遅延をもたらす。
SVAページ数を変化させるには(タグを変えることに
より)、全サブページが排他的所有権状態にあり、実行
中セルでサブキャッシュ記憶されないことを必要とする
単一ビットフィールドの変更は、単一のmpdw、 d
esc命令で遂行される。この命令は、変化されたフラ
グの新値、他のフラグに対する探偵およびタグを含む、
システムソフトウェアは、ページを係留状態に維持する
ため特別の理由を有さなければ、アンカーフラグをクリ
ヤする。
デスクリプタのSVAベージ数を変更することは、旧ペ
ージを破壊しついで同じデータを有することがある新ペ
ージを創成することと論理的に同じである。シーケンス
は次の如くである。
旧SVAベージに対してデスクリプタを係留し、排他的
所有権状態で各サブページを得る。どれかのサブページ
がアトミックまたはトランジェント−アトミック状態を
有すれば、それは実行中のセルで取得される。−度全サ
ブページが取得されたら、旧Sv^へのアクセスは、脱
落ページ障害をもたらす。
各サブページのアトミック状態の決定。
これは各サブページについてgsp、 nwtを実行し
、得られた@MEMインジケータを試験することによっ
て最も迅速に遂行される。旧Sv^のサブページに対す
るgsp、 wtをすでに実行しているセルは、究極的
にタイマー中断をもたらし、モしてgsp、 wtが再
開されるとき、脱落ページ障害をもたらす。
全サブページを無効状態に変えるためmpdwa1目を
使用、この命令は、局部CCUに、SV八へ−ジが破壊
されつつあることを局部CIUおよびDRC(もし要す
れば)へ報知せしめる。全サブページが無効状態に変更
されてさえ、データは局部CCUに留まる。
タグおよびセットフラグを所望の状態に変えるためmp
dw、 deseを使用、新アンカーフラグがセットさ
れねばならない。
全サブページを排他的状態に変えるためmpdw、al
lxを使用、この命令は、局部CCUに、SVAベージ
が創成されつつあることを局部CIuおよびDRC(も
し要すれば)へ報知せしめる。旧データは、ここで排他
的状態にあると認識される。
各サブページの保存されたアトミック状態の復旧、保存
状態にあった各サブページに対して、gsp、 nwt
を発行。
アンカーフラグをクリヤするためmpdw、 desc
を使用。
デスクリプタ書込みなしの使用は、次のことを含む、す
なわち特定のデータの不注意な変更の防止、書込み時コ
ピー/アクセス時コピープロトコルの支持、デバッガ監
視点である。第1の場合、書込みなしがセットされ、セ
ット状態に留まる。
第2の場合、プログラムがページを変更しようとすると
、システムソフトウェアは、他のユーザに利用可能なペ
ージのコピーを作り、ついで書込みなしをクリヤするこ
とによって応答できる(このチャプタの前の方のシステ
ムプログラミングノート「アクセス時コピー」参照)、
ソフトウェアは、この変化を局部的または広域的になし
得る。
前者の場合、そのページを参照する他のセル上で書込み
障害が起こり続けることはあり得ない、最後に、デバッ
ガ監視点は、コンテキストアドレススペースの特定の領
域の変更を検出することを意図される(例えば、広域変
数が破壊されつつあるところを見出す)、システムソフ
トウェアは、そのページに対して書込みなしを設定し、
各変更試行をトラップすることによってこれを実施する
監視範囲以外の変更に対して、ソフトウェアは、そのペ
ージを係留し、書込みなしをクリヤし、データを変更し
、データをサブキャッシュから放出し、書込みなしをセ
ットし、そして進行する(書込みなしに対して広域的変
更をなすことによって、監視点サポートを実施すること
ができる。
mfpl命令は、キャッシュのLRUスペース内の特定
の1組を捜索して、特定の1組の基準に適合するデスク
リプタを求める。捜索は、LRU位置15におけるデス
クリプタで始まり、基準に合格するまで上昇進行する。
[命令およびデータシステムアドレススペース分割)] 正しい動作を保証するためには、キャッシュは、いつサ
ブページもCPUに存在するかを知らなければならない
、これにより、キャッシュは、相互接続部(またはさら
には局部cpu )からのある要求がサブページ状態変
化を要求するときサブキャッシュ無効化を要求すること
ができる。
この機構の一部として、CPUは、サブキャッシュ記憶
状態を変化させるとき、キャッシュと通信する。しかし
ながら、キャッシュは、サブキャッシュ毎の情報を維持
しない、その結果、SVAスペースの同じサブページは
、両サブキャッシュに同時に現われてないはずである。
一般に、これは、同じSVA領域が命令およびデータの
両者として使用できないというシステムソフトウェアを
もたらす、自己修正プログラムすなわちコードおよびデ
ータが同じコンテキストアドレスセグメントの一部であ
るプログラムは、支持されない。
システムソフトウェアは、下記の場合特別の注意を払わ
ねばならない。
ブレークポイントを挿入または除去する場合のように、
命令を変更する場合。
デバッガによるトラップ分析またはプログラム分解操作
の一部としての命令の読み取り。
命令ページとなるI10デバイスからのページの読取り
命令をデータとして読むために、システムソフトウェア
は、次の動作を行わなければならない。
SVAを書き込むDSTTエントリを構成する。
サブページが命令サブキャッシュにないことを保証する
(mflspを使用)。
データとして命令を読み取る( Id64. nscを
使用)。
dsttエントリ無効化。
命令サブページをデータとして書き込むためには、シス
テムソフトウェアは次の動作を行わなければならない。
SVAを書き込むDSTTエントリを構成する。
サブページがどの命令サブキャッシュにも存在しないこ
とを保証する(ページを係留するためにmpsaを使用
し、すべての他のキャッシュおよびサブキャッシュ内の
サブページを無効化するためmfsva、 exを使用
する)。
包含するサブブロックを引き出す(Id64. nsc
を使用)。
サブブロックを変更し、データとして命令を書き込む(
st64.nac) 。
ページ係留を解放。
DST丁エントリを無効化。
命令ページは普通比共であり、システムSVAスペース
管理の一部として、SVAスペースからI10デバイス
に書き込まれることを必要としない。命令ページを書き
込む前に、システムソフトウェアは下記の動作をしなけ
ればならない。
サブページがどのサブキャッシュにも存在しないことを
保証する(ページを係留するためにmpsaを使用し、
すべての他のキャッシュおよびサブキャッシュのサブペ
ージを無効化するためにmfsva、 exを使用)、
このセルがこのページを実行することが決してなければ
、このステップは必要としない。
Iloを遂行する。
ページがデータキャッシュに存在しないことを保証する
(mflspを使用)、このセルがこの命令ページを実
行することがけっしてなければ、このステップは必要と
されない。
ページの係留を解放する。
I10デバイスからの命令ページをSVAスペースに読
み取るとき、システムソフトウェアは次の動作を行わな
ければならない。
ページを創成する(ページを割り当て係留するためmp
saを使用し、ページの創成を完了するためmpdwを
使用する)。
Iloを遂行する。
ページがデータサブキャッシュ内に存在しないことを保
証する(mflspを使用して)、このセルがこの命令
ページを実行することが決してなければ、このステップ
は必要とされない。
デスクリプタ変更フラグをクリヤし、サブページアトミ
ック状態のような他のデスクリプタの属性およびデスク
リプタ・書込みなしをセットする。
ページの係留を解放する。
かくして、上述の目的は、本発明の実施例について説明
したように、複数の処理ユニットとメモリ管理要素とを
備えており、該メモリ管理要素がセルにより発生される
アクセス要求に応答して排他的データコピーをセルから
セルへ移動させ、処理中のセルをして、選択されたデー
タを「係留」せしめ、そのデータを要求する他のセルに
はそのデータがメモリ内にないことが報知されるように
したディジタルデータ処理システムを提供する本発明に
より達成されることが分ろう0本発明の他の側面に依れ
ば、データ要素を所有する中央処理ユニットに、これら
のデータ要素のコピーを、同じデータのコピー、例えば
リードオンリー、を先に保持した他のプロセッサに送信
せしめる機能が提供される8本発明にしたがって構成さ
れた多重処理システムは、データの同一性が改善され、
待ち時間やバス競合が低減され、加えて規模拡大性が制
限されI≧い。
以上本発明を好ましい実施例について説明したが、当接
術に精通したものであれば、本発明の技術思想から逸脱
することなく種々の変化変更をなし得ることは明らかで
あろう。
【図面の簡単な説明】
第1A図および第1B図は、本発明にしたがって構成さ
れたマルチプロセッサを示す概略線図、第2図は本発明
を実施するのに使用される好まし処理セルのブロック図
、第3図は本発明を実施するのに使用される好ましディ
ジタル処理システムの処理セルの好ましいグループ配列
すなわちドメイン(0)セグメントを示す線図、第4図
は本発明にしたがって構成されたディジタルデータ処理
システムにおけるシステム仮想アドレス、デスクリプタ
およびキャッシュディレクトリ間の好ましい相互関係を
図示する線図である。 】2A: ドメイン(0)セグメント 18A、18B、18C:  セル 22A、22B、22C:  セル相互接続部28A:
  )fメインルート指定ユニット32A: セル相互
接続部 40A、40B、40C:  中央処理ユニット42A
、42B、42C:  メモリ要素46: メモリ管理
要素または手段 52A。 52B、 52 C: 制御要素 54A。 54B。 54Cニ スドア 56A。 56B。 56C: ディレクトリ

Claims (13)

    【特許請求の範囲】
  1. (1)少なくとも第1および第2の中央処理ユニットと
    、 該第1および第2中央処理ユニットに結合され、該第1
    および第2中央処理ユニットによるアクセスのため通常
    同時にアクセス可能である情報表示信号を記憶するため
    の共通メモリ手段と、前記第1および第2中央処理ユニ
    ットおよび前記共通メモリ手段に結合され、前記情報表
    示信号に対して少なくとも第1および第2の代替的アク
    セスモードを選択的に提供するメモリ管理手段とを備え
    、 前記第1および第2中央処理ユニットが、各々、前記情
    報表示信号へのアクセス要求を表わす信号を発生するた
    めのアクセス要求手段を備え、前記第1代替モードでは
    、前記第1および第2中央処理ユニットのいずれかによ
    り発生されるアクセス要求信号に応答して、要求される
    情報表示信号が前記共通メモリ手段に記憶されることを
    、要求する中央処理ユニットに報知し、 前記第2代替モードでは、前記中央処理ユニットの選択
    されたものにより発生されるアクセス要求信号に応答し
    て、要求される情報表示信号が前記共通メモリ手段に記
    憶されていることをその中央処理ユニットに報知し、前
    記中央処理ユニットの他方のものにより発生されるアク
    セス要求信号に応答して、要求された情報表示信号が前
    記共通メモリ手段内に記憶されていないことを報知する
    ことを特徴とするディジタルデータ処理システム。
  2. (2)少なくとも前記の選択された中央処理ユニットが
    、前記第1および第2代替アクセスモードのいずれが、
    要求される情報表示信号へのアクセスを提供すべきかを
    決定するための係留手段を含む特許請求の範囲第1項記
    載のディジタルデータ処理システム。
  3. (3)前記共通メモリ手段が第1および第2のメモリ要
    素を備えており、該第1メモリ要素が、前記第1中央処
    理ユニットに関連せしめられて該ユニットに結合されて
    おり、前記第2メモリ要素が、前記第2中央処理ユニッ
    トに関連せしめられて該ユニットに結合されている特許
    請求の範囲第1項記載のディジタルデータ処理システム
  4. (4)前記メモリ管理手段が、前記中央処理ユニットの
    要求中のものと関連するメモリ要素に排他的に、要求さ
    れる情報表示信号を選択的に記憶するための手段を備え
    る特許請求の範囲第3項記載のディジタルデータ処理シ
    ステム。
  5. (5)前記メモリ管理手段が、前記第1代替アクセスモ
    ードにおいて、任意の前記中央処理ユニットにより発生
    されるアクセス要求信号に選択的に応答して、要求され
    る情報表示信号が共通メモリ手段中に記憶されているこ
    とをその中央処理ユニットに報知し、そして第2の代替
    モードにおいて、要求される情報代表信号を排他的に記
    憶するメモリ要素と関連する中央処理ユニットにより発
    生されるアクセス要求信号に応答して、要求される情報
    表示信号が前記共通メモリ手段に記憶されていることを
    その中央処理ユニットに報知し、かつ他の中央処理ユニ
    ットにより発生されるアクセス要求信号に応答して、要
    求される情報表示信号が前記共通メモリ手段に記憶され
    てないことを中央処理ユニットに報知する手段を備える
    特許請求の範囲第4項記載のディジタルデータ処理シス
    テム。
  6. (6)前記メモリ管理手段が、選択された情報表示信号
    を記憶する少なくとも1つのメモリ要素と関連するディ
    レクトリ手段を備えており、前記デスクリプタ信号が、
    その情報表示信号の1または複数の特性を表わしかつそ
    の情報表示信号のアクセス可能性を表わす状態を有する
    アンカー信号を含み、前記メモリ管理手段が、該アンカ
    ー信号に応答して、前記第1および第2代替アクセスモ
    ードのいずれが、選択された情報表示信号にアクセスを
    提供にするかを決定するための手段を備える特許請求の
    範囲第5項記載のディジタルデータ処理システム。
  7. (7)選択された情報表示信号を記憶するメモリ要素と
    関連する中央処理ユニットが、前記アンカー信号を設定
    するための手段を含む特許請求の範囲第6項記載のディ
    ジタルデータ処理システム。
  8. (8)各々1または複数の情報表示信号を記憶し得る関
    連するメモリ要素に結合される中央処理ユニットを各々
    含む複数の処理セルと、 前記複数のメモリ要素に結合され、前記複数のメモリ要
    素に記憶される1または複数の情報表示信号にアクセス
    するためのメモリ管理手段とを備え、 前記中央処理ユニットの少なくとも第1のものが、情報
    表示信号への優先アクセス要求を表わす所有権要求信号
    を発生される手段を備え、 前記メモリ管理手段が、前記所有権要求信号に応答して
    、第1中央処理ユニットと関連するメモリ要素内に、第
    1の要求される情報表示信号に対して物理的記憶スペー
    スを排他的に割り当て、この1号を記憶するためのメモ
    リコヒーレンス手段を備え、前記第1情報表示信号が、
    第2中央処理ユニットと関連するメモリ要素に物理的記
    憶スペースが割り当てられたものであり、 少なくとも第1の中央処理ユニットが、前記情報表示信
    号のコピーを前記第2中央処理ユニットと関連するメモ
    リ要素に転送するためのポスト−ストア手段を含む ことを特徴とするディジタルデータ処理システム。
  9. (9)少なくとも第1および第2の中央処理ユニットと
    、該第1および第2の中央処理ユニットに結合され、情
    報表示信号を記憶するための共通メモリ手段を備え、前
    記情報表示信号が、前記第1および第2の中央処理ユニ
    ットによるアクセスのため通常同時にアクセス可能な形
    式のマルチプロセッサディジタルデータ処理システムを
    操作する方法において、 第1および第2の中央処理ユニットのいずれか内におい
    て、前記情報表示信号へのアクセス要求を表わすアクセ
    ス要求信号を発生し、 前記アクセス要求信号に応答して、少なくとも第1およ
    び第2の代替アクセス段階を選択的に実行する 諸段階を含み、 前記の第1アクセス段階が、前記第1および第2の中央
    処理ユニットのいずれかにより発生するアクセス要求信
    号に応答して、要求される情報表示信号が前記共通メモ
    リ手段に記憶されていることを、要求中の中央処理ユニ
    ットに報知することを含み、 前記の第2代替アクセス段階が、前記中央処理ユニット
    の選択されたものより発生されるアクセス要求信号に応
    答して、要求される情報表示信号が前記共通メモリ手段
    に記憶されていることをその中央処理ユニットい報知し
    、かつ前記中央処理ユニットの他のものにより発生され
    るアクセス要求信号に応答して、要求される情報表示信
    号が前記共有メモリ手段に記憶されていないことを報知
    する ことを特徴とするマルチプロセッサディジタルデータ処
    理システム操作方法。
  10. (10)前記の選択された中央処理ユニットの1つで、
    前記の第1および第2代替アクセス段階のいずれが、要
    求される情報表示信号へのアクセスを提供にするかを決
    定することを含む特許請求の範囲第9項記載のマルチプ
    ロセッサディジタルデータ処理システム操作方法。
  11. (11)前記共通メモリ要素が第1および第2のメモリ
    要素を含み、該第1メモリ要素が、前記第1中央処理ユ
    ニットと関連せしめられて該ユニットと結合されており
    、前記第2メモリ要素が、前記第2中央処理ユニットと
    関連せしめられて該ユニットと結合されており、そして
    さらに前記中央処理ユニットの選択されたものと関連す
    るメモリ要素に要求される情報表示信号を排他的に記憶
    することを含む特許請求の範囲第8項記載のマルチプロ
    セッサディジタルデータ処理システム操作方法。
  12. (12)前記第1の代替アクセス段階が、前記中央処理
    ユニットのいずれかにより発生されるアクセス要求信号
    に応答して、要求される情報表示信号が前記共通メモリ
    手段に記憶されることをその中央処理ユニットに報知す
    ることを含み、前記の第2代替アクセス段階が、要求さ
    れる情報表示信号を排他的記憶するメモリ要素と関連す
    る中央処理ユニットにより発生されるアクセス要求信号
    に応答して、要求される情報表示信号が前記共通メモリ
    手段に記憶されていることをその中央処理ユニットに報
    知し、かつ他の中央処理ユニットにより発生されるアク
    セス要求信号に応答して、要求された情報表示信号が前
    記共通メモリ手段内に記憶されていないことを報知する
    こと を含む特許請求の範囲第11項記載のマルチプロセッサ
    ディジタルデータ処理システムを操作する方法。
  13. (13)各々1または複数の情報処理信号を記憶し得る
    関連するメモリ要素に結合される中央処理ユニットを各
    々備える複数の中央処理セルと、前記複数のメモリ要素
    に結合され、該複数のメモリ要素に記憶される1または
    複数の情報表示信号にアクセスするためのメモリ管理手
    段を備える形式のマルチプロセッサディジタルデータ処
    理システムを操作する方法において、 前記中央処理ユニットの少なくとも第1のもの内におい
    て、情報表示信号への優先アクセス要求を表わす所有権
    要求信号を発生し、 第1中央処理ユニットと関連するメモリ要素内において
    、第1の要求される情報表示信号に対して物理的記憶ス
    ペースを排他的的に割り当て、前記中央処理ユニットの
    少なくとも第2のもの内において、前記第1情報表示信
    号への二次的アクセス要求を表わすリードオンリー要求
    信号を発生し、 前記リードオンリー要求信号に応答して、第1情報表示
    信号のコピーを前記第2中央処理ユニットと関連するメ
    モリ要素に転送し、 前記第1中央処理ユニットと関連するメモリ要素から、
    第1情報表示信号のコピーを前記第2中央処理ユニット
    と関連するメモリ要素に選択的に転送する 諸段階を含むことを特徴とするマルチプロセッサディジ
    タルデータ処理システム操作方法。
JP02163026A 1989-06-22 1990-06-22 マルチプロセッサシステム Expired - Fee Related JP3103581B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/370,287 US5251308A (en) 1987-12-22 1989-06-22 Shared memory multiprocessor with data hiding and post-store
US370287 1989-06-22

Publications (2)

Publication Number Publication Date
JPH03129454A true JPH03129454A (ja) 1991-06-03
JP3103581B2 JP3103581B2 (ja) 2000-10-30

Family

ID=23459010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02163026A Expired - Fee Related JP3103581B2 (ja) 1989-06-22 1990-06-22 マルチプロセッサシステム

Country Status (5)

Country Link
EP (1) EP0404560B1 (ja)
JP (1) JP3103581B2 (ja)
AT (1) ATE195382T1 (ja)
CA (1) CA2019300C (ja)
DE (1) DE69033601T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250830A (ja) * 2004-03-04 2005-09-15 Hitachi Ltd プロセッサおよび主記憶共有マルチプロセッサ

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5313647A (en) * 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
CA2078312A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
CA2078315A1 (en) * 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
US5245563A (en) * 1991-09-20 1993-09-14 Kendall Square Research Corporation Fast control for round unit
CA2078311A1 (en) * 1991-09-23 1993-03-24 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
CA2073516A1 (en) * 1991-11-27 1993-05-28 Peter Michael Kogge Dynamic multi-mode parallel processor array architecture computer system
TW567695B (en) * 2001-01-17 2003-12-21 Ibm Digital baseband system
US10542120B2 (en) * 2016-11-10 2020-01-21 Microsoft Technology Licensing, Llc Wirelessly providing operating system specific features
JP2020198044A (ja) * 2019-06-05 2020-12-10 富士通株式会社 並列処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4622631B1 (en) * 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
US4755930A (en) 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
IT1184013B (it) * 1985-12-13 1987-10-22 Elsag Memoria ad elevata capacita accessibile a diverse agenti
US4811216A (en) * 1986-12-22 1989-03-07 American Telephone And Telegraph Company Multiprocessor memory management method
JP3023425B2 (ja) * 1987-10-09 2000-03-21 株式会社日立製作所 データ処理装置
CA1320003C (en) 1987-12-22 1993-07-06 Steven J. Frank Interconnection system for multiprocessor structure
US5055999A (en) 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250830A (ja) * 2004-03-04 2005-09-15 Hitachi Ltd プロセッサおよび主記憶共有マルチプロセッサ

Also Published As

Publication number Publication date
JP3103581B2 (ja) 2000-10-30
ATE195382T1 (de) 2000-08-15
CA2019300A1 (en) 1990-12-22
CA2019300C (en) 2001-06-12
EP0404560A2 (en) 1990-12-27
EP0404560A3 (en) 1992-08-05
DE69033601D1 (de) 2000-09-14
DE69033601T2 (de) 2001-05-03
EP0404560B1 (en) 2000-08-09

Similar Documents

Publication Publication Date Title
US5251308A (en) Shared memory multiprocessor with data hiding and post-store
EP0539012B1 (en) Improved digital processor with distributed memory system
US6330649B1 (en) Multiprocessor digital data processing system
JP3927556B2 (ja) マルチプロセッサ・データ処理システム、変換索引バッファ無効化インストラクション(tlbi)のハンドリングを行うための方法、およびプロセッサ
US7925839B1 (en) System and method for performing memory operations in a computing system
US5692149A (en) Block replacement method in cache only memory architecture multiprocessor
US5341483A (en) Dynamic hierarchial associative memory
US6748501B2 (en) Microprocessor reservation mechanism for a hashed address system
CN100495361C (zh) 维护存储器一致性的方法和系统
US5313647A (en) Digital data processor with improved checkpointing and forking
JP3281893B2 (ja) キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム
EP0458553A2 (en) Packet routing switch
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
JP3103581B2 (ja) マルチプロセッサシステム
EP0533447B1 (en) Digital data processor with improved paging
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
US5875468A (en) Method to pipeline write misses in shared cache multiprocessor systems
JPH07152647A (ja) 共有メモリマルチプロセッサ
US20040133749A1 (en) Exclusive status tags
Bernaschi Efficient message passing on UNIX shared memory multiprocessors
CA1341154C (en) Multiprocessor digital data processing system
JP3416159B2 (ja) ダイナミック階層連想メモリ
JPH0962522A (ja) 情報処理方法及び情報処理システム
Beckerle et al. START-NG: Delivering Seamless Parallel Computing
JPH04230146A (ja) ダイナミックパケットルート設定回路網

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees