JPH09138782A - マルチプロセッサシステムおよびそのためのネットワーク - Google Patents

マルチプロセッサシステムおよびそのためのネットワーク

Info

Publication number
JPH09138782A
JPH09138782A JP7296479A JP29647995A JPH09138782A JP H09138782 A JPH09138782 A JP H09138782A JP 7296479 A JP7296479 A JP 7296479A JP 29647995 A JP29647995 A JP 29647995A JP H09138782 A JPH09138782 A JP H09138782A
Authority
JP
Japan
Prior art keywords
input
units
transfer
output
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7296479A
Other languages
English (en)
Other versions
JP3691134B2 (ja
Inventor
Naoki Hamanaka
直樹 濱中
Naohiko Irie
直彦 入江
Tetsuhiko Okada
哲彦 岡田
Tetsuya Mochida
哲也 持田
Masabumi Shibata
正文 柴田
Takehisa Hayashi
林  剛久
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP29647995A priority Critical patent/JP3691134B2/ja
Priority to US08/747,344 priority patent/US6011791A/en
Publication of JPH09138782A publication Critical patent/JPH09138782A/ja
Priority to US09/456,383 priority patent/US6728258B1/en
Application granted granted Critical
Publication of JP3691134B2 publication Critical patent/JP3691134B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】いずれかのプロセッサユニットが出力するメモ
リアクセスをインタコネクトネットワークを用いて他の
キャッシュが簡単に監視でき、さらに、メモリマップド
レジスタへのアクセス要求の送出先を決定する回路を簡
単化する。 【解決手段】各プロセッサユニットの送信部7−i内に
以下のようにアクセス要求の送付先を決める回路を設け
る。主記憶データへのアクセス要求の場合、全てのプロ
セッサユニットとそのデータを保持している一つのメモ
リユニットのみに、そのアクセス要求をクロスバスイッ
チ1を介して部分放送する。入出力装置内のメモリマッ
プドレジスタに対するアクセス要求の場合には、全ての
入出力ユニットにこのアクセス要求を部分放送する。プ
ロセッサユニット、メモリユニットあるいは入出力ユニ
ットのいずかれに属するメモリマップドレジスタに対す
るアクセス要求の場合、全てのユニットにこのアクセス
要求をクロスバスイッチ1を介して放送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、高性能を実現する
ために複数のプロセッサにより構成されたマルチプロセ
ッサシステムに関連する。
【0002】
【従来の技術】高性能の電子計算機システムとして、複
数のプロセッサが主記憶を共有する密結合マルチプロセ
ッサシステムがある。このようなシステムでは、共有さ
れた主記憶へのアクセスの競合を低減するために、これ
らのプロセッサのそれぞれに対応して、プライベートな
キャッシュが使用される。これらのキャッシュの使用に
伴い、キャッシュ間の一致制御をどのように行うかが問
題となる。従来のいろいろのマルチプロセッサシステム
が特開平4−328653(以下、参考文献1と呼ぶ)
の従来の技術の欄において紹介されている。
【0003】最も代表的な従来のマルチプロセッサシス
テムは、スヌーピキャッシュ方式といわれるもので、共
通のバス(アドレスバス、データバス、制御バスを含む
ものでスヌーピバスとも呼ばれる)に、複数のプロセッ
サに対するキャッシュと共有メモリとが接続され、各プ
ロセッサは、対応するキャッシュと、このバスを介して
共有主記憶をアクセスするようになっている。さらに各
キャッシュは、この共通のバス上の信号により他のキャ
ッシュによる共有主記憶へのアクセスを監視し、他のキ
ャッシュが共有主記憶に現にアクセスしたときに、自キ
ャッシュに対してキャッシュ間一致制御のための動作を
行うように構成されている。この従来技術では、複数の
キャッシュ間の一致制御が比較的簡単なハードウエアに
より実現されるという利点がある。その反面、いずれか
のキャッシュから共有主記憶へアクセスするとき、共通
のバスがデータとアドレスの転送に使用されるため,異
なるキャッシュから共有主記憶へのアクセスは逐次的に
行わざるを得ないし、さらに、バスネックによりせいぜ
い十数台規模のシステムしか実現できないという問題が
ある。
【0004】この問題を解決するために、共有バスに代
えて、並列に複数のデータを転送するインタコネクトネ
ットワークを使用するマルチプロセッサシステムもいろ
い知られている。この種のシステムにおいては、上記ス
ヌーピ方式における問題がない反面、複数のキャッシュ
間の一致制御をいかに実現するかの問題がある。上記参
考文献1によれば、各キャッシュが、他のキャッシュに
よる全てのメモリアクセスを監視可能にすることが難し
いことが記載されている。このため、キャッシュ間の一
致制御をハードウエアで実現するのでなく、ソフトウエ
アで一致制御を実現する方法も紹介されている。
【0005】さらに、スヌーピー用のバスと、インタコ
ネクトネットワークを併用することも知られているキャ
ッシュ間の一致制御を必要としないメモリアクセスに対
しては、インタコネクトネットワークを使用し、キャッ
シュ間の一致制御を必要とするメモリアクセスに対して
は、従来通りスヌーピバスを使用する。この方法では、
従来のスヌーピ方式そのものに比べて性能の向上はそれ
ほど大きくない。
【0006】上記参考文献1では、この従来の方法より
高い性能を実現するために、アドレスバスと制御バスを
含み、データバスを含まない変形スヌーピーバスを、イ
ンタコネクトネットワークと併用する発明を開示してい
る。すなわち、各キャッシュは、従来と同様にキャッシ
ュ間の一致制御を変形スヌーピバス上のアドレスとコマ
ンドを使用してハードウエア的に行うが、この一致制御
のために実行されるキャッシュと主記憶間あるいは複数
のキャッシュの間のキャッシュブロックの移動は、イン
タコネクトネットワークを介して行う。この方法によれ
ば、各キャッシュは、一つのメモリアクセスに対して、
一致制御のための動作の内、データ移動以外の部分をア
ドレスとコマンドを使用して1サイクル程度で行うこと
が出来るので、各キャッシュは、複数のメモリアクセス
に対してキャッシュブロックの移動以外の一致制御動作
部分を次々と行うことが出来る。各メモリアクセスに対
する一致制御動作のためのキャッシュブロックの移動
は、複数サイクル必要であるが、インタコネクトネット
ワークを利用して、キャッシュと主記憶の異なる組の間
あるいはキャッシュの異なる組の間で異なるキャッシュ
ブロックを並列に移動できる。一般にアドレスの大きさ
に比べてキャッシュブロックの大きさは大きく、アドレ
ス転送は1サイクルで終了するがキャッシュブロックの
転送に複数サイクルが必要になる。例えば、キャッシュ
ブロックの転送に8サイクル必要と仮定すると、1サイ
クルのアドレス転送に対して8サイクルのキャッシュブ
ロック転送が必要である。そのため、上記のようにして
アドレスはバスで転送しつつ、キャッシュブロックの転
送をクロスバスイッチによって並列化することによっ
て、アドレス、キャッシュブロックの双方をバスで転送
する従来のスヌーピ方式のシステムに比べて大幅な性能
向上を可能にしている。なお、この発明では、インタコ
ネクトネットワークとして、クロスバスイッチその他の
いろいろのネットワークが使用できることもこの参考文
献1に記載されている。
【0007】なお、この発明を使用したと思われる製品
が、COMPCON ’95会議録の第102頁ないし
第109頁(以下、参考文献2と呼ぶ)に記載されてい
る。ここには、複数のプロセッサと、メモリと、複数の
入出力ユニットと、それらを接続するアドレスバスおよ
びクロスバスイッチと、上記複数の入出力ユニットに接
続された複数の入出力装置を含むマルチプロセッサシス
テムが開示されている。
【0008】さらに、従来技術として、いわゆるメモリ
マップドI/O方式が知られている。すなわち、システ
ム内のいろいろの制御レジスタあるいはデータレジスタ
等が、主記憶が属するのと同じアドレス空間にマップさ
れ、主記憶をアクセスするのに使用するメモリアクセス
命令と同じ形式の命令でもってアクセスされる。従来の
メモリ共有型のマルチプロセッサシステムでは、いわゆ
るメモリマップドI/O方式が広く採用されている。し
かし、上記参考文献1あるいは2は、それらに開示され
た、インタコネクトネットワークを使用したマルチプロ
セッサシステムに使用されるメモリマップドレジスタあ
るいはそのアクセス方法には触れていない。
【0009】
【発明が解決しようとする課題】上記参考文献1に記載
された発明によれば、インタコネクトネットワークによ
るデータの並列転送を利用して、複数のメモリアクセス
を並列に近い形で処理できる。しかし、この方法によれ
ば、変形スヌーピバスを使用するので、バスネックによ
り、そのバスに接続できるプロセッサの総数は大きく限
定されるという問題は残る。
【0010】さらに、いずれかのメモリマップドレジス
タに対するアクセス要求もインタコネクトネットワーク
を介してそのレジスタが含まれるユニットに転送するこ
とがシステムの構造を簡単にするために望ましい。しか
るに、アクセス要求が指定するアドレスに基づいて、そ
のアドレスを割り当てられたメモリマップドレジスタを
含むユニットを判別するには、各ユニットに含まれる全
てのメモリマップドレジスタに割り当てられたアドレス
の分布範囲を示すアドレス割り付け情報を各ユニットに
対応してシステム内に予め記憶し、上記アクセス要求が
発生したときに、そのアクセス要求が指定するアドレス
とこの記憶されたアドレス割り付け情報に基づいて、そ
の指定されたアドレスを割り当てられているメモリマッ
プドレジスタが属するユニットを判別する回路を使用す
る必要が生じる。
【0011】しかし、システムに含まれるメモリマップ
ドレジスタの内、入出力ユニットに接続された入出力装
置内のメモリマップドレジスタは、システム内の入出力
装置の数あるいは配置が変更されることがあり、上記ア
ドレス割り付け情報をその都度変更する必要がある。し
たがって、上記アドレス割り付け情報を使用して、アク
セス要求が指定するメモリマップドレジスタが属するユ
ニットを判別する回路は、このようなアドレスの変更に
応答することが出来るように構成する必要があり、それ
だけ、この回路が複雑になる。
【0012】本願発明の目的は、いずれかのキャッシュ
が出力するメモリアクセスをインタコネクトネットワー
クを用いて他のキャッシュが監視可能にするマルチプロ
セッサシステムを提供することである。
【0013】本願発明のより具体的な目的は、そのよう
な監視を可能とし、それでいてキャッシュを含まない入
出力ユニット等へ悪影響を及ぼさないマルチプロセッサ
システムを提供することである。
【0014】本願発明の他の目的は、アクセス要求が指
定するメモリマップドレジスタにアクセス要求の送出先
を決定する回路を簡単化出来るマルチプロセッサシステ
ムを提供することである。
【0015】本願発明の他のより具体的な目的は、入出
力装置に含まれるメモリマップドレジスタへのアクセス
要求を、その入出力装置に転送するための回路を簡単化
出来るマルチプロセッサシステムを提供することであ
る。
【0016】本願発明のさらに他のより具体的な目的
は、入出力装置の数あるいは組み合わせが変更された場
合でも、いずれかの入出力装置に含まれるメモリマップ
ドレジスタに対するアクセス要求を、その入出力装置に
転送するための簡単な回路を有するマルチプロセッサシ
ステムを提供することである。
【0017】
【課題を解決するための手段】本願発明の上記目的を達
成するために、いずれかのプロセッサユニットにて、主
記憶内のデータに対するアクセスが発生し、そのユニッ
ト内のキャッシュがヒットしなかった時に、そのアクセ
ス要求を、そのアクセス要求が指定するアドレスが割り
当てられている一つのメモリユニットと、全てのプロセ
ッサユニットを、そのアクセス要求を送付すべき複数の
送付先として決定する送付先決定回路を設けた。
【0018】本願発明の他の目的を達成するために、メ
モリマップドレジスタに対するアクセス要求の場合、そ
の入出力装置に転送するための簡単な回路として、いず
れかの入出力装置内のいずれかのメモリマップドレジス
タに対するアクセス要求の場合には、全ての入出力ユニ
ットにこのアクセス要求を部分放送する。
【0019】
【発明の実施の形態】以下、本発明に係るマルチプロセ
ッサを図面に示したいくつかの実施の形態を参照してさ
らに詳細に説明する。なお、以下においては、同じ参照
番号は同じものもしくは類似のものを表わすものとす
る。
【0020】<発明の実施の形態1> (装置構成の概略)図1は、本発明に係るマルチプロセ
ッサシステムの第1の実施の形態を示す。図において、
2−0から2−3はプロセッサユニットであり、3−0
と3−1はメモリユニットであり、複数のプロセッサユ
ニット2−0から2−3により共有される主記憶の一部
を構成する複数の主記憶部分がこれらのメモリユニット
に分散して保持される。4−0ないし4−1は入出力ユ
ニットであり、それぞれ複数の入出力装置、たとえば、
ディスク装置10−0−1ないし10−0−2および1
0−1−1ないし10−1−2に接続されている。これ
らの入出力ユニットには、他の入出力装置、たとえば、
回線接続装置(図示せず)等も接続されている。1は、
ブロセッサユニット2−0ないし2−3、メモリユニッ
ト3−0ないし3−1、入出力ユニット4−0ないし4
−1を相互に接続し、これらの間でのトランザクション
と呼ぶひとかたまりのデータを複数個並列に転送可能な
インタコネクトネットワークであり、本実施の形態では
その一例としてクロスバスイッチを使用する。
【0021】各プロセッサユニット2−i(i=0,
1,2または3)は、同一の構造を有し、それぞれ1台
以上のプロセッサ(Proc)9−i−1および9−i
−2(i=0,1,,,)を内蔵する。主記憶に対する
キャッシュメモリ6−iとキャッシュ制御5−iとを含
む。各プロセッサ内には、キャッシュメモリ5−0より
も高速で容量の小さいプロセッサキャッシュ(図示せ
ず)が内蔵されている。本実施の形態では、このプロセ
ッサキャッシュとキャッシュメモリ6−iはいずれもス
トアイン方式のキャッシュであると仮定する。また、こ
れらのキャッシュのキャッシュブロックの大きさは32
バイトであると仮定する。各プロセッサユニット2−i
には、さらに、ネットワーク1との間でデータを交換す
るための送信部7−iおよび受信部8−iがある。
【0022】各メモリユニット3−0または3−1は同
一の構造を有し、メモリバンク11−0または11−
1、送信部7−4または7−5および受信部8−4また
は8−5がある。メモリバンク11−0と11−1が主
記憶を構成し、本実施の形態では、メモリアドレスは、
32ビットであり、これらのメモリバンクからのデータ
の読み出しあるいは書き込み単位は、キャッシュブロッ
クサイズ32ビットに等しく、さらに、これらのメモリ
バンクは、32バイトを単位にしてインタリーブされて
いると仮定する。
【0023】入出力ユニット4−0ないし4−1には、
それぞれ入出力アダプタ13−0または13−1、送信
部7−6または7−7および受信部8−6または8−7
がある。入出力アダプタ13−0は、クロスバスイッチ
1から受信した信号をディスク装置10−0−1ないし
10−0−2等が受信可能な信号に変換し、あるいは逆
に、ディスク装置10−0−1ないし10−0−2等か
ら受信した信号を、クロスバスイッチ1が受信可能な信
号に変換する回路である。
【0024】これらのメモリユニット3−0または3−
1内の送信部7−4と7−5あるいはこれらの入出力ユ
ニット4−0または4−1内の送信部7−6または7−
7の構造は、プロセッサユニット2−0内の送信部7−
0と同一である。同様に、これらの入出力ユニットとメ
モリユニット内の受信部8−4から8−7の構造も、プ
ロセッサユニット2ー0内の受信部6−0と同一であ
る。なお、図1では、簡単化のためメモリユニット3−
1、入出力ユニット4−1の内部構成は図示していな
い。
【0025】プロセッサユニット2−0ないし2−3、
メモリユニット3−0ないし3−1、入出力ユニット4
−0ないし4−1、ディスク装置10−0−1ないし1
0−1−2等の入出力装置には、従来技術によるマルチ
プロセッサシステムと同様に、これらを制御するための
メモリマップドレジスタ(図示せず)があり、これらの
レジスタは、主記憶が属するのと同じアドレス空間にマ
ップされている。いわゆるメモリマップドI/O方式が
本実施の形態でも採用されている。
【0026】本実施の形態では、キャッシング可能な主
記憶データへのアクセス要求がいずれかのプロセッサユ
ニットで発生したとき、そのデータがそのプロセッサユ
ニット内のキャッシュに保持されていないときに、他の
全てのユニットの内、主記憶に対するキャッシュを含ん
でいるプロセッサユニットおよびそのデータを保持して
いる一つのメモリユニットのみに、アクセス要求をクロ
スバスイッチ1を介して部分放送し、他のメモリユニッ
トおよび全ての入出力ユニットには、このアクセス要求
を送付しないように、各プロセッサユニットの送信部7
−i内に送信先決定回路を設けた。これにより、キャッ
シュ一致制御の動作を各プロセッサユニットで並行して
行うことを可能にし、しかも、それに関与しないユニッ
トにはこの要求を送らないことにより、これらの他のユ
ニットがこのアクセス要求の転送と並行して、クロスバ
スイッチ1により他の通信を行えるようにした。すなわ
ち、このアクセス要求の転送の間もクロスバスイッチ1
の並列転送能力を利用できるようにした。
【0027】さらに、入出力装置内のメモリマップドレ
ジスタをアクセスするアクセス要求がいずれかのプロセ
ッサユニットで発生したとき、他の全てのユニットの
内、入出力ユニットの全てにアクセス要求をクロスバス
イッチ1を介して部分放送し、他のユニットには、この
アクセス要求を送付しないように、各プロセッサユニッ
トの送信部7−i内に送信先決定回路がこのアクセス要
求の送付先を決定する回路を設け、各入出力ユニットに
接続された入出力装置内には、このアクセス要求が指定
するアドレスを割り当てられたレジスタを有するか否か
を判断する回路を設けた。これにより、入出力装置内の
メモリマップドレジスタへ実際に割り当てられたアドレ
スが変更されても、それに関係なく、アクセス要求で指
定されたアドレスを有するメモリマップドレジスタをア
クセスできる。しかも、入出力ユニットユニット以外の
ユニットにはこの要求を送らないことにより、これらの
他のユニットがこのアクセス要求の転送と並行して、ク
ロスバスイッチ1により他の通信を行えるようにした。
すなわち、このアクセス要求の転送の間もクロスバスイ
ッチ1の並列転送能力を利用できるようにした。
【0028】さらに、プロセッサユニット、メモリユニ
ットあるいは入出力ユニットのいずかれに属するメモリ
マップドレジスタをアクセスするアクセス要求がいずれ
かのプロセッサユニットで発生したとき、全てのユニッ
トにこのアクセス要求をクロスバスイッチ1を介して放
送するようにした。これにより、このようなアクセス要
求の送付先を決める回路を簡単化した。このようなレジ
スタへのアクセスの回数は小さいので、このような放送
による弊害が少ないことを利用した。
【0029】(アドレス空間の構造)図4は、本実施の
形態で採用するアドレス空間の例を示している。本実施
の形態では、このアドレス空間は32ビットのアドレス
で構成されると仮定している。このアドレス空間は3つ
の領域に区分されている。
【0030】00000000番地からDFFFFFF
F番地までの最初の領域100aには、メモリユニット
3−0および3−1にあるメモリバンク11−0および
11−1によって構成される主記憶がマッピングされて
いる。メモリバンク11−0および11−1はキャッシ
ュブロックの大きさに相当する32バイトを単位にイン
タリーブされている。例えば、0番地から31番地まで
はメモリバンク11−0に、32番地から63番地まで
はメモリバンク11−1にマッピングされている。した
がって、この領域のアドレスは、32バイト毎に、メモ
リユニット3−0と3−1に交互に割り当てられてい
る。なお、この領域には、キャッシュにデータが保持さ
れるキャッシング可能領域とそうでないキャッシング不
可能領域があり、これらの領域の設定はいずれかのプロ
セッサユニットで実行されるプログラムにより行なわれ
る。
【0031】E0000000番地からEFFFFFF
F番地までの第2の領域100bには、プロセッサユニ
ット2−0ないし2−3、メモリユニット3−0ないし
3−1、入出力ユニット4−0ないし4−1内に設けら
れたメモリマップドレジスタがマッピングされている。
この領域はキャッシング不可能領域である。この領域内
のアドレスのレジスタへのマッピングは、メモリバンク
のようなインタリーブではない。すなわち、この第2の
領域100bを、それぞれ連続するアドレスを有する複
数の部分領域に分け、それぞれの部分領域を同一のユニ
ット内のメモリマップドレジスタに割り当てる。但し、
同一のユニット内の複数のレジスタが、この領域内の複
数の連続する領域に分散してマッピングされてもよい。
なお、複数プロセッサへの割込み通知等のため、この領
域内の同一のアドレスを異なるユニットに属する複数の
メモリマップドレジスタに割り当てても構わない。
【0032】各ユニットが占める部分領域の指定は、そ
れ自体公知のいろいろの方法を使用できる。たとえば、
各ユニットが使用する部分領域は、そのユニットに設け
られたDIPスイッチやジャンパ線にて指定し、あるい
は、各ユニットが実装されるプリント板がバックプレー
ンから受ける固定信号にて指定する。あるいは、各ユニ
ットが使用する部分領域の上限アドレスと下限アドレス
とを示すレジスタを各ユニットに用意し、これにサービ
スプロセッサがこれらのアドレスをスキャンインによっ
て設定することもできる。
【0033】アドレス空間のうち、F0000000番
地からFFFFFFFF番地までの第3の領域100c
は、入出力ユニット4−0ないし4−1内の入出力アダ
プタ13−0ないし13−1に接続されたディスク装置
10−0−1ないし10−1−2や回線接続装置(図示
せず)等の入出力装置内に設けられた複数のレジスタに
割り当てられる。この領域もキャッシング不可能領域で
ある。これらのレジスタへのアドレス設定についても、
上述のような従来から用いられている方法を使用でき
る。しかし、これらの入出力装置内に設けられたメモリ
マップドレジスタへのアドレスの割り当ては、接続する
入出力装置の種類や数に依存し、ユーザによるシステム
の使用開始時にあるいは使用開始後にそれらの入出力装
置の種類や数あるいはそれらが接続される入出力ユニッ
トが変更されるという構成変更があり得る。この場合、
構成変更毎に、各メモリマップドレジスタに割り当てら
れるアドレスを変更する必要がある。
【0034】あるプロセッサユニット、たとえば、2−
0において、その中のプロセッサ、たとえば、9−0−
1内にて、主記憶あるいはメモリマップドレジスタへの
アクセス要求が発生した場合、このマルチプロセッサシ
ステムの動作は、そのアクセス要求が下記のデータのい
ずれへのアクセスを要するか否かにより変わる。
【0035】(1)主記憶内のキャッシング可能なデー
タ、 (2)入出力装置内のメモリマップドレジスタに保持さ
れたデータ (3)プロセッサユニット、メモリユニット、入出力ユ
ニット内のメモリマップドレジスタに保持されたデータ (4)主記憶内のキャッシング不可能なデータ 以下、これらの場合に分けて、装置の動作を説明する。
【0036】(装置動作1)ーキャッシング可能なデー
タに対するアクセス (プロセッサユニットの動作1)ーCReadトランザ
クションの送出 プロセッサ9−0−1内には、プロセッサキャッシュ
(図示せず)が含まれ、このアクセス要求が指定するデ
ータに対して、プロセッサ9−0−1内でこのキャッシ
ュに対してまずヒットチェックがなされ、このキャッシ
ュがヒットすれば、ヒットしたデータがそのプロセッサ
でアクセスされる。このキャッシュがヒットしなかった
時には、プロセッサ9−0−1は、そのアクセス要求が
読み出し要求か書き込み要求かによらないで、キャッシ
ュ制御5−0に読み出し要求を送る。この読み出し要求
は、アクセスすべきデータのアドレスと、そのアドレス
がキャッシング可能なデータに対するものであるかを示
す信号を含む。このキャッシュ制御5−0は、キャッシ
ュ6−0に対してヒットチェックを行う。このキャッシ
ュがヒットした場合には、キャッシュ制御5−0は、ヒ
ットしたブロックをプロセッサ9−0−1に送る。プロ
セッサユニットの以上の動作はそれ自体公知である。ヒ
ットしなかった場合には、キャッシュ制御5−0は、以
下のようにして、他のプロセッサユニット2−1から2
−4と、いずれかのメモリユニット3−0または3−1
にCRead(キャッシュリード)トランザクションを
生成して、送信部7−0に送る。
【0037】図2(a)は、上述のCReadトランザ
クションのごとくReadタイプのトランザクションの
フォーマットを示す。このトランザクションは8バイト
の線の上を1サイクルで転送される。このトランザクシ
ョンの第1バイトにはTYPEフィールドがあり、この
トランザクションがCReadあるいは他のReadで
あることを示す値が格納される。第2バイトは空きであ
るが、後にポート番号が組み込まれるフィールドであ
る。第3ないし第4バイトには、MISCフィールドが
あり、クロスバスイッチ1では用いないが、このトラン
ザクションを受理したユニットが使用する制御情報が格
納される。第5ないし第8バイトにはADDRESSフ
ィールドがあり、このトランザクションでアクセスする
アドレスが格納されている。
【0038】図6は、送信部7−i(i=0、
1、、、)の内部の構成を示す。この回路は送信先決定
回路70−iとトランザクション組立回路72−iとを
有する。トランザクション組立回路72−iは、クロス
バスイッチ1に供給すべき完成されたトランザクション
を生成する回路である。すなわち、24は自ポート番号
発生回路であり、クロスバスイッチ1の複数の入力ポー
トの内、その送信部が接続されている入力ポートの番号
を生成する回路である。この回路は、DIPスイッチや
ジャンパ線にて自ポートの番号を発生するような回路で
あってもよいし、サービスプロセッサ(SVP)(図示
せず)等によりシステム立ち上げ時にスキャンインされ
るレジスタのような回路であってもよい。マージ回路2
5は、線d−iを介してキャッシュ制御5−0から供給
されるトランザクション内の第2バイトフィールドに回
路24により供給される自ポート番号を埋め込むことに
より、完成されたトランザクションを生成し、線bーi
を介してクロスバスイッチ1に供給する。
【0039】送信先決定回路70−iは、この完成され
たトランザクションを送出すべき一つまたは複数の送出
先を決定する回路である。この決定は、トランザクショ
ンの種類とそこに含まれるアドレスの値に基づいて行わ
れる。今仮定しているキャッシュリードトランザクショ
ンCReadの場合には、送信先決定回路70−iは、
全プロセッサユニットと、そのトランザクションに含ま
れるアドレスが割り当てられているいずれか一つのメモ
リユニットを複数の送出先として決定する。
【0040】図5は、図2あるいは図3で示したトラン
ザクションのADDRESSフィールドの詳細を示す図
である。32ビットのアドレスフィールドのうち、ビッ
ト0ないし3の値を調べることによって、当該アドレス
が図4に示した「主記憶」、「クロスバスイッチに直結
するユニットのメモリマップドレジスタ」、あるいは、
「入出力ユニットを経由してクロスバスイッチに接続さ
れる入出力装置のメモリマップドレジスタ」のいずれか
であるかを判定することが可能である。また、ビット2
6が0であるか1であるかに応じて、「主記憶」へのア
クセスがメモリユニット3−0へのアクセスであるか、
メモリユニット3−1へのアクセスであるかを判定でき
る。
【0041】図6において、22は、このことを用い
て、トランザクションが指定するアドレスが、図4に示
すアドレス空間の領域100aから100cのいずれの
領域に属するかを判定するためのデコーダであり、線d
−iから入力されたトランザクションのADDRESS
フィールドのうちビット0ないしビット3の内容をデコ
ードする。同様に、23はアドレスが領域100aに属
する場合において、そのアドレスがいずれのメモリユニ
ットに属するかを判別するためのデコーダであり、線d
−iから入力されたトランザクションのADDRESS
フィールドのうちビット26の内容をデコードする。2
1はトランザクションの種別を判別するためのデコーダ
であり、線d−iから入力されたトランザクションのT
YPEフィールドをデコードする。
【0042】37−0ないし37−5はパターン発生回
路であり、それぞれに対する入力が値1を有すると、そ
れぞれ11111000、11110100、0000
1000、00000100、11111111、00
000011なる8ビットのビットパターンを出力す
る。ここで、このビットパターンは、クロスバスイッチ
1の出力ポート0から7に対応する8ビットからなり、
各ビットの値が1の時には、そのビットに対応する出力
ポートにトランザクションを転送すべきことを指示す
る。パターン発生回路37−0の出力パターンのごと
く、複数のビットの値が1で他の複数のビットが0であ
るパターンは、それらの値1のビットに対応する複数の
出力ポートにトランザクションを並列に転送すること、
すなわち、そのトランザクションを部分放送することを
指示する。パターン発生回路37−4の出力パターンの
ごとく、全ビットの値が1であるパターンは、全ての出
力ポートにトランザクションを並列に転送すること、す
なわち、そのトランザクションを放送することを指示す
る。AND回路28ないし、33、OR回路34ないし
36は、デコーダ21から23の出力の値の組み合わせ
に応じて、パターン発生回路37−0から37−5を選
択的に起動する。26はこれらのパターン発生回路37
−0〜37ー7から供給される複数のビットパターンを
マージする回路で、それらのビットパターンの対応する
ビットのORからなる値を有する新たな8ビットのビッ
トパターンを生成し、転送要求信号REQ[0−7]と
して線a−iを介してクロスバスイッチ1に供給する。
同時に、線b−i上のトランザクションと線a−i上の
転送要求信号REQ[0−7]の取り込みを指示するタ
イミング信号であるコマンドを線x−iを介してクロス
バスイッチ1に供給する。この転送要求信号REQ[0
−7]も8個の出力ポートにそれぞれ対応する8ビット
からなり、値1のビットに対応する出力ポートに対して
トランザクションを転送すべきことをクロスバスイッチ
に要求する。なお、デコーダ27は、デコーダ21でデ
コードされたトランザクションが、後述するように、他
のユニットから転送されたトランザクションに対する応
答であるReturnトランザクションであるときに使
用される。その詳細は後に説明する。図7は、送信先決
定回路70−iに対するいろいろの入力信号の値と、こ
の回路により発生される転送要求信号REQ[0−7]
の各ビットの値との関係を説明する図である。図中、*
はdon’t careを表す。
【0043】今仮定しているキャッシュリードトランザ
クションCReadの場合には、デコーダ21のCRe
ad出力が1となり、デコーダ22の0〜D出力が1と
なる。デコーダ23の0出力あるいは1出力の一方が1
となる。この結果、AND回路28と29のいずれか一
方の出力が1となり、パターン発生回路37ー0と37
ー1の一方がとが起動される。たとえば、パターン発生
回路37ー0が起動された場合、全てのプロセッサユニ
ットと、メモリユニット3−0が送出先として決定され
る。なお、本実施の形態では、キャッシング可能なデー
タは主記憶領域内のみに存在するので、デコーダ21に
よりTYPEがCReadであることをデコードすれ
ば、デコーダ22によるアドレスビット0ないしビット
3の値をデコードする必要は必ずしもない。しかし、プ
ログラムエラーが起こることを考えて、CReadトラ
ンザクションの場合もデコーダ22によるデコード結果
も、送出先の決定に使用している。
【0044】(クロスバスイッチの動作)クロスバスイ
ッチ1は、いろいろのユニットから送出されたトランザ
クションを、それらのトランザクションに対応してそれ
らのユニットから供給される転送要求信号が指定する一
つまたは複数の送出先に転送する。本実施の形態のクロ
スバスイッチは、任意の数の任意の送出先の組合わせに
対しても同じトランザクションを並列に転送できるよう
に構成されている。さらに、複数の送出先への送付は、
互いに独立に実行されるようになっている。すなわち、
いずれかの送出先への送出が出来ないときでも、他の送
出先が送出可能であるならば、それらの送出可能な送出
先にトランザクションを送出するようになっている。
【0045】図9はクロスバスイッチ1の内部の構成を
示す。簡単のため、図9にはクロスバスイッチ1の構成
要素の一部のみを示してある。クロスバスイッチ1には
図示のとおり、入力ポート51−0ないし51−7と、
出力ポート52−0ないし52−7がある。図1では、
同じ番号の入力ポートと出力ポートの組をポート0ない
し7として示した。入力ポート51−0ないし51−7
には、それぞれリクエスト制御53−0ないし53−7
があり、それぞれ線a−0ないしa−7を経由して転送
要求信号REQ[0−7]を入力する。リクエスト制御
53−0ないし53−7はすべて同一の内部構成になっ
ている。また、入力ポート51−0ないし51−7に
は、それぞれトランザクションレジスタ54−0ないし
54−7があり、それぞれ線b−0ないしb−7から入
力されるトランザクションを保持する。各入力ポートの
リクエスト制御、たとえば53−0、とトランザクショ
ンレジスタ、たとえば、54ー0、には、線xー0を介
してコマンド信号が入力され、REQレジスタ61とト
ランザクションレジスタ54ー0は、このコマンドに応
答して、それぞれ転送要求信号REQ[0−7]とトラ
ンザクションを取り込むように構成されている。出力ポ
ート52−0ないし52−7には、それぞれ調停回路5
5−0ないし55−7と、選択回路56−0ないし56
−7がある。選択回路56−0ないし56−7の出力信
号は、それぞれ線c−0ないしc−7に接続されてい
る。
【0046】図10はリクエスト制御53−i(i=0
〜7)の代表として、53−0の内部構成を示してい
る。図中、61は8ビット幅のREQレジスタであり、
ビット0ないし7が、それぞれ線a−0を経由して入力
されるREQ[0]ないしREQ[7]信号を、線x−
0を介して供給されるコマンドに応答して格納する。各
ビットからは信号r00、r01、r02、r03、r
04、r05、r06、r07が出力され、それぞれが
調停回路55−0ないし55−7に接続されている。6
2ないし69はAND−OR回路である。60はAND
回路である。また、調停回路55−0ないし55−7か
らは、それぞれ信号g00、g01、g02、g03、
g04、g05、g06、g07が出力されており、A
ND−OR回路62ないし69に入力されている。リク
エスト制御53−1ないし53−7の構成および調停回
路との接続関係も同様である。
【0047】今仮定にしたがって、入力ボート0から線
a−0と線b−0を経由してREQ[0−7]信号とト
ランザクョンが入力されると、これらはそれぞれREQ
レジスタ61とトランザクションレジスタ54−0に格
納される。するとREQレジスタ61に格納されたRE
Q[0−7]の値は、それぞれ調停要求のための信号r
00ないしr07として調停回路55−0ないし55−
7に伝達される。また、トランザクションレジスタ54
−0に格納されたトランザクションは線t0を経由して
選択回路56−0ないし56−7に伝達される。調停回
路55−0ないし55−7のうち、信号r00ないしr
07として信号の値1を伝達された調停回路は、他の入
力ポート51−1ないし51−7から入力される信号r
11等との調停を行ない、入力ポート51−0からの調
停要求が満たされると調停完了を表す信号g00、g0
1等を入力ポート51−0に送る。また、同一の出力ポ
ートにある選択回路に指示をして線t0から入力されて
いるトランザクョンを線c−0ないしc−7に出力させ
る。また、リクエスト制御53−0では、AND−OR
回路62ないし69とAND回路60によって、調停要
求のための信号として値1の信号を送ったすべての調停
回路から調停完了を表す信号g00、g01等が送られ
てきたことを検出して信号res0を生成する。この信
号はREQレジスタ61およびトランザクョンレジスタ
54−0に伝達される。この信号を受けたREQレジス
タ61およびトランザクョンレジスタ54−0は、レジ
スタの内容をクリアして、次のREQ[0−7]信号お
よびトランザクションを受信可能になる。このようにし
て、所望のユニットにトランザクョンの転送が完了す
る。今の仮定では、転送要求信号REQ[0−7]は、
1111100(あるいは11110100)であるた
めに、入力ポート0から入力されたCReadトランザ
クションは、出力ポート0から4(あるいは出力ポート
0ー3と5)に並列に転送される。
【0048】以上の動作から分かるように、本実施の形
態では、トランザクションCReadの場合のごとく、
トランザクションを全てのユニットの放送するのではな
く、一部のユニット(全てのプロセッサユニットと一つ
のメモリユニット)に部分放送するので、クロスバスイ
ッチ1は、このトランザクションの部分放送と並行し
て、このトランザクションの送信元(今の仮定では、プ
ロセッサユニット2−0)以外のユニットから他のトラ
ンザクションをこのトランザクションを放送されない他
のユニットに転送することが出来る。とくにトランザク
ションCReadを部分放送する場合、ネットワーク
は、各入出力ユニット4−0あるいは4−1は、そこに
接続された入出力装置内のアクセスを要求するトランザ
クションをトランザクションCReadの部分放送と並
行して転送することが出来る。したがって、本実施の形
態では、ネットワークの並列転送能力を生かすことが出
来る。さらに、転送要求信号REQ[0−7]は出力ポ
ート信号に対応したビットからなり、各ビットは、対応
する出力ポートの調停回路に供給されるため、本実施の
形態ではネットワークは、任意の数の任意の送出先の組
み合わせに対して同じトランザクションを並列に送出す
るか否かを簡単に制御することができる。さらに、各出
力ポート毎に、その出力ポートに対応する転送要求ビッ
トに基づいて調停を行い、各出力ポートでの調停結果に
依存し、しかし、他の出力ポートでの調停結果に依存し
ないで、各出力ポートへの同じトランザクションの転送
を制御するために、いずれかの出力ポートで調停により
上記トランザクションの調停が成功しない場合において
も、調停が成功したが他の出力ポートにそのトランザク
ションを転送できる。したがって、全体として、同じト
ランザクションを複数の出力ポートに転送するのを高速
化出来る。
【0049】(プロセッサユニットの動作2)ーCRe
adトランザクションへの応答 クロスバスイッチ1によりトランザクションが、各プロ
セッサユニットに送出されると、各プロセッサユニット
は、このトランザクションを受信し、このトランザクシ
ョンを、その種別とそこに含まれているアドレスの値に
応じて処理する。
【0050】図8は受信部8−i(i=0、1、、)の
内部の構成を示す。図中、トランザクション分解回路4
2は、クロスバスイッチ1から線c−iを介して入力さ
れたトランザクション内のPORTフィールドをPOR
Tレジスタ41に格納する。また、線c−iから入力さ
れたトランザクションのうち、PORT番号フィールド
以外を線e−iを介してキャッシュ制御5−2に送出す
る。なお、後述するように、受信したトランザクション
がReturnトランザクョンの場合、そのPORTフ
ィールドは未使用であり、これに相当する部分に任意の
値が格納されている可能性があるが、トランザクション
分解回路42は、構わずこの値をPORT番号レジスタ
41に格納する。また、なお、キャッシュ制御5−2
は、各トランザクションをトランザクション組立回路4
2から受信する毎に、線f−iを介してPORTレジス
タ41の内容をクリアするようになっている。
【0051】このトランザクションが今仮定しているC
Readトランザクションの場合には、各プロセッサユ
ニットでは、キャッシュ制御5−0が、キャッシュ一致
制御のための動作を行うように構成されている。キャッ
シュ一致制御のためにはいろいろの方法を採用できる
が、本実施の形態では、比較的簡単な方法として以下の
方法を採る。すなわち、CReadトランザクションに
含まれたアドレスのブロックに関するヒットチェックと
ヒットした場合には、そのブロックが主記憶から読み出
された後に、更新されたか否か(すなわち、そのブロッ
クがDirtyか否か)をそのプロセッサユニット、た
とえば2−1内のキャッシュ6−0に関して行う。この
ためにキャッシュ内の各ブロックに関する状態情報とし
てそのブロックがDirtyか否かの情報を有してい
る。各ヒットチェックの結果、ヒットが検出されなかっ
たときには、線f−0を経由してリセット信号を受信部
8−1内のPORTレジスタ41に送り、PORTレジ
スタ41をクリアする。その結果、受信部8−1は、次
のトランザクョンを受信できるようになる。その後は何
もしない。ヒットチェックの結果、もしヒットが検出さ
れると、そのブロックがDirtyか否かをそのブロッ
クに対応して記憶している状態情報(Dirty)に基
づいて判定し、もしそのブロックが主記憶から読み出さ
れた後に更新されていない(Cleanである)ときに
は、ヒットしなかった場合と同様の処理をする。しか
し、ヒットチェックの結果、ヒットし、かつ、そのヒッ
トしたブロックがDirtyであるときには、そのブロ
ックをCReadトランザクションの送信元プロセッサ
ユニット、今の仮定では、2−0に転送するために、図
2(c)に示すフォーマットのリターン(Retur
n)トランザクションを生成し、送信部7−1に複数の
サイクルの間にわたって送る。さらに、キャッシュ6−
0内のヒットブロックを無効にする。
【0052】送信部7−1では、デコーダ27には、受
信部8−1から線g−iを介して、受信したCRead
トランザクション内のポートの番号が供給されている。
今の仮定では、このポート番号は、CReadトランザ
クションの送信元のプロセッサユニットが接続されてい
るクロスバスイッチ1内のポートの番号である。デコー
ダ21がこのトランザクションを解読すると、デコーダ
27が、線g−iから値入力される、送出元のポート番
号の値が0ないし7であるのに応じて、それぞれ100
00000、01000000、00100000、0
0010000、00001000、0000010
0、00000010、00000001なるビットパ
ターンをマージ回路26に出力する。今の例では、送信
元のプロセッサユニットが2−0であり、それに割り当
てられたクロスバスイッチのポート番号は0であるの
で、デコーダ27は10000000からなるビットパ
ターンを生成する。このビットパターンは、生成された
Returnトランザクションをクロスバスイッチ1の
ポート番号0の出力すべきことを指示する。このトラン
ザクションは、クロスバスイッチ1により、CRead
トランザクションの送信元のプロセッサユニット2−0
に転送される。そこでは、キャッシュ制御5−0がこの
トランザクションに含まれたブロックをキャッシュ6−
0内に書き込み、さらに、先に読み出し要求を発行した
プロセッサ9−0−1または9−0−2に転送する。そ
のプロセッサは、そのプロセッサ内のキャッシュにその
ブロックを書き込むとともに、そのプロセッサが指定し
たデータ部分をこのブロックから切り出し、そのプロセ
ッサ内の処理回路に送る。
【0053】(メモリユニットの動作)CReadトラ
ンザクションを受信したメモリユニット、たとえば3−
0内のメモリバンク11−0は、いずれかのプロセッサ
ユニットにおいて、先のキャッシュヒットが検出され、
されに、ヒットしたブロックがDirtyであることが
検出されたときには、受信したCReadトランザクシ
ョンに応答しないように構成されている。そうでないと
きには、受信したCReadトランザクションに応答し
て、Returnトランザクションを生成するようにな
っている。そのトランザクションのプロセッサ2−0へ
の返送はプロセッサ2−1へ返送する場合と同様にして
行われる。このメモリユニットの動作も、キャッシュ一
致制御の他の動作の一部と考えることが出来る。
【0054】以上のごとくにして、キャッシング可能な
データに対するアクセス要求を、全てのプロセッサユニ
ットと関係するメモリユニットのみにクロスバスイッチ
により部分放送することが出来る。さらに、そのデータ
を保持するキャッシュもしくはメモリユニットからその
データを要求元のプロセッサユニットに送出し、さら
に、複数のキャッシュ間の一致制御を実行できる、 (装置動作2)ー入出力装置内のメモリマップドレジス
タへのアクセス これらのレジスタには、図4の領域100cが割り当て
られている。本実施の形態では、この領域が割り当てら
れたいずれのメモリマップドレジスタに保持されたデー
タもキャッシング不可能と仮定している。したがって、
これらのレジスタのいずれかに保持されたデータの読み
出しにはCReadトランザクションと異なる、ノンキ
ャッシュリード(NRead)トランザクションを用い
る。キャッシュ制御、たとえば5−0、が生成するNR
eadトランザクションのフォーマットおよび送信部た
とえば7−0で完成された後のNReadトランザクシ
ョンのフォーマットは、CReadトランザクションと
同じであり、これらはTypeフィールドの値のみが異
なる。また、このようなメモリマップドレジスタへのデ
ータの書き込みには、ノンキャッシュライト(NWri
te)トランザクションを使用する。キャッシュ制御、
たとえば5−0、が生成するNWriteトランザクシ
ョンのフォーマットおよび送信部たとえば7−0で完成
された後のNWriteトランザクションのフォーマッ
トは、それぞれ図2(b)および図3(b)に示す通り
であり、書き込むべきデータが含まれている。
【0055】さて、図4の領域100cが割り当てられ
ているいずれのメモリマップドレジスタ内のデータもキ
ャッシング不可能であるので、これらのメモリマップド
レジスタのいずれかをアクセスするときには、そのレジ
スタが含まれる入出力装置10−0−1などに接続され
た入出力ユニット4−0または4−1にNRead(あ
るいはNWrite)トランザクションを送付すればよ
い。しかし、本実施の形態では、これらのレジスタのア
クセスに当たっては、全ての入出力ユニット4−0およ
び4−1にNRead(あるいはNWrite)トラン
ザクションを送り、各ユニットに接続された入出力装置
内で、そのトランザクションが指定するアドレスのレジ
スタがその入出力装置に含まれているか否かを判定する
ようになっている。その理由は以下の通りである。
【0056】すなわち、入出力ユニット4−0ないし4
−1を介して接続する入出力装置は、本実施例に係るマ
ルチプロセッサを出荷した後にも随時増設等の構成変更
がありうる。ここで、送信部7−0ないし7−7に、実
際にこのトランザクションを受理すべき入出力ユニット
を特定するための回路を設けたとする。すると、入出力
装置の構成変更のためこのアドレス領域へのメモリマッ
プドレジスタのマッピングが変更されるたびにこの回路
をDIPスイッチ等により調整するか、オペレーティン
グシステムの起動時にこの回路をソフトウェア的に毎回
初期設定できるようにする必要がある。前者の方法はユ
ーザ自身による入出力装置の構成変更が困難になるとい
う問題点がある。後者の方法では、このような回路を初
期設定するためのプログラムをオペレーティングシステ
ムに追加しなければならないという問題点がある。この
ために、上述のように全ての入出力ユニットにトランザ
クションを転送することにより、上述の問題点がなくな
る。なお、このアドレス領域100cに設けられるメモ
リマップドレジスタは、主に入出力装置10−0−1等
の起動やステータス表示などに用いられ、通常のメモリ
アクセスに比べアクセス頻度が低いという性質がある。
そのため、このトランザクションを受理する可能性があ
るユニット、すなわち、全ての入出力ユニット4−0な
いし4−1に対してトランザクションを転送(部分放
送)してもシステムの性能はそれほど低下しない。さら
に、全ての入出力ユニット4−0ないし4−1に対して
これらのトランザクションを送出する方が、送出先を決
める回路がより簡単になるという利点もある。しかも、
他のプロセッサユニット等には送付しないので、クロス
バスイッチの並列転送能力を低下させることが少ない。
【0057】さて、これらのトランザクションの送信先
の決定は、以下のようにされる。図6の送信部7−i内
の送信先決定回路70−iでは、デコーダ21がNRe
adあるいはNwriteトランザクションを解読し、
デコーダ22が、このトランザクション内のアドレスが
領域100cに属することを検出したときに、OR回路
36とAND回路33がパターン生成回路37−5を起
動する。この回路37−5は、全ての入出力装置をトラ
ンザクションの送信先として指定するパターンを生成す
る。この結果、このトランザクションは、入出力ユニッ
ト4−0、4−1に送られる。
【0058】入出力ユニット4−0およびディスク装置
10−0−1の動作を説明する。入出力ユニット4−0
では、受信部8−6は、クロスバスイッチ1から線c−
6を経由して送付されたNReadあるいはNwrit
eトランザクョンを受信すると、入出力アダプタ13−
0にこのトランザクションのPORT番号以外を線eー
6を介して送付する。
【0059】図16は入出力アダプタ13−0とディス
ク装置10−0−1の構成を示す。入出力アダプタ13
−0では、線e−6から入力されたトランザクションの
PORTフィールド以外の部分を入力レジスタ201に
格納する。格納された値のうち、トランザクションのT
YPE、MISCおよびADDRESSフィールドをデ
コーダ203に入力し、デコーダ203は、このトラン
ザクションの種類とアクセス先を判定する。
【0060】入力されたトランザクションがバスhに接
続するディスク装置10−0−1等の入出力装置にある
メモリマップドレジスタのアドレスを含むNReadと
NWriteである場合、または、これらの入出力装置
がトランザクション組立回路263にて生成し、選択回
路257、バスhおよび選択回路207を経由してメモ
リユニット3−0または3−1に送付していたNRea
dへのReturnトランザクションである場合には、
デコーダ203は線L04を介して出力レジスタに信号
を送り、入力レジスタ201に保持された値を出力レジ
スタ202に転送させ、これをバスhに出力させる。
【0061】251は入力レジスタ、253はデコーダ
である。254および255はディスク装置10−0−
1に設けられたメモリマップドレジスタのRegCおよ
びRegDである。RegC254は、ここに設定され
た値によってディスク装置10−0−1の動作が制御さ
れるようなレジスタであり、図には1個のみ示されてい
るが複数あっても構わない。なお、ここに設定された値
によってディスク装置10−0−1の動作が制御される
ための信号線としてL18を例示してある。RegD2
55は、ディスク装置10−0−1の内部状態を保持す
るレジスタであり、図には1個のみ示されているが複数
あっても構わない。内部状態をこのレジスタに入力する
ための信号線としてはL17を例示してある。また、2
56はReturnトランザクション組立回路、257
は選択回路である。
【0062】261はディスク制御回路、262はディ
スクドライブ、263はトランザクション組立回路であ
る。ディスク制御回路261は、ディスクドライブの制
御回路およびDMA(Direct Memory A
ccess)制御回路を含み、ディスク制御回路261
に入力された値をディスクドライブ262に書き込んだ
り、ディスクドライブ262から読み出した値をトラン
ザクション組立回路263によってトランザクションに
して出力する回路であり、公知技術にて構成される。
【0063】出力レジスタ202に保持された値がバス
hに出力されるとディスク装置10−0−1は、これを
入力レジスタ251に格納する。格納された値のうち、
トランザクションのTYPE、MISCおよびADDR
ESSフィールドをデコーダ253に入力し、デコーダ
253はこのトランザクションの種類とアクセス先を判
定する。
【0064】入力されたトランザクションが、RegD
(255)のアドレスを指定したNReadであった場
合には、デコーダ253が線L12を介してRegD
(255)に読みだし信号を送出する。するとRegD
(255)は線L16を介して保持している値をRet
urnトランザクション組立回路256に出力する。一
方、デコーダ253は線L13を介してReturnト
ランザクション組立回路256および選択回路257に
信号を送り、RegD(255)から読み出された値を
Returnトランザクションに組立て、バスhに出力
させる。このトランザクションはさらに選択回路207
を経由して線d−6に出力される。
【0065】入力されたトランザクションが、RegC
(254)のアドレスを指定したNWriteであった
場合には、デコーダ253が線L11を介してRegC
(254)に書き込み信号を送出する。するとRegC
(254)は入力レジスタ251に保持されている書き
込みデータを取り込んで保持する。
【0066】入力されたトランザクションが、ディスク
制御回路261がトランザクション組立回路263にて
生成し、選択回路257、バスhおよび選択回路207
を経由してメモリユニット3−0または3−1に送付し
ていたNReadへのReturnトランザクションで
ある場合には、デコーダ253は線L14を介して出力
レジスタに信号を送り、入力レジスタ251に保持され
た値をディスク制御回路261に読み込ませる。
【0067】(装置動作3)ーその他のメモリマップド
レジスタへのアクセス これらのレジスタは、本実施の形態ではプロセッサユニ
ット2−0、2−1メモリユニット3−0、3−1、入
出力ユニット4−0、4−1に含まれている。
【0068】これらのレジスタには、図4の領域100
bが割り当てられている。本実施の形態では、この領域
が割り当てられたいずれのメモリマップドレジスタに保
持されたデータもキャッシング不可能と仮定している。
したがって、これらのレジスタのいずれかに保持された
データのアクセスにはNReadトランザクションある
いはNWriteトランザクションを使用する。図4の
領域100bが割り当てられているいずれのメモリマッ
プドレジスタ内のデータもキャッシング不可能であるの
で、これらのメモリマップドレジスタのいずれかをアク
セスするときには、そのレジスタが現に含まれているユ
ニットにNRead(あるいはNWrite)トランザ
クションを送付すればよい。しかし、本実施の形態で
は、これらのレジスタのアクセスに当たっては、プロセ
ッサユニット2−0、2−1、メモリユニット3−0、
3−1、入出力ユニット4−0、4−1の全てにNRe
ad(あるいはNWrite)トランザクションを送る
ようになっている。その理由は以下の通りである。
【0069】このアドレス領域100bに設けられるメ
モリマップッドレジスタはこのマルチプロセッサの電源
投入直後に行なわれる初期化や、システム内部での障害
発生状況のログを保持するようなレジスタが大半であ
り、システムの通常動作時にはほとんどアクセスされな
いという性質がある。そのため、実際にこのトランザク
ションを受理すべきユニットを特定せず、受理する可能
性があるユニット、すなわち全てのユニットにこのトラ
ンザクションを転送してもシステム性能の低下を招く危
険性はない。このことを利用して、トランザクションを
送付すべき特定のユニットを決定する回路を使用しない
ことにし、ハードウェア量を低減した。とくに、この領
域100b内の同じアドレスは、異なるユニットに属す
る複数のレジスタに割り当てることが出来る。その場合
には、この送付先決定回路は、それだけ複雑になる。し
たがって、本実施の形態によれば、このような場合にハ
ードウエアの軽減量が大きくなる。
【0070】さて、これらのトランザクションの送信先
の決定は、以下のようにされる。図6の送信部7−i内
の送信先決定回路70−iでは、デコーダ21がNRe
adあるいはNwriteトランザクションを解読し、
デコーダ22が、このトランザクション内のアドレスが
領域100bに属することを検出したときに、OR回路
36とAND回路32がパターン生成回路37−4を起
動する。この回路37−4は、プロセッサユニット2−
0、2−1メモリユニット3−0、3−1、入出力ユニ
ット4−0、4−1の全てをトランザクションの送信先
として指定するパターンを生成する。この結果、このト
ランザクションは、これらの全てのユニットにクロスバ
スイッチ1により放送される。
【0071】このトランザクションの放送を受けたとき
の各ユニットの動作の説明を、入出力ユニット4−0を
例にして図16を参照して説明する。
【0072】204および205は入出力アダプタ13
−0に設けられたメモリマップドレジスタRegAおよ
びRegBである。RegA(204)は、ここに設定
された値によって入出力アダプタ13−0の動作が制御
されるようなレジスタであり、図には1個のみ示されて
いるが複数あっても構わない。なお、ここに設定された
値によって入出力アダプタ13−0の動作が制御される
ための信号線や回路は簡単のため図示していない。Re
gB(205)は、入出力アダプタ13−0の内部状態
を検出するためのステータス検出回路208の出力を保
持するレジスタであり、図には1個のみ示されているが
複数あっても構わない。また、206はReturnト
ランザクション組立回路、207は選択回路、209は
Return判定回路、210はOR回路である。
【0073】入出力アダプタ13−0では、線e−6か
ら入力されたトランザクションのPORTフィールド以
外の部分を入力レジスタ201に格納する。格納された
値のうち、トランザクションのTYPE、MISCおよ
びADDRESSフィールドをデコーダ203に入力
し、デコーダ203は、このトランザクションの種類と
アクセス先を判定する。
【0074】入力されたトランザクションが、RegB
(205)のアドレスを指定したNReadであった場
合には、デコーダ203が線L02を介してRegB
(205)に読みだし信号を送出する。するとRegB
(205)は線L06を介して保持している値をRet
urnトランザクション組立回路206に出力する。一
方、デコーダ203は線L03を介してReturnト
ランザクション組立回路206および選択回路207に
信号を送り、RegB(205)から読み出された値を
Returnトランザクションに組立て、線d−6に出
力させる。
【0075】入力されたトランザクションが、RegA
(204)のアドレスを指定したNWriteであった
場合には、デコーダ203が線L01を介してRegA
(204)に書き込み信号を送出する。するとRegA
(204)は入力レジスタ201に保持されている書き
込みデータを取り込んで保持する。
【0076】以上の動作において、入力したトランザク
ョンがNReadでないため、これに起因するRetu
rnトランザクションを発生する必要がないとデコーダ
203が判定した場合には、線L05、OR回路210
および線f−0を経由してリセット信号を送信部7−6
内のPORTレジスタ41に送り、PORTレジスタ4
1をクリアする。その結果、受信部8−6は次のトラン
ザクョンを受信できるようになる。Returnトラン
ザクョンを発生する必要がある場合には、Return
トランザクョンを送信部7−6に線d−6を介してRe
turnトランザクションが送出するのをReturn
判定回路209にて判定し、OR回路210および線f
−6を経由して、送信部7−6内のPORTレジスタ4
1をクリアする。このように制御することで、Retu
rnトランザクションを発生するときには、送信部7−
6内のPORTレジスタ41にはReturnトランザ
クョンの正当な送信先が格納されていることが保証され
る。
【0077】他のユニットに含まれるキャッシュ制御5
−0等およびメモリバンク3−0ないし3−1等に含ま
れるおけるメモリマップドレジスタおよびそれに関する
回路と動作は上記の動作と同様でありそれらの動作の説
明は省略する (装置動作4)ー主記憶内のキャッシング不可能なデー
タへのアクセス 本実施の形態では、このデータへのアクセスにもNRe
adあるいはんWriteトランザクションを用いる。
主記憶内のキャッシング不可能なデータは、いずれか一
つのメモリユニットのみに保持されているので、各プロ
セッサユニットの送信部7−iは、このトランザクショ
ン内のアドレスにより一つの送信先のポート番号を決め
る。具体的には、図6のデコーダ21、22、23とO
R回路35、AND回路30、31がパターン発生回路
37−2、37−3の一つを起動するようになってい
る。たとえば、パターン発生回路37−2が起動された
ときには、メモリユニット3−0がNReadトランザ
クションの送出先になる。このメモリユニットは、この
トランザクションを受信すると、このトランザクション
が要求するデータを含むReturnトランザクション
を要求元プロセッサユニットに返送する。また、主記憶
内へのキャッシング不可能なデータの書き込みには、N
Writeトランザクションを使用する。
【0078】(装置動作5)ーその他のトランザクショ
ン (4) いずれかのプロセッサユニット内のキャッシュ
からブロックを主記憶に書き戻す必要が生じたときに、
ライトバック(WriteBack)トランザクション
が使用される。このトランザクションのフォーマット
は、NWriteトランザクションと同様であり、この
トランザクションの実行時の装置動作は、上記装置動作
(3)で記載した、キャッシング不可能な主記憶データ
の書き込みの場合と同じである。
【0079】<実施の形態1の変形例> (1)実施の形態1では、プロセッサユニット、メモリ
ユニットおよび入出力ユニットの数を、それぞれ4、
2、2としているが、本発明が他の構成であっても実施
可能であることは以上の説明から明らかである。
【0080】(2)実施の形態1では、キャッシュ制御
5−0ないし5−3の制御方式としてストアインキャッ
シュを前提に説明したが、本発明を他の方式のキャッシ
ュに適用することも容易である。また、トランザクショ
ン種は前述の5種類であると仮定したが、より多くのト
ランザクション種がある場合であっても本発明を拡張し
て適用することは容易である。
【0081】(3)実施の形態1では、送信部7−0な
いし7−7の構成は全て同一であるとした。しかし、メ
モリユニット3−0および3−1がCRead、NRe
ad、NWriteおよびWriteBackのトラン
ザクョンを発生することはないので、送信部7−4ない
し7−5から上記4種のトランザクョンに対応して動作
する部分を削除しても構わないことは明らかである。同
様に、入出力ユニット4−0および4−1がCRead
およびWriteBackトランザクョンを発生するこ
とはないので、送信部7−6ないし7−7から上記2種
のトランザクョンに対応して動作する部分を削除しても
構わないことも明らかである。
【0082】(4)実施の形態1では、プロセッサユニ
ット2−0ないし2−3は、それぞれ1枚のプリント板
に実装されていても構わないし、それぞれ1つのLSI
に実装されていても構わない。特に、プロセッサユニッ
トが1つのLSIに実装されているならば、プロセッサ
ユニットLSIをクロスバスイッチ1に直接接続するこ
とが可能なため、コンパクトなマルチプロセッサを提供
することができる。さらに、線b−iと線c−iを従来
技術にある双方向信号線を用いて時分割にインプリメン
トすることも容易であり、このようにすれば、プロセッ
サユニットからは線a−iと、線b−iおよびc−iを
時分割で実現する線によってクロスバスイッチと接続で
きるようになるため、ピン数が少なく安価なLSIでプ
ロセッサユニットを構成することができる。なお、上述
のREQ[0−7]信号のパターンに8ビット信号の全
ての組み合せがあらわれない性質を利用して、REQ
[0−7]信号を適当にエンコードすることで信号線a
−iの本数を削減することも可能である。
【0083】<発明の実施の形態2>第2の実施の形態
の目的は、第1の実施の形態のマルチプロセッサをベー
スにし、これを安価に実現するためにクロスバスイッチ
をビットスライスされた複数の、同じ構造の大規模集積
回路(LSI)にて構成するものである。以下では、実
施の形態2が実施の形態1と異なる点を中心に説明す
る。
【0084】第2の実施の形態に係るマルチプロセッサ
では、図11に示すように、各ユニットの送信部にビッ
トスライス回路71ー0、71−1、、が設けられ、ク
ロスバスイッチ101が、図13に示すように、同一構
造の複数のLSI85−88にて構成されている。
【0085】送信部107−i(i=0、1、、、)
は、図12に示すように、送信先決定回路70−i、ト
ランザクション組立回路72−iとビットスライス回路
71−iとからなる。ビットスライス回路71−iは、
選択回路80−0ないし80−3からなる。各選択回路
80−0、、または80−3には、送信先決定回路70
−iが出力するREQ[0−7]信号が線a−iより入
力され、トランザクション組立回路72−iが線b−i
に出力する8バイト幅のトランザクションがそれぞれ2
バイトずつに分割されて入力される。図3に示したRE
ADタイプのトランザクションを例にするならば、選択
回路80−0にはTYPEとPORTフィールドからな
る2バイトが、80−1にはMISCフィールドからな
る2バイトが、80−2にはADDRESSフィールド
の上位2バイトが、80−3にはADDRESSフィー
ルドの下位2バイトが入力される。トランザクション組
立回路72−iは実施の形態1で使用されたものと同じ
であるが、送信先決定回路70−iは、実施の形態1で
使用されたコマンドと異なるコマンドx’−iを出力す
るように変形されている点で実施の形態1で使用された
ものと異なる。
【0086】図14は、このビットスライス回路71−
iの選択回路80−0ないし80−3により出力される
4つの信号を示す。送信先決定回路70−iはまず第1
の値を有するコマンドを線x’−iに送出し、選択回路
80−0ないし80−3は、このコマンドに応答して、
REQ[0−7]を選択し、線ab−i−0から b−
i−3に出力する。なお、REQ[0−7]信号は8ビ
ットであるのに対し、線ab−i−0から b−i−3
はそれぞれ2バイト幅であるため、REQ[0−7]信
号を接続しない部分には0を出力する。次に、送信先決
定回路70−iは第2の値を有するコマンドを線x’−
iに送出し、選択回路80−0ないし80−3は、この
コマンドに応答して、トランザクションの内の2バイト
部分を選択する。以下、この動作をトランザクションの
全体が選択されるまで繰り返す。
【0087】線ab−i−0から b−i−3に出力さ
れたREQ[0−7]信号とトランザクションは、クロ
スバスイッチ101に入力される。
【0088】図13はクロスバスイッチ101のLSI
分割を示す。クロスバスイッチ101は、85ないし8
8の4個のLSIから構成される。各LSIの各入力ポ
ートは、対応する一つのユニットに2バイトの信号線で
接続され、各LSIの各出力ポートも同様である。図1
3のようにLSI分割を行なうと、LSI85ないし8
8にて構成される第1スライスないし第4スライスに
は、図14のような形式で線ab−i−0ないしab−
i−3を経由してトランザクションが入力されることに
なる。
【0089】図15はLSI85の内部の構成を示す。
このLSIには図示のとおり、クロスバスイッチ101
のポート0ないし7に対応して、入力ポート151−0
ないし151−7と、出力ポート152−0ないし15
2−7がある。入力ポート151−0ないし151−7
の構成は、図9に示した第1の実施の形態におけるクロ
スバスイッチの入力ポート51−0ないし51−7とほ
ぼ同様であるが、各トランザクションレジスタ、たとえ
ば154−0の幅が2バイトになっている点、このレジ
スタおよび対応するリクエスト制御たとえば53−0へ
の信号入力線が各ポート毎に設けられた共通の信号線、
たとえば、ab−0−0からなっている点、および実施
の形態1で使用したコマンド異なるコマンドが線x’−
0、、またはx’−7より入力される点で実施の形態1
と異なる。出力ポート152−0ないし152−7の構
成は、図9に示した第1の実施の形態におけるクロスバ
スイッチの出力ポート52−0ないし52−7とほぼ同
様であるが、選択回路156−0ないし156−7の幅
が2バイトになっている点が異なる。
【0090】ここで、ポート0から線ab−0−0を経
由してREQ[0−7]信号とスライスされた4つのト
ランザクョン部分の一つが時分割で入力されると、まず
リクエスト制御53−0が、コマンドx’−0の第1の
値に応答してREQ[0−7]信号を、リクエスト制御
53−0内にあるREQレジスタ61にセットし、その
後、トランザクションレジスタ154−0が、コマンド
x’−0の第2の値に応答して、スライスされた一つの
トランザクション部分を取り込む。その後の装置動作
は、図9のクロスバスイッチと全く同様にして、スライ
スされたトランザクション部分が、REQレジスタに格
納された値に従って、線c−0−0ないしc−7−0に
出力される。他のLSIにも全く同じREQ[0−7]
信号が入力されているので、全く同じ動作をして、それ
ぞれがスライスされたトランザクションを出力する。そ
の結果、所望のユニットに線c−0ないしc−7を経由
して、トランザクョンの転送が完了する。なお、他の入
力ポートにREQ[0−7]信号とトランザクションと
が入力された場合の動作も、上記の説明と同様である。
【0091】以上のようにすれば、クロスバスイッチ1
01を構成するLSI相互間で転送の制御に関する信号
をやりとりすることなくトランザクション転送を行なえ
る。また、REQ[0−7]信号を各LSIへのデータ
パスに時分割多重によって転送しているため、クロスバ
スイッチ101を構成するためのLSIのピンの大部分
を、クロスバスイッチ101に接続する各ユニットとの
接続に用いることができる。このことは、クロスバスイ
ッチを最小の数のLSIで構成できることを意味する。
【0092】また、クロスバスイッチを構成するための
LSIの信号ピンが、例えば272ピンというふうにあ
らかじめ決められている中で、16入力16出力のクロ
スバLSIを構成する場合には、(272−16)÷
(16+16)=8ビット、という計算に基づき8ビッ
トスライスのクロスバLSIを設計すればよいことにな
る。もしもこのように計算されるLSIのスライス幅
が、REQ信号の幅を下回ったならば、REQ信号を上
述のような形式そのものでなく適当にエンコードするこ
とで幅を狭めたり、REQ信号自身を複数サイクルを利
用して転送するように設計すればよい。
【0093】本実施の形態には、以上のような設計上の
自由度があるので、ピン数は少ないが安価なLSIを用
いてクロスバスイッチ101を構成することができる。
【0094】<実施の形態2の変形例>以上の説明で
は、クロスバスイッチを2バイト幅×4スライスに分割
していたが、異なる分割をしても本発明が適用できるこ
とは明らかである。また、クロスバスイッチ101のポ
ート数を8として説明したが、他のポート数にて本発明
を実施可能なことも明らかである。
【0095】
【発明の効果】本願発明によれば、いずれかのプロセッ
サユニット内のキャッシュが出力するメモリアクセスを
インタコネクトネットワークを用いて他のキャッシュが
監視出来る。しかも、そのような監視を可能とし、それ
でいてキャッシュを含まない入出力ユニット等へ悪影響
を少なくできる。
【0096】さらに、本願発明によれば、メモリマップ
ドレジスタに対するアクセス要求の送出先を決める回路
を簡単に出来る。とくに、入出力装置に含まれるメモリ
マップドレジスタへのアクセス要求を、その入出力装置
に転送するための回路を簡単化できる。とくに、入出力
装置の数あるいは組み合わせが変更された場合でも、ア
クセス要求で指定されたメモリマップドレジスタを含む
いずれかの入出力装置にそのアクセス要求を転送するた
めの回路を簡単化出来る。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るマルチプロセ
ッサの全体構成図。
【図2】第1の実施の形態において使用される完成前の
トランザクションのフォーマットを示す図。
【図3】図2のフォーマットから完成されたトランザク
ションのフォーマットを示す図。
【図4】第1の実施の形態で使用するアドレス空間の構
成を示す図。
【図5】第1の実施の形態で使用するアドレスのフォー
マットを示す図。
【図6】第1の実施の形態における送信部の詳細構成を
示す図。
【図7】図6の送信部の動作説明を示す図。
【図8】第1の実施の形態における受信部の概略構成を
示す図。
【図9】第1の実施の形態に使用するクロスバスイッチ
の詳細構成を示す図。
【図10】図9のクロスバスイッチに使用するリクエス
ト制御の詳細構成を示す図。
【図11】本発明の第2の実施の形態に係るマルチプロ
セッサの全体構成を示す図。
【図12】第2の実施の形態に使用する送信部の詳細構
成を示す図。
【図13】第2の実施の形態に使用するクロスバスイッ
チのLSI分割方法を示す図。
【図14】第2の実施の形態に使用するビットスライス
化されたトランザクションのフォーマットを示す図。
【図15】第2の実施の形態に使用するクロスバスイッ
チを構成するLSIの詳細構成を示す図。
【図16】第1の実施の形態に使用す入出力ユニットと
入出力装置の概略構成を示す図。
【符号の説明】
41…PORTレジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 持田 哲也 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 柴田 正文 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 林 剛久 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所情報・通信開発本部内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサユニットと、 複数のメモリユニット 複数の入出力ユニットと、 該複数のプロセッサユニット、該複数のメモリユニット
    および該複数の入出力ユニットを相互に接続し、それら
    の間で複数のデータを並列に転送するためのネットワー
    クと、 それぞれ該複数の入出力ユニットの一つに接続された複
    数の入出力装置と、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットおよび該複数の
    入出力装置の内のいずれか一つに含まれた複数のメモリ
    マップドレジスタとを有し、 各メモリユニットは、それぞれ該複数のプロセッサユニ
    ットにより共有される主記憶の一部分を構成する複数の
    主記憶部分の一つを有し、該複数の主記憶部分には、そ
    れぞれ所定のアドレス空間の第1の領域内の互いに異な
    る複数の部分領域が割り当てられ、 該複数のレジスタは、該アドレス空間の該第1の領域と
    異なる他の領域を割り当てられ、 各プロセッサユニットは、 少なくとも一つのプロセッサと、 該複数の主記憶部分に対するキャッシュメモリと、 該キャッシュメモリに対するキャッシュ制御回路であっ
    て、該プロセッサから供給されたデータ読み出し要求が
    指定するアドレスのデータに関して該キャッシュメモリ
    のヒットチェックを行う手段を有するものと、 該ヒットチェックの結果、該キャッシュメモリがヒット
    しなかったときに、該複数のプロセッサユニットと、該
    第1の領域内の該複数の部分領域の内、該指定されたア
    ドレスが属する一つの部分領域が割り当てられている一
    つの部分主記憶を有する一つのメモリユニットとを、該
    データ読み出し要求の複数の送出先として決定し、それ
    らのユニットへの該データ読み出し要求の部分放送を該
    ネットワークに要求する送出先決定回路を有するマルチ
    プロセッサシステム。
  2. 【請求項2】該アドレス空間の該第1の領域は、キャッ
    シング可能な複数のデータとキャッシング不可能な複数
    のデータに割り当てられ、 該アドレス空間の該第1の領域と異なる該他の領域は、
    キャッシング不可能な複数のデータに割り当てられ、 該送出先決定回路は、該データ読み出し要求がキャッシ
    ング可能なデータに対する読み出し要求であり、さら
    に、該データ読み出し要求により指定された該アドレス
    が該複数の部分領域の一つに属するときに、該複数のプ
    ロセッサユニットと、該複数のメモリユニットの内、該
    一つ部分領域が割り当てられている一つの部分主記憶を
    有する一つのメモリユニットを該データ読み出し要求の
    複数の送出先として決定する手段を有する請求項1記載
    のマルチプロセッサシステム。
  3. 【請求項3】該ネットワークは、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットのいずれか一つ
    に接続された複数の入力端子と、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットのいずれか一つ
    に接続された複数の出力端子と、 それぞれ該複数の入力端子の一つに対応して設けられ、
    対応する入力端子に入力された、転送データを該複数の
    出力ポートの各々に転送すべきか否かを指定する転送要
    求を保持する複数のレジスタと、 該複数のレジスタに接続され、該複数の入力端子と該複
    数の出力端子の間で複数のデータ読み出し要求を並列に
    転送するためのスイッチ回路であって、該複数のレジス
    タのいずれかに保持された転送要求に応答して、そのレ
    ジスタが対応する入力端子に入力されたデータ読み出し
    要求を、該複数の出力端子の内、その転送要求が指定す
    る複数の出力端子に並列に転送する手段を有するものと
    を有し、各プロセッサユニット内の該送出先決定回路
    は、該複数の入力端子の内、そのプロセッサユニットに
    対応して設けられた一つの入力端子に該データ読み出し
    要求を該ネットワークにより転送すべきデータとして供
    給し、該ネットワーク内の該複数のレジスタの内、該一
    つの入力端子に対応する一つのレジスタに、該決定した
    複数の送出先に対応する複数の出力端子へ該データ読み
    出し要求を転送することを要求する転送要求を供給する
    手段を有する請求項1記載のマルチプロセッサシステ
    ム。
  4. 【請求項4】該ネットワークは、それぞれ複数のデータ
    を並列に転送可能な、同じ構造を有する複数の大規模集
    積回路(LSI)により構成され、 各LSIは、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットのいずれか一つ
    に接続された複数の入力端子と、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットのいずれか一つ
    に接続された複数の出力端子とを有し、 各プロセッサユニットは、 そのプロセッサユニット内の該送信先決定回路により供
    給されるデータ読み出し要求を該複数のLSIと同数で
    ある複数の要求部分に分割するビットスライス回路と、 該送信先決定回路により供給される該転送要求を該複数
    のLSIに並列に供給する手段であって、各LSIに含
    まれる該複数の入力端子の内、そのプロセッサユニット
    に対応する一つの入力端子に該転送要求を送出するもの
    と、 該複数の要求部分を該複数のLSIに並列に供給する手
    段であって、該転送要求を該複数のLSIに供給した後
    に、各要求部分を、該複数のLSIの一つに含まれる該
    複数の入力端子の内、そのプロセッサユニットに対応す
    る一つに送出するものとを有し、 各LSIは、 それぞれそのLSIに含まれる該複数の入力端子の一つ
    に対応して設けられ、それぞれ対応する一つの入力端子
    から入力されるデータ読み出し要求を保持するための複
    数の転送データ用レジスタと、 それぞれそのLSIに含まれる該複数の入力端子の一つ
    に対応して設けられ、それぞれ対応する一つの入力端子
    から入力される転送要求を保持するための複数の転送要
    求用レジスタと、 該複数の入力端子の一つから転送要求が入力されたとき
    に、該複数の転送要求保持用のレジスタの内、その入力
    端子に対応して設けられた一つのレジスタにその転送要
    求をセットし、その入力端子からその後、データ読み出
    し要求が入力されたときに、該複数の転送データ用レジ
    スタの内、その入力端子に対応して設けられた一つのレ
    ジスタに、該データ読み出し要求をセットする手段と、 該複数の転送データ用レジスタと該複数の転送要求用レ
    ジスタに接続され、該複数の入力端子と該複数の出力端
    子の間で複数のデータ読み出し要求を並列に転送するた
    めのスイッチ回路であって、該複数の転送要求用レジス
    タのいずれかに保持された転送要求に応答して、該複数
    の転送データ用のレジスタの内、該一つの入力端子に対
    応する一つの転送データ用レジスタにセットされたデー
    タ読み出し要求を、該複数の出力端子の内、その転送要
    求が指定する複数の出力端子に並列に転送する手段を有
    するものとを有する請求項3記載のマルチプロセッサ。
  5. 【請求項5】複数のプロセッサユニットと、 複数のメモリユニット 複数の入出力ユニットと、 該複数のプロセッサユニット、該複数のメモリユニット
    および該複数の入出力ユニットを相互に接続し、それら
    の間で複数のデータを並列に転送するためのネットワー
    クと、 それぞれ該複数の入出力ユニットの一つに接続された複
    数の入出力装置と、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットおよび該複数の
    入出力装置の内のいずれか一つに含まれた複数のメモリ
    マップドレジスタとを有し、 各メモリユニットは、それぞれ該複数のプロセッサユニ
    ットにより共有される主記憶の一部分を構成する複数の
    主記憶部分の一つを有し、該複数の主記憶部分には、そ
    れぞれ所定のアドレス空間の第1の領域内の互いに異な
    る複数の部分領域が割り当てられ、 該複数のレジスタの内、該プロセッサユニット、該メモ
    リユニット、該入出力ユニットのいずれか一つにそれぞ
    れ含まれた複数のレジスタは、該アドレス空間内の、該
    第1の領域と異なる第2の領域を割り当てられ、 該複数のレジスタの内、該複数の入出力装置のいずれか
    一つにそれぞれ含まれた複数のレジスタは、該アドレス
    空間内の、該第1、第2の領域と異なる第3の領域を割
    り当てられ、 各プロセッサユニットは、 少なくとも一つのプロセッサと、 該複数の主記憶部分に対するキャッシュメモリと、 該キャッシュメモリに対するキャッシュ制御回路であっ
    て、該プロセッサから供給されたデータ読み出し要求が
    指定するアドレスのデータに関して該キャッシュメモリ
    のヒットチェックを行う手段を有するものと、 該ヒットチェックの結果、該キャッシュメモリがヒット
    しなかったときに、該データ読み出し要求を送出すべき
    一つまたは複数の送出先を決定し、該決定された一つま
    たは複数の送出先への該データ読み出し要求の送出を該
    ネットワークに要求する送出先決定回路であって、該デ
    ータ読み出し要求により指定された該アドレスが該第3
    の領域に属するか否かを判別し、該アドレスが該第3の
    領域に属するときに、該複数の入出力ユニットを、該デ
    ータ読み出し要求の複数の送出先として決定する手段を
    有し、 各入出力ユニットは、該ネットワークを介していずれか
    のプロセッサユニットから転送されたデータ読み出し要
    求を、その入出力ユニットに接続された一つまたは複数
    の入出力装置の各々に転送する手段を有し、 各入出力装置は、該複数の入出力ユニットの内、その入
    出力装置が接続された一つの入出力ユニットから転送さ
    れたデータ読み出し要求に応答し、そのデータ読み出し
    要求が指定するアドレスが割り当てられているレジスタ
    がその入出力装置に含まれているか否かを判別し、その
    レジスタがその入出力装置内に含まれているときには、
    そのレジスタに対してそのデータ読み出し要求を実行す
    る回路を有するマルチプロセッサシステム。
  6. 【請求項6】各プロセッサユニットの該送出先決定回路
    は、該データ読み出し要求により指定された該アドレス
    が該第2の領域に属するか否かを判別し、該アドレスが
    該第2の領域に属するときに、該複数のプロセッサユニ
    ット、該複数のメモリユニットおよび該複数の入出力ユ
    ニットを、該データ読み出し要求の複数の送出先として
    決定する手段をさらに有し、 該複数のプロセッサユニット、該複数のメモリユニット
    および該複数の入出力ユニットの各々は、該ネットワー
    クを介していずれかのプロセッサユニットから転送され
    たデータ読み出し要求に応答し、そのデータ読み出し要
    求が指定するアドレスが割り当てられているレジスタが
    そのユニットに含まれているか否かを判別し、そのレジ
    スタがそのユニットに含まれているときには、そのレジ
    スタに対してそのデータ読み出し要求を実行する回路を
    有する請求項5記載のマルチプロセッサシステム。
  7. 【請求項7】該ネットワークは、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットのいずれか一つ
    に接続された複数の入力端子と、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットのいずれか一つ
    に接続された複数の出力端子と、 それぞれ該複数の入力端子の一つに対応して設けられ、
    対応する入力端子に入力された、転送データを該複数の
    出力ポートの各々に転送すべきか否かを指定する転送要
    求を保持する複数のレジスタと、 該複数のレジスタに接続され、該複数の入力端子と該複
    数の出力端子の間で複数のデータ読み出し要求を並列に
    転送するためのスイッチ回路であって、該複数のレジス
    タのいずれかに保持された転送要求に応答して、そのレ
    ジスタが対応する入力端子に入力されたデータ読み出し
    要求を、該複数の出力端子の内、その転送要求が指定す
    る複数の出力端子に並列に転送する手段を有するものと
    を有し、 各プロセッサユニット内の該送出先決定回路は、該複数
    の入力端子の内、そのプロセッサユニットに対応して設
    けられた一つの入力端子に該データ読み出し要求を該ネ
    ットワークにより転送すべきデータとして供給し、該ネ
    ットワーク内の該複数のレジスタの内、該一つの入力端
    子に対応する一つのレジスタに、該複数の送出先の決定
    手段により決定されたされた複数の送出先に対応する複
    数の出力端子へ該データ読み出し要求を転送することを
    要求する転送要求を供給する手段を有する請求項5記載
    のマルチプロセッサシステム。
  8. 【請求項8】該ネットワークは、それぞれ複数のデータ
    を並列に転送可能な、同じ構造を有する複数の大規模集
    積回路(LSI)により構成され、 各LSIは、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットのいずれか一つ
    に接続された複数の入力端子と、 それぞれ該複数のプロセッサユニット、該複数のメモリ
    ユニットおよび該複数の入出力ユニットのいずれか一つ
    に接続された複数の出力端子とを有し、 各プロセッサユニットは、 そのプロセッサユニット内の該送信先決定回路により供
    給されるデータ読み出し要求を該複数のLSIと同数で
    ある複数の要求部分に分割するビットスライス回路と、 該送信先決定回路により供給される該転送要求を該複数
    のLSIに並列に供給する手段であって、各LSIに含
    まれる該複数の入力端子の内、そのプロセッサユニット
    に対応する一つの入力端子に該転送要求を送出するもの
    と、 該複数の要求部分を該複数のLSIに並列に供給する手
    段であって、該転送要求を該複数のLSIに供給した後
    に、各要求部分を、該複数のLSIの一つに含まれる該
    複数の入力端子の内、そのプロセッサユニットに対応す
    る一つに送出するものとを有し、 各LSIは、 それぞれそのLSIに含まれる該複数の入力端子の一つ
    に対応して設けられ、それぞれ対応する一つの入力端子
    から入力されるデータ読み出し要求を保持するための複
    数の転送データ用レジスタと、 それぞれそのLSIに含まれる該複数の入力端子の一つ
    に対応して設けられ、それぞれ対応する一つの入力端子
    から入力される転送要求を保持するための複数の転送要
    求用レジスタと、 該複数の入力端子の一つから転送要求が入力されたとき
    に、該複数の転送要求保持用のレジスタの内、その入力
    端子に対応して設けられた一つのレジスタにその転送要
    求をセットし、その入力端子からその後、データ読み出
    し要求が入力されたときに、該複数の転送データ用レジ
    スタの内、その入力端子に対応して設けられた一つのレ
    ジスタに、該データ読み出し要求をセットする手段と、 該複数の転送データ用レジスタと該複数の転送要求用レ
    ジスタに接続され、該複数の入力端子と該複数の出力端
    子の間で複数のデータ読み出し要求を並列に転送するた
    めのスイッチ回路であって、該複数の転送要求用レジス
    タのいずれかに保持された転送要求に応答して、該複数
    の転送データ用のレジスタの内、該一つの入力端子に対
    応する一つの転送データ用レジスタにセットされたデー
    タ読み出し要求を、該複数の出力端子の内、その転送要
    求が指定する複数の出力端子に並列に転送する手段を有
    するものとを有する請求項7記載のマルチプロセッサ。
  9. 【請求項9】複数の入力端子と、 複数の出力端子と、 それぞれ該複数の入力端子の一つに対応して設けられ、
    対応する入力端子に入力された、転送データを該複数の
    出力ポートの各々に転送すべきか否かを指定する転送要
    求を保持する複数の転送要求用レジスタと、 該複数のレジスタに接続され、該複数の入力端子と該複
    数の出力端子の間で複数のデータを並列に転送するため
    のスイッチ回路であって、該複数のレジスタのいずれか
    に保持された転送要求に応答して、そのレジスタが対応
    する入力端子に入力されたデータを、該複数の出力端子
    の内、その転送要求が指定する複数の出力端子に並列に
    転送する手段を有するものとを有するネットワーク。
  10. 【請求項10】該複数の入力端子の一つに対応して設け
    られ、それぞれ対応する一つの入力端子から入力される
    転送すべきデータを保持するための複数の転送データ用
    レジスタと、 該複数の入力端子の一つから転送要求が入力されたとき
    に、該複数の転送要求保持用のレジスタの内、その入力
    端子に対応して設けられた一つのレジスタにその転送要
    求をセットし、その入力端子からその後、転送すべきデ
    ータが入力されたときに、該複数の転送データ用レジス
    タの内、その入力端子に対応して設けられた一つのレジ
    スタに、該データ読み出し要求をセットする手段とをさ
    らに有し、 該スイッチ回路内の該転送手段は、該複数の転送データ
    用レジスタと該複数の転送要求用レジスタに接続され、
    該複数の転送要求用レジスタのいずれかに保持された転
    送要求に応答して、該複数の転送データ用のレジスタの
    内、該一つの入力端子に対応する一つの転送データ用レ
    ジスタにセットされた転送すべきデータを、該複数の出
    力端子の内、その転送要求が指定する複数の出力端子に
    並列に転送する手段を有する請求項9記載のネットワー
    ク。
JP29647995A 1995-11-15 1995-11-15 マルチプロセッサシステム Expired - Fee Related JP3691134B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP29647995A JP3691134B2 (ja) 1995-11-15 1995-11-15 マルチプロセッサシステム
US08/747,344 US6011791A (en) 1995-11-15 1996-11-12 Multi-processor system and its network
US09/456,383 US6728258B1 (en) 1995-11-15 1999-12-08 Multi-processor system and its network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29647995A JP3691134B2 (ja) 1995-11-15 1995-11-15 マルチプロセッサシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005153652A Division JP3843116B2 (ja) 2005-05-26 2005-05-26 ネットワーク

Publications (2)

Publication Number Publication Date
JPH09138782A true JPH09138782A (ja) 1997-05-27
JP3691134B2 JP3691134B2 (ja) 2005-08-31

Family

ID=17834094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29647995A Expired - Fee Related JP3691134B2 (ja) 1995-11-15 1995-11-15 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP3691134B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1701267A2 (en) 2005-03-07 2006-09-13 Fujitsu Ltd. Address snoop method and multi-processor system
JP2007280237A (ja) * 2006-04-11 2007-10-25 Nec Corp PCIExpressリンク、マルチホストコンピュータシステム、およびPCIExpressリンクの再構成方法
WO2010052753A1 (ja) * 2008-11-06 2010-05-14 富士通株式会社 制御装置、データ転送装置、情報処理装置、演算処理装置および情報処理装置の制御方法
CN112988061A (zh) * 2019-12-17 2021-06-18 脸谱公司 用于动态可编程分配方案的带交叉开关的高带宽存储系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1701267A2 (en) 2005-03-07 2006-09-13 Fujitsu Ltd. Address snoop method and multi-processor system
US7418559B2 (en) 2005-03-07 2008-08-26 Fujitsu Limited Address snoop method and multi-processor system
JP2007280237A (ja) * 2006-04-11 2007-10-25 Nec Corp PCIExpressリンク、マルチホストコンピュータシステム、およびPCIExpressリンクの再構成方法
WO2010052753A1 (ja) * 2008-11-06 2010-05-14 富士通株式会社 制御装置、データ転送装置、情報処理装置、演算処理装置および情報処理装置の制御方法
US8375152B2 (en) 2008-11-06 2013-02-12 Fujitsu Limited Controller, data transfer device, information processing device, processor, and control method of information processing device
JP5212478B2 (ja) * 2008-11-06 2013-06-19 富士通株式会社 制御装置、データ転送装置、情報処理装置、演算処理装置および情報処理装置の制御方法
CN112988061A (zh) * 2019-12-17 2021-06-18 脸谱公司 用于动态可编程分配方案的带交叉开关的高带宽存储系统

Also Published As

Publication number Publication date
JP3691134B2 (ja) 2005-08-31

Similar Documents

Publication Publication Date Title
US6011791A (en) Multi-processor system and its network
US6789173B1 (en) Node controller for performing cache coherence control and memory-shared multiprocessor system
JP3849951B2 (ja) 主記憶共有型マルチプロセッサ
KR100465583B1 (ko) 판독 요청을 원격 처리 노드에 추론적으로 전송하는 비정형 메모리 액세스 데이터 처리 시스템 및 이 시스템에서의 통신 방법
JP3722415B2 (ja) 効率的なバス機構及びコヒーレンス制御を有する繰り返しチップ構造を有するスケーラブル共用メモリ・マルチプロセッサ・コンピュータ・システム
US5950228A (en) Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables
US6289419B1 (en) Consistency control device merging updated memory blocks
JP3765586B2 (ja) 多重プロセッサコンピューターシステムのアーキテクチャ
US5787480A (en) Lock-up free data sharing
US5802585A (en) Batched checking of shared memory accesses
US6631448B2 (en) Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US5933598A (en) Method for sharing variable-grained memory of workstations by sending particular block including line and size of the block to exchange shared data structures
US6738868B2 (en) System for minimizing directory information in scalable multiprocessor systems with logically independent input/output nodes
CA2280172C (en) Non-uniform memory access (numa) data processing system that holds and reissues requests at a target processing node in response to a retry
US6263405B1 (en) Multiprocessor system
US5960455A (en) Scalable cross bar type storage controller
US6728258B1 (en) Multi-processor system and its network
KR20000052493A (ko) 공유된 개입 지원을 가지는 비균등 메모리 액세스 데이터처리 시스템
JP2005174341A (ja) 種々のキャッシュ・レベルにおける連想セットの重畳一致グループを有するマルチレベル・キャッシュ
US6092136A (en) Multi-processor central processing unit
US6516391B1 (en) Multiprocessor system and methods for transmitting memory access transactions for the same
JPH0635953A (ja) スカラ/ベクトル複合処理システムのための相互問い合わせ法およびその装置
KR100348956B1 (ko) 재실행 요구를 촉진하여 대기시간을 감소시키는 비균일 메모리액세스 데이터 프로세싱 시스템
JPH10187631A (ja) 拡張された対称マルチプロセッサ・アーキテクチャ
JP3691134B2 (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050615

LAPS Cancellation because of no payment of annual fees