JP2019032727A - Input/output device for communication - Google Patents

Input/output device for communication Download PDF

Info

Publication number
JP2019032727A
JP2019032727A JP2017153879A JP2017153879A JP2019032727A JP 2019032727 A JP2019032727 A JP 2019032727A JP 2017153879 A JP2017153879 A JP 2017153879A JP 2017153879 A JP2017153879 A JP 2017153879A JP 2019032727 A JP2019032727 A JP 2019032727A
Authority
JP
Japan
Prior art keywords
queue
bank
write
read
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.)
Pending
Application number
JP2017153879A
Other languages
Japanese (ja)
Inventor
川村 智明
Tomoaki Kawamura
智明 川村
晶子 大輝
Akiko Oteru
晶子 大輝
重松 智志
Satoshi Shigematsu
智志 重松
有本 和民
Kazutami Arimoto
和民 有本
洋一郎 佐藤
Yoichiro Sato
洋一郎 佐藤
智教 横川
Tomokazu Yokogawa
智教 横川
吉雄 松田
Yoshio Matsuda
吉雄 松田
幸祐 今村
Kosuke Imamura
幸祐 今村
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.)
Nippon Telegraph and Telephone Corp
Okayama Prefectural University
Original Assignee
Nippon Telegraph and Telephone Corp
Okayama Prefectural University
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 Nippon Telegraph and Telephone Corp, Okayama Prefectural University filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017153879A priority Critical patent/JP2019032727A/en
Publication of JP2019032727A publication Critical patent/JP2019032727A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

To inhibit a reduction in effective throughput related to DRAM access.SOLUTION: A recording device 30 comprises a second DRAM access unit 38, records queue control information on a queue with an individual row address of queue control memory 33 corresponding to the queue, in writing communication data in a queue to be written, selects, from banks in the queue control memory 33, a bank in which a row address to be written corresponding to the queue to be written is in an active state as a bank to be written and writes the queue control information, when the bank in which the row address to be written is in an active state is not present, selects a bank in which the row address to be written is in an inactive state as the bank to be written, and activates the row address to be written before writing the queue control information.SELECTED DRAWING: Figure 1

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のような構成が提案されている。図28は、従来の通信用入出力装置(内蔵メモリ)の構成を示すブロック図である。
この通信用入出力装置は、多重化装置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. 28 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.

図29は、キューと出力ポートとの対応を示す説明図であり、出力ポート数が3の場合が示されている。図29(a)では、キューと出力ポートとが1対1に対応付けられているが、図29(b)のように、1対多に対応付けることにより、1つのフレームデータを複数の出力ポートが出力する場合に対応可能となる。また、図29(c)のように、出力ポートごとに、読出優先度に応じたキューを対応付けることもできる。   FIG. 29 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. 29A, queues and output ports are associated one-to-one, but as illustrated in FIG. 29B, one frame data is associated with a plurality of output ports. Can be handled when In addition, as shown in FIG. 29C, 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からなり、前記キューと対応する個別のロウアドレスで当該キューの通信データを記憶する前記データメモリと、前記書込対象キューに前記通信データを書き込む際、前記バンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該通信データを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該通信データを書き込む第1のDRAMアクセス部と、バンクごとに複数のロウアドレスを有するDRAMからなり、前記データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリと、前記キュー制御メモリのキュー制御情報に基づいて、前記多重化装置から転送された前記通信データの前記書込対象キューに対する書き込みを前記第1のDRAMアクセス部に指示する書込制御部と、前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューからの通信データの読み出しを前記第1のDRAMアクセス部に指示し、読み出した通信データを前記多重分離装置へ転送する読出制御部と、前記キューと対応する前記キュー制御メモリの個別のロウアドレスで当該キューのキュー制御情報を記録し、前記書込対象キューに前記通信データを書き込む際、キュー制御メモリのバンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該キュー制御情報を書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該キュー制御情報を書き込む第2の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 plurality of row addresses for each bank, and the queue and A write target row address corresponding to the write target queue in the bank when the communication data is written to the write target queue and the data memory storing the communication data of the queue with a corresponding individual row address Is selected as a write target bank, the communication data is written, and if there is no bank in which the write target row address is active, the write target row address is inactive. A first DRAM access unit for writing the communication data after selecting a bank in the activated state as a write target bank and activating the write target row address, and a DRAM having a plurality of row addresses for each bank Storing queue control information used for controlling writing / reading to / from the queue of the data memory Write control that instructs the first DRAM access unit to write the communication data transferred from the multiplexing device to the write target queue based on queue control memory and queue control information in the queue control memory And reading the communication data from the read target queue to the first DRAM access unit based on the queue control information in the queue control memory and transferring the read communication data to the demultiplexer When the queue control information of the queue is recorded by the control unit and the individual row address of the queue control memory corresponding to the queue and the communication data is written to the write target queue, the queue control memory Select the bank whose write target row address corresponding to the write target queue is activated as the write target bank. If the bank whose write target row address is in an activated state does not exist, the bank whose write target row address is in an inactive state is selected as the write target bank. And a second DRAM access unit for writing the queue control information after the write target row address is activated.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記記録装置が、前記キューと前記データメモリの前記バンクとの組み合わせごとに、当該キューの通信データを当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶する第1のバンク管理メモリをさらに備え、前記書込制御部は、前記通信データを書き込む際、前記書込対象ロウアドレスと前記書込対象バンクとの組み合わせに対応する書込ポインタ値を前記第1のバンク管理メモリから取得し、当該書込対象バンクの当該書込対象ロウアドレスのうち、当該書込ポインタ値からなるコラムアドレスに当該通信データを書き込むようにしたものである。   Further, in the above configuration example of the input / output device for communication according to the present invention, when the recording device writes the communication data of the queue to the bank for each combination of the queue and the bank of the data memory. A first bank management memory for storing a write pointer value used as a column address, wherein the write control unit combines the write target row address and the write target bank when writing the communication data; Is obtained from the first bank management memory, and the communication data is written to the column address consisting of the write pointer value in the write target row address of the write target bank. It is a thing.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記記録装置が、前記キューと前記キュー制御メモリの前記バンクとの組み合わせごとに、当該キューのキュー制御情報を当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶する第2のバンク管理メモリをさらに備え、前記書込制御部は、前記キュー制御情報を書き込む際、前記書込対象ロウアドレスと前記書込対象バンクとの組み合わせに対応する書込ポインタ値を前記第2のバンク管理メモリから取得し、当該書込対象バンクの当該書込対象ロウアドレスのうち、当該書込ポインタ値からなるコラムアドレスに当該キュー制御情報を書き込むようにしたものである。   Also, in one configuration example of the communication input / output device according to the present invention, the recording device writes the queue control information of the queue to the bank for each combination of the queue and the bank of the queue control memory. A second bank management memory for storing a write pointer value used as a column address when the write control unit writes the queue control information, the write target row address and the write target bank Is obtained from the second bank management memory, and the queue control is performed on the column address composed of the write pointer value among the write target row addresses of the write target bank. Information is written.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記書込制御部が、前記キュー制御情報を書き込む際、前記通信データの書き込みに使用した、前記書込対象ロウアドレス、前記書込対象バンク、及び、書込ポインタ値を、前記キュー制御情報の書込対象ロウアドレス、書込対象バンク、及び、書込対象コラムアドレスとして前記キュー制御情報を書き込むようにしたものである。   Also, in one configuration example of the communication input / output device according to the present invention, when the write control unit writes the queue control information, the write target row address used for writing the communication data, The queue control information is written using the write target bank and the write pointer value as the write target row address, write target bank, and write target column address of the queue control information.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記キュー制御メモリが、仮想データメモリ上で用いられる仮想格納アドレスに書き込まれた通信データに後続する通信データの格納バンクを記憶し、前記キューごとに、当該キューの先頭および最終の通信データが書き込まれているバンクを記憶し、前記書込制御部は、前記書込対象キューに前記通信データを書き込む際、当該書込対象キューのキュー最終バンク、書込前の最終データに後続するデータの格納バンクをそれぞれ更新し、前記読出制御部は、前記読出対象キューから前記通信データを読み出す際、当該読出対象キューのキュー先頭バンクの読出ポインタ値に対する当該通信データの読み出しを前記第1のDRAMアクセス部に指示し、当該読出対象キューのキュー先頭バンクを更新するようにしたものである。   Also, in one configuration example of the communication input / output device according to the present invention, the queue control memory stores a communication data storage bank subsequent to the communication data written in a virtual storage address used on the virtual data memory. For each of the queues, a bank in which the first and last communication data of the queue is written is stored, and the write control unit writes the communication data into the write target queue. The queue last bank of the queue and the storage bank of the data subsequent to the last data before writing are updated, respectively, and when the read control unit reads the communication data from the read target queue, the queue head bank of the read target queue Instructing the first DRAM access unit to read out the communication data for the read pointer value of It is those you chose to update the head bank.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記記録装置が、前記キューごとに、当該キューが使用している前記仮想データメモリ上での仮想格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューの使用アドレス数に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部とをさらに備えている。   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 address number indicating the number of virtual storage addresses that can be used for the writing based on the used address number of the write target queue acquired from the queue used address number memory, and calculate the required address number and the By comparing with the number of remaining addresses, it is determined whether or not the communication data can be written. Further comprising an access arbitration unit for instructing the writing of the communication data.

本発明によれば、多重化装置から転送された通信データを、データメモリ内に論理的に形成した複数のキューのうちキュー指定情報で指定された書込対象キューへ一時蓄積する記録装置において、データメモリを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 for data memory.

第1の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a communication input / output device according to a first embodiment. FIG. 第1の実施の形態にかかるキュー制御メモリの構成を示すブロック図である。It is a block diagram which shows the structure of the queue control memory concerning 1st Embodiment. 第1の実施の形態にかかる第1のDRAMアクセス部(DM用)の構成を示すブロック図である。3 is a block diagram showing a configuration of a first DRAM access unit (for DM) according to the first embodiment; FIG. 第1の実施の形態にかかる第2のDRAMアクセス部(QM用)の構成を示すブロック図である。FIG. 3 is a block diagram showing a configuration of a second DRAM access unit (for QM) according to the first embodiment. 第1の実施の形態にかかる書込制御部の書込動作を示すフローチャートである。It is a flowchart which shows the write-in operation | movement of the write-control part concerning 1st Embodiment. 第1の実施の形態にかかる読出制御部の読出動作を示すフローチャートである。3 is a flowchart showing a read operation of a read control unit according to the first embodiment. データP2−1読出直前のキュー制御情報(その1)を示す説明図である。It is explanatory drawing which shows the queue control information (the 1) just before reading data P2-1. データP2−1読出直前のキュー制御情報(その2)を示す説明図である。It is explanatory drawing which shows the queue control information (the 2) just before data P2-1 reading. データP2−1読出直前のキュー制御情報(その3)を示す説明図である。It is explanatory drawing which shows the queue control information (the 3) just before reading data P2-1. データP2−1読出時におけるキュー制御情報の変化(その1)を示す説明図である。It is explanatory drawing which shows the change (the 1) of the queue control information at the time of data P2-1 reading. データP2−1読出時におけるキュー制御情報の変化(その2)を示す説明図である。It is explanatory drawing which shows the change (the 2) of queue control information at the time of data P2-1 reading. データP2−1読出時におけるキュー制御情報の変化(その3)を示す説明図である。It is explanatory drawing which shows the change (the 3) of queue control information at the time of data P2-1 reading. データP2−2読出時におけるキュー制御情報の変化(その1)を示す説明図である。It is explanatory drawing which shows the change (the 1) of the queue control information at the time of data P2-2 reading. データP2−2読出時におけるキュー制御情報の変化(その2)を示す説明図である。It is explanatory drawing which shows the change (the 2) of queue control information at the time of data P2-2 reading. データP2−2読出時におけるキュー制御情報の変化(その3)を示す説明図である。It is explanatory drawing which shows the change (the 3) of queue control information at the time of data P2-2 reading. データP2−4書込時におけるキュー制御情報の変化(その1)を示す説明図である。It is explanatory drawing which shows the change (the 1) of the queue control information at the time of data P2-4 writing. データP2−4書込時におけるキュー制御情報の変化(その2)を示す説明図である。It is explanatory drawing which shows the change (the 2) of the queue control information at the time of data P2-4 writing. データP2−4書込時におけるキュー制御情報の変化(その3)を示す説明図である。It is explanatory drawing which shows the change (the 3) of the queue control information at the time of data P2-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. 第3の実施の形態にかかるQMの構成を示すブロック図である。It is a block diagram which shows the structure of QM concerning 3rd Embodiment. 第3の実施の形態にかかるQSA、QLA、QCN、および、W/Rポインタの構成を示すブロック図である。It is a block diagram which shows the structure of QSA, QLA, QCN, and a W / R pointer concerning 3rd Embodiment. 第3の実施の形態にかかる書込制御部の書込動作を示すフローチャートである。It is a flowchart which shows the write-in operation | movement of the write-control part concerning 3rd Embodiment. 第3の実施の形態にかかる読出制御部の読出動作を示すフローチャートである。It is a flowchart which shows the read-out operation | movement of the read-out control part concerning 3rd 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から構成して、それぞれのキューと対応するロウアドレスで当該キューのフレームデータを記憶し、第1のDRAMアクセス部32が、書込対象キューにフレームデータを書き込む際、バンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該フレームデータを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該フレームデータを書き込むようにしたものである。   In the present embodiment, in the recording apparatus 30, the data memory 31 is composed of a DRAM having a plurality of row addresses for each bank, and the frame data of the queue is stored at the row address corresponding to each queue. When the DRAM access unit 32 writes frame data to the write target queue, the bank in which the write target row address corresponding to the write target queue is activated is selected as the write target bank. When the frame data is written and there is no bank in which the write target row address is activated, the bank in which the write target row address is inactivated is selected as the write target bank and The frame data is written after the target row address is activated.

これに加えて、記録装置30が、データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶する、バンクごとに複数のロウアドレスを有するDRAMからなるキュー制御メモリと、前記キュー制御メモリのキュー制御情報に基づいて、多重化装置から転送されたフレームデータの前記書込対象キューに対する書き込みを前記第1のDRAMアクセス部に指示する書込制御部と、前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューからのフレームデータの読み出しを前記第1のDRAMアクセス部に指示し、読み出した通信データを多重分離装置へ転送する読出制御部とをさらに備えたものである。   In addition to this, a queue control memory made up of a DRAM having a plurality of row addresses for each bank, which stores queue control information used when the recording device 30 controls writing / reading to / from the queue of the data memory, and A write control unit that instructs the first DRAM access unit to write the frame 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 first DRAM access unit to read frame data from the read target queue based on queue control information and transfers the read communication data to the demultiplexing device; is there.

さらに、記録装置30は、前記キューと対応する前記キュー制御メモリの個別のロウアドレスで当該キューのキュー制御情報を記録し、前記書込対象キューにフレームデータを書き込む際、キュー制御メモリのバンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該キュー制御情報を書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該キュー制御情報を書き込む第2のDRAMアクセス部とを備えたものである。   Further, the recording device 30 records the queue control information of the queue at the individual row address of the queue control memory corresponding to the queue, and writes the frame data to the write target queue. The bank in which the write target row address corresponding to the write target queue is activated is selected as the write target bank, the queue control information is written, and the write target row address is in the activated state. If the write target row address is not activated, the second DRAM to which the queue control information is written after the write target row address is activated by selecting the bank in which the write target row address is inactivated as the write target bank And an access unit.

本実施の形態では、図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について詳細に説明する。
多重化装置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.
The multiplexing apparatus 10 includes 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について詳細説明する。
多重分離装置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.
The demultiplexer 20 is provided with 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には、主な回路部として、データメモリ(DM)31、第1のDRAMアクセス部(DM用)32、キュー制御メモリ33、書込制御部34、読出制御部35、キュー使用アドレス数メモリ36、アクセス調停部37、および第2のDRAMアクセス部(QM用)38が設けられている。   As shown in FIG. 1, the recording device 30 includes, as main circuit units, a data memory (DM) 31, a first DRAM access unit (for DM) 32, a queue control memory 33, a write control unit 34, a read A control unit 35, a queue use address number memory 36, an access arbitration unit 37, and a second DRAM access unit (for QM) 38 are provided.

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

データメモリ31には、固有の格納アドレスを持つ複数の格納領域が設けられている。各キューはデータメモリ31の格納アドレスと同等な仮想格納アドレスを持つ仮想データメモリの仮想格納領域を、仮想格納アドレスの連続・不連続に関わらず任意に連結することにより構成されている。なお、仮想格納アドレスは、DRAMへのアクセスに用いる実際のコラムアドレス(Column Address)に対応するアドレス情報である。   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 or discontinuous. The virtual storage address is address information corresponding to an actual column address used for accessing the DRAM.

後述する図7には、仮想データメモリの記憶例として、それぞれ固有の仮想格納アドレスADM(0〜N:Nは2以上の整数)を持つ仮想格納領域ごとに、書込制御部34から書き込まれたデータを記憶している場合のイメージを示している。
この際、1フレームが1仮想アドレス分のデータサイズより長い場合、1フレームは、1仮想アドレス分のデータサイズに合わせて複数のデータDに分割され、それぞれ異なる複数の仮想格納アドレスに書き込まれる。
In FIG. 7 to be described later, as a storage example of the virtual data memory, each virtual storage area having a unique virtual storage address ADM (0 to N: N is an integer of 2 or more) is written from the write control unit 34. The image in the case where stored data is stored is shown.
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.

例えば、図7の場合、バンク0のロウアドレス=P1の仮想格納アドレス0、1、2に、キューP1のデータP1−1,P1−2,P1−3が格納されており、バンク1のロウアドレス=P2の仮想格納アドレス0、1、2に、キューP2のデータP2−1,P2−2,P2−3が格納されている。これらデータの前後関係やフレームとの対応関係については、後述するアドレスキュー管理メモリで管理される。なお、1フレームが仮想格納領域のデータサイズより短い場合、フレームデータは1つの仮想格納領域に格納される。   For example, in the case of FIG. 7, the data P1-1, P1-2, and P1-3 of the queue P1 are stored in the virtual storage addresses 0, 1, and 2 of the bank 0 row address = P1, and the bank 1 row address is stored. Data P2-1, P2-2, and P2-3 of the queue P2 are stored in the virtual storage addresses 0, 1, and 2 of the address = 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.

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

第1のDRAMアクセス部32は、フレームデータを書き込む際、指示されたバンクの書込対象ロウアドレスが活性化状態にある場合に、指定された仮想格納アドレス(コラムアドレス)にフレームデータを書き込む機能と、当該書込対象ロウアドレスが活性化状態にない場合は、当該書込対象ロウアドレスを活性化した後にフレームデータを書き込む機能とを有している。   The first DRAM access unit 32 has a function of writing frame data to a designated virtual storage address (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.

また、第1のDRAMアクセス部32は、フレームデータを読み出す際、指示された読出対象バンクにおいて読出対象ロウアドレスが活性化状態にある場合は、当該読出対象バンクの読出対象ロウアドレスからフレームデータを読み出し、当該読出対象バンクで読出対象ロウアドレスが活性化状態にない場合は、当該読出対象バンクの読出対象ロウアドレスを活性化した後にフレームデータを読み出す機能とを有している。   Further, when reading the frame data, the first 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 activated in the designated read target bank. When the read target row address is not activated in the read target bank, there is a function of reading the frame data after activating the read target row address of the read target bank.

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

図2は、第1の実施の形態にかかるキュー制御メモリの構成を示すブロック図である。キュー制御メモリ33は、レジスタやメモリからなる複数の記憶部を含んでおり、主な記憶部として、アドレスキュー管理メモリ(QM)33A、キュー先頭バンクレジスタ(QSA)33B、キュー最終バンクメモリ(QLA)33C、アクセス履歴レジスタ(AAR)33D、第1のバンク管理メモリ(DM用)33E、および第2のバンク管理メモリ(QM用)33Fを有している。なお、以下では理解を容易とするため、レジスタ名を変数名として用いて説明する場合がある。   FIG. 2 is a block diagram illustrating a configuration of the queue control memory according to the first embodiment. The queue control memory 33 includes a plurality of storage units including registers and memories. The main storage units include an address queue management memory (QM) 33A, a queue head bank register (QSA) 33B, and a queue last bank memory (QLA). ) 33C, an access history register (AAR) 33D, a first bank management memory (for DM) 33E, and a second bank management memory (for QM) 33F. In the following description, register names are sometimes used as variable names for easy understanding.

アドレスキュー管理メモリ(QM)33Aは、バンク(Bank)ごとに複数のロウアドレス(Row Address)を有する一般的なDRAMからなり、仮想格納アドレスに書き込まれた通信データに後続する通信データの格納バンク(QNA)を記憶する機能を有している。
後述する図7および図8に示すように、QNAは、当該仮想格納アドレスに書き込まれた通信データに後続する通信データが格納されているバンクである。また、後述する図8に示すように、データメモリの連続した仮想格納アドレスにフレームデータを書き込む場合の先頭データのバンク(DSA)と仮想格納アドレスの連続数(DNU)も記録している。
The address queue management memory (QM) 33A is composed of a general DRAM having a plurality of row addresses for each bank, and stores a communication data storage bank following the communication data written to the virtual storage address. (QNA) is stored.
As shown in FIGS. 7 and 8 to be described later, the QNA is a bank in which communication data following the communication data written in the virtual storage address is stored. Further, as shown in FIG. 8 to be described later, the head data bank (DSA) and the number of consecutive virtual storage addresses (DNU) when frame data is written to continuous virtual storage addresses of the data memory are also recorded.

キュー先頭バンクレジスタ(QSA)33B、キュー最終バンクメモリ(QLA)33Cは、キューごとに、キュー先頭のフレームデータを書き込んだバンク(QSA)およびキュー最終のフレームデータを書き込んだバンク(QLA)を記憶する機能を有している。
図7の例では、キューを識別するためのキューID(キュー番号)ごとに、QSAとQLAを記憶している。
The queue head bank register (QSA) 33B and the queue last bank memory (QLA) 33C store, for each queue, the bank (QSA) in which the queue top frame data is written and the bank (QLA) in which the queue last frame data is written. It has a function to do.
In the example of FIG. 7, QSA and QLA are stored for each queue ID (queue number) for identifying a queue.

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

第1のバンク管理メモリ(DM用)33Eは、例えばSRAMチップなどの半導体メモリからなり、キューを識別するためのキューID(キュー番号)とDMのバンクとの組み合わせごとに、当該キューの通信データを当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶する機能と、キューを識別するためのキューID(キュー番号)とDMのバンクとの組み合わせごとに、当該キューの通信データを当該バンクから読み出す際にコラムアドレスとして用いる読出ポインタ値を記憶する機能とを有している。   The first bank management memory (for DM) 33E is composed of a semiconductor memory such as an SRAM chip, for example, and communication data of the queue is combined for each combination of a queue ID (queue number) for identifying the queue and a bank of DM. For each combination of a function for storing a write pointer value used as a column address when writing the data to the bank and a queue ID (queue number) for identifying the queue and a bank of DM, the communication data of the queue is It has a function of storing a read pointer value used as a column address when reading from the bank.

また、第2のバンク管理メモリ(QM用)33Fは、例えばSRAMチップなどの半導体メモリからなり、キューを識別するためのキューID(キュー番号)とQMのバンクとの組み合わせごとに、当該キューのキュー制御情報を当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶する機能と、キューを識別するためのキューID(キュー番号)とQMのバンクとの組み合わせごとに、当該キューのキュー制御情報を当該バンクから読み出す際にコラムアドレスとして用いる読出ポインタ値を記憶する機能とを有している。   The second bank management memory (for QM) 33F is made of a semiconductor memory such as an SRAM chip, for example. For each combination of a queue ID (queue number) for identifying a queue and a bank of QMs, the second bank management memory (for QM) 33F For each combination of a function for storing a write pointer value used as a column address when writing queue control information to the bank, and a queue ID (queue number) for identifying the queue and a bank of QM, the queue of the queue It has a function of storing a read pointer value used as a column address when reading control information from the bank.

後述する図9の例では、キューを識別するためのキューID(キュー番号)とバンクを機別するためのバンク番号との組み合わせごとに、書込ポインタ値(ライトポインタもしくはBL)と読出ポインタ値(リードポインタもしくはBS)とが記憶されている。なお、書込ポインタ値と読出ポインタ値の初期値は、同じ値からなるものとする。   In the example of FIG. 9 described later, for each combination of a queue ID (queue number) for identifying a queue and a bank number for identifying a bank, a write pointer value (write pointer or BL) and a read pointer value (Read pointer or BS) is stored. Note that the initial value of the write pointer value and the read pointer value are assumed to be the same value.

例えば、キューP2のうち、データメモリ(DM)のバンク#1において書込ポインタ値は3であり、DMのバンク#1が書込対象バンクである場合、書込ポインタが示すコラムアドレスにキューP2の新たなフレームデータが書き込まれることになる。また、キューP2のうち、DMのバンク#1において読出ポインタ値は0であり、DMのバンク#1が読出対象バンクである場合、読出ポインタが示すコラムアドレスからキューP2のフレームデータが読み出されることになる。   For example, in the queue P2, in the bank # 1 of the data memory (DM), the write pointer value is 3, and when the bank # 1 of the DM is the write target bank, the queue P2 is set to the column address indicated by the write pointer. The new frame data is written. In the queue P2, in the DM bank # 1, the read pointer value is 0. When the DM bank # 1 is the read target bank, the frame data in the queue P2 is read from the column address indicated by the read pointer. become.

また、キューP2のうち、QMのバンク#1において書込ポインタ(BL_1)は2であり、QMのバンク#1が書込対象バンクである場合、BL_1が示すコラムアドレスにキューP2のキュー制御情報が書き込まれることになる。また、キューP2のうち、QMのバンク#1において読出ポインタ値(BS_1)は0であり、QMのバンク#1が読出対象バンクである場合、BS_1が示すコラムアドレスからキューP2のキュー制御情報が読み出されることになる。   Also, in the queue P2, when the write pointer (BL_1) is 2 in the bank # 1 of the QM and the bank # 1 of the QM is the write target bank, the queue control information of the queue P2 is stored in the column address indicated by the BL_1. Will be written. In the queue P2, when the read pointer value (BS_1) is 0 in the bank # 1 of the QM and the bank # 1 of the QM is the read target bank, the queue control information of the queue P2 is obtained from the column address indicated by the BS_1. Will be read.

書込制御部34は、アクセス調停部37からの書き込み指示に応じて、アクセス履歴レジスタ(AAR)33Dに基づいて最適なバンクを選択し、仮想格納アドレス(バンク、ロウアドレス、および、ライトポインタ)を指定した、フレームデータの書き込みを指示するDRAM書込指示を、第1のDRAMアクセス部32へ出力する機能を有している。   The write control unit 34 selects an optimal bank based on the access history register (AAR) 33D in response to a write instruction from the access arbitration unit 37, and a virtual storage address (bank, row address, and write pointer). Is designated, and a DRAM write instruction for instructing writing of frame data is output to the first DRAM access unit 32.

バンクの選択は、例えば、以下のように行う。
書込制御部34は、AARを用いて各バンクでどのロウアドレスが活性化されているのかを管理する。
各バンクのうち、書込対象のキューに対応するロウアドレスが活性化されているものを選択する。ただし、該当のバンクのライトポインタを更新した場合にリードポインタと同じ値になる場合(もしくは、リードポインタが0でライトポインタを更新した場合にコラムアドレスの上限値を超える場合、もしくは、リードポインタが0以外で更新前のライトポインタ値がリードポインタ値より小さく更新後のライトポインタ値がリードポインタ値より大きくなる場合)はそのバンクは選択しない。
The bank is selected as follows, for example.
The write controller 34 uses AAR to manage which row address is activated in each bank.
Among the banks, the bank in which the row address corresponding to the queue to be written is activated is selected. However, if the write pointer of the corresponding bank is updated, the value will be the same as the read pointer (or if the read pointer is 0 and the write pointer is updated and the upper limit of the column address is exceeded, or the read pointer is If the non-zero write pointer value before update is smaller than the read pointer value and the updated write pointer value is larger than the read pointer value), the bank is not selected.

例えば、まず、AAR_1のロウアドレスが書込対象のキューに対応するロウアドレスと同じ値であれば、そのロウアドレスが活性化されているので、そのバンクを選択する。異なる場合は、AAR_2のロウアドレスが書込対象のキューに対応するロウアドレスと同じ値であれば、そのロウアドレスが活性化されているので、そのバンクを選択する。ただし、AAR_2のバンク番号がAAR_1のバンク番号と同じ場合は、そのロウアドレスは活性化されていないので、そのバンクは選択しない。   For example, first, if the row address of AAR_1 is the same value as the row address corresponding to the queue to be written, that row address is activated, so that bank is selected. If they are different, if the row address of AAR_2 is the same value as the row address corresponding to the queue to be written, that row address is activated, so that bank is selected. However, when the bank number of AAR_2 is the same as the bank number of AAR_1, the row address is not activated, so that bank is not selected.

AAR_2までの比較で未選択の場合は、AAR_3のロウアドレスが書込対象のキューに対応するロウアドレスと同じ値であれば、そのロウアドレスが活性化されているので、そのバンクを選択する。ただし、AAR_3のバンク番号がAAR_1もしくはAAR_2のバンク番号と同じ場合は、そのロウアドレスは活性化されていないので、そのバンクは選択しない。   If not selected in the comparison up to AAR_2, if the row address of AAR_3 is the same value as the row address corresponding to the queue to be written, the row address is activated, so that bank 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 is not activated, so that bank is not selected.

以下、同様に、AAR_nまで比較を行い、ロウアドレスが書込対象のキューに対応するロウアドレスと同じ値であり、かつ、選択可能であれば、そのバンクを選択する。なお、AAR_nとの比較を行う場合、AAR_nのバンク番号がAAR_1からAAR_(n−1)のいずれかと同じ場合は、そのロウアドレスは活性化されていないので、そのバンクは選択しない。
該当のロウアドレスが活性化されているもの(かつ選択可能なもの)がない場合は、例えば、どのAARにも記録されていないバンクを選択、もしくは、AARに記録されているバンクのうちで残っている履歴が最も古いバンクを選択する。
Similarly, comparison is made up to AAR_n, and if the row address has the same value as the row address corresponding to the queue to be written and can be selected, that bank 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 is not activated, so that bank is not selected.
If no corresponding row address is activated (and can be selected), for example, a bank that is not recorded in any AAR is selected, or a bank that is recorded in the AAR remains. Select the bank with the oldest history.

また、書込制御部34は、アクセス調停部37からの書き込み指示と、書き込み対象のキューのQCN、QLAと、上記のDMのバンク選択結果に応じて、最適なQMのバンクを選択し、仮想格納アドレス(バンク、ロウアドレス、および、BL)を指定したQMの読み出しと、仮想格納アドレス(バンク、ロウアドレス、および、BL)を指定したDSA、DNU、QNAの書き込みをQMに指示する、DRAM読出指示とDRAM書込指示を、第2のDRAMアクセス部(QM用)へ出力する機能を有している。   Further, the write control unit 34 selects the optimum QM bank according to the write instruction from the access arbitration unit 37, the QCN and QLA of the queue to be written, and the DM bank selection result, and the virtual DRAM that instructs QM to read QM with storage address (bank, row address, and BL) and write DSA, DNU, QNA with virtual storage address (bank, row address, and BL) It has a function of outputting a read instruction and a DRAM write instruction to the second DRAM access unit (for QM).

QMのバンクの選択は、DMのバンクの選択と同様に、QMの各バンクのうち、書込対象のキューに対応するロウアドレスが活性化されているものを選択する。
ただし、該当のバンクのBLを更新した場合にBSと同じ値になる場合(もしくは、BSが0でBLを更新した場合にコラムアドレスの上限値を超える場合、もしくは、BSが0以外で更新前のBLがBSより小さく更新後のBLがBSより大きくなる場合)はそのバンクは選択しない。
なお、書込対象のキューのQCNが0以外の場合、QMのバンク選択が不要となる場合もある。QMのバンクの選択の具体例については、後述する。
In the selection of the QM bank, similar to the DM bank selection, the bank in which the row address corresponding to the queue to be written is activated is selected from the banks of the QM.
However, when the BL of the corresponding bank is updated, it becomes the same value as the BS (or when the BS is updated with BL being 0 and the upper limit of the column address is exceeded, or when the BS is not 0 and before the update) If the BL is smaller than BS and the updated BL is larger than BS), the bank is not selected.
When the QCN of the queue to be written is other than 0, it may be unnecessary to select a bank for QM. A specific example of QM bank selection will be described later.

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

また、読出制御部35は、アクセス調停部37からの読み出し指示に応じて、キュー制御メモリ33のキュー制御情報に基づいて、仮想格納アドレス(バンク、ロウアドレス、BS)を指定したDSA、DNU、QNAの読み出しと、仮想格納アドレス(バンク、ロウアドレス、BS)を指定したDSA、DNU、QNAの書き込みをQMに指示する、DRAM読出指示とDRAM書込指示を、第2のDRAMアクセス部(QM用)へ出力する機能を有している。   Further, the read control unit 35, in response to a read instruction from the access arbitration unit 37, based on the queue control information in the queue control memory 33, DSA, DNU, which designates a virtual storage address (bank, row address, BS), Read the QNA and write the DSA, DNU, and QNA specifying the virtual storage address (bank, row address, BS) to the QM. The DRAM read instruction and the DRAM write instruction are sent to the second DRAM access unit (QM The function to output to

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

アクセス調停部37は、多重化装置10から転送されたフレームデータを受け取り、当該フレームデータに付加されているフレーム長情報に基づき、フレームデータを1仮想アドレス分のデータサイズで複数のデータDに分割することにより書込回数を計算する機能と、この書込回数分だけ、それぞれのデータDに関する、当該フレームデータに付加されているキュー指定情報で指定された書込対象キューへの書き込みを指示する書き込み指示を書込制御部34に出力する機能と、当該フレームデータの書き込みにより増加する仮想アドレス数を、キュー使用アドレス数メモリ36の当該書込対象キューの仮想アドレス数QCNに加算する機能とを有している。   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 QCN of the write target queue in the queue use address number memory 36. Have.

また、アクセス調停部37は、多重分離装置20からの読み出し要求に応じて、当該読み出し要求の読出データ量情報で指定されたデータ量を1仮想アドレス分のデータサイズで分割することにより読出回数を計算する機能と、この読出回数分だけ、当該読み出し要求のキュー指定情報で指定された読出対象キューからのフレームデータの読み出しを指示する読み出し指示を読出制御部35へ出力する機能と、当該フレームデータの読み出しにより減少する仮想アドレス数を、キュー使用アドレス数メモリ36の当該書込対象キューの仮想アドレス数QCNから減算する機能と、フレームデータの書き込みとの競合を調停し、読み出し可能なタイミングで読み出し指示を出力する機能とを有している。   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 virtual address number QCN 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.

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

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

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

また、活性化処理部32Bは、FIFOメモリ32AにDRAM読出指示が蓄積された場合、DMの当該読出対象バンクにおいてDRAM読出指示で指定された読出対象ロウアドレスが活性化状態にない場合には、DMの当該読出対象バンクにおいて読出対象ロウアドレスを活性化する機能と、DMの当該読出対象バンクにおいて読出対象ロウアドレスとは異なるロウアドレスが活性化状態にある場合は、DMの当該ロウアドレスへのアクセス完了に応じて、DMの読出対象ロウアドレスを活性化する機能とを有している。   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 in the read target bank of DM is not in the activated state, When a function for activating a read target row address in the read target bank of the DM and a row address different from the read target row address in the read target bank of the DM are in an activated state, It has a function of activating the read target row address of DM in response to the completion of access.

アクセス種別判定部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 outputs 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書込指示における書込対象ロウアドレスと書込対象バンクとライトポインタとの組み合わせに基づき、指示されたDMのコラムアドレスに、DRAM書込指示で指定されたフレームデータ(データD)を書き込む機能を有している。   Based on the combination of the write target row address, the write target bank, and the write pointer in the input DRAM write instruction, the DRAM writing unit 32D is designated by the DRAM write instruction to the designated DM column address. Has the function of writing the frame data (data D).

この際、1格納アドレス分のフレームデータ(データD)の書き込みに、複数のコラムアドレスが必要な場合は、DRAMの機能であるバーストモードを用いて、連続するコラムアドレスに書き込みを行うようにしてもよく、書込所要時間を短縮できる。
また、データメモリ31に対してEoF値(当該格納アドレスに書き込むデータにフレームデータの最終データを含むか否かを示す情報:フレーム終端フラグ)の書き込みも行う場合は、フレームデータの書き込みと同時に行えばよい。
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.
In addition, when the EoF value (information indicating whether or not the data to be written at the storage address includes the final data of the frame data: the frame end flag) is also written to the data memory 31, it is performed simultaneously with the writing of the frame data. Just do it.

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

この際、1仮想格納アドレス分のフレームデータ(データD)の読み出しに、複数のコラムアドレスが必要な場合は、DRAMの機能であるバーストモードを用いて、連続するコラムアドレスから読み出しを行うようにしてもよく、読出所要時間を短縮できる。
また、データメモリ31に対してEoF値(フレーム終端フラグ)が書き込まれている場合は、フレームデータの読み出しと同時にEoF値の読み出しを行えばよい。
読み出したEoF値は、フレームデータおよびキュー指定情報とともに読出制御部35へ出力すればよい。
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 (frame end flag) is written in the data memory 31, the EoF value may be read simultaneously with the reading of the frame data.
The read EoF value may be output to the read control unit 35 together with the frame data and the queue designation information.

[第2のDRAMアクセス部(QM用)]
次に、図4を参照して、本実施の形態にかかる記録装置30で用いられる第2のDRAMアクセス部(QM用)38について説明する。図4は、第1の実施の形態にかかる第2のDRAMアクセス部(QM用)の構成を示すブロック図である。
[Second DRAM access unit (for QM)]
Next, the second DRAM access unit (for QM) 38 used in the recording apparatus 30 according to the present embodiment will be described with reference to FIG. FIG. 4 is a block diagram showing a configuration of the second DRAM access unit (for QM) according to the first embodiment.

第2のDRAMアクセス部38には、主な回路部として、第1のDRAMアクセス部(DM用)32と同様に、FIFOメモリ38A、活性化処理部38B、アクセス種別判定部38C、DRAM書込部38D、およびDRAM読出部38Eが設けられている。   As with the first DRAM access unit (for DM) 32, the second DRAM access unit 38 has a FIFO memory 38A, an activation processing unit 38B, an access type determination unit 38C, and a DRAM write as main circuit units. A unit 38D and a DRAM reading unit 38E are provided.

FIFOメモリ38Aは、一般的なFIFOメモリからなり、書込制御部34からのDRAM読出指示とDRAM書込指示、および、読出制御部35からのDRAM読出指示とDRAM書込指示を混在させて蓄積する機能と、活性化処理部38Bによるロウアドレスの活性化完了後、蓄積していたDRAM書込指示またはDRAM読出指示を入力順に読み出してアクセス種別判定部38Cへ出力する機能を有している。   The FIFO memory 38A is a general FIFO memory, and stores a DRAM read instruction and a DRAM write instruction from the write control unit 34, and a DRAM read instruction and a DRAM write instruction from the read control unit 35 in a mixed manner. And a function of reading the accumulated DRAM write instruction or DRAM read instruction in the order of input after the activation of the row address by the activation processing unit 38B and outputting it to the access type determination unit 38C.

この際、アクセス種別判定のための情報として、DRAM書込指示なのか、もしくは、DRAM読出指示なのかを示す情報を、それぞれの指示と合わせてFIFOメモリ38Aに書き込んで、その情報もアクセス種別判定部38Cに出力するようにしてもよい。また、書込制御部34からの指示なのか、読出制御部35からの指示なのかを示す情報を、それぞれの指示と合わせてFIFOメモリ38Aに書き込んで、その情報もアクセス種別判定部38Cに出力するようにしてもよい。   At this time, as information for determining the access type, information indicating whether it is a DRAM write instruction or a DRAM read instruction is written in the FIFO memory 38A together with the respective instructions, and the information is also determined as the access type determination. You may make it output to the part 38C. Also, information indicating whether the instruction is from the write control unit 34 or the instruction from the read control unit 35 is written in the FIFO memory 38A together with each instruction, and the information is also output to the access type determination unit 38C. You may make it do.

なお、後述する図21に示すアクセス調停部37を使用する場合、書込制御部34からの指示と読出制御部35からの指示が同時に入力されることはないはずであるが、これらが同時に入力された場合には、FIFOメモリ38Aに対する書込制御部34からの指示を優先し、FIFOメモリ38Aに対する読出制御部35からの指示の書込みを待たせるようにすればよい。ただし、読出制御部35からのDRAM読出指示とその直後の読出制御部35からの同一アドレスへのDRAM書込指示の間に書込制御部34からの指示を割り込ませることは禁止する。   When the access arbitration unit 37 shown in FIG. 21 described later is used, an instruction from the write control unit 34 and an instruction from the read control unit 35 should not be input at the same time. In such a case, the instruction from the write control unit 34 to the FIFO memory 38A may be prioritized and the instruction write from the read control unit 35 to the FIFO memory 38A may be waited. However, it is prohibited to interrupt the instruction from the write control unit 34 between the DRAM read instruction from the read control unit 35 and the DRAM write instruction to the same address from the read control unit 35 immediately after that.

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

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

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

DRAM書込部38Dは、入力されたDRAM書込指示における書込対象ロウアドレスと書込対象バンクとの組み合わせに基づき、指示されたQMのコラムアドレスに、DRAM書込指示で指定されたデータ(DSA、DNU、QNA)を書き込む機能を有している。
この際、データ(DSA、DNU、QNA)の書き込みに、複数のコラムアドレスが必要な場合は、DRAMの機能であるバーストモードを用いて、連続するコラムアドレスに書き込みを行うようにしてもよく、書込所要時間を短縮できる。
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 38D uses the data (in the designated QM column address specified by the DRAM write instruction) ( (DSA, DNU, QNA).
At this time, if a plurality of column addresses are required for writing data (DSA, DNU, QNA), the burst mode, which is a function of the DRAM, may be used to write to successive column addresses. Write time can be shortened.

DRAM読出部38Eは、入力されたDRAM読出指示における読出対象ロウアドレスと読出対象バンクとの組み合わせに基づき、読出対象バンクの読出対象ロウアドレスのうち、指示されたQMのコラムアドレスからデータ(DSA、DNU、QNA)を読み出して書込制御部34もしくは読出制御部35へ出力する機能を有している。
この際、1回のデータ(DSA、DNU、QNA)の読み出しに、複数のコラムアドレスが必要な場合は、DRAMの機能であるバーストモードを用いて、連続するコラムアドレスから読み出しを行うようにしてもよく、読出所要時間を短縮できる。
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 38E receives data (DSA, DNU, QNA) are read out and output to the write control unit 34 or the read control unit 35.
At this time, if a plurality of column addresses are required for reading data (DSA, DNU, QNA) at one time, reading is performed from successive column addresses using the burst mode which is a function of the DRAM. In addition, the time required for reading can be shortened.

[第1の実施の形態の動作]
次に、図5および図6を参照して、本実施の形態にかかる通信用入出力装置1で用いられる記録装置30の動作について説明する。
図5は、第1の実施の形態にかかる書込制御部の書込動作を示すフローチャートである。図6は、第1の実施の形態にかかる読出制御部の読出動作を示すフローチャートである。
[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. 5 is a flowchart illustrating a write operation of the write control unit according to the first embodiment. FIG. 6 is a flowchart showing a read operation of the read control unit according to the first embodiment.

[書込動作]
まず、図5を参照して、記録装置30の書込制御部34における書込動作について説明する。
書込制御部34は、アクセス調停部37からの書き込み指示に応じて、図5の書込動作を実行する。
[Write operation]
First, the 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 performs the write operation of FIG. 5 in response to a write instruction from the access arbitration unit 37.

新たなデータを書込対象キューに書き込んだ場合、キュー制御情報における主な変化としては、書き込み前後において、書込対象キューに関するキュー最終バンク(QLA)と、書込対象キューの書込前の最終データに後続するデータの格納バンク(QNA)と、書込対象バンク(DSA)と、DNUと、DMおよびQMのライトポインタと、アクセス履歴レジスタ(AAR)33Dとが変化する。ただし、書込対象キューの書込前の最終データと同じバンクに書き込む場合は、DSA、QNA、QMのライトポインタ(BL)は更新されず、DNUは変化する。なお、書込対象キューに対する最初の書き込みである場合は、書込対象キューに関するキュー先頭バンク(QSA)も変化する。   When new data is written to the write target queue, the main changes in the queue control information are the queue last bank (QLA) related to the write target queue and the last before writing of the write target queue before and after writing. A data storage bank (QNA), a write target bank (DSA), a DNU, DM and QM write pointers, and an access history register (AAR) 33D change after the data. However, when writing to the same bank as the last data before writing in the write target queue, the write pointers (BL) of DSA, QNA, and QM are not updated, and the DNU changes. Note that in the case of the first writing to the write target queue, the queue head bank (QSA) related to the write target queue also changes.

このため、図5の書込動作において、書込制御部34は、選択されたバンク、ロウアドレス、ライトポインタに対する指定データの書き込み(書き込み指示の出力)、書込対象キューに関するキュー最終バンク(QLA)の更新、書込対象キューの書込前の最終データに後続するデータの格納バンク(QNA)の更新、書込対象バンク(DSA)と、DNUの更新、DMおよびQMのライトポインタの更新を行う。ただし、書込対象キューの書込前の最終データと同じバンクに書き込む場合は、DSA、QNA、QMのライトポインタ(BL)の更新は行わず、DNUの更新を行う。   For this reason, in the write operation of FIG. 5, the write control unit 34 writes the specified data to the selected bank, row address, and write pointer (output of the write instruction), and the queue last bank (QLA for the write target queue). ), Update of storage bank (QNA) of data subsequent to final data before writing in write target queue, update of write target bank (DSA) and DNU, update of write pointers of DM and QM Do. However, when writing to the same bank as the last data before writing in the write target queue, the DNU is updated without updating the write pointers (BL) of DSA, QNA, and QM.

なお、書込対象キューに対する最初の書き込みである場合は、書込対象キューに関するキュー先頭バンク(QSA)の更新も行う。これら更新の詳細については動作例に基づいて後述する。
この際、書込制御部34は、キュー制御メモリ33にアクセスすることにより、図5に示すステップを実行する。なお、図5の処理順序は、処理効率を考慮したものであるが、他の処理順序であってもよい。
In the case of the first writing to the write target queue, the queue head bank (QSA) related to the write target queue is also updated. Details of these updates will be described later based on an operation example.
At this time, the write control unit 34 executes the steps shown in FIG. 5 by accessing the queue control memory 33. Note that the processing order in FIG. 5 takes into account processing efficiency, but other processing orders may be used.

図5に示す書込動作について具体的に説明する。
まず、書込制御部34は、書込対象キューのQCNが0か否か確認し(ステップ120)、QCNが0である場合(ステップ120:YES)、DMおよびQMのバンクを選択して(ステップ121)、QSAとQLAに選択したQMバンクのバンク番号を書き込み(ステップ122)、選択したバンクのライトポインタを読み出す(ステップ123)。
The write operation shown in FIG. 5 will be specifically described.
First, the write control unit 34 checks whether or not the QCN of the write target queue is 0 (step 120). If the QCN is 0 (step 120: YES), the bank of DM and QM is selected ( Step 121), the bank number of the selected QM bank is written to QSA and QLA (step 122), and the write pointer of the selected bank is read (step 123).

次に、書込制御部34は、DM用のライトポインタをコラムアドレスとして、DMにデータを書き込み(ステップ124)、BLをコラムアドレスとしてQMのDSAおよびDNUを書き込む(ステップ125)。この際、DSAはDMの書き込み先バンクを示し、DNUは1である。
この後、書込制御部34は、選択バンクのライトポインタを更新し(ステップ126)、書込対象キューのQCNに1を加算した後(ステップ127)、一連の書込動作を終了する。
Next, the write control unit 34 writes data to the DM using the DM write pointer as the column address (step 124), and writes the DSA and DNU of the QM using BL as the column address (step 125). At this time, DSA indicates a DM write destination bank, and DNU is 1.
Thereafter, the write control unit 34 updates the write pointer of the selected bank (step 126), adds 1 to the QCN of the write target queue (step 127), and ends the series of write operations.

また、ステップ120において、QCNが0ではない場合(ステップ120:NO)、書込制御部34は、書込対象キューのQLAを読み出して(ステップ130)、QLAに記録されていたバンクのBLを読み出し(ステップ131)、DMの同じバンクへの書き込みか否か確認する(ステップ132)。
ここで、同じバンクへの書き込みである場合(ステップ132:YES)、書込制御部34は、BLをコラムアドレスとしてQMからDSAおよびDNUを読み出して(ステップ133)、DSAのバンクのライトポインタを読み出す(ステップ134)。
In step 120, if the QCN is not 0 (step 120: NO), the write control unit 34 reads the QLA in the write target queue (step 130) and sets the BL of the bank recorded in the QLA. Reading (step 131), it is confirmed whether or not writing to the same bank of DM (step 132).
Here, in the case of writing to the same bank (step 132: YES), the write control unit 34 reads DSA and DNU from QM using BL as a column address (step 133), and sets the write pointer of the DSA bank. Read (step 134).

次に、書込制御部34は、DM用のライトポインタをコラムアドレスとして、DMにデータを書き込み(ステップ135)、BLをコラムアドレスとしてQMのDSAおよびDNUを書き込む(ステップ136)。この際、DSAは読み出した値そのままを書き込み、DNUは読み出した値に1を加算した値を書き込む。
この後、書込制御部34は、選択バンクのDM用ライトポインタを更新し(ステップ137)、書込対象キューのQCNに1を加算した後(ステップ127)、一連の書込動作を終了する。
Next, the write control unit 34 writes data to the DM using the DM write pointer as the column address (step 135), and writes the DSA and DNU of the QM using BL as the column address (step 136). At this time, the DSA writes the read value as it is, and the DNU writes a value obtained by adding 1 to the read value.
Thereafter, the write control unit 34 updates the DM write pointer of the selected bank (step 137), adds 1 to the QCN of the write target queue (step 127), and then ends a series of write operations. .

また、ステップ132において、同じバンクへの書き込みではない場合(ステップ132:NO)、書込制御部34は、DMおよびQMのバンクを選択して(ステップ140)、QLAに選択したQMのバンクのバンク番号を書き込むとともに(ステップ141)、選択前のバンクのBLをコラムアドレスとして、QMのQNAに選択したQMのバンクのバンク番号を書き込み(ステップ142)、選択したバンクのライトポインタを読み出す(ステップ143)。   If it is not writing to the same bank in step 132 (step 132: NO), the write control unit 34 selects DM and QM banks (step 140), and the QM bank selected in QLA is selected. The bank number is written (step 141), the bank number of the selected QM is written to the QNA QNA with the BL of the bank before selection as the column address (step 142), and the write pointer of the selected bank is read (step 142). 143).

次に、書込制御部34は、選択したバンクのDM用のライトポインタをコラムアドレスとして、DMにデータを書き込み(ステップ144)、選択したバンクのBLをコラムアドレスとしてQMのDSAおよびDNUを書き込む(ステップ145)。この際、DSAはDMの書き込み先バンクを示し、DNUは1である。
この後、書込制御部34は、選択バンクのBLとDM用のライトポインタを更新し(ステップ146)、書込対象キューのQCNに1を加算した後(ステップ127)、一連の書込動作を終了する。
Next, the write controller 34 writes data to the DM using the DM write pointer of the selected bank as the column address (step 144), and writes the DSA and DNU of the QM using the BL of the selected bank as the column address. (Step 145). At this time, DSA indicates a DM write destination bank, and DNU is 1.
Thereafter, the write control unit 34 updates the BL and DM write pointers of the selected bank (step 146), adds 1 to the QCN of the write target queue (step 127), and then performs a series of write operations. Exit.

[読出動作]
次に、図6を参照して、記録装置30の読出制御部35における読出動作について説明する。
読出制御部35は、アクセス調停部37からの読み出し指示に応じて、図6の読出動作を実行する。
[Read operation]
Next, with reference to FIG. 6, the reading operation in the reading control unit 35 of the recording apparatus 30 will be described.
The read control unit 35 executes the read operation of FIG. 6 in response to a read instruction from the access arbitration unit 37.

新たなデータを読出対象キューから読み出した場合、キュー制御情報における主な変化としては、読み出し前後において、読出対象キューに関するキュー先頭バンク(QSA)と、DMおよびQMのリードポインタと、アクセス履歴レジスタ(AAR)33Dとが変化する。ただし、QM内のDNUが2以上だった場合は、QSAとQMのリードポインタ(BS)は更新されず、DNUが変化する。また、読出対象キューのQCNが1だった場合(この場合DNUは必ず1)は、QSAは更新されず、DMおよびQMのリードポインタとAARが変化する。   When new data is read from the read target queue, main changes in the queue control information include the queue head bank (QSA) related to the read target queue, the read pointers of DM and QM, and the access history register (before and after the read). AAR) 33D changes. However, if the DNU in the QM is 2 or more, the QSA and QM read pointers (BS) are not updated, and the DNU changes. When the QCN of the read target queue is 1 (in this case, DNU is always 1), the QSA is not updated, and the DM and QM read pointers and AAR change.

このため、図6の読出動作において、読出制御部35は、読出対象キューに関するキュー先頭バンク(QSA)の更新、DMおよびQMのリードポインタの更新、読み出し指示の出力を行う。ただし、QM内のDNUが2以上だった場合は、QSAとQMのリードポインタ(BS)の更新は行わず、DNUの更新を行う。また、読出対象キューのQCNが1だった場合(この場合DNUは必ず1)は、QSAの更新は行わず、DMおよびQMのリードポインタとAARの更新を行う。これら更新の詳細については動作例に基づいて後述する。この際、読出制御部35は、キュー制御メモリ33にアクセスすることにより、図6に示すステップを実行する。なお、図6の処理順序は、処理効率を考慮したものであるが、他の処理順序であってもよい。   Therefore, in the read operation of FIG. 6, the read control unit 35 updates the queue head bank (QSA) related to the read target queue, updates the DM and QM read pointers, and outputs a read instruction. However, if the DNU in the QM is 2 or more, the DNU is updated without updating the QSA and QM read pointers (BS). Further, when the QCN of the read target queue is 1 (in this case, DNU is always 1), the QSA is not updated, and the DM and QM read pointers and the AAR are updated. Details of these updates will be described later based on an operation example. At this time, the read control unit 35 accesses the queue control memory 33 to execute the steps shown in FIG. Note that the processing order in FIG. 6 takes into account processing efficiency, but other processing orders may be used.

図6に示す読出動作について具体的に説明する。
まず、読出制御部35は、読出対象キューのQSAを読み出し(ステップ150)、QSAに記録されていたバンクのBSを読み出す(ステップ151)。
次に、読出制御部35は、読み出したBSをコラムアドレスとして、QMからDSA、DNU、およびQNAを読み出し(ステップ152)、DSAのリードポインタを読み出す(ステップ153)。
この後、読出制御部35は、DM用のリードポインタをコラムアドレスとして、DMからデータを読み出し(ステップ154)、DSAのリードポインタを更新した後(ステップ155)、DNUが1か否か確認する(ステッブ156)。
The read operation shown in FIG. 6 will be specifically described.
First, the read control unit 35 reads the QSA of the read target queue (step 150), and reads the BS of the bank recorded in the QSA (step 151).
Next, the read control unit 35 reads DSA, DNU, and QNA from the QM using the read BS as a column address (step 152), and reads the DSA read pointer (step 153).
Thereafter, the read control unit 35 reads data from the DM using the DM read pointer as a column address (step 154), updates the DSA read pointer (step 155), and then checks whether DNU is 1 or not. (Step 156).

ここで、DNUが1の場合(ステップ156:YES)、読出制御部35は、BSを更新し(ステップ157)、QSAにQNA値を書き込んだ後(ステップ158)、書込対象キューのQCNから1を減算して(ステップ159)、一連の読出動作を終了する。
また、DNUが1でない場合(ステップ156:NO)、読出制御部35は、BSをコラムアドレスとしてDSA、DNU、およびQNAを書き込む(ステップ160)。この際、DSAとQNAは読み出した値をそのまま、DNUは1を減算した値を書き込む。その後、ステップ159へ移行して、書込対象キューのQCNから1を減算し(ステップ159)、一連の読出動作を終了する。
Here, when DNU is 1 (step 156: YES), the read control unit 35 updates the BS (step 157), writes the QNA value to the QSA (step 158), and then starts from the QCN of the write target queue. 1 is subtracted (step 159), and a series of reading operations are completed.
If DNU is not 1 (step 156: NO), the read control unit 35 writes DSA, DNU, and QNA using BS as the column address (step 160). At this time, DSA and QNA write the read value as it is, and DNU writes a value obtained by subtracting 1. Thereafter, the process proceeds to step 159, where 1 is subtracted from the QCN of the write target queue (step 159), and the series of read operations is terminated.

[動作例]
次に、図7〜図18を参照して、記録装置30におけるフレームデータの書込動作および読出動作について、キューP2を読出・書込対象キューとし、このキューP2にデータP2−3が書込まれた後、データP2−1、P2−2を読み出し、さらにデータP2−4を書き込む場合を例に説明する。
[Operation example]
Next, referring to FIG. 7 to FIG. 18, in 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 then the data P2-4 is written.

図7は、データP2−1読出直前のキュー制御情報(その1)を示す説明図である。図8は、データP2−1読出直前のキュー制御情報(その2)を示す説明図である。図7、図8、および図9は、データP2−1読出直前のキュー制御情報(その3)を示す説明図である。
ここでは、データP2−1読出直前すなわちデータP2−3が書込まれた直後におけるキュー制御情報が示されている。
FIG. 7 is an explanatory diagram showing queue control information (part 1) immediately before reading data P2-1. FIG. 8 is an explanatory diagram showing the queue control information (part 2) immediately before the data P2-1 is read. 7, 8, and 9 are explanatory diagrams showing the queue control information (part 3) immediately before the data P2-1 is read.
Here, queue control information immediately before reading data P2-1, that is, immediately after writing data P2-3 is shown.

この状態において、データメモリ(DM)31のうち、バンク0のロウアドレスP1の仮想格納アドレス「0,1,2」にキューP1のデータP1−1,P1−2,P1−3が書き込まれており、バンク1のロウアドレスP2の仮想格納アドレス「0,1,2」にキューP2のデータP2−1,P2−2,P2−3が書き込まれている。また、DMの上記以外のバンク、ロウアドレス、および、仮想格納アドレスは未使用である。   In this state, the data P1-1, P1-2, and P1-3 of the queue P1 are written to the virtual storage addresses “0, 1, 2” of the row address P1 of the bank 0 in the data memory (DM) 31. The data P2-1, P2-2, and P2-3 of the queue P2 are written in the virtual storage addresses “0, 1, 2” of the row address P2 of the bank 1. Further, the bank, row address, and virtual storage address of DM other than the above are not used.

なお、図7は、P1−1、P1−2、P2−1、P2−2、P1−3、P2−3の順番に、書き込んだ例であるが、以下のようにDMのバンクを選択した例である。
P1−1書き込み時は、該当のキュー(P1)の最初の書き込みであり、活性化されているロウアドレスもないので、初期値としてバンク0を選択(AAR_1にバンク0のロウアドレスP1を登録)。
FIG. 7 shows an example of writing in the order of P1-1, P1-2, P2-1, P2-2, P1-3, and P2-3, but the DM bank was selected as follows. It is an example.
When P1-1 is written, it is the first write of the corresponding queue (P1), and there is no activated row address, so bank 0 is selected as the initial value (row address P1 of bank 0 is registered in AAR_1) .

P1−2書き込み時には、該当のキュー(P1)に対応するロウアドレスがAAR_1と同じなので、AAR_1のバンクである0を選択(AAR_1の値をAAR_2に登録した後、AAR_1に、再度、バンク0のロウアドレスP1を登録)。
P2−1書き込み時には、該当のキュー(P2)の最初の書き込みであり、活性化されているロウアドレスはAAR_1と同じロウアドレス(バンク0のP1)のみなので、AAR_1以外のバンクである1を選択(AAR_2とAAR_1の値を、それぞれAAR_3とAAR_2に登録した後、AAR_1に、バンク1のロウアドレスP2を登録)。
When P1-2 is written, the row address corresponding to the corresponding queue (P1) is the same as that of AAR_1, so 0 that is the bank of AAR_1 is selected (the value of AAR_1 is registered in AAR_2, Register row address P1).
At the time of P2-1 writing, since it is the first writing of the corresponding queue (P2) and the activated row address is only the same row address (P1 of bank 0), select 1 which is a bank other than AAR_1 (After registering the values of AAR_2 and AAR_1 in AAR_3 and AAR_2, respectively, the row address P2 of bank 1 is registered in AAR_1).

P2−2書き込み時には、該当のキュー(P2)に対応するロウアドレスがAAR_1と同じなので、AAR_1のバンクである1を選択(AAR_3、AAR_2、および、AAR_1の値を、それぞれAAR_4、AAR_3、および、AAR_2に登録した後、AAR_1に、再度、バンク1のロウアドレスP2を登録)。なお、この時点で、AAR_4、AAR_3、AAR_2、および、AAR_1のバンクはそれぞれ「0」、「0」、「1」、「1」である。   At the time of P2-2 writing, since the row address corresponding to the corresponding queue (P2) is the same as AAR_1, 1 is selected as the bank of AAR_1 (the values of AAR_3, AAR_2, and AAR_1 are set to AAR_4, AAR_3, and After registering in AAR_2, the row address P2 of bank 1 is registered again in AAR_1). At this time, the banks of AAR_4, AAR_3, AAR_2, and AAR_1 are “0”, “0”, “1”, and “1”, respectively.

P1−3書き込み時には、該当のキュー(P1)に対応するロウアドレスがAAR_3と同じなのでAAR_3のバンクである0を選択(AAR_4、AAR_3、AAR_2、および、AAR_1の値を、それぞれAAR_5、AAR_4、AAR_3、および、AAR_2に登録した後、AAR_1に、バンク0のロウアドレスP1を登録)。なお、この時点で、AAR_5、AAR_4、AAR_3、AAR_2、および、AAR_1のバンクはそれぞれ「0」、「0」、「1」、「1」、「0」である。
P2−3書き込み時には、該当のキュー(P2)に対応するロウアドレスがAAR_2と同じなので、AAR_2のバンクである1を選択。
When P1-3 is written, the row address corresponding to the corresponding queue (P1) is the same as AAR_3, so AAR_3 bank 0 is selected (the values of AAR_4, AAR_3, AAR_2, and AAR_1 are set to AAR_5, AAR_4, AAR_3, respectively) And, after registering in AAR_2, register the row address P1 of bank 0 in AAR_1). At this time, the banks of AAR_5, AAR_4, AAR_3, AAR_2, and AAR_1 are “0”, “0”, “1”, “1”, and “0”, respectively.
At the time of writing P2-3, the row address corresponding to the corresponding queue (P2) is the same as AAR_2, so 1 which is the bank of AAR_2 is selected.

また、図7、図8、および図9は、以下のようにQMのバンクを選択した例である。
P1−1書き込み時は、該当のキュー(P1)の最初の書き込みであり、活性化されているロウアドレスもないので、初期値としてバンク0を選択。
P1−2書き込み時には、DMの同一バンクへの書き込みなので、バンク選択なし(QLAのバンクであるバンク0を使用)。
P2−1書き込み時には、該当のキュー(P2)の最初の書き込みであり、活性化されているロウアドレスはバンク0のP1のみなので、バンク0以外のバンクである1を選択。
FIG. 7, FIG. 8, and FIG. 9 are examples of selecting a QM bank as follows.
When P1-1 is written, it is the first write of the corresponding queue (P1) and there is no activated row address, so bank 0 is selected as the initial value.
At the time of P1-2 writing, since DM is written to the same bank, there is no bank selection (using bank 0 which is a QLA bank).
At the time of P2-1 writing, since it is the first writing of the corresponding queue (P2) and the activated row address is only P1 of bank 0, 1 which is a bank other than bank 0 is selected.

