类似于网络OSI七层模型,PCIe协议架构上可以分为三个逻辑层次:事务层(Transaction Layer,)、数据链路层(Data Link Layer)和物理层(Physical Layer)。每一层都分为两个部分: 发送和接收,或者称之为outbound和inbound。Device Core是指这个PCIe设备具体功能的实现,比如以太网、显示、加密、HBA等等。

  • 事务层主要负责Transaction Layer Packets (TLP报文)的组装/解析。TLP用作读写事务、消息、流控等。
  • 数据链路层主要负责Data Link Layer Packets (DLLP报文)的组装/解析。整个PCIe链路的数据传输的可靠性主要靠这一层来保证,包括ACK/NAK协议及流控等。
  • 物理层则是负责链路初始化、编码、信号传输、复位、热插拔等控制。 

       PCIe采用点对点传输,在两个设备的链路上,使用报文(Packet)传递信息。需要传输的信息/数据在事务层或者数据链路层组包往下传递,并在每一层添加必要的额外信息(如CRC),如下图:

        在接收端,每一层会依次去除这些额外信息,并作校验,最终提取出原始数据/信息。

       Header的内容则是包含这个报文的格式、类型、长度、地址路由信息等等。

注意两张图中的黄色虚线部分:报文是可以直接在数据链路层形成的,数据链路层的报文主要是链路管理的信息,如ACK/NAK、流控、电源管理等。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注