JP4423728B2 - Data transmission apparatus and method - Google Patents

Data transmission apparatus and method Download PDF

Info

Publication number
JP4423728B2
JP4423728B2 JP2000058149A JP2000058149A JP4423728B2 JP 4423728 B2 JP4423728 B2 JP 4423728B2 JP 2000058149 A JP2000058149 A JP 2000058149A JP 2000058149 A JP2000058149 A JP 2000058149A JP 4423728 B2 JP4423728 B2 JP 4423728B2
Authority
JP
Japan
Prior art keywords
bit
packet data
data
packet
bus
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
JP2000058149A
Other languages
Japanese (ja)
Other versions
JP2001251387A (en
Inventor
寛 小野
Original Assignee
ネッツエスアイ東洋株式会社
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 ネッツエスアイ東洋株式会社 filed Critical ネッツエスアイ東洋株式会社
Priority to JP2000058149A priority Critical patent/JP4423728B2/en
Publication of JP2001251387A publication Critical patent/JP2001251387A/en
Application granted granted Critical
Publication of JP4423728B2 publication Critical patent/JP4423728B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、所定のソフトウェア処理を行うソフトウェア処理装置と所定のハードウェア処理を行うハードウェア処理装置との間でパケットデータを伝送するデータ伝送装置及び方法に関する。
【0002】
【従来の技術】
企業等においては、複数のパーソナルコンピュータ等の端末をイーサネット等のLAN(Local Area Netwaork )で接続し、端末間で相互に情報のやり取りが行われている。LANにおいては、一般にパケットと呼ばれる単位で情報がやり取りされる。このパケットには、IP(Internet Protocol )パケット、ARP(Address Resolution Protocol )パケット、NHRP(Next Hop Resolution Protocol)パケット等の種別がある。また、パケットは、そのパケット種別毎にフォーマット(パケットフォーマット)が定められている。このパケットフォーマットに基づいて、パケットの属性を認識することができる。
【0003】
ところで、上述したパケットを処理する各種のデータ処理装置は、一般に、高速な処理を行う機能をハードウェア処理装置(H/W)で実現し、複雑な処理を行う機能をソフトウェア処理装置(S/W)で実現するように構成されている。このため、H/WとS/Wの間でパケットをやり取りする必要がある。データ伝送装置は、このようなデータ処理装置内部においてH/WとS/Wの間のパケットのやり取りを行うものである。
【0004】
図4は、従来のデータ伝送装置の構成を示すブロック図である。同図に示すデータ伝送装置400は、データバス401、CPU410、アドレスバス411、入出力信号バス412、集積回路(LSI)420、アドレスデコーダ430、チップセレクト信号バス431、FIFO(First In First Out)メモリ440を含んで構成されている。このデータ伝送装置400は、CPU410をS/W、LSI420をH/Wとしており、データバス401を介してLSI420からCPU410にパケットデータを伝送するものである。なお、データバス401は、16ビットのデータを並列に伝送可能な16ビット幅の伝送路である。
【0005】
以下、図5に示すパケットデータ伝送時のタイムチャートに従って、LSI420からCPU410にパケットデータを伝送する際の動作を説明する。CPU410は、読み出し信号を入出力信号バス412へ伝送する。LSI420は、読み出し信号が伝送される毎に、パケットデータを8ビット(1ワード)単位で並列にデータバス401へ伝送すると共に、この8ビット単位のパケットデータの伝送に同期して、パケットデータの先頭を識別するための2ビットのデータ(パケット状態信号)をデータバス401へ伝送する。図4に示すようにパケット状態信号は、パケットデータの先頭ワード(D1)が伝送される時に「1」、2ワード目以降が伝送される時に「0」を示すようになっている。従って、データバス401には、1ワード分のパケットデータと1ビットのパケット状態信号が並列に伝送されることになる。データバス401に伝送されたパケットデータ及びパケット状態信号は、FIFOメモリ440に格納される。
【0006】
一方、CPU410は、所定の割り込み信号等を受信することにより、FIFOメモリ440にパケットデータ及びパケット状態信号が格納されたことを認識し、FIFOメモリ430から1ワードずつパケットデータを読み出すと共に、この1ワード分のパケットデータに対応するパケット状態信号を読み出す。このように、CPU410は、パケットデータと共にパケット状態信号を読み出すことにより、パケットデータの先頭を認識することができる。
【0007】
【発明が解決しようとする課題】
ところで、一般にパケットデータは、8ビット(1ワード)単位にその内容が区切られている。このため、パケットデータを処理する際は、任意のビット単位で処理するよりも8の整数倍のビット単位で処理する方が回路やプログラムが複雑にならずに済む。上述したデータ伝送装置400において、パケットデータを8ビット単位で伝送するのは、このような理由による。
【0008】
一方、データバスは、一般に8の整数倍の本数の信号線を有している。このため、データバスをパケットデータの伝送のみに用いることができれば、全ての信号線が使用されることになる。しかし、上述したように、データバスにはパケットデータと共にパケット状態信号が伝送されるため、一部の信号線が使用されず、パケットデータの伝送効率が低下していた。
【0009】
例えば、データ伝送装置400においては、データバス401は、16本の信号線を有しているため、このデータバス401をパケットデータの伝送のみに用いることができれば、2ワード単位でパケットデータを伝送することができる。しかし、データバス401にはパケットデータと共に2ビットのパケット状態信号が伝送されるため、一部の信号線が使用されず、1ワード単位でしかパケットデータを伝送することができなかった。このため、パケットデータの伝送効率を向上させることが要求されていた。
【0010】
本発明の目的は、上記従来の問題点を解決し、パケットデータの伝送効率を向上させたデータ伝送装置を提供することにある。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明のデータ伝送装置は、パケットデータを処理する第1の処理装置と、パケットデータを処理する第2の処理装置との間で、前記パケットデータを伝送するものであり、前記第1の処理装置から前記第2の処理装置へ伝送されるnビットのパケットデータのビット列を一時的に格納するn+mビット幅の格納手段と、前記第1の処理装置と前記格納手段との間で前記nビットのパケットデータのビット列を伝送可能にするnビット幅の第1のバスと、前記格納手段と前記第2の処理装置との間で前記nビットのパケットデータのビット列を伝送可能にするnビット幅のnビット幅の第2のバスと、前記第1の処理装置に設けられ、前記nビットのパケットデータのビット列が前記パケットデータの先頭であるか否かを識別するために用いるmビットの情報ビットを生成する情報ビット生成手段と、前記情報ビット生成手段から前記格納手段に、nビットのパケットデータのビット列毎に、前記情報ビットを対応させて入力する情報ビット入力手段と、前記格納手段から前記第2のバスへ伝送される先頭の前記nビットのパケットデータのビット列に含まれる所定ビットを、先頭を示す前記情報ビットに置き換える一方、それ以外のビット列についてはビットの置き換えをしないビット置き換え手段と、前記第2のバスを介して前記第2の処理装置に伝送された前記nビットのパケットデータのビット列から前記情報ビットを抽出して、該情報ビットから前記nビットのパケットデータのビット列の先頭位置を検出するパケット位置検出手段とを備えて構成される。
【0012】
特に、前記パケットデータの先頭に対応する前記nビットのパケットデータのビット列は、前記パケットデータのパケット長を含むことが好ましい。
【0013】
また、本発明のデータ伝送方法は、前記第1の処理装置から前記第2の処理装置へ伝送される前記nビットのパケットデータのビット列を一時的に前記格納手段に格納する第1の手順と、前記第1の処理装置に設けられ、前記nビットのパケットデータのビット列が前記パケットデータの先頭であるか否かを識別するために用いるmビットの情報ビットを生成する第2の手順と、前記情報ビット生成手段から前記格納手段に、nビットのパケットデータのビット列毎に、前記情報ビットを対応させて入力する第3の手順と、前記格納手段から前記第2のバスへ伝送される先頭の前記nビットのパケットデータのビット列に含まれる所定ビットを、先頭を示す前記情報ビットに置き換える一方、それ以外のビット列についてはビットの置き換えをしない第4の手順と、前記第2のバスを介して前記第2の処理装置に伝送された前記nビットのパケットデータのビット列から前記情報ビットを抽出して、該情報ビットから前記nビットのパケットデータのビット列の先頭位置を検出する第5の手順とを備えて構成される。
【0014】
【発明の実施の形態】
以下、図示した一実施形態に基いて本発明を詳細に説明する。図1は、本発明に係るデータ伝送装置の構成を示すブロック図である。同図に示すデータ伝送装置100は、データバス101a、101b、101c、101d、CPU110、アドレスバス111、入出力信号バス112、アドレスデコーダ120、チップセレクト信号バス121、LSI130、制御情報生成回路131、パケット状態信号バス132、セレクタ133、セレクタ制御信号バス134を含んで構成されている。このデータ伝送装置100は、CPU110をS/W、LSI1130をH/Wとしており、データバス101a、101b、101cを介してLSI130からCPU110へパケットデータを伝送するものである。なお、以下においては、パケットデータの最上位ビットは無内容であり、2ビット目〜8ビット目はパケットデータの長さ(パケット長)を示しているものとする。
【0015】
データバス101aは、LSI130からFIFOメモリ140へのパケットデータの伝送を可能にするものであり、16ビットのデータを並列に伝送可能な16ビット幅の伝送路である。一方、データバス101b及びデータバス101cは、FIFOメモリ140からCPU110へのパケットデータの伝送を可能にするものである。データバス101bは、15ビットのデータを並列に伝送可能な15ビット幅の伝送路である。また、データバス101cは、1ビット幅の伝送路である。また、データバス101dは、CPU110からLSI130へのデータの伝送を可能にするものである。
【0016】
CPU110は、LSI130から伝送されるパケットデータに対して、所定のソフトウェア処理を行う。また、CPU110は、パケットデータの伝送において、データ伝送装置100全体の制御を行う。具体的には、CPU110は、LSI130からCPU110へのパケットデータの伝送を開始する際には、その伝送に先立って、書き込み信号を入出力信号バス112に伝送し、制御情報生成回路131に割り当てられたアドレス「B」をアドレスバス111へ伝送すると共に、パケットデータの伝送を開始する旨のデータ「X」をデータバス101dへ伝送する。そして、LSI130からCPU110へのパケットデータの伝送時においては、CPU110は、読み出し信号を入出力信号バス112に伝送すると共に、FIFOメモリ140に割り当てられたアドレス「A」をアドレスバス111へ伝送する。アドレス「A」やアドレス「B」は、アドレスデコーダ120に取り込まれる。また、パケットデータの伝送を開始する旨のデータ「X」は、制御情報生成回路131に取り込まれる。
【0017】
アドレスデコーダ120は、CPU110から伝送されるアドレスに基づいて、制御情報生成回路131及びFIFOメモリ140によるデータの入出力を制御するためのチップセレクト信号を生成する。ここで、制御情報生成回路131はチップセレクト信号がローレベルのときにデータを取り込むことが可能になっており、FIFOメモリ140はチップセレクト信号がローレベルのときにデータを入出力することが可能になっている。アドレスデコーダ120は、FIFOメモリ140に割り当てられたアドレス「A」が伝送された場合には、FIFOメモリ140によるデータの入出力を可能にすべく、ローレベルのチップセレクト信号をチップセレクト信号バス121を介してFIFOメモリ140へ伝送する。また、アドレスデコーダ120は、制御情報生成回路131に割り当てられたアドレス「B」が伝送された場合には、制御情報生成回路131によるデータの取り込みを可能にすべく、ローレベルのチップセレクト信号をチップセレクト信号バス121を介して制御情報生成回路131へ伝送する。
【0018】
LSI130は、パケットデータに対して、所定のハードウェア処理を行うものである。このLSI130には、制御情報生成回路131が備えられている。制御情報生成回路131は、データバス101cを介してCPU110から伝送されるパケットデータの伝送を開始する旨のデータ「X」を取り込むことにより、CPU110によってパケットデータの伝送が指示されたことを認識し、それ以降、CPU110から読み出し信号が伝送される毎に、処理したパケットデータを16ビット(2ワード)単位で並列にデータバス101aへ伝送する。以下においては、この伝送の単位である2ワード分のパケットデータのビット列を「パケットブロック」と称することとする。伝送されたパケットブロックはFIFOメモリ140に格納される。
【0019】
また、制御情報生成回路131は、パケットブロックを伝送する毎に、そのパケットブロックに対応する1ビットのパケット状態信号を生成する。パケット状態信号は、パケットブロックがパケットデータのどの位置に対応するのかを示すものであり、パケットブロックがパケットデータの先頭に対応している場合には「1」、先頭以外の場合には「0」をそれぞれ示す。制御情報生成回路131は、このようにして生成したパケット情報信号を、このパケット情報信号に対応するパケットブロックと同時にFIFOメモリ140に格納されるように、1ビット幅のパケット状態信号バス132へ伝送する。
【0020】
FIFOメモリ140は、17ビット単位でデータを格納及び出力するものであり、パケットブロック及び該パケットブロックに対応するパケット状態信号を同時に格納すると共に、この格納順で出力する。出力されたパケットブロックの内、最上位ビットはデータバス101cを介してセレクタ133に伝送され、2ビット目以降はデータバス101bを介してCPU110へ伝送される。また、出力されたパケット状態信号は、パケット状態信号バス132を介してセレクタ133へ伝送される。
【0021】
また、制御情報生成回路131は、セレクタ制御信号を送出してセレクタ133を制御する。具体的には、制御情報生成回路131は、セレクタ133にパケットデータの先頭に対応するパケットブロックの最上位ビットと該パケットブロックに対応するパケット状態信号「1」とが入力される場合には、パケット状態信号を出力し、その他の場合には、パケットブロックの最上位ビットを出力するようにセレクタ133を制御する。セレクタ133は、この制御情報生成回路131の制御に応じて切替動作を行い、パケットデータの先頭に対応するパケットブロックの最上位ビットを該パケットブロックに対応するパケット状態信号「1」に置き換える。セレクタ133から出力される1ビットのデータは、データバス101cを介してCPU110に伝送される。
【0022】
CPU110は、セレクタ133から出力される1ビットのデータとFIFOメモリ140から出力されるパケットブロックの2ビット目以降の15ビットのデータを受信し、これらのデータからパケットブロックを復元する。上述したように、セレクタ133によって、パケットデータの先頭に対応するパケットブロックの最上位ビットは、該パケットブロックに対応するパケット状態信号「1」に置き換えられている。このため、CPU110は、復元したデータブロックの最上位ビットを解析してパケット状態信号を検出することにより、パケットデータの先頭を認識することができる。また、パケットデータの先頭に対応するパケットブロックの2ビット目〜8ビット目はパケット長を示しているため、CPU110は、パケットデータの長さを認識することもできる。
【0023】
本発明に係るデータ伝送装置100は上述した構成を示しており、次にその動作を説明する。図2は、データ伝送装置100のパケットデータ伝送時のタイムチャートである。以下においては、パケットデータが80個のパケットブロック「D1」〜「D80]に分割されて伝送される場合について説明する。
【0024】
最初のCPUサイクル(CPUサイクル1)では、CPU110は、パケットデータの伝送に先立って、書き込み信号を入出力信号バス112に伝送し、制御情報生成回路131に割り当てられたアドレス「B」をアドレスバス111へ伝送すると共に、パケットデータの伝送を開始する旨のデータ「X」をデータバス101dへ伝送する。アドレスデコーダ120は、アドレス「B」が伝送されると、制御情報生成回路131によるデータの取り込みを可能にすると共にFIFOメモリ140によるデータの入出力を不可とすべく、ローレベルのチップセレクト信号を制御情報生成回路131へ伝送し、ハイレベルのチップセレクト信号をFIFOメモリ140へ伝送する。制御情報生成回路131は、データ取り込みが可能となって、パケットデータの伝送を開始する旨のデータ「X」を取り込み、パケットデータの伝送が指示されたことを認識する。
【0025】
次のCPUサイクル(CPUサイクル2)では、CPU110は、読み出し信号を入出力信号バス112に伝送すると共に、FIFOメモリ140に割り当てられたアドレス「A」をアドレスバス111へ伝送する。アドレスデコーダ120は、アドレス「A」が伝送されると、FIFOメモリ140によるデータの入出力を可能にすると共に制御情報生成回路131によるデータの取り込みを不可とすべく、ローレベルのチップセレクト信号をFIFOメモリ140へ伝送し、ハイレベルのチップセレクト信号を制御情報生成回路131へ伝送する。LSI130は、読み出し信号が伝送されると、パケットブロック「D1」をFIFOメモリ140に伝送する。また、制御情報生成回路131は、データブロック「D1」に対応するパケット状態信号「1」を生成し、FIFOメモリ140へ伝送する。従って、FIFOメモリ140には、パケットブロック「D1」とこのパケットブロック「D1」に対応するパケット状態信号「1」が同時に格納され、出力されることになる。また、制御情報生成回路131は、CPUサイクル1でパケットデータの伝送の開始が指示されたことに基づいて、セレクタ133がパケット状態信号を出力するように制御すべく、セレクタ制御信号を送出する。従って、CPU110によって受信されるパケットブロックは、最上位ビットがパケット状態信号に置き換えられたものになる。
【0026】
CPUサイクル3では、CPU110は、読み出し信号を伝送すると共に、アドレス「A」の伝送を継続する。アドレスデコーダ120は、アドレス「A」の伝送が継続されているため、FIFOメモリ140へ伝送するチップセレクト信号をローレベルに維持して、FIFOメモリ140によるデータの入出力を可能にする。LSI130は、読み出し信号が伝送されると、パケットブロック「D2」をFIFOメモリ140に伝送する。また、制御情報生成回路131は、データブロック「D2」に対応するパケット状態信号「0」を生成し、FIFOメモリ140へ伝送する。従って、FIFOメモリ140には、パケットブロック「D2」とこのパケットブロック「D2」に対応するパケット状態信号「0」が同時に格納され、出力されることになる。また、制御情報生成回路131は、CPUサイクル2でパケット制御信号「1」を生成したことに基づいて、セレクタ133がパケットブロックの最上位ビットを出力するように制御すべく、セレクタ制御信号を送出する。従って、CPU110によって受信されるパケットブロックは、最上位ビットがパケット状態信号に置き換えらていないものになる。以降、CPUサイクル81においてパケットブロック「D80」が伝送されるまで、同様の動作が繰り返される。
【0027】
このように、データ伝送装置100では、パケットデータの先頭に対応するパケットブロックの最上位ビットが該パケットブロックに対応するパケット状態信号「1」に置き換えられている。このため、従来のように別にパケット状態信号を伝送する必要がない。従って、データバス101a、101bにパケットデータのみを伝送させることができ、パケットデータの伝送効率を向上させることができる。
【0028】
以上、本発明の一実施形態を図面に沿って説明した。しかしながら本発明は前記実施形態に示した事項に限定されず、特許請求の範囲の記載に基いてその変更、改良等が可能であることは明らかである。例えば、上述した実施形態では、データバス101aを16ビット幅としたが、ビット幅は8の倍数であればよい。また、データバス101bのビット幅については、データバス101aのビット幅からパケット状態信号のビット数を減じた結果を設定すればよい。
【0029】
【発明の効果】
以上の如く本発明によれば、パケットデータの一部をパケット位置の識別に用いる情報ビットに置き換えて伝送するため、パケットデータの伝送効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明に係るデータ伝送装置の構成を示すブロック図である。
【図2】図1に示すデータ伝送装置データのパケットデータ伝送時のタイムチャートである。
【図3】従来のデータ伝送装置の構成を示すブロック図である。
【図4】図3に示すデータ伝送装置データのパケットデータ伝送時のタイムチャートである。
【符号の説明】
100 データ伝送装置
101a、101b、101c、101d データバス
110 CPU
111 アドレスバス
112 入出力信号バス
120 アドレスデコーダ
121 チップセレクト信号バス
130 LSI
131 制御情報生成回路
132 パケット状態信号バス
133 セレクタ
134 セレクタ制御信号バス
140 FIFOメモリ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data transmission apparatus and method for transmitting packet data between a software processing apparatus that performs predetermined software processing and a hardware processing apparatus that performs predetermined hardware processing.
[0002]
[Prior art]
In companies and the like, terminals such as a plurality of personal computers are connected by a LAN (Local Area Network) such as Ethernet, and information is exchanged between the terminals. In a LAN, information is generally exchanged in units called packets. This packet includes types such as an IP (Internet Protocol) packet, an ARP (Address Resolution Protocol) packet, and an NHRP (Next Hop Resolution Protocol) packet. The packet has a format (packet format) defined for each packet type. Based on this packet format, the attributes of the packet can be recognized.
[0003]
By the way, various data processing apparatuses that process the above-described packets generally realize a function for performing high-speed processing with a hardware processing apparatus (H / W), and a function for performing complicated processing with a software processing apparatus (S / W). Therefore, it is necessary to exchange packets between H / W and S / W. The data transmission apparatus exchanges packets between H / W and S / W in such a data processing apparatus.
[0004]
FIG. 4 is a block diagram showing a configuration of a conventional data transmission apparatus. The data transmission apparatus 400 shown in the figure includes a data bus 401, a CPU 410, an address bus 411, an input / output signal bus 412, an integrated circuit (LSI) 420, an address decoder 430, a chip select signal bus 431, and a FIFO (First In First Out). A memory 440 is included. The data transmission apparatus 400 uses a CPU 410 as an S / W and an LSI 420 as an H / W, and transmits packet data from the LSI 420 to the CPU 410 via a data bus 401. The data bus 401 is a 16-bit width transmission path capable of transmitting 16-bit data in parallel.
[0005]
Hereinafter, the operation when packet data is transmitted from the LSI 420 to the CPU 410 will be described with reference to a time chart during packet data transmission shown in FIG. The CPU 410 transmits the read signal to the input / output signal bus 412. Each time the read signal is transmitted, the LSI 420 transmits the packet data in units of 8 bits (one word) in parallel to the data bus 401, and in synchronization with the transmission of the packet data in units of 8 bits. Two-bit data (packet status signal) for identifying the head is transmitted to the data bus 401. As shown in FIG. 4, the packet status signal indicates “1” when the first word (D1) of the packet data is transmitted, and indicates “0” when the second and subsequent words are transmitted. Accordingly, one word of packet data and a 1-bit packet status signal are transmitted in parallel to the data bus 401. The packet data and the packet status signal transmitted to the data bus 401 are stored in the FIFO memory 440.
[0006]
On the other hand, the CPU 410 recognizes that the packet data and the packet status signal are stored in the FIFO memory 440 by receiving a predetermined interrupt signal or the like, reads the packet data from the FIFO memory 430 word by word, A packet status signal corresponding to packet data for a word is read. As described above, the CPU 410 can recognize the head of the packet data by reading the packet status signal together with the packet data.
[0007]
[Problems to be solved by the invention]
By the way, the contents of packet data are generally divided in units of 8 bits (1 word). For this reason, when packet data is processed, it is possible to reduce the complexity of the circuit and the program by processing in units of bits that are an integral multiple of 8 rather than in units of arbitrary bits. For the above reason, the above-described data transmission apparatus 400 transmits packet data in units of 8 bits.
[0008]
On the other hand, the data bus generally has a number of signal lines that is an integer multiple of eight. For this reason, if the data bus can be used only for transmission of packet data, all signal lines are used. However, as described above, since the packet status signal is transmitted along with the packet data to the data bus, some signal lines are not used, and the transmission efficiency of the packet data is reduced.
[0009]
For example, in the data transmission apparatus 400, the data bus 401 has 16 signal lines. Therefore, if the data bus 401 can be used only for packet data transmission, packet data is transmitted in units of two words. can do. However, since a 2-bit packet status signal is transmitted along with the packet data to the data bus 401, some signal lines are not used and the packet data can be transmitted only in units of one word. For this reason, it has been required to improve the transmission efficiency of packet data.
[0010]
An object of the present invention is to provide a data transmission apparatus that solves the above-described conventional problems and improves the transmission efficiency of packet data.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, a data transmission device of the present invention transmits the packet data between a first processing device that processes packet data and a second processing device that processes packet data. N + m bit width storage means for temporarily storing a bit string of n-bit packet data transmitted from the first processing device to the second processing device; the first processing device; and the storage means. A first bus having an n-bit width that enables transmission of the bit string of the n-bit packet data between the storage unit and the second processing device, and a bit string of the n-bit packet data between the storage unit and the second processing device. a second bus width of n bits of the n-bit width to be transmitted, provided in the first processing unit, whether the bit string of the packet data of the n bits is the head of the packet data The information bit generating means for generating information bits of m bits used to identify whether, in the storage unit from the information bit generating means, for each bit string of the packet data of n bits, inputs the information bits in correspondence the information bit input means for a predetermined bits included in the bit string of n bits packet data of the head that is transmitted from said storage means to the second bus, while replacing the information bits indicating the beginning, otherwise For the bit string, a bit replacement means that does not replace the bit, and the information bit is extracted from the bit string of the n-bit packet data transmitted to the second processing device via the second bus, and the information and a packet position detection means for detecting the head position of the bit string of the packet data of the n bits from the bit It is made.
[0012]
In particular, it is preferable that the bit string of the n-bit packet data corresponding to the head of the packet data includes a packet length of the packet data.
[0013]
The data transmission method of the present invention includes a first procedure for temporarily storing a bit string of the n-bit packet data transmitted from the first processing device to the second processing device in the storage means. A second procedure that is provided in the first processing device and generates m-bit information bits used to identify whether a bit string of the n-bit packet data is the head of the packet data ; A third procedure for inputting the information bits in correspondence with each bit string of n-bit packet data from the information bit generation means to the storage means, and a head transmitted from the storage means to the second bus wherein the predetermined bits included in the bit string of n bits packet data, while replacing the information bits indicating the head, replacement of the bit in the case of other bit string of A fourth step which does not, the second by extracting the information bits from the bit string of the packet data of the n bits transmitted to the second processing unit via a bus, of the n bits from the information bits And a fifth procedure for detecting the leading position of the bit string of the packet data.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail based on the illustrated embodiment. FIG. 1 is a block diagram showing a configuration of a data transmission apparatus according to the present invention. The data transmission apparatus 100 shown in the figure includes a data bus 101a, 101b, 101c, 101d, a CPU 110, an address bus 111, an input / output signal bus 112, an address decoder 120, a chip select signal bus 121, an LSI 130, a control information generation circuit 131, A packet status signal bus 132, a selector 133, and a selector control signal bus 134 are included. The data transmission apparatus 100 uses a CPU 110 as S / W and an LSI 1130 as H / W, and transmits packet data from the LSI 130 to the CPU 110 via data buses 101a, 101b, and 101c. In the following, it is assumed that the most significant bit of the packet data has no content, and the second to eighth bits indicate the length of the packet data (packet length).
[0015]
The data bus 101a enables transmission of packet data from the LSI 130 to the FIFO memory 140, and is a 16-bit width transmission path capable of transmitting 16-bit data in parallel. On the other hand, the data bus 101b and the data bus 101c enable transmission of packet data from the FIFO memory 140 to the CPU 110. The data bus 101b is a 15-bit transmission path capable of transmitting 15-bit data in parallel. The data bus 101c is a 1-bit width transmission path. In addition, the data bus 101d enables data transmission from the CPU 110 to the LSI 130.
[0016]
The CPU 110 performs predetermined software processing on the packet data transmitted from the LSI 130. Further, the CPU 110 controls the entire data transmission apparatus 100 in transmission of packet data. Specifically, when starting transmission of packet data from the LSI 130 to the CPU 110, the CPU 110 transmits a write signal to the input / output signal bus 112 and is assigned to the control information generation circuit 131 prior to the transmission. The address “B” is transmitted to the address bus 111, and data “X” to start transmission of packet data is transmitted to the data bus 101d. When transmitting packet data from the LSI 130 to the CPU 110, the CPU 110 transmits a read signal to the input / output signal bus 112 and transmits an address “A” assigned to the FIFO memory 140 to the address bus 111. The address “A” and the address “B” are taken into the address decoder 120. Further, data “X” indicating that transmission of packet data is started is taken into the control information generation circuit 131.
[0017]
The address decoder 120 generates a chip select signal for controlling input / output of data by the control information generation circuit 131 and the FIFO memory 140 based on the address transmitted from the CPU 110. Here, the control information generation circuit 131 can take in data when the chip select signal is at a low level, and the FIFO memory 140 can input / output data when the chip select signal is at a low level. It has become. When the address “A” assigned to the FIFO memory 140 is transmitted, the address decoder 120 sends a low-level chip select signal to the chip select signal bus 121 so that the FIFO memory 140 can input and output data. To the FIFO memory 140. In addition, when the address “B” assigned to the control information generation circuit 131 is transmitted, the address decoder 120 outputs a low-level chip select signal so that the control information generation circuit 131 can capture data. The data is transmitted to the control information generation circuit 131 via the chip select signal bus 121.
[0018]
The LSI 130 performs predetermined hardware processing on the packet data. The LSI 130 is provided with a control information generation circuit 131. The control information generation circuit 131 recognizes that transmission of packet data is instructed by the CPU 110 by taking in data “X” to start transmission of packet data transmitted from the CPU 110 via the data bus 101c. Thereafter, each time a read signal is transmitted from the CPU 110, the processed packet data is transmitted in parallel to the data bus 101a in units of 16 bits (2 words). Hereinafter, a bit string of packet data for two words, which is a unit of transmission, is referred to as a “packet block”. The transmitted packet block is stored in the FIFO memory 140.
[0019]
In addition, every time a packet block is transmitted, the control information generation circuit 131 generates a 1-bit packet status signal corresponding to the packet block. The packet status signal indicates to which position of the packet data the packet block corresponds, and is “1” when the packet block corresponds to the head of the packet data, and “0” otherwise. ". The control information generation circuit 131 transmits the packet information signal thus generated to the packet status signal bus 132 having a 1-bit width so that the packet information signal is stored in the FIFO memory 140 simultaneously with the packet block corresponding to the packet information signal. To do.
[0020]
The FIFO memory 140 stores and outputs data in units of 17 bits, and simultaneously stores a packet block and a packet status signal corresponding to the packet block, and outputs them in this storage order. Among the output packet blocks, the most significant bit is transmitted to the selector 133 via the data bus 101c, and the second and subsequent bits are transmitted to the CPU 110 via the data bus 101b. The output packet status signal is transmitted to the selector 133 via the packet status signal bus 132.
[0021]
Further, the control information generation circuit 131 controls the selector 133 by sending a selector control signal. Specifically, the control information generation circuit 131, when the most significant bit of the packet block corresponding to the head of the packet data and the packet status signal “1” corresponding to the packet block are input to the selector 133, The packet status signal is output, and in other cases, the selector 133 is controlled to output the most significant bit of the packet block. The selector 133 performs a switching operation in accordance with the control of the control information generation circuit 131 and replaces the most significant bit of the packet block corresponding to the head of the packet data with the packet status signal “1” corresponding to the packet block. The 1-bit data output from the selector 133 is transmitted to the CPU 110 via the data bus 101c.
[0022]
The CPU 110 receives 1-bit data output from the selector 133 and 15-bit data after the second bit of the packet block output from the FIFO memory 140, and restores the packet block from these data. As described above, the selector 133 replaces the most significant bit of the packet block corresponding to the head of the packet data with the packet status signal “1” corresponding to the packet block. Therefore, the CPU 110 can recognize the head of the packet data by analyzing the most significant bit of the restored data block and detecting the packet status signal. Further, since the second to eighth bits of the packet block corresponding to the head of the packet data indicate the packet length, the CPU 110 can also recognize the length of the packet data.
[0023]
The data transmission apparatus 100 according to the present invention has the configuration described above, and the operation thereof will be described next. FIG. 2 is a time chart when the data transmission apparatus 100 transmits packet data. In the following, a case where packet data is divided into 80 packet blocks “D1” to “D80” and transmitted is described.
[0024]
In the first CPU cycle (CPU cycle 1), the CPU 110 transmits a write signal to the input / output signal bus 112 and transmits the address “B” assigned to the control information generation circuit 131 to the address bus prior to transmission of the packet data. The data “X” to start transmission of packet data is transmitted to the data bus 101 d. When the address “B” is transmitted, the address decoder 120 outputs a low-level chip select signal so that the control information generation circuit 131 can capture data and the FIFO memory 140 cannot input / output data. The high-level chip select signal is transmitted to the FIFO memory 140. The control information generation circuit 131 can capture data, captures data “X” to start transmission of packet data, and recognizes that transmission of packet data has been instructed.
[0025]
In the next CPU cycle (CPU cycle 2), the CPU 110 transmits the read signal to the input / output signal bus 112 and transmits the address “A” assigned to the FIFO memory 140 to the address bus 111. When the address “A” is transmitted, the address decoder 120 outputs a low-level chip select signal so that the FIFO memory 140 can input / output data and the control information generation circuit 131 cannot capture data. The data is transmitted to the FIFO memory 140, and a high-level chip select signal is transmitted to the control information generation circuit 131. The LSI 130 transmits the packet block “D1” to the FIFO memory 140 when the read signal is transmitted. Further, the control information generation circuit 131 generates a packet status signal “1” corresponding to the data block “D1” and transmits the packet status signal “1” to the FIFO memory 140. Accordingly, the packet block “D1” and the packet status signal “1” corresponding to the packet block “D1” are simultaneously stored and output in the FIFO memory 140. The control information generation circuit 131 sends a selector control signal to control the selector 133 to output a packet status signal based on an instruction to start transmission of packet data in the CPU cycle 1. Therefore, the packet block received by the CPU 110 is the one in which the most significant bit is replaced with the packet status signal.
[0026]
In CPU cycle 3, CPU 110 transmits a read signal and continues transmission of address “A”. Since the transmission of the address “A” is continued, the address decoder 120 maintains the chip select signal to be transmitted to the FIFO memory 140 at a low level, and enables the FIFO memory 140 to input / output data. When the read signal is transmitted, the LSI 130 transmits the packet block “D2” to the FIFO memory 140. Further, the control information generation circuit 131 generates a packet status signal “0” corresponding to the data block “D2” and transmits the packet status signal “0” to the FIFO memory 140. Accordingly, the packet block “D2” and the packet status signal “0” corresponding to the packet block “D2” are simultaneously stored and output in the FIFO memory 140. Further, the control information generation circuit 131 sends a selector control signal to control the selector 133 to output the most significant bit of the packet block based on the generation of the packet control signal “1” in the CPU cycle 2. To do. Therefore, the packet block received by the CPU 110 is such that the most significant bit is not replaced with the packet status signal. Thereafter, the same operation is repeated until the packet block “D80” is transmitted in the CPU cycle 81.
[0027]
As described above, in the data transmission apparatus 100, the most significant bit of the packet block corresponding to the head of the packet data is replaced with the packet status signal “1” corresponding to the packet block. For this reason, it is not necessary to separately transmit a packet status signal as in the conventional case. Therefore, only the packet data can be transmitted to the data buses 101a and 101b, and the transmission efficiency of the packet data can be improved.
[0028]
The embodiment of the present invention has been described with reference to the drawings. However, the present invention is not limited to the matters shown in the above-described embodiments, and it is obvious that changes, improvements, etc. can be made based on the description of the scope of claims. For example, in the above-described embodiment, the data bus 101a is 16 bits wide, but the bit width may be a multiple of 8. As for the bit width of the data bus 101b, a result obtained by subtracting the number of bits of the packet status signal from the bit width of the data bus 101a may be set.
[0029]
【The invention's effect】
As described above, according to the present invention, since a part of packet data is transmitted by being replaced with information bits used for identifying packet positions, the transmission efficiency of packet data can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a data transmission apparatus according to the present invention.
2 is a time chart at the time of packet data transmission of the data transmission device data shown in FIG. 1; FIG.
FIG. 3 is a block diagram showing a configuration of a conventional data transmission apparatus.
4 is a time chart at the time of packet data transmission of the data transmission device data shown in FIG. 3; FIG.
[Explanation of symbols]
100 Data transmission devices 101a, 101b, 101c, 101d Data bus 110 CPU
111 Address bus 112 Input / output signal bus 120 Address decoder 121 Chip select signal bus 130 LSI
131 Control Information Generation Circuit 132 Packet Status Signal Bus 133 Selector 134 Selector Control Signal Bus 140 FIFO Memory

