JP6570075B2 - Communication input / output device - Google Patents

Communication input / output device Download PDF

Info

Publication number
JP6570075B2
JP6570075B2 JP2016162568A JP2016162568A JP6570075B2 JP 6570075 B2 JP6570075 B2 JP 6570075B2 JP 2016162568 A JP2016162568 A JP 2016162568A JP 2016162568 A JP2016162568 A JP 2016162568A JP 6570075 B2 JP6570075 B2 JP 6570075B2
Authority
JP
Japan
Prior art keywords
queue
address
write
bank
data
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.)
Active
Application number
JP2016162568A
Other languages
Japanese (ja)
Other versions
JP2018032925A (en
Inventor
川村 智明
智明 川村
晶子 大輝
晶子 大輝
重松 智志
智志 重松
吉雄 松田
吉雄 松田
幸祐 今村
幸祐 今村
有本 和民
和民 有本
洋一郎 佐藤
洋一郎 佐藤
智教 横川
智教 横川
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.)
Public University Corporation Okayama Prefectural University
Nippon Telegraph and Telephone Corp
Original Assignee
Public University Corporation Okayama Prefectural University
Nippon Telegraph and Telephone 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 Public University Corporation Okayama Prefectural University, Nippon Telegraph and Telephone Corp filed Critical Public University Corporation Okayama Prefectural University
Priority to JP2016162568A priority Critical patent/JP6570075B2/en
Publication of JP2018032925A publication Critical patent/JP2018032925A/en
Application granted granted Critical
Publication of JP6570075B2 publication Critical patent/JP6570075B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Memory System (AREA)

Description

本発明は、データ通信技術に関し、特に通信データ(フレームデータ)の入出力を行う通信用入出力装置で用いられるメモリアクセス制御技術に関する。   The present invention relates to a data communication technique, and more particularly to a memory access control technique used in a communication input / output device that inputs and outputs communication data (frame data).

従来、インターネット等のデータ通信で使用されて、例えばイーサネット(登録商標)のフレームデータ等の通信データを入出力するための通信用入出力装置として、例えば、特許文献1のような構成が提案されている。図19は、従来の通信用入出力装置(内蔵メモリ)の構成を示すブロック図である。
この通信用入出力装置は、多重化装置MUX、記録装置MEM、および多重分離装置DEMUXから構成されている。
Conventionally, for example, a configuration as disclosed in Patent Document 1 has been proposed as a communication input / output device that is used in data communication such as the Internet to input / output communication data such as Ethernet (registered trademark) frame data. ing. FIG. 19 is a block diagram showing a configuration of a conventional communication input / output device (built-in memory).
This communication input / output device includes a multiplexing device MUX, a recording device MEM, and a demultiplexing device DEMUX.

MUXは、入力ポートごとに設けられたキュー指定情報付加部により、入力されたフレームデータに対して、当該フレームデータの出力先に対応するキュー指定情報を付加した後、多重化部により多重化して出力する。
MEMは、MUXから時分割多重で出力されたフレームデータを書込制御部により受け取り、各フレームデータに付加されているキュー指定情報とキューマップとを参照し、内蔵するデータメモリ内にフレームデータの出力先ごとに論理的に設けたキューのうち、キュー指定情報と対応するキューのアドレスへフレームデータを書き込む。また、MEMは、DEMUXからの読出指示に応じて、読出制御部により対応するキューからフレームデータを読み出して、DEMUXに出力する。
The MUX adds the queue designation information corresponding to the output destination of the frame data to the input frame data by the queue designation information addition section provided for each input port, and then multiplexes it by the multiplexing section. Output.
The MEM receives the frame data output from the MUX by time division multiplexing by the write control unit, refers to the queue designation information and the queue map added to each frame data, and stores the frame data in the built-in data memory. Of the queues logically provided for each output destination, the frame data is written to the queue address corresponding to the queue designation information. Further, in response to a read instruction from the DEMUX, the MEM reads frame data from the corresponding queue by the read control unit and outputs the frame data to the DEMUX.

DEMUXは、読出部により、出力ポートごとの優先制御ロジックに基づき、MEM内の優先出力ポートに対応する出力先のキューからフレームデータを読み出して、振分部により対応する出力ポートへ振り分け、出力ポートごとに設けられた速度変換部により当該出力ポートの通信速度に変換して出力する。   The DEMUX reads out the frame data from the output destination queue corresponding to the priority output port in the MEM based on the priority control logic for each output port by the reading unit, and distributes the frame data to the corresponding output port by the distribution unit. The data is converted into the communication speed of the output port by a speed conversion unit provided for each output.

図20は、キューと出力ポートとの対応を示す説明図であり、出力ポート数が3の場合が示されている。図20(a)では、キューと出力ポートとが1対1に対応付けられているが、図20(b)のように、1対多に対応付けることにより、1つのフレームデータを複数の出力ポートが出力する場合に対応可能となる。また、図20(c)のように、出力ポートごとに、読出優先度に応じたキューを対応付けることもできる。   FIG. 20 is an explanatory diagram showing the correspondence between queues and output ports, and shows the case where the number of output ports is three. In FIG. 20A, queues and output ports are associated one-to-one, but as illustrated in FIG. 20B, one frame data is associated with a plurality of output ports. Can be handled when Further, as shown in FIG. 20C, a queue corresponding to the read priority can be associated with each output port.

特開2011−010195号公報JP 2011-0101095 A

このような通信用入出力装置では、出力系統の増加に応じてMEMで必要とされる記憶容量が増大するため、データメモリとしてDRAMが用いられる。しかしながら、DRAMのアクセスには、各バンクにおけるロウアドレスの活性化に起因して待ち時間が発生するため、場合によっては、DRAMアクセスの実効スループットが極端に低下して、フレームデータの処理速度に追従できなくなり、通信品質が劣化するという問題点があった。   In such a communication input / output device, the storage capacity required by the MEM increases as the output system increases, so a DRAM is used as a data memory. However, since DRAM access has a waiting time due to the activation of the row address in each bank, in some cases, the effective throughput of the DRAM access is extremely reduced to follow the processing speed of frame data. There is a problem that communication quality is deteriorated because communication cannot be performed.

一般に、DRAMでは、任意のバンクの任意のロウアドレスにデータを書き込む場合、当該バンクにおいて当該ロウアドレスを活性化する必要があり、同一バンクの異なるロウアドレスにアクセスする場合には、当該ロウアドレスを用いたアクセスが完了するのを待ってから、新たなロウアドレスを活性化する必要があるため、同一バンクへのアクセスにおいて、ロウアドレスの活性化に起因して比較的大きな待ち時間が発生する。具体的には、同一バンクの異なるロウアドレスへのアクセスが連続した場合である。その他に待ち時間が発生する条件として、読み出し後の同一バンクに書き込みを行う場合、および、書き込み後の同一バンクから読み出しを行う場合がある。   In general, in a DRAM, when writing data to an arbitrary row address of an arbitrary bank, it is necessary to activate the row address in the bank. When accessing a different row address of the same bank, the row address is Since it is necessary to activate a new row address after waiting for the used access to be completed, a relatively large waiting time occurs due to the activation of the row address in accessing the same bank. Specifically, this is a case where accesses to different row addresses in the same bank are continuous. As other conditions for waiting time, there are a case where writing is performed in the same bank after reading and a case where reading is performed from the same bank after writing.

したがって、これら待ち時間がDRAMアクセスに関する実効スループットの低下原因となる。このため、特に、通信用入出力装置においては、短いフレームデータがバースト的に連続して入力される場合があり、このようなケースにおいて、頻繁に同一バンクの異なるロウアドレスへアクセスを行った場合、極端に実効スループットが低下する可能性がある。   Therefore, these waiting times cause a decrease in effective throughput related to DRAM access. Therefore, in particular, in communication I / O devices, short frame data may be input continuously in bursts. In such a case, when frequently accessing different row addresses in the same bank The effective throughput may be extremely reduced.

本発明はこのような課題を解決するためのものであり、DRAMアクセスに関する実効スループットの低下を抑制できるメモリアクセス制御技術を提供することを目的としている。   An object of the present invention is to provide a memory access control technique capable of suppressing such a decrease in effective throughput related to DRAM access.

このような目的を達成するために、本発明にかかる通信用入出力装置は、順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、前記記録装置は、バンクごとにライトポインタを有するDRAMからなり、前記キューの通信データを記憶する前記データメモリと、前記書込対象キューに前記通信データを書き込む際、前記バンクのうちライトポインタに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該通信データを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該通信データを書き込むDRAMアクセス部とを備えている。   In order to achieve such an object, the communication input / output device according to the present invention adds queue designation information indicating a queue corresponding to an output system to which the communication data is to be output to communication data that is sequentially input. And the communication data transferred from the multiplexing device are temporarily stored in a write target queue designated by the queue designation information among a plurality of queues logically formed in a data memory. Multiplex that reads out the communication data from the queue to be read corresponding to the output system selected from the queue and the output system selected based on the priority control logic from the queue, converts it to the communication speed of the output port corresponding to the output system, and outputs it A communication input / output device comprising a separation device, wherein the recording device comprises a DRAM having a write pointer for each bank, and communication of the queue When writing the communication data to the data memory storing the data and the write target queue, the bank in which the write target row address corresponding to the write pointer is activated among the banks is set as the write target bank. When the communication data is selected and the bank to which the write target row address is activated does not exist, the bank to which the write target row address is inactivated is selected as the write target bank. And a DRAM access unit for writing the communication data after activating the write target row address.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記記録装置が、前記データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリと、前記キュー制御メモリのキュー制御情報に基づいて、前記多重化装置から転送された前記通信データの前記書込対象キューに対する書き込みを前記DRAMアクセス部に指示する書込制御部と、前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューからの通信データの読み出しを前記DRAMアクセス部に指示し、読み出した通信データを前記多重分離装置へ転送する読出制御部とをさらに備え、前記キュー制御メモリは、仮想データメモリ上で用いられる仮想格納アドレスごとに、当該仮想格納アドレスに書き込まれた通信データに後続する通信データの仮想格納アドレスを示す後続アドレスを記憶し、前記キューごとに、当該キューの通信データが書き込まれている前記仮想格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、前記キューのそれぞれに共通して、次に通信データを書き込むべき仮想格納アドレスを示す次書込アドレスをバンクごとに記憶し、前記書込制御部は、前記書込対象キューに前記通信データを書き込む際、前記書込対象バンクとして選択したバンクの前記次書込アドレスからなる書込対象仮想アドレスに対する当該通信データの書き込みをDRAMアクセス部に指示し、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および書込対象バンクとして選択したバンクの次書込アドレスをそれぞれ更新し、前記読出制御部は、前記読出対象キューから前記通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象仮想アドレスに対する当該通信データの読み出しをDRAMアクセス部に指示し、当該読出対象キューのキュー先頭アドレス、読出対象バンクの次書込アドレス、および新たな読出対象バンクの次書込アドレスに関する後続アドレスをそれぞれ更新するようにしたものである。   In addition, one configuration example of the communication input / output device according to the present invention includes: a queue control memory that stores queue control information used when the recording device controls writing / reading to / from the queue of the data memory; A write control unit that instructs the DRAM access unit to write the communication data transferred from the multiplexing device to the write target queue based on queue control information in the queue control memory; A read control unit for instructing the DRAM access unit to read communication data from the read target queue based on queue control information, and transferring the read communication data to the demultiplexing device; Is written to the virtual storage address for each virtual storage address used in the virtual data memory. A subsequent address indicating a virtual storage address of communication data subsequent to the communication data stored, and for each of the queues, a queue head address indicating the start and end of the virtual storage address in which the communication data of the queue is written, and A queue last address is stored, and a common write address indicating a virtual storage address to which communication data is to be written next is stored for each bank in common with each of the queues, and the write control unit stores the write target When writing the communication data to the queue, the DRAM access unit is instructed to write the communication data to the write target virtual address consisting of the next write address of the bank selected as the write target bank, and the write target queue Queue end address, subsequent address for queue end address before write, and write The next write address of the bank selected as the elephant bank is updated, and when the read control unit reads the communication data from the read target queue, the read control unit updates the corresponding write target virtual address including the queue start address of the read target queue. Instruct the DRAM access unit to read communication data, and update the queue head address of the read target queue, the next write address of the read target bank, and the subsequent address related to the next write address of the new read target bank, respectively. It is a thing.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記記録装置が、前記キューごとに、当該キューが使用している前記仮想データメモリ上での仮想格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記キューの使用アドレス数に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部とをさらに備えるようにしたものである。   Also, in one configuration example of the communication input / output device according to the present invention, the recording device uses, for each queue, the number of virtual storage addresses on the virtual data memory used by the queue. Queue use address number memory for storing the number of addresses, and when writing the communication data to the write target queue, based on the data length of the communication data, the required address number indicating the number of virtual storage addresses required for writing Calculate the remaining number of addresses indicating the number of virtual storage addresses that can be used for the writing based on the number of used addresses of the write target queue or the queue acquired from the queue used address number memory and calculate the necessary address Is compared with the number of remaining addresses to determine whether the communication data is writable, and the write data is It is obtained so as to further include an access arbitration unit for instructing the writing of the communication data to the control unit.

本発明によれば、多重化装置から転送された通信データを、データメモリ内に論理的に形成した複数のキューのうちキュー指定情報で指定された書込対象キューへ一時蓄積する記録装置において、データメモリをDRAMで構成した場合でも、ロウアドレスの活性化回数を低減することができる。このため、DRAMアクセスに関する実効スループットの低下を抑制することが可能となる。
また、キュー制御情報を記憶するキュー制御メモリに、通信データ書き込み時に選択したバンクの情報を記憶でき、その情報を該当の通信データの読み出し時に使用できる。
According to the present invention, in a recording device for temporarily storing communication data transferred from a multiplexing device in a write target queue designated by queue designation information among a plurality of queues logically formed in a data memory, Even when the data memory is composed of a DRAM, the number of activations of the row address can be reduced. For this reason, it is possible to suppress a decrease in effective throughput related to DRAM access.
Further, the queue control memory for storing the queue control information can store the information of the bank selected at the time of writing the communication data, and can use the information at the time of reading the corresponding communication data.

第1の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a communication input / output device according to a first embodiment. FIG. 仮想データメモリの記憶例である。It is a storage example of a virtual data memory. キュー制御メモリの構成を示すブロック図である。It is a block diagram which shows the structure of a queue control memory. アドレスキュー管理メモリの記憶例である。It is a storage example of an address queue management memory. キュー先頭アドレスレジスタおよびキュー最終アドレスレジスタの記憶例である。It is a storage example of a queue head address register and a queue last address register. キュー使用アドレス数メモリの記憶例である。It is a storage example of a queue use address number memory. 第1の実施の形態にかかるDRAMアクセス部の構成を示すブロック図である。1 is a block diagram showing a configuration of a DRAM access unit according to a first embodiment. FIG. 書込制御部における書込動作を示す説明図である。It is explanatory drawing which shows the write-in operation | movement in a write-control part. 読出制御部における読出動作を示す説明図である。It is explanatory drawing which shows the read-out operation | movement in a read-out control part. データP2−1読出直前(データP2−3書込直後)のキュー制御情報を示す説明図である。It is explanatory drawing which shows the queue control information immediately before data P2-1 reading (immediately after writing data P2-3). データP2−1読出時におけるキュー制御情報の変化を示す説明図である。It is explanatory drawing which shows the change of the queue control information at the time of data P2-1 reading. データP2−2読出時におけるキュー制御情報の変化を示す説明図である。It is explanatory drawing which shows the change of the queue control information at the time of data P2-2 reading. データP1−4書込時におけるキュー制御情報の変化を示す説明図である。It is explanatory drawing which shows the change of the queue control information at the time of data P1-4 writing. DRAM書込処理を示すフローチャートである。It is a flowchart which shows DRAM write processing. DRAM読出処理を示すフローチャートである。It is a flowchart which shows DRAM read-out processing. 第2の実施の形態にかかるアクセス調停部の構成を示すブロック図である。It is a block diagram which shows the structure of the access arbitration part concerning 2nd Embodiment. 判定用アドレス数情報の構成例である。It is an example of a structure of the address number information for determination. 第2の実施の形態にかかる書込可否判定処理を示すフローチャートである。It is a flowchart which shows the writability determination processing concerning 2nd Embodiment. 従来の通信用入出力装置(内蔵メモリ)の構成を示すブロック図である。It is a block diagram which shows the structure of the conventional input / output device for communication (built-in memory). キューと出力ポートとの対応を示す説明図である。It is explanatory drawing which shows a response | compatibility with a queue and an output port.

次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる通信用入出力装置1について説明する。図1は、第1の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。
Next, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
First, a communication input / output device 1 according to a first embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram illustrating a configuration of the communication input / output device according to the first embodiment.

この通信用入出力装置1は、インターネット通信等で使用されて、例えばイーサネット(登録商標)のフレームデータ等の通信データを入出力するための通信用入出力装置であり、1つまたは複数の入力ポートから入力された通信データを、その通信データを出力すべき出力系統ごとに分離し、当該出力系統と対応する出力ポートの通信速度に変換して出力する機能を有している。   The communication input / output device 1 is a communication input / output device for inputting / outputting communication data such as Ethernet (registered trademark) frame data, which is used in Internet communication or the like. The communication data input from the port is separated for each output system to which the communication data is to be output, converted to the communication speed of the output port corresponding to the output system, and output.

図1に示すように、通信用入出力装置1は、多重化装置(MUX)10、メモリアクセス制御機能内蔵型の多重分離装置(DEMUX)20、およびアクセス制御機能内蔵型の記録装置(MEM)30から構成されている。以下では、通信用入出力装置1で入出力する通信データがフレームデータである場合を例として説明するが、これに限定されるものではなく、パケットやATMセルなど各種の通信データを、フレームデータと同様にして入出力することも可能である。   As shown in FIG. 1, the communication input / output device 1 includes a multiplexer (MUX) 10, a demultiplexer (DEMUX) 20 with a built-in memory access control function, and a recording device (MEM) with a built-in access control function. 30. In the following, a case where communication data input / output by the communication input / output device 1 is frame data will be described as an example. However, the present invention is not limited to this, and various types of communication data such as packets and ATM cells are converted into frame data. It is also possible to input / output in the same manner as in FIG.

多重化装置10は、外部から順次入力されるフレームデータに、当該フレームデータを出力すべき出力系統と対応するキュー指定情報を付加して多重化する機能を有している。
記録装置30は、多重化装置10から転送されたフレームデータを、データメモリ内に論理的に形成した複数のキューのうち、当該フレームデータに付加されているキュー指定情報で指定された書込対象キューへ一時蓄積する機能を有している。
多重分離装置20は、記録装置30内のキューのうち優先制御に基づき選択した出力系統と対応する読出対象キューから、当該読出対象キューに一時蓄積されているフレームデータを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する機能を有している。
The multiplexing device 10 has a function of multiplexing the frame data sequentially input from the outside by adding queue designation information corresponding to the output system to which the frame data is to be output.
The recording device 30 writes the frame data transferred from the multiplexing device 10 into a write target designated by the queue designation information added to the frame data among a plurality of queues logically formed in the data memory. It has a function to temporarily store in a queue.
The demultiplexer 20 reads the frame data temporarily stored in the read target queue from the read target queue corresponding to the output system selected based on the priority control among the queues in the recording device 30, and corresponds to the output system. It has a function of converting and outputting the communication speed of the output port.

本実施の形態は、記録装置30において、データメモリ31をバンクごとにライトポインタを有するDRAMから構成して、DRAMアクセス部32が、書込対象キューにフレームデータを書き込む際、バンクのうちライトポインタに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該フレームデータを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該フレームデータを書き込むようにしたものである。   In this embodiment, in the recording apparatus 30, the data memory 31 is composed of a DRAM having a write pointer for each bank, and when the DRAM access unit 32 writes frame data to the write target queue, the write pointer of the bank If the bank in which the write target row address corresponding to is selected as the write target bank is written into the frame data, and there is no bank in which the write target row address is in the active state, The bank data in which the write target row address is deactivated is selected as the write target bank, and the frame data is written after the write target row address is activated.

本実施の形態では、図1に示すように、入力ポートPinとして2つの入力ポートPin0,Pin1が設けられ、出力ポートPoutとして2つの出力ポートPout0,Pout1が設けられている場合を例として説明するが、入力ポートPinおよび出力ポートPoutの数については、これに限定されるものではない。入力ポートPinおよび出力ポートPoutのいずれか一方または両方を3つ以上設けることも可能であり、入力ポート数と出力ポート数が異なっていてもよい。なお、入力ポート数は、1つであってもよい。   In this embodiment, as shown in FIG. 1, a case where two input ports Pin0 and Pin1 are provided as the input port Pin and two output ports Pout0 and Pout1 are provided as the output port Pout will be described as an example. However, the number of input ports Pin and output ports Pout is not limited to this. Three or more of either or both of the input port Pin and the output port Pout can be provided, and the number of input ports and the number of output ports may be different. Note that the number of input ports may be one.

[多重化装置]
次に、図1を参照して、本実施の形態にかかる通信用入出力装置1で用いられる多重化装置10について詳細に説明する。
図1に示すように、多重化装置10には、主な回路部として、キュー指定情報付加部11と多重化部12が設けられている。
[Multiplexer]
Next, with reference to FIG. 1, the multiplexing apparatus 10 used in the communication input / output apparatus 1 according to the present embodiment will be described in detail.
As shown in FIG. 1, the multiplexing apparatus 10 is provided with a queue designation information adding unit 11 and a multiplexing unit 12 as main circuit units.

キュー指定情報付加部11は、入力ポートPin0,Pin1ごとに設けられて、対応する入力ポートPinから入力されるフレームデータに対して、当該フレームデータの出力先に対応するキュー指定情報と、当該フレームデータのフレーム長情報(Byte)とを付加して多重化部12へ出力する機能を有している。この際、フレーム長情報については、例えば、多重化部12にフレームデータを出力する際、当該フレームデータの先頭から最終までのByte数をフレーム長として計数したものを付加すればよい。   The queue designation information adding unit 11 is provided for each of the input ports Pin0 and Pin1, and for frame data input from the corresponding input port Pin, queue designation information corresponding to the output destination of the frame data, and the frame It has a function of adding data frame length information (Byte) and outputting it to the multiplexing unit 12. At this time, for example, when outputting frame data to the multiplexing unit 12, the frame length information may be added by counting the number of bytes from the beginning to the end of the frame data as the frame length.

多重化部12は、各キュー指定情報付加部11に共通して1つ設けられて、各キュー指定情報付加部11から出力されたフレームデータを時分割で多重化して、記録装置30へ出力する機能を有している。
多重化装置10において、フレームデータの出力先に対応するキューの指定については、IEEE802.1D等のブリッジ機能により実現すればよく、具体的には、MACアドレス学習による出力ポート検索、VLAN−IDによる出力ポート指定等が可能である(特許文献1など参照)。
Multiplexing unit 12 is provided in common with each queue designation information adding unit 11, multiplexes the frame data output from each queue designation information adding unit 11 in a time division manner, and outputs it to recording apparatus 30. It has a function.
In the multiplexer 10, the designation of the queue corresponding to the output destination of the frame data may be realized by a bridge function such as IEEE802.1D. Specifically, the output port search by MAC address learning and the VLAN-ID are used. The output port can be specified (see Patent Document 1).

[多重分離装置]
次に、図1を参照して、本実施の形態にかかる通信用入出力装置1で用いられる多重分離装置20について詳細説明する。
図1に示すように、多重分離装置20には、主な回路部として、読出部21、振分部22、および速度変換部23,24が設けられている。
[Demultiplexer]
Next, the demultiplexer 20 used in the communication input / output device 1 according to the present embodiment will be described in detail with reference to FIG.
As shown in FIG. 1, the demultiplexer 20 includes a reading unit 21, a distribution unit 22, and speed conversion units 23 and 24 as main circuit units.

読出部21は、記録装置30から取得した各キューの蓄積状況や速度変換部23,24から出力された読出停止指示信号を参照し、出力ポートPout0,Pout1ごとの優先制御ロジックに基づいてフレームデータを優先して出力すべき出力系統を選択する機能と、当該出力系統と対応する読出対象キューからのフレームデータの読み出しを要求する読み出し要求を出力する機能と、これに応じて記録装置30から転送されたフレームデータを、振分部22へ出力する機能を有している。
優先制御ロジックについては、例えば各キューの容量が同じ場合であれば、読み出し可能なキューの中でキューに蓄積されている通信データの量が最も多いキューから読み出しを行う等、一般的な優先制御ロジックを用いればよい(特許文献1など参照)。
The reading unit 21 refers to the accumulation status of each queue acquired from the recording device 30 and the reading stop instruction signal output from the speed conversion units 23 and 24, and the frame data based on the priority control logic for each of the output ports Pout0 and Pout1. A function for selecting an output system to be output with priority, a function for outputting a read request for reading frame data from a read target queue corresponding to the output system, and a transfer from the recording apparatus 30 in response thereto The frame data is output to the distribution unit 22.
For priority control logic, for example, if the capacity of each queue is the same, general priority control such as reading from the queue with the largest amount of communication data stored in the queue among readable queues. Logic may be used (see Patent Document 1).

また、読出部21は、記録装置30に読み出し要求を出力する際、読み出し対象となるキューを指定するキュー指定情報に加えて、読み出しデータのデータ量を示す読出データ量情報を記録装置30に指示する。
読出データ量情報については、例えば読み出しを行うキューのデータ蓄積量が予め設定した閾値以下の場合は、データ蓄積量に等しい値を読出データ量情報として出力し、閾値を超えていた場合は、閾値の値を読出データ量情報として出力すればよい。
In addition, when the reading unit 21 outputs a read request to the recording device 30, the reading unit 21 instructs the recording device 30 with read data amount information indicating the data amount of the read data in addition to the queue designation information that specifies the queue to be read. To do.
For the read data amount information, for example, when the data accumulation amount of the queue to be read is equal to or less than a preset threshold value, a value equal to the data accumulation amount is output as the read data amount information. May be output as read data amount information.

振分部22は、読出部21から出力されたフレームデータを、当該フレームデータに付加されているキュー指定情報に基づいて、対応する出力ポートの速度変換部23,24へ振り分ける機能を有している。
速度変換部23,24は、出力ポートごとに設けられて、振分部22から振り分けられたフレームデータを当該出力ポートの通信速度に変換して出力する機能と、フレームデータの出力状況に応じて読出停止指示信号を読出部21に出力する機能とを有している。
なお、フレームデータに付加されているキュー指定情報は、振分部22もしくは速度変換部23,24で削除される。
The distribution unit 22 has a function of distributing the frame data output from the reading unit 21 to the speed conversion units 23 and 24 of the corresponding output port based on the queue designation information added to the frame data. Yes.
The speed converters 23 and 24 are provided for each output port, and according to the function of converting the frame data distributed from the distribution unit 22 into the communication speed of the output port and outputting the same, and the output status of the frame data A function of outputting a reading stop instruction signal to the reading unit 21.
The queue designation information added to the frame data is deleted by the distribution unit 22 or the speed conversion units 23 and 24.

[記録装置]
次に、図1を参照して、本実施の形態にかかる通信用入出力装置1で用いられる記録装置30について詳細説明する。
[Recording device]
Next, the recording device 30 used in the communication input / output device 1 according to the present embodiment will be described in detail with reference to FIG.

図1に示すように、記録装置30には、主な回路部として、データメモリ31、DRAMアクセス部32、キュー制御メモリ33、書込制御部34、読出制御部35、キュー使用アドレス数メモリ36、およびアクセス調停部37が設けられている。   As shown in FIG. 1, the recording device 30 includes, as main circuit units, a data memory 31, a DRAM access unit 32, a queue control memory 33, a write control unit 34, a read control unit 35, and a queue use address number memory 36. , And an access arbitration unit 37 is provided.

データメモリ31は、バンク(Bank)ごとに複数のロウアドレス(Row Address)を有する一般的なDRAM(DRAMチップ)からなり、バンクごとのライトポインタを用いてフレームデータを記憶する機能を有している。具体的には、データメモリ31を1つ、もしくは、複数のDRAMチップで構成して、バンクごとのライトポインタに対応させればよく、出力系統ごとにそれぞれ1つのキューを持たせる構成の他、1つの出力系統に複数のキューを持たせることも可能である。本実施の形態では、1つのDRAMチップを複数のキューで共用することになる。   The data memory 31 comprises a general DRAM (DRAM chip) having a plurality of row addresses for each bank, and has a function of storing frame data using a write pointer for each bank. Yes. Specifically, the data memory 31 may be composed of one or a plurality of DRAM chips and correspond to the write pointer for each bank. In addition to the configuration of having one queue for each output system, It is also possible to have a plurality of queues in one output system. In this embodiment, one DRAM chip is shared by a plurality of queues.

データメモリ31には、固有の格納アドレスを持つ複数の格納領域が設けられている。各キューはデータメモリ31の格納アドレスと同等な仮想格納アドレスを持つ仮想データメモリの仮想格納領域を、仮想格納アドレスの連続・不連続あるいは昇順・降順に関わらず任意に連結することにより構成されている。なお、仮想格納アドレスは、DRAMへのアクセスに用いる実際のロウアドレス、コラムアドレス(Column Address)、およびバンク番号とは独立した、フレームデータの管理に用いられるものであり、仮想的なメモリ空間におけるアドレス情報である。
図2は、仮想データメモリの記憶例である。ここでは、それぞれ固有の仮想格納アドレスADM(0〜N:Nは2以上の整数)を持つ仮想格納領域ごとに、書込制御部34から書き込まれたデータを記憶している場合のイメージを示している。
The data memory 31 is provided with a plurality of storage areas having unique storage addresses. Each queue is configured by arbitrarily connecting virtual storage areas of a virtual data memory having a virtual storage address equivalent to the storage address of the data memory 31 regardless of whether the virtual storage addresses are continuous / discontinuous or in ascending / descending order. Yes. The virtual storage address is used for managing frame data independent of the actual row address, column address (Column Address), and bank number used for accessing the DRAM, and is used in a virtual memory space. Address information.
FIG. 2 is a storage example of the virtual data memory. Here, an image in a case where data written from the write control unit 34 is stored for each virtual storage area having a unique virtual storage address ADM (0 to N: N is an integer of 2 or more) is shown. ing.

この際、1フレームが1仮想アドレス分のデータサイズより長い場合、1フレームは、1仮想アドレス分のデータサイズに合わせて複数のデータDに分割され、それぞれ異なる複数の仮想格納アドレスに書き込まれる。例えば、図2の場合、バンク0の仮想格納アドレス0,1,4には、キューP1のデータP1−1,P1−2,P1−3が格納されており、バンク0の仮想格納アドレス2,3,5には、キューP2のデータP2−1,P2−2,P2−3が格納されている。これらデータの前後関係やフレームとの対応関係については、後述するアドレスキュー管理メモリで管理される。なお、1フレームが仮想格納領域のデータサイズより短い場合、フレームデータは1つの仮想格納領域に格納される。   At this time, if one frame is longer than the data size for one virtual address, one frame is divided into a plurality of data D in accordance with the data size for one virtual address, and written to a plurality of different virtual storage addresses. For example, in the case of FIG. 2, the virtual storage addresses 0, 1, and 4 of the bank 0 store the data P1-1, P1-2, and P1-3 of the queue P1, and the virtual storage addresses 2 and 2 of the bank 0 are stored. 3 and 5 store data P2-1, P2-2, and P2-3 of the queue P2. The order relation of these data and the correspondence relation with the frame are managed by an address queue management memory described later. When one frame is shorter than the data size of the virtual storage area, the frame data is stored in one virtual storage area.

DRAMアクセス部32は、書込制御部34からのDRAM書込指示に応じて、データメモリ31内の対応するアドレスにフレームデータを書き込む機能と、読出制御部35からのDRAM読出指示に応じて、データメモリ31内の対応するアドレスからフレームデータを読み出す機能とを有している。   The DRAM access unit 32 has a function of writing frame data to a corresponding address in the data memory 31 in response to a DRAM write instruction from the write control unit 34 and a DRAM read instruction from the read control unit 35. A function of reading frame data from a corresponding address in the data memory 31.

DRAMアクセス部32は、フレームデータを書き込む際、指示されたバンクの書込対象ロウアドレスが活性化状態にある場合に、指定された仮想格納アドレス(ロウアドレスおよびコラムアドレス)にフレームデータを書き込む機能と、当該書込対象ロウアドレスが活性化状態にない場合は、当該書込対象ロウアドレスを活性化した後にフレームデータを書き込む機能とを有している。   The DRAM access unit 32 has a function of writing frame data to a designated virtual storage address (row address and column address) when the write target row address of the designated bank is in an activated state when writing frame data. When the write target row address is not activated, the write target row address is activated and then the frame data is written.

また、DRAMアクセス部32は、フレームデータを読み出す際、指示された読出対象バンクにおいて読出対象ロウアドレスが活性化状態にある場合は、当該読出対象バンクの読出対象ロウアドレスからフレームデータを読み出し、当該読出対象バンクで読出対象ロウアドレスが活性化状態にない場合は、当該読出対象バンクの読出対象ロウアドレスを活性化した後にフレームデータを読み出す機能とを有している。   When reading the frame data, the DRAM access unit 32 reads the frame data from the read target row address of the read target bank if the read target row address is in the activated state in the designated read target bank. When the read target row address is not activated in the read target bank, the read target row address of the read target bank is activated and then the frame data is read.

キュー制御メモリ33は、例えばSRAMチップなどの半導体メモリからなり、データメモリ31上に形成されている各キューに対するフレームデータの書き込み・読み出しを制御する際に用いる各種のキュー制御情報を記憶する機能を有している。   The queue control memory 33 is composed of a semiconductor memory such as an SRAM chip, for example, and has a function of storing various queue control information used for controlling writing / reading of frame data to / from each queue formed on the data memory 31. Have.

図3は、キュー制御メモリの構成を示すブロック図である。キュー制御メモリ33は、レジスタやメモリからなる複数の記憶部を含んでおり、主な記憶部として、空きアドレスレジスタ(VAR,UAR)33A、アドレスキュー管理メモリ(QM)33B、キュー先頭アドレスレジスタ(SAR)33C、キュー最終アドレスレジスタ(LAR)33D、アクセス履歴レジスタ(AAR)33E、および作業用アドレスレジスタ(TMPV,TMPL)33Fを有している。なお、以下では理解を容易とするため、レジスタ名を変数名として用いて説明する場合がある。   FIG. 3 is a block diagram showing the configuration of the queue control memory. The queue control memory 33 includes a plurality of storage units composed of registers and memories. As main storage units, a free address register (VAR, UAR) 33A, an address queue management memory (QM) 33B, a queue head address register ( SAR) 33C, queue final address register (LAR) 33D, access history register (AAR) 33E, and work address register (TMPV, TMPL) 33F. In the following description, register names are sometimes used as variable names for easy understanding.

空きアドレスレジスタ(VAR,UAR)33Aは、各キューに共通して、バンク毎に次書込アドレスVARと未書込アドレスUARとを記憶する機能を有している。このうち、VAR(Valid Address Register)は、多重化装置10から次に受け取ったフレームデータを書き込む際、当該フレームデータを次に書き込むべき仮想格納アドレスを示すバンク毎のアドレス情報である。また、UAR(Unused Address Register)は、初期化後にまだ一度もデータが書き込まれていない同一バンク内の未使用の仮想格納アドレスのうちの先頭(若番)を示す格納アドレスである。   The empty address register (VAR, UAR) 33A has a function of storing the next write address VAR and the unwritten address UAR for each bank in common with each queue. Among them, VAR (Valid Address Register) is address information for each bank indicating a virtual storage address where the frame data to be written next when the frame data received from the multiplexing apparatus 10 is written next. UAR (Unused Address Register) is a storage address indicating the head (young number) of unused virtual storage addresses in the same bank in which data has not been written yet after initialization.

本実施の形態では、フレームデータ書き込み時、各バンク内では、仮想格納アドレスの若番から順に使用することを基本としており、フレームデータの読み出しにより空き状態となった仮想格納アドレスについては、未使用の仮想格納アドレスより優先して再使用するものとする。なお、再使用する仮想格納アドレスの順序については、例えば直近に空き状態となった仮想格納アドレスから順に再使用するなど、任意の順序でよく、若番の順に限定されない。   In this embodiment, when writing frame data, it is basically used in order from the youngest virtual storage address in each bank, and the virtual storage address that has become free by reading frame data is unused. It shall be reused in preference to the virtual storage address. The order of the virtual storage addresses to be reused may be any order, for example, the virtual storage addresses that have recently become empty, and may be reused in order, and is not limited to the lowest number.

アドレスキュー管理メモリ(QM)33Bは、仮想格納アドレスADMごとに、後続仮想アドレスADD(ADDress)とポインタPN(Pointer of QM)とを記憶する機能を有している。
図4は、アドレスキュー管理メモリの記憶例である。このうち、ADDは、当該仮想格納アドレスに書き込まれた通信データに後続する通信データが格納されている仮想格納アドレス(バンク情報を含む)である。また、PNは、当該仮想格納アドレスに格納されているデータにフレームデータの最終データを含むか否かを示す情報(フレーム終端フラグ:EoF)である。
The address queue management memory (QM) 33B has a function of storing a subsequent virtual address ADD (ADDress) and a pointer PN (Pointer of QM) for each virtual storage address ADM.
FIG. 4 is a storage example of the address queue management memory. Among these, ADD is a virtual storage address (including bank information) in which communication data following the communication data written to the virtual storage address is stored. PN is information (frame end flag: EoF) indicating whether or not the data stored at the virtual storage address includes the final data of the frame data.

キュー先頭アドレスレジスタ(SAR)33Cは、キューごとに、キュー先頭アドレスSAR(Start Address register of PM)を記憶する機能を有している。
キュー最終アドレスレジスタ(LAR)33Dは、キューごとに、キュー最終アドレスLAR(Last Address register of PM)を記憶する機能を有している。
The queue head address register (SAR) 33C has a function of storing a queue head address SAR (Start Address register of PM) for each queue.
The queue last address register (LAR) 33D has a function of storing a queue last address LAR (Last Address register of PM) for each queue.

図5は、キュー先頭アドレスレジスタおよびキュー最終アドレスレジスタの記憶例である。ここでは、キューを識別するためのキューID(キュー番号)ごとに、SARとLARを記憶している。このうち、SARは、当該キューのフレームデータが書き込まれている仮想格納アドレスの先頭を示すアドレス情報(バンク情報を含む)である。また、LARは、当該キューのフレームデータが書き込まれている仮想格納アドレスの最終を示すアドレス情報(バンク情報を含む)である。   FIG. 5 shows a storage example of the queue head address register and the queue last address register. Here, SAR and LAR are stored for each queue ID (queue number) for identifying the queue. Among these, SAR is address information (including bank information) indicating the head of the virtual storage address in which the frame data of the queue is written. LAR is address information (including bank information) indicating the end of the virtual storage address in which the frame data of the queue is written.

アクセス履歴レジスタ(AAR)33Eは、最後に書き込み指示、もしくは、読み出し指示を行った仮想格納アドレス(バンク情報を含む)をAAR_1として記録し、AAR_nはAAR_1の更新時にAAR_(n−1)の値に更新する(nは2以上の整数)。すなわち、直近n回分の書き込み指示、もしくは、読み出し指示の履歴を表示する。   The access history register (AAR) 33E records the virtual storage address (including bank information) at which the last write instruction or read instruction is recorded as AAR_1, and AAR_n is the value of AAR_ (n-1) when AAR_1 is updated. (N is an integer of 2 or more). That is, the history of the latest n write instructions or read instructions is displayed.

作業用アドレスレジスタ(TMPV,TMPL)33Fは、各キューに共通して、作業用次書込アドレスTMPV(Temporary register for VAR)と作業用キュー最終アドレスTMPL(Temporary register for LAR)を記憶する機能を有している。
このうち、TMPVは、直前に書き込み・読み出しを行ったキューの次書込アドレスVARを示すアドレス情報(バンク情報を含む)である。また、TMPLは、最後に書き込みを行ったキューの直前(更新前)のキュー最終アドレスLARを示すアドレス情報(バンク情報を含む)である。これらは、それぞれのデータの書き込み・読み出し作業の処理手順の関係から一時的にアドレス情報を保持するために使用されるものであるが、次の書き込み・読み出し作業に用いることもある。
The work address register (TMPV, TMPL) 33F has a function of storing a work next write address TMPV (Temporary register for VAR) and a work queue final address TMPL (Temporary register for LAR) in common with each queue. Have.
Among these, TMPV is address information (including bank information) indicating the next write address VAR of the queue in which writing / reading was performed immediately before. TMPL is address information (including bank information) indicating a queue final address LAR immediately before (before update) the queue in which writing was last performed. These are used to temporarily hold address information because of the processing procedure of each data write / read operation, but may also be used for the next write / read operation.

書込制御部34は、アクセス調停部37からの書き込み指示に応じて、アクセス履歴レジスタ(AAR)とバンク毎のVAR、UARに基づいて最適なバンクのVARを選択し、仮想格納アドレス(TMPV)を指定した、フレームデータの書き込みを指示するDRAM書込指示を、DRAMアクセス部32へ出力する機能を有している。   In response to a write instruction from the access arbitration unit 37, the write control unit 34 selects an optimal bank VAR based on the access history register (AAR) and VAR and UAR for each bank, and a virtual storage address (TMPV) A DRAM write instruction for designating frame data and designating frame data is output to the DRAM access unit 32.

バンク(VAR)の選択は、例えば、以下の様に行う。
書込制御部34はAARを用いて各バンクでどのロウアドレスが活性化されているのかを管理する。
各バンクのVARのロウアドレスの内、活性化されているものを選択する。ただし、該当のバンクのUARとVARの両方がバンク毎のメモリ容量の上限値に該当している場合はそのバンクは選択しない。
The bank (VAR) is selected as follows, for example.
The write controller 34 uses AAR to manage which row address is activated in each bank.
Among the VAR row addresses of each bank, an activated one is selected. However, when both UAR and VAR of the corresponding bank correspond to the upper limit value of the memory capacity for each bank, the bank is not selected.

例えば、まず、バンク番号とロウアドレスの両方がAAR_1と同じ値のVARがあれば、そのVARのロウアドレスが活性化されているので、そのVARを選択し、なければ、バンク番号とロウアドレスの両方がAAR_2と同じ値のVARがあれば、そのVARのロウアドレスが活性化されているので、そのVARを選択する。ただし、AAR_2のバンク番号がAAR_1のバンク番号と同じ場合は、そのVARのロウアドレスは活性化されていないので、そのバンク番号のVARは選択しない。   For example, first, if there is a VAR in which both the bank number and the row address have the same value as AAR_1, the row address of that VAR is activated, so that VAR is selected. If both have a VAR having the same value as AAR_2, the row address of that VAR is activated, so that VAR is selected. However, if the bank number of AAR_2 is the same as the bank number of AAR_1, the row address of that VAR is not activated, so the VAR of that bank number is not selected.

AAR_2までの比較で未選択の場合は、バンク番号とロウアドレスの両方がAAR_3と同じ値のVARがあれば、そのVARのロウアドレスが活性化されているので、そのVARを選択する。ただし、AAR_3のバンク番号がAAR_1もしくはAAR_2のバンク番号と同じ場合は、そのVARのロウアドレスは活性化されていないので、そのバンク番号のVARは選択しない。   If not selected in the comparison up to AAR_2, if both the bank number and the row address have a VAR having the same value as AAR_3, the row address of that VAR is activated, so that VAR is selected. However, when the bank number of AAR_3 is the same as the bank number of AAR_1 or AAR_2, the row address of the VAR is not activated, so the VAR of that bank number is not selected.

以下、同様に、AAR_nまで比較を行い、バンク番号とロウアドレスの両方が同じ値のVARが有り、かつ、選択可能であれば、そのVARを選択する。なお、AAR_nとの比較を行う場合、AAR_nのバンク番号がAAR_1からAAR_(n−1)のいずれかと同じ場合は、そのVARのロウアドレスは活性化されていないので、そのバンク番号のVARは選択しない。
該当のロウアドレスが活性化されているもので、かつ、選択可能なものが無い場合は、例えば、どのAARにも記録されていないバンクのVARを選択、もしくは、AARに記録されているバンクの内で残っている履歴が最も古いバンクのVARを選択する。
Hereinafter, similarly, comparison is made up to AAR_n, and if there is a VAR having the same value in both the bank number and the row address, and that selection is possible, that VAR is selected. When comparing with AAR_n, if the bank number of AAR_n is the same as any one of AAR_1 to AAR_ (n-1), the row address of that VAR is not activated, so the VAR of that bank number is selected. do not do.
If the corresponding row address is activated and there is no selectable address, for example, a bank VAR not recorded in any AAR is selected, or a bank recorded in the AAR is selected. The VAR of the bank having the oldest remaining history is selected.

読出制御部35は、アクセス調停部37からの読み出し指示に応じて、キュー制御メモリ33のキュー制御情報に基づいて、仮想格納アドレス(SAR)を指定した、読出対象キューからの先頭データの読み出しを指示するDRAM読出指示を、DRAMアクセス部32へ出力する機能と、DRAMアクセス部32を介して読出対象キューから読み出したデータをフレーム終端フラグおよびキュー指定情報とともに多重分離装置20へ転送する機能とを有している。   In response to a read instruction from the access arbitration unit 37, the read control unit 35 reads out the head data from the read target queue that specifies the virtual storage address (SAR) based on the queue control information in the queue control memory 33. A function of outputting an instruction to read DRAM to the DRAM access unit 32 and a function of transferring data read from the read target queue via the DRAM access unit 32 to the demultiplexing device 20 together with a frame end flag and queue designation information. Have.

キュー使用アドレス数メモリ36は、例えばSRAMチップなどの半導体メモリからなり、キューごとに、当該キューに蓄積されているフレームデータが使用している仮想アドレス数NKを記憶する機能と、多重分離装置20およびアクセス調停部37からの要求に応じて、指定されたキューの仮想アドレス数NKを出力する機能とを有している。
図6は、キュー使用アドレス数メモリの記憶例である。ここでは、キューを識別するためのキューID(キュー番号)ごとに、当該キューの仮想アドレス数NKが記憶されている。
The queue use address number memory 36 is composed of, for example, a semiconductor memory such as an SRAM chip. For each queue, the queue use address number memory 36 stores a virtual address number NK used by the frame data stored in the queue, and the demultiplexer 20. And a function of outputting the number NK of virtual addresses in the designated queue in response to a request from the access arbitration unit 37.
FIG. 6 is a storage example of the queue use address number memory. Here, for each queue ID (queue number) for identifying a queue, the number NK of virtual addresses of the queue is stored.

アクセス調停部37は、多重化装置10から転送されたフレームデータを受け取り、当該フレームデータに付加されているフレーム長情報に基づき、フレームデータを1仮想アドレス分のデータサイズで複数のデータDに分割することにより書込回数を計算する機能と、この書込回数分だけ、それぞれのデータDに関する、当該フレームデータに付加されているキュー指定情報で指定された書込対象キューへの書き込みを指示する書き込み指示を書込制御部34に出力する機能と、当該フレームデータの書き込みにより増加する仮想アドレス数を、キュー使用アドレス数メモリ36の当該書込対象キューの仮想アドレス数NKに加算する機能とを有している。   The access arbitration unit 37 receives the frame data transferred from the multiplexing device 10 and divides the frame data into a plurality of data D with a data size of one virtual address based on the frame length information added to the frame data. The function of calculating the number of times of writing by this, and writing to the write target queue designated by the queue designation information added to the frame data for each data D by the number of times of writing is instructed. A function of outputting a write instruction to the write control unit 34 and a function of adding the number of virtual addresses increased by writing the frame data to the number of virtual addresses NK of the write target queue in the queue use address number memory 36. Have.

また、アクセス調停部37は、多重分離装置20からの読み出し要求に応じて、当該読み出し要求の読出データ量情報で指定されたデータ量を1仮想アドレス分のデータサイズで分割することにより読出回数を計算する機能と、この読出回数分だけ、当該読み出し要求のキュー指定情報で指定された読出対象キューからのフレームデータの読み出しを指示する読み出し指示を読出制御部35へ出力する機能と、当該フレームデータの読み出しにより減少する仮想アドレス数を、キュー使用アドレス数メモリ36の当該書込対象キューの仮想アドレス数NKから減算する機能と、フレームデータの書き込みとの競合を調停し、読み出し可能なタイミングで読み出し指示を出力する機能とを有している。   Further, in response to a read request from the demultiplexer 20, the access arbitration unit 37 divides the data amount specified by the read data amount information of the read request by the data size for one virtual address, thereby reducing the number of reads. A function for calculating, a function for outputting to the read control unit 35 a read instruction for instructing reading of frame data from the read target queue designated by the queue designation information of the read request, and the frame data Read out at a readable timing by arbitrating the conflict between the function of subtracting the number of virtual addresses decreased by reading from the number of virtual addresses NK of the write target queue in the queue use address number memory 36 and the writing of frame data. And a function of outputting instructions.

[DRAMアクセス部]
次に、図7を参照して、本実施の形態にかかる記録装置30で用いられるDRAMアクセス部32について説明する。図7は、第1の実施の形態にかかるDRAMアクセス部の構成を示すブロック図である。
DRAMアクセス部32には、主な回路部として、FIFOメモリ32A、活性化処理部32B、アクセス種別判定部32C、DRAM書込部32D、およびDRAM読出部32Eが設けられている。
[DRAM access section]
Next, the DRAM access unit 32 used in the recording apparatus 30 according to the present embodiment will be described with reference to FIG. FIG. 7 is a block diagram showing the configuration of the DRAM access unit according to the first embodiment.
The DRAM access unit 32 includes a FIFO memory 32A, an activation processing unit 32B, an access type determination unit 32C, a DRAM writing unit 32D, and a DRAM reading unit 32E as main circuit units.

FIFOメモリ32Aは、一般的なFIFOメモリからなり、書込制御部34からのDRAM書込指示および読出制御部35からのDRAM読出指示を混在させて蓄積する機能と、活性化処理部32Bによるロウアドレスの活性化完了後、蓄積していたDRAM書込指示またはDRAM読出指示を入力順に読み出してアクセス種別判定部32Cへ出力する機能を有している。この際、アクセス種別判定のための情報として、書込制御部34からのDRAM書込指示なのか、もしくは、読出制御部35からのDRAM読出指示なのかを示す情報を、それぞれの指示と合わせてFIFOメモリ32Aに書き込んで、その情報もアクセス種別判定部32Cに出力するようにしてもよい。   The FIFO memory 32A is composed of a general FIFO memory. The FIFO memory 32A has a function of accumulating a DRAM write instruction from the write control unit 34 and a DRAM read instruction from the read control unit 35, and a row by the activation processing unit 32B. After the address activation is completed, it has a function of reading the stored DRAM write instruction or DRAM read instruction in the order of input and outputting it to the access type determination unit 32C. At this time, as information for determining the access type, information indicating whether it is a DRAM write instruction from the write control unit 34 or a DRAM read instruction from the read control unit 35 is combined with each instruction. The information may be written in the FIFO memory 32A and output to the access type determination unit 32C.

なお、後述する図16に示すアクセス調停部37を使用する場合、書込制御部34からのDRAM書込指示と読出制御部35からのDRAM読出指示が同時に入力されることはないはずであるが、これらが同時に入力された場合には、FIFOメモリ32Aに対するDRAM書込指示の書込みを優先し、FIFOメモリ32Aに対するDRAM読出指示の書込みを待たせるようにすればよい。   When an access arbitration unit 37 shown in FIG. 16 to be described later is used, a DRAM write instruction from the write control unit 34 and a DRAM read instruction from the read control unit 35 should not be input at the same time. If these are input simultaneously, the writing of the DRAM write instruction to the FIFO memory 32A is prioritized and the writing of the DRAM read instruction to the FIFO memory 32A is made to wait.

活性化処理部32Bは、FIFOメモリ32AにDRAM書込指示が蓄積された場合、当該書込対象ロウアドレスが活性化状態にない場合は、当該書込対象ロウアドレスを活性化する機能を有している。   The activation processing unit 32B has a function of activating the write target row address when the write target row address is not activated when the DRAM write instruction is accumulated in the FIFO memory 32A. ing.

また、活性化処理部32Bは、FIFOメモリ32AにDRAM読出指示が蓄積された場合、当該読出対象バンクにおいてDRAM読出指示で指定された読出対象ロウアドレスが活性化状態にない場合には、当該読出対象バンクにおいて読出対象ロウアドレスを活性化する機能と、当該読出対象バンクにおいて読出対象ロウアドレスとは異なるロウアドレスが活性化状態にある場合は、当該ロウアドレスへのアクセス完了に応じて、読出対象ロウアドレスを活性化する機能とを有している。   Further, the activation processing unit 32B, when the DRAM read instruction is stored in the FIFO memory 32A, when the read target row address specified by the DRAM read instruction is not in the active state in the read target bank, When the read target row address is activated in the target bank and a row address different from the read target row address is active in the read target bank, the read target is activated in response to the completion of access to the row address. And a function of activating the row address.

アクセス種別判定部32Cは、FIFOメモリ32Aから出力されたDRAM書込指示をDRAM書込部32Dへ振り分けて出力する機能と、FIFOメモリ32Aから出力されたDRAM読出指示をDRAM読出部32Eへ振り分けて出力する機能とを有している。   The access type determination unit 32C distributes the DRAM write instruction output from the FIFO memory 32A to the DRAM write unit 32D, and distributes the DRAM read instruction output from the FIFO memory 32A to the DRAM read unit 32E. It has a function to output.

DRAM書込部32Dは、入力されたDRAM書込指示における書込対象ロウアドレスと書込対象バンクとの組み合わせに基づき、指示されたコラムアドレスに、DRAM書込指示で指定されたフレームデータ(データD)を書き込む機能を有している。   Based on the combination of the write target row address and the write target bank in the input DRAM write instruction, the DRAM writing unit 32D sends the frame data (data) specified by the DRAM write instruction to the specified column address. D) has a function of writing.

この際、1格納アドレス分のフレームデータ(データD)の書き込みに、複数のコラムアドレスが必要な場合は、DRAMの機能であるバーストモードを用いて、連続するコラムアドレスに書き込みを行うようにしてもよく、書込所要時間を短縮できる。
また、データメモリ31に対してEoF値(PN)の書き込みも行う場合は、フレームデータの書き込みと同時に行えばよい。
At this time, if a plurality of column addresses are required for writing frame data (data D) for one storage address, the burst mode, which is a function of the DRAM, is used to write to consecutive column addresses. The writing time can be shortened.
Further, when the EoF value (PN) is also written to the data memory 31, it may be performed simultaneously with the writing of the frame data.

DRAM読出部32Eは、入力されたDRAM読出指示における読出対象ロウアドレスと読出対象バンクとの組み合わせに基づき、読出対象バンクの読出対象ロウアドレスのうち、指示されたコラムアドレスからフレームデータ(データD)を読み出して、キュー指定情報とともに読出制御部35へ出力する機能を有している。   Based on the combination of the read target row address and the read target bank in the input DRAM read instruction, the DRAM read unit 32E generates frame data (data D) from the indicated column address among the read target row addresses of the read target bank. Is read out and output to the read control unit 35 together with the queue designation information.

この際、1仮想格納アドレス分のフレームデータ(データD)の読み出しに、複数のコラムアドレスが必要な場合は、DRAMの機能であるバーストモードを用いて、連続するコラムアドレスから読み出しを行うようにしてもよく、読出所要時間を短縮できる。
また、データメモリ31に対してEoF値(PN)が書き込まれている場合は、フレームデータの読み出しと同時にEoF値の読み出しを行えばよい。
At this time, when a plurality of column addresses are required for reading frame data (data D) for one virtual storage address, reading is performed from successive column addresses using the burst mode which is a function of the DRAM. The time required for reading can be shortened.
When the EoF value (PN) is written in the data memory 31, the EoF value may be read simultaneously with the reading of the frame data.

読み出したEoF値は、フレームデータおよびキュー指定情報とともに読出制御部35へ出力すればよい。なお、データメモリ31にEoF値を書き込まない場合は、アドレスキュー管理メモリ(QM)33BにEoF値を書き込んでおき、読出制御部35がキュー指定情報とともにこのEoF値をDRAMアクセス部32に出力し、DRAM読出部32Eがデータメモリ31から読み出したフレームデータとともに、アクセス種別判定部32Cを介して受け取ったEoF値を読出制御部35へ出力すればよい。   The read EoF value may be output to the read control unit 35 together with the frame data and the queue designation information. When the EoF value is not written in the data memory 31, the EoF value is written in the address queue management memory (QM) 33B, and the read control unit 35 outputs this EoF value to the DRAM access unit 32 together with the queue designation information. The EoF value received via the access type determination unit 32C together with the frame data read from the data memory 31 by the DRAM reading unit 32E may be output to the read control unit 35.

[第1の実施の形態の動作]
次に、図8および図9を参照して、本実施の形態にかかる通信用入出力装置1で用いられる記録装置30の動作について説明する。
図8は、書込制御部における書込動作を示す説明図である。図9は、読出制御部における読出動作を示す説明図である。
[Operation of First Embodiment]
Next, the operation of the recording device 30 used in the communication input / output device 1 according to the present embodiment will be described with reference to FIGS.
FIG. 8 is an explanatory diagram showing a write operation in the write control unit. FIG. 9 is an explanatory diagram showing a read operation in the read control unit.

[書き込み動作]
まず、図8を参照して、記録装置30の書込制御部34における書き込み動作について説明する。
書込制御部34は、アクセス調停部37からの書き込み指示に応じて、図8の処理動作を実行する。新たなデータを書込対象キューに書き込んだ場合、各キューによるデータメモリ31の格納アドレスの共用という観点からすれば、キュー制御情報における主な変化としては、書き込み前後において、書込対象キューに関するキュー最終アドレスLARと、書込前のキュー最終アドレスに関する後続仮想アドレスADDと、各キューに共通する次書込アドレスVAR(選択されたバンクのVARのみ)と、アクセス履歴レジスタ(AAR)とが変化する。なお、書込対象キューに対する最初の書き込みである場合は、書込対象キューに関するキュー先頭アドレスSARも変化する。
[Write operation]
First, a writing operation in the writing control unit 34 of the recording device 30 will be described with reference to FIG.
The write control unit 34 executes the processing operation of FIG. 8 in response to a write instruction from the access arbitration unit 37. When new data is written to the write target queue, from the viewpoint of sharing the storage address of the data memory 31 by each queue, the main change in the queue control information is that the queue related to the write target queue before and after the write. The final address LAR, the subsequent virtual address ADD relating to the queue final address before writing, the next write address VAR (only in the selected bank VAR) common to each queue, and the access history register (AAR) change. . In the case of the first writing to the write target queue, the queue head address SAR regarding the write target queue also changes.

このため、図8の処理動作において、書込制御部34は、選択されたバンクの次書込アドレスVARに対する指定データの書き込み(書き込み指示の出力)、書込対象キューに関するキュー最終アドレスLARの更新、書込前のキュー最終アドレスに関する後続仮想アドレスADDの更新、各キューに共通する次書込アドレスVAR(選択されたバンクのVARのみ)の更新を行う。なお、書込対象キューに対する最初の書き込みである場合は、書込対象キューに関するキュー先頭アドレスの更新も行う。これら更新の詳細については動作例に基づいて後述する。   For this reason, in the processing operation of FIG. 8, the write control unit 34 writes specified data to the next write address VAR of the selected bank (outputs a write instruction), and updates the queue final address LAR regarding the write target queue. The subsequent virtual address ADD related to the queue final address before writing is updated, and the next write address VAR (only in the selected bank) is updated for each queue. In the case of the first writing to the write target queue, the queue head address related to the write target queue is also updated. Details of these updates will be described later based on an operation example.

この際、書込制御部34は、キュー制御メモリ33にアクセスすることにより、図8に示すステップW1〜W7を実行する。すなわち、LAR保持(W1)、LAR,SAR更新(W2)、VAR保持(W3)、ADD更新(W4)、VAR更新(W5)、PN更新(W6)、データ等の出力(W7)の順で処理を実行する。なお、図8の処理順序は、処理効率を考慮したものであるが、他の処理順序であってもよい。   At this time, the write control unit 34 accesses the queue control memory 33 to execute steps W1 to W7 shown in FIG. That is, in the order of LAR retention (W1), LAR, SAR update (W2), VAR retention (W3), ADD update (W4), VAR update (W5), PN update (W6), and data output (W7). Execute the process. Note that the processing order in FIG. 8 takes processing efficiency into consideration, but may be another processing order.

[読み出し動作]
次に、図9を参照して、記録装置30の読出制御部35における読み出し動作について説明する。
読出制御部35は、アクセス調停部37からの読み出し指示に応じて、図9の処理動作を実行する。新たなデータを読出対象キューから読み出した場合、各キューによるデータメモリ31の格納アドレスの共用という観点からすれば、キュー制御情報における主な変化としては、読み出し前後において、読出対象キューに関するキュー先頭アドレスSARと、各キューに共通する次書込アドレスVAR(読出対象バンクのVARのみ)と、新たな次書込アドレスVAR(読出対象バンクのVARのみ)に関する後続仮想アドレスADDと、アクセス履歴レジスタ(AAR)とが変化する。
[Read operation]
Next, with reference to FIG. 9, the reading operation in the reading control unit 35 of the recording apparatus 30 will be described.
The read control unit 35 executes the processing operation of FIG. 9 in response to a read instruction from the access arbitration unit 37. When new data is read from the read target queue, from the viewpoint of sharing the storage address of the data memory 31 by each queue, the main change in the queue control information is the queue head address related to the read target queue before and after the read. SAR, the next write address VAR common to each queue (only the VAR of the read target bank), the subsequent virtual address ADD related to the new next write address VAR (only the VAR of the read target bank), and the access history register (AAR) ) And change.

このため、図9の処理動作において、読出制御部35は、読出対象キューに関するキュー先頭アドレスSARに対するEoF(End of Frame:フレーム終端フラグ)の読み出し、読出対象キューに関するキュー先頭アドレスSARの更新、各キューに共通する次書込アドレスVAR(読出対象バンクのVARのみ)の更新、読出済仮想格納アドレスに関する後続仮想アドレスADDの更新、読み出し指示の出力を行う。これら更新の詳細については動作例に基づいて後述する。   For this reason, in the processing operation of FIG. 9, the read control unit 35 reads the EoF (End of Frame: frame end flag) for the queue head address SAR related to the read target queue, updates the queue head address SAR related to the read target queue, The next write address VAR (only the VAR of the read target bank) common to the queue is updated, the subsequent virtual address ADD related to the read virtual storage address is updated, and a read instruction is output. Details of these updates will be described later based on an operation example.

この際、読出制御部35は、キュー制御メモリ33にアクセスすることにより、図9に示すステップR1〜R5を実行する。すなわち、EoF出力(R1)、VAR保持(R2)、VAR更新(R3)、SAR更新(R4)、後続仮想アドレス更新(R5)、読み出し指示の出力の順で処理を実行する。なお、図9の処理順序は、処理効率を考慮したものであるが、他の処理順序であってもよい。   At this time, the read control unit 35 accesses the queue control memory 33 to execute steps R1 to R5 shown in FIG. That is, processing is executed in the order of EoF output (R1), VAR retention (R2), VAR update (R3), SAR update (R4), subsequent virtual address update (R5), and read instruction output. Note that the processing order in FIG. 9 takes processing efficiency into consideration, but other processing orders may be used.

[動作例]
次に、図10〜図13を参照して、記録装置30におけるフレームデータの書込動作および読出動作について、キューP2を読出・書込対象キューとし、このキューP2にデータP2−3が書込まれた後、データP2−1、P2−2を読み出し、さらにデータP1−4を書き込む場合を例に説明する。
[Operation example]
Next, referring to FIG. 10 to FIG. 13, for the frame data writing operation and reading operation in recording device 30, queue P2 is set as a read / write target queue, and data P2-3 is written to this queue P2. An example will be described in which the data P2-1 and P2-2 are read and the data P1-4 are written.

図10は、データP2−1読出直前(データP2−3書込直後)のキュー制御情報を示す説明図である。ここでは、データP2−1読出直前すなわちデータP2−3が書込まれた直後におけるキュー制御情報が示されている。この状態において、仮想データメモリのうち、バンク0の仮想格納アドレス「0,1,4」にキューP1のデータP1−1,P1−2,P1−3が書き込まれており、バンク0の仮想格納アドレス「2,3,5」にキューP2のデータP2−1,P2−2,P2−3が書き込まれている。また、バンク0の仮想格納アドレス「6〜N」とバンク1は未使用である。   FIG. 10 is an explanatory diagram showing queue control information immediately before reading data P2-1 (immediately after writing data P2-3). Here, queue control information immediately before reading data P2-1, that is, immediately after writing data P2-3 is shown. In this state, the data P1-1, P1-2, and P1-3 of the queue P1 are written in the virtual storage addresses “0, 1, 4” of the bank 0 in the virtual data memory, and the virtual storage of the bank 0 is performed. Data P2-1, P2-2, and P2-3 of the queue P2 are written at the address "2, 3, 5". Further, the virtual storage address “6 to N” of bank 0 and bank 1 are unused.

したがって、バンク0の次書込アドレスVARは「6」となり、バンク0の未書込アドレスUARも「6」である。また、キューP1のデータP1−1,P1−2,P1−3の順序に応じて、バンク0の仮想格納アドレス「0,1」に関する後続仮想アドレスADDはバンク0の「1,4」となり、キューP2のデータP2−1,P2−2,P2−3の順序に応じて、バンク0の仮想格納アドレス「2,3」に関する後続仮想アドレスADDはバンク0の「3,5」となっている。なお、バンク0の仮想格納アドレス「0,2」のポインタPNが「0」となっており、データP1−1,P2−1には、フレーム終端が含まれていないことがわかる。
なお、バンク1の次書込アドレスVARと未書込アドレスUARはともに初期値の0である。バンク1のADD、PNには何も格納されていない。
Therefore, the next write address VAR of bank 0 is “6”, and the unwritten address UAR of bank 0 is also “6”. Further, the subsequent virtual address ADD relating to the virtual storage address “0, 1” of the bank 0 becomes “1, 4” of the bank 0 according to the order of the data P1-1, P1-2, and P1-3 of the queue P1. In accordance with the order of the data P2-1, P2-2, and P2-3 in the queue P2, the subsequent virtual address ADD related to the virtual storage address “2, 3” in the bank 0 is “3, 5” in the bank 0. . Note that the pointer PN of the virtual storage address “0, 2” of the bank 0 is “0”, and it can be seen that the data P1-1 and P2-1 do not include the end of the frame.
Note that the next write address VAR and the unwritten address UAR of the bank 1 are both the initial value 0. Nothing is stored in the ADD and PN of the bank 1.

また、キューP1のキュー先頭アドレスSARは、データP1−1の仮想格納アドレス「バンク0の0」を示し、キュー最終アドレスLARは、データP1−3の仮想格納アドレス「バンク0の4」を示している。また、キューP2のキュー先頭アドレスSARは、データP2−1の仮想格納アドレス「バンク0の2」を示し、キュー最終アドレスLARは、データP2−3の仮想格納アドレス「バンク0の5」を示している。なお、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「バンク0の5」と「バンク0の3」が格納されている。   Further, the queue head address SAR of the queue P1 indicates the virtual storage address “bank 0 0” of the data P1-1, and the queue end address LAR indicates the virtual storage address “bank 0 4” of the data P1-3. ing. Further, the queue head address SAR of the queue P2 indicates the virtual storage address “bank 0-2” of the data P2-1, and the queue end address LAR indicates the virtual storage address “bank 0 of 5” of the data P2-3. ing. In addition, “bank 0-5” and “bank 0-3” are stored in the work next write address TMPV and work queue final address TMPL, respectively.

図10に示した状態において、キューP2のデータP2−1を読み出した場合、キュー制御情報は、図11のように変化する。図11は、データP2−1読出時におけるキュー制御情報の変化を示す説明図である。   In the state shown in FIG. 10, when the data P2-1 of the queue P2 is read, the queue control information changes as shown in FIG. FIG. 11 is an explanatory diagram showing changes in queue control information when reading data P2-1.

まず、キューP2に関するキュー先頭アドレスSARが示す読出対象仮想アドレス「バンク0の2」からデータP2−1が読み出されるため、読出対象仮想アドレス「バンク0の2」のデータDは空き状態となり、キューP2に関するデータはP2−2,P2−3の2つとなる。これにより、P2−2がキューP2の先頭データとなり、キュー先頭位置が仮想格納アドレス「バンク0の2」から「バンク0の3」に変化するため、キューP2に関するキュー先頭アドレスSARが「バンク0の2」から「バンク0の3」に更新される。   First, since the data P2-1 is read from the read target virtual address “bank 0-2” indicated by the queue head address SAR regarding the queue P2, the data D of the read target virtual address “bank 0-2” becomes empty, and the queue There are two data relating to P2, P2-2 and P2-3. As a result, P2-2 becomes the head data of the queue P2, and the queue head position changes from the virtual storage address “bank 0-2” to “bank 0-3”, so the queue head address SAR regarding the queue P2 is “bank 0”. No. 2 ”is updated to“ Bank 0 3 ”.

また、読出対象仮想アドレス「バンク0の2」のデータDは空き状態となったため、この仮想格納アドレス「バンク0の2」がバンク0用の次データの書込位置となる。これにより、バンク0用の次書込アドレスVARが「6」から「2」に更新される。また、これに伴って、旧次書込アドレスVAR「6」(バンク0用)と新次書込アドレスVAR「2」(バンク0用)との順序関係を維持するため、仮想格納アドレス「バンク0の2」の後続仮想アドレスADDが「バンク0の3」から「バンク0の6」に更新される。これにより、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「バンク0の6」と「バンク0の3」が格納される。   Further, since the data D of the read target virtual address “bank 0-2” is in an empty state, the virtual storage address “bank 0-2” becomes the write position of the next data for bank 0. As a result, the next write address VAR for bank 0 is updated from “6” to “2”. Accordingly, in order to maintain the order relationship between the old write address VAR “6” (for bank 0) and the new write address VAR “2” (for bank 0), the virtual storage address “bank” The subsequent virtual address ADD of “2 of 0” is updated from “3 of bank 0” to “6 of bank 0”. As a result, “bank 0-6” and “bank 0-3” are stored in the work next write address TMPV and work queue final address TMPL, respectively.

図11に示した状態において、キューP2のデータP2−2を読み出した場合、キュー制御情報は、図12のように変化する。図12は、データP2−2読出時におけるキュー制御情報の変化を示す説明図である。   When the data P2-2 in the queue P2 is read in the state shown in FIG. 11, the queue control information changes as shown in FIG. FIG. 12 is an explanatory diagram showing changes in the queue control information when reading data P2-2.

まず、キューP2に関するキュー先頭アドレスSARが示す読出対象仮想アドレス「バンク0の3」からデータP2−2が読み出されるため、読出対象仮想アドレス「バンク0の3」のデータDは空き状態となり、キューP2に関するデータはP2−3の1つとなる。これにより、P2−3がキューP2の先頭データとなり、キュー先頭位置が仮想格納アドレス「バンク0の3」から「バンク0の5」に変化するため、キューP2に関するキュー先頭アドレスSARが「バンク0の3」から「バンク0の5」に更新される。   First, since the data P2-2 is read from the read target virtual address “bank 0-3” indicated by the queue head address SAR relating to the queue P2, the data D of the read target virtual address “bank 0 3” becomes empty, and the queue Data relating to P2 is one of P2-3. As a result, P2-3 becomes the head data of the queue P2, and the queue head position changes from the virtual storage address “bank 0-3” to “bank 0-5”, so the queue head address SAR regarding the queue P2 is “bank 0”. No. 3 ”is updated to“ Bank 0 5 ”.

また、読出対象仮想アドレス「バンク0の3」のデータDは空き状態となったため、この仮想格納アドレス「バンク0の3」がバンク0用の次データの書込位置となる。これにより、バンク0用の次書込アドレスVARが「2」から「3」に更新される。また、これに伴って、旧次書込アドレスVAR「2」(バンク0用)と新次書込アドレスVAR「3」(バンク0用)との順序関係を維持するため、仮想格納アドレス「バンク0の3」の後続仮想アドレスADDが「バンク0の5」から「バンク0の2」に更新される。これにより、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「バンク0の2」と「バンク0の3」が格納される。   Further, since the data D of the read target virtual address “Bank 0-3” is in an empty state, the virtual storage address “Bank 0-3” becomes the write position of the next data for Bank 0. As a result, the next write address VAR for bank 0 is updated from “2” to “3”. Accordingly, in order to maintain the order relationship between the old write address VAR “2” (for bank 0) and the new write address VAR “3” (for bank 0), the virtual storage address “bank” The subsequent virtual address ADD of “3 of 0” is updated from “5 of bank 0” to “2 of bank 0”. As a result, “bank 0-2” and “bank 0-3” are stored in the work next write address TMPV and work queue final address TMPL, respectively.

図12に示した状態において、キューP1のデータP1−4を書き込みした場合、キュー制御情報は、図13のように変化する。図13は、データP1−4書込時におけるキュー制御情報の変化を示す説明図である。   When the data P1-4 of the queue P1 is written in the state shown in FIG. 12, the queue control information changes as shown in FIG. FIG. 13 is an explanatory diagram showing a change in queue control information when data P1-4 is written.

まず、バンクを選択する。AARに記録されている仮想アドレスはバンク0の0〜5のみであり、このケースでは、活性化されているバンクはバンク0のみであり、活性化されているロウアドレスはバンク0のVARのロウアドレスと一致する。従って、バンク0を選択して書き込みを行ってもよいが、直前のアクセスが読み出しであることを考慮してここでは別のバンク(バンク1)を選択する。
なお、このケースでバンク0を選択しない理由は、DRAMの仕様上、読み出し後の同一バンクに書き込みを行う場合に待ち時間が発生し、実効スループットが低下するためである。
First, select a bank. The virtual addresses recorded in the AAR are only 0 to 5 of the bank 0. In this case, the activated bank is only the bank 0, and the activated row address is the row of the VAR of the bank 0. Matches the address. Therefore, the bank 0 may be selected for writing, but another bank (bank 1) is selected here in consideration of the fact that the immediately preceding access is read.
In this case, the reason why the bank 0 is not selected is that due to the specifications of the DRAM, a waiting time occurs when writing to the same bank after reading, and the effective throughput is reduced.

バンク1の次書込アドレスVARが示す書込対象仮想アドレス「0」にデータP1−4が書き込まれるため、P1−4がキューP1の新たな最終データとなり、キュー最終位置が仮想格納アドレス「バンク0の4」から「バンク1の0」に変化するため、キューP1のキュー最終アドレスLARが「バンク0の4」から「バンク1の0」に更新される。   Since the data P1-4 is written to the write target virtual address “0” indicated by the next write address VAR of the bank 1, the P1-4 becomes the new final data of the queue P1, and the queue final position is the virtual storage address “bank Since the value changes from “4 of 0” to “0 of bank 1”, the queue final address LAR of the queue P1 is updated from “4 of bank 0” to “0 of bank 1”.

また、書込前にキュー最終データであったP1−3にP1−4が後続することになるため、P1−3の仮想格納アドレス「バンク0の4」の後続仮想アドレスとしてP2−4の仮想格納アドレス「バンク1の0」が設定される。また、書込前の次書込アドレスVAR(バンク1用)にP1−4が書き込まれたため、バンク1の次書込アドレスVARが「0」から「1」に更新される。なお、バンク1のUARも「0」から「1」に更新され、バンク0のVARとUARは更新されない。これにより、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「バンク1の0」と「バンク0の4」が格納される。   Also, since P1-4 follows P1-3 that was the last queue data before writing, the virtual storage address of P2-4 is the subsequent virtual address of the virtual storage address “Bank 0-4” of P1-3. The storage address “0 of bank 1” is set. Further, since P1-4 is written to the next write address VAR (for bank 1) before writing, the next write address VAR of bank 1 is updated from “0” to “1”. Note that the UAR of the bank 1 is also updated from “0” to “1”, and the VAR and UAR of the bank 0 are not updated. Thus, “0 in bank 1” and “4 in bank 0” are stored in the work next write address TMPV and the work queue final address TMPL, respectively.

[DRAM書込動作]
次に、図14を参照して、本実施の形態にかかるDRAMアクセス部32におけるDRAM書込動作について説明する。図14は、DRAM書込処理を示すフローチャートである。
DRAMアクセス部32は、書込制御部34からのDRAM書込指示に応じて、図14のDRAM書込処理を実行する。
[DRAM write operation]
Next, a DRAM write operation in the DRAM access unit 32 according to the present embodiment will be described with reference to FIG. FIG. 14 is a flowchart showing the DRAM writing process.
The DRAM access unit 32 executes the DRAM write process of FIG. 14 in response to a DRAM write instruction from the write control unit 34.

まず、活性化処理部32Bは、FIFOメモリ32Aに蓄積されたDRAM書込指示で指定された書込対象ロウアドレスが活性化状態にあるか確認し(ステップ100)、書込対象ロウアドレスが活性化状態にない場合は(ステップ100:NO)、書込対象ロウアドレスの活性化を行って(ステップ101)、活性化処理を完了する。なお、書込対象ロウアドレスが活性化状態にある場合(ステップ100:YES)、何もせず活性化処理を完了する。   First, the activation processing unit 32B confirms whether or not the write target row address designated by the DRAM write instruction stored in the FIFO memory 32A is in an activated state (step 100), and the write target row address is activated. If not in the activated state (step 100: NO), the write target row address is activated (step 101), and the activation process is completed. If the write target row address is in the activated state (step 100: YES), the activation process is completed without doing anything.

活性化処理部32Bでの活性化処理を完了後、DRAM書込指示はFIFOメモリ32Aから出力され、アクセス種別判定部32Cを介してDRAM書込部32Dに入力される。
これに応じて、DRAM書込部32Dは、入力されたDRAM書込指示に対応するコラムアドレスに、DRAM書込指示で指定されたフレームデータ(データD)を書き込んだ後(ステップ102)、一連のDRAM書込処理を終了する。
After completing the activation processing in the activation processing unit 32B, the DRAM write instruction is output from the FIFO memory 32A and input to the DRAM writing unit 32D via the access type determination unit 32C.
In response to this, the DRAM writing unit 32D writes the frame data (data D) specified by the DRAM write instruction to the column address corresponding to the input DRAM write instruction (step 102), and then a series of The DRAM writing process is terminated.

本実施の形態では、データメモリ31を構成するDRAMにフレームデータを書き込む際、書込制御部34により、DRAMが持つ各バンクのうちから、書込対象ロウアドレスが活性化状態にあるバンクが書込対象バンクとして優先的に選択される。これにより、同一バンクの異なるロウアドレスへの書き込みが発生する確率が低減されることになる。このため、フレームデータ書込時におけるロウアドレスの活性化や、異なるロウアドレスに対するアクセス完了を待つ回数が削減されることになり、DRAMアクセスの実効スループットの低下が抑制される。   In this embodiment, when writing frame data to the DRAM constituting the data memory 31, the write control unit 34 writes a bank whose write target row address is in an activated state from among the banks of the DRAM. Is preferentially selected as a bank to be included. This reduces the probability that writing to different row addresses in the same bank will occur. For this reason, the number of times of waiting for the activation of the row address at the time of writing the frame data and the completion of the access to the different row address is reduced, and the decrease in the effective throughput of the DRAM access is suppressed.

[DRAM読出動作]
次に、図15を参照して、本実施の形態にかかるDRAMアクセス部32におけるDRAM読出動作について説明する。図15は、DRAM読出処理を示すフローチャートである。
DRAMアクセス部32は、読出制御部35からのDRAM読出指示に応じて、図15のDRAM読出処理を実行する。
[DRAM read operation]
Next, with reference to FIG. 15, a DRAM read operation in the DRAM access unit 32 according to the present embodiment will be described. FIG. 15 is a flowchart showing DRAM read processing.
The DRAM access unit 32 executes the DRAM read processing of FIG. 15 in response to a DRAM read instruction from the read control unit 35.

まず、活性化処理部32Bは、FIFOメモリ32Aに蓄積されたDRAM読出指示で指定された読出対象バンクにおいて、読出対象ロウアドレスが活性化状態にあるか確認し(ステップ110)、読出対象ロウアドレスが活性化状態にある場合(ステップ110:YES)、何もせず活性化処理を完了する。   First, the activation processing unit 32B confirms whether or not the read target row address is in an activated state in the read target bank specified by the DRAM read instruction stored in the FIFO memory 32A (step 110), and reads the read target row address. Is in the activated state (step 110: YES), the activation process is completed without doing anything.

活性化処理部32Bでの活性化処理を完了後、DRAM読出指示はFIFOメモリ32Aから出力され、アクセス種別判定部32Cを介してDRAM読出部32Eに入力される。
これに応じて、DRAM読出部32Eは、入力されたDRAM読出指示に対応する読出対象バンクの読出対象ロウアドレスのうち、指示されたコラムアドレスからフレームデータ(データD)を読み出した後(ステップ114)、DRAM読出処理を終了する。
After completing the activation process in the activation processing unit 32B, a DRAM read instruction is output from the FIFO memory 32A and input to the DRAM read unit 32E via the access type determination unit 32C.
In response, DRAM read unit 32E reads frame data (data D) from the designated column address among the read target row addresses of the read target bank corresponding to the input DRAM read instruction (step 114). ), The DRAM reading process is terminated.

また、読出対象バンクの読出対象ロウアドレスが活性化状態にない場合(ステップ110:NO)、活性化処理部32Bは、読出対象バンクにおいて異なるロウアドレスが活性化状態にあるか確認する(ステップ111)。
ここで、異なるロウアドレスが活性化状態にない場合(ステップ111:NO)、活性化処理部32Bは、読出対象バンクの読出対象ロウアドレスを活性化し(ステップ113)、活性化処理を完了する。これにより、DRAM読出部32Eにおいて、活性化された読出対象ロウアドレスからの読み出しが行われることになる。
When the read target row address of the read target bank is not in the activated state (step 110: NO), the activation processing unit 32B confirms whether a different row address is in the activated state in the read target bank (step 111). ).
Here, if a different row address is not in the activated state (step 111: NO), the activation processing unit 32B activates the read target row address of the read target bank (step 113) and completes the activation process. As a result, the DRAM reading unit 32E performs reading from the activated read target row address.

また、異なるロウアドレスが活性化状態にある場合(ステップ111:YES)、活性化処理部32Bは、異なるロウアドレスへのアクセスが完了するまで待機した後(ステップ112)、ステップ113へ移行して、前述と同様に読出対象ロウアドレスの活性化を行う。   If a different row address is in an activated state (step 111: YES), the activation processing unit 32B waits until the access to the different row address is completed (step 112), and then proceeds to step 113. The read target row address is activated as described above.

このように、データメモリ31を構成するDRAMからフレームデータを読み出す際、読出対象となるフレームデータが特定のバンクに書き込まれていることから、書き込み時のように、ロウアドレスが活性化状態にあるバンクを選択することはできない。このため、同一バンクの異なるロウアドレスからの読み出しや、書き込み後の同一バンクからの読み出しにおいて待ち時間が発生するものとなる。なお、同一バンクの異なるロウアドレスからの読み出しについては、異なるロウアドレスからの読み出しが連続しないように、例えば、両者の間に書き込みが挿入されるよう処理間隔をあけるようにしてもよい。   As described above, when reading frame data from the DRAM constituting the data memory 31, since the frame data to be read is written in a specific bank, the row address is in an activated state as in writing. You cannot select a bank. Therefore, a waiting time occurs when reading from different row addresses in the same bank or reading from the same bank after writing. For reading from different row addresses in the same bank, a processing interval may be provided so that, for example, writing is inserted between the two row addresses so that reading from different row addresses does not continue.

[第1の実施の形態の効果]
このように、本実施の形態は、記録装置30において、データメモリ31をバンクごとにライトポインタを有するDRAMから構成して、書込対象キューにフレームデータを書き込む際、バンクのうちライトポインタに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該フレームデータを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該フレームデータを書き込むようにしたものである。
[Effect of the first embodiment]
As described above, according to the present embodiment, in the recording apparatus 30, when the data memory 31 is composed of a DRAM having a write pointer for each bank and frame data is written to the write target queue, it corresponds to the write pointer in the bank. If the bank in which the write target row address to be activated is selected as the write target bank and the frame data is written, and there is no bank in which the write target row address is in the active state, the write The frame data is written after the bank in which the target row address is inactivated is selected as the write target bank and the write target row address is activated.

一般に、DRAMでは、任意のバンクの任意のロウアドレスにデータを書き込む場合、当該バンクにおいて当該ロウアドレスを活性化する必要があり、同一バンクの異なるロウアドレスにアクセスする場合には、当該ロウアドレスを用いたアクセスが完了するのを待ってから、新たなロウアドレスを活性化する必要があるため、同一バンクへのアクセスにおいて、ロウアドレスの活性化に起因して比較的大きな待ち時間が発生する。具体的には、同一バンクの異なるロウアドレスへのアクセスが連続した場合である。その他に待ち時間が発生する条件として、読み出し後の同一バンクに書き込みを行う場合、および、書き込み後の同一バンクから読み出しを行う場合がある。   In general, in a DRAM, when writing data to an arbitrary row address of an arbitrary bank, it is necessary to activate the row address in the bank. When accessing a different row address of the same bank, the row address is Since it is necessary to activate a new row address after waiting for the used access to be completed, a relatively large waiting time occurs due to the activation of the row address in accessing the same bank. Specifically, this is a case where accesses to different row addresses in the same bank are continuous. As other conditions for waiting time, there are a case where writing is performed in the same bank after reading and a case where reading is performed from the same bank after writing.

本実施形態によれば、データメモリ31を構成するDRAMにフレームデータを書き込む際、DRAMが持つ各バンクのうちから、書込対象ロウアドレスが活性化状態にあるバンクが書込対象バンクとして優先的に選択される。
これにより、同一バンクの異なるロウアドレスへの書き込みが発生する確率を低減することができる。したがって、フレームデータ書込時におけるロウアドレスの活性化や、異なるロウアドレスに対するアクセス完了を待つ回数を低減させることができ、DRAMアクセスに関する実効スループットの低下を抑制することが可能となる。
According to the present embodiment, when writing frame data to the DRAM constituting the data memory 31, the bank in which the write target row address is activated is preferentially set as the write target bank among the banks of the DRAM. Selected.
This can reduce the probability of writing to different row addresses in the same bank. Therefore, it is possible to reduce the number of times of waiting for the activation of the row address at the time of writing the frame data and the completion of the access to the different row address, and it is possible to suppress the decrease in the effective throughput related to the DRAM access.

また、本実施の形態において、記録装置30において、仮想格納アドレスごとに、当該仮想格納アドレスに書き込まれた通信データに後続する通信データの仮想格納アドレスを示す後続アドレスを記憶し、キューごとに、当該キューの通信データが書き込まれている仮想格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、各キューに共通して、次に通信データを書き込むべき仮想格納アドレスを示す次書込アドレスをバンクごとに記憶するようにしてもよい。   In the present embodiment, the recording device 30 stores, for each virtual storage address, a subsequent address indicating a virtual storage address of communication data subsequent to the communication data written to the virtual storage address, and for each queue, Stores the queue head address and queue end address indicating the beginning and end of the virtual storage address where the communication data of the queue is written, and the next indicates the virtual storage address where the communication data is to be written next in common for each queue. The write address may be stored for each bank.

これに加えて、書込制御部34が、書込対象キューに通信データを書き込む(書き込み指示を行う)際、選択されたバンクの次書込アドレスからなる書込対象仮想アドレスに当該通信データを書き込み、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続仮想アドレス、および選択されたバンクの次書込アドレスをそれぞれ更新し、読出制御部35が、読出対象キューから通信データを読み出す(読み出し指示を行う)際、当該読出対象キューのキュー先頭アドレスからなる読出対象仮想アドレス(バンク情報を含む)から当該通信データを読み出し、当該読出対象キューのキュー先頭アドレス、読出対象バンクの次書込アドレス、および新たな次書込アドレス(読出対象バンク用)に関する後続仮想アドレスをそれぞれ更新するようにしてもよい。   In addition to this, when the write control unit 34 writes communication data to the write target queue (performs a write instruction), the communication control unit 34 writes the communication data to the write target virtual address composed of the next write address of the selected bank. Write, the queue final address of the write target queue, the subsequent virtual address related to the queue final address before writing, and the next write address of the selected bank are updated, and the read control unit 35 communicates from the read target queue. When reading data (performing a read instruction), the communication data is read from a read target virtual address (including bank information) consisting of the queue start address of the read target queue, and the queue start address of the read target queue and the read target bank Next write address and subsequent virtual address related to new next write address (for read target bank) Vinegar may be updated, respectively.

これにより、各キューのフレームデータが、空き状態にある仮想格納アドレスに順次書き込まれ、フレームデータが読み出された仮想格納アドレスが再び空き状態として管理されることになる。またキューごとに書き込まれた順序でフレームデータの仮想格納アドレスが管理されることになる。空き状態にある仮想格納アドレスについては、複数のキューで共用することができ、従来のキューごとに予めアドレス範囲を固定的に確保しておく場合と比較して、メモリの使用効率を高めることが可能となる。このため、メモリ容量の増大を行う必要がなくなり、結果として回路規模やコストの増大を抑制することが可能となる。   As a result, the frame data of each queue is sequentially written to the virtual storage address in the free state, and the virtual storage address from which the frame data has been read out is managed again as a free state. Further, the virtual storage address of the frame data is managed in the order of writing for each queue. A virtual storage address in an empty state can be shared by a plurality of queues, and the use efficiency of the memory can be improved as compared with a case where a fixed address range is secured in advance for each conventional queue. It becomes possible. For this reason, it is not necessary to increase the memory capacity, and as a result, an increase in circuit scale and cost can be suppressed.

また、本実施の形態は、QM内のADD値等の初期値を設定する必要が無いという特徴がある。本実施の形態において、通信用入出力装置の起動時に初期値を設定する必要がある情報はVAR、UARと、AARのみである(図8の「Initialization」を参照)。従って、初期設定を行うための回路の規模、もしくは、初期設定を行うためのソフトウエアの規模が極めて小さく、初期設定に要する時間も極めて小さいという効果が有る。
なお、図8等において、EoF値格納用のPNをQM内に搭載する場合を例示しているが、PNをDRAM内に搭載することも可能である。
In addition, this embodiment has a feature that it is not necessary to set an initial value such as an ADD value in the QM. In the present embodiment, only the VAR, UAR, and AAR need to set initial values when the communication input / output device is activated (see “Initialization” in FIG. 8). Therefore, the scale of the circuit for performing the initial setting or the scale of the software for performing the initial setting is extremely small, and the time required for the initial setting is extremely small.
8 and the like illustrate the case where the PN for storing the EoF value is mounted in the QM, but the PN can also be mounted in the DRAM.

[第2の実施の形態]
次に、図16を参照して、本発明の第2の実施の形態にかかる通信用入出力装置1について説明する。図16は、第2の実施の形態にかかるアクセス調停部の構成を示すブロック図である。
[Second Embodiment]
Next, a communication input / output device 1 according to a second embodiment of the present invention will be described with reference to FIG. FIG. 16 is a block diagram illustrating a configuration of an access arbitration unit according to the second embodiment.

第1の実施の形態にかかる通信用入出力装置1において、仮想データメモリの仮想格納アドレスを複数のキューで共用するようにした際に、例えば、特定の出力系統に関するフレームデータが多量に入力された場合、仮想データメモリの仮想格納アドレスが当該出力系統のキューにより占有されてしまうという場合がある。このような格納アドレスの占有は、第1の実施の形態に限定されるものではなく、格納アドレスを複数のキューで共用する構成であれば、いずれの構成であっても発生しうる。したがって、このような格納アドレスの占有が発生した場合、他の出力系統のキューが十分な格納アドレス数を使用できず、フレームデータの破棄が発生しやすくなり、通信品質が劣化する原因となる。   In the communication input / output device 1 according to the first embodiment, when the virtual storage address of the virtual data memory is shared by a plurality of queues, for example, a large amount of frame data related to a specific output system is input. In this case, the virtual storage address of the virtual data memory may be occupied by the queue of the output system. Such occupation of the storage address is not limited to the first embodiment, and can occur in any configuration as long as the storage address is shared by a plurality of queues. Therefore, when such a storage address occupancy occurs, the queues of other output systems cannot use a sufficient number of storage addresses, frame data is easily discarded, and communication quality deteriorates.

本実施の形態は、このような複数のキューによる格納アドレスの共用時における、特定キューによる格納アドレスの占有を回避することを目的とし、記録装置30において、アクセス調停部37が、書込対象キューにフレームデータを書き込む(書き込み指示を行う)際、当該フレームデータのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、キュー使用アドレス数メモリ36から取得した当該書込対象キューまたは各キューの使用仮想アドレス数に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残り仮想アドレス数を算出し、当該必要アドレス数と当該残り仮想アドレス数とを比較することにより当該フレームデータの書込可否を判定し、書込可の判定に応じて書込制御部34に対して当該フレームデータの書き込みを指示するようにしたものである。   The purpose of this embodiment is to avoid occupying a storage address by a specific queue when the storage address is shared by a plurality of queues. In the recording apparatus 30, the access arbitration unit 37 has a write target queue. When the frame data is written in (instructed to write), the necessary address number indicating the number of virtual storage addresses required for writing is calculated based on the data length of the frame data and obtained from the queue use address number memory 36 Based on the number of virtual addresses used in the write target queue or each queue, the number of remaining virtual addresses indicating the number of virtual storage addresses that can be used for the write is calculated, and the required number of addresses and the number of remaining virtual addresses are compared. To determine whether or not the frame data can be written, and in accordance with the determination of whether or not writing is possible, the write control unit It is obtained so as to direct the writing of the frame data to 4.

図16に示すように、本実施の形態において、アクセス調停部37には、主な回路部として、書込可否判定部37A、書込用FIFO37B、読出受付部37C、読出用FIFO37D、優先制御部37E、キュー使用アドレス数更新部37F、および指示出力部37Gが設けられている。   As shown in FIG. 16, in this embodiment, the access arbitration unit 37 includes, as main circuit units, a write enable / disable determination unit 37A, a write FIFO 37B, a read reception unit 37C, a read FIFO 37D, and a priority control unit. 37E, a queue use address number updating unit 37F, and an instruction output unit 37G are provided.

書込可否判定部37Aは、多重化装置10から転送されたフレームデータに付加されているキュー指定情報およびフレーム長情報と、キューごとに予め設定されている判定用アドレス数情報と、各キューの使用仮想アドレス数とに基づいて、書込可能か否か判定する機能と、書込可の判定結果に応じて、当該フレームデータを、データメモリ31に設けられている格納領域の1仮想アドレス分のデータサイズに分割し、得られたデータにキュー指定情報を付加した書き込み指示を、それぞれ書込用FIFO37Bに書き込む機能とを有している。   The write enable / disable determining unit 37A includes queue designation information and frame length information added to the frame data transferred from the multiplexing device 10, determination address number information set in advance for each queue, and information on each queue. Based on the number of used virtual addresses, the function determines whether or not writing is possible, and the frame data corresponding to one virtual address of the storage area provided in the data memory 31 according to the determination result of writing And a write instruction in which queue designation information is added to the obtained data, respectively, is written to the write FIFO 37B.

判定用アドレス数情報には、当該キュー指定情報で指定された書込対象キューで使用可能な最大仮想アドレス数NKmaxと、当該書込対象キューに対して使用が保証されている最低保証仮想アドレス数NKminとが含まれている。
図17は、判定用アドレス数情報の構成例である。ここではキューを識別するためのキューIDごとに、最大仮想アドレス数NKmaxと最低保証仮想アドレス数NKminとが設定されている。これら判定用アドレス数情報は、例えばキュー使用アドレス数更新部37F、あるいはアクセス調停部37の内部メモリ(図示せず)で記憶されている。
The determination address number information includes the maximum number of virtual addresses NKmax that can be used in the write target queue specified by the queue specification information, and the minimum guaranteed virtual address number that is guaranteed to be used for the write target queue. NKmin.
FIG. 17 is a configuration example of the determination address number information. Here, a maximum virtual address number NKmax and a minimum guaranteed virtual address number NKmin are set for each queue ID for identifying a queue. The determination address number information is stored in, for example, the queue use address number update unit 37F or the internal memory (not shown) of the access arbitration unit 37.

読出受付部37Cは、多重分離装置20から出力された読み出し要求の読出データ量情報に基づいて、データメモリ31に対する読み出し回数を計算し、その読み出し回数だけ当該読み出し要求のキュー指定情報を読み出し指示として読出用FIFO37Dに書き込む機能を有している。この計算は、読出データ量情報が示すデータ量をデータメモリ31の1仮想アドレスあたりのデータサイズで除算した値を読み出し回数とし、剰余がある場合は読み出し回数に1を加算すればよい。   The read accepting unit 37C calculates the number of reads to the data memory 31 based on the read data amount information of the read request output from the demultiplexer 20, and uses the queue designation information of the read request as a read instruction for the number of times of reading. It has a function of writing to the reading FIFO 37D. In this calculation, a value obtained by dividing the data amount indicated by the read data amount information by the data size per virtual address of the data memory 31 is used as the number of readings, and if there is a remainder, 1 may be added to the number of readings.

優先制御部37Eは、書込用FIFO37Bもしくは読出用FIFO37Dから、書き込み指示もしくは読み出し指示を読み出して、キュー使用アドレス数更新部37Fへ出力する機能と、書込用FIFO37Bと読出用FIFO37Dの双方に、書き込み指示と読み出し指示が存在する場合は、書込用FIFO37Bからの書き込み指示を優先して読み出す機能とを有している。   The priority control unit 37E reads the write instruction or the read instruction from the write FIFO 37B or the read FIFO 37D and outputs it to the queue use address number update unit 37F, and both the write FIFO 37B and the read FIFO 37D In the case where there are a write instruction and a read instruction, it has a function of preferentially reading the write instruction from the write FIFO 37B.

キュー使用アドレス数更新部37Fは、優先制御部37Eから書き込み指示が入力された場合は、キュー使用アドレス数メモリ36のうち、当該書き込み指示のキュー指定情報と対応する書込対象キューの使用仮想アドレス数に1を加算し、当該書き込み指示を指示出力部37Gへ出力する機能と、優先制御部37Eから読み出し指示が入力された場合は、キュー使用アドレス数メモリ36のうち、当該読み出し指示のキュー指定情報と対応する読出対象キューの使用仮想アドレス数から1を減算し、当該読み出し指示を指示出力部37Gへ出力する機能とを有している。   When a write instruction is input from the priority control unit 37E, the queue use address number update unit 37F in the queue use address number memory 36 uses the write target queue use virtual address corresponding to the queue designation information of the write instruction. 1 is added to the number, and when the read instruction is input from the priority control unit 37E, and the function of outputting the write instruction to the instruction output unit 37G, the queue designation of the read instruction in the queue use address number memory 36 It has a function of subtracting 1 from the number of virtual addresses used in the read target queue corresponding to the information and outputting the read instruction to the instruction output unit 37G.

指示出力部37Gは、キュー使用アドレス数更新部37Fから書き込み指示が入力された場合は、当該書き込み指示を書込制御部34へ出力する機能と、読み出し指示が入力された場合は、当該読み出し指示を読出制御部35へ出力する機能とを有している。   The instruction output unit 37G has a function of outputting the write instruction to the write control unit 34 when a write instruction is input from the queue use address number updating unit 37F, and a read instruction when the read instruction is input. Is output to the read control unit 35.

[第2の実施の形態の動作]
次に、図18を参照して、本実施の形態にかかるアクセス調停部37の動作として、フレームデータの書き込み時における書込判定動作について説明する。図18は、第2の実施の形態にかかる書込可否判定処理を示すフローチャートである。
記録装置30のアクセス調停部37は、多重化装置10から転送されたフレームデータごとに、図18の書込可否判定処理に基づいて、書込可否を判定する。
[Operation of Second Embodiment]
Next, with reference to FIG. 18, a write determination operation at the time of writing frame data will be described as an operation of the access arbitration unit 37 according to the present embodiment. FIG. 18 is a flowchart illustrating the write permission / inhibition determination process according to the second embodiment.
The access arbitration unit 37 of the recording device 30 determines whether or not writing is possible for each frame data transferred from the multiplexing device 10 based on the writeability determination processing of FIG.

まず、アクセス調停部37は、キュー使用アドレス数メモリ36から全キューに関する使用仮想アドレス数NKを取得して(ステップ200)、全キューが使用している合計仮想アドレス数NKAを算出し(ステップ201)、書込対象となる対象フレームデータの書き込みに要する必要仮想アドレス数NFを算出する(ステップ202)。   First, the access arbitration unit 37 acquires the used virtual address number NK for all the queues from the queue used address number memory 36 (Step 200), and calculates the total virtual address number NKA used by all the queues (Step 201). ) The required virtual address number NF required for writing the target frame data to be written is calculated (step 202).

この後、仮想データメモリの仮想格納アドレスの総アドレス数NAからNKAを減算することにより、対象フレームデータの書き込みに使用可能な仮想格納アドレスの数を示す残り仮想アドレス数NRを算出し(ステップ203)、NFとNRとを比較する(ステップ204)。
ここで、NF>NRの場合(ステップ204:YES)、アクセス調停部37は、書込不可と判定して対象フレームデータを破棄し(ステップ213)、当該対象フレームデータに関する書込判定処理を終了する。
Thereafter, by subtracting NKA from the total address number NA of the virtual storage addresses of the virtual data memory, the remaining virtual address number NR indicating the number of virtual storage addresses that can be used for writing the target frame data is calculated (step 203). ), NF and NR are compared (step 204).
Here, when NF> NR (step 204: YES), the access arbitration unit 37 determines that writing is not possible, discards the target frame data (step 213), and terminates the write determination processing for the target frame data. To do.

一方、NF≦NRの場合(ステップ204:NO)、アクセス調停部37は、指定された書込対象キューの最大仮想アドレス数NKmaxをキュー使用アドレス数メモリ36等から取得して(ステップ205)、NKmaxからNKを減算することにより残り仮想アドレス数NRを算出し(ステップ206)、NFとNRとを比較する(ステップ207)。
ここで、NF>NRの場合(ステップ207:YES)、アクセス調停部37は、書込不可と判定して対象フレームデータを破棄し(ステップ213)、当該対象フレームデータに関する書込判定処理を終了する。
On the other hand, when NF ≦ NR (step 204: NO), the access arbitration unit 37 acquires the maximum virtual address number NKmax of the designated write target queue from the queue use address number memory 36 or the like (step 205), The number of remaining virtual addresses NR is calculated by subtracting NK from NKmax (step 206), and NF and NR are compared (step 207).
Here, when NF> NR (step 207: YES), the access arbitration unit 37 determines that writing is not possible, discards the target frame data (step 213), and finishes the write determination process for the target frame data. To do.

一方、NF≦NRの場合(ステップ207:NO)、アクセス調停部37は、全キューに関する最低保証仮想アドレス数NKminをキュー使用アドレス数メモリ36から取得し(ステップ208)、全キューを一括して最低限保証すべき総保証仮想アドレス数NAminを算出する(ステップ209)。この際、任意のキューのキュー使用仮想アドレス数NKがその最低保証仮想アドレス数以上である場合は、当該キューの保証仮想アドレス数としてキュー使用仮想アドレス数NKを加算し、キュー使用仮想アドレス数NKがその最低保証仮想アドレス数未満である場合は、当該キューの保証仮想アドレス数として最低保証仮想アドレス数NKminを加算する。   On the other hand, when NF ≦ NR (step 207: NO), the access arbitration unit 37 acquires the minimum guaranteed virtual address number NKmin for all the queues from the queue use address number memory 36 (step 208), and collects all the queues at once. The total guaranteed virtual address number NAmin to be guaranteed at least is calculated (step 209). At this time, if the queue use virtual address number NK of an arbitrary queue is equal to or greater than the minimum guaranteed virtual address number, the queue use virtual address number NK is added as the guaranteed virtual address number of the queue, and the queue use virtual address number NK Is less than the minimum guaranteed virtual address number, the minimum guaranteed virtual address number NKmin is added as the guaranteed virtual address number of the queue.

この後、アクセス調停部37は、NAからNAminを減算することにより残り仮想アドレス数NRを算出し(ステップ210)、NFとNRとを比較する(ステップ211)。
ここで、NF>NRの場合(ステップ211:YES)、アクセス調停部37は、書込不可と判定して対象フレームデータを破棄し(ステップ213)、当該対象フレームデータに関する書込判定処理を終了する。
Thereafter, the access arbitration unit 37 calculates the remaining virtual address number NR by subtracting NAmin from NA (step 210), and compares NF and NR (step 211).
Here, if NF> NR (step 211: YES), the access arbitration unit 37 determines that writing is not possible, discards the target frame data (step 213), and ends the write determination processing for the target frame data. To do.

一方、NF≦NRの場合(ステップ211:NO)、アクセス調停部37は、対象フレームデータについて書込可と判定し(ステップ212)、当該対象フレームデータに関する書込判定処理を終了する。
この後、この書込可の判定に応じて、アクセス調停部37は、対象フレームデータを1仮想アドレス分のデータサイズに分割し、得られたデータにキュー指定情報を付加した書き込み指示を、それぞれ書込用FIFO37Bに書き込むことになる。
On the other hand, if NF ≦ NR (step 211: NO), the access arbitration unit 37 determines that the target frame data can be written (step 212), and ends the write determination process for the target frame data.
Thereafter, the access arbitration unit 37 divides the target frame data into data sizes corresponding to one virtual address according to the determination of whether or not writing is possible, and issues a write instruction in which queue designation information is added to the obtained data. The data is written to the write FIFO 37B.

[第2の実施の形態の効果]
このように、本実施の形態は、記録装置30において、キュー使用アドレス数メモリ36が、キューごとに、当該キューが使用している仮想格納アドレスの数を示す使用アドレス数を記憶し、アクセス調停部37が、書込対象キューに通信データを書き込む(書き込み指示を行う)際、当該通信データのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、キュー使用アドレス数メモリ36から取得した当該書込対象キューまたは各キューの使用仮想アドレス数等に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残り仮想アドレス数を算出し、当該必要アドレス数と当該残り仮想アドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて書込制御部34に対して当該通信データの書き込みを指示するようにしたものである。
[Effect of the second embodiment]
As described above, according to the present embodiment, in the recording device 30, the queue use address number memory 36 stores the use address number indicating the number of virtual storage addresses used by the queue for each queue. When the unit 37 writes communication data to the write target queue (instructs writing), the unit 37 calculates the necessary number of addresses indicating the number of virtual storage addresses required for writing based on the data length of the communication data, Based on the number of virtual addresses used for the write target queue or each queue acquired from the used address number memory 36, the number of remaining virtual addresses indicating the number of virtual storage addresses that can be used for the write is calculated, and the required number of addresses Is compared with the number of remaining virtual addresses to determine whether or not the communication data can be written, and written according to the determination of whether or not writing is possible. It is obtained so as to direct the writing of the communication data to the control unit 34.

したがって、それぞれのキューによる仮想格納アドレスの使用数が制限されるため、任意の出力系統と対応するキューによる仮想格納アドレスの占有を抑止することができる。このため、特定の出力系統に関するフレームデータが多量に入力された場合でも、他の出力系統のキューが十分な仮想格納アドレス数を使用することが可能となる。これにより、フレームデータの破棄やこれによる通信品質の劣化を抑制することが可能となるとともに、これら対策として、メモリ容量の増大を行う必要がなくなり、結果として回路規模やコストの増大を抑制することが可能となる。   Therefore, since the number of virtual storage addresses used by each queue is limited, occupation of the virtual storage address by a queue corresponding to an arbitrary output system can be suppressed. For this reason, even when a large amount of frame data related to a specific output system is input, it is possible for the queues of other output systems to use a sufficient number of virtual storage addresses. As a result, it becomes possible to suppress the discarding of frame data and the deterioration of communication quality due to this, and as a countermeasure, it is not necessary to increase the memory capacity, and as a result, the increase in circuit scale and cost is suppressed Is possible.

なお、本実施の形態におけるNKA及びNAminの算出は、キュー使用アドレス数メモリ36を更新する際に同時に算出(加算、減算等)することができる。
本実施の形態において、図16の構成のアクセス調停部37を用いる場合、書込用FIFO37Bに書き込み指示データが存在していると誤って書込可能と判定してしまう可能性がある。誤った判定を防止するためには、各キューの使用仮想アドレス数としてキュー使用アドレス数メモリ36の情報に書込用FIFO37B内の仮想アドレス数(書き込み指示の数)を加算した値を使用するか、NAもしくはNKmaxとして書込用FIFO37B内の仮想アドレス数(書き込み指示の数)を減算した値を使用すればよい。
Note that NKA and NAmin in this embodiment can be calculated (added, subtracted, etc.) at the same time when the queue use address number memory 36 is updated.
In the present embodiment, when the access arbitration unit 37 having the configuration shown in FIG. 16 is used, there is a possibility that it is erroneously determined that writing is possible if write instruction data exists in the write FIFO 37B. In order to prevent erroneous determination, whether to use a value obtained by adding the number of virtual addresses in the write FIFO 37B (the number of write instructions) to the information in the queue used address number memory 36 as the used virtual address number of each queue. , NA or NKmax may be a value obtained by subtracting the number of virtual addresses (the number of write instructions) in the write FIFO 37B.

[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
[Extended embodiment]
The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. In addition, each embodiment can be implemented in any combination within a consistent range.

上記の各実施の形態において、通信用入出力装置1でマルチキャストフレームを処理する場合、出力系統の1つとしてマルチキャスト用出力系統を設けるとともに多重分離装置20内の振分部22にマルチキャストフレームを複数の速度変換部23に出力する手段を設け、記録装置30のデータメモリ31内に論理的に形成した一部のキューをこのマルチキャスト用出力系統に対応するキューとして割り当てるようにしてもよい。
これにより、外部から多重化装置10に入力されたマルチキャストフレームが、データメモリ31内のマルチキャスト用出力系統に対応するキューに一時格納され、当該キューから多重分離装置20によりマルチキャストフレームが読み出されて複数の出力ポートから出力される。
In each of the above embodiments, when the communication input / output device 1 processes a multicast frame, a multicast output system is provided as one of the output systems, and a plurality of multicast frames are provided in the distribution unit 22 in the demultiplexer 20. It is also possible to provide a means for outputting to the speed converter 23 and to allocate a part of the queues logically formed in the data memory 31 of the recording device 30 as a queue corresponding to this multicast output system.
As a result, the multicast frame input from the outside to the multiplexing device 10 is temporarily stored in a queue corresponding to the multicast output system in the data memory 31, and the multicast frame is read from the queue by the demultiplexing device 20. Output from multiple output ports.

1…通信用入出力装置、10…多重化装置、11…キュー指定情報付加部、12…多重化部、20…多重分離装置、21…読出部、22…振分部、23,24…速度変換部、30…記録装置、31…データメモリ、32…DRAMアクセス部、32A…FIFOメモリ、32B…活性化処理部、32C…アクセス種別判定部、32D…DRAM書込部、32E…DRAM読出部、33…キュー制御メモリ、34…書込制御部、35…読出制御部、36…キュー使用アドレス数メモリ、37…アクセス調停部、37A…書込可否判定部、37B…書込用FIFO、37C…読出受付部、37D…読出用FIFO、37E…優先制御部、37F…キュー使用アドレス数更新部、37G…指示出力部。   DESCRIPTION OF SYMBOLS 1 ... Communication input / output device, 10 ... Multiplexer, 11 ... Queue designation information addition part, 12 ... Multiplexing part, 20 ... Demultiplexing device, 21 ... Reading part, 22 ... Distribution part, 23, 24 ... Speed Conversion unit, 30 ... recording device, 31 ... data memory, 32 ... DRAM access unit, 32A ... FIFO memory, 32B ... activation processing unit, 32C ... access type determination unit, 32D ... DRAM writing unit, 32E ... DRAM reading unit 33 ... Queue control memory, 34 ... Write control unit, 35 ... Read control unit, 36 ... Queue use address number memory, 37 ... Access arbitration unit, 37A ... Write enable / disable judgment unit, 37B ... Write FIFO, 37C ... Read accepting unit, 37D ... Reading FIFO, 37E ... Priority control unit, 37F ... Queue usage address number updating unit, 37G ... Instruction output unit.

Claims (3)

順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、
前記記録装置は、
バンクごとにライトポインタを有するDRAMからなり、前記キューの通信データを記憶する前記データメモリと、
前記書込対象キューに前記通信データを書き込む際、前記バンクのうちライトポインタに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該通信データを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該通信データを書き込むDRAMアクセス部と
を備えることを特徴とする通信用入出力装置。
A multiplexing device that multiplexes by adding queue designation information indicating a queue corresponding to an output system to which the communication data is to be output, and the communication data transferred from the multiplexing device. Corresponding to a recording device for temporarily storing in a queue to be written designated by the queue designation information among a plurality of queues logically formed in the data memory, and an output system selected based on the priority control logic among the queues A communication input / output device comprising: a demultiplexer that reads the communication data from the read target queue and converts the communication data into a communication speed of an output port corresponding to the output system;
The recording device comprises:
The data memory, which comprises a DRAM having a write pointer for each bank, stores communication data of the queue,
When writing the communication data to the write target queue, the bank in which the write target row address corresponding to the write pointer is activated among the banks is selected as the write target bank, and the communication data is written. If there is no bank in which the write target row address is in the activated state, the bank in which the write target row address is in the inactive state is selected as the write target bank and the write target row address is activated. And a DRAM access unit for writing the communication data after the communication input / output device.
請求項1に記載の通信用入出力装置において、
前記記録装置は、
前記データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリと、
前記キュー制御メモリのキュー制御情報に基づいて、前記多重化装置から転送された前記通信データの前記書込対象キューに対する書き込みを前記DRAMアクセス部に指示する書込制御部と、
前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューからの通信データの読み出しを前記DRAMアクセス部に指示し、読み出した通信データを前記多重分離装置へ転送する読出制御部とをさらに備え、
前記キュー制御メモリは、仮想データメモリ上で用いられる仮想格納アドレスごとに、当該仮想格納アドレスに書き込まれた通信データに後続する通信データの仮想格納アドレスを示す後続アドレスを記憶し、前記キューごとに、当該キューの通信データが書き込まれている前記仮想格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、前記キューのそれぞれに共通して、次に通信データを書き込むべき仮想格納アドレスを示す次書込アドレスをバンクごとに記憶し、
前記書込制御部は、前記書込対象キューに前記通信データを書き込む際、前記書込対象バンクとして選択したバンクの前記次書込アドレスからなる書込対象仮想アドレスに対する当該通信データの書き込みをDRAMアクセス部に指示し、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および書込対象バンクとして選択したバンクの次書込アドレスをそれぞれ更新し、
前記読出制御部は、前記読出対象キューから前記通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象仮想アドレスに対する当該通信データの読み出しをDRAMアクセス部に指示し、当該読出対象キューのキュー先頭アドレス、読出対象バンクの次書込アドレス、および新たな読出対象バンクの次書込アドレスに関する後続アドレスをそれぞれ更新する
ことを特徴とする通信用入出力装置。
The communication input / output device according to claim 1,
The recording device comprises:
A queue control memory for storing queue control information used when controlling writing / reading to / from the queue of the data memory;
A write control unit that instructs the DRAM access unit to write the communication data transferred from the multiplexing device to the write target queue based on queue control information in the queue control memory;
A read control unit that instructs the DRAM access unit to read communication data from the read target queue based on queue control information in the queue control memory, and transfers the read communication data to the demultiplexer; ,
The queue control memory stores a subsequent address indicating a virtual storage address of communication data subsequent to the communication data written to the virtual storage address for each virtual storage address used on the virtual data memory, and for each queue Storing a queue head address and a queue last address indicating the head and end of the virtual storage address in which the communication data of the queue is written, and storing the communication data next in common for each of the queues The next write address indicating the address is stored for each bank,
When the write control unit writes the communication data to the write target queue, the write control unit writes the communication data to the write target virtual address including the next write address of the bank selected as the write target bank. Instruct the access unit to update the queue final address of the write target queue, the subsequent address related to the queue final address before writing, and the next write address of the bank selected as the write target bank,
When reading the communication data from the read target queue, the read control unit instructs the DRAM access unit to read the communication data for the read target virtual address consisting of the queue head address of the read target queue, and And a subsequent address related to the next write address of the new bank to be read and the next write address of the bank to be read are updated respectively.
請求項2に記載の通信用入出力装置において、
前記記録装置は、
前記キューごとに、当該キューが使用している前記仮想データメモリ上での仮想格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、
前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記キューの使用アドレス数に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部と
をさらに備えることを特徴とする通信用入出力装置。
The communication input / output device according to claim 2 ,
The recording device comprises:
A queue use address number memory for storing a use address number indicating the number of virtual storage addresses on the virtual data memory used by the queue for each queue;
When writing the communication data to the write target queue, the necessary address number indicating the number of virtual storage addresses required for writing is calculated based on the data length of the communication data, and obtained from the queue use address number memory By calculating the number of remaining addresses indicating the number of virtual storage addresses that can be used for the writing based on the number of addresses used in the writing target queue or the queue, and comparing the number of necessary addresses with the number of remaining addresses An access arbitration unit that determines whether or not the communication data can be written, and instructs the write control unit to write the communication data in response to the determination of whether or not the communication data can be written. Output device.
JP2016162568A 2016-08-23 2016-08-23 Communication input / output device Active JP6570075B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016162568A JP6570075B2 (en) 2016-08-23 2016-08-23 Communication input / output device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016162568A JP6570075B2 (en) 2016-08-23 2016-08-23 Communication input / output device

Publications (2)

Publication Number Publication Date
JP2018032925A JP2018032925A (en) 2018-03-01
JP6570075B2 true JP6570075B2 (en) 2019-09-04

Family

ID=61303599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016162568A Active JP6570075B2 (en) 2016-08-23 2016-08-23 Communication input / output device

Country Status (1)

Country Link
JP (1) JP6570075B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019204150A (en) * 2018-05-21 2019-11-28 日本電信電話株式会社 Input-output apparatus for communication

Also Published As

Publication number Publication date
JP2018032925A (en) 2018-03-01

Similar Documents

Publication Publication Date Title
US10740006B2 (en) System and method for enabling high read rates to data element lists
US8225026B2 (en) Data packet access control apparatus and method thereof
US7627672B2 (en) Network packet storage method and network packet transmitting apparatus using the same
US20090172318A1 (en) Memory control device
US9785367B2 (en) System and method for enabling high read rates to data element lists
JP6611011B2 (en) Communication input / output device
JP6570075B2 (en) Communication input / output device
WO2019225336A1 (en) Communication input-output device
US10061513B2 (en) Packet processing system, method and device utilizing memory sharing
JP6351073B2 (en) Communication input / output device
CN101599049A (en) The method and the dma controller of control DMA visit discontinuous physical addresses
JP2016158024A (en) Input output device for communication
JP2019032727A (en) Input/output device for communication
JP2019032699A (en) Input/output device for communication
CN102405466A (en) Memory control device and method for controlling same
JP2019032705A (en) Input/output device for communication
US7836231B2 (en) Buffer control method and device thereof
US9582215B2 (en) Packet processing system, method and device utilizing memory sharing
EP3244582B1 (en) Switch and data accessing method thereof
JP2014074993A (en) Semiconductor device
JP2014194672A (en) Memory control device and memory control method
US20240302969A1 (en) Memory control device and memory control method
JP6212059B2 (en) Communication input / output device
JP6364951B2 (en) DMA controller
JP5640204B2 (en) Memory control device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180827

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190709

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190801

R150 Certificate of patent or registration of utility model

Ref document number: 6570075

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250