JP3178645B2 - スワップ処理をともなうデータ通信装置 - Google Patents

スワップ処理をともなうデータ通信装置

Info

Publication number
JP3178645B2
JP3178645B2 JP05782195A JP5782195A JP3178645B2 JP 3178645 B2 JP3178645 B2 JP 3178645B2 JP 05782195 A JP05782195 A JP 05782195A JP 5782195 A JP5782195 A JP 5782195A JP 3178645 B2 JP3178645 B2 JP 3178645B2
Authority
JP
Japan
Prior art keywords
memory
pointer
address
input 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.)
Expired - Fee Related
Application number
JP05782195A
Other languages
English (en)
Other versions
JPH07312611A (ja
Inventor
レネ・ジェイ・グレイス
フランコイス・カーマレック
エリック・ラルマンド
タン・ハム
ハンス・ルドルフ・シンドラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07312611A publication Critical patent/JPH07312611A/ja
Application granted granted Critical
Publication of JP3178645B2 publication Critical patent/JP3178645B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/12Systems for determining distance or velocity not using reflection or reradiation using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/02Details
    • G01C3/06Use of electric means to obtain final indication
    • G01C3/08Use of electric radiation detectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Memory System (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Studio Devices (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は入力値が出力値にスワッ
プされることを可能にする通信装置に関し、特に、入力
値が通信システムにより受信されたデータ・ストリーム
のヘッダであり、出力値がその通信システムにより送信
される対応するデータ・ストリームのヘッダである、そ
うした通信システムにおいて使用される装置に関する。
またこの装置は、任意のテーブル・ルックアップ機能を
実現するためにも使用される。
【0002】
【従来の技術】ほとんどの通信システムはスイッチ及び
リンクを含み、入力リンクにおいて受信されたデータ・
ストリームをアドレス指定される出力リンクに移送する
ための機能を有する。
【0003】今日、将来の通信網における高速伝送及び
交換に備え、いわゆる非同期転送モード(ATM)を使
用する傾向がある。このモードでは、全てのデータがセ
ルとして移送され、各セルは53バイト長を有する。最
初の5バイトは、12ビットVP(仮想パス)フィール
ド及び16ビットVC(仮想チャネル)フィールドを含
むヘッダであり、セルの宛先を示すアドレスを含む。
【0004】交換ノードの入力において、VP/VCフ
ィールドが新たなフィールドにより置換(スワップ)さ
れ、セルがスイッチを介して経路指定されるように、経
路指定ヘッダが追加される。経路指定ヘッダが次に除去
され、セルが適切な出力リンクに送信される。
【0005】VP/VCフィールドの高速スワッピング
は困難な課題である。なぜなら、228=268.106
以上のVP/VCの組合わせが可能であり、155ギガ
ビット/秒の伝送レートで、セルが2.5マイクロ秒以
下で処理されなければならないからである。
【0006】従って、全てのこれらの組合わせを処理す
ることは現実的ではない。実際には、移送ノードは、一
方が物理リンクに、他方がスイッチに接続される通信ア
ダプタから構成される。各アダプタは1物理リンクにつ
き、約2000のVP/VCフィールド(エントリ)を
認識できなければならない。従って、それが4つの物理
リンクに接続される場合には、約8000のエントリを
認識できなければならない。
【0007】この機能を達成するために、通信アダプタ
はテーブルを含み、このテーブルがアダプタにより確立
される接続の関数として、ネットワーク・マネジャによ
り更新される。
【0008】結果的に、VP/VCスワッピング機能を
実行するために、セル間隔内で探索され更新される80
00エントリを有するテーブルが、各通信アダプタにお
いて実現される必要がある。
【0009】こうしたテーブルを実現する1つの従来方
法では、連想記憶装置(content addressable memory)
を提供する。別の方法では、2進探索アルゴリズムまた
はハッシング法を実現する。
【0010】これらの技法の第1の欠点は、探索オペレ
ーションがセル処理時間の大部分を占めることである。
第2の欠点は、テーブルの新たなエントリが正確な位置
において生成されなければならず、従って、テーブルの
更新が容易でないという事実に起因する。
【0011】探索アルゴリズムの例がIEEE会報Vo
l.135 No.1(1988年1月)の記事に述べられてい
る。
【0012】
【発明が解決しようとする課題】本発明の目的は、低価
格のメモリを使用することにより、2マイクロ秒以下の
非常に短い時間内に、入力値を出力値にスワップするス
ワッピング機能を可能にする装置を提供することであ
る。
【0013】本発明の別の目的は、スワップされる入力
値を変更するように、メモリが容易に更新可能なこうし
た装置を提供することである。
【0014】
【課題を解決するための手段】本発明によれば、スワッ
プ機能がカスケード式ルックアップ・テーブルにより実
行され、これらのテーブルは、その幅が等価の連想記憶
装置で許容されるエントリ数に依存するパスにより結合
される。探索パスが全ての可能なエントリに対して明瞭
にマークされるように、ポインタがテーブル内にセット
され、更新されなければならない。
【0015】スワップ機能は従って、E(E=2p
1)個のnビット入力値に対応する出力値を提供する擬
似連想記憶装置により実行される。
【0016】擬似連想記憶装置は、少なくとも2dのア
ドレス容量を有する複数のカスケード式ランダム・アク
セス・メモリから構成される。ここで、dはpよりも大
である。
【0017】各ランダム・アクセス・メモリにpビット
・ポインタをセットするための制御論理回路が提供され
る。各ポインタは他のポインタとは異なったものであ
り、入力値にランダムに割当てられる。入力値に対応す
る出力値を見い出すために、制御論理回路はランダム・
アクセス・メモリを順次アドレスして読出す。第1のメ
モリは入力値のn1ビットを含む部分によりアドレスさ
れ、続くそれぞれのメモリは入力値のniビット部分と
連結される先行メモリから読出されるポインタによりア
ドレスされる。ここで、niはn−p以下である。出力
値が最後のメモリのアドレス指定の結果として見い出さ
れる。
【0018】
【実施例】図1は通信ノードの受信側を図式的に表し、
入力値を出力値にスワップする回路が使用される。明ら
かに、こうした回路は任意の他の環境においても使用す
ることができる。図1に示されるように、入力リンクか
ら受信されるビット・ストリームを処理する受信回路2
に対して、入力リンク1−1乃至1−4が提供される。
本発明の好適なアプリケーションでは、ビット・ストリ
ームがいわゆる非同期転送モード(ATM)に従い、セ
ルに配列される。
【0019】受信回路2の機能の1つは、スワップ回路
4に提供されるセルのヘッダを検出することである。ス
ワップ回路4は、ヘッダに含まれるVP/VCフィール
ドを新たなVP/VCフィールドに変更し、これがセル
に挿入されてノードにより送信される。
【0020】セルは回路6を通じて処理され経路指定さ
れ、新たなヘッダを提供されて、回路8によりノード出
力リンク10−1乃至10−3上に送信される。新たな
ヘッダは回路4により、バス5を通じて提供される。ノ
ードはノード・マネジャ12を含み、この1つの機能は
スワップ回路4を制御することである。
【0021】スワップ回路4は、セル処理時間内にVP
/VC入力値に対応するVP/VC出力値を提供するX
エントリ・テーブルとして機能する擬似連想記憶装置に
より構成される。
【0022】本発明の好適な実施例では、受信回路2か
らバス14を介して提供される入力値は、ATMセルの
28ビットのVP/VCフィールド及び追加の5ビット
を含み、後者は入力リンク物理アドレス及びセルの処理
方法を示す制御情報などの追加の情報を含む。
【0023】スワップ回路4が図2に示される。これは
メモリ構成20及び制御論理22からなり、擬似連想記
憶装置として機能する。
【0024】上述のように、入力値が33ビットを含
み、213個のエントリを有するテーブルが要求されるも
のと仮定すると、メモリ構成は3つのランダム・アクセ
ス・メモリ24−A、24−B及び24−Cを含む。
【0025】今日容易に入手可能な最大のランダム・ア
クセス・メモリ(RAM)は16メガビット・ダイナミ
ックRAM(DRAM)である。様々な構成が可能であ
る。こうしたDRAMデバイスのほとんどの供給メーカ
は、本発明に好適な1メガビット×16構成のデバイス
を提供している。全ての最近のDRAMはCAS(列ア
ドレス選択)ビフォアRAS(行アドレス選択)機構を
実現し、デバイスの直接的なリフレッシュを可能にす
る。DRAMのリフレッシュ動作はタイマだけを必要と
し、1受信セル当たり1回のメモリ問い合わせが存在す
るだけなので、2つのセル間において、通常動作と干渉
することなく、メモリのリフレッシュ動作を実行する十
分な時間が存在する。155メガビット/秒において、
2.7マイクロ秒毎にセルは受信される。
【0026】後述のように、スワップ機能を実行するた
めに、4回のRAMアクセス(各々が150ナノ秒)が
必要となり、セル処理時間の10%以下がメモリに問い
合わせるために必要となる。
【0027】ダイナミック・ランダム・アクセス・メモ
リ24−A、24−B及び24−Cはパスを通じて結合
され、その幅は等価の連想記憶装置において許容される
エントリの深さまたは数に対応する。従って、33ビッ
トの探索が必要であると仮定すると、E=213−1=8
191の可能な入力値が存在し、制御論理22はメモリ
制御ラインすなわち読出し/書込み(R/W)28、R
AS/CAS30、32及び34を活動化することによ
り、順次メモリ24−A、24−B及び24−Cをアド
レスする。R/Wライン28は3つのメモリに共通であ
り、ライン30、32及び34として表される各メモリ
に対応する3本のRAS/CASラインが存在する。
【0028】最初に、メモリ24−Aが制御論理22を
介してアドレスされ、制御論理はアドレス・バス26上
に入力値のn1ビットを含む第1の部分を提供する。メ
モリ24−Aから読出される13ビットのデータは、デ
ータ・バス36を介して制御論理22に提供される。制
御論理22は次に第2の部分(第1の部分とは異な
る)、すなわちni=n2ビットの入力値に、24−A
からの13ビットを付加したアドレスにより、メモリ2
4−Bをアドレスする。メモリ24−Bから読出される
13ビットのデータが、データ・バス36を介して制御
論理22に提供され、制御論理22は次に第3の部分
(第1及び第2の部分とは異なる)、すなわちni=n
3ビットの入力値に、24−Bからの13ビットを付加
したアドレスにより、メモリ24−Cをアドレスする。
【0029】メモリ24−Cから読出された13ビット
のデータは、メモリの1つ例えばメモリ24−Aに確保
される制御ブロック部分をアドレスするために使用さ
れ、これはメモリ24−A、24−B及び24−Cを順
次アドレスするために使用されるVP/VC入力値に対
応するVP/VC出力値を含む。
【0030】明らかに、DRAMのアドレス機能すなわ
ちエントリの数及び入力値のビット数に依存して、異な
る数のDRAMが必要となる。当業者には、各特定のア
プリケーションに必要な数のDRAMをカスケードする
ことが理解されよう。
【0031】本発明の好適な実施例では、スワップ機能
が3つのDRAMにより達成され、次のことを仮定す
る。すなわち、入力値がnビット幅である。E=2p
1のエントリを有する連想記憶装置が必要とされる。各
メモリは2dのアドレス容量を有する。ここで、dはp
よりも大である。n1+n2+n3=n、すなわち探索
が実行されなければならない入力値のビット数に関し、
n1はd以下であり、n2+p及びn3+pはd以下で
ある。
【0032】d=20及びp=13を仮定すると、本発
明の好適な実施例では、メモリ24−Aはn1=19ビ
ットの入力値によりアドレスされ、メモリ24−Bはn
2=7ビットの入力値と、メモリ24−Aから読出され
る13ビットとによりアドレスされ、メモリ24−Cは
n3=7ビットと、メモリ24−Bから読出される13
ビットとによりアドレスされる。
【0033】各メモリは220のアドレス容量を有するの
で、探索オペレーションにおいてメモリ24−Aの半分
だけが使用され、残りの半分については、後述のよう
に、メモリ内容の更新に必要な制御ブロック及びポイン
タ・スタックを記憶するために使用される。
【0034】ポインタは探索パスが擬似連想記憶構成2
0において明瞭にマークされるように、3つのメモリ2
4−A、24−B及び24−C内でセット及び更新され
なければならない。
【0035】このために、213−1の異なるポインタの
3つのスタックSA、SB及びSCが、メモリ24−A
内において各メモリ24−A、24−B及び24−Cに
対して割当てられる。
【0036】擬似連想記憶装置がフルでない間に新たな
エントリを追加することは、ポインタ・スタックから新
たな特定のポインタを拾い出すことにより達成される。
マークされた新たなパスが、他の全てと総合的に異なる
形式を有する場合、新たなポインタが各スタックから引
出され、それらの各々の中身を1つ空にする。
【0037】新たなエントリが以前のエントリと共通な
ものを有する場合、対応するテーブルは以前に確立され
たパスを破壊しないように、更新されてはならない。従
って、新たなエントリが擬似連想記憶装置内で実行され
る度に、パスが既に記されているか否かを判断するため
に、探索が実行されなければならない。DRAM A、
BまたはCのいずれかが、"全て0"(空ロケーションを
示す)以外のものを返却する場合には、内容は変更され
てはならず、対応するスタックからポインタは除去され
ない。
【0038】最後のDRAM24−Cは、新たなパスが
以前のエントリの完全な複製でない限り、常に更新され
る。完全な複製の場合には、特定のアプリケーションに
依存して、スワップ・テーブルが可能な新たな値により
置換されるか、ユーザに対してエラーとしてフラグ化さ
れる。
【0039】エントリが擬似連想記憶装置から消去され
なければならない場合、対応するエントリが実際にそこ
に存在することを確認するために、チェックが行われな
ければならない。チェック処理の間、メモリA、B及び
Cの読出しの結果返却されるポインタが収集されなけれ
ばならない。
【0040】Cから読出されるポインタは常に除去さ
れ、スタックCの先頭に再度配置されて、即時再使用可
能なように準備される。
【0041】Bから読出されるポインタは、それが複数
のパスにより使用される場合、除去されてはならない。
このためのチェックが実行されなければならない。
【0042】最後にAから読出されるポインタが、メモ
リBにおける複数使用に対応して、同様にチェックされ
なければならない。
【0043】これらのオペレーションについては、図4
乃至図11を参照して説明する。
【0044】制御論理22が図3に示され、これは論理
回路40を含み、論理回路40は受信回路2からバス1
4を介して、変更された入力値を受信し、またノード・
マネジャ12からはバス16を介して、制御データを受
信する。
【0045】論理回路40はRAS/CASライン3
0、32、34及びR/Wライン28上にメモリ制御信
号を生成し、これらの信号は擬似連想記憶装置20のリ
セット、更新、探索及び消去オペレーションを実行する
ために必要である。また、論理回路40はバス42を介
して、アドレス形成レジスタ43にアドレス・ビットを
提供する。レジスタ43では、アドレス・ビットが後述
のように編成される。本発明の好適な実施例では、DR
AM A、B及びCは行及び列アドレス機構を備え、ア
ドレス・ビット形成レジスタ43から得られるアドレス
・ビットが、12ビットの行アドレスと8ビットの列ア
ドレスに分離され、それぞれ行アドレス・レジスタ44
及び列アドレス・レジスタ46に提供され、更にマルチ
プレクサ48に供給されて、回路40によりライン50
上に生成される行/列選択信号の制御により、アドレス
・バス26上に出力される。
【0046】データ・バスが受信回路52に提供され、
このバスから受信されるビットがデータ入力レジスタ5
4に入力される。レジスタ54に記憶された受信ビット
は、バス56を介して、論理回路40に提供される。選
択されたDRAM A、BまたはCに書込まれるデータ
は、回路40によりデータ出力レジスタ60に提供さ
れ、更にドライバ62を介して、アドレスされたロケー
ションに書込まれる。ドライバ62は、回路40により
ライン64上に生成される書込み時イネーブル信号によ
り活動化される。
【0047】図4を参照して説明すると、擬似連想記憶
装置がノード・マネジャ12により開始されるパワー・
オン・リセット・オペレーションにおいて、初期化され
る様子が示される。
【0048】ステップ70で示されるように、パワー・
オン・リセット・コマンドがバス16上で検出される
と、ステップ72で回路40がデータ出力レジスタ60
を全て0にセットする。3つのDRAM A、B及びC
が、220のアドレスを走査し、各アドレスされるロケー
ションに"全て0"を書込むことにより、並列にクリアさ
れる。
【0049】これはステップ74に示されるように、R
AS/CAS及びR/Wラインを活動化することによ
り、DRAM A、B及びCに対して、28回の連続書
込みオペレーションをページ・モードで並列に実行する
ことにより達成される。
【0050】各書込みオペレーションにおいて、ステッ
プ76でページ境界がクロスするか(ページ境界をこえ
るか)どうかがテストされ、否定の場合、ステップ77
で列アドレスが1増分されて、バースト書込みオペレー
ションが継続される。各ページ・クロスに際しては、こ
れが最後のページ・クロスかどうかがステップ78でテ
ストされ、否定の場合、行アドレスがステップ79で増
分され、次にRAS/CASラインが活動化されて、D
RAM A、B及びCに対する新たな28回のバースト
書込みが実行される。肯定の場合には、初期化オペレー
ションがステップ80で完了する。
【0051】次に、ポインタ・スタックSA、SB及び
SCが、DRAM24−Aの上位部分に準備されなけれ
ばならない。
【0052】図5に示されるのと同一の処理が、各スタ
ックSA、SB及びSCに対して実行される。各スタッ
クに対して、ノード・マネジャはスタック生成コマンド
をバス16を介して発行する。これがステップ90に示
されるように、回路40により復号化される。このオペ
レーションは初期化オペレーションの一部である。回路
40において、この機能を実行するために、3つの13
ビット・アップ/ダウン・カウンタが提供される。この
カウンタの1つCTN−92が図5に示され、各スタッ
クに割当てられる。回路40はCTN−92を増分また
は減分するための制御信号を制御バス94上に生成し、
これらの信号は、図5乃至図11を参照して述べられる
オペレーションを実行するために使用される。
【0053】最初にステップ96で示されるように、カ
ウンタ92が第1のポインタ値、例えば"000000000000
1"にリセットされ、第1のスタック・アドレスがレジス
タ43にロードされる。
【0054】次にステップ98で、DRAM−Aがアド
レスされる。ステップ100で、アップ/ダウン・カウ
ンタ92にセットされた値が、スタックのアドレスされ
たロケーションに書込まれ、レジスタ43内のスタック
・アドレスが1増分される。
【0055】ステップ102では、アップ/ダウン・カ
ウンタ値がテストされ、最後のポインタ値すなわち"111
1111111111"に達したかどうかが判断される。これはフ
ル・ライン103の最上位の1により示される。否定の
場合、アップ/ダウン・カウンタがステップ104で1
増分され、処理がステップ98から再開される。
【0056】肯定の場合には、処理はステップ106で
終了する。
【0057】図6乃至図8を参照すると、全ての可能な
エントリに対応するパスをマークするために、DRAM
24−A、24−B及び24−Cが更新される様子が示
される。
【0058】これはノード・マネジャ12を通じて達成
され、ノード・マネジャ12はステップ120で示され
るように、バス16上に"エントリ"xxx"の更新"コマン
ドを発行する。ここで、xxxは33ビットの入力値であ
る。
【0059】ステップ122では、スタックCに関連す
るアップ/ダウン・カウンタ92の値がテストされ、D
RAM−Cがフルかどうかが判断される。肯定の場合、
これは新たな値が追加されていないことを意味し、エラ
ーまたは警告が報告される。否定の場合には、ステップ
124で示されるように、エントリ"xxx"の19最上位
ビット(MSB)が、20ビット・アドレス形成レジス
タ43の位置0乃至18に送信され、0が上記レジスタ
の位置19にセットされ、DRAM24−Aの下位部分
をアドレスし、このアドレスに記憶される値を読出す。
このアドレス値は保管される。
【0060】次にステップ126で、読出された値が"
全て0"かどうかがテストされる。否定の場合、これは
同一の19MSBビットを含むエントリが既に存在する
ことを意味し、ステップ124で読出された現ポインタ
がステップ128で、アドレス形成レジスタ43にロー
ドされる。
【0061】肯定の場合には、ステップ130で示され
るように、スタックSAの先頭のロケーションをアドレ
スし、ポインタ"PA"を読出すことにより、新たなポイ
ンタがスタックAからフェッチされる。次にステップ1
32で示されるように、スタックSAに関連するアップ
/ダウン・カウンタ92(92−Aと命名される)が減
分され、ステップ134で、フェッチされたポインタP
Aがステップ124で保管されたDRAM24−Aのア
ドレスに書込まれ、PAがアドレス形成レジスタ43の
位置19乃至7にロードされる。
【0062】処理は図7に示されるように継続し、最初
にステップ136で、エントリ"xxx"の次の7ビットを
レジスタ43の位置6乃至0にロードする。レジスタ4
3にこのようにセットされたアドレスは保管され、DR
AM24−Bが読出される。
【0063】次にステップ138で、読出された値が"
全て0"かどうかがテストされる。否定の場合、これは
同一の7ビットを含むエントリが既に存在することを意
味し、ステップ136で読出された現ポインタがステッ
プ140で、アドレス形成レジスタ43にロードされ
る。
【0064】肯定の場合には、ステップ142で示され
るように、スタックSBの先頭のロケーションをアドレ
スし、ポインタ"PB"を読出すことにより、新たなポイ
ンタがスタックBからフェッチされる。次にステップ1
44で示されるように、スタックSBに関連するアップ
/ダウン・カウンタ92(92−Bと命名される)が減
分され、ステップ144で、フェッチされたポインタP
Bが、ステップ136で保管されたDRAM24−Bの
アドレスに書込まれ、PBがアドレス形成レジスタ43
の位置19乃至7にロードされる。
【0065】処理は図8に示されるように継続し、最初
にステップ148で、エントリ"xxx"の残りの7ビット
をレジスタ43の位置6乃至0にロードする。レジスタ
43にこのようにセットされたアドレスは保管され、D
RAM24−Cが読出される。
【0066】次にステップ150で、読出された値が"
全て0"かどうかがテストされる。否定の場合、これは
同一の7ビットを含むエントリが既に存在することを意
味し、ステップ148で読出された現ポインタが、ステ
ップ152で保管される。更新中のパスが既に記されて
いることを示す警告信号が、ノード・マネジャに送信さ
れる。
【0067】肯定の場合には、ステップ154で示され
るように、スタックSCの先頭のロケーションをアドレ
スし、ポインタ"PC"を読出すことにより、新たなポイ
ンタがスタックCからフェッチされる。次にステップ1
56で示されるように、スタックSCに関連するアップ
/ダウン・カウンタ92(92−Cと命名される)が減
分され、ステップ158で、フェッチされたポインタP
Cが、ステップ148で保管されたDRAM24−Cの
アドレスに書込まれ、PCが保管される。
【0068】次にステップ160で示されるように、P
Cにもとづくアドレスを有するDRAM−24の上位部
分の制御ブロックがアドレスされ、エントリ"xxx"に対
応する出力値がこの制御ブロックに書込まれる。
【0069】更新処理はステップ162で終了する。
【0070】次に図9を参照すると、受信された33ビ
ット入力値に対応する出力値を探索するために、制御論
理40により実行されるオペレーションが示される。
【0071】これらのオペレーションは、ステップ17
0で示されるように、33ビット入力値を含むヘッダが
バス14上に提供されるときに開始される。
【0072】ステップ172で示されるように、入力値
の19MSBビットがアドレス形成レジスタ43の位置
0乃至18にロードされ、上記レジスタの位置19は0
にセットされる。DRAM24−Aがアドレスされて読
出され、ポインタPAがレジスタ54を介して論理回路
40に返却される。
【0073】PAポインタ値がステップ174でテスト
され、これが全て0に等しい場合には、不一致信号がラ
イン65を介して処理/経路指定回路6に返却される。
【0074】全て0でない場合には、ステップ176
で、ポインタPAがアドレス形成レジスタ43の位置1
9乃至7にロードされ、入力値の次の7ビットが位置6
乃至0にロードされる。
【0075】次にステップ178でDRAM24−Bが
読出され、レジスタ54を介して回路40に返却された
ポインタPBが、ステップ180で、全て0か否かがテ
ストされる。全て0の場合、不一致信号がライン65を
介して返却される。
【0076】全て0でない場合、1ステップ182で、
3ビット・ポインタPBがレジスタ43の位置19乃至
7にロードされ、入力値の残りの7ビットがレジスタ4
3の位置6乃至0にロードされる。
【0077】次にステップ184で、DRAM24−C
が読出され、ポインタPCが論理回路40に返却され
る。
【0078】ポインタPCの値がステップ186でテス
トされ、全て0の場合、不一致信号がライン65を介し
て返却される。
【0079】全て0でない場合、これは一致を表し、ポ
インタ値がDRAM−Aの上位部分の制御ブロックをア
ドレスするために使用され、出力値を含む制御ブロック
が読出され、出力バス64を介して、処理/経路指定回
路6に提供される。
【0080】次に図10及び図11を参照しながら、エ
ントリ"yyy"が消去される様子について説明する。
【0081】オペレーションは、ステップ190で示さ
れるように、ノード・マネジャ12からバス16を介し
て受信される"エントリ"yyy"の消去"コマンドの受信に
より開始される。
【0082】最初にステップ192で示されるように、
図9のステップ172乃至184を実行することによ
り、探索オペレーションが33ビットの"yyy"エントリ
を用いて開始される。ポインタPA、PB及びPC、並
びにそれらのDRAM24−A、24−B及び24−C
内におけるアドレスが保管される。
【0083】次にステップ194で、一致が見い出され
たかどうかがテストされ、否定の場合には消去オペレー
ションが終了する。なぜなら、これはエントリ"yyy"が
擬似連想記憶装置内に存在しないことを意味するからで
ある。
【0084】肯定の場合には、ポインタPCがスタック
SCの先頭のアップ/ダウン・カウンタ92−Cの内容
により示されるアドレスに書込まれ、次にこのカウンタ
が1増分される。全て0がステップ192で保管された
PCアドレスに書込まれる。
【0085】次にステップ198で示されるように、ポ
インタPB及び7ビットの全ての可能な組合わせにもと
づき、DRAM24−Cの読出しがPBと0000000との
連結から開始する。各読出しオペレーションにおいて返
却されるポインタPCがステップ200でテストされ、
これが全て0でないと判明すると、消去オペレーション
が終了する。なぜなら、これはポインタが異なるパスを
記すために、まだ使用されることを意味するからであ
る。ポインタが全て0と判明すると、ステップ202で
7回の読出しオペレーションが実行されたがどうかが
テストされ、否定の場合、ステップ204でアドレスが
1増分され、ステップ198に戻りループする。
【0086】肯定の場合、全て0がステップ192で保
管されたPBアドレスに書込まれ、PBがスタックSB
の先頭のカウンタ92−Bにより示されるアドレスに書
込まれ、カウンタが1増分される。
【0087】次にステップ208で示されるように、ポ
インタPA及び7ビットの全ての可能な組合わせにもと
づき、DRAM24−Bの読出しがPAと0000000との
連結から開始する。各読出しオペレーションにおいて返
却されるポインタPBがステップ210でテストされ、
これが全て0でないと判明すると、消去オペレーション
が終了する。なぜなら、これはポインタが異なるパスを
記すために、まだ使用されることを意味するからであ
る。
【0088】ポインタが全て0と判明すると、ステップ
212で27回の読出しオペレーションが実行されたが
どうかがテストされ、否定の場合、ステップ208でア
ドレスが1増分され、ステップ208に戻りループす
る。
【0089】肯定の場合、全てゼロがステップ192で
保管されたPAアドレスに書込まれ、PAがスタックS
Aの先頭のカウンタ92−Aにより示されるアドレスに
書込まれ、カウンタが1増分される。
【0090】これで消去オペレーションがステップ21
8で終了する。
【0091】本発明の好適な実施例において、VPなど
の入力値の一部に対して探索オペレーションが実行され
なければならない場合、入力値のVPパターンとの一致
が見い出された時点で、探索処理は終了する。入力値の
どの部分が探索されなければならないかに依存して、探
索が図9のステップ174、180または186で終了
する。
【0092】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0093】(1) 2p−1以下の整数Eに相当する
数のnビット入力値に対応する出力値を提供するデータ
通信装置であって、2d(dはd>pなる整数)のアド
レス容量を有する複数のカスケード式メモリ(24−
A、24−B及び24−C)と、上記の各メモリに、各
々が他とは異なり、1つの上記入力値に割当てられる複
数のpビット・ポインタをセットする手段と、上記メモ
リの少なくとも1つを順次アドレスし読出す手段であっ
て、第1の上記メモリが上記入力値のうちn1(n1は
n1≦dなる整数)ビットを含む部分によりアドレスさ
れ、上記のそれぞれの後続メモリが、該入力値のni
(ni≦n−n1)ビット部分と連結された先行メモリ
から読出される上記ポインタによりアドレスされる、ア
ドレス手段と、順序的に最後の上記メモリのアドレス指
定の結果得られる出力値を出力する手段と、を含む、デ
ータ通信装置。 (2)上記pビット・ポインタをセットする手段が、上
記の各メモリに割当てられる上記ポインタのスタック
と、上記各スタック内に2p−1の異なる上記ポインタ
をセットする手段と、を含む、上記(1)記載の装置。 (3)上記pビット・ポインタをセットする手段が、上
記入力値に応答して、上記メモリを順次アドレスし書込
む手段であって、第1の上記メモリが、該入力値のn1
ビットと該第1のメモリに割当てられた上記ポインタ・
スタックからフェッチされる上記ポインタとによりアド
レスされて該アドレス位置に書込まれ、かつ上記のそれ
ぞれの後続メモリが、該入力値のniビット部分と連結
される上記先行メモリに書込まれる該ポインタと、該メ
モリのアドレス指定ロケーションに書込まれ、割当てら
れる該ポインタ・スタックからフェッチされる該ポイン
タとによりアドレスされて該アドレス位置に書込まれる
書込み手段を含む、上記(2)記載の装置。 (4)nビット入力値に対応して、上記メモリに記憶さ
れた上記ポインタを消去する手段を含む、上記(1)乃
至(3)のいずれかに記載の装置。 (5)上記消去手段が、消去されるnビット値に応答し
て、順次上記メモリをアドレスする手段であって、第1
の上記メモリが上記入力値のうちn1ビットによりアド
レスされ、上記のそれぞれの後続メモリが、上記入力値
のniビット部分と連結された上記先行メモリから読出
される上記ポインタによりアドレスされる、アドレス手
段と、上記メモリから順次読出された上記ポインタを保
管する手段と、最後の上記メモリから読出された上記ポ
インタを、該メモリに割当てられた上記スタックの先頭
に書込み、最後の上記メモリのアドレス指定ロケーショ
ンを示す該ポインタを取り消す手段と、上記最後のメモ
リを除く上記メモリから読出された上記ポインタを、該
メモリに割当てられた上記スタックの先頭に書込み、該
ポインタが、消去されない上記入力値に対応するロケー
ションをアドレスするために使用されない場合、該メモ
リのアドレス指定ロケーションを示す該ポインタを取り
消す手段と、を含む、上記(4)記載の装置。 (6)上記出力値を出力する上記手段が、各々が上記最
後のメモリから読出される上記ポインタによりアドレス
され、上記入力値に対応する該出力値を記憶する上記メ
モリの1つに編成される制御ブロックを含む、上記
(1)乃至(5)のいずれかに記載の装置。 (7)上記メモリがダイナミック・ランダム・アクセス
・メモリである、上記(1)乃至(6)のいずれかに記
載の装置。 (8)n=33、p=13である、上記(6)または
(7)記載の装置。 (9)n1=20、ni=7である、上記(8)記載の
装置。 (10)上記スタック及び上記制御ブロックが上記第1
のメモリに記憶される、上記(6)記載の装置。
【0094】
【発明の効果】以上説明したように、本発明によれば、
低価格のメモリを使用することにより、2マイクロ秒以
下の非常に短い時間内に、入力値を出力値にスワップす
るスワッピング機能を実行する装置を提供することがで
きる。
【図面の簡単な説明】
【図1】本発明が実現される通信ノードを表す図であ
る。
【図2】カスケード式ダイナミック・ランダム・アクセ
ス・メモリを含むスワップ回路を表す図である。
【図3】スワップ機能を実現するために必要なメモリ・
オペレーションを制御する制御論理を表す図である。
【図4】メモリ内容を初期化するために制御論理により
実行されるオペレーションを表す図である。
【図5】ポインタ・スタックを生成するために制御論理
により実行されるオペレーションを表す図である。
【図6】新たなエントリに対してメモリ内容を更新する
ために制御論理により実行されるオペレーションを表す
図である。
【図7】新たなエントリに対してメモリ内容を更新する
ために制御論理により実行されるオペレーションを表す
図である。
【図8】新たなエントリに対してメモリ内容を更新する
ために制御論理により実行されるオペレーションを表す
図である。
【図9】入力値に対応する出力値を獲得するために制御
論理により実行されるオペレーションを表す図である。
【図10】エントリを消去するために制御論理により実
行されるオペレーションを表す図である。
【図11】エントリを消去するために制御論理により実
行されるオペレーションを表す図である。
【符号の説明】
2 受信回路 4 スワップ回路 5、14 バス 6 セル回路 8 回路 12 ノード・マネジャ 20 メモリ構成 22 制御論理 26 アドレス・バス 28 読出し/書込み(R−W) 30、32、34 RAS/CAS 50、64 ライン 52 受信回路 54 データ入力レジスタ 60 データ出力レジスタ 62 ドライバ 92 アップ/ダウン・カウンタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 レネ・ジェイ・グレイス フランス06000、ニース、ルー・マセナ 24 (72)発明者 フランコイス・カーマレック フランス06600、アンチベス、インパ ス・デ・ラ・ブラギュー、マグダ・コテ ージ・シィ (番地なし) (72)発明者 エリック・ラルマンド フランス06610、ラ・ガウデ、シェミ ン・デ・バレストレッチェ 57、マス・ カブリ (番地なし) (72)発明者 タン・ハム フランス06600、アンチベス、シェミ ン・デス・コンベス 120 (72)発明者 ハンス・ルドルフ・シンドラー スイス、シィ・エイチ−8135 ランナ ウ・アム・アルビス、ウィルデンビュッ ヒルストラッセ 40 (56)参考文献 特開 平5−199256(JP,A) 特開 平2−233023(JP,A) 特開 平5−268241(JP,A) 特開 平7−30554(JP,A)

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】E(≦2−1)個のnビット入力値に対
    応する出力値を供給するデータ通信装置であって、 2(dはd>pなる整数)のアドレス容量を有する複
    数のカスケード式メモリと、 上記複数のメモリのうちの第1のメモリをnビット入力
    値のうちn1(n1はn1≦dなる整数)ビットを含む
    部分によりアドレスし、後続の各メモリを、該nビット
    入力値のni(ni≦n−n1)ビット部分及び先行メ
    モリから読出されたメモリ内容を連結することによって
    アドレスするアドレス手段と、 各メモリに割り当てられる複数の異なったpビット・ポ
    インタをそれぞれ保持する複数のスタックと、 上記スタックを順次に読み出すことによって、特定のn
    ビット入力値に対しポインタを割り当て、上記アドレス
    手段を利用して該ポインタをそれぞれ対応するメモリに
    書き込む手段と、 入力されたnビット入力値に応答して、上記アドレス手
    段を利用して上記複数のメモリを順次にアドレスし読み
    出す手段と、 上記複数のメモリのうち最後にアドレス指定されたメモ
    リの内容を上記出力値として出力する手段と、 を含む、データ通信装置。
  2. 【請求項2】上記複数のスタックは、それぞれ2p−1
    の異なるポインタを保持する、 請求項1記載の装置。
  3. 【請求項3】nビット入力値に応答して、上記メモリに
    記憶された対応するポインタを消去する手段を含む、請
    求項1または2に記載の装置。
  4. 【請求項4】上記消去する手段は、上記アドレス手段を
    利用して上記メモリから対応するポインタを読み出し、
    該ポインタを上記スタックの先頭に保管した後、上記メ
    モリから消去する、請求項3に記載の装置。
  5. 【請求項5】上記スタック及び上記出力値が上記第1の
    メモリに記憶される、請求項1乃至4のいずれかに記載
    の装置。
JP05782195A 1994-04-29 1995-03-16 スワップ処理をともなうデータ通信装置 Expired - Fee Related JP3178645B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9408533A GB9408533D0 (en) 1994-04-29 1994-04-29 Assessment of distance
FR99480033.3 1994-04-29

Publications (2)

Publication Number Publication Date
JPH07312611A JPH07312611A (ja) 1995-11-28
JP3178645B2 true JP3178645B2 (ja) 2001-06-25

Family

ID=10754335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05782195A Expired - Fee Related JP3178645B2 (ja) 1994-04-29 1995-03-16 スワップ処理をともなうデータ通信装置

Country Status (3)

Country Link
JP (1) JP3178645B2 (ja)
GB (1) GB9408533D0 (ja)
WO (1) WO1995030126A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9713680D0 (en) * 1997-06-27 1997-09-03 Keymed Medicals & Ind Equip Improvements in or relating to optical scopes with measuring systems

Also Published As

Publication number Publication date
JPH07312611A (ja) 1995-11-28
WO1995030126A1 (en) 1995-11-09
GB9408533D0 (en) 1994-06-22

Similar Documents

Publication Publication Date Title
JP4482259B2 (ja) 4ウェイハッシュ表のための方法および装置
US7913060B2 (en) Method and apparatus for physical width expansion of a longest prefix match lookup table
US7373514B2 (en) High-performance hashing system
US9280609B2 (en) Exact match lookup scheme
JP3299528B2 (ja) インターネット網等の高速通信網のノードのルーティング表構築のためのプレフィックス分析による情報探索用メモリ
US20040205229A1 (en) Method and apparatus for longest prefix matching in processing a forwarding information database
EP1485827A2 (en) Efficient ipv4/ipv6 best matching prefix method and apparatus
EP0746823B1 (en) Bit mapping apparatus and method
WO2000051298B1 (en) Network router search engine using compressed tree forwarding table
US6804230B1 (en) Communication device with forwarding database having a trie search facility
US6917954B2 (en) Load balancing in IP address lookup
JP4021623B2 (ja) 適合アドレスルックアップテーブルジェネレータのための方法および装置
US6671771B2 (en) Hash CAM having a reduced width comparison circuitry and its application
US20050071595A1 (en) Methods and apparatus for allocating memory
JP3178645B2 (ja) スワップ処理をともなうデータ通信装置
US4642793A (en) Many-to-one mapping hash address generator
US6438674B1 (en) Hash Cam having a reduced size memory array and its application
US6370610B1 (en) Apparatus for swapping input values into corresponding output values
JP2003157199A (ja) データ要求の宛先ノードアドレスを決定する方法およびマルチ・ノードコンピュータシステム
JPH05191411A (ja) パターン探索方法及び装置
JP4343377B2 (ja) 連想メモリ
EP1526753B1 (en) Method for accessing data segments having arbitrary alignment
JP3761962B2 (ja) タイムスイッチメモリのデータ制御装置
KR19980028355A (ko) 반도체 장치에서 패킷 프로토콜에 의한 데이타 전송 방법
JP2002525754A (ja) 知識ベースのサーチ方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees