PCIE学习笔记

【VC和TC】

1.VC是Virtual Channel的缩写,TC是Traffic Class的缩写,目的针对不同的PCIE业务提供QOS服务,每个VC都有独立的buffer,TC会映射到VC上,在其中一种TC服务被阻塞的情况系,其他TC可以继续传输

http://m.elecfans.com/article/683186.html

【Flow control】

 

 

【ACK/NACK】

参考链接:http://blog.chinaaet.com/justlxy/p/5100053468

1.ACK和NACK是链路层硬件在接收到TLP后自动向发动端发送的包,是DLLP中的一种

2.ACK发送的条件

      接收端正确地收到TLP包,TLP包的sequence num和LCRC检测正常,但是此时并不向发送端返回ACK DLLP,而是要等到AckNak_LATENCY_TIMER溢出时才向发送端发送。有资料说一个Ack DLLP可能会对应多个TLP,接收端不会每成功接收到一个TLP便向发送端发送Ack DLLP

3.NACK发送的场景

--当前接收到的TLP的序列号大于NEXT_RCV_SEQ,表明传输过程中漏掉了一些TLP。此时,接收端会返回Nak DLLP,并直接丢弃该TLP

--LCRC校验失败

4.发送端针对ACK/NACK的处理策略

--接收到ACK,则会根据seq num释放对应TLP的retry buffer

--接收到NACK,则会根据seq num从retry buffer中重新发送TLP,同时重新发送进行计数,计数超过4次则开启LTSSM重新训练

 

   

你可能感兴趣的:(PCIE)