Instead of holding the bus or retry loops like PCI, PCI-X splits the read into two independent bus transactions:

  1. Read Request Phase (by the Requester):

    • Requester = initiator of the read.
    • Sends:
      • Address
      • Transaction type (read)
      • Byte count (how much data)
      • Requester ID (Bus:Device:Function number)

    👉 If the target (now called the Completer) can’t supply the data immediately, it responds with a Split Response.

    ✅ At this point:

    • The requester stops holding the bus.
    • The bus returns to idle, so other devices can use it.

  1. Split Completion Phase (by the Completer):

    • Once the completer has the requested data ready:
      • It arbitrates for bus ownership.
      • Starts a Split Completion cycle, which looks a lot like a write.
    • The Requester recognizes its own ID in the completion and accepts the data.

    👉 No retries, no wasted polling — the completer just brings the data back when ready.


Key Efficiency Gains


Naming Change


Bus Utilization

PCI‐X Split Transaction Protocol.png