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

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

Info

Publication number
JPH09138783A
JPH09138783A JP7296473A JP29647395A JPH09138783A JP H09138783 A JPH09138783 A JP H09138783A JP 7296473 A JP7296473 A JP 7296473A JP 29647395 A JP29647395 A JP 29647395A JP H09138783 A JPH09138783 A JP H09138783A
Authority
JP
Japan
Prior art keywords
unit
port
multiprocessor system
data
address
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
JP7296473A
Other languages
English (en)
Other versions
JP3661249B2 (ja
Inventor
Tetsuhiko Okada
哲彦 岡田
Naoki Hamanaka
直樹 濱中
Naohiko Irie
直彦 入江
Takehisa Hayashi
林  剛久
Tetsuya Mochida
哲也 持田
Masabumi Shibata
正文 柴田
Yoichi Tanaka
洋一 田中
Yasuhiro Ishii
保弘 石井
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 JP29647395A priority Critical patent/JP3661249B2/ja
Priority to US08/747,344 priority patent/US6011791A/en
Publication of JPH09138783A publication Critical patent/JPH09138783A/ja
Priority to US09/456,383 priority patent/US6728258B1/en
Application granted granted Critical
Publication of JP3661249B2 publication Critical patent/JP3661249B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【課題】高速信号を伝送する上で、電気的な制約により
プロセッサ台数を多く増やすことができない問題を解決
する。 【解決手段】システム接続部100は任意のポート間で
1対1にデータを転送するユニキャスト機構を有し、さ
らに、1つのポートから全てのポートに対してデータを
転送するブロードキャスト機構を有し、転送先ポートが
異なる複数のユニキャストを同時に実行する機構を有す
るマルチプロセッサシステムにおいて、システム接続部
の各ポートに接続されているユニットを識別する第1の
手段を有し、これによって得られた情報とデータ転送の
種類および転送されるデータのアドレスに基づいてユニ
キャストかブロードキャストかを決定する第2の手段お
よびユニキャスト時のデータの転送先ポートを決定する
ための情報を保持する第3の手段を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、高性能を実現する
ため複数のプロセッサを用いて構成するマルチプロセッ
サシステムに関連する。
【0002】
【従来の技術】複数のプロセッサユニット、メモリユニ
ット、入出力ユニットを単一のバスを用いて結合しメモ
リ共有型マルチプロセッサシステムを実現する方法は良
く知られている。
【0003】しかし、単一のバスを用いて結合する場
合、接続されたユニット間でデータを転送するパスが1
つしか存在しないため、プロセッサ台数を増やしてシス
テム性能を向上させようとするとバスがボトルネックと
なる。
【0004】これを解決するためアドレスの転送にはバ
スを用い、データの転送にはクロスバスイッチを用いる
方法が、ニコルソンによって1995年のCOMPCO
M95プロシーディングの102−109ページ「RI
SCシステム/6000SMPシステム」(James
O.Nicholson, ”The RISC S
ystem/6000 SMP System,” C
OMPCON95 Proceedings,Mar
ch 1995, pp.102−109)に紹介されて
いる。
【0005】
【発明が解決しようとする課題】しかしながら、上記の
従来方法もスループット上のバスネックは解消される
が、高い周波数では信号を伝える上での電気的な制約に
よりプロセッサ台数をあまり多く増やすことができな
い。
【0006】これを解決するためには、アドレスもクロ
スバスイッチを通し、各ユニットとクロスバスイッチを
1対1で接続することによって解決可能である。
【0007】このとき、バス接続で動作しているソフト
ウエアを正しく動作させるためには、クロスバスイッチ
による接続でもキャッシュメモリとメインメモリのデー
タコヒーレンシを維持する必要がある。さらに、バス接
続を前提に作られているプロセッサをクロスバスイッチ
を介して接続するためには、バス方式でデータコヒーレ
ンシを維持する方法として一般的なアドレススヌープ方
式をクロスバスイッチ上でも実現する必要が生じる。
【0008】このアドレススヌープはキャッシュメモリ
とメインメモリのデータコヒーレンシを維持するための
方法であり、転送対象となるデータを持たないメモリユ
ニットやキャッシュメモリを持たない入出力ユニットに
対しアドレスを転送する必要はない。このため、データ
コヒーレンシを維持するために必要なアドレスの転送
は、アドレススヌープに参加する必要のあるユニットに
対してだけ行なわれれば良く、1対多のデータ転送であ
るマルチキャストを行なうための手段をシステム接続部
に設けることで効率的なアドレススヌープ方式を実現す
ることができる。本発明の第1の課題は、バスで接続さ
れることを前提に作られているプロセッサをクロスバス
イッチを介して接続することによってバスネックを解消
し、接続可能なプロセッサ台数を増加させることにより
マルチプロセッサシステムとしての性能を向上させるこ
とにある。
【0009】本発明の第2の課題は、バスで動作してい
るソフトウエアを変更することなく、クロスバスイッチ
を介して接続されたシステムにおいても動作可能にする
ことにある。
【0010】本発明で解決すべき課題は上記2つの課題
を同時に達成するものであり、さらに本発明では次に示
す2つの課題を解決することも狙っている。
【0011】本発明の第3の課題は、クロスバスイッチ
によって接続されたマルチプロセッサシステムにおい
て、効率の良いアドレススヌープ方式を提供することに
ある。
【0012】本発明の第4の課題は、クロスバスイッチ
のポートにプロセッサユニット、メモリユニット、入出
力ユニットの任意のユニットを接続可能にし、柔軟なシ
ステム構成を可能にするマルチキャスト方式を提供する
ことにある。
【0013】
【課題を解決するための手段】本発明の第1の課題は、
前記のニコルソンによって紹介されている従来例のアド
レスバスを廃止し、アドレスもクロスバスイッチを通
し、各ユニットとクロスバスイッチを1対1で接続する
ことによって達成される。
【0014】本発明の第2の課題は、アドレススヌープ
方式をクロスバスイッチでも可能にするため、アドレス
をクロスバスイッチに接続された全てのユニットにブロ
ードキャストする手段をシステム接続部に設け、データ
コヒーレンシを維持するために必要なアドレスの転送の
場合には、全てのユニットにアドレスを転送するように
システム接続部を制御することによって達成される。
【0015】本発明の第3の課題は、データコヒーレン
シを維持するために必要なアドレスの転送を、アドレス
スヌープに参加する必要のあるユニットに対してだけマ
ルチキャストする手段をシステム接続部に設け、データ
コヒーレンシを維持するために必要なアドレスの転送の
場合には、アドレススヌープに参加する必要のあるユニ
ットに対してだけアドレスを転送するようにシステム接
続部を制御することによって達成される。
【0016】本発明の第4の課題は、クロスバスイッチ
内に各ポートに接続されているユニットがマルチキャス
ト対象のユニットか否かを示す情報を保持する手段を設
け、この情報を元に転送先ポートを決定する手段を設
け、マルチキャスト対象のユニットか否かを示す情報を
元に転送先ポートを決定する手段にマルチキャスト先を
設定した後、マルチキャストを行なうようにすることに
よって達成される。
【0017】各ユニットをクロスバスイッチを用いて接
続することにより、転送先ポートが異なっていれば複数
のデータ転送を同時に実行することができるため、プロ
セッサ台数を増加させることによるバスの奪い合いによ
る性能低下を押さえることができる。
【0018】また、各ユニットとクロスバスイッチを1
対1で接続することによってバスに比べ良い電気的特性
を得ることができ、この結果接続可能なプロセッサ台数
を増加させることが可能になる。
【0019】データコヒーレンシを維持するために必要
なアドレスの転送をブロードキャストすることによっ
て、既存のプロセッサの持つアドレススヌープの機能を
利用することができ、低コストで効率的なデータコヒー
レンシを維持する方法を実現できる。
【0020】各ポートに接続されているユニットのうち
アドレススヌープに参加する必要のあるユニットに対し
てだけコヒーレントトランザクションのアドレスを転送
することによって、不必要なデータ転送を排除し、実効
的なデータ転送スループットを向上させることができ
る。
【0021】また、ポート対応にマルチキャスト対象の
ユニットか否かを示す情報を保持することによって、任
意のポートに任意のユニットを接続することが可能にな
り、柔軟なシステム構成が可能になる。
【0022】本発明のマルチキャスト方式はアドレスス
ヌープを例に説明されているが、複数のポートに対しデ
ータを転送したい場合に一般的に利用できる。
【0023】例えば、全ての入出力装置に対してリセッ
トするためのコマンドを転送したい場合には、そのポー
トに入出力ユニットが接続されているか否かをマルチキ
ャスト対象か否かを示す情報として保持する手段を設け
ればよい。
【0024】
【発明の実施の形態】以下、本発明の実施例を用いて詳
細に説明する。
【0025】図2は3つのプロセッサユニット20、3
0、40、2つのメモリユニット50、60および1つ
の入出力ユニット70を6つのポートを持つシステム接
続部100で接続した本発明の第1の実施例である。
【0026】入出力ユニット70はディスク装置75、
ディスプレイ(図示せず)、キーボード(図示せず)な
どの入出力装置に接続している。
【0027】各ユニットは通常のバス接続されたシステ
ムでの対応するユニットと、システム接続部とのインタ
フェース部分を除き同一の機能を有するため、本実施例
ではバス接続されたシステムと本実施例の相違点につい
て詳細に述べ、同一の点については説明に必要な部分だ
け説明するものとする。
【0028】プロセッサユニット30はシステム接続部
100とポート4を介して接続されており、それぞれ本
発明の特徴であるユニット識別レジスタidr31、接
続情報生成回路33、転送先識別レジスタdr32を有
している。これらの回路の詳細は後述する。
【0029】同様に他のユニットもそれぞれシステム接
続部100とポートを介して接続されており、それぞれ
ユニット識別レジスタidr、接続情報生成回路、転送
先識別レジスタdrを有している。
【0030】システム接続部100は6つのスイッチ制
御回路110から160、入力ポートと出力ポートを接
続する36個のスイッチsw1−1からsw6−6を有
している。
【0031】スイッチ制御回路140はポート4の入力
に対して設けられ、6つのスイッチsw4−1からsw
4−6の開閉を制御し、ポート4の入力バス14をそれ
ぞれポート1の出力バス21からポート6の出力バス2
6に接続する。
【0032】同様に他のスイッチ制御回路も各ポートの
入力に対応して設けられ、iを1から6の自然数とすれ
ばポートiのスイッチ制御回路はスイッチswi−1か
らswi−6の開閉を制御し、ポートiの入力バスを任
意のポートの出力バスに接続する。
【0033】ユニキャストの場合はいずれか1つをスイ
ッチを閉じることによって入力ポートを任意の出力ポー
トを接続し、ブロードキャストの場合は全てのスイッチ
を閉じることによって入力ポートを全ての出力ポートに
同時に接続するように制御する。
【0034】スイッチ制御回路はこのスイッチ制御に際
し、複数の入力ポートが同一の出力ポートに接続される
ことのないよう、出力ポートの接続権の調停を行なう。
この出力ポートの接続権の調停回路は通常のバス接続さ
れたシステムのバス権調停回路と同一であり本実施例で
は説明を省略する。
【0035】図3は各ユニットが持つ本発明の特徴であ
るユニットを識別するためのレジスタidrの内容によ
るユニット識別方法の1例である。各ユニットは図3に
示された情報を各ユニットのユニット識別レジスタid
rに保持しているものとする。
【0036】図4は本実施例の各ユニットが生成するデ
ータ転送の種類trtypを示している。本実施例では
データ転送の種類trtypは (1)非コヒーレント
ブロックリード要求、(2)非コヒーレントブロックリ
ード応答、(3)非コヒーレントブロックライト要求、
(4)非コヒーレントワードリード要求、(5)非コヒ
ーレントワードリード応答、(6)非コヒーレントワー
ドライト要求、(7)コヒーレント共有ブロックリード
要求、(8)コヒーレント排他ブロックリード要求 の
8種類である。
【0037】図5は本実施例のシステムにおけるアドレ
ス空間の割り当てを示している。本実施例では0番地以
上A番地未満の領域がメモリユニット0に設けられたメ
インメモリに、A番地以上B番地未満の領域がメモリユ
ニット1に設けられたメインメモリに、B番地以上の領
域がメモリマップされた制御レジスタなどのためのI/
O空間として割り当てられている。
【0038】本実施例では各ユニットの制御レジスタが
マップされるI/O空間のアドレスはポート対応に決め
られており、B番地以上C番地未満の領域がポート1の
ユニット、C番地以上D番地未満の領域がポート2のユ
ニット、D番地以上E番地未満の領域がポート3のユニ
ット、E番地以上F番地未満の領域がポート4のユニッ
ト、F番地以上G番地未満の領域がポート5のユニッ
ト、G番地以上MAX番地未満の領域がポート6のユニ
ットに割り当てられている。
【0039】図6は本実施例での転送先識別レジスタd
rの値である。本実施例ではアドレス空間のメモリ領域
がどのポートのメモリユニットに設けられているかを識
別するために、転送先識別レジスタdrとして2つのポ
ート番号を保持できるようにしている。
【0040】転送先識別レジスタdrの値は、本発明の
特徴であるユニット識別レジスタidrの情報を元に設
定される。この動作に関しては後ほど詳細に述べる。
【0041】上記データ転送の種類trtypとアドレ
ス空間の割り付け方はバス接続されたシステムにおいて
用いられるデータ転送の種類、アドレス空間の割り付け
方と同一であり本発明に特有のものではない。
【0042】本発明では、上記データ転送の種類と転送
されるデータのアドレスおよび本発明の特徴である転送
先識別レジスタdrを用い、各ユニットの本発明の特徴
である接続情報生成回路が転送先を決定し、図7に示す
5種類の制御情報scctlと共にシステム接続部にデ
ータ転送要求を出す。
【0043】次に本実施例の各ユニットから要求される
データ転送の種類trtypについて説明する。
【0044】マルチプロセッサシステムでは、データの
読み出しを行なう場合は読み出し行なう時点で本来メイ
ンメモリに存在するべき最新のデータを読み出す必要が
あり、最新のデータを他のプロセッサユニットが保持し
ていないかを確認するためコヒーレント共有ブロックリ
ード要求またはコヒーレント排他ブロックリード要求に
よって読み出しを行なう。
【0045】書き込みを行なう場合には、他のプロセッ
サユニットが古いデータを保持しないようにするため、
コヒーレント排他リード要求によって1度そのデータの
読み出しを行なう。
【0046】読み出し要求時には、そのデータのアドレ
スを他のプロセッサユニットに伝え、コヒーレンシをチ
ェックする必要があるが、読み出されたデータを転送す
る場合にはコヒーレンシチェックは不要であり、リード
応答には非コヒーレントブロックリード応答や非コヒー
レントワードリード応答が用いられる。
【0047】プロセッサユニットはあるデータを書き換
えてキャッシュメモリに持っている場合、キャッシュメ
モリのリプレースまたは他のプロセッサユニットからの
そのデータに対するコヒーレントリード要求を検出した
場合、書き換えたデータを転送しなければならない。こ
のときは、それぞれ非コヒーレントブロックライト要求
または非コヒーレントブロックリード応答でデータを転
送する。
【0048】全てのデータがキャッシュメモリに保持さ
れる訳ではなく、例えば非キャッシュ領域が決められて
いる場合、プロセッサユニットは非コヒーレントブロッ
クリード要求でデータの読み出す。また、I/Oレジス
タのようにブロック単位に読み出し/書き込みを行なわ
ないデータ(ワードデータ)はキャッシングされないた
め、プロセッサユニットは非コヒーレントワードリード
要求や非コヒーレントワードライト要求を用いる。
【0049】各ユニットから要求されるデータ転送はそ
の種類trtypに応じて転送に要するサイクルが異な
る。転送に要するサイクル数はシステム接続部の制御情
報として必要であり、説明のため本実施例では、リード
要求はアドレスを転送する1サイクル、ブロックライト
要求は5サイクル、ブロックリード応答は4サイクル、
ワードライト要求は2サイクル、ワードリード応答は1
サイクルで転送するものとする。
【0050】図7は上記データ転送の種類trtypと
転送されるデータのアドレスから接続情報生成回路によ
って生成されるシステム接続部への制御情報scctl
を示している。データ転送の種類trtypはそれ自身
がデータとして転送先のユニットに送られるため、シス
テム接続部への制御情報scctlはユニキャストかブ
ロードキャストかという情報、転送に要するサイクル
数、転送元のポート番号と転送先のポート番号だけでよ
い。
【0051】接続情報生成回路は、データ転送の種類t
rtypを元にユニキャストかブロードキャストかとい
う情報、転送に要するサイクル数を以下のように生成す
る。非コヒーレントブロックリード要求である場合、1
サイクルのユニキャスト。
【0052】非コヒーレントブロックリード応答である
場合、4サイクルのユニキャスト。
【0053】非コヒーレントブロックライト要求である
場合、5サイクルのユニキャスト。
【0054】非コヒーレントワードリード要求である場
合、1サイクルのユニキャスト。
【0055】非コヒーレントワードリード応答である場
合、1サイクルのユニキャスト。
【0056】非コヒーレントワードライト要求である場
合、2サイクルのユニキャスト。
【0057】コヒーレント共有ブロックリード要求また
はコヒーレント排他ブロックリード要求である場合、1
サイクルのブロードキャスト。
【0058】接続情報生成回路は、転送元のポート番号
として自身の接続されているポート番号を制御情報sc
ctlのsrcフィールドに埋め込む。
【0059】接続情報生成回路は、データ転送の種類t
rtypおよびそのデータのアドレスと転送先識別レジ
スタdrを元に転送先のポート番号を生成し制御情報s
cctlのdestフィールドに埋め込む。
【0060】要求されたデータ転送がリード要求に対す
る応答である場合は、リード要求時にシステム接続部に
出された制御情報scctlのsrcフィールドに含ま
れる要求元のポート番号をdestフィールドに埋め込
む。
【0061】要求されたデータ転送がライト要求やリー
ド要求である場合はユニキャストかブロードキャストか
に関わらずそのアドレスがメモリ空間にあれば、図6に
示されるように0番地以上A番地未満の領域であればd
r0の値である1を、A番地以上B番地未満の領域であ
ればdr1の値である4を転送先のポート番号としてd
estフィールドに埋め込む。そのアドレスがI/O空
間にあれば、図5に示されるようにB番地以上C番地未
満の領域であれば1、C番地以上D番地未満の領域であ
れば2、D番地以上E番地未満の領域であれば3、E番
地以上F番地未満の領域であれば4、F番地以上G番地
未満の領域であれば5、G番地以上MAX番地未満の領
域であれば6を転送先のポート番号としてdestフィ
ールドに埋め込む。
【0062】以上の説明から明らかなように、転送先識
別レジスタdrに値を設定する前に転送先のポート番号
を決定し、システム接続部を介してデータ転送を行なえ
るのは、アドレス固定にポート番号が決められているI
/O空間に対するユニキャストだけである。
【0063】このため、本発明のマルチプロセッサシス
テム上でバス接続されたシステムで動作しているソフト
ウエアを変更することなく動作させるためには、I/O
空間に対するユニキャスト転送だけで転送先識別レジス
タdrに正しく値を設定する手順が存在し、この転送先
識別レジスタdrに正しく値を設定した後メモリ空間に
対するユニキャストやブロードキャスト転送を用いるよ
うにしなければならない。次にこの手順について説明す
る。
【0064】本実施例では、各ユニットが持っているユ
ニット識別レジスタidrおよび転送先識別レジスタd
rは、接続されたポートのI/O空間にマップされてい
るI/Oレジスタであり、各ポートのI/O空間内のオ
フセットアドレスは共通に決められている。
【0065】各プロセッサユニットはリセット直後に実
行されるブートプログラムを保持するROMを持ってお
り、リセット直後のプロセッサはそのブートプログラム
に従いプロセッサ自身、プロセッサユニット内のキャッ
シュメモリを初期化する。この初期化の段階ではシステ
ム接続部に対するデータの転送要求は発生しない。
【0066】本実施例では、この初期化の課程で複数あ
るプロセッサユニットの中から1つだけ主プロセッサユ
ニットが選ばれるものとする。例えば、主プロセッサユ
ニットとなるプロセッサユニットだけブートプログラム
の一部が他のプロセッサユニットのブートプログラムと
異なるようにする。あるいはポート対応にプロセッサユ
ニットであるか否かを知らせる信号を設けてあれば、シ
ステム接続部100からポート番号が最も小さいプロセ
ッサユニットであるか否かを伝える信号を設けることは
容易である。
【0067】また、リセット直後のシステム接続部10
0は各ポートからのデータ転送要求を待っており、なに
もしていない状態にある。
【0068】プロセッサユニット内の初期化を終了した
プロセッサユニットは、主プロセッサユニットでなけれ
ば主プロセッサユニットからの割り込み待ちの状態に入
る。プロセッサユニット内の初期化を終了した主プロセ
ッサユニットは、I/O空間に対するユニキャストによ
って、ポート番号順に各ポートに接続されたユニットの
ユニット識別レジスタidrを読み出し、メモリユニッ
トがどのポートに接続されているかを認識する。
【0069】この後、I/O空間に対するユニキャスト
によって、メモリユニットが接続されていたポート番号
を各ユニットの転送先識別レジスタdrに設定する。
【0070】以上の手順によって、I/O空間に対する
ユニキャスト転送だけを用いて転送先識別レジスタdr
に正しく値を設定することができる。
【0071】上記実施例では、I/O空間はポート対応
にアドレス空間に割り付けられていた。このため、I/
O空間に対するユニキャストで転送先識別レジスタdr
に値を設定する方法を示した。しかし、バス接続された
システムと同様に、各ユニットにそのユニットのI/O
レジスタに対するアクセスか否かを、アドレスによって
取捨する機構を持たせることにより、I/O空間に対す
るユニキャストに代えてI/O空間に対するブロードキ
ャストだけを用いて転送先識別レジスタdrに値を設定
することもできる。
【0072】上記実施例では、説明を簡単にするためメ
モリユニットは1種類しかないものとしている。このた
め、1つのメモリユニットのメモリ容量によって決まる
固定アドレスA番地を基準に、メモリ空間もA番地未満
の領域とA番地以降の領域の2つに決められている。
【0073】異なるメモリ容量を持つメモリユニットが
接続されることがある場合には次の2つの手段を設けれ
ばよいことは明らかである。
【0074】(1)転送先識別レジスタdrにはポート
番号だけでなく、そのメモリユニットが割り当てられる
アドレス領域の最小アドレスと最大アドレスを保持する
ようにする。
【0075】(2)接続情報生成回路では転送するデー
タのアドレスを上記最小アドレスと最大アドレスと比較
し、アドレス領域にある場合に、そのポート番号をde
stフィールドに埋め込むようにする。
【0076】上記実施例では、転送先識別レジスタdr
は2つのポートに対応する分だけしか情報を保持できな
いため、接続可能なメモリユニットは最大2つである。
接続可能なメモリユニットの数を増やすためには転送先
識別レジスタdrにそのポート数分だけの情報を保持で
きるようにすればよいことは明白である。
【0077】上記実施例では、I/O空間はポート対応
に固定アドレスが定められている。しかし、上記実施例
でポート対応にアドレスが固定されている必要があるの
はユニット識別レジスタidrおよび転送先識別レジス
タdrだけであり、これらのレジスタは固定アドレスに
割り付け、その他のI/Oレジスタはメモリ空間と同様
にそのI/O空間の領域の最小アドレスと最大アドレス
とポート番号を保持する、転送先識別レジスタdrと同
等の機能を有する手段を持つこともできる。
【0078】次に図1を用いて第2の実施例について、
図2の第1の実施例との相違点を中心に説明する。
【0079】第1の実施例はアドレススヌープを実現す
る方法としてブロードキャストを用いる例を示した。第
2の実施例はマルチキャストを用いアドレススヌープに
参加する必要のあるユニットに対してだけコヒーレント
リードトランザクションを転送するようにした例であ
る。
【0080】第2の実施例では、システム接続部100
は本発明の特徴の一つであるマルチキャストレジスタを
mcrA180、mcrB190の2つ有しており、ス
イッチ制御回路110から160がマルチキャストレジ
スタmcrを参照してスイッチを制御する信号を生成す
る点が第1の実施例と異なっている。
【0081】マルチキャストレジスタmcrは第1の実
施例の転送先識別レジスタdrと同様にユニット識別レ
ジスタidrの情報を元に設定されるレジスタであり、
ポート対応にマルチキャスト対象が接続されているポー
トであれば1、そうでないときに0の値を保持する。
【0082】図8はアドレススヌープを実現するためマ
ルチキャスト対象としてプロセッサユニットが接続され
ているポート3、ポート4およびポート6を選択しマル
チキャストレジスタmcrA180に、マルチキャスト
対象として入出力ユニット70が接続されているポート
1を選択しマルチキャストレジスタmcrB190に値
を設定した例を示している。
【0083】図9は第2の実施例のシステム接続部10
0のスイッチswi−jの回路を示している。第1の実
施例ではスイッチswi−jは、信号on−ijだけで
制御されていたが、図9ではさらにmcA−iまたはm
cB−iが1の時それぞれマルチキャストレジスタmc
rAからの信号mcrA−j、mcrBからの信号mc
rB−jの値によって接続するか否かが決まるように作
られている。
【0084】これによって、アドレススヌープを行なう
場合であれば、mc0−iを1にすることによって3つ
のプロセッサユニットとdestで示されるメモリユニ
ットに対し同時にコヒーレントリード要求を出すことが
できる。
【0085】第2の実施例では図10に示されるように
システム接続部への制御情報scctlの種類としてマ
ルチキャストレジスタmcrA、mcrBに対応して2
つのマルチキャストが追加され、コヒーレント共有ブロ
ックリード要求またはコヒーレント排他ブロックリード
要求である場合、実施例1のブロードキャストに替わり
マルチキャストAが用いられる。
【0086】マルチキャストレジスタmcrは第1の実
施例の転送先識別レジスタdrと同様の手順で、ユニッ
ト識別レジスタidrの情報を元にI/O空間に対する
ユニキャスト転送だけで設定できることは明白であり、
設定後にマルチキャスト転送を用いるようにする。
【0087】マルチキャストレジスタmcrはそのレジ
スタを用いるマルチキャスト転送要求が発行される直前
に設定されていればよい。このため、初期設定で固定値
に設定するだけではなくソフトウエアでマルチキャスト
レジスタmcrの内容を書き換えることによって、マル
チキャスト転送先を変更することもできる。
【0088】上記実施例ではマルチキャストレジスタm
crはシステム接続部100に設けられているが、マル
チキャストレジスタmcrを各ユニットに設け、システ
ム接続部100への制御情報scctlにその内容を含
めることもできる。
【0089】上記実施例ではポート毎にマルチキャスト
レジスタmcrの1ビットを対応させているが、システ
ム接続部100のポートを例えばポート1と2、3と
4、5と6の3グループに分け、1グループ内では同じ
種類のユニットだけを接続するようにし、グループ対応
にマルチキャストレジスタmcrのビットを対応させる
こともできる。これによってマルチキャストレジスタm
crを有するハードウエアの増加を少なくすることがで
きる。
【0090】
【発明の効果】多数台のプロセッサを接続することがで
きる。
【図面の簡単な説明】
【図1】本発明の実施例ブロック図。
【図2】本発明の実施例ブロック図。
【図3】ユニット識別法を示す表図。
【図4】デ−タ転送の種類を示す表図。
【図5】アドレス割当てを示す表図。
【図6】転送先識別レジスタを示す表図。
【図7】制御情報を示す表図。
【図8】レジスタを示す表図。
【図9】スイッチの回路図。
【図10】接続部制御情報を示す表図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 林 剛久 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所情報・通信開発本部内 (72)発明者 持田 哲也 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 柴田 正文 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 田中 洋一 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 石井 保弘 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1つ以上のプロセッサを有する
    プロセッサユニット、メインメモリの一部を有するメモ
    リユニット、入出力装置を接続する入出力ユニットおよ
    びシステム接続部からなるマルチプロセッサシステムで
    あり、該システム接続部はポート番号によって識別され
    る複数のポートを持ち、該1つのポートには前記プロセ
    ッサユニット、メモリユニット、入出力ユニットのいず
    れか1つを接続することが可能であり、前記プロセッサ
    ユニット、メモリユニット、入出力ユニットを少なくと
    もそれぞれ1つ以上該ポートに接続することによってシ
    ステムを構成するマルチプロセッサシステムであり、該
    システム接続部は任意のポート間で1対1にデータを転
    送する(以下ユニキャストと呼ぶ)機構を有し、さら
    に、1つのポートから全てのポートに対してデータを転
    送する(以下ブロードキャストと呼ぶ)機構を有し、転
    送先ポートが異なる複数のユニキャストを同時に実行す
    る機構を有するマルチプロセッサシステムにおいて、該
    システム接続部の各ポートに接続されているユニットを
    識別する第1の手段を有し、該第1の手段によって得ら
    れた情報とデータ転送の種類あるいは/および転送され
    るデータのアドレスに基づいてユニキャストでデータ転
    送をするかブロードキャストでデータ転送をするかを決
    定する第2の手段およびユニキャスト時のデータの転送
    先ポートを決定するための情報を保持する第3の手段を
    有することを特徴とするマルチプロセッサシステム。
  2. 【請求項2】前記第1項のマルチプロセッサシステムで
    あり、さらに、該システム接続部は任意のポート間から
    複数のポートに対し1対多にデータを転送する(以下マ
    ルチキャストと呼ぶ)機構を有し、転送先ポートが異な
    る複数のユニキャスト、マルチキャストを同時に実行す
    る機構を有するマルチプロセッサシステムにおいて、さ
    らに、該システム接続部の各ポートに接続されているユ
    ニットを識別する該第1の手段によって得られた情報と
    データ転送の種別あるいは/およびデータ転送先アドレ
    スに基づいてマルチキャスト時のデータの転送先ポート
    を決定するための情報を保持する第4の手段を有するこ
    とを特徴とするマルチプロセッサシステム。
  3. 【請求項3】前記第1項または第2項のマルチプロセッ
    サシステムであり、該第1の手段が各ユニットに属して
    いるシステムにおいて、まず、ユニキャスト機構を用い
    て第1の手段を読み出し、接続されているユニットを識
    別し、次に、該識別情報に基づいて、ユニキャスト機構
    を用いて第3および第4の手段を設定し、該第3および
    第4の手段の設定後、ブロードキャスト機構あるいはマ
    ルチキャスト機構を用いてデータ転送を開始することを
    特徴とするブロードキャスト方法あるいはマルチキャス
    ト方法。
  4. 【請求項4】前記第1項または第2項のマルチプロセッ
    サシステムであり、該第1の手段が各ユニットに属して
    いるシステムであり、さらに、各ユニットがそれぞれ、
    ブロードキャストされた読み出し/書き込み要求のアド
    レスが、そのユニットに属する資源に割り当てられたも
    のか否かを判別し、前者の場合要求された読み出し/書
    き込みを行ない、後者の場合は読み出し/書き込み要求
    を無視する機構を有するシステムにおいて、まず、ブロ
    ードキャスト機構を用いて第1の手段を読み出し、接続
    されているユニットを識別し、次に、該識別情報に基づ
    いて、ブロードキャスト機構を用いて第3および第4の
    手段を設定し、該第3および第4の手段の設定後、ユニ
    キャスト機構あるいはマルチキャスト機構を用いてデー
    タ転送を開始することを特徴とするブロードキャスト方
    法あるいはマルチキャスト方法。
  5. 【請求項5】前記第2項のマルチプロセッサシステムに
    おいて、該第4の手段を各ユニットに持つことを特徴と
    するマルチプロセッサシステム。
  6. 【請求項6】前記第2項のマルチプロセッサシステムに
    おいて、該第4の手段を該システム接続部に持つことを
    特徴とするマルチプロセッサシステム。
  7. 【請求項7】前記第2項のマルチプロセッサシステムで
    あり、第4の手段が保持する1ビットの情報が1つのポー
    トに対応しており、第4の手段の保持する情報によって
    指定されたポート対しデータ転送を行なうマルチキャス
    ト機構を有することを特徴とするマルチプロセッサシス
    テム。
  8. 【請求項8】前記第2項のマルチプロセッサシステムで
    あり、第4の手段が保持する1ビットの情報が複数のポ
    ートをまとめた1つのグループに対応しており、第4の
    手段の保持する情報によって指定された該グループに属
    する全てのポート対しデータ転送を行なうマルチキャス
    ト機構を有することを特徴とするマルチプロセッサシス
    テム。
JP29647395A 1995-11-15 1995-11-15 マルチプロセッサシステム Expired - Fee Related JP3661249B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP29647395A JP3661249B2 (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
JP29647395A JP3661249B2 (ja) 1995-11-15 1995-11-15 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JPH09138783A true JPH09138783A (ja) 1997-05-27
JP3661249B2 JP3661249B2 (ja) 2005-06-15

Family

ID=17834015

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP3661249B2 (ja)

Cited By (3)

* 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
CN100354851C (zh) * 2002-06-19 2007-12-12 阿尔卡塔尔加拿大公司 有共享程序存储器的多处理器计算设备及存储器访问方法
JP2012504792A (ja) * 2009-02-17 2012-02-23 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100354851C (zh) * 2002-06-19 2007-12-12 阿尔卡塔尔加拿大公司 有共享程序存储器的多处理器计算设备及存储器访问方法
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
JP2012504792A (ja) * 2009-02-17 2012-02-23 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法

Also Published As

Publication number Publication date
JP3661249B2 (ja) 2005-06-15

Similar Documents

Publication Publication Date Title
US5592625A (en) Apparatus for providing shared virtual memory among interconnected computer nodes with minimal processor involvement
US4968977A (en) Modular crossbar interconnection metwork for data transactions between system units in a multi-processor system
EP0817092B1 (en) Extended symmetrical multiprocessor architecture
JP3959914B2 (ja) 主記憶共有型並列計算機及びそれに用いるノード制御装置
US6789173B1 (en) Node controller for performing cache coherence control and memory-shared multiprocessor system
US5796605A (en) Extended symmetrical multiprocessor address mapping
US5214759A (en) Multiprocessors including means for communicating with each other through shared memory
JPH11513150A (ja) Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ
EP0603801A2 (en) Generalized shared memory in a cluster architecture for a computer system
US20010013089A1 (en) Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
WO2007078591A1 (en) Partitioned shared cache
JPH02291044A (ja) 大域データ複写および2レベルのアドレス変換装置を備えた多重プロセッサ・システム
EP1701267B1 (en) Address snoop method and multi-processor system
US6728258B1 (en) Multi-processor system and its network
JPH096711A (ja) セグメント化したメモリを備えたコンピュータ・システム
JPH11345175A (ja) 代替パス制御システム及び方法
US6038642A (en) Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system
EP0817095B1 (en) Extended symmetrical multiprocessor architecture
JPH0650863B2 (ja) 直接データ転送のためのインターフエース
JPH09138783A (ja) マルチプロセッサシステム
AU606083B2 (en) Interface between processor and special instruction processor in digital data processing system
US6516343B1 (en) Computer system and method for enhancing memory-to-memory copy transactions by utilizing multiple system control units
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
US5423007A (en) Multiprocessor computer system having improved coupling arrangement for independently operating local processor systems
US20020078322A1 (en) Method for rapid communication within a parallel computer system, and a parallel computer system operated by the method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041108

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: 20050301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050314

LAPS Cancellation because of no payment of annual fees