---摘抄于PCI EXPRESS体系结构导读(侵权即删)
(1)数据链路层主要处理端到端的数据传送。在事务层中,源设备与目标设备间的传送距离较长,设备直接可能经过若干个switch,而在数据链路层中,源设备与目标设备在一条PCle链路的两端。
(2)数据链路层使用ACK/NAK协议发送和接收TLP,由发送部件和接收部件组成。发送部件由Replay Buffer、ACK/NAK DLLP接收逻辑和TLP发送逻辑组成;而接收部件由Error Check逻辑、ACK/NAK发送逻辑和TLP接收逻辑组成。每一个PCIe设备的数据链路层都含有发送部件和接收部件------图在书中185页,书很好。
(3)PCIe设备进行数据传递时,首先在事务层中产生TLP,然后通过事务层将这个TLP发送给数据链路层,数据链路层将这个TLP加上Sequence前缀和LCRC后缀后,将这个TLP放入到Replay Buffer中,然后再发送到物理层。
(4)PCIe总线的数据链路层使用Replay Buffer和Error Check部件共同保证数据传送的可靠性和完整性。来自事务层的TLP首先暂存在Replay Buffer中,然后发送到目标设备。源设备的数据链路层根据来自目标设备的ACK/NAK DLLP报文决定是否重发这些TLP,还是清除Replay Buffer中的TLP。
(5)Replay Buffer的大小决定了事务层可以暂存在数据链路层的报文数,Replay Buffer的容量越大,在PCIe设备发送流水线中容纳的报文数越多,但容量越大占用的系统资源越多,影响功耗。
(6)Error check单元检查接收到的TLP,如正确接收,发送ACK DLLP。没有正确接收发送NAK DLLP。
道路且长,行则将至----2024/01/22