JPH05501041A - 高速パケットスイッチング装置および方法 - Google Patents
高速パケットスイッチング装置および方法Info
- Publication number
- JPH05501041A JPH05501041A JP3507596A JP50759691A JPH05501041A JP H05501041 A JPH05501041 A JP H05501041A JP 3507596 A JP3507596 A JP 3507596A JP 50759691 A JP50759691 A JP 50759691A JP H05501041 A JPH05501041 A JP H05501041A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- digital signal
- processing
- digital
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4637—Interconnected ring systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/104—Asynchronous transfer mode [ATM] switching fabrics
- H04L49/105—ATM switching elements
- H04L49/107—ATM switching elements using shared medium
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
- H04L49/309—Header conversion, routing tables or routing tags
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/27—Using a specific cache architecture
- G06F2212/272—Cache only memory architecture [COMA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Auxiliary Devices For And Details Of Packaging Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
バケツ スイッチング およ ゛
[産業上の利用分野]
本発明は、パケット切換通信網のための装置に関するものであり、詳述すると、
高速マルチプロセッサパケットスイッチング構成を使用する装置および方法に関
するものである。
データ取扱装置またはデータ通信装置間の通信を提供するのに、広範なレンジの
遠距離通信網の構成がここ数年提案されるかまたは実施されている。詳述すると
、パケットスイッチング装置が開発され、ホストコンピュータへのアクセスを提
供するネットワークでの低コストのデータ通信に対する需要を満足させている。
従来のパケット切換装置では、ディジタルデータセルまたはパケットが、端末、
コンビエータ、応用プログラムまたはそのほかのデータ取扱装置によって選択さ
れた宛先へ送信される。宛先は別のデータ取扱またはデータ通信装置または系と
することができる。多くのパケットスイッチ装置では、特別目的のコンピュータ
がパケットスイッチングプロセッサ、すなわちパケットをネットワークを通じて
導(のに適当なようになされた通信プロセッサ、として使用されている。
パケットスイッチング装置のうちの一つの種別がネットワークを通ずる所定のバ
スを利用し、複数のユーザにより発生せられたパケットは、パケットがネットワ
ークを移動する際に、リンク設備およびスイッチ設備を共有する。これらの装置
においては、パケットが適当な宛先リンク設備を通じて先送りできるまで、パケ
ットは、送信リンク間のノードに格納されねばならない。この種別のデータ伝送
装置は、バーチセル(仮想)回路または接続指向形伝送と呼ばれる。
別の種別のパケットスイッチング装置は無接続伝送を使用するもので、ネットワ
ークを通ずるデータバスに関して何らの初期接続も要求しない、これらの装置で
は、宛先のアドレスを含む個別のデータセルまたはパケットが、ソース(il)
から中間ノードを経て宛先へとネットワークを通じてルート指定される。
バーチセル回路装置は、Te1enet Communications社によ
り設置された公衆網で使用されている。この装置は2レベル階眉を使用しデータ
パケットをルート指定する。
一方の階層レベルは、それぞれがクラスター状のスイッチを使用する複数のハブ
およびノードを使用するネットワークである。別のレベルは、それぞれのハブに
接続されたクラスター状の低レベルスイッチ、アクセス線およびトランクを有す
るネットワークであるm Te1enet装置は、コンビ二一夕をパケット切換
ネットワークへ接続するためのインターフェースとして、Internatio
nal Telecommunications UnionのInterna
tional Telegraph andTelephone Con5ul
tative Comm1ttee(CCITT)により公表されたx、75プ
ロトコルを使用する。プロトコルは3階層構造にて組織化されており、階層は物
理レベル、フレームレベルおよびパケットレベルと呼ばれる。Te1enet装
置でバスをルート指定することは、各ハブから利用可能なリンクを指示するルー
ト指定テーブルを使用するパケットスイッチングプロセッサによって決定される
。
Te1enet装置で使用される従来のパケットスイッチングプロセッサは主メ
モリユニットと、ユーザ線へのアクセスを制御するラインプロセッサと、パケッ
トレベルでのルート指定を制御する中央処理装置(CPU)とを備えている。中
央処理装置は、トランクトランクアクティブバーチセル回路のテーブルを使用し
、アクセスを要求しているユーザを接続するのに適当なハブおよびバーチセル回
路を識別する* Te1enet装置では、ネットワークにデータを伝送するそ
れぞれのユーザはまずバスを通じてそのデータパケットを主メモリに書き込まな
ければならない。それぞれのユーザに関連付けられたラインプロセッサは、調停
ユニットの制御下で従来のトークン通過の構成に従ってバスへのアクセスを競う
。
従来のバーチセル回路パケットスイッチング装置の別の形式が、異なる所定の優
先度を有する複数のバスリクエストチェインを使用するものである。装置の各チ
ェインは上述と類似の調停方式を使用する。
従来のパケットスイッチングネットワークのさらに別の例において、バスへのア
クセスをめるユーザはまず選択される信号パターンを調停バスへ伝送しなければ
ならない。この構成では、数個のラインユニットが同時にバスをドライブできる
。ドライブを行なうラインユニットは周期的にこれら信号パターンを読み取り、
そして他のリクエストの優先度に基づいて、それらの個々のリクエストを維持す
るかまたは見捨てるかを決定する。このプロセスは、調停ユニットがウィナ−(
勝者)を宣言するまで継続する。
ところが、従来のパケットスイッチング装置は、それらのバス調停方式からそし
て帯域幅が制限されたバスを通じての主メモリへのパケットの書込み要求による
通信帯域幅および速度における重大な制限を受ける。
たとえば、トークン通過調停を使用する装置では、リクエストを発しているユニ
ットは、そのユニットがバスへのアクセスを要求している唯一のプロセッサであ
っても、トークンがチェインに沿ってそのユニットへ通過せられるまで、そのリ
クエストを維持し且つアイドル状態に滞留しなければならない。トークンがユー
ザからユーザへ通過せられる間、時間および通信チャンネル容量が浪費される。
そのため、この種別の一定の従来装置は、約164メガビツト/秒よりも大きく
ないあるデータ伝送速度に制限されてしまう。
それゆえ、本発明の目的は、高められたパケット伝送速度を可能にする改善され
たパケットスイッチング装置および方法を提供することである。
本発明の他の目的は、高帯域幅パケット転送を可能にするパケットスイッチング
装置および方法を提供することである。
本発明のさらに他の目的は、複数の要求プロセッサが、パケット切換ネットワー
クへの実質的に瞬時のアクセスを受け取るのを可能にするパケットスイッチング
装置および方法を提供することである。
本発明のさらに他の目的は、広範なレンジの既存のまたは提案されているパケッ
トプロトコルを取り扱うことのできる装置および方法を提供することである。
本発明のさらに別の目的は、パケットスイッチング動作およびアプリケーション
プログラムプロセスの実質的に同時の取扱を可能にするパケットスイッチング装
置および方法を提供することである。
本発明の他の包括的な目的および特定の目的が部分的に明瞭となろうそして部分
的に以下で叙述されよう。
[発明の概要]
上述の目的は、−組のノード間でディジタル信号パケットを選択的にスイッチン
グするディジタルパケットスイッチング装!および方法を提供する本発明により
実現される。本発明は、それぞれが関連の内容参照可能メモリないし連想記憶要
素に結合されたプロセッサな宵する複数のプロセッシングセルを備える。メモリ
要素に電気的に結合されたパケットプロセッサが選択的にノードからパケットを
受信しそしてパケットを複数のメモリ要素のうちの少なくとも一つに送信するか
、メモリ要素からパケットを受信しそしてパケットを複数のノードのうちのすく
なくとも一つへ送信する。
本発明の一様相は、複数のメモリ要素に記憶された情報を表示する信号のうちの
一つまたはそれ以上にアクセスするためにメモリ要素に結合されたメモリ管理要
素を備える。セル中プロセッサは、情報表示信号へのアクセスを要求するために
アクセス要求要素を含む。アクセス要求要素は、所有権要求信号をも発生でき情
報表示信号への優先アクセスを要求する。
本発明の別の様相において、要求プロセッサに関連付けられたメモリ要素は、ア
クセス要求信号をメモリ管理要素へ選択的に送信するための制御要素を含む、メ
モリ管理要素はメモリ同一化(コヒーレンジ)要素をも含むことができる。これ
ら同一化要素は、要求プロセッサに関連づけられたメモリ要素に物理記憶空間を
排他的に割り当てそして要求される情報表示信号をその中に記憶させることによ
り、所有権要求信号に応答する。
本発明の別の様相は、複数のドメイン(0)のセグメントを有する第1のドメイ
ンを含む複数の情報転送ドメインを含む、それぞれのドメイン(0)セグメント
は、情報表示信号を転送するために、関連のバス要素と、このバス要素に接続さ
れた第1の複数のプロセッシングセルを含む。それぞれのセルは、情報表示信号
を記憶するために中央プロセッサと関連の内容参照可能メモリ要素とを有する。
メモリ要素は、情報表示信号を転送するために、引き続き、関連の中央プロセッ
サとバス要素とに接続されたインターフェース要素を含む。セルは、関連の中央
プロセッサ間の情報表示信号の転送が、それぞれのメモリ要素を通じてのみ起こ
るように構成されている。
本発明のこの様相は、関連のバス要素と複数のルート指定要素とを有するドメイ
ン(1)のセグメントを含む。
各ルート指定要素は、ドメイン(1)セグメントと関連のドメイン(0)セグメ
ントとの間で情報表示信号を転送するために、ドメイン(1)セグメントに関連
付けられたバス要素およびドメイン(0)セグメントのうちの一つに関連付けら
れたバス要素へ接続される。各ドメイン(0)セグメントに関連付けられたプロ
セッシングセルは、ドメイン(1)セグメントを通じてのみドメイン(0)セグ
メントの残余に関連づけられたプロセッシングセルと信号を転送できる。
本発明の別の様相において、上述の相互接続されたプロセッサは、第1の命令源
からの命令を含む命令のストリームを通常に処理するために、少な(とも一つの
内容参照可能なメモリ要素へ結合された第1のプロセッサを含み、他のプロセッ
サのうちの少な(とも一つは、ノードとメモリ要素との間の双方向性のパケット
転送を行なうためのパケットプロセッサを含む。パケットプロセッサは、第1の
命令源からの命令と同様の方法でそしてこの命令のプロセッシングの順序(シー
ケンス)に影響を与えることなく、第1のプロセッサにより処理されるべき一つ
またはそれ以上の被挿入命令を挿入するための挿入要素を含む。
本発明の別の様相において、メモリ要素のうちの少な(とも一つは、一つまたは
それ以上の情報表示信号を包含しそしてデータページの少なくとも一部分を形成
するデータサブページを含む。中央プロセッサのうちの少なくとも一つはアクセ
ス要求信号を発生し、メモリ要素に記憶されたデータサブページへのアクセスを
要求するアクセス要求要素を含む。本発明のこの様相によれば、メモリ管理要素
は、要求する中央プロセッサに関連付けられたメモリ要素内に、要求されるデー
タサブページに関連付けられるデータページについて物理記憶空間を割り当てそ
して要求されるデータサブページをこの中に記憶させることにより、一定のアク
セス要求信号に応答する。メモリ管理要素は、メモリ要素にて選択されたデータ
ページに割り当てられた物理記憶空間の割当解除を行なうための割当て解除要素
を含む。この割当て解除は、要求されるデータサブページに関連付けられるデー
タページについての物理記憶空間の割当てに先立ってまたはこれと実質的に同時
に行われる。
本発明の別の様相は、上述の多重ドメイン構成ならびに第1の命令源からの命令
を包含する命令ストリームを通常に処理するために選択される第1のプロセッサ
とを含む6本発明のこの様相によれば、他の相互接続されるプロセッサのうちの
少なくとも一つは、ノードとメモリ要素との間の双方向性のパケット転送を行な
うためのパケットプロセッサを含む、パケットプロセッサは、第1の命令源から
の命令源からの命令と同様の方法でそしてこの命令のプロセッシング順序に影響
を与えることなく、第1のプロセッサにより処理されるべき一つまたはそれ以上
の被挿入命令を挿入するための挿入要素を含む。
本発明のさらに別の様相は、少な(とも一つの遠方のプロセッシングセルを含み
、それぞれの遠方のプロセッシングセルは、情報転送のために関連のメモリ要素
と結合された中央プロセッサを含む、遠方のセルへ結合されたリモートインター
フェースモジニールが、遠方のプロセッシングセルに関連付けられたメモリ要素
と他のプロセッシングセルに関連付けられたメモリ要素との間で情報表示信号を
転送する。遠方のセルは他のセルから物理的に遠方の点に存在できそれゆえイン
ターフェースモジュールは物理的に遠方の点と他のセルとの間で情報表示信号を
送信するための要素を含むことができる。詳述すると、リモートインターフェー
スモジュールは、遠方のセルと他のセルとの間で情報表示信号を搬送するために
ファイバオブチック伝送媒体を包含できる。
本発明の一様相によれば、パケットプロセッサは、ノードからディジタル信号パ
ケットを受信するために、これらノードのうちの少なくとも一つと電気的に連絡
状態のパケット受信要素と、ノードから受信された各ディジタル信号パケットを
、ヘッダ部分とデータ部分とに分割するために、受信要素と電気的に連絡状態の
パケット分割要素とを含む。
パケットプロセッサはまたパケット分割要素によって分割されたディジタル信号
パケットを記憶するために、パケット分割要素と電気的に連絡状態のバッファ要
素を含むパケット受信用のバッファ要素を包含する。パケットプロセッサは、パ
ケット受信用バッファ要素およびメモリ要素と電気的に連絡状態のフレームプロ
セッシング要素を別途に含む。これらフレームプロセッサは、パケット受信用バ
ッファ要素からディジタル信号パケットを回収し、ディジタル信号パケットに対
して選択された処理を実行し、そしてディジタル信号パケットを複数のメモリ要
素に送信する。パケットプロセッサは、受信されたディジタル信号パケットをエ
ラーに関して検査しそして検査動作の結果を受信ディジタル信号パケットのヘッ
ダ部分とともに記憶させるためのエラー検査要素を含む。
本発明の別の様相において、セルは少な(とも一つの受信キュー(待ち行列)を
メモリ要素に記憶するために受信キュー要素を含む、受信キエーはパケットプロ
セッサから受信されるディジタル信号パケットを包含したデータ構造体を含む。
いずれのプロセッシングセルも処理を行なうため、選択されるパケットを受信キ
ューから回収できる。セルは少なくとも一つの送信キエーをメモリ要素に記憶す
るための送信キュー要素をも含む、ノードのうちの少な(とも一つに対応する送
信キューは、ノードのうちの少な(とも選択された一つへ送信されるディジタル
信号パケットを包含するデータ構造体を含む。
セルは、複数のプロセッサにより発生される制御信号に応答して、選択されるデ
ィジタル信号パケットを受信キューから少なくともある選択される送信キューへ
選択的に転送するために、受信キュー要素および送信キュー要素と連絡状態のキ
エーパケット用の転送要素をも含む。
なお、本発明の様相によれば、フレームプロセッサは、ディジタル信号パケット
のうち選択されたものを受信キューへロードするための要素を包含する。フレー
ムプロセッサは、ディジタル信号パケットのヘッダ部分に応答して、選択される
ディジタル信号パケットを、パケット受信用バッファ要素から送信キューへ転送
するために、パケット受信用バッファ要素と電気的に連絡状態の直接パケット転
送要素をも包含できる。フレームプロセッサはディジタル信号パケットのヘッダ
部分に応答して、パケットを送信キューから回収するために、送信キニー要素へ
結合されたユニットをも含む。これらのパケットはパケット転送バッファ要素に
記憶されており、引き続き、パケット転送要素により選択されるノードへ伝送さ
れる。
本発明の別の様相は、アプリケーションサービスキューを記憶させるために、少
なくとも一つのプロセッシングセルにアプリケーションサービスキュー要素を提
供する。このキューは、少なくとも一つのアプリケーションプログラムにしたが
ってプロセッシングセルによるサービスを受けるパケットを包含したデータ構造
体を含む。パケットは、アプリケーションプログラムにしたがってプロセッサに
より発生される制御信号に応答して、受信キューから応用サービスキューヘロー
ドできる。
アプリケージ3ン完了キユー要素がアプリケーション完了キューを記憶させるた
めに提供される。このキューは、アプリケーションプログラムにしたがってプロ
セッシングセルにより発生されるパケットを包含したデータ構造体を含む。転送
要素が、選択されるパケットを、アプリケーション完了キューから送信キューへ
ロードするために提供される。
以下、本発明を一定の図示の実施例の関係で叙述するけれども、当業者であれば
、本発明の精神または技術思想から逸脱することなく、種々の修正、追加および
削除が可能であることは明らかであろう。
[図面の簡単な説明]
第1図は、本発明に従って構成されたパケットスイッチングネットワークの構成
を図示する模式図である。
第2図は従来の階層化された開放型システム相互接続(O3I)通信アーキテク
チャを図示する模式図である。
第3図は、第2図のパケットスイッチング装置で使用される多重プロセッサ構造
を図示する模式図である。
第4図は、第3図の多重プロセッサ構造のプロセッシングセルの例を図示する。
第5A図〜第5C図は、本発明により構成されたプロセッシングセルの実施例を
図示する。
第5D図および第5E図は、本発明による、パケットプロセッシングユニット(
PSU)を包含したプロセッシングセルの詳細を図示する。
第6図は、第2図の装置でのパケットの流れを図示する。
第7図は、第5D図および第5E図の詳細を与える。
第8図は、第7図のパケットプロセッシングユニットでの受信キューへのパケッ
ト転送を図示する。
第9図は、送信キューへのパケット転送を図示する。
第10図は、送信キューから送信用FIFOバッファへのパケットの転送を図示
する。
[実施例]
第1図は本発明よるパケットスイッチングシステム100を図示する。システム
100は、ローカルエリアネットワーク(LAN)によりリンクされたデータ取
扱装置110と遠距離通信装置112と101.1.101.2、・・・、10
1.Nで動作するアプリケーションプログラムとを含む複数のユーザを選択的に
相互接続する。システムユーザは、他の情報提供主体および相互交換キャリア1
15をも含むことができる。システムは、後述する仕方でパケットスイッチング
システム100の動作を制御するために複数のプロセッシングセル18を有する
多重プロセッサパケットスイッチング装置ioを含む。
第1図に図示のユーザは、スイッチング網すなわちネットワーク116を通じて
多重プロセッサパケットスイッチング装!10と通信を行なう。このスイッチン
グ網は従来の設計とすることができ、たとえば、従来のTe1enetスイツチ
ングネツトワークのハブおよびリンクを含むことができる。ユーザがデータを送
信すると、スイッチング網116は知られる態様でデータを処理し、従来のプロ
トコルにしたがって構成されるディジタル信号パケットを発生する。パケットは
線118に沿って物理インターフェースモジエール120ヘルート指定できる。
また、パケットは、物理インターフェースモジュール120による受信の前に回
路スイッチ119ヘルート指定することも可能である。物理インターフェースモ
ジュール120は、第6図との関係で後述するように、受信されたパケットを処
理し、そしてパケットをパケットスイッチング装置10のプロセッシングセル1
8へ送信する。図示の実施例は、後述する態様で、信号パケットの別途の処理動
作を実行するだめに、物理インターフェースモジュール120とプロセッシング
セル18との間に挿入されたフレーム用マルチプレクサ(多重化装置)/デマル
チプレクサ(多重化解除装置)122を含む。
パケットスイッチング装置10が、図面との関係で後述するように、アプリケー
ションプログラム101を含むユーザにより発生された信号をパケットを受信し
そしてそれぞれのパケットを選択されるエンドユーザに送信する。パケットスイ
ッチング装置10からユーザへ向かうパケットの伝送がパケット受信のそれと類
似の態様で達成される。
本発明の重大な特徴は、第1図に図示のパケットスイッチング装置lOが開放型
システム相互接続(O3I)についての既存のISO(国際標準化機構)基準モ
デルと協働して動作できることである。第2図に図示のISO基準モデルは階層
化された通信アーキテクチャについての標準となっている。
ISO基準モデルおよび基本プロトコルの詳細な説明が参考のためここに合体せ
られる、SchwartzによるTelecommunication Net
works: Protocols Modelinand Anal sis
、 Addison−+1esley、 1987において見出すことができる
。
本発明の別の重大な特徴は、提案される広帯域統合ディジタルネットワーク(B
roadband IntegratedDigitalNetworks (
B−ISDN) )および同期オブティカルネットワーク(5ynchrono
us 0ptical Network(SONET+ )の標準と協働して動
作するパケットスイッチング装置の能力である。 B−ISDNは高速ディジタ
ル通信について出現した標準である。
B−ISDNについての多重化およびスイッチングに関して公表された2大方法
が、同期式転送モード(Synchronous Transfer Mode
(STM))および非同期式転送モード(Asynchrounous Tra
nsfer Mode (ATM) )である。同期式時分割多重化技術および
回路スイッチング技術が同期式転送モードの原理に基づく。非同期式時分割多重
化および高速パケットスイッチングが非同期式転送モードの原理に基づ(。
最近の進歩にも拘らず、回路スイッチング技術は、爆発的に増大するトラフィッ
クを効率よく担うことができない。転送する何らの情報もないとき、スイッチン
グ網資源が浪費される。高速パケットスイッチングまたはAM技術は、帯域幅が
複数のユーザ要求に基づいて動的に割り当てられるのでこれらの制限を除去する
6本発明の別の重大な特徴は、それゆえ、高速非同期式転送モード技術を支援す
る能力である。
ISOモデルおよび類似のアーキテクチャに含意されるものが、ネットワーク通
信の問題は2つの構成要素に分解できるという認識である。第1のものは通信ネ
ットワークそれ自身を含む。エンドユーザによりネットワークへ与久られるデー
タは正しくそして時宜にかなった仕方で宛先に到着しなければならない0通信問
題の第2の構成要素は、エンドユーザへ最終的に与えられるデータは認識可能で
あることそしてその正しい使用のために適宜の形式にあることを保証することの
必要性である。
O3I (開放型システム相互接続)基準モデルは第2図に図示の7つの階層を
備える。下位の3階層201〜203は、通信問題の第1の部分を取り扱うネッ
トワーク構造およびサービスを構成する。上位の4階層204〜207はエンド
ユーザにサービスを提供する構成要素および動作を構成する。これらの階層はこ
うしてネットワークにではなくエンドユーザに関連付けられる。
データリンク層202および物理層201は、理想的には、ネットワークの2つ
のノード間の誤りなし通信リンクを提供する。物理層201の機能は、リンクの
一方の端部にて物理媒体に入力するビットが宛先端部に到着するのを保証するこ
とである。この基本的なビット移送サービスを使用すると、データリンクプロト
コル、これはまたフレームレベルプロトコルとも呼ばれる、の目的は、データの
ブロックがリンクを誤りな(転送されるのを保証することである。
ネットワーク層203、これはパケットレベルとしてもまた知られる、の目的は
、ネットワークまたは複数のネットワークを通じて、ソースから宛先のノードの
方へ必要に応じてデータをルート指定することである。この層はフロー制御また
はふくそう制御をも提供し、デッドロック状態を導く可能性がある、ノードのバ
ッファや伝送リンクなどのネットワーク資源が満杯になることを防止する。これ
らの機能を実行する際に、ネットワーク層は、下位のデータリンク層のサービス
を使用し、ネットワークをあるルートに沿ってリンクの一方の端部に送偏された
データのブロック、すなわちパケット、が誤すな(宛先に到着することを保証す
る。
これらネットワークの目的およびパケットスイッチングの機能は、第1図に図示
のパケットスイッチング装置10の複数セル構成を利用することにより有利に与
えられる。詳述すると、第1図に図示の多重プロセッサ構造体10が、プロセッ
シングセルから成るただ一つのリングまたはドメインを包含するけれども、構造
体は第3図に図示されるように複数のドメインを有するよう拡張可能である。
第3図は、本発明のパケットスイッチングの実施と関連して使用できる多重プロ
セッサ構造体lOを図示する。
この種別の構造体が、多重プロセッサディジタルデータプロセッシングシステム
について1987年12月22日出願の本出願人による米国特許出願第136.
930号に開示されているので参考にされたい。
図示の多重プロセッサ構造体lOは、ドメイン(0)、ドメイン(1)およびド
メイン(2)の3つの情報転送ドメインを包含する。各情報転送ドメインは、バ
ス要素および複数のセルインターフェース要素によって特徴付けられる一つまた
はそれ以上のドメインセグメントを包含する。詳述すると、図示のシステム10
のドメイン(0)は、それぞれ12A、12B、12G、120.12Eおよび
12Fと指定された6つのセグメントを包含する。同様に、ドメイン(1)はセ
グメント14Aおよび14Bを包含しそしてドメイン(2)はセグメント16を
包含する。
ドメイン(0)の各セグメント、すなわちセグメント12A、12B、・・・1
2Fは複数のプロセッシングセルを包含する。たとえば、図示されるように、セ
グメント12Aがセル18A、 18Bおよび18Gを包含し、セグメント12
Bが、セル18D、18Eおよび18Fを包含する(以下同様)、これらのセル
はそれぞれ、セル内プロセッサバス(図示せず)で相互接続される中央プロセッ
シングユニットおよびメモリ要素を包含する0本発明の好ましい実施によれば、
各セルに包摂されるメモリ要素はその関連の中央プロセッシングユニットにより
使用される全ての制御信号およびデータ信号を格納する。
図示の通り、各ドメイン(0)セグメントは、情報表示信号をセグメントのセル
間で転送するための通信路を提供するバス要素を有するものとして特徴付けるこ
とができる。こうして図示のセグメント12Aがバス20Aによって、セグメン
ト12Bが20Bによって、セグメント12Gが200(以下同様)によって特
徴付けられる。 1987年12月22日出願の本出願人による米国特許出願第
136,930号に詳細に述べられているように、情報表示信号が、例示のセグ
メント12Aのセル18A、18Bおよび18G間を、これらセルのそれぞれに
関連付けられるメモリ要素を介して転送される。これらメモリ要素およびパス2
0A間の特定のインターフェースが、図示のように、セルインターフェースユニ
ット22A、22Bおよび22Gにより提供される。同様の直接通信路が、図示
のように、セルインターフェースユニット22D、22E、・・・22Rによっ
て、それぞれのセル18D、 18E、・・・18B間でセグメント12B、1
2Gおよび12D内に確立される。
図面で図示されるようにそして上に述べたように、残余の情報転送ドメイン、す
なわちドメイン(1)およびドメイン(2)、はそれぞれ一つまたはそれ以上の
対応するドメインセグメントを包摂する。それぞれの連続するドメインにおける
セグメントの数は、先行するもののセグメント数よりも少ない。こうして、ドメ
イン(1)の2つのセグメント14Aおよび14Bはドメイン(0)の6つのセ
グメント12A、 12B・・・12Fよりも数が少な(、セグメント16のみ
を有するドメイン(2)が全ての中で最小数を包摂する。「高位の」ドメインで
あるドメイン(1)およびドメイン(2)の各セグメントはそれぞれのセグメン
ト内で情報表示信号を転送するためのバス要素を包摂する。図面において、ドメ
イン(1)セグメント14Aおよび14Bはバス要素24Aおよび24Bをそれ
ぞれ包摂し、ドメイン(2)セグメント16はバス要素26を包摂する。
セグメントのバスは各セグメントの構成要素間、すなわちセグメントの複数のド
メインルート指定要素間、で情報を転送するのに供される。ルート指定要素それ
自身は、連続するドメインの関連のセグメント間で情報を転送するための機構を
提供する。たとえば、ルート指定要素28A、28Bおよび28Gが、ドメイン
(1)セグメント14Aおよび各ドメイン(0)セグメント12A、12Bおよ
び12Gからまたはそれらへ情報を転送する手段を提供する。同様に、ルート指
定要素28D、28Eおよび28Fが、ドメイン(1)セグメント14Bおよび
各ドメイン(0)セグメント12D、12Eおよび12Fからまたはそれらへ情
報を転送する手段を提供する。なお、ドメインルート指定要素3OAおよび30
Bが図示のようにドメイン(2)セグメント16およびドメイン(1)セグメン
ト14Aおよび14B間の情報転送路を与える。
ドメインルート指定要素は、バス要素での相互接続部を介してそれらの各セグメ
ントを接続する。こうして、ドメインルート指定要素28Aが、セルインターフ
ェースユニット32Aおよび34Aでバス要素20Aおよび24Aを接続し、要
素28Bが、セルインターフェースユニット32Bおよび34Bでバス要素20
Bおよび24Bを接続する(以下同様)、同様に、図示のように、ルート指定要
素30Aが、セルインターフェースユニット36A、36B、38Aおよび38
Bでそれらのバス、すなわち24A、24Bおよび26を接続する。
第3図は、本発明にしたがって構成されたディジタルデータプロセッシングシス
テムにおける遠方のドメインおよびセルを相互接続する好ましい機構を図示する
。バスセグメント20Fから物理的に遠方の点に存在するセル18Rが、破線に
より示されるようにファイバオブチック伝送線を介してそのバスおよびその関連
のセル(18Pおよび180)と結合できる。リモートインターフェースユニッ
ト19がセルインターフェース22Rおよびリモートセル18Rとの間の物理的
なインターフェースを提供する。リモートセル18Rは、他の図示のセルと同様
に構成され且つ動作せられ、そして遠方の端部にてファイバオブチックリンク部
を結合するリモートインターフェースユニットを包摂する。
同様の態様で、ドメインセグメント12Fおよび14Bが、それらの親セグメン
トからのファイバオブチックリンクを介して相互接続できる0図示のように、そ
れぞれのドメインルート指定ユニット211Fおよび30Bは2つのリモート結
合された部分を備える。たとえば、ドメインルート指定ユニット28Fについて
、第1の部分が、標準的なバス相互接続を介してセグメント14Bのセルインタ
ーフェース34Fと直接的に接続されており、そして、第2の部分がセグメント
12Fのセルインターフェースユニット32Fと直接的に接続されている。同様
に構成されたこれら2つの部分は、破線によって示されるように、ファイバオプ
チックリンクを介して結合される。上と同様に、ドメインルート指定ユニット部
分とファイバオブチック媒体との間の物理インターフェースがリモートインター
フェースユニット(図示せず)により与えられる。
第4図が第3図のプロセッシングセル18A、18B、・・・18Hの実施例を
図示する。図示のプロセッシングセル18Aは、それぞれプロセッサバス66と
命令バス68を通じて外部装置インターフェース60、データサブキャッシュ6
2および命令サブキャッシュ64と結合される中央プロセッシングユニット58
を含む。たとえばディスクドライブ装置などの外部装置と外部装置バスを通じて
の通信を与えるインターフェース60がこの分野の従来の方法で構成される。
プロセッサ58が、この分野で従来の方法で、データおよびアドレス制御線69
A、69Bを介して作動するサブキャッシュ共同実行ユニット(subchac
he co−executionunit)の制御下で、サブキャッシュ62お
よび64を接続するのに適当なようになされ且つ、後述するようにメモリ命令を
実行するのに適当なようになされた、たとえばモトローラ68000CPUなと
の商業的に入手可能なプロセッサのうちのいずれによっても構成可能である。プ
ロセッシングセルは、多重プロセッサディジタルデータプロセッシングシステム
について1987年12月22日出願の本出願人による米国特許出願筒136,
930号に開示されているので参考にされたい。
プロセッシングセル18Aは別途にキャッシュ制御ユニット74A、74Bを通
じてキャッジエバスフ6へ結合されたデ−タメモリユニット72A、72Bを包
摂する。キャッシュ制御ユニット74Cおよび74Dが引き続きキャッシュバス
76とプロセッシングバス66およびデータバス68との結合を提供する。第4
図で示されるように、バス78が、図示のセルに関連付けられたドメイン(0)
バスセグメント20Aとキャッジエバスフ6との間の相互接続を提供する。キャ
ッシュ制御ユニット74A、74B、74C,74Dの好ましい設計が、多重プ
ロセッサディジタルデータプロセッシングシステムについて1987年12月2
2日出願の米国特許出願筒136.930号および改善された多重プロセッサシ
ステムについて1989年6月22日出願の米国特許出願筒370.287号に
開示されているので参考にされたい。
好ましい実施例において、データキャッシュ72Aおよび72Bは、それぞれが
16メガバイトのデータを格納できるダイナミックランダムアクセスメモリCD
RAM)素子を含む。サブキャッシュ62および64はスタティックランダムア
クセスメモリ(SRAM)素子であり、前者は256キロバイトのデータを格納
でき、後者は256キロバイトの命令情報を格納できる。図示のように、キャッ
シュおよびプロセッサバス76.64が64ビツトの伝送路を提供し、命令バス
68が64ビツトの伝送路を提供する。キャッシュバス76の好ましい構成が、
多重プロセッサディジタルデータプロセッシングシステムについて1987年1
2月22日出願の米国特許出願筒136.930号に開示されているので参考に
されたい。
当業者は、図示のCPU 58が、従来の中央処理装置をそしてより一般的には
、たとえばI10コントローラまたはそのほかの特別目的のプロセッシング要素
などのメモリリクエストを発行できるいずれの装置をも代表できることを理解す
るであろう。
ここに開示のプロセッシングセルの命令の実行は、従来のディジタルプロセッシ
ングシステムとはいくつかの意味のある仕方で異なる。プロセッシングセル、た
とえば18A、は命令を並列に実行できる複数のプロセッシングセルまたは機能
ユニット、たとえば58と60、を有する。
さらに、機能ユニットはバイブライン化されており、複数の命令が、それらの実
行を一部重複させることにより、同時に進行中であることを可能にする。このバ
イブライン処理は、多重プロセッサディジタルデータプロセッシングシステムに
ついて1987年12月22日出願の米国特許出願筒136.930号に開示さ
れているので参考にされたい。なお、LOAD、 5TORES、 MOVOU
T、MOVB、 FDIvナトt−含むここに論述される命令の説明が1989
年6月22日出願の米国特許出願筒370.341号で見出すことができるので
参考にされたい。
本発明にしたがって構成されたプロセッシングセルがメモリから取り出された(
フェッチされた)一連の命令を実行する。実行のコンテキスト(文脈)は一部分
アーキテクチャによりそして一部分ソフトウエアにより画定できる。実行コンテ
キストのうちアーキテクチャ部分はコンテキストアドレス空間、特権レベル、汎
用レジスタ、および−組のプログラムカウンタから構成できる。
コンテキストアドレス空間および特権レベルは、メモリ装置のどのデータを命令
ストリームが参照しつるかを決定する。知られる工学的な実施にしたがって構成
される汎用レジスタが計算に使用される。これらの特徴は、上記米国特許出願筒
136.930号に開示されているので参考にされたい。プログラムカウンタは
、後述するように、命令ストリームのうちのどの部分がすでに実行されていたか
をそして次に実行されるのは何かを画定する。
2つの時間ユニットが、命令のタイミングを特定するのに使用できる。これらの
ユニットはここでは、それぞれ「クロック」および「サイクル」と呼ばれる。ク
ロックとは、システムのハードウェアにより画定される持続時間を有する実時間
の単位である。プロセッサは、サイクルごとに命令の取出しを遂行する。サイク
ルは、もし「機能停止(STALLIJ (この場合は、サイクルはある大きな
整数のクロックを取る)が生じなければ−クロツクを取る。命令の実行はサイク
ルについて記述せられそしてデータに依存しない。
バイブラインの機能停止(STALL)が、サブキャッシュおよびキャッシュ管
理のオーバーヘッドから生ずる。たいていのLOADおよび5TOPE動作が1
能停止なしに完了するが、システムがデータをローカルキャッシュからまたはリ
モートセルから回収するのを許容するために、LOAD、 5TOPEまたはメ
モリ制(財)命令のいずれもが機能停止を生じ得る。これらの遅れをここでは機
能停止と呼ぶ。機能停止中、他の命令の実行は進行せずそして何らの新規な命令
も取り出されない、機能停止は命令自身に関係付けられないが、関係データの付
近に関係付けられる。機能停止はクロックで測定されそれゆえ各機能停止は整数
のクロックである。ローカルキャッシュからデータを獲得している間に、かりに
CEUが機能停止したとしても、(サイクルで表現される)プログラミングモデ
ルは一定にとどまる。
第5A図〜第5C図の実施例と関係して図示されているように、本発明によるプ
ロセッシングセルi8. iは、ここでは「機能ユニット」とも呼ばれる4つの
プロセッシング要素、すなわちCEU5g、IPU84、FPU82およびXI
U60、を備えることができる。第5A図〜第5C図は4つのプロセッシング要
素を有するプロセッシングセルを図示シているけれども、本発明はより多いかま
たはより少ないプロセッシング要素を有するプロセッシングセルと関連して実施
できることを当業者は理解するであろう。
詳述すると、CEU(中央実行ユニット、CentralExecution
Unit)はすべての命令を取出し、データ取出しおよび格納(ここではLOA
Dおよび5TORESと呼ばれる)を制御し、命令の流れ(分岐)を制御し且つ
アドレス計算に必要とされる算術を行なう。IPU(整数プロセッシングユニッ
ト、Integer Processing Unit)は、整数演算命令およ
び論理命令を実行する。 FPU(浮動小数点プロセッシングユニット、Flo
ating point Processing Unit)番よ浮動小数点命
令を実行する。 XIU(外部入出カニニット、eXternal Ilo U
nit)は、外部装置への接続を与える共同実行(co−execution)
ユニットである。X1tlはDMA I直接メモリアクセス動作)およびプログ
ラムによる入出力を遂行し、そしてタイマーレジスタを備える。それはい(つか
の命令を実行し、プログラム入出力を制御する。
第5A図を再び参照すると、プロセッシングセル18.1は、命令キャッジ:L
64からの命令を含む命令ストリームを通常に処理するためのCEU5gを含む
一組の相互接続されたプロセッサ58.60.82.84を備える。命令キャッ
シュ64からの命令の流れは第5A図で破線86により示される。
第5A図に図示されるように、プロセッサのうちの少な(とも一つ、図示の実施
例ではFPU82およびXIU60、は、(:EH11により実行されることの
できる命令(ここでは「被挿入命令」と呼ばれる)を主張できる。FPU82か
らCEt158に向かう被挿入命令の流れは第5A図でFf1線により示される
。同様に、XIU60からCEU58へ向かう被挿入命令の移動が破線90によ
り示される。
さらに、これらの被挿入命令は、命令キャッシュ64からの命令と同様の態様で
且つこの命令の実行順序に影響を与えることなく CEt15+1により実行さ
れることができる。さらに、後述するように、被挿入命令は、選択されるアドレ
ス信号を特定する第1の組のディジタル命令ビットと選択されるコマンド信号を
特定する第2の組のディジタル命令ビットを含む、第1の命令源からの命令と同
様のフォーマットを有することができる。このフォーマットを有する被挿入命令
は、第4図に図示される命令キャッシュ64またはキャッシュ制御ユニット74
Dにより挿入されるキャッシュ管理命令を包摂できる。
第5A図は命令キャッシュ64を命令源として図示するが、代替え的に、命令源
は、命令キャッシュ要素へ合図を主張し命令が命令キャッシュ要素からCELI
5.!lへ送信されるようにするのに適当なようになされる、一定の状況下では
CEU 58を含むプロセッサまたは実行ユニットとすることができる。
上述したように、プロセッシングセル18.1は、プロセッサを相互に接続し且
つ命令を搬送する命令バス68を備λた命令パイプラインを包摂できる。プロセ
ッサは、順次、被挿入命令を命令バイブラインに挿入するハードウェア要素およ
びソフトウェア要素を合体できる。
第5A図に図示のXIU 60は、ここでは外部装置とも呼ばれる周辺装置から
受信されるそして周辺装置へ送信される信号70を取り扱うための入出力(Il
o)モジュールを合体できる。これら入出カモジュールは、周辺装置からの選択
される信号に応答して、第1命令源からの命令と同様の態様で且つこの命令の処
理順序に影響を与えることなしにCEU 5gにより処理されることのできる直
接メモリアクセス命令を挿入する直接メモリアクセス(DMA)要素を包含でき
る。これらの処理順序は以下で詳細4こ論述される。XIU60はディスプレイ
装置へ送信される信号を制(卸するために知られる工学的な実施にしたがって構
成されるグラフィックス制御回路、または、テキストを表示するデータ構造体を
探索するための従来のテキスト探索要素をも包含できる。
代替え的に、第5D図に図示されるようIこ、第5A図〜第5C図のXIUは、
以下で詳細に論述されるように、特別目的のパケット用共同ブロセ・ソサ85i
こより置換できる。さらに、第5E図が示すように、第5A図〜第5C図の4つ
のプロセッサは、フレームレベルの手続および選択される性能限界パケットレベ
ル手続を実施する単一のパケットプロセッサで置き換えることができる。
第5A図および第5B図に図示の各プロセッサ58.60.82.84は、以下
で詳細に論述される態様で、データ状態およびプロセッサ状態を表すディジタル
値を格納するレジスタを包含できる。これらのレジスタは、計算ユニットおよび
本発明の一実施例で使用されるそのは力)の論理要素とともに、第5C図に図示
されている。上述の被挿入命令はこれらのレジスタへのまたはレジスタ力)らの
データの移動を制御し、レジスタに格納される値で選択される論理動作の実行を
生ずる。
被挿入命令処理の追加説明が、1989年6月22日出願の米国特許出願第37
0.325号に与えられてl/)るので参考にされたい。
パケット用共同プロセッサ85の動作も士第6図瘉こ図示されるようにパケット
の流れとの関係で以下で説明される。
ニ’yv110【ム
本発明によれば、受信キュー601、送信キュー602、アプリケーション応答
キュー610およびアプリケーションサービスキュー612を含むパケットスイ
ッチング制御に必要とされるすべてのデータ構造体が、セル内プロセッシングユ
ニットに関連付けられたキャッシュメモリユニット72に存在する。この特徴は
、一つまたはそれ以上の物理的な大リンクおよび物理的な出リンクが各パケット
スイッチング共同実行ユニット(PSU)85に関連付けられることをも図示す
る第6図に示されている。一つまたはそれ以上の受信キュー601が各人リンク
に関連付けられておりそして一つまたはそれ以上の送信キュ−602が各出リン
クに関連付けられている。メモリアドレスが、セグメントベースでそれぞれのキ
ューに割り当てられる。
インターフェースか の9
パケットスイッチング共同実行ユニット85.1に関連付けられた受信側物理イ
ンターフェース120.1は、第2区に図示の物理層の残余およびデータリンク
またはフレーム署の部分を構成する従来の動作を実行する。各フレームまたはセ
ルは物理インターフェース120.1から受信されそしてパケットスイッチング
共同実行ユニット85.1により記述される。パケットまたはセルは順次ヘッダ
部分とデータ部分とに分割され、パケットスイッチング共同実行ユニットの受信
側FIFOバッファ602に格納される。
受信されたパケットまたはセルは誤りが検査され、そして結果はヘッダとともに
格納される。
瓜 フレームレベルのプロセッシング
第6図を再び参照すると、物理リンクに関連付けられるパケットスイッチング共
同実行ユニット85.1はフレームレベルのプロセッシングを完了し且つ受信さ
れたフレームまたはセルを受信キx 601へ格納する。上述したように、キャ
ッシュメモリに存在する少なくとも一つの受信キューは各物理受信リンクに対応
する。第5A図との関連で上述したように、パケットスイッチング共同実行ユニ
ット85.1は被挿入命令シーケンスを使用し、受信キュー601を直接操作し
た。
パケットレベルのプロセッシング
受信キュー601および送信キュー602のデータ構造体はキャッシュメモリ7
2に完全に存在するので、多重プロセッサ構造体10内のいずれのプロセッサも
パケット(ネットワーク)層プロトコルを実行できる。パケットは、メモリに存
在するパケットルート指定および流れ制御テーブルに基づいて、受信キュー60
1から適当な送信キュー602へ移される。これらの表は、「多重プロセッサデ
ィジタルデータプロセッシングシステム」についての1987年12月22日出
願の同時継続出願米国特許出願筒07/136.930号で説明されているので
参考にされたい。
さらに、たいていのパケットは通常の場合何らの計算資源も必要としないので、
物理受信リンクに関連付けられたパケットスイッチング共同実行ユニットはパケ
ットレベルのプロトコルを直接実行でき、パケットをパケットスイッチング共同
実行ユニットから適当な送信キューへ直接転送し、そして受信キューを迂回する
。これは、第6図のブロック614で指示される。もしより複雑な取扱いが必要
とされるならば、パケットは、ブロック614により示されるように、いずれの
プロセッサによってもパケットプロセッシングを行なうために、パケットは受信
キューに残されている。
パケットは、より高レベルのプロセッシングを行なうために、リンク受信キュー
601からアプリケーションサービスキュー612の方へルート指定されること
もできる。高レベルのプロセッシングの例が、多重プロセッサ構造体lO上でラ
ンするアプリケーションプログラムに応じてトランザクション、データベースキ
二一または計算である。高レベルプロセッシングは、パケットスイッチング動作
がそうであるのと同様にプロセッサプールおよびキャッシュメモリを使用する。
図示の実施例において、高レベルプロセッシングにより発生されるパケットはア
プリケーション完了キュー612に配置される。パケットレベルのプロセッシン
グが、リンク受信キューからのパケットに適用されるのと類似した態様でアプリ
ケーションによって発生されるパケットに対して遂行される。
′ フレームレベルのプロセッシング
物理送信リンクに関連付けられたパケットプロセッシング共同実行ユニット85
.2はフレームレベルのプロセッシングを遂行し且つフレームまたはセルをFI
FOバッファ61gを含むパケットプロセッシング共同実行ユニットに存在する
送信インターフェースに移し、物理インターフェース120.2へ伝送する。一
つまたはそれ以上のキャッシュメモリに存在する送信キューが各物理送信リンク
に対応している。受信されるパケットのプロセッシングとの関連で上述したのと
類似した態様で、送信するパケットプロセッシング共同実行ユニット85.2は
被挿入命令シーケンスを使用して送信キューを直接操作する。
インターフェースへの ′
パケットプロセッシング共同実行ユニットの物理送信インターフェース120.
2は、従来のISO基準モデルの実施にしたがって、物理リンク層を構成する動
作の一部およびフレームレベルのプロトコルの残余を実行する。各フレームまた
はセルは、パケットプロセッシング共同実行ユニットの送信FIFOバッファ6
1gに格納されるヘッダおよびデータから構成されており、適当なエラー検査コ
ードが知られる態様で発生される。
パケットプロセッシング δ ′−ユニットの ゛告l−玉
第7図に図示するように、パケットプロセッシング共同実行ユニットは、送信用
バッファ701、受信側バッファ702、コマンドバッファレジスタファイル7
03、被挿入命令機能状態マシーン(FSM) 704および命令デコードユニ
ット705という5つの主要ブロックからなる。この−組のユニットは、物理イ
ンターフェースに関連付けられたブロックと、上述のプロセッサバスまたはプロ
セッシング共同実行ユニットインターフェースに関連付けられたブロックという
2つのグループに分けられる。詳述すると、送信バッファ701および受信バッ
ファ702は物理インターフェースと相互に接続しており、それゆえパケットを
物理インターフェースへおよびこれから転送する。コマンドバッファレジスタフ
ァイル703、被挿入命令状態マシーン704および命令デコード705は共同
実行ユニットインターフェースと関連付けられる。
1匹ユ11
送信バッファは、送信用データFIFO710、送信用ヘッドFIFO711,
ヘッダフォーマツタ712およびパケット機能状態マシーン713を備える。パ
ケット機能状態マシーンは、ヘッダ用FIFOバッファおよびデータ用FIFO
バッファの内容からフレーム内の物理パケットフレームおよびセルの構成を調整
する。ヘッダおよびデータ用FIFO部は、被挿入命令状態マシーンによりSV
Aキャッシュから前もってロードされている。なお、これらの要素の説明は、同
時継続米国特許出願筒07/136.930号および370.325号で説明さ
れているので参考にされたい。
ヘッダフォーマツタ712は、キャッシュから取り出されるデータ構造体に基づ
いて、そしてコマンドバッファ703からの送信コマンドに応答して、従来の方
法を使用して物理ヘッダを構成する。パケット機能状態マシーン713は、ヘッ
ダ内容に基づいてそしてコマンドバッファ703からの送信コマンドに応答して
ディジタルプロセッシングの分野で知られる操作を使用することにより、出フレ
ームまたはセルを構成する。図示の実施例は、送信コマンドを適用してヘッダフ
ォーマツタ部およびパケット機能状態マシーンの動作を決定することにより、パ
ケットフォーマットおよびフレームレベルプロトコルのプロセッシングにおける
高い融通性を与える。送信バッファは適当な直列化および制御信号をも提供し、
知られる工学的な実施にしたがって物理インターフェースへ接続受信用バッファ
702は、受信データ用FIFO部714、受信ヘッダ用FIFO715、ヘッ
ダ分割部716およびパケット機能状態マシーン717とを備える。パケット機
能状態マシーン717は知られるディジタル信号プロセッシングの原理にしたが
って動作し、パケットフレームまたはフレーム内の合図セルの受信と、それぞれ
、ヘッダFIFO部715およびデータFIFO部714への配置を目的とした
ヘッダ部分およびデータ部分への分割を調整する。コマンドバッファ703から
の受信コマンドは、フレームまたはセルのヘッダ部分およびデータ部分を適宜に
分割するために、パケット機能状態マシーン717により使用される。
ヘッダ分割部716は、コマンドバッファからの受信コマンドに基づいて、ヘッ
ダをSVAキャッシェに格納されるデータ構造体へ再度フォーマット化する。送
信バッファの場合と同様に、パケットフォーマットおよびフレームレベルのプロ
トコルにおける融通性が、受信コマンドにより制御される、ヘッダ分割部および
パケット機能状態マシーン動作を有することにより実現される。受信バッファ7
02は、物理インターフェースへの接続のためにパケットおよび制御信号の適宜
の並列化をも提供する。
コマンドバッファ
コマンドバッファ703は、受信コマンドおよび送信コマンドを保持し且つキャ
ッシュメモリに存在するデータ構造体の部分に関して一時的なオンチップ記憶を
提供するパケットスイッチング共同実行ユニット所在の多重ボートメモリ素子で
ある。キャッシュメモリ所在のキューのアクティブなエントリに対するポインタ
が、受信バッファおよび送信バッファについて個別に維持される。
図示の実施例において、コマンドバッファは、3つの読込みボートと2つの書込
みボートを有する。2つの読込みボートが、現在の送信コマンドについて送信用
バッファ701にそして現在の受信コマンドについて受信用バッファ702に割
り当てられる。第1の書込みボートは、送信パケット機能状態マシーン713ま
たは受信パケット機能状態マシーン717がコマンドバッファステータスを更新
するのを許容する。第3の読込みボートは、コマンドバッファの内容を直接キャ
ッシュメモリに格納するためにデータバスに結合される。第2の書込みボートは
、キャッシュメモリのアクセスされた内容を受信しそしてデータをコマンドバッ
ファに格納するようデータバスに接続する。
命4′態マシーン
被挿入命令状態マシーン(IISM) 704は、受信バッファ702からのフ
レームまたはセルをキャッシュメモリをベースにしたキ二−に格納するのに必要
とされる命令を発生する。被挿入命令状態マシーン704は、キャッシュメモリ
をベースにしたキューからのフレームまたはセルを送信バッファにロードするの
に必要とされる命令をも発生する。
さらに、被挿入命令状態マシーン704は、キャッシュメモリをベースにしたキ
ュー構造体を操作するのに必要とされる命令を発生する。これらの動作は、キュ
ーエントリ内でポインタを更新し、GET 、 GETI!およびRELEAS
Eコマンドを含むキューデータ構造体のアトミックな更新のために命令を発生し
、近い将来に必要とされるであろうキューエントリをブリフェッチする命令およ
びそれについて近い将来にコピーが他のセルにより必要とされるであろうところ
のキューエントリをポストストアする(事後記憶させる)命令を発生することを
含む。プリフェッチ命令ならびに一定のLOADおよび5TORE命令は、プロ
グラムがそれらのローカルキャッシュがリードオンリー、非排他的または排他的
状態を獲得することを要求するようにする。たとえば、ブリフェッチサブページ
コマンドは、サブページのコピーが特定の状態にあるローカルキャッシュ上で獲
得されることを要求する。ブリフェッチサブページは、サブページがプロセッサ
の命令サブキャッシュまたはデータサブキャッシュへ予め取り入れられる(ブリ
フェッチされる)べきが否かを指定する。サブページについての引き続(ロード
がブリフェッチサブページコマンドが完了してしまうまで停止する。
ポストストアサブページまたはPSTSP命令は、もしサブページの状態が排他
的であれば、口〜カルキャッシュがリングを通じてサブページの読取り専用(リ
ードオンリ)コピーを報知するようにさせる。それについてキャッシュがサブペ
ージを包摂するページについての記述子を包含するところのセルはそれぞれサブ
ページの読み取り専用コピーを獲得する。PSTSPは以下の段階にしたがって
動作する。
1、プロセッサはサブページアドレスおよびPSTSPリクエストをローカルキ
ャッシュへ送る。
2、ローカルキャッシュはOK応答をプロセッサへ発行しそしてプロセッサの実
行が進行する。
3、もしサブページ状態が排他的であり且つPSTSPにより指定されるサブベ
ージアドレスが懸案の(ベンディング)のリングリクエストと整合しなければ、
順次、a、ローカルキャッシュは、もしサブページがサブキャッシュ化ないし副
記憶されなければ、XCACI(E、 ROサブキャッシュ無効リクエストをプ
ロセッサへ発行する。プロセッサは、もしサブブロックが修正されなければ、デ
ータをローカルキャッシュへ送ることにより無効リクエストに応答する。
b、ローカルキャッシュはサブページの読み取り専用コピーをリング上に報知す
る。
4、そうでなければ、PSTSPは実行されない。
PSTSP命令は重複パケットプロセスを開始する。重複データパケットがDU
PLIMITに基づいて発信ないし親リング:0から送られる。もし、DUP
: C0NDFORIRDが適用されれば、もしページがローカルリング:0に
より排他的に所有されなければ、重複パケットがRRC二Oによってリング:l
へ条件付きで送られる。もし、DIP : ALLFORWARDが適用されれ
ば、重複パケットがRRC:Oによってリング:lへ宮に送られる。リング:1
の重複データパケットは、RRC:1がそのローカルリング:1内に対応するペ
ージについて割り当てられた記述子を有し且つExtract Buffer(
抽出バッファ)がEXTBUF:ALL帯域にあるとき、遠方のRR(::1に
よりコピーされる。
ブリフェッチおよびポストストアを含むこれらのコマンドが米国特許出願筒07
/136.930号、第370.287号で詳細に説明されているので参考にさ
れたい。
11立ヱユニ±
命令のデコードブロック705は、パケットスイッチング共同実行ユニットによ
り実行される命令をデコードしそしてパケットスイッチング共同実行ユニット8
5が命令バイブラインを追跡するのを可能にする。パケットスイッチング共同実
行ユニットにより実行される命令は、命令用サブキャッシュ(第5A図)からフ
ェッチされる命令またはパケットスイッチング共同実行ユニットまたはそのほか
の共同実行ユニットにより挿入される被挿入命令とすることができる。
パケットスイッチングf石 ′−ユニットのパケットスイッチング共同実行ユニ
ットは3つの基本的なキャッシュメモリキュー操作を遂行する。第8図、第9図
および第10図に図示の実施例は、基本的な単一リンクリストキュー構造を使用
するが、当業者は、種々の任意のキュー構造体が実施できることそしてこれらは
本発明の技術思想内に包含されることを理解するであろう。シーケンスにより修
正され且つ共有されるキューエントリは、ローカルキャッシュにより実行される
、挿入されるGET、 GETWおよびRELEASE (開放)命令を通じて
パケットスイッチング共同実行ユニットにより直接ロック[LO(:KED]
およびアンロック[UNLOCKEDI される。キューエントリがGETまた
はGETW を使用してロックされ、シーケンスの開始時にアトミック状態を設
定する。
キューエントリがRELEASE命令によりシーケンスの終わりでアンロックさ
れる。これらの命令は米国特許出願筒07/136.930号、第370.28
7号で詳細に説明されているので参考にされたい。
二雷キエーへのパケットの ゛
第8図は、パケットスイッチング共同実行ユニットの内部の受信FIFO部から
受信されたパケットをキャッシュメモリをベースにした受信キューへ転送するパ
ケットスイッチング共同実行ユニット85により実行されるシーケンスを図示す
る。空きキューからのオールドヘッダ(OLDl(EAD) iよ、リンク受信
キューのニューテール(NEWTAIL)エントリとなるように移動され、受信
されるフレームまたはセルはエントリへ格納される。シーケンスは以下の4つの
段階を包含する。
1、パケットスイッチング共同実行ユニットは、オールドヘッダのアドレスから
ニューヘツダのアドレスへと空きキューヘッドポインタを更新する。
2、パケットスイッチング共同実行ユニットは、挿入される格納命令(STOR
E lN5ERTED lN5TRUCTION)を使用してリンク受信キュー
オールドテールエントリ正方向ポインタを、空きエントリキューから除去される
まさにそのエントリのアドレスへと更新する。これがここにニューテールエント
リとなる。
3、パケットスイッチング共同実行ユニットは、挿入されるブリフェッチ命令(
PREFETCHE lN5ERTED〜lN5TRUCTION)を使用して
、空きエントリキューのニューヘッダエントリをブリフェッチする。
4、パケットスイッチング共同実行ユニットは、挿入される格納命令(STOR
E lN5ERTED−INSTRUCTION)フレームまたはセルデータお
よびヘッダをリンク受信キュー二二一テールエントリへ格納する。
風雪キ二−か ゛ −キューへのパケットの ゛第9図に図示されるように、パ
ケットレベルのプロセッシングに基づいて、エントリがリンク受信キューから除
去されそして適当なリンク送信キューへ移される。パケットプロセッシング共同
実行ユニットによりまたはいずれのプロセッサによっても遂行されることのでき
るこのシーケンスは以下の5つの段階を包摂する。
1、プロセッサまたはパケットプロセッシング共同実行ユニットは受信キューヘ
ッドポインタをニューヘッダのアドレスへ更新する(STORE lN5ERT
ED−INSTRUCTION)ことにより、オールドヘッダをリンク受信キュ
ーから除去する。
2、プロセッサまたはパケットプロセッシング共同実行ユニットはリンク受信キ
ューのニューヘッダをブリフェッチする。
3、プロセッサまたはパケットプロセッシング共同実行ユニットはフレームまた
はセルに対してパケットレベルプロセッシングを遂行し、適当なリンク送信キュ
ーを選択する。パケットプロセッシング共同実行ユニットは、エラーの存在につ
いて検査する際にそしてキャッシュメモリベースのルート指定テーブルルックア
ップを実行する際に簡単なパケットレベルプロセッシングを実施し、送信のルー
ト指定を決定する。適当なヘッダおよびコマンドビットは修正される。
4、プロセッサまたはパケットプロセッシング共同実行ユニットはリンク送信キ
ューオールドテールエントリポインタをリンク受信キューからのオールドヘッダ
のアドレスへ更新する。
5、プロセッサまたはパケットプロセッシング共同実行ユニットは、オールドテ
ールおよびニューテールをポストストア(事後格納)する。
゛ 雪キューか ゛ t FIFOoへのパケットの ゛パケットプロセッシン
グ共同実行ユニットは第10図に示されるシーケンスを実行し、キャッシュメモ
リベースのリンク送信キューからパケットプロセッシング共同実行ユニットの内
部送信FIFO部へ送信されるようにフレームまたはセルを転送する。リンク送
信キューからのオールドヘッダはパケットプロセッシング相互実行ユニットの送
信FIFO部ヘロ部上ロードして元の受信空きキューの二ニーテールエントリと
なるように移される。
シーケンスは以下の4つの段階を包摂する。
1、パケットプロセッシング共同実行ユニットはリンク送信キューからのフレア
、ムまたはセルデータおよびヘッダをパケットプロセッシング共同実行ユニット
の送信FIFO部ヘロ部上ロード(LOAD lN5ERTEII lN5TR
UCTIONS)。
2、パケットプロセッシング共同実行ユニットは、リンク送信キューニューヘッ
ダエントリをブリフェッチする。
3、パケットプロセッシング共同実行ユニットはリンク送信キュヘッドポインタ
をオールドヘッダのアドレスからニューヘッダのアドレスへ更新する。
4、パケットプロセッシング共同実行ユニットは、リンク送信キューからたった
いま除去されそして現在は二ニーテールエントリとなっているエントリのアドレ
スへとリンク送信キューオールドテールエントリ正方向ポインタを更新する。
当業者は、第1図〜第10図との関係で上述した多重プロセッサパケットスイッ
チング構造体および動作シーケンスは高いパケットスイッチング効率を提供する
ことを理解するであろう。詳述すると、第3図に図示の階層的なリング構造体は
極めて迅速な相互接続構造体をを提供し、リング(0)について約0.8ギガバ
イト/秒のデータ転送速度をそしてリング(1)について約3.2ギガバイト/
秒のデータ転送速度をもたらす。さらに、例示のキャッシュメモリおよび相互接
続構造体はパケット向きであり、図示の実施例でのデータ転送の基本単位は12
8バイトサブページである。
さらに、図示のキャッシュメモリ構成は、すべてのデータ構造体が仮想および物
理メモリに存在するのを可能ならしめ、すべてのプロセッサにとって幅広くアク
セス可能である。それゆえ、パケットスイッチング応用が容易にプログラムされ
るとともに最適な性能を実現する。
図示の構造体の幅広い共用アドレス空間は、単一レベルの記憶装置がすべてのプ
ロセッサおよびパケットスイッチング共同実行ユニットにより均等に共用される
のを可能ならしめる。当業者は、図示のメモリ装置でのアトミック状態は効率が
よく且つ都合のよいハードウェアロック要素を提供する。
本発明によれば、メモリアクセスは、プロセッサおよびパケットスイッチング共
同実行ユニット計算動作と有利に重複せられ、それによりメモリ待ち時間を除去
する。これは、上述のブリフェッチおよびポストストア命令を通じて実現される
。
なお、上述の共同実行ユニットのアーキテクチャは、キャッシュメモリ装置と専
用共同実行ユニットの亘接相互接続を可能にする。パケットプロセッシング共同
実行ユニットは専用共同実行ユニットの一例である。専用共同実行ユニットはす
べてのメモリ装置命令ならびに専用共同実行ユニット命令を発行し且つ実行する
。システムは、すべてのプロセッサおよびパケットプロセッシング共同実行ユニ
ットがキャッシュメモリへの均等なアクセスを有するので動的なロード平衡を実
現する。
かくして、本発明は、上述の説明から明らかにされた目的のなかでも特に前述の
目的を効率よ(実現するが理解されるであろう。
本発明の技術思想から逸脱することなく、上記構成および上記の動作シーケンス
において変更が可能であることが理解されよう、したがって、上記説明に含まれ
るまたは添付図面に図示されるすべての事項は、限定的な意味としてではな(例
示として解釈されるべきである。
以下の請求の範囲は、ここに開示の本発明の包括的特徴および特定の特徴の全て
および言葉の問題として本発明の技術思想内に包含される発明の全てを包摂する
よう企図されたものである。
浄書(内容に変更なし)
r −−−−−−”1
要 約 書
複数のユーザ(110)と通信製ffi (112)とをパケットスイッチング
ネットワークを介してアプリケーションプログラム(lot)と選択的に相互接
続するパケットスイッチング装置(100)。パケットスイッチングネットワー
クは複数のプロセッシングセル(18)を備える。スイッチング網(116)は
ユーザ(115)および装置(112)からのデータを処理し、従来のプロトコ
ルと適合するディジタル儒号パケットを発生する。
手続補正書(放)
平成4年10月15日
Claims (1)
- 【特許請求の範囲】 1.選択されるプロトコルにしたがって構成されるディジタル信号パケットを一 組のノード間で選択的にスイッチングするためのディジタルパケットスイッチン グ装置において、 情報表示ディジタル信号を格納するためにそれぞれが関連の連想記憶要素に結合 されたプロセッシングユニットを包含する複数のプロセッシングセルと、前記複 数の記憶要素に格納される前記情報表示信号の内の一つまたはそれ以上にアクセ スするために前記複数の記憶要素に結合された記憶要素管理手段と、情報表示信 号へのアクセス要求を表示するアクセス要求信号を発生するアクセス要求手段を 含む前記プロセッシングユニットのうち少くとも要求するプロセッシングユニッ トとを備え、 前記アクセス要求手段は、情報表示信号への優先的なアクセス要求を表示する所 有権要求信号を発生する手段を備えており、 少くとも前記要求するプロセッシングユニットに関連付けられる前記記憶要素は 、前記アクセス要求信号を前記記憶要素管理手段へ選択的に送信させるための制 御手段を含み、前記記憶要素管理手段は、前記所有権要求信号のうちの選択され るものに応答して、要求される情報表示信号について物理記憶空間を前記要求プ ロセッシングユニットに関連付けられたメモリ要素内に排他的に割り当て且つこ の信号を物理記憶空間に格納するための記憶コヒーレンツ手段を備え、さらに 前記複数の記憶要素のうちの少くとも一つに電気的に結合されており、(i)前 記ノードのうちの少なくとも一つから少くとも一つのディジタル信号パケットを 受信し且つ当該少くとも一つのディジタル信号パケットを前記複数の記憶要素の うちの少くとも一つに送信するかまたは(ii)前記複数の配置要素のうちの少 くとも一つから少くとも一つのディジタル信号パケットを受信し且つ当該少くと も一つのディジタル信号パケットを前記ノードのうちの少くとも一つに送信する かのいずれかを選択的に実行するためのパケットプロセッシング手段とを備えて 構成されるディジタルパケットスイッチング装置。 2.選択されるプロトコルにしたがって構成されるディジタル信号パケットを一 組のノード間で選択的にスイッチングするためのディジタルバケットスイッチン グ装置において、 それぞれが一つまたはそれ以上のセグメントを備えている複数の情報転送ドメイ ンにおいて、当該複数の情報転送ドメインは、それぞれが関連のバス要素と当該 バス要素に接続され情報表示信号を転送するための第1の複数のプロセッシング セルとを包摂する複数のドメイン(0)セグメントを有する第1の情報転送ドメ インを包含する当該複数の情報転送ドメインとを備えて構成されており、 前記プロセッシングセルはそれぞれ情報表示信号を格納するために、中央処理装 置と関連の連想記憶要素とを包含し、前記記憶要素は、情報表示信号を転送する ために関連の中央処理装置と前記バス要素とに接続されたインターフェース手段 を包含し、前記セルは、関連の中央処理装置間の情報表示信号の転送がそれぞれ の記憶要素を通じてのみ起こるよう構成されており、さらに、関連のバス要素と 複数のルート指定要素とを備えたドメイン(1)セグメントにおいて、ドメイン (1)セグメントと関連のドメイン(0)セグメントとの間で情報表示信号を転 送するために、当該ルート指定要素はそれぞれドメイン(1)セグメントに関連 付けられたバス要素と前記ドメイン(0)セグメントのうちの一つに開運づけら れたバス要素とに接続されている当該ドメイン(1)セグメントとを備え、前記 ドメイン(0)セグメントの各々に関連付けられたプロセッシングセルは、前記 ドメイン(0)セグメントの残余に関連付けられたプロセッシングセルとドメイ ン(1)セグメントを通じてのみ情報表示信号の転送が可能であり、(i)前記 ノードのうちの少なくとも一つから少くとも一つのディジタル信号パケットを受 信し且つ当該少くとも一つのディジタル信号パケットを前記複数の記憶要素のう ちの少くとも一つに送信するかまたは(ii)前記複数の記憶要素のうちの少く とも一つから少くとも一つのディジタル信号パケットを受信し且つ当該少くとも 一つのディジタル信号パケットを前記ノードのうちの少くとも一つに送信するか のいずれかを選択的に実行するため、前記複数の記憶要素のうちの少くとも一つ に電気的に結合されたパケットプロセッシング手段とを備えて構成されたディジ タルパケットスイッチング装置。 3.選択されるプロトコルにしたがって構成されるディジタル信号パケットを一 組のノード間で選択的にスイッチングするためのディジタルパケットスイッチン グ装置において、 一組のプロセッシングユニットを含む一組の相互接続されたプロセッシングセル において、当該一組のプロセッシングユニットは第1の命令源からの命令を含む 命令のストリームを通常に処理するために少くとも一つの記憶要素に結合された 第1のプロセッシングユニットを包含しており、前記プロセッシングユニットの うちの少くとも一つは、(i)前記ノードのうちの少なくとも一つから少くとも 一つのディジタル信号パケットを受信し且つ当該少くとも一つのディジタル信号 パケットを前記複数の記憶要素のうちの少くとも一つに送信するかまたは(ii )前記複数の記憶要素のうちの少くとも一つから少くとも一つのディジタル信号 パケットを受信し且つ当該少くとも一つのディジタル信号パケットを前記ノード のうちの少くとも一つに送信するかのいずれかを選択的に実行するためのパケッ トプロセッシング手段を包含しており、当該パケットプロセッシング手段は、前 記第1の命令源からの命令と同様の態様で且つこの命令のプロセッシングシーケ ンスに影響を与えることなく、第1のプロセッシングユニットにより処理される 一つまたはそれ以上の被挿入命令を挿入するための挿入手段を備えて構成される ディジタルパケットスイッチング装置。 4.選択されるプロトコルにしたがって構成されるディジタル信号パケットを一 組のノード間で選択的にスイッチングするためのディジタルパケットスイッチン グ装置において、 それぞれが関連の記憶要素に結合された中央処理装置を含む複数のプロセッシン グセルにおいて、前記記憶要素のうちの少くとも一つは一つまたはそれ以上の情 報表示信号から構成され且つデータページの少くとも部分を形成するデータサブ ページを備え、前記中央処理装置のうちの少くとも一つは、前記記憶要素の一つ またはそれ以上に格納されたデータサブページヘのアクセス要求を表示するアク セス要求信号を発生するアクセス要求手段を含んで構成される前記複数のプロセ ッシングセルと、前記プロセッシングセルに結合されており、前記アクセス要求 信号のうちの少くとも選択されるものに応答して、要求している中央プロセッシ ングユニットに関連付けられた記憶要素内に、要求されるデータサブページに関 連付けられるデータページについて物理記憶空間を割り当て且つ要求されるデー タサブページを物理記憶空間に格納するための記憶要素管理手段において、当該 記憶要素管理手段は、前記記憶要素の一つまたはそれ以上における選択されるデ ータページに割り当てられる物理記憶空間を割当て解除するための割当て解除手 段を別途に備えており、当該割当て解除は、要求されるデータサブページに関連 付けられるデータページについての前記物理記憶空間の割当ての前にまたはこれ と実質的に同時に行われる前記記憶要素管理手段と、 前記複数の記憶要素のうちの少くとも一つに電気的に結合されており、(i)前 記ノードのうちの少なくとも一つから少くとも一つのディジタル信号パケットを 受信し且つ当該少くとも一つのディジタル信号パケットを前記複数の記憶要素の うちの少くとも一つに送信するかまたは(ii)前記複数の記憶要素のうちの少 くとも一つから少くとも一つのディジタル信号パケットを受信し且つ当該少くと も一つのディジタル信号パケットを前記ノードのうちの少くとも一つに送信する かのいずれかを選択的に実行するためのパケットプロセッシング手段とを備えて 構成されるディジタルパケットスイッチング装置。 5.選択されるプロトコルにしたがって構成されるディジタル信号パケットを一 祖のノード間で選択的にスイッチングするためのディジタルパケットスイッチン グ装置において、 それぞれが一つまたはそれ以上のセグメントを備えている複数の情報転送ドメイ ンにおいて、当該複数の情報転送ドメインは、それぞれが関連のバス要素と当該 バス要素に接続され情報表示信号を転送するための第1の複数のプロセッシング セルとを包摂する複数のドメイン(0)セグメントを有する第1の情報転送ドメ インを包含する当該複数の情報転送ドメインとを備えて構成されており、 前記プロセッシングセルはそれぞれ情報表示信号を格納するために、中央処理装 置と関連の連想記憶要素とを包含し、前記記憶要素は、情報表示信号を転送する ために関連の中央処理装置と前記バス要素とに接続されたインターフェース手段 を包含し、前記セルは、関連の複数の中央処理装置間の情報表示信号の転送がそ れぞれの記憶要素を通じてのみ起こるよう構成されており、前記複数の中央処理 装置は第1の命令源からの命令を含む命令のストリームを通常に処理するために 第1の中央処理装置を少くとも備えており、 前記プロセッシングセルのうちの少くとも一つは、(i)前記ノードのうちの少 なくとも一つから少くとも一つのディジタル信号パケットを受信し且つ当該少く とも一つのディジタル信号パケットを前記複数の記憶要素のうちの少くとも一つ に送信するかまたは(ii)前記複数の記憶要素のうちの少くとも一つから少く とも一つのディジタル信号パケットを受信し且つ当該少くとも一つのディジタル 信号バケットを前記ノードのうちの少くとも一つに送信するかのいずれかを選択 的に実行するためのパケットプロセッシング手段とを備えており、当該パケット プロセッシング手段は、前記第1の命令源からの命令と同様の態様で且つこの命 令のプロセッシングシーケンスに影響を与えることなく、第1のプロセッシング ユニットにより処理される一つまたはそれ以上の被挿入命令を挿入するための挿 入手段を備えており、さらに、 関連のバス要素と複数のルート指定要素とを備えたドメイン(1)セグメントに おいて、ドメイン(1)セグメントと関連のドメイン(0)セグメントとの間で 情報表示信号を転送するために、当該ルート指定要素はそれぞれドメイン(1) セグメントに関連付けられたバス要素と前記ドメイン(0)セグメントのうちの 一つに関連づけられたバス要素とに接続されている当該ドメイン(1)セグメン トとを備えて構成されており、前記ドメイン(0)セグメントの各々に関連付け られたプロセッシングセルは、前記ドメイン(0)セグメントの残余に関連付け られたプロセッシングセルとドメイン(1)セグメントを通じてのみ情報表示信 号の転送が可能であるディジタルパケットスイッチング装置。 6.前記複数のプロセッシングセルは少なくとも遠方のプロセッシングセルを備 えており、当該遠方のプロセッシングセルはそれぞれ関連の記憶要素と情報の転 送を行なうよう結合された中央処理装置を含み、当該遠方プロセッシングに関連 付けられた前記記憶要素と当該複数のプロセッシングセルの他のものに関連付け られた前記記憶要素との間で情報表示信号を転送するために当該遠方のプロセッ シングセルに結合された遠方のインターフェース手段とを備えた請求項1〜5の いずれかに記載のディジタルパケットスイッチング装置。 7.前記遠方のセルは前記の複数のプロセッシングセルのうちの他のものから物 理的に遠方の点にあり、前記インターフェース手段は、当該物理的に遠方の点と 前記複数のプロセッシングセルのうちの他のものとの間で前記情報表示信号を送 信するための手段を備える請求項6のディジタルパケットスイッチング装置。 8.前記遠方のインターフェース手段は、前記遠方のセルと前記複数のプロセッ シングセルのうちの他のものとの間で前記情報表示信号を搬送するためのファイ バオブチック伝送媒体を含む請求項7のディジタルパケットスイッチング装置。 9.前記パケットプロセッシング手段は、前記ノードのうちの少なくとも一つか ら前記ディジタル信号パケットを受信するために、当該ノードのうちの少なくと も一つと電気的に連絡状態のパケット受信手段と、当該ノードのうちの少なくと も一つから受信された前記ディジタル信号パケットをそれぞれヘッダ部分とデー タ部分とに分割するために、前記受信手段と電気的に連絡状態のパケット分割手 段と、 当該パケット分割手段により分割された前記ディジタル信号パケットを格納する ために、前記パケット分割手段と電気的に連絡状態のバッファ要素を包含するパ ケット受信バッファ手段と、 前記パケット受信バッファ手段から前記ディジタル信号パケットを回収し、当該 ディジタル信号パケットに対して選択されるプロセッシングを実行しそして当該 ディジタル信号パケットを前記複数の記憶要素に送信するために、前記パケット 受信バッファ手段と前記複数の記憶要素と電気的に連絡状態のフレームプロセッ シング手段とを備える請求項1〜5のいずれかに記載のディジタルパケットスイ ッチング装置。 10.前記パケットプロセッシング手段は、前記の受信されるディジタル信号パ ケットをエラーについて検査し、この検査の結果を、前記受信されるディジタル 信号パケットのヘッダ部分とともに格納するためのエラー検査手段とを備える請 求項9のディジタルパケットスイッチング装置。 11.前記複数のプロセッシングセルは、前記パケットプロセッシング手段から 受信されるディジタル信号パケットを含むデータ構造体から構成される少なくと も一つの受信キューを前記複数の記憶要素に格納するための受信キュー手段と、 前記ノードのうちの少なくとも選択されるものへ送信されるディジタル信号バケ ットを含むデータ構造体から構成され、当該ノードのうちの少なくとも一つに対 応する少なくとも一つの送信キューを前記複数の記憶要素に格納するための送信 キュー手段と、 前記複数のプロセッシングユニットにより発生される制御信号に応答して、前記 少なくとも一つの受信キューから少なくとも選択された送信キューへ選択される ディジタル信号パケットを選択的に転送するために、当該受信キュー手段と当該 送信キュー手段と連絡状態の受信キューパケット転送手段とを備えており、前記 フレームプロセッシング手段は、前記ディジタル信号パケットのうちの選択され るものを前記少なくとも一つの受信キューへロードするための手段を備えている 請求項9のディジタルパケットスイッチング装置。 12.前記複数のプロセッシングセルは、前記ノードのうちの少なくとも選択さ れるものへ送信されるディジタル信号パケットを含むデータ構造体から構成され 、当該ノードのうちの少なくとも一つに対応する少なくとも一つの送信キューを 前記複数の記憶要素に格納するための送信キュー手段を備えており、前記フレー ムプロセッシング手段は、前記パケット受信バッファ手段から選択されるディジ タル信号パケットを前記少なくとも一つの送信キューへ転送するために、前記パ ケット受信バッファ手段と電気的に連絡状態にあり且つ前記ディジタル信号パケ ットの前記ヘッダ部分に応答する直接パケット転送手段を備えている請求項9の ディジタルパケットスイッチング装置。 13.前記複数のプロセッシングセルは、少なくとも一つのアプリケーションプ ログラムにしたがって前記複数のプロセッシングセルのうちのあるものによりサ ービスを受けるディジタル信号パケットを含むデータ構造体から構成されるアプ リケーションサービスキューを格納するためのアプリケーションサービスキュー 手段と、 前記少なくとも一つアプリケーションプログラムにしたがって前記複数のプロセ ッシングユニットのうちのあるものにより発生される制御信号に応答して、前記 少なくとも一つの受信キューから少なくとも一つのアプリケーションサービスキ ューへ前記ディジタル信号パケットのうちの選択されるものをロードするための 手段を備えている請求項11のディジタルパケットスイッチング装置。 14.前記複数のプロセッシングセルは、少なくとも一つのアプリケーションプ ログラムにしたがって前記複数のプロセッシングセルのうちのあるものにより発 生されるディジタル信号パケットを含むデータ構造体から構成されるアプリケー ション完了キューを格納するためのアプリケーション完了キュー手段と、前記ア プリケーション完了キューから前記少なくとも一つの送信キューへ前記ディジタ ル信号パケットのうちの選択されるものをロードするための手段を備えている請 求項13のディジタルパケットスイッチング装置。 15.前記複数のプロセッシングセルは前記複数のプロセッシングユニットのい ずれもが、プロセッシングのために、前記の少なくとも一つの受信キューから少 なくとも一つの選択されるディジタル信号パケットを回収するのを可能にする手 段を備える請求項11のディジタルパケットスイッチング装置。 16.前記フレームプロセッシング手段は、前記ディジタル信号パケットの前記 ヘッダ部分に応答して、前記少なくとも一つの送信キューから当該ディジタル信 号パケットを回収するために、前記送信キュー手段と電気的に連絡状態の手段を 備えており、前記パケットプロセッシング手段は、 前記フレームプロセッシング手段により回収される前記ディジタル信号パケット を格納するために、当該フレームプロセッシング手段と電気的に連絡状態のバッ ファ要素を含むパケット送信バッファ手段と、前記パケットバッファ手段に格納 される前記パケットを前記ノードのうちの少なくとも一つへ送信するために、前 記パケット送信バッファ手段と前記ノードのうちの少なくとも一つと電気的に連 絡状態のパケット送信手段とを備える請求項11のディジタルパケットスイッチ ング装置。 17.ブリフェッチまたはポストストア動作のいずれをも実行ずる手段を備えた 請求項1のディジタルパケットスイッチング装置。 18.選択されるプロトコルにしたがって構成されるディジタル信号パケットを 一組のノード間で選択的にスイッチングするため、それぞれが関連の連想記憶要 素に結合された中央処理装置を包含する複数のプロセッシングセルを備えている ディジタルパケットスイッチング装置を作動する方法において、 A.(i)前記ノードのうちの少なくとも一つから少くとも一つのディジタル信 号パケットを受信し且つ当該少くとも一つのディジタル信号パケットを前記複数 の記憶要素のうちの少くとも一つに情報表示信号として送信するかまたは (ii)前記複数の記憶要素のうちの少くとも一つから少くとも一つのディジタ ル信号パケットを情報表示信号として受信し且つ当該少くとも一つのディジタル 信号パケットを前記ノードのうちの少くとも一つに送信するかのいずれかを選択 的に実行し、 B.前記中央処理装置のうちの要求しているものに情報表示信号への優先的なア クセス要求を表示する所有権要求信号を発生させ、 C.要求される情報表示信号が、要求する中央処理装置に関連付けられたもので はないある記憶要素に格納されているかどうかを決定し、 D.要求される情報表示信号が、要求する中央処理装置に関連付けられたもので はないある記憶要素に格納されているという決定に応答して、その要求される情 報表示信号の排他的な格納を、要求する中央処理装置に関連付けられた記憶要素 で実行する諸段階からなるディジタルパケットスイッチング装置を作動する方法 。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/499,182 US5335325A (en) | 1987-12-22 | 1990-03-26 | High-speed packet switching apparatus and method |
| US499,182 | 1990-03-26 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05501041A true JPH05501041A (ja) | 1993-02-25 |
| JP3428640B2 JP3428640B2 (ja) | 2003-07-22 |
Family
ID=23984179
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP50759691A Expired - Fee Related JP3428640B2 (ja) | 1990-03-26 | 1991-03-25 | 高速パケットスイッチング装置および方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5335325A (ja) |
| EP (1) | EP0473777B1 (ja) |
| JP (1) | JP3428640B2 (ja) |
| AT (1) | ATE240619T1 (ja) |
| DE (1) | DE69133257T2 (ja) |
| WO (1) | WO1991015088A1 (ja) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6067408A (en) * | 1993-05-27 | 2000-05-23 | Advanced Micro Devices, Inc. | Full duplex buffer management and apparatus |
| CA2135681C (en) * | 1993-12-30 | 2000-01-18 | Srinivas V. Makam | System and method for directly accessing long-term memory devices |
| EP0685949A3 (de) * | 1994-06-03 | 2002-07-10 | Philips Patentverwaltung GmbH | Paketübermittlungssystem |
| US5717895A (en) * | 1994-12-01 | 1998-02-10 | Cray Research, Inc. | Associative scalar data cache with write-through capabilities for a vector processor |
| US5619497A (en) * | 1994-12-22 | 1997-04-08 | Emc Corporation | Method and apparatus for reordering frames |
| US5752264A (en) * | 1995-03-31 | 1998-05-12 | International Business Machines Corporation | Computer architecture incorporating processor clusters and hierarchical cache memories |
| US5592622A (en) * | 1995-05-10 | 1997-01-07 | 3Com Corporation | Network intermediate system with message passing architecture |
| US5802278A (en) * | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
| US5870538A (en) | 1995-07-19 | 1999-02-09 | Fujitsu Network Communications, Inc. | Switch fabric controller comparator system and method |
| US6728959B1 (en) | 1995-08-08 | 2004-04-27 | Novell, Inc. | Method and apparatus for strong affinity multiprocessor scheduling |
| WO1997010656A1 (en) | 1995-09-14 | 1997-03-20 | Fujitsu Network Communications, Inc. | Transmitter controlled flow control for buffer allocation in wide area atm networks |
| SE516763C2 (sv) * | 1995-10-20 | 2002-02-26 | Ericsson Telefon Ab L M | Förfarande och system för signalutbyte med ett kommunikationsnät |
| JP2000517488A (ja) | 1996-01-16 | 2000-12-26 | フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド | Atm網用の信頼性と柔軟性のあるマルチキャスト機構 |
| US6374329B1 (en) | 1996-02-20 | 2002-04-16 | Intergraph Corporation | High-availability super server |
| US5748905A (en) | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
| US20060129627A1 (en) * | 1996-11-22 | 2006-06-15 | Mangosoft Corp. | Internet-based shared file service with native PC client access and semantics and distributed version control |
| US5987506A (en) * | 1996-11-22 | 1999-11-16 | Mangosoft Corporation | Remote access and geographically distributed computers in a globally addressable storage environment |
| US6026474A (en) * | 1996-11-22 | 2000-02-15 | Mangosoft Corporation | Shared client-side web caching using globally addressable memory |
| US7058696B1 (en) | 1996-11-22 | 2006-06-06 | Mangosoft Corporation | Internet-based shared file service with native PC client access and semantics |
| US6148377A (en) * | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
| US5909540A (en) * | 1996-11-22 | 1999-06-01 | Mangosoft Corporation | System and method for providing highly available data storage using globally addressable memory |
| US6647393B1 (en) | 1996-11-22 | 2003-11-11 | Mangosoft Corporation | Dynamic directory service |
| US7100020B1 (en) * | 1998-05-08 | 2006-08-29 | Freescale Semiconductor, Inc. | Digital communications processor |
| US6138113A (en) * | 1998-08-10 | 2000-10-24 | Altavista Company | Method for identifying near duplicate pages in a hyperlinked database |
| US7013354B1 (en) * | 1998-10-05 | 2006-03-14 | Canon Kabushiki Kaisha | Channel protocol for IEEE 1394 data transmission |
| US6310881B1 (en) | 1998-10-20 | 2001-10-30 | Terabeam Corporation | Method and apparatus for network control |
| JP4237865B2 (ja) * | 1999-04-27 | 2009-03-11 | 富士通マイクロエレクトロニクス株式会社 | パケット転送制御装置及びその方法 |
| CA2271539A1 (en) * | 1999-05-12 | 2000-11-12 | Pmc-Sierra Inc. | Interface between a link layer device and one or more physical layer devices |
| JP3643507B2 (ja) * | 1999-09-20 | 2005-04-27 | 株式会社東芝 | パケット処理装置及びパケット処理方法 |
| US6775757B1 (en) * | 1999-12-14 | 2004-08-10 | Genesis Microchip Inc. | Multi-component processor |
| US6742083B1 (en) | 1999-12-14 | 2004-05-25 | Genesis Microchip Inc. | Method and apparatus for multi-part processing of program code by a single processor |
| US6920543B1 (en) * | 1999-12-14 | 2005-07-19 | Genesis Microchip, Inc. | Method and apparatus for performing distributed processing of program code |
| US6738884B1 (en) | 1999-12-14 | 2004-05-18 | Genesis Microchip Inc. | Method and apparatus for processing data with semaphores |
| US7164698B1 (en) | 2000-03-24 | 2007-01-16 | Juniper Networks, Inc. | High-speed line interface for networking devices |
| US7139282B1 (en) | 2000-03-24 | 2006-11-21 | Juniper Networks, Inc. | Bandwidth division for packet processing |
| US6757763B1 (en) * | 2000-04-07 | 2004-06-29 | Infineon Technologies North America Corpration | Universal serial bus interfacing using FIFO buffers |
| US20040003022A1 (en) * | 2002-06-27 | 2004-01-01 | International Business Machines Corporation | Method and system for using modulo arithmetic to distribute processing over multiple processors |
| US7653912B2 (en) * | 2003-05-30 | 2010-01-26 | Steven Frank | Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations |
| US7472261B2 (en) * | 2005-11-08 | 2008-12-30 | International Business Machines Corporation | Method for performing externally assisted calls in a heterogeneous processing complex |
| US7533236B1 (en) | 2006-05-11 | 2009-05-12 | Nvidia Corporation | Off-chip out of order memory allocation for a unified shader |
| US7533237B1 (en) | 2006-05-11 | 2009-05-12 | Nvidia Corporation | Off-chip memory allocation for a unified shader |
| GB0619644D0 (en) * | 2006-10-05 | 2006-11-15 | Ibm | Data processing system and method of handling requests |
| US8233565B2 (en) * | 2006-10-20 | 2012-07-31 | Broadcom Corporation | Method and system for high speed wireless data transmission between communication devices |
| US8091007B2 (en) * | 2007-09-13 | 2012-01-03 | Dell Products L.P. | Detection of duplicate packets |
Family Cites Families (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3748647A (en) * | 1971-06-30 | 1973-07-24 | Ibm | Toroidal interconnection system |
| US4011545A (en) * | 1975-04-28 | 1977-03-08 | Ridan Computers, Inc. | Computer and communications systems employing new architectures |
| US4031512A (en) * | 1975-05-29 | 1977-06-21 | Burroughs Corporation | Communications network for general purpose data communications in a heterogeneous environment |
| US4077059A (en) * | 1975-12-18 | 1978-02-28 | Cordi Vincent A | Multi-processing system with a hierarchial memory having journaling and copyback |
| US4358823A (en) * | 1977-03-25 | 1982-11-09 | Trw, Inc. | Double redundant processor |
| US4141067A (en) * | 1977-06-13 | 1979-02-20 | General Automation | Multiprocessor system with cache memory |
| US4245306A (en) * | 1978-12-21 | 1981-01-13 | Burroughs Corporation | Selection of addressed processor in a multi-processor network |
| US4240143A (en) * | 1978-12-22 | 1980-12-16 | Burroughs Corporation | Hierarchical multi-processor network for memory sharing |
| IT1118355B (it) * | 1979-02-15 | 1986-02-24 | Cselt Centro Studi Lab Telecom | Sistema di interconnessione tra processori |
| US4293910A (en) * | 1979-07-02 | 1981-10-06 | International Business Machines Corporation | Reconfigurable key-in-storage means for protecting interleaved main storage |
| US4394731A (en) * | 1980-11-10 | 1983-07-19 | International Business Machines Corporation | Cache storage line shareability control for a multiprocessor system |
| US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
| US4410946A (en) * | 1981-06-15 | 1983-10-18 | International Business Machines Corporation | Cache extension to processor local storage |
| US4432057A (en) * | 1981-11-27 | 1984-02-14 | International Business Machines Corporation | Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system |
| US4503497A (en) * | 1982-05-27 | 1985-03-05 | International Business Machines Corporation | System for independent cache-to-cache transfer |
| US4497023A (en) * | 1982-11-04 | 1985-01-29 | Lucasfilm Ltd. | Linked list of timed and untimed commands |
| US4625081A (en) * | 1982-11-30 | 1986-11-25 | Lotito Lawrence A | Automated telephone voice service system |
| US4604694A (en) * | 1983-12-14 | 1986-08-05 | International Business Machines Corporation | Shared and exclusive access control |
| US4622631B1 (en) * | 1983-12-30 | 1996-04-09 | Recognition Int Inc | Data processing system having a data coherence solution |
| US4792895A (en) * | 1984-07-30 | 1988-12-20 | International Business Machines Corp. | Instruction processing in higher level virtual machines by a real machine |
| US4700347A (en) * | 1985-02-13 | 1987-10-13 | Bolt Beranek And Newman Inc. | Digital phase adjustment |
| US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
| US4755930A (en) * | 1985-06-27 | 1988-07-05 | Encore Computer Corporation | Hierarchical cache memory system and method |
| EP0214718A3 (en) * | 1985-07-22 | 1990-04-04 | Alliant Computer Systems Corporation | Digital computer |
| IT1184015B (it) * | 1985-12-13 | 1987-10-22 | Elsag | Sistema multiprocessore a piu livelli gerarchici |
| IT1184013B (it) * | 1985-12-13 | 1987-10-22 | Elsag | Memoria ad elevata capacita accessibile a diverse agenti |
| US4758946A (en) * | 1986-04-09 | 1988-07-19 | Elxsi | Page mapping system |
| JPS6336348A (ja) * | 1986-07-30 | 1988-02-17 | Toshiba Corp | バツフアメモリ管理方法 |
| US4811216A (en) * | 1986-12-22 | 1989-03-07 | American Telephone And Telegraph Company | Multiprocessor memory management method |
| US4888726A (en) * | 1987-04-22 | 1989-12-19 | Allen-Bradley Company. Inc. | Distributed processing in a cluster of industrial controls linked by a communications network |
| JP3023425B2 (ja) * | 1987-10-09 | 2000-03-21 | 株式会社日立製作所 | データ処理装置 |
| US4980816A (en) * | 1987-12-18 | 1990-12-25 | Nec Corporation | Translation look-aside buffer control system with multiple prioritized buffers |
| US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
| US5119481A (en) * | 1987-12-22 | 1992-06-02 | Kendall Square Research Corporation | Register bus multiprocessor system with shift |
| US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
| US5101402A (en) * | 1988-05-24 | 1992-03-31 | Digital Equipment Corporation | Apparatus and method for realtime monitoring of network sessions in a local area network |
-
1990
- 1990-03-26 US US07/499,182 patent/US5335325A/en not_active Expired - Lifetime
-
1991
- 1991-03-25 JP JP50759691A patent/JP3428640B2/ja not_active Expired - Fee Related
- 1991-03-25 WO PCT/US1991/002004 patent/WO1991015088A1/en not_active Ceased
- 1991-03-25 EP EP91908488A patent/EP0473777B1/en not_active Expired - Lifetime
- 1991-03-25 AT AT91908488T patent/ATE240619T1/de not_active IP Right Cessation
- 1991-03-25 DE DE69133257T patent/DE69133257T2/de not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP3428640B2 (ja) | 2003-07-22 |
| WO1991015088A1 (en) | 1991-10-03 |
| EP0473777A1 (en) | 1992-03-11 |
| EP0473777A4 (en) | 1995-02-01 |
| EP0473777B1 (en) | 2003-05-14 |
| DE69133257D1 (de) | 2003-06-18 |
| US5335325A (en) | 1994-08-02 |
| ATE240619T1 (de) | 2003-05-15 |
| DE69133257T2 (de) | 2004-04-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH05501041A (ja) | 高速パケットスイッチング装置および方法 | |
| US5226039A (en) | Packet routing switch | |
| US5282201A (en) | Dynamic packet routing network | |
| US5341483A (en) | Dynamic hierarchial associative memory | |
| US5522045A (en) | Method for updating value in distributed shared virtual memory among interconnected computer nodes having page table with minimal processor involvement | |
| Boden et al. | Myrinet: A gigabit-per-second local area network | |
| US6154816A (en) | Low occupancy protocol for managing concurrent transactions with dependencies | |
| JP2566681B2 (ja) | 多重プロセッシング・システム | |
| US5055999A (en) | Multiprocessor digital data processing system | |
| US8099521B2 (en) | Network interface card for use in parallel computing systems | |
| US7793158B2 (en) | Providing reliability of communication between supernodes of a multi-tiered full-graph interconnect architecture | |
| US6122714A (en) | Order supporting mechanisms for use in a switch-based multi-processor system | |
| US7769892B2 (en) | System and method for handling indirect routing of information between supernodes of a multi-tiered full-graph interconnect architecture | |
| US7769891B2 (en) | System and method for providing multiple redundant direct routes between supernodes of a multi-tiered full-graph interconnect architecture | |
| US20090063811A1 (en) | System for Data Processing Using a Multi-Tiered Full-Graph Interconnect Architecture | |
| CN120448331B (zh) | 一致性互连控制设备、方法、电子设备、产品及计算系统 | |
| CA2042171C (en) | High-speed packet switching apparatus and method | |
| EP0458552B1 (en) | Dynamic hierarchical routing directory organization associative memory | |
| CA2042291C (en) | Dynamic hierarchical associative memory | |
| CA2042610C (en) | Dynamic packet routing network | |
| Farazdel et al. | Understanding and using the SP Switch | |
| JPH0950423A (ja) | 遠隔情報処理システム間のデータ伝送方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |