JP2001167067A - Multiprocessor system and data transfer method - Google Patents
Multiprocessor system and data transfer methodInfo
- Publication number
- JP2001167067A JP2001167067A JP35373199A JP35373199A JP2001167067A JP 2001167067 A JP2001167067 A JP 2001167067A JP 35373199 A JP35373199 A JP 35373199A JP 35373199 A JP35373199 A JP 35373199A JP 2001167067 A JP2001167067 A JP 2001167067A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- transfer
- crossbar
- system module
- module
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
Description
【0001】[0001]
【発明が属する技術分野】マルチプロセッサシステム及
びデータ転送方法に係り、特に複数のプロセッサを搭載
したシステムモジュールが、複数台接続された構成のマ
ルチプロセッサシステム、及び、このようなマルチプロ
セッサシステムにおけるデータ転送方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiprocessor system and a data transfer method, and more particularly, to a multiprocessor system in which a plurality of system modules each having a plurality of processors are connected, and data transfer in such a multiprocessor system. About the method.
【0002】[0002]
【従来の技術】従来のマルチプロセッサシステムでは、
複数のプロセッサがバスを介して接続されている。しか
し、プロセッサの数が増大し、マルチプロセッサシステ
ムが大規模化するにつれて、バス上の競合が頻繁に発生
してしまう。このため、データ転送を高速に、且つ、高
効率に行うことが難しくなってくる。2. Description of the Related Art In a conventional multiprocessor system,
A plurality of processors are connected via a bus. However, as the number of processors increases and the size of the multiprocessor system increases, contention on the bus frequently occurs. Therefore, it becomes difficult to perform data transfer at high speed and with high efficiency.
【0003】[0003]
【発明が解決しようとする課題】従って、従来のマルチ
プロセッサシステムでは、プロセッサの数が非常に多く
なると、データ転送を高速に、且つ、高効率に行うこと
が難しく、本来マルチプロセッサシステムの性能向上の
ためにプロセッサの数を増大したにも関わらず、プロセ
ッサ間のデータ転送という面では性能の著しい向上は図
れないという問題があった。Therefore, in the conventional multiprocessor system, when the number of processors is very large, it is difficult to perform data transfer at high speed and with high efficiency, and originally the performance of the multiprocessor system is improved. For this reason, there has been a problem that the performance cannot be remarkably improved in terms of data transfer between processors despite the increase in the number of processors.
【0004】そこで、本発明は、プロセッサの数が増大
し、マルチプロセッサシステムが大規模化しても、デー
タ転送を高速に、且つ、高効率に行うことのできるマル
チプロセッサシステム及びデータ転送方法を提供するこ
とを目的とする。Therefore, the present invention provides a multiprocessor system and a data transfer method capable of performing data transfer at high speed and with high efficiency even if the number of processors increases and the multiprocessor system increases in scale. The purpose is to do.
【0005】[0005]
【課題を解決するための手段】上記の課題は、各々が複
数のプロセッサ、転送制御部及び第1のクロスバとを含
む、複数のシステムモジュールと、該複数のシステムモ
ジュールを接続する第2のクロスバを含むクロスバモジ
ュールとを備え、任意の1つのシステムモジュール内で
転送を行う際には、該転送制御部は該第2のクロスバを
介することなく制御情報パケットを内部で転送するマイ
クロプロセッサシステムによって達成される。SUMMARY OF THE INVENTION The above object is achieved by providing a plurality of system modules, each including a plurality of processors, a transfer control unit, and a first crossbar, and a second crossbar connecting the plurality of system modules. And a transfer control unit that transfers control information packets internally without passing through the second crossbar when transfer is performed in any one system module. Is done.
【0006】前記転送制御部は、データ転送を伴わない
リプライオンリー転送の通知を行うためのリプライオン
リーパケットも転送する構成であっても良い。前記転送
制御部は、前記任意の1つのシステムモジュール外から
転送される制御情報パケットの転送の優先順位YCOUT
と、該任意の1つのシステムモジュール内で転送される
制御情報パケットの転送の優先順位YCINと、該任意の
1つのシステムモジュール外から転送されるリプライオ
ンリーパケットの転送の優先順位YROUT と、該任意の
1つのシステムモジュール内で転送されるリプライオン
リーパケットの転送の優先順位YRINとを、YCOUT >
YCIN>YROUT >YR INなる関係を満足するように設
定してバッファリングする構成であっても良い。The transfer control unit does not involve data transfer.
Liplion for notification of Liplion Lee transfer
A configuration may also be adopted in which the relay packet is also transferred. The transfer
The control unit is provided from outside the arbitrary one of the system modules.
Priority YC of transfer of control information packet to be transferredOUT
And transferred within any one of the system modules
Control information packet transfer priority YCINAnd the optional
Replies transferred from outside one system module
Priority YR of transfer of only packetsOUTAnd the optional
Lipra ions transferred within one system module
Reason packet transfer priority YRINAnd YCOUT>
YCIN> YROUT> YR INTo satisfy the relationship
The buffering may be performed in a fixed manner.
【0007】前記第1のクロスバは、前記任意の1つの
システムモジュール内で転送を行う際に、前記第1のク
ロスバは前記第2のクロスバを介することなくデータパ
ケットを内部で転送する戻り部を有する構成としても良
い。上記の課題は、各々が複数のプロセッサ、転送制御
部及び第1のクロスバとを含む、複数のシステムモジュ
ールが、第2のクロスバを含むクロスバモジュールを介
して接続された構成のマルチプロセッサシステムにおけ
るデータ転送方法であって、任意の1つのシステムモジ
ュール内で転送を行う際には、該第2のクロスバを介す
ることなく、制御情報パケット及びデータパケットを内
部で転送するステップを含むデータ転送方法によっても
達成される。[0007] When the first crossbar performs transfer within the arbitrary one of the system modules, the first crossbar includes a return unit that internally transfers a data packet without passing through the second crossbar. It is good also as composition which has. The above object is to provide a multiprocessor system in which a plurality of system modules each including a plurality of processors, a transfer control unit, and a first crossbar are connected via a crossbar module including a second crossbar. When the transfer is performed in any one system module, the data transfer method includes a step of internally transferring a control information packet and a data packet without passing through the second crossbar. Achieved.
【0008】従って、本発明によれば、プロセッサの数
が増大し、マルチプロセッサシステムが大規模化して
も、データ転送を高速に、且つ、高効率に行うことので
きるマルチプロセッサシステム及びデータ転送方法を実
現できる。Therefore, according to the present invention, a multiprocessor system and a data transfer method capable of performing data transfer at high speed and with high efficiency even when the number of processors is increased and the multiprocessor system is enlarged. Can be realized.
【0009】[0009]
【発明の実施の形態】以下、本発明になるマルチプロセ
ッサシステム及び本発明になるデータ転送方法の各実施
例を、図面と共に説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of a multiprocessor system according to the present invention and a data transfer method according to the present invention will be described below with reference to the drawings.
【0010】[0010]
【実施例】図1は、本発明になるマルチプロセッサシス
テムの第1実施例の概略構成を示すブロック図である。
マルチプロセッサシステムの第1実施例は、本発明にな
るデータ転送方法の第1実施例を採用する。図1に示す
マルチプロセッサシステムは、複数のシステムモジュー
ル(又は、システムボード:SB)1−1〜1−Nと、
クロスバモジュール(又は、クロスバボード:XB)2
と、システムモジュール1−1〜1−Nとクロスバモジ
ュール2とを接続するバス3とからなる。各システムモ
ジュール1−1〜1−Nは、同じ構成を有する。FIG. 1 is a block diagram showing a schematic configuration of a first embodiment of a multiprocessor system according to the present invention.
The first embodiment of the multiprocessor system employs the first embodiment of the data transfer method according to the present invention. The multiprocessor system shown in FIG. 1 includes a plurality of system modules (or system boards: SB) 1-1 to 1-N,
Crossbar module (or crossbar board: XB) 2
And a bus 3 connecting the system modules 1-1 to 1-N and the crossbar module 2. Each of the system modules 1-1 to 1-N has the same configuration.
【0011】図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に接続されている。FIG. 2 is a block diagram showing the configuration of one system module 1. In FIG. 1, a system module 1 includes a plurality of processors 11-1 to 11-M each including a CPU or the like and having a cache memory, and a main memory 1
2, a general control unit 13 for controlling access to the main memory 12, etc., a transfer control unit 14, and a level 1 (L1) crossbar 15. The transfer control unit 14 includes a control bus (hereinafter, referred to as a C bus) 3-1 constituting the bus 3,
The L1 crossbar 15 is connected to an address bus 3-3 and a status bus 3-4, and the L1 crossbar 15 is connected to a data bus (hereinafter, referred to as a D bus) 3-2 constituting the bus 3.
【0012】図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を有する。FIG. 3 is a block diagram showing the configuration of the crossbar module 2. In the figure, crossbar module 2
Is composed of a transfer control unit 21, an address public information unit 22, and a cache public information unit 23. This crossbar module 2
Is a system module 1- 1 shown in FIG.
It is shown as connecting between 1 and 1-2. As described later, the transfer control unit 21 includes a level 2 (L2) crossbar 25-1 connected to the C bus 3-1 and a D bus 3-2.
And an L2 crossbar 25-2 connected thereto.
【0013】先ず、通常の転送処理の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内で要求元のプロセッ
サに対してデータ転送が行われる。First, the procedure of a read process, which is one of the normal transfer processes, will be described. For example, a read request issued from the system module 1-1 is supplied by the crossbar module 2 to each of the system modules 1-2 to 1-N via the address bus 3-3 of the bus 3. The crossbar module 2 broadcasts the requested address of the read request from the address publicizing unit 22 to each of the system modules 1-2 to 1-N via the address bus 3-3 of the bus 3. All the system modules 1-1 to 1-N transmit cache information (status information) indicating the state of the cache memories of the processors 11-1 to 11-M mounted on the respective modules via the status bus 3-4 of the bus 3. To the crossbar module 2. The crossbar module 2 sends the merged cache information from the cache information unit 23 via the bus status bus 3-4 to each system module 1-
Advertise to 1-1-N. As a result, the system module having the memory of the requested address and holding the valid data in the memory is replaced with the system module 1-
If the data exists in 2 to 1-N, the valid data is read out and output to the crossbar module 2 via the transfer control unit 14 and the L1 crossbar 15, and further transferred to the transfer control unit 21 of the crossbar module 2. Is transferred to the requesting system module 1-1 via the. If the requesting system module 1-1 has a memory of the requested address, the data is transferred to the requesting processor in the system module 1-1.
【0014】本実施例は、上記の如きアドレスの広報及
びキャッシュ情報の広報が行われた後の、即ち、データ
転送の準備が完了後の、システムモジュール内又はシス
テムモジュール間のデータ転送に特徴がある。以下の説
明では、説明の便宜上、リード処理について説明する
が、ライト処理についても同様のデータ転送が行われる
ことは、言うまでもない。This embodiment is characterized in the data transfer within the system module or between the system modules after the above-mentioned address information and cache information information are broadcast, that is, after preparation for data transfer is completed. is there. In the following description, the read process will be described for convenience of description, but it goes without saying that the same data transfer is performed in the write process.
【0015】図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)ポート(図示せず)等と接続されており、デー
タを含むリード要求等の転送要求が入力される。データ
転送は、データと、制御情報とを多重化して行う。FIG. 4 is a block diagram showing a main part of this embodiment. In the figure, the same parts as those in FIGS. 1 to 3 are denoted by the same reference numerals, and description thereof will be omitted. Also, for convenience of explanation, FIG. 1 shows only the connection between the system module 1-1 and the system module 1-2 via the crossbar module 2. An arbitration unit 31 that arbitrates requests from the processors 11-1 to 11-M and the like in a transfer control unit 14 in each of the system modules 1-1 and 1-2, and a data arrival determination unit that determines arrival of transfer data. A judgment circuit 32 is provided. The arbitration unit 31 includes an arbitration circuit 31C for C and an arbitration circuit 31 for R.
R. The arbitration unit 31 and the L1 crossbar 15 are connected to the processors 11-1 to 11-M, the main memory 12, an input / output (IO) port (not shown), and receive transfer requests such as read requests including data. Is entered. Data transfer is performed by multiplexing data and control information.
【0016】システムモジュール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と接続されてい
る。The transfer control unit 1 of the system module 1-1
4 is the L of the crossbar module 2 via the C bus 3-1.
2 Connected to the crossbar 25-1, the system module 1
The -2 transfer control unit 14 is connected to the L2 crossbar 25-1 of the crossbar module 2 via the C bus 3-1. That is, the transfer control unit 14 in each system module
Is the L2 of the C bus 3-1 and the L2 crossbar module 2.
Via the crossbar 25-1, they are connected to the transfer control unit 14 in the same or a different system module.
【0017】他方、システムモジュール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と
接続されている。On the other hand, the L1 crossbar 15 of the system module 1-1 is connected to the L2 crossbar 25-2 of the crossbar module 2 via the D bus 3-2, and the L1 crossbar 15 of the system module 1-2 is connected to the D bus It is connected to the L2 crossbar 25-2 of the crossbar module 2 via 3-2. That is, L1 in each system module
The crossbar 15 is connected to the L1 crossbar 15 in the same or a different system module via the D bus 3-2 and the L2 crossbar 25-2 of the L2 crossbar module 2.
【0018】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パケットと言う)形式で転送される。The C bus 3-1 and the D bus 3-2 can transmit and receive data in the same system module 1-1, for example, when data transmission and reception are performed in the same system module 1-1. When data transmission / reception is performed between different system modules 1-1 and 1-2, for example, the C bus 3-1 and the D bus 3-2 are respectively connected to the transmission side system module 1-1 and the reception side. The data is transferred to and from the system module 1-2 on the side. C bus 3-
On 1, the control information is transferred in a control information packet (hereinafter, referred to as C packet) format which is a predetermined unit. D
On the bus 3-2, data is transferred in a data packet (hereinafter, referred to as a D packet) format which is a predetermined unit.
【0019】各システムモジュール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パケットより時間的に先行する。In each of the system modules 1-1 and 1-2, the transfer controller 14 outputs a command signal to the L1 crossbar 15 based on a transfer request. This command signal controls data input / output timing of the L1 crossbar 15 and the like. In the transmission-side system module, when the preparation for data transmission is completed, the transfer control unit 14 transmits one C packet including a header indicating the destination of the packet, and simultaneously transmits a data input command and a D packet header to the L1 crossbar 15. Outputs information as command signals. Then, the L1 crossbar 15 generates and outputs one D packet corresponding to the one C packet from the input data and the header information of the command signal. Accordingly, the transfer controller 14 of the system module on the transmitting side sends the C bus 3
One C packet output to -1 precedes the corresponding one D packet output from the L1 crossbar 15 of the same system module to the D bus 3-2 in time.
【0020】このように、送信側のシステムモジュール
内の転送制御部14は、Cパケットの出力を、同じシス
テムモジュール内のL1クロスバ15からのDパケット
の出力より一定サイクル先行させることができる。この
ため、受信側のシステムモジュール内の転送制御部14
が、同じシステムモジュール内のL1クロスバ15にD
パケットが到着する前に、このL1クロスバ15を制御
するためのコマンド信号を生成することができ、受信側
のシステムモジュール内でDパケットの到着後直ちにL
1クロスバ15からデータをSB内のターゲット(CP
U,IO,メモリ)へ出力することができる。As described above, the transfer control unit 14 in the transmitting-side system module can output the C packet ahead of the output of the D packet from the L1 crossbar 15 in the same system module by a certain cycle. For this reason, the transfer control unit 14 in the system module on the receiving side
However, D is added to L1 crossbar 15 in the same system module.
Before the packet arrives, a command signal for controlling the L1 crossbar 15 can be generated.
The data from one crossbar 15 is transferred to the target (CP
U, IO, memory).
【0021】ところで、本実施例では、データ転送を伴
わない転送の場合には、データ転送を伴う転送を妨げる
ことなく通知可能としている。ここで、データ転送を伴
わない転送(以下、リプライオンリー転送と言う)と
は、データエラー通知、インバリデーション完了通知、
データ出力許可通知等を含み、このようなリプライオン
リー転送は、Cバス3−1のみを用いて行われる。デー
タエラー通知は、データにエラーが発生した旨を通知す
るものである。又、インバリデーション完了通知は、プ
ロセッサのキャッシュメモリ内のデータ無効化が完了し
た旨を通知するもので、データ出力許可通知は、データ
の集中を是正するための対策として通知される。By the way, in the present embodiment, in the case of the transfer without the data transfer, the notification can be made without obstructing the transfer with the data transfer. Here, the transfer without data transfer (hereinafter referred to as “replier ion transfer”) means a data error notification, an invalidation completion notification,
Including a data output permission notification and the like, such a lip re-ion transfer is performed using only the C bus 3-1. The data error notification is for notifying that an error has occurred in the data. The invalidation completion notification notifies that the invalidation of data in the cache memory of the processor has been completed, and the data output permission notification is notified as a measure for correcting data concentration.
【0022】本実施例では、一般的に、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上で転送する。In the present embodiment, attention is paid to the fact that the consumption cycle of the C bus 3-1 is generally smaller than the consumption cycle of the D bus 3-2. For example, one C packet transferred on the C bus 3-1 has two cycles, and the D bus 3-2
If one D packet transferred above has 5 cycles,
An empty space for three cycles is generated on the C bus 3-1. Therefore, using the vacant space for three cycles on the C bus 3-1, the re-priority transfer without the D packet is performed. That is, in the case of data transfer, the C packet is transferred on the C bus 3-1 and the D packet is transferred on the D bus 3-2.
Transfer on top. On the other hand, in the case of transfer without data transfer, a replies-only packet (hereinafter, referred to as an R packet)
On the C bus 3-1.
【0023】図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バイトであることを
示す。FIG. 5 is a diagram showing the bit configuration of the C packet. In the figure, the 1τth and 2τth indicate the first cycle and the second cycle of the C packet, respectively. The node ID is an ID indicating a group when a plurality of system modules are grouped, and the slot ID is an ID indicating each system module. The buffer type indicates a buffer configuration in the L1 crossbar 15, and the port (Port) I
D is an ID indicating an IO port. Reply type 1
Indicates an invalidation completion notification, and the reply type 2 indicates a data error notification or a data output permission notification. The master SB indicates the request source system module that has issued the transfer request. The data transfer amounts # 1 and # 2 are
Indicates the data size of the C packet. For example, if both the data transfer amounts # 1 and # 2 are 1, it indicates that the data size is 64 bytes.
【0024】従って、データ転送量#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パケットは
存在せず、転送もされない。Therefore, both the data transfer amounts # 1 and # 2 are 0
Indicates that the data transfer amount field is 0 bytes. In this case, it is a replies-only transfer, that is, an R packet. FIG. 6 is a diagram showing a C packet and an R packet transferred on the C bus 3-1 and a D packet transferred on the D bus 3-2. In the figure, the horizontal axis indicates time, and for a two-cycle (2τ) C packet (CC), a corresponding D packet of five cycles (5τ) after a delay of four cycles (4τ) from the start of the C packet (D
DDDD) is transferred. On the other hand, for an R packet (RR) of two cycles (2τ), no corresponding D packet exists and is not transferred.
【0025】図7は、パケットの優先順位を説明するた
めの図である。同図中、図6と同一部分には同一符号を
付し、その説明は省略する。本実施例では、Cバス3−
1上を転送されるパケットのうち、データ転送を伴う転
送のCパケットの出力優先順位が、データ転送を伴わな
いリプライオンリー転送のRパケットの出力順位より高
く設定されている。FIG. 7 is a diagram for explaining the priority of packets. 6, the same parts as those of FIG. 6 are denoted by the same reference numerals, and the description thereof will be omitted. In this embodiment, the C bus 3-
1, the output priority of the C packet of the transfer accompanied by the data transfer is set higher than the output priority of the R packet of the lip re-ion transfer without the data transfer.
【0026】従って、図7中、Aで示す場合には、Rパ
ケットの方がCパケットよりも先に発生するが、Cパケ
ットが発生した時点でRパケットの出力を中止してCパ
ケットの出力の方を優先し、Cパケットの出力が終了し
た時点で、Rパケットの残りの部分を出力する。同図
中、Bで示す場合には、RパケットとCパケットとが同
時に発生するので、先ずCパケットの出力の方を優先
し、Cパケットの出力が終了した時点で、Rパケットを
出力する。又、同図中、Cで示す場合には、Cパケット
の方がRパケットよりも先に発生するが、Rパケットが
発生した時点でのRパケットの出力は行わず、先ずCパ
ケットの出力の方を優先し、Cパケットの出力が終了し
た時点で、Rパケットを出力する。Therefore, in the case indicated by A in FIG. 7, the R packet occurs earlier than the C packet, but when the C packet occurs, the output of the R packet is stopped and the output of the C packet is stopped. Is given priority, and when the output of the C packet is completed, the remaining portion of the R packet is output. In the case indicated by B in the figure, since the R packet and the C packet occur simultaneously, the output of the C packet is given priority first, and the R packet is output when the output of the C packet is completed. Also, in the case indicated by C in the figure, although the C packet is generated before the R packet, the output of the R packet is not performed at the time when the R packet is generated. The R packet is output when the output of the C packet is completed.
【0027】上記A〜Cのいずれの場合においても、C
バス3−1上の1つのCパケットの転送間隔は、Dバス
3−2上のDパケットの転送間隔、即ち、5サイクル
(5τ)と等しい。このため、データ転送を伴う転送に
ついては、Cバス3−1上の転送がDバス3−2上の転
送より常に一定サイクル先行しており、この関係は、C
パケット及びRパケットの発生タイミングに関わらず一
定に保たれる。In any of the above cases A to C,
The transfer interval of one C packet on the bus 3-1 is equal to the transfer interval of the D packet on the D bus 3-2, that is, 5 cycles (5τ). Therefore, in the case of a transfer involving data transfer, the transfer on the C bus 3-1 always precedes the transfer on the D bus 3-2 by a certain cycle.
It is kept constant regardless of the generation timing of the packet and the R packet.
【0028】図8は、第1実施例の調停部31の動作を
説明するフローチャートである。同図に示す処理は、調
停部31内の、特にC用調停回路31C及びR用調停回
路31Rに関連した動作に対応する。図8中、転送要求
が発生すると、ステップS1は、転送要求がデータ転送
を伴うものであるか否かを判定する。ステップS1の判
定結果がYESであると、ステップS2はCパケットを
生成し、ステップS3はデータ転送が外部のシステムモ
ジュールへの転送であるか否かを判定する。他方、ステ
ップS1の判定結果がNOであると、ステップS4はR
パケットを生成し、ステップS5はデータ転送が外部の
システムモジュールへの転送であるか否かを判定する。FIG. 8 is a flowchart for explaining the operation of the arbitration unit 31 of the first embodiment. The process shown in FIG. 13 corresponds to the operation in the arbitration unit 31, particularly the operation related to the C arbitration circuit 31C and the R arbitration circuit 31R. In FIG. 8, when a transfer request is generated, a step S1 determines whether or not the transfer request involves data transfer. If the decision result in the step S1 is YES, a step S2 generates a C packet, and a step S3 decides whether or not the data transfer is a transfer to an external system module. On the other hand, if the decision result in the step S1 is NO, a step S4 decides R
A packet is generated, and step S5 determines whether the data transfer is a transfer to an external system module.
【0029】ステップS3の判定結果がYESである
と、ステップS6はC用調停回路31CにおいてCパケ
ットの外部のシステムモジュールへの出力が許可されて
いるな否かを判定し、判定結果がYESであると、ステ
ップS7はCパケットを外部のシステムモジュールに対
して出力し、外部のシステムモジュールにおける転送処
理が続けられる。他方、ステップS3の判定結果がNO
であると、ステップS8はC用調停回路31Cにおいて
Cパケットのシステムモジュール内部での出力が許可さ
れているな否かを判定し、判定結果がYESであると、
ステップS9はCパケットをシステムモジュール内部に
対して出力し、システムモジュール内部における転送処
理が続けられる。If the decision result in the step S3 is YES, a step S6 decides whether or not the output of the C packet to the external system module is permitted in the C arbitration circuit 31C, and the decision result is YES. If there is, the step S7 outputs the C packet to the external system module, and the transfer processing in the external system module is continued. On the other hand, if the determination result of step S3 is NO
In step S8, the arbitration circuit for C 31C determines whether the output of the C packet within the system module is permitted. If the determination result is YES,
A step S9 outputs the C packet to the inside of the system module, and the transfer processing inside the system module is continued.
【0030】ステップ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であると、シス
テムモジュール内部における転送処理が続けられる。If the decision result in the step S5 is YES, a step S11 decides whether or not the output of the R packet to the external system module is permitted in the R arbitration circuit 31R, and the decision result is YES. If there is, the process proceeds to step S12. A step S12 outputs the R packet to the external system module, and a step S13 determines whether or not the C packet is being output to the external system module. Step S1
If the decision result in 3 is NO, the transfer processing in the external system module is continued. On the other hand, step S5
Is NO, the step S14 decides whether or not the output of the R packet in the system module is permitted in the arbitration circuit for R 31R, and if the decision result is YES, the process proceeds to the step S14. Proceed to S15. A step S15 outputs the R packet to the inside of the system module, and a step S16 determines whether or not the C packet is being output to the inside system module. If the decision result in the step S16 is NO, the transfer process inside the system module is continued.
【0031】次に、本発明になるマルチプロセッサシス
テムの第2実施例を説明する。本実施例の基本構成は、
図1〜図3と共に説明した上記第1実施例の基本構成と
同じである。図9は、マルチプロセッサシステムの第2
実施例の要部の構成を示すブロック図である。同図中、
図1〜図4と同一部分には同一符号を付し、その説明は
省略する。マルチプロセッサシステムの第2実施例は、
本発明になるデータ転送方法の第2実施例を採用する。
本実施例は、上記の如きアドレスの広報及びキャッシュ
情報の広報が行われた後の、即ち、データ転送の準備が
完了後の、システムモジュール内のデータ転送に特徴が
ある。Next, a description will be given of a second embodiment of the multiprocessor system according to the present invention. The basic configuration of this embodiment is
This is the same as the basic configuration of the first embodiment described with reference to FIGS. FIG. 9 shows a second example of the multiprocessor system.
It is a block diagram showing composition of an important section of an example. In the figure,
1 to 4 are denoted by the same reference numerals, and description thereof will be omitted. A second embodiment of the multiprocessor system comprises:
A second embodiment of the data transfer method according to the present invention is employed.
The present embodiment is characterized by data transfer in the system module after the above-described address advertisement and cache information advertisement are performed, that is, after data transfer preparation is completed.
【0032】図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内で転送
される。The transfer control unit 14 in the system module shown in FIG. 9 has a destination determination unit 35 and a data buffer unit 36 in addition to an arbitration unit 31 and a data arrival determination circuit 32 (not shown). The destination determining unit 35 determines whether the destination of the C packet to be transferred is in the system module,
Alternatively, it is determined whether the module is an external system module. Specifically, the node I in the C packet shown in FIG.
The destination of the C packet is determined by looking at the D and the slot ID. The C packet to be transferred into the system module is supplied to the buffer unit 36. On the other hand, the C packet to be transferred to the external system module is transmitted to the L bus in the crossbar module 2 via the C bus 3-1.
It is supplied to the two crossbars 25-1. That is, the C packet to be transferred in the system module is transferred in the transfer control unit 14 without passing through the L2 crossbar 25-1.
【0033】バッファ部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パケットを示す。The buffer unit 36 includes buffers 361, 361-1 to 361-4 for buffering C packets transferred in the system module, and a C packet from an external system module to the L2 crossbar 25-.
And buffers 362, 362-1 to 362-3 for inputting and buffering the data through the I.I. The buffer 361 determines whether a packet coming into the system module is a C packet or an R packet based on the data transfer amount of the C packet. holds the packet R iN, buffer 361-4 maintains the C packet C iN. R IN is the value of R transferred within the same system module.
C IN indicates a C packet transferred within the same system module.
【0034】バッファ362は、Cパケットのデータ転
送量に基づいて、外部システムモジュールから入来する
パケットがCパケットであるか、或いは、Rパケットで
あるかを判別し、バッファ362−1,362−2はR
パケットROUT を保持すると共に、バッファ362−3
はCパケットCOUT を保持する。ROUT は、異なるシス
テムモジュール間で転送されるRパケットを示し、C
OUT は、異なるシステムモジュール間で転送されるCパ
ケットを示す。The buffer 362 determines whether a packet coming from the external system module is a C packet or an R packet based on the data transfer amount of the C packet. 2 is R
While holding the packet R OUT , the buffer 362-3
Holds the C packet C OUT . R OUT indicates an R packet transferred between different system modules, and C OUT
OUT indicates a C packet transferred between different system modules.
【0035】バッファ部36からのパケットは、1パケ
ット(2サイクル)をまとめて1サイクルでデータ到着
判定回路32へ出力する。このように、システムモジュ
ール内で転送されるべきCパケットは、L2クロスバ2
5−1を介することなく、転送制御部14内で転送され
るので、物理的なパスの距離がL2クロスバ25−1を
介する場合と比較すると短くなる分、高速転送が可能と
なる。The packets from the buffer section 36 are output to the data arrival determination circuit 32 in one cycle by combining one packet (two cycles). Thus, the C packet to be transferred in the system module is the L2 crossbar 2
Since the transfer is performed in the transfer control unit 14 without passing through the 5-1, the high-speed transfer becomes possible because the distance of the physical path is shorter than that in the case of passing through the L2 crossbar 25-1.
【0036】バッファ部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
RINで表すと、YCOUT >YCIN>YROUT >YRINを
満足するように設定されている。バッファ部36におけ
る遅延、即ち、各パケット種別に対するバッファの段数
は、上記各優先順位毎にパケット流量に基づいて決定さ
れている。Data arrival determination circuit 3 from buffer unit 36
2 is equal to the L2 crossbar 25-1.
Or more than the sum of the packet outflow amount PQ2 and the packet inflow amount PQ3 in the transfer control unit 14, that is, PQ1 ≧ PQ2 + PQ
3. In this embodiment, a fixed priority is set for the transfer order of the C packet and the R packet. As for the priority of the packet, the priority of the C packet C OUT transferred between different system modules is YC OUT , the priority of the C packet C IN transferred in the same system module is YC IN , and the transfer is performed between different system modules. R
The priority of the packet R OUT is YR OUT , and the priority of the R packet R IN transferred in the same system module is Y
When represented by R IN , it is set so as to satisfy YC OUT > YC IN > YR OUT > YR IN . The delay in the buffer unit 36, that is, the number of stages of the buffer for each packet type is determined based on the packet flow for each of the priorities.
【0037】従って、本実施例では、システムモジュー
ル内の転送と、外部システムモジュールへの転送とで、
転送の制限を行うことなく、特にシステムモジュール内
の転送を高速に行うことができる。次に、本実施例のバ
ッファ部36における動作を、図10〜図13と共に説
明する。図10〜図13において、は1サイクル目、
は2サイクル目、■はCバス3−1を使用しているた
めのRパケット出力停止期間、「C出」はバッファ部3
6からの出力を示す。Therefore, in this embodiment, the transfer within the system module and the transfer to the external system module are
Particularly, transfer within the system module can be performed at high speed without limiting transfer. Next, the operation of the buffer unit 36 of the present embodiment will be described with reference to FIGS. In FIGS. 10 to 13, the first cycle,
Is the second cycle, ■ is the R packet output suspension period for using the C bus 3-1 and “C out” is the buffer unit 3
6 shows the output from FIG.
【0038】外部システムモジュールへ転送されるCパ
ケットCOUT の場合、最高優先順位を有するため、この
CパケットCOUT の出力は他のパケットに影響されな
い。従って、CパケットCOUT の1サイクル目はバッフ
ァ362−3でバッファリングし、2サイクル目はスル
ーで出力する。このため、CパケットCOUT に対して
は、図10に示すように、バッファの段数は1段で1サ
イクル分必要であることがわかる。Since the C packet C OUT transferred to the external system module has the highest priority, the output of the C packet C OUT is not affected by other packets. Therefore, the first cycle of the C packet C OUT is buffered by the buffer 362-3, and the second cycle is output through. Therefore, as shown in FIG. 10, for the C packet C OUT , it is understood that the number of stages of the buffer is one and one cycle is required.
【0039】システムモジュール内で転送されるCパケ
ットCINの場合、1サイクル目はバッファ361−4で
バッファリングし、出力パケットがCパケットCOUT と
競合すれば1サイクル遅延する。他方、CパケットCIN
の出力時には、次のCパケットCINは入来しない。この
ため、CパケットCINに対しては、図11に示すよう
に、バッファの段数は1段で2サイクル分必要であるこ
とがわかる。In the case of the C packet C IN transferred in the system module, the first cycle is buffered by the buffer 361-4, and if an output packet competes with the C packet C OUT , it is delayed by one cycle. On the other hand, C packet C IN
, The next C packet C IN does not come in. Therefore, as shown in FIG. 11, it is understood that the number of stages of the buffer is one and two cycles are necessary for the C packet C IN .
【0040】外部システムモジュールへ転送されるRパ
ケットROUT の場合、CパケットC OUT とCパケットC
INの転送間隔が5サイクルに1回であるため、Rパケッ
トR OUT は5サイクル中に2サイクル遅延することがあ
る。又、RパケットROUT の出力中に、次のRパケット
ROUT の1サイクル目が入来する。従って、Rパケット
ROUT は、バッファ362−1,362−2でバッファ
リングする。つまり、RパケットROUT に対しては、図
12に示すように、バッファの段数は2段で3サイクル
分必要であることがわかる。The R path transferred to the external system module
Ket ROUT, C packet C OUTAnd C packet C
INSince the transfer interval is once every five cycles,
R OUTMay be delayed by 2 cycles during 5 cycles
You. Also, R packet ROUTDuring the output of the next R packet
ROUTThe first cycle comes in. Therefore, the R packet
ROUTAre buffered in buffers 362-1 and 362-2.
Ring. That is, R packet ROUTAgainst the figure
As shown in Fig. 12, the number of buffer stages is 2 and 3 cycles
It turns out that it takes minutes.
【0041】システムモジュール内で転送される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サイクル分必要であることがわかる。In the case of the R packet R IN transferred in the system module, since the transfer interval between the C packet C OUT and the C packet C IN is once every five cycles, the R packet R IN
IN may be delayed by two cycles during seven cycles. At this time, since the output of the R packet R OUT is a maximum of two packets in seven cycles, the R packet R IN may be delayed by two cycles in seven cycles. Also, R packet R
Even during IN output of the first cycle of the next R packet R IN is incoming. Therefore, the R packet R IN is stored in the buffer 361.
Buffering is performed at -1 to 361-3. That is, as shown in FIG. 13, for the R packet R IN , it is understood that the number of stages of the buffer is three and five cycles are required.
【0042】上記の如き場合について、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と同一部分には同一符号を付
し、その説明は省略する。In the case described above, the maximum flow rate of packets during eight cycles is obtained as shown in FIG.
In the figure, the unit of the numerical value indicates a cycle. Also, * 1 to * 8
The upper numerical values are obtained as follows. * 1: 8- CIN output x 2 = 6 * 2: 8- COUT output x 1- CIN output x 2 = 5 * 3: 8- COUT output x 2- CIN output x 2 = 4 * 4 : 8-C OUT out x 2 = 6 * 5: 8-C OUT out x 2 = 6 * 6: 8-C OUT out x 2-R OUT out x 2 = 4 * 7: 8-C OUT out x 2 -R OUT output x 2-C IN output x 1 =
3 * 8: 8-C OUT out x 2-R OUT out x 2-C IN out x 2 =
2 Next, transfer of the D packet in the present embodiment will be described. FIG. 15 is a block diagram showing a configuration of a main part of the present embodiment, and shows a part related to transfer of a D packet. In the figure, the same parts as those in FIGS. 1 to 4 and 9 are denoted by the same reference numerals, and description thereof will be omitted.
【0043】図15において、L1クロスバ15は、制
御回路151と、バッファ部152とを含む。制御回路
151は、転送制御部14からのコマンド信号に基づい
て、バッファ部152に供給するマルチプレクサセレク
ト信号、IOイネーブル信号及びバッファ制御信号を生
成する。バッファ部152は、同じシステムモジュール
内の各プロセッサ、各IOポート及びメモリ毎に、図示
の如き接続のマルチプレクサ及びバッファからなる。便
宜上、同図では、マルチプレクサを縦の二重線、バッフ
ァを■で示す。L1クロスバ15内の出力段のマルチプ
レクサは、Dバス3−2を介してL2クロスバ25−2
に接続されている。In FIG. 15, the L1 crossbar 15 includes a control circuit 151 and a buffer unit 152. The control circuit 151 generates a multiplexer select signal, an IO enable signal, and a buffer control signal to be supplied to the buffer unit 152 based on a command signal from the transfer control unit 14. The buffer unit 152 includes a multiplexer and a buffer connected as shown for each processor, each IO port, and each memory in the same system module. For convenience, the multiplexer is indicated by a vertical double line, and the buffer is indicated by ■ in FIG. The multiplexer at the output stage in the L1 crossbar 15 is connected to the L2 crossbar 25-2 via the D bus 3-2.
It is connected to the.
【0044】本実施例では、Dパケットがシステムモジ
ュール内で転送される場合には、DパケットをL1クロ
スバ15からL2クロスバ25−2へ出力することな
く、L1クロスバ15内で転送される。具体的には、制
御回路151は、Dパケットがシステムモジュール内で
転送される場合には、転送制御部14からのコマンド信
号に基づいて、DパケットをL1クロスバ15内で転送
するためのマルチプレクサセレクト信号、IOイネーブ
ル信号及びバッファ制御信号を生成してバッファ部15
2に供給する。In this embodiment, when the D packet is transferred in the system module, the D packet is transferred in the L1 crossbar 15 without being output from the L1 crossbar 15 to the L2 crossbar 25-2. More specifically, when the D packet is transferred within the system module, the control circuit 151 performs a multiplexer select for transferring the D packet within the L1 crossbar 15 based on a command signal from the transfer control unit 14. Signal, an IO enable signal, and a buffer control signal, and
Feed to 2.
【0045】図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と示されてい
る。FIG. 16 is a diagram showing the configuration of the L1 crossbar 15 of this embodiment, and FIG. 17 is a diagram for explaining the transfer of a D packet in the system module. 16 and 17, the L1 crossbar 15 in the system module 1 is
The L1 crossbar 15 is shown as a group of switches arranged in an array so that the function of FIG. Therefore, the signal from the control circuit 151 has an image of controlling on / off of each switch of the switch group. When transferring a D packet in the same system module 1, the switch group is controlled so that the D packet passes through a return section 155 surrounded by a thick line in the L1 crossbar 15 in FIG. The return section 155 is provided with a return path 155A. As a result, the D packet from a certain processor in the system module 1 passes through the return unit 155 in the L1 crossbar 15 as shown by a thick arrow in FIG.
The data is transferred without passing through the crossbar 25-2. In FIG. 17, the switch that is turned on is indicated as on.
【0046】このように、本実施例では、1つのシステ
ムモジュール内で転送されるパケットは、パケットの種
別(Cパケット、Dパケット)に関わらず、L2クロス
バ25−1又は25−2を介することなく、システムモ
ジュール内で高速に転送することができる。以上、本発
明を実施例により説明したが、本発明は上記実施例に限
定されるものではなく、本発明の範囲内で種々の変形及
び改良が可能であることは、言うまでもない。As described above, in this embodiment, a packet transferred within one system module must pass through the L2 crossbar 25-1 or 25-2 regardless of the packet type (C packet or D packet). And can be transferred at high speed within the system module. As described above, the present invention has been described with reference to the embodiments. However, it is needless to say that the present invention is not limited to the above embodiments, and various modifications and improvements can be made within the scope of the present invention.
【0047】[0047]
【発明の効果】本発明によれば、プロセッサの数が増大
し、マルチプロセッサシステムが大規模化しても、デー
タ転送を高速に、且つ、高効率に行うことのできるマル
チプロセッサシステム及びデータ転送方法を実現でき
る。According to the present invention, a multiprocessor system and a data transfer method capable of performing data transfer at high speed and with high efficiency even when the number of processors is increased and the multiprocessor system is enlarged. Can be realized.
【図1】本発明になるマルチプロセッサシステムの第1
実施例の概略構成を示すブロック図である。FIG. 1 shows a first example of a multiprocessor system according to the present invention.
It is a block diagram showing a schematic structure of an example.
【図2】第1実施例のシステムモジュールの構成を示す
ブロック図である。FIG. 2 is a block diagram illustrating a configuration of a system module according to the first embodiment.
【図3】第1実施例のクロスバモジュールの構成を示す
ブロック図である。FIG. 3 is a block diagram illustrating a configuration of a crossbar module according to the first embodiment.
【図4】第1実施例の要部の構成を示すブロック図であ
る。FIG. 4 is a block diagram showing a configuration of a main part of the first embodiment.
【図5】Cパケットのビット構成を示す図である。FIG. 5 is a diagram illustrating a bit configuration of a C packet.
【図6】Cバス上を転送されるCパケットとRパケット
及びDバス上を転送されるDパケットを示す図である。FIG. 6 is a diagram showing a C packet and an R packet transferred on the C bus and a D packet transferred on the D bus.
【図7】パケットの優先順位を説明するための図であ
る。FIG. 7 is a diagram for explaining the priority order of packets.
【図8】第1実施例の調停部の動作を説明するフローチ
ャートである。FIG. 8 is a flowchart illustrating the operation of the arbitration unit of the first embodiment.
【図9】本発明になるマルチプロセッサシステムの第2
実施例の要部の構成を示すブロック図である。FIG. 9 shows a second example of the multiprocessor system according to the present invention.
It is a block diagram showing composition of an important section of an example.
【図10】第2実施例のバッファ部における動作を説明
するための図である。FIG. 10 is a diagram for explaining an operation in the buffer unit of the second embodiment.
【図11】第2実施例のバッファ部における動作を説明
するための図である。FIG. 11 is a diagram for explaining an operation in the buffer unit of the second embodiment.
【図12】第2実施例のバッファ部における動作を説明
するための図である。FIG. 12 is a diagram for explaining an operation in the buffer unit of the second embodiment.
【図13】第2実施例のバッファ部における動作を説明
するための図である。FIG. 13 is a diagram for explaining an operation in the buffer unit of the second embodiment.
【図14】8サイクル中のパケットの最大流量を説明す
るための図である。FIG. 14 is a diagram for explaining the maximum flow rate of packets during eight cycles.
【図15】第2実施例のDパケットの転送に関係する部
分の構成を示すブロック図である。FIG. 15 is a block diagram illustrating a configuration of a portion related to transfer of a D packet according to the second embodiment.
【図16】第2実施例のL1クロスバの構成を示す図で
ある。FIG. 16 is a diagram illustrating a configuration of an L1 crossbar according to a second embodiment.
【図17】システムモジュール内のDパケットの転送を
説明する図である。FIG. 17 is a diagram illustrating transfer of a D packet in a system module.
1−1〜1−N システムモジュール 2 クロスバモジュール 3 バス 11−1〜11−M プロセッサ 14,21 転送制御部 15 L1クロスバ 25−1〜25−2 L2クロスバ 1-1 to 1-N System module 2 Crossbar module 3 Bus 11-1 to 11-M Processor 14, 21 Transfer control unit 15 L1 crossbar 25-1 to 25-2 L2 crossbar
Claims (5)
び第1のクロスバとを含む、複数のシステムモジュール
と、 該複数のシステムモジュールを接続する第2のクロスバ
を含むクロスバモジュールとを備え、 任意の1つのシステムモジュール内で転送を行う際に
は、該転送制御部は該第2のクロスバを介することなく
制御情報パケットを内部で転送する、マイクロプロセッ
サシステム。1. A system comprising: a plurality of system modules each including a plurality of processors, a transfer control unit, and a first crossbar; and a crossbar module including a second crossbar connecting the plurality of system modules. The microprocessor system, wherein when performing transfer within one system module, the transfer control unit transfers the control information packet internally without passing through the second crossbar.
いリプライオンリー転送の通知を行うためのリプライオ
ンリーパケットも転送する、請求項1記載のマルチプロ
セッサシステム。2. The multiprocessor system according to claim 1, wherein the transfer control unit also transfers a replies-only packet for notifying a replies-free transfer without data transfer.
ステムモジュール外から転送される制御情報パケットの
転送の優先順位YCOUT と、該任意の1つのシステムモ
ジュール内で転送される制御情報パケットの転送の優先
順位YCINと、該任意の1つのシステムモジュール外か
ら転送されるリプライオンリーパケットの転送の優先順
位YROUT と、該任意の1つのシステムモジュール内で
転送されるリプライオンリーパケットの転送の優先順位
YRINとを、YCOUT >YCIN>YROUT >YRINなる
関係を満足するように設定してバッファリングする、請
求項2記載のマルチプロセッサシステム。3. The transfer control unit according to claim 2, wherein the priority of transfer of the control information packet transferred from outside the arbitrary one system module is YC OUT , and the control information packet transferred within the arbitrary one system module is Transfer priority YC IN , transfer priority YR OUT of transfer of the replies from outside the arbitrary one system module, and transfer of lip re-ion Lee packets transferred within the arbitrary one system module 3. The multiprocessor system according to claim 2, wherein the priority order YR IN is set and buffered so as to satisfy a relationship of YC OUT > YC IN > YR OUT > YR IN .
のシステムモジュール内で転送を行う際に、前記第2の
クロスバを介することなくデータパケットを内部で転送
する戻り部を有する、請求項1〜3のいずれか1項記載
のマルチプロセッサシステム。4. The system according to claim 1, wherein the first crossbar has a return unit for internally transferring a data packet without passing through the second crossbar when performing transfer within the one arbitrary system module. The multiprocessor system according to any one of claims 1 to 3.
び第1のクロスバとを含む、複数のシステムモジュール
が、第2のクロスバを含むクロスバモジュールを介して
接続された構成のマルチプロセッサシステムにおけるデ
ータ転送方法であって、 任意の1つのシステムモジュール内で転送を行う際に
は、該第2のクロスバを介することなく、制御情報パケ
ット及びデータパケットを内部で転送するステップを含
む、データ転送方法。5. A multiprocessor system in which a plurality of system modules each including a plurality of processors, a transfer control unit, and a first crossbar are connected via a crossbar module including a second crossbar. A transfer method, comprising: transferring a control information packet and a data packet internally without passing through the second crossbar when transferring in any one system module.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35373199A JP2001167067A (en) | 1999-12-13 | 1999-12-13 | Multiprocessor system and data transfer method |
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 |
---|---|---|---|
JP35373199A JP2001167067A (en) | 1999-12-13 | 1999-12-13 | Multiprocessor system and data transfer method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001167067A true JP2001167067A (en) | 2001-06-22 |
Family
ID=18432845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35373199A Pending JP2001167067A (en) | 1999-12-13 | 1999-12-13 | Multiprocessor system and data transfer method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001167067A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890685B2 (en) | 2008-02-14 | 2011-02-15 | Renesas Electronics Corporation | Multi-core data processor |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0516066B2 (en) * | 1986-04-04 | 1993-03-03 | Kogyo Gijutsuin | |
JP2001101147A (en) * | 1999-08-26 | 2001-04-13 | Internatl Business Mach Corp <Ibm> | Method for data transfer, computer program product, data transfer system, and data processing system |
-
1999
- 1999-12-13 JP JP35373199A patent/JP2001167067A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0516066B2 (en) * | 1986-04-04 | 1993-03-03 | Kogyo Gijutsuin | |
JP2001101147A (en) * | 1999-08-26 | 2001-04-13 | Internatl Business Mach Corp <Ibm> | Method for data transfer, computer program product, data transfer system, and data processing system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890685B2 (en) | 2008-02-14 | 2011-02-15 | Renesas Electronics Corporation | Multi-core data processor |
US8108586B2 (en) | 2008-02-14 | 2012-01-31 | Renesas Electronics Corporation | Multi-core data processor |
US8370556B2 (en) | 2008-02-14 | 2013-02-05 | Renesas Electronics Corporation | Multi-core data processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2170458C (en) | Multi-cluster computer system | |
US5555543A (en) | Crossbar switch apparatus and protocol | |
US5450578A (en) | Method and apparatus for automatically routing around faults within an interconnect system | |
EP0606299B1 (en) | Method and apparatus for concurrent packet bus | |
JP2781623B2 (en) | Memory access switch network | |
US6212194B1 (en) | Network routing switch with non-blocking arbitration system | |
JPH096717A (en) | System and method for data processing containing buffering mechanism for inbound and outbound read as well as posted write | |
JPS6342542A (en) | Spatial dividing switch of data packet and method of exchanging data packets | |
US6904046B2 (en) | Self-route multi-memory packet switch adapted to have an expandable number of input/output ports | |
US6701407B1 (en) | Multiprocessor system with system modules each having processors, and a data transfer method therefor | |
JP2001160815A (en) | Connection port for interconnection module in integrated circuit | |
JP2001167069A (en) | Multiprocessor system and data transfer method | |
US7039750B1 (en) | On-chip switch fabric | |
JP2001167067A (en) | Multiprocessor system and data transfer method | |
US7480832B2 (en) | Centralized error signaling and logging | |
JPH0818565A (en) | Data processing unit | |
US7272151B2 (en) | Centralized switching fabric scheduler supporting simultaneous updates | |
US20030133447A1 (en) | Data transmission system with multi-memory packet switch | |
US5495589A (en) | Architecture for smart control of bi-directional transfer of data | |
KR100798302B1 (en) | System on Chip with Hybrid Communication Architecture of On-Chip BUS and On-Chip Network | |
US7130302B2 (en) | Self-route expandable multi-memory packet switch | |
US7979766B2 (en) | Architecture for a message bus | |
JP3586603B2 (en) | Data transfer device and data transfer method | |
JP2001022711A (en) | Method for controlling crossbar switch and parallel computer system | |
JP3476660B2 (en) | ATM switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050401 |
|
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 |