JP2006050502A - 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器 - Google Patents

集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器 Download PDF

Info

Publication number
JP2006050502A
JP2006050502A JP2004232485A JP2004232485A JP2006050502A JP 2006050502 A JP2006050502 A JP 2006050502A JP 2004232485 A JP2004232485 A JP 2004232485A JP 2004232485 A JP2004232485 A JP 2004232485A JP 2006050502 A JP2006050502 A JP 2006050502A
Authority
JP
Japan
Prior art keywords
data
layer
protocol
information
protocol information
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.)
Withdrawn
Application number
JP2004232485A
Other languages
English (en)
Inventor
Yoshiaki Hashimoto
良昭 橋本
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004232485A priority Critical patent/JP2006050502A/ja
Publication of JP2006050502A publication Critical patent/JP2006050502A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

【課題】所定の通信プロトコルに従い送信データを生成する際の処理時間の短縮化やシステムの効率の向上。
【解決手段】集積回路装置10は、上位層から受けとったデータを保持するためのデータ保持バッファ40と、自層で付加されるプロトコル情報を保持するためのプロトコル情報保持バッファ50,60と、上位層から渡されたデータを、自層で付加されるプロトコル制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行うDMA転送処理部30と、上位層から渡されたデータに付加すべきプロトコル情報を自層のプロトコルに従って生成し、生成したプロトコル情報をプロトコル情報保持バッファに格納する処理を行うプロトコル情報生成部110と、データ保持バッファに格納されたデータと、前記データに対応してプロトコル情報保持バッファに保持されたプロトコル情報に基づき、下位層に渡すデータを生成するプロトコル情報付きデータ生成部70とを含む。
【選択図】 図1

Description

本発明は、集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器に関する。
例えばTCP/IP等の所定のプロトコルを使用してデータの送信を行う場合、アプリケーション層で生成された送信データは、物理層にいたる各階層のプロトコルで、上位層から渡されたデータ自体は変更せず、各階層で必要な情報を付加したものを新たなデータとして下位階層に渡す処理が行われ、最終的に物理層で電気信号に置き換えられて通信相手に対して送信する。
ここでアプリケーション層からのデータは、トランスポート層で通信に適したサイズ(物理層に合わせたサイズ、分割したものをセグメントと呼ぶ)に分割され、この分割されたデータが処理単位となって各階層の処理がなされる。物理層が異なる相手との通信の場合、ブリッジとなる部分において、対する物理層に適したサイズへの変更がなされる(フラグメント化)。
特開平11−215204号 特開2000−112849号
各階層では、上位から受け渡されるデータはブラックボックスであり、上位階層からは連続してメモリ上に展開した状態で渡される。しかし、受け渡されたデータに自階層の処理を行う為には(下位階層に渡すデータとする為には)、各データの前後に空領域が必要である。
この為に、従来は一旦作業領域にデータを転送して自階層の処理を行い、別な領域に終了したデータを格納するという処理を行っている。
しかしこのようにするとデータサイズが大きい場合に別な領域に転送する処理がおおきくなり処理時間の増大やシステムの効率を悪化させるという問題があった。
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、所定の通信プロトコルに従い送信データを生成する際の処理時間の短縮かやシステムの効率を向上が可能な集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器の提供を目的とする。
(1)本発明は、
階層化された所定の通信プロトコルに従い送信データを生成する際に、上位層から受け取ったデータに自層のプロトコルに従って自層で必要なプロトコル情報を付加して下位層に渡す処理を行う集積回路装置であって、
上位層から受けとったデータを保持するためのデータ保持バッファと、
自層で付加されるプロトコル情報を保持するためのプロトコル情報保持バッファと、
上位層から渡されたデータを、自層で付加されるプロトコル制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行うDMA転送処理部と、
上位層から渡されたデータに付加すべきプロトコル情報を自層のプロトコルに従って生成し、生成したプロトコル情報をプロトコル情報保持バッファに格納する処理を行うプロトコル情報生成部と、
データ保持バッファに格納されたデータと、前記データに対応してプロトコル情報保持バッファに保持されたプロトコル情報に基づき、下位層に渡すデータを生成するプロトコル情報付きデータ生成部と、
を含むことを特徴とする。
例えば階層化された所定の通信プロトコルに従い送信データを生成する際に、上位層(である第n層)から受け取ったデータに自層(第n−1層)のプロトコルに従って自層(第n−1層)で必要なプロトコル情報(ヘッダ)を付加して下位層(である第n−2層)に渡す処理を行う集積回路装置(通信処理装置)であって、
上位層(第n層)から受けとったデータを保持するためのデータ保持バッファと、
自層(第n−1層)で付加されるプロトコル情報を保持するためのプロトコル情報保持バッファと、
上位層(第n層)から渡されたデータを、自層(第n−1層)で付加されるプロトコル制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行うDMA転送処理部と、
上位層(第n層)から渡されたデータ(ペイロード)に付加すべきプロトコル情報(ヘッダ)を自層(第n−1層)のプロトコルに従って生成し、生成したプロトコル情報をプロトコル情報保持バッファに格納する処理を行うプロトコル情報(ヘッダ)生成部と、
データ保持バッファに格納されたデータと、前記データに対応してプロトコル情報保持バッファに保持されたプロトコル情報(ヘッダ)に基づき、下位層(第n−2層)に渡すデータを生成するプロトコル情報付きデータ生成部と、
を含むことを特徴とする。
ここにおいてプロトコル情報とは、送受信端末間で定められた任意のプロトコル手順に従い、生成・付加されるものであり、その内容は、プロトコルの機能により様々であり、ヘッダ情報やトレーラ情報を含む。例えば、IP(Internet Protocol)ヘッダには、一つ、または複数の伝送回線を介して、中継を行い、二つの端末間でのパケット伝送を実現する為に、伝送回線の種類にかかわらず送信端末、および、受信端末を識別する為のIPアドレスなどが保持される。また、TCP(Transmission Control Protocol)ヘッダには、二つの端末間で端末データを誤りなく伝送する為に、各分割データ間相互の位置関係を示すシーケンス・ナンバや、パケット伝送中に発生するデータ誤りを検出する為のチェック・サムなどが保持される。
ここで上位層から渡されたデータは、上位層が生成したプロトコル情報も含むペイロードと呼ばれるデータである。
また自層や上位層や下位層は任意に決定することができる。例えば複数の階層各階層を自層として処理する場合のある1つの層について適用される構成でもよいし、複数の層それぞれに適用される構成でもよい。
本発明によれば上位層から受け取ったデータのDMA転送中に、ヘッダやトレーラ等のプロトコル情報を作成するために、下位層に引き渡すデータ作成の効率化や処理速度の向上を図ることができる。
また本発明では下位層への実際の送信動作は、ヘッダ等のプロトコル情報生成後にハードウエアが自動的に行うことでデータ数の違いによるデータ転送タイミングをソフトウエアで制御する必要がなくソフトウエアのオーバーヘッドがすくない。
(2)本発明の集積回路装置は、
前記DMA転送処理部は、
上位層から受け取ったデータを所定長ずつのデータに分割し、分割データを、自層で分割データに付加されるプロトコル制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行い、
前記プロトコル情報生成部は、
前記分割データに付加すべきプロトコル情報を自層のプロトコルに従って生成し、生成したプロトコル情報をプロトコル情報保持バッファに格納する処理を行い、
前記プロトコル情報付きデータ生成部は、
データ保持バッファに格納された分割データと、前記分割データに対応してプロトコル情報保持バッファに保持されたプロトコル情報に基づき、下位層に渡すデータを生成することを特徴とする。
例えば前記DMA転送処理部は、
上位層(第n層)から受け取ったデータを所定長ずつのデータに分割し、分割データを、自層(第n−1層)で分割データに付加されるプロトコル制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行い、
前記プロトコル情報(ヘッダ)生成部は、
前記分割データに付加すべきプロトコル情報(ヘッダ)を自層(第n−1層)のプロトコルに従って生成し、生成したプロトコル情報をプロトコル情報保持バッファに格納する処理を行い、
前記プロトコル情報付きデータ生成部は、
データ保持バッファに格納された分割データと、前記分割データに対応してプロトコル情報保持バッファに保持されたプロトコル情報(ヘッダ)に基づき、下位層(第n−2層)に渡すデータを生成することを特徴とする。
このようにすることにより、例えばデータのフラグメント化に対応してデータを分割して下位層に引き渡す場合にも適用可能である。
(3)本発明の集積回路装置は、
前記プロトコル情報は上位層から受け取ったデータに付加するヘッダ情報であり、
前記プロトコル情報保持バッファとしてヘッダ情報保持バッファを含み、
前記プロトコル情報生成部は、
上位層から渡されたデータに付加すべきヘッダ情報を自層のプロトコルに従って生成し、生成したヘッダ情報をヘッダ情報保持バッファに格納する処理を行い、
前記DMA転送処理部は、
上位層から渡されたデータを、自層で付加されるヘッダ制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行い、
前記プロトコル情報付きデータ生成部は、
データ保持バッファに格納されたデータと、前記データに対応してヘッダ情報保持バッファに保持されたヘッダ情報に基づき、下位層に渡すデータを生成することを特徴とする。
例えば前記プロトコル情報は上位層(第n層)から受け取ったデータに付加するヘッダ情報であり、
前記プロトコル情報保持バッファとしてヘッダ情報保持バッファを含み、
前記プロトコル情報生成部は、
上位層(第n層)から渡されたデータ(ペイロード)に付加すべきヘッダ情報を自層(第n−1層)のプロトコルに従って生成し、生成したヘッダ情報をヘッダ情報保持バッファに格納する処理を行い、
前記DMA転送処理部は、
上位層(第n層)から渡されたデータを、自層(第n−1層)で付加されるヘッダ制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行い、
前記プロトコル情報付きデータ生成部は、
データ保持バッファに格納されたデータと、前記データに対応してヘッダ情報保持バッファに保持されたヘッダ情報に基づき、下位層(第n−2層)に渡すデータを生成することを特徴とする。
(4)本発明の集積回路装置は、
前記プロトコル情報は上位層から受け取ったデータに付加するトレーラ情報であり、
前記プロトコル情報保持バッファとしてトレーラ情報保持バッファを含み、
前記プロトコル情報生成部は、
上位層から渡されたデータに付加すべきトレーラ情報を自層のプロトコルに従って生成し、生成したトレーラ情報をトレーラ情報保持バッファに格納する処理を行い、
前記DMA転送処理部は、
上位層から渡されたデータを、自層で付加されるトレーラ制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行い、
前記プロトコル情報付きデータ生成部は、
データ保持バッファに格納されたデータと、前記データに対応してトレーラ情報保持バッファに保持されたトレーラ情報に基づき、下位層に渡すデータを生成することを特徴とする。
例えば前記プロトコル情報は上位層(第n層)から受け取ったデータに付加するトレーラ情報であり、
前記プロトコル情報保持バッファとしてトレーラ情報保持バッファを含み、
前記プロトコル情報生成部は、
上位層(第n層)から渡されたデータ(ペイロード)に付加すべきトレーラ情報を自層(第n−1層)のプロトコルに従って生成し、生成したトレーラ情報をトレーラ情報保持バッファに格納する処理を行い、
前記DMA転送処理部は、
上位層(第n層)から渡されたデータを、自層(第n−1層)で付加されるトレーラ制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行い、
前記プロトコル情報付きデータ生成部は、
データ保持バッファに格納されたデータと、前記データに対応してトレーラ情報保持バッファに保持されたトレーラ情報に基づき、下位層(第n−2層)に渡すデータを生成することを特徴とする。
(5)本発明の集積回路装置は、
前記プロトコル情報付きデータ生成部は、
データ保持バッファに格納されたデータに対応したプロトコル情報が、プロトコル情報保持バッファに格納されると、前記データとプロトコル情報に基づき下位層に引き渡すデータを生成し、生成されたデータを下位層に対し引き渡し可能な状態におくことを特徴とする。
例えば前記プロトコル情報付きデータ生成部は、
データ保持バッファに格納されたデータに対応したプロトコル情報が、プロトコル情報保持バッファに格納されると、前記データとプロトコル情報に基づき下位層(第n−2層)に引き渡すデータを生成し、生成されたデータを下位層(第n−2層)に対し引き渡し可能な状態におくことを特徴とする。
(6)本発明は、上記のいずれかの集積回路装置を含む通信制御装置である。
(7)本発明は、上記のいずれかの集積回路装置を含むマイクロコンピュータである。
(8)本発明は、上記に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器である。
1.集積回路装置(通信制御装置)
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
図1は、本実施の形態の集積回路装置(通信制御装置)について説明するための図である。
本実施の形態の集積回路装置(通信制御装置)は、所定の通信プロトコルに従い送信データを生成する際に、上位層(である第n層)から受け取ったデータに自層(第n−1層)のプロトコルに従って自層(第n−1層)で必要なプロトコル情報(ヘッダ)を付加してより下位層(である第n−2層)に渡す処理を行う集積回路装置(通信処理装置)であって、コミュニケーションユニット20,CPU110、メモリ120、バス100を含む。なおメモリ120は、外付けであってもよい。
コミュニケーションユニット20は、上位層(である第n層)から受け取ったデータに第n−1層のプロトコルに従って自層(第n−1層)で必要なプロトコル情報(ヘッダ)を付加してより下位層(である第n−2層)に渡す処理を行う機能を有し、制御部30、データバッファ40、ヘッダバッファ50、トレーラバッファ60、送信バッファ書き込み制御部70、送信バッファ80、送信制御部90を含む。
データバッファ40は、上位層(第n層)から受けとったデータを保持するためのデータ保持バッファとして機能する。
ヘッダバッファ50は、自層(第n−1層)で付加されるヘッダ情報(プロトコル情報の一種)を保持するためのプロトコル情報保持バッファとして機能する。
トレーラバッファ60は、自層(第n−1層)で付加されるトレーラ情報(プロトコル情報の一種)を保持するためのプロトコル情報保持バッファとして機能する。ただしトレーラ情報の付加が必要ない場合にはトレーラバッファ60を設けなくてもよい。なお本実施の形態のTCP/IPのパケットの場合、トレーラに相当するものは存在しないが、データリンク層制御用のタグとして新設して考えるようにしてもよいし、トレーラバッファ60を設けない構成としてもよい。
制御部30はバスインターフェース機能とDMA機能を内蔵し、上位層(第n層)から渡されたデータ42を、自層(第n−1層)で付加されるプロトコル制御情報の生成終了をまたずにデータ保持バッファ40へDMA転送を行うDMA転送処理部として機能する。ここでデータをデータ保持バッファ40に転送する度にデータバッファ制御信号44を出力する。
制御部30は、転送元アドレスレジスタ32と転送元アドレスレジスタ32を含む。転送元アドレスレジスタ32には、上位層(第n層)から受けとることになるデータが格納されているメモリ等アドレスがCPU110等によりセットされる。転送先アドレスレジスタ34には、上位層(第n層)から受けとったデータの格納先アドレスを自らセットする。具体的にはデータバッファのアドレスが1つのデータが転送される度に順次インクリメント(又はデクリメントされて)格納されることになる。制御部30は、この転送元アドレスレジスタ32と転送元アドレスレジスタ32に格納されたアドレスに基づき転送元と転送先を特定してDMA転送処理を行う。
CPU110は、上位層(第n層)から渡されたデータ(ペイロード)に付加すべきプロトコル情報(ヘッダ情報とトレーラ情報の少なくとも一方)を自層(第n−1層)のプロトコルに従って生成し、生成したプロトコル情報(ヘッダ情報及びトレーラ情報の少なくとも一方)をプロトコル情報保持バッファ(ヘッダバッファ50及びトレーラバッファ60の少なくとも一方)に格納する処理を行うプロトコル情報生成処理生成部として機能する。生成されたプロトコル情報(ヘッダデータ52及びトレーラデータ62の少なくとも一方)は、バス100、制御部30を介してプロトコル情報保持バッファ(ヘッダバッファ50及びトレーラバッファ60の少なくとも一方)に格納される。
制御部30は、ヘッダデータ52やトレーラデータ62がヘッダバッファ50やトレーラバッファ60に転送される度にヘッダバッファ制御信号54やトレーラバッファ制御信号64を出力する。
送信バッファ書き込み制御部70は、データバッファ制御信号44、ヘッダバッファ制御信号54、トレーラバッファ制御信号64を受け取り、データバッファ40、ヘッダバッファ50、トレーラバッファ60に、1つのパケットを構成するデータ42、ヘッダ52、トレーラ62が揃ったのを検出して、データ、ヘッダ、トレーラを送信バッファに出力することを指示するバッファ読み出し指示信号をデータバッファ40、ヘッダバッファ50、トレーラバッファ60に送る。
これをうけてデータバッファ40、ヘッダバッファ50、トレーラバッファ60は、それぞれ1セットとなるデータ42、ヘッダ52、トレーラ62を送信バッファ80に出力する。
送信バッファ80に置かれたデータ42、ヘッダ52、トレーラ62は1つのパケットを構成する送信データとして送信可能な状態に置かれる。
送信制御部90は所定のタイミングで送信バッファに置かれた送信データを送信する処理を行う。
図2は本実施の形態の動作を説明するためのフローチャート図である
本実施の形態ではTCP/IPにおけるプロトコルスタックを想定して説明する。すなわち自層がインターネット層(ネットワーク層)であるとして、上位層がトランスポート層、下位層がデータリンク層であるとする。
実際に転送するデータの最終形態を、「フレーム」、と呼び、データリンク層で生成する。「フレーム」の前のデータ形式を、「パケット」と呼び、インターネット層で生成される。本実施の形態では、インターネット層からデータリンク層にパケットを渡す場合を例にとり説明する。
上位層のセグメントデータを受け取る(ステップS10)。ここで上層から受け取るセグメント内容を変更する必要は無いので、受け渡されるのはポインター情報となる。
次にセグメントデータのDMA転送を行う(ステップS20)。1セグメントを1ブロックとして、データリンク層のデータ保持バッファ(図1のデータバッファ40)にDMA転送を行う。
次に自層のプロトコル情報であるIPヘッダの生成を行う(ステップS30)。この処理は具体的にはCPUが行う。
生成したIPヘッダを転送してデータリンク層のヘッダ保持バッファ(図1のヘッダバッファ50)に書き込む。この段階で対応するセグメントのデータのDMA転送が終了していれば、通信相手に対しての送信処理がスタートする。例えばヘッダとデータを1セットの送信データとして送信バッファに書き込む処理が行われる。
全セグメントについて処理が終了するまでステップS30〜S40の処理を繰り返す。
ステップS40で行われるDMA転送は、汎用のDMAを使用しても良いし、受信側がデータリンク層を制御しているハードウエア(図1のデータバッファ40)のみになるので、例えば図1のコミュニケーションユニット20の制御部30のように専用のDMAC(コントローラー)を用いるようにしてもよい。
また1回の転送データサイズをセグメントサイズと同じにし、これをブロックと呼びDMAの転送回数をブロック数で管理するようにしてもよい。そしてデータリンク層の各バッファを、例えば図1に示すデータバッファ40、ヘッダバッファ50,トレーラバッファ60のようにデータ・ヘッダ・トレーラに分割し、各々の対応をブロック番号で管理するようにしてもよい。そしてデータ・ヘッダ・トレーラの全てが格納された段階で、送信バッファ(図1の送信バッファ80に対応)に完成したパケットとして格納する。なお最終段の送信バッファは省略してもよい。またデータバッファ・ヘッダバッファ・トレーラバッファは、リング制御(ブロックNo.が最大になったら0に戻る)するようにしてもよい。
図3(A)(B)はデータバッファ・ヘッダバッファ・トレーラバッファに格納される各データと生成されるパケットの関係について説明するための図である。
図3(A)は、それぞれデータバッファ40、ヘッダバッファ50、トレーラバッファ60にデータ、ヘッダ、トレーラが格納されている様子を示している。
210−1、210−2、210−3・・は、1回のDMA転送で転送される1ブロック単位のデータであり、n−1、n、n+1と時系列に並んでデータバッファに格納されている。
220−1、220−2、220−3・・は、1回で転送される1ブロック単位のヘッダであり、n−1、n、n+1と時系列に並んでヘッダバッファに格納されている。
230−1、230−2、230−3・・は、1回で転送される1ブロック単位のトレーラであり、n−1、n、n+1と時系列に並んでトレーラバッファに格納されている。
図3(B)は、データ、ヘッダ、トレーラにより生成されるパケットについて説明するための図である。
200−1に示すようにパケットは同じブロック番号を有する1ブロックのデータ210−1、ヘッダ220−1、トレーラ230−1を所定順序で接続して生成される。
図4は、本実施の形態の階層化された所定の通信プロトコルの階層関係について説明するための図である。
同図はOSI7層構造モデルの通信プロトコル400の階層番号410,名称420、プロトコルで規定している内容430の一覧表である。ここで階層番号410が大きい方が上位層となり小さい方が下位層となる。例えば自層がネットワーク層(インターネット層)であると上位層はトランスポート層444となり、下位層はデータリンク層442となる。
ここでアプリケーション層447とプレゼンテーション層446とセッション層445は、異なる階層として定義されているが、例えばこれらをひとまとめにして1つの階層(例えば上位層、自層)とみなして取り扱うことも可能である。
上記実施の形態では自層がインターネット層(ネットワーク層)であるとして、上位層がトランスポート層、下位層がデータリンク層である場合を例にとり説明したが是に限られない。それ以外の場合、例えばトランスポート層を自層とし、アプリケーション層447とプレゼンテーション層446とセッション層445を上位層とし、ネットワーク層を下位層とする場合でもよい。
図5は、上位層から渡されるデータと自層で生成する(必要な)プロトコル情報について説明するための図である。
ここではアプリケーション層300、トランスポート層310、インターネット層320、データリンク層330、物理層340に階層化されている場合を例にとり説明する。アプリケーション層が最上位層となり以下順次階層が低くなりデータリンク層が最下位層となる。
まずアプリケーション層300で、データであるアプリケーション電文304が生成される。
次にトランスポート層310は、上位層であるアプリケーション層300から渡されたデータ304に対し、自層(トランスポート層310)のプロトコルにしたがって必要なヘッダ情報(TCPヘッダ312)を生成し、生成したヘッダ情報(TCPヘッダ312)を受け取ったデータ304に付加し、トランスポート層のデータ314を生成する。
次にインターネット層320は、上位層であるトランスポート層310から渡されたデータ314に対し、自層(インターネット層320)のプロトコルにしたがって必要なヘッダ情報(IPヘッダ322)を生成し、生成したヘッダ情報(IPヘッダ322)を受け取ったデータ314に付加し、トランスポート層のデータ324を生成する。
次にデータリンク層330は、上位層であるインターネット層320から渡されたデータ324に対し、自層(データリンク層330)のプロトコルにしたがって必要なヘッダ情報(イーサネット(登録商標)ヘッダ332)を生成し、生成したヘッダ情報(イーサネット(登録商標)ヘッダ332)を受け取ったデータ324に付加し、データリンク層のデータ334を生成する。
図6は比較例の動作を説明するためのフローチャート図である。
上位層のセグメントデータを受け取る(ステップS110)。この上位層(ここではトランスポート層=TCP)からデータを引き継ぐ際に、データコピーが発生する(処理C1)。
次にデータ単位でIPヘッダを作成する(ステップS120)。
そして作成したIPヘッダをセグメントデータの頭に接続し、パケットを生成する(ステップS130)。ここで生成したパケットを処理結果を保存する(処理C2)
次にパケットを下位層(データリンク層)に引き渡す(ステップS140)。すなわち保存したデータをデータリンク層のバッファに転送する(処理C3)。比較例ではこの段階で、データリンク層の処理が始まる。
これに対し本実施の形態では、図2に示すように上記フローでの、処理C1・C2が無くなり、処理C3がセグメントデータのDMA転送と、平行して行われるIPヘッダの転送に分かれる。すなわち本実施の形態では物理的に、IPヘッダの生成からパケットデータの受渡しを並列して行う事になる。
例えば従来はヘッダ・トレーラ部の生成が済みパケットとしての形を完成させてから送信処理部に転送していた。しかし本実施の形態ではデータのDMA送信中に、ヘッダやトレーラ等のプロトコル情報を作成することで、パケット作成の効率化や処理速度の向上を図ることができる。
また従来はヘッダ部トレース部の格納領域を確保するためにデータ部の一部をソフトウエアで待避する処理が必要であったり、仮想アドレスと連続アドレスの2つのアドレスをソフトウエアで認識しておく必要があった。
しかし本実施の形態では下位層への実際の送信動作は、ヘッダ等のプロトコル情報生成後にハードウエアが自動的に行うことでデータ数の違いによるデータ転送タイミングをソフトウエアで制御する必要がなくソフトウエアのオーバーヘッドがすくない。
2.マイクロコンピュータ
図7は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
本マイクロコンピュータ700は、CPU510、キャッシュメモリ520、RAM710,ROM720、MMU730、LCDコントローラ530、リセット回路540、プログラマブルタイマ550、リアルタイムクロック(RTC)560、DRAMコントローラ570、割り込みコントローラ580、通信制御装置590、バスコントローラ600、A/D変換器610、D/A変換器620、入力ポート630、出力ポート640、I/Oポート650、クロック発生装置660、プリスケーラ670、コミュニケーションモジュール740及びそれらを接続する汎用バス680、専用バス750等、各種ピン690等を含む。
コミュニケーションモジュール740は例えば図1で説明した構成を有する。
3.電子機器
図8に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器800は、マイクロコンピュータ(またはASIC)810、入力部820、メモリ830、電源生成部840、LCD850、音出力部860を含む。
ここで、入力部820は、種々のデータを入力するためのものである。マイクロコンピュータ810は、この入力部820により入力されたデータに基づいて種々の処理を行うことになる。メモリ830は、マイクロコンピュータ810などの作業領域となるものである。電源生成部840は、電子機器800で使用される各種電源を生成するためのものである。LCD850は、電子機器が表示する各種の画像(文字、アイコン、グラフィック等)を出力するためのものである。 音出力部860は、電子機器800が出力する各種の音(音声、ゲーム音等)を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
図9(A)に、電子機器の1つである携帯電話950の外観図の例を示す。この携帯電話950は、入力部として機能するダイヤルボタン952や、電話番号や名前やアイコンなどを表示するLCD954や、音出力部として機能し音声を出力するスピーカ956を備える。
図9(B)に、電子機器の1つである携帯型ゲーム装置960の外観図の例を示す。この携帯型ゲーム装置960は、入力部として機能する操作ボタン962、十字キー964や、ゲーム画像を表示するLCD966や、音出力部として機能しゲーム音を出力するスピーカ968を備える。
図9(C)に、電子機器の1つであるパーソナルコンピュータ970の外観図の例を示す。このパーソナルコンピュータ970は、入力部として機能するキーボード972や、文字、数字、グラフィックなどを表示するLCD974、音出力部976を備える。
本実施の形態のマイクロコンピュータを図9(A)〜図9(C)の電子機器に組みむことにより、低価格で画像処理速度の速いコストパフォーマンスの高い電子機器を提供することができる。
なお、本実施形態を利用できる電子機器としては、図9(A)、(B)、(C)に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のLCDを使用する種々の電子機器を考えることができる。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
例えば上記実施の形態では、自層がインターネット層(ネットワーク層)であるとして、上位層がトランスポート層、下位層がデータリンク層である場合を例にとり説明したが是に限られない。
また上記実施の形態ではプロトコル情報としてヘッダ情報とトレーラ情報を有する場合を例にとり説明したがこれに限られない。例えばヘッダ情報のみの場合でもよい。
また上記実施の形態では専用のDMA転送回路を設け上位層から受け取ったデータを転送する場合を例にとり説明したがこれに限られない。例えばシステムが有する汎用DMAを用いて上位層から受け取ったデータを転送する構成も本発明の範囲内である。
また本実施の形態では上位層から受け取ったデータを分割せずにパケットを生成する場合を例にとり説明したがこれに限られない。例えばフラグメント化等により上位層から受け取ったデータを分割して各分割データにプロトコル情報を付加する場合でもよい。
本実施の形態の集積回路装置(通信制御装置)について説明するための図である。 本実施の形態の動作を説明するためのフローチャート図である 図3(A)(B)はデータバッファ・ヘッダバッファ・トレーラバッファに格納される各データと生成されるパケットの関係について説明するための図である。 本実施の形態の階層化された所定の通信プロトコルの階層関係について説明するための図である。 上位層から渡されるデータと自層で生成する(必要な)プロトコル情報について説明するための図である。 比較例の動作を説明するためのフローチャート図である。 本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。 マイクロコンピュータを含む電子機器のブロック図の一例を示す。 図9(A)(B)(C)は、種々の電子機器の外観図の例である。
符号の説明
1 IC(通信制御装置)、20 コミュニケーションユニット、30 制御部、40 データバッファ、50 ヘッダバッファ、60 トレーラバッファ、70 送信バッファ書き込み制御部、80 送信バッファ、90 送信制御部、100 バス、110 CPU、120 メモリ、510 CPU、520 キャッシュメモリ530 LCDコントローラ、540 リセット回路、550 プログラマブルタイマ、560 リアルタイムクロック(RTC)、570 DMAコントローラ兼バスI/F、580 割り込みコントローラ、590 通信制御回路(シリアルインターフェース)、600 バスコントローラ、610 A/D変換器、620 D/A変換器、630 入力ポート、640 出力ポート、650 I/Oポート、660 クロック発生装置(PLL)、670 プリスケーラ、680 汎用バス、690 各種ピン、700 マイクロコンピュータ、710 ROM、720 RAM、730 MMU、740 コミュニケーションモジュールモジュール、750 専用バス、800 電子機器、810 マイクロコンピュータ(ASIC)、820 入力部、830 メモリ、840 電源生成部850 LCD、860 音出力部、950 携帯電話、952 ダイヤルボタン、954 LCD、956 スピーカ、960 携帯型ゲーム装置、962 操作ボタン、964 十字キー、966 LCD、968 スピーカ、970 パーソナルコンピュータ、972 キーボード、974 LCD、976 音出力部

Claims (8)

  1. 階層化された所定の通信プロトコルに従い送信データを生成する際に、上位層から受け取ったデータに自層のプロトコルに従って自層で必要なプロトコル情報を付加して下位層に渡す処理を行う集積回路装置であって、
    上位層から受けとったデータを保持するためのデータ保持バッファと、
    自層で付加されるプロトコル情報を保持するためのプロトコル情報保持バッファと、
    上位層から渡されたデータを、自層で付加されるプロトコル制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行うDMA転送処理部と、
    上位層から渡されたデータに付加すべきプロトコル情報を自層のプロトコルに従って生成し、生成したプロトコル情報をプロトコル情報保持バッファに格納する処理を行うプロトコル情報生成部と、
    データ保持バッファに格納されたデータと、前記データに対応してプロトコル情報保持バッファに保持されたプロトコル情報に基づき、下位層に渡すデータを生成するプロトコル情報付きデータ生成部と、
    を含むことを特徴とする集積回路装置。
  2. 請求項1において、
    前記DMA転送処理部は、
    上位層から受け取ったデータを所定長ずつのデータに分割し、分割データを、自層で分割データに付加されるプロトコル制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行い、
    前記プロトコル情報生成部は、
    前記分割データに付加すべきプロトコル情報を自層のプロトコルに従って生成し、生成したプロトコル情報をプロトコル情報保持バッファに格納する処理を行い、
    前記プロトコル情報付きデータ生成部は、
    データ保持バッファに格納された分割データと、前記分割データに対応してプロトコル情報保持バッファに保持されたプロトコル情報に基づき、下位層に渡すデータを生成することを特徴とする集積回路装置。
  3. 請求項1乃至2のいずれかにおいて、
    前記プロトコル情報は上位層から受け取ったデータに付加するヘッダ情報であり、
    前記プロトコル情報保持バッファとしてヘッダ情報保持バッファを含み、
    前記プロトコル情報生成部は、
    上位層から渡されたデータに付加すべきヘッダ情報を自層のプロトコルに従って生成し、生成したヘッダ情報をヘッダ情報保持バッファに格納する処理を行い、
    前記DMA転送処理部は、
    上位層から渡されたデータを、自層で付加されるヘッダ制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行い、
    前記プロトコル情報付きデータ生成部は、
    データ保持バッファに格納されたデータと、前記データに対応してヘッダ情報保持バッファに保持されたヘッダ情報に基づき、下位層に渡すデータを生成することを特徴とする集積回路装置。
  4. 請求項1乃至3のいずれかにおいて、
    前記プロトコル情報は上位層から受け取ったデータに付加するトレーラ情報であり、
    前記プロトコル情報保持バッファとしてトレーラ情報保持バッファを含み、
    前記プロトコル情報生成部は、
    上位層から渡されたデータに付加すべきトレーラ情報を自層のプロトコルに従って生成し、生成したトレーラ情報をトレーラ情報保持バッファに格納する処理を行い、
    前記DMA転送処理部は、
    上位層から渡されたデータを、自層で付加されるトレーラ制御情報の生成終了をまたずにデータ保持バッファへDMA転送を行い、
    前記プロトコル情報付きデータ生成部は、
    データ保持バッファに格納されたデータと、前記データに対応してトレーラ情報保持バッファに保持されたトレーラ情報に基づき、下位層に渡すデータを生成することを特徴とする集積回路装置。
  5. 請求項1乃至4のいずれかにおいて、
    前記プロトコル情報付きデータ生成部は、
    データ保持バッファに格納されたデータに対応したプロトコル情報が、プロトコル情報保持バッファに格納されると、前記データとプロトコル情報に基づき下位層に引き渡すデータを生成し、生成されたデータを下位層に対し引き渡し可能な状態におくことを特徴とする集積回路装置。
  6. 請求項1乃至5のいずれかの集積回路装置を含む通信制御装置。
  7. 請求項1乃至6のいずれかの集積回路装置を含むマイクロコンピュータ。
  8. 請求項7に記載のマイクロコンピュータと、
    前記マイクロコンピュータの処理対象となるデータの入力手段と、
    前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。
JP2004232485A 2004-08-09 2004-08-09 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器 Withdrawn JP2006050502A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004232485A JP2006050502A (ja) 2004-08-09 2004-08-09 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004232485A JP2006050502A (ja) 2004-08-09 2004-08-09 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器

Publications (1)

Publication Number Publication Date
JP2006050502A true JP2006050502A (ja) 2006-02-16

Family

ID=36028498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004232485A Withdrawn JP2006050502A (ja) 2004-08-09 2004-08-09 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器

Country Status (1)

Country Link
JP (1) JP2006050502A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007087240A (ja) * 2005-09-26 2007-04-05 Hitachi Computer Peripherals Co Ltd Rfidを利用したネットワークストレージシステムおよびネットワークストレージシステム構築方法
JP2007189550A (ja) * 2006-01-13 2007-07-26 Ricoh Co Ltd 無線通信処理装置
JP2007243239A (ja) * 2006-03-03 2007-09-20 Sony Corp 通信装置及び通信方法
JP2008228207A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd 無線通信制御装置、無線通信制御方法及び電子機器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007087240A (ja) * 2005-09-26 2007-04-05 Hitachi Computer Peripherals Co Ltd Rfidを利用したネットワークストレージシステムおよびネットワークストレージシステム構築方法
JP2007189550A (ja) * 2006-01-13 2007-07-26 Ricoh Co Ltd 無線通信処理装置
JP2007243239A (ja) * 2006-03-03 2007-09-20 Sony Corp 通信装置及び通信方法
JP2008228207A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd 無線通信制御装置、無線通信制御方法及び電子機器

Similar Documents

Publication Publication Date Title
JP2006277332A (ja) 集積回路装置、マイクロコンピュータ及び電子機器
JP2002323991A5 (ja)
JP2006050502A (ja) 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器
US20110283068A1 (en) Memory access apparatus and method
JP4284501B2 (ja) 画像データ縮小装置、マイクロコンピュータ及び電子機器
JP2006148232A (ja) 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器
JP3928730B2 (ja) 半導体装置、マイクロコンピュータ及び電子機器
JP2006050503A (ja) 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器
JP3844072B2 (ja) 半導体集積回路装置、マイクロコンピュータ及び電子機器
JP2006209303A (ja) 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器
JP2005228055A (ja) メモリ制御用ic
US20210157754A1 (en) Apparatus and method for the buffered transmission of data
JP4389921B2 (ja) データ転送回路及びそれを具備する半導体集積回路
TWI386895B (zh) 液晶顯示器的加速裝置與方法及其控制裝置
JP2006079332A (ja) 集積回路装置、マイクロコンピュータ及び電子機器
JP2004118419A (ja) 半導体装置、マイクロコンピュータ、電子機器、半導体装置の制御方法
JP2006178725A (ja) 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器
Jang et al. Releasing the Memory Bottleneck to Display Video Correctly
JP2000163036A (ja) 多画面表示回路および多画面表示回路を搭載した携帯端末機器
JPH09185882A (ja) 入出力データの大きさを異にする先入れ先出しメモリ装置及びその方法
JP2770417B2 (ja) 画像メモリ装置
JP2007199991A (ja) 集積回路装置、マイクロコンピュータ及び電子機器
JP4995540B2 (ja) 半導体集積回路装置
JPS61233867A (ja) デ−タ転送制御装置
JP2006065561A (ja) 集積回路装置、マイクロコンピュータ及び電子機器

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060112

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106