JP2000092066A - Atm cell assembly/disassembly device - Google Patents

Atm cell assembly/disassembly device

Info

Publication number
JP2000092066A
JP2000092066A JP25364898A JP25364898A JP2000092066A JP 2000092066 A JP2000092066 A JP 2000092066A JP 25364898 A JP25364898 A JP 25364898A JP 25364898 A JP25364898 A JP 25364898A JP 2000092066 A JP2000092066 A JP 2000092066A
Authority
JP
Japan
Prior art keywords
payload
cell
transfer
stored
reception
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.)
Granted
Application number
JP25364898A
Other languages
Japanese (ja)
Other versions
JP3186707B2 (en
Inventor
Tomoshi Katayanagi
智志 片▲柳▼
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP25364898A priority Critical patent/JP3186707B2/en
Publication of JP2000092066A publication Critical patent/JP2000092066A/en
Application granted granted Critical
Publication of JP3186707B2 publication Critical patent/JP3186707B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve transfer efficiency on a host bus by transferring payloads for plural cells to a host memory in the DMA cycle at a time. SOLUTION: A cell reception/disassembly part 6 disassembles received cells, stores the payload obtained by disassembly in a reception payload buffer 13 for each VC, and when a prescribed transfer command issuance condition is satisfied, prepares a DMA command for DMA transferring the stored payload and stores the DMA command in a second FIFO buffer as a queue. A host bus interface part 8 successively reads the DMA command stored in a DMA command FIFO 16 and DMA transfers the payload stored inside the reception payload buffer 13 to the host bus 4 corresponding to the read DMA command. A mode for forcibly issuing a transfer command is prepared as well.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ATM(Asynchro
nous Transfer Mode)網に接続されたATM端末上に配
置されるATMセル組立・分解装置に関し、特に、その
受信機能として、物理層デバイスから送り込まれる受信
ATMセルを、ヘッダとペイロードとに分解し、さら
に、複数のペイロードから仮想チャンネル(以下、「V
C(VirtualChannel )」と略称する)毎に受信パケッ
トを構成して、上位アプリケーションに受け渡しするA
TMセル組立・分解装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an ATM (Asynchro
Nous Transfer Mode) The present invention relates to an ATM cell assembling / disassembling apparatus arranged on an ATM terminal connected to a network, and particularly, as a receiving function, disassemble a received ATM cell sent from a physical layer device into a header and a payload, Furthermore, virtual channels (hereinafter, “V
C (abbreviated as “VirtualChannel”)), and configures a received packet and transfers it to a higher-level application.
The present invention relates to a TM cell assembling / disassembling apparatus.

【0002】[0002]

【従来の技術】図12は、従来のATMセル組立・分解
装置の構成を示すブロック図である。図12に示すよう
に、ATMセル組立・分解装置81は、ATMネットワ
ークに対してフレームデータの送受信を行う物理層デバ
イス85と接続されている。また、一方では、ホストバ
ス84を介して、上位アプリケーションを動作させるホ
ストCPU82、及び、送受信パケット等を格納してお
くホストメモリ83と接続されている。ホストCPU8
2は、ホストメモリ83の管理や、ATMセル組立・分
解装置81に対する命令発行等も行う。
2. Description of the Related Art FIG. 12 is a block diagram showing a configuration of a conventional ATM cell assembling / disassembling apparatus. As shown in FIG. 12, the ATM cell assembling / disassembling apparatus 81 is connected to a physical layer device 85 that transmits and receives frame data to and from an ATM network. On the other hand, it is connected via a host bus 84 to a host CPU 82 for operating a host application and a host memory 83 for storing transmission / reception packets and the like. Host CPU 8
2 also manages the host memory 83 and issues commands to the ATM cell assembling / disassembling device 81.

【0003】ATMセル組立・分解装置81は、その内
部構成として、セルの受信、セル分解を行うセル受信・
分解部86と、送信セルのセル組立、送信を行うセル組
立・送信部87とを備え、さらに物理層デバイス85に
対してATMセルの送受信を行う物理層デバイスインタ
ーフェイス部89、及び、ホストバス84を介して接続
されたホストCPU82、ホストメモリ83に対してデ
ータ転送を行うホストバスインターフェイス部88を備
えている。
[0003] The ATM cell assembling / disassembling device 81 has a cell receiving / disassembling device for receiving and disassembling cells as an internal configuration.
A physical layer device interface unit 89 for transmitting and receiving ATM cells to and from the physical layer device 85; and a host bus 84. And a host bus interface unit 88 for transferring data to a host CPU 83 and a host memory 83 connected thereto via a USB port.

【0004】セル受信・分解部86は、物理層デバイス
インターフェイス部89から送られた受信セルのフィル
タリングや、セル分解を行い、分解されたペイロードを
ホストメモリ83にDMA転送するようホストバスイン
ターフェイス部88に命令するセル受信・分解制御部8
0と、受信制御の際、DMA転送先等必要となる情報
(受信パラメータ)を格納しておく受信パラメータ格納
部91と、分解されたペイロードをホストメモリ3にD
MA転送するまで一時的に格納しておく、受信FIFO
901とを備えている。
[0004] A cell receiving / disassembling section 86 performs filtering and cell disassembly of the received cell sent from the physical layer device interface section 89, and transfers the disassembled payload to the host memory 83 by DMA transfer. Reception / disassembly control unit 8 for instructing
0, a reception parameter storage unit 91 for storing necessary information (reception parameters) such as a DMA transfer destination at the time of reception control, and a disassembled payload stored in the host memory 3 as D.
Receive FIFO, temporarily stored until MA transfer
901.

【0005】物理層デバイスインターフェイス部89に
より受信された受信セルは、セル受信・分解制御部80
でチャンネル識別子VPI/VCIによってフィルタリ
ングされた後、5バイトのヘッダと48バイトのペイロ
ードとに分解される。上記分解されたペイロードは、ホ
ストメモリ83にDMA転送されるまで受信FIFO9
01に一時的に格納される。
The received cell received by the physical layer device interface section 89 is transmitted to a cell reception / disassembly control section 80.
After being filtered by the channel identifier VPI / VCI, the packet is decomposed into a 5-byte header and a 48-byte payload. The decomposed payload is transferred to the reception FIFO 9 until DMA transfer to the host memory 83.
01 is temporarily stored.

【0006】セル受信・分解制御部80は、受信パラメ
ータ格納部91に格納されたDMA転送先アドレスを参
照し、受信FIFO901に一時的に格納されたペイロ
ードをホストメモリ83にDMA転送するよう、ホスト
バスインターフェイス部88に要求する。受信FIFO
901に格納されたペイロードは、格納順に順次DMA
転送され、ホストメモリ83内でVC毎にパケットとし
て再構築される。
[0006] The cell reception / disassembly control unit 80 refers to the DMA transfer destination address stored in the reception parameter storage unit 91 and transfers the payload temporarily stored in the reception FIFO 901 to the host memory 83 by DMA transfer. Request to the bus interface unit 88. Receive FIFO
The payloads stored in the DMAs 901 are sequentially stored in the DMAs in the order of storage.
The data is transferred and reconstructed as a packet for each VC in the host memory 83.

【0007】ここで、ホストメモリ83は、パケットを
VC毎に格納するため、VC毎に領域が確保されてお
り、異なるVCのペイロードを連続したアドレス領域に
転送することはできない。DMA転送は通常、1回のD
MA転送サイクル当たり、1セル分のペイロードの割合
で行われる。これは、受信FIFO901へ格納されて
いる或るペイロードと、その次に格納されたペイロード
の属するVCが異なる場合、それら2つのペイロードが
転送されるべきホストメモリ83上の格納アドレスが連
続する事は稀であるため、1回のDMA転送サイクルで
バースト転送(アドレスを1回出力し、その後データの
みを出し続けて転送するDMA転送形式)ができないた
めである。
Here, since the host memory 83 stores packets for each VC, an area is reserved for each VC, and it is not possible to transfer payloads of different VCs to a continuous address area. A DMA transfer is usually a single D
The transfer is performed at a rate of one cell payload per MA transfer cycle. This is because, when a certain payload stored in the reception FIFO 901 differs from the VC to which the next stored payload belongs, the storage addresses on the host memory 83 to which the two payloads should be transferred are consecutive. This is because, in rare cases, burst transfer (a DMA transfer format in which an address is output once and then only data is continuously transferred) cannot be performed in one DMA transfer cycle.

【0008】同一VCのセルが複数個分、連続して受信
FIFO901に格納され、それらの転送先がホストメ
モリ83内の連続したアドレス空間である場合には、1
回のDMA転送サイクルで、例えば、5セル分まとめて
転送することもある。本発明分野に属する技術を過去の
特許出願から遡及調査すると、まず、特開平6−276
209号公報には、ライン入力されたセルをVC毎に構
成したFIFO制御のバッファに格納する手段と、過去
の出力状況等から判断して、上記入力されたセル毎に出
力可能な時刻を判別する手段と、上記判定された時刻の
タイミングで、該当セルを出力する手段とを有する技術
が開示されている。
When a plurality of cells of the same VC are successively stored in the reception FIFO 901 and their transfer destination is a continuous address space in the host memory 83, one cell is stored.
In a single DMA transfer cycle, for example, data may be transferred collectively for five cells. A retrospective search of technologies belonging to the field of the present invention from past patent applications shows that
Japanese Unexamined Patent Publication No. 209 discloses a means for storing a line-input cell in a FIFO control buffer configured for each VC, and judging from the past output status and the like, discriminating a time at which output can be performed for each input cell. And a means for outputting a corresponding cell at the timing of the determined time.

【0009】また、特開平7−99494号公報には、
到着したセルをVC毎にバッファに蓄積する手段と、所
定のセル数のカウントを契機として、上記蓄積されたセ
ルをVP(Virtual Path)毎に蓄積する手段と、上記V
P毎に蓄積されたセルをVP毎に設定されているタイム
スロットの間隔で伝送路に出力する手段とを有する技術
が開示されている。
Japanese Patent Application Laid-Open No. 7-99494 discloses that
Means for accumulating the arriving cells in a buffer for each VC, means for accumulating the accumulated cells for each VP (Virtual Path) triggered by counting a predetermined number of cells,
There is disclosed a technique of outputting cells accumulated for each P to a transmission line at intervals of time slots set for each VP.

【0010】さらに、特開平10−32591号公報に
は、到着したセルをVC毎にバッファに蓄積する手段
と、所定のセル間隔で送出要求を生成し、その時のセル
時刻を時計から読み取ってFIFO制御の要求キューに
蓄積する手段と、上記要求キューの時刻情報と上記バッ
ファの蓄積状況に応じて、次のセル時刻に送出するVC
を決定する手段とを有する技術が開示されている。
Further, Japanese Patent Application Laid-Open No. 10-32591 discloses means for accumulating arriving cells in a buffer for each VC, generating a transmission request at predetermined cell intervals, reading the cell time at that time from a clock, and reading out the FIFO. Means for accumulating data in a control request queue, and a VC to be transmitted at the next cell time according to the time information of the request queue and the accumulation status of the buffer.
And a means for determining

【0011】[0011]

【発明が解決しようとする課題】ところで、上記した従
来のATMセル組立・分解装置では、ホストバス4上の
転送効率が良くないという欠点を有している。
The above-described conventional ATM cell assembling / disassembling apparatus has a drawback that the transfer efficiency on the host bus 4 is not good.

【0012】その理由は、従来においては、ATMセル
組立・分解装置内で受信ペイロードを一時格納する手段
として、受信FIFO901としてFIFO(先入れ先
出し)制御のバッファを用いていたためである。ちなみ
に、FIFO制御とは、データを到着順に格納し、かつ
上記格納された順に読み出すことである。
The reason is that, conventionally, a FIFO (first-in-first-out) control buffer is used as the reception FIFO 901 as means for temporarily storing the reception payload in the ATM cell assembling / disassembling apparatus. Incidentally, the FIFO control means storing data in the order of arrival and reading out the data in the order in which the data was stored.

【0013】このため、一時格納された受信セルのペイ
ロードは、受信FIFO901への格納順、すなわち、
受信された順番でしか、読み出すことができない。
For this reason, the temporarily stored payload of the reception cell is stored in the reception FIFO 901 in the order of storage, that is,
It can only be read out in the order in which it was received.

【0014】一方、ペイロードのDMA転送先であるホ
ストメモリ83内の領域は、VC毎に領域が確保されて
おり、異なるVCのペイロードを連続したアドレス領域
に転送することはできない。
On the other hand, an area in the host memory 83, which is the destination of the DMA transfer of the payload, is secured for each VC, and it is not possible to transfer a payload of a different VC to a continuous address area.

【0015】また、一般にDMA転送は、一度のDMA
サイクルでは連続したアドレス領域にしか、データを転
送できない。
In general, a DMA transfer is performed by one DMA transfer.
In a cycle, data can be transferred only to a continuous address area.

【0016】ところが、一般に、ATMセル組立・分解
装置においては、必ずしも1つのVCのセルが連続して
受信されるとは限らず、複数のVCのセルが、バラバラ
に受信されると考える方が適切である。
However, in general, in an ATM cell assembling / disassembling apparatus, one VC cell is not always received continuously, and a plurality of VC cells may be received separately. Is appropriate.

【0017】このため、受信ペイロードの読み出しは、
毎回VCが変わると考える方が適切であり、DMA転送
先のアドレスも連続することはないと考えられる。
For this reason, the reading of the received payload is performed as follows.
It is appropriate to consider that the VC changes every time, and it is considered that the address of the DMA transfer destination is not continuous.

【0018】従って、偶然に同一VCのセルが複数個連
続して受信された場合を除いて、一般に、一度のDMA
サイクルで複数セル分のペイロードをDMA転送するこ
とは不可能である。
Therefore, except for the case where a plurality of cells of the same VC are received consecutively by accident, generally one DMA
It is impossible to DMA-transfer a payload of a plurality of cells in a cycle.

【0019】このため、従来例においては、1セル分の
ペイロード毎にDMA転送を行う必要があり、それ故、
該転送の都度、DMAサイクルの開始に伴うオーバーヘ
ッドが生じ、ホストバス4上の転送効率が悪くしてい
た。
For this reason, in the conventional example, it is necessary to perform the DMA transfer for each payload of one cell.
Each time the transfer is performed, an overhead occurs at the start of the DMA cycle, and the transfer efficiency on the host bus 4 is degraded.

【0020】以下では、上記の事情を、ホストバス84
として、よく知られた“PCIバスインターフェイス”
の32ビットバス(以下、「PCI」と略記する)を用
いた場合を例にとって説明する。
In the following, the above situation will be described based on the host bus 84.
As a well-known “PCI bus interface”
An example in which a 32-bit bus (hereinafter abbreviated as "PCI") is used will be described.

【0021】文献、“PCI LOCAL BUS S
PECIFICATION REVISION 2.1
(PCI SIG刊)”に依ると、本明細書で言うDM
A転送とはPCIのメモリ・ライト動作に相当する。
The literature, "PCI LOCAL BUS S
PECIFICATION REVISION 2.1
(Published by PCI SIG).
The A transfer corresponds to a memory write operation of the PCI.

【0022】図13は、もっとも典型的なPCIのメモ
リ・ライト動作を示すタイミング図である。DMA転送
をする際、マスタ(従来のATMセル組立・分解装置)
は、時刻T1でREQ#信号をLOWにして、バスの使
用権を要求する。バスの使用権はPCIバスシステム上
のアービタと呼ばれる装置が時刻T2でGNT#信号を
LOWにすることによって与えられる。これを受けて、
マスタは、時刻T3でFRAME#をLOWにしてDM
A転送を開始する。この時刻T1から時刻T3の間は、
バス使用権を獲得するための期間であり、最低2クロッ
ク分の時間を要する。
FIG. 13 is a timing chart showing the most typical PCI memory write operation. When performing DMA transfer, master (conventional ATM cell assembling / disassembling device)
Makes the REQ # signal LOW at time T1, and requests the right to use the bus. The right to use the bus is given by a device called an arbiter on the PCI bus system setting the GNT # signal to LOW at time T2. In response,
The master sets FRAME # to LOW at time T3 and
A transfer is started. Between time T1 and time T3,
This is a period for acquiring the right to use the bus, and requires at least two clocks.

【0023】マスタは、FRAME#をLOWにすると
同時に、DMA転送先のアドレスを1クロック分時出力
する。この時刻T3から時刻T4の間は、“アドレスフ
ェーズ”と呼ばれる期間である。
The master sets FRAME # to LOW and simultaneously outputs the address of the DMA transfer destination for one clock. The period from time T3 to time T4 is a period called “address phase”.

【0024】マスタは、アドレスフェーズに続き、32
ビットデータを1クロック当たり、1ワード(4バイ
ト)ずつ転送してゆき、時刻T5において、すべてのデ
ータの出力を終了し、DMA転送が終了する。
Following the address phase, the master
The bit data is transferred one word (4 bytes) per clock, and at time T5, the output of all data ends, and the DMA transfer ends.

【0025】このデータが出力されている時刻T4から
時刻T5の期間は、“データフェーズ”と呼ばれ、48
バイトのペイロードデータを転送する場合、12クロッ
ク分の時間を要する。上記に説明した通り、1セル分の
ペイロードをDMA転送するには最低15クロック必要
である。この時刻T1から時刻T5までのDMAサイク
ルのうち、時刻T1から時刻T4までのバス使用権獲得
とアドレスフェーズが、データ転送量に依存しない、1
回のDMAサイクルに1回必要なオーバーヘッドであ
り、ここに3クロックを要している。すなわち、ペイロ
ードを1セル分DMA転送する度に、3クロックを無駄
にしている。
The period from the time T4 to the time T5 when this data is output is called a "data phase".
When transferring byte payload data, it takes 12 clocks. As described above, at least 15 clocks are required for DMA transfer of the payload of one cell. In the DMA cycle from time T1 to time T5, the acquisition of the bus use right and the address phase from time T1 to time T4 are independent of the data transfer amount.
This is an overhead required once per DMA cycle, and requires three clocks. That is, every time the payload is DMA-transferred for one cell, three clocks are wasted.

【0026】従来において、5セル分のペイロードをD
MA転送しようとすると、5回のDMAサイクルが必要
で、DMA転送に掛かる時間は、 (オーバーヘッド+データフェイズ)×5=(3+1
2)×5=75 となり、全部で75クロック分の時間が必要である。こ
の5セル分のペイロードを1回のDMAサイクルで転送
できれば、 (オーバーヘッド+データフェイズ)×1=(3+6
0)×1=63 となり、4回分のオーバーヘッドを削減して、63クロ
ック分の時間でDMA転送ができることになる。
Conventionally, the payload of 5 cells is
Attempting to perform MA transfer requires five DMA cycles, and the time required for DMA transfer is (overhead + data phase) × 5 = (3 + 1)
2) × 5 = 75, and a time for a total of 75 clocks is required. If the payload of 5 cells can be transferred in one DMA cycle, (overhead + data phase) × 1 = (3 + 6)
0) × 1 = 63, so that the overhead can be reduced by four times and the DMA transfer can be performed in a time equivalent to 63 clocks.

【0027】さらには、上記オーバーヘッドのうち、バ
ス使用権を獲得するための期間(時刻T1から時刻T3
の間)は、ATMセル組立・分解装置以外(例えばホス
トCPU2)がホストバス3を使用中であった場合、す
ぐにはバス使用権を獲得することができず、さらに長い
時間が必要となる可能性を有する。従って、上記オーバ
ーヘッドは、最低2クロックであっても、実際にはもっ
と長い時間になるのが一般的である。
Further, of the overhead, a period for acquiring the bus use right (from time T1 to time T3).
During the period, when a host other than the ATM cell assembling / disassembling apparatus (for example, the host CPU 2) is using the host bus 3, the bus use right cannot be obtained immediately, and a longer time is required. Has the potential. Therefore, the overhead generally takes a longer time even if it is at least two clocks.

【0028】上記の事実により、従来技術では、1回の
DMA転送サイクルで1セル分のペイロードしかホスト
メモリ3にDMA転送できないので、ホストバス4上の
転送効率が良くないという欠点を有することが理解され
る。本発明は、以上のような従来のATMセル組立・分
解装置における問題点に鑑みてなされたものであり、そ
の目的としては、複数セル分のペイロードを1回のDM
Aサイクルでホストメモリに転送することにより、ホス
トバス上の転送効率を向上させたATMセル組立・分解
装置を提供することにある。
According to the above fact, the prior art has a drawback that the transfer efficiency on the host bus 4 is not good because only one cell payload can be DMA-transferred to the host memory 3 in one DMA transfer cycle. Understood. The present invention has been made in view of the above-described problems in the conventional ATM cell assembling / disassembling apparatus.
An object of the present invention is to provide an ATM cell assembling / disassembling apparatus which improves transfer efficiency on a host bus by transferring data to a host memory in an A cycle.

【0029】[0029]

【課題を解決するための手段】上記の課題を解決するた
めに、本発明の第1の態様に係るATMセル組立・分解
装置は、ATM網に接続されたATM端末に配置され、
物理層デバイスインターフェイス部と、セル受信・分解
部と、ホストバスインターフェイス部と、セル組立・送
信部を備えたATMセル組立・分解装置において、前記
セル受信・分解部は、前記物理層デバイスインターフェ
イス部を介して受信したセルをヘッダとペイロードに分
解し、前記分解により得られたペイロードを仮想チャン
ネル毎に第1の先入れ先出しメモリに蓄積するペイロー
ド蓄積手段と、所定の転送コマンド発行条件が満たされ
た時に、前記蓄積されたペイロードをダイレクトメモリ
アクセス転送させるためのダイレクトメモリアクセスコ
マンドを作成するダイレクトメモリアクセスコマンド作
成手段と、前記ダイレクトメモリアクセスコマンドを第
2の先入れ先出しメモリに蓄積するダイレクトメモリア
クセスコマンド蓄積手段を有し、 前記ホストバスイン
ターフェイス部は、前記第2の先入れ先出しメモリに蓄
積されたダイレクトメモリアクセスコマンドを順次読み
出し、当該読み出されたダイレクトメモリアクセスコマ
ンドに従って前記第1の先入れ先出しメモリ内に蓄積さ
れたペイロードを、前記バスホストインタフェース部に
接続されたバスを介して外部メモリにダイレクトメモリ
アクセス転送すること、を特徴とする。
In order to solve the above problems, an ATM cell assembling / disassembling apparatus according to a first aspect of the present invention is arranged in an ATM terminal connected to an ATM network,
In an ATM cell assembling / disassembling apparatus including a physical layer device interface unit, a cell receiving / disassembling unit, a host bus interface unit, and a cell assembling / transmitting unit, the cell receiving / disassembling unit includes the physical layer device interface unit. And a payload storage unit for decomposing the cell received via the header into a header and a payload, and storing the payload obtained by the decomposition in the first first-in first-out memory for each virtual channel, and when a predetermined transfer command issuing condition is satisfied. A direct memory access command generating means for generating a direct memory access command for causing the stored payload to be transferred by direct memory access, and a direct memory access command storing means for storing the direct memory access command in a second first-in first-out memory The host bus interface unit sequentially reads the direct memory access commands stored in the second first-in first-out memory, and accumulates in the first first-in-first-out memory according to the read direct memory access commands. Transferring the transferred payload to an external memory via a bus connected to the bus host interface unit.

【0030】ここで、前記の所定の転送コマンド発行条
件として、(1) 受信パケットの最終セルが受信され
た時、受信セル数に1を加算したセル数分のペイロード
のデータ容量が、所定のダイレクトメモリアクセス転送
先バッファ容量を超える時、(3) 前記第1の先入れ
先出しメモリ内の格納ペイロードの格納セル数が、連続
して転送可能な所定の最大転送可能セル数に達した時、
のいずれか一つを指定することが可能である。
Here, the predetermined transfer command issuance conditions include: (1) when the last cell of a received packet is received, the data capacity of the payload of the number of cells obtained by adding 1 to the number of received cells is equal to a predetermined value. (3) when the number of cells stored in the storage payload in the first first-in first-out memory reaches a predetermined maximum number of transferable cells that can be continuously transferred,
It is possible to specify any one of

【0031】また、前記第1の先入れ先出しメモリ内
に、該バッファ内の領域を仮想チャンネル毎に管理する
チェーンを設け、前記ペイロードを蓄積する仮想チャン
ネル毎の領域を、対応する仮想チャンネル毎の前記チェ
ーンにより論理的に結合することが可能である。
In the first first-in first-out memory, a chain for managing the area in the buffer for each virtual channel is provided, and the area for each virtual channel for storing the payload is stored in the chain for the corresponding virtual channel. Can be logically combined.

【0032】また、前記第1の先入れ先出しメモリ内
に、空きブロックの領域を設置し、新たなペイロードの
格納に際しては、該空きブロックの領域からブロックを
切り出して当該新たなペイロードの格納領域として充当
し、格納されたペイロードのダイレクトメモリアクセス
転送が終了した時点では、当該格納されたペイロードが
占めていた領域を前記空きブロックの領域として解放す
ることが可能である。
In the first first-in first-out memory, an empty block area is provided, and when storing a new payload, a block is cut out from the empty block area and used as a storage area for the new payload. When direct memory access transfer of the stored payload ends, the area occupied by the stored payload can be released as the free block area.

【0033】さらに、前記ダイレクトメモリアクセスコ
マンド作成手段は、ダイレクトメモリアクセスコマンド
を作成するために必要な情報として、少なくとも、この
受信ペイロードバッファに対し、セル受信・分解制御部
と、受信バッファ管理部が(1) ペイロードのダイレ
クトメモリアクセス転送先を示すダイレクトメモリアク
セス転送先アドレス、(2) ペイロードのダイレクト
メモリアクセス転送先における連続アドレス空間の残り
容量を示すダイレクトメモリアクセス転送先バッファ容
量、(3) 一度のダイレクトメモリアクセス転送サイ
クルで転送させるペイロード数の上限に対応する最大連
続転送セル数、(4) 第1の先入れ先出しメモリ内の
先頭格納アドレス、(5) 第1の先入れ先出しメモリ
内の最終格納アドレス、(6) 第1の先入れ先出しメ
モリ内に格納されたペイロードに対応するセルの個数、
の内の任意の項目を記憶しておく手段を有することが可
能である。
Further, the direct memory access command generating means includes at least a cell reception / disassembly control unit and a reception buffer management unit for the reception payload buffer as information necessary for generating the direct memory access command. (1) Direct memory access transfer destination address indicating the direct memory access transfer destination of the payload; (2) Direct memory access transfer destination buffer capacity indicating the remaining capacity of the continuous address space in the direct memory access transfer destination of the payload; (3) once The maximum number of continuous transfer cells corresponding to the upper limit of the number of payloads to be transferred in the direct memory access transfer cycle, (4) the first storage address in the first first-in first-out memory, (5) the last storage address in the first first-in first-out memory, 6) The number of cells corresponding to the payload stored in the first first-in-first-out memory,
It is possible to have means for storing any of the items.

【0034】上記の課題を解決するために、上記構成に
加えて、前記セル受信・分解部に、前記第2の先入れ先
出しメモリ内に蓄積されたダイレクトメモリアクセスコ
マンド全体に指定されたペイロード全体に対応したセル
全体のセル数を計数する手段を設け、該セル数が所定の
強制転送閾値より小さい時には、前記ダイレクトメモリ
アクセスコマンドを発行すること、を特徴とする前記A
TMセル組立・分解装置が提供される。
In order to solve the above problem, in addition to the above configuration, the cell receiving / disassembling unit is adapted to handle the entire payload specified in the entire direct memory access command stored in the second first-in first-out memory. Means for counting the number of cells in the entire cell, and issuing the direct memory access command when the number of cells is smaller than a predetermined forced transfer threshold.
A TM cell assembling / disassembling apparatus is provided.

【0035】本発明に係るATMセル組立・分解装置
は、従来のATMセル組立・分解装置においては、受信
したペイロードを、先入れ先出しメモリに一時格納し、
1セル分ずつ読み出してダイレクトメモリアクセス転送
していたので、この点を改良し、受信ペイロードの一時
格納領域として、仮想チャンネル毎に受信ペイロードを
格納・管理し、複数セル分のペイロードをまとめて読み
出せる“ペイロード一時記憶手段”を設け、複数セル分
のペイロードを、まとめて1回のダイレクトメモリアク
セスサイクルでホストメモリに転送する手段を採用する
ことにより、ホストバス上の転送効率を向上させてい
る。
The ATM cell assembling / disassembling apparatus according to the present invention is different from the conventional ATM cell assembling / disassembling apparatus in that the received payload is temporarily stored in a first-in first-out memory.
Since direct memory access transfer was performed by reading one cell at a time, this point was improved. As a temporary storage area for the received payload, the received payload was stored and managed for each virtual channel, and the payloads of a plurality of cells were read together. The transfer efficiency on the host bus is improved by providing "payload temporary storage means" for transferring the payload of a plurality of cells to the host memory in one direct memory access cycle. .

【0036】すなわち、上記の構成により本発明のAT
Mセル組立・分解装置では、複数セル分のペイロード
を、1回のダイレクトメモリアクセスサイクルでホスト
バスに接続された外部メモリに転送するので、DMA転
送に関わるオーバーヘッドを削減することができ、その
結果、ホストバス上の転送効率の向上が可能となる。
That is, with the above configuration, the AT of the present invention
In the M-cell assembling / disassembling apparatus, since the payload of a plurality of cells is transferred to the external memory connected to the host bus in one direct memory access cycle, the overhead related to the DMA transfer can be reduced. Thus, the transfer efficiency on the host bus can be improved.

【0037】[0037]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。 (第1の実施の形態)図1は、本発明の第1の実施の形
態に係るATMセル組立・分解装置の構造を示すための
ブロック図である。
Embodiments of the present invention will be described below with reference to the drawings. (First Embodiment) FIG. 1 is a block diagram showing a structure of an ATM cell assembling / disassembling apparatus according to a first embodiment of the present invention.

【0038】図1を参照すると、ATMセル組立・分解
装置1は、従来のATMセル組立・分解装置と同様、A
TMネットワークに対してフレームデータの送受信を行
う物理層デバイス5と接続されている。また、一方で
は、ホストバス4を介して、上位アプリケーションを動
作させるホストCPU2、及び、送受信パケット等を格
納しておくホストメモリ3と接続されている。ホストC
PU2は、ホストメモリ3の管理や、ATMセル組立・
分解装置1に対する命令発行等も行う。
Referring to FIG. 1, an ATM cell assembling / disassembling apparatus 1 is similar to a conventional ATM cell assembling / disassembling apparatus.
It is connected to a physical layer device 5 that transmits and receives frame data to and from the TM network. On the other hand, it is connected via a host bus 4 to a host CPU 2 for operating a host application and a host memory 3 for storing transmission / reception packets and the like. Host C
The PU 2 manages the host memory 3 and assembles ATM cells.
It also issues commands to the disassembly device 1 and the like.

【0039】ATMセル組立・分解装置1は、その内部
構成として、セルの受信とセルの分解を行うセル受信・
分解部6と、送信セルのセル組立、送信を行うセル組立
・送信部7とを備え、さらに物理層デバイス5に対して
ATMセルの送受信を行う物理層デバイスインターフェ
イス部9、及び、ホストバス4を介して接続されたホス
トCPU2、ホストメモリ3に対してデータ転送を行う
ホストバスインターフェイス部8を備えている。上記構
成までは、従来のATMセル組立・分解装置と同じであ
る。
The ATM cell assembling / disassembling apparatus 1 has, as its internal configuration, a cell receiving / disassembling apparatus for receiving cells and disassembling cells.
A physical layer device interface unit 9 for transmitting and receiving ATM cells to and from the physical layer device 5; a host bus 4; And a host bus interface unit 8 for transferring data to the host CPU 2 and the host memory 3 connected thereto via the. Up to the above configuration, it is the same as the conventional ATM cell assembling / disassembling apparatus.

【0040】セル受信・分解部6は、従来のATMセル
組立・分解装置と同様に、物理層デバイスインターフェ
イス部9から送られた受信セルのフィルタリングや、セ
ル分解を行い、分解されたペイロードをホストメモリ3
にDMA転送するようホストバスインターフェイス部8
に命令するセル受信・分解制御部10と、受信制御の
際、DMA転送先等必要となる情報(受信パラメータ)
を格納しておく受信パラメータ格納部11を備えてい
る。
The cell receiving / disassembling unit 6 performs filtering and cell disassembly of the received cells sent from the physical layer device interface unit 9 as in the conventional ATM cell assembling / disassembling apparatus, and stores the disassembled payload in the host. Memory 3
Host bus interface unit 8 to perform DMA transfer to
, A cell reception / disassembly control unit 10 that instructs a DMA transfer destination, and information (reception parameters) required for a DMA transfer destination and the like during reception control
Is provided with a reception parameter storage unit 11 for storing.

【0041】上記の構成に加えて、本発明の第1の実施
の形態におけるセル受信・分解部6は、分解されたペイ
ロードをホストメモリ3にDMA転送するまで一時的に
格納しておく手段として、ランダムアクセスメモリ(R
AM)を用いた受信ペイロードバッファ13を備えてい
る。
In addition to the above configuration, the cell receiving / disassembling unit 6 in the first embodiment of the present invention serves as a means for temporarily storing the disassembled payload until it is DMA-transferred to the host memory 3. , Random access memory (R
AM) is provided.

【0042】この受信ペイロードバッファ13には、書
き込みと読み出しが独立して行える“デュアルポートR
AM”の使用が適している。受信ペイロードバッファ1
3として使用されているRAMの領域は、1セル分のペ
イロードデータを格納し得る領域(以下、「ペイロード
格納ブロック」と称する)を最小単位として分割されて
いる。このペイロード格納ブロック同志を順次、論理的
につなぎ、ペイロード格納ブロックチェーンを構成する
ことにより、ペイロード格納ブロックチェーンをFIF
Oの方法で使用している。
The receiving payload buffer 13 has a "dual port R" in which writing and reading can be performed independently.
AM "is suitable. Receive payload buffer 1
The area of the RAM used as 3 is divided into areas each of which can store one cell of payload data (hereinafter, referred to as “payload storage block”) as a minimum unit. The payload storage blocks are sequentially and logically connected to each other to form a payload storage block chain.
O method is used.

【0043】受信ペイロードバッファ13内に一時的に
格納されている各受信セルのペイロードは、上記ペイロ
ード格納ブロックにそれぞれ格納され、仮想チャネル
(以下、「VC」と略記する)毎にペイロードデータチ
ェーンを構成することにより、受信ペイロードバッファ
13内において、VC毎に受信セルのペイロードを格納
した複数のFIFOバッファが存在しているような構成
になっている。
The payload of each reception cell temporarily stored in the reception payload buffer 13 is stored in the above-mentioned payload storage block, and a payload data chain is formed for each virtual channel (hereinafter abbreviated as “VC”). With this configuration, the reception payload buffer 13 has a configuration in which a plurality of FIFO buffers storing the payload of the reception cell for each VC exist.

【0044】例えば、VC1からVCnまでのn個のV
Cに対し、ペイロードデータを、受信ペイロードバッフ
ァ13内に一時格納しているものとすると、図1に示す
ように受信ペイロードバッファ13内には、VC1ペイ
ロードデータチェーン14aからVCnペイロードデー
タチェーン14zまでのn個のペイロード格納ブロック
チェーンが存在していて、それぞれのペイロード格納ブ
ロックチェーン内に、対応するVC毎にペイロードが格
納されている。受信ペイロードバッファ13のRAM内
で、ペイロードデータが格納されていないペイロード格
納ブロック(以下、「空きペイロード格納ブロック」と
称する)も論理的につながれ、空き格納ブロックチェー
ン15を構成している。
For example, n Vs from VC1 to VCn
Assuming that the payload data is temporarily stored in the reception payload buffer 13 with respect to C, as shown in FIG. 1, the reception payload buffer 13 includes the VC1 payload data chain 14a to the VCn payload data chain 14z. There are n payload storage block chains, and a payload is stored in each payload storage block chain for each corresponding VC. In the RAM of the reception payload buffer 13, payload storage blocks in which no payload data is stored (hereinafter, referred to as “empty payload storage blocks”) are also logically connected to form an empty storage block chain 15.

【0045】セル受信・分解部6は、上記した受信ペイ
ロードバッファ13へのペイロードを格納するためのペ
イロード格納ブロックチェーンの管理を行う受信バッフ
ァ管理部12も備えており、受信ペイロードバッファ1
3と受信バッファ管理部12とを併せて、受信ペイロー
ドの一時記憶手段として用いる。
The cell receiving / disassembling unit 6 also includes a receiving buffer managing unit 12 for managing a payload storage block chain for storing the payload in the receiving payload buffer 13 described above.
3 and the reception buffer management unit 12 are used together as a temporary storage unit of the reception payload.

【0046】図2は、本発明の第1の実施の形態に係る
受信ペイロードバッファ13の構成を示すブロック図で
ある。図3は、受信ペイロードバッファ13内に設置さ
れるペイロード格納ブロックの構成を示すブロック図で
ある。
FIG. 2 is a block diagram showing a configuration of the reception payload buffer 13 according to the first embodiment of the present invention. FIG. 3 is a block diagram showing a configuration of a payload storage block provided in the reception payload buffer 13.

【0047】図2を参照すると、受信ペイロードバッフ
ァ13内に、上記のVC1ペイロードデータチェーン1
4a、及び、空き格納ブロックチェーン15が設置され
ている。(他のVCのペイロード格納ブロックチェーン
については、VC1ペイロードデータチェーン14aと
同様の構成であるので、説明を省略する。)
Referring to FIG. 2, the VC1 payload data chain 1
4a and an empty storage block chain 15 are installed. (Since the configuration of the payload storage block chain of the other VC is the same as that of the VC1 payload data chain 14a, the description is omitted.)

【0048】VC1ペイロードデータチェーン14a内
に、3セル分のペイロードが格納されているものとする
と、VC1ペイロードデータチェーン14a内には、V
C1ペイロード格納ブロック(1)21aと、VC1ペ
イロード格納ブロック(2)21bと、VC1ペイロー
ド格納ブロック(3)21cとの、計3個のペイロード
格納ブロックが存在し、セルの受信順に、それぞれペイ
ロードが格納されている。
Assuming that a payload of 3 cells is stored in the VC1 payload data chain 14a, the VC1 payload data chain 14a has
There are a total of three payload storage blocks, a C1 payload storage block (1) 21a, a VC1 payload storage block (2) 21b, and a VC1 payload storage block (3) 21c. Is stored.

【0049】各ペイロード格納ブロックには、図3に示
すように、48バイトのペイロードデータ41と、次に
つなげる格納ブロックのRAM内における格納アドレス
を指し示すリンクポインタ42とが格納されている。こ
のリンクポインタ42によって、個々のペイロード格納
ブロックは論理的につながれ、ペイロード格納ブロック
チェーンを構成する。
As shown in FIG. 3, each payload storage block stores a 48-byte payload data 41 and a link pointer 42 indicating the storage address of the storage block to be connected next in the RAM. The individual payload storage blocks are logically connected by the link pointer 42 to form a payload storage block chain.

【0050】VC1ペイロードデータチェーン14aに
おいては、VC1ペイロード格納ブロック(1)21a
のリンクポインタは、VC1ペイロード格納ブロック
(2)21bの格納アドレスを、VC1ペイロード格納
ブロック(2)21bのリンクポインタは、VC1ペイ
ロード格納ブロック(3)21cの格納アドレスを指し
示すことで、それぞれ後続の格納ブロックへの結合関係
を示し、かくして、ペイロード格納ブロックチェーンを
構成する。(以下、このようなリンクポインタによる結
合関係を「“論理的につながれている”」と表現す
る。)
In the VC1 payload data chain 14a, the VC1 payload storage block (1) 21a
Of the VC1 payload storage block (2) 21b indicates the storage address of the VC1 payload storage block (2) 21b, and the link pointer of the VC1 payload storage block (2) 21b indicates the storage address of the VC1 payload storage block (3) 21c. Shows the connection relationship to the storage block, thus forming the payload storage block chain. (Hereinafter, such a connection relationship by the link pointer is expressed as “logically connected”.)

【0051】空き格納ブロックチェーン15も又、同様
の構成で空き格納ブロックチェーンを構成している。V
C1ペイロードデータチェーン14aにおける、先頭ペ
イロード格納ブロックのVC1ペイロード格納ブロック
(1)21aの格納アドレスと、最終ペイロード格納ブ
ロックのVC1ペイロード格納ブロック(3)21cの
格納アドレスとは、それぞれ先頭格納アドレス22、最
終格納アドレス23として受信パラメータ格納部11内
に格納されている。また、VC1ペイロードデータチェ
ーン14a内のペイロード格納ブロック数も、格納セル
数24として受信パラメータ格納部11内に格納されて
いる。
The empty storage block chain 15 also forms an empty storage block chain with a similar configuration. V
The storage address of the VC1 payload storage block (1) 21a of the first payload storage block and the storage address of the VC1 payload storage block (3) 21c of the last payload storage block in the C1 payload data chain 14a are respectively the first storage address 22, It is stored in the reception parameter storage unit 11 as the last storage address 23. In addition, the number of payload storage blocks in the VC1 payload data chain 14a is also stored in the reception parameter storage unit 11 as the number of storage cells 24.

【0052】空き格納ブロックチェーン15における先
頭空きペイロード格納ブロックの空きペイロード格納ブ
ロック(1)31aの格納アドレスと、最終空きペイロ
ード格納ブロックの空きペイロード格納ブロック(4)
31dの格納アドレスとは、それぞれ、先頭空きブロッ
クアドレス32、最終空きブロックアドレス33として
受信バッファ管理部12内に格納されている。また、空
き格納ブロックチェーン15内における空きペイロード
格納ブロック数も、空きブロック数34として受信バッ
ファ管理部12内に格納されている。
The storage address of the empty payload storage block (1) 31a of the first empty payload storage block in the empty storage block chain 15 and the empty payload storage block (4) of the last empty payload storage block
The storage addresses of 31d are stored in the reception buffer management unit 12 as the first free block address 32 and the last free block address 33, respectively. The number of empty payload storage blocks in the empty storage block chain 15 is also stored in the reception buffer management unit 12 as the number of empty blocks 34.

【0053】VC1に対し、新たなセルが受信された
時、セル受信・分解制御部10は、受信バッファ管理部
12に対して、受信セルのペイロードを格納するように
要求する。これを受けて、受信バッファ管理部12は、
新たなペイロード格納ブロックを空き格納ブロックチェ
ーン15の先頭から1つ切り出し、ここにペイロードを
格納し、さらに、このペイロード格納ブロックをVC1
ペイロードデータチェーン14aの最後尾に論理的に結
合する。
When a new cell is received from the VC1, the cell reception / disassembly control unit 10 requests the reception buffer management unit 12 to store the payload of the reception cell. In response, the reception buffer management unit 12
One new payload storage block is cut out from the beginning of the empty storage block chain 15 and the payload is stored here.
It is logically linked to the end of the payload data chain 14a.

【0054】具体的には、受信バッファ管理部12が、
先頭空きブロックアドレス32を、先頭空きブロックア
ドレス32が指し示す空きペイロード格納ブロック
(1)31aのリンクポインタで書き換える。これによ
り、空きペイロード格納ブロック(1)31aは、空き
格納ブロックチェーン15から切り離される。新たな受
信セルのペイロードは、この空きペイロード格納ブロッ
ク(1)31aに格納される。
Specifically, the reception buffer management unit 12
The head empty block address 32 is rewritten with the link pointer of the empty payload storage block (1) 31a indicated by the head empty block address 32. As a result, the empty payload storage block (1) 31a is separated from the empty storage block chain 15. The payload of the new received cell is stored in the empty payload storage block (1) 31a.

【0055】さらに、受信バッファ管理部12は、書き
換えられる以前の先頭空きブロックアドレス32でもっ
て、VC1ペイロードデータチェーン14aにおける最
終ペイロード格納ブロックのVC1ペイロード格納ブロ
ック(3)21cのリンクポインタを書き換える。この
ため、先頭空きブロックアドレス32の書き換えられる
以前の値を受信バッファ管理部12内で一時記憶してお
く。
Further, the reception buffer management unit 12 rewrites the link pointer of the VC1 payload storage block (3) 21c of the last payload storage block in the VC1 payload data chain 14a with the head empty block address 32 before being rewritten. For this reason, the value before the rewriting of the head empty block address 32 is temporarily stored in the reception buffer management unit 12.

【0056】かくして、空きペイロード格納ブロック
(1)31aは、空き格納ブロックチェーン15の先頭
から切り出され、VC1ペイロードデータチェーン14
aの最後尾に論理的に結合される。
Thus, the empty payload storage block (1) 31a is cut out from the beginning of the empty storage block chain 15, and the VC1 payload data chain 14
Logically connected to the end of a.

【0057】受信ペイロードバッファ13に、VC1の
ペイロードが全く格納されていない時、VC1ペイロー
ドデータチェーン14aに相当するものは存在せず、受
信バッファ管理部12は、受信セルのペイロードを格納
し、さらにVC1に対する新たなペイロード格納ブロッ
クチェーンを生成する。
When the payload of VC1 is not stored in the reception payload buffer 13 at all, there is no VC1 payload data chain 14a, and the reception buffer management unit 12 stores the payload of the reception cell. Generate a new payload storage block chain for VC1.

【0058】受信バッファ管理部12は、まず、上記の
ように、空き格納ブロックチェーン15から空きペイロ
ード格納ブロックを切り出し、ここに新たな受信セルの
ペイロードを格納する。
The reception buffer management unit 12 first extracts an empty payload storage block from the empty storage block chain 15 as described above, and stores the payload of a new reception cell here.

【0059】そして、このペイロードの格納された空き
ペイロード格納ブロックの格納アドレスを、セル受信・
分解制御部10に通知し、セル受信・分解制御部10
は、これを、先頭格納アドレス22、最終格納アドレス
23に書き込み、格納セル数24を1とする。
Then, the storage address of the empty payload storage block in which the payload is stored is stored in the cell
Notify the disassembly control unit 10 and notify the cell reception / disassembly control unit 10
Writes this in the start storage address 22 and the end storage address 23, and sets the storage cell number 24 to 1.

【0060】かくして、新たなペイロードが格納された
格納ブロックは、VC1のペイロード格納ブロックチェ
ーンの先頭格納ブロックとして認識され、新たなペイロ
ード格納ブロックチェーンが生成される。
Thus, the storage block storing the new payload is recognized as the first storage block of the VC1 payload storage block chain, and a new payload storage block chain is generated.

【0061】セル受信・分解部6は、セル受信・分解制
御部10がホストバスインターフェイス部8に対して発
行したDMA転送命令(以下、「DMA転送コマンド」
と称する)を、一時的に格納するDMAコマンドFIF
O16を備えている。
The cell reception / disassembly unit 6 is adapted to transmit a DMA transfer command (hereinafter, referred to as a “DMA transfer command”) issued by the cell reception / disassembly control unit 10 to the host bus interface unit 8.
DMA command FIF for temporarily storing
O16 is provided.

【0062】VC1に対し、受信ペイロードの格納が終
了すると、セル受信・分解制御部10は、ある条件に該
当する時、受信ペイロードバッファ13内に格納された
ペイロードをホストバスインターフェイス部8にDMA
転送するよう要求するため、DMAコマンドを発行す
る。
When the storage of the received payload with respect to the VC 1 is completed, the cell reception / disassembly control unit 10 transfers the payload stored in the reception payload buffer 13 to the host bus interface unit 8 when a certain condition is satisfied.
A DMA command is issued to request transfer.

【0063】このDMA転送コマンド発行のため、受信
パラメータ格納部11は、図4の、受信パラメータ格納
部11の内容構成を示した模式図のとおり、以下の情報
を格納している。 (1) ペイロードのDMA転送先を示すDMA転送先
アドレス51、(2) ペイロードのDMA転送先にお
ける連続アドレス空間の残り容量を示すDMA転送先バ
ッファ容量52、(3) 一度のDMA転送サイクルで
転送させるペイロード数を制限する閾値としての最大連
続転送セル数53。これらに加え、すでに上記した、
(4) 先頭格納アドレス22、(5) 最終格納アド
レス23、(6) 格納セル数24、も、受信パラメー
タ格納部11に格納されているが、これらの格納情報は
1つのVCに対して記したものであり、他の全VCに対
しても、これらと同様の情報が受信パラメータ格納部1
1内に格納されている。
In order to issue the DMA transfer command, the reception parameter storage unit 11 stores the following information as shown in the schematic diagram of FIG. 4 showing the content configuration of the reception parameter storage unit 11. (1) DMA transfer destination address 51 indicating the DMA transfer destination of the payload, (2) DMA transfer destination buffer capacity 52 indicating the remaining capacity of the continuous address space in the DMA transfer destination of the payload, (3) Transfer in one DMA transfer cycle The maximum number 53 of continuously transferred cells as a threshold for limiting the number of payloads to be transmitted. In addition to these,
(4) The start storage address 22, (5) The end storage address 23, (6) The storage cell number 24 is also stored in the reception parameter storage unit 11, and these storage information is recorded for one VC. The same information is stored in the reception parameter storage unit 1 for all other VCs.
1 is stored.

【0064】セル受信・分解制御部10が、DMA転送
コマンドの発行を行う条件、すなわち、本実施の形態に
おけるDMA転送コマンド発行基準とは、以下に示すよ
うなものである。 (1) 受信パケットの最終セルが受信された時、
(2) これ以上、セルを受信すると格納されたすべて
のペイロードを、1回のDMA転送サイクルで、ホスト
メモリ3に転送できない時、すなわち、格納セル数24
に1を加算したセル数分のペイロードのデータ容量が、
DMA転送先バッファ容量52を超える時、(3) ペ
イロードバッファ13内の格納ペイロードの格納セル数
24が、最大連続転送セル数53に達した時。以上の条
件のいずれか一つに当てはまるとき、発行されるDMA
転送コマンドは、図5の、DMA転送コマンドの内容構
成の模式図に示したような情報を含んでいる。
The conditions under which the cell reception / disassembly control unit 10 issues a DMA transfer command, that is, the DMA transfer command issuance criterion in the present embodiment are as follows. (1) When the last cell of the received packet is received,
(2) When all of the stored payloads cannot be transferred to the host memory 3 in one DMA transfer cycle when cells are received any more, that is, when the number of stored cells is 24
The data capacity of the payload for the number of cells obtained by adding 1 to
(3) When the number 24 of cells stored in the payload stored in the payload buffer 13 reaches the maximum number 53 of continuous transfer cells. When any one of the above conditions is met, the DMA
The transfer command includes information as shown in the schematic diagram of the content structure of the DMA transfer command in FIG.

【0065】セル受信・分解制御部10は、DMA転送
先アドレス51、先頭格納アドレス22、格納セル数2
4の各情報を、それぞれ、DMA転送先アドレス61、
先頭格納アドレス62、転送セル数63に格納して、D
MA転送コマンドとする。
The cell reception / disassembly control unit 10 includes a DMA transfer destination address 51, a head storage address 22, a storage cell number 2
4 are respectively transferred to the DMA transfer destination address 61,
Stored in the head storage address 62 and the number of transfer cells 63, D
This is an MA transfer command.

【0066】セル受信・分解制御部10は、DMA転送
コマンドを、DMAコマンドFIFO16に格納する。
ホストバスインターフェイス部8は、このDMA転送コ
マンドを、DMAコマンドFIFO16の先頭から読み
出し、先頭格納アドレス62で示されたペイロード格納
ブロックを先頭とするペイロード格納ブロックチェーン
から、転送セル数63で与えられるセル数分のペイロー
ドを読み出して、DMA転送先アドレス61で示される
ホストメモリ3内の領域に、1回のDMA転送サイクル
で、ペイロードデータを転送する。
The cell reception / disassembly control section 10 stores the DMA transfer command in the DMA command FIFO 16.
The host bus interface unit 8 reads the DMA transfer command from the beginning of the DMA command FIFO 16 and obtains a cell given by the number of transfer cells 63 from the payload storage block chain starting from the payload storage block indicated by the head storage address 62. The payload for several minutes is read, and the payload data is transferred to the area in the host memory 3 indicated by the DMA transfer destination address 61 in one DMA transfer cycle.

【0067】この時、ホストバスインターフェイス部8
は、先頭格納アドレス62で示されるペイロード格納ブ
ロックのリンクポインタから、次につながれたペイロー
ド格納ブロックのアドレスを知る。上記した一連の処理
を繰り返して、ペイロード格納ブロックチェーン内の全
ペイロード格納ブロックの格納アドレスを、DMA転送
に先立って確認しておき、ペイロードの読み出しの際に
使用する。
At this time, the host bus interface unit 8
Knows the address of the next connected payload storage block from the link pointer of the payload storage block indicated by the head storage address 62. By repeating the series of processes described above, the storage addresses of all the payload storage blocks in the payload storage block chain are confirmed prior to the DMA transfer, and are used when reading the payload.

【0068】ペイロードが読み出されたペイロード格納
ブロックチェーンは、空き格納ブロックチェーンに戻さ
れる。
The payload storage block chain from which the payload has been read is returned to the empty storage block chain.

【0069】今、図2に示すVC1ペイロードデータチ
ェーン14aが、空き格納ブロックチェーンに戻された
とする。この場合、VC1ペイロードデータチェーン1
4aは、空き格納ブロックチェーン15の最後尾に連結
されることで、空き格納ブロックチェーンに戻される。
Now, it is assumed that the VC1 payload data chain 14a shown in FIG. 2 has been returned to the empty storage block chain. In this case, VC1 payload data chain 1
4a is returned to the free storage block chain by being connected to the end of the free storage block chain 15.

【0070】このため、ホストバスインターフェイス部
8は、転送セル数63を受信バッファ管理部12に通知
する。また、VC1ペイロードデータチェーン14aの
最後尾であるVC1ペイロード格納ブロック(3)21
cの格納アドレスも、受信バッファ管理部12に通知す
る。
For this reason, the host bus interface unit 8 notifies the reception buffer management unit 12 of the number of transfer cells 63. Further, the VC1 payload storage block (3) 21 which is the last of the VC1 payload data chain 14a
The storage address of c is also notified to the reception buffer management unit 12.

【0071】受信バッファ管理部12は、最終空きブロ
ックアドレス33の指す、空きペイロード格納ブロック
(4)31dのリンクポインタを、先頭格納アドレス6
2で書き換え、最終空きブロックアドレス33を、VC
1ペイロード格納ブロック(3)21cの格納アドレス
でもって書き換える。そして、空きブロック数34を転
送セル数63だけ加算する。
The reception buffer management unit 12 sets the link pointer of the empty payload storage block (4) 31d indicated by the last empty block address 33 to the head storage address 6
2 and rewrite the last empty block address 33 with VC
Rewriting is performed using the storage address of one payload storage block (3) 21c. Then, the number of empty blocks 34 is added by the number of transfer cells 63.

【0072】空きブロック数34が0で、空き格納ブロ
ックチェーン15に相当するものが存在していない時
は、先頭格納アドレス62でもって先頭空きブロックア
ドレス32を、VC1ペイロード格納ブロック(3)2
1cの格納アドレスでもって最終空きブロックアドレス
33を、転送セル数63でもって空きブロック数34
を、それぞれ書き換え、VC1ペイロードデータチェー
ン14aを空き格納ブロックチェーンとして置き換え
る。
If the number of empty blocks 34 is 0 and there is no empty storage block chain 15, the first empty block address 32 is replaced with the first empty block address 32 with the first storage address 62, and the VC1 payload storage block (3) 2
The final empty block address 33 is stored using the storage address 1c, and the empty block number 34 is output using the transfer cell number 63.
Are respectively rewritten to replace the VC1 payload data chain 14a as an empty storage block chain.

【0073】図6は、本発明の第1の実施の形態に係る
ATMセル組立・分解装置の受信動作を示すフローチャ
ートである。以下、図1〜図5を参照しつつ、図6を用
いて、本発明の第1の実施の形態に係るATMセル組立
・分解装置の受信動作を説明する。
FIG. 6 is a flowchart showing a receiving operation of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention. Hereinafter, the reception operation of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention will be described with reference to FIGS.

【0074】まず、物理層デバイスインターフェイス部
9により受信された受信セルは、セル受信・分解制御部
10でチャンネル識別子VPI/VCIが確認され、当
該ATMセル組立・分解装置において受信すべきか否か
が判断される。
First, the channel identifier VPI / VCI of the received cell received by the physical layer device interface section 9 is confirmed by the cell reception / disassembly control section 10, and it is determined whether or not the ATM cell assembling / disassembling apparatus should receive the received cell. Is determined.

【0075】ここで、受信されたセルがVC1に属して
いて、VC1を受信すると判断されたものとして、以降
の動作を説明する。セル受信・分解制御部10は、この
際、チャンネル識別子VPI/VCIからVC1に係わ
る受信パラメータの受信パラメータ格納部内における格
納アドレスを割り出す。この目的のためには、VCと上
記パラメータ格納アドレスとの対応テーブルを持てばよ
い。
Here, the following operation will be described assuming that the received cell belongs to VC1 and it is determined that VC1 is received. At this time, the cell reception / disassembly control unit 10 determines the storage address of the reception parameter related to VC1 in the reception parameter storage unit from the channel identifier VPI / VCI. For this purpose, it is only necessary to have a correspondence table between VCs and the parameter storage addresses.

【0076】かくして得られたパラメータ格納アドレス
を基に、ステップS1では、セル受信・分解制御部10
が、以降の受信処理のために受信パラメータ格納部11
からVC1の受信パラメータを読み込み、セル受信・分
解制御部10の内部に一時格納する。
In step S1, based on the parameter storage address thus obtained, the cell reception / disassembly control unit 10
Is stored in the reception parameter storage unit 11 for subsequent reception processing.
, And temporarily stores the received parameters in the cell reception / disassembly control unit 10.

【0077】ステップS2では、セル受信・分解制御部
10が、53バイトの受信セルを5バイトのヘッダと4
8バイトのペイロードとに分解する。セル受信・分解制
御部10は、受信バッファ管理部12に対し、分解され
た受信セルのペイロードを、受信ペイロードバッファ1
3に一時的に格納するよう要求する。この時、格納セル
数24も通知しておく。
In step S2, the cell reception / disassembly control unit 10 stores the 53-byte received cell into a 5-byte header and a 4-byte header.
Decompose into an 8-byte payload. The cell reception / disassembly control unit 10 sends the payload of the disassembled reception cell to the reception buffer management unit 12.
3 to be temporarily stored. At this time, the storage cell number 24 is also notified.

【0078】ステップS3では、これを受けて、受信バ
ッファ管理部12が、空き格納ブロックチェーン15の
先頭空き格納ブロックにペイロードを格納し、ステップ
S4では、VC1に対するペイロード格納ブロックチェ
ーンを構成する。
In step S3, in response to this, the reception buffer management unit 12 stores the payload in the first empty storage block of the empty storage block chain 15, and in step S4, forms a payload storage block chain for VC1.

【0079】図7は、本発明の第1の実施の形態におけ
るペイロード格納動作(ステップS3およびステップS
4の動作)の詳細を示すフローチャートである。以下、
図7を用いて、本発明の第1の実施の形態に係るペイロ
ード格納動作を説明する。ここで、受信ペイロードバッ
ファ13は、図2のようにVC1のペイロードを3セル
分格納しているものとする。
FIG. 7 shows the payload storing operation (step S3 and step S3) in the first embodiment of the present invention.
4 is a flowchart showing details of (operation 4). Less than,
The payload storing operation according to the first embodiment of the present invention will be described with reference to FIG. Here, it is assumed that the reception payload buffer 13 stores the payload of VC1 for three cells as shown in FIG.

【0080】ステップS21では、受信バッファ管理部
12が、セル受信・分解制御部10よりペイロードを格
納する旨を通知されると、受信バッファ管理部12内に
格納されている先頭空きブロックアドレス32で示され
る空きペイロード格納ブロック(1)31aを新たなペ
イロードの格納領域として使用するため、先頭空きブロ
ックアドレス32を内部に一時記憶する。
In step S 21, when the reception buffer management unit 12 is notified from the cell reception / disassembly control unit 10 that the payload is to be stored, the reception buffer management unit 12 uses the head empty block address 32 stored in the reception buffer management unit 12. In order to use the indicated empty payload storage block (1) 31a as a storage area for a new payload, a head empty block address 32 is temporarily stored therein.

【0081】ステップS22では、空きペイロード格納
ブロック(1)31aのリンクポインタで、先頭空きブ
ロックアドレス32の内容を書き換える。かくして新た
なペイロードを格納する空き格納ブロックが、空き格納
ブロックチェーン15より切り出され、ここに、書き込
まれる。ステップS23では、受信バッファ管理部12
が、受信された新たなペイロードを格納する。
In step S22, the contents of the head empty block address 32 are rewritten by the link pointer of the empty payload storage block (1) 31a. Thus, a free storage block for storing a new payload is cut out from the free storage block chain 15 and written there. In step S23, the reception buffer management unit 12
Store the new payload received.

【0082】ステップS24では、受信バッファ管理部
12が、格納セル数24を読込み、ステップS25で
は、該格納セル数24により、受信ペイロードバッファ
13内のVC1のペイロード数を確認する。格納ペイロ
ード数が0でVC1に対し、VC1ペイロードデータチ
ェーン14aに相当するものが存在してないならば、新
たにペイロード格納ブロックチェーンを作成するためス
テップS26に進み、格納セル数が0以上でVC1に対
し、VC1ペイロードデータチェーン14aが存在して
いたならば、受信されたペイロードを格納している上記
の空きペイロード格納ブロック(1)31aを、VC1
ペイローデータチェーン14aの最後尾に連結するた
め、ステップS27に進む。VC1ペイローデータチェ
ーン14aが既に存在し、既に3セル分のペイロードが
格納されているような場合、処理はステップS25から
ステップS27に進む。この時、ステップS27では、
受信バッファ管理部12が、最終格納アドレス23を読
み込み、VC1ペイロード格納ブロック(3)21cの
リンクポインタの格納アドレスを算出する。
In step S24, the reception buffer management unit 12 reads the number of stored cells 24, and in step S25, checks the number of payloads of the VC1 in the reception payload buffer 13 based on the number of stored cells 24. If the number of stored payloads is 0 and there is no VC1 corresponding to the VC1 payload data chain 14a, the process proceeds to step S26 to create a new payload storage block chain. In contrast, if the VC1 payload data chain 14a exists, the above-mentioned empty payload storage block (1) 31a storing the received payload is stored in the VC1
The process proceeds to step S27 in order to link to the end of the payload data chain 14a. If the VC1 payload data chain 14a already exists and the payload of three cells has already been stored, the process proceeds from step S25 to step S27. At this time, in step S27,
The reception buffer management unit 12 reads the final storage address 23 and calculates the storage address of the link pointer of the VC1 payload storage block (3) 21c.

【0083】ステップS28では、上記ポインタを、空
きペイロード格納ブロック(1)31aの格納アドレス
で書き換える。
In step S28, the pointer is rewritten with the storage address of the empty payload storage block (1) 31a.

【0084】ステップS29では、空きペイロード格納
ブロック(1)31aのリンクポインタで、最終格納ア
ドレス23を書き換えるようセル受信・分解制御部10
に通知し、セル受信・分解制御部10はこれを実行す
る。さらに、受信バッファ管理部12は、ペイロードの
格納及びペイロード格納ブロックチェーンが構成された
ことを、セル受信・分解制御部10に通知する。
In step S29, the cell reception / disassembly control unit 10 rewrites the last storage address 23 with the link pointer of the empty payload storage block (1) 31a.
, And the cell reception / disassembly control unit 10 executes this. Further, the reception buffer management unit 12 notifies the cell reception / disassembly control unit 10 that the payload storage and the payload storage block chain have been configured.

【0085】ステップS30では、セル受信・分解制御
部10が、格納セル数24を1だけ加算して更新する。
かくして、受信ペイロードは、受信ペイロードバッファ
13内のVC1のペイロード格納ブロックチェーンに格
納される。
In step S30, the cell reception / disassembly control unit 10 updates the number of stored cells 24 by adding 1 to it.
Thus, the received payload is stored in the payload storage block chain of VC1 in the received payload buffer 13.

【0086】格納セル数24が0で、VC1ペイローデ
ータチェーン14aに相当するものが存在せず、ステッ
プS25からステップS26に処理が進んだ場合、ステ
ップS26では、受信バッファ管理部12が、先頭格納
アドレス22に空きペイロード格納ブロック(1)31
aの格納アドレスを書き込むよう、セル受信・分解制御
部10に通知し、セル受信・分解制御部10はこれを実
行する。
If the number of storage cells 24 is 0 and there is no VC1 payload data chain 14a, and the process proceeds from step S25 to step S26, in step S26 the reception buffer management unit 12 Empty payload storage block (1) 31 at address 22
The cell reception / disassembly control unit 10 is notified to write the storage address of a, and the cell reception / disassembly control unit 10 executes this.

【0087】この後、処理フローは、ステップS29、
ステップS30に進み、最終格納アドレス23と、格納
セル数24が更新される。かくして、受信ペイロード
は、受信ペイロードバッファ13に格納され、VC1の
ペイロード格納ブロックチェーンが新たに生成される。
Thereafter, the processing flow includes step S29,
Proceeding to step S30, the final storage address 23 and the number of storage cells 24 are updated. Thus, the received payload is stored in the received payload buffer 13, and a payload storage block chain of VC1 is newly generated.

【0088】以下では、再び図6を参照して、ステップ
S5以降の動作を説明する。ステップS5では、受信さ
れたセルのペイロードが受信ペイロードバッファ13に
格納されると、セル受信・分解制御部10が、当該セル
が受信パケットの最終セルか否かを判断し、最終セルで
あった場合、現在の受信ペイロードバッファ13内に格
納されているVC1に属するペイロードをまとめてDM
A転送するためのDMA転送コマンドを発行するため
に、処理をステップS8に進ませる。
Hereinafter, the operation after step S5 will be described with reference to FIG. 6 again. In step S5, when the payload of the received cell is stored in the reception payload buffer 13, the cell reception / disassembly control unit 10 determines whether the cell is the last cell of the received packet, and determines that the cell is the last cell. In this case, the payloads belonging to VC1 stored in the current received
In order to issue a DMA transfer command for A transfer, the process proceeds to step S8.

【0089】ステップS5で最終セルと判断されなかっ
た場合、ステップS6では、受信・分解制御部10が、
現在の受信ペイロードバッファ13内に格納されている
VC1に属するペイロードに加え、新たに受信セルを受
信し、そのペイロードを格納したとしても、すべてのペ
イロードをホストメモリ3内の連続アドレス領域に一回
のDMA転送サイクルで転送できるか否かを判断する。
これは格納セル数24に1加算したセル数分のペイロー
ドがホストメモリ3内で格納されるときに必要なバッフ
ァ容量を算出し、DMA転送先バッファ容量52と比較
することにより行う。ここで、ペイロード格納のための
容量が、DMA転送先バッファ容量52より大きい場
合、新たな受信セルのペイロードまで含めて一回のDM
A転送で転送することは不可能と判断して、現在の受信
ペイロードバッファ13内に格納されているVC1に属
するペイロードのみを、まとめて一回のDMA転送サイ
クルで転送させるため、処理をステップS8に進ませ
る。
If it is not determined in step S5 that the cell is the last cell, in step S6, the reception / disassembly control unit 10
Even if a new reception cell is received in addition to the payload belonging to VC1 stored in the current reception payload buffer 13 and the payload is stored, all the payloads are once stored in the continuous address area in the host memory 3. It is determined whether or not transfer can be performed in the DMA transfer cycle.
This is performed by calculating the buffer capacity required when the payload of the number of cells obtained by adding 1 to the storage cell number 24 is stored in the host memory 3 and comparing the calculated buffer capacity with the DMA transfer destination buffer capacity 52. Here, when the capacity for storing the payload is larger than the DMA transfer destination buffer capacity 52, one DM including the payload of the new reception cell is performed.
Since it is determined that transfer by A transfer is impossible, only the payload belonging to VC1 stored in the current received payload buffer 13 is transferred collectively in one DMA transfer cycle. Let go.

【0090】まだ、DMA転送先バッファ容量52に余
裕があり、新たな受信セルのペイロードまで含めてDM
A転送可能と判断した場合、ステップS7では、受信・
分解制御部10が、受信パラメータ格納部11内の最大
連続転送セル数53を確認し、格納セル数24と比較す
る。格納セル数24が、最大連続転送セル数53に達し
ていた場合、現在の受信ペイロードバッファ13内に格
納されているVC1に属するペイロードを、一回のDM
AサイクルでDMA転送させるため、処理をステップS
8に進ませる。そうでない場合、ステップS8を実行せ
ず、ペイロードの格納のみを行った状態でセル受信処理
を終了させる。
There is still room in the DMA transfer destination buffer capacity 52 and the DM
If it is determined that the A transfer is possible, in step S7,
The disassembly control unit 10 checks the maximum number 53 of continuous transfer cells in the reception parameter storage unit 11 and compares it with the number 24 of stored cells. When the storage cell number 24 has reached the maximum continuous transfer cell number 53, the payload belonging to VC1 currently stored in the reception payload buffer 13 is transferred to one DM
In order to perform the DMA transfer in the A cycle, the processing is performed in step S
Proceed to 8. Otherwise, step S8 is not executed, and the cell reception process is terminated with only the payload stored.

【0091】ステップS5、ステップS6、ステップS
7でDMA転送すると判断した場合には、受信・分解制
御部10は、受信パラメータ格納部11内のDMA転送
先アドレス51と、先頭格納アドレス22と、格納セル
数24とをそれぞれ、図5に示すDMA転送コマンドの
DMA転送先アドレス61と、先頭格納アドレス62
と、転送セル数63とに書き込み、DMA転送コマンド
を発行して、DMAコマンドFIFO16に格納する。
そして、格納セル数24を0に戻し、次回のDMA転送
コマンド発行の準備として、DMA転送先アドレス51
を更新する。この場合、ペイロードの格納と、DMA転
送コマンドの発行とを行った状態で受信処理が終了す
る。
Step S5, Step S6, Step S
7, the reception / disassembly control unit 10 stores the DMA transfer destination address 51, the head storage address 22, and the storage cell number 24 in the reception parameter storage unit 11 in FIG. DMA transfer destination address 61 and start storage address 62 of the indicated DMA transfer command
And the transfer cell number 63, issue a DMA transfer command, and store it in the DMA command FIFO 16.
Then, the storage cell number 24 is returned to 0, and the DMA transfer destination address 51 is prepared in preparation for the next DMA transfer command issuance.
To update. In this case, the receiving process ends with the payload stored and the DMA transfer command issued.

【0092】図8は、本発明の第1の実施の形態に係る
ATMセル組立・分解装置のDMA転送動作を示すフロ
ーチャートである。以下、図8を用いて、本発明の第1
の実施の形態に係るATMセル組立・分解装置のDMA
転送動作を詳細に説明する。
FIG. 8 is a flowchart showing a DMA transfer operation of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention. Hereinafter, the first embodiment of the present invention will be described with reference to FIG.
Of the ATM cell assembling / disassembling apparatus according to the embodiment of the present invention
The transfer operation will be described in detail.

【0093】ステップS41では、ホストバスインター
フェイス部8が、DMAコマンドFIFO16にDMA
転送コマンドが格納されているとき、これを1つ読み出
す。そして、ステップS42では、DMA転送コマンド
内の先頭格納アドレス62と、転送セル数63により、
DMA転送すべきペイロードが格納された各ペイロード
格納ブロックの受信ペイロードバッファ13における格
納アドレスを読み出す。例えば、先頭格納アドレス62
が、図2に示すVC1ペイロードデータチェーン14a
のVC1ペイロード格納ブロック(1)21aを指し示
していたとする。この場合、まず、VC1ペイロード格
納ブロック(1)21aのリンクポインタを読み出し、
このリンクポインタから、VC1ペイロード格納ブロッ
ク(2)21bの格納アドレスを得る。以降、同様にし
てリンクポインタを辿りながら、後続のペイロード格納
ブロックのアドレスを取得してゆき、転送セル数63で
示される数のペイロード格納ブロックのアドレスをすべ
て取得して、ホストバスインターフェイス部8内に一時
記憶する。
In step S41, the host bus interface unit 8 sets the DMA command FIFO 16
When a transfer command is stored, one is read. Then, in step S42, based on the head storage address 62 in the DMA transfer command and the number of transfer cells 63,
The storage address of each payload storage block in which the payload to be DMA-transferred is stored in the reception payload buffer 13 is read. For example, the head storage address 62
Is the VC1 payload data chain 14a shown in FIG.
Of the VC1 payload storage block (1) 21a. In this case, first, the link pointer of the VC1 payload storage block (1) 21a is read, and
From this link pointer, the storage address of the VC1 payload storage block (2) 21b is obtained. Thereafter, while following the link pointer in the same manner, the addresses of the subsequent payload storage blocks are acquired, and all addresses of the payload storage blocks indicated by the transfer cell number 63 are acquired. To be stored temporarily.

【0094】上記ステップS42の処理が終了すると、
ステップS43では、ホストバスインターフェイス部8
が、DMA転送コマンドのDMA転送先アドレス61で
示されるホストメモリ3内の領域へのDMA転送を開始
する。DMA転送されるペイロードは、ステップS42
で得た格納アドレスによって指し示されるペイロード格
納ブロックより順次読み出され、複数セル分のペイロー
ドが1回のDMA転送サイクルで、すべてホストメモリ
3へ転送される。
When the processing in step S42 is completed,
In step S43, the host bus interface unit 8
Starts the DMA transfer to the area in the host memory 3 indicated by the DMA transfer destination address 61 of the DMA transfer command. The payload to be DMA-transferred is determined in step S42.
Are sequentially read from the payload storage block pointed to by the storage address obtained in step (1), and the payloads of a plurality of cells are all transferred to the host memory 3 in one DMA transfer cycle.

【0095】DMA転送が終了すると、ステップS44
では、ペイロードが読み出されたペイロード格納ブロッ
クが、空きペイロード格納ブロックとして、空きペイロ
ード格納ブロックチェーン15に返却される。まず、ホ
ストバスインターフェイス部8は、先頭格納アドレス6
2と、転送セル数63と、最後にペイロードが読み出さ
れたVC1ペイロード格納ブロック(3)21cのアド
レスとを、受信バッファ管理部12に通知する。
When the DMA transfer is completed, step S44
In, the payload storage block from which the payload has been read is returned to the empty payload storage block chain 15 as an empty payload storage block. First, the host bus interface unit 8 stores the start storage address 6
2, the transfer cell number 63, and the address of the VC1 payload storage block (3) 21c from which the payload was last read are notified to the reception buffer management unit 12.

【0096】これを受けて、ステップS45では、受信
バッファ管理部12が、最終空きブロックアドレス33
で示された空きペイロード格納ブロック(4)31dの
リンクポインタを先頭格納アドレス62でもって書き換
え、VC1ペイロードデータチェーン14aを、空きペ
イロード格納ブロックチェーン15に連結する。この
時、空きブロック数34が0で、空きペイロード格納ブ
ロックチェーン15に相当するものが存在していなけれ
ば、先頭空きブロックアドレス32も、先頭格納アドレ
ス62でもって書き換える。
In response to this, in step S45, the reception buffer management unit 12 sets the last empty block address 33
The link pointer of the empty payload storage block (4) 31d indicated by (3) is rewritten with the head storage address 62, and the VC1 payload data chain 14a is linked to the empty payload storage block chain 15. At this time, if the number of empty blocks 34 is 0 and there is no equivalent to the empty payload storage block chain 15, the head empty block address 32 is also rewritten with the head storage address 62.

【0097】そして、ステップS46では、受信バッフ
ァ管理部12が、最終空きブロックアドレス33をVC
1ペイロード格納ブロック(3)21cのアドレスでも
って書き換える。
Then, in step S46, the reception buffer management unit 12 sets the last free block address 33 to VC
Rewriting is performed with the address of one payload storage block (3) 21c.

【0098】さらに、ステップS47では、受信バッフ
ァ管理部12が、空きブロック数34の値を、転送セル
数63だけ加算して書き換える。以上の処理を通して、
空きペイロード格納ブロックは、空きペイロード格納ブ
ロックチェーン15に返却され、DMA転送の処理が終
了し、ホストバスインターフェイス部8は、次のDMA
転送コマンドで要求されるDMA転送処理のステップに
移る。
Further, in step S47, the reception buffer management unit 12 rewrites the value of the number of empty blocks 34 by adding the number of transfer cells 63. Through the above processing,
The empty payload storage block is returned to the empty payload storage block chain 15, and the DMA transfer process ends, and the host bus interface unit 8 returns to the next DMA.
The process proceeds to the step of the DMA transfer process requested by the transfer command.

【0099】以上に説明してきた本発明の第1の実施の
形態に係るATMセル組立・分解装置の受信動作、DM
A転送動作を纏めると、受信ペイロードをVC毎に格納
し、(1) ステップS5で、当該VCの最終セルが受
信された時、(2) ステップS6で、当該VCの次の
受信セルのペイロードまで含めると1回のDMA転送サ
イクルですべてホストメモリ3に転送できない時、
(3) ステップS7で、ペイロードバッファ13内の
格納ペイロード格納セル数24が、最大連続転送セル数
53に達した時、のいずれかの場合には、DMA転送コ
マンドを発行し、このDMA転送コマンドに従い、これ
が発行された時点で、ペイロードバッファ13内に格納
されていた、当該VCのペイロードを、1回のDMA転
送サイクルでホストメモリ3に転送する。
The receiving operation of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention,
When the A transfer operation is summarized, the received payload is stored for each VC. (1) When the last cell of the VC is received in step S5, (2) In step S6, the payload of the next received cell of the VC is received. If all data cannot be transferred to the host memory 3 in one DMA transfer cycle,
(3) In step S7, when the number 24 of payload cells stored in the payload buffer 13 reaches the maximum number 53 of continuous transfer cells, a DMA transfer command is issued, and the DMA transfer command is issued. When this is issued, the payload of the VC stored in the payload buffer 13 is transferred to the host memory 3 in one DMA transfer cycle.

【0100】なお、具体的に、受信ペイロードバッファ
13内に格納されている5セル分のペイロードに対しD
MA転送要求が発生し、ホストバス4にPCIバスイン
ターフェイスを用いてDMA転送させた場合で説明する
と、1回のDMA転送サイクルで、1セル分のペイロー
ドしか転送できない従来例において、5セル分のペイロ
ードをDMA転送にするために必要な時間は、 (オーバーヘッド+データフェイズ)×5=(3+1
2)×5=75 となり、全部で75クロック分の時間が必要であるのに
対し、本発明の第1の実施の形態においては、複数セル
分のペイロードを1回のDMAサイクルで転送できるた
め、5セル分のペイロードをDMA転送にするために必
要な時間は、 (オーバーヘッド+データフェイズ)×1=(3+6
0)×1=63 となり、4回分のオーバーヘッドを削減して、63クロ
ック分の時間でDMA転送でき、従来例に対し、ホスト
バス上の転送効率が向上していることが分かる。
Note that, specifically, the payload of 5 cells stored in the reception payload buffer 13 is
In the case where an MA transfer request is generated and DMA transfer is performed on the host bus 4 using the PCI bus interface, in the conventional example in which only one cell payload can be transferred in one DMA transfer cycle, five cells are transferred. The time required to make the payload a DMA transfer is (overhead + data phase) × 5 = (3 + 1)
2) × 5 = 75, and a time of 75 clocks in total is required. On the other hand, in the first embodiment of the present invention, a payload of a plurality of cells can be transferred in one DMA cycle. The time required to transfer a 5-cell payload to DMA transfer is (overhead + data phase) × 1 = (3 + 6)
0) × 1 = 63, which means that the DMA transfer can be performed in a time equivalent to 63 clocks by reducing the overhead for four times, and it can be seen that the transfer efficiency on the host bus is improved as compared with the conventional example.

【0101】さらに、ATM通信のサービスクラスの一
種であるCBRサービスにより通信を行っているVCな
どに対し、1セル受信したならば、すぐさまDMA転送
を行いたいなどの要求がある場合には、当該VCの最大
連続転送セル数53を1とし、その他のVCに対して
は、最大連続転送セル数53を5とするなどして、CB
Rサービスに対しては1セルごとにDMA転送すること
にするが、その他については5セル分が格納されるまで
待って、転送効率の高いDMA転送方式を使用すること
にする、などの使い分けも可能である。
Further, if there is a request to perform a DMA transfer immediately after receiving one cell from a VC or the like that is communicating with the CBR service, which is a kind of ATM communication service class, The maximum continuous transfer cell number 53 of the VC is set to 1 and the maximum continuous transfer cell number 53 is set to 5 for other VCs.
For the R service, DMA transfer is performed for each cell, but for the other services, it is necessary to wait until five cells are stored and use the DMA transfer method with high transfer efficiency. It is possible.

【0102】(第2の実施の形態)図9は、本発明の第
2の実施の形態に係るATMセル組立・分解装置の構成
を示すためのブロック図である。本実施の形態に係るA
TMセル組立・分解装置では、図1に示した本発明の第
1の実施の形態に係るATMセル組立・分解装置の構成
に加えて、DMA転送要求数カウンタ71を構成要素と
して追加している。DMA転送要求数カウンタ71は、
現在のDMAコマンドFIFO16内に格納されている
DMA転送コマンドが、全体で何セル分のDMAを要求
しているかを格納する。
(Second Embodiment) FIG. 9 is a block diagram showing a configuration of an ATM cell assembling / disassembling apparatus according to a second embodiment of the present invention. A according to the present embodiment
In the TM cell assembling / disassembling apparatus, in addition to the configuration of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention shown in FIG. 1, a DMA transfer request number counter 71 is added as a constituent element. . The DMA transfer request number counter 71
The number of cells for which the DMA transfer command stored in the current DMA command FIFO 16 requests DMA is stored.

【0103】DMA転送要求数カウンタ71は、例え
ば、DMAコマンドFIFO16にDMA転送コマンド
が格納された時に、格納されたDMA転送コマンドの転
送セル数63のセル数だけカウントアップされ、ホスト
バスインターフェイス8が1セル分ペイロードをDMA
転送した時に、1だけカウントダウンされるような構造
にすることができる。
For example, when a DMA transfer command is stored in the DMA command FIFO 16, the DMA transfer request number counter 71 counts up by the number of transfer cells 63 of the stored DMA transfer command. DMA for 1 cell payload
It is possible to adopt a structure in which the countdown is performed by one when the data is transferred.

【0104】以下、本発明の第1の実施の形態に係るA
TMセル組立・分解装置を検討することにより、本発明
の第2の実施の形態に係るATMセル組立・分解装置が
考案されるに至った経緯を説明する。
Hereinafter, A according to the first embodiment of the present invention will be described.
A description will be given of how the ATM cell assembling / disassembling apparatus according to the second embodiment of the present invention was devised by examining the TM cell assembling / disassembling apparatus.

【0105】本発明の第1の実施の形態に係るATMセ
ル組立・分解装置において、ホストバス4が空いてい
て、DMA転送要求があった時には、いつでもDMA転
送できて、なおかつ、1セル受信する間に1セル分のペ
イロードをDMA転送できるような条件下で、受信ペイ
ロードバッファ13内にまったくペイロードが格納され
ておらず、なおかつ、10セル分受信しなければDMA
転送が開始されないといった極端な条件下では、ある1
つのVCに対し受信を開始してから、10セル分のペイ
ロードのDMA転送を終了するまでにかかる時間は、2
0セル受信するのに必要な時間となる。
In the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention, when the host bus 4 is empty and a DMA transfer request is issued, DMA transfer can be performed at any time and one cell is received. Under the condition that the payload of one cell can be DMA-transferred in the interim, no payload is stored in the reception payload buffer 13 and if the reception of 10 cells is not received, the DMA is not transmitted.
Under extreme conditions, such as when the transfer is not started, some 1
The time required from the start of reception for one VC to the end of the DMA transfer of the payload of 10 cells is 2
This is the time required to receive 0 cells.

【0106】一方、1セル受信して、1セル分のペイロ
ードを直ちに出す従来例の場合は、DMA転送効率の悪
さを考慮して、仮に1セル分のペイロードをDMA転送
するのに上記の1.5倍かかるとしても、受信を開始し
てから16セル受信するのに必要なだけの時間があれば
DMA転送できてしまう。
On the other hand, in the case of the conventional example in which one cell is received and the payload for one cell is immediately output, the above-mentioned one is used to temporarily transfer the payload for one cell in consideration of the poor DMA transfer efficiency. Even if it takes .5 times, the DMA transfer can be performed if there is enough time to receive 16 cells after the start of reception.

【0107】このようにホストバス4が空いていて、な
おかつペイロードが本発明の第1の実施の形態に係るA
TMセル組立・分解装置において、DMA転送するに必
要な数に至らないような条件が発生した場合、本発明の
第1の実施の形態に係るATMセル組立・分解装置は、
従来例よりも一時的にスループットが低下する可能性が
生じる。
As described above, when the host bus 4 is vacant and the payload is the A according to the first embodiment of the present invention.
When the TM cell assembling / disassembling apparatus encounters a condition that does not reach the number necessary for the DMA transfer, the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention includes:
There is a possibility that the throughput temporarily decreases as compared with the conventional example.

【0108】ただし、本発明の第1の実施の形態に係る
ATMセル組立・分解装置おいても、ホストバス4が混
んでいて、DMA転送処理がセル受信に追いつかず、常
にDMAコマンドFIFO16中にDMA転送コマンド
があるような場合には、先に格納されたペイロードに対
するDMA転送処理を行っている間に、セルを受信し、
DMA転送コマンドを発行できるだけのペイロードを受
信ペイロードバッファ13内に格納することができるた
め、DMAコマンドFIFO16内のコマンドを絶やす
ことなく補充でき、一瞬、ホストバス4が空いたにも関
わらずDMA転送ができないといった事態にはならず、
上記のような一時的なスループットの低下は生じない。
そればかりか、複数セルを1回のDMAサイクルで転送
することにより、DMA転送効率が従来例より向上する
ため、従来例よりもスループットは改善される。
However, even in the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention, the host bus 4 is crowded, and the DMA transfer processing cannot catch up with the cell reception. In the case where there is a DMA transfer command, the cell is received during the DMA transfer processing for the payload stored earlier,
Since the payload enough to issue the DMA transfer command can be stored in the reception payload buffer 13, the command in the DMA command FIFO 16 can be replenished without interruption, and the DMA transfer can be instantaneously performed even when the host bus 4 is vacant. It does n’t happen
Such a temporary decrease in throughput does not occur.
In addition, by transferring a plurality of cells in one DMA cycle, the DMA transfer efficiency is improved as compared with the conventional example, so that the throughput is improved as compared with the conventional example.

【0109】本発明の第1の実施の形態に係るATMセ
ル組立・分解装置において、一時的なスループットの低
下を招かないようにするためには、DMAコマンドFI
FO16内に或る程度のDMA転送コマンドを常に格納
しているようにすればよい。本発明の第2の実施の形態
に係るATMセル組立・分解装置は、上記のような第1
の実施の形態に係るATMセル組立・分解装置の問題点
に着目して、これを改善すべく考案されたものである。
In the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention, in order to prevent a temporary decrease in throughput, the DMA command FI is used.
It is sufficient that a certain amount of DMA transfer command is always stored in the FO 16. The ATM cell assembling / disassembling apparatus according to the second embodiment of the present invention includes the first cell as described above.
Focusing on the problem of the ATM cell assembling / disassembling apparatus according to the embodiment, the present invention has been devised to improve this.

【0110】図10は、本発明の第2の実施の形態に係
るATMセル組立・分解装置の受信パラメータ格納部1
1の内部構成を示す模式図である。本発明の第2の実施
の形態に係るATMセル組立・分解装置の受信パラメー
タ格納部11は、図4に示した本発明の第1の実施の形
態に係るATMセル組立・分解装置の受信パラメータ格
納部11の内部構成に加え、強制転送閾値を格納する強
制転送閾値75のフィールドを設けている。本実施の形
態に係る受信パラメータ格納部11の内部構成要素も
又、1つのVCに対して記したものであり、他の全VC
に対しても、該構成と同様の各フィールドに、それぞれ
同様の情報が格納される。セル受信・分解制御部10
は、上記のDMA転送要求数カウンタ71と強制転送閾
値75とを比較し、DMA転送要求数カウンタ71で示
される、現在のDMA転送待ちセル数が、強制転送閾値
75より少なければ、第一の実施の形態におけるDMA
転送コマンド発行の判断基準に満たなくても、強制的に
DMA転送コマンドを発行する。
FIG. 10 shows a reception parameter storage unit 1 of the ATM cell assembling / disassembling apparatus according to the second embodiment of the present invention.
FIG. 2 is a schematic diagram showing an internal configuration of the first embodiment. The reception parameter storage unit 11 of the ATM cell assembling / disassembling apparatus according to the second embodiment of the present invention stores the reception parameter of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention shown in FIG. In addition to the internal configuration of the storage unit 11, a field of a forced transfer threshold 75 for storing a forced transfer threshold is provided. The internal components of the reception parameter storage unit 11 according to the present embodiment are also described for one VC, and are used for all other VCs.
, The same information is stored in each field similar to the configuration. Cell reception / disassembly control unit 10
Compares the above-mentioned DMA transfer request number counter 71 with the forced transfer threshold value 75, and if the current DMA transfer waiting cell number indicated by the DMA transfer request number counter 71 is smaller than the forced transfer threshold value 75, the first DMA in Embodiment
The DMA transfer command is forcibly issued even if the transfer command is not satisfied.

【0111】図11は、本発明の第2の実施の形態に係
るATMセル組立・分解装置の受信動作を示すためのフ
ローチャートである。本発明の第2の実施の形態に係る
ATMセル組立・分解装置の受信動作では、図6に示し
た本発明の第1の実施の形態に係るATMセル組立・分
解装置の受信動作に比べて、DMA転送要求が少ない時
に、受信ペイロードバッファ13で溜まっているペイロ
ードを強制的にDMA転送させるための動作が加わって
いる点が相違している。
FIG. 11 is a flowchart showing a receiving operation of the ATM cell assembling / disassembling apparatus according to the second embodiment of the present invention. The receiving operation of the ATM cell assembling / disassembling apparatus according to the second embodiment of the present invention is different from the receiving operation of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention shown in FIG. The difference is that an operation for forcibly performing the DMA transfer of the payload accumulated in the reception payload buffer 13 when the DMA transfer request is small is added.

【0112】ステップS4までは、本発明の第1の実施
の形態に係るATMセル組立・分解装置の受信動作と同
様である。ステップS4でペイロードチェーン構成が終
了した後、セル受信・分解制御部10は、DMA転送要
求数カウンタ71と強制転送閾値75とを比較し、DM
A転送要求数カウンタ71で示される、現在のDMA転
送待ちセル数が、強制転送閾値75より少なければ、本
発明の第1の実施の形態に係るATMセル組立・分解装
置の受信動作におけるDMA転送コマンド発行の判断基
準に満たなくても、強制的にDMA転送コマンドを発行
するため、ステップS8でのDMA転送コマンド発行へ
と処理を進めることができる。
Up to step S4, the receiving operation is the same as that of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention. After the completion of the payload chain configuration in step S4, the cell reception / disassembly control section 10 compares the DMA transfer request number counter 71 with the forced transfer threshold 75, and
If the current number of cells waiting for DMA transfer indicated by the A transfer request number counter 71 is smaller than the forced transfer threshold value 75, the DMA transfer in the receiving operation of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention. Since the DMA transfer command is forcibly issued even if the criterion for issuing the command is not satisfied, the process can proceed to the DMA transfer command issuance in step S8.

【0113】そうでない場合は、ステップS5の最終セ
ル判断処理に進み、以降は、本発明の第1の実施の形態
に係るATMセル組立・分解装置の受信動作と同様とな
る。本実施の形態では、ペイロードがあまり格納されて
おらず、DMAコマンドFIFO16へのDMA転送コ
マンドが少ない時には、極端な例では、1セル分のペイ
ロードを格納する度に、DMA転送コマンドを発行する
ことが可能となり、従来例と同程度のスループットを確
保できる。
If not, the flow advances to the final cell determination processing in step S5, and thereafter, the operation is the same as that of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention. In the present embodiment, when the payload is not stored much and the number of DMA transfer commands to the DMA command FIFO 16 is small, in an extreme case, the DMA transfer command is issued every time the payload of one cell is stored. And the same throughput as the conventional example can be secured.

【0114】また、受信VC数が増えてきたり、ホスト
バス4が混んできて、DMA転送コマンドを発行しても
直ぐにはDMA転送が開始されないような場合には、1
つのVCに対してペイロードを複数格納することによ
り、第1の実施の形態における効果のように、1回のD
MAサイクルで複数セル分のペイロードをDMA転送す
ることもできるため、効率よくDMA転送ができ、この
場合でも、従来例よりもスループットを改善することが
可能となる。
If the number of received VCs has increased or the host bus 4 has become crowded, so that DMA transfer is not immediately started even if a DMA transfer command is issued, 1
By storing a plurality of payloads for one VC, as in the first embodiment, one D
Since the payload of a plurality of cells can be DMA-transferred in the MA cycle, the DMA transfer can be performed efficiently. Even in this case, the throughput can be improved as compared with the conventional example.

【0115】さらに、本実施の形態においては、ホスト
バス4がすぐに使用でき、DMA転送すべきペイロード
が少ないという条件の下では、従来例と同様に、1回の
DMA転送サイクルで1セル分のペイロードがDMA転
送され、ホストバス4が混んできて、DMAできずにい
るペイロードが溜まってくると、第1の実施の形態のよ
うに転送効率の高い転送、すなわち1回のDMA転送サ
イクルで複数セル分のペイロードをDMA転送するとい
う使い方ができ、ホストバスの転送効率を向上させる第
1の実施の形態での効果に加え、従来例に比べて、全V
CのペイロードをDMA転送するために必要な時間も削
減できるため、ATMセル組立・分解装置全体でのスル
ープットを向上させるという効果も有する。
Further, in the present embodiment, under the condition that the host bus 4 can be used immediately and the amount of payload to be DMA-transferred is small, one DMA transfer cycle corresponds to one cell as in the conventional example. Is transferred by DMA and the host bus 4 is crowded, and when the payload that cannot be DMA is accumulated, the transfer with high transfer efficiency as in the first embodiment, that is, in one DMA transfer cycle It is possible to use the method of transferring the payload of a plurality of cells by DMA, and to improve the transfer efficiency of the host bus in the first embodiment.
Since the time required for DMA transfer of the C payload can also be reduced, there is an effect that the throughput of the entire ATM cell assembling / disassembling apparatus is improved.

【0116】なお、本実施の形態においては、ABRサ
ービスなど、リアルタイム性がそれほど要求されないよ
うなVCに対しては強制転送閾値75を例えば1にする
など小さく設定し、DMA転送するペイロードが殆ど無
い時にのみ、強制転送閾値75を考慮したDMA転送コ
マンド発行を行い、その他の場合については強制転送閾
値75を1より大きい値にして、優先的に強制転送閾値
75を考慮したDMA転送コマンド発行を行うなどの使
い分けをすることも可能である。
In this embodiment, for a VC such as an ABR service that does not require much real-time performance, the forced transfer threshold value 75 is set to a small value, for example, 1, and there is almost no payload to be DMA-transferred. Only at the time, the DMA transfer command is issued in consideration of the forced transfer threshold value 75, and in other cases, the forced transfer threshold value 75 is set to a value larger than 1, and the DMA transfer command is issued with priority given the forced transfer threshold value 75. It is also possible to use them properly.

【0117】[0117]

【発明の効果】以上に説明したとおり、本発明に係るA
TMセル組立・分解装置に依れば、複数セル分のペイロ
ードを1回のDMAサイクルでホストメモリに転送する
ことを可能にしているので、これにより、DMA転送に
関わるオーバーヘッドを削減できるため、ホストバス上
の転送効率が向上するという効果が生じる。また、ホス
トバスがすぐに使用でき、DMA転送すべきペイロード
が少ないという条件の下では、従来例と同様に、1回の
DMA転送サイクルで1セル分のペイロードがDMA転
送され、ホストバスが混んできて、DMAできずにいる
ペイロードが溜まってくると、転送効率の高い転送、す
なわち1回のDMA転送サイクルで複数セル分のペイロ
ードをDMA転送するという使い方ができ、ホストバス
の転送効率を向上させる上記効果に加え、従来例に比べ
て、全VCのペイロードをDMA転送するために必要な
時間も削減できるため、ATMセル組立・分解装置全体
でのスループットを向上させるという効果も有する。
As described above, according to the present invention, A
According to the TM cell assembling / disassembling apparatus, since it is possible to transfer the payload of a plurality of cells to the host memory in one DMA cycle, the overhead related to the DMA transfer can be reduced. There is an effect that transfer efficiency on the bus is improved. Also, under the condition that the host bus can be used immediately and the amount of payload to be DMA-transferred is small, as in the conventional example, the payload of one cell is DMA-transferred in one DMA transfer cycle and the host bus is congested. When the amount of payload that cannot be DMA is accumulated, transfer with high transfer efficiency, that is, DMA transfer of the payload of a plurality of cells in one DMA transfer cycle can be used, thereby improving the transfer efficiency of the host bus. In addition to the above effect, the time required for DMA transfer of all VC payloads can be reduced as compared with the conventional example, so that there is an effect that the throughput of the entire ATM cell assembling / disassembling apparatus is improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態に係るATMセル組
立・分解装置の構造を示すためのブロック図である。
FIG. 1 is a block diagram showing a structure of an ATM cell assembling / disassembling apparatus according to a first embodiment of the present invention.

【図2】本発明の第1の実施の形態に係る受信ペイロー
ドバッファ13の構成を示すブロック図である。
FIG. 2 is a block diagram illustrating a configuration of a reception payload buffer 13 according to the first embodiment of the present invention.

【図3】受信ペイロードバッファ13内に設置されるペ
イロード格納ブロックの構成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of a payload storage block installed in a reception payload buffer 13;

【図4】受信パラメータ格納部11の内容構成を示した
模式図である。
FIG. 4 is a schematic diagram showing a content configuration of a reception parameter storage unit 11;

【図5】DMA転送コマンドの内容構成の模式図であ
る。
FIG. 5 is a schematic diagram of a content configuration of a DMA transfer command.

【図6】本発明の第1の実施の形態に係るATMセル組
立・分解装置の受信動作を示すフローチャートである。
FIG. 6 is a flowchart showing a receiving operation of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention.

【図7】本発明の第1の実施の形態におけるペイロード
格納動作(ステップS3およびステップS4の動作)の
詳細を示すフローチャートである。
FIG. 7 is a flowchart showing details of a payload storing operation (operations in steps S3 and S4) according to the first embodiment of the present invention.

【図8】本発明の第1の実施の形態に係るATMセル組
立・分解装置のDMA転送動作を示すフローチャートで
ある。
FIG. 8 is a flowchart showing a DMA transfer operation of the ATM cell assembling / disassembling apparatus according to the first embodiment of the present invention.

【図9】本発明の第2の実施の形態に係るATMセル組
立・分解装置の構成を示すためのブロック図である。
FIG. 9 is a block diagram showing a configuration of an ATM cell assembling / disassembling apparatus according to a second embodiment of the present invention.

【図10】本発明の第2の実施の形態に係るATMセル
組立・分解装置の受信パラメータ格納部11の内部構成
を示す模式図である。
FIG. 10 is a schematic diagram showing an internal configuration of a reception parameter storage unit 11 of the ATM cell assembling / disassembling apparatus according to the second embodiment of the present invention.

【図11】本発明の第2の実施の形態に係るATMセル
組立・分解装置の受信動作を示すためのフローチャート
である。
FIG. 11 is a flowchart showing a receiving operation of the ATM cell assembling / disassembling apparatus according to the second embodiment of the present invention.

【図12】従来例のATMセル組立・分解装置の構造を
示すためのブロック図である。
FIG. 12 is a block diagram showing the structure of a conventional ATM cell assembling / disassembling apparatus.

【図13】典型的なPCIバスインターフェイスの32
ビットバスのメモリ・ライト動作を示すタイミング図で
ある。
FIG. 13 illustrates a typical PCI bus interface 32;
FIG. 5 is a timing chart showing a memory write operation of a bit bus.

【符号の説明】[Explanation of symbols]

1 ATMセル組立・分解装置 2 ホストCPU 3 ホストメモリ 4 ホストバス 5 物理層デバイス 6 セル受信・分解部 7 セル組立・送信部 8 ホストバスインターフェイス部 9 物理層デバイスインターフェイス部 10 セル受信・分解制御部 11 受信パラメータ格納部 12 受信バッファ管理部 13 受信ペイロードバッファ 14a VC1ペイロードバッファ 14z VCnペイロードバッファ 15 空き格納ブロックチェーン 71 DMA転送要求数カウンタ Reference Signs List 1 ATM cell assembling / disassembling device 2 Host CPU 3 Host memory 4 Host bus 5 Physical layer device 6 Cell receiving / disassembling unit 7 Cell assembling / transmitting unit 8 Host bus interface unit 9 Physical layer device interface unit 10 Cell receiving / disassembling control unit 11 reception parameter storage unit 12 reception buffer management unit 13 reception payload buffer 14a VC1 payload buffer 14z VCn payload buffer 15 empty storage block chain 71 DMA transfer request number counter

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】ATM網に接続されたATM端末に配置さ
れ、物理層デバイスインターフェイス部と、セル受信・
分解部と、ホストバスインターフェイス部と、セル組立
・送信部を備えたATMセル組立・分解装置において、 前記セル受信・分解部は、前記物理層デバイスインター
フェイス部を介して受信したセルをヘッダとペイロード
に分解し、前記分解により得られたペイロードを仮想チ
ャンネル毎に第1の先入れ先出しメモリに蓄積するペイ
ロード蓄積手段と、 所定の転送コマンド発行条件が満たされた時に、前記蓄
積されたペイロードをダイレクトメモリアクセス転送さ
せるためのダイレクトメモリアクセスコマンドを作成す
るダイレクトメモリアクセスコマンド作成手段と、前記
ダイレクトメモリアクセスコマンドを第2の先入れ先出
しメモリに蓄積するダイレクトメモリアクセスコマンド
蓄積手段を有し、 前記ホストバスインターフェイス部
は、前記第2の先入れ先出しメモリに蓄積されたダイレ
クトメモリアクセスコマンドを順次読み出し、当該読み
出されたダイレクトメモリアクセスコマンドに従って前
記第1の先入れ先出しメモリ内に蓄積されたペイロード
を、前記バスホストインタフェース部に接続されたバス
を介して外部メモリにダイレクトメモリアクセス転送す
ること、 を特徴とするATMセル組立・分解装置。
An ATM terminal connected to an ATM network, comprising: a physical layer device interface unit;
In an ATM cell assembling / disassembling apparatus including a disassembling unit, a host bus interface unit, and a cell assembling / transmitting unit, the cell receiving / disassembling unit converts a cell received via the physical layer device interface unit into a header and a payload. Payload storing means for storing the payload obtained by the decomposition in a first-in first-out memory for each virtual channel, and direct memory access to the stored payload when a predetermined transfer command issuing condition is satisfied. A direct memory access command creating means for creating a direct memory access command for transfer, and a direct memory access command storage means for storing the direct memory access command in a second first-in first-out memory; Sequentially reads the direct memory access commands stored in the second first-in first-out memory, and transfers the payload stored in the first first-in-first-out memory to the bus host interface unit in accordance with the read direct memory access commands. ATM cell assembling / disassembling apparatus, wherein direct memory access transfer to an external memory is performed via a connected bus.
【請求項2】前記の所定の転送コマンド発行条件とし
て、 (1) 受信パケットの最終セルが受信された時、 (2) 受信セル数に1を加算したセル数分のペイロー
ドのデータ容量が、所定のダイレクトメモリアクセス転
送先バッファ容量を超える時、 (3) 前記第1の先入れ先出しメモリ内の格納ペイロ
ードの格納セル数が、連続して転送可能な所定の最大転
送可能セル数に達した時、のいずれか一つを指定したこ
と、を特徴とする請求項1に記載のATMセル組立・分
解装置。
2. The conditions for issuing the predetermined transfer command include: (1) when the last cell of a received packet is received, (2) the data capacity of the payload of the number of cells obtained by adding 1 to the number of received cells, (3) when the number of cells of the storage payload in the first first-in first-out memory reaches a predetermined maximum number of transferable cells that can be continuously transferred, 2. The ATM cell assembling / disassembling apparatus according to claim 1, wherein any one of the following is designated.
【請求項3】前記第1の先入れ先出しメモリ内に、該バ
ッファ内の領域を仮想チャンネル毎に管理するチェーン
を設け、前記ペイロードを蓄積する仮想チャンネル毎の
領域を、対応する仮想チャンネル毎の前記チェーンによ
り論理的に結合したこと、 を特徴とする請求項1又は2に記載のATMセル組立・
分解装置。
3. A chain for managing an area in the buffer for each virtual channel in the first first-in first-out memory, and an area for each virtual channel for storing the payload is stored in the chain for each corresponding virtual channel. The ATM cell assembly according to claim 1 or 2, wherein the ATM cell is logically connected by:
Disassembly device.
【請求項4】前記第1の先入れ先出しメモリ内に、空き
ブロックの領域を設置し、新たなペイロードの格納に際
しては、該空きブロックの領域からブロックを切り出し
て当該新たなペイロードの格納領域として充当し、格納
されたペイロードのダイレクトメモリアクセス転送が終
了した時点では、当該格納されたペイロードが占めてい
た領域を前記空きブロックの領域として解放すること、 を特徴とする請求項1乃至3のいずれか1項に記載のA
TMセル組立・分解装置。
4. An empty block area is set in the first first-in first-out memory, and when storing a new payload, a block is cut out from the empty block area and used as a storage area for the new payload. And releasing the area occupied by the stored payload as the area of the empty block when the direct memory access transfer of the stored payload is completed. A described in item
TM cell assembling / disassembling device.
【請求項5】前記ダイレクトメモリアクセスコマンド作
成手段は、ダイレクトメモリアクセスコマンドを作成す
るために必要な情報として、少なくとも、 (1) ペイロードのダイレクトメモリアクセス転送先
を示すダイレクトメモリアクセス転送先アドレス、 (2) ペイロードのダイレクトメモリアクセス転送先
における連続アドレス空間の残り容量を示すダイレクト
メモリアクセス転送先バッファ容量、 (3) 一度のダイレクトメモリアクセス転送サイクル
で転送させるペイロード数の上限に対応する最大連続転
送セル数、 (4) 第1の先入れ先出しメモリ内の先頭格納アドレ
ス、 (5) 第1の先入れ先出しメモリ内の最終格納アドレ
ス、 (6) 第1の先入れ先出しメモリ内に格納されたペイ
ロードに対応するセルの個数、の内の任意の項目を記憶
しておく手段を有すること、を特徴とする請求項1乃至
4のいずれか1項に記載のATMセル組立・分解装置。
5. The direct memory access command creating means includes at least: (1) a direct memory access transfer destination address indicating a direct memory access transfer destination of a payload; 2) Direct memory access transfer destination buffer capacity indicating the remaining capacity of the continuous address space at the direct memory access transfer destination of the payload; (3) maximum continuous transfer cells corresponding to the upper limit of the number of payloads transferred in one direct memory access transfer cycle (4) the first storage address in the first FIFO, (5) the last storage address in the first FIFO, (6) the number of cells corresponding to the payload stored in the first FIFO. Within Further comprising means for storing the items at will, ATM CLAD device according to any one of claims 1 to 4, characterized in.
【請求項6】前記セル受信・分解部に、前記第2の先入
れ先出しメモリ内に蓄積されたダイレクトメモリアクセ
スコマンド全体に指定されたペイロード全体に対応した
セル全体のセル数を計数する手段を設け、該セル数が所
定の強制転送閾値より小さい時には、前記ダイレクトメ
モリアクセスコマンドを発行すること、 を特徴とする請求項1乃至5のいずれか1項に記載のA
TMセル組立・分解装置。
6. The cell receiving / disassembling unit is provided with means for counting the total number of cells corresponding to the entire payload specified in the entire direct memory access command stored in the second first-in first-out memory, The A according to any one of claims 1 to 5, wherein the direct memory access command is issued when the number of cells is smaller than a predetermined forced transfer threshold.
TM cell assembling / disassembling device.
JP25364898A 1998-09-08 1998-09-08 ATM communication controller Expired - Fee Related JP3186707B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25364898A JP3186707B2 (en) 1998-09-08 1998-09-08 ATM communication controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25364898A JP3186707B2 (en) 1998-09-08 1998-09-08 ATM communication controller

Publications (2)

Publication Number Publication Date
JP2000092066A true JP2000092066A (en) 2000-03-31
JP3186707B2 JP3186707B2 (en) 2001-07-11

Family

ID=17254257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25364898A Expired - Fee Related JP3186707B2 (en) 1998-09-08 1998-09-08 ATM communication controller

Country Status (1)

Country Link
JP (1) JP3186707B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009113353A1 (en) * 2008-03-13 2009-09-17 日本電気株式会社 Transfer control device, multiplexed frame transfer system, transfer control method, and transfer control program
US7613788B2 (en) 1999-05-26 2009-11-03 Juniper Networks, Inc. Apparatus and method for data transmission
US10489322B2 (en) 2018-03-13 2019-11-26 Fujitsu Limited Apparatus and method to improve performance in DMA transfer of data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613788B2 (en) 1999-05-26 2009-11-03 Juniper Networks, Inc. Apparatus and method for data transmission
US8352571B2 (en) 1999-05-26 2013-01-08 Juniper Networks, Inc. Apparatus and method for data transmission
WO2009113353A1 (en) * 2008-03-13 2009-09-17 日本電気株式会社 Transfer control device, multiplexed frame transfer system, transfer control method, and transfer control program
JPWO2009113353A1 (en) * 2008-03-13 2011-07-21 日本電気株式会社 Transfer control device, multiplexed frame transfer system, transfer control method, and transfer control program
US10489322B2 (en) 2018-03-13 2019-11-26 Fujitsu Limited Apparatus and method to improve performance in DMA transfer of data

Also Published As

Publication number Publication date
JP3186707B2 (en) 2001-07-11

Similar Documents

Publication Publication Date Title
EP0942621B1 (en) Multiprocessing system and method for assembly of asynchronous transfer mode cells
EP0752802B1 (en) An apparatus and method for packetizing and segmenting MPEG packets
US5633870A (en) Method and apparatus for controlling data flow through an ATM interface
US5140587A (en) Broadband ring communication system and access control method
US6021129A (en) System and method for communicating information from a communications link to a host using a universal serial bus
US5375121A (en) ATM cell assembling and disassembling system and method
US6414961B1 (en) ATM switching with virtual circuit FIFO buffers
US6519268B1 (en) Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
JPH0761077B2 (en) Method and apparatus for coordinating access in a communication system
JPH07321822A (en) Device with multi-casting function
JPH1023012A (en) Transmission traffic controller
EP0451426B1 (en) Multiple-access control for a communication system with order pad passing
JPH06132974A (en) Buffer for packet disassemble
JP2001223704A (en) Packet transfer device
JPH07307738A (en) Protocol processor
WO1991004623A1 (en) Multiple access system for a communication network
US6714562B1 (en) Method and apparatus for segmenting network traffic variable length frames
US5680401A (en) Method and apparatus for asynchronously segmenting packets of multiple channels into ATM cells
JP3784195B2 (en) Data packet switch
JP3186707B2 (en) ATM communication controller
US7099335B2 (en) Communication control apparatus
JPH07221762A (en) Packet processing method and communication interface device
JPH11234306A (en) Data transferring device
US6192033B1 (en) Method and system for using resource management cells in an ATM network
JP2863243B2 (en) Cell assembly equipment

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010410

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

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees