JP2011103554A - Fifo buffer, and method of discarding data of the same - Google Patents

Fifo buffer, and method of discarding data of the same Download PDF

Info

Publication number
JP2011103554A
JP2011103554A JP2009257417A JP2009257417A JP2011103554A JP 2011103554 A JP2011103554 A JP 2011103554A JP 2009257417 A JP2009257417 A JP 2009257417A JP 2009257417 A JP2009257417 A JP 2009257417A JP 2011103554 A JP2011103554 A JP 2011103554A
Authority
JP
Japan
Prior art keywords
packet
data
read
discarded
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009257417A
Other languages
Japanese (ja)
Other versions
JP5346780B2 (en
Inventor
Yoshihiko Imamura
義彦 今村
Koji Tsujino
広司 辻野
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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2009257417A priority Critical patent/JP5346780B2/en
Publication of JP2011103554A publication Critical patent/JP2011103554A/en
Application granted granted Critical
Publication of JP5346780B2 publication Critical patent/JP5346780B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method of selectively and efficiently discarding a packet stored in an FIFO buffer. <P>SOLUTION: The FIFO buffer for sequentially reading data in order of writing includes a reading data designation part 109 for rewriting reading address data representing the top address of a packet to be discarded to data representing the top address of a packet next to the packet to be discarded before discarding the packet to be read next. The packet can be selectively discarded by rewriting the reading address data representing the top address of the packet to be discarded to the data representing the top address of the packet next to the packet to be discarded before discarding the packet to be read next. The packet can be efficiently discarded by only rewriting the reading address data representing the top address of the packet to be discarded. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、データを選択的に破棄することのできる先入れ先出し(FIFO First In First Out)バッファ及び先入れ先出しバッファのデータ破棄方法に関する。   The present invention relates to a first-in first-out (FIFO First In First Out) buffer capable of selectively discarding data and a data discarding method of a first-in first-out buffer.

データ転送を行なうデータ転送システムにおいて、転送されるデータの単位をパケットと呼称する。データ転送システムの送受信端において、一般的にパケットを記憶するためのFIFOバッファが使用される。FIFOバッファからのパケットの読み出しは、パケットが書き込まれた順に行なわれる。   In a data transfer system that performs data transfer, a unit of data to be transferred is called a packet. A FIFO buffer for storing a packet is generally used at a transmission / reception end of the data transfer system. Packets are read from the FIFO buffer in the order in which the packets are written.

データ転送システムを含むデータ処理システムにおいて、データ転送システムのFIFOバッファに保持されたパケットが処理中に不要となる場合がある。一例として、制御プロセッサが複数の演算プロセッサにデータを転送し、演算処理の単位時間であるスライス内に、複数の演算プロセッサに演算を行わせる際に、スライスの終了時点で演算の終了していないプロセッサの演算を打ち切る場合などが考えられる。   In a data processing system including a data transfer system, a packet held in the FIFO buffer of the data transfer system may become unnecessary during processing. As an example, when a control processor transfers data to a plurality of arithmetic processors and causes a plurality of arithmetic processors to perform an operation within a slice that is a unit time of arithmetic processing, the operation is not completed at the end of the slice. For example, the processing of the processor may be aborted.

従来のFIFOバッファは、FIFOバッファへ書き込むアドレス及びFIFOバッファから読み込むアドレスを全て初期化するリセット機能を備えている。FIFOバッファのリセット機能を使用することで、FIFOバッファに記憶されたパケットはすべて破棄される。   The conventional FIFO buffer has a reset function that initializes all addresses to be written to the FIFO buffer and addresses to be read from the FIFO buffer. By using the FIFO buffer reset function, all the packets stored in the FIFO buffer are discarded.

しかし、FIFOバッファ内に破棄すべきでないパケットが含まれている可能性がある場合には上記のリセット機能を使用することはできない。このような場合に従来のシステムにおいては、FIFOバッファからパケットを読み出した後に、破棄すべきと判断されたパケットをそのまま放置する方法が実施されていた(たとえば、特許文献1の第13乃至第19段落)。   However, when there is a possibility that a packet that should not be discarded is included in the FIFO buffer, the above-described reset function cannot be used. In such a case, in the conventional system, after reading the packet from the FIFO buffer, a method of leaving the packet determined to be discarded as it is (for example, the 13th to 19th patent documents 1). Paragraph).

しかし、上記の従来の方法では、FIFOバッファ内のパケットを読み出す作業に相当の処理リサイクルを必要とする。このため、必要でないパケットを処理するために処理サイクルが消費され、結果としてシステムの効率が低下していた。   However, in the above conventional method, considerable processing recycling is required for the operation of reading the packet in the FIFO buffer. This consumes processing cycles to process packets that are not needed, resulting in reduced system efficiency.

このように、記憶されたパケットを選択的に破棄することのできる機能を備えたFIFOバッファ及びFIFOバッファ内に記憶されたパケットを選択的かつ効率的に破棄することのできるパケット破棄方法は開発されていない。   As described above, a FIFO buffer having a function capable of selectively discarding a stored packet and a packet discarding method capable of selectively and efficiently discarding a packet stored in the FIFO buffer have been developed. Not.

特開平7−262151JP-A-7-262151

したがって、記憶されたパケットを選択的に破棄することのできる機能を備えた先入れ先出しバッファ及び先入れ先出しバッファ内に記憶されたパケットを選択的かつ効率的に破棄することのできるパケット破棄方法に対するニーズがある。   Accordingly, there is a need for a first-in first-out buffer having a function capable of selectively discarding stored packets and a packet discarding method capable of selectively and efficiently discarding the packets stored in the first-in first-out buffer.

本発明による、書き込まれた順にデータを読み出す先入れ先出しバッファは、つぎに読み出すパケットを破棄する前に、破棄するパケットの先頭アドレスを示す読み出しアドレス・データを、破棄するパケットの次のパケットの先頭アドレスを示すデータに書き換える読み出しデータ指示部を備えている。   According to the present invention, the first-in first-out buffer for reading out data in the order written is read address data indicating the head address of the packet to be discarded, and the head address of the packet next to the packet to be discarded before discarding the next packet to be read. A read data instruction unit for rewriting data to be shown is provided.

本発明による、書き込まれた順にデータを読み出す先入れ先出しバッファにおいて、パケットを破棄する方法は、つぎに読み出すパケットを破棄する前に、破棄するパケットの先頭アドレスを示す読み出しアドレス・データを、破棄するパケットの次のパケットの先頭アドレスを示すデータに書き換えることによってパケットを破棄する。   According to the present invention, in the first-in first-out buffer for reading out data in the order written, the method for discarding the packet is to read the read address data indicating the head address of the packet to be discarded before discarding the next packet to be read. The packet is discarded by rewriting the data indicating the head address of the next packet.

本発明によれば、つぎに読み出すパケットを破棄する前に、破棄するパケットの先頭アドレスを示す読み出しアドレス・データを、破棄するパケットの次のパケットの先頭アドレスを示すデータに書き換えることによって、選択的にパケットを破棄することができる。また、破棄するパケットの先頭アドレスを示す読み出しアドレス・データを書き換えるだけの処理によって効率的にパケットを破棄することができる。   According to the present invention, before discarding the next packet to be read, the read address data indicating the head address of the packet to be discarded is rewritten to data indicating the head address of the packet next to the packet to be discarded. Packets can be discarded. Further, the packet can be efficiently discarded by simply rewriting the read address data indicating the start address of the packet to be discarded.

本発明の実施形態によれば、前記破棄するパケットの先頭アドレスを示す読み出しアドレス・データに、前記破棄するパケットのヘッダに含まれるパケット・データ長を加算して、前記破棄するパケットの次のパケットの先頭アドレスを示すデータを得る。   According to the embodiment of the present invention, the packet data length included in the header of the packet to be discarded is added to the read address data indicating the head address of the packet to be discarded, and the packet next to the packet to be discarded Data indicating the start address of is obtained.

本実施形態によれば、前記破棄するパケットのヘッダに含まれるパケット・データ長を使用することにより、複雑な機構を必要とせずに、前記破棄するパケットの次のパケットの先頭アドレスを示すデータを得ることができる。   According to the present embodiment, by using the packet data length included in the header of the packet to be discarded, data indicating the start address of the packet next to the packet to be discarded is not required without using a complicated mechanism. Obtainable.

本発明の実施形態によれば、ヘッダ情報の先頭にパケット・データ長のフィールドが位置しているパケットを取り扱う。   According to the embodiment of the present invention, a packet in which the packet data length field is located at the head of the header information is handled.

本実施形態によれば、ヘッダ情報からパケット・データ長を取り出す際に都合がよい。   According to this embodiment, it is convenient when the packet data length is extracted from the header information.

本発明の一実施形態によるデータを選択的に破棄することのできるFIFOバッファの入出力信号を示す図である。FIG. 3 is a diagram illustrating input / output signals of a FIFO buffer that can selectively discard data according to an exemplary embodiment of the present invention. 本発明の一実施形態によるデータを選択的に破棄することのできるFIFOバッファの構成の一例を示す図である。It is a figure which shows an example of a structure of the FIFO buffer which can selectively discard the data by one Embodiment of this invention. パケットのデータ構造を説明するための図である。It is a figure for demonstrating the data structure of a packet. 本発明の一実施形態によるパケット破棄方法を示す流れ図である。3 is a flowchart illustrating a packet discarding method according to an embodiment of the present invention. FIFOバッファに記憶されたパケットの状態を示す図である。It is a figure which shows the state of the packet memorize | stored in the FIFO buffer. 本発明の一実施形態によるデータを選択的に破棄することのできるFIFOバッファを使用したネットワークの全体構成を示す図である。1 is a diagram illustrating an entire configuration of a network using a FIFO buffer capable of selectively discarding data according to an embodiment of the present invention. FIG. 図6に示したネットワークに使用されるFIFOバッファを含むノードの構成を示す図である。It is a figure which shows the structure of the node containing the FIFO buffer used for the network shown in FIG. パケット破棄処理を説明するための図である。It is a figure for demonstrating a packet discard process. 制御回路による上述のパケット破棄方法を示す流れ図である。It is a flowchart which shows the above-mentioned packet discard method by a control circuit. 従来のFIFOバッファの入出力信号を示す図である。It is a figure which shows the input / output signal of the conventional FIFO buffer. 従来のFIFOバッファの構成の一例を示す図である。It is a figure which shows an example of a structure of the conventional FIFO buffer.

図1は、本発明の一実施形態によるパケットを選択的に破棄することのできるFIFO(先入れ先出し)バッファ100の入出力信号を示す図である。FIFOバッファ100は、外部から受信データを受け取り、受け取ったデータを内部バスへ送る。FIFOバッファ100には、さらにリセット信号とパケット破棄信号が入力される。リセット信号を受け取ると、FIFOバッファ100は、従来のFIFOバッファと同様に、記憶している全てのパケットを破棄する。パケット破棄信号を受け取ると、FIFOバッファ100は、つぎに転送される予定のパケットを選択的に破棄する。   FIG. 1 is a diagram illustrating input / output signals of a FIFO (First In First Out) buffer 100 that can selectively discard a packet according to an embodiment of the present invention. The FIFO buffer 100 receives received data from the outside and sends the received data to the internal bus. The FIFO buffer 100 further receives a reset signal and a packet discard signal. When receiving the reset signal, the FIFO buffer 100 discards all the stored packets as in the conventional FIFO buffer. When receiving the packet discard signal, the FIFO buffer 100 selectively discards the next packet to be transferred.

図10は、従来のFIFOバッファ150の入出力信号を示す図である。従来のFIFOバッファ150において、パケット破棄信号は存在しない。   FIG. 10 is a diagram showing input / output signals of the conventional FIFO buffer 150. In the conventional FIFO buffer 150, there is no packet discard signal.

図2は、本発明の一実施形態によるデータを選択的に破棄することのできるFIFOバッファ100の構成の一例を示す図である。FIFOバッファ100は、2ポートメモリ101と、書き込みデータレジスタ103と、書き込みアドレス指示部105と、読み出しデータレジスタ107と、読み出しアドレス指示部109と、加算器111と、を含む。   FIG. 2 is a diagram illustrating an example of the configuration of the FIFO buffer 100 that can selectively discard data according to an embodiment of the present invention. The FIFO buffer 100 includes a 2-port memory 101, a write data register 103, a write address instruction unit 105, a read data register 107, a read address instruction unit 109, and an adder 111.

図11は、従来のFIFOバッファ150の構成の一例を示す図である。FIFOバッファ150は、2ポートメモリ151と、書き込みデータレジスタ153と、書き込みアドレス指示部155と、読み出しデータレジスタ157と、読み出しアドレス指示部159と、を含む。従来のFIFOバッファ150は、パケット破棄信号を取り扱わない。   FIG. 11 is a diagram illustrating an example of the configuration of a conventional FIFO buffer 150. The FIFO buffer 150 includes a 2-port memory 151, a write data register 153, a write address instruction unit 155, a read data register 157, and a read address instruction unit 159. The conventional FIFO buffer 150 does not handle a packet discard signal.

図2に戻り、書き込みアドレス指示部105は、書き込み指令wr_Aを受け取ると、書き込みデータレジスタ103に書き込み指令を送り、書き込みデータレジスタ103は、書き込みデータレジスタ103の内容を、2ポートメモリ101のポートAに送る。また、書き込みアドレス指示部105は、書き込み指令及びデータを書き込むべき2ポートメモリ101のアドレスを2ポートメモリ101のポートAに送る。2ポートメモリ101は、受け取ったデータを、受け取ったアドレスに書き込む。書き込みアドレス指示部105は、記憶しているアドレスをインクリメントし、つぎにデータを書き込むべきアドレスを示すようにする。   Returning to FIG. 2, when the write address instruction unit 105 receives the write command wr_A, it sends a write command to the write data register 103, and the write data register 103 changes the contents of the write data register 103 to the port A of the 2-port memory 101. Send to. Further, the write address instruction unit 105 sends a write command and an address of the 2-port memory 101 to which data is to be written to the port A of the 2-port memory 101. The 2-port memory 101 writes the received data to the received address. The write address instruction unit 105 increments the stored address to indicate the address to which data is to be written next.

読み出しアドレス指示部109は、読み出し指令rd_Bを受け取ると、読み出し指令及びデータを読み込むべき2ポートメモリ101のアドレスを2ポートメモリ101のポートBに送る。2ポートメモリ101は、受け取ったアドレスから読み込んだデータを、読み出しデータレジスタ107に送る。読み出しアドレス指示部109は、記憶しているアドレスをインクリメントし、つぎにデータを読み出すべきアドレスを示すようにする。   When receiving the read command rd_B, the read address instruction unit 109 sends the read command and the address of the 2-port memory 101 from which data is to be read to the port B of the 2-port memory 101. The 2-port memory 101 sends the data read from the received address to the read data register 107. The read address instruction unit 109 increments the stored address and indicates the address from which data is to be read next.

リセット信号を受け取ると、書き込みデータレジスタ103、書き込みアドレス指示部105、読み出しデータレジスタ107及び読み出しアドレス指示部109の全てのデータがクリアされる。この結果、2ポートメモリ101の全てのデータが破棄される。   When the reset signal is received, all data in the write data register 103, the write address instruction unit 105, the read data register 107, and the read address instruction unit 109 are cleared. As a result, all data in the 2-port memory 101 is discarded.

パケット破棄信号を受け取ると、読み出しアドレス指示部109は、加算器111の出力を受け取る。加算器111の一方の入力端には、読み出しアドレス指示部109が保持する、つぎに読み出すパケットの先頭アドレスが接続される。加算器111の他方の入力端には、読み出しデータレジスタ107に記憶された、つぎに読み出すパケットのヘッダ情報のうちのパケット・データ長が接続される。したがって、加算器111の出力、すなわち、読み出しアドレス指示部109が加算器111から受け取るデータは、つぎに読み出す予定のパケットの、さらにその次のパケットの先頭アドレスを示すデータである。この状態で、読み出し指令rd_Bを受け取ると、読み出しアドレス指示部109は、読み出し指令及び、つぎに読み出す予定のパケットの、さらにその次のパケットの先頭アドレスを示すデータを2ポートメモリ101に送る。この結果、つぎに読み出す予定であったパケットは破棄される。このように本実施形態によれば、1サイクルの処理によって、つぎに読み出す予定であったパケットの破棄が実行される。   When receiving the packet discard signal, the read address instruction unit 109 receives the output of the adder 111. One input terminal of the adder 111 is connected to the head address of the next packet to be read, which is held by the read address instruction unit 109. The other input terminal of the adder 111 is connected to the packet data length of the header information of the next packet to be read, which is stored in the read data register 107. Therefore, the output of the adder 111, that is, the data received by the read address instruction unit 109 from the adder 111 is data indicating the head address of the next packet to be read next. In this state, when the read command rd_B is received, the read address instruction unit 109 sends the read command and data indicating the next address of the next packet to be read and the data indicating the head address of the next packet to the 2-port memory 101. As a result, the packet scheduled to be read next is discarded. As described above, according to the present embodiment, the packet that was scheduled to be read next is discarded by one cycle of processing.

図3は、パケットのデータ構造を説明するための図である。加算器111の入力端に、つぎに読み出すパケットのヘッダ情報のうちのパケット・データ長を接続するには、パケットのヘッダ情報の先頭にパケット・データ長のフィールドが位置しているのが好ましい。図3に示したデータ構造では、パケットのヘッダ情報の先頭位置の16ビット(48ビット目から63ビット目)にパケット・データ長のフィールドが位置している。   FIG. 3 is a diagram for explaining the data structure of a packet. In order to connect the packet data length of the header information of the packet to be read next to the input terminal of the adder 111, it is preferable that the packet data length field is located at the head of the packet header information. In the data structure shown in FIG. 3, the packet data length field is located at 16 bits (from the 48th bit to the 63rd bit) of the header position of the packet header information.

図4は、本発明の一実施形態によるパケット破棄方法を示す流れ図である。   FIG. 4 is a flowchart illustrating a packet discarding method according to an embodiment of the present invention.

図4のステップS1010において、読み出しアドレス指示部109は、「パケット破棄信号」を受け取る。「パケット破棄信号」は、後で説明するように制御回路によって出力される。   In step S1010 of FIG. 4, the read address instruction unit 109 receives a “packet discard signal”. The “packet discard signal” is output by the control circuit as will be described later.

図4のステップS1020において、読み出しアドレス指示部109は、2ポートメモリ101に、破棄の対象となる有効なエントリが存在するかどうか判断する。ここで、読み出しアドレス指示部109は、2ポートメモリ101が出力する、図2に示すRd_valid信号によって破棄の対象となる有効なエントリが存在するかどうか判断してもよい。有効なエントリが、存在すれば、ステップS1030に進む。有効なエントリが存在しなければ、そのまま処理を終了する。   In step S1020 of FIG. 4, the read address instruction unit 109 determines whether there is a valid entry to be discarded in the 2-port memory 101. Here, the read address instruction unit 109 may determine whether there is a valid entry to be discarded by the Rd_valid signal output from the 2-port memory 101 and shown in FIG. If there is a valid entry, the process proceeds to step S1030. If there is no valid entry, the process ends.

図4のステップS1030において、読み出しアドレス指示部109は、読み出しアドレス指示部109が保持する、つぎに読み出すパケットの先頭アドレスと、読み出しデータレジスタ107に記憶された、つぎに読み出すパケットのヘッダ情報のうちのパケット・データ長との和を加算器から受け取る。   In step S1030 of FIG. 4, the read address instruction unit 109 stores the start address of the next packet to be read held by the read address instruction unit 109 and the header information of the next packet to be read stored in the read data register 107. Is received from the adder.

図4のステップS1040において、読み出しアドレス指示部109は、加算器111の出力を、つぎに読み出すパケットの新たな先頭アドレスとして新たに記憶する。   In step S1040 of FIG. 4, the read address instruction unit 109 newly stores the output of the adder 111 as a new head address of the next packet to be read.

図5は、2ポートメモリ101に記憶されたパケットの状態を示す図である。図5において、アドレスは、先頭が最も大きいものとする。図5において、2ポートメモリ101にはパケットmからパケットm+3まで4個のパケットが存在している。ポートAの書き込みアドレスは、パケットm+3の最後のアドレスの次のアドレスである。パケット破棄実行前のポートBの読み出しアドレスは、パケットmの先頭アドレスである。パケット破棄信号が出力され、読み出しアドレス指示部109がパケット破棄処理を実行すると、ポートBの読み出しアドレスは、パケットmの先頭アドレスにパケットmのパケット・データ長を加算した値、すなわち、パケットm+1の先頭アドレスとなる。   FIG. 5 is a diagram illustrating a state of a packet stored in the 2-port memory 101. In FIG. 5, it is assumed that the address has the largest head. In FIG. 5, the 2-port memory 101 includes four packets from packet m to packet m + 3. The write address of port A is the address next to the last address of packet m + 3. The read address of the port B before executing the packet discard is the head address of the packet m. When the packet discard signal is output and the read address instruction unit 109 executes the packet discard process, the read address of the port B is a value obtained by adding the packet data length of the packet m to the head address of the packet m, that is, the packet m + 1. This is the start address.

一般に、書き込みアドレス及び読み出しアドレスは、それぞれ、書き込みアドレス指示部105及び読み出しアドレス指示部109によってインクリメントされ、上限値(2ポートメモリ101の容量)に達するとゼロとされる。書き込みアドレスが読み出しアドレスに追いついた場合に、2ポートメモリ101は一杯となる。読み出しアドレスが書き込みアドレスに追いついた場合に、2ポートメモリ101は空となる。図2のRd_valid信号は、書き込みアドレスが読み出しアドレスより大きい場合に出力され、2ポートメモリ101に有効なデータが存在することを示す。   In general, the write address and the read address are incremented by the write address instruction unit 105 and the read address instruction unit 109, respectively, and become zero when the upper limit value (capacity of the two-port memory 101) is reached. When the write address catches up with the read address, the 2-port memory 101 becomes full. When the read address catches up with the write address, the 2-port memory 101 becomes empty. The Rd_valid signal in FIG. 2 is output when the write address is larger than the read address, and indicates that valid data exists in the 2-port memory 101.

つぎに、本発明の一実施形態によるデータを選択的に破棄することのできるFIFOバッファ100を使用したデータ処理システムの構成の一例を示す。   Next, an example of the configuration of a data processing system using the FIFO buffer 100 capable of selectively discarding data according to an embodiment of the present invention will be described.

図6は、本発明の一実施形態によるデータを選択的に破棄することのできるFIFOバッファを使用したネットワークの全体構成を示す図である。ネットワークは、スイッチ303ならびにスイッチ303に接続された、ノード0(301)、ノード1(305)、ノード2(307)、ノード3(309)及びノード4(311)を含む。ノード0(301)は、システムマスターとして機能する。ノード1(305)乃至ノード4(311)は、演算ノードとして機能する。スイッチ303は、上記の5個のノードの間でパケット・データを転送する機能を有する。   FIG. 6 is a diagram illustrating an entire configuration of a network using a FIFO buffer capable of selectively discarding data according to an embodiment of the present invention. The network includes a switch 303 and a node 0 (301), a node 1 (305), a node 2 (307), a node 3 (309), and a node 4 (311) connected to the switch 303. Node 0 (301) functions as a system master. Node 1 (305) to node 4 (311) function as operation nodes. The switch 303 has a function of transferring packet data between the five nodes.

ノード0(301)は、各演算ノードに演算のためのパラメータを送信するとともに、システム全体の制御を行なう。一例として、ノード0(301)は、演算処理の基本単位時間であるスライスの始まりを示す同期信号のパケット・データ及び演算に必要なパラメータのパケット・データを各演算ノードに送信する。   Node 0 (301) transmits parameters for computation to each computation node and controls the entire system. As an example, the node 0 (301) transmits the packet data of the synchronization signal indicating the start of the slice, which is the basic unit time of the arithmetic processing, and the packet data of the parameters necessary for the arithmetic to each arithmetic node.

演算ノード1(305)乃至ノード4(311)は、システムマスターであるノード0(301)から命令されたジョブを実行し、その結果をノード0(301)へ送り返す。ジョブの内容は、数値計算の実行、演算ノード1(305)乃至ノード4(311)に接続されている機器313乃至319からの計測情報、音声情報、画像情報などの収集、機器313乃至319の制御、機器313乃至319への音声情報、画像情報などの出力などである。一例として、演算ノード1(305)において、定期的に計測器から情報を収集し、ノード0(301)から送られるパラメータと組み合わせてモータ制御を行なってもよい。モータ制御の基本周期は、演算処理の基本単位時間であるスライスと同じ時間、たとえば、1ミリ秒に設定しておく。   The operation nodes 1 (305) to 4 (311) execute the job instructed by the node 0 (301), which is the system master, and send the result back to the node 0 (301). The contents of the job include numerical calculation execution, collection of measurement information, audio information, image information, etc. from the devices 313 to 319 connected to the operation nodes 1 (305) to 44 (311), and the devices 313 to 319. Control, output of audio information, image information, and the like to the devices 313 to 319. As an example, in the operation node 1 (305), information may be periodically collected from a measuring instrument, and motor control may be performed in combination with parameters sent from the node 0 (301). The basic period of motor control is set to the same time as the slice, which is the basic unit time of the arithmetic processing, for example, 1 millisecond.

ここで、各演算ノードは、スライス時間を超えて演算を継続できないものとする。すなわち、各演算ノードは、ノード0(301)からスライスの始まりを示す同期信号を受け取るごとに、継続中の処理があればそれを中止して新たな処理を開始する。たとえば、上記のモータ制御の場合には、新たな基本周期の処理を開始する。   Here, it is assumed that each computation node cannot continue the computation beyond the slice time. That is, each time an arithmetic node receives a synchronization signal indicating the start of a slice from node 0 (301), if there is an ongoing process, it stops that process and starts a new process. For example, in the case of the motor control described above, processing for a new basic cycle is started.

図7は、図6に示したネットワークに使用されるFIFOバッファを含むノード1(305)の構成を示す図である。ノード1(305)は、デジタル受信インタフェース201、フレームデータ受信用FIFOバッファ100A、制御データ受信用FIFOバッファ150A、内部演算器203、パケット管理部205、制御回路207、フレームデータ送信用FIFOバッファ150B、制御データ送信用FIFOバッファ150C及びデジタル送信インタフェース209を含む。デジタル受信インタフェース201及びデジタル送信インタフェース209は、LVDS(Low Voltage Differential Signaling)などの差動信号を用いた高速デジタル通信用インタフェースである。   FIG. 7 is a diagram showing a configuration of the node 1 (305) including the FIFO buffer used in the network shown in FIG. The node 1 (305) includes a digital reception interface 201, a frame data reception FIFO buffer 100A, a control data reception FIFO buffer 150A, an internal computing unit 203, a packet management unit 205, a control circuit 207, a frame data transmission FIFO buffer 150B, A control data transmission FIFO buffer 150C and a digital transmission interface 209 are included. The digital reception interface 201 and the digital transmission interface 209 are high-speed digital communication interfaces using differential signals such as LVDS (Low Voltage Differential Signaling).

以下において、フレームデータ受信用FIFOバッファ100Aは、図2に示したパケット破棄機能を備えたものであるとして、FIFOバッファ100Aの通常の処理及びパケット破棄処理について説明する。   In the following, assuming that the frame data receiving FIFO buffer 100A has the packet discarding function shown in FIG. 2, the normal processing and packet discarding processing of the FIFO buffer 100A will be described.

図6のネットワークで説明した、同期信号は制御データとして扱われ、演算のためのパラメータ情報は、フレームデータとして扱われる。制御データ受信用FIFOバッファ150Aは、従来のFIFOバッファである。制御データ受信用FIFOバッファ150Aは、制御回路207から読み出し指令を受けて、受信制御データを制御回路207へ送る。制御回路207は、制御データ受信用FIFOバッファ150Aから制御データの受信を知らされて適切に読み出し指令を出力する。上述のとおり、フレームデータ受信用FIFOバッファ100Aは、図2に示したパケット破棄機能を備えたものである。フレームデータ受信用FIFOバッファ100Aは、制御回路207から読み出し指令を受けて、フレームデータ受信用FIFOバッファ100Aに保持された受信フレームデータを内部演算器203へ送る。制御回路207は、フレームデータ受信用FIFOバッファ100Aからフレームデータの受信を知らされ、また、内部演算器203からその処理状態を知らされて、適切に読み出し指令を出力する。   The synchronization signal described in the network of FIG. 6 is handled as control data, and parameter information for calculation is handled as frame data. The control data receiving FIFO buffer 150A is a conventional FIFO buffer. The control data reception FIFO buffer 150 </ b> A receives a read command from the control circuit 207 and sends reception control data to the control circuit 207. The control circuit 207 is informed of the reception of the control data from the control data reception FIFO buffer 150A, and appropriately outputs a read command. As described above, the frame data reception FIFO buffer 100A has the packet discard function shown in FIG. The frame data receiving FIFO buffer 100A receives a read command from the control circuit 207, and sends the received frame data held in the frame data receiving FIFO buffer 100A to the internal computing unit 203. The control circuit 207 is informed of reception of frame data from the frame data reception FIFO buffer 100A, and informed of the processing state from the internal arithmetic unit 203, and appropriately outputs a read command.

スライス中に受信する予定のパケットの個数は既知であるとして、パケット管理部205に予め設定しておく。パケット管理部205は、図示しないパケット・カウンタを備えており、パケット・カウンタは、通信チャネルのリセット時、たとえば、スライスの開始時にゼロに設定される。パケット・カウンタは、内部演算器203が受信したデータの情報を使用して読み出したパケットの数をカウントする。   Assuming that the number of packets scheduled to be received during a slice is known, it is set in advance in the packet management unit 205. The packet management unit 205 includes a packet counter (not shown), and the packet counter is set to zero when the communication channel is reset, for example, at the start of a slice. The packet counter counts the number of packets read using the data information received by the internal arithmetic unit 203.

図8は、パケット破棄処理を説明するための図である。図8の横軸は時間の経過を示す。スライスの開始を知らせる同期信号を含むパケットがFIFOバッファ150Aに受信され、制御回路207に送られる。この時点の時刻はt1である。この時点で内部演算器203は、パケット(S1+M−3)を処理中である。このときFIFOバッファ100Aの読み出しポインタは、パケット(S1+M−3)の先頭アドレスの位置を指している。ここで、読み出しポインタとは、図5で説明した読み出しアドレスを示すデータを保持するレジスタである。   FIG. 8 is a diagram for explaining the packet discarding process. The horizontal axis in FIG. 8 shows the passage of time. A packet including a synchronization signal notifying the start of the slice is received by the FIFO buffer 150A and sent to the control circuit 207. The time at this time is t1. At this time, the internal computing unit 203 is processing the packet (S1 + M−3). At this time, the read pointer of the FIFO buffer 100A points to the position of the head address of the packet (S1 + M-3). Here, the read pointer is a register that holds data indicating the read address described with reference to FIG.

この状態で、たとえば、リセット信号によりFIFOバッファ100A内の全てのデータを破棄することはできない。その理由は以下のとおりである。第1に、時刻t1でパケット(S1+M−3)のデータを読み込んでいる最中である。第2に、時刻t2においては、次のスライスで使用するパケット(S2+0)がすでに受信されている。第3に一括してリセットを行なう時間の余裕が見当たらない。   In this state, for example, all data in the FIFO buffer 100A cannot be discarded by a reset signal. The reason is as follows. First, the data of the packet (S1 + M−3) is being read at time t1. Second, at time t2, the packet (S2 + 0) used in the next slice has already been received. Third, there is no time to reset all at once.

そこで、制御回路207は、パケット(S1+M−3)までを処理した後、後続のパケットを破棄するものとする。制御回路207は、時刻t2までは通常のrd_bの読み出し信号を使用してデータを読み出す。制御回路207は、パケット管理部205からの情報に基づいて、未処理のパケット数が3個であることを認識する。本実施例で具体的に破棄すべき未処理のパケットは、(S1+M−2)、(S1+M−1)及び(S1+M)の3個である。制御回路207は、時刻t2において、通常の処理にしたがってrd_bの読み出し信号を出力する。この結果、FIFOバッファ100Aの読み出しポインタは、パケット(S1+M−2)の先頭アドレスの位置を指す。また、図2に示した読み出しデータレジスタ107には、パケット(S1+M−2)の先頭データが保持される。この状態で、時刻t3において、制御回路207は、第1のパケット破棄信号を出力する。すると、FIFOバッファ100Aが図4に示した処理を行って、FIFOバッファ100Aの読み出しポインタは、パケット(S1+M−1)の先頭アドレスの位置を指す。また、図2に示した読み出しデータレジスタ107には、パケット(S1+M−1)の先頭データが保持される。この状態で、時刻t4において、制御回路207は、第2のパケット破棄信号を出力する。すると、FIFOバッファ100Aが図4に示した処理を行って、FIFOバッファ100Aの読み出しポインタは、パケット(S1+M)の先頭アドレスの位置を指す。また、図2に示した読み出しデータレジスタ107には、パケット(S1+M)の先頭データが保持される。この状態で、時刻t5において、制御回路207は、第3のパケット破棄信号を出力する。すると、FIFOバッファ100Aが図4に示した処理を行って、FIFOバッファ100Aの読み出しポインタは、次のスライスの先頭のパケット(S2+0)の先頭アドレスの位置を指す。また、図2に示した読み出しデータレジスタ107には、パケット(S2+0)の先頭データが保持される。このように3個のパケット破棄信号を出力することにより、3個のパケット(S1+M−2)、(S1+M−1)及び(S1+M)が破棄される。このように、1個のパケットを破棄するのに消費される処理サイクルは1であり、効率的にパケットを処理することができる。   Therefore, the control circuit 207 discards subsequent packets after processing up to the packet (S1 + M−3). The control circuit 207 reads data using a normal rd_b read signal until time t2. Based on information from the packet management unit 205, the control circuit 207 recognizes that the number of unprocessed packets is three. In this embodiment, there are three unprocessed packets that should be specifically discarded (S1 + M−2), (S1 + M−1), and (S1 + M). The control circuit 207 outputs a read signal of rd_b according to a normal process at time t2. As a result, the read pointer of the FIFO buffer 100A points to the position of the head address of the packet (S1 + M-2). The read data register 107 shown in FIG. 2 holds the top data of the packet (S1 + M−2). In this state, at time t3, the control circuit 207 outputs a first packet discard signal. Then, the FIFO buffer 100A performs the processing shown in FIG. 4, and the read pointer of the FIFO buffer 100A indicates the position of the head address of the packet (S1 + M−1). Also, the read data register 107 shown in FIG. 2 holds the top data of the packet (S1 + M−1). In this state, at time t4, the control circuit 207 outputs a second packet discard signal. Then, the FIFO buffer 100A performs the processing shown in FIG. 4, and the read pointer of the FIFO buffer 100A indicates the position of the head address of the packet (S1 + M). The read data register 107 shown in FIG. 2 holds the top data of the packet (S1 + M). In this state, at time t5, the control circuit 207 outputs a third packet discard signal. Then, the FIFO buffer 100A performs the processing shown in FIG. 4, and the read pointer of the FIFO buffer 100A indicates the position of the head address of the head packet (S2 + 0) of the next slice. Also, the read data register 107 shown in FIG. 2 holds the top data of the packet (S2 + 0). By outputting three packet discard signals in this way, three packets (S1 + M−2), (S1 + M−1), and (S1 + M) are discarded. Thus, the processing cycle consumed for discarding one packet is 1, and the packet can be processed efficiently.

図9は、制御回路による上述のパケット破棄方法を示す流れ図である。   FIG. 9 is a flowchart showing the packet discarding method described above by the control circuit.

図9のステップS2010において、制御回路207は、FIFOバッファ150Aから同期信号を受け取る。   In step S2010 of FIG. 9, the control circuit 207 receives the synchronization signal from the FIFO buffer 150A.

図9のステップS2020において、制御回路207は、パケット管理部205から未処理のパケット数を受け取る。   In step S2020 of FIG. 9, the control circuit 207 receives the number of unprocessed packets from the packet management unit 205.

図9のステップS2030において、制御回路207は、内部演算器からの情報を使用して仕掛かりのパケットの処理が終了したかどうか判断する。仕掛かりのパケットの処理が終了していれば、ステップS2050に進む。仕掛かりのパケットの処理が終了していなければ、ステップS2040に進む。   In step S2030 of FIG. 9, the control circuit 207 determines whether or not the processing of the in-process packet has been completed using the information from the internal arithmetic unit. If the in-process packet processing has been completed, the process proceeds to step S2050. If the in-process packet processing has not ended, the process advances to step S2040.

図9のステップS2040において、制御回路207は、所定時間待機した後、のステップS2030に進む。   In step S2040 of FIG. 9, after waiting for a predetermined time, the control circuit 207 proceeds to step S2030.

図9のステップS2050において、制御回路207は、未処理のパケットの数のパケット破棄指令を出力する。   In step S2050 of FIG. 9, the control circuit 207 outputs a packet discard command for the number of unprocessed packets.

なお、図4のステップS1020において、読み出しアドレス指示部109は、2ポートメモリ101に、破棄の対象となる有効なエントリが存在するかどうか判断することを説明した。このステップに代えて、あるいはこのステップに加えて、図9のステップS2010とステップS2010との間で、制御回路207が、2ポートメモリ101に、破棄の対象となる有効なエントリが存在するかどうか判断し、存在する場合にはステップS2020に進み、存在しない場合には処理を終了するようにしてもよい。   Note that it has been described that the read address instruction unit 109 determines whether there is a valid entry to be discarded in the 2-port memory 101 in step S1020 of FIG. In place of or in addition to this step, whether or not there is a valid entry to be discarded by the control circuit 207 in the 2-port memory 101 between step S2010 and step S2010 in FIG. If it exists, the process proceeds to step S2020 if it exists, and the process may end if it does not exist.

上記の実施形態によれば、1サイクルの処理によって、FIFOバッファのパケットを、選択的かつ効率的に破棄することができる。   According to the above-described embodiment, the FIFO buffer packet can be selectively and efficiently discarded by one cycle of processing.

100…FIFOバッファ、101…2ポートメモリ、103…書き込みデータレジスタ、105…書き込みアドレス指示部、107…読み出しデータレジスタ、109…読み出しアドレス指示部 DESCRIPTION OF SYMBOLS 100 ... FIFO buffer, 101 ... Two port memory, 103 ... Write data register, 105 ... Write address instruction | indication part, 107 ... Read data register, 109 ... Read address instruction | indication part

Claims (6)

書き込まれた順にデータを読み出す先入れ先出しバッファであって、つぎに読み出すパケットを破棄する前に、破棄するパケットの先頭アドレスを示す読み出しアドレス・データを、破棄するパケットの次のパケットの先頭アドレスを示すデータに書き換える読み出しデータ指示部を備えた先入れ先出しバッファ。   A first-in first-out buffer that reads data in the order in which it was written. Before discarding the next packet to be read, read address data indicating the start address of the packet to be discarded, and data indicating the start address of the packet next to the packet to be discarded A first-in first-out buffer having a read data instructing unit for rewriting data. 前記破棄するパケットの先頭アドレスを示す読み出しアドレス・データに、前記破棄するパケットのヘッダに含まれるパケット・データ長を加算して、前記破棄するパケットの次のパケットの先頭アドレスを示すデータを得る加算器をさらに備えた請求項1に記載の先入れ先出しバッファ。   Addition that obtains data indicating the start address of the packet next to the discarded packet by adding the packet data length included in the header of the discarded packet to the read address data indicating the start address of the discarded packet The first-in first-out buffer of claim 1, further comprising a vessel. ヘッダ情報の先頭にパケット・データ長のフィールドが位置しているパケットを取り扱う請求項1または2に記載の先入れ先出しバッファ。   The first-in first-out buffer according to claim 1 or 2, which handles a packet in which a field of packet data length is located at the head of header information. 書き込まれた順にデータを読み出す先入れ先出しバッファにおいて、パケットを破棄する方法であって、つぎに読み出すパケットを破棄する前に、破棄するパケットの先頭アドレスを示す読み出しアドレス・データを、破棄するパケットの次のパケットの先頭アドレスを示すデータに書き換えることによってパケットを破棄するパケット破棄方法。   A method of discarding a packet in a first-in first-out buffer that reads data in the order of writing. Before discarding the next packet to be read, the read address data indicating the head address of the packet to be discarded is the next to the packet to be discarded. A packet discard method for discarding a packet by rewriting the data to indicate the start address of the packet. 前記破棄するパケットの先頭アドレスを示す読み出しアドレス・データに、前記破棄するパケットのヘッダに含まれるパケット・データ長を加算して、前記破棄するパケットの次のパケットの先頭アドレスを示すデータを得る請求項4に記載のパケット破棄方法。   A data indicating a head address of a packet next to the discarded packet is obtained by adding a packet data length included in a header of the discarded packet to read address data indicating the head address of the discarded packet. Item 5. The packet discarding method according to Item 4. ヘッダ情報の先頭にパケット・データ長のフィールドが位置しているパケットを取り扱う請求項4または5に記載のパケット破棄方法。   6. The packet discarding method according to claim 4, wherein a packet in which a packet data length field is located at the head of the header information is handled.
JP2009257417A 2009-11-10 2009-11-10 Data discard method for first-in first-out buffer and first-in first-out buffer Expired - Fee Related JP5346780B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009257417A JP5346780B2 (en) 2009-11-10 2009-11-10 Data discard method for first-in first-out buffer and first-in first-out buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009257417A JP5346780B2 (en) 2009-11-10 2009-11-10 Data discard method for first-in first-out buffer and first-in first-out buffer

Publications (2)

Publication Number Publication Date
JP2011103554A true JP2011103554A (en) 2011-05-26
JP5346780B2 JP5346780B2 (en) 2013-11-20

Family

ID=44193712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009257417A Expired - Fee Related JP5346780B2 (en) 2009-11-10 2009-11-10 Data discard method for first-in first-out buffer and first-in first-out buffer

Country Status (1)

Country Link
JP (1) JP5346780B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297677A (en) * 1996-05-02 1997-11-18 Fujitsu Ltd Fifo buffer for erasing partial data group
JP2001045000A (en) * 1999-07-27 2001-02-16 Fujitsu Ltd Circuit and method for abandoning cell exceeding read standby time of fifo memory
JP2002344539A (en) * 2001-05-15 2002-11-29 Ricoh Co Ltd Fifo device
JP2008182550A (en) * 2007-01-25 2008-08-07 Oki Electric Ind Co Ltd Packet buffer fifo memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297677A (en) * 1996-05-02 1997-11-18 Fujitsu Ltd Fifo buffer for erasing partial data group
JP2001045000A (en) * 1999-07-27 2001-02-16 Fujitsu Ltd Circuit and method for abandoning cell exceeding read standby time of fifo memory
JP2002344539A (en) * 2001-05-15 2002-11-29 Ricoh Co Ltd Fifo device
JP2008182550A (en) * 2007-01-25 2008-08-07 Oki Electric Ind Co Ltd Packet buffer fifo memory device

Also Published As

Publication number Publication date
JP5346780B2 (en) 2013-11-20

Similar Documents

Publication Publication Date Title
JP2788577B2 (en) Frame conversion method and apparatus
US5910178A (en) Method for controlling a message send in a packet-switched interconnection network
US20080209089A1 (en) Packet-Based Parallel Interface Protocol For A Serial Buffer Having A Parallel Processor Port
JP5460156B2 (en) Data processing device
AU2003234641A1 (en) Inter-chip processor control plane
CN107153412A (en) It is a kind of that there is the CAN controller circuit for sending FIFO
CN112491715B (en) Routing device and routing equipment of network on chip
JP5346780B2 (en) Data discard method for first-in first-out buffer and first-in first-out buffer
EP1016973A1 (en) Communication dma device
JP2004207891A (en) Data communication apparatus, data communication method, data communication program, and recording medium having data communication program recorded thereon
JP2010257280A (en) Serial control device, semiconductor device, and serial data transfer method
US20090307463A1 (en) Inter-processor, communication system, processor, inter-processor communication method, and communication method
JP4212508B2 (en) Packet generator
US20010018732A1 (en) Parallel processor and parallel processing method
JP5772132B2 (en) Data transfer apparatus, data transfer method, and information processing apparatus
US10002092B2 (en) Arithmetic processing unit, and method of controlling arithmetic processing unit
JP2018173856A (en) Information processor and method for controlling the same
RU2755987C1 (en) Method for organising a network processor unit
JP2009069974A (en) Bus interface circuit and information processor
JP3058010B2 (en) Method and apparatus for communication between processors
KR100462478B1 (en) Apparatus of transmitting and receiving variable length packet, and method thereof
JPH05128049A (en) Input/output controller
KR100205055B1 (en) Emergency message send control method in a send network interface
JPH10164087A (en) Data reception device and buffer managing method
JP2000013438A (en) Gateway device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130703

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Ref document number: 5346780

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees