Electronic – PCIe: Who’s in charge here

pcie

I want to construct a matrix of smart boards that receive ethernet packets, decode them, and place the decoded results onto a memory "matrix" for other boards to process and re-transmit. Given the available technologies, I suspect PCIe is the way to go. I have a couple of questions for you all:

1) Who controls the PCIe bus? I suspect its the (PC) motherboard processor at a high level, and the PCIe controller at a lower level, but its not clear.

2) Is PCIe designed for lots of small transfers, or a fewer number or larger transfers? I suspect the latter, as the former would kill the motherboard cpu…

What do you think?

Best Answer

This sounds a lot like how high-throughput routers are designed. One of the main problems in router design is exactly the "memory matrix" or "cross-bar backplane" that you describe. The large companies in the space (Juniper, Cisco, F5, etc) do not use PCIe for this purpose.

I think a better interconnect might be HyperTransport (which is AMDs solution to the same problem that Intel later developed as QuickConnect for.)

Note that in a PC, the PCIe bus sits "after" a HyperTransport bus, and thus HT has lower latency and higher throughput than PCIe can get to RAM (which in turn sits on the other end of the CPU these days.)

Related Topic