JP4756158B2 - 通信リソース割り当て電子デバイスおよび方法 - Google Patents

通信リソース割り当て電子デバイスおよび方法 Download PDF

Info

Publication number
JP4756158B2
JP4756158B2 JP2008512975A JP2008512975A JP4756158B2 JP 4756158 B2 JP4756158 B2 JP 4756158B2 JP 2008512975 A JP2008512975 A JP 2008512975A JP 2008512975 A JP2008512975 A JP 2008512975A JP 4756158 B2 JP4756158 B2 JP 4756158B2
Authority
JP
Japan
Prior art keywords
slot
electronic device
tables
entry
slot table
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.)
Expired - Fee Related
Application number
JP2008512975A
Other languages
English (en)
Other versions
JP2008543151A (ja
Inventor
エドウィン、レイプケマ
ジョン、ディエリッセン
Original Assignee
エスティー‐エリクソン、ソシエテ、アノニム
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 エスティー‐エリクソン、ソシエテ、アノニム filed Critical エスティー‐エリクソン、ソシエテ、アノニム
Publication of JP2008543151A publication Critical patent/JP2008543151A/ja
Application granted granted Critical
Publication of JP4756158B2 publication Critical patent/JP4756158B2/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13098Mobile subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1332Logic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13322Integrated circuits

Description

本発明は、複数の処理モジュールおよび複数の処理モジュールを結合するための相互接続手段を備える電子デバイスに関するとともに、そのような電子デバイス内の通信リソース割り当ての方法にも関する。
システム・オン・シリコンは、新しい機能の実装および既存の機能の改良の必要性が一段と高まっていることで複雑性が継続的に増大することを示している。これは、集積回路にコンポ-ネントが集積されうる密度を高めることにより可能になる。それと同時に、回
路が動作するクロック速度も高くなる傾向がある。コンポーネントの密度の増大と相まって、クロック速度が高くなるほど、同じクロック・ドメイン内で同期して動作しうる領域が縮小された。このことからモジュール方式の必要性が生じた。このような方式により、処理システムは、複数の比較的独立した複合モジュールを備える。従来の処理システムでは、システム・モジュールは、通常、バスを介して互いに通信し合う。しかし、モジュールの数が増えるにつれ、この通信様式は、以降の理由から、もはや実用的ではなくなっている。一方で、モジュール数の増大は、バスに過度に高い負荷をかけ、バスは、1つのデバイスしかデータをバスに送り出せないことから通信のボトルネックとなる。
通信ネットワークは、これらの欠陥を解消する効果的な手段を形成する。ネットワーク・オン・チップ(NoC)は、近年、非常に複雑なチップにおける相互接続の問題に対する解決方法としてかなりの注目を集めている。理由は2つある。第1に、NoCは、グローバル・ワイヤを構造化し、管理するので、新しい深サブミクロン技術における電気的問題を解決するのに役立つ。それと同時に、配線を共有することで、線の本数を減らし、利用度を高める。NoCは、エネルギー効率および信頼性が高い可能性もあり、バスに比較して拡張性がある。第2に、NoCでは、さらに、計算を通信から切り離すが、これは、10億ものトランジスタ・チップの設計を管理するうえで本質的である。NoCは、従来からプロトコル・スタックを使用して設計されているため、このような切り離しを実現しており、通信サービス使用をサービス実装から分離する明確に定義されたインターフェイスを形成する。
ネットワークをオンチップ相互接続として導入すると、バスまたはスイッチなどの直接相互接続と比較したときに、通信を根本的に変える。これは、通信モジュールが直接的に接続されないが、1つまたは複数のネットワーク・ノードにより遠隔分離される、ネットワークのマルチホップ性によるものである。これは、モジュールが直接的に接続される広く使用されている既存の相互接続(つまり、バス)とは対照的である。この変化の意味はアービトレーション(集中型から分散型に変化しなければならない)および通信特性(例えば、順序付け、またはフロー制御)にあり、知的所有権ブロック(IP)またはネットワークのいずれかにより取り扱われなければならない。
ネットワーク・オン・チップ(NoC)は、典型的には、複数のルータおよびネットワーク・インターフェイスからなる。ルータは、ネットワーク・ノードとしての機能を果たし、静的(つまり、経路は予め決定されており、変化しない)にまたは動的(つまり、経路は、例えばホットスポットを回避するためNoC負荷に応じて変化しうる)に、データを正しい経路で送信先に送ることにより、データを送信元ネットワーク・インターフェイスから送信先ネットワーク・インターフェイスにトランスポートするために使用される。ルータは、さらに、時間保証も実装できる(例えば、転送速度に基づくか、期限に基づくか、またはTDMA方式でパイプライン化された回路を使用する)。ルータのアーキテクチャに関する詳細は、エドウィン・リィジプケマ[Edwin Rijpkema]、キース・グセンス[Kees Goossens]、ポール・ウィリッジ[Paul Wielage]著、「シリコン上のネットワーク用ルータ・アーキテクチャ[A router architecture for networks on silicon]」、2001年10月プログレス記載(In PROGRESS, October 2001)に見られる。
ネットワーク・インターフェイスは、何らかの種類のデータ処理ユニットを表していてもよいし、またはメモリ、ブリッジなどであってもよい、IPブロック(知的所有権)に接続される。特に、ネットワーク・インターフェイスは、IPブロックとネットワークとの間の通信インターフェイスとなる。インターフェイスは、通常、既存のバス・インターフェイスと互換性を有する。したがって、ネットワーク・インターフェイスは、データ・シーケンシャル化(与えられたコマンド、フラグ、アドレス、およびデータを固定幅(例えば、32ビット)信号群に収める)とパケット化(ネットワークにより内部的に必要とされるパケット・ヘッダおよびトレーラを追加する)を取り扱うように設計される。ネットワーク・インターフェイスは、タイミング保証およびアドミッション制御を含むことができる、パケット・スケジューリングも実装することができる。
オンチップ・システムでは、その相互接続通信にタイミング保証を必要とすることが多い。したがって、スループット、待ち時間、およびジッタが保証される、あるクラスの通信が行われる。異なるトラフィック・クラスを識別し、特性をそれらのクラスに関連付けるために、接続が使用される。
時間関係の保証(つまり、スループット、待ち時間、およびジッタ)を行う費用効果の高い方法は、厳しい同期条件を有するシステム・オン・チップ(SoC)上の転送速度に基づく、また期限に基づく方式と比べて少ないバッファ領域で済むため有利である、TDMA(時分割多元接続)方式によりパイプライン化された回路を使用することである。
典型的には、ネットワーク・インターフェイスは、エントリが循環的に読み取られるスロット・テーブルを備える。エントリがチャネルに対し予約されている場合、そのチャネルに対するデータは、ネットワークに入ることが許される。スロット・テーブル内のエントリの割り当ては、データ要素が衝突しないように実行される、つまり、非衝突経路指定方式が適用される。
それぞれのスロットにおいて、データ項目は、1つのネットワーク・コンポーネントから次のネットワーク・コンポーネントへ、つまり、ルータ間で、またはルータとネットワーク・インターフェイスとの間で移動される。したがって、スロットが出力ポートで予約されている場合、マスター・モジュールとスレーブ・モジュールとの間の経路にそって続く出力ポート上で以降のスロットが予約され、さらに次のスロット、というように予約されていかなければならない。
タイミング保証のある複数の接続が設定された場合、スロット割り当ては、衝突が生じないように(つまり、複数の接続に割り当てられたスロットがないように)実行されなければならない。与えられたネットワーク・トポロジ、つまり与えられた数のルータおよびネットワーク・インターフェイス、およびIPブロック間の一組の接続に対する最適なスロット割り当てを見つける作業は、相当な計算時間を必要とする最適解を見つけることを伴うので非常に計算量の多い問題である。
図6は従来技術によるネットワーク・オン・チップの一部のブロック図を示している。ここで3つのネットワーク・インターフェイスNI1〜NI3と2つのルータR1,R2が示されている。ネットワーク・インターフェイスNI1〜NI3は2つのルータR1,R2に接続される。システムは7つのチャネルを備え、そのうち4つのチャネルa,b,cおよびdは、第1のネットワーク・インターフェイスNI1から第3のネットワーク・インターフェイスNI3に至り、3つのチャネルk、lおよびmは、第2のネットワーク・インターフェイスNI2から第3のネットワーク・インターフェイスNI3に至る。
ネットワーク・インターフェイスとルータとの間のリンクL1〜L4のそれぞれは、2つのスロット・テーブルに関連付けられる。スロット・テーブルST11,ST21,ST31およびST41はそれぞれ、9つのスロットを備えるが、スロット・テーブルST12,ST22,ST32およびST42はそれぞれ、16個のスロットを備える。
チャネルに対するリンク容量の一部分に関する帯域幅要件は、B=5/16、およびB=B=B=B=B=B=1/16であると仮定される。第2のルータR2から第3のネットワーク・インターフェイスNI3へのリンクL2は、7つの接続すべてに対応できる必要があるので、ネットワーク・インターフェイスおよびルータに関連付けられたスロット・テーブルST21,ST22内に少なくとも7つのスロットが必要である。
スロット・テーブルST1〜ST32がそれぞれS個のスロットを含む場合、それらのスロットのうちの6つのスロットは6つのチャネルb〜mに対し予約される必要がある。したがって、チャネルAについて残されたスロットの数はS−6であり、チャネルaについて予約されている帯域幅の一部分は、S−6/Sであり、これは、5/16の帯域幅という指定された要件よりも大きいかまたは等しい値であるべきである。したがって、Sは少なくとも9でなければならない。S個のスロットを持つスロット・テーブル内のs個のスロットの予約の結果、リンクの全帯域幅容量のs/Sである一部分が得られる。
9つのスロット・テーブルが選択された場合、スロットの最低量が割り当てられることができる。利用可能な帯域幅の一部はすべてのスロットが占有されるため無駄になるが、リンク帯域幅の11/16のみが実際に必要である、つまり、帯域幅の無駄は、30%を超える。しかし、16個のスロットを持つスロット・テーブルが選択された場合、帯域幅の無駄は回避されるが、スロット・テーブルが大きいほどスロット・テーブルに関してコストが高くなる。
本発明の目的は、通信リソースが改善され、費用効果の高い割り当てを伴う通信リソース割り当て電子デバイスおよび方法を実現することである。
この目的は、請求項1に記載の電子デバイスおよび請求項8に記載の通信リソース割り当て方法により解決される。
したがって、複数の処理モジュールを結合して処理モジュール間で通信を行えるようにするための相互接続手段を備える電子デバイスが実現される。電子デバイスは、さらに、相互接続手段を複数の処理モジュールのうちの1つに結合するための複数のネットワーク・インターフェイスを備える。さらに、少なくとも1つのタイム・スロット割り当てユニットが、タイム・スロットを相互接続手段のチャネルに割り当てるために用意される。タイム・スロット割り当てユニットは、複数のエントリを持つ複数のスロット・テーブルを備える。それぞれのエントリは、相互接続手段の利用可能帯域幅の一部分に対応する。複数のスロット・テーブルのうちの第1のスロット・テーブルは、複数のスロット・テーブルのうちの第2のスロット・テーブルに関係する複数のエントリのうちの少なくとも1つの第1のエントリを含む。
スロット・テーブルに階層を導入することにより、さまざまな量の帯域幅が、タイム・スロットに割り当てられうる。それに応じて、帯域幅の無駄が、著しく低減されうる。
本発明の一態様によれば、第1のエントリにより参照される第2のスロット・テーブルのすべてのエントリは、第1のエントリに関連付けられている帯域幅の一部分に割り当てられる。
本発明のさらなる態様によれば、タイム・スロット割り当てユニットは、効率的なタイム・スロット割り当て機構を形成するようにネットワーク・インターフェイス内に配列されうる。
本発明のさらなる態様によれば、相互接続手段は、複数のルータを備える。これらのルータのうちの少なくとも1つは、タイム・スロット割り当て機構をさらに改善するためにタイム・スロット割り当てユニットを備える。
本発明は、システム・オン・チップ内に配列されたスロット・テーブル内に階層を導入するアイデアに関係する。これは、異なる量の帯域幅がスロット・テーブル内のスロットに割り当てられるか、または関連付けられうるようにスロット・テーブルを入れ子にすることにより実行されうる。したがって、チャネルの必要な帯域幅は、異なる帯域幅を持つスロットを使用することにより割り当てられうる。
本発明の他の態様は、従属請求項において定義される。
次に、本発明は、図面を参照しつつさらに詳しく説明される。
以降の実施形態は、システム・オン・チップに関係する、つまり、同じダイ、複数のダイ上(例えば、パッケージ内のシステム)、または、複数のチップ上の複数のモジュールが、ある種の相互接続を介して互いに通信し合う。相互接続は、ネットワーク・オン・チップNoCとして具現化される。ネットワーク・オン・チップは、配線、バス、時分割多重化、スイッチ、および/またはルータをネットワーク内に備えることができる。前記ネットワークのトランスポート層におけるモジュール間の通信は接続を介して実行される。接続は、一組のチャネルとして考えられ、それぞれのチャネルは第1のモジュールと少なくとも1つの第2のモジュールとの間の一組の接続特性を有する。第1のモジュールと単一の第2のモジュールとの間の接続のために、接続は、2つのチャネル、つまり、第1のモジュールから第2のモジュールへのチャネル、つまり要求チャネルと、第2のモジュールから第1のモジュールへの第2のチャネル、つまり、応答チャネルとを備えることができる。したがって、ネットワークを介した接続または接続の経路、つまり、接続経路は、少なくとも1つのチャネルを備える。言い換えると、チャネルは、ただ1つのチャネルが使用される場合にその接続の接続経路に対応する。上述のように2つのチャネルが使用される場合、一方のチャネルは、例えば、マスターからスレーブへの接続経路を実現し、第2のチャネルは、スレーブからマスターへの接続経路を実現する。したがって、典型的な接続に関して、接続経路は2つのチャネルを備えることになる。接続特性は、順序付け(データ・トランスポートを順序正しくする)、フロー制御(リモート・バッファが接続用に予約され、データ・プロデューサは、生成されたデータ用に領域が利用可能であることが保証される場合に限りデータを送信することが許される)、スループット(スループットに対する下限が保証される)、待ち時間(待ち時間に対する上限が保証される)、損失[lossiness](データの消失)、伝送終了、トランザクション完了、データ正確さ、優先度、またはデータ配送を含むことができる。
図1は、本発明によるネットワーク・オン・チップの一般的アーキテクチャのブロック図を示している。システムは、それぞれネットワーク・インターフェイスNIを介してネットワークNに接続されている複数のいわゆる知的所有権ブロックIP、IP1〜IP5(計算要素、メモリ、または相互接続モジュールを内部的に備えることができるサブシステム)を備える。ネットワークNは、それぞれのネットワーク・リンクを介して隣接するルータに接続される、複数のルータR1〜R5を備える。
ネットワーク・インターフェイスNI1〜NI5は、IPブロックIP1〜IP5とネットワークNとの間のインターフェイスとして使用される。ネットワーク・インターフェイスNI1〜NI5は、それぞれのIPブロックIP1〜IP5とネットワークNの通信を管理するために用意され、これにより、IPブロックIP1〜IP5は、ネットワークNまたは他のIPブロックとの通信に関わらなくてもそれ専用動作を実行することができる。IPブロックIP1〜IP5は、マスターとして動作する、つまり要求を開始することができるか、またはスレーブとして動作する、つまりマスターから要求を受け取り、要求をそれに応じて処理することができる。
図2は、図1によるネットワーク・オン・チップ内の接続および基本スロット割り当てのブロック図を示す。特に、IPブロックIP4とIP2との間の接続が示されている。この接続は、IPブロックIP4に関連付けられているネットワーク・インターフェイスNI4、2つのルータR2、R2、およびIPブロックIP2に関連付けられているネットワーク・インターフェイスNI2により実現される。ネットワーク・インターフェイスNI4は、タイム・スロット割り当てユニットSAを備える。代替えとして、またはそれに加えて、ネットワーク・インターフェイスNI2、およびルータR2とR4は、また、タイム・スロット割り当てユニットSAを備えることができる。第1のリンクL1は、ネットワーク・インターフェイスNI4とルータR4との間に存在し、第2のリンクL2は2つのルータR4、R2の間に存在し、第3のリンクL3は、ルータR2とネットワーク・インターフェイスNI2との間に存在する。それぞれのネットワーク・コンポーネントの出力ポートに対する3つのスロット・テーブルST1〜ST3も示されている。これらのスロット・テーブルは、好ましくは、ネットワーク・インターフェイスとルータに似たネットワーク要素の出力側、例えばデータ出力側に実装される。それぞれの要求されたスロットについて、1つのスロットが接続経路上のリンクのそれぞれのスロット・テーブル内で予約される。これらすべてのスロットは、空いていなければならない、つまり、他のチャネルにより予約されていてはならない。データは一方のネットワーク・コンポーネントからスロットs=1から始まる他のそれぞれのスロットへ進むので、接続にそった次の
スロットは、スロットs=2で予約され、次いでスロットs=3で予約されなければならない。
タイム・スロット割り当てユニットSAにより実行されるスロット割り当て決定に対する入力は、相互接続を有するネットワーク・コンポーネントに似たネットワーク・トポロジ、スロット・テーブル・サイズ、および接続集合である。すべての接続について、その経路とその帯域幅、待ち時間、ジッタ、および/またはスロット要件が与えられる。接続は、少なくとも2つのチャネルまたは接続経路(マスターからスレーブへの要求チャネルと、スレーブからマスターへの応答チャネル)からなる。連結するこれらのチャネルはそれぞれ、個別の経路上で設定され、異なる帯域幅、待ち時間、ジッタ、および/またはスロット要件を有する異なるリンクを備えることができる。時間関係の保証を与えるため、リンクに対しスロットが予約されなければならない。異なるスロットは、TDMAを使って異なる接続に対し予約されうる。次いで、接続に関するデータが連続するスロットにおける接続に従って連続するリンク上で転送される。
図3は、第1の実施形態によるスロット・テーブルの基本表現を示している。ここで、スロット・テーブル・ユニットSTUは、スロット割り当てユニットSA内に配列されることができ、入れ子になった、または交互に配置された2つのスロット・テーブルT1、T2を備える。2つのスロット・テーブルT1、T2は、それぞれ4つのスロットを備える。iは、i=0,1,2,3として第1のスロット・テーブルT1内のもI THスロットT1(i)を示す。iは、第2のスロット・テーブルT2内のスロットを示す。
スロット・テーブルT1、T2内のスロットは、いずれも、終端スロットまたは入れ子になった他のスロット・テーブルに関係する。第1のスロット・テーブルT1のスロット(最高レベルにある)は、循環的に横断される、つまり、第1のスロット・テーブルT1内のスロットのそれぞれは、同じ長さの時間としたがって帯域幅に関連付けられる。スロットが終端スロットに対応する場合、対応するチャネル(またはチャネルを指すチャネル・エントリ)(スロットに関連付けられる)は、ネットワークにアクセスすることができる。しかし、現在のスロットがスロット・テーブル(ここでは、第2のスロット・テーブルT2)に関連付けられている場合、第2のスロット・テーブルT2のスロットは、第1のスロット・テーブルT1(上で入れ子構造に入っている)が1サイクル完了する毎に循環的に横断される。したがって、入れ子の深さがnであるスロット・テーブル内のスロットは、入れ子の深さn−1で単一スロットの帯域幅を分割する。
第1のスロット・テーブルT1は、スロットのそれぞれが利用可能な全リンク帯域幅の1/4を占める、4つのスロットを含む。終端スロットT1(1)、T2(2)、およびT1(3)(それら自体に関係する)は、チャネルa、b、およびcに割り当てられるまたは関連付けられる、つまり、これらのチャネルのそれぞれが、利用可能な全リンク帯域幅の1/4を有する。スロットT1(0)は、第2のスロット・テーブルT2に関連付けられる、つまり、スロット・テーブルは、第2のスロット・テーブルT2に対し入れ子にされる。したがって、スロット・テーブルT2全体は利用可能なリンク帯域幅の1/4を有し、したがって、i=0,1,2,3に対するスロットT2(i)のそれぞれが、利用可能な第2のスロット・テーブルT2全体の帯域幅の1/4を有する。そのためチャネルd、f、およびgはそれぞれ、利用可能なリンク帯域幅の1/16を有する。
時間の関数としてのリンク帯域幅の割り当ては、チャネルに割り当てられた以降の可能なシーケンスにより示される。
時間: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 …
チャネル: d a b c e a b c f a b c g a b c …
第2のスロット・テーブルT2は、第1のエントリT1(0)および第2のテーブルT2(チャネルdが選択される)の第1のエントリT2(0)について参照される。次に、チャネルa、b、およびcが順次選択される。第1のスロット・テーブルT1の第2のサイクルにおいて次回、第2のスロット・テーブルT2は、再び第1のテーブルT1の第1のエントリ(T1(0))から参照される。次いで、アービターは、第2のエントリT2(1)、つまり、第2のテーブルT2のチャネルeを選択する。
したがって、スロット・テーブル・ユニットSTU(入れ子になったテーブルにより構成される)は、単一のスロット・テーブルと同じ動作をする。したがって、スロット割り当ては、入れ子になったスロット・テーブルなしのスロット・テーブル・ユニットの場合と同様に実行されることができ、その際に、スロットの位置に関する付加的制約条件のみが存在する。例えば、スロットが帯域幅の1/16を割り当てられるべきである場合、スロット0、4、8、または12は、上述のように折り畳まれたスロット・テーブル内に必要である。さらに、リンク帯域幅の1/4を持つスロットが必要な場合、スロットは、スロット・テーブル内に周期的に(周期4で)割り当てられる必要がある。
それに加えて、または代替えとして、同じ低いレベルのスロット・テーブルへの複数のスロット点が可能である。これらのスロットは、同じテーブル内に、または同じレベルにすらある必要はない。
図4は、第2の実施形態によるスロット・テーブル・ユニットの表現を示す。スロット・テーブル・ユニットSTUは、入れ子方式で相互接続されている、5つのスロット・テーブルT0、T1、T2、T3、およびT4を備える。言い換えると、入れ子構造は、スロット・テーブル毎に物理メモリとともに固定される。メモリMは、アドレスaddrによりアドレス指定され、チャネルはM(addr)により示される。メモリのサイズは、「size」で表される。スロット・テーブルのそれぞれは、そのテーブルが親スロット・テーブルから入れ子にされたアドレスを示すポインタ「parent to−addr」を含む。
図4の左側に、5つのスロット・テーブルT0〜T4の論理表現が論理的入れ子構造とともに示されている。図4の右側に、入れ子構造を実装するスロット・テーブル・ユニットSTUのアーキテクチャが示されている。スロット・テーブルのそれぞれは、2つの入力、つまり、active_inとaddr_in、さらに3つの出力、つまりactive_out、addr_out、およびchannel_idを含む。Active_in/active_outは、入れ子構造を示すが、addr_in/addr_outは、スロット・テーブル内のアドレスに対応する。出力channel_idは、それぞれのチャネルのIDに対応する。第1のスロット・テーブルT0内のスロットT0(0)は第2のスロット・テーブルT1に関連付けられる。第1のスロット・テーブルT1のスロットT0(1)は第3のスロット・テーブルT2に関連付けられる。スロットT2(0)は第4のスロット・テーブルT3に関連付けられる。スロットT2(2)は、第5のスロット・テーブルT4に関連付けられる。
テーブルは、その親スロット・テーブルがアクティブである場合に、また親スロット・テーブルが入れ子になったスロット・テーブルを指しているときに、アクティブになる。出力channel_ID=0は、スロット・テーブル内のスロットがさらなる入れ子になっているスロット・テーブルに関連付けられることを示すことができる。好ましくは、ルート・テーブルからリーブ・テーブルまでの、ただし必ずしもリーブ・テーブルまで達するわけではないアクティブ・スロット・テーブルの単一の経路が存在する。経路内の最後のスロット・テーブルを除くアクティブ・スロット・テーブルは、ゼロの出力channel_IDを含む。したがって、出力channel_IDがゼロに等しくない1つのアクティブ・スロット・テーブルは、常に存在する。
第2の実施形態によりスロット・テーブル・ユニットを実装する擬似コードが以降に示
されている。
SlotTable(parent_addr):
IN active_in
IN addr_in
OUT active_out
OUT addr_out
OUT channel_id

addr_out=0;
foreach(slot_tick)
active_out <=active_in(addr_in = parent_addr);
channel_id <=M(addr)* active_out;
addr_out = addr_out + active_out(mod size);
スロット・テーブル・ユニットへの入力は、addr_inにおけるactive_inであり、出力はactive_out、addr_out、およびchannel_idである。さらに、addr_outは、ゼロに設定される。Active_outがactive_in以下であり、addr_inがparent_addrに対応し、channel_idがM(addr)* active_out以下である場合、addr_outは、mod sizeのaddr_out+active_outに対応する。
メモリ・サイズが小さい、小さなプログラミング粒度が要求される場合、それぞれのスット・テーブルに対する専用のランダム・アクセス・メモリの使用は、最適解とならな第2の実施形態に基づいていてもよい第3の実施形態によれば、スロット・テーブル・ニットは、循環シフト・メモリを使用して実装される。したがって、シフト・メモリの容は、1つの場所についてシフトされる。シフト・メモリからシフトアウトされるデーは、メモリの他端にシフトインされる。このようなシフト・メモリを使用することで、ンダム・アクセス・メモリに必要なアドレス指定論理回路が回避されうる。したがって、第3の実施形態によるスロット・テーブル・ユニットのアーキテクチャは、第2の実施態によるスロット・テーブル・ユニットのアーキテクチャに対応する。第3の実施形態よるスロット・テーブル・ユニットは、以降の疑似コードにより実装されうる。
SlotTable(parent_addr):
IN active_in
IN addr_in
OUT active_out
OUT addr_out
OUT channel_id

addr_out=0
foreach(slot_tick)
active_out <= active_in and(addr_in = parent_addr);
channel_id <= M(0)+ active_out;
M <= shift (M)
addr_out = addr_out + active_out(mod size);
出力addr_outは、まだ存在しているけれどもメモリのアドレス指定には使用されず、比較のためスロット・テーブル内で使用される。シフト・メモリ内のデータをシフトする代わりに、これは、増分アドレス指定専用のメモリによっても実装されうる。
第2または第3の実施形態に基づいていてもよい第4の実施形態によれば、メモリは、加ビットを使用して実装されうる。このような付加的または追加のビットは、スロット・テーブル内のスロットがリーブもしくは終端スロットまたは他のスロット・テーブルヘのポインタであるかどうかを示すことができる。このようなスロット・テーブル内の他のビットは、付加的ビットの値に応じてchannel_IDまたはスロット・テーブルIDに対応しうる。次いで、スロット・テーブルIDは、比較すべき子テーブルまたは入れ子になったテーブルにおいて使用されることができる。したがって、このような方式は、同じ子テーブルを参照する複数のスロットを許容する。
図5は、第5の実施形態によるスロット・テーブル・ユニットの表現を示す。第5の実施形態は、第2の実施形態に基づいているが、その一方で単一のランダム・アクセス・メモリのみが使用される。接続IDを含むスロット・テーブル毎の異なる物理メモリは、スロット・テーブル内の現在のスロットが入れ子になっているか(0)または入れ子になっていないか(1)を表すベクトルV指標によりスロット・テーブル内において置き換えられる。状態、つまりブロック内部のベクトルVのローカル・アドレスは、図4の第2の実施形態における状態に対応する。単一メモリは、スロット・テーブルT0〜T4をメモリ内で積み上げることにより達成される。これは、図6の左側に示されている。スロット・テーブルT0〜T4内のそれぞれのエントリは、0から17までのアドレスaddrに対応する。値cumulative_table_sizeは、現在のテーブルの前の単一メモリ内に埋め込まれているスロット・テーブルのサイズの合計に対応する。スロット・テーブルT0〜T4に対するその値は、それぞれ0、4、8、11、および14に対応する。「the_address」の値が1である唯一のスロット・テーブルは、ローカル出力アドレスaddr_outが1である第3のスロット・テーブルである。したがって、アドレスaddrは9に等しい。このアドレスは、7の接続IDに対応する。
スロット・テーブル・ユニットは、以下の疑似コードにより実装されうる。
AddressUnit(parent_addr):
IN active_in
IN addr_in
OUT active_out
OUT addr_out
OUT the_address

Addr_out=0;
foreach(slot_tick)
active_out <= active_in and(addr_in = parent_addr);the_address <= (cumulative_table_size+addr_out)* (v(addr_out) and active_out);
addr_out = addr_out + active_out(mod size);
「or」演算の出力アドレスaddr_outは、単一メモリに対するアドレスに対応する。
第2から第5までの実施形態によるスロット・テーブル・ユニットは、高速な転送速度でも新しい接続IDが容易に計算可能なようにアドレスの高速計算を可能にするので有利である固定構造に基づく。
本発明の第6の実施形態によれば、スロット・テーブル・ユニットは、スロット・テーブルの入れ子のプログラム可能な構造に基づく。例えば、メモリが16個の場所を有する場合、そのようなメモリは、8つのスロットからなるテーブル2つ、4つのスロットからなるテーブル4つなどに分割されるとよい。スロット・テーブル・ユニットの構造がプログラムされるべきである場合、単一メモリをアドレス指定する順序でアドレスの計算を行なうことは、現在ではさらに困難である。
cumulative_cable_sizeの値は、ハードワイヤまたはハードコードされており、これらのユニット間の相互接続は、固定される。第1の再インデックス付けは、テーブル1を指し、第2の再インデックス付けは、テーブル2を指し、というようになる。好ましくは、テーブルへの柔軟なポインタはない。ポインタは、ハードワイヤされる。
通常、必要なアドレスの計算は1クロック・サイクル以内に実行されなくてもよいが、複数クロック・サイクルにわたりうるスロットの持続時間以内に実行されなければならない。
スロット・テーブル・ユニットの上述の原理は、特にネットワーク・オン・チップ・インフラストラクチャを有するシステム・オン・チップに適用されることが可能である。さまざまな帯域幅要件を有し、低コストで実装される必要のあるシステム・オン・チップは上記の実施形態によりスロット・テーブル・ユニットを大いに活用することができる。このようなシステムの一例は、モバイル・デバイス内のオーディオ/ビデオ処理である。
上記の実施形態では、ネットワーク・オン・チップは、相互接続として説明されているが、本発明の原理は、バスまたはスイッチのような他の相互接続にも適用されうる。さらに、上記の実施形態では、通信は、時分割多元接続(TDMA)に基づいて説明されているが、転送速度に基づく通信またはそれぞれの通信もしくは接続に利用可能な帯域幅を分割する可能な他の通信など、他の通信も可能である。
本発明は、入れ子になったスロット・テーブルの実現に関係する。入れ子になったスロット・テーブルでは、テーブル・エントリは、スロットであるか、または次のもしくは続くスロット・テーブルを参照してもよい。入れ子になったテーブルのうちの1つの中の割り当てられたエントリの帯域幅は、そのようなエントリの入れ子深さに依存する。したがって、必要な中くらいの数のスロットのみで細かい粒度が得られようにすることができ、これにより、帯域幅は、同じスロット・テーブル・コストに関して節約されうるか、またはスロット・テーブル・コストは、同じ大きさの割り当てられた帯域幅について低減されうる。
上述の実施形態は、本発明を制限するのではなく例示しているのであり、当業者であれば、付属の請求項の範囲から逸脱することなく多くの代替え実施形態を設計することができることに留意するべきである。請求項ではかっこ内に入っている参照記号は、請求項を制限するものとして解釈すべきではない。「含む、備える」という言葉を使用しても、請求項内に示されている要素またはステップ以外の要素またはステップの存在を除外しない。原文で、要素の前に「a(1つ、ある)」という単語があっても、複数のそのような要素の存在を除外しない。複数の手段を列挙しているデバイス請求項において、これらの手段のうちのいくつかは、同一のハードウェア品により具現化されうる。いくつかの尺度が相互に異なる従属請求項において参照されている単なる事実は、これらの尺度の組み合わせが有利に使用されえないことを示さない。
さらに、請求項内の参照記号は、請求項を制限するものとして解釈すべきではない。
本発明によるネットワーク・オン・チップの基本構造のブロック図を示す図である。 図1によるネットワーク内の接続のための基本スロット割り当てのブロック図を示す図である。 第1の実施形態によるスロット・テーブルの基本表現を示す図である。 第2の実施形態によるスロット・テーブル・ユニットの表現を示す図である。 第3の実施形態によるスロット・テーブル・ユニットの表現を示す図である。 従来技術によるネットワーク・オン・チップの一部のブロック図である。

Claims (9)

  1. 電子デバイスであって、
    複数の処理モジュールを結合して前記処理モジュール間で通信を行なえるようにするための相互接続手段と、
    前記相互接続手段を前記複数の処理モジュールのうちの1つに結合するための複数のネットワーク・インターフェイスと、
    タイム・スロットを前記相互接続手段のチャネルに割り当てるための少なくとも1つのタイム・スロット割り当てユニットであって、複数のスロット・テーブルを備え、それぞれのテーブルは複数のエントリを含み、それぞれのエントリは前記相互接続手段の利用可能な帯域幅の一部に対応する、少なくとも1つのタイム・スロット割り当てユニットと、を備え、
    前記複数のスロット・テーブルのうちの第1のスロット・テーブルは、前記複数のスロット・テーブルのうちの第2のスロット・テーブルに関係する前記複数のエントリのうちの少なくとも1つの第1のエントリを含む電子デバイス。
  2. 前記第1のスロット・テーブルの前記複数のエントリのうちの前記第1のエントリは、前記第2のスロット・テーブル内のすべてのエントリが前記第1のエントリに関連付けられている帯域幅の前記一部分において割り当てられるように前記第2のスロット・テーブルに関係する請求項1に記載の電子デバイス。
  3. 前記タイム・スロット割り当てユニットの少なくとも1つは、前記複数のネットワーク・インターフェイスのうちの少なくとも1つの中に配列される請求項1または2に記載の電子デバイス。
  4. 前記相互接続手段は、複数のルータを備え、前記複数のタイム・スロット割り当てユニットのうちの少なくとも1つは、前記複数のルータのうちの少なくとも1つの中に配列される請求項1に記載の電子デバイス。
  5. 前記複数のスロット・テーブルは、循環シフト・メモリとして実装される請求項2に記載の電子デバイス。
  6. 前記複数のスロット・テーブルのうちの少なくとも1つは、前記スロット・テーブル内のエントリが第2のスロット・テーブルに関係する第1のエントリまたは終端タイム・スロットである第2のエントリに対応するかどうかを示す追加のビットを含む請求項2に記載の電子デバイス。
  7. 前記スロット・テーブルは、前記スロット・テーブルを互いに積み上げることによりメモリ内に配列される請求項1または2に記載の電子デバイス。
  8. 処理モジュール間の通信を可能にするために相互接続手段に結合された複数のネットワーク・インターフェイスを備える電子デバイス内で通信リソースを割り当てる方法であって、
    複数のスロット・テーブルを使用して前記相互接続手段のチャネルにタイム・スロット割り当てることを含み、それぞれのスロット・テーブルは複数のエントリを含み、それぞれのエントリは前記相互接続手段の利用可能な帯域幅の一部分に対応し、前記複数のスロット・テーブルのうちの1つの前記複数のエントリのうちの1つは、前記複数のスロット・テーブルのうちの第2のスロット・テーブルに関係する方法。
  9. データ処理システムであって、
    複数の処理モジュールと、
    請求項1から7のいずれかに記載の電子デバイスと、を備えるデータ処理システム。
JP2008512975A 2005-05-26 2006-05-11 通信リソース割り当て電子デバイスおよび方法 Expired - Fee Related JP4756158B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP05104512 2005-05-26
EP05104512.8 2005-05-26
PCT/IB2006/051487 WO2006126127A2 (en) 2005-05-26 2006-05-11 Electronic device and method of communication resource allocation

Publications (2)

Publication Number Publication Date
JP2008543151A JP2008543151A (ja) 2008-11-27
JP4756158B2 true JP4756158B2 (ja) 2011-08-24

Family

ID=37258890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008512975A Expired - Fee Related JP4756158B2 (ja) 2005-05-26 2006-05-11 通信リソース割り当て電子デバイスおよび方法

Country Status (6)

Country Link
US (1) US7809024B2 (ja)
EP (1) EP1889412B1 (ja)
JP (1) JP4756158B2 (ja)
CN (1) CN101180841B (ja)
AT (1) ATE528889T1 (ja)
WO (1) WO2006126127A2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021156B2 (en) * 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor
US8930602B2 (en) 2011-08-31 2015-01-06 Intel Corporation Providing adaptive bandwidth allocation for a fixed priority arbiter
US8929373B2 (en) 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
US8713240B2 (en) 2011-09-29 2014-04-29 Intel Corporation Providing multiple decode options for a system-on-chip (SoC) fabric
US8775700B2 (en) 2011-09-29 2014-07-08 Intel Corporation Issuing requests to a fabric
US8713234B2 (en) 2011-09-29 2014-04-29 Intel Corporation Supporting multiple channels of a single interface
US8711875B2 (en) 2011-09-29 2014-04-29 Intel Corporation Aggregating completion messages in a sideband interface
US8874976B2 (en) 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
US8805926B2 (en) * 2011-09-29 2014-08-12 Intel Corporation Common idle state, active state and credit management for an interface
US9053251B2 (en) 2011-11-29 2015-06-09 Intel Corporation Providing a sideband message interface for system on a chip (SoC)
US9571402B2 (en) * 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
CN107566074B (zh) * 2016-06-30 2019-06-11 华为技术有限公司 光传送网中传送客户信号的方法及传送设备
US10666578B2 (en) * 2016-09-06 2020-05-26 Taiwan Semiconductor Manufacturing Company Limited Network-on-chip system and a method of generating the same
US10911261B2 (en) 2016-12-19 2021-02-02 Intel Corporation Method, apparatus and system for hierarchical network on chip routing
US10846126B2 (en) 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
US11264361B2 (en) 2019-06-05 2022-03-01 Invensas Corporation Network on layer enabled architectures

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005099187A1 (en) * 2004-04-05 2005-10-20 Koninklijke Philips Electronics N.V. Integrated circuit and method for time slot allocation
EP1605727A1 (en) * 2004-06-09 2005-12-14 Koninklijke Philips Electronics N.V. Integrated circuit and method for time slot allocation
WO2006051471A1 (en) * 2004-11-09 2006-05-18 Koninklijke Philips Electronics N.V. Electronic device and method of communication resource allocation
WO2006106475A1 (en) * 2005-04-06 2006-10-12 Koninklijke Philips Electronics N. V. Network-on-chip environment and method for reduction of latency
JP2007500985A (ja) * 2003-05-14 2007-01-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 時分割多重化回路切り換えルータ

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875309A (en) * 1997-04-18 1999-02-23 3Com Corporation Arbitration system using linked table
JP3970467B2 (ja) * 1999-03-18 2007-09-05 富士通株式会社 無線通信システム
US6665495B1 (en) * 2000-10-27 2003-12-16 Yotta Networks, Inc. Non-blocking, scalable optical router architecture and method for routing optical traffic
WO2006085353A1 (ja) * 2005-02-08 2006-08-17 Fujitsu Limited セルラー無線通信システムにおけるスロット割り当て方法及び同システムに用いられる基地局

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007500985A (ja) * 2003-05-14 2007-01-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 時分割多重化回路切り換えルータ
WO2005099187A1 (en) * 2004-04-05 2005-10-20 Koninklijke Philips Electronics N.V. Integrated circuit and method for time slot allocation
JP2007532075A (ja) * 2004-04-05 2007-11-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路及びタイムスロット割当て方法
EP1605727A1 (en) * 2004-06-09 2005-12-14 Koninklijke Philips Electronics N.V. Integrated circuit and method for time slot allocation
JP2008502263A (ja) * 2004-06-09 2008-01-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路及びタイムスロット割当て方法
WO2006051471A1 (en) * 2004-11-09 2006-05-18 Koninklijke Philips Electronics N.V. Electronic device and method of communication resource allocation
JP2008520119A (ja) * 2004-11-09 2008-06-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子デバイスおよび通信資源割り当て方法
WO2006106475A1 (en) * 2005-04-06 2006-10-12 Koninklijke Philips Electronics N. V. Network-on-chip environment and method for reduction of latency
JP2008535435A (ja) * 2005-04-06 2008-08-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ネットワーク・オン・チップ環境及び遅延低減方法

Also Published As

Publication number Publication date
JP2008543151A (ja) 2008-11-27
EP1889412A2 (en) 2008-02-20
US20080310458A1 (en) 2008-12-18
CN101180841B (zh) 2011-11-30
CN101180841A (zh) 2008-05-14
WO2006126127A2 (en) 2006-11-30
WO2006126127A3 (en) 2007-03-29
ATE528889T1 (de) 2011-10-15
EP1889412B1 (en) 2011-10-12
US7809024B2 (en) 2010-10-05

Similar Documents

Publication Publication Date Title
JP4756158B2 (ja) 通信リソース割り当て電子デバイスおよび方法
EP1735966B1 (en) Integrated circuit and method for time slot allocation
US20080232387A1 (en) Electronic Device and Method of Communication Resource Allocation
EP1759559B1 (en) Data processing system and method for time slot allocation
JP4808513B2 (ja) システムオンチップの大域的非同期通信アーキテクチャ
JP2008535435A (ja) ネットワーク・オン・チップ環境及び遅延低減方法
WO2004034676A1 (en) Integrated circuit and method for establishing transactions
JP2008536391A (ja) 待ち時間の削減のためのネットワークオンチップ環境及び方法
US20080123666A1 (en) Electronic Device And Method Of Communication Resource Allocation
CN101069434B (zh) 用于转换及同步数据通信量的数据处理系统和方法
Tong et al. Exploration of slot allocation for On-Chip TDM virtual circuits
Chi et al. Efficient switches for network-on-chip based embedded systems

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100819

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110325

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110414

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees