
| Ref.: |
| |
SpaceWire Router |
| UserManual | |
Issue: | 3.4 | ||
User Manual | |||
Date: | 11th July 2008 | ||
|
|
|
dependent on the previous input port which had access to that output port. The next input port to transfer data to an output port is the next highest port number (modulo number of ports) that has data to send. Thus the input port which previously had access to the output port will be selected last by the router control logic. For example, if input port 2 is transferring data to output port 1 and input ports 5 and 7 are waiting to transfer data to port 1, then port 5 will selected next.
Packets which have high priority are always selected before low priority packets in the router. If two or more packets of the same priority level are attempting to use the same destination port then the packets are arbitrated in a fair manner.
Note that router configuration packets, both commands and replies, are treated the same as any other packet as far as arbitration is concerned. The arbitration scheme is equally applicable to all types of packets with no exceptions. When sending long packets, arbitration can cause substantial delays in transferring information.
The following
8.3.2.1 Arbitration of packets with matching priority (1)
In the Figure
At stage one input ports 1 and 3 have packets to be routed to output port 5. The previous input port to use output port 5 was input port 3 therefore the next input port to be selected by output port 5 will be input port 1 (assuming input ports 6, 7, 8, 9, 10 and 0 are not requesting to use output port 5).
At stage two the router selects the packet arriving at input port 1 and the packet is routed through output port 5. Input port 3 waits until all of the packet from input port 1 has been transferred.
At stage three the complete packet has been transferred from input port 1. Now input port 3 is able to transfer its packet to output port 5.
1 | 2 |
5 | 1 |
|
| 2 | 5 |
| R1 | |
5 | 3 |
|
| 4 |
|
|
|
| 1 |
|
|
|
|
|
|
|
|
| |
|
|
| 2 | 5 |
|
|
|
|
|
|
| ||
|
|
| R1 |
|
| |
|
|
|
|
| ||
|
| 5 | 3 |
|
|
|
|
|
|
| |||
|
|
| 4 |
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| Two packets waiting to use port 5 |
| Packet from port 1 is selected | ||||||||
| (Previous port which accessed port 5 = 3) |
|
|
|
|
| |||||
3 |
|
|
|
|
|
| 4 |
|
|
|
|
|
|
| 1 |
|
|
|
|
| 1 |
|
|
|
|
|
|
|
|
|
| ||||
|
|
| 2 | 5 |
|
|
|
| 2 | 5 |
|
|
|
| R1 |
|
|
|
| R1 |
| ||
|
|
|
|
| |||||||
|
|
|
|
|
|
|
| ||||
|
|
| 3 |
|
|
|
|
| 3 |
|
|
|
|
| 4 |
|
|
|
|
| 4 |
|
|
|
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
|
| ||
| Packet from port 1 completes |
| Packet from port 3 is completes | ||||||||
| Packet from port 3 is selected |
|
|
|
|
|
Figure 8-6 Arbitration of two packets with matching priority.
Preliminary | 87 |