Claims (3)

パケットデータを処理する第1の処理装置と、パケットデータを処理する第2の処理装置との間で、前記パケットデータを伝送するデータ伝送装置において、
前記第1の処理装置から前記第2の処理装置へ伝送されるnビットのパケットデータのビット列を一時的に格納するn+mビット幅の格納手段と、
前記第1の処理装置と前記格納手段との間で前記nビットのパケットデータのビット列を伝送可能にするnビット幅の第1のバスと、
前記格納手段と前記第2の処理装置との間で前記nビットのパケットデータのビット列を伝送可能にするnビット幅のnビット幅の第2のバスと、
前記第1の処理装置に設けられ、前記nビットのパケットデータのビット列が前記パケットデータの先頭であるか否かを識別するために用いるmビットの情報ビットを生成する情報ビット生成手段と、
前記情報ビット生成手段から前記格納手段に、nビットのパケットデータのビット列毎に、前記情報ビットを対応させて入力する情報ビット入力手段と、
前記格納手段から前記第2のバスへ伝送される先頭の前記nビットのパケットデータのビット列に含まれる所定ビットを、先頭を示す前記情報ビットに置き換える一方、それ以外のビット列についてはビットの置き換えをしないビット置き換え手段と、
前記第2のバスを介して前記第2の処理装置に伝送された前記nビットのパケットデータのビット列から前記情報ビットを抽出して、該情報ビットから前記nビットのパケットデータのビット列の先頭位置を検出するパケット位置検出手段と、を備えることを特徴とするデータ伝送装置。
In a data transmission device for transmitting the packet data between a first processing device for processing packet data and a second processing device for processing packet data,
N + m bit width storage means for temporarily storing a bit string of n-bit packet data transmitted from the first processing device to the second processing device;
An n-bit width first bus enabling transmission of a bit string of the n-bit packet data between the first processing device and the storage means;
An n-bit wide n-bit second bus enabling transmission of a bit string of the n-bit packet data between the storage means and the second processing device;
An information bit generating means provided in the first processing device for generating m bits of information bits used to identify whether a bit string of the n-bit packet data is the head of the packet data ;
Information bit input means for inputting the information bits in correspondence with each bit string of n-bit packet data from the information bit generation means to the storage means;
The predetermined bits included in the bit string of n bits packet data of the head that is transmitted from said storage means to the second bus, while replacing the information bits indicating the beginning, the replacement of the bit in the case of other bit strings Not bit replacement means,
Extracting the information bits from the bit string of the n-bit packet data transmitted to the second processing device via the second bus, and starting position of the bit string of the n-bit packet data from the information bits A data transmission apparatus comprising: a packet position detecting means for detecting
前記パケットデータの先頭に対応する前記nビットのパケットデータのビット列は、前記パケットデータのパケット長を含むことを特徴とする請求項1に記載のデータ伝送装置。The data transmission apparatus according to claim 1, wherein a bit string of the n-bit packet data corresponding to a head of the packet data includes a packet length of the packet data. 請求項1又は2に記載のデータ伝送装置におけるデータ伝送方法において、
前記第1の処理装置から前記第2の処理装置へ伝送される前記nビットのパケットデータのビット列を一時的に前記格納手段に格納する第1の手順と、
前記第1の処理装置に設けられ、前記nビットのパケットデータのビット列が前記パケットデータの先頭であるか否かを識別するために用いるmビットの情報ビットを生成する第2の手順と、
前記情報ビット生成手段から前記格納手段に、nビットのパケットデータのビット列毎に、前記情報ビットを対応させて入力する第3の手順と、
前記格納手段から前記第2のバスへ伝送される先頭の前記nビットのパケットデータのビット列に含まれる所定ビットを、先頭を示す前記情報ビットに置き換える一方、それ以外のビット列についてはビットの置き換えをしない第4の手順と、
前記第2のバスを介して前記第2の処理装置に伝送された前記nビットのパケットデータのビット列から前記情報ビットを抽出して、該情報ビットから前記nビットのパケットデータのビット列の先頭位置を検出する第5の手順と、を備えることを特徴とするデータ伝送方法。
In the data transmission method in the data transmission device according to claim 1 or 2,
A first procedure for temporarily storing a bit string of the n-bit packet data transmitted from the first processing device to the second processing device in the storage means;
A second procedure that is provided in the first processing device and generates m-bit information bits used to identify whether a bit string of the n-bit packet data is the head of the packet data ;
A third procedure for inputting the information bits in association with each bit string of n-bit packet data from the information bit generation means to the storage means;
The predetermined bits included in the bit string of n bits packet data of the head that is transmitted from said storage means to the second bus, while replacing the information bits indicating the beginning, the replacement of the bit in the case of other bit strings Don't do the fourth step,
Extracting the information bits from the bit string of the n-bit packet data transmitted to the second processing device via the second bus, and starting position of the bit string of the n-bit packet data from the information bits A data transmission method comprising: a fifth procedure for detecting the data.
JP2000058149A 2000-03-03 2000-03-03 Data transmission apparatus and method Expired - Fee Related JP4423728B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000058149A JP4423728B2 (en) 2000-03-03 2000-03-03 Data transmission apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000058149A JP4423728B2 (en) 2000-03-03 2000-03-03 Data transmission apparatus and method

Publications (2)

Publication Number Publication Date
JP2001251387A JP2001251387A (en) 2001-09-14
JP4423728B2 true JP4423728B2 (en) 2010-03-03

Family

ID=18578788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000058149A Expired - Fee Related JP4423728B2 (en) 2000-03-03 2000-03-03 Data transmission apparatus and method

Country Status (1)

Country Link
JP (1) JP4423728B2 (en)

Also Published As

Publication number Publication date
JP2001251387A (en) 2001-09-14

Similar Documents

Publication Publication Date Title
TWI406133B (en) Data processing apparatus and data transfer method
CN102272716B (en) The SIMD of network packet processes
US4287592A (en) Method and apparatus for interfacing stations in a multiloop communications system
JP4181645B2 (en) Data processing device
US7643511B2 (en) Frame alteration logic for network processors
US20030188054A1 (en) Data transfer apparatus and method
US20040078690A1 (en) Program counter trace system, program counter trace method, and semiconductor device
US6275508B1 (en) Method of and system for processing datagram headers for high speed computer network interfaces at low clock speeds, utilizing scalable algorithms for performing such network header adaptation (SAPNA)
JP2008310832A (en) Apparatus and method for distributing signal from high level data link controller to a plurality of digital signal processor cores
JPH10126412A (en) Method and system for transmitting atm cell through atm link
TW495671B (en) Media access control micro-RISC stream processor and method for implementing the same
JP3773804B2 (en) Data width conversion device and data processing device
JP4423728B2 (en) Data transmission apparatus and method
US6519709B1 (en) Method and device for transferring data between two asynchronously clocked circuits via a buffer by renewing an access pointer thereof only when effective data is received
US7961732B2 (en) Method and hardware apparatus for implementing frame alteration commands
JPH11317783A (en) Header processor and its method
JP2001237864A (en) Data transmitter and method
EP0344915B1 (en) Apparatus and method for processing bit streams
KR100249502B1 (en) Apparatus and method of transfer contol protocol and protocol acceleration
JP2001197117A (en) Buffer for storing variable length data
JPH1022837A (en) Data transfer device and method
JP4659871B2 (en) Data processing method
JPH07221771A (en) Deciphering device of address information
KR100239738B1 (en) Method and apparatus of processing packet data of lan
JP4234689B2 (en) Data processing method and data processing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061129

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061129

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071030

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091130

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees