JP2007164511A - 通信装置および受信データ通知方法 - Google Patents
通信装置および受信データ通知方法 Download PDFInfo
- Publication number
- JP2007164511A JP2007164511A JP2005360518A JP2005360518A JP2007164511A JP 2007164511 A JP2007164511 A JP 2007164511A JP 2005360518 A JP2005360518 A JP 2005360518A JP 2005360518 A JP2005360518 A JP 2005360518A JP 2007164511 A JP2007164511 A JP 2007164511A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- interrupt
- received
- reception memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
【課題】受信データの処理における割り込み処理にかかる時間を低減することができる通信装置および受信データ通知方法を提供する。
【解決手段】通信装置に、受信用メモリの使用容量を検出する検出手段と、予め設定された受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較し、前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みマネージャと、前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込み手段とを備えることにより達成される。
【選択図】図4
【解決手段】通信装置に、受信用メモリの使用容量を検出する検出手段と、予め設定された受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較し、前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みマネージャと、前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込み手段とを備えることにより達成される。
【選択図】図4
Description
本発明は、データ通信のための方法および装置に関し、具体的には、通信ネットワークを介してデータを受信する通信装置および受信データ通知方法に関する。
通信ネットワークを介して通信を行う通信装置の受信処理において、連続したデータの受信が継続した場合、CPUの処理能力の限界に達し、受信データを処理できなくなる。特に、高性能のCPUが搭載されたPCと処理能力が低いCPUが搭載された組み込み機器などとが通信を行う場合、組み込み機器側で受信データの処理が間に合わなくなる。
このような場合、処理が間に合わなくなったデータは破棄される。その後、組み込み機器は、ネットワークプロトコルにしたがって、再送要求を実行する。
受信処理の負荷を軽減するため、ネットワークデバイスから受信用メモリ領域へDMAを利用してデータを転送する方法がある(例えば、特許文献1参照)。
このデータを転送する方法は、図1に示すシステム構成を備える。図1における13は、DMA制御部であり、図2に示すような構成である。
このシステムにおける処理について説明する。
受信データがDMA転送されるホストシステム上のホストメモリの受信用メモリ領域を事前に登録し、ネットワークデバイスがデータを受信すると、登録が有効である受信用メモリ領域に対し受信データのDMA転送を開始し、DMA転送が終了すると、ネットワークデバイスがDMA転送の終了をホストシステムへ割り込みを用いて通知し、通知された割り込みをもとに、ホストシステムが、その割り込みに応じた処理を実行する。
このシステムによれば、受信したデータを、DMA転送方式を用いてホストシステム上のメモリへ転送する際の割り込みの発生回数を抑制できる。
特開2005−222281号公報
しかし、上述した背景技術には、以下に示すような問題がある。
上述したシステムでは、ホストメモリバッファマネージャが、ホストメモリに空きがありネットワークからの受信データがある場合に、DMA転送を実行する。
したがって、例えば、ホストシステムにおいて、受信データに対する処理が間に合わない状況になっていても、DMA転送が行われ、DMA転送が終了すると、ネットワークデバイスがDMA転送の完了をホストシステムへ割り込みを用いて通知する。
ここで、割り込み処理が行われた場合の処理について、図3を参照して説明する。
CPUでは、通常の処理が行われている。割り込みが入った場合、CPUは割り込み処理を行い、割り込み処理が終了した後、通常の処理を再開する。
割り込みが行われた場合、CPUは通常の処理における処理状態の保存を行う(ステップS302)。
次に、CPUは割り込み処理の実行準備を行う(ステップS304)。
次に、CPUは割り込み処理を行う(ステップS306)。
次に、CPUは割り込みの終了処理を行う(ステップS308)。
次に、保存された処理状態への復帰を行う(ステップS310)。
DMA転送の完了の割り込みが行われることにより、以上のような処理が行われる。このため、さらに処理を遅らせる原因となる。
また、DMA転送方式による転送が完了する毎に割り込みが発生するため、受信用メモリに空きがある間は割り込み処理に割かれる時間が増大する問題がある。
また、この技術は、DMA転送方式を使用することが前提であるので、DMA転送を行う装置が搭載されていないシステムには適用できない。
そこで、本発明は、上述した問題点のうち少なくとも1つを解決するためになされたものであり、その目的は、受信データの処理における割り込み処理にかかる時間を低減することができる通信装置および受信データ通知方法を提供することを目的とする。
上記課題を解決するため、本発明にかかる通信装置は、受信用メモリの使用容量を検出する検出手段と、予め設定された受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較し、前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みマネージャと、前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込み手段とを備えることを特徴の1つとする。
このように構成することにより、受信用メモリの使用容量の閾値の方が、受信用メモリの使用容量より大きい場合、すなわち、CPUの処理に余裕がある場合に、割り込みにより受信データの迅速な処理ができる。
また、本発明にかかる受信データ通知方法は、受信用メモリの使用容量の閾値を設定する閾値設定ステップと、受信用メモリの使用容量を検出する使用容量検出ステップと、前記受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較する比較ステップと、前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みステップと、前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込みステップとを有することを特徴の1つとする。
このようにすることにより、受信用メモリの使用容量の閾値の方が、受信用メモリの使用容量より大きい場合、すなわち、CPUの処理に余裕がある場合に、割り込みにより受信データの迅速な処理ができる。
本発明の実施例によれば、受信データの処理における割り込み処理にかかる時間を低減することができる通信装置および受信データ通知方法を実現できる。
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
本発明の実施例にかかる通信装置について、図4を参照して説明する。
本実施例にかかる通信装置100は、例えば組み込み機器に搭載される。通信装置100は、ネットワークからデータが入力されるネットワークデバイス102と、ネットワークデバイス102から割り込み信号が入力される割り込みコントローラ114と、ネットワークデバイス102と接続された記憶部116と、ネットワークデバイス102から出力されたデータが入力される受信用メモリ110と、割り込みコントローラ114から出力された割り込み信号が入力される検出手段およびデータ書き込み手段としてのCPU112とを備える。CPU112は、受信用メモリ110に対してデータの入出力を行う。また、CPU112は、記憶部116と接続される。
ネットワークデバイス102は、ネットワークからのデータが入力される信号変換器104と、信号変換器104から出力されたデータが入力されるデバイスバッファ108と、信号変換器104から出力された受信通知信号が入力される割り込みマネージャ106とを備える。デバイスバッファ108は、受信用メモリ110にデータを出力する。また、割り込みマネージャ106は、割り込みコントローラ114に割り込み信号を出力し、記憶部116にステータスを示す情報を記憶する。
ネットワークから送信されたデータは、信号変換器104に入力され、信号変換が行われる。信号変換器104は、デバイスバッファ108にデータを入力する。また、信号変換器104は、割り込みマネージャ106にデータが受信されたことを示す通知(受信通知)を行う。
CPU112は、受信データの通知方法を切り替える受信用メモリ110の使用容量の閾値を予め記憶部116に記憶する。例えば、CPU112は、受信用メモリ110の使用容量の閾値として、割り込みによりデータが受信されたことが通知された場合に、他の処理、例えば受信データの処理が間に合わなくなる使用容量を設定する。
また、CPU112は、受信用メモリ110の使用容量を検出し、該使用容量を記憶部116に記憶する。
割り込みマネージャ106は、記憶部116に記憶された受信用メモリ110の使用容量の閾値と、受信用メモリ110の使用容量とを参照し、受信用メモリ110の使用容量と、使用容量の閾値とを比較する。
割り込みマネージャ106は、受信用メモリ110の使用容量が受信用メモリ110の使用容量の閾値以下である場合には、割り込みコントローラ114に割り込み信号を入力する。割り込みコントローラ114は、入力された割り込み信号にしたがって、CPU112に割り込みを行う。CPUは、割り込みコントローラ114からの割り込みにしたがって、デバイスバッファ108に書き込まれたデータを受信用メモリ110に書き込む。また、CPUは、受信用メモリ110への書き込みを終了すると、受信用メモリ110の使用容量を検出し、該使用容量を記憶部116に書き込む。
一方、割り込みマネージャ106は、受信用メモリ110の使用容量が受信用メモリ110の使用容量の閾値以上である場合には、記憶部116に受信データが受信されたことを示すステータスを書き込む。
CPU112は、受信データの処理、例えばネットワークプロトコルの処理などが終了した後、記憶部116に書き込まれたステータスを参照する。CPUは、受信データがあることを示すステータスが記憶部116に書き込まれている場合、ステータスをクリアし、デバイスバッファ108に書き込まれたデータを受信用メモリ110に書き込む。また、CPUは、受信用メモリ110への書き込みを終了すると、受信用メモリ110の使用容量を検出し、該使用容量を記憶部116に書き込む。
上述したように、本実施例にかかる通信装置100では、通常時、例えば受信用メモリ110の使用量が一定値(閾値)以下である場合には、割り込みマネージャ106は割り込みコントローラ114に割り込み信号を入力する。割り込みコントローラ114は、CPU112に割り込み信号を入力する。すなわち、通常時には、割り込み信号により受信データがあることが、CPU112に通知される。
一方、通常時以外の場合、例えば受信用メモリ110の使用量が一定値以上である場合には、割り込みマネージャ106は記憶部116に、ステータスを書き込む。例えば、割り込みマネージャ106は、記憶部116に受信データがあることを示す情報を書き込む。CPU112は、記憶部116に記憶されたステータスを参照し、受信データがあるか否かを判断する。記憶部116は、共有エリアに配置されているため、CPU112および割り込みマネージャ106からのアクセスが可能である。すなわち、通常時以外の場合には、記憶部116にステータスを書き込むことにより受信データがあることを通知する。
その後、通常時に戻った場合、例えば受信用メモリ110の使用量が一定値以下となった場合には、割り込みマネージャ106は割り込みコントローラ114に割り込み信号を入力することにより、受信データがあることを通知する。割り込みコントローラ114は、入力された割り込み信号にしたがって、CPU112に割り込みを行う。CPU112は、割り込みコントローラ114からの割り込みにしたがって、デバイスバッファ108に書き込まれたデータを受信用メモリ110に書き込む。
受信用メモリ110の使用量が増加しているということは、CPU112の受信データに対する処理、例えばネットワークプロトコルなどに関する処理が間に合っていないことを意味する。このような状況にある場合に、割り込みが行われた場合、該割り込み処理自体が大きな負荷になり、CPU112の処理を遅らせる原因となる。
本実施例にかかる通信装置100においては、割り込み処理自体を省くようにする。すなわち、受信用メモリ110の使用量に閾値を設け、メモリ使用量が閾値を超えている場合には割り込みを禁止し、ステータスによる通知に切り替える。このようにすることにより、受信用メモリ110の使用量が一杯になりデータを受信できない状態になることをできる限り回避する。
次に、本実施例にかかる通信装置100のCPU112における処理について、図5−図7を参照して説明する。
ここでは、CPU112の処理を初期化処理、書き込み処理および読み出し処理に分けて説明する。
最初に、初期化処理について、図5を参照して説明する。
例えば、通信装置100の電源がオンされた場合、CPU112は、記憶部116に、割り込みによる通知からステータスによる通知への切り替えを行う受信用メモリ110の使用容量の閾値を設定する(ステップS502)。
次に、書き込み処理について、図6を参照して説明する。
CPU112は、割り込みコントローラ114から、割り込み信号が入力されたか否か、すなわち割り込みが行われたか否かを判断する(ステップS602)。
割り込み信号が入力されない場合、すなわち割り込みが行われない場合(ステップS602:NO)、ステップS602に戻る。
一方、割り込み信号が入力された場合、すなわち割り込みが行われた場合(ステップS602:YES)、CPU112は、デバイスバッファ108に格納されているデータを受信用メモリ110に格納する(ステップS604)。
次に、CPU112は、受信用メモリ110の使用容量を検出し、該使用容量を記憶部116に書き込む(ステップS606)。その後、ステップS602に戻る。
次に、読み出し処理について、図7を参照して説明する。
CPU112は、受信用メモリ110に格納されたデータを読み出す(ステップS702)。
次に、CPU112は、受信用メモリ110の使用容量を検出し、該使用容量を記憶部116に書き込む(ステップS704)。
次に、CPU112は、記憶部116に受信データがあることを示すステータスが書き込まれているか否かを判断する(ステップS706)。ここで、CPU112は、参照したステータスをクリアする。
受信データがあることを示すステータスが書き込まれている場合(ステップS706:YES)、CPU112は、記憶部116に書き込まれた受信用メモリの使用容量を参照し、受信用メモリ110への格納が可能であるか否かを判断する(ステップS708)。
受信用メモリ110への格納が可能である場合(ステップS708:YES)、CPU112はデバイスバッファ108に格納されたデータを受信用メモリ110に格納する。
次に、CPU112は、受信用メモリ110の使用容量を検出し、該使用量を記憶部116に書き込む(ステップS712)。その後、ステップS706に戻る。
一方、受信データがない場合(ステップS706:NO)および受信用メモリ110への格納が可能でない場合(ステップS708:NO)、終了する。
次に、本実施例にかかる通信装置100の割り込みマネージャ106における処理について、図8を参照して説明する。
割り込みマネージャ106は、信号変換器104から受信通知が入力されたか否かを判断する(ステップS802)。
受信通知が入力されない場合(ステップS802:NO)、ステップS802に戻る。
一方、受信通知が入力された場合(ステップS802:YES)、割り込みマネージャ106は、記憶部116に書き込まれた受信用メモリ110の使用容量と、使用容量の閾値とを参照し、受信用メモリの使用容量が使用容量の閾値より小さいか否か、すなわち受信用メモリの使用量<閾値であるか否かを判断する(ステップS804)。
受信用メモリ110の使用量が閾値より小さい場合、すなわち受信用メモリの使用量<閾値である場合(ステップS804:YES)、割り込みマネージャ106は、割り込みコントローラ114に割り込み信号を入力する(ステップS806)。その後、ステップS802に戻る。その結果、割り込みコントローラ114からCPU112へ割り込みが行われる。
一方、受信用メモリの使用量が閾値より大きい場合、すなわち受信用メモリの使用量>閾値である場合(ステップS804:NO)、割り込みマネージャ106は、記憶部116に受信データがあることを示すステータスを書き込む(ステップS808)。その後、ステップS802に戻る。
本発明の実施例によれば、受信データの処理が、新たに受信されるデータに対して間に合わなくなってきた場合に、割り込み処理にかかる時間を省くことができる。このため、受信データの処理に最大限時間をかけることができる。
また、受信データの処理に余裕がある場合には、割り込みをおこなうことにより、受信データの処理を迅速に行うことができる。
また、本実施例にかかる通信装置は、通信の媒体、例えばシリアル方式、USB(登録商標)、イーサネット(登録商標)などによらず適用できる。
以上、本発明を好ましい実施例について説明したが、本発明は上記の特定の実施例に限定されるものではなく、特許請求の範囲に記載した要旨内において様々な変形・変更が可能である。
本発明にかかる通信装置および受信データ通知方法は、通信機能を備える組み込み機器に適用できる。
100 通信装置
Claims (4)
- 受信用メモリの使用容量を検出する検出手段と、
予め設定された受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較し、前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みマネージャと、
前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込み手段と
を備えることを特徴とする通信装置。 - 請求項1に記載の通信装置において、
データが受信されたことを示すステータスを記憶する記憶手段
を備え、
前記割り込みマネージャは、前記受信用メモリの使用容量の閾値より、前記受信用メモリの使用容量の方が大きい場合に、前記記憶手段に、データが受信されたことを示すステータスを書き込み、
前記データ書き込み手段は、前記記憶手段を参照し、データが受信されたことを示すステータスが書き込まれている場合に受信されたデータを前記受信用メモリに書き込むことを特徴とする通信装置。 - 受信用メモリの使用容量の閾値を設定する閾値設定ステップと、
受信用メモリの使用容量を検出する使用容量検出ステップと、
前記受信用メモリの使用容量の閾値と前記受信用メモリの使用容量とを比較する比較ステップと、
前記受信用メモリの使用容量の閾値の方が大きい場合に、割り込み信号により、データが受信されたことを通知する割り込みステップと、
前記割り込み信号に基づいて、受信されたデータを前記受信用メモリに書き込むデータ書き込みステップと
を有することを特徴とする受信データ通知方法。 - 請求項3に記載の受信データ通知方法において、
前記受信用メモリの使用容量の方が大きい場合に、データが受信されたことを示すステータスを記憶する記憶手段に、データが受信されたことを示すステータスを書き込むステータス書き込みステップと、
前記記憶手段を参照し、データが受信されたことを示すステータスが書き込まれている場合に受信されたデータを前記受信用メモリに書き込むステップと
を有することを特徴とする受信データ通知方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005360518A JP2007164511A (ja) | 2005-12-14 | 2005-12-14 | 通信装置および受信データ通知方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005360518A JP2007164511A (ja) | 2005-12-14 | 2005-12-14 | 通信装置および受信データ通知方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007164511A true JP2007164511A (ja) | 2007-06-28 |
Family
ID=38247326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005360518A Pending JP2007164511A (ja) | 2005-12-14 | 2005-12-14 | 通信装置および受信データ通知方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007164511A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011180767A (ja) * | 2010-02-26 | 2011-09-15 | Kyocera Mita Corp | 半導体装置 |
-
2005
- 2005-12-14 JP JP2005360518A patent/JP2007164511A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011180767A (ja) * | 2010-02-26 | 2011-09-15 | Kyocera Mita Corp | 半導体装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8949641B2 (en) | Information processing apparatus and method for controlling information processing apparatus restoration order of images that reduces the waiting time when restoration from a hibernation state | |
JP5791397B2 (ja) | デバイスコントローラ、usbデバイスコントローラ及び電力制御方法 | |
US5819111A (en) | System for managing transfer of data by delaying flow controlling of data through the interface controller until the run length encoded data transfer is complete | |
EP1622324A1 (en) | Fault tolerant data transfer in multi-node system via internodal crossbar switch | |
US7376853B2 (en) | Network apparatus, method for controlling the same, and program for the same | |
US8494010B2 (en) | Data transfer device, data transmitting device, data receiving device, and data transfer method | |
JP2010128696A (ja) | バスブリッジ装置およびそれを用いたバスブリッジシステム | |
JP5545853B2 (ja) | 通信装置 | |
JP2014026373A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2012156645A (ja) | 情報処理装置、通信装置、およびその制御方法 | |
JP2007164511A (ja) | 通信装置および受信データ通知方法 | |
JP3703439B2 (ja) | データ転送制御装置及び方法 | |
JP4708818B2 (ja) | ネットワーク装置及びその制御方法 | |
JP5783348B2 (ja) | 制御装置、制御プログラム、画像形成装置 | |
JP2010055265A (ja) | システムlsi、システムlsiの制御方法、プログラム、及び記憶媒体 | |
JP2008262393A (ja) | 情報処理システムおよびその制御方法 | |
JP7374622B2 (ja) | 情報処理装置 | |
WO2007097038A1 (ja) | バッファの制御装置、クロスバースイッチ及びバッファの制御方法 | |
JP2008084043A (ja) | 割り込み処理方法 | |
JP2004295701A (ja) | シリアル通信装置 | |
JP4862395B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
JP2008118211A (ja) | データ転送装置及びデータ転送方法 | |
JP2004362282A (ja) | ネットワーク機器及びネットワークシステム | |
JP2006243016A (ja) | オーディオデコード装置 | |
JP2017149119A (ja) | 情報処理装置及び情報処理装置の制御方法 |