(57)【特許請求の範囲】
【請求項１】
パケットデータを処理する第１の処理装置と、パケットデータを処理する第２の処理装置との間で、前記パケットデータを伝送するデータ伝送装置において、
前記第１の処理装置から前記第２の処理装置へ伝送されるｎビットのパケットデータのビット列を一時的に格納するｎ＋ｍビット幅の格納手段と、
前記第１の処理装置と前記格納手段との間で前記ｎビットのパケットデータのビット列を伝送可能にするｎビット幅の第１のバスと、
前記格納手段と前記第２の処理装置との間で前記ｎビットのパケットデータのビット列を伝送可能にするｎビット幅のｎビット幅の第２のバスと、
前記第１の処理装置に設けられ、前記ｎビットのパケットデータのビット列が前記パケットデータの先頭であるか否かを識別するために用いるｍビットの情報ビットを生成する情報ビット生成手段と、
前記情報ビット生成手段から前記格納手段に、ｎビットのパケットデータのビット列毎に、前記情報ビットを対応させて入力する情報ビット入力手段と、
前記格納手段から前記第２のバスへ伝送される先頭の前記ｎビットのパケットデータのビット列に含まれる所定ビットを、先頭を示す前記情報ビットに置き換える一方、それ以外のビット列についてはビットの置き換えをしないビット置き換え手段と、
前記第２のバスを介して前記第２の処理装置に伝送された前記ｎビットのパケットデータのビット列から前記情報ビットを抽出して、該情報ビットから前記ｎビットのパケットデータのビット列の先頭位置を検出するパケット位置検出手段と、を備えることを特徴とするデータ伝送装置。
【請求項２】
前記パケットデータの先頭に対応する前記ｎビットのパケットデータのビット列は、前記パケットデータのパケット長を含むことを特徴とする請求項１に記載のデータ伝送装置。
【請求項３】
請求項１又は２に記載のデータ伝送装置におけるデータ伝送方法において、
前記第１の処理装置から前記第２の処理装置へ伝送される前記ｎビットのパケットデータのビット列を一時的に前記格納手段に格納する第１の手順と、
前記第１の処理装置に設けられ、前記ｎビットのパケットデータのビット列が前記パケットデータの先頭であるか否かを識別するために用いるｍビットの情報ビットを生成する第２の手順と、
前記情報ビット生成手段から前記格納手段に、ｎビットのパケットデータのビット列毎に、前記情報ビットを対応させて入力する第３の手順と、
前記格納手段から前記第２のバスへ伝送される先頭の前記ｎビットのパケットデータのビット列に含まれる所定ビットを、先頭を示す前記情報ビットに置き換える一方、それ以外のビット列についてはビットの置き換えをしない第４の手順と、
前記第２のバスを介して前記第２の処理装置に伝送された前記ｎビットのパケットデータのビット列から前記情報ビットを抽出して、該情報ビットから前記ｎビットのパケットデータのビット列の先頭位置を検出する第５の手順と、を備えることを特徴とするデータ伝送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定のソフトウェア処理を行うソフトウェア処理装置と所定のハードウェア処理を行うハードウェア処理装置との間でパケットデータを伝送するデータ伝送装置及び方法に関する。
【０００２】
【従来の技術】
企業等においては、複数のパーソナルコンピュータ等の端末をイーサネット等のＬＡＮ（Local Area Netwaork ）で接続し、端末間で相互に情報のやり取りが行われている。ＬＡＮにおいては、一般にパケットと呼ばれる単位で情報がやり取りされる。このパケットには、ＩＰ（Internet Protocol ）パケット、ＡＲＰ（Address Resolution Protocol ）パケット、ＮＨＲＰ（Next Hop Resolution Protocol）パケット等の種別がある。また、パケットは、そのパケット種別毎にフォーマット（パケットフォーマット）が定められている。このパケットフォーマットに基づいて、パケットの属性を認識することができる。
【０００３】
ところで、上述したパケットを処理する各種のデータ処理装置は、一般に、高速な処理を行う機能をハードウェア処理装置（Ｈ／Ｗ）で実現し、複雑な処理を行う機能をソフトウェア処理装置（Ｓ／Ｗ）で実現するように構成されている。このため、Ｈ／ＷとＳ／Ｗの間でパケットをやり取りする必要がある。データ伝送装置は、このようなデータ処理装置内部においてＨ／ＷとＳ／Ｗの間のパケットのやり取りを行うものである。
【０００４】
図４は、従来のデータ伝送装置の構成を示すブロック図である。同図に示すデータ伝送装置４００は、データバス４０１、ＣＰＵ４１０、アドレスバス４１１、入出力信号バス４１２、集積回路（ＬＳＩ）４２０、アドレスデコーダ４３０、チップセレクト信号バス４３１、ＦＩＦＯ（First In First Out）メモリ４４０を含んで構成されている。このデータ伝送装置４００は、ＣＰＵ４１０をＳ／Ｗ、ＬＳＩ４２０をＨ／Ｗとしており、データバス４０１を介してＬＳＩ４２０からＣＰＵ４１０にパケットデータを伝送するものである。なお、データバス４０１は、１６ビットのデータを並列に伝送可能な１６ビット幅の伝送路である。
【０００５】
以下、図５に示すパケットデータ伝送時のタイムチャートに従って、ＬＳＩ４２０からＣＰＵ４１０にパケットデータを伝送する際の動作を説明する。ＣＰＵ４１０は、読み出し信号を入出力信号バス４１２へ伝送する。ＬＳＩ４２０は、読み出し信号が伝送される毎に、パケットデータを８ビット（１ワード）単位で並列にデータバス４０１へ伝送すると共に、この８ビット単位のパケットデータの伝送に同期して、パケットデータの先頭を識別するための２ビットのデータ（パケット状態信号）をデータバス４０１へ伝送する。図４に示すようにパケット状態信号は、パケットデータの先頭ワード（Ｄ１）が伝送される時に「１」、２ワード目以降が伝送される時に「０」を示すようになっている。従って、データバス４０１には、１ワード分のパケットデータと１ビットのパケット状態信号が並列に伝送されることになる。データバス４０１に伝送されたパケットデータ及びパケット状態信号は、ＦＩＦＯメモリ４４０に格納される。
【０００６】
一方、ＣＰＵ４１０は、所定の割り込み信号等を受信することにより、ＦＩＦＯメモリ４４０にパケットデータ及びパケット状態信号が格納されたことを認識し、ＦＩＦＯメモリ４３０から１ワードずつパケットデータを読み出すと共に、この１ワード分のパケットデータに対応するパケット状態信号を読み出す。このように、ＣＰＵ４１０は、パケットデータと共にパケット状態信号を読み出すことにより、パケットデータの先頭を認識することができる。
【０００７】
【発明が解決しようとする課題】
ところで、一般にパケットデータは、８ビット（１ワード）単位にその内容が区切られている。このため、パケットデータを処理する際は、任意のビット単位で処理するよりも８の整数倍のビット単位で処理する方が回路やプログラムが複雑にならずに済む。上述したデータ伝送装置４００において、パケットデータを８ビット単位で伝送するのは、このような理由による。
【０００８】
一方、データバスは、一般に８の整数倍の本数の信号線を有している。このため、データバスをパケットデータの伝送のみに用いることができれば、全ての信号線が使用されることになる。しかし、上述したように、データバスにはパケットデータと共にパケット状態信号が伝送されるため、一部の信号線が使用されず、パケットデータの伝送効率が低下していた。
【０００９】
例えば、データ伝送装置４００においては、データバス４０１は、１６本の信号線を有しているため、このデータバス４０１をパケットデータの伝送のみに用いることができれば、２ワード単位でパケットデータを伝送することができる。しかし、データバス４０１にはパケットデータと共に２ビットのパケット状態信号が伝送されるため、一部の信号線が使用されず、１ワード単位でしかパケットデータを伝送することができなかった。このため、パケットデータの伝送効率を向上させることが要求されていた。
【００１０】
本発明の目的は、上記従来の問題点を解決し、パケットデータの伝送効率を向上させたデータ伝送装置を提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明のデータ伝送装置は、パケットデータを処理する第１の処理装置と、パケットデータを処理する第２の処理装置との間で、前記パケットデータを伝送するものであり、前記第１の処理装置から前記第２の処理装置へ伝送されるｎビットのパケットデータのビット列を一時的に格納するｎ＋ｍビット幅の格納手段と、前記第１の処理装置と前記格納手段との間で前記ｎビットのパケットデータのビット列を伝送可能にするｎビット幅の第１のバスと、前記格納手段と前記第２の処理装置との間で前記ｎビットのパケットデータのビット列を伝送可能にするｎビット幅のｎビット幅の第２のバスと、前記第１の処理装置に設けられ、前記ｎビットのパケットデータのビット列が前記パケットデータの先頭であるか否かを識別するために用いるｍビットの情報ビットを生成する情報ビット生成手段と、前記情報ビット生成手段から前記格納手段に、ｎビットのパケットデータのビット列毎に、前記情報ビットを対応させて入力する情報ビット入力手段と、前記格納手段から前記第２のバスへ伝送される先頭の前記ｎビットのパケットデータのビット列に含まれる所定ビットを、先頭を示す前記情報ビットに置き換える一方、それ以外のビット列についてはビットの置き換えをしないビット置き換え手段と、前記第２のバスを介して前記第２の処理装置に伝送された前記ｎビットのパケットデータのビット列から前記情報ビットを抽出して、該情報ビットから前記ｎビットのパケットデータのビット列の先頭位置を検出するパケット位置検出手段とを備えて構成される。
【００１２】
特に、前記パケットデータの先頭に対応する前記ｎビットのパケットデータのビット列は、前記パケットデータのパケット長を含むことが好ましい。
【００１３】
また、本発明のデータ伝送方法は、前記第１の処理装置から前記第２の処理装置へ伝送される前記ｎビットのパケットデータのビット列を一時的に前記格納手段に格納する第１の手順と、前記第１の処理装置に設けられ、前記ｎビットのパケットデータのビット列が前記パケットデータの先頭であるか否かを識別するために用いるｍビットの情報ビットを生成する第２の手順と、前記情報ビット生成手段から前記格納手段に、ｎビットのパケットデータのビット列毎に、前記情報ビットを対応させて入力する第３の手順と、前記格納手段から前記第２のバスへ伝送される先頭の前記ｎビットのパケットデータのビット列に含まれる所定ビットを、先頭を示す前記情報ビットに置き換える一方、それ以外のビット列についてはビットの置き換えをしない第４の手順と、前記第２のバスを介して前記第２の処理装置に伝送された前記ｎビットのパケットデータのビット列から前記情報ビットを抽出して、該情報ビットから前記ｎビットのパケットデータのビット列の先頭位置を検出する第５の手順とを備えて構成される。
【００１４】
【発明の実施の形態】
以下、図示した一実施形態に基いて本発明を詳細に説明する。図１は、本発明に係るデータ伝送装置の構成を示すブロック図である。同図に示すデータ伝送装置１００は、データバス１０１ａ、１０１ｂ、１０１ｃ、１０１ｄ、ＣＰＵ１１０、アドレスバス１１１、入出力信号バス１１２、アドレスデコーダ１２０、チップセレクト信号バス１２１、ＬＳＩ１３０、制御情報生成回路１３１、パケット状態信号バス１３２、セレクタ１３３、セレクタ制御信号バス１３４を含んで構成されている。このデータ伝送装置１００は、ＣＰＵ１１０をＳ／Ｗ、ＬＳＩ１１３０をＨ／Ｗとしており、データバス１０１ａ、１０１ｂ、１０１ｃを介してＬＳＩ１３０からＣＰＵ１１０へパケットデータを伝送するものである。なお、以下においては、パケットデータの最上位ビットは無内容であり、２ビット目〜８ビット目はパケットデータの長さ（パケット長）を示しているものとする。
【００１５】
データバス１０１ａは、ＬＳＩ１３０からＦＩＦＯメモリ１４０へのパケットデータの伝送を可能にするものであり、１６ビットのデータを並列に伝送可能な１６ビット幅の伝送路である。一方、データバス１０１ｂ及びデータバス１０１ｃは、ＦＩＦＯメモリ１４０からＣＰＵ１１０へのパケットデータの伝送を可能にするものである。データバス１０１ｂは、１５ビットのデータを並列に伝送可能な１５ビット幅の伝送路である。また、データバス１０１ｃは、１ビット幅の伝送路である。また、データバス１０１ｄは、ＣＰＵ１１０からＬＳＩ１３０へのデータの伝送を可能にするものである。
【００１６】
ＣＰＵ１１０は、ＬＳＩ１３０から伝送されるパケットデータに対して、所定のソフトウェア処理を行う。また、ＣＰＵ１１０は、パケットデータの伝送において、データ伝送装置１００全体の制御を行う。具体的には、ＣＰＵ１１０は、ＬＳＩ１３０からＣＰＵ１１０へのパケットデータの伝送を開始する際には、その伝送に先立って、書き込み信号を入出力信号バス１１２に伝送し、制御情報生成回路１３１に割り当てられたアドレス「Ｂ」をアドレスバス１１１へ伝送すると共に、パケットデータの伝送を開始する旨のデータ「Ｘ」をデータバス１０１ｄへ伝送する。そして、ＬＳＩ１３０からＣＰＵ１１０へのパケットデータの伝送時においては、ＣＰＵ１１０は、読み出し信号を入出力信号バス１１２に伝送すると共に、ＦＩＦＯメモリ１４０に割り当てられたアドレス「Ａ」をアドレスバス１１１へ伝送する。アドレス「Ａ」やアドレス「Ｂ」は、アドレスデコーダ１２０に取り込まれる。また、パケットデータの伝送を開始する旨のデータ「Ｘ」は、制御情報生成回路１３１に取り込まれる。
【００１７】
アドレスデコーダ１２０は、ＣＰＵ１１０から伝送されるアドレスに基づいて、制御情報生成回路１３１及びＦＩＦＯメモリ１４０によるデータの入出力を制御するためのチップセレクト信号を生成する。ここで、制御情報生成回路１３１はチップセレクト信号がローレベルのときにデータを取り込むことが可能になっており、ＦＩＦＯメモリ１４０はチップセレクト信号がローレベルのときにデータを入出力することが可能になっている。アドレスデコーダ１２０は、ＦＩＦＯメモリ１４０に割り当てられたアドレス「Ａ」が伝送された場合には、ＦＩＦＯメモリ１４０によるデータの入出力を可能にすべく、ローレベルのチップセレクト信号をチップセレクト信号バス１２１を介してＦＩＦＯメモリ１４０へ伝送する。また、アドレスデコーダ１２０は、制御情報生成回路１３１に割り当てられたアドレス「Ｂ」が伝送された場合には、制御情報生成回路１３１によるデータの取り込みを可能にすべく、ローレベルのチップセレクト信号をチップセレクト信号バス１２１を介して制御情報生成回路１３１へ伝送する。
【００１８】
ＬＳＩ１３０は、パケットデータに対して、所定のハードウェア処理を行うものである。このＬＳＩ１３０には、制御情報生成回路１３１が備えられている。制御情報生成回路１３１は、データバス１０１ｃを介してＣＰＵ１１０から伝送されるパケットデータの伝送を開始する旨のデータ「Ｘ」を取り込むことにより、ＣＰＵ１１０によってパケットデータの伝送が指示されたことを認識し、それ以降、ＣＰＵ１１０から読み出し信号が伝送される毎に、処理したパケットデータを１６ビット（２ワード）単位で並列にデータバス１０１ａへ伝送する。以下においては、この伝送の単位である２ワード分のパケットデータのビット列を「パケットブロック」と称することとする。伝送されたパケットブロックはＦＩＦＯメモリ１４０に格納される。
【００１９】
また、制御情報生成回路１３１は、パケットブロックを伝送する毎に、そのパケットブロックに対応する１ビットのパケット状態信号を生成する。パケット状態信号は、パケットブロックがパケットデータのどの位置に対応するのかを示すものであり、パケットブロックがパケットデータの先頭に対応している場合には「１」、先頭以外の場合には「０」をそれぞれ示す。制御情報生成回路１３１は、このようにして生成したパケット情報信号を、このパケット情報信号に対応するパケットブロックと同時にＦＩＦＯメモリ１４０に格納されるように、１ビット幅のパケット状態信号バス１３２へ伝送する。
【００２０】
ＦＩＦＯメモリ１４０は、１７ビット単位でデータを格納及び出力するものであり、パケットブロック及び該パケットブロックに対応するパケット状態信号を同時に格納すると共に、この格納順で出力する。出力されたパケットブロックの内、最上位ビットはデータバス１０１ｃを介してセレクタ１３３に伝送され、２ビット目以降はデータバス１０１ｂを介してＣＰＵ１１０へ伝送される。また、出力されたパケット状態信号は、パケット状態信号バス１３２を介してセレクタ１３３へ伝送される。
【００２１】
また、制御情報生成回路１３１は、セレクタ制御信号を送出してセレクタ１３３を制御する。具体的には、制御情報生成回路１３１は、セレクタ１３３にパケットデータの先頭に対応するパケットブロックの最上位ビットと該パケットブロックに対応するパケット状態信号「１」とが入力される場合には、パケット状態信号を出力し、その他の場合には、パケットブロックの最上位ビットを出力するようにセレクタ１３３を制御する。セレクタ１３３は、この制御情報生成回路１３１の制御に応じて切替動作を行い、パケットデータの先頭に対応するパケットブロックの最上位ビットを該パケットブロックに対応するパケット状態信号「１」に置き換える。セレクタ１３３から出力される１ビットのデータは、データバス１０１ｃを介してＣＰＵ１１０に伝送される。
【００２２】
ＣＰＵ１１０は、セレクタ１３３から出力される１ビットのデータとＦＩＦＯメモリ１４０から出力されるパケットブロックの２ビット目以降の１５ビットのデータを受信し、これらのデータからパケットブロックを復元する。上述したように、セレクタ１３３によって、パケットデータの先頭に対応するパケットブロックの最上位ビットは、該パケットブロックに対応するパケット状態信号「１」に置き換えられている。このため、ＣＰＵ１１０は、復元したデータブロックの最上位ビットを解析してパケット状態信号を検出することにより、パケットデータの先頭を認識することができる。また、パケットデータの先頭に対応するパケットブロックの２ビット目〜８ビット目はパケット長を示しているため、ＣＰＵ１１０は、パケットデータの長さを認識することもできる。
【００２３】
本発明に係るデータ伝送装置１００は上述した構成を示しており、次にその動作を説明する。図２は、データ伝送装置１００のパケットデータ伝送時のタイムチャートである。以下においては、パケットデータが８０個のパケットブロック「Ｄ１」〜「Ｄ８０］に分割されて伝送される場合について説明する。
【００２４】
最初のＣＰＵサイクル（ＣＰＵサイクル１）では、ＣＰＵ１１０は、パケットデータの伝送に先立って、書き込み信号を入出力信号バス１１２に伝送し、制御情報生成回路１３１に割り当てられたアドレス「Ｂ」をアドレスバス１１１へ伝送すると共に、パケットデータの伝送を開始する旨のデータ「Ｘ」をデータバス１０１ｄへ伝送する。アドレスデコーダ１２０は、アドレス「Ｂ」が伝送されると、制御情報生成回路１３１によるデータの取り込みを可能にすると共にＦＩＦＯメモリ１４０によるデータの入出力を不可とすべく、ローレベルのチップセレクト信号を制御情報生成回路１３１へ伝送し、ハイレベルのチップセレクト信号をＦＩＦＯメモリ１４０へ伝送する。制御情報生成回路１３１は、データ取り込みが可能となって、パケットデータの伝送を開始する旨のデータ「Ｘ」を取り込み、パケットデータの伝送が指示されたことを認識する。
【００２５】
次のＣＰＵサイクル（ＣＰＵサイクル２）では、ＣＰＵ１１０は、読み出し信号を入出力信号バス１１２に伝送すると共に、ＦＩＦＯメモリ１４０に割り当てられたアドレス「Ａ」をアドレスバス１１１へ伝送する。アドレスデコーダ１２０は、アドレス「Ａ」が伝送されると、ＦＩＦＯメモリ１４０によるデータの入出力を可能にすると共に制御情報生成回路１３１によるデータの取り込みを不可とすべく、ローレベルのチップセレクト信号をＦＩＦＯメモリ１４０へ伝送し、ハイレベルのチップセレクト信号を制御情報生成回路１３１へ伝送する。ＬＳＩ１３０は、読み出し信号が伝送されると、パケットブロック「Ｄ１」をＦＩＦＯメモリ１４０に伝送する。また、制御情報生成回路１３１は、データブロック「Ｄ１」に対応するパケット状態信号「１」を生成し、ＦＩＦＯメモリ１４０へ伝送する。従って、ＦＩＦＯメモリ１４０には、パケットブロック「Ｄ１」とこのパケットブロック「Ｄ１」に対応するパケット状態信号「１」が同時に格納され、出力されることになる。また、制御情報生成回路１３１は、ＣＰＵサイクル１でパケットデータの伝送の開始が指示されたことに基づいて、セレクタ１３３がパケット状態信号を出力するように制御すべく、セレクタ制御信号を送出する。従って、ＣＰＵ１１０によって受信されるパケットブロックは、最上位ビットがパケット状態信号に置き換えられたものになる。
【００２６】
ＣＰＵサイクル３では、ＣＰＵ１１０は、読み出し信号を伝送すると共に、アドレス「Ａ」の伝送を継続する。アドレスデコーダ１２０は、アドレス「Ａ」の伝送が継続されているため、ＦＩＦＯメモリ１４０へ伝送するチップセレクト信号をローレベルに維持して、ＦＩＦＯメモリ１４０によるデータの入出力を可能にする。ＬＳＩ１３０は、読み出し信号が伝送されると、パケットブロック「Ｄ２」をＦＩＦＯメモリ１４０に伝送する。また、制御情報生成回路１３１は、データブロック「Ｄ２」に対応するパケット状態信号「０」を生成し、ＦＩＦＯメモリ１４０へ伝送する。従って、ＦＩＦＯメモリ１４０には、パケットブロック「Ｄ２」とこのパケットブロック「Ｄ２」に対応するパケット状態信号「０」が同時に格納され、出力されることになる。また、制御情報生成回路１３１は、ＣＰＵサイクル２でパケット制御信号「１」を生成したことに基づいて、セレクタ１３３がパケットブロックの最上位ビットを出力するように制御すべく、セレクタ制御信号を送出する。従って、ＣＰＵ１１０によって受信されるパケットブロックは、最上位ビットがパケット状態信号に置き換えらていないものになる。以降、ＣＰＵサイクル８１においてパケットブロック「Ｄ８０」が伝送されるまで、同様の動作が繰り返される。
【００２７】
このように、データ伝送装置１００では、パケットデータの先頭に対応するパケットブロックの最上位ビットが該パケットブロックに対応するパケット状態信号「１」に置き換えられている。このため、従来のように別にパケット状態信号を伝送する必要がない。従って、データバス１０１ａ、１０１ｂにパケットデータのみを伝送させることができ、パケットデータの伝送効率を向上させることができる。
【００２８】
以上、本発明の一実施形態を図面に沿って説明した。しかしながら本発明は前記実施形態に示した事項に限定されず、特許請求の範囲の記載に基いてその変更、改良等が可能であることは明らかである。例えば、上述した実施形態では、データバス１０１ａを１６ビット幅としたが、ビット幅は８の倍数であればよい。また、データバス１０１ｂのビット幅については、データバス１０１ａのビット幅からパケット状態信号のビット数を減じた結果を設定すればよい。
【００２９】
【発明の効果】
以上の如く本発明によれば、パケットデータの一部をパケット位置の識別に用いる情報ビットに置き換えて伝送するため、パケットデータの伝送効率を向上させることができる。
【図面の簡単な説明】
【図１】本発明に係るデータ伝送装置の構成を示すブロック図である。
【図２】図１に示すデータ伝送装置データのパケットデータ伝送時のタイムチャートである。
【図３】従来のデータ伝送装置の構成を示すブロック図である。
【図４】図３に示すデータ伝送装置データのパケットデータ伝送時のタイムチャートである。
【符号の説明】
１００  データ伝送装置
１０１ａ、１０１ｂ、１０１ｃ、１０１ｄ  データバス
１１０  ＣＰＵ
１１１  アドレスバス
１１２  入出力信号バス
１２０  アドレスデコーダ
１２１  チップセレクト信号バス
１３０  ＬＳＩ
１３１  制御情報生成回路
１３２  パケット状態信号バス
１３３  セレクタ
１３４  セレクタ制御信号バス
１４０  ＦＩＦＯメモリ
【図１】
0004423728.tif 000002
【図２】
0004423728.tif 000003
【図３】
0004423728.tif 000004
【図４】
0004423728.tif 000005