JP2007020110A - Bus system and its path determination method - Google Patents

Bus system and its path determination method Download PDF

Info

Publication number
JP2007020110A
JP2007020110A JP2005202099A JP2005202099A JP2007020110A JP 2007020110 A JP2007020110 A JP 2007020110A JP 2005202099 A JP2005202099 A JP 2005202099A JP 2005202099 A JP2005202099 A JP 2005202099A JP 2007020110 A JP2007020110 A JP 2007020110A
Authority
JP
Japan
Prior art keywords
bus
route
adapter
adapters
bus adapter
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.)
Withdrawn
Application number
JP2005202099A
Other languages
Japanese (ja)
Inventor
Katsuyuki Hagiwara
克行 萩原
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005202099A priority Critical patent/JP2007020110A/en
Publication of JP2007020110A publication Critical patent/JP2007020110A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To easily determine a path of a bus system including a ring bus and a bypass path. <P>SOLUTION: Based on identification information for identifying a plurality of bus adapters and receiving side identification information for identifying a receiving side bus adapter, a path is determined at a branching point of a ring bus and a bypass path. Then, communication is performed between an arbitrary transmitting side bus adapter and the receiving side bus adapter via the determined path. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明はバスシステムに係り、特にシステムオンチップ(SoC)に適したバスシステム及びその経路決定方法に関する。   The present invention relates to a bus system, and more particularly to a bus system suitable for a system-on-chip (SoC) and a route determination method thereof.

従来、バイパス経路を有するリングバスによるバスシステム及びデータ伝送経路の決定方法(例えば、特許文献1参照。)が提案されている。特許文献1に記載の技術は、特にシステムオンチップにおいて、多数の機能ブロックを接続する際のワイヤー遅延の問題の解決に有効である。   Conventionally, a bus system using a ring bus having a bypass path and a method for determining a data transmission path (for example, see Patent Document 1) have been proposed. The technique described in Patent Document 1 is effective in solving the wire delay problem when connecting a large number of functional blocks, particularly in a system-on-chip.

また、ネットワーク上の任意の2点間でデータ転送を実現する技術として、University of California at Berkeleyにおいて開発されたARPANETがある。
特開2003-218891号公報
Also, ARPANET developed at the University of California at Berkeley is a technology for realizing data transfer between any two points on the network.
JP 2003-218891 A

本発明は、システムオンチップを構成する多数の機能ブロックをネットワークで接続し、柔軟なデータパスの構成を実現するためのバスシステム及びネットワーク上の経路決定方法を提供するものである。   The present invention provides a bus system and a route determination method on a network for realizing a flexible data path configuration by connecting a large number of functional blocks constituting a system-on-chip via a network.

このようなバスシステムでは、性能を向上させるためにバイパス経路を持っていることが多い。特許文献1には、アービタのバス選択テーブルによってその経路を決定することが記載されている。また、ARPANETでは、ルータが有するルーティングテーブルによって経路を決定することが記載されている。   Such bus systems often have bypass paths to improve performance. Patent Document 1 describes that the route is determined by an arbiter bus selection table. In ARPANET, it is described that a route is determined by a routing table of a router.

一般的なコンピュータネットワークにおいては、端末がネットワークに接続されたり、或いは切断されたりといった構成要素の変更があり得る。また、機器の故障によってある経路が普通になる可能性もある。このため、柔軟な経路決定方法が求められている。   In a general computer network, there may be a change in components such as a terminal being connected to or disconnected from the network. In addition, a certain route may become normal due to equipment failure. For this reason, a flexible route determination method is required.

しかし、通常のシステムオンチップの場合、機能ブロックは設計時に決定されるため、再構成可能な論理回路でも、構成情報を決定したときに機能ブロックの数と接続形態とが決定されてしまう。従って、頻繁な構成の変更に対応した経路の決定は必要はない。   However, in the case of a normal system-on-chip, since the functional blocks are determined at the time of design, even in a reconfigurable logic circuit, the number of functional blocks and the connection form are determined when the configuration information is determined. Therefore, there is no need to determine a route corresponding to frequent configuration changes.

本発明は上記課題を解決するためになされたもので、リングバスと、バイパス経路とを有するバスシステムの経路を簡易に決定することを目的とする。   The present invention has been made to solve the above-described problems, and an object thereof is to easily determine a route of a bus system having a ring bus and a bypass route.

また、ネットワークの構成が固定的であることを利用し、テーブル参照に代えて受信側アドレスの閾値との比較、或いは受信側アドレスのビットパターンによる簡易な経路決定方法を提供することを目的とする。   Another object of the present invention is to provide a simple route determination method based on a comparison with a threshold value of a reception side address or a bit pattern of a reception side address, instead of using a table reference, by utilizing that the network configuration is fixed. .

本発明は、複数のバスアダプタが接続されたリングバスと、前記複数のバスアダプタのうちの2個を直接、或いは1個以上の別のバスアダプタ経由で接続する少なくとも1つの前記リングバス外のバイパス経路とを有するバスシステムにおいて、前記複数のバスアダプタを識別する識別情報と、受信側のバスアダプタを識別する受信側識別情報とに基づいて前記リングバスと前記バイパス経路との分岐点で経路を決定する経路決定手段と、前記経路決定手段で決定された経路で任意の送信側バスアダプタと受信側バスアダプタとの間の通信を行う通信手段とを有することを特徴とする。   The present invention provides a ring bus to which a plurality of bus adapters are connected and at least one of the ring buses that connects two of the plurality of bus adapters directly or via one or more other bus adapters. In a bus system having a bypass path, a path at a branch point between the ring bus and the bypass path based on identification information for identifying the plurality of bus adapters and reception side identification information for identifying a bus adapter on the reception side And a communication unit that performs communication between an arbitrary transmission-side bus adapter and a reception-side bus adapter on the route determined by the route determination unit.

また、本発明は、複数のバスアダプタが接続されたリングバスと、前記複数のバスアダプタのうちの2個を直接、或いは1個以上の別のバスアダプタ経由で接続する少なくとも1つの前記リングバス外のバイパス経路とを有するバスシステムの経路決定方法であって、前記複数のバスアダプタを識別する識別情報と、受信側のバスアダプタを識別する受信側識別情報とに基づいて前記リングバスと前記バイパス経路との分岐点で経路を決定する経路決定工程と、前記経路決定工程で決定された経路で任意の送信側バスアダプタと受信側バスアダプタとの間の通信を行う通信工程とを有することを特徴とする。   The present invention also provides a ring bus to which a plurality of bus adapters are connected and at least one ring bus that connects two of the plurality of bus adapters directly or via one or more other bus adapters. A path determination method for a bus system having an external bypass path, wherein the ring bus and the ring bus are based on identification information for identifying the plurality of bus adapters and reception side identification information for identifying a bus adapter on the reception side. A route determination step for determining a route at a branch point with the bypass route, and a communication step for performing communication between an arbitrary transmission-side bus adapter and a reception-side bus adapter on the route determined in the route determination step. It is characterized by.

本発明によれば、簡単な構成で且つ簡易に分岐点で経路を決定することができる。   According to the present invention, a route can be easily determined at a branch point with a simple configuration.

以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。   The best mode for carrying out the invention will be described below in detail with reference to the drawings.

[第1の実施形態]
図1は、第1の実施形態におけるバスシステムの構成例を示すブロック図である。図1に示すように、バスシステム100は、リングバス101とバイパス経路109によって構成されている。ここでリングバス101は、複数のバスアダプタ102〜106を接続している単方向の伝送機能を有するバスである。
[First Embodiment]
FIG. 1 is a block diagram illustrating a configuration example of a bus system according to the first embodiment. As shown in FIG. 1, the bus system 100 includes a ring bus 101 and a bypass path 109. Here, the ring bus 101 is a bus having a unidirectional transmission function connecting a plurality of bus adapters 102 to 106.

一方、バイパス経路109は、バスアダプタ104よりバスアダプタ107を経由してバスアダプタ102に至る単方向の伝送機能を有するバスである。そして、機能ブロック108a〜108fはそれぞれ演算処理などの所定の機能を担うものであり、それぞれのバスアダプタ102〜107によってバスシステムに接続されている。   On the other hand, the bypass path 109 is a bus having a unidirectional transmission function from the bus adapter 104 to the bus adapter 102 via the bus adapter 107. The function blocks 108a to 108f each have a predetermined function such as arithmetic processing, and are connected to the bus system by the respective bus adapters 102 to 107.

ここで、バスシステム100は、以下のような任意の方式によって制御されているものとする。
(1)バスアービタ109から送信許可を得た場合に送信が可能となる方式
(2)バス上信号でフロー制御を行う方式
(3)イーサネット(登録商標)のように各バスアダプタが衝突を検知する手段を持ち、衝突した場合に再送する方式。
Here, it is assumed that the bus system 100 is controlled by the following arbitrary method.
(1) A method that enables transmission when transmission permission is obtained from the bus arbiter 109 (2) A method that performs flow control with signals on the bus (3) Each bus adapter detects a collision as in Ethernet (registered trademark) A method of resending in the event of a collision with a means.

図2は、第1の実施形態におけるバスアダプタ間で通信されるデータのフォーマットを示す図である。図2に示すように、バスシステム100では、受信側識別番号フィールド201を含むヘッダ部202と、正味の通信内容に相当するボディ部203で構成されるパケット200によって任意の2点間の通信が行われる。   FIG. 2 is a diagram illustrating a format of data communicated between the bus adapters in the first embodiment. As shown in FIG. 2, in the bus system 100, communication between any two points is performed by a packet 200 including a header portion 202 including a receiving side identification number field 201 and a body portion 203 corresponding to net communication contents. Done.

尚、このヘッダ部202には、受信側識別番号フィールド201の他にインターネットプロトコル(IP)の例と同様に、送信側識別番号、パケット長等の情報を格納するためのフィールドがあっても良い。   In addition to the receiving side identification number field 201, the header part 202 may have fields for storing information such as a transmitting side identification number and a packet length, as in the example of the Internet protocol (IP). .

次に、図3を用いて、各々の機能ブロック108a〜108fをバスシステム100のリングバス101又はバイパス経路109に接続するためのバスアダプタ102〜107の構成について説明する。   Next, the configuration of the bus adapters 102 to 107 for connecting the functional blocks 108a to 108f to the ring bus 101 or the bypass path 109 of the bus system 100 will be described with reference to FIG.

尚、バスアダプタ103、105、106については、接続先がリングバス101か、バイパス経路109かの相違だけで、その構成はバスアダプタ107と同様であるため、バスアダプタ102、104、107について説明する。   The bus adapters 103, 105, and 106 have the same configuration as that of the bus adapter 107 except that the connection destination is the ring bus 101 or the bypass path 109. Therefore, the bus adapters 102, 104, and 107 will be described. To do.

また、図3に示す構成は、上記(1)のバスアービタ109から送信許可を得た場合に送信が可能となる方式を用いた場合である。他の方式の場合、例えば上記(2)のバス上信号でフロー制御を方法を用いた場合には、バスアダプタ内に制御部を設けても良いし、バスアービタがフロー制御を行っても良い。   Further, the configuration shown in FIG. 3 is a case where a method is used in which transmission is possible when transmission permission is obtained from the bus arbiter 109 of (1) above. In the case of other methods, for example, when the flow control method is used with the above-mentioned signal (2) on the bus, a control unit may be provided in the bus adapter, or the bus arbiter may perform the flow control.

図3は、第1の実施形態におけるバスアダプタ102、104、107の構成例を示す図である。バスアダプタ102はマルチプレクサ301及びデコーダ302を含み、バスアダプタ102に入力された3つのデータのうちの何れか1つをバスアービタ109からの少なくとも選択信号及び許可信号に基づいてバスアダプタ103に出力する。尚、入力される3つのデータは、バスアダプタ106からリングバス101を介して出力されるデータ、バスアダプタ107からバイパス経路109を介して出力されるデータ、及び機能ブロック108bから出力されるデータである。   FIG. 3 is a diagram illustrating a configuration example of the bus adapters 102, 104, and 107 according to the first embodiment. The bus adapter 102 includes a multiplexer 301 and a decoder 302, and outputs any one of the three data input to the bus adapter 102 to the bus adapter 103 based on at least a selection signal and a permission signal from the bus arbiter 109. The three input data are data output from the bus adapter 106 via the ring bus 101, data output from the bus adapter 107 via the bypass path 109, and data output from the functional block 108b. is there.

また、バスアダプタ107は、マルチプレクサ303及びデコーダ304を含み、バスアダプタ107に入力された2つのデータのうちの1つをバスアービタ109からの少なくとも選択信号及び許可信号に基づいてバスアダプタ102へ出力する。尚、入力される2つのデータは、バスアダプタ104からバイパス経路109を介して出力されるデータと、機能ブロック108fから出力されるデータである。   The bus adapter 107 includes a multiplexer 303 and a decoder 304, and outputs one of the two data input to the bus adapter 107 to the bus adapter 102 based on at least a selection signal and a permission signal from the bus arbiter 109. . Note that the two input data are data output from the bus adapter 104 via the bypass path 109 and data output from the functional block 108f.

そして、バスアダプタ104は、デコーダ305、306を含み、バスアダプタ104に入力された2つのデータのうちの1つをバスアービタ109からの少なくとも選択信号及び許可信号に基づいてバスアダプタ107又は105へ出力する。即ち、バイパス経路109で接続されたバスアダプタ107か、リングバス101で接続されたバスアダプタ105の何れかへ出力する。ここで、入力される2つのデータは、バスアダプタ103からリングバス101を介して出力されるデータと、機能ブロック108cから出力されるデータである。   The bus adapter 104 includes decoders 305 and 306, and outputs one of the two data input to the bus adapter 104 to the bus adapter 107 or 105 based on at least a selection signal and a permission signal from the bus arbiter 109. To do. That is, the data is output to either the bus adapter 107 connected by the bypass path 109 or the bus adapter 105 connected by the ring bus 101. Here, the two input data are data output from the bus adapter 103 via the ring bus 101 and data output from the functional block 108c.

以上の構成において、各々のバスアダプタ402〜407に識別番号を割り当て、各々のバスアダプタで受信したパケットに含まれる受信側識別番号の値に基づいて経路を決定する処理について説明する。   In the above configuration, processing for assigning an identification number to each of the bus adapters 402 to 407 and determining a route based on the value of the receiving side identification number included in the packet received by each bus adapter will be described.

図4は、各々のバスアダプタ402〜407に識別番号を割り当てた例を示す図である。尚、図4に示す例では、各々のバスアダプタ402〜407に接続された機能ブロック及びアービタは省略している。   FIG. 4 is a diagram illustrating an example in which identification numbers are assigned to the respective bus adapters 402 to 407. In the example shown in FIG. 4, functional blocks and arbiters connected to the respective bus adapters 402 to 407 are omitted.

