JPH0856230A - スイッチングシステム - Google Patents
スイッチングシステムInfo
- Publication number
- JPH0856230A JPH0856230A JP10390895A JP10390895A JPH0856230A JP H0856230 A JPH0856230 A JP H0856230A JP 10390895 A JP10390895 A JP 10390895A JP 10390895 A JP10390895 A JP 10390895A JP H0856230 A JPH0856230 A JP H0856230A
- Authority
- JP
- Japan
- Prior art keywords
- tag
- cell
- output
- value
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
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
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/40—Constructional details, e.g. power supply, mechanical construction or backplane
- H04L49/405—Physical details, e.g. power supply, mechanical construction or backplane of ATM switches
-
- 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/5679—Arbitration or scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
Abstract
(57)【要約】
【目的】 ダイナミック・スケジューリング・アルゴリ
ズムをサポートできるタグベースのスイッチングシステ
ムを得る。 【構成】 入力したセルに宛先ビットと優先度を示すタ
グを付加し、タグの値により出力順を決定する。タグの
値の比較は、木構造で配置された比較器により並列に行
うので、処理速度の速いスイッチングシステムが実現で
きる。
ズムをサポートできるタグベースのスイッチングシステ
ムを得る。 【構成】 入力したセルに宛先ビットと優先度を示すタ
グを付加し、タグの値により出力順を決定する。タグの
値の比較は、木構造で配置された比較器により並列に行
うので、処理速度の速いスイッチングシステムが実現で
きる。
Description
【0001】
【産業上の利用分野】この発明は、セルやパケットがノ
ード間でネットワークを転送されるディジタル通信ネッ
トワークに関するものである。さらに、この発明は、ネ
ットワーク中でセルが、あるノードから次のノードへ転
送される順序をスケジューリングするための改良された
方式を備えたディジタル通信ネットワークに関する。
ード間でネットワークを転送されるディジタル通信ネッ
トワークに関するものである。さらに、この発明は、ネ
ットワーク中でセルが、あるノードから次のノードへ転
送される順序をスケジューリングするための改良された
方式を備えたディジタル通信ネットワークに関する。
【0002】
【従来の技術】一般に、ディジタル通信ネットワークで
は、メッセージや情報の流れがパケットやセルと呼ばれ
る連続した小単位に細分化され、このセルやパケット
が、ノードからノードへ伝送される。また、各ノードに
おいて、スイッチがセルやパケットを伝送する順序と伝
送する次のノードとを選択する。その結果、ディジタル
情報はその最終宛先へ適時に到着する。これらのネット
ワークスイッチは、様々な特性のネットワーク通信をサ
ポートできるのが望ましい。例えば、適時な到着をリア
ルタイムに厳しく保証することを要求する通信、音声や
ビデオ用の連続的なメディア通信、早急な返答を要求す
る通信が含まれる。
は、メッセージや情報の流れがパケットやセルと呼ばれ
る連続した小単位に細分化され、このセルやパケット
が、ノードからノードへ伝送される。また、各ノードに
おいて、スイッチがセルやパケットを伝送する順序と伝
送する次のノードとを選択する。その結果、ディジタル
情報はその最終宛先へ適時に到着する。これらのネット
ワークスイッチは、様々な特性のネットワーク通信をサ
ポートできるのが望ましい。例えば、適時な到着をリア
ルタイムに厳しく保証することを要求する通信、音声や
ビデオ用の連続的なメディア通信、早急な返答を要求す
る通信が含まれる。
【0003】重要なディジタル通信ネットワークの1つ
として、ATM(Asynchronous Tran
sfer Mode:非同期伝送モード)ネットワーク
がある。ATMネットワークは、ネットワーク中のある
ポイント(ノード)から、あるほかのポイント(ノー
ド)へデータを伝送するのに用いられる。ここで、デー
タや情報は、連続した固定サイズの小さなセルに細分化
されて、ネットワークのノード間で伝送される。ここで
述べているノードは、ネットワークの複数のノード間で
パケットやセルを高速にスイッチングしたり、ルーティ
ングしたりするATMスイッチを含む。ATMネットワ
ークの一般的な原理は、J・ブライアン・リールズとダ
ニエル・C・スウィンハートによる、「発生するギガビ
ット環境とローカルATMの役割」(IEEEコミュニ
ケーションマガジン、30巻、4類、1992年4月、
52−58頁)、及びC・ラムによる、「ATM方式へ
の高速化」(ユニックス レビュー、10巻、10類、
1992年10月、29−36頁)に述べられている。
として、ATM(Asynchronous Tran
sfer Mode:非同期伝送モード)ネットワーク
がある。ATMネットワークは、ネットワーク中のある
ポイント(ノード)から、あるほかのポイント(ノー
ド)へデータを伝送するのに用いられる。ここで、デー
タや情報は、連続した固定サイズの小さなセルに細分化
されて、ネットワークのノード間で伝送される。ここで
述べているノードは、ネットワークの複数のノード間で
パケットやセルを高速にスイッチングしたり、ルーティ
ングしたりするATMスイッチを含む。ATMネットワ
ークの一般的な原理は、J・ブライアン・リールズとダ
ニエル・C・スウィンハートによる、「発生するギガビ
ット環境とローカルATMの役割」(IEEEコミュニ
ケーションマガジン、30巻、4類、1992年4月、
52−58頁)、及びC・ラムによる、「ATM方式へ
の高速化」(ユニックス レビュー、10巻、10類、
1992年10月、29−36頁)に述べられている。
【0004】ATMネットワークの重要な課題の1つ
は、各スイッチによって伝送されるセルを、スケジュー
リングすることである。セルは通常、各スイッチの待ち
行列内に、バッファリングされる。セルの渋滞(輻輳)
がないものとすると、これらのセルは、スイッチで入力
リンクから受信され、直ちに出力リンクをとおして別の
宛先へ送信される。しかし、セルが複数の入力リンクを
通して到着し、同じ出力リンクへ同時に送信されなけれ
ばならない場合、セルが望ましい順序で伝送されるに
は、セルの待ち行列(キュー)をつくることが必要であ
る。
は、各スイッチによって伝送されるセルを、スケジュー
リングすることである。セルは通常、各スイッチの待ち
行列内に、バッファリングされる。セルの渋滞(輻輳)
がないものとすると、これらのセルは、スイッチで入力
リンクから受信され、直ちに出力リンクをとおして別の
宛先へ送信される。しかし、セルが複数の入力リンクを
通して到着し、同じ出力リンクへ同時に送信されなけれ
ばならない場合、セルが望ましい順序で伝送されるに
は、セルの待ち行列(キュー)をつくることが必要であ
る。
【0005】どのセルがどの時間にどの順序で伝送され
るかのスケジューリングを調整するためには、FIFO
(First In First Out:先入れ先出
し)方式による順序付けを使うのが普通である。FIF
O方式においては、スイッチに、先に到着するセルが、
次に到着するセルに優先して伝送される。リアルタイム
アプリケーションをサポートするネットワークの場合、
セルに優先度がつけられ、セルの優先度によって、セル
は別々の待ち行列に記憶される。その後、セルは、その
別個の待ち行列の優先度に従って、指示された順序で伝
送される。これらの単純な方式は、限られた数と種類の
リアルタイムアプリケーションのみをサポートしうる。
なぜならば、FIFO方式と優先度スケジューリング機
能は、データ損失のない適時な伝送に対して、限られた
保証のみを提供できるからである。例えば、ATMロー
カル・エリア・ネットワーク、あるいは、ATMワイド
・エリア・ネットワークの初期世代のスイッチは、単
に、入力ネットワークリンクから出力ネットワークリン
クへセルを転送するというスケジューリングをしたりデ
ィスパッチしたりという、大変簡易なスケジューリング
アルゴリズムを備えている。通信は、ATM法則による
FIFO順序付けで処理されるが、少数の、通常2種類
の優先順位が、リアルタイム通信要求を持つアプリケー
ションをサポートするために、かなり限定された方法で
提供されている。静的に割り当てられた優先度は、近年
の進んだ変化に富む多種多様なアプリケーションを持つ
中位サイズのローカル・エリア・ネットワークに対して
さえも、ほとんど十分でない。さらに、アプリケーショ
ンが音声やビデオなど連続的なメディアを伝送する必要
がある場合、もしくは、アプリケーションが実時間で期
待した返答を必要とする場合、ネットワークサービスの
質や適時性に関して予測や保証をすることは実質的に不
可能である。
るかのスケジューリングを調整するためには、FIFO
(First In First Out:先入れ先出
し)方式による順序付けを使うのが普通である。FIF
O方式においては、スイッチに、先に到着するセルが、
次に到着するセルに優先して伝送される。リアルタイム
アプリケーションをサポートするネットワークの場合、
セルに優先度がつけられ、セルの優先度によって、セル
は別々の待ち行列に記憶される。その後、セルは、その
別個の待ち行列の優先度に従って、指示された順序で伝
送される。これらの単純な方式は、限られた数と種類の
リアルタイムアプリケーションのみをサポートしうる。
なぜならば、FIFO方式と優先度スケジューリング機
能は、データ損失のない適時な伝送に対して、限られた
保証のみを提供できるからである。例えば、ATMロー
カル・エリア・ネットワーク、あるいは、ATMワイド
・エリア・ネットワークの初期世代のスイッチは、単
に、入力ネットワークリンクから出力ネットワークリン
クへセルを転送するというスケジューリングをしたりデ
ィスパッチしたりという、大変簡易なスケジューリング
アルゴリズムを備えている。通信は、ATM法則による
FIFO順序付けで処理されるが、少数の、通常2種類
の優先順位が、リアルタイム通信要求を持つアプリケー
ションをサポートするために、かなり限定された方法で
提供されている。静的に割り当てられた優先度は、近年
の進んだ変化に富む多種多様なアプリケーションを持つ
中位サイズのローカル・エリア・ネットワークに対して
さえも、ほとんど十分でない。さらに、アプリケーショ
ンが音声やビデオなど連続的なメディアを伝送する必要
がある場合、もしくは、アプリケーションが実時間で期
待した返答を必要とする場合、ネットワークサービスの
質や適時性に関して予測や保証をすることは実質的に不
可能である。
【0006】過去20年にわたって、実時間やマルチメ
ディア・コンピューティング及び通信に関して十分な研
究がなされてきた。また、多くのスケジューリングアル
ゴリズムが細部にわたり発明され、研究されてきた。例
えば、J・ジャンゴク・バーとT・スーダによる「AT
Mネットワークにおける通信量制御スキームとプロトコ
ルの分析」(IEEE会報79巻、第2版、1991年
2月、170−189頁)は、ATMスイッチにおいて
一般的なスケジューリング機能によって、実現されなけ
ればならない多数の通信コントロールスキームを説明し
ている。さらに、H・ジャングらは、「転送速度に基づ
くサービス原則の比較」(H・ジャングとS・ケシャ
ブ、ACM SIGCOMM会報、’91、チューリッ
ヒ、1991年9月)、「レート制御静的優先度待ち」
(H・ジャングとD・フェラーリ、国際コンピュータサ
イエンス学会技術報告#TR−92−003、カリフォ
ルニア、バークレー)の論文で、転送速度に基づくサー
ビス原則と転送速度により制御された静的優先度キュー
イングを説明している。スケジューリングアルゴリズム
のさらなる例は、以下の論文、論説に記載されている。
W・A・ホーン、「簡易なスケジューリングアルゴリズ
ム」(ナーバル リサーチ ロジスティッククオータリ
ー、21巻、1974年、177−185頁)、J.
R.ジャクソン「最大遅延量を最小にするプロダクショ
ンラインのスケジューリング」(マネージメント サイ
エンス リサーチ プロジェクト、調査報告43,UC
LA、1955年1月)、C・R・カルマネク,H・カ
ナキア,S・ケシャブ、「高速ネットワークのためのレ
ート制御サーバー](IEEEグローバル テレコミュ
ニケーション コンファレンス、カリフォルニア、サン
ディエゴ、1990年12月、300.3.1−30
0.3.9頁)、A・クマー,J・パレク「統合サービ
スネットワークにおけるフロー制御への汎用プロセッサ
ーのシェアリングアプローチ」(phD論文、MIT、
1992年2月)、H・T・カング,A・チャップマ
ン、「ATMネットワークに対するFCVC(Flow
−Controlled Virtual Chann
els:フロー制御バーチャルチャネル)提案」(ネッ
トワークプロトコルに関する1993年国際会議会報、
カリフォルニア、サンフランシスコ、1993年、10
月19−22日)、C・L・リュウとJ・W・レイラン
ド、「ハードの実時間環境におけるマルチプログラミン
グのためのスケジューリングアルゴリズム」(ACMジ
ャーナル、20巻、第1版、1973年)、L・ジャン
グ、「バーチャルクロック:パケットスイッチネットワ
ークのための新しい通信量コントロールアルゴリズム」
(ACM SIGCOMM会報、ペンシルバニア、フィ
ラデルフィア、1990年9月、19−29頁)、L・
ジャング、「バーチャルクロック:パケットスイッチネ
ットワークのための新しい通信量コントロールアルゴリ
ズム」(コンピューターシステムにおけるACMトラン
ザクション、9巻、第2版、1991年5月、101−
124頁)、Q・ジェング,K・シン、「2地点間パケ
ットスイッチネットワークにおける実時間チャネルの確
立能力について」(コミュニケーションにおけるIEE
Eトランザクション、1994年3月)。
ディア・コンピューティング及び通信に関して十分な研
究がなされてきた。また、多くのスケジューリングアル
ゴリズムが細部にわたり発明され、研究されてきた。例
えば、J・ジャンゴク・バーとT・スーダによる「AT
Mネットワークにおける通信量制御スキームとプロトコ
ルの分析」(IEEE会報79巻、第2版、1991年
2月、170−189頁)は、ATMスイッチにおいて
一般的なスケジューリング機能によって、実現されなけ
ればならない多数の通信コントロールスキームを説明し
ている。さらに、H・ジャングらは、「転送速度に基づ
くサービス原則の比較」(H・ジャングとS・ケシャ
ブ、ACM SIGCOMM会報、’91、チューリッ
ヒ、1991年9月)、「レート制御静的優先度待ち」
(H・ジャングとD・フェラーリ、国際コンピュータサ
イエンス学会技術報告#TR−92−003、カリフォ
ルニア、バークレー)の論文で、転送速度に基づくサー
ビス原則と転送速度により制御された静的優先度キュー
イングを説明している。スケジューリングアルゴリズム
のさらなる例は、以下の論文、論説に記載されている。
W・A・ホーン、「簡易なスケジューリングアルゴリズ
ム」(ナーバル リサーチ ロジスティッククオータリ
ー、21巻、1974年、177−185頁)、J.
R.ジャクソン「最大遅延量を最小にするプロダクショ
ンラインのスケジューリング」(マネージメント サイ
エンス リサーチ プロジェクト、調査報告43,UC
LA、1955年1月)、C・R・カルマネク,H・カ
ナキア,S・ケシャブ、「高速ネットワークのためのレ
ート制御サーバー](IEEEグローバル テレコミュ
ニケーション コンファレンス、カリフォルニア、サン
ディエゴ、1990年12月、300.3.1−30
0.3.9頁)、A・クマー,J・パレク「統合サービ
スネットワークにおけるフロー制御への汎用プロセッサ
ーのシェアリングアプローチ」(phD論文、MIT、
1992年2月)、H・T・カング,A・チャップマ
ン、「ATMネットワークに対するFCVC(Flow
−Controlled Virtual Chann
els:フロー制御バーチャルチャネル)提案」(ネッ
トワークプロトコルに関する1993年国際会議会報、
カリフォルニア、サンフランシスコ、1993年、10
月19−22日)、C・L・リュウとJ・W・レイラン
ド、「ハードの実時間環境におけるマルチプログラミン
グのためのスケジューリングアルゴリズム」(ACMジ
ャーナル、20巻、第1版、1973年)、L・ジャン
グ、「バーチャルクロック:パケットスイッチネットワ
ークのための新しい通信量コントロールアルゴリズム」
(ACM SIGCOMM会報、ペンシルバニア、フィ
ラデルフィア、1990年9月、19−29頁)、L・
ジャング、「バーチャルクロック:パケットスイッチネ
ットワークのための新しい通信量コントロールアルゴリ
ズム」(コンピューターシステムにおけるACMトラン
ザクション、9巻、第2版、1991年5月、101−
124頁)、Q・ジェング,K・シン、「2地点間パケ
ットスイッチネットワークにおける実時間チャネルの確
立能力について」(コミュニケーションにおけるIEE
Eトランザクション、1994年3月)。
【0007】これらのアルゴリズムの多くは、ATMネ
ットワークにおける実行には、不適当とされてきたこと
に注意しなければならない。なぜならば、こうしたアル
ゴリズムは、一般的な環境には、専門的すぎるからであ
る。また、キューのサーチに時間がかかりすぎるからで
ある。
ットワークにおける実行には、不適当とされてきたこと
に注意しなければならない。なぜならば、こうしたアル
ゴリズムは、一般的な環境には、専門的すぎるからであ
る。また、キューのサーチに時間がかかりすぎるからで
ある。
【0008】しかし、ATMスケジューリングのための
VLSIシーケンサーチップが、H・ジョナサン・カオ
とネクデット・アズンによる論文、「ATM通信シェイ
パーと行列管理のためのVLSIシーケンサーチップ」
(IEEEソリッドステイトサーキットジャーナル、2
7巻、第11版、1992年11月)において述べられ
ている。このシステムにおいて、セルは出力ポートにス
イッチングされる。各ポートは、それ自体の待ち行列と
シーケンサーチップを含んでいる。各ポートにおいて、
セルは、シーケンサーチップによって優先順位に分類さ
れる。このシステムは、改良された優先度スケジューリ
ングを実現しているが、スイッチの各出力ポートに対し
て別々の分類回路を要求する。その結果、コストが増加
し、スイッチのデザインの柔軟性が減少する。また、性
能低下の可能性もある。
VLSIシーケンサーチップが、H・ジョナサン・カオ
とネクデット・アズンによる論文、「ATM通信シェイ
パーと行列管理のためのVLSIシーケンサーチップ」
(IEEEソリッドステイトサーキットジャーナル、2
7巻、第11版、1992年11月)において述べられ
ている。このシステムにおいて、セルは出力ポートにス
イッチングされる。各ポートは、それ自体の待ち行列と
シーケンサーチップを含んでいる。各ポートにおいて、
セルは、シーケンサーチップによって優先順位に分類さ
れる。このシステムは、改良された優先度スケジューリ
ングを実現しているが、スイッチの各出力ポートに対し
て別々の分類回路を要求する。その結果、コストが増加
し、スイッチのデザインの柔軟性が減少する。また、性
能低下の可能性もある。
【0009】共用バッファスケジューリング方式を用い
たATMスイッチに関する重要な提案が、H・近藤ほ
か,K・大島ほかによる以下の2つの論文で述べられて
いる。H・近藤,H・山中,M・石脇,Y・松田,M・
中谷、「ATMスイッチLSIのための効率的なセルフ
タイムの行列アーキテクチャー」(カスタム インテグ
レーテド サーキット コンファレンス、サンディエ
ゴ、1994年5月)、K・大島,H・山中,H・斉
藤,H・山田,S・小浜,H・近藤,Y・松田、「ST
Sタイプの共用バッファリングとそのLSI実現に基づ
く新しいATMスイッチアーキテクチャー」(国際スイ
ッチングシンポジウム’92会報、日本、横浜、199
2年10月、359−363頁)。このATMスイッチ
デザインの重要な要素は、共通の待ち合わせ機能と、統
計的な多重化を発展させるため共用バッファと、より迅
速な性能とより低いコストである。このスイッチは、出
力バッファリングを用いるほかのATMスイッチとは、
すべての入力ポートからの入力セルが直接共通のバッフ
ァメモリに蓄積されるという点で、区別される。出力
は、FIFO方式や単純な優先度方式に基いて選択され
る。このようなスイッチは、単純な優先度で満足するよ
うな、長距離テレコミュニケーションに対しては十分に
機能するが、このスイッチには、ファクトリーオートメ
ーションや、パワープラントコントロール、フルモーシ
ョンビデオなどリアルタイムアプリケーションをサポー
トする待ち行列制御の機能はない。
たATMスイッチに関する重要な提案が、H・近藤ほ
か,K・大島ほかによる以下の2つの論文で述べられて
いる。H・近藤,H・山中,M・石脇,Y・松田,M・
中谷、「ATMスイッチLSIのための効率的なセルフ
タイムの行列アーキテクチャー」(カスタム インテグ
レーテド サーキット コンファレンス、サンディエ
ゴ、1994年5月)、K・大島,H・山中,H・斉
藤,H・山田,S・小浜,H・近藤,Y・松田、「ST
Sタイプの共用バッファリングとそのLSI実現に基づ
く新しいATMスイッチアーキテクチャー」(国際スイ
ッチングシンポジウム’92会報、日本、横浜、199
2年10月、359−363頁)。このATMスイッチ
デザインの重要な要素は、共通の待ち合わせ機能と、統
計的な多重化を発展させるため共用バッファと、より迅
速な性能とより低いコストである。このスイッチは、出
力バッファリングを用いるほかのATMスイッチとは、
すべての入力ポートからの入力セルが直接共通のバッフ
ァメモリに蓄積されるという点で、区別される。出力
は、FIFO方式や単純な優先度方式に基いて選択され
る。このようなスイッチは、単純な優先度で満足するよ
うな、長距離テレコミュニケーションに対しては十分に
機能するが、このスイッチには、ファクトリーオートメ
ーションや、パワープラントコントロール、フルモーシ
ョンビデオなどリアルタイムアプリケーションをサポー
トする待ち行列制御の機能はない。
【0010】
【発明が解決しようとする課題】この発明は、以上のよ
うな課題を解決するためになされたもので、スタティッ
クなスケジューリングアルゴリズムだけでなく、ダイナ
ミックなスケジューリングアルゴリズムに則った待ち行
列制御が可能なスイッチングシステムを得ることを目的
としている。
うな課題を解決するためになされたもので、スタティッ
クなスケジューリングアルゴリズムだけでなく、ダイナ
ミックなスケジューリングアルゴリズムに則った待ち行
列制御が可能なスイッチングシステムを得ることを目的
としている。
【0011】
【課題を解決するための手段】この発明に係るスイッチ
ングシステムは、複数の入力リンクと複数の出力リンク
を持ち、各入力リンクによりネットワーク内の1以上の
宛先を示す宛先情報を含むヘッダフィールドとデータと
を格納したセルを受信するスイッチと、上記ヘッダフィ
ールドの宛先情報を、各ビットが各出力リンクに対応し
ておりそのビットが有意状態である時そのセルが最終宛
先に到着するようにそのビットに対応する出力リンクに
対してそのセルを出力することを示している宛先ビット
のベクトルに変換する変換手段と、各セルに対して、上
記宛先ビットのベクトルを付加するベクトル付加手段
と、上記ベクトルを付加されたセルを1つ以上の出力リ
ンクに接続する接続手段とを備え、上記接続手段は、上
記ベクトルを付加されたセルを到着順に格納するキュー
イング手段と、キューイング手段に格納されたセルの中
から到着順とは異なる順に各出力リンクに対して各出力
リンクに対応する宛先ビットが有意状態のセルを選択す
る選択手段とを備え、上記選択手段は、セルの出力をス
ケジュールするスケジュール手段を有し、上記スケジュ
ール手段は、選択順を決定するアルゴリズムを記憶する
手段と、スイッチの動作に先だってそのアルゴリズムを
設定する手段と、スイッチの動作中にそのアルゴリズム
を再設定する手段と、上記各出力リンクに対してセル送
信時間内に上記アルゴリズムを実行する手段を有してお
り、上記スイッチは、更に、上記出力リンクに選択した
セルを出力する出力手段を備えたことを特徴とする。
ングシステムは、複数の入力リンクと複数の出力リンク
を持ち、各入力リンクによりネットワーク内の1以上の
宛先を示す宛先情報を含むヘッダフィールドとデータと
を格納したセルを受信するスイッチと、上記ヘッダフィ
ールドの宛先情報を、各ビットが各出力リンクに対応し
ておりそのビットが有意状態である時そのセルが最終宛
先に到着するようにそのビットに対応する出力リンクに
対してそのセルを出力することを示している宛先ビット
のベクトルに変換する変換手段と、各セルに対して、上
記宛先ビットのベクトルを付加するベクトル付加手段
と、上記ベクトルを付加されたセルを1つ以上の出力リ
ンクに接続する接続手段とを備え、上記接続手段は、上
記ベクトルを付加されたセルを到着順に格納するキュー
イング手段と、キューイング手段に格納されたセルの中
から到着順とは異なる順に各出力リンクに対して各出力
リンクに対応する宛先ビットが有意状態のセルを選択す
る選択手段とを備え、上記選択手段は、セルの出力をス
ケジュールするスケジュール手段を有し、上記スケジュ
ール手段は、選択順を決定するアルゴリズムを記憶する
手段と、スイッチの動作に先だってそのアルゴリズムを
設定する手段と、スイッチの動作中にそのアルゴリズム
を再設定する手段と、上記各出力リンクに対してセル送
信時間内に上記アルゴリズムを実行する手段を有してお
り、上記スイッチは、更に、上記出力リンクに選択した
セルを出力する出力手段を備えたことを特徴とする。
【0012】上記出力手段は、上記ベクトルが除去され
たセルを出力することを特徴とする。
たセルを出力することを特徴とする。
【0013】上記アルゴリズムは、ダイナミック・プラ
イオリティ・スケジューリング・アルゴリズムと、スタ
ティック・プライオリティ・スケジューリング・アルゴ
リズムと、ラウンド・ロビン・アルゴリズムと、これら
の組み合わせのいずれかから選択されることを特徴とす
る。
イオリティ・スケジューリング・アルゴリズムと、スタ
ティック・プライオリティ・スケジューリング・アルゴ
リズムと、ラウンド・ロビン・アルゴリズムと、これら
の組み合わせのいずれかから選択されることを特徴とす
る。
【0014】上記スケジュール手段は、各出力リンクに
セルを出力する順番を決定するために設定されたスケジ
ューリングアルゴリズムに基づいて、キューイング手段
の中に格納されたセルの出力順序を示す値をタグ値とし
て計算し、このタグ値を有するタグをセルに付加するタ
グ付加手段を有し、上記選択手段は、タグ値と宛先ビッ
トの値に基づいて、キューイング手段の中に格納された
セルをサーチするサーチ手段とを備え、選択手段は、各
出力リンクに対応する宛先ビットの値が有意状態である
セルの中で最も小さいタグ値を持つセルをサーチして選
択し、もし、最も小さいタグ値を持つセルが2以上存在
する場合に、先に到着したセルを選択することを特徴と
する。
セルを出力する順番を決定するために設定されたスケジ
ューリングアルゴリズムに基づいて、キューイング手段
の中に格納されたセルの出力順序を示す値をタグ値とし
て計算し、このタグ値を有するタグをセルに付加するタ
グ付加手段を有し、上記選択手段は、タグ値と宛先ビッ
トの値に基づいて、キューイング手段の中に格納された
セルをサーチするサーチ手段とを備え、選択手段は、各
出力リンクに対応する宛先ビットの値が有意状態である
セルの中で最も小さいタグ値を持つセルをサーチして選
択し、もし、最も小さいタグ値を持つセルが2以上存在
する場合に、先に到着したセルを選択することを特徴と
する。
【0015】上記キューイング手段は、先頭から末尾に
至る複数のレジスタからなるFIFO回路を備え、各レ
ジスタは、出力を待っているセルを示すものであり、各
レジスタは、上記宛先ビットのベクトルとタグ値のバイ
ナリーコードを保持し、各レジスタは、先頭から末尾の
方向でセルの到着順を示していることを特徴とする。
至る複数のレジスタからなるFIFO回路を備え、各レ
ジスタは、出力を待っているセルを示すものであり、各
レジスタは、上記宛先ビットのベクトルとタグ値のバイ
ナリーコードを保持し、各レジスタは、先頭から末尾の
方向でセルの到着順を示していることを特徴とする。
【0016】上記サーチ手段は、上記レジスタの数と同
じ数の複数の比較回路を備え、各比較回路は、各レジス
タに対応して設けられ、各比較回路は、対応したレジス
タのタグ値と末尾側にある次のレジスタに対応した比較
回路からの出力値を比較するようにリニアに配置され、
各比較回路は、対応するレジスタのタグ値が末尾側にあ
る次に比較回路から出力されたタグ値より小さい場合で
あって、かつ、選択した出力リンクに対する宛先ビット
が有意状態である場合に、出力ビットをオンにすること
により、上記比較回路は、選択した出力リンクに対して
最小のタグ値を伝搬させ、待ち行列の中からセルを選択
することを特徴とする。
じ数の複数の比較回路を備え、各比較回路は、各レジス
タに対応して設けられ、各比較回路は、対応したレジス
タのタグ値と末尾側にある次のレジスタに対応した比較
回路からの出力値を比較するようにリニアに配置され、
各比較回路は、対応するレジスタのタグ値が末尾側にあ
る次に比較回路から出力されたタグ値より小さい場合で
あって、かつ、選択した出力リンクに対する宛先ビット
が有意状態である場合に、出力ビットをオンにすること
により、上記比較回路は、選択した出力リンクに対して
最小のタグ値を伝搬させ、待ち行列の中からセルを選択
することを特徴とする。
【0017】上記サーチ手段は、上記レジスタの数の半
分に当たる複数の比較回路と追加の比較回路を備え、上
記比較回路を階層的に配置し、ルートと枝と葉を持つツ
リーを構成し、葉と枝のサブセットによりサブツリーを
構成し、葉に配置された各比較回路は、2つの隣り合う
レジスタのタグ値を比較して小さいタグ値を有するレジ
スタを識別し、上記追加の比較回路は、2つのサブツリ
ーからのタグ値を比較し、選択した出力リンクに対し
て、最小のタグ値を持つレジスタが存在しているサブツ
リーを識別し、上記ツリーは、選択した出力リンクに対
して、最小のタグ値を伝搬することを特徴とする。
分に当たる複数の比較回路と追加の比較回路を備え、上
記比較回路を階層的に配置し、ルートと枝と葉を持つツ
リーを構成し、葉と枝のサブセットによりサブツリーを
構成し、葉に配置された各比較回路は、2つの隣り合う
レジスタのタグ値を比較して小さいタグ値を有するレジ
スタを識別し、上記追加の比較回路は、2つのサブツリ
ーからのタグ値を比較し、選択した出力リンクに対し
て、最小のタグ値を持つレジスタが存在しているサブツ
リーを識別し、上記ツリーは、選択した出力リンクに対
して、最小のタグ値を伝搬することを特徴とする。
【0018】また、この発明に係るスイッチングシステ
ムは、複数の出力リンクと出力リンクを示すアドレスを
含んだセルを受信する複数の入力リンクと、上記アドレ
スを宛先ビットに変換する変換手段と、上記入力リンク
のセルを少なくとも1つの出力リンクに接続する接続手
段とを備え、上記接続手段は、入力リンクから出力リン
クへセルの出力をスケジュールするスケジュール手段を
備え、スケジュール手段は、各出力リンクにセルを出力
する順番を決定するために、予め設定されたスケジュー
リングアルゴリズムに基づいて、どのセルを出力すべき
かを示す値を生成し、生成した値をタグ値として有する
タグをセルに付加するタグ手段と、共通キューと、上記
共通キューに、各セルに対して宛先ビットとタグ値を挿
入する手段と、上記宛先ビットとタグ値に基づいて、上
記共通キューから、対応している宛先の中から最小のタ
グ値を持つセルをサーチするサーチ手段と、宛先に対応
した出力リンクに対して最小のタグ値を持つセルを出力
する出力手段とを備えたことを特徴とする。
ムは、複数の出力リンクと出力リンクを示すアドレスを
含んだセルを受信する複数の入力リンクと、上記アドレ
スを宛先ビットに変換する変換手段と、上記入力リンク
のセルを少なくとも1つの出力リンクに接続する接続手
段とを備え、上記接続手段は、入力リンクから出力リン
クへセルの出力をスケジュールするスケジュール手段を
備え、スケジュール手段は、各出力リンクにセルを出力
する順番を決定するために、予め設定されたスケジュー
リングアルゴリズムに基づいて、どのセルを出力すべき
かを示す値を生成し、生成した値をタグ値として有する
タグをセルに付加するタグ手段と、共通キューと、上記
共通キューに、各セルに対して宛先ビットとタグ値を挿
入する手段と、上記宛先ビットとタグ値に基づいて、上
記共通キューから、対応している宛先の中から最小のタ
グ値を持つセルをサーチするサーチ手段と、宛先に対応
した出力リンクに対して最小のタグ値を持つセルを出力
する出力手段とを備えたことを特徴とする。
【0019】上記サーチ手段は、最小のタグ値をシリア
ルに評価していくリニアサーチ手段を有していることを
特徴とする。
ルに評価していくリニアサーチ手段を有していることを
特徴とする。
【0020】上記サーチ手段は、木構造を用いて同時に
複数対のセルを評価していくロガリズミックサーチ手段
を有していることを特徴とする。
複数対のセルを評価していくロガリズミックサーチ手段
を有していることを特徴とする。
【0021】上記サーチ手段は、リニアサーチ手段とロ
ガリズミックサーチ手段を結合したサーチ手段を有して
いることを特徴とする。
ガリズミックサーチ手段を結合したサーチ手段を有して
いることを特徴とする。
【0022】上記タグ手段は、先頭から末尾までのキュ
ーを形成するように配置された一連のタグレジスタと、
複数の比較器と、上記タグレジスタと比較器を接続する
接続手段と、上記セルを対応するタグレジスタにより識
別できるように記憶する記憶手段と、記憶されたセルの
タグ値をタグレジスタに設定する設定手段とを備え、上
記比較器は、タグレジスタのタグ値と1つ前の比較器か
らの出力値を比較して小さい方の値を決定するととも
に、小さい方の値と宛先ビットを出力する出力手段と、
小さい方の値と宛先ビットに基づいて、記憶されたセル
を識別する識別手段とを備えたことを特徴とする。
ーを形成するように配置された一連のタグレジスタと、
複数の比較器と、上記タグレジスタと比較器を接続する
接続手段と、上記セルを対応するタグレジスタにより識
別できるように記憶する記憶手段と、記憶されたセルの
タグ値をタグレジスタに設定する設定手段とを備え、上
記比較器は、タグレジスタのタグ値と1つ前の比較器か
らの出力値を比較して小さい方の値を決定するととも
に、小さい方の値と宛先ビットを出力する出力手段と、
小さい方の値と宛先ビットに基づいて、記憶されたセル
を識別する識別手段とを備えたことを特徴とする。
【0023】上記比較器は、一連のビットから構成され
た出力を持ち、この一連のビットの中に、宛先ビットが
有意状態であり、同じ宛先ビットが有意状態であるキュ
ー中の他のセルのタグ値よりも小さいタグ値を持つこと
を示す特定ビットを有しており、各比較器は、各タグ値
とキューの末尾方向にあるタグの最小値とを比較するこ
とにより、宛先別に各セルのプライオリティを設定する
ことを特徴とする。
た出力を持ち、この一連のビットの中に、宛先ビットが
有意状態であり、同じ宛先ビットが有意状態であるキュ
ー中の他のセルのタグ値よりも小さいタグ値を持つこと
を示す特定ビットを有しており、各比較器は、各タグ値
とキューの末尾方向にあるタグの最小値とを比較するこ
とにより、宛先別に各セルのプライオリティを設定する
ことを特徴とする。
【0024】上記比較器は、2つのタグ値を比較する手
段と、小さい方の値を出力する手段とを有し、1つのタ
グ値に対して1つの追加の入力ビットを備え、上記比較
器の出力は、比較対象となるタグ値を示す追加の入力ビ
ットにより条件付けられていることを特徴とする。
段と、小さい方の値を出力する手段とを有し、1つのタ
グ値に対して1つの追加の入力ビットを備え、上記比較
器の出力は、比較対象となるタグ値を示す追加の入力ビ
ットにより条件付けられていることを特徴とする。
【0025】上記追加の入力ビットは、宛先ビットが有
意状態になっているセルのタグ値を特定するものである
ことを特徴とする。
意状態になっているセルのタグ値を特定するものである
ことを特徴とする。
【0026】上記スイッチングシステムは、更に、最小
のタグ値を持つセルが2以上存在する場合に、キューの
先頭に近いセルを選択する手段を備えたことを特徴とす
る。
のタグ値を持つセルが2以上存在する場合に、キューの
先頭に近いセルを選択する手段を備えたことを特徴とす
る。
【0027】上記タグ手段は、枝を経由してルートに連
結された葉を持った階層的木構造を有し、各枝は、一対
のタグレジスタと隣り合うタグレジスタの間に設けられ
たタグレジスタ用比較器と、2つのタグレジスタ用比較
器からの出力を入力する追加の比較器を有しており、上
記追加の比較器は、宛先ビットが有意状態になってお
り、小さい方のタグ値を持つタグレジスタに対応するセ
ルを識別する手段を有していることを特徴とする。
結された葉を持った階層的木構造を有し、各枝は、一対
のタグレジスタと隣り合うタグレジスタの間に設けられ
たタグレジスタ用比較器と、2つのタグレジスタ用比較
器からの出力を入力する追加の比較器を有しており、上
記追加の比較器は、宛先ビットが有意状態になってお
り、小さい方のタグ値を持つタグレジスタに対応するセ
ルを識別する手段を有していることを特徴とする。
【0028】上記タグレジスタ用比較器は、小さい方の
タグ値と2つの比較ビットを出力し、2つの比較ビット
の内、一方の比較ビットは一方のセルが小さい方のタグ
値を持っていることを示し、2つの比較ビットの内、他
方の比較ビットは他方のセルが小さい方のタグ値を持っ
ていることを示すものであり、上記選択手段は、小さい
方のタグ値を持っているセルを識別するために、宛先ビ
ットと比較ビットを入力する複数のANDゲートを有
し、複数のANDゲートは、ルートにおいてただ1つの
ANDゲートが有意な出力を有するように構成されてお
り、このANDゲートの有意な出力により出力リンクに
出力されるセルを示すことを特徴とする。
タグ値と2つの比較ビットを出力し、2つの比較ビット
の内、一方の比較ビットは一方のセルが小さい方のタグ
値を持っていることを示し、2つの比較ビットの内、他
方の比較ビットは他方のセルが小さい方のタグ値を持っ
ていることを示すものであり、上記選択手段は、小さい
方のタグ値を持っているセルを識別するために、宛先ビ
ットと比較ビットを入力する複数のANDゲートを有
し、複数のANDゲートは、ルートにおいてただ1つの
ANDゲートが有意な出力を有するように構成されてお
り、このANDゲートの有意な出力により出力リンクに
出力されるセルを示すことを特徴とする。
【0029】上記ANDゲートは、そのANDゲートに
対応したセルが適切な宛先ビットを有しているかを判定
するために用いられるものであり、上記タグレジスタ用
比較器は、異なるANDゲートへ接続された出力ビット
を有し、このタグレジスタ用比較器からの出力ビット
は、対応するセルの宛先ビットとANDを取られ、その
結果の出力が有意状態である場合は、対応するセルが宛
先ビットが有意状態であり、最小のタグ値を持つセルで
あることを示すことを特徴とする。
対応したセルが適切な宛先ビットを有しているかを判定
するために用いられるものであり、上記タグレジスタ用
比較器は、異なるANDゲートへ接続された出力ビット
を有し、このタグレジスタ用比較器からの出力ビット
は、対応するセルの宛先ビットとANDを取られ、その
結果の出力が有意状態である場合は、対応するセルが宛
先ビットが有意状態であり、最小のタグ値を持つセルで
あることを示すことを特徴とする。
【0030】上記スイッチングシステムは、更に、2以
上のセルが最小のタグ値を有する場合、先着のセルを識
別する手段を有することを特徴とする。
上のセルが最小のタグ値を有する場合、先着のセルを識
別する手段を有することを特徴とする。
【0031】上記タグレジスタ用比較器は、先頭と末尾
を持つキューを定義し、上記追加の比較器は、2入力か
ら小さい値を出力するとともに、キューの先頭方向にあ
る2入力の値がキューの末尾方向にある2入力の値以下
である場合に、有意状態を出力することを特徴とする。
を持つキューを定義し、上記追加の比較器は、2入力か
ら小さい値を出力するとともに、キューの先頭方向にあ
る2入力の値がキューの末尾方向にある2入力の値以下
である場合に、有意状態を出力することを特徴とする。
【0032】上記スイッチングシステムは、更に、上記
木構造のルート方向への上位層レベルにおいて、下位層
レベルのどの枝が小さい方のタグ値を有しているか決定
することにより小さい方のタグ値を有する枝を識別する
識別手段を有し、上記識別手段は、各タグに対応してそ
のタグの宛先ビットとそのタグが最小のタグ値を有する
ことを示すビットとのANDを取るためのANDゲート
を有していることを特徴とする。
木構造のルート方向への上位層レベルにおいて、下位層
レベルのどの枝が小さい方のタグ値を有しているか決定
することにより小さい方のタグ値を有する枝を識別する
識別手段を有し、上記識別手段は、各タグに対応してそ
のタグの宛先ビットとそのタグが最小のタグ値を有する
ことを示すビットとのANDを取るためのANDゲート
を有していることを特徴とする。
【0033】
【作用】この発明のスイッチングシステムは、スケジュ
ール手段がセルの出力をスケジュールする。スケジュー
ル手段は、所定のアルゴリズムに基づいて、セルを順番
に選択する。このように、スケジュール手段を備えるこ
とにより、セルの優先処理が行える柔軟なシステムを提
供する。また、上記スケジュール手段は、いろいろな種
類なアルゴリズムを採用することができる。そのアルゴ
リズムによって、優先度の高いセルをタイムリーに交換
することができるとともに、優先度の低いセルを後から
交換することができる。
ール手段がセルの出力をスケジュールする。スケジュー
ル手段は、所定のアルゴリズムに基づいて、セルを順番
に選択する。このように、スケジュール手段を備えるこ
とにより、セルの優先処理が行える柔軟なシステムを提
供する。また、上記スケジュール手段は、いろいろな種
類なアルゴリズムを採用することができる。そのアルゴ
リズムによって、優先度の高いセルをタイムリーに交換
することができるとともに、優先度の低いセルを後から
交換することができる。
【0034】出力手段は、セルを出力する場合には、ス
イッチの内部で用いた宛先ビットのベクトルを除去して
出力する。
イッチの内部で用いた宛先ビットのベクトルを除去して
出力する。
【0035】上記アルゴリズムとしては、ダイナミック
なスケジューリングアルゴリズムやスタティックなスケ
ジューリングアルゴリズムを用いることができるととも
に、ラウンド・ロビン・アルゴリズムも用いることがで
きる。或いは、これらのアルゴリズムの組み合わせでも
よい。
なスケジューリングアルゴリズムやスタティックなスケ
ジューリングアルゴリズムを用いることができるととも
に、ラウンド・ロビン・アルゴリズムも用いることがで
きる。或いは、これらのアルゴリズムの組み合わせでも
よい。
【0036】スケジュール手段は、優先順位を示すタグ
値を計算し、このタグ値を有するタグをセルに付加す
る。サーチ手段は、このタグ値と宛先ビットを用いて出
力すべきセルをサーチする。結果として、選択手段は、
ある出力リンクに対する宛先ビットが有意状態(オン)
になっており、かつ、それらの中で最も小さいタグ値を
持つセルを選択する。最も小さいタグ値を持つセルが2
以上存在する場合には、先に到着したセルを選択する。
値を計算し、このタグ値を有するタグをセルに付加す
る。サーチ手段は、このタグ値と宛先ビットを用いて出
力すべきセルをサーチする。結果として、選択手段は、
ある出力リンクに対する宛先ビットが有意状態(オン)
になっており、かつ、それらの中で最も小さいタグ値を
持つセルを選択する。最も小さいタグ値を持つセルが2
以上存在する場合には、先に到着したセルを選択する。
【0037】キューイング手段は、複数のレジスタによ
りFIFOを構成している。この複数のレジスタからな
るFIFOにより到着順を示すとともに、宛先ビットの
ベクトルとタグを保持するようにしている。
りFIFOを構成している。この複数のレジスタからな
るFIFOにより到着順を示すとともに、宛先ビットの
ベクトルとタグを保持するようにしている。
【0038】サーチ手段は、複数の比較回路をリニアに
配置し、各レジスタに記憶されたタグ値を順に比較する
ことにより、最小のタグ値を持つセルを検出する。
配置し、各レジスタに記憶されたタグ値を順に比較する
ことにより、最小のタグ値を持つセルを検出する。
【0039】或いは、サーチ手段は、2個のレジスタに
対して1つの比較回路を備え、2個のレジスタのタグ値
の比較結果を更に追加の比較回路で比較することによ
り、ツリー形式を用いて、最小のタグ値を持つセルを選
択する。このように、ツリー構造を用いた比較処理を行
うことにより、キューに記憶されたエントリーの数の対
数に比例する時間で最小のタグ値を持つセルを選択で
き、前述したリニアにサーチする場合に比べて高速処理
を行える。
対して1つの比較回路を備え、2個のレジスタのタグ値
の比較結果を更に追加の比較回路で比較することによ
り、ツリー形式を用いて、最小のタグ値を持つセルを選
択する。このように、ツリー構造を用いた比較処理を行
うことにより、キューに記憶されたエントリーの数の対
数に比例する時間で最小のタグ値を持つセルを選択で
き、前述したリニアにサーチする場合に比べて高速処理
を行える。
【0040】この発明のスイッチングシステムは、スケ
ジュール手段が、セルの出力順番を予め設定されたスケ
ジューリングアルゴリズムに基づいて決定する。スケジ
ュール手段は、出力リンクに共通に設けられたキューを
備え、そのキューに対して各セルの宛先ビットと優先度
を示すタグを記憶させる。サーチ手段が、この宛先ビッ
トとタグを参照することにより、出力リンクに出力する
セルの順番を決定する。タグに記載されるタグ値は、ダ
イナミック、或いは、スタティックなアルゴリズムのい
ずれのアルゴリズムに基づくもので計算されたもので構
わない。従って、このスイッチングシステムは、ユーザ
の要求に応じて柔軟なスケジューリング方式を採用する
ことができる。
ジュール手段が、セルの出力順番を予め設定されたスケ
ジューリングアルゴリズムに基づいて決定する。スケジ
ュール手段は、出力リンクに共通に設けられたキューを
備え、そのキューに対して各セルの宛先ビットと優先度
を示すタグを記憶させる。サーチ手段が、この宛先ビッ
トとタグを参照することにより、出力リンクに出力する
セルの順番を決定する。タグに記載されるタグ値は、ダ
イナミック、或いは、スタティックなアルゴリズムのい
ずれのアルゴリズムに基づくもので計算されたもので構
わない。従って、このスイッチングシステムは、ユーザ
の要求に応じて柔軟なスケジューリング方式を採用する
ことができる。
【0041】上記サーチ手段は、リニアサーチ手段によ
り、最小のタグ値を順番に捜していく。
り、最小のタグ値を順番に捜していく。
【0042】或いは、サーチ手段は、ロガリズミックサ
ーチ手段を有し、木構造を用いて最小のタグ値を高速に
検索する。
ーチ手段を有し、木構造を用いて最小のタグ値を高速に
検索する。
【0043】或いは、サーチ手段は、リニアサーチ手段
とロガリズミックサーチ手段を結合したサーチ手段によ
り、最小のタグ値を検索する。
とロガリズミックサーチ手段を結合したサーチ手段によ
り、最小のタグ値を検索する。
【0044】上記タグ手段は、タグレジスタと比較器を
備え、タグレジスタにタグ値を設定し、比較器がこのタ
グ値を順番に比較していくことにより、最小のタグ値を
検出する。
備え、タグレジスタにタグ値を設定し、比較器がこのタ
グ値を順番に比較していくことにより、最小のタグ値を
検出する。
【0045】上記比較器は、特定の出力リンクに対する
宛先ビットが有意状態(オン)であり、最小のタグ値を
持つことを示す特定ビットを出力し、各比較器は、キュ
ーの末尾方向にある比較器からの出力と各比較器に対応
したタグ値とを比較することにより、優先度を決定す
る。
宛先ビットが有意状態(オン)であり、最小のタグ値を
持つことを示す特定ビットを出力し、各比較器は、キュ
ーの末尾方向にある比較器からの出力と各比較器に対応
したタグ値とを比較することにより、優先度を決定す
る。
【0046】比較器は、2つのタグ値を比較して小さい
方の値を出力する。また、比較器は、追加の入力ビット
を備え、追加の入力ビットにより入力したタグを比較対
象とするかどうかを決定する。
方の値を出力する。また、比較器は、追加の入力ビット
を備え、追加の入力ビットにより入力したタグを比較対
象とするかどうかを決定する。
【0047】上記追加の入力ビットは、宛先ビットが有
意状態(オン)になっているセルを示すことにより、対
応するタグ値が比較対象になるかどうかを特定するもの
である。
意状態(オン)になっているセルを示すことにより、対
応するタグ値が比較対象になるかどうかを特定するもの
である。
【0048】もし、最小のタグ値を持つセルが2以上存
在する場合には、先に到着したセルを選択する。
在する場合には、先に到着したセルを選択する。
【0049】前述したタグ手段の別な構成として、タグ
を階層的構造を持った比較器により比較するようにして
も構わない。一対のタグレジスタに対して、比較器を1
個設け、この比較器からの出力を更に追加の比較器で比
較することにより、最小のタグ値を持つタグレジスタを
検出する。このようにして、検索を高速に行う。
を階層的構造を持った比較器により比較するようにして
も構わない。一対のタグレジスタに対して、比較器を1
個設け、この比較器からの出力を更に追加の比較器で比
較することにより、最小のタグ値を持つタグレジスタを
検出する。このようにして、検索を高速に行う。
【0050】比較器は、比較した2つのタグ値の内、い
ずれのほうが小さい値を持っているかを示す比較ビット
を出力し、選択手段は、複数のANDゲートを有し、A
NDゲートが比較ビットを入力するとともに、宛先ビッ
トを入力することにより最終的に優先度の高いセルを1
つだけ特定する。
ずれのほうが小さい値を持っているかを示す比較ビット
を出力し、選択手段は、複数のANDゲートを有し、A
NDゲートが比較ビットを入力するとともに、宛先ビッ
トを入力することにより最終的に優先度の高いセルを1
つだけ特定する。
【0051】ANDゲートは、宛先ビットが有意状態
(オン)になっているかどうかを判定するとともに、比
較器からの比較ビットとのANDを取ることにより、最
終的に宛先ビットが有意状態(オン)であり、最終のタ
グ値を持つセルを選択する。
(オン)になっているかどうかを判定するとともに、比
較器からの比較ビットとのANDを取ることにより、最
終的に宛先ビットが有意状態(オン)であり、最終のタ
グ値を持つセルを選択する。
【0052】もし、2以上のセルが最終のタグ値を有す
る場合には、先に到着したセルを選択して出力する。
る場合には、先に到着したセルを選択して出力する。
【0053】タグ手段が前述したように、階層的木構造
を用いて最小のタグ値を検索する場合には、タグレジス
タ用比較器により先頭から末尾方向が存在するキューを
定義し、追加の比較器により先頭方向にあるタグ値が末
尾方向にあるタグ値よりも小さい場合に、その先頭方向
にあるタグ値を持ったセルを選択する。
を用いて最小のタグ値を検索する場合には、タグレジス
タ用比較器により先頭から末尾方向が存在するキューを
定義し、追加の比較器により先頭方向にあるタグ値が末
尾方向にあるタグ値よりも小さい場合に、その先頭方向
にあるタグ値を持ったセルを選択する。
【0054】本発明のスイッチングシステムは、更に、
識別手段により階層的木構造を持つ場合に、どの枝が小
さい方のタグを有しているかを識別し、その識別手段
は、ANDゲートに基づいて、タグの宛先ビットとその
タグ値が最小のタグ値であることを示すビットとのAN
Dを取ることにより、最終的に優先度の高いセルを選択
する。このようなANDゲートを備えることにより、階
層的木構造を取った場合に、葉からルートに対して宛先
ビットを伝搬するため、各タグ毎に必要とされていたA
NDゲートを省略することができる。結果として、AN
Dゲートの数を減少させることができ、回路構成を簡略
することができる。
識別手段により階層的木構造を持つ場合に、どの枝が小
さい方のタグを有しているかを識別し、その識別手段
は、ANDゲートに基づいて、タグの宛先ビットとその
タグ値が最小のタグ値であることを示すビットとのAN
Dを取ることにより、最終的に優先度の高いセルを選択
する。このようなANDゲートを備えることにより、階
層的木構造を取った場合に、葉からルートに対して宛先
ビットを伝搬するため、各タグ毎に必要とされていたA
NDゲートを省略することができる。結果として、AN
Dゲートの数を減少させることができ、回路構成を簡略
することができる。
【0055】
実施例1.各種のスケジューリングアルゴリズムを適合
させるために、この発明に係るディジタル通信ネットワ
ークスイッチは、改良されたスケジューリングシステム
を備えている。その改良されたスケジューリングアルゴ
リズムによれば、各セルは、スイッチに到着する都度、
タグ付けされ、その後、共通キューに記憶される。タグ
は、バイナリーの数値から成る。タグの数値は、トラヒ
ックのクラスに対応するスケジューリングアルゴリズム
や、セルが伝送されるバーチャルチャネル(virtu
al channel)の属性や、セル自身の特性を考
慮して計算される。続いて、キューが宛先とタグにより
出力リンク又は出力ポート毎に並列に検索される。複数
のセルの宛先が同一である時、即ち、出力リンク又は出
力ポートが同一である時は、その中で最小のタグ値を持
つセルが選択される。これにより、スイッチは、常に、
宛先毎に、スケジューリングアルゴリズムに従って、最
初のセルを選択する。
させるために、この発明に係るディジタル通信ネットワ
ークスイッチは、改良されたスケジューリングシステム
を備えている。その改良されたスケジューリングアルゴ
リズムによれば、各セルは、スイッチに到着する都度、
タグ付けされ、その後、共通キューに記憶される。タグ
は、バイナリーの数値から成る。タグの数値は、トラヒ
ックのクラスに対応するスケジューリングアルゴリズム
や、セルが伝送されるバーチャルチャネル(virtu
al channel)の属性や、セル自身の特性を考
慮して計算される。続いて、キューが宛先とタグにより
出力リンク又は出力ポート毎に並列に検索される。複数
のセルの宛先が同一である時、即ち、出力リンク又は出
力ポートが同一である時は、その中で最小のタグ値を持
つセルが選択される。これにより、スイッチは、常に、
宛先毎に、スケジューリングアルゴリズムに従って、最
初のセルを選択する。
【0056】より一般的に言えば、この発明のスイッチ
ングシステムは、アルゴリズムを記憶する手段を備えて
いる。記憶されたアルゴリズムに従って、セルがスケジ
ュールされる順番が決定される。また、アルゴリズム
は、スイッチの動作に先立って、また、スイッチの動作
中に変更可能であるので、ネットワークの幅広いトラヒ
ック要求に対応することが可能となる。
ングシステムは、アルゴリズムを記憶する手段を備えて
いる。記憶されたアルゴリズムに従って、セルがスケジ
ュールされる順番が決定される。また、アルゴリズム
は、スイッチの動作に先立って、また、スイッチの動作
中に変更可能であるので、ネットワークの幅広いトラヒ
ック要求に対応することが可能となる。
【0057】この発明のスイッチは、スタティックアル
ゴリズムとダイナミックアルゴリズムの両方をサポート
可能である。これらのアルゴリズムには、以下のものを
含む。ルー,ジャングによるレートモノトニックアルゴ
リズム、ジャングによる単純優先度アルゴリズム、クマ
ーによるウェイテッドフェアキューイングアルゴリズ
ム、ジャクソン,ルー,ホーン,ジェングによる最早デ
ッドラインファーストアルゴリズム、ジャングによるバ
ーチャルクロックアルゴリズム、カルマネクによるラウ
ンド・ロビン及び階層的ラウンド・ロビン。以上のアル
ゴリズムは、本明細書で既に述べたものである。また、
カングのフローコントロールドバーチャルチャネルアル
ゴリズムのような複雑な制御アルゴリズムもサポート可
能である。
ゴリズムとダイナミックアルゴリズムの両方をサポート
可能である。これらのアルゴリズムには、以下のものを
含む。ルー,ジャングによるレートモノトニックアルゴ
リズム、ジャングによる単純優先度アルゴリズム、クマ
ーによるウェイテッドフェアキューイングアルゴリズ
ム、ジャクソン,ルー,ホーン,ジェングによる最早デ
ッドラインファーストアルゴリズム、ジャングによるバ
ーチャルクロックアルゴリズム、カルマネクによるラウ
ンド・ロビン及び階層的ラウンド・ロビン。以上のアル
ゴリズムは、本明細書で既に述べたものである。また、
カングのフローコントロールドバーチャルチャネルアル
ゴリズムのような複雑な制御アルゴリズムもサポート可
能である。
【0058】この発明は、以下の3点により成り立って
いる。第1に、タグ値がいずれかの演算可能なファンク
ションに従って計算される点、第2に、タグ値がセルが
伝送される順番を示している点、第3に、上に挙げたす
べてのアルゴリズムに共通する特徴として、セルの順番
が数値のタグで表現されると言う点である。検索を成立
させる唯一の決定要因は、タグの持つ数値であり、タグ
の持つ意味は問われない。さらに、各セルのタグ値は、
伝送中に計算されるので、スタティック・スケジューリ
ング・アルゴリズムだけでなく、ダイナミック・スケジ
ューリング・アルゴリズムもサポートできる。また、タ
グ毎に、十分な数のビットが用意されているので、スイ
ッチバッファ中の全セルの順番を並び替えて、各ビット
の値を書き変えることも可能である。
いる。第1に、タグ値がいずれかの演算可能なファンク
ションに従って計算される点、第2に、タグ値がセルが
伝送される順番を示している点、第3に、上に挙げたす
べてのアルゴリズムに共通する特徴として、セルの順番
が数値のタグで表現されると言う点である。検索を成立
させる唯一の決定要因は、タグの持つ数値であり、タグ
の持つ意味は問われない。さらに、各セルのタグ値は、
伝送中に計算されるので、スタティック・スケジューリ
ング・アルゴリズムだけでなく、ダイナミック・スケジ
ューリング・アルゴリズムもサポートできる。また、タ
グ毎に、十分な数のビットが用意されているので、スイ
ッチバッファ中の全セルの順番を並び替えて、各ビット
の値を書き変えることも可能である。
【0059】この発明のポイントは、タグベースの検索
を行う点にある。各セル(ATMセル)は、ネットワー
クスイッチに到着すると、バイナリーの数値を持つタグ
を付加される。典型的な実施例においては、8ビット、
16ビット、あるいはそれ以上の複数のビットを持つタ
グが用いられる。8ビットの場合には、256(2の8
乗)通りのタグ値が設定できる。16ビットの場合に
は、65536(2の16乗)通り、nビットの場合に
は、2のn乗のタグ値が設定できる。各セルのタグは、
そのセルが伝送されるバーチャルチャネル、そのバーチ
ャルチャネルのトラヒックのクラスのスケジューリング
アルゴリズム、そのセル自身の特性等に関連する情報を
持っている。そして、セル、タグ及び宛先情報が、伝送
待ちのセルキューの末尾に入力される。この実施例にお
いては、キューは、VLSI回路で構成されている。
を行う点にある。各セル(ATMセル)は、ネットワー
クスイッチに到着すると、バイナリーの数値を持つタグ
を付加される。典型的な実施例においては、8ビット、
16ビット、あるいはそれ以上の複数のビットを持つタ
グが用いられる。8ビットの場合には、256(2の8
乗)通りのタグ値が設定できる。16ビットの場合に
は、65536(2の16乗)通り、nビットの場合に
は、2のn乗のタグ値が設定できる。各セルのタグは、
そのセルが伝送されるバーチャルチャネル、そのバーチ
ャルチャネルのトラヒックのクラスのスケジューリング
アルゴリズム、そのセル自身の特性等に関連する情報を
持っている。そして、セル、タグ及び宛先情報が、伝送
待ちのセルキューの末尾に入力される。この実施例にお
いては、キューは、VLSI回路で構成されている。
【0060】やがて、スイッチが、特定の宛先にセルを
伝送しようとする時、キューに記憶されているすべての
セルを対象に出力リンク毎、或いは、出力ポート毎に並
列に検索が行われ、その宛先に一致する最小のタグ値を
持つセルが選択される。選択されたセルは、キューから
消去され、伝送される。キューの中に同一のタグ値を持
つ複数のセルが存在する場合には、もっとも早くキュー
に到着したセルが選択される。キュー検索部は、最小の
タグだけでなくセルが伝送される出力ポートも識別す
る。
伝送しようとする時、キューに記憶されているすべての
セルを対象に出力リンク毎、或いは、出力ポート毎に並
列に検索が行われ、その宛先に一致する最小のタグ値を
持つセルが選択される。選択されたセルは、キューから
消去され、伝送される。キューの中に同一のタグ値を持
つ複数のセルが存在する場合には、もっとも早くキュー
に到着したセルが選択される。キュー検索部は、最小の
タグだけでなくセルが伝送される出力ポートも識別す
る。
【0061】このアーキテクチャーにより、スタティッ
ク・スケジューリング・アルゴリズム,ダイナミック・
スケジューリング・アルゴリズムを問わず、前述した全
てのアルゴリズムを含む幅広いクラスのスケジューリン
グアルゴリズムを実現することが可能となる。また、タ
グ値に範囲設定をすれば、1つのスイッチで同時に種々
のトラヒックのクラスに対応する種々のスケージューリ
ングアルゴリズムを実現できる。具体的には、タグ値を
計算する際に、優先度の高いクラスのタグを数値の小さ
い範囲に割り当て、優先度の低いクラスのタグを数値の
大きい範囲に割り当てる。そのような割り当てを行え
ば、数値を頼りに検索するシステムでは、優先度の高い
クラスのセルが1つでもあれば、必ずそのセルが選択さ
れる。なぜならば、優先度の高いクラスのセルのタグ
は、優先度の低いクラスのセルのタグよりも、より小さ
い値を持つからである。
ク・スケジューリング・アルゴリズム,ダイナミック・
スケジューリング・アルゴリズムを問わず、前述した全
てのアルゴリズムを含む幅広いクラスのスケジューリン
グアルゴリズムを実現することが可能となる。また、タ
グ値に範囲設定をすれば、1つのスイッチで同時に種々
のトラヒックのクラスに対応する種々のスケージューリ
ングアルゴリズムを実現できる。具体的には、タグ値を
計算する際に、優先度の高いクラスのタグを数値の小さ
い範囲に割り当て、優先度の低いクラスのタグを数値の
大きい範囲に割り当てる。そのような割り当てを行え
ば、数値を頼りに検索するシステムでは、優先度の高い
クラスのセルが1つでもあれば、必ずそのセルが選択さ
れる。なぜならば、優先度の高いクラスのセルのタグ
は、優先度の低いクラスのセルのタグよりも、より小さ
い値を持つからである。
【0062】図1を用いて説明する。ATMスイッチ1
0は、複数の入力リンク14を備えている。複数の入力
リンク14は、複数の入力処理部16に接続されてい
る。複数の入力処理部16からの出力は、それぞれキュ
ー検索部18とメモリ(セルバッファメモリ)20に入
力される。キュー検索部18は、制御部22により制御
される。制御部22は、また、入力処理部16及び出力
処理部24も制御する。入力処理部16及び出力処理部
24は、それぞれマイクロプロセッサとメモリを備えて
いる。また、入力処理部16と出力処理部24は、制御
部22によりアルゴリズムを設定、或いは、再設定する
手段を備えており、スイッチに到着するセルやスイッチ
から送り出されるセルのネットワークへの要求に従っ
て、適切なアルゴリズムが用いられるように制御され
る。
0は、複数の入力リンク14を備えている。複数の入力
リンク14は、複数の入力処理部16に接続されてい
る。複数の入力処理部16からの出力は、それぞれキュ
ー検索部18とメモリ(セルバッファメモリ)20に入
力される。キュー検索部18は、制御部22により制御
される。制御部22は、また、入力処理部16及び出力
処理部24も制御する。入力処理部16及び出力処理部
24は、それぞれマイクロプロセッサとメモリを備えて
いる。また、入力処理部16と出力処理部24は、制御
部22によりアルゴリズムを設定、或いは、再設定する
手段を備えており、スイッチに到着するセルやスイッチ
から送り出されるセルのネットワークへの要求に従っ
て、適切なアルゴリズムが用いられるように制御され
る。
【0063】キュー検索部18の出力は、それぞれ出力
処理部24に入力される。それに伴い、セルバッファメ
モリ20の出力も出力処理部24に入力される。26に
示すように、入力処理部16の出力は、宛先情報とタグ
とバッファアドレスを含んでいる。これらは、キュー検
索部18に接続されている。また、28に示すように、
セルヘッダーとセル本体は、セルバッファメモリ20に
記憶される。
処理部24に入力される。それに伴い、セルバッファメ
モリ20の出力も出力処理部24に入力される。26に
示すように、入力処理部16の出力は、宛先情報とタグ
とバッファアドレスを含んでいる。これらは、キュー検
索部18に接続されている。また、28に示すように、
セルヘッダーとセル本体は、セルバッファメモリ20に
記憶される。
【0064】次に、動作について説明する。セルは、入
力リンク14を介して入力処理部16に到着する。入力
処理部16は、到着したセルをセル毎に処理する。通
常、どのATMスイッチでも行われている内部処理に加
えて、入力処理部16はセル毎にタグ値を計算する。タ
グ値の計算は、そのセルのバーチャルチャネルに対応す
るスケジューリングアルゴリズムに従って行われる。タ
グ値は、また、バーチャルチャネルの状態やセルの到着
時刻にも左右される。バーチャルチャネルとは、他の全
てのデータストリームと区別される特定のデータストリ
ームのエンドトゥーエンドのコネクションを指す。AT
Mネットワークにおいて、それは、セルヘッダー中のビ
ットにより識別される。入力処理部16は、また、バー
チャルチャネルの状態情報やスイッチによりメンテナン
スされる他の情報も計算し、更新する。
力リンク14を介して入力処理部16に到着する。入力
処理部16は、到着したセルをセル毎に処理する。通
常、どのATMスイッチでも行われている内部処理に加
えて、入力処理部16はセル毎にタグ値を計算する。タ
グ値の計算は、そのセルのバーチャルチャネルに対応す
るスケジューリングアルゴリズムに従って行われる。タ
グ値は、また、バーチャルチャネルの状態やセルの到着
時刻にも左右される。バーチャルチャネルとは、他の全
てのデータストリームと区別される特定のデータストリ
ームのエンドトゥーエンドのコネクションを指す。AT
Mネットワークにおいて、それは、セルヘッダー中のビ
ットにより識別される。入力処理部16は、また、バー
チャルチャネルの状態情報やスイッチによりメンテナン
スされる他の情報も計算し、更新する。
【0065】上記計算後、タグと宛先情報とセルのバッ
ファアドレスとが出力され、キュー検索部18のキュー
に記憶される。また、セルヘッダーとセルデータは、セ
ルバッファメモリ20に出力される。その時点で、セル
のアドレス、宛先及びタグはキューイングされ、セルヘ
ッダーとセルデータは、セルバッファメモリに記憶され
る。こうして、入力処理部は、次のセルを受け付け、処
理することが可能な状態になる。以上のことから、入力
処理は、関連する入力リンク14の1セルサイクルに割
り当てられた時間内に完了しなければならない。1セル
サイクルとは、入力リンクの帯域幅で1つのATMセル
を受信するのに必要な時間のことである。
ファアドレスとが出力され、キュー検索部18のキュー
に記憶される。また、セルヘッダーとセルデータは、セ
ルバッファメモリ20に出力される。その時点で、セル
のアドレス、宛先及びタグはキューイングされ、セルヘ
ッダーとセルデータは、セルバッファメモリに記憶され
る。こうして、入力処理部は、次のセルを受け付け、処
理することが可能な状態になる。以上のことから、入力
処理は、関連する入力リンク14の1セルサイクルに割
り当てられた時間内に完了しなければならない。1セル
サイクルとは、入力リンクの帯域幅で1つのATMセル
を受信するのに必要な時間のことである。
【0066】キュー検索部18は、キューを順に検索
し、個々の出力処理部24について対応する宛先ビット
を持つセルを選択する。出力処理部24は、セルが伝送
されるのに必要な計算があればその計算を行う。その
後、ネットワークの他のノードやセルの最終宛先に向け
て出力リンク30にセルを伝送する。キュー検索部18
によって行われる検索は、全ての出力処理部に関連する
スイッチ内の入力リンク14及び出力リンク30の内、
最も遅いリンクの1セルサイクルに割り当てられた時間
内に完了しなければならない。
し、個々の出力処理部24について対応する宛先ビット
を持つセルを選択する。出力処理部24は、セルが伝送
されるのに必要な計算があればその計算を行う。その
後、ネットワークの他のノードやセルの最終宛先に向け
て出力リンク30にセルを伝送する。キュー検索部18
によって行われる検索は、全ての出力処理部に関連する
スイッチ内の入力リンク14及び出力リンク30の内、
最も遅いリンクの1セルサイクルに割り当てられた時間
内に完了しなければならない。
【0067】この発明のキュー検索システムの説明に先
だって、図2を用いて既に知られている検索システムに
ついて説明する。これは、図1に示すキュー検索部18
に相当する。図2に示す検索システムは、縦列接続する
ことにより上位ステージ又は/及び下位ステージを備え
ることができ、拡張することも可能である。キュー検索
部18は、VLSIを用いたFIFO回路31(sel
f−timed FIFO)からなっている。キューエ
ントリーは、FIFO回路31の末尾から挿入される。
FIFOに未使用のエントリーがあれば、自動的にキュ
ーの先頭方向に前詰めにシフトされる。各キューエント
リー39は、レジスタに記憶され、宛先フィールド41
とアドレスフィールド35と優先度ビット37を持って
いる。宛先フィールド41は、独立した一連のバイナリ
ービットを持っており、各ビットは1か0かいずれかの
値を持つ。この実施例では、1の値を有意状態(オン)
としている。この値は、データがどの出力リンクに伝送
されるかによって決定される。宛先フィールドを構成し
ている各ビットを、宛先ビットを呼ぶ。スイッチの出力
リンク30と同数の宛先ビットがあり、各宛先ビット
は、特定の出力リンクへのコネクションを示している。
キューエントリーの宛先フィールドの対応するビットが
1の時に、キューエントリーと出力リンクを結ぶコネク
ションが成立する。例えば、宛先フィールドの第3ビッ
トがの1の時には、対応するデータは、第3の出力リン
クに伝送されることを示している。
だって、図2を用いて既に知られている検索システムに
ついて説明する。これは、図1に示すキュー検索部18
に相当する。図2に示す検索システムは、縦列接続する
ことにより上位ステージ又は/及び下位ステージを備え
ることができ、拡張することも可能である。キュー検索
部18は、VLSIを用いたFIFO回路31(sel
f−timed FIFO)からなっている。キューエ
ントリーは、FIFO回路31の末尾から挿入される。
FIFOに未使用のエントリーがあれば、自動的にキュ
ーの先頭方向に前詰めにシフトされる。各キューエント
リー39は、レジスタに記憶され、宛先フィールド41
とアドレスフィールド35と優先度ビット37を持って
いる。宛先フィールド41は、独立した一連のバイナリ
ービットを持っており、各ビットは1か0かいずれかの
値を持つ。この実施例では、1の値を有意状態(オン)
としている。この値は、データがどの出力リンクに伝送
されるかによって決定される。宛先フィールドを構成し
ている各ビットを、宛先ビットを呼ぶ。スイッチの出力
リンク30と同数の宛先ビットがあり、各宛先ビット
は、特定の出力リンクへのコネクションを示している。
キューエントリーの宛先フィールドの対応するビットが
1の時に、キューエントリーと出力リンクを結ぶコネク
ションが成立する。例えば、宛先フィールドの第3ビッ
トがの1の時には、対応するデータは、第3の出力リン
クに伝送されることを示している。
【0068】上で述べたように、宛先フィールドの各ビ
ットは、それぞれ出力リンクに対応しているので、キュ
ー全体を縦の列に着目して先頭から末尾まで眺めてみる
と、キューに記憶している全てのセルと1つの出力リン
クとの対応関係が分かる。即ち、各カラム(列)のビッ
トが1か0かを調べると、セルが特定の出力リンクに伝
送されるかどうかを確認することができる。マルチキャ
ストセルの場合、即ち、1つのセルが複数の出力リンク
に関連付けられている場合には、そのセルの宛先フィー
ルドには、1の値を持ったビットが複数存在する。図2
において、例えば、宛先フィールドの右端のカラムを見
てみると、1の値を持ったセルが2つあることが分か
る。この従来の検索システムにおいては、どのスケジュ
ーリングアルゴリズムを用いても、同一の出力リンクに
向かう2つのセルがある場合に、その伝送の順番を決定
できるようにするために、優先度ビット37を設けてい
る。
ットは、それぞれ出力リンクに対応しているので、キュ
ー全体を縦の列に着目して先頭から末尾まで眺めてみる
と、キューに記憶している全てのセルと1つの出力リン
クとの対応関係が分かる。即ち、各カラム(列)のビッ
トが1か0かを調べると、セルが特定の出力リンクに伝
送されるかどうかを確認することができる。マルチキャ
ストセルの場合、即ち、1つのセルが複数の出力リンク
に関連付けられている場合には、そのセルの宛先フィー
ルドには、1の値を持ったビットが複数存在する。図2
において、例えば、宛先フィールドの右端のカラムを見
てみると、1の値を持ったセルが2つあることが分か
る。この従来の検索システムにおいては、どのスケジュ
ーリングアルゴリズムを用いても、同一の出力リンクに
向かう2つのセルがある場合に、その伝送の順番を決定
できるようにするために、優先度ビット37を設けてい
る。
【0069】以上のように、キューエントリー39の宛
先フィールド41の中に1の値を持つビットがあれば、
そのキューエントリーのアドレスフィールド35に示さ
れたアドレスに対応して、セルバッファメモリ20に記
憶されているセルは、必ずそのビットに対応する出力リ
ンクに伝送される。このことは、宛先ビットによってセ
ルが1つの出力リンクに伝送されるか、或いは、複数の
出力リンクに伝送されるかを識別できるということを示
している。図2において、43に示すキューエントリー
のように、宛先フィールド41の全てのビットが0であ
る場合には、このエントリーは未使用であるとみなされ
る。また、図2には、検索回路50とバス読み出し回路
45が示されている。
先フィールド41の中に1の値を持つビットがあれば、
そのキューエントリーのアドレスフィールド35に示さ
れたアドレスに対応して、セルバッファメモリ20に記
憶されているセルは、必ずそのビットに対応する出力リ
ンクに伝送される。このことは、宛先ビットによってセ
ルが1つの出力リンクに伝送されるか、或いは、複数の
出力リンクに伝送されるかを識別できるということを示
している。図2において、43に示すキューエントリー
のように、宛先フィールド41の全てのビットが0であ
る場合には、このエントリーは未使用であるとみなされ
る。また、図2には、検索回路50とバス読み出し回路
45が示されている。
【0070】次に、動作について説明する。制御部22
からキュー検索部18に対して、「ある1つの出力リン
ク30に伝送するセルを検索せよ」という命令が出され
ると、宛先フィールド41の中でその出力リンクに対応
するビットが特定される。次に、検索回路50が特定さ
れたビット位置に1がたっていて、かつ、キューの先頭
に最も近いキューエントリー39を選択する。次に、制
御部22は、選択されたキューエントリーのセルのアド
レスフィールド35をバス読み出し回路45に入力す
る。バス読み出し回路45において、選択されたセルの
アドレスフィールド35は、キュー検索部18の出力4
9となる。続いて、選択されたキューエントリーの対応
する宛先ビットは、リセットされ、値は0となる。最後
に、出力処理部24は、アドレスを出力49により受け
取る。そのアドレスは、セルバッファメモリ20から指
定された出力リンク30へ伝送するセルを選択するため
に用いられる。
からキュー検索部18に対して、「ある1つの出力リン
ク30に伝送するセルを検索せよ」という命令が出され
ると、宛先フィールド41の中でその出力リンクに対応
するビットが特定される。次に、検索回路50が特定さ
れたビット位置に1がたっていて、かつ、キューの先頭
に最も近いキューエントリー39を選択する。次に、制
御部22は、選択されたキューエントリーのセルのアド
レスフィールド35をバス読み出し回路45に入力す
る。バス読み出し回路45において、選択されたセルの
アドレスフィールド35は、キュー検索部18の出力4
9となる。続いて、選択されたキューエントリーの対応
する宛先ビットは、リセットされ、値は0となる。最後
に、出力処理部24は、アドレスを出力49により受け
取る。そのアドレスは、セルバッファメモリ20から指
定された出力リンク30へ伝送するセルを選択するため
に用いられる。
【0071】図3は、説明を簡単にするために、図2に
示すキューエントリー39が4つある場合を示してい
る。また、図2において、宛先フィールド41で示して
いたものの内、宛先ビットを42として示している。ま
た、遅延優先度フィルタ48は、優先度ビット37を入
力する。キュー検索部18は、出力リンク30に対応す
るセルを選択するコマンドを受けると、宛先ビットの中
からその出力リンクに対応するカラム46を選択する。
このカラムは、遅延優先度フィルタ48に入力される。
遅延優先度フィルタ48には、既にキューの各エントリ
ーに対応する2つの優先度を示す優先度ビットが入力さ
れている。出力リンクが選択された時、宛先ビットの内
でその出力リンクに対応するカラムの全てのセルに対応
するビットが、遅延優先度フィルタ48に入力される。
遅延優先度フィルタ48は、優先度ビットと宛先ビット
を結合し、結合結果として0か1の値を持つ各セルに対
応するビットを出力する。この時、出力された値が0で
あれば、そのセルは選択されないことを示している。ま
た、ビットの値が1である時には、そのセルが選択され
る資格があるということを示している。このように、遅
延優先度フィルタ48は、2種類の優先度を用いて単純
な優先度付けの機能を果たしている。この従来技術にお
いて、遅延優先度フィルタは、同じ宛先を持つ複数のセ
ルの中から、いくつかの任意のセルを選択するために用
いられている。より明確に言えば、遅延優先度フィルタ
は、高い優先度と低い優先度をつけることによって、高
い優先度のセルが低い優先度のセルよりも、先に伝送さ
れることを可能にしている。
示すキューエントリー39が4つある場合を示してい
る。また、図2において、宛先フィールド41で示して
いたものの内、宛先ビットを42として示している。ま
た、遅延優先度フィルタ48は、優先度ビット37を入
力する。キュー検索部18は、出力リンク30に対応す
るセルを選択するコマンドを受けると、宛先ビットの中
からその出力リンクに対応するカラム46を選択する。
このカラムは、遅延優先度フィルタ48に入力される。
遅延優先度フィルタ48には、既にキューの各エントリ
ーに対応する2つの優先度を示す優先度ビットが入力さ
れている。出力リンクが選択された時、宛先ビットの内
でその出力リンクに対応するカラムの全てのセルに対応
するビットが、遅延優先度フィルタ48に入力される。
遅延優先度フィルタ48は、優先度ビットと宛先ビット
を結合し、結合結果として0か1の値を持つ各セルに対
応するビットを出力する。この時、出力された値が0で
あれば、そのセルは選択されないことを示している。ま
た、ビットの値が1である時には、そのセルが選択され
る資格があるということを示している。このように、遅
延優先度フィルタ48は、2種類の優先度を用いて単純
な優先度付けの機能を果たしている。この従来技術にお
いて、遅延優先度フィルタは、同じ宛先を持つ複数のセ
ルの中から、いくつかの任意のセルを選択するために用
いられている。より明確に言えば、遅延優先度フィルタ
は、高い優先度と低い優先度をつけることによって、高
い優先度のセルが低い優先度のセルよりも、先に伝送さ
れることを可能にしている。
【0072】遅延優先度フィルタ48から出力された一
連のビットは、比較回路50aに入力される。比較回路
50aは、各エントリーのビットをその両隣のビットと
比較する。これは、図3に示されている論理和ゲート5
2及び排他的論理和ゲート54により行われる。その結
果、出力ビットの内、1つのビットだけが1の値を持つ
ことになる。それは、その1の値を持つビットに対応す
るエントリーが選ばれて伝送されることを示している。
選択されたエントリーは、宛先ビットが1であるエント
リーの内、最もキューの先頭に近いエントリーである。
連のビットは、比較回路50aに入力される。比較回路
50aは、各エントリーのビットをその両隣のビットと
比較する。これは、図3に示されている論理和ゲート5
2及び排他的論理和ゲート54により行われる。その結
果、出力ビットの内、1つのビットだけが1の値を持つ
ことになる。それは、その1の値を持つビットに対応す
るエントリーが選ばれて伝送されることを示している。
選択されたエントリーは、宛先ビットが1であるエント
リーの内、最もキューの先頭に近いエントリーである。
【0073】図3に示すアクセラレータ60は、検索を
スピードアップするために用いられる。その結果、1セ
ルサイクル内で全ての出力リンクの検索を順に行うこと
が可能となる。アクセラレータ60は、通常一般的に用
いられている先読み回路であり、縦列接続される場合の
下位ステージからの入力62と上位ステージへの出力6
4を備えている。下位ステージからの入力62が0の時
は、下位ステージにおいて、指定された出力リンクに対
してエントリーが未選択であることを示している。下位
のステージからの入力62が1の時は、下位のステージ
において、指定された出力リンクに対してエントリーが
選択されたことを示している。従って、下位ステージか
らの入力が1の時は、比較回路からの出力ビット56
は、全て0になるように設計されている。上位ステージ
への出力64は、下位ステージ又は自ステージにおい
て、エントリーが未選択の場合、0が出力される。下位
ステージ又は自ステージにおいて、エントリーが既に選
択された場合は、1が出力される。
スピードアップするために用いられる。その結果、1セ
ルサイクル内で全ての出力リンクの検索を順に行うこと
が可能となる。アクセラレータ60は、通常一般的に用
いられている先読み回路であり、縦列接続される場合の
下位ステージからの入力62と上位ステージへの出力6
4を備えている。下位ステージからの入力62が0の時
は、下位ステージにおいて、指定された出力リンクに対
してエントリーが未選択であることを示している。下位
のステージからの入力62が1の時は、下位のステージ
において、指定された出力リンクに対してエントリーが
選択されたことを示している。従って、下位ステージか
らの入力が1の時は、比較回路からの出力ビット56
は、全て0になるように設計されている。上位ステージ
への出力64は、下位ステージ又は自ステージにおい
て、エントリーが未選択の場合、0が出力される。下位
ステージ又は自ステージにおいて、エントリーが既に選
択された場合は、1が出力される。
【0074】図4は、図3における従来の遅延優先度フ
ィルタ48を、この発明のリニアサーチ回路70で置き
換えたものである。この実施例においては、各キューエ
ントリー39は、タグレジスタ72により拡張されてい
る。タグレジスタ72は、数値に対応する値を持ってお
り、その数値の大きさは、優先度を設定するために用い
られる。この発明においては、最も小さいタグ値を持つ
セルが最も高い優先度を与えられる。前述したように、
タグの持つ値によって優先度が設定される。この実施例
のリニアサーチ回路70は、様々な選択機能を提供する
ことを目的として備えられている。これは、前述した図
3に示す遅延優先度フィルタ48が単純化機能を目的と
していた点と大きく異なっている。多様な選択機能を提
供することにより、複数のスケジューリングアルゴリズ
ムの幅広い要求に柔軟に答えることができる。図4にお
いても、説明を簡単にするために、数百のキューエント
リーの中から、4つのエントリーを取り分けている。4
つのエントリーに対して、それぞれタグレジスタ72と
比較器74が対応している。各タグレジスタ72は、図
1に示す入力処理部16で計算された、セルエントリー
に対応するタグの値を示すバイナリーの数値を持ってい
る。この数値が比較器74において、キューの中の直前
のタグの比較器の出力と比較される。比較結果により、
2つの数値の内、どちらが小さいかが決定される。この
順序付け処理の結果は、キューの中を順に次の比較器に
引き継がれる。
ィルタ48を、この発明のリニアサーチ回路70で置き
換えたものである。この実施例においては、各キューエ
ントリー39は、タグレジスタ72により拡張されてい
る。タグレジスタ72は、数値に対応する値を持ってお
り、その数値の大きさは、優先度を設定するために用い
られる。この発明においては、最も小さいタグ値を持つ
セルが最も高い優先度を与えられる。前述したように、
タグの持つ値によって優先度が設定される。この実施例
のリニアサーチ回路70は、様々な選択機能を提供する
ことを目的として備えられている。これは、前述した図
3に示す遅延優先度フィルタ48が単純化機能を目的と
していた点と大きく異なっている。多様な選択機能を提
供することにより、複数のスケジューリングアルゴリズ
ムの幅広い要求に柔軟に答えることができる。図4にお
いても、説明を簡単にするために、数百のキューエント
リーの中から、4つのエントリーを取り分けている。4
つのエントリーに対して、それぞれタグレジスタ72と
比較器74が対応している。各タグレジスタ72は、図
1に示す入力処理部16で計算された、セルエントリー
に対応するタグの値を示すバイナリーの数値を持ってい
る。この数値が比較器74において、キューの中の直前
のタグの比較器の出力と比較される。比較結果により、
2つの数値の内、どちらが小さいかが決定される。この
順序付け処理の結果は、キューの中を順に次の比較器に
引き継がれる。
【0075】また、この順序付け処理の結果は、一連の
ビットとして出力ライン76に出力される。これらの一
連のビットの内、いずれかのビットに1がたっていれ
ば、それは第1に、対応するキューエントリーの宛先ビ
ットが1であることを示している。第2に、対応するキ
ューエントリーのタグ値がキューの中で選択された宛先
ビットが1である全てのキューエントリー中で、そのキ
ューエントリーのタグ値が最も小さいということも示し
ている。それ故、以下のことが分かる。1つは、リニア
サーチ回路70及び比較回路50a及びアクセラレータ
60からなるリニアサーチ回路の出力ビット56は、選
択された宛先ビットが1にセットされている全てのキュ
ーエントリーの中から、1つだけを選択するというこ
と、もう1つは、選択されたキューエントリーは、最小
のタグ値を持つということである。また、更に、もしも
2つ以上のキューエントリーが同一の最小のタグ値を持
ち、同一の宛先ビットを持っている場合に、キューの先
頭に最も近いエントリーが選択されるということにな
る。
ビットとして出力ライン76に出力される。これらの一
連のビットの内、いずれかのビットに1がたっていれ
ば、それは第1に、対応するキューエントリーの宛先ビ
ットが1であることを示している。第2に、対応するキ
ューエントリーのタグ値がキューの中で選択された宛先
ビットが1である全てのキューエントリー中で、そのキ
ューエントリーのタグ値が最も小さいということも示し
ている。それ故、以下のことが分かる。1つは、リニア
サーチ回路70及び比較回路50a及びアクセラレータ
60からなるリニアサーチ回路の出力ビット56は、選
択された宛先ビットが1にセットされている全てのキュ
ーエントリーの中から、1つだけを選択するというこ
と、もう1つは、選択されたキューエントリーは、最小
のタグ値を持つということである。また、更に、もしも
2つ以上のキューエントリーが同一の最小のタグ値を持
ち、同一の宛先ビットを持っている場合に、キューの先
頭に最も近いエントリーが選択されるということにな
る。
【0076】その結果、リニアサーチ回路70により、
スケジューリングアルゴリズムが適当であろう思って採
用した方式に従って計算されたタグ値に基づいて、選択
プロセスを独自に構築する機会が提供される。即ち、リ
ニアサーチ回路70は、タグ値が小さな値を持つセルを
先に出力するように設計されていているのであるから、
スケジューリングアルゴリズムが、先に出力したいセル
のタグ値を小さな値にするということさえ守れば、どの
ような方式でタグ値を決定してもよいことになる。この
ようにして、スケジューリングアルゴリズムの独自構築
が可能になる。
スケジューリングアルゴリズムが適当であろう思って採
用した方式に従って計算されたタグ値に基づいて、選択
プロセスを独自に構築する機会が提供される。即ち、リ
ニアサーチ回路70は、タグ値が小さな値を持つセルを
先に出力するように設計されていているのであるから、
スケジューリングアルゴリズムが、先に出力したいセル
のタグ値を小さな値にするということさえ守れば、どの
ような方式でタグ値を決定してもよいことになる。この
ようにして、スケジューリングアルゴリズムの独自構築
が可能になる。
【0077】特に、この発明においては、タグベースの
検索を実現するために、従来の遅延優先度フィルタ48
を使用していない。遅延優先度フィルタ48の代わり
に、キューの各エントリーに対応するタグレジスタを持
つ。また、各タグレジスタをキューの末尾に向かって他
のタグと比較し、最小値を持つタグを選択する比較器7
4を持つ。図5は、図4に示したリニアサーチ回路70
の詳細を示す図である。図5に示すように、以下の例に
おいて、kを各タグレジスタのビット数とする。また、
Nをキューエントリーの総数とする。キューエントリー
iに対応するタグをタグiとし、キューエントリーiに
対応する比較器を比較器iとする。タグiのタグ値をタ
グ値Ti とする。キューエントリーiに対応する宛先ビ
ットを宛先ビットDi とする。比較器i+1と比較器i
の間を通っている一組のワイヤの出力値を出力値Mi+1
とする。比較器iの出力を、出力値Mi ,1ビットCi
とする。この1ビットCi は、宛先ビットDi がセット
されているかどうかとともに、もし、セットされている
時は、更に、タグ値Ti が出力値Mi+1 以下であるかど
うかを示す。
検索を実現するために、従来の遅延優先度フィルタ48
を使用していない。遅延優先度フィルタ48の代わり
に、キューの各エントリーに対応するタグレジスタを持
つ。また、各タグレジスタをキューの末尾に向かって他
のタグと比較し、最小値を持つタグを選択する比較器7
4を持つ。図5は、図4に示したリニアサーチ回路70
の詳細を示す図である。図5に示すように、以下の例に
おいて、kを各タグレジスタのビット数とする。また、
Nをキューエントリーの総数とする。キューエントリー
iに対応するタグをタグiとし、キューエントリーiに
対応する比較器を比較器iとする。タグiのタグ値をタ
グ値Ti とする。キューエントリーiに対応する宛先ビ
ットを宛先ビットDi とする。比較器i+1と比較器i
の間を通っている一組のワイヤの出力値を出力値Mi+1
とする。比較器iの出力を、出力値Mi ,1ビットCi
とする。この1ビットCi は、宛先ビットDi がセット
されているかどうかとともに、もし、セットされている
時は、更に、タグ値Ti が出力値Mi+1 以下であるかど
うかを示す。
【0078】キュー最後尾エントリーからの出力値MN
は、宛先ビットDN に1がたっている場合には、タグ値
TN の値にセットされる。また、宛先ビットDN が0の
時は、2k −1(全ビット=1)という値になる。比較
器iの一組のワイヤからの出力値Mi は、キューエント
リーiからキューの最終(キューエントリーN)までの
エントリーの内、最小のタグ値を示す。また、ビットC
i は、宛先ビットDiがセットされ、かつ、そのタグ値
Ti がキューエントリーiからNまでのキュー内にある
タグ値の中で最小値の場合、1に設定される。出力され
たビットCi は、図2及び図3に示す従来例の回路の遅
延優先度フィルタの出力を置き換える。検索回路50
は、単に、ビットCi が1にセットされている最初のエ
ントリーを選択する。即ち、最小のタグ値を持つエント
リーを検索する。
は、宛先ビットDN に1がたっている場合には、タグ値
TN の値にセットされる。また、宛先ビットDN が0の
時は、2k −1(全ビット=1)という値になる。比較
器iの一組のワイヤからの出力値Mi は、キューエント
リーiからキューの最終(キューエントリーN)までの
エントリーの内、最小のタグ値を示す。また、ビットC
i は、宛先ビットDiがセットされ、かつ、そのタグ値
Ti がキューエントリーiからNまでのキュー内にある
タグ値の中で最小値の場合、1に設定される。出力され
たビットCi は、図2及び図3に示す従来例の回路の遅
延優先度フィルタの出力を置き換える。検索回路50
は、単に、ビットCi が1にセットされている最初のエ
ントリーを選択する。即ち、最小のタグ値を持つエント
リーを検索する。
【0079】以下に、比較器の動作について、詳細に説
明する。タグレジスタの各ビットを比較する比較論理回
路を図6に示す。図6は、図5に示す比較器iのj番目
の比較論理回路を示している。図6のTi [j]とラベ
ル付けされたボックス130は、i番目のキューエント
リーのタグレジスタのj桁目(k−1≧j≧0)のビッ
トを示している。Mi+1 [j]とラベル付けされたワイ
ヤ132は、出力値Mi+1 のj番目のビットであり、キ
ュー最後尾方向にあるi+1番目のキューエントリーの
比較器i+1からくるものである。また、Mi [j]と
ラベル付けされたワイヤ132は、出力値Mi のj番目
のビットであり、このエントリーからキューの先頭に向
かって出力されるものである。Ci[j+1]とラベル
付けされたワイヤ136と、Ei [j+1]とラベル付
けされたワイヤ138は、i番目のエントリーの比較器
iの(j+1)番目の比較論理回路からくるキャリービ
ットである。また、Ci [j]とラベル付けされたワイ
ヤ140とEi [j]とラベル付けされたワイヤは、i
番目のエントリーの比較器iのj番目の比較論理回路か
ら次の下位ビットの比較論理回路へ、即ち、(j−1)
番目の比較論理回路へ出力されるキャリービットであ
る。
明する。タグレジスタの各ビットを比較する比較論理回
路を図6に示す。図6は、図5に示す比較器iのj番目
の比較論理回路を示している。図6のTi [j]とラベ
ル付けされたボックス130は、i番目のキューエント
リーのタグレジスタのj桁目(k−1≧j≧0)のビッ
トを示している。Mi+1 [j]とラベル付けされたワイ
ヤ132は、出力値Mi+1 のj番目のビットであり、キ
ュー最後尾方向にあるi+1番目のキューエントリーの
比較器i+1からくるものである。また、Mi [j]と
ラベル付けされたワイヤ132は、出力値Mi のj番目
のビットであり、このエントリーからキューの先頭に向
かって出力されるものである。Ci[j+1]とラベル
付けされたワイヤ136と、Ei [j+1]とラベル付
けされたワイヤ138は、i番目のエントリーの比較器
iの(j+1)番目の比較論理回路からくるキャリービ
ットである。また、Ci [j]とラベル付けされたワイ
ヤ140とEi [j]とラベル付けされたワイヤは、i
番目のエントリーの比較器iのj番目の比較論理回路か
ら次の下位ビットの比較論理回路へ、即ち、(j−1)
番目の比較論理回路へ出力されるキャリービットであ
る。
【0080】2つのキャリービットとワイヤからの出力
値の意味は、以下のように定義される。 ここで、N=キューのエントリー総数、N≧i≧1,k
−1≧j≧0である。また、Ti [(k−1)・・・
j]は、kビットで示されたタグ値Ti の上位k−jビ
ットの値を意味する。
値の意味は、以下のように定義される。 ここで、N=キューのエントリー総数、N≧i≧1,k
−1≧j≧0である。また、Ti [(k−1)・・・
j]は、kビットで示されたタグ値Ti の上位k−jビ
ットの値を意味する。
【0081】式(1)により、Ci [j]=1の時は、
宛先ビットDi が1であり、かつ、エントリーiのタグ
値Ti の上位k−1ビットからjビットまでの値がエン
トリーi+1からエントリーNまでの最小のタグ値M
i+1 の上位k−1ビットからjビットまでの値以下であ
ることを示している。Ci [j]=0の時は、そのエン
トリーiは、検索すべきエントリーでないことを示す。
Ci [0]は、Ci として比較回路に出力される。ま
た、式(2)により、Ei [j]=1の時は、C
i[j]=1の時で、かつ、タグ値Ti と出力値Mi+1
の上位k−1ビットからjビットまでの値が等しいこと
を示している。従って、Ei [j]=1の時は、必ずC
i [j]=1である。式(3)は、Mi [(k−1)・
・・j]がエントリーiからエントリーNまでの最小の
タグ値の上位k−1ビットからjビットまでであること
を示している。
宛先ビットDi が1であり、かつ、エントリーiのタグ
値Ti の上位k−1ビットからjビットまでの値がエン
トリーi+1からエントリーNまでの最小のタグ値M
i+1 の上位k−1ビットからjビットまでの値以下であ
ることを示している。Ci [j]=0の時は、そのエン
トリーiは、検索すべきエントリーでないことを示す。
Ci [0]は、Ci として比較回路に出力される。ま
た、式(2)により、Ei [j]=1の時は、C
i[j]=1の時で、かつ、タグ値Ti と出力値Mi+1
の上位k−1ビットからjビットまでの値が等しいこと
を示している。従って、Ei [j]=1の時は、必ずC
i [j]=1である。式(3)は、Mi [(k−1)・
・・j]がエントリーiからエントリーNまでの最小の
タグ値の上位k−1ビットからjビットまでであること
を示している。
【0082】図6に示す比較論理回路の機能は、図7に
示す論理値表で定義される。図7において、5行目のC
i [j+1]とEi [j+1]の値は、ありえない組み
合わせである。図7を用いて、比較器が最小値を導き出
すことを以下に証明する。まず、最初に、以下のよう
に、初期設定をする。
示す論理値表で定義される。図7において、5行目のC
i [j+1]とEi [j+1]の値は、ありえない組み
合わせである。図7を用いて、比較器が最小値を導き出
すことを以下に証明する。まず、最初に、以下のよう
に、初期設定をする。
【0083】式(1)及び(2)は、全てのi及びj=
kについて成り立つ。同様に、式(3)もi=N及び全
てのj=0,・・・,k−1について成り立つ。次に、
帰納法で話を進めよう。0≦j<k,1≦i<Nの時の
ビットTi [j]を考えてみる。上記全ての値及び図6
のi,j以外の値について、仮定を満足したとする。す
ると、この仮定により、 となる。また、図7に示す比較器のロジックテーブルの
1行目〜4行目の場合には、Ci [j+1]=0である
から、Di =0であるか、または、 Ti [(k−1)・・・(j+1)] >Mi+1 [(k−1)・・・(j+1)] であり、1行目〜4行目の5列目に示すように、 Mi [j]=Mi+1 [j] となる。その結果、 Ti [(k−1)・・・j] >Mi+1 [(k−1)・・・j] 以上のように、式(1),(2)及び(3)は、成立す
る。5行目は、ありえないCi [j+1]とEi [j+
1]の組み合わせを示している。6行目〜9行目の場合
には、Ci [j+1]=1であり、Ei [j+1]=0
なので、Ti [(k−1)・・・(j+1)]が最小値
となり、 Ti [(k−1)・・・(j+1) <Mi+1 [(k−1)・・・(j+1)] (7) 及び、6行目〜9行目の5列目に示すように、 Mi [j]=Ti [j] となる。その結果、以下の式が成立する。 Ti [(k−1)・・・j] <Mi+1 [(k−1)・・・j] また、6行目〜9行目の6列目と7列目に示すように、
Ci [j]とEi [j]の値も対応してそれぞれ1及び
0にセットされる。更に、式(7)と帰納法の仮定によ
り、以下の式が成立する。 Mi [(k−1)・・・(j+1)] =Ti [(k−1)・・・(j+1)] その結果、m=i,・・・,N,Dm =1に対して、以
下の式が真となる。 10行目〜13行目の場合には、Ci [j+1]=1、
かつ、Ei [j+1]=1なので、Ti [(k−1)・
・・(j+1)]は、今までの最小値Mi+1 [(k−
1)・・・(j+1)]と同じ値を示している。従っ
て、 Ti [(k−1)・・・(j+1)] =Mi+1 [(k−1)・・・(j+1)] となる。それ故、10行目と13行目に示すように、T
i [j]=Mi+1 [j]の時、 Ti [(k−1)・・・j] =Mi+1 [(k−1)・・・j] となり、11行目に示すように、Ti [j]<Mi+1
[j]の時、 Ti [(k−1)・・・j] <Mi+1 [(k−1)・・・j] となり、12行目に示すように、Ti [j]>Mi+1
[j]の時、 Ti [(k−1)・・・j] =Mi+1 [(k−1)・・・j] となる。これにより、式(1),(2)及び(3)が導
かれる。以上のように、式(1),(2)及び(3)
は、キューに記憶されている全てのセルのタグに適合す
る。
kについて成り立つ。同様に、式(3)もi=N及び全
てのj=0,・・・,k−1について成り立つ。次に、
帰納法で話を進めよう。0≦j<k,1≦i<Nの時の
ビットTi [j]を考えてみる。上記全ての値及び図6
のi,j以外の値について、仮定を満足したとする。す
ると、この仮定により、 となる。また、図7に示す比較器のロジックテーブルの
1行目〜4行目の場合には、Ci [j+1]=0である
から、Di =0であるか、または、 Ti [(k−1)・・・(j+1)] >Mi+1 [(k−1)・・・(j+1)] であり、1行目〜4行目の5列目に示すように、 Mi [j]=Mi+1 [j] となる。その結果、 Ti [(k−1)・・・j] >Mi+1 [(k−1)・・・j] 以上のように、式(1),(2)及び(3)は、成立す
る。5行目は、ありえないCi [j+1]とEi [j+
1]の組み合わせを示している。6行目〜9行目の場合
には、Ci [j+1]=1であり、Ei [j+1]=0
なので、Ti [(k−1)・・・(j+1)]が最小値
となり、 Ti [(k−1)・・・(j+1) <Mi+1 [(k−1)・・・(j+1)] (7) 及び、6行目〜9行目の5列目に示すように、 Mi [j]=Ti [j] となる。その結果、以下の式が成立する。 Ti [(k−1)・・・j] <Mi+1 [(k−1)・・・j] また、6行目〜9行目の6列目と7列目に示すように、
Ci [j]とEi [j]の値も対応してそれぞれ1及び
0にセットされる。更に、式(7)と帰納法の仮定によ
り、以下の式が成立する。 Mi [(k−1)・・・(j+1)] =Ti [(k−1)・・・(j+1)] その結果、m=i,・・・,N,Dm =1に対して、以
下の式が真となる。 10行目〜13行目の場合には、Ci [j+1]=1、
かつ、Ei [j+1]=1なので、Ti [(k−1)・
・・(j+1)]は、今までの最小値Mi+1 [(k−
1)・・・(j+1)]と同じ値を示している。従っ
て、 Ti [(k−1)・・・(j+1)] =Mi+1 [(k−1)・・・(j+1)] となる。それ故、10行目と13行目に示すように、T
i [j]=Mi+1 [j]の時、 Ti [(k−1)・・・j] =Mi+1 [(k−1)・・・j] となり、11行目に示すように、Ti [j]<Mi+1
[j]の時、 Ti [(k−1)・・・j] <Mi+1 [(k−1)・・・j] となり、12行目に示すように、Ti [j]>Mi+1
[j]の時、 Ti [(k−1)・・・j] =Mi+1 [(k−1)・・・j] となる。これにより、式(1),(2)及び(3)が導
かれる。以上のように、式(1),(2)及び(3)
は、キューに記憶されている全てのセルのタグに適合す
る。
【0084】その結果、エントリーiのタグ値Ti が最
小の時、 となる。以上のように、キューに対して高速なリニアサ
ーチが行われ、最小値を持つタグが選択される。
小の時、 となる。以上のように、キューに対して高速なリニアサ
ーチが行われ、最小値を持つタグが選択される。
【0085】この比較回路には、例えば、ワイヤ136
と138のように、2本のキャリーラインが必要であ
る。もし、キャリーラインが1本しかない場合には、図
7に示した7行目と8行目、11行目と12行目のよう
に、Ti [j]とMi+1 [j]が異なる場合と、6行目
と9行目、10行目と13行目のように、Ti [j]と
Mi+1 [j]が同じ場合との差異を検出することができ
ない。
と138のように、2本のキャリーラインが必要であ
る。もし、キャリーラインが1本しかない場合には、図
7に示した7行目と8行目、11行目と12行目のよう
に、Ti [j]とMi+1 [j]が異なる場合と、6行目
と9行目、10行目と13行目のように、Ti [j]と
Mi+1 [j]が同じ場合との差異を検出することができ
ない。
【0086】この実施例のように、各キューエントリー
の間に使用されるの単純比較器をVLSIで構成しリニ
アサーチを行うには、1ビットにつき、およそ25個の
トランジスタが必要である。そのため、タグが16ビッ
トで構成されている場合には、約400個のトランジス
タが必要となる。M1 [0]の値を出力するためには、
宛先ビットからの情報が必要である。この情報は、N個
全てのキューエントリーのkビットのタグの各ビットを
逐次、走査比較することによって得られる。この走査比
較は、配列の左上から右下に向けて順次実行される。1
つのキューエントリーに対する比較結果が出るまで待つ
ことなく、次のキューエントリーの第1ビット目の走査
比較を先に開始しても構わない。このように、各比較器
の走査比較を可能な限り早めに実行することにより、回
路内の最長パスの長さは、N+kビットとなる。
の間に使用されるの単純比較器をVLSIで構成しリニ
アサーチを行うには、1ビットにつき、およそ25個の
トランジスタが必要である。そのため、タグが16ビッ
トで構成されている場合には、約400個のトランジス
タが必要となる。M1 [0]の値を出力するためには、
宛先ビットからの情報が必要である。この情報は、N個
全てのキューエントリーのkビットのタグの各ビットを
逐次、走査比較することによって得られる。この走査比
較は、配列の左上から右下に向けて順次実行される。1
つのキューエントリーに対する比較結果が出るまで待つ
ことなく、次のキューエントリーの第1ビット目の走査
比較を先に開始しても構わない。このように、各比較器
の走査比較を可能な限り早めに実行することにより、回
路内の最長パスの長さは、N+kビットとなる。
【0087】キュー検索部を0.8mのCMOSで構成
した場合、単純比較器は、およそ16ビットのタグ比較
を5.5ナノセカンドで行う。このことから、キューに
16個(N=16)のエントリーがあり、そのj番目の
ビットを走査比較するには、ほぼ同じ時間がかかること
が想定できる。例えば、16ビット(k=16)のタグ
を有する128エントリー(N=128)を持つキュー
から最小値を持つエントリーを選択するには、以下の式
から概略49.5ナノセカンドかかることが計算でき
る。 Nビットの走査比較時間+kビットの走査比較時間=
(128/16)×5.5+5.5=49.5
した場合、単純比較器は、およそ16ビットのタグ比較
を5.5ナノセカンドで行う。このことから、キューに
16個(N=16)のエントリーがあり、そのj番目の
ビットを走査比較するには、ほぼ同じ時間がかかること
が想定できる。例えば、16ビット(k=16)のタグ
を有する128エントリー(N=128)を持つキュー
から最小値を持つエントリーを選択するには、以下の式
から概略49.5ナノセカンドかかることが計算でき
る。 Nビットの走査比較時間+kビットの走査比較時間=
(128/16)×5.5+5.5=49.5
【0088】上記49.5ナノセカンドは非常に速い
が、この値は、キューエントリー数の増加により大きく
なってしまう。例えば、キューエントリーが256個で
あれば、128個の場合のほぼ倍の時間がかかる。
が、この値は、キューエントリー数の増加により大きく
なってしまう。例えば、キューエントリーが256個で
あれば、128個の場合のほぼ倍の時間がかかる。
【0089】以上のような、キューをリニアサーチする
方法には、時間がかかるという課題が残っている。この
課題を解決するために、図8に示すような二分木の形式
を用いてもよい。この改良例においては、一組(2つ)
のキューエントリーのタグの間に1つの比較器を備えて
いる。この比較器からの出力は、次の上位レベルの比較
器の片側に入力される。あるレベルの2台の比較器に対
応して、必ずその上位レベルに1台の比較器が配置され
ている。そのため、キューエントリーされているデータ
数N=2n の時、比較器の数はリニアサーチの場合と同
じく、2n −1となる。図8においては、比較木(比較
に用いる木構造)は、3レベルの深さとなっている。
方法には、時間がかかるという課題が残っている。この
課題を解決するために、図8に示すような二分木の形式
を用いてもよい。この改良例においては、一組(2つ)
のキューエントリーのタグの間に1つの比較器を備えて
いる。この比較器からの出力は、次の上位レベルの比較
器の片側に入力される。あるレベルの2台の比較器に対
応して、必ずその上位レベルに1台の比較器が配置され
ている。そのため、キューエントリーされているデータ
数N=2n の時、比較器の数はリニアサーチの場合と同
じく、2n −1となる。図8においては、比較木(比較
に用いる木構造)は、3レベルの深さとなっている。
【0090】図8は、この実施例のキューエントリーが
8個ある場合の比較器の配置を示す図である。モジュー
ル80は、二分木形式で2つの比較器から構成されるモ
ジュールである。1つのキューエントリーからのタグレ
ジスタ82と、隣接するキューエントリーからのタグレ
ジスタ84が比較器86に接続される。比較器86にお
いて、入力された2つのタグの値が比較され、より小さ
い方のタグが選択される。選択されたタグに対応するキ
ューエントリーの宛先ビットが1にセットされる。もし
も、入力された2つのタグの値が同一である場合には、
比較器86はキューの先頭により近い方のタグを選択す
る。このような構成を取れば、キューに記憶されている
全てのエントリーから最小の値を持つタグを選択するの
に必要な時間は、キュー内に記憶されているエントリー
の数のロガリズムに比例する。例えば、キューのエント
リーが128個であった場合には、最小値を持つタグを
選択するのに要する時間は、図4に示すリニアサーチ回
路を用いた場合に要する時間の1/2以下となる。 例1.エントリーの数=8の時、log2 8=3 例2.エントリーの数=128の時、log2 128=
7
8個ある場合の比較器の配置を示す図である。モジュー
ル80は、二分木形式で2つの比較器から構成されるモ
ジュールである。1つのキューエントリーからのタグレ
ジスタ82と、隣接するキューエントリーからのタグレ
ジスタ84が比較器86に接続される。比較器86にお
いて、入力された2つのタグの値が比較され、より小さ
い方のタグが選択される。選択されたタグに対応するキ
ューエントリーの宛先ビットが1にセットされる。もし
も、入力された2つのタグの値が同一である場合には、
比較器86はキューの先頭により近い方のタグを選択す
る。このような構成を取れば、キューに記憶されている
全てのエントリーから最小の値を持つタグを選択するの
に必要な時間は、キュー内に記憶されているエントリー
の数のロガリズムに比例する。例えば、キューのエント
リーが128個であった場合には、最小値を持つタグを
選択するのに要する時間は、図4に示すリニアサーチ回
路を用いた場合に要する時間の1/2以下となる。 例1.エントリーの数=8の時、log2 8=3 例2.エントリーの数=128の時、log2 128=
7
【0091】比較器86の出力及び隣接する比較器88
の出力は、上位レベルの比較器90に入力される。比較
器90の出力は、同様に、比較器92に入力される。以
上のように、図8においては、比較器の配置が木構造を
なしている。
の出力は、上位レベルの比較器90に入力される。比較
器90の出力は、同様に、比較器92に入力される。以
上のように、図8においては、比較器の配置が木構造を
なしている。
【0092】各比較器からは、2つの出力ビットCがC
´(図中、バーCで示す)出力される。例えば、比較器
86から出力された出力ビット94は、論理積ゲート9
8に入力され、もう1つの出力ビット96は、もう1つ
の論理積ゲート100に入力され、最小値を持つタグの
選択に使用される。比較器からの出力ビットは、論理積
ゲート98と100で、それぞれ選択されたキューエン
トリーの対応する宛先ビットとAND演算される。その
結果、論理積ゲートからの出力ビットが1である場合に
は、以下の3点を示している。第1に、対応するキュー
エントリーの宛先ビットに1の値が入っているというこ
と。第2に、その比較器に入力された複数のタグからな
るサブツリーの中で、最小のタグ値であるということ。
第3に、同一の最小タグ値を持つエントリーが2つ以上
あった場合に、そのエントリーがそれらの中で最も早く
キューイングされていること、即ち、キューの先頭に近
いことを示している。このように、比較器と対応する論
理積ゲートを木構造で配置したことにより、該当する宛
先ビットに1がたっており、かつ、キューの中で最小の
タグ値を持つ最もキューの先頭に近いキューエントリー
を選択することができる。
´(図中、バーCで示す)出力される。例えば、比較器
86から出力された出力ビット94は、論理積ゲート9
8に入力され、もう1つの出力ビット96は、もう1つ
の論理積ゲート100に入力され、最小値を持つタグの
選択に使用される。比較器からの出力ビットは、論理積
ゲート98と100で、それぞれ選択されたキューエン
トリーの対応する宛先ビットとAND演算される。その
結果、論理積ゲートからの出力ビットが1である場合に
は、以下の3点を示している。第1に、対応するキュー
エントリーの宛先ビットに1の値が入っているというこ
と。第2に、その比較器に入力された複数のタグからな
るサブツリーの中で、最小のタグ値であるということ。
第3に、同一の最小タグ値を持つエントリーが2つ以上
あった場合に、そのエントリーがそれらの中で最も早く
キューイングされていること、即ち、キューの先頭に近
いことを示している。このように、比較器と対応する論
理積ゲートを木構造で配置したことにより、該当する宛
先ビットに1がたっており、かつ、キューの中で最小の
タグ値を持つ最もキューの先頭に近いキューエントリー
を選択することができる。
【0093】比較器の動作についてより詳しく説明す
る。木構造の葉にあたる比較器は、kビットからなる2
つのタグレジスタの値を入力し、一組のkビットからな
る出力を生成する。出力されたkビットには、2つの入
力の内、より小さい方の値が示されている。また、木構
造の葉にあたる比較器の2つの出力ビットCとC´の
内、出力ビットCに着目してみると、比較器への2つの
入力の内、キューの先頭側からの入力値が、キューの最
後尾側からの入力値よりもより小さい時、或いは、同一
の値である時のみ、1がたつことになる。出力ビットC
が1の時は、出力ビットC´は0となる。出力ビットC
が0の時、出力ビットC´は1となる。
る。木構造の葉にあたる比較器は、kビットからなる2
つのタグレジスタの値を入力し、一組のkビットからな
る出力を生成する。出力されたkビットには、2つの入
力の内、より小さい方の値が示されている。また、木構
造の葉にあたる比較器の2つの出力ビットCとC´の
内、出力ビットCに着目してみると、比較器への2つの
入力の内、キューの先頭側からの入力値が、キューの最
後尾側からの入力値よりもより小さい時、或いは、同一
の値である時のみ、1がたつことになる。出力ビットC
が1の時は、出力ビットC´は0となる。出力ビットC
が0の時、出力ビットC´は1となる。
【0094】各タグのタグ値は、宛先ビットの値を逆転
させた値でOR演算される。これは、処理対象となって
いないタグレジスタが小さい値を持っている場合に、現
在処理中の宛先に関するタグレジスタの比較結果に、悪
影響を及ぼすことを防ぐことを目的としている。宛先ビ
ットが0の場合は、逆転させた値が1となり、この1と
タグレジスタの各ビットのOR演算すると、全ビットが
1となり、最大のタグ値を示すことになる。このように
して、宛先ビットがのエントリーのタグ値を無視するこ
とができる。木構造のそれぞれのレベルにおいて、比較
器からの出力kビットは、図面では比較器の右側に示さ
れている。次の上位レベルの比較器の一方に入力され
る。比較器から出力されたC及びC´は、直前の下位レ
ベルで選択された出力ビットとAND演算される。ここ
でC´は、Cの値を逆転させた値を示す。その結果、検
索の結果を示す出力ビットが最上位レベルにおいて出力
される。最終的に1にセットされた出力ビットは、1つ
だけになる。即ち、最小値のタグを持つキューエントリ
ーに対応するビットであり、かつ、キューの先頭に最も
近いキューエントリーに対応するビットである。宛先ビ
ットが1つも一致しない場合には、出力ビットが1つも
セットされない。
させた値でOR演算される。これは、処理対象となって
いないタグレジスタが小さい値を持っている場合に、現
在処理中の宛先に関するタグレジスタの比較結果に、悪
影響を及ぼすことを防ぐことを目的としている。宛先ビ
ットが0の場合は、逆転させた値が1となり、この1と
タグレジスタの各ビットのOR演算すると、全ビットが
1となり、最大のタグ値を示すことになる。このように
して、宛先ビットがのエントリーのタグ値を無視するこ
とができる。木構造のそれぞれのレベルにおいて、比較
器からの出力kビットは、図面では比較器の右側に示さ
れている。次の上位レベルの比較器の一方に入力され
る。比較器から出力されたC及びC´は、直前の下位レ
ベルで選択された出力ビットとAND演算される。ここ
でC´は、Cの値を逆転させた値を示す。その結果、検
索の結果を示す出力ビットが最上位レベルにおいて出力
される。最終的に1にセットされた出力ビットは、1つ
だけになる。即ち、最小値のタグを持つキューエントリ
ーに対応するビットであり、かつ、キューの先頭に最も
近いキューエントリーに対応するビットである。宛先ビ
ットが1つも一致しない場合には、出力ビットが1つも
セットされない。
【0095】Nをキューエントリー総数とすると、この
二分木からなる比較器の最長パスは、k*log2 Nと
なる。前述したリニアサーチ回路と同様の考え方を用い
れば、16ビットのタグを有する128個のキューエン
トリーから結果を選択するまでにかかる合計時間は、
5.5×log2 128=5.5×7=38.5ナノセ
カンドとなる。この時間は、キューのデータ数が2倍に
なっても、僅か5.5ナノセカンド延長されるだけであ
る。例えば、256個のキューエントリーから結果を選
択するまでにかかる合計時間は、5.5×log2 25
6=5.5×8=44.0ナノセカンドとなる。
二分木からなる比較器の最長パスは、k*log2 Nと
なる。前述したリニアサーチ回路と同様の考え方を用い
れば、16ビットのタグを有する128個のキューエン
トリーから結果を選択するまでにかかる合計時間は、
5.5×log2 128=5.5×7=38.5ナノセ
カンドとなる。この時間は、キューのデータ数が2倍に
なっても、僅か5.5ナノセカンド延長されるだけであ
る。例えば、256個のキューエントリーから結果を選
択するまでにかかる合計時間は、5.5×log2 25
6=5.5×8=44.0ナノセカンドとなる。
【0096】図8に示した回路においては、N*log
2 N個の論理積ゲートが、最小値のタグを持った出力を
選択するのに必要であった。この数は、各比較器からの
出力C及びC´を次の下位層レベルにフィードバックす
ることで、2*N個まで減少させることが可能である。
図9は、2つの層からなる変形例を示す図である。図9
において、使用されている符号で図8と同一符号のもの
は相当部分である。今まで示してきた図の中では選択出
力が右向きであったのに対して、この図においては左向
きとなっている。この回路においては、図8に示した回
路よりもより多くの時間が必要となる。なぜならば、C
及びC´が選択出力に加えられなければならないからで
ある。この余分にかかる時間は、log2 N個の論理積
回路の時間である。そして、論理積ゲート98の出力
は、論理積ゲート102に接続され、論理積ゲート10
0の出力は、論理積ゲート104にそれぞれ接続され
る。これらの論理積ゲートには、図に示すように、宛先
ビット106及び108もまた入力される。
2 N個の論理積ゲートが、最小値のタグを持った出力を
選択するのに必要であった。この数は、各比較器からの
出力C及びC´を次の下位層レベルにフィードバックす
ることで、2*N個まで減少させることが可能である。
図9は、2つの層からなる変形例を示す図である。図9
において、使用されている符号で図8と同一符号のもの
は相当部分である。今まで示してきた図の中では選択出
力が右向きであったのに対して、この図においては左向
きとなっている。この回路においては、図8に示した回
路よりもより多くの時間が必要となる。なぜならば、C
及びC´が選択出力に加えられなければならないからで
ある。この余分にかかる時間は、log2 N個の論理積
回路の時間である。そして、論理積ゲート98の出力
は、論理積ゲート102に接続され、論理積ゲート10
0の出力は、論理積ゲート104にそれぞれ接続され
る。これらの論理積ゲートには、図に示すように、宛先
ビット106及び108もまた入力される。
【0097】上で述べた二分木検索方法は、スピードが
速く、また、リニアサーチ方式と同じ数の比較器を使用
するものである。次に、より処理速度が速い変形例につ
いて述べる。図10は、前述した2つの方式を組み合わ
せた構成図である。図において、キューは、L個のエン
トリーからなる複数のグループに分割されている。それ
ぞれのグループには、図4に示した形式のリニアサーチ
回路120が備えられている。これらのグループは、並
列に検索される。その結果、グループ毎にグループの中
で最小値のタグを持つエントリーを選択する。各グルー
プからの出力124は、追加のリニアサーチ回路126
に接続され、そこで全体の最小値のタグを持つグループ
が選択される。リニアサーチ回路126からの出力は、
ビットの集まりからなる。そのビットの集まりの中の1
ビットだけが、1の値を持っている。即ち、そのビット
は、全体の中で最小のタグを持つグループに対応してい
る。これらのビットの集まりは、次に論理積ゲート12
8の配列に接続される。この論理積ゲート128は、リ
ニアサーチ回路120に対応している。リニアサーチ回
路120の各出力ビットは、リニアサーチ回路126の
出力ビットとAND演算される。その結果、最終的に最
小値のタグを持ち、かつ、処理対象の宛先ビットに1が
たっているキューエントリーが選択される。
速く、また、リニアサーチ方式と同じ数の比較器を使用
するものである。次に、より処理速度が速い変形例につ
いて述べる。図10は、前述した2つの方式を組み合わ
せた構成図である。図において、キューは、L個のエン
トリーからなる複数のグループに分割されている。それ
ぞれのグループには、図4に示した形式のリニアサーチ
回路120が備えられている。これらのグループは、並
列に検索される。その結果、グループ毎にグループの中
で最小値のタグを持つエントリーを選択する。各グルー
プからの出力124は、追加のリニアサーチ回路126
に接続され、そこで全体の最小値のタグを持つグループ
が選択される。リニアサーチ回路126からの出力は、
ビットの集まりからなる。そのビットの集まりの中の1
ビットだけが、1の値を持っている。即ち、そのビット
は、全体の中で最小のタグを持つグループに対応してい
る。これらのビットの集まりは、次に論理積ゲート12
8の配列に接続される。この論理積ゲート128は、リ
ニアサーチ回路120に対応している。リニアサーチ回
路120の各出力ビットは、リニアサーチ回路126の
出力ビットとAND演算される。その結果、最終的に最
小値のタグを持ち、かつ、処理対象の宛先ビットに1が
たっているキューエントリーが選択される。
【0098】以下に、より詳細に説明する。この結合方
式においては、L個のエントリーからなるグループが並
列して比較され、並列してリニアサーチ方式で比較され
る。そして、その結果が上位層のレベルで更に比較され
る。従って、各グループ毎にそのグループ内の最小値の
タグを持つkビットの値を生成する。更に、L本の出力
ラインを生成する。木構造の中の末端でないグループの
出力ラインは、折り返され、次の下位層レベルのグルー
プの出力ラインとAND演算される。それ故、葉に当た
るグループの出力ラインは、そのタグがそのグループ内
でも最小であり、更に全ての上位層レベルのグループ中
で最小である場合のみ1がセットされる。
式においては、L個のエントリーからなるグループが並
列して比較され、並列してリニアサーチ方式で比較され
る。そして、その結果が上位層のレベルで更に比較され
る。従って、各グループ毎にそのグループ内の最小値の
タグを持つkビットの値を生成する。更に、L本の出力
ラインを生成する。木構造の中の末端でないグループの
出力ラインは、折り返され、次の下位層レベルのグルー
プの出力ラインとAND演算される。それ故、葉に当た
るグループの出力ラインは、そのタグがそのグループ内
でも最小であり、更に全ての上位層レベルのグループ中
で最小である場合のみ1がセットされる。
【0099】各グループの最長パスの長さは、k+Lで
ある。キューエントリー総数をNとすると、グループ数
は、N/Lとなり、logL N個の階層数が存在する。
この場合、回路全体が最終結果を算出するまでの時間
は、{1階層が結果を算出する時間+出力時間}×階層
数となり、(k+L+1)*logL Nに比例する。例
えば、16ビット(k=16)の比較器が5.5ナノセ
カンド必要とする場合、16個のエントリー(L=1
6)を持つ1つのグループは、およそkビットの走査比
較時間=5.5+5.5=2*5.5=11ナノセカン
ドを検索に要することになる。162 個=256個(N
=256,L=16,16グループ)のエントリーのキ
ューは、logL N=log16256=2となり、この
数字(11ナノセカンド)の倍だけの時間を必要とす
る。これは、約22ナノセカンドである。また、木構造
の中で用いられる比較器の総数は、2n である。Lの値
に関わらず、比較器の総数は、およそ2n となる。
ある。キューエントリー総数をNとすると、グループ数
は、N/Lとなり、logL N個の階層数が存在する。
この場合、回路全体が最終結果を算出するまでの時間
は、{1階層が結果を算出する時間+出力時間}×階層
数となり、(k+L+1)*logL Nに比例する。例
えば、16ビット(k=16)の比較器が5.5ナノセ
カンド必要とする場合、16個のエントリー(L=1
6)を持つ1つのグループは、およそkビットの走査比
較時間=5.5+5.5=2*5.5=11ナノセカン
ドを検索に要することになる。162 個=256個(N
=256,L=16,16グループ)のエントリーのキ
ューは、logL N=log16256=2となり、この
数字(11ナノセカンド)の倍だけの時間を必要とす
る。これは、約22ナノセカンドである。また、木構造
の中で用いられる比較器の総数は、2n である。Lの値
に関わらず、比較器の総数は、およそ2n となる。
【0100】より早い処理スピードを達成するために、
必要であれば、木構造をパイプライン化することも可能
である。だが、その場合には、回路もより複雑化すると
いう欠点も発生する。階層化された比較器の各階層レべ
ルは、パイプラインにおけるステージに相当する。第1
サイクルで第1の出力リンクに対応する一組の宛先ビッ
トが選択され、第1階層レベルの全ての比較器から第1
階層レベルの結果が形成される。形成された結果は、次
の第2階層レベルに出力される。そして、その次の第2
サイクルにおいて、第2の出力リンクに対応した新たな
一組の宛先ビットが第1階層レベルの比較器で選択され
る。一方、第2階層レベルの比較器では、第2サイクル
において、第1階層レベルの比較器からの出力、即ち、
直前のパイプラインステージからの出力が比較される。
logL N個のサイクルが経過した後、第1の出力リン
クに対応する選択出力ビットが結果として得られる。そ
れ以降のサイクルにおいては、1サイクル毎に各出力リ
ンクに対応する結果がその都度得られる。このようにし
て、1ATMセル時間よりも、はるかに短い時間で各宛
先の選択出力が得られる。
必要であれば、木構造をパイプライン化することも可能
である。だが、その場合には、回路もより複雑化すると
いう欠点も発生する。階層化された比較器の各階層レべ
ルは、パイプラインにおけるステージに相当する。第1
サイクルで第1の出力リンクに対応する一組の宛先ビッ
トが選択され、第1階層レベルの全ての比較器から第1
階層レベルの結果が形成される。形成された結果は、次
の第2階層レベルに出力される。そして、その次の第2
サイクルにおいて、第2の出力リンクに対応した新たな
一組の宛先ビットが第1階層レベルの比較器で選択され
る。一方、第2階層レベルの比較器では、第2サイクル
において、第1階層レベルの比較器からの出力、即ち、
直前のパイプラインステージからの出力が比較される。
logL N個のサイクルが経過した後、第1の出力リン
クに対応する選択出力ビットが結果として得られる。そ
れ以降のサイクルにおいては、1サイクル毎に各出力リ
ンクに対応する結果がその都度得られる。このようにし
て、1ATMセル時間よりも、はるかに短い時間で各宛
先の選択出力が得られる。
【0101】スケジューリングアルゴリズムをインプリ
メントするという観点から見ると、このキューイングシ
ステムにより提供されるタグベースの検索方法は、大変
柔軟性に富むものである。そして、スタティックなスケ
ジュール方法やダイナミックなスケジュール方法いずれ
にも幅広く対応して実現可能なものである。以下に具体
的に述べる。
メントするという観点から見ると、このキューイングシ
ステムにより提供されるタグベースの検索方法は、大変
柔軟性に富むものである。そして、スタティックなスケ
ジュール方法やダイナミックなスケジュール方法いずれ
にも幅広く対応して実現可能なものである。以下に具体
的に述べる。
【0102】単純優先度アルゴリズム及びレートモノト
ニックスケジューリングアルゴリズムにおいては、タグ
値はバーチャルチャネルにより静的に割り当てられる。
即ち、チャネルが設定されると、その優先度も決定され
る。そして、そのチャネルに到着するセルは全て同一の
タグ値を割り当てられる。より小さいタグは、優先度の
より高い優先度に対応しているので、スケジュールの際
に優遇される。タグベースの検索は、2k レベルの優先
度、或いは、レートリゾリューションをサポートする。
ニックスケジューリングアルゴリズムにおいては、タグ
値はバーチャルチャネルにより静的に割り当てられる。
即ち、チャネルが設定されると、その優先度も決定され
る。そして、そのチャネルに到着するセルは全て同一の
タグ値を割り当てられる。より小さいタグは、優先度の
より高い優先度に対応しているので、スケジュールの際
に優遇される。タグベースの検索は、2k レベルの優先
度、或いは、レートリゾリューションをサポートする。
【0103】ほとんどのATMスイッチは、いくつかの
種類の優先度スケジューリングをサポートしている。だ
が、サポートされる優先度レベルの数は、非常に小さ
い。具体的には、およそ2レベルか4レベル位である。
今日では、同一のネットワーク環境において、多種多様
なタスクを柔軟にスケジューリングするために、かなり
多くの優先度レベルをサポートすることが必要であるこ
とが明らかになっている。特に、レートモノトニックア
ルゴリズムは、反復性のリアルタイムタスクをそのタス
クの反復の度数によって分類する。より高い度数を持つ
タスクは、より高い優先度を割り当てられる。多数の種
類のタスクをサポートするために充分なリゾリューショ
ンを持つことが望まれていた。
種類の優先度スケジューリングをサポートしている。だ
が、サポートされる優先度レベルの数は、非常に小さ
い。具体的には、およそ2レベルか4レベル位である。
今日では、同一のネットワーク環境において、多種多様
なタスクを柔軟にスケジューリングするために、かなり
多くの優先度レベルをサポートすることが必要であるこ
とが明らかになっている。特に、レートモノトニックア
ルゴリズムは、反復性のリアルタイムタスクをそのタス
クの反復の度数によって分類する。より高い度数を持つ
タスクは、より高い優先度を割り当てられる。多数の種
類のタスクをサポートするために充分なリゾリューショ
ンを持つことが望まれていた。
【0104】バーチャルクロックアルゴリズム及びウェ
イテッドフェアキューイングスケジューリングは、単純
なダイナミック・スケジューリング・アルゴリズムであ
る。セルがATMスイッチに到着すると、到着時間とバ
ーチャルチャネルの状態に基づいて、タグが計算され
る。同一のバーチャルチャネルの各セルは、異なるタグ
を付加される。セルがネットワークからどのようなサー
ビスを受けるかも、タグを計算する場合に用いられるア
ルゴリズム要素の1つである。
イテッドフェアキューイングスケジューリングは、単純
なダイナミック・スケジューリング・アルゴリズムであ
る。セルがATMスイッチに到着すると、到着時間とバ
ーチャルチャネルの状態に基づいて、タグが計算され
る。同一のバーチャルチャネルの各セルは、異なるタグ
を付加される。セルがネットワークからどのようなサー
ビスを受けるかも、タグを計算する場合に用いられるア
ルゴリズム要素の1つである。
【0105】最早デッドラインファーストスケジューリ
ングアルゴリズムは、全てのスケジューリングアルゴリ
ズムの中で、最も一般的なものである。一連のリアルタ
イムタスクがいかなる方法によりスケジュールされよう
とも、それらのタスクは、最早デッドラインファースト
アルゴリズムにより、スケジュールされることが可能で
あるということが証明されている。バーチャルクロック
アルゴリズムやウェイテッドフェアキューイングアルゴ
リズムのように、最早デッドラインファーストアルゴリ
ズムもダイナミック・スケジューリング・アルゴリズム
である。このアルゴリズムによれば、タグ値は、各セル
の到着時間及びバーチャルチャネルの状態に基づいて計
算される。その結果、タグは、デッドライン値を持つ。
ングアルゴリズムは、全てのスケジューリングアルゴリ
ズムの中で、最も一般的なものである。一連のリアルタ
イムタスクがいかなる方法によりスケジュールされよう
とも、それらのタスクは、最早デッドラインファースト
アルゴリズムにより、スケジュールされることが可能で
あるということが証明されている。バーチャルクロック
アルゴリズムやウェイテッドフェアキューイングアルゴ
リズムのように、最早デッドラインファーストアルゴリ
ズムもダイナミック・スケジューリング・アルゴリズム
である。このアルゴリズムによれば、タグ値は、各セル
の到着時間及びバーチャルチャネルの状態に基づいて計
算される。その結果、タグは、デッドライン値を持つ。
【0106】最後に、ラウンド・ロビン・アルゴリズム
は、ハードウェアで実現するよりも、ソフトウェアで実
現する方がより実現しやすいと考えられている典型的な
アルゴリズムである。このアルゴリズムを、この発明の
タグベースの検索で実現することが可能である。それ
は、そのアルゴリズムを他のダイナミック・スケジュー
リング・アルゴリズムと同様に取り扱うことにより可能
となる。そうすることによって、全てのバーチャルチャ
ネルに対して、1つのグローバルカウンタRが保持され
る。グローバルカウンタRの値は、処理されたラウンド
を記憶する。また、各バーチャルチャネルv毎に、その
バーチャルチャネルの最新の受信セルのラウンド番号を
示す値rv が保持される。新しいセルを受信すると、タ
グは以下のように設定される。 tagcell=new_rv =max{R,old−rv }+1
は、ハードウェアで実現するよりも、ソフトウェアで実
現する方がより実現しやすいと考えられている典型的な
アルゴリズムである。このアルゴリズムを、この発明の
タグベースの検索で実現することが可能である。それ
は、そのアルゴリズムを他のダイナミック・スケジュー
リング・アルゴリズムと同様に取り扱うことにより可能
となる。そうすることによって、全てのバーチャルチャ
ネルに対して、1つのグローバルカウンタRが保持され
る。グローバルカウンタRの値は、処理されたラウンド
を記憶する。また、各バーチャルチャネルv毎に、その
バーチャルチャネルの最新の受信セルのラウンド番号を
示す値rv が保持される。新しいセルを受信すると、タ
グは以下のように設定される。 tagcell=new_rv =max{R,old−rv }+1
【0107】次に、セルは、このタグを付加されてキュ
ーに挿入される。セルをディスパッチ(発送)する時間
になると、最小値のタグが選択される。ラウンド・ロビ
ン・チャネルの選択されたセルのタグがグローバルカウ
ンタRの値よりもより大きい場合、グローバルカウンタ
Rの値は、タグの値で書き換えられ更新される。
ーに挿入される。セルをディスパッチ(発送)する時間
になると、最小値のタグが選択される。ラウンド・ロビ
ン・チャネルの選択されたセルのタグがグローバルカウ
ンタRの値よりもより大きい場合、グローバルカウンタ
Rの値は、タグの値で書き換えられ更新される。
【0108】全てのダイナミック・スケジューリング・
アルゴリズムにおいて、タグは任意の実時間時計により
増加する要素であり、時としてタグ値の計算結果がk−
1ビットを超えることがある。その場合、キューの全て
のエントリーのタグ値は、kが充分な桁数を持っていれ
ば、タグレジスタの最上位ビット(k番目)が1とな
る。それ以上のオーバフローを防ぐためには、単にこれ
らのビットの全てをリセットしてゼロにし、処理を続け
ればよい。これは、ロジカルクロック又はバーチャルク
ロックの時間を2k-1 ユニット毎に、2k-1 の値だけ進
めることに等しい。より詳しく述べると、キューに残っ
ている全てのエントリーのタグ値が2k-1を超え、新し
いタグの値もまた2k-1 よりも大きい時、全てのキュー
エントリーのタグレジスタの最上位ビットをリセットす
ることは、キューエントリーの順番を替えずに、キュー
にその時点で存在するタグ値及び以降キューに入ってく
るタグ値を2k-1 減少させる効果がある。
アルゴリズムにおいて、タグは任意の実時間時計により
増加する要素であり、時としてタグ値の計算結果がk−
1ビットを超えることがある。その場合、キューの全て
のエントリーのタグ値は、kが充分な桁数を持っていれ
ば、タグレジスタの最上位ビット(k番目)が1とな
る。それ以上のオーバフローを防ぐためには、単にこれ
らのビットの全てをリセットしてゼロにし、処理を続け
ればよい。これは、ロジカルクロック又はバーチャルク
ロックの時間を2k-1 ユニット毎に、2k-1 の値だけ進
めることに等しい。より詳しく述べると、キューに残っ
ている全てのエントリーのタグ値が2k-1を超え、新し
いタグの値もまた2k-1 よりも大きい時、全てのキュー
エントリーのタグレジスタの最上位ビットをリセットす
ることは、キューエントリーの順番を替えずに、キュー
にその時点で存在するタグ値及び以降キューに入ってく
るタグ値を2k-1 減少させる効果がある。
【0109】実際のネットワークにおいては、トラヒッ
クが何らかのパラメータにより保証された配信を要求し
た場合には、リアルタイムスケジューリングアルゴリズ
ムを使い、保証された配信を要求しないトラヒックにつ
いては、他の公平、かつ、最適と思われるスケジューリ
ングアルゴリズムを使うことが必要である。これは、タ
グの最上位ビットを使うことで、サポート可能である。
例えば、あるスイッチのバーチャルチャネルがC個のク
ラスに分割されているとする。また、各クラスは隣のク
ラスの優先度よりも、より高い優先度であるとする。こ
の時、クラスはタグの上位log2 Cビットにエンコー
ドされる。最も優先度の高いクラスは、最小の値を持
つ。その結果、この発明のタグベース検索システムは、
常に最も高い優先度のクラスから、最小値のタグを持つ
キューエントリーを選択する。
クが何らかのパラメータにより保証された配信を要求し
た場合には、リアルタイムスケジューリングアルゴリズ
ムを使い、保証された配信を要求しないトラヒックにつ
いては、他の公平、かつ、最適と思われるスケジューリ
ングアルゴリズムを使うことが必要である。これは、タ
グの最上位ビットを使うことで、サポート可能である。
例えば、あるスイッチのバーチャルチャネルがC個のク
ラスに分割されているとする。また、各クラスは隣のク
ラスの優先度よりも、より高い優先度であるとする。こ
の時、クラスはタグの上位log2 Cビットにエンコー
ドされる。最も優先度の高いクラスは、最小の値を持
つ。その結果、この発明のタグベース検索システムは、
常に最も高い優先度のクラスから、最小値のタグを持つ
キューエントリーを選択する。
【0110】以上のように、この発明のディジタル通信
ネットワーク用スイッチは、汎用のキューイングシステ
ムを利用する。このシステムは、該当するエントリーで
最小のタグを持つエントリーをキューから検索するとい
う考えに基づいている。このようなシステムでは、リア
ルタイムの保証を要求するアプリケーションや、オーデ
ィオデータ、ビデオデータのような連続性のあるメディ
アや、迅速な応答を要求するアプリケーションをサポー
トする幅広いクラスのスケジューリングアルゴリズムを
実現することが可能である。更に、1つのスイッチで同
時に多数のスケジューリングアルゴリズムを実現でき
る。それにより、様々な基準に従って、様々なクラスの
トラヒックをサポートできる。この発明は、プログラム
により実現してもよい。つまり、各入出力ポートに処理
速度の速いプログラム可能なマイクロプロセッサをそれ
ぞれ備え、このマイクロプロセッサ上で実行されるソフ
トウェアで、ATMセルに割り当てられたタグの計算方
法を実現してもよい。このシステムは、ATMネットワ
ークで種々のリサーチ及びプロトタイプ環境を柔軟に実
現する新しいレベルを築き上げる。また、システムをイ
ンプリメントする開発者をネットワークサービスに関す
る負荷から解放し、システムをインプリメントする開発
者をアプリケーションの仕様実現に集中させることがで
きるというメリットも得られる。
ネットワーク用スイッチは、汎用のキューイングシステ
ムを利用する。このシステムは、該当するエントリーで
最小のタグを持つエントリーをキューから検索するとい
う考えに基づいている。このようなシステムでは、リア
ルタイムの保証を要求するアプリケーションや、オーデ
ィオデータ、ビデオデータのような連続性のあるメディ
アや、迅速な応答を要求するアプリケーションをサポー
トする幅広いクラスのスケジューリングアルゴリズムを
実現することが可能である。更に、1つのスイッチで同
時に多数のスケジューリングアルゴリズムを実現でき
る。それにより、様々な基準に従って、様々なクラスの
トラヒックをサポートできる。この発明は、プログラム
により実現してもよい。つまり、各入出力ポートに処理
速度の速いプログラム可能なマイクロプロセッサをそれ
ぞれ備え、このマイクロプロセッサ上で実行されるソフ
トウェアで、ATMセルに割り当てられたタグの計算方
法を実現してもよい。このシステムは、ATMネットワ
ークで種々のリサーチ及びプロトタイプ環境を柔軟に実
現する新しいレベルを築き上げる。また、システムをイ
ンプリメントする開発者をネットワークサービスに関す
る負荷から解放し、システムをインプリメントする開発
者をアプリケーションの仕様実現に集中させることがで
きるというメリットも得られる。
【0111】以上のように、この実施例においては、F
IFOアルゴリズム及びシンプルな優先度付け方式を含
む幅広いクラスのセル・スケジューリング・アルゴリズ
ムを実現するために、タグベースの検索を行うATMネ
ットワークについて説明した。このスイッチングシステ
ムにおいては、各セルはネットワークスイッチに到着す
ると、バイナリーの数値を持つタグを付加される。各セ
ルのタグは、そのセルが伝送されるバーチャルチャネ
ル、そのバーチャルチャネルのトラヒックのクラスのス
ケジューリングアルゴリズム、そのセル自身の特性等に
関連する情報を持っている。そして、セル、タグ及び宛
先情報が、伝送待ちのセルキューの末尾に入力される。
この実施例においては、キューは、VLSI回路で構成
されている。
IFOアルゴリズム及びシンプルな優先度付け方式を含
む幅広いクラスのセル・スケジューリング・アルゴリズ
ムを実現するために、タグベースの検索を行うATMネ
ットワークについて説明した。このスイッチングシステ
ムにおいては、各セルはネットワークスイッチに到着す
ると、バイナリーの数値を持つタグを付加される。各セ
ルのタグは、そのセルが伝送されるバーチャルチャネ
ル、そのバーチャルチャネルのトラヒックのクラスのス
ケジューリングアルゴリズム、そのセル自身の特性等に
関連する情報を持っている。そして、セル、タグ及び宛
先情報が、伝送待ちのセルキューの末尾に入力される。
この実施例においては、キューは、VLSI回路で構成
されている。
【0112】スイッチが、特定の宛先にセルを伝送しよ
うとする時、キューに記憶されているすべてのセルを対
象に並列に検索が行われ、その宛先に一致する最小のタ
グ値を持つセルが選択される。選択されたセルは、キュ
ーから消去される。伝送され、キューの中に同一のタグ
を持つ複数のセルが存在する場合には、もっとも早くキ
ューに到着したセルが選択される。キュー検索部は、最
小のタグだけでなくセルが伝送される出力ポートも識別
する。以上のように、スイッチキューに記憶された各セ
ルには、バイナリーの数値を持つタグが付加される。そ
れにより、キューは、ある特定の宛先を持つセルの中
で、最小値のタグを持つセルを速やかに検索することが
可能になる。この構成を取れば、様々な特徴を持つネッ
トワークのトラヒックをサポートするほとんど全ての公
表されているスケジューリングアルゴリズムを実現でき
る。また、シビアなリアルタイムの要求にも応えられ、
連続性のあるメディアの伝送も可能で、迅速なレスポン
スも実現できる。更に、この構成を取れば、独自のスケ
ジューリング方式とアルゴリズムを持つ複数のトラヒッ
クのクラスを、1つのネットワーク内でサポートでき
る。
うとする時、キューに記憶されているすべてのセルを対
象に並列に検索が行われ、その宛先に一致する最小のタ
グ値を持つセルが選択される。選択されたセルは、キュ
ーから消去される。伝送され、キューの中に同一のタグ
を持つ複数のセルが存在する場合には、もっとも早くキ
ューに到着したセルが選択される。キュー検索部は、最
小のタグだけでなくセルが伝送される出力ポートも識別
する。以上のように、スイッチキューに記憶された各セ
ルには、バイナリーの数値を持つタグが付加される。そ
れにより、キューは、ある特定の宛先を持つセルの中
で、最小値のタグを持つセルを速やかに検索することが
可能になる。この構成を取れば、様々な特徴を持つネッ
トワークのトラヒックをサポートするほとんど全ての公
表されているスケジューリングアルゴリズムを実現でき
る。また、シビアなリアルタイムの要求にも応えられ、
連続性のあるメディアの伝送も可能で、迅速なレスポン
スも実現できる。更に、この構成を取れば、独自のスケ
ジューリング方式とアルゴリズムを持つ複数のトラヒッ
クのクラスを、1つのネットワーク内でサポートでき
る。
【0113】
【発明の効果】以上のように、この発明によれば、柔軟
性に富んだスケジューリングを行うことができる。ま
た、いろいろな種類のスケジューリングアルゴリズムを
採用することができる。
性に富んだスケジューリングを行うことができる。ま
た、いろいろな種類のスケジューリングアルゴリズムを
採用することができる。
【0114】また、この発明によれば、宛先ビットのベ
クトルは、除去された形でセルが出力されるので、スイ
ッチングシステム内部で用いた宛先ビットのベクトルが
外部に出力されることはなく、スイッチングシステムの
インタフェースは、従来のスイッチングシステムと同様
であり、従来のシステムと互換性のあるシステムを提供
することができる。
クトルは、除去された形でセルが出力されるので、スイ
ッチングシステム内部で用いた宛先ビットのベクトルが
外部に出力されることはなく、スイッチングシステムの
インタフェースは、従来のスイッチングシステムと同様
であり、従来のシステムと互換性のあるシステムを提供
することができる。
【0115】また、この発明によれば、各種スケジュー
リングアルゴリズムを採用することができ、ユーザの要
求に応じた、或いは、各システムの要求に応じたスケジ
ューリングを行うことができる。
リングアルゴリズムを採用することができ、ユーザの要
求に応じた、或いは、各システムの要求に応じたスケジ
ューリングを行うことができる。
【0116】また、この発明によれば、タグという情報
を用いることにより優先度を持った処理を行うことがで
きる。
を用いることにより優先度を持った処理を行うことがで
きる。
【0117】また、この発明によれば、レジスタの内部
に宛先ビットとタグを保持しているので、レジスタを参
照することにより、スケジューリングを行うことができ
る。
に宛先ビットとタグを保持しているので、レジスタを参
照することにより、スケジューリングを行うことができ
る。
【0118】また、この発明によれば、サーチ手段がリ
ニアにタグをサーチしていくので、単純な方法により出
力すべきセルを検出することができる。
ニアにタグをサーチしていくので、単純な方法により出
力すべきセルを検出することができる。
【0119】また、この発明によれば、サーチ手段が階
層的木構造を用いてタグをサーチするので、高速にセル
を検出することができる。
層的木構造を用いてタグをサーチするので、高速にセル
を検出することができる。
【0120】また、この発明によれば、スケジュール手
段がタグ手段と共通のキューとサーチ手段を備えること
により、優先度付けを行ったスイッチング処理を行うこ
とができる。
段がタグ手段と共通のキューとサーチ手段を備えること
により、優先度付けを行ったスイッチング処理を行うこ
とができる。
【0121】また、この発明によれば、リニアサーチ手
段を備えているので、タグを順番に比べることにより、
優先度の高いセルを検出することができる。
段を備えているので、タグを順番に比べることにより、
優先度の高いセルを検出することができる。
【0122】また、この発明によれば、ロガリズミック
サーチ手段を備えているので、優先度の高いセルを高速
に検索することができる。
サーチ手段を備えているので、優先度の高いセルを高速
に検索することができる。
【0123】また、この発明によれば、リニアサーチと
ロガリズミックサーチを任意に結合することができるの
で、柔軟な検索を行える。
ロガリズミックサーチを任意に結合することができるの
で、柔軟な検索を行える。
【0124】また、この発明によれば、タグレジスタと
比較器を備えているので、タグの値を比較器により順番
に比較することにより、優先度の高いセルを出力するこ
とができる。
比較器を備えているので、タグの値を比較器により順番
に比較することにより、優先度の高いセルを出力するこ
とができる。
【0125】また、この発明によれば、比較器の出力の
中に最小のタグ値を示す特定ビットを設けているので、
この特定ビットを利用することにより、最小値を持つタ
グを検出することができる。
中に最小のタグ値を示す特定ビットを設けているので、
この特定ビットを利用することにより、最小値を持つタ
グを検出することができる。
【0126】また、この発明によれば、比較器は、各タ
グに対して追加の入力ビットを備えているので、この追
加の入力ビットにより、比較対象となるタグであるかど
うかを判定することができる。
グに対して追加の入力ビットを備えているので、この追
加の入力ビットにより、比較対象となるタグであるかど
うかを判定することができる。
【0127】また、この発明によれば、追加の入力ビッ
トを備えているので、この追加の入力ビットに宛先ビッ
トの情報を与えることにより、対応するタグが比較対象
となるタグであるかどうかを判定することができる。
トを備えているので、この追加の入力ビットに宛先ビッ
トの情報を与えることにより、対応するタグが比較対象
となるタグであるかどうかを判定することができる。
【0128】また、この発明によれば、最小のタグ値を
持つセルが2以上存在する場合でも、先着したセルを先
に出力する。従って、同一の優先度を持つセルが存在す
る場合には、セルの逆転現象は生じない。
持つセルが2以上存在する場合でも、先着したセルを先
に出力する。従って、同一の優先度を持つセルが存在す
る場合には、セルの逆転現象は生じない。
【0129】また、この発明によれば、階層的木構造を
用いてサーチするので、高速サーチを行うことができ
る。
用いてサーチするので、高速サーチを行うことができ
る。
【0130】また、この発明によれば、比較器からの比
較ビットと宛先ビットをANDゲートによりチェックし
ているので、最終的にただ1つのANDゲートが有意な
出力を有するように構成できる。このように、比較ビッ
トとANDゲートの採用により、簡単な回路により、優
先度を持ったスケジューリングを行える。
較ビットと宛先ビットをANDゲートによりチェックし
ているので、最終的にただ1つのANDゲートが有意な
出力を有するように構成できる。このように、比較ビッ
トとANDゲートの採用により、簡単な回路により、優
先度を持ったスケジューリングを行える。
【0131】また、この発明によれば、ANDゲートに
より宛先ビットの検査と最小のタグ値があるかどうかの
検査が行われるので、最終的に宛先ビットがオンであ
り、最小のタグ値を持つセルを検出することができる。
より宛先ビットの検査と最小のタグ値があるかどうかの
検査が行われるので、最終的に宛先ビットがオンであ
り、最小のタグ値を持つセルを検出することができる。
【0132】また、この発明によれば、2以上のセルが
最小のタグ値を有する場合に、先着のセルを選択するの
で、同じ優先度を持つセルの逆転が生じない。
最小のタグ値を有する場合に、先着のセルを選択するの
で、同じ優先度を持つセルの逆転が生じない。
【0133】また、この発明によれば、階層的木構造を
持ったサーチを行う場合に、キューの末尾よりもキュー
の先頭方向にあるものを優先して出力するので、先入
れ、先出し方式を保ちながら、優先度を持ったスケジュ
ーリングを行うことができる。
持ったサーチを行う場合に、キューの末尾よりもキュー
の先頭方向にあるものを優先して出力するので、先入
れ、先出し方式を保ちながら、優先度を持ったスケジュ
ーリングを行うことができる。
【0134】また、この発明によれば、ANDゲートの
数を減少させた回路を用いてスケジューリング処理を行
うことができる。
数を減少させた回路を用いてスケジューリング処理を行
うことができる。
【図1】 この発明のATMスイッチの論理的構造を示
すブロック図である。
すブロック図である。
【図2】 従来例のキュー検索システムを示すブロック
図である。
図である。
【図3】 図2に示す従来例の遅延優先度フィルタを備
えた宛先ビットと検索回路の詳細図である。
えた宛先ビットと検索回路の詳細図である。
【図4】 この発明の実施例の計算されたタグ値を選択
するリニアサーチ手段に4個のキューエントリーを描い
た概要図である。
するリニアサーチ手段に4個のキューエントリーを描い
た概要図である。
【図5】 この発明のリニアサーチ手段の詳細図であ
る。
る。
【図6】 この発明のリニアサーチ手段の一要素のブロ
ック図である。
ック図である。
【図7】 この発明の実施例の比較器の論理値の定義図
である。
である。
【図8】 この発明の実施例のロガリズミックサーチ手
段に8個のキューエントリーを描いた概要図である。
段に8個のキューエントリーを描いた概要図である。
【図9】 この発明の実施例のロガリズミックサーチ手
段の概要図である。
段の概要図である。
【図10】 この発明の実施例のリニアサーチ手段とロ
ガリズミックサーチ手段を結合させたブロック図であ
る。
ガリズミックサーチ手段を結合させたブロック図であ
る。
10 ATMスイッチ、14 入力リンク、16 入力
処理部、18 キュー検索部、20 セルバッファメモ
リ、22 制御部、24 出力処理部、35アドレスフ
ィールド、37 優先度ビット、41 宛先フィール
ド、42 宛先ビット、50a 比較回路、56 出力
ビット、72,82,84 タグレジスタ、74,8
6,88,90,92 比較器。
処理部、18 キュー検索部、20 セルバッファメモ
リ、22 制御部、24 出力処理部、35アドレスフ
ィールド、37 優先度ビット、41 宛先フィール
ド、42 宛先ビット、50a 比較回路、56 出力
ビット、72,82,84 タグレジスタ、74,8
6,88,90,92 比較器。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04Q 3/52 101 Z 9566−5G 9466−5K H04L 11/20 102 Z
Claims (22)
- 【請求項1】 複数の入力リンクと複数の出力リンクを
持ち、各入力リンクによりネットワーク内の1以上の宛
先を示す宛先情報を含むヘッダフィールドとデータとを
格納したセルを受信するスイッチと、 上記ヘッダフィールドの宛先情報を、各ビットが各出力
リンクに対応しておりそのビットが有意状態である時そ
のセルが最終宛先に到着するようにそのビットに対応す
る出力リンクに対してそのセルを出力することを示して
いる宛先ビットのベクトルに変換する変換手段と、 各セルに対して、上記宛先ビットのベクトルを付加する
ベクトル付加手段と、 上記ベクトルを付加されたセルを1つ以上の出力リンク
に接続する接続手段とを備え、 上記接続手段は、上記ベクトルを付加されたセルを到着
順に格納するキューイング手段と、キューイング手段に
格納されたセルの中から到着順とは異なる順に各出力リ
ンクに対して各出力リンクに対応する宛先ビットが有意
状態のセルを選択する選択手段とを備え、 上記選択手段は、セルの出力をスケジュールするスケジ
ュール手段を有し、上記スケジュール手段は、選択順を
決定するアルゴリズムを記憶する手段と、 スイッチの動作に先だってそのアルゴリズムを設定する
手段と、 スイッチの動作中にそのアルゴリズムを再設定する手段
と、 上記各出力リンクに対してセル送信時間内に上記アルゴ
リズムを実行する手段を有しており、 上記スイッチは、更に、上記出力リンクに選択したセル
を出力する出力手段を備えたことを特徴とするディジタ
ル通信ネットワーク用のスイッチングシステム。 - 【請求項2】 上記出力手段は、上記ベクトルが除去さ
れたセルを出力することを特徴とする請求項1記載のス
イッチングシステム。 - 【請求項3】 上記アルゴリズムは、ダイナミック・プ
ライオリティ・スケジューリング・アルゴリズムと、ス
タティック・プライオリティ・スケジューリング・アル
ゴリズムと、ラウンド・ロビン・アルゴリズムと、これ
らの組み合わせのいずれかから選択されることを特徴と
する請求項1記載のスイッチングシステム。 - 【請求項4】 上記スケジュール手段は、各出力リンク
にセルを出力する順番を決定するために設定されたスケ
ジューリングアルゴリズムに基づいて、キューイング手
段の中に格納されたセルの出力順序を示す値をタグ値と
して計算し、このタグ値を有するタグをセルに付加する
タグ付加手段を有し、上記選択手段は、タグ値と宛先ビ
ットの値に基づいて、キューイング手段の中に格納され
たセルをサーチするサーチ手段とを備え、選択手段は、
各出力リンクに対応する宛先ビットの値が有意状態であ
るセルの中で最も小さいタグ値を持つセルをサーチして
選択し、もし、最も小さいタグ値を持つセルが2以上存
在する場合に、先に到着したセルを選択することを特徴
とする請求項1記載のスイッチングシステム。 - 【請求項5】 上記キューイング手段は、先頭から末尾
に至る複数のレジスタからなるFIFO回路を備え、各
レジスタは、出力を待っているセルを示すものであり、
各レジスタは、上記宛先ビットのベクトルとタグ値のバ
イナリーコードを保持し、各レジスタは、先頭から末尾
の方向でセルの到着順を示していることを特徴とする請
求項4記載のスイッチングシステム。 - 【請求項6】 上記サーチ手段は、上記レジスタの数と
同じ数の複数の比較回路を備え、各比較回路は、各レジ
スタに対応して設けられ、各比較回路は、対応したレジ
スタのタグ値と末尾側にある次のレジスタに対応した比
較回路からの出力値を比較するようにリニアに配置さ
れ、各比較回路は、対応するレジスタのタグ値が末尾側
にある次に比較回路から出力されたタグ値より小さい場
合であって、かつ、選択した出力リンクに対する宛先ビ
ットが有意状態である場合に、出力ビットをオンにする
ことにより、上記比較回路は、選択した出力リンクに対
して最小のタグ値を伝搬させ、待ち行列の中からセルを
選択することを特徴とする請求項5記載のスイッチング
システム。 - 【請求項7】 上記サーチ手段は、上記レジスタの数の
半分に当たる複数の比較回路と追加の比較回路を備え、
上記比較回路を階層的に配置し、ルートと枝と葉を持つ
ツリーを構成し、葉と枝のサブセットによりサブツリー
を構成し、葉に配置された各比較回路は、2つの隣り合
うレジスタのタグ値を比較して小さいタグ値を有するレ
ジスタを識別し、上記追加の比較回路は、2つのサブツ
リーからのタグ値を比較し、選択した出力リンクに対し
て、最小のタグ値を持つレジスタが存在しているサブツ
リーを識別し、上記ツリーは、選択した出力リンクに対
して、最小のタグ値を伝搬することを特徴とする請求項
5記載のスイッチングシステム。 - 【請求項8】 複数の出力リンクと出力リンクを示すア
ドレスを含んだセルを受信する複数の入力リンクと、 上記アドレスを宛先ビットに変換する変換手段と、 上記入力リンクのセルを少なくとも1つの出力リンクに
接続する接続手段とを備え、 上記接続手段は、入力リンクから出力リンクへセルの出
力をスケジュールするスケジュール手段を備え、 スケジュール手段は、 各出力リンクにセルを出力する順番を決定するために、
予め設定されたスケジューリングアルゴリズムに基づい
て、どのセルを出力すべきかを示す値を生成し、生成し
た値をタグ値として有するタグをセルに付加するタグ手
段と、 共通キューと、 上記共通キューに、各セルに対して宛先ビットとタグ値
を挿入する手段と、 上記宛先ビットとタグ値に基づいて、上記共通キューか
ら、対応している宛先の中から最小のタグ値を持つセル
をサーチするサーチ手段と、 宛先に対応した出力リンクに対して最小のタグ値を持つ
セルを出力する出力手段とを備えたことを特徴とするデ
ィジタル通信ネットワーク用のスイッチングシステム。 - 【請求項9】 上記サーチ手段は、最小のタグ値をシリ
アルに評価していくリニアサーチ手段を有していること
を特徴とする請求項8記載のスイッチングシステム。 - 【請求項10】 上記サーチ手段は、木構造を用いて同
時に複数対のセルを評価していくロガリズミックサーチ
手段を有していることを特徴とする請求項8記載のスイ
ッチングシステム。 - 【請求項11】 上記サーチ手段は、リニアサーチ手段
とロガリズミックサーチ手段を結合したサーチ手段を有
していることを特徴とする請求項8記載のスイッチング
システム。 - 【請求項12】 上記タグ手段は、 先頭から末尾までのキューを形成するように配置された
一連のタグレジスタと、 複数の比較器と、 上記タグレジスタと比較器を接続する接続手段と、 上記セルを対応するタグレジスタにより識別できるよう
に記憶する記憶手段と、 記憶されたセルのタグ値をタグレジスタに設定する設定
手段とを備え、 上記比較器は、タグレジスタのタグ値と1つ前の比較器
からの出力値を比較して小さい方の値を決定するととも
に、 小さい方の値と宛先ビットを出力する出力手段と、 小さい方の値と宛先ビットに基づいて、記憶されたセル
を識別する識別手段とを備えたことを特徴とする請求項
8記載のスイッチングシステム。 - 【請求項13】 上記比較器は、一連のビットから構成
された出力を持ち、この一連のビットの中に、宛先ビッ
トが有意状態であり、同じ宛先ビットが有意状態である
キュー中の他のセルのタグ値よりも小さいタグ値を持つ
ことを示す特定ビットを有しており、 各比較器は、各タグ値とキューの末尾方向にあるタグの
最小値とを比較することにより、宛先別に各セルのプラ
イオリティを設定することを特徴とする請求項12記載
のスイッチングシステム。 - 【請求項14】 上記比較器は、2つのタグ値を比較す
る手段と、小さい方の値を出力する手段とを有し、1つ
のタグ値に対して1つの追加の入力ビットを備え、上記
比較器の出力は、比較対象となるタグ値を示す追加の入
力ビットにより条件付けられていることを特徴とする請
求項12記載のスイッチングシステム。 - 【請求項15】 上記追加の入力ビットは、宛先ビット
が有意状態になっているセルのタグ値を特定するもので
あることを特徴とする請求項14記載のスイッチングシ
ステム。 - 【請求項16】 上記スイッチングシステムは、更に、
最小のタグ値を持つセルが2以上存在する場合に、キュ
ーの先頭に近いセルを選択する手段を備えたことを特徴
とする請求項12記載のスイッチングシステム。 - 【請求項17】 上記タグ手段は、枝を経由してルート
に連結された葉を持った階層的木構造を有し、各枝は、
一対のタグレジスタと隣り合うタグレジスタの間に設け
られたタグレジスタ用比較器と、2つのタグレジスタ用
比較器からの出力を入力する追加の比較器を有してお
り、上記追加の比較器は、宛先ビットが有意状態になっ
ており、小さい方のタグ値を持つタグレジスタに対応す
るセルを識別する手段を有していることを特徴とする請
求項8記載のスイッチングシステム。 - 【請求項18】 上記タグレジスタ用比較器は、小さい
方のタグ値と2つの比較ビットを出力し、2つの比較ビ
ットの内、一方の比較ビットは一方のセルが小さい方の
タグ値を持っていることを示し、2つの比較ビットの
内、他方の比較ビットは他方のセルが小さい方のタグ値
を持っていることを示すものであり、上記選択手段は、
小さい方のタグ値を持っているセルを識別するために、
宛先ビットと比較ビットを入力する複数のANDゲート
を有し、複数のANDゲートは、ルートにおいてただ1
つのANDゲートが有意な出力を有するように構成され
ており、このANDゲートの有意な出力により出力リン
クに出力されるセルを示すことを特徴とする請求項17
記載のスイッチングシステム。 - 【請求項19】 上記ANDゲートは、そのANDゲー
トに対応したセルが適切な宛先ビットを有しているかを
判定するために用いられるものであり、上記タグレジス
タ用比較器は、異なるANDゲートへ接続された出力ビ
ットを有し、このタグレジスタ用比較器からの出力ビッ
トは、対応するセルの宛先ビットとANDを取られ、そ
の結果の出力が有意状態である場合は、対応するセルが
宛先ビットが有意状態であり、最小のタグ値を持つセル
であることを示すことを特徴とする請求項18記載のス
イッチングシステム。 - 【請求項20】 上記スイッチングシステムは、更に、
2以上のセルが最小のタグ値を有する場合、先着のセル
を識別する手段を有することを特徴とする請求項19記
載のスイッチングシステム。 - 【請求項21】 上記タグレジスタ用比較器は、先頭と
末尾を持つキューを定義し、上記追加の比較器は、2入
力から小さい値を出力するとともに、キューの先頭方向
にある2入力の値がキューの末尾方向にある2入力の値
以下である場合に、有意状態を出力することを特徴とす
る請求項17記載のスイッチングシステム。 - 【請求項22】 上記スイッチングシステムは、更に、
上記木構造のルート方向への上位層レベルにおいて、下
位層レベルのどの枝が小さい方のタグ値を有しているか
決定することにより小さい方のタグ値を有する枝を識別
する識別手段を有し、上記識別手段は、各タグに対応し
てそのタグの宛先ビットとそのタグが最小のタグ値を有
することを示すビットとのANDを取るためのANDゲ
ートを有していることを特徴とする請求項17記載のス
イッチングシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/234,385 US5455825A (en) | 1994-04-28 | 1994-04-28 | Tag-based scheduling system for digital communication switch |
| US08/234385 | 1994-04-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0856230A true JPH0856230A (ja) | 1996-02-27 |
Family
ID=22881169
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10390895A Pending JPH0856230A (ja) | 1994-04-28 | 1995-04-27 | スイッチングシステム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5455825A (ja) |
| JP (1) | JPH0856230A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004242334A (ja) * | 2003-02-07 | 2004-08-26 | Fujitsu Ltd | 高速交換環境でマルチキャストするシステム、方法及び論理 |
| US6810038B1 (en) | 1999-04-02 | 2004-10-26 | Nec Corporation | Switch, scheduler thereof, and switch scheduling method |
| US6882655B1 (en) | 1999-05-13 | 2005-04-19 | Nec Corporation | Switch and input port thereof |
| US7336648B1 (en) | 2000-01-11 | 2008-02-26 | Fujitsu Limited | Label switching system |
| JP2010035245A (ja) * | 2003-02-07 | 2010-02-12 | Fujitsu Ltd | 高速交換環境でマルチキャスティングするシステム、方法及び論理 |
| JP2017525079A (ja) * | 2014-06-13 | 2017-08-31 | ブル・エス・アー・エス | リスト内でのアイテム一致の検索 |
Families Citing this family (76)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0690596B1 (en) * | 1994-06-28 | 2002-05-15 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for scheduling the transmission of cells of guaranteed-bandwidth virtual channels |
| DE69434329T2 (de) * | 1994-08-31 | 2006-03-09 | Hewlett-Packard Development Co., L.P., Houston | Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle |
| US5638538A (en) * | 1995-01-13 | 1997-06-10 | Digital Equipment Corporation | Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus |
| US5570360A (en) * | 1995-03-20 | 1996-10-29 | Stratacom, Inc. | Method and apparatus for implementing communication service contract using cell arrival information |
| JP3133234B2 (ja) * | 1995-07-13 | 2001-02-05 | 株式会社東芝 | Atmスイッチのアドレス生成回路 |
| JP3103298B2 (ja) * | 1995-07-17 | 2000-10-30 | 株式会社東芝 | Atmスイッチのアドレス生成回路 |
| WO1997004542A2 (en) * | 1995-07-19 | 1997-02-06 | Fujitsu Network Communications, Inc | Multipoint-to-point arbitration in a network switch |
| US5909427A (en) | 1995-07-19 | 1999-06-01 | Fujitsu Network Communications, Inc. | Redundant switch system and method of operation |
| US5898671A (en) | 1995-09-14 | 1999-04-27 | Fujitsu Network Communications, Inc. | Transmitter controlled flow control for buffer allocation in wide area ATM networks |
| JP2737726B2 (ja) * | 1995-11-20 | 1998-04-08 | 日本電気株式会社 | バッファ制御装置 |
| US5802448A (en) * | 1995-12-14 | 1998-09-01 | Time Warner Entertainment Co., L.P. | Method and apparatus for processing requests for interactive applications based on system resources |
| US5822676A (en) * | 1995-12-14 | 1998-10-13 | Time Warner Entertainment Co. L.P. | Digital serialization of program events |
| US5805154A (en) * | 1995-12-14 | 1998-09-08 | Time Warner Entertainment Co. L.P. | Integrated broadcast application with broadcast portion having option display for access to on demand portion |
| US5995134A (en) * | 1995-12-14 | 1999-11-30 | Time Warner Cable | Method and apparatus for enticing a passive television viewer by automatically playing promotional presentations of selectable options in response to the viewer's inactivity |
| US5818840A (en) * | 1995-12-14 | 1998-10-06 | Time Warner Entertainment Co. L.P. | Asymmetric ATM switch |
| US5819036A (en) * | 1995-12-14 | 1998-10-06 | Time Warner Cable | Method for message addressing in a full service network |
| US5671217A (en) * | 1995-12-14 | 1997-09-23 | Time Warner Entertainment Co. L.P. | Scalable communications network employing shared logical nodes |
| US6340987B1 (en) | 1995-12-14 | 2002-01-22 | Time Warner Entertainment Company L.P. | Method and apparatus for masking latency in an interactive television network |
| US5822530A (en) * | 1995-12-14 | 1998-10-13 | Time Warner Entertainment Co. L.P. | Method and apparatus for processing requests for video on demand versions of interactive applications |
| US6044396A (en) * | 1995-12-14 | 2000-03-28 | Time Warner Cable, A Division Of Time Warner Entertainment Company, L.P. | Method and apparatus for utilizing the available bit rate in a constrained variable bit rate channel |
| US5771435A (en) * | 1995-12-14 | 1998-06-23 | Time Warner Entertainment Co. L.P. | Method and apparatus for processing requests for video presentations of interactive applications in which VOD functionality is provided during NVOD presentations |
| US5774458A (en) * | 1995-12-14 | 1998-06-30 | Time Warner Cable | Multiplex amplifiers for two-way communications in a full-service network |
| US5797010A (en) * | 1995-12-22 | 1998-08-18 | Time Warner Cable | Multiple run-time execution environment support in a set-top processor |
| GB2308959A (en) * | 1995-12-29 | 1997-07-09 | Ericsson Telefon Ab L M | Data switching apparatus with fair queuing |
| JP2000517488A (ja) | 1996-01-16 | 2000-12-26 | フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド | Atm網用の信頼性と柔軟性のあるマルチキャスト機構 |
| DE19617816B4 (de) * | 1996-05-03 | 2004-09-09 | Siemens Ag | Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte |
| US5732087A (en) * | 1996-05-10 | 1998-03-24 | Mitsubishi Electric Information Technology Center America, Inc. | ATM local area network switch with dual queues |
| DE19634492B4 (de) * | 1996-08-26 | 2004-10-14 | Siemens Ag | Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte |
| US5748905A (en) | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
| US5894481A (en) * | 1996-09-11 | 1999-04-13 | Mcdata Corporation | Fiber channel switch employing distributed queuing |
| US6188690B1 (en) * | 1996-12-12 | 2001-02-13 | Pmc-Sierra, Inc. | Method and apparatus for high speed, scalable communication system |
| US6098109A (en) * | 1996-12-30 | 2000-08-01 | Compaq Computer Corporation | Programmable arbitration system for determining priority of the ports of a network switch |
| US6487212B1 (en) * | 1997-02-14 | 2002-11-26 | Advanced Micro Devices, Inc. | Queuing structure and method for prioritization of frames in a network switch |
| EP0972379A4 (en) * | 1997-04-04 | 2000-07-05 | Ascend Communications Inc | EXTREMELY FAST PACKET PROGRAMMING METHOD AND DEVICE |
| US5996013A (en) * | 1997-04-30 | 1999-11-30 | International Business Machines Corporation | Method and apparatus for resource allocation with guarantees |
| US6088359A (en) * | 1997-07-11 | 2000-07-11 | Telefonaktiebolaget Lm Ericsson | ABR server |
| US5963553A (en) * | 1997-07-11 | 1999-10-05 | Telefonaktiebolaget Lm Ericsson | Handling ATM multicast cells |
| US6034958A (en) * | 1997-07-11 | 2000-03-07 | Telefonaktiebolaget Lm Ericsson | VP/VC lookup function |
| US6154459A (en) * | 1997-07-11 | 2000-11-28 | Telefonaktiebolaget Lm Ericsson | Data shaper for ATM traffic |
| US6185209B1 (en) | 1997-07-11 | 2001-02-06 | Telefonaktiebolaget Lm Ericsson | VC merging for ATM switch |
| US6208661B1 (en) | 1998-01-07 | 2001-03-27 | International Business Machines Corporation | Variable resolution scheduler for virtual channel communication devices |
| JP3077677B2 (ja) * | 1998-07-14 | 2000-08-14 | 日本電気株式会社 | 品質保証ノード装置 |
| WO2000010281A2 (en) * | 1998-08-17 | 2000-02-24 | Vitesse Semiconductor Corporation | Network traffic manager |
| US6735190B1 (en) | 1998-10-21 | 2004-05-11 | Lucent Technologies Inc. | Packet transport method device utilizing header removal fields |
| US6408001B1 (en) | 1998-10-21 | 2002-06-18 | Lucent Technologies Inc. | Method for determining label assignments for a router |
| US6728210B1 (en) | 1998-12-21 | 2004-04-27 | Nec America, Inc. | Multi-logical access for a serial data link |
| US6625160B1 (en) * | 1999-07-02 | 2003-09-23 | Cisco Technology, Inc. | Minimum bandwidth guarantee for cross-point buffer switch |
| DE19941851C2 (de) * | 1999-09-02 | 2003-04-10 | Infineon Technologies Ag | Zellkonfliktauflösungseinheit für eine Einrichtung zur Vermittlung einer Mehrzahl von paket-orientierten Signalen |
| US6891834B1 (en) * | 1999-09-09 | 2005-05-10 | Avici Systems | Apparatus and method for packet scheduling |
| US6717951B2 (en) * | 1999-12-29 | 2004-04-06 | Intel Corporation | Method and apparatus for determining priority of network packets |
| US6931424B1 (en) * | 2000-03-21 | 2005-08-16 | Alantro Communications, Inc. | Storage efficient minimization logic |
| US6775271B1 (en) * | 2000-05-17 | 2004-08-10 | Intel Corporation | Switching system and method for communicating information at a customer premises |
| US7266123B1 (en) * | 2000-05-17 | 2007-09-04 | Intel Corporation | System and method for prioritizing and communicating subscriber voice and data information |
| US7140022B2 (en) * | 2000-06-02 | 2006-11-21 | Honeywell International Inc. | Method and apparatus for slack stealing with dynamic threads |
| US6968392B1 (en) * | 2000-06-29 | 2005-11-22 | Cisco Technology, Inc. | Method and apparatus providing improved statistics collection for high bandwidth interfaces supporting multiple connections |
| KR100382144B1 (ko) * | 2000-07-31 | 2003-05-01 | 주식회사 케이티 | 입출력버퍼형 스위치의 셀 시지연 보상방법 |
| US6836475B2 (en) * | 2000-12-01 | 2004-12-28 | Nokia Corporation | Method and apparatus for traffic shaping for IP router queues/egress |
| US20020110094A1 (en) * | 2001-02-13 | 2002-08-15 | Reddy Naveen S. | Spot beam hopping packet scheduler system |
| WO2002065709A1 (en) * | 2001-02-14 | 2002-08-22 | Kawasaki Microelectronics, Inc. | Network switching device |
| US7382727B2 (en) * | 2001-02-21 | 2008-06-03 | Cisco Technology, Inc. | System and method for asymmetrical bandwidth management |
| US7072300B1 (en) * | 2001-03-23 | 2006-07-04 | Advanced Micro Devices, Inc. | Action tag generation within a network based on priority or differential services information |
| US6901052B2 (en) | 2001-05-04 | 2005-05-31 | Slt Logic Llc | System and method for policing multiple data flows and multi-protocol data flows |
| US7042848B2 (en) * | 2001-05-04 | 2006-05-09 | Slt Logic Llc | System and method for hierarchical policing of flows and subflows of a data stream |
| US6904057B2 (en) * | 2001-05-04 | 2005-06-07 | Slt Logic Llc | Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification |
| US7151744B2 (en) * | 2001-09-21 | 2006-12-19 | Slt Logic Llc | Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover |
| US7099275B2 (en) * | 2001-09-21 | 2006-08-29 | Slt Logic Llc | Programmable multi-service queue scheduler |
| US7301906B2 (en) | 2001-12-17 | 2007-11-27 | Lsi Corporation | Methods and structures for improved buffer management and dynamic adaption of flow control status in high-speed communication networks |
| US20040160971A1 (en) * | 2002-11-27 | 2004-08-19 | Edward Krause | Apparatus and method for dynamic channel mapping and optimized scheduling of data packets |
| JP2005198204A (ja) * | 2004-01-09 | 2005-07-21 | Pioneer Electronic Corp | 情報配信表示システムおよび情報配信表示方法 |
| US20060245358A1 (en) * | 2005-04-29 | 2006-11-02 | Beverly Harlan T | Acceleration of data packet transmission |
| US8170041B1 (en) * | 2005-09-14 | 2012-05-01 | Sandia Corporation | Message passing with parallel queue traversal |
| EP1953959A1 (en) * | 2007-02-01 | 2008-08-06 | British Telecommunications Public Limited Company | Data communication |
| US8165033B1 (en) | 2007-08-30 | 2012-04-24 | Altera Corporation | Method and apparatus for performing generalized processor sharing scheduling |
| DE102011009518B4 (de) * | 2011-01-26 | 2013-09-12 | Ruprecht-Karls-Universität Heidelberg | Schaltungsanordnung für Verbindungsschnittstelle |
| CN109426650B (zh) * | 2017-08-28 | 2023-07-18 | 华为技术有限公司 | 处理器和处理标签的方法 |
| US10776185B2 (en) | 2018-12-10 | 2020-09-15 | International Business Machines Corporation | Messaging software management for network devices supporting hardware tag matching |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03201641A (ja) * | 1989-12-27 | 1991-09-03 | Toshiba Corp | 通信パケットの優先制御方式 |
-
1994
- 1994-04-28 US US08/234,385 patent/US5455825A/en not_active Expired - Lifetime
-
1995
- 1995-04-27 JP JP10390895A patent/JPH0856230A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6810038B1 (en) | 1999-04-02 | 2004-10-26 | Nec Corporation | Switch, scheduler thereof, and switch scheduling method |
| US6882655B1 (en) | 1999-05-13 | 2005-04-19 | Nec Corporation | Switch and input port thereof |
| US7336648B1 (en) | 2000-01-11 | 2008-02-26 | Fujitsu Limited | Label switching system |
| JP2004242334A (ja) * | 2003-02-07 | 2004-08-26 | Fujitsu Ltd | 高速交換環境でマルチキャストするシステム、方法及び論理 |
| JP2010035245A (ja) * | 2003-02-07 | 2010-02-12 | Fujitsu Ltd | 高速交換環境でマルチキャスティングするシステム、方法及び論理 |
| JP2017525079A (ja) * | 2014-06-13 | 2017-08-31 | ブル・エス・アー・エス | リスト内でのアイテム一致の検索 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5455825A (en) | 1995-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5455825A (en) | Tag-based scheduling system for digital communication switch | |
| Tamir et al. | Dynamically-allocated multi-queue buffers for VLSI communication switches | |
| Katevenis et al. | Weighted round-robin cell multiplexing in a general-purpose ATM switch chip | |
| US4630258A (en) | Packet switched multiport memory NXM switch node and processing method | |
| Dally | Virtual-channel flow control | |
| US6529478B1 (en) | Pass/drop apparatus and method for network switching node | |
| Moon et al. | Scalable hardware priority queue architectures for high-speed packet switches | |
| US4623996A (en) | Packet switched multiple queue NXM switch node and processing method | |
| US5218676A (en) | Dynamic routing system for a multinode communications network | |
| EP1226501B1 (en) | Network switch and components and method of operation | |
| US5859835A (en) | Traffic scheduling system and method for packet-switched networks | |
| US20030137940A1 (en) | Pass/drop apparatus and method for network switching node | |
| US7457296B2 (en) | Method and apparatus for sorting packets in packet schedulers using a connected trie data structure | |
| Bolding et al. | The case for chaotic adaptive routing | |
| US5164939A (en) | Packet switching device | |
| KR19990087752A (ko) | 효율적인 출력 요구 패킷 스위치와 방법 | |
| US6757284B1 (en) | Method and apparatus for pipeline sorting of ordered streams of data items | |
| EP1488600B1 (en) | Scheduling using quantum and deficit values | |
| US6714554B1 (en) | Method and system for sorting packets in a network | |
| US6836475B2 (en) | Method and apparatus for traffic shaping for IP router queues/egress | |
| Park et al. | NN based ATM cell scheduling with queue length-based priority scheme | |
| US7269158B2 (en) | Method of operating a crossbar switch | |
| US6490640B1 (en) | Packet data switching apparatus | |
| Modiano et al. | A simple analysis of average queueing delay in tree networks | |
| US7006513B1 (en) | Method and system for pipelining packet selection |