PCIE解析笔记- 4.2 DataLink Layer - ACK/NAK机制

TLP包在链路上的传输可靠性就是靠ACK/NAK机制保证的,像其它协议也有类似机制

A发到B的报文都会被分在replay buffer中,TLP先存buffer,buffer再从链路中发出去,然后逼着接收器去检查sequence number与LCRC,当然先检查LCRC,然后检查sequence。如果没问题,就会发Ack个device A,device A收到Ack后确认deviceB已经收到TLP包,就会将自己buffer中的TLP包删除,再去缓存新的TLP包;如果接收到收到的是错误的,不管是LCRC还是Sequence错误,都会返回NAK,Device A收到Nak后,由于Replay buffer里面还有东西,它就会将相应序列号的TLP包重新发往device B,完成了整个ACK/NAK过程。

也不是说每个TLP包都需要立即回复Ack/Nak,协议允许几个TLP之后,用一个Ack/Nak返回

猜你喜欢

转载自blog.csdn.net/f2157120/article/details/106799462
4.2