各々のバスアダプタ402〜407は、受信したパケットで受信側識別番号フィールド201と割り当てられた識別番号とが一致すれば、そのパケットの内容を接続された機能ブロックに渡し、一致しなければ次のバスアダプタに転送する。   Each of the bus adapters 402 to 407 passes the contents of the packet to the connected functional block if the received identification number field 201 matches the assigned identification number in the received packet. Transfer to the bus adapter.

また、リングバス401とバイパス経路409の分岐点であるバスアダプタ404では、パケットを転送する際の経路を次のように決定する。即ち、受信側識別番号の値を閾値(図4に示す例では「5」)と比較し、閾値以下であれば経路としてリングバス401を選択し、閾値を超えていればバイパス経路409を選択する。   The bus adapter 404, which is a branch point between the ring bus 401 and the bypass route 409, determines the route for transferring the packet as follows. That is, the value of the receiving side identification number is compared with a threshold value (“5” in the example shown in FIG. 4), and if it is less than the threshold value, the ring bus 401 is selected as the route, and if the threshold value is exceeded, the bypass route 409 is selected. To do.

以上のように、各々のバスアダプタで受信したパケットに含まれる受信側識別番号の値に基づいて経路を決定することにより、任意のバスアダプタ間の通信を行うことが可能となる。   As described above, communication between arbitrary bus adapters can be performed by determining a route based on the value of the receiving side identification number included in the packet received by each bus adapter.

また、バスアダプタ402の識別番号を、リングバス401に対応した識別番号「1」とバイパス経路409に対応した識別番号「7」の2種類持たせても良い。これにより、例えばバスアダプタ403からバスアダプタ402への通信を行う際に、受信側識別番号に「1」を指定した場合、リングバス401を経路に決定する。また、受信側識別番号に「7」を指定した場合、バイパス経路409を経路に決定する。従って、このように経路の決定を選択することが可能になる。   The bus adapter 402 may have two types of identification numbers: an identification number “1” corresponding to the ring bus 401 and an identification number “7” corresponding to the bypass path 409. Thus, for example, when “1” is designated as the reception side identification number when performing communication from the bus adapter 403 to the bus adapter 402, the ring bus 401 is determined as a route. When “7” is designated as the receiving side identification number, the bypass route 409 is determined as the route. Therefore, it is possible to select the route determination in this way.

図5は、図4とは異なる別の識別番号を割り当てた例を示す図である。図5に示す例では、バスアダプタ504における経路の選択は、受信側識別番号の最上位が「0」であればリングバス501となり、また受信側識別番号の最上位が「1」であればバイパス経路509となるようにすれば良い。   FIG. 5 is a diagram illustrating an example in which another identification number different from that in FIG. 4 is assigned. In the example shown in FIG. 5, the route selection in the bus adapter 504 is the ring bus 501 if the most significant receiving identification number is “0”, and if the most significant receiving identification number is “1”. A bypass path 509 may be used.

[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態について詳細に説明する。
[Second Embodiment]
Next, a second embodiment according to the present invention will be described in detail with reference to the drawings.

図6は、第2の実施形態におけるバスシステムの構成例を示すブロック図である。図6において、外周部分がリングバス601、その内部を通っているのがバイパス経路602〜605である。そして、バイパス経路604は、バイパス経路303上のバスアダプタ606から分岐している。   FIG. 6 is a block diagram illustrating a configuration example of a bus system according to the second embodiment. In FIG. 6, the outer peripheral portion passes through the ring bus 601, and the bypass paths 602-605 pass through the inside. The bypass path 604 branches off from the bus adapter 606 on the bypass path 303.

このように、複数の分岐を含む複雑なバスシステムにおいては、図7に示す手順で識別番号及び経路選択の閾値を割り当てる。以下、図6に示すバスシステムを例に図7に示す経路選択のための閾値を決定する処理について説明する。尚、識別番号は6ビットの数値を用いるものとする。   As described above, in a complex bus system including a plurality of branches, an identification number and a threshold for route selection are assigned by the procedure shown in FIG. Hereinafter, the processing for determining the threshold for route selection shown in FIG. 7 will be described using the bus system shown in FIG. 6 as an example. The identification number is a 6-bit numerical value.

まず、ステップS701、S702において、リングバス上に識別番号を割り当てる。その結果、例えば図8に示すように、識別番号が割り当てられたとする。   First, in steps S701 and S702, an identification number is assigned on the ring bus. As a result, for example, as shown in FIG. 8, it is assumed that an identification number is assigned.

次に、ステップS703において、本バスシステムの全てのバスアダプタに対して識別番号の割り当てが終了したか否かを判定する。ここで、バイパス系路上のバスアダプタに識別番号が割り当てられていないため、ステップS703へ進む。このステップS703では、未だ識別番号が割り当てられていない分岐点、例えばバスアダプタ803は除外して、識別番号のある分岐点の中から最大の識別番号のものを選択する。図8に示す例では、バスアダプタ801(識別番号000100)、802(識別番号000101)のうち、最大の識別番号を持つバスアダプタ802が選択される。   Next, in step S703, it is determined whether or not assignment of identification numbers has been completed for all bus adapters of the bus system. Here, since no identification number is assigned to the bus adapter on the bypass system, the process proceeds to step S703. In step S703, the branch point to which the identification number is not yet assigned, for example, the bus adapter 803 is excluded, and the branch point having the largest identification number is selected from the branch points having the identification number. In the example shown in FIG. 8, the bus adapter 802 having the largest identification number is selected from the bus adapters 801 (identification number 000100) and 802 (identification number 000101).

次に、ステップS705において、ステップS704で選択した分岐点のバスアダプタ802より分岐しているバイパス経路804を選択する。そして、ステップS706では、そのバイパス経路804に対する閾値として「000111」を設定する。   Next, in step S705, the bypass path 804 branched from the bus adapter 802 at the branch point selected in step S704 is selected. In step S <b> 706, “000111” is set as the threshold for the bypass route 804.

次に、ステップS707において、バイパス経路804上のバスアダプタ805に対して識別番号001000を割り当てる。そして、上述のステップS703に戻る。   Next, in step S707, an identification number 001000 is assigned to the bus adapter 805 on the bypass path 804. Then, the process returns to step S703 described above.

ここで、ステップS703では、バスアダプタ801から分岐するバイパス経路806、807上のバスアダプタに識別番号が割り当てられていないため、ステップS704へ進む。ステップS704では、現時点で識別番号が割り当てられ、かつ分岐先のバイパス系路上に識別番号のないバスアダプタが接続されている唯一のバスアダプタ801を選択する。   Here, in step S703, since an identification number is not assigned to the bus adapters on the bypass paths 806 and 807 branched from the bus adapter 801, the process proceeds to step S704. In step S704, the only bus adapter 801 to which an identification number is assigned at the present time and a bus adapter without an identification number is connected on the bypass destination bypass path is selected.

次に、ステップS705において、バスアダプタ801より分岐しているバイパス経路806、807がある。バイパス経路806はバスアダプタ803において、更にバイパス経路806a、806bに分岐してため、経路の候補としてはバイパス経路806a、806b、807がある。どれを選択しても良いが、この例ではバイパス経路806aを選択する。そして、ステップS706では、そのバイパス経路806に対する閾値として「001000」を設定する。   Next, in step S705, there are bypass paths 806 and 807 branched from the bus adapter 801. Since the bypass path 806 further branches into the bypass paths 806a and 806b in the bus adapter 803, there are bypass paths 806a, 806b, and 807 as candidate paths. Any one may be selected, but in this example, the bypass path 806a is selected. In step S 706, “001000” is set as the threshold for the bypass route 806.

次に、ステップS707において、バイパス経路806上のバスアダプタ803に対して識別番号を割り当てるのだが、この例では、「001001」〜「001111」までを欠番とし、「010000」を割り当てるものとする。これは、後述するように上位3ビットで経路の判別を可能にするためである。また、選択されたバイパス経路806a上の次のバスアダプタ808に対しては識別番号「010001」を割り当てる。そして、上述のステップS703に戻る。   Next, in step S707, an identification number is assigned to the bus adapter 803 on the bypass path 806. In this example, “001001” to “001111” are missing numbers and “010000” is assigned. This is because the path can be determined by the upper 3 bits as will be described later. Further, an identification number “010001” is assigned to the next bus adapter 808 on the selected bypass path 806a. Then, the process returns to step S703 described above.

ここで、ステップS703では、バスアダプタ801から分岐するバイパス経路807及びバスアダプタ803から分岐するバイパス経路806b上のバスアダプタ809、810に識別番号が割り当てられていないため、ステップS704へ進む。ステップS704では、バイパス経路806bの分岐元であるバスアダプタ803(識別番号010000)と、バイパス経路807の分岐元であるバスアダプタ801(識別番号000100)のうち、より大きい識別番号のバスアダプタ803を選択する。   Here, in step S703, since the identification numbers are not assigned to the bypass adapters 807 and 810 on the bypass path 807 branched from the bus adapter 801 and the bypass path 806b branched from the bus adapter 803, the process proceeds to step S704. In step S704, the bus adapter 803 having a larger identification number is selected from the bus adapter 803 (identification number 010000) that is the branch source of the bypass path 806b and the bus adapter 801 (identification number 000100) that is the branch source of the bypass path 807. select.

次に、ステップS705において、バスアダプタ803より分岐しているバイパス経路806bを選択する。そして、ステップS706では、そのバイパス経路806bに対する閾値として「010001」を設定する。   Next, in step S705, the bypass path 806b branched from the bus adapter 803 is selected. In step S706, “010001” is set as the threshold for the bypass route 806b.

次に、ステップ707において、バイパス経路806b上のバスアダプタ809に対して識別番号を割り当てる。この例では、「010010」〜「010111」までを欠番とし、「011000」を割り当てる。そして、上述のステップS703に戻る。   Next, in step 707, an identification number is assigned to the bus adapter 809 on the bypass path 806b. In this example, “010010” to “010111” are missing numbers and “011000” is assigned. Then, the process returns to step S703 described above.

ここで、ステップS703では、バスアダプタ801から分岐するバイパス経路807上のバスアダプタ810に識別番号が割り当てられていないため、ステップS704へ進む。そして、ステップS704では、唯一残った分岐元であるバスアダプタ801(識別番号000100)を選択する。   Here, in step S703, since an identification number is not assigned to the bus adapter 810 on the bypass path 807 branched from the bus adapter 801, the process proceeds to step S704. In step S704, the only remaining branch source bus adapter 801 (identification number 000100) is selected.

次に、ステップS705では、バスアダプタ801より分岐しているバイパス経路807を選択する。そして、ステップS706では、バイパス経路807に対する閾値として「011000」を設定する。   In step S705, the bypass path 807 branched from the bus adapter 801 is selected. In step S706, “011000” is set as the threshold value for the bypass route 807.

次に、ステップS707において、バイパス経路807上のバスアダプタ810に対して識別番号を割り当てる。この例では、「011001」〜「011111」までを欠番として、「100000」を割り当てる。そして、上述のステップS703に戻り、全てのバスアダプタに識別番号が割り当てられたため、処理を終了する。   Next, in step S707, an identification number is assigned to the bus adapter 810 on the bypass path 807. In this example, “011001” to “011111” are omitted, and “100000” is assigned. And it returns to above-mentioned step S703, and since the identification number was allocated to all the bus adapters, a process is complete | finished.

以上の処理により、図9に示すように、各々のバスアダプタに対して識別番号と、経路選択閾値を決定することができる。   With the above processing, as shown in FIG. 9, an identification number and a route selection threshold can be determined for each bus adapter.

以下、図9における経路の決定について説明する。   Hereinafter, the determination of the route in FIG. 9 will be described.

バスアダプタ901では、3分岐になっているため、二つの閾値(001000,011000)を持つ。各パケットの経路は以下のように決定される。   Since the bus adapter 901 has three branches, it has two threshold values (001000, 011000). The route of each packet is determined as follows.

受信側識別番号が第1の閾値(001000)以下の場合は経路904、第1の閾値を越え、第2の閾値(011000)以下の場合には経路905、第2の閾値を越える場合には経路906となる。   When the receiving side identification number is less than or equal to the first threshold (001000), the route 904 exceeds the first threshold, and when it is less than the second threshold (011000), the route 905 exceeds the second threshold. A route 906 is obtained.

バスアダプタ902における分岐は閾値000111を持つ。各パケットの経路は受信側識別番号が閾値以下の場合に経路907、閾値を越える場合に経路908となる。   A branch in the bus adapter 902 has a threshold value 000111. The path of each packet is a path 907 when the receiving side identification number is equal to or smaller than the threshold, and a path 908 when the threshold is exceeded.

バスアダプタ903における分岐は閾値010001を持つ。各パケットの経路は受信側識別番号が閾値以下の場合に経路909、閾値を越える場合に経路910となる。   A branch in the bus adapter 903 has a threshold value 010001. The path of each packet is a path 909 when the receiving side identification number is less than or equal to the threshold, and a path 910 when the threshold is exceeded.

以上のように構成することで、各パケットは受信側識別番号の示すバスアダプタに到達することが可能となる。   With the configuration described above, each packet can reach the bus adapter indicated by the receiving side identification number.

また、図9に示す閾値との比較によって経路の決定を行う方法に代えて、図10に示すように、各パケットの受信側識別番号のうち特定の1個以上のビットの値によって経路の決定を行うことも可能である。   Further, instead of the method of determining the route by comparing with the threshold value shown in FIG. 9, as shown in FIG. 10, the route is determined by the value of one or more specific bits in the receiving side identification number of each packet. It is also possible to perform.

以上、単方向のバスを例に説明したが、双方向のバスは単方向のバスとバイパス経路の組み合わせであるとみなすことが可能であるため、双方向のバスに対しても本発明の適用は可能である。   The unidirectional bus has been described above as an example. However, since the bidirectional bus can be regarded as a combination of the unidirectional bus and the bypass route, the present invention is also applied to the bidirectional bus. Is possible.

また、インターネットプロトコルのように、複数のネットワークを接続し、バスアダプタの識別番号のうち上位ビット群をネットワークを識別するために用い、下位ビット群をネットワーク内でのバスアダプタの識別に用いても良い。これにより、より複雑な構成のネットワークの構築も可能である。   In addition, as in the Internet protocol, a plurality of networks are connected, and the upper bit group of the bus adapter identification number is used for identifying the network, and the lower bit group is used for identifying the bus adapter in the network. good. As a result, it is possible to construct a network having a more complicated configuration.

システムオンチップ内部でのネットワークの特徴として、構成が設計時に確定し、変更を考慮する必要がないという点がある。本発明はこの特徴を利用して、経路の決定手順を単純化し、受信側識別番号とある閾値との比較、或いは、受信側識別番号の一部のビットだけによる決定を可能としている。   A feature of the network within the system on chip is that the configuration is fixed at the time of design and there is no need to consider changes. The present invention makes use of this feature to simplify the route determination procedure and to compare the receiving side identification number with a certain threshold value, or to make a determination based on only a part of the bits of the receiving side identification number.

これにより、経路決定のための回路規模の縮小と共に、経路決定の高速化を図ることができる。   As a result, the circuit scale for path determination can be reduced, and the path determination speed can be increased.

尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。   Even if the present invention is applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), it is applied to an apparatus (for example, a copier, a facsimile machine, etc.) composed of a single device. It may be applied.

また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。   In addition, a recording medium in which a program code of software for realizing the functions of the above-described embodiments is recorded is supplied to the system or apparatus, and the computer (CPU or MPU) of the system or apparatus stores the program code stored in the recording medium. Read and execute. It goes without saying that the object of the present invention can also be achieved by this.

この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。   In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium storing the program code constitutes the present invention.

このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。   As a recording medium for supplying the program code, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like is used. be able to.

また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合。   In addition, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the following cases are included. That is, when the OS (operating system) running on the computer performs part or all of the actual processing based on the instruction of the program code, and the functions of the above-described embodiments are realized by the processing.

更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, the program code read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. After that, based on the instruction of the program code, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing, and the function of the above-described embodiment is realized by the processing. Needless to say.

第1の実施形態におけるバスシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the bus system in 1st Embodiment. 第1の実施形態におけるバスアダプタ間で通信されるデータのフォーマットを示す図である。It is a figure which shows the format of the data communicated between the bus adapters in 1st Embodiment. 第1の実施形態におけるバスアダプタ102、104、107の構成例を示す図である。It is a figure which shows the structural example of the bus adapters 102, 104, and 107 in 1st Embodiment. 各々のバスアダプタ402〜407に識別番号を割り当てた例を示す図である。It is a figure which shows the example which allocated the identification number to each bus adapter 402-407. 図4とは異なる別の識別番号を割り当てた例を示す図である。It is a figure which shows the example which allocated another identification number different from FIG. 第2の実施形態におけるバスシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the bus system in 2nd Embodiment. 第2の実施形態における経路選択の閾値を決定する処理を示すフローチャートである。It is a flowchart which shows the process which determines the threshold value of the route selection in 2nd Embodiment. 第2の実施形態における経路選択の閾値を割り当てたバスアダプタを示す図である。It is a figure which shows the bus adapter which allocated the threshold value of the route selection in 2nd Embodiment. 第2の実施形態における経路の決定について説明するための図である。It is a figure for demonstrating determination of the path | route in 2nd Embodiment. 変形例における経路の決定について説明するための図である。It is a figure for demonstrating determination of the path | route in a modification.

符号の説明Explanation of symbols

100 バスシステム
101 リングバス
102 バスアダプタ
103 バスアダプタ
104 バスアダプタ
105 バスアダプタ
106 バスアダプタ
107 バスアダプタ
108a 機能ブロック
108b 機能ブロック
108c 機能ブロック
108d 機能ブロック
108e 機能ブロック
108f 機能ブロック
109 バイパス経路
200 パケット
201 受信側識別番号フィールド
202 ヘッダ部
203 ボディ部
100 Bus System 101 Ring Bus 102 Bus Adapter 103 Bus Adapter 104 Bus Adapter 105 Bus Adapter 106 Bus Adapter 107 Bus Adapter 108a Function Block 108b Function Block 108c Function Block 108d Function Block 108e Function Block 108f Function Block 109 Bypass Path 200 Packet 201 Receiver Identification number field 202 Header part 203 Body part

Claims (7)

複数のバスアダプタが接続されたリングバスと、前記複数のバスアダプタのうちの2個を直接、或いは1個以上の別のバスアダプタ経由で接続する少なくとも1つの前記リングバス外のバイパス経路とを有するバスシステムにおいて、
前記複数のバスアダプタを識別する識別情報と、受信側のバスアダプタを識別する受信側識別情報とに基づいて前記リングバスと前記バイパス経路との分岐点で経路を決定する経路決定手段と、
前記経路決定手段で決定された経路で任意の送信側バスアダプタと受信側バスアダプタとの間の通信を行う通信手段とを有することを特徴とするバスシステム。
A ring bus to which a plurality of bus adapters are connected, and at least one bypass path outside the ring bus that connects two of the plurality of bus adapters directly or via one or more other bus adapters. In the bus system that has
Route determination means for determining a route at a branch point between the ring bus and the bypass route based on identification information for identifying the plurality of bus adapters and reception side identification information for identifying a bus adapter on the reception side;
A bus system comprising: a communication unit configured to perform communication between an arbitrary transmission-side bus adapter and a reception-side bus adapter on a route determined by the route determination unit.
前記リングバス及び前記バイパス経路は、単方向にデータを伝送することを特徴とする請求項1記載のバスシステム。   The bus system according to claim 1, wherein the ring bus and the bypass path transmit data in one direction. 前記分岐点における経路の決定は、前記受信側識別情報と所定の閾値との比較によって決定することを特徴とする請求項1又は2記載のバスシステム。   3. The bus system according to claim 1, wherein the route at the branch point is determined by comparing the receiving side identification information with a predetermined threshold value. 前記分岐点における経路の決定は、前記受信側識別情報を示す特定のビット群によって決定することを特徴とする請求項1又は2記載のバスシステム。   3. The bus system according to claim 1, wherein the route at the branch point is determined by a specific bit group indicating the receiving side identification information. 複数のバスアダプタが接続されたリングバスと、前記複数のバスアダプタのうちの2個を直接、或いは1個以上の別のバスアダプタ経由で接続する少なくとも1つの前記リングバス外のバイパス経路とを有するバスシステムの経路決定方法であって、
前記複数のバスアダプタを識別する識別情報と、受信側のバスアダプタを識別する受信側識別情報とに基づいて前記リングバスと前記バイパス経路との分岐点で経路を決定する経路決定工程と、
前記経路決定工程で決定された経路で任意の送信側バスアダプタと受信側バスアダプタとの間の通信を行う通信工程とを有することを特徴とするバスシステムの経路決定方法。
A ring bus to which a plurality of bus adapters are connected, and at least one bypass path outside the ring bus that connects two of the plurality of bus adapters directly or via one or more other bus adapters. A bus system route determination method comprising:
A path determination step of determining a path at a branch point between the ring bus and the bypass path based on identification information for identifying the plurality of bus adapters and reception side identification information for identifying a bus adapter on the reception side;
A bus system route determination method comprising: a communication step of performing communication between an arbitrary transmission-side bus adapter and a reception-side bus adapter on the route determined in the route determination step.
請求項5記載のバスシステムの経路決定方法をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute the bus system route determination method according to claim 5. 請求項6記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 6 is recorded.
JP2005202099A 2005-07-11 2005-07-11 Bus system and its path determination method Withdrawn JP2007020110A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005202099A JP2007020110A (en) 2005-07-11 2005-07-11 Bus system and its path determination method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005202099A JP2007020110A (en) 2005-07-11 2005-07-11 Bus system and its path determination method

Publications (1)

Publication Number Publication Date
JP2007020110A true JP2007020110A (en) 2007-01-25

Family

ID=37756824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005202099A Withdrawn JP2007020110A (en) 2005-07-11 2005-07-11 Bus system and its path determination method

Country Status (1)

Country Link
JP (1) JP2007020110A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8520454B2 (en) 2010-03-30 2013-08-27 National Institute Of Advanced Industrial Science And Technology SRAM device capable of independently controlling a double-gate selection transistor for maintaining an optimal read margin and read speed

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8520454B2 (en) 2010-03-30 2013-08-27 National Institute Of Advanced Industrial Science And Technology SRAM device capable of independently controlling a double-gate selection transistor for maintaining an optimal read margin and read speed

Similar Documents

Publication Publication Date Title
US6996658B2 (en) Multi-port system and method for routing a data element within an interconnection fabric
US9294403B2 (en) Mechanism to control resource utilization with adaptive routing
KR100666515B1 (en) Store and forward switch device, system and method
KR20210033996A (en) Integrated address space for multiple hardware accelerators using dedicated low-latency links
US7342414B2 (en) Fast router and hardware-assisted fast routing method
CN101169771B (en) Multiple passage internal bus external interface device and its data transmission method
US10104006B2 (en) Bus interface apparatus, router, and bus system including them
US10282343B2 (en) Semiconductor device
CN103490852A (en) Providing a prefix for a packet header
EP2782301A1 (en) Relay device, method for controlling relay device, and computer program
CN112729395B (en) On-chip sensor reading system for complex SoC reliability monitoring
CN114679415B (en) Non-blocking banyan network meeting AXI5-Lite protocol standard
JP2005182485A (en) Serial transmission controller, computer system, and serial transmission control method
KR101355626B1 (en) Apparatus for network control
US20080313365A1 (en) Controlling write transactions between initiators and recipients via interconnect logic
CN112491715B (en) Routing device and routing equipment of network on chip
US20080263248A1 (en) Multi-drop extension for a communication protocol
US9170979B2 (en) Converging interconnect node controlling operation related to associated future item in dependence upon data predicted based on current transaction data item passing through
US7512695B2 (en) Method and system to control the communication of data between a plurality of interconnect devices
JP2007020110A (en) Bus system and its path determination method
JP6847334B2 (en) Network equipment, network systems, network methods, and network programs
EP2405362A1 (en) A connection arrangement
JP4588560B2 (en) Table device and address search device using the same
CN110738234B (en) Role prediction method and device
JP4514916B2 (en) Bus system

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081007