PCIE Protocol
PCIE Protocol
A Collection of Key
Concepts & Best Practices
Prasanthi Chanda
TABLE OF CONTENTS
PCIe offers several key advantages over previous interfaces like PCI
and AGP, as well as over earlier PCIe versions. These include:
Higher Bandwidth – Each generation of PCIe has doubled the
data transfer rate, with PCIe 6.0 reaching 64 GT/s, significantly
improving data throughput for high-performance applications.
Lower Latency – PCIe reduces communication delays,
improving real-time processing performance, which is critical
for AI, ML, and networking applications.
Scalability – PCIe supports multiple lane configurations (x1, x4,
x8, x16), allowing flexible bandwidth allocation based on
application needs.
Power Efficiency – Newer PCIe versions optimize power
consumption using techniques like PAM-4 signaling (PCIe 6.0)
while maintaining high speeds.
Backward Compatibility – PCIe maintains compatibility with
older versions, allowing new devices to work with previous-
generation slots.
Improved Reliability – Features like Forward Error Correction
(FEC) in PCIe 6.0 enhance data integrity and signal reliability.
Better Support for Emerging Technologies – Higher
bandwidth and lower latency enable PCIe to handle
advancements in GPUs, SSDs, AI accelerators, and networking
(e.g., 400G Ethernet).
Polling:
Root complex, retimer and the endpoint all begin transmitting
ordered sets of data called training sequences at PCIe Gen 1 speeds
in order to establish bit lock and symbol lock.
Bit lock: when the receiver locks the clock frequency of the
transmitter.
Symbol lock: when the receiver is able to decode the valid symbol
coming from the transmitter.
Polling substate machine:
24ms timeout during Polling.Active state, it will back to detcet
state.
48ms timeout during Polling.configuration state, it will back
to detcet state.
Configuration:
Determine link width and lane numbers
Configuration substate machine:
24ms timeout during Configuration.LinkWidth.Start
state, it will back to detect state.
2ms timeout during other states, it will back to detect
state.
CHAPTER 4
PCIe Transaction Layer
Protocol
The Transaction Layer uses TLPs to communicate request and
completion data with other PCI Express devices. TLPs may address
several address spaces and have a variety of purposes. Each TLP
has a header associated with it to identify the type of transaction.
TLP Handling
A TLP that makes it through the Data Link Layer has been
verified to have traversed the link properly, but that does not
necessarily mean that the TLP is correct. A TLP may make it
across the link intact, but may have been improperly formed by
its originator. As such, the receiver side of the Transaction
Layer performs some checks on the TLP to make sure it has
followed the rules. If the incoming TLP does not check out
properly, it is considered a malformed packet, is discarded
(without updating receiver flow control information) and
generates an error condition. If the TLP is legitimate, the
Transaction Layer updates its flow control tracking and
continues to process the packet
Request Handling
If the TLP is a request packet, the Transaction Layer first checks to
make sure that the request type is supported. If it is not supported, it
generates a non-fatal error and notifies the root complex.
Completion Handling
If a device receives a completion that does not correspond to any
outstanding request, that completion is referred to as an unexpected
completion. Receipt of an unexpected completion causes the
completion to be discarded and results in an error-condition
(nonfatal).
The receipt of unsuccessful completion packets generates an error
condition that is dependent on the completion status.
CHAPTER 5
PCIe Configuration Space
The configuration space for each link is where driver software can
inspect the capabilities and status advertised by the device and to set
certain parameters. The configuration space access TLPs, are of two
types of spaces—type 0 and type 1, with corresponding configuration
TLP types. The former is for endpoints, and the latter for root
complexes and switches that have virtual PCI-PCI bridges.
+91- 9182280927