Why completer switch is not given while requesting read

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Topic review
   

Expand view Topic review: Why completer switch is not given while requesting read

Re: Why completer switch is not given while requesting read

Post by support » Wed May 27, 2015 10:10 am

Hello,

Read and write requests are indeed routed by the address only. This routing is possible, because each switch is assigned a range of the address space for itself and the endpoints on its downstream ports. This assignment takes place during enumeration. It also has the information about which address ranges are assigned to each of its downstream ports.

So when a packet arrives at a switch with only an address, the switch first checks if this address is mapped to one of its downstream ports. If it is, the packet is routed to the relevant port. If not, the packet goes to the upstream ports, i.e. towards the root complex. Sooner or later it arrives at a switch (possibly the root port's) that has a downstream port covering the address, and the packet begins traveling downwards, until it reaches the endpoint.

Regards,
Eli

Why completer switch is not given while requesting read

Post by Guest » Wed May 27, 2015 9:24 am

While sending a read request, completer ID is not giver, but only the address is given. If there are multiple PCIe switches, how the request is forwarded to the correct PCIe switch without having its completer ID?

Top

cron