JP2009020684A - Terminal equipment - Google Patents
Terminal equipment 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
- Computer And Data Communications (AREA)
- Memory System (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
本発明は、パケットの送受信に用いるパケットバッファの内、パケット先頭部分の格納用として高速メモリを使用し、ネットワークの通信性能の向上を図った端末装置に関するものである。 The present invention relates to a terminal device that uses a high-speed memory for storing a packet head portion in a packet buffer used for packet transmission / reception, thereby improving network communication performance.
イーサネットなどのネットワーク通信用の端末装置の多くは、図7に示すように、DMAコントローラ11を有するネットワークインターフェース10が送受信するパケットを、メインメモリとして働くDRAM20との間でDMA転送を行って、CPU30と受け渡し受けを行う。40はバスであり、41はアドレスバス、42はデータバスである。メインメモリには、コストの安いDRAM20が使われるが、読み書き時のレイテンシが大きい欠点がある。そのため、CPU30のDRAM20上のパケットデータへのアクセスと、ネットワークインターフェース10のパケットデータへのアクセスとの間にタイムラグが生じ、通信性能を悪化させる。
As shown in FIG. 7, many terminal devices for network communication such as Ethernet perform DMA transfer between a packet transmitted and received by the
そこで、レイテンシの小さなSRAMを併用することによってこの問題を解決する技術が提案されている(例えば、特許文献1参照)。ここでは、パケット長の小さいものはSRAM上に、パケット長の長いものはDRAMにパケットを置くことが行われている。 Thus, a technique for solving this problem by using an SRAM with a low latency has been proposed (see, for example, Patent Document 1). Here, a packet having a small packet length is placed on the SRAM, and a packet having a long packet length is placed on the DRAM.
また、TCP/IPに代表される通信プロトコルは階層化されており、パケット受信時には下位の層から上位の層に向かって逐次的に処理が行われる。パケット上で見ると、前から後へ順にパケットの内容が参照され、処理されていくことになる。そこで、パケット全体の受信が終了しなくても、パケットの前から一定長までの受信が終わった段階でCPUに割込みをかけ、処理を開始させることによって通信性能を向上させることも行われている(例えば、特許文献2参照)。
ところが、前者は、長いパケットに対しては従来どおりDRAMが使われるので、この場合はレイテンシの改善にはならない。また、パケットバッファのアドレス管理方法が従来と変わるため、既存の設計資産、特にソフトウェアを活かすことが難しくなるという問題もある。 However, since the former uses a DRAM for a long packet as usual, in this case, the latency is not improved. Further, since the address management method of the packet buffer is different from the conventional one, there is a problem that it is difficult to make use of existing design assets, particularly software.
後者は、たとえ早期割込みの方法を用いたとしても、パケットデータを置くバッファメモリとしてDRAMを使うならば、通信性能の向上は限定的である。 In the latter case, even if an early interruption method is used, if DRAM is used as a buffer memory for storing packet data, improvement in communication performance is limited.
本発明の目的は、既存の装置設計を大きく変更することなく、低コストでネットワークの通信性能を向上させることができるようにした端末装置を提供することである。 An object of the present invention is to provide a terminal device capable of improving the communication performance of a network at a low cost without greatly changing an existing device design.
上記目的を達成するために、請求項1にかかる発明の端末装置は、パケットを格納するパケットバッファとして、メインメモリの一部が割り当てられた端末装置において、前記メインメモリよりも読み書きが高速で行われる高速メモリを備え、前記パケットバッファにおける前記パケットの先頭部分の格納領域を、該高速メモリに割り当てたことを特徴とする。
請求項2にかかる発明は、請求項1に記載の端末装置において、前記パケットの先頭部分の格納領域を示す前記メインメモリのアドレスを、前記高速メモリの前記パケットの先頭部分が割り当てられた領域のアドレスに変換するアドレス変換器を備えることを特徴とする。
請求項3にかかる発明は、請求項1又は2に記載の端末装置において、前記パケットの前記先頭部分が割り当てられた前記高速メモリの領域がアクセスされるとき、前記メインメモリの前記パケットの先頭部分の格納領域のアドレス空間を無効にするプライオリティ回路を備えることを特徴とする。
請求項4にかかる発明は、請求項1,2又は3に記載の端末装置において、前記メインメモリとの間で前記パケットの送受信を行うDMAを備え、前記パケットの前記先頭部分の前記高速メモリへのDMA転送が終了した時点でCPUに対する前記パケット処理開始の割込みが発生するようにしたことを特徴とする。
In order to achieve the above object, a terminal device according to a first aspect of the present invention performs reading and writing at a higher speed than the main memory in a terminal device to which a part of main memory is allocated as a packet buffer for storing packets. The high-speed memory is provided, and the storage area of the head portion of the packet in the packet buffer is allocated to the high-speed memory.
According to a second aspect of the present invention, in the terminal device according to the first aspect, the address of the main memory indicating the storage area of the head portion of the packet is set in the area of the high speed memory to which the head portion of the packet is allocated. An address converter for converting to an address is provided.
The invention according to claim 3 is the terminal device according to claim 1 or 2, wherein when the area of the high-speed memory to which the head portion of the packet is allocated is accessed, the head portion of the packet of the main memory A priority circuit for invalidating the address space of the storage area is provided.
According to a fourth aspect of the present invention, in the terminal device according to the first, second, or third aspect, the terminal device includes a DMA that transmits and receives the packet to and from the main memory, and the high-speed memory at the head portion of the packet When the DMA transfer is completed, the packet processing start interrupt to the CPU is generated.
本発明によれば、メインメモリの一部に割り当てられたパケットバッファのうち、TCPプロトコルのヘッダ等が含まれるパケットの先頭部分を格納する領域を高速メモリに割り当てるので、既存の装置の設計を大きく変更することなく、低コストでネットワークの通信性能を向上させることができる。すなわち、(1)通常、パケットバッファは多くても十数パケット分あれば十分であるから、必要な高速メモリのサイズは1キロバイト程度とごく僅かで済み、この程度の量であれば、かなり高速なメモリを使用してもコストは低く済む。また、LSI上に他の回路と共に集積することも容易である。(2)DRAMを使った従来のメインメモリの制御回路に対する変更は小さく、きわめて容易である。(3)パケットバッファのアドレスの扱いに関して、既存のネットワークインターフェースの回路およびソフトウェアを変更する必要はなく、また、メモリの変更によってメインメモリの用途が限定されることはなく、メモリの汎用性は保たれる。(4)パケット先頭部分のDMA転送の終了により割込みが発生するので、早期処理開始と高速メモリへのパケット先頭部分の高速書込みにより、処理が迅速化される。 According to the present invention, among the packet buffers allocated to a part of the main memory, an area for storing the leading portion of the packet including the TCP protocol header and the like is allocated to the high-speed memory. Without changing, the communication performance of the network can be improved at low cost. That is, (1) Usually, a packet buffer of at least a dozen packets is sufficient, so the size of the required high-speed memory is very small, about 1 kilobyte. The cost is low even if a large memory is used. Also, it can be easily integrated with other circuits on the LSI. (2) The change to the control circuit of the conventional main memory using DRAM is small and very easy. (3) Regarding the handling of the packet buffer address, it is not necessary to change the circuit and software of the existing network interface, and the use of the main memory is not limited by the change of the memory, and the versatility of the memory is maintained. Be drunk. (4) Since an interrupt is generated upon completion of DMA transfer at the beginning of the packet, processing is speeded up by starting early processing and writing the beginning of the packet to the high-speed memory at high speed.
本実施例では、DRAMの一部に割り当てられたパケットバッファのうち、パケットの先頭部分を格納する領域をSRAMに割り当てる。そのSRAM部分の長さはTCPプロトコルのヘッダが含まれるように選ぶ。また、ネットワークインターフェースは、パケットの先頭部分の受信が終りSRAMへのDMA転送が終了した時点でCPUに対して割込みを発生し、そのパケットについての処理の開始が行われるようにする。 In the present embodiment, an area for storing the head part of the packet is allocated to the SRAM among the packet buffers allocated to a part of the DRAM. The length of the SRAM portion is selected so as to include a TCP protocol header. In addition, the network interface generates an interrupt to the CPU when reception of the head portion of the packet ends and DMA transfer to the SRAM ends, so that processing for the packet is started.
<実施例>
図1に本発明の1つの実施例のネットワーク制御用の端末装置の要部の構成を示す。DMAコントローラを有するネットワークインターフェース10、メインメモリとして使用されるDRAM20、CPU30、バス40、アドレスバス41、データバス42等は図7で説明したものと同じである。本実施例では、新たに高速メモリとしてSRAMを備える。60,70はメモリに対してイネーブル信号を発生させるアドレスデコーダ、80は特定のアドレスのときメインメモリ20を非イネーブルにするプライオリティ回路、90はDRAM20用のアドレスデータをSRAM50用のアドレスデータに変換するアドレス変換器である。
<Example>
FIG. 1 shows a configuration of a main part of a network control terminal device according to one embodiment of the present invention. The
本実施例では、図2に示すように、パケットバッファのサイズを2048バイトとし、このうち先頭部分の64バイトをSRAM50に割り当てる。このサイズのパケットバッファであれば、通常、最大フレームサイズが1500バイト程度であるイーサネットのパケットを十分格納でき、また、一般的なイーサネットのパケットは図3に示すような構成であるため、確認応答など迅速な処理が要求されるTCPのヘッダ部分はSRAM50上に配置されることになる。
In this embodiment, as shown in FIG. 2, the size of the packet buffer is set to 2048 bytes, and the first 64 bytes are allocated to the
受信用と送信用にそれぞれ8個づつのパケットバッファを確保し、図4のメモリマップの位置に配置する。この例では、パケットバッファは合計32KB(=2048×16)であり、DRAM20のメモリ空間の0x30000〜0x37fffの領域に割り当てる。なお、この実施例ではアドレス空間は20ビットである。以上の結果、パケットバッファの領域は、図5に示すように、DRAM20とSRAM50が混在したメモリ空間で表されることになる。
Eight packet buffers are reserved for reception and transmission, respectively, and are arranged at the position of the memory map in FIG. In this example, the packet buffer has a total of 32 KB (= 2048 × 16), and is allocated to an area of 0x30000 to 0x37fff in the memory space of the
図1において、アドレスデコーダ60は、DRAM20の内の、パケットバッファが割り当てられている0x00000〜0x3FFFFのアドレスのすべての領域を検出する。すなわち、アドレスバス41のMSBとMSB−1のアドレス線である[a19,a18]=[0,0]の一致を検出する。そして、この検出によりDRAM20をイネーブルにする。
In FIG. 1, the
さらに、この領域の中において、SRAM50が割り当てられた領域はSRAM50が優先してアクセスされるように、プライオリティ回路80で制御する。すなわち、アドレスデコーダ70がこの領域を検出したとき、SRAM50をイネーブルにするとともに、プライオリティ回路80によって、DRAM20を非イネーブルにする。通常のDRAM制御回路からの変更点は、このプライオリティ回路80の追加のみである。なお、SRAM50に割り当てられた領域と重なった部分のDRAM20の領域は使用されず無駄になるが、そのDRAM20の単位容量あたりのコストは非常に小さいため問題にならない。
Further, in this area, the
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が非イネーブルになる。
The
アドレス変換器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]に対応づける。
The
以上のようにして、パケットの先頭部分が受信されDMAコントローラ11によるDMA転送によりSRAM50に格納されると、ネットワークインターフェース10によって割込みが発生し、CPU30に通知する。これにより、パケット先頭部分の受信が終了した時点でそのパケットについての処理が開始されるので、SRAM50への書込みが高速で行われることも加味され、ネットワークの通信性能が向上する。
As described above, when the head portion of the packet is received and stored in the
なお、本実施例では、SRAMを配置するパケットバッファの領域の位置は固定であるが、ソフトウェアによって設定変更可能にすればシステムの柔軟性が増す。 In this embodiment, the position of the area of the packet buffer in which the SRAM is arranged is fixed. However, if the setting can be changed by software, the flexibility of the system increases.
10:ネットワークインターフェース、11:DMAコントローラ
20:DRAM
30:CPU
40:バス、41:アドレスバス、42:データバス
50:SRAM
60,70:アドレスデコーダ
80:プライオリティ回路
90:アドレス変換器
10: Network interface, 11: DMA controller, 20: DRAM
30: CPU
40: Bus, 41: Address bus, 42: Data bus 50: SRAM
60, 70: Address decoder 80: Priority circuit 90: Address converter
Claims (4)
前記メインメモリよりも読み書きが高速で行われる高速メモリを備え、前記パケットバッファにおける前記パケットの先頭部分の格納領域を、該高速メモリに割り当てたことを特徴とする端末装置。 In a terminal device to which a part of main memory is allocated as a packet buffer for storing packets,
A terminal device comprising: a high-speed memory in which reading and writing are performed at a higher speed than the main memory; and a storage area of a head portion of the packet in the packet buffer is allocated to the high-speed memory.
前記パケットの先頭部分の格納領域を示す前記メインメモリのアドレスを、前記高速メモリの前記パケットの先頭部分が割り当てられた領域のアドレスに変換するアドレス変換器を備えることを特徴とする端末装置。 The terminal device according to claim 1,
A terminal apparatus comprising: an address converter that converts an address of the main memory indicating a storage area of a head portion of the packet into an address of an area to which the head portion of the packet is allocated in the high-speed memory.
前記パケットの前記先頭部分が割り当てられた前記高速メモリの領域がアクセスされるとき、前記メインメモリの前記パケットの先頭部分の格納領域のアドレス空間を無効にするプライオリティ回路を備えることを特徴とする端末装置。 The terminal device according to claim 1 or 2,
A terminal comprising: a priority circuit that invalidates an address space of a storage area of the head portion of the packet of the main memory when an area of the high-speed memory to which the head portion of the packet is allocated is accessed apparatus.
前記メインメモリとの間で前記パケットの送受信を行うDMAを備え、
前記パケットの前記先頭部分の前記高速メモリへのDMA転送が終了した時点でCPUに対する前記パケット処理開始の割込みが発生するようにしたことを特徴とする端末装置。 In the terminal device according to claim 1, 2, or 3,
A DMA for transmitting and receiving the packet to and from the main memory;
A terminal device characterized in that an interrupt for the packet processing start to the CPU is generated when the DMA transfer of the head portion of the packet to the high speed memory is completed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007182476A JP2009020684A (en) | 2007-07-11 | 2007-07-11 | Terminal equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007182476A JP2009020684A (en) | 2007-07-11 | 2007-07-11 | Terminal equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009020684A true JP2009020684A (en) | 2009-01-29 |
Family
ID=40360279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007182476A Withdrawn JP2009020684A (en) | 2007-07-11 | 2007-07-11 | Terminal equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009020684A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009130891A (en) * | 2007-11-28 | 2009-06-11 | Nec Access Technica Ltd | Information processing apparatus and frame relay method |
JP2010088102A (en) * | 2008-09-02 | 2010-04-15 | Renesas Technology Corp | Storage device and control technique for storage device |
JP2017085378A (en) * | 2015-10-28 | 2017-05-18 | キヤノン株式会社 | Communication device, method for the same, and computer program |
JP2017517792A (en) * | 2014-05-09 | 2017-06-29 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | System and method for memory allocation in a multi-class memory system |
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/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009130891A (en) * | 2007-11-28 | 2009-06-11 | Nec Access Technica Ltd | Information processing apparatus and frame relay method |
JP2010088102A (en) * | 2008-09-02 | 2010-04-15 | Renesas Technology Corp | Storage device and control technique for storage device |
US10133687B2 (en) | 2013-08-01 | 2018-11-20 | Canon Kabushiki Kaisha | Communication apparatus and data processing method |
JP2017517792A (en) * | 2014-05-09 | 2017-06-29 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | System and method for memory allocation in a multi-class memory system |
JP2017085378A (en) * | 2015-10-28 | 2017-05-18 | キヤノン株式会社 | Communication device, method for the same, and computer program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009540681A (en) | Apparatus and method for data communication flow control | |
JP2009020684A (en) | Terminal equipment | |
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 (en) | Devices that interface peripheral devices with computer networks | |
JP2001036588A (en) | Data transfer controller and electronic equipment | |
US7761587B2 (en) | Apparatus and method for transmitting packet IP offload | |
JP2001229115A (en) | Atapi command processing system | |
US20100312924A1 (en) | Network processor, reception controller and data reception processing method performing direct memory access transfer | |
JP2006293929A (en) | Data transfer unit | |
JP2002084311A (en) | Packet transmission equipment | |
US6961837B2 (en) | Method and apparatus for address translation pre-fetch | |
JP2005332145A (en) | Data transfer control circuit and data transfer method | |
JP4212508B2 (en) | Packet generator | |
KR100571775B1 (en) | Network Printer capable of improving transmission speed of printing data and a method thereof | |
JP2009088622A (en) | Packet transfer device having buffer memory and method thereof | |
JP6938399B2 (en) | Communication equipment, communication methods and programs | |
JP2905041B2 (en) | Message transceiver | |
JP4190969B2 (en) | Bus arbitration system in bus system and AMBA | |
KR100239738B1 (en) | Method and apparatus of processing packet data of lan | |
US5926630A (en) | Communication device including a receiving data processor and a bus interface having a data storage area | |
JP2003099396A (en) | Network interfacing circuit | |
JP2003150534A (en) | Chain block transfer method and communication control device | |
JP2643660B2 (en) | Communication control device | |
JP2601914B2 (en) | Data transmission equipment |
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 |