JPH0658660B2 - 密結合コンピュータシステム - Google Patents
密結合コンピュータシステムInfo
- Publication number
- JPH0658660B2 JPH0658660B2 JP59274205A JP27420584A JPH0658660B2 JP H0658660 B2 JPH0658660 B2 JP H0658660B2 JP 59274205 A JP59274205 A JP 59274205A JP 27420584 A JP27420584 A JP 27420584A JP H0658660 B2 JPH0658660 B2 JP H0658660B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- processor
- bus
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、一般には、データを処理するためのシステム
に関し、特に、複数のプロセッサ及びコンピュータシス
テムの1つのバス構造体とともに、データを処理するた
めにデータコヒーレンス(データの首尾一貫性)を有す
る、密結合コンピュータシステムに関する。
に関し、特に、複数のプロセッサ及びコンピュータシス
テムの1つのバス構造体とともに、データを処理するた
めにデータコヒーレンス(データの首尾一貫性)を有す
る、密結合コンピュータシステムに関する。
一般にコンピュータシステム、特に特殊目的コンピュー
タシステムでは、データ完全性の増大や全体的なデータ
処理能力の増大のみならずデータのスループットの最大
化の開発が行われている。これらの目的のために設計さ
れたコンピュータシステムの1つの種類は、多数のデー
タ処理装置を有するコンピュータシステムアーキテクチ
ャ(体系)、つまり、マルチプロセッサアーキテクチャ
に、その基礎を置いている。この種のコンピュータシス
テムアーキテクチャは、多数のデータプロセッサ(デー
タ処理装置)での通信方法により分類され、このコンピ
ュータシステムアーキテクチャには「疎結合(loosely c
oupled)」システム、「中程度結合(moderately couple
d)」システム、「密結合(tightly coupled)」システム
が含まれる。たとえば、密結合システムは、データ記憶
のための、ランダムアクセスメモリ(RAM)のような共通
メモリ即ち共用メモリ(shared memory,共有メモリとも
称する)並びに共用メモリに記憶されたデータをアクセ
スする多数のデータプロセッサを使用する。複数のデー
タプロセッサと1つの共用メモリ間、および複数のデー
タプロセッサ自身間でのデータ転送を含む通信は、制御
信号と、データのブロックのアドレスと、及びデータと
を運ぶバス構造体(「バス」)を通じて行われる。
タシステムでは、データ完全性の増大や全体的なデータ
処理能力の増大のみならずデータのスループットの最大
化の開発が行われている。これらの目的のために設計さ
れたコンピュータシステムの1つの種類は、多数のデー
タ処理装置を有するコンピュータシステムアーキテクチ
ャ(体系)、つまり、マルチプロセッサアーキテクチャ
に、その基礎を置いている。この種のコンピュータシス
テムアーキテクチャは、多数のデータプロセッサ(デー
タ処理装置)での通信方法により分類され、このコンピ
ュータシステムアーキテクチャには「疎結合(loosely c
oupled)」システム、「中程度結合(moderately couple
d)」システム、「密結合(tightly coupled)」システム
が含まれる。たとえば、密結合システムは、データ記憶
のための、ランダムアクセスメモリ(RAM)のような共通
メモリ即ち共用メモリ(shared memory,共有メモリとも
称する)並びに共用メモリに記憶されたデータをアクセ
スする多数のデータプロセッサを使用する。複数のデー
タプロセッサと1つの共用メモリ間、および複数のデー
タプロセッサ自身間でのデータ転送を含む通信は、制御
信号と、データのブロックのアドレスと、及びデータと
を運ぶバス構造体(「バス」)を通じて行われる。
システム性能の向上のために、コンピュータシステムで
はメモリハイアラーキを、例えば共用メモリ、つまり主
メモリと連結するキャッシュメモリ(高速緩衝メモリ)
即ち2次メモリの形態で用いている。各データプロセッ
サは、そのプロセッサでアクセスされるデータのコピー
(複写データ)を一時的に記憶するキャッシュメモリを
持ってもよい。キャッシュメモリに記憶されているその
データのコピーは、同一のデータが共用メモリからアク
セスされねばならない場合よりも非常に少ない時間でデ
ータプロセッサによりアクセスできるので、システムの
性能が向上される。
はメモリハイアラーキを、例えば共用メモリ、つまり主
メモリと連結するキャッシュメモリ(高速緩衝メモリ)
即ち2次メモリの形態で用いている。各データプロセッ
サは、そのプロセッサでアクセスされるデータのコピー
(複写データ)を一時的に記憶するキャッシュメモリを
持ってもよい。キャッシュメモリに記憶されているその
データのコピーは、同一のデータが共用メモリからアク
セスされねばならない場合よりも非常に少ない時間でデ
ータプロセッサによりアクセスできるので、システムの
性能が向上される。
メモリハイアラーキの使用に関連したシステム設計の問
題点は、「バス帯域幅(bandwidth)」若しくはバス使用
率に関連している。ほとんどのコンピュータシステムで
は、バスは帯域幅が制限されているので、各データプロ
セッサによるバスの使用を最小化することが重要であ
り、このことは、多数のデータプロセッサがバスに結合
されているコンピュータシステムにとって、特に当ては
まる。バスの使用率を最小化する1つの技術は、「ライ
トスルー(write-through)」アルゴリズムとは正反対の
意味を持つ「ノンライトスルー(non-write-through)」
として知られているキャッシュメモリアルゴリズムに基
礎を置いている。すなわち、定められたデータプロセッ
サによりアクセスされるデータが、対応するキャッシュ
メモリにない場合には、データのコピーが共用メモリか
ら得られ、キャッシュメモリに格納される。その後、こ
のデータに対するすべてのアクセス(読み取りおよび書
き込み)が、データプロセッサによりキャッシュメモリ
に対して行われる。このアクセスは、このデータ並びに
キャッシュメモリにすでに記憶されている他のデータが
現に必要とされなくなり、アクセスされねばならない他
のデータがキャッシュメモリ内にはまだない、そのよう
な時まで、行われる。この時に、データプロセッサは、
キャッシュメモリに記憶されている間にプロセッサによ
り変更されたデータを共用メモリに戻す。そのような変
更が行われていないデータは共用メモリに戻して書き込
む必要はなく、キャッシュメモリ内で単に無効化すれば
良い。これにより、対応する記憶場所が、共用メモリか
らアクセスされる他のデータのコピーの記憶のために利
用可能となる。キャッシュメモリに対する各書き込みア
クセス後毎に、変更データがキャッシュメモリから共用
メモリに転送されず、その転送は、データがもはや使用
されず、さらに他のデータがキャッシュメモリに転送さ
れねばならないときに、周期的にのみ行われるので、バ
ス使用率は、このノンライトスルーアルゴリズムを使用
することで、最小化される。これに比べ、ライトスルー
アルゴリズムに従うと、変更データは、キャッシュメモ
リに対する各書き込みアクセス後毎に、シェアドメモリ
に転送されることになるので、バス使用率は増加するこ
とになる。
題点は、「バス帯域幅(bandwidth)」若しくはバス使用
率に関連している。ほとんどのコンピュータシステムで
は、バスは帯域幅が制限されているので、各データプロ
セッサによるバスの使用を最小化することが重要であ
り、このことは、多数のデータプロセッサがバスに結合
されているコンピュータシステムにとって、特に当ては
まる。バスの使用率を最小化する1つの技術は、「ライ
トスルー(write-through)」アルゴリズムとは正反対の
意味を持つ「ノンライトスルー(non-write-through)」
として知られているキャッシュメモリアルゴリズムに基
礎を置いている。すなわち、定められたデータプロセッ
サによりアクセスされるデータが、対応するキャッシュ
メモリにない場合には、データのコピーが共用メモリか
ら得られ、キャッシュメモリに格納される。その後、こ
のデータに対するすべてのアクセス(読み取りおよび書
き込み)が、データプロセッサによりキャッシュメモリ
に対して行われる。このアクセスは、このデータ並びに
キャッシュメモリにすでに記憶されている他のデータが
現に必要とされなくなり、アクセスされねばならない他
のデータがキャッシュメモリ内にはまだない、そのよう
な時まで、行われる。この時に、データプロセッサは、
キャッシュメモリに記憶されている間にプロセッサによ
り変更されたデータを共用メモリに戻す。そのような変
更が行われていないデータは共用メモリに戻して書き込
む必要はなく、キャッシュメモリ内で単に無効化すれば
良い。これにより、対応する記憶場所が、共用メモリか
らアクセスされる他のデータのコピーの記憶のために利
用可能となる。キャッシュメモリに対する各書き込みア
クセス後毎に、変更データがキャッシュメモリから共用
メモリに転送されず、その転送は、データがもはや使用
されず、さらに他のデータがキャッシュメモリに転送さ
れねばならないときに、周期的にのみ行われるので、バ
ス使用率は、このノンライトスルーアルゴリズムを使用
することで、最小化される。これに比べ、ライトスルー
アルゴリズムに従うと、変更データは、キャッシュメモ
リに対する各書き込みアクセス後毎に、シェアドメモリ
に転送されることになるので、バス使用率は増加するこ
とになる。
メモリハイアラーキの使用により、「データコヒーレン
ス」として知られた問題が発生する。もし、プロセッサ
によってアクセスされるデータが、常にそのデータのア
ドレスに最後に書き込まれたデータであるならば、コン
ピュータシステムはデータコヒーレンスがある。データ
コヒーレンスの問題は、ノンライトスルーアルゴリズム
を用いているコンピュータシステムでは、増大する。
ス」として知られた問題が発生する。もし、プロセッサ
によってアクセスされるデータが、常にそのデータのア
ドレスに最後に書き込まれたデータであるならば、コン
ピュータシステムはデータコヒーレンスがある。データ
コヒーレンスの問題は、ノンライトスルーアルゴリズム
を用いているコンピュータシステムでは、増大する。
例えば、コンピュータシステムが1つの共用メモリと2
つのデータプロセッサを有し、各データプロセッサは1
つのキャッシュメモリを有し、キャッシュメモリのすべ
てが共通バスで相互に連結(結合)されていると想定す
る。さらに、Aは共用メモリのみに現在記憶されている
データDのアドレスであると想定する。その後、例え
ば、一方のデータプロセッサP1が共用メモリからのそ
のアドレスAのデータDのコピーを得て、データDをデ
ータD′に変更し、そのプロセッサのキャッシュメモリ
にそのデータD′を記憶したと想定する。それから、他
方のデータプロセッサP2が、データDを読み取るた
め、共用メモリからデータDのコピーを得ると想定す
る。その結果、データコヒーレンスが害される。この理
由は、例えば、一方のプロセッサP1によるそのキャッ
シュメモリに対する読み取りアクセスにおいて、データ
D′が読み取られ、他方のプロセッサP2によるそのキ
ャッシュメモリに対する読み取りアクセスにおいて、デ
ータDが読み取られるからである。データコヒーレンス
の問題はノンライトスルーが用いられるときに、大きく
なる。この理由は、プロセッサP1のキャッシュメモリ
がある期間データD′を記憶し続けておりこの期間中、
他のプロセッサP2が共用メモリから古くなったデータ
Dをアクセスし、そのキャッシュメモリからデータDを
読み取ることがあるからである。
つのデータプロセッサを有し、各データプロセッサは1
つのキャッシュメモリを有し、キャッシュメモリのすべ
てが共通バスで相互に連結(結合)されていると想定す
る。さらに、Aは共用メモリのみに現在記憶されている
データDのアドレスであると想定する。その後、例え
ば、一方のデータプロセッサP1が共用メモリからのそ
のアドレスAのデータDのコピーを得て、データDをデ
ータD′に変更し、そのプロセッサのキャッシュメモリ
にそのデータD′を記憶したと想定する。それから、他
方のデータプロセッサP2が、データDを読み取るた
め、共用メモリからデータDのコピーを得ると想定す
る。その結果、データコヒーレンスが害される。この理
由は、例えば、一方のプロセッサP1によるそのキャッ
シュメモリに対する読み取りアクセスにおいて、データ
D′が読み取られ、他方のプロセッサP2によるそのキ
ャッシュメモリに対する読み取りアクセスにおいて、デ
ータDが読み取られるからである。データコヒーレンス
の問題はノンライトスルーが用いられるときに、大きく
なる。この理由は、プロセッサP1のキャッシュメモリ
がある期間データD′を記憶し続けておりこの期間中、
他のプロセッサP2が共用メモリから古くなったデータ
Dをアクセスし、そのキャッシュメモリからデータDを
読み取ることがあるからである。
メモリハイアラーキを使用する業務用あるいは商用(コ
マーシャル)コンピュータシステムが、いくつか開発さ
れており、データコヒーレンスを備えているものがあ
る。UNIVAC 1 100/80シリーズのような1つのシステム
において、多重データプロセッサが単一の共用キャッシ
ュメモリを使用している。この技術の1つの問題点は、
単一の共用キャッシュメモリの帯域幅が多数のデータプ
ロセッサを支援(サポート)するのに十分ではないこと
である。さらに加えて、アクセス時間のより長い遅れが
発生する。何故なら、単一の共用キャッシュメモリはコ
ンピュータシステム内のデータプロセッサの全てに物理
的に接近することはできないからである。
マーシャル)コンピュータシステムが、いくつか開発さ
れており、データコヒーレンスを備えているものがあ
る。UNIVAC 1 100/80シリーズのような1つのシステム
において、多重データプロセッサが単一の共用キャッシ
ュメモリを使用している。この技術の1つの問題点は、
単一の共用キャッシュメモリの帯域幅が多数のデータプ
ロセッサを支援(サポート)するのに十分ではないこと
である。さらに加えて、アクセス時間のより長い遅れが
発生する。何故なら、単一の共用キャッシュメモリはコ
ンピュータシステム内のデータプロセッサの全てに物理
的に接近することはできないからである。
ニューヨーク市、アーモンクのIBM社により製造されたI
BM 3033シリーズのような業務用コンピュータシステム
の他のタイプの場合では、各データプロセッサのそれぞ
れ独自のキャッシュメモリを有している。あるプロセッ
サがそのプロセッサのキャッシュメモリ内のあるアドレ
スAのデータDに対して書き込みアクセスを行うときに
は、このプロセッサは他の全てのプロセッサにそのアド
レスAを同報通信する。もし、同じアドレスAが、これ
らの他のプロセッサの1つ若しくはそれ以上のキャッシ
ュメモリにあるならば、キャッシュメモリの対応データ
Dが無効化される。このタイプのコンピュータシステム
の欠点は、このような1つの書き込みアクセスが発生す
る度毎にバスを通じアドレスAを同報通信する必要があ
るので、バス使用率が増大することである。
BM 3033シリーズのような業務用コンピュータシステム
の他のタイプの場合では、各データプロセッサのそれぞ
れ独自のキャッシュメモリを有している。あるプロセッ
サがそのプロセッサのキャッシュメモリ内のあるアドレ
スAのデータDに対して書き込みアクセスを行うときに
は、このプロセッサは他の全てのプロセッサにそのアド
レスAを同報通信する。もし、同じアドレスAが、これ
らの他のプロセッサの1つ若しくはそれ以上のキャッシ
ュメモリにあるならば、キャッシュメモリの対応データ
Dが無効化される。このタイプのコンピュータシステム
の欠点は、このような1つの書き込みアクセスが発生す
る度毎にバスを通じアドレスAを同報通信する必要があ
るので、バス使用率が増大することである。
さらに、ハネウエルシリーズ66及びELXSI 6400シリーズ
のような業務用コンピュータシステムの他のタイプのも
のでは、データコヒーレンスの保証を企るためにソフト
ウェア制御が用いられている。セマフォア(semaphore)
若しくはジョブ待ち行列(job queue)といったような特
定データの多数のアドレスが非キャッシュ可能に指定さ
れ、共用メモリからのみアクセスされることができる。
ノンキャッシュブルデータを使用することによる不都合
な点の1つは、共用メモリ内のノンキャッシュブルデー
タをアクセスするプロセッサのアクセス時間が、相当に
増大することである。この技術の他の欠点は、コンピュ
ータシステム、特に、キャッシング機構がもはやソフト
ウェアに対して透過性がないと言うことである。
のような業務用コンピュータシステムの他のタイプのも
のでは、データコヒーレンスの保証を企るためにソフト
ウェア制御が用いられている。セマフォア(semaphore)
若しくはジョブ待ち行列(job queue)といったような特
定データの多数のアドレスが非キャッシュ可能に指定さ
れ、共用メモリからのみアクセスされることができる。
ノンキャッシュブルデータを使用することによる不都合
な点の1つは、共用メモリ内のノンキャッシュブルデー
タをアクセスするプロセッサのアクセス時間が、相当に
増大することである。この技術の他の欠点は、コンピュ
ータシステム、特に、キャッシング機構がもはやソフト
ウェアに対して透過性がないと言うことである。
データコヒーレンスの問題に対する他の概念的な解決策
が2つ提案されているが、それらのいずれも実際に開発
され、あるいは商品化されているとは信じられない。そ
の解決策の1つは、Censier氏およびFeautrier氏による
“A New Solution To Coherence Problems In Multicac
he Systems.(マルチキャッシュ・システムにおけるコ
ヒーレンス問題の新しい解決策)”IEEE Transactions
On Computers.Volume C-27.NO.12.December 1978の論文
におおまかに論じられている。この概念では、システム
の至る所で処理されているデータの個々のブロックのト
ラック(経路)を確保するためのフラグを共用メモリが
保持することで、データの非整合を防止している。使用
されているこれらのフラグはPRIVATE、PRESENT、および
MODIFIEDと名付けられ、次の特性を有している。
が2つ提案されているが、それらのいずれも実際に開発
され、あるいは商品化されているとは信じられない。そ
の解決策の1つは、Censier氏およびFeautrier氏による
“A New Solution To Coherence Problems In Multicac
he Systems.(マルチキャッシュ・システムにおけるコ
ヒーレンス問題の新しい解決策)”IEEE Transactions
On Computers.Volume C-27.NO.12.December 1978の論文
におおまかに論じられている。この概念では、システム
の至る所で処理されているデータの個々のブロックのト
ラック(経路)を確保するためのフラグを共用メモリが
保持することで、データの非整合を防止している。使用
されているこれらのフラグはPRIVATE、PRESENT、および
MODIFIEDと名付けられ、次の特性を有している。
(1)フラブPRESENTがデータDのブロックとキャッシュメ
モリK用に共用メモリにセットされるならば、データD
の有効コピーがキャッシュメモリKにセットされる。
モリK用に共用メモリにセットされるならば、データD
の有効コピーがキャッシュメモリKにセットされる。
(2)フラグMODIFIEDがデータDのブロック用に共用メモ
リにセットされるならば、データDの有効コピーがある
キャッシュメモリに記憶され、その有効コピーは共用メ
モリの最新の更新からそのキャッシュメモリ内で変更を
受ける。
リにセットされるならば、データDの有効コピーがある
キャッシュメモリに記憶され、その有効コピーは共用メ
モリの最新の更新からそのキャッシュメモリ内で変更を
受ける。
(3)フラグPRIVATEがデータDの有効ブロック用にキャッ
シュメモリKにセットされるならば、データDのコピー
は他のキャッシュメモリにはない。このことは、共用メ
モリ内のデータDに対してセットされたPRESENTフラグ
は正確に1つだけであることを意味している。
シュメモリKにセットされるならば、データDのコピー
は他のキャッシュメモリにはない。このことは、共用メ
モリ内のデータDに対してセットされたPRESENTフラグ
は正確に1つだけであることを意味している。
(4)フラグPRIVATEがデータDの有効ブロック用にキャッ
シュメモリKにセットされるならば、キャッシュメモリ
K内のデータDは共用メモリ内のデータDと全く同一と
なる。このことは、MODIFIEDがそのデータD用にリセッ
トされることを意味している。
シュメモリKにセットされるならば、キャッシュメモリ
K内のデータDは共用メモリ内のデータDと全く同一と
なる。このことは、MODIFIEDがそのデータD用にリセッ
トされることを意味している。
Censier氏とFeautrier氏の上記論文で述べられているよ
うに、上記の4つの特性は、移送(transition)時間を除
いて常に真であるというように、データアクセスアルゴ
リズムが定義されねばならないとされている。しかしな
がら、この例外はデータコヒーレンスの点で重大な問題
がある。すなわち、一定のデータDがある1つのプロセ
ッサに移送中である。つまり、バス上にあるときには、
このデータアクセスアルゴリズムが真である必要がない
とするならば、例えば、この同じデータDのコピーが、
他のプロセッサのキャッシュメモリに記憶されることが
でき、この他のプロセッサによってこの移送期間中に変
更されることがありうることになる。この結果、移送中
のデータDはすでに古くなるにもかかわらず、上記の1
つのプロセッサによってアクセスされることになる。さ
らに、他の問題点として、共有メモリが、データコヒー
レンスを維持するために、フラグを介して全てのデータ
のトラックを確保する必要があると、言うことである。
このアプローチは多数のプロセッサを持つコンピュータ
システムに対しては実行不可能となる。その理由は、中
央記憶位置(location)若しくは中央制御装置の操作、す
なわち、共用メモリの操作が必要とされ、その結果、シ
ステム性能が低下すると共に、中央制御機能を実行する
中央制御装置のハードウェアとアルゴリズムが相当な量
となり、かつ複雑となるからである。
うに、上記の4つの特性は、移送(transition)時間を除
いて常に真であるというように、データアクセスアルゴ
リズムが定義されねばならないとされている。しかしな
がら、この例外はデータコヒーレンスの点で重大な問題
がある。すなわち、一定のデータDがある1つのプロセ
ッサに移送中である。つまり、バス上にあるときには、
このデータアクセスアルゴリズムが真である必要がない
とするならば、例えば、この同じデータDのコピーが、
他のプロセッサのキャッシュメモリに記憶されることが
でき、この他のプロセッサによってこの移送期間中に変
更されることがありうることになる。この結果、移送中
のデータDはすでに古くなるにもかかわらず、上記の1
つのプロセッサによってアクセスされることになる。さ
らに、他の問題点として、共有メモリが、データコヒー
レンスを維持するために、フラグを介して全てのデータ
のトラックを確保する必要があると、言うことである。
このアプローチは多数のプロセッサを持つコンピュータ
システムに対しては実行不可能となる。その理由は、中
央記憶位置(location)若しくは中央制御装置の操作、す
なわち、共用メモリの操作が必要とされ、その結果、シ
ステム性能が低下すると共に、中央制御機能を実行する
中央制御装置のハードウェアとアルゴリズムが相当な量
となり、かつ複雑となるからである。
他の刊行物「James R. Goodman氏による“Using Cache
Memory To Reduce Processor-Memory Traffic,(処理装
置とメモリ間の通信量を減少するキャッシュメモリの使
用)”Association for Computing Machinery,Tenth An
nual Symposium on Computer Architecture,June,198
3,」には、メモリハイアラーキとデータコヒーレンスス
キーマ(scheme,構造定義体)を有する多重プロセッサ
コンピュータシステムの概念がおおまかに記載されてい
る。このGoodman氏の論文は本発明の背景目的と本発明
自体の説明の一助とはなり得ても、本発明の先行技術と
はなり得ないと確信する。Goodman氏の論文のアプロー
チは前述のCensier氏およびFeautrier氏の論文と多くの
点で共通性を有している。だが、Goodman氏の論文で
は、データコヒーレンスを達成するための決定的な情報
が、それがすでに存在するキャッシュメモリ間に分配可
能となっている。さらに、Goodman氏の論文では、デー
タコヒーレンスとバス帯域幅の問題を解決する「1度だ
けの書込み(write-once)」と名付けられた新しいスキ
ーマを提案している。
Memory To Reduce Processor-Memory Traffic,(処理装
置とメモリ間の通信量を減少するキャッシュメモリの使
用)”Association for Computing Machinery,Tenth An
nual Symposium on Computer Architecture,June,198
3,」には、メモリハイアラーキとデータコヒーレンスス
キーマ(scheme,構造定義体)を有する多重プロセッサ
コンピュータシステムの概念がおおまかに記載されてい
る。このGoodman氏の論文は本発明の背景目的と本発明
自体の説明の一助とはなり得ても、本発明の先行技術と
はなり得ないと確信する。Goodman氏の論文のアプロー
チは前述のCensier氏およびFeautrier氏の論文と多くの
点で共通性を有している。だが、Goodman氏の論文で
は、データコヒーレンスを達成するための決定的な情報
が、それがすでに存在するキャッシュメモリ間に分配可
能となっている。さらに、Goodman氏の論文では、デー
タコヒーレンスとバス帯域幅の問題を解決する「1度だ
けの書込み(write-once)」と名付けられた新しいスキ
ーマを提案している。
Gooman氏の論文では、関連データDの4つの状態(1)INV
ALID,(2)VALID,(3)RESERVEDおよび(4)DIRTYの1つの状
態を定める2つのビットが、データDのアドレスに加え
て、キャッシュメモリ内のデータDの各ブロックと関連
づけられている。この2つのビットがINVALIDであるな
ら、ブロックにはデータDが存在しない。VALIDの場合
には、ブロック内には対応プロセッサにより共用メモリ
から読み出されているがまだ変更はされていないデータ
Dが存在する。RESERVEDの場合には、ブロック内のデー
タDは、データDがキャッシュメモリに格納されてか
ら、プロセッサにより正確に一回だけローカル(局所
的)に変更されていて、その変更は共用メモリに伝送さ
れる。DIRTYの場合には、ブロック内のデータDは、デ
ータDがキャシュメモリに記憶されてから、プロセッサ
により複数回変更されているが、最新の変更は共用メモ
リに伝送されていない。更にまた、キャッシュメモリの
アドレスの追加のコピーが与えられたプロセッサに入
り、かつ利用される。一方のこのようなコピーは、ある
プロセッサによるキャッシュメモリに対するアクセスを
支援するために、従来の方法で使用され、他方のこのよ
うなコピーは、その他のプロセッサによるバスを通じて
の共用メモリに対する全てのアクセスをモニター(監
視)するために使用される。
ALID,(2)VALID,(3)RESERVEDおよび(4)DIRTYの1つの状
態を定める2つのビットが、データDのアドレスに加え
て、キャッシュメモリ内のデータDの各ブロックと関連
づけられている。この2つのビットがINVALIDであるな
ら、ブロックにはデータDが存在しない。VALIDの場合
には、ブロック内には対応プロセッサにより共用メモリ
から読み出されているがまだ変更はされていないデータ
Dが存在する。RESERVEDの場合には、ブロック内のデー
タDは、データDがキャッシュメモリに格納されてか
ら、プロセッサにより正確に一回だけローカル(局所
的)に変更されていて、その変更は共用メモリに伝送さ
れる。DIRTYの場合には、ブロック内のデータDは、デ
ータDがキャシュメモリに記憶されてから、プロセッサ
により複数回変更されているが、最新の変更は共用メモ
リに伝送されていない。更にまた、キャッシュメモリの
アドレスの追加のコピーが与えられたプロセッサに入
り、かつ利用される。一方のこのようなコピーは、ある
プロセッサによるキャッシュメモリに対するアクセスを
支援するために、従来の方法で使用され、他方のこのよ
うなコピーは、その他のプロセッサによるバスを通じて
の共用メモリに対する全てのアクセスをモニター(監
視)するために使用される。
他方のプロセッサによる共用メモリに対する各アセセス
のために、一方のプロセッサは、バス上のアドレスをモ
ニターしてそのアドレスが他のアドレスコピー中にある
か否かをチェックする。他方のプロセッサによる共用メ
モリに対する書き込みアクセスの際に、一方のプロセッ
サによって一致が見い出されたならば、キャッシュメモ
リ内の対応するデータは一方のプロセッサによりINVALI
Dと印を付けられる。もし、他方のプロセッサによる共
用メモリに対する読み取りアクセスの際に、一方のプロ
セッサにより一致が見い出されたときには、一方のプロ
セッサによりデータが変更されていないかぎりは、即
ち、その状態がRESERVED若しくはDIRTYでないかぎり
は、一方のプロセッサによって何も行われない。もし、
そのように変更されて、データがそのときRESERVEDであ
るなら、一方のプロセッサにより状態ビットはVALIDに
変更される。もし、それがDIRTYであるならば、一方の
プロセッサは共用メモリがデータを要求している他のプ
ロセッサに対してデータを供給するのを禁止する。つい
で、一方のプロセッサは他方のプロセッサに対して要求
されたデータを供給し、その後このデータを共用メモリ
に書き込む。さらに、状態ビットは一方のプロセッサに
よりVALIDに変えられる。
のために、一方のプロセッサは、バス上のアドレスをモ
ニターしてそのアドレスが他のアドレスコピー中にある
か否かをチェックする。他方のプロセッサによる共用メ
モリに対する書き込みアクセスの際に、一方のプロセッ
サによって一致が見い出されたならば、キャッシュメモ
リ内の対応するデータは一方のプロセッサによりINVALI
Dと印を付けられる。もし、他方のプロセッサによる共
用メモリに対する読み取りアクセスの際に、一方のプロ
セッサにより一致が見い出されたときには、一方のプロ
セッサによりデータが変更されていないかぎりは、即
ち、その状態がRESERVED若しくはDIRTYでないかぎり
は、一方のプロセッサによって何も行われない。もし、
そのように変更されて、データがそのときRESERVEDであ
るなら、一方のプロセッサにより状態ビットはVALIDに
変更される。もし、それがDIRTYであるならば、一方の
プロセッサは共用メモリがデータを要求している他のプ
ロセッサに対してデータを供給するのを禁止する。つい
で、一方のプロセッサは他方のプロセッサに対して要求
されたデータを供給し、その後このデータを共用メモリ
に書き込む。さらに、状態ビットは一方のプロセッサに
よりVALIDに変えられる。
Goodman氏の論文によれば、データコヒーレンスは次の
ようにして達成される。まず、共用メモリに対する書き
込みアクセスのために、バスを通じて他のプロセッサが
書き込みするときに、この他のプロセッサのみが共用メ
モリを除いて、データのコピーを有することを保証され
る。その理由は、一方のプロセッサ(なおまたシステム
内の他のすべてのプロセッサも)がデータをINVALIDに
印付けし、他方のプロセッサがデータをRESERVEDに印付
けするからである。その後、このデータに対する他の書
き込みアクセスが発生すると、かかる他のプロセッサは
フラグをRESERVEDからDIRTYに変える。
ようにして達成される。まず、共用メモリに対する書き
込みアクセスのために、バスを通じて他のプロセッサが
書き込みするときに、この他のプロセッサのみが共用メ
モリを除いて、データのコピーを有することを保証され
る。その理由は、一方のプロセッサ(なおまたシステム
内の他のすべてのプロセッサも)がデータをINVALIDに
印付けし、他方のプロセッサがデータをRESERVEDに印付
けするからである。その後、このデータに対する他の書
き込みアクセスが発生すると、かかる他のプロセッサは
フラグをRESERVEDからDIRTYに変える。
このように、Goodman氏の論文によれば、データコヒー
レンスを乱すこと(violation)が発生可能であるこれら
のケース、即ち、書き込みアクセスが与えられたアドレ
スに対してなされ、これにより、データコヒーレンス関
数を割当てる時はいつでも、データコヒーレンスを維持
することに、各プロセッサは責任を負っている。
レンスを乱すこと(violation)が発生可能であるこれら
のケース、即ち、書き込みアクセスが与えられたアドレ
スに対してなされ、これにより、データコヒーレンス関
数を割当てる時はいつでも、データコヒーレンスを維持
することに、各プロセッサは責任を負っている。
しかしながら、Goodman氏の論文での1つの問題点は次
の点にある。即ち、与えられたデータDを有するプロセ
ッサがそのデータを1回変更することができるだけであ
り、その変更データを共用メモリに必ず戻して書き込ま
なければならない(一度だけの書き込み)ことにある。
これにより、バス使用率が増大することになる。さらに
加えて、Goodman氏の論文は、概念論であるので、実用
レベルに、即ち十分に開発されたコンピュータシステム
において種々異なった条件下で発生するデータコヒーレ
ンスの問題を解決しない。
の点にある。即ち、与えられたデータDを有するプロセ
ッサがそのデータを1回変更することができるだけであ
り、その変更データを共用メモリに必ず戻して書き込ま
なければならない(一度だけの書き込み)ことにある。
これにより、バス使用率が増大することになる。さらに
加えて、Goodman氏の論文は、概念論であるので、実用
レベルに、即ち十分に開発されたコンピュータシステム
において種々異なった条件下で発生するデータコヒーレ
ンスの問題を解決しない。
本発明は、上述の点に鑑みてなされたもので、その目的
はメモリハイアラーキを有し、データコヒーレンスを備
えた密結合コンピュータシステムを提供することにあ
る。
はメモリハイアラーキを有し、データコヒーレンスを備
えた密結合コンピュータシステムを提供することにあ
る。
上記の本発明の目的は、複数のデータブロック内へ分配
されたデータを処理し、これらのデータのブロックの各
々ブロックはアドレスで識別される密結合コンピュータ
システムにおいて、下記の構成を持つ密結合コンピュー
タシステムを用いることにより達成される。即ち、本発
明の密結合コンピュータシステムは、データブロックを
記憶するためのアドレス可能主メモリ手段と、データブ
ロックをアクセスするための複数プロセッサ(演算処
理)手段とを有し、上記プロセッサ手段の各々は多数の
データブロックを記憶するためのアドレス可能キャッシ
ュメモリ(高速緩衝記憶)手段を有しており、上記複数
のプロセッサ手段を上記アドレス可能主メモリ手段に相
互結合し、上記複数のプロセッサ手段の各々を上記複数
のプロセッサ手段の中の他のプロセッサに相互結合する
ためのバス(母線)手段とを備え、かつ上記アドレス可
能主メモリ手段と上記複数のプロセッサ手段のいずれか
一つのみがデータブロックのアドレスの現在の所有者
(オーナー)であり、上記現在の所有者は所有したアド
レスに対する正データを有し、さらにアドレスの所有権
は上記アドレス可能主メモリ手段及び上記複数のプロセ
ッサ手段間で動的に変更可能であるという構成からなる
ことを特徴とする。
されたデータを処理し、これらのデータのブロックの各
々ブロックはアドレスで識別される密結合コンピュータ
システムにおいて、下記の構成を持つ密結合コンピュー
タシステムを用いることにより達成される。即ち、本発
明の密結合コンピュータシステムは、データブロックを
記憶するためのアドレス可能主メモリ手段と、データブ
ロックをアクセスするための複数プロセッサ(演算処
理)手段とを有し、上記プロセッサ手段の各々は多数の
データブロックを記憶するためのアドレス可能キャッシ
ュメモリ(高速緩衝記憶)手段を有しており、上記複数
のプロセッサ手段を上記アドレス可能主メモリ手段に相
互結合し、上記複数のプロセッサ手段の各々を上記複数
のプロセッサ手段の中の他のプロセッサに相互結合する
ためのバス(母線)手段とを備え、かつ上記アドレス可
能主メモリ手段と上記複数のプロセッサ手段のいずれか
一つのみがデータブロックのアドレスの現在の所有者
(オーナー)であり、上記現在の所有者は所有したアド
レスに対する正データを有し、さらにアドレスの所有権
は上記アドレス可能主メモリ手段及び上記複数のプロセ
ッサ手段間で動的に変更可能であるという構成からなる
ことを特徴とする。
さらに、各データブロックは、対応するデータブロック
の使用モード即ち、PUBLIC(パブリック)若しくはPRIV
ATE(プライベート)を識別する使用モード情報に関連
付けられている。もし使用モードがPUBLICであるなら
ば、(1)上記アドレス可能主メモリ手段は対応するアド
レスの現在の所有者であり、(2)上記複数のプロセッサ
手段はそれぞれ現在所有しているアドレスのデータの有
効コピーを上記アドレス可能キャッシュメモリ手段に記
憶させることが可能で、(3)上記アドレス可能主メモリ
手段及び上記複数のプロセッサ手段は現在所有している
アドレスの対応ブロックのデータを変更することはでき
ないという特性がある。もし使用モードがPRIVATEなら
ば、(1)アドレスの現在の所有者はデータを変更でき、
(2)その現在の所有者以外の上記アドレス可能主メモリ
手段及び上記複数のプロセッサ手段は、現在の所有者の
所有するアドレスのデータの有効コピーを有し得ないと
いう特性がある。
の使用モード即ち、PUBLIC(パブリック)若しくはPRIV
ATE(プライベート)を識別する使用モード情報に関連
付けられている。もし使用モードがPUBLICであるなら
ば、(1)上記アドレス可能主メモリ手段は対応するアド
レスの現在の所有者であり、(2)上記複数のプロセッサ
手段はそれぞれ現在所有しているアドレスのデータの有
効コピーを上記アドレス可能キャッシュメモリ手段に記
憶させることが可能で、(3)上記アドレス可能主メモリ
手段及び上記複数のプロセッサ手段は現在所有している
アドレスの対応ブロックのデータを変更することはでき
ないという特性がある。もし使用モードがPRIVATEなら
ば、(1)アドレスの現在の所有者はデータを変更でき、
(2)その現在の所有者以外の上記アドレス可能主メモリ
手段及び上記複数のプロセッサ手段は、現在の所有者の
所有するアドレスのデータの有効コピーを有し得ないと
いう特性がある。
これらの所有権及び使用特性に基づいて、本発明の密結
合コンピュータシステムは、常時データコヒーレンスを
備え、PRIVATEであるデータは与えられたプロセッサ手
段により、多数回、かかるデータをアドレス可能主メモ
リ手段に戻して書き込む必要なく、変更することができ
る。さらに、データコヒーレンス問題に対するこの解決
策が、1つの中央制御装置若しくは他の装置に集中され
るのではなく、密結合コンピュータシステムの全般にわ
たって分配される。
合コンピュータシステムは、常時データコヒーレンスを
備え、PRIVATEであるデータは与えられたプロセッサ手
段により、多数回、かかるデータをアドレス可能主メモ
リ手段に戻して書き込む必要なく、変更することができ
る。さらに、データコヒーレンス問題に対するこの解決
策が、1つの中央制御装置若しくは他の装置に集中され
るのではなく、密結合コンピュータシステムの全般にわ
たって分配される。
上記目的を果たすためのさらに他の形態においては、本
発明のシステムはデータのブロックを記憶するためのア
ドレス可能主メモリ手段とデータを処理するための複数
プロセッサ手段との間で複数のバストランザクションを
支援するための1つのバスを包含し、上記複数のプロセ
ッサ手段の各々はデータの多数のブロックを記憶するた
めのキャッシュメモリ手段を有し、上記アドレス可能主
メモリ手段及び上記複数のプロセッサ手段の一つ、若し
くはそれ以上が上記バスに接続可能であり、データの各
ブロックは1つのアドレス及びデータについてなすこと
が可能である使用形態を識別するPUBLIC、又はPRIVATE
の使用モードとに関連付けられており、上記バスは複数
のバストランザクションを識別するコマンドデータを運
び、このコマンドデータは、データを獲得して読み取る
ためのバストランザクションであるREAD REQUEST PUBLI
C(読取り要求パブリック)と、アドレスの所有権を獲
得しデータを変更するためのバストランザクションであ
るREAD REQUEST PRIVATE(読取要求プライベート)と、
READ REQUEST PUBLIC若しくはREAD REQUEST PRIVATEに
応答するためのバストランザクションであるREAD RESPO
NE(読取り応答)と、変更されたデータとアドレスの所
有権を上記アドレス可能主メモリ手段へ移すためのバス
トランザクションであるWRITE MODIFIED(書き込み手
段)と、アドレスの所有権をアドレス可能主メモリ手段
へ移すためのバストランザクションであるWRITE UNMODI
FIED(書き込み無変更)とからなる。
発明のシステムはデータのブロックを記憶するためのア
ドレス可能主メモリ手段とデータを処理するための複数
プロセッサ手段との間で複数のバストランザクションを
支援するための1つのバスを包含し、上記複数のプロセ
ッサ手段の各々はデータの多数のブロックを記憶するた
めのキャッシュメモリ手段を有し、上記アドレス可能主
メモリ手段及び上記複数のプロセッサ手段の一つ、若し
くはそれ以上が上記バスに接続可能であり、データの各
ブロックは1つのアドレス及びデータについてなすこと
が可能である使用形態を識別するPUBLIC、又はPRIVATE
の使用モードとに関連付けられており、上記バスは複数
のバストランザクションを識別するコマンドデータを運
び、このコマンドデータは、データを獲得して読み取る
ためのバストランザクションであるREAD REQUEST PUBLI
C(読取り要求パブリック)と、アドレスの所有権を獲
得しデータを変更するためのバストランザクションであ
るREAD REQUEST PRIVATE(読取要求プライベート)と、
READ REQUEST PUBLIC若しくはREAD REQUEST PRIVATEに
応答するためのバストランザクションであるREAD RESPO
NE(読取り応答)と、変更されたデータとアドレスの所
有権を上記アドレス可能主メモリ手段へ移すためのバス
トランザクションであるWRITE MODIFIED(書き込み手
段)と、アドレスの所有権をアドレス可能主メモリ手段
へ移すためのバストランザクションであるWRITE UNMODI
FIED(書き込み無変更)とからなる。
上記コマンドデータWRITE NEW DATAは、新データを書き
込みして、アドレスの所有権をアドレス可能主メモリ手
段に移すためのバストランザクションであるWRITE NEW
DATA(新データ書き込み)を更に包含してもよい。
込みして、アドレスの所有権をアドレス可能主メモリ手
段に移すためのバストランザクションであるWRITE NEW
DATA(新データ書き込み)を更に包含してもよい。
上記目的を果たす他の形態では、本発明のシステムは、
データのブロックを記憶するためのアドレス可能主メモ
リ手段と、固有のアドレスで識別されているデータの各
ブロックと、少なくとも1つの他のプロセッサと、複数
のバストランザクションを支援して各プロセッサを他の
1つのプロセッサに相互に結合し、各プロセッサを上記
アドレス可能主メモリ手段に相互に結合するバスとを有
するコンピュータシステムに接続する1つのプロセッサ
を更に具備し、このプロセッサは上記データを多数のブ
ロック及びこれらのデータブロックのアドレスを記憶す
るためのアドレス可能キャッシュメモリ手段と、データ
の読み取り及び書き込みのために上記アドレス可能キャ
ッシュメモリ手段をアクセスするためのプロセッササブ
システム手段と、バスインターフェース手段と、マイク
ロエンジン手段とを有し、上記アドレス可能キャッシュ
メモリ手段はキャッシュヒット(成功)若しくはキャッ
シュミス(誤り)を識別するキャッシュ状態信号を発生
し、上記バスインターフェース手段は上記アドレス可能
キャッシュメモリ手段及び上記バスとの間でデータのブ
ロックを結合し、さらに上記バス上の上記複数のバスト
ランザクションをモニタして上記複数のバストランザク
ションを識別するバスモニタ状態信号を発生する手段を
含み、上記マイクロエンジン手段は上記キャッシュミス
状態信号に応答して、あるいは上記バスモニタ状態信号
に応答して、上記複数のバストランザクションを個別に
開始させる。
データのブロックを記憶するためのアドレス可能主メモ
リ手段と、固有のアドレスで識別されているデータの各
ブロックと、少なくとも1つの他のプロセッサと、複数
のバストランザクションを支援して各プロセッサを他の
1つのプロセッサに相互に結合し、各プロセッサを上記
アドレス可能主メモリ手段に相互に結合するバスとを有
するコンピュータシステムに接続する1つのプロセッサ
を更に具備し、このプロセッサは上記データを多数のブ
ロック及びこれらのデータブロックのアドレスを記憶す
るためのアドレス可能キャッシュメモリ手段と、データ
の読み取り及び書き込みのために上記アドレス可能キャ
ッシュメモリ手段をアクセスするためのプロセッササブ
システム手段と、バスインターフェース手段と、マイク
ロエンジン手段とを有し、上記アドレス可能キャッシュ
メモリ手段はキャッシュヒット(成功)若しくはキャッ
シュミス(誤り)を識別するキャッシュ状態信号を発生
し、上記バスインターフェース手段は上記アドレス可能
キャッシュメモリ手段及び上記バスとの間でデータのブ
ロックを結合し、さらに上記バス上の上記複数のバスト
ランザクションをモニタして上記複数のバストランザク
ションを識別するバスモニタ状態信号を発生する手段を
含み、上記マイクロエンジン手段は上記キャッシュミス
状態信号に応答して、あるいは上記バスモニタ状態信号
に応答して、上記複数のバストランザクションを個別に
開始させる。
なお、上述のように、本発明では、「所有者(owner)」
および「所有権(ownership)」を用いてデータコヒーレ
ントの問題を解決していることを特徴としている。そこ
で、本発明の理解をさらに容易にするために、この所有
者、所有権についての要点を以下に述べる。本発明はデ
ータコヒーレント解決を有する密結合コンピュータシス
テムに関するものである。各々のデータブロックは主メ
モリまたは複数のプロセッサの1つのいずれかの単一エ
ントリにより所有されるものである。また所有権はダイ
ナミックに移すことが可能となっっている。本発明のシ
ステムは分散制御に利用され、データブロックの所有権
をダイナミックに変更することを許容している。データ
ブロックの所有権は主メモリとプロセッサ(単数)間で
ダイナミックに交換できる。データブロックの所有権
は、主メモリまたはプロセッサ(単数)が所有アドレス
に対して正データ(correct data,即ちコピーでないデ
ータ)をもっていることを意味している。所有権はアド
レスの状態に関係している。どのような場合において
も、本システムの全体を通して1つの物理アドレスの
「所有者」(所有権を有しているもの)はたった1つで
ある。共用メモリまたはプロセッサのいずれか1つがそ
の物理アドレスの「所有者」となる。その1つの所有者
のみが所有の物理アドレスについて正データ即ち最新デ
ータを有することとなる。
および「所有権(ownership)」を用いてデータコヒーレ
ントの問題を解決していることを特徴としている。そこ
で、本発明の理解をさらに容易にするために、この所有
者、所有権についての要点を以下に述べる。本発明はデ
ータコヒーレント解決を有する密結合コンピュータシス
テムに関するものである。各々のデータブロックは主メ
モリまたは複数のプロセッサの1つのいずれかの単一エ
ントリにより所有されるものである。また所有権はダイ
ナミックに移すことが可能となっっている。本発明のシ
ステムは分散制御に利用され、データブロックの所有権
をダイナミックに変更することを許容している。データ
ブロックの所有権は主メモリとプロセッサ(単数)間で
ダイナミックに交換できる。データブロックの所有権
は、主メモリまたはプロセッサ(単数)が所有アドレス
に対して正データ(correct data,即ちコピーでないデ
ータ)をもっていることを意味している。所有権はアド
レスの状態に関係している。どのような場合において
も、本システムの全体を通して1つの物理アドレスの
「所有者」(所有権を有しているもの)はたった1つで
ある。共用メモリまたはプロセッサのいずれか1つがそ
の物理アドレスの「所有者」となる。その1つの所有者
のみが所有の物理アドレスについて正データ即ち最新デ
ータを有することとなる。
本発明の密結合コンピュータシステムは、常時データコ
ヒーレンスを備え、PRIVATEであるデータは与えられた
プロセッサ手段により、多数回、かかるデータをアドレ
ス可能主メモリ手段に戻して書き込む必要なく、変更す
ることができる。さらに、データコヒーレンス問題に対
するこの解決策が、1つの中央制御装置若しくは他の装
置に集中されるのではなく、密結合コンピュータシステ
ムの全般にわたって分配される。
ヒーレンスを備え、PRIVATEであるデータは与えられた
プロセッサ手段により、多数回、かかるデータをアドレ
ス可能主メモリ手段に戻して書き込む必要なく、変更す
ることができる。さらに、データコヒーレンス問題に対
するこの解決策が、1つの中央制御装置若しくは他の装
置に集中されるのではなく、密結合コンピュータシステ
ムの全般にわたって分配される。
以下に、図面を参照して本発明の実施例を詳細に説明す
る。
る。
なお、以下に述べる図で添付図面上では、共用メモリ(s
hared memory)はシェアドメモリと、所有者(owner)はオ
ーナと便宜上仮名書きで図示している。
hared memory)はシェアドメモリと、所有者(owner)はオ
ーナと便宜上仮名書きで図示している。
第1図は第2図等に符号Bで総括的に示したデータDの
ブロック内に分配されたデータを処理するための本発明
の一実施例における密結合コンピュータシステム10のア
ーキテクチャを模式的に示す。システム10はアドレス可
能主メモリ手段12と複数のプロセッサ手段14とを有す
る。アドレス可能主メモリ手段12はブロックBを記憶
するためのものであり、複数のプロセッサ手段14は、後
で述べるように、本システム10内のアドレス可能主メモ
リ手段12若しくはその他のどこかに記憶されたブロック
Bをアクセスするためのものである。バス手段16は複数
のプロセッサ手段14とアドレス可能主メモリ手段12とを
相互結合し、複数のプロセッサ手段14の各一つをそれぞ
れの他のプロセッサ手段に符号18で総括的に示したそれ
ぞれのパス(経路)を介して相互結合する。複数のプロ
セッサ手段14の各々は符号20で総括的に示したアドレス
可能2次メモリ手段を有する。アドレス可能2次メモリ
手段20は本システム10で処理される多数のブロックBを
記憶するためのものである。
ブロック内に分配されたデータを処理するための本発明
の一実施例における密結合コンピュータシステム10のア
ーキテクチャを模式的に示す。システム10はアドレス可
能主メモリ手段12と複数のプロセッサ手段14とを有す
る。アドレス可能主メモリ手段12はブロックBを記憶
するためのものであり、複数のプロセッサ手段14は、後
で述べるように、本システム10内のアドレス可能主メモ
リ手段12若しくはその他のどこかに記憶されたブロック
Bをアクセスするためのものである。バス手段16は複数
のプロセッサ手段14とアドレス可能主メモリ手段12とを
相互結合し、複数のプロセッサ手段14の各一つをそれぞ
れの他のプロセッサ手段に符号18で総括的に示したそれ
ぞれのパス(経路)を介して相互結合する。複数のプロ
セッサ手段14の各々は符号20で総括的に示したアドレス
可能2次メモリ手段を有する。アドレス可能2次メモリ
手段20は本システム10で処理される多数のブロックBを
記憶するためのものである。
本発明の原理はいかようのタイプのデータ処理システム
にも適用されるが、本例のシステムは密結合コンピュー
タシステム10として説明することとする。従って、上記
単一のアドレス可能主メモリ手段12は単一の主若しくは
共用メモリSMを1つの主メモリコントローラMMCと共に
包含する。共用メモリSMは複数のプロセッサ手段14によ
り共用される。主メモリコントローラMMCは共用メモリS
Mに対するアクセスを制御する。複数のプロセッサ手段1
4は複数の汎用プロセッサGPP、例えばプロセッサGPP0-G
PPN-1であることが好ましい。ここでNは汎用プロセッ
サGPPの個数である。2次メモリ手段20は好ましくはキ
ャッシュメモリCMであり、例えば、図示のキャッシュメ
モリCM0-CMN-1はそれぞれそこに記憶されたデータに対
して迅速なアクセスを与える。バス手段16は1つのいわ
ゆる拡張バス22を構成し、以下に述べるように、この拡
張バス22は種々のバストランザクション及び信号プロト
コルを支援する。バス22は以下の意味で拡張バスとなっ
ている。即ち、コンピュータシステム10は少なくとも2
つのプロセッサからN個までの追加プロセッサGPPSを支
援する。そして、これらのプロセッサGPPSはバス22に結
合されたコンピュータシステム10のデータ処理能力を拡
張することができる。図示のように、そのため、汎用プ
ロセッサGPP0-GPPN-1はそれぞれのパス180-18N-1を通じ
てバス22に結合され、一方アドレス可能主メモリ手段12
はパス18MMを通じてバス22に結合されている。
にも適用されるが、本例のシステムは密結合コンピュー
タシステム10として説明することとする。従って、上記
単一のアドレス可能主メモリ手段12は単一の主若しくは
共用メモリSMを1つの主メモリコントローラMMCと共に
包含する。共用メモリSMは複数のプロセッサ手段14によ
り共用される。主メモリコントローラMMCは共用メモリS
Mに対するアクセスを制御する。複数のプロセッサ手段1
4は複数の汎用プロセッサGPP、例えばプロセッサGPP0-G
PPN-1であることが好ましい。ここでNは汎用プロセッ
サGPPの個数である。2次メモリ手段20は好ましくはキ
ャッシュメモリCMであり、例えば、図示のキャッシュメ
モリCM0-CMN-1はそれぞれそこに記憶されたデータに対
して迅速なアクセスを与える。バス手段16は1つのいわ
ゆる拡張バス22を構成し、以下に述べるように、この拡
張バス22は種々のバストランザクション及び信号プロト
コルを支援する。バス22は以下の意味で拡張バスとなっ
ている。即ち、コンピュータシステム10は少なくとも2
つのプロセッサからN個までの追加プロセッサGPPSを支
援する。そして、これらのプロセッサGPPSはバス22に結
合されたコンピュータシステム10のデータ処理能力を拡
張することができる。図示のように、そのため、汎用プ
ロセッサGPP0-GPPN-1はそれぞれのパス180-18N-1を通じ
てバス22に結合され、一方アドレス可能主メモリ手段12
はパス18MMを通じてバス22に結合されている。
コンピュータシステム10はまた、複数の汎用プロセッサ
GPPに加えて、他のタイプのプロセッサ手段24を包含す
ることができる。このプロセッサ手段24はすくなくとも
1つの入出力(I/0)プロセッサ26を包含しており、この
プロセッサ26はパス18I/0を通じてバス22に結合され、
共用メモリSMに新データを記憶するのに用いられる。
GPPに加えて、他のタイプのプロセッサ手段24を包含す
ることができる。このプロセッサ手段24はすくなくとも
1つの入出力(I/0)プロセッサ26を包含しており、この
プロセッサ26はパス18I/0を通じてバス22に結合され、
共用メモリSMに新データを記憶するのに用いられる。
第2図はデータDの典型的なブロックBを包含し、シス
テム10全体にわたって処理される情報を示す。一例とし
て、第2図に示すように、ブロックBのデータDは、4
つのデータワードDW0-DW3を有するカッド語(quadwor
d;通例16バイトで1ワード)QWとして構成され、コン
ピュータシステム10のほうぼうに転送される。このデー
タワードDW0-DW3の各々は、例えば32ビットで構成する
ことができる。
テム10全体にわたって処理される情報を示す。一例とし
て、第2図に示すように、ブロックBのデータDは、4
つのデータワードDW0-DW3を有するカッド語(quadwor
d;通例16バイトで1ワード)QWとして構成され、コン
ピュータシステム10のほうぼうに転送される。このデー
タワードDW0-DW3の各々は、例えば32ビットで構成する
ことができる。
アドレスタグATは各ブロックBと関連付けられている
が、必ずしもシステム10内を各ブロックBといっしょに
転送される必要はない。このアドレスタグATはデータD
の固有物理アドレスPAとフラグフィールド(標識欄)FF
とからなる。
が、必ずしもシステム10内を各ブロックBといっしょに
転送される必要はない。このアドレスタグATはデータD
の固有物理アドレスPAとフラグフィールド(標識欄)FF
とからなる。
フラグフィールドFFは1つのブロックBについて3個の
フラグを有している。これらのフラグは有効フラグV、
変更フラグM、および使用モード(usage mode)フグUで
ある。有効フラグVは、このフラグがセット(VALID;
有効)されているときは、ブロックBが対応する物理ア
ドレスPAと関係付けられたデータDを有していることを
示している。有効フラグVは、このフラグがリセット
(INVALID;無効)されるときは、ブロックBのデータ
Dが未定義であることを示している。変更フラグMは、
セット(MODIFIED;変更)されているときはブロックB
のデータDがキャッシュメモリCMに記憶される前に、1
つの対応するプロセッサGPPによりすでに書き込みがな
されていることを示している。また、変更フラグMはリ
セット(UNMODIFIED;無変更)されているときは、デー
タに対しそのような書き込みがされていないことを示し
ている。
フラグを有している。これらのフラグは有効フラグV、
変更フラグM、および使用モード(usage mode)フグUで
ある。有効フラグVは、このフラグがセット(VALID;
有効)されているときは、ブロックBが対応する物理ア
ドレスPAと関係付けられたデータDを有していることを
示している。有効フラグVは、このフラグがリセット
(INVALID;無効)されるときは、ブロックBのデータ
Dが未定義であることを示している。変更フラグMは、
セット(MODIFIED;変更)されているときはブロックB
のデータDがキャッシュメモリCMに記憶される前に、1
つの対応するプロセッサGPPによりすでに書き込みがな
されていることを示している。また、変更フラグMはリ
セット(UNMODIFIED;無変更)されているときは、デー
タに対しそのような書き込みがされていないことを示し
ている。
使用モードフラグUは、リセットされると、対応する物
理アドレスPAがPUBLIC(パブリック)であることを示
し、そしてセットされると、対応する物理アドレスPAが
PRIVATE(プライベート)であることを示す。後で述べ
るが、もし、物理アドレスPAがキャッシュメモリCM0-CM
N-1に記憶されていて、PUBLICであるならば、対応プロ
セッサGPP0-GPPN-1が関連データDに読み取りアクセス
のみを行うことを示す。もし、物理アドレスPAがキャッ
シュメモリCM0-CMN-1に記憶されていて、PRIVATEである
ならば、対応プロセッサGPP0-GPPN-1が関連データDに
対して読み取りアクセス及び書き込みアクセスを行う。
理アドレスPAがPUBLIC(パブリック)であることを示
し、そしてセットされると、対応する物理アドレスPAが
PRIVATE(プライベート)であることを示す。後で述べ
るが、もし、物理アドレスPAがキャッシュメモリCM0-CM
N-1に記憶されていて、PUBLICであるならば、対応プロ
セッサGPP0-GPPN-1が関連データDに読み取りアクセス
のみを行うことを示す。もし、物理アドレスPAがキャッ
シュメモリCM0-CMN-1に記憶されていて、PRIVATEである
ならば、対応プロセッサGPP0-GPPN-1が関連データDに
対して読み取りアクセス及び書き込みアクセスを行う。
また、後で述べるように、共用メモリSMは好ましくはデ
ータD及び対応する使用モードフラグUを記憶し、一
方、各キャッシュメモリCMは第2図に示すような全体の
アドレスタグAT及びブロックBを記憶する。
ータD及び対応する使用モードフラグUを記憶し、一
方、各キャッシュメモリCMは第2図に示すような全体の
アドレスタグAT及びブロックBを記憶する。
コンピュータシステム10は物理アドレスPAの所有権の原
理に基づいてデータコヒーレンスを提供する。いかなる
場合も、コンピュータシステム10の全体について1つの
物理アドレスPAの所有者はたった一つだけである。すな
わち、1つの共用メモリSM若しくは複数のプロセッサGP
P0-GPPN-1の1つのいずれか1つがその物理アドレスPA
の所有者である。さらにまた、ただ一つの所有者は所有
した物理アドレスPAに対する正の即ち最新のデータDを
有数。そして、物理アドレスPAの所有権は共用メモリSM
及び汎用プロセッサGPP0-GPPN-1間で動的に変更可能で
ある。それ故に、当然のこととして、物理アドレスPAの
所有者は常にそのアドレスPAに対するデータDの現在の
値を有する。
理に基づいてデータコヒーレンスを提供する。いかなる
場合も、コンピュータシステム10の全体について1つの
物理アドレスPAの所有者はたった一つだけである。すな
わち、1つの共用メモリSM若しくは複数のプロセッサGP
P0-GPPN-1の1つのいずれか1つがその物理アドレスPA
の所有者である。さらにまた、ただ一つの所有者は所有
した物理アドレスPAに対する正の即ち最新のデータDを
有数。そして、物理アドレスPAの所有権は共用メモリSM
及び汎用プロセッサGPP0-GPPN-1間で動的に変更可能で
ある。それ故に、当然のこととして、物理アドレスPAの
所有者は常にそのアドレスPAに対するデータDの現在の
値を有する。
データコヒーレンスはまた次の規則に従って提供され
る。もし、使用モードフラグUがPUBLICであるならば、
(1)共用メモリSMが、物理アドレスPAの所有者であり、
それ故に、このメモリ物理アドレスPAに対する正データ
Dを有する。また、(2)キャッシュメモリCM0-CMN-1は、
その物理アドレスPAのデータDのコピーを有することが
可能で、このコピーの正しいことが保証される。さら
に、(3)その物理アドレスPAのデータDの値は、プロセ
ッサGPP0-GPPN-1により変更することはできず、その結
果、読み取りアクセスのみがキャッシュメモリCM0-CM
N-1内のデータDのコピーに対して行われる。
る。もし、使用モードフラグUがPUBLICであるならば、
(1)共用メモリSMが、物理アドレスPAの所有者であり、
それ故に、このメモリ物理アドレスPAに対する正データ
Dを有する。また、(2)キャッシュメモリCM0-CMN-1は、
その物理アドレスPAのデータDのコピーを有することが
可能で、このコピーの正しいことが保証される。さら
に、(3)その物理アドレスPAのデータDの値は、プロセ
ッサGPP0-GPPN-1により変更することはできず、その結
果、読み取りアクセスのみがキャッシュメモリCM0-CM
N-1内のデータDのコピーに対して行われる。
もし、使用モードフラグUがPRIVATEであるならば、(1)
プロセッサGPP0-GPPN-1の1つが物理アドレスPAの所有
者であって、その物理アドレスPAのデータDを変更でき
る。即ち、読み取りアクセスと書き込みアクセスの両方
がその1つのプロセッサGPP0-GPPN-1により許容され
る。また、(2)コンピュータシステム10内に当該物理ア
ドレスPAのデータDの他の有効コピーはない。さらに、
(3)その物理アドレスPAを所有する上記1つのプロセッ
サGPP0-GPPN-1は、後で述べるように、その他のプロセ
ッサGPP0-GPPN-1がPRIVATEの使用モードを持つ当該物理
アドレスPAのデータDを要求する時には、その所有権を
引き渡さなければならない。
プロセッサGPP0-GPPN-1の1つが物理アドレスPAの所有
者であって、その物理アドレスPAのデータDを変更でき
る。即ち、読み取りアクセスと書き込みアクセスの両方
がその1つのプロセッサGPP0-GPPN-1により許容され
る。また、(2)コンピュータシステム10内に当該物理ア
ドレスPAのデータDの他の有効コピーはない。さらに、
(3)その物理アドレスPAを所有する上記1つのプロセッ
サGPP0-GPPN-1は、後で述べるように、その他のプロセ
ッサGPP0-GPPN-1がPRIVATEの使用モードを持つ当該物理
アドレスPAのデータDを要求する時には、その所有権を
引き渡さなければならない。
全体のコンピュータシステム10及びバス22は特に、プロ
トコルの3つのレベル(水準)に基づいて構成され且つ
動作する。第1のプロトコルは信号レベルにあり、第2
のプロトコルはバストランザクションレベルにあり、第
3のプロトコルは所有権レベルにある。これらのプロト
コルはそれぞれ最も低いプロトコルから最も高いプロト
コルまである。第3図はバス22によって支援されている
複数のバストランザクションのプロトコルを示す。これ
らのバストランザクションは、(1)READ REQUEST PUBLIC
(読み取り要求パブリック),(2)READ REQUEST PRIVAT
E(読み取り要求プライベート),(3)READ RESPONSE
(読み取り応答),(4)WRITE MODIFIED(書き込み変
更),(5)WRITE UNMODIFIED(書き込み無変更),(6)WR
ITE NEW DATA(書き込み新データ)、として識別され
る。これらのバストランザクション(1)から(5)まではプ
ロセッサGPP0-GPPN-1によるコマンドとして開始でき
る。バストランザクション(6)は入出力プロセッサ26に
よるコマンドとして開始できる。各コマンド(1)から(6)
は各々のコマンドと関連した一定の情報を有している。
それは例えば、物理アドレスPA若しくはデータDがバス
22を介して送られたというような情報である。
トコルの3つのレベル(水準)に基づいて構成され且つ
動作する。第1のプロトコルは信号レベルにあり、第2
のプロトコルはバストランザクションレベルにあり、第
3のプロトコルは所有権レベルにある。これらのプロト
コルはそれぞれ最も低いプロトコルから最も高いプロト
コルまである。第3図はバス22によって支援されている
複数のバストランザクションのプロトコルを示す。これ
らのバストランザクションは、(1)READ REQUEST PUBLIC
(読み取り要求パブリック),(2)READ REQUEST PRIVAT
E(読み取り要求プライベート),(3)READ RESPONSE
(読み取り応答),(4)WRITE MODIFIED(書き込み変
更),(5)WRITE UNMODIFIED(書き込み無変更),(6)WR
ITE NEW DATA(書き込み新データ)、として識別され
る。これらのバストランザクション(1)から(5)まではプ
ロセッサGPP0-GPPN-1によるコマンドとして開始でき
る。バストランザクション(6)は入出力プロセッサ26に
よるコマンドとして開始できる。各コマンド(1)から(6)
は各々のコマンドと関連した一定の情報を有している。
それは例えば、物理アドレスPA若しくはデータDがバス
22を介して送られたというような情報である。
概略的には、後で述べるように、コマンドREAD REQUEST
PUBLICはデータDのコピーを確保して、それを読み取
り専用アクセス用に要求プロセッサのキャッシュメモリ
CM0-CMN-1内に記憶するために、その要求している1つ
のプロセッサGPP0-GPPN-1により発生若しくは開始され
て、バス22上を転送される。コマンドREAD REQUEST PRI
VATEは物理アドレスPAの所有権を確保して、読み取り及
び書き込み用に対応するデータDのコピーを要求プロセ
ッサのキャッシュメモリCM0-CMN-1に記憶するために、
その1つの要求プロセッサGPP0-GPPN-1により開始さ
れ、バス22上を伝送される。READ REQUEST PUBLIC及びR
EAD REQUEST PRIVATEに関するコマンドは、要求プロセ
ッサGPP0-GPPN-1により供給されるアドレスPAといしょ
にバス22上を転送される。主メモリコントローラMMCを
介して共用メモリSMにより、若しくは応答するプロセッ
サGPP0-GPPN-1によりコマンドRED RESPONSEは開始さ
れ、バス22上を伝送される。これは、被要求データDを
要求しているプロセッサGPP0-GPPN-1へ送ることによりR
EAD REQUEST PUBLIC若しくはREAD REQUEST PRIVATEに応
答するためである。コマンドWRITE MODIFIEDはある1つ
のプロセッサGPP0-GPPN-1により開始され、そしてバス2
2上に伝送される。これは、所有したアドレスPA及び対
応するデータD(このデータDはかかるプロセッサGPP0
-GPPN-1によりすでに変更されている)を共用メモリSM
に転送するためである。コマンドWRITE UNMODIFIEDはあ
る1つのプロセッサGPP0-GPPN-1により開始され、そし
てバス22上を伝送される。これは、データDの所有アド
レスPA(データDはかかるプロセッサGPP0-GPPN-1によ
り変更されていない)を共用メモリSMに転送するためで
ある。しかし、この場合、かかるデータDの転送は行わ
れない。コマンドWRITE NEW DATAは入出力プロセッサ26
により開始され、バス22上を伝送される。これはアドレ
スPAを転送し、対応する新しいデータDを共用メモリSM
内に入力するためである。
PUBLICはデータDのコピーを確保して、それを読み取
り専用アクセス用に要求プロセッサのキャッシュメモリ
CM0-CMN-1内に記憶するために、その要求している1つ
のプロセッサGPP0-GPPN-1により発生若しくは開始され
て、バス22上を転送される。コマンドREAD REQUEST PRI
VATEは物理アドレスPAの所有権を確保して、読み取り及
び書き込み用に対応するデータDのコピーを要求プロセ
ッサのキャッシュメモリCM0-CMN-1に記憶するために、
その1つの要求プロセッサGPP0-GPPN-1により開始さ
れ、バス22上を伝送される。READ REQUEST PUBLIC及びR
EAD REQUEST PRIVATEに関するコマンドは、要求プロセ
ッサGPP0-GPPN-1により供給されるアドレスPAといしょ
にバス22上を転送される。主メモリコントローラMMCを
介して共用メモリSMにより、若しくは応答するプロセッ
サGPP0-GPPN-1によりコマンドRED RESPONSEは開始さ
れ、バス22上を伝送される。これは、被要求データDを
要求しているプロセッサGPP0-GPPN-1へ送ることによりR
EAD REQUEST PUBLIC若しくはREAD REQUEST PRIVATEに応
答するためである。コマンドWRITE MODIFIEDはある1つ
のプロセッサGPP0-GPPN-1により開始され、そしてバス2
2上に伝送される。これは、所有したアドレスPA及び対
応するデータD(このデータDはかかるプロセッサGPP0
-GPPN-1によりすでに変更されている)を共用メモリSM
に転送するためである。コマンドWRITE UNMODIFIEDはあ
る1つのプロセッサGPP0-GPPN-1により開始され、そし
てバス22上を伝送される。これは、データDの所有アド
レスPA(データDはかかるプロセッサGPP0-GPPN-1によ
り変更されていない)を共用メモリSMに転送するためで
ある。しかし、この場合、かかるデータDの転送は行わ
れない。コマンドWRITE NEW DATAは入出力プロセッサ26
により開始され、バス22上を伝送される。これはアドレ
スPAを転送し、対応する新しいデータDを共用メモリSM
内に入力するためである。
第4A図は、上述したバストランザクション(1)ないし
(6)の各々に対してバス22で支援された信号レベルのプ
ロトコルを示す。信号レベルのプロトコルは3つの機能
グループに分けられている。(1)その1つ目は信号線L
1上の信号アービトレーション(調停)グループARB GR
OUPであり、(2)その2つ目は信号線L2上の信号情報グ
ループINFO GROUPであり、(3)その3つ目は信号線L3
上の信号確認グループACK GROUPである。信号ARB GROUP
はまずバストランザクションのイニシエータ(開始プロ
グラム)により発生され、例えば、プロセッサGPP0-GPP
N-1により発生される。これによりバス22に対して調停
をしバス22へのアクセスを得るためである。信号INFO G
ROUPは、記述されるべき他の情報の間において、バスト
ランザクションコマンド及び物理アドレスPA若しくはデ
ータDにより構成され、これらは、すでに述べたよう
に、バス22がバストランザクションイニシエータにより
そのように一度獲得されているならば、バス22上で交換
される。信号INFO GROUPの受信に対して応答するため
に、信号ACK GROUPは信号INFO GROUPの宛先により発生
される。後で述べるように、信号ACK GROUPの内容は確
認(アクノーレッジメント)(ACK),非確認(ノーアク
ノーレッジメント)(NO ACK),若しくはビジー(BUSY)と
することができる。信号線L1,2,L3の全体数でバ
ス22を構成する。これについては後で詳細に説明する。
(6)の各々に対してバス22で支援された信号レベルのプ
ロトコルを示す。信号レベルのプロトコルは3つの機能
グループに分けられている。(1)その1つ目は信号線L
1上の信号アービトレーション(調停)グループARB GR
OUPであり、(2)その2つ目は信号線L2上の信号情報グ
ループINFO GROUPであり、(3)その3つ目は信号線L3
上の信号確認グループACK GROUPである。信号ARB GROUP
はまずバストランザクションのイニシエータ(開始プロ
グラム)により発生され、例えば、プロセッサGPP0-GPP
N-1により発生される。これによりバス22に対して調停
をしバス22へのアクセスを得るためである。信号INFO G
ROUPは、記述されるべき他の情報の間において、バスト
ランザクションコマンド及び物理アドレスPA若しくはデ
ータDにより構成され、これらは、すでに述べたよう
に、バス22がバストランザクションイニシエータにより
そのように一度獲得されているならば、バス22上で交換
される。信号INFO GROUPの受信に対して応答するため
に、信号ACK GROUPは信号INFO GROUPの宛先により発生
される。後で述べるように、信号ACK GROUPの内容は確
認(アクノーレッジメント)(ACK),非確認(ノーアク
ノーレッジメント)(NO ACK),若しくはビジー(BUSY)と
することができる。信号線L1,2,L3の全体数でバ
ス22を構成する。これについては後で詳細に説明する。
第4B図は、第4A図の3つの機能信号グループの伝送
期間内の相対的なタイムスロットを示す。タイムスロッ
トnの期間に伝送される信号INFO GROUP(INFOグルー
プ)に対しては、信号ARB GOOUP)(ARBグループ)と信
号ACK GROUP(ACKグループ)とがタイムスロットn-1及
びn+2の間に、それぞれ伝送される。後者の相対的なタ
イムスロットは、いやしくも信号ACK GRPUPを介するこ
とにより、信号INFO GROUPおよび受信確認を評価するた
めの信号INFO GROUPの宛先(recipient)の時間を与える
ことを提供する。信号レベルプロトコルについての更に
詳細については、以下に述べる。
期間内の相対的なタイムスロットを示す。タイムスロッ
トnの期間に伝送される信号INFO GROUP(INFOグルー
プ)に対しては、信号ARB GOOUP)(ARBグループ)と信
号ACK GROUP(ACKグループ)とがタイムスロットn-1及
びn+2の間に、それぞれ伝送される。後者の相対的なタ
イムスロットは、いやしくも信号ACK GRPUPを介するこ
とにより、信号INFO GROUPおよび受信確認を評価するた
めの信号INFO GROUPの宛先(recipient)の時間を与える
ことを提供する。信号レベルプロトコルについての更に
詳細については、以下に述べる。
上述したように、所有権プロトコルは、いずれかの指定
の時間において、複数のプロセッサGPP0-GPPN-1の中の
1つ及び1つの共用メモリSMのいずれか1つのみが対応
データDの物理アドレスPAの所有者であることを意味し
ている。バストランザクション(1)ないし(6)の中の4つ
はアドレスPAの所有権の移転をもたらす。この4つのト
ランザクションはREAD REQUEST PRIVATE,WRITE MODIFEI
D,WRITE UNMODIFIED,WRITE NEW DATAである。アドレスP
Aの所有権の移転は、確認(肯定応答ともいう)を示す
信号ACK GROUPのACK(アクノレッジ)がこれら4つのバ
ストランザクションの中の1つの信号INFO GROUPの受信
に応答して発生されたその直後にのみ、例えば、ACKが
発生された後の1つのタイムスロット若しくはクロック
期間、に発生する。後に詳細に説明するように、プロセ
ッサGPPは、有効フラグVに作用することにより所有権
の転送を指示する。即ち、プロセッサGPPが所有権を手
ばなそうとする現在の所有者であるときには、フラグV
をINVALIDにリセットし、プロセッサGPPが新しい所有者
になろうとするときは、フラグVをVALIDにセットす
る。共用メモリSMは使用モードフラグUに作用すること
により所有権の移転を指示する。即ち、共用メモリSMは
所有権を放棄するときは使用モードフラグUをPRIVATE
にセットし、所有権を得たいときは、使用モードフラグ
UをPUBLICにリセットする。入出力プロセッサ26はどの
ようなフラグもセットあるいはリセットする必要はな
い。他の2つのバストランザクション、即ち、READ REQ
UEST PUBLIC及びREAD RESPONSEのときは、アドレスPAの
所有権は転送されない。
の時間において、複数のプロセッサGPP0-GPPN-1の中の
1つ及び1つの共用メモリSMのいずれか1つのみが対応
データDの物理アドレスPAの所有者であることを意味し
ている。バストランザクション(1)ないし(6)の中の4つ
はアドレスPAの所有権の移転をもたらす。この4つのト
ランザクションはREAD REQUEST PRIVATE,WRITE MODIFEI
D,WRITE UNMODIFIED,WRITE NEW DATAである。アドレスP
Aの所有権の移転は、確認(肯定応答ともいう)を示す
信号ACK GROUPのACK(アクノレッジ)がこれら4つのバ
ストランザクションの中の1つの信号INFO GROUPの受信
に応答して発生されたその直後にのみ、例えば、ACKが
発生された後の1つのタイムスロット若しくはクロック
期間、に発生する。後に詳細に説明するように、プロセ
ッサGPPは、有効フラグVに作用することにより所有権
の転送を指示する。即ち、プロセッサGPPが所有権を手
ばなそうとする現在の所有者であるときには、フラグV
をINVALIDにリセットし、プロセッサGPPが新しい所有者
になろうとするときは、フラグVをVALIDにセットす
る。共用メモリSMは使用モードフラグUに作用すること
により所有権の移転を指示する。即ち、共用メモリSMは
所有権を放棄するときは使用モードフラグUをPRIVATE
にセットし、所有権を得たいときは、使用モードフラグ
UをPUBLICにリセットする。入出力プロセッサ26はどの
ようなフラグもセットあるいはリセットする必要はな
い。他の2つのバストランザクション、即ち、READ REQ
UEST PUBLIC及びREAD RESPONSEのときは、アドレスPAの
所有権は転送されない。
一般に、バストランザクション若しくはコマンドREAD R
EWUEST PRIVATEが発生している間は、ACKが現在の所有
者により信号ACK GROUPを介して行われたときに、アド
レスPAの所有権は、共用メモリSM若しくは応答する1つ
のプロセッサGPP0-GPPN-1である現在の所有者から、開
始する即ち要求するプロセッサGPP0-GPPN-1に対して、
転送される。しかしもし、このようにACKが発生されな
いときは、所有権は転送されず、そのため要求するプロ
セッサGPP0-GPPN-1はコマンドREAD REQUEST PRIVATEを
再発行しなければならない。
EWUEST PRIVATEが発生している間は、ACKが現在の所有
者により信号ACK GROUPを介して行われたときに、アド
レスPAの所有権は、共用メモリSM若しくは応答する1つ
のプロセッサGPP0-GPPN-1である現在の所有者から、開
始する即ち要求するプロセッサGPP0-GPPN-1に対して、
転送される。しかしもし、このようにACKが発生されな
いときは、所有権は転送されず、そのため要求するプロ
セッサGPP0-GPPN-1はコマンドREAD REQUEST PRIVATEを
再発行しなければならない。
現在の所有者であるプロセッサGPP0-GPPN-1の1つによ
ってのみ開始されるコマンドWRITE MODIFIEDが発生して
いる間は、アドレスPAの所有権は、ACKが共用メモリSM
から信号ACK GROUPを介して発生されたときい、その現
在の所有者から共用メモリSMへと転送される。しかし、
もしこのようにACKが発生されない場合は、所有権はそ
のように転送されないので、現在の所有者はコマンドWR
ITE MODIFIEDを再発行しなければならない。コマンドWR
ITE UNMODIFIEDに応じたアドレスPAの所有権の移転はコ
マンドWRITE MODIFIEDの場合と同じである。
ってのみ開始されるコマンドWRITE MODIFIEDが発生して
いる間は、アドレスPAの所有権は、ACKが共用メモリSM
から信号ACK GROUPを介して発生されたときい、その現
在の所有者から共用メモリSMへと転送される。しかし、
もしこのようにACKが発生されない場合は、所有権はそ
のように転送されないので、現在の所有者はコマンドWR
ITE MODIFIEDを再発行しなければならない。コマンドWR
ITE UNMODIFIEDに応じたアドレスPAの所有権の移転はコ
マンドWRITE MODIFIEDの場合と同じである。
入出力プロセッサ26により開始されるコマンドWRITE NE
W DATAが発生している期間では、アドレスPAの所有権は
現在の所有者、即ち、プロセッサGPP0-GPPN-1の1から
得られ、ACKが信号ACK GROUPを介して共用メモリSMによ
り発生したときに、共用メモリSMに移転される。しかし
もし、このようにACKが発生されないならば、所有権は
移転されないので、入出力プロセッサ26はコマンドWRIT
E NEW DATAを再び開始しなければならない。
W DATAが発生している期間では、アドレスPAの所有権は
現在の所有者、即ち、プロセッサGPP0-GPPN-1の1から
得られ、ACKが信号ACK GROUPを介して共用メモリSMによ
り発生したときに、共用メモリSMに移転される。しかし
もし、このようにACKが発生されないならば、所有権は
移転されないので、入出力プロセッサ26はコマンドWRIT
E NEW DATAを再び開始しなければならない。
上述したように、要求するプロセッサGPP0-GPPN-1がデ
ータのDのコピーを得たいと望む場合には、TEAD REQUE
ST PUBLIC若しくはREAD REQUEST PRIVATEが、データD
に対する読み取り専用アクセス若しくは読み取りおよび
書き込みアクセスのいずれが必要であるか否かに基づい
て、開始される。これに応じて、ACK GROUPが、共用メ
モリSM若しくは他のプロセッサGPP0-GPPN-1である所望
したデータのアドレスPAの所有者により伝送される。従
って、所有者である場合の共用メモリSMは、要求するプ
ロセッサGPP0-GPPN-1に、そのACK GROUPの一部として、
確認(ACK)若しくはビジイ(BUSY)のいずれかを示す
2ビット信号SM-ACKを返すことができる。一方、所有者
である場合のプロセッサGPP0-GPPN-1は、要求するプロ
セッサGPP0-GPPN-1に、そのACK GROUPの一部として、確
認(ACK)、非確認(NO ACK)若しくはビジイ(BUSY)を示
す2ビット信号CM-ACKを返すことができる。
ータのDのコピーを得たいと望む場合には、TEAD REQUE
ST PUBLIC若しくはREAD REQUEST PRIVATEが、データD
に対する読み取り専用アクセス若しくは読み取りおよび
書き込みアクセスのいずれが必要であるか否かに基づい
て、開始される。これに応じて、ACK GROUPが、共用メ
モリSM若しくは他のプロセッサGPP0-GPPN-1である所望
したデータのアドレスPAの所有者により伝送される。従
って、所有者である場合の共用メモリSMは、要求するプ
ロセッサGPP0-GPPN-1に、そのACK GROUPの一部として、
確認(ACK)若しくはビジイ(BUSY)のいずれかを示す
2ビット信号SM-ACKを返すことができる。一方、所有者
である場合のプロセッサGPP0-GPPN-1は、要求するプロ
セッサGPP0-GPPN-1に、そのACK GROUPの一部として、確
認(ACK)、非確認(NO ACK)若しくはビジイ(BUSY)を示
す2ビット信号CM-ACKを返すことができる。
以下に示す表1には、READ REQUEST PUBLIC若しくはREA
D REQUEST PRIVATEに応答して、1つのプロセッサGPP0-
GPPN-1及び共用メモリSMから返信される可能性のあるAC
K GROUPの組合せの事例を挙げる。
D REQUEST PRIVATEに応答して、1つのプロセッサGPP0-
GPPN-1及び共用メモリSMから返信される可能性のあるAC
K GROUPの組合せの事例を挙げる。
表1のA行は、READ REQUEST PUBLIC若しくはREAD REQU
EST PRIVATEのアドレスPAがどのプロセッサGPP0-GPPN-1
によっても所有されていないことを、意味しており、従
って共用メモリSMにより所有されていなければならない
ことを意味している。共用メモリSMはREAD RESPONSEコ
マンドを介して被要求データDを転送することを約束す
る。表1のB行は、共用メモリSMがビジイでこの時間に
応答できない点を除いては、A行と同じであることを意
味している。それ故に、要求するプロセッサGPP0-GPP
N-1はREAD REQUEST PUBLIC若しくはREAD REQUEST PRIVA
TEを再び発行することになろう。
EST PRIVATEのアドレスPAがどのプロセッサGPP0-GPPN-1
によっても所有されていないことを、意味しており、従
って共用メモリSMにより所有されていなければならない
ことを意味している。共用メモリSMはREAD RESPONSEコ
マンドを介して被要求データDを転送することを約束す
る。表1のB行は、共用メモリSMがビジイでこの時間に
応答できない点を除いては、A行と同じであることを意
味している。それ故に、要求するプロセッサGPP0-GPP
N-1はREAD REQUEST PUBLIC若しくはREAD REQUEST PRIVA
TEを再び発行することになろう。
C行は、プロセッサGPP0-GPPN-1の1つがREAD REQUEST
PUBLIC若しくはREAD REQUEST PRIVATEのアドレスPAの所
有者であり、要求を受け入れ、それによって、READ RES
PONSEを自ら約束することを意味している。共用メモリS
Mは、そのアドレスPAを持ち得ないということを見い出
すことになり、したがって、要求を破棄することになろ
う。D行は、共用メモリSMがビジイであることを除い
て、C行と同じであることを意味しており、従って共用
メモリSMは要求を破棄することになろう。
PUBLIC若しくはREAD REQUEST PRIVATEのアドレスPAの所
有者であり、要求を受け入れ、それによって、READ RES
PONSEを自ら約束することを意味している。共用メモリS
Mは、そのアドレスPAを持ち得ないということを見い出
すことになり、したがって、要求を破棄することになろ
う。D行は、共用メモリSMがビジイであることを除い
て、C行と同じであることを意味しており、従って共用
メモリSMは要求を破棄することになろう。
E行は、アドレスPAはプロセッサGPP0-GPPN-1の1つに
所有されているが、そのプロセッサはビジイであるの
で、要求は受け入れられないということを意味してい
る。そこで要求しているプロセッサGPP0-GPPN-1はREAD
REQUEST PUBLIC若しくはREAD REQUEST PRIVATEを再発行
することになろう。共用メモリSMは、要求の受信中に自
身がそのアドレスPAを所有しないということを見い出す
であろうから、それ故に要求を破棄することになろう。
F行は、共用メモリSMがビジイである点を除いて、E行
と同じであるので共用メモリSMは要求を破棄するであろ
う。要求するプロセッサGPP0-GPPN-1はそこでREAD REQU
EST PUBLICまたはREAD REQUEST PRIVATEを再発行するこ
とになろう。
所有されているが、そのプロセッサはビジイであるの
で、要求は受け入れられないということを意味してい
る。そこで要求しているプロセッサGPP0-GPPN-1はREAD
REQUEST PUBLIC若しくはREAD REQUEST PRIVATEを再発行
することになろう。共用メモリSMは、要求の受信中に自
身がそのアドレスPAを所有しないということを見い出す
であろうから、それ故に要求を破棄することになろう。
F行は、共用メモリSMがビジイである点を除いて、E行
と同じであるので共用メモリSMは要求を破棄するであろ
う。要求するプロセッサGPP0-GPPN-1はそこでREAD REQU
EST PUBLICまたはREAD REQUEST PRIVATEを再発行するこ
とになろう。
表1では、A及びB行に関してのみ、WRITEコマンド(M
ODIFEID,UNMODIFIED,およびNEW DATA)を適用する。こ
の理由は、これらのコマンドデータDあるいはアドレス
PAの所有権がプロセッサGPP若しくは入出力プロセッサ2
6から共用メモリSMに転送されるからである。もし、プ
ロセッサGPPがC行ないしF行の状態に引き続いてACK若
しくはビジイを発生したならば、エラー状態が発生する
ことになる。
ODIFEID,UNMODIFIED,およびNEW DATA)を適用する。こ
の理由は、これらのコマンドデータDあるいはアドレス
PAの所有権がプロセッサGPP若しくは入出力プロセッサ2
6から共用メモリSMに転送されるからである。もし、プ
ロセッサGPPがC行ないしF行の状態に引き続いてACK若
しくはビジイを発生したならば、エラー状態が発生する
ことになる。
すでに図示したように、バストランザクション若しくは
コマンド(1)ないし(6)はバス22上で単一方向のものであ
るが、このことは、また複数のバストランザクションを
バス22上にインタリーブ(交互配置)することができる
ことを意味している。例えば、要求プロセッサ(要求す
る又は要求中のプロセッサのこと)GPP0-GPPN-1はREAD
REQUEST PUBLIC若しくはREAD REQUEST PRIVATEに対する
READ RESPONSEを待っている間、他の要求しているプロ
セッサGPP0-GPPN-1若しくは入出力プロセッサ26はバス
トランザクションを開始させることができる。このイン
タリーブ能力はバス22の使用効率(使用率)を最大化す
る利点を持っている。だが、これはまたデータコヒーレ
ンスの問題をもたらすことになるが、しかし、これは以
下の方法で解決されている。
コマンド(1)ないし(6)はバス22上で単一方向のものであ
るが、このことは、また複数のバストランザクションを
バス22上にインタリーブ(交互配置)することができる
ことを意味している。例えば、要求プロセッサ(要求す
る又は要求中のプロセッサのこと)GPP0-GPPN-1はREAD
REQUEST PUBLIC若しくはREAD REQUEST PRIVATEに対する
READ RESPONSEを待っている間、他の要求しているプロ
セッサGPP0-GPPN-1若しくは入出力プロセッサ26はバス
トランザクションを開始させることができる。このイン
タリーブ能力はバス22の使用効率(使用率)を最大化す
る利点を持っている。だが、これはまたデータコヒーレ
ンスの問題をもたらすことになるが、しかし、これは以
下の方法で解決されている。
例えば、最初の昇給プロセッサGPP0-GPPN-1がREAD REQU
EST PRIVATEを開始させ、さらに、これがアドレスPAの
所有者によりACK GROUPのCM-ACKのACK若しくはSM-ACKを
介して受け入れられたと想定すると、すでに指摘したよ
うに、かかるACKの生起に基づいて、アドレスPAの所有
権は要求プロセッサGPP0-GPPN-1に移転される。最初の
要求プロセッサGPP0-GPPN-1(即ち新しい現在の所有
者)がアドレスPAの最新のこれまでの所有者からのREAD
RESPONSEを待っている間、すなわち、READ RESPONSEの
INFO GROUPを介してバス22上を転送中であろうデータD
の受信を特に待っていると想定すると、他の要求プロセ
ッサGPP0-GPPN-1により発行される他のREAD REQUEST PU
BLIC若しくはREAD REQUEST PRIVATEは現在の新しい所定
者即ち最初の要求プロセッサGPP0-GPPN-1により受信さ
れる。この場合、新しい所有者はACK GROUPのCM-ACKを
介してビジイ信号を送るだけであり、この結果、他の要
求プロセッサGPP0-GPPN-1はREAD REQUEST PUBLIC若しく
はREAD REQUEST PRIVATEの発行を再び試みなければなら
ない。
EST PRIVATEを開始させ、さらに、これがアドレスPAの
所有者によりACK GROUPのCM-ACKのACK若しくはSM-ACKを
介して受け入れられたと想定すると、すでに指摘したよ
うに、かかるACKの生起に基づいて、アドレスPAの所有
権は要求プロセッサGPP0-GPPN-1に移転される。最初の
要求プロセッサGPP0-GPPN-1(即ち新しい現在の所有
者)がアドレスPAの最新のこれまでの所有者からのREAD
RESPONSEを待っている間、すなわち、READ RESPONSEの
INFO GROUPを介してバス22上を転送中であろうデータD
の受信を特に待っていると想定すると、他の要求プロセ
ッサGPP0-GPPN-1により発行される他のREAD REQUEST PU
BLIC若しくはREAD REQUEST PRIVATEは現在の新しい所定
者即ち最初の要求プロセッサGPP0-GPPN-1により受信さ
れる。この場合、新しい所有者はACK GROUPのCM-ACKを
介してビジイ信号を送るだけであり、この結果、他の要
求プロセッサGPP0-GPPN-1はREAD REQUEST PUBLIC若しく
はREAD REQUEST PRIVATEの発行を再び試みなければなら
ない。
いま、新しい所有者即ち最初の要求プロセッサGPP0-GPP
N-1が、READ RESPONSEのINFO GROUPを介して転送される
データDを待っているとすると、入出力プロセッサ26に
より発行されるWRITE NEW DATAは同一アドレスPAに対す
る新しい所有者によって受信され、さらに、共用メモリ
SMがACK GROUPのSM-ACKのACKの生起を通じてこれを受け
取る。次いで、新しい所有者、すなわち、最初の要求プ
ロセッサGPP0-GPPN-1は有効フラグVをINVALIDにリセッ
トすることにより、データDのアドレスPAの所有権を直
ちに失う。既に述べたように、アドレスPAは、WRITE NE
W DATAの結果として、共用メモリSMにより現に所有され
る。最初の要求プロセッサGPP0-GPPN-1がREAD RESPONSE
のINFO GROUPを介して依然としてデータDを受信して
も、かかる受信時に、データDはフラグVのINVALIDを
介して効果的に破棄される。
N-1が、READ RESPONSEのINFO GROUPを介して転送される
データDを待っているとすると、入出力プロセッサ26に
より発行されるWRITE NEW DATAは同一アドレスPAに対す
る新しい所有者によって受信され、さらに、共用メモリ
SMがACK GROUPのSM-ACKのACKの生起を通じてこれを受け
取る。次いで、新しい所有者、すなわち、最初の要求プ
ロセッサGPP0-GPPN-1は有効フラグVをINVALIDにリセッ
トすることにより、データDのアドレスPAの所有権を直
ちに失う。既に述べたように、アドレスPAは、WRITE NE
W DATAの結果として、共用メモリSMにより現に所有され
る。最初の要求プロセッサGPP0-GPPN-1がREAD RESPONSE
のINFO GROUPを介して依然としてデータDを受信して
も、かかる受信時に、データDはフラグVのINVALIDを
介して効果的に破棄される。
いま、最初の要求プロセッサGPP0-GPPN-1がREAD REQUES
T PUBLICを開始し、READ RESPONSEのINFO GROUPを介し
てデータDを待っていると想定する。さらに、そのREAD
RESPONSEを待っている間に、READ REQUEST PRIVATE若
しくはWRITE NEW DATAが最初の要求プロセッサGPP0-GPP
N-1によって受け取られたと想定する。前に述べたよう
に、READ REQUEST PUBLICはアドレスPAの所有権の変化
をもたらすバストランザクションではない。それ故に、
ACK GROUPのSM-ACKのACKを介して共用メモリSMによる、
READ REQUEST PRIATE若しくは、WRITE NEW DATAの受け
取りに基づいて、最初の要求プロセッサは所有権を失わ
ないにもかかわらず有効フラグVをINVALIDにリセット
したとする。そうすると、最初の要求プロセッサGPP0-G
PPN-1は結局READD RESPONSEを受け入け、それを処理し
ても、データDは、有効フラグVをINVALIDにリセット
していることにより効果的に破棄される。
T PUBLICを開始し、READ RESPONSEのINFO GROUPを介し
てデータDを待っていると想定する。さらに、そのREAD
RESPONSEを待っている間に、READ REQUEST PRIVATE若
しくはWRITE NEW DATAが最初の要求プロセッサGPP0-GPP
N-1によって受け取られたと想定する。前に述べたよう
に、READ REQUEST PUBLICはアドレスPAの所有権の変化
をもたらすバストランザクションではない。それ故に、
ACK GROUPのSM-ACKのACKを介して共用メモリSMによる、
READ REQUEST PRIATE若しくは、WRITE NEW DATAの受け
取りに基づいて、最初の要求プロセッサは所有権を失わ
ないにもかかわらず有効フラグVをINVALIDにリセット
したとする。そうすると、最初の要求プロセッサGPP0-G
PPN-1は結局READD RESPONSEを受け入け、それを処理し
ても、データDは、有効フラグVをINVALIDにリセット
していることにより効果的に破棄される。
さて次に、一つの以上のプロセッサGPP0-GPPN-1がアド
レスPAのデータDのPUBLIC(パブリック)コピーを有し
ていること、そしてREAD REQUEST PRIVATE若しくはWRIT
E NEW DATAがそのアドレスPAに対するこれらのプロセッ
サGPP0-GPPN-1により受け入れられた、と想定する。ACK
GROUPのSM-ACKのACKを介して共用メモリSMによりREAD
REQUEST PRIVATE若しくはWRITE NEW DATAが受信される
と、これらのプロセッサGPP0-GPPN-1は、データDのPUB
LICコピーを有効フラグVをINVALIDにリセットすること
で、無効化する。
レスPAのデータDのPUBLIC(パブリック)コピーを有し
ていること、そしてREAD REQUEST PRIVATE若しくはWRIT
E NEW DATAがそのアドレスPAに対するこれらのプロセッ
サGPP0-GPPN-1により受け入れられた、と想定する。ACK
GROUPのSM-ACKのACKを介して共用メモリSMによりREAD
REQUEST PRIVATE若しくはWRITE NEW DATAが受信される
と、これらのプロセッサGPP0-GPPN-1は、データDのPUB
LICコピーを有効フラグVをINVALIDにリセットすること
で、無効化する。
第4C図ないし第4G図は、第4B図よりも詳細に示す図
であり、指定のバストランザクションに対しての、INFO
GROUPの内容だけでなく、ARB GROUP,INFO GROUP、およ
びACK GROUPの相対的なタイムスロットを示す。各タイ
ムスロットのINFO GROUPに対しては、一般にコマンドが
データフィールドの解釈を決定する。即ち、第4C図はバ
ストランザクションREAD REQUEST PUBLIC若しくはREAD
REQUEST PRIVATEに関し、INFO GROUPがコマンドを有
し、データフィールドの内容がアドレスPAであることを
示している。第4D図はバストランザクションREAD RESPO
NSEに関し、INFO GROUPがコマンドを有し、かつ1つの
タイムスロットのデータフィールドの内容が1カッド語
QWのデータワードDW0であることを示し、この1カッド
語QWのデータワードDW0はそれぞれのタイムスロットに
おいてコマンドとデータワードDW1-DW3を後に従えてい
る。また、第4C図及び第4D図に示すように、INFO GROUP
は要求者識別子(requestor idedntification)(RID)フ
ィールドを含んでいる。この要求者識別子フィールドを
個々の要求プロセッサGPP0-GPPN-1を識別する番号を含
んでいる。応答プロセッサ(応答するプロセッサのこ
と)GPP0-GPPN-1若しくは共用メモリSMは要求プロセッ
サGPP0-GPPN-1のRID(要求者識別子)を返し、その結
果、後者はそれがREAD RESPONSEの意図した受け取り人
であるか否かを決定できる。
であり、指定のバストランザクションに対しての、INFO
GROUPの内容だけでなく、ARB GROUP,INFO GROUP、およ
びACK GROUPの相対的なタイムスロットを示す。各タイ
ムスロットのINFO GROUPに対しては、一般にコマンドが
データフィールドの解釈を決定する。即ち、第4C図はバ
ストランザクションREAD REQUEST PUBLIC若しくはREAD
REQUEST PRIVATEに関し、INFO GROUPがコマンドを有
し、データフィールドの内容がアドレスPAであることを
示している。第4D図はバストランザクションREAD RESPO
NSEに関し、INFO GROUPがコマンドを有し、かつ1つの
タイムスロットのデータフィールドの内容が1カッド語
QWのデータワードDW0であることを示し、この1カッド
語QWのデータワードDW0はそれぞれのタイムスロットに
おいてコマンドとデータワードDW1-DW3を後に従えてい
る。また、第4C図及び第4D図に示すように、INFO GROUP
は要求者識別子(requestor idedntification)(RID)フ
ィールドを含んでいる。この要求者識別子フィールドを
個々の要求プロセッサGPP0-GPPN-1を識別する番号を含
んでいる。応答プロセッサ(応答するプロセッサのこ
と)GPP0-GPPN-1若しくは共用メモリSMは要求プロセッ
サGPP0-GPPN-1のRID(要求者識別子)を返し、その結
果、後者はそれがREAD RESPONSEの意図した受け取り人
であるか否かを決定できる。
第4E図はバストランザクションWRITE MODIFIED若しくは
WRITE NEW DATAに関し、INFO GROUPがコマンドを有し、
かつそれぞれのタイムスロットのデータフィールドの内
容が1カッド語QWのデータワードDW0-DW3を後に従えた
アドレスPAであることを示している。第4F図はバスト
ランザクションWRITE UNMODIFIEDに関し、INFO GROUPが
コマンドを有し、かつデータフィールドの内容がアドレ
スPAを含んでいることを示している。
WRITE NEW DATAに関し、INFO GROUPがコマンドを有し、
かつそれぞれのタイムスロットのデータフィールドの内
容が1カッド語QWのデータワードDW0-DW3を後に従えた
アドレスPAであることを示している。第4F図はバスト
ランザクションWRITE UNMODIFIEDに関し、INFO GROUPが
コマンドを有し、かつデータフィールドの内容がアドレ
スPAを含んでいることを示している。
第5A図はバストランザクションREAD REUEST PUBLICの全
体を広くかつ概略的に説明するために用いる。アドレス
PAがPUBLICの使用モードUを有し、従って共用メモリSM
はアドレスPAの所有者であり、かつブロックBに示すよ
うに正データDを持つと、想定する。コンピュータシス
テム10の全体にわたりそのアドレスPAに対してデータD
の他のコピーは現在存在しない、とさらに想定する。
体を広くかつ概略的に説明するために用いる。アドレス
PAがPUBLICの使用モードUを有し、従って共用メモリSM
はアドレスPAの所有者であり、かつブロックBに示すよ
うに正データDを持つと、想定する。コンピュータシス
テム10の全体にわたりそのアドレスPAに対してデータD
の他のコピーは現在存在しない、とさらに想定する。
今、プロセッサGPP0-GPPN-1の1つ、例えばプロセッサG
PP0がデータDに対する読み取り専用アクセスを望んで
いると想定する。それ故、プロセッサGPP0はARB GROUP
を介してバス22を獲得した後、第4C図に示すINFO GRO
UPをバス22を介して伝送する。このINFO GROUPはプロセ
ッサGPP0-GPPN-1及び共用メモリSM(実際にはMMCによ
る)によりモニタされる。共用メモリSMはアドレスPAの
所有者であるから、共用メモリSMがビジイでないと想定
すると、ACK GROUPのSM-ACKのACK信号が共用メモリSMに
よりバス22を通じて送られ、かつこれが要求プロセッサ
GPP0により受け取られる。次いで、要求プロセッサPP0
は使用モードフラグUをPUBLICにセットし、これによ
り、このバストランザクションREAD REQUEST PUBLICが
完了する。
PP0がデータDに対する読み取り専用アクセスを望んで
いると想定する。それ故、プロセッサGPP0はARB GROUP
を介してバス22を獲得した後、第4C図に示すINFO GRO
UPをバス22を介して伝送する。このINFO GROUPはプロセ
ッサGPP0-GPPN-1及び共用メモリSM(実際にはMMCによ
る)によりモニタされる。共用メモリSMはアドレスPAの
所有者であるから、共用メモリSMがビジイでないと想定
すると、ACK GROUPのSM-ACKのACK信号が共用メモリSMに
よりバス22を通じて送られ、かつこれが要求プロセッサ
GPP0により受け取られる。次いで、要求プロセッサPP0
は使用モードフラグUをPUBLICにセットし、これによ
り、このバストランザクションREAD REQUEST PUBLICが
完了する。
第5B図はバストランザクションREAD RESPONSEを説明す
るのに用いる図である。この今回の例においては、READ
RESPONSEは、第5A図に示すように、要求プロセッサGPP
0により開始されるREAD REQUEST PUBLICに対する応答と
なる。ARB GROUPを介してバス22に対して調停しアクセ
スを受け取った後に、第4D図に示すINFO GROUPが共用メ
モリSMにより伝送され、要求プロセッサGPP0によりその
受け取りがあると、ACK GROUPのCM-ACKのACKを介して受
信確認(肯定応答)がされる。この結果、そのプロセッ
サGPP0のキャッシュメモリCM0は第5B図に示すようにPUB
LICの使用モードを持ったデータDの有効コピーを記憶
する。したがって、READ REQUEST PUBLICに対するREAD
RESPONSEの完了時には、共用メモリSMはアドレスPAの所
有者のままであって、正データDを有し、さらにプロセ
ッサGPP0はデータDの有効コピーを有する。
るのに用いる図である。この今回の例においては、READ
RESPONSEは、第5A図に示すように、要求プロセッサGPP
0により開始されるREAD REQUEST PUBLICに対する応答と
なる。ARB GROUPを介してバス22に対して調停しアクセ
スを受け取った後に、第4D図に示すINFO GROUPが共用メ
モリSMにより伝送され、要求プロセッサGPP0によりその
受け取りがあると、ACK GROUPのCM-ACKのACKを介して受
信確認(肯定応答)がされる。この結果、そのプロセッ
サGPP0のキャッシュメモリCM0は第5B図に示すようにPUB
LICの使用モードを持ったデータDの有効コピーを記憶
する。したがって、READ REQUEST PUBLICに対するREAD
RESPONSEの完了時には、共用メモリSMはアドレスPAの所
有者のままであって、正データDを有し、さらにプロセ
ッサGPP0はデータDの有効コピーを有する。
第6A図及び第6B図は、他のプロセッサGPP1-GPPN-1がデ
ータDに対する読み取り専用アクセスを得ることができ
る方法を全体的にかつ概略的に説明するのに用いる図で
ある。ただしこの場合は、アドレスPAの所有権及び使用
モードは第5B図に示すように存在していると想定する。
例えば、プロセッサGPP1がアドレスPAのデータDを読み
取ることのみを望んでいると想定すると、それ故に、プ
ロセッサGPP1はバストランザクションREAD REQUEST PUB
LICを開始する。すなわち、ARB GROUPを介してバス22に
対して調整しアクセスを受け取った後に、要求プロセッ
サGPP1は第4C図に示すINFO GROUPを伝送する。共用メモ
リSMはアドレスPAの所有者であるので、共用メモリSMが
ビジイでないとすると、共用メモリSMはACK GROUPのSM-
ACKのACKを介して受信確認を伝送する。このACKは要求
プロセッサGPP1により受けとられ、このプロセッサGPP1
は次いで使用モードフラグUをPUBLICにセットする。
ータDに対する読み取り専用アクセスを得ることができ
る方法を全体的にかつ概略的に説明するのに用いる図で
ある。ただしこの場合は、アドレスPAの所有権及び使用
モードは第5B図に示すように存在していると想定する。
例えば、プロセッサGPP1がアドレスPAのデータDを読み
取ることのみを望んでいると想定すると、それ故に、プ
ロセッサGPP1はバストランザクションREAD REQUEST PUB
LICを開始する。すなわち、ARB GROUPを介してバス22に
対して調整しアクセスを受け取った後に、要求プロセッ
サGPP1は第4C図に示すINFO GROUPを伝送する。共用メモ
リSMはアドレスPAの所有者であるので、共用メモリSMが
ビジイでないとすると、共用メモリSMはACK GROUPのSM-
ACKのACKを介して受信確認を伝送する。このACKは要求
プロセッサGPP1により受けとられ、このプロセッサGPP1
は次いで使用モードフラグUをPUBLICにセットする。
その後、第6B図に示すように、共用メモリSMは、ARB GR
OUPを介してバス22に対して調停しアクセスを受け取っ
た後で、共用メモリSMはバス22上に第4D図に示すINFO G
ROUPを発生する。要求プロセッサGPP1は、次いで、ACK
GROUPのCM-ACKのACKを介してデータDの受け入れを受信
確認する。その結果、データDのコピーはPUBLICの使用
モードを持ったキャッシュメモリCM1に記憶される。従
って、第6B図に示すREAD RESPONSEの完了時いは、共用
メモリSMはアドレスPAの所有者であって、正データDを
待ち、プロセッサGPP0及びプロセッサGPP1がデータDの
VALIDコピーを持つ。
OUPを介してバス22に対して調停しアクセスを受け取っ
た後で、共用メモリSMはバス22上に第4D図に示すINFO G
ROUPを発生する。要求プロセッサGPP1は、次いで、ACK
GROUPのCM-ACKのACKを介してデータDの受け入れを受信
確認する。その結果、データDのコピーはPUBLICの使用
モードを持ったキャッシュメモリCM1に記憶される。従
って、第6B図に示すREAD RESPONSEの完了時いは、共用
メモリSMはアドレスPAの所有者であって、正データDを
待ち、プロセッサGPP0及びプロセッサGPP1がデータDの
VALIDコピーを持つ。
第7A図及び第7B図はバストランザクションREAD REQUEST
PRIVATE及び次のバストランザクションREAD RESPONSE
をそれぞれ全般的に概略的に説明するためのものであ
る。この場合は、最初は、アドレスPAの所有権及び使用
モードは第6B図に示すようなものとする。プロセッサ
GPPN-1は、データDを変更するために、データDに対す
る読み取りおよび書き込みアクセスを使用していると想
定する。従って、プロセッサGPPN-1は、ARB GROUPを介
してバス22に対して調停しアクセスを受け取った後に、
第4C図に示すINFO GROUPをバス22上に発生する。共用
メモリSMがアドレスPAの所有者であるので、共用メモリ
SMがビジイでないと想定すると、共用メモリはSMはACK
GROUPのSM-ACK信号を介してINFO GROUPの受け取りを受
け入れる。ACKの発生に応じて、共用メモリSMは使用モ
ードフグUをPRIVATEにリセットし、プロセッサGPPN-1
は有効フラグVをVALIDに設定することで、アドレスPA
の所有権は共用メモリSMからプロセッサGPPN-1に移され
る。プロセッサGPP0-GPP1は、自身のキャッシュメモリC
M0-CM1に記憶されているデータDのアドレスPAに対して
バス22をモニタしており、当該ACKの受け取りに応じ
て、プロセッサGPP0-GPP1はアドレスPAに対して有効フ
ラグVをINVALIDにリセットし、これにより対応するデ
ータDを無効化する。
PRIVATE及び次のバストランザクションREAD RESPONSE
をそれぞれ全般的に概略的に説明するためのものであ
る。この場合は、最初は、アドレスPAの所有権及び使用
モードは第6B図に示すようなものとする。プロセッサ
GPPN-1は、データDを変更するために、データDに対す
る読み取りおよび書き込みアクセスを使用していると想
定する。従って、プロセッサGPPN-1は、ARB GROUPを介
してバス22に対して調停しアクセスを受け取った後に、
第4C図に示すINFO GROUPをバス22上に発生する。共用
メモリSMがアドレスPAの所有者であるので、共用メモリ
SMがビジイでないと想定すると、共用メモリはSMはACK
GROUPのSM-ACK信号を介してINFO GROUPの受け取りを受
け入れる。ACKの発生に応じて、共用メモリSMは使用モ
ードフグUをPRIVATEにリセットし、プロセッサGPPN-1
は有効フラグVをVALIDに設定することで、アドレスPA
の所有権は共用メモリSMからプロセッサGPPN-1に移され
る。プロセッサGPP0-GPP1は、自身のキャッシュメモリC
M0-CM1に記憶されているデータDのアドレスPAに対して
バス22をモニタしており、当該ACKの受け取りに応じ
て、プロセッサGPP0-GPP1はアドレスPAに対して有効フ
ラグVをINVALIDにリセットし、これにより対応するデ
ータDを無効化する。
その後、第7B図に示すように、共用メモリSMはARB GROU
Pを介してバス22をアクセスした後、第4D図に示すINFO
GROUPの一部としてデータDをバス22上に転送する。従
って、このREAD RESPONSEの完了時には、第7B図に示す
ように、プロセッサGPPN-1はアドレスPAの所有者であ
り、利用モードフラグUはPRIVATEにセットされてお
り、データDはプロセサGPPN-1により読み取りおよび書
き込みアクセスに対して利用可能となっている。
Pを介してバス22をアクセスした後、第4D図に示すINFO
GROUPの一部としてデータDをバス22上に転送する。従
って、このREAD RESPONSEの完了時には、第7B図に示す
ように、プロセッサGPPN-1はアドレスPAの所有者であ
り、利用モードフラグUはPRIVATEにセットされてお
り、データDはプロセサGPPN-1により読み取りおよび書
き込みアクセスに対して利用可能となっている。
第8A図及び第8B図は、アドレスPAの所有者及びデータD
の使用モードが第7B図に示すようなときの、バストラン
ザクションREAD REQUEST PRIVATE及びバストランザクシ
ョンREAD RESPONSEを全体的に概略的に図示している。
つまり、プロセッサGPPN-1がアドレスPAの所有者であ
り、データDの使用モードはPRIVATEであると、想定し
ている。
の使用モードが第7B図に示すようなときの、バストラン
ザクションREAD REQUEST PRIVATE及びバストランザクシ
ョンREAD RESPONSEを全体的に概略的に図示している。
つまり、プロセッサGPPN-1がアドレスPAの所有者であ
り、データDの使用モードはPRIVATEであると、想定し
ている。
今、第8A図に示すように、プロセッサGPP5がアドレスPA
のデータDに対する読み取り/書き込みアクセスを行い
たいと想定する。従って、要求プロセッサGPP5はバス22
に対するアクセスについて調停し、アクセスを受け取っ
た後、バス22上に第4C図に示すINFO GROUPを発生する。
アドレスPAの所有者であるプロセッサGPPN-1は、ACK GR
OUPのCM-ACKのACKを介してINFO GROUPの受け取りを確認
(肯定応答)し、有効フラグVをINVALIDにリセットす
る。また、所有権の変更に伴って、プロセッサGPP5は有
効フラグVをVALIDにセットする。
のデータDに対する読み取り/書き込みアクセスを行い
たいと想定する。従って、要求プロセッサGPP5はバス22
に対するアクセスについて調停し、アクセスを受け取っ
た後、バス22上に第4C図に示すINFO GROUPを発生する。
アドレスPAの所有者であるプロセッサGPPN-1は、ACK GR
OUPのCM-ACKのACKを介してINFO GROUPの受け取りを確認
(肯定応答)し、有効フラグVをINVALIDにリセットす
る。また、所有権の変更に伴って、プロセッサGPP5は有
効フラグVをVALIDにセットする。
その後、第8B図に示すように、プロセッサGPPN-1はバス
トランザクションREAD RESPONSEを開始させる。このREA
D RESPONSEは第4D図に示されているようにARB GROUPとI
NFO GROUPを含む。これにより、プロセッサGPP5はアド
レスPAの新しい所有者であって、データDの有効コピー
に対して読み取り/書き込みのアクセスを有する。
トランザクションREAD RESPONSEを開始させる。このREA
D RESPONSEは第4D図に示されているようにARB GROUPとI
NFO GROUPを含む。これにより、プロセッサGPP5はアド
レスPAの新しい所有者であって、データDの有効コピー
に対して読み取り/書き込みのアクセスを有する。
第9A図ないし第9D図は第8B図に示す状態でのバストラン
ザクションREAD REQUEST PUBLICを全体的に概略的に図
示している。この状態では、アドレスPAの所有者はプロ
セッサGPP5であり、データDはPRIVATEの使用モードを
持つ。プロセッサGPP2がデータDの読み取りを欲してい
るものとする。従って、第9A図に示すように、プロセッ
サGPP2はバストランザクションREAD REQUEST PUBLICを
開始する。これにより、アドレスPAの所有者である、プ
ロセッサGPP5がACK GROUPの信号CM-ACKとしてビジイ信
号をバス22を通じて送る。このビジイ信号は、次で、プ
ロセッサGPP2により受け取られる。
ザクションREAD REQUEST PUBLICを全体的に概略的に図
示している。この状態では、アドレスPAの所有者はプロ
セッサGPP5であり、データDはPRIVATEの使用モードを
持つ。プロセッサGPP2がデータDの読み取りを欲してい
るものとする。従って、第9A図に示すように、プロセッ
サGPP2はバストランザクションREAD REQUEST PUBLICを
開始する。これにより、アドレスPAの所有者である、プ
ロセッサGPP5がACK GROUPの信号CM-ACKとしてビジイ信
号をバス22を通じて送る。このビジイ信号は、次で、プ
ロセッサGPP2により受け取られる。
次に、第9Bに示すように、プロセッサGPP5は、バストラ
ンザクションWRITE MODIFIED若しくはWRITE UNMODIFIED
を、データDがプロセッサGPP5によりすでに変更されて
いるか否かに基づいて、開始される。その結果、共用メ
モリSMは適切なINFO GROUP(第4E図及び第4F図を参照)
を受け取る。ついで、共用メモリSMはバス22上にACK GR
OUPのSM-ACKのACKを伝送する。このACKはプロセッサGPP
5によって受け取られる。これに伴い、共用メモリSMは
使用モードフラグUをPUBLICにリセットし、、プロセッ
サGGP5は有効フラグVをINVALIDにリセットする。この
時、それにより、共用メモリSMはアドレスPAの所有者と
なり、データDの使用モードはPUBLICとなる。また、そ
れ故、この時のアドレスPAの所有権及びデータDの使用
モードは、第9B図に示すように、第5A図に示したものと
同じとなる。
ンザクションWRITE MODIFIED若しくはWRITE UNMODIFIED
を、データDがプロセッサGPP5によりすでに変更されて
いるか否かに基づいて、開始される。その結果、共用メ
モリSMは適切なINFO GROUP(第4E図及び第4F図を参照)
を受け取る。ついで、共用メモリSMはバス22上にACK GR
OUPのSM-ACKのACKを伝送する。このACKはプロセッサGPP
5によって受け取られる。これに伴い、共用メモリSMは
使用モードフラグUをPUBLICにリセットし、、プロセッ
サGGP5は有効フラグVをINVALIDにリセットする。この
時、それにより、共用メモリSMはアドレスPAの所有者と
なり、データDの使用モードはPUBLICとなる。また、そ
れ故、この時のアドレスPAの所有権及びデータDの使用
モードは、第9B図に示すように、第5A図に示したものと
同じとなる。
次に、第9C図に示すように、プロセッサGPP2はバストラ
ンザクションREADD REQUEST PUBLICを再発行する。この
READ REQUEST PUBLICに引き続いて、第9D図に示すよ
うに、共用メモリSMがバストランザクションREAD RESPO
NSEを発行する。このシーケンスは、それぞれ第5A図及
び第5B図との関連で述べたものと同様なものである。従
って、第9A図に示すように、最初のバストランザクショ
ンREAD REQUEST PUBLICの結果は、プロセッサGPP2がデ
ータDの有効コピー即ちPUBLICコピーを有し、共用メモ
リSMがそのデータDのアドレスPAの所有者となるという
ことになる。
ンザクションREADD REQUEST PUBLICを再発行する。この
READ REQUEST PUBLICに引き続いて、第9D図に示すよ
うに、共用メモリSMがバストランザクションREAD RESPO
NSEを発行する。このシーケンスは、それぞれ第5A図及
び第5B図との関連で述べたものと同様なものである。従
って、第9A図に示すように、最初のバストランザクショ
ンREAD REQUEST PUBLICの結果は、プロセッサGPP2がデ
ータDの有効コピー即ちPUBLICコピーを有し、共用メモ
リSMがそのデータDのアドレスPAの所有者となるという
ことになる。
第10図は、例えば共用メモリSMがアドレスPAの所有者で
あり、多数のプロセッサ、例えば、プロセッサGPP0,GP
P1及びGPPN-1がデータDのコピーを有するという状態で
の、バストランザクションWRITE NEW DATAを全体的に概
略的に示している。バストランザクションWTITE NEW DA
TAはバス22を介して入出力プロセッサ26により開始させ
られる。共用メモリSMによるSM-ACKのACKの発生に応答
して、プロセッサGPP0,GPP1およびGPPN-1は有効フラグ
VをINVALIDにリセットし、共用メモリSMは使用モード
フラグUをPUBLICにリセットする。従って、この時、ア
ドレスPAの所有者である共用メモリSMは新しいデータD
を記憶する。
あり、多数のプロセッサ、例えば、プロセッサGPP0,GP
P1及びGPPN-1がデータDのコピーを有するという状態で
の、バストランザクションWRITE NEW DATAを全体的に概
略的に示している。バストランザクションWTITE NEW DA
TAはバス22を介して入出力プロセッサ26により開始させ
られる。共用メモリSMによるSM-ACKのACKの発生に応答
して、プロセッサGPP0,GPP1およびGPPN-1は有効フラグ
VをINVALIDにリセットし、共用メモリSMは使用モード
フラグUをPUBLICにリセットする。従って、この時、ア
ドレスPAの所有者である共用メモリSMは新しいデータD
を記憶する。
以上のことを要約すると、各プロセッサGPP0-GPPN-1は
あるバストランザクションを開始でき、バストランザク
ションのすべてに対してバス22をモニタしなければなら
ない。さらに詳しくは、各プロセッサGPP0-GPPN-1は、
(1)READ REQUEST PUBLIC,(2)READ REQUEST PRIVATE,
(3)READ RESPONSE,(4)WRITE UNMODIFIED,および(5)WR
ITE MODIFIEDを開始できる。残りのバストランザクショ
ンWRITE NEW DATAは入出力プロセッサ26により開始させ
られる。
あるバストランザクションを開始でき、バストランザク
ションのすべてに対してバス22をモニタしなければなら
ない。さらに詳しくは、各プロセッサGPP0-GPPN-1は、
(1)READ REQUEST PUBLIC,(2)READ REQUEST PRIVATE,
(3)READ RESPONSE,(4)WRITE UNMODIFIED,および(5)WR
ITE MODIFIEDを開始できる。残りのバストランザクショ
ンWRITE NEW DATAは入出力プロセッサ26により開始させ
られる。
各所定のプロセッサGPP0-GPPN-1は、物理アドレスPAの
1つまたはそれ以上はそれぞれのプロセッサGPP0-GPP
N-1に記憶されている場合、バス22上にある物理アドレ
スPAに対するバストランザクションの全てをモニタしな
ければならない。これらの物理アドレスPAがそのように
記憶されていれば、所定のプロセッサGPP0-GPPN-1は原
理的に対応するデータDに記憶された有効コピーについ
て下記のアクションを取ってよい。
1つまたはそれ以上はそれぞれのプロセッサGPP0-GPP
N-1に記憶されている場合、バス22上にある物理アドレ
スPAに対するバストランザクションの全てをモニタしな
ければならない。これらの物理アドレスPAがそのように
記憶されていれば、所定のプロセッサGPP0-GPPN-1は原
理的に対応するデータDに記憶された有効コピーについ
て下記のアクションを取ってよい。
モニタされたバストランザクションがREAD REQUEST PUB
LICであるならば、また、記憶されたアドレスPAがPUBLI
Cの使用モードを持つのであるならば、所定のプロセッ
サGPP0-GPPN-1はアクションを何も取らない。だが、も
し、記憶されたアドレスがPRIVATEの使用モードを持つ
のであるならば、所定のプロセッサGPP0-GPPN-1は(1)AC
K GROUPのCM-ACK用のビジイを発生し、(2)共用メモリSM
に対してWRITE MODIFIED若しくはWRITE UNMODIFIEDを開
始し、(3)対応データDの有効フラグVをINVALIDにリセ
ットする。
LICであるならば、また、記憶されたアドレスPAがPUBLI
Cの使用モードを持つのであるならば、所定のプロセッ
サGPP0-GPPN-1はアクションを何も取らない。だが、も
し、記憶されたアドレスがPRIVATEの使用モードを持つ
のであるならば、所定のプロセッサGPP0-GPPN-1は(1)AC
K GROUPのCM-ACK用のビジイを発生し、(2)共用メモリSM
に対してWRITE MODIFIED若しくはWRITE UNMODIFIEDを開
始し、(3)対応データDの有効フラグVをINVALIDにリセ
ットする。
もし、モニタされたバストランザクションがREAD REQUE
ST PRIVATEであり、また記憶されたアドレスPAがPUBLIC
の使用モードを持つのであるなら、限定のプロセッサGP
P0-GPPN-1は有効フラグVをINVALIDにリセットする。だ
が、記憶されたアドレスがPAがREAD REQUEST PRIVATEの
使用モードを持つならば、所定のプロセッサGPP0-GPP
N-1は(1)有効フラグVをINVALIDにリセットし、次で、
(2)READ RESPONSEを発行する。従って、この場合は、プ
ロセッサからプロセッサへの直接のデータ転送となる。
ST PRIVATEであり、また記憶されたアドレスPAがPUBLIC
の使用モードを持つのであるなら、限定のプロセッサGP
P0-GPPN-1は有効フラグVをINVALIDにリセットする。だ
が、記憶されたアドレスがPAがREAD REQUEST PRIVATEの
使用モードを持つならば、所定のプロセッサGPP0-GPP
N-1は(1)有効フラグVをINVALIDにリセットし、次で、
(2)READ RESPONSEを発行する。従って、この場合は、プ
ロセッサからプロセッサへの直接のデータ転送となる。
もし、モニタされたバストランザクションがREAD RESPO
NSEであるならば、所定のプロセッサGPP0-GPPN-1は何の
アクションも取らない。
NSEであるならば、所定のプロセッサGPP0-GPPN-1は何の
アクションも取らない。
モニタされたバストランザクションがWRITE UNMODIFIED
であり、かつ使用モードがPUBLIC若しくはPRIVATEであ
るならば、エラー状態が発生する。モニタされたバスト
ランザクションがWRITE MODIFIEDの場合も、同様のこと
が言える。
であり、かつ使用モードがPUBLIC若しくはPRIVATEであ
るならば、エラー状態が発生する。モニタされたバスト
ランザクションがWRITE MODIFIEDの場合も、同様のこと
が言える。
モニタされたバストランザクションがWRITE NEW DATAで
あるならば、かつ記憶されたアドレスPAがPUBLIC若しく
はPRIVATEの使用モードであるならば、該当のプロセッ
サGPP0-GPPN-1は対応する有効フラブVをINVALIDにリセ
ットする。
あるならば、かつ記憶されたアドレスPAがPUBLIC若しく
はPRIVATEの使用モードであるならば、該当のプロセッ
サGPP0-GPPN-1は対応する有効フラブVをINVALIDにリセ
ットする。
第11図は典型的な好例となる汎用プロセッサGPP、すな
わち、プロセッサGPP0-GPPN-1の1つのブロック図であ
る。汎用プロセッサGPPはプロセッササブシステム手段3
0、アドレス可能キャッシュメモリ手段32、バスインタ
ーフェース手段34、およびアドレスバッファ36を備えて
いる。アドレス可能キャッシュメモリ手段32はキャッシ
ュメモリCMを有している。そして、以下の記載のものを
除いて、これらの手段はすべてマイクロエンジン手段38
により同期制御されている。プロセッササブシステム手
段30、キャッシュメモリ手段32、バスインターフェース
手段34、アドレスバッファ36、およびマイクロエンジン
手段38間の通信は内部制御バスICB、内部アドレスバスI
AB、および内部データバスIDBを通じて行われる。バス
インタフェース手段34は、内部データバスIDBと拡張バ
ス22との間のインターフェースを提供する。
わち、プロセッサGPP0-GPPN-1の1つのブロック図であ
る。汎用プロセッサGPPはプロセッササブシステム手段3
0、アドレス可能キャッシュメモリ手段32、バスインタ
ーフェース手段34、およびアドレスバッファ36を備えて
いる。アドレス可能キャッシュメモリ手段32はキャッシ
ュメモリCMを有している。そして、以下の記載のものを
除いて、これらの手段はすべてマイクロエンジン手段38
により同期制御されている。プロセッササブシステム手
段30、キャッシュメモリ手段32、バスインターフェース
手段34、アドレスバッファ36、およびマイクロエンジン
手段38間の通信は内部制御バスICB、内部アドレスバスI
AB、および内部データバスIDBを通じて行われる。バス
インタフェース手段34は、内部データバスIDBと拡張バ
ス22との間のインターフェースを提供する。
以下に更に詳しく述べる点を除いて、汎用プロセッサGP
Pは一般に次のような方法で動作する。プロセッササブ
システム手段30は所望のデータDをアクセスするため内
部アドレスバスIAB上に所定の論理アドレスPAを産出す
る。このデータDはキャッシュメモリCMに記憶されてい
ても(キャッシュヒットとなる)、されていなくとも良
い(キャッシュミスとなる)。もし、物理アドレスPAの
所望のデータDがキャッシュメモリCMに記憶されている
のならば、キャッシュヒットが発生し、このキャッシュ
ヒット情報は、キャッシュメモリ手段32によりマイクロ
エンジン手段38に与えられる。それで、マイクロエンジ
ン手段38によるそれ以上の介入は不必要となり、今度は
キャッシュメモリ手段32がキャッシュメモリCMに対する
アクセスを制御する。この制御により、被要求データD
は内部データバスIDBを通じてプロセッササブシステム
手段30に供給され、データアクセスが完了する。
Pは一般に次のような方法で動作する。プロセッササブ
システム手段30は所望のデータDをアクセスするため内
部アドレスバスIAB上に所定の論理アドレスPAを産出す
る。このデータDはキャッシュメモリCMに記憶されてい
ても(キャッシュヒットとなる)、されていなくとも良
い(キャッシュミスとなる)。もし、物理アドレスPAの
所望のデータDがキャッシュメモリCMに記憶されている
のならば、キャッシュヒットが発生し、このキャッシュ
ヒット情報は、キャッシュメモリ手段32によりマイクロ
エンジン手段38に与えられる。それで、マイクロエンジ
ン手段38によるそれ以上の介入は不必要となり、今度は
キャッシュメモリ手段32がキャッシュメモリCMに対する
アクセスを制御する。この制御により、被要求データD
は内部データバスIDBを通じてプロセッササブシステム
手段30に供給され、データアクセスが完了する。
もし、所望のデータDがキャッシュメモリCMに記憶され
ていないならば、キャッシュミスが発生し、このキャッ
シュミス情報はキャッシュメモリ手段32によりマイクロ
エンジン手段38に与えられる。この結果として、マイク
ロエンジン手段38は現在キャッシュメモリCMに記憶され
ているデータDを割振り解除(割当て解除ともいう)
し、共用メモリSMから所望のデータDを得るために介入
する。また、プロセッササブシステム手段30によるキャ
ッシュメモリCMに対するアクセス、即ち、現在のメモリ
アクセスサイクルは、マイクロエンジン手段38により一
時的に停止される。この停止はキャッシュメモリCMに所
望のデータが記憶されるまで行われる。
ていないならば、キャッシュミスが発生し、このキャッ
シュミス情報はキャッシュメモリ手段32によりマイクロ
エンジン手段38に与えられる。この結果として、マイク
ロエンジン手段38は現在キャッシュメモリCMに記憶され
ているデータDを割振り解除(割当て解除ともいう)
し、共用メモリSMから所望のデータDを得るために介入
する。また、プロセッササブシステム手段30によるキャ
ッシュメモリCMに対するアクセス、即ち、現在のメモリ
アクセスサイクルは、マイクロエンジン手段38により一
時的に停止される。この停止はキャッシュメモリCMに所
望のデータが記憶されるまで行われる。
さらに詳しくは、キャッシュミスのときには、マイクロ
エンジン手段38はプロセッササブシステム手段30を制御
して、現在のメモリアクセスサイクルを停止させる。さ
らに、マイクロエンジン手段38はキャッシュメモリCMに
記憶されている現在のデータDをアクセスして、ついで
バスインターフェース手段34を制御し、現在のデータD
がPRIVATEであるならば、バストランザクションWRITE M
ODIFIED若しくはWRITE UNMODIFIEDを開始させる。この
開始は、現在のデータDが変更されているか、いないか
によって行われる。これにより、現在のデータDの割振
り解除(deallocation)が完了する。ついで、マイクロエ
ンジン手段38はバスインターフェース手段34を制御し、
所望のデータDを得るため、READ REQUEST PRIVATE若し
くはREAD REQUEST PUBLICを開始させる。マイクロエン
ジン手段38の制御の下で、バスインターフェース手段34
は次にREAD RESPONSEをモニタし、READ RESPONSEを受け
取ると、これにより受信した所望のデータDはマイクロ
エンジン手段38により内部データバスIDBを介してキャ
ッシュメモリCMに転送される。その後、マイクロエンジ
ン手段38はプロセッササブシステム手段30に論理アドレ
スPAを再び発行するように命令する。つまり、現在のメ
モリアクセスサイクルを再び継続させることを命令す
る。これにより、キャッシュヒットが得られ、キャッシ
ュメモリ手段32による制御のもとに所望のデータDに対
してアクセスを行う。
エンジン手段38はプロセッササブシステム手段30を制御
して、現在のメモリアクセスサイクルを停止させる。さ
らに、マイクロエンジン手段38はキャッシュメモリCMに
記憶されている現在のデータDをアクセスして、ついで
バスインターフェース手段34を制御し、現在のデータD
がPRIVATEであるならば、バストランザクションWRITE M
ODIFIED若しくはWRITE UNMODIFIEDを開始させる。この
開始は、現在のデータDが変更されているか、いないか
によって行われる。これにより、現在のデータDの割振
り解除(deallocation)が完了する。ついで、マイクロエ
ンジン手段38はバスインターフェース手段34を制御し、
所望のデータDを得るため、READ REQUEST PRIVATE若し
くはREAD REQUEST PUBLICを開始させる。マイクロエン
ジン手段38の制御の下で、バスインターフェース手段34
は次にREAD RESPONSEをモニタし、READ RESPONSEを受け
取ると、これにより受信した所望のデータDはマイクロ
エンジン手段38により内部データバスIDBを介してキャ
ッシュメモリCMに転送される。その後、マイクロエンジ
ン手段38はプロセッササブシステム手段30に論理アドレ
スPAを再び発行するように命令する。つまり、現在のメ
モリアクセスサイクルを再び継続させることを命令す
る。これにより、キャッシュヒットが得られ、キャッシ
ュメモリ手段32による制御のもとに所望のデータDに対
してアクセスを行う。
バスインターフェース手段34には、また、キャッシュメ
モリCMに記憶されているすべてのデータDの物理アドレ
スPAに関する、バス22上のすべてのバストランザクショ
ンのモニタを行う。もし、かかるアドレスPAがバス22上
にあるならば、バスインターフェース手段34はACK GROU
Pを介してバストランザクションを受け入れ、このこと
をマイクロエンジン手段38に知らせる。これに応じて、
マイクロエンジン手段38はキャッシュメモリ手段32及び
バスインターフェース手段34を制御して、バストランザ
クションREAD RESPONSEをバス22上に生成する。
モリCMに記憶されているすべてのデータDの物理アドレ
スPAに関する、バス22上のすべてのバストランザクショ
ンのモニタを行う。もし、かかるアドレスPAがバス22上
にあるならば、バスインターフェース手段34はACK GROU
Pを介してバストランザクションを受け入れ、このこと
をマイクロエンジン手段38に知らせる。これに応じて、
マイクロエンジン手段38はキャッシュメモリ手段32及び
バスインターフェース手段34を制御して、バストランザ
クションREAD RESPONSEをバス22上に生成する。
第12図は、第11図に示す汎用プロセッサGPPの更に詳細
な構成を示す。プロセッササブシステム手段30はモトロ
ーラ社製のMC68000のような、マイクロプロセッサ30-1
を包含する。このマイクロプロセッサ30-1は、符号30-3
で総括的に示すパス(経路)を介して、マイクロプロセ
ッサ制御装置及びアドレスデコーダ回路30-2に結合され
る。アドレスバッファ30-4はデコーダ回路30-2から受け
取った論理アドレスPAをアドレバス経路30-5を介して内
部アドレスバスIABに接続する。データバッファ30-6
は、データバス経路30-7を介して、マイクロプロセッサ
30-1及び内部データバスIDB間にデータを結合する。デ
コーダ回路30-2は、内部制御バスICBに結合された線30-
8から受け取った制御信号に応答して、マイクロエンジ
ン手段38により制御される。
な構成を示す。プロセッササブシステム手段30はモトロ
ーラ社製のMC68000のような、マイクロプロセッサ30-1
を包含する。このマイクロプロセッサ30-1は、符号30-3
で総括的に示すパス(経路)を介して、マイクロプロセ
ッサ制御装置及びアドレスデコーダ回路30-2に結合され
る。アドレスバッファ30-4はデコーダ回路30-2から受け
取った論理アドレスPAをアドレバス経路30-5を介して内
部アドレスバスIABに接続する。データバッファ30-6
は、データバス経路30-7を介して、マイクロプロセッサ
30-1及び内部データバスIDB間にデータを結合する。デ
コーダ回路30-2は、内部制御バスICBに結合された線30-
8から受け取った制御信号に応答して、マイクロエンジ
ン手段38により制御される。
プロセッササブシステム手段30のオペレーションにおい
て、所定のメモリアクセスサイクルの期間に所望のデー
タDをアクセスするため、マイクロプロセッサ30-1及び
デコーダ回路30-2は論理アドレスLPを発生し、この論理
アドレスLPは、それからアドレスバッファ30-4を介し
て、内部アドレスバスIAB上に出力される。前に簡潔に
述べたように、もし、キャッシュヒットが発生すると、
データDはキャッシュメモリ手段32から内部データバス
IDB及びデータバッファ30-6を介して、マイクロプロセ
ッサ30-1による待ちなしに、マイクロプロセッサ30-1へ
伝送される。もし、前に簡潔に述べたように、キャッシ
ュミスが発生したとすると、マイクロエンジン手段38は
制御線30-8を介してデコーダ回路30-2を制御し、マイク
ロプロセッサ30-1により現在のメモリアクセスサイクル
を停止させる。この時、マイクロプロセッサ30-1はキャ
ッシュメモリCM内の所望のデータDの獲得と記憶待ちで
ある。つまり、マイクロプロセッサ30-1は待ち状態にあ
る。その後、マイクロエンジン手段38は制御線30-8を介
してデコーダ回路30-2を制御し、論理アドレスLAを、ア
ドレスバッファ30-4を介して、内部アドレスバスIABに
再び出力させる。これにより、所望データDが、データ
バスバッファ30-6を介してマイクロプロセッサ30-1によ
りアクセスされ、受け取られ、処理される。
て、所定のメモリアクセスサイクルの期間に所望のデー
タDをアクセスするため、マイクロプロセッサ30-1及び
デコーダ回路30-2は論理アドレスLPを発生し、この論理
アドレスLPは、それからアドレスバッファ30-4を介し
て、内部アドレスバスIAB上に出力される。前に簡潔に
述べたように、もし、キャッシュヒットが発生すると、
データDはキャッシュメモリ手段32から内部データバス
IDB及びデータバッファ30-6を介して、マイクロプロセ
ッサ30-1による待ちなしに、マイクロプロセッサ30-1へ
伝送される。もし、前に簡潔に述べたように、キャッシ
ュミスが発生したとすると、マイクロエンジン手段38は
制御線30-8を介してデコーダ回路30-2を制御し、マイク
ロプロセッサ30-1により現在のメモリアクセスサイクル
を停止させる。この時、マイクロプロセッサ30-1はキャ
ッシュメモリCM内の所望のデータDの獲得と記憶待ちで
ある。つまり、マイクロプロセッサ30-1は待ち状態にあ
る。その後、マイクロエンジン手段38は制御線30-8を介
してデコーダ回路30-2を制御し、論理アドレスLAを、ア
ドレスバッファ30-4を介して、内部アドレスバスIABに
再び出力させる。これにより、所望データDが、データ
バスバッファ30-6を介してマイクロプロセッサ30-1によ
りアクセスされ、受け取られ、処理される。
以下に述べるキャッシュメモリ手段32、バスインターフ
ェース手段34、およびマイクロエンジン手段38のハード
ウェアの詳細をより十分に理解するために、本発明に使
用される一例として汎用プロセッサGPPの全体的なキャ
ッシュ編成及びアドレス変換技術を第13図ないし第16図
を参照して詳細に述べる。第13図はキャッシュメモリCM
の編成を示し、このキャッシュメモリCMは、キャッシュ
メモリCMに記憶された全データDの物理アドレス(詳し
くは、以下に論述する物理アドレスタグ)を記録する。
サイズを最小化するため、キャッシュメモリCM(及び共
用メモリSM)はデータDのブロックB、つまり、前述の
カッド語QWに、分割される。ブロックBはキャッシュメ
モリCMと共用メモリSMとの間の転送の基本単位である。
キャッシュメモリのサイズは、例えば、各々アドレスPA
を持つ1024個のカッド語QWである。キャッシュメモリCM
の各アドレスPAは1つのカッド語QW若しくはデータDの
ブロックBに対応する。セット・アソシエイテブ・ルッ
クアップ(セットサイズ=2、例えば、セットA及びセ
ットB)並びにハッシュコーディング若しくはインデク
シング(索引手法)が用いられ、すなわち、ハッシュイ
ンデクスについて2つのブロックBが使用される。キャ
ッシュミスに応じて、ランダム置換えアルゴリズムの後
で、1つのカッド語QW、すなわち所望のカッド語QWが共
用メモリSMからキャッシュメモリCMに移される。このラ
ンダム置換えアルゴリズムは、例えば、キャッシュメモ
リCMの記憶されたカッド語QWを割振り解除するために使
用される。これにより、所望のカッド語QWに対する記憶
位置が与えられる。
ェース手段34、およびマイクロエンジン手段38のハード
ウェアの詳細をより十分に理解するために、本発明に使
用される一例として汎用プロセッサGPPの全体的なキャ
ッシュ編成及びアドレス変換技術を第13図ないし第16図
を参照して詳細に述べる。第13図はキャッシュメモリCM
の編成を示し、このキャッシュメモリCMは、キャッシュ
メモリCMに記憶された全データDの物理アドレス(詳し
くは、以下に論述する物理アドレスタグ)を記録する。
サイズを最小化するため、キャッシュメモリCM(及び共
用メモリSM)はデータDのブロックB、つまり、前述の
カッド語QWに、分割される。ブロックBはキャッシュメ
モリCMと共用メモリSMとの間の転送の基本単位である。
キャッシュメモリのサイズは、例えば、各々アドレスPA
を持つ1024個のカッド語QWである。キャッシュメモリCM
の各アドレスPAは1つのカッド語QW若しくはデータDの
ブロックBに対応する。セット・アソシエイテブ・ルッ
クアップ(セットサイズ=2、例えば、セットA及びセ
ットB)並びにハッシュコーディング若しくはインデク
シング(索引手法)が用いられ、すなわち、ハッシュイ
ンデクスについて2つのブロックBが使用される。キャ
ッシュミスに応じて、ランダム置換えアルゴリズムの後
で、1つのカッド語QW、すなわち所望のカッド語QWが共
用メモリSMからキャッシュメモリCMに移される。このラ
ンダム置換えアルゴリズムは、例えば、キャッシュメモ
リCMの記憶されたカッド語QWを割振り解除するために使
用される。これにより、所望のカッド語QWに対する記憶
位置が与えられる。
また、本発明はノンライトスルー(非同時書込み)を採
用している。従って、マイクロプロセッサ30-1により更
新若しくは変更され、第21図のキャッシュエントリ変更
ルーチンとの関連で以下に説明するように、キャッシュ
メモリCMに記憶されている間、カッド語QWは、共用メモ
リSMに対して直ちに書き込まれない(ノンライトスル
ー)。反対に、所定の変更されたカッド語QWが(WRITE
MODIFIEDを介して)割振り解除されたとき、若しくは他
のプロセッサGPPが変更されたカッド語QW(READ RESPON
SEを介して書き込む)を要求した時には、ライトスルー
(同時書き込み)が発生する。
用している。従って、マイクロプロセッサ30-1により更
新若しくは変更され、第21図のキャッシュエントリ変更
ルーチンとの関連で以下に説明するように、キャッシュ
メモリCMに記憶されている間、カッド語QWは、共用メモ
リSMに対して直ちに書き込まれない(ノンライトスル
ー)。反対に、所定の変更されたカッド語QWが(WRITE
MODIFIEDを介して)割振り解除されたとき、若しくは他
のプロセッサGPPが変更されたカッド語QW(READ RESPON
SEを介して書き込む)を要求した時には、ライトスルー
(同時書き込み)が発生する。
第14図は、本発明を説明するための、32ビット物理アド
レスPA(31:00)の如き典型的な物理アドレスPAの詳細を
示す。詳述すると、すぐ前に述べたように、高速探索技
術が、ハッシュ コーディング及びアソシエイテブ・ル
ックアップの組み合わせを用いて、実行される。第14図
に示す物理アドレスPA(12:4)のハッシュコードフィー
ルド即ちインデクスは第13図に示すキャッシュメモリCM
の521行の1つRを選択する。物理アドレスPA(31:13)
は、ついで、選択された行Rに記憶された2つの物理ア
ドレスPA(31:13)と比較される。もし、一致(キャッシ
ュヒット)があると、物理アドレスPA(3:0)のカッド語
QWフィールドのバイトがキャッシュメモリCMに記憶され
たカッド語QWのデータワード(DW0-DW3)を選択する。
レスPA(31:00)の如き典型的な物理アドレスPAの詳細を
示す。詳述すると、すぐ前に述べたように、高速探索技
術が、ハッシュ コーディング及びアソシエイテブ・ル
ックアップの組み合わせを用いて、実行される。第14図
に示す物理アドレスPA(12:4)のハッシュコードフィー
ルド即ちインデクスは第13図に示すキャッシュメモリCM
の521行の1つRを選択する。物理アドレスPA(31:13)
は、ついで、選択された行Rに記憶された2つの物理ア
ドレスPA(31:13)と比較される。もし、一致(キャッシ
ュヒット)があると、物理アドレスPA(3:0)のカッド語
QWフィールドのバイトがキャッシュメモリCMに記憶され
たカッド語QWのデータワード(DW0-DW3)を選択する。
以下に記述する一定の条件下で、プロセッササブシステ
ム手段30により生成された論理アドレスLAが物理アドレ
スPAに変換されねばならないとき、通常のマッピングテ
ーブルが利用される。例えば、第15図に示すように、論
理アドレスLAは24ビットの整数(23:00)であり、1バイ
トを指定する。論理アドレスLAは、16セグメントの1つ
を指定するセグメント番号LSN(23:00)と、論理セグメ
ント内の512ページテーブルエントリーPTEの1つを指定
する論理ページ番号LPN(19:11)と、さらにページオフ
セット(10:00)とを持っている。
ム手段30により生成された論理アドレスLAが物理アドレ
スPAに変換されねばならないとき、通常のマッピングテ
ーブルが利用される。例えば、第15図に示すように、論
理アドレスLAは24ビットの整数(23:00)であり、1バイ
トを指定する。論理アドレスLAは、16セグメントの1つ
を指定するセグメント番号LSN(23:00)と、論理セグメ
ント内の512ページテーブルエントリーPTEの1つを指定
する論理ページ番号LPN(19:11)と、さらにページオフ
セット(10:00)とを持っている。
第16図は、論理アドレス−物理アドレス変換アルゴリズ
ムを説明するためのものである。論理アドレス−物理ア
ドレス変換は、必要なときに、第16図に示すように、セ
グメントテーブルSTとページテーブルPTを用いて実行さ
れる。セグメントテーブルSTは、一例として、16の4-バ
イトセグメントテーブルエントリSTEを持ち、ページテ
ーブルPTは、一例として、4-バイトページテーブルエン
トリPTEを持つ。各セグメントテーブルエントリSTEはペ
ージテーブルエントリPTEに対するポインタを有し、後
者PTEは共用メモリSM内のページに対するポインタを有
している。
ムを説明するためのものである。論理アドレス−物理ア
ドレス変換は、必要なときに、第16図に示すように、セ
グメントテーブルSTとページテーブルPTを用いて実行さ
れる。セグメントテーブルSTは、一例として、16の4-バ
イトセグメントテーブルエントリSTEを持ち、ページテ
ーブルPTは、一例として、4-バイトページテーブルエン
トリPTEを持つ。各セグメントテーブルエントリSTEはペ
ージテーブルエントリPTEに対するポインタを有し、後
者PTEは共用メモリSM内のページに対するポインタを有
している。
従って、論理アドレスLAが発生されると、その論理セグ
メント番号LSN(23:20)は4を掛けられて、その演算結
果はセグメントテーブルエントリSTEから引き出された
ページテーブルポインタに加えられる。この結果得られ
たアドレスは、セグメントのページテーブルPT内の選択
されたページテーブルエントリPTEを指す。ついで、指
定のページテーブルエントリPTEが共用メモリSMから取
り出される。ページテーブルエントリPTEから引き出さ
れたページフレームポインタは、物理アドレスPAのビッ
ト(31:11)を形成する。ついで、論理ページオフセット
(10:00)は、直接に物理アドレスPAの一部(10:00)とな
る。これにより、論理アドレス−物理アドレスの変換が
完了する。この論理アドレス−物理アドレスの変換は、
キャッシュメモリ手段32との関連で論じられるアドレス
変換キャッシュバッファとの関連で使用される。このア
ドレス変換キャッシュバッファは最近変換された物理ア
ドレスを記憶するものである。
メント番号LSN(23:20)は4を掛けられて、その演算結
果はセグメントテーブルエントリSTEから引き出された
ページテーブルポインタに加えられる。この結果得られ
たアドレスは、セグメントのページテーブルPT内の選択
されたページテーブルエントリPTEを指す。ついで、指
定のページテーブルエントリPTEが共用メモリSMから取
り出される。ページテーブルエントリPTEから引き出さ
れたページフレームポインタは、物理アドレスPAのビッ
ト(31:11)を形成する。ついで、論理ページオフセット
(10:00)は、直接に物理アドレスPAの一部(10:00)とな
る。これにより、論理アドレス−物理アドレスの変換が
完了する。この論理アドレス−物理アドレスの変換は、
キャッシュメモリ手段32との関連で論じられるアドレス
変換キャッシュバッファとの関連で使用される。このア
ドレス変換キャッシュバッファは最近変換された物理ア
ドレスを記憶するものである。
次にGPPの動作をキャッシュヒット若しくはキャッシュ
ミス及びすでに述べたバストランザクションとの関連で
手短に述べる。まず、キャッシュヒットがあるとする。
マイクロプロセッサ30-1の現在のメモリアクセスサイク
ルがデータDのページ、つまり、書き込んではならない
ページの、「読み取り専用」タイプの読み取りアクセス
であるとするならば、そのデータDはキャッシュメモリ
CMから読み出され、マイクロプロセッサ30-1に転送され
処理される。もし、メモリアクセスサイクルが、読み取
り/書き込みページ、つまり、読み取りあるいは書き込
みのできるページに対する読み取りサイクルであるなら
ば、データDはキャッシュメモリCMから読み出され、マ
イクロプロセッサ30-1に転送される。もし、メモリアク
セスサイクルが読み取り/書き込みページに対する書き
込みアクセスであるならば、データDは、もし、対応す
る使用モードがPRIVATEであるならば、キャッシュメモ
リに書き込まれる。かつまた、以下に述べるように、変
更フラグMがマイクロエンジン手段38によりMODIFIEDに
セットされる。だが、もし、かかるデータDの使用モー
ドがPUBLICであるならば、これはキャッシュミスを構成
し、マイクロエンジン手段38がREAD REQUEST PRIVATEを
介して介在し、データDを獲得若しくは再び取り込むこ
とが必要となる。
ミス及びすでに述べたバストランザクションとの関連で
手短に述べる。まず、キャッシュヒットがあるとする。
マイクロプロセッサ30-1の現在のメモリアクセスサイク
ルがデータDのページ、つまり、書き込んではならない
ページの、「読み取り専用」タイプの読み取りアクセス
であるとするならば、そのデータDはキャッシュメモリ
CMから読み出され、マイクロプロセッサ30-1に転送され
処理される。もし、メモリアクセスサイクルが、読み取
り/書き込みページ、つまり、読み取りあるいは書き込
みのできるページに対する読み取りサイクルであるなら
ば、データDはキャッシュメモリCMから読み出され、マ
イクロプロセッサ30-1に転送される。もし、メモリアク
セスサイクルが読み取り/書き込みページに対する書き
込みアクセスであるならば、データDは、もし、対応す
る使用モードがPRIVATEであるならば、キャッシュメモ
リに書き込まれる。かつまた、以下に述べるように、変
更フラグMがマイクロエンジン手段38によりMODIFIEDに
セットされる。だが、もし、かかるデータDの使用モー
ドがPUBLICであるならば、これはキャッシュミスを構成
し、マイクロエンジン手段38がREAD REQUEST PRIVATEを
介して介在し、データDを獲得若しくは再び取り込むこ
とが必要となる。
今、キャッシュミスが発生したとする。現在のメモリア
クセスサイクルが読み取り専用ページに対する読み取り
アクセスであるとするならば、マイクロエンジン手段38
はプロセッササブシステム手段30を停止若しくは待ちの
状態とし、キャッシュメモリCMの現在のカッド語QWを割
付け解除する。これにより、読み取られる所望のカッド
語QW用にスペース(記憶場所)が与えられる。ついで、
マイクロエンジン手段38により、READ REQUEST PUBLIC
が共用メモリSMに対して発行される。この結果、所望の
カッド語QWがキャッシュメモリCMに記憶される。つい
で、マイクロエンジン手段38はプロセッササブシステム
手段30に指示して、待ちを停止させる。つまり、内部ア
ドレスバスIAB上に現在の論理アドレスLAを再出力させ
る。これによって、所望のカッド語QWがキャッシュメモ
リCMから読み出され、最後にマイクロプロセッサ30-1に
よって処理される。
クセスサイクルが読み取り専用ページに対する読み取り
アクセスであるとするならば、マイクロエンジン手段38
はプロセッササブシステム手段30を停止若しくは待ちの
状態とし、キャッシュメモリCMの現在のカッド語QWを割
付け解除する。これにより、読み取られる所望のカッド
語QW用にスペース(記憶場所)が与えられる。ついで、
マイクロエンジン手段38により、READ REQUEST PUBLIC
が共用メモリSMに対して発行される。この結果、所望の
カッド語QWがキャッシュメモリCMに記憶される。つい
で、マイクロエンジン手段38はプロセッササブシステム
手段30に指示して、待ちを停止させる。つまり、内部ア
ドレスバスIAB上に現在の論理アドレスLAを再出力させ
る。これによって、所望のカッド語QWがキャッシュメモ
リCMから読み出され、最後にマイクロプロセッサ30-1に
よって処理される。
もし、現在のメモリアクセスサイクルが読み取り/書き
込みページに対する読み取りアクセスサイクルであり、
プロセッササブシステム手段30を停止した後であるなら
ば、現在のカッド語QWは、マイクロエンジン手段38によ
り割り付け解除され、引き続いてマイクロエンジン手段
38は共用メモリSMに対してREAD REQUEST PRIVATEを開始
する。次いで、所望のカッド語QWがキャッシュメモリCM
に記憶されると、マイクロエンジン手段38はマイクロプ
ロセッササブシステム手段30を指示して、現在の論理ア
ドレスLAを再び出力させることにより待ちを停止させ、
これによりキャッシュメモリCMからこの所望のカッド語
QWを読み出させる。
込みページに対する読み取りアクセスサイクルであり、
プロセッササブシステム手段30を停止した後であるなら
ば、現在のカッド語QWは、マイクロエンジン手段38によ
り割り付け解除され、引き続いてマイクロエンジン手段
38は共用メモリSMに対してREAD REQUEST PRIVATEを開始
する。次いで、所望のカッド語QWがキャッシュメモリCM
に記憶されると、マイクロエンジン手段38はマイクロプ
ロセッササブシステム手段30を指示して、現在の論理ア
ドレスLAを再び出力させることにより待ちを停止させ、
これによりキャッシュメモリCMからこの所望のカッド語
QWを読み出させる。
同様に、もし、メモリアクセスサイクルが読み取り/書
き込みページに対する書き込みアクセスであるならば、
現在のカッド語QWの上述した割付け解除が、マイクロエ
ンジン手段38により実行され、続いてREAD REQUEST PRI
VATEの発行が行われる。その後、所望のカッド語QWがキ
ャッシュメモリCMに記憶されると、プロセッササブシス
テム手段30がマイクロエンジン手段38により命令され
て、現在の論理アドレスLAをそのカッド語QWといっしょ
に再び出力する。そのカッド語QWは書き込みがされてお
り、変更フラブMがMODIFIEDにセットされているもので
ある。
き込みページに対する書き込みアクセスであるならば、
現在のカッド語QWの上述した割付け解除が、マイクロエ
ンジン手段38により実行され、続いてREAD REQUEST PRI
VATEの発行が行われる。その後、所望のカッド語QWがキ
ャッシュメモリCMに記憶されると、プロセッササブシス
テム手段30がマイクロエンジン手段38により命令され
て、現在の論理アドレスLAをそのカッド語QWといっしょ
に再び出力する。そのカッド語QWは書き込みがされてお
り、変更フラブMがMODIFIEDにセットされているもので
ある。
マイクロエンジン手段38により行われるカッド語QWの上
述した割付け解除は、その指定のカッド語QWの使用モー
ドに基づく。使用モードがPUBLICであるならば、マイク
ロエンジン手段38は有効フラグVをINVALIDに単にリセ
ットするだけで、そのカッド語QWを共用メモリSMに転送
することはない。しかし、もし、使用モードがPRIVATE
であるならば、マイクロエンジン手段38は変更フラグM
がMODIFIEDにセットされているか、UNMODIFIEDにリセッ
トされているか否かに基づいて、WRITE MODIFIED若しく
はWRITE UNMODIFIEDを開始させ、そのカッド語QWを共用
メモリSMに転送する。マイクロエンジン手段38により選
択された指定のカッド語QWの割付け解除はどのような周
知の置換(replacement)アルゴリズムによってもでき
る。このアルゴリズムにより、現在アクセスされている
データを記憶するため、スペースがキャッシュメモリCM
内に割り当てられる。
述した割付け解除は、その指定のカッド語QWの使用モー
ドに基づく。使用モードがPUBLICであるならば、マイク
ロエンジン手段38は有効フラグVをINVALIDに単にリセ
ットするだけで、そのカッド語QWを共用メモリSMに転送
することはない。しかし、もし、使用モードがPRIVATE
であるならば、マイクロエンジン手段38は変更フラグM
がMODIFIEDにセットされているか、UNMODIFIEDにリセッ
トされているか否かに基づいて、WRITE MODIFIED若しく
はWRITE UNMODIFIEDを開始させ、そのカッド語QWを共用
メモリSMに転送する。マイクロエンジン手段38により選
択された指定のカッド語QWの割付け解除はどのような周
知の置換(replacement)アルゴリズムによってもでき
る。このアルゴリズムにより、現在アクセスされている
データを記憶するため、スペースがキャッシュメモリCM
内に割り当てられる。
キャッシュメモリCMに対するアクセス時間を最小にする
ため、キャッシュメモリ手段32は以下に述べるような付
加的ハードウェア構成素子を含む。詳しくは、キャッシ
ュメモリCM手段32はアドレス変換タグバッファ32-1A及
びアドレス変換タグバッファ32-1Bを含み、これらは、
前に簡単に述べたように、最近使用した論理アドレス−
物理アドレス変換結果を記憶するキャッシュメモリを構
成している。アドレス変換タグバッファ32-1A及び32-1B
の編成は第17図に示すごとくであり、第13図に示された
キャッシュメモリ編成のセットA及びセットBにそれぞ
れ対応する。バッファ32-1Aと32-1Bの全体のサイズは、
例えば、各々論理アドレスLA、詳しくはタグ(23:17)を
伴う128のページテーブルエントリPTEであり、各タグは
それぞれ1つのページテーブルエントリPTEに対応す
る。セット・アソシエイテブ・ルックアップ(セットサ
イズ=2、例えば、セットAとセットB)及びハッシュ
コーディング若しくはインデクシングが使用される。即
ち、ハッシュインデクスにつき2つのページテーブルエ
ントリPTE(すなわち、論理アドレス16:11)がある。
キャッシュメモリ手段32は、またパス32-3Aを介してバ
ッファ32-1Aに結合されたアドレス変換ユニット(ATU)若
しくは比較器32-2Aを有し、さらに、パス32-3Bを介して
アドレス変換バッファ32-1Bに結合されたアドレス変換
ユニット(ATU)若しくは比較器32-2Bを有している。
ため、キャッシュメモリ手段32は以下に述べるような付
加的ハードウェア構成素子を含む。詳しくは、キャッシ
ュメモリCM手段32はアドレス変換タグバッファ32-1A及
びアドレス変換タグバッファ32-1Bを含み、これらは、
前に簡単に述べたように、最近使用した論理アドレス−
物理アドレス変換結果を記憶するキャッシュメモリを構
成している。アドレス変換タグバッファ32-1A及び32-1B
の編成は第17図に示すごとくであり、第13図に示された
キャッシュメモリ編成のセットA及びセットBにそれぞ
れ対応する。バッファ32-1Aと32-1Bの全体のサイズは、
例えば、各々論理アドレスLA、詳しくはタグ(23:17)を
伴う128のページテーブルエントリPTEであり、各タグは
それぞれ1つのページテーブルエントリPTEに対応す
る。セット・アソシエイテブ・ルックアップ(セットサ
イズ=2、例えば、セットAとセットB)及びハッシュ
コーディング若しくはインデクシングが使用される。即
ち、ハッシュインデクスにつき2つのページテーブルエ
ントリPTE(すなわち、論理アドレス16:11)がある。
キャッシュメモリ手段32は、またパス32-3Aを介してバ
ッファ32-1Aに結合されたアドレス変換ユニット(ATU)若
しくは比較器32-2Aを有し、さらに、パス32-3Bを介して
アドレス変換バッファ32-1Bに結合されたアドレス変換
ユニット(ATU)若しくは比較器32-2Bを有している。
キャッシュメモリ制御手段32のキャッシュメモリCMは、
図示のようにタグを記憶するデータキャッシュタグバッ
ファ32-5A,32-5Bを含んでおり、これらは、第13図に示
したキャッシュ編成のセットAとセットBの物理アドレ
スPA(31:11)を包含している。第13図に示したキャッシ
ュ編成のセットAとセットBのデータDは、それぞれ、
図示のようにメモリ32-5A′及び32-5B′に記憶される。
マイクロプロセッサ30-1によるメモリアクセスサイクル
中、各データキャッシュタグバッファ32-5Aと32-5Bは、
後で詳しく説明するように、論理回路GPAにより与えら
れた推定(guessed)物理アドレス(GPA)と論理アドレスPA
とを使用して、読み出される。各データキャッシュタグ
バッファ32-5Aと32-5Bの出力は次いでそれぞれのパス32
-6Aと32-6Bとに供給される。
図示のようにタグを記憶するデータキャッシュタグバッ
ファ32-5A,32-5Bを含んでおり、これらは、第13図に示
したキャッシュ編成のセットAとセットBの物理アドレ
スPA(31:11)を包含している。第13図に示したキャッシ
ュ編成のセットAとセットBのデータDは、それぞれ、
図示のようにメモリ32-5A′及び32-5B′に記憶される。
マイクロプロセッサ30-1によるメモリアクセスサイクル
中、各データキャッシュタグバッファ32-5Aと32-5Bは、
後で詳しく説明するように、論理回路GPAにより与えら
れた推定(guessed)物理アドレス(GPA)と論理アドレスPA
とを使用して、読み出される。各データキャッシュタグ
バッファ32-5Aと32-5Bの出力は次いでそれぞれのパス32
-6Aと32-6Bとに供給される。
キャッシュメモリ手段32はパス32-3Aと32-6Aに結合され
た比較器32-7も有しており、この比較器は図示のよう
に、バッファ32-1Aと32-5Aとの出力を比較する。キャッ
シュメモリ手段32は、さらに、比較器32-8ないし32-10
を備えている。比較器32-8はパス32-3Bと32-6Aとに結合
され、図のようにバッファ32-1Bと32-5Aの出力を比較す
る。比較器32-9はパス32-3Aと32-6Bとに結合され、図示
されているようにバッファ32-1Aと32-5Bの出力を比較す
る。比較器32-10はパス32-3Bと32-6Bと結合され、バッ
ファ32-1Bと32-5Bとの出力を比較する。
た比較器32-7も有しており、この比較器は図示のよう
に、バッファ32-1Aと32-5Aとの出力を比較する。キャッ
シュメモリ手段32は、さらに、比較器32-8ないし32-10
を備えている。比較器32-8はパス32-3Bと32-6Aとに結合
され、図のようにバッファ32-1Bと32-5Aの出力を比較す
る。比較器32-9はパス32-3Aと32-6Bとに結合され、図示
されているようにバッファ32-1Aと32-5Bの出力を比較す
る。比較器32-10はパス32-3Bと32-6Bと結合され、バッ
ファ32-1Bと32-5Bとの出力を比較する。
キャッシュメモリ手段32のキャッシュ制御回路32-11
は、それぞれのパス32-12ないし32-17を介して比較器32
-2A、32-2B、および32-7ないし32-10によりなされる比較
の結果に応答するか、統合(コンソリデート)し、線32
-18を介してキャッシュヒット用のシーケンスを与え、
かつマイクロエンジン手段38による使用のためにパス32
-19を介してキャッシュ状態コード(キャッシュヒット
若しくはキャッシュミス)を発生する。これについて
は、後述する。キャッシュ制御回路32-11それ自身は、
またパス32-20を介してマイクロエンジン手段38により
制御させる。
は、それぞれのパス32-12ないし32-17を介して比較器32
-2A、32-2B、および32-7ないし32-10によりなされる比較
の結果に応答するか、統合(コンソリデート)し、線32
-18を介してキャッシュヒット用のシーケンスを与え、
かつマイクロエンジン手段38による使用のためにパス32
-19を介してキャッシュ状態コード(キャッシュヒット
若しくはキャッシュミス)を発生する。これについて
は、後述する。キャッシュ制御回路32-11それ自身は、
またパス32-20を介してマイクロエンジン手段38により
制御させる。
上述したキャッシュメモリ制御手段32の全体的なオペレ
ーション(動作)において、マイクロプロセッサ30-1と
回路30-2はキャッシュメモリ手段32に結合された内部ア
ドレスバスIAB上に論理アドレスLAを発生したと想定す
る。次いで高速の論理アドレス−物理アドレス変換探索
が、バッファ32-1Aと32-1B内のハッシュコーディングと
アソシエイテブ・ルックアップの組合せによって実行さ
れる。論理アドレスLA(23:00)のハッシュインデクスフ
ィールド(16:11)はバッファ32-1Aと32-1Bの64行の1つ
Rを選択する。バッファ32-1Aと32-1Bの選択された行R
の内容、即ち論理アドレスLA(23:17)はついで比較器32
-2Aと32-2Bとにそれぞれ結合される。ついで、比較器32
-2Aと32-2Bはバッファ32-1Aと32-1Bからの論理アドレス
LA(23:17)と内部アドレスバスIABの論理アドレスLA(2
3:17)とを比較する。これらの比較結果は、キャッシュ
制御回路32-11に結合され、アドレス変換ヒット若しく
はミスを示す。これについては、後でさらに述べる。
ーション(動作)において、マイクロプロセッサ30-1と
回路30-2はキャッシュメモリ手段32に結合された内部ア
ドレスバスIAB上に論理アドレスLAを発生したと想定す
る。次いで高速の論理アドレス−物理アドレス変換探索
が、バッファ32-1Aと32-1B内のハッシュコーディングと
アソシエイテブ・ルックアップの組合せによって実行さ
れる。論理アドレスLA(23:00)のハッシュインデクスフ
ィールド(16:11)はバッファ32-1Aと32-1Bの64行の1つ
Rを選択する。バッファ32-1Aと32-1Bの選択された行R
の内容、即ち論理アドレスLA(23:17)はついで比較器32
-2Aと32-2Bとにそれぞれ結合される。ついで、比較器32
-2Aと32-2Bはバッファ32-1Aと32-1Bからの論理アドレス
LA(23:17)と内部アドレスバスIABの論理アドレスLA(2
3:17)とを比較する。これらの比較結果は、キャッシュ
制御回路32-11に結合され、アドレス変換ヒット若しく
はミスを示す。これについては、後でさらに述べる。
さらに、データキャッシュタグバッファ32-5Aと32-5B
は、論理アドレスLA(10:4)及び論理回路GPAから発生さ
れた推定物理アドレスGPA(12:11)を使用して、アドレ
ス(番地指定)される。これについては以下に詳細に説
明する。このようにアドレスされると、バッファ32-5A
と32-5Bの出力はそれぞれ物理アドレスPA(27:13)とな
る。これらの物理アドレスPAは、すでに述べたように、
比較器32-7ないし32-10に対する入力として結合され
る。比較器32-7ないし32-10に対する他の入力はバッフ
ァ32-1Aと32-1Bによって出力されたページテーブルエン
トリPTEの物理アドレスPA(27:13)である。比較器32-7
ないし32-10による比較結果はキャッシュ制御回路32-11
に結合され、キャッシュヒット若しくはキャッシュミス
となり得る。
は、論理アドレスLA(10:4)及び論理回路GPAから発生さ
れた推定物理アドレスGPA(12:11)を使用して、アドレ
ス(番地指定)される。これについては以下に詳細に説
明する。このようにアドレスされると、バッファ32-5A
と32-5Bの出力はそれぞれ物理アドレスPA(27:13)とな
る。これらの物理アドレスPAは、すでに述べたように、
比較器32-7ないし32-10に対する入力として結合され
る。比較器32-7ないし32-10に対する他の入力はバッフ
ァ32-1Aと32-1Bによって出力されたページテーブルエン
トリPTEの物理アドレスPA(27:13)である。比較器32-7
ないし32-10による比較結果はキャッシュ制御回路32-11
に結合され、キャッシュヒット若しくはキャッシュミス
となり得る。
論理回路GPAによる推定物理アドレスの生成を理解する
ために、キャッシュメモリCMのキャッシュヒットシーケ
ンスを簡略に述べる。メモリアクセスサイクルの初め
に、理論アドレスLA(23:01)が内部アドレスバスIAB上
へ駆動される。理論的には、アドレス変換バッファ32-1
A若しくは32-1Bは物理アドレスPAを出力することにより
応答できる。この物理アドレスPAは次いでキャッシュメ
モリCM内のアドレスをルックアップするのに使用され
る。だが、パフォーマンスを最適化するために、全体的
にキャッシュメモリ手段32はバッファ32-1Aと32-1Bでの
PTEルックアップとデータキャッシュメモリタグバッフ
ァ32-5Aと32-5Bでのルックアップとを同時に行う。すで
に述べたように、論理アドレスLA(16:11)はバッファ32
-1Aと32-1Bのルックアップに直接利用できる。しかし、
物理アドレスPA(12:4)が、キャッシュメモリCMにおい
てのルックアップに必要とされる。上述の論理アドレス
−物理アドレス変換アルゴリズムの性質によれば、論理
アドレスLA(10:4)は物理アドレスPA(10:4)と同等であ
る。しかし、物理アドレスPA(12:11)はアドレス変換後
まで、利用できない。それ故に、同時的なルックアップ
を許すには、物理アドレスPA(12:11)の推定が論理回路
GPAによってなされ、データキャッシュタグバッファ32-
5Aと32-5Bのルックアップのために使用される。さら
に、この推定はバッファ32-1Aと32-1Bのルックアップ値
に対してチェックされる。もし、推定がこの後者のルッ
クアップと一致した場合は、現在のメモリアクセスサイ
クルを完了しない。もしアドレス推定がこのルックアッ
プと一致しないならば、キャッシュ制御回路32-11は2
つのエキストラクロックサイクルを加え、論理回路GPA
を制御して、推定物理アドレスGAPを更新させ、上述の
動作を繰り返させる。
ために、キャッシュメモリCMのキャッシュヒットシーケ
ンスを簡略に述べる。メモリアクセスサイクルの初め
に、理論アドレスLA(23:01)が内部アドレスバスIAB上
へ駆動される。理論的には、アドレス変換バッファ32-1
A若しくは32-1Bは物理アドレスPAを出力することにより
応答できる。この物理アドレスPAは次いでキャッシュメ
モリCM内のアドレスをルックアップするのに使用され
る。だが、パフォーマンスを最適化するために、全体的
にキャッシュメモリ手段32はバッファ32-1Aと32-1Bでの
PTEルックアップとデータキャッシュメモリタグバッフ
ァ32-5Aと32-5Bでのルックアップとを同時に行う。すで
に述べたように、論理アドレスLA(16:11)はバッファ32
-1Aと32-1Bのルックアップに直接利用できる。しかし、
物理アドレスPA(12:4)が、キャッシュメモリCMにおい
てのルックアップに必要とされる。上述の論理アドレス
−物理アドレス変換アルゴリズムの性質によれば、論理
アドレスLA(10:4)は物理アドレスPA(10:4)と同等であ
る。しかし、物理アドレスPA(12:11)はアドレス変換後
まで、利用できない。それ故に、同時的なルックアップ
を許すには、物理アドレスPA(12:11)の推定が論理回路
GPAによってなされ、データキャッシュタグバッファ32-
5Aと32-5Bのルックアップのために使用される。さら
に、この推定はバッファ32-1Aと32-1Bのルックアップ値
に対してチェックされる。もし、推定がこの後者のルッ
クアップと一致した場合は、現在のメモリアクセスサイ
クルを完了しない。もしアドレス推定がこのルックアッ
プと一致しないならば、キャッシュ制御回路32-11は2
つのエキストラクロックサイクルを加え、論理回路GPA
を制御して、推定物理アドレスGAPを更新させ、上述の
動作を繰り返させる。
キャッシュ制御回路32-11により、パス32-19にいろいろ
なキャッシュ状態コードが発生され、これによりマイク
ロエンジン手段38が所定のアクションを引き受けること
となる。もし、比較器32-2A若しくは32-2Bがアドレス変
換ヒットを示し、かつ比較器32-7ないし32-10の1つが
キャッシュヒットを示すならば、キャッシュヒットを示
す状態コードがパス32-19上に回路32-11により発生され
る。マイクロエンジン手段38がプロセッササブシステム
手段30を制御することによりこれに応答して、現在のメ
モリアクセスサイクルが、前述のように、さらに介入す
ることなく継続するようにさせる。
なキャッシュ状態コードが発生され、これによりマイク
ロエンジン手段38が所定のアクションを引き受けること
となる。もし、比較器32-2A若しくは32-2Bがアドレス変
換ヒットを示し、かつ比較器32-7ないし32-10の1つが
キャッシュヒットを示すならば、キャッシュヒットを示
す状態コードがパス32-19上に回路32-11により発生され
る。マイクロエンジン手段38がプロセッササブシステム
手段30を制御することによりこれに応答して、現在のメ
モリアクセスサイクルが、前述のように、さらに介入す
ることなく継続するようにさせる。
比較器32-2A若しくは32-2Bがアドレス変換ヒットを示す
が、比較器32-7ないし32-10がキャッシュミスを示す場
合には、キャッシュミスを示す状態コードが回路32-11
によって発生される。これに応じて、マイクロエンジン
手段38は、プロセッササブシステム手段30にウエイトを
生じさせ、さらに次の方法で介入する。マイクロエンジ
ン手段38はキャッシュメモリ割り付け解除処理手順を読
取り作業、即ちバスIDBからの取り込み、およびキャッ
シュメモリCMに現在記憶されている情報のセットA若し
くはセットBのいずれか1つの1行Rの取り込みから開
始し、PUBLIC若しくはPRIVATEに関して対応する使用モ
ードフラグUをテスト(試験)する。もし、PUBLICであ
るならば、マイクロエンジン手段38は対応する有効フラ
グVをINVALIDにリセットする。もし、PRIVATEであるな
らば、マイクロエンジン手段38は変更フラグMをテスト
して、ついで、WRITE MODIFIED若しくはWRITE UNMODIFI
EDを開始し、ついでこのテストに基づいて、有効フラグ
VをINVALIDにリセットする。
が、比較器32-7ないし32-10がキャッシュミスを示す場
合には、キャッシュミスを示す状態コードが回路32-11
によって発生される。これに応じて、マイクロエンジン
手段38は、プロセッササブシステム手段30にウエイトを
生じさせ、さらに次の方法で介入する。マイクロエンジ
ン手段38はキャッシュメモリ割り付け解除処理手順を読
取り作業、即ちバスIDBからの取り込み、およびキャッ
シュメモリCMに現在記憶されている情報のセットA若し
くはセットBのいずれか1つの1行Rの取り込みから開
始し、PUBLIC若しくはPRIVATEに関して対応する使用モ
ードフラグUをテスト(試験)する。もし、PUBLICであ
るならば、マイクロエンジン手段38は対応する有効フラ
グVをINVALIDにリセットする。もし、PRIVATEであるな
らば、マイクロエンジン手段38は変更フラグMをテスト
して、ついで、WRITE MODIFIED若しくはWRITE UNMODIFI
EDを開始し、ついでこのテストに基づいて、有効フラグ
VをINVALIDにリセットする。
その後、マイクロエンジン手段38は、内部データバスID
Bを介して、アドレス変換ヒットをもたらすバッファ32-
1A若しくは32-1Bからの物理アドレスPA(31:11)を読み
取り、この物理アドレスPAを現在の論理アドレスLA(1
0:00)と組み合わせて、所望のカッド語QWの物理アドレ
スPA(31:00)を生成させる。現在の論理アドレスLA(1
0:00)は、内部アドレスバスIAB、アドレスバッファ3
6、及び内部データバスIDBを介して、マイクロエンジン
手段38により取り込まれる。そして、マイクロエンジン
手段38は、READ REQUEST PUBLIC若しくはREAD REQUEST
PRIVATEを開始させる。この開始は、フラグVとUの適
切な書き込みに従って、INFO GROUPの一部としての発生
された物理アドレスPAを使用して行われる。
Bを介して、アドレス変換ヒットをもたらすバッファ32-
1A若しくは32-1Bからの物理アドレスPA(31:11)を読み
取り、この物理アドレスPAを現在の論理アドレスLA(1
0:00)と組み合わせて、所望のカッド語QWの物理アドレ
スPA(31:00)を生成させる。現在の論理アドレスLA(1
0:00)は、内部アドレスバスIAB、アドレスバッファ3
6、及び内部データバスIDBを介して、マイクロエンジン
手段38により取り込まれる。そして、マイクロエンジン
手段38は、READ REQUEST PUBLIC若しくはREAD REQUEST
PRIVATEを開始させる。この開始は、フラグVとUの適
切な書き込みに従って、INFO GROUPの一部としての発生
された物理アドレスPAを使用して行われる。
その後、適切なREAD RESPONSEがバスインターフェース
手段34によりモニタされるとき、受け取られたカッド語
QWは、キャッシュメモリCM、つまりメモリ32-5A若しく
は32-5Bに、マイクロエンジン手段38の制御のもとで、
記憶される。次にマイクロエンジン手段38はプロセッサ
サブシステム手段30を制御して、新たに記憶されたカッ
ド語QWをアクセスさせることによって、現在のメモリア
クセスサイクルを完了させる。
手段34によりモニタされるとき、受け取られたカッド語
QWは、キャッシュメモリCM、つまりメモリ32-5A若しく
は32-5Bに、マイクロエンジン手段38の制御のもとで、
記憶される。次にマイクロエンジン手段38はプロセッサ
サブシステム手段30を制御して、新たに記憶されたカッ
ド語QWをアクセスさせることによって、現在のメモリア
クセスサイクルを完了させる。
比較器32-2Aと32-2Bの両者がアドレス変換ミスを示す
が、比較器32-7ないし32-10の1つがキャッシュヒット
を示すものと想定する。制御回路32-11は続いてかかる
アドレス変換ミスを示すキャッシュ状態コードを発生
し、その結果、マイクロエンジン手段38はプロセッササ
ブシステム手段30を待ち状態にする。ついで、キャッシ
ュメモリCM内のカッド語QWを割り付け解除させるために
前述と同様の割り付け解除方法で、マイクロエンジン手
段38が、このエントリに対する対応する有効フラグV
(第17図参照)をINVALIDにリセットすることにより、
バッファ32-1A若しくは32-1Bのエントリを割り付け解除
する。その後、第16図に関して、マイクロエンジン手段
38は内部アドレスバスIAB、アドレスバッファ36及び内
部データバスIDBを介して現在の論理アドレスLAを取り
込み、セグメントテーブルSTに対するアドレスを計算す
る。最後に、マイクロエンジン手段38は、バッファ32-1
A若しくは32-1B、つまり、かかる割り付け解除されたエ
ントリの行Rに、論理アドレスLA(23:17)及び対応する
ページテーブルエントリPTEを記憶し、第17図のエント
リの対応する有効フラグVをVALIDにセットする。その
後、マイクロエンジン手段38は待ち状態からプロセッサ
サブシステム手段30を解放し、この結果、アドレス変換
としての現在のメモリアクセスサイクル及びキャッシュ
ヒットが完了する。
が、比較器32-7ないし32-10の1つがキャッシュヒット
を示すものと想定する。制御回路32-11は続いてかかる
アドレス変換ミスを示すキャッシュ状態コードを発生
し、その結果、マイクロエンジン手段38はプロセッササ
ブシステム手段30を待ち状態にする。ついで、キャッシ
ュメモリCM内のカッド語QWを割り付け解除させるために
前述と同様の割り付け解除方法で、マイクロエンジン手
段38が、このエントリに対する対応する有効フラグV
(第17図参照)をINVALIDにリセットすることにより、
バッファ32-1A若しくは32-1Bのエントリを割り付け解除
する。その後、第16図に関して、マイクロエンジン手段
38は内部アドレスバスIAB、アドレスバッファ36及び内
部データバスIDBを介して現在の論理アドレスLAを取り
込み、セグメントテーブルSTに対するアドレスを計算す
る。最後に、マイクロエンジン手段38は、バッファ32-1
A若しくは32-1B、つまり、かかる割り付け解除されたエ
ントリの行Rに、論理アドレスLA(23:17)及び対応する
ページテーブルエントリPTEを記憶し、第17図のエント
リの対応する有効フラグVをVALIDにセットする。その
後、マイクロエンジン手段38は待ち状態からプロセッサ
サブシステム手段30を解放し、この結果、アドレス変換
としての現在のメモリアクセスサイクル及びキャッシュ
ヒットが完了する。
いま比較器32-2A、32-2B、および32-7ないし32-10のす
べてがミスを示していると想定する。その結果として、
両ミス即ち比較器32-7ないし32-10が1つのキャッシュ
ミスを示し、かつ比較器32-1Aと32-1Bが1つのアドレス
変換ミスを示すときの両ミスに対して上述の動作が実行
される。
べてがミスを示していると想定する。その結果として、
両ミス即ち比較器32-7ないし32-10が1つのキャッシュ
ミスを示し、かつ比較器32-1Aと32-1Bが1つのアドレス
変換ミスを示すときの両ミスに対して上述の動作が実行
される。
汎用プロセッサGPPのバスインターフェース手段34は内
部データバスIDBと拡張バス22間にアドレス、コマン
ド、データ等を転送するための符号34-1で総括的に示す
送信及び受信データパスを有している。データパス34-1
は送信レジスタ34-2及びバスドライバ34-3を含み、これ
らのレジスタ及びドライバは内部データバスIDBと拡張
バス22間に符号34-4で総括的に示す送信パスを介して結
合されている。これにより、拡張バス22上にデータ及び
アドレスを供給する。データパス34-1はバス受信ラッチ
34-5及び受信レジスタ34-6を含んでおり、これら受信レ
ジスタはバス22からデータとアドレスを受信し、この情
報を符号34-7で総括的に示す受信パスを介して内部デー
タバスIDB上に結合させる。
部データバスIDBと拡張バス22間にアドレス、コマン
ド、データ等を転送するための符号34-1で総括的に示す
送信及び受信データパスを有している。データパス34-1
は送信レジスタ34-2及びバスドライバ34-3を含み、これ
らのレジスタ及びドライバは内部データバスIDBと拡張
バス22間に符号34-4で総括的に示す送信パスを介して結
合されている。これにより、拡張バス22上にデータ及び
アドレスを供給する。データパス34-1はバス受信ラッチ
34-5及び受信レジスタ34-6を含んでおり、これら受信レ
ジスタはバス22からデータとアドレスを受信し、この情
報を符号34-7で総括的に示す受信パスを介して内部デー
タバスIDB上に結合させる。
送信/受信制御回路34-8は、内部制御バスICBに結合さ
れたパス34-9を介してマイクロエンジン手段38により制
御される。これにより、バスドライバ34-3若しくはバス
受信ラッチ34-5のいずれかが線34-10を介して、それぞ
れ、情報を送信若しくは受信することが可能となる。ま
た、以下に述べる他の個々の機能を実行することが可能
となる。制御回路34-8はARB GROUPを介して、バス22を
調停する。本例に使用可能な調停回路の一例が、Steven
I.Frank氏等により、1982年12月29日に出願された「Ap
paratus and Method for Acquiring Access to a Devic
e(デバイスに対してアクセスを得るための装置と方
法)」と題する米国特許出願第454,416号出願に開示さ
れている。この出願は本願の譲受人に譲渡されているも
のであり、その全体を参考としてここに組み入れる。さ
らに、制御回路34-8は、線34-9上の制御信号に応答し
て、バストランザクションREAD REQUEST PUBLIC、READ
REQUEST PRIVATE、READ RESPONSE、WRITE MODIFIED、お
よびWRITE UNMODIFIEDのどれか一つを指定するコマンド
を発生し、またジェネレータRIDからの要求者識別子RID
をINFO GROUPの一部としてドライバ34-3を介してバス22
に結合する。また、制御回路34-8はACK GROUPのCM-ACK
を発生する。これについては、以下に詳細に述べる。さ
らに、制御回路34-8はパス34-11上にバス状態コードを
発生し、この状態コードはマイクロエンジン手段38に結
合され、内部データバスIDBとバス22間の転送が完了し
たことを示す。制御回路34-8はさらに所定(与えられた
ある1つ)のプロセッサGPPのジェネレータRIDからのRI
Dをバス22上のRIDと比較する。この比較は、個々のREAD
RESPONSEがその所定のプロセッサGPPに対して意図され
ているものか否かを決定するために、READ RESPONSEが
ペンディング(待ち状態)にある時に行われる。
れたパス34-9を介してマイクロエンジン手段38により制
御される。これにより、バスドライバ34-3若しくはバス
受信ラッチ34-5のいずれかが線34-10を介して、それぞ
れ、情報を送信若しくは受信することが可能となる。ま
た、以下に述べる他の個々の機能を実行することが可能
となる。制御回路34-8はARB GROUPを介して、バス22を
調停する。本例に使用可能な調停回路の一例が、Steven
I.Frank氏等により、1982年12月29日に出願された「Ap
paratus and Method for Acquiring Access to a Devic
e(デバイスに対してアクセスを得るための装置と方
法)」と題する米国特許出願第454,416号出願に開示さ
れている。この出願は本願の譲受人に譲渡されているも
のであり、その全体を参考としてここに組み入れる。さ
らに、制御回路34-8は、線34-9上の制御信号に応答し
て、バストランザクションREAD REQUEST PUBLIC、READ
REQUEST PRIVATE、READ RESPONSE、WRITE MODIFIED、お
よびWRITE UNMODIFIEDのどれか一つを指定するコマンド
を発生し、またジェネレータRIDからの要求者識別子RID
をINFO GROUPの一部としてドライバ34-3を介してバス22
に結合する。また、制御回路34-8はACK GROUPのCM-ACK
を発生する。これについては、以下に詳細に述べる。さ
らに、制御回路34-8はパス34-11上にバス状態コードを
発生し、この状態コードはマイクロエンジン手段38に結
合され、内部データバスIDBとバス22間の転送が完了し
たことを示す。制御回路34-8はさらに所定(与えられた
ある1つ)のプロセッサGPPのジェネレータRIDからのRI
Dをバス22上のRIDと比較する。この比較は、個々のREAD
RESPONSEがその所定のプロセッサGPPに対して意図され
ているものか否かを決定するために、READ RESPONSEが
ペンディング(待ち状態)にある時に行われる。
また、バスインターフェース手段34は符号34-12で総括
的に示すバスモニタを含む。このバスモニタは、本発明
の拡張バス所有権プロトコルを満足させるための実時間
機能を実行し、さらに、マイクロエンジン手段38に対し
て非同期的に動作する。さらに、後述するように、キャ
ッシュメモリ手段32のデータキャッシュタグバッファ32
-5A及び32-5B内のカッド語QWの各物理アドレスPAはバス
モニタ34-12によって、追跡される。この追跡は、有効
性検査若しくは無効化のためと、さらにそのプロセッサ
GPPが物理アドレスPAの所有者であるときのその物理ア
ドレスPAに対するCM-ACKのACK若しくはビジイをアサー
ション(バス等に信号を送出すること)するために行わ
れる。
的に示すバスモニタを含む。このバスモニタは、本発明
の拡張バス所有権プロトコルを満足させるための実時間
機能を実行し、さらに、マイクロエンジン手段38に対し
て非同期的に動作する。さらに、後述するように、キャ
ッシュメモリ手段32のデータキャッシュタグバッファ32
-5A及び32-5B内のカッド語QWの各物理アドレスPAはバス
モニタ34-12によって、追跡される。この追跡は、有効
性検査若しくは無効化のためと、さらにそのプロセッサ
GPPが物理アドレスPAの所有者であるときのその物理ア
ドレスPAに対するCM-ACKのACK若しくはビジイをアサー
ション(バス等に信号を送出すること)するために行わ
れる。
符号34-13で示すように、バスモニタ34-12はパイプライ
ン接続されたアドレスパスを有し、このパスによって、
バストランザクションコマンド及びラッチ34-5にラッチ
された物理アドレスPAの実時間処理を許容している。バ
スモニタ34-12は、また、バスモニタデータキャッシュ
タグバッファ34-14を有しており、このバッファ34-14
は、第13図に示すキャッシュ編成のセットAとセットB
の両方に対して、データキャッシュタグバッファ32-5A
とデータキャッシュタグバッファ32-5Bを重複(デュプ
リケート)する。さらに詳しくは、バスモニタデータキ
ャッシュタグバッファ34-14は2つのメモリに分割さ
れ、その1つのメモリは、物理アドレスPA、つまり、タ
グ(31:13)及び使用モードフラグUを含み、他のメモリ
は対応する物理アドレスPAの有効フラグVを記憶する。
さらに述べると、この重複の1つの目的は、このプロセ
ッサGPPが実時間でモニタされている物理アドレスPAの
カッド語QWを有するときに、適切なバストランザクショ
ンに応答するため、プロセッサGPPが拡張バス22上で受
信した物理アドレスPAをモニタすることを可能にするこ
とにある。この重複の他の目的は、プロセッササブシス
テム手段30がバスのモニタリング(監視)と平行してキ
ャッシュメモリ手段32をアクセスできるようにすること
にある。
ン接続されたアドレスパスを有し、このパスによって、
バストランザクションコマンド及びラッチ34-5にラッチ
された物理アドレスPAの実時間処理を許容している。バ
スモニタ34-12は、また、バスモニタデータキャッシュ
タグバッファ34-14を有しており、このバッファ34-14
は、第13図に示すキャッシュ編成のセットAとセットB
の両方に対して、データキャッシュタグバッファ32-5A
とデータキャッシュタグバッファ32-5Bを重複(デュプ
リケート)する。さらに詳しくは、バスモニタデータキ
ャッシュタグバッファ34-14は2つのメモリに分割さ
れ、その1つのメモリは、物理アドレスPA、つまり、タ
グ(31:13)及び使用モードフラグUを含み、他のメモリ
は対応する物理アドレスPAの有効フラグVを記憶する。
さらに述べると、この重複の1つの目的は、このプロセ
ッサGPPが実時間でモニタされている物理アドレスPAの
カッド語QWを有するときに、適切なバストランザクショ
ンに応答するため、プロセッサGPPが拡張バス22上で受
信した物理アドレスPAをモニタすることを可能にするこ
とにある。この重複の他の目的は、プロセッササブシス
テム手段30がバスのモニタリング(監視)と平行してキ
ャッシュメモリ手段32をアクセスできるようにすること
にある。
バスモニタデータキャッシュタブバッファ34-14は、REA
D REQUEST PUBLIC若しくはREAD REQUEST PRIVATEの開始
により、マイクロエンジン手段38の制御のもとに書き込
みが行われる。いったんそのような書き込みがあると、
そこに記憶された物理アドレスPAは拡張バス22上でモニ
タされた各物理アドレスPAと比較される。バッファ32-1
4はモニタされた物理アドレスPA(12:4)により出力物理
アドレスを用いてラッチ34-5及びパイプラインパス34-1
3を介して、アドレスされる。その出力物理アドレスPA
(31:13)は、モニタ比較器34-15内のセット(AとB)
ベースごとにモニタされた物理アドレス(23:13)と比較
される。この比較の結果はモニタ制御論理回路34-16に
転送され、これにより、このモニタ制御論理回路はバス
モニタ状態コードをパス34-17を介してマイクロエンジ
ン手段38に与える。これについては、後で述べる。
D REQUEST PUBLIC若しくはREAD REQUEST PRIVATEの開始
により、マイクロエンジン手段38の制御のもとに書き込
みが行われる。いったんそのような書き込みがあると、
そこに記憶された物理アドレスPAは拡張バス22上でモニ
タされた各物理アドレスPAと比較される。バッファ32-1
4はモニタされた物理アドレスPA(12:4)により出力物理
アドレスを用いてラッチ34-5及びパイプラインパス34-1
3を介して、アドレスされる。その出力物理アドレスPA
(31:13)は、モニタ比較器34-15内のセット(AとB)
ベースごとにモニタされた物理アドレス(23:13)と比較
される。この比較の結果はモニタ制御論理回路34-16に
転送され、これにより、このモニタ制御論理回路はバス
モニタ状態コードをパス34-17を介してマイクロエンジ
ン手段38に与える。これについては、後で述べる。
また、対応有効フラグメモリ34-18が図示されている
が、このメモリは、バッファ34-14と同じ有効フラグV
を記憶するものであり、また、バッファ34-14の有効フ
ラグVと同じ方法で書き込まれる。メモリ34-18は、メ
モリアクセスサイクルの始めに次の方法で及び次の理由
でプロセッササブシステム手段30により読み取られる。
プロセッササブシステム手段30によるメモリアクセスサ
イクルの始めに、内部アドレスバスIAB上の論理アドレ
スLA(12:04)はメモリ34-18をアドレスするために使用
され、これにより、対応する有効フラグVが比較器32-7
ないし32-10に結合される。もし、この有効フラグVがI
NVALID(無効)であるならば、これは比較器32-7ないし
32-10の1つによって示される。この結果、キャッシュ
制御回路32-11が状態コードキャッシュミスをパス32-19
に出力する。その結果として、このメモリアクセスサイ
クルがキャッシュミスとして進行する。だが、もし、有
効フラグVがVALID(有効)であるならば、このメモリ
アクセスサイクルは前述したように進行する。
が、このメモリは、バッファ34-14と同じ有効フラグV
を記憶するものであり、また、バッファ34-14の有効フ
ラグVと同じ方法で書き込まれる。メモリ34-18は、メ
モリアクセスサイクルの始めに次の方法で及び次の理由
でプロセッササブシステム手段30により読み取られる。
プロセッササブシステム手段30によるメモリアクセスサ
イクルの始めに、内部アドレスバスIAB上の論理アドレ
スLA(12:04)はメモリ34-18をアドレスするために使用
され、これにより、対応する有効フラグVが比較器32-7
ないし32-10に結合される。もし、この有効フラグVがI
NVALID(無効)であるならば、これは比較器32-7ないし
32-10の1つによって示される。この結果、キャッシュ
制御回路32-11が状態コードキャッシュミスをパス32-19
に出力する。その結果として、このメモリアクセスサイ
クルがキャッシュミスとして進行する。だが、もし、有
効フラグVがVALID(有効)であるならば、このメモリ
アクセスサイクルは前述したように進行する。
また、進行中(in-progress)比較器34-19が図示されてい
るが、この比較器はプロセッササブシステム手段30によ
る現在のメモリアクセスサイクルの論理アドレスLA(2
3:04)を、拡張バス22上で受信されて処理中のラッチ34
-5にラッチされている物理アドレス(23:04)と比較す
る。さらに詳しく述べると、この比較は上記の所有権プ
ロトコルの一部として行われる。比較器34-19の出力は
モニタ制御論理回路34-16に結合される。
るが、この比較器はプロセッササブシステム手段30によ
る現在のメモリアクセスサイクルの論理アドレスLA(2
3:04)を、拡張バス22上で受信されて処理中のラッチ34
-5にラッチされている物理アドレス(23:04)と比較す
る。さらに詳しく述べると、この比較は上記の所有権プ
ロトコルの一部として行われる。比較器34-19の出力は
モニタ制御論理回路34-16に結合される。
もし、モニタ比較器34-15がデータDについてPRIVATEで
あるとの比較結果を示し、さらに、進行中比較器(イン
プログレスコンパレータ)34-19が何の比較結果も示さ
ないならば、モニタ制御論理回路34-16はパス34-20上に
制御信号を出力して、制御回路34-8にACK GROUPのCM-AC
KのACKを出力させる。すでに述べたように、物理アドレ
スPAの所有権は、このACKの発生に基づいて移され、そ
の結果、制御回路34-8は有効フラグVをバッファ34-14
とメモリ34-18内に回線34-21を介してINVALIDにリセッ
トする。またすでに述べたように、このACKを受け取る
プロセッサGPPはその対応するバスモニタセクション34-
12にその対応する制御回路34-8を介してその対応する有
効フラグVをセットする。
あるとの比較結果を示し、さらに、進行中比較器(イン
プログレスコンパレータ)34-19が何の比較結果も示さ
ないならば、モニタ制御論理回路34-16はパス34-20上に
制御信号を出力して、制御回路34-8にACK GROUPのCM-AC
KのACKを出力させる。すでに述べたように、物理アドレ
スPAの所有権は、このACKの発生に基づいて移され、そ
の結果、制御回路34-8は有効フラグVをバッファ34-14
とメモリ34-18内に回線34-21を介してINVALIDにリセッ
トする。またすでに述べたように、このACKを受け取る
プロセッサGPPはその対応するバスモニタセクション34-
12にその対応する制御回路34-8を介してその対応する有
効フラグVをセットする。
進行中比較器34-19は次の理由によって用いられる。第4
C図との関連ですでに述べたように、ある与えられた1
つのプロセッサ(以下、所定のプロセッサと称する)GP
Pが、他のプロセッサGPPによるREAD REQUEST(PUBLIC若
しくはPRIVATE)のINFO GROUPをそのバスモニタ34-12を
介して受け取り、処理する時間と、上述したように、そ
の所定のプロセッサGPPがACK GROUPのCM-ACKのACKを発
生する時間との間に、2クロック即ち2タイムスロット
の遅れがある。この遅延時間中に、所定のプロセッサGP
Pのプロセッササブシステム手段30は、他のプロセッサG
PPによって要求されたキャッシュメモリCM内のデータD
をアクセスすることが可能である。この遅延時間は、所
定のプロセッサGPPの進行中比較器34-19によって検知さ
れる。その結果として、所定のプロセッサGPPのモニタ
制御論理回路34-16は、回線34-20を介して送受信制御回
路34-8を制御することで進行中比較器34-19の出力に応
答する。これにより、第4C図に示すACK GROUPのCM-ACK
のビジイを発生させる。
C図との関連ですでに述べたように、ある与えられた1
つのプロセッサ(以下、所定のプロセッサと称する)GP
Pが、他のプロセッサGPPによるREAD REQUEST(PUBLIC若
しくはPRIVATE)のINFO GROUPをそのバスモニタ34-12を
介して受け取り、処理する時間と、上述したように、そ
の所定のプロセッサGPPがACK GROUPのCM-ACKのACKを発
生する時間との間に、2クロック即ち2タイムスロット
の遅れがある。この遅延時間中に、所定のプロセッサGP
Pのプロセッササブシステム手段30は、他のプロセッサG
PPによって要求されたキャッシュメモリCM内のデータD
をアクセスすることが可能である。この遅延時間は、所
定のプロセッサGPPの進行中比較器34-19によって検知さ
れる。その結果として、所定のプロセッサGPPのモニタ
制御論理回路34-16は、回線34-20を介して送受信制御回
路34-8を制御することで進行中比較器34-19の出力に応
答する。これにより、第4C図に示すACK GROUPのCM-ACK
のビジイを発生させる。
また、その出力が内部データバスIDBに結合されるイベ
ント(事象)レジスタERは、パイプラインパス34-13の
一部として図示されている。イベントレジスタERは、バ
ス22上のバストランザクションのINFO GROUPの一部とし
て受け取ったRIDを記憶若しくは、ラッチする。もし、
所定のプロセッサGPPがこのバストランザクションに対
してREAD RESPONSEで応答するならば、レジスタERにラ
ッチされたRIDは、レジスタER、内部データバスIDB、送
信レジスタ34-2及びドライバ34-3を介して第4D図に示
すREAD RESPONSE(読み取り応答)のINFO GROUPの一部
としてバス22上に、結合される。また、このイベントレ
ジスタERはモニタされた物理アドレスPA(12:4)を記憶
する。この物理アドレスPAは、内部データバスIDBを介
してマイクロエンジン手段38により取り込まれたもの
で、キャッシュメモリ32-5A′若しくは32-5B′から対応
データDを取り込むためのものである。
ント(事象)レジスタERは、パイプラインパス34-13の
一部として図示されている。イベントレジスタERは、バ
ス22上のバストランザクションのINFO GROUPの一部とし
て受け取ったRIDを記憶若しくは、ラッチする。もし、
所定のプロセッサGPPがこのバストランザクションに対
してREAD RESPONSEで応答するならば、レジスタERにラ
ッチされたRIDは、レジスタER、内部データバスIDB、送
信レジスタ34-2及びドライバ34-3を介して第4D図に示
すREAD RESPONSE(読み取り応答)のINFO GROUPの一部
としてバス22上に、結合される。また、このイベントレ
ジスタERはモニタされた物理アドレスPA(12:4)を記憶
する。この物理アドレスPAは、内部データバスIDBを介
してマイクロエンジン手段38により取り込まれたもの
で、キャッシュメモリ32-5A′若しくは32-5B′から対応
データDを取り込むためのものである。
第12図に示すように、マイクロエンジン手段38はマイク
ロコードPROM(プログラマブル読み取り専用メモリ)38
-2と記憶レジスタ38-3とから構成された符号38-1で総括
的に示すシーケンサ(順序子)を有している。一例とし
て、PROM38-2は1024のマイクロ命令を持っており、各命
令は72ビットからなっている。記憶レジスタ38-3はネク
ストアドレスレジスタNARを包含しており、このレジス
タNARは、実行される次のマイクロ命令に対するアドレ
スを記憶する。レジスタ38-3はさらにマイクロ命令レジ
スタMIRを包含し、このレジスタMIRは実行される各命令
を記憶する。
ロコードPROM(プログラマブル読み取り専用メモリ)38
-2と記憶レジスタ38-3とから構成された符号38-1で総括
的に示すシーケンサ(順序子)を有している。一例とし
て、PROM38-2は1024のマイクロ命令を持っており、各命
令は72ビットからなっている。記憶レジスタ38-3はネク
ストアドレスレジスタNARを包含しており、このレジス
タNARは、実行される次のマイクロ命令に対するアドレ
スを記憶する。レジスタ38-3はさらにマイクロ命令レジ
スタMIRを包含し、このレジスタMIRは実行される各命令
を記憶する。
第18図は、マイクロ命令レジスタMIR内にシフトされる
典型的なマイクロ命令を図示する。マイクロ命令は、マ
イクロエンジンデータパス制御、キャッシュ・ATUタグ
制御、データパス制御、および拡張バスモニタ・制御と
して識別された4つのフィールドに分かれている。ネク
ストアドレスフィールド制御と呼ばれる他のフィールド
は、各マイクロ命令に関連してネクストアドレスレジス
タNARに記憶された次のアドレスを与える。これらの5
つのフィールドの各々はさらにサブフィールドに分けら
れる。以下、これについて詳述する。
典型的なマイクロ命令を図示する。マイクロ命令は、マ
イクロエンジンデータパス制御、キャッシュ・ATUタグ
制御、データパス制御、および拡張バスモニタ・制御と
して識別された4つのフィールドに分かれている。ネク
ストアドレスフィールド制御と呼ばれる他のフィールド
は、各マイクロ命令に関連してネクストアドレスレジス
タNARに記憶された次のアドレスを与える。これらの5
つのフィールドの各々はさらにサブフィールドに分けら
れる。以下、これについて詳述する。
全体のシーケンサ38-1は、また外部状態マルチプレクサ
38-4を包含しており、このマルチプレクサはパス32-19
からキャッシュ状態コード、パス34-11から拡張キャッ
シュ状態コード、およびパス34-17から拡張バスモニタ
状態コード、さらには、後に述べるようなその他の情報
を受け取る。外部状態マルチプレクサ38-4は制御され
て、パス32-10、若しくはパス34-11、若しくはパス34-1
7を、マイクロ命令の分岐目的のために、結合する。こ
れについては後で述べる。
38-4を包含しており、このマルチプレクサはパス32-19
からキャッシュ状態コード、パス34-11から拡張キャッ
シュ状態コード、およびパス34-17から拡張バスモニタ
状態コード、さらには、後に述べるようなその他の情報
を受け取る。外部状態マルチプレクサ38-4は制御され
て、パス32-10、若しくはパス34-11、若しくはパス34-1
7を、マイクロ命令の分岐目的のために、結合する。こ
れについては後で述べる。
第18A図に図示され、第12図との関連でこれから説明す
るように、ネクストアドレスフィールドは、実行される
次のマイクロ命令の次のアドレスを指定する。次のアド
レスの最小位4ビットはマルチプレクサ38-4を介してこ
れらビットを送ることによって得られる。これにより、
キャッシュ状態、拡張バス状態、および拡張バスモニタ
状態のコードに基づいて、16通りのブランチが許され
る。これらの状態コードは、回線38-4′上の次のアドレ
スフィールドの2ビットのネクストアドレスマルチプレ
クサ制御信号によって選択される(第12図参照)。次の
アドレスの最小位ビット(LSB)は、状態テスト論理素子3
8-6(以下に詳細に述べる)から、マルチプレクサ38-4
を介して、状態テスト論理回路38-6からネクストアドレ
スレジスタNARへこのビットを送ることによって得られ
る。これにより、状態テストの結果に基づいて2通りの
ブランチが許される。
るように、ネクストアドレスフィールドは、実行される
次のマイクロ命令の次のアドレスを指定する。次のアド
レスの最小位4ビットはマルチプレクサ38-4を介してこ
れらビットを送ることによって得られる。これにより、
キャッシュ状態、拡張バス状態、および拡張バスモニタ
状態のコードに基づいて、16通りのブランチが許され
る。これらの状態コードは、回線38-4′上の次のアドレ
スフィールドの2ビットのネクストアドレスマルチプレ
クサ制御信号によって選択される(第12図参照)。次の
アドレスの最小位ビット(LSB)は、状態テスト論理素子3
8-6(以下に詳細に述べる)から、マルチプレクサ38-4
を介して、状態テスト論理回路38-6からネクストアドレ
スレジスタNARへこのビットを送ることによって得られ
る。これにより、状態テストの結果に基づいて2通りの
ブランチが許される。
マイクロエンジンデータパス制御フィールドは第18B図
に示す複数のサブフィールドを包含する。マイクロエン
ジン手段38の内部にあり、かつマイクロエンジンデータ
パス制御フィールドで制御されるマイクロエンジンデー
タパスは、状態テスト論理素子38-6、スクラッチラム(r
am)38-7およびラムアドレスマルチプレックサ38-3、デ
ータ操作論理素子38-9、アドスカウンタ/レジスタ38-1
0、および双方向レジスタ38-11を包含している。これら
のすべては、符号38-12で総括的に示す内部シーケンサ
データバスにより一緒に結合される。後で述べるよう
に、これらの構成要素は特殊なデータ・アドレス機能を
実行する。
に示す複数のサブフィールドを包含する。マイクロエン
ジン手段38の内部にあり、かつマイクロエンジンデータ
パス制御フィールドで制御されるマイクロエンジンデー
タパスは、状態テスト論理素子38-6、スクラッチラム(r
am)38-7およびラムアドレスマルチプレックサ38-3、デ
ータ操作論理素子38-9、アドスカウンタ/レジスタ38-1
0、および双方向レジスタ38-11を包含している。これら
のすべては、符号38-12で総括的に示す内部シーケンサ
データバスにより一緒に結合される。後で述べるよう
に、これらの構成要素は特殊なデータ・アドレス機能を
実行する。
マイクロエンジンデータパス制御フィールドの命令コー
ドサブフィールドは、データ操作論理回路38-9を制御し
て、以下の動作を含む一定の動作を指定する。この動作
には、(1)データキャッシュタグ使用モードフラグUをP
UBLICにセットすること、(2)データキャッシュタグ使用
モードフラグUをPRIVATEにセットすること、並びに変
更フラグMをUNMODIFIEDにセットすること、(3)データ
キャッシュタグ使用モードフラグUをPRIVATEにセット
し、変更フラグMをMODIFIEDにセットすること、および
(4)データキャッシュタグ有効フラグVをINVALIDにセッ
トすること、とが含まれる。
ドサブフィールドは、データ操作論理回路38-9を制御し
て、以下の動作を含む一定の動作を指定する。この動作
には、(1)データキャッシュタグ使用モードフラグUをP
UBLICにセットすること、(2)データキャッシュタグ使用
モードフラグUをPRIVATEにセットすること、並びに変
更フラグMをUNMODIFIEDにセットすること、(3)データ
キャッシュタグ使用モードフラグUをPRIVATEにセット
し、変更フラグMをMODIFIEDにセットすること、および
(4)データキャッシュタグ有効フラグVをINVALIDにセッ
トすること、とが含まれる。
状態テストサブフィールドは、状態テスト論理素子38-6
を制御して、一定のテスト(検証)を実行する。これら
のテストには、(1)PRIVATE時において置換若しくは割り
付け解除されるカッド語QWの使用モードフラグUをテス
トすること、(2)MODIFIED時において置換されるカッド
語QWの変更フラグMをテストすること、および(3)PRIVA
TE時において新しいカッド語QWの使用モードフラグUの
割当てをすること、とが含まれる。
を制御して、一定のテスト(検証)を実行する。これら
のテストには、(1)PRIVATE時において置換若しくは割り
付け解除されるカッド語QWの使用モードフラグUをテス
トすること、(2)MODIFIED時において置換されるカッド
語QWの変更フラグMをテストすること、および(3)PRIVA
TE時において新しいカッド語QWの使用モードフラグUの
割当てをすること、とが含まれる。
カウンタ制御サブフィールドはアドレスカウンタ・レジ
スタ38-10を制御して、下記のアドレスを供給させる。
このアドレスには、アドレス変換タグバッファ32-1A,32
-1B用のアドレス,データキャッシュタグバッファ32-5
A,32-5B用のアドレス,およびデータパス38-11を介して
内部データバスIDB上に出力されるバストランザクショ
ンの物理アドレスPAがある。
スタ38-10を制御して、下記のアドレスを供給させる。
このアドレスには、アドレス変換タグバッファ32-1A,32
-1B用のアドレス,データキャッシュタグバッファ32-5
A,32-5B用のアドレス,およびデータパス38-11を介して
内部データバスIDB上に出力されるバストランザクショ
ンの物理アドレスPAがある。
スクラッチラム制御サブフィールドは、スクラッチラム
38-7をアクセスするためのイネーブル(使用可能)信号
を与える。スクラッチアラムアドレスマルチプレクササ
ブフィールドはマルチプレクサ38-8を制御して、スクラ
ッチラム38-7用のアドレスソースを選択させる。スクラ
ッチラム38-7は、内部アドレスバスIABを介して、ある
いはマイクロ命令レジスタMIRから直接に、プロセッサ
サブシステム手段30によってアドレスされることができ
る。
38-7をアクセスするためのイネーブル(使用可能)信号
を与える。スクラッチアラムアドレスマルチプレクササ
ブフィールドはマルチプレクサ38-8を制御して、スクラ
ッチラム38-7用のアドレスソースを選択させる。スクラ
ッチラム38-7は、内部アドレスバスIABを介して、ある
いはマイクロ命令レジスタMIRから直接に、プロセッサ
サブシステム手段30によってアドレスされることができ
る。
内部バスレジスタ出力イネーブルサブフィールドは、双
方向レジスタ38-11をイネーブルして、マイクロエンジ
ン手段38及び内部データバスIDBに関してデータの入出
力を行わせる。
方向レジスタ38-11をイネーブルして、マイクロエンジ
ン手段38及び内部データバスIDBに関してデータの入出
力を行わせる。
キャッシュ・アドレス変換ユニット(ATU)制御フィール
ドは第18C図に示すように5つのサブフィールドを含ん
でいる。キャッシュ置換サブフィールドはデータキャッ
シュタグバッファ32-5Aと32-5B及びアドレス変換タグバ
ッファ32-1Aと32-1Bとを制御し、下記の3つの動作を行
う。(1)バッファ32-1A若しくは32-1Bからのアドレスの
置換を選択し、及びバッファ32-5A若しくは32-5Bからの
カッド語QWの置換を選択する。(2)これらのバッファを
イネーブルして選択された置換セット(A若しくはB)
を内部データバスIDB上に置かせる。および、(3)置換セ
ット(A若しくはB)を状態テスト論理素子38-6に転送
して、この状態テスト論理素子38-6により前述のよう
に、種々のフラグをテストさせる。
ドは第18C図に示すように5つのサブフィールドを含ん
でいる。キャッシュ置換サブフィールドはデータキャッ
シュタグバッファ32-5Aと32-5B及びアドレス変換タグバ
ッファ32-1Aと32-1Bとを制御し、下記の3つの動作を行
う。(1)バッファ32-1A若しくは32-1Bからのアドレスの
置換を選択し、及びバッファ32-5A若しくは32-5Bからの
カッド語QWの置換を選択する。(2)これらのバッファを
イネーブルして選択された置換セット(A若しくはB)
を内部データバスIDB上に置かせる。および、(3)置換セ
ット(A若しくはB)を状態テスト論理素子38-6に転送
して、この状態テスト論理素子38-6により前述のよう
に、種々のフラグをテストさせる。
データキャッシュタグ書き込みサブフィールドは選択さ
れたデータキッシュタグセットA若しくはB、すなわ
ち、バッファ32-5A若しくは32-5Bに対する書き込みを可
能にする。ATUタグ書き込みサブフィールドは、選択さ
れたアドレス変換タグバッファ32-1A,32-1B(セットA
若しくはB)に対する書き込みを可能にする。この後者
のサブフィールドは、ATUタグイネーブルサブフィール
ドとの協動で使用され、内部アドレスバスIAB上へ向け
データソースを制御する。
れたデータキッシュタグセットA若しくはB、すなわ
ち、バッファ32-5A若しくは32-5Bに対する書き込みを可
能にする。ATUタグ書き込みサブフィールドは、選択さ
れたアドレス変換タグバッファ32-1A,32-1B(セットA
若しくはB)に対する書き込みを可能にする。この後者
のサブフィールドは、ATUタグイネーブルサブフィール
ドとの協動で使用され、内部アドレスバスIAB上へ向け
データソースを制御する。
ATUタグレジスタ制御サブフィールドは、内部データバ
スIDB上の情報の現在値をアドレス変換タグバッファ32-
1Aと32-1B(セットAとセットB)にロードすることを
可能にする。
スIDB上の情報の現在値をアドレス変換タグバッファ32-
1Aと32-1B(セットAとセットB)にロードすることを
可能にする。
第18D図に示すように、主データパス制御フィールド
は、内部データバスIDBと内部アドスバスIABに加えて、
プロセッササブシステム手段30とキャッシュメモリCMと
関連したデータパス(複数)を制御するために多数のサ
ブフィールドを持っている。キャッシュ制御サブフィー
ルドはパス32-20を介してキャッシュ制御回路32-11にコ
マンドを与える。これらのコマンド(第1のコマンド)
は、正常動作を識別するもので、キャッシュメモリCMに
対するアクセスが、マイクロエンジン手段38からのそれ
以上の介在なしに続行することを許可する。つまり、こ
の正常動作はキャッシュヒットを意味する。かかる介在
を必要とする場合は、キャッシュ制御回路32-11路がキ
ャッシュ動作を停止する。第2のコマンドはマイクロエ
ンジン手段38により発生されるもので、バスモニタの要
求にサービスするためにかかる介在を必要とするとき、
あるいはプロセッササブシステム手段30の動作が、キャ
ッシュ置換目的のため等、つまり、キャッシュミスのた
めに、一時停止されねばならないときに、キャッシュ動
作をホールド(保留)するためのものである。第3のコ
マンドは、キャッシュ制御回路32-11が停止した後にそ
のキャッシュ制御回路32-11を再開始させるものであ
る。ホールドサブシステムサブフィールドは、プロセッ
ササブシステム手段30の回路30-2を制御して、マイクロ
エンジン手段38による介在の間、現在のメモリアクセス
サイクルを保持させる。
は、内部データバスIDBと内部アドスバスIABに加えて、
プロセッササブシステム手段30とキャッシュメモリCMと
関連したデータパス(複数)を制御するために多数のサ
ブフィールドを持っている。キャッシュ制御サブフィー
ルドはパス32-20を介してキャッシュ制御回路32-11にコ
マンドを与える。これらのコマンド(第1のコマンド)
は、正常動作を識別するもので、キャッシュメモリCMに
対するアクセスが、マイクロエンジン手段38からのそれ
以上の介在なしに続行することを許可する。つまり、こ
の正常動作はキャッシュヒットを意味する。かかる介在
を必要とする場合は、キャッシュ制御回路32-11路がキ
ャッシュ動作を停止する。第2のコマンドはマイクロエ
ンジン手段38により発生されるもので、バスモニタの要
求にサービスするためにかかる介在を必要とするとき、
あるいはプロセッササブシステム手段30の動作が、キャ
ッシュ置換目的のため等、つまり、キャッシュミスのた
めに、一時停止されねばならないときに、キャッシュ動
作をホールド(保留)するためのものである。第3のコ
マンドは、キャッシュ制御回路32-11が停止した後にそ
のキャッシュ制御回路32-11を再開始させるものであ
る。ホールドサブシステムサブフィールドは、プロセッ
ササブシステム手段30の回路30-2を制御して、マイクロ
エンジン手段38による介在の間、現在のメモリアクセス
サイクルを保持させる。
キャッシュデータパス制御サブフィールドは、キャッシ
ュメモリCMと内部データバスIDB間のデータの流れを制
御するためのコマンドを発行する。
ュメモリCMと内部データバスIDB間のデータの流れを制
御するためのコマンドを発行する。
キャッシュRAM制御サブフィールドは、キャッシュメモ
リCMの使用許可(イネーブルリング)及び取り込み(ス
トロービング)を制御して、キャッシュメモリCMの読み
取りまたは書き込みを行わせる。
リCMの使用許可(イネーブルリング)及び取り込み(ス
トロービング)を制御して、キャッシュメモリCMの読み
取りまたは書き込みを行わせる。
アドレス発生サブフィールドは内部データバスIDB用の
アドレスソースを制御するためのコマンドを発生する。
このコマンド発生は、前述のように、アドレスが内部デ
ータバスIDB上に運ばれるとき、例えば、アドレスバッ
ファ36が内部アドレスバスIAB上の論理アドレスLAを内
部データバスIDB上に結合する時に行われる。論理アド
レスバスソースサブフィールドは内部アドレスバスIAB
用の2つの論理アドレスソースを制御するものである。
バッファ30-4を介したプロセッササブシステム論理アド
レスLA、及びアドレスカウンタ・レジスタ30-10を介し
てマイクロエンジンデータパス論理アドレスLAがある。
アドレスソースを制御するためのコマンドを発生する。
このコマンド発生は、前述のように、アドレスが内部デ
ータバスIDB上に運ばれるとき、例えば、アドレスバッ
ファ36が内部アドレスバスIAB上の論理アドレスLAを内
部データバスIDB上に結合する時に行われる。論理アド
レスバスソースサブフィールドは内部アドレスバスIAB
用の2つの論理アドレスソースを制御するものである。
バッファ30-4を介したプロセッササブシステム論理アド
レスLA、及びアドレスカウンタ・レジスタ30-10を介し
てマイクロエンジンデータパス論理アドレスLAがある。
拡張バス制御フィールドは第18E図に示されており、多
数のサブフィールドを含んでいる。拡張バスコマンドサ
ブフィールドは送受信制御回路34-8へコマンドを発行し
て、実行されている所定のバストランザクションに対し
てそのコマンドを与える。拡張バス調停および送信制御
サブフィールドは制御回路34-8へコマンドを発行して、
実行されている所定のバストランザクションに基いて、
多数のクロック期間においてバス22を調停し保持する制
御をさせる。
数のサブフィールドを含んでいる。拡張バスコマンドサ
ブフィールドは送受信制御回路34-8へコマンドを発行し
て、実行されている所定のバストランザクションに対し
てそのコマンドを与える。拡張バス調停および送信制御
サブフィールドは制御回路34-8へコマンドを発行して、
実行されている所定のバストランザクションに基いて、
多数のクロック期間においてバス22を調停し保持する制
御をさせる。
IDイネーブルサブフィールドは、ジェネレータRIDがRID
をバス22上に運び出すか否かについて制御するためジェ
ネレータRIDをイネーブル(使用許可)する。RIDはモニ
タ状態制御サブフィールドに応じて提供される。
をバス22上に運び出すか否かについて制御するためジェ
ネレータRIDをイネーブル(使用許可)する。RIDはモニ
タ状態制御サブフィールドに応じて提供される。
モニタタグ更新コマンドサブフィールドは新しいバスモ
ニタタグを書き込み、バスモニタを強制的にビジイにす
るために、制御回路34-8に対しコマンドを発行する。
ニタタグを書き込み、バスモニタを強制的にビジイにす
るために、制御回路34-8に対しコマンドを発行する。
モニタ状態コマンドサブフィールドはモニタ制御回路34
-16に対しコマンドを発行する。このモニタ制御回路34-
16は、マルチプレクサ38-4にバスモニタ状態コードを与
え、同時にモニタアドレスレジスタ(図示せず)に出力
イネーブル(出力許可信号)を与え、かつモニタRIDレ
ジスタ(図示せず)に対して出力イネーブルを与える。
-16に対しコマンドを発行する。このモニタ制御回路34-
16は、マルチプレクサ38-4にバスモニタ状態コードを与
え、同時にモニタアドレスレジスタ(図示せず)に出力
イネーブル(出力許可信号)を与え、かつモニタRIDレ
ジスタ(図示せず)に対して出力イネーブルを与える。
マイクロエンジン手段38の観点から汎用プロセッサGPP
の動作とマイクロ命令の使用とについて、更に詳細に述
べる。
の動作とマイクロ命令の使用とについて、更に詳細に述
べる。
第19図はキャッシュヒットに対する汎用プロセッサGPP
により使用される概略のアルゴリズムを示すフローチャ
ートである。キャッシュヒットに対する汎用プロセッサ
GPPの動作の更に詳細な記述は第19図の説明に続けて行
う。
により使用される概略のアルゴリズムを示すフローチャ
ートである。キャッシュヒットに対する汎用プロセッサ
GPPの動作の更に詳細な記述は第19図の説明に続けて行
う。
まず、キャッシュヒットが発生したと想定する(ブロッ
クA-1)。このキャッシュヒットが処理される間、マイ
クロエンジン手段38はモニタ制御回路34-16をチェック
し(ブロックA-2)、モニタサービスが必要であるか否
かについて、決定する。モニタサービスが必要でない時
は、サブルーチンが復帰する(ブロックA-1)。
クA-1)。このキャッシュヒットが処理される間、マイ
クロエンジン手段38はモニタ制御回路34-16をチェック
し(ブロックA-2)、モニタサービスが必要であるか否
かについて、決定する。モニタサービスが必要でない時
は、サブルーチンが復帰する(ブロックA-1)。
バスモニタサービルが必要とされると(ブロックA-
2)、バスモニタサービスが実行される(ブロックA-
3)。
2)、バスモニタサービスが実行される(ブロックA-
3)。
さらに詳しく述べると、すでに述べられたように、キャ
ッシュヒットに基づいて、キャッシュ制御回路32-11
は、マイクロエンジン手段38による介在なしにキャッシ
ュメモリCMの動作(オペレーション)を制御する。マイ
クロエンジン手段38はパス32-19を介してキャッシュヒ
ット状態をデコード(復号)し、現在進行中のキャッシ
ュヒットメモリアクセスと並行してバスモニタ待ち行列
イベント(事象)をチェックする。
ッシュヒットに基づいて、キャッシュ制御回路32-11
は、マイクロエンジン手段38による介在なしにキャッシ
ュメモリCMの動作(オペレーション)を制御する。マイ
クロエンジン手段38はパス32-19を介してキャッシュヒ
ット状態をデコード(復号)し、現在進行中のキャッシ
ュヒットメモリアクセスと並行してバスモニタ待ち行列
イベント(事象)をチェックする。
そこで、プロセッササブシステム手段30のメモリアクセ
スサイクルがタイムスロットt1で開始されると想定す
る。次のタイムスロットt2の期間中、キャッシュ制御
回路32-11はパス32-19上のキャッシュヒットを指し示
す。このキャッシュヒットは、タイムスロットt3の間
のマイクロ命令のネクストアドレスフィールド及びタイ
ムスロットt4間の次のアドレスにおいて返される。
スサイクルがタイムスロットt1で開始されると想定す
る。次のタイムスロットt2の期間中、キャッシュ制御
回路32-11はパス32-19上のキャッシュヒットを指し示
す。このキャッシュヒットは、タイムスロットt3の間
のマイクロ命令のネクストアドレスフィールド及びタイ
ムスロットt4間の次のアドレスにおいて返される。
タイムスロットt4の期間において、マイクロエンジン
手段38は、拡張バス22上のバストランザクションをペン
ディング(留保)しているモニタ制御回路34-16をチェ
ックする。もし、かかるバストランザクションのペンデ
ィングがないならば、かつ、現在のメモリアクセスサイ
クルが正常の読み取り若しくは書き込みアクセスである
ならば、シーケンサー(順序子)38-1はアイドル(遊
び)ループ(図示せず)を介して、16路(16-way)ジャ
ンプ(飛越し)を行う。プロセッササブシステム手段30
による他のメモリアクセスサイクルがキャッシュヒット
と共に発生するならば、これは、上に述べた方法で、も
う一度処理される。パイプラインパス34-13により拡張
バス22上の物理アドレスPAに対してパイプライン輸送を
行うことにより、マイクロエンジン手段38がモニタ制御
回路34-16をチェックすることを許容している。このチ
ェックは、プロセッササブシステム手段30によるn番目
のメモリアクセスサイクルの間に行われる。このn番目
のサイクルアクセスは次にn+1番目のサイクル間で発
生する。
手段38は、拡張バス22上のバストランザクションをペン
ディング(留保)しているモニタ制御回路34-16をチェ
ックする。もし、かかるバストランザクションのペンデ
ィングがないならば、かつ、現在のメモリアクセスサイ
クルが正常の読み取り若しくは書き込みアクセスである
ならば、シーケンサー(順序子)38-1はアイドル(遊
び)ループ(図示せず)を介して、16路(16-way)ジャ
ンプ(飛越し)を行う。プロセッササブシステム手段30
による他のメモリアクセスサイクルがキャッシュヒット
と共に発生するならば、これは、上に述べた方法で、も
う一度処理される。パイプラインパス34-13により拡張
バス22上の物理アドレスPAに対してパイプライン輸送を
行うことにより、マイクロエンジン手段38がモニタ制御
回路34-16をチェックすることを許容している。このチ
ェックは、プロセッササブシステム手段30によるn番目
のメモリアクセスサイクルの間に行われる。このn番目
のサイクルアクセスは次にn+1番目のサイクル間で発
生する。
もし、かかるメモリアクセスサイクル中に、バスモニタ
サービスが必要とされると、制御がマイクロエンジン手
段38に渡され、モニタサービスが実行される。
サービスが必要とされると、制御がマイクロエンジン手
段38に渡され、モニタサービスが実行される。
第20図はキャッシュミスに対する汎用プロセッサGPPの
概略のアルゴリズムを示すフローチャートである(ブロ
ックB-1)。キャッシュミスに対する汎用プロセッサGPP
の動作の詳細な説明は、第20図の説明後に行う。キャッ
シュミスに応答して、マイクロエンジン手段38は置換さ
れるキャッシュタグを読み取る(ブロックB-2)。そし
て、もし、除去又は割り付け解除されるカッド語QWがPR
IVATEでないならば(ブロックB-3)、マイクロエンジン
手段38は新しいカッド語QWの物理アドレスPAを発生し、
これをキャッシュメモリCMにロードする(ブロックB-
4)。
概略のアルゴリズムを示すフローチャートである(ブロ
ックB-1)。キャッシュミスに対する汎用プロセッサGPP
の動作の詳細な説明は、第20図の説明後に行う。キャッ
シュミスに応答して、マイクロエンジン手段38は置換さ
れるキャッシュタグを読み取る(ブロックB-2)。そし
て、もし、除去又は割り付け解除されるカッド語QWがPR
IVATEでないならば(ブロックB-3)、マイクロエンジン
手段38は新しいカッド語QWの物理アドレスPAを発生し、
これをキャッシュメモリCMにロードする(ブロックB-
4)。
だが、除去(purge)されるカッド語QWがPRIVATEであるな
らば(ブロックB-3)、マイクロエンジン手段38はWRITE
MODIFIED(若しくはUNMODIFIED)バストランザクショ
ンを開始し(ブロックB-5)、次いでこのバストランザ
クションの完了を待つ(ブロックB-6)。正常の完了に
より、マイクロエンジン手段38は、取り込まれる新しい
カッド語QWのための物理アドレスPAを発生する(ブロッ
クB-4)。
らば(ブロックB-3)、マイクロエンジン手段38はWRITE
MODIFIED(若しくはUNMODIFIED)バストランザクショ
ンを開始し(ブロックB-5)、次いでこのバストランザ
クションの完了を待つ(ブロックB-6)。正常の完了に
より、マイクロエンジン手段38は、取り込まれる新しい
カッド語QWのための物理アドレスPAを発生する(ブロッ
クB-4)。
もし、完了待ち時において、ACK GROUPを介してビジイ
信号があると(ブロックB-6)、マイクロエンジン手段3
8は拡張バスモニタをチェックする(ブロックB-7)。続
いて、キャッシュタグ読み取りのために戻る(ブロック
B-2)。
信号があると(ブロックB-6)、マイクロエンジン手段3
8は拡張バスモニタをチェックする(ブロックB-7)。続
いて、キャッシュタグ読み取りのために戻る(ブロック
B-2)。
新しいカッド語QWに対する物理アドレスPAを発生した後
(ブロックB-4)、マイクロエンジン手段38は拡張バス
モニタを再びチェックし、サービスが必要か否か判断す
る(ブロックB-8)。もし、かかるサービスを必要とす
るならば、拡張バスモニタサービスが処理され(ブロッ
クB-9)、サブルーチンがキャッシュタグ読み取りのた
めに戻る(ブロックB-2)。だが、かかるサービスが必
要とされないときは、新しいカッド語QWの使用モードが
マイクロエンジン手段38によってテストされる(ブロッ
クB-10)。かかる使用モードがPRIVATEであるならば、
キャッシュタグが書き込まれ(ブロックB-11)、次い
で、READ REQUEST PRIVATEが開始される(ブロックB-1
2)。マイクロエンジン手段38は、ついで完了を待つ
(ブロックB-13)。だが、もし、ビジイが発生すると、
サブルーチンがエントリポイントEに入る(ブロックB-
4)。完了により(ブロックB-13)、マイクロエンジン
手段38はアイドル状態に戻る。
(ブロックB-4)、マイクロエンジン手段38は拡張バス
モニタを再びチェックし、サービスが必要か否か判断す
る(ブロックB-8)。もし、かかるサービスを必要とす
るならば、拡張バスモニタサービスが処理され(ブロッ
クB-9)、サブルーチンがキャッシュタグ読み取りのた
めに戻る(ブロックB-2)。だが、かかるサービスが必
要とされないときは、新しいカッド語QWの使用モードが
マイクロエンジン手段38によってテストされる(ブロッ
クB-10)。かかる使用モードがPRIVATEであるならば、
キャッシュタグが書き込まれ(ブロックB-11)、次い
で、READ REQUEST PRIVATEが開始される(ブロックB-1
2)。マイクロエンジン手段38は、ついで完了を待つ
(ブロックB-13)。だが、もし、ビジイが発生すると、
サブルーチンがエントリポイントEに入る(ブロックB-
4)。完了により(ブロックB-13)、マイクロエンジン
手段38はアイドル状態に戻る。
新しいカッド語QWの利用モードがPUBLICであるならば
(ブロックB-10)、キャッシュタグが書き込まれ(ブロ
ックB-14)、READ REQUEST PUBLICが開始される(ブロ
ックB-15)。完了待ちがこれに続く(ブロックB-16)。
もし、ここでビジイが発生すると、サブルーチンがエン
トリポイントEに再び入り(ブロックB-4)、あるいは
また完了に基づいて、マイクロエンジン手段38がアイド
ル状態に戻る。
(ブロックB-10)、キャッシュタグが書き込まれ(ブロ
ックB-14)、READ REQUEST PUBLICが開始される(ブロ
ックB-15)。完了待ちがこれに続く(ブロックB-16)。
もし、ここでビジイが発生すると、サブルーチンがエン
トリポイントEに再び入り(ブロックB-4)、あるいは
また完了に基づいて、マイクロエンジン手段38がアイド
ル状態に戻る。
さらに詳しくは、キャッシュミスが、プロセッササブシ
ステム手段30によるメモリアクセスサイクル中に、特定
のアドレスでシーケンサ38-1によりデコードされる。そ
れ故に、PROM38-2に記憶されたマイクロ命令の特定のア
ドレスで始まるシーケンサ38-1内のサブルーチンに、制
御が渡される。プロセッササブシステム手段30による現
在のメモリアクセスは、新しいキャッシュエントリが現
在のメモリアクセスの物理アドレスPAに割振りされるま
で、待ち状態に置かれる。キャッシュミスルーチンの終
わりに、メモリアクセスサイクルが継続する。キャッシ
ュミスルーチンの間、現在の論理アドレスPA(10:00)が
物理アドレスPA(31:11)とデータ操作論理素子38-9によ
り連結される。この物理アドレスPA(31:11)は物理アド
レスPA(31:00)を生成するために置換されるものであ
る。次いで状態テスト論理素子38-6によりテストが行わ
れる。このテストはこの物理アドレスPAのキャッシュメ
モリCMに記憶された特定のカッド語QWを共用メモリSMに
戻して消去しなければならないか否かを決定するための
ものである。もし、このカッド語QWがPRIVATEであり、
かつVALIDであるならば、カッド語は消去せねばなら
ず、かつこれを完了させるためにPROM38-2に記憶された
マイクロ命令の他のアドレスでの実行を継続する。しか
し、このカッド語QWがINVALID若しくはPUBLICであるな
らば、その消去をスキップ(飛び越す)することがで
き、実行を継続して、新しい若しくは所望のカッド語QW
を得ることができる。
ステム手段30によるメモリアクセスサイクル中に、特定
のアドレスでシーケンサ38-1によりデコードされる。そ
れ故に、PROM38-2に記憶されたマイクロ命令の特定のア
ドレスで始まるシーケンサ38-1内のサブルーチンに、制
御が渡される。プロセッササブシステム手段30による現
在のメモリアクセスは、新しいキャッシュエントリが現
在のメモリアクセスの物理アドレスPAに割振りされるま
で、待ち状態に置かれる。キャッシュミスルーチンの終
わりに、メモリアクセスサイクルが継続する。キャッシ
ュミスルーチンの間、現在の論理アドレスPA(10:00)が
物理アドレスPA(31:11)とデータ操作論理素子38-9によ
り連結される。この物理アドレスPA(31:11)は物理アド
レスPA(31:00)を生成するために置換されるものであ
る。次いで状態テスト論理素子38-6によりテストが行わ
れる。このテストはこの物理アドレスPAのキャッシュメ
モリCMに記憶された特定のカッド語QWを共用メモリSMに
戻して消去しなければならないか否かを決定するための
ものである。もし、このカッド語QWがPRIVATEであり、
かつVALIDであるならば、カッド語は消去せねばなら
ず、かつこれを完了させるためにPROM38-2に記憶された
マイクロ命令の他のアドレスでの実行を継続する。しか
し、このカッド語QWがINVALID若しくはPUBLICであるな
らば、その消去をスキップ(飛び越す)することがで
き、実行を継続して、新しい若しくは所望のカッド語QW
を得ることができる。
READ REQUESTE(新しい若しくは所望のカッド語QWを得
るためのPUBLIC若しくはPRIVATE)を開始する以前に、
マイクロエンジン手段38は、バスモニタ制御回路34-16
により開始された要求についてサービスしなければなら
ない。さらに、デッドロック(こう着)状態を防ぐため
に、追加の要求は禁止しなければならない。この追加の
要求はCM-ACKのビジイの発生を強制的に行うことにより
禁止される。このビジイはアクノーレッジ(受信確認)
に代えてビジイにさせるために、キャッシュメモリCM内
のPRIVATEのカッド語QWに対するREADREQUESTを生じさせ
る。そのカッド語QWに対する全ての要求は、所望のカッ
ド語QWが得られるまでビジイとなる。また、このバスモ
ニタ34-12は、パス34-14上で識別されたバスモニタ状態
に基づいたマイクロ命令の16路のジャンプ(飛び越し)
によりチェックされ、サービスされる。もし、イベント
(事象)がサービスされなければならないならば、キャ
ッシュミスサブルーチンがこのサービスの完了時にエン
トリーポイントEに再び入れられる。
るためのPUBLIC若しくはPRIVATE)を開始する以前に、
マイクロエンジン手段38は、バスモニタ制御回路34-16
により開始された要求についてサービスしなければなら
ない。さらに、デッドロック(こう着)状態を防ぐため
に、追加の要求は禁止しなければならない。この追加の
要求はCM-ACKのビジイの発生を強制的に行うことにより
禁止される。このビジイはアクノーレッジ(受信確認)
に代えてビジイにさせるために、キャッシュメモリCM内
のPRIVATEのカッド語QWに対するREADREQUESTを生じさせ
る。そのカッド語QWに対する全ての要求は、所望のカッ
ド語QWが得られるまでビジイとなる。また、このバスモ
ニタ34-12は、パス34-14上で識別されたバスモニタ状態
に基づいたマイクロ命令の16路のジャンプ(飛び越し)
によりチェックされ、サービスされる。もし、イベント
(事象)がサービスされなければならないならば、キャ
ッシュミスサブルーチンがこのサービスの完了時にエン
トリーポイントEに再び入れられる。
次に、GPPによる現在のバストランザクション、すなわ
ち所望のカッド語QWを得るためのREAD RESPONSE(PUBLIC
またはPRIVATE)がマイクロ命令の所定のアドレスで始ま
る。所望のカッド語QWの物理アドレスPAは内部アドレス
バスIAB上に出力される。ついで、所望のカッド語QWがP
UBLICまたはPRIVATEの使用モードを持つか否かを決定す
るためのテストが行われる。それから、このテストに基
づいたマイクロ命令のサブルーチンに制御が渡り、これ
により新しいカッド語QWをキャッシュメモリCM内に、PR
IVATE若しくはPUBLICとして書き込むことが行われる。
ち所望のカッド語QWを得るためのREAD RESPONSE(PUBLIC
またはPRIVATE)がマイクロ命令の所定のアドレスで始ま
る。所望のカッド語QWの物理アドレスPAは内部アドレス
バスIAB上に出力される。ついで、所望のカッド語QWがP
UBLICまたはPRIVATEの使用モードを持つか否かを決定す
るためのテストが行われる。それから、このテストに基
づいたマイクロ命令のサブルーチンに制御が渡り、これ
により新しいカッド語QWをキャッシュメモリCM内に、PR
IVATE若しくはPUBLICとして書き込むことが行われる。
その後、プロセッササブシステム手段30による現在のメ
モリアクセスが継続され、適切なデータパスが、このメ
モリアクセスサイクル中にマイクロエンジン手段38によ
り設定される。キャッシュ制御回路32-11はついで再開
始され、マイクロエンジン手段38のアイドルループに制
御が渡る。現在のメモリアクセスはキャッシュヒットと
して完了する。
モリアクセスが継続され、適切なデータパスが、このメ
モリアクセスサイクル中にマイクロエンジン手段38によ
り設定される。キャッシュ制御回路32-11はついで再開
始され、マイクロエンジン手段38のアイドルループに制
御が渡る。現在のメモリアクセスはキャッシュヒットと
して完了する。
第21図は、カッド語QWの変更に使用されるキャッシュエ
ントリーモデファイドの名称のサブルーチンのフローチ
ャートを示す。まず、キャッシュタグバッファ32-5Aま
たは32-5Bが読み取られ(ブロックC-1)、対応するカッ
ド語QWの使用モードフラグUが状態テスト論理素子38-6
により決定される(ブロックC-2)。もし、カッド語QW
がPUBLICであるならば、サブルーチンがエントリーポイ
ントEに入る(第20図参照)。だが、もし、使用モード
がPRIVATEであるならば、変更フラグMがデータ操作論
理素子38-9にセットされる(ブロックC-3)。これに、
キャッシュタグバッファによるバッグ(二重書き)が続
く(ブロックC-4)。ついで、現在のメモリアクセスサ
イクルが完了する(ブロックC-5)。これにより、プロ
セッササブシステム手段30がカッド語QWを受け入れ、変
更することができる。その後、マイクロエンジン手段38
がアイドル状態に戻る(ブロックC-6)。
ントリーモデファイドの名称のサブルーチンのフローチ
ャートを示す。まず、キャッシュタグバッファ32-5Aま
たは32-5Bが読み取られ(ブロックC-1)、対応するカッ
ド語QWの使用モードフラグUが状態テスト論理素子38-6
により決定される(ブロックC-2)。もし、カッド語QW
がPUBLICであるならば、サブルーチンがエントリーポイ
ントEに入る(第20図参照)。だが、もし、使用モード
がPRIVATEであるならば、変更フラグMがデータ操作論
理素子38-9にセットされる(ブロックC-3)。これに、
キャッシュタグバッファによるバッグ(二重書き)が続
く(ブロックC-4)。ついで、現在のメモリアクセスサ
イクルが完了する(ブロックC-5)。これにより、プロ
セッササブシステム手段30がカッド語QWを受け入れ、変
更することができる。その後、マイクロエンジン手段38
がアイドル状態に戻る(ブロックC-6)。
詳述すると、キャッシュエントリーモデファイドサブル
ーチンはマイクロプロセッサ30-1によるキャッシュ書き
込みについての2つの状態を示す。その第1の状態で
は、PUBLICのカッド語QWに対する書き込みが意図されて
いる。その第2の状態では、そのリセットされた変更フ
ラグMを持つPRIVATEカッド語QWに書き込みが意図され
ている。まず、第1のケースでは、READ REQUEST PRIVA
TEを介してPRIVATEとしてカッド語QWを再度取り込む操
作がなされ、これによりプロセッササブシステム手段30
による書き込みメモリアクセスサイクルの進行が許され
る。第2のケースでは、変更フラグMをセットすること
による操作がなされる。
ーチンはマイクロプロセッサ30-1によるキャッシュ書き
込みについての2つの状態を示す。その第1の状態で
は、PUBLICのカッド語QWに対する書き込みが意図されて
いる。その第2の状態では、そのリセットされた変更フ
ラグMを持つPRIVATEカッド語QWに書き込みが意図され
ている。まず、第1のケースでは、READ REQUEST PRIVA
TEを介してPRIVATEとしてカッド語QWを再度取り込む操
作がなされ、これによりプロセッササブシステム手段30
による書き込みメモリアクセスサイクルの進行が許され
る。第2のケースでは、変更フラグMをセットすること
による操作がなされる。
詳しくは、キャッシュエントリーモデファイドはシーケ
ンサ38-1のマイクロ命令のアドレスでデコードされる。
アクセスされたカッド語QWに対応するキャッシュタグバ
ッファ32-5A若しくは32-5Bのキャッシュタグが、内部デ
ータバスIDB上にイネーブルされ、次に、このキャッシ
ュタグはレジスタ38-11内にラッチされる。このキャッ
シュタグはPUBLIC若しくはPRIVATEに対する状態テスト
論理素子38-6によりテストされる。このテスト結果に基
いてブランチ(分岐)が行われる。
ンサ38-1のマイクロ命令のアドレスでデコードされる。
アクセスされたカッド語QWに対応するキャッシュタグバ
ッファ32-5A若しくは32-5Bのキャッシュタグが、内部デ
ータバスIDB上にイネーブルされ、次に、このキャッシ
ュタグはレジスタ38-11内にラッチされる。このキャッ
シュタグはPUBLIC若しくはPRIVATEに対する状態テスト
論理素子38-6によりテストされる。このテスト結果に基
いてブランチ(分岐)が行われる。
もし、カッド語QWがPUBLICであるならば制御はキャッシ
ュミスサブルーチンに渡され、これによりカッド語QWを
PRIVATEとして再び取り込む。キャッシュミスサブルー
チンの終わりに、メモリアクセスサイクルが完了し、キ
ャッシュヒットとなる。
ュミスサブルーチンに渡され、これによりカッド語QWを
PRIVATEとして再び取り込む。キャッシュミスサブルー
チンの終わりに、メモリアクセスサイクルが完了し、キ
ャッシュヒットとなる。
カッド語QWがPRIVATEであるならば、変更フラブMがセ
ットされ、キャッシュタグ内に再び書き込まれる。キャ
ッシュ制御回路32-11は再び始動され、マイクロエンジ
ン手段38はそのアイドルループに戻る。その後、メモリ
アクセスサイクルが完了し、キャッシュヒットとなる。
ットされ、キャッシュタグ内に再び書き込まれる。キャ
ッシュ制御回路32-11は再び始動され、マイクロエンジ
ン手段38はそのアイドルループに戻る。その後、メモリ
アクセスサイクルが完了し、キャッシュヒットとなる。
第22図は、プライベートリクエストに対するリードレス
ポンスと言う名称のサブルーチンのフローチャートを示
す。このサブルーチンはVALID(有効)としてキャッシ
ュメモリCMに記載されたデータD及びPRIVATEの使用モ
ードと関連したREAD RESPONSEを説明する為に使用され
る。パス34-17を介してモニタ制御論理素子34-16からの
状態コードを受け取った後、マイクロエンジン手段38は
イベントレジスタER、詳しくはレジスタERに記憶された
物理アドレスPA(12:04)を読み取る(ブロックD-1)。
次いで公知のセットアソシエイティブ技術(主記憶とキ
ャッシュ間などに使われるマッピング方式)を使用する
ことにより、マイクロエンジン手段38は第13図に示すセ
ットA若しくはセットBを選択し(ブロックD-2)、物
理アドレスPA(12:04)を使用してキャッシュメモリCMの
選択されたセットA若しくはセットBを読み取る(ブロ
ックD-3)。その後、マイクロエンジン手段38はREAD RE
SPONSEを開始し(ブロックD-4)、完了を待ち(ブロッ
クD-5)、そしてバスモニタ34-12の状態を再びチェック
する(ブロックD-6)。
ポンスと言う名称のサブルーチンのフローチャートを示
す。このサブルーチンはVALID(有効)としてキャッシ
ュメモリCMに記載されたデータD及びPRIVATEの使用モ
ードと関連したREAD RESPONSEを説明する為に使用され
る。パス34-17を介してモニタ制御論理素子34-16からの
状態コードを受け取った後、マイクロエンジン手段38は
イベントレジスタER、詳しくはレジスタERに記憶された
物理アドレスPA(12:04)を読み取る(ブロックD-1)。
次いで公知のセットアソシエイティブ技術(主記憶とキ
ャッシュ間などに使われるマッピング方式)を使用する
ことにより、マイクロエンジン手段38は第13図に示すセ
ットA若しくはセットBを選択し(ブロックD-2)、物
理アドレスPA(12:04)を使用してキャッシュメモリCMの
選択されたセットA若しくはセットBを読み取る(ブロ
ックD-3)。その後、マイクロエンジン手段38はREAD RE
SPONSEを開始し(ブロックD-4)、完了を待ち(ブロッ
クD-5)、そしてバスモニタ34-12の状態を再びチェック
する(ブロックD-6)。
さらに詳しくは、モニタ制御論理素子34-16がパイプラ
インパス34-13から受信したバストランザクションコマ
ンドREAD REQUEST PRIVATEをデコードし、データDがVA
LID及びPRIVATEであることを示すバッファ34-14からの
情報を受信し、状態コードがパス34-17上に発生され、
マイクロエンジン手段38にREAD RESPONSEを開始するこ
とを知らせる。マイクロエンジン手段38、詳しくはシー
ケンサ38-1はそれからサブルーチンに分岐し、それによ
り、イベントレジスタERがイネーブルされて物理アドレ
スPA(12:04)を内部アドレスバスIABに出力し、次い
で、アドレスバッファ36がイネーブルされて内部アドレ
スバスIABからの物理アドレスPAを内部データバスIDB上
に結合する。次いで、マイクロエンジン手段38は内部デ
ータバスIDBを介して物理アドレスPA(12:04)を受信
し、このアドレスをハッシュインデックスとしてキャッ
シュメモリCM(データキャッシュタグセットA若しくは
B)をアクセスするために用いる。その結果、アドレス
されたデータキャッシュタグセットA若しくはBは内部
データバスIDBにイネーブルされてレジスタ38-11にラッ
チされる。対応する有効フラグVはデータ操作論理素子
38-9によりINVALID(無効)にリセットされ、レジスタ3
8-11内にロードされ、次いで対応するキャッシュタグセ
ットA若しくはBに書き込まれる。次いで、マイクロエ
ンジン手段38はコマンドREAD RESPONSEを開始し、パス3
4-11を介して制御回路34-8からの拡張バス状態コードを
通じて完了を待つ。
インパス34-13から受信したバストランザクションコマ
ンドREAD REQUEST PRIVATEをデコードし、データDがVA
LID及びPRIVATEであることを示すバッファ34-14からの
情報を受信し、状態コードがパス34-17上に発生され、
マイクロエンジン手段38にREAD RESPONSEを開始するこ
とを知らせる。マイクロエンジン手段38、詳しくはシー
ケンサ38-1はそれからサブルーチンに分岐し、それによ
り、イベントレジスタERがイネーブルされて物理アドレ
スPA(12:04)を内部アドレスバスIABに出力し、次い
で、アドレスバッファ36がイネーブルされて内部アドレ
スバスIABからの物理アドレスPAを内部データバスIDB上
に結合する。次いで、マイクロエンジン手段38は内部デ
ータバスIDBを介して物理アドレスPA(12:04)を受信
し、このアドレスをハッシュインデックスとしてキャッ
シュメモリCM(データキャッシュタグセットA若しくは
B)をアクセスするために用いる。その結果、アドレス
されたデータキャッシュタグセットA若しくはBは内部
データバスIDBにイネーブルされてレジスタ38-11にラッ
チされる。対応する有効フラグVはデータ操作論理素子
38-9によりINVALID(無効)にリセットされ、レジスタ3
8-11内にロードされ、次いで対応するキャッシュタグセ
ットA若しくはBに書き込まれる。次いで、マイクロエ
ンジン手段38はコマンドREAD RESPONSEを開始し、パス3
4-11を介して制御回路34-8からの拡張バス状態コードを
通じて完了を待つ。
第23図はフラッシュキャッシュエントリという名称のサ
ブルーチンのフローチャートである。このサブルーチン
は、第9A図ないし第9B図との関連で簡単に述べたよう
に、VALIDとしてキャッシュメモリCMに記憶されたデー
タDと、PRIVATEの使用モードとの関連でREAD REQUEST
PUBLICに対する応答を説明するため使用される。パス34
-17を介してモニタ制御論理素子34-16からの状態コード
を受け取った後、マイクロエンジン手段38はイベントレ
ジスタER、詳しくはレジスタERに記憶された物理アドレ
スPA(12:04)を読み取る(ブロックE-1)。次いで、公
知のセットアソシエイティブ技術を使用してマイクロエ
ンジン手段38は第13図に示すセットA若しくはセットB
を選択し(ブロックE-2)、次いで、物理アドレスPA(1
2:04)を使用してキャッシュメモリCMの選択されたセッ
トA若しくはセットBを読み取る(ブロックE-3)。次
に、マイクロエンジン手段38はデータDが変更されてい
たか否かに基づいてWRITE MODIFIED若しくはWRITE UNMO
DIFIEDを開始させる(ブロックE-4)。これには、キャ
ッシュメモリCMから呼び出された物理アドレスPA(31:1
3)と物理アドレスPA(12:04)と組み合わせて、WRITE(MO
DIFIED又はUNMODIFIED)のINFO GROUPの一部として物理
アドレスPA(31:04)を形成することが含まれる。次い
で、マイクロエンジン手段38は完了を待ち(ブロックE-
5)、バスモニタ34-12の状態を再びチェックする(ブロ
ックE-6)。第23図のこのサブルーチンの詳細は第22図
の細部について述べたものと同様である。
ブルーチンのフローチャートである。このサブルーチン
は、第9A図ないし第9B図との関連で簡単に述べたよう
に、VALIDとしてキャッシュメモリCMに記憶されたデー
タDと、PRIVATEの使用モードとの関連でREAD REQUEST
PUBLICに対する応答を説明するため使用される。パス34
-17を介してモニタ制御論理素子34-16からの状態コード
を受け取った後、マイクロエンジン手段38はイベントレ
ジスタER、詳しくはレジスタERに記憶された物理アドレ
スPA(12:04)を読み取る(ブロックE-1)。次いで、公
知のセットアソシエイティブ技術を使用してマイクロエ
ンジン手段38は第13図に示すセットA若しくはセットB
を選択し(ブロックE-2)、次いで、物理アドレスPA(1
2:04)を使用してキャッシュメモリCMの選択されたセッ
トA若しくはセットBを読み取る(ブロックE-3)。次
に、マイクロエンジン手段38はデータDが変更されてい
たか否かに基づいてWRITE MODIFIED若しくはWRITE UNMO
DIFIEDを開始させる(ブロックE-4)。これには、キャ
ッシュメモリCMから呼び出された物理アドレスPA(31:1
3)と物理アドレスPA(12:04)と組み合わせて、WRITE(MO
DIFIED又はUNMODIFIED)のINFO GROUPの一部として物理
アドレスPA(31:04)を形成することが含まれる。次い
で、マイクロエンジン手段38は完了を待ち(ブロックE-
5)、バスモニタ34-12の状態を再びチェックする(ブロ
ックE-6)。第23図のこのサブルーチンの詳細は第22図
の細部について述べたものと同様である。
第24図は、アドレス可能主メモリ手段12の主メモリコン
トローラMMC及び共用メモリSMを更に詳細に示してい
る。すでに述べたように、アドレス可能主メモリ手段12
はバス22上の与えられたあるバストランザクションに関
して、一定のアクションを取る。これらアクションは次
のように要約される。もし、READ REQUEST PRIVATEがバ
ス22上にあるならば、主メモリ手段12はバストランザク
ションREAD RESPONSEを発生し、そしてもし特定の被要
求データDがPUBLICであれば、使用モードフラグUをPR
IVATEにセットする。もし、READ REQUEST PUBLICがバス
22上にあるならば主メモリ手段12はバストランザクショ
ンREAD RESPONSEを発生し、そしてもし特定の被要求デ
ータDがPUBLICにあれば、PUBLICにリセットされている
使用モードフラグUを維持する。もし、バス22上のバス
トランザクションがWRITE MODIFIED若しくはWRITE NEW
DATAであるならば、主メモリ手段12は変更されたデータ
若しくは新しいデータDを書き込み、かつ使用モードフ
ラグUをPUBLICにリセットする。もし、バストランザク
ションがWRITE UNMODIFIEDであるならば、特定のデータ
Dは変更されず、使用モードフラグUはPUBLICにリセッ
トされる。
トローラMMC及び共用メモリSMを更に詳細に示してい
る。すでに述べたように、アドレス可能主メモリ手段12
はバス22上の与えられたあるバストランザクションに関
して、一定のアクションを取る。これらアクションは次
のように要約される。もし、READ REQUEST PRIVATEがバ
ス22上にあるならば、主メモリ手段12はバストランザク
ションREAD RESPONSEを発生し、そしてもし特定の被要
求データDがPUBLICであれば、使用モードフラグUをPR
IVATEにセットする。もし、READ REQUEST PUBLICがバス
22上にあるならば主メモリ手段12はバストランザクショ
ンREAD RESPONSEを発生し、そしてもし特定の被要求デ
ータDがPUBLICにあれば、PUBLICにリセットされている
使用モードフラグUを維持する。もし、バス22上のバス
トランザクションがWRITE MODIFIED若しくはWRITE NEW
DATAであるならば、主メモリ手段12は変更されたデータ
若しくは新しいデータDを書き込み、かつ使用モードフ
ラグUをPUBLICにリセットする。もし、バストランザク
ションがWRITE UNMODIFIEDであるならば、特定のデータ
Dは変更されず、使用モードフラグUはPUBLICにリセッ
トされる。
READ REQUEST(PUBLICまたはPRIVATE)と関連して、主メ
モリコントローラMMCは入力ラッチ12-1を含む。このラ
ッチはINFO GROUPをラッチし、このINFO GROUPをバス12
-3を介してジョブ待ち行列メモリ12-2に出力する。も
し、このジョブ待ち行列メモリ12-2は満杯であり、それ
以上情報を受け入れることができない場合には、出力信
号は回線12-4を介してACK GROUP発生器12-5に与えら
れ、次いでこの発生器はACK GROUPのSM-ACKとしてビジ
イを発生する。ハッシュテーブルアドレスデコーダ12-6
はパス12-3上のINFO GROUPの物理アドレスPAをデコード
し、かつもし、かかるアドレスPAが共用メモリSMのアド
レス空間内にあるならば、出力信号が回線12-7上に発生
し、これによりACK GROUP発生器12-5がACK GROUPのSM-A
CKとしてACKを発生するのを引き起こす。次いで、も
し、ジョブ待ち行列メモリ12-2が満杯でなく、かつ物理
アドレスPAがデコーダ12-6によりデコーダされるような
適切な範囲内にあるならば、ACK GROUPのSM-ACKのACKが
バス22上に発生される。
モリコントローラMMCは入力ラッチ12-1を含む。このラ
ッチはINFO GROUPをラッチし、このINFO GROUPをバス12
-3を介してジョブ待ち行列メモリ12-2に出力する。も
し、このジョブ待ち行列メモリ12-2は満杯であり、それ
以上情報を受け入れることができない場合には、出力信
号は回線12-4を介してACK GROUP発生器12-5に与えら
れ、次いでこの発生器はACK GROUPのSM-ACKとしてビジ
イを発生する。ハッシュテーブルアドレスデコーダ12-6
はパス12-3上のINFO GROUPの物理アドレスPAをデコード
し、かつもし、かかるアドレスPAが共用メモリSMのアド
レス空間内にあるならば、出力信号が回線12-7上に発生
し、これによりACK GROUP発生器12-5がACK GROUPのSM-A
CKとしてACKを発生するのを引き起こす。次いで、も
し、ジョブ待ち行列メモリ12-2が満杯でなく、かつ物理
アドレスPAがデコーダ12-6によりデコーダされるような
適切な範囲内にあるならば、ACK GROUPのSM-ACKのACKが
バス22上に発生される。
マイクロコントローラ12-8は回線12-9を介してジョブ待
ち行列メモリ12-2と通信し、これにより回線12-3上の情
報の入力及びパス12-10上の情報の出力をメモリ12-2に
関して制御する。最後に、特定のREAD REQUEST(PUBLIC
若しくはPRIVATE)のINFO GROUPのコマンド及び物理アド
レスPAが、パス12-10上に出力され、続いてレジスタ12-
11内に一時的に記憶される。また、パス12-10上のINFO
GROUPのコマンド及びRIDはコマンドデコーダ及びRIDレ
ジスタ回路12-12に結合されており、この回路12-2は、
後に述べるように、主メモリ手段12によるREAD RESPONS
EのINFO GROUPの一部を提供する。
ち行列メモリ12-2と通信し、これにより回線12-3上の情
報の入力及びパス12-10上の情報の出力をメモリ12-2に
関して制御する。最後に、特定のREAD REQUEST(PUBLIC
若しくはPRIVATE)のINFO GROUPのコマンド及び物理アド
レスPAが、パス12-10上に出力され、続いてレジスタ12-
11内に一時的に記憶される。また、パス12-10上のINFO
GROUPのコマンド及びRIDはコマンドデコーダ及びRIDレ
ジスタ回路12-12に結合されており、この回路12-2は、
後に述べるように、主メモリ手段12によるREAD RESPONS
EのINFO GROUPの一部を提供する。
レジスタ12-11内に記憶されたコマンドと物理アドレスP
Aは、双方向パス12-3を介してコマンドデコーダ12-14と
共用メモリSMのアドレスデコーダ12-15とに結合され
る。アドレスデコーダ12-15は物理アドレスPAをデコー
ドして、アドレスされたデータをアクセスする。次い
で、これらデータは入出力回路12-16を介してパス12-13
上に、データワードDW0-DW3に対する4つのタイムスロ
ットに渡って、供給される。READ REQUEST PUBLICを識
別するコマンドについては、PUBLICと想定された使用モ
ードフラグUがデータワードDW0とともに回路12-16を介
してパス12-13にも出力される。READ REQUEST PRIVATE
を識別するコマンドに関しては、PUBLICであると想定さ
れた使用モードフラグUがデータワードDW0とともに回
路12-16を介してパス12-13上に出力され、その後、読み
取り−変更−書き込みの処理が、記憶されている使用モ
ードフラグUに基づいて実行され、それにより、そのフ
ラグUがPRIVATEに変更される。
Aは、双方向パス12-3を介してコマンドデコーダ12-14と
共用メモリSMのアドレスデコーダ12-15とに結合され
る。アドレスデコーダ12-15は物理アドレスPAをデコー
ドして、アドレスされたデータをアクセスする。次い
で、これらデータは入出力回路12-16を介してパス12-13
上に、データワードDW0-DW3に対する4つのタイムスロ
ットに渡って、供給される。READ REQUEST PUBLICを識
別するコマンドについては、PUBLICと想定された使用モ
ードフラグUがデータワードDW0とともに回路12-16を介
してパス12-13にも出力される。READ REQUEST PRIVATE
を識別するコマンドに関しては、PUBLICであると想定さ
れた使用モードフラグUがデータワードDW0とともに回
路12-16を介してパス12-13上に出力され、その後、読み
取り−変更−書き込みの処理が、記憶されている使用モ
ードフラグUに基づいて実行され、それにより、そのフ
ラグUがPRIVATEに変更される。
ラッチ12-17は、4つの各タイムスロットにわたるパス1
2-13上の使用モードフラグU及びデータDW0-DW3を一時
的に記録する。1ビットデコーダ12-18は次いでパス12-
19を介して使用モードフラグUを受信し、デコードす
る。このデコードの結果をマイクロコントローラ12-8に
回線12-20を介して出力する。出力レジスタ12-21は次に
パス12-19を介して4つのタイムスロットにわたる各デ
ータワードDW0-DW3を一時的に記憶する。この一時記憶
は、パス12-22を介して回路12-12から送られるRID、及
び回路12-12のよるコマンドREAD REQUEST(PUBLIC及びPR
IVATE)のデコードにより得られるREAD RESPONSEを識別
するコマンドといっしょに行われる。このようにして、
出力レジスタ12-21は4つのタイムスロットに渡って第4
D図に示すREAD RESPONSEのINFO GROUPを記憶する。
2-13上の使用モードフラグU及びデータDW0-DW3を一時
的に記録する。1ビットデコーダ12-18は次いでパス12-
19を介して使用モードフラグUを受信し、デコードす
る。このデコードの結果をマイクロコントローラ12-8に
回線12-20を介して出力する。出力レジスタ12-21は次に
パス12-19を介して4つのタイムスロットにわたる各デ
ータワードDW0-DW3を一時的に記憶する。この一時記憶
は、パス12-22を介して回路12-12から送られるRID、及
び回路12-12のよるコマンドREAD REQUEST(PUBLIC及びPR
IVATE)のデコードにより得られるREAD RESPONSEを識別
するコマンドといっしょに行われる。このようにして、
出力レジスタ12-21は4つのタイムスロットに渡って第4
D図に示すREAD RESPONSEのINFO GROUPを記憶する。
上記の実施例では、ラッチ12-17内に記憶された使用モ
ードフラグUはPUBLICであるとした。それ故、デコーダ
12-18からの回線12-20上の出力信号により、マイクロコ
ントローラ12-8は回線12-23上に出力イネーブル信号を
発生するという結果になる。このイネーブル信号により
バス調停及び送信制御回路12-24をイネーブルする。こ
れに応じ、回路12-24はREAD RESPONSEのARB GROUPに従
ってパス12-25を介してバス22に対するアクセスを調停
し、最終的にそのアクセスを受け入れる。次いで、回路
12-24はパス12-27を介して出力レジスタ12-21に結合さ
れたドライバー12-26を起動し、この結果、READ RESPON
SEのINFO GROUPがバス22に供給されることとなる。その
後、READ RESPONSEのACK GROUPがパス12-28を通じて回
路12-24により受信され、さらにこの回路12-24により回
線12-29を介してマイクロコントローラ12-8に結合され
る。それによりマイクロコントローラ12-8はデータDW0-
DW3がREAD REQUEST(PUBLIC若しくはPRIVATE)を発生する
要求プロセッサGPPによりきちんと適切に受け入れられ
たか否かを示す。回路12-24は各プロセッサGPPについて
すでに述べたと同様な調停及び送信回路構成部分を有す
る。
ードフラグUはPUBLICであるとした。それ故、デコーダ
12-18からの回線12-20上の出力信号により、マイクロコ
ントローラ12-8は回線12-23上に出力イネーブル信号を
発生するという結果になる。このイネーブル信号により
バス調停及び送信制御回路12-24をイネーブルする。こ
れに応じ、回路12-24はREAD RESPONSEのARB GROUPに従
ってパス12-25を介してバス22に対するアクセスを調停
し、最終的にそのアクセスを受け入れる。次いで、回路
12-24はパス12-27を介して出力レジスタ12-21に結合さ
れたドライバー12-26を起動し、この結果、READ RESPON
SEのINFO GROUPがバス22に供給されることとなる。その
後、READ RESPONSEのACK GROUPがパス12-28を通じて回
路12-24により受信され、さらにこの回路12-24により回
線12-29を介してマイクロコントローラ12-8に結合され
る。それによりマイクロコントローラ12-8はデータDW0-
DW3がREAD REQUEST(PUBLIC若しくはPRIVATE)を発生する
要求プロセッサGPPによりきちんと適切に受け入れられ
たか否かを示す。回路12-24は各プロセッサGPPについて
すでに述べたと同様な調停及び送信回路構成部分を有す
る。
だが、ラッチ12-17に記憶された使用モードフラグUがP
RIVATEであるならば、デコーダ12-18からの回線12-20上
の出力信号に基いて、マイクロコントローラ12-8は回路
12-24をイネーブルしない、即ち通信不可とする。
RIVATEであるならば、デコーダ12-18からの回線12-20上
の出力信号に基いて、マイクロコントローラ12-8は回路
12-24をイネーブルしない、即ち通信不可とする。
今、WRITE MODIFIED若しくはWRITE NEW DATAが主メモリ
手段12によって受け取られると想定する。READ REQUEST
(PUBLIC若しくはPRIVATE)と関連してすでに述べたよう
に、対応するINFO GROUPはジョブ待ち行列メモリ12-2に
記憶され、そのメモリから出力される。そしてACK GROU
PがACK発生器12-5により発生される。第24図に示すよう
に、レジスタ12-11はまた1ビットのタグ、若しくは使
用モードレジスタ12-30を有し、そのためこのINFO GROU
Pのコマンドが回線12-10上に出力された時には、これに
反応してレジスタ12-30はビットをPUBLICにリセットす
る。その後、コマンド、物理アドレスPAおよび使用モー
ドビットPUBLICはパス12-13上に出力され、それによ
り、デコーダ12-15は物理アドレスPAをデコードし、デ
コーダ12-14はコマンドをデコードし、その結果としてI
NFO GROUPのデータDが共用メモリSMのアドレスされた
位置に、PUBLICの使用モードフラグUといっしょに記憶
される。同様の動作がバストランザクションWRITE UNMO
DIFIEDに関連して発生するが、使用モードフラグUのみ
が何らのデータDの書き込みなしに、レジスタ12-30か
ら物理アドレスPAでアドレスされた位置で共用メモリSM
内に書き込まれる点は除く。
手段12によって受け取られると想定する。READ REQUEST
(PUBLIC若しくはPRIVATE)と関連してすでに述べたよう
に、対応するINFO GROUPはジョブ待ち行列メモリ12-2に
記憶され、そのメモリから出力される。そしてACK GROU
PがACK発生器12-5により発生される。第24図に示すよう
に、レジスタ12-11はまた1ビットのタグ、若しくは使
用モードレジスタ12-30を有し、そのためこのINFO GROU
Pのコマンドが回線12-10上に出力された時には、これに
反応してレジスタ12-30はビットをPUBLICにリセットす
る。その後、コマンド、物理アドレスPAおよび使用モー
ドビットPUBLICはパス12-13上に出力され、それによ
り、デコーダ12-15は物理アドレスPAをデコードし、デ
コーダ12-14はコマンドをデコードし、その結果としてI
NFO GROUPのデータDが共用メモリSMのアドレスされた
位置に、PUBLICの使用モードフラグUといっしょに記憶
される。同様の動作がバストランザクションWRITE UNMO
DIFIEDに関連して発生するが、使用モードフラグUのみ
が何らのデータDの書き込みなしに、レジスタ12-30か
ら物理アドレスPAでアドレスされた位置で共用メモリSM
内に書き込まれる点は除く。
第25図はバストランザクションWRITE NEW DATAを処理す
るための入出力プロセッサ16の詳細を示す。このWRITE
NEW DATAには第4E図に示すARB GROUP、INFO GROUP、お
よびACK GROUPを含む。プロセッサ26はプロセッサGPPに
比較して単純化されている。なぜなら、WRITE NEW DATA
バストランザクションのみを実行するようになっている
と記述しているためである。だが、プロセッサ16は、そ
のデータ入出力機能に加えてそれ自身のデータDの読み
取り及び書き込みといった他の機能を実行するならば、
プロセッサ26は他のバストランザクションを与えるプロ
セッサGPPと同様に設計される。
るための入出力プロセッサ16の詳細を示す。このWRITE
NEW DATAには第4E図に示すARB GROUP、INFO GROUP、お
よびACK GROUPを含む。プロセッサ26はプロセッサGPPに
比較して単純化されている。なぜなら、WRITE NEW DATA
バストランザクションのみを実行するようになっている
と記述しているためである。だが、プロセッサ16は、そ
のデータ入出力機能に加えてそれ自身のデータDの読み
取り及び書き込みといった他の機能を実行するならば、
プロセッサ26は他のバストランザクションを与えるプロ
セッサGPPと同様に設計される。
従って、WRITE NEW DATAを実行するために、プロセッサ
26はデータソース手段26A、データバスインターフェー
ス手段26B、およびマイクロエンジン手段26Cとを含む。
これらは入出力内部データバス(I/O)IDB、入出力内部ア
ドレスバス(I/O)IAB、および入出力内部制御バス(I/O)I
CBを介して通信を行う。データソース26Aは共用メモリS
Mに記憶される新データ及びその新データDのアドレス
に対するソース(原始)である。バスインターフェース
手段26BはプロセッサGPPのバスインターフェース手段34
のパス34-1と同様な送信/受信パス26B-1を有する。こ
のバスインターフェース手段26Bは内部データバス(I/O)
IDBを拡張バス22に結合する。新データD及び対応アド
レスPAはデータソース26Aによってバス(I/O)IDB上に与
えられ、次いでパス26B-1によりバス22上に結合され
る。マイクロエンジン手段26Cは内部制御バス(I/O)ICB
を介してパス26B-1を制御することにより、バス22上に
第4E図のARB GROUP及びINFO GROUPを与えさせる。この
制御は、後者が新データDの入力し、対応するACK GROU
Pを受信することに対しレディ状態にある時に、データ
ソース26Aからのバス(I/O)ICB上の信号に応答して行わ
れる。
26はデータソース手段26A、データバスインターフェー
ス手段26B、およびマイクロエンジン手段26Cとを含む。
これらは入出力内部データバス(I/O)IDB、入出力内部ア
ドレスバス(I/O)IAB、および入出力内部制御バス(I/O)I
CBを介して通信を行う。データソース26Aは共用メモリS
Mに記憶される新データ及びその新データDのアドレス
に対するソース(原始)である。バスインターフェース
手段26BはプロセッサGPPのバスインターフェース手段34
のパス34-1と同様な送信/受信パス26B-1を有する。こ
のバスインターフェース手段26Bは内部データバス(I/O)
IDBを拡張バス22に結合する。新データD及び対応アド
レスPAはデータソース26Aによってバス(I/O)IDB上に与
えられ、次いでパス26B-1によりバス22上に結合され
る。マイクロエンジン手段26Cは内部制御バス(I/O)ICB
を介してパス26B-1を制御することにより、バス22上に
第4E図のARB GROUP及びINFO GROUPを与えさせる。この
制御は、後者が新データDの入力し、対応するACK GROU
Pを受信することに対しレディ状態にある時に、データ
ソース26Aからのバス(I/O)ICB上の信号に応答して行わ
れる。
それ故に、動作時には、データソース26Aは、新しいデ
ータDを入力しなければならない時に、マイクロエンジ
ン手段26Cに合図の信号を送る。その後、マイクロエン
ジン手段26Cはデータソース26Aを制御して、新しいデー
タD及び対応するアドレスPAをパス26B-1に転送させ、
バストランザクションWRITE NEW DATAを開始させる。こ
の結果、前述したように、新しいデータDはPUBLICの使
用モードといっしょに共用メモリSMに記憶され、かつ新
しいデータDのアドレスPAに対応するプロセッサGPP内
のデータのコピーは無効とされる。
ータDを入力しなければならない時に、マイクロエンジ
ン手段26Cに合図の信号を送る。その後、マイクロエン
ジン手段26Cはデータソース26Aを制御して、新しいデー
タD及び対応するアドレスPAをパス26B-1に転送させ、
バストランザクションWRITE NEW DATAを開始させる。こ
の結果、前述したように、新しいデータDはPUBLICの使
用モードといっしょに共用メモリSMに記憶され、かつ新
しいデータDのアドレスPAに対応するプロセッサGPP内
のデータのコピーは無効とされる。
第4A図に示すように、バス22はARB GROUPに対応する多
数の信号回線を有する。例えば、本発明の譲り受け人の
有する上述した同時係属特許出願に詳細に述べられてい
るように、全信号回線L1の本数は、バス22に接続し調
整するために、9本から、64個のプロセッサGPP、入出
力プロセッサ26、および共用メモリSMの合計数まで拡大
することが許されることができる。6本の信号線L1は
特定のプロセッサGPP、プロセッサ26若しくは共用メモ
リSMを識別する固有のコード(05:00)を運ぶ。2本の信
号回線L1は、バス22に対する調停が、READ RESPONSE
又は他のバストランザクションの1つを実行するために
なされている時に、それぞれ使用され、その1本の信号
回線L1は多数の連続するタイムスロットの間にバス22
をホールドしてバストランザクションを完了させるのに
用いられる。
数の信号回線を有する。例えば、本発明の譲り受け人の
有する上述した同時係属特許出願に詳細に述べられてい
るように、全信号回線L1の本数は、バス22に接続し調
整するために、9本から、64個のプロセッサGPP、入出
力プロセッサ26、および共用メモリSMの合計数まで拡大
することが許されることができる。6本の信号線L1は
特定のプロセッサGPP、プロセッサ26若しくは共用メモ
リSMを識別する固有のコード(05:00)を運ぶ。2本の信
号回線L1は、バス22に対する調停が、READ RESPONSE
又は他のバストランザクションの1つを実行するために
なされている時に、それぞれ使用され、その1本の信号
回線L1は多数の連続するタイムスロットの間にバス22
をホールドしてバストランザクションを完了させるのに
用いられる。
INFO GROUPの信号回線L2の全数は例えば下記のように
41本であるとすることができる。これらの中の3本の回
線L2は6個のバストランザクションを識別するバスト
ランザクションコマンド(02:00)を支援(サポート)す
ることができ、32本の回線L2はアドレス/データ(3
1:00)を支援することができ、6本の回線L2はRID(0
5:00)用に用いることができる。
41本であるとすることができる。これらの中の3本の回
線L2は6個のバストランザクションを識別するバスト
ランザクションコマンド(02:00)を支援(サポート)す
ることができ、32本の回線L2はアドレス/データ(3
1:00)を支援することができ、6本の回線L2はRID(0
5:00)用に用いることができる。
ACK GROUPの信号回線L3の全数は例えば下記のように
4本とすることができる。これらのうちの2本のL3は
CM-ACK用に用いられ、2本の回線L3はSM-ACK用に用い
られる。
4本とすることができる。これらのうちの2本のL3は
CM-ACK用に用いられ、2本の回線L3はSM-ACK用に用い
られる。
最後に、すでに述べたように、バストランザクションRE
AD REQUEST PUBLICはデータDに対する読み取り専用ア
クセスのためにプロセッサGPPにより、開始される。バ
ストランザクションREAD REQUEST PRIVATEはデータDに
対する読み取り/書き込みアクセスに対して開始され
る。マイクロエンジン手段38がREAD REQUEST(PUBLIC若
しくはPRIVATE)のいずれを開始させるかを決定するため
の、本発明に従って使用され得る1つのアルゴリズム
は、データDの「読み取り専用ページ」及び「読み取り
/書き込みページ」と称する一般に使用されているデー
タ保護レベルに基づくことができる。サブシステムプロ
セッサ手段32が読み取り専用ページに対するアクセスを
望むのならば、READ REQUEST PUBLICが開始される。か
かるアクセスが読み取り/書き込みページに対して望ま
れるのならば、READ REQUEST PRIVATEが開始される。か
かるいずれのページに対するアクセスが望まれるかどう
かについての情報は、第17図に示すページテーブルエン
トリPTE内に従来の方法で記憶することができる。この
情報はマイクロエンジン手段38により読み取られる。そ
の手段の状態テスト論理素子38-6はこの情報を個別にテ
ストして、探知したアクセスが読み取り専用ページに対
するものか、あるいは読み取り/書き込みページに対す
るものであるか否かを決定する。このテストの結果とし
て、READ REQUEST PUBLIC若しくはREAD REQUEST PRIVAT
Eが開始される。
AD REQUEST PUBLICはデータDに対する読み取り専用ア
クセスのためにプロセッサGPPにより、開始される。バ
ストランザクションREAD REQUEST PRIVATEはデータDに
対する読み取り/書き込みアクセスに対して開始され
る。マイクロエンジン手段38がREAD REQUEST(PUBLIC若
しくはPRIVATE)のいずれを開始させるかを決定するため
の、本発明に従って使用され得る1つのアルゴリズム
は、データDの「読み取り専用ページ」及び「読み取り
/書き込みページ」と称する一般に使用されているデー
タ保護レベルに基づくことができる。サブシステムプロ
セッサ手段32が読み取り専用ページに対するアクセスを
望むのならば、READ REQUEST PUBLICが開始される。か
かるアクセスが読み取り/書き込みページに対して望ま
れるのならば、READ REQUEST PRIVATEが開始される。か
かるいずれのページに対するアクセスが望まれるかどう
かについての情報は、第17図に示すページテーブルエン
トリPTE内に従来の方法で記憶することができる。この
情報はマイクロエンジン手段38により読み取られる。そ
の手段の状態テスト論理素子38-6はこの情報を個別にテ
ストして、探知したアクセスが読み取り専用ページに対
するものか、あるいは読み取り/書き込みページに対す
るものであるか否かを決定する。このテストの結果とし
て、READ REQUEST PUBLIC若しくはREAD REQUEST PRIVAT
Eが開始される。
本発明の他の構成、目的、作用効果等については図面、
開示事項、特許請求の範囲の記載により、理解されると
考える。
開示事項、特許請求の範囲の記載により、理解されると
考える。
以上説明したように、本発明によれば、常時データコヒ
ーレンスを備え、PRIVATEであるデータは与えられたプ
ロセッサ手段により、多数回、かかるデータをアドレス
可能主メモリ手段に戻して書き込む必要なく、変更する
ことができる。
ーレンスを備え、PRIVATEであるデータは与えられたプ
ロセッサ手段により、多数回、かかるデータをアドレス
可能主メモリ手段に戻して書き込む必要なく、変更する
ことができる。
第1図は本発明の密結合コンピュータシステムのアーキ
テクチャのブロック図、 第2図は第1図の密結合コンピュータシステムにより処
理された情報を示すフォーマット図、 第3図は本発明の1つのバスおよびこのバスにより運ば
れるバストランザクションプロトコルを示す概念図、 第4A図は本発明の1つのバスおよびこのバスによって運
ばれる一信号レベルプロトコルを示す概念図、 第4B図は任意のバストランザクション用の信号レベルプ
ロトコルを概略的に説明するために使用される説明図、 第4C図から第4F図までは、バストランザクションの各々
に対する信号レベルプロトコルを詳細に説明するために
使用される説明図、 第5A図及び第5B図は本発明のREAD REQUEST PUBLIC(読
み取り要求パブリック)バストランザクションとREAD R
ESPONSE(読み取り応答)バストランザクションを個別
に概略的に示すブロック図、 第6A図及び第6B図はREAD REQUEST PUBLICバストランザ
クション及びREAD RESPONSEバストランザクションを個
別にさらに説明するのに使用されるブロック図、 第7A図及び第7B図は本発明のREAD REQUEST PRIVATE(読
み取り要求プライベート)バストランザクション及びRE
AD RESPONSE(読み取り応答)バストランザクションを
個別に概略的に示すブロック図、 第8A図及び第8B図は本発明のREAD REQUEST PRIVATEバス
トランザクションおよびREAD RESPONSEバストランザク
ションを更に説明するのに使用されるブロック図、 第9A図から第9D図までは本発明のREAD REQUEST PUBLIC
バストランザクション及びREAD RESPONSEバストランザ
クションをさらに説明するのに使用されるブロック図、 第10図は本発明のWRITE NEW DATA(書き込み新データ)
バストランザクションを概略的に示すブロック図、 第11図は本発明のプロセッサ手段の構成を示すブロック
図、 第12図は第11図のプロセッサ手段の詳細を示すブロック
図、 第13図はキャッシュメモリの編成を示すメモリマップ
図、 第14図は物理アドレスPAを示すフォーマット図、 第15図は論理アドレスLAを示すフォーマット図、 第16図はアドレス変更アルゴリズムを説明するために使
用されるブロック図、 第17図はアドレス変更キャッシュバッファの編成を示す
メモリマップ図、 第18図は本発明で使用されるマイクロ命令を示すフォー
マット図、 第18A図から第18E図まではマイクロ命令の各々のフィー
ルドのサブフィールドを示すフォーマット図、 第19図から第23図までは本発明の動作手順を説明するた
めに使用されるフローチャート、 第24図は本発明のアドレス可能主メモリ手段の詳細なブ
ロック図、および 第25図は本発明の他のタイプのプロセッサ手段の構成を
示すブロック図である。 〔符号の説明〕 10……密結合コンピュータシステム、 12……アドレス可能主メモリ手段、 14……複数のプロセッサ手段、 16……バス手段、 18……パス(経路)、 20……二次メモリ手段、 22……バス,拡張バス、 26……入出力プロセッサ、 30……プロセッササブシステム手段、 32……アドレス可能キャッシュメモリ手段、 34……バスインターフェース手段、 36……アドレスバッファ、 38……マイクロエンジン手段。
テクチャのブロック図、 第2図は第1図の密結合コンピュータシステムにより処
理された情報を示すフォーマット図、 第3図は本発明の1つのバスおよびこのバスにより運ば
れるバストランザクションプロトコルを示す概念図、 第4A図は本発明の1つのバスおよびこのバスによって運
ばれる一信号レベルプロトコルを示す概念図、 第4B図は任意のバストランザクション用の信号レベルプ
ロトコルを概略的に説明するために使用される説明図、 第4C図から第4F図までは、バストランザクションの各々
に対する信号レベルプロトコルを詳細に説明するために
使用される説明図、 第5A図及び第5B図は本発明のREAD REQUEST PUBLIC(読
み取り要求パブリック)バストランザクションとREAD R
ESPONSE(読み取り応答)バストランザクションを個別
に概略的に示すブロック図、 第6A図及び第6B図はREAD REQUEST PUBLICバストランザ
クション及びREAD RESPONSEバストランザクションを個
別にさらに説明するのに使用されるブロック図、 第7A図及び第7B図は本発明のREAD REQUEST PRIVATE(読
み取り要求プライベート)バストランザクション及びRE
AD RESPONSE(読み取り応答)バストランザクションを
個別に概略的に示すブロック図、 第8A図及び第8B図は本発明のREAD REQUEST PRIVATEバス
トランザクションおよびREAD RESPONSEバストランザク
ションを更に説明するのに使用されるブロック図、 第9A図から第9D図までは本発明のREAD REQUEST PUBLIC
バストランザクション及びREAD RESPONSEバストランザ
クションをさらに説明するのに使用されるブロック図、 第10図は本発明のWRITE NEW DATA(書き込み新データ)
バストランザクションを概略的に示すブロック図、 第11図は本発明のプロセッサ手段の構成を示すブロック
図、 第12図は第11図のプロセッサ手段の詳細を示すブロック
図、 第13図はキャッシュメモリの編成を示すメモリマップ
図、 第14図は物理アドレスPAを示すフォーマット図、 第15図は論理アドレスLAを示すフォーマット図、 第16図はアドレス変更アルゴリズムを説明するために使
用されるブロック図、 第17図はアドレス変更キャッシュバッファの編成を示す
メモリマップ図、 第18図は本発明で使用されるマイクロ命令を示すフォー
マット図、 第18A図から第18E図まではマイクロ命令の各々のフィー
ルドのサブフィールドを示すフォーマット図、 第19図から第23図までは本発明の動作手順を説明するた
めに使用されるフローチャート、 第24図は本発明のアドレス可能主メモリ手段の詳細なブ
ロック図、および 第25図は本発明の他のタイプのプロセッサ手段の構成を
示すブロック図である。 〔符号の説明〕 10……密結合コンピュータシステム、 12……アドレス可能主メモリ手段、 14……複数のプロセッサ手段、 16……バス手段、 18……パス(経路)、 20……二次メモリ手段、 22……バス,拡張バス、 26……入出力プロセッサ、 30……プロセッササブシステム手段、 32……アドレス可能キャッシュメモリ手段、 34……バスインターフェース手段、 36……アドレスバッファ、 38……マイクロエンジン手段。
Claims (11)
- 【請求項1】複数のデータブロック内に分配されたデー
タを処理し、該データブロックの各々が、固有アドレス
で識別される密結合コンピュータシステムにおいて、 a)前記複数のデータブロックを記憶するためのアドレ
ス可能主メモリ手段と、 b)前記複数のデータブロックをアクセスするための並
列に相互接続された複数のプロセッサ手段と、 該プロセッサ手段の各々はアドレス可能キャッシュメモ
リ手段を有し、該アドレス可能キャッシュメモリ手段
は、多数のデータブロック、該多数のデータブロックの
アドレス、および当該アドレス可能キャッシュメモリ手
段に記憶されたデータブロック毎の複数のフラグを記憶
するためのものであり、該複数のフラグの第1のものは
対応するデータブロックのアドレスがパブリック若しく
はプライベートであるか否かを識別する使用モードフラ
グであり、前記複数のフラグの第2のものは前記アドレ
ス可能キャッシュメモリ手段に対応するブロックのデー
タが記憶された後で、該対応するブロックのデータが変
更されているか、あるいは変更されていないのかを識別
する変更フラグであり、前記複数のフラグの第3のもの
は対応するブロックのデータが有効か無効かを識別する
有効フラブである、および c)前記複数のプロセッサ手段を前記アドレス可能主メ
モリ手段に相互結合し、該複数のプロセッサ手段の各々
一つを前記複数のプロセッサ手段の中の任意の他のプロ
セッサ手段に相互結合するためのバス手段とを有し、 d)前記アドレス可能主メモリ手段と前記複数のプロセ
ッサ手段のいずれか一つのみが1つのデータブロックの
アドレスについての現在の所有者であり、該現在の所有
者が所有したアドレスに対する正データを有し、アドレ
スの所有権は前記アドレス可能主メモリ手段と前記複数
のプロセッサ手段との間で動的に変更可能となってお
り、 e)もし、前記使用モードフラグがパブリックであるな
らば、 i)前記アドレス可能主メモリ手段は対応するあるアド
レスの現在の所有者であり、 ii)前記複数のプロセッサ手段はそれぞれ前記アドレス
可能主メモリ手段が現在所有している該アドレスのデー
タの有効コピーを前記アドレス可能キャッシュメモリ手
段に記憶させることが可能であり、 iii)前記アドレス可能主メモリ手段及び前記複数のプ
ロセッサ手段は対応ブロックのデータを変更できず、 f)もし、前記使用モードフラグがプライベートである
ならば、対応するあるアドレスの現在の所有者はデータ
を変更できるのであり、 g)また前記複数のプロセッサ手段の各々1つは、 i)キャッシュヒット若しくはキャッシュミスを識別す
るキャッシュ状態信号を発生する前記アドレス可能キャ
ッシュメモリ手段に前記多数のデータブロックをアクセ
スするためのプロセッササブシステム手段と、 ii)前記バス手段上に生起する複数のバストランザクシ
ョンをモニタして、これらのバストランザクションを識
別するバスモニタ状態信号を発生するためのバスインタ
フェース手段と、および iii)前記キャッシュミス状態信号若しくは前記バスモ
ニタ状態信号に応答して、前記複数のバストランザクシ
ョンの任意の1つを開始させる開始手段とを有し、 h)該開始手段は、 i)ある1つのアドレスのデータブロックのコピーを獲
得して、読み取るための読み取り要求パブリックと、 ii)ある1つのデータブロックのあるアドレスの所有権
を獲得して、該アドレスの対応データを変更するための
読み取り要求プライベートと、および iii)前記1つのプロセッサ手段によって所有されたア
ドレスの所有権及び該1つのプロセッサ手段により変更
されている対応データを前記アドレス可能主メモリ手段
へ移すための書き込み変更とを包含している ことを特徴とする密結合コンピュータシステム。 - 【請求項2】特許請求の範囲第1項に記載の密結合コン
ピュータシステムにおいて、前記1つのプロセッサによ
る前記読み取り要求パブリック若しくは前記読み取り要
求プライベートの開始に基づいて、アドレスの現在の所
有者が前記1つのプロセッサ手段に対して読み取り応答
をコミットする確認信号を発生することを特徴とする密
結合コンピュータシステム。 - 【請求項3】特許請求の範囲第2項に記載の密結合コン
ピュータシステムにおいて、前記読み取り要求プライベ
ートに対する確認信号に基づいて、アドレスの所有権が
現在の所有者より前記1つのプロセッサ手段に移される
ことを特徴とする密結合コンピュータシステム。 - 【請求項4】特許請求の範囲第2項に記載の密結合コン
ピュータシステムにおいて、前記1つのプロセッサ手段
に対して対応データを移動する前に、前記1つのプロセ
ッサ手段により開始された前記読み取り要求パブリック
に対する確認信号に基づいて、さらにまた対応データの
前記移動の前に前記プロセッサ手段の他のものによって
開始された読み取り要求プライベートの前記1つのプロ
セッサ手段による受信に基づいて、前記1つのプロセッ
サ手段が前記有効フラグを書き込んで、対応データを無
効化することを特徴とする密結合コンピュータシステ
ム。 - 【請求項5】特許請求の範囲第2項に記載の密結合コン
ピュータシステムにおいて、前記1つのプロセッサ手段
の前記アドレス可能キャッシュメモリ手段は、パブリッ
クである1つのアドレスのデータのコピーを有し、かつ
前記プロセッサ手段の他のものにより開始された読み取
り要求プライベートの前記1つのプロセッサ手段による
受信と確認に基づいて、前記1つのプロセッサ手段は前
記有効フラグを書き込んで、データのコピーを無効化す
ることを特徴とする密結合コンピュータシステム。 - 【請求項6】特許請求の範囲第2項に記載の密結合コン
ピュータシステムにおいて、アドレスを有するブロック
の新データを前記アドレス可能主メモリ手段に入力する
ための入力プロセッサ手段をさらに具備し、前記バス手
段は書き込み新データである他のバストランザクション
を支援し、前記入力プロセッサ手段は前記新データの入
力に基づいて前記書き込み新データを開始させ、前記1
つのプロセッサ手段は新データに対応するアドレスを有
し、前記書き込み新データの確認信号の前記1つのプロ
セッサ手段による受信に応じて、前記1つのプロセッサ
手段は前記有効フラグを書き込んで、前記パブリックア
ドレスのデータを無効化することを特徴とする密結合コ
ンピュータシステム。 - 【請求項7】特許請求の範囲第6項に記載の密結合コン
ピュータシステムにおいて、前記1つのプロセッサ手段
により開始された前記読み取り要求プライベートに対す
る確認信号に基づいて、アドレスの所有権が現在の所有
者によって前記1つのプロセッサ手段にただちに移さ
れ、続いて前記1つのプロセッサに該アドレスの対応デ
ータを転送するため現在の所有者により読み取り応答が
開始されることを特徴とする密結合コンピュータシステ
ム。 - 【請求項8】特許請求の範囲第6項に記載の密結合コン
ピュータシステムにおいて、前記1つのプロセッサ手段
に対応データを移動する前に、前記書き込み新データの
確認の前記1つのプロセッサ手段による受信に基づい
て、前記1つのプロセッサ手段は前記有効フラグを書き
込んで、対応データを無効化することを特徴とする密結
合コンピュータシステム。 - 【請求項9】特許請求の範囲第6項に記載の密結合コン
ピュータシステムにおいて、前記1つのプロセッサ手段
に対応データを転送する前に、前記1つのプロセッサ手
段により開始された前記読み取り要求パブリックに対す
る確認信号に基づいて、さらにまた対応データの転送前
に、前記書き込み新データの確認の前記1つのプロセッ
サ手段による受信に基づいて、前記1つのプロセッサ手
段は前記有効フラグを書き込んで、対応データを無効化
することを特徴とする密結合コンピュータシステム。 - 【請求項10】特許請求の範囲第1項に記載の密結合コ
ンピュータシステムにおいて、前記複数のプロセッサ手
段の各1つは前記複数のプロセッサ手段の他のものと直
接に通信することができ、前記アドレス可能主メモリ手
段に指定のデータブロックを転送することなく、各プロ
セッサ手段間で前記データブロックを転送することがで
きることを特徴とする密結合コンピュータシステム。 - 【請求項11】特許請求の範囲第2項に記載の密結合コ
ンピュータシステムにおいて、現在の所有者はビジイ信
号を発生して、読み取り要求パブリック若しくは読み取
り要求プライベートの再開始を要求することができるこ
とを特徴とする密結合コンピュータシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US567233 | 1983-12-30 | ||
| US06567233 US4622631B1 (en) | 1983-12-30 | 1983-12-30 | Data processing system having a data coherence solution |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60237552A JPS60237552A (ja) | 1985-11-26 |
| JPH0658660B2 true JPH0658660B2 (ja) | 1994-08-03 |
Family
ID=24266291
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59274205A Expired - Lifetime JPH0658660B2 (ja) | 1983-12-30 | 1984-12-27 | 密結合コンピュータシステム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4622631B1 (ja) |
| EP (1) | EP0149355B1 (ja) |
| JP (1) | JPH0658660B2 (ja) |
| DE (1) | DE3486161T2 (ja) |
Families Citing this family (186)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60143718A (ja) * | 1983-12-30 | 1985-07-30 | Dainippon Screen Mfg Co Ltd | 工程看視方法 |
| US4847804A (en) * | 1985-02-05 | 1989-07-11 | Digital Equipment Corporation | Apparatus and method for data copy consistency in a multi-cache data processing unit |
| US4941088A (en) * | 1985-02-05 | 1990-07-10 | Digital Equipment Corporation | Split bus multiprocessing system with data transfer between main memory and caches using interleaving of sub-operations on sub-busses |
| ATE80480T1 (de) * | 1985-02-05 | 1992-09-15 | Digital Equipment Corp | Vorrichtung und verfahren zur zugriffsteuerung in einer mehrcachespeicherdatenverarbeitungsanordnung. |
| US4775955A (en) * | 1985-10-30 | 1988-10-04 | International Business Machines Corporation | Cache coherence mechanism based on locking |
| US4763244A (en) * | 1986-01-15 | 1988-08-09 | Motorola, Inc. | Paged memory management unit capable of selectively supporting multiple address spaces |
| US4785395A (en) * | 1986-06-27 | 1988-11-15 | Honeywell Bull Inc. | Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement |
| US4885680A (en) * | 1986-07-25 | 1989-12-05 | International Business Machines Corporation | Method and apparatus for efficiently handling temporarily cacheable data |
| US4853846A (en) * | 1986-07-29 | 1989-08-01 | Intel Corporation | Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors |
| CH670715A5 (ja) * | 1986-10-03 | 1989-06-30 | Bbc Brown Boveri & Cie | |
| CH672816A5 (ja) * | 1986-10-03 | 1989-12-29 | Pantex Stahl Ag | |
| US4843542A (en) * | 1986-11-12 | 1989-06-27 | Xerox Corporation | Virtual memory cache for use in multi-processing systems |
| US5045996A (en) * | 1986-11-12 | 1991-09-03 | Xerox Corporation | Multiprocessor cache memory housekeeping |
| GB2200483B (en) * | 1987-01-22 | 1991-10-16 | Nat Semiconductor Corp | Memory referencing in a high performance microprocessor |
| AU598101B2 (en) * | 1987-02-27 | 1990-06-14 | Honeywell Bull Inc. | Shared memory controller arrangement |
| JPH0221342A (ja) * | 1987-02-27 | 1990-01-24 | Hitachi Ltd | マルチプロセッサシステム及びマルチプロセッサシステムにおける論理キャッシュメモリのアクセス方法 |
| US4827406A (en) * | 1987-04-01 | 1989-05-02 | International Business Machines Corporation | Memory allocation for multiple processors |
| US4829422A (en) * | 1987-04-02 | 1989-05-09 | Stellar Computer, Inc. | Control of multiple processors executing in parallel regions |
| US4954944A (en) * | 1987-04-23 | 1990-09-04 | Nec Corporation | Cache control circuit in cache memory unit with unit for enabling to reduce a read access time for cache memory |
| US5201040A (en) * | 1987-06-22 | 1993-04-06 | Hitachi, Ltd. | Multiprocessor system having subsystems which are loosely coupled through a random access storage and which each include a tightly coupled multiprocessor |
| JPH0831061B2 (ja) * | 1987-07-24 | 1996-03-27 | 株式会社日立製作所 | バツフア制御方式 |
| EP0312764A3 (en) * | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | A data processor having multiple execution units for processing plural classes of instructions in parallel |
| CA1320003C (en) * | 1987-12-22 | 1993-07-06 | Steven J. Frank | Interconnection system for multiprocessor structure |
| US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
| US5282201A (en) * | 1987-12-22 | 1994-01-25 | Kendall Square Research Corporation | Dynamic packet routing network |
| US5251308A (en) * | 1987-12-22 | 1993-10-05 | Kendall Square Research Corporation | Shared memory multiprocessor with data hiding and post-store |
| US5335325A (en) * | 1987-12-22 | 1994-08-02 | Kendall Square Research Corporation | High-speed packet switching apparatus and method |
| US5761413A (en) * | 1987-12-22 | 1998-06-02 | Sun Microsystems, Inc. | Fault containment system for multiprocessor with shared memory |
| 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 |
| US5226039A (en) * | 1987-12-22 | 1993-07-06 | Kendall Square Research Corporation | Packet routing switch |
| US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
| ATE109910T1 (de) * | 1988-01-20 | 1994-08-15 | Advanced Micro Devices Inc | Organisation eines integrierten cachespeichers zur flexiblen anwendung zur unterstützung von multiprozessor-operationen. |
| US4977498A (en) * | 1988-04-01 | 1990-12-11 | Digital Equipment Corporation | Data processing system having a data memory interlock coherency scheme |
| EP0343567A3 (en) * | 1988-05-25 | 1991-01-09 | Hitachi, Ltd. | Multi-processing system and cache apparatus for use in the same |
| JPH01302444A (ja) * | 1988-05-31 | 1989-12-06 | Toshiba Corp | 論理アドレスキャッシュ制御方式 |
| EP0349123B1 (en) * | 1988-06-27 | 1995-09-20 | Digital Equipment Corporation | Multi-processor computer systems having shared memory and private cache memories |
| US5317716A (en) * | 1988-08-16 | 1994-05-31 | International Business Machines Corporation | Multiple caches using state information indicating if cache line was previously modified and type of access rights granted to assign access rights to cache line |
| US5029070A (en) * | 1988-08-25 | 1991-07-02 | Edge Computer Corporation | Coherent cache structures and methods |
| US4928225A (en) * | 1988-08-25 | 1990-05-22 | Edgcore Technology, Inc. | Coherent cache structures and methods |
| GB8823077D0 (en) * | 1988-09-30 | 1988-11-09 | Int Computers Ltd | Data processing apparatus |
| US5027270A (en) * | 1988-10-11 | 1991-06-25 | Mips Computer Systems, Inc. | Processor controlled interface with instruction streaming |
| US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
| US5202972A (en) * | 1988-12-29 | 1993-04-13 | International Business Machines Corporation | Store buffer apparatus in a multiprocessor system |
| US5222217A (en) * | 1989-01-18 | 1993-06-22 | International Business Machines Corporation | System and method for implementing operating system message queues with recoverable shared virtual storage |
| US5222224A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system |
| US5210848A (en) * | 1989-02-22 | 1993-05-11 | International Business Machines Corporation | Multi-processor caches with large granularity exclusivity locking |
| US5097532A (en) * | 1989-03-03 | 1992-03-17 | Compaq Computer Corporation | Circuit for enabling a cache using a flush input to circumvent a late noncachable address input |
| US5210847A (en) * | 1989-05-19 | 1993-05-11 | Compaq Computer Corporation | Noncacheable address random access memory |
| CA2019300C (en) * | 1989-06-22 | 2001-06-12 | Kendall Square Research Corporation | Multiprocessor system with shared memory |
| US5182805A (en) * | 1989-07-14 | 1993-01-26 | Ncr Corporation | Method and system for determining copy-on-write condition |
| US5230070A (en) * | 1989-09-08 | 1993-07-20 | International Business Machines Corporation | Access authorization table for multi-processor caches |
| JPH0697449B2 (ja) * | 1989-09-20 | 1994-11-30 | 株式会社日立製作所 | 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法 |
| EP0419721B1 (de) * | 1989-09-29 | 1995-03-22 | Siemens Aktiengesellschaft | Kommunikationssystem für miteinander verbundene speicherprogrammierbare Steuerungen |
| JPH0666056B2 (ja) * | 1989-10-12 | 1994-08-24 | 甲府日本電気株式会社 | 情報処理システム |
| US5301290A (en) * | 1990-03-14 | 1994-04-05 | International Business Machines Corporation | Method for minimizing lock processing while ensuring consistency among pages common to local processor caches and a shared external store |
| US5289585A (en) * | 1990-03-26 | 1994-02-22 | Siemens Nixdorf Informationssysteme Ag | Multiprocessor system having a system bus for the coupling of several processing units with appertaining private cache memories and a common main memory |
| US5197139A (en) * | 1990-04-05 | 1993-03-23 | International Business Machines Corporation | Cache management for multi-processor systems utilizing bulk cross-invalidate |
| US5247648A (en) * | 1990-04-12 | 1993-09-21 | Sun Microsystems, Inc. | Maintaining data coherency between a central cache, an I/O cache and a memory |
| US5297269A (en) * | 1990-04-26 | 1994-03-22 | Digital Equipment Company | Cache coherency protocol for multi processor computer system |
| DE69128107T2 (de) * | 1990-05-25 | 1998-02-26 | At & T Corp | Busanordnung für Speicherzugriff |
| US5249284A (en) * | 1990-06-04 | 1993-09-28 | Ncr Corporation | Method and system for maintaining data coherency between main and cache memories |
| US5029209A (en) * | 1990-06-13 | 1991-07-02 | The Boeing Company | Pseudorandom, iterative method and apparatus for automatically creating addresses |
| US5263144A (en) * | 1990-06-29 | 1993-11-16 | Digital Equipment Corporation | Method and apparatus for sharing data between processors in a computer system |
| US5404483A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills |
| US5404482A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills |
| US5155843A (en) * | 1990-06-29 | 1992-10-13 | Digital Equipment Corporation | Error transition mode for multi-processor system |
| US5251310A (en) * | 1990-06-29 | 1993-10-05 | Digital Equipment Corporation | Method and apparatus for exchanging blocks of information between a cache memory and a main memory |
| JP3009430B2 (ja) * | 1990-07-09 | 2000-02-14 | キヤノン株式会社 | プロセッサおよびそのキャッシュメモリ制御方法 |
| DE69130967T2 (de) * | 1990-08-06 | 1999-10-21 | Ncr International, Inc. | Rechnerspeicheranordnung |
| 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 |
| US5483645A (en) * | 1990-10-26 | 1996-01-09 | Advanced Micro Devices, Inc. | Cache access system for multiple requestors providing independent access to the cache arrays |
| US5291442A (en) * | 1990-10-31 | 1994-03-01 | International Business Machines Corporation | Method and apparatus for dynamic cache line sectoring in multiprocessor systems |
| CA2051222C (en) * | 1990-11-30 | 1998-05-05 | Pradeep S. Sindhu | Consistent packet switched memory bus for shared memory multiprocessors |
| JPH04291446A (ja) * | 1990-12-05 | 1992-10-15 | Ncr Corp | スケーラブルメモリ帯域を備えた緊密結合型多重プロセッサ |
| US5249283A (en) * | 1990-12-24 | 1993-09-28 | Ncr Corporation | Cache coherency method and apparatus for a multiple path interconnection network |
| JPH04353947A (ja) * | 1991-02-13 | 1992-12-08 | Hewlett Packard Co <Hp> | メモリページ特性タグ付けシステム |
| US5490261A (en) * | 1991-04-03 | 1996-02-06 | International Business Machines Corporation | Interlock for controlling processor ownership of pipelined data for a store in cache |
| US5313609A (en) * | 1991-05-23 | 1994-05-17 | International Business Machines Corporation | Optimum write-back strategy for directory-based cache coherence protocols |
| JPH04367963A (ja) * | 1991-06-15 | 1992-12-21 | Hitachi Ltd | 共有記憶通信方法 |
| 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 |
| 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 |
| US5301298A (en) * | 1991-10-11 | 1994-04-05 | Intel Corporation | Processor for multiple cache coherent protocols |
| GB2260429B (en) * | 1991-10-11 | 1995-05-24 | Intel Corp | Versatile cache memory |
| US5335333A (en) * | 1991-10-29 | 1994-08-02 | Intel Corporation | Guess mechanism for faster address calculation in a pipelined microprocessor |
| US5504913A (en) * | 1992-05-14 | 1996-04-02 | Apple Computer, Inc. | Queue memory with self-handling addressing and underflow |
| US5355471A (en) * | 1992-08-14 | 1994-10-11 | Pyramid Technology Corporation | Multiprocessor cache coherency tester that exercises the coherency logic exhaustively and also detects errors in a processor using an automatic CPU sort |
| JP2819982B2 (ja) * | 1993-03-18 | 1998-11-05 | 株式会社日立製作所 | 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム |
| US5347514A (en) * | 1993-03-26 | 1994-09-13 | International Business Machines Corporation | Processor-based smart packet memory interface |
| US5490279A (en) * | 1993-05-21 | 1996-02-06 | Intel Corporation | Method and apparatus for operating a single CPU computer system as a multiprocessor system |
| US5504874A (en) * | 1993-09-29 | 1996-04-02 | Silicon Graphics, Inc. | System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions |
| JP2634141B2 (ja) * | 1994-01-19 | 1997-07-23 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセッサ・システム |
| US5905997A (en) * | 1994-04-29 | 1999-05-18 | Amd Inc. | Set-associative cache memory utilizing a single bank of physical memory |
| US5577226A (en) * | 1994-05-06 | 1996-11-19 | Eec Systems, Inc. | Method and system for coherently caching I/O devices across a network |
| DE69535409T2 (de) * | 1994-06-29 | 2007-11-08 | Intel Corp., Santa Clara | Prozessor, das das systembusrecht in einem erweiterbaren multiprozessor-rechnersystem anzeigt |
| US5559987A (en) * | 1994-06-30 | 1996-09-24 | Digital Equipment Corporation | Method and apparatus for updating a duplicate tag status in a snoop bus protocol based computer system |
| JPH08185359A (ja) * | 1994-10-31 | 1996-07-16 | Toshiba Corp | メモリサブシステム |
| USRE38514E1 (en) | 1994-11-18 | 2004-05-11 | Apple Computer, Inc. | System for and method of efficiently controlling memory accesses in a multiprocessor computer system |
| US5895496A (en) * | 1994-11-18 | 1999-04-20 | Apple Computer, Inc. | System for an method of efficiently controlling memory accesses in a multiprocessor computer system |
| EP0723230B1 (en) * | 1995-01-23 | 2002-05-22 | Compaq Computer Corporation | A distributed data cache for cached multiprocessor system |
| US5819306A (en) * | 1995-02-14 | 1998-10-06 | General Magic | Shadow mechanism for a modifiable object oriented system |
| JP3872118B2 (ja) * | 1995-03-20 | 2007-01-24 | 富士通株式会社 | キャッシュコヒーレンス装置 |
| US5787476A (en) | 1995-05-05 | 1998-07-28 | Silicon Graphics, Inc. | System and method for maintaining coherency of virtual-to-physical memory translations in a multiprocessor computer |
| US5594863A (en) * | 1995-06-26 | 1997-01-14 | Novell, Inc. | Method and apparatus for network file recovery |
| CA2227431C (en) | 1995-07-20 | 2001-05-15 | Novell, Inc. | Transaction log management in a disconnectable computer and network |
| DE69615565T2 (de) * | 1995-07-20 | 2002-07-11 | Novell, Inc. | Transaktionssynchronisierung in einem netz abtrennbarer rechner |
| JPH09223118A (ja) * | 1996-02-14 | 1997-08-26 | Oki Electric Ind Co Ltd | スヌープキャッシュメモリ制御システム |
| US5829033A (en) * | 1996-07-01 | 1998-10-27 | Sun Microsystems, Inc. | Optimizing responses in a coherent distributed electronic system including a computer system |
| JP3269967B2 (ja) * | 1996-04-24 | 2002-04-02 | 株式会社日立製作所 | キャッシュコヒーレンシ制御方法、および、これを用いたマルチプロセッサシステム |
| US5892970A (en) | 1996-07-01 | 1999-04-06 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient block copy operations |
| US5796605A (en) * | 1996-07-02 | 1998-08-18 | Sun Microsystems, Inc. | Extended symmetrical multiprocessor address mapping |
| US5805839A (en) * | 1996-07-02 | 1998-09-08 | Advanced Micro Devices, Inc. | Efficient technique for implementing broadcasts on a system of hierarchical buses |
| US5878434A (en) * | 1996-07-18 | 1999-03-02 | Novell, Inc | Transaction clash management in a disconnectable computer and network |
| US5717897A (en) * | 1996-09-09 | 1998-02-10 | Unisys Corporation | System for coordinating coherency of cache memories of multiple host computers of a distributed information system |
| US5893161A (en) * | 1996-11-12 | 1999-04-06 | Hewlett-Packard Co. | Method for allocating ownership of portions of memory in a coherent memory system |
| US6128711A (en) * | 1996-11-12 | 2000-10-03 | Compaq Computer Corporation | Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes |
| US6078997A (en) * | 1996-12-09 | 2000-06-20 | Intel Corporation | Directory-based coherency system for maintaining coherency in a dual-ported memory system |
| US6148375A (en) * | 1998-02-13 | 2000-11-14 | International Business Machines Corporation | Hierarchical bus simple COMA architecture for shared memory multiprocessors having a bus directly interconnecting caches between nodes |
| US6286081B1 (en) * | 1998-05-19 | 2001-09-04 | Advanced Micro Devices, Inc. | Mechanism for ensuring data coherency during sequential readings of portions of data that changes with time |
| US6678838B1 (en) * | 1999-08-23 | 2004-01-13 | Advanced Micro Devices, Inc. | Method to track master contribution information in a write buffer |
| US7516334B2 (en) * | 2001-03-22 | 2009-04-07 | Sony Computer Entertainment Inc. | Power management for processing modules |
| US7231500B2 (en) * | 2001-03-22 | 2007-06-12 | Sony Computer Entertainment Inc. | External data interface in a computer architecture for broadband networks |
| US6526491B2 (en) * | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
| US6826662B2 (en) * | 2001-03-22 | 2004-11-30 | Sony Computer Entertainment Inc. | System and method for data synchronization for a computer architecture for broadband networks |
| US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
| US7017012B2 (en) * | 2002-06-20 | 2006-03-21 | Sun Microsystems, Inc. | Distributed storage cache coherency system and method |
| US9110853B2 (en) * | 2003-03-10 | 2015-08-18 | Oracle America, Inc. | Computer system with multiple classes of device IDs |
| US8224639B2 (en) | 2004-03-29 | 2012-07-17 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
| US8473657B2 (en) * | 2009-03-23 | 2013-06-25 | Lsi Corporation | High speed packet FIFO output buffers for switch fabric with speedup |
| US8917738B2 (en) | 2009-04-27 | 2014-12-23 | Lsi Corporation | Multicasting traffic manager in a network communications processor architecture |
| US8910171B2 (en) * | 2009-04-27 | 2014-12-09 | Lsi Corporation | Thread synchronization in a multi-thread network communications processor architecture |
| US9727508B2 (en) | 2009-04-27 | 2017-08-08 | Intel Corporation | Address learning and aging for network bridging in a network processor |
| US8705531B2 (en) | 2010-05-18 | 2014-04-22 | Lsi Corporation | Multicast address learning in an input/output adapter of a network processor |
| US8761204B2 (en) | 2010-05-18 | 2014-06-24 | Lsi Corporation | Packet assembly module for multi-core, multi-thread network processors |
| US8576862B2 (en) | 2010-05-18 | 2013-11-05 | Lsi Corporation | Root scheduling algorithm in a network processor |
| US8869150B2 (en) | 2010-05-18 | 2014-10-21 | Lsi Corporation | Local messaging in a scheduling hierarchy in a traffic manager of a network processor |
| US8565250B2 (en) | 2010-05-18 | 2013-10-22 | Lsi Corporation | Multithreaded, superscalar scheduling in a traffic manager of a network processor |
| US8615013B2 (en) | 2010-05-18 | 2013-12-24 | Agere Systems Llc | Packet scheduling with guaranteed minimum rate in a traffic manager of a network processor |
| US8869151B2 (en) | 2010-05-18 | 2014-10-21 | Lsi Corporation | Packet draining from a scheduling hierarchy in a traffic manager of a network processor |
| US8619787B2 (en) | 2010-05-18 | 2013-12-31 | Lsi Corporation | Byte-accurate scheduling in a network processor |
| US8537832B2 (en) * | 2010-03-12 | 2013-09-17 | Lsi Corporation | Exception detection and thread rescheduling in a multi-core, multi-thread network processor |
| US8843682B2 (en) | 2010-05-18 | 2014-09-23 | Lsi Corporation | Hybrid address mutex mechanism for memory accesses in a network processor |
| US8874878B2 (en) | 2010-05-18 | 2014-10-28 | Lsi Corporation | Thread synchronization in a multi-thread, multi-flow network communications processor architecture |
| US8638805B2 (en) | 2010-05-18 | 2014-01-28 | Lsi Corporation | Packet draining from a scheduling hierarchy in a traffic manager of a network processor |
| US8514874B2 (en) * | 2010-03-12 | 2013-08-20 | Lsi Corporation | Thread synchronization in a multi-thread network communications processor architecture |
| US8837501B2 (en) | 2010-05-18 | 2014-09-16 | Lsi Corporation | Shared task parameters in a scheduler of a network processor |
| US8949500B2 (en) | 2011-08-08 | 2015-02-03 | Lsi Corporation | Non-blocking processor bus bridge for network processors or the like |
| US8499137B2 (en) * | 2010-03-12 | 2013-07-30 | Lsi Corporation | Memory manager for a network communications processor architecture |
| US8910168B2 (en) | 2009-04-27 | 2014-12-09 | Lsi Corporation | Task backpressure and deletion in a multi-flow network processor architecture |
| US8677075B2 (en) | 2010-05-18 | 2014-03-18 | Lsi Corporation | Memory manager for a network communications processor architecture |
| US9183145B2 (en) | 2009-04-27 | 2015-11-10 | Intel Corporation | Data caching in a network communications processor architecture |
| US8321385B2 (en) * | 2010-03-12 | 2012-11-27 | Lsi Corporation | Hash processing in a network communications processor architecture |
| US8848723B2 (en) | 2010-05-18 | 2014-09-30 | Lsi Corporation | Scheduling hierarchy in a traffic manager of a network processor |
| US9300597B2 (en) | 2009-04-27 | 2016-03-29 | Intel Corporation | Statistics module for network processors in virtual local area networks |
| US8943507B2 (en) * | 2009-04-27 | 2015-01-27 | Deepak Mital | Packet assembly module for multi-core, multi-thread network processors |
| US9461930B2 (en) | 2009-04-27 | 2016-10-04 | Intel Corporation | Modifying data streams without reordering in a multi-thread, multi-flow network processor |
| US9218290B2 (en) | 2009-04-27 | 2015-12-22 | Intel Corporation | Data caching in a network communications processor architecture |
| US8873550B2 (en) | 2010-05-18 | 2014-10-28 | Lsi Corporation | Task queuing in a multi-flow network processor architecture |
| US8949578B2 (en) | 2009-04-27 | 2015-02-03 | Lsi Corporation | Sharing of internal pipeline resources of a network processor with external devices |
| US8869156B2 (en) | 2010-05-18 | 2014-10-21 | Lsi Corporation | Speculative task reading in a traffic manager of a network processor |
| US8935483B2 (en) * | 2009-04-27 | 2015-01-13 | Lsi Corporation | Concurrent, coherent cache access for multiple threads in a multi-core, multi-thread network processor |
| US9160684B2 (en) | 2009-04-27 | 2015-10-13 | Intel Corporation | Dynamic updating of scheduling hierarchy in a traffic manager of a network processor |
| US8515965B2 (en) | 2010-05-18 | 2013-08-20 | Lsi Corporation | Concurrent linked-list traversal for real-time hash processing in multi-core, multi-thread network processors |
| US8539199B2 (en) * | 2010-03-12 | 2013-09-17 | Lsi Corporation | Hash processing in a network communications processor architecture |
| US8547878B2 (en) | 2010-05-18 | 2013-10-01 | Lsi Corporation | Modularized scheduling engine for traffic management in a network processor |
| US8255644B2 (en) * | 2009-05-18 | 2012-08-28 | Lsi Corporation | Network communications processor architecture with memory load balancing |
| US8489791B2 (en) | 2010-03-12 | 2013-07-16 | Lsi Corporation | Processor bus bridge security feature for network processors or the like |
| US8683221B2 (en) | 2010-05-18 | 2014-03-25 | Lsi Corporation | Configurable memory encryption with constant pipeline delay in a multi-core processor |
| US8868889B2 (en) * | 2010-03-12 | 2014-10-21 | Lsi Corporation | Instruction breakpoints in a multi-core, multi-thread network communications processor architecture |
| US8949582B2 (en) | 2009-04-27 | 2015-02-03 | Lsi Corporation | Changing a flow identifier of a packet in a multi-thread, multi-flow network processor |
| US8505013B2 (en) * | 2010-03-12 | 2013-08-06 | Lsi Corporation | Reducing data read latency in a network communications processor architecture |
| US9444757B2 (en) | 2009-04-27 | 2016-09-13 | Intel Corporation | Dynamic configuration of processing modules in a network communications processor architecture |
| US9152564B2 (en) | 2010-05-18 | 2015-10-06 | Intel Corporation | Early cache eviction in a multi-flow network processor architecture |
| US9485200B2 (en) | 2010-05-18 | 2016-11-01 | Intel Corporation | Network switch with external buffering via looparound path |
| US9755947B2 (en) | 2010-05-18 | 2017-09-05 | Intel Corporation | Hierarchical self-organizing classification processing in a network switch |
| US9065761B2 (en) | 2011-07-25 | 2015-06-23 | Intel Corporation | Packet reassembly processing |
| US9304923B2 (en) * | 2013-03-12 | 2016-04-05 | Arm Limited | Data coherency management |
| US8997210B1 (en) * | 2013-10-11 | 2015-03-31 | Advanced Micro Devices, Inc. | Leveraging a peripheral device to execute a machine instruction |
| WO2018100363A1 (en) | 2016-11-29 | 2018-06-07 | Arm Limited | Memory address translation |
| US10866904B2 (en) * | 2017-11-22 | 2020-12-15 | Arm Limited | Data storage for multiple data types |
| US10929308B2 (en) | 2017-11-22 | 2021-02-23 | Arm Limited | Performing maintenance operations |
| US10831673B2 (en) | 2017-11-22 | 2020-11-10 | Arm Limited | Memory address translation |
| FR3078176B1 (fr) * | 2018-02-19 | 2020-02-28 | IFP Energies Nouvelles | Systeme et procede de prediction d'un phenomene physique et/ou chimique au moyen d'un segment de memoire partage |
| US11138111B2 (en) * | 2018-09-12 | 2021-10-05 | Apple Inc. | Parallel coherence and memory cache processing pipelines |
| CN115599459B (zh) * | 2022-12-13 | 2023-04-07 | 成都启英泰伦科技有限公司 | 一种跨电源域多处理器运行装置及其通信方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4141067A (en) * | 1977-06-13 | 1979-02-20 | General Automation | Multiprocessor system with cache memory |
-
1983
- 1983-12-30 US US06567233 patent/US4622631B1/en not_active Expired - Fee Related
-
1984
- 1984-12-21 EP EP84309014A patent/EP0149355B1/en not_active Revoked
- 1984-12-21 DE DE84309014T patent/DE3486161T2/de not_active Revoked
- 1984-12-27 JP JP59274205A patent/JPH0658660B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60237552A (ja) | 1985-11-26 |
| DE3486161T2 (de) | 1993-09-30 |
| EP0149355A2 (en) | 1985-07-24 |
| EP0149355A3 (en) | 1987-09-23 |
| EP0149355B1 (en) | 1993-06-09 |
| US4622631B1 (en) | 1996-04-09 |
| US4622631A (en) | 1986-11-11 |
| DE3486161D1 (de) | 1993-07-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0658660B2 (ja) | 密結合コンピュータシステム | |
| US4394731A (en) | Cache storage line shareability control for a multiprocessor system | |
| US5247648A (en) | Maintaining data coherency between a central cache, an I/O cache and a memory | |
| EP0258559B1 (en) | Cache memory coherency control provided with a read in progress indicating memory | |
| TW390986B (en) | Cache memory system | |
| US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
| US5696937A (en) | Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses | |
| JPS5821353B2 (ja) | チヤネル対メモリ書込み装置 | |
| EP0029517A2 (en) | Store-in-cache mode data processing apparatus | |
| US5845324A (en) | Dual bus network cache controller system having rapid invalidation cycles and reduced latency for cache access | |
| JPH0345407B2 (ja) | ||
| JPH09218822A (ja) | 逐次符号化スヌープ応答を使用してキャッシュの一貫性を保つ方法およびシステム | |
| US5263144A (en) | Method and apparatus for sharing data between processors in a computer system | |
| JPH0642230B2 (ja) | 書込み―読出し/書込み―パス記憶装置のサブシステム・サイクル | |
| JPH0532775B2 (ja) | ||
| US6516391B1 (en) | Multiprocessor system and methods for transmitting memory access transactions for the same | |
| EP0380842A2 (en) | Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units | |
| US5920891A (en) | Architecture and method for controlling a cache memory | |
| US4737908A (en) | Buffer memory control system | |
| JPS6237752A (ja) | 別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム | |
| JP2961663B2 (ja) | キャッシュメモリ制御方法 | |
| JPH02110646A (ja) | メモリの先行読出し装置 | |
| JPS5927994B2 (ja) | コンピユ−タシステム | |
| JPH0944443A (ja) | バスインタフェース制御装置 | |
| JPH0461384B2 (ja) |