The present invention relates to an electronic device, a method of end-to-end flow control and a data processing system.
Apart from bus-based communication systems, network-based interconnections for communication systems are used to transfer data between the different components of the communication system. Network-based communication systems may include a communication via the internet, an intranet, a communication between several boards, several chips in an electronic device (chip-to-chip interconnect) or a communication between several components on a single chip (on-chip networks). The networks may be based on a plurality of switches or routers which are coupled to each other for forwarding data. Within network-based communication systems, a flow control is required to control the data transfer between a transmitter and a receiver, i.e. an end-to-end flow control. An end-to-end flow control is required as the behavior of a receiver may not be fully known. To accommodate for different communication rates or data transfer rates between a transmitter and a receiver, a receiver may comprise buffers. These buffers may become full during a communication between a transmitter and a receiver. If such a buffer is full and further data is received from the transmitter, a decision is to be made whether this data is discarded or whether other data within the buffer is to be discarded.
The flow control ensures that only data is sent from the transmitter if there is sufficient space available in the buffers of the receiver. However, if a flow control is not implemented and the buffers of the receiver fill up, the data received after the buffers are full can be queued across the network, e.g. for best effort BE traffic. However, this could lead to a blocking of other traffic or streams across the network, either temporarily (congestion) or permanently (deadlock). Otherwise, the data received after the buffers are full can be dropped by the receiver, e.g. for best effort BE traffic and for guaranteed throughput GT traffic. Furthermore, this may also affect a message level traffic between a request and response transaction if data is queued in the network. The above-mentioned deadlocks may be avoided by separated virtual or physical networks for request and response transaction. Furthermore, independent master/slave (transmitters or receivers) pairs may still observe a deadlock, as the receiving of a request is coupled to the sending of a response, i.e. a cyclic dependency can be present on the shared buffers in the network.
An end-to-end flow control for a network-based communication may be implemented based on credits for the data transfer. In particular, each connection between a sender/source and a receiver/destination, i.e. each communication between a source/sender and a destination/receiver, is considered as a separated connection and therefore requires separate queues for the data transfer, i.e. separate buffers at the sender and the receiver. The available amount of buffers or buffer space in the receiver can be maintained and monitored at the sender by the usage of a credit counter. The sender or transmitter will only then transmit data if the receiver has sufficient space in its buffer to buffer the data to be transmitted. The actual credit values for the sender can be sent from the receiver by piggybacking the credit values on packets or they may be sent as separate packets if the communication within or across a network is based on packets.
If such an end-to-end flow control is implemented, every connection will require separate buffers at the receiver. If the buffers at the receiver are shared among the various connections across the network, the credit-based flow control would require that each sender must know when the other senders of the other connections are actually sending data to keep track of the available space in the buffers. However, spreading such information to all the senders within a few clock cycles is very difficult and complex. Therefore, typically the amount of buffering at the receiver will be large to accommodate for the separate buffers. Accordingly, such an implementation of an end-to-end flow control is expensive as a large hardware overhead is required.
U.S. Pat. No. 5,852,718 shows a centralized arbitration scheme for implementing an end-to-end flow control in a centralized manner. Here, communication can either be a packet-switched transaction or a circuit-switched transaction. The end-to-end flow control is implemented to avoid queue overflow and congestion conditions by prohibiting a master to send more transactions or data than the recipient has space for. In particular, a hardware handshake is used to signal the completion of a data transfer and to notify the master of available space in a queue.
It is therefore an object of the invention to provide an electronic device with a network-based communication of data which enables an end-to-end flow control with a reduced requirement for buffering.
This object is solved by an electronic device according to claim 1, a method for end-to-end flow control according to claim 11 and a data processing system according to claim 12.
Therefore, an electronic device is provided which comprises at least one sender for transmitting data and at least one receiver for receiving data. Furthermore, a network-based interconnect is provided for coupling the at least one sender and the at least one receiver such that a data traffic from the sender is forwarded to the receiver. In addition, at least one separate shared dedicated control interconnect is coupled between the at least one sender and the at least one receiver for communicating flow control data between the sender and the receiver.
Accordingly, as the flow control traffic is separated from the data traffic, the flow control traffic will not affect the data traffic. Furthermore, as the data and the flow control traffic is separated, the flow control traffic can be implemented on a separate control interconnect which is implemented in a dedicated shared version such that the flow control traffic will not have to be transmitted over the network-based interconnect.
According to an aspect of the invention, the control interconnect comprises at least a request line for request signals and at least a grant line for grant signals. Therefore, the request signals as well as the grant signals will each have a dedicated line which simplifies the flow control.
According to a preferred aspect of the invention, the network-based interconnect comprises a plurality of switches which are coupled by a plurality of network lines. The at least one request line and the at least one grant line are provided in addition to the network lines. Therefore, the request lines and the grant lines may be arranged in a similar fashion as the network lines.
According to a further aspect of the invention, the control interconnect is adapted to the structure of the network-based interconnect such that the control interconnect extends to the network-based interconnect from the at least one sender to the at least one receiver.
The invention also relates to a method for end-to-end flow control in an electronic device which comprises a sender and a receiver being coupled by a network-based interconnect. Data is transmitted from the sender and is received by a receiver. A data traffic is enabled by the network-based interconnect from the sender to the receiver. Flow control data between the sender and the receiver is forwarded via a separate shared dedicated control interconnect which is coupled between the sender and the receiver.
The invention also relates to a data processing system which comprises at least one sender for transmitting data and at least one receiver for receiving data. Furthermore, a network-based interconnect is provided for coupling the at least one sender and the at least one receiver such that a data traffic from the sender is forwarded to the receiver. In addition, at least one separate shared dedicated control interconnect is coupled between the at least one sender and the at least one receiver for communicating flow control data between the sender and the receiver.
The invention relates to the idea to provide an electronic device with a network-based interconnect for transmitting and transferring data between a sender and at least one receiver. In addition, a shared interconnect, e.g. a bus-based interconnect, is provided between the at least one sender and the at least one receiver. The shared interconnect is only used to communicate the flow control information and not for the data transfer.
Preferably, the flow control is implemented based on a common shared medium which can be accessed by an arbitration at the master of the common shared medium. Such a master will have knowledge about the amount of buffering available at the receiver. This can be implemented by a handshake mechanism. Firstly, the sender sends a request and then receives an acknowledgement from the master that a data transfer can be initiated.
The invention furthermore relates to the idea to decouple the network used for transferring the data from the actual flow-control mechanism. The flow-control mechanism is implemented by a handshake mechanism (request/grant signals) between the sender and receiver to ensure that sufficient buffering is available at the receiver. Therefore, a network-based interconnection as well as a shared interconnect like a bus-based interconnect is present in the electronic device. A scalable interconnect is used for the data transfer while shared interconnects are used for the end-to-end flow control. As the handshake rate is rather low (only a single request and grant transmission for each transaction), the sharing of the control interconnect is possible. On the other hand, the actual data transferred in or by this transaction may comprise several packets which are transmitted via the network-based interconnect. Accordingly, only a single queue of buffers is required in the receiver which can be used for all senders.
If the request and grant signals of the handshake mechanism arc transferred as packets in the network-based interconnect, the hardware overhead including the wiring required for the flow control is minimal as no additional wiring will be required. However, if the request and grant signals are sent as packets over the network-based interconnect, the latency of such a transmission can be significant such that larger buffers are required. Furthermore, these flow control packets will increase the traffic in the network possibly resulting in a congestion and reducing the throughput of the network-based interconnect. On the other hand, if the request and grant signals of the handshake mechanism of the flow control arc transmitted based on separate point-to-point control interconnects, the latency problems as well as the reduced throughput of the network due to flow control packets will be reduced and the buffer sizes can be reduced as well. On the other hand, the actual number of physical wires will increase as a separate point-to-point control interconnect is required. As the wiring for the control interconnect should be modular, a set of lines which are shared across all senders (a control bus) will be preferred over point-to-point wires.
The advantages and embodiments of the invention are now described with more detail with reference to the drawings.
In
The control circuit according to
The first logic unit LU1 is implemented as an OR unit and receives the request lines req0, req1 from the first and second sender. The output of the first logical unit LU1 is forwarded as a request signal req to the next mode or sender. The second logical unit LU2 is implemented as an AND unit and receives a grant signal gr from the next mode or sender and the output of the arbiter state flip-flop ASF. The output of the second logical unit LU2 corresponds to the grant signal gr1 for the second sender S1. The third logical unit LU3 is implemented as a AND unit and receives the grant signal gr from the next sender and the output of the arbiter state flip-flop ASF. The output of the arbiter state flip-flop ASF is inverted and the output of the third logical unit LU3 corresponds to the grant signal gr0 of the first sender S0.
According to the third embodiment, the flow control is implemented by distributed control based on time slots. A sender will only then send a request signal req if the request signals req from senders which are arranged before the current sender on the control interconnect reaches the actual sender to avoid any interference. Accordingly, each sender will send a request req only at a specific time slot and the time slots across all senders are synchronized.
If a simple weighted decentralized arbitration is used based on the control circuit according to
Alternatively, a distributed flow control based on a rate control may be implemented. The request signals req from each sender allow a rate of operation.
Alternatively, a FPGA control can be implemented. Several sets of request and grant line RL, GL may be used. The control interconnect across the senders may be re-configurable.
The receiver R sends a grant signal gr in response to a request signal req if sufficient buffering is available, in particular if sufficient buffering is available to accommodate the maximum amount of data requested by the sender. The receiver control circuits RCC is preferably arranged in front of the receiver R. The control circuit unit CCU keeps track of any outstanding grant signals gr which have been transmitted from the receiver control circuit. Furthermore, the control circuit unit CCU keeps track of the space in the buffer B. Here, the senders may send a guaranteed throughput packet on an available TDMA time slot after it receives a grant signal gr from the receiver R via the control interconnect CI. The maximum amount of data or the maximum number of packets which can be transmitted by the sender when receiving a grant may be predefined, may be configurable using a register, or may be a user specified parameter. Similarly, the amount of buffer space or the number of packets requested by a transmitter may be predefined, configurable using a register in the receiver, or may be provided as a parameter as part of the request using additional signals.
Alternatively, the receiver sends a grant signal as well as the specified time slots at which the sender can start sending the data if it has received a respective request signal from the sender and if sufficient space is available in the buffers B. In this case, the control circuit must ensure that not only sufficient space is available in the buffer but that also sufficient space is available in the buffers when the data from the sender is expected to arrive at the receiver. Accordingly, the control circuit needs to introduce temporal information with its operation.
However, to communicate the grant signal as well as the time slot values of the respective time slots, additional wires are required. Furthermore, the receiver must maintain the information on the time slots. The actual network-based interconnect for transferring the data can be over-designed in order to allow the senders to send in several possible time slots.
According to a further embodiment of the invention, the control information and the data transfer may be pipelined. The control circuit may start with the processing of the next set of request signal if the sender is transferring data over the network-based interconnect. The request signals can also be speculatively transmitted for guaranteed throughput and best effort packet in order to hide the latency.
Furthermore, if a computation like an image processing application is started within one of the communication blocks BL1-BL4, it may be expected that this communication block may need to transfer data after a specified time interval. Here, the sender may speculate/anticipate that the data transfer will take place within a specified time interval and may send a request signal req before it receives data from the communication block. In addition, a history-based prediction mechanism may be incorporated in the speculation on data transfers .
The above described end-to-end flow control enables a lower buffering requirement as known credit-based flow control schemes. Furthermore, the wiring overhead is reduced. This is because grant and request signals are only required for the network interfaces NI and not for the individual IP blocks acting as sender or receiver which are coupled to the network interfaces NI. The scalable network-based interconnects for data transfer are combined with an efficient flow control with a bus-based interconnect. The flow control mechanism is implemented de-centralized with a very low control hardware overhead. The latency of the data transfer can be reduced by means of pipelining and by look-ahead mechanisms.
While the amount of buffering is reduced, the latency required to access the data network is increased. The amount of buffering required can be traded-off with the latency penalty incurred before a sender gets access to the data network.
The principles of the invention can be implemented in a network-based communication system. The communication may be between several circuits boards, several chips in an electronic device, i.e. chip-to-chip interconnect, or a connection between several components on a single chip (on-chip networks).
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim. The word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements. In the device claim enumerating several means, several of these means can be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Furthermore, any reference signs in the claims shall not be construed as limiting the scope of the claims.
Number | Date | Country | Kind |
---|---|---|---|
06300395.8 | Apr 2006 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB07/51361 | 4/17/2007 | WO | 00 | 10/23/2008 |