JPWO2013073172A1 - 中継装置、中継装置の制御方法、およびコンピュータプログラム - Google Patents

中継装置、中継装置の制御方法、およびコンピュータプログラム Download PDF

Info

Publication number
JPWO2013073172A1
JPWO2013073172A1 JP2013544129A JP2013544129A JPWO2013073172A1 JP WO2013073172 A1 JPWO2013073172 A1 JP WO2013073172A1 JP 2013544129 A JP2013544129 A JP 2013544129A JP 2013544129 A JP2013544129 A JP 2013544129A JP WO2013073172 A1 JPWO2013073172 A1 JP WO2013073172A1
Authority
JP
Japan
Prior art keywords
bus
quality
packet
types
type
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
JP2013544129A
Other languages
English (en)
Other versions
JP5552196B2 (ja
Inventor
篤 吉田
篤 吉田
覚 得津
覚 得津
石井 友規
友規 石井
山口 孝雄
孝雄 山口
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2013544129A priority Critical patent/JP5552196B2/ja
Application granted granted Critical
Publication of JP5552196B2 publication Critical patent/JP5552196B2/ja
Publication of JPWO2013073172A1 publication Critical patent/JPWO2013073172A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

品質要求の異なるトラヒックを、NoC(Network on Chip)を用いて品質を保証しつつ伝送するために、品質要求毎にトラヒックを格納する専用バッファを必要としない中継装置等を提供する。中継装置は、バスマスタ、第1のバス、およびそれらを接続する第2のバスを有するバスシステムにおいて、第2のバスに配置されてパケットを中継する。バスマスタは、予め定められた(N+1)種類のうちの少なくとも1種類の品質要求の情報を付与したパケットを出力する。第2のバスは、N種類以下の品質要求のパケットを伝送する。中継装置は、品質要求の情報に応じて、パケットを区別して格納するN種類以下のバッファと、前記バッファに格納されたパケットに対し、品質要求が高い順に伝送されるようパケットの送信を制御する。(N+1)種類の品質要求の種類に応じてトラヒックの送信スケジュールを制御する。

Description

本発明は、分散型のバスを備える半導体の集積回路において伝送される複数のトラヒック毎の要求品質を保証した送信スケジューリング技術に関する。
バスを備えた半導体集積回路におけるデータの伝送制御には種々の方式がある。図1(a)は、集中型のバス制御の例を示している。集中型のバス制御を行う従来の集積回路では、主に複数のバスマスタとメモリとの間は1つのバスによって接続され、アービターによって各バスマスタからメモリへのアクセスが調停される。このような構成により、複数のバスマスタとメモリとの間のトラヒック干渉を防ぎながらデータを伝送することができる。しかしながら、集積回路の高機能化およびマルチコア化による回路規模の増大、および伝送路を流れるトラヒックの変動の複雑化が進んでおり、集中型のバス制御による集積回路の設計が困難になってきている。
その一方で、近年、並列計算機における接続技術や、ネットワーク制御技術を取り入れた分散型のバスを有する半導体集積回路の開発が進んでいる。図1(b)は、そのような分散型のバス制御の例を示している。分散型のバスを有する半導体集積回路は、複数の中継装置(R)が複数のバスで接続された構成を有している。近年、図1(b)に示すような分散型のバス制御を用いることにより、大規模化した集積回路内のトラヒックを、複数のバスに分散して伝送する、ネットワークオンチップ(Network on Chip:NoC)の取り組みが広がっている。
半導体集積回路上で扱われる複数のトラヒックの品質要求は、送信元のバスマスタの種類やアプリケーション種類、トラヒックの種別や優先度によって異なる。図2は、主な集積回路上で扱われるトラヒックの種別に基づく伝送品質の種類の一例を示す。ここでは、トラヒックの種別として、(A)品質保証型、(B)出来高型リアルタイムおよび(C)出来高型の3種類を挙げて説明する。
(A)品質保証型のトラヒックは、遅延やスループットなどの伝送性能に対して、常に所定の品質保証が要求されるトラヒックである。例えば、電話などの音声通話やリモコンの操作など、リアルタイム性が要求される用途があげられる。
(B)出来高型リアルタイムのトラヒックは、一定の品質を保証しつつ、バスの伝送帯域に空きがあれば、送信量を増やし処理内容の品質向上を行うトラヒックである。例えば、映像再生において、各映像フレームを所定の品質でリアルタイムに描画しつつ、伝送帯域に空きがあれば符号化レートをあげて各映像フレームの画質を向上させることで、高品質な映像再生を実現する用途があげられる。
(C)出来高型トラヒックは、伝送品質に対する要求が低く、他のトラヒックが流れていない空き帯域を利用して伝送されるトラヒックである。例えば、ウェブアプリやファイル転送などの用途があげられる。
なお、3種類のトラヒックの品質要求の各々には、品質要求の厳しい順に優先度が設定される。ここでは、品質要求が厳しい順に、(A)品質保証型、(B)出来高リアルタイム、(C)出来高型の優先度が高いとする。
このように、品質要求の異なる複数のトラヒックが存在し、また、伝送されるトラヒックの総量に対し、バスの伝送帯域が狭い場合には、(A)品質保証型や(B)出来高型リアルタイムの性能保証のために、伝送系路上の各中継装置Rにおいて、トラヒックの品質要求の違いを区別し、品質要求の優先度に応じてトラヒックの送信スケジュールを制御する必要がある。
なお、トラヒックの品質要求は、トラヒックの種別の違い以外の条件に基づいて区別しても良い。例えば、トラヒックの種別が全て(A)品質保証型である場合には、トラヒックが宛先に届くまでの許容遅延時間(締切時間の長さ)によって要求品質を区別してもよい。または、許容遅延時間が短いトラヒックほど品質要求の厳しい(優先度の高い)トラヒックとして定義しても良い。
図3は、従来の中継装置の構成を示している。
従来の中継装置では、上述した3種類のトラヒックの品質要求を区別して送信スケジュールを制御するために、各中継装置には、それぞれ(A)品質保証型のトラヒック専用のバッファ、(B)出来高型リアルタイムのトラヒック専用のバッファ、(C)出来高型のトラヒック専用のバッファを用意する。中継装置R、に届いたトラヒック(のパケット)は、いったん、それぞれ専用のバッファに区別して格納される。
たとえば特許文献1は、このような従来の中継装置を開示する。具体的には、特許文献1では、各中継装置には品質要求の異なるトラヒックの種類に応じた専用のバッファが用意されている。各専用バッファは、各々に対応する品質要求のトラヒックのパケットを格納する。中継装置は、各トラヒックの品質要求の優先度に応じてパケットの送信スケジュールを制御し、決定された送信スケジュールにしたがって各専用バッファからパケットを出力する。
さらに、中継装置のアービターは品質要求の大きいバッファから優先的にバッファと出力ポートとを接続する。これにより、各トラヒックの品質要求の程度の大きさに応じた送信スケジュールの制御を実現している。
特開2004−56328号公報
上述した従来の技術では、バッファの設置面積という制約を考慮しつつ、各トラヒックの送信スケジュールを制御することが求められていた。
本願の、限定的ではない例示的なある実施形態は、品質要求毎にトラヒックを格納する専用バッファを必要としない中継装置を提供する。
上記課題を解決するために、本発明の一態様は、少なくとも1つのバスマスタ、第1のバス、および前記少なくとも1つのバスマスタと前記第1のバスとを接続する第2のバスを有するバスシステムにおいて、前記第2のバスに配置されてパケットを中継する中継装置である。前記少なくとも1つのバスマスタは、予め定められた(N+1)種類の品質要求のうちの少なくとも1種類の品質要求の情報を付与したパケットを出力する。前記第2のバスは、N種類以下の品質要求のパケットを伝送する。中継装置は、前記品質要求の情報が付与されたパケットを受信する入力ポートと、受信した前記パケットに付与された前記品質要求の情報に応じて、パケットを区別して格納するためのN種類以下のバッファを有するバッファ部と、送信先の中継装置においてバスの種別が変化する場合において、前記品質要求の種類に応じて、前記送信先の中継装置が有するN種類以下のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するバッファ割当部と、前記バッファ部に格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、前記パケットの送信を制御する送信制御部とを備え、前記(N+1)種類の品質要求の種類に応じてトラヒックの送信スケジュールを制御する。
上述の一般的かつ特定の態様は、システム、方法およびコンピュータプログラムを用いて実装され、またはシステム、方法およびコンピュータプログラムの組み合わせを用いて実現され得る。
本発明の一態様にかかる中継装置によれば、半導体集積回路において品質要求の異なるトラヒックを伝送する際に、中継装置内のバッファの増加を抑制しつつ、トラヒック毎の品質要求を保証した送信スケジュールの制御ができる。バッファの増加を抑制できるため、集積回路の実装面積を有効に削減できる。
(a)は集中型のバス制御の例を示し、(b)は分散型のバス制御の例を示す図である。 主な集積回路上で扱われるトラヒックの主な伝送品質の種類を示す図である。 従来の中継装置の構成を示す図である。 分散型バスで接続された半導体集積回路のネットワーク構成を示す図である。 品質要求の異なる3種類のバスマスタ(BM)を4個の中継装置と1個のゲートウェイから構成されるローカルバスを介して、基幹バスへと接続している構成を示す図である。 品質要求の異なるトラヒックが、ローカルバスと基幹バスのそれぞれで取得する伝送帯域を示す図である。 実施形態1による中継装置700の構成を示す図である。 バス種別比較部709が管理する情報の一例を示す図である。 中継装置700が、受信したパケットを隣接する中継装置(又はゲートウェイGW)に送信するまでの一連の動作を説明する図である。 実施形態1におけるパケット900とフリットとの関係を示す図である。 (A)および(B)は、ルーティングテーブルの一例を示す図である。 スイッチ割当部713により、複数のバッファの中から出力ポート704と接続するバッファを決定する動作を説明する図である。 中継装置Rを通過するトラヒックの品質要求の種類が3種類となる接続構成例を示す図である。 図13の構成において、ローカルバスと基幹バスでの格納バッファの種類の相違を示す図である。 中継装置Rを通過するトラヒックの品質要求の種類が2種類となる接続構成例を示す図である。 図15の構成における、ローカルバスと基幹バスでの格納バッファの種類の相違を示す図である。 (A)および(B)は、実施形態2の概要を説明する図である。 実施形態2における中継装置800およびゲートウェイ702の構成を示す図である。 実施形態2における中継装置800(またはゲートウェイ702)の動作を説明するフローチャートである。 実施形態2における中継装置R4(図17)で利用されるルーティングテーブルを示す図である。 (A)および(B)は、品質要求の変更により、バスマスタから基幹バスへのトラヒックの伝送経路が変更した際に、基幹バスからバスマスタに戻るトラヒックの伝送経路を変更にかかる処理時間を短縮する方法を示す図である。 基幹バスからバスマスタへの戻りの伝送経路の変更を含む、中継装置700の動作を説明する図である。 (A)および(B)は、品質要求の変更により、伝送経路を変化させた場合の電源の管理方法を示す図である。 中継装置800の電源の管理動作を説明する図である。 休止状態管理部1503の動作を説明する図である。 実施形態の変形例にかかる中継装置801の構成を示す図である。 本発明の適用例を示す図である。 (A)〜(D)は、ローカルバスのトポロジーの例を示す図である。 品質要求決定部710が保持する品質要求決定規則2901aの一例を示す図である。 図5に示した構成において、中継装置R1と中継装置R3を、1つの中継装置R4に集約した構成例を示す図である。 図30のゲートウェイGWの品質要求決定規則3101の一例を示す図である。 他の半導体集積回路のバスシステムの例を示す図である。
本願発明者らは、従来の中継装置の問題を考察した。
すなわち、従来の中継装置には、品質要求の違いに応じてトラヒック毎の送信スケジュール制御を行うために、品質要求の異なるトラヒックの種類に応じた専用のバッファを設けていた。しかしながら、品質要求の種類だけバッファを用意すると、中継装置内のバッファ面積がバッファの種類に応じて増大する。このような構成を、たとえば同じネットワーク上のゲートウェイに適用した場合にも同様である。
半導体集積回路上では、実装コストの削減のために、中継装置やゲートウェイ内のバッファ面積を小さくすることが求められる。このため並列計算機やATM交換機、インターネットなどで利用される中継装置と比べ、半導体集積回路上の中継装置では、利用可能なバッファ量の制約が大きく、従来技術をそのまま利用することが難しい。
また、仕様変更によりトラヒックの品質要求の定義が変更になった場合には、その都度、半導体集積回路上の中継装置やゲートウェイのバッファ構成の再設計が必要になる。その面積も変わるため中継装置やゲートウェイを集積回路上での配置についても再設計が必要となる。
このように、半導体集積回路上の中継装置RやゲートウェイGWでは、バッファの面積を増やすことなく、トラヒック毎の品質要求に応じた送信スケジュール制御が必要である。イーサネット(登録商標)規格に準拠してデータが伝送されるような一般的なネットワークでは、バッファの面積増加はある程度許容される。しかしながら、半導体集積回路上の中継装置等においてそのようなバッファの面積増加を許容することは現状では困難である。
本発明の一態様の概要は以下のとおりである。
本発明の一態様である中継装置は、少なくとも1つのバスマスタ、第1のバス、および前記少なくとも1つのバスマスタと前記第1のバスとを接続する第2のバスを有するバスシステムにおいて、前記第2のバスに配置されてパケットを中継する中継装置であって、前記少なくとも1つのバスマスタは、予め定められた(N+1)種類の品質要求のうちの少なくとも1種類の品質要求の情報を付与したパケットを出力し、前記第2のバスは、N種類以下の品質要求のパケットを伝送し、前記中継装置は、前記品質要求の情報が付与されたパケットを受信する入力ポートと、受信した前記パケットに付与された前記品質要求の情報に応じて、パケットを区別して格納するためのN種類以下のバッファを有するバッファ部と、送信先の中継装置においてバスの種別が変化する場合において、前記品質要求の種類に応じて、前記送信先の中継装置が有するN種類以下のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するバッファ割当部と、前記バッファ部に格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、前記パケットの送信を制御する送信制御部とを備え、前記(N+1)種類の品質要求の種類に応じてトラヒックの送信スケジュールを制御する。
ある実施形態において、前記(N+1)種類の品質要求は3種類であり、前記第2のバスでは、前記バッファ部に格納されるトラヒックの品質要求の種類が2種類以下であり、前記N種類のバッファは、品質要求の異なる2種類のトラヒックを区別する第1バッファおよび第2バッファである。
ある実施形態において、前記パケットには、前記第1のバス上で適用される品質要求の情報と、前記第2のバス上で適用される品質要求の情報とが格納されており、前記バッファ部は、パケットを受信した前記入力ポートが接続するバスの種別と、パケットの送信先のバスの種別と、前記品質要求の種類とに基づいて定められるバッファの種類に基づいて、前記パケットを区別して格納する。
ある実施形態において、前記第1のバス上で適用される品質要求と、前記第2のバス上で適用される品質要求とが異なっている。
ある実施形態において、前記パケットに格納された品質要求の情報が示す品質要求の種類に基づいて、前記バスマスタが利用する伝送経路を変更する。
ある実施形態において、前記中継装置は、前記パケットに格納された品質要求の情報に基づいて、前記パケットの品質要求の種類を判定する品質要求判定部と、判定された前記品質要求の種類に応じて、前記パケットの伝送経路を定義したルーティングテーブルの内容を変更するルーティングテーブル変更部とをさらに備えている。
ある実施形態において、前記品質要求判定部は、パケットの品質要求の種類が変更されたことを判定し、前記ルーティングテーブル変更部は、送信中のパケットに関連して前記第1のバスから第2のバスへと戻るトラヒックの伝送経路を定義する。
ある実施形態において、前記中継装置は、隣接する中継装置の休止状態を制御する電源管理部をさらに備え、前記電源管理部は、品質要求の変更に伴う伝送経路の変更に応じて、隣接する中継装置の機能のオンとオフとを制御する。
ある実施形態において、前記中継装置は、自装置の休止状態を制御する電源管理部をさらに備え、前記電源管理部は、品質要求の変更に伴う伝送経路の変更に応じて、自装置の少なくとも一部の機能のオンとオフとを制御する。
本発明のある一態様である中継装置の制御方法は、少なくとも1つのバスマスタ、第1のバス、および前記少なくとも1つのバスマスタと前記第1のバスとを接続する第2のバスを有するバスシステムにおいて、前記第2のバスに配置されてパケットを中継する中継装置の制御方法であって、前記少なくとも1つのバスマスタは、優先度が予め定められた(N+1)種類の品質要求のうちの少なくとも1種類の品質要求の情報を格納したパケットを出力し、前記第2のバスは、N種類以下の品質要求のパケットを伝送し、前記中継装置は、前記品質要求の情報が付与されたパケットを受信する入力ポート、および、前記品質要求の情報に応じて、パケットを区別して格納するためのN種類のバッファを有するバッファ部を備えており、前記制御方法は、送信先の中継装置においてバスの種別が変化する場合において、前記品質要求の種類に応じて、前記送信先の中継装置が有するN種類のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するステップと、前記バッファ部に格納されたパケットが、品質要求の優先度が高い順に伝送されるよう伝送経路を割り当てるステップと、割り当てる前記ステップによって伝送経路が割り当てられた前記パケットを出力するステップとを包含し、それにより、(N+1)種類の品質要求の種類に応じてトラヒックの送信スケジュールを制御する。
本発明のある一態様であるコンピュータプログラムは、少なくとも1つのバスマスタ、第1のバス、および前記少なくとも1つのバスマスタと前記第1のバスとを接続する第2のバスを有するバスシステムにおいて、前記第2のバスに配置されてパケットを中継する中継装置のシミュレーションを行うためのコンピュータプログラムであって、前記少なくとも1つのバスマスタは、優先度が予め定められた(N+1)種類の品質要求のうちの少なくとも1種類の品質要求の情報を格納したパケットを出力し、前記第2のバスは、N種類以下の品質要求のパケットを伝送し、前記コンピュータプログラムは、コンピュータに対し、前記中継装置の入力ポートにおいて、前記N種類以下の品質要求のパケットを受信するステップと、受信した前記パケットに付与された前記品質要求の情報に応じて、前記中継装置のN種類以下のバッファに、前記パケットを区別して格納するステップと、送信先の中継装置においてバスの種別が変化する場合において、前記品質要求の種類に応じて、前記送信先の中継装置が有するN種類のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するステップと、前記バッファ部に格納されたパケットが、品質要求の優先度が高い順に伝送されるよう伝送経路を割り当てるステップと、割り当てる前記ステップによって伝送経路が割り当てられた前記パケットを出力するステップとを実行させる。
本発明のさらに他の一態様である中継装置は、第1のバス、および第2のバスを有するバスシステムにおいて、前記第1のバス、および前記第2のバスを接続してパケットを中継する中継装置であって、前記第1のバスには、(N+1)種類以下の品質要求のパケットが伝送され、前記第2のバスには、N種類以下の品質要求のパケットが伝送され、前記(N+1)種類以下の品質要求の情報が付与されたパケットを受信する入力ポートと、受信した前記パケットに付与された前記品質要求の情報に応じて、パケットを区別して格納するためのN種類以下のバッファを有するバッファ部と、前記品質要求の種類に応じて、前記第2のバスに配置された送信先の中継装置が有するN種類以下のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するバッファ割当部と、前記バッファ部に格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、前記パケットの送信を制御する送信制御部とを備えている。
本発明のさらに他の一態様である中継装置の制御方法は、第1のバス、および第2のバスを有するバスシステムにおいて、前記第1のバス、および前記第2のバスを接続してパケットを中継する中継装置の制御方法であって、前記第1のバスには、(N+1)種類以下の品質要求のパケットが伝送され、前記第2のバスには、N種類以下の品質要求のパケットが伝送され、前記制御方法は、前記中継装置の入力ポートにおいて、前記(N+1)種類以下の品質要求の情報が付与されたパケットを受信するステップと、受信した前記パケットに付与された前記品質要求の情報に応じて、N種類以下のバッファに、前記パケットを区別して格納するステップと、前記品質要求の種類に応じて、前記第2のバスに配置された送信先の中継装置が有するN種類以下のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するステップと、前記N種類以下のバッファに格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、前記パケットの送信を制御するステップとを包含する。
本発明のさらに他の一態様であるコンピュータプログラムは、第1のバス、および第2のバスを有するバスシステムにおいて、前記第1のバス、および前記第2のバスを接続してパケットを中継する中継装置のシミュレーションを行うためのコンピュータプログラムであって、前記第1のバスには、(N+1)種類以下の品質要求のパケットが伝送され、前記第2のバスには、N種類以下の品質要求のパケットが伝送され、前記コンピュータプログラムは、コンピュータに対し、前記中継装置の入力ポートにおいて、前記(N+1)種類以下の品質要求の情報が付与されたパケットを受信するステップと、受信した前記パケットに付与された前記品質要求の情報に応じて、前記中継装置のN種類以下のバッファに、前記パケットを区別して格納するステップと、前記品質要求の種類に応じて、前記第2のバスに配置された送信先の中継装置が有するN種類のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するステップと、前記N種類以下のバッファに格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、前記パケットの送信を制御するステップとを実行させる。
以下、添付の図面を参照しながら、本発明による中継装置および、中継装置をチップ上に実装するための設計及び検証を行うシミュレーションプログラムの実施形態を説明する。
図4は、本発明で対象とする分散型バスで接続された半導体集積回路のネットワーク構成である。このようなネットワークを半導体集積回路のバスシステムと呼ぶこともある。
なお、図面では、バスマスタがローカルバスを構成する要素として記載されているが、バスマスタは必ずしも構成要素に含めなくてもよい。すなわち、バスマスタとゲートウェイGWとを接続する伝送経路が「ローカルバス」であるとしてもよい。以下の図面ではバスマスタと中継装置とが1つのローカルバスに含められている例と、含められていない例とが記載されている。たとえば、複数のローカルバスが基幹バスに接続されている場合には、便宜的に、バスマスタも含めたローカルバスを1つのまとまりとして記載している。これは記載の便宜のためであり、バスマスタが当該ローカルバスに含められなくてもよい。
トラヒック量の増加や回路規模の増大に対し、集積回路上全体のバスの伝送帯域を一様に広げた場合、バスの省電力の増加や、配置配線が複雑化を引き起こす。このため、本発明で対象とする集積回路のバスでは、複数のトラヒックが集中する第1のバス(以下、「基幹バス」という。)に対しては伝送帯域の広いバスを配線し、基幹バスから各バスマスタへは伝送帯域の狭い第2のバス(以下、「ローカルバス」という。)を介して接続する構成をとる。
このように、集積回路内で伝送帯域の広いバスの範囲を限定することで、消費電力の増加の抑制や、バス配線の複雑化を解消する。
ローカルバスは、基幹バスに対して複数存在してもよく、ローカルバスを構成する中継装置の数や接続を変えることで、用途に応じた配置が可能である。
基幹バスとローカルバスの間でのトラヒックのやり取りは、ゲートウェイにより行う。ゲートウェイは、ローカルネットワーク内の中継装置と同じ機能に加え、伝送帯域の異なるバス間でトラヒックの伝送を行う。
基幹バスとローカルバスとの間の伝送帯域は、ゲートウェイの数を増やすことで増加できる。
図5は、品質要求の異なる3種類のバスマスタ(BM)を4個の中継装置と1個のゲートウェイから構成されるローカルバスを介して、基幹バスへと接続している構成を示す。
まず品質要求について説明する。この例では、トラヒックの種別の違いに基づいて(A)品質保証型、(B)出来高型リアルタイム、および(C)出来高型の3種類の品質要求を想定している。相互の優先度の関係は、品質要求が厳しいトラヒックの種別から優先度が高く設定されており、本実施例では(A)品質保証型、(B)出来高型リアルタイム、(C)出来高型の順に優先度が高く設定されている。なお、これらの優先度は、半導体集積回路ネットワークまたはNoCの設計段階で予め分かっている。
各中継装置、およびゲートウェイ内のバッファの種類を増やすことなく、品質要求に応じたトラヒック伝送を実現するために、本実施形態では、各中継装置Rを通過するトラヒックの品質要求の種類が2種類以下となるように、(1)同じゲートウェイGWを利用するバスマスタを複数のローカルバスに所属するものとして分類する。
また、(2)中継装置R、及びゲートウェイGWのバッファの種類を相対的に品質要求の高いパケットを格納するHiバッファと、品質要求の低いパケットを格納するLoバッファの2種類に限定し、中継装置Rのバッファ面積の増加を抑制する。さらに、分類されたローカルバスと基幹バスとの間でトラヒックを伝送する際に(3)品質要求の種類に応じてパケットを格納するバッファの種類を変更する。
具体的に図5では、中継装置R0とR1から構成されるローカルバス1と、中継装置R2とR3から構成されるローカルバス2に分類する。
これにより、ローカルバス1では(A)品質保証型のトラヒックと(B)出来高型リアルタイムのトラヒックのみが伝送され、ローカルバス2では(A)品質保証型のトラヒックと(C)出来高型のトラヒックのみが伝送される。
ローカルバス1において(A)品質保証型のトラヒックは、Hiバッファを利用して伝送し、(B)出来高リアルタイムのトラヒックはLoバッファを利用して伝送する。また、ローカルバス2において(A)品質保証型のトラヒックはHiバッファを利用して伝送し、(C)出来高型のトラヒックはLoバッファを利用して伝送する。
各中継装置R、及びゲートウェイGWにおける送信スケジュールの制御は、常にHiバッファ内にパケットが存在する場合には、Hiバッファ内のパケットが先に送信される。Hiバッファ内が空の状態で、Loバッファ内にパケットが存在する場合には、Loバッファ内のパケットが送信される。
このため、ローカルバス1、ローカルバス2において、Hiバッファを利用して伝送される(A)品質保証型のトラヒックは、常に最優先で伝送され品質保証がなされる。
次に(B)出来高型リアルタイムのトラヒックは、低速のローカルバス1においては、(A)品質保証型トラヒックの要求品質保証を優先させるために、Loバッファを利用して伝送する。
一方、基幹バスでは、(B)出来高型リアルタイムのトラヒックを(C)出来高型のトラヒックより優先して伝送するために、格納するバッファをHiバッファに変更し、伝送を行う。
(C)出来高型のトラヒックについては、品質要求がないため、ローカルバス2、及び基幹バスの両方においてLoバッファを利用して伝送する。
品質要求の種類に応じてパケットを格納するバッファの種類を変更する処理は、ローカルバス1から基幹バスへ送信されるトラヒックに関しては中継装置R1によって行われる。ローカルバス2から基幹バスへ送信されるトラヒックに関しては中継装置R3によって行われる。
ローカルバスから基幹バスへ送信されるトラヒックに注目すると、本実施形態では、ローカルバス側の3種類のバッファから、基幹バス側の2種類のバッファへの変更が行われる。
一方、基幹バスからローカルバス1およびローカルバス2に送信されるトラヒックに関しては、バッファの種類の変更はゲートウェイGWによって行われる。基幹バスからローカルバスへ送信されるトラヒックを格納するバッファは、基幹バス側の2種類のバッファから、ローカルバス全体(ローカルバス1とローカルバス2)で3種類のバッファ(品質保証型、出来高リアルタイム、出来高型)へ変更される。
このように、ローカルバスと基幹バスの間では、トラヒックが流れる向きによって、送信先でトラヒックを格納するバッファの種類に違いが発生する。
図6は、品質要求の異なるトラヒックが、ローカルバスと基幹バスのそれぞれで取得する伝送帯域を示す。
伝送帯域が少ないローカルバス1、ローカルバス2では、Hiバッファを利用して伝送される(A)品質保証型のトラヒックが必要な伝送帯域を取得する。
トラヒックの送信量の調整が可能な(B)出来高型リアルタイムのトラヒックと(C)出来高型のトラヒックは、Loバッファを利用して伝送することで空き帯域の大きさに応じた伝送が行われる。
(B)出来高型リアルタイムのトラヒックと(C)出来高型のトラヒックが合流する基幹バスでは、(B)出来高型リアルタイムのトラヒックを(C)出来高型のトラヒックよりも優先して伝送するために、(A)品質保証型のトラヒックと一緒に、(B)出来高型リアルタイムのトラヒックを、Hiバッファを利用して伝送する。
なお、基幹バスの伝送帯域の大きさは、(A)品質保証型のトラヒックと(B)出来高リアルタイムのトラヒックの取得帯域よりも、十分に大きい伝送帯域が事前に設計されているものとする。
このように、中継装置R、及びゲートウェイGW内のバッファの種類を2種類に限定し、さらに、トラヒックの要求品質の種類と、伝送経路上でのバスの伝送帯域の変化に応じて格納するバッファの種類を変更することで、3種類の要求品質を区別したトラヒック伝送が可能となる。
なお、トラヒックの種類数は一例である。本開示は、たとえば以下のように一般化することが可能である。すなわちバスマスタが、予め定められた(N+1)種類の品質要求のうちの少なくとも1種類の品質要求の情報を付与したパケットをローカルバスに出力し、ローカルバスがN種類以下の品質要求のパケットを伝送する。バスマスタは、特定の種類の品質要求のパケットのみを出力してもよいし、品質要求の種類を動的に変更してもよい。
ローカルバスに配置される中継装置は、品質要求の情報が付与されたパケットを受信する入力ポートと、受信したパケットに付与された品質要求の情報に応じて、パケットを区別して格納するためのN種類以下のバッファを有するバッファ部と、送信先の中継装置において、品質要求の種類に応じて、送信先の中継装置が有するN種類以下のバッファのうち、どの種類のバッファにパケットを格納させるかを決定するバッファ割当部と、バッファ部に格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、パケットの送信を制御する送信制御部とを備えている。(N+1)種類の品質要求の種類に応じてトラヒックの送信スケジュールを制御する。
以下、中継装置の具体的な構成および動作を説明する。
(実施形態1)
図7は、実施形態1による中継装置700の構成を示す図である。図7には、トラヒックを送受信するバスマスタ701、中継装置700に隣接する他の中継装置700a、および、ローカルバスと基幹バスとを接続するゲートウェイ702も記載されている。
中継装置700は、入力ポート703と、出力ポート704と、バッファ部705と、ルーティング処理部708と、バス種別比較部709と、品質要求決定部710と、バッファ割当部711と、送信制御部715とを備えている。
入力ポート703は、隣接する中継装置701aやバスマスタ701から送信されたパケットを受信する。
出力ポート704は、中継装置700から隣接する中継装置、又はゲートウェイ702に対してパケットを送信する。
バッファ部705は、入力ポート703で受信したパケットを格納する。バッファ部705は、品質要求の異なるパケットを区別して格納するために、入力ポート703毎に、Hiバッファ706とLoバッファ707をそれぞれ1つ以上備える。
ルーティング処理部708は、バッファ部705に格納された各パケットに対し、パケット記載された送信先のアドレス情報に基づいて、パケットを送信するための出力ポート704を選択する。
バス種別比較部709は、入力ポート703側のバスの種別に対し、ルーティング処理部708で選択された出力ポート704側のバスの種別が同じかどうかを判定する。各入力ポート、及び出力ポートが接続するバスの種別については設計時に決定されている。バス種別比較部709は各入力ポート、及び出力ポートが接続するバスの種別の対応関係の情報を保持している。
図8は、バス種別比較部709が管理する情報の一例を示す。図8では入力ポート0、入力ポート1、及び出力ポート0はローカルバスと接続され、出力ポート1は基幹バスと接続されていることを示している。
なお、「出力ポート1は基幹バスと接続されている」という表現は、出力ポート1が基幹バスと直接接続されていることのみを意味しない。図7に示すように、出力ポート1がゲートウェイ702に至る経路と接続され、そのゲートウェイ702が基幹バスに接続されている場合にも、「出力ポート1は基幹バスと接続されている」ということができる。
品質要求決定部710は、出力ポート側のバスの種別と、パケットの品質用要求の種類の組合せ対し、送信先の中継装置700(またはゲートウェイ702)で格納するためのバッファの種類を定義した品質要求決定規則2901を備えている。バス種別比較部709で入力ポート703側のバスの種別と、出力ポート704側のバスの種別との間に差異があると判定した場合、品質要求決定部710は以下の処理を行う。すなわち、品質要求決定部710は、品質要求決定規則2901を参照し、これから送信を行うパケットの品質要求の種類と出力ポート先のバスの種別の組み合わせに基づき、これから送信するパケットを格納するための、送信先の中継装置700(またはゲートウェイ702)におけるバッファの種類(Hiバッファ706又はLoバッファ707)を再決定する。
バッファ割当部711は、送信先のゲートウェイ702(又は中継装置)において、品質要求決定部710で決定された種類のバッファ(Hiバッファ、またはLoバッファ)に空きがあれば、その1つをこれから送信するパケットの格納用のバッファとして割り当てる。
送信制御部715は、バッファ部705に格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、パケットの送信を制御する。送信制御部715は、クロスバスイッチ712と、スイッチ割当部713とを備えている。
クロスバスイッチ712は、複数のバッファ(Hiバッファ706とLoバッファ707)を備えたバッファ部705と出力ポートの接続を切り替えるスイッチである。
スイッチ割当部713は、クロスバスイッチ712を切り替えることで、バッファ部705と出力ポート704との接続を変更し、バッファ部705の各バッファに格納されたパケットの送信スケジュール制御を行う。
図9は、中継装置700が、受信したパケットを隣接する中継装置(又はゲートウェイGW)に送信するまでの一連の動作を説明する図である。
ステップ801において、中継装置700は、隣接する中継装置701a、またはバスマスタ701からパケットを入力ポート703で受信する。
本実施形態では、中継装置700に対して伝送されるパケットは、バスクロックが1サイクル進む間に1度に伝送可能なデータサイズであるフリット単位に分割して伝送される。
実施形態1におけるパケット900とフリットとの関係を、図10を用いて説明する。パケット900には、パケット自体を送信先まで届けるために必要な制御情報901と、送信するデータ902、そしてパケットが終端を示す終了コード903が記載される。
パケット900は、バスマスタ701から送信される際に、複数のフリットに分割され、1フリットずつ順番に伝送される。分割された複数のフリットのうち、先頭のフリットであるヘッダフリット904には制御情報901が記録される。それに続くデータフリット905には、データの中身902が記載され、最後尾のフリットであるテイルフリット906には、終了コード903が記載される。
制御情報901としては、パケットの送信先アドレス、送信元のアドレス、トラヒックの品質要求の種類などが記載される。
本実施形態では、ヘッダフリット904には、品質要求の種類を示す情報として、2ビットの情報が付与されており、品質要求の種類が(A)品質保証型の場合は「11」、(B)出来高型リアルタイムの場合は「01」、(C)出来高型の場合は「00」と記載される。
図10には、理解を容易にする目的で、上記(A)〜(C)の各値が並べて記載されている。実際には、上述の通り品質要求の種類に応じて「11」、「01」、「00」のいずれかが記載されることに留意されたい。
ステップ802(図9)において、入力ポート703は、送信元の中継装置701a、又はバスマスタ701で既に決定されているバッファにパケットを格納する。
中継装置700のバッファ部705のいずれかパケットが格納されると、ルーティング処理部708は、バッファ部705に格納されたパケットのヘッダフリットに記載された、パケットの送信先アドレスを参照し、パケットを送信する出力ポート704を選択する。
ルーティング処理部708での具体的な出力ポートの選択方法としては、パケットの送信先アドレスと出力ポートの関係を1対1で対応づけたルーティングテーブルを予め中継装置毎に定義し、これから送信するパケットの送信先アドレスに対応した出力ポートをルーティングテーブルから取得する。
図11はルーティングテーブルの一例を示す。
図11(A)では、パケットの送信先のアドレスが3ビットで表現され、3ビットで表現される8種類の全てのアドレスに対して、出力ポートを1対1で定義したルーティングテーブルである。
図11(A)のルーティング処理部708は、パケットの送信先のアドレスが000、001、010、011の場合は出力ポート0を選択し、パケットの送信先のアドレスが100、101、110、111の場合には出力ポート1を選択する。
また、図11(A)以外にも、図11(B)のように、ルーティングテーブルのサイズを小さくするために、送信先のアドレスの一番左の値のみに基づき出力ポートを定義するルーティングテーブルを用いるなど、送信先のアドレスと出力ポートを一意に決定できる方法であればよい。
パケットを出力する出力ポート704が決定されると、ステップ804(図9)において、中継装置700のバス種別比較部709は、ステップ803で決定された出力ポート704側のバスの種別と、入力ポート703側のバスの種別が異なるかどうかを判定する。なお、各入力ポート、及び出力ポートが接続するバスの種別は、設計時に決定され、図8に示すように各入力ポート、出力ポートの種別が定義されている。
バスの種別が同じ場合は806に移る。バスの種別が異なる場合には、ステップ805に移る。
ステップ805において、品質要求決定部710は、パケットの品質要求の種類と、出力ポート704先でのバスの伝送帯域の大きさに基づいて、これから送信するパケットを、出力ポート704先の中継装置(またはゲートウェイ)で格納するバッファの種類(Hiバッファ、またはLoバッファ)を決定する。
図29は、品質要求決定部710が保持する品質要求決定規則2901aの一例を示す。品質要求決定規則2901aは、出力ポート側のバスの種別と、パケットの品質要求の種類(ヘッダフリットに記載の品質要求)の組合せに対し、送信先の中継装置での格納バッファの種類を定義する。
図29では、出力ポート側のバスの種別が基幹バスの場合、送信先の中継装置での格納バッファとして、ヘッダフリットに記載された品質要求の種類を示す2ビットの数字のうち左側の1ビットの数字が「1」となるパケットにはHiバッファが定義され、左側の1ビットの数字が「0」となるパケットにはLoバッファが定義される。
また、出力ポート側のバスの種別がローカルバスの場合、送信先の中継装置での格納バッファとして、ヘッダフリットに記載された品質要求の種類を示す2ビットの数字のうち右側の1ビットの数字が「1」となるパケットにはHiバッファが定義され、右側の1ビットの数字が「0」となるパケットにはLoバッファが定義される。
本実施形態では、品質要求決定部710は、出力ポート先のバスがローカルバスの場合には、図10のヘッダフリットに記載されている品質要求左側の1ビットの値を参照し、値が「1」であれば格納バッファの種類をHiバッファに決定し、「0」であればLoバッファに決定する。
また、出力ポート先のバスが基幹バスの場合は、図10のヘッダフリットに記載されている品質要求の右側1ビットの値を参照し、値が「1」であれば格納バッファの種類をHiバッファに決定し、「0」であればLoバッファに決定する。
このため、出力ポート704先がローカルバスの場合、(A)品質保証型のトラヒックの格納バッファはHiバッファと決定され、(B)出来高型リアルタイムのトラヒックと(C)出来高型トラヒックの格納バッファはLoバッファ決定される。一方、出力ポート704先が基幹バスの場合は、(A)品質保証型のトラヒックと(B)出来高型リアルタイムのトラヒックの格納バッファはHiバッファと決定され、(C)出来高型トラヒックの格納バッファはLoバッファ決定される。
これから送信するパケットを出力ポート先の中継装置(またはゲートウェイ)で格納するバッファの種類が決定すると、ステップ806において、バッファ割当部711は、これから送信するパケットを出力ポート先の中継装置(またはゲートウェイ)で格納する空きバッファを1つ選択する。空きがない場合には、バッファ割当部711は、出力ポート先の中継装置で、バッファに空きができるまでステップ806を繰り返す。
なお、図29は、品質要求決定規則の一例であり、これ以外の定義を用いても良い。例えば、出力ポート側のバスの種別(ローカルバス1、ローカルバス2、基幹バス)と、パケットの品質要求の種類(品質保証型、出来高リアルタイム、出来高型)の組み合わせに対し、送信先の中継装置での格納バッファの種類を定義した規則を用いても良い。
また、図10では、ヘッダフリットに記載される品質要求は、予めローカルバス用の品質要求と基幹バス用の品質要求が設定されている例を説明した。しかしながら、異なる種類のバスに送信する毎に、中継装置でヘッダフリットに記載される品質要求の値を動的に変更してもよい。例えば図5のバスマスタ1に注目する。バスマスタ1の品質要求は「出来高リアルタイム」である。そのため、ローカルバス1では、Loバッファを利用するために、ヘッダフリットの品質要求の値を「0」に変更する。一方、基幹バスに送信する際には、Hiバッファを利用するために、ヘッダフリットの品質要求の値を「1」に変更する。
出力ポート先での格納バッファが決定すると、ステップ807において、スイッチ割当部713は、バッファ部705の複数のバッファの中から、出力ポート704と接続させるバッファを決定し、パケットの送信スケジュールを制御する。
図12は、スイッチ割当部713により、複数のバッファの中から出力ポート704と接続するバッファを決定する動作を説明する図である。
ステップ1101において、Hiバッファ内に、既に出力ポート先の格納バッファが決まっているパケットがあれば、ステップ1102に進みHiバッファと出力ポートを接続する。
中継装置内に既に出力ポート先の格納バッファが決まっているHiバッファが複数存在する場合は、そのうちの1つを選択し、出力ポートとの接続を行う。複数のHiバッファから1つを選択する方法として、例えば、パケットの送信時刻を制御情報としてパケットに記載し、送信時刻が古いパケットを格納するHIバッファから順番に出力ポートを接続してもよい。これによりパケットが送信された順序を維持しつつ送信先まで伝送が可能となる。
また、送信時刻の代わりに、パケットと送信先に到着すべき締切り時間を制御情報に記載し、締切り時間までの残り時間が短いパケットを格納するHiバッファから順番に出力ポートを接続してもよい。これにより伝送遅延に対する品質要求の低下を抑制できる。
さらに、出力ポートと接続させるパケットをランダムに選択する方法や、バッファを順場に変更する方法(ラウンドロビン)などを用いてもよい。
Hiバッファ内に、既に出力ポート先の格納バッファが決まっているパケットがなければ、ステップ1103に進む。
ステップ1103において、Loバッファ内に、既に出力ポート先の格納バッファが決まっているパケットがあれば、ステップ1104に進み、Loバッファと出力ポートを接続する。
中継装置内に出力ポート先の格納バッファが決まっているLoバッファが複数存在する場合には、Hiバッファの場合と同様に、複数のLoバッファのいずれか1つを選択し、出力ポートと接続する。
Loバッファ内に、既に出力ポート先の格納バッファが決まっているパケットがなければ、ステップ1101に戻る。
ステップ808において、出力ポート702と接続されたバッファは、パケットを隣接する中継装置(又はゲートウエイ)に送信する。
以上、説明した中継装置の構成と動作により、実施形態1では、中継装置内のバッファの種類を増やすことなく、品質要求の異なる3種類のトラヒックに対し、それぞれの品質要求に応じた送信スケジュールの制御ができる。
なお、実施形態1では、品質要求の異なる3種類のトラヒックに対し、2種類のバッファを備える中継装置を用いて伝送を行う場合を説明したが、トラヒックの品質要求の種類、及びバッファの種類は、それぞれ3種類と2種類に限定されるものではない。
たとえば、(A)品質保証型をさらに2つの種類に分けることにより、4種類の品質要求を定義できる。具体的には、(A1)トラヒックが送信先までに届く遅延時間を保証する遅延時間保証型と、(A2)トラヒックが一定の時間内に一定のデータ転送を保証するスループット保障型である。なお、ここでは(A1)遅延時間保証型のトラヒックは、(A2)スループット保障型のトラヒックに対し伝送帯域が優先的に割当てられるものとする。
本実施形態の中継装置を用いた半導体集積回路では、例えば図13に示すように、中継装置Rを通過するトラヒックの品質要求の種類が3種類となるように、(1)同じゲートウェイGWを利用するバスマスタを複数のローカルバスに所属するものとして分類する。また、中継装置R、及びゲートウェイGW内では、(2)バッファの種類を相対的に品質要求の高いパケットを格納するHiバッファ、次いで品質要求の高いパケットを格納するMidバッファ、最も品質要求の低いパケットを格納するLoバッファの3種類に限定する。
さらに、分類されたローカルバスの中継装置Rと基幹バスに接続するゲートウェイGWとの間でトラヒックを中継する際に、(3)品質要求の種類に応じてパケットを格納するバッファの種類を変更する。
ローカルバス1では、(A1)遅延時間保証型、(A2)スループット保証型、(B)出来高型リアルタイムの3種類のトラヒックを伝送し、また、ローカルバス2では(A1)遅延時間保証型、(A2)スループット保証型、(C)出来高型の3種類のトラヒックを伝送する。
各中継装置Rでの送信スケジュールの制御は、Hiバッファ内にパケットがある場合は、Hiバッファが優先して送信される。次に、Midバッファからのパケット送信は、Hiバッファにパケットがない場合にのみ行われる。最後にLoバッファからのパケット送信は、Hiバッファ、Loバッファそれぞれにパケットがない場合にのみ行われるものとする。
図14は、図13の構成において、ローカルバスと基幹バスでの格納バッファの種類の相違を示す。
4種類のトラヒックの中で最も優先度の高い(A1)遅延保証型のトラヒックは、常にHiバッファを用いて伝送する。一方、優先度の最も低い(C)出来高型のトラヒックはLoバッファを用いて伝送する。
(A2)スループット保証型のトラヒックについては、伝送速度の低いローカルバスでは(A1)遅延保証型のトラヒックに対する影響をなくすためにMidバッファを利用し、伝送速度の高い基幹バスでは、(B)出来高型リアルタイムや(C)出来高型よりも優先してトラヒックを伝送するためにHiバッファを用いて伝送する。
(B)出来高型リアルタイムのトラヒックについては、伝送速度の低いローカルバスでは、(A1)遅延保証型のトラヒック、(A2)スループット保証型のトラヒックへの干渉をなくすためにLoバッファを利用し、伝送速度の高い基幹バスでは、(C)出来高型よりも優先してトラヒックを伝送するためにMidバッファを用いる。
また、図15に示すように、ローカルバス1では、(A1)遅延保証型トラヒックと(C)出来高型トラヒックを収容し、ローカルバス2では(A2)スループット型トラヒックと(B)出来高型リアルタイムを収容することで、それぞれのローカルバスでトラヒックの品質要求の種類を2種類にした場合には、中継装置内のバッファの種類も2種類にまで削減ができる。
図16は、図15の構成における、ローカルバスと基幹バスでの格納バッファの種類の相違を示す。
ローカルバス1では、優先度の最も高い(A1)遅延保証型のトラヒックに対しては、HiIバッファを用いて伝送し、(C)出来高型トラヒックに対しては、Loバッファを用いて伝送する。
また、ローカルバス2では、相対的に優先度の高い(A2)スループット保障型のトラヒックはHiバッファを用いて伝送を行い、優先度の低い(B)出来高リアルタイムのトラヒックはLoバッファを用いて伝送する。さらに伝送帯域の広い基幹バスでは、(C)出来高型のトラヒックよりも、(B)出来高型リアルタイムを優先させて伝送を行うために、(B)出来高型リアルタイムはHiバッファを利用して伝送し、(C)出来高型トラヒックはLoバッファを利用して伝送を行う。
このように、トラヒックの品質要求の種類数によらず、品質要求の種類の数よりも、少ない種類のバッファを用いて、品質要求の違いに応じた送信スケジュールの制御できる。
なお、実施形態1では、全ての中継装置RとゲートウェイGWが保持するバッファの種類が全て同じである場合を例に説明した。しかしながら、一部の中継装置Rやゲートウェイが備えるバッファの種類が異なっていても良い。
図30は、図5に示した構成において、中継装置R1と中継装置R3を、1つの中継装置R4に集約した構成例を示している。
中継装置R4は、ローカルバス1とローカルバス2の両方で利用される中継装置であり、3種類のトラヒックを区別するために、HiバッファとLoバッファに加え、Midバッファの3種類のバッファを備えている。
優先度はHiバッファ、Midバッファ、Loバッファの順に定義されている。品質保証型のトラヒックはHiバッファ、出来高リアルタイムのトラヒックはMidバッファ、出来高型のトラヒックはLoバッファを利用して伝送される。
また、中継装置R4、及び中継装置R4と接続する中継装置R0、中継装置R2、ゲートウェイGWにおいて、送信するパケットを格納するバッファの種別の変更は、品質要求決定部710で定義される品質要求決定規則3101を個別に設定することで実現できる。
図31は、図30のゲートウェイGWの品質要求決定規則3101の一例を示す。
図31では、出力ポート側のバスの種別が基幹バスの場合、送信先の中継装置(ゲートウェイ)での格納バッファとして、品質要求型と出来高リアルタイム型のトラヒックにはHiバッファが定義され、出来高型のトラヒックにはLoバッファが定義される。
また、出力ポート側のバスの種別がローカルバスである場合、送信先の中継装置R4での格納バッファとして、品質保証型のトラヒックに対してHiバッファが定義され、出来高リアルタイムのトラヒックにはMidバッファが定義され、出来高型のトラヒックにはLoバッファが定義される。
図30の中継装置R0、中継装置R2、中継装置R4に対しても、同様に個別に品質要求決定規則を設定する。
このように、2種類のバッファを備える中継装置2個を、3種類のバッファを備える中継装置1個に置き換えた場合には、1個の中継装置が備えるバッファの数は増加するが、中継装置の数が減ったことで集積回路全体の面積を削減する効果を期待できる。
(実施形態2)
実施形態1では、各バスマスタの品質要求が変化しない場合を想定し、品質要求の違いに応じた送信スケジュール制御について説明した。
さらに、実施形態2では、アプリケーションやサービスの変化よりバスマスタの品質要求が変化するトラヒックに対し、品質要求の違いに応じた送信スケジュール制御を行う中継装置について説明を行う。
図17は、実施形態2の概要を示す。
図17では、バスマスタ0、1、3、4は、品質要求が固定されており、バスマスタ2は用途の変化によって品質要求が(B)出来高型リアルタイムと(C)出来高型のいずれかに変化する。
ローカルバス1は、(A)品質保証型と(B)出来高型リアルタイムの2種類のトラヒックを伝送するローカルバスであり、バスマスタ0および1が接続されている。また、ローカルバス2は、(A)品質保証型と(C)出来高型の2種類のトラヒックを伝送するローカルバスであり、バスマスタ3、4が接続されている。
バスマスタ3は、中継装置R4を介して、ローカルバス1とローカルバス2の両方に接続する経路を持つ。
図17(A)は、バスマスタ3が(B)出来高型リアルタイムのトラヒックを送信している場合の伝送経路を示している。一方、図17(B)は、バスマスタ3が、(C)ローカルバス1を介して送信している場合の伝送経路を示している。
図17(A)において、バスマスタ3の品質要求が(C)出来高型のトラヒックに変わると、ローカルバス1では(C)出来高型のトラヒック用のバッファが用意されていないため、そのままトラヒックを伝送してしまうと他のバスマスタのトラヒックと干渉し、品質要求を適切に保証できなくなる。
このため、図17(B)に示すように、バスマスタ3から送信されたトラヒックの品質要求が(C)出来高型のトラヒックに変更された場合には、中継装置R4でローカルバス2側に伝送経路を変更することで、品質要求を保証した伝送を実現する。
図18は、実施形態2における中継装置800およびゲートウェイ702の構成を示す図である。
実施形態1と同じ構成については図7と同じ番号を付与し、説明を省略する。
本実施形態による中継装置800は、新たに品質要求判定部1501と、ルーティングテーブル変更部1502と、休止状態管理部1503とを有している。
品質要求判定部1501は、バッファ部705に格納されているこれから送信を行うパケットの品質要求を判定する。
ルーティングテーブル変更部1502は、品質要求判定部1501で判定されたパケットの品質要求に応じて、パケットの送信先と出力ポートの関係の対応関係を定義した、ルーティングテーブルの変更を行う処理部である。
休止状態管理部1503は、中継装置700、及び隣接する中継装置700aの少なくとも一方の電源のオン、オフを管理する処理部である。以下では、中継装置700、及び隣接する中継装置700aの両方の電源を管理するとして説明する。
図19は、実施形態2における中継装置800(またはゲートウェイ702)の動作を説明するフローチャートである。
実施形態1と同じ動作については図9と同じ番号を付与し、説明を省略する。
ステップ1601において、品質要求判定部1501は、バッファ部705内に格納されているパケットのヘッダフリットに記載されている品質要求の種類を参照する。
ステップ1602において、参照した品質要求に適したルーティングテーブルが利用されているかどうかを判定する。適切なルーティングテーブルが利用されている場合は、ステップ803に移る。適切なルーティングテーブルが利用されていない場合は、ステップ1603において、ルーティングテーブル変更部1502が、ルーティングテーブルの内容をパケットの品質要求の種類に対応するテーブルに変更する。
図20は、実施形態2における図17の中継装置R4で利用されるルーティングテーブルを示す。図20の左側のテーブルが出来高型リアルタイムトラヒック用のルーティングテーブルを示し、右側のテーブルが出来高型トラヒック用のルーティングテーブルを示す。
実施形態2の中継装置R4では、品質要求毎に異なるルーティングテーブルが用意されており、トラヒックの品質要求が出来高型リアルタイムトラヒックの場合は、常に出力ポート0となるルーティングテーブルが利用される。出来高型のトラヒックの場合には、常に出力ポートが1となるルーティングテーブルが利用される。
品質要求の変更による伝送経路は、バスマスタから基幹バスへ伝送されるトラヒックだけでなく、基幹バスからバスマスタへ戻ってくるトラヒックについても同様の経路変更が必要である。
図21は、品質要求の変更により、バスマスタから基幹バスへのトラヒックの伝送経路が変更した際に、基幹バスからバスマスタに戻るトラヒックの伝送経路を変更にかかる処理時間を短縮する方法を示している。
図21(A)では、基幹バスからバスマスタへの戻りのトラヒックがゲートウェイに届いた時点で、ゲートウェイ内のルーティングテーブルを変更し、適切な伝送経路の選択を行う。この場合、ルーティングテーブルが変更される間、トラヒックをローカルバスに対して送信できないため遅延が発生する。
これに対して図21(B)では、バスマスタから基幹バスへ送信されるトラヒックがゲートウェイを通過する際に、ゲートウェイのルーティングテーブルを事前に変更し、戻りの伝送経路を構築しておく。これにより、戻りのトラヒックがゲートウェイに到着すると、すぐに品質要求に適した伝送経路へトラヒックを送信することが可能となり、戻りのトラヒックの伝送遅延を削減できる。
図22は、基幹バスからバスマスタへの戻りの伝送経路の変更を含む、中継装置700の動作を説明する図である。
図19と同じ動作については、同じ記号を付与し説明を省略する。
ステップ1604において、品質要求判定部1501は、戻りの伝送経路について、トラヒックの品質要求の種類に対し、適切なルーティングテーブルが利用されているかどうかを判定し、適切なルーティングテーブルが利用されている場合はステップ803に移る。適切なルーティングテーブルが利用されていない場合には、ステップ1605に移る。
ステップ1605において、ルーティングテーブル変更部1502は、戻りの伝送経路に対し、トラヒックの品質要求の種類に応じた、ルーティングテーブルに変更を行う。
なお、バスマスタから基幹バスへの伝送経路を変更時に、戻りの伝送経路も事前に変更するかどうかを、トラヒック毎に個別決定しても良い。
例えば、戻りの伝送経路の事前変更をしたいトラヒックについては、パケットの制御情報に事前変更を実行するためのフラグを記載し、フラグが有効な場合のみ戻りの伝送経路のルーティングテーブルを事前変更する。
図23は、品質要求の変更により、伝送経路を変化させた場合の電源の管理方法を示す図である。バスマスタとゲートウェイは、3つの中継装置により、上側と下側の2通りの伝送経路で接続されている。
図23(A)では、トラヒックは上側の伝送経路のみが利用されている様子を示している。この場合、トラヒックが流れていない下側の伝送経路上の中継装置の電源をオフにすることで、集積回路全体の消費電力を削減することができる。
一方、図23(B)は、トラヒックの品質要求の変更により、伝送経路を変更した場合を示している。この場合、下側の伝送経路を介してトラヒックを伝送するために、下側の伝送経路上にある中継装置の電源を起動する必要がある。また、トラヒックが流れなくなった上側の伝送経路上の中継装置については、電源をオフにすることで消費電力を削減することができる。
なお、電源オフは一例である。電源オフにする代わりに、休止状態(スリープ)に移行させてもよい。この場合も、消費電力の削減に寄与する。
図24は、中継装置800の電源の管理動作を説明する図である。
図9、図19と同じ動作については同じ記号を付与し説明を省略する。
中継装置は、ステップ803においてルーティング処理部708により、パケットを送信する出力ポートの決定が終了すると、ステップ2101において、電源管理部1503は、出力ポート先の中継装置の休止状態の管理を行う。
図25は、休止状態管理部1503の動作を説明する図である。
ステップ2201において、伝送経路の変更が発生したかどうかを判定する。
伝送経路の変更が発生した場合にはステップ2202に移る。伝送経路の変更が発生していない場合には処理を終了する。
ステップ2202において、休止状態管理部1503は、伝送経路を変更する前にトラヒックを送信していた中継装置に対して、トラヒックの送信が終了したことを通知する。
通知された中継装置は、他に中継するトラヒックがなければ電源をオフにする。
ステップ2203において、休止状態管理部1503は、変更後の伝送経路上の中継装置の電源がオンかオフかを判定する。電源がオフの場合はステップ2204に移る。電源がオンの場合は処理を終了する。
ステップ2204において、休止状態管理部1503は、出力ポート先の中継装置に対して電源をオンにするように指示を出す。指示を受けた中継装置は電源をオンする。
このように、トラヒックの品質要求の変更に伴い、トラヒックの伝送経路が変更になる場合、トラヒックの伝送に必要な伝送経路上の電源のオンとオフを細かく制御することで、集積回路全体の消費電力を削減できる。
なお、ここでは休止状態管理部1503が、中継装置全体の電源を管理する場合を例に説明を行ったが、中継装置の電源はオンにしたまま、中継装置の一部の機能(例えば、ルーティング処理部708やバッファ割当部711など)だけを停止させてもよい。
この場合、中継装置の電源を直接オフにした場合よりも消費電力の削減効果は小さくなるが、再び中継装置を動作させ際に、完全に電源がオフの状態よりも、早く中継装置の機能を回復することができる。このため、アプリケーションやサービスの変化よるバスマスタの品質要求の変化に対し、より遅延時間の少ない対応ができる。また、機能の一部だけでなく、処理の一部を省略してもよい。
なお、本実施形態の変形例として、休止状態管理部1503を設けない構成も考えられる。
図26は、本実施形態の変形例にかかる中継装置801の構成を示す。中継装置801は、図18に示す中継装置800から休止状態管理部1503が省略されて構成されている。休止状態管理部1503が存在しない場合には、自中継装置の電源管理のみならず、出力ポート先の中継装置の電源管理ができなくなるが、上述した、ルーティングテーブル変更部1502を設けることによる利点は存在する。
以上、本発明の実施形態を説明した。
上述の実施形態は一例であり、種々の変形および応用が考えられる。
図27は、本発明の適用先の一例を示す図である。ここでは、複数のバスマスタとメモリ(DRAMやSRAM)を分散バスで接続した例を示している。
品質要求の異なる複数のバスマスタ(例えばペリフェラル、AV処理、信号処理、プロセッサ)は、その機能や互いの依存関係に応じて複数のローカルバスに所属するものとして分類されており、また各ローカルバスはゲートウェイを介して伝送帯域の広い基幹バスと接続している。
上述の実施形態では、中継装置をアドホックに配置した例を用いて説明したが、これ以外のトポロジーであってもよい。
図28(A)〜(D)はローカルバスのトポロジーの例を示している。
図28のバスに本発明の中継装置、及びゲートウェイを適用した場合、品質要求の種類だけ、ローカルバス内の中継装置や基幹バス上のゲートウェイにおいて、バッファの種類を増やす必要がないため、集積回路の面積や消費電力を増やすことなく、各バスマスタとメモリ間で各トラヒックの品質保証を実現できる。
例えば、図28(A)に示すように中継装置を格子状に並べたメッシュ型トポロジーを構成してもよい。また、図28(B)に示すように上下左右で中継装置をリング状に接続したトーラス型トポロジーであってもよい。また、図28(C)に示すようにバスを階層的に接続した階層型トポロジーなどを構成してもよい。さらに、図28(D)に示すように、複数のバスマスタとゲートウェイ間で中継装置の数が一定となるバタフライ型のトポロジーを構成しても良い。複数のバスマスタを分散型のバスを介して接続したトポロジーであれば、同様に本発明の中継装置の適用が可能である。
図32は、本開示において適用可能な、他の半導体集積回路のバスシステムの例を示す図である。ここでは、異なるSoC(System on Chip)同士を接続して動作させる際に、中継装置を介してSoC同士を接続している。
ただし、一般には、異なる用途を目的として開発されたSoC間では、SoC内のバスを流れるトラヒックの要求品質の定義が異なるため、直接、SoC間でトラヒックをやりとりしても要求品質は保証できない。
図32の例では、SoC1では、品質要求が異なる「高」、「中」、「低」の3種類のバスマスタを備え、一方、SoC2では、品質要求が異なる「遅延制約あり」、「遅延制約なし」の2種類のバスマスタを備えているとする。なお、「遅延制約」とは、パケットが宛先に届くまでにかかる遅延時間が、予め定められた所定の時間よりも短いことを要求する制約である。
SoC1とSoC2では品質要求の定義が異なるため、例えばSoC1で要求品質が「高」のトラヒックを、SoC2へ送信しても、SoC2では要求品質「高」が定義されていないため、正しく品質要求を保証した伝送を行うことができない。同様に、品質要求が「中」や「低」のバスマスタから送信されたトラヒックをSoC1からSoC2へ送信する場合や、SoC2からSoC1にトラヒックを送信する場合についても、要求品質を保証できない。
なお、SoC1では、「高」、「中」、「低」の順に品質要求が厳しく、SoC2では、「遅延制約あり」、「遅延制約性なし」の順に品質要求が厳しいものとする。
上述の例のような、要求品質の定義が異なる場合には、図32においてSoC1とSoC2とを接続する中継装置(例えば中継装置Aや中継装置B)において、品質要求が異なるSoC内のバスへ送信されるトラヒックの要求品質を送信先のバスの定義に応じて変換を行う。例えば中継装置Aは、SoC1側において品質要求が厳しい「高」、「中」のトラヒックをSoC2へ送信する際には、品質要求が厳しいを「遅延制約あり」に変換する。また中継装置Aは、SoC1側において品質要求が緩い「低」のトラヒックをSoC2へ送信する際には、品質要求が緩い「遅延制約なし」に変換する。そして、それぞれ対応するバッファに格納して、送信を行う。
これにより、SoC1とSoC2を接続することで発生する品質要求の異なる5種類のトラヒックに対して、既存のSoC自身の変更を行うことなく、中継装置での優先度変更規則の定義を変更するだけで、要求品質の保証した伝送ができる。このため、複数のSoCを統合した開発において、コストを低く抑えることができる。
以上の説明では、中継装置の各構成要素は、ブロック化された個別の機能部として表されているが、これらの機能部の処理を規定するプログラムを中継装置に実装されたプロセッサ(コンピュータ)に実行させることによって中継装置の動作が実現されていてもよい。そのようなプログラムの処理手順は、例えば図9、12、19、22のフローチャートに記載されているとおりである。
上述の実施形態および利用例では、本願発明がチップ上で実装された際の構成を説明した。本願発明は、チップ上に実装されるだけでなく、チップ上に実装するための設計及び検証を行うシミュレーションプログラムとしても実施され得る。そのようなシミュレーションプログラムは、コンピュータによって実行される。例えば、図7に示される各構成要素は、シミュレーションプログラム上のオブジェクト化されたクラスとして実装される。各クラスは、予め定められたシミュレーションシナリオを読み込むことにより、各構成要素に対応する動作をコンピュータ上で実現する。言い換えると、各構成要素に対応する動作は、コンピュータの処理ステップとして直列的または並列的に実行される。
中継装置として実装されたクラスは、シミュレータで定義されたシミュレーションシナリオを読み込むことにより、優先度閾値等の条件を決定する。また、他の中継装置のクラスから送信されるパケットの送信タイミング、送信先、優先度、締切時間等の条件を決定する。
中継装置として実装されたクラスは、シミュレーションシナリオに記述されたシミュレーションの終了条件が成立する迄の間、動作を行う。動作中のスループットやレイテンシ、バスの流量の変動の様子、動作周波数、消費電力の見積値等を算出しプログラムの利用者に提供する。これらに基づき、プログラムの利用者はトポロジや性能の評価を行い、設計及び検証を行う。
シミュレーションシナリオの各行には、例えば、送信元ノードのID、宛先ノードのID、送信するパケットのサイズ、送信するタイミング等の情報が記述されるのが普通である。また複数のシミュレーションシナリオをバッチ処理的に評価することで、想定した全てのシナリオで所望の性能が保証できているか否かを効率的に検証できる。またバスのトポロジやノード数、送信ノード、中継器、宛先ノードの配置を変化させて性能比較することにより、シミュレーションシナリオに最も適したネットワーク構成を特定することもできる。上記の実施形態のいずれもが本態様の設計及び検証ツールとしても適用可能である。このように、本願発明は、設計及び検証ツールとして実施される際にも適用可能である。
本発明にかかる中継装置は、分散型のバスを備える集積回路において、実装時の制約が大きいバッファサイズを増やすことなく、トラヒックの品質要求に応じた送信スケジュール制御が実現できる。
このため、例えば複数のメディア処理用のDSPや、高速なファイル転送を行うCPUなどを、分散バスを用いて1つのSoC(System on Chip)上に集積化する際に、実装に必要なリソースの省資源化を実現する上で有用である。
また、リソースの省資源化による、集積回路全体での省電化に対しても有用である。
700 中継装置
700a 隣接する中継装置
701 バスマスタ
702 ゲートウェイ
703 入力ポート
704 出力ポート
705 バッファ部
706 Hiバッファ
707 Loバッファ
708 ルーティング処理部
709 バス種別比較部
710 品質要求決定部
711 バッファ割当部
712 クロスバスイッチ
713 スイッチ割当部
900 パケット
901 制御情報
902 データ
903 終了コード
904 ヘッダフリット
905 データフリット
906 テイルフリット
1501 品質要求判定部
1502 ルーティングテーブル変更部
1503 休止状態管理部

Claims (14)

  1. 少なくとも1つのバスマスタ、第1のバス、および前記少なくとも1つのバスマスタと前記第1のバスとを接続する第2のバスを有するバスシステムにおいて、前記第2のバスに配置されてパケットを中継する中継装置であって、
    前記少なくとも1つのバスマスタは、予め定められた(N+1)種類の品質要求のうちの少なくとも1種類の品質要求の情報を付与したパケットを出力し、
    前記第2のバスは、N種類以下の品質要求のパケットを伝送し、
    前記中継装置は、
    前記品質要求の情報が付与されたパケットを受信する入力ポートと、
    受信した前記パケットに付与された前記品質要求の情報に応じて、パケットを区別して格納するためのN種類以下のバッファを有するバッファ部と、
    送信先の中継装置においてバスの種別が変化する場合において、前記品質要求の種類に応じて、前記送信先の中継装置が有するN種類以下のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するバッファ割当部と、
    前記バッファ部に格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、前記パケットの送信を制御する送信制御部と
    を備え、前記(N+1)種類の品質要求の種類に応じてトラヒックの送信スケジュールを制御する、中継装置。
  2. 前記(N+1)種類の品質要求は3種類であり、
    前記第2のバスでは、前記バッファ部に格納されるトラヒックの品質要求の種類が2種類以下であり、
    前記N種類のバッファは、品質要求の異なる2種類のトラヒックを区別する第1バッファおよび第2バッファである、請求項1に記載の中継装置。
  3. 前記パケットには、前記第1のバス上で適用される品質要求の情報と、前記第2のバス上で適用される品質要求の情報とが格納されており、
    前記バッファ部は、パケットを受信した前記入力ポートが接続するバスの種別と、パケットの送信先のバスの種別と、前記品質要求の種類とに基づいて定められるバッファの種類に基づいて、前記パケットを区別して格納する、請求項2に記載の中継装置。
  4. 前記第1のバス上で適用される品質要求と、前記第2のバス上で適用される品質要求とが異なる、請求項3に記載の中継装置。
  5. 前記パケットに格納された品質要求の情報が示す品質要求の種類に基づいて、前記バスマスタが利用する伝送経路を変更する、請求項1に記載の中継装置。
  6. 前記パケットに格納された品質要求の情報に基づいて、前記パケットの品質要求の種類を判定する品質要求判定部と、
    判定された前記品質要求の種類に応じて、前記パケットの伝送経路を定義したルーティングテーブルの内容を変更するルーティングテーブル変更部と
    をさらに備えた、請求項5に記載の中継装置。
  7. 前記品質要求判定部は、パケットの品質要求の種類が変更されたことを判定し、
    前記ルーティングテーブル変更部は、送信中のパケットに関連して前記第1のバスから第2のバスへと戻るトラヒックの伝送経路を定義する、請求項6に記載の中継装置。
  8. 隣接する中継装置の休止状態を制御する電源管理部をさらに備え、
    前記電源管理部は、品質要求の変更に伴う伝送経路の変更に応じて、隣接する中継装置の機能のオンとオフとを制御する、請求項5に記載の中継装置。
  9. 自装置の休止状態を制御する電源管理部をさらに備え、
    前記電源管理部は、品質要求の変更に伴う伝送経路の変更に応じて、自装置の少なくとも一部の機能のオンとオフとを制御する、請求項5に記載の中継装置。
  10. 少なくとも1つのバスマスタ、第1のバス、および前記少なくとも1つのバスマスタと前記第1のバスとを接続する第2のバスを有するバスシステムにおいて、前記第2のバスに配置されてパケットを中継する中継装置の制御方法であって、
    前記少なくとも1つのバスマスタは、優先度が予め定められた(N+1)種類の品質要求のうちの少なくとも1種類の品質要求の情報を格納したパケットを出力し、
    前記第2のバスは、N種類以下の品質要求のパケットを伝送し、
    前記中継装置は、前記品質要求の情報が付与されたパケットを受信する入力ポート、および、前記品質要求の情報に応じて、パケットを区別して格納するためのN種類のバッファを有するバッファ部を備えており、
    前記制御方法は、
    送信先の中継装置においてバスの種別が変化する場合において、前記品質要求の種類に応じて、前記送信先の中継装置が有するN種類のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するステップと、
    前記バッファ部に格納されたパケットが、品質要求の優先度が高い順に伝送されるよう伝送経路を割り当てるステップと、
    割り当てる前記ステップによって伝送経路が割り当てられた前記パケットを出力するステップと
    を包含し、それにより、(N+1)種類の品質要求の種類に応じてトラヒックの送信スケジュールを制御する、中継装置の制御方法。
  11. 少なくとも1つのバスマスタ、第1のバス、および前記少なくとも1つのバスマスタと前記第1のバスとを接続する第2のバスを有するバスシステムにおいて、前記第2のバスに配置されてパケットを中継する中継装置のシミュレーションを行うためのコンピュータプログラムであって、
    前記少なくとも1つのバスマスタは、優先度が予め定められた(N+1)種類の品質要求のうちの少なくとも1種類の品質要求の情報を格納したパケットを出力し、
    前記第2のバスは、N種類以下の品質要求のパケットを伝送し、
    前記コンピュータプログラムは、コンピュータに対し、
    前記中継装置の入力ポートにおいて、前記N種類以下の品質要求のパケットを受信するステップと、
    受信した前記パケットに付与された前記品質要求の情報に応じて、前記中継装置のN種類以下のバッファに、前記パケットを区別して格納するステップと、
    送信先の中継装置においてバスの種別が変化する場合において、前記品質要求の種類に応じて、前記送信先の中継装置が有するN種類のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するステップと、
    前記バッファ部に格納されたパケットが、品質要求の優先度が高い順に伝送されるよう伝送経路を割り当てるステップと、
    割り当てる前記ステップによって伝送経路が割り当てられた前記パケットを出力するステップと
    を実行させる、コンピュータプログラム。
  12. 第1のバス、および第2のバスを有するバスシステムにおいて、前記第1のバス、および前記第2のバスを接続してパケットを中継する中継装置であって、
    前記第1のバスには、(N+1)種類以下の品質要求のパケットが伝送され、
    前記第2のバスには、N種類以下の品質要求のパケットが伝送され、
    前記(N+1)種類以下の品質要求の情報が付与されたパケットを受信する入力ポートと、
    受信した前記パケットに付与された前記品質要求の情報に応じて、パケットを区別して格納するためのN種類以下のバッファを有するバッファ部と、
    前記品質要求の種類に応じて、前記第2のバスに配置された送信先の中継装置が有するN種類以下のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するバッファ割当部と、
    前記バッファ部に格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、前記パケットの送信を制御する送信制御部と
    を備えた、中継装置。
  13. 第1のバス、および第2のバスを有するバスシステムにおいて、前記第1のバス、および前記第2のバスを接続してパケットを中継する中継装置の制御方法であって、
    前記第1のバスには、(N+1)種類以下の品質要求のパケットが伝送され、
    前記第2のバスには、N種類以下の品質要求のパケットが伝送され、
    前記制御方法は、
    前記中継装置の入力ポートにおいて、前記(N+1)種類以下の品質要求の情報が付与されたパケットを受信するステップと、
    受信した前記パケットに付与された前記品質要求の情報に応じて、N種類以下のバッファに、前記パケットを区別して格納するステップと、
    前記品質要求の種類に応じて、前記第2のバスに配置された送信先の中継装置が有するN種類以下のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するステップと、
    前記N種類以下のバッファに格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、前記パケットの送信を制御するステップと
    を包含する、中継方法。
  14. 第1のバス、および第2のバスを有するバスシステムにおいて、前記第1のバス、および前記第2のバスを接続してパケットを中継する中継装置のシミュレーションを行うためのコンピュータプログラムであって、
    前記第1のバスには、(N+1)種類以下の品質要求のパケットが伝送され、
    前記第2のバスには、N種類以下の品質要求のパケットが伝送され、
    前記コンピュータプログラムは、コンピュータに対し、
    前記中継装置の入力ポートにおいて、前記(N+1)種類以下の品質要求の情報が付与されたパケットを受信するステップと、
    受信した前記パケットに付与された前記品質要求の情報に応じて、前記中継装置のN種類以下のバッファに、前記パケットを区別して格納するステップと、
    前記品質要求の種類に応じて、前記第2のバスに配置された送信先の中継装置が有するN種類のバッファのうち、どの種類のバッファに前記パケットを格納させるかを決定するステップと、
    前記N種類以下のバッファに格納されたパケットに対し、品質要求が高い順に伝送されるよう、送信スケジューリングを行い、前記パケットの送信を制御するステップと
    を実行させる、コンピュータプログラム。
JP2013544129A 2011-11-17 2012-11-13 中継装置、中継装置の制御方法、およびコンピュータプログラム Expired - Fee Related JP5552196B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013544129A JP5552196B2 (ja) 2011-11-17 2012-11-13 中継装置、中継装置の制御方法、およびコンピュータプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011251353 2011-11-17
JP2011251353 2011-11-17
PCT/JP2012/007286 WO2013073172A1 (ja) 2011-11-17 2012-11-13 中継装置、中継装置の制御方法、およびコンピュータプログラム
JP2013544129A JP5552196B2 (ja) 2011-11-17 2012-11-13 中継装置、中継装置の制御方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP5552196B2 JP5552196B2 (ja) 2014-07-16
JPWO2013073172A1 true JPWO2013073172A1 (ja) 2015-04-02

Family

ID=48429268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013544129A Expired - Fee Related JP5552196B2 (ja) 2011-11-17 2012-11-13 中継装置、中継装置の制御方法、およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US9379983B2 (ja)
EP (1) EP2782301B1 (ja)
JP (1) JP5552196B2 (ja)
CN (1) CN103460654B (ja)
WO (1) WO2013073172A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5975446B2 (ja) 2012-08-13 2016-08-23 パナソニックIpマネジメント株式会社 アクセス制御装置、中継装置、アクセス制御方法、コンピュータプログラム
CN104954249B (zh) 2014-03-27 2018-09-21 华为技术有限公司 一种报文转发方法、系统及装置
CN105306382B (zh) * 2014-07-28 2019-06-11 华为技术有限公司 一种无缓存noc数据处理方法及noc电子元件
WO2017168206A1 (en) * 2016-03-29 2017-10-05 Huawei Technologies Canada Co., Ltd. Systems and methods for performing traffic engineering in a communications network
US10182017B2 (en) 2016-06-30 2019-01-15 Mellanox Technologies Tlv Ltd. Estimating multiple distinct-flow counts in parallel
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
JP6376229B2 (ja) * 2017-02-09 2018-08-22 オムロン株式会社 通信システム、通信装置および通信方法
US10218642B2 (en) * 2017-03-27 2019-02-26 Mellanox Technologies Tlv Ltd. Switch arbitration based on distinct-flow counts
US10608943B2 (en) * 2017-10-27 2020-03-31 Advanced Micro Devices, Inc. Dynamic buffer management in multi-client token flow control routers
KR20220102160A (ko) 2021-01-11 2022-07-20 삼성전자주식회사 패킷 전송을 위한 스위치, 그것을 갖는 네트워크 온 칩, 및 그것의 동작 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
JP3873639B2 (ja) * 2001-03-12 2007-01-24 株式会社日立製作所 ネットワーク接続装置
JP2002300193A (ja) * 2001-03-30 2002-10-11 Hitachi Ltd ルータ
JP2004056328A (ja) 2002-07-18 2004-02-19 Nippon Telegr & Teleph Corp <Ntt> ルータ、ルータの動的品質制御方法、プログラム、および記録媒体
JP3767747B2 (ja) * 2003-03-18 2006-04-19 船井電機株式会社 Ieee1394シリアルバスへの接続機器とその物理id付与方法
US7440405B2 (en) * 2005-03-11 2008-10-21 Reti Corporation Apparatus and method for packet forwarding with quality of service and rate control
US7539133B2 (en) * 2006-03-23 2009-05-26 Alcatel-Lucent Usa Inc. Method and apparatus for preventing congestion in load-balancing networks
US7583677B1 (en) * 2006-11-03 2009-09-01 Juniper Networks, Inc. Dynamic flow-based multi-path load balancing with quality of service assurances
JP2008244979A (ja) * 2007-03-28 2008-10-09 Nec Corp ロードバランス型セルスイッチ装置、優先制御方法
US8160085B2 (en) * 2007-12-21 2012-04-17 Juniper Networks, Inc. System and method for dynamically allocating buffers based on priority levels
JP5167924B2 (ja) * 2008-04-16 2013-03-21 富士通株式会社 中継装置およびパケット中継方法
WO2011108174A1 (ja) 2010-03-05 2011-09-09 パナソニック株式会社 中継器
US8391174B2 (en) * 2010-07-13 2013-03-05 Hewlett-Packard Development Company, L.P. Data packet routing

Also Published As

Publication number Publication date
JP5552196B2 (ja) 2014-07-16
EP2782301A1 (en) 2014-09-24
CN103460654A (zh) 2013-12-18
EP2782301B1 (en) 2018-03-14
CN103460654B (zh) 2016-12-14
EP2782301A4 (en) 2016-02-10
WO2013073172A1 (ja) 2013-05-23
US9379983B2 (en) 2016-06-28
US20140133307A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
JP5552196B2 (ja) 中継装置、中継装置の制御方法、およびコンピュータプログラム
US9426099B2 (en) Router, method for controlling router, and program
JP5603481B2 (ja) 中継装置
JP4808513B2 (ja) システムオンチップの大域的非同期通信アーキテクチャ
US9264371B2 (en) Router, method for controlling the router, and computer program
JP4880802B1 (ja) 中継装置
JP5320512B2 (ja) 中継器、中継器の制御方法、およびプログラム
JP6229985B2 (ja) バスシステムおよびコンピュータプログラム
JP5838365B2 (ja) バスシステムおよび中継器
JP5853211B2 (ja) バスインタフェース装置、中継装置、およびそれらを備えたバスシステム
JP2008536391A (ja) 待ち時間の削減のためのネットワークオンチップ環境及び方法
US9436642B2 (en) Bus system for semiconductor circuit
WO2014141692A1 (ja) バス制御装置、中継装置およびバスシステム
Kim et al. Design of an area-efficient and low-power NoC architecture using a hybrid network topology
Lankes et al. Noc topology exploration for mobile multimedia applications
CN117716676A (zh) 用于芯片上及封包上的网络中的多维拓扑的路由器架构
Bolotin et al. QoS architecture and design process for cost effective Network on Chip

Legal Events

Date Code Title Description
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: 20140507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140523

R151 Written notification of patent or utility model registration

Ref document number: 5552196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees