JP2004525449A - 相互接続システム - Google Patents

相互接続システム Download PDF

Info

Publication number
JP2004525449A
JP2004525449A JP2002564890A JP2002564890A JP2004525449A JP 2004525449 A JP2004525449 A JP 2004525449A JP 2002564890 A JP2002564890 A JP 2002564890A JP 2002564890 A JP2002564890 A JP 2002564890A JP 2004525449 A JP2004525449 A JP 2004525449A
Authority
JP
Japan
Prior art keywords
node
bus
interconnect
data
interface
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.)
Pending
Application number
JP2002564890A
Other languages
English (en)
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
Priority claimed from GB0103678A external-priority patent/GB0103678D0/en
Priority claimed from GB0103687A external-priority patent/GB0103687D0/en
Priority claimed from GB0121790A external-priority patent/GB0121790D0/en
Application filed by クリアスピード・テクノロジー・リミテッド filed Critical クリアスピード・テクノロジー・リミテッド
Publication of JP2004525449A publication Critical patent/JP2004525449A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Peptides Or Proteins (AREA)
  • Logic Circuits (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

相互接続システム(110)は、複数の再使用可能な機能ユニット(105a)、(105b)、(105c)を含む。システム(110)は、複数のノード(135)、(140)、(145)、(150)、(155)、(160)を含み、それぞれのノードは機能ユニットと通信する。複数のデータパケットが、機能ユニットの間で移送される。それぞれのデータパケットは、それに関連するルーティング情報を有し、ノードがデータパケットを相互接続システムを経て送ることを可能にする。

Description

【技術分野】
【0001】
本発明は、相互接続ネットワークに関する。特に、本発明は、チップ内相互接続ネットワークに関するが、それのみに関するものではない。
【背景技術】
【0002】
複数の機能ユニット(または処理ユニット)を相互接続する代表的なバスシステムは、トライステートドライバを有するワイヤの組、またはバス上にデータを得るためのマルチプレクサを組み込んだ2つの単方向データ経路から成る。バスに対するアクセスはアービトレーションユニットにより制御され、このアービトレーションユニットは、バスを使用する要求を受け入れて、1つの機能ユニットが任意の一時刻にバスにアクセスすることを許す。アービタはパイプライン処理され、バス自体は、より高いクロック速度を実現するためにパイプライン処理される。データをバスに沿ってルーティングするために、システムは、一般にルックアップテーブルを含む複数のルータを具備する。データは、次に、ルーティングルックアップテーブル内のエントリと比較されて、データの正しい宛先へのバス上へルーティングされる。
【0003】
しかし、そのようなルーティングスキームを、チップ上において実行することはできない。その理由は、部品の複雑性およびサイズが、それを実行不可能にするからである。これは、現存のオンチップバススキームにおいて、データが一斉送信される、すなわち、データを1つの機能ユニットから複数の他の機能ユニットへ同時に転送する、異なるスキームを用いることにより克服された。これは、ルーティングテーブルを不必要にする。しかし、チップ上の全ての機能ユニットへのデータの一斉送信は、かなりの電力を消費するので、非効率的である。また、1クロックサイクル中に、比較的に長距離を越えてデータを転送することはますます困難となってきている。
【0004】
さらに、代表的なバスシステムにおいては、バス(トランザクタ)を使用することごとくの要求は、中央アービタに接続されなければならないので、これはシステムのスケーラビリティを制限する。構築されるシステムが大きくなるのに伴い、機能ユニットはアービタから遠くなるので、レーテンシは増大し、単一アービタにより処理される同時要求の数は制限されることになる。従って、そのような中央アービタに基づくバスシステムにおいては、バスの長さおよびトランザクタの数は通常最初に固定される。従って、システムの要求の変化に適合するように、後の段階においてバスを長くすることはできない。
【0005】
相互接続のもう1つの形式は、直接相互接続ネットワークである。このタイプのネットワークは一般に複数のノードを含み、それぞれのノードは離散したルータチップである。それぞれのノード(ルータ)は、プロセッサおよび複数の他のノードに接続され、ネットワークのトポロジーを形成する。
【0006】
過去においては、このネットワークに基づくアプローチをオンチップバスの代わりに実行することはできなかった。その理由は、個々のノードが、チップ上における実施のためには大き過ぎるからである。
【0007】
多くの現存のバスは、特定のプロトコルによって働くように作られる。カストマイズされたワイヤの多くは、そのプロトコルの特定の機能に関連する。逆に、多くのプロトコルは、例えば、何らかの方法でアービタを補助する特定のデータファイルを有する特定のバスの実施の周辺に基礎を置く。
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明の目的は、オンチップバスシステムとしての相互接続ネットワークを提供することである。
【課題を解決するための手段】
【0009】
これは、データの一斉送信とは対照的に、データをルーティングすることにより達成される。データのルーティングは、簡単なアドレス指定スキームにより行われ、その場合、それぞれのトランザクションは、関連するルーティング情報、例えば、相互接続ネットワーク内のノードが正しい宛先へそのトランザクションをルーティングすることを可能にする地理的アドレス、を有する。
【0010】
このようにして、ルーティング情報は、データパケットを送るべき方向に関する情報を含む。このルーティング情報は、単に宛先のアドレスではなく、方向情報、例えば、方向を与えるための格子のx、y座標、を与える。従って、ノードは、方向を決定するためのルーティングテーブル、または広域信号を必要としない。その理由は、ノードが必要とする全ての情報は、データパケットのルーティング情報内に含まれているからである。これは、ノードおよび相互接続システムの回路の簡単化を可能にし、それによりこのシステムのチップ上への集積を可能にする。
【0011】
もしそれぞれの機能ユニットがノードに接続され、全てのノードが互いに接続されていれば、システム内のそれぞれのノードの対の間にはパイプライン接続が存在する。介在するノードの数はパイプラインステージの数を支配する。もし結合したノードの対が存在し、それらの間の距離が大き過ぎて、データを単一クロックサイクル中に伝送できない場合には、中継器ブロックをそれらのノードの間に挿入することができる。このブロックは、他のバスブロックと同じプロトコルを維持しつつデータを登録する。中継器ブロックの包含は、任意の長さの相互接続を作ることができるようにする。
【0012】
本発明による相互接続システムは、チップ内相互接続ネットワークにおいて用いることができる。データの転送は全てパケット化され、それらのパケットは、データ経路の幅の倍数である任意の長さとすることができる。相互接続ネットワーク(ノードおよびTスイッチ)を作るために用いられるバスのノードは、全てデータ経路上のレジスタを有する。
【発明の効果】
【0013】
本発明の主な利点は、本発明が本来再使用可能であることである。実施者は、所望のクロック速度を実現するための、正しい数のインタフェースを有し、また十分な中継器ブロックを有する、正しい長さの相互接続を形成するために十分な、機能ブロックを例示しさえすればよい。
【0014】
本発明による相互接続システムは、分散アービトレーションを用いる。このアービトレーションの能力は、より多くのブロックが追加されるほど増大する。従って、もしバスを長くする必要があるならば、もっと多くのノードおよびことによると中継器を例示しさえすればよい。それぞれのモジュールは、自身の中での自身のアービトレーションを管理するので、相互接続の全体的アービトレーション能力は増大する。これは、本発明のバスシステムを、他の従来のバスシステムよりも、(長さおよび全体的帯域幅において)よりスケーラブルにする。
【0015】
本発明のシステムにより採用されたアービトレーションは、真に分散化され局所化される。これは、従来の分散システムにおけるような、下流へのルートが自由であるかどうかを調査するためのポーリングが、行われないよう簡単化され、代わりにこの情報は、「閉塞されたノード」および上流のノードによる相互接続(バス)のパイプライン処理されたバックアップにより起動される。
【0016】
本発明による相互接続は、電力消費に関しては効率的である。パケットは一斉送信されずにルーティングされるので、発信源ノードと宛先ノードとの間のワイヤのみがトグルされる。残りのバスドライバは、クロックゲートされる。従って、本発明のシステムが消費する電力は少ない。
【0017】
さらに、バス上のことごとくのノードは、それに関連する独自のアドレス、すなわちインタフェースアドレスを有する。パケット内には、宛先のインタフェースアドレスを保持するフィールドが確保される。バス上のそれぞれのノードは、入来パケットのこのフィールドに問合せを行う。もしそのノードが、そのインタフェースアドレスと一致すれば、そのノードはそのパケットのルートを相互接続(またはバス)から分離し、もしそのノードが、そのインタフェースアドレスと一致しなければ、そのノードはそのパケットをバスの下流へルーティングする。このアドレス指定スキームは、一斉送信メッセージのための「ワイルドカード」をサポートするように拡張することができる。もしアドレスの部分集合がインタフェースアドレスと一致すれば、そのパケットはルートをバスから分離され、かつ続けてバスの下流へ送られ、そうでない場合は、それはバスの下流へそのまま続けて送られる。
【0018】
バス上に来るパケットに対し、それぞれのインタフェースユニットは、そのパケットの宛先インタフェースアドレスの問合せを行う。これは、取付けられたユニットからバスに到達するパケットがいずれの方向にルーティングされるべきかを決定するために用いられる。線形バスの場合には、これは簡単な比較によることができ、もし宛先アドレスがデータ源のインタフェースアドレスよりも大きければ、パケットはバスの「上流」へルーティングされ、そうでない場合は、パケットはバスの「下流」へルーティングされる。これは、それぞれのノードが、宛先アドレス、またはアドレスの範囲を、バス上における方向にマッピングするように、それぞれのインタフェースユニットに対して拡張できる。
【0019】
好ましくは、インタフェースユニットは、この比較の結果に基づき、2進レーン信号をセットする。このようにして、機能性は、ノードとインタフェースユニットとの間で分割される。移送されるべきデータの(プロトコル要件を含む)全ての「準備」は、インタフェースユニットにおいて行われる。移送されるべきデータのタイプにかかわらずノードは変化しないので、これは大きい柔軟性を可能にし、ノードが異なる回路において再使用されることを可能にする。さらに好ましくは、ノードは、パケットを相互接続システムから分離し、機能ユニットに向けて送る。
【0020】
さらに好ましくは、相互接続宛のデータに関し、インタフェースユニットは以下の機能を行うことができる。すなわち、機能ユニットからパケットを取り出し、正しい宛先モジュールID、ヘッドおよびテールビットを確保する;宛先モジュールIDをローカルモジュールIDと比較し、この比較の結果に基づき2進レーン信号をセットする;そのモジュールID、データおよび任意の高レベル(非バス)制御信号をフリット(flit)内にパックする;必要な任意のプロトコル変更を実施する;そして、注入プロトコルを用い、前記レーン信号をおよびフリットをノードに送る。
【0021】
TジャンクションまたはTスイッチは、同様に動作する。ここでの決定は、単にパケットを一方のブランチまたは他方のブランチのいずれへルーティングすべきかについて行われる。これは一般に、アドレスの範囲に関して行われ、もしアドレスがある所定の値よりも大きければ、パケットは左へルーティングされ、そうでない場合は、パケットは右へルーティングされる。しかし、もし必要ならば、もっと複雑なルーティングスキームを実行することもできる。
【0022】
このアドレス指定スキームは、チップ間通信をサポートするように拡張することができる。この場合は、アドレス内のフィールドが、ターゲットチップのアドレスを定めるために用いられ、例えば、このフィールド内の0は、そのチップローカルアドレスを表す。パケットがそのチップに到達した時は、このフィールドは、そのチップの前もってプログラムされたアドレスと比較される。もしそれらが一致すれば、そのフィールドはゼロにセットされ、ローカルルーティングが上述のように行われる。もしそれらが一致しなければ、パケットは、バスに沿って適切なチップ間インタフェースまでルーティングされた後、その最終的宛先に向けてルーティングされる。このスキームは、チップのシステム、サブシステム、ボード、グループ、および個々のチップにおけるルーティングを管理する階層的アドレス指定スキームを可能にするように、拡張することができる。
【0023】
本発明によるシステムは、全てのバス型アプリケーションに適しているわけではない。発信源トランザクタと宛先トランザクタとは、中央アービトレーションポイントが存在しないので減結合される。本発明のアプローチの利点は、長いバス(ネットワーク)が、極めて高いアグリゲート帯域幅を有するように構成できることである。
【0024】
本発明のシステムは、プロトコルを断定できないものである。本発明の相互接続は、単にデータパケットを移送する。本発明によるインタフェースユニットは、全てのプロトコル特有機能を管理する。これは、それが容易に新しいプロトコルに移行できることを意味する。その理由は、インタフェースユニットを再設計しさえすればよいからである。
【0025】
本発明はまた、融通のきくトポロジーおよび長さを提供する。
本発明の中継器ブロックは、相互接続の全体的モジュラ構造が、長いワイヤによりクロック速度が制限されることを防止するために、極めて高いクロック速度を可能にする。これは、合成およびレイアウトを簡単化する。中継器ブロックは、データが下流へ進む時にデータをパイプライン処理するだけでなく、中継器ブロックは、フロー制御プロトコルをも実行し、(閉塞信号を広域的に分散させるのではなく)相互接続(またはバス)の上流への閉塞情報をパイプライン処理する。閉塞が起こった時は、この機構の機能により、データ圧縮(固有のバッファリング)がバス上において行われ、レーテンシ指数を少なくとも2倍にし、すなわち、もし中継器を経てのレーテンシが1サイクルならば、2つのデータ制御フローディジット(フリット:本発明の相互接続上におけるデータ転送の基本単位。それはnバイトのデータおよびいくつかの側波帯制御信号を含む。フロー制御ディジットのサイズは、バスデータ経路のサイズに等しい)が、閉塞が起こった時に連結される。これは、いずれの閉塞の範囲も最小化され、従って機能ブロックにおけるキューイング要件が減少することを意味する。
【0026】
データフロー制御ディジットのフローは、前述のように、記憶ブロック(および中継器ユニット)におけるダブルバッファリングと関連して、フロー制御プロトコルにより管理される。
【0027】
本発明の相互接続の諸成分は、パケットの移送を管理する。カストマイズされたインタフェースユニットは、プロトコル特有の機能を処理する。これらは一般に、制御情報およびデータのパッキングおよびアンパッキング、およびアドレスの変換を含む。カストマイズされたインタフェースユニットは、任意の特定の同時実行に適合するように作ることができる。
【0028】
多くのパケットが、本発明の相互接続の別個のセグメントに沿って同時に進むことができる。これは、実現可能な帯域幅を、ワイヤの原帯域幅(バスの幅にクロック速度を乗算したもの)よりも遥かに大きくすることを可能にする。例えば、もし4つの隣接するオンチップブロックA、B、CおよびDが存在すれば、AとBとは、CとDとが通信するのと同時に通信することができる。この場合に実現できる帯域幅は、一斉送信に基づくバスのそれの2倍になる。
【0029】
パケットは、それぞれのノードにおいて相互接続上へ注入(ゲート)されるので、それぞれのノードは、(例えば、100サイクル毎の間に10個のフロー制御ディジットを送ることができることにより)ある量の全体的帯域幅割当てを割当てられ、この分散スキームは全体的帯域幅割当てを制御する。
【0030】
パケットを本発明の相互接続上へ、それが飽和するまで強制的に送り続けることは可能である。全てのパケットは、結局は配信される。これは、その相互接続を、組み込まれたフロー制御機構を有するバッファとして用いることができることを意味する。
【実施例1】
【0031】
機能ブロックの間でデータおよび制御情報を通信する基本機構は、それらのブロックが、本発明による相互接続システム100を用いメッセージを交換するようになっている。バスシステムは、マルチチップシステム内の諸ブロックを接続するために延ばすことができ、同じ機構は、チップ内の諸ブロック、または異なるチップ上の諸ブロックのために働く。
【0032】
本発明の実施例による相互接続システム110を組み込んだシステムの例100は、図1に示されているように、複数の再使用可能なオンチップ機能ブロックまたは仮想成分ブロック105a、105bおよび105cを含む。これらの機能ユニットは、相互接続に対してインタフェースし、固定することができる。それらは、異なる回路設計における、さまざまな抽象のレベル(例えば、RTL、ゲートレベル、GDSIIレイアウトデータ)において再使用することができる。相互接続に対する諸I/Oのサイズ、縦横比および位置が知られた時は、トポロジーを固定することができる。それぞれのオンチップ機能ユニット105a、105b、105cは、インタフェースユニットを経て相互接続システム110に接続される。インタフェースユニットは、アドレスデコーディングおよびプロトコル変換を処理する。例えば、オンチップ機能ユニット105aは、関連する仮想成分インタフェースイニシエータ115aおよび周辺仮想成分インタフェースイニシエータ120aを経て、相互接続システム110に接続される。
【0033】
例えば、オンチップ機能ユニット105bは、関連する仮想成分インタフェースターゲット125bおよび周辺仮想成分インタフェースターゲット130bを経て、相互接続システム110に接続される。例えば、オンチップ機能ユニット105cは、関連する仮想成分インタフェースイニシエータ115cおよび周辺仮想成分インタフェースターゲット130cを経て、相互接続システム110に接続される。図1に示されている、それぞれのオンチップ機能ブロックのための関連するイニシエータおよびターゲットは、純粋に説明用のものであり、関連するブロックの要求により変更できる。機能ブロックは、相互接続システムに対するいくつかの接続を有する。それぞれの接続は、高度仮想成分インタフェース(拡張は基本仮想成分インタフェースのスーパーセットを形成する。これは、本発明のシステムにおける主データインタフェースのために用いられるプロトコルである)、または周辺仮想成分インタフェースインタフェース(本発明において主としてレジスタアクセスを制御するために用いられる、アトミックオペレーションを可能にする低帯域幅インタフェース)を有する。
【0034】
図1に示されているようなオンチップ機能ユニットを、本発明の実施例による相互接続システムに接続するための、現在受け入れられている1つのプロトコルは、仮想成分インタフェースである。仮想成分インタフェースは、バスおよび/または仮想成分の間の通信を行うためのOCB標準インタフェースであり、それは特定のバスまたは仮想成分プロトコルとは無関係である。
【0035】
3つのタイプの仮想成分インタフェース、すなわち、周辺仮想成分インタフェース120a、130b、130c、基本仮想成分インタフェースおよび高度仮想成分インタフェースが存在する。基本仮想成分インタフェースは、周辺仮想成分インタフェースよりも広く、高い帯域幅のインタフェースである。基本仮想成分インタフェースは、分割トランザクションを許容する。分割トランザクションにおいては、データおよび応答を求める要求が減結合されるので、データを求める要求は、応答が戻るのを待たずに、さらなるトランザクションを開始してもよい。高度仮想成分インタフェースは、基本仮想成分インタフェースのスーパーセットである。高度仮想成分インタフェースおよび周辺仮想成分インタフェースは、本発明の実施例によるシステムに採用されている。高度仮想成分インタフェースユニットは、ターゲットおよびイニシエータを含む。ターゲットおよびイニシエータは、要求パケットを送り、応答パケットを受け取る仮想成分である。イニシエータは、トランザクション、例えば、DMA(またはF150上のEPU)を開始するエージェントである。
【0036】
図2に示されているように、読取りまたは書込みトランザクションを開始するインタフェースユニットはイニシエータ210(要求220を発する)と呼ばれ、一方トランザクションを受けるインタフェースはターゲット230(要求240に応答する)と呼ばれる。これは、標準仮想成分における用語である。
【0037】
それぞれのオンチップ機能ブロック105a、105bおよび105c、およびその関連のイニシエータおよびターゲットは、仮想成分インタフェースプロトコルを用いて作られる。それぞれのイニシエータ115a、120a、115cおよびターゲット125b、130b、130cは、独自のノード135、140、145、150、155および160に接続される。それぞれのイニシエータ115a、120a、115cおよびターゲット125b、130b、130cの間の通信は、以下に詳細に説明するように、本発明の実施例によるプロトコルを用いる。
【0038】
本発明の実施例による相互接続システム110は、3つの別個のバス165、170および175を含む。RTL成分はパラメータ化可能な幅を有するので、これらは3つの異なる幅の例となる。1つの例は、64ビットの広さの周辺仮想成分バス170(32ビットアドレス+32データビット)、128ビットの高度仮想成分インタフェースバス165、および256ビットの高度仮想成分インタフェースバス175である。ここでは3つの別個のバスが図示されているが、本発明の相互接続システムは、任意の数の別個のバスを組み込むことができることを認識すべきである。
【0039】
全てのバス165、170および175に対し、バスの長さに沿った一定間隔毎に、中継器ユニット180が挿入される。バス165、170および175の長さに関しては制限はない。バス165、170および175の長さの変動は、単に中継器ユニット180の数の増加を必要とするのみである。中継器ユニットは、もちろん、相互接続のワイヤの長さのために、2つのノードの間のタイミングの制約を満たすことができない時にのみ必要になる。
【0040】
複雑なトポロジーの場合には、Tスイッチ(3方向コネクタなど)185を備えることができる。本発明の相互接続システムは、任意のトポロジーにおいて用いることができるが、トポロジーがループを含む時はデッドロックを生じることがあるので、注意しなければならない。
【0041】
データはパケットをなして、本発明の相互接続ネットワーク上で転送される。それらのパケットは、データ経路の幅の倍数である任意の長さのものでよい。相互接続ネットワーク(ノードおよびTスイッチ)を作るために用いられる、本発明によるノード135、140、145、150、155および160は、全てデータ経路上にレジスタを有する。
【0042】
それぞれのインタフェースユニットは、相互接続システム自身の中のノードに、従って、1つの特定のバスのレーンに接続される。接続は、仮想成分インタフェースの規定に従って、イニシエータタイプまたはターゲットタイプのものであり、双方のものではない。実際には、ことごとくのブロックは、構成および制御のための、周辺仮想成分インタフェースターゲットインタフェースを有する。
【0043】
本発明の実施例によるバス成分は、分散アービトレーションを用い、その場合、バスシステム内のそれぞれのブロックは、それ自身のリソースに対するアクセスを管理する。
【0044】
本発明の実施例によるノード135は、図3に示されている。それぞれのノード135、140、145、150、155および160は、実質的に同様のものである。ノード135は、図1のバス175に接続される。それぞれのノードは、第1および第2の入力記憶装置315、320を含む。第1の入力記憶装置315の入力は、第1のバスレーン305に接続される。第2の入力記憶装置320の入力は、第2のバスレーン310に接続される。第1の入力記憶装置315の出力は、第3のバスレーン306に接続され、第2の入力記憶装置320の出力は、第4のバスレーン311に接続される。それぞれのノードは、さらに注入制御ユニット335および消費制御ユニット325を含む。ノードは消費アービトレーションを必要とせず、例えば、ノードはそれぞれの単方向レーンのための出力を有するが、消費ハンドシェイキングは保存される。
【0045】
注入制御ユニット335の入力は、そのノードのためのそれぞれの機能ユニットのインタフェースユニットの出力に接続される。注入制御ユニット335の出力は、第5のバスレーン307および第6のバスレーン312に接続される。消費制御ユニット325の入力は、マルチプレクサ321の出力に接続される。マルチプレクサ321の入力は、第4のバスレーン311および第3のバスレーン306に接続される。消費制御ユニット325の出力はバス330に接続され、このバスは、そのノードのためのそれぞれの機能ユニットのインタフェースユニットに接続される。第5のバスレーン307および第3のバスレーン306は、マルチプレクサ308の入力に接続される。マルチプレクサ308の出力は、第1のバスレーン305に接続される。第4のバスレーン311および第6のバスレーン312は、マルチプレクサ313の入力に接続される。マルチプレクサ313の出力は、第2のバスレーン310に接続される。
【0046】
ノードは、データがバスに出入りする接続点である。ノードはまた、移送媒体の部分をなす。ノードは、データ経路の両方向を含むバスレーンに接続する、バスレーンの部分を形成する。ノードは、そのノードが接続するレーン上にデータを、閉塞されない時は1サイクルのレーテンシにより伝える。ノードはまた、接続機能ブロックが、そのインタフェースを経て、いずれの方向にもデータを注入し、また消費することを可能にする。注入データまたは通過データのアービトレーションは、ノード内において完全に行われる。
【0047】
内部的には、バス175は、第1のレーン305および第2のレーン310から成る。第1および第2のレーン305および310は、物理的には別個の単方向バスであり、これらは、ノード135内の同じインタフェースに対し多重化され、また多重分離される。図3に示されているように、第1のレーン305のデータフローの方向は、第2のレーン310のそれと逆方向である。それぞれのレーン305および310は、レーン番号を有する。レーン番号は、それぞれのパケットがいずれのレーン(従って、いずれの方向)に送られるかを決定するために、インタフェースユニットからノードへ送られるパラメータである。もちろん、第1および第2のレーン305および310のデータフローの方向は、同じ方向であることができる。これは、もしバス上でトランザクションを行うブロックが、1つの方向のみにパケットを送りさえすればよいならば望ましい。
【0048】
ノード135は、同じバスレーン上においてデータを同時に受け取りかつ注入することができる。同時に、データを他のレーン上に通過させることもできる。それぞれの単方向レーン305、310は、データの別個のストリーム306、307、311、312を搬送する。これらのストリーム306、307、311、312は、ポイント321において共に多重化され、ここでデータはノード135から出て、インタフェースユニット115aおよび120a(ここには図示せず)を経て、オンチップモジュール105a(ここには図示せず)に入る。データストリーム306、307、311、312は、オンチップブロック105aからバスレーン305および310上に多重分離され、データは相互接続110上に置かれる。
【0049】
これはローカルアービトレーションの例であり、この例においては、リソースのための競合は、それらのリソースが存在するブロック105aにおいて解決される。この場合は、バスレーンに対するアクセスが競合され、またバスから分離する単一レーンにアクセスが競合される。ローカルアービトレーションを用いるこのアプローチは、相互接続システムの至る所で用いられ、そのスケーラビリティのキーとなる。別の場合は、ノードから両出力バスが機能ユニットに来て、その時はアービトレーションマルチプレクサは不必要となる。
【0050】
それぞれのレーンは、独立して閉塞し、またはデータを通過させる。データは、一時に1つのレーンから消費でき、同時に1つのレーン上に注入できる。同じレーンにおける同時の注入および消費もまた可能である。それぞれのパケットがいずれのレーンに注入されるかは、インタフェースユニットにおいて決定される。
【0051】
それぞれの入力記憶装置(またはレジスタ)315および320は、データがノードからノードへと通過する時に、そのデータを記憶する。それぞれの入力記憶装置315、320は、2フリット幅のレジスタを含む。バスリソースに対する競合がない時は、1つのレジスタのみが用いられる。バスが閉塞した時は、両レジスタが用いられる。それはまた、「ヘッダにおける閉塞(block on header)」機能を実施する。これは、新しいパケットをバス上に注入できるよう、パケットをヘッダフリットにおいて閉塞させうるようにするために必要である。
【0052】
出力インタフェースユニット321、325は、両バスレーン305、310を1つのレーン330上に多重化し、レーン330は、ノード135に接続されている前記インタフェースユニットを経て、オンチップ機能ユニット105aにそれを送る。出力インタフェースユニット321、325はまた、アービトレーション機能を行い、一つのレーンがオンチップ機能ユニットにアクセスすることを許し、他のレーンを閉塞する。それぞれのノードはまた、入力インタフェースユニット335を含む。入力インタフェースユニット335は、バスレーン305、310の1つの上へパケットの多重分離を行う。それはまた、アービトレーション機能を行い、入力されつつあるパケットを、要求されたレーンが使用可能になるまで閉塞する。
【0053】
複数の中継器ユニット180は、相互接続110の長さに沿って、ある間隔で配設される。それぞれの中継器ユニット180は、データ経路上に特別なレジスタを導入するために用いられる。それはレーテンシの特別なサイクルを追加するが、タイミングの制約を満たすのが困難な場合にのみ用いられる。それぞれの中継器ユニット180は、ノードの記憶装置と同様の記憶装置を含む。その記憶装置は、単にデータを前方へ送り、また閉塞行動を実施する。中継器ユニットにおいては、スイッチングは行われない。中継器ブロックは、チップレイアウトを、より自由にする。例えば、それは、ノードの間のワイヤの長い長さを許容し、あるいは、ブロックが単一レーンに接続される単一ノードを有する場合は、中継器は他のレーン内に挿入されて、全てのレーンに対し一様なタイミング特性を与える。2つのノードの間には、1つより多くの中継器を置くことができる。
【0054】
本発明の実施例によるシステムは、プロトコルを断定できないものであり、すなわち、ノード135、140、145、150、155、160のようなデータ移送ブロック、中継器ユニット180およびTスイッチ185は、単にデータパケットを発信源インタフェースから宛先インタフェースへルーティングする。それぞれのパケットは、制御情報およびデータを含む。この情報のパッキングおよびアンパッキングは、インタフェースユニット115a、120a、125b、130b、115c、130cにおいて行われる。実施例に関しては、これらのインタフェースユニットは仮想成分インタフェースであるが、任意の他のプロトコルもカストマイズされたインタフェースユニットを作ることによりサポートすることができる。
大形のオンチップブロックは、同じバスに対しいくつかのインタフェースを有してもよい。
【0055】
インタフェースユニットのターゲットおよびイニシエータ115a、120a、125b、130b、115c、130cは、イニシエータにおいては高度仮想成分インタフェースとバスプロトコルとの間の、また、ターゲットにおいてはバスから高度仮想成分イニシエータへの変換を行う。このプロトコルは、図10に示されている高度仮想成分インタフェース側における非同期ハンドシェイクである。インタフェースユニットのイニシエータは、送信経路を含む。この経路は、高度仮想成分インタフェース通信プロトコルとバスプロトコルとの間の変換を行う。それは宛先モジュールIDまたはインタフェースIDを抽出する。また、ブロックは、それぞれのバスアドレスにおける異なるモジュール(インタフェース)IDにより、いくつかのバスに接続されてもよく、それをパケットの正しい部分内にパックし、そのモジュールIDをハードワイヤードルーティングテーブルと共に用いてレーン番号(例えば、右のものには1、左のものには0)を発生する。
【0056】
イニシエータは、データがバス上へ送られることができない時は、そのデータを高度仮想成分インタフェースにおいて閉塞する。インタフェースユニットのイニシエータはまた、応答経路を含む。この応答経路は、前に要求したデータを受け取り、バス通信プロトコルから仮想成分インタフェースプロトコルに変換する。それは、もしオンチップ仮想成分ブロックがデータを受け取ることができなければ、そのデータを閉塞する。
【0057】
インタフェースユニットのターゲットは、入来する読取りおよび書込み要求を受け取る送信経路を含む。このターゲットは、バス通信プロトコルから高度仮想成分インタフェースプロトコルへ変換する。それは、もしバス上のデータか、仮想成分インタフェースを経て受け入れ不可能ならば、そのデータを閉塞する。ターゲットはまた、読取り(および検査の目的のための書込み)要求を搬送する応答経路を含む。それは、高度仮想成分インタフェース通信プロトコルを、バスプロトコルに変換し、もしデータがバス上に送られることができなければ、そのデータを高度仮想成分インタフェースにおいて閉塞する。
【0058】
本発明の実施例において用いられる他のタイプのインタフェースユニットは、周辺仮想成分ユニットである。周辺仮想成分インタフェースと、高度仮想成分インタフェースとの主な相違は、周辺仮想成分インタフェースのデータインタフェースが高度仮想成分インタフェースよりも(4バイトまで)狭い可能性があり、周辺仮想成分インタフェースが分割トランザクションを行わないことである。
【0059】
周辺仮想成分インタフェースユニットは、イニシエータにおいて周辺仮想成分インタフェースとバスプロトコルとの間の、また、ターゲットにおいてバスプロトコルから周辺仮想成分インタフェースプロトコルへの、変換を行う。このプロトコルは、周辺仮想成分インタフェース側における非同期ハンドシェイクである。
【0060】
インタフェースユニットのイニシエータは、送信経路を含む。それはメモリアドレスから宛先モジュールIDおよび移送レーン番号を発生する。このイニシエータは、データがバス上へ送られることができない時は、周辺仮想成分インタフェースにおいてそのデータを閉塞する。イニシエータはまた、応答経路を含む。この経路は、前に要求したデータを受け取り、バス通信プロトコルから周辺仮想成分インタフェースプロトコルに変換する。それはまた、バス上のデータを、もしオンチップブロック(仮想成分ブロック)がそれを受け取るために使用できなければ、閉塞する。
【0061】
周辺仮想成分インタフェースユニットのターゲットは、入来する読取りおよび書込み要求を受け取る送信経路を含む。それは、もしバス上のデータが仮想成分インタフェースを経て受け入れ不可能ならば、そのデータを閉塞する。そのターゲットはまた、読取り(および検査の目的のための書込み)要求を搬送する応答経路を含む。それは、周辺仮想成分インタフェース通信プロトコルを、バスプロトコルに変換し、もしデータがバス上に送られることができなければ、そのデータを仮想成分インタフェースにおいて閉塞する。
【0062】
周辺仮想成分インタフェースのイニシエータは、組み合わされたイニシエータおよびターゲットを含む。これは、イニシエータの(例えば)デバッグレジスタが読取られることができるようにするためである。
【0063】
図4を参照すると、仮想成分(オンチップ)ブロックは、本発明による相互接続システムを経て互いに接続することができる。第1の仮想成分(オンチップ)ブロック425は、インタフェースユニットターゲット430に、ポイントツーポイント接続される。インタフェースユニットのターゲット430は仮想接続イニシエータインタフェース440を、オンチップブロック425の仮想成分ターゲット445に提示する。インタフェースユニットのターゲット430は、バス相互接続450に対しインタフェースするために、バスプロトコル変換ユニット448を用いる。インタフェースユニットのイニシエータ460はターゲットインタフェース470を、第2のオンチップブロック455のイニシエータ457に提示し、やはり他の側にあるプロトコル変換ユニット468を用いる。
【0064】
図1のTスイッチ185は3つのノードを結合し、単純な線形の相互接続よりも複雑な相互接続を可能にする。それぞれの入力ポートにおいて、それぞれのパケットのインタフェースIDがデコードされ、2つの可能な出力ポートを表す単一ビットに変換される。Tスイッチ内のハードワイヤードテーブルが、このデコーディングを行う。Tスイッチ上のそれぞれの入力ポートに対し、1つのそのようなテーブルが存在する。もし競合が存在すれば、出力ポートのためのアービトレーションが行われる。勝者は現在のパケットを送ってよいが、パケットを送り終わった時は負けなければならない。図5aおよび図5bは、Tスイッチの構造の例を示す。
【0065】
Tスイッチは、単方向バスレーン520、525、530のそれぞれの対に接続された、3組の入出力ポート505、510、515を含む。Tスイッチ内には、バスレーン520、525、530のそれぞれの対のためにTジャンクション535、540、545が備えられ、例えば、入力ポート515内へ来る入来バス520は、出力ポート505または510を経て出力されることができる。
【0066】
パケットは、バス上のいずれの点においてもレーンを変更しないので、Tスイッチはn個の3方向スイッチの組と見ることができ、ここでnは、単方向バスレーンの数である。Tスイッチ185は、レーン選択ユニットを含む。レーン選択ユニットは、入来パケットのモジュールIDを取り込み、Tスイッチ上の2つの可能な出力ポートに対応する1ビットの結果を発生する。Tスイッチはまた、それぞれの入力レーン上に記憶ブロックを含む。それぞれの記憶ブロックは、データフロー制御ディジットを記憶し、もし出力ポートが一時的に受け取り不可能になれば、それらのディジットを所定の場所に閉塞することを許容する。そはまた、「ヘッダにおける閉塞」機能を行い、これはスイッチングが(フロー制御ディジットレベルではなく)パケットレベルにおいて行われることを可能にする。Tスイッチはまた、出力ポートを使用する要求の間のアービトレーションのためのアービタを含む。
【0067】
初期化中に、本発明の実施例による相互接続システムは、使用可能状態にパワーアップする。ルーティング情報は、バス成分内にハードコード(hardcode)される。例えば、図6に示されているような、宛先モジュールインタフェースID(mod ID)は、パケットを別のノードにルーティングするのに必要な全てである。ノードが応答パケットを返送するためには、それは、送信側のモジュールインタフェースIDを送られていなければならない。
【0068】
処理システム内には、1つより多くの相互接続が存在する。それぞれのバス上において、ことごとくの(注入および消費ポートを含む)インタフェースは、独自のIDを有する。これらのIDは、シリコンコンパイル時にハードコードされる。
【0069】
バス(オンチップブロック)に取付けられたユニットは、リセットの直後に自由に通信を開始できる。インタフェースユニットは、動作開始の準備完了状態になるまで、(受理通知を行わないことにより)通信を延期する。
【0070】
本発明による相互接続システムは、至る所で用いられる内部プロトコルを有する。オンチップブロックに対するインタフェースにおいては、これは、ある他のプロトコル、例えば、上述の仮想成分インタフェース、に変換される。内部プロトコルは、バスプロトコルと呼ばれる。このバスプロトコルは、リソースに対する競合がない時は、バスに沿ったパケット進行のために単サイクルレーテンシを可能にし、また、競合がある時は、パケットが所定の場所に閉塞されることを可能にする。
【0071】
バスプロトコルは、全ての内部(非インタフェース/仮想成分インタフェース)データ転送のために用いられる。それは、センダ735とレシーバ730との間の5つの信号:occup705、head710、tail715、data720およびvalid725から成る。これらは図7に示されている。
【0072】
パケットは、1つまたはそれ以上のフロー制御ディジットから成る。センダが有効な信号を表明するそれぞれのサイクルにおいて、レシーバは、次の正のクロックエッジにおいてデータを受け入れなければならない。
レシーバ730はセンダ735に対し、その現在の状態について、occup信号705を用いて知らせる。これは2ビット幅の信号である。
【0073】
【表1】
【0074】
occup信号705は、センダ735に、データを送信することができるかどうか、またデータを送信できるようになった時、を知らせる。センダ735がデータフロー制御ディジットの送信を許された時は、有効信号725によりそれが認定される。
【0075】
それぞれのパケット内の第1のフロー制御ディジットは、head=「1」によりマークされる。最後のフロー制御ディジットは、tail=「1」によりマークされる。単一のフロー制御ディジットパケットは、信号head=tail=valid=「1」を有する。それぞれのノードおよびTスイッチは、これらの信号を用いて、パケットレベルにおけるスイッチングを行う。
【0076】
図8は、本発明の実施例による相互接続システムにおける閉塞行動の例を示す。occup信号が「1」にセットされ、「もしこのサイクルにおいてフロー制御ディジットを送るならば、次のサイクルには送ってはならない」を意味する。
【0077】
図9は、閉塞機構の例をもっと完全に示す。occup信号は01(2進数)にセットされ、次に10(2進数)にセットされる。センダは、occup信号が01に戻された時は、フロー制御ディジットの送信を再開することができ、−その点において、センダは現在フロー制御ディジットを送信してはおらず、それゆえセンダは次のサイクルにおいてそれを送信することができる。
【0078】
ノードとインタフェースユニットとの間の境界におけるプロトコルは、いま説明したプロトコルとは異なっており、仮想成分インタフェースにより用いられるプロトコルと同様のものである。送信インタフェースおよび受信インタフェースには、valおよびack信号が存在する。val=ack=1である時は、フロー制御ディジットは注入プロトコルのために交換される。消費(バス出力)プロトコルは、注入プロトコルと異なるが、出力の登録を可能にする(従って、チップ上のシステムへの合成および統合を簡単化する)最小の論理である。消費プロトコルは、以下のように定義される:立上りクロックエッジにおいて、もしCON BLOCK=1ならば、データは次のクロックエッジにおいて閉塞される;立上りクロックエッジにおいて、もしCON BLOCK=0ならば、データは次のクロックエッジにおいて閉塞解除される;CON BLOCKは、機能ユニットからのフロー制御(閉塞)信号である。
【0079】
もちろん、このインタフェースにおけるプロトコルは、変更することができ、バスの全体的動作には影響を与えない。
これと仮想成分インタフェースとの間の相違は、ack信号がデフォルトにより高であり、データの受信ができないサイクルにおいてのみ低が表明されることである。この制限がないと、ノードは追加のレジスタのバンクを必要とする。
【0080】
バスプロトコルは、1つまたはそれ以上のフロー制御ディジットから成る交換パケットを許容する。第1のパケットの上位部分の8ビットは宛先モジュールIDを搬送し、パケットを配信するためにバスシステムにより用いられる。トップの2ビットはまた、内部バスの目的のために用いられる。全ての他のビットフィールドにおいては、フロー制御ディジットのバッキングはバスシステムとは無関係である。
【0081】
それぞれのインタフェースユニットにおいて、仮想成分インタフェースプロトコルが用いられる。インタフェース制御フィールドおよびデータフィールドは、送信インタフェースによりバスフロー制御ディジット内にパックされ、その後受信インタフェースユニットにおいてアンパックされる。バスに対する、主たる高帯域幅インタフェースは、高度仮想成分インタフェースを用いる。高度仮想成分インタフェースの全ての機能は、OCBの内部動作を最適化するために用いられるものを除き実施される。
【0082】
仮想成分インタフェースプロトコルは、図8に示されているように、非同期ハンドシェイクを用いる。データは、VAL=ACK=1である時に有効である。バスインタフェースは、データおよび制御情報を、仮想成分インタフェースプロトコルからバス内部通信プロトコルに変換する。
【0083】
バスシステムは、制御情報とデータとを区別しない。代わりに、制御ビットおよびデータは、パケット内にパックされて宛先インタフェースユニットに送られ、そこでそれらはアンパックされ、データおよび制御に分離し返される。実施例においては、仮想成分インタフェースコンプライアントインタフェースユニットが用いられる。代わりに、異なるインタフェースユニット(例えば、ARM AMBAコンプライアントインタフェース)を用いることもできることを認識すべきである。
【0084】
テーブルIIは、本発明の実施例による相互接続システムにより用いられるデータフロー制御ディジット内のフィールドを示す。フロー制御ディジット内の全ての他の情報は、単にバスにより移送される。エンコーディングおよびデコーディングは、インタフェースユニットにより行われる。インタフェースユニットはまた、ヘッドおよびテールビットをフロー制御ディジット内に挿入し、またMOD IDを正しいビットフィールド内に挿入する。
【0085】
【表2】
【0086】
高度仮想成分インタフェースのパケットタイプは、読取り要求、書込み要求および読取り応答である。読取り要求は、単一フロー制御ディジットパケットであり、全ての関連する仮想成分インタフェースの制御フィールドは、そのフロー制御ディジット内にパックされる。書込み要求は、2つまたはそれ以上のフロー制御ディジットから成る。第1のフロー制御ディジットは、仮想成分インタフェース制御情報(例えば、アドレス)を含む。後続のフロー制御ディジットは、データおよびバイトイネーブルを含む。読取り応答は、1つまたはそれ以上のフロー制御ディジットから成る。第1の、および後続の、フロー制御ディジットは、全てデータ+仮想成分インタフェースの応答フィールド(例えば、RSCRID、RTRDIDおよびRPKTID)を含む。
【0087】
高度仮想成分インタフェースの、パケット上へのマッピングの例をここで説明する。この例は、128ビット幅のデータ経路を有するバスに対するものである。ノードは、それぞれのパケットの第1のフロー制御ディジット内のビット159:152から、宛先モジュールIDを抽出する。読取り応答パケットの場合には、これは仮想成分インタフェースのRSCRIDフィールドに対応する。
【0088】
【表3】
【0089】
周辺仮想成分インタフェースのバーストモードの読取りおよび書込みトランザクションは、バスを経ては効率的に実施されることができないので、サポートされない。この理由のために、周辺仮想成分インタフェースのEOP信号は論理「1」に固定されるべきである。どのような追加の処理ユニットまたは外部ユニットもバスに取付けることができるが、EOP信号はやはり論理「1」に固定されるべきである。この変更を行えば、ユニットは正常に作動するはずである。
【0090】
読取り要求タイプは、読取られるべきデータの32ビットのアドレスを搬送する、単一のフロー制御ディジットパケットである。読取り応答は、要求された32ビットのデータを含む、単一フロー制御ディジット応答である。書込み要求は、書込まれるべき場所の32ビットアドレス+32ビットのデータ、および4ビットのバイトイネーブルを含む、単一フロー制御ディジットパケットである。書込み応答は、読取り要求に対してと同様に書込み要求に対して応答するターゲットを阻止する。全ての追加の信号と共に、32ビット(データ)周辺仮想成分インタフェースは、バス上の69ビットを占有する。
【0091】
【表4】
【0092】
バスの内部アドレス指定機構は、システム内の全てのオンチップブロックが固定された8ビットモジュールIDを有するとの仮定に基づく。仮想成分インタフェースは、単一広域アドレス空間の使用を指定する。内部的には、バスは、システム内のそれぞれのブロックのモジュールIDに基づいてパケットを配信する。モジュールIDは8ビット幅のものである。全ての広域アドレスは8ビットのモジュールIDを含み、インタフェースユニットは、そのアドレスから単に宛先モジュールIDを抽出する。そのアドレス内におけるモジュールIDビットの場所は、前もって定められている。
【0093】
それぞれのシステムにおけるモジュールIDは、グループに分割される。それぞれのグループは、16モジュールまで含むことができる。システム内のTスイッチは、いずれの出力ポートにそれぞれのパケットを送るべきかを決定するために、グループIDを用いる。
【0094】
それぞれのグループ内には、16個までのオンチップブロックが存在でき、そのそれぞれは独自のサブIDを有する。それぞれのグループ内への16モジュールのみの含有は、バスのトポロジーを制限しない。それぞれの線形バスセクション内には、1つより多くのグループが存在できるが、異なるグループからのモジュールはインタリーブされない。Tスイッチの間には、16より多くのモジュールが存在できる。グループIDおよびサブIDの使用の唯一の目的は、Tスイッチ内のルーティングテーブルを簡単化することである。もしTスイッチが用いられていなければ、モジュールの番号付与は任意に行える。もし線形バストポロジーが用いられ、インタフェースが順次に番号を付与されていれば、テーブルの代わりに比較器を用いることができるので、これはレーン番号の発生を簡単化する。しかし、テーブルも論理の最小化の後には、もっと小さくすることができる。異なるバス上の2つのインタフェースは、同じmod ID(=インタフェースID)を有することができる。
【0095】
本発明の実施例による相互接続上の誤りトラヒックを減少させる例を、ここで説明する。正当なmod IDをもたないパケットが、インタフェースユニットに提示された時は、それはパケットの受理通知を行うが、またrerror仮想成分インタフェースフィールド内にエラーを発生する。そのパケットは、バス上へは送られない。インタフェースユニットが、それを「吸収」し、それを破壊する。
【0096】
実施例において、バスシステムブロックは与えられたプロセスにおいて、合成可能なRTLブロックと同じクロック速度で動作する。0.13μm40Gプロセッサの場合、ターゲットクロック速度は400MHzである。3つの別個のバスが存在する。それぞれのバスは、別個のパラメータ化された成分を含む。チップ上の全ての機能ユニットに接続される、64ビット幅の周辺仮想成分インタフェースバスが存在する。2つの高度仮想成分インタフェースバスが存在し、その1つは128ビットのデータ経路(それぞれの単方向レーン上に生帯域幅51.2Gbits/sec)を有し、他は256ビットデータ経路(それぞれの単方向レーン上に生帯域幅102.4Gbits/sec)を有する。この帯域幅の全ては、制御のオーバヘッドおよび要求パケットのために完全には利用できず、フロー制御ディジット内への効率的なデータのパッキングを実現することは必ずしもできない。バス上の同時のデータ転送により、帯域幅のいくらかの増加は見られるが、これはシステムシミュレーションにおいてのみ決定できる。
【0097】
実施例においては、バス上のパケットのレーテンシは、送信インタフェースユニットにおいて1サイクルであり、データが通過するバスブロック(ノードおよび中継器)毎に1サイクルであり、ノードの消費ユニットにおいては1サイクルまたは2サイクルが追加され、受信インタフェースユニットにおいては1サイクルであり、またnをフロー制御ディジットにおけるパケット長とすると、n−1サイクルである。この数字は全データ転送のためのレーテンシを与え、レーテンシがパケットサイズと共に増加することを意味する。
【0098】
ノード内の注入制御装置にプログラム可能性を導入することにより、帯域幅割当てを制御することは可能である。
パケットをバスレーンの間で交換することは不可能である。いったんパケットがバスシステムに入ると、それは宛先インタフェースユニットにおいて取り出されるまで、同じバスレーン上に留まる。バス上のパケットは、インタリーブされることは許されない。クロックサイクル毎に新しいフロー制御ディジットを注入する必要はない。換言すれば、ギャップサイクルを有することができる。これらのギャップは、パケットがバスシステム内にある時は、パケット内に留まり、帯域幅を浪費する。これらのパケットは、パケットがバスシステム内にある時は、パケット内に留まって閉塞されず、従って帯域幅を浪費する。もし閉塞されれば、確認されたデータのみが連結されるので、中間の非有効データは除去される。ギャップパケットの数を最小化するほかに、十分なFIFOバッファリングを行って、それぞれのパケットが完全に送られてしまうまで、ブロックがフロー制御ディジットの注入を控えられるように保証すること、または、ギャップを発生させないようにブロックを設計すること、が必要である。
【0099】
本発明によるシステムにおいては、(フロー制御ディジット内の)パケットの長さに制限はない。しかし、過度に大きいパケットについては考慮が必要である。その理由は、それらが大量のバスリソースを使用するからである。長いパケットは、ヘッダフロー制御ディジットのオーバヘッドのために、多数の短いパケットよりも効率的であることができる。
【0100】
本発明による相互接続システムは、要求されたデータアイテムが、それらの要求された順序でモジュールへ返送されることを保証しない。ブロックは、もし順序が問題となる場合は、パケットの再順序付けの責任を負う。これは、高度仮想成分インタフェースのpktidフィールドを用いて行われ、このフィールドは、顕著なトランザクションにタグを付け、再順序付けをする。データが、システム内の他のブロックから要求された順序でオンチップブロックに到着するとは仮定できない。順序付けが重要である場合は、受信オンチップブロックは、パケットを再順序付けできなければならない。このルールに付随する障害は、システムのデッドロックとなりやすい。
【0101】
本発明による相互接続システムは、相互接続トポロジーの選択に、かなりの柔軟性を提供する。しかし、現在は、そのトポロジー内にループを有することは賢明ではない。その理由は、ループはデッドロックの可能性を導入するからである。
【0102】
しかし、もしループが用いられるとしても、デッドロックを生じないようにルーティングテーブルをプログラムすることは可能である。これは、必要なチェックを実施するためのソフトウェアと共に、デッドロックからの自由を与えるある方法を必要とする。
【0103】
本発明による相互接続システムのさらなる利点は、パケットによりバスを飽和させても、バスに障害を起こさせないことである。それらのパケットは、最後には配信されるが、平均レーテンシはかなり増大する。もし輻そうが最大スループットよりも低く低減されれば、それは「正常動作」に復帰する。
【0104】
この点において、以下のルールを考慮すべきである。すなわち、ループはバストポロジー内にあってはならず、オンチップブロックは、順に返送されてレーテンシが重要なトランザクションに依存してはならなず、また、多重トランザクションは同じバスセグメントを使用する必要があり、最大パケットサイズは存在すべきである。上述のように、もしループが将来必要であれば、あるデッドロック防止戦略が存在しなければならない。理想的には、これは形式的証明を含む。さらに、もし順序付けが重要ならば、ブロックは、トランザクションを再順序付けできなければならない。同じレーン上を進む同じターゲットからの2つのトランザクションは、ターゲットがそれらを送ったのと同じ順序で返送される。もし要求が2つの異なるターゲットに対して行われたものとすれば、その順序付けは非決定性のものとなる。
【0105】
本発明の相互接続成分の多くは、場所およびルートが後に続く直接的RTL合成を含む。インタフェースユニットは、全体的設計の要求に依存して、オンチップブロック内、またはバスのために確保されているエリア内へ組み込まれ、例えば、バスの下には自由な多くのエリアが存在するので、機能ブロックエリアを追加するよりもこのエリアを使用すれば、全体的チップエリアが減少するので有意義である。
【0106】
相互接続システムは、システムオンチップ(system−on−chip)プラットホームの基礎を形成する。システムを総合的にチップ上に配置するプロセスを加速するために、ノードが、システムクロックリセット信号の分配を処理するために必要な「フック」を含むことが提案された。まず個々のチップを考察すると、イニシエータとターゲットとの間のトランザクションおよび応答のルーティングは、相互接続システムに接続するインタフェースブロック、およびシステム内に介在するTスイッチにより行われる。ブロックのアドレス指定は、ハードワイヤードのもので、かつ地理的なものであり、ルーティング情報は、チップの集積時に、インタフェースおよびTスイッチ内にコンパイルされる。前記プラットホームは、チップレベルおよびチップ上のブロックレベルにおける、あるモジュール性を必要とする。従って、それらが、いずれの他のチップまたはそれらの内部機構に接続されるかは、チップ自身内にハードコードすることはできない。その理由は、これは、異なるラインカード上において変化するからである。
【0107】
しかし、本発明によれば、それぞれのチップに、ある簡単なルールを与え、またこれをサポートするチップのトポロジーおよび列挙法を設計することにより、ハードワイヤードルーティング情報を用いてチップ配置の柔軟性を提供することができる。これは、簡単性およびチップ自身内におけるルーティング機構への自然な拡張であることの二重の利益を有する。
【0108】
図11は、線形チップ配置の例を示す。もちろん、本発明により異なるトポロジーを実現できることも認識すべきである。このような線形配置においては、チップ1100(0)ないし(2)などは、順次に番号付与することが容易であるので、いずれのチップのいずれのブロックも、トランザクションがその宛先に到着するために、物理アドレスのチップIDフィールド内に示されているように、相互接続1110を「上って」または「下って」ルーティングされなければならないことを知る。これは、ブロックが、同じチップ上の別のブロックまでルーティングするために行うプロセスと正確に同じである。この場合、2レベルの決定が用いられる。もし「現チップ」内であればブロックIDに基づいてルーティングし、そうでなければチップIDに基づいてルーティングする。
【0109】
図12には、別のトポロジーが示されている。それは、平行に配置された第1のバスレーン1201および第2のバスレーン1202を含む。第1および第2のバスレーンは、本発明の実施例の相互接続システムに対応する。複数のマルチスレッドアレイプロセッサ(MTAP)1210は、2つのバスレーン1201、1202の間に接続されている。ネットワーク入力装置1220、コレクタ装置1230、ディストリビュータ装置1240、ネットワーク出力装置1250は、第2のバスレーン1202に接続され、テーブルルックアップエンジン1260は第1のバスレーン1201に接続されている。これらのバスレーンに接続されている諸装置の動作の詳細は、ここでは説明しない。
【0110】
図12に示されているように、別のトポロジーにおいては、第1のバスレーン1201(例えば、256ビット幅のもの)は、高速経路のパケットデータのために専用される。第2のバスレーン1202(例えば、258ビット幅のもの)は、テーブルルックアップ、命令フェッチ、外部メモリアクセス、などのような、一般的非パケットデータのために用いられる。ブロックアクセスバスレーン1201、1202は、AVCIプロトコルを用いる。ブロックの構成および状態レジスタの読書きのための、追加のバスレーン(ここには図示せず)を用いてもよい。このレーンにアクセスするブロックは、PVCIプロトコルを用いる。
【0111】
さらに一般的には、ブロックが相互接続に接続される場所、およびブロックが用いるレーンは、選択されることができる。フロアプランニングの制約における許容度は、もちろん考慮しなければならない。例えば、ブロックは多重バスインタフェースを有することができる。レーン幅は、システムの帯域幅要求を満たすように構成することができる。
【0112】
本発明の相互接続システムは、インタフェース間のポイントツーポイント接続および分散アービトレーションを用いるので、競合または干渉なしに同時に通信するいくつかの機能ブロックの対を有することができる。ブロック間のトラヒックは、そのトラヒックが共用バスセグメントに沿って同じ方向に進む場合に限り干渉できる。この状況は、適切なレイアウトを選択することにより回避できる。すなわち、バス競合は、高速経路のパケットフローにおいて回避できる。これは、予測可能で信頼性のあるパフォーマンスを実現し、かつ相互接続の過提供を回避するために重要である。
【0113】
上述の例は、パケットデータがNIP−DIS−MTAP−COL−NOPを経てバスレーン上を左から右へ流れるので、高速経路における競合を回避する。パケットは、いずれのバスセグメントをも1回よりも多く通過しないので、バス競合は起こらない。MTAPプロセッサの間では、1つが一時に送信または受信しつつあるのみなので、干渉は起こらない。バス競合を回避するもう1つの方法は、図13に示されているように、MTAPプロセッサを主データ経路を外れた「支線」上に配置することである。
【0114】
このトポロジーは、同じバスセグメント1300上を反対方向に進むトラヒックが干渉しない事実を利用するために、Tジャンクション1305を用いている。Tジャンクションブロック1305の使用は、レイアウトおよびフロアプランニングの制約を考慮するバストポロジーの設計を容易にする。
【0115】
最低(ハードウェア)レベルの抽象において、本発明の相互接続システムは、好ましくは、高度仮想成分インタフェースのトランザクションをサポートし、これらのトランザクションは単に、イニシエータインタフェースからターゲットインタフェースへ送られた、仮想成分インタフェース規格に定められている可変サイズメッセージであり、その後には後刻の応答が可能な限り続く。この応答は遅延するので、これは仮想成分インタフェースシステムにおける分割トランザクションと呼ばれる。ネットワーク処理システムアーキテクチャは、ブロック間通信プロトコルにおいて2つの高レベルの抽象、すなわち、チャンクおよび抽象データグラム(しばしば単にデータグラムと呼ばれる)を定義する。チャンクは、1つのブロックからもう1つのブロックへ転送されるべき、かなり小量のデータを表す論理エンティティである。抽象データグラムは、アプリケーションのための自然単位のデータを表す論理エンティティである。
【0116】
ネットワーク処理のアプリケーションにおいては、抽象データグラムは、ほとんど常にネットワークのデータグラムまたはパケットに対応する。区別は、ネットワーク化以外の他のアプリケーションにおけるアーキテクチャブロックの使用を考慮するために行われる。チャンクは、CSIX Cフレームにいくらか類似しており、同様の目的のため、すなわち、便利な小単位のデータ転送を行うために用いられる。チャンクは、定められた最大サイズ、一般に約512バイト、を有するが、データグラムは、遥かに大きい、一般に9Kバイトまでのサイズであることができる。正確なサイズは構成可能である。データグラムが、1つのブロックからもう1つのブロックへ転送される必要がある時は、実際の転送は、チャンクのシーケンスを送ることにより行われる。これらのチャンクは、バスインタフェースにおいて、一連のAVCIトランザクション内にパッケージ化される。
【0117】
本発明の実施例によるシステムアドレス指定スキームを、ここでさらに詳細に説明する。本発明の実施例によるシステムは、1つより多くのチップにおいて実施されるサブシステムを含む。
【0118】
まず、個々のチップを考察すると、イニシエータとターゲットとの間の、トランザクションおよび応答のルーティングは、相互接続自身に接続されたインタフェースブロック、および相互接続内に介在するTスイッチ素子により行われる。ブロックの、本発明の実施例によるアドレス指定は、ハードワイヤードのもので、かつ地理的なものであり、ルーティング情報は、チップの集積時に、インタフェースユニット、Tスイッチおよびノード素子ロジック内にコンパイルされる。
【0119】
インタフェースIDは、64ビットの物理アドレスの上位部分を占有し、下位ビットはブロック内においてオフセットされる。追加物理ビットは、マルチチップへの拡張をサポートするチップID用に保存される。
【0120】
本発明の実施例によるプラットホームは、チップレベルおよびチップ上のブロックレベルにおける、あるモジュール性を必要とし、それらが、いずれの他のチップまたはそれらのチップの内部機構に接続されるかの知識は、これが異なるラインカード上において変化するために、ハードコードすることはできない。これは、1つのチップ内のトランザクションのためのインタフェースユニット内に存在するものと同じハードワイヤードバスルーティング情報スキームの使用を妨げる。
【0121】
しかし、それぞれのチップに、ある簡単なルールを与え、またこれをサポートするチップのトポロジーおよび列挙法を設計することにより、ハードワイヤードルーティング情報を用いてチップ配置の柔軟性を提供することができる。これは、簡単性およびチップ自身内におけるルーティング機構への自然な拡張であることの二重の利益を有する。
【0122】
図14および図15には、パケットキューメモリが2つのメモリハブチップの周囲に実施された、トラヒックハンドラサブシステムの例が示されている。
この例において、4つのチップは他のチップに対する4つの接続を有する。この結果、1つのチップから次のチップへ、トランザクションがとるルートに関しあいまいさを生じる可能性がある。従って、相互接続内にプログラム可能なルーティング機能を含める必要なしに、ハードウェアおよびソフトウェアを適切に構成することにより、トランザクションのフローを制御する必要がある。
【0123】
これは、チップIDを、単一の番号ではなくx、y座標とすることにより行われる。例えば、チップ1401のチップIDは4、2であり、チップ1403は5、1であり、チップ1404は5、3であり、チップ1402は6、2である。簡単なハードワイヤードルールが、別のチップを宛先とするトランザクションの次のホップをどのようにルーティングすべきかに関して適用される。このようにして、ローカルルールが所望のトランザクションフローを与えるように、諸チップを仮想「格子」上に配置する。この格子は、所望の効果を得るために、ギャップまたは転位を残すことにより「ひずませる」ことができる。
【0124】
それぞれのチップは、それが有する外部ポートの数およびそれらのポートのN、S、E、Wの羅針盤方位への割当てを含む、チップ自身についての完全な知識を有する。この知識は、インタフェースユニットおよびTスイッチ内へ送られる。チップは、そのチップに対しいずれの他のチップが接続されているか、または他のチップのx、y座標、についての知識は全くもたない。
【0125】
それぞれのチップにおけるローカルルールは、次の通りである。
1.トランザクションは、その相対格子位置と最小の角をなすように、インタフェース上においてルートを発せられる。
2.結合の場合、N−SインタフェースはE−Wよりも好ましい。
【0126】
これらのルールを上述の4つのチップの例に適用すると、到着チップおよびディスパッチチップ1401、1402を通る主水平軸に沿ったトランザクションは、y=2とし、単にx座標上における上り/下りを用いてルーティングされる。
【0127】
到着またはディスパッチチップ1401、1402から、メモリハブ1403、1404の一方へのトランザクションは、45度の角を有し、第2のルールが適用されて、これらをE−WではなくN−Sでルーティングする。
【0128】
メモリハブ1403、1404から任意の他のチップへの応答は、他のチップがx=5でないので、明らかにE/Wの選択を行う。
適切なチップ座標の選択および上述のルールの適用により表現できないチップトポロジーまたはトランザクションフローは、存在しないと推測される。
【0129】
本発明の方法およびシステムの実施例を添付図面に示し、また以上の詳細な説明において説明したが、本発明は、開示した実施例に制限されることはなく、以下の特許請求の範囲に記載されている本発明の範囲から逸脱することなく、さまざまな変形、改変が可能であることを理解すべきである。
【図面の簡単な説明】
【0130】
【図1】本発明の実施例による相互接続システムを組み込んだシステムのブロック概略図である。
【図2】図1の仮想成分インタフェースシステムのイニシエータおよびターゲットを示すブロック概略図である。
【図3】図1に示されている相互接続システムのノードのブロック概略図である。
【図4】図1に示されているシステムの仮想成分の間の、本発明による相互接続上における接続のブロック概略図である。
【図5a】図1のTスイッチの代表的構造の図である。
【図5b】図5aのTスイッチの内部接続を示す図である。
【図6】図1のシステムのモジュールID(インタフェースID)エンコーディングを示す。
【図7】本発明の実施例による相互接続システムにおけるハンドシェイキング信号を示す。
【図8】occup〔1:0〕=01である時の、本発明の実施例である相互接続システムの閉塞行動を示す。
【図9】本発明の実施例による相互接続システムの2サイクルの間の閉塞を示す。
【図10】本発明の実施例による仮想成分インタフェースハンドシェイクを示す。
【図11】本発明の実施例によるシステムの線形チップ配置を示す。
【図12】本発明の相互接続システムの概略ブロック図であり、別のトポロジーを示している。
【図13】本発明の相互接続システムの概略ブロック図であり、さらなる別のトポロジーを示している。
【図14】本発明の実施例によるトラヒック処理サブシステムの例を示す。
【図15】本発明の実施例の方法による仮想格子に基づきチップを位置付けするシステムを示す。
【図16】本発明の実施例の方法によるトランザクションのルーティングを示す。

Claims (30)

  1. 複数の機能ユニットを接続する相互接続システムにおいて、前記相互接続システムは、複数のノードであってそれぞれのノードが機能ユニットと通信する前記複数のノードを含み、前記相互接続システムは機能ユニットの間で複数のデータパケットを移送し、それぞれのデータパケットは、ノードが前記データパケットを前記相互接続システムを経て送ることを可能にする前記データパケットに関連するルーティング情報を有する、前記相互接続システム。
  2. 複数の機能ユニットを相互接続しかつ複数のデータパケットを移送する相互接続システムにおいて、前記相互接続システムは、複数のノードであってそれぞれのノードが機能ユニットと通信する前記複数のノードを含み、第1のノードと第2のノードとの間の前記データパケットの移送中に、前記第1のノードと前記第2のノードとの間の前記相互接続システムの部分のみが起動される、前記相互接続システム。
  3. 複数の機能ユニットを相互接続する相互接続システムにおいて、それぞれの機能ユニットはインタフェースユニットを経て前記相互接続システムに接続され、前記相互接続システムは複数のノードを含み、前記相互接続システムは複数のデータパケットを移送し、それぞれのインタフェースユニットは前記データパケットを移送するプロトコルおよび前記機能ユニットのプロトコルを変換する、前記相互接続システム。
  4. 複数の機能ユニットを相互接続しかつ複数のデータパケットを前記機能ユニットの間で移送する相互接続システムにおいて、アービトレーションがそれぞれの機能ユニットへ分散される、前記相互接続システム。
  5. それぞれのデータパケットは、ノードが前記データパケットを前記相互接続システムを経て送ることを可能にする前記データパケットに関連するルーティング情報を有する、請求項2から請求項4までのいずれかに記載の相互接続システム。
  6. 第1のノードと第2のノードとの間のデータパケットの移送中に、前記第1のノードと前記第2のノードとの間の前記相互接続システムの部分のみが起動される、請求項1、請求項3、または請求項4のいずれかに記載の相互接続システム。
  7. 前記相互接続システムはプロトコルを断定できないものである、請求項1、請求項2、または請求項4に記載の相互接続システム。
  8. アービトレーションは前記機能ユニット間で分散される、請求項1から請求項3までのいずれかに記載の相互接続システム。
  9. 前記相互接続に沿って所定距離の間隔をおいた複数の中継器ユニットを含み、前記データパケットは単一クロックサイクル中に、連続した中継器ユニットおよび/またはノードの間で移送されるようになっている、請求項1から請求項8までのいずれかに記載の相互接続システム。
  10. 前記データパケットは、前記ノードおよび/または中継器ユニットの間でパイプライン処理される、請求項9記載の相互接続システム。
  11. それぞれの中継器ユニットは、前記相互接続の閉塞時にデータを圧縮する手段を含む、請求項9または請求項10記載の相互接続システム。
  12. 前記ルーティング情報は宛先のx、y座標を含む、請求項1から請求項11までのいずれかに記載の相互接続システム。
  13. 前記相互接続の長さに沿ってのクロッキングは分散される、請求項1から請求項12までのいずれかに記載の相互接続システム。
  14. それぞれのノードは入力バッファ、注入制御および/または消費制御を含む、請求項1から請求項13までのいずれかに記載の相互接続システム。
  15. それぞれのノードは同時にデータを注入および出力できる、請求項14記載の相互接続システム。
  16. 前記相互接続システムは複数のバスを含む、請求項1から請求項15までのいずれかに記載の相互接続システム。
  17. それぞれのノードは前記複数のバスの少なくとも1つに接続されている、請求項16記載の相互接続システム。
  18. それぞれのバスの少なくとも部分は1対の単方向バスレーンを含む、請求項16または請求項17記載の相互接続システム。
  19. データはそれぞれのバスレーン上を反対方向に移送される、請求項15記載の相互接続システム。
  20. 少なくとも1つのTスイッチを含み、該Tスイッチはそれぞれのデータパケットに関連する前記ルーティング情報から前記データパケットを移送する方向を決定する、請求項1から請求項19までのいずれかに記載の相互接続システム。
  21. 前記データパケットの配信は保証されている、請求項1から請求項20までのいずれかに記載の相互接続システム。
  22. データパケットを機能ユニットの間でルーティングする方法において、それぞれのデータパケットはそれに関連するルーティング情報を有し、前記方法は、
    (a)前記ルーティング情報を読取るステップと、
    (b)前記ルーティング情報から前記データパケットを移送する方向を決定するステップと、
    (c)前記データパケットをステップ(b)において決定された方向に移送するステップと、
    を含む前記方法。
  23. 請求項1から請求項21までのいずれかに記載の前記相互接続システムを組み込んだ処理システム。
  24. それぞれの機能ユニットはインタフェースユニットを経てノードに接続されている、請求項23記載のシステム。
  25. それぞれのインタフェースユニットは、前記相互接続システムへ移送されるべき、また前記相互接続システムから受け取られるべきデータのための前記プロトコルをセットする手段を含む、請求項24記載のシステム。
  26. 前記機能ユニットは分散アービトレーションを用いて前記相互接続システムにアクセスする、請求項24または請求項25記載のシステム。
  27. それぞれの機能ユニットは、再使用可能なシステムのオンチップ機能ユニットを含む、請求項24から請求項26までのいずれかに記載のシステム。
  28. 請求項1から請求項21までのいずれかに記載の前記相互接続システムを組み込んだ集積回路。
  29. 複数のチップを含む総合システムにおいて、それぞれのチップは請求項1から請求項21までのいずれかに記載の前記相互接続システムを組み込み、前記相互接続システムは前記複数のチップを相互接続する前記総合システム。
  30. 複数のデータパケットを相互接続システムを経て移送する方法において、前記相互接続システムは複数のノードを含み、前記方法は、
    データパケットを第1のノードと第2のノードとの間で移送するステップと、
    移送中に、前記第1のノードと前記第2のノードとの間の前記相互接続システムの部分のみを起動するステップと、
    を含む前記方法。
JP2002564890A 2001-02-14 2002-02-14 相互接続システム Pending JP2004525449A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0103678A GB0103678D0 (en) 2001-02-14 2001-02-14 Network processing
GB0103687A GB0103687D0 (en) 2001-02-14 2001-02-14 Network processing-architecture II
GB0121790A GB0121790D0 (en) 2001-02-14 2001-09-10 Network processing systems
PCT/GB2002/000662 WO2002065700A2 (en) 2001-02-14 2002-02-14 An interconnection system

Publications (1)

Publication Number Publication Date
JP2004525449A true JP2004525449A (ja) 2004-08-19

Family

ID=27256074

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002564715A Pending JP2004524617A (ja) 2001-02-14 2002-02-14 クロック分配システム
JP2002564890A Pending JP2004525449A (ja) 2001-02-14 2002-02-14 相互接続システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002564715A Pending JP2004524617A (ja) 2001-02-14 2002-02-14 クロック分配システム

Country Status (6)

Country Link
US (10) US20020159466A1 (ja)
JP (2) JP2004524617A (ja)
CN (2) CN1613041A (ja)
AU (1) AU2002233500A1 (ja)
GB (5) GB2390506B (ja)
WO (2) WO2002065700A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182818A (ja) * 2003-12-17 2005-07-07 Microsoft Corp オンチップバス
JP2009524952A (ja) * 2006-01-27 2009-07-02 エフテーエス コンピューターテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング 時間制御型のセキュアな通信
WO2013141290A1 (ja) * 2012-03-23 2013-09-26 株式会社Mush-A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法

Families Citing this family (271)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549056B2 (en) 1999-03-19 2009-06-16 Broadcom Corporation System and method for processing and protecting content
EP1356653B1 (en) * 2001-01-24 2011-07-20 Broadcom Corporation Method for processing multiple security policies applied to a data packet structure
US20020159466A1 (en) * 2001-02-14 2002-10-31 John Rhoades Lookup engine
US7383421B2 (en) * 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US7107478B2 (en) * 2002-12-05 2006-09-12 Connex Technology, Inc. Data processing system having a Cartesian Controller
US20030078997A1 (en) * 2001-10-22 2003-04-24 Franzel Kenneth S. Module and unified network backplane interface for local networks
FI113113B (fi) 2001-11-20 2004-02-27 Nokia Corp Menetelmä ja laite integroitujen piirien ajan synkronoimiseksi
US7055123B1 (en) * 2001-12-31 2006-05-30 Richard S. Norman High-performance interconnect arrangement for an array of discrete functional modules
US6836808B2 (en) * 2002-02-25 2004-12-28 International Business Machines Corporation Pipelined packet processing
US7415723B2 (en) * 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US7536462B2 (en) * 2002-06-11 2009-05-19 Pandya Ashish A Memory system for a high performance IP processor
US7408957B2 (en) * 2002-06-13 2008-08-05 International Business Machines Corporation Selective header field dispatch in a network processing system
US8015303B2 (en) * 2002-08-02 2011-09-06 Astute Networks Inc. High data rate stateful protocol processing
US7684400B2 (en) * 2002-08-08 2010-03-23 Intel Corporation Logarithmic time range-based multifield-correlation packet classification
US7360007B2 (en) * 2002-08-30 2008-04-15 Intel Corporation System including a segmentable, shared bus
US20040066779A1 (en) * 2002-10-04 2004-04-08 Craig Barrack Method and implementation for context switchover
US8176298B2 (en) 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
US9088474B2 (en) * 2002-10-08 2015-07-21 Broadcom Corporation Advanced processor with interfacing messaging network to a CPU
US7627721B2 (en) 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US8478811B2 (en) 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US7924828B2 (en) * 2002-10-08 2011-04-12 Netlogic Microsystems, Inc. Advanced processor with mechanism for fast packet queuing operations
US7334086B2 (en) 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US20050044324A1 (en) * 2002-10-08 2005-02-24 Abbas Rashid Advanced processor with mechanism for maximizing resource usage in an in-order pipeline with multiple threads
US7961723B2 (en) * 2002-10-08 2011-06-14 Netlogic Microsystems, Inc. Advanced processor with mechanism for enforcing ordering between information sent on two independent networks
US7346757B2 (en) 2002-10-08 2008-03-18 Rmi Corporation Advanced processor translation lookaside buffer management in a multithreaded system
US8015567B2 (en) 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
US20050033831A1 (en) * 2002-10-08 2005-02-10 Abbas Rashid Advanced processor with a thread aware return address stack optimally used across active threads
US7984268B2 (en) 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US8151278B1 (en) 2002-10-17 2012-04-03 Astute Networks, Inc. System and method for timer management in a stateful protocol processing system
US7814218B1 (en) 2002-10-17 2010-10-12 Astute Networks, Inc. Multi-protocol and multi-format stateful processing
US7596621B1 (en) * 2002-10-17 2009-09-29 Astute Networks, Inc. System and method for managing shared state using multiple programmed processors
DE60233145D1 (de) * 2002-10-31 2009-09-10 Alcatel Lucent Verfahren zur Bearbeitung von Datenpaketen auf Schicht Drei in einer Telekommunikationsvorrichtung
US7715392B2 (en) * 2002-12-12 2010-05-11 Stmicroelectronics, Inc. System and method for path compression optimization in a pipelined hardware bitmapped multi-bit trie algorithmic network search engine
JP4157403B2 (ja) * 2003-03-19 2008-10-01 株式会社日立製作所 パケット通信装置
US8477780B2 (en) * 2003-03-26 2013-07-02 Alcatel Lucent Processing packet information using an array of processing elements
US8539089B2 (en) * 2003-04-23 2013-09-17 Oracle America, Inc. System and method for vertical perimeter protection
WO2004099999A2 (en) 2003-05-07 2004-11-18 Koninklijke Philips Electronics N.V. Processing system and method for transmitting data
US7558268B2 (en) * 2003-05-08 2009-07-07 Samsung Electronics Co., Ltd. Apparatus and method for combining forwarding tables in a distributed architecture router
US7500239B2 (en) * 2003-05-23 2009-03-03 Intel Corporation Packet processing system
US20050108518A1 (en) * 2003-06-10 2005-05-19 Pandya Ashish A. Runtime adaptable security processor
US7349958B2 (en) * 2003-06-25 2008-03-25 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
US7174398B2 (en) * 2003-06-26 2007-02-06 International Business Machines Corporation Method and apparatus for implementing data mapping with shuffle algorithm
US7702882B2 (en) * 2003-09-10 2010-04-20 Samsung Electronics Co., Ltd. Apparatus and method for performing high-speed lookups in a routing table
CA2442803A1 (en) * 2003-09-26 2005-03-26 Ibm Canada Limited - Ibm Canada Limitee Structure and method for managing workshares in a parallel region
US7886307B1 (en) * 2003-09-26 2011-02-08 The Mathworks, Inc. Object-oriented data transfer system for data sharing
US7120815B2 (en) * 2003-10-31 2006-10-10 Hewlett-Packard Development Company, L.P. Clock circuitry on plural integrated circuits
US7634500B1 (en) * 2003-11-03 2009-12-15 Netlogic Microsystems, Inc. Multiple string searching using content addressable memory
WO2005057964A1 (en) * 2003-11-26 2005-06-23 Cisco Technology, Inc. Method and apparatus to inline encryption and decryption for a wireless station
US6954450B2 (en) * 2003-11-26 2005-10-11 Cisco Technology, Inc. Method and apparatus to provide data streaming over a network connection in a wireless MAC processor
US7058424B2 (en) * 2004-01-20 2006-06-06 Lucent Technologies Inc. Method and apparatus for interconnecting wireless and wireline networks
GB0403237D0 (en) * 2004-02-13 2004-03-17 Imec Inter Uni Micro Electr A method for realizing ground bounce reduction in digital circuits adapted according to said method
US7903777B1 (en) 2004-03-03 2011-03-08 Marvell International Ltd. System and method for reducing electromagnetic interference and ground bounce in an information communication system by controlling phase of clock signals among a plurality of information communication devices
US20050216625A1 (en) * 2004-03-09 2005-09-29 Smith Zachary S Suppressing production of bus transactions by a virtual-bus interface
US7478109B1 (en) * 2004-03-15 2009-01-13 Cisco Technology, Inc. Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes
KR100990484B1 (ko) * 2004-03-29 2010-10-29 삼성전자주식회사 직렬 버스 통신을 위한 송신 클럭 신호 발생기
US20050254486A1 (en) * 2004-05-13 2005-11-17 Ittiam Systems (P) Ltd. Multi processor implementation for signals requiring fast processing
DE102004035843B4 (de) * 2004-07-23 2010-04-15 Infineon Technologies Ag Router-Netzwerkprozessor
GB2417105B (en) 2004-08-13 2008-04-09 Clearspeed Technology Plc Processor memory system
US7913206B1 (en) * 2004-09-16 2011-03-22 Cadence Design Systems, Inc. Method and mechanism for performing partitioning of DRC operations
US7508397B1 (en) * 2004-11-10 2009-03-24 Nvidia Corporation Rendering of disjoint and overlapping blits
US8170019B2 (en) * 2004-11-30 2012-05-01 Broadcom Corporation CPU transmission of unmodified packets
US20060156316A1 (en) * 2004-12-18 2006-07-13 Gray Area Technologies System and method for application specific array processing
US20060212426A1 (en) * 2004-12-21 2006-09-21 Udaya Shakara Efficient CAM-based techniques to perform string searches in packet payloads
US7769858B2 (en) * 2005-02-23 2010-08-03 International Business Machines Corporation Method for efficiently hashing packet keys into a firewall connection table
US7818705B1 (en) * 2005-04-08 2010-10-19 Altera Corporation Method and apparatus for implementing a field programmable gate array architecture with programmable clock skew
US8555166B2 (en) * 2005-05-20 2013-10-08 Hillcrest Laboratories, Inc. Dynamic hyperlinking approach
EP1891497B1 (en) * 2005-06-01 2017-04-19 Teklatech A/S A method and an apparatus for providing timing signals to a number of circuits, an integrated circuit and a node
US7373475B2 (en) * 2005-06-21 2008-05-13 Intel Corporation Methods for optimizing memory unit usage to maximize packet throughput for multi-processor multi-threaded architectures
JP4797482B2 (ja) * 2005-07-20 2011-10-19 ブラザー工業株式会社 配線基板及び配線基板の製造方法
US20070086456A1 (en) * 2005-08-12 2007-04-19 Electronics And Telecommunications Research Institute Integrated layer frame processing device including variable protocol header
US8325768B2 (en) * 2005-08-24 2012-12-04 Intel Corporation Interleaving data packets in a packet-based communication system
US7904852B1 (en) 2005-09-12 2011-03-08 Cadence Design Systems, Inc. Method and system for implementing parallel processing of electronic design automation tools
US8218770B2 (en) * 2005-09-13 2012-07-10 Agere Systems Inc. Method and apparatus for secure key management and protection
US7353332B2 (en) * 2005-10-11 2008-04-01 Integrated Device Technology, Inc. Switching circuit implementing variable string matching
US7551609B2 (en) * 2005-10-21 2009-06-23 Cisco Technology, Inc. Data structure for storing and accessing multiple independent sets of forwarding information
US7451293B2 (en) * 2005-10-21 2008-11-11 Brightscale Inc. Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing
US7835359B2 (en) * 2005-12-08 2010-11-16 International Business Machines Corporation Method and apparatus for striping message payload data over a network
KR20080085189A (ko) * 2006-01-10 2008-09-23 브라이트스케일, 인크. 병렬 프로세싱 시스템에서 멀티미디어 데이터의 알고리즘단계들을 프로세싱하기 위한 방법 및 장치
US20070162531A1 (en) * 2006-01-12 2007-07-12 Bhaskar Kota Flow transform for integrated circuit design and simulation having combined data flow, control flow, and memory flow views
KR20070088190A (ko) * 2006-02-24 2007-08-29 삼성전자주식회사 멀티미디어 데이터 처리를 위한 서브워드 병렬 처리 방법
EP2000973B1 (en) * 2006-03-30 2013-05-01 NEC Corporation Parallel image processing system control method and apparatus
US7617409B2 (en) * 2006-05-01 2009-11-10 Arm Limited System for checking clock-signal correspondence
US8390354B2 (en) * 2006-05-17 2013-03-05 Freescale Semiconductor, Inc. Delay configurable device and methods thereof
US8041929B2 (en) * 2006-06-16 2011-10-18 Cisco Technology, Inc. Techniques for hardware-assisted multi-threaded processing
JP2008004046A (ja) * 2006-06-26 2008-01-10 Toshiba Corp リソース管理装置及びそのためのプログラム
US7584286B2 (en) 2006-06-28 2009-09-01 Intel Corporation Flexible and extensible receive side scaling
US8448096B1 (en) 2006-06-30 2013-05-21 Cadence Design Systems, Inc. Method and system for parallel processing of IC design layouts
US7516437B1 (en) * 2006-07-20 2009-04-07 Xilinx, Inc. Skew-driven routing for networks
CN1909418B (zh) * 2006-08-01 2010-05-12 华为技术有限公司 通用无线接口的时钟分配装置及实现速率切换的方法
US20080040214A1 (en) * 2006-08-10 2008-02-14 Ip Commerce System and method for subsidizing payment transaction costs through online advertising
JP4846486B2 (ja) * 2006-08-18 2011-12-28 富士通株式会社 情報処理装置およびその制御方法
CA2557343C (en) * 2006-08-28 2015-09-22 Ibm Canada Limited-Ibm Canada Limitee Runtime code modification in a multi-threaded environment
US20080059762A1 (en) * 2006-09-01 2008-03-06 Bogdan Mitu Multi-sequence control for a data parallel system
US20080244238A1 (en) * 2006-09-01 2008-10-02 Bogdan Mitu Stream processing accelerator
US9563433B1 (en) 2006-09-01 2017-02-07 Allsearch Semi Llc System and method for class-based execution of an instruction broadcasted to an array of processing elements
WO2008027567A2 (en) * 2006-09-01 2008-03-06 Brightscale, Inc. Integral parallel machine
US20080059763A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data
US20080055307A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski Graphics rendering pipeline
US20080059467A1 (en) * 2006-09-05 2008-03-06 Lazar Bivolarski Near full motion search algorithm
US7657856B1 (en) 2006-09-12 2010-02-02 Cadence Design Systems, Inc. Method and system for parallel processing of IC design layouts
US7783654B1 (en) 2006-09-19 2010-08-24 Netlogic Microsystems, Inc. Multiple string searching using content addressable memory
JP4377899B2 (ja) * 2006-09-20 2009-12-02 株式会社東芝 リソース管理装置及びプログラム
US8010966B2 (en) * 2006-09-27 2011-08-30 Cisco Technology, Inc. Multi-threaded processing using path locks
US8179896B2 (en) * 2006-11-09 2012-05-15 Justin Mark Sobaje Network processors and pipeline optimization methods
US9141557B2 (en) 2006-12-08 2015-09-22 Ashish A. Pandya Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine
US7996348B2 (en) 2006-12-08 2011-08-09 Pandya Ashish A 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters
JP4249780B2 (ja) * 2006-12-26 2009-04-08 株式会社東芝 リソースを管理する装置、およびプログラム
US7676444B1 (en) 2007-01-18 2010-03-09 Netlogic Microsystems, Inc. Iterative compare operations using next success size bitmap
US8190856B2 (en) * 2007-03-06 2012-05-29 Nec Corporation Data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled
JP2009086733A (ja) * 2007-09-27 2009-04-23 Toshiba Corp 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
US8548777B2 (en) * 2007-09-28 2013-10-01 Rockwell Automation Technologies, Inc. Automated recommendations from simulation
US7801710B2 (en) * 2007-09-28 2010-09-21 Rockwell Automation Technologies, Inc. Simulation controls for model variability and randomness
US20090089031A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Integrated simulation of controllers and devices
US8069021B2 (en) * 2007-09-28 2011-11-29 Rockwell Automation Technologies, Inc. Distributed simulation and synchronization
US20090089029A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Enhanced execution speed to improve simulation performance
US20090089234A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated code generation for simulators
US7995618B1 (en) * 2007-10-01 2011-08-09 Teklatech A/S System and a method of transmitting data from a first device to a second device
US8515052B2 (en) * 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US9596324B2 (en) 2008-02-08 2017-03-14 Broadcom Corporation System and method for parsing and allocating a plurality of packets to processor core threads
US8726289B2 (en) * 2008-02-22 2014-05-13 International Business Machines Corporation Streaming attachment of hardware accelerators to computer systems
US8250578B2 (en) * 2008-02-22 2012-08-21 International Business Machines Corporation Pipelining hardware accelerators to computer systems
US20090268736A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
US20090271532A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
US20090268727A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
DE112008003832T5 (de) * 2008-04-30 2011-04-07 Hewlett-Packard Development Company, L.P., Houston Absichtlich versetzte Optiktaktsignalverteilung
JP2009271724A (ja) * 2008-05-07 2009-11-19 Toshiba Corp ハードウェアエンジン制御装置
CN102047241B (zh) * 2008-05-30 2014-03-12 先进微装置公司 本地与全局数据共享
US8958419B2 (en) * 2008-06-16 2015-02-17 Intel Corporation Switch fabric primitives
US8566487B2 (en) 2008-06-24 2013-10-22 Hartvig Ekner System and method for creating a scalable monolithic packet processing engine
US8160092B1 (en) 2008-08-05 2012-04-17 Xilinx, Inc. Transforming a declarative description of a packet processor
US8311057B1 (en) 2008-08-05 2012-11-13 Xilinx, Inc. Managing formatting of packets of a communication protocol
US7804844B1 (en) * 2008-08-05 2010-09-28 Xilinx, Inc. Dataflow pipeline implementing actions for manipulating packets of a communication protocol
US7949007B1 (en) 2008-08-05 2011-05-24 Xilinx, Inc. Methods of clustering actions for manipulating packets of a communication protocol
WO2010016015A1 (en) * 2008-08-06 2010-02-11 Nxp B.V. Simd parallel processor architecture
CN101355482B (zh) * 2008-09-04 2011-09-21 中兴通讯股份有限公司 实现嵌入式设备地址顺序识别的设备、方法和系统
US8493979B2 (en) 2008-12-30 2013-07-23 Intel Corporation Single instruction processing of network packets
JP5238525B2 (ja) * 2009-01-13 2013-07-17 株式会社東芝 リソースを管理する装置、およびプログラム
KR101553652B1 (ko) * 2009-02-18 2015-09-16 삼성전자 주식회사 이종 프로세서에 대한 명령어 컴파일링 장치 및 방법
US8140792B2 (en) * 2009-02-25 2012-03-20 International Business Machines Corporation Indirectly-accessed, hardware-affine channel storage in transaction-oriented DMA-intensive environments
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US8874878B2 (en) * 2010-05-18 2014-10-28 Lsi Corporation Thread synchronization in a multi-thread, multi-flow network communications processor architecture
US8170062B2 (en) * 2009-04-29 2012-05-01 Intel Corporation Packetized interface for coupling agents
US8743877B2 (en) * 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
CN101807288B (zh) * 2010-03-12 2014-09-10 中兴通讯股份有限公司 一种景点导游系统及其实现方法
US8332460B2 (en) * 2010-04-14 2012-12-11 International Business Machines Corporation Performing a local reduction operation on a parallel computer
EP2596470A1 (en) * 2010-07-19 2013-05-29 Advanced Micro Devices, Inc. Data processing using on-chip memory in multiple processing units
US8880507B2 (en) * 2010-07-22 2014-11-04 Brocade Communications Systems, Inc. Longest prefix match using binary search tree
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
RU2436151C1 (ru) * 2010-11-01 2011-12-10 Федеральное государственное унитарное предприятие "Российский Федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики" (ФГУП "РФЯЦ-ВНИИЭФ") Способ определения структуры гибридной вычислительной системы
US9667539B2 (en) * 2011-01-17 2017-05-30 Alcatel Lucent Method and apparatus for providing transport of customer QoS information via PBB networks
US8869162B2 (en) 2011-04-26 2014-10-21 Microsoft Corporation Stream processing on heterogeneous hardware devices
US9020892B2 (en) * 2011-07-08 2015-04-28 Microsoft Technology Licensing, Llc Efficient metadata storage
US8880494B2 (en) 2011-07-28 2014-11-04 Brocade Communications Systems, Inc. Longest prefix match scheme
US8711861B2 (en) * 2011-08-02 2014-04-29 Cavium, Inc. Lookup front end packet input processor
US8923306B2 (en) 2011-08-02 2014-12-30 Cavium, Inc. Phased bucket pre-fetch in a network processor
US8910178B2 (en) 2011-08-10 2014-12-09 International Business Machines Corporation Performing a global barrier operation in a parallel computer
US9154335B2 (en) * 2011-11-08 2015-10-06 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for transmitting data on a network
US10157060B2 (en) 2011-12-29 2018-12-18 Intel Corporation Method, device and system for control signaling in a data path module of a data stream processing engine
US9542236B2 (en) 2011-12-29 2017-01-10 Oracle International Corporation Efficiency sequencer for multiple concurrently-executing threads of execution
US9495135B2 (en) 2012-02-09 2016-11-15 International Business Machines Corporation Developing collective operations for a parallel computer
WO2013124713A1 (en) * 2012-02-24 2013-08-29 Freescale Semiconductor, Inc. Clock distribution module, synchronous digital system and method therefor
US20130229290A1 (en) * 2012-03-01 2013-09-05 Eaton Corporation Instrument panel bus interface
JP2013222364A (ja) 2012-04-18 2013-10-28 Renesas Electronics Corp 信号処理回路
US8775727B2 (en) 2012-08-31 2014-07-08 Lsi Corporation Lookup engine with pipelined access, speculative add and lock-in-hit function
US9082078B2 (en) 2012-07-27 2015-07-14 The Intellisis Corporation Neural processing engine and architecture using the same
CN103631315A (zh) * 2012-08-22 2014-03-12 上海华虹集成电路有限责任公司 便于时序修复的时钟设计方法
US9185057B2 (en) * 2012-12-05 2015-11-10 The Intellisis Corporation Smart memory
US9639371B2 (en) 2013-01-29 2017-05-02 Advanced Micro Devices, Inc. Solution to divergent branches in a SIMD core using hardware pointers
US9391893B2 (en) 2013-02-26 2016-07-12 Dell Products L.P. Lookup engine for an information handling system
US20140269690A1 (en) * 2013-03-13 2014-09-18 Qualcomm Incorporated Network element with distributed flow tables
US9185003B1 (en) * 2013-05-02 2015-11-10 Amazon Technologies, Inc. Distributed clock network with time synchronization and activity tracing between nodes
US20150012679A1 (en) * 2013-07-03 2015-01-08 Iii Holdings 2, Llc Implementing remote transaction functionalities between data processing nodes of a switched interconnect fabric
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
WO2015051851A1 (de) * 2013-10-11 2015-04-16 Wpt Gmbh Elastischer bodenbelag in form einer aufrollbaren bahnenware
US20150120224A1 (en) 2013-10-29 2015-04-30 C3 Energy, Inc. Systems and methods for processing data relating to energy usage
CN105794234A (zh) 2013-11-29 2016-07-20 日本电气株式会社 Mtc所用的设备、系统和方法
US9547553B1 (en) 2014-03-10 2017-01-17 Parallel Machines Ltd. Data resiliency in a shared memory pool
US9372724B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9372723B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9781027B1 (en) 2014-04-06 2017-10-03 Parallel Machines Ltd. Systems and methods to communicate with external destinations via a memory network
US9594688B1 (en) 2014-12-09 2017-03-14 Parallel Machines Ltd. Systems and methods for executing actions using cached data
US9529622B1 (en) 2014-12-09 2016-12-27 Parallel Machines Ltd. Systems and methods for automatic generation of task-splitting code
US9690713B1 (en) 2014-04-22 2017-06-27 Parallel Machines Ltd. Systems and methods for effectively interacting with a flash memory
US9733981B2 (en) 2014-06-10 2017-08-15 Nxp Usa, Inc. System and method for conditional task switching during ordering scope transitions
US9781225B1 (en) 2014-12-09 2017-10-03 Parallel Machines Ltd. Systems and methods for cache streams
US9690705B1 (en) 2014-12-09 2017-06-27 Parallel Machines Ltd. Systems and methods for processing data sets according to an instructed order
US9753873B1 (en) 2014-12-09 2017-09-05 Parallel Machines Ltd. Systems and methods for key-value transactions
US9639473B1 (en) 2014-12-09 2017-05-02 Parallel Machines Ltd. Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location
US9552327B2 (en) 2015-01-29 2017-01-24 Knuedge Incorporated Memory controller for a network on a chip device
US10061531B2 (en) 2015-01-29 2018-08-28 Knuedge Incorporated Uniform system wide addressing for a computing system
US9749225B2 (en) * 2015-04-17 2017-08-29 Huawei Technologies Co., Ltd. Software defined network (SDN) control signaling for traffic engineering to enable multi-type transport in a data plane
EP3278213A4 (en) 2015-06-05 2019-01-30 C3 IoT, Inc. SYSTEMS, METHODS AND DEVICES FOR AN APPLICATION DEVELOPMENT PLATFORM OF AN INTERNET OF THE THINGS OF A COMPANY
US20160381136A1 (en) * 2015-06-24 2016-12-29 Futurewei Technologies, Inc. System, method, and computer program for providing rest services to fine-grained resources based on a resource-oriented network
CN106326967B (zh) * 2015-06-29 2023-05-05 四川谦泰仁投资管理有限公司 一种带互动开关输入端口的rfid芯片
US10313231B1 (en) * 2016-02-08 2019-06-04 Barefoot Networks, Inc. Resilient hashing for forwarding packets
US10063407B1 (en) 2016-02-08 2018-08-28 Barefoot Networks, Inc. Identifying and marking failed egress links in data plane
US10027583B2 (en) 2016-03-22 2018-07-17 Knuedge Incorporated Chained packet sequences in a network on a chip architecture
US9595308B1 (en) 2016-03-31 2017-03-14 Altera Corporation Multiple-die synchronous insertion delay measurement circuit and methods
US10346049B2 (en) 2016-04-29 2019-07-09 Friday Harbor Llc Distributed contiguous reads in a network on a chip architecture
US10402168B2 (en) 2016-10-01 2019-09-03 Intel Corporation Low energy consumption mantissa multiplication for floating point multiply-add operations
US10664942B2 (en) * 2016-10-21 2020-05-26 Advanced Micro Devices, Inc. Reconfigurable virtual graphics and compute processor pipeline
US10084687B1 (en) 2016-11-17 2018-09-25 Barefoot Networks, Inc. Weighted-cost multi-pathing using range lookups
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10558575B2 (en) 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10404619B1 (en) 2017-03-05 2019-09-03 Barefoot Networks, Inc. Link aggregation group failover for multicast
US10237206B1 (en) 2017-03-05 2019-03-19 Barefoot Networks, Inc. Equal cost multiple path group failover for multicast
US10296351B1 (en) * 2017-03-15 2019-05-21 Ambarella, Inc. Computer vision processing in hardware data paths
US10243882B1 (en) 2017-04-13 2019-03-26 Xilinx, Inc. Network on chip switch interconnect
CN107679621B (zh) 2017-04-19 2020-12-08 赛灵思公司 人工神经网络处理装置
CN107704922B (zh) * 2017-04-19 2020-12-08 赛灵思公司 人工神经网络处理装置
CN107679620B (zh) * 2017-04-19 2020-05-26 赛灵思公司 人工神经网络处理装置
US10514719B2 (en) * 2017-06-27 2019-12-24 Biosense Webster (Israel) Ltd. System and method for synchronization among clocks in a wireless system
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10467183B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
CN107831824B (zh) * 2017-10-16 2021-04-06 北京比特大陆科技有限公司 时钟信号传递方法、装置、复用芯片和电子设备
GB2568087B (en) * 2017-11-03 2022-07-20 Imagination Tech Ltd Activation functions for deep neural networks
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US10417175B2 (en) 2017-12-30 2019-09-17 Intel Corporation Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US10673745B2 (en) 2018-02-01 2020-06-02 Xilinx, Inc. End-to-end quality-of-service in a network-on-chip
US10503690B2 (en) 2018-02-23 2019-12-10 Xilinx, Inc. Programmable NOC compatible with multiple interface communication protocol
JP2019153909A (ja) * 2018-03-02 2019-09-12 株式会社リコー 半導体集積回路およびクロック供給方法
US10621129B2 (en) 2018-03-27 2020-04-14 Xilinx, Inc. Peripheral interconnect for configurable slave endpoint circuits
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
US10505548B1 (en) 2018-05-25 2019-12-10 Xilinx, Inc. Multi-chip structure having configurable network-on-chip
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US10838908B2 (en) 2018-07-20 2020-11-17 Xilinx, Inc. Configurable network-on-chip for a programmable device
US10824505B1 (en) 2018-08-21 2020-11-03 Xilinx, Inc. ECC proxy extension and byte organization for multi-master systems
US11176281B2 (en) * 2018-10-08 2021-11-16 Micron Technology, Inc. Security managers and methods for implementing security protocols in a reconfigurable fabric
US10963460B2 (en) 2018-12-06 2021-03-30 Xilinx, Inc. Integrated circuits and methods to accelerate data queries
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US10796040B2 (en) * 2019-02-05 2020-10-06 Arm Limited Integrated circuit design and fabrication
US10936486B1 (en) 2019-02-21 2021-03-02 Xilinx, Inc. Address interleave support in a programmable device
US10680615B1 (en) 2019-03-27 2020-06-09 Xilinx, Inc. Circuit for and method of configuring and partially reconfiguring function blocks of an integrated circuit device
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US11386038B2 (en) * 2019-05-09 2022-07-12 SambaNova Systems, Inc. Control flow barrier and reconfigurable data processor
US11188312B2 (en) 2019-05-23 2021-11-30 Xilinx, Inc. Hardware-software design flow with high-level synthesis for heterogeneous and programmable devices
US10891414B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Hardware-software design flow for heterogeneous and programmable devices
US10891132B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Flow convergence during hardware-software design for heterogeneous and programmable devices
US11301295B1 (en) 2019-05-23 2022-04-12 Xilinx, Inc. Implementing an application specified as a data flow graph in an array of data processing engines
US11288244B2 (en) * 2019-06-10 2022-03-29 Akamai Technologies, Inc. Tree deduplication
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US10977018B1 (en) 2019-12-05 2021-04-13 Xilinx, Inc. Development environment for heterogeneous devices
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
US11320885B2 (en) 2020-05-26 2022-05-03 Dell Products L.P. Wide range power mechanism for over-speed memory design
US11496418B1 (en) 2020-08-25 2022-11-08 Xilinx, Inc. Packet-based and time-multiplexed network-on-chip
CN114528246A (zh) * 2020-11-23 2022-05-24 深圳比特微电子科技有限公司 运算核、计算芯片和加密货币矿机
US11336287B1 (en) 2021-03-09 2022-05-17 Xilinx, Inc. Data processing engine array architecture with memory tiles
US11520717B1 (en) 2021-03-09 2022-12-06 Xilinx, Inc. Memory tiles in data processing engine array
US11768714B2 (en) 2021-06-22 2023-09-26 Microsoft Technology Licensing, Llc On-chip hardware semaphore array supporting multiple conditionals
US11797480B2 (en) * 2021-12-31 2023-10-24 Tsx Inc. Storage of order books with persistent data structures
US11848670B2 (en) 2022-04-15 2023-12-19 Xilinx, Inc. Multiple partitions in a data processing array

Family Cites Families (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1061921B (it) * 1976-06-23 1983-04-30 Lolli & C Spa Perfezionamento nei diffusori per impianti di condizionamento d aria
USD259208S (en) * 1979-04-23 1981-05-12 Mccullough John R Roof vent
GB8401805D0 (en) * 1984-01-24 1984-02-29 Int Computers Ltd Data processing apparatus
JPS61156338A (ja) * 1984-12-27 1986-07-16 Toshiba Corp マルチプロセツサシステム
US4641571A (en) * 1985-07-15 1987-02-10 Enamel Products & Plating Co. Turbo fan vent
US4850027A (en) * 1985-07-26 1989-07-18 International Business Machines Corporation Configurable parallel pipeline image processing system
JP2564805B2 (ja) * 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
US4755986A (en) * 1985-09-13 1988-07-05 Nec Corporation Packet switching system
US5021947A (en) * 1986-03-31 1991-06-04 Hughes Aircraft Company Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing
GB8618943D0 (en) * 1986-08-02 1986-09-10 Int Computers Ltd Data processing apparatus
EP0258740B1 (en) * 1986-09-02 1995-07-19 Fuji Photo Film Co., Ltd. Method of and apparatus for processing an image with gradation correction of video signal
US5418970A (en) * 1986-12-17 1995-05-23 Massachusetts Institute Of Technology Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content
GB8723203D0 (en) * 1987-10-02 1987-11-04 Crosfield Electronics Ltd Interactive image modification
DE3742941A1 (de) * 1987-12-18 1989-07-06 Standard Elektrik Lorenz Ag Einrichtungen zur paketvermittlung
JP2559262B2 (ja) * 1988-10-13 1996-12-04 富士写真フイルム株式会社 磁気デイスク
JPH02105910A (ja) 1988-10-14 1990-04-18 Hitachi Ltd 論理集積回路
AU620994B2 (en) * 1989-07-12 1992-02-27 Digital Equipment Corporation Compressed prefix matching database searching
US5212777A (en) * 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
US5218709A (en) * 1989-12-28 1993-06-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Special purpose parallel computer architecture for real-time control and simulation in robotic applications
US5426610A (en) * 1990-03-01 1995-06-20 Texas Instruments Incorporated Storage circuitry using sense amplifier with temporary pause for voltage supply isolation
JPH04219859A (ja) 1990-03-12 1992-08-10 Hewlett Packard Co <Hp> 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ
US5327159A (en) * 1990-06-27 1994-07-05 Texas Instruments Incorporated Packed bus selection of multiple pixel depths in palette devices, systems and methods
US5121198A (en) * 1990-06-28 1992-06-09 Eastman Kodak Company Method of setting the contrast of a color video picture in a computer controlled photographic film analyzing system
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5752067A (en) * 1990-11-13 1998-05-12 International Business Machines Corporation Fully scalable parallel processing system having asynchronous SIMD processing
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5285528A (en) * 1991-02-22 1994-02-08 International Business Machines Corporation Data structures and algorithms for managing lock states of addressable element ranges
WO1992015960A1 (en) 1991-03-05 1992-09-17 Hajime Seki Electronic computer system and processor elements used for this system
US5313582A (en) * 1991-04-30 1994-05-17 Standard Microsystems Corporation Method and apparatus for buffering data within stations of a communication network
US5224100A (en) * 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
JPH07500702A (ja) * 1991-07-01 1995-01-19 テルストラ コーポレイション リミテッド 高速交換アーキテクチャ
US5404550A (en) * 1991-07-25 1995-04-04 Tandem Computers Incorporated Method and apparatus for executing tasks by following a linked list of memory packets
US5155484A (en) * 1991-09-13 1992-10-13 Salient Software, Inc. Fast data compressor with direct lookup table indexing into history buffer
JP2750968B2 (ja) * 1991-11-18 1998-05-18 シャープ株式会社 データ駆動型情報処理装置
US5307381A (en) * 1991-12-27 1994-04-26 Intel Corporation Skew-free clock signal distribution network in a microprocessor
US5603028A (en) 1992-03-02 1997-02-11 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for data distribution
JPH0696035A (ja) 1992-09-16 1994-04-08 Sanyo Electric Co Ltd 処理要素とそれを用いる並列処理計算機
EP0601715A1 (en) * 1992-12-11 1994-06-15 National Semiconductor Corporation Bus of CPU core optimized for accessing on-chip memory devices
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
GB2277235B (en) * 1993-04-14 1998-01-07 Plessey Telecomm Apparatus and method for the digital transmission of data
US5640551A (en) * 1993-04-14 1997-06-17 Apple Computer, Inc. Efficient high speed trie search process
US5420858A (en) * 1993-05-05 1995-05-30 Synoptics Communications, Inc. Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium
JP2629568B2 (ja) * 1993-07-30 1997-07-09 日本電気株式会社 Atmセル交換方式
US5918061A (en) * 1993-12-29 1999-06-29 Intel Corporation Enhanced power managing unit (PMU) in a multiprocessor chip
US5524223A (en) * 1994-01-31 1996-06-04 Motorola, Inc. Instruction accelerator for processing loop instructions with address generator using multiple stored increment values
US5423003A (en) * 1994-03-03 1995-06-06 Geonet Limited L.P. System for managing network computer applications
EP0680179B1 (en) * 1994-04-28 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Multicasting apparatus
EP0681236B1 (en) * 1994-05-05 2000-11-22 Conexant Systems, Inc. Space vector data path
CA2165076C (en) * 1994-05-06 2000-11-21 Michael J. Schellinger Call routing system for a wireless data device
US5463732A (en) * 1994-05-13 1995-10-31 David Sarnoff Research Center, Inc. Method and apparatus for accessing a distributed data buffer
US5659781A (en) * 1994-06-29 1997-08-19 Larson; Noble G. Bidirectional systolic ring network
US5682480A (en) * 1994-08-15 1997-10-28 Hitachi, Ltd. Parallel computer system for performing barrier synchronization by transferring the synchronization packet through a path which bypasses the packet buffer in response to an interrupt
US5949781A (en) * 1994-08-31 1999-09-07 Brooktree Corporation Controller for ATM segmentation and reassembly
US5586119A (en) * 1994-08-31 1996-12-17 Motorola, Inc. Method and apparatus for packet alignment in a communication system
US5754584A (en) * 1994-09-09 1998-05-19 Omnipoint Corporation Non-coherent spread-spectrum continuous-phase modulation communication system
AU1174695A (en) * 1994-11-07 1996-05-31 Temple University - Of The Commonwealth System Of Higher Education Multicomputer system and method
US5651099A (en) * 1995-01-26 1997-07-22 Hewlett-Packard Company Use of a genetic algorithm to optimize memory space
JPH08249306A (ja) * 1995-03-09 1996-09-27 Sharp Corp データ駆動型情報処理装置
US5634068A (en) * 1995-03-31 1997-05-27 Sun Microsystems, Inc. Packet switched cache coherent multiprocessor system
US5835095A (en) * 1995-05-08 1998-11-10 Intergraph Corporation Visible line processor
JP3515263B2 (ja) * 1995-05-18 2004-04-05 株式会社東芝 ルータ装置、データ通信ネットワークシステム、ノード装置、データ転送方法及びネットワーク接続方法
US5689677A (en) * 1995-06-05 1997-11-18 Macmillan; David C. Circuit for enhancing performance of a computer for personal use
US6147996A (en) * 1995-08-04 2000-11-14 Cisco Technology, Inc. Pipelined multiple issue packet switch
US6115802A (en) * 1995-10-13 2000-09-05 Sun Mircrosystems, Inc. Efficient hash table for use in multi-threaded environments
US5612956A (en) * 1995-12-15 1997-03-18 General Instrument Corporation Of Delaware Reformatting of variable rate data for fixed rate communication
US5822606A (en) * 1996-01-11 1998-10-13 Morton; Steven G. DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
IL116989A (en) * 1996-01-31 1999-10-28 Galileo Technology Ltd Switching ethernet controller
WO1997029613A1 (en) 1996-02-06 1997-08-14 International Business Machines Corporation Parallel on-the-fly processing of fixed length cells
US5781549A (en) * 1996-02-23 1998-07-14 Allied Telesyn International Corp. Method and apparatus for switching data packets in a data network
US6035193A (en) * 1996-06-28 2000-03-07 At&T Wireless Services Inc. Telephone system having land-line-supported private base station switchable into cellular network
US6101176A (en) * 1996-07-24 2000-08-08 Nokia Mobile Phones Method and apparatus for operating an indoor CDMA telecommunications system
US5828858A (en) * 1996-09-16 1998-10-27 Virginia Tech Intellectual Properties, Inc. Worm-hole run-time reconfigurable processor field programmable gate array (FPGA)
US6088355A (en) * 1996-10-11 2000-07-11 C-Cube Microsystems, Inc. Processing system with pointer-based ATM segmentation and reassembly
US6791947B2 (en) * 1996-12-16 2004-09-14 Juniper Networks In-line packet processing
JPH10271132A (ja) * 1997-03-27 1998-10-09 Toshiba Corp パケット交換網におけるフロー制御方式
JP3000961B2 (ja) * 1997-06-06 2000-01-17 日本電気株式会社 半導体集積回路
US5969559A (en) * 1997-06-09 1999-10-19 Schwartz; David M. Method and apparatus for using a power grid for clock distribution in semiconductor integrated circuits
US5828870A (en) * 1997-06-30 1998-10-27 Adaptec, Inc. Method and apparatus for controlling clock skew in an integrated circuit
JP3469046B2 (ja) * 1997-07-08 2003-11-25 株式会社東芝 機能ブロック、および半導体集積回路装置
US6047304A (en) * 1997-07-29 2000-04-04 Nortel Networks Corporation Method and apparatus for performing lane arithmetic to perform network processing
TW400473B (en) * 1997-09-17 2000-08-01 Sony Electronics Inc Triplet architecture in a multi-port bridge for a local area network including method and apparatus for periodically updating entries in a content addressable memory
JPH11194850A (ja) * 1997-09-19 1999-07-21 Lsi Logic Corp 集積回路用クロック分配ネットワークおよびクロック分配方法
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US5872993A (en) * 1997-12-01 1999-02-16 Advanced Micro Devices, Inc. Communications system with multiple, simultaneous accesses to a memory
US6081523A (en) * 1997-12-05 2000-06-27 Advanced Micro Devices, Inc. Arrangement for transmitting packet data segments from a media access controller across multiple physical links
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
US6301603B1 (en) * 1998-02-17 2001-10-09 Euphonics Incorporated Scalable audio processing on a heterogeneous processor array
JP3490286B2 (ja) 1998-03-13 2004-01-26 株式会社東芝 ルータ装置及びフレーム転送方法
JPH11272629A (ja) * 1998-03-19 1999-10-08 Hitachi Ltd データ処理装置
US6052769A (en) * 1998-03-31 2000-04-18 Intel Corporation Method and apparatus for moving select non-contiguous bytes of packed data in a single instruction
US6275508B1 (en) * 1998-04-21 2001-08-14 Nexabit Networks, Llc Method of and system for processing datagram headers for high speed computer network interfaces at low clock speeds, utilizing scalable algorithms for performing such network header adaptation (SAPNA)
AU3883499A (en) * 1998-05-07 1999-11-23 Aprisma Management Technologies, Inc. Multiple priority buffering in a computer network
US6131102A (en) * 1998-06-15 2000-10-10 Microsoft Corporation Method and system for cost computation of spelling suggestions and automatic replacement
US6305001B1 (en) * 1998-06-18 2001-10-16 Lsi Logic Corporation Clock distribution network planning and method therefor
DE69840947D1 (de) * 1998-09-10 2009-08-13 Ibm Paketvermittlunganpassungseinrichtung für Datenpaketen mit variabler Länge
US6393026B1 (en) * 1998-09-17 2002-05-21 Nortel Networks Limited Data packet processing system and method for a router
EP0992895A1 (en) 1998-10-06 2000-04-12 Texas Instruments Inc. Hardware accelerator for data processing systems
JP3504510B2 (ja) * 1998-10-12 2004-03-08 日本電信電話株式会社 パケットスイッチ
JP3866425B2 (ja) * 1998-11-12 2007-01-10 株式会社日立コミュニケーションテクノロジー パケットスイッチ
US6272522B1 (en) 1998-11-17 2001-08-07 Sun Microsystems, Incorporated Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture
US6256421B1 (en) * 1998-12-07 2001-07-03 Xerox Corporation Method and apparatus for simulating JPEG compression
JP3704438B2 (ja) * 1998-12-09 2005-10-12 株式会社日立製作所 可変長パケット通信装置
US6338078B1 (en) * 1998-12-17 2002-01-08 International Business Machines Corporation System and method for sequencing packets for multiprocessor parallelization in a computer network system
US6366584B1 (en) * 1999-02-06 2002-04-02 Triton Network Systems, Inc. Commercial network based on point to point radios
JP3587076B2 (ja) 1999-03-05 2004-11-10 松下電器産業株式会社 パケット受信装置
AU4651000A (en) * 1999-04-23 2000-11-10 Z-Dice, Inc. Gaming apparatus and method
GB2352536A (en) * 1999-07-21 2001-01-31 Element 14 Ltd Conditional instruction execution
GB2352595B (en) * 1999-07-27 2003-10-01 Sgs Thomson Microelectronics Data processing device
USD428484S (en) * 1999-08-03 2000-07-18 Zirk Todd A Copper roof vent cover
US6631422B1 (en) * 1999-08-26 2003-10-07 International Business Machines Corporation Network adapter utilizing a hashing function for distributing packets to multiple processors for parallel processing
US6404752B1 (en) * 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
US6631419B1 (en) * 1999-09-22 2003-10-07 Juniper Networks, Inc. Method and apparatus for high-speed longest prefix and masked prefix table search
US6963572B1 (en) * 1999-10-22 2005-11-08 Alcatel Canada Inc. Method and apparatus for segmentation and reassembly of data packets in a communication switch
AU5075301A (en) * 1999-10-26 2001-07-03 Arthur D. Little, Inc. Mimd arrangement of simd machines
JP2001177574A (ja) 1999-12-20 2001-06-29 Kddi Corp パケット交換網における伝送制御装置
GB2357601B (en) * 1999-12-23 2004-03-31 Ibm Remote power control
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
EP1244964B1 (en) * 2000-01-07 2004-10-20 International Business Machines Corporation Method and system for frame and protocol classification
US20030093613A1 (en) * 2000-01-14 2003-05-15 David Sherman Compressed ternary mask system and method
JP2001202345A (ja) * 2000-01-21 2001-07-27 Hitachi Ltd 並列プロセッサ
ATE319249T1 (de) * 2000-01-27 2006-03-15 Ibm Verfahren und vorrichtung für klassifizierung von datenpaketen
US6704794B1 (en) * 2000-03-03 2004-03-09 Nokia Intelligent Edge Routers Inc. Cell reassembly for packet based networks
US20020107903A1 (en) * 2000-11-07 2002-08-08 Richter Roger K. Methods and systems for the order serialization of information in a network processing environment
JP2001251349A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd パケットプロセッサ
US7139282B1 (en) * 2000-03-24 2006-11-21 Juniper Networks, Inc. Bandwidth division for packet processing
US7107265B1 (en) * 2000-04-06 2006-09-12 International Business Machines Corporation Software management tree implementation for a network processor
US7089240B2 (en) * 2000-04-06 2006-08-08 International Business Machines Corporation Longest prefix match lookup using hash function
US6718326B2 (en) * 2000-08-17 2004-04-06 Nippon Telegraph And Telephone Corporation Packet classification search device and method
DE10059026A1 (de) * 2000-11-28 2002-06-13 Infineon Technologies Ag Einheit zur Verteilung und Verarbeitung von Datenpaketen
GB2370381B (en) * 2000-12-19 2003-12-24 Picochip Designs Ltd Processor architecture
USD453960S1 (en) * 2001-01-30 2002-02-26 Molded Products Company Shroud for a fan assembly
US6832261B1 (en) 2001-02-04 2004-12-14 Cisco Technology, Inc. Method and apparatus for distributed resequencing and reassembly of subdivided packets
GB2407674B (en) 2001-02-14 2005-08-24 Clearspeed Technology Plc Lookup engine
US20020159466A1 (en) * 2001-02-14 2002-10-31 John Rhoades Lookup engine
JP4475835B2 (ja) * 2001-03-05 2010-06-09 富士通株式会社 入力回線インタフェース装置及びパケット通信装置
CA97495S (en) * 2001-03-20 2003-05-07 Flettner Ventilator Ltd Rotor
USD471971S1 (en) * 2001-03-20 2003-03-18 Flettner Ventilator Limited Ventilation cover
US6687715B2 (en) * 2001-06-28 2004-02-03 Intel Corporation Parallel lookups that keep order
US6922716B2 (en) * 2001-07-13 2005-07-26 Motorola, Inc. Method and apparatus for vector processing
WO2003021906A1 (en) * 2001-08-29 2003-03-13 Nokia Corporation Method and system for classifying binary strings
US7283538B2 (en) * 2001-10-12 2007-10-16 Vormetric, Inc. Load balanced scalable network gateway processor architecture
US7317730B1 (en) * 2001-10-13 2008-01-08 Greenfield Networks, Inc. Queueing architecture and load balancing for parallel packet processing in communication networks
US6941446B2 (en) * 2002-01-21 2005-09-06 Analog Devices, Inc. Single instruction multiple data array cell
US7382782B1 (en) * 2002-04-12 2008-06-03 Juniper Networks, Inc. Packet spraying for load balancing across multiple packet processors
US20030231627A1 (en) * 2002-06-04 2003-12-18 Rajesh John Arbitration logic for assigning input packet to available thread of a multi-threaded multi-engine network processor
US7200137B2 (en) * 2002-07-29 2007-04-03 Freescale Semiconductor, Inc. On chip network that maximizes interconnect utilization between processing elements
US8015567B2 (en) * 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
US7656799B2 (en) * 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US7620050B2 (en) 2004-09-10 2009-11-17 Canon Kabushiki Kaisha Communication control device and communication control method
US7787454B1 (en) 2007-10-31 2010-08-31 Gigamon Llc. Creating and/or managing meta-data for data storage devices using a packet switch appliance
JP5231926B2 (ja) * 2008-10-06 2013-07-10 キヤノン株式会社 情報処理装置、その制御方法、及びコンピュータプログラム
US8493979B2 (en) * 2008-12-30 2013-07-23 Intel Corporation Single instruction processing of network packets
US8014295B2 (en) * 2009-07-14 2011-09-06 Ixia Parallel packet processor with session active checker

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182818A (ja) * 2003-12-17 2005-07-07 Microsoft Corp オンチップバス
US7882294B2 (en) 2003-12-17 2011-02-01 Microsoft Corporation On-chip bus
JP4638216B2 (ja) * 2003-12-17 2011-02-23 マイクロソフト コーポレーション オンチップバス
JP2009524952A (ja) * 2006-01-27 2009-07-02 エフテーエス コンピューターテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング 時間制御型のセキュアな通信
WO2013141290A1 (ja) * 2012-03-23 2013-09-26 株式会社Mush-A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法
JPWO2013141290A1 (ja) * 2012-03-23 2015-08-03 株式会社Mush−A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法

Also Published As

Publication number Publication date
US20020159466A1 (en) 2002-10-31
US20050242976A1 (en) 2005-11-03
US20020161926A1 (en) 2002-10-31
GB2374443A (en) 2002-10-16
GB0203634D0 (en) 2002-04-03
GB2389689B (en) 2005-06-08
WO2002065259A1 (en) 2002-08-22
US7818541B2 (en) 2010-10-19
GB2377519B (en) 2005-06-15
CN1613041A (zh) 2005-05-04
US20050243827A1 (en) 2005-11-03
JP2004524617A (ja) 2004-08-12
GB2390506A (en) 2004-01-07
GB0321186D0 (en) 2003-10-08
GB0319801D0 (en) 2003-09-24
US8200686B2 (en) 2012-06-12
GB2377519A (en) 2003-01-15
US20070217453A1 (en) 2007-09-20
US7290162B2 (en) 2007-10-30
WO2002065700A2 (en) 2002-08-22
GB0203633D0 (en) 2002-04-03
GB2390506B (en) 2005-03-23
GB2374443B (en) 2005-06-08
US8127112B2 (en) 2012-02-28
CN1504035A (zh) 2004-06-09
AU2002233500A1 (en) 2002-08-28
US7917727B2 (en) 2011-03-29
US7856543B2 (en) 2010-12-21
US20070220232A1 (en) 2007-09-20
GB2374442A (en) 2002-10-16
GB2374442B (en) 2005-03-23
GB2389689A (en) 2003-12-17
US20040130367A1 (en) 2004-07-08
US20030041163A1 (en) 2003-02-27
WO2002065700A3 (en) 2002-11-21
CN100367730C (zh) 2008-02-06
US20040114609A1 (en) 2004-06-17
US20110083000A1 (en) 2011-04-07
GB0203632D0 (en) 2002-04-03

Similar Documents

Publication Publication Date Title
JP2004525449A (ja) 相互接続システム
EP3776231B1 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
US7012448B2 (en) Integrated circuit and related improvements
US7450583B2 (en) Device to receive, buffer, and transmit packets of data in a packet switching network
CN114073007B (zh) 可编程集成电路中的片上网络
US5925097A (en) Directly programmable distribution element
US8086800B2 (en) Integrated circuit and method for buffering to optimize burst length in networks on chips
US8014401B2 (en) Electronic device and method of communication resource allocation
JP3322195B2 (ja) Lanスイッチ
Abdelfattah et al. Take the highway: Design for embedded NoCs on FPGAs
RU2283507C2 (ru) Способ и устройство для реконфигурируемого процессора
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
US8645557B2 (en) System of interconnections for external functional blocks on a chip provided with a single configurable communication protocol
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
Sathe et al. Design of a guaranteed throughput router for on-chip networks
Wong A message controller for distributed processing systems
Cohen et al. ATOMIC: A Low-Cost, Very High-Speed LAN
SHERMI et al. A Novel Architecture of Bidirectional NoC Router with Flexible Buffer

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070518

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070802

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070809

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070918

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080527