JP2001167069A - マルチプロセッサシステム及びデータ転送方法 - Google Patents

マルチプロセッサシステム及びデータ転送方法

Info

Publication number
JP2001167069A
JP2001167069A JP35373099A JP35373099A JP2001167069A JP 2001167069 A JP2001167069 A JP 2001167069A JP 35373099 A JP35373099 A JP 35373099A JP 35373099 A JP35373099 A JP 35373099A JP 2001167069 A JP2001167069 A JP 2001167069A
Authority
JP
Japan
Prior art keywords
packet
transfer
crossbar
bus
data
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.)
Pending
Application number
JP35373099A
Other languages
English (en)
Inventor
Yasumasa Honjo
康正 本城
Toru Watabe
徹 渡部
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP35373099A priority Critical patent/JP2001167069A/ja
Priority to US09/715,196 priority patent/US6701407B1/en
Publication of JP2001167069A publication Critical patent/JP2001167069A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 本発明はマルチプロセッサシステム及びデー
タ転送方法に関し、プロセッサの数が増大し、マルチプ
ロセッサシステムが大規模化しても、データ転送を高速
に、且つ、高効率に行うことを可能とすることを目的と
する。 【解決手段】 各々が複数のプロセッサ、転送制御部及
び第1のクロスバとを含む、複数のシステムモジュール
と、第2のクロスバを含むクロスバモジュールと、各シ
ステムモジュールの転送制御部をクロスバモジュールに
接続する制御バスと、各システムモジュールの第1のク
ロスバをクロスバモジュールに接続するデータバスとを
備え、任意の1つのシステムモジュール内では、転送制
御部が制御情報パケットを制御バスに出力した後に、第
1のクロスバが転送制御部からのコマンド信号に応答し
てデータパケットをデータバスへ出力するように構成す
る。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】マルチプロセッサシステム及
びデータ転送方法に係り、特に複数のプロセッサを搭載
したシステムモジュールが、複数台接続された構成のマ
ルチプロセッサシステム、及び、このようなマルチプロ
セッサシステムにおけるデータ転送方法に関する。
【0002】
【従来の技術】従来のマルチプロセッサシステムでは、
複数のプロセッサがバスを介して接続されている。しか
し、プロセッサの数が増大し、マルチプロセッサシステ
ムが大規模化するにつれて、バス上の競合が頻繁に発生
してしまう。このため、データ転送を高速に、且つ、高
効率に行うことが難しくなってくる。
【0003】
【発明が解決しようとする課題】従って、従来のマルチ
プロセッサシステムでは、プロセッサの数が非常に多く
なると、データ転送を高速に、且つ、高効率に行うこと
が難しく、本来マルチプロセッサシステムの性能向上の
ためにプロセッサの数を増大したにも関わらず、プロセ
ッサ間のデータ転送という面では性能の著しい向上は図
れないという問題があった。
【0004】そこで、本発明は、プロセッサの数が増大
し、マルチプロセッサシステムが大規模化しても、デー
タ転送を高速に、且つ、高効率に行うことのできるマル
チプロセッサシステム及びデータ転送方法を提供するこ
とを目的とする。
【0005】
【課題を解決するための手段】上記の課題は、各々が複
数のプロセッサ、転送制御部及び第1のクロスバとを含
む、複数のシステムモジュールと、第2のクロスバを含
むクロスバモジュールと、各システムモジュールの転送
制御部を該クロスバモジュールに接続する制御バスと、
各システムモジュールの第1のクロスバを該クロスバモ
ジュールに接続するデータバスとを備え、任意の1つの
システムモジュール内では、該転送制御部が制御情報パ
ケットを該制御バスに出力した後に、該第1のクロスバ
が該転送制御部からのコマンド信号に応答してデータパ
ケットを該データバスへ出力するマイクロプロセッサシ
ステムによって達成される。
【0006】前記転送制御部は、データ転送を伴わない
リプライオンリー転送の通知を行うためのリプライオン
リーパケットも、前記制御バスに出力する構成であって
も良い。前記転送制御部は、制御情報パケット及びリプ
ライオンリーパケットの生成順序に関わらず、該制御情
報パケットが生成された時点で優先的に該制御情報パケ
ットを出力し、未出力のリプライオンリーパケットが存
在すればその後に出力する構成であり、該制御情報パケ
ットの出力開始時点から前記第1のクロスバによる対応
するデータパケットの出力開始時点までの間隔は一定で
あっても良い。
【0007】上記の課題は、各々が複数のプロセッサ、
転送制御部及び第1のクロスバとを含む、複数のシステ
ムモジュールが、第2のクロスバを含むクロスバモジュ
ールを介して接続された構成のマルチプロセッサシステ
ムにおけるデータ転送方法であって、任意の1つのシス
テムモジュール内では、該転送制御部が制御情報パケッ
トを制御バスに出力した後に、該第1のクロスバが該転
送制御部からのコマンド信号に応答してデータパケット
をデータバスへ出力するステップを含むデータ転送方法
によっても達成される。
【0008】データ転送方法は、前記転送制御部が、デ
ータ転送を伴わないリプライオンリー転送の通知を行う
ためのリプライオンリーパケットを、前記制御バスに出
力するステップと、該転送制御部が、制御情報パケット
及びリプライオンリーパケットの生成順序に関わらず、
前記制御情報パケットが生成された時点で優先的に該制
御情報パケットを出力し、未出力のリプライオンリーパ
ケットが存在すればその後に出力するステップとを更に
含み、該制御情報パケットの出力開始時点から前記第1
のクロスバによる対応するデータパケットの出力開始時
点までの間隔は一定であるようにしても良い。
【0009】従って、本発明によれば、プロセッサの数
が増大し、マルチプロセッサシステムが大規模化して
も、データ転送を高速に、且つ、高効率に行うことので
きるマルチプロセッサシステム及びデータ転送方法を実
現できる。
【0010】
【発明の実施の形態】以下、本発明になるマルチプロセ
ッサシステム及び本発明になるデータ転送方法の各実施
例を、図面と共に説明する。
【0011】
【実施例】図1は、本発明になるマルチプロセッサシス
テムの第1実施例の概略構成を示すブロック図である。
マルチプロセッサシステムの第1実施例は、本発明にな
るデータ転送方法の第1実施例を採用する。図1に示す
マルチプロセッサシステムは、複数のシステムモジュー
ル(又は、システムボード:SB)1−1〜1−Nと、
クロスバモジュール(又は、クロスバボード:XB)2
と、システムモジュール1−1〜1−Nとクロスバモジ
ュール2とを接続するバス3とからなる。各システムモ
ジュール1−1〜1−Nは、同じ構成を有する。
【0012】図2は、1つのシステムモジュール1の構
成を示すブロック図である。同図中、システムモジュー
ル1は、CPU等からなりキャッシュメモリを有する複
数のプロセッサ11−1〜11−Mと、メインメモリ1
2と、メインメモリ12へのアクセス等を制御する全体
制御部13と、転送制御部14と、レベル1(L1)ク
ロスバ15とからなる。転送制御部14はバス3を構成
するコントロールバス(以下、Cバスと言う)3−1、
アドレスバス3−3及びステータスバス3−4に接続さ
れ、L1クロスバ15はバス3を構成するデータバス
(以下、Dバスと言う)3−2に接続されている。
【0013】図3は、クロスバモジュール2の構成を示
すブロック図である。同図中、クロスバモジュール2
は、転送制御部21と、アドレス広報部22と、キャッ
シュ広報部23とからなる。このクロスバモジュール2
は、説明の便宜上、図1に示すシステムモジュール1−
1,1−2間を接続するものとして図示してある。後述
する如く、転送制御部21は、Cバス3−1に接続され
たレベル2(L2)クロスバ25−1と、Dバス3−2
に接続されたL2クロスバ25−2を有する。
【0014】先ず、通常の転送処理の1つであるリード
処理の手順について説明する。例えばシステムモジュー
ル1−1から発行されるリード要求は、クロスバモジュ
ール2によりバス3のアドレスバス3−3を介して各シ
ステムモジュール1−2〜1−Nに供給される。クロス
バモジュール2は、アドレス広報部22から、リード要
求の要求アドレスをバス3のアドレスバス3−3を介し
て各システムモジュール1−2〜1−Nに広報する。全
てのシステムモジュール1−1〜1−Nは、夫々に搭載
されたプロセッサ11−1〜11−Mのキャッシュメモ
リの状態を示すキャッシュ情報(ステータス情報)をバ
ス3のステータスバス3−4を介してクロスバモジュー
ル2に供給する。クロスバモジュール2は、マージされ
たキャッシュ情報をバスのステータスバス3−4を介し
てキャッシュ広報部23から各システムモジュール1−
1〜1−Nに広報する。これにより、要求アドレスのメ
モリを持ち、且つ、そのメモリに有効なデータが保持さ
れているシステムモジュールがシステムモジュール1−
2〜1−Nの中に存在すれば、この有効なデータが読み
出されて転送制御部14及びL1クロスバ15を介して
クロスバモジュール2に対して出力され、更にクロスバ
モジュール2の転送制御部21を介して要求元のシステ
ムモジュール1−1に転送される。尚、要求元のシステ
ムモジュール1−1が要求アドレスのメモリを持つ場合
には、システムモジュール1−1内で要求元のプロセッ
サに対してデータ転送が行われる。
【0015】本実施例は、上記の如きアドレスの広報及
びキャッシュ情報の広報が行われた後の、即ち、データ
転送の準備が完了後の、システムモジュール内又はシス
テムモジュール間のデータ転送に特徴がある。以下の説
明では、説明の便宜上、リード処理について説明する
が、ライト処理についても同様のデータ転送が行われる
ことは、言うまでもない。
【0016】図4は、本実施例の要部を示すブロック図
である。同図中、図1〜図3と同一部分には同一符号を
付し、その説明は省略する。又、説明の便宜上、同図で
は、システムモジュール1−1と、システムモジュール
1−2とのクロスバモジュール2を介した接続のみを示
す。各システムモジュール1−1,1−2内の転送制御
部14内には、プロセッサ11−1〜11−Mからの要
求の調停等を行う調停部31と、転送データの到着を判
定するデータ到着判定回路32とが設けられている。調
停部31は、C用調停回路31Cと、R用調停回路31
Rとを含む。調停部31及びL1クロスバ15は、プロ
セッサ11−1〜11−M、メインメモリ12、入出力
(IO)ポート(図示せず)等と接続されており、デー
タを含むリード要求等の転送要求が入力される。データ
転送は、データと、制御情報とを多重化して行う。
【0017】システムモジュール1−1の転送制御部1
4は、Cバス3−1を介してクロスバモジュール2のL
2クロスバ25−1に接続され、システムモジュール1
−2の転送制御部14は、Cバス3−1を介してクロス
バモジュール2のL2クロスバ25−1に接続されてい
る。つまり、各システムモジュール内の転送制御部14
は、Cバス3−1及びL2クロスバモジュール2のL2
クロスバ25−1を介して、同じか、或いは、異なるシ
ステムモジュール内の転送制御部14と接続されてい
る。
【0018】他方、システムモジュール1−1のL1ク
ロスバ15は、Dバス3−2を介してクロスバモジュー
ル2のL2クロスバ25−2に接続され、システムモジ
ュール1−2のL1クロスバ15は、Dバス3−2を介
してクロスバモジュール2のL2クロスバ25−2に接
続されている。つまり、各システムモジュール内のL1
クロスバ15は、Dバス3−2及びL2クロスバモジュ
ール2のL2クロスバ25−2を介して、同じか、或い
は、異なるシステムモジュール内のL1クロスバ15と
接続されている。
【0019】Cバス3−1及びDバス3−2は夫々、デ
ータの送受信が例えば同一システムモジュール1−1内
で行われる場合には、同一システムモジュール1−1内
で送受信可能である。又、データの送受信が例えば異な
るシステムモジュール1−1,1−2間で行われる場合
には、Cバス3−1及びDバス3−2は夫々、例えば送
信側のシステムモジュール1−1と受信側のシステムモ
ジュール1−2との間でデータを転送する。Cバス3−
1上では、制御情報が所定単位である制御情報パケット
(以下、Cパケットと言う)形式で転送される。又、D
バス3−2上では、データが所定単位であるデータパケ
ット(以下、Dパケットと言う)形式で転送される。
【0020】各システムモジュール1−1,1−2内で
は、転送制御部14が転送要求に基づいて、コマンド信
号をL1クロスバ15へ出力する。このコマンド信号
は、L1クロスバ15のデータ入出力タイミング等を制
御する。送信側のシステムモジュール内では、データ送
信の準備が完了すると、転送制御部14がパケットの行
き先を示すヘッダを含む1つのCパケットを送信すると
同時に、L1クロスバ15にデータ入力コマンドとDパ
ケット用ヘッダ情報をコマンド信号として出力する。そ
の後、このL1クロスバ15は、上記1つのCパケット
に対応する1つのDパケットを、入力データとコマンド
信号のヘッダ情報から生成して出力する。従って、送信
側のシステムモジュールの転送制御部14からCバス3
−1へ出力される1つのCパケットは、同じシステムモ
ジュールのL1クロスバ15からDバス3−2へ出力す
る対応する1つのDパケットより時間的に先行する。
【0021】このように、送信側のシステムモジュール
内の転送制御部14は、Cパケットの出力を、同じシス
テムモジュール内のL1クロスバ15からのDパケット
の出力より一定サイクル先行させることができる。この
ため、受信側のシステムモジュール内の転送制御部14
が、同じシステムモジュール内のL1クロスバ15にD
パケットが到着する前に、このL1クロスバ15を制御
するためのコマンド信号を生成することができ、受信側
のシステムモジュール内でDパケットの到着後直ちにL
1クロスバ15からデータをSB内のターゲット(CP
U,IO,メモリ)へ出力することができる。
【0022】ところで、本実施例では、データ転送を伴
わない転送の場合には、データ転送を伴う転送を妨げる
ことなく通知可能としている。ここで、データ転送を伴
わない転送(以下、リプライオンリー転送と言う)と
は、データエラー通知、インバリデーション完了通知、
データ出力許可通知等を含み、このようなリプライオン
リー転送は、Cバス3−1のみを用いて行われる。デー
タエラー通知は、データにエラーが発生した旨を通知す
るものである。又、インバリデーション完了通知は、プ
ロセッサのキャッシュメモリ内のデータ無効化が完了し
た旨を通知するもので、データ出力許可通知は、データ
の集中を是正するための対策として通知される。
【0023】本実施例では、一般的に、Cバス3−1の
消費サイクルが、Dバス3−2の消費サイクルに比べて
少ない点に着目している。例えば、Cバス3−1上を転
送される1つのCパケットが2サイクル、Dバス3−2
上を転送される1つのDパケットが5サイクルの場合、
Cバス3−1上では3サイクル分の空きが発生する。そ
こで、Cバス3−1上の3サイクル分の空きを利用し
て、Dパケットを伴わないリプライオンリー転送を行
う。つまり、データ転送を伴い転送の場合、Cパケット
をCバス3−1上で転送し、DパケットをDバス3−2
上を転送する。他方、データ転送を伴わない転送の場合
リプライオンリーパケット(以下、Rパケットと言う)
をCバス3−1上で転送する。
【0024】図5は、Cパケットのビット構成を示す図
である。同図中、1τ目,2τ目は、夫々Cパケットの
1サイクル目と2サイクル目を示す。ノードIDは、複
数のシステムモジュールをグループ化した場合のグルー
プを示すIDであり、スロットIDは、各システムモジ
ュールを示すIDである。バッファ種別は、L1クロス
バ15内のバッファ構成を示し、ポート(Port)I
Dは、IOポートを示すIDである。リプライ種別1
は、インバリデーション完了通知を示し、リプライ種別
2は、データエラー通知又はデータ出力許可通知を示
す。マスタSBは、転送要求を発行した要求元のシステ
ムモジュールを示す。又、データ転送量#1,#2は、
Cパケットのデータサイズを示し、例えばデータ転送量
#1,#2が共に1であれば、64バイトであることを
示す。
【0025】従って、データ転送量#1,#2が共に0
であれば、データ転送量フィールドが0バイトであるこ
とを示すので、この場合はリプライオンリー転送、即
ち、Rパケットとなる。図6は、Cバス3−1上を転送
されるCパケットとRパケット及びDバス3−2上を転
送されるDパケットを示す図である。同図中、横軸は時
間を示し、2サイクル(2τ)のCパケット(CC)に
対しては、Cパケットの開始から4サイクル(4τ)の
遅延後に5サイクル(5τ)の対応するDパケット(D
DDDD)が転送される。他方、2サイクル(2τ)の
Rパケット(RR)に対しては、対応するDパケットは
存在せず、転送もされない。
【0026】図7は、パケットの優先順位を説明するた
めの図である。同図中、図6と同一部分には同一符号を
付し、その説明は省略する。本実施例では、Cバス3−
1上を転送されるパケットのうち、データ転送を伴う転
送のCパケットの出力優先順位が、データ転送を伴わな
いリプライオンリー転送のRパケットの出力順位より高
く設定されている。
【0027】従って、図7中、Aで示す場合には、Rパ
ケットの方がCパケットよりも先に発生するが、Cパケ
ットが発生した時点でRパケットの出力を中止してCパ
ケットの出力の方を優先し、Cパケットの出力が終了し
た時点で、Rパケットの残りの部分を出力する。同図
中、Bで示す場合には、RパケットとCパケットとが同
時に発生するので、先ずCパケットの出力の方を優先
し、Cパケットの出力が終了した時点で、Rパケットを
出力する。又、同図中、Cで示す場合には、Cパケット
の方がRパケットよりも先に発生するが、Rパケットが
発生した時点でのRパケットの出力は行わず、先ずCパ
ケットの出力の方を優先し、Cパケットの出力が終了し
た時点で、Rパケットを出力する。
【0028】上記A〜Cのいずれの場合においても、C
バス3−1上の1つのCパケットの転送間隔は、Dバス
3−2上のDパケットの転送間隔、即ち、5サイクル
(5τ)と等しい。このため、データ転送を伴う転送に
ついては、Cバス3−1上の転送がDバス3−2上の転
送より常に一定サイクル先行しており、この関係は、C
パケット及びRパケットの発生タイミングに関わらず一
定に保たれる。
【0029】図8は、第1実施例の調停部31の動作を
説明するフローチャートである。同図に示す処理は、調
停部31内の、特にC用調停回路31C及びR用調停回
路31Rに関連した動作に対応する。図8中、転送要求
が発生すると、ステップS1は、転送要求がデータ転送
を伴うものであるか否かを判定する。ステップS1の判
定結果がYESであると、ステップS2はCパケットを
生成し、ステップS3はデータ転送が外部のシステムモ
ジュールへの転送であるか否かを判定する。他方、ステ
ップS1の判定結果がNOであると、ステップS4はR
パケットを生成し、ステップS5はデータ転送が外部の
システムモジュールへの転送であるか否かを判定する。
【0030】ステップS3の判定結果がYESである
と、ステップS6はC用調停回路31CにおいてCパケ
ットの外部のシステムモジュールへの出力が許可されて
いるな否かを判定し、判定結果がYESであると、ステ
ップS7はCパケットを外部のシステムモジュールに対
して出力し、外部のシステムモジュールにおける転送処
理が続けられる。他方、ステップS3の判定結果がNO
であると、ステップS8はC用調停回路31Cにおいて
Cパケットのシステムモジュール内部での出力が許可さ
れているな否かを判定し、判定結果がYESであると、
ステップS9はCパケットをシステムモジュール内部に
対して出力し、システムモジュール内部における転送処
理が続けられる。
【0031】ステップS5の判定結果がYESである
と、ステップS11はR用調停回路31RにおいてRパ
ケットの外部のシステムモジュールへの出力が許可され
ているな否かを判定し、判定結果がYESであると、処
理はステップS12へ進む。ステップS12は、Rパケ
ットを外部のシステムモジュールに対して出力し、ステ
ップS13は、Cパケットを外部のシステムモジュール
に対して出力中であるか否かを判定する。ステップS1
3の判定結果がNOであると、外部のシステムモジュー
ルにおける転送処理が続けられる。他方、ステップS5
の判定結果がNOであると、ステップS14はR用調停
回路31RにおいてRパケットのシステムモジュール内
部での出力が許可されているな否かを判定し、判定結果
がYESであると、処理はステップS15へ進む。ステ
ップS15は、Rパケットをシステムモジュール内部に
対して出力し、ステップS16は、Cパケットを内部の
システムモジュールに対して出力中であるか否かを判定
する。ステップS16の判定結果がNOであると、シス
テムモジュール内部における転送処理が続けられる。
【0032】次に、本発明になるマルチプロセッサシス
テムの第2実施例を説明する。本実施例の基本構成は、
図1〜図3と共に説明した上記第1実施例の基本構成と
同じである。図9は、マルチプロセッサシステムの第2
実施例の要部の構成を示すブロック図である。同図中、
図1〜図4と同一部分には同一符号を付し、その説明は
省略する。マルチプロセッサシステムの第2実施例は、
本発明になるデータ転送方法の第2実施例を採用する。
本実施例は、上記の如きアドレスの広報及びキャッシュ
情報の広報が行われた後の、即ち、データ転送の準備が
完了後の、システムモジュール内のデータ転送に特徴が
ある。
【0033】図9に示すシステムモジュール内の転送制
御部14は、図示を省略する調停部31及びデータ到着
判定回路32に加え、宛先判定部35と、データバッフ
ァ部36とを有する。宛先判定部35は、転送するべき
Cパケットの宛先が、システムモジュール内であるか、
或いは、外部のシステムモジュールであるかを判定す
る。具体的には、図5に示したCパケット中のノードI
D及びスロットIDを見ることにより、Cパケットの宛
先を判定する。システムモジュール内に転送されるべき
Cパケットは、バッファ部36に供給される。他方、外
部のシステムモジュールに転送されるべきCパケット
は、Cバス3−1を介してクロスバモジュール2内のL
2クロスバ25−1に供給される。つまり、システムモ
ジュール内で転送されるべきCパケットは、L2クロス
バ25−1を介することなく、転送制御部14内で転送
される。
【0034】バッファ部36は、システムモジュール内
で転送されるCパケットをバッファリングするためのバ
ッファ361,361−1〜361−4と、外部のシス
テムモジュールからのCパケットをL2クロスバ25−
1を介して入力してバッファリングするためのバッファ
362,362−1〜362−3とからなる。バッファ
361は、Cパケットのデータ転送量に基づいて、シス
テムモジュール内で入来するパケットがCパケットであ
るか、或いは、Rパケットであるかを判別し、バッファ
361−1〜361−3はRパケットRINを保持すると
共に、バッファ361−4はCパケットCINを保持す
る。RINは、同一システムモジュール内で転送されるR
パケットを示し、CINは、同一システムモジュール内で
転送されるCパケットを示す。
【0035】バッファ362は、Cパケットのデータ転
送量に基づいて、外部システムモジュールから入来する
パケットがCパケットであるか、或いは、Rパケットで
あるかを判別し、バッファ362−1,362−2はR
パケットROUT を保持すると共に、バッファ362−3
はCパケットCOUT を保持する。ROUT は、異なるシス
テムモジュール間で転送されるRパケットを示し、C
OUT は、異なるシステムモジュール間で転送されるCパ
ケットを示す。
【0036】バッファ部36からのパケットは、1パケ
ット(2サイクル)をまとめて1サイクルでデータ到着
判定回路32へ出力する。このように、システムモジュ
ール内で転送されるべきCパケットは、L2クロスバ2
5−1を介することなく、転送制御部14内で転送され
るので、物理的なパスの距離がL2クロスバ25−1を
介する場合と比較すると短くなる分、高速転送が可能と
なる。
【0037】バッファ部36からデータ到着判定回路3
2へのパケット流入量PQ1は、L2クロスバ25−1
のパケット流出量PQ2と転送制御部14内のパケット
流入量PQ3との和以上、即ち、PQ1≧PQ2+PQ
3である。又、本実施例では、Cパケット及びRパケッ
トの転送順位に、固定の優先順位を設定する。パケット
の優先順位は、異なるシステムモジュール間で転送され
るCパケットCOUT の優先順位をYCOUT 、同一システ
ムモジュール内で転送されるCパケットCINの優先順位
をYCIN、異なるシステムモジュール間で転送されるR
パケットROUTの優先順位をYROUT 、同一システムモ
ジュール内で転送されるRパケットRINの優先順位をY
INで表すと、YCOUT >YCIN>YROUT >YRIN
満足するように設定されている。バッファ部36におけ
る遅延、即ち、各パケット種別に対するバッファの段数
は、上記各優先順位毎にパケット流量に基づいて決定さ
れている。
【0038】従って、本実施例では、システムモジュー
ル内の転送と、外部システムモジュールへの転送とで、
転送の制限を行うことなく、特にシステムモジュール内
の転送を高速に行うことができる。次に、本実施例のバ
ッファ部36における動作を、図10〜図13と共に説
明する。図10〜図13において、は1サイクル目、
は2サイクル目、■はCバス3−1を使用しているた
めのRパケット出力停止期間、「C出」はバッファ部3
6からの出力を示す。
【0039】外部システムモジュールへ転送されるCパ
ケットCOUT の場合、最高優先順位を有するため、この
CパケットCOUT の出力は他のパケットに影響されな
い。従って、CパケットCOUT の1サイクル目はバッフ
ァ362−3でバッファリングし、2サイクル目はスル
ーで出力する。このため、CパケットCOUT に対して
は、図10に示すように、バッファの段数は1段で1サ
イクル分必要であることがわかる。
【0040】システムモジュール内で転送されるCパケ
ットCINの場合、1サイクル目はバッファ361−4で
バッファリングし、出力パケットがCパケットCOUT
競合すれば1サイクル遅延する。他方、CパケットCIN
の出力時には、次のCパケットCINは入来しない。この
ため、CパケットCINに対しては、図11に示すよう
に、バッファの段数は1段で2サイクル分必要であるこ
とがわかる。
【0041】外部システムモジュールへ転送されるRパ
ケットROUT の場合、CパケットC OUT とCパケットC
INの転送間隔が5サイクルに1回であるため、Rパケッ
トR OUT は5サイクル中に2サイクル遅延することがあ
る。又、RパケットROUT の出力中に、次のRパケット
OUT の1サイクル目が入来する。従って、Rパケット
OUT は、バッファ362−1,362−2でバッファ
リングする。つまり、RパケットROUT に対しては、図
12に示すように、バッファの段数は2段で3サイクル
分必要であることがわかる。
【0042】システムモジュール内で転送されるRパケ
ットRINの場合、CパケットCOUTとCパケットCIN
転送間隔が5サイクルに1回であるため、RパケットR
INは7サイクル中に2サイクル遅延することがある。こ
のとき、RパケットROUT の出力は、7サイクル中で最
大2パケットであるから、RパケットRINは7サイクル
中に2サイクル遅延することがある。又、RパケットR
INの出力中にも、次のRパケットRINの1サイクル目が
入来する。従って、RパケットRINは、バッファ361
−1〜361−3でバッファリングする。つまり、Rパ
ケットRINに対しては、図13に示すように、バッファ
の段数は3段で5サイクル分必要であることがわかる。
【0043】上記の如き場合について、8サイクル中の
パケットの最大流量を求めると、図14のようになる。
同図中、数値の単位はサイクルを示す。又、※1〜※8
上部の数値は、夫々次のようにして求まる。 ※1:8−CIN出×2=6 ※2:8−COUT 出×1−CIN出×2=5 ※3:8−COUT 出×2−CIN出×2=4 ※4:8−COUT 出×2=6 ※5:8−COUT 出×2=6 ※6:8−COUT 出×2−ROUT 出×2=4 ※7:8−COUT 出×2−ROUT 出×2−CIN出×1=
3 ※8:8−COUT 出×2−ROUT 出×2−CIN出×2=
2 次に、本実施例におけるDパケットの転送について説明
する。図15は、本実施例の要部の構成を示すブロック
図であり、Dパケットの転送に関係する部分を示す。同
図中、図1〜図4及び図9と同一部分には同一符号を付
し、その説明は省略する。
【0044】図15において、L1クロスバ15は、制
御回路151と、バッファ部152とを含む。制御回路
151は、転送制御部14からのコマンド信号に基づい
て、バッファ部152に供給するマルチプレクサセレク
ト信号、IOイネーブル信号及びバッファ制御信号を生
成する。バッファ部152は、同じシステムモジュール
内の各プロセッサ、各IOポート及びメモリ毎に、図示
の如き接続のマルチプレクサ及びバッファからなる。便
宜上、同図では、マルチプレクサを縦の二重線、バッフ
ァを■で示す。L1クロスバ15内の出力段のマルチプ
レクサは、Dバス3−2を介してL2クロスバ25−2
に接続されている。
【0045】本実施例では、Dパケットがシステムモジ
ュール内で転送される場合には、DパケットをL1クロ
スバ15からL2クロスバ25−2へ出力することな
く、L1クロスバ15内で転送される。具体的には、制
御回路151は、Dパケットがシステムモジュール内で
転送される場合には、転送制御部14からのコマンド信
号に基づいて、DパケットをL1クロスバ15内で転送
するためのマルチプレクサセレクト信号、IOイネーブ
ル信号及びバッファ制御信号を生成してバッファ部15
2に供給する。
【0046】図16は、本実施例のL1クロスバ15の
構成を示す図であり、図17は、システムモジュール内
のDパケットの転送を説明する図である。図16及び図
17では、システムモジュール1内のL1クロスバ15
の機能が分かりやすいように、L1クロスバ15がアレ
イ状に配置されたスイッチ群として図示されている。従
って、制御回路151からの信号は、スイッチ群の各ス
イッチのオン/オフを制御するイメージとなる。同じシ
ステムモジュール1内でDパケットを転送する場合に
は、図16中、DパケットがL1クロスバ15内の太線
で囲まれた戻り部155を通るように、スイッチ群を制
御する。戻り部155には、戻りパス155Aが設けら
れている。この結果、システムモジュール1内のあるプ
ロセッサからのDパケットは、図17中、太線の矢印で
示すように、L1クロスバ15内の戻り部155を通
り、該当するシステムモジュール1内のメモリへ、L2
クロスバ25−2を介することなく転送される。尚、図
17では、オンとされたスイッチがonと示されてい
る。
【0047】このように、本実施例では、1つのシステ
ムモジュール内で転送されるパケットは、パケットの種
別(Cパケット、Dパケット)に関わらず、L2クロス
バ25−1又は25−2を介することなく、システムモ
ジュール内で高速に転送することができる。以上、本発
明を実施例により説明したが、本発明は上記実施例に限
定されるものではなく、本発明の範囲内で種々の変形及
び改良が可能であることは、言うまでもない。
【0048】
【発明の効果】本発明によれば、プロセッサの数が増大
し、マルチプロセッサシステムが大規模化しても、デー
タ転送を高速に、且つ、高効率に行うことのできるマル
チプロセッサシステム及びデータ転送方法を実現でき
る。
【図面の簡単な説明】
【図1】本発明になるマルチプロセッサシステムの第1
実施例の概略構成を示すブロック図である。
【図2】第1実施例のシステムモジュールの構成を示す
ブロック図である。
【図3】第1実施例のクロスバモジュールの構成を示す
ブロック図である。
【図4】第1実施例の要部の構成を示すブロック図であ
る。
【図5】Cパケットのビット構成を示す図である。
【図6】Cバス上を転送されるCパケットとRパケット
及びDバス上を転送されるDパケットを示す図である。
【図7】パケットの優先順位を説明するための図であ
る。
【図8】第1実施例の調停部の動作を説明するフローチ
ャートである。
【図9】本発明になるマルチプロセッサシステムの第2
実施例の要部の構成を示すブロック図である。
【図10】第2実施例のバッファ部における動作を説明
するための図である。
【図11】第2実施例のバッファ部における動作を説明
するための図である。
【図12】第2実施例のバッファ部における動作を説明
するための図である。
【図13】第2実施例のバッファ部における動作を説明
するための図である。
【図14】8サイクル中のパケットの最大流量を説明す
るための図である。
【図15】第2実施例のDパケットの転送に関係する部
分の構成を示すブロック図である。
【図16】第2実施例のL1クロスバの構成を示す図で
ある。
【図17】システムモジュール内のDパケットの転送を
説明する図である。
【符号の説明】
1−1〜1−N システムモジュール 2 クロスバモジュール 3 バス 11−1〜11−M プロセッサ 14,21 転送制御部 15 L1クロスバ 25−1〜25−2 L2クロスバ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B045 BB16 BB28 BB29 BB30 BB47 BB48 DD12 EE07 EE12 5B077 BA04 BA06 MM02

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 各々が複数のプロセッサ、転送制御部及
    び第1のクロスバとを含む、複数のシステムモジュール
    と、 第2のクロスバを含むクロスバモジュールと、 各システムモジュールの転送制御部を該クロスバモジュ
    ールに接続する制御バスと、 各システムモジュールの第1のクロスバを該クロスバモ
    ジュールに接続するデータバスとを備え、 任意の1つのシステムモジュール内では、該転送制御部
    が制御情報パケットを該制御バスに出力した後に、該第
    1のクロスバが該転送制御部からのコマンド信号に応答
    してデータパケットを該データバスへ出力する、マイク
    ロプロセッサシステム。
  2. 【請求項2】 前記転送制御部は、データ転送を伴わな
    いリプライオンリー転送の通知を行うためのリプライオ
    ンリーパケットも、前記制御バスに出力する、請求項1
    記載のマルチプロセッサシステム。
  3. 【請求項3】 前記転送制御部は、制御情報パケット及
    びリプライオンリーパケットの生成順序に関わらず、該
    制御情報パケットが生成された時点で優先的に該制御情
    報パケットを出力し、未出力のリプライオンリーパケッ
    トが存在すればその後に出力し、該制御情報パケットの
    出力開始時点から前記第1のクロスバによる対応するデ
    ータパケットの出力開始時点までの間隔は一定である、
    請求項2記載のマルチプロセッサシステム。
  4. 【請求項4】 各々が複数のプロセッサ、転送制御部及
    び第1のクロスバとを含む、複数のシステムモジュール
    が、第2のクロスバを含むクロスバモジュールを介して
    接続された構成のマルチプロセッサシステムにおけるデ
    ータ転送方法であって、 任意の1つのシステムモジュール内では、該転送制御部
    が制御情報パケットを制御バスに出力した後に、該第1
    のクロスバが該転送制御部からのコマンド信号に応答し
    てデータパケットをデータバスへ出力するステップを含
    む、データ転送方法。
  5. 【請求項5】 前記転送制御部が、データ転送を伴わな
    いリプライオンリー転送の通知を行うためのリプライオ
    ンリーパケットを、前記制御バスに出力するステップ
    と、 該転送制御部が、制御情報パケット及びリプライオンリ
    ーパケットの生成順序に関わらず、前記制御情報パケッ
    トが生成された時点で優先的に該制御情報パケットを出
    力し、未出力のリプライオンリーパケットが存在すれば
    その後に出力するステップとを更に含み、 該制御情報パケットの出力開始時点から前記第1のクロ
    スバによる対応するデータパケットの出力開始時点まで
    の間隔は一定である、請求項4記載のデータ転送方法。
JP35373099A 1999-12-13 1999-12-13 マルチプロセッサシステム及びデータ転送方法 Pending JP2001167069A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP35373099A JP2001167069A (ja) 1999-12-13 1999-12-13 マルチプロセッサシステム及びデータ転送方法
US09/715,196 US6701407B1 (en) 1999-12-13 2000-11-20 Multiprocessor system with system modules each having processors, and a data transfer method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35373099A JP2001167069A (ja) 1999-12-13 1999-12-13 マルチプロセッサシステム及びデータ転送方法

Publications (1)

Publication Number Publication Date
JP2001167069A true JP2001167069A (ja) 2001-06-22

Family

ID=18432837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35373099A Pending JP2001167069A (ja) 1999-12-13 1999-12-13 マルチプロセッサシステム及びデータ転送方法

Country Status (1)

Country Link
JP (1) JP2001167069A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010016169A1 (ja) * 2008-08-07 2010-02-11 日本電気株式会社 マルチプロセッサシステム及びその制御方法
US8090986B2 (en) 2006-02-13 2012-01-03 Fujitsu Limited System module and data relay method
JP5051121B2 (ja) * 2006-02-28 2012-10-17 富士通株式会社 パーティションプライオリティ制御システムおよび方法
JP2014503876A (ja) * 2010-11-18 2014-02-13 日本テキサス・インスツルメンツ株式会社 処理クラスタのための制御ノード

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04328653A (ja) * 1991-04-22 1992-11-17 Internatl Business Mach Corp <Ibm> マルチプロセッサ・システムおよびそのデータ伝送装置
JPH0516066B2 (ja) * 1986-04-04 1993-03-03 Kogyo Gijutsuin
JP2000348000A (ja) * 1999-06-03 2000-12-15 Hitachi Ltd 主記憶共有型マルチプロセッサシステム
JP2001101147A (ja) * 1999-08-26 2001-04-13 Internatl Business Mach Corp <Ibm> データ転送方法、コンピュータ・プログラム製品、データ転送システムおよびデータ処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0516066B2 (ja) * 1986-04-04 1993-03-03 Kogyo Gijutsuin
JPH04328653A (ja) * 1991-04-22 1992-11-17 Internatl Business Mach Corp <Ibm> マルチプロセッサ・システムおよびそのデータ伝送装置
JP2000348000A (ja) * 1999-06-03 2000-12-15 Hitachi Ltd 主記憶共有型マルチプロセッサシステム
JP2001101147A (ja) * 1999-08-26 2001-04-13 Internatl Business Mach Corp <Ibm> データ転送方法、コンピュータ・プログラム製品、データ転送システムおよびデータ処理システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090986B2 (en) 2006-02-13 2012-01-03 Fujitsu Limited System module and data relay method
JP5051121B2 (ja) * 2006-02-28 2012-10-17 富士通株式会社 パーティションプライオリティ制御システムおよび方法
WO2010016169A1 (ja) * 2008-08-07 2010-02-11 日本電気株式会社 マルチプロセッサシステム及びその制御方法
US8583845B2 (en) 2008-08-07 2013-11-12 Nec Corporation Multi-processor system and controlling method thereof
JP5360061B2 (ja) * 2008-08-07 2013-12-04 日本電気株式会社 マルチプロセッサシステム及びその制御方法
JP2014503876A (ja) * 2010-11-18 2014-02-13 日本テキサス・インスツルメンツ株式会社 処理クラスタのための制御ノード

Similar Documents

Publication Publication Date Title
CA2170458C (en) Multi-cluster computer system
EP0606299B1 (en) Method and apparatus for concurrent packet bus
JP2781623B2 (ja) メモリアクセススイッチネットワーク
EP0721164A2 (en) Crossbar switch apparatus and protocol
JPH096717A (ja) インバウンド及びアウトバウンド読取り並びにポステッド書込みのためのバッファリング機構を含むデータ処理システム及び方法
JPH07295848A (ja) コンピュータアーキテクチャ内の障害を検出しかつそのまわりに再経路付けするための方法および複数のコンピュータインタフェースを複数のサポーティング装置インタフェースに結合するための装置
JPH08320839A (ja) 分散型データ処理システム
JPH02500784A (ja) 保留バスにおいて割り込み要求メッセージを処理するノード
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
US6263393B1 (en) Bus switch for realizing bus transactions across two or more buses
EP1091301B1 (en) Method and apparatus for transmitting operation packets between functional modules of a processor
JP4669113B2 (ja) 集積回路における相互接続モジュール用の接続ポート
US6701407B1 (en) Multiprocessor system with system modules each having processors, and a data transfer method therefor
JP2001167069A (ja) マルチプロセッサシステム及びデータ転送方法
US7039750B1 (en) On-chip switch fabric
JPH0818565A (ja) データ処理装置
JP2001167067A (ja) マルチプロセッサシステム及びデータ転送方法
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
JPH0724050B2 (ja) コンピュータシステムを操作する方法及びこの方法を用いる多重プロセッサシステム
US5495589A (en) Architecture for smart control of bi-directional transfer of data
JP3586603B2 (ja) データ転送装置及びデータ転送方法
US7979766B2 (en) Architecture for a message bus
JP2001022711A (ja) クロスバースイッチの制御方法及び並列計算機システム
JPH064401A (ja) メモリアクセス回路
JP3211705B2 (ja) マルチプロセッサ用高速バスシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060523