P2−2書き込み時には、DMの同一バンクへの書き込みなので、バンク選択なし(QLAのバンクであるバンク1を使用)。
P1−3書き込み時には、バンク0のロウアドレスP1が活性化されているのでバンク0を選択。
P2−3書き込み時には、バンク1のロウアドレスP2が活性化されているのでバンク1を選択。
At the time of P2-2 writing, since DM is written to the same bank, there is no bank selection (using bank 1 which is a QLA bank).
When writing P1-3, the bank 0 is selected because the row address P1 of the bank 0 is activated.
At the time of writing P2-3, the bank 1 is selected because the row address P2 of the bank 1 is activated.

なお、P1−3およびP2−3の書き込み時に、P1−2およびP2−2の書き込み時と同様に、QMの更新をDNUの更新のみとする(図5でDMの同じバンクに書き込む場合の動作)ことも可能だが、ここでは、P1−2とP1−3が異なるフレームのデータである(また、P2−2とP2−3が異なるフレームのデータである)ことを想定してQMのDSA、DNU、および、QNAの更新(図5でDMの同じバンクに書き込まない場合の動作と同じ)を行っている。   Note that when writing to P1-3 and P2-3, as with writing to P1-2 and P2-2, QM is updated only for DNU (operation when writing to the same bank of DM in FIG. 5). However, here, assuming that P1-2 and P1-3 are data of different frames (and P2-2 and P2-3 are data of different frames), the DSA of QM, DNU and QNA are updated (the same operation as that in the case of not writing to the same bank of DM in FIG. 5).

その結果、キューP1のQMのバンク0の先頭のDSA、DNU、QNAはそれぞれ、0、2、0となり、2番目のDSA、DNUはそれぞれ0、1となっている(図8参照)。また、キューP2のQMのバンク1の先頭のDSA、DNU、QNAはそれぞれ、1、2、1となり、2番目のDSA、DNUはそれぞれ1、1となっている(図8を参照)。また、第1のバンク管理メモリ33EのDM用のW/Rポインタ(初期値が0の場合を想定)、および、第2のバンク管理メモリ33FのQM用のW/Rポインタ(初期値が0の場合を想定)は図9の通りとなっている。   As a result, the first DSA, DNU, and QNA of the bank 0 of the QM in the queue P1 are 0, 2, and 0, respectively, and the second DSA and DNU are 0 and 1 respectively (see FIG. 8). In addition, the first DSA, DNU, and QNA of the bank 1 of the QM in the queue P2 are 1, 2, 1, respectively, and the second DSA, DNU are 1, 1, respectively (see FIG. 8). Also, the DM W / R pointer (assuming that the initial value is 0) in the first bank management memory 33E and the QM W / R pointer (the initial value is 0) in the second bank management memory 33F. 9 is assumed).

また、キューP1のキュー先頭バンク(QSA)は、データP1−1の書き込みに使用したQMのバンクである0を示し、キュー最終バンク(QLA)は、データP1−3の書き込みに使用したQMのバンクである0を示している。また、キューP2のキュー先頭バンク(QSA)は、データP2−1の書き込みに使用したQMのバンクである1を示し、キュー最終バンク(QLA)は、データP2−3の書き込みに使用したQMのバンクである1を示している(図7の「QSA」、「QLA」を参照)。   The queue head bank (QSA) of the queue P1 indicates 0 which is the bank of the QM used for writing the data P1-1, and the queue last bank (QLA) is the QM used for writing the data P1-3. A bank 0 is shown. The queue head bank (QSA) of the queue P2 indicates 1 which is the bank of the QM used for writing the data P2-1, and the queue last bank (QLA) is the QM used for writing the data P2-3. A bank 1 is shown (see “QSA” and “QLA” in FIG. 7).

図7、図8、および図9に示した状態において、キューP2のデータP2−1を読み出した場合、キュー制御情報は、図10、図11、および図12のように変化する。図10は、データP2−1読出時におけるキュー制御情報の変化(その1)を示す説明図である。図11は、データP2−1読出時におけるキュー制御情報の変化(その2)を示す説明図である。図12は、データP2−1読出時におけるキュー制御情報の変化(その3)を示す説明図である。   When the data P2-1 of the queue P2 is read in the states shown in FIGS. 7, 8, and 9, the queue control information changes as shown in FIGS. 10, 11, and 12. FIG. 10 is an explanatory diagram showing a change (part 1) in queue control information at the time of reading data P2-1. FIG. 11 is an explanatory diagram showing the change (part 2) in the queue control information when reading data P2-1. FIG. 12 is an explanatory diagram showing a change (part 3) in the queue control information when reading data P2-1.

まず、図10、図11、および図12に示すように、キューP2に関するキュー先頭バンク(QSA)が示すQMのバンク1のBS値からDSAを読み出し、そのDSAが示すDMのバンク0のリードポインタ値からデータP2−1が読み出されるため、DMのバンク1のロウアドレスP2の読出対象仮想アドレス「0」のデータDは空き状態となり、キューP2に関するデータはP2−2,P2−3の2つとなる(図10、図11、および図12の「DM」、「QSA」、「QLA」、「QCN」、およびDM用「リードポインタ/ライトポインタ」を参照)。   First, as shown in FIGS. 10, 11, and 12, the DSA is read from the BS value of the bank 1 of the QM indicated by the queue head bank (QSA) relating to the queue P2, and the read pointer of the bank 0 of the DM indicated by the DSA Since the data P2-1 is read from the value, the data D of the read target virtual address “0” of the row address P2 of the DM bank 1 is in an empty state, and the data relating to the queue P2 is two of P2-2 and P2-3. (See “DM”, “QSA”, “QLA”, “QCN”, and “Read Pointer / Write Pointer” for DM in FIGS. 10, 11, and 12).

これにより、図10、図11、および図12(「QSA」、「DSA」、および、DM用「リードポインタ」)に示すように、P2−2がキューP2の先頭データとなり、DMのキュー先頭位置が仮想格納アドレス「0」から「1」に変化するが、DSAと同時にQMから読み出したDNUが2なので、QMの更新はDNUのみ(1を減算)となる。   As a result, as shown in FIGS. 10, 11, and 12 (“QSA”, “DSA”, and DM “read pointer”), P2-2 becomes the head data of the queue P2, and the queue head of the DM Although the position changes from the virtual storage address “0” to “1”, since the DNU read from the QM at the same time as the DSA is 2, the update of the QM is only the DNU (1 is subtracted).

また、DMのバンク1のロウアドレスP2の読出対象仮想アドレス「0」のデータDは空き状態となったため、図12に示すように、DMのリードポインタを更新(1を加算)する。なお、このケースではQMのBSの更新は行わない。   Since the data D of the read target virtual address “0” in the row address P2 of the DM bank 1 is in an empty state, the DM read pointer is updated (added 1) as shown in FIG. In this case, the QM BS is not updated.

これにより、データP2−1読出直後(データP2−2読出直前)において、キュー制御情報は、図10、図11、および図12に示す状態となる。
図10、図11、および図12に示した状態において、キューP2のデータP2−2を読み出した場合、キュー制御情報は、図13、図14、および図15のように変化する。図13は、データP2−2読出時におけるキュー制御情報の変化(その1)を示す説明図である。図14は、データP2−2読出時におけるキュー制御情報の変化(その2)を示す説明図である。図15は、データP2−2読出時におけるキュー制御情報の変化(その3)を示す説明図である。
Thus, immediately after the data P2-1 is read (immediately before the data P2-2 is read), the queue control information is in the state shown in FIG. 10, FIG. 11, and FIG.
When the data P2-2 of the queue P2 is read in the states shown in FIGS. 10, 11, and 12, the queue control information changes as shown in FIGS. 13, 14, and 15. FIG. 13 is an explanatory diagram showing a change (part 1) in the queue control information when reading data P2-2. FIG. 14 is an explanatory diagram showing the change (part 2) in the queue control information when reading data P2-2. FIG. 15 is an explanatory diagram showing a change (No. 3) in the queue control information at the time of reading data P2-2.

まず、図13、図14、および図15に示すように、キューP2に関するキュー先頭バンク(QSA)が示すQMのバンク1のBS値からDSAを読み出し、そのDSAが示すDMのバンク0のリードポインタ値からデータP2−2が読み出されるため、DMのバンク1のロウアドレスP2の読出対象仮想アドレス「1」のデータDは空き状態となり、キューP2に関するデータはP2−3の1つとなる(図12の「DM」、「QSA」、「QLA」、「QCN」、および、DM用の「リードポインタ/ライトポインタ」を参照)。   First, as shown in FIGS. 13, 14, and 15, the DSA is read from the BS value of the bank 1 of the QM indicated by the queue head bank (QSA) relating to the queue P2, and the read pointer of the bank 0 of the DM indicated by the DSA is read. Since the data P2-2 is read from the value, the data D of the read target virtual address “1” of the row address P2 of the DM bank 1 becomes empty, and the data related to the queue P2 is one of P2-3 (FIG. 12). “DM”, “QSA”, “QLA”, “QCN”, and “Read Pointer / Write Pointer” for DM).

これにより、図13、図14、および図15(「QSA」、「DSA」、および、DM用「リードポインタ」)に示すように、P2−3がキューP2の先頭データとなり、キュー先頭位置がDMのバンク1のロウアドレスP2の仮想格納アドレス「1」から「2」に変化するとともに、DSAと同時にQMから読み出したDNUが1なので、QMのBSを更新するため、キューP2に関するキュー先頭バンク(QSA)が「1」から「DSAと同時に読み出したQNAが示すバンク(この例では1)」に更新され、QMのバンク1のロウアドレスP2のBSが更新(1を加算)される。   Accordingly, as shown in FIGS. 13, 14, and 15 (“QSA”, “DSA”, and “read pointer” for DM), P2-3 becomes the head data of the queue P2, and the queue head position is Since the DNU read from the QM at the same time as the DSA changes from the virtual storage address “1” of the row address P2 of the bank 1 of the DM to 1 and the QM BS is updated, the queue head bank for the queue P2 is updated. (QSA) is updated from “1” to “bank indicated by QNA read simultaneously with DSA (1 in this example)”, and the BS of row address P2 in bank 1 of QM is updated (add 1).

また、DMのバンク1のロウアドレスP2の読出対象仮想アドレス「1」のデータDは空き状態となったため、図15)に示すように、DMのリードポインタを更新(1を加算)する。   Further, since the data D of the read target virtual address “1” of the row address P2 of the bank 1 of the DM is in an empty state, the DM read pointer is updated (added 1) as shown in FIG.

これにより、データP2−2読出直後(データP2−4書込直前)において、キュー制御情報は、図13、図14、および図15に示す状態となる。
図13、図14、および図15に示した状態において、キューP2のデータP2−4を書き込みした場合、キュー制御情報は、図16、図17、および図18のように変化する。図16は、データP2−4書込時におけるキュー制御情報の変化(その1)を示す説明図である。図17は、データP2−4書込時におけるキュー制御情報の変化(その2)を示す説明図である。図18は、データP2−4書込時におけるキュー制御情報の変化(その3)を示す説明図である。
Thus, immediately after the data P2-2 is read (immediately before the data P2-4 is written), the queue control information is in the state shown in FIG. 13, FIG. 14, and FIG.
In the state shown in FIGS. 13, 14, and 15, when the data P2-4 of the queue P2 is written, the queue control information changes as shown in FIGS. 16, 17, and 18. FIG. 16 is an explanatory diagram showing a change (No. 1) in queue control information when data P2-4 is written. FIG. 17 is an explanatory diagram showing a change (part 2) in the queue control information at the time of writing data P2-4. FIG. 18 is an explanatory diagram showing a change (No. 3) in the queue control information when the data P2-4 is written.

まず、DMのバンクを選択する。AARに記録されているロウアドレスは、AAR_1〜AAR_3はバンク1のP2、AAR_4はバンク0のP1であり、このケースでは、活性化されているロウアドレスはバンク0のP1とバンク1のP2のみであり、書込対象キューのロウアドレスはAAR_1のロウアドレスと一致する。したがって、AAR_1のバンクである1を選択して書き込みを行ってもよいが、直前のアクセスが読み出しであることを考慮してここでは未使用の別のバンク(バンク2)を選択する。   First, a DM bank is selected. The row addresses recorded in the AAR are P2 in the bank 1 for AAR_1 to AAR_3 and P1 in the bank 0 for AAR_4. In this case, only the row address P1 in the bank 0 and the P2 in the bank 1 are activated. And the row address of the write target queue matches the row address of AAR_1. Therefore, writing may be performed by selecting 1 which is the bank of AAR_1, but another unused bank (bank 2) is selected here in consideration of the fact that the previous access is reading.

なお、このケースでバンク1を選択しない理由は、DRAMの仕様上、読み出し後の同一バンクに書き込みを行う場合に待ち時間が発生し、実効スループットが低下するためである。
QMのバンク選択については、QMのバンク1のロウアドレスP2が活性化されているのでバンク1を選択する。なお、このケースでは、DMとQMで異なるバンクを選択したため、QLAはDMのバンクではなく、選択したQMのバンクを記憶する。
In this case, the reason why the bank 1 is not selected is that due to the specification of the DRAM, a waiting time occurs when writing to the same bank after reading, and the effective throughput is reduced.
Regarding the QM bank selection, since the row address P2 of the QM bank 1 is activated, the bank 1 is selected. In this case, since different banks are selected for DM and QM, QLA stores not the DM bank but the selected QM bank.

図16、図17、および図18に示すように、DMのバンク2のロウアドレスP2のライトポインタが示す書込対象仮想アドレス「0」にデータP2−4が書き込まれるため、図16、図17、および図18(「DM」、「QLA」、「DSA」、「BL」、および、DM用「ライトポインタ」)に示すように、P2−4がキューP2の新たな最終データとなり、キュー最終位置がDMのバンク1のロウアドレスP2の仮想格納アドレス「2」からDMのバンク2のロウアドレスP2の仮想格納アドレス「0」に変化するため、キューP1のキュー最終バンク(QLA)が「1」から「P2−4の書き込みに使用したQMのバンク(このケースでは「1」)」に更新され、DMのバンク2のロウアドレスP2のライトポインタが更新(1を加算)される。   As shown in FIGS. 16, 17, and 18, the data P <b> 2-4 is written to the write target virtual address “0” indicated by the write pointer of the row address P <b> 2 of the DM bank 2. , And FIG. 18 (“DM”, “QLA”, “DSA”, “BL”, and “write pointer” for DM)), P2-4 becomes the new final data of the queue P2, and the queue end Since the position changes from the virtual storage address “2” of the row address P2 of the bank 1 of the DM to the virtual storage address “0” of the row address P2 of the bank 2 of the DM, the queue last bank (QLA) of the queue P1 is “1”. To the QM bank used for writing P2-4 (in this case, “1”), and the write pointer of row address P2 in DM bank 2 is updated (added 1). ) By the.

また、書込前にキュー最終データであったP2−3にP2−4が後続することになるため、図17、および図18に示すように、P2−3の書き込みに使用したQMのバンク1のロウアドレスP2のアドレス「1」の後続バンク(QNA)としてP2−4の書き込みに使用したQMのバンクである「1」が設定され、QMのバンク1のロウアドレスP2の3番目のDSA、DNUにそれぞれ2(P2−4を格納したDMのバンク)、1が設定され、QMのバンク1のロウアドレスP2のBLが更新(1を加算)される。
これにより、データP2−4書込直後において、キュー制御情報は、図16、図17、および図18に示す状態となる。
Also, since P2-4 follows P2-3 which was the last queue data before writing, as shown in FIGS. 17 and 18, bank 1 of the QM used for writing P2-3 As the succeeding bank (QNA) of the address “1” of the row address P2 of the QM, “1” which is the bank of the QM used for the writing of P2-4 is set, and the third DSA of the row address P2 of the bank 1 of the QM Each DNU is set to 2 (the DM bank storing P2-4) and 1, and the BL of the row address P2 of the bank 1 of the QM is updated (added 1).
Thus, immediately after the data P2-4 is written, the queue control information is in the state shown in FIGS. 16, 17, and 18.

[DRAM書込動作(DM用)]
次に、図3および図19を参照して、本実施の形態にかかる第1のDRAMアクセス部32(DM用)における、データメモリ(DM)31に対するDRAM書込動作について説明する。図19は、DRAM書込処理を示すフローチャートである。
第1のDRAMアクセス部32(DM用)は、書込制御部34からのDRAM書込指示に応じて、図19に基づくDRAM書込処理(DM用)を実行する。
[DRAM write operation (for DM)]
Next, with reference to FIG. 3 and FIG. 19, the DRAM write operation to the data memory (DM) 31 in the first DRAM access unit 32 (for DM) according to the present embodiment will be described. FIG. 19 is a flowchart showing the DRAM writing process.
The first DRAM access unit 32 (for DM) executes DRAM write processing (for DM) based on FIG. 19 in response to a DRAM write instruction from the write control unit 34.

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

活性化処理部32Bでの活性化処理を完了後、DRAM書込指示はFIFOメモリ32Aから出力され、アクセス種別判定部32Cを介してDRAM書込部32Dに入力される。
これに応じて、DRAM書込部32Dは、入力されたDRAM書込指示に対応するDMのコラムアドレスに、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 DM column address corresponding to the input DRAM write instruction (step 102). Then, a series of DRAM write processing is completed.

本実施の形態では、データメモリ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読出動作(DM用)]
次に、図3および図20を参照して、本実施の形態にかかる第1のDRAMアクセス部(DM用)32における、データメモリ(DM)31に対するDRAM読出動作について説明する。図20は、DRAM読出処理を示すフローチャートである。
第1のDRAMアクセス部32は、読出制御部35からのDRAM読出指示に応じて、図20に基づくDRAM読出処理(DM用)を実行する。
[DRAM read operation (for DM)]
Next, with reference to FIGS. 3 and 20, a DRAM read operation for the data memory (DM) 31 in the first DRAM access unit (for DM) 32 according to the present embodiment will be described. FIG. 20 is a flowchart showing the DRAM reading process.
First DRAM access unit 32 executes DRAM read processing (for DM) based on FIG. 20 in response to a DRAM read instruction from read control unit 35.

まず、活性化処理部32Bは、FIFOメモリ32Aに蓄積されたDRAM読出指示で指定されたDMの読出対象バンクにおいて、DMの読出対象ロウアドレスが活性化状態にあるか確認し(ステップ110)、DMの読出対象ロウアドレスが活性化状態にある場合(ステップ110:YES)、何もせず活性化処理を完了する。   First, the activation processing unit 32B confirms whether or not the read target row address of the DM is in an activated state in the read target bank of the DM specified by the DRAM read instruction stored in the FIFO memory 32A (step 110). When the read target row address of DM 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読出指示に対応するDMの読出対象バンクにおいて、読出対象ロウアドレスのうち、指示されたDMのコラムアドレスからフレームデータ(データ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 to this, the DRAM read unit 32E reads frame data (data D) from the designated column address of the DM among the read target row addresses in the DM read target bank corresponding to the input DRAM read instruction. After that (step 114), the DRAM reading process is terminated.

また、DMの読出対象バンクの読出対象ロウアドレスが活性化状態にない場合(ステップ110:NO)、活性化処理部32Bは、DMの読出対象バンクにおいて異なるロウアドレスが活性化状態にあるか確認する(ステップ111)。
ここで、異なるロウアドレスが活性化状態にない場合(ステップ111:NO)、活性化処理部32Bは、DMの読出対象バンクの読出対象ロウアドレスを活性化し(ステップ113)、活性化処理を完了する。これにより、DRAM読出部32Eにおいて、活性化された読出対象ロウアドレスからの読み出しが行われることになる。
If the read target row address in the DM 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 DM read target bank. (Step 111).
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 DM read target bank (step 113) and completes the activation process. To do. As a result, the DRAM reading unit 32E performs reading from the activated read target row address.

また、異なるロウアドレスが活性化状態にある場合(ステップ111:YES)、活性化処理部32Bは、異なるロウアドレスへのアクセスが完了するまで待機した後(ステップ112)、ステップ113へ移行して、前述と同様にDMの読出対象ロウアドレスの活性化を行う。   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. In the same manner as described above, activation of the read target row address of DM is performed.

このように、データメモリ(DM)31を構成するDRAMからフレームデータを読み出す際、読出対象となるフレームデータが特定のバンクに書き込まれていることから、書き込み時のように、DMのロウアドレスが活性化状態にあるバンクを選択することはできない。このため、同一バンクの異なるロウアドレスからの読み出しや、書き込み後の同一バンクからの読み出しにおいて待ち時間が発生するものとなる。なお、同一バンクの異なるロウアドレスからの読み出しについては、異なるロウアドレスからの読み出しが連続しないように、例えば、両者の間に書き込みが挿入されるよう処理間隔をあけるようにしてもよい。   As described above, when reading frame data from the DRAM constituting the data memory (DM) 31, since the frame data to be read is written in a specific bank, the row address of DM is set as in writing. An activated bank cannot be selected. 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.

[DRAM書込動作(QM用)]
次に、図4および図19を参照して、本実施の形態にかかる第2のDRAMアクセス部(QM用)38における、アドレスキュー管理メモリ(QM)33Aに対するDRAM書込動作について説明する。
第2のDRAMアクセス部38は、書込制御部34および読出制御部35からのDRAM書込指示に応じて、図19に基づくDRAM書込処理(QM用)を実行する。
[DRAM write operation (for QM)]
Next, with reference to FIG. 4 and FIG. 19, the DRAM write operation to the address queue management memory (QM) 33A in the second DRAM access unit (for QM) 38 according to the present embodiment will be described.
Second DRAM access unit 38 executes DRAM write processing (for QM) based on FIG. 19 in response to DRAM write instructions from write control unit 34 and read control unit 35.

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

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

本実施の形態では、データメモリ31を構成するDRAMにフレームデータを書き込む際、書込制御部34により、DRAM(DM)が持つ各バンクのうちから、書込対象ロウアドレスが活性化状態にあるバンクが書込対象バンクとして優先的に選択される。   In the present embodiment, when writing frame data to the DRAM constituting the data memory 31, the write control unit 34 activates the write target row address from each bank of the DRAM (DM). A bank is preferentially selected as a write target bank.

ここで、前述した図5に示すように、フレームデータを書き込む際に、書込対象キューのQCNが0の場合(ステップ120:YES)、QMへの書き込みは選択したバンクへの書き込みとなるので、QMのバンク選択により、QMにおいて同一バンクの異なるロウアドレスへの書き込みが発生しない。   Here, as shown in FIG. 5 described above, when the frame data is written, if the QCN of the write target queue is 0 (step 120: YES), the writing to the QM is the writing to the selected bank. As a result of QM bank selection, writing to different row addresses in the same bank does not occur in QM.

フレームデータを書き込む際に、QMからの読み出しが必要になる場合(ステップ132:YES)、バンク選択を行わず、読み出し対象となるQMのバンクに対するアクセス(読み出しと書き込み)となる。この対象のロウアドレスが活性化状態にあるか否かで、QMからの読み出しのスループットが変化する。そこで、図5のステップ132の判断に、読み出し対象となるQMのロウアドレスが活性化状態か否かを追加し、活性化状態でない場合は、「No」を選択するようにしてもよい。   When the frame data is written, if reading from the QM is necessary (step 132: YES), the bank selection is not performed and access to the bank of the QM to be read (reading and writing) is performed. The throughput of reading from the QM varies depending on whether or not the target row address is in an activated state. Accordingly, whether or not the row address of the QM to be read is activated is added to the determination in step 132 of FIG. 5, and if it is not activated, “No” may be selected.

ステップ132の判断が「NO」の場合、QMに対して2回の書き込みが必要となる。選択したバンクへの(DSA、DNUの)書き込みについては最適なバンクを選択できるが、「選択前のバンク」への(QNAの)書き込みについては、対象のロウアドレスが活性化状態か否かで書き込みのスループットが変化する。この場合のスループット劣化を抑制する方法として、「選択前のバンク」と同じバンクを選択して、QNAの書き込みとDSA、DNUの書き込みを1回の書き込みで実施するようにしてもよい。同じバンクを選択すると、図8および図9の例に示すように、同一ロウアドレスの連続した位置に、QNA、DSA、DNUを書き込むので1回で書き込むことが可能となる。   If the determination in step 132 is “NO”, it is necessary to write twice to the QM. An optimal bank can be selected for writing to the selected bank (DSA, DNU). However, for writing to the “bank before selection” (QNA), whether or not the target row address is in an activated state. Write throughput changes. As a method for suppressing throughput deterioration in this case, the same bank as the “bank before selection” may be selected, and QNA writing and DSA / DNU writing may be performed by one writing. When the same bank is selected, as shown in the examples of FIGS. 8 and 9, QNA, DSA, and DNU are written at successive positions of the same row address, so that writing can be performed once.

これにより、DMだけでなくQMにおいても同一バンクの異なるロウアドレスへの書き込みが発生する確率が低減されることになる。このため、フレームデータ書込時におけるDMおよびQMのロウアドレスの活性化や、異なるロウアドレスに対するアクセス完了を待つ回数が削減されることになり、DMだけでなくQMのDRAMアクセスの実効スループットの低下も抑制される。   This reduces the probability of writing to different row addresses in the same bank not only in DM but also in QM. This reduces the number of times DM and QM row addresses are activated when frame data is written, and the number of waits for completion of access to different row addresses, resulting in a decrease in effective throughput of not only DM but also QM DRAM access. Is also suppressed.

[DRAM読出動作(QM用)]
次に、図4および図20を参照して、本実施の形態にかかる第2のDRAMアクセス部(QM用)38における、アドレスキュー管理メモリ(QM)33Aに対するDRAM読出動作について説明する。
第2のDRAMアクセス部38は、書込制御部34および読出制御部35からのDRAM読出指示に応じて、図20に基づくDRAM読出処理(QM用)を実行する。
[DRAM read operation (for QM)]
Next, with reference to FIGS. 4 and 20, a DRAM read operation for the address queue management memory (QM) 33A in the second DRAM access unit (for QM) 38 according to the present embodiment will be described.
Second DRAM access unit 38 executes DRAM read processing (for QM) based on FIG. 20 in response to DRAM read instructions from write control unit 34 and read control unit 35.

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

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

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

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

このように、QMからデータ(DSA、DNU、QNA)を読み出す際、読出対象となるデータ(DSA、DNU、QNA)が特定のバンクに書き込まれていることから、書き込み時のように、QMのロウアドレスが活性化状態にあるバンクを選択することはできない。このため、同一バンクの異なるロウアドレスからの読み出しや、書き込み後の同一バンクからの読み出しにおいて待ち時間が発生するものとなる。
なお、フレームデータ読み出し時には、QMからの読み出しに加えてQMへの書き込みも必要な場合がある(DNUが2以上の場合)。
In this way, when data (DSA, DNU, QNA) is read from the QM, the data (DSA, DNU, QNA) to be read is written in a specific bank. A bank whose row address is in an activated state cannot be selected. Therefore, a waiting time occurs when reading from different row addresses in the same bank or reading from the same bank after writing.
Note that when reading frame data, in addition to reading from the QM, writing to the QM may be necessary (when the DNU is 2 or more).

[第1の実施の形態の効果]
このように、本実施の形態は、記録装置30において、データメモリ(DM)31をバンクごとに複数のロウアドレスを有するDRAMから構成して、キューと対応するロウアドレスで当該キューのフレームデータを記憶し、第1のDRAMアクセス部32が、書込対象キューにフレームデータを書き込む際、バンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該フレームデータを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該フレームデータを書き込むようにしたものである。
[Effect of the first embodiment]
As described above, according to the present embodiment, in the recording device 30, the data memory (DM) 31 is configured by a DRAM having a plurality of row addresses for each bank, and the frame data of the queue is stored at the row address corresponding to the queue. When the first DRAM access unit 32 stores the frame data in the write target queue, the bank in which the write target row address corresponding to the write target queue is activated is written out If the bank data is selected and the frame data is written and 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 set as the write target bank. The frame data is written after selecting and activating the write target row address.

より具体的には、記録装置30に、複数のバンクを有するDRAMからなり、データメモリ31のキューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリ33と、キュー制御メモリ33のキュー制御情報に基づいて、多重化装置10から転送された通信データの書込対象キューに対する書き込みを第1のDRAMアクセス部32に指示する書込制御部34と、キュー制御メモリ33のキュー制御情報に基づいて、読出対象キューからの通信データの読み出しを第1のDRAMアクセス部32に指示し、読み出した通信データを多重分離装置20へ転送する読出制御部35とを備えたものである。   More specifically, the recording device 30 includes a DRAM having a plurality of banks. The queue control memory 33 stores queue control information used to control writing / reading to / from the queue of the data memory 31, and the queue control memory. Based on the queue control information 33, the write control unit 34 for instructing the first DRAM access unit 32 to write the communication data transferred from the multiplexing device 10 to the write target queue, and the queue control memory 33 queue Based on the control information, there is provided a read control unit 35 that instructs the first DRAM access unit 32 to read communication data from the read target queue and transfers the read communication data to the multiplexer / demultiplexer 20. .

これに加えて、記録装置30に第2のDRAMアクセス部38を備え、キューと対応するキュー制御メモリ33の個別のロウアドレスで当該キューのキュー制御情報を記録し、書込対象キューに通信データを書き込む際、キュー制御メモリ33のバンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該キュー制御情報を書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該キュー制御情報を書き込むようにしたものである。   In addition to this, the recording device 30 includes the second DRAM access unit 38, records the queue control information of the queue at the individual row address of the queue control memory 33 corresponding to the queue, and transmits the communication data to the write target queue. When the write target row address corresponding to the write target queue is activated as the write target bank among the banks of the queue control memory 33, the queue control information is written. If there is no bank in which the target row address is activated, the bank in which the target row address is inactive is selected as the target bank and the target row address is activated. The queue control information is written later.

一般に、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が持つ各バンクのうちから、書込対象ロウアドレスが活性化状態にあるバンクが書込対象バンクとして優先的に選択される。
これにより、データメモリ31を構成するDRAMの同一バンクの異なるロウアドレスへの書き込みが発生する確率を低減することができる。したがって、データメモリ31を構成するDRAMへのフレームデータ書込時におけるロウアドレスの活性化や、異なるロウアドレスに対するアクセス完了を待つ回数を低減させることができ、データメモリ31を構成する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.
As a result, the probability of writing to different row addresses in the same bank of the DRAM constituting the data memory 31 can be reduced. Therefore, it is possible to reduce the number of times of waiting for the activation of the row address when writing frame data to the DRAM constituting the data memory 31 and the completion of access to the different row address, and the DRAM to the DRAM constituting the data memory 31. It is possible to suppress a decrease in effective throughput related to access.

特に、通信用入出力装置1においては、短いフレームデータがバースト的に連続して入力される場合がある。本願発明によれば、各出力系統のキューに対して個別のロウアドレスが割り当てられている。このため、このようなケースにおいては、同一ロウアドレスに対する書き込みが繰り返し行われることになり、ロウアドレスの変更による活性化の回数を削減することができる。したがって、このようなケースにおいても、DRAMアクセスに関する実効スループットの低下を抑制することができるため、フレームデータの処理速度に十分追従でき、通信品質の劣化を低減することが可能となる。   In particular, in the communication input / output device 1, short frame data may be input continuously in bursts. According to the present invention, individual row addresses are assigned to the queues of the respective output systems. Therefore, in such a case, writing to the same row address is repeatedly performed, and the number of times of activation due to the change of the row address can be reduced. Therefore, even in such a case, since it is possible to suppress a decrease in effective throughput related to DRAM access, it is possible to sufficiently follow the processing speed of frame data and to reduce deterioration in communication quality.

また、本実施の形態において、キューとデータメモリ31のバンクとの組み合わせごとに、当該キューの通信データを当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶する第1のバンク管理メモリ(DM用のW/Rポインタ)33Eを設け、通信データを書き込む際、書込対象ロウアドレスと書込対象バンクとの組み合わせに対応する書込ポインタ値を第1のバンク管理メモリ33Eから取得し、当該書込対象バンクの当該書込対象ロウアドレスのうち、当該書込ポインタ値からなるコラムアドレスに当該通信データを書き込むようにしてもよい。   Further, in the present embodiment, for each combination of the queue and the bank of the data memory 31, the first bank management memory that stores a write pointer value used as a column address when writing the communication data of the queue to the bank (DM W / R pointer) 33E is provided, and when writing communication data, the write pointer value corresponding to the combination of the write target row address and the write target bank is obtained from the first bank management memory 33E. The communication data may be written to a column address composed of the write pointer value in the write target row address of the write target bank.

これにより、各出力系統のキューに対して個別のロウアドレスが割り当てた場合でも、複数のキューがデータメモリ31の各バンクを共用することができるとともに、任意のキューにフレームデータを書き込む際、ロウアドレスが活性化状態にあるいずれのバンクが選択されても、極めて迅速に当該バンクで使用すべきカラムアドレスを特定することができ、DRAM(DM)アクセスの実効スループットを向上させることができる。   As a result, even when individual row addresses are assigned to the queues of each output system, a plurality of queues can share each bank of the data memory 31, and when writing frame data to an arbitrary queue, Regardless of which bank in which the address is activated is selected, the column address to be used in the bank can be specified very quickly, and the effective throughput of DRAM (DM) access can be improved.

また、本実施の形態は、記録装置30が、キューとキュー制御メモリ33のバンクとの組み合わせごとに、当該キューのキュー制御情報を当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶する第2のバンク管理メモリ(QM用のW/Rポインタ)33Fを設け、キュー制御情報を書き込む際、書込対象ロウアドレスと書込対象バンクとの組み合わせに対応する書込ポインタ値を第2のバンク管理メモリ33Fから取得し、当該書込対象バンクの当該書込対象ロウアドレスのうち、当該書込ポインタ値からなるコラムアドレスに当該キュー制御情報を書き込むようにしたものである。   In the present embodiment, for each combination of the queue and the bank of the queue control memory 33, the recording device 30 stores a write pointer value used as a column address when writing the queue control information of the queue to the bank. The second bank management memory (QM W / R pointer) 33F is provided, and when writing the queue control information, the write pointer value corresponding to the combination of the write target row address and the write target bank is set to the second value. The queue control information is obtained from the bank management memory 33F and the queue control information is written to the column address consisting of the write pointer value among the write target row addresses of the write target bank.

これにより、各出力系統のキューに対して個別のロウアドレスが割り当てた場合でも、複数のキューがQMの各バンクを共用することができるとともに、任意のキューにキュー制御情報を書き込む際、ロウアドレスが活性化状態にあるいずれのバンクが選択されても、極めて迅速に当該バンクで使用すべきカラムアドレスを特定することができ、DRAM(QM)アクセスの実効スループットを向上させることができる。   As a result, even when individual row addresses are assigned to the queues of each output system, a plurality of queues can share each bank of QM, and when writing queue control information to any queue, the row address Regardless of which bank is activated, the column address to be used in the bank can be specified very quickly, and the effective throughput of DRAM (QM) access can be improved.

また、本実施の形態において、記録装置30において、仮想格納アドレスに書き込まれた通信データに後続する通信データの格納バンク(QNA)を記憶し、キューごとに、当該キューの先頭および最終の通信データが書き込まれているバンク(QSA,QLA)を記憶するようにしてもよい。   In the present embodiment, the recording device 30 stores a communication data storage bank (QNA) subsequent to the communication data written in the virtual storage address, and the first and last communication data of the queue for each queue. May be stored in the bank (QSA, QLA) in which is written.

これに加えて、書込制御部34が、書込対象キューに通信データを書き込む(書き込み指示を行う)際、選択されたバンクのライトポインタからなる書込対象仮想アドレスへの当該通信データの書き込み指示を行い、当該書込対象キューのキュー最終バンク(QLA)、書込前の最終データに後続するデータの格納バンク(QNA)とライトポインタをそれぞれ更新し、読出制御部35が、読出対象キューから通信データを読み出す(読み出し指示を行う)際、当該読出対象キューのキュー先頭バンクのリードポインタ値から当該通信データを読み出し、当該読出対象キューのキュー先頭バンク(QSA)とリードポインタをそれぞれ更新するようにしてもよい。   In addition, when the write control unit 34 writes communication data to the write target queue (performs a write instruction), the communication data is written to the write target virtual address composed of the write pointer of the selected bank. The instruction is updated, the queue last bank (QLA) of the write target queue, the data storage bank (QNA) and the write pointer subsequent to the final data before writing are updated, and the read control unit 35 updates the read target queue. When reading communication data from (reading out), the communication data is read from the read pointer value of the queue head bank of the read target queue, and the queue head bank (QSA) and the read pointer of the read target queue are respectively updated. You may do it.

これにより、各キューのフレームデータが、空き状態にある仮想格納アドレスに順次書き込まれ、フレームデータが読み出された仮想格納アドレスが再び空き状態として管理されることになる。またキューごとに書き込まれた順序でフレームデータの仮想格納アドレスが管理されることになる。   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.

また、本実施の形態によれば、キュー制御情報を記憶するキュー制御メモリ33に、通信データ書き込み時に選択したバンクの情報を記憶でき、その情報を該当の通信データの読み出し時に使用することができ、効率よく通信データを読み出すことができる。   According to the present embodiment, the queue control memory 33 that stores the queue control information can store the bank information selected when writing the communication data, and can use the information when reading the corresponding communication data. The communication data can be read efficiently.

また、キュー制御メモリ33をDRAMで構成した場合でも、上記のバンク選択により、QM用のDRAMのロウアドレスの活性化回数を低減することができる。このため、QM用のDRAMアクセスに関する実効スループットの低下を抑制することができる。なお、QM用のDRAMアクセスに関する実効スループットが低下すると、フレームデータの書き込み、読み出しのスループットが低下する場合もあるため、QM用のDRAMアクセスに関する実効スループットの低下の抑制により、フレームデータの書き込み、読み出しのスループットの低下を抑制することができる。   Even when the queue control memory 33 is constituted by a DRAM, the number of activations of the row address of the QM DRAM can be reduced by the bank selection described above. For this reason, it is possible to suppress a decrease in effective throughput related to QM DRAM access. If the effective throughput related to QM DRAM access decreases, the frame data write / read throughput may decrease. Therefore, the frame data write / read can be suppressed by suppressing the decrease in the effective throughput related to QM DRAM access. It is possible to suppress a decrease in throughput.

また、キュー制御情報を記憶するキュー制御メモリ33に、通信データ書き込み時に選択したバンクの情報を記憶でき、その情報を該当の通信データの読み出し時に使用できる。
また、同一キューのデータを連続するアドレスに書込む場合にQM内のDNUの更新を行うようにすることにより、QMのアドレス数をデータメモリのアドレス数より小さくすることが可能となる。
Further, the queue control memory 33 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.
In addition, when data in the same queue is written to successive addresses, the number of addresses in the QM can be made smaller than the number of addresses in the data memory by updating the DNU in the QM.

また、本実施の形態は、QM内のDSA値等の初期値を設定する必要がないという特徴がある。本実施の形態において、通信用入出力装置の起動時に初期値を設定する必要がある情報はQCNと、W/Rポインタと、AARのみである。したがって、初期設定を行うための回路の規模、もしくは、初期設定を行うためのソフトウエアの規模が極めて小さく、初期設定に要する時間も極めて小さいという効果がある。   In addition, this embodiment has a feature that it is not necessary to set an initial value such as a DSA value in the QM. In the present embodiment, only the QCN, the W / R pointer, and the AAR need to set initial values when the communication input / output device is activated. 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.

[第2の実施の形態]
次に、図21を参照して、本発明の第2の実施の形態にかかる通信用入出力装置1について説明する。図21は、第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. 21 is a block diagram illustrating a configuration of an access arbitration unit according to the second embodiment.

第1の実施の形態にかかる通信用入出力装置1において、例えば、特定の出力系統に関するフレームデータが多量に入力された場合、特定のバンクのデータメモリ(DM)31およびアドレスキュー管理メモリ(QM)33Aへの書き込みを続けるとそのバンクへの書き込みができなくなる。   In the communication input / output device 1 according to the first embodiment, for example, when a large amount of frame data related to a specific output system is input, the data memory (DM) 31 and the address queue management memory (QM) of a specific bank ) If you continue writing to 33A, you will not be able to write to that bank.

本実施の形態は、DMおよびQMのキューごと&バンクごとの書き込み可否の判定を行うことに加え、キューごとのデータの蓄積量が設定された最大蓄積量を超えないようにすることを目的とし、記録装置30において、アクセス調停部37が、書込対象キューにフレームデータを書き込む(書き込み指示を行う)際、当該フレームデータのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、キュー使用アドレス数メモリ36から取得した当該書込対象キューの使用仮想アドレス数に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該フレームデータの書込可否を判定し、書込可の判定に応じて書込制御部34に対して当該フレームデータの書き込みを指示するようにしたものである。   The purpose of this embodiment is to determine whether data can be written for each queue and bank of DM and QM, and to prevent the data storage amount for each queue from exceeding the set maximum storage amount. In the recording device 30, when the access arbitration unit 37 writes frame data to the write target queue (instructs writing), the number of virtual storage addresses necessary for writing is indicated based on the data length of the frame data. The necessary address number is calculated, and based on the used virtual address number of the write target queue acquired from the queue used address number memory 36, the remaining address number indicating the number of virtual storage addresses that can be used for the write is calculated. By comparing the required number of addresses with the number of remaining addresses, it is determined whether or not the frame data can be written. It is obtained so as to direct the writing of the frame data to the write control unit 34 in accordance with the.

図21に示すように、本実施の形態において、アクセス調停部37には、主な回路部として、書込可否判定部37A、書込用FIFO37B、読出受付部37C、読出用FIFO37D、優先制御部37E、キュー使用アドレス数更新部37F、および指示出力部37Gが設けられている。   As shown in FIG. 21, 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 acceptance 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から転送されたフレームデータに付加されているキュー指定情報およびフレーム長情報と、キューごとに予め設定されている判定用アドレス数情報と、各キューの使用仮想アドレス数とに基づいて、書込可能か否か判定する機能と、書込可の判定結果に応じて、当該フレームデータを、データメモリ(DM)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 is stored in one of the storage areas provided in the data memory (DM) 31 according to the determination result of writing It has a function of writing a write instruction in which queue designation information is added to the data obtained by dividing the data size for the virtual address into the write FIFO 37B.

判定用アドレス数情報には、当該キュー指定情報で指定された書込対象キューで使用可能な最大仮想アドレス数NKmaxが含まれている。
図22は、判定用アドレス数情報の構成例である。ここではキューを識別するためのキューIDごとに、最大仮想アドレス数NKmaxが設定されている。これら判定用アドレス数情報は、例えばキュー使用アドレス数更新部37F、あるいはアクセス調停部37の内部メモリ(図示せず)で記憶されている。
The determination address number information includes the maximum virtual address number NKmax that can be used in the write target queue designated by the queue designation information.
FIG. 22 is a configuration example of the determination address number information. Here, the maximum number of virtual addresses NKmax is set for each queue ID for identifying the 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から出力された読み出し要求の読出データ量情報に基づいて、DMに対する読み出し回数を計算し、その読み出し回数だけ当該読み出し要求のキュー指定情報を読み出し指示として読出用FIFO37Dに書き込む機能を有している。この計算は、読出データ量情報が示すデータ量をDMの1仮想アドレスあたりのデータサイズで除算した値を読み出し回数とし、剰余がある場合は読み出し回数に1を加算すればよい。   Based on the read data amount information of the read request output from the demultiplexer 20, the read accepting unit 37C calculates the number of times of reading for the DM, and reads 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 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 DM virtual address 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の実施の形態の動作]
次に、図23を参照して、本実施の形態にかかるアクセス調停部37の動作として、フレームデータの書き込み時における書込判定動作について説明する。図23は、第2の実施の形態にかかる書込可否判定処理を示すフローチャートである。
記録装置30のアクセス調停部37は、多重化装置10から転送されたフレームデータごとに、図23の書込可否判定処理に基づいて、書込可否を判定する。
[Operation of Second Embodiment]
Next, with reference to FIG. 23, a write determination operation at the time of writing frame data will be described as the operation of the access arbitration unit 37 according to the present embodiment. FIG. 23 is a flowchart illustrating a 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から書き込み対象キューの使用仮想アドレス数QCNを取得して(ステップ200)、キューごとの総仮想アドレス数NAからQCNを減算することにより該当キューの残り仮想アドレス数NRを算出し(ステップ201)、書込対象となる対象フレームデータの書き込みに要する必要仮想アドレス数NFを算出する(ステップ202)。   First, the access arbitration unit 37 acquires the used virtual address number QCN of the write target queue from the queue used address number memory 36 (step 200), and subtracts the QCN from the total virtual address number NA for each queue. The remaining virtual address number NR is calculated (step 201), and the necessary virtual address number NF required for writing the target frame data to be written is calculated (step 202).

この後、NFとNRとを比較する(ステップ203)。ここで、NF>NRの場合(ステップ203:YES)、アクセス調停部37は、書込不可と判定して対象フレームデータを破棄し(ステップ208)、当該対象フレームデータに関する書込判定処理を終了する。   Thereafter, NF and NR are compared (step 203). Here, if NF> NR (step 203: YES), the access arbitration unit 37 determines that writing is not possible, discards the target frame data (step 208), and ends the write determination processing for the target frame data. To do.

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

一方、NF≦NRの場合(ステップ206:NO)、アクセス調停部37は、対象フレームデータについて書込可と判定し(ステップ207)、当該対象フレームデータに関する書込判定処理を終了する。
この後、この書込可の判定に応じて、アクセス調停部37は、対象フレームデータを1仮想アドレス分のデータサイズに分割し、得られたデータにキュー指定情報を付加した書き込み指示を、それぞれ書込用FIFO37Bに書き込むことになる。
なお、さらに、キュー使用アドレス数メモリ36等でキューごとにDMのバンクごとの仮想アドレス使用数を管理し、例えば、各バンクごとの残りアドレス数の最大値をNRとして書込判定処理を行うようにしてもよい。
On the other hand, if NF ≦ NR (step 206: NO), the access arbitration unit 37 determines that the target frame data can be written (step 207), 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.
Further, the number of virtual addresses used for each DM bank is managed for each queue by the queue used address number memory 36 or the like, and for example, the write determination process is performed with the maximum number of remaining addresses for each bank as NR. It may be.

[第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 used virtual address number of the write target queue acquired from the used address number memory 36, the remaining address number indicating the number of virtual storage addresses that can be used for the write is calculated, and the necessary address number and the remaining address are calculated. The communication data is written to determine whether or not the communication data can be written, and the write control unit 34 determines whether or not the communication data can be written. It is obtained so as to instruct the writing of signal data.

本実施の形態において、図21の構成のアクセス調停部37を用いる場合、書込用FIFO37Bに書き込み指示データが存在していると誤って書込可能と判定してしまう可能性がある。誤った判定を防止するためには、各キューの使用仮想アドレス数としてキュー使用アドレス数メモリ36の情報に書込用FIFO37B内の仮想アドレス数(書き込み指示の数)を加算した値を使用するか、NAもしくはNKmaxとして書込用FIFO37B内の仮想アドレス数(書き込み指示の数)を減算した値を使用すればよい。   In the present embodiment, when the access arbitration unit 37 having the configuration shown in FIG. 21 is used, it may be erroneously determined that writing is possible if the 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.

なお、キュー使用アドレス数メモリ36等でキューごとにデータメモリ31のバンクごとの仮想アドレス使用数を管理し、例えば、各バンクごとの残りアドレス数の最大値をNRとして書込判定処理を行うようにすることにより、廃棄しないフレームについてはそのフレームのすべてのデータを同一バンクの連続アドレスに書き込むことができる。   Note that the number of virtual addresses used for each bank of the data memory 31 is managed for each queue by the queue used address number memory 36 or the like, and for example, the write determination process is performed with the maximum number of remaining addresses for each bank as NR. Thus, for a frame that is not discarded, all the data of the frame can be written to consecutive addresses in the same bank.

[第3の実施の形態]
次に、図24〜図27を参照して、本発明の第3の実施の形態にかかる通信用入出力装置1について説明する。図24は、第3の実施の形態にかかるQMの構成を示すブロック図である。図25は、第3の実施の形態にかかるQSA、QLA、QCN、および、W/Rポインタの構成を示すブロック図である。図26は、第3の実施の形態にかかる書込制御部の書込動作を示すフローチャートである。図27は、第3の実施の形態にかかる読出制御部の読出動作を示すフローチャートである。
[Third Embodiment]
Next, a communication input / output device 1 according to a third embodiment of the present invention will be described with reference to FIGS. FIG. 24 is a block diagram illustrating a configuration of a QM according to the third embodiment. FIG. 25 is a block diagram illustrating a configuration of QSA, QLA, QCN, and a W / R pointer according to the third embodiment. FIG. 26 is a flowchart illustrating the write operation of the write control unit according to the third embodiment. FIG. 27 is a flowchart illustrating the read operation of the read control unit according to the third embodiment.

本実施の形態は、図24および図25に示すように、第1の実施の形態におけるQMのDNUを1に限定して使用するとともに、W/Rポインタをデータメモリ(DM)31とアドレスキュー管理メモリ(QM)33Aとで兼用するようにしたものである。   In this embodiment, as shown in FIGS. 24 and 25, the QM DNU in the first embodiment is limited to 1, and the W / R pointer is used as a data memory (DM) 31 and an address queue. This is shared with the management memory (QM) 33A.

次に、図26に示す書込動作について具体的に説明する。
まず、書込制御部34は、書込対象キューのQCNが0か否か確認し(ステップ120)、QCNが0である場合(ステップ300:YES)、DMおよびQMのバンクを選択して(ステップ301)、QSAとQLAに選択したQMバンクのバンク番号を書き込み(ステップ302)、選択したバンクのライトポインタを読み出す(ステップ303)。
Next, the write operation shown in FIG. 26 will be specifically described.
First, the write control unit 34 checks whether or not the QCN of the write target queue is 0 (step 120). If the QCN is 0 (step 300: YES), the bank of DM and QM is selected ( Step 301), the bank number of the selected QM bank is written to QSA and QLA (step 302), and the write pointer of the selected bank is read (step 303).

次に、書込制御部34は、DM用のライトポインタをコラムアドレスとして、DMにデータを書き込んで(ステップ304)、選択バンクのライトポインタを更新し(ステップ305)、書込対象キューのQCNに1を加算した後(ステップ306)、一連の書込動作を終了する。   Next, the write control unit 34 writes data to the DM using the DM write pointer as a column address (step 304), updates the write pointer of the selected bank (step 305), and writes the QCN of the write target queue. After adding 1 to (step 306), the series of writing operations is terminated.

また、ステップ300において、QCNが0ではない場合(ステップ300:NO)、書込制御部34は、書込対象キューのQLAを読み出して(ステップ310)、QLAに記録されていたバンクのライトポインタを読み出す(ステップ311)。
次に、書込制御部34は、DMおよびQMのバンクを選択し(ステップ312)、QLAに選択したバンクのバンク番号を書き込み(ステップ313)、選択前のバンクのライトポインタをコラムアドレスとして、QMのQNAに選択したバンク番号を書き込んだ後(ステップ314)、ステップ303へ移行する。
If the QCN is not 0 in step 300 (step 300: NO), the write control unit 34 reads the QLA in the write target queue (step 310) and writes the write pointer of the bank recorded in the QLA. Is read (step 311).
Next, the write control unit 34 selects DM and QM banks (step 312), writes the bank number of the selected bank to the QLA (step 313), and uses the write pointer of the bank before selection as the column address. After the selected bank number is written in the QNA QNA (step 314), the process proceeds to step 303.

次に、図27に示す読込動作について説明する。
まず、読出制御部35は、読出対象キューのQSAを読み出し(ステップ320)、QSAに記録されていたバンクのリードポインタを読み出す(ステップ321)。
次に、読出制御部35は、QCNが2以上か否かを確認し(ステップ322)、QCNが2以上ではない場合(ステップ322:NO)、リードポインタをコラムアドレスとして、DMからデータを読み出して(ステップ323)、リードポインタを更新した後(ステップ324)、書込対象キューのQCNから1を減算して(ステップ325)、一連の読出動作を終了する。
Next, the reading operation shown in FIG. 27 will be described.
First, the read control unit 35 reads the QSA of the read target queue (step 320), and reads the bank read pointer recorded in the QSA (step 321).
Next, the read control unit 35 checks whether or not the QCN is 2 or more (step 322). If the QCN is not 2 or more (step 322: NO), the read controller 35 reads the data from the DM using the read pointer as the column address. (Step 323), after updating the read pointer (Step 324), 1 is subtracted from the QCN of the write target queue (Step 325), and the series of reading operations is completed.

一方、ステップ322において、QCNが2以上の場合(ステップ322:YES)、読出制御部35は、リードポインタをコラムアドレスとして、QMからQNAを読み出して(ステップ326)、QSAにQNA値を書き込んだ後(ステップ327)、ステップ323へ移行する。   On the other hand, when the QCN is 2 or more at step 322 (step 322: YES), the read control unit 35 reads the QNA from the QM using the read pointer as the column address (step 326), and writes the QNA value to the QSA. Later (step 327), the process proceeds to step 323.

[第3の実施の形態の効果]
このように、本実施の形態によれば、QMのDNUを1に限定して使用するとともに、W/RポインタをDMとQMで兼用するようにしたので、DMのバンクとQMのバンクを独立に選択することはできないが、図26に示す書込動作において、第1の実施の形態と同様に、DMのバンクを選択することにより、DRAM(DMおよびQM)アクセスのスループットの劣化を抑止することができる。
[Effect of the third embodiment]
As described above, according to the present embodiment, the QM DNU is limited to 1 and the W / R pointer is used for both DM and QM, so the DM bank and the QM bank are independent. However, in the write operation shown in FIG. 26, as in the first embodiment, by selecting a DM bank, degradation of the DRAM (DM and QM) access throughput is suppressed. be able to.

[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
[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…データメモリ(DM)、32…第1のDRAMアクセス部、32A…FIFOメモリ、32B…活性化処理部、32C…アクセス種別判定部、32D…DRAM書込部、32E…DRAM読出部、33…キュー制御メモリ、33A…アドレスキュー管理メモリ(QM)、33B…キュー先頭バンクレジスタ、33C…キュー最終バンクメモリ、33D…アクセス履歴レジスタ、33E…第1のバンク管理メモリ、33F…第2のバンク管理メモリ、34…書込制御部、35…読出制御部、36…キュー使用アドレス数メモリ、37…アクセス調停部、37A…書込可否判定部、37B…書込用FIFO、37C…読出受付部、37D…読出用FIFO、37E…優先制御部、37F…キュー使用アドレス数更新部、37G…指示出力部、38…第2のDRAMアクセス部。   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 (DM), 32 ... first 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, 33A ... Address queue management memory (QM), 33B ... Queue head bank register, 33C ... Queue last bank memory, 33D ... Access history register, 33E ... First bank management Memory, 33F ... Second bank management memory, 34 ... Write control unit, 35 ... Read control unit, 36 ... Queue usage address number memory, 37 ... Access control , 37A, write enable / disable determination unit, 37B, write FIFO, 37C, read acceptance unit, 37D, read FIFO, 37E, priority control unit, 37F, queue use address number update unit, 37G, instruction output unit, 38: Second DRAM access section.

Claims (6)

順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、
前記記録装置は、
バンクごとに複数のロウアドレスを有するDRAMからなり、前記キューと対応する個別のロウアドレスで当該キューの通信データを記憶する前記データメモリと、
前記書込対象キューに前記通信データを書き込む際、前記バンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該通信データを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該通信データを書き込む第1のDRAMアクセス部と、
バンクごとに複数のロウアドレスを有するDRAMからなり、前記データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリと、
前記キュー制御メモリのキュー制御情報に基づいて、前記多重化装置から転送された前記通信データの前記書込対象キューに対する書き込みを前記第1のDRAMアクセス部に指示する書込制御部と、
前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューからの通信データの読み出しを前記第1のDRAMアクセス部に指示し、読み出した通信データを前記多重分離装置へ転送する読出制御部と、
前記キューと対応する前記キュー制御メモリの個別のロウアドレスで当該キューのキュー制御情報を記録し、前記書込対象キューに前記通信データを書き込む際、キュー制御メモリのバンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該キュー制御情報を書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該キュー制御情報を書き込む第2の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 includes:
The data memory, which comprises a DRAM having a plurality of row addresses for each bank, stores communication data of the queue at individual row addresses corresponding to 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 target queue is activated among the banks is selected as the write target bank, and the communication data is selected. When 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 selected. A first DRAM access unit for writing the communication data after activating
A queue control memory comprising a DRAM having a plurality of row addresses for each bank, and storing queue control information used for controlling writing / reading to / from the queue of the data memory;
A write control unit that instructs the first 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 first 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; ,
When the queue control information of the queue is recorded with the individual row address of the queue control memory corresponding to the queue and the communication data is written to the write target queue, the write target queue of the queue control memory bank If the bank whose write target row address corresponding to is selected as a write target bank and writes the queue control information, and there is no bank where the write target row address is active, A second DRAM access unit that writes the queue control information after selecting the bank in which the write target row address is inactivated as the write target bank and activating the write target row address. An input / output device for communication.
請求項1に記載の通信用入出力装置において、
前記記録装置は、前記キューと前記データメモリの前記バンクとの組み合わせごとに、当該キューの通信データを当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶する第1のバンク管理メモリをさらに備え、
前記書込制御部は、前記通信データを書き込む際、前記書込対象ロウアドレスと前記書込対象バンクとの組み合わせに対応する書込ポインタ値を前記第1のバンク管理メモリから取得し、当該書込対象バンクの当該書込対象ロウアドレスのうち、当該書込ポインタ値からなるコラムアドレスに当該通信データを書き込む
ことを特徴とする通信用入出力装置。
The communication input / output device according to claim 1,
For each combination of the queue and the bank of the data memory, the recording device includes a first bank management memory for storing a write pointer value used as a column address when writing communication data of the queue to the bank. In addition,
When writing the communication data, the write control unit acquires a write pointer value corresponding to a combination of the write target row address and the write target bank from the first bank management memory, and A communication input / output device, wherein the communication data is written to a column address composed of the write pointer value among the write target row addresses of the bank to be inserted.
請求項1または請求項2に記載の通信用入出力装置において、
前記記録装置は、前記キューと前記キュー制御メモリの前記バンクとの組み合わせごとに、当該キューのキュー制御情報を当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶する第2のバンク管理メモリをさらに備え、
前記書込制御部は、前記キュー制御情報を書き込む際、前記書込対象ロウアドレスと前記書込対象バンクとの組み合わせに対応する書込ポインタ値を前記第2のバンク管理メモリから取得し、当該書込対象バンクの当該書込対象ロウアドレスのうち、当該書込ポインタ値からなるコラムアドレスに当該キュー制御情報を書き込む
ことを特徴とする通信用入出力装置。
The communication input / output device according to claim 1 or 2,
The recording apparatus stores, for each combination of the queue and the bank of the queue control memory, a write pointer value used as a column address when writing the queue control information of the queue into the bank. Further comprising memory,
The write control unit obtains a write pointer value corresponding to a combination of the write target row address and the write target bank from the second bank management memory when writing the queue control information, An input / output device for communication, wherein the queue control information is written to a column address composed of the write pointer value among the write target row addresses of the write target bank.
請求項2に記載の通信用入出力装置において、
前記書込制御部は、前記キュー制御情報を書き込む際、前記通信データの書き込みに使用した、前記書込対象ロウアドレス、前記書込対象バンク、及び、書込ポインタ値を、前記キュー制御情報の書込対象ロウアドレス、書込対象バンク、及び、書込対象コラムアドレスとして前記キュー制御情報を書き込むことを特徴とする通信用入出力装置。
The communication input / output device according to claim 2,
When writing the queue control information, the write control unit uses the write target row address, the write target bank, and the write pointer value used for writing the communication data in the queue control information. An input / output device for communication, wherein the queue control information is written as a write target row address, a write target bank, and a write target column address.
請求項1〜請求項4のいずれかに記載の通信用入出力装置において、
前記キュー制御メモリは、仮想データメモリ上で用いられる仮想格納アドレスに書き込まれた通信データに後続する通信データの格納バンクを記憶し、前記キューごとに、当該キューの先頭および最終の通信データが書き込まれているバンクを記憶し、
前記書込制御部は、前記書込対象キューに前記通信データを書き込む際、当該書込対象キューのキュー最終バンク、書込前の最終データに後続するデータの格納バンクをそれぞれ更新し、
前記読出制御部は、前記読出対象キューから前記通信データを読み出す際、当該読出対象キューのキュー先頭バンクの読出ポインタ値に対する当該通信データの読み出しを前記第1のDRAMアクセス部に指示し、当該読出対象キューのキュー先頭バンクを更新する
ことを特徴とする通信用入出力装置。
In the communication input / output device according to any one of claims 1 to 4,
The queue control memory stores a storage bank of communication data subsequent to the communication data written in the virtual storage address used on the virtual data memory, and the first and last communication data of the queue is written for each queue. Remembers the bank
When writing the communication data to the write target queue, the write control unit updates a queue last bank of the write target queue, a storage bank of data subsequent to the final data before writing,
When reading the communication data from the read target queue, the read control unit instructs the first DRAM access unit to read the communication data with respect to the read pointer value of the queue head bank of the read target queue, and An input / output device for communication characterized by updating a queue head bank of a target queue.
請求項1〜請求項5のいずれかに記載の通信用入出力装置において、
前記記録装置は、
前記キューごとに、当該キューが使用している前記仮想データメモリ上での仮想格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、
前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューの使用アドレス数に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部と
をさらに備えることを特徴とする通信用入出力装置。
In the communication input / output device according to any one of claims 1 to 5,
The recording device includes:
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 Based on the number of addresses used in the write target queue, the remaining address number indicating the number of virtual storage addresses that can be used for the write is calculated, and the communication data is compared by comparing the required address number with the remaining address number. The communication input / output device further comprising: an access arbitration unit that determines whether or not writing is possible, and instructs the writing control unit to write the communication data in accordance with the determination of writing permission.
JP2017153879A 2017-08-09 2017-08-09 Input/output device for communication Pending JP2019032727A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017153879A JP2019032727A (en) 2017-08-09 2017-08-09 Input/output device for communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017153879A JP2019032727A (en) 2017-08-09 2017-08-09 Input/output device for communication

Publications (1)

Publication Number Publication Date
JP2019032727A true JP2019032727A (en) 2019-02-28

Family

ID=65523548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017153879A Pending JP2019032727A (en) 2017-08-09 2017-08-09 Input/output device for communication

Country Status (1)

Country Link
JP (1) JP2019032727A (en)

Similar Documents

Publication Publication Date Title
US7904677B2 (en) Memory control device
US10740006B2 (en) System and method for enabling high read rates to data element lists
US7627672B2 (en) Network packet storage method and network packet transmitting apparatus using the same
JPWO2004057481A1 (en) DMA control device, DMA control method, DMA control program
JP2011204233A (en) Buffer manager and method for managing memory
US20170364291A1 (en) System and Method for Implementing Hierarchical Distributed-Linked Lists for Network Devices
US20100115142A1 (en) Semiconductor memory device and method of operating the semiconductor memory device
US9785367B2 (en) System and method for enabling high read rates to data element lists
JP6611011B2 (en) Communication input / output device
US10061513B2 (en) Packet processing system, method and device utilizing memory sharing
JP6570075B2 (en) Communication input / output device
WO2019225336A1 (en) Communication input-output device
JP6351073B2 (en) Communication input / output device
JP2019032727A (en) Input/output device for communication
US20100054272A1 (en) Storage device capable of accommodating high-speed network using large-capacity low-speed memory
JP2016158024A (en) Input output device for communication
KR20080070143A (en) Method and apparatus for processing queue in network system
US20170017568A1 (en) System And Method For Implementing Distributed-Linked Lists For Network Devices
JP2019032699A (en) Input/output device for communication
US9582215B2 (en) Packet processing system, method and device utilizing memory sharing
JP2019032705A (en) Input/output device for communication
US7836231B2 (en) Buffer control method and device thereof
JP2014194672A (en) Memory control device and memory control method
US20160292070A1 (en) Control path subsystem, method and device utilizing memory sharing
JP6212059B2 (en) Communication input / output device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170809