WO2008004301A1 - Data transfer unit, processing unit, and data transfer method - Google Patents

Data transfer unit, processing unit, and data transfer method Download PDF

Info

Publication number
WO2008004301A1
WO2008004301A1 PCT/JP2006/313498 JP2006313498W WO2008004301A1 WO 2008004301 A1 WO2008004301 A1 WO 2008004301A1 JP 2006313498 W JP2006313498 W JP 2006313498W WO 2008004301 A1 WO2008004301 A1 WO 2008004301A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
frame
unit
received
buffer
Prior art date
Application number
PCT/JP2006/313498
Other languages
French (fr)
Japanese (ja)
Inventor
Yuuji Konno
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2006/313498 priority Critical patent/WO2008004301A1/en
Publication of WO2008004301A1 publication Critical patent/WO2008004301A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9021Plurality of buffers per packet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • H04L49/506Backpressure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Definitions

  • Data transfer device arithmetic processing device, and data transfer method
  • the present invention relates to a technique for controlling a frame buffer buffer in a data transfer apparatus such as a cross burst used for inter-CPU communication.
  • a fixed threshold value is set to prevent overflow, and the remaining data amount in the buffer reaches the threshold value.
  • a transmission stop request (back pressure) is output to the frame source. Note that the upper limit of the remaining capacity of the buffer determined by the buffer threshold needs to be secured more than the maximum length of the frame in order to prevent overflow of the noffer.
  • Patent Document 1 discloses a packet switch that executes back pressure for restricting packet input.
  • Patent Document 2 discloses a packet buffer management device that increases the throughput by efficiently using a memory of a nother by processing a received packet by dividing it into a fixed length.
  • FIG. 1 is a diagram showing how threshold values are set by a conventional frame buffering buffer and transmission stop request issuance timing. This figure shows the case where the length of one received frame can be 2 to 4 units.
  • “S” in the frame is The beginning of the frame
  • "E” is the end of the frame
  • nothing is written indicates the frame data.
  • a fixed threshold value 11 is set in the FIFO buffer 10.
  • the threshold value 11 is set so that the remaining frame of the FIFO buffer 10 is the maximum frame length that can be input (in this figure, the length is the size of the frame 12, ie, 4 units).
  • FIG. 1 (a) shows a state where a frame 12 having a long frame length is stored in the FIFO buffer 10.
  • FIG. 1 (b) is a diagram showing a state after the data amount in the FIFO buffer 10 reaches the threshold 11 in FIG. 1 (a).
  • One frame is stored in the FIFO buffer 10 until the transmission stop request is notified to the data transmission source and the frame transmission stops. If the frame capacity stored at this time is a long frame (long frame) 13a, the remaining capacity of the FIFO buffer 10 is exhausted, and further frame reception processing cannot be performed. However, if the frame to be stored is a short frame (short frame) 13b, the remaining amount of the FIFO buffer 10 remains, and frame reception processing is still possible.
  • the data transfer apparatus in FIG. 2 transmits a frame length detection unit 22, a frame buffer buffer 23, a buffer read control unit 25, and a buffer remaining amount notification signal 28 in the order in which frames 27 to 27 are transmitted. It consists of a transmission stop request unit 26 that notifies 21.
  • the frame length detection unit 22 detects the frame length of the frame from the header portion of the reception frame 27.
  • the frame buffer buffer 23 is a memory composed of a FIFO having a function of temporarily buffering a frame.
  • the read control unit 25 is a control block that reads a koffer based on a request from a subsequent frame processing unit (not shown).
  • the transmission stop request unit 26 issues a transmission stop request 28 to the transmission source when the amount of data in the frame buffer buffer 23 reaches a threshold value.
  • the frame 27 transmitted from the transmission source 21 is accumulated in the frame buffer 23 via the frame length detector 22, and sequentially from the frame buffer 23 under the control of the read controller 25. It is read and sent to destination 24.
  • the frame length detection unit 22 also detects the data length of the frame in the information power in the header part of the transmission frame from the data transmission source 21 and notifies the transmission stop request generation unit 26 of this. Based on this, the transmission stop request generating unit 26 changes the value of the threshold value Th set for itself.
  • the threshold value Th of the frame buffer 23 is changed based on the detection result of the frame length detector 22.
  • the threshold Th is changed by taking a low threshold Thl so that the remaining amount of the frame buffer 23 increases when the frame length is long, and conversely when the frame length is short
  • the buffer 23 is changed to take a high value threshold Th2 so that the remaining amount of the buffer 23 becomes small.
  • the threshold value Th is changed so that the remaining amount of the frame buffer 23 becomes an appropriate value. Therefore, the usage rate of the frame buffer 23 is increased, and the frame transmission of the cross burst switch is performed. Processing capacity can be improved.
  • the frame length detection unit 22 constantly monitors the size of the frame input to the frame buffer buffer 23. Further, the transmission stop request generator 26 resets the frame buffer buffer 23. Always monitor the remaining buffer notification 30 generated by the Z write pointer. When this remaining amount reaches the threshold value Th held in the transmission stop request generation unit 22, a transmission stop request 28 is issued to the data transmission source 21.
  • the transmission stop request generation unit 26 receives the frame length notification 29 from the frame length detection unit 22, and dynamically changes the threshold value set to itself according to this frame length.
  • the threshold value of the frame buffer buffer 23 is dynamically changed based on the received frame length. That is, in the frame length detection unit 22, when the received frame length is long, the threshold of the frame buffer 23 is set low, and when the frame length is short, the threshold is set high so that the usage rate of the frame buffer 23 is increased. I give you.
  • the frame buffer is used when the processing for preferentially transferring the frame with the short frame length is performed.
  • the buffer 23 is close to the threshold, for example, when short frames are input continuously, long frames are not processed! Resulting in.
  • FIG. 3 is a diagram showing this live block state.
  • the threshold value of the frame buffer 41 is increased from Thl to Th2, and the short frame 43 is preferentially written to the buffer.
  • the short frame 43 is continuously input when the remaining amount of the frame buffer 23 is near the threshold value, the live block state is generated because even the long frame 42 is not processed.
  • Patent Document 1 JP 2000-22718
  • Patent Document 2 Japanese Patent Laid-Open No. 2000-316024
  • An object of the present invention is to provide a data transfer device, an arithmetic processing device, and a data transfer method capable of increasing the usage rate of a noffer without generating a live block state for a long frame.
  • a data transfer device is a data transfer device that performs data transfer by holding received data, and includes a data length detection unit, a data buffer unit, a data division unit, And a transmission stop request generator.
  • the data length detection unit detects the data length of the received data.
  • the data buffer unit stores received data.
  • the data dividing unit divides the received data and outputs the divided received data to the data buffer unit when the amount of data held by the data transfer device exceeds a predetermined value set in advance.
  • the transmission stop request generation unit outputs a transmission stop request based on the amount of data held by the data transfer apparatus.
  • the data amount held by the data transfer device is based on the data length of the received data detected by the data length detector and the data amount of the data buffer unit after storing the received data. Also good.
  • the data amount held by the data transfer device is based on the data length of the received data detected by the data length detector and the data amount of the data buffer unit before storing the received data It is good.
  • a data length detection unit that detects the data length of received data, a data buffer unit that stores received data, and a data amount stored in the data buffer unit When a preset threshold value is exceeded, the received data is divided and a data dividing unit that outputs the divided received data to the data buffer unit; the data length detected by the data length detecting unit; And a transmission stop request generation unit that outputs a transmission stop request based on the stored data amount of the data buffer unit.
  • the data transfer device further includes a data reproduction unit that merges data output from the data buffer unit, and outputs the divided data stored in the data buffer unit. May be configured to restore the data divided by the data reproduction unit to the data before division and output the data.
  • the present invention also includes an arithmetic processing device and a data transfer method within its scope.
  • the threshold value of the noffer is dynamically changed based on the frame length input to the data buffer unit, and the storage amount of the data buffer unit can always be kept at the maximum. As a result, the frequency of transmission stop requests (back pressure) decreases, and the frame processing performance can be improved.
  • the threshold of the frame buffer is set high by processing a long frame as a short frame. The rate goes up.
  • FIG. 1 is a diagram showing how thresholds are set by a conventional frame buffer and the timing for issuing a transmission stop request.
  • FIG. 2 is a diagram showing a frame transfer method using a FIFO frame buffer buffer whose threshold value is dynamically changed.
  • FIG. 3 is a diagram showing a live block state.
  • FIG. 4 is a diagram showing a concept of processing at the time of frame storage Z reading in the frame buffer buffer in the present embodiment.
  • FIG. 5 is a diagram showing the overall configuration of the system of the present embodiment.
  • FIG. 6 is a block diagram showing a configuration of a cross burst (XB).
  • FIG. 7 is a diagram showing a frame transfer method by a frame buffer buffer in the present embodiment.
  • FIG. 8 is a conceptual diagram showing how a frame length is detected by a frame length detector.
  • FIG. 10 is a diagram showing a detailed example of frame division processing performed by the frame division unit in the present embodiment.
  • FIG. 11 is a diagram showing a detailed example of frame playback processing performed by the frame playback unit in the present embodiment.
  • FIG. 12 is a flowchart showing an operation example of the system controller unit of the data transmission source.
  • FIG. 13 is a flowchart showing an operation example of the cross burst switch.
  • FIG. 14 is a flowchart showing an operation example of a read control unit in the cross burst.
  • FIG. 4 is a diagram showing a concept of processing at the time of frame storage Z reading in the frame buffer buffer in the present embodiment.
  • the threshold value is dynamically changed according to the length of the received frame, as in the configuration shown in FIG.
  • the threshold of the frame buffer 51 when the threshold of the frame buffer 51 is set to the threshold Th 1 of the short frame, and the remaining amount of the frame buffer 51 becomes close to the threshold Th2 (for example, the thresholds Thl and Th2).
  • the long frame 52 is temporarily converted into short frames 53a and 53b and stored in the frame buffer 51.
  • the frames 53a and 53b read from the frame buffer 51 are reproduced as the original long frame 52 and transmitted to the transmission destination.
  • a live block is prevented from occurring, and a long frame 52 is also processed.
  • the long frame 52 is input to the frame buffer buffer 51 as the short frames 53a and 53b, it is possible to input a frame with the frame buffer buffer 51 set to the short frame threshold value Th2, thereby increasing the buffer usage rate. be able to.
  • FIG. 5 is a diagram showing the overall configuration of the system of this embodiment.
  • the casing 61 and the expansion casing 62 have a plurality of system boats SB63-0 to 63-15.
  • Each system board (SB) 63-0 to 63-15 includes a plurality of CPU sections 65 and one system controller (SC) section 66, and between each system board 63-0 to 63-15, Connected by multiple crossbar switches (XB) 64-1 to 64-4.
  • SC system controller
  • the system board 63-0 includes four CPU sections 65, ie, CPU sections 65-0 to 65-3, which are connected to the system controller section 66-0 and are connected to the system board 6-0.
  • 3-4 also includes four CPU sections 65-16 to 65-19, which are connected to the system controller section 66-4.
  • Each CPU unit 65 on the system board 63 is a CPU core having a frame transmission / reception buffer, performs various calculations based on a program in a memory (not shown), and is on a different system board 63. Exchanges data with the CPU part 65
  • the system controller 66 controls the entire system board 63.
  • the system controller 66 handles the transmission request from the CPU 65, and the system controller 66 is used for communication between the CPUs 5.
  • a communication request from the CPU unit 65 is passed to the cross burst 64, and transmission data is received.
  • the system controller 66 receives a transmission stop request (back pressure) from the cross burst 64, it stops frame transmission to the cross burst 64.
  • Each system board 63—0 to 63—15 is connected via a cross burst (XB) 64—1 to 64—4, and communication between the CPU units 65 across the system board 63 is as follows. This is done via the crossbar switches 64-1 to 64-4.
  • XB cross burst
  • FIG. 6 is a block diagram showing a configuration of the cross burst (XB) 64 of FIG. The figure only shows the configuration centered on the FIFO buffer.
  • the cross burst 70 shown in the figure includes a frame length detector 72, a transmission stop request generator 73, It has a frame decomposing unit 74, a first FIFO buffer (FIF01) 75, a second FIFO buffer (FIFO 2) 76, a read control unit 77, a frame reproduction unit 78, and a frame processing unit 79.
  • the frame length detection unit 72 receives the transmission source power from the data Z header identification signal (TAG) and the data bus signal (DATA-BUS) received from the system controller (SC) 71 of the transmission source. The frame length of the frame is detected and notified to the transmission stop request generator 73. The frame data and tag information to which the data Z header identification signal (TAG) and the data bus signal (DATA_BUS) are also input are input to the frame decomposition unit 74 via the frame length detection unit 72.
  • TAG data Z header identification signal
  • DATA-BUS data bus signal
  • the transmission stop request generation unit 73 notifies the remaining amount of the buffer generated by the frame length notification signal (L EN) from the frame length detection unit 72 and the read / write pointer notified from the FIFO buffer 16.
  • the threshold values of the first FIFO buffer 75 and the second FIFO buffer are determined from the signal (RWP). Then, it is determined whether or not to send a frame transmission stop request to this threshold power transmission source 71.
  • a transmission stop request signal (BP) is transmitted to the system controller 71 of the frame transmission source.
  • the frame decomposing unit 74 writes the frame header information into the first FIFO buffer (FIFOl) 75 using the buffer input data WDT1 and the buffer write instruction signal WEN1, and the second FIFO buffer (FIF02) 76 Is written with the buffer input data WDT2 and the buffer write instruction signal WEN2.
  • the frame decomposing unit 74 divides the frame from the frame length detection unit 72 into short frames.
  • the first FIFO buffer (FIFO1) 75 is a first-in first-out buffer in which header information of tag information is stored by the frame decomposing unit 74.
  • the second FIFO buffer (FIF02) 76 is a first-in first-out frame buffer buffer provided in the cross burst 70 in which frame data is stored by the frame decomposing unit 74.
  • the read control unit 77 Based on the buffer read request signal (REQ) from the frame processing unit 79 and the remaining amount notification (EMP) indicating whether or not it is empty from the first FIFO buffer 75, the read control unit 77! Buffer read instruction for first FIFO buffer 75 and second FIFO buffer 76 Signals (REN1, REN2) are output, and output control of the first FIFO buffer 75 and the second FIFO buffer 76 is performed.
  • REQ buffer read request signal
  • EMP remaining amount notification
  • the read control unit 77 When the header information of one frame or more is stored in the first FIFO buffer 75, that is, when the first FIFO buffer 75 is not empty and the EMP signal is 0, the read control unit 77 When there is a read request by the buffer read signal (REQ), read control is performed on the first FIFO buffer 75 and the second FIFO buffer 76.
  • REQ buffer read signal
  • the frame playback unit 78 reads frame data from the second FIFO buffer 76 in units of one frame, and from the header information (RDT1) read from the corresponding first FIFO buffer 75, the second FIFO buffer Whether the buffer output data (RDT2) read from 76 is a frame divided by the frame dividing unit 74 is identified. If it is a divided frame, it is merged and the frame is reproduced.
  • RDT1 header information
  • RDT2 buffer output data
  • the frame processing unit 79 receives the frame data from the frame reproduction unit 78, and controls the distribution of the frame to the transmission destination, the copy of the frame when transmitting the frame to a plurality of transmission destinations, the change of the header information, etc. After performing various processes, the destination system controller
  • the frame is output as the data Z header identification signal (TAG) and data bus signal (DATA_BUS).
  • TAG data Z header identification signal
  • DATA_BUS data bus signal
  • FIG. 7 is a diagram showing a frame transfer method by the frame buffer buffer in the present embodiment.
  • the data transfer device in the figure is described in contrast to the conventional data transfer device in FIG. 2, and components having substantially the same function are denoted by the same reference numerals.
  • the configuration in FIG. 7 is further provided with a frame division unit 81 and a frame reproduction unit 82 as compared with the configuration in FIG.
  • the threshold value of the frame buffer 23 is set to Th2, and the data is accumulated up to the vicinity of the threshold value Th2.
  • the length passed from the frame length detection unit 22 is converted into a short frame and stored in the frame buffer buffer 23. Also, if the frame reproduction unit 82 has been converted into a short frame by the frame force frame division unit 81 read from the frame buffer buffer 23, it returns this to a long frame.
  • the threshold of the frame buffer 23 when the threshold of the frame buffer 23 is set to the short frame threshold Th2, and the data in the frame buffer 23 remains close to the threshold Th2.
  • the long frame transmitted from the transmission source 21 is converted into a short frame by the frame division unit 81 and stored in the frame buffer buffer 23.
  • this frame When this frame is read from the frame buffer 23, it is converted into a long frame by the frame reproducing unit 82 and sent to the transmission destination.
  • the power for determining whether or not the received long frame is split based on only the amount of data stored in the frame buffer 23 is as follows. Whether the frame is divided or not may be determined based on the amount of data held by the entire cross burst or a part of it, not limited to the configuration!
  • a data buffer (not shown) is provided in the frame dividing unit 81 and the like in addition to the frame buffer buffer 23. Therefore, it is configured to determine whether or not the ability to divide a long frame is based on not only the data holding amount of the frame buffer 23 but also the data amount obtained by adding the data held in these buffers. Also good. In this case, whether to divide a long frame is determined based on the amount of data held in the frame buffer buffer 23 and the frame length of the received frame.
  • the received force data is determined based on the amount of data in the frame buffer 23 after storing the received data. Based on the amount of data in the previous frame buffer 23, the received length V may be determined whether to divide the frame!
  • FIG. 8 is a conceptual diagram showing how the frame length detection unit 22 detects the frame length.
  • the header portion 92 of the frame 91 transmitted from the data transmission source 21 includes information indicating the type of frame, and the frame type length can also be obtained from the type strength of this frame.
  • this frame is a frame for peer-to-peer communication, so the frame length is 4 units (1 unit is 32 bits).
  • the opcode power is '1', this frame is a broadcast communication frame, so the frame length is 2 units.
  • the position of the header portion of the frame 91 is determined from the tag information input at the same time as the frame 91.
  • the portion of the frame 91 corresponding to the portion of the tag information 94 whose tag code is 0x4 is the header portion, and the portion of the frame 91 whose tag code is 0x5 is the data portion.
  • the frame length detection unit 22 includes a decoder 93 therein, and the information in the header unit 92 of the frame input from the data transmission source 21 via the data bus signal (DATA-BUS) Using 93, decode as described above to obtain the frame length of the received frame. This is notified to the transmission stop request generator 26 as a frame length notification signal (LEN).
  • LEN frame length notification signal
  • FIG. 9 is a diagram showing the connection of the frame node that connects the system controller of the data transmission source and the cross burst switch.
  • the system controller 111 and the crossbar switch of the data transmission source have a 32-bit data bus signal (DATA—BUS) [31: 0] and a 3-bit header identification signal. (TAG) Connected by [2: 0]!
  • the data transmission source 111 inputs 112 data from the TAG and DATA-BUS simultaneously.
  • the data input from the TAG is the tag information indicating the data part whether it is the data force header part simultaneously input from the DATA_BUS.
  • the frame length detection unit 22 decodes (a part of) the data input as the header part, and detects the frame length of the received frame.
  • FIG. 10 is a diagram showing a detailed example of the frame division processing performed by the frame division unit 74 in the present embodiment.
  • the frame dividing unit 74 includes a 3-bit tag information bus corresponding to DATA-BUS [31: 0] 121 and DATA_BUS [31: 0] 121, which is a dedicated bus for 32-bit frames.
  • TAG [2: 0] 122 is connected, and frame data 123 and tag information 124 corresponding to the frame data 123 are input.
  • the frame division unit 74 transfers the frame data 123 received from the DATA-BUS [31: 0] 121 to the second FIFO buffer 76 and the tag information 124 received from the TAG [2: 0] 122.
  • the header portion 127 is stored in the first FIFO buffer 75.
  • the transmission stop request unit 73 validates the frame division instruction signal (RES) to the frame division unit 74 when the remaining amount of the second FIFO buffer 76 reaches near the threshold. Even if the remaining capacity of the second FIFO buffer 76 does not reach the threshold value, the transmission stop request unit 73 enables the frame division instruction signal (RES) to shorten the long frame to the frame division unit 74. It may be divided into frame lengths. However, in this case, since all long frames are divided, the overhead due to the division processing and the combination processing described later increases.
  • RES frame division instruction signal
  • frame dividing unit 74 increases the header portion of tag information input from TAG [2: 0] 122. For example, when dividing frame data into two, increase the header part of tag information to two. At this time, the tag code of the header part is changed, for example, from 0x4 representing the header of the normal frame to 0x7 representing the header of the divided frame.
  • the input tag information 124 since the input frame data 123 is divided into two frame data 125a and 125b, the input tag information 124 includes tag information 126 having two header parts with a tag code of 0x7. Is converted to Thereafter, the header portion of the tag information 126 is stored in the first FIFO buffer 75, and the corresponding divided frame data 125 a and 125 b are stored in the second FIFO buffer 76.
  • FIG. 11 is a diagram showing a detailed example of frame playback processing performed by the frame playback unit 78 in the present embodiment.
  • the read control unit 77 monitors the remaining amount notification (EMP) indicating whether or not it is empty from the first FIFO buffer 75. If the first FIFO buffer 75 is not empty, the buffer read instruction signals (REN1, REN2) 133 and 134 to the first FIFO buffer 75 and the second FIFO buffer 76 are output, and the first FIFO buffer 75 and the second FIFO buffer 75 are output. Control the output of the FIFO buffer 76 and read the data.
  • EMP remaining amount notification
  • the header portion of the tag is read from the first FIFO buffer 75 as the buffer output data (RD1) 131, and the output data (RD2) 135 from the second FIFO buffer 76 corresponds to the header portion.
  • Frame data is read in units of one frame.
  • the frame reproduction unit 78 receives the frame data 137 corresponding to the header portion as the frame division unit.
  • the corresponding frame data 137 is held while the header portion of the tag information 136 read from the first FIFO buffer 75 is a 0x7 tag code.
  • the long frame 139 is reproduced by combining them, and the tag
  • the tag information 138 is generated by changing the header part of the information from 0x7 to 0x4 tag code and using the other 0x7 header part as the data part.
  • the frame data 139 merged and combined is output to the frame processor 79 as buffer output data (RDT) simultaneously with the tag information 138.
  • the frame reproducing unit 78 reproduces the long frame divided into short frames by the frame dividing unit 74 into the original length and frame.
  • FIG. 12 is a flowchart showing an operation example of the system controller unit of the data transmission source.
  • the system controller checks whether the frame transmission stop request signal (BP) from the cross burst (XB) is active. If the frame transmission stop request signal (BP) is active and there is a transmission stop request (step Sl, Yes), the process returns to step SI, and the frame transmission stop request signal (BP) While active, repeat step S1.
  • BP frame transmission stop request signal
  • XB cross burst
  • the system controller unit of the data transmission source transmits the frame to the cross burst switch, and the transmission stop request is issued. And frame transmission stops.
  • FIG. 13 is a flowchart showing an example of the operation of the cross burst.
  • the cross burst first detects whether or not the received frame has a short frame strength by the frame length detection unit 72 in step S11.
  • the threshold value of the second FIFO buffer 76 is set to the high threshold value Th2 for the short frame as step S18.
  • step S19 it is checked whether or not the remaining amount of the second FIFO buffer 76 has reached the threshold value Th2. If the threshold value Th2 has not been reached (No in step S19), the process returns to step SI 1. If the threshold value Th2 has been reached (step S19, Yes), a transmission stop request is notified to the transmission source as step S20, and the process returns to step S19.
  • step S11 when the received frame is a long frame (step Sl l, No), in step S12, the second FIFO buffer 76 threshold is set to long, frame low, and threshold Thl. To do.
  • step S13 it is checked whether or not the remaining amount of the second FIFO buffer 76 has reached the threshold value. If the threshold value has not been reached (No in step S13), the process returns to step S11, and the threshold value is set. If so (step S13, Yes), configure a long frame as step S14 Judgment is made as to whether or not all the data to be performed are aligned within the frame length detector 72 (step S14, No), the process returns to step SI1 and waits until all the data is aligned. In the case of a system configuration in which it is not necessary to output frames in the order of arrival, while all the long frame data is available, these data are saved in the memory in the frame division unit 74 and the short frame is processed first. May be.
  • step S15 the transmission stop request generation unit 73 activates the frame division instruction signal (RES) to the frame decomposition unit 74 and issues a division instruction. And set the second FIFO buffer 76 threshold to the short frame threshold Th2.
  • RES frame division instruction signal
  • step S16 it is checked whether the remaining amount of the second FIFO buffer 76 has reached the threshold value Th2. If the threshold value Th2 has not been reached (No in step S16), the process returns to step SI 1. If the threshold value Th2 has been reached (step S16, Yes), a transmission stop request is notified to the transmission source as step SI7, and the process returns to step S19.
  • the threshold value of the frame buffer buffer (second FIFO buffer) can be dynamically changed, and the remaining amount of data in the buffer is near the threshold value. Since the long frame is converted to a short frame and buffered, the live block state in which the long frame is not processed can be prevented.
  • FIG. 14 is a flowchart showing an operation example of the read control unit 77 in the cross burst.
  • step S31 the buffer read request signal (REQ) from the frame processing unit 79 becomes active, and it is confirmed whether there is a data read request from the buffer. If there is no result read request (step S31, No), the process returns to step S31.
  • REQ buffer read request signal
  • step S32 one or more data is stored in the first FIFO buffer 75 from the EMP signal from the first FIFO buffer 75. If there is, that is, whether or not data for one frame or more has been accumulated in the second FIFO buffer 76, and if data for one frame or more has not been accumulated as a result (step S32, No), processing is performed. Return to step S31. [0088] If at least one frame of data is not stored in the second FIFO buffer 76 in step S32 (step S32, Yes), then in step S33, the first FIFO buffer 75 is sent to the frame playback unit 78. Then, the data is read from the second FIFO buffer 76, the process returns to step S31, and the above process is repeated thereafter.
  • the read control unit has a frame processing unit power requirement, and if data for one frame or more is accumulated in the frame buffer (second FIFO buffer), Is read in units of one frame.
  • the frame size handled by the cross burst is only two types, a long frame (4 units) and a short frame (2 units). It may be.
  • other frames are divided in accordance with the frame length of the shortest frame.
  • all the frame divisions are divided into short frames.
  • the frames may be divided into two or more types of frames.
  • a frame with a frame length of 5 units may be divided into 2 and 1 unit frames.
  • the tag code in the header part is different for the frame that becomes 1 unit after the division and the frame that becomes 2 units.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A data transfer unit for performing data transfer by holding received data is characterized by comprising a data length detecting section for detecting the data length of the received data, a data buffer section for storing the received data, a data dividing section for dividing the received data and outputting the divided received data to the data buffer section when the amount of the data held by the data transfer unit exceeds a preset predetermined value, and a transmission stop request generating section for outputting a request to stop the transmission according to the amount of the data held by the data transfer unit.

Description

明 細 書  Specification
データ転送装置、演算処理装置及びデータ転送方法  Data transfer device, arithmetic processing device, and data transfer method
技術分野  Technical field
[0001] 本発明は、 CPU間通信に用いられるクロスバースィッチ等のデータ転送装置内の フレーム緩衝用バッファの制御についての技術に関する。  TECHNICAL FIELD [0001] The present invention relates to a technique for controlling a frame buffer buffer in a data transfer apparatus such as a cross burst used for inter-CPU communication.
背景技術  Background art
[0002] 大型 UNIX (登録商標)サーバにおいて、複数の物理 CPU力メモリ空間を共有する システムではキャッシュコンシステンシ (一貫性)を保つことが必要になる。各瞬間にメ モリ空間の任意の領域に書いてある内容は、どの CPUから見ても同一である必要性 がある。各 CPUはメモリ内容を必要に応じておのおのキャッシュメモリに保持している ので、一貫性を保証するため各 CPU間のデータ転送を行う機構における、システム 全体の処理性能を上げる必要があり、このデータ転送を効率的に行うことが求められ る。このような構成として CPU間にクロスバースィッチ等のデータ転送装置を設けるこ とが一般に行われている。  [0002] In a large UNIX (registered trademark) server, it is necessary to maintain cache consistency (consistency) in a system that shares a plurality of physical CPU power memory spaces. The contents written in an arbitrary area of the memory space at each moment must be the same from any CPU. Since each CPU holds its memory contents in each cache memory as needed, it is necessary to improve the processing performance of the entire system in the mechanism that transfers data between each CPU to ensure consistency. It is required to transfer efficiently. As such a configuration, a data transfer device such as a cross burst is generally provided between CPUs.
[0003] 一般的なクロスバースィッチ内に用いられて 、るデータ(フレーム)緩衝用バッファ では、オーバフローを防ぐため、固定値の閾値が設定され、ノ ッファ内のデータ残量 が閾値に達するとフレームの発信元に対して送信停止要求 (バックプレッシャー)を 出力する。なおバッファの閾値によって決まるバッファの残量の上限は、ノ ッファのォ ーバフローを防ぐ為にフレームの最大長以上確保する必要がある。  [0003] In a data (frame) buffer buffer used in a general cross burst switch, a fixed threshold value is set to prevent overflow, and the remaining data amount in the buffer reaches the threshold value. A transmission stop request (back pressure) is output to the frame source. Note that the upper limit of the remaining capacity of the buffer determined by the buffer threshold needs to be secured more than the maximum length of the frame in order to prevent overflow of the noffer.
[0004] 特許文献 1には、パケットの入力制限を行うバックプレッシャーを実行するパケットス イッチが開示されている。  [0004] Patent Document 1 discloses a packet switch that executes back pressure for restricting packet input.
また特許文献 2には、受信パケットを固定長に分割して処理することにより、ノ ッファ のメモリを効率よく使用してスループットを高めたパケットバッファ管理装置が開示さ れている。  Patent Document 2 discloses a packet buffer management device that increases the throughput by efficiently using a memory of a nother by processing a received packet by dividing it into a fixed length.
[0005] 図 1は、従来のフレーム緩衝用バッファによる閾値の設定の仕方と送信停止要求の 発行タイミングを示す図である。同図は、受信フレームの 1フレームの長さが 2〜4単 位の長さを取り得る場合を示したものである。なお同図においてフレーム内の" S"は フレームの先頭、 "E"はフレームの最後尾、どちらも書いていないものはフレームデ ータを現している。 [0005] FIG. 1 is a diagram showing how threshold values are set by a conventional frame buffering buffer and transmission stop request issuance timing. This figure shows the case where the length of one received frame can be 2 to 4 units. In the figure, "S" in the frame is The beginning of the frame, "E" is the end of the frame, and nothing is written indicates the frame data.
[0006] 同図において FIFOバッファ 10には、固定値の閾値 11が設定されている。この閾 値 11の値は、 FIFOバッファ 10の残量が入力され得るフレームの最大長(同図では 長 、フレーム 12の大きさ、すなわち 4単位)となるように設定される。  In the figure, a fixed threshold value 11 is set in the FIFO buffer 10. The threshold value 11 is set so that the remaining frame of the FIFO buffer 10 is the maximum frame length that can be input (in this figure, the length is the size of the frame 12, ie, 4 units).
[0007] 図 1 (a)は、長いフレーム長のフレーム 12が FIFOバッファ 10に格納される状態を 表している。  FIG. 1 (a) shows a state where a frame 12 having a long frame length is stored in the FIFO buffer 10.
この長いフレーム 12が FIFOバッファ 10に格納されると、 FIFOバッファ 10内のデ 一タ量は閾値 11に達する。  When this long frame 12 is stored in the FIFO buffer 10, the amount of data in the FIFO buffer 10 reaches the threshold 11.
[0008] 図 1 (b)は、同図(a)で FIFOバッファ 10内のデータ量が閾値 11に達した後の状態 を示す図である。 [0008] FIG. 1 (b) is a diagram showing a state after the data amount in the FIFO buffer 10 reaches the threshold 11 in FIG. 1 (a).
データ量が閾値 11に達するとデータの送信元には、送信停止要求が通知される。  When the data amount reaches the threshold value 11, a transmission stop request is notified to the data transmission source.
[0009] この送信停止要求がデータの送信元に通知され、フレーム送信が停止するまでの 間に 1フレームが、 FIFOバッファ 10に格納される。このとき格納されるフレーム力 長 いフレーム(長フレーム) 13aならば、 FIFOバッファ 10の残量は無くなりこれ以上のフ レーム受信処理は行えな 、。しかし格納されるフレームが短 、フレーム(短フレーム) 13bであったならば、 FIFOバッファ 10の残量は残っており、まだフレーム受信処理 は可能である。 [0009] One frame is stored in the FIFO buffer 10 until the transmission stop request is notified to the data transmission source and the frame transmission stops. If the frame capacity stored at this time is a long frame (long frame) 13a, the remaining capacity of the FIFO buffer 10 is exhausted, and further frame reception processing cannot be performed. However, if the frame to be stored is a short frame (short frame) 13b, the remaining amount of the FIFO buffer 10 remains, and frame reception processing is still possible.
[0010] し力し従来の構成の場合、最後に受信したフレームが短いフレーム 13bであっても 、送信元には送信停止要求が通知されており、その後の処理は停止してしまう。そし てその再開には時間を要する。従って図 1の閾値を固定した構成の場合、バッファの 使用効率が悪い。  However, in the case of the conventional configuration, even if the last received frame is a short frame 13b, the transmission stop request is notified to the transmission source, and the subsequent processing stops. And it takes time to resume. Therefore, in the case of the configuration with the fixed threshold shown in Fig. 1, the buffer usage efficiency is poor.
[0011] 一般的なクロスバースィッチのフレーム緩衝用バッファでは、図 1に示したように閾 値によって定められるバッファの残量が入力され得る最大フレーム長分に設定されて いる。そのためバッファ内のデータ量が閾値に達して送信停止要求を発した後、これ が送信元に伝播する間に短いフレームが入力される場合、ノ ッファの空きに余裕が あるにも関わらず送信停止要求が発行されることになる。そしてこのことは、データの 転送処理能力を落とすこととなる。 [0012] この点に対処した従来の FIFOのフレーム緩衝用バッファによるフレーム転送の仕 方を図 2に示す。 [0011] In a general cross burst buffer for buffering buffers, as shown in FIG. 1, the remaining amount of the buffer determined by the threshold value is set to the maximum frame length that can be input. For this reason, if a short frame is input while the amount of data in the buffer reaches the threshold value and a transmission stop request is issued and this is propagated to the transmission source, transmission stops even though there is room in the buffer. A request will be issued. This reduces the data transfer processing capacity. [0012] Figure 2 shows a frame transfer method using a conventional FIFO frame buffer buffer that addresses this point.
図 2のデータ転送装置は、フレーム送信元 21からフレーム 27が流れる順にフレー ム長検出部 22、フレーム緩衝用バッファ 23、ノ ッファの読み出し制御部 25、及びバ ッファ残量通知信号 28を送信元 21に通知する送信停止要求部 26で構成されてい る。  The data transfer apparatus in FIG. 2 transmits a frame length detection unit 22, a frame buffer buffer 23, a buffer read control unit 25, and a buffer remaining amount notification signal 28 in the order in which frames 27 to 27 are transmitted. It consists of a transmission stop request unit 26 that notifies 21.
[0013] フレーム長検出部 22は、受信フレーム 27のヘッダ部からそのフレームのフレーム 長を検出するものである。フレーム緩衝用バッファ 23は、フレームを一時的にバッフ ァリングする機能を有する FIFOで構成されるメモリである。読み出し制御部 25は、後 段のフレーム処理部(不図示)の要求に基づいてノ ッファの読み出しを行う制御プロ ックである。送信停止要求部 26は、フレーム緩衝用バッファ 23内のデータ量が閾値 に達したら送信元に送信停止要求 28を発行するものである。  [0013] The frame length detection unit 22 detects the frame length of the frame from the header portion of the reception frame 27. The frame buffer buffer 23 is a memory composed of a FIFO having a function of temporarily buffering a frame. The read control unit 25 is a control block that reads a koffer based on a request from a subsequent frame processing unit (not shown). The transmission stop request unit 26 issues a transmission stop request 28 to the transmission source when the amount of data in the frame buffer buffer 23 reaches a threshold value.
[0014] 送信元 21から送信されたフレーム 27は、フレーム長検出部 22を介してフレーム緩 衝用バッファ 23に蓄積され、また読み出し制御部 25の制御を受けて、フレーム緩衝 用バッファ 23から順次読み出されて送信先 24に送信される。  The frame 27 transmitted from the transmission source 21 is accumulated in the frame buffer 23 via the frame length detector 22, and sequentially from the frame buffer 23 under the control of the read controller 25. It is read and sent to destination 24.
[0015] フレーム長検出部 22は、データ送信元 21からの送信フレームのヘッダ部内の情報 力もフレームのデータ長を検出し、これを送信停止要求生成部 26に通知する。これ に基づいて送信停止要求生成部 26は、自己に設定してある閾値 Thの値を変更する 。これによりフレーム長検出部 22の検出結果に基づいてフレーム緩衝用バッファ 23 の閾値 Thの値が変更される。この閾値 Thの変更の仕方としては、フレーム長が長い 場合、フレーム緩衝用バッファ 23の残量が多くなるように低い値の閾値 Thlを取り、 逆にフレーム長が短い場合には、フレーム緩衝用バッファ 23の残量が少なくなるよう に高 、値の閾値 Th2を取るように変更する。  The frame length detection unit 22 also detects the data length of the frame in the information power in the header part of the transmission frame from the data transmission source 21 and notifies the transmission stop request generation unit 26 of this. Based on this, the transmission stop request generating unit 26 changes the value of the threshold value Th set for itself. Thus, the threshold value Th of the frame buffer 23 is changed based on the detection result of the frame length detector 22. The threshold Th is changed by taking a low threshold Thl so that the remaining amount of the frame buffer 23 increases when the frame length is long, and conversely when the frame length is short The buffer 23 is changed to take a high value threshold Th2 so that the remaining amount of the buffer 23 becomes small.
[0016] これにより、フレーム緩衝用バッファ 23の残量が適宜な値になるように閾値 Thが変 更されるので、フレーム緩衝用バッファ 23の使用率を上げ、クロスバースィッチのフレ ーム転送処理能力を向上することが出来る。  [0016] As a result, the threshold value Th is changed so that the remaining amount of the frame buffer 23 becomes an appropriate value. Therefore, the usage rate of the frame buffer 23 is increased, and the frame transmission of the cross burst switch is performed. Processing capacity can be improved.
[0017] フレーム長検出部 22は、フレーム緩衝用バッファ 23に入力されるフレームの大きさ を常時モニタする。また送信停止要求生成部 26は、フレーム緩衝用バッファ 23のリ ード Zライトポインタにより生成されるバッファ残量通知 30を常時モニタして 、る。そし てこの残量が送信停止要求生成部 22に保持されている閾値 Thに達すると、データ 送信元 21に対して送信停止要求 28を発行する。送信停止要求生成部 26は、フレ ーム長検出部 22からのフレーム長通知 29を受信し、このフレーム長によって自己に 設定されて 、る閾値の値を動的に変更する。 The frame length detection unit 22 constantly monitors the size of the frame input to the frame buffer buffer 23. Further, the transmission stop request generator 26 resets the frame buffer buffer 23. Always monitor the remaining buffer notification 30 generated by the Z write pointer. When this remaining amount reaches the threshold value Th held in the transmission stop request generation unit 22, a transmission stop request 28 is issued to the data transmission source 21. The transmission stop request generation unit 26 receives the frame length notification 29 from the frame length detection unit 22, and dynamically changes the threshold value set to itself according to this frame length.
[0018] 図 2の構成は、受信フレーム長に基づいて、フレーム緩衝用バッファ 23の閾値を動 的に変更させている。即ちフレーム長検出部 22にて、受信フレーム長が長い場合、 フレーム緩衝用バッファ 23の閾値を低く設定し、フレーム長が短い場合、閾値を高く 設定することで、フレーム緩衝用バッファ 23の使用率をあげている。  In the configuration of FIG. 2, the threshold value of the frame buffer buffer 23 is dynamically changed based on the received frame length. That is, in the frame length detection unit 22, when the received frame length is long, the threshold of the frame buffer 23 is set low, and when the frame length is short, the threshold is set high so that the usage rate of the frame buffer 23 is increased. I give you.
[0019] しかし、上記したようにフレーム長に基づいて閾値を変動させ、またフレーム緩衝用 ノ ッファ 23に空きが無いときはフレーム長が短いものを優先的に転送する処理を行う 場合、フレーム緩衝用バッファ 23の空きが閾値近くにあるときに、例えば短いフレー ムが連続して入力されたとき、長 ヽフレームが!/ヽつまでも処理されな!、状態 (ライブ口 ック状態)が発生してしまう。  However, as described above, when the threshold value is changed based on the frame length, and when the frame buffering notifier 23 has no vacancy, the frame buffer is used when the processing for preferentially transferring the frame with the short frame length is performed. When the buffer 23 is close to the threshold, for example, when short frames are input continuously, long frames are not processed! Resulting in.
[0020] 図 3はこのライブロック状態を示す図である。  FIG. 3 is a diagram showing this live block state.
同図において、短いフレームが入力される場合は、フレーム緩衝用バッファ 41の閾 値を Thlから Th2に上げ、短いフレーム 43を優先してバッファに書き込む。しかし、 フレーム緩衝用バッファ 23の残量が閾値付近の時に、短いフレーム 43が連続で入 力された場合、長 ヽフレーム 42が ヽつまでも処理されな 、ライブロック状態が発生し てしまう。  In the figure, when a short frame is input, the threshold value of the frame buffer 41 is increased from Thl to Th2, and the short frame 43 is preferentially written to the buffer. However, if the short frame 43 is continuously input when the remaining amount of the frame buffer 23 is near the threshold value, the live block state is generated because even the long frame 42 is not processed.
特許文献 1:特開 2000— 22718号公報  Patent Document 1: JP 2000-22718
特許文献 2 :特開 2000— 316024号公報  Patent Document 2: Japanese Patent Laid-Open No. 2000-316024
発明の開示  Disclosure of the invention
[0021] 本発明は、長いフレームに対するライブロック状態を発生させずにノ ッファの使用 率を上げることが出来るデータ転送装置、演算処理装置及びデータ転送方法を提供 することを目的とする。  [0021] An object of the present invention is to provide a data transfer device, an arithmetic processing device, and a data transfer method capable of increasing the usage rate of a noffer without generating a live block state for a long frame.
[0022] 本発明による、データ転送装置は、受信データを保持することにより、データ転送を 行うデータ転送装置であって、データ長検出部、データバッファ部、データ分割部、 及び送信停止要求生成部を有する。 [0022] A data transfer device according to the present invention is a data transfer device that performs data transfer by holding received data, and includes a data length detection unit, a data buffer unit, a data division unit, And a transmission stop request generator.
[0023] データ長検出部は、受信データのデータ長の検出を行う。  [0023] The data length detection unit detects the data length of the received data.
データバッファ部は、受信データを格納する。  The data buffer unit stores received data.
データ分割部は、前記データ転送装置が保持するデータ量が予め設定した所定 値を超えた場合には、受信データの分割を行うとともに、分割された受信データを前 記データバッファ部に出力する。  The data dividing unit divides the received data and outputs the divided received data to the data buffer unit when the amount of data held by the data transfer device exceeds a predetermined value set in advance.
[0024] 送信停止要求生成部は、前記データ転送装置が保持するデータ量に基づいて、 送信停止要求を出力する。  The transmission stop request generation unit outputs a transmission stop request based on the amount of data held by the data transfer apparatus.
これにより、長いフレームはバッファデータバッファ部に格納前に分割されるので、 長 、フレームがノッファ格納処理されな 、、ライブロック状態が発生するのを防ぐ。  As a result, since a long frame is divided before being stored in the buffer data buffer unit, a live lock state is prevented from occurring unless the frame is not stored in the buffer.
[0025] また前記データ転送装置が保持するデータ量は、前記データ長検出部により検出 された受信データのデータ長と、受信データを格納した後の前記データバッファ部の データ量とに基づく構成としてもよい。  [0025] The data amount held by the data transfer device is based on the data length of the received data detected by the data length detector and the data amount of the data buffer unit after storing the received data. Also good.
[0026] あるいは前記データ転送装置が保持するデータ量は、前記データ長検出部により 検出された受信データのデータ長と、受信データを格納する前の前記データバッフ ァ部のデータ量とに基づく構成としてもよい。  Alternatively, the data amount held by the data transfer device is based on the data length of the received data detected by the data length detector and the data amount of the data buffer unit before storing the received data It is good.
[0027] また本発明のデータ転送装置の別形態では、受信データのデータ長の検出を行う データ長検出部と、受信データを格納するデータバッファ部と、前記データバッファ 部の格納したデータ量が予め設定した閾値を超えた場合には、受信データの分割を 行うとともに、分割された受信データを前記データバッファ部に出力するデータ分割 部と、前記データ長検出部により検出されたデータ長と、前記データバッファ部の格 納データ量とに基づいて、送信停止要求を出力する送信停止要求生成部とを有する ことを特徴とする。  [0027] In another form of the data transfer apparatus of the present invention, a data length detection unit that detects the data length of received data, a data buffer unit that stores received data, and a data amount stored in the data buffer unit When a preset threshold value is exceeded, the received data is divided and a data dividing unit that outputs the divided received data to the data buffer unit; the data length detected by the data length detecting unit; And a transmission stop request generation unit that outputs a transmission stop request based on the stored data amount of the data buffer unit.
[0028] この構成では、前記データ転送装置は、前記データバッファ部が出力するデータの マージを行うデータ再生部をさらに有し、前記データバッファ部に格納された分割デ ータを出力する場合には、前記データ再生部による分割データを分割前のデータに 復元して出力する構成としてもよい。  [0028] In this configuration, the data transfer device further includes a data reproduction unit that merges data output from the data buffer unit, and outputs the divided data stored in the data buffer unit. May be configured to restore the data divided by the data reproduction unit to the data before division and output the data.
[0029] また本発明は、演算処理装置及びデータ転送方法もその範囲に含む。 本発明によれば、データバッファ部に入力されるフレーム長に基づき、ノッファの閾 値が動的に変更され、データバッファ部の格納量を常に最大に保つことができる。そ の結果、送信停止要求 (バックプレッシャー)の発生頻度が低下し、フレームの処理 性能が向上することが出来る。 The present invention also includes an arithmetic processing device and a data transfer method within its scope. According to the present invention, the threshold value of the noffer is dynamically changed based on the frame length input to the data buffer unit, and the storage amount of the data buffer unit can always be kept at the maximum. As a result, the frequency of transmission stop requests (back pressure) decreases, and the frame processing performance can be improved.
[0030] またフレーム緩衝用バッファ(データバッファ部)のデータ残量が閾値付近のとき、 長いフレームを短いフレームとして処理することで、フレーム緩衝用バッファの閾値は 高く設定され、従って、バッファの使用率が上がる。  [0030] When the remaining amount of data in the frame buffer (data buffer unit) is close to the threshold, the threshold of the frame buffer is set high by processing a long frame as a short frame. The rate goes up.
[0031] 更には長いフレームは短いフレームに分割されてフレーム緩衝用バッファに格納さ れるので、短フレーム連続処理時にライブロック状態が生じるのを回避することができ る。 [0031] Further, since the long frame is divided into short frames and stored in the frame buffer buffer, it is possible to avoid the live block state from occurring during the short frame continuous processing.
また、外部メモリを用いないでデバイス内に緩衝用バッファを備える構成の場合、チ ップサイズへの影響等を加味すると 1フレーム分の余裕を見るのが大きなコストになる ため、チップ内部のリソースを有効使用してチップサイズを小さく出来るという効果が 得られる。  In addition, in the case of a configuration with a buffer buffer in the device without using an external memory, taking into account the effect on the chip size, etc., makes it expensive to see the margin for one frame, so the resources inside the chip are effective. The effect that the chip size can be reduced by using is obtained.
図面の簡単な説明  Brief Description of Drawings
[0032] [図 1]従来のフレーム緩衝用バッファによる閾値の設定の仕方と送信停止要求の発 行タイミングを示す図である。  [0032] FIG. 1 is a diagram showing how thresholds are set by a conventional frame buffer and the timing for issuing a transmission stop request.
[図 2]閾値が動的に変更される FIFOのフレーム緩衝用バッファによるフレーム転送の 仕方を示す図である。  FIG. 2 is a diagram showing a frame transfer method using a FIFO frame buffer buffer whose threshold value is dynamically changed.
[図 3]ライブロック状態を示す図である。  FIG. 3 is a diagram showing a live block state.
[図 4]本実施形態におけるフレーム緩衝用バッファへのフレーム格納 Z読み出し時の 処理の概念を示す図である。  FIG. 4 is a diagram showing a concept of processing at the time of frame storage Z reading in the frame buffer buffer in the present embodiment.
[図 5]本実施形態のシステムの全体構成を示す図である。  FIG. 5 is a diagram showing the overall configuration of the system of the present embodiment.
[図 6]クロスバースィッチ(XB)の構成を示すブロック図である。  FIG. 6 is a block diagram showing a configuration of a cross burst (XB).
[図 7]本実施形態におけるフレーム緩衝用バッファによるフレーム転送の仕方を示す 図である。  FIG. 7 is a diagram showing a frame transfer method by a frame buffer buffer in the present embodiment.
[図 8]フレーム長検出部による、フレーム長検出の仕方を示す概念図である。  FIG. 8 is a conceptual diagram showing how a frame length is detected by a frame length detector.
[図 9]データ送信元のシステムコントローラとクロスバースィッチを接続するフレームバ スの接続を示す図である。 [Figure 9] Frame bar that connects the system controller of the data transmission source and the cross burst switch FIG.
[図 10]本実施形態におけるフレーム分割部で行われるフレーム分割処理の詳細例を 示す図である。  FIG. 10 is a diagram showing a detailed example of frame division processing performed by the frame division unit in the present embodiment.
[図 11]本実施形態におけるフレーム再生部で行われるフレームの再生処理の詳細 例を示す図である。  FIG. 11 is a diagram showing a detailed example of frame playback processing performed by the frame playback unit in the present embodiment.
[図 12]データの送信元のシステムコントローラ部の動作例を示すフローチャートであ る。  FIG. 12 is a flowchart showing an operation example of the system controller unit of the data transmission source.
[図 13]クロスバースィッチの動作例を示すフローチャートである。  FIG. 13 is a flowchart showing an operation example of the cross burst switch.
[図 14]クロスバースィッチ内の読み出し制御部の動作例を示すフローチャートである 発明を実施するための最良の形態  FIG. 14 is a flowchart showing an operation example of a read control unit in the cross burst. BEST MODE FOR CARRYING OUT THE INVENTION
[0033] 以下、本発明の一実施形態を図面を参照しながら詳細に説明する。  Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
図 4は、本実施形態におけるフレーム緩衝用バッファへのフレーム格納 Z読み出し 時の処理の概念を示す図である。  FIG. 4 is a diagram showing a concept of processing at the time of frame storage Z reading in the frame buffer buffer in the present embodiment.
[0034] 本実施形態におけるフレーム緩衝用バッファにおいても、図 2に示して構成と同様 、受信フレームの長さに応じて閾値を動的に変更する。  In the frame buffering buffer in the present embodiment, the threshold value is dynamically changed according to the length of the received frame, as in the configuration shown in FIG.
また本実施形態では、フレーム緩衝用バッファ 51の閾値が短いフレームの閾値 Th 1に設定されている状態で、フレーム緩衝用バッファ 51の残量が閾値 Th2付近にな つたとき (例えば閾値 Thlと Th2の間と特定値を超えたとき)、長いフレーム 52を一時 的に短いフレーム 53a、 53bに変換し、フレーム緩衝用バッファ 51に格納する。そし てフレーム緩衝用バッファ 51から読み出したフレーム 53a、 53bは元の長いフレーム 52に再生して送信先に送信する。  In the present embodiment, when the threshold of the frame buffer 51 is set to the threshold Th 1 of the short frame, and the remaining amount of the frame buffer 51 becomes close to the threshold Th2 (for example, the thresholds Thl and Th2). When a specific value is exceeded), the long frame 52 is temporarily converted into short frames 53a and 53b and stored in the frame buffer 51. The frames 53a and 53b read from the frame buffer 51 are reproduced as the original long frame 52 and transmitted to the transmission destination.
[0035] これにより、本実施形態では、ライブロックが生じるのを防ぎ、長いフレーム 52も処 理される。  Thereby, in the present embodiment, a live block is prevented from occurring, and a long frame 52 is also processed.
また、長いフレーム 52は短いフレーム 53a、 53bとしてフレーム緩衝用バッファ 51に 入力されるので、フレーム緩衝用バッファ 51を短いフレームの閾値 Th2に設定したま まフレームを入力でき、バッファの使用率を上げることができる。  Also, since the long frame 52 is input to the frame buffer buffer 51 as the short frames 53a and 53b, it is possible to input a frame with the frame buffer buffer 51 set to the short frame threshold value Th2, thereby increasing the buffer usage rate. be able to.
[0036] なお 図 5は本実施形態のシステムの全体構成を示す図である。 [0036] Note FIG. 5 is a diagram showing the overall configuration of the system of this embodiment.
本実施形態のシステムは、筐体 61及び拡張筐体 62が複数のシステムボート SB63 — 0〜63— 15を有している構成となっている。  In the system according to the present embodiment, the casing 61 and the expansion casing 62 have a plurality of system boats SB63-0 to 63-15.
[0037] 各システムボード(SB) 63— 0〜63— 15は、複数の CPU部 65と 1つのシステムコ ントローラ(SC)部 66を備え、各システムボート 63— 0〜63— 15間は、複数のクロス バースイッチ(XB) 64— 1〜64— 4によって接続されている。  [0037] Each system board (SB) 63-0 to 63-15 includes a plurality of CPU sections 65 and one system controller (SC) section 66, and between each system board 63-0 to 63-15, Connected by multiple crossbar switches (XB) 64-1 to 64-4.
[0038] 図 5では、システムボード 63— 0は、 CPU部 65— 0〜65— 3の 4つの CPU部 65を 備え、これらはシステムコントローラ部 66— 0に接続されており、またシステムボード 6 3— 4でも、 4つの CPU部 65— 16〜65— 19を備えこれがシステムコントローラ部 66 —4に接続される構成を有して 、る。  [0038] In FIG. 5, the system board 63-0 includes four CPU sections 65, ie, CPU sections 65-0 to 65-3, which are connected to the system controller section 66-0 and are connected to the system board 6-0. 3-4 also includes four CPU sections 65-16 to 65-19, which are connected to the system controller section 66-4.
[0039] システムボード 63上の各 CPU部 65は、フレームの送受信用バッファを備えた CPU コアであり、不図示のメモリ上のプログラムに基づいて種々の計算を行ない、また異な るシステムボード 63上の CPU部 65とデータのやり取りを行う。またシステムコントロー ラ部 66は、システムボード 63全体をコントロールするもので、 CPU部 65からの送信 要求に対して対処したり、 CPU部 5間の通信のときは、システムコントローラ 66が介 在してクロスバースィッチ 64に CPU部 65からの通信要求を渡したり、また送信デー タを受け取ったりする。またこのときシステムコントローラ部 66は、クロスバースィッチ 6 4から送信停止要求(バックプレッシャー)を受け取るとクロスバースィッチ 64へのフレ ーム送信を停止する。  [0039] Each CPU unit 65 on the system board 63 is a CPU core having a frame transmission / reception buffer, performs various calculations based on a program in a memory (not shown), and is on a different system board 63. Exchanges data with the CPU part 65 The system controller 66 controls the entire system board 63. The system controller 66 handles the transmission request from the CPU 65, and the system controller 66 is used for communication between the CPUs 5. A communication request from the CPU unit 65 is passed to the cross burst 64, and transmission data is received. At this time, when the system controller 66 receives a transmission stop request (back pressure) from the cross burst 64, it stops frame transmission to the cross burst 64.
[0040] 各システムボード 63— 0〜63— 15は、クロスバースィッチ(XB) 64— 1〜64— 4を 介して接続されており、システムボード 63を跨った CPU部 65間の通信は、このクロス バースイッチ 64— 1〜64— 4を介して行われる。  [0040] Each system board 63—0 to 63—15 is connected via a cross burst (XB) 64—1 to 64—4, and communication between the CPU units 65 across the system board 63 is as follows. This is done via the crossbar switches 64-1 to 64-4.
[0041] 以下の説明では、システムボード 63— 0上の CPU部 65— 0が送信元となり、システ ムボード 63— 4上の CPU部 65— 16を送信先としてデータを送る場合を例として説 明してゆく。 [0041] In the following description, an example is described in which the CPU unit 65-0 on the system board 63-0 serves as the transmission source, and data is transmitted using the CPU unit 65-16 on the system board 63-4 as the transmission destination. I will do it.
[0042] 図 6は、図 5のクロスバースィッチ(XB) 64の構成を示すブロック図である。なお同 図は、 FIFOバッファを中心とした構成のみを記載している。  FIG. 6 is a block diagram showing a configuration of the cross burst (XB) 64 of FIG. The figure only shows the configuration centered on the FIFO buffer.
同図のクロスバースィッチ 70は、フレーム長検出部 72、送信停止要求生成部 73、 フレーム分解部 74、第 1の FIFOバッファ(FIF01) 75、第 2の FIFOバッファ(FIFO 2) 76、読み出し制御部 77、フレーム再生部 78及びフレーム処理部 79を有している The cross burst 70 shown in the figure includes a frame length detector 72, a transmission stop request generator 73, It has a frame decomposing unit 74, a first FIFO buffer (FIF01) 75, a second FIFO buffer (FIFO 2) 76, a read control unit 77, a frame reproduction unit 78, and a frame processing unit 79.
[0043] フレーム長検出部 72は、送信元のシステムコントローラ(SC) 71から受信するデー タ Zヘッダ識別用信号 (TAG)及びデータバス信号 (DATA— BUS)から、送信元 力 送信されてくるフレームのフレーム長を検出し、送信停止要求生成部 73に通知 する。なおデータ Zヘッダ識別用信号 (TAG)及びデータバス信号 (DATA_BUS )力も入力されるフレームデータ及びタグ情報は、フレーム長検出部 72を介してフレ ーム分解部 74に入力される。 [0043] The frame length detection unit 72 receives the transmission source power from the data Z header identification signal (TAG) and the data bus signal (DATA-BUS) received from the system controller (SC) 71 of the transmission source. The frame length of the frame is detected and notified to the transmission stop request generator 73. The frame data and tag information to which the data Z header identification signal (TAG) and the data bus signal (DATA_BUS) are also input are input to the frame decomposition unit 74 via the frame length detection unit 72.
[0044] 送信停止要求生成部 73は、フレーム長検出部 72からのフレーム長の通知信号 (L EN)と、 FIFOバッファ 16から通知されるリードライトポインタによって生成されるバッ ファの残量の通知信号(RWP)から、第 1の FIFOバッファ 75及び第 2の FIFOバッフ ァの閾値を決定する。そしてこの閾値力 送信元 71に対しフレーム送信の停止要求 を行うかどうかを判断し、送信停止要求を行う場合には送信停止要求信号 (BP)をフ レーム送信元のシステムコントローラ 71に送信する。  [0044] The transmission stop request generation unit 73 notifies the remaining amount of the buffer generated by the frame length notification signal (L EN) from the frame length detection unit 72 and the read / write pointer notified from the FIFO buffer 16. The threshold values of the first FIFO buffer 75 and the second FIFO buffer are determined from the signal (RWP). Then, it is determined whether or not to send a frame transmission stop request to this threshold power transmission source 71. When a transmission stop request is made, a transmission stop request signal (BP) is transmitted to the system controller 71 of the frame transmission source.
[0045] フレーム分解部 74は、第 1の FIFOバッファ(FIFOl) 75にはバッファ入力データ W DT1及びバッファ書き込み指示信号 WEN1によってフレームのヘッダ情報を書き込 み、第 2の FIFOバッファ(FIF02) 76にはバッファ入力データ WDT2及びバッファ 書き込み指示信号 WEN2によってデータフレームを書き込む。またフレーム分解部 7 4は、送信停止要求部 73からフレーム分割指示通知 RESが通知されると、フレーム 長検出部 72からの長 、フレームを短 、フレームに分割する。  [0045] The frame decomposing unit 74 writes the frame header information into the first FIFO buffer (FIFOl) 75 using the buffer input data WDT1 and the buffer write instruction signal WEN1, and the second FIFO buffer (FIF02) 76 Is written with the buffer input data WDT2 and the buffer write instruction signal WEN2. In addition, when the frame division instruction notification RES is notified from the transmission stop request unit 73, the frame decomposing unit 74 divides the frame from the frame length detection unit 72 into short frames.
[0046] 第 1の FIFOバッファ(FIFOl) 75は、フレーム分解部 74によってタグ情報のヘッダ 情報が格納される先入れ先出しのバッファである。第 2の FIFOバッファ (FIF02) 76 は、フレーム分解部 74によってフレームデータが格納されるクロスバースィッチ 70に 設けられた先入れ先出しのフレーム緩衝用バッファである。  The first FIFO buffer (FIFO1) 75 is a first-in first-out buffer in which header information of tag information is stored by the frame decomposing unit 74. The second FIFO buffer (FIF02) 76 is a first-in first-out frame buffer buffer provided in the cross burst 70 in which frame data is stored by the frame decomposing unit 74.
[0047] 読み出し制御部 77は、フレーム処理部 79からのバッファ読み出し要求信号 (REQ )及び第 1の FIFOバッファ 75からの空かどうかを示す残量通知(EMP)に基づ!/、て、 第 1の FIFOバッファ 75及び第 2の FIFOバッファ 76に対するバッファ読み出し指示 信号(REN1、 REN2)を出力して、第 1の FIFOバッファ 75及び第 2の FIFOバッファ 76の出力制御を行う。読み出し制御部 77は、第 1の FIFOバッファ 75に 1フレーム分 以上のヘッダ情報が格納されているとき、すなわち第 1の FIFOバッファ 75が空でなく EMP信号が 0のときにおいて、フレーム処理部力 バッファ読み出し信号 (REQ)に よって読み出し要求があるとき、第 1の FIFOバッファ 75及び第 2の FIFOバッファ 76 に対する読み止し制御を行う。 [0047] Based on the buffer read request signal (REQ) from the frame processing unit 79 and the remaining amount notification (EMP) indicating whether or not it is empty from the first FIFO buffer 75, the read control unit 77! Buffer read instruction for first FIFO buffer 75 and second FIFO buffer 76 Signals (REN1, REN2) are output, and output control of the first FIFO buffer 75 and the second FIFO buffer 76 is performed. When the header information of one frame or more is stored in the first FIFO buffer 75, that is, when the first FIFO buffer 75 is not empty and the EMP signal is 0, the read control unit 77 When there is a read request by the buffer read signal (REQ), read control is performed on the first FIFO buffer 75 and the second FIFO buffer 76.
[0048] フレーム再生部 78は、第 2の FIFOバッファ 76から 1フレーム単位でフレームデータ を読み出し、対応する第 1の FIFOバッファ 75から読み出されたヘッダ情報 (RDT1) から、第 2の FIFOバッファ 76から読み出したバッファ出力データ(RDT2)がフレーム 分割部 74で分割されたフレームであるかどうかを識別し、分割されたフレームであつ た場合、マージを行ないフレームを再生する。  [0048] The frame playback unit 78 reads frame data from the second FIFO buffer 76 in units of one frame, and from the header information (RDT1) read from the corresponding first FIFO buffer 75, the second FIFO buffer Whether the buffer output data (RDT2) read from 76 is a frame divided by the frame dividing unit 74 is identified. If it is a divided frame, it is merged and the frame is reproduced.
[0049] フレーム処理部 79は、フレーム再生部 78からフレームデータを受け取り、フレーム の送信先への振り分け制御や複数の送信先にフレームを送信する際のフレームのコ ピーやヘッダ情報の変更等の種々の処理を行った後、送信先のシステムコントローラ [0049] The frame processing unit 79 receives the frame data from the frame reproduction unit 78, and controls the distribution of the frame to the transmission destination, the copy of the frame when transmitting the frame to a plurality of transmission destinations, the change of the header information, etc. After performing various processes, the destination system controller
80にデータ Zヘッダ識別用信号 (TAG)及びデータバス信号 (DATA_BUS)とし て、フレームを出力する。 In 80, the frame is output as the data Z header identification signal (TAG) and data bus signal (DATA_BUS).
[0050] このようなクロスバースィッチ 70の構成において、 FIFOバッファ 76として構成され るフレーム緩衝用バッファに対する本実施形態における制御の仕方について従来の 制御の仕方と対比させて説明する。 In the configuration of the cross burst switch 70 as described above, the control method in the present embodiment for the frame buffer buffer configured as the FIFO buffer 76 will be described in comparison with the conventional control method.
[0051] 図 7は本実施形態におけるフレーム緩衝用バッファによるフレーム転送の仕方を示 す図である。同図のデータ転送装置は、図 2の従来のデータ転送装置と対比する形 で記載されており、実質的に同一の機能を果たす構成要素に対しては、同一の符号 が付されている。 FIG. 7 is a diagram showing a frame transfer method by the frame buffer buffer in the present embodiment. The data transfer device in the figure is described in contrast to the conventional data transfer device in FIG. 2, and components having substantially the same function are denoted by the same reference numerals.
[0052] 本実施形態では、フレーム緩衝用バッファ 23の閾値が短いフレームの閾値 Th2に 設定されている状態で、フレーム緩衝用バッファ 23の残量が閾値 Th2付近になった とき、長いフレームを一時的に短いフレームに変換し、フレーム緩衝用バッファ 23に 格納する。そしてフレーム緩衝用バッファ 23から読み出したフレームは元の長いフレ ームに再生して送信先 24に送信する。 [0053] そのため図 7の構成は、図 2の構成と比較すると、新たにフレーム分割部 81及びフ レーム再生部 82を備えている。フレーム分割部 81は、フレーム緩衝用バッファ 23の 閾値が Th2に設定されており、また閾値 Th2付近までデータが溜まった状態であると さ、 In the present embodiment, when the threshold value of the frame buffer buffer 23 is set to the threshold value Th2 of the short frame and the remaining amount of the frame buffer buffer 23 is close to the threshold value Th2, the long frame is temporarily stored. Is converted into a short frame and stored in the frame buffer 23. Then, the frame read from the frame buffer 23 is reproduced in the original long frame and transmitted to the destination 24. Therefore, the configuration in FIG. 7 is further provided with a frame division unit 81 and a frame reproduction unit 82 as compared with the configuration in FIG. In the frame division unit 81, the threshold value of the frame buffer 23 is set to Th2, and the data is accumulated up to the vicinity of the threshold value Th2.
フレーム長検出部 22から渡された長!、フレームを短 、フレームに変換してフレーム 緩衝用バッファ 23に格納する。またフレーム再生部 82は、フレーム緩衝用バッファ 2 3から読み出したフレーム力 フレーム分割部 81で短いフレームに変換されたもので あれば、これを長いフレームに戻す。  The length passed from the frame length detection unit 22 is converted into a short frame and stored in the frame buffer buffer 23. Also, if the frame reproduction unit 82 has been converted into a short frame by the frame force frame division unit 81 read from the frame buffer buffer 23, it returns this to a long frame.
[0054] そして図 7の構成では、フレーム緩衝用バッファ 23の閾値が短いフレーム用の閾値 Th2に設定された状態で且つフレーム緩衝用バッファ 23内のデータが閾値 Th2付 近まで残っているとき、送信元 21から送信された長いフレームをフレーム分割部 81 によって短いフレームに変換して、フレーム緩衝用バッファ 23に格納する。そしてこ のフレームをフレーム緩衝用バッファ 23から読み出したときは、フレーム再生部 82に よって長 、フレームに変換して送信先に送出する。  In the configuration of FIG. 7, when the threshold of the frame buffer 23 is set to the short frame threshold Th2, and the data in the frame buffer 23 remains close to the threshold Th2. The long frame transmitted from the transmission source 21 is converted into a short frame by the frame division unit 81 and stored in the frame buffer buffer 23. When this frame is read from the frame buffer 23, it is converted into a long frame by the frame reproducing unit 82 and sent to the transmission destination.
[0055] なお上記例では、フレーム緩衝用バッファ 23に蓄積されているデータ量のみに基 づいて、受信した長いフレームを分割する力否かを決定している力 本実施形態はこ のような構成に限定されるものではなぐクロスバースィッチ全体若しくはその一部が 保持して!/、るデータ量に基づ 、て受信した長 、フレームを分割するか否かを決定し てもよい。クロスバースィッチ内には、フレーム緩衝用バッファ 23の他にフレーム分割 部 81等にも不図示のデータバッファを備えている。よって、フレーム緩衝用バッファ 2 3のデータ保持量だけでなくこれらのバッファに保持しているデータをも加算したデー タ量に基づいて、長いフレームを分割する力否かを決定するよう構成してもよい。な おこの場合は、フレーム緩衝用バッファ 23のデータの保持量と受信フレームのフレ ーム長に基づいて長いフレームを分割する力否かを決定することとなる。  In the above example, the power for determining whether or not the received long frame is split based on only the amount of data stored in the frame buffer 23 is as follows. Whether the frame is divided or not may be determined based on the amount of data held by the entire cross burst or a part of it, not limited to the configuration! In the cross switch, a data buffer (not shown) is provided in the frame dividing unit 81 and the like in addition to the frame buffer buffer 23. Therefore, it is configured to determine whether or not the ability to divide a long frame is based on not only the data holding amount of the frame buffer 23 but also the data amount obtained by adding the data held in these buffers. Also good. In this case, whether to divide a long frame is determined based on the amount of data held in the frame buffer buffer 23 and the frame length of the received frame.
[0056] また上記例では、受信データを格納した後のフレーム緩衝用バッファ 23のデータ 量に基づいて、受信した長いフレームを分割する力否かを決定していた力 受信デ ータを格納する前のフレーム緩衝用バッファ 23のデータ量に基づ 、て、受信した長 V、フレームを分割するか否かを決定する構成としてもよ!、。 [0057] 図 8は、フレーム長検出部 22による、フレーム長検出の仕方を示す概念図である。 データ送信元 21から送信されるフレーム 91のヘッダ部 92には、フレームの種類を 示す情報が含まれており、このフレームの種類力もフレーム長を求めることが出来る。 [0056] In the above example, the received force data is determined based on the amount of data in the frame buffer 23 after storing the received data. Based on the amount of data in the previous frame buffer 23, the received length V may be determined whether to divide the frame! FIG. 8 is a conceptual diagram showing how the frame length detection unit 22 detects the frame length. The header portion 92 of the frame 91 transmitted from the data transmission source 21 includes information indicating the type of frame, and the frame type length can also be obtained from the type strength of this frame.
[0058] 例えばヘッダ部 92内のフレームの種類を示すオペコードが" 0"であるときこのフレ ームはピアツーピア通信のフレームであるので、フレーム長は 4単位 (1単位は 32ビッ ト)と求まり、オペコード力 ' 1"であるときはこのフレームはブロードキャスト通信のフレ ームであるので、フレーム長は 2単位と求まる。  [0058] For example, when the operation code indicating the frame type in the header section 92 is "0", this frame is a frame for peer-to-peer communication, so the frame length is 4 units (1 unit is 32 bits). When the opcode power is '1', this frame is a broadcast communication frame, so the frame length is 2 units.
[0059] なおフレーム 91のヘッダ部の位置は、フレーム 91と同時に入力されるタグ情報から 判別する。タグ情報 94のタグコードが 0x4の部分に対応するフレーム 91の部分がへ ッダ部であり、タグコードが 0x5に対応するフレーム 91の部分がデータ部である。  Note that the position of the header portion of the frame 91 is determined from the tag information input at the same time as the frame 91. The portion of the frame 91 corresponding to the portion of the tag information 94 whose tag code is 0x4 is the header portion, and the portion of the frame 91 whose tag code is 0x5 is the data portion.
[0060] フレーム長検出部 22は、内部にデコーダ 93を備えており、データ送信元 21からデ ータバス信号(DATA— BUS)を介して入力されるフレームのヘッダ部 92内の情報 を、このデコーダ 93を用いて上述したようにデコードして、受信フレームのフレーム長 を求める。そしてこれをフレーム長の通知信号 (LEN)として、送信停止要求生成部 2 6に通知する。  [0060] The frame length detection unit 22 includes a decoder 93 therein, and the information in the header unit 92 of the frame input from the data transmission source 21 via the data bus signal (DATA-BUS) Using 93, decode as described above to obtain the frame length of the received frame. This is notified to the transmission stop request generator 26 as a frame length notification signal (LEN).
[0061] 図 9は、データ送信元のシステムコントローラとクロスバースィッチを接続するフレー ムノ スの接続を示す図である。  FIG. 9 is a diagram showing the connection of the frame node that connects the system controller of the data transmission source and the cross burst switch.
図 9 (b)及び図 6に示したようにデータ送信元のシステムコントローラ 111とクロスバ 一スィッチは、 32ビットのデータバス信号(DATA— BUS) [31 : 0]と 3ビットのヘッダ 識別用信号 (TAG) [2: 0]によって接続されて!、る。  As shown in Fig. 9 (b) and Fig. 6, the system controller 111 and the crossbar switch of the data transmission source have a 32-bit data bus signal (DATA—BUS) [31: 0] and a 3-bit header identification signal. (TAG) Connected by [2: 0]!
[0062] データ送信元 111は、 TAGと DATA— BUSから同時にデータをクロスバースイツ チ 112〖こ入力する。 TAGから入力されるデータは、同時に DATA_BUSカゝら入力 されるデータ力 ヘッダ部なのかデータ部を示すタグ情報であり、図 9 (a)において Ox[0062] The data transmission source 111 inputs 112 data from the TAG and DATA-BUS simultaneously. The data input from the TAG is the tag information indicating the data part whether it is the data force header part simultaneously input from the DATA_BUS.
4 ("Ox"は 16進数を表す。以下同じ)である場合はヘッダ部を示し、 0x5である場合 はデータ部を示している。 4 ("Ox" represents a hexadecimal number; the same applies hereinafter) indicates the header part, and 0x5 indicates the data part.
[0063] 例えば図 9 (a)において、 TAGのデータ 103aと同時に DATA— BUS力も入力さ れるデータ 104aはヘッダ部であり、 TAGのデータ 103bと同時に DATA— BUSから 入力されるデータ 104bはデータ部となる。 [0064] フレーム長検出部 22は、上述したようにヘッダ部として入力されるデータ(の一部分 )をデコードして、受信フレームのフレーム長を検出する。 For example, in FIG. 9 (a), the data 104a to which the DATA-BUS force is also input at the same time as the TAG data 103a is the header portion, and the data 104b to be input from the DATA-BUS simultaneously with the TAG data 103b is the data portion. It becomes. [0064] As described above, the frame length detection unit 22 decodes (a part of) the data input as the header part, and detects the frame length of the received frame.
図 10は、本実施形態におけるフレーム分割部 74で行われるフレーム分割処理の 詳細例を示す図である。  FIG. 10 is a diagram showing a detailed example of the frame division processing performed by the frame division unit 74 in the present embodiment.
[0065] フレーム分割部 74には、 32bitのフレーム専用のバスである DATA— BUS [31 : 0 ] 121と DATA_BUS [31 : 0] 121に対応した 3bitのタグ情報のバスである TAG[2 : 0] 122が接続されており、フレームデータ 123とそのフレームデータ 123に対応す るタグ情報 124が入力される。  [0065] The frame dividing unit 74 includes a 3-bit tag information bus corresponding to DATA-BUS [31: 0] 121 and DATA_BUS [31: 0] 121, which is a dedicated bus for 32-bit frames. TAG [2: 0] 122 is connected, and frame data 123 and tag information 124 corresponding to the frame data 123 are input.
[0066] フレーム分割部 74は、 DATA— BUS [31 : 0] 121から受信したフレームデータ 12 3を第 2の FIFOバッファ 76に、また TAG[2 : 0] 122から受信したタグ情報 124のへ ッダ部分 127を第 1の FIFOバッファ 75に格納する。  [0066] The frame division unit 74 transfers the frame data 123 received from the DATA-BUS [31: 0] 121 to the second FIFO buffer 76 and the tag information 124 received from the TAG [2: 0] 122. The header portion 127 is stored in the first FIFO buffer 75.
[0067] このとき送信停止要求部 73からのフレーム分割指示信号 (RES)が有効を示すとき 、フレーム分割部 74は、フレームデータ 123が長いフレームであったなら、これを短 ヽフレームの長さのフレーム 125a、 125b【こ分害 ijを行う。  [0067] At this time, when the frame division instruction signal (RES) from the transmission stop request unit 73 indicates valid, if the frame data 123 is a long frame, the frame division unit 74 indicates that the length of the short frame is long. Frames 125a and 125b [Do this ij.
[0068] 送信停止要求部 73は、第 2の FIFOバッファ 76の残量が閾値付近まで来たとき、フ レーム分割部 74に対してフレーム分割指示信号 (RES)を有効にする。なお送信停 止要求部 73は、第 2の FIFOバッファ 76の残量が閾値付近に到達しなくても、フレー ム分割指示信号 (RES)を有効にして、フレーム分割部 74に長いフレームを短いフレ ームの長さに分割させてもよい。ただこの場合は、全ての長いフレームを分割するこ とになるので、分割処理及び後述する結合処理によるオーバヘッドが大きくなる。  The transmission stop request unit 73 validates the frame division instruction signal (RES) to the frame division unit 74 when the remaining amount of the second FIFO buffer 76 reaches near the threshold. Even if the remaining capacity of the second FIFO buffer 76 does not reach the threshold value, the transmission stop request unit 73 enables the frame division instruction signal (RES) to shorten the long frame to the frame division unit 74. It may be divided into frame lengths. However, in this case, since all long frames are divided, the overhead due to the division processing and the combination processing described later increases.
[0069] フレーム分割部 74は、 DATA— BUS [31 : 0] 121から入力されるフレームデータ を分割する際、 TAG[2 : 0] 122から入力されるタグ情報のヘッダ部を増やす。例え ばフレームデータを 2つに分割する場合には、タグ情報のヘッダ部を 2つに増やす。 またこのときヘッダ部のタグコードを、例えば通常のフレームのヘッダを表す 0x4から 分割フレームのヘッダを表す 0x7に変更する。  [0069] When dividing frame data input from DATA-BUS [31: 0] 121, frame dividing unit 74 increases the header portion of tag information input from TAG [2: 0] 122. For example, when dividing frame data into two, increase the header part of tag information to two. At this time, the tag code of the header part is changed, for example, from 0x4 representing the header of the normal frame to 0x7 representing the header of the divided frame.
[0070] 図 10では、入力されたフレームデータ 123は、 2つのフレームデータ 125a、 125b に分割されるので、入力されるタグ情報 124は、タグコードが 0x7の 2つのヘッダ部を 持つタグ情報 126に変換される。 [0071] その後、タグ情報 126のヘッダ部は第 1の FIFOバッファ 75に、また対応する分割さ れたフレームデータ 125a、 125bは第 2の FIFOバッファ 76に格納される。 In FIG. 10, since the input frame data 123 is divided into two frame data 125a and 125b, the input tag information 124 includes tag information 126 having two header parts with a tag code of 0x7. Is converted to Thereafter, the header portion of the tag information 126 is stored in the first FIFO buffer 75, and the corresponding divided frame data 125 a and 125 b are stored in the second FIFO buffer 76.
[0072] 図 11は、本実施形態におけるフレーム再生部 78で行われるフレームの再生処理 の詳細例を示す図である。  FIG. 11 is a diagram showing a detailed example of frame playback processing performed by the frame playback unit 78 in the present embodiment.
読み出し制御部 77は、フレーム処理部 79からのバッファ読み出し要求信号 (REQ )がアクティブになると、第 1の FIFOバッファ 75からの空かどうかを示す残量通知(E MP)を監視して第 1の FIFOバッファ 75が空でないなら、第 1の FIFOバッファ 75及 び第 2の FIFOバッファ 76に対するバッファ読み出し指示信号 (REN1、 REN2) 133 、 134を出力して、第 1の FIFOバッファ 75及び第 2の FIFOバッファ 76の出力制御を 行なってデータを読み出す。これにより第 1の FIFOバッファ 75からはバッファの出力 データ(RD1) 131としてタグのヘッダ部分が読み出され、また第 2の FIFOバッファ 7 6からは出力データ(RD2) 135としてヘッダ部分に対応するフレームデータが 1フレ ーム単位で読み出される。  When the buffer read request signal (REQ) from the frame processing unit 79 becomes active, the read control unit 77 monitors the remaining amount notification (EMP) indicating whether or not it is empty from the first FIFO buffer 75. If the first FIFO buffer 75 is not empty, the buffer read instruction signals (REN1, REN2) 133 and 134 to the first FIFO buffer 75 and the second FIFO buffer 76 are output, and the first FIFO buffer 75 and the second FIFO buffer 75 are output. Control the output of the FIFO buffer 76 and read the data. As a result, the header portion of the tag is read from the first FIFO buffer 75 as the buffer output data (RD1) 131, and the output data (RD2) 135 from the second FIFO buffer 76 corresponds to the header portion. Frame data is read in units of one frame.
[0073] 第 1の FIFOバッファ 75から読み出されたタグ情報 136のヘッダ部が 0x7のタグコ ードである場合、フレーム再生部 78は、このヘッダ部に対応するフレームデータ 137 は、フレーム分割部 74で分割されたものであると判断し、第 1の FIFOバッファ 75から 読み出されるタグ情報 136のヘッダ部が 0x7のタグコードである間、対応するフレー ムデータ 137を保持する。そして第 1の FIFOノ ッファ 75から読み出されるタグ情報 1 37のヘッダ部が 0x7のタグコードで無くなり、全てのフレームデータ 137がそろつたら 、それらを結合して長いフレーム 139を再生し、またタグ情報のヘッダ部を 0x7から 0 x4のタグコードに変更し、他の 0x7のヘッダ部をデータ部にしたタグ情報 138を生成 する。そしてマージして結合したフレームデータ 139をタグ情報 138と同時にバッファ 出力データ (RDT)としてフレーム処理部 79に出力する。  [0073] When the header portion of the tag information 136 read from the first FIFO buffer 75 is a tag code of 0x7, the frame reproduction unit 78 receives the frame data 137 corresponding to the header portion as the frame division unit. The corresponding frame data 137 is held while the header portion of the tag information 136 read from the first FIFO buffer 75 is a 0x7 tag code. When the header part of the tag information 1 37 read from the first FIFO buffer 75 is no longer the tag code of 0x7, and all the frame data 137 is collected, the long frame 139 is reproduced by combining them, and the tag The tag information 138 is generated by changing the header part of the information from 0x7 to 0x4 tag code and using the other 0x7 header part as the data part. The frame data 139 merged and combined is output to the frame processor 79 as buffer output data (RDT) simultaneously with the tag information 138.
[0074] このようにして、フレーム再生部 78では、フレーム分割部 74で長 、フレームを分割 して短 、フレームとしたものを、元の長 、フレームに再生する。  In this manner, the frame reproducing unit 78 reproduces the long frame divided into short frames by the frame dividing unit 74 into the original length and frame.
次にデータの送信元のシステムコントローラ部(SC)の動作について説明する。  Next, the operation of the system controller unit (SC) that is the data transmission source will be described.
[0075] 図 12は、データの送信元のシステムコントローラ部の動作例を示すフローチャート である。 まずシステムコントローラ部は、ステップ SIとしてクロスバースィッチ(XB)からのフレ ームの送信停止要求信号 (BP)がアクティブになっているかどうかを調べる。そしてフ レームの送信停止要求信号 (BP)がアクティブになっており、送信停止要求があると きは (ステップ Sl、 Yes)、処理をステップ SIに戻し、フレームの送信停止要求信号( BP)がアクティブである間、ステップ S1の処理を繰り返す。 FIG. 12 is a flowchart showing an operation example of the system controller unit of the data transmission source. First, in step SI, the system controller checks whether the frame transmission stop request signal (BP) from the cross burst (XB) is active. If the frame transmission stop request signal (BP) is active and there is a transmission stop request (step Sl, Yes), the process returns to step SI, and the frame transmission stop request signal (BP) While active, repeat step S1.
[0076] そしてフレームの送信停止要求信号 (BP)がアクティブでなくなり、送信停止要求が なくなると(ステップ Sl、 No)、ステップ S2としてクロスバースィッチにフレームを送信 し、処理をステップ S1に戻す。  [0076] When the frame transmission stop request signal (BP) becomes inactive and the transmission stop request disappears (step Sl, No), the frame is transmitted to the cross switch as step S2, and the process returns to step S1.
[0077] このように、本実施形態では、データ送信元のシステムコントローラ部は、クロスバー スィッチから送信停止要求が発せされていないとき、フレームをクロスバースィッチに 送信し、送信停止要求が発せられるとフレーム送信を停止する。  As described above, in this embodiment, when the transmission stop request is not issued from the crossbar switch, the system controller unit of the data transmission source transmits the frame to the cross burst switch, and the transmission stop request is issued. And frame transmission stops.
[0078] 次にクロスバースィッチの動作処理を説明する。  Next, the operation process of the cross burst will be described.
図 13は、クロスバースィッチの動作例を示すフローチャートである。  FIG. 13 is a flowchart showing an example of the operation of the cross burst.
同図の処理が開始されると、まずクロスバースィッチは、ステップ S 11としてフレーム 長検出部 72により、受信フレームが短いフレーム力どうかを検出する。  When the processing in FIG. 6 is started, the cross burst first detects whether or not the received frame has a short frame strength by the frame length detection unit 72 in step S11.
[0079] その結果、受信フレームが短いフレームであったとき(ステップ Sl l、 Yes)、ステツ プ S18として第 2の FIFOバッファ 76の閾値を短いフレーム用の高い閾値 Th2に設 定する。  As a result, when the received frame is a short frame (step Sl l, Yes), the threshold value of the second FIFO buffer 76 is set to the high threshold value Th2 for the short frame as step S18.
[0080] そしてステップ S19として第 2の FIFOバッファ 76の残量が閾値 Th2に達したかどう かを調べ、閾値 Th2に達していなければ (ステップ S19、 No)、処理をステップ SI 1 に戻し、閾値 Th2に達していたならば (ステップ S19、 Yes)、ステップ S20として送信 元に対して送信停止要求を通知して処理をステップ S 19に戻す。  [0080] Then, in step S19, it is checked whether or not the remaining amount of the second FIFO buffer 76 has reached the threshold value Th2. If the threshold value Th2 has not been reached (No in step S19), the process returns to step SI 1. If the threshold value Th2 has been reached (step S19, Yes), a transmission stop request is notified to the transmission source as step S20, and the process returns to step S19.
[0081] ステップ S 11において、受信フレームが長いフレームであったとき(ステップ Sl l、 N o)、ステップ S 12として第 2の FIFOバッファ 76の閾値を長 、フレーム用の低 、閾値 Thlに設定する。  [0081] In step S11, when the received frame is a long frame (step Sl l, No), in step S12, the second FIFO buffer 76 threshold is set to long, frame low, and threshold Thl. To do.
[0082] そしてステップ S 13として第 2の FIFOバッファ 76の残量が閾値に達したかどうかを 調べ、閾値に達していなければ (ステップ S 13、 No)、処理をステップ S 11に戻し、閾 値に達していたならば (ステップ S13、 Yes)、ステップ S14として長いフレームを構成 する全てのデータがフレーム長検出部 72内に揃った力どうかを判断し、揃っていな ければ (ステップ S14、 No)、ステップ SI 1に処理を戻して、全てのデータが揃うまで 待つ。なおフレームを到着順に出力する必要の無いシステム構成の場合、長いフレ ームのデータが全て揃う間、これらのデータをフレーム分割部 74内のメモリに退避し 、先に短いフレームを処理するようにしても良い。 [0082] Then, in step S13, it is checked whether or not the remaining amount of the second FIFO buffer 76 has reached the threshold value. If the threshold value has not been reached (No in step S13), the process returns to step S11, and the threshold value is set. If so (step S13, Yes), configure a long frame as step S14 Judgment is made as to whether or not all the data to be performed are aligned within the frame length detector 72 (step S14, No), the process returns to step SI1 and waits until all the data is aligned. In the case of a system configuration in which it is not necessary to output frames in the order of arrival, while all the long frame data is available, these data are saved in the memory in the frame division unit 74 and the short frame is processed first. May be.
[0083] ステップ S14において全てのデータが揃っていれば (ステップ S14、 Yes)、ステップ S15として送信停止要求生成部 73はフレーム分解部 74にフレーム分割指示信号( RES)をアクティブにして分割指示を行ない、また第 2の FIFOバッファ 76の閾値を短 いフレームの閾値 Th2に設定する。  [0083] If all the data are prepared in step S14 (Yes in step S14), in step S15, the transmission stop request generation unit 73 activates the frame division instruction signal (RES) to the frame decomposition unit 74 and issues a division instruction. And set the second FIFO buffer 76 threshold to the short frame threshold Th2.
[0084] そしてステップ S16として第 2の FIFOバッファ 76の残量が閾値 Th2に達したかどう かを調べ、閾値 Th2に達していなければ (ステップ S16、 No)、処理をステップ SI 1 に戻し、閾値 Th2に達していたならば (ステップ S16、 Yes)、ステップ SI 7として送信 元に対して送信停止要求を通知して処理をステップ S 19に戻す。  [0084] Then, in step S16, it is checked whether the remaining amount of the second FIFO buffer 76 has reached the threshold value Th2. If the threshold value Th2 has not been reached (No in step S16), the process returns to step SI 1. If the threshold value Th2 has been reached (step S16, Yes), a transmission stop request is notified to the transmission source as step SI7, and the process returns to step S19.
[0085] このように本実施形態のクロスバースィッチでは、フレーム緩衝用バッファ(第 2の FI FOバッファ)の閾値を動的に変更することが出来、またバッファ内のデータの残量が 閾値付近になったとき、長いフレームは短いフレームに変換してバッファ処理を行う ので、長いフレームが処理されないライブロック状態が生じるのを防ぐことが出来る。  As described above, in the cross burst of this embodiment, the threshold value of the frame buffer buffer (second FIFO buffer) can be dynamically changed, and the remaining amount of data in the buffer is near the threshold value. Since the long frame is converted to a short frame and buffered, the live block state in which the long frame is not processed can be prevented.
[0086] 図 14は、クロスバースィッチ内の読み出し制御部 77の動作例を示すフローチャート である。  FIG. 14 is a flowchart showing an operation example of the read control unit 77 in the cross burst.
同図の処理が開始されると、まずステップ S31としてフレーム処理部 79からのバッ ファ読み出し要求信号 (REQ)がアクティブになり、ノ ッファからのデータの読み出し 要求があるかどうかを確認し、その結果読み出し要求が無ければ (ステップ S31、 No )、処理をステップ S31に戻す。  When the processing in the figure starts, first, in step S31, the buffer read request signal (REQ) from the frame processing unit 79 becomes active, and it is confirmed whether there is a data read request from the buffer. If there is no result read request (step S31, No), the process returns to step S31.
[0087] ステップ S31において結果読み出し要求があれば (ステップ S31、 Yes)、次にステ ップ S32として第 1の FIFOバッファ 75からの EMP信号から、第 1の FIFOバッファ 75 に 1つ以上データがある、すなわち第 2の FIFOバッファ 76に 1フレーム分以上のデ ータが蓄積されたかどうかを調べ、その結果、 1フレーム分以上のデータが蓄積され ていなければ (ステップ S32、 No)、処理をステップ S31に戻す。 [0088] ステップ S32において、第 2の FIFOバッファ 76に 1フレーム分以上のデータが格納 されていなければ (ステップ S32、 Yes)、次にステップ S33として、フレーム再生部 78 に第 1の FIFOバッファ 75及び第 2の FIFOバッファ 76からデータを読み出させ、処 理をステップ S31に戻し、以降上記処理を繰り返す。 [0087] If there is a result read request in step S31 (step S31, Yes), then in step S32, one or more data is stored in the first FIFO buffer 75 from the EMP signal from the first FIFO buffer 75. If there is, that is, whether or not data for one frame or more has been accumulated in the second FIFO buffer 76, and if data for one frame or more has not been accumulated as a result (step S32, No), processing is performed. Return to step S31. [0088] If at least one frame of data is not stored in the second FIFO buffer 76 in step S32 (step S32, Yes), then in step S33, the first FIFO buffer 75 is sent to the frame playback unit 78. Then, the data is read from the second FIFO buffer 76, the process returns to step S31, and the above process is repeated thereafter.
[0089] このように本実施形態における読み出し制御部は、フレーム処理部力 要求があり 、且つフレーム緩衝用バッファ(第 2の FIFOバッファ)に 1フレーム分以上のデータが 蓄積されていれば、それを 1フレーム単位で読み出す。  As described above, the read control unit according to the present embodiment has a frame processing unit power requirement, and if data for one frame or more is accumulated in the frame buffer (second FIFO buffer), Is read in units of one frame.
[0090] なお上記例では、クロスバースィッチで扱うフレームの大きさは、長いフレーム(4単 位)と短いフレーム(2単位)の 2種類のみであった力 3種類以上のフレームを扱うよ うにしてもよい。この場合は、例えばフレーム分割は最も短いフレームのフレーム長に 合わせて、他のフレームを分割する。  [0090] In the above example, the frame size handled by the cross burst is only two types, a long frame (4 units) and a short frame (2 units). It may be. In this case, for example, in the frame division, other frames are divided in accordance with the frame length of the shortest frame.
[0091] また上記例では、フレーム分割を全て短 、フレームに分割して 、たが、 2種類以上 の長さのフレームに分割するようにしてもよい。例えばフレーム長が 5単位のフレーム を 2単位と 1単位のフレームに分割するように構成してもよい。この場合分割後 1単位 となったフレームと 2単位となったフレームとではヘッダ部のタグコードをそれぞれ別 のものにする。  In the above example, all the frame divisions are divided into short frames. However, the frames may be divided into two or more types of frames. For example, a frame with a frame length of 5 units may be divided into 2 and 1 unit frames. In this case, the tag code in the header part is different for the frame that becomes 1 unit after the division and the frame that becomes 2 units.

Claims

請求の範囲 The scope of the claims
[1] 受信データを保持することにより、データ転送を行うデータ転送装置において、 前記データ転送装置は、  [1] In a data transfer device that performs data transfer by holding received data, the data transfer device includes:
受信データのデータ長の検出を行うデータ長検出部と、  A data length detector for detecting the data length of received data;
受信データを格納するデータバッファ部と、  A data buffer for storing received data;
前記データ転送装置が保持するデータ量が予め設定した所定値を超えた場合に は、受信データの分割を行うとともに、分割された受信データを前記データバッファ 部に出力するデータ分割部と、  A data dividing unit that divides received data when the amount of data held by the data transfer device exceeds a predetermined value set in advance, and outputs the divided received data to the data buffer unit;
前記データ転送装置が保持するデータ量に基づ!/、て、送信停止要求を出力する 送信停止要求生成部とを有することを特徴とするデータ転送装置。  A data transfer device comprising: a transmission stop request generation unit that outputs a transmission stop request based on the amount of data held by the data transfer device.
[2] 前記データ転送装置が保持するデータ量は、前記データ長検出部により検出され た受信データのデータ長と、受信データを格納した後の前記データバッファ部のデ ータ量とに基づくことを特徴とする請求項 1に記載のデータ転送装置。  [2] The data amount held by the data transfer device is based on the data length of the received data detected by the data length detector and the data amount of the data buffer unit after storing the received data. The data transfer device according to claim 1, wherein:
[3] 前記データ転送装置が保持するデータ量は、前記データ長検出部により検出され た受信データのデータ長と、受信データを格納する前の前記データバッファ部のデ ータ量とに基づくことを特徴とする請求項 1に記載のデータ転送装置。  [3] The amount of data held by the data transfer device is based on the data length of the reception data detected by the data length detection unit and the data amount of the data buffer unit before storing the reception data. The data transfer device according to claim 1, wherein:
[4] 受信データのデータ長の検出を行うデータ長検出部と、  [4] A data length detector that detects the data length of the received data;
受信データを格納するデータバッファ部と、  A data buffer for storing received data;
前記データバッファ部の格納したデータ量が予め設定した閾値を超えた場合には 、受信データの分割を行うとともに、分割された受信データを前記データバッファ部 に出力するデータ分割部と、  When the amount of data stored in the data buffer unit exceeds a preset threshold, the received data is divided and a data dividing unit that outputs the divided received data to the data buffer unit;
前記データ長検出部により検出されたデータ長と、前記データバッファ部の格納デ ータ量とに基づいて、送信停止要求を出力する送信停止要求生成部とを有すること を特徴とするデータ転送装置。  A data transfer device comprising: a transmission stop request generation unit that outputs a transmission stop request based on the data length detected by the data length detection unit and the amount of data stored in the data buffer unit .
[5] 前記データ転送装置は、 [5] The data transfer device includes:
前記データバッファ部が出力するデータのマージを行うデータ再生部をさらに有し 前記データバッファ部に格納された分割データを出力する場合には、前記データ 再生部による分割データを分割前のデータに復元して出力することを特徴とする請 求項 4記載のデータ転送装置。 The data buffer unit further includes a data reproducing unit that merges the data output from the data buffer unit, and when the divided data stored in the data buffer unit is output, the data 5. The data transfer device according to claim 4, wherein the data divided by the reproduction unit is restored to the data before division and output.
[6] 前記データ転送装置は、 [6] The data transfer device includes:
前記格納データ量が予め設定した閾値を超えた場合において、  When the stored data amount exceeds a preset threshold value,
前記受信データ分割部により分割された分割データを前記データバッファ部に格 納するときには、前記予め設定した閾値の変更を行うことを特徴とする請求項 4又は 5 に記載のデータ転送装置。  6. The data transfer device according to claim 4, wherein when the divided data divided by the received data dividing unit is stored in the data buffer unit, the preset threshold value is changed.
[7] 前記データ転送装置は、フレーム長情報が格納されるヘッダ部と、データ本体が格 納されるデータ部とを有するフレームを受信データとして受信することによりデータ転 送を行い、 [7] The data transfer device performs data transfer by receiving a frame having a header portion in which frame length information is stored and a data portion in which the data body is stored as received data,
前記データバッファ部は、受信フレームのヘッダ部とデータ部を格納することを特 徴とする請求項 4記載のデータ転送装置。  5. The data transfer device according to claim 4, wherein the data buffer unit stores a header portion and a data portion of a received frame.
[8] 前記データ分割部は、受信フレームを前記データ用バッファ部に出力するとともに 、前記データ用バッファ部の格納データ量が予め設定した閾値を超えた場合には、 さらにデータ部を分割して前記データ用バッファ部に出力するデータ分割部であり、 前記送信停止要求生成部は、前記データ長検出分により検出されたフレーム長と 、前記データ用バッファ部の格納データ量とに基づいて、送信停止要求を出力する 送信停止要求生成部とであることを特徴とする請求項 7記載のデータ転送装置。  [8] The data dividing unit outputs the received frame to the data buffer unit, and further divides the data unit when the amount of data stored in the data buffer unit exceeds a preset threshold value. A data dividing unit that outputs to the data buffer unit, wherein the transmission stop request generating unit transmits based on a frame length detected by the data length detection amount and a stored data amount of the data buffer unit 8. The data transfer device according to claim 7, wherein the data transfer device is a transmission stop request generation unit that outputs a stop request.
[9] 受信データのデータ長の検出を行うデータ長検出部と、受信データを格納するデ ータバッファ部と、前記データ転送装置が保持するデータ量が予め設定した閾値を 超えた場合には、受信データの分割を行うとともに、分割された受信データを前記デ ータバッファ部に出力するデータ分割部と、前記データ長検出部により検出されたデ ータ長と、前記データバッファ部の格納データ量とに基づいて、送信停止要求を出 力する送信停止要求生成部とを有するデータ転送装置に対してデータを送信する 演算処理装置において、  [9] A data length detection unit that detects the data length of received data, a data buffer unit that stores received data, and a data amount held by the data transfer device is received when a predetermined threshold value is exceeded. A data dividing unit that divides data and outputs the divided received data to the data buffer unit, a data length detected by the data length detection unit, and a storage data amount of the data buffer unit An arithmetic processing unit that transmits data to a data transfer device having a transmission stop request generation unit that outputs a transmission stop request based on
前記送信停止要求を受信した場合には、前記データ転送装置に対するデータの 送信を停止する送信停止要求部を有することを特徴とする演算処理装置。  An arithmetic processing unit comprising: a transmission stop request unit for stopping transmission of data to the data transfer device when the transmission stop request is received.
[10] 受信データのデータ長の検出を行うデータ長検出部と、受信データを格納するデ ータバッファ部と、前記データ転送装置が保持するデータ量が予め設定した閾値を 超えた場合には、受信データの分割を行うとともに、分割された受信データを前記デ ータバッファ部に出力するデータ分割部と、前記データ長検出部により検出されたデ ータ長と、前記データバッファ部の格納データ量とに基づいて、送信停止要求を出 力する送信停止要求生成部と、前記データバッファ部に格納された分割データを分 割前のデータに復元して出力するデータ再生部とを有するデータ転送装置からのデ ータを受信する演算処理装置において、 [10] A data length detector for detecting the data length of the received data and a data storage for storing the received data A data buffer unit, and when the amount of data held by the data transfer device exceeds a preset threshold, the received data is divided and a data dividing unit that outputs the divided received data to the data buffer unit A transmission stop request generation unit that outputs a transmission stop request based on the data length detected by the data length detection unit and the amount of data stored in the data buffer unit; In an arithmetic processing device for receiving data from a data transfer device having a data reproducing unit that restores the divided data to data before division and outputs the data,
前記データ転送装置力 のデータを受信する受信バッファ部を有することを特徴と する演算処理装置。  An arithmetic processing unit comprising a reception buffer unit for receiving data of the data transfer device.
[11] 第 1の処理装置と第 2の処理装置と、前記第 1の処理装置と前記第 2の処理装置間 のデータ転送を行うデータ転送装置を有する情報処理装置において、  [11] In an information processing apparatus having a first processing device, a second processing device, and a data transfer device that performs data transfer between the first processing device and the second processing device,
前記データ転送装置は、  The data transfer device
前記第 1の処理装置力 受信する受信データのフレーム長の検出を行うデータ長 検出部と、  A data length detection unit for detecting a frame length of received data to be received;
受信データを格納するデータバッファ部と、  A data buffer for storing received data;
前記データ転送装置が保持するデータ量が予め設定した所定値を超えた場合に は、受信データの分割を行うとともに、分割された受信データを前記データバッファ 部に出力するデータ分割部と、  A data dividing unit that divides received data when the amount of data held by the data transfer device exceeds a predetermined value set in advance, and outputs the divided received data to the data buffer unit;
前記データ転送装置が保持するデータ量に基づ!、て、送信停止要求を出力する 送信停止要求生成部とを有することを特徴とする情報処理装置。  An information processing apparatus comprising: a transmission stop request generation unit that outputs a transmission stop request based on the amount of data held by the data transfer apparatus.
[12] 前記データ転送装置は、 [12] The data transfer device includes:
前記データバッファ部が出力するデータのマージを行うデータ再生部をさらに有し 前記データバッファ部に格納された分割データを出力する場合には、前記データ 再生部により分割データを分割前のデータに復元して力 前記第 2の処理装置に出 力することを特徴とする請求項 11に記載の情報処理装置。  A data reproducing unit for merging the data output from the data buffer unit; when the divided data stored in the data buffer unit is output, the data reproducing unit restores the divided data to the data before the division. 12. The information processing apparatus according to claim 11, wherein the information is output to the second processing apparatus.
[13] 前記データ転送装置は、 [13] The data transfer device includes:
前記格納データ量が予め設定した閾値を超えた場合において、 前記受信データ分割部により分割された分割データを前記データバッファ部に格 納するときには、前記予め設定した閾値の変更を行うことを特徴とする請求項 11又は 12に記載の情報処理装置。 When the stored data amount exceeds a preset threshold value, 13. The information processing apparatus according to claim 11 or 12, wherein when the divided data divided by the received data dividing unit is stored in the data buffer unit, the preset threshold value is changed.
[14] 前記データ転送装置は、フレーム長情報が格納されるヘッダ部と、データ本体が格 納されるデータ部とを有するフレームを受信データとして受信することによりデータ転 送を行い、 [14] The data transfer device performs data transfer by receiving a frame having a header portion in which frame length information is stored and a data portion in which the data body is stored as received data,
前記データバッファ部は、受信フレームのヘッダ部とデータ部を格納することを特 徴とする請求項 11記載の情報処理装置。  12. The information processing apparatus according to claim 11, wherein the data buffer unit stores a header portion and a data portion of a received frame.
[15] 前記データ分割部は、受信フレームを前記データ用バッファ部に出力するとともに 、前記データ用バッファ部の格納データ量が予め設定した閾値を超えた場合には、 さらにデータ部を分割して前記データ用バッファ部に出力するデータ分割部であり、 前記送信停止要求生成部は、前記データ長検出分により検出されたフレーム長と 、前記データ用バッファ部の格納データ量とに基づいて、送信停止要求を出力する 送信停止要求生成部とであることを特徴とする請求項 14記載の情報処理装置。  [15] The data dividing unit outputs the received frame to the data buffer unit, and further divides the data unit when the amount of data stored in the data buffer unit exceeds a preset threshold value. A data dividing unit for outputting to the data buffer unit, wherein the transmission stop request generating unit is configured to transmit based on a frame length detected by the data length detection and a stored data amount of the data buffer unit. 15. The information processing apparatus according to claim 14, wherein the information processing apparatus is a transmission stop request generation unit that outputs a stop request.
[16] 受信データをデータバッファに格納することによりデータ転送を行うデータ転送方 法において、  [16] In a data transfer method that transfers data by storing received data in a data buffer,
受信データのデータ長の検出を行うデータ長検出ステップと、  A data length detection step for detecting the data length of the received data;
受信データを前記データバッファに格納するデータ格納ステップと、  A data storage step of storing received data in the data buffer;
前記データバッファの格納データ量が予め設定した閾値を超えた場合には、受信 データの分割を行うとともに、受信データを分割して前記データバッファに出力する データ分割ステップと、  When the amount of data stored in the data buffer exceeds a preset threshold, the received data is divided, and the received data is divided and output to the data buffer.
前記データ長検出ステップにおいて検出されたデータ長と、前記データバッファの 格納データ量とに基づ 、て、送信停止要求を出力する送信停止要求生成ステップと を有することを特徴とするデータ転送方法。  A data transfer method comprising: a transmission stop request generation step for outputting a transmission stop request based on the data length detected in the data length detection step and the amount of data stored in the data buffer.
[17] 前記データ転送方法は、 [17] The data transfer method is:
前記データバッファ部が出力するデータのマージを行うデータ再生ステップをさら に有し、  A data reproduction step of merging data output from the data buffer unit;
前記データバッファ部に格納された分割データを出力する場合には、前記データ 再生ステップにより分割データを分割前のデータに復元して出力することを特徴とす る請求項 16に記載のデータ転送方法。 When outputting the divided data stored in the data buffer unit, the data 17. The data transfer method according to claim 16, wherein the divided data is restored to the data before division and output by the reproduction step.
[18] 前記データ転送方法は、 [18] The data transfer method is:
前記格納データ量が予め設定した閾値を超えた場合において、  When the stored data amount exceeds a preset threshold value,
前記受信データ分割ステップにおいて分割された分割データを前記データバッフ ァ部に格納するときには、前記予め設定した閾値の変更を行うことを特徴とする請求 項 16又は 17に記載のデータ転送方法。  18. The data transfer method according to claim 16, wherein when the divided data divided in the received data division step is stored in the data buffer unit, the preset threshold value is changed.
[19] フレーム長情報が格納されるヘッダ部と、データ本体が格納されるデータ太を有す るフレームをデータバッファ部に格納することによりデータ転送を行うデータ転送方法 において、 [19] In a data transfer method for transferring data by storing in a data buffer part a frame having a data part storing a header part in which frame length information is stored and a data body.
受信フレームのフレーム長の検出を行うフレーム長検出ステップと、  A frame length detection step for detecting the frame length of the received frame;
前記検出されたフレーム長に応じて、前記データバッファ部の格納量に対する閾値 を、超フレーム用閾値又は短フレーム用閾値の 、ずれかに設定を行う閾値設定ステ ップと、  A threshold setting step for setting a threshold for the storage amount of the data buffer unit according to the detected frame length between the superframe threshold and the short frame threshold;
受信フレームをデータバッファ部に格納するデータ格納ステップと、  A data storage step of storing the received frame in the data buffer unit;
前記閾値設定ステップにおいて、閾値が超フレーム用閾値に設定された場合に、 前記格納データ量が前記長フレーム用閾値を超えたときには、前記閾値設定ステツ プにおいて閾値を前記短フレーム用閾値に設定するとともに、受信フレームを分割し て前記データバッファに出力するデータ分割ステップとを有することを特徴とするデ ータ転送方法。  In the threshold setting step, when the threshold is set to the ultra-frame threshold, and the stored data amount exceeds the long-frame threshold, the threshold is set to the short-frame threshold in the threshold setting step. And a data dividing step of dividing the received frame and outputting the divided frame to the data buffer.
[20] 前記データ転送方法は、 [20] The data transfer method includes:
前記データバッファに格納された分割された受信フレームを出力する場合には、前 記データ再生ステップにより分割された受信フレームを分割前の受信フレームに復 元して出力することを特徴とする請求項 19に記載のデータ転送方法。  The output of the divided reception frame stored in the data buffer is restored to the reception frame before the division and output by dividing the reception frame divided in the data reproduction step. 19. The data transfer method according to 19.
[21] 前記フレーム長検出ステップは、 [21] The frame length detection step includes:
受信フレームのヘッダ部に格納されるフレーム長情報に基づいて、受信フレームの フレーム長の検出を行うことを特徴とする請求項 19又は 20に記載のデータ転送方法  The data transfer method according to claim 19 or 20, wherein the frame length of the received frame is detected based on frame length information stored in a header portion of the received frame.
PCT/JP2006/313498 2006-07-06 2006-07-06 Data transfer unit, processing unit, and data transfer method WO2008004301A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/313498 WO2008004301A1 (en) 2006-07-06 2006-07-06 Data transfer unit, processing unit, and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/313498 WO2008004301A1 (en) 2006-07-06 2006-07-06 Data transfer unit, processing unit, and data transfer method

Publications (1)

Publication Number Publication Date
WO2008004301A1 true WO2008004301A1 (en) 2008-01-10

Family

ID=38894279

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/313498 WO2008004301A1 (en) 2006-07-06 2006-07-06 Data transfer unit, processing unit, and data transfer method

Country Status (1)

Country Link
WO (1) WO2008004301A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010032314A1 (en) * 2008-09-19 2010-03-25 富士通株式会社 Communication system, communication device, communication method, and communication program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149159A (en) * 1994-11-25 1996-06-07 Nec Corp Data receiver and data communication method
JPH11234347A (en) * 1998-02-13 1999-08-27 Nec Corp Buffer management method and system in data communication
JP2000022716A (en) * 1998-07-06 2000-01-21 Nec Corp Back pressure control method and its system
JP2002164914A (en) * 2000-11-28 2002-06-07 Mitsubishi Electric Corp Packet switch
JP2002208938A (en) * 2001-01-05 2002-07-26 Fujitsu Ltd Packet switch
JP2006174265A (en) * 2004-12-17 2006-06-29 Matsushita Electric Ind Co Ltd Stream packet receiver

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149159A (en) * 1994-11-25 1996-06-07 Nec Corp Data receiver and data communication method
JPH11234347A (en) * 1998-02-13 1999-08-27 Nec Corp Buffer management method and system in data communication
JP2000022716A (en) * 1998-07-06 2000-01-21 Nec Corp Back pressure control method and its system
JP2002164914A (en) * 2000-11-28 2002-06-07 Mitsubishi Electric Corp Packet switch
JP2002208938A (en) * 2001-01-05 2002-07-26 Fujitsu Ltd Packet switch
JP2006174265A (en) * 2004-12-17 2006-06-29 Matsushita Electric Ind Co Ltd Stream packet receiver

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010032314A1 (en) * 2008-09-19 2010-03-25 富士通株式会社 Communication system, communication device, communication method, and communication program
US8386671B2 (en) 2008-09-19 2013-02-26 Fujitsu Limited Communication system, communication device and communication method

Similar Documents

Publication Publication Date Title
TWI416334B (en) Method, bus interface device and processor for transmitting data transfer requests from a plurality of clients as packets on a bus
JP5460143B2 (en) Data processing apparatus, data processing method and program
WO2005096162A1 (en) Arbitration method and device
JPS63294146A (en) Communication control equipment
JP5382736B2 (en) Token protocol
JP2009237872A (en) Memory control device, memory control method and information processor
KR100511695B1 (en) Serial interface circuit and signal processing method thereof
WO2008004301A1 (en) Data transfer unit, processing unit, and data transfer method
WO2007097038A1 (en) Buffer control apparatus, crossbar switch and buffer control method
JP4212508B2 (en) Packet generator
JP4372110B2 (en) Data transfer circuit, multiprocessor system using the same, and data transfer method
JP5082703B2 (en) Bus interface circuit and information processing apparatus
JP4125933B2 (en) Processor system with common memory
JP6976786B2 (en) Communication device and control method of communication device
JP5587530B2 (en) Engine / processor linkage system and linkage method
JP2002176464A (en) Network interface device
JP2001167022A (en) Data transfer system
JP2008148181A (en) Communication apparatus and communication control method
JP2004147243A (en) Packet communication system
JP2004054419A (en) Inter-node transaction processor
US20060140122A1 (en) Link retry per virtual channel
JPH10105488A (en) Communication controller
JP2000013444A (en) Packet data receiver
JPH1074140A (en) Data transferring method decoding device, data transfer device, and data processor
JP2004253960A (en) Data transfer apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06767957

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06767957

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP