JP2004031898A - デカルト座標を使用する、コアの間の通信のためのハブ/ルータ - Google Patents
デカルト座標を使用する、コアの間の通信のためのハブ/ルータ Download PDFInfo
- Publication number
- JP2004031898A JP2004031898A JP2003027536A JP2003027536A JP2004031898A JP 2004031898 A JP2004031898 A JP 2004031898A JP 2003027536 A JP2003027536 A JP 2003027536A JP 2003027536 A JP2003027536 A JP 2003027536A JP 2004031898 A JP2004031898 A JP 2004031898A
- Authority
- JP
- Japan
- Prior art keywords
- hub
- local
- global
- data
- hubs
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7832—Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【解決手段】複数の論理コア122、前記論理コアに接続された複数のローカル・ハブ124、および前記ローカル・ハブに接続された複数のグローバル・ハブ120が含まれる。ローカル・ハブおよびグローバル・ハブは、論理コアの間でデータを転送する。本発明の目的は、ローカル・ルータ124およびグローバル・ルータ120を使用して、集積回路チップ内の論理モジュールの間で効率的なデータ転送を提供することである。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、全般的には、集積回路内の論理コアの間の通信に関し、具体的には、ローカル・ルータおよびグローバル・ルータを使用して集積回路内のワイヤの数をかなり減らす改良されたシステムおよび方法に関する。
【0002】
【従来の技術】
コンピュータ・システムには、伝統的に、コンピュータ・システムを構成する電気構成要素を含むシステム・ユニットまたはハウジングが含まれる。コンピュータ・システムには、通常は、マイクロプロセッサおよびメモリを保持するように構成されたマザーボードと、構成要素が通信できるようにする1つまたは複数のバスが含まれる。マザーボードには、通常は、知的周辺装置、バス・コントローラ、プロセッサ、バス・ブリッジなどを含む複数のコンピュータ・チップまたは電気構成要素が含まれる。
【0003】
最近、コンピュータ・システムは、少数のコンピュータ・チップへの機能の集積と、1チップ上にシステム全体(論理、ストレージなど)を有するデバイス(system−on−a−chip(SOC))に向かって進歩しつつある。これは、ますます多数になる論理ブロックを単一のチップに配置する、チップ・メーカーの能力と一致する。したがって、コンピュータ・システムは、各コンピュータ・チップが多数の機能を実行する、少数のコンピュータ・チップだけを有するデバイスに向かって進歩しつつある。単一のコンピュータ・チップへの複数のモジュールまたは機能の集積は、チップ・アーキテクチャ内に改良されたデータ転送を有するシステムを必要とする。チップ上の構成要素のより短い距離およびより緊密な集積に起因して、新しいデータ転送アーキテクチャが、この環境を利用するために必要である。
【0004】
さらに、数百個のコアを有する大規模特定用途向け集積回路(ASIC)では、相対的なコア位置の距離ならびに配線輻輳(wiring congestion)に起因して、コア間で効率的に通信することが困難である。単一のASCI内に配置されるコアが増えるほど、配線の問題が大きくなり、したがって、通信の問題が大きくなる。したがって、集積回路チップ内の論理モジュールの間での効率的なデータ転送を提供する改良されたシステムおよび方法が必要である。
【0005】
【発明が解決しようとする課題】
従来の配線方式の前述および他の問題、不利益、および短所に鑑みて、本発明が考案され、本発明の目的は、ローカル・ルータおよびグローバル・ルータを使用する改良されたシステムおよび方法の構造および方法を提供することである。
【0006】
【課題を解決するための手段】
上で提案された目的を達成するために、本発明の1態様によれば、複数の論理コア、論理コアに接続された複数のローカル・ハブ、およびローカル・バスに接続された複数のグローバル・ハブを含む集積回路が提供される。ローカル・ハブおよびグローバル・ハブは、論理コアの間でデータを転送する。
【0007】
本発明は、ローカル・ハブを論理コアに接続する第1データ・パスと、ローカル・ハブをグローバル・ハブに接続し、グローバル・ハブを互いに接続する第2データ・パスを含む。ローカル・ハブおよびグローバル・ハブは、データ伝送を所与のクロック・サイクル内に完了できない時にデータを保管するバッファを含む。ローカル・ハブおよびグローバル・ハブの少なくとも1つが、宛先ハブへの最短パスを選択する制御ユニットを含む。また、ローカル・ハブおよびグローバル・ハブの少なくとも1つが、最短パスがブロックされる場合に代替パスを選択する論理を含む。ローカル・ハブのそれぞれが、複数の論理コアに接続され、グローバル・ハブのそれぞれが、複数のローカル・ハブに接続される。回路内のハブの濃度は、非対称である。高データ・トラフィック量の区域に、低データ・トラフィック量の区域より多くのハブが配置される。
【0008】
本発明は、複数の論理コアを有する集積回路も含む。本発明は、論理コアに接続された複数のローカル・ハブと、ローカル・ハブに接続された複数のグローバル・ハブを含む。第1データ・パスが、ローカル・ハブを論理コアに接続し、第2データ・パスが、ローカル・ハブをグローバル・ハブに接続し、グローバル・ハブを互いに接続する。ローカル・ハブおよびグローバル・ハブは、論理コアの間でデータを転送する。ローカル・データ・パスおよびグローバル・データ・パスは、互いに独立である。
【0009】
また、本発明は、集積回路内の論理コアの間でデータを転送する。本発明は、送出論理コアから第1ローカル・ハブへデータを転送する。次に、本発明は、第1ローカル・ハブから第1グローバル・ハブへデータを転送する。本発明は、第1グローバル・ハブから第2グローバル・ハブへデータを転送する。本発明は、その後、第2グローバル・ハブから第2ローカル・ハブへデータを転送し、第2ローカル・ハブから宛先論理コアへデータを転送する。データは、宛先アドレスを使用して宛先論理コアを識別する。第1ローカル・ハブ、第1グローバル・ハブ、第2グローバル・ハブ、および第2ローカル・ハブのそれぞれが、宛先アドレスに基づいてデータを転送する。データは、ローカル・データ・パスを介して、第1ローカル・ハブおよび第2ローカル・ハブとの間で転送される。データは、グローバル・データ・パスを介して、第1グローバル・ハブと第2グローバル・ハブとの間で転送される。転送する処理のそれぞれが、宛先論理コアへの最短距離を有する主データ・パスを選択する。最短距離は、デカルト座標系に従って計算される。本発明は、主データ・パスが使用中の時に最短代替データ・パスを選択する。最短代替データ・パスは、宛先論理コアへの次に短い距離である。
【0010】
また、本発明は、集積回路内の論理コアの間の通信パススウェイを設計する。本発明は、まず、複数のローカル・ハブを論理コアに接続する。本発明は、その後、複数のグローバル・ハブをローカル・ハブに接続する。また、本発明は、ローカル・ハブおよびグローバル・ハブのパターンが集積回路にわたって非対称になるように、集積回路のトラフィック要件に従ってローカル・ハブおよびグローバル・ハブを位置決めする。
【0011】
本発明は、集積回路上のローカル・ハブおよびグローバル・ハブの初期配置を実行する。その後、本発明は、トラフィック要件に従ってローカル・ハブおよびグローバル・ハブを追加し、除去する。本発明は、ローカル・ハブを互いに接続し、ローカル・ハブを論理コアに接続し、ローカル・ハブをグローバル・ハブに接続するために、ローカル・データ・パスを形成する。本発明は、グローバル・ハブを互いに接続し、グローバル・ハブをローカル・ハブに接続するために、グローバル・データ・パスを形成する。
【0012】
ローカル・データ・パスの形成が、ローカル・ハブのそれぞれをすべての他のローカル・ハブに接続する。グローバル・データ・パスの形成が、グローバル・ハブのそれぞれをすべての他のグローバル・ハブに接続する。代替案では、ローカル・データ・パスの形成が、ローカル・ハブのそれぞれを他のすべてより少ないローカル・ハブに接続する。同様に、グローバル・データ・パスの形成が、グローバル・ハブのそれぞれを他のすべてより少ないグローバル・ハブに接続する。複数の論理コアが、ローカル・ハブのそれぞれに接続され、複数のローカル・ハブが、グローバル・ハブのそれぞれに接続される。
【0013】
本発明は、信号が通信パスに沿ったすべての点の宛先に到達するのに要する時間の量を計算する能力を有し、受取り側データ・コアが、現在のクロック・サイクルにデータを受け取るか否かを受取り側データ・コアに知らせる能力も有する。本発明は、SoC内の効率的な通信に必要なワイヤの数を大幅に減らし、これによって、ワイヤの配置およびルーティングを助け、製造コストを節約する。本発明は、通信の効率も高め、これによって、待ち時間およびバス・アービトレーション・サイクルを減らす。
【0014】
前述および他の目的、態様、および長所は、図面に関する本発明の好ましい実施形態の以下の詳細な説明からよりよく理解される。
【0015】
【発明の実施の形態】
上で述べたように、大規模ASICでは、コア位置の間の距離および配線輻輳に起因して、コアの間で効率的に通信することが困難である。単一のASIC内に配置されるコアの数が増えるほど、配線の問題および通信の問題が大きくなる。ローカル・ハブ/ルータおよびグローバル・ハブ/ルータによって制御されるスーパー・ハイウェイ(グローバル・データ・パス)およびローカル・ハイウェイ(ローカル・データ・パス)を使用して配線輻輳を除去することによって、本発明は、通信の問題および配線輻輳を効果的に軽減する。さらに、最大の輻輳の区域および必要な通信需要の区域により多くのローカル・ハブおよびグローバル・ハブを(かつ、低い需要の区域により少ないハブを)配置することによって、本発明は、チップ・レベルでの非常に効率的な通信環境をもたらす。
【0016】
具体的に言うと、図1からわかるように、本発明は、論理コア122を接続するグローバル・ハブ120およびローカル・ハブ124を提供する。本発明を用いると、各論理コア122が、ローカル・ハブ124に直接に接続される。ローカル・ハブ124は、格子様パターンで互いにならびにグローバル・ハブ120に接続される。グローバル・ハブ120に直接に接続されるローカル・ハブ124があり、各グローバル・ハブ120は、他のすべてのグローバル・ハブに接続される。この構造によって、多数の論理コア122が、ローカル・ハブ124に効率的に接続され、多数のローカル・ハブ124が、グローバル・ハブ120に効率的に接続され、このグローバル・ハブ120が、多数の他のグローバル・ハブ120に接続される。
【0017】
図1に、最も密に設けられた可能なコア、ローカル・ハブ、およびグローバル・ハブのレイアウトを示す。たとえば、図1は、非常に拡大されたASICの左上角を表すことができる。ハブ・ポイントは、実際の回路設計の数万倍である。本発明と共に使用することができるチップのサイズに対する実際の制限はなく、XY座標を、所望のサイズまで単純に拡大することができる。すべての単一のサイクルについて、従来の構造では、現在の設計のワイヤの大多数が、インアクティブであり、低い有効利用率(UF)を生じる。従来の配線相互接続方法を用いると、多数のグローバル・ワイヤが存在するのと同時に、UFが低い。低いUFは、ルーティング処理中に課せられるワイヤ制約に基づく劣悪な設計の特性である。対照的に、本発明は、最高の通信密度要件に従ってハブを対称に位置決めすることによって、UFを高める。したがって、より多くのハブが、高ファンアウト区域に配置され、より少ないハブが、低使用区域に配置される。たとえば、図2に、図1に示されたものより疎に設けられた回路設計を示すが、図2では、グローバル・ハブ120およびローカル・ハブ124が、通信密度要件に応じて、一緒にクラスタ化される。言い換えると、図2に示された概略図の左上角と左下角が、回路の他の区域と比較した時に通信システムにより多くを要求すると予測される論理回路を有する。
【0018】
増加した通信需要がどれほどかを判定する方法に関して、設計者は、システム・アーキテクチャを作成する時に、システム設計に基づいて、高トラフィック区域と低トラフィック区域がシステムのどこにあるかを既に知っており、したがって、最も効率的な位置にハブ/ルータを配置することができる。
【0019】
本発明を用いると、UF率を分析するために、配線ツールが、シミュレーション環境とリンクされる。単純なノード・トグル計算機をシミュレーション中に使用して、マクロ対マクロ通信の量および密度を判定することができる。
【0020】
可能な時には、本発明は、既存のバスを使用する。しかし、いくつかの場合(主アーキテクチャ・バスなど)に、UF率が高すぎ、ハブ配線が、既存のバスをバイパスする。このような状況では、ハブ・ワイヤが、専用の配線チャネルになる。しかし、本発明を用いて(ハブを使用して)達成されるグローバル配線の減少に起因して、高いUFワイヤへの能力がより簡単になる。
【0021】
したがって、本発明は、最終化された設計での他の要素の最終配置を考慮してハブを配置する。したがって、ハブをどこに配置するかに関する初期計画がある場合があるが、実際の配置は、領域内の実際の回路に基づく。たとえば、非常に大きいRAMアレイが最終設計のダイの角に配置される場合に、ハブ・ジェネレータは、この区域のグローバル・ハブを削除する。というのは、これらのグローバル・ハブが、ほとんどまたは全く目的にかなわないからである。言い換えると、本発明は、予備的に、ローカル・ハブおよびグローバル・ハブの間にチップにまたがって均一に間隔をおくことができる。この初期パターンは、回路設計が最終化される時に追加される構成要素に対処するためにハブを追加または削除することによって、非対称パターンに修正することができる。したがって、大部分の場合に、実際のハブ配置が、最大の許容可能なハブのサブセットになる。これによって、フロア・プラニングおよびチップ構築処理での柔軟性が可能になる。
【0022】
したがって、本発明を用いると、多数のローカル・ハブおよびグローバル・ハブが、通信需要の高い領域に配置される。さらに、図2に、ローカル・ハブ124をグローバル・ハブ120に接続するのに使用されるローカル・データ・パス200が示されている。図2では、ローカル・データ・パス200が、格子パターンで示されている。しかし、本発明は、そのような格子パターンに制限されず、ローカル・データ・パスは、設計者の配線制限に応じて、任意の構成とすることができる。
【0023】
図3に、ローカル・ハブ124またはローカル・データ・パス200を示さずに、同一の回路を示す。その代わりに、図3は、グローバル・ハブ120およびグローバル・データ・パス300の位置だけを示す概略図である。各グローバル・ハブ120を、他のすべてのグローバル・ハブ120に接続することができる。しかし、図3に示された実施形態で、さまざまなグローバル・ハブ120の間の接続は、データが、おそらくは宛先ローカル・ハブに達する前に複数のグローバル・ハブを介して流れることができるように制限される。さまざまなグローバル・ハブ120の間のグローバル・データ・パスのパターン、長さ、および量は、回路サイズおよび配線に使用可能なスペースに応じて変化する。グローバル・パスは、ローカル・ルータ・システムに接続され、したがって、ローカル・パスに結合される。しかし、コアが、その宛先アドレスおよびデータのパケットをグローバル・ルータに直接に送る(その宛先コアも同様に別のグローバル・ルータに直接に結合される)場合に、グローバル・パスが、ローカル・パスから独立になる。同様に、コアが、その宛先アドレスおよびデータをローカル・ハブ/ルータに送り、その宛先コアが、ローカル・パスだけがデータ転送に使用されるように近接している場合に、ローカル・パスは、グローバル・パスから独立である。
【0024】
本発明の重要な特徴は、グローバル・データ・パス300によって作成されるデータ「スーパー・ハイウェイ」である。具体的に言うと、従来のシステムでは、データが、宛先コアに到達するために、論理コアから論理コアへ直接に移動しなければならない。その代わりに、データを、集積回路にまたがって移動するためにローカル・ハブからローカル・ハブへ渡すことができる。しかし、そのようなシステムは、そのようなデータの転送にかなりの時間を要する。対照的に、本発明では、データをグローバル・ハブから別のグローバル・ハブに単純に渡す(設計によってそのようなグローバル・データ・パスが可能であると仮定する)ことによって、回路全体にまたがって直接にデータを移動することができる。代替案では、すべてのハブがすべての他のハブに接続されているのではない図3に示された構造を用いると、限られた数のグローバル・ハブだけが、データ転送にかかわる必要がある。
【0025】
したがって、本発明は、実質的により少ない間に入るデータ転送を使用してデータを渡すことができるので、論理コアから論理コアへ(またはローカル・ハブからローカル・ハブへ)データを渡す従来の構造より優れている。たとえば、論理コアから論理コアへデータを渡すことに、チップにまたがってデータを移動するために、数千回または数万回の個々のデータ転送が用いられる場合がある。対照的に、本発明を用いると、起点論理コアが、起点ローカル・ハブにデータを渡し、起点ローカル・ハブが、起点グローバル・ハブにデータを渡し、起点グローバル・ハブが、チップにまたがって宛先グローバル・ハブにデータを渡し(直接にまたは非常に少数(たとえば100個未満)の他のグローバル・ハブを介してのいずれかで)、宛先グローバル・ハブが、宛先ローカル・ハブにデータを渡し、宛先ローカル・ハブが、宛先論理コアにデータを渡す。したがって、従来のシステムは、数千回の個々のデータ転送を用いる場合があるが、本発明は、たとえば10回未満のデータ単転送(たとえば90から99%)の削減を使用して、同一の距離にまたがって同一の情報を渡すことができる。したがって、本発明は、従来のシステムよりはるかに高速に、はるかに信頼性のある形でデータを渡す。
【0026】
本発明は、集積回路ダイ上のワイヤ輻輳も減らす。具体的に言うと、ある論理コアから別の論理コアにデータを渡すことに関連する遅延を避けるために、チップにまたがってデータを移動する時に、各論理コアを、チップ上の他のすべての論理コアに接続することができる。しかし、そのような解決策では、本発明と比較した時に、チップ上の配線の量がかなり増加する。たとえば、64個のコアを互いに接続する場合に、第1コアから他のすべてのコアへの63本の両方向ワイヤが、必要になる。これは、次のコアから他のコアのすべてへの62本のワイヤを必要とし(第1コアからのワイヤは2回カウントしない)、以下同様である。式の形では、これが、(n−1)+(n−2)+…+(n−(n−2))+(n−(n−1))+(n−n)と表される。この式は、(n−1)(n/2)に簡約化される。したがって、64個のコアの場合に、各コアを他のすべてのコアに接続するために、1984本のワイヤが必要である。しかし、本発明の構造では、ローカル・ハブを使用して、各コアが、コアからローカル・ハブに必要な64本のワイヤ(ハブごとに8つのコアがある8つのローカル・ハブ=64)と、各ローカル・ハブを他のすべてのローカル・ハブに接続する28本のワイヤ((8−1))×(8/2))だけを使用して他のすべてのコアに接続され、従来のシステムの1984本のワイヤではなく、合計92本のワイヤが必要である。各ローカル・ハブをグローバル・ハブに接続するのに追加の8本のワイヤが必要であり、総計100本のワイヤになる。従来は、256個のコアが、32768本のワイヤを必要とする。本発明を用いると、256個のコアを、100本のワイヤの4つのグループ(400本のワイヤ)にセット・アップすることができる。4つのグローバル・ハブを接続するのに必要な追加の6本のワイヤによって、合計わずかに406本のワイヤがもたらされる。これは、本発明を従来の構造と比較した時に、98.77%の配線削減をもたらす。
【0027】
図4からわかるように、グローバル・ハブ120およびローカル・ハブ124のそれぞれに、ローカル・データ・パス200およびグローバル・データ・パス300を接続する1つまたは複数の入出力コネクタ400が含まれる。さらに、中央処理装置などの論理デバイス402およびバッファ404が、1つまたは複数のグローバル・ハブ120およびローカル・ハブ124内に設けられる。動作中は、グローバル・ハブ120およびローカル・ハブ124のそれぞれが、入出力コネクタ400を介して転送されるデータを受け取る。データには、たとえばヘッダ情報内など、宛先論理コアに関する情報が含まれる。論理デバイス402は、最短データ・パスを突き止め、そのパスに沿ってデータを転送する。
【0028】
最短(かつ最速)のデータ・パスを判定するために、本発明は、物理チップ上でデカルト座標系(たとえば、図1に示されたXY数字付き座標系)を使用して、各コアの物理的位置を判定する。論理デバイス402は、コア(11、6)からコア(1、15)など、相対的に離れたコアからの最適パスを、近い間隔のコア(13、8)から(12、9)などと同様に簡単に計算する。X方向とその後にY方向で2つのコアの間の距離を計算する単純なアルゴリズムを使用することによって、論理デバイス402は、最高速のパスを識別する。さらに、1つのパスが使用中の場合に、論理デバイス402は、代替パスを動的に識別する。
【0029】
各コアが、ローカル・ハブに接続されるので、各コアは、データのパケットと共に宛先アドレスをローカル・ハブに送る。ローカル・ハブは、デカルト格子上のそれ自体のアドレスならびに宛先アドレスを使用する計算を実行して、最適ルーティング方法を判定する。論理コアの間の距離が、行および列の所定の数(たとえば2)以下の場合に、ローカル・ハブ・ハイウェイを使用する。この例のように、距離が2行または2列を超える場合に、グローバル・ハイウェイをルーティングに使用する。適度な時間の間に使用可能なパスが見つからない(すなわち、パスのすべてが使用中)場合には、タイムアウト・エラーが発生し、起点コアに、パケットを送信できなかったことが通知される。送出コアは、エラーを受け取らない場合に、転送が成功であったと仮定することができる。
【0030】
判断処理の流れ図を、図5に示す。具体的に言うと、項目500で、宛先アドレスを含むデータのパケットを、ローカル・ハブ124で受け取る。その後、項目502で、座標系の1つの方向(N)でローカル・ハブのデカルト座標位置を宛先位置と比較して、2つの位置の間の差の絶対値が所定の限度を超える(|N1−N2|>m2)かどうかを判定する。この例では、所定の限度が2であるが、当業者に既知であるように、任意の限度を使用することができる。類似する形で、項目504で、垂直の座標(M)の絶対値を検査して、それが所定の限度を超える(|M1−M2|>m2)かどうかを調べる。
【0031】
どちらの座標値の差も所定の限度を越えない場合に、処理は、項目506に進み、データを、ローカル・ハブを介してルーティングする。どちらかの座標系が所定の限度を超える場合(項目502および504で判定される)には、項目508に示されているように、グローバル・ハブを使用する。本発明は、項目510および514で、ローカル・パスおよびグローバル・パスが使用中であるかどうかを検査し、パスが使用中でない限り、グローバル・データ・パスまたはローカル・データ・パスを介する要求の処理を継続する。
【0032】
項目512で、第1グローバル・データ・パスが使用中であり、パスが使用可能になるのを待つのに十分な時間(すなわち、クロック・サイクルの終りの前の十分な時間)がある場合には、処理は項目508に戻って、使用中のパスが使用可能になるのを待つ。待つことができない場合(項目512)には、処理は項目520に進んで、代替グローバル・ハブ/データ・パスを使用する。十分な時間は、宛先に移動するために残されている距離を計算し、それを残りのクロック・サイクル数と比較する、ハブ/ルータ内の制御論理によって判定される。データが宛先コアに到達するのに十分な時間がある場合には、ハブ/ルータは、トランザクションを進める。十分な時間がない(すなわち、宛先コアが遠すぎる)場合には、ハブ/ルータは、データをバッファリングし、次のクロック・サイクルの開始時にそのデータをもう一度起動する。そのような遅延されたデータ・パケットは、後続のクロック・サイクル中に他のデータ・パケットより高い優先順位を有する。
【0033】
類似する形で、項目514の判定で、ローカル・パスが使用中である場合に、本発明は、項目518で代替ローカル・パスを使用する。項目516で、代替グローバル・パスも使用中である場合には、処理は、項目518に進み、ここで、代替ローカル・パスを、グローバル・パスの代わりに使用する。項目522では、代替ローカル・パスも使用中である場合に、項目524でタイムアウト・エラーを生じ、そうでない場合には、処理は項目518にループ・バックして、代替ローカル・パスの使用を継続する。したがって、本発明は、使用中のパスの回りで転送されるデータをリダイレクトするために、異なるローカル・データ・パスおよびグローバル・データ・パスの間で動的に選択する。
【0034】
これらの物理的位置から、本発明は、現在位置と他のコアの間の正確な距離も計算し、データがソース・コアから宛先コアに移動するのに要する信号遅延時間を判定する。この時間推定値が、現在のクロック・サイクル内の残りの時間を超える場合には、次のクロック・サイクルまで、データをバッファ404に保管する。ディジタル論理の性質に起因して、データは、ロジックのコアを介して、あるラッチから別のラッチへと渡される。ラッチは、通常は、システム・クロックによって駆動されるクロック・パルスのエッジによってトリガされる。したがって、ラッチは、クロック・エッジ・パルス(通常は立ち上がり)を得る時に、保管したデータを出力する。受取り側のラッチは、同一クロック・サイクルの立ち下がりエッジになってからデータを取り込む。システムの安定を保つために、すべての転送を、同一のクロック・サイクル内で行わなければならない。
【0035】
同様に、ハブが、使用中のパスが使用可能になる(または、使用中のハブが使用可能になる)のを待つ必要があり、そのハブまたはパスが使用可能になるのに必要な時間が、現在のクロック・サイクルを超えて延びる場合には、データが失われないようにするために、待っているハブ内のバッファ404にデータが保管される。ハブが、使用中のパスに沿ってまたは使用中のハブへのデータの転送を待っている時間の間に、バッファ404内に情報を保持して待っているハブは、追加のデータの受け入れを拒否する。これによって、データの消失または混合が防がれる。バッファ404は、次のハブ/ルータまたは最終的なコア宛先を待っているハブ/ルータにあるデータの現在のパケットを保管するのに使用される。制御論理が、クロック・サイクル内の残りの時間およびコアへの距離のうちにデータが最終宛先に到達するのに十分な時間があるかどうかを判定する。十分な時間がない場合には、バッファにデータが保管され、制御論理が、コアに、コアがこのサイクルに期待しているデータが、少なくとも次のクロック・サイクルまで到着しないことを知らせる信号をアサートする。
【0036】
転送処理のブロック図を、図6に示す。項目60で、本発明は、送出側論理コアからローカル・ハブにデータを転送する。次に、項目62で、本発明は、ローカル・ハブからグローバル・ハブにデータを転送する。その後、項目64で、本発明は、グローバル・ハブから別のグローバル・ハブにデータを転送する。項目66で、本発明は、グローバル・ハブから別のローカル・ハブにデータを転送する。最後に、項目68で、本発明は、ローカル・ハブから宛先論理コアにデータを転送する。通信パスウェイの形成処理の流れ図を、図7に示す。まず、項目70で、本発明は、ローカル・ハブおよびグローバル・ハブの初期配置を実行する。次に、項目71で、本発明は、トラフィック要件に従ってローカル・ハブおよびグローバル・ハブを除去する。その後、項目72で、本発明は、ローカル・データ・パスを形成する。項目73で、本発明は、グローバル・データ・パスを形成する。次に、本発明は、項目74でローカル・ハブを論理コアに接続する。最後に、項目75で、本発明は、グローバル・ハブをローカル・ハブに接続する。
【0037】
本発明を用いると、グローバル・ハブにデータを転送しようとするローカル・ハブ、または別のグローバル・ハブにデータを転送しようとするグローバル・ハブは、最終的な宛先論理コアへの最短距離(したがって、最短の遅延時間)を必要とするハブとして、次の宛先ハブを選択することが好ましい。したがって、各ハブは、最小の数の中間ハブを含み、直線(たとえば主データ・パス)でデータを転送するパス(ローカルおよびグローバル)にデータを向けようとする。しかし、上で述べたように、主データ・パスが使用中の時には、グローバル・ハブおよびローカル・ハブを含む代替パスを使用することができる。さらに、各ハブは、パス使用可能性およびクロック・サイクル内の残りの時間を与えられて、次の宛先ハブ(ローカルまたはグローバル)に関する個別の決定を行う。したがって、一連のハブを介して転送されるデータは、クロック・サイクルが終わる時に、中間のハブ(一連のハブの)内にある場合がある。そのような状況では、中間のハブが、次のクロック・サイクルまでバッファ404にデータを保管する。これによって、次のクロック・サイクルまで、データが転送中に失われない(すなわち、システム内で準安定性が発生しない)ことが保証される。バッファ404内にデータを保管したハブ/ルータは、その後、新しいクロック・サイクルの開始時に、チェーン内の次のハブ/ルータまたは宛先コア自体にデータを送る。これを最初に行うのは、新しいデータを受け入れられるようになる前に、空のバッファ404を有しなければならないからである。そうでなければ、パスに沿ってくる新しいデータによって、既存のデータが上書きされる。
【0038】
さらに、本発明は、遅延伝搬をブロードキャストする(知る)能力を提供する。デカルト座標系では、固定された配線プラン/イメージが可能なので、配線が確立されると、ネットワークの伝搬遅延は決定的になる。ハブ/ルータのそれぞれが、コアのそれぞれへの直接の信号線を有する。これは、単に、データが現在のクロック・サイクルに入手可能にならない時にアサートされる、小さい1ビット・ワイヤである。本発明では、この信号を、NTC(Not This Cycle)信号と呼ぶ。したがって、データを要求するコアは、それが要求したデータが、このクロック・サイクルに入手可能でないことを知り、したがって、データをラッチしてはならないことを知る。宛先コアは、NTC信号がデアサートされる時に限ってデータをラッチする。これによって、正しいデータが、正しいクロック・サイクルに宛先コアで取り込まれることが保証される。他のハブ/ルータは、別のハブ/ルータからのNTC信号を読み取らない。他のハブ/ルータは、宛先コアへの信号をアサートまたはデアサートする能力だけを有する。他のハブ/ルータは、NTC信号のアサートまたはデアサートの、他のハブ/ルータのヒストリの記録を有しないので、他のハブ/ルータに、他のパスに関するNTC信号の統計を分析する論理を含める必要はない。NTC信号の唯一の機能は、データがこのサイクル中に使用可能にならないが、次のサイクルにデータを受け取る可能性が高いことを宛先コアに知らせることである。
【0039】
タイミング・クリティカルなネットでは、優先順位方式をハブ・ルータに追加して、主ハブ・パス・ルーティングを第1に、クリティカル・ネットに重みを付けることができる。ハブ/ルータが、2つの異なる位置から同時に2つの情報のパケットを受け取る場合に、そのハブ/ルータは、単純な優先順位方式に基づいて、どちらのパケットを最初に送るか分析する。各パケットに、そのソースおよび宛先に関する他のヘッダ情報と共に、優先順位コードが含まれる。高い優先順位を有するパケットが、最初に最も直接な経路にルーティングされ、第2のパケットは、バッファ404に保管される。最高優先順位のパケットがその経路に送られた時に、第2のパケットが、その最も直接なパスに送られる。ハブ/ルータが第1パケットを分析しており、第2パケットがバッファに保管されている間に、第3パケットが転送される場合には、第3パケットは、拒否され、ビジー信号が、起点のコアまたはハブ/ルータに送られる。しかし、第2パケットが送られ、バッファがクリアされた後に、起点リクエスタがもう一度試みる場合に、その第3パケットを受け入れ、ルーティングすることができる。しかし、リクエスタが、この時までに代替パスを見つけている可能性が高い。
【0040】
本発明は、信号が通信パスに沿ったすべての点の宛先に到達するのに要する時間の量を計算する能力を有し、受取り側データ・コアが、現在のクロック・サイクルにデータを受け取るか否かを受取り側データ・コアに知らせる能力も有する。本発明は、SoC内の効率的な通信に必要なワイヤの数を大幅に減らし、これによって、配置およびルーティングを助け、製造コストを節約する。本発明は、現在のほとんどのシステムに見られる待ち時間およびバス・アービトレーション・サイクルを減らすことによって、通信の効率も高める。
【0041】
好ましい実施形態に関して本発明を説明してきたが、本発明を、請求項の趣旨および範囲内で修正を加えて実践できることを、当業者は諒解するであろう。
【0042】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0043】
(1)集積回路であって、
複数の論理コアと、
前記論理コアに接続された複数のローカル・ハブと、
前記ローカル・バスに接続された複数のグローバル・ハブと
を含み、前記ローカル・ハブおよび前記グローバル・ハブが、前記論理コアの間でデータを転送する
集積回路。
(2)前記ローカル・ハブを前記論理コアに接続する第1データ・パスと、
前記ローカル・ハブを前記グローバル・ハブに接続し、前記グローバル・ハブを互いに接続する第2データ・パスと
をさらに含む、上記(1)に記載の集積回路。
(3)前記ローカル・ハブおよび前記グローバル・ハブが、データ伝送を所与のクロック・サイクル内に完了できない時に前記データを保管するバッファを含む、上記(1)に記載の集積回路。
(4)前記ローカル・ハブおよび前記グローバル・ハブの少なくとも1つが、宛先ハブへの最短パスを選択するプロセッサを含む、上記(1)に記載の集積回路。
(5)前記ローカル・ハブおよび前記グローバル・ハブの少なくとも1つが、前記最短パスがブロックされる場合に代替パスを選択するプロセッサを含む、上記(4)に記載の集積回路。
(6)前記ローカル・ハブのそれぞれが、前記複数の論理コアに接続され、前記グローバル・ハブのそれぞれが、複数の前記ローカル・ハブに接続される、上記(1)に記載の集積回路。
(7)前記回路内の前記ハブの濃度が、非対称である、上記(1)に記載の集積回路。
(8)高データ・トラフィック量の区域に、低データ・トラフィック量の区域より多くのハブが配置される、上記(1)に記載の集積回路。
(9)集積回路であって、
複数の論理コアと、
前記論理コアに接続された複数のローカル・ハブと、
前記ローカル・ハブに接続された複数のグローバル・ハブと、
前記ローカル・ハブを前記論理コアに接続する第1データ・パスと、
前記ローカル・ハブを前記グローバル・ハブに接続し、前記グローバル・ハブを互いに接続する第2データ・パスと
を含み、
前記ローカル・ハブおよび前記グローバル・ハブが、前記論理コアの間でデータを転送し、
前記ローカル・データ・パスおよび前記グローバル・データ・パスが、互いに独立である
集積回路。
(10)前記ローカル・ハブおよび前記グローバル・ハブが、データ伝送を所与のクロック・サイクル内に完了できない時に前記データを保管するバッファを含む、上記(9)に記載の集積回路。
(11)前記ローカル・ハブおよび前記グローバル・ハブの少なくとも1つが、宛先ハブへの最短パスを選択するプロセッサを含む、上記(9)に記載の集積回路。
(12)前記ローカル・ハブおよび前記グローバル・ハブの少なくとも1つが、前記最短パスがブロックされる場合に代替パスを選択するプロセッサを含む、上記(11)に記載の集積回路。
(13)前記ローカル・ハブのそれぞれが、複数の前記論理コアに接続され、前記グローバル・ハブのそれぞれが、複数の前記ローカル・ハブに接続される、上記(9)に記載の集積回路。
(14)前記回路内の前記ハブの濃度が、非対称である、上記(9)に記載の集積回路。
(15)高データ・トラフィック量の区域に、低データ・トラフィック量の区域より多くのハブが配置される、上記(9)に記載の集積回路。
(16)集積回路内の論理コアの間でデータを転送する方法であって、
送出論理コアから第1ローカル・ハブへデータを転送するステップと、
前記第1ローカル・ハブから第1グローバル・ハブへ前記データを転送するステップと、
前記第1グローバル・ハブから第2グローバル・ハブへ前記データを転送するステップと、
前記第2グローバル・ハブから第2ローカル・ハブへ前記データを転送するステップと、
前記第2ローカル・ハブから宛先論理コアへ前記データを転送するステップと
を含む方法。
(17)前記データが、宛先アドレスを使用して前記宛先論理コアを識別し、前記第1ローカル・ハブ、前記第1グローバル・ハブ、前記第2グローバル・ハブ、および前記第2ローカル・ハブのそれぞれが、前記宛先アドレスに基づいて前記データを転送する、上記(16)に記載の方法。
(18)前記データが、ローカル・データ・パスを介して、前記第1ローカル・ハブおよび前記第2ローカル・ハブとの間で転送され、
前記データが、グローバル・データ・パスを介して、前記第1グローバル・ハブと前記第2グローバル・ハブとの間で転送される
上記(16)に記載の方法。
(19)前記転送する処理のそれぞれが、前記宛先論理コアへの最短距離を含む主データ・パスを選択する処理を含む、上記(16)に記載の方法。
(20)前記最短距離が、デカルト座標系に従って計算される、上記(19)に記載の方法。
(21)前記主データ・パスが使用中の時に最短代替データ・パスを選択するステップをさらに含み、前記最短代替データ・パスが、前記宛先論理コアへの次に短い距離を含む、上記(19)に記載の方法。
(22)集積回路内の論理コアの間の通信パススウェイを設計する方法であって、
複数のローカル・ハブを前記論理コアに接続するステップと、
複数のグローバル・ハブを前記ローカル・ハブに接続するステップと
を含む方法。
(23)前記ローカル・ハブおよび前記グローバル・ハブのパターンが前記集積回路にわたって非対称になるように、前記集積回路のトラフィック要件に従って前記ローカル・ハブおよび前記グローバル・ハブを位置決めするステップをさらに含む、上記(22)に記載の方法。
(24)前記位置決めするステップが、
前記集積回路上の前記ローカル・ハブおよび前記グローバル・ハブの初期配置を実行するステップと、
前記トラフィック要件に従って前記ローカル・ハブおよび前記グローバル・ハブを追加し、除去するステップと
を含む、上記(23)に記載の方法。
(25)前記ローカル・ハブを互いに接続し、前記ローカル・ハブを前記論理コアに接続し、前記ローカル・ハブを前記グローバル・ハブに接続するために、ローカル・データ・パスを形成するステップと、
前記グローバル・ハブを互いに接続し、前記グローバル・ハブを前記ローカル・ハブに接続するために、グローバル・データ・パスを形成するステップと
をさらに含む、上記(22)に記載の方法。
(26)前記ローカル・データ・パスの前記形成が、前記ローカル・パスのそれぞれをすべての他のローカル・ハブに接続し、
前記グローバル・データ・パスの前記形成が、前記グローバル・ハブのそれぞれをすべての他のグローバル・ハブに接続する
上記(25)に記載の方法。
(27)前記ローカル・データ・パスの前記形成が、前記ローカル・ハブのそれぞれを他のすべてより少ないローカル・ハブに接続し、
前記グローバル・データ・パスの前記形成が、前記グローバル・ハブのそれぞれを他のすべてより少ないグローバル・ハブに接続する
上記(25)に記載の方法。
(28)複数の前記論理コアが、前記ローカル・ハブのそれぞれに接続され、複数の前記ローカル・ハブが、前記グローバル・ハブのそれぞれに接続される、上記(22)に記載の方法。
【図面の簡単な説明】
【図1】本発明によるローカル・ルータおよびグローバル・ルータの概略図である。
【図2】論理ブロック、ローカル・ルータ、およびグローバル・ルータの配置を示す概略図である。
【図3】グローバル・ルータの間の接続を示す概略図である。
【図4】論理コアの概略図である。
【図5】ローカル・ルータ、グローバル・ルータ、および論理ブロックの間で信号を向けるのに使用される論理を示す流れ図である。
【図6】集積回路内の論理コアの間のデータの転送を示す流れ図である。
【図7】集積回路内の論理コアの間の通信パスウェイを示す流れ図である。
【符号の説明】
120 グローバル・ハブ
122 論理コア
124 ローカル・ハブ
200 ローカル・データ・パス
300 グローバル・データ・パス
400 入出力コネクタ
402 論理デバイス
404 バッファ
Claims (28)
- 集積回路であって、
複数の論理コアと、
前記論理コアに接続された複数のローカル・ハブと、
前記ローカル・バスに接続された複数のグローバル・ハブと
を含み、前記ローカル・ハブおよび前記グローバル・ハブが、前記論理コアの間でデータを転送する
集積回路。 - 前記ローカル・ハブを前記論理コアに接続する第1データ・パスと、
前記ローカル・ハブを前記グローバル・ハブに接続し、前記グローバル・ハブを互いに接続する第2データ・パスと
をさらに含む、請求項1に記載の集積回路。 - 前記ローカル・ハブおよび前記グローバル・ハブが、データ伝送を所与のクロック・サイクル内に完了できない時に前記データを保管するバッファを含む、請求項1に記載の集積回路。
- 前記ローカル・ハブおよび前記グローバル・ハブの少なくとも1つが、宛先ハブへの最短パスを選択するプロセッサを含む、請求項1に記載の集積回路。
- 前記ローカル・ハブおよび前記グローバル・ハブの少なくとも1つが、前記最短パスがブロックされる場合に代替パスを選択するプロセッサを含む、請求項4に記載の集積回路。
- 前記ローカル・ハブのそれぞれが、前記複数の論理コアに接続され、前記グローバル・ハブのそれぞれが、複数の前記ローカル・ハブに接続される、請求項1に記載の集積回路。
- 前記回路内の前記ハブの濃度が、非対称である、請求項1に記載の集積回路。
- 高データ・トラフィック量の区域に、低データ・トラフィック量の区域より多くのハブが配置される、請求項1に記載の集積回路。
- 集積回路であって、
複数の論理コアと、
前記論理コアに接続された複数のローカル・ハブと、
前記ローカル・ハブに接続された複数のグローバル・ハブと、
前記ローカル・ハブを前記論理コアに接続する第1データ・パスと、
前記ローカル・ハブを前記グローバル・ハブに接続し、前記グローバル・ハブを互いに接続する第2データ・パスと
を含み、
前記ローカル・ハブおよび前記グローバル・ハブが、前記論理コアの間でデータを転送し、
前記ローカル・データ・パスおよび前記グローバル・データ・パスが、互いに独立である
集積回路。 - 前記ローカル・ハブおよび前記グローバル・ハブが、データ伝送を所与のクロック・サイクル内に完了できない時に前記データを保管するバッファを含む、請求項9に記載の集積回路。
- 前記ローカル・ハブおよび前記グローバル・ハブの少なくとも1つが、宛先ハブへの最短パスを選択するプロセッサを含む、請求項9に記載の集積回路。
- 前記ローカル・ハブおよび前記グローバル・ハブの少なくとも1つが、前記最短パスがブロックされる場合に代替パスを選択するプロセッサを含む、請求項11に記載の集積回路。
- 前記ローカル・ハブのそれぞれが、複数の前記論理コアに接続され、前記グローバル・ハブのそれぞれが、複数の前記ローカル・ハブに接続される、請求項9に記載の集積回路。
- 前記回路内の前記ハブの濃度が、非対称である、請求項9に記載の集積回路。
- 高データ・トラフィック量の区域に、低データ・トラフィック量の区域より多くのハブが配置される、請求項9に記載の集積回路。
- 集積回路内の論理コアの間でデータを転送する方法であって、
送出論理コアから第1ローカル・ハブへデータを転送するステップと、
前記第1ローカル・ハブから第1グローバル・ハブへ前記データを転送するステップと、
前記第1グローバル・ハブから第2グローバル・ハブへ前記データを転送するステップと、
前記第2グローバル・ハブから第2ローカル・ハブへ前記データを転送するステップと、
前記第2ローカル・ハブから宛先論理コアへ前記データを転送するステップと
を含む方法。 - 前記データが、宛先アドレスを使用して前記宛先論理コアを識別し、前記第1ローカル・ハブ、前記第1グローバル・ハブ、前記第2グローバル・ハブ、および前記第2ローカル・ハブのそれぞれが、前記宛先アドレスに基づいて前記データを転送する、請求項16に記載の方法。
- 前記データが、ローカル・データ・パスを介して、前記第1ローカル・ハブおよび前記第2ローカル・ハブとの間で転送され、
前記データが、グローバル・データ・パスを介して、前記第1グローバル・ハブと前記第2グローバル・ハブとの間で転送される
請求項16に記載の方法。 - 前記転送する処理のそれぞれが、前記宛先論理コアへの最短距離を含む主データ・パスを選択する処理を含む、請求項16に記載の方法。
- 前記最短距離が、デカルト座標系に従って計算される、請求項19に記載の方法。
- 前記主データ・パスが使用中の時に最短代替データ・パスを選択するステップをさらに含み、前記最短代替データ・パスが、前記宛先論理コアへの次に短い距離を含む、請求項19に記載の方法。
- 集積回路内の論理コアの間の通信パススウェイを設計する方法であって、
複数のローカル・ハブを前記論理コアに接続するステップと、
複数のグローバル・ハブを前記ローカル・ハブに接続するステップと
を含む方法。 - 前記ローカル・ハブおよび前記グローバル・ハブのパターンが前記集積回路にわたって非対称になるように、前記集積回路のトラフィック要件に従って前記ローカル・ハブおよび前記グローバル・ハブを位置決めするステップをさらに含む、請求項22に記載の方法。
- 前記位置決めするステップが、
前記集積回路上の前記ローカル・ハブおよび前記グローバル・ハブの初期配置を実行するステップと、
前記トラフィック要件に従って前記ローカル・ハブおよび前記グローバル・ハブを追加し、除去するステップと
を含む、請求項23に記載の方法。 - 前記ローカル・ハブを互いに接続し、前記ローカル・ハブを前記論理コアに接続し、前記ローカル・ハブを前記グローバル・ハブに接続するために、ローカル・データ・パスを形成するステップと、
前記グローバル・ハブを互いに接続し、前記グローバル・ハブを前記ローカル・ハブに接続するために、グローバル・データ・パスを形成するステップと
をさらに含む、請求項22に記載の方法。 - 前記ローカル・データ・パスの前記形成が、前記ローカル・パスのそれぞれをすべての他のローカル・ハブに接続し、
前記グローバル・データ・パスの前記形成が、前記グローバル・ハブのそれぞれをすべての他のグローバル・ハブに接続する
請求項25に記載の方法。 - 前記ローカル・データ・パスの前記形成が、前記ローカル・ハブのそれぞれを他のすべてより少ないローカル・ハブに接続し、
前記グローバル・データ・パスの前記形成が、前記グローバル・ハブのそれぞれを他のすべてより少ないグローバル・ハブに接続する
請求項25に記載の方法。 - 複数の前記論理コアが、前記ローカル・ハブのそれぞれに接続され、複数の前記ローカル・ハブが、前記グローバル・ハブのそれぞれに接続される、請求項22に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/683,778 US7085913B2 (en) | 2002-02-13 | 2002-02-13 | Hub/router for communication between cores using cartesian coordinates |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004031898A true JP2004031898A (ja) | 2004-01-29 |
JP3972331B2 JP3972331B2 (ja) | 2007-09-05 |
Family
ID=27663567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003027536A Expired - Fee Related JP3972331B2 (ja) | 2002-02-13 | 2003-02-04 | デカルト座標を使用する、コアの間の通信のためのハブ/ルータ |
Country Status (3)
Country | Link |
---|---|
US (1) | US7085913B2 (ja) |
JP (1) | JP3972331B2 (ja) |
TW (1) | TWI222808B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009531771A (ja) * | 2006-05-21 | 2009-09-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 集積回路においてコア間でデータを転送する方法及び装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060262779A1 (en) * | 2005-05-18 | 2006-11-23 | International Business Machines Corporation | A method and apparatus for transferring data between cores in an integrated circuit |
KR100730279B1 (ko) * | 2005-12-16 | 2007-06-19 | 삼성전자주식회사 | 스타 토로스 토폴로지를 이용하여 칩 상의 디바이스를연결한 컴퓨터 칩 |
US20080276034A1 (en) * | 2006-02-28 | 2008-11-06 | Harding W Riyon | Design Structure for Transmitting Data in an Integrated Circuit |
US7536496B2 (en) * | 2006-02-28 | 2009-05-19 | International Business Machines Corporation | Method and apparatus for transmitting data in an integrated circuit |
US7983253B2 (en) * | 2007-04-20 | 2011-07-19 | Nuon, Inc. | Time-space carrier sense multiple access |
US10698859B2 (en) * | 2009-09-18 | 2020-06-30 | The Board Of Regents Of The University Of Texas System | Data multicasting with router replication and target instruction identification in a distributed multi-core processing architecture |
US10452399B2 (en) | 2015-09-19 | 2019-10-22 | Microsoft Technology Licensing, Llc | Broadcast channel architectures for block-based processors |
US10963379B2 (en) | 2018-01-30 | 2021-03-30 | Microsoft Technology Licensing, Llc | Coupling wide memory interface to wide write back paths |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5168572A (en) | 1989-03-10 | 1992-12-01 | The Boeing Company | System for dynamic selection of globally-determined optimal data path |
US5522083A (en) | 1989-11-17 | 1996-05-28 | Texas Instruments Incorporated | Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors |
US5253248A (en) * | 1990-07-03 | 1993-10-12 | At&T Bell Laboratories | Congestion control for connectionless traffic in data networks via alternate routing |
CA2129882A1 (en) | 1993-08-12 | 1995-02-13 | Soheil Shams | Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same |
US5495589A (en) * | 1993-12-23 | 1996-02-27 | Unisys Corporation | Architecture for smart control of bi-directional transfer of data |
US5838683A (en) * | 1995-03-13 | 1998-11-17 | Selsius Systems Inc. | Distributed interactive multimedia system architecture |
US5687325A (en) * | 1996-04-19 | 1997-11-11 | Chang; Web | Application specific field programmable gate array |
US5808899A (en) | 1996-06-28 | 1998-09-15 | Lsi Logic Corporation | Advanced modular cell placement system with cell placement crystallization |
US5898692A (en) * | 1996-10-25 | 1999-04-27 | Intel Corporation | Scalable bandwidth digital data switch |
US6275975B1 (en) * | 1997-01-16 | 2001-08-14 | Advanced Micro Devices, Inc. | Scalable mesh architecture with reconfigurable paths for an on-chip data transfer network incorporating a network configuration manager |
US6247161B1 (en) | 1997-01-16 | 2001-06-12 | Advanced Micro Devices, Inc. | Dynamically configured on-chip communications paths based on statistical analysis |
US6115391A (en) * | 1997-02-20 | 2000-09-05 | Level One Communications, Inc. | Method and apparatus for integrating multiple repeaters into a single collision domain |
US5878265A (en) * | 1997-07-14 | 1999-03-02 | Advanced Micro Devices, Inc. | Data transfer network on a chip utilizing polygonal hub topology |
US6147991A (en) * | 1997-09-05 | 2000-11-14 | Video Network Communications, Inc. | Scalable high speed packet switch using packet diversion through dedicated channels |
US6226735B1 (en) | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
US6092174A (en) | 1998-06-01 | 2000-07-18 | Context, Inc. | Dynamically reconfigurable distributed integrated circuit processor and method |
-
2002
- 2002-02-13 US US09/683,778 patent/US7085913B2/en not_active Expired - Fee Related
-
2003
- 2003-02-04 JP JP2003027536A patent/JP3972331B2/ja not_active Expired - Fee Related
- 2003-02-10 TW TW092102651A patent/TWI222808B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009531771A (ja) * | 2006-05-21 | 2009-09-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 集積回路においてコア間でデータを転送する方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
US20030154324A1 (en) | 2003-08-14 |
JP3972331B2 (ja) | 2007-09-05 |
TW200303669A (en) | 2003-09-01 |
US7085913B2 (en) | 2006-08-01 |
TWI222808B (en) | 2004-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10838787B2 (en) | Processing system with interspersed processors with multi-layer interconnect | |
US8819616B2 (en) | Asymmetric mesh NoC topologies | |
Sewell et al. | Swizzle-switch networks for many-core systems | |
Abdallah et al. | Basic network-on-chip interconnection for future gigascale MCSoCs applications: Communication and computation orthogonalization | |
JP3972331B2 (ja) | デカルト座標を使用する、コアの間の通信のためのハブ/ルータ | |
US9330041B1 (en) | Staggered island structure in an island-based network flow processor | |
Liu et al. | A dynamic adaptive arbiter for Network-on-Chip | |
Tota et al. | Implementation analysis of NoC: a MPSoC trace-driven approach | |
Chan et al. | A priority based output arbiter for NoC router | |
Zhou et al. | A router architecture with dual input and dual output channels for Networks-on-Chip | |
Bouhraoua et al. | Improved modified fat-tree topology network-on-chip | |
Plosila et al. | Implementation of a self-timed segmented bus | |
US9619418B2 (en) | Local event ring in an island-based network flow processor | |
Baby et al. | Network on chip simulator: Design, implementation and comparison of Mesh, Torus and RiCoBiT topologies | |
Zid et al. | New generic GALS NoC architectures with multiple QoS | |
Alimi et al. | Network-on-Chip Topologies: Potentials, Technical Challenges, Recent Advances and Research Direction | |
Azimi et al. | On-chip interconnect trade-offs for tera-scale many-core processors | |
Xiao et al. | A hexagonal processor and interconnect topology for many-core architecture with dense on-chip networks | |
US11144457B2 (en) | Enhanced page locality in network-on-chip (NoC) architectures | |
US9626306B2 (en) | Global event chain in an island-based network flow processor | |
Zitouni et al. | Arbiter synthesis approach for SoC multi-processor systems | |
US9928204B2 (en) | Transaction expansion for NoC simulation and NoC design | |
Lankes et al. | Noc topology exploration for mobile multimedia applications | |
Wang et al. | Multi-mapping Meshes: A New Communicating Fabric for Networks-on-Chip | |
Li | Identifying and Removing On-chip Network Bottleneck in Throughput Processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070226 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070226 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20070226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070416 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070426 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070426 |
|
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: 20070529 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070529 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20070529 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070601 |
|
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: 20100622 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |