JP3773804B2 - データ幅変換装置及びデータ処理装置 - Google Patents

データ幅変換装置及びデータ処理装置 Download PDF

Info

Publication number
JP3773804B2
JP3773804B2 JP2001116535A JP2001116535A JP3773804B2 JP 3773804 B2 JP3773804 B2 JP 3773804B2 JP 2001116535 A JP2001116535 A JP 2001116535A JP 2001116535 A JP2001116535 A JP 2001116535A JP 3773804 B2 JP3773804 B2 JP 3773804B2
Authority
JP
Japan
Prior art keywords
data
stored
width
buffer
output
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
JP2001116535A
Other languages
English (en)
Other versions
JP2002312158A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001116535A priority Critical patent/JP3773804B2/ja
Priority to US09/948,770 priority patent/US6414609B1/en
Publication of JP2002312158A publication Critical patent/JP2002312158A/ja
Application granted granted Critical
Publication of JP3773804B2 publication Critical patent/JP3773804B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、順次入力されてくるデータが様々なデータ幅のデータであっても、これを所定の固定データ幅のデータに変換して順次出力するデータ幅変換装置、およびそのようなデータ幅変換装置に相当する構成を具備し、入力データの受け取り処理を実行してその処理結果を固定データ幅の出力データとして順次出力するデータ処理装置に関する。
【0002】
【従来の技術】
近年、インターネット等のネットワーク上でのパケット通信やディジタルビデオで得られた画像データの通信など、様々なデータ通信が広く行なわれている。これらのデータ通信では、複雑なデータ処理を必要とし、一連のデータを処理内容に応じて分割し各データ単位で必要なデータ処理を行った後再び一連のデータに合体させることが行なわれており、このためにはデータ処理後の様々なデータ幅のデータを所定の固定データ幅のデータに変換する処理が必要となる。
【0003】
【発明が解決しようとする課題】
様々なデータ幅のデータを固定データ幅のデータに変換するにあたっては、従来一般的にはシフトレジスタを備え、そのシフトレジスタに所定データ長のデータが格納されるごとに出力するという方式が採られている。
【0004】
しかしながら、この方式では多様なデータ幅のデータをデータ単位で処理することはできず、ビット単位あるいはバイト単位などの固定長単位で処理することになり、様々なデータ幅のデータに対し固定長単位の処理を行うため処理時間が長くかかってしまい、通信速度の低下を来たすという問題がある。
【0005】
データ幅の変換技術に関しては、例えば特開昭63−296158号公報、特開昭64−31252号公報、特開平4−119446号公報、特開平9−91197号公報等に提案されているが、これらの公報に提案されている技術は、例えば異なるデータ幅のデータを取り扱う中央処理装置(CPU)と周辺装置との間(例えば32ビット幅のCPUと、例えば16ビット幅あるいは8ビット幅のメモリとの間)におけるデータ通信など、異なるデータ幅のデータを取り扱う機器間でのデータ通信に関する技術であり、データ通信側もデータ受信側も、相互には異なるビット幅であるものの、それぞれは一定のビット幅のデータを取り扱う装置間のデータ通信を対象とした技術であって、上記のような、様々なデータ幅のデータを固定データ幅のデータに変換する技術には適用することはできない。
【0006】
本発明は、上記事情に鑑み、順次入力されてくるデータが様々なデータ幅を持つデータであっても、それらのデータを固定データ幅のデータに効率良く変換して出力することのできるデータ幅変換装置、および、入力データの受け取り処理を実行して、その処理結果を固定データ幅の出力データに効率良く変換して出力するデータ処理装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成する本発明のデータ幅変換装置は、データ幅が相互に異なることが許容された複数の入力データを順次に受け取り、これら順次に受け取った複数の入力データを所定の固定データ幅の出力データに変換して順次に出力するデータ幅変換装置において、
過去に受け取った入力データのうちの出力未了部分データを格納しておくバッファと、
上記バッファに格納された出力未了部分データと今回受け取った入力データとを合体させるブロックシフタとを備え、
上記バッファに格納された出力未了部分データと今回受け取った入力データとを合体させたときの合体データのデータ幅が上記固定データ幅に満たないときは合体データを出力未了部分データとして上記バッファに格納し、合体データのデータ幅が上記固定データ幅と同一のときは合体データを出力データとして外部に出力し、合体データのデータ幅が上記固定データ幅を越えるときは、合体データのうちの、上記固定データ幅と同一データ幅の部分からなる部分データを出力データとして外部に出力するとともに、合体データのうちの、その同一データ幅の部分を除く部分からなる部分データを出力未了部分データとして上記バッファに格納することを特徴とする。
【0008】
本発明のデータ幅変換装置は、上記のバッファとブロックシフタを備え、余った部分データをバッファに格納しておきそのバッファに格納しておいた部分データと新たに入力された入力データとをブロックシフタで合体させて所定の固定データ幅のデータが形成されるごとに外部に出力し、さらに余った部分データは上記のバッファに格納しておく、というシーケンスを繰り返すものであり、入力されるデータが様々なデータ幅のデータであってもそれらのデータを固定データ幅のデータに効率よく変換して出力することができる。
【0009】
ここで、本発明は、上記のように包括的に表現することができるが、具体的には様々な形態を取り得る。
【0010】
それら様々な形態のうちの1つである本発明の第1のデータ幅変換装置は、データ幅が相互に異なることが許容された複数の入力データを順次に受け取り、これら順次に受け取った複数の入力データを所定の固定データ幅の出力データに変換して順次に出力するデータ幅変換装置において、
上記入力データを一方のデータとする2つのデータが入力され、これら2つのデータを合体させることにより、上記固定データ幅を最大データ幅とする、これら2つのデータのデータ幅どうしの和のデータ幅を有するデータを出力する第1および第2のブロックシフタと、
第1および第2のブロックシフタからそれぞれ1つずつ出力される合計2つのデータが入力されこれら2つのデータのうちのいずれか一方のデータを出力するセレクタと、
セレクタから出力されるデータを格納しこの格納したデータのデータ幅が上記固定データ幅のときにこの格納したデータを出力データとして外部に出力するスライドバッファと、
上記入力データが入力されその入力データを任意数シフトすることによりその入力データの一部を抽出して出力するバレルシフタと、
バレルシフタから出力されるデータを格納するテンポラリバッファとを備え、上記第1のブロックシフタは、上記入力データが入力されるとともにスライドバッファに格納されているデータが入力されるものであり、
上記第2のブロックシフタは、上記入力データが入力されるとともにテンポラリバッファに格納されているデータが入力されるものであり、
上記セレクタは、テンポラリバッファに有効なデータが格納されていないときには第1のブロックシフタから出力されたデータをスライドバッファに伝達するとともに、テンポラリバッファに有効なデータが格納されているときには第2のブロックシフタから出力されたデータをスライドバッファに伝達するものであって、
上記バレルシフタは、今回の入力データと、テンポラリバッファに有効なデータが格納されているときはテンポラリバッファに格納されているデータ、あるいはテンポラリバッファに有効なデータが格納されていないときはスライドバッファに格納されているデータとを合体させたときの合体データのデータ幅が上記固定データ幅を越えるときに、今回の入力データからその合体データのうちの上記固定データ幅を越える部分を抽出してテンポラリバッファに渡すものであることを特徴とする。
【0011】
ここで、上記の第1のデータ幅変換装置における第1のブロックシフタと第2のブロックシフタとを合わせたものが本発明を包括的に表現したときのブロックシフタに相当し、上記第1のデータ幅変換装置におけるテンポラリバッファとスライドバッファとを合わせたものが、本発明を包括的に表現したときのバッファに相当する。
【0012】
また、本発明のうちの別な態様の1つである第2のデータ幅変換装置は、データ幅が相互に異なることが許容された複数の入力データを順次に受け取り、これら順次に受け取った複数の入力データを所定の固定データ幅の出力データに変換して順次に出力するデータ幅変換装置において、
上記入力データを一方のデータとする2つのデータが入力され、これら2つのデータを合体させることにより、上記固定データ幅を最大データ幅とする、これら2つのデータのデータ幅どうしの和のデータ幅を有するデータを出力する第1および第2のブロックシフタと、
第1のブロックシフタから出力されるデータを格納して出力データとして外部に出力するスライドバッファと、
第2のブロックシフタから出力されるデータを格納するテンポラリバッファとを備え、
上記第1および第2のブロックシフタいずれもが、上記入力データが入力されるとともにテンポラリバッファに格納されているデータが入力されるものであり、
上記第1のブロックシフタは、今回の入力データとテンポラリバッファに格納されているデータとを合体させたときの合体データのデータ幅が上記固定データ幅と同一のときにはその合体データを生成してスライドバッファに渡すとともに、その合体データのデータ幅が上記固定データ幅を越えるときには、その合体データのうちの、上記固定データ幅と同一のデータ幅の部分からなる部分データを生成してスライドバッファに渡すものであって、
上記第2のブロックシフタは、今回の入力データとテンポラリバッファに格納されているデータとを合体させたときの合体データのデータ幅が上記固定データ幅に満たないときにはその合体データを生成してテンポラリバッファに格納するとともに、今回の入力データとテンポラリバッファに格納されているデータとを合体させたときの合体データのデータ幅が上記固定データ幅を越えるときには、その合体データのうちの、第1のブロックシフタで生成される部分データを除く部分からなる部分データを生成してテンポラリバッファに渡すものであることを特徴とする。
【0013】
ここで、上記第2のデータ幅変換装置においては、上記第1のデータ幅変換装置と同様、第1のブロックシフタと第2のブロックシフタとを合わせたもの、およびテンポラリバッファとスライドバッファとを合わせたものが、本発明を包括的に表現したときの、それぞれ、ブロックシフタおよびバッファに相当する。
【0014】
さらに、本発明のうちのさらに別な態様の1つである第3のデータ幅変換装置は、データ幅が相互に異なることが許容された複数の入力データを順次に受け取り、これら順次に受け取った複数の入力データを所定の固定データ幅の出力データに変換して順次に出力するデータ幅変換装置において、
上記入力データを一方のデータとする2つのデータが入力され、これら2つのデータを合体させることにより、上記固定データ幅を最大データ幅とする、これら2つのデータのデータ幅どうしの和のデータ幅を有するデータを出力するブロックシフタと、
ブロックシフタから出力されるデータを格納してこの格納したデータのデータ幅が上記固定データ幅のときにこの格納したデータを出力データとして外部に出力するスライドバッファと、
上記入力データが入力されその入力データを任意数シフトすることによりその入力データの一部を抽出して出力するバレルシフタと、
バレルシフタから出力されるデータを格納するテンポラリバッファと、
テンポラリバッファに格納されたデータとスライドバッファに格納されたデータとが入力されこれら2つのデータのうちのいずれか一方のデータを出力するセレクタとを備え、
上記セレクタは、テンポラリバッファに有効なデータが格納されていないときにはスライドバッファに格納されているデータをブロックシフタに伝達するとともに、テンポラリバッファに有効なデータが格納されているときにはテンポラリバッファに格納されているデータをブロックシフタに伝達するものであり、
上記バレルシフタは、今回の入力データと、テンポラリバッファに有効なデータが格納されているときはテンポラリバッファに格納されているデータ、あるいはテンポラリバッファに有効なデータが格納されていないときはスライドバッファに格納されているデータとを合体させたときの合体データのデータ幅が上記固定データ幅を越えるときに、今回の入力データからその合体データのうちの上記固定データ幅を越える部分を抽出してテンポラリバッファに渡すものであることを特徴とする。
【0015】
ここで、上記第3のデータ幅変換装置におけるブロックシフタが、本発明を包括的に表現したときのブロックシフタに相当し、スライドバッファとテンポラリバッファとを合わせたものが、本発明を包括的に表現したときのバッファに相当する。
【0016】
また、上記目的を達成する本発明のデータ処理装置は、入力データを受け取り処理を実行して処理済データを生成する、相互に異なるデータ幅の処理済データの生成が許容された複数のデータ処理部と、
上記複数のデータ処理部で生成された複数の処理済データを順次に受け取り、これら順次に受け取った複数の処理済データを所定の固定データ幅の出力データに変換して順次に出力するデータ幅変換部とを備え、
上記データ幅変換部が、
過去に受け取った処理済データのうちの出力未了部分データを格納しておくバッファと、
上記バッファに格納された出力未了部分データと今回受け取った処理済データとを合体させるブロックシフタとを備え、
上記バッファに格納された出力未了部分データと今回受け取った処理済データとを合体させたときの合体データのデータ幅が上記固定データ幅に満たないときはその合体データを出力未了部分データとして上記バッファに格納し、合体データのデータ幅が上記固定データ幅と同一のときはその合体データを出力データとして外部に出力し、その合体データのデータ幅が上記固定データ幅を越えるときは、その合体データのうちの、上記固定データ幅と同一データ幅の部分からなる部分データを出力データとして外部に出力するとともに、その合体データのうちの、上記同一データ幅の部分を除く部分からなる部分データを出力未了部分データとして上記バッファに格納するものであることを特徴とする。
【0017】
尚、本発明のデータ処理装置において、上記複数のデータ処理部において実行される処理は特定の処理に限定されるものではなく、どのような処理を行なうものであってもよい。また、本発明のデータ処理装置を構成するデータ幅変換部は、本発明のデータ幅変換装置の各種態様を全て包含するものである。
【0018】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【0019】
図1は、本発明のデータ幅変換装置の第1実施形態を示すブロック図である。
【0020】
この図1に示すデータ幅変換装置10には、第1のブロックシフタ11および第2のブロックシフタ12が備えられている。
【0021】
図2は、ブロックシフタの動作説明図である。ここでは、図1に示す2つのブロックシフタ11,12のうちの第1のブロックシフタ11を取り上げて説明する。第2のブロックシフタ12も同一の構成のものである。
【0022】
このブロックシフタ11には、入力された2つのデータを一時的に格納しておく2つの入力バッファ111,112が備えられている。それら2つの入力バッファ111,112には、外部から入力された入力データと、図1にも示すスライドバッファ14に格納されているデータが入力される。バレルシフタ113は、入力バッファ111に格納されたデータを任意数シフトして出力バッファ114に格納するものであり、ここでは、スライドバッファ14から入力バッファ112に入力されたデータと重ならないよう、入力バッファ112に格納されたデータのデータ幅と同じ幅だけシフトされる。また、入力バッファ112に格納されたデータは、入力バッファ111に格納されたデータがバレルシフタ113によりシフトされて出力バッファ114に格納されるタイミングで、その出力バッファ114に格納される。このようにして、出力バッファ114には、2つの入力バッファ111,112に格納された2つのデータのデータ幅の和のデータ幅を持つ、それら2つのデータが横に並べられた(これをここでは、2つのデータが合体した、と称する)データが格納される。ただし、出力バッファ114に格納されるデータは、その出力バッファ114のビット幅で決まる所定の固定データ幅以下のものであり、2つの入力バッファ111,112に格納された2つのデータのデータ幅の和がその固定データ幅を越えるときは、入力バッファ111に格納された入力データのうちの、2つのデータのデータ幅の和が固定データ幅を越える分だけ、このブロックシフタ11からは消失することになる。ただし、図1に示すデータ幅変換装置10では、ブロックシフタ11で消失することになる部分データは、バレルシフタ15で抽出されてテンポラリバッファ16に格納される。
【0023】
図2の出力バッファ114に格納されたデータはスライドバッファ14に転送される。このスライドバッファ14に転送されたデータが上記の固定データ幅のデータであったときは、そのデータは出力データとして外部に出力され、固定データ幅に満たないデータであったときは、そのデータはもう一度入力バッファ112に入力され、外部から次に入力される入力データとの間で上記の処理が繰り返される。
【0024】
ここで、説明の都合上、図2のブロックシフタ11には、2つの入力バッファ111、112、および出力バッファ114が備えられている旨説明したが、入力バッファ111は、このブロックシフタ11よりも前段に入力データを一時的に格納しておくバッファが存在するときは、この入力バッファ111の代わりにその前段のバッファを用いてもよく、また、もう1つの入力バッファ112および出力バッファ114は、実際には存在せずにスライドバッファ14自体であってもよい。
【0025】
尚、ここでは、説明を簡潔にするために、出力データのデータ幅(固定データ幅)はスライドバッファ14のビット幅で決まる旨説明したが、スライドバッファ14のビット幅以内であれば、データ幅を指定する制御信号を外部から入力し任意の固定ビット幅の出力データをスライドバッファ14に格納して外部に出力するように構成しても良い。その場合、図1に示すデータ幅変換装置10の全体が外部から入力された制御信号に応じたデータ幅の出力データが生成されるように動作する。図3以降の図を参照して説明する他の実施形態についても同様である。
【0026】
また、ここでは、バレルシフタ113により、入力データを固定ビット幅から食み出る分だけシフトする旨説明したが、その場合、入力データは常に端に寄せた形で入力される必要がある。これに代わり、有効ビット領域を示す信号を入力データとともに受け取りその信号によって有効な部分のデータを指定して処理するようにしてもよい。ブロックシフタ11をそのように構成する場合は、図1に示す第2のブロックシフタ12やバレルシフタ15等、図1のデータ幅変換装置全体が、それに対応した処理を行なうように構成される。この点も、図3以降の各図を参照して説明する他の実施形態についても同様に当てはまる。
【0027】
さらに、ここでは、図2に示すブロックシフタ11の説明にあたり、データを機械的に一方の端に寄せることを念頭に置いた説明を行なったが、外部からの制御信号に応じて右詰めにも左詰めにも対応することができるように構成してもよい。
【0028】
その場合も、ブロックシフタ11のみでなく、図1に示す第2のブロックシフタ12やバレルシフタ15等図1のデータ幅変換装置10の全体が、右詰めにも左詰めにも対応できるように構成される。図3以降の実施形態についても同様である。
【0029】
図1に戻って説明を続ける。
【0030】
図1に示すデータ幅変換装置10には、上記の第1および第2のブロックシフタ11,12のほか、セレクタ13、および図2にも示したスライドバッファ14が備えられている。図2においては、説明の簡単のためセレクタ13は省かれている。
【0031】
セレクタ13には、第1および第2のブロックシフタ11,12からそれぞれ1つずつ出力される、合計2つのデータが入力され、セレクタ13からは、これら2つのデータのうちのいずれか一方のデータが出力される。
【0032】
スライドバッファ14には、セレクタから出力されるデータが格納され、その格納されたデータのデータ幅が上記の固定データ幅のときにその格納されたデータが出力データとして外部に出力される。
【0033】
ここで、図1のデータ幅変換装置10には、入力データのほか、入力データを読み込むタイミングを表わす入力ライトイネーブル信号WEIと、そのとき入力された入力データのデータ幅を表わす信号が入力される。入力ライトイネーブル信号WEIは、バッファ制御部17とシフト量計算部18に入力され、データ幅を表わす信号は、シフト量計算部18に入力される。シフト量計算部18では、次々に入力されてくる各入力データのデータ幅の情報に基づいて、第1および第2のブロックシフタ11,12およびバレルシフタ15の各シフト量が計算され、それら第1および第2のブロックシフタ11,12およびバレルシフタ15に向けて各シフト量を指示する制御信号を出力する。また、このシフト量計算部18では、順次入力されてくる入力データのデータ幅情報から、現在テンポラリバッファに有効なデータが格納されているか否かを知ることができ、シフト量計算部18は、セレクタ13を、テンポラリバッファ16に有効なデータが格納されていないときには第1のブロックシフタ11から出力されるデータがスライドバッファ14に伝達され、テンポラリバッファ16に有効なデータが格納されているときには第2のブロックシフタ12から出力されるデータがスライドバッファ14に伝達されるように、切り替え制御する。
【0034】
また、バッファ制御部17は、入力ライトイネーブル信号WEIに応じて、スライドバッファ14およびテンポラリバッファ16にデータを取り込むタイミングを制御するとともに、シフト量計算部18からの情報を基に、スライドバッファ14に所定の固定データ幅のデータが格納されたときに出力ライトイネーブル信号WEOを出力する。このデータ幅変換装置10の後段に接続された図示しないデータ受信回路では、その出力ライトイネーブル信号WEOを受け取ったタイミングでスライドバッファ14に格納されているデータを読み取る。こうすることにより、そのデータ受信回路では、固定データ幅のデータを順次に受け取ることができる。
【0035】
第1および第2のブロックシフタ11,12のほか、バレルシフタ15にも入力データが入力されており、図2を参照して説明したように、第1のブロックシフタ11に入力された2つのデータ(スライドバッファ14からのデータと新たな入力データ)のデータ幅の和が一回の出力の単位である固定データ幅を越えることがあり、そのときには、バレルシフタ15は、シフト量計算部18から指示を受け、固定データ幅の出力データから食み出してしまう部分データが抽出されるシフト量だけ入力データをシフトして、テンポラリバッファ16に送る。テンポラリバッファ16にはその食み出した部分データ(本発明にいう出力未了部分データ)が格納される。テンポラリバッファ16に上記のようにして有効なデータが格納されたときは、セレクタ13は、第2のブロックシフタ12の出力データをスライドバッファ14に伝達するように切り替えられ、次の入力データが入力されたときは第2のブロックシフタ12の動作が有効となり、テンポラリバッファ16に格納されている、前回の出力データから食み出してしまった出力未了部分データと、今回入力された入力データとの間で、図2を参照して説明したデータの合体が行なわれて、スライドバッファ14に格納される。そのときテンポラリバッファ16に格納されていた出力未了部分データと今回新たに入力された入力データとを合体させたデータのデータ幅が丁度出力データのデータ幅(固定データ幅)に一致したときは、第2のブロックシフタ12で合体したデータがスライドバッファ14に格納されるとともにバッファ制御部17から出力ライトイネーブル信号WEOが出力される。一方、テンポラリバッファ16に格納されていた出力未了部分データと今回新たに入力された入力データとを合体させたデータのデータ幅が、出力データのデータ幅(固定データ幅)に満たないときは、第2のブロックシフタ12で合体したデータはスライドバッファ14に格納されるものの出力ライトイネーブル信号WEOは出力されず、今度はテンポラリバッファ16に有効なデータが格納されていない状態となったのでセレクタ13は第1のブロックシフタ11の出力をスライドバッファ14に伝達するように切り替えられ、今度は第1のブロックシフタ11が有効となり、この第1のブロックシフタ11で、図2を参照して説明したようにスライドバッファ14に格納された固定データ幅に満たないデータと、次に新たに入力されてきた入力データとが合体したデータが生成される。そのときに固定データ幅から食み出す部分データが存在するときは、その部分データは、上に説明したようにして、バレルシフタ15によりその部分データが抽出され、テンポラリバッファ16に格納され、次に入力データが入力されてきたときは第2のブロックシフタ12が有効となる。
【0036】
また、第2のブロックシフタ12でテンポラリバッファ16に格納されていた出力未了部分データと新たに入力された入力データとを合体させたときに食み出す部分データが存在するときも同様に、その食み出すことになる部分データがバレルシフタ15により抽出されてテンポラリバッファ16に格納される。
【0037】
セレクタ13の切替えにより第1のブロックシフタ11が有効になっているか第2のブロックシフタ12が有効になっているかによらず、現在有効なブロックシフタにより2つのデータを合体させるときに固定データ長から食み出す部分データが存在するときは、その有効なブロックシフタでは出力データのデータ幅(固定データ長)のデータが生成されることになり、そのデータがスライドバッファ14に格納されるとともにバッファ制御部17から出力ライトイネーブル信号WEOが出力される。そのとき食み出ることになった部分データは、上述したようにしてテンポラリバッファ16に格納される。
【0038】
このように、この図1に示すデータ幅変換装置10では、順次に様々なデータ幅を持つ入力データが入力される場合に、その入力データを固定データ幅の出力データに変換して順次に出力される。また、この図1のデータ幅変換装置は、次々に入力される様々なデータ幅を持つ入力データを固定データ幅の出力データに変換するにあたり、バレルシフタ15、およびブロックシフタ11,12を構成するバレルシフタ(図2参照)により、出力未了部分データのデータ幅と新たに入力された入力データのデータ幅とに見合ったシフト量だけシフトする回路構成を採用したため、従来の、ビット単位あるいはバイト単位といった固定幅のデータのみ取り扱うことのできる装置と比べ、データ幅変換処理速度が大幅に向上する。
【0039】
尚、ここでは、様々なデータ幅の入力データが順次入力されることを前提に置いて説明したが、この図1に示すビット幅変換装置は、常に同一のデータ幅の入力データが順次入力されることを否定するものではなく、その場合、このデータ幅変換装置10は、固定データ幅の入力データを別の固定データ幅の出力データに変換するデータ幅変換装置として動作することになる。以下に説明する他の実施形態についても同様である。
【0040】
図3は、本発明のデータ幅変換装置の第2実施形態を示すブロック図である。ここでは、図示の煩雑さを避けるため、図1に示す第1実施形態におけるバッファ制御部17およびシフト量計算部18に相当する構成部分は図示を省略してある。
【0041】
この図3に示すデータ幅変換装置20には、第1および第2のブロックシフタ21,22、スライドバッファ24、およびテンポラリバッファ26が備えられている。
【0042】
入力データが入力されると、第1のブロックシフタ21では、テンポラリバッファ26に格納されているデータと今回の入力データとを合体させたデータが生成され、その生成されたデータはスライドバッファ24に格納される。このとき、その第1のブロックシフタ21で合体させたデータのデータ幅が出力データのデータ幅(固定データ幅)のデータであったときは、そのデータがスライドバッファ24に格納されるとともに、図3には不図示のバッファ制御部(図1のバッファ制御部17を参照)から出力ライトイネーブル信号WEOが出力される。一方、第1のブロックシフタ21での合体により得られたデータが出力データのデータ幅に満たないデータ幅のデータであったときは、そのデータがスライドバッファ24に格納されても出力データとしては取り扱われず、無視される。また、テンポラリバッファ26に格納されていたデータのデータ幅と今回の入力データのデータ幅とを合わせたデータ幅が出力データのデータ幅(固定データ幅)を越えていたときは、第1のブロックシフタ21ではその固定データ幅のデータが生成されてスライドバッファ24に格納されそのスライドバッファ24に格納されたデータは出力データとして取り扱われるが、その第1のブロックシフタ21でのデータの合体の際、食み出した部分データが生じることになる。
【0043】
この図3には図示しないシフト量計算部(図1のシフト量計算部18を参照)では、どれだけの食み出しが生じるかわかっているため、第2のブロックシフタ22にその食み出し量に応じたシフト量だけシフトするよう指令を出し、その
第2のブロックシフタ22でその食み出した部分のデータが抽出されてテンポラリバッファ26に格納される。
【0044】
また、テンポラリバッファ26にデータが格納されており、新たな入力データが入力されたときにおいて、そのテンポラリバッファ26に格納されているデータのデータ幅と新たな入力データのデータ幅とを合わせたデータ幅が出力データのデータ幅に満たないときは、その第2のブロックシフタ22により、テンポラリバッファ26に格納されていたデータと新たな入力データとが合体されてテンポラリバッファ26に再度格納される。
【0045】
この図3に示すデータ幅変換装置20では、入力データが入力されるたびに上記の動作が繰返され、固定データ幅に変換された出力データが順次生成されて外部に出力される。
【0046】
この図3に示すデータ幅変換装置20の場合も、図1のデータ幅変換装置10と同様、出力未了の部分データのデータ幅と新たな入力データのデータ幅とに見合ったシフト量だけシフトして出力データおよび出力未了の部分データを生成するものであるため、固定幅のデータを取り扱うデータ幅変換装置と比べデータ幅変換処理速度が大幅に向上する。
【0047】
図4は、本発明のデータ幅変換装置の第3実施形態を示すブロック図である。ここでも、図3の場合と同様、図1に示すバッファ制御部17およびシフト量計算部18に相当する構成部分は図示省略されている。
【0048】
この図4に示すデータ幅変換装置30には、ブロックシフタ31、セレクタ33、スライドバッファ34、バレルシフタ35、およびテンポラリバッファ36が備えられている。
【0049】
セレクタ33は、テンポラリバッファ36に有効なデータが格納されているときはテンポラリバッファ36に格納されているデータをブロックシフタ31に伝達し、テンポラリバッファ36に有効なデータが格納されていないときは、スライドバッファ34に格納されていないデータをブロックシフタ31に伝達するように切り替えられる。
【0050】
テンポラリバッファ36に有効なデータが格納されているときの、そのテンポラリバッファ36に格納されているデータ、あるいは、テンポラリバッファ36に有効なデータが格納されておらずスライドバッファ34に出力データのデータ幅に満たないデータが格納されているときの、そのスライドバッファ34に格納されているデータと、今回の入力データとがブロックシフタ31で合体されてスライドバッファ34に格納される。このとき、スライドバッファ34に新たに格納されたデータがなおも出力データのデータ幅に満たないデータ幅のデータであるときは、そのスライドバッファ34に格納されたデータは出力データとしては取り扱われずに出力ライトイネーブル信号WEO(図1参照)は出力されず、一方、スライドバッファ34に新たに格納されたデータが出力データのデータ幅のデータであったときはそのスライドバッファ34に新たに格納されたデータは出力データとして取り扱われ、スライドバッファ34にデータが格納されるとともに出力ライトイネーブル信号WEOが出力される。
【0051】
ここで、ブロックシフタ31で出力データのデータ幅と同一のデータ幅のデータが生成されるときは、今回の入力データの一部が今回の出力データとしては使われずに食み出す場合がある。そのような状況のときは、入力データは、バレルシフタ35により、その食み出すことになる部分データが抽出されるシフト量だけシフトされ、これにより、その食み出すことになる部分データが抽出される。その抽出された部分データはテンポラリバッファ36に格納される。
【0052】
この図4に示すデータ幅変換装置では、新たな入力データが入力されるたびに上記の動作が送り返され、スライドバッファ34を経由して固定データ幅の出力データが外部に出力される。
【0053】
この図4のデータ幅変換装置30の場合も、図1,図3に示す各データ幅変換装置10,20と同様、出力未了の部分データのデータ幅と新たな入力データのデータ幅とに応じたシフト量だけシフトして出力データおよび新たな出力未了の部分データを生成するものであり、データ幅変換処理速度が大幅に向上する。
【0054】
図5は、本発明のデータ処理装置の一実施形態を示すブロック図である。
【0055】
このデータ処理装置40は、入力セレクタ41、複数のデータ処理部42〜46、出力セレクタ47、および図1に示す構成のデータ幅変換装置10から構成されている。
【0056】
入力セレクタ41は、入力FIFO(First−in First−out)メモリを経由して入力されてきたデータを、複数のデータ処理部42〜46のうちの、選択信号S1に応じたデータ処理部に伝達する。
【0057】
これら複数のデータ処理部42〜46は、それぞれ異なるデータ処理を実行するデータ処理部であり、データ処理の結果生成される処理済データは、各データ処理部ごとに異なるビット幅を持っている。
【0058】
出力セレクタ47は、選択信号S2に応じて複数のデータ処理部42〜46の中から1つのデータ処理部を選択し、その選択されたデータ処理部で生成された処理済データをデータ幅変換装置10に伝達する。
【0059】
データ幅変換装置10は、図1に示す構成を備えたものであり、出力セレクタ47から送られてきたデータを入力ライトイネーブル信号WEIに応じて受け取り、前述の動作により所定の固定データ幅の出力データに変換して、外部の出力FIFOメモリに向けて出力する。
【0060】
入力セレクタ41には、入力FIFOメモリからデータが順次入力され、入力セレクタ41は順次入力されるデータを選択信号S1に応じて各データ処理部に振り分ける。出力セレクタ47は、選択信号S2に応じて、各データ処理部でデータ処理の済んだデータ(処理済データ)を順次にデータ幅変換装置10に伝達する。データ幅変換装置10は、順次伝達されてきた処理済データを、入力ライトイネーブル信号WEIに応じて順次受け取り、出力データを順次生成して出力FIFOメモリに渡す。
【0061】
この図5に示すデータ処理装置40によれば、入力データを順次受け取り、各処理を実行し、それらの処理結果を所定の固定データ幅の出力データに効率よく変換して出力することができる。
【0062】
尚、この図5に示すデータ処理装置40は、図1に示す構成のデータ幅変換装置10を備えているものであると説明したが、図1に示す構成のデータ幅変換装置10に代わり、図3に示す構成のデータ幅変換装置20あるいは図4に示す構成のデータ幅変換装置30を備えていてもよい。
【0063】
図6は、本発明のデータ処理装置の一実施形態が搭載された半導体チップの回路構成を示すブロック図である。
【0064】
この半導体チップ50には、2つのPCIインタフェース51A,51B、パケットディスパッチャ52、パケットスケジューラ53、2つの入力FIFOメモリ54A,54B、2つのストリームプロセッサ40A,40B、および2つの出力FIFOメモリ55A,55Bが搭載されている。ここで、2つのストリームプロセッサ40A,40Bは、それぞれが図5に示す構成のデータ処理装置と同一の構成のものである。また、2つのPCIインタフェース51A,51Bは、それぞれが、PCIバスを介しての、この半導体チップ50と外部回路との間での通信を担うインタフェースであり、ここでは各PCIインタフェース51A,51Bは、それぞれ各PCIバス(PCI1,PCI2)に接続されている。また、パケットディスパッチャ52は、PCIインタフェース51A,51Bを経由してデータパケットを受け取って、2つの入力FIFOメモリ54A,54Bに分配する役割りを担っており、ここではPCIバス(PCI1)を経由してPCIインタフェース51Aで受信されたデータパケットは、パケットディスパッチャ52により入力FIFOメモリ54Aに伝達され、PCIバス(PCI2)を経由しPCIインタフェース51Bで受信されたデータパケットは、入力FIFOメモリ54Bに伝達される。
【0065】
各入力FIFOメモリ54A,54Bに入力された各データパケットは、それぞれ各ストリームプロセッサ40A,40Bに入力され、各ストリームプロセッサ40A,40Bでは、図5を参照して説明したようにして各種処理が実行されて、その処理済データが各出力FIFOメモリ55A,55Bに格納される。ここで、2つのストリームプロセッサ40A,40Bは、逆方向に流れるデータパケットに対する処理を実行するものであり、具体的な処理内容は相互に異なるが、ここでは、各処理の具体例についての言及は省略する。
【0066】
各出力FIFOメモリ55A,55Bに格納されたデータは、パケットスケジューラ53を経由して、各PCIインタフェース51A,51Bに渡される。ここで、パケットスケジューラ53は、出力FIFOメモリ55Aを経由して受け取ったデータパケットはPCIインタフェース51Bに渡し、出力FIFOメモリ55Bを経由して受け取ったデータパケットはPCIインタフェース51Aに渡す。
【0067】
PCIインタフェース51Bは、パケットスケジューラ53から受け取ったデータパケットをPCI2に送り、PCIインタフェース51Aは、パケットスケジューラ53から受け取ったデータパケットをPCI1に送る。
【0068】
このように、この半導体チップ50は、データ処理を行ないながら2つのPCIバスを結ぶ役割りを担っている。
【0069】
図7は、図6に示す半導体チップが組み込まれたネットワークアクセスサーバを示す概念図である。
【0070】
このネットワークアクセスサーバにはNIC(Network Interface Card)が2つ(NIC1,NIC2)備えられており、それら2つのNICは、図6に示す構成の回路を有するチップ50を搭載したネットワークボード60を介して接続されている。また、2つのNICのうちの一方であるNIC1は、例えばディジタルビデオカメラなどのディジタル機器に接続され、もう一方のNIC2は、グローバルなインターネットに接続されている。
【0071】
図8は、図7に示すネットワークアクセスサーバを経由して、ディジタルビデオカメラなどのディジタル機器からインターネット側にデータを送る場合の処理フローを示すフローチャートである。
【0072】
ディジタルビデオカメラ等のディジタル機器からインターネット側にデータを送る時は、そのデジタルビデオカメラなどの機器からデータがIEEE1394などの規格に準拠した通信経路を経由してNIC1に入り(ステップa1)、NIC1からPCI1を経由してデータがチップ50内の入力FIFOメモリに書き込まれる(ステップa2)。次いで、入力FIFOメモリからSP(パケットスケジューラ(図6,図5参照))にデータが読み出され(ステップa3)、SPによりデータ処理が行われる(ステップa4)。SPで処理されたデータは出力FIFOメモリに書きこまれ(ステップa5)、出力FIFOメモリから読み出された処理済データはPCI2を経由してNIC2に入り(ステップa6)、NIC2からGigabitやEthemetなどに準拠した通信経路を経由してインターネット上に送信される(ステップa7)。
【0073】
図9は、図8の場合とは逆に、図7に示すネットワークアクセスサーバを経由して、インターネットからデータを受け取り、そのデータをディジタルビデオカメラなどのディジタル機器に送る場合の処理フローを示すフローチャートである。
【0074】
インターネット上からディジタル機器にデータを送るときは、インターネット上のデータがGigabit,Ethenetなどの規格に準拠した通信経路を経由してNIC2に入り(ステップb1)、NIC2からPCI2を経由してデータがチップ内の入力FIFOメモリに書き込まれる(ステップb2)。次いで、入力FIFOメモリからSPにデータが読み出され(ステップb3)、SPによりデータ処理が行われる(ステップb4)。SPで処理されたデータは出力FIFOメモリに書きこまれ(ステップb5)、出力FIFOから読み出された処理データはPCI1を経由してNIC1に入り(ステップb6)、NIC2からIEEE1394などの規格に準拠した通信経路を経由してデジタル機器などにデータが送られる(ステップb7)。
【0075】
図10は、ネットワークアクセスサーバのもう一つの例を示す概念図である。
【0076】
このネットワークサーバには、図7の場合と同様、2つのNICと、それら2つのNIC間をつなぐネットワークボード60が備えられている。このネットワークボード60には、図6に示す構成を備えた半導体チップ50が搭載されている。前述したように半導体チップ50を構成するストリームプロセッサ40A,40Bは、それぞれが図5に示す本発明の一実施形態としてのデータ処理装置40であり、そのデータ処理装置40には本発明の一実施形態としてのデータ幅変換装置が採用されている。
【0077】
この図10に示すネットワークサーバを構成するNIC1は、ある会社の社内のイントラネットなどに接続されており、NIC2は、図7の場合と同様、グローバルなインターネットに接続されている。この図10のネットワークサーバは、社内のイントラネットなどとグローバルなインターネットとの間の通信を仲介している。
【0078】
この図10に示すネットワークサーバの動作は図7に示すネットワークサーバと同様であり、説明は省略する。
【0079】
本発明のデータ幅変換装置あるいはデータ処理装置は、以上のようにして、2つの異なる通信路にまたがるデータの通信の仲介に好適に採用される。
【0080】
【発明の効果】
以上説明したように、本発明によれば、順次入力されてくるデータが様々なデータ幅を持つデータであっても、それらのデータを固定データ幅のデータに効率良く変換することができる。
【図面の簡単な説明】
【図1】本発明のデータ幅変換装置の第1実施形態を示すブロック図である。
【図2】ブロックシフタの動作説明図である。
【図3】本発明のデータ幅変換装置の第2実施形態を示すブロック図である。
【図4】本発明のデータ幅変換装置の第3実施形態を示すブロック図である。
【図5】本発明のデータ処理装置の一実施形態を示すブロック図である。
【図6】本発明のデータ処理装置の一実施形態が搭載された半導体チップの回路構成を示すブロック図である。
【図7】図6に示す半導体チップが組み込まれたネットワークアクセスサーバを示す概念図である。
【図8】図7に示すネットワークアクセスサーバを経由して、ディジタルビデオカメラなどのディジタル機器からインターネット側にデータを送る場合の処理フローを示すフローチャートである。
【図9】図7に示すネットワークアクセスサーバを経由して、インターネットからデータを受け取り、そのデータをディジタルビデオカメラなどのディジタル機器に送る場合の処理フローを示すフローチャートである。
【図10】ネットワークアクセスサーバのもう一つの例を示す概念図である。
【符号の説明】
10,20,30 データ幅変換装置
11 ブロックシフタ
12 ブロックシフタ
13 セレクタ
14 スライドバッファ
15 バレルシフタ
16 テンポラリバッファ
17 バッファ制御部
18 シフト量計算部
21 ブロックシフタ
22 ブロックシフタ
24 スライドバッファ
26 テンポラリバッファ
31 ブロックシフタ
33 セレクタ
34 スライドバッファ
35 バレルシフタ
36 テンポラリバッファ
40 データ処理装置
40A,40B ストリームプロセッサ
41 入力セレクタ
42,43,44,45,46 データ処理部
47 出力セレクタ
50 半導体チップ
51A,51B PCIインタフェース
52 パケットディスパッチャ
53 パケットスケジューラ
54A,54B 入力FIFOメモリ
55A,55B 出力FIFOメモリ
60 ネットワークボード

Claims (4)

  1. データ幅が相互に異なることが許容された複数の入力データを順次に受け取り、これら順次に受け取った複数の入力データを所定の固定データ幅の出力データに変換して順次に出力するデータ幅変換装置において、
    前記入力データを一方のデータとする2つのデータが入力され、これら2つのデータを合体させることにより、前記固定データ幅を最大データ幅とする、これら2つのデータのデータ幅どうしの和のデータ幅を有するデータを出力する第1および第2のブロックシフタと、
    前記第1および第2のブロックシフタからそれぞれ1つずつ出力される合計2つのデータが入力されこれら2つのデータのうちのいずれか一方のデータを出力するセレクタと、
    前記セレクタから出力されるデータを格納しこの格納したデータのデータ幅が前記固定データ幅のときにこの格納したデータを前記出力データとして外部に出力するスライドバッファと、
    前記入力データが入力され該入力データを任意数シフトすることにより該入力データの一部を抽出して出力するバレルシフタと、
    前記バレルシフタから出力されるデータを格納するテンポラリバッファとを備え、
    前記第1のブロックシフタは、前記入力データが入力されるとともに前記スライドバッファに格納されているデータが入力されるものであり、
    前記第2のブロックシフタは、前記入力データが入力されるとともに前記テンポラリバッファに格納されているデータが入力されるものであり、
    前記セレクタは、前記テンポラリバッファに有効なデータが格納されていないときには前記第1のブロックシフタから出力されたデータを前記スライドバッファに伝達するとともに、前記テンポラリバッファに有効なデータが格納されているときには前記第2のブロックシフタから出力されたデータを前記スライドバッファに伝達するものであって、
    前記バレルシフタは、今回の入力データと、前記テンポラリバッファに有効なデータが格納されているときは該テンポラリバッファに格納されているデータ、あるいは該テンポラリバッファに有効なデータが格納されていないときは前記スライドバッファに格納されているデータとを合体させたときの合体データのデータ幅が前記固定データ幅を越えるときに、今回の入力データから該合体データのうちの該固定データ幅を越える部分を抽出して前記テンポラリバッファに渡すものであることを特徴とするデータ幅変換装置。
  2. データ幅が相互に異なることが許容された複数の入力データを順次に受け取り、これら順次に受け取った複数の入力データを所定の固定データ幅の出力データに変換して順次に出力するデータ幅変換装置において、
    前記入力データを一方のデータとする2つのデータが入力され、これら2つのデータを合体させることにより、前記固定データ幅を最大データ幅とする、これら2つのデータのデータ幅どうしの和のデータ幅を有するデータを出力するブロックシフタと、
    前記ブロックシフタから出力されるデータを格納してこの格納したデータのデータ幅が前記固定データ幅のときにこの格納したデータを前記出力データとして外部に出力するスライドバッファと、
    前記入力データが入力され該入力データを任意数シフトすることにより該入力データの一部を抽出して出力するバレルシフタと、
    前記バレルシフタから出力されるデータを格納するテンポラリバッファと、
    前記テンポラリバッファに格納されたデータと前記スライドバッファに格納されたデータとが入力されこれら2つのデータのうちのいずれか一方のデータを出力するセレクタとを備え、
    前記セレクタは、前記テンポラリバッファに有効なデータが格納されていないときには前記スライドバッファに格納されているデータを前記ブロックシフタに伝達するとともに、前記テンポラリバッファに有効なデータが格納されているときには該テンポラリバッファに格納されているデータを前記ブロックシフタに伝達するものであり、
    前記バレルシフタは、今回の入力データと、前記テンポラリバッファに有効なデータが格納されているときは該テンポラリバッファに格納されているデータ、あるいは該テンポラリバッファに有効なデータが格納されていないときは前記スライドバッファに格納されているデータとを合体させたときの合体データのデータ幅が前記固定データ幅を越えるときに、今回の入力データから該合体データのうちの該固定データ幅を越える部分を抽出して前記テンポラリバッファに渡すものであることを特徴とするデータ幅変換装置。
  3. 入力データを受け取り処理を実行して処理済データを生成する、相互に異なるデータ幅の処理済データの生成が許容された複数のデータ処理部と、
    前記複数のデータ処理部で生成された複数の処理済データを順次に受け取り、これら順次に受け取った複数の処理済データを所定の固定データ幅の出力データに変換して順次に出力するデータ幅変換部とを備え、
    前記データ幅変換部が、
    前記処理済データを一方のデータとする2つのデータが入力され、これら2つのデータを合体させることにより、前記固定データ幅を最大データ幅とする、これら2つのデータのデータ幅どうしの和のデータ幅を有するデータを出力する第1および第2のブロックシフタと、
    前記第1および第2のブロックシフタからそれぞれ1つずつ出力される合計2つのデータが入力されこれら2つのデータのうちのいずれか一方のデータを出力するセレクタと、
    前記セレクタから出力されるデータを格納しこの格納したデータのデータ幅が前記固定データ幅のときにこの格納したデータを前記出力データとして外部に出力するスライドバッファと、
    前記処理済データが入力され該処理済データを任意数シフトすることにより該処理済データの一部を抽出して出力するバレルシフタと、
    前記バレルシフタから出力されるデータを格納するテンポラリバッファとを備え、
    前記第1のブロックシフタは、前記処理済データが入力されるとともに前記スライドバッファに格納されているデータが入力されるものであり、
    前記第2のブロックシフタは、前記処理済データが入力されるとともに前記テンポラリバッファに格納されているデータが入力されるものであり、
    前記セレクタは、前記テンポラリバッファに有効なデータが格納されていないときには前記第1のブロックシフタから出力されたデータを前記スライドバッファに伝達するとともに、前記テンポラリバッファに有効なデータが格納されているときには前記第2のブロックシフタから出力されたデータを前記スライドバッファに伝達するものであって、
    前記バレルシフタは、今回の処理済データと、前記テンポラリバッファに有効なデータが格納されているときは該テンポラリバッファに格納されているデータ、あるいは該テンポラリバッファに有効なデータが格納されていないときは前記スライドバッファに格納されているデータとを合体させたときの合体データのデータ幅が前記固定データ幅を越えるときに、今回の処理済データから該合体データのうちの該固定データ幅を越える部分を抽出して前記テンポラリバッファに渡すものであることを特徴とするデータ処理装置。
  4. 入力データを受け取り処理を実行して処理済データを生成する、相互に異なるデータ幅の処理済データの生成が許容された複数のデータ処理部と、
    前記複数のデータ処理部で生成された複数の処理済データを順次に受け取り、これら順次に受け取った複数の処理済データを所定の固定データ幅の出力データに変換して順次に出力するデータ幅変換部とを備え、
    前記データ幅変換部が、
    前記処理済データを一方のデータとする2つのデータが入力され、これら2つのデータを合体させることにより、前記固定データ幅を最大データ幅とする、これら2つのデータのデータ幅どうしの和のデータ幅を有するデータを出力するブロックシフタと、
    前記ブロックシフタから出力されるデータを格納してこの格納したデータのデータ幅が前記固定データ幅のときにこの格納したデータを前記出力データとして外部に出力するスライドバッファと、
    前記処理済データが入力され該処理済データを任意数シフトすることにより該処理済デ ータの一部を抽出して出力するバレルシフタと、
    前記バレルシフタから出力されるデータを格納するテンポラリバッファと、
    前記テンポラリバッファに格納されたデータと前記スライドバッファに格納されたデータとが入力されこれら2つのデータのうちのいずれか一方のデータを出力するセレクタとを備え、
    前記セレクタは、前記テンポラリバッファに有効なデータが格納されていないときには前記スライドバッファに格納されているデータを前記ブロックシフタに伝達するとともに、前記テンポラリバッファに有効なデータが格納されているときには該テンポラリバッファに格納されているデータを前記ブロックシフタに伝達するものであり、
    前記バレルシフタは、今回の処理済データと、前記テンポラリバッファに有効なデータが格納されているときは該テンポラリバッファに格納されているデータ、あるいは該テンポラリバッファに有効なデータが格納されていないときは前記スライドバッファに格納されているデータとを合体させたときの合体データのデータ幅が前記固定データ幅を越えるときに、今回の処理済データから該合体データのうちの該固定データ幅を越える部分を抽出して前記テンポラリバッファに渡すものであることを特徴とするデータ処理装置。
JP2001116535A 2001-04-16 2001-04-16 データ幅変換装置及びデータ処理装置 Expired - Fee Related JP3773804B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001116535A JP3773804B2 (ja) 2001-04-16 2001-04-16 データ幅変換装置及びデータ処理装置
US09/948,770 US6414609B1 (en) 2001-04-16 2001-09-10 Data width conversion apparatus and data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001116535A JP3773804B2 (ja) 2001-04-16 2001-04-16 データ幅変換装置及びデータ処理装置

Publications (2)

Publication Number Publication Date
JP2002312158A JP2002312158A (ja) 2002-10-25
JP3773804B2 true JP3773804B2 (ja) 2006-05-10

Family

ID=18967258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001116535A Expired - Fee Related JP3773804B2 (ja) 2001-04-16 2001-04-16 データ幅変換装置及びデータ処理装置

Country Status (2)

Country Link
US (1) US6414609B1 (ja)
JP (1) JP3773804B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006527B1 (en) * 2001-10-12 2006-02-28 Cypress Semiconductor Corp. Multistage pipeline bit conversion
JP2004164579A (ja) * 2002-09-24 2004-06-10 Sharp Corp データバス幅変換装置およびデータ処理装置
US7243172B2 (en) * 2003-10-14 2007-07-10 Broadcom Corporation Fragment storage for data alignment and merger
JP4276647B2 (ja) 2005-08-25 2009-06-10 富士通マイクロエレクトロニクス株式会社 半導体装置
US7620756B2 (en) * 2006-08-21 2009-11-17 International Business Machines Corporation Method and apparatus for updating wide storage array over a narrow bus
US8942490B2 (en) * 2008-07-08 2015-01-27 Yin-Chun Blue Lan Method of high performance image compression
US8504745B1 (en) 2009-04-02 2013-08-06 Xilinx, Inc. Method of and circuit for determining a shift pattern to generate an output data stream
JP5898409B2 (ja) * 2011-03-24 2016-04-06 オリンパス株式会社 データ処理装置およびデータ処理方法
EP3173935B1 (en) 2015-11-24 2018-06-06 Stichting IMEC Nederland Memory access unit
US11113219B2 (en) 2020-02-10 2021-09-07 Nxp Usa, Inc. Protocol data unit end handling with fractional data alignment and arbitration fairness

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63296158A (ja) 1987-05-28 1988-12-02 Canon Inc 情報処理装置
JPS6431252A (en) 1987-07-28 1989-02-01 Nec Corp Data bus width transformer
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
JPH04119446A (ja) 1990-09-10 1992-04-20 Fujitsu Ltd データ転送制御方式
JPH091197A (ja) 1995-06-22 1997-01-07 Hitachi Plant Eng & Constr Co Ltd 汚泥攪拌乾燥装置
JPH0991197A (ja) 1995-09-22 1997-04-04 Sharp Corp データ転送制御装置
US5666116A (en) * 1995-12-01 1997-09-09 U.S. Philips Corporation High speed variable-length decoder arrangement
US5973628A (en) * 1997-10-03 1999-10-26 Cisco Technology, Inc. Parallel variable bit encoder

Also Published As

Publication number Publication date
US6414609B1 (en) 2002-07-02
JP2002312158A (ja) 2002-10-25

Similar Documents

Publication Publication Date Title
EP1033020B1 (en) Multi-protocol packet translator
JP4181645B2 (ja) データ処理装置
US7096310B2 (en) Switch configurable for a plurality of communication protocols
US6813282B1 (en) Isochronous packet transfer method, computer readable recording media recorded with control program for executing isochronous packet transfer, and bridge and packet transfer control LSI
US8638665B2 (en) Router, information processing device having said router, and packet routing method
JP3773804B2 (ja) データ幅変換装置及びデータ処理装置
JP4203979B2 (ja) パケット処理装置
US9635145B2 (en) System and method for modifying, in a processing pipeline, a length of a data packet in a data block without modifying a length of the data block
WO1998014015A9 (en) A method and apparatus for having multiple virtual paths in one serial i/o controller channel
WO1998014015A2 (en) A method and apparatus for having multiple virtual paths in one serial i/o controller channel
US7529260B2 (en) Packet transmission apparatus, packet transmission system and packet transmission method
Portero et al. SystemC implementation of a NoC
KR20170112775A (ko) 듀얼 스위칭 네트워크 모드들에서 네트워킹 가능한 온칩 네트워크 장치 및 그것의 동작 방법
JP3612512B2 (ja) ネットワーク中継装置及びネットワーク中継方法並びにプログラム
US7174395B2 (en) Communication interface method and device utilizing direct memory access data transfer
JP2000286855A (ja) 通信システム及び通信機器
JP4234689B2 (ja) データ処理方法及びデータ処理装置
JP2019046379A (ja) 計算ノード装置、並列計算機システム、および計算ノード装置の制御方法
EP0680240A2 (en) Switching device and switching system using plurality of such switching devices
JP2004056759A (ja) パケット通信装置
JP2855542B2 (ja) 通信制御装置
US6671734B1 (en) IP fragment-processing apparatus, method and computer program
US20040052261A1 (en) Communication control device having multiprocessor
JP4423728B2 (ja) データ伝送装置及び方法
WO2004003794A1 (ja) ソフトウェアをハードウェアに置き換えることにより通信プロトコルを高速処理する方法および装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051011

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: 20060214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060215

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: 20090224

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130224

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees