JP2009194510A - Priority arbitration system and priority arbitration method - Google Patents

Priority arbitration system and priority arbitration method Download PDF

Info

Publication number
JP2009194510A
JP2009194510A JP2008031545A JP2008031545A JP2009194510A JP 2009194510 A JP2009194510 A JP 2009194510A JP 2008031545 A JP2008031545 A JP 2008031545A JP 2008031545 A JP2008031545 A JP 2008031545A JP 2009194510 A JP2009194510 A JP 2009194510A
Authority
JP
Japan
Prior art keywords
packet
latency
cpu
cpus
routing
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
JP2008031545A
Other languages
Japanese (ja)
Other versions
JP4687925B2 (en
Inventor
Yasuhiro Soda
泰広 曽田
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2008031545A priority Critical patent/JP4687925B2/en
Publication of JP2009194510A publication Critical patent/JP2009194510A/en
Application granted granted Critical
Publication of JP4687925B2 publication Critical patent/JP4687925B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a priority arbitration system and a priority arbitration method which suppress deterioration of latency by long path packets or packets waiting due to contention on a path. <P>SOLUTION: The priority arbitration system is provided with: a plurality of CPUs; a plurality of hardware resources to be accessed from the plurality of CPUs; a plurality of crossbars which perform routing between them; and a plurality of routing tables which store latency information showing latency between the plurality of CPUs and the plurality of hardware resources. When transmitting transmission packets to the destination hardware resources, each of the plurality of CPUs adds the latency information corresponding to the destination hardware resources to the transmission packets in the routing tables of the own CPU. When receiving the plurality of packets, each of the plurality of crossbars executes priority arbitration so as to preferentially transmit a packet whose latency is high to the destination hardware resources. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、パケットの調停に関する。   The present invention relates to packet arbitration.

複数のCPUからアクセス先の共有資源(メモリ、IO等)までの経路上に、調停回路を有する複数のクロスバが存在する大規模SMP(Symmetric Multi Processing)コンピュータシステムが知られている。   There is known a large-scale SMP (Symmetric Multi Processing) computer system in which a plurality of crossbars having arbitration circuits exist on a path from a plurality of CPUs to an access destination shared resource (memory, IO, etc.).

以下に、出願人が知り得た先行技術文献を記載する。
特開2005−340959号公報 特開平9−321795号公報 特開平10−135952号公報 特開平11−312093号公報
The prior art documents that the applicant has known are listed below.
JP 2005-340959 A Japanese Patent Laid-Open No. 9-321795 Japanese Patent Laid-Open No. 10-135952 JP 11-312093 A

物理的に経路の遠くに位置する共有資源へのアクセスは、複数のLSIを経由して行われる。そのため、レイテンシが長くなってしまうという欠点が存在する。さらに、経路途中の調停回路において競合が発生した場合、該リクエストが待たされることがある。この場合、該リクエストの完了までにかかるレイテンシは更に増大する。   Access to a shared resource physically located far from the path is performed via a plurality of LSIs. Therefore, there is a drawback that the latency becomes long. Further, when a conflict occurs in the arbitration circuit in the middle of the route, the request may be awaited. In this case, the latency required to complete the request further increases.

仮に、CPU内に、経路の遠くに位置する共有資源にアクセスを要求する先行リクエストと、該先行リクエストの完了を待って発行される後続リクエストが存在した場合、先行リクエストのレイテンシの増大は、後続リクエストの発行を遅らせる原因となる。その結果、コンピュータシステム全体の性能を低下させてしまうという問題が存在した。   If there is a preceding request in the CPU that requests access to a shared resource located far in the path and a subsequent request issued after completion of the preceding request, the increase in latency of the preceding request This can delay the issuance of requests. As a result, there has been a problem that the performance of the entire computer system is degraded.

本発明による優先調停システムは、複数のCPUと、複数のCPUからアクセスされる複数のハードウエア資源と、複数のCPUの各々に対応する記憶領域に設定され、自CPUと複数のハードウエア資源の各々とのレイテンシを示すレイテンシ情報を格納する複数のルーティングテーブルと、複数のCPUと複数のハードウエア資源との間で交換されるパケットのルーティングを行う複数のクロスバとを備える。複数のCPUの各々は、送信パケットを複数のハードウエア資源のうちの送信先ハードウエア資源に送信するとき、複数のルーティングテーブルのうち自CPUに対応するルーティングテーブルにおいて送信先ハードウエア資源に対応するレイテンシ情報を送信パケットに付加する。複数のクロスバの各々は、複数のパケットを受信したとき、受信した複数のパケットの各々のレイテンシ情報を参照してレイテンシが大きいパケットを優先的に送信先ハードウエア資源の方に送信する優先調停処理を実行する。   The priority arbitration system according to the present invention is set in a plurality of CPUs, a plurality of hardware resources accessed from the plurality of CPUs, and a storage area corresponding to each of the plurality of CPUs. A plurality of routing tables for storing latency information indicating the latency with each of them, and a plurality of crossbars for routing packets exchanged between a plurality of CPUs and a plurality of hardware resources. Each of the plurality of CPUs corresponds to the transmission destination hardware resource in the routing table corresponding to the own CPU among the plurality of routing tables when transmitting the transmission packet to the transmission destination hardware resource among the plurality of hardware resources. Latency information is added to the transmission packet. Each of the plurality of crossbars, when receiving a plurality of packets, refers to the latency information of each of the received plurality of packets and preferentially transmits a packet having a large latency to the destination hardware resource. Execute.

本発明による優先調停方法は、複数のCPUの各々に対応する記憶領域に、自CPUと複数のハードウエア資源の各々とのレイテンシを示すレイテンシ情報を格納する複数のルーティングテーブルを設定するステップと、複数のCPUの各々が、送信パケットを複数のハードウエア資源のうちの送信先ハードウエア資源に送信するとき、複数のルーティングテーブルのうち自CPUに対応するルーティングテーブルにおいて送信先ハードウエア資源に対応するレイテンシ情報を送信パケットに付加するステップと、複数のクロスバの各々が、複数のパケットを受信したとき、受信した複数のパケットの各々のレイテンシ情報を参照してレイテンシが大きいパケットを優先的に送信先ハードウエア資源の方に送信する優先調停処理を実行するステップとを備える。   In the priority arbitration method according to the present invention, a step of setting a plurality of routing tables for storing latency information indicating latency between the own CPU and each of a plurality of hardware resources in a storage area corresponding to each of the plurality of CPUs; When each of the plurality of CPUs transmits a transmission packet to a destination hardware resource among the plurality of hardware resources, the CPU corresponds to the destination hardware resource in the routing table corresponding to the own CPU among the plurality of routing tables. A step of adding latency information to the transmission packet, and when each of the plurality of crossbars receives the plurality of packets, the destination of the packet having a large latency is preferentially referred to by referring to the latency information of each of the plurality of received packets. Executes the priority arbitration process sent to the hardware resource. Tsu and a flop.

本発明により、長経路のパケットや経路上の競合により待たされたパケットによるレイテンシの低下を抑制する優先調停装置及び優先調停方法が実現される。   According to the present invention, a priority arbitration device and a priority arbitration method that suppress a decrease in latency due to a long path packet or a packet waited due to a competition on the path are realized.

以下、本発明を実施するための最良の形態について説明する。最初に、本実施の形態について概略的に説明する。   Hereinafter, the best mode for carrying out the present invention will be described. First, the present embodiment will be schematically described.

本実施の形態の優先調停システムと優先調停方法は、リクエスタ(CPU)からアクセス先の共有資源(メモリ、IO等のハードウエア資源)までの経路上に、調停回路を有する複数のクロスバが存在する大規模SMPコンピュータシステムに適用される。   In the priority arbitration system and the priority arbitration method of the present embodiment, there are a plurality of crossbars having arbitration circuits on the path from the requester (CPU) to the shared resource to be accessed (hardware resources such as memory and IO). Applies to large scale SMP computer systems.

リクエスタが発行するリクエストパケットのヘッダ部分に、レイテンシ値を記載するフィールド(レイテンシフィールド)が設けられる。アクセスリクエストの行き先情報から、行き先の共有資源までのルーティング情報と最短所要時間(最少レイテンシ)を求めることが出来るルーティングテーブルが設けられる。CPUは、このルーティングテーブルを参照して、パケットを生成する際にパケットヘッダのレイテンシフィールドに該レイテンシテーブルから求めた経路通過で所要されるレイテンシ値を設定する。   A field (latency field) describing a latency value is provided in the header portion of the request packet issued by the requester. A routing table is provided that can obtain the routing information from the destination information of the access request to the shared resource of the destination and the minimum required time (minimum latency). With reference to this routing table, the CPU sets a latency value required for route passage obtained from the latency table in the latency field of the packet header when generating a packet.

パケットの転送経路上で複数のパケットが同一経路を同時に使用することにより競合が発生し、調停が必要となる場合がある。こうした場合、パケットヘッダのレイテンシ情報を比較して、パケットが所用するレイテンシ値が大きなパケットを優先的に通過させる機構が設けられる。この機構は、長経路のパケットのレイテンシを改善する。   In some cases, a plurality of packets simultaneously use the same path on the packet transfer path, thereby causing a conflict and requiring arbitration. In such a case, a mechanism for preferentially passing a packet having a large latency value required by the packet by comparing the latency information of the packet header is provided. This mechanism improves long path packet latency.

また、或るパケットが調停競合で一時的に待たされた際に、待たされた時間をパケットヘッダのレイテンシ値に加算する機構が設けられる。この機構は、該パケットを次回の調停においては以前より高優先なパケットとすることを可能とする。その結果、該パケットの次調停競合における更なるレイテンシ悪化が抑制される。   Further, when a certain packet is temporarily waited due to arbitration contention, a mechanism is provided for adding the waited time to the latency value of the packet header. This mechanism allows the packet to be a higher priority packet than before in the next arbitration. As a result, further latency deterioration in the next arbitration competition of the packet is suppressed.

次に、こうした優先調停システムと優先調停方法を実現するための具体的な構成について説明する。図1に本実施の形態の構成を示す。図1を参照すると、本実施の形態における優先調停システム、優先調停方法が適用されるシステムは複数のLSIで構成される。このシステムは、リクエストパケットを送出する機能を有する4個のリクエスタCPU1010、CPU1011、CPU1110、CPU1111と、リクエストのアクセス先となる4個の共有資源IOH1220、IOH1221、IOH1320、IOH1321と、リクエスタCPU1010、CPU1011、CPU1110、CPU1111と共有資源IOH1220、IOH1221、IOH1320、IOH1321との間に位置し、パケットの通過する経路を形成するクロスバNC1000、NC1100、NC1200、NC1300とを備える。   Next, a specific configuration for realizing such a priority arbitration system and a priority arbitration method will be described. FIG. 1 shows the configuration of the present embodiment. Referring to FIG. 1, the system to which the priority arbitration system and the priority arbitration method according to the present embodiment are applied includes a plurality of LSIs. This system includes four requester CPUs 1010, CPU 1011, CPU 1110, and CPU 1111 that have a function of sending a request packet, four shared resources IOH 1220, IOH 1221, IOH 1320, and IOH 1321 that are access destinations of requests, and requester CPUs 1010, CPU 1011, The crossbars NC1000, NC1100, NC1200, and NC1300, which are located between the CPU 1110, the CPU 1111 and the shared resources IOH1220, IOH1221, IOH1320, and IOH1321, and form a path through which packets pass are provided.

これらのLSIのうちの任意の2LSI間は、一方から他方にデータを転送する単方向の接続インタフェースと、他方から一方にデータを転送する単方向の接続インタフェースとの2本を束ねた双方向の接続インタフェースを介して接続される。   Between any two LSIs of these LSIs, there is a bi-directional bundle that bundles two, a unidirectional connection interface that transfers data from one to the other and a unidirectional connection interface that transfers data from the other to the other. Connected via connection interface.

リクエスタCPU1010およびCPU1011は双方向の接続インタフェースを介してクロスバNC1000と接続し、共有資源IOH1220〜IOH1321に対するアクセスリクエストをリクエストパケットとしてクロスバNC1000へ出力する機能および、共有資源から処理完了通知として送出されるリプライパケットを受信する機能を有している。   The requester CPU 1010 and CPU 1011 are connected to the crossbar NC 1000 via a bidirectional connection interface, and a function for outputting an access request for the shared resources IOH 1220 to IOH 1321 to the cross bar NC 1000 as a request packet, and a reply sent as a processing completion notification from the shared resource. It has a function to receive packets.

同様に、リクエスタCPU1110およびCPU1111は双方向の接続インタフェースを介してクロスバNC1100と接続し、共有資源IOH1220〜IOH1321へのアクセスリクエストパケットをクロスバNC1100へ出力する機能および、共有資源からのリプライパケットを受信する機能を有している。   Similarly, the requester CPU 1110 and the CPU 1111 are connected to the crossbar NC 1100 via the bidirectional connection interface, and receive a reply packet from the shared resource and a function of outputting an access request packet to the shared resource IOH 1220 to IOH 1321 to the cross bar NC 1100. It has a function.

また、各リクエスタCPU1010、CPU1011、CPU1110、CPU1111に対応する記憶領域には、自CPUからアクセスし得る共有資源毎に、パケット転送時にクロスバで使用されるルーティング情報と、自CPUから行き先共有資源までパケットを転送する際に最低必要な所要時間を表す最少レイテンシ情報(本実施の形態においては片道レイテンシを示す)とを保持するルーティングテーブルR1010、R1011、R1110、R1111が格納される。各リクエスタCPU1010、CPU1011、CPU1110、CPU1111は、リクエストパケット出力時に、自CPUのルーティングテーブルを参照して、行き先の共有資源に対応するルーティング情報と最短レイテンシ値をパケットヘッダの行き先指定フィールドおよびレイテンシフィールドに設定する機能を有している。   The storage areas corresponding to the requester CPU 1010, CPU 1011, CPU 1110, and CPU 1111 include, for each shared resource accessible from the own CPU, routing information used in the crossbar at the time of packet transfer, and packets from the own CPU to the destination shared resource. Routing tables R1010, R1011, R1110, and R1111 that hold minimum latency information (indicating one-way latency in the present embodiment) indicating the minimum required time for transferring. Each requester CPU 1010, CPU 1011, CPU 1110, and CPU 1111 refers to the routing table of its own CPU at the time of request packet output, routing information corresponding to the shared resource of the destination and the shortest latency value in the destination designation field and latency field of the packet header. It has a function to set.

図4はルーティングテーブルR1010、R1011、R1110、R1111のうちの任意の一つのルーティングテーブルRの構成および、パケットヘッダへの設定動作を示している。ルーティングテーブルR内には共有資源毎にルーティング情報およびレイテンシ情報(最短レイテンシ値)が保持されている。各リクエスタCPU1010、CPU1011、CPU1110、CPU1111は、行き先となる共有資源を指定することで、対応するルーティング情報および最短レイテンシ値を取り出し、それらの値をパケットヘッダの行き先指定フィールドF1とレイテンシフィールドF2にそれぞれ設定できる。   FIG. 4 shows the configuration of any one of the routing tables R1010, R1011, R1110, and R1111 and the setting operation for the packet header. In the routing table R, routing information and latency information (shortest latency value) are held for each shared resource. Each requester CPU 1010, CPU 1011, CPU 1110, CPU 1111 extracts the corresponding routing information and the shortest latency value by designating the shared resource to be the destination, and these values are respectively stored in the destination designation field F 1 and the latency field F 2 of the packet header. Can be set.

共有資源IOH1220、IOH1221は、クロスバNC1200と双方向の接続インタフェースを介して接続し、全てのリクエスタCPUからのリクエストパケットをクロスバNC1200経由で受信する機能を有している。同様に共有資源IOH1320、IOH1321も、クロスバNC1300と双方向の接続インタフェースを介して接続し、全てのリクエスタCPUからのリクエストパケットをクロスバNC1300経由で受信する機能を有している。   The shared resources IOH1220 and IOH1221 are connected to the crossbar NC1200 via a bidirectional connection interface, and have a function of receiving request packets from all requester CPUs via the crossbar NC1200. Similarly, the shared resources IOH 1320 and IOH 1321 are connected to the crossbar NC 1300 via a bidirectional connection interface, and have a function of receiving request packets from all requester CPUs via the crossbar NC 1300.

リクエストパケットを受信した共有資源IOH1220〜1321は、リクエスタCPUからのリクエストパケットを解析し、適当な処理(共有資源に対するリードやライト等)を行う。その後、共有資源IOH1220〜1321は、リクエスタCPUを送信先CPUとして対するリプライパケットを生成し、接続するクロスバへ送出する。   The shared resource IOH 1220 to 1321 that has received the request packet analyzes the request packet from the requester CPU, and performs appropriate processing (such as reading and writing on the shared resource). Thereafter, the shared resource IOH 1220 to 1321 generates a reply packet for the requester CPU as the transmission destination CPU and sends it to the crossbar to be connected.

共有資源IOH1220〜1321は、リクエスタCPUが有するルーティングテーブルと同等機能のハードウエア資源側ルーティングテーブルR1220、1221、1320、1321を内部に有し、リクエスタCPU1010〜1111によるリクエストパケット生成と同様の機能を有する。すなわち、共有資源IOH1220〜1321は、リプライパケット出力時に、リクエスト発行元のリクエスタCPUを送信先CPUとする。共有資源IOH1220〜1321は、送信先CPUに対応するルーティング情報である復路ルーティング情報と最短レイテンシ値を示す復路レイテンシ情報を返信パケットのパケットヘッダの行き先指定フィールドおよびレイテンシフィールドに設定する。   The shared resources IOH 1220 to 1321 internally have hardware resource side routing tables R1220, 1221, 1320, and 1321 having the same functions as the routing table of the requester CPU, and have the same functions as the request packet generation by the requester CPUs 1010 to 1111. . That is, the shared resource IOH 1220 to 1321 sets the requester requester CPU as the transmission destination CPU when the reply packet is output. The shared resources IOH 1220 to 1321 set return route routing information corresponding to the destination CPU and return route latency information indicating the shortest latency value in the destination designation field and latency field of the packet header of the return packet.

クロスバNC1000は隣接するクロスバNC1100、NC1200および、リクエスタCPU1010、CPU1011と双方向の接続インタフェースを介して接続し、LSI間でパケットの入出力を行う機能を有している。クロスバNC1000内の各接続インタフェースにはポート番号が割り当てられている。クロスバNC1100との接続インタフェースはポート2、クロスバNC1200との接続インタフェースはポート3、リクエスタCPU1010との接続インタフェースはポート0、リクエスタCPU1011との接続インタフェースはポート1と割りあてられる。   The crossbar NC1000 is connected to the adjacent crossbars NC1100 and NC1200 and the requester CPU1010 and CPU1011 via a bidirectional connection interface, and has a function of inputting and outputting packets between LSIs. A port number is assigned to each connection interface in the crossbar NC1000. The connection interface to the crossbar NC 1100 is assigned to port 2, the connection interface to the crossbar NC 1200 is assigned to port 3, the connection interface to the requester CPU 1010 is assigned to port 0, and the connection interface to the requester CPU 1011 is assigned to port 1.

同様に、クロスバNC1100は隣接するクロスバNC1000、NC1300および、リクエスタCPU1110、CPU1111と双方向の接続インタフェースを介して接続し、LSI間でのパケットの入出力を行う機能を有している。クロスバNC1100内の各接続インタフェースは、クロスバNC1000と同様にポート番号が割り当てられている。クロスバNC1000との接続インタフェースはポート3、クロスバNC1300との接続インタフェースはポート2、リクエスタCPU1110との接続インタフェースはポート0、リクエスタCPU1111との接続インタフェースはポート1と割りあてられる。   Similarly, the crossbar NC 1100 is connected to the adjacent crossbars NC1000 and NC1300 and the requester CPU 1110 and CPU 1111 via a bidirectional connection interface, and has a function of inputting and outputting packets between LSIs. Each connection interface in the crossbar NC 1100 is assigned a port number as in the crossbar NC1000. The connection interface to the crossbar NC1000 is assigned to port 3, the connection interface to the crossbar NC1300 is assigned to port 2, the connection interface to the requester CPU 1110 is assigned to port 0, and the connection interface to the requester CPU 1111 is assigned to port 1.

前述のクロスバと同様に、クロスバNC1200は隣接するクロスバNC1000、NC1300および、共有資源IOH1220、IOH1221と双方向の接続インタフェースを介して接続し、LSI間でのパケットの入出力を行う機能を有している。クロスバNC1200内の各接続インタフェースは、前述のクロスバと同様にポート番号が割り当てられている。クロスバNC1000との接続インタフェースはポート2、クロスバNC1300との接続インタフェースはポート3、共資源IOH1220との接続インタフェースはポート1、共有資源IOH1221との接続インタフェースはポート0と割りあてられる。   Similar to the crossbar described above, the crossbar NC1200 is connected to the adjacent crossbars NC1000 and NC1300 and the shared resources IOH1220 and IOH1221 via a bidirectional connection interface, and has a function of inputting and outputting packets between LSIs. Yes. Each connection interface in the crossbar NC 1200 is assigned a port number in the same manner as the crossbar described above. The connection interface with the crossbar NC1000 is assigned with port 2, the connection interface with the crossbar NC1300 is assigned with port 3, the connection interface with the shared resource IOH 1220 is assigned with port 1, and the connection interface with the shared resource IOH 1221 is assigned with port 0.

前述のクロスバと同様に、クロスバNC1300は隣接するクロスバNC1100、NC1200および、共有資源IOH1320、IOH1321と双方向の接続インタフェースを介して接続し、LSI間でのパケットの入出力を行う機能を有している。クロスバNC1300内の各接続インタフェースは、前述のクロスバと同様にポート番号が割り当てられている。クロスバNC1200との接続インタフェースはポート2、クロスバNC1100との接続インタフェースはポート3、共資源IOH1320との接続インタフェースはポート1、共有資源IOH1321との接続インタフェースはポート0と割りあてられる。   Similar to the crossbar described above, the crossbar NC1300 is connected to the adjacent crossbars NC1100 and NC1200 and the shared resources IOH1320 and IOH1321 via a bidirectional connection interface, and has a function of inputting and outputting packets between LSIs. Yes. Each connection interface in the crossbar NC 1300 is assigned a port number similarly to the crossbar described above. The connection interface with the crossbar NC 1200 is assigned with port 2, the connection interface with the crossbar NC 1100 is assigned with port 3, the connection interface with the shared resource IOH 1320 is assigned with port 1, and the connection interface with the shared resource IOH 1321 is assigned with port 0.

各クロスバNC1000〜NC1300はリクエストパケットとリプライパケットの区別は行わず、パケットヘッダに存在するルーティング情報に従い、パケットを行き先IOH1220〜1321またはCPU1010〜CPU1111へ転送することを目的として動作する。各クロスバNC1000〜NC1300は内部にパケット受信部および出力調停部を接続インタフェース毎に有する。各クロスバNC1000〜NC1300が接続インタフェースから受信するパケットは、受信部で一旦保持される。調停制御部から出力されるパケットは接続インタフェースを経由して、他のLSIで受信される。   Each of the crossbars NC1000 to NC1300 does not distinguish between a request packet and a reply packet, and operates for the purpose of transferring the packet to the destination IOH 1220 to 1321 or the CPUs 1010 to 1111 according to the routing information existing in the packet header. Each of the crossbars NC1000 to NC1300 has a packet reception unit and an output arbitration unit for each connection interface. Packets received by the crossbars NC1000 to NC1300 from the connection interface are temporarily held by the receiving unit. The packet output from the arbitration control unit is received by another LSI via the connection interface.

図2はクロスバ内部のパケット受信部および出力調停部の動作を示している。本実施の形態の構成である図1のクロスバ構成では、クロスバ1個あたりポートが4個存在する。そのため、実際は4個のパケット受信部と4個の出力調停部の図が適当ではあるが、図2ではこれを簡略化しており、2個のパケット受信部と1個の出力調停部について表している。   FIG. 2 shows the operation of the packet receiver and output arbitrator in the crossbar. In the crossbar configuration of FIG. 1 that is the configuration of the present embodiment, there are four ports per crossbar. Therefore, in practice, a diagram of four packet receivers and four output arbitration units is appropriate, but in FIG. 2, this is simplified, and two packet receivers and one output arbitration unit are represented. Yes.

各パケット受信部は、受信バッファと行き先解析回路C1を有している。受信バッファは、受信パケットを一旦保持する。行き先解析回路C1は、受信バッファに保持されたパケットのパケットヘッダの行き先指定フィールドを解析して、パケットの出力先ポートを決定し、該出力先ポートの出力調停回路C2に対して調停リクエストを出力する。また、各パケット受信部は、行き先解析回路C1で決定した行き先ポートの出力調停回路C2に対して、調停リクエストを出力すると同時に、パケットヘッダのレイテンシフィールドの値を出力する機能も有している。   Each packet receiver includes a reception buffer and a destination analysis circuit C1. The reception buffer once holds the received packet. The destination analysis circuit C1 analyzes the destination designation field of the packet header of the packet held in the reception buffer, determines the output destination port of the packet, and outputs an arbitration request to the output arbitration circuit C2 of the output destination port. To do. Each packet receiving unit also has a function of outputting an arbitration request to the output arbitration circuit C2 of the destination port determined by the destination analysis circuit C1, and simultaneously outputting the value of the latency field of the packet header.

各パケット受信部は、出力調停部から使用許可信号(GNT信号)を受信したら、受信バッファからパケットを取出し、出力ポートへパケットを送出する機能を有している。   Each packet receiving unit has a function of taking out a packet from the reception buffer and sending the packet to the output port when receiving a use permission signal (GNT signal) from the output arbitration unit.

各パケット受信部は、以下に説明するように、パケット毎に調停の結果に応じてレイテンシ値を書き換える機能を有する。各パケット受信部は、出力先ポートの出力調停回路C2に調停リクエストを出力しても、直ぐにGNT信号が出力されない場合は、受信バッファからパケットを取り出すことなく、GNT信号を受信するまで待ち状態(調停待ち状態)となる。各パケット受信部は、この間、パケットヘッダのレイテンシフィールド値に待ち時間を加算し、レイテンシフィールドを更新する。すなわち、パケット受信部が調停待ち状態となった場合、その間、ヘッダのレイテンシフィールドを加算し続け、該値をレイテンシフィールド値として出力調停部へ出力し続ける。   Each packet receiving unit has a function of rewriting the latency value according to the result of arbitration for each packet, as will be described below. If each packet receiver outputs an arbitration request to the output arbitration circuit C2 of the output destination port and does not immediately output a GNT signal, it waits until it receives the GNT signal without taking out the packet from the reception buffer ( Waiting for arbitration). During this time, each packet receiving unit adds a waiting time to the latency field value of the packet header and updates the latency field. That is, when the packet receiving unit is in an arbitration waiting state, the latency field of the header is continuously added during that period, and the value is continuously output to the output arbitration unit as a latency field value.

クロスバ内の出力調停部は、調停回路C2を有している。調停回路C2は、クロスバ内の各ポートのパケット受信部から調停リクエストを受信した際に、それら調停リクエストから使用許可ポートを一つだけに決定し、該ポートに対し出力ポートの使用許可通知としてGNT信号を出力する。調停回路C2は、各パケット受信部から出力されているパケットヘッダ内のレイテンシフィールド値に基づいて出力ポートの使用を許可する優先調停機能を有している。この機能により、使用許可ポートを決定する際に、レイテンシ値が大きな調停リクエストに対して優先的に出力ポートの使用が許可される。   The output arbitration unit in the crossbar has an arbitration circuit C2. When the arbitration circuit C2 receives an arbitration request from the packet reception unit of each port in the crossbar, the arbitration circuit C2 determines only one use-permitted port from the arbitration request, and sends a GNT as an output port use permission notification to the port. Output a signal. The arbitration circuit C2 has a priority arbitration function that permits the use of the output port based on the latency field value in the packet header output from each packet receiver. With this function, when the use permission port is determined, the use of the output port is preferentially permitted for an arbitration request having a large latency value.

また、クロスバ内の出力調停部は、調停回路C2が決定した使用許可ポートからパケットを受信し、接続インタフェースに送出する機能を有するパケット送信部を有している。   Further, the output arbitration unit in the crossbar has a packet transmission unit having a function of receiving a packet from the use permission port determined by the arbitration circuit C2 and sending it to the connection interface.

次に、以上の構成を備えたシステムの動作について説明する。図3は本実施の形態の動作例を示している。図3は図1の構成とほぼ同じ構成で、各要素の番号も千番台が三千番台になっているだけである。動作の説明に登場しない部分は削除した。以降では図3を参照し、長経路のパケット転送における優先調停の動作および、調停競合で遅れたパケットに対する優先調停の動作の一例を説明する。   Next, the operation of the system having the above configuration will be described. FIG. 3 shows an operation example of this embodiment. FIG. 3 is substantially the same as the configuration of FIG. 1, and the numbers of the elements are only in the thousands range from the thousands. The part that doesn't appear in the explanation of operation was deleted. Hereinafter, with reference to FIG. 3, an example of the priority arbitration operation in the long-path packet transfer and the priority arbitration operation for the packet delayed due to the arbitration conflict will be described.

[動作例の説明における前提]
本動作例では、リクエスタCPU3010から送信先のハードウエア資源である共有資源IOH3320までの経路は、クロスバ3000、クロスバ3200およびクロスバ3300経由とする(経路1)。
本動作例では、リクエスタCPU3011から共有資源IOH3220までの経路は、クロスバ3000およびクロスバ3200経由とする(経路2)。
本動作例では、リクエスタCPU3110から共有資源IOH3220までの経路は、クロスバ3100、クロスバ3300およびクロスバ3200経由とする(経路3)。
[Assumptions in explanation of operation example]
In this operation example, the path from the requester CPU 3010 to the shared resource IOH 3320 as the transmission destination hardware resource is via the crossbar 3000, the crossbar 3200, and the crossbar 3300 (path 1).
In this operation example, the path from the requester CPU 3011 to the shared resource IOH 3220 is via the crossbar 3000 and the crossbar 3200 (path 2).
In this operation example, the path from the requester CPU 3110 to the shared resource IOH 3220 is via the crossbar 3100, the crossbar 3300, and the crossbar 3200 (path 3).

経路の最短レイテンシ値は、本実施の形態の動作例においてはクロスバ1個当たりの通過レイテンシを10と設定される。即ち、経路1および経路3の最短レイテンシ値は30、経路2の最短レイテンシは20である。
また、本実施の形態の動作例において、調停待ち時間は一律15と設定される。
尚、パケットヘッダに設定するルーティング情報については、本実施の形態の動作説明では詳しく言及しないが、一般的なルーティング情報相当のものである。ルーティング情報は、クロスバ内で解析することにより、出力先のポートが判断できる情報を含んでいるものとして扱う。
The shortest latency value of the path is set such that the passing latency per crossbar is 10 in the operation example of the present embodiment. That is, the shortest latency value of the route 1 and the route 3 is 30, and the shortest latency of the route 2 is 20.
In the operation example of the present embodiment, the arbitration waiting time is uniformly set to 15.
Note that the routing information set in the packet header is equivalent to general routing information, although it will not be described in detail in the operation description of the present embodiment. The routing information is treated as including information that can be determined by the output destination port by analyzing in the crossbar.

[長経路のパケット転送における優先調停]
リクエスタCPU3010は共有資源IOH3220へのリクエストパケットを生成し、クロスバNC3000へ送出する。この際、リクエスタCPU3010は、共有資源IOH03220までのルーティング情報および最短レイテンシ値(=30)を自CPUのルーティングテーブルから求め、パケットのヘッダの行き先指定フィールドと、レイテンシフィールドに設定する。リクエスタCPU2010からのリクエストパケットはクロスバNC3000のポート0のパケット受信部に受信される。クロスバNC3000のポート0のパケット受信部は、受信したパケットのパケットヘッダ内の行き先指定フィールドを参照し、出力先はポート3と判断し、クロスバNC3000のポート3の出力調停部に対して調停リクエストを出力する。また、これと同時にリクエスタCPU3010からのリクエストパケットのレイテンシフィールド値(=30)もクロスバNC3000のポート3の出力調停部に対して出力する。
[Priority arbitration in long-path packet transfer]
The requester CPU 3010 generates a request packet for the shared resource IOH 3220 and sends it to the crossbar NC3000. At this time, the requester CPU 3010 obtains the routing information to the shared resource IOH03220 and the shortest latency value (= 30) from the routing table of the own CPU, and sets them in the destination designation field and the latency field of the packet header. The request packet from the requester CPU 2010 is received by the packet receiver at port 0 of the crossbar NC3000. The packet receiver of port 0 of the crossbar NC3000 refers to the destination designation field in the packet header of the received packet, determines that the output destination is port 3, and sends an arbitration request to the output arbitrator of port 3 of the crossbar NC3000. Output. At the same time, the latency field value (= 30) of the request packet from the requester CPU 3010 is also output to the output arbitration unit of the port 3 of the crossbar NC3000.

クロスバNC3000のポート0のパケット受信部がリクエスタCPU3010からのリクエストパケットを受信すると同時に、クロスバNC3000のポート1のパケット受信部は、リクエスタCPU3011から共有資源IOH3220行きのリクエストパケットを受信する。クロスバNC3000のポート1のパケット受信部は、受信したパケットのパケットヘッダ内の行き先指定フィールドを参照し、出力先はポート3と判断し、クロスバNC3000のポート3の出力調停部に対して調停リクエストを出力する。また、これと同時にリクエスタCPU3011からのリクエストパケットのレイテンシフィールド値(=20)もクロスバNC3000のポート3の出力調停部に対して出力する。   At the same time that the packet receiver at port 0 of the crossbar NC3000 receives a request packet from the requester CPU 3010, the packet receiver at port 1 of the crossbar NC3000 receives a request packet for the shared resource IOH3220 from the requester CPU 3011. The packet receiver of port 1 of the crossbar NC3000 refers to the destination designation field in the packet header of the received packet, determines that the output destination is port 3, and sends an arbitration request to the output arbitrator of port 3 of the crossbar NC3000. Output. At the same time, the latency field value (= 20) of the request packet from the requester CPU 3011 is also output to the output arbitration unit of the port 3 of the crossbar NC3000.

クロスバNC3000のポート3の出力調停部は、以下のように優先調停処理を実行する。出力調停部は、クロスバNC3000のポート0のパケット受信部とクロスバNC3000のポート1のパケット受信部から同時に調停リクエストを受信する。この時、クロスバNC3000のポート3の出力調停部はポート0とポート1から受信するレイテンシフィールド値(ポート0:ポート1=30:20)を比較し、より値の大きいポート0側のリクエストを優先的に通過させるリクエストであると判断して、クロスバNC3000のポート0に対してGNT信号を出力する。   The output arbitration unit of the port 3 of the crossbar NC3000 executes the priority arbitration process as follows. The output arbitration unit simultaneously receives an arbitration request from the port 0 packet reception unit of the crossbar NC3000 and the port 1 packet reception unit of the crossbar NC3000. At this time, the output arbitration unit of port 3 of the crossbar NC3000 compares the latency field values received from port 0 and port 1 (port 0: port 1 = 30: 20) and gives priority to the request on the port 0 side having a larger value. Therefore, the GNT signal is output to port 0 of the crossbar NC3000.

クロスバNC3000のポート3の出力調停部からGNT信号を受信したクロスバNC3000のポート0のパケット受信部は、該パケットをクロスバNC3000のポート3に送出する。この際、調停による待ち時間は無いため、パケットヘッダのレイテンシフィールドの加算は行われない。   The packet receiving unit of port 0 of the crossbar NC3000 that has received the GNT signal from the output arbitration unit of port 3 of the crossbar NC3000 sends the packet to port 3 of the crossbar NC3000. At this time, since there is no waiting time due to arbitration, the latency field of the packet header is not added.

クロスバNC3000のポート3から出力されたリクエスタCPU3010からのリクエストパケットは、クロスバNC3200のポート2のパケット受信部に受信され、クロスバNC3200のポート3の出力調停部へ送出される。ここでは他のパケットとの競合は無いため、パケットは調停無しで通過する。調停で待たされることが無いため、パケットヘッダのレイテンシフィールド値は加算されない。   The request packet from the requester CPU 3010 output from the port 3 of the crossbar NC 3000 is received by the packet receiving unit of the port 2 of the crossbar NC 3200 and sent to the output arbitration unit of the port 3 of the cross bar NC 3200. Here, since there is no contention with other packets, the packet passes without arbitration. Since there is no waiting in arbitration, the latency field value of the packet header is not added.

クロスバNC3200のポート3から送出されたリクエスタCPU3010からのリクエストパケットは、クロスバNC3300のポート2のパケット受信部に受信され、クロスバNC3300のポート1の出力調停部へ出力される。ここでも他のパケットとの競合は無いため、パケットは調停無しで通過する。調停で待たされることが無いため、パケットのヘッダのレイテンシフィールド値は加算されない。   The request packet from the requester CPU 3010 sent from the port 3 of the crossbar NC 3200 is received by the packet receiving unit of the port 2 of the crossbar NC 3300 and outputted to the output arbitration unit of the port 1 of the crossbar NC 3300. Again, since there is no contention with other packets, the packet passes without arbitration. Since there is no waiting in arbitration, the latency field value in the packet header is not added.

クロスバNC3300のポート1から共有資源IOH3320に到達したリクエスタCPU3010からのリクエストパケットの転送経路における総レイテンシは、該パケットヘッダのレイテンシフィールドの値と一致する。そのため、本動作例の場合、該パケットは最短レイテンシ(レイテンシフィールドの値=30)で共有資源IOH3320への経路を通過する。   The total latency in the transfer path of the request packet from the requester CPU 3010 that has reached the shared resource IOH 3320 from the port 1 of the crossbar NC 3300 matches the value of the latency field of the packet header. Therefore, in the case of this operation example, the packet passes through the path to the shared resource IOH 3320 with the shortest latency (latency field value = 30).

本動作例では、リクエスタCPU3010からのリクエストパケットの転送経路において、出力調停部での競合が1回しかなかった。しかし、この経路上の全てのクロスバ内で競合が起きた場合、計3回、調停競合が発生し、各調停部においてレイテンシ値の比較による優先調停が行われる。この場合、競合相手のパケットが一度も調停待ちを行っていないパケットであるならば、本構成例において最長経路であるクエスタCPU3010からのリクエストパケットより優先なパケットは存在しない。そのため、競合があったケースにおいても、該パケットは最短レイテンシで通過できる可能性が高い。   In this operation example, there was only one conflict in the output arbitration unit in the transfer path of the request packet from the requester CPU 3010. However, when contention occurs in all crossbars on this path, mediation contention occurs three times in total, and priority mediation is performed by comparing the latency values in each mediation unit. In this case, if the competitor packet is a packet that has not waited for arbitration, there is no packet having priority over the request packet from the requester CPU 3010 that is the longest path in this configuration example. Therefore, even in the case of contention, there is a high possibility that the packet can pass with the shortest latency.

[調停競合で遅れたパケットの優先調停]
リクエスタCPU3010は共有資源IOH3220へのリクエストパケットを生成し、クロスバNC3000へ送出する。この際、リクエスタCPU3010は、共有資源IOH03220までのルーティング情報および最短レイテンシ値をルーティングテーブルRから求め、パケットのヘッダの行き先指定フィールドF1と、レイテンシフィールドF2に設定する。
[Priority arbitration of packets delayed due to arbitration conflict]
The requester CPU 3010 generates a request packet for the shared resource IOH 3220 and sends it to the crossbar NC3000. At this time, the requester CPU 3010 obtains the routing information and the shortest latency value up to the shared resource IOH03220 from the routing table R, and sets them in the destination designation field F1 and the latency field F2 of the packet header.

リクエスタCPU3011からのリクエストパケットはクロスバNC3000のポート1のパケット受信部に受信される。クロスバNC3000のポート1のパケット受信部は、受信したパケットのパケットヘッダ内の行き先指定フィールドF1を参照し、出力先はポート3と判断し、クロスバNC3000のポート3の出力調停部に対して調停リクエストを出力する。これと同時にリクエスタCPU3011からのリクエストパケットのレイテンシフィールドF2の値=20もクロスバNC3000のポート3の出力調停部に対して出力する。   The request packet from the requester CPU 3011 is received by the packet receiver of port 1 of the crossbar NC3000. The packet reception unit of port 1 of the crossbar NC3000 refers to the destination designation field F1 in the packet header of the received packet, determines that the output destination is port 3, and requests an arbitration request to the output arbitration unit of port 3 of the crossbar NC3000. Is output. At the same time, the value = 20 in the latency field F2 of the request packet from the requester CPU 3011 is also output to the output arbitration unit of the port 3 of the crossbar NC3000.

クロスバNC3000のポート1のパケット受信部がリクエスタCPU3011からのリクエストパケットを受信すると同時に、クロスバNC3000のポート0のパケット受信部は、リクエスタCPU3010から共有資源IOH3320行きのリクエストパケット(レイテンシフィールド値=30)を受信する。クロスバNC3000のポート0のパケット受信部は、ポート1のパケット受信部と同じく、クロスバNC3000のポート3の出力調停部に対して調停リクエストを出力する。   At the same time that the packet receiver at port 1 of the crossbar NC3000 receives a request packet from the requester CPU 3011, the packet receiver at port 0 of the crossbar NC3000 receives a request packet (latency field value = 30) from the requester CPU 3010 to the shared resource IOH3320. Receive. The packet receiving unit at port 0 of the crossbar NC 3000 outputs an arbitration request to the output arbitrating unit at port 3 of the crossbar NC 3000, similarly to the packet receiving unit of port 1.

クロスバNC3000のポート3の出力調停部は、クロスバNC3000のポート0のパケット受信部とクロスバNC3000のポート1のパケット受信部から同時に調停リクエストを受信する。この時、クロスバNC3000のポート3の出力調停部はポート0とポート1から受信するレイテンシフィールド値(ポート0:ポート1=30:20)を比較し、値の大きいポート0側のリクエストを優先的に通過させるリクエストであると判断して、クロスバNC3000のポート0に対してGNT信号を出力する。クロスバNC3000のポート3の出力調停部は、ポート0のパケット受信部からポート3行きのパケット出力が完了するまで、ポート1に対するGNT信号の出力は抑止する。その間、クロスバNC3000のポート1のパケット受信部は調停待ち状態となる。   The output arbitration unit of the port 3 of the crossbar NC3000 simultaneously receives the arbitration request from the packet reception unit of the port 0 of the crossbar NC3000 and the packet reception unit of the port 1 of the crossbar NC3000. At this time, the output arbitration unit of the port 3 of the crossbar NC3000 compares the latency field values received from the port 0 and the port 1 (port 0: port 1 = 30: 20), and gives priority to the request on the port 0 side having a larger value. The GNT signal is output to port 0 of the crossbar NC3000. The output arbitration unit of the port 3 of the crossbar NC 3000 suppresses the output of the GNT signal to the port 1 until the packet output from the packet reception unit of the port 0 to the port 3 is completed. Meanwhile, the packet receiver of port 1 of the crossbar NC3000 enters the arbitration wait state.

クロスバNC3000のポート1のパケット受信部は、調停待ち状態の期間中、CPU3011からのリクエストパケットのパケットヘッダのレイテンシフィールドに調停待ち時間を加算し続ける。また、該加算したレイテンシフィールド値を次回の調停のレイテンシ値として使用されるように、クロスバNC3000のポート3の出力調停部へ出力し続ける。   The packet receiving unit of the port 1 of the crossbar NC 3000 continues to add the arbitration waiting time to the latency field of the packet header of the request packet from the CPU 3011 during the arbitration waiting state. Further, the added latency field value is continuously output to the output arbitration unit of the port 3 of the crossbar NC3000 so as to be used as the latency value for the next arbitration.

クロスバNC3000のポート3の出力調停部は、クロスバNC3000のポート0のパケット受信部がパケットの出力を完了すると、クロスバNC3000のポート1のパケット受信部に対してGNT信号を出力する。クロスバNC3000のポート3の出力調停部からGNT信号を受信したクロスバNC3000のポート1のパケット受信部は、調停による待ち時間(=15)をパケットヘッダのレイテンシフィールドに加算する。その結果、レイテンシ値=35の状態で、該パケットがクロスバNC3000のポート3に出力される。   The output arbitration unit of port 3 of the crossbar NC3000 outputs a GNT signal to the packet reception unit of port 1 of the crossbar NC3000 when the packet reception unit of port 0 of the crossbar NC3000 completes the output of the packet. Having received the GNT signal from the output arbitration unit of the port 3 of the crossbar NC3000, the packet reception unit of the port 1 of the crossbar NC3000 adds the waiting time (= 15) due to the arbitration to the latency field of the packet header. As a result, the packet is output to the port 3 of the crossbar NC 3000 with the latency value = 35.

クロスバNC3000のポート3から出力されたリクエスタCPU3011からのリクエストパケットは、クロスバNC3200のポート2のパケット受信部に受信される。クロスバNC3200のポート2のパケット受信部は、受信したリクエスタCPU3011からのリクエストパケットのパケットヘッダを解析し、共有資源IOH3220と接続するクロスバNC3200のポート1の出力調停部へ調停リクエストおよびレイテンシ値=35を出力する。   The request packet from the requester CPU 3011 output from the port 3 of the crossbar NC3000 is received by the packet receiver of the port 2 of the crossbar NC3200. The packet receiver of port 2 of the crossbar NC 3200 analyzes the packet header of the received request packet from the requester CPU 3011 and sends an arbitration request and latency value = 35 to the output arbitration unit of port 1 of the crossbar NC 3200 connected to the shared resource IOH 3220. Output.

クロスバNC3200のポート2のパケット受信部がリクエスタCPU3011からのリクエストパケットを受信すると同時に、クロスバNC3200のポート3のパケット受信部は、リクエスタCPU3110から共有資源IOH3220行きのリクエストパケット(レイテンシフィールド値=30)を受信する。クロスバNC3200のポート3のパケット受信部は、ポート2のパケット受信部と同じく、クロスバNC3200のポート1の出力調停部に対して調停リクエストを出力する。   At the same time that the packet receiver of port 2 of the crossbar NC 3200 receives the request packet from the requester CPU 3011, the packet receiver of port 3 of the crossbar NC 3200 receives a request packet (latency field value = 30) from the requester CPU 3110 to the shared resource IOH 3220. Receive. The packet reception unit at the port 3 of the crossbar NC 3200 outputs an arbitration request to the output arbitration unit at the port 1 of the crossbar NC 3200, similarly to the packet reception unit of the port 2.

クロスバNC3200のポート1の出力調停部は、クロスバNC3200のポート2のパケット受信部とクロスバNC3200のポート1のパケット受信部から同時にリクエストを受信する。   The output arbitration unit of port 1 of the crossbar NC 3200 simultaneously receives requests from the packet reception unit of port 2 of the crossbar NC 3200 and the packet reception unit of port 1 of the crossbar NC 3200.

本実施の形態の構成上、クロスバNC3200のポート2のパケット受信部に存在するリクエスタCPU3011からのリクエストパケットから共有資源IOH3220までの距離よりも、クロスバNC3200のポート3のパケット受信部に存在するリクエスタCPU3110からのリクエストパケットから共資源IOH3220までの距離の方が長距離である。そのため、最短レイテンシの値ではリクエスタCPU3110からのリクエストパケットの方が高優先のリクエストとなる。しかし、本実施の形態のケースでは、リクエスタCPU3011からのリクエストパケットのレイテンシ値の方が、クロスバNC3000で待たされた時間分が加算されている。従って、クロスバNC3200のポート1の出力調停部において、クロスバNC3200のポート2が高優先なポートと判断され、ポート2に対するGNT信号が先に出力される。   Due to the configuration of the present embodiment, the requester CPU 3110 present in the packet receiver of port 3 of the crossbar NC 3200 is more than the distance from the request packet from the requester CPU 3011 present in the packet receiver of port 2 of the crossbar NC 3200 to the shared resource IOH 3220. The distance from the request packet to the shared resource IOH 3220 is longer. For this reason, the request packet from the requester CPU 3110 is a higher priority request at the minimum latency value. However, in the case of this embodiment, the latency value of the request packet from the requester CPU 3011 is added to the time waited by the crossbar NC3000. Therefore, in the output arbitration unit of the port 1 of the crossbar NC 3200, the port 2 of the crossbar NC 3200 is determined as a high priority port, and the GNT signal for the port 2 is output first.

クロスバNC3200のポート1の出力調停部からGNT信号を受信したクロスバNC3200のポート2のパケット受信部は、該パケットをポート1に送出する。この際、調停による待ち時間は無いため、パケットヘッダのレイテンシフィールドの値は加算されない。   The packet reception unit of port 2 of the crossbar NC 3200 that has received the GNT signal from the output arbitration unit of port 1 of the crossbar NC 3200 sends the packet to port 1. At this time, since there is no waiting time due to arbitration, the value of the latency field of the packet header is not added.

クロスバNC3200のポート1から送出され、共有資源IOH3220に到達したリクエスタCPU3011からのリクエストパケットの総レイテンシは、該パケットヘッダのレイテンシフィールドの値と一致する。そのため総レイテンシは、最短レイテンシにクロスバNC3000およびNC3200で待たされた時間を加えた値となる。本実施例の場合、調停待ち時間は、クロスバNC3000内での待ち時間の15だけであり、クロスバNC3200では優先的に通過したため待ち時間は無く、そのパケットは結果レイテンシ値=35で通過出来る。結果として、クロスバNC3000での調停待ち発生以降のレイテンシの低下は抑制されたことになる。   The total latency of the request packet sent from the port 1 of the crossbar NC 3200 and received from the requester CPU 3011 that has reached the shared resource IOH 3220 matches the value of the latency field of the packet header. Therefore, the total latency is a value obtained by adding the time waited by the crossbars NC3000 and NC3200 to the shortest latency. In the case of the present embodiment, the arbitration waiting time is only the waiting time 15 in the crossbar NC3000, and since the packet has passed preferentially in the crossbar NC3000, there is no waiting time, and the packet can pass with a result latency value = 35. As a result, a decrease in latency after the occurrence of waiting for arbitration at the crossbar NC3000 is suppressed.

以上で説明した機構により、転送経路の長いリクエストパケットは優先的にクロスバ内の調停部を通過できる。また、途中経路の競合で待たされたパケットも、その後の競合においては優先的に経路を通過できる可能性が高くなる。   With the mechanism described above, a request packet having a long transfer path can preferentially pass through the arbitration unit in the crossbar. In addition, a packet that has been waiting due to a route conflict may be able to pass through the route preferentially in the subsequent conflict.

これらの効果から、ボトルネックとなりうる長経路のパケット、および、経路上の競合のために待たされたパケットのレイテンシの低下を抑制できる。その結果、大規模SMPコンピュータシステムの性能を改善することが可能となる。   From these effects, it is possible to suppress a decrease in latency of a long-path packet that can be a bottleneck and a packet that is waited due to competition on the path. As a result, it becomes possible to improve the performance of a large-scale SMP computer system.

優先調停システム、優先調停方法が適用されるシステムの構成を示す。1 shows a configuration of a system to which a priority arbitration system and a priority arbitration method are applied. クロスバの構成と動作を説明するための図である。It is a figure for demonstrating the structure and operation | movement of a crossbar. パケットの転送について説明するための図である。It is a figure for demonstrating transfer of a packet. ルーティングテーブルとパケットヘッダを示す。A routing table and a packet header are shown.

符号の説明Explanation of symbols

CPU1010、1011、1110、1111 リクエスタ
R1010、1011、1110、1111、1220、1221、1320、1321 ルーティングテーブル
NC1000、1100、1200、1300 クロスバ
IOH1220、1221、1320、1321 共有資源
C1 行き先解析回路
C2 調停回路
CPU3010、3011、3110 リクエスタ
R3010、3011、3110、3220、3320 ルーティングテーブル
IOH3220、3320 共有資源
R ルーティング
F1 行き先指定フィールド
F2 レイテンシフィールド
CPU 1010, 1011, 1110, 1111 Requester R1010, 1011, 1110, 1111, 1220, 1221, 1320, 1321 Routing table NC1000, 1100, 1200, 1300 Crossbar IOH1220, 1221, 1320, 1321 Shared resource C1 Destination analysis circuit C2 Arbitration circuit CPU3010 , 3011, 3110 Requester R3010, 3011, 3110, 3220, 3320 Routing table IOH3220, 3320 Shared resource R Routing F1 Destination designation field F2 Latency field

Claims (10)

複数のCPUと、
前記複数のCPUからアクセスされる複数のハードウエア資源と、
前記複数のCPUの各々に対応する記憶領域に設定され、自CPUと前記複数のハードウエア資源の各々とのレイテンシを示すレイテンシ情報を格納する複数のルーティングテーブルと、
前記複数のCPUと前記複数のハードウエア資源との間で交換されるパケットのルーティングを行う複数のクロスバとを具備し、
前記複数のCPUの各々は、送信パケットを前記複数のハードウエア資源のうちの送信先ハードウエア資源に送信するとき、前記複数のルーティングテーブルのうち自CPUに対応するルーティングテーブルにおいて前記送信先ハードウエア資源に対応する前記レイテンシ情報を前記送信パケットに付加し、
前記複数のクロスバの各々は、複数のパケットを受信したとき、受信した複数のパケットの各々の前記レイテンシ情報を参照してレイテンシが大きいパケットを優先的に前記送信先ハードウエア資源の方に送信する優先調停処理を実行する
優先調停システム。
Multiple CPUs;
A plurality of hardware resources accessed from the plurality of CPUs;
A plurality of routing tables that are set in a storage area corresponding to each of the plurality of CPUs, and store latency information indicating latency between the own CPU and each of the plurality of hardware resources;
A plurality of crossbars for routing packets exchanged between the plurality of CPUs and the plurality of hardware resources;
When each of the plurality of CPUs transmits a transmission packet to a transmission destination hardware resource among the plurality of hardware resources, the transmission destination hardware in the routing table corresponding to the own CPU among the plurality of routing tables. Adding the latency information corresponding to the resource to the transmission packet;
Each of the plurality of crossbars, when receiving a plurality of packets, refers to the latency information of each of the received plurality of packets and preferentially transmits a packet having a large latency to the destination hardware resource. Priority arbitration system that executes priority arbitration processing.
請求項1に記載された優先調停システムであって、
前記レイテンシ情報は前記複数のCPUの各々から前記複数のハードウエア資源の各々への片道レイテンシを示し、
前記複数のハードウエア資源の各々は、返信パケットを前記複数のCPUのうちの送信先CPUに返信するとき、前記複数のCPUの各々への片道レイテンシを示す復路レイテンシ情報を格納するハードウエア資源側ルーティングテーブルを参照して、前記送信先CPUに対応する前記復路レイテンシ情報を前記返信パケットに付加し、
前記複数のクロスバの各々は、前記複数のハードウエア資源の側から複数のパケットを受信したとき、受信した複数のパケットの各々の前記復路レイテンシ情報を参照して、レイテンシが大きいパケットを優先的に前記送信先CPUの方に送信する
優先調停システム。
The priority arbitration system according to claim 1,
The latency information indicates one-way latency from each of the plurality of CPUs to each of the plurality of hardware resources,
Each of the plurality of hardware resources stores return path latency information indicating one-way latency to each of the plurality of CPUs when a reply packet is returned to a destination CPU of the plurality of CPUs. With reference to the routing table, the return path latency information corresponding to the destination CPU is added to the reply packet,
When each of the plurality of crossbars receives a plurality of packets from the plurality of hardware resource sides, the plurality of crossbars refer to the return latency information of each of the received plurality of packets and give priority to a packet having a large latency. A priority arbitration system that transmits to the destination CPU.
請求項1または2に記載された優先調停システムであって、
前記複数のルーティングテーブルの各々は、前記複数のCPUのうちの自ルーティングテーブルに対応するCPUと前記複数のハードウエア資源の各々との間でのパケット転送のルートを示すルーティング情報を格納する
優先調停システム。
The priority arbitration system according to claim 1 or 2,
Each of the plurality of routing tables stores routing information indicating a route of packet transfer between a CPU corresponding to its own routing table among the plurality of CPUs and each of the plurality of hardware resources. system.
請求項3に記載された優先調停システムであって、
前記ルーティング情報は前記複数のCPUの各々から前記複数のハードウエア資源の各々へのルートを示し、
前記複数のハードウエア資源側ルーティングテーブルの各々は、前記複数のハードウエア資源のうちの自ハードウエア資源側ルーティングテーブルに対応するハードウエア資源から前記複数のCPU資源の各々へのパケット転送のルートを示す復路ルーティング情報を格納する
優先調停システム。
The priority arbitration system according to claim 3,
The routing information indicates a route from each of the plurality of CPUs to each of the plurality of hardware resources;
Each of the plurality of hardware resource side routing tables includes a packet transfer route from the hardware resource corresponding to the own hardware resource side routing table of the plurality of hardware resources to each of the plurality of CPU resources. Priority arbitration system that stores return routing information to indicate.
請求項1から4のいずれかに記載された優先調停システムであって、
前記複数のクロスバの各々は、受信したパケットの前記レイテンシ情報を、前記優先調停処理による待ち時間を加算した値に更新する
優先調停システム。
The priority arbitration system according to any one of claims 1 to 4, wherein
Each of the plurality of crossbars updates the latency information of the received packet to a value obtained by adding a waiting time by the priority arbitration process.
複数のCPUの各々に対応する記憶領域に、自CPUと複数のハードウエア資源の各々とのレイテンシを示すレイテンシ情報を格納する複数のルーティングテーブルを設定するステップと、
前記複数のCPUの各々が、送信パケットを前記複数のハードウエア資源のうちの送信先ハードウエア資源に送信するとき、前記複数のルーティングテーブルのうち自CPUに対応するルーティングテーブルにおいて前記送信先ハードウエア資源に対応する前記レイテンシ情報を前記送信パケットに付加するステップと、
前記複数のクロスバの各々が、複数のパケットを受信したとき、受信した複数のパケットの各々の前記レイテンシ情報を参照してレイテンシが大きいパケットを優先的に前記送信先ハードウエア資源の方に送信する優先調停処理を実行するステップ
とを具備する優先調停方法。
Setting a plurality of routing tables for storing latency information indicating latency between the CPU and each of the plurality of hardware resources in a storage area corresponding to each of the plurality of CPUs;
When each of the plurality of CPUs transmits a transmission packet to a transmission destination hardware resource among the plurality of hardware resources, the transmission destination hardware in the routing table corresponding to the own CPU among the plurality of routing tables. Adding the latency information corresponding to a resource to the transmission packet;
When each of the plurality of crossbars receives a plurality of packets, it refers to the latency information of each of the received plurality of packets and preferentially transmits a packet having a large latency to the destination hardware resource. A priority arbitration method comprising: executing a priority arbitration process.
請求項6に記載された優先調停方法であって、
前記レイテンシ情報は前記複数のCPUの各々から前記複数のハードウエア資源の各々への片道レイテンシを示し、
更に、前記複数のハードウエア資源の各々が、返信パケットを前記複数のCPUのうちの送信先CPUに返信するとき、前記複数のCPUの各々への片道レイテンシを示す復路レイテンシ情報を格納するハードウエア資源側ルーティングテーブルを参照して、前記送信先CPUに対応する前記復路レイテンシ情報を前記返信パケットに付加するステップと、
前記複数のクロスバの各々が、前記複数のハードウエア資源の側から複数のパケットを受信したとき、受信した複数のパケットの各々の前記復路レイテンシ情報を参照して、レイテンシが大きいパケットを優先的に前記送信先CPUの方に送信するステップ
とを具備する優先調停方法。
The priority arbitration method according to claim 6, wherein
The latency information indicates one-way latency from each of the plurality of CPUs to each of the plurality of hardware resources,
Further, when each of the plurality of hardware resources returns a reply packet to a destination CPU of the plurality of CPUs, hardware for storing return path latency information indicating one-way latency to each of the plurality of CPUs. Referring to a resource side routing table, adding the return path latency information corresponding to the destination CPU to the reply packet;
When each of the plurality of crossbars receives a plurality of packets from the plurality of hardware resources, the packet having a large latency is preferentially referred to by referring to the return path latency information of each of the received plurality of packets. A priority arbitration method comprising: transmitting to the destination CPU.
請求項6または7に記載された優先調停方法であって、
前記複数のルーティングテーブルの各々は、前記複数のCPUのうちの自ルーティングテーブルに対応するCPUと前記複数のハードウエア資源の各々との間でのパケット転送のルートを示すルーティング情報を格納し、
更に、前記複数のCPUの各々が、前記複数のルーティングテーブルのうち自CPUに対応するルーティングテーブルにおいて前記送信先ハードウエア資源に対応する前記ルーティング情報を前記送信パケットに付加するステップと、
前記複数のクロスバの各々が、受信したパケットを前記ルーティング情報に設定されたルーティング先に転送するステップ
とを具備する優先調停方法。
The priority arbitration method according to claim 6 or 7, wherein
Each of the plurality of routing tables stores routing information indicating a route of packet transfer between a CPU corresponding to a self routing table of the plurality of CPUs and each of the plurality of hardware resources,
Further, each of the plurality of CPUs adds the routing information corresponding to the transmission destination hardware resource to the transmission packet in a routing table corresponding to the CPU among the plurality of routing tables;
Each of the plurality of crossbars includes a step of transferring a received packet to a routing destination set in the routing information.
請求項8に記載された優先調停方法であって、
前記ルーティング情報は前記複数のCPUの各々から前記複数のハードウエア資源の各々へのルートを示し、
前記複数のハードウエア資源側ルーティングテーブルの各々は、前記複数のハードウエア資源のうちの自ハードウエア資源側ルーティングテーブルに対応するハードウエア資源から前記複数のCPU資源の各々へのパケット転送のルートを示す復路ルーティング情報を格納し、
更に、前記複数のハードウエア資源の各々が、前記複数の復路ルーティングテーブルのうち自ハードウエア資源に対応する復路ルーティングテーブルにおいて送信先CPUに対応する前記復路ルーティング情報を前記返信パケットに付加するステップと、
前記複数のクロスバの各々が、受信した前記返信パケットを前記復路ルーティング情報に設定されたルーティング先に転送するステップ
とを具備する優先調停方法。
The priority arbitration method according to claim 8, wherein
The routing information indicates a route from each of the plurality of CPUs to each of the plurality of hardware resources;
Each of the plurality of hardware resource side routing tables includes a packet transfer route from the hardware resource corresponding to the own hardware resource side routing table of the plurality of hardware resources to each of the plurality of CPU resources. Store the return routing information shown,
Further, each of the plurality of hardware resources adds the return route information corresponding to the transmission destination CPU to the return packet in a return route routing table corresponding to the own hardware resource among the plurality of return route routing tables. ,
Each of the plurality of crossbars includes a step of transferring the received reply packet to a routing destination set in the return path routing information.
請求項6から9のいずれかに記載された優先調停方法であって、
更に、前記複数のクロスバの各々が、受信したパケットのレイテンシ情報を、前記優先調停処理による待ち時間を加算した値に更新する
優先調停方法。
A priority arbitration method according to any one of claims 6 to 9, wherein
Further, each of the plurality of crossbars updates the latency information of the received packet to a value obtained by adding a waiting time by the priority arbitration process.
JP2008031545A 2008-02-13 2008-02-13 Priority arbitration system and priority arbitration method Expired - Fee Related JP4687925B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008031545A JP4687925B2 (en) 2008-02-13 2008-02-13 Priority arbitration system and priority arbitration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008031545A JP4687925B2 (en) 2008-02-13 2008-02-13 Priority arbitration system and priority arbitration method

Publications (2)

Publication Number Publication Date
JP2009194510A true JP2009194510A (en) 2009-08-27
JP4687925B2 JP4687925B2 (en) 2011-05-25

Family

ID=41076162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008031545A Expired - Fee Related JP4687925B2 (en) 2008-02-13 2008-02-13 Priority arbitration system and priority arbitration method

Country Status (1)

Country Link
JP (1) JP4687925B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012093945A (en) * 2010-10-27 2012-05-17 Nec Computertechno Ltd Node controller, output order determination method of requests and inter-node communication system
JP2013135387A (en) * 2011-12-27 2013-07-08 Fujitsu Ltd Communication control device, parallel computer system, and communication control method
US9195629B2 (en) 2010-08-23 2015-11-24 Nec Corporation Data transfer system
US10101996B2 (en) 2015-03-10 2018-10-16 Fujitsu Limited Arithmetic processing apparatus, information processing apparatus, and method of controlling information processing apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08186577A (en) * 1994-12-28 1996-07-16 Matsushita Electric Ind Co Ltd Cell multiplexing method and cell transfer network
JP2000293495A (en) * 1999-04-06 2000-10-20 Nec Eng Ltd Network device
JP2004086304A (en) * 2002-08-23 2004-03-18 Nec Computertechno Ltd Information processing system having matrix switch with arbitration circuit
JP2005173859A (en) * 2003-12-10 2005-06-30 Matsushita Electric Ind Co Ltd Memory access control circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08186577A (en) * 1994-12-28 1996-07-16 Matsushita Electric Ind Co Ltd Cell multiplexing method and cell transfer network
JP2000293495A (en) * 1999-04-06 2000-10-20 Nec Eng Ltd Network device
JP2004086304A (en) * 2002-08-23 2004-03-18 Nec Computertechno Ltd Information processing system having matrix switch with arbitration circuit
JP2005173859A (en) * 2003-12-10 2005-06-30 Matsushita Electric Ind Co Ltd Memory access control circuit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195629B2 (en) 2010-08-23 2015-11-24 Nec Corporation Data transfer system
JP2012093945A (en) * 2010-10-27 2012-05-17 Nec Computertechno Ltd Node controller, output order determination method of requests and inter-node communication system
JP2013135387A (en) * 2011-12-27 2013-07-08 Fujitsu Ltd Communication control device, parallel computer system, and communication control method
US10101996B2 (en) 2015-03-10 2018-10-16 Fujitsu Limited Arithmetic processing apparatus, information processing apparatus, and method of controlling information processing apparatus

Also Published As

Publication number Publication date
JP4687925B2 (en) 2011-05-25

Similar Documents

Publication Publication Date Title
US6119196A (en) System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US9009648B2 (en) Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
US6674720B1 (en) Age-based network arbitration system and method
US8886861B2 (en) Memory interleaving device to re-order messages from slave IPS and a method of using a reorder buffer to re-order messages from slave IPS
US20070126474A1 (en) Crossbar switch architecture for multi-processor SoC platform
US10225168B2 (en) Interface apparatus and memory bus system
US8285903B2 (en) Requests and data handling in a bus architecture
EP0993680A2 (en) Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
CN102035723A (en) On-chip network router and realization method
US20140359195A1 (en) Crossbar switch, information processing apparatus, and information processing apparatus control method
AU2003234641B2 (en) Inter-chip processor control plane
US11874780B2 (en) Packet processing system, method and device utilizing a port client chain
KR100905802B1 (en) Tagging and arbitration mechanism in an input/output node of computer system
JP4687925B2 (en) Priority arbitration system and priority arbitration method
US10599347B2 (en) Information processing system, information processing apparatus, and method for controlling information processing system
CN108541365B (en) Apparatus and method for distribution of congestion information in a switch
US20200192842A1 (en) Memory request chaining on bus
US9356873B2 (en) Backbone channel management method and backbone channel management apparatus
US11093436B2 (en) Arithmetic processing device, information processing apparatus, and control method of the arithmetic processing device
CN117176674B (en) Network-on-chip and data transmission method, chip and device
US9336172B2 (en) Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration
JP4679601B2 (en) Packet control circuit, packet processing apparatus, and packet processing method
US10346089B2 (en) Data processing system having a write request network and a write data network
CN115964982A (en) Topological structure of accelerator
Trigui et al. Mesh 2D Network on Chip with an open core protocol based network interface

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees