JP2009020684A - 端末装置 - Google Patents
端末装置 Download PDFInfo
- Publication number
- JP2009020684A JP2009020684A JP2007182476A JP2007182476A JP2009020684A JP 2009020684 A JP2009020684 A JP 2009020684A JP 2007182476 A JP2007182476 A JP 2007182476A JP 2007182476 A JP2007182476 A JP 2007182476A JP 2009020684 A JP2009020684 A JP 2009020684A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- address
- sram
- memory
- terminal device
- 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
- Memory System (AREA)
Abstract
【課題】既存の装置設計を大きく変更することなく、低コストでネットワークの通信性能を向上させる。
【解決手段】パケットを格納するパケットバッファとして、DRAM20の一部が割り当てられた端末装置において、DRAMよりも読み書きが高速で行われるSRAMを設けて、前記パケットバッファにおける前記パケットの先頭部分の格納領域を、該SRAMに割り当てる。
【選択図】 図1
【解決手段】パケットを格納するパケットバッファとして、DRAM20の一部が割り当てられた端末装置において、DRAMよりも読み書きが高速で行われるSRAMを設けて、前記パケットバッファにおける前記パケットの先頭部分の格納領域を、該SRAMに割り当てる。
【選択図】 図1
Description
本発明は、パケットの送受信に用いるパケットバッファの内、パケット先頭部分の格納用として高速メモリを使用し、ネットワークの通信性能の向上を図った端末装置に関するものである。
イーサネットなどのネットワーク通信用の端末装置の多くは、図7に示すように、DMAコントローラ11を有するネットワークインターフェース10が送受信するパケットを、メインメモリとして働くDRAM20との間でDMA転送を行って、CPU30と受け渡し受けを行う。40はバスであり、41はアドレスバス、42はデータバスである。メインメモリには、コストの安いDRAM20が使われるが、読み書き時のレイテンシが大きい欠点がある。そのため、CPU30のDRAM20上のパケットデータへのアクセスと、ネットワークインターフェース10のパケットデータへのアクセスとの間にタイムラグが生じ、通信性能を悪化させる。
そこで、レイテンシの小さなSRAMを併用することによってこの問題を解決する技術が提案されている(例えば、特許文献1参照)。ここでは、パケット長の小さいものはSRAM上に、パケット長の長いものはDRAMにパケットを置くことが行われている。
また、TCP/IPに代表される通信プロトコルは階層化されており、パケット受信時には下位の層から上位の層に向かって逐次的に処理が行われる。パケット上で見ると、前から後へ順にパケットの内容が参照され、処理されていくことになる。そこで、パケット全体の受信が終了しなくても、パケットの前から一定長までの受信が終わった段階でCPUに割込みをかけ、処理を開始させることによって通信性能を向上させることも行われている(例えば、特許文献2参照)。
特開2006−174265号公報
特許第2767085号公報
ところが、前者は、長いパケットに対しては従来どおりDRAMが使われるので、この場合はレイテンシの改善にはならない。また、パケットバッファのアドレス管理方法が従来と変わるため、既存の設計資産、特にソフトウェアを活かすことが難しくなるという問題もある。
後者は、たとえ早期割込みの方法を用いたとしても、パケットデータを置くバッファメモリとしてDRAMを使うならば、通信性能の向上は限定的である。
本発明の目的は、既存の装置設計を大きく変更することなく、低コストでネットワークの通信性能を向上させることができるようにした端末装置を提供することである。
上記目的を達成するために、請求項1にかかる発明の端末装置は、パケットを格納するパケットバッファとして、メインメモリの一部が割り当てられた端末装置において、前記メインメモリよりも読み書きが高速で行われる高速メモリを備え、前記パケットバッファにおける前記パケットの先頭部分の格納領域を、該高速メモリに割り当てたことを特徴とする。
請求項2にかかる発明は、請求項1に記載の端末装置において、前記パケットの先頭部分の格納領域を示す前記メインメモリのアドレスを、前記高速メモリの前記パケットの先頭部分が割り当てられた領域のアドレスに変換するアドレス変換器を備えることを特徴とする。
請求項3にかかる発明は、請求項1又は2に記載の端末装置において、前記パケットの前記先頭部分が割り当てられた前記高速メモリの領域がアクセスされるとき、前記メインメモリの前記パケットの先頭部分の格納領域のアドレス空間を無効にするプライオリティ回路を備えることを特徴とする。
請求項4にかかる発明は、請求項1,2又は3に記載の端末装置において、前記メインメモリとの間で前記パケットの送受信を行うDMAを備え、前記パケットの前記先頭部分の前記高速メモリへのDMA転送が終了した時点でCPUに対する前記パケット処理開始の割込みが発生するようにしたことを特徴とする。
請求項2にかかる発明は、請求項1に記載の端末装置において、前記パケットの先頭部分の格納領域を示す前記メインメモリのアドレスを、前記高速メモリの前記パケットの先頭部分が割り当てられた領域のアドレスに変換するアドレス変換器を備えることを特徴とする。
請求項3にかかる発明は、請求項1又は2に記載の端末装置において、前記パケットの前記先頭部分が割り当てられた前記高速メモリの領域がアクセスされるとき、前記メインメモリの前記パケットの先頭部分の格納領域のアドレス空間を無効にするプライオリティ回路を備えることを特徴とする。
請求項4にかかる発明は、請求項1,2又は3に記載の端末装置において、前記メインメモリとの間で前記パケットの送受信を行うDMAを備え、前記パケットの前記先頭部分の前記高速メモリへのDMA転送が終了した時点でCPUに対する前記パケット処理開始の割込みが発生するようにしたことを特徴とする。
本発明によれば、メインメモリの一部に割り当てられたパケットバッファのうち、TCPプロトコルのヘッダ等が含まれるパケットの先頭部分を格納する領域を高速メモリに割り当てるので、既存の装置の設計を大きく変更することなく、低コストでネットワークの通信性能を向上させることができる。すなわち、(1)通常、パケットバッファは多くても十数パケット分あれば十分であるから、必要な高速メモリのサイズは1キロバイト程度とごく僅かで済み、この程度の量であれば、かなり高速なメモリを使用してもコストは低く済む。また、LSI上に他の回路と共に集積することも容易である。(2)DRAMを使った従来のメインメモリの制御回路に対する変更は小さく、きわめて容易である。(3)パケットバッファのアドレスの扱いに関して、既存のネットワークインターフェースの回路およびソフトウェアを変更する必要はなく、また、メモリの変更によってメインメモリの用途が限定されることはなく、メモリの汎用性は保たれる。(4)パケット先頭部分のDMA転送の終了により割込みが発生するので、早期処理開始と高速メモリへのパケット先頭部分の高速書込みにより、処理が迅速化される。
本実施例では、DRAMの一部に割り当てられたパケットバッファのうち、パケットの先頭部分を格納する領域をSRAMに割り当てる。そのSRAM部分の長さはTCPプロトコルのヘッダが含まれるように選ぶ。また、ネットワークインターフェースは、パケットの先頭部分の受信が終りSRAMへのDMA転送が終了した時点でCPUに対して割込みを発生し、そのパケットについての処理の開始が行われるようにする。
<実施例>
図1に本発明の1つの実施例のネットワーク制御用の端末装置の要部の構成を示す。DMAコントローラを有するネットワークインターフェース10、メインメモリとして使用されるDRAM20、CPU30、バス40、アドレスバス41、データバス42等は図7で説明したものと同じである。本実施例では、新たに高速メモリとしてSRAMを備える。60,70はメモリに対してイネーブル信号を発生させるアドレスデコーダ、80は特定のアドレスのときメインメモリ20を非イネーブルにするプライオリティ回路、90はDRAM20用のアドレスデータをSRAM50用のアドレスデータに変換するアドレス変換器である。
図1に本発明の1つの実施例のネットワーク制御用の端末装置の要部の構成を示す。DMAコントローラを有するネットワークインターフェース10、メインメモリとして使用されるDRAM20、CPU30、バス40、アドレスバス41、データバス42等は図7で説明したものと同じである。本実施例では、新たに高速メモリとしてSRAMを備える。60,70はメモリに対してイネーブル信号を発生させるアドレスデコーダ、80は特定のアドレスのときメインメモリ20を非イネーブルにするプライオリティ回路、90はDRAM20用のアドレスデータをSRAM50用のアドレスデータに変換するアドレス変換器である。
本実施例では、図2に示すように、パケットバッファのサイズを2048バイトとし、このうち先頭部分の64バイトをSRAM50に割り当てる。このサイズのパケットバッファであれば、通常、最大フレームサイズが1500バイト程度であるイーサネットのパケットを十分格納でき、また、一般的なイーサネットのパケットは図3に示すような構成であるため、確認応答など迅速な処理が要求されるTCPのヘッダ部分はSRAM50上に配置されることになる。
受信用と送信用にそれぞれ8個づつのパケットバッファを確保し、図4のメモリマップの位置に配置する。この例では、パケットバッファは合計32KB(=2048×16)であり、DRAM20のメモリ空間の0x30000〜0x37fffの領域に割り当てる。なお、この実施例ではアドレス空間は20ビットである。以上の結果、パケットバッファの領域は、図5に示すように、DRAM20とSRAM50が混在したメモリ空間で表されることになる。
図1において、アドレスデコーダ60は、DRAM20の内の、パケットバッファが割り当てられている0x00000〜0x3FFFFのアドレスのすべての領域を検出する。すなわち、アドレスバス41のMSBとMSB−1のアドレス線である[a19,a18]=[0,0]の一致を検出する。そして、この検出によりDRAM20をイネーブルにする。
さらに、この領域の中において、SRAM50が割り当てられた領域はSRAM50が優先してアクセスされるように、プライオリティ回路80で制御する。すなわち、アドレスデコーダ70がこの領域を検出したとき、SRAM50をイネーブルにするとともに、プライオリティ回路80によって、DRAM20を非イネーブルにする。通常のDRAM制御回路からの変更点は、このプライオリティ回路80の追加のみである。なお、SRAM50に割り当てられた領域と重なった部分のDRAM20の領域は使用されず無駄になるが、そのDRAM20の単位容量あたりのコストは非常に小さいため問題にならない。
SRAM50用のアドレスデコーダ70は、パケットバッファのうちのSRAM50に割り当てられたアドレス領域を検出する。図5に示したように、16個のパケットバッファでは、SRAMは不連続な領域に配置されているが、本実施例では、図6に示すように、アドレスバス41アドレス線のうち、[a19,a18,a17,a16,a15]=[0,0,1,1,0]、[a10,a9,a8,a7,a6]=[0,0,0,0,0]の一致を検出すればよい。この検出時に、SRAM50がイネーブルになるとともに、上記のようにプライオリティ回路80によって、DRAM20が非イネーブルになる。
アドレス変換器90では、不連続な領域をSRAM50上の連続な領域に対応づけるようにアドレスを変換する。本実施例では、図6の下部に示すように、アドレスバス41のアドレス線の[a14,a13,a12,a11]をSRAM50のアドレス入力[A9,A8,A7,A6]に対応づけ、[a5,a4,a3,a2,a1,a0]をSRAM50のアドレス入力[A5,A4,A3,A2、A1,A0]に対応づける。
以上のようにして、パケットの先頭部分が受信されDMAコントローラ11によるDMA転送によりSRAM50に格納されると、ネットワークインターフェース10によって割込みが発生し、CPU30に通知する。これにより、パケット先頭部分の受信が終了した時点でそのパケットについての処理が開始されるので、SRAM50への書込みが高速で行われることも加味され、ネットワークの通信性能が向上する。
なお、本実施例では、SRAMを配置するパケットバッファの領域の位置は固定であるが、ソフトウェアによって設定変更可能にすればシステムの柔軟性が増す。
10:ネットワークインターフェース、11:DMAコントローラ
20:DRAM
30:CPU
40:バス、41:アドレスバス、42:データバス
50:SRAM
60,70:アドレスデコーダ
80:プライオリティ回路
90:アドレス変換器
20:DRAM
30:CPU
40:バス、41:アドレスバス、42:データバス
50:SRAM
60,70:アドレスデコーダ
80:プライオリティ回路
90:アドレス変換器
Claims (4)
- パケットを格納するパケットバッファとして、メインメモリの一部が割り当てられた端末装置において、
前記メインメモリよりも読み書きが高速で行われる高速メモリを備え、前記パケットバッファにおける前記パケットの先頭部分の格納領域を、該高速メモリに割り当てたことを特徴とする端末装置。 - 請求項1に記載の端末装置において、
前記パケットの先頭部分の格納領域を示す前記メインメモリのアドレスを、前記高速メモリの前記パケットの先頭部分が割り当てられた領域のアドレスに変換するアドレス変換器を備えることを特徴とする端末装置。 - 請求項1又は2に記載の端末装置において、
前記パケットの前記先頭部分が割り当てられた前記高速メモリの領域がアクセスされるとき、前記メインメモリの前記パケットの先頭部分の格納領域のアドレス空間を無効にするプライオリティ回路を備えることを特徴とする端末装置。 - 請求項1,2又は3に記載の端末装置において、
前記メインメモリとの間で前記パケットの送受信を行うDMAを備え、
前記パケットの前記先頭部分の前記高速メモリへのDMA転送が終了した時点でCPUに対する前記パケット処理開始の割込みが発生するようにしたことを特徴とする端末装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007182476A JP2009020684A (ja) | 2007-07-11 | 2007-07-11 | 端末装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007182476A JP2009020684A (ja) | 2007-07-11 | 2007-07-11 | 端末装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009020684A true JP2009020684A (ja) | 2009-01-29 |
Family
ID=40360279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007182476A Withdrawn JP2009020684A (ja) | 2007-07-11 | 2007-07-11 | 端末装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009020684A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009130891A (ja) * | 2007-11-28 | 2009-06-11 | Nec Access Technica Ltd | 情報処理装置及びフレーム中継方法 |
JP2010088102A (ja) * | 2008-09-02 | 2010-04-15 | Renesas Technology Corp | 記憶装置および記憶装置のコントロール手法 |
JP2017085378A (ja) * | 2015-10-28 | 2017-05-18 | キヤノン株式会社 | 通信装置及びその方法、コンピュータプログラム |
JP2017517792A (ja) * | 2014-05-09 | 2017-06-29 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | マルチクラスメモリシステムにおけるメモリ割り当てのシステム及び方法 |
US10133687B2 (en) | 2013-08-01 | 2018-11-20 | Canon Kabushiki Kaisha | Communication apparatus and data processing method |
-
2007
- 2007-07-11 JP JP2007182476A patent/JP2009020684A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009130891A (ja) * | 2007-11-28 | 2009-06-11 | Nec Access Technica Ltd | 情報処理装置及びフレーム中継方法 |
JP2010088102A (ja) * | 2008-09-02 | 2010-04-15 | Renesas Technology Corp | 記憶装置および記憶装置のコントロール手法 |
US10133687B2 (en) | 2013-08-01 | 2018-11-20 | Canon Kabushiki Kaisha | Communication apparatus and data processing method |
JP2017517792A (ja) * | 2014-05-09 | 2017-06-29 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | マルチクラスメモリシステムにおけるメモリ割り当てのシステム及び方法 |
JP2017085378A (ja) * | 2015-10-28 | 2017-05-18 | キヤノン株式会社 | 通信装置及びその方法、コンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009540681A (ja) | データ通信フロー制御の装置および方法 | |
JP2009020684A (ja) | 端末装置 | |
US9471521B2 (en) | Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit | |
EP3414664B1 (en) | Hardware-based translation lookaside buffer (tlb) invalidation | |
JP3748308B2 (ja) | 周辺装置とコンピュータ・ネットワークとをインタフェースする装置 | |
JP2001036588A (ja) | データ転送制御装置及び電子機器 | |
US7761587B2 (en) | Apparatus and method for transmitting packet IP offload | |
JP2001229115A (ja) | Atapiコマンド処理方式 | |
US20100312924A1 (en) | Network processor, reception controller and data reception processing method performing direct memory access transfer | |
JP2006293929A (ja) | データ伝送装置 | |
JP2002084311A (ja) | パケット転送処理装置 | |
US6961837B2 (en) | Method and apparatus for address translation pre-fetch | |
JP2005332145A (ja) | データ転送制御回路及びデータ転送方法 | |
JP4212508B2 (ja) | パケット生成装置 | |
KR100571775B1 (ko) | 네트워크 프린팅 데이터의 전송 속도를 향상시킨 네트워크프린터 및 그의 방법 | |
JP2009088622A (ja) | バッファメモリを有するパケット転送装置および方法 | |
JP6938399B2 (ja) | 通信装置、通信方法およびプログラム | |
JP2905041B2 (ja) | メッセージ送受信装置 | |
JP4190969B2 (ja) | バスシステム及びambaにおけるバス調停システム | |
KR100239738B1 (ko) | 근거리 통신 시스템의 패킷 데이터 처리 방법 및 장치 | |
US5926630A (en) | Communication device including a receiving data processor and a bus interface having a data storage area | |
JP2003099396A (ja) | ネットワークインターフェイス回路 | |
JP2003150534A (ja) | チェインブロック転送方法及び通信制御装置 | |
JP2643660B2 (ja) | 通信制御装置 | |
JP2601914B2 (ja) | データ伝送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101005 |