目录
下面是“21天学会PCIe”专栏的第三天内容,详细介绍PCIe的架构,包括物理层、链路层和事务层。
21天学会PCIe专栏
第3天:PCIe架构
3.1 引言
欢迎来到“21天学会PCIe”专栏的第三天。今天我们将会详细介绍PCIe的架构,包括物理层、链路层和事务层。通过本节的学习,你将了解PCIe各个层次的功能和工作原理。
3.2 物理层(Physical Layer)
-
引脚定义:
- lane:PCIe的基本传输单位,每个lane包含一对差分信号线(发送和接收)。
- 连接器:PCIe设备通过标准连接器(如x1、x4、x8、x16)连接到主板。
-
电气特性:
- 差分信号:使用差分信号传输数据,提高抗干扰能力和传输距离。
- 电压电平:常见的电压电平为1.8V、1.2V等,不同版本的PCIe可能有不同的电压要求。
-
信号传输:
- 8b/10b编码:早期版本的PCIe使用8b/10b编码,每个8位数据编码为10位符号,增加冗余以提高传输可靠性。
- 128b/130b编码:PCIe 3.0及以后版本使用128b/130b编码,提高传输效率。
-
时钟同步:
- 源同步:发送端和接收端通过共享时钟信号实现同步。
- 弹性缓冲区:用于吸收时钟偏差,保证数据的正确传输。
3.3 链路层(Link Layer)
-
链路初始化:
- 配置阶段:链路两端进行配置协商,确定传输参数(如速度、宽度)。
- 训练序列:发送训练序列以校准链路,确保信号质量。
-
流量控制:
- 信用管理:接收端通过信用机制通知发送端当前可用的缓冲区大小,防止数据溢出。
- 流控消息:发送流控消息以调整数据传输速率。
-
错误检测和纠正:
- CRC校验:使用循环冗余校验(CRC)检测数据传输错误。
- 重传机制:当检测到错误时,请求重传数据包。
-
状态管理:
- 链路状态:链路可以处于不同的状态,如L0(活动)、L1(低功耗)、L2(更低功耗)等。
- 状态转换:根据需要动态调整链路状态,以节省功耗。
3.4 事务层(Transaction Layer)
-
事务类型:
- 内存读写:Memory Read/Write事务,用于访问内存地址空间。
- 配置读写:Configuration Read/Write事务,用于访问配置空间。
- 消息传递:Message事务,用于传递控制和状态信息。
-
事务层包(TLP):
- 包格式:TLP包含头部和有效负载,头部包含事务类型、地址、标签等信息。
- 包类型:不同类型的数据包用于不同的事务,如读请求、写请求、读响应等。
-
事务处理:
- 事务发起:发起端发送TLP请求,指定目标地址和数据。
- 事务完成:目标端处理请求并发送响应,完成事务。
-
事务管理:
- 事务队列:事务层维护事务队列,管理多个并发事务。
- 优先级管理:根据事务类型和优先级,调度事务的执行顺序。
3.5 架构总结
PCIe架构分为三个层次:物理层、链路层和事务层。每个层次负责不同的功能,共同实现高速、可靠的通信。
- 物理层:负责信号传输和时钟同步,确保数据的物理传输。
- 链路层:负责链路初始化、流量控制和错误检测,保证链路的稳定性和可靠性。
- 事务层:负责事务管理和数据包的生成与处理,实现高层协议的功能。
下一步
明天我们将详细介绍PCIe的关键术语,帮助你更好地理解PCIe的相关概念。请继续关注“21天学会PCIe”专栏,每天一个主题,带你全面掌握PCIe技术。
希望今天的介绍对你有所帮助!
149

被折叠的 条评论
为什么被折叠?



