JP2002049573A - コンピュータ・システムおよびビット・ストリーム転送方法 - Google Patents

コンピュータ・システムおよびビット・ストリーム転送方法

Info

Publication number
JP2002049573A
JP2002049573A JP2001111177A JP2001111177A JP2002049573A JP 2002049573 A JP2002049573 A JP 2002049573A JP 2001111177 A JP2001111177 A JP 2001111177A JP 2001111177 A JP2001111177 A JP 2001111177A JP 2002049573 A JP2002049573 A JP 2002049573A
Authority
JP
Japan
Prior art keywords
data
memory
processor
computer system
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.)
Granted
Application number
JP2001111177A
Other languages
English (en)
Other versions
JP3935684B2 (ja
Inventor
William G Holland
ウィリアム・ジー・ホランド
Francis E Noel Jr
フランシス・イー・ノエル、ジュニア
Charles J Sonnepolley
チャールズ・ジェイ・サニポリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002049573A publication Critical patent/JP2002049573A/ja
Application granted granted Critical
Publication of JP3935684B2 publication Critical patent/JP3935684B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 本発明が実施されるコンピュータ・システム
の性能を大きく改善するために、メモリ管理の主な機能
を実現するハードウェアを提供する。 【解決手段】 中央処理装置110と、支援周辺サブシ
ステム172,174,175,176との間、および
周辺サブシステム間に配置されたネットワーク・プロセ
ッサ171が、メモリ・スペースのアドレッシングを処
理するコンピュータ・システム。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・シ
ステム、および、ネットワーク・スイッチングの内部使
用方法に関する。
【0002】
【従来の技術】ここで説明する発明の理解を助けるため
に、興味ある人は、以下の従来の開示文献を参照された
い。これらの開示文献は、この出願の明細書に関係す
る。
【0003】1991年4月16日に発行された米国特
許第5,008,878号明細書“High Spee
d Modular Switching Appar
atus for Circuit and Pack
et Switched Traffic”。
【0004】1998年3月3日に発行された米国特許
第5,724,348号明細書“Efficient
Hardware/Software Interfa
cefor a Data Switch”。
【0005】1999年6月11日に出願された米国特
許出願第09/330,968号明細書“High S
peed Parallel/Serial Link
for Data Communication”。
【0006】1999年8月27日に出願された米国特
許出願第09/384,689号明細書“VLSI N
etwork Processor and Meth
ods”。
【0007】1999年8月27日に出願された米国特
許出願第09/384,691号明細書“Networ
k Processor Processing Co
mplex and Methods”。
【0008】1999年8月27日に出願された米国特
許出願第09/384,692号明細書“Networ
k Switch Components and M
ethod of Operation”。
【0009】1999年8月27日に出願された米国特
許出願第09/384,744号明細書“Networ
k Processor,Memory Organi
zation and Methods”。
【0010】1948年のEDVACコンピュータ・シ
ステムの開発は、コンピュータ時代の始まりとしてしば
しば引用されている。このとき以来、コンピュータ・シ
ステムは、極めて複雑な装置に進化し、コンピュータ・
システムは、多くの種々の装置の中に見つけることがで
きる。コンピュータ・システムは、典型的には、ハード
ウェア(例えば、半導体,回路ボードなど)と、ソフト
ウェア(例えば、コンピュータ・プログラム)との組合
せを含む。半導体処理およびコンピュータ・アーキテク
チャの進歩が、コンピュータ・ハードウェアの性能をよ
り高度にするにつれて、このハードウェアの高性能を利
用するために、より複雑なコンピュータ・ソフトウェア
が進化し、今日では、2,3年前に存在したコンピュー
タ・システムよりもかなりパワフルなコンピュータ・シ
ステムが存在している。
【0011】さらに、技術における他の変化は、コンピ
ュータをいかにして用いるかということに深く影響を与
えた。例えば、コンピュータの広大な急増は、コンピュ
ータを互いに通信させるコンピュータ・ネットワークの
開発を促進した。パーソナルコンピュータ(PC)の導
入に伴い、コンピュータを、多くの人が利用できるよう
になった。パーソナルコンピュータのネットワークが開
発されて、個々のユーザが互いに通信できるようになっ
た。このようにして、社内の多くの人が、1つのコンピ
ュータ・システム上で実行されるソフトウェア・アプリ
ケーションによって、ネットワーク上で同時に通信する
ことができるようになった。
【0012】以下の説明は、ネットワーク・データ通信
と、このような通信ネットワークにおいて用いられるよ
うなスイッチおよびルーターの知識を前提としている。
特に、以下の説明は、ネットワーク・オペレーションを
レイヤに分割するネットワーク・アーキテクチャのOS
Iモデルを熟知していることを前提としている。OSI
モデルに基づく典型的なアーキテクチャは、レイヤ1
(時には、“L1”と表記される)から拡張している。
レイヤ1は、信号がレイヤ2,3,4などを介してレイ
ヤ7に渡される物理的な経路または媒体である。最後に
述べたレイヤ7は、ネットワークにリンクされたコンピ
ュータ・システム上で実行されるアプリケーション・プ
ログラミングのレイヤである。この明細書では、L1,
L2などについての記述は、ネットワーク・アーキテク
チャの対応するレイヤに言及することを意図している。
この説明はまた、このようなネットワーク通信における
パケットおよびフレームとして知られるビット・ストリ
ングを基本的に理解していることを前提としている。
【0013】コンピュータ・システムの拡張性能におい
て、求められている方法の1つは、パーソナルコンピュ
ータ・システムのユーザに周知であるように、システム
の中央処理装置すなわちCPUとして用いられるマイク
ロプロセッサの動作速度すなわち基本クロック速度を増
大することである。CPUの動作速度が、急激に増大す
るにつれて、データフロー速度は、このようなシステム
における主メモリのアクセス速度能力を超えるようにな
った。同時に、CPUによってアクセスされるメモリの
量が、急激に増大した。このようなメモリは、典型的に
は、揮発性および不揮発性の両方の形態で存在し、両タ
イプの使用可能なメモリ・ストレージが、最近、非常に
増大してきた。このことは、コンピュータ・システムに
おける主な困難性の1つをさらに強調することになっ
た。すなわち、CPU上で実行されるアプリケーション
・ソフトウェアによって用いられる“仮想メモリ・アド
レス”と、適切なメモリ素子またはコントローラ、およ
び、このようなデバイス(揮発性、不揮発性、両方のい
ずれか)のアドレス・スペースにおける特定の位置をア
クセスするために用いられる“物理メモリ・アクセス”
とのマッピングである。上述したメモリ素子およびコン
トローラは、CPUの機能を支援する周辺装置である。
【0014】現在のコンピュータ・システムの実施は、
多数の入力/出力すなわちI/Oコントローラと共に、
単一の連続物理アドレス範囲としてメモリを与えるよう
に構成された1つ以上のメモリ・コントローラを、周辺
装置として与える。各コントローラは、システム・メモ
リ・スペースの外側に固有アドレス(または、狭い範囲
のアドレス)を割り当てる。オペレーティング・システ
ム(Microsoft,OS/2,Linuxなどの
種々のWindows(登録商標)製品(これらに限定
されないが)を含む多数のオペレーティング・システム
がある)は、典型的には、システム上で実行されるアプ
リケーションの利点のために、かなり大きな連続する仮
想メモリ・スペースを与える。システムが最初に始動す
ると、かなりの仮想メモリ・スペースが、直接、物理メ
モリにマッピングする。メモリ・スペースに対する要求
が増大し、アプリケーション・プログラムがメモリ・ア
クセスに対する要求を変更させるにつれて、オペレーテ
ィング・システムは、ストレージI/Oサブシステムを
介して、通常は、ハードディスク,ドライブ,またはフ
ァイルとして知られているダイレクト・アクセス・スト
レージ・デバイス(DASD)上のストレージに、アイ
ドルメモリ・ブロックを“ページアウト(page o
ut)”する。メモリ・スペースが、作成され、ページ
インされ、ページアウトされ、最後には解放されるの
で、物理メモリに対する仮想メモリのマッピングは、使
用可能なメモリ内で殆ど完全にランダムになる。アプリ
ケーション・ソフトウェアは、仮想アドレスのみを知っ
ており、発行された各メモリ・アクセスは、所望のメモ
リ位置の適切な物理アドレスを、メモリ・コントローラ
にどうしても与えなければならならず、あるいは必要な
らば、ディスク上にページを配置し、主メモリにページ
をアクセスする前に、ページインすることが必要とされ
る。物理アドレスへの仮想アドレスのマッピング・プロ
セス(仮想アドレス変換として知られている)は、コン
ピュータ・システムの全動作に対するオーバーヘッドを
奪う有効な性能に寄与する。
【0015】
【発明が解決しようとする課題】本発明の目的は、本発
明が実施されるコンピュータ・システムの性能を大きく
改善するために、メモリ管理の主要な機能を実現するハ
ードウェアを提供することにある。
【0016】
【課題を解決するための手段】この目的を追求する際、
これらの機能は、アプリケーションのためのメモリアド
レス・スペースの作成,解放,管理、仮想アドレスから
物理アドレスへの変換、ページインおよびページアウト
・オペレーションのためのメモリアドレスのディスク・
ストレージへのマッピング、ページング機能の自律実
行、キャッシング,パイプライニング,ページングによ
るメモリ最適化、および他のメモリ・アクセス方法を含
むことができる。
【0017】用いられるハードウェアは、サーバまたは
クライアント・システム(これらの用語は、コンピュー
タ・ネットワーク・アプリケーションの中で理解され
る)として機能することができるコンピュータ・システ
ムに、コンピュータ・システムが互いに相互接続される
ネットワーク・レベルにおいてこれまでに見られたスイ
ッチングの形態を挿入する。従って、本発明は、このよ
うなシステムの外部的な使用のために最近提供された特
定の技術を、コンピュータ・システムの中で内部的に適
用する。
【0018】
【発明の実施の形態】本発明の好適な実施例を示す図面
を参照して、本発明を以下に十分に説明するが、以下の
詳細な説明の初めに、当業者ならば、本発明の好ましい
結果を依然として実現しながら、本発明を変更できるこ
とを理解すべきである。従って、以下の説明は、本発明
に限定することなく、当業者に向けられた広い教示の開
示として、および本発明を限定するものではないものと
して理解されるべきである。
【0019】図1を参照すると、本発明によるコンピュ
ータ・システム100は、中央処理装置(CPU)11
0,主メモリ120,大容量ストレージ・インターフェ
ース140,およびネットワーク・インターフェース1
50を含み、これら全ては、システム・バス160によ
って接続されている。当業者ならば、このシステムが、
全てのタイプのコンピュータ・システム、すなわち、パ
ーソナルコンピュータ,中型コンピュータ,メインフレ
ームなどを含むことが分かるであろう。本発明の範囲内
では、このコンピュータ・システム100に、多くの追
加,変更,および削除を行わせることができることに注
意されたい。その例は、コンピュータ・モニター,入力
キーボード,キャッシュ・メモリ,およびプリンターな
どの周辺装置である。本発明は、一般に、パーソナルコ
ンピュータまたは中型コンピュータにより実現されるウ
ェブサーバとして動作することができる。
【0020】CPU110は、1つ以上のマイクロプロ
セッサおよび/または集積回路より構成することができ
る。CPU110は、主メモリ120内に格納されたプ
ログラム命令を実行する。主メモリ120は、コンピュ
ータがアクセスできるプログラムおよびデータを格納す
る。コンピュータ・システム100が始動すると、CP
Uはまず、オペレーティング・システム134のプログ
ラム命令を実行する。オペレーティング・システム13
4は、簡単に前述したように、コンピュータ・システム
100のリソースを管理する複雑なプログラムである。
これらリソースの幾つかは、CPU110,主メモリ1
20,大容量ストレージ・インターフェース140,ネ
ットワーク・インターフェース150,およびシステム
・バス160である。
【0021】図示したように、主メモリ120は、ウェ
ブサーバ・アプリケーション122,トランザクション
・プロセッサ124,1つ以上のマクロファイル12
6,構成ファイル128,1つ以上の言語プロセッサ1
30,オペレーティング・システム134,1つ以上の
アプリケーション・プログラム136,およびプログラ
ム・データ138を含む。アプリケーション・プログラ
ム136は、オペレーティング・システム134の制御
の下で、CPU110によって実行される。アプリケー
ション・プログラム136は、プログラム・データ13
8を入力として実行することができる。アプリケーショ
ン・プログラム136はまた、それらの結果を主メモリ
内のプログラム・データ138として出力することもで
きる。コンピュータ・システム100が、ウェブサーバ
として動作すると、CPU110は、特に、ウェブサー
バ・アプリケーション122を実行する。トランザクシ
ョン・プロセッサ124は、1つ以上のマクロファイル
126内に格納されたHTMLページを処理するプログ
ラムである。トランザクション・プロセッサ124が初
期化されると、トランザクション・プロセッサは、構成
ファイル128を読み取って、種々のタイプの照会を種
々の言語プロセッサ130に相関させる。動的データに
対する照会が、ページ内で見つかると、トランザクショ
ン・プロセッサ124は、構成データ(構成ファイルか
ら読み出される)から、その照会を処理するためにどの
言語プロセッサ130を呼び出すべきかを決定する。次
に、適切な言語プロセッサ130が、メモリまたはデー
タベースのようなデータソースを照会して、動的データ
を検索する。言語プロセッサ130は、動的データを、
トランザクション・プロセッサ124に渡し、トランザ
クション・プロセッサ124は、動的データを、選択さ
れたページのHTMLデータの中に挿入する。
【0022】大容量ストレージ・インターフェースは、
コンピュータ・システム100に、磁気ディスク(ハー
ドディスク,ディスケット)および光学的ディスク(C
D−ROM)のような補助ストレージ・デバイスからデ
ータを検索して格納することを可能にする。これら大容
量ストレージ・デバイスは、通常、ダイレクト・アクセ
ス・ストレージ・デバイス(DASD)として知られ、
情報の永久ストアとして働く。1つの適切なタイプのD
ASDは、フロッピー(登録商標)ディスケット186
に対してデータを読み取ったりデータを書き込んだりす
るフロッピーディスク・ドライブ180である。DAS
Dからの情報は、多くの形式にすることができる。通常
の形式は、アプリケーション・プログラムおよびプログ
ラム・データである。大容量ストレージ・インターフェ
ース140によって検索されたデータは、しばしば、主
メモリ120内に格納され、この場合、CPU110
が、簡単に前述したページングインおよびページングア
ウト処理を用いて、データを処理できる。
【0023】主メモリ120およびDASDデバイス1
80は、典型的には、別個のストレージ・デバイスであ
るが、コンピュータ・システム100は、周知の仮想ア
ドレッシング・メカニズムを用いるこの仮想アドレッシ
ング・メカニズムは、コンピュータ・システム100の
プログラムを、複数の小さいストレージ・エンティティ
ー(例えば、主メモリ120およびDASDデバイス1
85)へのアクセスの代わりに、あたかも大きな単一の
ストレージ・エンティティーへのアクセスのみのように
振る舞わせる。従って、特定の素子が、主メモリ120
内に含まれるように示されるが、当業者ならば、これら
素子全てが、同時に主メモリ120内に完全に含まれる
必要はないことが分かるであろう。用語“メモリ”は、
ここでは、総称的に、コンピュータ・システム100の
全仮想メモリ全体を示すことに注意すべきである。用語
“アドレッシング”およびその用語の変形は、しばし
ば、共に前述したように、仮想アドレッシングと物理ア
ドレッシングとの間に区別を設ける。
【0024】ネットワーク・インターフェース150
は、コンピュータ・システム100が、接続され得るネ
ットワークとの間で、データを送受信することを可能に
する。このネットワークは、ローカル・エリア・ネット
ワーク(LAN)、ワイド・ネットワーク(WAX)、
または、特にインターネット170とすることができ
る。インターネットに接続する適切な方法は、既知のア
ナログ技術および/またはデジタル技術と、将来開発さ
れるネットワーキング・メカニズムとを含む。多くの異
なるネットワーク・プロトコルを用いて、ネットワーク
を実現することができる。これらのプロトコルは、コン
ピュータをネットワーク上で通信させる特殊コンピュー
タ・プログラムである。インターネット上で通信するの
に用いられるTCP/IP(伝送制御プロトコル/イン
ターネット・プロトコル)は、適切なネットワーク・プ
ロトコルの一例である。本発明を実現するためには、こ
のようなプロトコルのいくつかを、システム100と内
部通信するために用いることができる。
【0025】システム・バス160は、データが、コン
ピュータ・システム100の種々のコンポーネント間を
転送されることを可能にする。コンピュータ・システム
100は、単一の主CPUおよび単一のシステム・バス
のみを含むように示されているが、当業者ならば、本発
明を、複数のCPUおよび/または複数のバスを有する
コンピュータ・システムを用いて実施できることが分か
るであろう。
【0026】この時点では、本発明を、十分機能的なコ
ンピュータ・システムに関連して説明した(また、説明
を続けるであろう)が、当業者ならば、本発明の構成要
素が、種々の形態のプログラム製品として配布でき、本
発明が、配布を実際に行うために用いられる特定のタイ
プの信号保持媒体に拘わらず等しく適用できることが分
かるということに注意することは重要である。信号保持
媒体の例は、フロッピーディスクのような記録可能なタ
イプの媒体(例えば、図1の186)およびCD−RO
Mと、デジタルおよびアナログ通信リンクのような伝送
タイプの媒体とを含む。
【0027】本発明では、コンピュータ・システム10
0は、ウェブサーバとして動作することができる。その
ためには、ウェブサーバ・アプリケーション122が、
CPU110によって実行される。他のアプリケーショ
ン・プログラム136は、オペレーティング・システム
134が、マルチタスキング・オペレーティング・シス
テムであると仮定すれば、コンピュータ・システム10
0上で同時に実行することができる。ウェブサーバは、
一般に、インターネット170に接続される。前述した
ように、インターネットは、世界を広げ、多数のコンピ
ュータによって共有される、周知のコンピュータ・ネッ
トワークである。インターネット上には、多数のウェブ
サーバが存在する。インターネットにリンクされた各コ
ンピュータは、ネットワーク上で他のコンピュータと通
信することを可能にする自身の固有アドレスを有する。
多くの種々の形式のデータを、インターネットによって
送ることができる。その例として、電子メール,プログ
ラム・データ,デジタル化ボイス・データ,コンピュー
タ・グラフィック,およびウェブページがある。デバイ
スに接続されたインターネット・アドレスは、通常、ヘ
ッダとして知られているパケットまたはフレーム内にデ
ータ部分を与えることによって、データと関連付けされ
る。このようなアドレッシング技術は、本発明の目標を
追求する際に、コンピュータ・システム100内で内部
的に用いることができる。
【0028】本発明の重要な顕著な特徴によれば、シス
テム・メモリを共に与え、および/または、直接アクセ
スする、CPU110とシステム100のこれらの要素
との間に介在されるように、コンピュータ・システム1
00内にノンブロッキング・スイッチ構造が与えられ
る。このスイッチ構造は、好適には、ネットワーク・プ
ロセッサによって与えられ、関連する2次スイッチ構造
を有しても有さないでもいずれでも機能する。ネットワ
ーク・プロセッサは、図2の171で示すように、コン
ピュータ・システム100に統合される。ネットワーク
・プロセッサのシステムへの組み込みをこのようにして
実現することによって、プロセッサ171からサブシス
テムの各々に、専用の全2重リンクを与えることによっ
て性能に関する利点が得られる。これらサブシステム
は、揮発性メモリ素子172,不揮発性メモリ素子17
4,ネットワーク・インターフェースのようなインター
フェース・デバイス175,およびキーボードまたはデ
ィスプレイのような他の入力/出力デバイス176を含
むことができる。プロセッサ171によって与えられる
ハードウェア内で、メモリアドレス変換,データ・パイ
プライニング,およびキャッシングを行うことによっ
て、CPU110のサイクルが、より有効な実行アプリ
ケーション・ソフトウェアに解放される。これらメモリ
制御機能をハードウェア補助機構によって実現すること
によって、複数の同時オペレーションを並列に実行する
ことができる。この場合(対照的なものとして)、ソフ
トウェア・インプリメンテーションは、一度に1つのタ
スクのみを実行する。アドレススペースが連続的に作
成,変更,削除されるメモリ管理の動的性質は、メモリ
をアクセスするようなプロセッサ間の競合を避けるため
に、各アドレス変換に、ソフトウェア・インプリメンテ
ーションを実行するプロセッサを同期させることを強要
する。
【0029】後に開示される装置に用いられるアーキテ
クチャは、ネットワーク・プロセッサ(NP)ハードウ
ェア・サブシステム、および、任意には、制御点プロセ
ッサ上で実行されるソフトウェア・ライブラリに基づい
ている。ネットワーク・プロセッサ・サブシステムは、
L2,L3,L4+データ・ストリングの構文解析およ
び変換のために初期に構成された高性能フレーム転送エ
ンジンである。ネットワーク・プロセッサ・サブシステ
ムは、装置を経る高速パスを与えることができ、他方、
ソフトウェア・ライブラリおよび制御点プロセッサは、
高速パスを維持するために必要とされる管理機能および
経路ディスカバリ機能を与える。制御点プロセッサおよ
びそこで実行されるソフトウェア・ライブラリは、共
に、システムの制御点(CP)を定める。制御点プロセ
ッサは、ネットワーク・プロセッサ内に組み込まれる
か、ネットワーク・プロセッサから物理的に分離される
か、あるいは、無いものとすることができる。
【0030】産業コンサルタントは、ネットワーク・プ
ロセッサを、以下の機能のうち1つ以上を実行できるプ
ログラマブル通信集積回路として定義した。
【0031】パケット分類:アドレスまたはプロトコル
のような既知の特徴に基づいてパケットを識別するこ
と。
【0032】パケット変更:IP,ATM,または他の
プロトコルに従うようにパケットを変更する機能(例え
ば、IPのヘッダ内の存続時間(time−to−li
ve)フィールドを更新する機能)。
【0033】キュー/ポリシー管理:パケット・キュー
イング,パケット・デキューイング,および特定アプリ
ケーションのためのパケット・スケジューリングに対す
る設計戦略を反映させる機能。
【0034】パケット転送−スイッチ構造を経てデータ
を送信および受信し、および、パケットを適切なアドレ
スに転送またはルーティングする機能。
【0035】この定義は、初期のNPの基本構造の正確
な記述であるが、NPの全ての潜在的能力および利点
は、まだ実現されていない。NPは、予めソフトウェア
で処理されたネットワーキング・タスクを、ハードウェ
アで実行させることによって、有効システム帯域幅を増
大し、広範囲のアプリケーションにおける待ち時間の問
題を解決することができる。さらに、NPは、並列分散
処理およびパイプライン処理構成のようなアーキテクチ
ャによって、速度改善を与えることができる。これらの
能力は、有効なサーチエンジンを使用可能にし、スルー
プットを増大し、複合タスクの高速実行を与えることが
できる。この定義は、一般に、ワイド・エリア・ネット
ワーク(WAN)に関係する用法と一致する用語“パケ
ット”を用いる。ここで説明した本発明は、一般に、ロ
ーカル・エリア・ネットワーク(LAN)に関係する用
法と一致する用語である“フレーム”に対して同様に機
能的である。本発明は、単一コンピュータ・システムの
内部ワーキング内でのこの技術の応用を意図している。
【0036】ネットワーク・プロセッサは、CPUがP
Cに対するのと同じように、ネットワークに対する基本
的ネットワーク構築ブロックとなることが予測されてい
る。NPによって与えられる典型的な能力は、リアルタ
イム処理,セキュリティ,格納および転送,スイッチ構
造,およびIPパケットの処理能力および学習能力であ
る。ここで働かされるように、このような能力が用いら
れて、基本的には、コンピュータ産業内で基準となって
いる内部バス構造から離れて、これまでにネットワーク
・プロセッサによってこのようなバスに沿って発生する
データ転送を超えるようにする。本発明によって用いら
れるNPは、例えば、周知の内部バス構造において得ら
れる能力を超える、アドレス変換およびプロセッサ間通
信(ブロードキャストを含む)に能力を与える。本発明
によって、これらの能力が、本発明によるコンピュータ
・システム内で働かされることが意図されている。
【0037】プロセッサ・モデルNPは、複数の汎用プ
ロセッサおよび特殊な論理回路を含む。プロセッサ・モ
デルNPは、低レベルの統合での分散処理を可能にし、
高いスループット,フレキシビリティ,および制御を与
える。プログラマビリティ(programmabil
ity)は、新しいASIC構造を要求することなく、
新しいプロトコルおよび方法への容易な移行を可能にす
る。
【0038】後に説明する装置の特定の部分は、その基
本的な構築ブロックとして、ネットワーク・プロセッサ
(NP)および制御点(CP)を用いて、モジュラーユ
ニットとなるように構成されている。任意のスイッチン
グ構造デバイスは、このようなユニットの3つ以上が互
いに連結されるときに用いることができる。任意のスイ
ッチング構造デバイスは(使用されるならば)、前述し
た1991年4月16日に発行された米国特許第5,0
08,878号明細書“High SpeedModu
lar Switching Apparatus f
or Circuit and Packet Swi
tched Traffic”に開示される。あるいは
また、単一ユニット(後述する)よりなるデータ・アラ
イン・シリアル・リンク(DASL)ポートを、アップ
サイドからダウンサイドに直接にリンクすることがで
き、単一ユニットを、ここで説明した方法の特定のアプ
リケーションに適切なタイプのスイッチとして働かせる
ことができる。
【0039】好適には、また、ここで開示するように、
本発明によって意図されるインターフェース・デバイス
(また、ここでは、ネットワーク・プロセッサすなわち
NPとみなされる)は、以下のものを有する単一の大規
模集積(VLSI)回路デバイスすなわちチップであ
る。すなわち、半導体基板と、基板上に形成された複数
のインターフェース・プロセッサと、基板上に形成さ
れ、インターフェース・プロセッサへのアクセス可能な
命令を格納する内部命令メモリと、基板上に形成され、
デバイスを経てインターフェース・プロセッサに渡され
るデータをアクセス可能に格納する内部データ・メモリ
と、複数の入力/出力ポートとを有する。また、インタ
ーフェース・プロセッサは、ここでは、しばしば、ピコ
プロセッサまたは処理ユニットとみなされる。与えられ
たポートは、内部データ・メモリを外部データ・メモリ
に接続する少なくとも1つのポートを有し、このような
多数のポートは、インターフェース・デバイスを通るデ
ータを、コンピュータ・システム100のメモリ素子お
よび周辺装置と交換するために必要とされる。制御点
(存在するならば)は、命令メモリに以下のような命令
をロードすることによって、インターフェース・デバイ
スと共働する。すなわち、命令は、データ交換入力/出
力ポート間のデータ交換と、データ・メモリを経るデー
タのフローとを指示する際に、インターフェース・プロ
セッサによって実行される。CPおよびNPは、単一の
半導体基板上に集積することができる。
【0040】ここに開示するネットワーク・プロセッサ
は、それが組み込まれるアセンブリは別にして、進歩的
であると考える。さらに、ここに開示するネットワーク
・プロセッサは、ここに開示される要素の範囲内で、こ
こでは十分に説明していない他のおよびさらなる発明を
有するものと考える。
【0041】より完全な理解のために、図3に、基板1
0と、基板上に集積された複数のサブアセンブリとを有
するネットワーク・プロセッサ・チップのブロック図を
示す。サブアセンブリは、アップサイド構成およびダウ
ンサイド構成に配置される。ここで用いられるように、
“アップサイド”は、ここに開示するネットワーク・プ
ロセッサへのデータのフローに関係し、一方、“ダウン
サイド”は、ネットワーク・プロセッサから、ネットワ
ーク・プロセッサによって指示されるデバイスまたは素
子へのデータのフローをいう。このデータフローは、個
々の構成に従う。その結果、アップサイド・データフロ
ーとダウンサイド・データフローとがある。アップサイ
ドのサブアセンブリは、エンキュー・デキュー・スケジ
ューリングUP[Enqueue−Dequeue−S
cheduling UP(EDS−UP)]ロジック
16,複合化IO−UP[multiplexed I
/O−UP(PPM−UP)]14,スイッチ・データ
・ムーバ[SwitchData Mover−UP
(SDM−UP)]18,システム・インターフェース
[System Interface(SIF)]2
0,データ・アライン・シリアル・リンクA[Data
Align Serial Link A(DASL
A)]22,およびデータ・アライン・シリアル・リン
クB[DataAlign Serial Link
B(DASLB)]24を含む。データ・アライン・シ
リアル・リンクは、1999年6月11月に出願された
米国特許出願第09/330,968号明細書“Hig
h Speed Parallel/Serial L
ink for Data Communicatio
n”の中に十分説明される。ここに開示される本発明の
装置の好適な形態は、DASLリンクを用いるが、本発
明は、特に、データフローが、VLSI構造内にあるよ
うに制限されるところで、他の形態のリンクを用いて、
かなり高いデータフロー速度を実現することを意図して
いる。
【0042】ダウンサイドのサブアセンブリは、DAS
L−A26,DASL−B28,SIF30,SDM−
DN32,EDN−DN34,およびPPM−DN36
を含む。また、チップは、複数の内部S−RAM,トラ
フィックMgtスケジューラ(Traffic Mgt
Scheduler)40,および組み込みプロセッ
サ複合体[Embedded Processor C
omplex(EPC)]12を含む。インターフェー
ス・デバイス38は、個々のDMUバスによって、I/
Oポート14および36に結合される。インターフェー
ス・デバイス38は、コンピュータ・システム100と
の内部通信に適した適切なL1回路とすることができ
る。このタイプのインターフェースは、部分的には、チ
ップが接続されるデバイスおよび素子によって指示され
る。望ましくは、複数の外部D−RAMおよびS−RA
Mが、チップによる使用に対して利用できることであ
る。
【0043】矢印は、ネットワーク・プロセッサ内の一
般的なデータのフローを示す。例えば、I/Oポートか
ら受け取られたデータフローは、EDS−UPによって
内部データ・ストア(Data Store)バッファ
内に格納される。これらのデータフローは、通常のデー
タ・フレーム(Data Frame)またはシステム
制御ガイド化フレームのいずれかとしてみなされ、EP
Cにエンキューされる(図3を参照)。EPCは、最大
N個(N>1)の並列のフレームに作用できるN個のプ
ロトコル・プロセッサを含む。10個のプロトコル・プ
ロセッサを有する実施例では、10個のうち2個のプロ
トコル・プロセッサが特殊化される。すなわち、ガイド
化フレーム(Guided Frame)を処理するプ
ロトコル・プロセッサ(Generic Centra
l HandlerすなわちGTH)と、コントロール
・メモリ(Control Memory)内にルック
アップ・データ(Lookup Data)を構築する
プロトコル・プロセッサ(Generic Tree
HandlerすなわちGTH)である。EPCはま
た、以下のものを含む。すなわち、データフローをアイ
ドル・プロセッサにマッチングさせるディスパッチャ,
フレーム・シーケンスを保持する完了ユニット,10個
のプロセッサ全てに共有される共通命令メモリ(Com
mon Instruction Memory),フ
レーム種別とフレームの開始命令アドレスを決定する働
きをするコプロセッサとを決定するクラシファイア・ハ
ードウェア補助機構(Classifier Hard
ware Assist),フレーム・バッファの読み
取りおよび書き込みオペレーションを制御するイングレ
スおよびエグレス・データ・ストア・インターフェース
(Igress andEgress Data St
ore interface),10個のプロセッサが
制御メモリを共有することを可能にする制御メモリ・ア
ービタ(Control Memory Arbite
r),内部NPデータ構造へのデバッグ・アクセスを可
能にするウェブ制御アービタおよびインターフェース
(Web Control Arbiter and
interface),および、他のハードウェア構成
を含む。
【0044】ガイド化フレームは、使用可能になったと
きに、ディスパッチャによってGCHプロセッサに送信
される。ガイド化フレーム内にエンコードされた、レジ
スタ書き込み,カウンタ読み取り,I/Oポート構成変
更などのようなオペレーションが、実行される。追加ポ
ートエントリのようなルックアップ・テーブル変更は、
メモリ読み取りおよび書き込みのような制御メモリ・オ
ペレーションのためのルックアップ・データ・プロセッ
サに渡される。MIBカウンタ読み取りのような幾つか
のコマンドは、応答フレームが作成されて、適切なデバ
イス上の適切なポートに転送されることを要求する。幾
つかのケースでは、ガイド化フレームは、インターフェ
ース・デバイスのエグレス・サイドに対してエンコード
される。これらのフレームは、照会されているインター
フェース・デバイスのエグレス・サイドに転送され、そ
の後、エンコードされたオペレーションを実行し、適切
な応答フレームを作成する。
【0045】データ・フレームは、フレーム・ルックア
ップを実行するために、次の使用可能なプロトコル・プ
ロセッサにディスパッチされる。フレーム・データは、
クラシファイア・ハードウェア補助機構(CHA)エン
ジンからの結果と共に、プロトコル・プロセッサに渡さ
れる。この結果は、ツリーサーチ・アルゴリズムおよび
開始している共通命令アドレス(CIA)を決定する。
支援されるツリーサーチ・アルゴリズムは、以下のもの
を含むことができる。すなわち、固定マッチツリー(レ
イヤ2のMACテーブルのような正確なマッチングを要
求する固定サイズパターン),最長接頭部マッチツリー
(サブネットIP転送のような可変長マッチヲ要求する
可変長パターン),および、ソフトウェア管理のツリー
(フィルタルールに用いられるような範囲またはビット
マスク・セットのいずれかを定める2つのパターン)で
ある。
【0046】ルックアップは、各々のプロトコル・プロ
セッサの一部であるツリーサーチ・エンジン(TSE)
コプロセッサの補助によって実行される。TSEコプロ
セッサは、制御メモリ・アクセスを実行し、実行を継続
するために、プロトコル・プロセッサを解放する。制御
メモリは、テーブル,カウンタ,およびピココードによ
って必要とされる他のデータを全て格納する。制御メモ
リ・オペレーションは、10個のプロセッサ複合体間の
メモリ・アクセスを調停する制御メモリ・アービタによ
って管理される。
【0047】フレーム・データは、データ・ストア・コ
プロセッサによりアクセスされる。データ・ストア・コ
プロセッサは、1次データ・バッファ(フレーム・デー
タの16バイト・セグメントを最大8個まで保持す
る),スクラッチ・パッド・データ・バッファ(また、
フレーム・データの16バイト・セグメントを最大8個
まで保持する),およびデータ・ストア・オペレーショ
ンのための所定の制御レジスタを含む。マッチングが見
つかると、イングレス・フレーム変更は、VLANヘッ
ダ挿入またはオーバーレイを含むことができる。この変
更は、インターフェース・デバイス・プロセッサ複合体
によって実行されず、むしろハードウェア・フラグは、
引き出され、他のイングレス・スイッチ・インターフェ
ース・ハードウェアが、変更を実行する。他のフレーム
変更は、イングレス・データ・ストア内に保持されたフ
レーム・コンテンツを変えることによって、ピココード
およびデータ・ストア・コプロセッサによって実現され
る。
【0048】エグレス・ツリーサーチは、イングレス・
サーチに対して支援された同じアルゴリズムを支援す
る。ルックアップは、TSEコプロセッサによって実行
され、実行を続けるために、プロトコル・プロセッサを
解放する。全ての制御メモリ・オペレーションは、制御
メモリ・アービタによって管理され、制御メモリ・アー
ビタは、10個のプロセッサ複合体間にメモリ・アクセ
スを割り当てる。
【0049】エグレス・フレーム・データは、データ・
ストア・コプロセッサによってアクセスされる。データ
・ストア・コプロセッサは、1次データ・バッファ(フ
レーム・データの16バイト・セグメントを最大8個ま
で保持する),スクラッチパッド・データ・バッファ
(また、フレーム・データの16バイト・セグメントを
最大8個まで保持する),およびデータ・ストア・オペ
レーションのための幾つかの制御レジスタを含む。成功
したルックアップの結果は、転送情報と、所定の場合に
は、フレーム変更情報を含む。フレーム変更は、ヘッダ
削除,ヘッダ・チェックサム再計算,CRCオーバーレ
イまたは挿入,およびDA/SAオーバーレイまたは挿
入を含むことができる。ヘッダ・チェックサムは、チェ
ックサム・コプロセッサによって準備される。変更は、
インターフェース・デバイス・プロセッサ複合体によっ
て実行されず、むしろハードウェア・フラグが作成さ
れ、PMMエグレス・ハードウェアが、変更を実行す
る。完了すると、エンキュー・コプロセッサを用いて、
EDSエグレス・キュー内にフレームをエンキューし、
それらを完了ユニットに送るのに必要なフォーマットを
作成するのを助ける。完了ユニットは、10個のプロト
コル・プロセッサから、エグレスI/Oポートに送るE
DSエグレス・キューまでのフレーム・オーダーを保証
する。
【0050】完成したフレームは、最後に、PMMエグ
レス・ハードウェアによってポートに送られる。
【0051】一般に、本発明を実施するシステム100
にほぼ類似する従来のコンピュータ・システムにおいて
は、キャッシュ管理は、通常、メモリ・コントローラ内
のハードウェア機能である。このような実施は、一般
に、“自身の”種々のメモリ・セグメントを検索できる
変更アプリケーション・プログラムを説明することはで
きない。本発明の実施では、メモリ・スペースの所有権
は、メモリ・コンテンツのキャッシングと共に、よりイ
ンテリジェントに管理され、従って、フィル・キャッシ
ュのよりインテリジェントな組は、キャッシュせず、ア
プリケーションが、よりアクティブとなるか、あるいは
アクティビティを停止させるときに、また、メモリ・ス
ペースが、ページインおよびページアウトするときに、
パージ・キャッシュ決定を行うことができる。NPは、
メモリ・スペースとアプリケーションとの間に類似性を
維持することができ、このことは、優先度およびセキュ
リティのような種々の属性へのリンケージを可能にす
る。その結果、メモリは、仮想メモリ読み取りまたは書
き込みオペレーションの各々および全部に基づいて、最
適化されるよりはむしろ、実行アプリケーション・プロ
グラムのコンテキスト内でグローバルに管理される。
【0052】内部バス(ここでは、ウェブと呼ばれる)
は、内部レジスタ,カウンタ,およびメモリへのアクセ
スを可能にする。ウェブはまた、デバッギングおよび診
断のための命令ステップおよび割り込み制御を制御する
外部インターフェースを含む。
【0053】ツリーサーチ・エンジン・コプロセッサ
は、無許可のメモリ・アクセス通知をチェックするメモ
リ範囲を与え、プロトコル・プロセッサ実行と並列に動
作するツリーサーチ命令(メモリ読み取り,書き込み,
または、読み取り−加算−書き込みのような)を実行す
る。
【0054】ディスパッチャーは、10個のプロトコル
・プロセッサへのフレームの送りを制御し、割り込みお
よびタイマーを管理する。
【0055】完了ユニットは、プロセッサ複合体からタ
ーゲット・ポート・キューまでのフレーム・オーダーを
保証する。リッチ命令セットは、条件付き実行,パッキ
ング(入力ハッシュ・キーのための),条件付き分岐,
符号付きおよび符号なしのオペレーション,先行ゼロ以
上のカウントを含む。
【0056】クラシファイア・ハードウェア補助機構エ
ンジンは、各フレームのプロトコル・ヘッダを渡し、こ
の情報にフレームを与える(フレームがプロトコル・プ
ロセッサにディスパッチされるとき)。
【0057】制御メモリ・アービタは、内部および外部
の両方のメモリへのプロセッサ・アクセスを制御する。
【0058】エグレス・フレームは、1つの外部データ
・バッファ(例えば、DS0)、または2つの外部デー
タ・バッファ(DS0およびDS1)のいずれかに格納
することができる。各バッファは、1対の2M×16ビ
ット×4バンクのDDR DRAM(64バイトのフレ
ームを最大256Kまで格納する),または、1対の4
M×16ビット×4バンクのDDR DRAM(64バ
イトのフレームを最大512Kまで格納する)で構成す
ることができる。4.57Mbpのレイヤ2およびレイ
ヤ3のスイッチングを支援するためには、2.28Mb
psに対しての単一の外部データ・バッファ(例えばD
S0)を選択するか、または、第2のバッファ(例えば
DS1)を追加する。第2のバッファの追加は、性能を
改善するが、フレーム容量を増大することはない。外部
データ・バッファ・インターフェースは、266MHz
のデータ・ストローブ、133MHzのクロック速度で
実行し、構成可能なCASの待ち時間およびドライブ強
度を支援する。
【0059】ポート・ミラーリングは、1つの受信ポー
トおよび1つの送信ポートが、プロトコル・プロセッサ
・リソースを用いることなく、システム指示された監視
ポートにコピーされることを可能にする。ミラーリング
されたインターフェース・デバイス・ポートは、フレー
ムおよびスイッチ制御データを付加するように構成され
る。個別データ・パスは、イングレス・スイッチ・イン
ターフェースへのダイレクト・フレーム・エンキューイ
ングを可能にする。
【0060】図面および詳細な説明では、本発明の好適
な実施例を説明した。また、特定の用語が用いられてい
るが、前述した説明は、限定するためにではなく、総称
的および説明の意味で、専門用語を用いている。
【0061】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)中央処理装置と、前記中央処理装置に動作的に関
連する複数の周辺装置とを備え、前記複数の周辺装置
は、前記中央処理装置によってデータを処理するため
に、前記中央処理装置とデータフローを交換する、揮発
性メモリと、不揮発性メモリと、複数のI/Oサブシス
テムとを有し、前記中央処理装置と前記周辺装置との
間、および前記周辺装置間に動作的に介在されたネット
ワーク・プロセッサを備え、前記ネットワーク・プロセ
ッサは、複数のインターフェース・プロセッサと、命令
を前記インターフェース・プロセッサにとってアクセス
可能に格納する命令メモリと、前記ネットワーク・プロ
セッサを介して、前記周辺装置との間でやり取りするデ
ータを、前記インターフェース・プロセッサにとってア
クセス可能に格納するデータ・メモリと、前記ネットワ
ーク・プロセッサを介して渡されるデータを、前記周辺
装置と交換する複数の入力/出力ポートとを有し、前記
インターフェース・プロセッサによる、前記命令メモリ
にロードされた命令の実行に応答して、前記入力/出力
ポート間のデータ交換と、前記データ・メモリを介して
前記揮発性メモリおよび前記不揮発性メモリとの間でや
り取りされるデータのフローとを指示する際に、前記ネ
ットワーク・プロセッサが前記中央処理装置と共働す
る、コンピュータ・システム。 (2)前記ネットワーク・プロセッサは、半導体基板を
備え、さらに、前記半導体基板上に、前記インターフェ
ース・プロセッサと、前記命令メモリと、前記データ・
メモリと、前記入力/出力ポートとが形成された、上記
(1)に記載のコンピュータ・システム。 (3)前記インターフェース・プロセッサの数は、4個
を超える、上記(1)に記載のコンピュータ・システ
ム。 (4)前記入力/出力ポートのうちの1つは、前記複数
のI/Oサブシステムのうちの対応する1つとそれぞれ
動作的に接続される、上記(1)に記載のコンピュータ
・システム。 (5)コンピュータ・システム内を転送されるデータの
ビット・ストリームを、ネットワーク・プロセッサを介
して、中央処理装置との間でやり取りするステップと、
前記コンピュータ・システム内を転送されるデータのビ
ット・ストリームを、前記ネットワーク・プロセッサを
介して、前記中央処理装置と動作的に関連する周辺装置
との間でやり取りするステップと、前記ネットワーク・
プロセッサにおいて、前記ビット・ストリームについて
の、仮想メモリ・アドレスおよび物理メモリ・アドレス
を処理して変換するステップとを含む、方法。 (6)前記アドレスを処理するステップは、ビット・ス
トリームを複数のデバイスに送受信するステップを含
む、上記(5)に記載の方法。
【図面の簡単な説明】
【図1】本発明が実施されるコンピュータ・システムを
示す図である。
【図2】図1のコンピュータ・システムの一部を示す概
略図であり、この環境における本発明の実施を示す図で
ある。
【図3】本発明で用いられるネットワーク・プロセッサ
の概略図である。
【図4】本発明で用いられるネットワーク・プロセッサ
の概略図である。
【符号の説明】
10 基板 12 EPC 18 SDM−UP 20,30 SIF 22 DASLA 24 DASLB 34 EDS−DN 40 Traffic Mgt Scheduler 100 コンピュータ・システム 110 中央処理装置(CPU) 120 主メモリ 122 ウェブサーバ・アプリケーション 124 トランザクション・プロセッサ 126 マクロファイル 128 構成ファイル 130 言語プロセッサ 134 オペレーティング・システム 136 アプリケーション・プログラム 138 データ 140 大容量ストレージI/F 150 ネットワークI/F 160 システム・バス 170 インターネット 171 プロセッサ 172 揮発性メモリ素子 174 不揮発性メモリ素子 175 ネットワーク・インターフェース 176 ディスプレイ 180 フロッピーディスク・ドライブ 186 フロッピーディスク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム・ジー・ホランド アメリカ合衆国 27511 ノースカロライ ナ州 ケアリー トライデント コート 105 (72)発明者 フランシス・イー・ノエル、ジュニア アメリカ合衆国 27707 ノースカロライ ナ州 ダルハム スワースモア ロード 4021 (72)発明者 チャールズ・ジェイ・サニポリ アメリカ合衆国 27613 ノースカロライ ナ州 ラレイ ギャルウェイ ドライブ 12332 Fターム(参考) 5B014 FA04 GA11

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】中央処理装置と、 前記中央処理装置に動作的に関連する複数の周辺装置と
    を備え、前記複数の周辺装置は、前記中央処理装置によ
    ってデータを処理するために、前記中央処理装置とデー
    タフローを交換する、揮発性メモリと、不揮発性メモリ
    と、複数のI/Oサブシステムとを有し、 前記中央処理装置と前記周辺装置との間、および前記周
    辺装置間に動作的に介在されたネットワーク・プロセッ
    サを備え、 前記ネットワーク・プロセッサは、 複数のインターフェース・プロセッサと、 命令を前記インターフェース・プロセッサにとってアク
    セス可能に格納する命令メモリと、 前記ネットワーク・プロセッサを介して、前記周辺装置
    との間でやり取りするデータを、前記インターフェース
    ・プロセッサにとってアクセス可能に格納するデータ・
    メモリと、 前記ネットワーク・プロセッサを介して渡されるデータ
    を、前記周辺装置と交換する複数の入力/出力ポートと
    を有し、 前記インターフェース・プロセッサによる、前記命令メ
    モリにロードされた命令の実行に応答して、前記入力/
    出力ポート間のデータ交換と、前記データ・メモリを介
    して前記揮発性メモリおよび前記不揮発性メモリとの間
    でやり取りされるデータのフローとを指示する際に、前
    記ネットワーク・プロセッサが前記中央処理装置と共働
    する、コンピュータ・システム。
  2. 【請求項2】前記ネットワーク・プロセッサは、半導体
    基板を備え、さらに、前記半導体基板上に、前記インタ
    ーフェース・プロセッサと、前記命令メモリと、前記デ
    ータ・メモリと、前記入力/出力ポートとが形成され
    た、請求項1に記載のコンピュータ・システム。
  3. 【請求項3】前記インターフェース・プロセッサの数
    は、4個を超える、請求項1に記載のコンピュータ・シ
    ステム。
  4. 【請求項4】前記入力/出力ポートのうちの1つは、前
    記複数のI/Oサブシステムのうちの対応する1つとそ
    れぞれ動作的に接続される、請求項1に記載のコンピュ
    ータ・システム。
  5. 【請求項5】コンピュータ・システム内を転送されるデ
    ータのビット・ストリームを、ネットワーク・プロセッ
    サを介して、中央処理装置との間でやり取りするステッ
    プと、 前記コンピュータ・システム内を転送されるデータのビ
    ット・ストリームを、前記ネットワーク・プロセッサを
    介して、前記中央処理装置と動作的に関連する周辺装置
    との間でやり取りするステップと、 前記ネットワーク・プロセッサにおいて、前記ビット・
    ストリームについての、仮想メモリ・アドレスおよび物
    理メモリ・アドレスを処理して変換するステップとを含
    む、方法。
  6. 【請求項6】前記アドレスを処理するステップは、ビッ
    ト・ストリームを複数のデバイスに送受信するステップ
    を含む、請求項5に記載の方法。
JP2001111177A 2000-04-18 2001-04-10 コンピュータ・システムおよびビット・ストリーム転送方法 Expired - Fee Related JP3935684B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/551,790 US6965922B1 (en) 2000-04-18 2000-04-18 Computer system and method with internal use of networking switching
US09/551790 2000-04-18

Publications (2)

Publication Number Publication Date
JP2002049573A true JP2002049573A (ja) 2002-02-15
JP3935684B2 JP3935684B2 (ja) 2007-06-27

Family

ID=24202690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001111177A Expired - Fee Related JP3935684B2 (ja) 2000-04-18 2001-04-10 コンピュータ・システムおよびビット・ストリーム転送方法

Country Status (5)

Country Link
US (1) US6965922B1 (ja)
JP (1) JP3935684B2 (ja)
KR (1) KR100396974B1 (ja)
CN (1) CN100387006C (ja)
TW (1) TW535069B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985431B1 (en) * 1999-08-27 2006-01-10 International Business Machines Corporation Network switch and components and method of operation
US7092404B1 (en) * 2001-04-27 2006-08-15 Tropic Networks Inc. Interposer chip for protocol conversion
US7047303B2 (en) * 2001-07-26 2006-05-16 International Business Machines Corporation Apparatus and method for using a network processor to guard against a “denial-of-service” attack on a server or server cluster
DE10161673A1 (de) * 2001-12-14 2003-06-26 Bosch Gmbh Robert Verfahren zur Datenübertagung und Sende bzw. Empfangseinrichtung in einem verteilten System
US20040143682A1 (en) * 2003-01-21 2004-07-22 Brocade Communications Systems, Inc. Network switch containing a hard disk drive
CN100365575C (zh) * 2006-03-18 2008-01-30 华为技术有限公司 一种实现网络处理器动态加载微码的方法及网络设备
US8001601B2 (en) * 2006-06-02 2011-08-16 At&T Intellectual Property Ii, L.P. Method and apparatus for large-scale automated distributed denial of service attack detection
US20150029946A1 (en) * 2013-07-26 2015-01-29 Michael Edward Smith Luna Modulation of packet characteristics to establish an overlay communication channel

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179715A (en) 1987-03-11 1993-01-12 Toyo Communication Co., Ltd. Multiprocessor computer system with process execution allocated by process managers in a ring configuration
EP0312628B1 (en) 1987-10-20 1993-12-29 International Business Machines Corporation High-speed modular switching apparatus for circuit and packet switched traffic
DE68926837T2 (de) * 1988-06-07 1997-03-06 Bull Hn Information Syst Einrichtung und Verfahren zur verbesserten Umsetzung von virtueller zu realer Adresse für Cache-Speicherzugriff
US5179669A (en) 1988-08-22 1993-01-12 At&T Bell Laboratories Multiprocessor interconnection and access arbitration arrangement
US5774698A (en) 1991-02-22 1998-06-30 International Business Machines Corporation Multi-media serial line switching adapter for parallel networks and heterogeneous and homologous computer system
DE69230093T2 (de) 1991-11-19 2000-04-13 Ibm Multiprozessorsystem
US5619650A (en) 1992-12-31 1997-04-08 International Business Machines Corporation Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message
US5598568A (en) 1993-05-06 1997-01-28 Mercury Computer Systems, Inc. Multicomputer memory access architecture
JPH0877062A (ja) * 1994-09-02 1996-03-22 Fuji Xerox Co Ltd アドレス管理装置
JP3247018B2 (ja) 1994-12-06 2002-01-15 富士通株式会社 アドレス生成装置
JPH08235141A (ja) 1995-02-28 1996-09-13 Kofu Nippon Denki Kk 情報処理システム
JPH0962641A (ja) 1995-08-22 1997-03-07 Fuji Xerox Co Ltd マルチプロセッサシステム
KR0170493B1 (ko) 1995-12-08 1999-03-30 양승택 다중 프로세서 시스템을 위한 논블록킹 결함허용 감마 연결망
US5842034A (en) 1996-12-20 1998-11-24 Raytheon Company Two dimensional crossbar mesh for multi-processor interconnect
JPH1165930A (ja) * 1997-08-21 1999-03-09 Nec Corp マイクロプロセッサ
JPH11282751A (ja) * 1998-03-27 1999-10-15 Nec Eng Ltd データ処理システム及びデータ処理方法
US6487606B1 (en) * 1998-11-18 2002-11-26 Nortel Networks Limited System and method for delivering messages through a totem communications system
US6460120B1 (en) * 1999-08-27 2002-10-01 International Business Machines Corporation Network processor, memory organization and methods

Also Published As

Publication number Publication date
JP3935684B2 (ja) 2007-06-27
US6965922B1 (en) 2005-11-15
TW535069B (en) 2003-06-01
KR100396974B1 (ko) 2003-09-03
CN100387006C (zh) 2008-05-07
CN1318927A (zh) 2001-10-24
KR20010096614A (ko) 2001-11-07

Similar Documents

Publication Publication Date Title
KR100372492B1 (ko) 네트워크 프로세서를 사용하는 서버 클러스터 접속
US7496699B2 (en) DMA descriptor queue read and cache write pointer arrangement
US5898888A (en) Method and system for translating peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a computer system
US7228389B2 (en) System and method for maintaining cache coherency in a shared memory system
US7818459B2 (en) Virtualization of I/O adapter resources
US7126952B2 (en) Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
WO2009018329A2 (en) Offloading input/output (i/o) virtualization operations to a processor
JPH1097513A (ja) マルチプロセッサ・コンピュータ・システム中のノード、及びマルチプロセッサ・コンピュータ・システム
US5860101A (en) Scalable symmetric multiprocessor data-processing system with data allocation among private caches and segments of system memory
JP2014534529A (ja) ネットワークプロセッサにおけるマルチコア相互接続
Ang et al. StarT-Voyager: A flexible platform for exploring scalable SMP issues
US6412047B2 (en) Coherency protocol
US6708258B1 (en) Computer system for eliminating memory read-modify-write operations during packet transfers
JP2002049573A (ja) コンピュータ・システムおよびビット・ストリーム転送方法
US5829035A (en) System and method for preventing stale data in multiple processor computer systems
US6952761B2 (en) Bus interface selection by page table attributes
US7013394B1 (en) Data flow pattern recognition and manipulation
JPH10187631A (ja) 拡張された対称マルチプロセッサ・アーキテクチャ
US6772218B1 (en) Server acceleration using network processor
JP3970705B2 (ja) アドレス変換装置、アドレス変換方法および2階層アドレス変換装置
US6745266B1 (en) Method and apparatus for disk cache translation between systems
US5666556A (en) Method and apparatus for redirecting register access requests wherein the register set is separate from a central processing unit
US7287128B1 (en) Write on reference mesh
US20110099304A1 (en) Controller and a Method for Controlling the Communication Between a Processor and an External Peripheral Device
JP2586690B2 (ja) 命令プリフェッチ装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040825

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041118

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051207

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070320

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees