(57)【要約】  マルチスレッド、マルチプロセシングのシステムオンチップ・ネットワーク・プロセッサ・ユニットのために拡張性があり、高機能な相互接続スキームである。本技術を実施する装置は、複数のクラスタ中に形成された複数のマスタ、複数のターゲット、および、シャーシ相互接続を含み、所定のマスタを所定のターゲットに選択的に接続するために制御される。一実施例において、シャーシ相互接続は、クロスバ相互接続を形成する複数クラスタおよび複数のターゲットの間に接続されたバス・ラインの複数のセットからなり、命令バスに対応するバスのセット、ターゲットへ書込むためのプル・データ・バス、および、ターゲット読込みのためのプッシュ・データ・バスを含む。命令バス、プル・データ・バス、およびプッシュ・データ・バスの各々のためのマルチプレクサ回路は、所定のクラスタを所定のターゲットに選択的に接続するために使用され、命令およびデータが所定のクラスタと所定のターゲットとの間で受け渡されるのを可能にする。
2008521131.tif 000002
【特許請求の範囲】
【請求項１】
複数のクラスタ内に形成された複数のマスタと、
複数のターゲットであって、各ターゲットは、前記複数のマスタにアクセス可能である共有可能な資源を含む、複数のターゲットと、
前記複数のクラスタと前記複数のターゲットとの間に接続された複数のバス・ラインのセットからなるクロスバ相互接続を形成する相互接続であって、前記バス・ラインのセットは、命令バス、ターゲットへ書込むためのプル・データ・バス、および、ターゲットの読取りのためのプッシュ・データ・バスに対応する、相互接続と、
所定のクラスタを所定のターゲットに選択的に接続し、命令およびデータが前記所定のクラスタと前記所定のターゲットとの間で受け渡しされることを可能にするマルチプレクサ回路と、
を含むことを特徴とする装置。
【請求項２】
前記複数のクラスタと前記複数のターゲットとの間に接続される複数のバス・ラインのセットからなるクロスバ相互接続を形成するプル・データ要求識別（ＩＤ）バスをさらに含むことを特徴とする請求項１記載の装置。
【請求項３】
前記複数のクラスタと前記複数のターゲットとの間に接続される複数のバス・ラインのセットからなるクロスバ相互接続を形成するプッシュ・データ要求識別（ＩＤ）バスをさらに含むことを特徴とする請求項１記載の装置。
【請求項４】
前記ターゲットの第１部分は、前記命令バス、プル・データ・バス、および、プッシュ・データ・バスの第１実現に対応する第１の複数のバス・ラインのセットに関連し、前記ターゲットの第２部分は、前記命令バス、プル・データ・バス、および、プッシュ・データ・バスの第２実現に対応する第２の複数のバス・ラインのセットに関連することを特徴とする請求項１記載の装置。
【請求項５】
前記装置は、プロセッサを含み、かつ、前記複数のマスタは、複数のプロセッサ・コア要素を含むことを特徴とする請求項１記載の装置。
【請求項６】
ターゲットがターゲットおよびマスタ両方を選択的に動作することを可能にするためのバス回路をさらに含むことを特徴とする請求項１記載の装置。
【請求項７】
ターゲットおよびマスタ両方を選択的に動作することができる汎用プロセッサをさらに含むことを特徴とする請求項６記載の装置。
【請求項８】
ターゲットおよびマスタ両方を選択的に動作することができるトラフィック管理をさらに含むことを特徴とする請求項６記載の装置。
【請求項９】
ターゲットおよびマスタ両方を選択的に動作することができる周辺部品相互接続（ＰＣＩ）インターフェイスおよびＰＣＩ高速インターフェイスのうちの１つをさらに含むことを特徴とする請求項６記載の装置。
【請求項１０】
選択されたターゲットはサブ−グループにグループ化され、各サブグループは、前記プッシュ・データ・バスおよび前記プル・データ・バスの各々に対するそれぞれのサブグループのマルチプレクサを含み、前記サブグループ中の前記ターゲットが前記相互接続を経由して前記複数のクラスタに選択的に接続されることを可能にすることを特徴とする請求項１記載の装置。
【請求項１１】
前記ターゲットのうちの１つは、メディア・スイッチ構成のインターフェイスを含むことを特徴とする請求項１記載の装置。
【請求項１２】
前記ターゲットのうちの１つは、メモリ制御器を含むことを特徴とする請求項１記載の装置。
【請求項１３】
前記装置は集積回路（ＩＣ）チップを含み、前記複数のターゲットは、前記ＩＣチップの周囲に近接して配置される一方、マスタの前記複数のクラスタは、前記ＩＣチップの中心部分に向けて配置されることを特徴とする請求項１記載の装置。
【請求項１４】
各クラスタに対して少なくとも１つのパイプライン方式のバスをさらに含み、そのクラスタを経由してデータがクラスタ中のマスタ間で転送されることを特徴とする請求項１記載の装置。
【請求項１５】
複数のクラスタ内に形成された複数のマスタと、
複数のターゲットであって、各ターゲットは、前記複数のマスタにアクセス可能である共有可能な資源を含む、複数のターゲットと、
前記複数のクラスタと前記複数のターゲットとの間に接続された複数のバス・ラインのセットからなる、クロスバ相互接続を形成する相互接続手段であって、前記バス・ラインのセットは、命令バス、ターゲットへ書込むためのプル・データ・バス、および、ターゲットの読取りのためのプッシュ・データ・バスに対応する、相互接続手段と、
前記バス、プル・データ、およびプッシュ・データ・バスの各々に対して所定のクラスタを所定のターゲットに選択的に接続するためのマルチプレクサ手段であって、前記命令およびデータが前記所定のクラスタと前記所定のターゲットとの間で受け渡しされることを可能にする、マルチプレクサ手段と、
前記命令バス、プル・データ・バス、および、プッシュ・データ・バスの各々を調停するために、前記マルチプレクサ手段を制御するために結合されたバス調停手段と、
を含むことを特徴とする装置。
【請求項１６】
前記相互接続手段は、第１部分および第２部分を含み、前記複数のターゲットは、第１および第２セットのターゲットに分割され、前記第１セットのターゲットは、前記相互接続手段の前記第１部分を経由して前記複数のクラスタに接続され、前記第２セットのターゲットは、前記相互接続手段の前記第２部分を経由して前記複数のクラスタに接続されことを特徴とする請求項１５記載の装置。
【請求項１７】
前記装置はネットワーク・プロセッサ手段を含み、前記複数のマスタは複数のパケット処理手段を含むことを特徴とする請求項１５記載の装置。
【請求項１８】
ターゲットがターゲットおよびマスタ両方を選択的に動作することを可能にするための手段をさらに含むことを特徴とする請求項１５記載の装置。
【請求項１９】
命令およびデータを、各クラスタを具備するマスタからおよびマスタへ転送するための手段をさらに含むことを特徴とする請求項１５記載の装置。
【請求項２０】
選択されたターゲットはサブ−グループにグループ化され、各サブグループは、前記プッシュ・データ・バスおよび前記プル・データ・バスの各々に対して、それぞれのサブグループのマルチプレクサ、および、バス調停手段を含み、前記サブグループ中の前記ターゲットが前記シャーシ相互接続手段を経由して前記複数のクラスタに接続されることを可能にすることを特徴とする請求項１５記載の装置。
【請求項２１】
前記ターゲットのうちの１つは、メディア・スイッチ構成のインターフェイス手段を含むことを特徴とする請求項１５記載の装置。
【請求項２２】
前記ターゲットのうちの１つは、メモリ制御器手段を含むことを特徴とする請求項１記載の装置。
【請求項２３】
ネットワーク・プロセッサであって、
複数のクラスタ内に形成された複数の処理コア、
複数のターゲットであって、各ターゲットは、前記複数の処理コアにアクセス可能な共有可能な資源を含み、前記ターゲットは、メディア・スイッチ構成のインターフェイスおよび周辺部品相互接続（ＰＣＩ）高速インターフェイスを含む、複数のターゲット、
前記複数のクラスタと前記複数のターゲットとの間に接続された複数のバス・ラインのセットを含む、クロスバ相互接続を形成するシャーシ相互接続であって、前記バス・ラインのセットは、命令バス、ターゲットへ書込むためのプル・データ・バス、および、ターゲット読込みのためのプッシュ・データ・バスに対応する、シャーシ相互接続、および
前記所定のクラスタを前記所定のターゲットに選択的に接続するための前記命令バス、プル・データ・バス、プッシュ・データ・バスの各々のためのマルチプレクサ回路であって、命令およびデータが前記所定のクラスタと前記所定のターゲットとの間で受け渡しされることを可能にする、マルチプレクサ回路、
を含むネットワーク・プロセッサと、
複数の入出力（Ｉ／Ｏ）ポート間のクロスオーバ接続を含み、その接続を経由してパケットが受け取られ、かつ転送され、前記メディア・スイッチ構成のインターフェイスに結合されたメディア・スイッチ構成と、
前記ＰＣＩ高速インターフェイスに結合されたＰＣＩ高速ボードと、
を含むことを特徴とするネットワーク装置。
【請求項２４】
ターゲットを含むダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）制御チャネルと、
前記ＤＲＡＭ制御チャネルに結合されたＤＲＡＭ格納と、
をさらに含むことを特徴とする請求項２３記載のネットワーク装置。
【請求項２５】
ターゲットを含む第２メディア・スイッチ構成のインターフェイスと、
前記第２メディア・スイッチ構成のインターフェイスに結合された第２メディア・スイッチ構成と、
を含むことを特徴とする請求項２３記載のネットワーク装置。
【請求項２６】
前記複数のクラスタと前記複数のターゲットとの間に接続された複数のバス・ラインのセットを含み、クロスバ相互接続を形成するプル識別（ＩＤ）バスと、
前記複数のクラスタと前記複数のターゲットとの間に接続された複数のバス・ラインのセットを含み、クロスバ相互接続を形成するプッシュ識別（ＩＤ）バスと、
所定のクラスタを所定のターゲットに選択的に接続するための前記命令バス、プッシュ・データ・バス、および、プル・データ・バスの各々のためのマルチプレクサ回路であって、命令およびデータが前記所定のクラスタと前記所定のターゲットとの間で受け渡されることを可能にする、マルチプレクサ回路と、
をさらに含むことを特徴とする請求項２３記載のネットワーク装置。
【請求項２７】
前記プッシュ・データおよびプッシュＩＤバスのための前記マルチプレクサ回路は、複数のプッシュ・データおよびプッシュＩＤマルチプレクサを含み、前記装置は、前記複数の処理コアから前記シャーシ相互接続を経由して前記複数のターゲットに発行されるプル・データ・トランザクション要求の許可を調停するために、前記ターゲット、プッシュ・データ・マルチプレクサ、および、プッシュＩＤマルチプレクサに動作可能に結合された２段アービタをさらに含むことを特徴とする請求項２６記載のネットワーク装置。
【請求項２８】
選択されたターゲットはサブグループへグループ化され、前記２段アービタは、
対応するサブグループ中のターゲットによって発行されたトランザクション要求を調停する、サブグループ・アービタを含む第１調停ステージと、
１またはそれ以上のサブグループ・アービタから前記クラスタ・アービタに発行された獲得トランザクション要求を調停するクラスタ・アービタを含む第２調停ステージと、
を含むことを特徴とする請求項２８記載のネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の範囲は、一般にネットワーク機器に関し、さらに特定すると、他を排除するものではないが、ネットワーク・プロセッサ・ユニットのようなマルチスレッド、マルチプロセシングのシステムオンチップ装置に対し拡張性があり、高機能で、かつ大規模な相互接続スキームに関する。
【背景技術】
【０００２】
スイッチやルータのようなネットワーク装置は、高速ラインにおいてパケット形式のネットワーク・トラフィックを転送するように設計される。ネットワーク・トラフィックを扱うために最も重要な考察の１つは、パケット処理能力である。これを実現するために、ネットワーク・プロセッサとして知られている特定の目的を有するプロセッサが毎秒当たり極めて多くのパケットを効率的に処理するために開発される。パケットを処理するために、ネットワーク・プロセッサ（および／またはネットワーク・プロセッサを使用するネットワーク機器）は、パケットの宛先、サービスなどのクラスなどを示すパケット・ヘッダからデータを抽出し、ペイロード（搭載）データをメモリに格納し、パケットの分類およびキューイング動作を実行し、そのパケットのための次のホップを決定し、そのパケットなどを転送するネットワーク・ポートを選択し割当てる必要がある。これらの動作は、一般に「パケット処理」動作と称される。
【０００３】
現代のネットワーク・プロセッサは、複数のマルチスレッドの処理要素（カリフォルニア州サンタクララのインテル社製ネットワーク・プロセッサ内のマイクロエンジンと称される）を用いてパケット処理を実行するが、各スレッドは、特定のタスクまたはパイプライン方式におけるタスク・セットを実行する。パケット処理中、多数のアクセスは、ネットワーク・プロセッサに結合され、および／または、ネットワーク・プロセッサによって提供される様々な共有資源間でデータを移動させるために行なわれる。例えば、ネットワーク・プロセッサは、一般に、パケットのメタデータおよび同種のデータをスタティック・ランダム・アクセス・メモリに格納する一方、パケット（あるいはパケット・ペイロード・データ）をダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）に格納する。さらに、ネットワーク・プロセッサは、暗号化プロセッサ、ハッシュ・ユニット、汎用プロセッサ、および、ＰＣＩ（周辺部品相互接続）およびＰＣＩ高速バスのような拡張バスに結合することができる。
【０００４】
一般に、ネットワーク・プロセッサの様々なパケット処理要素（例えば、マイクロエンジン）は、汎用プロセッサのような他のオプション的な処理要素と同様に、様々なシステム資源へのアクセスを共有する。このような共有資源は、典型的にはメモリ格納（例えば、ＳＲＡＭ、ＤＲＡＭ）、ハッシュ・ユニット、暗号ユニットなど、および入出力（Ｉ／Ｏ）インターフェイスのようなデータ・ストレージおよび演算ユニットを含む。共有資源とそれらのコンシューマ（利用者）は、「シャーシ（chassis）」として知られているバス群によって相互に結合される。シャーシは、ネットワーク・プロセッサ・チップ上で高いパフォーマンスを示す相互接続であり、チップ上の多数の処理要素とオンチップまたはチップ内に搭載されたインターフェイスを介してアクセス可能な多数の共有資源との間のオンチップ・データ伝送インフラストラクチャを提供する。
【０００５】
典型的なネットワーク・プロセッサ構成の下で、様々なバス・スキームが、共有資源への共有アクセスをイネーブルにするために使用される。ある時間においては単一セットの信号のみが所定のバス上のいずれかの地点に存在することができるので、バスは、複数の資源のコンシューマがバスに結合された複数の資源ターゲットにアクセスすることを可能にするために多重化および同様の処理を要求する。アクセス競合を軽減するための１つの技術は、データ読取りおよびデータ書込みのための個別のバスを各ターゲット用に提供することである。ここに用いられるように、これらのバスは、プッシュ・バス（読取り用）およびプル・バス（書込み用）として知られている。（用語プッシュおよびプルは、共有資源ターゲットの観点からであることに注目すべきである。）しかしながら、各ターゲットのための読取りおよび書込み用の個別バスを実現することによって、バス・カウントが増加し、これにより、ネットワーク・プロセッサのチップに対して既に混み合った信号にルーティング要求を加えることになる。従来のアプローチの下で考慮する１６個の共有資源への共有アクセスは、１６個の独立したバスのセットを要求するが、各バスのセットは、合計４８個のバスに対し、読取りバス、書込みバス、および命令バスを含む。このような多数のバスに対するルーティングをサポートするために、ダイ寸法を増大させなければならず、これはダイ寸法およびプロセッサのコストを低減させる目標と直接に衝突する。
【０００６】
前述の状況、および、本発明の付随的な多くの利点は、以下の詳細な説明を添付図面と共に参照することによってその同じ内容が一層よく理解され、より容易に評価されるであろう。同じ参照数字は、別段の定めがない限り、様々な視点から類似の部分に関連する。
【発明の開示】
【０００７】
マルチスレッド、マルチプロセシングのシステムオンチップ・ネットワーク・プロセッサ・ユニットのために拡張性があり、高機能な相互接続スキームの実施例が、ここに説明される。以下の説明では、多くの特定の詳細な事項が、本発明の実施例についての完全な理解を提供するために述べられる。しかしながら、関連技術に習熟している当業者は、１またはそれ以上の特定の詳細な事項がなくても、また他の方法、コンポーネント、材料などで本発明を実施することができることを認識している。他の実施例では、周知の構造、材料または動作は示されず、本発明の側面を不明瞭にしないために詳細には説明されていない。
【０００８】
この明細書を通じて「一実施例」または「実施例」との表示は、実施例に関して説明された本発明の少なくとも一実施例に含まれる特定の機能、構造または特性を意味する。したがって、本明細書を通じた様々な場所に現れる「一実施例において」あるいは「実施例中」の文言は、必ずしもすべて同じ実施例を参照しているわけではない。更に、特定の機能、構造または特性は、１またはそれ以上の実施例中の任意の適切な方法で組み合わせられることがある。
【０００９】
ここに説明される実施例の一側面に従って、クロスバ・アーキテクチャの原則に基づいた拡張性のあるシャーシ相互接続インフラストラクチャは、各共有資源の個々のバスのセットを要求せずに、多くの共有資源へのアクセスを可能にするために実現される。シャーシは、２つのタイプのエージェント、すなわちマスタおよびターゲットの間のトランザクションをサポートする。一実施例において、マスタは、共通バスのインフラストラクチャを共有するグループ（「クラスタ」）へ組織化される。シャーシは、さらにマスタからターゲットへ命令およびプッシュおよびプル・データおよび要求識別子（ＩＤ）バスのそれぞれのセットを移動させる命令バスを含む１組の高機能バスからなる。
【００１０】
図１は、前述のシャーシ相互接続の一実施例を実現するネットワーク・プロセッサのアーキテクチャ１００を示す。本アーキテクチャの中心に、４つの処理要素クラスタ１０２Ａ，１０２Ｂ，１０２Ｃ，１０２Ｄがある。（便宜上、それらのクラスタは、Ａ，Ｂ，Ｃ，Ｄの１つの記号を含むサフィクスを含む参照番号を具備するクラスタ、および、様々なバス・コンポーネントの関係をより容易に識別するために、図中に［Ａ］，［Ｂ］，［Ｃ］，［Ｄ］とラベルが付される。）図示される実施例では、処理要素クラスタ１０２Ａ−Ｄの各々は、６つのパケット処理マイクロエンジン（ＭＥ）１０４を含む。他の実施例では、各処理要素クラスタは、４つまたは８つのマイクロエンジンのように、異なる数のマイクロエンジンを含んでいてもよいが、これに制限されることはない。一般に、各マイクロエンジンは、共通のダイ上に複数の処理コアを含むネットワーク・プロセッサのアーキテクチャ１００と共に、ＲＩＳＣ（縮小命令セット・コンピュータ）の処理コアからなる。
【００１１】
図１の実施例は、ネットワーク・プロセッサのアーキテクチャ１００の周囲付近にほぼ位置する様々な典型的な共有資源ターゲットを示す。順番に、共有資源は、図１の上部および下部に向けて配置されたバス・セットへ第１レベルのグループ化が図られる。図１の上部へ向けて示されたターゲットは、「ノース」ターゲットと称されるが、トラフィック管理（ＴＭ）１０８、汎用プロセッサ（ＧＰ−Ｐｒｏｃ）１１０，狭ランダム・アクセス・メモリ（ＮＲＡＭ）制御チャネル１１２，１１４，１１６，１１８、ＰＣＩ（周辺部品相互接続）インターフェイス１２０、および、ＰＣＩ高速インターフェイス１２２を含む。一般に、ＮＲＡＭ制御チャネルは、様々なタイプのメモリ格納にアクセス・コントロールを提供する制御チャネルを示し、ＳＲＡＭに制限されないが、ランバスＤＲＡＭ（ＲＤＲＡＭ）、クワッド・データ速度（ＱＤＲ）ＲＡＭなどのような狭ＲＡＭデバイスからなる。図１の下部へ向けて示されたターゲットは、「サウス」ターゲットと称されるが、第１暗号化（Ｃｒｙｐｔｏ０）ユニット１２４、第１メディア・スイッチ構成（ＭＳＦ０）のインターフェイス１２６、ＤＲＡＭ制御チャネル１２８，１３０、ハッシュ・ユニット１３２、ＤＲＡＭ制御チャネル１３４、第２メディア・スイッチ構成（ＭＳＦ１）のインターフェイス１３６、および、第２暗号化（Ｃｒｙｐｔｏｌ）ユニット１３８を含む。
【００１２】
一般に、アーキテクチャ１００は、論理的なアーキテクチャを表わし、様々な要素の物理的な位置は、図中に示される場所と異なることがある。しかしながら、一実施例において、物理的な装置上におけるターゲットおよびマスタの一般的な位置は、図１および図８に示される位置に近似し、マスタが装置の中心の方へ配置される一方、ターゲットは一般に装置の周囲付近に位置する。
【００１３】
アーキテクチャ１００は、クラスタ１０２Ａ−Ｄを様々な共有資源ターゲットに接続する２セットのバスを含む。一実施例において、バスの各セットは、命令バス、および、２セットのデータ・バス、すなわちデータ読取りのためのプッシュ・バスおよびデータ書込みのためのプル・バスを含む。このように、各クラスタは、２つの独立した命令バス、および、２セットのデータ・バスを具備する。さらに、一実施例において、バスのセットは、マスタとターゲットへのおよびからのデータ転送をサポートするために関連するタグ・バス（ＩＤバス）をさらに含む。
【００１４】
アーキテクチャ１００の上部に位置するノース・ターゲットのために使用されるバスは、ノース命令バス１４０、ノースのプル・データ・バス１４２、ノースのプルＩＤバス１４４、ノースのプッシュ・データ・バス１４６、および、ノースのプッシュＩＤバス１４８を含む。アーキテクチャ１００の下部に位置するサウス・ターゲットのために使用されるバスは、サウス命令バス１５０、サウスのプル・データ・バス１５２、サウスのプルＩＤバス１５４、サウスのプッシュ・データ・バス１５６、および、サウスのプッシュＩＤバス１５８を含む。
【００１５】
図２Ａは、一実施例に従って、ノース命令バス１４０の詳細を示す。ノース命令バスはクロスバ構成を使用し、各ターゲットはそれぞれのマルチプレクサによってバスのセットに接続される（一般に、「多重化装置」と称される）。これは、各ターゲットと各クラスタとの間の選択的な関係をサポートし、それは、様々なマルチプレクサの構成を制御することにより提供されるルーティングに基づいて形成される。
【００１６】
ノース命令バス１４０の回路は、バス・ライン２００Ａ，２００Ｂ，２００Ｃ，２００Ｄを含む１セットの水平バス２００を含む。単一の信号ではなく、各バス・ラインは、それぞれのバスに対応する１セットの信号ラインを表わすことが理解されるであろう。各バスの幅は、ネットワーク・プロセッサにおける実際の特定の要求に依存する。クロスバ・バス（バス・ラインとして描かれる）のそれぞれのセットは、各命令マルチプレクサによって、水平バス・ラインのセット２００と各ターゲットとの間で結合される。クロスバ・バスは、クロスバ・バス２１０，２１２，２１４，２１６，２１８，２２０を含む一方で、マルチプレクサは、命令（ＣＭＤ）マルチプレクサ２２２，２２４，２２６，２２８，２３０，２３２を含む。さらに、命令マルチプレクサ２３４，２３６は、水平バス・ラインのセット２００の終端に接続される。
【００１７】
一実施例において、バス・ラインのセット中のバスの数（バスとして描かれている）は、アーキテクチャ中のクラスタの数に等しい。例えば、ここに示された図では、ネットワーク・プロセッサのアーキテクチャは、４つのクラスタを含む。したがって、各バス・ラインのセットのために描かれたバス・ラインの数は、４セットのバスがあるということを示して、４つである。他の実施例（図示せず）では、ネットワーク・プロセッサのアーキテクチャは、例えば６つのような他のクラスタの数を含んでいてもよい。この場合、各バス・ラインのセットは、６セットのバスを描く６つのバス・ラインを含む。一般に、クロスバ・バス中のバス・ライン（すなわち、バス）の数は、結合された水平バス中のバス・ラインの数と等しい。
【００１８】
ノース命令バス１４０のクロスバ・バスのアーキテクチャは、２段の調停（アービトレーション）スキームをサポートする。調停スキームは、所定のマスタを指定のターゲットに選択的に接続するために使用され、命令がマスタからターゲットへ送ることを可能にする。第１ステージがマスタから所定のクラスタを選択するために使用される一方、第２ステージは、ノース・ターゲットのすべての中から指定のターゲットを選択するために使用される。内部クラスタにおける調停と称される第１調停ステージの結果は、クラスタ１０２Ａ，１０２Ｂ，１０２Ｃ，１０２Ｄの各々に対して、それぞれＯＲゲート２４０Ａ，２４０Ｂ，２４０Ｃ，２４０Ｄとして描かれる。ＯＲゲートの表記は、所定のクラスタに対していずれかのマスタがターゲット・トランザクション要求を開始する場合、全クラスタに対する要求を調停するプロセスが開始することを示すために使用される。各クラスタのノースのターゲット命令の出力ステージは、それぞれのクロスバ・バスを経由して、バス・ラインのセット２００中の対応するバスに接続される。これらは、クロスバ・バス２４２Ａ，２４２Ｂ，２４２Ｃ，２４２Ｄを含む。
【００１９】
図示された実施例では、トランザクション要求は、パイプライン方式のスキームを使用して、所定のクラスタ中のマスタ間に転送される。このパイプライン方式の設計は、現代のネットワーク・プロセッサによって使用されるパケット処理を行なうために用いられるマルチスレッドのアプローチを利用する。したがって、クラスタのための出力ステージに達するまで、ターゲット・トランザクション要求は、パイプライン中の１つのマスタから次のマスタへ受け渡される。出力ステージおよびクラスタにおける調停（つまり、複数のクラスタから送出された同時の要求間における調停）で内部クラスタ調停を獲得する際、命令はそのクラスタに対応する水平バス・ラインに置かれる。
【００２０】
図２ａに示された別の概念は、ターゲットがターゲットとしてまたマスタとしての両方の動作をする能力である。例えば、汎用プロセッサ１１０、トラフィック管理１０８、ＰＣＩインターフェイス１２０、および、ＰＣＩ高速インターフェイス１２２の各々は、ターゲットおよびマスタの両方を動作することができる。図２ａに示されるように、追加のパイプライン方式のステージが、汎用プロセッサ１１０またはトラフィック管理１０８のうちの１つからクラスタ１０２Ａを経由してターゲット・トランザクション要求を送り、および、ＰＣＩインターフェイス１２０またはＰＣＩ高速インターフェイス１２２のうちの１つからクラスタ１０２Ｂを経由してターゲット・トランザクション要求を送るために使用される。
【００２１】
図２ｂに示されるように、サウス命令バス１５０のためのバス・アーキテクチャは、一実施例によれば、図２ａに示されるノース命令バス１４０のためのアーキテクチャと類似している。バス・アーキテクチャは、バス２５０Ａ，２５０Ｂ，２５０Ｃ，２６０Ｄを含む水平バス・ラインのセット２５０を含む。ノース命令バスのアーキテクチャのように、それぞれのクロスバ・バスのセットは、それぞれの命令マルチプレクサを経由して、水平バス・ラインのセット１５０と様々なサウス・ターゲットとの間に配置される。これらは、クロスバ・バスのセット２６０，２６２，２６４，２６６，２６８，２７０、および、命令マルチプレクサ２７２，２７４，２７６，２７８，２８０，２８２を含む。さらに、命令マルチプレクサ２８４，２８６は、バスのセット２５０のそれぞれの終端に接続され、第１および第２暗号化ユニット１２４，１３８をそのバスのセットへ結合する。
【００２２】
上述されるように、ノースおよびサウス命令バスのアーキテクチャによって、ターゲットがノース・ターゲットまたはサウス・ターゲットかどうかにかかわらず、いずれのマスタもあらゆるターゲットにアクセスすることができる。更に、マスタ／ターゲットが、結合されたノースおよびサウス命令バスのアーキテクチャを経由してそのターゲットに送られる対応する命令によってアクセスされるターゲットとして、同じノースまたはサウス領域上になくても、これはターゲットとしてさらに動作するマスタまで拡張することができる。例えば、ノース・ターゲットおよびマスタの両方を動作するコンポーネントは、サウス・ターゲットにアクセスすることができる。
【００２３】
一実施例において、所定のクラスタの（または、そのクラスタに関連している外部マスタ／ターゲットのコンポーネントによる）メンバであるマスタによって発行された命令に対するそれぞれの内部クラスタにおける調停動作は、ノースおよびサウス・ターゲットの各グループのために実行される。サウスのターゲット命令に対する内部クラスタにおける調停の結果は、図２ｂ中のＯＲゲート２４１Ａ，２４１Ｂ，２４１Ｃ，２４１Ｄによって描かれる。一方、各クラスタのサウスのターゲット命令の出力ステージは、各クロスバ・バスを経由して、バス・ラインのセット２５０中の対応するバス・ラインに接続される。これらは、クロスバ・バス２４３Ａ，２４３Ｂ，２４３Ｃ，２４３Ｄを含む。このように、一実施例において、それぞれの命令は、ノースおよびサウス・ターゲットのグループの中から指定のターゲットへ同時に送られる。
【００２４】
図３ａに、一実施例に従って、ノースのプル・データ・バス１４２の詳細が図示される。命令バスに関して、ノースのプル・データ・バスは、バス・ライン３００Ａ，３００Ｂ，３００Ｃ，３００Ｄを含む水平バス・ラインのセット３００を含むクロスバ構成を使用する。さらに、前述のように、クラスタ１０２Ａ，１０２Ｂ，１０２Ｃ，１０２Ｄの各々は、ノースおよびサウスのプル・データ・バスの各々に対する内部クラスタにおける調停の獲得者（勝利者）を生成することができる。このように、ノースのプル・データ・バス１４２は、ＯＲゲート３４０Ａ，３４０Ｂ，３４０Ｃ，３４０Ｄを含み、それらは、クロスバ・バス３４２Ａ，３４２Ｂ，３４２Ｃ，３４２Ｄにそれぞれ接続される。
【００２５】
このような高性能な相互接続スキームにおけるキーとなる試みは、相互接続上で転送されるバンド幅（最高転送速度）がピーク転送速度に非常に近接して追随するというような、バス上の高い利用性および有限な平均レイテンシを達成することである。上述のように、ダイサイズの制限により、ターゲットの数は、典型的にはチップ内部の利用可能なデータを送るバスの数を超える。一実施例に従って、この問題は、複数のターゲットを共通のデータ・バスのトラックを共有するサブグループへグループ化することにより取り扱われる。
【００２６】
従って、図３ａに図示された実施例では、様々なノース・ターゲットは、ターゲット・サブグループ３０２（サブグループ［０］），３０４（サブグループ［１］），３０６（サブグループ［２］），３０８（サブグループ［３］）へさらにグループ化される。（図中の残りのサブグループもそれぞれ［０］から［Ｎ−１］まで論理的な値が割当てられ、Ｎはクラスタの数に等しい。）一実施例において、各サブグループは、同様のアクセス特性を有するターゲットを含む。代わって、サブグループ３０４，３０６の各々は、それぞれのサブグループのデータ・マルチプレクサおよびクロスバ・バス・ラインのセットを経由して水平バス・ラインのセット２００に接続される。これらのコンポーネントは、サブグループのデータ・マルチプレクサ３０４，３０６、および、クロスバ・バス・ラインのセット３２０，３２２を含む。一方、サブグループ３０２，３０８は、サブグループのデータ・マルチプレクサ３１０，３１６を経由して水平バス・ラインのセット３００に接続される。
【００２７】
図３ｂに示されるように、サウスのプル・データ・バス１５２の一実施例は、上述したノースのプル・データ・バスのために使用されるのと類似する手法でサブグループ化するターゲットを使用する。図示された実施例では、サウス・ターゲットのサブグループは、サブグループ３５２，３５４，３５６，３５８を含む。さらに、サウスのプル・データ・バス１５２のためのプル・データ・バス構成は、ノースのプル・データ・バスと類似し、水平バス・ラインのセット３５０を使用するとともにバス・ライン３５０Ａ，３５０Ｂ，３５０Ｃ，３５０Ｄを含む。これらのバスは、それぞれのクロスバ・バス・ラインのセット３７０，３７２，３７４，３７６を経由して、サブグループ・データのマルチプレクサ３６０，３６２，３６４，３６６に接続される。
【００２８】
一実施例において、所定のクラスタのメンバであるマスタのためのプル・データ・トランザクションに対応するそれぞれの内部クラスタにおける調停動作は（またはそのクラスタに関係している外部マスタ／ターゲット・コンポーネントによって）、ノースおよびサウス・ターゲットのグループの各々に対して実行される。サウス・ターゲットのプル・データ・バスに対する内部クラスタにおける調停結果は、図３ｂのＯＲゲート３４１Ａ，３４１Ｂ，３４１Ｃ，３４１Ｄによって示される。一方、各クラスタのサウスのプル・データ・バスの出力ステージは、それぞれのクロスバ・バスを経由してバス・ラインのセット３５０中の対応するバスに接続される。これらはクロスバ・バス３４３Ａ，３４３Ｂ，３４３Ｃ，３４３Ｄを含む。このように、一実施例において、マスタからのデータをノースおよびサウス・ターゲットのグループ中から指定のターゲットへ転送する各プル・データ・トランザクションは、同時に実行される。
【００２９】
別の実施例では、ノースのプル・データ・バスは、ノース命令バスと類似した構成を有する一方で、サウスのプル・データ・バスは、サウス命令バス（両方とも図示せず）と類似した構成を有している。これらの実施例では、ノースおよびサウス・ターゲットのグループは、さらにサブグループへグループ化されることはない。
【００３０】
ノースおよびサウスのプルＩＤバス１４４，１５４の典型的な実施例が図４ａおよび図４ｂにそれぞれ示される。図示された実施例では、様々なターゲットは、ノースおよびサウスのプル・データ・バスのために上述されたのと同様の方法でサブグループへさらにグループ化される。一般に、プル・データおよびＩＤバスのセットのために用いられるサブグループ化は、厳密な要求ではないにしても、一致すべきである。ノースおよびサウスのプルＩＤバスの一般的な構成は、上述した構成と同様に類似しており、複数のクロスバ・バスは水平バス・ラインのセットに接続される。さらに詳しくは、図４ａに示されるノースのプルＩＤバス１４４の実施例は、バス・ライン４０００，４００１、４００２，４００３を含む水平バス・ラインのセット４００を使用する一方、図４ｂに示されるサウスのプルＩＤバス１５４の実施例は、バス・ライン４５００，４５０１，４５０２，４５０３を含む水平バス・ラインのセット４５０を使用する。
【００３１】
ノースおよびサウスのプルＩＤバスの各々は、サブグループの調停ステージおよびクラスタにおける調停ステージを含む２段の調停スキームを使用する。サブグループの調停ステージは、グループのどのメンバがプルＩＤバスへのアクセスが許可されているかを判断するために使用される。クラスタにおける調停ステージは、どの獲得サブグループがクラスタへのアクセスが許可されているかを判断するために使用され、そのクラスタへそのトランザクションの半分のマスタが属する。
【００３２】
第１ステージの調停動作に関して、それぞれのサブグループのＩＤマルチプレクサは、各サブグループに提供される。これらは、ノースのターゲット・サブグループに対するサブグループのＩＤマルチプレクサ４０２０，４０２１，４０２２，４０２３を含み、サウス・ターゲットのサブグループに対するサブグループのＩＤマルチプレクサ４５２０，４５２１，４５２３を含む。第２レベルの調停動作に関して、それぞれのサブグループの選択ＩＤマルチプレクサは、対応するクラスタに獲得サブグループを接続するために提供される。これらは、ノースのターゲット・サブグループのためにサブグループの選択ＩＤマルチプレクサ４１０Ａ，４１０Ｂ，４１０Ｃ，４１０Ｄを含み、サウス・ターゲットのサブグループのためにサブグループの選択ＩＤマルチプレクサ４６０Ａ，４６０Ｂ，４６０Ｃ，４６０Ｄを含む。
【００３３】
水平バス・ラインの各々は、クロスバ・バス・ラインの各セットを経由してサブグループの選択ＩＤマルチプレクサの各々に接続される。これらは、水平バス・ラインのセット４００（図４ａ）のためにクロスバ・バス・ラインのセット４１２Ａ，４１２Ｂ，４１２Ｃ，４１２Ｄを含み、水平バス・ラインのセット４５０（図４ｂ）のためにクロスバ・バス・ラインのセット４６２Ａ，４６２Ｂ，４６２Ｃ，４６２Ｄを含む。
【００３４】
ノースおよびサウスのプッシュ・データ・バス１４６，１５６の典型的な実施例は、図５ａおよび図５ｂに示される。図示された実施例では、様々なターゲットは、ノースおよびサウスのプル・データおよびＩＤバスのために上述と同様の方法でサブグループへさらにグループ化される。ノースおよびサウスのプッシュ・データ・バスの一般的な構成は、上述された構成と類似しており、複数のクロスバ・バスは、水平バス・ラインのセットに接続される。さらに詳しくは、図５ａに示されるノースのプッシュ・データ・バス１４６の実施例は、バス・ライン５０００，５００１，５００２，５００３を含む水平バス・ラインのセット５００を使用する一方、図５ｂに示されるサウスのプルＩＤバス１５６の実施例は、バス・ライン５５００，５５０１，５５０２，５５０３を含む水平バス・ラインのセット５５０を使用する。
【００３５】
ノースおよびサウスのプッシュ・データ・バスの各々は、サブグループの調停ステージおよびクラスタにおける調停ステージを含む２段の調停スキームを使用する。サブグループの調停ステージは、グループのどのメンバにプッシュ・データ・バスへのアクセスを許可されているかを評価するために用いられる一方、クラスタにおける調停ステージは、どの獲得サブグループがクラスタへのアクセスが許可されているかを判断するために使用され、そのクラスタへそのトランザクションの半分のマスタが属する。
【００３６】
第１レベルの調停動作に関して、それぞれのサブグループのデータ・マルチプレクサは、各サブグループのために提供される。これらは、ノース・ターゲットのサブグループに対するサブグループのデータ・マルチプレクサ５０２０，５０２１，５０２２，５０２３を含み、サウス・ターゲットのサブグループに対するサブグループのデータ・マルチプレクサ５５２０、５５２１，５５２３を含む。第２レベルの調停動作に関して、それぞれのサブグループの選択データ・マルチプレクサは、獲得サブグループを対応するクラスタに接続するために提供される。これらは、ノース・ターゲットのサブグループのためにサブグループの選択データ・マルチプレクサ５１０Ａ，５１０Ｂ，５１０Ｃ，５１０Ｄを含み、また、サウス・ターゲットのサブグループのためにサブグループの選択データ・マルチプレクサ５６０Ａ，５６０Ｂ，５６０Ｃ，５６０Ｄを含む。
【００３７】
水平バス・ラインの各々は、クロスバ・バス・ラインのそれぞれのセットを経由してサブグループの選択データ・マルチプレクサの各々に接続される。これらは、水平バス・ラインのセット５００（図５ａ）に対するクロスバ・バス・ラインのセット５１２Ａ，５１２Ｂ，５１２Ｃ，５１２Ｄを含み、水平バス・ラインのセット５５０（図５ｂ）に対するクロスバ・バス・ラインのセット５６２Ａ，５６２Ｂ，５６２Ｃ，５６２Ｄを含む。
【００３８】
ノースおよびサウスのプッシュＩＤバス１４８，１５８の典型的な実施例が、図６ａおよび図６ｂにそれぞれ示される。図示する実施例では、様々なターゲットがノースおよびサウスのプッシュ・データ・バスのために上述したのと同様の方法でサブグループへグループ化される。一般に、プッシュ・データおよびＩＤバスのセットに使用されるサブグループ化は、厳密な要求ではないにしても、一致すべきである。従前のように、ノースおよびサウスのプッシュＩＤバスの一般的な構成は、水平バス・ラインのセットに接続される複数のクロスバ・バスを使用する。さらに詳しくは、図６ａに示されるノースのプッシュＩＤバス１４８の実施例は、バス・ライン６０００，６００１，６００２，６００３を含む水平バス・ラインのセット６００を使用する一方、図６ｂに示されるサウスのプッシュＩＤバス１５８の実施例は、バス・ライン６５００，６５０１，６５０２，６５０３を含む水平バス・ラインのセット６５０を使用する。
【００３９】
ノースおよびサウスのプッシュＩＤバスの各々は、サブグループの調停ステージおよびクラスタにおける調停ステージを含む２段の調停スキームを使用する。サブグループの調停ステージは、グループのどのメンバがプッシュＩＤバスへのアクセスが許可されたかを判断するために使用される。クラスタにおける調停ステージは、どの獲得サブグループがクラスタへのアクセスが許可されているかを判断するために使用され、そのクラスタへそのトランザクションの半分のマスタが属する。
【００４０】
第１ステージの調停動作に関して、それぞれのサブグループのＩＤマルチプレクサは、各サブグループのために提供される。これらは、ノース・ターゲットのサブグループに対してサブグループのＩＤマルチプレクサ６０２０，６０２１，６０２２，６０２３を含み、サウス・ターゲットのサブグループに対してサブグループのＩＤマルチプレクサ６５２０，６５２１，６５２３を含む。第２レベルの調停動作に関して、それぞれのサブグループの選択ＩＤマルチプレクサは、獲得サブグループを対応するクラスタに接続するために提供される。これらは、ノース・ターゲットのサブグループに対してサブグループの選択ＩＤマルチプレクサ６１０Ａ，６１０Ｂ，６１０Ｃ，６１０Ｄを含み、サウス・ターゲットのサブグループに対してサブグループの選択ＩＤマルチプレクサ６６０Ａ，６６０Ｂ，６６０Ｃ，６６０Ｄを含む。
【００４１】
水平バス・ラインの各々は、それぞれのクロスバ・バス・ラインのセットを経由してサブグループの選択ＩＤマルチプレクサの各々に接続される。これらは、水平バス・ラインのセット６００（図６ａ）に対してクロスバ・バス・ラインのセット６１２Ａ，６１２Ｂ，６１２Ｃ，６１２Ｄを、および、水平バス・ラインのセット６５０（図６ｂ）に対してクロスバ・バス・ラインのセット６６２Ａ，６６２Ｂ，６６２Ｃ，６６２Ｄを含む。
【００４２】
パケット処理動作中に、様々なトランザクション要求は、様々なマスタによって様々なターゲットへなされるであろう。以下の実施例において、リード・トランザクション要求および許可された後続の処理が考慮される。リード・トランザクション要求をサポートする調停動作は「プッシュ」調停と称され、その要求は「プッシュ・データ」（ターゲットからの読取り）トランザクション要求として知られる。プッシュ・データ・トランザクションをサポートするために以下説明される動作は、上述されかつここに示されるように、異なる構成を有するプル・データおよびＩＤバス以外は、一般に類似した「プル・データ」（ターゲットへの書込み）トランザクションが例示となる。
【００４３】
いくつかの実施例の解釈では、バス競合の問題は、２段の調停スキームを用いて解決されるが、その第１ステージは、サブグループ間で調停し、そして第２ステージは、処理要素のクラスタ間で調停する。例えば、ノースのプッシュ・データおよびＩＤバスのために使用される典型的な２段調停スキームの実施例の詳細が図７ａおよび図７ｂに示される。同様の調停スキームは、ノースおよびサウスのプル・データおよびＩＤバスと同様に、サウスのプッシュ・データおよびＩＤバスに使用することができる。
【００４４】
図７ａにおけるノースのプッシュ・データ・バスの調停スキームは、それぞれの第１ステージ（サブグループ）アービタ７００（サブグループ３０２（サブグループ［０］）に対しＳＧ０、サブグループ３０４（サブグループ［１］）に対してＳＧ１、サブグループ３０６（サブグループ［２］）に対してＳＧ２、および、サブグループ３０８（サブグループ［３］）に対してＳＧ３とラベルが付される）を使用し、それはサブグループの選択データ・マルチプレクサ５０２１−４の動作を制御するために用いられる。同様に、それぞれの第２ステージ（クラスタ）のアービタ７０２（クラスタ１０２Ａ（クラスタ［Ａ］）に対してＣ０、クラスタ１０２Ｂ（クラスタ［Ｂ］）に対してＣ１、クラスタ１０２Ｃ（クラスタ［Ｃ］）に対してＣ２、および、クラスタ１０２Ｄ（クラスタ［Ｄ］）に対してＣ３とラベルが付される）は、サブグループの選択データ・マルチプレクサ５１０Ａ−Ｄの動作を制御するために用いられる。
［００５９］  図７ｂは、ネットワーク・プロセッサのアーキテクチャ１００の一実施例であるプッシュＩＤバスのインフラストラクチャその他の詳細を示す。プッシュ・データ・バスに関して、それぞれの第１ステージ（サブグループ）アービタ７００（例えば、ＳＧ０，ＳＧ１，ＳＧ２，ＳＧ３）は、サブグループの選択ＩＤマルチプレクサ６０２１−４の動作を制御するために使用される。同様に、それぞれの第２ステージ（クラスタ）アービタ７０２（例えば、Ｃ０，Ｃ１，Ｃ２，Ｃ３）は、サブグループの選択ＩＤマルチプレクサ６１０Ａ−Ｄの動作を制御するために用いられる。
【００４５】
図１のアーキテクチャ１００を実現し、上述した２段の調停動作をサポートするネットワーク・プロセッサは、ライン・カードやルータなどに制限されることはないが、様々なネットワーク装置中で実現されてもよい。図８は、ネットワーク・プロセッサのアーキテクチャ１００を実現するネットワーク・プロセッサ８０２を含む、ネットワーク装置８００の典型的なアーキテクチャを示す。（図８はノースのプッシュ・データ・バス１４６およびサウスのプッシュ・データ・バス１４８に対応するバス要素を示すに過ぎず、ネットワーク・プロセッサ８０２がネットワーク・プロセッサのアーキテクチャ１００のために上述以外の他のバスをさらに含むことに注意すべきである。）一般に、図１および図８中の同じ番号のコンポーネントは同様の機能を行なう。さらに、ネットワーク・プロセッサ８０２は、ハッシュ・ユニット１３２に結合され、かつ、サブグループ３５６Ａのメンバであるプライベート・キー暗号（ＰＫＥ）コンポーネント１３３と同様に、ＳＲＡＭ制御チャネル８１２，８１４、ＲＤＲＡＭ制御チャネル８１６，８１８を含む。
【００４６】
図８に図示された実施例では、マイクロエンジン１０４は、ローカル資源１０６の共通のセットを共有する２つのマイクロエンジンのセットにグループ化される。ローカル資源は、典型的にはローカルメモリ、命令キャッシュ、レジスタなどのようなマイクロエンジン（または、このケースではマイクロエンジンの対）に特有の資源を含んでいてもよい。他の実施例では、マイクロエンジンは、２又はそれ以上を越えるメンバを有するグループ中のローカル資源を共有するために形成されてもよく、あるいは、それらは、自分自身のローカル資源のセットを有するように形成してもよい。
【００４７】
上述のように、ネットワーク・プロセッサのアーキテクチャ１００のクロスバ・シャーシ構成により、様々なマスタ（例えば、マイクロエンジン１０４）は、対応するトランザクション要求を介して様々なターゲットにアクセスすることができる。いくつかの実施例では、「有効な」ターゲットにサポートされた実際のデータまたは動作のいくつかは、ネットワーク・プロセッサのチップ上に提供される一方、他のものはチップ外に提供される。例えば、ＮＲＡＭ制御チャネルは、（前述の議論に対して）ターゲットを含むことがある一方、有効なターゲットは、（制御チャネルはそれ自身データを格納しないので）ＮＲＡＭ制御チャネル経由でアクセスされる実際のＮＲＡＭ格納となる。
【００４８】
図８に示された典型的な構成では、オンチップの「有効な」ターゲットは、トラフィック管理１０８、汎用プロセッサ１１０，暗号化ユニット１２４，１３８、ハッシュ・ユニット１３２、および、パブリック・キー暗号ユニット１３３を含む。その一方で、チップ外の様々な有効なターゲットは、外部ＳＲＡＭ格納８１２Ａ，８１４ａ、外部ＲＤＲＡＭ格納８１６Ａ，８１８Ａ、１またはそれ以上のＰＣＩ高速デバイス（例えば、拡張カード）８０４、および、外部ＤＲＡＭ８２８，８３０，８３４を含む。各々のチップ外メモリ格納は、それぞれのインターフェイスによってそのそれぞれの制御チャネルに接続される。これらは、ＳＲＡＭインターフェイス８１２Ｂ，８１４Ｂ、ＲＤＲＡＭインターフェイス８１６Ｂ，８１８Ｂ、ＤＲＡＭインターフェイス８２８Ｂ，８３０Ｂ，８３４Ｂ、および、ＰＣＩ高速インターフェイス８２２を含む。
【００４９】
ネットワーク装置は、パケット処理動作を実行するために使用される。パケット処理中に実行される主な機能の１つは、パケットが転送されることになっている次のホップを決定することである。スイッチのような典型的なネットワーク装置は、複数の入出力ポートを含む。より正確には、スイッチは、複数の入出力（Ｉ／Ｏ）ポートを含み、その各々は、与えられたパケットを転送する状況において、入力または出力ポートのいずれかとして機能する。着信パケットは、与えられたＩ／Ｏポート（入力ポートとして機能する）で受け取られ、そのパケットは処理され、適切なＩ／Ｏポート（出力として機能する）を介して、そのパケットは次のホップへ転送される。このスイッチは、メディア・スイッチ構成として知られる複数のクロス接続を含む。そのスイッチ構成は、各Ｉ／Ｏポートを他のＩ／Ｏポートに接続する。このように、スイッチによって、所定のＩ／Ｏポートで受信したパケットをスイッチするために他のＩ／Ｏポートに結合された次のいずれかのホップへ送ることができる。
【００５０】
図８の典型的なネットワーク装置は、２セットのメディア・スイッチ構成８０６，８０８を含む。一実施例において、メディア・スイッチ構成８０６は、システム・パケット・インターフェイス・レベル４（System Packet Interface Level 4:ＳＰＩ４）のインターフェイス８０７を経由して第１メディア・スイッチ構成インターフェイス１２６に接続される一方で、メディア・スイッチ構成８０８は、ＳＰＩ４インターフェイス８０９を経由して第２メディア・スイッチ構成インターフェイス１４０に接続される。
【００５１】
一般に、前述の実施例の側面から、半導体製造技術を使用するプログラムされたロジックを使用して実現されてもよい。さらに、本説明による実施例は、機械読取り可能な媒体内で実行することもできる。例えば、上述の設計は、半導体デバイスの設計のために使用された設計ツールに関連する機械読取り可能な媒体内に格納され、また組み込まれてもよい。本実施例は、ＶＨＳＩＣハードウェア記述言語（ＶＨＤＬ）、ベリログハードウェア記述言語またはＳＰＩＣＥ言語でフォーマットされたネットリスト（netlist）を含む。
いくつかのネットリストの実施例は、行動レベルのネットリスト、レジスタ転送レベル（ＲＴＬ）のネットリスト、ゲート・レベルのネットリスト、および、トランジスタ・レベルのネットリストを含む。機械読取り可能な媒体は、さらにＧＤＳ−ＩＩファイルのようなレイアウト情報を有する媒体を含む。更に、ネットリスト・ファイルまたは半導体チップ設計用の他の機械読取り可能な媒体は、上述の教示方法を実現するためのシミュレーション環境で使用されてもよい。
【００５２】
アブストラクト中に記述されたことを含めて、本発明を図示する実施例の上記説明は、本発明を余す所なく説明する意図はなく、あるいは本発明を開示する厳格な構成に制限する意図はない。一方本発明の特定の実施例および例示は、図示する目的でここに示されており、当業者が認識するように、様々な均等の範囲内の修正は本発明の範囲内において可能である。
【００５３】
これらの修正は、上記詳細な説明から本発明に対して行なうことができる。次の請求項で使用される用語は、本発明を明細書と図面に示された特定の実施例に制限するためには解釈されるべきでない。もっと正確に言えば、本発明の範囲は、次の請求項によって完全に決められるべきであり、それは確立した請求項の解釈原理に従って解釈されるべきである。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施例に従って、各クラスタが複数のマスタを含む複数のクラスタがクロスバ構成を有する複数のバスを含むシャーシ相互接続によって複数の共有ターゲット資源（ターゲット）に接続されるネットワーク・プロセッサのアーキテクチャの概要図である。
【図２ａ】本発明の一実施例に従って、ノースの命令バスの詳細を示す概要図である。
【図２ｂ】本発明の一実施例に従って、サウスの命令バスの詳細を示す概要図である。
【図３ａ】本発明の一実施例に従って、ノースのプル・データ・バスの詳細を示す概要図である。
【図３ｂ】本発明の一実施例に従って、サウスのプル・データ・バスの詳細を示す概要図である。
【図４ａ】本発明の一実施例に従って、ノースのプル請求者識別子（ＩＤ）バスの詳細を示す概要図である。
【図４ｂ】本発明の一実施例に従って、ノースのプルＩＤバスの詳細を示す概要図である。
【図５ａ】本発明の一実施例に従って、ノースのプッシュ・データ・バスの詳細を示す概要図である。
【図５ｂ】本発明の一実施例に従って、サウスのプッシュ・データ・バスの詳細を示す概要図である。
【図６ａ】本発明の一実施例に従って、ノースのプッシュ・ＩＤバスの詳細を示す概要図である。
【図６ｂ】本発明の一実施例に従って、サウスのプッシュ・ＩＤバスの詳細を示す概要図である。
【図７ａ】図１におけるネットワーク・プロセッサのアーキテクチャの詳細を、２段の調停を備えるパイプラインのプッシュ・データ・バスの詳細を含めて、さらに示す概要図である。
【図７ｂ】図７ａにおけるネットワーク・プロセッサのアーキテクチャの詳細を、２段の調停を備えるパイプライン請求者の識別子バスの詳細を含めて、さらに示す概要図である。
【図８】本発明の一実施例に従って、図１のアーキテクチャを実現するネットワーク・プロセッサを含むネットワーク装置の概要図である。
【図１】
2008521131.tif 000003
【図２ａ】
2008521131.tif 000004
【図２ｂ】
2008521131.tif 000005
【図３ａ】
2008521131.tif 000006
【図３ｂ】
2008521131.tif 000007
【図４ａ】
2008521131.tif 000008
【図４ｂ】
2008521131.tif 000009
【図５ａ】
2008521131.tif 000010
【図５ｂ】
2008521131.tif 000011
【図６ａ】
2008521131.tif 000012
【図６ｂ】
2008521131.tif 000013
【図７ａ】
2008521131.tif 000014
【図７ｂ】
2008521131.tif 000015
【図８】
2008521131.tif 000016
【国際調査報告】
2008521131.tif 000017
2008521131.tif 000018
2008521131.tif 000019