Flow control
Requester利用flow control(FC)机制跟踪Receiver端可用的queue/buffer空间,以防止overflow。
Flow control保证transmitters不会给receiver发送不能接收的Transaction Layer Packets(TLPs)。这样就避免了overflow,不会引起disconnects, 重传以及等待。
FC 信息由Data Link Layer Packets(DLLPs)传输。
Transaction Layer则对收到的TLPs计数,发送端则在接收端credits超出时不再发送。
PCIE link初始化时,会读取对方FIFO的容量,在传输过程中定期同步对方FIFO的剩余容量。
每个Virtual Channel维持各自独立的Flow Control credit(FCC) pool。