JPH07325751A - アドレス変換方法 - Google Patents

アドレス変換方法

Info

Publication number
JPH07325751A
JPH07325751A JP11850594A JP11850594A JPH07325751A JP H07325751 A JPH07325751 A JP H07325751A JP 11850594 A JP11850594 A JP 11850594A JP 11850594 A JP11850594 A JP 11850594A JP H07325751 A JPH07325751 A JP H07325751A
Authority
JP
Japan
Prior art keywords
memory
data
address
block
buffer
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
Application number
JP11850594A
Other languages
English (en)
Inventor
Yoshiharu Taki
義春 滝
Hiroshi Sato
博 佐藤
Ken Watabe
謙 渡部
Satoshi Hatanaka
諭 畑中
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.)
Hitachi Computer Electronics Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Computer Electronics Co Ltd
Hitachi Ltd
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 Hitachi Computer Electronics Co Ltd, Hitachi Ltd filed Critical Hitachi Computer Electronics Co Ltd
Priority to JP11850594A priority Critical patent/JPH07325751A/ja
Publication of JPH07325751A publication Critical patent/JPH07325751A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 連続のメモリアドレスデータを不連続のメモ
リアドレスデータに変換し、不連続のメモリブロックの
データを高速に読み書きする。 【構成】 先頭の連結順位のメモリブロックから先頭の
パケットに対する情報の読み書き終了後は、連結順テー
ブルに記憶されたメモリブロックの番号を直前のメモリ
ブロックの読み書き終了毎に1つずつ順に読出し、その
読出したメモリブロック番号と各メモリブロックのサイ
ズを示す固定長データとの乗算値を前記メモリアドレス
データに加算し、その加算値を前記バッファのメモリア
ドレス入力とすることにより、連続アドレス指定の前記
メモリアドレスデータをチエーンポインタで関係付けら
れたメモリブロックへのアドレスデータに変換する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、固定長単位で分割され
た複数のメモリブロックで構成され、各メモリブロック
同士をチエーンポインタで関係付けて情報を記憶するバ
ッファを備え、このバッファに対して連続したメモリア
ドレスを示すメモリアドレスデータを入力して情報を読
み書きする情報システムに使用するアドレス変換方法に
係り、特にLAN(ローカルエリアネットワーク)相互
間で通信するパケットを中継するルータに適用して好適
なアドレス変換方法に関するものである。
【0002】
【従来の技術】近年、LAN(Local Area
Network)によるネットワーク構築が進み、デー
タ構造やプロトコルの異なる異種LAN間での通信形態
が増加している。
【0003】この異種LAN間での通信に際して、パケ
ットを中継するルータが使用される。
【0004】図7は、トークンリングLANとATM
LANとを接続するルータの内部構成を示すブロック図
であり、一般に市販されているマイクロプロセッサで構
成されたプロセッサ1と、パケットバッファ20,送信
バッファ21,受信バッファ22が設けられたメモリ
2、ATM LANとの間でパケットの送信および受信
を行う送信用分解/組立て回路(以下、SAR(S)と
言う)3および受信用組立て回路(以下、SAR(R)
と言う)4と、複数のトーキングLANとの間でパケッ
トの送受信を行う複数のLANコントローラ5,6,7
とから成っている。
【0005】ここで、SAR(s)およびSAR(R)
は、例えば米国TranSwitch CorpのSA
RAチップ(TXC−05501/05601)を使用
している。このSARAチップは送受信するパケットを
パケットバッファ20に読み書きする際に、連続したメ
モリアドレスを示すメモリアドレスデータを出力する。
【0006】また、パケットバッファ20はATM L
ANとトーキングLANとの間で送受信するパケットを
一時格納するものであり、メモリ容量を節約するため
に、固定長単位(例えば1Kバイト単位)で分割された
複数のメモリブロックで構成され、これらメモリブロッ
クをチエーンポインタで関係付けて連続する複数のパケ
ットを格納するようになっている。
【0007】また、送信バッファ21および受信バッフ
ァ22はパケットバッファ20にパケットを読み書きす
る時の一時格納用のバッファである。
【0008】図8は、パケットバッファ20と送信バッ
ファ21の使用方法を示す図であり、パケットバッファ
20はC語単位のメモリブロックB1,B2,B3,…
Bnで構成され、×印部分がユーザフレーム領域を示
し、その直前にはe語の管理ブロックが設けられ、この
管理ブロックにパケット同士の連結関係を示すチエーン
ポインタが格納されると共に、当該メモリブロックの使
用/未使用を示す情報が格納されるようになっている。
【0009】ここで、メモリブロックB1に格納された
パケットが一連のパケットのうち先頭パケットであると
すると、先頭のパケットにはLAN間の経路選択用のヘ
ッダを付加する必要から、メモリブロックB1の管理ブ
ロックの後半にはLAN間の経路選択用のヘッダが格納
され、ユーザフレーム領域のデータの先頭に付加されて
送信されるようになっている。
【0010】従って、メモリブロックB1の先頭アドレ
スをa,LAN間の経路選択用のヘッダの先頭アドレス
をbとすると、先頭のパケットについては「a+b」〜
「a+c」までがユーザフレーム領域となる。しかし、
2番目のパケットからは各メモリブロックの先頭アドレ
スからe語離れたアドレスからがユーザフレーム領域と
なる。
【0011】上記のように、SAR(S)3はパケット
バッファ20に格納されたパケットをATM LANに
送信するに際し、連続したメモリアドレスデータを送出
するのに対し、パケットバッファ20はチエーンポイン
タで複数のメモリブロックが連続または非連続で使用さ
れ、かつ各メモリブロックの先頭にはe語の管理ブロッ
クが付加されている。
【0012】従って、パケットバッファ20に格納され
たパケットをATM LANに送信するに際して、SA
R(S)3が送出する連続のメモリアドレスデータによ
りパケットバッファ20のユーザフレーム領域のデータ
を直接読み出すことはできない。
【0013】そこで、従来にあっては、送信対象の各ユ
ーザフレーム領域のデータを図8に示すように連続して
送信バッファ21に一旦複写した後、この送信バッファ
21をSAR(S)3が送出する連続のメモリアドレス
データにより読出し、SAR(S)3においてATM
LAN用のパケットに組立てて送信するようにしてい
る。
【0014】これは、受信用のSAR(R)4がATM
LANから受信したパケットをパケットバッファ20
に格納する場合も同様であり、SAR(R)4が受信し
たパケットは受信バッファ22に連続して一旦格納され
た後、パケットバッファ20の各メモリブロックのうち
未使用のブロックに順次格納される。
【0015】
【発明が解決しようとする課題】しかしながら、上記の
ように、SAR(S)3およびSAR(R)4が送信お
よび受信したパケットを送信バッファ21および受信バ
ッファ22に一旦複写する方法を採った場合、この複写
に要する時間がパケットの送受信速度の向上を図る上で
の障害となり、ルータの性能をさらに向上させることが
できないという問題が生じている。
【0016】本発明の目的は、固定長単位で分割された
複数のメモリブロック同士をチエーンポインタで関係付
けて情報を記憶するバッファに対し、連続したメモリア
ドレスデータを入力して情報を読み書きするルータ等の
情報システムにおいて、各メモリブロックの情報をさら
に高速で読み書きすることができるアドレス変換方法を
提供することである。
【0017】
【課題を解決するための手段】本発明は、上記目的を達
成するために、基本的には、チエーンポインタで関係付
けられる読み書き対象のメモリブロックに関し、先頭メ
モリブロックからの相対ブロック数データを連結順に連
結順テーブルに記憶しておき、前記メモリアドレスデー
タによって先頭連結順位のメモリブロックに対する情報
の読み書き終了後は、前記連結順テーブルに記憶された
前記相対ブロック数データを直前のメモリブロックの読
み書き終了毎に1つずつ順に読出し、その読出した相対
ブロック数データと各メモリブロックのサイズを示す固
定長データとの乗算値を前記メモリアドレスデータに加
算し、その加算値を前記バッファのメモリアドレス入力
とすることにより、連続アドレス指定の前記メモリアド
レスデータをチエーンポインタで関係付けられた前記バ
ッファへのアドレスデータに変換することを特徴とす
る。
【0018】
【作用】上記手段によると、まず、先頭の連結順位のメ
モリブロックから先頭のパケットに対する情報の読み書
き終了後は、前記連結順テーブルに記憶されたメモリブ
ロックの番号を直前のメモリブロックの読み書き終了毎
に1つずつ順に読出し、その読出したメモリブロック番
号と各メモリブロックのサイズを示す固定長データとの
乗算値を前記メモリアドレスデータに加算し、その加算
値を前記バッファのメモリアドレス入力とすることによ
り、連続アドレス指定の前記メモリアドレスデータをチ
エーンポインタで関係付けられたメモリブロックへのア
ドレスデータに変換する。
【0019】
【実施例】以下、本発明を図示する実施例に基づいて詳
細に説明する。
【0020】図1は、本発明によるアドレス変換方法を
使用したルータの一実施例を示す内部ブロック図であ
り、図7と同一部分は同一記号で表わし、その説明は省
略する。
【0021】図1において、図7と異なるのは、メモリ
2とSAR(S)3およびSAR(R)4との間にアド
レス変換回路8を設けたことである。なお、9はSAR
(S)3およびSAR(R)4に対しプロセッサからダ
イレクトメモリアクセス機能を起動させるゲートであ
る。
【0022】図2は、アドレス変換回路8の詳細構成
図、図3はパケットバッファ20の構成図である。
【0023】図2に示すアドレス変換回路8は、チエー
ンポインタで関係付けられる読み書き対象のパケットバ
ッファ20の各メモリブロックに関し、先頭メモリブロ
ックからの相対ブロック数データnを連結順にRレジス
タ(連結順テーブル)に記憶しておき、SAR(S)3
またはSAR(R)4から出力されるメモリアドレスデ
ータMAによって先頭連結順位のメモリブロックB0に
対する情報の読み書き終了後は、Rレジスタに記憶され
た相対ブロック数データnを直前のメモリブロックの読
み書き終了毎に1つずつ順に読出し、その読出した相対
ブロック数データと各メモリブロックのサイズを示す固
定長データCとの乗算値C・nを前記メモリアドレスデ
ータMAに加算し、その加算値をパケットバッファ20
のメモリアドレス入力とすることにより、連続アドレス
指定の前記メモリアドレスデータMAをチエーンポイン
タで関係付けられたパケットバッファ20へのアドレス
データに変換するように構成されている。
【0024】すなわち、変換対象となるパケットバッフ
ァ20の先頭メモリブロックB0の先頭アドレスaを保
持するAレジスタ81、先頭メモリブロックB0の先頭
アドレスaからの相対アドレスbを保持するBレジスタ
82、パケットバッファ20の各メモリブロックのアド
レス長Cを保持するCレジスタ83、先頭メモリブロッ
クB0からの相対ブロック数データnを連結順に記憶す
るRレジスタ84、各メモリブロックの先頭に設けられ
る管理ブロック86のアドレス長eを保持するEレジス
タ85を備えている。
【0025】また、メモリアドレスデータMAの変化を
1アドレス単位で検出するアドレス変化検出回路87、
先頭アドレスaと相対アドレスbとを加算する加算器8
8、アドレス長Cと相対ブロック数データnとを乗算す
る乗算器89、この乗算器89の乗算値C・nと先頭ア
ドレスaとを加算する加算器90、管理ブロック86の
アドレス長eとの加算器90の加算出力a+C・nとを
加算する加算器91を備えている。
【0026】さらに、加算器90の加算出力「a+C・
n」とメモリアドレスデータMAとを比較し、「a+C
・n」>MAの時はアンドゲー92に“1”信号を入力
する比較器93、加算器88の加算出力「a+b」とメ
モリアドレスデータMAとを比較し、「a+b」=MA
の時はオアゲート94に“1”信号を入力し、「a+
b」<MAの時はアンドゲート92に“1”信号を入力
する比較器95を備えている。
【0027】また、各メモリブロックのアドレス長Cと
管理ブロック86のアドレス長eとの差C−eを求める
減算器96、比較器93の両入力が一致した以降はカウ
ントイネーブルとなり、アドレス変化検出回路87から
1アドレス毎に出力されるパルス信号をカウントするカ
ウンタ97、このカウンタ97のカウント値(すなわ
ち、読み書きの終了したユーザフレーム領域のアドレス
長)と減算器96の減算出力とを比較し、両者が一致し
た時はカウンタ97をリセットすると共に、オアゲート
103を介して相対ブロックカウンタ102をカウント
アップする比較器98を備えている。
【0028】さらに、加算器91の加算出力とカウンタ
97のカウント値とを加算する加算器99、オアゲート
94の出力信号が“1”の時はメモリアドレスデータM
Aをパケットバッファ20へのアドレス入力として選択
出力し、オアゲート94の出力信号が“0”の時は加算
器99の加算出力を選択出力するセレクタ100、相対
ブロックカウンタ102のカウント値が「0」のとき
“1”信号をアンドゲート92に入力するデコーダ10
1を備えている。
【0029】なお、相対ブロックカウンタ102は、カ
ウント値「0」〜「n」の間を巡回し、そのカウント値
でRレジスタ84の相対ブロック数データが読み出され
る。
【0030】次に、以上の構成に係るアドレス変換動作
について図3を参照して説明する。
【0031】まず、Aレジスタ81、Bレジスタ82、
Cレジスタ83、Eレジスタ85にそれぞれ先頭アドレ
スa、相対アドレスb、アドレス長C、アドレス長eを
セットする。また、Rレジスタ84に対し、先頭メモリ
ブロックB0からの相対ブロック数データとして、例え
ば1,3,…,n−1,nを連結順に記憶させる。
【0032】次に、プロセッサ1からSAR(S)3に
対してメモリアドレス「a+b」を指定した後、ゲート
9を介してダイレクトメモリアクセス機能の起動指令を
与える。
【0033】すると、SAR(S)3はメモリアクセス
ために「a+b」から始まるメモリアドレスデータMA
を出力するようになる。
【0034】これに対し、比較器95はメモリアドレス
データMAが「a+b」の時に“1”信号をアンドゲー
ト94に入力し、また「a+b+1」となった後はアン
ドゲート92に“1”信号を入力する。
【0035】一方、相対ブロックカウンタ102はその
カウント値が「0」であるため、Rレジスタ84からは
先頭ステージの相対ブロック数データ「1」が出力され
る。また、デコーダ101の出力信号は“1”となって
いる。
【0036】従って、この状態では、乗算器89の乗算
出力は「1C」、加算器90の加算出力は「a+1c」
となっている。
【0037】このため、比較器93ではMA<「a+1
c」の関係が成立するので、“1”をアンドゲート92
に入力する。
【0038】これによって、アンドゲート92では3入
力が全て“1”となるので、該アンドゲート92はオア
ゲート94に“1”信号を入力する。
【0039】すなわち、メモリアドレスデータMAが
「a+b」〜「a+1c−1」の間はオアゲート94か
ら“1”信号が出力され、セレクタ100に入力され
る。
【0040】これにより、セレクタ100はメモリアド
レスデータMAをパケットバッファ20のアクセス用ア
ドレスデータとして出力する。
【0041】すなわち、先頭のメモリブロックB0につ
いてはメモリアドレスデータMAがそのまま出力され
る。
【0042】しかし、メモリアドレスデータMAが「a
+1c」になると、比較器93ではMA<「a+1c」
の関係が不成立となるので、アンドゲート92に入力さ
れていた“1”信号は“0”信号に変化する。このた
め、アンドゲート92の出力は“0”信号となり、さら
にオアゲート94の出力も“0”信号となる。これによ
って、セレクタ100は加算器99の出力を選択出力す
るようになる。
【0043】また、比較器93ではMA=「a+1c」
の関係が新たに成立するので、カウンタ97をカウント
イネーブル状態にする。さらに、オアゲート103を介
して相対ブロックカウンタ102を「カウント値=1」
に更新する。これによって、Rレジスタ84からは先頭
ステージの相対ブロック数データ「1」が再び出力され
る。
【0044】これによって、カウンタ97はメモリアド
レスデータMAが1アドレス変化する度にカウントアッ
プされる。
【0045】カウンタ97がカウントイネーブル状態と
なった以降では、加算器99は「カウンタ97のカウン
ト値+a+1c+e」を出力する。
【0046】これによって、メモリアドレスデータMA
が「a+1c」になった以降は、セレクタ100は「カ
ウンタ97のカウント値+a+1c+e」をパケットバ
ッファ20のアクセス用アドレスデータとして出力す
る。
【0047】すなわち、「a+1c」〜「a+1c+c
−e」までのメモリアドレスデータMAは、「カウンタ
97のカウント値+a+1c+e」に変換され、メモリ
ブロックB1のユーザフレーム領域のデータが読み出さ
れる。
【0048】次に、「カウンタ97のカウント値=c−
e」となると、すなわちメモリブロックB1のユーザフ
レーム領域のデータの読出しを終了すると、比較器98
では2つの入力値が一致するので、カウンタ97はリセ
ットされる。
【0049】同時に、相対ブロックカウンタ102が比
較器98の一致出力信号によってカウントアップされ、
カウント値=2となる。
【0050】すると、Rレジスタ84からは3番目のパ
ケットデータが記憶されているメモリブロックを示す相
対ブロック数データ「3」が出力される。このため、乗
算器89の出力は「3C」となる。
【0051】すると、加算器99の出力は、「カウンタ
97のカウント値+a+3c+e」となり、メモリブロ
ックB3のユーザフレーム領域のデータが読み出され
る。
【0052】以降、n番目のパケットデータが記憶され
ているメモリブロックBnまでの読出し動作が同様にし
て繰り返される。
【0053】なお、ATM LANからの受信データを
パケットバッファ20に書き込む場合も同様にアドレス
変換される。
【0054】このように本実施例によれば、連続アドレ
ス指定方式のメモリアドレスデータMAを、不連続のメ
モリブロックのアドレスデータに変換し、この変換後の
アドレスデータによりパケットバッファ20をアクセス
するようにしたので、パケットバッファ20内のデータ
を読み出して送信する際に、送信バッファ21に複写す
る必要がなくなる。この結果、パケットの送受信速度の
向上を図る上での障害がなくなり、ルータの性能をさら
に向上させることができる。
【0055】次に、第2の実施例について図4、図5、
図6を用いて説明する。
【0056】図4は、アドレス変換回路8の第2の実施
例を示す構成図であり、チエーンポインタで関係付けら
れる読み書き対象のメモリブロックに関し、先頭メモリ
ブロックからの相対ブロック位置データを連結順にRレ
ジスタに記憶しておき、メモリアドレスデータMAで示
されるアドレス位置が各メモリブロックのサイズを示す
固定長データCの何倍の位置にあるかを判定した後、そ
の倍数に対応する相対ブロック位置データをRレジスタ
から取得し、該相対ブロック位置データをメモリアドレ
スデータMAに加算し、その加算値をパケットバッファ
20のメモリアドレス入力とするように構成されてい
る。
【0057】すなわち、変換対象となるメモリアドレス
データMAの先頭アドレスaを保持するAレジスタ12
1、各メモリブロックの先頭に設けられる管理ブロック
86のアドレス長eを保持するEレジスタ122、各メ
モリブロックのアドレス長Cを保持するCレジスタ12
3、先頭メモリブロックBjからの相対ブロック位置デ
ータjを連結順に記憶するRレジスタ124を備えてい
る。
【0058】また、先頭アドレスaとメモリアドレスデ
ータMAとを比較し、MA>aならばセレクタ126に
“1”信号を入力する比較器125、メモリアドレスデ
ータMAの上位値MAbと下位値MAaとに分割した
時、“1”の上位値MAbとエンコーダ128の出力と
を加算し、その加算値でRレジスタ124から相対ブロ
ック位置データjを読み出す加算器127を備えてい
る。
【0059】ここで、メモリアドレスデータMAの下位
値MAaは、MAにMOD c(モジュロc)の演算を
施した値が入力される。従って、下位値MAaは固定長
データCの0倍,1倍,2倍,…,という値を意味する
ものとなる。
【0060】さらに、管理ブロック86のアドレス長e
を2倍〜i−2倍する乗算器129〜135、アドレス
長eと下位値MAaとを加算する加算器136、乗算器
129〜135の出力と下位値MAaとを加算する加算
器137〜143、アドレス長Cを2倍〜i−1倍する
乗算器148〜155、アドレス長Cと下位値MAaと
を比較する比較器156、乗算器148〜155の出力
と加算器136〜143の出力とを比較する比較器15
7〜163、これら156〜163の出力をコード化す
るエンコーダ128を備えている。
【0061】また、エンコーダ128の出力によって下
位値MAaおよび加算器136〜143の出力のうち1
つを選択し、セレクタ126の下位値MAa’として出
力するセレクタ164を備えている。
【0062】なお、Rレジスタ124から読み出された
相対ブロック位置データjはセレクタ126の上位値M
Ab’として出力される。
【0063】次に、以上の構成に係る動作について図5
を参照して説明する。
【0064】まず、Aレジスタ121、Eレジスタ12
2、Cレジスタ123に先頭アドレスa,アドレス長
e,Cをそれぞれセットし、さらにRレジスタ124に
図5のようにj,j+2,j+4,…をセットする。
【0065】次に、SAR(S)3から上位値MAbが
“1”、下位値MAaが「MODC」のメモリアドレス
データMAを出力するように設定し、送信動作を起動さ
せる。
【0066】これによって、SAR(S)3から上位値
MAbが“1”、下位値MAaが「MOD C」のメモ
リアドレスデータMAが出力されるようになるが、MA
が先頭アドレスa未満の場合は比較器125は“0”信
号を出力する。この結果、セレクタ126はメモリアド
レスデータMAを選択し、これをパケットバッファ20
のアドレス入力として供給する。
【0067】しかし、MAが先頭アドレスaを超える
と、比較器125は“1”信号を出力し、セレクタ12
6に「上位値MAb’+下位値MAa’」を選択出力さ
せる。
【0068】この時の「上位値MAb’+下位値MA
a’」は次のような値となる。すなわち、下位値MAa
がアドレス長C未満であれば、比較器156〜163の
出力は全て“1”となる。このため、エンコーダ128
の出力は“0”となり、セレクタ164は下位値MAa
を選択出力する。この選択出力された下位値MAaはセ
レクタ126に下位値MAa’として入力される。
【0069】一方、Rレジスタ124は上位値MAb=
“1”であるため、1番目のステージのデータjを上位
値MAb’として出力している。
【0070】これによって、下位値MAaがアドレス長
C未満の時には、メモリアドレスデータMAは「j+M
Aa’」に変換されて出力される。
【0071】ここで、メモリアドレスデータMAは連続
アドレス指定方式であるが、図6に示すように「C−
e」バイトの長さを1メモリブロックの長さとしてい
る。但し、1番目のメモリブロックについてはCバイト
を1メモリブロックの長さとしている。
【0072】従って、下位値MAaがアドレス長C未満
の時には、メモリブロックjのCバイト分のデータが読
み出される。先頭パケットの経路選択用のヘッダはCバ
イトの先頭に書き込んでおくことにより読み出される。
【0073】しかし、下位値MAaがアドレス長Cを超
えると、比較器156〜163のうち比較器156の出
力のみが“0”となるので、エンコーダ128の出力は
“1”となる。これによって、加算器127の出力は
“2”となり、Rレジスタ124からは「j+2」が出
力される。
【0074】一方、セレクタ164からは加算器136
の加算出力「下位値MAa+e」が出力される。
【0075】この結果、セレクタ126からは「(j+
2)+(下位値MAa+e)」が出力され、j+2ブロ
ックのデータがC−eバイト分読み出される。
【0076】j+2ブロックのデータの読出しが終了
し、「MAa+e」が「2C」を超えると、比較器15
6と157の出力が“0”となるので、エンコーダ12
8の出力は“2”となる。これによって、加算器127
の出力は“3”となり、Rレジスタ124からは「j+
4」が出力される。
【0077】一方、セレクタ164からは加算器137
の加算出力「下位値MAa+2e」が出力される。
【0078】この結果、セレクタ126からは「(j+
4)+(下位値MAa+2e)」が出力され、j+4ブ
ロックのデータがC−eバイト分読み出される。
【0079】以降、同様にしてメモリアドレスデータM
Aが変換されて出力され、Rレジスタ124に登録され
たメモリブロックのデータが順番に読み出される。
【0080】従って、この実施例においてもパケットバ
ッファ20のデータを送信バッファ21に複写すること
なくATM LANに送出することができる。
【0081】ここで、図2の実施例の場合、メモリアド
レスデータMAの値によって変換出力経路が異なるの
で、変換出力タイミングもメモリアドレスデータMAの
値によって変動することになるが、この図4の実施例に
おいては先頭パケットのデータ以外の全てのアドレスデ
ータは同じタイミングで出力されるので、変換出力のタ
イミング調整が容易であるという効果がある。
【0082】なお、パケットバッファ20にデータを書
き込む場合も同様である。
【0083】また、上記各実施例においては、パケット
バッファへの読み書きを行う場合について説明したが、
本発明はこれに限らず、連続のアドレスデータを不連続
のアドレスデータに変換する必要のある各種のデータ処
理装置に適用することができる。
【0084】
【発明の効果】以上説明したように本発明によれば、チ
エーンポインタで関係付けられる読み書き対象のメモリ
ブロックに関し、先頭メモリブロックからの相対ブロッ
ク数データを連結順に連結順テーブルに記憶しておき、
メモリアドレスデータによって先頭連結順位のメモリブ
ロックに対する情報の読み書き終了後は、前記連結順テ
ーブルに記憶された前記相対ブロック数データを直前の
メモリブロックの読み書き終了毎に1つずつ順に読出
し、その読出した相対ブロック数データと各メモリブロ
ックのサイズを示す固定長データとの乗算値を前記メモ
リアドレスデータに加算し、その加算値を前記バッファ
のメモリアドレス入力とすることにより、連続アドレス
指定の前記メモリアドレスデータをチエーンポインタで
関係付けられた前記バッファへのアドレスデータに変換
するようにしたので、連続したメモリアドレスデータに
より情報を読み書きするルータ等の情報システムにおい
て、各メモリブロックの情報をさらに高速で読み書きす
ることができ、性能を向上させることができる。
【0085】また、先頭メモリブロックからの相対ブロ
ック位置データを連結順に連結順テーブルに記憶してお
き、変換対象のメモリアドレスデータで示されるアドレ
ス位置が各メモリブロックのサイズを示す固定長データ
の何倍の位置にあるかを判定した後、その倍数に対応す
る相対ブロック位置データを前記連結順テーブルから取
得し、該相対ブロック位置データを前記メモリアドレス
データに加算し、その加算値を前記バッファのメモリア
ドレス入力とすることにより、連続アドレス指定の前記
メモリアドレスデータをチエーンポインタで関係付けら
れた前記バッファへのアドレスデータに変換する構成に
おいては、各メモリブロックの情報をさらに高速で読み
書きすることができるうえ、変換後のアドレスデータを
全て同じタイミングで出力することができ、変換出力の
タイミング調整が容易であるという効果がある。
【図面の簡単な説明】
【図1】本発明によるアドレス変換方法を使用したルー
タの一実施例を示すブロック構成図である。
【図2】図1のアドレス変換回路の詳細構成を示す回路
図である。
【図3】アドレス変換動作の説明図である。
【図4】図1のアドレス変換回路の他の実施例を示す回
路図である。
【図5】図4におけるアドレス変換動作の説明図であ
る。
【図6】図4におけるアドレス変換動作の説明図であ
る。
【図7】従来のアドレス変換方法を使用したルータの一
例を示すブロック構成図である。
【図8】従来のアドレス変換動作の説明図である。
【符号の説明】
1…プロセッサ、2…メモリ、3…SAR(S)、4…
SAR(R)、20…パケットバッファ、21…送信バ
ッファ、22…受信バッファ、84,124…Rレジス
タ。
フロントページの続き (72)発明者 佐藤 博 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 渡部 謙 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 畑中 諭 神奈川県秦野市堀山下1番地 株式会社日 立コンピュータエレクトロニクス内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 固定長単位で分割された複数のメモリブ
    ロックで構成され、各メモリブロック同士をチエーンポ
    インタで関係付けて情報を記憶するバッファを備え、こ
    のバッファに対して連続したメモリアドレスを示すメモ
    リアドレスデータを入力して情報を読み書きする情報シ
    ステムにおいて、 前記チエーンポインタで関係付けられる読み書き対象の
    メモリブロックに関し、先頭メモリブロックからの相対
    ブロック数データを連結順に連結順テーブルに記憶して
    おき、前記メモリアドレスデータによって先頭連結順位
    のメモリブロックに対する情報の読み書き終了後は、前
    記連結順テーブルに記憶された前記相対ブロック数デー
    タを直前のメモリブロックの読み書き終了毎に1つずつ
    順に読出し、その読出した相対ブロック数データと各メ
    モリブロックのサイズを示す固定長データとの乗算値を
    前記メモリアドレスデータに加算し、その加算値を前記
    バッファのメモリアドレス入力とすることにより、連続
    アドレス指定の前記メモリアドレスデータをチエーンポ
    インタで関係付けられた前記バッファへのアドレスデー
    タに変換することを特徴とするアドレス変換方法。
  2. 【請求項2】 前記乗算値に対し、各メモリブロックの
    先頭に設けられる管理ブロックのアドレス長を示すデー
    タを更に加算することを特徴とする請求項1記載のアド
    レス変換方法。
  3. 【請求項3】 固定長単位で分割された複数のメモリブ
    ロックで構成され、各メモリブロック同士をチエーンポ
    インタで関係付けて情報を記憶するバッファを備え、こ
    のバッファに対して連続したメモリアドレスを示すメモ
    リアドレスデータを入力して情報を読み書きする情報シ
    ステムにおいて、 前記チエーンポインタで関係付けられる読み書き対象の
    メモリブロックに関し、先頭メモリブロックからの相対
    ブロック位置データを連結順に連結順テーブルに記憶し
    ておき、前記メモリアドレスデータで示されるアドレス
    位置が各メモリブロックのサイズを示す固定長データの
    何倍の位置にあるかを判定した後、その倍数に対応する
    相対ブロック位置データを前記連結順テーブルから取得
    し、該相対ブロック位置データを前記メモリアドレスデ
    ータに加算し、その加算値を前記バッファのメモリアド
    レス入力とすることにより、連続アドレス指定の前記メ
    モリアドレスデータをチエーンポインタで関係付けられ
    た前記バッファへのアドレスデータに変換することを特
    徴とするアドレス変換方法。
JP11850594A 1994-05-31 1994-05-31 アドレス変換方法 Pending JPH07325751A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11850594A JPH07325751A (ja) 1994-05-31 1994-05-31 アドレス変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11850594A JPH07325751A (ja) 1994-05-31 1994-05-31 アドレス変換方法

Publications (1)

Publication Number Publication Date
JPH07325751A true JPH07325751A (ja) 1995-12-12

Family

ID=14738324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11850594A Pending JPH07325751A (ja) 1994-05-31 1994-05-31 アドレス変換方法

Country Status (1)

Country Link
JP (1) JPH07325751A (ja)

Similar Documents

Publication Publication Date Title
US7315550B2 (en) Method and apparatus for shared buffer packet switching
US6266705B1 (en) Look up mechanism and associated hash table for a network switch
JP2829807B2 (ja) セル遅延付加回路
JPH09102802A (ja) ハードウェアパケットルータの転送先アドレス検出装置
JP3761980B2 (ja) 加法によるデータパッキングのための装置及びその方法
US5764967A (en) Multiple frequency memory array clocking scheme for reading and writing multiple width digital words
JP3429994B2 (ja) セルバッファ回路
JPH0863954A (ja) 先入先出し(fifo)メモリ
US7111093B2 (en) Ping-pong buffer system having a buffer to store a subset of data from a data source
JPH07325751A (ja) アドレス変換方法
JPH0514458B2 (ja)
CA2157435C (en) Vector data bypass mechanism for vector computer
JP2684820B2 (ja) サラウンド回路
JP3193202B2 (ja) Fifo型メモリ
JP3755249B2 (ja) データ記憶装置
JP3384213B2 (ja) メモリアクセス装置
JPH0833869B2 (ja) データ処理装置
JP2001077702A (ja) ビット演算付加データの高速転送回路
JP3436984B2 (ja) Atm通信システムのトラフィックシェーピング装置
JPH0440551A (ja) データ転送方式
JPH02234544A (ja) 時分割多重データ―パケット変換回路
JPH05341957A (ja) リングバッファ回路
JPS6148301B2 (ja)
JPH05324516A (ja) 速度変換回路
JPS6116364A (ja) ベクトルデ−タ処理装置