JPH01281555A - マルチプロセッサディジタルデータ処理システム - Google Patents

マルチプロセッサディジタルデータ処理システム

Info

Publication number
JPH01281555A
JPH01281555A JP63322254A JP32225488A JPH01281555A JP H01281555 A JPH01281555 A JP H01281555A JP 63322254 A JP63322254 A JP 63322254A JP 32225488 A JP32225488 A JP 32225488A JP H01281555 A JPH01281555 A JP H01281555A
Authority
JP
Japan
Prior art keywords
signal
central processing
access
processing unit
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63322254A
Other languages
English (en)
Other versions
JP2780032B2 (ja
Inventor
Steven J Frank
スティーブン・ジェイ・フランク
Iii Henry Burkhardt
ヘンリー・バークハート・ザ・サード
Linda Q Lee
リンダ・キュー・リー
Nathan Goodman
ネイザン・グッドマン
Benson I Margulies
ベンソン・アイ・マーギュリス
Frederick D Weber
フレデリック・ディー・ウェーバー
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
Application filed by Kendall Square Research Corp filed Critical Kendall Square Research Corp
Publication of JPH01281555A publication Critical patent/JPH01281555A/ja
Application granted granted Critical
Publication of JP2780032B2 publication Critical patent/JP2780032B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • 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
    • 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/073Error 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 in a memory management context, e.g. virtual memory or cache management
    • 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/0766Error or fault reporting or storing
    • 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • G06F12/1018Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30003Arrangements for executing specific machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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, 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; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4637Interconnected ring systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/27Using a specific cache architecture
    • G06F2212/272Cache only memory architecture [COMA]

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ディジタルデータ処理システムに関し、特定
すると、分散型階層メモリアーキテクチャを備える多重
処理システムに関する。
[従来技術、発明が解決しようとする課題]従来技術に
よれば、多重処理システムの処理ユニットを結合するた
め、多数の形態がある。従来設計の1つとして、システ
ムメモリバンクに記憶されるデータを共有する処理ユニ
ットが、広バンド幅共有バスまたはスイッチング回路網
を介してそのバンクに結合されるものがある。この設計
においては、激しい使用期間中、複数の処理ユニットが
共有データへのアクセスを同時に主張するときに障害が
生ずるようであった。
伝送障害の形成の危険を最小にするため、個々の処理ユ
ニットを局部的メモリ要素と結合して半独立的な処理セ
ルを形成する分散型メモリシステムが開発された。多重
処理の利益を達成するために、最近設計されたものの中
には、階層−的アーキがある。
しかしながら、分散型メモリシステムは、単一のデータ
アイテムの複数のコピーを多重処理セル内に存置させる
。それゆλ、全処理セルが同じデータ要素の同一のコピ
ーを維持するのを保証するのが難しい、この問題を解決
しようとする、すなわちデータのコヒーレンジ(一貫性
)を維持しようとする従来の努力は、複雑な信号送出機
構を利用するソフトウェア指向の技術に依存する。これ
らのソフトウェア指向の解決法と関連する処理および信
号送出のオーバヘッドを避けるため、Frank等の米
国特許第4.622.631号は、関連するメモリまた
はキャッシュを各々有する複数のプロセッサが、主メモ
リ要素に含まれるデータを共有する多重処理システムを
開示している。共有メモリ内のデータは、ブロックに仕
切られ、各ブロックが、主メモリおよび複数のプロセッ
サのいずれか1つにより所有できる。データブロックの
現在の所有者は、そのブロックに対して正しいデータな
有するといわれる。
Wilaon Jr、等の英国特許第2.178.20
5号には、階層的手法が開示されているが、この手法に
あっては、多重処理システムが、1つの(第1の)バス
を介して相互に結合された分散型キャッシュメモリ要素
を含むといわれる。第1のバス、およびさらに高レベル
または主システムメモリのいずれかに取り付けられた第
2の、より高レベルのキャッシュメモリーが、その下の
キャッシュ内の各メモリ位置のコピーを保持する。さら
に高レベルのキャッシュ(もしあれば)およびシステム
主メモリは、順次、その下にあるキャッシュの各メモリ
位置のコピーを保持する。 Wjlson Jr、等の
プロセッサは、それ自体の専用のキャッシュからのデー
タの変更されたコピーを、関連するより高レベルのキャ
ッシュおよびシステム主メモリに伝送し、同時に他のキ
ャッシュに信号して、その新たに変更されたデータのそ
れ自体のコピーを無効化するものと理解される。
F「δnk等およびWilson Jrにより提案され
た解決法に拘らず、データのコヒーレンジおよびバスの
競合は、依然として多重処理システムの設計者や使用者
に対して重要な問題として残った9例えば、Wflso
n Jr、等に関していうと、これらの問題は、主メモ
リ内のデータが、システム内の各プロセッサによりデー
タ要素に導入される恒久的変更を反映するようにつねに
更新されねばならないという必要性にも起因する6さら
に、提案された設計は、いずれも、限定された以上の数
の処理ユニットを支持できない、この規模上の制限は、
Wilson Jr、等およびFrank等のシステム
にあっては、主メモリの寸法が各追加のプロセッサに順
応するように増大されねばならないという必要性から生
ずる。それゆえ、本発明の目的は、データのコヒーレン
ジが改善されるとともに待ち時間およびバスの競合が低
減された改善された多重処理システムを提供することで
ある。
本発明の他の目的は、データのコヒーレンジを維持する
ためにソフトウェアのオーバーヘッドを殆どまたは全く
必要としない物理的に分散されたメモリを有する多重処
理システムを提供するとともに、バス帯域幅が改善され
同期が改良された多重処理システムを提供することであ
る。
[課題を解決するための手段] 本発明は、その広い一側面として、階層のリングに配列
された複数の処理セルより成るディジタルデータ処理シ
ステムを提供することにより、上述の目的を達成する。
システムは、メモリを選択的に割り当て、セルにより発
生されるアクセス要求に応答して排他的データコピーを
セルからセルへ移動させる。データアクセス要求(更新
および転送)をリング上に選択的に送り出すため、ルー
ト指定要素が使用される。
本発明により提供されるシステムは、主メモリ要素、す
なわちシステムの多くのプロセッサに結合されそれによ
り共有されるメモリを必要としない、システムにより維
持されるデータは、排他的および共有的に、これらのプ
ロセッサと関連されるメモリ要素間に分配される。いず
れか1つの処理要素に排他的に記憶されたデータの変更
は、バス構造体に沿って他の記憶領域に通信されねばな
らない、この設計の結果、プロセッサが動的に共有する
(例えば実行中のプログラムそれ自体により要求される
共有)データのみが、バス構造体に沿って伝送されれば
足りる。これらの側面は、システムの陽暦的構造ととも
に、信号トラフィックを大幅に局部化し、それによりバ
スの競合および障害を減する。
システムの構造および要素の相互接続にさらに注目する
と、処理セルは、物理的データおよび制御信号ストア、
ディレクトリおよび制御要素をそれぞれ備えるメモリ要
素と結合される中央処理ユニットを備える。セル群は、
単一方向セル間パスリングに沿って相互接続され、セグ
メントとして言及されるユニットを形成する。これらの
セグメントは、−緒に、情報転送領域(ドメイン)(0
)として言及されるより大きなユニットを形成する。各
セグメント内に存在するセルは、関連するセル間バスを
介して相互に直接通信できるが、関連する中央処理ユニ
ットは、それ自体相互に接続されない、セグメント間通
信は、メモリ要素に記憶されるデータおよび制御信号の
交換によって実施されるのである。メモリ管理要素が、
この情報転送を促進する。
異なる領域(0)セグメントのセル間の通信は。
より高レベル情報転送領域上で実施される。これらのよ
り高レベルの領域は、各々単一方向バスリングを介して
結合される複数の領域ルート指定要素より成るlまたは
複数のセグメントより構成される。より高レベル領域の
セグメントがルート指定要素のリングより成り、領域(
0)のセグメントが処理セルリングより成るゆえ、前者
は後者と異なることを理解されよう、各ルート指定要素
は、次のより低レベルの情報転送領域のセグメントの関
連する一つと結合される。これらの結合された低レベル
のセグメントは、デセンダントと称せられる。各情報転
送領域は、次のより低レベルの領域より少数のセグメン
トを有する。システムの最高位のレベル領域の単一のセ
グメントは別として、信号は次のより高レベル領域のセ
グメントを介して各情報転送領域のセグメント間におい
て転送される。
6の領域(0) セグメントを有する例示のシステムは
、2つの領域(1)セグメントを含む、 しかして、第
1の領域(+1セグメントは、領域(0)セグメントの
最初の3つの間でデータを転送し、第2の領域(1)セ
グメントは他の3つの領域(0)セグメント間において
情報を転送する。データは、各々領域(1)セグメント
の対応するものと接続する2つの領域ルート指定要素を
有する領域(2)を介して2つの領域(1)セグメント
間において転送される。
各システムメモリ要素は、対応するメモリに記憶される
各データのアイデンティティおよび状態を表わすディス
クリブタのリストを維持するディレクトリ要素を含む、
各デスクリプタの一部は、関連するデータシステムアド
レスから導かれ、他の部分は、局部的中央処理ユニット
がデータを利用し得る態様を支配するアクセス状態を表
わす。
このアクセス状態は、「所有者」状態、リードオンリー
状態および無効状態の任意の1つを含むことができる。
これらの状態の第1のものは、局部的中央処理ユニット
すなわち、データが記憶されるセル内に含まれるユニッ
トにより変更できるデータと関連される。リードオンリ
ー状態は、局部的中央処理ユニットにより読み取ること
ができるが変更できないデータと関連する。無効状態は
、無効データコピーと関連される。
領域ルート指定要素それ自体は、それらのデセンダント
領域(0)セグメントに記憶される全デスクリプタをリ
ストするディレクトリを維持する。
かくして上述の例おいて、第1の領域mセグメントのル
ート指定要素は、それらの各領域(0)セグメントのセ
ルの結合された内容を反映するディレクトリを維持する
。さらに、領域(2)セグメントの単一のルート指定要
素は、システム処理セルのすべてに保持される全デスク
リプタをリストするディレクトリを維持する。
プロセッサにより発生されるデータアクセス要求は、可
能な場合、局部メモリ要素により処理される。詳述する
と、各メモリと結合されるコントローラは、セルの内部
バスを監視し、局部的プロセッサ要求を対応するディレ
クトリにリストされるデスクリプタと比較することによ
り該要求に応答する。整合データが見出された場合は、
該データは、内部バスに沿って要求するプロセッサに転
送される。
局部的に解決できないデータ要求は、処理セルからメモ
リ管理システムに通される。管理要素は、これらの未解
決のデータ要求を他の処理セルにルート指定する。この
ルート指定は、要求されるディスクリブタを領域ルート
指定ユニットのディレクトリエントリと比較することに
より遂行される。これらの各セルと関連する制御要素は
、要求されたデータを見出すためそれ自体の関連するデ
ィレクトリを尋問する。進行中の要求を満足させるデー
タは、領域セグメント階層に沿って、遠隔セルから要求
セルにルート指定される。
処理セル間のデータ移動は、各セル要求を、要求される
アイテムと関連するアクセス状態に関して比較評価する
ことを包含するプロトコルによって支配される。メモリ
管理システムは、データの排他的所有要求に応答して、
そのデータを要求セルのメモリ要素に移動させる。同時
に、メモリ管理要素は、要求するセルのデータ記憶域内
の被要求アイテムに対して物理的記憶空間を割り当てる
。管理要素はまた、遠隔セルのデータストア内の被要求
アイテムと関連するデスクリプタを無効化し、要求する
セルへの転送前に要求されたアイテムを保持した物理的
記憶空間の続いての割当て解除を行なう。
上述の動作は、要求するセル内に被要求データの排他的
記憶をもたらすが、他のセルは、例えば、リードオンリ
ーベースで、続いてそのデータに同時にアクセスできる
。特に、メモリ管理システムは、第2のセルにより排他
的に所有されるデータに対する第1のセルによるリード
オンリーアクセス要求に応答して、そのデータのコピー
を第1セルに伝送し、同時に、第2セルに記憶されてい
るそのデータの原コピーを「非排他的所有」と指示する
システムは、「アトミックJ状態として言及される他の
所有状態を提供することにより、所有するセルにそのデ
ータをコピーすることを不能にさせる。メモリ管理シス
テムは、その状態におけるデータ要求に応答して、待機
すなわち「過渡」信号を要求者に伝送し、アトミック所
有が放棄されれば、被要求データを階層上に送り出す。
上述の形式のシステムは、バスおよびメモリの競合を低
減して多重処理の能力を改善する。排他的アクセスを必
要とするプロセッサに対する排他的データコピーの動的
割当てならびに複数のプロセッサにより同時に必要とさ
れるデータコピーの共有は、パストラフィックおよびデ
ータアクセス遅延を減する。ハードウェア強要アクセス
プロコルの利用は、パスおよびメモリ競合をさらに減じ
、同時にデータのコヒーレンジを維持するのに必要なソ
フトウェアソフトウェアのオーバーヘッドを減する。情
報転送領域セグメントの相互接続は、データアクセス、
転送および更新要求の局部化を可能にする。
本発明のこれらおよびその他の特徴は、以下に続く説明
から明白であろう。
[実施例] 以下、図面を参照して本発明を好ましい実施例について
説明する。
第1図は、本発明に従って構成された好ましい多重処理
システム10の構造を示す0例示のシステム10は、2
領域(ドメイン) (0) 、領域(1)および領域(
2)の3つの情報転送領域を含む、各情報転送領域は、
バス要素および複数のセルインターフェース要素を有す
るlまたは複数の領域セグメントを含む、詳述すると、
例示のシステム10の領域(0)は、12A、12B、
12G、12D、12Eおよび12Fによりそれぞれ指
示される6つのセグメントを含む、同様に、領域(1)
は、セグメント14Aおよびセグメント14Bを備え、
領域(2) はセグメント16を備える。
領域(0)の各セグメント、すなわち12A、12B1
.、、、.12Fは、複数の処理セルを含む0例えば、
図に示されるように、セグメント12Aは、セル18A
、18Bおよび18Cを備え、セグメント12Bはセル
(+8)Dは、18Eおよび18Fを備え、以下同様で
ある。これらのセルの各々は、セル間プロセッサバス(
図示せず)に沿って相互接続された中央処理ユニットお
よびメモリ要素を備える0本発明の好ましい実施に従う
と、各セルに含まれるメモリ要素は、それに関連する中
央処理ユニットにより使用される制御およびデータ信号
を記憶する。
さらに例示されるように、各領域(0)セグメントは、
セグメントのセル間において情報表示信号を転送するた
めの通信路を提供するバス要素を有するものとして特徴
づけられよう、かくして、例示のセグメント12Aは、
バス20Aにより、セグメント12Bはバス20Bによ
り、セグメント12cは20Gによりというように特徴
づけられろ、さらに詳述すると、情報表示信号は、これ
らのセルの各々と関連するメモリ要素により例示のセグ
メント12Aのセル18A、18Bおよび18G間を通
される。これらのメモリ要素およびパス20A間の特定
のインターフェースは、図示のようにセルインターフェ
ースユニット22A122Bおよび22Gにより提供さ
れる。同様の直接通信路が、例示されるように、セグメ
ント12B、12c、12D等において、セルインター
フェースユニット22D、22 E−−−−−22Rに
よりそれぞれのセル18D、18E、−−−−−18R
間に設定される。
例示されるように、残りの情報転送領域、すなわち領域
(1)および領域(2)は、各々1または複数の領域セ
グメントを(苛久る。各逐次の領域における領域の数は
、先行のセグメントにおけるセグメントの数より少ない
、かくして、領域(1)のセグメント14Aおよび14
Bの数(2)は、領域(0)のセグメント12A、12
B−−−12Fの数6より少なく、唯一のセグメント1
6を有する領域(2)は、全部の中で最も少ない、領域
(1)および領域(2)、すなわちより高レベルの領域
の各セグメントは、それぞれの各セグメント内において
情報表示信号を転送するためのバス要素を備える0例示
のものにおいて、領域(1)のセグメント14Aおよび
14Bはバス要素24Aおよび24Bをそれぞれ備え、
領域(2)のセグメント16はバス要素26を備える。
セグメントバスは、各セグメントの成分要素間において
、すなわちセグメントの複数のルート指定要素間におい
て情報を転送する働きをする。ルート指定要素自体は、
逐次の領域の関連する要素間において情報を転送する機
構を提供する0例えば、ルート指定要素28A、28B
および28Gは、領域(1)のセグメント14Aおよび
領域(0)のセグメント12A、12Bおよび12Cの
各4間において情報を転送する手段を提供する。同様に
、ルート指定要素28D、28Eおよび28Fは、領域
(1)のセグメント14Bおよび領域(0)のセグメン
ト12D、12Eおよび12Fの各4間において情報を
転送する手段を提供する。さらに、領域のルート指定要
素30Aおよび30Bは、図示のように、領域(2)の
セグメント16および領域(11のセグメント14Aお
よび14B間に情報伝送路を提供する。
領域ルート指定要素は、それらの対応するセグメントを
バス要素における相互接続を介してインターフェース接
続する。かくして、領域ルート指定要素28Aは、セル
インターフェースユニット32Aおよび34Aにてバス
要素2OAおよび24Bを相互接続し、要素28Bは、
それぞれセルインターフェースユニット32Bおよび3
4Bにてバス要素20Bおよび24Bをインターフェー
ス接続する。以下同様である。同様に、ルート指定要素
30Aおよび30Bは、図示のように、セルインターフ
ェースユニット36A、36B138Aおよび38Bに
てそれぞれの対応するバス、すなわち24A、24Bお
よび26をインターフェース接続する。
第1図は、本発明に従って構成されるディジタルデータ
処理システムにおいて遠隔の領域とセルとを相互接続す
る好ましい機構を示している。バスセグメント20Fか
ら物理的に遠隔の点にあるセル18Rは1点綴で指示さ
れるオプチカルファイバ伝送線を介して、そのバスおよ
び関連するセル(18Pおよび18Q)と結合される。
同様に、領域セグメント12Fおよび14Bは、それぞ
れの親セグメントからオプチカルファイバを介して相互
接続される。指示されるように、それぞれの領域ルート
指定ユニット28Fおよび30Bは、各々2つの離間的
に結合された部品を含む0例えば、領域ルート指定ユニ
ット28Fに関して、第1の部品は、標準バス相互接続
を介してセグメント14Bのセルインターフェース34
Fと直接接続され、第2の部品は、セグメント12Fの
セルインターフェースユニット32Fと直接リンクされ
ている。同一に構成された2つの部品は、点線により指
示されるオプチカルファイバリンクを介して結合される
。上述のように、領域ルート指定ユニット部品およびオ
プチカルファイバ媒体間の物理的インターフェースは、
遠隔インターフェースユニット(図示せず)により提供
される。
第2A図は、例えば上述の形式の多重処理システムいお
いてデータのコヒーレンジを提供する好ましいメモリ形
態を示している0例示のシステムは、関連するメモリ要
素42A、42Bおよび42Cにそれぞれ結合された複
数の中央処理ユニット40 (A)、40 (B)およ
び40 (c)を備λている。各対の処理ユニットとメ
モリユニット間の通信は、図示のように、バス44A、
44Bおよび44Cに沿って行なわれる1例示のシステ
ムは、それぞれバス48A、48Bおよび48Cを介し
てメモリ要素42A、42Bおよび42Cに記憶される
情報表示信号にアクセスするためのメモリ管理要素46
をI^る。
例示の実施例において、中央処理ユニット40A、40
Bおよび40Cは、各々それぞれ50A、50Bおよび
50Cを付したアクセス要求要素を備λる。これらのア
クセス要求要素は、メモリ要素42A、42Bおよび4
2Cに記憶された情報へのアクセスの要求を表わす信号
を発生する。要素50A、50Bおよび50Cにより発
生されるアクセス要求信号の形式の中には、メモリに記
憶される情報表示信号への優先アクセスの要求を表わす
所有要求信号がある。好まし実施例において、アクセス
要求要素50A、50Bおよび50Gは、中央処理ユニ
ット40A、40Bおよび40C上で実施される命令サ
ブセットを含む。
この命令サブセットについて以下に詳述する。
メモリ要素42A、42Bおよび42Cは制御要素52
Bおよび52Gをそれぞれ含む、これらの制御要素の各
々は、それぞれ対応するディレクトリ要素56A、56
Bおよび56Cを介してデータ記憶域54A、54Bお
よび54Cとインターフェース接続されている。ストア
54A、54Bおよび54Cは、それぞれの対応する中
央処理ユニットにより必要とされるデータおよび命令信
号に対する物理的記憶スペースを提供するように例示の
システムにおいて利用されている。かくして、ストア5
4Aは、CPU40Aにより使用されろデータおよび制
御情報を維持し、他方ストア54Bおよび54Cは、そ
れぞれ中央処理ユニット4OBおよび40Gにより使用
されるデータおよび制御情報を維持する。各ストアに維
持される情報信号は、信号のシステムアドレスに対応す
る独特のディスクリブタにより識別される。それらのデ
ィスクリブタは、対応するディレクトリのアドレス記憶
位置に記憶される。ディスクリブタは独特であると考え
られるが、若干のデスクリプタの複数のコピーは、これ
らのコピーそれ自体が同じデータ要素のコピーを識別す
る場合、メモリ要素42A、42Bおよび42C全体に
存在する場合もある。中央処理ユニット40A、40B
および40Cにより発生されるアクセス要求信号は、他
の制御情報とともに、要求される情報信号のSAアドレ
スと一致するSA要求部分を含む、制御要素52A、5
2Bおよび52Gは、それぞれの対応する中央処理ユニ
ット40A、40Bおよび40Cにより発生されるアク
セス要求信号に応答して、要求される情報表示信号が対
応する記憶要素54A、54Bおよび54Cに記憶され
ているか否かを決定する。もし記憶されていれば、その
情報アイテムは、要求するプロセッサにより使用のため
転送される。もし記憶されていなければ、制御ユニット
52A、52Bおよび52Gは、アクセス要求信号を、
線48A、48Bおよび48Cに沿って前記メモリ管理
要素に伝送する。
メモリ管理要素は、進行中の情報アクセス要求を満足さ
せようとして、要求している中央処理ユニットから受信
されるアクセス要求信号を、他の中央処理ユニットと関
連されるメモリ要素に送り出す、メモリ管理要素は、以
下に記述されるセルインターフェースユニットにより、
アクセス要求信号のSAを、各メモリ要素のディレクト
リに記憶されるディスクリブタと比較し、被要求信号が
それらの要素のいずれかは記憶されているか否かを決定
する。記憶されていれば、被要求信号、すなわちそのコ
ピーは、メモリ管理要素46を介して、要求している中
央処理ユニットと関連するメモリ要素に転送される。被
要求情報信号がメモリ要素42A、42Bおよび42C
間に見出されなければ、動作システムは、以下に記載さ
れる態様でシステムの周囲デバイス(図示せず)間にお
いてサーチを行なうことができる。
例示の多重プロセッサシステム内において、データのコ
ヒーレンジは、メモリストア54A254Bおよび54
Cおよびそれに関連するディレクトリ56A、56Bお
よび56Cに対するメモリ管理要素の作用により維持さ
れる。詳述すると、第1のCPU/メモリ対(例えば、
CPU40Cおよび関連するメモリ要素42C)による
所有アクセス要求の発生に続いて、メモリ管理要素46
は、その対のメモリ要素のストア(例えば、メモリ要素
42Gのデータストア54C)に要求されたデータを維
持するようにスペースの割当てを行なう、先に記憶され
たメモリ要素(例λばメモリ要素42A)からの被要求
情報表示信号の転送と同時に、メモリ管理要素は、被要
求信号の記憶のため先に割り当てられた物理的記憶スペ
ースの割当てを解除する。
メモリ管理要素の上述の作用、そしてさらに詳述すると
、データコヒーレント要素が、第2A図および第2B図
に例示されている。第2A図におイテ、情報信号DAT
UM (Q)、[lATIJM(1)および(lATt
lM(2)が、CPU40Aと対をなすメモリ要素42
Aのデータストアに記憶されている。これらのデータ信
号に対応するデスクリプタr foo)、r bar」
およびr basJが、それぞれディレクトリ56Aに
記憶されている。この種の各ディスクリブタは、ストア
42Aにおけるそれに関連する情報信号の位置を指示す
るポインタを含む。
CPo 40 Bと対をなすメモリ要素42Bにおいて
、例示のシステムは、情報信号DATt1M (3)お
よびDATtlM (2)を記憶する。これらのデータ
要素の各々に対応して、ディスクリブタr carJお
よび’ bas J  がディレクトリ56Bに保持さ
れている。 DATUM (2)およびそのデスクリプ
タbagは、ストア42Aからコピーされ、それゆえ同
じレベルを保持する。
第2A図に例示されるシステムは、CPt140Cと対
をなすメモリ要素54Cに如何なるデータも記憶しない
第2B図は、中央処理ユニットの1つによる所有アクセ
ス要求の発生に続き、メモリ管理システム46Aにより
行なわれる作用を例示している。
特に、例示は、CPO40CG:1mよる情報信号DA
TUM(0)に対する所有アクセス要求の発生に続くそ
の信号の移動を描いている。最初に、メモリ管理要素4
6は、要求信号に応答して、CPO40Cと対をなすメ
モリ要素のストア54C内に物理的記憶スペースを割り
当てる。メモリ管理要素46はまた、要求される情報信
号DATUM (0)を、それが先に記憶されていたス
トア54Aから要求者のストア54Gに移動させ、他方
光に被要求信号を保持していたストア54Aのスペース
の割当てを解除する。メモリ管理要素46はまた、要求
される情報信号を移動させるとともに、ストア54Aの
DATUM (0)を識別するために先に使用されてい
たディレクトリ56Aのデスクリプタfooの無効化、
およびディレクトリ56C内における同じディスクリブ
タの再割当てを行なう、このディスクるのに続いて使用
される。
好まし実施例において、メモリ管理要素46は、メモリ
要素42A、42Bおよび42Cに記憶されるデータお
よび制御信号にアクセス状態情報を割当てるための機構
を含む、無効化、リードオンリー、所有者およびアトミ
ック状態を含むこれらのアクセス状態は、特定のプロセ
ッサがデータにアクセスし得る態様を支配する。関連す
るCPUがそのデータに対して優先アクセスを維持する
メモリに記憶されているデータには、所有者状態が割当
てられる。関連するCPUがそのデーターに対して優先
アクセスを維持しないメモリに記憶されるデータには、
リードオンリー状態が割り当てられる。 badデータ
と関連されるデータには、無効状態が割り当てられる。
第3図は、第1図の例示の領域(0)セグメント12A
に対する好まし形態を示している。セグメント12Aは
、パスセグメント2OAを介してセル相互接続22A、
22Bおよび22Cにより相互接続される処理セル18
A、18Bおよび18Cを含む、領域ルート指定ユニッ
ト28Aは、第1図の領域(0)セグメント12Aおよ
び領域(1)セグメント14A(もし親ならば)間に相
互接続を提供する。このルート指定ユニット28Aは、
図示されるように、セル相互接続32Aによりパス20
Aに結合される0例示されるパスセグメント20Aの構
造、ならびにそれとセル相互接続22A、22B、22
Cおよび32Aとの相互関係は、本願と同時に米国特許
出願され一緒に譲渡されたr Interconnec
tion System for Multi−pro
cessing 5tructure」 と題する米国
特許出願に詳細に論述されている。
第4図は、処理セル18A、18 B−−−−−18R
に対する好まし構造を図示している0例示の処理セル1
8Aは、プロセッサパス66および命令パス68を介し
て外部デバイスインターフェース60、データサブキャ
ッシュ62および命令サブキャッシュ64と結合された
中央処理ユニット58を備える。外部デバイスパスを介
して、外部デバイス例えばディスクドライブとの通信手
段を提供するインターフェース60は、技術上従来の態
様で構成されている。
プロセッサ58は、商業的に入手され得るプロセッサ例
えばモトローラ68000 CPUで技術上従来の態様
で構成し得るが、得られたプロセッサは、データおよび
アドレス制御線69Aおよび69Bを介して作用するサ
ブキャッシュ共同実行ユニットの制御下でサブキャッシ
ュ62および64をインターフェース接続するように、
かっマタ以下で説明されるようにメモリ命令を実行する
ように改造されている。処理セル18Aはさらに、キャ
ッシュ制御ユニット74Aおよび74Bを介してキャッ
シュパス76に結合されたデータメモリユニット72A
および72Bを備λる。キャッシュ制御ユニット74C
および74Dは、キャッジエバスフ6および処理および
データバス66および68間の結合手段を提供する0図
面に示されるように、パス78は、キャッシュパス76
と、例示のセルと関連する領f女(0)バスセグメント
20Aとの間の相互接続を提供する。
好まし実施例において、データキャッシュ72Aおよび
72Bは、最高各々8メガバイトのデータを記憶し得る
ダイナミックランダムアクセスメモリデバイスである。
サブキャッシュ62および64は、スタチックランダム
アクセスメモリデバイスであり、前者は最高512キロ
バイトのデータを記憶でき、後者は最高256キロバイ
トの命、令情報を記憶し得る0図示されるように、キャ
ッシュおよびプロセッサバス76および64は64ビツ
トの伝送路を提供し、命令バス68は32ビツトの伝送
路を提供する。
技術に精通したものであれば、例示のCPUは、従来の
中央処理ユニットを表わし、より一般的には、メモリ要
求を発し得るあらゆる装置、例えばi10コントローラ
やその他の特定法目的の処理要素とし得ることが分かる
メモ言  システム 本発明の好ましい実施例に従って構成された多重プロセ
ッシング・システムIOは処理セル18A、18B、・
・・内に記憶された個々のデータエレメントに、各デー
タと関連した独自のシステム・バーチュアル・アドレス
(SVA)を参照することによって、アクセスできる。
この能力を実施することはメモリ管理システム46、サ
ブキャッシュ62.64及びキャッシュ72A、72B
の作用を組合せることによって行なえる。この点で、メ
モリ管理システム46はキャッシュ制御ユニット74A
、74B、74C及び74D並びにそれらの関連するイ
ンタフェース回路を含むということが理解できるであろ
う、さらに、上述の構成要素は全体として「メモリシス
テム」と呼ばれるということも理解できるであろう。
このメモリシステムの構造及び動作を完全に理解するこ
とは以下に列挙するそのアーキテクチャの特徴を認識す
ることによって可能になろう。
データ記憶装置: 各キャッシュのメモリは複数のページに分割され、各ペ
ージはSVA空間のあるページにダイナミックに割当て
ることができる。メモリシステムは各キャッシュのデー
タに関する用法及び状態情報を維持して補助記憶装置へ
の及び補助記憶装置からの効率のよい移動を助長する。
データのローカルティ(局所化): メモリシステムはサブキャッシュ又はキャッシュのプロ
セッサによって最近参照されたデータをそのプロセッサ
の同じセルに保持する。
データの移動: メモリシステムはそのデータを参照するプロセッサのキ
ャッシュにデータを移動する。
データの共有: メモリシステムはSVAデータのコピーを1つ以上のキ
ャッシュに保持して並列プログラムによる効率のよいデ
ータの共有を助長する。
データのコヒーレンス: メモリシステムは強力に順序付けされたコヒーレントメ
モリモデル及びトランザクションモデルを実行する。
最後の点に関しては、任意の実行の結果が、すべてのプ
ロセッサの動作がある順序で実行されたかのように、同
じであり、かつ各個々のプロセッサの動作がこの順序で
そのプログラムによって特定された順番で現われる場合
には、システムは順序的に終始一貫しているということ
がこの分野の技術者には理解できる。
その上、記憶装置へのアクセスは、任意の1つのプロセ
ッサによるデータへのアクセスが開始され、イシェー(
発生)され、そしてプログラムの順序で実行された場合
、及びプロセッサIによる蓄積がプロセッサKによって
観察されたときに、蓄積のイシェー前にプロセッサIに
関して実行されたデータへのすべてのアクセスがプロセ
ッサKに関して実行されなければならない場合には、強
力に順序付けされているとみなされる。対照的に、記憶
装置へのアクセスは、同期変数へのアクセスが強力に順
序付けされている場合、前のすべてのデータへのアクセ
スが実行される前に同期変数へのアクセスがプロセッサ
においてイシューされない場合、及び同期変数への前の
アクセスが実行される前にデータへのアクセスがプロセ
ッサによってイシューされない場合には、弱(順序付け
されている。
事象(イベント)の強力な順序付けを持つコヒーレント
システムは順序的に終始一貫している。
例示の実施例においては、メモリシステムはページ及び
サブページの単位でデータを記憶し、各ページは4にバ
イトを含み、各サブページは64バイトを含む、メモリ
システムはページ基準でキャッシュ74A、74Bの記
憶装置を割当てる。
SVA空間の各ページはシステムに完全に表わされるか
或は全く表わされない、メモリシステムはサブページの
単位でキャッシュ間にデータを配分する。以下の記載に
おいて、「キャッシュ」という用語はそれぞれの処理セ
ルのキャッシュ記憶素子74A、74Bをいう。
例示のシステム内のSVA空間の構成は通常のパーチエ
アルメモリ・スキームとは大きく逸脱している。従来の
アーキテクチャはシステムアドレスを実際の(物理)メ
モリアドレッサにマツピングし、抜はページの除外情報
を発生するソフトウェア制御のページレベルトランザク
ジョン機構を含む、これらスキームにおいては、ソフト
ウェアは使用中のすべてのセグメント間でページテーブ
ルを多重化する責任を持つ0例示のシステムのアーキテ
クチャにおいては、ソフトウェア制御のべ一ジレベルト
ランザクシゴンmJNは存在しない。
メモリシステムは従来のアーキテクチャにおいてはソフ
トウェアによって通常実行されたアドレス空間管理の重
要な部分を取扱うことができる。これら管理責任には次
のものがある。即ち、(11ページ用法及び状態情報を
保持すること、(2)古いページを再使用すること、 (3)複数のプロセッサ間で共有されたデータアクセス
のコヒーレンスを同期し、かつ保証すること、 (4)サブページの基準でデータ及びデータのコピーを
システムの1つの場所から他の場所に移動して非常に頻
繁にデータを使用しているプロセッサに最も近い場所に
データを保持すること である。
例示のシステムのプロセッサ、例えば、プロセッサ40
A、40B、40Cは2つの主要論理インタフェースを
通じてメモリシステムと通信する。第1のインタフェー
スはデータアクセスインタフェースであり、ロード及び
蓄積命令によって実施される。データアクセスモードに
おいては、プロセッサはメモリシステムにSVA空間及
びアクセスモード情報を提供し、メモリシステムはデー
タを含むサブページを見つけ出してそれを戻すことによ
ってそのアクセスに応λようとする。
第2の論理インタフェースモードは制御アクセスであり
、メモリシステム制御命令によって実施される。制御ア
クセスにおいて、プロセッサはある副作用を実行するよ
うに又はページから実際のデータ以外のある情報を戻す
ようにメモリシステムに命令する。主要インタフェース
の他に、システムソフトウェアは機器構成、保全、障害
、回復、及び診断に対してSVA空間の制御ロケーショ
ンを使用する。
11L之上」1 キャッシュ、例えば、セル18の素子72A、72B、
はページ単位で、即ち、4096バイト単位で、情報を
記憶する。SVA空間の各ページはキャッシュに完全に
存在するか或は全(存在しないかである。各個々のキャ
ッシュ、例えば、セル18の素子72A及び72Bの組
合せ、は1ページずつの基準でデータに対して空間を割
り振る。各キャッシュは1サブページずつの基準でデー
タを記憶する。それ故、SVA空間の1つのページがシ
ステムに存在するときには、次のことがい久る。即ち、 (1)1つ又はそれ以上のキャッシュが記憶装置の1ペ
ージをそのページに割り振り、ページの各サブページは
割り振られた空間を持つ1つ又はそれ以上のキャッシュ
に記憶されるが、しかし、(2)1ページに対して割り
振られた空間を持つ各キャッシュはページのサブページ
の全部のコピーを含んでいるかも或は含んでいないかも
知れない ということである。
キャッシュページとSVAページ間の関連は各キャッシ
ュによってそのキャッシュディレクトリ例えば、素子5
6Aに記録される。各キャッシュディレクトリは複数の
ディスクリブタ(記述子)より構成されている。1つの
キャッシュのメモリの各ページ毎に1つのディスクリブ
タが存在する。ある特定の時刻において、各ディスクリ
ブタは有効か或は無効である。ディスクリブタが有効で
ある場合には、対応するキャッシュメモリページがSV
A空間の1ページと関連し、このディスクリブタは関連
するSVAベージアドレス及び状態情報を記録する。デ
ィスクリブタが無効である場合には、対応するキャッシ
ュメモリページは使用されていない。
各キャッシュディレクトリ46Aは内容アドレス可能な
メモリ(連想メモリ)として働く、これは1つのキャッ
シュがそのディスクリブタの全部を繰返しサーチする必
要なしにSVA空間の特定のページに対するディスクリ
ブタな捜し出すことを可能にする。各キャッシュディレ
クトリは128セツトを備えた32通りのセットの連想
メモリとして実現される。SVA空間のページの全部が
128の等価クラスに分割される。1つのページに対す
る1つのディスクリブタだけがそのページの等価クラス
に対応するキャッシュディレクトリのセットに記憶でき
る。この等価クラスはSVA[18:12]によって選
択される。任意の与えられた時間に、キャッシュはSV
A[18:12]に対して同じ値を持つ最大で32ペー
ジだけを記憶することができる。何故ならば、それは各
セットにおける32の素子であるからである。
キャッシュディレクトリの構成が第5図に示されティ!
、 SVA [18: 12]は1 (’ ットを選択
する0選択されたセットの各ディスクリブタはSVA 
[63:19]に対して同時に比較される。そのセット
の素子の1つが所望のページに対するディスクリブタで
ある場合には、対応するコンパレータが整合を指示する
。セット番号と連結された整合ディスクリブタのセット
のインデックスはキャッシュにおけるページを識別する
。そのセットのディスクリブタが整合しない場合には、
キャッシュは抜はページ除外の信号を発する。1つ以上
のディスクリブタが整合する場合には、キャッシュは複
数ディスクリブタ整合除外の信号を発する。
SVA [18:12]は1セツトを選択するSVAア
ドレスに対するハツシュ関数として使用されることが好
ましい、システムソフトウェアはこのハツシュ関数が通
常の場合に良好な性能を与えるようにSVAアドレスを
割当てる。2つの重要な分配ケースが単一のセグメント
の多くのページを参照し、かつ多数のセグメントの最初
のページを参照することによってもたらされる。キャッ
シュセットを選択するSVA[18:12]の使用は、
128の隣接するページが1セツトにすべて存在し得る
ので、隣接するページ群に対して良好なキャッシュ作用
をもたらす、しかしながら、このキーはそのフィールド
において同じ値を持つ多(のページに対しては貧弱なハ
ツシュ作用をもたらす、システムソフトウェアはこの状
態を、SvA空間を文脈(コンチクスト)セグメントに
割当てるときにハツシュ関数を適用することによって、
回避する。
好ましい実施例によれば、ディスクリブタは次のフィー
ルドを含み、各フィールドのビットサイズは括弧内に示
されている。
ディスクリブタ・有効(1) キャッシュはこのビットフラグを1にセットし、キャッ
シュメモリの対応するページをSvA空間の1ページに
割当て、その他の場合には0にセットする。ディスクリ
ブタ・有効がOである場合には、他のフィールドはいず
れも意味がない。
ディスクリブタ・タグ(45) S VA+7)ビット〔63:19〕、システムソフト
ウェアはこのフィールドをセットし、対応するディスク
リブタによって特定されたSVA空間の特定のページを
識別する。
ディスクリブタ・変更(1) キャッシュは、任意のデータがそのページにおいて変更
されるときに、このビットフラグを1にセットする。シ
ステムソフトウェアはディスクリブタ・変更を0にセッ
トし、ページの変更を認める。
ディスクリブタ・アトミック変更(1)キャッシュは、
このページの任意のサブページがアトミック状態への又
はかうの遷移を受けたときに、このビットフラグを1に
セットする。
システムソフトウェアはディスクリブタ・アトミック変
更な0にセットし、アトミック状態の変化を認める。
ディスクリブタ・保持(1) ソフトウェアはビットフラグをセットし、たとえサブベ
」ジがキャッシュに存在しなくても、ディスクリブタが
キャッシュによって無効にされていないということを指
示する。
ディスクリブタ・LRU位置(5) キャッシュはそのセットにおけるディスクリブタの現在
の位置としてこのフィールドを最も最近に使用された(
0)から最も以前に使用された(31)まで保持する。
ディスクリブタ・LRU挿入インデックス(2)ソフト
ウェアはこのフィールドをセットしてキャッシュのLR
U保全によってページの処理をバイアスする。
ディスクリブタ・書込みなしく1) 1つのフラグ、ソフトウェアはこのフィールドをセット
してローカルプロセッサによるそのページの変更を防止
する。ページを変更する試みは失敗し、プロセッサに信
号が戻される。プロセッサはページ書込みなし除外の信
号を送る。
ディスクリブタ・アトミックなしく1)1つのフラグ、
ソフトウェアはこのフィールドをセットして任意のキャ
ッシュがこのページの任意のサブページでアトミック又
は未決のアトミック状態を取ることを防止する。アトミ
ック状態を取る試みは失敗し、プロセッサに信号が戻さ
れる。プロセッサはページアトミックなし除外の信号を
送る。
ディスクリブタ・オーナーなしく1) ディスクリブタ・オーナーなしはこのキャッシュがこの
ページの所有権を取ることを防止する。所有権を取る任
意の試みが失敗し、プロセッサに信号が戻される。プロ
セッサはページオーナーなし除外の信号を送る。
ディスクリブタ・オーナー制限(2) ディスクリブタ・オーナー制限は特定のキャッシェ、領
域階贋の領域(0)、又は領域lに対するページのサブ
ページに所有権を制限する。
ディスクリブタ・サブキャッシュ(1)対応するサブペ
ージがキャッシュのセルのプロセッサでサブキャッシュ
に記憶されるということを記録するようにキャッシュに
よってセットする。
ディスクリブタ・サブページ状態(3)サブページ状態
フィールドは各サブページの状態を記録するようにキャ
ッシュによってセットされる。
ディスクリブタ・要約(2) 4つの連続するサブページに対応するサブページ状態フ
ィールドを要約する。
ディスクリブタ・書込みなしがセットされた場合には、
そのページへの書込みアクセスはページ書込みなし除外
を生じさせる。システムソフトウェアはトラップされる
ページテーブルを保持し、かつそれらに対するSVA空
間を作ることを拒否することによって、ページの読出し
をトラップすることができる。その後、システムソフト
ウェアは抜はページ除外をソフトウェア発生のページ読
出しなし除外に変換することができる。
ディスクリブタ・書込みなしは「書込み時コピー(コピ
ー・オン・ライト)」の近似として使用できるアクセス
時コピー(コピー・オン・アクセス)スキームを実行す
るために使用できる。プロセスが分岐するときに、分岐
プロセスのアドレス空間のページはページ書込みなし除
外を取るようにセットされる。子のプロセスのアドレス
空間セグメントはまばらなままである。子プロセスが親
によってまだ書込まれていなかったページを参照すると
、ページ障害は親プロセスの対応するページのコピーを
作成することによって満足され、ディスクリブタ・書込
みなしはそのページに対してクリアされる。子がそのペ
ージをコピーする前に親がそのページに書込む場合には
、ページ書込みなしハンドラはそのページを子アドレス
空間にコピーし、そしてディスクリブタ・書込みなしを
クリアする。
ディスクリブタ・保持があるディスクリブタの1である
場合には、ディスクリブタのキャッシュはそれを無効に
することを阻止される。ディスクリブタ・保持を有する
ページのサブページが無効になった後で最初のサブペー
ジが到着すると、ディスクリブタ・タグ、ディスクリブ
タ・保持、ディスクリブタ・LRU挿入インデックス及
びディスクリブタ・LRU挿入優先度を除くディスクリ
ブタのフィールドの全部が、サブページが到着しうに、
再び初期設定される。ディスクリブタ・保持は1つのキ
ャッシュから他のキャッシュに伝播されない。
ディスクリブタ・オーナー制限はそのページのサブペー
ジの所有権をシステムバス階層における特定のキャッシ
ュ又は領域(0)に制限する0次表はディスクリブタ・
オーナー制限の値、及び他のキャッシュからの要求(リ
クエスト)に応答する所有キャッシュの観点からのセマ
ンティクス(意味論)を示す。
(1)キャッシュオーナー制限−ローカルキャッシュは
所有権を他の任意のキャッシュに渡さない、他のキャッ
シュが所有権を要求する場合には、そのキャッシュは誤
り応答を受信する。
(2)領域0オーナー制限−ローカルキャッシュは同じ
領域(0)に存在しないいかなるキャッシュにも所有権
を渡さない。
(3)領域1オーナー制限−ローカルキャッシュは同じ
領域1に存在しないいかなるキャッシュにも所有権を渡
さない。
(4)障害オーナー制限−任意のキャッシュがそのペー
ジのサブページのオーナーでよい。
ディスクリブタ・オーナー制限は次のように他のキャッ
シュに伝播される。即ち、ディスクリブタのサブページ
の全部が読出し専用コピーである限り、ディスクリブタ
・オーナー制限は富に障害オーナー制限である。新しい
キャッシュがサブページのオーナーになると、それはデ
ィスクリブタ・オーナー制限の値を古いオーナーからコ
ピーする。
ディスクリブタ・オーナーなしがあるディスクリブタの
1である場合には、ディスクリブタのキャッシュはディ
スクリブタによって記述されたページの任意のサブペー
ジに対して所有状態を取ることができない、lのディス
クリブタ・オーナーなしを持つディスクリブタを含むキ
ャッシュはコピーを保持しているということを指示する
こと以外に他のキャッシュからの要求に決して応答しな
い、ディスクリブタ・オーナーなしは1つのキャッシュ
から他のキャッシュに伝播されない。
ディスクリブタ・アトミックなしがあるディスクリブタ
の1である場合には、ディスクリブタキャッシュはディ
スクリブタによって記述されたページの任意のサブペー
ジに対してアトミック又は未決のアトミック所有状態を
取得することができない、アトミック又は未決のアトミ
ック所有状態をセットするプロセッサの試みは失敗し、
そのプロセッサに信号が戻される。プロセッサはページ
アトミックなし除外の信号を送る。ディスクリブタ・ア
トミックなしは1つのキャッシュから他のキャッシュに
伝播される。
ディスクリブタ・要約は4つの連続するサブページに対
応するサブページ状態フィールドを要約する。ディスク
リブタによって表わされた4つのサブページの12セツ
トのそれぞれ毎に1つの2ビツトフイールドがある。要
約状態のリストを以下に示す。
すべて無効−4つ全部のサブページのサブベージ状態が
無効である。
すべて排他的−4つ全部のサブページのサブページ状態
が排他的オーナーである。
オーナーなし−4つ全部のサブページのサブページ状態
が無効であるか又は読出し専用である。
オーナー−1つ又はそれ以上のサブページがアトミック
オーナー、排他的オーナー又は非排他的オーナー状態の
いずれかである。
例示のメモリ素子、例えば42A、42B、42Cは、
例えばそのローカルプロセッサからの同期要求を実行し
ている間に、誤りを検出する。素子は誤りの信号を、要
求に対するその応答において送る。ローカルプロセッサ
は対応する除外の信号を送る。遠方のセルからの要求を
実行している間にメモリ素子が誤りを検出すると、この
素子はそのローカルプロセッサに割込みを送り、誤り応
答を持つ要求に応答する。以下の説明において、「キャ
ッシュが除外の信号を送る」という表現はこのプロセス
に対する略称である。
各メモリはキャッシュ・アクティビティ・ディスクリブ
タ・テーブル(cADT)(図示せず)を含み、このテ
ーブルにおいて各メモリは進行中のアクティビティの状
態を保持する。メモリ素子がその領域(0)からの要求
に応答する際に、又は非同期制御命令或は遠隔制御命令
を実行する際に5誤りを検出すると、メモリ素子は割込
みを送る前にCADTの1つのディスクリブタにこの誤
りを記入する。ソフトウェアはCADTを読出して誤り
の特定の源及びタイプを識別する。ソフトウェアはCA
DTをリセットして誤りの受信を認める。
サブページ びデー あるページがメモリシステムに存在すると、そのサブペ
ージのそれぞれが1つ又はそれ以上のキャッシュに存在
する。あるサブページが1つのキャッシュに存在すると
、そのキャッシュのそのサブページを含むページに対す
るディスクリブタがいくつかの状態の1つでそのサブペ
ージの存在を記録する。キャッシュにおけるサブページ
の状態は次の2つの事を決定する。即ち、 1)そのキャッシュのローカルプロセッサがサブページ
に存在するデータについてどのような動作を実行できる
か、及び 2)そのキャッシュが、もしある場合には、他のキャッ
シュから領域を通じて受信したサブページの要求に対し
てどのような応答を行なうか である。
キャッシュのサブページの状態は、特定の状態を要求す
る要求動作をユーザがプログラムするときに、時間とと
もに変化する。−組の遷移規則がプロセッサの要求及び
キャッシュ領域間通信から生じるサブページの状態の変
化を特定する。
プロセッサがロード又は蓄積を完了するためには、次の
2つの条件が満足されねばならない。
1)データを含むサブページがそのローカルキャッシュ
に存在しなければならない。
2)このローカルキャッシュは適当な状態にサブページ
を保持しなければならない、この状態は、サブページが
変更できるか否か、及びローカルキャッシュが他のキャ
ッシュからの要求にどのように応答するか、を決定する
これら条件のいずれかが満足されない場合には、プロセ
ッサのローカルキャッシュは領域を通じて通信してサブ
ページのコピーを取得し、並びに、或はサブページに必
要な状態を取得する。キャッシュが要求を満足させるこ
とができない場合には、プロセッサに適当な除外の信号
を送る誤りの指示を戻す。
命令セットは、プログラムが現在の制御スレッドの予期
される今後のデータ基準パターン、並びに並列適用にお
ける異なる制御スレッド間のプロトコルに適したサブペ
ージ状態を要求できるようにするいくつかの異なる形式
のロード及び記憶命令を含む。
以下においては、プロセッサ命令による状態及びそれら
の遷移並びにキャッシュに対するそれらの影響を初めに
記載する。続いて、それら状態の遷移を実行するために
キャッシュ間で送られる領域メツセージについて記載す
る。
iエニニ乏旦1 サブページ状態及びそれらの遷移規則は2つの一般的な
1m?1を例示のシステムで実行するユーザプログラム
に提供する。
1)それらはシステムのブ、ロセツサによる通常のロー
ド及び記憶アクセスに対するメモリアクセスの強力に順
序付けされた順序的に終始一貫したモデルを透過的に実
施する。
2)それらは並列計算を同期させるためにプログラムに
よって使用される一組のトランザクション・プリミティ
ブを提供する。これらプリミティブは種々の伝統的な及
び非伝統的な同期機構に適用することができる。
状態及びそれらの遷移は3つのグループに記載される。
第1のグループは強力に順序付けされた、順序的に終始
一貫したメモリアクセスのモデルを実施する基本的な状
態及び遷移である。第2のグループはトランザクション
・プリミティブを実施する追加の状態である。最後のグ
ループはメプロセッササブキャッシュシステムは2つの
側面、即ち、データ及び命令に分けられる。データサブ
キャッシュ62はキャッシュのように64とットワード
で構成される。命令サブキャッシュ64は、各64ビツ
トメモリワードに2つの32ビツト命令が存在するので
、32ビツトハーフワードに構成される。データサブキ
ャッシュは0.5Mバイトを記憶し、命令サブキャッシ
ュは0.25 Mバイトを記憶する。命令サブキャッシ
ュのアイテムはハーフワードであるから、2つのサブキ
ャッシュは同じ数のアイテムを記憶する。サブキャッシ
ュの2つの側面は構造ではキャッシュと類似している。
サブキャ・シェダー  ) サブキャッシュディスクリブタはSVA空間の全ページ
を記載しない、これらディスクリブタはブロックと呼ば
れる異なる単位を記載する。ブロックの大きさはサブキ
ャッシュの2つの側面で相違している。データ側面では
、ブロックはページの寸法の半分である。命令の側面で
は、ブロックはページの大きさのべである0両側面にお
いて、各ブロックは32のサブブロックに分割される。
次の表は2つのサブキャッシュにおけるブロック、サブ
ブロック及び他のアイテムの相対寸法を示す。
A びデータサブキ ッシュの 合計    1イテム   サブ1t+ツク   バイ
ト    サブブロック・ ゛      ・ ゛  
   ブロック    /ブロック   ・ 。
データ   、50Mバイト  64ビツト   32
     2.OK    64バイト命令  、25
Mバイト  32ビツト   32     1.OK
    32バイトキヤツシニがメモリのページを割当
て、かつデータを一度に1つのサブページをコピーする
のと全く同じ態様で、サブキャッシュはページを割当て
、かつデータを一度に1つのサブブロックをコピーする
サブキ ッシェの サブキャッシュ62.64はキャッシュと同様に構成さ
れる。キャッシュが32通りのセット連想(各セットは
32のディスクリブタを含む)である場合には、サブキ
ャッシュは4通りのセット連想である。データの側面で
は、セット数はSvAのビット[16:111及びタグ
ビット[63:17jである。命令の側面では、セット
数はビット[15:10]であり、そしてタグはビット
[63:16]である。データサブキャッシュは各サブ
ブロックに対する変更情報を保持する。
サブキ ψシュ き サブキャッシュはキャッシュLRUスキームの簡単な近
似を実行する。各サブキャッシュはセット内に最も最近
参照されたディスクリブタの識別子を保持する。ディス
クリブタが必要なときには、3つのディスクリブタのう
ちの最も最近参照されたディスクリブタでない1つを置
き換久のためにランダムに選択する。
サブキャッシュブロック データサブキャッシュは、「サブキャッシュからキャッ
シュへの更新」と題する上記項目において記載したよう
に、変更されたサブブロックをそれらのキャッシュに書
込む。
び゛ データ共有の基本モデルは3種類のサブページ状態、即
ち、無効、読出し専用、及びオーナー、により定義され
る。これら3つの種類はそれらが可能にするアクセスに
よって強さの順に配列される。無効状態はいかなるアク
セスも可能にせず、読出し専用状態はロードアクセスを
可能にし、そしてオーナー状態はロード及び記憶アクセ
スを可能にする。1つのキャッシュのみが任意の与えら
れた時間にオーナー状態にある特定のサブページ、を保
持できる。オーナー状態のサブページを保持するキャッ
シュはサブページのオーナーと呼ばれる。各サブページ
の所有権は、プロセッサが所有権を要求する記憶命令及
び特別のロード命令を通じて所有権を要求するときに、
キャッシュからキャッシュへ移動する。任意数のキャッ
シュが読出し専用状態においては特定のサブページを保
持することができる。
基オ」L犬1 以下の項目は状態の種類及びそれらが強力に順序付けさ
れた、順序的に終始一貫しているメモリアクセスのモデ
ルを実行するために相互作用する態様を記載する。
見処並1 サブページがキャッシュに存在しないときには、そのキ
ャッシュに関しては無効状態にあるといわれる。プロセ
ッサがそのローカルキャッシュの無効状態にあるサブペ
ージにロード又は記憶を要求すると、そのキャッシュは
データアクセスを・満足させるためにある他の状態にあ
るサブページのコピーを要求しなければならない、無効
ディスクリブタと無効の2つの無効状態がある。特定の
キャッシュが特定のページに対するディスクリブタを有
さないときには、そのページのサブページの全部がその
キャッシュの無効ディスクリブタ状態にあると称される
。かくして、無効ディスクリブタ状態のサブページは明
瞭には表わされない。
特定のキャッシュが特定のページに対するディスクリブ
タな有するが、しかし特定のサブページがそのキャッシ
ュに存在しないときには、そのサブページは無効状態に
ある。2つの無効状態は、サブページが無効ディスクリ
ブタからよりは無効から読出し専用又はオーナー状態へ
の遷移を非常に受は易いので、区別される。前者の場合
には、ディスクリブタは既に存在する。後者の場合には
、ディスクリブタが割当てられなければならない。
1区見!1旦1 1つの読出し専用状態、即ち、読出し専用、が存在する
だけである。
に土二ぷ1 2つの基本的オーナー状態、即ち、非排他的及び排他的
、が存在する。特定のキャッシュが非排他的状態の特定
のサブページを保持すると、任意数の他のキャッシュが
そのサブページを読出し専用状態に同時に保持すること
ができる。特定のキャッシュが排他的状態の特定のサブ
ページを保持すると、他のキャッシュは、そのキャッシ
ュが排他的状態に留まる限り、コピーを保持することが
できない、キャッシュが非排他的状態のサブページを保
持し、かつそのサブページのデータが変更されると、そ
のキャッシュは変更されたデータを読出し専用コピーを
持つキャッシュの全部に送る。
基]」&悪4し1移 基本状態の遷移は特定のキャッシュの排他的状態のサブ
ページを考慮することによって例示することができる。
データがこの第1のキャッシュから他のキャッシュへ移
動する基本的機構はその第1のキャッシュのローカルプ
ロセッサ以外のプロセッサによるロード及び記憶命令の
実行である。
異なるロード及び記憶命令、並びに先取り命令によりプ
ログラムはそれらのローカルキャッシュが読出し専用、
非排他的、或は排他的状態を取得することを要求するこ
とができる。他のキャッシュが読出し専用状態を要求す
る場合には、第1のキャッシュは排他的から非排他的へ
その状態を変え、要求キャッシュに読出し専用状態を与
λる。
他のキャッシュが非排他的状態を要求する場合には、第
1のキャッシュはその状態を読出し専用状態に変え、要
求キャッシュに非排他的状態を与える、他のキャッシュ
が排他的状態を要求する場合には、第1のキャッシュは
その状態を無効に変久、要求キャッシュに排他的状態を
与える。
所有権は、プロセッサが排他的及び非排他的状態を要求
するときに、キャッシュからキャッシュへ移動する。あ
るキャッシュが非排他的所有権を要求すると、任意の読
出し専用コピーが無効にされる(無効状態への遷移を受
ける)。
キャッシュが記憶命令を満足させろためにサブページの
所有権を取得すると、このキャッシュは記憶命令が完了
するまでその所有権を他のキャッシュに与久ない、非排
他的状態の場合には、キャッシュは記憶装置からの新し
いデータが読出し専用コピーを持つキャッシュに送られ
るまで他のキャッシュに所有権を与えない、この規則は
、メモリロケーションの読出し書違に変更がなされる順
序でこれら変更を観察することを保証するという点で、
メモリシステムの強力に順序付けされた性質を与λる。
ある特定のサブページが特定のキャッシュの無効状態に
あり(即ち、ディスクリブタが既に割当てられているが
、しかし特定のサブページが存在しない)、かつそのサ
ブページのコピーがある他のキャッシュからの要求によ
る領域の相互接続で入手でき、かつ少なくとも1つの他
のキャッシュがそのローカル領域(0)にコピーを有す
るときには、そのキャッシュはサブページの読出し専用
コピーを取得するであろう、この機構の効果は、他のキ
ャッシュからサブページのコピーを要求することに関連
した待ち時間を除去することができるので、並列計算を
促進することができることである。
非排他的オーナーがサブページを変更するときには、オ
ーナーは領域を通じて任意の読出し専用コピーに変更さ
れたデータを送らなければならない、これはプロジエー
サからコンシューマへの非常に速いデータの伝播を可能
にする。しかしながら、それは領域の帯域幅を浪費する
。それ故、このメモリシステムは不必要な非排他的オー
ナー状態を回避するために2つの機構を含む、第1は、
非排他的オーナーが領域を通じて更新を送出すると、こ
のオーナーは任意の他のキャッシュが読出し専用コピー
を実際に保持するか否かを含む戻り受領信号を受信する
。読出し専用コピーが存在しないことを受領信号が示す
場合には、オーナーはサブページの状態を非排他的から
排他的に変えて今後の更新を回避する。第2は、あるキ
ャッシュが読出し専用状態に保持するというサブページ
に対する更新を受信すると、その作用はそのサブページ
が現在CPUのサブキャッシュに存在するか否かに依存
する。
そのサブページがサブキャッシュに記憶されていない場
合には、キャッシュはそれを無効にする。そのサブペー
ジがキャッシュに記憶されている場合には、キャッシュ
はそれをサブキャッシュから除去する。これら作用の効
果は次の通りである。サブページが変更されない限り、
それの読出し専用コピーはメモリシステム全体に伝播す
る。
サブページが変更される場合には、各読出し専用コピー
は、そのコピーが少な(ともそのサブページが変更され
るのと同じ頻度で参照される場合にのみ、存続する。
の゛  の  ゛ 基本砿構が強力に順序付けされたメモリアクセスモデル
を簡単なロード及び記憶命令を使用するプログラムに与
えるということに言及することは重要なことである。プ
ログラムはそれらの性能を改善するために特定の状態を
要求するロード、記憶、及び先取り命令の形式を使用し
てもよく、そして多くの場合にコンパイラが必要な分析
を実行するということは予期されることである。しかし
ながら、この分析は随意のことである。
1飄抜1及1」1 同期状態及び関連する遷移はKSRトランザクションモ
デルを実施する。このトランザクションモデルはプログ
ラム間の広範囲の同期プロトコルを実施するために使用
できるプリミティブ同期機構である。これらプロトコル
の全部が時間的に規則正しい構造を共有データへのアク
セスに課する目的を共有する。
トランザクションモデルは、2つの状態、即ちアトミッ
ク及び未決のアトミック状態、これら状態への及びこれ
ら状態からの遷移を明確に要求する一組の命令、及び参
照するサブページが現在アトミック状態にあるか否かに
それらのセマンテイクスが依存するロード及び記憶命令
の形式、に基づいている。
アトミック   びトーン クシジン アトミック状態はトランザクションモデルの中心的特徴
である。アトミック状態は排他的状態よりも強い所宵橿
の形式である。サブページのみがプログラムによる明確
な要求の結果としてアトミック状態に入り、かつアトミ
ック状態から離れる。
基本的には、アトミック状態はSVA空間の任意のサブ
ページに単一スレッドのアクセスを行なうために使用で
きる。あるサブページがアトミック状態に入ることを要
求する命令をプロセッサが実行するときに、この命令は
、サブページが既にアトミック状態にない場合に1通常
は完了するだけである。かくして、サブページのアトミ
ック状態は簡単なロックとして使用できる。このロック
はサブページをアトミック状態にすることによってロッ
クされ、またサブページを解放して排他的状態にするこ
とによってロックが解かれる。
あるプログラムはサブページがジ−イーティー(get
)命令の形式の1つでアトミック状態に入り、アールエ
スピー(rsp)命令でアトミック状態を解放すること
を要求する。これら命令については後で詳細に説明する
一連のジ−イーティーはある保護された情報を操作し、
またアールエスピーはトランザクションの最も簡単な形
式である。以下の項目は一層複雑なプロトコルの実施を
可能にするトランザクション機構のより複雑な特徴を示
すものである。これらプロトコルは特定の並列プログラ
ミングの適用装置に高性能を与える。
デー  び 簡単なトランザクションにおいては、サブページは純粋
にロックとして使用される。サブへ−ジのデータは検索
できない、−層複雑な形式の同期機構のあるものはアト
ミック状態に保持されたサブページのデータを利用する
。最も簡単な事例はサブページのアトミック状態をその
サブページにおけるデータのロックとして使用すること
である。プログラムは1つ又はそれ以上のサブページを
アトミック状態にし、それらの内容を操作し、そしてそ
れらを解放する。
上記したトランザクションにおいては、保護されたデー
タへのアクセスは厳密に単一のスレッドである。しかし
ながら、1つのプログラムがある値を1込み、多くのプ
ログラムがそれを読出し、しかもコンシューマはデータ
の1つより多い完全なKSRワードを終始一貫して観察
する必要がないという重要な応用例がある。そのような
場合には、各コンシェーマがアトミック状態のデータを
含むサブページを順次に直列に保持することは望ましく
ない、コンシューマはプロジューサがアトミック状態を
解放するまで待機しなければならないが、しかしコンシ
ェーマはすべて同時に結果を読出すことができる。
これに類似する応用例はブロッキング及び非ブロツキン
グ形式のロード命令を使用して実施することができる。
非ブロツキングロード命令はサブページがアトミック状
態にあるか否かに関係な(そのサブページのデータにア
クセスする。これらは通常のプログラムによって及び上
記した単一スレッドのトランザクションによって使用さ
れる。
ブロッキングロード命令は、サブページがアトミック状
態にない場合にのみ通常は進行する。ブロッキングロー
ド命令によって参照されたサブページがアトミック状態
にある場合には、この命令はサブページがアトミック状
態を離れるまで進行しない、プロジューサとコンシュー
マの関係において、プロジューサはアトミック状態にあ
るデータを含むサブページを保持し、一方コンシューマ
はブロッキングロード命令を使用してデータを読出す。
び  アト;ツク 態  −のアトミ ジーイーティー命令は領域を通じてアトミック状態を能
動的に要求する。ある応用例においては、プログラムは
特定のサブページが既にアトミック状態にあるという絶
対知識を有し得る。この場合には、領域を通じて要求を
送ることは無駄なことである。その代りに、プログラム
はストップ命令を使用してサブページをローカルキャッ
シュの未決のアトミック状態に置(ことができ、そして
他のプログラムに依存してサブページをアールエスピー
イー命令を使用して排出することができる。
サブページが特定のキャッシュの・未決のアトミック状
態にあると、これはアトミック状態がそのキャッシュに
所望されているということを示す。
未決のアトミック状態にある特定のサブページを保持す
るキャッシュに領域を通じてメツセージが到来し、アト
ミック状態をそのサブページが入手できるということを
指示すると、そのキャッシュはそのサブページをアトミ
ック状態にすることになる。プロセッサがサブページに
対するストップ命令を実行すると、そのサブページはロ
ーカルキャッシュの未決のアトミック状態に置かれる。
他のプロセッサがアールエスピーイー命令を実行すると
、アトミック状態がそのサブページに入手できるという
ことを示すメツセージが送られる。このメツセージが未
決のアトミック状態にあるサブページを持つキャッシュ
に到着すると、そのキャッシュはアトミック状態を取得
する。
この種のメツセージは単一の、十分に定められた順序で
システムのキャッシュの全部に送られる。かくして、一
連のキャッシュはそれら自身のそれぞれに順繰りに同期
トークンを送るために形式ストップ、操作、アールエス
ピーイーのシーケンスを使用することができる。
11抜里及塁11 遷移状態はコンテンシ式ンの場合にサブページへのアク
セスの性能を改善するためにメモリシステムによって自
動的に使用される。3つの過渡状態がある。即ち、過渡
アトミック、過渡排他的、及び過渡非排他的状態である
。これら状態はアトミック、排他的、及び非排他的状態
に、それぞれ対応する。直ちに応答することができない
特定のサブページに対する要求を特定のキャッシュが受
信すると、この特定のサブ、ページはそのキャッシュに
おいて過渡状態に入る。サブページがアトミック状態に
あり、かつ他のキャッシュがそのサブページを要求する
場合には、そのサブページは保持するキャッシュにおい
て過渡アトミック状態に入る。サブページがアールエス
ピー命令によって後で解放されると、過渡状態は、あた
かもアールエスピーイーが使用されたかのように、サブ
ページを追い出されるようにする。サブページが排他的
又は非排他的状態にあり、かつサブキャッシュに記憶さ
れており、他のキャッシュがそのサブページを要求する
場合には、そのサブページは対応する過渡状態に入る。
サブページの最新のコピーがサブキャッシュに入手でき
ると、キャッシュはサブページを追い出し、他のキャッ
シュが利用できるようにする。
サブページは単一の他のキャッシュによる要求によって
キャッシュで過渡状態に入る。しかしながら、保持する
キャッシュがそれを追い出す前に任意数の追加のキャッ
シュが同じサブページに対する要求を行なう可能性があ
る。この場合には、1回の追い出しが領域を介して単一
のメツセージを有する要求キャッシュのすべてを満足さ
せる。
の   t ゛ 次のものは状態の別のリストである。このリストには、
状態に入りかつ状態から離れるための最も重要な条件が
記載されている。このリストは上記序説よりは完全な遷
移の一覧表を提供するが。
しかし状態遷移の正確な明細は後で提供する表に与えら
れている。遷移のあるものはLRU情報によって条件付
けされる。
無効ディスクリブタ: サブページは、そのページに対するディスクリブタが割
当てを解かれると、キャッシュにおいて無効ディスクリ
ブタ状態に入る。そのページに対するディスクリブタが
キャッシュにおいて割当てられると、無効状態を離れる
。ディスクリブタ・保持が1でない場合には、ディスク
リブタは、そのサブページのそれぞれが暗黙のうちに無
効ディスクリブタ状態にあると、自動的に無効にされる
無効: サブページは、他のキャッシュが排他的又はアトミック
状態を取得すると、キャッシュにおいて無効状態に入る
。サブページは、キャッシュが任意の状態のサブページ
のコピーを取得すると、そのキャッシュにおいて無効状
態を離れる。キャッシュは、データ移動制御命令(後記
参照)に応答して、或は他のキャッシュ間の通信により
領域を通じてコピーが入手できると、サブページのコピ
ーを取得してそのローカルプロセッサからの要求を満足
させることになる。
読出し専用: サブページは、キャッシュが読出し専用コピーを要求す
ると、或は他のキャッシュ間の通信により領域を通じて
コピーが入手でき、かつ同じ領域(0)の少なくとも1
つの他のキャッシュがそのサブページのコピーを有する
ときに、無効状態からキャッシュにおいて読出し専用状
態に入る。サブページは、他のキャッシュが非排他的状
態を要求するときに、非排他的又は排他的状態から読出
し専用状態に入る。サブページは、他のキャッシュが排
他的又はアトミック状態を要求するときに、或はキャッ
シュがオーナー状態を取得するときに、読出し専用状態
を離れる。
サブページの非排他的オーナーがそのサブページを変更
すると、このオーナーは新しいデータを領域を通じて送
り、任意の読出し専用コピーを更新する。かかる更新時
に、キャッシュが読出し専用状態のサブページを有し、
かつそのサブページがキャッシュのローカルプロセッサ
によって使用中であると、キャッシュはコピーを更新し
、更新に応答してコピーを有するということを示す、サ
ブページは、それがプロセッサのサブキャッシュに存在
するときに、プロセッサにおいて使用中であると定義さ
れる。キャッシュが読出し専用状態のサブページを有し
、かつサブページが使用中でないと、そのキャッシュは
サブページを無効にし、更新に応答しない。
非排他的オーナーニ サブページは、キャッシュが所有権を要求し。
かつある他のキャッシュが読出し専用コピーを有すると
きに、そのキャッシュにおいて非排他的状態に入る。サ
ブページは次の通りに非排他的状態を離れる。即ち、キ
ャッシュが非排他的状態のコピーを有し、かつ他のキャ
ッシュが非排他的状態を要求すると、保持するキャッシ
ュはこの要求に応答してその状態を読出し専用状態に変
え、非排他的状態を要求するキャッシュに与える。キャ
ッシュが非排他的状態のコピーを存し、かつ他のキャッ
シュが排他的又はアトミック状態を要求すると、保持す
るキャッシュはこの要求に応答してそのコピーを無効に
する。非排他的状態のサブページを保持するキャッシュ
がそのローカルプロセッサから更新を受信すると、この
キャッシュは新しいデータを他のキャッシュに送る。コ
ピーを保持しているということを他のキャッシュが指示
しない場合には、保持するキャッシュはサブページの状
態を排他的に変化させる。
排他的オーナー: サブページは、キャッシュが所有権を要求し、かつ他の
キャッシュが読出し専用コピーを有さないときに、或は
そのキャッシュが明確に排他的状態を要求するときに、
そのキャッシュにおいて排他的状態に入る。サブページ
は、コピーの要求があると、排他的状態を離れる0種々
の状態の要求に対する応答は次の通りである。即ち、 読出し専用−そのページがLRU優先度においてBS高
(ハイ)より低い場合には、保持するキャッシュは応答
して排他的状態を与え、そのコピーを無効にする。その
ページがLRU優先度においてBS高より高い場合には
、保持するキャッシュは応答して読出し専用状態を与λ
そのコピーの状態を非排他的に変える。
非排他的−そのサブページがサブキャッシュに記憶され
ている場合には、保持するキャッシュは応答して非排他
的状態を与え、そのコピーの状態を読出し専用に変える
。そのサブページがサブキャッシュに記憶されていない
場合には、保持するキャッシュは応答して排他的状態を
与久、そのコピーを無効にする。
排他的又はアトミック−保持するキャッシュは要求に応
答してそのコピーを無効にする。
アトミック: サブページは2つの方法の1つでキャッシュにおいてア
トミック状態に入る。第1は、ローカルプロセッサがジ
−イーティー命令を実行し、かつサブページがアトミッ
ク状態にない場合に、要求するプロセッサのローカルキ
ャッシュはアトミック状態のサブページを取得すること
になる。第2は、あるキャッシュが未決のアトツク状態
のサブページを保持する他のキャッシュからそのサブペ
ージが追い出される場合に、初めのキャッシュはアトミ
ック状態を取得することになる。
サブページは、キャッシュのローカルプロセッサからの
明確な要求によって解放されるときにのみ、そのキャッ
シュにおいてアトミック状態を離れる。
未決のアトミック: サブページはストップ命令を通じて未決のアトミック状
態に入る。
サブページは2つの方法で未決のアトミック状態を離れ
る。サブページがキャッシュにおいて未決のアトミック
状態にあり、かつローカルプロセッサがアールエスピー
命令を実行する場合に、サブページは未決のアトミック
を離れ、無効になる。サブページがキャッシュにおいて
未決のアトミック状態にあり、かつそのサブページが追
い出しによりアトミック状態を得ることができるように
されると、そのサブページは未決のアトミック状態から
アトミック状態に入る。
過渡非排他的オーナー: 過渡排他的オーナー: 過渡アトミックオーナー: 任意のオーナー状態のサブページを保持するキャッシュ
が直ちに応答できない場合には、保持するキャッシュは
サブページの過渡状態をマークする0例^ば、あるキャ
ッシュがアトミック状態のサブページを保持し、他のキ
ャッシュが任意の状態のコピーを要求すると、保持する
キャッシュはサブページの過渡アトミックをマークする
。何故ならば、アトミック状態にある間応答を発生でき
ないからである。
過渡状態は応答及び追い出し時に送られる。追い出しが
ある他のキャッシュによって取得されることなしに領域
を通って移動した後でのみ過渡状態はクリアされる。
デー コピー 上記した状態間の相互作用は他のキャッシュからのコピ
ーを待機するのに費やした時間及び領域の帯域幅と更新
したコピーを他のキャッシュに送るのに費やした時間及
び帯域幅とのトレードオフである。システムにサブペー
ジの多数の読出し専用コピーが存在するときには、読出
しが既にローカルキャッシュにあるデータを見つけると
いう変化が増大する。しかしながら、システムに任意の
読出し専用コピーが存在する場合には、オーナーはサブ
ページを変更するときに更新を送り出さなければならな
い。
次のヒユーリスティックは単一のリード/ライターアク
セスから短期間の基準で複数のリード/ライター共有を
ダイナミックに検出しようとするものである。複数のリ
ード/ライター共有は高い一時的ローカルティを持つ複
数の読出し専用コピー並びにより低い一時的ローカルテ
ィを持つ書込み更新である。読出し専用コピーを保持す
ることは、複数のコピーが更新間で複数回読出されるの
で、非常に効率がよい、更新は単一の領域の動作におい
て生じる。単一のリード/ライターアクセスは低い一時
的ローカルテイを持つ読出し専用コピー並びに非常に高
いローカルティを持つ書込み更新である。読出し専用コ
ピーを保持することは、これらコピーが更新間で複数回
更新されるので、効率がよくない、単一のリード/ライ
トコピー(排他的オーナー状態)は書込み更新に対して
領域の動作を要求しない、これら2つの事例を独立にす
べての読出し専用コピーに適用することによって、複数
の読出し専用コピーを持つ非排他的所有権から読出し専
用コピーを持たない排他的所有権への遷移を可能にする
。これら考察をバランスよ(調整するための戟略は次の
通りである。
a、サブページのコピーが要求を満足させるために領域
を通って送られると、ページに対するディスクリブタを
持つが、サブページのコピーを持たない任意のキャッシ
ュがメツセージから読出し専用コピーを取出す。
この機構は高いローカルティの基準を持つ応用装置を加
速する。
ると、使用中でない読出し専用状態のサブページのコピ
ーを持つその他すべてのキャッシュはそのコピーを無効
にする。コピーがサブキャッシュに記憶されている場合
には、「使用中」とみなされる、コピーがプロセッサの
サブキャッシュに保存されると、それはサブキャッシュ
から除去される。これはそのプロセッサからのそのサブ
ページに対する次の参照をゆっ(つとさせる、コピーが
除去されなかった場合には、サブページは無期限にサブ
キャッシュに残留することになり、オーナーに強制的に
更新を送らせる。相互接続の帯域幅はシステム全体の性
能を制限するから、全体的なスルーブツトに対する1つ
のキャッシュのトレーディング待ち時間は正味のシステ
ムの性能を改善する。
C,オーナーが異なる領域(0)にいるときに、キャッ
シュはサブページの読出し専用コピーを周期的に除去す
る。これは更新のコストを減少させる。何故ならば、領
域(0)内メツセージは領域(0)間メツセージより速
いからである。
プロセラササ ド 第6A図及び第6B図に示す表はキャッシュがそのロー
カルプロセッサからのデータアクセス要求に応答して取
る行為の正確な明細を表わす、この表の一列は各プロセ
ッサのキャッシュに対する要求に対するものである。−
行はキャッシュにおけるサブページの各可能な状態に対
するものである。表の記載事項は、サブページがキャッ
シュにおいて特定の状態番こあるときに、もしあれば、
要求を満足させるためにそのキャッシュによって領域を
通じて送られたメツセージを示す、これらメツセージは
以下に定義される。記載事項が「−状態」を含むときは
、ローカルキャッシュがメツセージに対する上首尾の応
答を受信した後で、サブページをその状態にセットする
1ユエヱヱ                    
1キヤツシユは領域を通じてメツセージを送り、特定の
状態のサブページのコピーを取得する。各メツセージは
要求のタイプ、ディスクリブタ、及びサブページに対す
るデータよりなる。第7図、第7A図、第7B図、第7
C図、及び第7D図に示す表は各キャッシュが領域での
メツセージに応答する態様の正確な明細を示す、これら
表は3つの部分に分割されている。即ち、読出し動作、
書込み動作、及び応答動作である。各部分は動作の定義
を含む、これら表は特定の状態のサブページを持つキャ
ッシュが特定のメツセージを受信したときに生じる状態
を与える。これら状態の他に、表には次の副次的効果及
び変更の注釈がついている。
応答:キャッシュはサブページのコピーを持つメツセー
ジに応答する。
誤り:キャッシュは除外の信号を発する。
ワーキングーセット二ページのLRU優先度がBS高レ
ベル(ハイ)より低い場合に、サブページは、オーナー
制限がその遷移を禁止しない限り、要求者を支持して無
効にされる。その他の場合は図示の通りである。
サブキャッシュにあるか?:サプページがサブキャッシ
ュに記憶されていない場合には、他の制限がその遷移を
禁止しない限り、サブページは要求を支持して無効にさ
れる。その他の場合は図示の通りである。
オーナー制限?:ディスクリブタ・オーナー制限の値が
キャッシュオーナー制限である場合には、誤りである。
それが領域Oオーナー制限であり、かつ源要求が異なる
領域(0)にある場合には、拒絶する。その他の場合は
特定された通りである。
更新フラッシュ?:サブページがサブキャッシュにある
場合には、それをサブキャッシュから除去し、応答して
コピーが存在することを指示する。
サブページがサブキャッシュにない場合には、それを無
効にし、全く応答しない。
領域0コピー?=ローカル領域(0)に他のコピーが存
在する場合には、既にキャッシュにコピーがあるならば
、読出し専用コピーを保持する。キャッシュにコピーが
存在しない場合には、読出し専用状態のコピーを取得す
る。その他の場合は、コピーが存在するならば、それを
無効にする。
変化なし:状態の変化なし。
更新フラッシェ?及び領域Oコピー?の両方が特定され
た場合には、いずれかの条件がコピーを保持するのに十
分である。
1雌に基ニヱニ乏 特に第7A図を参照すると、読出し動作はプロセッサの
動作に必要な状態を取得するために使用される。いった
んサブページがローカルキャッシュに読出されると、動
作は進行し得る。
読出しメツセージの大部分は単に特定の状態のサブペー
ジに対する要求であり、状態のあとに名称がつけられる
9例えば、読出しアトミックはアトミック状態を要求す
る。複雑なセマンティクスを持つ2つのメツセージ、即
ち、最高の読出し専用及び最高の非排他的メツセージ、
がある、最高の読出し専用は増大する領域距離の順序で
システムをサーチし、最も近いキャッシュが入手できる
最強の状態を取る。ローカル領域(0)に任意のコピー
が存在する場合には、最強の状態のコピーが応答してそ
れ自身を無効にする。最高の非排他的は、読出し専用状
態のサブページを持つキャッシュが応答しないという点
を除き、同様のセマンティクスを持つ、読出し一回コピ
ーはサブページの状態を変λることなしにサブページの
コピーを要求する。
1處立X二皇二工 第7B図を参照すると、書込み動作は変更されたデータ
を他のキャッシュに送り出すために、或は他のキャッシ
ュに強制的に状態を放棄させるために、使用される。
書込み更新:これはサブページが変更されたときに非排
他的オーナーによって送り出される。
書込み無効:これは非排他的オーナーが排他的状態を取
得する必要があるときに、非排他的オーナーによって送
り出される。(アトミック状態を取得するために、非排
他的オーナーは書込み無効を使用して排他的状態を獲得
し、そして任意の他のキャッシュが所有権を要求するこ
とを可能にする前に、内部的にアトミックに状態を変え
る。)書込み排他的再結合:これは過渡排他的状態にあ
る又はCPU命令によって明確に追い出されたサブペー
ジを追い出すために使用される。また、排他的状態のサ
ブページを持つキャッシュによって、LRU優先度の基
準でサブページに対して責任を負う他のキャッシュを見
つけるために、送り出される。いったんディスクリブタ
を持つ1つのキャッシュがこのメツセージに応答したと
きには、他のキャッシュは応答しない。メツセージに対
する応答がなく、かつキャッシュがWSトップより低い
LRU優先度を持つページに対するディスクリブタを有
する場合には、キャッシュは状態を排他的オーナーにセ
ットし、応答する。このメツセージは、トランザクショ
ンの終了時にこのトランザクション中サブページを要求
したキャッシュにそのサブページを送るために、使用さ
れる。
このメツセージは、また、LRU保全においても使用さ
れる。
書込み非排他的再結合:これは過渡非排他的状態にある
又はCPU命令によって明確に追い出されたサブページ
を追い出すために使用される。また、非排他的状態のサ
ブページを持つキャッシュによって、LRU優先度の基
準でサブページに対して責任を負う他のキャッシュを見
つけるために、送り出される。いったんディスクリブタ
を持つ1つのキャッシュがこのメツセージに応答したと
きには、他のキャッシュは応答しない、メツセージに対
する応答がなく、かつキャッシュがWSトップより低い
LRU優先度を持つページに対するディスクリブタを有
する場合には、キャッシュは状態を非排他的オーナーに
セットし、応答する。このメツセージはLRU保全にお
いて使用される。
両温結合メツセージはディスクリブタ・オーナー制限に
よって制限される。ディスクリブタ・オーナー制限が領
域0オーナー制限であると、再結合メツセージは発信領
域(0)の外部には送られない、ディスクリブタ・オー
ナー制限がキャッシュオーナー制限であると、再結合メ
ツセージは決して送出されない、「再結合?」という指
示は上記したLRU位置比較を示すということを注記し
ておく。
に五j」−艷二2 第7C図及び第7D図を参照すると、応答メツセージは
読出しメツセージに応答するキャッシュによって送り出
される。第1の表は特定の状態のサブページを既に保持
するキャッシュが応答メツセージに対して、もしある場
合に、取る行為を示す、第2の表はサブページに対する
特定のタイプの要求に対する応答を待機しているキャッ
シュの行為を示す、2つの事例がこれら表に示されてい
る。即ち、 1)応答が誤りとして検出できる0例えば、キャッシュ
がサブページを排他的に保持し、かつ他のキャッシュが
排他的応答を送り出す場合には、矛盾があり、保持する
キャッシュは除外の信号を送る。
2)キャッシュがページに対するディスクリブタを有す
るが、しかしサブページのコピーを持たない場合には、
キャッシュはある条件のもとでコピーを拾い出すことに
なる。
デ スフ1 キャッシュが無効ディスクリブタ状態のサブページのコ
ピーを受信すると、キャッシュはそのディスクリブタを
、源キャッシュのディスクリブタのフィールドの大部分
をコピーすることによって、初期設定する。LRS位置
、LRU挿入インデックス、サブキャッシュ、サブペー
ジ状態、保持及びオーナーなしは決してコピーされない
。オーナー制限は特定的に取扱われる。
プロセッサデータアクセス び”  ・プロセッサはロ
ード及び記憶命令並びにコプロセッサ動作を満足させる
ためにそのローカルキャッシュにデータの要求をする。
キャッシュはそのローカルプロセッサに要求してプロセ
ッサにそのサブキャッシュにあるサブページのコピーを
無効にさせる。
ロー゛ び プロセッサは、参照されたアドレスを含むサブページが
所要の状態でサブキャッシュに存在しないときに、その
ローカルキャッシュに要求としてロード及び記憶命令を
送る。異なるタイプのロード及び記憶命令が次の命令の
アクセスパターンについてローカルキャッシュに情報を
送る0例えば、命令のシーケンスがロードに続いて記憶
であり、データアイテムを含むサブページがローカルキ
ャッシュにまだ存在しない場合には、ロード命令に対す
る読出し専用コピーを得てから領域を通じてもう一度通
信し、記憶命令に対する所有権を獲得することより、ロ
ードに対する所有権を取得する方がより効率的である。
異なる形式のロード及び記憶命令は後述する。
各説明は命令のセマンティクスの簡単な要約で始まり、
キャッシュの行為の詳細な説明が続く。
ここに記載するロード命令のすべてが2つの形式、即ち
、ブロッキング及び非ブロッキング、を持つ。これら形
式はアトミック状態に関するロード命令の作用を制御す
る。プロセッサがアトミック状態のサブベージを参照す
るブロッキングロード命令を実行する場合には、その命
令はサブページが進行する前にアトミック状態を離れる
まで、待機する。プロセッサがアトミック状態のサブペ
ージを参照する非ブロツキングロード命令を実行する場
合には、その命令はローカルキャッシュにアトミック状
態を取得し、そして進行する。
ロード(障害) [ldd/clddl ニブログラム
は現在のアクセスパターンを続ける。サブページが既に
キャッシュに存在する場合には、ローカルキャッシュは
同じ状態のサブページを保持する。サブページが既に存
在しない場合には、ローカルキャッシュは読出し専用状
態のサブページを要求する。1dbd/cldbd形式
のこれら命令はサブページがアトミック状態にある場合
にはブロックし、それが解放されまで待機する。
ロード(排他的) ride/cldel ニブログラ
ムはサブページを次の命令に書込み、排他的状態は非排
他的状態より好ましい。データが殆ど共有部分を有さな
いということが予期されたときに、或は一連の書込みが
起ろうとしていたときに、プログラムはこれを使用し、
それ故、読出し専用コピーの更新を回避するために排他
的状態を取得することは余分の仕事に値した。
ローカルキャッシュは排他的オーナー状態のサブページ
を要求する。これは、他のキャッシュがロードと記憶の
間で読出し専用状態のサブページのコピーを入手しない
限り、プロセッサが読出し専用コピーを更新することな
しにサブページに書込むことを可能にする。1dbe/
cl dbe形式のこれら命令はサブページがアトミッ
ク状態にある場合にはブロックし、そしてそれが解放さ
れるまで待機する。
ロード(排他的)の使用の特定例はスタックのようなバ
ープログラムデータである。一般に、そのようなデータ
、の読出し専用コピーは存在しない、何故ならば、唯一
のコピーがプログラムによって使用中のものであるから
である。しかしながら、プログラムが1つのプロセッサ
から他のプロセッサに移動する場合には、新しいプロセ
ッサのローカルキャッシュはコピーを持たず、古いプロ
セッサのローカルキャッシュは排他的状態のサブページ
を保持し続ける。プログラムがロード(障害)を使用す
る場合には、ローカルキャッシュは非排他的状態のサブ
ページを取得し、前のプロセッサのキャッシュに読出し
専用コピーを残し、そして効率の悪い更新を要求する。
ロード(排他的)命令は常にデータを、キャッシュにお
いて取得されたのと同じ状態のサブキャッシュにロード
する。
記憶(障害) [st/cstl ニ ブログラムは次のいくつかの命令においてこのサブペー
ジに記憶される見込みがない、ローカルキャッシュはサ
ブページの現存する状態を維持する。
サブページがある他のキャッシュのアトミックである場
合には、ローカルキャッシュはアトミック状態を取得す
る。
記憶(障害)命令は常にデータを排他的状態のサブキャ
ッシュにロードする。
ロードサブベージ(障害) [1dspd/cldsp
dl :ロードサブベージ(排他的) [1dspe/
cldspel :ロードサブページはサブベージ全部
のデータをプロセッサ又はコプロセッサの汎用レジスタ
にロードするために使用されろ、サブページがサブキャ
ッシュに存在する場合には、それはサブキャッシュから
直接ロードされる。サブページがサブキャッシュに存在
しない場合には、それはローカルセルキャッシュから直
接ロードされる。これら命令に対する選択権は、データ
がセルキャッシュからロードされている場合には、デー
タが目的のレジスタの他にサブキャッシュに記憶される
か否かを特定する。1dspbe/ c 1 d s 
p b e形式のこれら命令はサブページがアトミック
状態にある場合にはブロックし、そしてそれが解放され
るまで待機する。
ロードサブページ(Ill害)及びロードサブページ(
排他的)命令はロード(障害)及びロード(排他的)命
令に対応するセマンティクスを有する。
ロードサブページ(−回) (1tJspo/clds
po):ロードサブベージ(−回)は、プログラムが遠
からず任意の時間にサブページのデータをさらに参照す
る積りがないときに、使用される。この命令はサブキャ
ッシュ又は任意のキャッシュの状態に、ある場合には過
渡状態をセットすることを除き、影響を与えない、デー
タがサブキャッシュで使用できる場合には、データはサ
ブキャッシュからロードされる。データがサブキャッシ
ュで使用できないが、しかしローカルキャッシュで使用
できる場合には、データはサブキャッシュに記憶される
ことなしにローカルキャッシュからロードされる。デー
タがローカルセルで全く使用できない場合には、データ
は現存する状態を乱すことなく領域を通じてコピーされ
る。
記憶サブページ(障害) [5tsp/cstspl:
記憶サブページ(排他的) [5tspe/cstsp
e]:記憶サブページはプロセッサ又はコプロセッサの
汎用レジスタからサブページ全部のデータを記憶するた
めに使用される。サブページがサブキャッシュに存在す
る場合には、それはサブキャッシュに直接記憶される。
サブページがサブキャッシュに存在しない場合には、そ
れはローカルセルキャッシュに直接記憶される。これら
命令に対する選択権は、データがセルキャッシュに記憶
されている場合には、データがサブキャッシュにも記憶
されるか否かを特定する。
命令取出し: 命令取出しは常に読出し専用状態のデータを含むサブペ
ージを取出す。
サブページ トミック サブページアトミック命令は上記した獲得、ストップ、
及び解放動作に対するプログラムインタフェースである
。これら命令はいくつかの形式で存在し、並列プログラ
ムの正確な同調(チエ一二ング)を可能にする。
解放サブページEr5pJ : 解放サブページは未決のアトミック又はアトミック状態
からサブページを除去するために使用される。サブペー
ジがローカルキャッシュにおいて未決のアトミック状態
にあると、それは無効状態にセットされる。サブページ
がローカルキャッシュにおいて未決のアトミック状態に
ない場合には、それは無効状態にセットされる。
サブページがローカルキャッシュにおいて未決のアトミ
ック状態ではないが、しかしシステムのあるキャッシュ
においてアトミック状態にあると、それはそのキャッシ
ュにおいてアトミック状態から排他的状態にセットされ
る。サブページがそのキャッシュにおいて過渡アトミッ
ク状態にあると、それは過渡排他的状態に変化され、そ
してこのサブページは後記の解放及び追い出しサブペー
ジ命令により追い出される。サブページがローカルキャ
ッシュにおいて未決のアトミック状態になく、かついか
なるキャッシュにおいてもアトミック状態にない場合に
は、解放サブページは何の影響もない。
解放及び追い出しサブページ[respl :解放及び
追い出しサブページは、サブページがアトミックから排
他的状態に変わった場合に、サブページが、あたかも過
渡アトミック状態にあったかのように、常に追い出され
ることを除き、解放サブページと同じセマンティクスを
有する。
獲得サブページ[gsp] : 獲得サブページ及び待機[gspwl :獲得サブペー
ジ、待機及びロード[gspwxdl:獲得サブページ
、待機及びロードサブページ[gwldspl : 獲得サブページはサブページがアトミック状態にセット
されることを要求する。あらゆる形式の獲得サブページ
命令に対して、サブページがいかなるキャッシュにおい
てもアトミック状態にない場合には、ローカルキャッシ
ュはアトミック状態のサブページを取得する。
獲得サブページ命令に対して、サブページがローカルキ
ャッシュで既にアトミックである場合には、命令は除外
の信号を発する。サブページがある他のキャッシュで既
にアトミックである場合には、命令は進行する。プログ
ラムはgspの後でmcksp命令を使用し、サブペー
ジをアトミック状態にさせる試みが成功したか否かを決
定しなければならない。
他の獲得サブページ命令に対しては、サブページが任意
のキャッシュにおいて既にアトミックである場合には、
命令はサブページが解放されるまで待機する。その後ロ
ーカルキャッシュはアトミック状態のサブページを取得
する。
獲得サブページ命令の2つのロード形式はロード命令が
後に続(gspwと同じセマンティクスを宵する。唯一
の相違は結合された命令はより速いということである。
ストップサブページ[5spl ニ ストップサブページ及び待al [sspwJ ニスト
ップサブページ、待機及びロード[sspwldl ニ
ストップサブページ、待機及びロードサブページ[5w
1dsp] ニ ストップサブページはローカルキャッシュにおけるサブ
ページの状態を未決のアトミックにセットする。
ストップサブページ及び待機はローカルキャッシュにお
けるサブページの状態を未決のアトミックにセットし、
そしてサブページの状態が未決のアトミックからアトミ
ックに変わるまでブロックする。
ストップサブページ、待機及びロードはストップサブペ
ージ及び待砿とロード(障害)との分割できない組合せ
である。
ストップサブページ、待機及びロードサブページはスト
ップサブページ及び待機とロードサブページ(障害)と
の分割できない組合せである。
解放、追い出し及びストップサブページ[resspl
 :待機、解放、追い出し及びストップサブページ[w
resspl : 獲得サブページ、待機、解放、追い出し及びストップサ
ブページ[gwresspl :ロード、解放、追い出
し及びストップサブページ[1dresspl : 解放、追い出し及びストップサブページは解放及び追い
出しサブページとストップサブページとの分割できない
組合せである。
待機、解放、追い出し及びストップサブページはサブペ
ージがローカルキャッシュにおいてアトミック状態にな
るまで待機することと、解放及び追い出しサブページと
、ストップサブページとの分割できない組合せである。
!I獲得サブページ待機、解放、追い出し及びストップ
サブページは獲得サブページと、待機、解放及び追い出
しサブページと、ストップサブページとの分割できない
組合せである。
ロード、解放、追い出し及びストップサブページはロー
ド(障害)と、解放及び追い出しサブページと、ストッ
プサブページとの分割できない組合せである。
のサブページ メモリチエツク・サブページ[5cksp) :メモリ
チェック・サブページはサブページに対する非同期のメ
モリシステム命令の進行をチエツクする。メモリチエツ
ク・サブページは2つの値、即ち、命令が進行中であっ
たか否かの2進指示と現在のサブページの状態、を戻す
先取りサブページ(コピー) [pcspc、pdsp
c、pLspc) : 先取りサブページ(非排他的) [pspcn、 pd
spn、pispnl : 先取りサブページ(排他的) [5cspe、 pds
pe、pispel + 先取りサブページはサブページのコピーが特定の状態に
おいてローカルキャッシュで取得されることを要求する
。先取りサブページはサブページがプロセッサの命令又
はデータサブキャッシュに先取りされるべきか否かを特
定する。サブページに対するその後のロードは先取りサ
ブページが完了するまでブロックする。
ベニ」と友鳳シロ九仝 先取りキャッシュページ(コピー) [pcpcl:先
取りキャッシュベージ(非排他的) [pcpn]:先
取りキャッシュベージ(排他的) [pcpel:先取
りキャッシュベージはあるページのサブページの全部が
特定の状態においてローカルキャッシュで取得されるこ
とを要求する。
プロセッサロード命令、プロセッサ記憶命令、及びペー
ジ操作命令を含む好ましいメモリ命令セットの詳細な説
明は付表F(添付せず)に与えられている。
サブキャッシュか キャッシュへの プロセッサがサブキャッシュにサブページのコピーを有
し、かつそのサブページがそのプロセッサのローカルキ
ャッシュによって所有されていると、プロセッサは次の
通りにサブページに対する変更をそのローカルキャッシ
ュに伝播する。即ち、 ローカルキャッシュが排他的状態のサブページを保持す
る場合には、プロセッサは、 サブページがサブキャッシュから除去されるときに、或
は、 ローカルキャッシュがサブページのコピーに対する要求
を受信するときに、或は、 プロセッサが停止されるときに、 キャッシュに変更を伝播する。二番目の要求を受信する
場合には、ローカルキャッシュは明確に更新されたコピ
ーを要求する。また、最後のプロセッサが停止されたと
きには、プロセッサは排他的状態にある変更されたサブ
ページをそのローカルキャッシュに更新する。
プロセッサのローカルキャッシュが非排他的状態にある
サブページを保持する場合には、プロセッサは各変更を
、それが完了したときに、伝播する。
プロセッサは変更された情報を更新データ要求を持つそ
のローカルキャッシュに伝播する。
サブキ ッシュ キャッシュは、他のキャッシュからの要求に応答してサ
ブページを無効にするために、そのローカルプロセッサ
に強制的にそのサブページをサブキャッシュから除去さ
せる。
1つのキ ッシュか  のキャッシュへの ・そのロー
カルプロセッサからの要求に応答するのと同時に、各キ
ャッシュはそのローカル領域(0)によって送られた他
のキャッシュからのメツセージに応答する。3つのタイ
プのメツセージ、即ち、読出し、書込み、及び応答、が
存在する。読出しメツセージはある他のキャッシュにサ
ブページに対するデータで応答するように要求する。ま
た、各読出しメツセージは特定の状態を要求し、そして
データで応答するキャッシュ及びコピーで応答する他の
キャッシュの両方が、状態要求を満足させるために、サ
ブページのそれらのコピーの状態を変える。書込みメツ
セージは読出し専用コピーを持つキャッシュにサブペー
ジの更新されたコピーを供給するか、或は他のキャッシ
ュにそれらのコピーの状態を変えるように指示する。応
答メツセージは読出しメツセージに応答して送られる0
発信要求者以外のキャッシュは後で特定される応答メツ
セージの行為を行なう。
読出し及び書込みメツセージはロード及び記憶命令に対
応しないということを注記することは重要なことである
。ロード及び記憶命令の両方は読出しメツセージをもた
らし、適当な状態にあるサブページのコピーを取得する
。特定の記憶命令は、サブページが非排他的状態に保持
されない限り、即時(イミーディエート)書込みメツセ
ージをもたらさない。
キ ッシュページ ゛ び  え KSRシステムのキャッシュはシステムソフトウェアに
よって多重レベル記憶システムの一部分として使用する
ことができる。そのようなシステムにおいて、物理メモ
リは大きなアドレス空間を通じてデマンドページングに
よって多重使用される。キャッシュは、ソフトウェアが
キャッシュと二次記憶装置間にSVAベージの単位でデ
ータを移動させる多重レベル記憶システムの実施を加速
する特徴を含む。
2つの! レベルと てのキャッシニ すべてのキャッシュは一緒になってシステムの一次記憶
装置を構成する。しかしながら、ある目的に対しては、
各個々のキャッシュを独立した一次記憶装置として取扱
う必要がある。これは各キャッシュが制限された数のペ
ージ、即ち、各キャッシュに4096ページ、及び任意
特定のセットに32、のみしか保持できないからである
。各ページは各キャッシュの1セツトにのみ記憶できる
だけであるから、キャッシュは、セットが満杯のためキ
ャッシュがページに対するディスクリブタを割当てるこ
とができないときには、除外の信号を発する。かかる−
除外の信号が発生されると、ソフトウェアは満杯のセッ
トに余地を作る行為を取らなければならない。
特定のセットの特定のキャッシュが満杯であるときには
、ソフトウェアはメモリシステム全体が対応的に満杯で
あると想定する理由はない、従って、ソフトウェアが満
杯のセットに応答してそのセットから他のキャッシュの
対応するセットにページを移動させることが望ましい、
この行為を取る際に、メモリシステムの残部を、満杯の
セットを持つ特定のキャッシュとバッキングストアと呼
ばれる二次記憶装置との間の追加のレベルの記憶装置と
して、取扱う。
パツキンゲス 第8図を参照すると、メモリを効率よく使用するために
、ソフトウェアはある戦略を使用して満杯のセットから
除去する適当なページを識別し、かつ、もしあるならば
、そのページに対する適当な目的のキャッシュを識別し
なければならない。
キャッシュはこのページの置換えのための1組の戦略を
促進する設備を含む、セット内の置換えのためのページ
のソフトウェアによる選択を促進するために、各キャッ
シュはページを最も最近に使用されたもの(MRU)か
ら最も以前に使用されたもの(LRU)までおおよそ順
序付けする。ページが参照されると、そのページはMR
Uに移される。その接地のページが参照されるにつれ、
上記ページはLRUの方へ向かって古くなる。LRU情
報は最も以前に使用されたページを置換える戦略を促進
する。
キャッシュ間での置換えのために目的とするキャッシュ
のソフトウェアによる選択を促進するために、各キャッ
シュはおおよその量のキャッシュの動作(ワーキング)
セットを保持する。動作セットはキャッシュのローカル
プロセッサで走行するプログラムによって不動の使用状
態にある、数回或はたまにしか参照されないページとは
区別される、ある量のページ数である。ソフトウェアは
各キャッシュの動作セットをMRUとLRU間の一点と
して計る。この動作セット点より上(MRU側)のペー
ジは動作セット中にあり、他方動作セット点より下(L
RU側)のページは動作セットから離れている。動作セ
ット情報は各キャッシュのメモリの非動作セット部分を
システムバッキングストアとして取扱うソフトウェア戦
略を促進する。
アトミックページ   び、 キャッシュのローカルプロセッサが無効ディスクリブタ
状態にあるサブページのデータを参照すると、新しいペ
ージが到来する。対応するページがシステムのどこか他
のところに存在する場合には、キャッシュはそのディス
クリブタ及び他のキャッシュからの参照されたサブペー
ジをコピーする。結局、このプロセスはキャッシュセッ
トを満杯にする。データが複数のプロセッサで走行する
プログラムによって広く共有されるときには、これは非
常に頻繁に起こる事象である。それ故、各キャッシュは
、満杯のセットによって要求される度々のソフトウェア
の調停の必要を回避するために、他の計算と並行してペ
ージを自動的に移動及び除去する設備を含む、これら設
備はLRU及び動作セット情報を使用してページを再結
合し、またページを除去する。ここで、ページの再結合
とは1つのキャッシュにおける1ページの全部のサブペ
ージを集め、かつ他のキャッシュにおけるディスクリブ
タな解放することであり、またページの除去とはすべて
のキャッシュから変更されないページを除去することで
ある。
これら自動行為の全部がソフトウェアによって整調でき
、或は無能力にでき、そしてディスクリブタ・保持によ
って禁止される0次の項目はキャッシュがページを再結
合し、移動し、かつ除去する状況を説明するものである
1区豆工玉△ニヱ 各キャッシュはLRUから動作セット点までのページを
再結合する。これらページは動作セット点より上である
場合よりも再び参照される可能性が相当に少ない、従っ
て、各キャッシュはそれらページが動作セット点を通過
するときに再結合する。キャッシュは、ページを再結合
するために各サブページに対して書込み排他的再結合又
は書込み非排他的再結合メツセージを使用する。再結合
メツセージがページを引き受ける他のキャッシュを見つ
けることができない場合には、再結合するキャッシュは
データを保持する。実際には、再結合するキャッシュは
自分自身を再結合の目標として見出す、ページは、動作
セット点を離れた後できるだけ早く再結合されるから、
コピーを持つ任意の他のキャッシュは恐らく動作セット
にあるページを有することになる。(ある他のキャッシ
ュにおいて動作セットにない場合には、そのキャッシュ
はそれを再結合することになる。)動作セット点より下
のページは参照される可能性が低いので、実際にデータ
を他のキャッシュに移動させる再結合の大部分は最近動
作セットを離れたページを持つ、どこか他のところで再
結合された動作セット点より下のページはそれらが動作
セットを離れた後で参照されたページであり、従って再
結合はそれらページを参照したキャッシュに移動させる
l五工玉△二エ キャッシュはサブページ及びページを無効にして他のペ
ージに対する余地を作る。これはドロッピング(除去)
と呼ばれる。キャッシュは動作セット点より下の、かつ
読出し専用又は無効状態にあるサブページを有するペー
ジ(読出し専用ページ)を自動的に除去する。キャッシ
ュが解放状態のディスクリブタを有さず、かつページを
再結合することによってディスクリブタを割当てること
ができない場合には、このキャッシュはサブキャッシュ
に記憶されていない、かつMRUからLRUまでの順序
のどこかにある読出し専用ページを除去する。キャッシ
ュが読み出し専用ページを有さない場合には、このキャ
ッシュは、サブキャッシュに記憶されていない、かつ後
で明確にされるWS低レベル(ロー)レジスタによって
定められる動作セットのより下の部分にある無効、読出
し専用、或は排他的状態のサブページを持つ変更されな
いページを除去する。
ソフトウェアワーキングセット 1、重り下の節は、マ
ルチレベルストアを実施するためにキャッシュ機構を利
用するソフトウェア作戦について記述する。
1更二二1 変更ページがワーキングセット点を横切るとき、システ
ムソフトウェアはそれをディスクに書き込むことを引き
受けるから、変更ページは、LRUに達する迄に純粋に
される。キャッシュの一部のみが、適当なディスクドラ
イブに対して物理的接続を有することによって、所与の
ページを書き込むことができるであろうから、変更ペー
ジは、そのページのための二次的記憶デバイスに接続さ
れたXIUを有するセル内のキャッシュに移動されねば
ならない、ソフトウェアは、コピーまたは変更命令が書
き込まれるように頁を移動させる。 ソフトウェアは、
時折、あるデータに対して予期される参照パターンの知
識を有する。もしも、ソフトウェアが、あるページが1
回のみ参照されることを予期すると、そのページは、後
で使用されそうな情報を排出するのを避けるため、MR
Uより下のLRU順番のどこかの位1に挿入されねばな
らない。詳述すると、もしも、ソフトウェアが、しばら
くそれを参照せず、そして恐らくそれを全熱参照しない
というデータを先取りしていると、それはMRUに挿入
されるべきでない、ソフトウェアは、先取りおよび変更
命令に適当なLRU挿入インデックスをセットすること
により挿入点を制御する。
キャッシュ  および  。
各キャッシュは、存在するページのすべてに対してLR
U状態を維持する。LRUデータは、ディスクリブタ連
想メモリの128セツトの各々に対して別々に維持され
、それらの凡の最後の参照時間に従ってセット内に32
ページの順番を整理する。
1座光」」シ腹呈ユ 各キャッシュは、各セット内におけるディスクリブタの
LRU−MRUの順番を維持する。順番は、ディスクリ
ブタ・LRU優先で維持される。
セット内の各ディスクリブタは、ディスクリブタ・LR
U優先で(MRU)乃至31 (LRU)の値を有する
。あるページが参照されるとき、そのページはMRUに
移動する。そのとき、MRUから参照されるページのL
RU優先までの他の全ページは、下方に移動する。
あるページが先ずサブキャッシュに記憶されると、ディ
スクリブタ・LRU優先は0にセットされ、これにより
そのページはMRUに挿入される。あるページの最後に
サブキャッシュ記憶されたサブページがサブキャッシュ
から放逐されると、ディスクリブタ・LRU優先が、デ
ィスクリブタ・LRU挿入インデックスにより特定され
るところにしたがってセットされる。挿入インデックス
は、LRU挿入テーブル、すなわち以下で説明されるバ
ーーキャッシュテーブルにおけるエントリを選択する。
ディスクリブタ・LRU優先は、LRU挿入テーブル(
ディスクリブタ・LRU挿入インデックス)にセットさ
れ、ディスクリブタ・LRU優先は、他のディスクリブ
タに対して、それを受は入れるのに適当であるように変
更される。LRU挿入テーブルのエントリーがMRUに
十分接近してセットされると、サブキャッシュから放逐
されたページは、サブキャッシュにおけるページよりも
MRUにより近くに挿入されることに留意されたい。
ワーキングセ 各キャッシュは%32ワーキングセットレイトカウンタ
、16ビツト、の配列を有する。カウンタは、211−
1で凍結する。そのページがサブキャッシュ記憶される
と、その現在のLRU位置に対応するパケットはインク
リメントされる。パケットを周期的に読み取りクリヤす
ることによって、ソフトウェアはワーキングセットの概
略のサイズを決定し得る。ソフトウェアは、各スケジュ
ール可能なエンティティに対してワーキングセットを維
持することを企画し得、あるいは1つのキャッシュ上に
1組のエンティティを丁度実行させ、集合体ワーキング
セットを維持することができる。後者は、スケジュール
時間の点でより低コストをもたらす。
サブキャッシュ記憶されたページは、ワーキングセット
測定をPi雑化する。あるページのLRU値は、ある他
のページがキャッシュに移動する時間を変更しλる。し
かしながら、LRU値は、あるページがサブキャッシュ
記憶されるか否かを考慮しない0代わりに、LRUを使
用するすべてのハードウェアI!横は、すべてのサブキ
ャッシュ記憶されたページを1つのLRUレベルとして
、またすべてのサブキャッシュ記憶されないページを種
々の他のLRUレベルとして考える。
LRU   テーブル LRU挿入テーブルは、LRU−4MRUシーケンスの
4つの論理点からセット内の32の実際のスロットにマ
ツプする。4スロツトは、次のように命名される。すな
わち、 1、WSハイーー従来通りMRUに、またはそれに近く
にセット。
2゜WSローーーキャッシュのワーキングセットにおけ
る低位点、ソフトウェアが低優先データをキャッシュ中
に先取りするとき、該データは普通この点に挿入される
。これにより、ソフトウェアは、WSハイにて挿入する
とき起こるようにより重要なデータを排出することなく
、過先取りを可能にする。先取り作戦の記述を参照。
3、BSハイ−ワーキングセットおよびバッキングスト
ア間の境界、ソフトウェアがページをキャッシュ内のバ
ッキングストアに移動させるとき、それをここに挿入す
る。
4、BSローーー低優先バッキングストアアイテムに対
する挿入点。
デ  ス  1 ブ セット内の新ディスクリブタが必要とされるとき、キャ
ッシュは使用可能なディスクリブタを見つけるために必
要とされる下記の動作の多くのものを経て動作を進める
1、無効ディスクリブタの捜索、1つが存在すれば、そ
れを使用。
2、コピーを省略m ctls形!!J cdeが1で
あれば。
キャッシュはLRUから捜索し、リードオンリーサブペ
ージのみを有するページを捜索。
保持されず(ディスクリブタ・ベルト0)、サブキャッ
シュ記憶されないものを見出せば、それを無効化して、
それを使用、操作は。
BSハイで停止。
3、再結合する機会を捜索、もしもctL$形態are
が1であれば、キャッシュはLRUから走査し、少なく
とも1つの所有されたページを有し、ゼロのディスクリ
ブタ・ベルトを有し。
キャッシュ所有者制限のディスクリブタ・所有者制限を
有し、そしてサブキャッシュ記憶されないページを捜索
する。操作はBSハイで停止、操作で1つを見出せば、
キャッシュは、所有されるそのサブページの各々に対し
て適当なものとして書込み再結合排他的または書込み再
結合非排他的メツセージを送出。
もしも、すべてのサブページが成功裡に終了すれば、デ
ィスクリブタは、無効化されて使用される。ソフトウェ
アは、MRtJに対して再結合ハイ制限をセットするこ
とによりこの将来を不能化できる。
4、純粋ページ省略、もしもctl$ade形態が1で
あれば、キャッシュはLRUから捜索し、次のようなペ
ージを捜索する。すなわち、 無変更 排他的に所有されたサブページまたはリードオンリーサ
ブページのみを有する アトミック変更されない 保持されない サブキャッシュ記憶されない 5、純粋なページ(サブキャッシュされる)を捜索し、
省略。
6、もしも上述の方法によりディスクリブタを除去でき
なければ、利用可能なディスクリブタなし例外信号を送
出。
バラフグ ラン゛ キャッシュは、その他の場合は、ページ再結合のため空
時間を使用する。最結合ハイ制限が31でなければ、バ
ックグラウンドタスクで、セットを走査し、各セット内
の、再結合され得るページを捜索し、それを再結合する
割当再結合および自動再結合は、一般に、ページがワー
キングセットを離れるときそれを最結合する。バッキン
グストアには若干の再結合可能なページがある。ある時
点においてキャッシュに再結合可能なページがなければ
、新しい再結合可能なページがワーキングセットから除
去されたページの形式で現われる。パックブラウンおよ
び割当再結合が、この速度に遅れなければ、バッキング
ストア内の再結合可能なページ源のみが、他のキャッシ
ュによる参照の対象となる。参照しているキャッシュの
ディスクリブタは、恐らくそのワーキングセットに存在
しているであろうから、ページをそれらのディスクリブ
タに結合するのが適当である。
ソフトウェアLRU ソフトウェアは、命令内のLRU挿入を偏倚し得る。以
下に記載される制徘命令のあるものは。
LRU挿入インデックスフィールドを含む、これらの命
令の1つが、あるページにに対する第1のサブページを
サブキャッシュ中に移動させると、命令内のLRU捜入
インデックスは、そのページに対してディスクリブタ・
LRU挿入インデックスを置き代える。そのとき、ベー
は、サブキャッシュを離れるとき、LRU挿入テーブル
に特定されるエントリに従って、LRUに挿入される、
変更命令および種々の先取り命令(以下に説明される)
によって、プログラマは、LRU挿入インデックスを特
定することが可能となる。キャッシュが、有効サブペー
ジをもたないページのサブキャッシュに対してこれらの
命令の1つを実行すると、特定されたLRU挿入インデ
ックスは、ディスクリブタ・LRU挿入インデックスと
なる。
制御命令に特定されるLRU挿入インデックスは、ディ
スクリブタに先に記憶されていたインデックスを置き代
える。インデックスは、−度キャッシュにセットされる
と、キャッシュがリセットされるまで、あるいはすべて
のサブページが無効となる迄そのキャッシュに残存する
。実際には、メモリシステムは、LRU偏倚情報に対し
て制限されたメモリを有する。1つのプログラムが、あ
るページが再度参照されそうであることを指示し、そし
てすぐ後に、他のプログラムが、それが再度参照されそ
うにないことを指示すると、第2の指示が持続する。ソ
フトウェアは、異なる省略の挙動ないし作用を設定しえ
る0例えば、システムソフトウェアはBSハイ以下のペ
ージに対して、ディスクリブタ・LRU挿入インデック
スなWSハイに変化させるようなバックグラウンドタス
クを含むかもしれない、これは、次のような方策を実行
するであろう、すなわち、あるページが古くなってバッ
キングストアに入れられると、LRU挿入インデックス
情報は古くなり過ぎて価値がなくなり、普通の省略が代
わりに適用されるべきである。
先取りは、LRU挿入偏倚の使用に注意を要する。必要
とするかもしれないデータを先取りするためには、ソフ
トウェアが過先取りできることが望ましい、LRUから
より高次の優先情報を駆動するのを避けるために、過先
取りされるページは、WSハイ以外のLRU挿入インデ
ックスとともに取り出されるべきである。
第9図は、本発明の好まし実施態様に従って構成された
例示の領域ルート指定ユニット28Fを図示するもので
ある。ユニット28Fは、キャッシュバス76を介して
相互に接続される領域ディレクトリ部80および遠隔フ
ァイバインターフェース部82を備える。ディレクトリ
部80は、例示されるように、メモリストア86Aおよ
び86Bに結合された二重ルート指定制御ユニット84
Aおよび84Bを備える。ストアは、例示されるルート
措定ユニット28Fが取り付けられる上位レベル領域セ
グメントから下る領域セグメントに維持されるデータを
識別するディスクリブタのリストを記憶するように配置
された8バイトダイナミツクランダムアクセスメモリ要
素を備える。ルート指定制御ユニット84Aおよび84
Bは、上述のキャッシュ制御ユニット74A、74B、
74Cおよび74Dと同様に構成され、動作する。ユニ
ットはさらに、ストア86Aおよび86B内におけるデ
ィスクリブタの記憶およびアクセスを制御するためのハ
ツシュコード化論理装置を備える。このコード化論理装
置ならびにディスクリブタ記憶およびアクセス機構は、
技術上従来形式である。
遠隔ファイバインターフェース部82は、第9図に例示
されるように、ファイバ受信機およびデコード部90お
よびファイバコード化および伝送部92と結合された遠
隔インターフェースユニット88を備える。受信機90
は、入り光ファイバ線94をインターフェース接続し、
送信機92は出線96をインターフェース接続する。ユ
ニット88は、情報信号伝送に緩衝作用を及ぼすことに
加久て、光ファイバリンクに対してCRCコード化およ
びデコードを行なう、受信機90および送信機92は、
技術上従来の技術にしたがって構成される。
例示される領域ルート指定28Fが、特に遠隔領域セグ
メント(例えば、第1図のセグメント12Fおよび14
B参照)をインターフェース接続するように形成される
とき、直接相互接続ユニット(すなわち、非遠隔セグメ
ント例えば第1図のセグメント14Aおよび12A間に
相互接続を提供する領域ルート指定ユニット)は、同様
に構成されることが認められよう、この種のユニットに
おいては、遠隔ファイバインターフェース部82は、局
部的インターフェース部により置き代λられ、これが、
それぞれの領域セグメントバス間の伝送に対して緩衝作
用を提供する。
肛 以上の説明から、上述の目的が、その実施例について説
明した本発明によって達成されることが認められようが
1本発明は1階層リングに配列された複数の処理セルを
備えるディジタルデータ処理システムであって、メモリ
を選択的に割り当て、セルにより発生されるアクセス要
求に応答して排他的データコピーをセルからセルへ移動
し、そしてルート指定要素を採用して、データアクセス
要求(更新および転送)、をリング上に選択的に送り出
すディジタルデータ処理システムを提供するものである
ことが理解されよう0本発明に従って構成される多重処
理システムは、データのコヒーレンジを改善し、待ち時
間およびパスの競合を減じ、加えて規模の制限をなくす
ことをその特徴とするものである。
図示説明された実施例は、単に例示であり、当技術に精
通したものであれば、本発明の技術思想から逸脱するこ
とな(、例示の構造およびシーケンスに変更をなすこと
ができることが認められよう0例えば、例示の中央処理
ユニットに対しては、アクセス要求を発生できろ専用の
処理ユニットにおき代えることができ、また遠隔セルお
よび領域は、光ファイバ以外の媒体によって結合するこ
とができるなどである。
4、    の   tl 第1図は本発明にしたがって構成された好まし多重処理
システムの構造を示す線図、第2Aおよび第2B図は本
発明の好ましい実施例であるディジタルデータ処理シス
テムにおける処理セルの好ましい形態を示す線図で、そ
れぞれメモリ要素内で行なわれるデータの移動の例示を
含むもの、第3図は本発明の好まし実施例であるディジ
タルデータ処理システムにおける領域(0)内の処理セ
ルの好まし相互接続構造を例示するブロック図、第4図
は本発明の実施例であるディジタルデータ処理システム
における処理セルの1例の構造を示すブロック図、第5
図は本発明の実施例であるディジタルデータ処理システ
ムにおけるシステムの仮想アドレス、ディスクリブタお
よびキャツシエディレクトリ間の好ましい相互関係なを
示す線図、第6Aおよび第6B図は本発明の実施例であ
るディジタルデータ処理システムにおける局部的キャシ
ェ番こ記憶されるデータに関係づけられるプロセッサア
クセス要求の処理を描く状態テーブルを示す図、第7A
、第7B、第70および第7D図は本発明の好ましい実
施例であるディジタルデータ処理システムにおけるキャ
ツシエに記憶されるデータに関係づけられるメモリ管理
データ要求の処理を描く状態テーブルを示す図、第8図
は本発明の好ましい実施例であるディジタルデータシス
テムに1り用されるLRU挿入テーブルおよびLRUセ
ット間の好ましい相互関係を示す線図、第9図は本発明
の実施例であるディジタルデータ処理システムに対する
。遠隔インンーフェースユニットを含む好ましい領域ル
ート指定セルの構造を示す線図である。
10: 多重処理システム 12A−12F:セグメント 14A、14B:セグメント 16:セグメント 18A〜18R:処理セル 20A〜20F :パス要素 22A〜22R:セルインターフェースユニット24A
、24B:パス要素 26: パス要素 28A〜28F:ルート指定要素 30A、308:ルート指定要素 32A、32B、34A、34B、36A。
36B、38A、38B:セルインターフェースユニッ
ト 40A〜40C:中央処理ユニット 42A〜42C:メモリ要素 44A〜44C:バス 48A〜48C:バス 50A〜50C:アクセス要求要素 52A〜52C:制御要素 54Δ〜54C:データ記憶域 56A〜56C:ディレクトリ 4倦声tn八α7メント FIG、 3 FIo、 5 FIG、6A ストジグ   →−掌ff1fiソ     p条ソ 
   −ア)ξ−)7  N!千晩     rf((
6)労ベージ                   
         M発FIG−68

Claims (1)

  1. 【特許請求の範囲】 (1)関連するメモリ要素に結合された中央処理ユニッ
    トを各々備える複数の処理セルと、前記の複数のメモリ
    要素に結合され、該複数のメモリ要素に記憶される前記
    情報表示信号の1および複数のものにアクセスするため
    のメモリ管理手段とを備え、前記中央処理ユニットの少
    なくとも要求中の1つが、情報表示信号に対するアクセ
    ス要求を表わすアクセス要求信号を発生するためのアク
    セス要求手段を備え、該アクセス要求手段が、情報表示
    信号に対する優先アクセスの要求を表わす所有要求信号
    を発生するための手段を備え、少なくとも要求中の中央
    処理ユニットと関連するメモリ要素が、前記アクセス要
    求信号を前記メモリ管理手段に選択的に伝送するための
    制御手段を備え、前記メモリ管理手段が、前記所有要求
    信号の選択されたものに応答して、要求中の中央処理ユ
    ニットと関連するメモリ要素内に、要求される情報表示
    信号に対する物理的記憶スペースを排他的に割り当て、
    この信号を該スペースに記憶するためのメモリコヒーレ
    ンス手段を備えることを特徴とするディジタルデータ処
    理装置。 (2)前記メモリ管理手段が、前記所有要求信号の選択
    されたものに応答して、要求される情報表示信号の記憶
    のため、要求中の中央処理ユニットと関連するもの以外
    のメモリに維持される物理的記憶スペースの割当を解除
    するための手段を備え、前記割当の解除が、要求中の中
    央処理ユニットと関連するメモリ要素における要求され
    る情報表示信号に対する物理的記憶スペースの割当とほ
    ぼ同時的に行なわれる特許請求の範囲第1項記載の処理
    装置。 (3)少なくとも1つの前記メモリ要素が、そのメモリ
    要素に記憶される少なくとも選択された情報表示信号を
    単一的に識別するSAアドレス信号を記憶するための関
    連するディレクトリ手段を備える特許請求の範囲第2項
    記載の処理装置。 (4)前記アクセス要求手段が、前記アクセス要求信号
    とともに、要求される情報表示信号を識別するSA要求
    信号を発生するための手段を備え、前記メモリ管理手段
    が、前記ディレクトリ手段と結合されて、SA要求信号
    をそのディレクトリ手段に記憶される1または複数のS
    Aアドレス信号と比較し、要求される情報表示信号がそ
    のディレクトリ手段と関連するメモリ要素に記憶されて
    いるか否かを決定する特許請求の範囲第3項記載の処理
    装置。 (5)前記各ディレクトリ手段が、SAアドレス信号を
    記憶するための1または複数のアドレス記憶位置を含み
    、前記メモリ管理手段が、前記アドレス記憶位置の1つ
    に、関連するメモリ要素内に物理的記憶スペースが割り
    当てられている情報表示信号と関連するSAアドレス信
    号を記憶するための手段を備え、前記メモリ管理手段が
    、関連するメモリ要素内において物理的記憶スペースの
    割当が解除されている情報表示信号に対応するSAアド
    レス信号を無効化する手段を備えている特許請求の範囲
    第3項記載の処理装置。 (6)前記アクセス要求手段が、情報表示信号に対する
    二次的アクセスの要求を表わすリードオンリー要求信号
    を発生するための手段を備え、前記メモリ管理手段が、
    前記中央処理ユニットの要求中の1つにより発生される
    リードオンリー信号に選択的に応答して、当該情報表示
    信号のコピーを要求中の中央処理ユニットと関連するメ
    モリ要素に転送する手段を備え、前記リードオンリー信
    号が、前記の他の中央処理ユニットの他の1つと関連す
    るメモリ要素に記憶される情報表示信号に対する二次的
    アクセスの要求を表わうものである特許請求の範囲第1
    項記載の処理装置。 (7)前記中央処理ユニットが、情報表示信号の変更を
    を表わす更新信号を選択的に発生するための手段を備え
    、前記メモリ管理手段が、前記中央処理ユニットの更新
    中の1つにより発生される更新信号に応答して、その中
    央処理ユニットと関連するメモリ要素に記憶される対応
    する情報表示信号を変更するための手段を備える特許請
    求の範囲第1項記載の処理装置。 (8)前記の更新中の中央処理ユニットにより発生され
    る更新信号に応答して、当該対応する情報表示信号を変
    更するための手段を備え、前記更新信号が、前記中央処
    理ユニットの他の1つと関連するメモリ要素に記憶され
    る対応する情報表示信号の変更を表わすものである特許
    請求の範囲第7項記載の処理装置。 (9)前記アクセス要求手段が、1または複数の情報表
    示信号に対する排他的優先アクセスの要求を表わすアト
    ミック要求信号を発生するためのアトミック所有手段を
    備え、前記メモリコヒーレンス手段が、前記中央処理ユ
    ニットの第1のユニットにより発生されるアトミック要
    求信号に選択的に応答して、 (a)第1中央処理ユニットと関連するメモリ要素に、
    前記の1または複数の要求されている情報表示信号に対
    する物理的記憶スペースを排他的に割り当て、そこにそ
    れらの情報表示信号を記憶し、かつ (b)前記中央処理ユニットの第2のユニットにより発
    生される第1の選択されたアクセス要求信号に応答して
    それらの情報表示信号のいずれへのアクセスをも阻止す
    る手段を備える特許請求の範囲第1項記載の処理装置。 (10)前記メモリコヒーレンス手段が、前記第2中央
    処理ユニットにより発生される第2の選択されたアクセ
    ス要求に応答して、要求される情報表示信号を、その中
    央処理ユニットと関連するメモリ要素に排他的に転送し
    、かつ第1またはいずれかの他の中央処理ユニットによ
    り発生されるそれらの情報要求信号のいずれに対するア
    クセスをも阻止する手段を備える特許請求の範囲第9項
    記載の処理装置。 (11)前記アクセス要求手段が、前記の1または複数
    の情報表示信号に対する前記の優先アクセス要求の終了
    を表わす解放信号を発生するためのアトミックトランザ
    クション終了手段を、前記コヒーレンス手段が、前記ト
    ランザクション終了信号に応答して、前記中央処理ユニ
    ットのいずれかにより発生されるアクセス要求信号に応
    答してそれらの情報表示信号に対する選択的アクセスを
    再度可能にするための手段を備える特許請求の範囲第9
    項記載の処理装置。 (12)複数の中央処理ユニットおよび情報を表わすデ
    ィジタル信号を記憶する複数のメモリ要素を備え、各メ
    モリ要素が、情報転送のため前記中央処理ユニットの関
    連する1つと結合される形式のディジタルデータ処理装
    置において、前記複数のメモリ要素に結合され、そこに
    記憶される1または複数の情報表示信号にアクセスする
    ためのメモリ管理手段と、前記複数のメモリ要素と結合
    されて、1つのアクセス状態をそこに記憶される1また
    は複数の情報表示信号と関連づける状態限定手段とを備
    え、前記アクセス状態が、次の1または複数のアクセス
    状態を含むアクセス状態群から選択される、すなわち、 (a)無効情報表示信号と関連し得る無効アクセス状態
    、 (b)情報表示信号が記憶されるメモリ要素と関連する
    中央処理ユニットによりリードオンリーアクセスを受け
    る情報表示信号と関連し得るリードオンリーアクセス状
    態、 (c)そのコピーが他の前記中央処理ユニットの他の1
    つと関連するメモリ要素に記憶される情報表示信号が記
    憶されるメモリ要素と関連する中央処理ユニットにより
    変更可能な情報表示信号と関連し得る非排他的所有者ア
    クセス状態、 (d)そのコピーが他の前記中央処理ユニットの他の1
    つと関連するメモリ要素に記憶されない情報表示信号が
    記憶されるメモリ要素と関連する中央処理ユニットによ
    り変更し得る情報表示信号と関連し得、その情報表示信
    号またはそのコピーが前記中央処理ユニットの他の1つ
    と関連するメモリ要素に転送のためアクセスし得る、排
    他的所有者アクセス状態、および (e)そのコピーが前記中央処理ユニットの他の1つと
    関連するメモリ要素に記憶されない情報表示信号が記憶
    されるメモリ要素と関連する中央処理ユニットにより変
    更し得る情報表示信号と関連し得、その情報表示信号ま
    たはそのコピーが前記処理ユニットの他の1つと関連す
    るメモリ要素に転送のため選択的にアクセスし得るアト
    ミック所有者アクセス状態 の1または複数を含むアクセス状態群から選択されるデ
    ィジタルデータ処理装置。 (13)前記状態限定手段が、次のいずれか1つ、すな
    わち、 (a)前記アトミック所有者アクセス状態、 および(b)前記排他的所有者アクセス状態のいずれか
    1つを前記複数のメモリ要素に記憶される情報表示信号
    と選択的かつ排他的に関連づけるための手段と、前記非
    排他的所有者アクセス状態を、前記複数のメモリ要素に
    記憶される情報表示信号のnのコピーの1つと選択的か
    つ排他的に関連づけるための手段を備える特許請求の範
    囲第12項記載の処理装置。 (14)前記状態限定手段が、次のいずれか1つ、すな
    わち、 (a)前記リードオンリーアクセス状態、 および(b)前記無効アクセス状態 のいずれか1つを前記複数のメモリ要素に記憶される情
    報表示信号の(n−1)のコピーと選択的かつ排他的に
    関連づけるための手段を備える特許請求の範囲第13項
    記載の処理装置。 (15)前記メモリ管理手段が、前記アトミックアクセ
    ス状態と、第1の中央処理ユニットと関連するメモリ要
    素に記憶される情報表示信号との関連づけに応答して、
    いずれか他の前記中央処理ユニットにより発生される第
    1の選択されたアクセス要求信号に応じてその情報表示
    信号に対するアクセスを阻止する特許請求の範囲第12
    項記載の処理装置。 (16)前記メモリ管理手段が、第2中央処理ユニット
    により発生される第2の選択されたアクセス要求信号に
    応答し、かつアトミック所有者アクセス状態と関連する
    1または複数の情報表示信号に関係づけられて、前記第
    2中央処理ユニットと関連するメモリ要素へそれらの要
    求された信号を転送するための手段を備え、前記状態限
    定手段が、アトミック所有者状態を、それらの転送され
    た信号と関連づけ、第2中央処理ユニットと関連するメ
    モリ要素に、前記1および複数の要求される情報表示信
    号に対する物理的記憶スペースを排他的に割り当てるた
    めの手段を備える特許請求の範囲第15項記載の処理装
    置。 (17)前記状態限定手段が、要求中の中央処理ユニッ
    トにより発生されるアクセス要求信号に応答し、かつ所
    有中の中央処理ユニットと関連するメモリ要素に記憶さ
    れかつ前記アトミックアクセス状態と関連される情報表
    示信号に関係づけられて、過渡的アトミック状態をその
    情報表示信号と関連づける手段を備え、前記の所有中の
    中央処理ユニットが、前記の要求される情報表示信号の
    、前記アトミックアクセス状態からの解放を表わす解放
    信号を発生するための手段を備え、前記の所有中の中央
    処理ユニットにより発生される解放信号に応答し、かつ
    前記の要求される情報表示信号に関係づけられて、その
    情報表示信号のコピーを要求中の中央処理ユニットと関
    連するメモリ要素へ伝送するための手段を備える特許請
    求の範囲第12項記載の処理装置。 (18)前記中央処理ユニットの少なくとも要求中の1
    つが、前記状態限定手段に結合されて、情報表示信号に
    対するアクセス要求を表わすアクセス要求信号を発生す
    るためのアクセス要求手段を備え、該アクセス要求手段
    が、情報表示信号に対する排他的アクセスの要求を表わ
    す排他的アクセス要求信号を発生するための手段を備え
    、前記状態限定手段が、前記の要求中の中央処理ユニッ
    トにより発生される排他的アクセス要求信号に応答して
    、当該情報表示信号を前記の要求中の中央処理ユニット
    に排他的に転送し、かつ中央処理ユニットのその、他の
    ものと関連されるメモリ要素に記憶される情報表示信号
    のコピーを前記無効アクセス状態と関連づけるための手
    段を備えており、前記排他的アクセスが、前記中央処理
    ユニットの他の1つと関連されるメモリ要素に記憶され
    かつ前記リードオンリーアクセス状態と関連づけられる
    情報表示信号に対する排他的アクセスの要求を表わすも
    のである、特許請求の範囲第12項記載の処理装置。 (19)前記中央処理ユニットの少なくとも要求中の1
    つが、前記状態限定手段に結合されて、情報表示信号に
    対するアクセス要求を表わすアクセス要求信号を発生す
    るためのアクセス要求手段を備え、該アクセス要求手段
    が、情報表示信号に対する非排他的アクセスの要求を表
    わす非排他的アクセス要求信号を発生するための手段を
    備え、前記状態限定手段が、前記要求中の中央処理ユニ
    ットにより発生される非排他的アクセス要求信号に応答
    して、当該情報表示信号を前記の要求中の中央処理ユニ
    ットに排他的に転送し、かつ中央処理ユニットのその、
    他のものと関連されるメモリ要素に記憶される情報表示
    信号を前記無効リードオンリーアクセス状態と関連づけ
    るための手段を備えており、非排他的アクセスが、前記
    中央処理ユニットの他の1つと関連されるメモリ要素に
    記憶されかつ前記排他的アクセス状態および非排他的ア
    クセス状態のいずれか1つと関連づけられる情報表示信
    号に対する非排他的アクセスの要求を表わすものである
    特許請求の範囲第12項記載の処理装置。 (20)前記中央処理ユニットの要求中の1つと関連す
    るアクセス要求手段が、情報表示信号に対する進行中の
    アトミック所有者アクセス要求を表わすストップ要求信
    号を発生するストップ要求手段を備え、前記メモリ管理
    手段が、前記ストップ要求信号に応答して、要求中の中
    央処理ユニットと関連するメモリ要素に、要求される情
    報表示信号の次に利用可能なコピーを排他的に記憶する
    ための手段を備え、前記状態限定手段が、前記ストップ
    要求信号に応答して、前記の要求中の中央処理ユニット
    と関連するメモリ要素に記憶される要求される情報表示
    信号の前記の次に利用可能なコピーに前記アトミック所
    有者アクセス状態を割り当てる手段を備える特許請求の
    範囲第12項記載の処理装置。 (21)前記メモリ管理手段が、第1の中央処理ユニッ
    トにより発生される情報表示信号に対する優先アクセス
    の要求に応答して、前記中央処理ユニットの他のものに
    より発生される同じ情報表示信号に対する後続のアクセ
    ス要求に応答して、前記中央処理ユニットに伝送のため
    、前記第1中央処理ユニットによる前記の要求される情
    報表示信号の現在の所有権を表わす過渡信号を発生する
    ための手段を備える特許請求の範囲第12項記載の処理
    装置。 (22)各々1または複数のセグメントを含む複数の情
    報転送領域(ドメイン)を備え、該複数の情報転送領域
    が、複数の領域(0)セグメントを有する第1の情報転
    送領域を備え、各セグメントが、関連する単一方向のバ
    ス要素と、情報表示信号を転送するためリング形態で該
    バス要素に接続された第1の複数の処理セルを備え、前
    記各セルが、中央処理ユニットと、関連する内容−アド
    レス可能な、情報表示信号を記憶するためのメモリ手段
    を備え、該メモリ手段が、関連する中央処理ユニットお
    よび前記の情報表示信号を転送するためのバス要素と接
    続されるインターフェース手段を備え、関連する中央処
    理ユニット間の情報表示信号の転送がそれぞれのメモリ
    手段を介しての行なわれるように、セルが配置されてお
    り、領域(1)セグメントが、関連する単一方向バス要
    素および複数のルート指定要素を備えており、該各ルー
    ト指定要素が、領域(1)セグメントおよび関連する領
    域(0)セグメント間において情報表示信号を転送する
    ため、領域(1)と関連するバス要素および前記領域(
    0)の1つと関連するバス要素に接続されており、前記
    各領域(0)セグメントと関連する処理セルが、前記領
    域(0)セグメントの残部と関連する処理セルと、領域
    (1)セグメントのみを介して情報表示信号の転送をな
    し得るディジタルデータ処理システム。 (23)各々情報転送領域(k)として指示される(n
    )の情報転送領域を備え(ここで(n)は2またはそれ
    より大きい整数、そして(k)は(0)および(n−1
    )間の逐次の整数を表わす)、各情報転送領域が複数の
    領域(0)セグメントを含み、各セグメントが、 (a)複数の処理セルを備えており、各処理セルが、情
    報表示信号の転送のため、情報表示信号を記憶するため
    の関連するメモリ手段と接続された中央処理ユニットを
    備え、かつ(b)領域(0)セグメント内において情報
    表示信号を転送するためのそれらの複数のメモリ手段に
    接続されたバス要素を備え、各情報転送領域(k)が(
    ここに(k)は(1)および(n−1)間の逐次の整数
    を表わす)、1または複数の対応する領域(k)セグメ
    ントを含み(ここに、情報領域(k)におけるセグメン
    トの数は、(k)の各値に対して、領域(k−1)にお
    ける整数の数以下である)、情報転送領域(n−1)が
    1つのかかるセグメントのみを含んでおり、各領域(k
    )セグメントが、 (a)その領域(k)セグメント内において情報表示信
    号を転送するためのバス要素と、(b)その領域(k)
    セグメントおよび領域(k−1)間において情報表示信
    号を転送するための複数のルート指定要素を備え、該各
    ルート指定要素が、情報表示信号の転送のため、それぞ
    れの領域(k)セグメントバス要素およびそれぞれの領
    域(k−1)セグメントバス要素と接続されているディ
    ジタルデータ処理システム。 (24)前記中央処理ユニットの少なくとも要求中の1
    つが、前記メモリ要素のいずれか1つに記憶される情報
    表示信号に対するアクセス要求を表わすアクセス要求信
    号を発生するための手段を備え、要求中の中央処理ユニ
    ットと関連するメモリ要素が、そのメモリ要素に記憶さ
    れていない情報表示信号に関係づけられるアクセス要求
    信号に応答して、領域要求信号を発生かつその信号を関
    連する領域(0)バス要素に伝送するするための制御手
    段を有する特許請求の範囲第23項記載の処理システム
    。 (25)1または複数の前記処理セルが、関連する領域
    (0)バスに沿って転送されるアクセス要求信号を受信
    して、要求される情報表示信号を表わす信号を選択的に
    発生するための手段を備える特許請求の範囲第24記載
    の処理システム。 (26)各前記バス要素が、単一方向情報表示信号流路
    を備え、前記制御手段が、関連するバス要素により限定
    される流路に沿って前記領域要求信号を駆動するための
    手段を備える特許請求の範囲第24項記載の処理システ
    ム。 (27)前記領域ルート指定要素が、次のものの少なく
    とも1つ、すなわち、 (a)領域(k−1)セグメントと関連するバス要素に
    沿って転送される領域要求信号を受信し(ここに(k)
    は(1)および(n−1)間の整数である)、その信号
    のコピーを、対応する領域(k)セグメントと関連する
    バス要素に沿って選択的に転送するための手段と、 (b)領域(k)セグメントと関連するバス要素に沿っ
    て転送される領域要求信号を受信し(ここに(k)は(
    1)および(n−1)間の整数である)、その信号を、
    対応する領域(k−1)セグメントと関連するバス要素
    に沿って選択的に伝送するための手段の少なくとも1つ
    を備える特許請求の範囲第24項記載の処理システム。 (28)領域(k)セグメントと接続される領域ルート
    指定要素が(ここに(k)は(1)および(n−1)間
    の整数)、その領域(k)セグメントと関連する領域(
    j)セグメントの処理セル(ここに(j)は(k−1)
    および(0)間の整数)に含まれる複数のメモリ要素に
    記憶される情報表示信号に対応するSAアドレス信号を
    記憶するためのディレクトリ手段を備え、前記ルート指
    定要素が、前記ディレクトリ要素および前記アクセス要
    求手段と結合されていて、領域要求信号をSAアドレス
    信号と比較して、その領域要求信号のコピーが関連する
    領域(k)セグメントに伝送されるべきか否かを決定す
    る手段を備える特許請求の範囲第27項記載の処理シス
    テム。 (29)少なくとも遠隔処理セルを含む複数の処理セル
    であって、各々情報転送のため関連するメモリ要素と結
    合された中央処理ユニットを備え、該各中央処理ユニッ
    トが、情報表示信号に対する優先的アクセスを表わす所
    有要求信号を発生するための手段を備える複数の処理セ
    ルと、前記メモリ要素間において情報表示信号を転送す
    るバス手段と、前記遠隔セルに結合されて、関連するメ
    モリ要素およびバス手段間において情報表示信号を転送
    するための遠隔インターフェース手段と、前記メモリ要
    素に結合され、そこに記憶される情報表示信号にアクセ
    スするためのメモリ管理手段とを備え、前記各中央処理
    ユニットが、前記メモリ管理手段に前記アクセス要求信
    号を選択的に伝送するための制御手段を備え、前記メモ
    リ管理手段が、前記所有要求信号の選択されたものに応
    答して、要求中の中央処理ユニットと関連するメモリ要
    素に、前記の要求される情報表示信号を排他的に記憶す
    るためのメモリコヒーレンス手段を備えるディジタルデ
    ータ装置。 (30)前記コヒーレンス手段が、要求中の中央処理ユ
    ニットと関連するメモリ要素内に、要求される情報表示
    信号を記憶するための物理的記憶スペースを割り当てる
    ための手段と、該割り当てられた記憶スペースに要求さ
    れた情報表示信号を記憶するための手段と、前記セルの
    他のものと関連するメモリ要素内の要求される情報表示
    信号と関連する物理的記憶スペースの割当てを解除する
    手段を備える特許請求の範囲第29項記載の処理システ
    ム。 (31)前記遠隔セルが、前記バス手段から物理的に遠
    隔の点に存在し、前記インターフェース手段が、前記の
    物理的に遠隔の点と前記バス手段との間において前記情
    報表示信号を伝送するための手段を備える特許請求の範
    囲第30項記載の処理装置。 (32)前記遠隔インターフェース手段が、前記遠隔セ
    ルおよび前記バス手段間において情報表示信号を搬送す
    るための光ファイバ伝送媒体を備える特許請求の範囲第
    31項記載の処理装置。 (33)関連するメモリ要素に結合される中央処理ユニ
    ットを各々有する複数の処理セルを備えるディジタルデ
    ータ処理装置を操作する方法において、前記中央処理ユ
    ニットの要求中の1つ内において、情報表示信号に対す
    る優先アクセスの要求を表わす所有権要求信号を発生し
    、要求される情報表示信号が、要求中の中央処理ユニッ
    トと関連するもの以外のメモリ要素に記憶されているか
    否かを決定し、そして要求される情報表示信号が、要求
    中の中央処理ユニットと関連するもの以外のメモリ要素
    に記憶されていることの決定に応答して、要求中の中央
    処理ユニットと関連するメモリ要素にその要求される情
    報表示信号を排他的に記憶する諸段階を含むことを特徴
    とするディジタルデータ処理装置操作方法。(34)前
    記の応答する段階が、要求中の中央処理ユニットと関連
    するメモリ要素内に、要求される情報表示信号を記憶す
    るための物理的記憶スペースを割り当て、この割り当て
    られた記憶スペース内に要求される情報表示信号を記憶
    し、そして要求された情報表示信号が転送されてしまっ
    たセルと関連するメモリ要素内において、要求された情
    報表示信号と関連する物理的記憶スペースの割当を解除
    する諸段階を含む特許請求の範囲第33項記載の操作方
    法。 (35)複数の中央処理ユニット、および情報転送のた
    め該中央処理ユニットの関連する1つと各々結合される
    複数のメモリ要素を備える形式のディジタルデータ処理
    装置を操作する方法において、アクセス状態を、前記複
    数のメモリ要素内に記憶される1または複数の情報表示
    信号と関連づけることを含み、該アクセス状態が、次の
    1または複数のアクセス状態を含むアクセス状態群から
    選択される、すなわち (a)無効情報表示信号と関連し得る無効アクセス状態
    、 (b)情報表示信号が記憶されるメモリ要素と関連する
    中央処理ユニットによりリードオンリーアクセスを受け
    る情報表示信号と関連し得るリードオンリーアクセス状
    態、 (c)そのコピーが他の1つの前記中央処理ユニットと
    関連するメモリ要素に記憶される情報表示信号が記憶さ
    れるメモリ要素と関連する中央処理ユニットにより変更
    可能な情報表示信号と関連し得る非排他的所有者アクセ
    ス状態、 (d)そのコピーが他の1つの前記中央処理ユニットと
    関連するメモリ要素に記憶されない情報表示信号が記憶
    されるメモリ要素と関連する中央処理ユニットにより変
    更し得る情報表示信号と関連し得、その情報表示信号ま
    たはそのコピーが他の1つの前記中央処理ユニットと関
    連するメモリ要素に転送のためアクセスし得る、排他的
    所有者アクセス状態、および (e)そのコピーが他の1つの前記中央処理ユニットと
    関連するメモリ要素に記憶されない情報表示信号が記憶
    されるメモリ要素と関連する中央処理ユニットにより変
    更し得る情報表示信号と関連し得、その情報表示信号ま
    たはそのコピーが他の前記処理ユニットと関連するメモ
    リ要素に転送のため選択的にアクセスし得るアトミック
    所有者アクセス状態 の1または複数のアクセス状態を含むアクセス状態群か
    ら選択されるディジタルデータ処理装置操作方法。 (36)前記中央処理ユニットの要求中の1つ内に、情
    報表示信号に対する優先アクセスの要求を表わす排他的
    アクセス要求信号を発生し、前記の要求中の中央処理ユ
    ニットにより発生される排他的アクセス要求信号に応答
    して、前記の要求中の中央処理ユニットにその情報表示
    信号を排他的に転送し、当該他の中央処理ユニットと関
    連するメモリ要素内に記憶される当該情報表示信号を無
    効アクセス状態と関連づける諸段階を含み、前記の排他
    的アクセス要求信号がが、前記中央処理ユニットの他の
    1つと関連するメモリ要素内に記憶されかつ前記アトミ
    ック所有状態以外のアクセス状態と関連する情報表示信
    号に対する排他的アクセスの要求を表わすものである特
    許請求の範囲第35項記載のディジタルデータ処理装置
    操作方法。
JP63322254A 1987-12-22 1988-12-22 マルチプロセッサディジタルデータ処理システム Expired - Fee Related JP2780032B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/136,930 US5055999A (en) 1987-12-22 1987-12-22 Multiprocessor digital data processing system
US136930 1987-12-22

Publications (2)

Publication Number Publication Date
JPH01281555A true JPH01281555A (ja) 1989-11-13
JP2780032B2 JP2780032B2 (ja) 1998-07-23

Family

ID=22475061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63322254A Expired - Fee Related JP2780032B2 (ja) 1987-12-22 1988-12-22 マルチプロセッサディジタルデータ処理システム

Country Status (6)

Country Link
US (5) US5055999A (ja)
EP (6) EP1020799A2 (ja)
JP (1) JP2780032B2 (ja)
AT (2) ATE198673T1 (ja)
CA (1) CA1333727C (ja)
DE (2) DE3856451T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003521156A (ja) * 2000-01-24 2003-07-08 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 単一のリングデータバス接続構成を用いてメモリを共有する装置および方法

Families Citing this family (207)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5335325A (en) * 1987-12-22 1994-08-02 Kendall Square Research Corporation High-speed packet switching apparatus and method
US5822578A (en) * 1987-12-22 1998-10-13 Sun Microsystems, Inc. System for inserting instructions into processor instruction stream in order to perform interrupt processing
US5282201A (en) * 1987-12-22 1994-01-25 Kendall Square Research Corporation Dynamic packet routing network
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
EP0330425B1 (en) * 1988-02-23 1995-12-06 Digital Equipment Corporation Symmetric multi-processing control arrangement
US5136717A (en) * 1988-11-23 1992-08-04 Flavors Technology Inc. Realtime systolic, multiple-instruction, single-data parallel computer system
US5371874A (en) * 1989-01-27 1994-12-06 Digital Equipment Corporation Write-read/write-pass memory subsystem cycle
JPH0833958B2 (ja) * 1989-05-30 1996-03-29 沖電気工業株式会社 顧客情報処理システム
CA2019300C (en) 1989-06-22 2001-06-12 Kendall Square Research Corporation Multiprocessor system with shared memory
JPH0362257A (ja) * 1989-07-31 1991-03-18 Toshiba Corp ネットワークモニタリングシステム
US5230070A (en) * 1989-09-08 1993-07-20 International Business Machines Corporation Access authorization table for multi-processor caches
US5265227A (en) * 1989-11-14 1993-11-23 Intel Corporation Parallel protection checking in an address translation look-aside buffer
JP2665813B2 (ja) * 1990-02-23 1997-10-22 三菱電機株式会社 記憶制御装置
DE69022716T2 (de) * 1990-03-19 1996-03-14 Bull Hn Information Syst Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür.
US5410691A (en) * 1990-05-07 1995-04-25 Next Computer, Inc. Method and apparatus for providing a network configuration database
EP0458552B1 (en) * 1990-05-18 2003-01-15 Sun Microsystems, Inc. Dynamic hierarchical routing directory organization associative memory
EP0461923B1 (en) * 1990-06-15 1997-10-01 Compaq Computer Corporation True least recently used replacement apparatus
JPH0476681A (ja) * 1990-07-13 1992-03-11 Mitsubishi Electric Corp マイクロコンピュータ
US5261069A (en) * 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
EP0470735B1 (en) * 1990-08-06 1999-03-10 NCR International, Inc. Computer memory system
US5530941A (en) * 1990-08-06 1996-06-25 Ncr Corporation System and method for prefetching data from a main computer memory into a cache memory
US5339397A (en) * 1990-10-12 1994-08-16 International Business Machines Corporation Hardware primary directory lock
US5829030A (en) * 1990-11-05 1998-10-27 Mitsubishi Denki Kabushiki Kaisha System for performing cache flush transactions from interconnected processor modules to paired memory modules
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
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
US5245563A (en) * 1991-09-20 1993-09-14 Kendall Square Research Corporation Fast control for round unit
JP3182806B2 (ja) * 1991-09-20 2001-07-03 株式会社日立製作所 バージョンアップ方法
CA2078311A1 (en) * 1991-09-23 1993-03-24 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
EP0543032A1 (en) * 1991-11-16 1993-05-26 International Business Machines Corporation Expanded memory addressing scheme
US5493663A (en) * 1992-04-22 1996-02-20 International Business Machines Corporation Method and apparatus for predetermining pages for swapping from physical memory in accordance with the number of accesses
US5432917A (en) * 1992-04-22 1995-07-11 International Business Machines Corporation Tabulation of multi-bit vector history
US5428803A (en) * 1992-07-10 1995-06-27 Cray Research, Inc. Method and apparatus for a unified parallel processing architecture
US5361385A (en) * 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
US5418966A (en) * 1992-10-16 1995-05-23 International Business Machines Corporation Updating replicated objects in a plurality of memory partitions
GB2272545A (en) * 1992-11-13 1994-05-18 White Cross Syst Ltd A database network.
JPH06314110A (ja) * 1993-04-28 1994-11-08 Fanuc Ltd 数値制御機能を実行するコンピュータシステム部分と他のコンピュータシステムとの結合方式
US5535116A (en) * 1993-05-18 1996-07-09 Stanford University Flat cache-only multi-processor architectures
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US5406504A (en) * 1993-06-30 1995-04-11 Digital Equipment Multiprocessor cache examiner and coherency checker
FR2707776B1 (fr) 1993-07-15 1995-08-18 Bull Sa Procédé de gestion de mémoires d'un système informatique, système informatique mémoire et support d'enregistrement mettant en Óoeuvre le procédé.
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
US5745778A (en) * 1994-01-26 1998-04-28 Data General Corporation Apparatus and method for improved CPU affinity in a multiprocessor system
US5464435A (en) * 1994-02-03 1995-11-07 Medtronic, Inc. Parallel processors in implantable medical device
WO1995025306A2 (en) * 1994-03-14 1995-09-21 Stanford University Distributed shared-cache for multi-processors
US5577226A (en) * 1994-05-06 1996-11-19 Eec Systems, Inc. Method and system for coherently caching I/O devices across a network
US5606688A (en) * 1994-08-31 1997-02-25 International Business Machines Corporation Method and apparatus for dynamic cache memory allocation via single-reference residency times
US5644751A (en) * 1994-10-03 1997-07-01 International Business Machines Corporation Distributed file system (DFS) cache management based on file access characteristics
US5592618A (en) * 1994-10-03 1997-01-07 International Business Machines Corporation Remote copy secondary data copy validation-audit function
US5721917A (en) * 1995-01-30 1998-02-24 Hewlett-Packard Company System and method for determining a process's actual working set and relating same to high level data structures
US5680608A (en) * 1995-02-06 1997-10-21 International Business Machines Corporation Method and system for avoiding blocking in a data processing system having a sort-merge network
US5692149A (en) * 1995-03-16 1997-11-25 Samsung Electronics Co., Ltd. Block replacement method in cache only memory architecture multiprocessor
US5634110A (en) * 1995-05-05 1997-05-27 Silicon Graphics, Inc. Cache coherency using flexible directory bit vectors
US6105053A (en) * 1995-06-23 2000-08-15 Emc Corporation Operating system for a non-uniform memory access multiprocessor system
US5778427A (en) * 1995-07-07 1998-07-07 Sun Microsystems, Inc. Method and apparatus for selecting a way of a multi-way associative cache by storing waylets in a translation structure
EP0752645B1 (en) * 1995-07-07 2017-11-22 Oracle America, Inc. Tunable software control of Harvard architecture cache memories using prefetch instructions
EP0752644A3 (en) * 1995-07-07 2001-08-22 Sun Microsystems, Inc. Memory management unit incorporating prefetch control
US6728959B1 (en) 1995-08-08 2004-04-27 Novell, Inc. Method and apparatus for strong affinity multiprocessor scheduling
US5727220A (en) * 1995-11-29 1998-03-10 International Business Machines Corporation Method and system for caching and referencing cached document pages utilizing a presentation data stream
EP0882266A1 (en) * 1996-02-20 1998-12-09 Intergraph Corporation High-availability super server
JP3510042B2 (ja) 1996-04-26 2004-03-22 株式会社日立製作所 データベース管理方法及びシステム
US5940870A (en) * 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
US5933653A (en) * 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US6064672A (en) * 1996-07-01 2000-05-16 Sun Microsystems, Inc. System for dynamic ordering support in a ringlet serial interconnect
US5864671A (en) 1996-07-01 1999-01-26 Sun Microsystems, Inc. Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used
US6065052A (en) * 1996-07-01 2000-05-16 Sun Microsystems, Inc. System for maintaining strongly sequentially ordered packet flow in a ring network system with busy and failed nodes
US5778243A (en) * 1996-07-03 1998-07-07 International Business Machines Corporation Multi-threaded cell for a memory
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US20060129627A1 (en) * 1996-11-22 2006-06-15 Mangosoft Corp. Internet-based shared file service with native PC client access and semantics and distributed version control
US6647393B1 (en) 1996-11-22 2003-11-11 Mangosoft Corporation Dynamic directory service
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US7058696B1 (en) 1996-11-22 2006-06-06 Mangosoft Corporation Internet-based shared file service with native PC client access and semantics
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
KR100240572B1 (ko) * 1996-12-05 2000-01-15 윤종용 프로그램 메모리를 공유하는 멀티 프로세서 시스템
US5860116A (en) * 1996-12-11 1999-01-12 Ncr Corporation Memory page location control for multiple memory-multiple processor system
US5809528A (en) * 1996-12-24 1998-09-15 International Business Machines Corporation Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory
US6052778A (en) * 1997-01-13 2000-04-18 International Business Machines Corporation Embedded system having dynamically linked dynamic loader and method for linking dynamic loader shared libraries and application programs
US5813042A (en) * 1997-02-19 1998-09-22 International Business Machines Corp. Methods and systems for control of memory
US5983259A (en) * 1997-02-19 1999-11-09 International Business Machines Corp. Systems and methods for transmitting and receiving data in connection with a communications stack in a communications system
US5920703A (en) * 1997-02-19 1999-07-06 International Business Machines Corp. Systems and methods for managing the processing of relatively large data objects in a communications stack
US5909553A (en) * 1997-02-19 1999-06-01 International Business Machines Corporation Systems and methods for controlling the transmission of relatively large data objects in a communications system
US6115705A (en) * 1997-05-19 2000-09-05 Microsoft Corporation Relational database system and method for query processing using early aggregation
US6115756A (en) * 1997-06-27 2000-09-05 Sun Microsystems, Inc. Electro-optically connected multiprocessor and multiring configuration for dynamically allocating time
US5966729A (en) * 1997-06-30 1999-10-12 Sun Microsystems, Inc. Snoop filter for use in multiprocessor computer systems
US6094709A (en) * 1997-07-01 2000-07-25 International Business Machines Corporation Cache coherence for lazy entry consistency in lockup-free caches
US6192398B1 (en) 1997-10-17 2001-02-20 International Business Machines Corporation Remote/shared browser cache
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6026475A (en) * 1997-11-26 2000-02-15 Digital Equipment Corporation Method for dynamically remapping a virtual address to a physical address to maintain an even distribution of cache page addresses in a virtual address space
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6233661B1 (en) 1998-04-28 2001-05-15 Compaq Computer Corporation Computer system with memory controller that hides the next cycle during the current cycle
US6269433B1 (en) * 1998-04-29 2001-07-31 Compaq Computer Corporation Memory controller using queue look-ahead to reduce memory latency
US6202124B1 (en) * 1998-05-05 2001-03-13 International Business Machines Corporation Data storage system with outboard physical data transfer operation utilizing data path distinct from host
US6148300A (en) * 1998-06-19 2000-11-14 Sun Microsystems, Inc. Hybrid queue and backoff computer resource lock featuring different spin speeds corresponding to multiple-states
US6327668B1 (en) * 1998-06-30 2001-12-04 Sun Microsystems, Inc. Determinism in a multiprocessor computer system and monitor and processor therefor
US6542966B1 (en) * 1998-07-16 2003-04-01 Intel Corporation Method and apparatus for managing temporal and non-temporal data in a single cache structure
US6327644B1 (en) 1998-08-18 2001-12-04 International Business Machines Corporation Method and system for managing data in cache
US6381677B1 (en) 1998-08-19 2002-04-30 International Business Machines Corporation Method and system for staging data into cache
US6141731A (en) * 1998-08-19 2000-10-31 International Business Machines Corporation Method and system for managing data in cache using multiple data structures
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6766424B1 (en) * 1999-02-09 2004-07-20 Hewlett-Packard Development Company, L.P. Computer architecture with dynamic sub-page placement
US6839739B2 (en) * 1999-02-09 2005-01-04 Hewlett-Packard Development Company, L.P. Computer architecture with caching of history counters for dynamic page placement
US6647468B1 (en) * 1999-02-26 2003-11-11 Hewlett-Packard Development Company, L.P. Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment
US6278959B1 (en) * 1999-03-19 2001-08-21 International Business Machines Corporation Method and system for monitoring the performance of a data processing system
US6385604B1 (en) * 1999-08-04 2002-05-07 Hyperroll, Israel Limited Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements
US6408292B1 (en) * 1999-08-04 2002-06-18 Hyperroll, Israel, Ltd. Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
GB2353612B (en) * 1999-08-24 2003-11-12 Mitel Corp Processing by use of synchronised tuple spaces and assertions
CA2383526A1 (en) * 1999-09-01 2001-03-15 Intel Corporation Branch instruction for multithreaded processor
JP3661531B2 (ja) * 1999-11-24 2005-06-15 日本電気株式会社 マルチプロセッサシステム及びそのアドレス解決方法
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US6457107B1 (en) * 2000-02-28 2002-09-24 International Business Machines Corporation Method and apparatus for reducing false sharing in a distributed computing environment
US6973521B1 (en) * 2000-05-16 2005-12-06 Cisco Technology, Inc. Lock controller supporting blocking and non-blocking requests
US6704863B1 (en) * 2000-06-14 2004-03-09 Cypress Semiconductor Corp. Low-latency DMA handling in pipelined processors
US7640315B1 (en) 2000-08-04 2009-12-29 Advanced Micro Devices, Inc. Implementing locks in a distributed processing system
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6636879B1 (en) * 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US7694302B1 (en) 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US7178137B1 (en) 2001-04-05 2007-02-13 Network Appliance, Inc. Automatic verification of scheduling domain consistency
US6795907B2 (en) * 2001-06-28 2004-09-21 Hewlett-Packard Development Company, L.P. Relocation table for use in memory management
US20030005252A1 (en) * 2001-06-28 2003-01-02 Wilson Kenneth M. Managing latencies in accessing memory of computer systems
US6944736B2 (en) * 2001-06-28 2005-09-13 Hewlett-Packard Development Company, L.P. Managing latencies in accessing memory of computer systems
US6959358B2 (en) * 2001-07-06 2005-10-25 Micron Technology, Inc. Distributed content addressable memory
US6877108B2 (en) * 2001-09-25 2005-04-05 Sun Microsystems, Inc. Method and apparatus for providing error isolation in a multi-domain computer system
JP4130076B2 (ja) * 2001-12-21 2008-08-06 富士通株式会社 データベース管理プログラムおよび記録媒体
US7516236B2 (en) * 2001-12-21 2009-04-07 Nokia Corporation Method to improve perceived access speed to data network content using a multicast channel and local cache
US7231463B2 (en) * 2002-01-04 2007-06-12 Intel Corporation Multi-level ring peer-to-peer network structure for peer and object discovery
US7020753B2 (en) * 2002-01-09 2006-03-28 Sun Microsystems, Inc. Inter-domain data transfer
WO2003081454A2 (de) * 2002-03-21 2003-10-02 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US8055728B2 (en) * 2002-04-25 2011-11-08 International Business Machines Corporation Remote control of selected target client computers in enterprise computer networks through global master hubs
US7496494B2 (en) * 2002-09-17 2009-02-24 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US9043194B2 (en) * 2002-09-17 2015-05-26 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency
US8108843B2 (en) * 2002-09-17 2012-01-31 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US7953588B2 (en) * 2002-09-17 2011-05-31 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US6851030B2 (en) * 2002-10-16 2005-02-01 International Business Machines Corporation System and method for dynamically allocating associative resources
US8185602B2 (en) * 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US6898689B2 (en) * 2002-11-15 2005-05-24 Silicon Labs Cp, Inc. Paging scheme for a microcontroller for extending available register space
US6886089B2 (en) * 2002-11-15 2005-04-26 Silicon Labs Cp, Inc. Method and apparatus for accessing paged memory with indirect addressing
US6981106B1 (en) * 2002-11-26 2005-12-27 Unisys Corporation System and method for accelerating ownership within a directory-based memory system
US7653912B2 (en) * 2003-05-30 2010-01-26 Steven Frank Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
CA2438366A1 (en) * 2003-08-26 2005-02-26 Ibm Canada Limited - Ibm Canada Limitee System and method for starting a buffer pool
US7614056B1 (en) 2003-09-12 2009-11-03 Sun Microsystems, Inc. Processor specific dispatching in a heterogeneous configuration
US8515923B2 (en) * 2003-11-17 2013-08-20 Xerox Corporation Organizational usage document management system
US8171480B2 (en) * 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US7200718B2 (en) * 2004-04-26 2007-04-03 Broadband Royalty Corporation Cache memory for a scalable information distribution system
US8656141B1 (en) 2004-12-13 2014-02-18 Massachusetts Institute Of Technology Architecture and programming in a parallel processing environment with switch-interconnected processors
US20060282606A1 (en) * 2005-06-08 2006-12-14 Dell Products L.P. System and method for automatically optimizing available virtual memory
JP4346587B2 (ja) * 2005-07-27 2009-10-21 富士通株式会社 システムシミュレーション方法
US7865570B2 (en) * 2005-08-30 2011-01-04 Illinois Institute Of Technology Memory server
US7409504B2 (en) * 2005-10-06 2008-08-05 International Business Machines Corporation Chained cache coherency states for sequential non-homogeneous access to a cache line with outstanding data response
US7370155B2 (en) * 2005-10-06 2008-05-06 International Business Machines Corporation Chained cache coherency states for sequential homogeneous access to a cache line with outstanding data response
US8347293B2 (en) * 2005-10-20 2013-01-01 Network Appliance, Inc. Mutual exclusion domains to perform file system processes on stripes
US7587547B2 (en) * 2006-03-30 2009-09-08 Intel Corporation Dynamic update adaptive idle timer
US7911474B2 (en) * 2006-04-03 2011-03-22 Siemens Medical Solutions Usa, Inc. Memory management system and method for GPU-based volume rendering
US7882307B1 (en) 2006-04-14 2011-02-01 Tilera Corporation Managing cache memory in a parallel processing environment
CN101573843B (zh) * 2006-05-31 2012-09-12 科锐公司 照明装置和照明方法
US7853752B1 (en) 2006-09-29 2010-12-14 Tilera Corporation Caching in multicore and multiprocessor architectures
US9336387B2 (en) * 2007-07-30 2016-05-10 Stroz Friedberg, Inc. System, method, and computer program product for detecting access to a memory device
US20090106498A1 (en) * 2007-10-23 2009-04-23 Kevin Michael Lepak Coherent dram prefetcher
US7966453B2 (en) 2007-12-12 2011-06-21 International Business Machines Corporation Method and apparatus for active software disown of cache line's exlusive rights
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
US8607004B2 (en) * 2009-11-13 2013-12-10 Richard S. Anderson Distributed symmetric multiprocessing computing architecture
US8627331B1 (en) 2010-04-30 2014-01-07 Netapp, Inc. Multi-level parallelism of process execution in a mutual exclusion domain of a processing system
US9075858B2 (en) * 2010-12-16 2015-07-07 Sybase, Inc. Non-disruptive data movement and node rebalancing in extreme OLTP environments
US9477600B2 (en) 2011-08-08 2016-10-25 Arm Limited Apparatus and method for shared cache control including cache lines selectively operable in inclusive or non-inclusive mode
US10095526B2 (en) * 2012-10-12 2018-10-09 Nvidia Corporation Technique for improving performance in multi-threaded processing units
US9361237B2 (en) * 2012-10-18 2016-06-07 Vmware, Inc. System and method for exclusive read caching in a virtualized computing environment
US9170955B2 (en) * 2012-11-27 2015-10-27 Intel Corporation Providing extended cache replacement state information
US9158702B2 (en) 2012-12-28 2015-10-13 Intel Corporation Apparatus and method for implementing a scratchpad memory using priority hint
US9620181B2 (en) * 2013-01-31 2017-04-11 Hewlett Packard Enterprise Development Lp Adaptive granularity row-buffer cache
US9218291B2 (en) * 2013-07-25 2015-12-22 International Business Machines Corporation Implementing selective cache injection
JP6221717B2 (ja) * 2013-12-12 2017-11-01 富士通株式会社 ストレージ装置、ストレージシステム及びデータ管理プログラム
US11132328B2 (en) 2013-12-20 2021-09-28 Rambus, Inc. High level instructions with lower-level assembly code style primitives within a memory appliance for accessing memory
US9665372B2 (en) 2014-05-12 2017-05-30 International Business Machines Corporation Parallel slice processor with dynamic instruction stream mapping
US9672043B2 (en) 2014-05-12 2017-06-06 International Business Machines Corporation Processing of multiple instruction streams in a parallel slice processor
US9760375B2 (en) 2014-09-09 2017-09-12 International Business Machines Corporation Register files for storing data operated on by instructions of multiple widths
US9720696B2 (en) 2014-09-30 2017-08-01 International Business Machines Corporation Independent mapping of threads
US9977678B2 (en) 2015-01-12 2018-05-22 International Business Machines Corporation Reconfigurable parallel execution and load-store slice processor
US10133576B2 (en) * 2015-01-13 2018-11-20 International Business Machines Corporation Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries
US10133581B2 (en) 2015-01-13 2018-11-20 International Business Machines Corporation Linkable issue queue parallel execution slice for a processor
TWI552536B (zh) * 2015-03-20 2016-10-01 國立交通大學 光資料中心網路系統以及光交換器
CN106293637B (zh) * 2015-05-28 2018-10-30 华为技术有限公司 数据移动、将数据设置为无效的方法、处理器及系统
US11240334B2 (en) * 2015-10-01 2022-02-01 TidalScale, Inc. Network attached memory using selective resource migration
US9983875B2 (en) 2016-03-04 2018-05-29 International Business Machines Corporation Operation of a multi-slice processor preventing early dependent instruction wakeup
US10037211B2 (en) 2016-03-22 2018-07-31 International Business Machines Corporation Operation of a multi-slice processor with an expanded merge fetching queue
US10346174B2 (en) 2016-03-24 2019-07-09 International Business Machines Corporation Operation of a multi-slice processor with dynamic canceling of partial loads
US10761854B2 (en) 2016-04-19 2020-09-01 International Business Machines Corporation Preventing hazard flushes in an instruction sequencing unit of a multi-slice processor
US10037229B2 (en) 2016-05-11 2018-07-31 International Business Machines Corporation Operation of a multi-slice processor implementing a load/store unit maintaining rejected instructions
US9934033B2 (en) 2016-06-13 2018-04-03 International Business Machines Corporation Operation of a multi-slice processor implementing simultaneous two-target loads and stores
US10042647B2 (en) 2016-06-27 2018-08-07 International Business Machines Corporation Managing a divided load reorder queue
US10318419B2 (en) 2016-08-08 2019-06-11 International Business Machines Corporation Flush avoidance in a load store unit
US11023135B2 (en) 2017-06-27 2021-06-01 TidalScale, Inc. Handling frequently accessed pages
US10817347B2 (en) 2017-08-31 2020-10-27 TidalScale, Inc. Entanglement of pages and guest threads
US11175927B2 (en) 2017-11-14 2021-11-16 TidalScale, Inc. Fast boot
US10769030B2 (en) * 2018-04-25 2020-09-08 EMC IP Holding Company LLC System and method for improved cache performance
CN110293539B (zh) * 2019-06-24 2022-09-30 佛山智异科技开发有限公司 工业机器人示教器软件架构的实现方法、装置及示教器
US10802973B1 (en) 2019-07-01 2020-10-13 Bank Of America Corporation Data access tool
US20230101512A1 (en) * 2021-09-25 2023-03-30 Intel Corporation Shared prefetch instruction and support

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0014926A1 (en) * 1979-02-15 1980-09-03 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. Interprocessor connection system

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US136701A (en) 1873-03-11 Improvement in sewing-machine tables
JPS5113118Y1 (ja) 1970-06-09 1976-04-08
US3731002A (en) * 1970-10-08 1973-05-01 Bell Telephone Labor Inc Interconnected loop data block transmission system
USRE28811E (en) * 1970-10-08 1976-05-11 Bell Telephone Laboratories, Incorporated Interconnected loop data block transmission system
US3713096A (en) * 1971-03-31 1973-01-23 Ibm Shift register interconnection of data processing system
US3748647A (en) * 1971-06-30 1973-07-24 Ibm Toroidal interconnection system
US3735362A (en) * 1971-09-22 1973-05-22 Ibm Shift register interconnection system
US3723976A (en) * 1972-01-20 1973-03-27 Ibm Memory system with logical and real addressing
USRE28211E (en) * 1972-09-05 1974-10-22 Forced closure dipolar electro-optic shutter and method
US3800291A (en) 1972-09-21 1974-03-26 Ibm Data processing system memory relocation apparatus and method
US3885742A (en) * 1973-02-14 1975-05-27 Iplex Plastic Ind Pty Ltd Attachment of drip feed devices to hoses or the like
US4011545A (en) * 1975-04-28 1977-03-08 Ridan Computers, Inc. Computer and communications systems employing new architectures
US4031512A (en) * 1975-05-29 1977-06-21 Burroughs Corporation Communications network for general purpose data communications in a heterogeneous environment
US4077059A (en) * 1975-12-18 1978-02-28 Cordi Vincent A Multi-processing system with a hierarchial memory having journaling and copyback
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4141067A (en) * 1977-06-13 1979-02-20 General Automation Multiprocessor system with cache memory
US4245306A (en) * 1978-12-21 1981-01-13 Burroughs Corporation Selection of addressed processor in a multi-processor network
US4240143A (en) * 1978-12-22 1980-12-16 Burroughs Corporation Hierarchical multi-processor network for memory sharing
US4484262A (en) * 1979-01-09 1984-11-20 Sullivan Herbert W Shared memory computer method and apparatus
US4293910A (en) * 1979-07-02 1981-10-06 International Business Machines Corporation Reconfigurable key-in-storage means for protecting interleaved main storage
FR2472232B1 (fr) * 1979-12-14 1988-04-22 Honeywell Inf Systems Dispositif et procede d'effacement d'antememoire
US4322795A (en) * 1980-01-24 1982-03-30 Honeywell Information Systems Inc. Cache memory utilizing selective clearing and least recently used updating
GB2077468B (en) * 1980-06-04 1984-10-24 Hitachi Ltd Multi-computer system with plural serial bus loops
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4410944A (en) 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment
US4445171A (en) * 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
JPS57166756A (en) * 1981-04-08 1982-10-14 Hitachi Ltd Transmission controlling method
US4410946A (en) * 1981-06-15 1983-10-18 International Business Machines Corporation Cache extension to processor local storage
US4476524A (en) 1981-07-02 1984-10-09 International Business Machines Corporation Page storage control methods and means
US4488256A (en) 1981-11-23 1984-12-11 Motorola, Inc. Memory management unit having means for detecting and preventing mapping conflicts
US4432057A (en) * 1981-11-27 1984-02-14 International Business Machines Corporation Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system
US4811203A (en) * 1982-03-03 1989-03-07 Unisys Corporation Hierarchial memory system with separate criteria for replacement and writeback without replacement
US4493026A (en) * 1982-05-26 1985-01-08 International Business Machines Corporation Set associative sector cache
US4503497A (en) * 1982-05-27 1985-03-05 International Business Machines Corporation System for independent cache-to-cache transfer
US4714990A (en) * 1982-09-18 1987-12-22 International Computers Limited Data storage apparatus
US4625081A (en) * 1982-11-30 1986-11-25 Lotito Lawrence A Automated telephone voice service system
JPS59103166A (ja) * 1982-12-02 1984-06-14 Fujitsu Ltd 階層型並列デ−タ処理装置
JPS59102166A (ja) 1982-12-06 1984-06-13 Fanuc Ltd 速度検出回路
US5212773A (en) 1983-05-31 1993-05-18 Thinking Machines Corporation Wormhole communications arrangement for massively parallel processor
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US4768144A (en) 1983-10-25 1988-08-30 Keycom Electronic Publishing, Inc. Method and apparatus for retrieving information distributed over nonconsecutive pages
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
JPS60136097A (ja) * 1983-12-23 1985-07-19 Hitachi Ltd 連想メモリ装置
US4622631B1 (en) * 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
US4792895A (en) * 1984-07-30 1988-12-20 International Business Machines Corp. Instruction processing in higher level virtual machines by a real machine
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US4700347A (en) * 1985-02-13 1987-10-13 Bolt Beranek And Newman Inc. Digital phase adjustment
US5067071A (en) 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
JPH0732401B2 (ja) * 1985-04-24 1995-04-10 株式会社日立製作所 伝送制御方式
GB2176918B (en) * 1985-06-13 1989-11-01 Intel Corp Memory management for microprocessor system
US4972338A (en) * 1985-06-13 1990-11-20 Intel Corporation Memory management for microprocessor system
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
EP0214718A3 (en) * 1985-07-22 1990-04-04 Alliant Computer Systems Corporation Digital computer
US4706080A (en) * 1985-08-26 1987-11-10 Bell Communications Research, Inc. Interconnection of broadcast networks
US4734907A (en) * 1985-09-06 1988-03-29 Washington University Broadcast packet switching network
US4701756A (en) * 1985-09-10 1987-10-20 Burr William E Fault-tolerant hierarchical network
IT1184015B (it) * 1985-12-13 1987-10-22 Elsag Sistema multiprocessore a piu livelli gerarchici
IT1184013B (it) * 1985-12-13 1987-10-22 Elsag Memoria ad elevata capacita accessibile a diverse agenti
US4730249A (en) 1986-01-16 1988-03-08 International Business Machines Corporation Method to operate on large segments of data in a virtual memory data processing system
US4758946A (en) * 1986-04-09 1988-07-19 Elxsi Page mapping system
US4780873A (en) 1986-05-19 1988-10-25 General Electric Company Circuit switching network with routing nodes
JPS6336348A (ja) * 1986-07-30 1988-02-17 Toshiba Corp バツフアメモリ管理方法
CA1293819C (en) * 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
JPS6364144A (ja) * 1986-09-04 1988-03-22 Hitachi Ltd 記憶装置間デ−タ転送方式
US4951193A (en) * 1986-09-05 1990-08-21 Hitachi, Ltd. Parallel computer with distributed shared memories and distributed task activating circuits
US4811216A (en) * 1986-12-22 1989-03-07 American Telephone And Telegraph Company Multiprocessor memory management method
IT1217130B (it) * 1987-03-12 1990-03-14 Cselt Centro Studi Lab Telecom Sistema di commutazione in tecnologia ottica
EP0288649B1 (en) * 1987-04-22 1992-10-21 International Business Machines Corporation Memory control subsystem
US4888726A (en) * 1987-04-22 1989-12-19 Allen-Bradley Company. Inc. Distributed processing in a cluster of industrial controls linked by a communications network
US4984235A (en) * 1987-04-27 1991-01-08 Thinking Machines Corporation Method and apparatus for routing message packets and recording the roofing sequence
US4797880A (en) * 1987-10-07 1989-01-10 Bell Communications Research, Inc. Non-blocking, self-routing packet switch
JP3023425B2 (ja) * 1987-10-09 2000-03-21 株式会社日立製作所 データ処理装置
IT1223142B (it) 1987-11-17 1990-09-12 Honeywell Bull Spa Sistema multiprocessore di elaborazione con multiplazione di dati globali
US4980816A (en) * 1987-12-18 1990-12-25 Nec Corporation Translation look-aside buffer control system with multiple prioritized buffers
US5282201A (en) 1987-12-22 1994-01-25 Kendall Square Research Corporation Dynamic packet routing network
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5251308A (en) 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5119481A (en) 1987-12-22 1992-06-02 Kendall Square Research Corporation Register bus multiprocessor system with shift
US5226039A (en) 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5025366A (en) * 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design
JP2584647B2 (ja) 1988-01-28 1997-02-26 株式会社リコー 通信網のノード装置
JPH01230275A (ja) 1988-03-10 1989-09-13 Mitsubishi Metal Corp 超電導薄膜の形成法
US4887265A (en) * 1988-03-18 1989-12-12 Motorola, Inc. Packet-switched cellular telephone system
JPH01253059A (ja) 1988-04-01 1989-10-09 Kokusai Denshin Denwa Co Ltd <Kdd> 並列信号処理方式
US4979100A (en) * 1988-04-01 1990-12-18 Sprint International Communications Corp. Communication processor for a packet-switched network
US5101402A (en) * 1988-05-24 1992-03-31 Digital Equipment Corporation Apparatus and method for realtime monitoring of network sessions in a local area network
JPH03505793A (ja) * 1988-07-04 1991-12-12 スウェーディッシュ インスティテュート オブ コンピューター サイエンス 階層構造を有するキャッシュメモリシステムを含むマルチプロセッサシステム
US4930106A (en) 1988-08-29 1990-05-29 Unisys Corporation Dual cache RAM for rapid invalidation
US5025365A (en) 1988-11-14 1991-06-18 Unisys Corporation Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors
US5136717A (en) 1988-11-23 1992-08-04 Flavors Technology Inc. Realtime systolic, multiple-instruction, single-data parallel computer system
US5101485B1 (en) 1989-06-29 1996-12-10 Frank L Perazzoli Jr Virtual memory page table paging apparatus and method
US5226175A (en) 1989-07-21 1993-07-06 Graphic Edge, Inc. Technique for representing sampled images
US5226109A (en) 1990-04-26 1993-07-06 Honeywell Inc. Three dimensional computer graphic symbol generator
US5313647A (en) 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0014926A1 (en) * 1979-02-15 1980-09-03 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. Interprocessor connection system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003521156A (ja) * 2000-01-24 2003-07-08 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 単一のリングデータバス接続構成を用いてメモリを共有する装置および方法

Also Published As

Publication number Publication date
ATE231996T1 (de) 2003-02-15
EP0322117A3 (en) 1990-07-25
EP1020799A2 (en) 2000-07-19
ATE198673T1 (de) 2001-01-15
DE3856451D1 (de) 2001-02-15
US5960461A (en) 1999-09-28
EP0322117A2 (en) 1989-06-28
US5055999A (en) 1991-10-08
DE3856552T2 (de) 2003-11-20
JP2780032B2 (ja) 1998-07-23
EP1016971A2 (en) 2000-07-05
US5297265A (en) 1994-03-22
EP0322117B1 (en) 2001-01-10
US6694412B2 (en) 2004-02-17
EP1016979A2 (en) 2000-07-05
EP0468542A2 (en) 1992-01-29
DE3856552D1 (de) 2003-03-06
US6330649B1 (en) 2001-12-11
EP0468542A3 (en) 1992-08-12
CA1333727C (en) 1994-12-27
EP0593100B1 (en) 2003-01-29
US20020078310A1 (en) 2002-06-20
EP0593100A2 (en) 1994-04-20
DE3856451T2 (de) 2001-07-19
EP0593100A3 (en) 1995-05-24

Similar Documents

Publication Publication Date Title
JPH01281555A (ja) マルチプロセッサディジタルデータ処理システム
US5251308A (en) Shared memory multiprocessor with data hiding and post-store
US5809527A (en) Outboard file cache system
US5341483A (en) Dynamic hierarchial associative memory
US5537574A (en) Sysplex shared data coherency method
US6088758A (en) Method and apparatus for distributing data in a digital data processor with distributed memory
US5282201A (en) Dynamic packet routing network
EP0458553B1 (en) Packet routing switch and method for networks
US4977498A (en) Data processing system having a data memory interlock coherency scheme
US6587921B2 (en) Method and apparatus for cache synchronization in a clustered environment
US5875468A (en) Method to pipeline write misses in shared cache multiprocessor systems
US6622231B2 (en) Method and apparatus for paging data and attributes including an atomic attribute
EP0404560B1 (en) multiprocessor system and method
CN110633049A (zh) 非易失性存储器感知的高速缓存策略
US5519846A (en) Multiprocessor system with scheme for managing allocation and reservation of cache segments in a cache system employing round-robin replacement and exclusive access
US6298419B1 (en) Protocol for software distributed shared memory with memory scaling
CA1341154C (en) Multiprocessor digital data processing system
EP0458552B1 (en) Dynamic hierarchical routing directory organization associative memory
CA2042291C (en) Dynamic hierarchical associative memory
CA2042610C (en) Dynamic packet routing network
JPH04357541A (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